inv std cell1

21
14 January 2008 Layout of standard cells for AMI 1.2 Overview An extremely powerful concept in VLSI is the standard cell library. Standard cells help create efficient dense layouts because they are easily abutted during the layout process. Standard cell layout simply means that all standard cells - nand, nor, not, etc. - in the design are layed out with standard dimensions for heights, widths, actives and wells, and have standard power (vdd!) and ground (gnd!) busses. The main purpose of this tutorial is to you how to use Virtuoso Layout Editor and create a layout of an inverter that could be used in a standard cell library. The tutorial also includes instructions on checking (DRC and LVS) the layout. Standard Cell Template It is much easier to ensure that your standard cell library is actually standard by creating a standard cell template which you copy into your individual cell layouts. All the standard cells in your library will have a fixed height. We're going to set it at 90 lambda (54 microns: remember a 1.2 micron process has a lambda of 0.6u). They will all have a minimum width, but can be wider depending on the size of a cell. For instance, inverters are very narrow, nand gates are somewhat wider, and flip-flops are much wider. When you need wider cells, simply abut multiple standard cell templates together. Fire up cadence (icfb) and create a library following the instructions in Cadence Setup: For the first-time user . In the Library Window, select the library you have created and then select File -> New -> Cellview... Make sure the Cell Name field reads "template" and type "layout" in the View Name field. After typing "layout", hit TAB and the Tool should automatically change to Virtuoso. If it doesn't, then manually change it by selecting the drop down box. Select OK and the Virtuoso Layout Editing Window will open, along with the Layer Select Window (LSW). The LSW contains all of the different layers needed for the layout process. (You will only need to use some of these layers. Note: in the following picture, a different technology library has been used, and thus the layers are not quite the same as you will see.) Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/... 1 of 21 Monday 15 June 2015 12:30 PM

Upload: sriramnaidugorle

Post on 14-Sep-2015

225 views

Category:

Documents


0 download

DESCRIPTION

Std Cell

