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 {.isSequential1 &&.baseClass == “core”} -p]
set MM [dbget [dbget top.insts.cell {.isSequential1 &&.baseClass == “block”} -p].name]
set MMP [dbget top.insts.cell {.isSequential1 &&.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 " PLO−to[dbG