- •Contents
- •Preface
- •About This Manual
- •Other Information Sources
- •Syntax Conventions
- •Text Command Syntax
- •About the Graphical User Interface
- •Using Menus
- •Using Forms
- •Introduction to Ambit BuildGates Synthesis
- •Separately Licensed Software Products
- •Low Power Synthesis
- •Physically Knowledgeable Synthesis
- •Datapath Synthesis
- •AC_Shell / DC_Shell Equivalencies
- •Getting Started
- •Invoking Ambit BuildGates Synthesis
- •Exiting Ambit BuildGates Synthesis
- •Files Used in Ambit BuildGates Synthesis Software
- •Key Bindings and Mouse Operations
- •Using the GUI
- •Main Menu Functions
- •File Menu Options
- •Edit Menu Options
- •View Menu Options
- •Commands Menu Options
- •Reports Menu Options
- •Window Menu Options
- •Help Menu Options
- •The Tool Bar
- •The Browsers
- •The Module Browser
- •The Variable Browser
- •Work Area Tools
- •HDL and Tcl Editors
- •Constraints Tool
- •The Schematic Viewer
- •Distributed Processing
- •Update Mode
- •The ac_shell Console
- •The Status Bar
- •Flow Procedures
- •Typical Synthesis Flow
- •Read the Libraries
- •Read the Design Data
- •Build Generic Netlist
- •Set Constraints
- •Optimize the Design
- •Generate Reports
- •Save Final Netlist
- •Viewing the Schematic Design
- •How to Use the Schematic Viewer
- •Keyboard Shortcuts
- •Mouse Operations
- •Objects in the Schematic Database
- •Accessing Context-Sensitive Pop-Up Menus
- •Highlighting Path Between Pins
- •Viewing Bus Properties
- •The Schematic Tool Bar
- •The Module Title Bar
- •Searching for an Object
- •Grouping Instances
- •Dissolving Instances
- •Creating a Unique Module
- •Displaying Logic Cones
- •Extracting Logic Cones
- •Displaying Port Constraints
- •Printing a Schematic
- •Setting Constraints
- •Setting a Hierarchical Context
- •Units in Constraints
- •Timing Constraints
- •Timing Analysis
- •Setting up Timing Context
- •Clock Insertion Delay Time
- •Data Arrival Time
- •External Delay
- •Multicycle Paths
- •Setting Drive Cell for Input Ports
- •Setting Drive Resistance
- •Slew Related Commands
- •Technology and Design Rule Constraints
- •Operating Conditions
- •Estimating Capacitance and Resistance
- •Port Capacitance
- •Capacitance Limit
- •Fanout
- •Fanout Limit
- •External Sources and Sinks
- •Wire Capacitance
- •Wire Resistance
- •Wire Load Model Selection
- •Optimizing Before Place and Route
- •Running do_optimize Command
- •Top-Down Optimization
- •Bottom-Up Optimization
- •Deriving Constraints from Context
- •Time Budgeting
- •Preserving Module Contents
- •Uniquifying Instances
- •Collapsing Hierarchy
- •Incremental Optimization
- •Applying Timing Corrections
- •Optimizing with Logic Transforms
- •Introduction to Transforms
- •Logic Optimization Steps
- •Optimizing Generic Logic
- •Mapping and Unmapping of Generic Logic
- •Constraint-Driven Optimizing
- •Summary Listing of Transform Commands
- •Optimizing After Place and Route
- •Timing Analysis
- •Backannotating
- •A Script Showing the Backannotation of a Design
- •Reading SDF Data
- •Optimizing to Correct Late and Early Slack
- •Report Generation
- •Report Header
- •Timing Reports
- •Area Reports
- •Sample Area Report
- •Library Reports
- •Hierarchy Reports
- •Sample Hierarchy Report
- •Design Rule Violations Reports
- •Sample Design Rule Violations Report
- •VHDL Library Reports
- •Sample VHDL Library Report
- •End Point Slack and Path Histogram Reports
- •Fanin and Fanout Reports
- •Sample Fanin Report
- •Finite State Machine Reports
- •Sample FSM Report
- •Customizing Report Column Width
- •Using Tcl within ac_shell and pks_shell
- •The Tcl Language
- •Procedures
- •Tcl Variables and Control Structures
- •Variables
- •Syntax
- •Tcl Commands
- •get_names Command
- •Abbreviating Commands
- •Searching for Commands
- •Accessing Environment Variables
- •Returning Unix Command Values
- •Error Handling
- •Quick Reference
Ambit BuildGates Synthesis User Guide
Using the GUI
The Browsers
BuildGates synthesis provides the following browsers.
■The Module Browser
■The Variable Browser
To display the module browser or variable browser listing such that it occupies the whole main screen window instead of only a portion of the window, place the cursor in the browser portion and press the Control-m keys. Repeatedly pressing Control-m toggles between the standard split-screen and the whole-screen display.
The module and variable browsers contain commands that have ac_shell command line equivilalents. For a cross-reference between these commands and ac_shell command line commands, refer to Appendix B, “Quick Reference”.
The Module Browser
The module browser is a hierarchical module and instance browser, which displays top modules and hierarchical instances of the modules. It is similar to using the report_hierarchy -instance command in ac_shell.
To open a design file and view the hierarchy of a module, click the Open File icon on the tool bar. A window similar to the one shown in Figure 3-20 is displayed.
Figure 3-20 Sample Open Design File Window
September 2000 |
72 |
Product Version 4.0 |
Ambit BuildGates Synthesis User Guide
Using the GUI
1.Click the desired module category button on the middle column of the window.
2.Browse for or type in the desired file on the left side of the window. For example, select clock_test.tcl.
3.Click Ok to display the module browser window; a sample window is shown in
Figure 3-21.
Figure 3-21 Sample Module Browser
instance name
module name
module state
In the module browser, the three levels of hierarchy are instance name, module name, and module state. Instance name is the name of the instance, which must be instance unique. Module name is the name of the module in the design and can be called any number of times from more than one instance. The module state indicator shows the state of that particular module. The available module states are: blackbox (b), generic (g), optimized (o), mapped (m), and don’t modify (x). Table 3-26 defines the color and symbol associations of the module states.
The modules can be expanded and collapsed by clicking on + and - indicators. The module browser displays multiple trees, single trees, or branches of a tree. The number of expanded levels displayed depends on the default value set in “display depth” in the browser options screen (refer to Table 3-8 on page 48). Viewing a branch displays the “selected” module as the top of a single tree. Branch viewing is used for large designs with many levels of hierarchy.
September 2000 |
73 |
Product Version 4.0 |
Ambit BuildGates Synthesis User Guide
Using the GUI
Note: If the state of the module browser gets confused or it is not updated, double click on the desired module to redraw the contents of the browser with the current information or use the Module Browser–Rebuild Tree command.
Table 3-26 Module Type with Symbol and Color Association
Color/Icon |
Module Type |
|
|
|
Generic module (g) |
|
|
|
Optimized module (o) |
|
|
|
Mapped module (m) |
|
|
|
Blackbox module (b) |
|
|
|
Don't modify module (x) |
|
|
|
Top timing module |
Red text |
|
|
|
|
Current timing module |
Blue text |
|
|
|
|
Top and current timing module |
Red text |
|
|
|
Module Browser Pop-Up Menu
The module browser has a context sensitive pop-up menu, which is activated in the background of the display area.
To activate the browser pop-up menu:
1.Click and hold the right mouse button to activate in the context sensitive background area in the browser window.
2.Move the mouse arrow to the desired option on the pop-up menu.
September 2000 |
74 |
Product Version 4.0 |
Ambit BuildGates Synthesis User Guide
Using the GUI
3. Release the right mouse button to select the option.
The browser pop-up menu options are described below.
Table 3-27 Module Browser Pop-Up Menu
Menu Option |
|
Description |
|
|
|
|
|
Rebuild Tree |
|
Redraw the module hierarchy tree. This option is used only |
|
|
|
when the Browser Module update is in manual mode. |
|
|
|
(View–General Preferences–Browser–Browser Mode– |
|
|
|
Manual Browser Update). |
|
|
|
|
|
Set Current Module |
Set the selected module to the current module. |
|
|
|
|
|
|
Set Top Timing Module |
Set the selected module to the top timing module. |
|
|
|
|
|
|
Open HDL |
|
Open and view the HDL in the main window or a new window. |
|
Window [Main/New] |
The file can be edited. |
|
|
|
|
|
|
Open Schematic |
|
For the selected module, view the schematic in the main |
|
[MainWindow/ |
|
window or a new window. |
|
NewWindow] |
|
|
|
|
|
|
|
Set Don’t Modify |
|
Setting this option prevents the instances, modules, or ports |
|
|
|
from being modified. |
|
|
|
|
|
Reset Don’t Modify |
|
Reset the Set Don’t Modify option. |
|
|
|
||
Module Browser Quick Commands |
|
||
|
|
|
|
Mouse Button |
Action |
|
|
|
|
|
|
Left |
Click + or - indicator to expand or reduce the tree for the module. |
|
|
|
|
|
|
Left |
Double click on a module name to open the HDL file or view the |
|
|
|
schematic, depending on the options setting in |
|
|
|
View–General Preferences–Browser–Browser Mode. |
|
|
|
|
|
|
September 2000 |
75 |
Product Version 4.0 |