今天给大家分享下咱们社区IC后端训练营学员提问的数字IC后端实现常见问题。
Q1: 摆放pin的一些问题,教程中有如下命令:editPin -pin mcu_top_data_0 -layer M3 -assign ($x $y) -pinWidth 0.10 -pinDepth 0.5 -global_location -fixOverlap 1 -fixedPin 1 -edge 5 -snap TRACK,我有如下问题:
a)对T28工艺,可放pin的layer层有哪些?
理论上能用于绕线的层都可以做为摆放pin的层。比如我们训练营项目有M1-M10。但由于高层最小线宽比较宽,因为我们尽量使用低层metal来摆放pin,比如M1-M6(M1和M2往往是rail metal,也不怎么用,怕有pg short)。
b)为啥把mcu_top_data_0放到M3 layer?
这里仅仅是示例,并没有严格限制。block level出pin用哪一层是灵活的,只要确保和top 连接得起来,没有drc即可。
c)如下六种典型pin该放哪层?VDD、VSS、Clock、Data、reset、set
没有严格限制。
c)pinWidth 可用范围?为何选0.10?跟所在层metal宽度一样?
pin width最小可以从0.05到metal的max width。但一般我们选择的是0.05和0.10两个档位。太宽反而在连接的时候容易有drc,而且也浪费更多的绕线资源。
d)pinDepth可用范围?为何选0.50
这个也是灵活的,一般选择0.5-0.7。metal有最小面积的约束条件,即pin width* pin depth要大于规则面积,否则会有drc。因此只要没有metal的min area drc即可。
e) 对于top design,io pad 也是分层放置的吗?
对于top level来说,io pad是一颗cell,需要手工摆放或者通过脚本来摆放。它是一颗cell,类似macro或IP,因此没有层的概念。
拓展:如果要求子模块的io port双层出pin,我们应该如何实现?clock port应该摆放在什么样的位置比较好?
Q2:我自己分步长tree还有问题,比如common path仍然很短。能帮忙看看原因吗?
分步长出的tree:
所用本:/home/ic090/Desktop/mywork/scripts/456_cts_tree_test.tcl
我合并了04、05、06三个脚本并在里头加入了自己的修

最低0.47元/天 解锁文章
1770

被折叠的 条评论
为什么被折叠?



