后仿的意义:
后仿在下面三种情况是必要的:异步逻辑设计部分、ATPG向量验证和初始化状态验证。另外,后仿产生的VCD文件还可以做功耗分析。
后仿的步骤:
- 先做zero_delay仿真,确保加载的网标文件是正确的,然后,再将SDF文件反标到网标文件上。
- SDF文件(Standard Delay File)提供了延迟信息表示的标准ASCII文件格式,VCS支持版本1.0、1.1、2.0、2.1和3.0。
在SDF格式中可以指定固有延迟(intrinsic delays),互连延迟(interconnect delays),端口延迟(port delays),时序检查(timing checks),时序约束(timing constraints)和路径脉冲(PATHPULSE)。
使用VCS读取SDF文件时,会将延迟值“反向标注(back-annotates)”到设计中,即在源文件中添加或者更改延迟值。
后仿中的一些检查:
$setup
$hold
$setuphold
$recovery
$removal
$recrem
后仿中遇到的一些问题:
1、初始化
+vcs+initreg+random This option enables initialization for an entire design
The +vcs+initreg+0 and +vcs+initreg+1 compile-time options are no longer supported. You must use the +vcs+initreg+random option at compile-time.
编译阶段+vcs+initreg+random
仿真阶段+vcs+initreg+0|1|random|seed_value
2、两级同步的第一级时序违背
针对违背采取的措施,同步处理第一级寄存器的违背。建立文件Sync.v,格式如下
instance {
Top.uXX.uYY.uZZ_reg,
……
} {noTiming}
在仿真文件中加入 +optconfigfile+./Sync.v
Using the Configuration File to Disable Timing
noTiming:Disables timing checks in the specified module instances.