Design Vision Timing Analysis
Design Vision Timing Analysis
User Guide
Version U-2003.03, March 2003
Comments?
E-mail your comments about Synopsys
documentation to doc@synopsys.com
Copyright Notice and Proprietary Information
Copyright 2003 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, Arcadia, C Level Design, C2HDL, C2V, C2VHDL, Calaveras Algorithm, CoCentric, COSSAP, CSim,
DelayMill, Design Compiler, DesignPower, DesignWare, Device Model Builder, Enterprise, EPIC, Formality, HSPICE,
Hypermodel, I, in-Sync, InSpecs, LEDA, MAST, Meta, Meta-Software, ModelAccess, ModelExpress, ModelTools,
PathBlazer, PathMill, Physical Compiler, PowerArc, PowerMill, PrimeTime, RailMill, Raphael, RapidScript, Saber,
SmartLogic, SNUG, SolvNet, Stream Driven Simulator, Superlog, System Compiler, TestBench Manager, Testify,
TetraMAX, TimeMill, TMA, VERA, and VeriasHDL are registered trademarks of Synopsys, Inc.
Trademarks (™)
Active Parasitics, AFGen, Apollo, Apollo II, Apollo-DPII, Apollo-GA, ApolloGAII, Astro, Astro-Rail, Astro-Xtalk, Aurora,
AvanTestchip, AvanWaves, BCView, Behavioral Compiler, BOA, BRT, Cedar, ChipPlanner, Circuit Analysis, Columbia,
Columbia-CE, Comet 3D, Cosmos, Cosmos SE, Cosmos-Scope, CosmosLE, Cyclelink, Davinci, DC Expert, DC Expert
Plus, DC Professional, DC Ultra, DC Ultra Plus, Design Advisor, Design Analyzer, DesignerHDL, DesignTime,
DFM-Workbench, DFT Compiler SoCBIST, Direct RTL, Direct Silicon Access, DW8051, DWPCI, Dynamic Model
Switcher, Dynamic-Macromodeling, ECL Compiler, ECO Compiler, EDAnavigator, Encore, Encore PQ, Evaccess,
ExpressModel, Floorplan Manager, Formal Model Checker, FormalVera, FoundryModel, FPGA Compiler II, FPGA
Express, Frame Compiler, Frameway, Gatran, HDL Advisor, HDL Compiler, Hercules, Hercules-Explorer, Hercules-II,
Hierarchical Optimization Technology, High Performance Option, HotPlace, HSPICE-Link, Integrator, Interactive
Waveform Viewer, iQBus, Jupiter, Jupiter-DP, JupiterXT, JupiterXT-ASIC, JVXtreme, Liberty, Libra-Passport, Libra-Visa,
Library Compiler, LRC, Mars, Mars-Rail, Mars-Xtalk, Medici, Metacapture, Metacircuit, Metamanager, Metamixsim,
Milkyway, ModelSource, Module Compiler, MS-3200, MS-3400, NanoSim, Nova Product Family, Nova-ExploreRTL,
Nova-Trans, Nova-VeriLint, Nova-VHDLlint, OpenVera, Optimum Silicon, Orion_ec, Parasitic View, Passport, Planet,
Planet-PL, Planet-RTL, Polaris, Polaris-CBS, Polaris-MT, Power Compiler, PowerCODE, PowerGate, ProFPGA, Progen,
Prospector, Proteus OPC, Protocol Compiler, PSMGen, Raphael-NES, RoadRunner, RTL Analyzer, Saber
Co-Simulation, Saber for IC Design, SaberDesigner, SaberGuide, SaberRT, SaberScope, SaberSketch, Saturn,
ScanBand, Schematic Compiler, Scirocco, Scirocco-i, Shadow Debugger, Silicon Blueprint, Silicon Early Access,
SinglePass-SoC, Smart Extraction, SmartLicense, SmartModel Library, Softwire, Source-Level Design, Star, Star-DC,
Star-Hspice, Star-HspiceLink, Star-MS, Star-MTB, Star-Power, Star-Rail, Star-RC, Star-RCXT, Star-Sim, Star-Sim XT,
Star-Time, Star-XP, SWIFT, Taurus, Taurus-Device, Taurus-Layout, Taurus-Lithography, Taurus-OPC, Taurus-Process,
Taurus-Topography, Taurus-Visual, Taurus-Workbench, Test Compiler, TestGen, TetraMAX TenX, The Power in
Semiconductors, TheHDL, TimeSlice, TimeTracker, Timing Annotator, TopoPlace, TopoRoute, Trace-On-Demand,
True-Hspice, TSUPREM-4, TymeWare, VCS, VCS Express, VCSi, Venus, Verification Portal, VFormal, VHDL Compiler,
VHDL System Simulator, VirSim, and VMC are trademarks of Synopsys, Inc.
ii
Contents
iii
Design Vision User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Design Vision Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Setup Files for Design Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Starting and Exiting the Graphical User Interface . . . . . . . . . . . . . . 2-7
Exploring the Graphical User Interface . . . . . . . . . . . . . . . . . . . . . . 2-9
Changing the Appearance of Schematics . . . . . . . . . . . . . . . . . . . . 2-13
Using Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
iv
4. Solving Timing Problems
Before You Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Creating a Timing Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Choosing a Strategy for Timing Closure . . . . . . . . . . . . . . . . . . . . . 4-4
Assessing the Relative Size of Your Timing Violations . . . . . . . 4-4
When Timing Violations Are Small. . . . . . . . . . . . . . . . . . . . . . . 4-5
Working Globally to Fix Small Violations . . . . . . . . . . . . . . . 4-6
Working Locally to Fix Small Violations . . . . . . . . . . . . . . . . 4-6
When Timing Violations Are Medium Size. . . . . . . . . . . . . . . . . 4-8
When Timing Violations Are Large . . . . . . . . . . . . . . . . . . . . . . 4-11
Index
v
vi
Figures
vii
viii
Tables
ix
x
Preface FIX ME!
xi
What’s New in This Release
Information about new features, enhancements, and changes;
known problems and limitations; and resolved Synopsys Technical
Action Requests (STARs) is available in the Design Vision Release
Notes in SolvNet.
Preface
xii
Audience
This user guide is for logic design engineers who have some
experience using Design Compiler and who want to use the
visualization features of Design Vision for synthesis and analysis. To
use this user guide, you should be familiar with
Related Publications
For additional information about Design Vision, see
• Design Compiler
• DFT Compiler
• BSD Compiler
Preface
xiv
Conventions
The following conventions are used in Synopsys documentation.
Convention Description
Accessing SolvNet
SolvNet includes an electronic knowledge base of technical articles
and answers to frequently asked questions about Synopsys tools.
SolvNet also gives you access to a wide range of Synopsys online
services including software downloads, documentation on the Web,
and “Enter a Call to the Support Center.”
To access SolvNet,
Preface
xvi
Contacting the Synopsys Technical Support Center
If you have problems, questions, or suggestions, you can contact the
Synopsys Technical Support Center in the following ways:
• Open a call to your local support center from the Web by going to
http://solvnet.synopsys.com (Synopsys user name and
password required), then clicking “Enter a Call to the Support
Center.”
• Send an e-mail message to support_center@synopsys.com.
• Telephone your local support center.
- Call (800) 245-8005 from within the continental United States.
- Call (650) 584-4200 from Canada.
- Find other local support center telephone numbers at
http://www.synopsys.com/support/support_ctr.
Customer Support
xvii
Preface
xviii
1
Introduction to Design Vision 1
Design Vision is a graphical user interface (GUI) to the Synopsys
synthesis environment and an analysis tool for viewing and
analyzing your design at the generic technology (GTECH) level and
the gate level.
1-1
Features and Benefits
Design Vision has these features:
User Interfaces
Design Vision offers menus and dialog boxes for important Design
Compiler functions. Menus also offer visual analysis features and
other design viewing features that are not Design Compiler
functions.
Methodology
Design Vision allows you to use the same design methodology and
scripts you currently use and to extend your methodology with
Design Vision visual analysis.
User Interfaces
1-3
Supported Formats
With Design Vision you can access all the files supported by Design
Compiler. Table 1-1 shows the supported design file formats.
Netlist EDIF
Synopsys equation
Verilog
VHDL
Licensing
1-5
Supported Platforms
Design Vision runs on the platforms listed in Table 1-2.
1. Not available on CD, but will be available for download by EST at a later date. For availability, check
with your Synopsys sales representative.
2. Runs only in 32-bit mode; limited to 4 GB memory space.
Note:
OpenWindows is not a supported window manager for Design
Vision. Sun Microsystems no longer supports or maintains
OpenWindows and recommends that you move to the CDE
Windows environment.
http://www.synopsys.com/products/sw_platform.html
From this Web page you can navigate to the Supported Platforms
Guide for your release.
2-1
The Design Vision Documentation Set
You can find most of what you need to know to run Design Vision in
the Design Vision documentation set.
Use the Design Compiler Tutorial Using Design Vision if you are new
to Design Compiler. However, even if you are an experienced Design
Compiler user, the tutorial is a useful introduction to the features of
Design Vision.
The Design Vision User Guide does not contain specific information
about individual menu items or dialog boxes. For such information,
see the Design Vision online Help.
• Feature topics
Provide overviews of Design Vision window components and
tools.
• How to topics
Provide procedures for accomplishing general synthesis and
analysis tasks.
• Reference topics
Provide explanations for views, toolbar buttons, menu
commands, and dialog box options.
• dctcl mode
This is the default.
• dcsh mode
You must start in this mode to use dcsh scripts.
When you start Design Vision, the Design Vision window appears by
default. In addition, the design_vision-t prompt (in dctcl mode) or the
design_vision prompt (in dcsh mode) appears in the shell where you
started Design Vision.
- Instance tree
- Objects list
The instance tree lets you quickly navigate the design hierarchy
and see the relationships among its levels. If you select the
instance name of a hierarchical cell (an instance that contains
subblocks), information about that instance appears in the object
table. You can Shift-click or Control-click instance names to
select combinations of instances.
- Log view
- History view
- Errors and warnings view
You can enter dc_shell commands on the command line at the
bottom of the console. Enter these commands just as you would
enter them at the dc_shell prompt in a standard UNIX or Linux
shell. Design Vision echoes the dc_shell command output
(including processing messages and any warnings or error
messages) in the console log view.
The log view provides the session transcript. The history view
provides a list of the commands that you have used during the
session. The errors and warnings view displays error and
warning messages.
To select a view, click the tab at the bottom of the console. The
log view is displayed by default when you start Design Vision. For
more details about the console, see the “Using dc_shell
Commands” topic in online Help.
In addition to the logic hierarchy view and the console, you can
display design information in the following views:
You can adjust the sizes of view windows for viewing purposes, and
you can move them to different locations within the Design Vision
window. When you click anywhere within a view window, Design
Vision highlights its title bar to indicate that it has the focus (that is, it
is the active view) and can receive keyboard and mouse input. For
more details, see the “Design Vision Window” topic in online Help.
You can open additional Design Vision windows and use them to
compare views, or different design information within a view, side by
side. All open Design Vision windows share the same designs in
memory and the same current timing information. However, you can
configure the views independently for each window. To learn more,
see the “Opening New Design Vision Windows” topic in online Help.
To run dctcl scripts, start Design Vision in dctcl mode. To run dcsh
scripts, start Design Vision in dcsh mode. For information about
starting Design Vision in either mode, see “Starting and Exiting the
Graphical User Interface” on page 2-7.
To learn more about adding scripts to the Tools menu, see the “Using
Scripts” topic in online Help.
Using Scripts
2-15
Chapter 2: Before You Start
2-16
3
Performing Basic Tasks 3
This chapter describes how to perform basic presynthesis and
synthesis tasks using Design Vision menus. This chapter is useful for
experienced users of Design Compiler who need to accomplish
familiar basic tasks in Design Compiler using Design Vision windows
and menus.
If you are new to Synopsys synthesis tools, see the Design Compiler
Tutorial Using Design Vision to learn about basic tasks by performing
them on a simple design.
• Specifying Libraries
• Reading In Your Design
• Setting the Current Design
• Defining the Design Environment
3-1
• Setting Design Constraints
• Compiling the Design
• Saving the Design Database
• Working With Reports
• Printing Schematics
The link and target libraries are technology libraries that define the
semiconductor vendor’s set of cells and related information, such as
cell names, cell pin names, delay arcs, pin loading, design rules, and
operating conditions.
The symbol library defines the symbols for schematic viewing of the
design.
Specifying Libraries
3-3
5. Click OK.
For more information about the options on the Defaults page, see the
“Setting Library Locations” topic in the online Help. For information
about the options on the Variables page, see the “Setting Variables”
topic.
• Read
Use Read (read_file is the command-line equivalent) to read
designs that are already in .db format.
The Analyze command checks the HDL designs for proper syntax
and synthesizable logic, translates the design files into an
intermediate format, and stores the intermediate files in the directory
you specify.
If you use Read to read in HDL files, the Analyze and Elaborate read
functions are combined; however, Read does not do certain design
checks that Analyze and Elaborate do.
1. Click the drop-down list on the Design List toolbar to display the
design names.
2. Select a design name.
Alternatively, you can open a designs list view (by choosing List >
Designs View) and double-click a design name.
For more information about menu items in the Attributes menu, see
the “Attributes Menu” topic in the online Help.
You can use the command.log file to create a script file. Copy the file
and use a text editor to add or remove commands as necessary.
• Choose File > Save As, enter or select a file name, select a file
format, and click OK.
You can generate reports and display them in the report view (the
default), save them in text files, or both. When you display a report in
the report view, you can select object names in the report. You can
also save or print the report. For more information, see the “Viewing
Reports” topic in online Help.
1. Select an object.
2. Choose a report command in the Design menu to open the
associated dialog box.
You can generate reports for cells, ports, and nets.
Printing Schematics
3-11
Chapter 3: Performing Basic Tasks
3-12
4
Solving Timing Problems 4
This chapter presents procedures and suggestions for solving timing
problems by using the features of Design Vision. The chapter does
not provide details about exercising particular features of Design
Vision, such as how to create a histogram or how to create a path
schematic. For detailed information about Design Vision features,
see the Design Vision online Help system.
4-1
Before You Analyze
Before you analyze your design with Design Vision, follow your
normal compile methodology to create a constrained gate-level
design. A constrained gate-level design is a prerequisite to any
timing analysis.
• Small violations
Some designers consider small violations to be about 10 percent
of the clock cycle or less.
• Large violations
Some designers consider large violations to be about 20 percent
of the clock cycle or greater.
• Medium violations
Medium-size timing failures fall between the limits you set for
large and small failures in your design or design process.
Clock cycle: 4 ns
Endpoints of
failing paths (red)
The incremental compile with higher map effort has the advantage
of simplicity—that is, it requires little or no time spent in analyzing the
source of timing problems. However, this method can change much
of the logic in the design.
3. Select the endpoint for the path you are interested in.
4. Generate a path schematic to see which leaf cells are in which
levels of hierarchy.
If your critical path, for example, crosses multiple subblocks of a
level of hierarchy, consider ungrouping these subblocks. Design
Compiler does not optimize across hierarchy boundaries. Thus,
a subsequent compile has further opportunity to optimize the
critical path when you ungroup such blocks.
4. Examine the report for pins with high transition times and nets
with high fanout.
Such paths are candidates for buffering or drive-cell resizing.
Clock cycle: 4 ns
When negative slack values are medium, you can use Design Vision
to investigate further and focus your recompile on a critical range of
negative slack values for path groups. Focusing your compile effort
on a critical range can improve worst negative slack and total
negative slack. For more information about calculating worst
negative slack and total negative slack, see the SolvNet article
Synthesis-238.html.
1. Create a path slack histogram for each path group in your design.
Start with an arbitrary value of 1000 for the number of paths to
include in each histogram. Raise or lower this value depending
on the number of failing paths. The goal is to choose a value that
shows you all or nearly all of the failing paths.
2. Decide on a critical range for each path group (note the values for
use in step 3).
When deciding on a critical range, choose a range that allows Design
Compiler to focus on the worst endpoint violations without too large
an increase in runtime. For example, some designers apply one of
the following guidelines to decide on a critical range:
For more information about defining critical ranges for synthesis, see
the SolvNet article Methodology-10.html.
Clock cycle: 4 ns
IN-1
E histograms
endpoint slack 4-2
environment, setting operating 3-6 script commands for 2-15
errors/warnings view 2-11 history view 2-11
excessive fanout, finding 4-7, 4-8
I
F initialization (see setup files)
fanout, excessive, finding 4-7, 4-8 instance tree 2-10
fanout, setting maximum 3-6 instance, setting current 3-5
features, Design Vision 1-2 interfaces, Design Vision 1-3
files
log files 3-9
setup files 2-5 L
finding reported objects in schematic 3-9 large timing violations
focusing compile 4-10 defined 4-4
formats global approach 4-12
cell clustering 1-4 layers, changing appearance 2-13
design data 1-4 libraries
input and output 1-4 specifying 3-3
library 1-4 supported formats 1-4
netlist 1-4 synthetic libraries 3-3
parasitics 1-4 licensing 1-5
script file 1-4 list views 2-12
timing data 1-4
loads, setting 3-6
log files
G naming 3-9
scripts, creating from 3-9
generating reports 3-9
log view 2-11
get_selection command 2-15
logic hierarchy view, description 2-10
global approach, timing closure
large violations 4-12
small violations 4-6 M
group_path command 4-10
manufacturing process, setting 3-6
GUI (see window, Design Vision)
medium-size timing violations
defining 4-4
H fixing 4-8
methodology
Help, online 2-4
choosing for timing closure 4-4
hierarchy, finding excessive 4-7 large violations, for 4-11
histogram views 2-11 medium-size violations, for 4-8
IN-2
small violations, for 4-5, 4-6 SCL (Synopys Common Licensing) 1-5
scripts
command-line interface, running from 2-14
O commands 2-15
objects, locating reported 3-9 creating from log file 3-9
objects, reports for selected 3-10 histogram, generating 2-15
online Help, description of 2-4 menu access to 2-14
OpenWindows, support for 1-6 mode, Tcl and dsch 2-14
supported formats 1-4
operating conditions, setting 3-6
setup files 2-5
operating systems
patches for 1-7 slack types, SolvNet article about 4-9
supported platforms 1-6 small timing violations
optimization defining 4-4
constraints, setting 3-6 global approach to solving 4-6
initiating 3-8 local approach to solving 4-6
overview, creating for timing 4-2 snake paths, finding 4-7
SolvNet articles
slack types, calculating 4-9
P specifying libraries 3-3
parasitics, supported formats 1-4 status bar 2-9, 2-12
patches, operating system 1-7 supported
path schematics 2-11 operating systems 1-6
window managers 1-6
preferences, schematic appearance 2-13
printing Synopsys Common Licensing 1-5
schematics 3-11 synthesis, initiating 3-8
synthetic libraries 3-3
R
reading a design 3-4
T
reports Tcl mode, starting 2-7
for selected objects 3-10 timing closure, methodology
generating 3-9 for large violations 4-11
for medium-size violations 4-8
for small violations
S high-level approach 4-6
saving to disk 3-9 introduction 4-5
schematic views 2-11 low-level approach 4-6
schematics timing data, supported formats for 1-4
appearance, changing 2-13 timing problems, solving
printing 3-11 histogram, endpoint slack 4-2
judging violation size 4-4
IN-3
strategy for closure, choosing 4-4
timing overview, creating 4-2
toolbar 2-9
tutorial, overview of 2-2
U
using scripts 2-14
V
violations, timing
fixing large 4-11
fixing medium size 4-8
fixing small 4-5
judging relative size of 4-4
W
window managers, supported 1-6
window, Design Vision
components of 2-9
modes of initialization 2-7
schematics, setting appearance 2-13
starting and exiting 2-7
wire load models, setting 3-6
workspace 2-9
writing to disk 3-9
IN-4