Another W97M/Cartman.Poppy Infected Document
Lab Manual: Synopsys EDA tools.
DR.RAMIN ROOSTA,
EDA-ASIC Laboratory
California State University, Northridge
99
Synopsys has a full suite of tools to support high-level design. These tools are used for -
- design entry,
- source-level performance analysis
- validation
- implementation ( synthesis)
- post-synthesis performance analysis
- verification.
This manual deals with the brief descriptions of the design steps and Synopsys tools used to perform those steps.
ASIC Design flow:
1. Define the design requirement: In this step designer has the idea of the design objectives and requirements. Having the clear idea of the function of the design, required setup and clock-to-output times, maximum frequency of operation and the critical paths help the designer chose a design methodology and technology to which the design will be synthesized.
2. Describe the design in VHDL - design entry : Having defined the design objective and requirements, designer describe the design using VHDL code in any text editor such as pico, vi, emacs etc. The key to writing good VHDL code is to think in terms of hardware.
3. Analyze the design: After writing the code, designer analyze the code to check the syntax and semantic errors. Design have to be fixed and modified until it error free.
3. Simulate the source code: After the design has been captured in HDL, it is essential to verify that code matches the required functionality prior to synthesis. This step is called pre-synthesis behavioral simulation of VHDL which is done to validate the functionality of the design. Using simulation tool, this can be performed by simply assigning specific values to input signals, performing simulation runs and viewing the wave-forms in graphical wave view tool. An alternative is to write a test-bench. The test-bench can be considered as an HDL block whose outputs provide the stumuli (test data) for the design to be simulated and comparing the outputs with the expected results.
4. Synthesize the design: Functionally correct design description of the design is now synthesized by synthesis tools. VHDL synthesis tools convert VHDL description of the design to technology-specific netlists. Here designer presents an abstract description of his/her design, specifying the function of the digital circuit, and the synthesis software produces a netlist targeting the specified technology library. The synthesis process consists of two steps - translation and optimization. Translation involves transforming a VHDL description to gates while optimization involves selecting the optimal combination of ASIC technology library cells to achieve the required functionality.
5. Post-Synthesis/Netlist Simulation: After design is synthesized to gate-level netlist, it is simulated again using the simulator. The post-Synthesis simulation enables designer to verify not only the functionality of the design but also the timing, such as setup and hold time, clock-to-output, and register-to-register times. In order to simulate a synthesized gate-level netlist, VHDL simulation models of the technology library are required. If one has the ASIC vendor library for synthesis and the Synopsys Library compiler, the VHDL simulation models can automatically created using Synopsys “liban” utility.
6. Layout: Floorplaning, Place and Route.
Tools used to perform different design steps:
1. Pico text editor:
Any text editor can be used to describe the design in VHDL. In CSUN
EDA-ASIC Laboratory, pico text editor is available which is user
friendly and convenient to use.
Pico text editor can be invoked by entering the following command in
UNIX propt:
edasunx% pico filename.vhd
2. VHDL Analyzer (vhdlan/gvan):
Translates VHDL code into an intermediate format for the VHDL
Simulator use.
You can invoke the VHDL analyzer either by using following command
which writes any error message to standard output:
edasunx% vhdlan filename.vhd
or by using the following command which calls vhdlan and if it
finds error, displays in the VHDL Error Browser:
edasunx% gvan filename.vhd
You can use the VHDL Error browser to browse error messages from
the VHDL Analyzer. When you reach an error, you click a button to
invoke a text editor, fix the error and continue the analysis. you
repeat this process until no more error exists.
While analyzing, you can create an error listing file selecting -I
option with the command:
edasunx% vhdlan -l filename.vhd
edasunx% gvan -l filename.vhd
If -spc or -spc_elab options are used with vhdlan or gvan, the VHDL
analyzer performs synthesis policy checking while it analyzes vhdl
design against VHDL subset supported by Synopsys Synthesis tool.
edasunx% vhdlan -spc filename.vhd
edasunx% gvan -spc filename.vhd
3. VHDL Simulator (vhdlsim):
This tool is used to perform functional and gate-level simulation to validate the design.
You can invoke VHDL Simulator by entering the following command:
edasunx% vhdlsim filename
VHDL Simulator enables you to:
- Start and stop simulation engine.
- Apply stimulus to the circuit.
- Set breakpoints.
- monitor signals and take conditional actions based on their
values.
- Show the values of registers in dedicated pad windows.
You can enter VHDL Simulation Commands at the VHDL Simulator command line (#). You can also control VHDL Simulator through the VHDL Debugger graphical user interface.
5. VHDL Debugger (vhdldbx):
The VHDL Debugger is a debugging tool for VHDL source code. The
VHDL debugger is also the graphical user interface for the VHDL
Simulator and it gives access to your source code.
Invoke VHDL Debugger by entering following commands:
edasunx% vhdldbx
The VHDL debugger enables you to find bugs more easily, because
you have complete control over both source code and the
simulation engine.
When you find a bug, you can fix it without exiting from the
VHDL Simulator or the VHDL Debugger by
1. Editing the file that contains bug,
2. Re-analyze the file
3. Resuming the simulation.
To simulate a design from VHDL Debugger, you can either
- Select Test bench of that design which specifies and applies stimulus to the design, Run the simulator for certain period and see the generated waves in the Wave Form Viewer by tracing those signals.
or - From VHDL Debugger, you can assign stimulus to INPUTS of the design, RUN Simulator for certain period and see the generated wave in the Wave Form Viewer by selecting commands (assign, trace & RUN) at the simulator prompt (#).
6. Waveform Viwer (waves):
` Provides a Graphical display of Signal values generated during
Simulation. You can use the waveform viewer during simulation
or afterwards as a stand alone tool.
You can invoke wave form viewer by entering following commands:
edasunx% waves
or from VHDL debugger by selecting `trace' for any signal.
Waveform viwer enables you to display simulation data captured in
a trace data file either during of after the simulation.
7. Design Analyzer:
Design Analyzer is the graphical interface to the Synopsys family
of synthesis tools.
Invoke Design Analyzer by entering following command:
edasunx% design_analyzer
Design Analyzer provides menu-driven access to most features of
the Synopsys family of synthesis tools. It allows you to do the
following:
Set system variable values, such as the technology library
name that you want.
Read and write designs in multiple formats, such as EDIF, netlist, PLA, Verilog, VHDL and equation.
Set Constraints and attributes graphically on designs, cells, pins, nets, buses and clocks.
View hierarchical design through level of hierarchy Synthesize and Optimize digital circuits.
Generate, view and plot schematics.
Highlight paths in the schematic.
Generate a variety of reports.
One of the Design Analyzer menu selections (Setup/Command Window)
creates a Command Window that provides access to all commands
through the command line interface. Design Analyzer's Command
Window shows the command-line interface. All commands and reports
generated by menu selections are echoed in the command Window. You
can type design Compiler (dc shell) commands in the command entry
box.
To bring up the Command Window, select setup -> Command Window.
Design Analyzer Menu Bar
The Design Analyzer menu bar contains the names of the eight primary menus:
Menu Bar
- Setup:
Accesses several dialog boxes that describe Design Analyzer, set default values and variables, get and give up tool licenses (for Network Licensing users). execute scripts and display a command-line interface window.
- File:
Edits the hierarchy and can delete designs and constraints.
- View:
Controls the appearance of displayed schematics.
- Attributes:
Sets attribute values for selected objects.
- Analysis:
Links a design to its sub-designs and libraries, check a design
for errors, run the timing analyzer, highlight timing paths, show
HDL text from selected objects, and creates and displays reports
about a compiled design.
- Tools:
Calls up Design Optimization, FSM compilation, FPGA Compiler, or
Test Synthesis.
- Help:
Calls up the design Analyzer Help menu. You can browse a brief
summary about the tool or retrieve command information.
Some of the menu selections from Design Analyzer in Design Cycle:
Here are the objectives and descriptions of some menu selections from Design Analyzer we'll use in our design cycle:
Read the Design:
Selection File -> Read is used to read in one or more design description files.
Type file names in File Name(s) text box. You can also choose
file names by clicking through directories and then clicking
on the displayed name. In File Format option, you must select
the appropriate output format from the option menu. Then
click OK to read in the chosen File Name in the Current File
Format.
View the Design :
The three view buttons, Hierarchy View button, the Symbol View
Button and the Schematic View button, displays the
corresponding view of the current design.
Design Optimization :
The selection Tools -> Design Optimization compiles the
current design.
Click OK to compile the current design using displayed
options. Click Cancel to remove this dialog box.
Map Design: Turn on the Map Design option to map the circuit to the current technology library during compilation.
More Map Options: Using this, you can set additional mapping options for compile command.
Verify Design: Turn on the Verify design toggle button to verify that the logical behavior of the circuit is the same before and after the compilation.
Verify Effort: Choose the verification effort level you want to enable. The Verify Effort radio buttons are available when the Verify Design toggle buttons is enabled.
Allow Boundary Optimization: Turn on the Allow Boundary Optimization toggle button to allow boundary optimization during compilation.
Execute in: Define whether the compile command is to be run in foreground or in the background.
Analyze the Design:
The selection File -> Analyze reads in an HDL source file (VHDL or Verilog) and creates HDL library objects. After you make a change to an HDL source file, use analyze to read in the file and check for errors from Design Analyzer.
The top portion of the Analyze File dialog box looks like the File -> Read dialog , box. However, the File Format switch
allows you to select only VHDL and Verilog files you want to analyze.
In the lower half of the dialog box, select the HDL library for the analyze command. The work library is the default. The space beneath the library field is a list of available design libraries.
When you click on OK, a report output windows appears and displays messages generated by analyze.
Report Windows and Design Report:
Report windows display HDL input reports, compilation reports, design reports, etc.
Following is a partial list of menu selections that create
report windows with the indicated window names:
Analysis -> Link Design (Link Report)
File -> Read (Verilog or VHDL)
Tools -> Design Optimization (Compile Log)
Tools -> Test Synthesis -> Create Vectors (Create Test
Vectors)
Report Dialog Box:
Selection Analysis -> Report displayes Report dialog box which
generates and displays various reports in Report window for the
current design
Save the Design:
The selection File -> Save is available when you have selected or
are viewing a design. This selection saves the current design in
Synopsys internal database (db) format as a file named
design_name.db.
Plot the Design:
Use selection File -> Plot to write a design symbol view or part
or all of the selected design's schematics to a file or printer in
Postscript format.
8. Synopsys Design Compiler:
Design Analyzer (discussed above) is the graphical front end of the Synopsys synthesis tool. Design Compiler or DC-shell
is the command line interface for the same synthesis tool. In most cases,designer begins using the graphical front end, and once they are comfortable with the commands and the Design Compiler terminology, they prefer to use the command line (dc_shell) interface. At that stage Design Analyzer is generally used only to view schematics and their critical paths.The Design Compiler command line interface can be invoked by the following command;
edasunx% dc_shell
dc_shell>
In design compiler;
8. Source VHDL is read into DC by read command.
9. Optimization constraints is specified using include command prior to compile.
10. Compile is performed by Compile command which executes optimization. After the read command, on executing the compile command, a netlist for the source VHDL is generated.
11. Compile has a number of option, including low, medium, and high. The default option is medium.
12. After compile, write command writes out netlist of the design in specified format.
13. Then timing report can be generated by using report_timing command and timing constraint violation report can be generated by report_constraints -all_violators -verbose command.
Example:
14. Read design by design compiler:
dc_shell> read -f vhdl design.vhd
15. Include the constraint file:
dc_shell> include constraints.con
16. Compile the design:
dc_shell> compile
17. Write out netlist in specified format:
dc_shell> write -f vhdl design -output design_netlist.vhd
18. Generate report:
dc_shell> report_timing
dc_shell> report_constraints -all_violators -verbose
The above design compiler commands can be issued from dc_shell command line one after another or those can be put in a script file in the same order and run that script by the following commands:
Example: design.scr
-------------------------------------------------------------
read -f vhdl design.vhd
include constraints.con
compile
write -f vhdl design -output design_netlist.vhd
report_timing
report_constraints -all_violators -verbose
-------------------------------------------------------------
edasun1% dc_shell -f design.scr
It first invokes design compiler then executes all the commands in the script.
The constraint file constraint.con must contain required synthesis constraints.
There are two type of synthesis constraints:
a. Optimization constraint
b. Deign Rule constraint.
Optimization consraint are user specified the
two optimization constraint and the related dc_shell commands are as follows:
Speed: set_input_delay
set_out_put_delay
max_delay
create_clock
To provide greater flexibility, these commands has a point-to-point optimization capabilty i.e. designer can specify timing constraints from one specific port/pin in the design to another provided such a timing path exists betn. the two points.
Area: max_area
In addition to optimization constraints, the synthesis tool is required to meet another set of optimization constraint called Design Rule constraint (DRC). DRC are constraints imposed upon the design by requirements specified in the target ASIC vendor library. These constraints and related dc_shell commands are:
Max Fanout: set_max_fanout
Max Transition: set_max_transition
Max Capacitance: set_max_capacitance
Example: constraint.con
-------------------------------------------------------------
max_delay 0 -from all_inputs() -to all_outputs()
set_input_delay 5 -from all_inputs() -to all_outputs()
set_output_delay 5 -from all_inputs() -to all_outputs()
create_clock clk -period 5
set_max_transition 5 design Read
Traverse the design hierarchy:
Select Hierarchy View, Symbol View, Schematic View :buttons
Optimize the design:
Tools -> Design Optimization
Generate Report:
Analysis -> Report
Plot the schematic of the design:
File -> Plot
Save the design:
File -> Save
13. Quit all open windows
14. Exit from X-window.
15. Log-off from SUN workstation by typing exit and press enter.
If you want to use design compiler, you can use that after step 9.
Finding Information:
The following sources of information are available to help you use Synopsys System:
- Set of manuals
- On-line man page
- On-line Manual
- Simulator help command
- Error messages help.
Set of Manuals:
These are the hard copy of manuals available in the lab.
On-line man page:
The on line man pages describe VSS family programs and command syntax. To view a man page make sure that the operating systems set up and the type
edasunx% man subject
On-line manual:
Using the dialog box from Synopsys on line manual, you
can find information on a any subject. Invoke Synopsys
on line manual by entering following command:
edasunX% iview
Enter the subject in find box and click find.
Click the appropriate topic in the list and click open.
Using help command:
You can get help subject by typing following command
eadasunx% help subject
You can see a list of help subject by:
edasunx% help -l
Necessary UNIX commands:
1. ps :report status of active process
1. pstat :report system status
1. pwd :display current working directory.
1. rm filenames :remove(delete) files
1. rmdir directory :remove empty directory.-r option
deletes files and sub-directories also.
1. telnet computername :access remote system.
1. tty :report name of terminal
1. uname :display name of current system.
1. pico :open pica text editor.
1. who :report active users.
1. cancel requestlD :cancel a print job.
1. cat filename.ext :display file on screen.
1. cd [directory] :change current directory to indicated directory
1. clear :clear terminal screen.
1. cp file1.ext file2.exe :copy files
1. du :report disk usage.
1. find directories :find matching files starting from
1. specified directory and
1. perform specific actions.
1. grep text files.ext :find lines in one or more files that
1. contain a particular word
1. lc :list directory contents in columns.
1. logname :get login name
1. lp, lpr file.ext :print a file
1. lpstat :list the status of all available
printer
1. ls :list the files a directory
1. mkdir :create a new directory
1. more :display a file in one page on the
1. screen at the time.
1. mv file1.ext file2.ext :rename a file
1. mv file.ext directory :move file from one directory to another
1. diff file1.ext file2.ext :compare two files and the print lines
1. the files differ.
1. exit :log out
1. history 9 :list the last 9 commands you typed.
1. id :displays numeric user and group ID.
1. jobs :lists the jobs that are running.
1. kill -9 PID :kill specified job.
1. sort filename :sort the lines in a text file
1. tail filename :display last few lines of a file
1. shutdown :stop UNIX and prepare workstation to
1. turn off.
1. !! :repeat the last command
1. !find :repeats last command begin with find.
1. :repeats command #3 from history list
1. ^et^ir :repeat previous command replacing fixing et with ir
Use of wildcards ( ? and * ): In a command, you can use two wild cards, ? and * with the names.
? means any single letter
* means anything at all.
References:
1. Synopsys Manuals
1. Synopsys on line documents.
2. Logic Synthesis using synopsys: Taher Abbasi
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- infected tooth cause other problems
- infected tooth dog
- can an infected tooth heal
- infected tooth extraction
- signs of an infected tooth
- infected tooth pictures
- pain after infected tooth extraction
- infected tooth socket pictures
- infected socket after tooth extraction
- infected molar extraction
- infected extraction site
- infected tooth socket