数字后端设计实现 | 数字后端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属性是否正确了。

相关推荐
IC拓荒者12 天前
英伟达NVIDIA数字IC后端笔试真题(ASIC Physical Design Engineer)
nvidia·数字ic后端·ic后端实现·ic秋招笔试·ic秋招·ic笔试真题·physical design
NobleGasex1 个月前
可综合verilog用法总结
经验分享·笔记·芯片设计·综合
Lambor_Ma1 个月前
【数字时序】时钟树延迟偏差——CPPR adjustment
ic·芯片设计·soc
FPGA硅农3 个月前
【计算机体系结构】缓存的false sharing
芯片设计·计算机体系结构
初心不忘产学研3 个月前
AI 能否自行设计和制造芯片?
人工智能·aigc·团队开发·制造·芯片设计·芯片制造·ai造芯
IC拓荒者4 个月前
数字IC后端物理验证PV | TSMC 12nm Calibre Base Layer DRC案例解析
数字ic后端·物理验证·数字后端设计·ic后端培训·calibre drc·drc violation·低功耗upf
IC拓荒者5 个月前
低功耗数字IC后端设计实现典型案例| UPF Flow如何避免工具乱用Always On Buffer?
芯片设计·数字ic后端·数字后端培训·innovus·低功耗设计·ic培训·upf flow
apple_ttt8 个月前
片上网络NoC(6)——路由算法
网络·fpga·芯片设计·路由算法
apple_ttt8 个月前
片上网络NoC(3)——拓扑指标
网络·fpga·芯片设计·片上网络·多核
apple_ttt8 个月前
片上网络NoC(1)——导论
网络·fpga开发·fpga·芯片设计·noc·片上网络