Uploaded by tranchinguyen231019

báo cáo thiết kế hệ thống số

advertisement
TRƯỜNG ĐẠI HỌC CẦN THƠ
TRƯỜNG BÁCH KHOA
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG

BÁO CÁO THỰC TẬP
MÔN THIẾT KẾ HỆ THỐNG SỐ
Giảng viên hướng dẫn: Nguyễn Cao Quí
Sinh viên thực hiện:
Trần Văn Hào B2016830
Võ Tấn Tài B2016796
Nguyễn Phương Vũ B2012994
I Phân công nhiệm vụ :
Trần Văn Hào B2016830: viết code , chạy mạch ,viết báo cáo
Võ Tấn Tài B2016796: viết code , chạy mạch ,viết báo cáo
Nguyễn Phương Vũ B2012994: viết code , chạy mạch ,viết báo cáo
Bài 1: GIỚI THIỆU BOARD ALTERA DE2-115,
PHẦN MỀM QUARTUS II VÀ MODELSIM
Mục đích
 Giới thiệu board Altera DE2-115 Development kit

Hướng dẫn người học cà đặt và tạo dự án(project) mô phỏng các thiết kế
hệ thống số với phần mềm ModelSim
 Hướng dẫn người học cài đặt và thiết kế hệ thống số với phần mềm
Quartus II
 Hướng dẫn các bước nạp thiết kế hệ thống số xuống chip FPGA trên
board Altera DE2-115 và kiểm tra hoạt động của hệ thống
Yêu cầu
 Người học biết rõ về các ngoại vi của board Altera DE2-115
Development Kit
 Người học nắm vững kiến thức và kĩ nắng lập trình thiết kế, mô phỏng,
thực hiện một hệ thống số dựa trên công nghệ FPGA
1 Phần mềm ModelSim:
Để tiến hành cài đặt và sử dụng ModelSim người học thực hiện theo các bước
sau:
 Bước 1: Cài đặt phần mềm theo hướng dẫn, chạy file cài đặt và đồng ý các
điều khoản.
Hình 1.1: Chọn các gói cài đặt
 Bước 2: Chọn Next qua phần hướng dẫn, chọn gói các phần mềm: Quartus
II, Modem Sim- Altera Edition, Nios II Embedded Design Suite
 Bước 3: Chọn Next để tiếp tục và Finish để hoàn thành.
Sau khi đã cài đặt chương trình thành công, ta bắt đầu tạo project và biên dịch
chương trình theo các bước bên dưới.
Bước 1: Mở cửa sổ Quartus II 11.0 sp1 trên Desktop sẽ thấy cửa sổ như Hình
1.2.
Hình 1.2: Mở chương trình Quartus
Cửa sổ Quartus
Hình 1.3 Cửa sổ Quartus
Chọn Create a New Project hoặc trên thanh công cụ vào File è New Project
Wizard
Hình 1.4: Tạo Project
Bước 2: Chọn Next qua phần hướng dẫn đến chọn nơi lưu, đặt tên Project và
thư mục.
Hình 1.5: Chọn nơi lưu và đặt tên, chọn Next sẽ xuất hiện bảng tóm tắt như
hình
Bước 3: Tùy theo board sử dụng để thiết kế hệ thống nhúng, nên sẽ chọn
thiết bị cho phù hợp. Chúng ta sử dụng board Altera DE2-115 Hoặc DE2-70
theo hướng dẫn sẽ chọn lần lượt là Cyclone IV E và Cyclone II.
 Chú ý: Nên thực hiện kỹ bước này, vì nếu sai sẽ phải thực hiện lại từ đầu.
Nhấn Next và Finish để kết thúc phần tạo project.
Khi đã hoàn thành 3 bước trên bây giờ sẽ tạo file viết chương trình và gán chân
cho hệ thống.
 Bước 4: Từ cửa sổ project Quartus chọn New è SystemVerilog HDL và
lưu lại với tên phải trùng với tên module.

