Professional Documents
Culture Documents
Báo Cáo Thực Tập Thiết Kế Hệ Thống Số
Báo Cáo Thực Tập Thiết Kế Hệ Thống Số
1
Chọn Create a New Project hoặc trên thanh công cụ vào File New Project
Wizard.
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
2
Hình 1.6: Chọn IC
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.
CODE bài 1
3
Bước 6: Gán chân cho FPGA, vào Assignments Pin Planner kết quả
như sau:
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 (Hình 4.10).
4
Bài 2: MẠCH TỔ HỢP
2.1CỔNG AND
CODE bài 2A
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.
0 0 0
0 1 0
5
1 0 0
1 1 1
2.2 CỔNG OR
CODE bài 2B
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.
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.
6
Y=A+
A B TRẠNG THÁI
B
0 0 0
0 1 1
1 0 1
1 1 1
7
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.
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 TRẠNG THÁI
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
8
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
9
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
10
Bài 3: MẠCH TỔ HỢP (TIẾP THEO)
3.1 MẠCH CỘNG BÁN PHẦN
CODE bài 3A
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 (4 LED đơn, 2
công tắc) ngõ vào.
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.
INPU
OUTPUT
T
TRẠNG THÁI
Su Carr
A B
m y
0 0 0 0
0 1 1 0
11
1 0 1 0
1 1 0 1
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.
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.
12
INPUT OUTPUT
TRẠNG THÁI
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
0 0 1 1 0
0 1 1 0 1
13
1 0 1 0 1
1 1 1 1 1
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.
14
Hình 3.3.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 3.1.2.
INPUT OUTPUT
STT
EN X7 X6 X5 X4 X3 X2 X1 X0 Y2 Y1 Y0
1 0 X X X X X X X X Z Z Z
2 1 0 0 0 0 0 0 0 1 0 0 0
3 1 0 0 0 0 0 0 1 X 0 0 1
4 1 0 0 0 0 0 1 X X 0 1 0
5 1 0 0 0 0 1 X X X 0 1 1
6 1 0 0 0 1 X X X X 1 0 0
7 1 0 0 1 X X X X X 1 0 1
8 1 0 1 X X X X X X 1 1 0
9 1 1 X X X X X X X 1 1 1
Bảng 3.3.1: Bảng sự thật
15
5
16
Bài 4: MẠCH TUẦN TỰ
4.1 FLIP-FLOP D
CODE bài 4A
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.
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
TRẠNG THÁI
A RS CL Q ~Q
0 0 ↑ 0 1
17
1 0 ↑ 0 1
0 1 ↑ 0 1
1 1 ↑ 1 0
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.
18
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.
INPUT OUTPUT
STT
CLR CL D Q3 Q2 Q1 Q0
1 0 ↑ X 0 0 0 0
2 1 ↑ 1 0 0 0 1
3 1 ↑ 1 0 0 1 1
4 1 ↑ 1 0 1 1 1
5 1 ↑ 1 1 1 1 1
6 1 ↑ 0 1 1 1 0
7 1 ↑ 0 1 1 0 0
8 1 ↑ 0 1 0 0 0
Bảng 4.2.1: Bảng sự thật
19
4
20
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.
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.
21
STT TRẠNG THÁI ( DỊCH PHẢI)
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.
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.
22
ST INPUT OUTPUT
T CLR CL Q3 Q2 Q1 Q0
1 0 ↑ 0 0 0 0
2 1 ↑ 0 0 0 1
3 1 ↑ 0 0 1 0
4 1 ↑ 0 0 1 1
5 1 ↑ 0 1 0 0
6 1 ↑ 0 1 0 1
7 1 ↑ 0 1 1 0
8 1 ↑ 0 1 1 1
9 1 ↑ 1 0 0 0
10 1 ↑ 1 0 0 1
11 1 ↑ 1 0 1 0
12 1 ↑ 1 0 1 1
13 1 ↑ 1 1 0 0
14 1 ↑ 1 1 0 1
15 1 ↑ 1 1 1 0
16 1 ↑ 1 1 1 1
Bảng 5.1.1: Bảng sự thật
23
3
24
8
10
11
12
25
13
14
15
16
26
5.2 MẠCH ĐẾM 4 BIT – ĐẾM LÊN/ XUỐNG
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 (7 LED đơn, 2 nút
nhấn, 1 công tắc) ngõ vào.
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.
ST
TRẠNG THÁI (ĐẾM LÊN)
T
27
ST
TRẠNG THÁI (ĐẾM XUỐNG)
T
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.
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.
28
STT TRẠNG THÁI
29
Bài 6: MÁY TRẠNG THÁI HỮU HẠN
6.1 MÁY MOORE – PHÁT HIỆN CHUỖI BÍT
CODE bài 6A
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.
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.
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.
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.
31
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.
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.
T
T
C1 C2 G TRẠNG THÁI
H
(s)
0 X Đ 5
32
1 V Đ 1
2 Đ Đ 1
3 Đ X 5
4 Đ V 1
5 Đ Đ 1
33