virtuoso tutorial

Upload: srikanth-govindarajan

Post on 01-Jun-2018

250 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Virtuoso Tutorial

    1/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    Virtuoso Schematic, Layout, and Verification

    This tutorial will cover the basic steps involved in

    • Accessing the Cadence tool called Virtuoso on GLUE• Creating a schematic in the Virtuoso Schematic Editor • Creating and extracting a layout with the Virtuoso Layout Editor • Veri ying the layout!s manu acturability with "esign #ule Chec$ing• Veri ying the layout!s unctionality with Layout Versus Schematic %LVS&

    The document covers schematic and layout creation o a simple '()S transistor or illustrative purposes* (ore details about using Virtuoso can be ound in the #e erences section and undercdnshelp * To launch Cadence documentations application+ type cdnshelp at the terminal*

    Notes: We shall assume that you are using a Windows Operating System and are familiar with

    basic Linux system commands (creating directories, deleting files, etc. .

    Contents

    , ',T,AL,-AT,)' *****************************************************************************

    SET U/ A'" STA#T V ,#TU)S) ****************************************************************

    C#EATE A 'E1 L,2#A#3 ********************************************************************

    C#EATE A SC5E(AT,C 1,T5 V ,#TU)S) ********************************************************

    C#EATE A'" VE#,73 A LA3)UT 1,T5 V ,#TU)S) ***********************************************

    # E7E#E'CES *******************************************************************************

    I NITIALIZATION

    , you are wor$ing in 1indows+ the ollowing so tware will be needed or the tutorial*

    .* #min$% 9ming is a ree+ open source 9:1indows terminal emulator %9 Server& that runson (icroso t 1indows computers* ,n simplest terms+ 9ming allows you to run an 9application a ter connecting to a remote server using SS5* ,t is available at

    http;

  • 8/9/2019 Virtuoso Tutorial

    2/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    S ET UP AND START V IRTUOSO

    .* Start #min$% , 9ming is started correctly+ it should appear in your system tray*0* Start and confi$ure &u''(% ,n the Category portion o the /uTT3 Con iguration

    window %le thand side&+ select the subcategory ?S55@ o ?Connection*@ Then+ select?9..@ which opens the )ptions controlling SS5 9.. orwarding* Under 9.. orwarding+

    ma$e sure that ?Enable 9.. orwarding@ is chec$ed %see 7igure .&* 'ext+ go to thesubcategory ?"ata@ o ?Connection*@ Under Login details+ enter your Auto:loginusername %see 7igure 0&* Note you username should be your login name for accessing

    !y"!#, testudo, campus e$mail, etc. #eturn to the 2asic options or your /uTT3session by clic$ing ?Session@ in the Category portion o the Con iguration window*Under 5ost name and port+ write linux.glue.umd.edu and 22 respectively* 7orConnection type+ choose SS5 %see 7igure 4&*

    "i$ure )* Set #)) "or+ardin$ "i$ure * Set Username

    "i$ure -* Setu! and Save Session .!tions

    "i$ure 4* Command &rom!t

  • 8/9/2019 Virtuoso Tutorial

    3/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    4* Save the &u''( settin$s% ,n order to avoid repeating these steps the next time you wantto use Virtuoso+ you should save the session* This can be done by naming the session inthe Saved Sessions bar and clic$ing the Save button* , done correctly+ the name o yoursession will appear in the box next to the Load+ Save+ "elete buttons* To retrieve your

    settings+ select the session you named and clic$ the Load button %see 7igure 4&*6* .!en a &u''( session% Clic$ the )pen button at the bottom o the window* ,n theterminal window that opens+ you will be prompted or your password* Note you password

    should be the one you use for accessing !y"!#, testudo, campus e$mail, etc. Thecommand prompt will appear upon entering your password %see 7igure 6&*

    * Virtuoso Setu!% Create a directory % mkdir & you want to put your designs in and change%cd & to that directory* ,n the terminal+ type the command tap cadenceIC6 and clic$enter* Note this command is re%uired e&ery time you begin a new 'u ) session and

    gi&es you access to the *adence tools * ,n order to use Virtuoso+ you!ll also need to setupthe 'orth Carolina State University C"B design technology iles . To do so+ simply runthe ollowing two commands

    %i& cp/afs/glue.umd.edu/department/enee/software/cadenceIC6/linux/inst/ncsu-cdk-1.6.0.beta/.cdsinit .

    %ii& cp/afs/glue.umd.edu/department/enee/software/cadenceIC6/linux/inst/ncsu-cdk-1.6.0.beta/cdssetup/cds.lib .

    to copy the two iles to your current directory %note that there is a space be ore the last period&*

    8* Launch Virtuoso% Type irtuoso ! ! and press enter* A ter a ew moments+ Virtuososhould start and the Command ,nter ace 1indow will appear %see 7igure &*

    "i$ure /* Command nterface 1indo+ 2C 13

    Note: +f you are ha&ing trouble logging into L"- or launching irtuoso, please contactthe -*- helpdes/ at ecehelpDece*umd*edu . 0or additional documentation on irtuoso,type cdnshelp in the terminal after the abo&e tap commands.

    C REATE A NEW LIBRARY

    1hen starting a design in Cadence+ the irst thing to do is to create a library where you can storeyour designs* Every library is associated with a technology ile and it is the technology ile that

    mailto:[email protected]:[email protected]

  • 8/9/2019 Virtuoso Tutorial

    4/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    supplies all the color maps+ layer maps+ design rules+ extraction parameters re uired to view+design+ simulate+ and abricate your design* To create a new library+ goto ToolsFLibrary(anager in the C,1* Note if you performed the abo&e Virtuoso Setu! steps properly, you will

    see the N*S" technology libraries in the directory (see 0igure 1 . Then in the Library (anagerwindow+ goto 7ileF'ewFLibrary* 1hen the ?'ew Library@ window opens+ enter the name oyour library and press the )B button* Then choose 2ttach to an existing technology library and

    press the )B button* Choose "C#$%&ech'ib%tmsc02 as the technology library and press)B*

    At this point+ you have created a library to store your design and can start the design process* 7or a ull custom design+ the process will proceed by creating the ollowing; schematic+ symbol+ andlayout* ,n this tutorial+ we shall ocus on creating new schematics and layouts or an '()Stransistor*

    "i$ure 6* Li rary Mana$er +ith NCSU li raries

    C REATE A SCHEMATIC WITH V IRTUOSO

    .* Create a Ne+ Cell% 1e shall begin with the Virtuoso Schematic Editor* To create a newcell schematic+ highlight the library you created in the previous section and goto7ileF'ewFCell View in the Library (anager* ,n the ?'ew 7ile@ window+ enter thename o your cell* Set the view and type to ?schematic@ %see 7igure &+ and then press)B* , you receive any warnings about the version o the tool %L+ 9L+ G9L&+ =ust $eepclic$ing ?3es@ until the Schematic Editor opens*

    0* Virtuoso Schematic Editor Menu% The ollowing menu items are re uently used while

    creating a layout* ,t may also be worthwhile to be amiliariHe yoursel with their $eyshortcut commands* Some o the menu options are also accessible via the buttons belowthe menu*

    "ileo Sa&e: Save your changes to the layout*

    Edito "ndo: Undo the previous commands*

  • 8/9/2019 Virtuoso Tutorial

    5/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    o 3edo: #edo the previous commands*o !o&e ; Clic$ on any ob=ect once+ move it in the schematic editor+ and clic$

    once to drop it*o *opy: Creates a copy o any ob=ect in the schematic* Clic$ on the ob=ect

    you want to copy+ move the mouse to the desired location in theschematic+ and clic$ again to paste the copied ob=ect*

    o #elete: "elete an ob=ect in the layout by choosing delete rom the menuand then clic$ing the ob=ect*

    o 3otate: #otate an ob=ect IJ degrees by choosing rotate rom the menu andthen clic$ing the ob=ect*

    Createo +nstance: Allows you to choose a part %transistor+ gate+ etc*& and place it in

    the schematic* Choose the desired part by browsing the library+ and then place it by clic$ing once in the schematic editor*

    o 'in: Create pins* 'ame the pin irst+ and then place it in the schematic byclic$ing once*

    o Wire: Connect wires to terminals o the parts and pins by clic$ing the?yellow diamonds@ o the parts

  • 8/9/2019 Virtuoso Tutorial

    6/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    "i$ure 5* Create ne+ Cell layout

    "i$ure * Com!onent 7ro+ser

    "i$ure 8* (ello+ iamond 9!!earin$ in &in"i$ure )0* Com!leted NM.S Schematic

    C REATE AND VERIFY A LAYOUT WITH V IRTUOSO

    )% Create a Ne+ Cell% 'ext+ we shall discuss how to create a layout or the '()Stransistor* To create a new cell layout+ highlight the library you created in the Section ,,,and goto 7ileF'ewFCell View* ,n the ?'ew 7ile@ window+ enter the name o your cell*Set the view and type to ?layout@* Then press )B* , you receive any warnings about theversion o the tool %L+ 9L+ G9L&+ =ust $eep clic$ing ?3es@ until the Layout tool opens*

    Note if you performed the abo&e Virtuoso Setup steps properly, the layers (pwell, nwell,

  • 8/9/2019 Virtuoso Tutorial

    7/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    etc. in the Layers Window (snapped to the lefthand side of irtuoso will ha&e differentcolors as shown in 0igure 55.

    % Virtuoso Menu% The ollowing menu items are re uently used while creating a layout* ,tmay be worthwhile to amiliariHe yoursel with their shortcut $ey commands* Some o

    the menu options are also accessible via the buttons below the menu* "ile

    o Sa&e: Save your changes to the layout* Create

    o 3ectangle: Creates a rectangle or the current layer selected in the Layerswindow* To create a rectangle+ clic$ the mouse once to start the rectangle+then drag+ then clic$ the mouse again to inish the rectangle*

    o !ultipart 'ath: Creates a path o the layer selected in the Layers window*Clic$ once to begin a path then drag* To ma$e IJ degree bends in the path+clic$ once* "ouble clic$ to end the path*

    o +nstance: Used to import another existing cell view into this cell view*/lace in the layout by clic$ing once*

    o 'in: Create pins* /ins are created in the layout similar to rectangles* Edit

    o "ndo: Undo the previous commands*o 3edo: #edo the previous commands*o !o&e ; Clic$ on any ob=ect once+ move it in the layout+ and clic$ once to

    drop in bac$ into the layout*o *opy: Create a copy o any ob=ect in the layout* Clic$ on the ob=ect you

    want to copy+ move the mouse to the desired location in the layout+ and

    clic$ again to paste the copied ob=ect*o Stretch: Clic$ on the ed$e o a rectangle and re:siHe it by moving the

    mouse and clic$ing again*o #elete: "elete an ob=ect in the layout by choosing delete rom the menu

    and then clic$ing the ob=ect*o 6asic:

    'roperties: Change the properties o ob=ects in the layout %Eg* thelayer the ob=ect corresponds to&*

    'oolso 3uler: Creates a ruler or you to measure eatures in your layout* Clic$

    once to start the ruler+ drag the mouse+ and clic$ once more to end theruler* The ruler will remain in the layout until deleted*

    o *lear 2ll 3ulers: "eletes all rulers* Verify

    o #3*: Chec$ the layout or design rule violations*o -xtract: Create an extracted view o the layout %used or simulations and

    or comparison to schematics&*

  • 8/9/2019 Virtuoso Tutorial

    8/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    o !ar/ers: -xplain: Clic$ on the mar$ers to see what rule was violated* #elete all: #emove the mar$ers a ter a "#C run*

    "i$ure ))* Virtuoso 1indo+ +ith Layers 1indo+

    -% Set is!lay .!tions% 2e ore starting the layout+ you need ix the grid siHing* ,n the?Virtuoso@ window+ goto )ptionsF"isplay+ which will open the ?"isplay )ptions@window* Set the grid control parameters in the right hand upper corner to the desiredvalues %see 7igure .0&* Note that the unit of each parameter is in 7m. 3ou should set thegrid parameters to match the minimum eature siHe o your technology %i*e* M&* Suggested

    parameters are shown in 7igure .0*

    Layers1indow

  • 8/9/2019 Virtuoso Tutorial

    9/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    "i$ure ) * is!lay .!tions +indo+ and $rid s!acin$

    4% ra+in$ an NM.S 'ransistor% As discussed above+ we will be creating an '()Stransistor layout in this tutorial* Note that the blac/ bac/ground in the initial layoutcorresponds to a p$substrate. Since we are designing an '()S+ we can place our activelayers directly in the p:substrate* Note that building a '!OS re%uires you to create an n$well.

    The layers re uired to build the '()S are shown in 7igure .4* The layers are cc+ metal.+ pactive+ nactive+ poly+ nselect+ and pselect* 3ou can create each layer using the commandsdiscussed in Virtuoso Menu% The order in which the layers are created is not important*The only re uirement is that all the layers should be present* Note that the si8e of eachrectangle is a function of the display options you choose abo&e and should be chosen to

  • 8/9/2019 Virtuoso Tutorial

    10/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    pass the rules in the selected technology file. "esign rules to ollow can be ound at the()S,S website %eg* http;

  • 8/9/2019 Virtuoso Tutorial

    11/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    place a contact to connect the p:substrate to ground* The p:contact is complementary tothe n:contact and is made o cc+ p:active and metal. surrounded by a p:select rectangle*

    "i$ure )4* NM.S 'ransistor Layout

    /% esi$n ;ule Chec

  • 8/9/2019 Virtuoso Tutorial

    12/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    "i$ure )/* Create Sha!e &in 1indo+

    "i$ure )6* NM.S 'ransistor Layout +ith &ins

    * Layout E=traction and Verification% The layout extraction tool is used to generate acircuit netlist rom your layout* The extracted view can be used to run Layout VersusSchematic %LVS& or to run simulations* To run layout extraction tool+ go toVeri yFExtract* The Extractor window %see 7igure . & should appear* Clic$ on the ?Set

  • 8/9/2019 Virtuoso Tutorial

    13/14

    ENEE640 Virtuoso Schematic, Layout, and VerificationUniversity of Maryland – ECE e!artment omenic "orte

    Switches@ button* ,n the Switches Selection 1indow %see 7igure . &+ select?ExtractKparasiticKcaps@ and ?BeepKlabelsKinKextractedKview@ options as shown in theigure %hold Ctrl and clic$ on options to select multiple options&* Note that if the9-xtract parasitic caps; switch is turned on during extraction, the extraction toolcalculates the parasitic capacitances on all layers on the layout. Clic$ )B to close setswitches dialog and clic$ )B again on Extractor dialog to run the layout extraction* Theextraction report will appear in C,1 window when inished and should hope ully beerror: ree*

    "i$ure )5* E=tractor 1indo+"i$ure ) * Set S+itches 1indo+

  • 8/9/2019 Virtuoso Tutorial

    14/14

    R EFERENCES

    )% E$arat Laohavaleeson+ irtuoso Schematic *omposer + available at http;