You are on page 1of 33

Bài 1: GIỚI THIỆU BOARD ALTERA DE2-115,

PHẦN MỀM QUARTUS II VÀ MODELSIM


1. LỆNH GÁN
 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
như (Hình 4.1.1).
 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 4.1.2.

Hình 1.2: Mở chương trình Quartus

1
Chọn Create a New Project hoặc trên thanh công cụ vào File  New Project
Wizard.

Hình 1.3: Cửa sổ Quartus

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

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

Hình 1.7: Thông báo biên dịch thành công


 Bước 5: Vào Processing  Start Compilation để chạy biên dịch chương
trình. Sau khi biên dịch thành công như Hình 4.1.7, do có một số chân
không được sử dụng nên sau khi biên dịch sẽ có một số cảnh báo, tuy nhiên
cảnh báo này không ảnh hưởng đến chương trình.

3
 Bước 6: Gán chân cho FPGA, vào Assignments  Pin Planner kết quả
như sau:

Hình 1.8: Gán chân cho hệ thống

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).

Hình 1.10: Nạp chương trình xuống board


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 đónh SWICH 0 thì LEDR 0 sẽ
sáng.

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.

Hình 2.1.1: 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
 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

5
1 0 0

1 1 1

Bảng 2.1: Các trạng thái của mạch

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.

Hình 2.2.1: Gán chân cho hệ thống

 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

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

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.

Hình 2.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 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

Bảng 2.3: Các trạng thái của mạch

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.

Hình 3.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 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

Bảng 3.1: Các trạng thái của mạch


3.2 MẠCH CỘNG TOÀN PHẦN
 CODE bài 3B

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.

Hình 3.2.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.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

Bảng 3.2: Các trạng thái của mạch


3.3 MẠCH MÃ HÓA ƯU TIÊN 8 ĐƯỜNG SANG 3 ĐƯỜNG
 CODE bài 3C

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

STT TRẠNG THÁI

15
5

Bảng 3.3.2: Bảng trạng thái của mạch

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.

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

Bảng 4.1: Các trạng thái của mạch


4.1 MẠCH DỊCH TRÁI
 CODE bài 4B

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

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

STT TRẠNG THÁI (5 TRẠNG THÁI ĐẦU)

19
4

Bảng 4.2.2: Các trạng thái của mạch


4.2 MẠCH DỊCH TRÁI/ PHẢI
 CODE bài 4C

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.

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)

Sau 4 xung CLOCK

Sau 2 xung CLOCK tiếp theo

21
STT TRẠNG THÁI ( DỊCH PHẢI)

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)


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

 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

STT TRẠNG THÁI

23
3

24
8

10

11

12

25
13

14

15

16

Bảng 5.1.2: Các trạng thái của mạch

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.

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.

ST
TRẠNG THÁI (ĐẾM LÊN)
T

Sau 3 xung CLOCK

27
ST
TRẠNG THÁI (ĐẾM XUỐNG)
T

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.
28
STT TRẠNG THÁI

Bảng 5.3: Các trạng thái của mạch

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.

Hình 6.1: 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.1.

Hình 6.1: Trạng thái của mạch


30
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

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.

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.

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

Hình 6.3: Các trạng thái của mạch

33

You might also like