Thiết kế bộ ALU Bộ xử lý logic về toán học (ALU - Arithmetic and Logic Unit) là một mạch tổ hợp để xử lý các tác vụ về logic và toán học dựa trên hai số hạng. Các tác vụ cho ALU thực hiện được điều khiển bằng các ngõ nhập function-select. Mục đích của bài thí nghiệm này là thiết kế một ALU đơn giản như sau: - Độ dài các toán hạng là 4-bit. - Các ngõ nhập function-select gồm có: M, S0 và S1. - Các tác vụ ALU thực hiện được cho trong bảng 1
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
Thiết kế vi xử lý LAB 1 : Thiết kế bộ ALU
SVTH:
Tp HCM, tháng 5 năm 2022
Trang 2I – Lý thuy t ho t đ ng c a m ch ết hoạt động của mạch ạt động của mạch ộng của mạch ủa mạch ạt động của mạch
Bộ xử lý logic về toán học (ALU - Arithmetic and Logic Unit) là một mạch tổ hợp để
xử lý các tác vụ về logic và toán học dựa trên hai số hạng Các tác vụ cho ALU thực
hiện được điều khiển bằng các ngõ nhập function-select Mục đích của bài thí nghiệm
này là thiết kế một ALU đơn giản như sau:
- Độ dài các toán hạng là 4-bit
- Các ngõ nhập function-select gồm có: M, S0 và S1
- Các tác vụ ALU thực hiện được cho trong bảng 1
Sơ đồ khối của ALU
Trang 3ALU gồm A và L
Nếu xét về chức năng, ta có thể phân ALU thành hai phần chuyên biệt, một về logic và một về toán học Sau đó, có thể dùng một MUX 2:1 để kết hợp hai khối này Cách này có ưu điểm là thiết kế từng khối nhỏ sẽ dễ hơn so với thiết kế một bit-slice, vốn cần thiết kế một ALU hoàn chỉnh Hình sau thể hiện sơ đồ khối của một bit-slice ALU thực hiện theo ý tưởng này
III – Code design
module alu(A,B,Op,alu_out);
input[3:0]A,B;
input[2:0]Op;
output reg[3:0]alu_out;
always@(*)
begin
case(Op)
3'b000:alu_out=0;
3'b001:alu_out=A+B;
3'b010:alu_out=A-B;
3'b011:alu_out=A&B;
3'b100:alu_out=A|B;
3'b101:alu_out=~A;
3'b110:alu_out=~B;
3'b111:alu_out=0;
default:alu_out=0;
endcase
Trang 4module TB();
reg[3:0]A,B;
reg[3:0]Op;
wire[3:0]alu_out;
alu a1(A,B,Op,alu_out);
initial
begin
Op=3'b000;A=3'b0011;B=3'b0001;
#10;
Op=3'b010;A=3'b0011;B=3'b0001;
#10;
Op=3'b010;A=3'b0011;B=3'b0001;
#10;
Op=3'b011;A=3'b0011;B=3'b0001;
#10;
end
endmodule
IV – Test ch ương trình và dạng sóng ngõ ra ng trình và d ng sóng ngõ ra ạt động của mạch
Chạy đúng với kết quả