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) ................
Trang 1Thiết kế và thực thi bộ cộng 32 bits
(có nhớ).
Trang 2DANH MỤC CÁC TỪ VIẾT TẮT VIII
CHƯƠNG 1 CƠ SỞ LÝ LUẬN 1
1.1 GIỚI THIỆU 1
1.1.1 Lịch sử 1
1.1.2 Lý thuyết về Verilog 2
CHƯƠNG 2 THIẾT KẾ MẠCH 3
2.1 SƠ ĐỒ MẠCH 3
2.2 NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH VÀ CHỨC NĂNG 4
CHƯƠNG 3 KẾT QUẢ MÔ PHỎNG 7
3.1 MÔ HÌNH MÔ PHỎNG 7
CHƯƠNG 4 NHẬN XÉT 13
4.1 NHẬN XÉT 13
CHƯƠNG 5 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
Trang 4HÌNH 2 - 4: KẾT QUẢ NGÕ RA CỦA MẠCH CỘNG 1 BIT [1] 8
HÌNH 2 - 5: MẠCH CỘNG 32 BIT GHÉP TẦNG TỪ BỘ CỘNG 1 BIT[2] 9
HÌNH 3 - 1: MÔ TẢ SÓNG CỦA BỘ CỘNG 1 BIT 10
HÌNH 3 - 2: TIMING SIMULATION CỦA BỘ CỘNG 1 BIT 11
HÌNH 3 - 3: SÓNG MÔ PHỎNG BỘ CỘNG 32 BIT 11
HÌNH 3 - 5: ĐÁNH GIÁ TÀI NGUYÊN 12
HÌNH 3 - 6: THỰC THI TRÊN KIT DE2 - 115 13
HÌNH 3 - 7: THỰC THI TRÊN KIT DE2 – 115 14
Trang 6Verilog cũng có các đặc điểm như tính độc lập về công nghệ, dễ dàng trong việcthiết kế và debug, cũng như tính đơn giản so với các thiết kế bằng sơ đồ khối(schematics), đặc biệt là trong việc thiết kế các hệ thống số phức tạp.
Ngôn ngữ mô tả phần cứng (HDLs) là một loại ngôn ngữ dùng để thiết kế phầncứng thông qua phát biểu mô tả bằng lời (chữ viết)
Có 2 ngôn ngữ thường dùng để thiết kế là: VHDL và Verilog HDL
Với mong muốn học tập và tìm hiểu về ngôn ngữ Verilog HDL em chọn đề tài đểthực hiện là “Thiết kế và thực thi bộ cộng 32 bits (có nhớ) bằng ngôn ngữ Verilog,thực hiện trên chip FPGA cyclone IV, kit DE2 của Altera thông qua JTAG USB
1.1.1 Lịch sử
Verilog lần đầu được giới thiệu vào năm 1984 bởi công ty Gateway DesignAutomatic Verilog không được chuẩn hóa và điều được chỉnh sửa ở hầu hết các
Trang 7phiên bản sau từ năm 1984 đến 1990 Năm 1995 Verilog chính thức được chuẩn hóabởi tôt chức IEEE.
Nhiều người cho rằng Verilog dễ học và sử dụng hơn VHDL nhờ các cú pháp khágiống với ngôn ngữ C (ngôn ngôn ngữ thường được học nhiều nhất) Tuy cả haingôn ngữ Verilog và VHDL đều được ra đời tại Mỹ nhưng Verilog được dùng phổbiến hơn tại đây
Verilog dùng để xây dựng các ứng dụng trên nền tảng công nghệ như FPGA,CPLDs,… Code Verilog dùng để mô tả các hệ thống số được xây dựng trong cácthiết bị lập trình được của các hãng như: Xilinx, Altera, Amtel,…
- 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 và chữ thường
“myiden khác với Myiden”
Trích dẫn
- // dòng chú thích
- /* , */ chú thích nhiều dòng
Các giá trị Verilog
0 => mức logic thấp hay điều kiện sai (false)
1 => mức logic cao hay điều kiện đúng (true)
X => mức logic không biết (unknown level)
Z => mức logic tổng trở cao (hi-Z)
Trang 8 Đường nối (nets).
- Xem như các dây phần cứng lấy bởi logic
- Bằng Z khi không nối
- Các loại khác nhau của nets
Wire
Wand (wired – AND)
Wor (wired – OR)
Consecutive chars0-f, x, z
Binary => b or BOctal => o or ODecimal => d or DHexadecimal => h or H
No of
bits
Trang 9 Tri (tri – state)Kiểu nối dây “wire” thông dụng thường gặp.
A Y wire Y; // khai báo kiểu nối dây Y
B assign Y = A & B; // biểu thức tính
Các thanh ghi (Registers)
Là các biến lưu giá trị
Toán tử trên bit (bitwise)
& => bitwise AND
Trang 10Output wire B; // tương tự như ngõ vào, ngõ ra cũng được khai
báo kiểu dữ liệu wire
Assign B = !A; // gán B bằng đảo của A.
Endmodule
2 THIẾT KẾ MẠCH
Trang 112.1 Sơ đồ mạch cộng 1 bit
Hình 2 - 1: Mô tả RTL Viewer của mạch cộng 1 bit
Hình 2 - 2: Mô tả RTL Viewer của mạch cộng 32 bits
Ta nối tiếp từng bộ cộng 1 bit lại với nhau, ngõ ra của bit trước là ngõ vào và cũng
là cờ nhớ của bit tiếp theo (cin) cùng với các ngõ vào a, b ta được kết quả cho ngõ
ra bit tiếp theo đó Xong cứ thực hiện cộng như vậy cho đến bộ cộng 32 bits
2.2 Nguyên lý hoạt động và chức năng của mạch
Trang 12Mạch cộng toàn phần là mạch thực hiện cộng 3 bit nhị phân A, B và (là số dưcủa phép toán trước) và cho ra 2 số là tổng S, số dư
Hình 2 - 3: Bảng chân trị [2]
Vẽ bìa karnaugh, tính toán ra được kết quả từ bảng chân trị trên
Hình 2 - 4: Kết quả ngõ ra của mạch cộng 1 bit [1]
Trang 13Kết luận: vậy khi nối 32 bộ cộng 1 bit lại với nhau ta được bộ cộng 32 bit
Hình 2 - 5: Mạch cộng 32 bit ghép tầng từ bộ cộng 1 bit[2]
Vậy khi với bộ cộng n-bit có cả cờ nhớ, ngõ vào cin và cờ nhớ ngõ ra cout thì có thểđược ghép tầng để tạo ra bộ công cho chuỗi bit dài hơn
Trang 143 KẾT QUẢ MÔ PHỎNGKết quả mô phỏng bộ cộng 32 bits.
3.1 Hình mô phỏng
Hình 3 - 1: Mô tả sóng của bộ cộng 1 bit
Như hình trên có 3 ngõ vào là: a, b và cin, ngõ ra sum và cout
Trang 15Hình 3 - 2: Timing Simulation của bộ cộng 1 bit
Hình 3-2: cho biết delay của s và ngõ ra cout của bộ cộng 1 bit Delay ngõ racout so với ngõ vào là 3.929 ns, s bị delay nhiều hơn là 6.276 Còn ở hình 3-1 thìkhông bị delay
Hình 3 - 3: Sóng mô phỏng bộ cộng 32 bit
Trang 16Đánh giá tài nguyên
Hình 3 - 5: Đánh giá tài nguyên
Trang 17Thực hiện trên Kit DE2 - 115
Hình 3 - 6: Thực thi trên kit DE2-115
Trang 18Hình 3 - 7: Thực thi trên Kit DE2 – 115
Trang 19
4 NHẬN XÉT
4.1 Nhận xét
Ưu điểm: đơn giản dễ hiểu, số nhớ truyền đi tuần tự qua mỗi bit kế tiếp nhau,mỗi bit của tổng (Sum) phụ thuộc vào số nhớ (cout) Do đó giá trị của mỗi bit đượcxác định khi có tín hiệu ngõ vào và cin đã được xác định
Nhược điểm: số bit càng lớn thì sai số gây ra tỷ lệ cao, do thời gian trễ lớn.Biện pháp khắc phục: ta có thể sử dụng phương pháp nhớ nhanh (fast carry)hoặc nhớ nhìn trước (look-ahead carry)
Trang 205 KẾT LUẬN
5.1 Kết luận
Đây là đề tài nghiên cứu, thiết kế và thực hiện bộ cộng 32 bit (có nhớ) Người viếtdùng phần mềm quartus II và thực hiện viết bằng ngôn ngữ Verilog, đã viết codecho bộ cộng 32 bits bằng cách nối tiếp 32 bộ cộng 1 bit lại với nhau ta được kết quảnhư mong đợi
5.2 Hướng phát triển
Đề tài này có thể phát triển thêm lên cộng, trừ hoặc bộ ALU ứng dụng cho các phầnmềm tính toán số
Trang 21TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] http://www.semiconvn.com
[2] https://vi.wikipedia.org
Trang 22PHỤ LỤC