Designing logic gate with combinational cells


Q1 ) Logic Gate Design/Layout and Simulation Experiments with Combinational Cells

 1) Use CADENCE Virtuoso schematic capture to design complementary CMOS logic gates at the transistor circuit level for the following functions:

i) 3 inverters,
ii) transmission gate,
iii) 2-input NAND, 
iv) 4-input NAND, and
v) a compound gate that implements the function COMPOUT = NOT {A[B+C+D]}.

Size your transistors as discussed below.

Transistor Sizes:
Your lab technology lambda is 100 nm.  Assume Vdd = 1.8v.  For your schematic and layout you must make the transistor dimensions in multiples of .5 lambda. 
Start your device sizing by experimentally determining a value for transistor beta ratio for the inverter.

a) The Basic Inverter #1: The NMOS transistor in the inverter should be "unit" transistor sized, as defined in the text and lectures, paying attention to the current design rules in the lab.  For the inverter, widen the PMOS transistor channel as required so that the rise time and fall time are within 10% of each other.

b) The Larger Inverter #2:  Size both the transistors in this inverter 4 times as wide as in the basic inverter.

c) The Largest Inverter #3:  Size both the transistors in this inverter 4 times as wide as in inverter #2.
Remember that you can put two or more unit-sized transistors in parallel in place of widening a single transistor if it helps keep your methodology consistent.

d) The Transmission gates: Size the transistors the same as the inverter #2 transistors.
e) The NAND gates: For the 2-input and 4-input NAND gates, use unit size NMOS transistors and make the PMOS transistors wide enough to have rise and fall times within 25% of each other.

f) The compound gate:  For the compound gate, experiment with transistor widths that give output rise and fall times within 25% of each other, in the worst case. Note that the sequence of inputs that give worst-case timing might be different from the required input sequences specified below.  Note also that when you have adjusted the critical path, other paths may need adjustment as well.  Worst-case timing and critical paths will be discussed in class. You can manipulate the Boolean equation as desired.  Include your choice of worst-case path in your discussion.

2) Simulate your transistor circuits (Cadence circuits) using SPECTRE to determine that they function properly.

• Label your inputs A, B, C and so on.  For example, the 2-input gates have inputs A and B.  Label your outputs INV1OUT, NAND2OUT, etc.  
• Attach your inverter #1 design to the output of each gate (including the inverter) prior to circuit extraction and simulation to provide a load capacitance. The output you should plot is the input to this load inverter.
• Simulation timing:  Assume .1ns rise and fall time for your inputs.  Hold all input values stable for at least 1.8ns. 
• Show simulations of each gate with all possible combinations of inputs. 
• Change the inputs in the following manner:
4-input NAND: ABCD = 0000, ABCD = 0001, ABCD = 0010....etc.
2-input NAND: For the 2-input gates AB = 00, AB = 01, etc.   
Compound gate: For the compound gate, simulate all combinations of A, B, C and D,  from 0000 to 1111.  Please change the inputs in the order given so that we can grade what you are doing easily.  
• For the 3 inverters only:  Measure average current in your inverters and multiply by Vdd to obtain average power.  Measure over the period from .1ns before the input falls to .1ns after the input becomes low. There is a measure method given in the tutorial we posted.   Note that you need to use a load inverter so use the smallest one as with other simulations. 
• For the smallest inverter increase the input voltage starting at 0.0v until the slope of the input/output transfer curve = -1.  Then find the low noise margin, assuming VOLMAX = 0.0v.  Find the high noise margin in a similar way.

3)  Layout your cells with Cadence (each circuit layout is a "cell").  Use the TSMC technology (NCSU_TechLib_tsmc02) as instructed in lab.  Put at least one ntap and ptap (ohmic contacts) in each cell.   If you have multiple n-wells in a cell, each needs an ohmic contact. 
Required Layout Design Methodology:

Design all of your cell layouts so that they can be placed next to each other either vertically or horizontally without having layers connect that should not. 
Use a uniform methodology to design all the gates, and only use metal1 and metal 2 for interconnect. 
Make sure that you minimize the use of poly (for example, you could only use poly around the gate region of each transistor).  
Your goal is to insure that it is easy to build more complex designs out of your gates, and to keep the cells small, with few layer changes for each connection. 
You want to extend your methodology to design compound gates as well. 
Keep in mind as you design the inverter that you may want to redesign it later with wider transistors. 
At this point in the semester, try to minimize the white space to create cells that are as small as possible, but easily combined into larger circuits.  One hint:  you could design the cells so that the output of each cell lines up exactly with an input of every cell type.  The output and input can line up horizontally or vertically.

The following is one example of such a methodology:

"Design each cell to be the same height.  Power and ground will be routed horizontally later, and the input to each cell should be vertical.  The output should come out horizontally on the metal 2 layer.  Use a style similar to the cells shown in Fig. 1.10 of the text."
This is only an example.  Instead, you might choose to design each cell to be the same width,  for example.  You might route the inputs to the cell horizontally, and use different layer assignments than the example.

4) Use LVS to verify that your cell layouts are identical to the schematics.  You will simulate the layouts with SPECTRE in Lab 2. 

5) Layout a small logic block that implements the function COMPOUT = NOT {A[B+C+D]} (the same function as the compound gate).  
using your inverter #1 and/OR NAND gate cells from Part 3.  This exercise should help you tune your cells so that they can be connected easily into logic blocks for the final project.  Be sure that inputs/outputs with the same name are connected on the layout.  Do not be concerned with simulation or device sizing.

Lab Report Contents:

1) Title page
2) Discussion and explanation of how you sized transistors, and the beta ratio you found, including measured rise and fall times.
3) Description of your design methodology.
4) Transistor schematics of gates.
5) Layouts of gates, captured as images, making sure the images are high enough resolution so the grader can see layout details and inputs/outputs are labeled.
6) SPECTRE outputs for each gate schematic simulation in the form of images showing the waveforms.
7) Table showing cell sizes for all the cell designs
8) Layout of the logic block, captured as an image.
9) Conclusions about the lab, especially about sizing the transistors in the compound gate.

Include as separate files: Each file called si.out generated in a folder called LVS showing the results either match or mis-match for each cell layout.  Be sure you rename the si.out file after each cell is verified to something like NAND2.out.  Otherwise it will get overwritten.
Use the "tar function" on UNIX to put all the files including the report into a single file. (See wikipedia for instructions on how to tar a file).   Do not put into rar format.  Students submitting multiple files will lose points.  Your reports must be in pdf format.

Request for Solution File

Ask an Expert for Answer!!
Electrical Engineering: Designing logic gate with combinational cells
Reference No:- TGS01117

Expected delivery within 24 Hours