innovus中path group 的策略和应用(下)

本文探讨了INVS中BPG(基本pathgroup)和PG(pathgroup)在数据库中的表现、异同,以及如何影响timeDesign和report_timing。BPG默认使用,而PG可通过group_path调整。文章揭示了EP展开现象和如何通过设置操作验证理论。BPG和PG的兼容性及对优化的影响也进行了深入分析。

BPG(basic path group)和PG(path group)的异同

INVS默认使用了BPG,但是基于SDC理论下PG(path group)也是天然存在,两者在数据库里边有各自存在的方式,也可以共融共生中,通过其中的异同,看到INVS的一些有趣的处理。
在这里插入图片描述

BPG (basic path group)timeDesign报告简析

如果用户没有在SDC里边使用任何的group_path命令,INVS默认就会是使用BGP进行分组(PS:这点和S家的有区别)。
用户在导入数据库后,通过timeDesign就可以看到类似下面的分组关系:
img

【图1】timeDesign summary
这个分组表达了BGP的基本理念,但是注意,这里的数量有些许差异:
 (default – reg2reg – reg2cgate) - all = (125024+787+479) - 125882 = 408

所有BGP的path总量竟然要比all 要多!
这个是因为:all 是基于EP的path核算,一个EP点就对应1,如果某个EP有路径展开,譬如: FF1 -> FF0 和 INPUT -> FF0 ,这样在default里边就会再出现以FF0为EP的path。这里称为:EP展开

为了验证这个理论,尝试做一下IO的set_false_path操作,然后再用timeDesign

Innovus中,有多种highlight path的方法: - 使用`highlight_timing_report`命令,可直接高亮指定的timing path。当到同一个endpoint的path可能有很多条时,支持通过`-path`参数输入多条路径编号,例如高亮第1条路径可使用`highlight_timing_report -path 1` [^1]。还可以结合其他参数,如`-file`指定报告文件,`-noarrow`不显示箭头,`-color_index`指定高亮颜色,如`highlight_timing_report -file current.mtarpt -path 1 -noarrow -color_index 5`可高亮时序路径序号1的路径,颜色参数5代表绿色 [^2]。 - 自定义过程`pehl`来实现高亮路径功能。该过程可根据不同的起点、终点、中间点、路径组等条件生成时序报告,并高亮指定路径。代码如下: ```tcl proc pehl {args} { set ops(-from) "" set ops(-to) "" set ops(-through) "" set ops(-group) "" set ops(-unconstrained) "" parse_proc_arguments -args $args ops set cmd "" foreach op [array names ops] { if {$ops($op)!="" && $op !="-unconstrained"} { set cmd [concat $cmd "$op $ops($op)"] } } if {$ops(-unconstrained)==1} { eval "report_timing $cmd -unconstrained -output_format gtd > ./tmp.mtarpt" } else { eval "report_timing $cmd -output_format gtd > ./tmp.mtarpt" } read_timing_debug_report ./tmp.mtarpt gui_gtd_highlight_timing_report -append -in_file ./tmp.mtarpt -paths 1 } define_proc_arguments pehl \ -info "## Z timing debug highlight" \ -define_args { {-from "startpoint" "" string optional} {-to "endpoint" "" string optional} {-through "through middle point" "" string optional} {-group "path group" "" string optional} {-unconstrained "uncons" "" boolean optional} } ``` 使用时可根据需求调用`pehl`过程并传入相应参数 [^3]。 - 若要高亮时钟树路径,先使用`ctd_win`打开Clock Tree Debugger (CTD) window,然后使用`report_timing -from $start -to $end -gui`命令,工具会打开Timing Debug window进行高亮显示 [^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值