数字设计时,一般外部信号输入进来都会用系统时钟打两三拍,用来消除异步信号之间的亚稳态,但是我们做后防时,当这些信号产生亚稳态形成x态后,vcs工具会将x态传递下去,传到第二拍,第三拍, 对仿真结果造成影响。为了解决这类问题,我们增加vcs配置即可消除。
1.首先在vcs命令下加入参数 +optconfigfile+notiming.list
2.在工作目录下创建notiming.list文件,文件内同如下:
instance{xxx_sim.u_digital_top.u_iic_slave.sda_dff_reg_0_}{notiming};
instance{xxx_sim.u_digital_top.u_iic_slave.scl_dff_reg_0_}{notiming};
...
这样就可以了
另外提供一种笨办法就是找到时序违例的那一刻,用force将违例的这个信号向前或者向后移一点让他满足时序要求。