从零开始的pr学习之旅--day3 preplace阶段的注意事项

Preplace

Fp并非一定要摆的四四方方,想办法使core区域更接近椭圆形,这样的好处是mem ip和core区域std cell接触面积更大。

Tap点最好在同一水平或者垂直线上,以便于顶层连接。Tap点附近可以加个小的hardblk,预留antcell antinv的位置。如果加,在preplace最后阶端加。

检查好pin terminal是否在track上。

关于mem沟道距离,一般是根据信号pin的数目,出pin层次,结合相应金属层的track间距预留。mem排布主要有几种可能。相邻mem间有交互的情况,需要mem pin2pin摆放。如果是直连,且时序无问题不需要插buffer,那么沟道只要在drc允许情况下尽可能小。如果需要插入buffer在其中,那么要预留够至少2-3对电源地stripe的宽度。如果mem只是单侧出pin,另一侧是电源地,同种mem可以背靠背摆放,这样可以完全不留沟道。

mem沟道一般会用softblk盖住,这样会禁止逻辑cell摆进沟道内,降低绕线风险。但随之而来产生的问题是,逻辑cell会涌在mem周边,后续可能修hold可能会形成铁板。所以mem的树要在满足setup的基础上做到最短。一般会设置set_ccopt_property -pin min 或者 ignore。这是门学问,还需通过项目练习。但总体上,逻辑cell摆在沟道带来的问题会更多,更麻烦。

子模块出pin的地方会加个10u的routingblk 。子模块周边也会加5-10u的routingblk。一定注意的是如果加routingblk 后加电源,那么routingblk的地方是没有power的,后续eco阶段删除routingblk后,这些没有power的地方绝对不能摆cell。所以最好同时糊一个hardblk。

Lvl upf会验证lvl和端口间有无其它cell,端口和lvl间不要插任何cell。所以preplace阶段需加lvl的port不加portbuffer。Lvl的电源和core区不同,所以电源是定制的,所以先给lvl加power,再加core区power。记得给lvl的电源一个physical的PGpin。Lvl摆放完后需要fix住,防止后续opt的操作挪动lvl导致电源连接有问题。

因为lvlpower的脚本无法顾及所有的case,根据power方案,检查好lvl的电源连接是否robust。检查的方法是可以

verifyConnectivity -noUnroutedNet -noWeakConnect -noFloatingMetal -noAntenna -noSoftPGConnect 。

这样可以检查未连接的power pin 。然后再verifyPowerVia检查漏孔。因为如果两层金属没有搭起来工具是查不出missingvia的,所以先确定连接,再确定漏孔,大概率能保证连接充分。因为lvl的种类,vt不同,lvl的pin位置也会有差异,opt过程sizelvl可能会有powerpin连接异常。这时候如果lvl周边有逻辑cell,很有可能没有绕线资源补power。所以最好在lvl区域加一个softblk,甚至hardblk。

先加M0 power 再加 mempower 最后加stdcell power。加完mempower后也可以通过验证lvlpowerpin连接的方式验证mem的powerpin是否连接充分。比如mem最靠边的pgpin有可能会因没打孔等原因漏连。检查连接和missingvia,并补好,确保电源连接无异常。

Mem周边,子模块周边,ip周边都会加hardblk,然后得保证endcap的添加。Endcap的添加得注意CPODE.L.2drc。

在加完tapcell endcap gfill之后加filler出gds验证下basedrc。当fp定型之后,basedrc基本就不会变了,在preplace阶段修好,之后basedrc不会有特别大的异常。同时验证下signoff,确保mem间距等没有问题。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值