Lab 7 - EE 421L Fall 2020 

Authored by Xianjie Cao,

20 October, 2020 

    

Pre-lab:

    The pre-lab works includes designe, layout and simulation of a Ring Oscillator using 31 inverters.

The Schematic of the inverter is as seen below, and we will use 31 of them.

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_01.png

    

So the schematic for the ring oscillator is as such:

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_02.png

Then we'll run a transient analysis, note that the output is steady at 2.5V.

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_03.png

    

That's because we did not have a initial conditions, with the initial condition, the output is as following:

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_04.png

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_05.png

    

We can also optimize our schematic by using wide wire, the following circuit is identical as the previous one.

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_06.png

    

The layout of the ring oscillator with evidence of passing DRC check.

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_07.png

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_08.png

    

However, the LVS did not match. The reason is that we have osc_out pin in our layout but not in our schematic.

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_09.png

     

So let's add a pin called osc_out and as an output.

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_10.png

    

Then the LVS matches.

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_11.png

    

Now moving to create a symbol for the ring oscillator.

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_12.png

    

Lastly, we'll simulate the extracted view, it is as following:

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/pre_13.png

    


Lab description:

    We'll first make a 4-bit inverter, then use that knowledge to implement 8-bit logic gates, such as NAND, NOR, AND, Inverter, and OR gates, we'll also be providing simulations to make sure that all logic gates work perfectly.  Next, we'll be making a 2 to 1 MUX or 1 to 2 DEMUX, same as logic gates, we'll make it into a 8-bit component too, then lastly, we'll implement a AOI full adder in transistor level, still the same, make it into a 8-bit component, then draft a symboland layout of it.

    

Lab procedure:

1) The schematic and symbol of a 4-bit inverter, note that I used bus connection to make it looks nice and clean.

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab01.png    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab02.png

   

2) Circuit used to simulate thhe function of the 4-bit inverter.

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab48.png

Note that, output<1> to output <3> were all connected to a capacitive load, 100ft, 500ft and 1p ft, so the output was smoothing out.

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab03.png

   

3) The schematic of the gate (1-bit), then followed by the 8-bit schematic and its symbol.

   

Inverter:

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab07.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab08.png

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab09.png

    

NAND gate:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab04.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab05.png

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab06.png

    

NOR gate:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab10.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab11.png

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab12.png

    

AND gate:

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab13.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab14.png
http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab15.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab16.png

    

OR gate:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab17.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab18.png

   
http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab19.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab20.png

   

4) The symbols have been created, it's time to simulate them to make sure they all function correctly.

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab21.png

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab22.png

from the simulation result, it's clear that all gates work correctly.

    

5) 2-to-1 MUX or 1-to-2 DEMUX

    

This is the schematic for 2-to-1 MUX, note that there is only one output (Z), other pins were created as inputs.

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab23.png 

   

The symbol of the MUX and the circuit for verifying its functionality :

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab24.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab25.png

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab26.png

    

When S goes HIGH, input A propagates through.

When Si goes HIGH, input B propagates through.

    

We now combine the MUX to make a component that acts as both MUX and DEMUX.

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab27.png

   

Note that PIN A, B and Z were created as inputoutput type, so they can be either input or output..

    

The symbol and the simulation result of the DEMUX/MUX:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab28.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab29.png

    

8-bit schematic and its symbol:

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab30.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab31.png

    

The simulation result of the 8-bit MUX/DEMUX:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab32.png

    

When S goes HIGH, input A propagates through.

When S goes LOW, input B propagtes through.

    

6) The AOI full-adder

   

The schematic and its symbol:

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab33.png

   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab34.png

    

The schematic and symbol of the 8-bit AOI full-adder:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab35.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab36.png

    

Circuit used to verify the adder's functionality.

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab37.png    http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab38.png

   

A = 00000000 (decimal 0), B = 11110000 (decimal 240), Sum = 11110000 (decimal 240).

    

7) Layout of the Full-Adder

    

Layout of the 1-bit full adder:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab39.png

   

Extracted view:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab40.png

    

With no DRC errors and it passes LVS test.

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab41.png   

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab42.png

    

The Layout of the 8-bit full adder:

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab44.png

    

Extracted view:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab45.png

   

Zoom in view of the Layout:

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab46.png

    

With no DRC errors and it passes the LVS test.

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab43.png

    

http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab47.png

    

For back-ups: 

    Zipped the library folder and the folder that has all the collected images to the desktop, then upload them onto my personal github repository for backups.
http://cmosedu.com/jbaker/courses/ee421L/f20/students/caox2/Lab7/lab49.png

   


Return to EE421L Labs