Professional Documents
Culture Documents
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
The objective of this tutorial is to provide insight on how to use Cadence tools to design an application specific digital integrated circuit. This tutorial details the steps that have been followed to obtain the layout and schematic of a digital circuit (~2500 gates) from a VHDL behavioral description. The project illustrated in this work is part of the DC/DC switching power converter project that is developed at Vanderbilt University in collaboration with the Polarfab foundry (www.polarfab.com). The goal of this project is to develop a radiation-tolerant integrated switching DC/DC power converter.
The final design will contain several thousand logic gates which translates to several tens of thousands of transistors. It is extremely error prone (and impossible!) to do this magnitude of design and layout by hand. For this design approach, we will first write a description of how the circuit behaves. In the most simple case, such as a state machine, for a given set of inputs we will specify what the outputs will be. A compiler tool will translate the behavioral description into a gate-level description of the circuit, or netlist. That is, it synthesizes the behavioral description. The circuit will be compiled with pre-defined cells from a standard cell library. The standard cell library will contain the electrical characteristics of the circuit, timing information, and layout information for each gate. Next, the synthesized netlist of the circuit is read into Virtuoso, where it will be represented as a schematic. At this point, the circuit may be simulated with an analog simulator to verify correct operation. Next, a layout is generated from the schematic. The first step of this is to generate and place the cells. The next step is to connect them together. This can be done with an automated tool with the options to minimize certain characteristics such as area, power, or delay. From the layout, parasitic components may be extracted, and the circuit re-simulated. If specifications are not met, changes to the layout may need to be made in order to correct the problem. Finally, the layout can be converted into a GDSII or CIF file for fabrication.
1 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
Figure 1. Front End Design flow from VHDL behavioral to Virtuoso schematic
The first step is to use a VHDL description of the design: files: dig_contr.vh. A separate tutorial is being written to describe the simulation of HDL designs. We are assuming that the functionality of the VHDL design has been checked using appropriate tools. The design can then be synthesized.
Two tools can be used to synthesize the design: 1) Buildgates (Cadence) or 2) Design Vision (Synopsys). These two tools interact with the PDK technology libraries. Every PDK has its own set of libraries including all the necessary information about the cells (process information, power, capacitance, functionality, timing information). Before using the Design
2 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
Buildgates needs .alf file from a .lib file (compilation tool: libcompile) Design_Vision needs: .db file from a .lib file (compilation tool library compiler)
When having these two compiled technology libraries, the design can be synthesized. As an example, lets use Design_Vision.
The steps are: READ - SETUP LIBRARIES - ANALYZE - ELABORATE - COMPILE VIEW SCHEMATIC
READ: File => read => read the file dig_contr.vhd SETUP LIBRARIES: File => setup => setup the .db files into the target library and target physical library ANALYZE: File => Analyze => add dig_contr.vhd ELABORATE: File => Elaborate => elaborate the design COMPILE: Design => compile => select ungroup all VIEW SCHEMATIC: Schematic => New Design Schematic view
3 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
The schematic obtained is a display of all the gates and cannot be used in the Cadence tools directly. The synthesized design has to be saved as in a different structural format (verilog or vhdl). To import the design we use verilog_in.
We use verilog-in to import the structural verilog file obtained from the synthesis. As shown on the figure, the verilog window allows to import the dig_contr.v file. To get this window go to the icfb window => tool => import => verilog.
4 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
5 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
You need to create a target library (dont forget to attach the technology library that goes with it). In the verilog files to import, add your files. Include the digital cell libraries (PDK dependent) in the reference libraries box. You can import it as a functional description, schematic or netlist.
Then you can then visualize your design and go down in hierarchy in each digital cell (the option (layout, veriloga description, schematic) of the cells depend on your PDK ressources).
Figure 6. Schematic view of the design after importing the structural verilog files
6 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
Results:
The figure 8 shows variation of the transfer function versus the duty cycle for the same value of output voltage. These simulation were performed with a mixed signal approach using a combination of veriloga and analog description.
7 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
2. Design Flow: step 2 => from VHDL/Verilog structural to Automatic Layout: BACK END
The back end design flow is the part of the design flow that goes from VHDL/VERILOG structural to Layout using an automatic place and route tool. The Cadence tool that we use is Silicon Ensemble. We show below a detailed tutorial on how to use Silicon Ensemble to generate the layout of the digital control automatically.
8 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
Silicon Ensemble
9 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
A) PDK files
Each PDK has its own set of files. To use Silicon Ensemble, a .lef file and a layer .map is needed. The .lef files tell where all the pins of each cell are placed and give the layout design rules. The .map file describe the .map layers. The .lef file has to be imported first.
Then, the verilog structural file, in our case dig_contr.v was imported into Silicon Ensemble. Associated with this, it is important to specify the name of the top module in the verilog top module box.
B) Floorplan
Go to Floorplan => Initialize Floorplan menu. Select Flip Every Other Row. The IO to
10 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
Core Distance defines the Region for Vdd and Gnd rings. Row utilization represents the density of cells on every rows. The area of the layout can also be calculated by using the calculation button.
11 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
12 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
13 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
Go to add power and ground rings. You can select the width of your ring and position. After go to Route => connect rings.
14 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
15 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
16 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
E) Routing:
Go to Route => WRoute. Select Global and Final Route and select Auto Search and Repair. (it can take sometimes: a certain number of repairs are necessary for this)
17 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
Figure 19. Cells + Power Rings + connection between Rings + cells routing
18 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
D) Export to GDSII
After completing the routing and make the necessary verifications, the layout can be exported using a .DEF format or a GDSII (stream format). A map file containing the layer numbers is necessary. Here is an example of a layer map file that we use for our digital block.
# # Layer Map Example # ********************************************* # # DFII DFII GDS Stream # Layer Layer Layer Data # Name Purpose Number Type
n_sea drawing 23 0 nburied drawing 2 0 isolation drawing 3 0 nfield drawing 5 0 chan_stop drawing 26 0 punch_stop drawing 63 0 lv_gate drawing 4 0 cap_poly drawing 8 0 gate_poly drawing 52 0 gate_poly net 52 0 gate_poly resistor 52 0
19 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
pldd drawing 57 0 nplus drawing 42 0 pplus drawing 53 0 contact drawing 6 0 met1 drawing 9 0 met1 net 9 0 via drawing 10 0 met2 drawing 11 0 met2 net 11 0 via2 drawing 20 0 met3 drawing 21 0 met3 net 21 0 Figure 20 . Layer map example
20 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
21 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
22 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
Conclusion:
We demonstrate the use of a design flow to layout digital integrated circuit from a VHDL behavioral description to a Cadence schematic and layout. This work presents a lot of interest since it can be applied to other design.
As far as radiation effects are concerned, this type of design flow is very valuable to the radiation effects and reliability group. Radiation Hardening by Design solution can be applied1) At the cells level, mean of modifying cell libraries, 2) At the structural or behavioral synthesis code level (VHDL or verilog) 3) At the gate circuit level.
The development of this tutorial is still in progress and the development of new strategy for radiation effects using the Cadence tools is our main goal when it comes to designing
23 of 24
9/14/2013 11:25 PM
Cadence Tutorial
http://eecs.vanderbilt.edu/research/RER/cadence/designexample/
24 of 24
9/14/2013 11:25 PM