lecture 18: hardware for arithmetic today’s topic –intro to boolean functions (continued)...
TRANSCRIPT
![Page 1: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/1.jpg)
Lecture 18: Hardware for Arithmetic
• Today’s topic– Intro to Boolean functions (Continued)– Designing an ALU
1
![Page 2: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/2.jpg)
2
NAND and NOR
• NAND : NOT of AND : A nand B = A . B
• NOR : NOT of OR : A nor B = A + B
• NAND and NOR are universal gates, i.e., they can be used to construct any complex logical function
![Page 3: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/3.jpg)
3
Common Logic Blocks – Decoder
Takes in N inputs and activates one of 2N outputs
I0 I1 I2 O0 O1 O2 O3 O4 O5 O6 O7
0 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00 1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1
3-to-8Decoder
I0-2 O0-7
![Page 4: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/4.jpg)
4
Common Logic Blocks – Multiplexor
• Multiplexor or selector: one of N inputs is reflected on the output depending on the value of the log2N selector bits
2-input mux
![Page 5: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/5.jpg)
5
Adder Algorithm
1 0 0 1 0 1 0 1Sum 1 1 1 0Carry 0 0 0 1
A B Cin Sum Cout 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Truth Table for the above operations:
![Page 6: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/6.jpg)
6
Adder Algorithm
1 0 0 1 0 1 0 1Sum 1 1 1 0Carry 0 0 0 1
A B Cin Sum Cout 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
Truth Table for the above operations:
Equations:Sum = Cin . A . B + B . Cin . A + A . Cin . B + A . B . Cin
Cout = A . B . Cin + A . B . Cin + A . Cin . B + B . Cin . A = A . B + A . Cin + B . Cin
![Page 7: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/7.jpg)
7
Carry Out Logic
Equations:Sum = Cin . A . B + B . Cin . A + A . Cin . B + A . B . Cin
Cout = A . B . Cin + A . B . Cin + A . Cin . B + B . Cin . A = A . B + A . Cin + B . Cin
![Page 8: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/8.jpg)
8
1-Bit ALU with Add, Or, And
• Multiplexor selects between Add, Or, And operations
![Page 9: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/9.jpg)
9
32-bit Ripple Carry Adder
1-bit ALUs are connected “in series” with the carry-out of 1 box going into the carry-in of the next box
![Page 10: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/10.jpg)
10
Incorporating Subtraction
![Page 11: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/11.jpg)
11
Incorporating Subtraction
Must invert bits of B and add a 1• Include an inverter• CarryIn for the first bit is 1• The CarryIn signal (for the
first bit) can be the same as the Binvert signal
![Page 12: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/12.jpg)
12
Incorporating NOR
![Page 13: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/13.jpg)
13
Incorporating NOR
![Page 14: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/14.jpg)
14
Incorporating slt
![Page 15: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/15.jpg)
15
Incorporating slt
• Perform a – b and check the sign
• New signal (Less) that is zero for ALU boxes 1-31
• The 31st box has a unit to detect overflow and sign – the sign bit serves as the Less signal for the 0th box
![Page 16: Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1](https://reader030.vdocuments.us/reader030/viewer/2022033106/56649f465503460f94c68975/html5/thumbnails/16.jpg)
16
Incorporating beq
• Perform a – b and confirm that the result is all zero’s