Lab 6 - ECE 421L

Prepared by:

Jason Sikorski

sikorsk4@unlv.nevada.edu

October 20, 2014

  

Design, layout, and simulation of a CMOS NAND gate, XOR gate, and Full-Adder.

 

PRE-LAB WORK:

Back-up all your work from the lab and the course.

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%200.png

 

LAB WORK:

 

For this lab we will make the layout, schematic and symbol for a NAND gate, XOR gate and a Full-Adder using these gates. We will use 6u/0.6u PMOS and NMOS transistors for these designs. To verify the design, simulations will be performed to verify the truth table.

 

NAND Gate

 

Schematic & Symbol:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%201.pngFig 1

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%202.pngFig 2

For the symbol design we used the standard symbol.

 

Layout:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%203.png

Fig 3

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%204.pngFig 4

A DRC check was performed and no errors were found. For this layout the A & B inputs as well as the AnandB output were put on the metal 1 layer.

 

Extracted view & LVS:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%205.png

Fig 5

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%206.pngFig 6

The layout was extracted and an LVS was successfully performed.

 

XOR GATE

 

Schematic & Symbol:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%207.pngFig 7

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%208.pngFig 8

 Again the standard XOR symbol was used for this design.

 

Layout:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%209.pngFig 9

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2010.pngFig 10

A DRC check was again performed and no errors were found. For this layout the A & B inputs are put on metal 1 while the AxorB output is put on the metal 2 layer. This allowed the output wire to be ran all the way to the edge of the layout which will be useful in future designs.

 

Extracted view & LVS:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2011.pngFig 11

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2012.pngFig 12

The layout was extracted and an LVS was successfully performed.

 

Now that both gates have been successfully designed it is time to ensure they perform as expected. To do this a simulation with all possible inputs will be performed.

 

NAND & XOR Simulation

 

For this simulation we will also use the inverter  from lab 5 to verify the input.

 

Truth Table:

A

0

0

1

1

B

0

1

0

1

A'

1

1

0

0

AnandB

1

1

1

0

AXORB

0

1

1

0

 

Schematic:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2013.pngFig 13

 

Simulation:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2014.pngFig 14

 

Here we see that our simulation matched the expected results. However we also see that at t = 200ns the output of AxorB quickly drops from 1 to 0 and back to 1. This is due to A and B changing at the same time causing a false result. This false result could cause momentary glitches and should be taken into consideration when these gates are used for more complex design.

 

Full-Adder

 

Now that we have verified the logic operation of our gates we will use them to implement a Full-Adder.

 

Schematic  & Symbol:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2015.pngFig 15

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2016.pngFig 16

For the schematic we used the symbols from our gate design. By using the standard symbol when we did those designs this schematic is considerably easier to understand.

 

Layout:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2017.pngFig 17

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2018.pngFig 18

A DRC check was performed and no errors were found. For this layout the a, b, and cin inputs as well as the s and cout outputs are all put on the metal 2 layer. For this design it was important to be careful with spacing of the metal runs. Because of this we ensured that all inputs and outputs reach the edge of the layout, this will ensure that future implementation of this design will be simple to connect.

 

Extracted view & LVS:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2019.pngFig 19

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2020.pngFig 20

The layout was extracted and an LVS was successfully performed.

 

Now that the Full-Adder is complete we need to run a simulation to ensure our results match the expected output.

 

Full-Adder Simulation

 

Truth Table:

A

0

0

0

0

1

1

1

1

B

0

0

1

1

0

0

1

1

Cin

0

1

0

1

0

1

0

1

Cout

0

0

0

1

0

1

1

1

S

0

1

1

0

1

0

0

1

 

Schematic:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2021.pngFig 21

 

Simulation:

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2022.pngFig 22

 

Again we see that our simulation matches the expected results. We again notice glitches in the outputs at t = 200, 400 & 600ns for the s output and at t = 600ns for the cout output.

 

Back up all files

http://cmosedu.com/jbaker/courses/ee421L/f14/students/sikorsk4/Lab6/Images/Fig%2023.png

 

Download Sikorsk4 Lab 6 files

 

Return to EE 421L Labs