Example: air traffic controller

Cadence Tutorial - Columbia University

Cadence TutorialColin Weltin-WuStep 1 Before anything you need to modify in you root directory. Open thefile~/.bash_profilein your favorite editor, and it should look something like this:# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=\$PATH:\$HOME/binexport PATH unset USERNAMEYou must add the linePATH=/usr/cad/mmsim/tools/bin:$PATH before thePATH statement,so it looks like this:# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=/usr/cad/mmsim/tools/bin:$P ATHPATH=$PATH:$HOME/binexport PATH unset USERNAMESave and exit. Check that the line is now there by typingmore .bash_profileand create a Cadence directory for your files. You can name it 4312 for example, andcreate it withmkdir 4312at the prompt. Then change to that directory withcd 4312. Now1you have to set up some environment parameters.

Cadence rounds to the closest value possible within the constraints of layout, i.e. a resistor length of 9.2323 mis impossible so rounding may be required. ... 17. We should also add back the input and output waves to the Outputs window, and deactivate the unneeded Analyses and Outputs. The simulator should now look like this:

Tags:

  University, Columbia university, Columbia, Cadence

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Cadence Tutorial - Columbia University

1 Cadence TutorialColin Weltin-WuStep 1 Before anything you need to modify in you root directory. Open thefile~/.bash_profilein your favorite editor, and it should look something like this:# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=\$PATH:\$HOME/binexport PATH unset USERNAMEYou must add the linePATH=/usr/cad/mmsim/tools/bin:$PATH before thePATH statement,so it looks like this:# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=/usr/cad/mmsim/tools/bin:$P ATHPATH=$PATH:$HOME/binexport PATH unset USERNAMESave and exit. Check that the line is now there by typingmore .bash_profileand create a Cadence directory for your files. You can name it 4312 for example, andcreate it withmkdir 4312at the prompt. Then change to that directory withcd 4312. Now1you have to set up some environment parameters.

2 Run the following commands, replacing<username>with your login username:cp ~tod/4312 ~<username>/4312/.cp ~tod/4312/.cdsinit ~<username>/4312/.cp ~tod/4312 ~<username>/4312/.cp ~tod/4312/.cdsenv ~<username>/.Now log out and log back in to make sure all the changes take effect. Once you re loggedback in,cdto the Cadence directory and run Cadence withicfb &. Theicfbwindow is themain Cadence window and also serves as the console where error messages 2 Once you have theicfbwindow, clickTools -> Library Managerto bring up the LibraryManager. This is where all your designs are stored in a hierarchical fashion. To create anew project, go toFile -> New -> name it anything you want, for exampletutorial. When it asks for a techfile, select Don t Need a Techfile .Step 32 Now that we have a new library, let s put something in it. The first thing we want to simulateis a DC sweep, so go again toFile -> New -> Cell create a new Schematicview with cell name DCsweep , and make sure it s in the Tutorial library.

3 Once you clickOK, a new virtuoso schematic editing window should come 4 Now we want to build a simple circuit to simulate, shown above. Cadence uses all threemouse buttons along many keyboard shortcuts. There is a contextual list of what each mousebutton does at the bottom of the window. Let s put a MOSFET down first. Pressishortfor instantiate to bring up the instantiation you remember the parameters of the part you want to use you can type it directly into thefields, otherwise browse for an nfet symbol in that the Instance window enlarges to show all the parameters associated with the itemyou have chosen to instantiate. Change the width of a single finger to40u Mand leaveeverything else the same. Cadence accepts standard engineering suffixes of units to simplifydata when you bring the mouse back over the Virtuoso window, a MOSFET is being click to place it 5 Now instantiate a resistoroprrpresfrom the same library.

4 Don t change anything, justinstantiate it above the MOSFET. We will be building a CS amplifier. If you want to rotatea part while dragging, right-click. The third terminal of the resistor is the substrate, whichadds a parasitic capacitance from the we show another way to specify the item parameters: by left-clicking to select an object,then pressingqto bring up the Object Properties uncheckingSpecify res by Geometry?you can set the resistance to 10k. Then a cell is on the schematic, instead of instantiating a new one each time, you can simplycopy existing cells by using theckey, then clicking the item you d like to copy. Cadence has sticky keys, which means your command will work indefinitely unless you cancel out of it,or switch to a different command. Two useful keys are theESCkey, which gets out of whateveryou re doing, andCTL-d, which deselects everything. (regions you may have inadvertentlydrag-selected)Instantiate a gate resistor (the input source resistance) by copying and rotating the resistor,and set its value to 5k.

