Lab 7 - EE 421L 

Authored by Henry Chan,

chanh6@unlv.nevada.edu

October 27, 2014

  

Using buses and arrays in the design of word inverters, muxes, and high-speed adders

 

Examining a 4-bit word inverter

The inverter uses 6u/0.6u NMOS and PMOS devices.

 

Using separate instances for each inverter is viable.

images/4not_schematic.JPG

In large circuits with large numbers of instances, using individual instances similar to above becomes cluttered. A better method for more compact and concise schematics is shown below:

images/4not_schematic_concise.JPG

A symbol was created using the concise schematic.

images/4not_symbol.JPG

This symbol was then used in a simulation schematic to determine correct functionality.

images/sim_4not_schematic.JPG

Below are the results:

images/sim_inv4_plot.JPG

As you can see, the greater the capacitive load, the greater the delay to the output. out0 demonstrates the resulting signal with no load attached. out3 hosts a 100fF load, out2 a 500f load, and out1 a 1pF load. As the loads increase, the outputs generally become more delayed and exhibit larger rise and fall times.

 

Now that we have examined a concise method for creating multiple instances, we will begin creating logic gates that utilize this method to form an 8-bit word full-addder. This will include an inverter, nand gates, nor gates, and gates, and or gates. 

8-bit Inverter

Schematic

images/8not_schematic.JPG
Symbol

images/8not_symbol.JPG

Simulation Schematic

images/sim_8not_schematic.JPG

Simulation Plot

Because I am applying the same signal to all 8 inputs, the outputs are bound to be the same, thus overlapping each other in the plot.

images/sim_8not_plot.JPG

 

8-bit NAND Gate

In order to create an 8-bit NAND, I first create the 1-bit NAND gate:

1-bit NAND Gate Schematic

images/nand2_schematic.JPG

1-bit NAND Gate Symbol

images/nand2_symbol.JPG

Using this 1-bit NAND symbol, I create the 8-bit NAND Gate using the concise method.

8-bit NAND Gate Schematic

images/8nand2_schematic.JPG

8-bit NAND Gate symbol

images/8nand2_symbol.JPG

8-bit NAND Simulation Schematic

images/sim_8nand2_schematic.JPG

8-bit NAND Simulation Plot

Net3 represents B and Net4 represents A, the output folllows the following table:

ABOut
001
011
101
110

images/sim_8nand2_plot.JPG

  

8-bit NOR Gate

1-bit NOR Schematic

Similar to the 8-bit NAND, I have to create the 1-bit NOR in order to create the 8-bit NOR.

images/nor2_schematic.JPG

1-bit NOR Symbol

images/nor2_symbol.JPG

8-bit NOR Schematic

images/8nor2_schematic.JPG

8-bit NOR Symbol

images/8nor2_symbol.JPG

8-bit NOR Simulation Schematic

images/sim_8nor2_schematic.JPG

8-bit NOR Simulation Plot

The NOR output follows the following table:

ABOut
001
010
100
110

images/sim_8nor2_plot.JPG

 

8-Bit AND Gate
I created the AND gate by simply using the NAND symbol and an inverter.
1-bit AND Schematic
images/and2_schematic.JPG
1-bit AND Symbol
images/and2_symbol.JPG
8-bit AND Schematic
images/8and2_schematic.JPG
8-bit AND Symbol
images/8and2_symbol.JPG
8-bit AND Simulation Schematic
images/sim_8and2_schematic.JPG
8-bit AND Simulation Plot
The output follows the following table:
ABOut
000
010
100
111

images/sim_8and2_plot.JPG
 
 8-bit OR Gate
1-bit OR Schematic
I used the NOR gate and an inverter to make the OR gate.
images/or2_schematic.JPG
1-bit OR Symbol
images/or2_symbol.JPG
8-bit OR Schematic
images/8or2_schematic.JPG
8-bit OR Symbol
images/8or2_symbol.JPG
8-bit OR Simulation Schematic
images/sim_8or2_schematic.JPG
8-bit OR Simulation Plot
The output follows the following table:
ABOut
000
011
101
111

images/sim_8or2_plot.JPG
 
2-1 MUX
1-bit 2-to-1 MUX schematic
images/MUX_2_1_schematic.JPG
1-bit 2-to-1 MUX Symbol
images/MUX_2_1_symbol.JPG
1-bit 2-to-1 MUX Simulation Schematic
images/sim_mux_2_1_schematic.JPG
1-bit 2-to-1 MUX Simulation Plot
images/sim_mux_2_1_plot.JPG

 
8-bit 2-to-1 MUX
8-bit 2-to-1 MUX Schematic
images/8MUX_2_1_schematic.JPG
8-bit 2-to-1 MUX Symbol
images/8MUX_2_1_symbol.JPG
8-bit 2-to-1 Simulation Schematic
images/sim_8mux_2_1_schematic.JPG
8-bit 2-to-1 Simulation Plot
When S is low, Z=B.
When S is high, Z=A.

images/sim_8mux_2_1_plot.JPG
 
 
1-bit FULL ADDER
Schematic
images/full_adder_schematic.JPG
top:
images/full_adder_schematic_top.JPG
bottom:
images/full_adder_schematic_bot.JPG
Symbol
images/full_adder_symbol.JPG
Simulation Schematic
images/sim_full_adder_schematic.JPG
Simulation Plot
CinBASCout
00000
00110
01010
01101
10010
10101
11001
11111

images/sim_full_adder_plot.JPG
Layout
images/fulladder_layout.JPG
DRC and LVS
Everything checks out!
images/fulladder_DRC_LVS.JPG
 
8-bit FULL ADDER
Schematic
images/8fulladder_schematic.JPG
Symbol
images/8fulladder_symbol.JPG
Simulation Schematic
images/sim_8fulladder_schematic.JPG
Notice, A is 1111,1111 and B is 0000,0000. Cin will alternate from 0 to 1.
 
Simulation Plot
S=1111,1111 and Cout=0 when Cin is 0 because A(1111,1111)+B(0000,0000)+Cin(0)=S(1111,1111), Cout(0)
S=0000,0000 and Cout=1 when Cin is 1 because A(1111,1111)+B(0000,0000)+Cin(1)=S(0000,0000), Cout(1)
images/sim_8fulladder_plot.JPG
Layout
Using the 1-bit Full Adder Layout, I created multiple instances and connected them together.
images/8fulladder_layout.JPG
Left
images/8fulladder_layout_left.JPG
Right
images/8fulladder_layout_right.JPG
DRC and LVS
Everything checks out!
images/8fulladder_DRC_LVS.JPG
 
 
This ends the lab, all materials can be found here: lab7.zip
 
 
Backups were made using a cloud storage method.
images/backups1.JPG

 

Return to EE 421 Labs