关于后仿

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出各种违例。

 

转载于:https://www.cnblogs.com/lybinger/p/7762341.html

你可能感兴趣的:(关于后仿)