5 Don t be alarmed if the values change to something close but strange, Cadence rounds to the closest value possible within the constraints of layout, a resistorlength of mis impossible so rounding may be 6 Items such as ideal passive elements, voltage and current sources and the like are all in theanalogLiblibrary. Instantiate a DC power source with avdccell set to aDC Instantiate an input voltage sourcevsinand set its parameters as shown, leaving allthe others untouched for now:7 For the DC blocking cap and the load cap, use the ideal elementcapin theanalogLib, andset them to100nand10p, respectively. For the bias resistor, use an ideal resistorresalso inanalogLib, with value instantiate the Vdd and Gnd symbols, which are calledvddandgnd, respectively. Ifyou want to view what you ve done,fwill fit the window to the full schematic,zwill let youzoom into a selected region, andCTL-zwill zoom out of a selected 7 Now we want to wire it up. Presswto use the wire tool, and it s pretty easy.

6 Cadence will tryto snap to points that are attachable, or you can double-click to terminate a wire up the circuit, don t forget to wire up the substrate terminal of the MOSFET. WhenCadence netlists the schematic to produce something to simulate, it will assign net namesthat aren t always readable. To specify wire names, press thelkey (lowercase L ) to bringup the label dialog. List all the names you want to enter separated by a space, click the wires you d like to label. Your schematic should now be done and look like thepicture in the click the checkbox right underToolsto check and save the schematic. If there are anyerrors or warnings, Cadence will tell you. An Error will for sure cause the simulation to notrun, whereas a Warning is less severe and depending on the particular case is allowable. Thisschematic should return nothing, because it should have zero of 8 Now we want to run a DC simulation. Go toTools -> Analog Environmentto bring upthe simulation window.

7 The first thing we need to do is specify the simulation engine and thedirectory for the simulation. Go toSetup -> Simulator/ choosethe simulatorspectreand the project directory/tmp. Once this finishes, we need to specifythe model files for our devices. Do this by going toSetup -> Model thenentering the following path for Model Library File:/usr/tech/bicmos8hp/IBM_PDK/bicmos8 BE SURE to click Add to make the line appear above. Then click OK to we import the variables from the schematic. The easiest way to do this is have Cadencegrab them from the schematic by going toVariables -> Copy From Cellviewwhich shouldcausevbiasto appear in the lower left window. Cadence needs all variables initialized tosome value (even if it is a sweep variable and will change) so double-clickvbias, enter0forits value, clickChangethen OK to 9 Next go toAnalysis -> Chooseto setup our DC sweep. Configure it as shown in the picture,except you should sweep from 0 to instead (I made a mistake):10 Now setup which variables you d like to see plotted.

8 There are again many ways to do this,but in the beginning it s easiest to just choose them on the schematic. Go toOutputs -> To Be Plotted -> Select On Schematicthen clickvoutin the schematicwindow. It should highlight. PressESCotherwise you will continue to select nets, whichmay not be desirable. The simulator window should look like this:11 Step 10 Now just click the third button from the bottom on the right, Netlist and Run . A notifi-cation will pop up but just choose Don t show again and click OK, and spectre will should get a plot window as so:12I placed a marker where we should setvbias, around to get a DC output voltage which is the midpoint of Vdd. Once we ve set the bias condition, we can do 11 Now we can analyze the AC performance of the amplifier. Go back to the simulation window,and first updatevbiasto , which will bias the transistor in saturation. Now go backtoAnalysis -> this time selectacanalysis, and set it up like this:Double-click the DC analysis and in the lower-left corner de-selectenabledso that only ourAC analysis will let s look at the gain in dB, so we double-click thevoutunderOutputsof the simulatorwindow, and change it to this:14 The syntax of the calculator takes some getting used to.

9 Netlisting and running this shouldproduce the gain plot like this:15 The midband gain is , which isn t great but amplifies 12We can also do a transient analysis. From the gain plot, a frequency of 10kHz is in-band forthe amplifier. So we can go back to ourvsinsource (in Virtuoso) and change it like this:The first three parameters,AC magnitude,AC phase, andDC voltageare for AC analysis,whereas the latter three are corresponding parameters but for transient analyses. For thetransient analysis we need to ensure we re still operating in small-signal (for the purpose ofthis example, but you can simulate anything you d like) so I chose a peak amplitude of and save the schematic to be sure the simulator updates, otherwise when you try tonetlist and run you will get an unsuccessful warning in the simulation setup, we now choose a transient analysis:17We should also add back the input and output waves to theOutputswindow, and deactivatethe unneeded Analyses and Outputs.

10 The simulator should now look like this:18 The simulation output is have marked off the peak-peak output, which is 67mV. The input peak-peak voltage is10mV (5mV peak), so the gain magnitude is , which corresponds to the seen inthe AC


Related search queries