Thiết kế và thực thi bộ cộng 32 bits có nhớ (có code bên dưới) ................ Thiết kế và thực thi bộ cộng 32 bits có nhớ (có code bên dưới) ................ Thiết kế và thực thi bộ cộng 32 bits có nhớ (có code bên dưới) ................ Thiết kế và thực thi bộ cộng 32 bits có nhớ (có code bên dưới) ................ Thiết kế và thực thi bộ cộng 32 bits có nhớ (có code bên dưới) ................
ĐỒ ÁN Thiết kế thực thi cộng 32 bits (có nhớ) MỤC LỤC DANH MỤC CÁC HÌNH VẼ VII DANH MỤC CÁC TỪ VIẾT TẮT VIII CHƯƠNG CƠ SỞ LÝ LUẬN 1.1 GIỚI THIỆU 1.1.1 Lịch sử .1 1.1.2 Lý thuyết Verilog CHƯƠNG THIẾT KẾ MẠCH 2.1 SƠ ĐỒ MẠCH .3 2.2 NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH VÀ CHỨC NĂNG CHƯƠNG KẾT QUẢ MÔ PHỎNG .7 3.1 MƠ HÌNH MƠ PHỎNG CHƯƠNG NHẬN XÉT 13 4.1 NHẬN XÉT 13 CHƯƠNG KẾT LUẬN 14 5.1 KẾT LUẬN .14 5.2 HƯỚNG PHÁT TRIỂN .14 TÀI LIỆU THAM KHẢO 15 PHỤ LỤC 16 DANH MỤC CÁC HÌNH V HÌNH - 1: MƠ TẢ RTL VIEWER CỦA MẠCH CỘNG BIT HÌNH - 2: MƠ TẢ RTL VIEWER CỦA MẠCH CỘNG 32 BITS HÌNH - 3: BẢNG CHÂN TRỊ [2] HÌNH - 4: KẾT QUẢ NGÕ RA CỦA MẠCH CỘNG BIT [1] .8 HÌNH - 5: MẠCH CỘNG 32 BIT GHÉP TẦNG TỪ BỘ CỘNG BIT[2] HÌNH - 1: MƠ TẢ SĨNG CỦA BỘ CỘNG BIT 10 HÌNH - 2: TIMING SIMULATION CỦA BỘ CỘNG BIT 11 HÌNH - 3: SĨNG MƠ PHỎNG BỘ CỘNG 32 BIT .11 HÌNH - 5: ĐÁNH GIÁ TÀI NGUYÊN 12 HÌNH - 6: THỰC THI TRÊN KIT DE2 - 115 13 HÌNH - 7: THỰC THI TRÊN KIT DE2 – 115 14 DANH MỤC CÁC TỪ VIẾT TẮT ĐỒ ÁN Trang 1/19 CƠ SỞ LÝ LUẬN 1.1 Giới thiệu Verilog ngôn ngữ mô tả phần cứng (Hardware Description Language) sử dụng thiết kế hệ thống số, mạch tích hợp… Cùng với ngơn ngữ VHDL Verilog hai ngôn ngữ mô tả phần cứng phổ biến Verilog có đặc điểm tính độc lập cơng nghệ, dễ dàng việc thiết kế debug, tính đơn giản so với thiết kế sơ đồ khối (schematics), đặc biệt việc thiết kế hệ thống số phức tạp Ngôn ngữ mô tả phần cứng (HDLs) loại ngôn ngữ dùng để thiết kế phần cứng thông qua phát biểu mô tả lời (chữ viết) Có ngơn ngữ thường dùng để thiết kế là: VHDL Verilog HDL Với mong muốn học tập tìm hiểu ngơn ngữ Verilog HDL em chọn đề tài để thực “Thiết kế thực thi cộng 32 bits (có nhớ) ngôn ngữ Verilog, thực chip FPGA cyclone IV, kit DE2 Altera thông qua JTAG USB 1.1.1 Lịch sử Verilog lần đầu giới thiệu vào năm 1984 công ty Gateway Design Automatic Verilog không chuẩn hóa điều chỉnh sửa hầu hết Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 2/19 phiên sau từ năm 1984 đến 1990 Năm 1995 Verilog thức chuẩn hóa tơt chức IEEE Nhiều người cho Verilog dễ học sử dụng VHDL nhờ cú pháp giống với ngôn ngữ C (ngôn ngôn ngữ thường học nhiều nhất) Tuy hai ngôn ngữ Verilog VHDL đời Mỹ Verilog dùng phổ biến Verilog dùng để xây dựng ứng dụng tảng công nghệ FPGA, CPLDs,… Code Verilog dùng để mô tả hệ thống số xây dựng thiết bị lập trình hãng như: Xilinx, Altera, Amtel,… 1.1.2 Lý thuyết Verilog Quy định sử dụng Có thể dùng {[A-Z], [0-9], _, $, …} Khơng bắt đầu $ hay [0-9] Ví dụ: - Trường hợp đúng: myidentifier, m_y_identifier, _myidentifier - Trường hợp sai: 4my_identifier, $my_identifier Phân biệt chữ hoa chữ thường “myiden khác với Myiden” Trích dẫn - // dòng thích - /* , */ thích nhiều dòng Các giá trị Verilog => mức logic thấp hay điều kiện sai (false) => mức logic cao hay điều kiện (true) X => mức logic (unknown level) Z => mức logic tổng trở cao (hi-Z) Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 3/19 Số Verilog < kích cỡ > ’ < hệ số > < giá trị > No of bits Binary => b or B Consecutive chars Octal => o or O 0-f, x, z Decimal => d or D Hexadecimal => h or H 8’h ax = 1010xxxx 12’o 3zx7 = 011zzzxxx111 Có thể chèn “_” để dễ đọc 12’b 000_111_010_100 12’b 000111010100 12’o 07_24 Mở rộng BIT MS bit = 0, x or z => mở rộng 4’b x1 = 4’b xx_x1 MS bit = => mở rộng 4’b 1x = 4’b 00_1x Nếu hệ số khơng có xem hệ số 10 15 = ’d 15 Đường nối (nets) - Xem dây phần cứng lấy logic - Bằng Z không nối - Các loại khác nets Wire Wand (wired – AND) Wor (wired – OR) Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 4/19 Tri (tri – state) Kiểu nối dây “wire” thông dụng thường gặp A Y B wire Y; // khai báo kiểu nối dây Y assign Y = A & B; // biểu thức tính Các ghi (Registers) Là biến lưu giá trị Chỉ có loại: reg reg A, C; // khai báo // phép gán thực bên procedure A = 1; C = A; // C có giá trị logic A = 0; // C C = 0; // C Giá trị ghi ghi hữu Toán tử logic && => AND logic | | => OR logic ! => NOT logic Toán tử trả giá trị: 0, or X Kết giá trị: 0, or X A = 6; A && B => && => B = 0; A | | !B => | | => C = x; C | | B => x | | => x Toán tử bit (bitwise) & => bitwise AND | => bitwise OR ~ => bitwise NOT ^ => bitwise XOR ~^ ^~ => bitwise XNOR Các toán tử rút gọn & => AND | => OR ^ => XOR ~& => NAND ~| => NOR ~^ ^~ => XNOR Một phép toán nhiều bit suy kết bits Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 5/19 a = 4’b1001; … c = |a; // c = | | | = Ví dụ bản: thiết kế cổng NOT ngôn ngữ Verilog Bảng thật: Input Output B = Not A A 1 Code: Module congnot (A, B); // khai báo, đặt tên phải giống với tên file Input wire A; // khai báo cổng vào kiểu liệu dây ( liệt kê tấc trường hợp ngõ vào) Output wire B; // tương tự ngõ vào, ngõ khai báo kiểu liệu wire // gán B đảo A Assign B = !A; Endmodule THIẾT KẾ MẠCH Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 6/19 2.1 Sơ đồ mạch cộng bit Hình - 1: Mô tả RTL Viewer mạch cộng bit Hình - 2: Mơ tả RTL Viewer mạch cộng 32 bits Ta nối tiếp cộng bit lại với nhau, ngõ bit trước ngõ vào cờ nhớ bit (cin) với ngõ vào a, b ta kết cho ngõ bit Xong thực cộng cộng 32 bits 2.2 Nguyên lý hoạt động chức mạch Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 7/19 Mạch cộng toàn phần mạch thực cộng bit nhị phân A, B (là số dư phép toán trước) cho số tổng S, số dư Hình - 3: Bảng chân trị [2] Vẽ bìa karnaugh, tính tốn kết từ bảng chân trị Hình - 4: Kết ngõ mạch cộng bit [1] Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 8/19 Kết luận: nối 32 cộng bit lại với ta cộng 32 bit Hình - 5: Mạch cộng 32 bit ghép tầng từ cộng bit[2] Vậy với cộng n-bit có cờ nhớ, ngõ vào cin cờ nhớ ngõ cout ghép tầng để tạo công cho chuỗi bit dài Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 9/19 KẾT QUẢ MƠ PHỎNG Kết mơ cộng 32 bits 3.1 Hình mơ Hình - 1: Mơ tả sóng cộng bit Như hình có ngõ vào là: a, b cin, ngõ sum cout Sử dụng số nhị phân Khi cho ngõ vào: a=0, b=1, cin=0 Kết ngõ s=1, cout=0 Số mô tả mức thấp, số mức cao Đánh giá delay Timing Simulation cộng bit Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 10/19 Hình - 2: Timing Simulation cộng bit Hình 3-2: cho biết delay s ngõ cout cộng bit Delay ngõ cout so với ngõ vào 3.929 ns, s bị delay nhiều 6.276 Còn hình 3-1 khơng bị delay Hình - 3: Sóng mơ cộng 32 bit Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 11/19 Đánh giá tài nguyên Hình - 5: Đánh giá tài nguyên Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 12/19 Thực Kit DE2 - 115 Hình - 6: Thực thi kit DE2-115 Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 13/19 Hình - 7: Thực thi Kit DE2 – 115 Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 14/19 NHẬN XÉT 4.1 Nhận xét Ưu điểm: đơn giản dễ hiểu, số nhớ truyền qua bit nhau, bit tổng (Sum) phụ thuộc vào số nhớ (cout) Do giá trị bit xác định có tín hiệu ngõ vào cin xác định Nhược điểm: số bit lớn sai số gây tỷ lệ cao, thời gian trễ lớn Biện pháp khắc phục: ta sử dụng phương pháp nhớ nhanh (fast carry) nhớ nhìn trước (look-ahead carry) Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 15/19 KẾT LUẬN 5.1 Kết luận Đây đề tài nghiên cứu, thiết kế thực cộng 32 bit (có nhớ) Người viết dùng phần mềm quartus II thực viết ngôn ngữ Verilog, viết code cho cộng 32 bits cách nối tiếp 32 cộng bit lại với ta kết mong đợi 5.2 Hướng phát triển Đề tài phát triển thêm lên cộng, trừ ALU ứng dụng cho phần mềm tính tốn số Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 16/19 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] http://www.semiconvn.com [2] https://vi.wikipedia.org Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 17/19 PHỤ LỤC Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 18/19 Thiết kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 19/19 Thiết kế thực thi cộng 32 bits (có nhớ) ... Trang 17/19 PHỤ LỤC Thi t kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 18/19 Thi t kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 19/19 Thi t kế thực thi cộng 32 bits (có nhớ) ... Kit DE2 - 115 Hình - 6: Thực thi kit DE2-115 Thi t kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 13/19 Hình - 7: Thực thi Kit DE2 – 115 Thi t kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 14/19... Sóng mơ cộng 32 bit Thi t kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 11/19 Đánh giá tài nguyên Hình - 5: Đánh giá tài nguyên Thi t kế thực thi cộng 32 bits (có nhớ) ĐỒ ÁN Trang 12/19 Thực Kit