![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SVA
文章平均质量分 74
sva
zer0hz
IC验证工程师
展开
-
SVA序列表达式操作符(intersect、within、throughout、first_match、matched)
构造一些比较复杂的序列时,常用的交叠操作符有时已经不能满足要求。1.intersect通常来说使用方法是(sequence)intersect(sequence),两端不能是property,需要确认两端的sequence都同时开始;两个sequence长度也相同;module top_tb;logic clk;logic sig0,sig1,sig2,sig3,sig4;initial begin clk = 1'b0; forever #1 clk = ~clk;原创 2021-11-28 16:45:02 · 3950 阅读 · 0 评论 -
SVA断言函数(assert、assume、rose、fell、stable、past、changed、重复操作)——sv
一、总线断言函数$onehot(BUS):BUS中有且仅有1bit是高,其他是低$onehot0(BUS):BUS中有不超过1bit是高,也允许全0;$isunknown(BUS):BUS中存在高阻态或未知态;$coutones(BUS) == n:BUS中有且仅有n bits 是高,其他是低$past(signal,cycle_num,1):returun of cycle past value of signal二、assert和assume分类形式化验证示例as原创 2021-11-28 15:20:20 · 10385 阅读 · 0 评论 -
关于DUT与assert断言bind绑定在一起——SVA
一、为什么需要bind一般在设计RTL代码中,如果设计人员在其中写了assert,这样能够很方便在仿真去收集设计代码的运行结果和情况。但是如果没有写assert,但是我们验证人员是没有办法去修改设计代码的,所以我们需要将assertion与DUT设计绑定在一起。module test(clk,rst,sig0,sig1);input sig0;input clk,rst;output sig1;bit sig1;always@(posedge clk)begin if(rst == 1'原创 2021-11-25 21:54:28 · 2521 阅读 · 1 评论 -
SVA(立即断言、并发断言、触发判断)-概述
sequencesequence可以调用sequence,property调用,比sequence高以层,类似调用,创建断言的步骤:根据spec提取逻辑关系或者时序关系建立sequence的表达式建立property,调用对应的sequence断言属性:a1:assert property()cover assert a1触发判断:连续时钟中由于信号的变化,判断多个事件/信号的行为关系,$isunkown,查看是否不定态,总线的断言函数断言可以有使能,控制全局性断言检查,状态.原创 2021-11-23 22:24:34 · 7460 阅读 · 0 评论