Professional Documents
Culture Documents
First you need to connect to a Unix machine/server. To do this, you need a PC that runs
Xmanager (or NX Client) tool. Specifically for running Xmanager, you need to find
xstart among the program installed (as a part of Xmanager) in the computer and run it.
You will get a window like this:
Fill the information as shown and click on Run. You need then to confirm the
password and key/connection. If everything works fine, you will get a Unix shell window
that accepts basic Unix and Synopsys commands which looks like this:
Type in the following command at the prompt in order to enable the environment
variables:
source /home/cad/synopsys_2007.12/testprofile
Note that if you source differently (i.e. the way that you source CAD files for other courses), you
will need to close the console and open a new one to source as explained above. This would allow
the environment variables to be taken into effect correctly. Having done these, you are ready for
playing with VHDL and Scirocco.
Note also that in addition to solarium, you may be able to use other Unix Host
machines such as pubssh, cs1 and so on. However, after getting the Unix shell
window, if you cannot run synopsys tools, you can remote login to solarium (or
solarium.utdallas.edu) using this Unix command and then continue your work:
ssh giant
If you have VPN and Xmanager in your home laptop/PC, you can do the same from home. For
how to install VPN, please visit the information resource page in UTD website:
http://www.utdallas.edu/ir/howto/utd-vpn/
4. Simulation
Although a text mode is also available for simulation (explained later), for the sake of more intuitive
introduction, the graphical mode is explained first.
1. Launch the simulation tool Virsim by typing scirocco& at the prompt. Following window
(Simulator Invocation Panel) should pop-up after a few seconds.
2. Click on the button labeled OK to start the interactive mode. The Virsim Interactive Simulator
Window pops up which should resemble the following picture.
3. Observe the Text in the History Section, (If you get a Unable to execute Simulator error,
then Select Sim -> Invoke Sim and Replace scsim with ./scsim ) .
4. Open the Hierarchy and Waveform Windows from the Window Menu.
6. Click on the TBADDER button in the Hierarchy Window, This would list all the signals in the
Signal Pane.
7. Select all the signals from the Hierarchy window and click on the button labeled Add just below
them. This action should add all the signals to the Waveform Window. Now we are all set to start
seeing the simulation in action! If you get an error Ignoring invalid line number: 0 returned
from simulator for scope, you can ignore this error. You should still be able to see the results.
8. A quick visit to the Virsim Interactive Simulator Window may reveal that the Step Time is 20 by
default. You may want to make it to 10 as the tbadder.vhd file has step time as 10 ms.
9. Click on OK near the Step Time input box to view the simulation in the Waveform Window. By
clicking on OK repeatedly, successive steps of 10 ms can be seen.
10. Alternatively, type run 40 in the Command input box (#) in the Interactive window to run the
simulation all in one shot for 40 ms.
11. Following shows the result of the simulation we performed. Use zoom (z) to see the waveforms
better.
/* ------------------------------------------ */
/* adder.dc_shell (script) file */
/* ------------------------------------------ */
analyze -format vhdl -library WORK adder.vhd
elaborate adder
report_hierarchy
uniquify
compile
report_cell > adder.report /* > writes to a file */
report_area >> adder.report /* >> appends to a file */
report_timing >> adder.report
write -f vhdl -output adder_synopsys.vhdl
exit
(s) Other commands to explore: current design, report area, file name.txt, report port, report
timing, list - commands, help dc_shell command, history. Also, using sh unix command you
are able to execute UNIX shell command while you are in the dc_shell environment.
_
Open up a shell (terminal) window and source accordingly to enable environment settings:
source /home/cad/synopsys_2007.12/testprofile
Make sure you have parsed you desired HDL file with no errors using:
at the prompt.
vhdlan your_design.vhd
design_vision is just a GUI that is built on top of dc_shell. Every command in dc_shell can be
done with the file menu. Remember to place the .sysnopsys_dc.setup file in the work directory.
The content of this file is available in the previous section (for people who skipped section 5).
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
cd /ee6301
cd work
design_vision &
File > Analyze > ADD adder.vhd Select>OK
File > Elaborate > library: click on WORK; Design: click on adder(adder_arch) > OK
File > Save
File > read > adder.ddc > OK
When the system level box is shown, double click on icon until logic is displayed.
File > Print Schematic
Design > compile design
_
10
(k) You can choose different reports, including Area and Timing. Design > Report Area, or Timing
> Report Timing Paths. Then click on OK. The area is reported based on 2-input NAND gate.
(l) If you with to synthesize another design, File > Remove All designs, parse it using vhdlan
your_design.vhd at the prompt, and then go through the steps from (d) for your other design(s).
(m) To quit, File > Exit > OK
When you type in design_vision at the prompt. The GUI looks like this:
11
You can click on File->Setup to change the link, target and symbol library. By default, it
should contain the libraries set in the .synopsys_dc.setup file.
File->Analyze. You would need to ADD your desired file with the desired format.
buttons:
Other steps such as Hierarchy->Uniquify can be done by clicking and selecting the
schematic block.
12
7. Post-Synthesis Simulation
While automatic synthesis saves a lot of designers time, it often generates unpredictable, and sometimes
even surprising, results due to various interpretations of the VHDL constructs by the synthesis tools. Over
time designers and VHDL programmers learn how to avoid pitfalls and difficulties which are tooldependent. Therefore, it is common to do post-synthesis simulation to make sure that major specifications
and constraints, e.g. functionality, timing behavior, etc. all are satisfied. One way of post-synthesis
simulation is to generate a VHDL structural description of the gate-level circuit after synthesis and resimulate it (perhaps using the same test vectors used before) and compare the result with the simulation
result prior to synthesis. Suppose we have generated adder.ddc in the synthesis phase:
(a) cd /ee6301
(b) design_vision &
(c) File > read > adder.ddc > OK
When the system level box is shown, double click on icon until logic is displayed
(d) File > Save As
Choose the name (e.g. adder_post.vhd) and select File Format: VHDL. Then: > OK
(e) Now that the gate level structural file adder_post.vhd is created you can resimulate it and
compare the results. To simulate it, just follow the same simulation procedure discussed in
Section 4.
13
14
15