Unformatted text preview: NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Lab Tutorial EL5473/EE3193 ‐ Introduction to VLSI Design Polytechnic Institute of New York University Based on Prof. Mircea Stan's Tutorials at the University of Virginia The Cadence CAD tools we are using in the lab: Virtuoso Schematic Composer for schematic capture. Analog Circuit Design Environment ( Spectre ) for simulation. There are two ways to visit the cadence: Using the computer with Linux in LC011 to open Cadence directly Or visit remotely on any computer with Windows operating system Using Cadence in LC011 Take a computer with a small gray box beside it Turn it on, double click "weber.poly.edu" or "gould.poly.edu", then login. The username is the first part of your poly email address, and password is p plus your poly ID number. Then, you will see something like below: 1 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Choose: Applications > Accessories > terminal, and you should see: In the Terminal window, type icfb & This command will start Cadence and you will get the Command Interpreter Window (CIW) as below: When you have done these, you have started the cadence and on the way to do your lab. NOTICE : If you want more information about Cadence, you can use the online manual by typing: cdsdoc & 2 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Visiting Cadence Remotely This part is adapted from document by Tomasz Sliwowski If you want to do your lab on your own computer, you have to download the software to your computer. From now, we assume that you are using Windows XP or Vista. Two softwares are needed for visiting the Cadence remotely: An SSH client like PuTTY: http://www.chiark.greenend.org.uk/~sgtatham/putty/ An X‐Windows server, Xming: http://sourceforge.net/projects/xming NOTICE : For PuTTY, you can download either the standalone version or the installer. For Xming you will need the program itself and the fonts package (Install Xming first then install the fonts). After you have installed those, you should follow the steps below: Run Xming: double‐click on the XLaunch icon on your Desktop. Choose a display setting that suits how you are going to work then click Next. Choose “Start no client” and click Next. Click Next on the additional parameters screen and then click Finish to launch Xming. You should now see a little X on your taskbar which indicates that the Xming server is running. Run PuTTY from wherever you installed it. Double click on PuTTY icon so you can open the window of it. Input either of the two addresses of the poly VLSI servers: gould.poly.edu/ weber.poly.edu. You should see the following screen: 3 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Click X11 under Connection>SSH, make sure the Enable X11 forwarding is checked: 4 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial You can also save the address under the Session > Saved Sessions > save for later use. When you use it, you may click on the server under the Saved Session and click Load on the right of it, then click Open. A command window will pop‐up inquiring your username and password: The username is the first part of your poly email, and your password is p plus your Poly ID. After logged in, you can test if everything is going well by typing: xclock in the window, you should see a clock pop up: If you get a clock like this, that means you have already connected to the server. In the command window, type icfb & 5 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial This will bring up the Cadence Command Interpreter Window (CIW). NOTICE: Visit Cadence remotely will have more delay and will slow your work down for some time. So, this choice is just a backup for you in case you can not show up in the lab. Cadence Version Configuration Before starting your lab 1, there is one more thing to do. We have to change the Cadence version from 64 bit to 32 bit. After logging into gould/weber.poly.edu, type in gedit .tcshrc (Be sure there is space after gedit) 6 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Find setenv CDS_AUTO_64BIT ALL in the file and comment it out by adding # in the front of the line. That will be: #setenv CDS_AUTO_64BIT ALL. If it already has been modified, you do not need to do it again. Save and exit. Log in again and run cadence. How to use Cadence CAD Tools to Help us design circuit Now Let's start with creating an inverter. There are several steps to follow: Create New Library: Once the CIW has opened, you will also see the Cadence Library Manager open. When creating a new library, you should go to File > New > Library. 7 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial In the Create Library dialog, you may enter a library name for your own under the Name, such as EL5473, and leave the Path empty (this will create the library in the directory where you started icfb, you could also choose to set a path, it's up to you). Then click on Attach to existing tech library and choose TSMC 0.30u CMOS025 (5M, HV FET) and leave I/O Pad Type as Perimeter and click OK. 8 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Now the EE5473 library that you just created will appear in the Library Manager window on the left. You can use this library for now. Create Schematic Capture: Click the EL5473 Library you just got, go to File > New > Cell View and you will see a Create New File dialog window. Type Inverter under the Cell Name, make sure View Name is schematic and the Tool is Composer‐Schematic, then click OK. You should get the Composer schematic capture window. On the left side you have some shortcuts to commonly used commands such as: placing component, instances, drawing wires, placing ports, stretching, copying, zooming in and out, saving, etc. You also have access to these commands from the menu. Let's start our schematic for a simple CMOS inverter. We are going to place the nmos, pmos, input and output pins and power supplies. You can place these either by pressing the shortcuts on the left or by going to Add > Pin or Instance. 9 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Add NMOS and PMOS First, Let's add an nmos. Click the instance on the left, you will see a Component Browser window. Choose the NCSU_Analog_Parts in the Library list and choose N_Transistors > nmos4. A window will pop up and you can set your desired size there. 10 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial In the defaulted case, the width of nmos is 450nm and the length is 300nm. Press Hide after setting all the values and place this nmos in the schematic window. 11 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial The pmos can be done in the same way. Go to Instance > P_Transistors > pmos4, set the size and place it right above the nmos. In particular, width of this pmos should be 900nm because the pmos in the inverter should be twice wider than nmos. This sizing will guarantee the pull up strength of pmos and pull down strength of nmos are largely the equal. Just remember that when you finish adding an instance, be sure to press the ESC key on the keyboard and close the Component Browser window and the Add Instance window. Now you should get something like below: Add Supply Now, you need to add a supply and ground to your inverter. Go to Instance > Supply_Nets > vdd or gnd, place the vdd above the pmos and gnd below the nmos. 12 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Add Pins Next, you need to add input and output to your inverter. Click the Pin on the left and you will get a Add Pin dialog. Enter IN as input pin name and make sure it is input under Direction, press Hide and place the pin on the left side of your schematic. 13 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Output pin can be done the same way. The only difference is to choose the output under Direction. Now, you should have the following thing: Add Wires The last thing is to connect all the components together. Click on the Wire and connect everything. Don't forget to connect the transistor bodies to the proper voltages (gnd for nmos and vdd for pmos). Your final schematic should look like: 14 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Check and save and make sure you don't have any errors or warnings in the CIW. Once there are no errors we are now ready to simulate. Transient Simulation The transient simulation will tell us that if our inverter works correctly. In the schematic window, go to Tools > Analog Environment. This will bring up an Analog Environment window like below: 15 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial First, we need to set up inputs and power supply. Go to Setup > Stimuli. You will have the Inputs chosen, click on Enabled, Function pulse, Type Voltage, Voltage1 0.0, Voltage2 2.5, Rise time 0.1n, Fall time 0.1n, Pulse width 1.9n, Period 4n, Source type pulse, and click on Apply. 16 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Notice we set the pulse width to 1.9n instead of 2n. This is because the rise time of 0.1n must be factored in such that, for a 50% duty cycle, the pulse width should be half the period minus the rise time. After apply, the input should turn from OFF to ON. You should notice that Cadence is very fragile concerning this dialog box, make sure you enter the numbers exactly as above (i.e. no space between the digit and n, etc.). If you get syntax errors later in simulation they are most likely because of this. 17 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Now we need to setup the global sources (power supply). Click on the Global Sources option, click on Enabled, Function dc, Type Voltage, DC voltage 2.5, Source type dc, and click on Apply. The vdd! should turn from OFF to ON. Click OK. Now you need to choose the simulation type, go to Analyses > Choose. In this case we will choose tran which is the default, 8n under the Stop time (2 periods), 18 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial moderate as the accuracy default and the Enable will be chosen automaticly. The window should appear as below. Click OK. Now let's run the finally simulation. Click on the Netlist and Run button (looks like a green light) on the right or go to Simulation > Netlist and Run. Once you have errors you will need to go back and correct them. You may need to do Simulation > Netlist > Recreate if you change the schematic. Be sure that each time you change the schematic you have to do Check and Save again. When there are no errors you can now admire the simulation results. Go to Results > Direct Plot > Transient Signal. You will see your schematic window and you can click on the signals you want to see. Since this is a transient analysis, we want to see the input and output voltages. In order to do this you have to click on the input and output nets in the schematic window, then the ESC key. You should finally get the desired simulation results, 2 glorious periodic signals as expected from an inverter, as shown below. 19 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial I encourage you to save your simulation state before exiting the simulator in case you want to redo some of the simulations you can start by loading a saved state. When you are going to save the current state, go to Session > Save State… under the menu of the Analog Design Environment Window. Just as shown below: 20 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Click on the Save State… and you will see a dialog window. Choose the Directory under Save State Option, leave the Directory and Save as what they are, and press OK. In this case, you will save your state under the default path, so when you want to load the state, this path will show up automatically on the Load State window. In fact, you can also choose your preferable directory and your own state name for convenience. If you want to load your previous simulation state, go to Session > Load State after you open the Analog Environment. Like below: 21 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Press Load State, a window will pop up inquiring which state you want. Choose the state and press OK, then you will add the previous simulation result to your simulator. 22 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial VTC of the inverter Before we finish let's try to also plot the VTC for the inverter. Start by going to Setup > Stimuli, setting Input IN to Function dc, DC voltage VIN, as shown below: 23 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial With the voltage of the input IN set to the variable VIN, we now need to define the design variable and set its default value. In the Analog Design Environment window, go to Variables > Edit. Beside Name type VIN and beside Value (Expr) type 0. Click the Add button. The window should appear as below. Click OK. With the stimuli and design variable set, go to Analyses > Choose to set up the simulator for a DC sweep. Beside Analysis, click dc and select Design Variable with VIN as the Variable Name. In the box labeled Sweep Range, make sure Start‐Stop is selected and the Start is 0 with Stop set to 2.5. Select Linear for Sweep Type and enter a Step Size of 0.1. Finally, make sure the Enabled option is selected at the bottom of the page. You should see something like what is shown below. Click OK. 24 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Now in the Analog Design Environment window, click and highlight on the old tran analysis in the Analyses box. Go to Analyses > Delete so that you are left with only one Analysis. 25 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Now we will select which outputs we would like to be plotted automatically. After simulation, go to Outputs > To Be Plotted > Select On Schematic and select OUT in the schematic window. When finished, the Analog Design Environment should look like the figure below. 26 NYU‐Poly Introduction to VLSI Design‐ Lab Tutorial Finally do Netlist and Run. If you don't have any errors you will now get a glorious inverter VTC as shown in the textbook and the lecture slides. 27 ...
View Full Document
This note was uploaded on 11/02/2010 for the course EE 3193 taught by Professor Halenlee during the Spring '10 term at NYU Poly.
- Spring '10