Gate Level Simulation (前仿及后仿总结)

##前仿主要步骤
自己的RTL级仿真,主要是功能仿真。
#Testbench(Verilog/SV, UVM)
这时候Testbench需要尽可能多的覆盖各种状况。在SV中指定时序信息需要使用Specify block(主要配置setup, holdon, recovery, removal, pulse的时间)。配置后使用time check功能进行检查。Specify Block是时间配置为0,是为了方便读入后续SDF文件产生的对应时间信息。

##后仿主要步骤

#Netlist(网表)
从后端公司获得网表,跑之前的一些testbench,主要看时序,要特别注意某些关键路径的时序是否符合要求。

根据Netlist会产生一个SDF文件,包含各个路径真实的时序信息。有max, min, typical值,这里和speicify中的配置是可以对应的。

这里仿真工具使用VCS,看波形用Verdi。(图中vcs代表编译,simv代表仿真。也可以通过makefile或者vcs的设置将这两步一起实现)


Gate Level Simulation (前仿及后仿总结)_第1张图片
#波形
主要看产生亚稳态的部分(具体表现为不定态)。预期的结果是亚稳态在经过几级FlipFlop后不会继续向下传播。产生的原因目前所知的一种是时钟同步没有到位,一种是异步复位,同步释放没有做好,其他还有待学习。

一般来讲主要找直接导致case崩溃的源头,这时候可以从中间找起,找到最早的一个点。但其他报错如果有时间也应该关注。
tbc.

你可能感兴趣的:(Gate Level Simulation (前仿及后仿总结))