Guide for Synopsys synthesis tool
Setup actions (only
for the first use of the tool)
- Create
some directory for the work with Synopsys (for example vlsiSynthesis) and
go into this directory [>mkdir
vlsiSynthesis] [>cd vlsiSynthesis];
- Copy
into this directory Synopsys setup file for synthesis ~lrv/hdl/.synopsys_dc.setup
[>cp
~lrv/hdl/.synopsys_dc.setup .]
- Inside
vlsiSynthesis directory create subdirectory WORK.syn. Synopsys creates
during work a lot of files, which is not needed to keep in vlsiSynthesis
directory. [>mkdir WORK.syn];
- Invoke
Synopsys always from the directory where the Synopsys setup file is (in
this example it is vlsiSynthesis directory).
Invoking the
Synopsys invironment
- Change
directory to the directory with your synopsys setup file [>cd vlsiSynthesis];
- Invoke
Synopsys with the following command: [>design_vision
&] The following window will appear to you (Figure 1).
Figure 1 First window opening the Synopsys design vision
Synopsys converts the instructions in the dialog box into a
sequence of “shell” commands. You can see the command in Command Window (by
default it is opened in the bottom of the program window). By opening a Command
Window, to do this:
- Select
View => Toolbars => Console
The basic steps
required to synthesize a HDL design are the following:
- Selecting
a target technology for synthesis (this is written in setup file);
- Reading
in the HDL design;
- Synthesizing
the design (optimizing the logic and mapping to the target technology);
- Writing
out the synthesized netlist in a format, which can be used by gate-level
simulation and/or FPGA layout tools.
Reading the input
design
Execute the following steps to read in your design:
- Select
File => Analyze
- In the
file browser select the file you wish to synthesize, for example counter.vhd.
All files must analyze in dependence sequence (the top of design hierarchy
is the last one). Choose the correct format of the file you want to
synthesize and press OK. The Analyze File window is shown in Figure 2
Figure 2
Analyze Designs window
- Afterwards
you need to join all your modules. Select File => Elaborate
- From
the library either DEFAULT or WORK you should select the top module of the
hierarchy. For example agener(one_direction).
- You
need to specify the parameters of you design, if you have generic
in your entity description. For example bitwidth=4;
- Press
OK. The Elaborate Design window is shown in Figure 3
Figure 3 Elaborate Designs window
Navigation in the
hierarchy
- Click
on the icon “Create Design Schematic” and you will see schematic of your
design showing the inputs and outputs of the design. The same action can
be done through Schematic => New
Design Schematic View;
- Double
click on the Symbol for the design. Synopsys will generate a schematic for
the synthesized netlist;
Figure 4 Schematic view of the counter
design
Synthesizing the
design
·
Bind the clock signal with certain frequency.
Select with left mouse click port corresponding to the clock signal (at
schematic view of design). Select Attributes => Specify
Clock Write the clock signal name and specify the period of the clock
signal, for example 20 ns, specify also time for rising and falling edges of
the clock signal. Click OK button. (Figure 5)
Figure 5 Speciry Clock window
·
Optimize the design Design => Compile
Design Select “Map Effort” Medium and press OK. (Figure 6)
Figure 6 Compile window
·
Look at the netlist view now.
Generating Reports
- In
order to see the results of the analysis select Design =>
Reports… In the part of Report select Area and
Timing. Also you can make combined report with the help of
command report_qor.
Figure 7 Report window
Exiting the
synthesis tool