TRANSCRIPT

  • 14 January 2008

    Layout of standard cells for AMI 1.2OverviewAn extremely powerful concept in VLSI is the standard cell library. Standard cells helpcreate eicient dense layouts because they are easily abutted during the layout process.Standard cell layout simply means that all standard cells - nand, nor, not, etc. - in thedesign are layed out with standard dimensions for heights, widths, actives and wells, andhave standard power (vdd!) and ground (gnd!) busses.The main purpose of this tutorial is to you how to use Virtuoso Layout Editor and create alayout of an inverter that could be used in a standard cell library. The tutorial alsoincludes instructions on checking (DRC and LVS) the layout.

    Standard Cell TemplateIt is much easier to ensure that your standard cell library is actually standard by creatinga standard cell template which you copy into your individual cell layouts. All the standardcells in your library will have a xed height. We're going to set it at 90 lambda (54microns: remember a 1.2 micron process has a lambda of 0.6u). They will all have aminimum width, but can be wider depending on the size of a cell. For instance, invertersare very narrow, nand gates are somewhat wider, and ip-ops are much wider. Whenyou need wider cells, simply abut multiple standard cell templates together.Fire up cadence (icfb) and create a library following the instructions in Cadence Setup:For the rst-time user. In the Library Window, select the library you have created andthen select File -> New -> Cellview... Make sure the Cell Name eld reads "template"and type "layout" in the View Name eld. After typing "layout", hit TAB and the Toolshould automatically change to Virtuoso. If it doesn't, then manually change it byselecting the drop down box. Select OK and the Virtuoso Layout Editing Window willopen, along with the Layer Select Window (LSW). The LSW contains all of the dierentlayers needed for the layout process. (You will only need to use some of these layers.Note: in the following picture, a dierent technology library has been used, andthus the layers are not quite the same as you will see.)

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    1 of 21 Monday 15 June 2015 12:30 PM

  • Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    2 of 21 Monday 15 June 2015 12:30 PM

  • The Virtuoso Layout Editing Tool has similar side icons to those of the Virtuoso SchematicEditing Tool. Some of the ones that will be used frequently in this tutorial are therectangle icon (or typing 'r') and the ruler icon (or typing 'k'). The other icons are prettystraight forward to understand and will be referred to if they are needed.Use the ruler to measure out an area 54 u tall and 10.2 u wide. Use the 0,0 origin as yourstarting reference point. Your layout view should look like the picture.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    3 of 21 Monday 15 June 2015 12:30 PM

  • Make a power bus at the top of the cell. Use metal1 to draw a rectangle 4.8 u by 15 u.(The 'r' key selects rectangle drawing.) Notice how it hangs over the edges of the area wedened with the ruler? This is so the cells adjoin easily later on. It should hang 2.4 u overthe edge.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    4 of 21 Monday 15 June 2015 12:30 PM

  • Copy the metal one rectangle and place the copy at the bottom of the cell. This is yourground bus. Make sure it also hangs over the cell area you dened the same way thepower bus does.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    5 of 21 Monday 15 June 2015 12:30 PM

  • Because the vdd and gnd busses will be embedded in nwells and pwells, we need to putnselect and pselect around them. Put an nselect region around the vdd bus. Make it 0.3 ularger on every side than the metal1 rectangle. Put a similar pselect region around thegnd bus.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    6 of 21 Monday 15 June 2015 12:30 PM

  • Generally the pullup devices are larger than their corresponding pulldown devices.Planning for this, draw your n-select and p-select regions. Make the pselect region takeup about 2/3 of the cell. Draw a pselect rectangle 26.7 u high by 10.2 u wide. Butt it upagainst the nselect around the vdd bus. Draw an nselect rectangle 17.1 u by 10.2 u. Buttit up against the pselect around the gnd bus. Note, it will help you to watch the delta Xand delta Y coordinates at the top of your screen while drawing rectangles.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    7 of 21 Monday 15 June 2015 12:30 PM

  • Create the pwell and the nwell. The nwell goes around the p-type transistors and thepwell goes around the n-type transistors. The wells should extend 0.3 u around the p andn select boxes surrounding the vdd and gnd busses. They should meet exactly betweenthe p and n select boxes in the body of the cell.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    8 of 21 Monday 15 June 2015 12:30 PM

  • Create contacts to connect the vdd and gnd busses. This helps avert latchup. To createcontacts press 'o' and select M1 to Active. Place three contacts on the vdd bus and threeon the gnd bus. Make sure they are placed exactly at (0, 0), (5.1, 0), (10.2, 0), (0, 54),(5.1, 54) and (10.2, 54).

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    9 of 21 Monday 15 June 2015 12:30 PM

  • In order to see what is inside the contacts, press 'e' to bring up the display options andset the display level to 10. Display levels are referring to the layers on the chip layout butrefer to levels of detail. What we are doing here is logically looking at details about ourpins that relate back to the schematic.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    10 of 21 Monday 15 June 2015 12:30 PM

  • Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    11 of 21 Monday 15 June 2015 12:30 PM

  • Design Rule CheckWhenever you make edits to a layout, you need to ensure that no layout design rules havebeen violated. The tools help you with this by providing a "Design Rule Check" (DRC)tool. To run DRC, save your layout and then select Verify -> DRC...

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    12 of 21 Monday 15 June 2015 12:30 PM

  • Make sure that the "Rules File" eld contains "divaDRC.rul". This is the le that containsall of the design rules that the layout must adhere to. Make sure that the "Rules Library"eld contains "AMI12". (NOTE: the picture below does not have the right "RulesLibrary" eld.) You do not need to worry about changing any of the other options. SelectOK. Then, check the CIW to make sure there were no errors. If there were any errors, thelocations of errors will be highlighted in the Virtuoso Layout Editing window (you will seewhite lines, boxes, or crosses). Also, in the CIW, it will tell you the design rules that havebeen violated.You can use the Verify -> Markers -> Find... command from the menu to make it easierto nd violations. This command brings up a dialog box which you can use to "step"through the violations, highlighting or zooming into each one. Simply use the "Next" and"Previous" button to move through the violations.Continue to edit the layout and x violations until there are no remaining violations.

    Creating an InverterNow lets use the standard cell template created in the previous section to add an inverterto the standard cell library.Create a schematic for an inverter following the instructions in Cell-level schematic entry.Call the cell "inv".Create a new cellview called "inv" but this time choose layout for the cell type. Also openup the standard cell template layout. Select the entire template, press 'c' to open thecopy dialog, click somewhere in the template and them move the mouse over to the

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    13 of 21 Monday 15 June 2015 12:30 PM

  • inverter layout window. Place the template in the inverter layout. Carefully place thelower left contact right on the origin. Remember, in order for the standard cells to abutcorrectly they need to share a common origin.Odds are the contacts do not look right. Press 'e' to open the display options and setDisplay Level Stop to 2.Draw the inverter making sure it matches the pictures below and that the transistorwidths are correct.The inverter pullup: Draw a box of active 7.8 u by 10.8 u. Place a bar of poly 1.2 u wide. Itshould overlap the active by 1.2 u. Press 'o' to open the contacts menu. Select metal1 toactive contacts, 1 column, 4 rows and place them as shown. Make a small rectangle ofmetal1 to connect the left side contacts to the vdd bus. Note: running DRC at this point isa good idea. It should pass easily. If it doesn't, make sure all the layers are sized correctlyand try again.

    The inverter pulldown: Draw a box of active 7.8 u by 3.6 u. Stretch the bar of poly fromthe pullup section down to the pulldown section. Make sure it overlaps the active by 1.2u. Press 'o' to open the contacts menu. Select metal1 to active contact, 1 column, 1 rowsand place two of them as shown. Make a small rectangle of metal1 to connect the left

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    14 of 21 Monday 15 June 2015 12:30 PM

  • side contacts to the gnd bus. Note: The layout should pass DRC at this point.

    The contacts: Placing contacts in standard cells is easy. The only things you need to thinkabout are routing lanes. You want to be able to route horizontal tracks of metal 2 overyour standard cells. Parallel metal 2 paths must be separated by 2.4 u. That means youcan theoretically have a metal 2 path every 4.2 u - that is, 2.4 u between paths and thepaths are 1.8 u wide. Our cells have routing tracks every 6 u. This gives us a little extraroom to manuver if we need it.Start on the x-axis and draw a ruler up the right hand side of the inverter. See the gurebelow. Place your output contact at 27 u or 21 u. Place your input contact at 15 u. Theinput and output contacts are metal 1 to metal 2 vias. In order to hook the input contactup the the poly, place a metal 1 to poly contact next to the poly, connect it with a smallpiece of poly and then connect it to the input contact with metal 1. The reason we didn'tjust stack this up is that the process doesn't allow stacked vias. Most newer processes do,this is just a quirk of the technology we are working with.Your contacts should look like the gure below.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    15 of 21 Monday 15 June 2015 12:30 PM

  • Naming pins: Place two metal 2 layer shape pins and two metal 2 layer shape pins. First,select metal 2 in the LSW. (LSW stands for layer select window, it is probably on the leftside of the screen.) Go to Create -> Pins and open the create pins window. Select mode asshape pin and make sure rectangle is selected. Select Display Name. In the terminalnames block, type A Y. Select I/O type as input. The create pin box should look like thegure.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    16 of 21 Monday 15 June 2015 12:30 PM

  • Go to the layout and draw a rectangle directly over the metal 1 to metal 2 via on theinput. Change I/O type to output and do the same for the output via. You should seesomething like the gure.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    17 of 21 Monday 15 June 2015 12:30 PM

  • Now select metal 1 in the LSW. Create vdd and gnd shape pins on top of the gnd and vddbusses. Set the I/O type to inputoutput. Your nished inverter should look like the gure.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    18 of 21 Monday 15 June 2015 12:30 PM

  • Now save and run DRC. Fix any violations you nd.If you close the layout view and reopen it, your pins may seem to disappear. They haven't;they've just become invisible. Open the display options by pressing 'e' and select "PinNames" to make them visible again.

    Layout vs. Schematic CheckAfter you have completed a layout and it passes DRC, it is extremely important that youcheck that the layout you have created actually matches the schematic for the cell. Thetools provide a "Layout vs. Schematic Check" (LVS) tool.Before running, LVS, you must rst "extract" the layout. To do this, select Verify ->Extract... in the Virtuoso Layout Editor window.

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    19 of 21 Monday 15 June 2015 12:30 PM

  • Leave all of the default settings and verify that the "Rules File" is "divaEXT.rul" and the"Rules Library" is "AMI12". Select OK. Verify that there are no errors in the CIW. A new"extracted" cell view has been created in your library. You can verify this by checking inthe Library Manager Window.To run LVS, select Verify -> LVS... in the Virtuoso Layout Editor window. The LVS dialogwindow will appear. Enter the library name and cell name in both the "schematic" and"extracted" area of the dialog box. Set the "View" to "schematic" and "extracted",respectively. (Note: be careful to check this every time you run LVS, particularly ifyou work on multiple cells.) Ensure that the "Rules File" is "divaLVS.rul" and the"Rules Library" is "AMI12". Make sure that all of the other options read like the imagebelow. (Note: the image below has the wrong cell name and rules library.)

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    20 of 21 Monday 15 June 2015 12:30 PM

  • To check that the layout and schematic are the same, select Run. If the LVS succeeded,you should get a message saying so. This may take a minute or so to run.

    This message means that LVS ran without crashing; it does not necessarily mean thatthere weren't any errors. In the LVS window, select Output to display the results of thecheck. If there weren't any errors, the output report should read "The netlists match". Ifthe netlists didn't match, it may be because you used dierent names in the schematicfrom the names you used in the layout. There are other examples of why they won'tmatch, but if you have followed this tutorial and the previous one, you shouldn't have anyproblems. (The output report can also be found in a le "si.out" in a subdirectory called"LVS" of the directory in which you invoked icfb. In general, all sorts of run les whichcan help debug LVS problems are in this subdirectory.)

    Layout of standard cells for AMI 1.2 http://ece451web.groups.et.byu.net/cadence-help/...

    21 of 21 Monday 15 June 2015 12:30 PM