THIẾT kế CPU RISC 32 BITS đơn CHU kỳ THỰC HIỆN LỆNH SLT (có code) THIẾT kế CPU RISC 32 BITS đơn CHU kỳ THỰC HIỆN LỆNH SLT (có code) THIẾT kế CPU RISC 32 BITS đơn CHU kỳ THỰC HIỆN LỆNH SLT (có code) THIẾT kế CPU RISC 32 BITS đơn CHU kỳ THỰC HIỆN LỆNH SLT (có code) THIẾT kế CPU RISC 32 BITS đơn CHU kỳ THỰC HIỆN LỆNH SLT (có code)
THIẾT KẾ CPU RISC 32 BITS ĐƠN CHU KỲ THỰC HIỆN LỆNH SLT MỤC LỤC DANH MỤC CÁC HÌNH VẼ HÌNH 2-1: CPU RISC ARM710 HÌNH 2-2: SƠ ĐỒ TỔNG THỂ CÁC KHỐI TRONG MỘT CPU RISC 32 BITS HÌNH 2-3: CẤU TRÚC KHỐI IM HÌNH 2-4: KHỐI RF HÌNH 2-5: KHỐI ALU HÌNH 2-6: KHỐI DATA MEMORY HÌNH 2-7: KHỐI SIGN EXTEND HÌNH 3-1: ĐƯỜNG DỮ LIỆU VÀ ĐIỀU KHIỂN THỰC HIỆN LỆNH SLT HÌNH 4-1: CODE CỦA BỘ CỘNG HÌNH 4-2: CODE KHỐI ĐẦU VÀO PC HÌNH 4-3: CODE KHỐI IM HÌNH 4-4: CODE KHỐI RF HÌNH 4-5: CODE KHỐI ALU HÌNH 4-6: CODE KHỐI CONTROL HÌNH 4-7: CODE KHỐI DATACONTROL HÌNH 4-8: CODE KHỐI ALUDECODER HÌNH 4-9: CODE CPU HÌNH 4-10: CODE CHO ĐƯỜNG DỮ LIỆU HÌNH 4-11: KẾT QUẢ MƠ PHỎNG (1) HÌNH 4-12: KẾT QUẢ MƠ PHỎNG (2) HÌNH 4-13: KẾT QUẢ MƠ PHỎNG TRÊN KIT DE2 DANH MỤC CÁC BẢNG BIỂU BẢNG 1-1: Ý NGHĨA CỦA CÁC TOÁN TỬ SỐ HỌC BẢNG 1-2: Ý NGHĨA CỦA CÁC TOÁN TỬ SO SÁNH VÀ QUAN HỆ BẢNG 1-3: Ý NGHĨA CỦA CÁC TOÁN TỬ LOGIC BẢNG 1-4: Ý NGHĨA CỦA CÁC TOÁN TỬ DỊCH BẢNG 1-5: Ý NGHĨA CÁC SỐ HỌC BẢNG 2-1: CÁC LỆNH ĐƯỢC SỬ DỤNG TRONG KHUÔN DẠNG LỆNH (1) BẢNG 2-2: CÁC LỆNH ĐƯỢC SỬ DỤNG TRONG KHUÔN DẠNG LỆNH (2) DANH MỤC CÁC TỪ VIẾT TẮT CPU Central Proccessing Unit RISC Reduced Instructions Set Computer SLT Set on less time HDLs Hardware Description Languages IM Instruction Memory RF Registor File ALU Arithmetic Logic Unit ARM Advanced RISC Machine VHDL Very High Speed Intergrated Circuit Hardware Description Language CISC: Complex Instruction Set Computer ĐỒ ÁN Trang 6/42 CHƯƠNG TÌM HIỂU NGƠN NGỮ THIẾT KẾ VERILOG 1.1 Tìm hiểu ngơn ngữ đặc tả phần cứng (HDLs) Ngày nay, thời đại khoa học kỹ thuật, cơng nghiệp vi mạch khơng ngừng phát triển, kích thước vi mạch chip ngày nhỏ độ phức tạp hệ thống thiết kế ngày tăng mà phương pháp thiết kế mạch truyền thống dùng tối thiểu hóa hàm Boolean hay dùng sơ đồ phần tử khơng cịn đáp ứng yêu cầu đặt thiết kế Hơn mạch thiết kế yêu cầu phải thử nghiệm kỹ lưỡng trước đưa vào chế tạo hàng loạt Trước địi hỏi đó, ngơn ngữ đặc tả phần cứng HDLs (Hardware Description Languages) đời Với ưu điểm dễ quản lý mạch lớn phức tạp, uyển chuyển độc lập với công nghệ, cho phép tái sử dụng thiết kế sẵn có, mạch tổng hợp tự động từ đặc tả nên dần trở thành ngơn ngữ sử dụng rộng rãi ngành công nghiệp thiết kế số HDLs trở thành kiến thức đòi hỏi cần phải biết kĩ sư sinh viên làm việc học tập lĩnh vực phần cứng Hiện tại, ngôn ngữ mô tả phần cứng sử dụng rộng rãi ngơn ngữ Verilog HDL, VHDL, System Verilog, … 1.2 Ngôn ngữ thiết kế Verilog HDL 1.2.1 Lịch sử phát triển Verilog hai ngôn ngữ mô tả phần cứng (gồm VHDL Verilog HDL) người thiết kế phần cứng sử dụng phổ biến để mô tả, thiết kế ĐỒ ÁN Trang 7/42 hệ thống số nhiều mức khác mức cao mơ hình đặc trưng đến mức thấp mơ hình bố trí dây, điện trở, transistor mạch tích hợp, cổng logic, flip flop hệ thống số, ghi di chuyển liệu ghi Ban đầu, Verilog HDL phát minh Getway Design Automation giới thiệu lần đầu vào năm 1984 Năm 1989 mua lại Cadence, sau Verilog phát hành miễn phí Tổ chức Open Verilog International (OVI) thành lập nhằm kiểm sốt đặc tả ngơn ngữ Năm 1995, OVI Verilog thông qua IEEE chuẩn hiệp hội Năm 2001, IEEE giới thiệu phiên Verilog phiên sử dụng rộng rãi – Verilog HDL 2001 Năm 2005, System Verilog giới thiệu mở rộng Verilog với kỹ thuật kiểm tra hướng đối tượng Năm 2009, IEEE kết hợp chuẩn Verilog với System Verilog thành chuẩn IEEE 1800-2009 So với ngôn ngữ VHDL Verilog giống với ngơn ngữ C nên người có kiến thức C tốt dễ học sử dụng Verilog 1.2.2 Quy ước từ khóa Là ký tự đặc biệt gồm có ký tự dấu cách (Space), ký tự Tab ký tự xuống dịng (Enter) 1.2.2.1 Chú thích Có hai cách để tạo thích: • Chú thích dịng, sử dụng ký tự // • Vd : //Thiet ke CPU Chú thích nhiều dịng, ký tự /* kết thúc ký tự */ Vd : /* Thiet ke CPU RISC 32 bits ĐỒ ÁN Trang 8/42 don chu ky thuc hien lenh SLT */ 1.2.2.2 Toán tử Gồm toán tử đơn, toán tử kép toán tử điều kiện : • Vd : Toán tử đơn : x == y // x y Toán tử kép : z = x + y // z x cộng cho y Toán tử điều kiện : x = ? y : z // Nếu biến điều kiện kết x y, ngược lại kết x z 1.2.2.2.1 Tốn tử số học Bảng 1-1: Ý nghĩa toán tử số học a+b a -b a*b a/b a%b 1.2.2.2.2 Toán tử so sánh quan hệ < > = == != ĐỒ ÁN Trang 9/42 Bảng 1-2: Ý nghĩa toán tử so sánh quan hệ ab a = b a == b a != b 1.2.2.2.3 Toán tử logic a nhỏ b a lớn b a nhỏ b a lớn b a b a khác b & | ^ ~ Bảng 1-3: Ý nghĩa toán tử logic a&b a |b a^b ~a a AND b a OR b a XOR b đảo a 1.2.2.2.4 Toán tử dịch > Bảng 1-4: Ý nghĩa toán tử dịch x > y x dịch sang phải y lần Trong tốn tử dịch, vị trí bit trống chèn vào bit 1.2.2.2.5 Toán tử điều kiện Trong trường hợp xét điều kiện đơn giản, ta không cần phải sử dụng đến cấu trúc điều kiện If … else hay Case ĐỒ ÁN Trang 10/42 Cú pháp : Condition ? result : result Ý nghĩa : Nếu biến điều kiện Condition cho kết result 1, ngược lại cho kết result 1.2.2.3 Số học Bảng 1-5: Ý nghĩa số học 123 4’b1010 -5’d15 8’hAB 16’o34 4’bxxxx 2.5E9 4’bzzzz số thập phân 123 số nhị phân 1010 có độ rộng bit hay số bit số thập phân -18 có độ rộng bit số thập lục phân AB có số bit số bát phân 34 có 16 bit số nhị phân tùy định lưu bit số thực 2.5x109 số nhị phân bit có giá trị tổng trở cao 1.2.2.3.1 Hằng số nguyên Có thể mô tả theo định dạng số nhị phân, bát phân, thập phân thập lục phân Gồm dạng: • Số thập phân đơn giản, chuỗi ký tự từ đến bắt đầu với toán tử cộng (+) trừ (-) Vd: 123 // số thập phân không dấu 123 +123 // số thập phân có dấu +123 -123 // số thập phân có dấu -123 • Được mơ tả dạng số, gồm thành phần: Độ rộng số hay độ rộng bit ĐỒ ÁN Trang 33/42 CHƯƠNG CODE VÀ KẾT QUẢ MƠ PHỎNG 4.1 Code mơ Quartus: Hình 4-1: Code cộng Hình 4-2: Code khối đầu vào PC ĐỒ ÁN Trang 34/42 Hình 4-3: Code khối IM Hình 4-4: Code khối RF ĐỒ ÁN Trang 35/42 Hình 4-5: Code khối ALU Hình 4-6: Code khối Control ĐỒ ÁN Trang 36/42 Hình 4-7: Code khối Datacontrol ĐỒ ÁN Trang 37/42 Hình 4-8: Code khối Aludecoder Hình 4-9: Code CPU Hình 4-10: Code cho đường liệu ĐỒ ÁN Trang 38/42 4.2 Kết mơ Hình 4-11: Kết mơ (1) ĐỒ ÁN Trang 39/42 Hình 4-12: Kết mơ (2) Nhận xét: Kết mô với lý thuyết ĐỒ ÁN Trang 40/42 4.3 Mô KIT DE2 Hình 4-13: Kết mơ KIT DE2 Nhận xét: ghi giá trị 3, ghi giá trị Kết ngõ Zero Mô với lý thuyết ĐỒ ÁN Trang 41/42 CHƯƠNG 5: KẾT LUẬN 5.1 Ưu nhược điểm đề tài 5.1.1 Ưu điểm - Đề tài giúp ta trang bị thêm hiểu biết, kiến thức ngôn ngữ mơ tả phần cứng Verilog HDL ứng dụng vào học tập công việc sau - Nắm quy trình để thiết kế CPU RISC với lệnh đơn giản, tiền đề để sau thiết kế CPU phức tạp 5.1.2 Nhược điểm - Do CPU thực lệnh cịn đơn giản nên chưa có nhiều ứng dụng thực tiễn 5.2 Hướng phát triển Có thể nâng cấp lên CPU RISC 64 bits để thực nhiều lệnh có ứng dụng nhiều sống ĐỒ ÁN Trang 42/42 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Vũ Đức Lung, Lâm Đức Khải, Phan Đình Duy (2014), Ngơn ngữ lập trình phần cứng Verilog, Nhà xuất Đại học Quốc Gia TP.Hồ Chí Minh [2] Nguyễn Hùng Quân, Hầu Nguyên Thanh Hoàng, Nguyễn Phú Quốc, Đỗ Ngọc Quỳnh, Trần Kiên Cường, Lê Phúc, Nguyễn Duy Thái (2014), Verilog HDL ứng dụng, Nhà xuất Đại học Quốc Gia TP.Hồ Chí Minh Tiếng Anh: [3] Douglas Smith (1998), HDL chip design, Doone Publications, United States [4] Sivarama P.Dandamudi (2015), Guide to RISC Processors, Springer Verlag New York Inc, United States ... KẾ CPU RISC 32 BITS ĐƠN CHU KỲ THỰC HIỆN LỆNH SLT 3.1 Tìm hiểu lệnh SLT Slt (set on less time) lệnh so sánh bé Sử dụng khuôn dạng lệnh R, trường op = 000000 trường funct = 101010 Cú pháp: slt $s1,... sau - Nắm quy trình để thiết kế CPU RISC với lệnh đơn giản, tiền đề để sau thiết kế CPU phức tạp 5.1.2 Nhược điểm - Do CPU thực lệnh đơn giản nên chưa có nhiều ứng dụng thực tiễn 5.2 Hướng phát... ALUop • Đơn vị điều khiển ALU tạo bit ALUcontrol Instr op funct ALUop Lệnh thực ALUcontrol input slt 101010 10 Set on less time 111 3.3 Nguyên lý hoạt động CPU RISC 32 bits đơn chu lệnh SLT - Khối