【SVA断言_2023.01.24】

news2024/10/5 16:24:08

在RTL设计中,仿真时查看异常情况,异常出现时,断言会报警,断言占整个设计的比例应不少于30%

assertion作用:

  • 检查特定条件或事件序列的出现情况
  • 提供功能覆盖
断言失败的严重程度:$fatal(中止仿真)>$error>$warning(仍然仿真)>$info

assertion的种类

立即断言

检查当前仿真时间的条件,检查某一个时间点,采样变化后的值
需放在过程块中,相当于if else

断言名:assert (判断条件)
	(执行语句;)
(else 执行语句;)

在这里插入图片描述
simv -gui
在这里插入图片描述
绿色上箭头成功,红色下箭头失败

并发断言

连续运行的模块,为整个仿真过程检查信号→需指定一个采样时钟,采样变化前的值
可放在过程块,module,interface,program中
与立即断言的区别:property关键字

断言名:assert property(判断条件)
	(执行语句;)
(else 执行语句;)

在这里插入图片描述
在这里插入图片描述

assertion的层次结构

SVA中可存在内建的单元,包括:

  • 布尔表达式
  • Sequence序列
  • Property属性

sequence特性

  • 可带参数
  • 可在property中调用
  • 可使用局部变量
  • 可定义时钟周期

带参数的sequence

sequence name_sequence(a,b);
@(posedge clk) a&&b;
……
endsequence
check:assert property (name_sequence(a,b))

带时序关系的sequence

#2;//两个时间单位
a ##2 b;//两个时间周期

property属性

比sequence更高一层的单元,可在property中使用蕴含操作符
a|->b 同时检查
a|=>b 延迟一个时钟周期检查
property需用cover/assert/assume等关键字进行实例化,而sequence直接调用即可

assertion的触发判断

$rose(a);//信号上升,包括x→1,z→1
$fell(a);//信号下降
$stable(a);//两个周期内的信号值是否变化
$changed(a);

在这里插入图片描述在这里插入图片描述

总线的断言函数

$onehot(BUS) //BUS中有且仅有1 bit是高,其他是低。
$onehot0(BUS) //BUS中有不超过1 bit是高,也允许全0。
$isunknown(BUS) //BUS中存在高阻态或未知态。
$countones(BUS) == n //BUS中有且仅有n bits是高,其他是低。
$past(signal, cycle_num, 1) //(信号,n个周期前,信号的值)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1412448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle RAC 集群的安装(保姆级教程)

文章目录 一、安装前的规划1、系统规划2、网络规划3、存储规划 二、主机配置1、Linux主机安装(rac01&rac02)2、配置yum源并安装依赖包(rac01&rac02)3、网络配置(rac01&rac02)4、存储配置&#…

FitSM与ITIL及ITSM的对比

FitSM 是一种轻量级 IT 服务管理(ITSM)标准,其所有材料都是免费提供的,旨在促进 IT 服务提供中的服务管理,包括联合场景。但是,FitSM 适合您的组织吗?了解 FitSM 的适用性涉及两个方面。首先需要…

阿里云PAI-DSW部署ChatGLM3过程记录

1、申请免费的阿里云 PAI-DSW 资源,这个比较基础不做介绍了 2、从第二步开始,我们介绍部署ChatGLM3过程:PAI-DSW 资源界面如下图:点击开启新终端 3、默认目录下面建一个test目录,如下图: 4、执行命令cd te…

TPCC-MySQL

简介 TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统。 Tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于MySQL基准测试。其源码放在launchpad上&#xff0c…

2023年NOC大赛(学而思赛道)创意编程Python初中组决赛真题

2023年NOC大赛(学而思赛道)创意编程Python初中组决赛真题 题目总数:7 总分数:100 编程题 第 1 题 问答题 二进制回文 编程实现: 输入一个正整数,判断它的二进制形式是否是回文数,如果是输出True…

Web开发5:第三方扩展与部署

在Web开发中,第三方扩展和部署是提高开发效率和功能扩展的重要手段。第三方扩展可以帮助我们快速集成常用功能和工具,而部署则是将我们的应用程序发布到生产环境中。本文将介绍第三方扩展的重要性、如何选择和使用常见的第三方扩展,并讨论应用…

code server安装使用教程

