数字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后端设计实现过程中我们经常需要见招拆招,规避掉工具没有考虑到的问题。

相关推荐
杰出的胡兵11 天前
景芯SOC设计实战
面试·职场和发展·soc·芯片·数字后端·数字ic后端·芯片设计全流程培训
IC拓荒者1 个月前
数字IC后端设计实现十大精华主题分享
数字ic后端·数字后端培训·calibre lvs·clock tree·clock gating时序·innovus案例
IC拓荒者1 个月前
芯片Tapeout power signoff 之IR Drop Redhawk Ploc文件格式及其意义
数字后端培训·ic后端培训·innovus零基础·io ring·pad ring·redhawk·ir drop
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 个月前
数字IC后端设计实现之分段长clock tree经典案例
occ·时钟产生电路·ic后端培训·时钟树综合·clock tree·innovus零基础·分段长clock tree
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