Lab 6 - ECE 421L 

Authored by Michael Kajkowski,

10/8/2014

kajkowsk@unlv.nevada.edu 

 

 Introduction:

For this lab we will create a NAND and a XOR gate. For these gates we will make a schematic, symbol and layout for each. Next we will verify that our gates are correct by simulating the outputs (based on their truth tables). Note that all NAND and XOR gates will consist of 6u/.6u (W/L) NMOS and PMOS transistors. Finally, once we have our XOR and NAND gates, we will make a full adder (schematic, symbol, layout). Again, we will simulate to ensure proper function.

   
   
NAND Gate:
Using 6u/.6u NMOS and PMOS parts we construct the NAND gate. Here is what the completed schematic should look like:
NAND_sch.JPG

Remember to assign the proper pin names.

 

Once we have the schematic we can then create a symbol

NAND_sym.JPG

Note that we are using the common symbol for a NAND gate. For this symbol we used line segments, arcs, and circles.

 

 Based on the schematic, we assemble the layout. 

NAND_layout.JPG

Be sure to that the frame of the layout is sized correctly. When we place this layout into another cell, we need to make sure that the terminals reach the end of the frame. We also want the frame height for all gates (NAND and XOR) to be the same. This makes future layouts look nicer and easier to connect. Also, make sure that all layouts pass DRC.

 

Now we create the extract cell and perform LVS:

NAND_LVS.JPG

It's a match!

    

  

XOR Gate:

Again we use 6u/.6u transistors for this circuit.  Here is the completed schematic:

XOR_sch.JPG

 Notice that we used labels instead of wires for the connects of A, B, Ai, and Bi. This helps to make the schematic look cleaner.

 Next we save and check and then we create a symbol.

XOR_sym.JPG

Again we use the common symbol for an XOR gate.

 

Using the schematic as a reference we assemble the layout (ensure DRC passes).

XOR_layout.JPG

 

Next we perform the LVS test.

XOR_LVS.JPG

It's a match!!

 

Simulations of the NAND & XOR Gates:

 We construct the following schematic to simulate these two gates. Note that we will use the SPECTRE simulator.

sim_XOR_NAND_sch.JPG

For this to work correctly we assign V1 (A input) a period of 400ns and V2 (B) a period of 200ns. 

This will give us the correct test inputs. Here are the truth tables that we will reference:

 

 XOR GATE:

XOR_table.JPG

 NAND GATE:

NAND_table.JPG

 

 Here are the simulation results:

graph_NAND_XOR.JPG

As we can see the gates are correct!

    

   

    

   

 Creating The Full Adder:

Now that we have the NAND and XOR gates, we can now start making the full adder (FA). 

 Here is the completed schematic of the full adder:

FullAdder_sch.JPG

Notice that we create pins for a, b, and cin inputs. And s (sum) and cout outputs.

  

Here is the symbol that we will use for future labs:

FullAdder_sym.JPG

 

  For the layout, we use the layouts of the XOR and NAND gate (as instances). We also use the schematic to make the proper connections. And again ensure DRC passes. Here is the completed layout:

FA_layout.JPG

Notice that it is a rather large layout, and much more complicated. The goal is to create a very clean and organized layout. Notice that all connections are made between the vdd and gnd contacts (all kept inside). To prevent any DRC errors and promote clear routing, we use metal 1 for horizontal routes, metal 2 for vertical routes, and metal 3 for horizontal routes. This technique ensures that there are no obstructions (no dead ends). For convenience, all the inputs are on the left and outputs on the right. We also included two additional large taps (ptap/ntap) for gnd and vdd. This is not required but, it makes external connections easier and it makes the layout look cleaner and more uniform. It also promotes a nice cell frame for future labs/projects.  Finally, notice that all inputs and outputs are made on metal 1.

   

DRC passes (Left close up view):

FA_layout_DRC.JPG

 

 LVS Matches:

FA_LVS_2.JPG

 

 Right view close out of layout:

FA_layout_3.JPG

 

Middle close up view:

FA_layout_4.JPG

 

Full Adder Simulation:

Now we simulate our full adder to ensure proper functions.

We will reference the following truth table:

FA_truth_table.JPG

 

 Note that we will use SPECTRE to simulate. Based on the truth table we will have three voltage sources for a,b, and cin inputs. Input b will have a period half of a, and cin will have a period half of b.

 Here is the simulation schematic:

sim_FA_sch.JPG

 

Here are the simulation results:

graph_FA.JPG

Reviewing the truth table, we see that our full adder functions correctly!!!

       

     


THIS CONCLUDES LAB 6. We now have fully functioning NAND & XOR gates, as well as a full adder. The schematics/symbols and layouts for each of these components will be used for future labs/projects.

   

      

     

Here is my lab 6 directory: lab6_mk.zip

             

MAKE SURE TO BACK UP ALL OF YOUR LAB 6 CONTENTS 

(zip and email your work to yourself).

      

backup.JPG

Return to EE421L Labs