EDI132 Ccopt Labs
EDI132 Ccopt Labs
EDI132 Ccopt Labs
(CCOpt)
Rapid Adoption Kit (RAK)
Cadence Trademarks
Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained in this document are attributed to Cadence with
the appropriate symbol. For queries regarding Cadence trademarks, contact the corporate legal department at the address above or call
800.862.4522.
Other Trademarks
Open SystemC, Open SystemC Initiative, OSCI, SystemC, and SystemC Initiative are trademarks or registered trademarks of Open
SystemC Initiative, Inc. in the United States and other countries and are used with permission.
All other trademarks are the property of their respective holders.
Confidentiality Notice
No part of this publication may be reproduced in whole or in part by any means (including photocopying or storage in an information
storage/retrieval system) or transmitted in any form or by any means without prior written permission from Cadence Design Systems,
Inc. (Cadence).
Information in this document is subject to change without notice and does not represent a commitment on the part of Cadence. The
information contained herein is the proprietary and confidential information of Cadence or its licensors, and is supplied subject to, and
may be used only by Cadence customers in accordance with a written agreement between Cadence and its customers. Except as may
be explicitly set forth in such agreement, Cadence does not make, and expressly disclaims, any representations or warranties as to the
completeness, accuracy or usefulness of the information contained in this document. Cadence does not warrant that use of such
information will not infringe any third party rights, nor does Cadence assume any liability for damages or costs of any kind that may
result from use of such information.
RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by the Government is subject to restrictions as set forth in
subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013.
UNPUBLISHED This document contains unpublished confidential information and is not to be disclosed or used except as authorized
by written contract with Cadence. Rights reserved under the copyright laws of the United States.
There are three main clocks in this design (test_clk, my_clk and div_clk) as defined by the
following SDCs:
2. Extract the RAK database and change directory to the work directory:
linux% encounter
5. Load in the starting design by running the following in the EDI System console:
source DATA/prects.enc
The configuration settings for this lab are all contained in the file config.tcl.
source SCRIPTS/config.tcl
Because CCOpt is timing-driven, you need to configure CCOpt to use post-CTS timing.
That is, you need to configure CCOpt to use post-CTS SDC files, timing derates, and
CPPR settings. This post-CTS timing configuration change needs to be done before
running CCOpt.
There are a number of CCOpt control settings you will need to configure to specify the
buffers, inverters and clock gating cells to use:
In order to route clock trees correctly, you will need to configure NanoRoute settings. Of
particular interest is the setNanoRouteMode -
drouteUseMultiCutViaEffort [high|low] command, since CCOpt uses this
to predict whether NanoRoute will use double vias (high) or single (low).
The CTS configuration settings in config.tcl specify preferred layer routing controls and
tell EDI System to route clock nets using the CTS-generated route guide file:
CCOpt will analyze the SDC constraints and the design logic to define the clock tree
specifications and respective properties.
2. Open the ccopt.spec file and review its contents. Close the file once you’re done.
1. Run CCOpt using method 2 since you generated the spec file in the previous section:
source ccopt.spec
ccopt_design
When CCOpt completes review the timing summary to evaluate the overall timing
results.
saveDesign DBS/postcts.enc
With the log file open search for the following sections:
Section Description
Initial Summary Initial timing before optimization
Skew group insertion delays Insertion delay for each skew group
Clock DAG stats at end of CTS Count and area of cells used in initial clock
tree
Clock DAG capacitances at end Wire and Gate capacitance of initial clock
of CTS tree
Guided max path lengths Breakdown of route guide lengths
Deviation of routing from Shows how actual routing deviates from
guided max path lengths route guides
Top 10 notable deviations of Specific nets whose length deviates most
routed length from guided from their route guides
length
GigaOpt + CCOpt summary WNS, TNS and runtime summary of
information GigaOpt + CCOpt optimization
optDesign Final Summary Final timing results including WNS, TNS,
and DRV information
Skew groups specify which sinks should be balanced together (balancing of clock trees
and balancing between clock trees).
report_ccopt_skew_groups
• Skew Group Structure – Info on number of sources and sinks for each skew
group.
• Skew Group Summary – Insertion Delay (ID) and skew information for each
skew group respective to each delay corner.
• Skew Group Min/Max path pins – End points with minimum and maximum
insertion delay for each skew group respective to each delay corner. Followed
by the detailed path information.
2. Run report_ccopt_clock_trees to report the slew, area and buffer count for
each clock tree:
report_ccopt_clock_trees
report_ccopt_worst_chain
Following are the basics to navigate the GUI. These are the same as the EDI System GUI.
The Key Panel provides a key showing what the colors represent. The Key Panel
contents will vary depending on the type of data that is colored.
2. Display the Key Panel by selecting View – Key Panel or by selecting the Key tab in
the upper left corner.
3. Select the checkbox next to Visibility – Cell type – Clock sink to disable the
coloring of all clock sinks.
4. Select Color by – Transition Time to color the clock tree based on transition time
arrival at each cell.
Observe the Key Panel changes to show a gradient of colors representing the
transition times. You can hover over an instance to see its transition time and confirm
its color corresponds to the color in the Key Panel.
5. Select an instance or net in the debugger and observe its selection in the EDI GUI.
The Control Panel combines the functionality of the Visibility and Color by menus into
a single form.
6. Select View – Control Panel or click the Control tab in the upper right to open the
Control Panel.
8. Select the radio button next to Clock tree. Notice nothing is colored because for
clock trees you specify the desired color for each tree.
Observe div_clk is now colored (You may need to zoom out to see the entire tree). Do
the same for my_clk and test_clk.
Timing windows show the target delays that the CCOpt algorithm is aiming for as a
range.
10. Select the checkbox next to Timing windows in the Control Panel
11. Unselect the checkbox next to Timing windows in the Control Panel.
12. Select No Color in the Control Panel in preparation for the next steps.
The Clock Path Browser displays the clock path data in a table and provides the option
for bringing up a clock path analyzer either from its context menu or by double-clicking
on a row in the table.
13. In the Browser minimize the Analysis Views except for slow_max:setup:late by
clicking the ‘-‘ sign.
The Path Browser allows you to see the detailed path delays for the min and max paths.
18. Select on an instance in the path and observe it is highlighted in the display.