关于后仿
1. 后仿的步骤:先做zero_delay仿真,确保加载的网标文件是正确的,然后,再将SDF文件反标到网标文件上。
2. 加载SDF的语法:
`ifdef SDF
initial
begin
$sdf_annotate("../../rtl/post_sim/U_sramc.sdf",u_top,,"sdf.log",);
end
`endif
3. x 信号的来源
a. 未初始化的信号,如一些memory model,clock/reset;
b. timing violation
4. 常用的参数:
例如:
module ND(X,A1,A2)
output X ;
input A1,A2 ;
specify
(A1 => X) = 50 ;
(A2 => X) = 50 ;
endspecify
endmodule 在标准单元中,定义输入A1到输出X的路径延时为50 time unit。
+nospeicy:vcs不加入50 time unit的延时
+delay_mode_zero:将标准单元中定义的延时替换为0
+notimingcheck :时序检查开关,比如setup/hold/width检查等等,如使用开关,则仿真时不检查时序,如后仿真,时序检查不满足,可能导致X扩散。
+no_notifier:在库里面有一些检 查,width,setup,removal等等,一旦有violation,它就将notifier寄存器翻转,这样就出现X态,为了不让仿真中出现这 个情况,可以再仿真时加上 +no_notifier,这样仿真不会翻转notifier寄存器,也不会出现X态,不过会display出各种违例。