文章目录
- PR阶段,FloorPlan需要进行:定面积,打pin,摆memory,加ENDCAP和WELLTAP等,这些步骤大致有哪些注意点?
- STA后有setup违例和hold违例,修两者的先后是否有顺序,方式有哪些?原因为什么?
- 通过在数据路径插buffer来增加驱动,缩短数据路径,buffer的位置有什么要求,原因是什么?
- 请描述route congestion的不同形态,并描述各种形态形成的原因及相应解决方法。
- 请阐述天线效应形成机理,并描述修复天线效应违例的几种方法及各种方法的修复原理。
- STA signoff阶段修复前期,signal&clock drv/setup/hold违例同时成规模存在时,请阐述修复顺序以及理由。
- 串扰噪声的危害及相应预防和修复方法。
- 其他
PR阶段,FloorPlan需要进行:定面积,打pin,摆memory,加ENDCAP和WELLTAP等,这些步骤大致有哪些注意点?
根据init的信息,得到standardcell和memory的area,根据面积公式计算block整体面积,最好根据memory形状定一下长宽比;
pin的位置,input和output的信息在网表中,输入输出尽量不要在同一边,最后由顶层给出位置;
摆memory要结合数据流,根据飞线的情况进行调整;
加ENDCAP和WELLTAP前要检查memory(带halo)与core边缘不要留空隙;打电源条要主要留足channel,尽量大于15um
STA后有setup违例和hold违例,修两者的先后是否有顺序,方式有哪些?原因为什么?
先修setup再修hold,一般方式是swap size insert,即主要为更改cell类型和插buffer。
一般区别开,是由于setup和hold自身定义,使得修setup和hold违例是相反的过程:
修setup要么让时钟变慢,要么缩短数据路径的延迟;修hold要么增加数据路径的延迟,要么加快时钟。
通过在数据路径插buffer来增加驱动,缩短数据路径,buffer的位置有什么要求,原因是什么?
由于一个driver有时候会有多个load,对于一个net进行改善,若把buffer放在靠driver的一端,对具体的某条数据路径有可能是没有收益的。只有将buffer放在靠load的一端,准确的定位需要驱动的点,才会产生较好的收益
请描述route congestion的不同形态,并描述各种形态形成的原因及相应解决方法。
有以下几种形态:
- Channel Congestion:这种现象比较常见,多发生于hard macro(memory)之间。
一般两种典型的macro摆放方式:普通的相连和背靠背。无论哪种摆放方式,当macro之间的空隙不足以满足需要穿过的net所需要的资源的时候,就会发生channel congestion。因此,在floorplan阶段,需要考虑每个chan