story · 2021年12月29日

如何进行ECO

在芯片设计中,ECO是指在经过布局布线工具后,将直接对门级网表逻辑进行修改的过程。因为马上就需要投片,没有足够的时间再进行布局布线了,也可以理解为ECO是一个非常小规模的增量综合

ECO需要完成以下几个步骤:

修复RTL bug

修复RTL中的bug(严重而无法规避bug常常是导致ECO的直接原因),运行针对性的仿真保证bug正确修复并且没有影响到其他的功能。(注意,此时只是保证了RTL的正确性。

在综合后门级网表中进行ECO

使用spare cells(spare cells是嵌入在设计中的没有任何驱动的冗余cell)重新布线,直接在综合后的门级网表中直接修复bug。前提是现在已经是100%网表之后,没有时间再重新综合了。当然了,如果是大量的逻辑需要修改可能还是需要重新综合的。

运行ECO后网表和RTL之间的逻辑等价性检查

使用formal 工具,运行等价性检查,看看ECO后的门级网表是否改变了原先的RTL其他功能。如果这两种设计是逻辑等价的,从验证的角度也就没有必要针对ECO后的网表重新验证了,功能验证只需针对RTL级即可。(此时保证了综合后网表的正确性

如果综合后网表和RTL是逻辑一致的,如果RTL是功能正确的,那么综合后网表也是功能正确的。

同理,针对ECO后的门级网表进行布局布线

修复综合后门级网表之后,还要修复布局布线后的门级网表(相比综合后的门级网表,布局布线的网表会插入很多额外的buffer和inverter),甚至布局布线后的网表进行了很多逻辑上的优化。

ECO后的布局布线门级网表和综合后网表等价性比对

对于承接布局布线的后端工程师,他们的输入是综合后的门级网表,将ECO后的布局布线门级网表和ECO后的综合后门级网表进行等价性验证,也就可以保证ECO后的门级网表的功能正确性。

如果A->B,B -> C, 那么A->C。

A是RTL功能正确,通过大量的RTL仿真保证;
B是综合后门级网表功能正确,RTL和综合后门级网表等价性比对保证;
C是布局布线门级网表功能正确,通过布局布线后门级网表和综合后门级网表等价性比对保证。

芯片研发,环环相扣,一步错,步步错。

逻辑性对于技术类工作是最重要的思维方式。但是,对于商业成功、职场成功,情绪思维才是。

作者:xpuu
原文链接:数字芯片实验室

微信公众号:
数字芯片实验室.jpg
授权转自数字芯片实验室公众号,请勿二次转载。

推荐阅读

更多数字IC设计技术干货等请关注数字芯片实验室专栏。
推荐阅读
关注数
12282
内容数
202
前瞻性的眼光,和持之以恒的学习~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息