1. 安装 1.1. 下载code-server安装包 类似这种文件:code-server-3.10.2-linux-amd64.tar.gz 解压:tar -xvf code-server-3.10.2-linux-amd64.tar.gz 1.2 (可选)建立软连接 ln -s path/to/code-server-3.10.2-linux-amd64/bin…

力扣15、三数之和(中等)

1 题目描述 图1 题目描述 2 题目解读 在整数数组nums中,找出三元组,它们的和为0,要求返回所有和为0且不重复的三元组。这是两数之和的扩展题目,可以将三数之和问题。 3 解法一:排序 双指针 将整数数组排序之后&#…

阿里云快速搭建《幻兽帕鲁》服务器自建指南

如何自建幻兽帕鲁服务器?基于阿里云服务器搭建幻兽帕鲁palworld服务器教程来了,一看就懂系列。本文是利用OOS中幻兽帕鲁扩展程序来一键部署幻兽帕鲁服务器,阿里云百科aliyunbaike.com分享官方基于阿里云服务器快速创建幻兽帕鲁服务器教程&…

使用javadoc生成maven项目的文档

概述:Maven 提供了 javadoc 插件来执行这个任务。 废话不多说,让我们开始操作吧!!! 第一步:引入插件 在 pom.xml 中配置 javadoc 插件: 在 Maven 项目的 pom.xml 文件中,你需要添加…

AutoPSA的计算结果

1.中煤集团某用户问:请问,我导出来的.psa文件,在我同事另一台电脑上计算应力 怎么跟我电脑上的数据受力还有应力完全不一样呢? 原来,用户同事用的版本是9.3.5,用户用的版本是10.3.用户把.psa文件发给我们测试后,9.3…

Oracle篇—分区索引的重建和管理(第三篇,总共五篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

LeetCode:1706. 球会落何处(Java 模拟)

目录 1706. 球会落何处 题目描述: 实现代码与解析: 原理思路: 1706. 球会落何处 题目描述: 用一个大小为 m x n 的二维网格 grid 表示一个箱子。你有 n 颗球。箱子的顶部和底部都是开着的。 箱子中的每个单元格都有一个对角线…

数据中台的护城河,基于Flink实时构建数据仓

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 数据中台的护城河:基于Flink实时构建数据仓 在数字化时代,数据…

leetcode hot100 全排列

在本题中,是要求我们求一个不重复数组的全排列,那么全排列,一定是长度和数组长度一致的,并且,排列问题是有顺序的,即1,2,3和1,3,2是两个不同的排列。 那么&a…

(数据结构练习题)合并两个有序数组

🌈前言:在刷题过程中发现超精简的代码。 力扣链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 💫正文 首先这是题目内容,大家看到这个题时肯定会有很多不同的做法比如遍历链表将两个链表…

如何使用react框架进行两个html页面的切换?

如何使用react框架进行两个html页面的切换? 项目背景首先是古老的做法login.htmlindex.html 正文->react框架如何设置两个页面的跳转?配置react框架的环境react框架如何实现两个页面的跳转? 项目背景 古老的html页面跳转的做法无法在react框架中直接适配,所以非常有必要…

Redis 实际项目中的整合,记录各种用法

Redis缓存餐厅数据 我们来看主要的流程 很简单,就是在数据库和接口之间加了一层缓冲,在redis之前其实还可以加其他的缓存 例如 nginx的缓存 接下来,就是结合我的业务,来做缓存 我这里的业务逻辑是,按了分类的按钮,分别以不同的 分类为一组缓存数据 所以,这里的缓存粒度是分类…

【JSON2WEB】02 JSON2WEB初步UI设计

JSON2WEB的UI初步设计,包括草图、登录、主页、导航树JSON2TREEE组件、表格JSON2GRID组件、表单JSON2FORM组件等。 1草图 表单作为抽屉从右边拉出。LOGO行和导航树为固定区域,导航树可以折叠。 2 登录页 找回账号:可以给邮箱(找…

【Linux install】详细的Ubuntu和win双系统安装指南

文章目录 1.前期准备1.1 制作启动盘1.2关闭快速启动、安全启动、bitlocker1.2.1 原因1.2.2 进入BIOSshell命令行进入BIOSwindows设置中高级启动在开机时狂按某个键进入BIOS 1.2.3 关闭Fast boot和Secure boot 1.3 划分磁盘空间1.3.1 查看目前的虚拟内存大小 2.开始安装2.1 使用…