2 Code bài 1
Code bài 1_test
Bước 5: chọn processing -> start compilation để chạy dịch chương trình
Thông báo dịch thành công
Bước 6: Gán chân cho FPGA, vào Assignments
sau
Pin Planner kết quả như
Bước 7 : Biên dịch chương trình lần nữa, sau đó tiến hành nạp xuống board. Vào
Tool
Programmer. Trong Hardware Setup chọn Hardware là USB-Blaster
[USB-0] và kết thúc nạp ứng dụng thành công bằng cách nhấp vào Start
Nạp chương trình xuống board
Biểu diễn cấu trúc RTL:
Tùy thuộc vào ứng dụng và các yêu cầu, cấu hình và phần thiết kế bên trên
chỉ mang tính chất hướng dẫn cơ bản để tạo một project và thực hiện chương
trình.
Gán trạng thái SW0 cho trạng thái LEDR0, khi SWICH mở thì LEDR 0
sáng, khi SWICH đóng thì LEDR 0 tắc
Kết quả
Bài 2: MẠCH TỔ HỢP
Mục đích
 Lập trình thiết kế cổng logic cơn bản AND, OR và mạch kiểm tra chẵn lẽ
bằng ngôn ngữ mô tả phần cúng Verilog
 Sử dụng phần mềm ModelSim mô phỏng, kiểm tra các thiết kế
 Sử dụng phần mềm Quartus II để thực hiện và kiểm chứng hoạt động của
các thiết kế trên board Altera DE2-115
Yêu cầu
 Người học ôn lại các kiến thức về mạch tổ hợp dã học ở phần học mạch
số và hệ thống số
 Sinh viên xem, ôn lại các bước thiết kế và kiểm thử sử dụng các phần
mềm ModelSim, Quartus II và board Altera DE2-115 đã xem ở bài 1
2.1
CỔNG AND
 CODE bài 2A
 CODE bài 2A_test
Chọn Processing -> Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra ( 3 LED đơn, 2 công
tắc) ngõ vào.
Gán chân cho hệ thống
Biên dịch lại lần nữa sau đó nạp xuống board rồi kiểm tra
Biểu diễn RTL
Nạp thiết kế cổng AND xuống chip FPGA trên board DE2-115
Kết quả: Cổng AND thực hiện những trạng thái đúng với bảng trạng thái : khi 1 LED A
hoặc LED B sáng thì LED Y không sáng, LED A và B đều sáng thì LED Y sáng, đúng với
bảng sự thật. Các trạng thái được thể hiện ở Bảng 2.1:
A
B
Y=A.B
TRẠNG THÁI
0
0
0
0
1
0
1
0
0
1
1
1
Bảng 2.1 : Các trạng thái của mạch
2.2
CODE bài 2B
CODE bài 2B_test
CỔNG OR
Chọn Processing è Start để biên dịch chương trình, đợi quá trình biên dịch kết thúc
rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra (3 LED đơn, 2 công tắc)
ngõ vào.
Biểu diễn cấu trúc RTL
Kết quả: Cổng OR thực hiện những trạng thái đúng với bảng trạng thái ban đầu
mà thiết kế mong muốn đạt được: khi 1 LED A hoặc LED B sáng thì LED Y sáng, LED
A và B đều sáng thì LED Y sáng, đúng với bảng sự thật. Các trạng thái được thể
hiện ở Bảng 2.2.
 A B Y=A+B
0
0
0
0
1
1
TRẠNG THÁI
1
0
1
1
1
1
Bảng 2.2: Các trạng thái của mạch
2.3MẠCH KIỂM TRA CHẴN LẺ
 CODE bài 2C
Chọn Processing è Start để biên dịch chương trình, đợi quá trình biên dịch kết thúc
rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra (5 LED đơn, 4 công tắc)
ngõ vào.
Biểu diễn cấu trúc RTL
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban đầu
thiết kế. Các trạng thái được thể hiện ở Bảng 2.3.
A B C D Y
0
0 0 0 0
0
0 0 1 1
0
0 1 0 1
0
0 1 1 0
TRẠNG THÁI
0
1 0 0 1
0
1 0 1 0
0
1 1 0 0
0
1 1 1 1
1
0 0 0 1
1
0 0 1 0
1
0 1 0 0
1
0 1 1 1
1
1 0 0 0
1
1 0 1 1
1
1 1 0 1
1
1 1 1 0
Bảng 2.3: Các trạng thái của mạch
Bài 3 MẠCH TỔ HỢP (TIẾP THEO)
Mục đích
 Người học tiếp tục được trang bị các kiến thức về lập trình thiết kế mạch
