在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6990|回复: 5

[求助] innovus place不了

[复制链接]
发表于 2020-11-15 13:21:21 | 显示全部楼层 |阅读模式
3000资产
innovus一跑place就出错,大家有谁碰到过?
IMG_E7998.JPG

最佳答案

查看完整内容

虽然楼主高亮的这一行看起来也比较可疑,但是主要原因仍然大概率是缺失scan chain引起的。 以cadence的官方解释来说,从innovus 18以前,如果没有scandef的话二楼的方法即起设置setPlaceMode -place_global_ignore_scan false 应该是管用的;但我看log应该是innovus 19,因为在在innovus 18版本以后,即使设上这个option应该还是会有下面的error: **ERROR: (IMPSP-9100): Scan chains exist in this design but are not defined ...
发表于 2020-11-15 13:21:22 | 显示全部楼层
虽然楼主高亮的这一行看起来也比较可疑,但是主要原因仍然大概率是缺失scan chain引起的。
以cadence的官方解释来说,从innovus 18以前,如果没有scandef的话二楼的方法即起设置setPlaceMode -place_global_ignore_scan false 应该是管用的;但我看log应该是innovus 19,因为在在innovus 18版本以后,即使设上这个option应该还是会有下面的error:
**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.

官方推荐要手动把SI的连接断掉才行,而且cadence也给出了示例脚本,剩下的说明就比较容易理解了,楼主可以试试。
##############
proc disconnectSI {} {
  set op [open detach_term.tcl w]
  foreach inst_ptr [dbGet top.insts.instTerms.name */scan_in -p] {
    set inst_name [dbGet $inst_ptr.inst.name]
    set net_name [dbGet $inst_ptr.net.name]
    if {$net_name == "0x0"} {continue}
    puts $op "detachTerm $inst_name sin $net_name"  
  }
  close $op
  puts "Please source the created file detach_term.tcl"
}
##############

Usage:
You will need to replace the scan pin names in the script (highlighted in red above) with the pin names for the cells in your design. eg., SI, scan_in, sin, scin etc.
After the changes are done as per step (1), source the above proc at Innovus prompt
Run disconnectSI
This will create a file detach_term.tcl which contains commands to detach the scan pins
Source this file at Innovus prompt using "source detach_term.tcl"
After this place_opt_design should be able to continue without any issue
发表于 2020-11-15 13:46:14 | 显示全部楼层
本帖最后由 jake 于 2020-11-14 23:48 编辑

在前面加一句 defIn your_synthesis_scan.DEF, 这个 scan def 是综合导出的。 如果没有 scan def, setPlaceMode -place_global_reorder_scan false
 楼主| 发表于 2020-11-16 09:09:07 | 显示全部楼层
本帖最后由 ime 于 2020-11-17 11:17 编辑


阎浮提 发表于 2020-11-15 21:56
虽然楼主高亮的这一行看起来也比较可疑,但是主要原因仍然大概率是缺失scan chain引起的。
以cadence的官方 ...


0)以前跑老工艺(>28nm, <invs16),从来不reorder scan,不吃scan def。工具即使报error,warning也不会影响后面的run。
1)这次换新版本(invs18/19/20) 跑新工艺,debug了一周多时间,无论-place_global_reorder_scan/-place_global_ignore_scan如何设置,place都会停掉。
2)我压根没有怀疑过SI,使用Cadence的脚本断掉了SI,的确能跑place,谢谢!
3)后续补上ScanDEF, 确认可以跑

发表于 2020-11-16 19:05:34 | 显示全部楼层
place_design之前吃一下scan.def
发表于 2021-12-9 14:17:10 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 21:34 , Processed in 0.019632 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表