Bài tập lớn Thiết kế, tổng hợp IC số và hệ thống số: RISC SPM (có code)

41 662 12
Bài tập lớn Thiết kế, tổng hợp IC số và hệ thống số: RISC SPM (có code)

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài tập lớn Thiết kế, tổng hợp IC số và hệ thống số đại học Bách Khoa Hà Nội: RISC SPM. Báo cáo có đầy đủ kết quả mô phỏng và hình ảnh chạy trên kit DE2. Code Verilog (mở bằng Quartus 13.0) chạy trên kit được đính kèm, mô phỏng trên Modelsim 10.1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ-VIỄN THÔNG ====o0o==== THIẾT KẾ, TỔNG HỢP IC SỐ HỆ THỐNG SỐ BÁO CÁO CUỐI KÌ ĐỀ TÀI: MÁY CHƯƠNG TRÌNH ĐƯỢC LƯU TRỮ MÁY TÍNH VỚI TẬP LỆNH ĐƠN GIẢN (RISC SPM) GVHD: TS Võ Lê Cường Nhóm thực hiện: Nhóm 13 Nguyễn Minh Hiếu (20151336) – Điện tử 03 K60 Nguyễn Nguyên Bách (20150239) – Điện tử 08 K60 Hà Nội, tháng 12 năm 2018 LỜI NÓI ĐẦU Trong học phần Thiết kế, tổng hợp IC số hệ thống số, để phục vụ cho tập lớn cuối kì, nhóm 13 chúng em chọn đề tài “Máy chương trình lưu trữ máy tính với tập lệnh đơn giản (RISC SPM)” để thực Đề tài khó hay, vận dụng nhiều kiến thức học để làm Ngoài việc thiết kế, viết code Verilog, nhóm em triển khai mạch kit FPGA DE2 Altera Nhóm em xin chân thành cảm ơn thầy Võ Lê Cường bạn lab AICS hướng dẫn dạy lớp giúp chúng em hoàn thành tập lớn MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU NỘI DUNG Chương Phân chia công việc Bảng 1.1 thể phân chia cơng việc nhóm Bảng 1.1 Phân chia công việc Người làm Nguyễn Minh Hiếu Nguyễn Ngun Bách Cơng việc Tồn code Quartus, mô Modelsim triển khai mạch FPGA Phần báo cáo: 2.6 Mô RISC SPM Chương Triển khai mạch FPGA Phần báo cáo: 2.1 Tổng quan RISC SPM 2.2 Thiết kế RIST SPM 2.3 Bộ xử lí 2.4 Tập lệnh RISC SPM 2.5 Bộ điều khiển Chiếm % 50% Tổng chiếm % 75% 5% 20% 25% 5% 5% 5% 5% 5% Chương Thiết kế mô máy chương trình lưu trữ máy tính với tập lệnh đơn giản (RISC SPM) 2.1 Mục tiêu, yêu cầu thiết kế 2.1.1 Mục tiêu thiết kế Ở tập lớn nhóm em thiết kế Máy chương trình lưu trữ máy tính với tập lệnh đơn giản (Reduced instruction-set computer stored-program machine – RISC SPM) RISC thiết kế để có tập nhỏ lệnh thực chu ký đồng hồ ngắn, với số lượng nhỏ chu kì lệnh Các máy RISC tối ưu hoá để đạt hiệu pipelining luồng lệnh RISC SPM máy có kiến trúc RISC lưu trữ chương trình, lệnh lưu memory Máy bao gồm ba khối chức năng: xử lý (processor), điều kiển (controller) memory Các tập lệnh chương trình liệu lưu trữ memory Kiến trúc tổng thể RISC SPM hiển thị hình 2.1 Hình 2.1 Kiến trúc tổng thể RISC SPM 2.1.2 Yêu cầu thiết RISC SPM kế giống máy tính thu nhỏ thiết kế để hoạt động theo chương trình nhờ lệnh có sẵn Trong hoạt động theo chương trình, lệnh nạp đồng từ memory, giải mã thực để hoàn thành yêu cầu sau: - Hoạt động liệu khối tính toán số học logic (ALU) Thay đổi nội dung ghi lưu trữ Thay đổi đổi số đếm chương trình (PC), ghi lệnh (IR) - ghi địa (ADD_R) Thay đổi nội dung memory Lấy lại liệu lệnh từ memory Điều khiển di chuyển liệu bushệ thống Thanh ghi lệnh (IR) chứa lệnh thực hiện; đếm chương trình (PC) chứa địa lệnh thực hiện; ghi địa (ADD_R) giữ địa vị trí memory đánh địa tiếp hoạt động đọc ghi Trong tập lớn này, nhóm em sử dụng liệu địa (trong memory) có độ dài word_size=8 bit 2.2 Thiết kế RIST SPM RIST SPM thiết kế theo đồ FSMD với phần FSM điều khiển phần datapath xử lí memory, hai phần giao tiếp với qua tín hiệu điều khiển từ điều khiển sang xử lí lệnh cờ zero từ xử lí sang điều khiển (hình 2.2) Hình 2.2 Thiết kế FSM SPM Các tín hiệu từ điều khiển sang xử lí có nhiệm vụ điều khiển đường liệu xử lí Bộ điều khiển nhận lệnh (và tín hiệu zero) từ xử lí sang để từ đưa tín hiệu điều khiển phù hợp 10 S_rd2: next_state = S_fet1; Sel_Mem = 1; case (dest) R0: R1: R2: R3: default : endcase end S_wr2: next_state = S_fet1; write = 1; case (src) R0: R1: R2: R3: default : endcase end S_br1: Load_Add_R = 1; end S_br2: Load_PC = 1; end S_halt: default: endcase end begin Load_R0 = 1; Load_R1 = 1; Load_R2 = 1; Load_R3 = 1; err_flag = 1; begin Sel_R0 = 1; Sel_R1 = 1; Sel_R2 = 1; Sel_R3 = 1; err_flag = 1; begin next_state = S_br2; Sel_Mem = 1; begin next_state = S_fet1; Sel_Mem = 1; next_state = S_halt; next_state = S_idle; 27 2.6 Mô RISC SPM 2.6.1 Tổng quan phần mô Để mô RISC SPM cần xung đồng hồ tín hiệu reset, ta tạo xung đồng hồ module Clock_Unit Ngoài ta khởi tạo memory file testbench với liệu nhập theo địa memory 2.6.2 Thiết kế file testbench 2.6.2.1 Thiết kế module Clock_Unit Module tạo xung clock với chu kì 20ns, sử dụng lệnh forever `timescale 1ns / 1ns module Clock_Unit (clock); output clock; reg clock; parameter delay = 0; parameter half_cycle = 10; initial begin #delay clock = 0; forever #half_cycle clock = ~clock; end endmodule 2.6.2.2 Thiết kế file testbench Trong file testbench chắn cần có tín hiệu reset clock, biến k bit để lát sử dụng Sau thực module Clock_Unit M1 RISC_SPM M2, ta thực file testbench sau: - Reset mạch lần lúc đầu, khởi tạo tất ô nhớ memory (sử dụng vòng lặp for với biến chạy k từ đến 255) 28 - Các memory có địa từ đến 14, từ 128 đến 140 gán giá trị testbench với mục đích ghi bên cạnh Bên code Verilog phần khởi tạo memory: initial begin #2 rst = 0; for (k=0;k

Ngày đăng: 09/05/2019, 22:03

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • Chương 1. Phân chia công việc

  • Chương 2. Thiết kế và mô phỏng máy chương trình được lưu trữ máy tính với tập lệnh đơn giản (RISC SPM)

    • 2.1 Mục tiêu, yêu cầu thiết kế

      • 2.1.1 Mục tiêu thiết kế

      • 2.1.2 Yêu cầu thiết kế

    • 2.2 Thiết kế sơ bộ RIST SPM

    • 2.3 Bộ xử lí

      • 2.3.1 Tổng quan bộ xử lí

      • 2.3.2 Thiết kế các thanh ghi đa chức năng, thanh ghi lệnh, thanh ghi địa chỉ

      • 2.3.3 Thiết kế bộ đếm chương trình

      • 2.3.4 Thiết kế Mux_1(5-1) và Mux_2 (3-1)

      • 2.3.5 Thiết kế khối ALU

      • 2.3.6 Thiết kế bộ xử lí

    • 2.4 Tập lệnh của RISC SPM

    • 2.5 Bộ điều khiển

      • 2.5.1 Tổng quan bộ điều khiển

      • 2.5.2 Thiết kế bộ điều khiển

    • 2.6 Mô phỏng RISC SPM

      • 2.6.1 Tổng quan phần mô phỏng

      • 2.6.2 Thiết kế file testbench

        • 2.6.2.1 Thiết kế module Clock_Unit

        • 2.6.2.2 Thiết kế file testbench

      • 2.6.3 Kết quả mô phỏng

  • Chương 3. Triển khai mạch trên FPGA

    • 3.1 Giới thiệu Kit FPGA Altera DE2

    • 3.2 Thiết kế khối chia tần số

    • 3.3 Thiết kế bộ giải mã cho các LED 7 thanh

    • 3.4 Thiết kế file chạy trên kit

    • 3.5 Kết quả chạy trên kit

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

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

  • Đang cập nhật ...

Tài liệu liên quan