You are on page 1of 11

CTS Lab 4 Multi-corner balancing

Timing corners
Each timing corner has two half-corners:
Early : setup capture, hold launch
Late : setup launch, hold capture
Corresponds to late early in some SDC commands

CTS primary half-corner


Typically the late half of the first defined setup corner
Used for clustering and initial balancing analysis

All half-corners
Considered for skew fixing i.e. detailed buffer size, place
adjustment to close on skew targets

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Configuration script example 1/3


(No need to run this in the lab)
log_on
db_restore
../CTSLAB1/SAMPLE/crypto_dma_raid_pse_top.pre.azdb
# Spread cells out to improve routability
set_option cts_cell_density 0.5
# Tighten global slew target. Actually this is probably not
required as cts_compute_fastest_drivers_
and_slews_for_clustering has picked 75ps.
set_option cts_target_slew 0.080
set_option cts_target_nonleaf_slew 0.080
# Enable multi-corner balancing
config_icts -skew global_multicorner -cg_opt off *
3

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Configuration script example 2/3


# Set the primary half corner skew target and set target for
hold corner.
foreach sg [get_skew_groups *] {
set_property cts.target.skew.max:setup.early $sg ignore
set_property cts.target.skew.max:setup.late $sg 0.090
set_property cts.target.skew.min:hold.early $sg 0.050
set_property cts.target.skew.min:hold.late $sg ignore
}

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Configuration script example 3/3


# --- Advanced options --# Compute fastest buffer size and slew for use over all corners
set_option cts_compute_fastest_drivers_and_slews_for_clustering
multi_corner
# Do not permit large wire delay variations skews on individual
nets
set_option
cts_clustering_net_skew_limit_as_proportion_of_skew_target 0.5
# Spread cells out instead of lumping them together
set_option cts_add_wire_delay_in_detailed_balancer true
# Always place cells in the centre of their fanout bounding box
(helps reduce wire delay variations in individual clusters)
set_option cts_put_driver_in_centre_of_fanout_bounding_box true

# Run CTS (no datapath optimization)


icts -timing ignore

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

These settings
typically required on
harder 28nm
designs.

Preparation
Start CCOpt session and load visualization files:
hostname$ cd CTSLAB4
hostname$ ccopt
ccopt% load_visualization SAMPLE/sc_skew.viz.gz
ccopt% load_visualization SAMPLE/mc_skew.viz.gz
Sample report files:
SAMPLE/sc_skew.rpt
SAMPLE/mc_skew.rpt

SAMPLE/sc_trees.rpt
SAMPLE/mc_trees.rpt
SAMPLE/mc_full.log

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Activities
Examine the multi-corner CTS log, examples:
Clock tree balancer configuration for
skew_group:clk_fast/func_mode ...
Skew group summary at end of CTS ...

Examine and compare the single corner and multi-corner


reports and skew visualizations
SAMPLE/*.rpt, SAMPLE/*.viz.gz
Note the insertion delay histogram in SAMPLE/mc_skew.rpt
(generated with report_skew_groups -histograms)

Change timing corner and half-corner using controls at top


right of the skew visualization

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Insertion delay variation visualization

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Insertion delay variation visualization

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

Summary
Multi-corner balancing configuration
Insertion delay variation in skew clock tree visualization
Default AZTCL script written by ccoptDesign cts
configures for multi-corner balancing
CTS automatically infers skew targets for corners which are not set

Only applicable to plain CTS


With CCOpt objective is not to balance but to meet multi-corner
multi-mode timing constraints

More advanced options can improve multi-corner


robustness
Deal with scaling mismatch between wire and cell delays
Deployable both in full CCOpt and plain CTS
Although options shown in earlier script this is beyond scope of this
training
R&D activities
10

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

11

2013 Cadence Design Systems, Inc. Cadence confidential. Internal use only.

You might also like