Cadence(Innovus+QRC)
文章平均质量分 52
以cadence innovus工具为主的学习内容
拾陆楼
资深ICer,IC技术圈成员,拾陆楼知识星球与CSDN创作者
展开
-
innovus:reclaimArea优化面积
工具在绕线前后由于线上延迟计算的差异,前后修hold会有一些过修的delay cell可以通过reclaimArea删掉,当然setup余量足够的path也可以通过这个命令进行down size。innovus推荐使用optDesign优化面积,对应需要设置setOptMode -reclaimArea true。在route后可以用-maintainHold选项让工具考虑hold 余量。当然,工具也提供单独的优化命令: reclaimArea。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2024-05-09 14:38:27 · 378 阅读 · 0 评论 -
innovus:手工做tree如何route clock tree
手工长tree调整 clock cell位置后,要进行clock route可以使用route_ccopt_clock_tree_nets命令,但这个时候会报告。只需要简单运行一下ccopt_design -check_prerequisites就行了,这个命令不长tree,只做分析。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2024-04-17 15:31:31 · 318 阅读 · 0 评论 -
innovus:NRDB-2276 special net route layer与NanoRouteMode route layer冲突问题解决方法
NanoRouteMode中设置绕线层次2-6,但是被动到的special net有8-11的preferred route layer,这个层次可能是create_route_type+set_ccopt_property -net_type 定义的。二者绕线层次范围有冲突,导致在调整过这条net后再绕线就会提示失败。然后再下route_design 等route命令去绕别的net。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2024-04-17 15:27:13 · 285 阅读 · 0 评论 -
innovus:postRoute阶段删除冗余的hold buffer
这里的hold buffer不全是post route修hold的结果,也有可能来自post cts阶段,如何删除这些path有timing margin的冗余buffer呢?setOptMode -postRouteAreaReclaim holdAndSetupAware (默认是none,工具不会做area reclaim)在timing signoff阶段会遇到局部因为hold buffer过多密度过高无法进行size cell/insert buffer的情况。原创 2024-04-17 14:54:15 · 337 阅读 · 0 评论 -
innovus:addRepeaterByRule用法
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?addRepeaterByRule不管transition/timing violation,只根据约束的length/cap/fanout等等去给net 插buffer。原创 2024-04-12 09:47:42 · 356 阅读 · 0 评论 -
innovus:add text脚本
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2024-04-02 11:52:52 · 364 阅读 · 0 评论 -
innovus:streamOut gds中pg text带有冒号(:)解决办法
streamOut后查看layout,发现部分PG text后面加了冒号,比如VDD: / VSS:。当然,这个问题还有另一种解决办法,就是通过脚本给terminal打text再streamOut。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2024-04-02 11:21:40 · 406 阅读 · 0 评论 -
innovus:IMPSP_9099 / IMPSP9100问题解析
这个 -place_global_ignore_scan 要设置成false才行,如果不耽误跑就不需要管这个error了,如果跑不下去,建议断开scan 信号的连接。工具检测到网表里用了scan DFF(有Si So pin),而且连接了,但你又没吃scan def,所以要报错。#下面脚本替换一下scan_in pin的名字就行。更多学习内容请关注「拾陆楼」知识星球。原创 2024-03-27 10:22:56 · 433 阅读 · 0 评论 -
innovus:setExtractRCMode -effortLevel
l medium- 调用 Turbo QRC (TQRC) extraction engine。l high- 调用Integrated QRC (IQRC) extraction engine。IQRC有更强的性能和精度,建议在ECO之后使用。l low -调用native detailed extraction engine,与指定-engine postRoute相同。l signoff -调用Standalone Quantus QRC extraction engine。原创 2024-03-27 10:20:11 · 313 阅读 · 0 评论 -
innovus:如何用命令实现多边形floorplan
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2024-03-11 09:32:04 · 575 阅读 · 0 评论 -
innovus:place阶段useful skew的作用
工具在ccopt_design时会使用useful skew去优化时序,这个值可能过于保守,于是在preCTS阶段可以使用如下命令让工具在maxAllowedDelay范围内写一个set_clock_latency的sdc出来。insertion_delay的设置的来源有三个。其中之一就是来自place阶段计算的useful skew(保存在xx.dat/mmmc/views/xx/latency.sdc中的set_clock_latency)我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2024-02-26 09:38:12 · 545 阅读 · 0 评论 -
innovus:insert Power Switch失败,报告not covered by a row问题解析
这个问题就是switch找不到可以放置的row,分析就从两方面入手,一方面从voltage area下手,一方面从row和site入手。检查发现voltage area设置正确,row也存在,只不过lef里缺少对应switch的双倍高的site。更多学习内容请关注「拾陆楼」知识星球。原创 2024-01-11 13:22:43 · 531 阅读 · 0 评论 -
innovus:如何写出switch的连接关系
保存floorplan时,switch的连接关系写不出来,于是搞了一个脚本,用来写出指定instance各signal pin的连接关系。参考下面脚本,这个proc需要你提供instance name,然后会把pin的关系写出来,先addNet再attachTerm。更多学习内容请关注「拾陆楼」知识星球。原创 2024-01-11 13:14:41 · 677 阅读 · 0 评论 -
innovus:setEcoMode -batchMode
innovus工具推荐在下eco command(ecoChangeCell ecoAddRepeater ecoDeleteRepeater)之前使用setEcoMode -batchMode true,因为batchMode模式能批量处理eco command,只需要update timing一次,不然执行大量eco command需要更多run time。需要注意的是在下eco command之后,需要退出batch Mode不然后续refinePlace没办法执行。原创 2024-01-08 09:42:53 · 666 阅读 · 0 评论 -
set_ccopt_property基本用法备忘录(下)
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2024-01-04 13:47:59 · 670 阅读 · 0 评论 -
innovus:Patch Wire(补丁线)
1)选中wire ,shift+A使用Edit Route功能,F3打开edit route对话框。线道Create Patch Wire,设置好层次和宽度。在修补一些min area的drc时,会有一些danling wire的drc冒出来,为了避免这些假错,可以使用工具patch wire功能。2)沿着选中的wire画线即可。如下图,patch wire和regular wire是能看出区别的。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2024-01-04 11:53:29 · 584 阅读 · 0 评论 -
innovus:如何使用Stretch Wire拉伸wire宽度
如题,innovus在拉伸wire时,长度和宽度需要单独控制,既拉伸长度时只能拉长度,拉宽度时也只能拉伸宽度,这时候需要做两个设置,如下图所示。F3打开Edit Route对话框,找到Misc - Stretch/Cut 把Unrestricted Wire Width勾上即可。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?1)打开Stretch Wire Width开关。2)设置Edit Route。原创 2024-01-04 11:25:11 · 485 阅读 · 0 评论 -
innovus:refresh CTS
如果CTS结果不满意,需要重新做CTS,有没有办法不退出工具,重新启动placement阶段的database,重新做CTS吗?我们只需要清除掉驱动单元和clock net上的一些fixed/dontTouch属性就可以直接运行CTS了。# 取消选中net的dontTouch属性。# 取消选中单元的dontTouch属性。# 对选中的net属性设为unknown。# 清除clock tree上的驱动单元。# 清除已经选中的信息。# 清除已经选中的信息。# 清除已经选中的信息。# 选中所有驱动单元。原创 2023-12-29 14:16:41 · 509 阅读 · 0 评论 -
innovus:ccopt_design -check_prerequisites
ccopt_design -check_prerequisitessites类似与ICC2的report_clock_setting命令,可以报告clock tree需要用到的clock cell list/target 约束等等,详细内容可以通过解读log获取以下几方面信息。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-12-27 08:51:47 · 410 阅读 · 0 评论 -
innovus:addInst用法
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-12-26 15:46:25 · 550 阅读 · 0 评论 -
innovus:floorplan阶段插spare cell利用率大于1的问题分析(IMPSP-5526)
这是由于使用了placeSpareModule -uti -stepx -stepy 命令,导致插的太多利用率爆掉了,这个方法好处是插的均匀,坏处是不容易预估利用率,其他加spare的方法可以看上面文章链接。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-12-22 17:50:58 · 450 阅读 · 0 评论 -
如何控制mem/ip出pin在pin的正中间
原理是提供pin boundary,在pin shape周围加routing blockage,限制工具只能在正中间出pin走线。无论是ICC2还是innovus都不提供这样的功能,如果有这样的要求就需要通过脚本实现,这里提供一个参考脚本。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-12-21 09:55:58 · 887 阅读 · 0 评论 -
innovus:saveNetlist写LVS网表
std cell / mem等cell仅保留端口信息,其实本来也只有端口,内部信息还是要merge cdl(spice网表),这样能压缩网表大小。这里的$CapCell指的是Decap这种有MOS管的Physical Only Cell。inculde power ground为了写出pg pin,尤其是衬底。#删除空module,防止lvs时source有但layout找不到对应期间。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-12-19 10:17:48 · 812 阅读 · 0 评论 -
innovus:ecoPlace/ecoRoute如何节省run time
工具在做ecoPlace/ecoRoute时时间总是很长,下面推荐一些option可以节省run time,简单来说不需要工具在eco是考虑时序等问题。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-12-19 10:05:37 · 549 阅读 · 1 评论 -
innovus:generateRCFactor对比第三方spef方法
preroute/postroute以及signoff工具之间rc factor直接影响,各阶段时序与最终signoff工具之间的差别。以starrc+PT为signoff工具,innovus需要用generateRCFactor命令产生对应阶段的rc factor。这里的corner_name需要对应innovus里的rc corner,可以通过get_rc_corner获得。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-12-14 15:22:25 · 889 阅读 · 0 评论 -
innovus:ccopt_design流程
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?spec文件可以只创建一次,无需多次创建。2)virtual balance阶段。3)Full Balancing阶段。4)Clock Routing阶段。1)clustering阶段。原创 2023-12-14 13:55:32 · 546 阅读 · 0 评论 -
innovus:如何加spare cell
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?加spare cell有两种方式,一种是在网表中定义spare module,一种是pr中create spare module。原创 2023-12-01 11:55:10 · 1574 阅读 · 0 评论 -
innovus如何检查missing via
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-11-30 13:48:39 · 152 阅读 · 0 评论 -
ICC2/innovus设置no 1x gap的方法
X,Y之间的距离1是不允许的,所以要么是0,要么大于等于2。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-11-29 09:54:46 · 161 阅读 · 0 评论 -
innovus/ICC2关闭timing driven减少runtime
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?再做eco flow时,我们只需要读eco脚本,legalize和eco route,并不需要做时序优化,也就不需要timing driven去干涉绕线,关闭timing driven即可减少runtime。原创 2023-11-28 09:50:03 · 159 阅读 · 0 评论 -
innovus如何在floorplan view显示所有module
如题,innovus的图形界面在floorplan view下默认只能显示instance数量超过100个的module,如果要显示更小的module,需要在VIEW-Set Perference改一下Min.Floorplan Module Size选项。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-11-27 22:07:12 · 306 阅读 · 0 评论 -
ICC2/innovus merge gds
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-11-15 15:44:17 · 264 阅读 · 0 评论 -
Techgen ict 转 qrcTechFile问题整理
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-11-14 16:41:00 · 558 阅读 · 0 评论 -
innovus/ICC2:实际绕线层次有低于routing rule min layer的情况如何解决?
这是因为routing rule的min layer是soft rule,如果希望min layer严格按照设置的来,还需要手动添加如下命令:原创 2023-11-10 16:36:49 · 262 阅读 · 0 评论 -
innovus:set_ccopt_property基本用法备忘录(中)
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-11-09 14:53:51 · 1897 阅读 · 0 评论 -
innovus:解决报告复制时一行拆成两行的问题
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-11-08 11:55:58 · 125 阅读 · 0 评论 -
innovus: set_ccopt_property的基本用法(上)
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-11-01 10:53:42 · 1797 阅读 · 0 评论 -
innovus: 如何写出floorplan和power信息
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-10-31 14:21:48 · 364 阅读 · 0 评论 -
innovus:命令返回列表元素超过显示上限如何解决
set timing_collection_result_display_linit -1 (-1就是返回全部值,只是要返回更多元素,这里设置上限值即可)我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-10-31 11:13:30 · 144 阅读 · 0 评论 -
innovus/ICC2:ndr rule如何设置
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?原创 2023-10-31 10:47:57 · 372 阅读 · 0 评论