数字后端设计实现 | 数字后端PR工具Innovus中如何创建不同高度的row?

吾爱IC社区星球学员问题:Innovus后端实现时两种种不同高度的site能做在一个pr里面吗?

答案是可以的。

Innovus支持在同一个设计中中使用不同的row,但需要给各自子模块创建power domain。这里所说的不同高度的row,有两种情况。

1)同一个design中虽然有多种row,但它们彼此是整数倍关系

比较典型的案例如咱们社区低功耗四核A7 top训练营课程中的power switch cell,Level Shifter Cell都是占用两倍row高度的cell。这时候我们就需要在floorplan阶段创建对应的row。

当然还有低功耗设计实现中要用到的Multibit Reg,通常它的row也是普通标准单元的整数倍,会占用2-4条row高度。


创建Row需要在设计导入阶段完成后就创建,具体命令和图形界面操作如下图所示。

2)同一个design中有需要若干种不同高度的row,且它们之间是非整数倍关系

这时候除了创建不同的site之外,还需要分别创建power domain,指定好每个power domain对应的module。这样后续工具在做placement时才能摆放到对应的power domain。

另外,需要提醒的是由于不同的tech lef工艺技术库文件中,会定义好不同的site尺寸。所以如果你目前设计中一个power domain是要用9Track,另外一个power domain要用12Track实现,那么就需要事先在tech lef中把这两套库涉及的site定义完整。

指定Power Domain时需要指定好每个PD的形状,它的形状可以是任意多边形。具体形状需要根据整个design的floorplan来切分。

无论多复杂的多边形,都可以划分成多个长方形,每个长方形都有各自的左下角和右上角的坐标。有了每个长方形的坐标后,整体形状就可以获取到了。

我们可以通过下面的命令来指定好各个PD的形状。

Legacy UI:

modifyPowerDomainAttr PD --disjointHInstBoxList { {A {ax0 ay0 ax1 ay1 ax2 ay2 ax3 ay3}}

{{B C} {bx0 by0 bx1 by1 bx2 by2 bx3 by3}} }

modifyPowerDomainAttr PD --addBlockBox {block1}

Common UI:

update_power_domain PD -disjoint_hinst_box_list { {A {ax0 ay0 ax1 ay1 ax2 ay2 ax3 ay3}}

{{B C} {bx0 by0 bx1 by1 bx2 by2 bx3 by3}} }

update_power_domain PD -add_block_box {block1}

当然也可以写成下面这种格式。其中的disjointHInstBoxList写上每个长方形的两个坐标值。

modifyPowerDomainAttr -disjointHInstBoxList [list [list inst1 [list $x1 $y1 $x2 $y2]] [list inst2 [list $x3 $y3 $x4 $y4]]]

update_power_domain -disjoint_hinst_box_list [list [list inst1 [list $x1 $y1 $x2 $y2]] [list inst2 [list $x3 $y3 $x4 $y4]]]

如果placement后发现cell并没有摆放到它归属的power domain,就需要使用下面的教程来查看domain中cell的effective PD属性是否正确了。

相关推荐
杰出的胡兵12 天前
景芯SOC设计实战
面试·职场和发展·soc·芯片·数字后端·数字ic后端·芯片设计全流程培训
IC拓荒者1 个月前
数字IC后端设计实现十大精华主题分享
数字ic后端·数字后端培训·calibre lvs·clock tree·clock gating时序·innovus案例
IC拓荒者1 个月前
数字IC后端设计实现篇之TSMC 12nm TCD cell(Dummy TCD Cell)应该怎么加?
数字ic后端·数字后端培训·tsmc12nm·dummy tcd·tcd工艺校准·数字后端零基础入门·a55 a72 cpu
IC拓荒者1 个月前
芯片级IO (Pad) Ring &IP Checklist
esd·数字ic后端·ic后端培训·innovus零基础·io ring·pad ring·checklist
IC拓荒者1 个月前
数字IC后端实现常见的physical only cell都有哪些?如何添加这些cell?
数字ic后端·数字后端培训·physical cell·latchup栓锁效应·endcap cell·boundary cell·ic后端设计实现
IC拓荒者2 个月前
华为海思2025届校招笔试面试经验分享
经验分享·华为·面试·数字ic后端·ic秋招·海思校招面经·校招笔试面试
IC拓荒者2 个月前
IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)
数字ic后端·静态时序分析·数字后端培训·ic后端笔试题·ic秋招笔试真题·芯原ic后端笔试·时序timing分析
IC拓荒者2 个月前
数字IC后端实现之PR工具中如何避免出现一倍filler的缝隙?
数字ic后端·placement·ic后端培训·innovus零基础lab·innovus零基础·spacing rule·innnovus place
IC拓荒者2 个月前
数字后端零基础入门系列 | Innovus零基础LAB学习Day11(Function ECO流程)
数字ic后端·数字后端培训·innovus零基础lab·innovus零基础入门·function eco·post-mask eco·innovus eco步骤
IC拓荒者2 个月前
数字IC后端设计实现之Innovus place报错案例 (IMPSP-9099,9100三种解决方案)
数字后端·数字ic后端·ic后端培训·innovus零基础lab·innovus place·innovus零基础·scan chain