8/10/2019 Miss State Std Cell Tut
1/133
Standard Cell Tutorial
By: Wei Lii TanAdvisor: Dr. Robert Reese
This revision: September 02, 2001
Mississippi State University
Dallas Semiconductor
8/10/2019 Miss State Std Cell Tut
2/133
Introduction This tutorial will guide you through creating a
standard cell library, and integrating that standard
cell library into the Cadence design flow.
The following CAD Tools will be used in thistutorial:
- Cadence ICFB
- Cadence Abstract Generator
- Cadence Design Planner
- Synopsys Design Compiler
- HSPICE
8/10/2019 Miss State Std Cell Tut
3/133
Introduction
The following conventions will be used in thistutorial:
- File names will be in italics, e.g.
/ccs/issl/micro/users/tan/myfile.vhd- User input (e.g. what you need to type)
will be in boldface, e.g. type swsetupcadence-ncsu
*important*All directories will start withyour_work_directory/add_stdcells, unlessspecified otherwise.
8/10/2019 Miss State Std Cell Tut
4/133
How standard cell information is passed to different
CAD Tools
Cadence ICFB
Abstract Generator
Cadence Design Planner Cadence Silicon Ensemble
Layout
GDS File
LEF File
LEF File
8/10/2019 Miss State Std Cell Tut
5/133
8/10/2019 Miss State Std Cell Tut
6/133
Guidelines to Creating a Standard
Cell Library Dr. Robert Reese has a page that provides
excellent information on standard cell
guidelines. The webpage can be accessed at:http://www.ece.msstate.edu/~reese/EE8273/lect
ures/stdcellroute/stdcellroute.pdf. (You will
need PDF reader)
The following pages will discuss the
requirements for a standard cell.
http://www.ece.msstate.edu/~reese/EE8273/lectures/stdcellroute/stdcellroute.pdfhttp://www.ece.msstate.edu/~reese/EE8273/lectures/stdcellroute/stdcellroute.pdfhttp://www.ece.msstate.edu/~reese/EE8273/lectures/stdcellroute/stdcellroute.pdfhttp://www.ece.msstate.edu/~reese/EE8273/lectures/stdcellroute/stdcellroute.pdf8/10/2019 Miss State Std Cell Tut
7/133
Guidelines to Creating a Standard
Cell Library All cell layouts must adhere to DRC rules
for the technology in use. MOSIS provides
a website with rules for technologiessupported by MOSIS.
To view the website, go to
http://www.mosis.org/Technical/Designrules/scmos/scmos-main.html
http://www.mosis.org/Technical/Designrules/scmos/scmos-main.htmlhttp://www.mosis.org/Technical/Designrules/scmos/scmos-main.htmlhttp://www.mosis.org/Technical/Designrules/scmos/scmos-main.htmlhttp://www.mosis.org/Technical/Designrules/scmos/scmos-main.htmlhttp://www.mosis.org/Technical/Designrules/scmos/scmos-main.htmlhttp://www.mosis.org/Technical/Designrules/scmos/scmos-main.htmlhttp://www.mosis.org/Technical/Designrules/scmos/scmos-main.html8/10/2019 Miss State Std Cell Tut
8/133
Guidelines to Creating a Standard
Cell Library
Vertical and Horizontal Routing Grids:
- Cell pins, with the exception of abutment pins(VDD and GND) must be placed on theintersections of the vertical and horizontal routing
grids.
- Vertical and horizontal routing grids may be offsetwith respect to the cells origin, provided that theoffset distance is exactly one-half of the grid
spacing.
- The cell height must be a multiple of thehorizontal grid spacing; the cell width must be amultiple of the vertical grid spacing.
8/10/2019 Miss State Std Cell Tut
9/133Figure 1: Horizontal Routing Grid Examples
Horizontal Grid Spacing
(a) Without Offset
One-half Horizontal Grid Spacing
One-half Horizontal Grid Spacing
Horizontal Grid Spacing
(b) With Offset
Cell Origin
8/10/2019 Miss State Std Cell Tut
10/133Figure 2: Vertical Routing Grid Examples
(a) Without Offset (b) With Offset
Vertical Grid Spacing One-Half Vertical Grid Spacing
Cell Origin
8/10/2019 Miss State Std Cell Tut
11/133Figure 3: Sample Standard Cell Routing Grid
(a) Without Offsets(b) With Vertical and
Horizontal Offsets
8/10/2019 Miss State Std Cell Tut
12/133
What are Routing Grids For?
The routing grids are where the over-the-cell metal routing will be routed.
The pins of your standard cells should
always lie on the intersections of thehorizontal and vertical routing grids.
Although some CAD tools will route to off-
grid pins, this may cause some othercomplications.
8/10/2019 Miss State Std Cell Tut
13/133
8/10/2019 Miss State Std Cell Tut
14/133
Grid Spacing
Grid spacing must be defined for each routinglayer.1
Grid spacing needs to be at least line-on-via (Refer
figure 4), and are usually via-on-via.1
Remember that your cell height must be a multipleof the horizontal grid spacing, and your cell widthmust be a multiple of the vertical grid spacing.
1. From Dr. Robert Reeses Standard Cell Route Notes
8/10/2019 Miss State Std Cell Tut
15/133
Filler cells should be included in yourstandard cell libraryfiller cells provide
continuity for your VDD/GND rails, as well
as for n-well. Without filler cells, some foundries will add
their own version of filler cells into your
design when fabricating your chip,sometimes resulting in fabrication errors.
Filler Cells
8/10/2019 Miss State Std Cell Tut
16/133
Sample Standard Cell Library
A sample standard cell library is located atcadence/dfII/tutorial.
The following are the particulars of the samplelibrary:
- Technology: ami06 (= 0.3 m)
- Horizontal grid spacing: 3.0m (10), with5offset.
- Vertical grid spacing: 2.4m (8), with 4offset.
- Horizontal routing layers: metal1, metal3.
- Vertical routing layer: metal2
8/10/2019 Miss State Std Cell Tut
17/133
Sample Standard Cell Library
The DFF cell in this standard cell library is adouble-heightcellit is two times as tall as the
other cells.
Doing this allows for more area for the DFF cell(DFF cells are generally bigger than the other
cells). It also allows for a more squared shape for
the DFF cell, as opposed to a rectangular shape if
the DFF cell was only single height. These traits lead to more efficient placing of
standard cells in a design.
8/10/2019 Miss State Std Cell Tut
18/133
Figure 5: NAND2 gate from sample library
Legend
Vertical
Grid
Horizontal
Grid
Cell Origin
PR Boundary
8/10/2019 Miss State Std Cell Tut
19/133
As shown in Figure 5, all the regular pins(A, B and Y) are located on theintersections of the vertical and horizontal
grid. The GND and VDD pins are not located on
the intersections because they are abutmentpins, i.e. because of their shape and
location, these pins will automatically abutagainst each other when the cells are placedside-by-side.
Sample Standard Cell Library
8/10/2019 Miss State Std Cell Tut
20/133
Accessing the Sample Standard
Cell Library Go to the cadence/dfII directory.
Type swsetup cadence-ncsu
Type icfb &
Three windows will appearThe CIW(Command Interpreter Window), Library
Manager Window, and an updatenotification window. Close the updatenotification window.
8/10/2019 Miss State Std Cell Tut
21/133
Accessing the Sample Standard
Cell Library Go to the Library Manager window.
Click on the Library tutorial.
Under the list of cells you will seeDFFSRX1, FILL, FILL2, INVX1 etc. Theseare the standard cells included in the library.
The standard cells included in this libraryall follow the guidelines talked aboutearlier.
8/10/2019 Miss State Std Cell Tut
22/133
DRC Verification
To verify that the standard cells all adhereto DRC rules for the technology in use, youcan use ICFBs Design Rule Check (DRC)
function. All the standard cells (not the I/O pad cells)
in the Tutoriallibrary have been checked topass DRC, but we will go through theprocess for DRC checking for theNOR2X1gate, as an example.
8/10/2019 Miss State Std Cell Tut
23/133
DRC Verification In the Library Manager, open the Layout view of
the cellNOR2X1for edit. In the Layout Editor window, click on Tools ->
Layout.
Click on Verify -> DRC. The DRCwindow willappear.
In the DRCwindow, fill out the information asshown in Figure 6 (next slide). Then, click on OK.
DRC will take a few moments to run. After thatyou should see a message in the CIW windowreporting that there were not DRC errors.
If there were DRC errors found, the errors would
be highlighted in the layout window.
8/10/2019 Miss State Std Cell Tut
24/133
Figure 6: DRC Form
8/10/2019 Miss State Std Cell Tut
25/133
DRC Verification
Note: I/O Pads will rarely pass DRC
because they have special layout structures
to handle ESD.
8/10/2019 Miss State Std Cell Tut
26/133
HSPICE Extraction
Extracting to HSPICE, then simulating theHSPICE model provides a fast and accurate
means verifying the functionality of the
standard cells. Taking theNOR2X1cell as an example, we
will go through the process of extracting the
HSPICE model for that cell.
8/10/2019 Miss State Std Cell Tut
27/133
HSPICE Extraction
Open the Layout view ofNOR2X1for edit. In the Layout Editor window, click on Tools ->
Layout
Click on Verify -> Extract. The Extractor form
will appear.
Fill in the information for the Extractorform
according to Figure 7, on the next slide.
Click on the OKbutton. After a few moments, the CIW should report that
the extraction has been completed.
8/10/2019 Miss State Std Cell Tut
28/133
Figure 7: Extractor Form
8/10/2019 Miss State Std Cell Tut
29/133
Extracting a Hspice NetlistAfter running the Extractor form, follow the
instructions below to generate a HSPICE netlist:
Click on Tools -> Simulation -> Other. Youshould see a new menu item - Simulationappear on your menu bar.
Click on Simulation -> Initialize.
Enter nor2x1.hspice for the simulation rundirectory.
Click on OK. Another Initialize Environmentform should
pop-up. This one has the full set of options tochoose from.
8/10/2019 Miss State Std Cell Tut
30/133
Extracting a Hspice Netlist
In the Initialize Environmentform,
choose hspice for the simulator name.
Enter tutorial for Library Name,NOR2X1 for Cell Name, and
extracted for View Name.
8/10/2019 Miss State Std Cell Tut
31/133
Figure 8: Initialize Environment Form
8/10/2019 Miss State Std Cell Tut
32/133
8/10/2019 Miss State Std Cell Tut
33/133
Extracting a Hspice Netlist
Extracting a Hspice Netlist
8/10/2019 Miss State Std Cell Tut
34/133
Figure 9: Netlist and Simulate Form
8/10/2019 Miss State Std Cell Tut
35/133
Extracting a Hspice Netlist
Click on OK. Wait for a minute or so as ICFBworks in the background to generate the Verilog
netlist.
A message telling you that the netlister hassucceeded should pop up after a minute or so.
The HSPICE netlist will be located in the
directory that you specified as the run directory
(for our case, cadence/dfII/nor2x1.hspice), withthe filename netlist.
8/10/2019 Miss State Std Cell Tut
36/133
Creating Abstracts
The first step in integrating a standard cell
library into your design flow is creating
abstracts of the standard cells.
Abstracts are simpler representations of the
standard cellsabstracts only include
information that is pertinent to the place-and-
route tools, e.g. metaland via layers.
To generate abstracts from the cell layouts,
we are going to use a program called
Abstract Generator.
8/10/2019 Miss State Std Cell Tut
37/133
Abstract generator comes as a part of the Silicon
Ensemble package. As such, it cannot directly readICFB library databases.
The Openbook (refer Appendix A) documentationfor Abstract Generator suggests that you use a
utility called CDS2HLD_4.4 to convert ICFBlibrary databases to the HLD format used byAbstract Generator. Unfortunately, I have notgotten CDS2HLD_4.4to work without errors yet.
A more hassle-free method would be to export thestandard cell library to Stream (GDS) format, thenre-import the GDS file in Abstract Generator.
Creating Abstracts
8/10/2019 Miss State Std Cell Tut
38/133
Exporting to GDS Format To export to GDS format from ICFB:
Go to the CIW. Click onFile -> Export -> Stream
In the Virtuoso Stream Outform, enter the followinginformation:
Run Directory: .
Library Name: tutorial
Top Cell Name: (leave blank)
View Name: layout
Output File: ../gds_files/jennings.gds (Refer Figure 6, nextslide).
Then, click on the User-Defined Databutton. A newform, the Stream-Out User-Defined Dataform willappear.
8/10/2019 Miss State Std Cell Tut
39/133
8/10/2019 Miss State Std Cell Tut
40/133
Exporting to GDS Format
In the Stream Out User-Defined Dataform, enter stream.map for the LayerMap Table. Then, click on OK.
The text file stream.maptells ICFB which
layers correspond to which GDS numbers.When we re-import the GDS file back intoAbstract Generator, we are going to use the
same Layer Map file. Refer to Figure 11 (next slide) for the
Stream Out User-Defined Dataform.
8/10/2019 Miss State Std Cell Tut
41/133
Figure 11: Stream Out User-Defined Data Form
8/10/2019 Miss State Std Cell Tut
42/133
Exporting to GDS Format Now, back in the Virtuoso Stream Out Form
(Figure 10), click on the Optionsbutton. A newform, the Stream Out Optionsform will appear(Figure 12).
In the Stream Out Optionsform, select No
Merge for the Convert PCells to Geometryfield. This flattens out any parametric cells in thecell library (For the I/O Pad Cells). Then, click onOK.
Click on OK in the Virtuoso Stream Out form. AGDSfile (cadence/gds_files/jennings.gds)containing the standard cell library will begenerated.
8/10/2019 Miss State Std Cell Tut
43/133
Figure 12: Stream Out Options Form
8/10/2019 Miss State Std Cell Tut
44/133
Setting up Abstract Generator
Before we use Abstract Generator, we need toset it up so that it uses our technology file (i.e.ami06technology).
Usually your foundry will provide you with anLEF(Library Exchange Format) file, whichcontains all the technology specifications.
If not, you will have to write theLEFfile yourself.TheLEFfile can be somewhat generated fromICFB, but you will still need to modify it a little
before using it in Abstract Generator.
Refer to Appendix A for help on informationaboutLEF file syntax.
8/10/2019 Miss State Std Cell Tut
45/133
Setting up Abstract Generator
AnLEFfile containing technologyinformation on ami06technology isincluded -cadence/lef_files/ncsu_ami06_abgen.lef
We will configure Abstract Generatorusing thisLEFfile.
Go to the cadence/abgen/techdirectory.
Type swsetup cadence-se
Type lef2hld &
8/10/2019 Miss State Std Cell Tut
46/133
Setting up Abstract Generator In the lef2hldform, enter the following information:
Lef File Name(s): ../../lef_files/ncsu_ami06_abgen.lef
Destination Library Name:jennings_ami06
Make sure the Create Technology Filebox is checked, and the
Technology File Name is ./tech.dpux.
Refer to Figure 13 (next slide) for all other fields.
Click on OK. This will create a tech.dpux
file, and also a
jennings_ami06 folder. These will provide Abstract
Generatorwith ami06 technology information. This will NOT
provide Abstract Generator with standard cell information
yet! The standard cells have to be imported via GDS format.
8/10/2019 Miss State Std Cell Tut
47/133
Figure 13: lef2hld Form
What if I dont have an LEF file
8/10/2019 Miss State Std Cell Tut
48/133
What if I don t have anLEFfile
to start with?
You can export technology specifications fromICFB to anLEFfile.
In ICFBs CIW window, click onFile -> Export -> LEF
In the Write to LEF File form, enter../lef_files/ncsu_ami06_icfb.lef for the LEF filename.
Enter ./lefout.list for the Cell List File Name.
Make sure that Logical onlyis checked for theoutput mode.
Refer Figure 14 (next slide) for other details.
8/10/2019 Miss State Std Cell Tut
49/133
Wh if I d h LEF fil
8/10/2019 Miss State Std Cell Tut
50/133
What if I dont have anLEFfile
to start with?
Click on OK.
This will generate anLEFfile containing only thetechnology information (no standard cell layouts are
included). ThisLEFfile still has to be edited before being used
by theLEF2HLDutility.
In the cadence/lef_filesdirectory you should see two
files: ncsu_ami06_icfb.lefwhich you just exportedfrom ICFB, and ncsu_ami06_abgen.lefwhich is in thecorrect format for use withLEF2HLD. Note thedifferences between the two files.
8/10/2019 Miss State Std Cell Tut
51/133
Using Abstract Generator
To start up Abstract Generator:
Type: swsetup cadence-se
Go to the directory: cadence/abgen/runand
type: abstracttech ../tech &
This will bring up the abstract generatorscreen. First, we need to import the GDS
file containing our standard cell layouts,that we exported from ICFB previously.
8/10/2019 Miss State Std Cell Tut
52/133
Figure 15: Abstract Generators Main Window
8/10/2019 Miss State Std Cell Tut
53/133
Importing GDS
In the main window, click onFile ->Technology
After a few moments, the Technology File
Editor should appear. Click on Layerson
the left column, then click on Mappingon
the top row. (refer Figure 16, next slide)
8/10/2019 Miss State Std Cell Tut
54/133
Figure 16: Write to LEF File Form
8/10/2019 Miss State Std Cell Tut
55/133
Now, click on the Mapbutton on theright column. Another form, shown below,
should appear.
Importing GDS
8/10/2019 Miss State Std Cell Tut
56/133
Double-click onstream.map.
This will add the correct GDS stream numbers toAbstract Generators tech.dpuxfile.
Go to the Technology File Editor window, and click
onFile -> Save. Then close the Technology FileEditorwindow.
This process only has to be done one time. Once thecorrect GDS stream numbers have been added, you
can import other GDS files without going through thisprocess again,provided all the GDS files you areimporting share the same GDS layer-number pairs.
Importing GDS
8/10/2019 Miss State Std Cell Tut
57/133
In the main window, click onFile ->Library.
If you have more than one design library,
you will have to choose a design library tobe your current working library.
However, since we only have one library(thejennings_ami06library), we will nothave that choice, and that library is chosenautomatically.
Importing GDS
8/10/2019 Miss State Std Cell Tut
58/133
Importing GDS
Click onFile -> Import -> Layout.
The Import Layoutform will appear (you
may have to resize it after it appears).
8/10/2019 Miss State Std Cell Tut
59/133
Importing GDS
Click on the Browsebutton. A browse formwill appear (Figure 17, next slide)
The GDS file we are looking for iscadence/gds_files/jennings.gds.
Navigate through the browser to get to thatfile. Use the button to go up onedirectory level.
Double-click on the filejennings.gds. Back in the Import Layoutwindow, click
on OK.
8/10/2019 Miss State Std Cell Tut
60/133
Figure 17: Browse Import Layout File Form
I i GDS
8/10/2019 Miss State Std Cell Tut
61/133
Importing GDS
After a few moments, the standard cell
layouts contained injennings.gdswill beimported into abstract generator. Notice thatthe Corebin now has 17 cells.
There are two cells we do not have toprocessPADBOX and PADBOXX.These two cells are parametric cellscontained in all the Pad cells, but since we
had flattened all standard cells during theGDS export process, we dont have toworry about these two cells.
8/10/2019 Miss State Std Cell Tut
62/133
8/10/2019 Miss State Std Cell Tut
63/133
Figure 18: Move Selected Cells Form
8/10/2019 Miss State Std Cell Tut
64/133
8/10/2019 Miss State Std Cell Tut
65/133
Figure 19: NOR2X1 Layout
Viewing Cell Layout
8/10/2019 Miss State Std Cell Tut
66/133
Viewing Cell Layout
Figure 19 showsNOR2X1slayout. Note that all
the metal layers are obscured by other layers. Since we are only interested in the metal and via
layers, lets hide the other layers. On the layoutediting window, click on View -> Layers. This
will invoke the Layer Editorform. First, click on the Nonebutton beside the Visible
field. This turns all layers invisible.
Now, in the Layer-Purposecolumn, find themetal1 drawing entry. Click on it once, thencheck the Visiblecheckbox. (refer figure 20, nextslide).
8/10/2019 Miss State Std Cell Tut
67/133
Figure 20: Layer Editor Form
8/10/2019 Miss State Std Cell Tut
68/133
Viewing Cell Layout
Do the same for all other purposes of metal1(metal1 pin, metal1 net and metal1 boundary).
Do the same for all layer-purposes of the
following layers: metal2 and text. Click on the Redrawbutton, then the Close
button. The Layout Editingwindow will now
only show the metal and text layers.
All other editing windows you open after this willnow only show the aforementioned layers.
8/10/2019 Miss State Std Cell Tut
69/133
Figure 21: NOR2X1 Layout, with redundant
layers hidden.
Ab t t G ti O i
8/10/2019 Miss State Std Cell Tut
70/133
Abstract Generation - Overview
There are three main steps in generating abstractsgenerating thePins view, theExtract view andfinally theAbstract view.
ThePinsstep maps text labels to metal layers,designating certain metal blocks as pins (all pininformation is lost during GDS export, so we needto re-instate that information).
TheExtractstep merges metal blocks under the
same net into one single netwe will not be usingthis function since we want our pins to bespecifically 3x3 lambda sized pins. It also changesany metal.pinlayer into metal.net.
Ab G i O i
8/10/2019 Miss State Std Cell Tut
71/133
Abstract Generation - Overview
TheAbstract step copies the pin (net) informationfrom theExtractstep, and generated blockages forthe metal and via layers (or any other layer thatyou specify). These blockages will tell the place-and-route tool (namely Silicon Ensemble) which
parts of the standard cell to avoid routing overwith certain layers.
The resultingAbstract view contains only net andblockage information.
AnLEF file will then be generated, using theAbstractview of the standard cells.
Ab t t G ti Pi St
8/10/2019 Miss State Std Cell Tut
72/133
Abstract GenerationPins Step
Since all the standard cells are alike, we canprocess them all at once.
Click onDFFSRX1. Then, holding down the ctrl
key, left-click onFILL, FILL2, INVX1,
NAND2X1, NOR2X1, TIEHIand TIELO.
Click onFlow -> Pins. The Pinsform will appear.
Enter the fields as shown in Figure 22 (next slide).
The next slide after that will explain what theentries mean.
8/10/2019 Miss State Std Cell Tut
73/133
Figure 22: Pins Form (Map Tab)
Abstract Generation Pins Step
8/10/2019 Miss State Std Cell Tut
74/133
Abstract GenerationPins Step
Map Text Label to Pins: Notice we have entered
((text drawing) (metal1 pin) (metal1drawing)) for this field.
This tells Abgen to map any text in text.drawingtometal1.pinshapes if there are any metal1.pin
shapes overlapping the text. If there arent any metal1.pinshapes overlapping
the text, then map the text to any overlappingmetal1.drawingshapes.
This works for us because all our text labels areeither located over metal1.pinshapes (for ourregular pins), or over metal1.drawingshapes (forour vdd/gnd pins).
8/10/2019 Miss State Std Cell Tut
75/133
8/10/2019 Miss State Std Cell Tut
76/133
8/10/2019 Miss State Std Cell Tut
77/133
Figure 23: Pins Form (Boundary Tab)
8/10/2019 Miss State Std Cell Tut
78/133
Ab G i Pi S
8/10/2019 Miss State Std Cell Tut
79/133
Abstract GenerationPins Step
The report forNOR2X1warns us that thePR Boundary forNOR2X1 does not encloseall cell view geometry. That is okay, sincewe know we have some geometry that
extends beyond the cells PR Boundary. Click on OKto close the report window.
If you click on the other standard cells
report windows, you will see the samewarning.
This warning can be safely ignored.
8/10/2019 Miss State Std Cell Tut
80/133
Abstract GenerationPins Step
We have finished generatingPinsviews forthe standard cells. We will generatePins
view for the Pad Cells later in this tutorial.
If you want to examine what thePinsviewslook like, pick a cell, then click on Cells ->
Edit -> Pins
Abstract Generation Extract Step
8/10/2019 Miss State Std Cell Tut
81/133
Abstract GenerationExtract Step In the main window, select the standard cells
DFFSRX1, FILL, FILL2, INVX1, NAND2X1,NOR2X1, TIEHI and TIELO.
Click onFlow -> Extract. TheExtractform willappear.
Click once on the Extract Signal Netsbox to de-selectit.
Then, click on the Power tab to bring up the PowerNet menu. Click once on the Extract Power Netsbox to de-selectit.
Click on Run. This will runExtracton all the cells.
To view theExtractview of a cell, select that cell,
then click on Cells -> Edit -> Extract.
8/10/2019 Miss State Std Cell Tut
82/133
Figure 24: Extract Form (Signal Tab)
8/10/2019 Miss State Std Cell Tut
83/133
Figure 25: Extract Form (Power Tab)
Abstract Generation Abstract Step
8/10/2019 Miss State Std Cell Tut
84/133
Abstract Generation Abstract Step
In the main window, select the standard cells
FILL, FILL2, INVX1, NAND2X1, NOR2X1, TIEHIand TIELO(do not selectDFFSRX1 yet).
Under the Blockagetab, make sure that metal1
metal2 metal3 via via2 is entered for the Create
detailed blockages on layers field.
Under the Sitetab, enter core for the site name.
Click on Run. This will generate abstracts for the
aforementioned cells.
8/10/2019 Miss State Std Cell Tut
85/133
Figure 26:
Abstract Form(Blockage Tab)
8/10/2019 Miss State Std Cell Tut
86/133
8/10/2019 Miss State Std Cell Tut
87/133
Abstract GenerationAbstract Step
The abstract generation forDFFSRX1 differs inonly one place: under the sitetab, you should
enter dbl_core.
Since theDFFSRX1cell is a double-height cell, it
should have a different site name compared to the
other standard cells.
Run theAbstractstep forDFFSRX1.
To view theAbstractview of a cell, select thatcell, then click on Cells -> Edit -> Abstract.
Abstract Generation Abstract Step
8/10/2019 Miss State Std Cell Tut
88/133
Notice that there are exclamation marks in the
Abstract column of the cells, in the main window. Select a cell (e.g.NOR2X1), then click on Cells ->
Report.
The report for theAbstract step warns us that the
vdd and gnd terminals have no pins on the Metal1-Metal2 routing grid.
Refer back to Figure 5. This is true, since we have ahorizontal grid offset.
We are not going to route to the vdd and gndpinsanyway, since they are abutmentpins.
Therefore, the warning can be safely ignored.
Abstract Generation Abstract Step
8/10/2019 Miss State Std Cell Tut
89/133
A Note about Warnings
Warnings do not equal errors! Whenever you encounter a warning (or even an
info line), check its validity, and compare it withwhat you know about the standard cells.
If the warning is something that you know about,and you know that it is okay, then you can safelyignore the warning.
Of course if there is genuine concern about the
warning you should go back to your previous stepsand fix whatever is causing the warning before
proceeding.
Abstract Generation Pins Step
8/10/2019 Miss State Std Cell Tut
90/133
Abstract Generation Pins Step
(I/O Pads)
Now we will generate thePinsview for the
remaining I/O Pad cells, except for the
PADFCcell.
Select all the Pad cells except thePADFC
cell, then click onFlow -> Pins.
Fill in the information according to figures28 and 29 (the following 2 slides). Then
click on Run.
8/10/2019 Miss State Std Cell Tut
91/133
8/10/2019 Miss State Std Cell Tut
92/133
Figure 29: Pins Form (Boundary Tab)
8/10/2019 Miss State Std Cell Tut
93/133
Abstract Generation Abstract Step
8/10/2019 Miss State Std Cell Tut
94/133
Abstract Generation Abstract Step
(I/O Pads)
Select all the I/O Pads except forPADFC, thenclick onFlow -> Abstract.
Under the Blockagetab, clear out the Created
detailed blockages on layers field. Enter metal1 metal2 metal3 for the Create
cover blockages on layers field.
Under the Sitetab, enter IO for the site name.
Click on Run. This will generate abstracts for thepad cells.
8/10/2019 Miss State Std Cell Tut
95/133
8/10/2019 Miss State Std Cell Tut
96/133
Figure 31: Abstract Form (Site Tab)
Abstract Generation (PADFC cell)
8/10/2019 Miss State Std Cell Tut
97/133
ThePADFCcell is a little different than theother Pad cells, because as a corner cell, its
PR Boundary has different dimensions than
the other Pad cells. The following are the differences in the
options for thePADFCcell, compared to
the other pad cells.
Abstract Generation (PADFC cell)
8/10/2019 Miss State Std Cell Tut
98/133
8/10/2019 Miss State Std Cell Tut
99/133
8/10/2019 Miss State Std Cell Tut
100/133
Why cant we run allPinssteps,
8/10/2019 Miss State Std Cell Tut
101/133
y p ,
then run allExtractsteps etc.?
The options in the forms (e.g.Pins form)
are different between the standard cells, and
the pad cells. When Abgen detects this, itwill try to re-run the preceding steps again,
using the most recentoptions.
Thus, we need to complete allsteps of theabstract generation a subset of the cell
library, then only move to another subset.
8/10/2019 Miss State Std Cell Tut
102/133
8/10/2019 Miss State Std Cell Tut
103/133
Figure 32: Cell Properties Form
Cell Orientation
8/10/2019 Miss State Std Cell Tut
104/133
Cell Orientation
Now, select all the pad cells. Click on Cells -> Cell Properties
Change property symmetryto X Y R90,
then click on Apply(refer figure 33, nextslide).
Click on OKto close the form.
Having a symmetry of X Y R90 means thecells can be flipped about the X-axis and Y-
axis, and can also be rotated.
8/10/2019 Miss State Std Cell Tut
105/133
Figure 33: Cell Properties Form
Setting LEF Units
8/10/2019 Miss State Std Cell Tut
106/133
g
To set LEF units to be 100 (to be consistent with
our other CAD tools), click onFile -> GeneralOptions
In the General Optionsform, choose 100for LEFUnits.
Extracting to LEF Format
8/10/2019 Miss State Std Cell Tut
107/133
Extracting to LEF Format
In the main window, click onFile -> Export-> LEF.
The Export LEFform will appear.
Click on the Browsebutton, and save the
LEF file asjennings_cells.lefin thedirectory cadence/lef_files
Select Corefor the Export LEF for Bin
field. Click on OKin the Export LEF form.
8/10/2019 Miss State Std Cell Tut
108/133
Extracting to LEF Format
8/10/2019 Miss State Std Cell Tut
109/133
g
A little modification is needed before the LEF filecan be used by Design Planner and Silicon
Ensemble.
Using a text editor, open the file
cadence/lef_files/jennings_cells.leffor edit. Inside theLEFfile, for all PAD macros, change the
CLASSentry from COREtoPAD.
Also, forPADFC, change SIZE to 300 BY 300,and ORIGIN to 0 0, change bothFOREIGN
PADDVDDand ORIGIN to 0.000 0.000.
8/10/2019 Miss State Std Cell Tut
110/133
Change CORE to PAD
8/10/2019 Miss State Std Cell Tut
111/133
1. Change ORIGIN to 0 0
2. Change FOREIGN PADFC to 0 0
3. ChangeSIZE to 300 BY 300
For PADFC only:
Setting up Design Planner
8/10/2019 Miss State Std Cell Tut
112/133
Setting up Design Planner
This section will teach you how to set up Cadence
Design Plannerto use the abstracts of the cell
library we just generated.
LikeAbstract Generator, Cadence Design
Planner uses theHLDformat. TheLEF2HLD utility is once again used to
convert from LEF to HLD format. This time,
though, our LEF file will contain not only the
technology specification information, but also
standard cell information.
Setting up Design Planner
8/10/2019 Miss State Std Cell Tut
113/133
Setting up Design Planner
Change to the cadence/dp_se/tech directory. Type swsetup cadence-dp
Type lef2hld &
In the lef2hldwindow (Figure 35, next slide),enter ../../../lef_files/jennings_cells.lef for theLEF file name.
Make sure the Create Technology File box ischecked.
Fill in the other information according to Figure35
8/10/2019 Miss State Std Cell Tut
114/133
Figure 35: LEF2HLD form
Setting up Design Planner
8/10/2019 Miss State Std Cell Tut
115/133
Take a look at the file cadence/dp_se/run/local.dpux
Notice how the cell library,jennings, is declared. Alsonotice how the design library, design_dbis declared.
You must always have a local.dpux file in your design
planner rundirectory to be able to utilize your
standard cell library and design library.
8/10/2019 Miss State Std Cell Tut
116/133
Other Cellviews in ICFB
8/10/2019 Miss State Std Cell Tut
117/133
We will not discuss the additional cellviewsthat should be included in your standard cell
library in ICFB, for various purposes.
Type swsetup cadence-ncsu Go to the cadence/dfIIdirectory, then type
icfb &
In the Library Managerwindow, select thetutoriallibrary.
Other Cellviews in ICFB
8/10/2019 Miss State Std Cell Tut
118/133
Other Cellviews in ICFB
Besides the layout cellview, other relevantcellviews that should exist for your standard cellsare:
- abstract (for importing DEF files back into
ICFB)- schematic (for schematic-level simulation)
- symbol (for simplified representation inschematics)
- verilog (for verilog extraction)
All views must have the same input/output ports.
8/10/2019 Miss State Std Cell Tut
119/133
The Schematic View
8/10/2019 Miss State Std Cell Tut
120/133
The schematic view is useful when we want to
generate schematic-level designs for simulationpurposes.
It also helps the user understand how the circuitworks. The functionality of complex standard
cells, like DFFs, may be hard to determine just bylooking at the layouthaving a correspondingschematic views helps greatly in the understandingof the circuit.
Schematic view are great for debugging purposes.If something is not working right for the layoutview, simulate the schematic view to see whathappens in that particular situation.
The Symbol View
8/10/2019 Miss State Std Cell Tut
121/133
y
The symbol view can be inserted into
schematics to represent the schematic of
that particular standard cell.
It consists only of the input/output ports of
the cell, and some text information.
The symbol view is also used in certain
extraction tools (e.g. verilog extraction) as a
start view.
The Verilog View
8/10/2019 Miss State Std Cell Tut
122/133
g
The verilog view is one of the stop viewsfor verilog extraction. It is basically a
replica of the symbol view.
Note that FILL and FILL2 do not haveverilog views. This is because during
verilog extraction, we do not want to extract
filler cells.
S
8/10/2019 Miss State Std Cell Tut
123/133
Synopsys
This concludes the Cadence section of this
tutorial. The remainder of the tutorial will
deal with integrating the standard celllibrary for use with Synopsys Design
Compiler.
Synopsys Design Compiler
8/10/2019 Miss State Std Cell Tut
124/133
Synopsys Design Compiler will take a VHDL or
Verilog behavioral model, and output a Veriloggate-level model using the user-defined standardcells.
To be able to do that, it needs information about
the standard cells in the form of a library (.lib) file. The filesynopsys/run_syn/jennings.libcontains
information corresponding to out sample standardcell library. The following slides will briefly
explain the Synopsys .lib format. For a morecomplete description of the .lib format, pleaserefer to the help files pointed to in Appendix A.
8/10/2019 Miss State Std Cell Tut
125/133
8/10/2019 Miss State Std Cell Tut
126/133
Cell Name
Footprint Area
Input PinInformation
Output PinInformation
Output Pin Function
Compiling the .lib file
8/10/2019 Miss State Std Cell Tut
127/133
BeforeDesign Compiler can use the .lib file, the
.lib file needs to be compiled into a .db format. Go to thesynopsys/run_syndirectory.
Type swsetup synopsys
Type dc_shell
At the dc_shell prompt, type: read_libjennings.lib
Then, type: write_lib jennings
Then, type: quit This will compilejennings.liband produce a file
calledjennings.db, which will be used byDesignCompiler.
Compiling the .lib file
8/10/2019 Miss State Std Cell Tut
128/133
p g
Note: In the second command you typed,write_lib jennings, the target jennings
corresponds to the library declaration in the
first line of your .lib file.
Appendix A: How to get help
d i
8/10/2019 Miss State Std Cell Tut
129/133
documentation
Besides the Helpmenu available on allapplications discussed in this tutorial, there areother sources of help available.
Design Planner and Silicon Ensemble: On theECE or ERC server, launch netscape and go to:file:/opt/ecad/cadence/v4.45/dsm_dp_3.4d/hld1x/doc/Help.html
This site (only accessible on ECE or ERC servers)contains plenty of information on Design Planner,including LEF and DEF Format Syntax, adesign flow guide etc.
Appendix A: How to get help
8/10/2019 Miss State Std Cell Tut
130/133
pp g p
documentation OpenBook: Silicon Ensemble and Abstract
Generator
In the terminal window, type: swsetup cadence-
se, then type: openbook &. When the Openbook window appears, click on
Go -> Index.
For Silicon Ensemblehelp: Go to the Ssection.
There will be a few Silicon Ensemblesections.The one that would probably be most useful for
purposes of this tutorial will be the SiliconEnsemble Reference.
Appendix A: How to get help
8/10/2019 Miss State Std Cell Tut
131/133
pp g p
documentation
For Abstract Generator help:Go to the A
section. Then, click on the Envisia
Abstract Generator User Guidelink.
Appendix A: How to get help
8/10/2019 Miss State Std Cell Tut
132/133
pp g p
documentation
OpenBook: ICFB
In the terminal window, type: swsetup
cadence-ncsu, then type: openbook &.
This will bring up help for ICFB-related
topics.
Appendix A: How to get help
8/10/2019 Miss State Std Cell Tut
133/133
documentation