Edi11 Ccopt Slides
Edi11 Ccopt Slides
Edi11 Ccopt Slides
Design
Infrastructure
What is CCOpt?
CCOpt Overview
Netlist
Place
Up to 10% increase in
frequency
Pre-CTS Optimization
CCOpt
Post-CTS Optimization
(optional)
Route
Post-Route Optimization
Accelerated timing
closure
Final Layout
CCOpt combines useful skew CTS and post-CTS opt in one step
clock
C
G
logic
Ideal clocks
G < T skew
4
Skew
balance
L = C skew
Propagated Clocks
G < T (L C)
Pi-1
Pi
Pi+1
Gi
Gi+1
logic
logic
Pi-1
Pi+1
Gi
Gi+1
logic
logic
Pi
Logic Opt
Pi-1
Pi
Pi-1 + Gi T
Gi
Pi+1
Gi+1
logic
logic
T + Pi+1 Gi+1
Pi-1 + Gi T
7
<
Pi
Logic Opt
CTS
Pi-1
Pi
Pi-1 + Gi T
Gi
Pi+1
Gi+1
logic
logic
T + Pi+1 Gi+1
Logic Opt
Concurrent
Pi-1 + Gi T
8
<
Pi
CTS
Design
Infrastructure
Integration Architecture
Verilog
netlist
placeDesign
optDesign -preCTS
ccoptDesign
routeDesign
optDesign -postRoute
GDSII
11
Integration Architecture
Verilog
netlist
placeDesign
optDesign -preCTS
ccoptDesign
routeDesign
optDesign -postRoute
GDSII
12
Verilog
netlist
Placed
DEF
SDC
CCOpt
TCL
Verilog
netlist
ECO
DEF
SDC
CPF
Integration Architecture
.lib
Verilog
netlist
Cap
Table
LEF
generateATF
placeDesign
ATF
optDesign -preCTS
ccoptDesign
routeDesign
optDesign -postRoute
GDSII
13
Verilog
netlist
Placed
DEF
SDC
CCOpt
TCL
Verilog
netlist
ECO
DEF
SDC
CPF
Design
Infrastructure
Logic Chains
14
CCOpt Technology
Traditional Physical
Optimization
Clock Concurrent
Optimization
clock
clock
skew
Gmax
Gmax
fixed
fixed
L+ Gmax < T + C
variable
variable
fixed
More degrees
of
freedom
variable
?
slack
clock
clock
16
Critical Chains
Speed is not limited by critical path.
CCOpt can move slack.
Optimize non-critical paths on the
critical chain to create spare slack.
Critical chain is focus in CCOpt.
critical path
slack
13
11
9
Delay
19
11+9+19+8+13
Stage
= 12
11
15
Example Chain 1
Example Chain 2
Individual delays all < 19
But (delay / stage) = 14
16
Delay
Stage
17
15+16+11
= 14
3
2012 Cadence Design Systems. All rights reserved.
Design
Infrastructure
18
Preconditioning
Optimization
Final Implementation
19
Phase 1: Preconditioning
CLK
CG
Phase 2: Optimization
CLK
CG
CG
21
CG
CG
22
(C-Pre)
ccopt Preconditioning...
(C-Opt)
ccopt Optimization...
hyperspace round
full clock tree
rebuilding
(C-L1H)
(C-L2N)
(C-L3L)
(C-Imp)
23
normal round
partial clock tree
rebuilding
legalized round
Even less clock tree
rebuilding + full
datapath legalization
Design
Infrastructure
CCOpt Commands
24
CCOpt Commands
ccoptDesign
Run optimization.
Covered earlier in this presentation.
setCCOptMode
Perform configuration (clock tree/CCOpt algorithm).
More details on later slide.
getCCoptMode
Retrieve configuration settings.
Same options as setCCoptMode.
generateCCOptRCFactor
Compute resistance and capacitance multipliers.
25
26
setNanoRouteMode
In general
drouteUseMultiCutViaEffort
setCTSMode
routeClkNet
routeGuide
routeNonDefaultRule
routeLeafNonDefaultRule
routeShielding
routeLeafShielding
routeBottomPreferredLayer
routeTopPreferredLayer
routeLeafBottomPreferredLater
routeLeafTopPreferredLayer
routePreferredExtraSpace
routeLeafPreferredExtraSpace
Specifies whether additional space (beyond nondefault rule spacing) is used for clock routing