Project - EE 421L 

Authored by Gerald Lee

leeg28@unlv.nevada.edu

November 9, 2014






Design, Simulation & Layout of an 8-Bit ALU

 
 
 
Design of a 1 Bit Input/Output ALU
 
Schematic
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_65.png

Please note that F is a 2 bit bus used for design specifications, on the bottom right corner of the schematic you will see that included
a multiplexer with an inverter in order to set the carry out when using logical operations to "0". Using F1 and F2 as reference ALU operation
is as follows 00:ADD, 01:Subtract, 10:Or, 11: AND. To perform subtraction b' is added to A because of the property A-B = A + (-B).
 
Verification
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_66.png

Symbol
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_67.png
Verification:
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_68.png
 
Simulation Schematic:
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_69.pnghttp://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141109_69.png
Simulation Results:
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_70.png
 
Using F1 and F2 as reference ALU operation is as follows 00:Add, 01:Subtract, 10:Or, 11: And.
The simulation split into quarters performs these operations in order 1) Add 2) Or 3) Subtract 4)And
All operations perform as expected.


 
 
 
 
 
 
 
 Design of an 8 Bit Input/Output ALU
 
 
Schematic:
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_71.png
Please note that Final Design Symbol Specification stated that Pins were to be buses, notice carry out,  F<2> is tied to the carry
in of the first ALU to have a clean Cout signal as discussed before, lastly notice that Cout is propgated through the ALU and
only the carry out of the last ALU is the only pin to be outputted.
 
Verification:
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_72.png
 
 Symbol:
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_73.png
 Verification:
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_74.png
 
Simulation Schematic:
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_75.png
 
Simulation Results:
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141109_76.png
 Using A=11111111 & B=11111111 as inputs notice that all functions of the ALU still perform correctly. ALU operations using F<1> and F<2> as refereence
as repeated from above are as follows:
00:Add, 01:Subtract, 10:Or, 11: And. To show that my 8-bit ALU was operating correctly I only plotted
one bit of A and B since the entire A & B bus is set to "1". Notice during addition, Ouput<0> is set to O while the carry is propagated through
Cout<1:7>. Notice that during subtraction that in two's complement 1-1 => Cout= 1, Output= 0. Lastly notice that during And & Or operations
Cout is logic "0".




Layout of an 8-bit ALU
 
 
 
Layout of a 1-bit Input/Output ALU
 
   http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_1.png

Above show's my layout for 1-bit Input/Output ALU...

 
 
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_2.png
 In the top left corner A,B and Cin pin's can be found...
 
 
 

http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_4.png
 In the middle left side of the layout F<1> and F<2> pins can be found...
 
 
 
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_5.png
In the top right corner my output pin can be found...
 
 
 
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_6.png
 In the bottom right corner my Cout pin can be found...
 
 
 
 
 
 1 Bit Input/Output Verification
   
DRC Check
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141124_22.png
 
 
 LVS Check
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_7.png

 Above show's LVS net-list match for 1-bit input/output ALU.

 
 
 
 
 
 
 
 
Layout of a 8-bit Input/Output ALU
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_8.png
 Above show's the final layout of my 8-bit Input/Ouput ALU...
 
 
 
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_9.png
 The picture above shows the cconnections of the left side of my first ALU cell, notice pins A<0>, B<0> and Cin. Also, notice that F<2> is tied to Cin to match schematic of my 8-bit ALU.

 
 
 
 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_10.png
 This next image show's the connections on the right side of my first ALU cell, observer output<0> and notice that F<1> and F<2> are continued using metal 3 connections and that Cout is tied to Cin, these connections are duplicated in between each ALU cell except for the last....
 
 
 

 
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_11.png
The next picture show's the right side of my last ALU cell, notice that that last Cout pin (Cout<7>) is not being tied to Cin and is being displayed as an output.
 
 
 
 8 Bit Input/Output Verification
 
 
 
 DRC Check
 http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141124_23.png

 
 
 
  LVS Check
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/proj/Snip20141123_13.png
 8 bit ALU LVS check passes!
 
  
 
 
This concludes the lab project...

 
 
 
As always back up your work!
http://cmosedu.com/jbaker/courses/ee421L/f14/students/leeg28/project/Snip20141110_77.png
 

 
 
NOTE to grader: Please use cells "ALU_gjl_f14" and "ALU8_gjl_f14" for LVS Checks

Design Files can be found here...