2024年3月10日发(作者:微星主板官网驱动下载)
SystemVerilog Assertion 简介
在验证环境中,测试平台承担的三个不同的任务:
(1) 产生激励
(2) 自检机制
包括协议检验和数据检验。协议检验的目标是控制信号。数据检验的目
的是检验正在处理的数据的完整性。
(3) 衡量功能覆盖
包括协议覆盖和测试计划覆盖。协议覆盖用来衡量一个设计的功能说明
书中确定的所有功能是否都测试过。测试计划覆盖用来衡量测试平台的
穷尽性。
SVA着重处理在测试平台中被分散在不同部分中讨论的两大类:
(1) 协议检验
(2) 协议覆盖
1. SVA定义
断言,又被称为监视器或者检验器。如果一个在模拟中被检查的属性
(property)不象我们期望的那样表现,那么这个断言失败。
Verilog也能用来实现一些检查,但相比较而言SVA有如下优点:SVA是一
种描述性语言,可以完美的描述时序相关的状况,语言本身非常精确且易于维护
SVA提供若干个内嵌函数来测试特定的设计情况,并且提供了一些构造来自动
收集功能覆盖数据。
SVA中定义了两种断言:并发断言和即时断言。
并发断言是基于时钟周期的,在时钟边缘根据调用的变量的采样值计算测试
表达式,可以在静态验证和动态验证中使用。
例如:a_cc:assert property(@(posedge clk) not(a && b));
即时断言是基于模拟事件的语义,测试表达式的求值与时序不相关,只可以
在动态验证中使用。
例如:always_comb
begin
a_ia:assert (a && b);
end
区别并发断言和即时断言的关键词是property。
Verilog的调度
在每个time slot,许多事件按照安排的顺序发生。这些事件的列表依照标准
定义的算法执行。依照这个算法,模拟器可以防止任何在设计和测试平台互动中
的不一致。
发布者:admin,转转请注明出处:http://www.yc00.com/num/1710067330a1694766.html
评论列表(0条)