tôt hợp qua các bài tập thiết kế mạch cộng và mã hóa ưu tiên
 Người học được hướng dẫn lập trình theo kiểu Bottom-Up: thiết kế các
mô-đun nhỏ để sử dụng thiết kế ác mô-đun, hệ thống lớn hơn,phát triển
các thiết kế theo phương pháp thứ bậc,thừa kê
Yêu cầu
 Người học nắm vững kiến thức lâp trình bằng ngôn ngữ mô tả phần cứng
Verilog để thiết kế hệ thống số; phương pháp phát triển hệ thống theo
hướng Bottom-Up
3.1 MẠCH CỘNG BÁN PHẦN
Sơ đồ và trạng thái của mạch cộng bán phần
Mô phỏng và thực hiện mạch công bán phần
Code bài 3 và bài 3_test
Chọn Processing -> Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment -> Pin Planner rồi thiết lập các ngõ ra , ngõ vào.
Biểu diễn cấu trúc RTL
Nạp thiết kế xuống board Altera DE2-115
Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban đầu thiết
kế. Các trạng thái được thể hiện ở Bảng 3.1.
INPUT
OUTPUT
TRẠNG THÁI
A
B
Sum Carry
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
Bảng 3.1: Các trạng thái của mạch
3.2 MẠCH CỘNG TOÀN PHẦN
Sơ đồ mạch cộng toàn phần
Code bài 3b và bài 3b_test
Chọn Processing -> Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment -> Pin Planner rồi thiết lập các ngõ ra (5 LED đơn, 3
công tắc) ngõ vào.
Biểu diễn cấu trúc RTL
Nạp thiết kế xuống board Altera DE2-115
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban đầu
thiết kế. Các trạng thái được thể hiện ở Bảng 3.2.
INPUT
OUTPUT
A
B
C
Sum
Carry
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
TRẠNG THÁI
0
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
1
Bảng 3.2: Các trạng thái của mạch
3.3MẠCH MÃ HÓA ƯU TIÊN 8 ĐƯỜNG SANG 3 ĐƯỜNG
Mô phỏng và thực hiện mạch mã hóa ưu tiên 8 đường sang 3 đường
Code bài 3c và bài 3c_test
Chọn Processing è Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra (9 LED đơn, 9
công tắc) ngõ vào.
Hình 3.3.1: Gán chân cho hệ thống
Biểu diễn cấu trúc RTL và nạp thiết kế xuống mạch thực hành
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban đầu
thiết kế. Các trạng thái được thể hiện ở Bảng 3.1.2.
STT
1
2
3
4
5
6
7
8
9
EN
0
1
1
1
1
1
1
1
1
X7
X
0
0
0
0
0
0
0
1
INPUT
X6
X5
X
X
0
0
0
0
0
0
0
0
0
0
0
1
1
X
X
X
X4
X3
X2
X1
X
X
X
X
0
0
0
0
0
0
0
1
0
0
1
X
0
1
X
X
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Bảng 3.3.1: Bảng sự thật
OUTPUT
X0
Y2
X
Z
1
0
X
0
X
0
X
0
X
1
X
1
X
1
X
1
Y1
Z
0
0
1
1
0
0
1
1
Y0
Z
0
1
0
1
0
1
0
1
STT
1
2
3
4
5
6
7
TRẠNG THÁI
8
9
Bảng 3.3.2: Bảng trạng thái của mạch
BÀI 4 MẠCH TUẦN TỰ
Mục đích
 Người học tiếp tục được trang bị các kiến thức về lập trình thiết kế mạch
tuần tự qua các bài thực tập thiết kế flip-flop D, mạch dịch trái và mạch
dịch trái/phải
 Người học tiếp ục được hướng dẫn lập trinh heo kiểu Bottom-Up: thiết kế
