SystemVerilog测试台模拟(VCS)的非活动停止开关

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SystemVerilog测试台模拟(VCS)的非活动停止开关相关的知识,希望对你有一定的参考价值。

嗨,谢谢你看到这个。

我正在考虑为SystemVerilog模拟使用不活动的killswitch的想法。

是否有一种方法,当运行“ simv”时,较长时间(可编程)的不活动时间可以触发内部事件来调用“ $ finish”?还是可以使用VCS命令?

让我们集思广益。并且让我知道是否有不清楚的地方。

RRS

答案
时,有没有一种方法可以延长(可编程)的不活动时间

在VHDL中,我使用已解析的信号。

每个生成或分析数据的过程在其工作时都会将0写入该信号。处于仿真完成状态时,将写入1

仅当所有进程都满意时,信号状态才会更改为1(其余时间为X0

时钟生成过程监视此信号,当它变为1时,它们停止产生时钟脉冲;没有计划进一步的转换,并且模拟器知道停止。

大概Verilog可以做类似的事情。

另一答案

在我工作过的芯片设计公司内部,这称为“静态检查”,但我不确定这是否是行业标准名称。您实现了“仪器代码”,用于检查系统是否已达到静止状态。 Cadence的Cadence的Specman-e tool反对测试机制(raise_objection(MAIN_TEST_DONE)/drop_objection(MAIN_TEST_DONE))的结束非常优雅。本质上,整个系统的监视器在模拟开始时就“提出”异议(即增加计数器),然后在模拟运行时,他们确定自己的DUT处于静止状态,并且“降低”异议(即减小)此全球计数器)。如果没有其他人反对结束测试(即全局计数器为0),则调用$finish。监视器可以在整个测试中提出和降低异议,但是如果计数器达到0,则该测试为$finish'。

[Universal Verification Methodology(UVM)]从Specman继承了此方法,并在其UVM Reference Manual中进行了描述。 UVM首先是通过Verilog实现的,因此您可以肯定地使用其免费提供的库来实现“静态检查”。 Cadence的Specman UVM参考手册还在http://support.cadence.com上描述了此机制。遗憾的是,Cadence要求您是客户,然后他们才能向您显示其文档,因此,您必须使用非Google搜索引擎来查找所需内容。有点痛苦。

以上是关于SystemVerilog测试台模拟(VCS)的非活动停止开关的主要内容,如果未能解决你的问题,请参考以下文章

systemverilog 测试台中的时钟切换

vcs编译verilog/sysverilog并执行

VCS用于开发,测试,生产环境[关闭]

《SystemVerilog验证-测试平台编写指南》学习 - 第2章 数据类型

SystemVerilog搭建测试平台---第一章:验证导论

问题记录——SystemVerilog