Download presentation
Presentation is loading. Please wait.
Published byBonnie Scott Modified over 8 years ago
1
Designing an ALU Taken from various sources Primary source: Digital Design and Computer Architecture by Harris &Harris
2
ALU An arithmetic logic unit (ALU) – Performs arithmetic and logic operations – A fundamental building block of the Central Processing Unit (CPU) of a computer – Even the simplest microprocessors contain one for purposes such as maintaining timers – A combinational logic circuit
3
Complex ALU
4
Simple ALU The S input is controlled by the processor based on the op code
5
5 full adder from a previous lecture Adder
6
Adder/Subtractor
7
Textbook ALU
8
Our Target ALU, N=32 The F input is controlled by the processor based on the op code
9
Possible Implementation module alu (input [31:0] A, B, input [2:0] F, output reg [31:0] Y); // implement everything using a case statement??? always @ (*) case (..) … endcase endmodule
10
An Implementation From Harris Text: a simple ALUa simple ALU A cover a cover a cover a cover a cover a cover a cover a cover
11
Test Cases
12
Test the Implementation A simple testbench A cover a cover a cover a cover a cover a cover a cover a cover
13
ALU Enhancements 1.Add a Zero output to the ALU. The output is TRUE when Y==0, otherwise it is FALSE. 1.Add and Overflow output to the ALU. The output is TRUE when the result of the adder overflows, otherwise it is FALSE.
14
An Implementation From Harris Text: an enhanced ALUan enhanced ALU A cover a cover a cover a cover a cover a cover a cover a cover
15
A Better Testbench Improved Testbench Data file
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.