下冰雹 · 2021年12月07日

后仿遇到违例,该怎么debug?

image.png

遇到违例是每个做后仿的同学必然会经历的事情,如果你还没遇到过,那说明你还年轻。而很多同学第一次遇到这问题时,都会一脸茫然,找不着北。本篇文章给出我能想到的思路,如下:

1.查看是否为异步路径

如果是异步路径,理应将其加到notiming_check列表中。

2.查看VCS的输入(包括网表和SDF文件)是否正确

不光是VCS,只要是跟工具相关的流程,遇到异常,我们都需要先确保工具的输入信息是准确无误的,才能继续往下debug。而后仿的输入主要就是网表和SDF文件。对于这两个文件,我们要检查它们的路径是否正确,网表和SDF文件的版本是否对应得上。

3.查看后仿中时钟时钟频率是否跟STA一致

在不规范的流程中经常会看到,后仿的频率与STA分析的频率不一致。所以遇到违例时,我们要先去查看后仿的时钟频率,如果频率比STA分析的频率还要高,那setup出问题也是理所应当的。

4.查看STA报告,timing是否clean

后仿时钟频率跟STA一致没问题的前提是STA已经timing clean。但是在实际情况下,尤其是在MPW项目中,由于项目进度紧,STA可能会将某些违例放过。例如,系统时钟200M,但是有点小违例,而时钟的精度又可以微调,这时候就有可能直接放过。因此,我们要跟STA owner确认这事,并根据实际情况来调整后仿的时钟频率。

5.对比STA中path的delay与波形的delay是否一致

当前面步骤都确保无误后,这时就要考虑是不是吐SDF的过程中出现了什么幺蛾子,例如手残将derate值改了。检查这个的方法也很简单,直接请STA owner把相应路径报出来,然后跟后仿波形的延时对比,这时很大可能是对应不上的。所以接下来的事情就是STA owner的事情了,我们只需要坐等更新SDF。

作者:martin
原文链接:IC小迷弟

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
20196
内容数
1307
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息