Lab 6 - ECE 421L
The purpose of the prelab is to become familiar with the design, layout, and simulation of a CMOS NAND gate. The completion of this prelab will be beneficial for the actual lab as the lab inolves using a NAND gate.
Before we can start the prelab we must back up our work:
First we will create a library named "Tutorial 4":
Now we will create the cell view for the NAND gate:
Using skills we learned from previous labs, we can create the schematic view for the NAND gate:
With our schematic made we can create the symbol view for it:
Next we can create another schematic to simulate the NAND gate:
We will connect a pulse voltage to the NAND gate and connect a capacictor to the output of the NAND gate:
Our voltage source will be a pulse from 0V to 5V:
We need to make sure both the PMOS and NMOS model libraries are selected:
In order to make the vdd output a voltage we must create a stimuli of 5V:
We will select the outputs to be plotted and run the simulation for 100 ns:
The voltage source of vdd is always at 5V:
We can then connect the NMOS and PMOS with the poly and create pins at each terminal:
Since we dont need the middle section between the two NMOS's we can remove it by flattening:
We can now connect the MOSFET's together and create a pin for the output and DRC the layout:
We can then extract the layout:
We can start the LVS:
We see that the netlists match:
This completes the prelab
Lab
The purpose of this lab is to use what was learned from the prelab to design, layout, and simulate a CMOS XOR gate. This XOR gate along with the NAND gate will be used to create a Full-Adder.
The first thing we need to do is create a schematic for an inverter, NAND gate, and XOR gate so that we can simulate all three to see the effects of the inputs on the outputs.
We can first create a schematic for the inverter:
Then we can create a symbol view for the inverter:
Next we can create a layout for the inverter:
Now we can extract the layout:
Finally we can LVS the layout:
Next we need to create the NAND gate:
We can follow what we did in the prelab to create the layout of the NAND gate:
The layout can now be extracted:
We see that our netlists match:
Now we can create the symbol view of the XOR gate:
Once we DRC the layout we can extract it:
We can then LVS the layout:
We see that the net lists match:
With all our gates created we can run a simulation:
The first pulse voltage will run a pulse width of 200 ns and a period of 400 ns:
The second pulse voltage will run a pulse width of 100 ns and a period of 200ns:
We need to always make sure that we have both model libraries set up:
We will run the simulation for 500 ns:
We see that all the gates work correctly with the two inputs:
Now we can create the schematic of the full-adder:
With our schematic free of errors we can create a symbol view of the full-adder:
Now we can create the layout of the full-adder:
Now we can extract the layout:
Now we can set up and run the LVS:
We see that the netlists match:
Finally we can run a simulation on the full-adder:
The first pulse will run a pulse width of 200 ns and a period of 400ns:
The second pulse will be 2x faster than the first pulse:
The third pulse will be 2x as fast as the second pulse and 4x as fast as the first pulse:
We will run our simulations for 500 ns:
Running the simulations we see that the full-adder works correctly:
This completes the lab