innovus 增加path group 以及path adjustment 的命令

本文档详细介绍了如何使用Innovus工具进行路径分组和路径调整,包括创建基本路径组,设置路径组选项,以及对特定路径进行路径调整,涉及到的关键路径包括R2M, M2R, M2M, R2CG, R2R和SQ2SI等。" 82145548,1325115,构建赫夫曼树及其编码,"['数据结构', '算法', '赫夫曼编码', '二叉树构建']
摘要由CSDN通过智能技术生成

setMultiCpuUsage -localCpu 8
reset_path_group
createBasicPathGroups -expanded

set SQ [dbget [dbget top.insts.cell.isSequential 1 -p2].name]
set SQP [dbget top.insts.cell.isSequential 1 -p2]
set RE [dbget [dbget top.insts.cell {.isSequential1 &&.baseClass == “core”} -p].name]
set REP [dbget top.insts.cell {.isSequential
1 &&.baseClass == “core”} -p]
set MM [dbget [dbget top.insts.cell {.isSequential1 &&.baseClass == “block”} -p].name]
set MMP [dbget top.insts.cell {.isSequential
1 &&.baseClass == “block”} -p]

group_path -name R2M -from [dbget $REP.instTerms.name */CP] -to [dbget $MMP.instTerms.name /D]
group_path -name M2R -from [dbget $MMP.instTerms.name */CLK] -to [dbget $REP.instTerms.name */D]
group_path -name M2M -from [dbget $MMP.instTerms.name */CLK] -to [dbget $MMP.instTerms.name /D]
group_path -name R2CG -from [dbget $REP.instTerms.name */CP] -to [dbget $REP.instTerms.name */E]
group_path -name R2R -from [dbget $REP.instTerms.name */CP] -to [dbget $REP.instTerms.name */D]

group_path -name SQ2SI -from [dbget $SQP.instTerms.name -regexp /CP|/CLK] -to [dbget $REP.instTerms.name */SI]

setPathGroupOptions R2CG -effortLevel high
setPathGroupOptions R2M -effortLevel high
setPathGroupOptions M2R -effortLevel high
setPathGroupOptions M2M -effortLevel high
setPathGroupOptions R2R -effortLevel high
setPathGroupOptions SQ2SI -effortLevel high

set_path_adjust_group -name PA_R2CG -from [dbget $REP.instTerms.name */CP] -to [dbget $REP.instTerms.name */E]
set_path_adjust_group -name PA_R2M -from [dbget $REP.instTerms.name */CP] -to [dbget $MMP.instTerms.name /D]
set_path_adjust_group -name PA_M2R -from [dbget $MMP.instTerms.name */CLK] -to [dbget $REP.instTerms.name */D]
set_path_adjust_group -name PA_M2M -from [dbget $MMP.instTerms.name */CLK] -to [dbget $MMP.instTerms.name /D]
set_path_adjust_group -name PA_R2R -from [dbget $REP.instTerms.name */CP] -to [dbget $REP.instTerms.name */D]
set_path_adjust_group -name PA_SQ2SI -from [dbget $SQP.instTerms.name -regexp /CP|/CLK] -to [dbget $REP.instTerms.name */SI]

if { [info exists vars(step)] && [regexp place $vars(step)] } {
foreach aa [all_setup_analysis_views] {
set_path_adjust -0.150 -path_adjust_group PA_R2CG -view $aa -setup
set_path_adjust -0.150 -path_adjust_group PA_R2M -view $aa -setup
set_path_adjust -0.150 -path_adjust_group PA_M2R -view $aa -setup
set_path_adjust -0.150 -path_adjust_group PA_R2R -view $aa -setup
}
} else {
foreach aa [all_setup_analysis_views] {
set_path_adjust -0.020 -path_adjust_group PA_R2CG -view $aa -setup
set_path_adjust -0.020 -path_adjust_group PA_R2M -view $aa -setup
set_path_adjust -0.020 -path_adjust_group PA_M2R -view $aa -setup
set_path_adjust -0.020 -path_adjust_group PA_R2R -view $aa -setup
}
}

####################################################

set mmIn [dbGet [dbGet [dbGet top.insts.cell.name SNIRAM* -p2].instTerms.isInput 1 -p1].name]
set mmOut [dbGet [dbGet top.insts.cell.name SNIRAM* -p2].instTerms.name CLK]
set PLI [dbGet top.insts.instTerms.name pipeline/pipeline*/D]
set PLO [dbGet top.insts.instTerms.name pipeline/pipeline*/CP]
set PL [dbGet [dbGet [dbGet top.insts.name pipeline/pipeline* -p].cell.isSequential 1 -p2].name]
set mm [dbGet [dbGet top.insts.cell.name SNIRAM* -p2].name]
set ICG [dbGet [dbGet top.insts.instTerms.name */E -p2].name]

group_path -name R2M -from [get_cell [all_registers ] -f “ref_name !~ RAM”] -to $mmIn
group_path -name M2R -from $mmOut -to [get_cell [all_registers ] -f “ref_name !~ RAM”]
group_path -name M2M -from $mmOut -to $mmIn
group_path -name toPL -from [dbGet top.insts.instTerms.name */CP] -to $PLI
group_path -name fromPL -from P L O − t o [ d b G e t t o p . i n s t s . i n s t T e r m s . n a m e ∗ / D ] g r o u p p a t h − n a m e R 2 C G − f r o m [ d b G e t t o p . i n s t s . i n s t T e r m s . n a m e ∗ / C P ] − t o [ d b G e t t o p . i n s t s . i n s t T e r m s . n a m e ∗ / E ] g r o u p p a t h − n a m e R 2 R − f r o m [ r e m o v e f r o m c o l l e c t i o n [ a l l r e g i s t e r s ] [ g e t c e l l s " PLO -to [dbGet top.insts.instTerms.name */D] group_path -name R2CG -from [dbGet top.insts.instTerms.name */CP] -to [dbGet top.insts.instTerms.name */E] group_path -name R2R -from [remove_from_collection [all_registers] [get_cells " PLOto[dbG

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值