Lab 6: Design, Layout, and Simulation of NAND Gate, XOR Gate, and Full-Adder
By Bryan Callaway- Email: callab2@unlv.nevada.edu
Last edited: 10/20/2020
Lab
description: In this lab we covered the design, layout, and simulation
of a NAND gate, XOR gate, and Full-Adder in the C5 process.
Prelab simulation:
In the prelab, we designed a NAND gate in the C5 process and performed a simulation:
![1](Images/prelab%20sim.PNG)
![2](Images/sim%20results.PNG)
LVS param:
![param](Images/LVS%20param.PNG)
After fixing things:
![adj](Images/LVS%20adj.PNG)
Lab:
NAND Gate Design:
I started the design by creating a schematic for the NAND gate:
![3](Images/NAND%20schematic.PNG)
Next, I created a symbol view:
![4](Images/NAND%20symbol.PNG)
After this, I made the layout for the NAND gate (and extracted it):
![lay](Images/NAND1.PNG)
![extracted](Images/NAND2.PNG)
LVS/DRC:
![drc](Images/NAND3.PNG)
![lvs](Images/NAND4.PNG)
(I decided to adjust the NAND later! This was done so it would match the height of my XOR gate layout for the full-adder design)
![NANDAJD](Images/NAND%20adjusted.PNG)
![LVS adj](Images/LVS%20adj.PNG)
![drcadj](Images/DRC.PNG)
Simulation and truth table:
![nand](Images/NAND%20sim%20circuit.PNG)
![nandsim](Images/Nand%20gate%20simulation.png)
There
are minor "glitches" in these results (look at the spikes in the output
/out). They occur because the delays in the timing are not balanced.
This problem could easily be rectified with a buffer. We can make
a simple buffer by connecting two inverters together: the output of one
inverter going into the input of the next. This is left as an exercise
for the reader.
XOR Gate Design:
First, I created a schematic:
![XOR schematic](Images/XOR%20schematic.PNG)
Next, I created a symbol view:
![XOR symbol](Images/xor%20sym.PNG)
Then I made the layout/extracted the design:
![layout](Images/XOR%20layout%201.PNG)
![extracted my man](Images/XOR%20layout.PNG)
LVS/DRC:
![lvs](Images/XOR.PNG)
![xor](Images/NAND3.PNG)
Simulation of XOR gate:
![circcirc](Images/XOR%20sim%20circuit.PNG)
![epic](Images/XOR%20sim.png)
Full-Adder Design:
Alright,
now here comes the moment we've all been waiting for. Taking the
designs of our NAND and XOR gates and using them to make one bad and
wicked full-adder of truly epic proportions. I started this mean daddy-o
off by creating a schematic:
![Full adder](Images/Full%20adder%20sch.PNG)
Next, I created a symbol view:
![fasym](Images/FA%20sym.PNG)
Rockin!!!!!
After this, I used the layouts for my XOR and NAND gates in order to create a layout:
![absolute monster](Images/Big%20boi.PNG)
![extracted](Images/extracted%20FA.PNG)
Look at this absolute behemoth!
LVS/DRC:
![drcccc](Images/DRC%20FA.PNG)
![fa](Images/LVS%20FA.PNG)
Simulation/Truth table:
![owo](Images/Circuit%20for%20sim%20great%20success%20FA.PNG)
Each input is set at a different period...
![ms](Images/Sim%20Full%20Adder.png)
Oh yeah, look at that MS Paint prowess... I should include this on my resume!
A | B | Cin | Sum | Cout |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Conclusions...
Designing
the logic gates and full-adder in this lab taught me a large amount of
information about CMOS technology and the C5 process. We can create any
logic gate that we
want with the NAND gate, it's "universal." I feel as if this lab
allowed me to gain
a deeper understanding of CMOS design and digital logic.
Return...