miss state std cell tut

Upload: aparna-tiwari

Post on 02-Jun-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.pdf
  • 8/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.html
  • 8/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