các môđun nhỏ để sử dụng thiết kế các mô-đun, hệ thống lớn hơn, phát
triển các thiết kế theo phương thứ bậc, thừa kế
Yêu cầu
 Người học ôn lại các kiên thức liên quan về mạch tuần tự đã học ở phần
Mạch số và Hệ thống số
4.1 FLIP-FLOP D
Kí hiệu flip-flop D
Code bài 4a và bài 4a_test
Chọn Processing-> Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment -> Pin Planner rồi thiết lập các ngõ ra (3 LED đơn, 1
công tắc, 2 nút nhấn) ngõ vào.
Hình 4.1.1: Gán chân cho hệ thống
Biểu diễn cấu trúc RTL
Nạp thiết kế xuống board Altera DE2-115
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban đầu
thiết kế. Các trạng thái được thể hiện ở Bảng 4.1.
INPUT
OUTPUT
A
RS
CL
Q
~Q
0
0
↑
0
1
1
0
↑
0
1
0
1
↑
0
1
1
1
↑
1
0
TRẠNG THÁI
Bảng 4.1: Các trạng thái của mạch
4.2 MẠCH DỊCH TRÁI
Code bài 4b và bài 4b_test
Chọn Processing è Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra (6 LED đơn, 1
công tắc, 2 nút nhấn) ngõ vào.
Hình 4.1.1: Gán chân cho hệ thống
Sơ đồ RTL
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban đầu
thiết kế. Các trạng thái được thể hiện ở Bảng 4.2.2.
STT
1
CLR
0
INPUT
CL
↑
D
X
Q3
0
OUTPUT
Q2
Q1
0
0
Q0
0
2
3
4
5
6
7
8
STT
1
2
3
4
1
1
1
1
1
1
1
↑
↑
↑
↑
↑
↑
↑
1
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
0
Bảng 4.2.1: Bảng sự thật
TRẠNG THÁI (5 TRẠNG THÁI ĐẦU)
0
1
1
1
1
0
0
1
1
1
1
0
0
0
5
Bảng 4.2.2: Các trạng thái của mạch
4.3 MẠCH DỊCH TRÁI/ PHẢI
CODE bài 4c
Chọn Processing è Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra (18 LED đơn, 10
công tắc, 2 nút nhấn) ngõ vào.
Hình 4.1.1: Gán chân cho hệ thống
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban
đầu thiết kế. Các trạng thái được thể hiện ở Bảng 4.3.
STT
TRẠNG THÁI ( DỊCH TRÁI)
1
2
Sau 4 xung CLOCK
3
Sau 2 xung CLOCK tiếp theo
STT
TRẠNG THÁI ( DỊCH PHẢI)
1
2
Sau 2 xung CLOCK tiếp theo
Bảng 4.3: Các trạng thái của mạch
BÀI 5 MẠCH TUẦN TỰ (TIẾP THEO)
Mục đích
 Tiếp tục trang bị cho người học kiến thức và kĩ năng lập trình thiết kế
mạch tuần tự qua việc thiết kế mạch đêm lên/xuống và đếm vòng
 Tiếp tục phát triển kĩ năng lập trình, sử dụng phần mềm ModelSim và
Quartus II, thành thạo các bước thiết kế trên board Altera DE2-15
Yêu cầu
 Người học ôn lại các kiến thức liên quan mạch đếm trong giáo trình Mạch
số và giáo trình Thiết kế hệ thống số
5.1 MẠCH ĐẾM LÊN
Code bài 5A
Chọn Processing è Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra (6 LED đơn, 2 nút
nhấn) ngõ vào.
Hình 5.1: Gán chân cho hệ thống
Biểu diễn RTL và nạp thiết kế xuống board
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban
đầu thiết kế. Các trạng thái được thể hiện ở Bảng 5.1.2.
STT
1
2
3
4
5
6
7
8
9
10
11
12
13
CLR
0
1
1
1
1
1
1
1
1
1
1
1
1
INPUT
CL
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
Q3
0
0
0
0
0
0
0
0
1
1
1
1
1
Q2
0
0
0
0
1
1
1
1
0
0
0
0
1
OUTPUT
Q1
0
0
1
1
0
0
1
1
0
0
1
1
0
Q0
0
1
0
1
0
1
0
1
0
1
0
1
0
14
15
16
STT
1
2
3
4
5
1
1
1
↑
↑
↑
1
1
1
1
1
1
Bảng 5.1.1: Bảng sự thật
TRẠNG THÁI
0
1
1
1
0
1
6
7
8
9
10
11
12
13
14
15
16
Bảng 5.1.2: Các trạng thái của mạch
5.2 MẠCH ĐẾM 4 BIT – ĐẾM LÊN/ XUỐNG
 CODE bài 5B
