icc user guide.pdf - IC Compiler Implementation User Guide Version D-2010.03 March 2010 Copyright Notice and Proprietary Information Copyright \u00a9 2010

icc user guide.pdf - IC Compiler Implementation User Guide...

This preview shows page 1 out of 910 pages.

You've reached the end of your free preview.

Want to read all 910 pages?

Unformatted text preview: IC Compiler Implementation User Guide Version D-2010.03, March 2010 Copyright Notice and Proprietary Information Copyright © 2010 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or copied only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced, transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written permission of Synopsys, Inc., or as expressly provided by the license agreement. Right to Copy Documentation The license agreement with Synopsys permits licensee to make copies of the documentation for its internal use only. Each copy shall include all copyrights, trademarks, service marks, and proprietary rights notices, if any. Licensee must assign sequential numbers to all copies. These copies shall contain the following legend on the cover page: “This document is duplicated with the permission of Synopsys, Inc., for the exclusive use of __________________________________________ and its employees. This is copy number __________.” Destination Control Statement All technical data contained in this publication is subject to the export control laws of the United States of America. Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to determine the applicable regulations and to comply with them. Disclaimer SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Registered Trademarks (®) Synopsys, AMPS, Astro, Behavior Extracting Synthesis Technology, Cadabra, CATS, Certify, CHIPit, Design Compiler, DesignWare, Formality, HDL Analyst, HSIM, HSPICE, Identify, Leda, MAST, ModelTools, NanoSim, OpenVera, PathMill, Physical Compiler, PrimeTime, SCOPE, Simply Better Results, SiVL, SNUG, SolvNet, Syndicated, Synplicity, Synplify, Synplify Pro, Synthesis Constraints Optimization Environment, TetraMAX, the Synplicity logo, UMRBus, VCS, Vera, and YIELDirector are registered trademarks of Synopsys, Inc. Trademarks (™) AFGen, Apollo, Astro-Rail, Astro-Xtalk, Aurora, AvanWaves, BEST, Columbia, Columbia-CE, Confirma, Cosmos, CosmosLE, CosmosScope, CRITIC, CustomExplorer, CustomSim, DC Expert, DC Professional, DC Ultra, Design Analyzer, Design Vision, DesignerHDL, DesignPower, DFTMAX, Direct Silicon Access, Discovery, Eclypse, Encore, EPIC, Galaxy, Galaxy Custom Designer, HANEX, HAPS, HapsTrak, HDL Compiler, Hercules, Hierarchical Optimization plus Technology, High-performance ASIC Prototyping System, HSIM , i-Virtual Stepper, IICE, in-Sync, iN-Tandem, Jupiter, Jupiter-DP, JupiterXT, JupiterXT-ASIC, Liberty, Libra-Passport, Library Compiler, Magellan, Mars, Mars-Rail, Mars-Xtalk, Milkyway, ModelSource, Module Compiler, MultiPoint, Physical Analyst, Planet, Planet-PL, Polaris, Power Compiler, Raphael, Saturn, Scirocco, Scirocco-i, Star-RCXT, Star-SimXT, StarRC, System Compiler, System Designer, Taurus, TotalRecall, TSUPREM-4, VCS Express, VCSi, VHDL Compiler, VirSim, and VMC are trademarks of Synopsys, Inc. Service Marks (SM) MAP-in, SVP Café, and TAP-in are service marks of Synopsys, Inc. SystemC is a trademark of the Open SystemC Initiative and is used under license. ARM and AMBA are registered trademarks of ARM Limited. Saber is a registered trademark of SabreMark Limited Partnership and is used under license. All other product or company names may be trademarks of their respective owners. IC Compiler Implementation User Guide, version D-2010.03 ii Contents What’s New in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii About This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii Customer Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Part I: 1. 2. IC Compiler Implementation Flow Introduction to IC Compiler Supported Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 IC Compiler Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 User Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Methodology Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Speeding Up the Basic Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 1-8 Working With IC Compiler Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Starting IC Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering icc_shell Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Choosing Menu Commands in GUI Windows . . . . . . . . . . . . . . . . . . . . . . . . . . Interrupting or Terminating Command Processing . . . . . . . . . . . . . . . . . . . . . . Opening and Closing the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Tcl Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Setup Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exiting IC Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 2-2 2-4 2-5 2-7 2-7 2-8 2-9 2-10 iii IC IC Compiler Compiler Implementation Implementation User User Guide Guide Version D-2010.03 D-2010.03 Getting Help in IC Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Getting Help on the Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Finding Menu Commands and Dialog Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing Man Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying the List of Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Searching for Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring the Help Browser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 2-11 2-12 2-14 2-14 2-15 2-16 2-17 Working With the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using GUI Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Panels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working in the Main Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working With the Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing the Session Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing the History View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Previewing icc_shell Commands in Dialog Boxes . . . . . . . . . . . . . . . . . . . Viewing the Physical Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Current Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Primary Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting GUI Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 2-18 2-19 2-20 2-20 2-21 2-22 2-23 2-24 2-25 2-27 2-28 2-29 2-30 2-31 2-31 Reading and Saving Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reading a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Current Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving Design Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Closing Designs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving or Discarding Design Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32 2-33 2-34 2-34 2-35 2-36 2-37 Archiving Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 Using IC Compiler Command-Line Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Wildcard Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Listing and Rerunning Previously Entered Commands . . . . . . . . . . . . . . . . . . . Reporting Memory Usage and Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 2-43 2-43 2-44 2-44 Contents iv IC Compiler Implementation User Guide 3. Version D-2010.03 Redirecting and Appending Command Output . . . . . . . . . . . . . . . . . . . . . . . . . 2-44 Checking the Syntax and Semantics of Your Scripts . . . . . . . . . . . . . . . . . . . . . . . . Installation Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Running the Synopsys Syntax Checker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Limitations of the Synopsys Syntax Checker. . . . . . . . . . . . . . . . . . . . . . . . . . . Bytecode-Compiled Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TclPro Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-45 2-46 2-46 2-48 2-49 2-49 Working With Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Listing the Licenses in Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Getting Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enabling License Queuing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Releasing Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Getting and Releasing Licenses in the GUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-49 2-50 2-50 2-51 2-52 2-52 Enabling Multicore Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring Multithreading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring Distributed Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53 2-53 2-54 Preparing the Design Setting Up the Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Up the Logic Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Up the Physical Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Milkyway Design Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Managing Milkyway Reference Libraries Using Reference Control Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Updating Milkyway Libraries to the Latest Schema . . . . . . . . . . . . . . . . . . Opening a Milkyway Design Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reporting on a Milkyway Design Library . . . . . . . . . . . . . . . . . . . . . . . . . . Changing Physical Library Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving Physical Library Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying Library Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 3-10 3-12 3-12 3-13 3-14 3-15 Reading the Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reading a Design in Milkyway Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reading a Design in ASCII Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 3-16 3-17 Annotating the Physical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reading DEF Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reading Floorplan Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 3-18 3-19 Chapter 1: Contents Contents 3-2 3-2 3-3 3-4 1-vv IC IC Compiler Compiler Implementation Implementation User User Guide Guide 4. Version D-2010.03 D-2010.03 Copying Physical Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Validating Physical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 3-21 Checking the Design Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21 Using the GUI Partition Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 Preparing for Timing Analysis and RC Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Up the TLUPlus Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Back-Annotating Delay or Parasitic Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Timing Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying the Operating Condition Analysis Mode. . . . . . . . . . . . . . . . . . . . . . Setting Voltage and Temperature Scaling Between Libraries . . . . . . . . . . . . . . Setting the Derating Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting the Delay Calculation Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27 3-27 3-29 3-29 3-30 3-31 3-32 3-33 Saving the Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving the Design in Milkyway Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving the Design in ASCII Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Writing GDSII and OASIS Layout Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 3-34 3-34 3-35 Design for Test Overview of the DFT Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Preparing for Physical DFT Using the read_def Flow . . . . . . . . . . . . . . . . . . . . . . . . Performing Scan Synthesis and Generating a SCANDEF File . . . . . . . . . . . . . Hierarchical Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading the SCANDEF File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 4-4 4-4 4-5 Generating SCANDEF Data Using the trace_scan_chain Flow . . . . . . . . . . . . . . . . 4-6 Scan Chain Consistency Checking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Removing SCANDEF Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 Optimizing Scan Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Placement-Aware Scan Chain Reordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock-Aware Scan Reordering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example Optimization Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 4-9 4-11 4-11 Viewing Scan Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Contents vi IC Compiler Implementation User Guide 5. 6. Version D-2010.03 Power Optimization Types of Power Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Strategies To Reduce Leakage Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Multiple Threshold-Voltage Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiple Threshold-Voltage Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Multiple Threshold-Voltage Cells Using Attributes . . . . . . . . . . . . Constraining the Leakage Power Optimization. . . . . . . . . . . . . . . . . . . . . . Adaptive Leakage Power Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 5-3 5-4 5-5 5-5 5-7 Annotating Switching Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Setting the Options for Power Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Performing Power Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Low-Power Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Low-Power Clock Tree Synthesis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Low-Power Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 5-9 5-10 5-10 Power Optimization Flow Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 Placement Defining Placement Blockages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Keepout Margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Global Keepout Margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Cell-Specific Keepout Margins . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Area-Based Placement Blockages . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 6-2 6-3 6-4 6-5 Placement Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Congestion Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Move Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intercell and Boundary Spacing Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Buffer Strategy for Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Preferred Buffers for Hold Fixing . . . . . . . . . . . . . . . . . . . . . . . . . . . Tie Cell Insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
View Full Document

  • Spring '17
  • Yaw Nyarko
  • Electronic design automation, ic compiler

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture