New ccoptDesign command • Basic User Support − Run export+CCOpt+import operation with one command − Supports MMMC and MSV − New setCCOptMode command for basic settings • Except clock NDRs which are picked up from setCTSMode
− No translation of clockTreeSpec settings (target USR1)
• Advanced User Support − Export design files and script: ccoptDesign -genScriptOnly script.tcl − Run CCOpt from a script: ccoptDesign -runScript script.tcl − Import post-CCOpt database: ccoptDesign -import mydesign.azdb 10
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
• Critical chain = max (delay / stage)
slack 13
11
9 Delay
19
11+9+19+8+13
=
Stage
8
• Contains longest delay (19) • Would traditionally be critical path • (delay / stage) = 12
= 12
5
traditional critical path CCOpt critical chain
11
15
Example Chain 1
Example Chain 2 • Individual delays all < 19 • But (delay / stage) = 14
The Three Phases of CCOpt Goal: seed design for the main optimization loop
Preconditioning
• • •
Flip design into propagated mode Build initial balanced clock tree Basic "global" sizing only
Goal: search for the “best solution”
Optimization
• • • •
Combine clock scheduling and datapath optimization Schedules the clock tree using virtual delays Periodically improves placement, rebuilds clocks Later iterations make smaller placement and clock changes
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.