1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế và thực thi bộ cộng 32 bits có nhớ (có code bên dưới)

24 510 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 1,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

Thiết kế và thực thi bộ cộng 32 bits

(có nhớ).

Trang 2

DANH 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 4

HÌ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 6

Verilog 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 7

phiê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 10

Output 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 11

2.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 12

Mạ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 13

Kế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 14

3 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 15

Hì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 17

Thực hiện trên Kit DE2 - 115

Hình 3 - 6: Thực thi trên kit DE2-115

Trang 18

Hì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 20

5 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 21

TÀI LIỆU THAM KHẢO

Tiếng Việt:

[1] http://www.semiconvn.com

[2] https://vi.wikipedia.org

Trang 22

PHỤ LỤC

Ngày đăng: 09/03/2018, 19:29

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w