数字IC后端设计实现之Innovus place报错案例 (IMPSP-9099,9100三种解决方案)

最近吾爱IC社区星球会员问到跑place_opt_design时会报错退出的情况。小编今天把这个错误解决办法分享给大家。主要分享三个方法,大家可以根据自己的实际情况来选择。

数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain)

**ERROR: (IMPSP-9100): Scan chains exist in this design but are not defined for 70.89% flops and -place_global_ignore_scan is set to false. Placement and timing QoR can be severely impacted in this case!

It is highly recommend to keep -place_global_ignore_scan option as its default value 'true' with scan chains definition.


数字IC后端实现之Innovus Place跑完density爆涨案例分析

这个错误是报告设计中存在scan chain即寄存器的SI端是有逻辑连接(寄存器的Q接另外一个寄存器的SI端),但没有scan chain def信息。

关于读入scan def的好处是工具可以根据扫描链的信息做scan chain reorder,改善整体设计的congestion和绕线。

解决方案一:

找做综合的工程师要一个scan chain的def。跑place前defIn读入即可。

解决方案二:

通过设置placeMode。具体设置命令如下:

setPlaceMode -reset

setPlaceMode -place_global_ignore_scan true

setPlaceMode -place_global_reorder_scan false

setPlaceMode -place_global_exp_allow_missing_scan_chain true

解决方案三:

暂时把设计中的scan chain连接端口,这样就等效于设计中没有scan chain了。

proc disconnectSI {} {

set op [open detach_term.tcl w]

foreach pin [get_db insts .pins.name */SI] {

set inst_name [get_db pin: p i n . i n s t . n a m e ] s e t n e t n a m e [ g e t d b p i n : pin .inst.name] set net_name [get_db pin: pin.inst.name]setnetname[getdbpin:pin .net.name ]

if {$net_name == ""} {continue}

if {[is_common_ui_mode]} {

puts $op "disconnect_pin -inst $inst_name -pin SI -net $net_name"

} else {

puts $op "detachTerm $inst_name SI $net_name"

}

}

close $op

puts "Please source the created file detach_term.tcl"

}

使用方法:

1)source disconnectSI.tcl

2)source detach_term.tcl

其中detach_term.tcl的内容如下所示。

在咱们社区低功耗A55高性能CPU项目powerplan阶段我们为了给tapcell secondary pg pin走线,我们需要将设计中连接到1'b0和1'b1信号断开,否则routePGPinUseSignalRoute会报错。

所以在数字IC后端设计实现过程中我们经常需要见招拆招,规避掉工具没有考虑到的问题。

相关推荐
IC拓荒者2 天前
TSMC12nm工艺数字IC后端实现难点都有哪些?
数字ic后端·数字后端培训·calibre lvs·物理验证lvs·tsmc12nm·t12nm数字后端·double pattern
IC拓荒者4 天前
DDRPHY数字IC后端设计实现系列专题之数字后端floorplan&powerplan设计
数字后端培训·innovus零基础lab·ddrphy后端实现·数字后端项目案例
IC拓荒者5 天前
数字IC后端实现之Innovus specifyCellEdgeSpacing和ICC2 set_placement_spacing_rule的应用
数字ic后端·数字后端培训·calibre drc·drc·innovus零基础入门·innovus drc·物理验证drc
IC拓荒者9 天前
数字IC后端设计实现之Innovus自动修复Min Step DRC Violation方案
数字ic后端·数字后端培训·calibre drc·innovus零基础lab·数字后端innovus·数字后端零基础·min step drc
IC拓荒者10 天前
Innovus Flexible H-tree and Multi-tap Clock Flow Lab实操系列教程(Day1)
数字ic后端·数字后端培训·时钟树综合·innovus零基础入门·flexible htree·clock tree·multi-tap clock
IC拓荒者11 天前
物理验证Calibre LVS | SMIC Process过LVS时VNW和VPW要如何做处理?
lvs·数字ic后端·物理验证·ic后端培训·calibre lvs·vnw vpw·衬底接触
IC拓荒者16 天前
数字后端零基础入门系列 | Innovus零基础LAB学习Day9
数字ic后端·数字后端培训·innovus零基础lab·数字后端innovus·数字后端零基础·后端零基础入门·innovus走线
IC拓荒者16 天前
物理验证Calibre LVS Debug案例之通过deleteEmptyModule解决LVS问题
数字ic后端·数字后端培训·数字后端入门·calibre lvs·empty module·t12nm lvs案例·物理验证lvs
IC拓荒者18 天前
数字IC后端实现之Innovus Place跑完density爆涨案例分析
数字后端·数字后端培训·innovus place·数字后端项目案例·density变高案例·innovus项目·ic后端项目