Professional Documents
Culture Documents
Names
Belal Atef
.Seat no
Bahaa Alsayed
.Seat no
Eslam
.Seta no
Eihab
.Seat no
Khaled elmsiry
.Seat no
Hassan Elsayed
Seat no.191
Hassan Mahmoud
.Seat no
Hamza Shokry
.Seat no
Hossam Mohamed
.Seat no
Hassan abd elrahman
.Seat no
Introduction general
ALU Stands for "Arithmetic Logic
Unit." An ALU is an integrated circuit
within a CPU or GPU that performs
arithmetic and logic operations.
Arithmetic instructions include
addition, subtraction, and shifting
operations, while logic instructions
include BOOLEAN comparisons, such as
AND, OR, XOR, and NOT operations.
ALUs are designed to perform integer
calculations. Therefore, besides adding
and subtracting numbers, ALUs often
handle the multiplication of two
integers, since the result is also an
integer. However, ALUs typically do
not perform division operations, since
the result may be a fraction, or a
registers
to
complete
its
work.
OUR ALU
Our ALU is a simple arithmetic & logic
unit that performs about 24 functions
for four bit numbers
and supports more additional functions
.that we care about
User can deal with our ALU by some
direct selections for the required
.functions that will be done
inputs of ALU are performed as
eight switches ,four for each 4bit
number , each switch takes the value of
.(one or zero ( On or Off
Outputs of ALU are performed as
LEDs that takes the value of one or
.( zero (On or Off
Our ALU be able to generate the
:following four flags
Action Steps:
1- business perceptions and theoretical planning for
the implementation of the project.
2 -Choose the best visualization in order to be
implemented in the project.
3- Buy the required components of the design.
(Be careful purchase of the same type (Seamus or
Tuttle) until the be equal in speed to complete the
operations inside and even have the same delay so
that they work in perfect harmony and consensus,
which leads in turn to complete the required form
correctly).
4 -Use a rose test circuit is configured to the
experience of the components and the required
elements.
(Importance of the previous step to identify the
damaged components and take the necessary
precautions in the event of defects in components
and find out that there was external influence when
implementing such dump the (IC s )for the Volt or
any other problems and track the sources and try to
resolve before the kidney implementation of the
project)
5 -business simulation system for the project and
keep track of all the stages and ensure his safety
Classification
:of functions
in our ALU we classified all functions into
five main classaes
adder
it performs these functions
1. Addition of two 4-bit data
2. Addition with Carry of two 4-bit data
3. Subtraction of two 4-bit data
4. Subtraction with Borrow of two 4-bit
data
5. Incrementing the input data
6. Decrementing the input data
10. First Complement of the input data
11. Second Complement of the input data
12. Negation the input data.
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
B0
CO
2
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
0111
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10110
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
B1
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
B0
CO
3 2 1 0
00110
00111
01000
01001
01010
01010
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0111
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10111
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
A3
A2
A1
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
1000
A0
B3
B2
B1
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
B0
S3 S2 S1 S0
00101
00100
00011
00010
00001
00000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
00110
00101
00100
00011
00010
00001
00000
10001
10010
10011
10100
10101
10110
10111
11000
11001
00111
00110
00101
00100
00011
00010
00001
00000
10001
10010
10011
10100
10101
10110
10111
11000
01000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
00111
00110
00101
00100
00011
00010
00001
00000
10001
10010
10011
10100
10101
10110
10111
01001
01000
00111
00110
00101
00100
00011
00010
00001
00000
10001
10010
10011
10100
10101
10110
Bin
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
A3
A2
A1
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0101
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0110
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
1000
A0
B3
B2
B1
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
B0
B S3 S2 S1 S0
00100
00011
00010
00001
00000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
00101
00100
00011
00010
00001
00000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
00110
00101
00100
00011
00010
00001
00001
10001
10010
10011
10100
10101
10110
10111
11000
11001
01010
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
1001
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
00110
00101
00100
00011
00010
00001
00000
10001
10010
10011
10100
10101
10110
10111
11000
01000
00111
00110
00101
00100
00011
00010
00001
00000
10001
10010
10011
10100
10101
10110
10111
Logic Operations
A
3
A
2
A
1
A
0
B
3
B
2
B
1
0101
0000
0101
0001
0101
0010
0101
0011
0101
0100
0101
0101
0101
0110
0101
0111
0101
1000
0101
1001
0101
1010
0101
1011
0101
1100
0101
1101
0101
1110
0101
1111
0110
0000
0110
0001
0110
0010
0110
0011
0110
0100
0110
0101
0110
0110
0110
0111
B
0
AN
D
NAN
D
000
0
000
1
000
0
000
1
010
0
010
1
010
0
010
1
000
0
000
1
000
0
000
1
010
0
010
1
010
0
010
1
000
0
000
0
001
0
001
0
010
0
010
0
011
0
011
111
1
111
0
111
1
111
0
101
1
101
0
101
1
101
0
111
1
111
0
111
1
111
0
101
1
101
0
101
1
101
0
111
1
111
1
110
1
110
1
101
1
101
1
100
1
100
OR
NO
R
XOR
010
1
010
1
011
1
011
1
010
1
010
1
011
1
011
1
110
1
110
1
111
1
111
1
110
1
110
1
111
1
111
1
011
0
011
1
011
0
011
1
011
0
011
1
011
0
011
101
0
101
0
100
0
100
0
101
0
101
0
100
0
100
0
001
0
001
0
000
0
000
0
001
0
001
0
000
0
000
0
100
1
100
0
100
1
100
0
100
1
100
0
100
1
100
010
1
010
0
011
1
011
0
000
1
000
0
001
1
001
1
110
1
110
0
111
1
110
0
100
1
100
0
101
1
101
0
011
0
011
1
010
0
010
1
001
0
001
1
000
0
000
XNOR
1010
1011
1000
1001
1110
1111
1100
1100
0010
0011
0000
0011
0110
0111
0100
0101
1001
1000
1011
1010
1101
1100
1111
1110
NO
T
"A
"
101
0
101
0
101
0
101
0
101
0
101
0
101
0
101
0
101
0
101
0
101
0
101
0
101
0
101
0
101
0
101
0
100
1
100
1
100
1
100
1
100
1
100
1
100
1
100
0110
1000
0110
1001
0110
1010
0110
1011
0110
1100
0110
1101
0110
1110
0110
1111
0111
0000
0111
0001
0111
0010
0111
0011
0111
0100
0111
0101
0111
0110
0111
0111
0111
1000
0111
1001
0111
1010
0111
1011
0111
1100
0111
1101
0111
1110
0111
1111
1000
0000
1000
0001
0
000
0
000
0
001
0
001
0
010
0
010
0
011
0
011
0
000
0
000
1
001
0
001
1
010
0
010
1
011
0
011
1
000
0
000
1
001
0
001
1
010
0
010
1
011
0
011
1
000
0
000
0
1
111
1
111
1
110
1
110
1
101
1
101
1
100
1
100
1
111
1
111
0
110
1
110
0
101
1
101
0
100
1
100
0
111
1
111
0
110
1
110
0
101
1
101
0
100
1
100
0
111
1
111
1
1
111
0
111
1
111
0
111
1
111
0
111
1
111
0
111
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
111
1
111
1
111
1
111
1
111
1
111
1
111
1
111
1
100
0
100
1
0
000
1
000
0
000
1
000
0
000
1
000
0
000
1
000
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
000
0
000
0
000
0
000
0
000
0
000
0
000
0
000
0
011
1
011
0
1
111
0
111
1
110
0
110
1
101
0
101
1
100
0
100
1
011
1
011
0
010
1
010
0
001
1
001
0
000
1
000
0
111
1
111
0
110
1
110
0
100
0
101
0
100
1
100
0
100
0
100
1
0001
0000
0011
0010
0101
0100
0111
0110
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0111
0101
0110
0111
0111
0110
1
100
1
100
1
100
1
100
1
100
1
100
1
100
1
100
1
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
011
1
011
1
1000
0010
1000
0011
1000
0100
1000
0101
1000
0110
1000
0111
1000
1000
1000
1001
1000
1010
1000
1011
1000
1100
1000
1101
1000
1110
1000
1111
000
0
000
0
000
0
000
0
000
0
000
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
100
0
111
1
111
1
111
1
111
1
111
1
111
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
101
0
101
1
110
0
110
1
111
0
111
1
100
0
100
1
101
0
101
1
110
0
110
1
111
0
111
1
010
1
010
0
001
1
001
0
000
1
000
0
011
1
011
0
010
1
010
0
001
1
001
0
000
1
000
0
101
0
101
1
110
0
110
1
111
0
111
1
000
0
000
1
001
0
001
1
010
0
010
1
011
0
011
1
0101
0100
0011
0010
0001
0000
1111
1110
1101
1100
1011
1010
1001
1000
011
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
011
1
t
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Output
0000
1111
1110
1101
1100
1011
1010
1001
1000
0111
0110
0101
0100
0011
0010
0001
t
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Output
1111
1110
1101
1100
1011
1010
1001
1000
0111
0110
0101
0100
0011
0010
0001
0000
1's Complement
t
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Output
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10000
t
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Output
11111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
:Ingredients
:Illustration
(Blocks)
(tracing)
:Notes
:Suggestions
:Problems
:Solutions
Gray Code
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
Gray Code
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
Excess-3 Code
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
xxx
xxx
xxx
xxx
Binary Number
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1110
1111
xxx
xxx
Excess-3 Code
0011
0100
0101
0110
0111
1000
1001
1010
1011
Binary Number
0000
0001
0010
0011
0100
0101
0110
0111
1000
()
:Ingredients
:Illustration
(Blocks)
(tracing)
:Notes
:Suggestions
:Problems
:Solutions
General problems:
We had some problems during
this project like:
1.
2.
We didn't