Chọn Processing è Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra (7 LED đơn, 2 nút
nhấn, 1 công tắc) ngõ vào.
Hình 5.2: Gán chân cho hệ thống
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban
đầu thiết kế. Các trạng thái được thể hiện ở Bảng 5.2.
STT
1
TRẠNG THÁI (ĐẾM LÊN)
2
Sau 3 xung CLOCK
STT
TRẠNG THÁI (ĐẾM XUỐNG)
1
2
Sau 3 xung CLOCK tiếp theo
Bảng 5.2: Các trạng thái của mạch
5.3 MẠCH ĐẾM VÒNG
 CODE bài 5C
Chọn Processing -> Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra (7 LED đơn, 2 nút
nhấn) ngõ vào.
Hình 5.3: Gán chân cho hệ thống
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban
đầu thiết kế. Các trạng thái được thể hiện ở Bảng 5.3.
STT
1
2
3
4
TRẠNG THÁI
5
Bảng 5.3: Các trạng thái của mạch
Bài 6: MÁY TRẠNG THÁI HỮU HẠN
Mục đích
 Trang bị cho người học kiến thức và kỹ năng lập trình thiết kế hệ thống số
áp dụng phương pháp máy trạng thái hữu hạn
 Tiếp tục phát triển kĩ năng lập trình, sử dụng phần mềm ModelSim và
Quartus II, thành tạo các bước thiết kế trêm board Altera DE2-115
Yêu cầu
 Người học ôn lại các kiến thức liên quan tới phương pháp máy trạng thái
hữu hạn trong Giáo trình Thiết kế hệ thống số
6.1 Máy moore- mạch phát hiện chuỗi bít
Mô phỏng và thực hiện máy moore- mạch phát hiện chuỗi bit 1011
Code bài 6A và bài 6_test
Chọn Processing è Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment è Pin Planner rồi thiết lập các ngõ ra (1 LED đơn, 2 nút
nhấn, 1 công tắc) ngõ vào.
Hình 6.1: Gán chân cho hệ thống
Biểu diễn RTL
Sơ đồ trạng thái máy
Nạp thiết kế xuống board DE2-115
 Kết quả: Mạch phát hiện dãy định trước bằng các báo LED xanh. Trạng
thái được thể hiện ở Hình 6.1.
Hình 6.1: Trạng thái của mạch
6.2 MÁY MEALY – PHÁT HIỆN CHUỖI BÍT
 CODE bài 6B
Chọn Processing -> Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment -> Pin Planner rồi thiết lập các ngõ ra (1 LED đơn, 2
nút nhấn, 1 công tắc) ngõ vào.
Hình 6.2: Gán chân cho hệ thống
 Kết quả: Mạch phát hiện dãy định trước bằng các báo LED xanh. Trạng
thái được thể hiện ở Hình 6.2.
Hình 6.2: Trạng thái của mạch
6.3 ĐÈN GIAO THÔNG
 CODE bài 6C
Chọn Processing -> Start để biên dịch chương trình, đợi quá trình biên dịch kết
thúc rồi vào Assignment -> Pin Planner rồi thiết lập các ngõ ra (7 LED đơn, 1
nút nhấn) ngõ vào.
Hình 6.3: Gán chân cho hệ thống
 Kết quả: Mạch thực hiện những trạng thái đúng với bảng trạng thái ban
đầu thiết kế. Các trạng thái được thể hiện ở Bảng 6.3.
TG
(s)
TH
C1 C2
0
X
Đ
5
1
V
Đ
1
2
Đ
Đ
1
3
Đ
X
5
4
Đ
V
1
TRẠNG THÁI
5
Đ
Đ
1
Hình 6.3: Các trạng thái của mạch
Download