0% found this document useful (0 votes)
29 views2 pages

CTS

This document sets various parameters for clock tree synthesis (CTS) such as maximum transition, skew, and fanout and then runs CTS multiple times while varying these parameters. It saves the results and reports including timing reports for each run.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views2 pages

CTS

This document sets various parameters for clock tree synthesis (CTS) such as maximum transition, skew, and fanout and then runs CTS multiple times while varying these parameters. It saves the results and reports including timing reports for each run.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

set max_trans 0.

050
set max_skew 0.1
set max_fanout 50

set_analysis_view -setup {ana1} -hold {ana1}


setAnalysisMode -analysisType onChipVariation -cppr both -checkType setup

cleanupSpecifyClockTree

add_ndr -name default_2x_space -spacing {metal1 0.38 metal2:metal5 0.42 metal6


0.84}

create_route_type -name leaf_rule -non_default_rule default_2x_space -


top_preferred_layer metal4 -bottom_preferred_layer metal2
create_route_type -name trunk_rule -non_default_rule default_2x_space -
top_preferred_layer metal4 -bottom_preferred_layer metal2 -shield_net VSS -
shield_side both_side
create_route_type -name top_rule -non_default_rule default_2x_space -
top_preferred_layer metal4 -bottom_preferred_layer metal2 -shield_net VSS -
shield_side both_side

set_ccopt_property route_type -net_type leaf leaf_rule


set_ccopt_property route_type -net_type trunk trunk_rule
set_ccopt_property route_type -net_type top top_rule

setDesignMode -process 40
set_ccopt_property buffer_cells {BUF_X1 BUF_X2 BUF_X4 BUF_X8 BUF_X16 CLKBUF_X1
CLKBUF_X2}
set_ccopt_property inverter_cells {INV_X1 INV_X2 INV_X4 INV_X8 INV_X16}
for {set a 0} {$a < 2} {incr a} {
for {set b 0} {$b < 2} {incr b} {
for {set c 0} {$c < 2} {incr c} {
set_ccopt_property target_max_trans $max_trans
set_ccopt_property target_skew $max_skew
set_ccopt_property max_fanout $max_fanout
set_ccopt_property update_io_latency 0

create_ccopt_clock_tree_spec -views {ana1} -file


Rocket2.0/rocket/do_pr/results/ctsSpec_results$max_trans$max_skew$max_fanout.tcl
source
Rocket2.0/rocket/do_pr/results/ctsSpec_results$max_trans$max_skew$max_fanout.tcl

ccopt_design

set step "cts"


set rpt_dir
"Rocket2.0/rocket/do_pr/reports/Rocket_design/$step/max_trans_$max_trans/
max_skew_$max_skew/max_fanout_$max_fanout"
timeDesign -postCTS -numPaths 10 -outDir $rpt_dir -prefix $step
timeDesign -postCTS -hold -numPaths 10 -outDir $rpt_dir -prefix $step
report_ccopt_clock_trees -file $rpt_dir/clock_trees.rpt
report_ccopt_skew_groups -file $rpt_dir/skew_groups.rpt
report_timing > $rpt_dir/timing_report_postCCopt.rpt

saveDesign
Rocket2.0/rocket/do_pr/results/Rocket_design/$step/cts_tsf_$max_trans$max_skew$max_
fanout.enc
set max_fanout [expr {$max_fanout + 50}]
}
set max_fanout 50
set max_skew [expr {$max_skew + 0.1}]
}
set max_skew 0.1
set max_trans [expr {$max_trans + 0.050}]
}

You might also like