本文内容存在作者在工作中的思考和理解,请谨慎参考,如有问题请批评指正!
- 后仿出现的异步信号违例不做处理,一般违例报异步信号的第一级寄存器。通过建立文件notimingcheck.cfg,写入报告违例如下,makefile添加编译指令+optconfigfile+notimingcheck.cfg,或者使用force语句强制该信号。
instance{xx_tb.xx}{noTiming};
-
关于工艺,28nm以上的工艺,指晶体管的沟道长度,28nm以下不表示沟道长度,但这个数值越小,表示工艺更快,可以承载更高的频率。
-
反标负延时
实际仿真时,某个cell的延时为负,仿真不加-negdelay,仿真提示如下:
Warning-[SDFCOM_NDI] Negitive Delay Ignored
如果加-negdelay仿真,仿真提示如下:
Warning-[SDFCOM_NIOD] Negative IOPATH Delay encountered -
工艺比较烂的情况下,会产生较大的毛刺,毛刺的大小不能超过时钟的10%,否则修改代码或通过后端修改。
-
关于异步复位同步释放的使用
异步复位与同步释放的使用考虑数字设计的要求,例如对于数字设计上,要求出现时钟时输出数据,所以必须要异步释放。大多数情况采用异步复位同步释放更好,这样可以避免亚稳态的产生。 -
注意仿真激励给的不合适会造成后仿出现违例情况,注意排除仿真激励问题,例如:复位信号避免与时钟沿对齐,还有在工艺很烂的情况下,给了合适复位仍旧造成多处违例,最好将复位信号同步化避免违例。在频率比较高的情况下,最好将复位同步化。例如:设计采用上升沿,在tb中采用下降沿给激励,防止时序错误。
-
$width脉冲宽度违例,可以通过修hold的方式消除。
-
后仿有违例,波形一定有问题,但可能不影响整体功能,但最好消除掉。
-
recovery和removal检查是寄存器的特性,根据寄存器的制造工艺定,一般将其等同于setup和hold检查。
-
后仿时序违例的debug经验
①pt干净,后仿出现时序违例,查看仿真平台问题。
②后仿debug经验很好
参考链接:
[1]negative timing check和negative delay