■ Command Reference for Ambit BuildGates Synthesis and Cadence PKS ■ Timing Analysis for Ambit BuildGates Synthesis and Cadence PKS ■ Test Synthesis for Ambit BuildGates Synthesis and Ca
Trang 1Product Version 4.0.8
May 2001
Trang 2Trademarks: 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’s trademarks, contact the corporate legal department at the address shown above or call 1-800-862-4522.
All other trademarks are the property of their respective holders.
Restricted Print Permission: This publication is protected by copyright and any unauthorized use of this
publication may violate copyright, trademark, and other laws Except as specified in this permission statement, this publication may not be copied, reproduced, modified, published, uploaded, posted, transmitted, or
distributed in any way, without prior written permission from Cadence This statement grants you permission to print one (1) hard copy of this publication subject to the following conditions:
1 The publication may be used solely for personal, informational, and noncommercial purposes;
2 The publication may not be modified in any way;
3 Any copy of the publication or portion thereof must include all original copyright, trademark, and other proprietary notices and this permission statement; and
4 Cadence reserves the right to revoke this authorization at any time, and any such use shall be
discontinued immediately upon written notice from Cadence.
Disclaimer: Information in this publication 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’s customer
in accordance with, a written agreement between Cadence and its customer 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: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in
FAR52.227-14 and DFAR252.227-7013 et seq or its successor.
Trang 3Preface 9
About This Manual 9
Other Information Sources 9
Syntax Conventions 10
Text Command Syntax 10
About the Graphical User Interface 11
Using Menus 11
Using Forms 12
1 Introduction to Ambit BuildGates Synthesis 13
Separately Licensed Software Products 13
Low Power Synthesis 14
Physically Knowledgeable Synthesis 14
Datapath Synthesis 14
AC_Shell / DC_Shell Equivalencies 15
2 Getting Started 27
Invoking Ambit BuildGates Synthesis 27
Getting Help for Ambit BuildGates Synthesis 31
Exiting Ambit BuildGates Synthesis 32
Files Used in Ambit BuildGates Synthesis Software 33
Key Bindings and Mouse Operations 33
3 Using the GUI 37
Main Menu Functions 39
File Menu Options 40
Edit Menu Options 42
Contents
Trang 4View Menu Options 44
Commands Menu Options 58
Reports Menu Options 61
Window Menu Options 69
Help Menu Options 71
The Main Tool Bar 73
The Browsers 74
The Module Browser 74
The Variable Browser 78
Work Area Tools 80
HDL and Tcl Editors 80
Constraints Tool 86
The Schematic Viewer and Symbol Files 90
Distributed Processing 92
Update Mode 93
The ac_shell Console 94
The Status Bar 95
4 Flow Procedures 97
Typical Synthesis Flow 97
Read the Libraries 99
Read the Design Data 102
Build a Generic Netlist 104
Set Constraints 106
Optimize the Design 108
Generate Reports 111
Save Final Netlist 113
5 Viewing the Schematic Design 115
How to Use the Schematic Viewer 116
Trang 5Objects in the Schematic Database 119
Accessing Context-Sensitive Pop-Up Menus 120
Highlighting Path Between Pins 125
Viewing Bus Properties 126
The Schematic Tool Bar 128
The Module Title Bar 130
Searching for an Object 131
Grouping Instances 133
Dissolving Instances 134
Creating a Unique Module 135
Displaying Logic Cones 136
Extracting Logic Cones 137
Displaying Port Constraints 139
Printing a Schematic 140
6 Setting Constraints 141
Units in Constraints 141
Timing Constraints 141
Timing Analysis 142
Trang 6Optimizing Before Place-and-Route 143
Runningdo_optimize Command 144
Top-Down Optimization 146
Bottom-Up Optimization 146
Deriving Constraints from Context 147
Time Budgeting 148
Preserving Module Contents 149
Uniquifying Instances 151
Collapsing Hierarchy 152
Incremental Optimization 154
Applying Timing Corrections 154
8 Optimizing with Logic Transforms 155
Introduction to Transforms 155
Logic Optimization Steps 156
Optimizing Generic Logic 157
Mapping and Unmapping of Generic Logic 158
Constraint-Driven Optimizing 159
Summary Listing of Transform Commands 161
9 Optimizing After Place-and-Route 163
Timing Analysis 163
Backannotating 164
A Script Showing the Backannotation of a Design 164
Reading SDF Data 166
Trang 7Optimizing to Correct Late and Early Slack 166
10 Report Generation 169
Report Header 170
Timing Reports 170
Area Reports 171
Sample Area Report 172
Library Reports 173
Hierarchy Reports 174
Sample Hierarchy Report 175
Design Rule Violations Reports 176
Sample Design Rule Violations Report 177
VHDL Library Reports 178
Sample VHDL Library Report 179
End Point Slack and Path Histogram Reports 180
Fanin and Fanout Reports 181
Sample Fanin Report 182
Finite State Machine Reports 184
Sample FSM Report 185
Customizing Report Column Width 187
A Using Tcl within ac_shell and pks_shell 189
The Tcl Language 190
Procedures 190
Tcl Variables and Control Structures 191
Variables 191
Syntax 193
Tcl Commands 194
find Command 194
get_names Command 195
Abbreviating Commands 196
Searching for Commands 196
Trang 8Accessing Environment Variables 196Returning Unix Command Values 196Error Handling 197
B
Quick Reference 199
Trang 9This preface contains the following sections:
■ About This Manual on page 9
■ Other Information Sources on page 9
■ Syntax Conventions on page 10
■ About the Graphical User Interface on page 11
About This Manual
This manual describes the Ambit®BuildGates®synthesis software BuildGates synthesis can
be run both in command line mode and in graphical user interface (GUI) mode See GettingStarted on page 27 for an explanation on how to use both modes
Other Information Sources
For more information about Ambit BuildGates synthesis and other related products, you canconsult the sources listed here
■ Command Reference for Ambit BuildGates Synthesis and Cadence PKS
■ Timing Analysis for Ambit BuildGates Synthesis and Cadence PKS
■ Test Synthesis for Ambit BuildGates Synthesis and Cadence PKS
■ HDL Modeling for Ambit BuildGates Synthesis
■ Distributed Processing of Ambit BuildGates Synthesis
■ Synthesis Place-and-Route (SP&R) Flow Guide
■ Constraint Translator for Ambit BuildGates Synthesis and Cadence PKS
Depending on the product licenses your site has purchased, you could also have thesedocuments
Trang 10■ Datapath Option of Ambit BuildGates Synthesis and Cadence PKS
■ Low Power Option of Ambit BuildGates Synthesis and Cadence PKS
BuildGates synthesis is often used with other Cadence® tools during various design flows.The following documents provide information about these tools and flows Availability of thesedocuments depends on the product licenses your site has purchased
■ Cadence Timing Library Format Reference
■ Cadence Pearl Timing Analyzer User Guide
■ Cadence General Constraint Format Reference
The following books are helpful references
■ IEEE 1364 Verilog HDL LRM
■ TCL Reference,Tcl and the Tk Toolkit, John K Ousterhout, Addison-Wesley
Publishing Company
Syntax Conventions
This section provides the Text Command Syntax used in this document
Text Command Syntax
The list below describes the syntax conventions used for the Ambit BuildGates synthesis textinterface commands
Important
Command names and arguments are case sensitive User-defined information is
case sensitive for Verilog designs and, depending on the value specified for the
global variable hdl_vhdl_case, may be case sensitive as well
These keywords represent command or option names
for which you must substitute a name or a value
Trang 11[ ] Brackets denote optional arguments When used with OR-bars,
they enclose a list of choices from which you can choose one
{ } Braces are used to indicate that a choice is required from the list
of arguments separated by OR-bars You must choose one fromthe list
{ argument1 | argument2 | argument3 }
braces must be typed in literally
Three dots ( ) indicate that you can repeat the previous
argument If the three dots are used with brackets (that is,[argument] ), you can specify zero or more arguments Ifthe three dots are used without brackets (argument ), youmust specify at least one argument, but can specify more
About the Graphical User Interface
This section describes the conventions used for the BuildGates synthesis graphical userinterface (GUI) commands and describes how to use the menus and forms in the BuildGatessynthesis software
CommandName -> A command name with a right arrow displays an additional menu
with more commands Multiple layers of menus and commandsare presented in what are called command sequences, forexample:File – Import – LEF In this example, you go to the Filemenu, then the Import submenu, and, finally, the LEF command
Trang 12Using Forms
capability When you select the browse button, a list of choicesappears
Cancel TheCancel button cancels the command and closes the form
Defaults TheDefaults button displays default values for options on the
Trang 13Capable of running in both command line mode and in graphical user interface (GUI) mode,the BuildGates synthesis tool delivers dramatic performance and productivity benefits overconventional synthesis tools The key features of the Ambit BuildGates synthesis tool aredescribed in the following paragraphs.
At the heart of the Ambit BuildGates synthesis tool is a signoff-quality, fast, full-chip timingengine that enables high-capacity and high-performance chip-level synthesis Fast andflexible, BuildGates synthesis supports a wide variety of design styles such as multiple clocks,including both edge triggered and level sensitive with cycle stealing
BuildGates synthesis has a high capacity database that allows synthesis of more of thedesign at once Its fast runtime assures rapid turnaround, making chip-level synthesis
practical In addition, high-capacity enables productivity gains by eliminating the need forexcessive resources and time required for elaborate bottom-up script development
BuildGates synthesis also offers automatic time budgeting, integration with physical designtools, VHDL and Verilog support, support of both reads and writes of netlist EDIF 2.0, Tclcommand line interface for shell level control, transforms for performing focused
optimizations, schematic and textual report capabilities, and integrated DFT analysis andscan insertion
Separately Licensed Software Products
Cadence® low power synthesis, Cadence physically knowledgeable synthesis (PKS), andCadence datapath synthesis option are companion products to the basic Ambit BuildGatessynthesis software and require separate licenses For details on these products, please
Trang 14contact your Cadence marketing representative If you are a licensed user, the appropriatesoftware and documentation are included in your installation package.
Low Power Synthesis
The low power module provides both power analysis and power optimization capabilities.Power analysis estimates the power consuming modules in your design at the gate-levelthrough each phase of the design cycle until you have met your power specifications Thepower optimizer synthesizes a minimum power netlist that meets your specified timingconstraints, optimizing design power consumption at the register-transfer level (RTL)
Licensed users can refer to theLow Power Option of Ambit BuildGates Synthesis andCadence PKS for details
Physically Knowledgeable Synthesis
Cadence physically knowledgeable synthesis (PKS) performs placement-driven timing byadding a physical model of the netlist to the timing and interconnect models that currentlyexist in the Ambit BuildGates synthesis tool The physical model allows for timing estimations
to take place during the optimization process, virtually eliminating the need for third-partyplacement tools
Placement information is read into PKS using a PDEF file, which includes thex,y location
of every cell PKS uses highly accurate Steiner routes to estimate interconnect, resulting incloser correlation between the timing in BuildGates synthesis and the timing that results afterrunning a place-and-route tool
Licensed users can refer to thePKS User Guide for details
Licensed users can refer to theDatapath Option of Ambit BuildGates Synthesis and
Trang 15AC_Shell / DC_Shell Equivalencies
The table below shows thedc_shell commands and theirac_shell equivalents
Table 1-1 AC_Shell and DC_Shell Command Equivalencies (Sheet 1 of 11)
Trang 16compile -incremental do_xform_optimize_slack
compile_fix_multiple_port_
net
do_xform_fix_multiport_netsset_global fix_multiport_nets
Trang 17Table 1-1 AC_Shell and DC_Shell Command Equivalencies (Sheet 3 of 11)
Trang 19remove_attribute remove_assertions
Table 1-1 AC_Shell and DC_Shell Command Equivalencies (Sheet 5 of 11)
Trang 20Table 1-1 AC_Shell and DC_Shell Command Equivalencies (Sheet 6 of 11)
Trang 21set_clock_propagation -ideal |propagated
Table 1-1 AC_Shell and DC_Shell Command Equivalencies (Sheet 7 of 11)
Trang 22set_dont_touch set_cell_property dont_modify true
and pragmasset_fsm_encoding_style Verilog source code pragmas, VHDL attributes
Trang 23set_load -pin_load set_port_capacitance
Table 1-1 AC_Shell and DC_Shell Command Equivalencies (Sheet 9 of 11)
Trang 24set_multicycle_path N -hold set_cycle_addition N -early
Trang 27Getting Started
Invoking Ambit BuildGates Synthesis
The Ambit BuildGates synthesis software is installed in the following directory:
The command line options for invoking the Ambit BuildGates synthesis software are listed inTable 2-1 and described in more detail in the Command Reference for Ambit BuildGatesSynthesis and Cadence PKS,ac_shellcommand Unless otherwise specified, the optionsare valid for both command line and GUI mode Multiple options can be used in a singlecommand
Table 2-1 Ambit BuildGates Synthesis Command Line Options
Trang 28-cdsdocd {on | off} Enable or disable the browser-based documentation
delivery system forac_shell help When set toon,the full documentation set is available from theHelpbutton in the GUI When set tooff, only the syntax isdisplayed at the command line
Whenac_shellis invoked with the-guioption, thedefault is on such that the online, browser-baseddocumentation is enabled
Whenac_shell is invoked without the-gui option,the default isoff and only syntax help is available atthe command-line
-cmdfile filename.cmd Record in a file, all executed commands in the
session The default file name isac_shell.cmd.-colormap filename Run Ambit BuildGates synthesis software using the
specified file Valid only in GUI mode
the Datapath option A separate license must bepurchased for the Datapath option
-display machine_name:0 Set the configuration to display Ambit BuildGates
synthesis software to the specified machine Validonly in GUI mode
[-f] filename.tcl Run Ambit BuildGates synthesis software using the
specified Tcl file You can specify thefilename.tclwithout typing the optional-f
only in GUI mode
Table 2-1 Ambit BuildGates Synthesis Command Line Options, continued
Trang 29-geometrywidth X
Set the initial size and position of the GUI main screenwindow Wherewidth andheight are in pixels.Andxoff and yoff are the number of pixels fromthe corner; a negative value is measured from thebottom or right corners, and a positive value ismeasured from the top or left corners No spaces areallowed between the values
For example: -geometry 800x400+10-30 meanscreate a window 800 by 400 pixels with its left edgeoffset 10 pixels from the left edge of the screen and itsbottom edge offset 30 pixels from the bottom of thescreen
Valid only in GUI mode
GUI interface
software
depending on the platform and configuration
limit for the machine on which the software will run.Does not run the software
-logfile filename.log Record in a file, all executed commands and
ac_shell console messages in the session Thedefault file name isac_shell.log
$ambit_path/.acshrc
license; if this fails, run with PKS license Only valid if
a separate license has been purchased for PKS
standard license Only valid if a separate license hasbeen purchased for PKS
Table 2-1 Ambit BuildGates Synthesis Command Line Options, continued
Trang 30-pks Run the Ambit BuildGates synthesis application with
the physically knowledgeable synthesis option Aseparate license must be purchased for PKS
the low power option A separate license must bepurchased for the low power option
-set variable=value Initialize a Tcl variable to the specified value
name of the Ambit BuildGates synthesis executable
Table 2-1 Ambit BuildGates Synthesis Command Line Options, continued
Trang 31Getting Help for Ambit BuildGates Synthesis
Help is available in two different modes: command-line syntax help and online,
browser-based documentation delivery By default, the command-line syntax help is available
in both command-line and GUI mode
The browser-based help is available only whenac_shell is invoked with the-gui option.This online help provides the full Ambit BuildGates synthesis documentation set and isaccessed via theHelp button on main menu line in the GUI, as shown in Figure 3-1 onpage 37 The functions of the Help button are defined in Table 3-25 on page 71 You candisable the browser-based help with the the-cdsdocd option, as defined in Table 2-1
To use the command-line syntax help, type the following on theac_shell console line:
ac_shell[1]> help command_name
If you are uncertain as to the name of the command you are seeking, enter a partial commandname For example, the following will display applicable commands
ac_shell[2]> help do_opt
Trang 32Exiting Ambit BuildGates Synthesis
To quit the command line version of Ambit BuildGates synthesis software, typeexit at theac_shell prompt and pressReturn
ac_shell[n]>exit
To quit the GUI version of Ambit BuildGates synthesis software, do one of the following:
■ SelectMain Menu – File – Exit; click Ok when the exit confirmation dialog is displayed
■ Press the Control-x key sequence; clickOk when the exit confirmation dialog is
Trang 33Files Used in Ambit BuildGates Synthesis Software
The default file extensions used in Ambit BuildGates synthesis software are shown in thetable below
Key Bindings and Mouse Operations
Table 2-3 lists the key sequences and mouse operations that can be used in the HDL/Tcleditors andac_shellconsole ThePage_Up, Page_Down, Prior, and Next keys refer tothe keys to the left of the numeric keypad; thePgUp and PgDn keys on the numeric keypad
do not operate in the editors orac_shell console
Table 2-2 Default File Extensions
File Name Extensions Description
tcl_menu.cmds User-created commands on the Tcl menu
ambit.state Stores state information, user preferences, window
positions, and so on
Table 2-3 Key Sequences and Mouse Operations
Key/Mouse
Description
Left Arrow, Control-b Move back one character
Right Arrow, Control-f Move forward one character
Up Arrow, Control-p Move insertion cursor up one
line
Display previous history event
Trang 34Down Arrow, Control-n Move insertion cursor down
one line
Display next history event
Next, Page_Down Scroll down one page
Home, Control-a Move insertion cursor to the beginning of the line
End, Control-e Move the insertion cursor to the end of the line
word) or file completion (onany other word)
line)
Issue a command
Delete Delete highlighted character(s) or delete character in front of
the insertion cursor
BackSpace, Control-h Delete highlighted character(s) or delete character to the left
of the insertion cursor
Control-d Delete the character to the right of the insertion cursor
Control-k Delete from the insertion cursor to the end of the line
losing current command lineinput
Control-m Toggle between the standard split-screen and the
whole-screen display to minimize or maximize the window inwhich the cursor resides
Table 2-3 Key Sequences and Mouse Operations, continued
Key/Mouse
Description
Trang 35Control-u No function Clear the command line.Meta-d Delete the word to the right of the insertion cursor.
Meta-BackSpace Delete the word to the left of the insertion cursor
Click middle mouse button,
Insert
Paste the highlighted text where the cursor is located
Copy, Control-c Copy functions as in console
Control-c: no function
Copy the highlighted text tothe clipboard
Cut, Control-x Cut functions as in console
andControl-x exits AmbitBuildGates synthesissoftware
Copy the highlighted text tothe clipboard and delete thetext
Paste, Control-v Paste functions as in console
Control-v: no function
Paste the contents of theclipboard onto the commandline
Table 2-3 Key Sequences and Mouse Operations, continued
Key/Mouse
Description
Trang 37Using the GUI
This chapter describes the principle screens, windows, and menus of the Ambit BuildGatessynthesis graphical user interface (GUI) The main screen is the first screen you see whenyou start the tool in the GUI mode (refer to Invoking Ambit BuildGates Synthesis on page 27for startup options) The functions of main screen are called out in Figure 3-1 and
Update
mode
Main
Trang 38PKS and the low power option are additions to the BuildGates synthesis product Ifyou have the licenses for these products, the tabs are displayed on the work areatool bar and the functionality is available in your application Power and PKS are
documented in the Low Power Option of Ambit BuildGates Synthesis and
Cadence PKS and PKS User Guide, respectively
Figure 3-2 Main Screen Function Flow
The main menu, browsers, and work area tools functions contain options and commands thathaveac_shell command line equivilalents For a cross-reference between these
commands andac_shell command line commands, refer to Appendix B, “Quick
Reference”
Important
This chapter is intended as a navigational tool for BuildGates synthesis, not a
complete reference guide; menu options are listed but not defined in detail Refer totheCommand Reference for Ambit BuildGates Synthesis and Cadence PKSfor details on each command and its options
Status Bar
Main Screen
Tools ac_shell Console Main
Trang 39Main Menu Functions
The main menu functions are diagrammed below
Each of these functions has a menu associated with it and is explained in the followingsections
For a cross-reference between the main menu commands andac_shell command linecommands, refer to Appendix B, “Quick Reference”
Trang 40File Menu Options
The file menu functions are diagrammed below and Table 3-1 defines the options
Table 3-1 File Menu Options
Option Definition
New Clear the current database information so that a new design
database can be loaded After selectingNew, use View–Open
to specify the new database file
Open Open a database file and load the design data for synthesis
Figure 3-3 provides a sample Open File dialog box (Samefunction as the Open icon on the Tool Bar; see “The Main ToolBar” on page 73.)
Specify the type of file with the buttons on the right, and specifythe file location in the dialog box on the left
Save Save the database to an ADB, Verilog, or VHDL file (Same
function as the Save icon on the Tool Bar; see “The Main ToolBar” on page 73.)
Save Preferences Save the preferences changed on the General Preferences and
Schematic Preferences option windows; see “General
Preferences
Console Log
Setup File