tutorialPnR
tutorialPnR
Created for the MSU VLSI program by Pete Semig, Fall 2004
Updated: S05, S06
Document Contents
Introduction
Environment Setup
Synthesis with Synopsys Design Vision
Place & Route with Cadence Silicon Ensemble
Importing the GDSII File into a Virtuoso Library
Simulating from an Extracted Netlist
Introduction
This document will provide students with the methodology for performing place and route (P&R)
with the Synopsys and Cadence tools. We will use a standard cell library created by Illinois Institute
of Technology that is compatible with the MOSIS AMI C5N process. Students will learn how to
perform synthesis with Synopsys Design Vision (aka Design Compiler) and P&R with Cadence’s
Silicon Ensemble.
Environment Setup
The setup for this tutorial is extremely important. Please execute the following series of commands
very carefully:
2. Create two folders called synopsys and se, and then go to the synopsys directory.
mkdir synopsys
mkdir se
cd synopsys
3. Copy some files you will need for this tutorial to your directory with the following command.
cp /egr/courses/personal/ece410/resources/pnr/*.* .
Note: you must include the last ‘.’, with a space between the last ‘*’ and the last ‘.’.
This will copy pnr_setup.tar and adder8.v to your /synopsys directory.
5. Copy the standard cell library you will need for logic synthesis to your directory with the
following commands.
cd /egr/courses/personal/ece410/resources/iit_stdcells/lib/ami05
cp -R IIT_stdcells_ami05 /egr/courses/personal/ece410/<username>/cadence
This completes the environment setup.
11. In the window that opens (Fig. 3), click Add. Specify the muxcase.vhd file from your
muxcase/source directory.
12. Check the Create new library if it does not exist box. Click OK to close the Analyze Designs
window. A window will pop up saying the library already exists. Click OK.
13. Make sure that the bottom of your Design Vision window reports successful compilation as
shown in Figure 4.
23. Select Design >> Check Design. Select OK to Figure 5: Elaborate window.
check the design.
NOTE: Some students have reported problems running Gnome desktop environment with Silicon
Ensemble. It is recommended that you use the Common Desktop Environment.
GETTING STARTED
1. Create a folder under /egr/courses/personal/ece410/<username>/se called mux and go to that
directory.
cd /egr/courses/personal/ece410/<username>/se
mkdir mux
cd /egr/courses/personal/ece410/<username>/se/mux
SETUP
4. Select File >> Import >> LEF
11. Enter MUXCASE for Verilog Top Module. This value is determined by examining the entity
definition within muxcase.vhd (or the module definition within a Verilog file).
FLOORPLANNING
16. From the main window, select Floorplan>> Initialize
Floorplan
17. In the I/O To Core Distance section of the new window (Fig.
10), input 12 microns for both fields.
18. Select Fixed Size in the Die Size Constraint section and input
55 for the Height and 70 for the Width. Figure 9: Import Verilog Dialog.
21. Back in the main window (Fig. 12), Figure 10: Initialize Floorplan.
select Place >> Ios then click OK.
22. To create power and ground rings, select Route >> Create Ring.
23. In the window that opens (Fig 13), make sure Core ring(s) is selected and change all values of
Width, Spacing, and Offset to 1.5. Click OK. The layout should now look like Figure 14.
Figure 12: Place Inputs and Outputs. Figure 13: Create Vdd and Gnd Rings.
Figure 14: Vdd and Gnd Rings. Figure 15: Layout after placing cells.
28. In the WRoute window (Fig 16), make sure Global and Final Route and Auto Search And
Repair are checked. Click OK and you should see the results shown in Figure 17 at the bottom of
the main window.
29. Now we need to run a couple of checks. Complete the following steps and check the bottom of
the main window for the verifications shown in Figures 18-19.
EXPORT LAYOUT
30. The final step here is to export the layout to a format
that can be read by the Cadence layout tools. Select
File >> Export >> GDSII.
31. In the window that opens (Fig. 20), check the GDS-
II File box and enter RoutedMUX.gds2.
34. Check Library Name and make sure IIT_stdcells_ami05 is in that box.
35. Click OK. The export might take a minute. When you see Process Complete in the main
window, you are done.
36. Exit Silicon Ensemble. If it asks you to save your database, select Yes.
2. The Cadence tools should already be sourced so launch them by entering the command icfb &.
3. First we need to connect with the IIT_stdcells_ami05 library. You should have already copied the
directory into your Cadence directory (last step of Environment Setup section). In the Library
Manager, select File >> New >> Library.
4. Under Name, type IIT_stdcells_ami05. Under Path, put a period (.). Click OK. You should now
see the library in the Library Manager. Make sure that you can open some cell layouts before you
continue.
5. In the Command Interpreter Window (CIW) select File >> Import >> Stream.
6. Click the Options button and check Snap XY to Grid Resolution. Click OK.
7. Click the User-Defined Data button and, in LayerMap Table, type (Fig 21)
/egr/courses/personal/ece410/<username>/synopsys/map/gds2_icfb.map. Click OK.
10. Click OK. You will probably get a warning. Click OK if this happens.
14. Check one level, Flatten Pcells, Preserve Pins, and Figure 23: Flatten Cells
Preserve ROD Objects as in Figure 23. Click OK.
15. Now you should see the entire design, as shown in Figure 24.
16. Run a DRC check. You will find that there are several errors. Each error corresponds to a pin
and we need to redo the pins. You should now see the name and location of each of the pins.
17. Place new Metal1 pin for vdd!, gnd!, A, B, C, D, MUX_OUT, S0, and S1. Be sure to make A,
B, C, D, S0, and S1 inputs. Make MUX_OUT an output. Make vdd! and gnd! jumpers.
After you place the new pins, be sure to delete the old text pins. The text will not disappear after
deleting, but it will disappear after re-running the DRC.
We’re now ready to use the Cadence tools to extract a netlist of the active devices, parasitics
capacitances and interconnections. The extracted netlist can be used to simulate the performance of
the circuit with results that are generally very close to those obtained after fabrication.
• Make sure to check the Y for Use SPICE Netlist Reader(spp), since the default transistor model
files are written in SPICE syntax. Click OK once you have done this.
STEP 5. Simulation
• A stimulus file for the MUXCASE cell has been created for you. Copy this file from
/egr/courses/personal/ece410/resources/stimulus.txt to an appropriate location in your directory.
• Use this stimulus file to simulate the cell and verify functionality. Refer to Tutorial A for
information about running this simulation.
• Be sure to run the simulation for 360ns.
• When you choose the signals to plotted, the extracted view of the mux should come to the
forefront. Select the signals to be plotted by clicking on the corresponding input and output
nets. The names of the nets should appear in the “Outputs” box in the Affirma Analog Circuit
Design Environment window.
• Verify the circuit functions like you expect a multiplexer to operate.
• Save your simulations results to include in your report.
THE END