1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Khoa Điện tử viễn thông báo cáo thực hành buổi 5 lab 4 introduction to hardware description language (cont)

43 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Khoa Điện Tử Viễn Thông Báo Cáo Thực Hành Buổi 5 Lab 4: Introduction to Hardware Description Language (cont)
Tác giả Nguyễn Trương Dũng
Trường học Trường Đại Học Công Nghệ ĐHQGHN
Chuyên ngành Điện Tử Viễn Thông
Thể loại Báo cáo thực hành
Định dạng
Số trang 43
Dung lượng 13,3 MB

Nội dung

Các loại gán giá trị Assignments: ● Gán liên tục Continuous Assignment: Giám sát và cập nhật ngay khi có thay đổi giá trị bên phải RHS, được sử dụng cho các mạch kết hợp đơn giản.. ● G

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ-

Trang 2

Lab 4: Introduction to hardware description language (cont)

❖ Tóm tắt nội dung bài học:

1 Các loại gán giá trị (Assignments):

● Gán liên tục (Continuous Assignment): Giám sát và cập nhật ngay khi có

thay đổi giá trị bên phải (RHS), được sử dụng cho các mạch kết hợp đơn giản

● Gán chặn (Blocking Assignment): Cập nhật ngay lập tức giá trị bên trái

(LHS) và thực hiện lần lượt theo thứ tự, dùng trong mạch kết hợp

● Gán không chặn (Non-blocking Assignment): Cập nhật cuối bước thời gian

hiện tại, thường sử dụng trong mạch tuần tự phức tạp

● Bao gồm: always_comb cho mạch kết hợp, always_latch cho latch, và

4 Câu lệnh điều kiện:

● If-Else: Kiểm tra các điều kiện liên tiếp để thực thi các câu lệnh tương ứng

● Case: Chọn và thực hiện khối lệnh khi biểu thức thỏa mãn giá trị nhất định

5 Bài tập thực hành:

● Bài 1: Thiết kế bộ giải mã 2:4

● Bài 2: Thiết kế mạch cộng (full adder)

● Bài 3: Thiết kế và mô phỏng ALU trong SystemVerilog, kiểm tra trên DE-10

Trang 3

● Bài 4: Thiết kế bộ giải mã 7 đoạn

● Đây là đoạn mã thực hiện giải mã đầu vào 2-bit thành đầu ra 4-bit dạng "one-hot" (chỉ có một bit ở đầu ra là 1, còn lại là 0) dựa trên giá trị của đầu vào

○ Dùng case statement:

○ Dùng if else statement:

Trang 4

● File testbench:

● Chạy modelsim:

Trang 5

● RTL viewer:

● Pin planner:

Trang 6

● Kết quả thực hành:

- Trường hợp in 00:

Trang 7

- Trường hợp in 01:

Trang 8

- Trường hợp in 10:

Trang 9

- Trường hợp in 11:

Trang 11

● Đây là đoạn mã cho một bộ cộng toàn phần (full adder), một mạch logic cộng hai bit nhị phân cùng với một bit nhớ từ phép tính trước

Trang 12

● File testbench:

● Chạy modelsim:

● RTL viewer:

Trang 13

● Pin planner:

● Kết quả thực hành:

- Trường hợp 000

Trang 14

- Trường hợp 001

Trang 15

- Trường hợp 010

Trang 16

- Trường hợp 011

Trang 17

- Trường hợp 100

Trang 18

- Trường hợp 110

Trang 19

- Trường hợp 111

Trang 21

● Đây là đoạn mã cho một bộ xử lý số học và logic (Arithmetic Logic Unit - ALU) Module ALU này nhận hai đầu vào 3-bit (A và B) và thực hiện các phép toán khác nhau tùy thuộc vào giá trị của tín hiệu alu_select

● File testbench:

Trang 22

● Chạy modelsim:

● RTL viewer:

Trang 23

● Pin planner:

● Kết quả thực hành:

- trường hợp in 000

Trang 24

- Trường hợp 001

Trang 25

- Trường hợp 010

Trang 26

- Trường hợp 011

Trang 27

- Trường hợp 100

Trang 28

- Trường hợp 101

Trang 30

● Đây là một đoạn mã được viết để điều khiển một màn hình hiển thị 7 đoạn (7-segment display) Mục đích của đoạn mã là hiển thị một con số dạng thập lục phân (0-F) lên màn hình này dựa vào giá trị đầu vào 4 bit d

Trang 31

● File testbench:

● Chạy modelsim:

Trang 32

● RTL viewer:

● Pin planner:

Trang 33

● Kết quả thực hành:

- Led hiển thị số 0

Trang 34

- Led hiển thị số 1

Trang 35

- Led hiển thị số 2

Trang 36

- Led hiển thị số 3

Trang 37

- Led hiển thị số 4

Trang 38

- Led hiển thị số 5

Trang 39

- Led hiển thị số 6

Trang 40

- Led hiển thị số 7

Trang 41

- Led hiển thị số 8

Trang 42

- Led hiển thị số 9

Ngày đăng: 10/11/2024, 20:13

w