Thiết kế khối ALU với ngôn ngữ verilog

5 14 0
Thiết kế khối ALU với ngôn ngữ verilog

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bảng phân công Yêu cầu đề bài Thiết kế một ALU đơn giản để thực hiện một tập lệnh tùy chọn trong đó có các lệnh cơ bản (CỘNG , TRỪ , AND , NOR , OR, NAND, XOR, NOT ) Thiết kế chứa 2 khối RAM dùng để l.

Bảng phân công … Yêu cầu đề - Thiết kế ALU đơn giản để thực tập lệnh tùy chọn có lệnh (CỘNG , TRỪ , AND , NOR , OR, NAND, XOR, NOT.) Thiết kế chứa khối RAM dùng để lưu giá trị cho số đầu vào mà ALU cần tính tốn Viết file kiểm thử tính đắn thiết kế Hoạt động mô tả sau: - Hoạt động khối ALU thiết kế miêu tả bên ALU thực lệnh CỘNG , TRỪ , AND , NOR , OR, NAND, XOR, NOT Hai số din0 din1 có độ rộng bit số đưa vào để ALU thực lệnh Kết trả OUT số bit Opcode Hành động ALU Giải thích (ALU Operation) Add Signed OUT = din0 + din1 Subtract Signed OUT = din0 – din1 Bitwise AND OUT (i) = din0(i) AND din1(i) Bitwise NOR OUT (i) = din0(i) NOR din1(i) Bitwise OR OUT (i) = din0(i) OR din1(i) Bitwise NAND OUT (i) = din0(i) AND din1(i) Bitwise XOR OUT (i) = din0(i) AND din1(i) Biwise NOT OUT (i) = din0(i) Bảng : Bảng mô tả hành động ALU Sơ đồ khối giải thích chức module Hình 1: Sơ đồ khối tổng quát - Alu_ram: module cần thiết kế chứa phần tử RAM ALU Iram : module iram làm nhiệm vụ lưu trữ liệu cho số đầu vào mà ALU cần tính tốn + hành động ghi: Khi we = , lúc bus liệu din0, din1 đưa vào theo địa wa + hành động đọc: Khi re = , lúc bus liệu dout0, dout1 đọc theo địa Alu : Thực thi hành động dựa giá trị opcode đưa vào tương ứng bảng Ví dụ : opcode = , din0 = , din1 =  kết alu trả out = Tên tín hiệu clk Độ rộng bus Loại Input opcode Input din0 Input din1 Input we Input wa re Input Input vld Input Output out Output Giải thích Xung clock đồng cho tồn thiết kế Mã lệnh để ALU thực thi Cụ thể miêu tả Bảng Giá trị biến số đầu vào Giá trị biến số đầu vào Tích cực mức cao cần ghi vào ram Bus đia ghi vào ram Tích cực mức cao cần đọc ram Bus đia ghi đọc ram Tích cự mức cao giá trị ALU đựoc trả giá trị ALU đựoc trả Ngoài phần nói ta giả lập mơi trường mơ để mơ thiết kế file testtop.v Hình : môi trưởng kiểm thử testtop Kết mô Hình 3: Dạng sóng chạy mơ Phân tích kết Với kết mơ chọn din0 = 106 , din1 = 59 quan sát kết đầu thiết kế - Tín hiệu đầu out trả giá trị mong muốn theo opcode đưa vào Ví dụ : vị trí 100ns , opcode = (đây phép cộng số)  out = 165 (106+29 = 165) Tương tự cho kết trả tiếp opcode thay đổi Cá xung re,we tích cực mức cao q trình đọc ghi mong muốn Kết luận : - - Kết mô phù hợp với yêu cầu thiết đề phân tích Với thiết kế giới hạn việc chọn lưa ram tối đa lúc giá trị cho ALU thực thi (độ rộng bus địa RAM bit) Bên cạnh giá trị đầu vào để tính tốn giới hạn từ 0 255 (8 bit đia chỉ) nên sử lý giá trị lớn thơng số ALU khơng đạp ứng Thiết kế chưa xử lí chế báo lỗi ALU Chẳng hạn kết tràn số cộng , kết âm phép trừ… ... ALU đựoc trả giá trị ALU đựoc trả Ngồi phần nói ta giả lập môi trường mô để mơ thiết kế file testtop.v Hình : môi trưởng kiểm thử testtop Kết mô Hình 3: Dạng sóng chạy mơ Phân tích kết Với kết... mức cao q trình đọc ghi mong muốn Kết luận : - - Kết mô phù hợp với yêu cầu thiết đề phân tích Với thiết kế giới hạn việc chọn lưa ram tối đa lúc giá trị cho ALU thực thi (độ rộng bus địa RAM...Sơ đồ khối giải thích chức module Hình 1: Sơ đồ khối tổng quát - Alu_ ram: module cần thiết kế chứa phần tử RAM ALU Iram : module iram làm nhiệm vụ lưu trữ liệu cho số đầu vào mà ALU cần tính

Ngày đăng: 02/08/2022, 14:13

Tài liệu cùng người dùng

Tài liệu liên quan