ECE/CS 5720/6720: Design Project Pads Information The final step of your design project (if you have chosen to fabricate your circuit) will be to add pads to your layout. Your layout should fit within a square of approximately 990µm x 990µm. The tiny chip units (TCU) each project will be allotted are 1500µm x 1500µm, but the pad circuitry takes up space at the edges of the chip. The layout of your circuit should actually be smaller than 990µm x 990µm, since you will require some space around the periphery for routing signals to the pads. One other rule to follow when making the schematic and layout for your circuit is to name your supply nets as vdd! and gnd!. The exclamation mark denotes a global net, meaning that it can be seen anywhere in the hierarchy of your schematics, without explicitly connecting it. This is the convention that has been used in the layouts and schematics for the pads, so following this convention will allow you to perform DRC and LVS checks on your entire chip after you have added the pads. Once you have completed the DRC and LVS checks for your layout, perform the following steps to add the pads: 1. Add the following line to your cds.lib file: DEFINE UofU_Pads /uusoc/facility/cad_common/local/Cadence/lib/UofU_Pads 2. Now start cadence, you should be able to see this new library in your library manager. 3. Next use the library manager to copy the cell Frame1_38 from the UofU_Pads library to your own working library, renaming the cell to top. 4. Now open up this cell. The layout is a pad ring containing one of each type of pad. There are 40 pads in the ring, 10 on each side. The corners of the pad ring just connect the power and ground rings that run through the pads. The different pad cells will appear as red boxes, if you want to see the actual layout you can select: Options -> Display and set Display Levels from 0 to 30, instead of from 0 to 0 which is the default. A description of each of the pads is as follows: a. pad_bidirhe: this pad is used for digital inputs and outputs. The input or output functionality is determined by how the output enable (EN) is set. A description of each of the pad connections is as follows: i. EN: located on the bottom left of the pad (Metal 2). Connect this to vdd! to have the pad behave as an output (driving information out of the chip), or to gnd! to have the pad behave as an input (driving information in to the chip) ii. DataOut: located on the lower left of the pad (Metal 2). Connect this to data that is being driven out of the chip. iii. DataIn: located on the lower right of the pad (Metal 2). Connect this to data lines receiving data from outside of the chip. iv. DataInB: located on the lower right of the pad (Metal 2). This is the same as above, but inverted. b. pad_corner: these are the corners of the pad ring, they are not actually pads since they don’t have connections outside the chip, they just connect the power and ground rings that encircle the chip. c. pad_gnd: these are used for providing the negative power rail (e.g., Vss) to the chip, a pad ring must include at least one of these. The Metal 1 on the bottom middle of the pad and the Metal 2 along the entire bottom of the pad is the gnd! connection. d. pad_in: this is the same as pad_bidirhe, except the EN connection has been tied to gnd! so the pad can only function as a digital input. Use this pad if the pad is going to be used exclusively to drive digital data onto the chip. The connections of interest are: i. DataIn: located on the lower right of the pad (Metal 2). Connect this to data lines receiving data from outside of the chip. ii. DataInB: located on the lower right of the pad (Metal 2). This is the same as above, but inverted. e. pad_io: this pad is a straight connection to the outside pin, with a small series resistance (about 300 ohms). Use it for analog inputs that will not draw DC current, such as a connection to the gate of a transistor. The connection of interest is: i. io: located on the lower middle of the pad (Metal 2), connect this to the input or output. f. pad_io_nores: this pad is the same as pad_io, but with no resistor. Use it for analog inputs or outputs that will draw DC current. May also be used for auxiliary power supplies. The connection of interest is: i. pad: located on the lower middle of the pad (Metal 2), connect this to the input or output. g. pad_nc: this is “no-connect” pad, use it as a spacer if you have fewer than 40 pins. The other option would be to add extra power and ground pins. h. pad_out: this is the same as pad_bidirhe, except the EN connection has been tied to vdd! so the pad can only function as a digital output. Use this pad if the pad is going to be used exclusively to drive digital data out of the chip. The connections of interest are: i. DataOut: located on the lower left of the pad (Metal 2). Connect this to data that is being driven out of the chip. i. pad_vdd: these are used for providing the positive power rail to the chip, a pad ring must include at least one of these. The Metal 1 on the lower middle of the pad is the vdd! connection. 5. Next you will need to remove and add pads from the ring to get the types of pads that you need for your design. I would recommend doing this one pad at a time with the Display Levels set from 0 to 30 so that you get the pads aligned properly. 6. Next you should instantiate the layout cell for your circuit in the center of the pad ring layout, and route all of the required signals from your circuit to the pads. 7. The next step is to create a schematic view of the entire chip. To do this, open the schematic view of the top cell. You will have to remove and add pad cells to get the ones you need, just as you did for the layout. Now create a symbol view for your circuit (if you haven’t already) and instantiate this in the top schematic. Next connect the appropriate signals to the pads. Notice that the individual pad symbols have no pins for the power rails, this is because they have been named as global nets and will be connected automatically (you must still connect them in the layout!). 8. The final step is to run DRC on the final chip layout, and then extract and run LVS against the schematic which you have created.