Lab Project - ECE 421L 

Authored by Eduardo Hoyuela-Alcaraz,

November 10, 2014 

Email: hoyuelaa@unlv.nevada.edu   

Design, layout, and simulate an 8-bit ALU that can perform A+B, A-B, A AND B, and A OR B.

In this project we will use the logic gates created in lab 7. Using these gates we will create a 1-bit ALU and then we will cascade 8 1-bit ALUs to create our 8-bit ALU.

The 1-bit ALU has four inputs and two outputs. The inputs are A, B,  F1 and F0. The outputs are Z and Cout.

The ALU will perform the following operations depending on the operation selectors, F1 and F0.

F1F0Operation
00A+B
01A-B
10A OR B
11A AND B

It is important to notice that subtraction is just the addition of the 2's compliment of the number.

The 1-bit ALU designed for this projects uses one 1-bit full-adder, 1 inverter, 5 MUX,  2 OR gates, and 1 AND gate. These gates were created in lab 7, we will simulate them again to understand hpw they operate
Gates Simulation Schematic
Gates_schematic
Gates Simulation Results
Gates_sim

Now that we now how our gates operate we proceed to create the schematic of the 1 bit ALU.

ALU_1_bit_schematic

Then we create a symbol for the 1-bit ALU and also proceed to simulate it to check the operations are done correctly.

Symbol
ALU_1_bit_symbol
Simulation Schematic
ALU_1_bit_sim_schematic
Simulation Results
AlU-1_bit_sim_Results

As it seen in our 1-bit ALU simulation, it operates correctly. Now we proceed to create an 8-bit ALU by cascading 8 1-bit ALUs.

8-bit ALU schematic

ALU_8_bit_schematic
8-bit ALU symbol

ALU_8_bit_symbol
8-bit ALU simulation schematic. We will let A equal 11101010 (234)   and B equal  10111010 (186).
ALU_8_bit_sim_schematic
8-bit ALU simulation results. The following results are observed
A+B= (420) 110100100
A-B= (48) 110000
A OR B= 11111010
A AND B= 10101010
ALU_8_bit_sim_1_results
8-bit ALU simulation schematic. We will let A equal 11100000 (224)   and B equal  10000111 (135).
ALU_8_bit_sim_2
8-bit ALU simulation results. The following results are observed
A+B= (359) 101100111
A-B= (89) 1011001
A OR B= 11100111
A AND B= 10000000
ALU_8bit_sim_2_results

Now that we now our ALU works properly, we proceed to create the layouts for each component used in the 1-bit ALU. We will layout a 1-bit full-adder (lab 7), 1 inverter, 1 MUX,  1 OR gate, and 1 AND gate.

1-Bit Full Adder
adder
Inverter
inverter
OR Gate
OR
AND gate
AND
MUX
MUX

Now that we have created all the required layouts, we proceed to put them together to create the 1-bit ALU. WE will also DRC and LVS the design.

1-bit ALU
1-bit ALU
1-bit ALU DRC
1-bit DRC
1-bit ALU LVS
1-bit LVS

Now we proceed to created our 8-bit ALU by cascading 8 1-bit ALU layouts as it was done in our schematic. Again we DRC and LVS our design.

8-bit ALU
8_bit_ALU_1
8-bit ALU
8_bit_ALU_2
8-bit ALU DRC
8_bit_DRC
8-bit ALU LVS
8_bit_LVS

The design of our 8-bit ALU is done and can be placed on a chip easily as it only measures 750um x 163um. This design can still be modified so it is more compact or it takes less space if more things want to be added to the chip.  I decided to cascade 8 1-bit ALUs as it seemed to be the easiest way to create the layout. Also, I could have used the 8-bit full adder from lab 7 and laid out the rest of the gates in a different configuration but it appeared to be more complicated in the layout stage.

This project is done and now we back up our files in Google Drive and on our desktop.

Desktop
G_drive

Download PROJECT_ HOYUELA_EDUARDO


Return to EE 421 Labs