Lab 6 - ECE 421L 

Authored by Jalen Solis,

October 25, 20223

 

Prelab


 

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:

pl1

 

First we will create a library named "Tutorial 4":

pl2

   

Now we will create the cell view for the NAND gate:

pl3

   

Using skills we learned from previous labs, we can create the schematic view for the NAND gate:

pl4

   

With our schematic made we can create the symbol view for it:

pl5

   

Next we can create another schematic to simulate the NAND gate:

pl6

   

We will connect a pulse voltage to the NAND gate and connect a capacictor to the output of the NAND gate:

pl7

   

Our voltage source will be a pulse from 0V to 5V:

pl8

   

We need to make sure both the PMOS and NMOS model libraries are selected:

pl9

   

In order to make the vdd output a voltage we must create a stimuli of 5V:

pl10

   

We will select the outputs to be plotted and run the simulation for 100 ns:

pl11

   

The voltage source of vdd is always at 5V:

pl12

   
Now we can create a layout of the NAND gate:

pl13

   

We can then connect the NMOS and PMOS with the poly and create pins at each terminal:

pl14

   

Since we dont need the middle section between the two NMOS's we can remove it by flattening:

pl15

   

We can now connect the MOSFET's together and create a pin for the output and DRC the layout:

pl16

   

We can then extract the layout:

pl16

   

We can start the LVS:

pl17

   

We see that the netlists match:

pl18

   

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:

l1

   

Then we can create a symbol view for the inverter:

l2

   

Next we can create a layout for the inverter:

l3

   

Now we can extract the layout:

l4

   

Finally we can LVS the layout:

l5

   
We see that the netlists match:

l6

   

Next we need to create the NAND gate:

l7

   
We can then create a symbol view for the schematic:

l8

   

We can follow what we did in the prelab to create the layout of the NAND gate:

l9

   

The layout can now be extracted:

l10

   
We can LVS our layout:

l11

   

We see that our netlists match:

l12

   
Now we can start on the schematic of the XOR gate:

l15

   

Now we can create the symbol view of the XOR gate:

l16

   
Next we can create the layout of the XOR gate:

l18

   

Once we DRC the layout we can extract it:

l19

   

We can then LVS the layout:

l20

     

We see that the net lists match:

l21

     

With all our gates created we can run a simulation:

l22

     

The first pulse voltage will run a pulse width of 200 ns and a period of 400 ns:

l23

   

The second pulse voltage will run a pulse width of 100 ns and a period of 200ns:

l24

   

We need to always make sure that we have both model libraries set up:

l25

   

We will run the simulation for 500 ns:

l26
     
We can set the outputs to be measured :
l27

   

We see that all the gates work correctly with the two inputs:

l28

     

Now we can create the schematic of the full-adder:

l29

   

With our schematic free of errors we can create a symbol view of the full-adder:

l30

   

Now we can create the layout of the full-adder:

l32

   

Now we can extract the layout:

l33

   

Now we can set up and run the LVS:

l34

   

We see that the netlists match:

l35

   

Finally we can run a simulation on the full-adder:

l36

   

The first pulse will run a pulse width of 200 ns and a period of 400ns:

l39

   

The second pulse will be 2x faster than the first pulse:

l38

   

The third pulse will be 2x as fast as the second pulse and 4x as fast as the first pulse:

l37

     

We will run our simulations for 500 ns:

l40

     

Running the simulations we see that the full-adder works correctly:

l41

   

This completes the lab

   

Return to EE 421L Labs