Lab 6 - ECE 421L 

Authored by John Huang.

Huangj19@unlv.nevada.edu

October 19, 2014

 

In this lab we will learn how to create a NAND gate, XOR gate and a full adder using these two gates.

 

We are using 6u/600u NMOS and PMOS for these gates.

 

2-input NAND gate schematic.
 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/1.JPG

 

We use this schematic to create a symbol for the NAND.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/2.JPG

 

The layout of our NAND gate. Very simple layout, we conneted the two NMOS and PMOS by overlapping the gate of the PMOS and the gate of the NMOS.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/3.JPG

Passing the DRC for the layout. 

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/25.JPG

 

The extracted view of our NAND layout.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/4.JPG

 

We can LVS the extracted layout with our schematic shown earlier.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/5.JPG

 

Matching netlist for the schematic and extracted layout.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/6.JPG

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/7.JPG

 

XOR gate schematic.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/8.JPG

 

Creating a symbol from the schematic.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/9.JPG

 

Layout of our XOR gate.

Because the layout of the XOR gate is a bit complicated, I had to use metal 2 to make some of the connections.

This was done using via from m2_m1 and also some m1_poly contacts.

 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/10.JPG

 
Making sure our layout passes our DRC.

 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/26.JPG
 
Extracted layout of our XOR gate.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/11.JPG
 
LVS the extracted layout and the schematic we created.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/12.JPG
 
We can now test the NAND and the XOR gates we created.
 
We can use a simple schematic using the NAND, XOR and the 12u/6u inverter from the last lab.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/21.JPG
 
For our pulse sources, we are using the following for the A input source.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/22.JPG
 
And we are using the following for the B input source. Notice how the pulse width and period is halfed of the A input source.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/28.JPG
 
Now we can launch ADE L and use Spectre to sim this schematic. Making sure to plot all of the points below.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/23.JPG
 
You will get the following graph when looking at each trace on a seperate graph.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/24.JPG
 
 
Now we can create a full adder using the NAND and XOR gates.
Full adder schematic using the symbols of the NAND and the XOR gates.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/13.JPG
 
The symbol created for the full adder.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/14.JPG

Moving on to the layout of the full adder. We used three NAND gates and two XOR gates.
Creating this layout was much more complicated. I instantiated the layout views of my NAND and my XOR gates.
Using the flatten option in the Edit -> Heirarchy -> Flatten, I was able to stretch the NAND gate and XOR gate enough to allow for more connections for the adder.
I also connected the vdd! and the gnd! connections of the MOSFETS into a big row of ntaps and ptaps.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/15.JPG
 
I made my input connections on the left of my adder as seen below.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/16.JPG
 
I made my sum output and my cout on the right of my layout.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/17.JPG
 
My layout passing DRC.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/27.JPG
 
The extracted layout of full adder.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/18.JPG
 
Now we can LVS the schematic and the extracted layout of the full adder.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/19.JPG

Of course all the netlist match for the full adder.
Although I had a hard time trying to get this to work because of some connection mistakes.
I was able to solve this by looking at the LVS Output and looking at which nets were different, then going into my extracted view of my layout and finding the nets that had errors and fixing them.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/20.JPG

We can simulate the symbol we created for the full adder similiarly to how we simulate the NAND and the XOR gates.
 
We create a schematic using the symbol and attaching the same A and B pulse sources as previous and including the Cin pulse source.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/30.JPG
 
Notice that the pulse width and period is again half of the pulse source of B and a fourth of pulse source A.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/29.JPG
 
We can use ADE L and Spectre to simulate this full adder. Making sure to select all output variables seen below.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/31.JPG
 
We should get the following graphs when we seperate each trace on it's own graph.
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/32.JPG

That will conclude our lab.
 
All the files from this lab can be found here.
 
Make sure to back up all your labs by zipping them up and sending them to yourself!
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/huangj19/Labs/Lab%206/34.JPG
 
 

Return to EE 421L Labs