后端面试--每日一题(020)
说一下ECO的流程
难度:2
ECO 指的是工程改变指令(engineer change order)。当整个工程接近完成,但是时序或者电源有少数违规。要修正这些违规,如果重新进行全部线甚至从流程起点开始会非常耗时。因此布线工具会提供相应的功能在该阶段对布线进行手工修正。
ECO 布线
在默认状态下,布线器在实施 ECO 布线时,只对部分需要加入逻辑单元的进行布线。同时尽可能保持其他的布线状态。ECO 布线在以下情况会非常有用:
1.当芯片已经完成布线,但是前端部门给出进行极小修改的新的网表。
2.当芯片已经初步完成布线。但是要插入缓冲器来修复建立时间,保持时间或者设计规则违规,从而进行进一步优化。
3.插入天线二极管来修复天线效应。
4.金属填充已经完成。
ECO 流程:
1.解决掉RTL中的bug
2.在综合中实现ECO
3.形式化验证(RTL和网表)
4.版图实现
5.形式化验证(版图和网表)
6.导出GDS,后仿
不知道对不对,望陈涛前辈指正
我感觉(仅仅是感觉)你是从不同的地方东拼西凑来的,而不是你自己的体会,说错了,请见谅!
在现在的设计中,解决时序的违反,修复天线效应都属于正常的后端流程,不算ECO,因为现在的后端工具本身就具备解决这些问题的功能。所谓ECO就是指少量的逻辑功能的修改。
所谓ECO流程,就是问
1)前端应该如何做ECO网表?
2)后端如何做对?
先提示下,ECO分两大类,做法不同
前端网表怎么ECO不大清楚,不过后端我只想到一个,就是如果有spare cell的话,可以选择合适的spare cell去做ECO,disconnect net 和connect net,然后eco route一次,如果没有spare cell的话,就create 需要的instance进去,然后同样是disconnect和connect,再eco route。做完之后跑一遍formal,然后check timing,如果都OK,就可以进行后续的PDV工作了。不知道这样合理不合理?
1920也出来了
如果是已经tapeout 过的片子,那么只能用之前加进去的spare cell做改动,最后的是只能有metal层的变化(freeze slicion)
如果是还没有tapeout的话就可以有cell数目的变化等等
后端写出verilog给前端,修改完net后在给后端做eco place&route
变化微量情况下可以写encounter/icccmd (tcl) 完成eco
答案:
ECO有两种,pre-mask ECO和post-mask ECO,它的分界线就是base layer tape out之前和之后。
pre-mask ECO的流程是
1)后端写出网表,给前端
2)前端修改这个网表 (一般不再做综合),可以使用任何标准单元(只要不是dont_use),交给后端
3)后端读入ECO网表,和ECO之前的place和route
4)ECO place&route,STA, DRC/LVS
post-mask ECO流程,假设你不想动base layer
1)后端写出网表,给前端
2)前端修改这个网表 (一般不再做综合),只能使用spare cell或者象gate array一样的ECO cell
3)后端读入ECO网表,和ECO之前的place和route
4)如果使用spare cell,不用ECO place;如果用ECO cell,要将ECO cell放在以前带gate array功能的fill cell的位置上,再按照指定的layer做ECO route
汗,我看到eco分两种,,,第一个就想到是Unconstrained ECO和Freeze silicon ECO,不过从tapeout角度分,是一个意思,呵呵
ecoDesigntop_design.enc.datnew_verilog.v
把复杂的ECO修改交给前端吧
让我们等结果就好啦
我做过一次不知道小编觉得算不算是ECO的流程,就是按照user guide的两种ECO(一种Freeze silicon ECO和非freeze的)中的其中一种去做的。
就是在后端DFM已经完成之后,再插入buffer,然后再重新legalize placement、route_eco。我感觉这个也算吧。前端的ECO我不是很理解到小编的那个说法,能否详解一下呀。~
这个算ECO
前端就是按照希望修改的逻辑,用ECO的cell改网表
后端怎么修改网表啊?
hehe,eco做了好多次,总结得简洁明了
陈涛前辈在8楼post-mask ECO流程(4)中提到的“如果用ECO cell,要将ECO cell放在以前带gate array功能的fill cell的位置上,再按照指定的layer做ECO route”具体指什么呀?从来没听说过ECO cell和gate array,只知道spare cell.请指点迷津。谢谢。
感觉跟前端没关系呀
顶一个
有点不懂ECO place是什么意思
感谢小编
