本文记录使用Verdi或DVE查看delta cycle的方法和分享一些分析波形的小技巧。
文章目录
查看Delta Cycle的方法
Verilog和SV的仿真调度机制
在仿真时可能会遇到一些设计和验证平台之间竞争冒险的问题。Verilog有一套仿真调度机制,一个时间片(time-slot)被分为Active, Inactive, NBA 区域,可以理解为分别主要用于阻塞赋值、零延时操作和更新非阻塞赋值。SystemVerilog又在这一基础上将设计和验证平台的事件分开调度,在同一时间片之后引入了Observed, Reactive, Postpone 区域,分别执行断言、验证平台和输入采样。SV-2017的IEEE标准中展示了完整的time slot region划分,如下图所示。

一个时间片可分为无限小的delta cycle,其时间精度比最小单位 fs 还小,在使用Verdi或DVE仿真时,可以通过查看delta cycle来分析硬件仿真和验证平台间的准确时序前后关系。
使用Verdi查看Delta Cycle的方法
一个非常简单的例子如下,APB总线是在每周期第二个pclk采到penable的高电平,而非在第一个pclk,那么怎么通过波形上确认呢?在使用VCS仿真时,可以在仿真simv命令后添加选项 +fsdb+region。

本文介绍了如何利用Verdi和DVE查看Verilog及SystemVerilog仿真中的DeltaCycle,以深入理解设计和验证平台间的时序关系。通过设置仿真选项和使用工具特性,例如Regionmode、EventSequence和CaptureDeltaCycleValues,可以详细分析波形并在deltacycle级别查看事件。此外,还分享了Verdi的总线拆分、事件统计和逻辑运算等功能,帮助优化设计验证过程。
最低0.47元/天 解锁文章
300

被折叠的 条评论
为什么被折叠?



