禾雨

导航

后仿反标SDF文件Warning的解决

总结两个问题:

一,  

        在PR后仿时,经常会遇到讨厌的红色X(不定态)。而debug不定态的起因又很麻烦,有可能用Verdi调试半天还是没能找到根本的原因。

        今天我们就来分析一下异步D触发器采样不稳定(setup或hold时序不满足)引起的不定态,及后仿时的处理方法。跨时钟域采样或者时钟域同步电路的第一级D触发器,就是典型的可能会出现不定态的情况。

        而设计中似乎又没法避免这种电路。由于clk_a和clk_b是异步的,所以图中的DFF2就无法保证setup和hold时序关系。所以在后仿时就需要设置DFF2为notimingcheck。假设DFF2的路径为tb.dut.u_dff2_reg。

编译器

解决步骤

cadence的NC

1.  NC仿真增加参数

-tfile notimingcheck.tfile。

2.  编辑notimingcheck.tfile文件

PATH tb.dut.u_dff2_reg –tcheck

synopsys的vcs

1. vcs仿真增加参数

+optconfigfile+notimingcheck.cfg。

2.  编辑notimingcheck.cfg文件

instance {tb.dut.u_dff2_reg} {noTiming};

        另外还可以通过 module, tree指定对象,但只能是module name,不能有层次。

        如果有多个异步D触发器,就写多行,一行写一条约束。

二、

     在项目PR网表仿真时,遇到很多SDF反标的Timing check Warning,几乎全是D触发器内部时序找不到CP和D的时序检查。查看了一下D触发器模型文件,发现仿真时没有打开NTC和RECRAM宏,导致走的分支不对。

     解决方法:VCS选项打开NTC和RECRAM宏定义。

 

   

posted on 2019-10-12 11:26  禾雨  阅读(8165)  评论(1编辑  收藏  举报