Tải bản đầy đủ (.pdf) (40 trang)

Nghiên cứu thiết kế thử nghiệm bộ nhân 8 bit sử dụng FPGA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.93 MB, 40 trang )

LỜI NĨI ĐẦU
Thế kỉ 21 là thế kỉ của thơng tin và kĩ thuật số với sự phát triển và ứng dụng
rộng rãi của các bộ vi xử lý.Bằng vào việc đưa sức mạnh kĩ thuật số vào thực
tiễn,các bộ vi xử lý ngày một thay đổi cách sống của xã hội lồi người.Khóa điện
tử,máy điện thoại,…của chúng ta ngày một thông minh hơn,mạnh mẽ hơn và nhanh
nhờ các bộ xử lý.
Với sự phát triển của khoa học công nghệ ngày nay, thực hiện các phép tính
số học ngày càng trở nên đơn giản.Một trong số đó là ALU(Arithmetic Logic Unit),
là một thành phần trong cấu tạo của CPU.
Với tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết lớp
những bài toán phức tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính, ngồi
ra nhờ mật độ cổng logic lớn FPGA được ứng dụng cho những bài tốn địi hỏi khối
lượng tính tốn lớn và dùng trong các hệ thống làm việc theo thời gian thực.
Từ những vấn đề trên em chọn cho mình đề tài “Nghiên cứu, thiết kế thử
nghiệm bộ nhân 8 bit sử dụng FPGA”.
Nội dung khóa luận bao gồm 3 chương:
Chƣơng 1: Cơ sở lý thuyết
Chƣơng 2: Công cụ thiết kế mạch logic CIC-310 và FPGA
Chƣơng 3: Thiết kế bộ nhân 8 bit trên FPGA
Trong q trình làm khóa luận do trình độ hiểu biết của em có hạn và thời
gian thực hiện ngắn nên nội dung khóa luận khơng tránh khỏi những sai sót. Vì vậy
em rất mong có được sự hướng dẫn và chỉ bảo của các thầy cơ cùng các bạn để đề
tài khóa luận của em được hoàn thiện hơn.
Em xin chân thành cảm ơn các thầy cơ trong trường Đại học Lâm nghiệp nói
chung và các thầy cơ trong khoa Cơ điện - Cơng trình nói riêng đã truyền dạy
những kinh nghiệm quý báu và giúp đỡ em trong suốt quá trình học tập. Đặc biệt,
em xin gửi lời cảm ơn chân thành đến giảng viên ThS. Lê Minh Đức người đã tận
tình hướng dẫn em hồn thành khóa luận tốt nghiệp này.
Hà Nội, ngày 10 tháng 5 năm 2018
Sinh viên thực hiện đề tài
Lê Xuân Vũ




NHẬN XÉT
(Của giảng viên hƣớng dẫn)
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
GIẢNG VIÊN HƢỚNG DẪN


NHẬN XÉT
(Của giảng viên phản biện)
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................

.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
GIẢNG VIÊN PHẢN BIỆN


MỤC LỤC
LỜI NĨI ĐẦU
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH VẼ
Trang
PHẦN 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU ......................................... 1
PHẦN 2: NỘI DUNG KHÓA LUẬN ...................................................................... 2
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT ........................................................................ 2
1.1.

Khái quát về bộ nhân số học trong CPU ........................................................... 2

1.2.Trình tự thiết kế ..................................................................................................... 5
CHƢƠNG 2: CÔNG CỤ THIẾT KẾ MẠCH LOGIC CIC-310 VÀ FPGA ....... 6
2.1.


Bộ phát triển mạch CIC-310 ............................................................................. 6

2.1.1.

Bảng phát triển SN-PLDE2 ........................................................................... 6

2.1.2.

Bảng thí nghiệm SN-PLDE3A ...................................................................... 8

2.2.

Cơ bản về lập trình logic(FPGA) .................................................................... 17

2.2.1.

Khái niệm .................................................................................................... 17

2.2.2.

Ứng dụng ..................................................................................................... 18

2.2.3.

Phân loại ...................................................................................................... 19

2.2.4.Quy trình thiết kế FPGA .................................................................................. 19
CHƢƠNG 3: THIẾT KẾ BỘ NHÂN 8 BIT TRÊN FPGA ................................. 22
3.1.


Xây dựng sơ đồ khối,cấu trúc ......................................................................... 22

3.2.

Xây dựng mạch nguyên lý sử dụng FPGA ..................................................... 23

3.3.

Mô phỏng và chạy thử nghiệm ....................................................................... 30

KẾT LUẬN .............................................................................................................. 33
DANH MỤC TÀI LIỆU THAM KHẢO ............................................................... 34


DANH MỤC CÁC BẢNG
Bảng 2.1: Sơ đồ công tắc đầu vào logic ....................................................................10
Bảng 2.2: Sơ đồ chân cắm hiển thị LED logic ..........................................................11
Bảng 2.3: Sơ đồ chân cắm hiển thị 7 phân đoạn 6 chữ số ........................................12
Bảng 2.4: Sơ đồ bố trí chân của máy phát điện xung ...............................................13
Bảng 2.5: Sơ đồ bàn phím ma trận ............................................................................14
Bảng 2.6: Sơ đồ chân cắm bộ hiển thị 16 phân đoạn ................................................15
Bảng 2.7: Sơ đồ chân cắm LED điểm chấm 5x7 ......................................................16
Bảng 2.8: Sơ đồ chân cắm LCD 2021.......................................................................17
Bảng 3.1: Sơ đồ phân định chân cắm đầu vào/ra trên CIC-310................................28
Bảng 3.2: Bảng trạng thái..........................................................................................30


DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Các bước thiết kế ........................................................................................5

Hình 2.1: Hệ thống phát triển CPLD/FPGA ...............................................................6
Hình 2.2: Bảng mạch phát triển mạch SN-PLDE2 .....................................................7
Hình 2.3: Bảng thí nghiệm SN-PLDE3A....................................................................8
Hình 2.4: Bộ chuyển mạch Logic S1-S3...................................................................10
Hình 2.5: Hiển thị LED logic ....................................................................................11
Hình 2.6: Phân định chân cắm của hiển thị 7 phân đoạn ..........................................11
Hình 2.7: Mã vận hành của bộ hiển thị 7 phân đoạn 6 chữ số ..................................13
Hình 2.8: Hiển thị 16 phân đoạn ...............................................................................15
Hình 2.9: Ổ cắm bộ hiển thị 16 phân đoạn ...............................................................15
Hình 2.10: Phân định chân cắm của bộ LED điểm chấm 5x7 ..................................16
Hình 2.11: Ổ cắm bộ LED điểm chấm 5x7 JP22 và bộ chọn lọc điểm chấm JP24 ..16
Hình 2.12: Bộ kết nối LCD2021 ...............................................................................17
Hình 2.13: Cấu trúc tổng thể một FPGA ..................................................................18
Hình 2.14: Khối logic FPGA ....................................................................................18
Hình 2.15: Lưu đồ thiết kế FPGA .............................................................................20
Hình 3.1: Sơ đồ khối của bộ nhân 8 bit.....................................................................22
Hình 3.2: Tạo file thiết kế .........................................................................................23
Hình 3.3: Lấy linh kiện .............................................................................................24
Hình 3.4: Sơ đồ nguyên lý bộ nhân 8 bit ..................................................................25
Hình 3.5: Hộp thoại thiết bị.......................................................................................26
Hình 3.6: Hộp thoại lựa chọn loại thiết bị .................................................................26
Hình 3.7: Hộp thoại lựa chọn tốc độ biên dịch .........................................................27
Hình 3.8: Biên dịch và kiểm tra lỗi thiết kế ..............................................................27
Hình 3.9: Phân định chân cắm trên MAX+plus II ....................................................30
Hình 3.10: Trạng thái đầu vào/ra ..............................................................................30


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ


PHẦN 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
1. Giới thiệu về công nghệ FPGA
Hiện nay với sự phát triển Khoa học – Cơng nghệ, thay vì phải giải quyết
những bài tốn phức tạp bằng tay vừa lâu mà kết quả chưa chắc đã chính xác chúng ta
có thể sử dụng các phần mềm để giải quyết một cách nhanh chóng và đơn giản hơn
nữa độ chính xác cao hơn so với giải quyết bằng tay.
Cơng nghệ FPGA có lẽ đã khơng cịn xa lạ gì đối với chúng ta, bởi lẽ các ứng
dụng của nó khá phổ biến (như thiết bị điện tử tiêu dùng, thiết kế vi mạch tích hợp, xử
lý tín hiệu số DSP, nhận dạng giọng nói, hàng khơng vũ trụ và quốc phòng, …), kể cả
những lĩnh vực con người khó hoặc khơng thể tiếp xúc.
Cơng nghệ FPGA có thể được sử dụng để giải quyết bất kỳ vấn đề nào có thể
tính tốn được. Điều này đã được chứng minh bởi thực tê FPGA có thể sử dụng để
thực hiện một bộ vi xử lý mềm, chẳng hạn như Xillinx MicroBlaze hoặc Altera Nios
II. Lợi thế của nó nằm ở chỗ chúng đơi khi nhanh đến đáng kể với một số ứng dụng vì
tính chất song song và tối ưu của chúng về mặt số cổng được sử dụng cho một quy
trình nhất định.
Ngồi ra, cơng nghệ FPGA có thể sử dụng trong việc tăng tốc các phần cứng,
nơi chúng ta có thể sử dụng FPGA để tăng tốc các phần nhất định của một thuật toán
và chia sẻ một phần tính tốn giữa FPGA và một bộ xử lý chung.
2. Mục tiêu của đề tài:
Thiết kế thử nghiệm bộ nhân 8 bit sử dụng FPGA.
3. Nội dung nghiên cứu:
 Tìm hiểu về bộ nhân số học 8 bit.
 Tìm hiều về lập trình logic (FPGA).
 Thử nghiệm bộ nhân số học 8 bit sừ dụng FPGA.
4. Đối tƣợng nghiên cứu:
Bộ nhân 8 bit.
5. Phƣơng pháp nghiên cứu:
Tìm hiểu về bộ nhân số học 8 bit và FPGA, đưa ra phương pháp thiết kế. Từ đó

chạy thử nghiệm bộ nhân số học 8 bit sử dụng FPGA.

1


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

PHẦN 2: NỘI DUNG KHÓA LUẬN
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT
1.1.

Khái quát về bộ nhân số học trong CPU
CPU (Central Processing Unit) là bộ xử lý trung tâm, là các mạch điện tử trong

một máy tính, thực hiện các câu lệnh của chương trình máy tính bằng cách thực hiện
các phép tính số học, logic, so sánh và các hoạt động nhập/xuất dự liệu(Input/Output)
cơ bản do mã lệnh chỉ ra.
CPU được cấu tạo bởi 3 thành phần chính:
+ Khối điều khiển (CU - Control Unit).
+ Khối số học logic (ALU - Arithmetic Logic Unit).
+ Thanh ghi (Registers).
- Khối điều khiển (Control Unit) của vi xử lý có nhiệm vụ thơng dịch các lệnh
của chương trình và điều khiển hoạt động xử lý, được điều tiết chính xác bởi xung
nhịp đồng hồ theo hệ thống. Mạch xung nhịp đồng hồ hệ thống dùng để đồng bộ các thao
tác xử lý trong và ngoài CPU theo các khoảng thời gian không đổi. Khoảng thời gian chờ
giữa hai xung gọi là chu kỳ xung nhịp. Tốc độ theo đó xung nhịp hệ thống tạo ra các xung
tín hiệu chuẩn thời gian gọi là tốc độ xung nhịp - tốc độ đồng hồ tính bằng triệu đơn vị mỗi
giây – MHz.

- Thanh ghi (Register): có nhiệm vụ ghi lại những mã lệnh trước khi xử lý và
xuất ra những kết quả sau khi xử lý.
- Bộ số học logic (ALU – Arithmetic Logic Unit): có chức năng thực hiện các
lệnh của đơn vị điều khiển và xử lý tín hiệu, thực hiện các phép tính số học (+, -, *, /)
hay các phép tính logic (so sánh lớn hơn, nhỏ hơn…).
+ Phép cộng: Cộng hai số 1 bit trong hệ nhị phân theo quy tắc:
0+0=0

Ví dụ:

0011

0+1=1

+ 0010

1+0=1

0101

1 + 1 = 0 nhớ 1

2


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

+ Phép trừ: Trừ hai số 1 bit trong hệ nhị phân theo quy tắc:

0–0=0

Ví dụ:

0111

0 – 1 = 1 mượn 1

– 0101

1–0=1

0010

1–1=0
+ Phép chia: Phép chia hai số 1 bit trong hệ nhị phân theo quy tắc:
0/0=0

1010 101

Ví dụ:

101 10

1/1=1

00

0
+ Phép nhân:

Với hai số nhị phân A và B được nhân với nhau bởi tích số thành phần: với
mỗi con số ở B, tích của nó với một con số trong A được tính và viết xuống một hàng
mới, mỗi hàng mới phải chuyển dịch vị trí sang bên trái, cho con số cuối cùng ở bên
phải đứng cùng cột với vị trí của con số ở trong B đang dùng. Tổng của các tích thành
phần này cho ta kết quả tích số cuối cùng. Phép nhân tuân theo quy tắc sau:
0x0=0

Ví dụ:

0111

0x1=0

x 0101

1x0=0

0111

1x1=1

0000
0111

0000
0100011
Trong các phép toán số học (cộng, trừ, nhân, chia), thuật toán bắt đầu bằng
cách gọi một phép toán ALU trên các đoạn LS của tốn hạng, do đó tạo ra cả phần LS
và bit thực hiện. Thuật toán ghi một phần lưu trữ được chỉ định, trong khi máy trạng
thái của bộ xử lý thường lưu trữ bit thực hiện một thanh ghi trạng thái ALU. Thuật

toán sau đó tiến tới đoạn tiếp theo của mỗi bộ sưu tập của toán hạng và gọi một hoạt
động ALU trên các đoạn này cùng với bit mang được lưu trữ từ thao tác ALU trước
đó, do đó tạo ra một phần khác (quan trọng hơn) và thực hiện bit. Như trước đây, bit
nhớ được lưu vào thanh ghi trạng thái và một phần được ghi vào bộ nhớ được chỉ

3


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

định. Quá trình này lặp lại cho đến khi tất cả các đoạn toán hạng đã được xử lý, dẫn
đến một bộ sưu tập partials hoàn chỉnh trong bộ nhớ.
Bộ số học logic (ALU) có thể được thiết kế để thực hiện các chức năng phức
tạp hơn, độ phức tạp mạch cao hơn, chi phí, mực tiêu thụ và kích thước lơn hơn làm
cho điều này không thực tế trong nhiều trường hợp. Do đó, ALU thường được giới
hạn trong các hàm đơn giản có thể thực thi ở tốc độ cao nhất (sự chậm trễ truyền dẫn
rất ngắn) và mạch xử lý bên ngoài chịu trách nhiệm thực hiện các hàm phức tạp bằng
cách phối hợp một chuỗi các hoạt động ALU đơn giản hơn.
Trong tính tốn số học số ngun, số học nhiều độ chính xác là một thuật
tốn hoạt động trên các số nguyên lớn hơn kích thước từ ALU. Để làm được điều này,
thuật toán xử lý từng toán hạng như là một bộ sưu tập theo thứ tự các đoạn kích thước
ALU, được sắp xếp từ quan trọng nhất (MS) đến ít quan trọng nhất (LS) hoặc ngược
lại. Trường hợp của ALU 8 bit, số nguyên 24 bit: 0x123456 sẽ được coi là một tập
hợp bao gồm 3 đoạn 8 bit: 0x12 (MS), 0x34 và 0x56 (LS). Vì kích thước của một
mảnh khớp chính xác với kích thước từ ALU, ALU có thể hoạt động trực tiếp trên
tốn tử.
Thuật toán sử dụng ALU để hoạt động trực tiếp trên các đoạn tốn hạng cụ thể
và do đó tạo ra một đoạn tương ứng của kết quả đo độ chính xác. Mỗi phần, khi được

tạo, được ghi vào vùng lưu trữ liên quan đã được chỉ định cho kết quả có độ chính xác
nhiều. Q trình này được lặp lại cho tất cả các đoạn toán hạng để tạo ra một tập hợp
partials hoàn chỉnh, là kết quả của phép tốn đa số chính xác.

4


GVHD: ThS. Lê Minh Đức

1.2.

SVTH: Lê Xuân Vũ

Trình tự thiết kế
Q trình thiết kế bộ ghi dịch được mơ tả như lưu đồ ở hình 1.1:

Hình 1.1: Các bƣớc thiết kế
-

Bài tốn ban đầu:

Nhiệm vụ thiết kế được mơ tả bằng ngơn ngữ hoặc bằng lưu đồ thuật tốn.
- Hình thức hóa:
Từ các dữ kiện đã cho, mơ tả hoạt động của mạch bằng cách đặt tên cho các dữ
liệu vào/ra điều khiển, lập sơ đồ khối (nếu cần), bảng trạng thái, bảng ra hay đồ hình
thái.Sau đó rút gọn các trạng thái của mạch để có được số trạng thái trong ít nhất.
- Mã hóa trạng thái:
Mã hóa tín hiệu vào/ra, trạng thái trong để nhận được mã nhị phân (hoặc có thể
là các mã loại khác).
- Phương trình:

Xác định hệ phương trình logic của mạch và rút gọn các phương pháp này.
- Xây dụng sơ đồ logic mạch thực hiện:
Từ hệ phương trình của mạch đã rút gọn, xây dựng sơ đồ logic mạch thực
hiện.

5


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

CHƢƠNG 2: CÔNG CỤ THIẾT KẾ MẠCH LOGIC CIC-310 VÀ FPGA
2.1.

Bộ phát triển mạch CIC-310
Hệ thống phát triển CIC-310 CPLD/FPGA được trình bày như hình 2.1 là thiết

bị độc lập bao gồm hai bảng mạch sơ cấp như sau:
+ Bảng phát triển mạch số:
Bảng phát triển mạch số EPF8282ALC84 SN-PLDE2 hoặc bảng phát triển
mạch số EPF10K10LC84 SN-PLDE3.
+ Bảng thí nghiệm SN-PLDE3A.

Hình 2.1: Hệ thống phát triển CPLD/FPGA
2.1.1. Bảng phát triển SN-PLDE2
a) Cấu tạo
Bảng phát triển mạch SN-PLDE2 gồm các thành phần sau:
+ Bộ chuyển đổi SRAM dựa trên cơ sở của bộ FPGA thuộc loại
EPF8282ALC84-4 (Bộ đếm cổng 5000).

+ Bộ vi điều khiển AT89C2051.
+ Thiết bị cấu hình 24LC64.
+ Lỗ cắm mở rộng 89C52.
+ Mạch giao diện RS-232.
Bộ vi điều khiển AT89C2051 được sử dụng để truyền tải dữ liệu cấu hình đến
FPGA hoặc các thiết bị SEEPROM thông qua chuỗi cổng RS-232

6


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

Hình 2.2: Bảng mạch phát triển mạch SN-PLDE2
b) Hoạt động
Nút RESET (cài đặt lại) S1 được dùng để cài đặt hệ thống phát triển. Bộ kết nối
EXE MODE J6 được dùng để thực hiện các tệp cấu hình khi nắp cầu nối ở bên trong
vị trí. Tệp cấu hình tiếp theo (được hiển thị trên SEEPROM trong cửa sổ DNLD) sẽ
được truyền tải và hoạt động bằng cách dỡ bỏ và chèn nắp cầu nối mỗi lần. Bộ kết nối
J5 cung cấp một bộ nguồn DC +5V cho các mạch ngoại vi. Bộ kết nối RS232 P1 dẫn
kết bảng phát triển mạch với máy tính cá nhân sử dụng dây cáp RS232 đã được cung
cấp.
Khi cấu hình hoạt động được chọn, dữ liệu cấu hình của FPGA được lưu giữ
trong chuỗi ROM bên ngồi (SROM) hoặc ROM song song được đọc sau đó được ghi
vào SRAM nội bộ. Hệ thống phát triển CPLD/FPGA dự trữ ở ổ cắm U4 để cài đặt loại

7



GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

SROM của bộ vi xử lý 37LV65 (8KB). Để xác định chế độ cấu hình hoạt động, nắp
nối chuyển tiếp phải đặt ở vị trí thấp nhất của J8.
Nếu cấu hình thụ động lựa chọn dữ liệu, dữ liệu cấu hình của FPGA thơng qua
cổng giao tiếp RS-232.
2.1.2. Bảng thí nghiệm SN-PLDE3A
Bảng thí nghiệm SN-PLDE3A được trình bày như hình 2.3, cung cấp nhiều
thiết bị đầu vào và đầu ra khác nhau. Những thiết bị này bao gồm:
+ Bộ chuyển mạch vào logic để đưa dữ liệu vào.
+ LEDs.
+ Hiển thị 7 phân đoạn.
+ Hiển thị 16 phân đoạn.
+ Bộ định giờ.
+ Máy phát điện xung cho bộ phát điện tín hiệu.

Hình 2.3: Bảng thí nghiệm SN-PLDE3A
8


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

9


GVHD: ThS. Lê Minh Đức


SVTH: Lê Xuân Vũ

a) Phần đầu vào của bộ chuyển mạch Logic
Đầu vào Logic là bộ 3 công tắc mạch trượt 8-bit (S1, S2 và S3) được mơ tả như
hình 2.4.

Hình 2.4: Bộ chuyển mạch Logic S1-S3
Sơ đồ chân được miêu tả như bảng 2.1:
Bảng 2.1: Sơ đồ công tắc đầu vào logic
S1

FPGA

S2

FPGA

S3

FPGA

S1-1

P01

S2-1

P34


S3-1

P43

S1-2

P02

S2-2

P35

S3-2

P44

S1-3

P03

S2-3

P36

S3-3

P45

S1-4


P04

S2-4

P37

S3-4

P46

S1-5

P06

S2-5

P39

S3-5

P48

S1-6

P07

S2-6

P40


S3-6

P49

S1-7

P08

S2-7

P41

S3-7

P50

S1-8

P09

S2-8

P42

S3-8

P51

Trạng thái logic của mỗi công tắc được chỉ dẫn bởi hiển thị LED logic tương
ứng từ D1 kết nối D16.

b) Phần hiển thị LED Logic
Có hai bộ hiển thị 16-LED được trình bày như hình 2.5:
+ Bộ LEDs (D1- D16) thường xuyên được sử dụng để chỉ dẫn trạng thái logic
của bộ công tắc đầu vào logic. Tuy nhiên, D1-D16 có thể được sử dụng làm bộ chỉ
dẫn đầu ra nếu thấy cần thiết. Trong trường hợp như vậy, tất cả các công tắc đầu vào
logic sẽ được đặt ở vị trí ON.

10


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

+ Bộ LEDs (D17 kết nối đến D32) chuyên dùng để chỉ dẫn trạng thái logic của đầu
ra.

Hình 2.5: Hiển thị LED logic
Bộ 32 LEDs được đệm bởi CD40106 Ics có sơ đồ chân cắm như trong bảng
2.2:
Bảng 2.2: Sơ đồ chân cắm hiển thị LED logic
LED

FPGA

LED

FPGA

LED


FPGA

LED

FPGA

D1

P01

D9

P34

D17

P55

D25

P64

D2

P02

D10

P35


D18

P56

D26

P65

D3

P03

D11

P36

D19

P57

D27

P66

D4

P04

D12


P37

D20

P58

D28

P67

D5

P06

D13

P39

D21

P60

D29

P69

D6

P07


D14

P40

D22

P61

D30

P70

D7

P08

D15

P41

D23

P62

D31

P71

D8


P09

D16

P42

D24

P63

D32

P72

c) Phần hiển thị 7 phân đoạn nối tiếp song song 6-DIG
Hiển thị 7 phân đoạn nối tiếp song song 6 chữ số bao gồm các hiển thị 7 phân
đoạn với 6 Cathode chung. Việc đặt tên phân đoạn và phân định chân cắm được trình
bày như hình 2.6:

Hình 2.6: Phân định chân cắm của hiển thị 7 phân đoạn
Sơ đồ chân cắm của hiển thị 7 phân đoạn 6 chữ số được mô tả như trong bảng
2.3 dưới đây:

11


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ


Bảng 2.3: Sơ đồ chân cắm hiển thị 7 phân đoạn 6 chữ số
DP1

FPGA

DP2

FPGA

DP3

FPGA

SA1

P13

SA2

P22

SA3

P55

SB1

P14


SB2

P23

SB3

P56

SC1

P15

SC2

P24

SC3

P57

SD1

P16

SD2

P25

SD3


P58

SE1

P18

SE2

P27

SE3

P60

SF1

P19

SF2

P28

SF3

P61

SG1

P20


SG2

P29

SG3

P62

SP1

P21

SP2

P30

SP3

P63

SC1*

P76

SC2*

P77

SC3*


P78

DP4

FPGA

DP5

FPGA

DP6

FPGA

SA4

P64

SA5

P34

SA6

P43

SB4

P65


SB5

P35

SB6

P44

SC4

P66

SC5

P36

SC6

P45

SD4

P67

SD5

P37

SD6


P46

SE4

P69

SE5

P39

SE6

P48

SF4

P70

SF5

P40

SF6

P49

SG4

P71


SG5

P41

SG6

P50

SP4

P72

SP5

P42

SP6

P51

SC4*

P79

SC5*

P08

SC6*


P09

Note:*=Common-cathodeterminal
Đầu cuối SC Cathode chung của mỗi chữ số được kết nối với chân cắm FPGA
hoặc đặt trên nắp chuyển tiếp. Khi được kết nối với GND, chữ số sẽ hoạt động trong
chế độ song song (chế độ riêng biệt). Nếu được kết nối với chân cắm FPGA, chữ số sẽ
hoạt động trong chế độ nối tiếp (chế độ quét hình ảnh).
Trong chế độ song song, phân đoạn 8 LED (SA-SP) của mỗi chữ số phải được
kết nối với chân cắm FPGA về bên trái của mỗi bộ lọc (JP8, JP9, JP10, JP11, JP12,
JP13) với 8 nắp chuyển tiếp như phần trình bày trong hình 2.7-a.
Để vận hành chế độ nối tiếp, đầu cuối Cathode chung SC1 đến SC6 phải được
kết nối tới chân cắm FPGA P76-P79, P08 và P09 một cách tương ứng với các nắp
chuyển tiếp. Các phân đoạn tương tự của các chữ số phải được kết nối song song bằng
12


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

cách đặt 8 nắp chuyển tiếp trong JP8A thơng qua vị trí JP13A cũng như JP8. Hình
2.7-b chỉ ra vị trí của nắp chuyển tiếp cho hoạt động nối tiếp. Trong trường hợp như
vậy, các phân đoạn SA thông qua SP được kết nối với chân cắm FPGA P13 đến P21
và các đoạn đầu cuối Cathode chung SC1 đến SC6 được kết nối với chân cắm FPGA
P76-P79, P08 và P09 một cách tương ứng.

a) Mã song song

b) Mã nối tiếp


Hình 2.7: Mã vận hành của bộ hiển thị 7 phân đoạn 6 chữ số
d) Phần máy phát xung
Phần máy phát xung bao gồm 4 chuyển mạch nút đẩy hãm (SWP1, SWP2,
SWP3 và SWP4) được xác định như bộ đầu ra xung. Mỗi một tín hiệu nút đẩy được
xác định như một logic 1 khi được nhấn nút, khi nhả nút ra nó sẽ trở về logic 0.
Sơ đồ chân cắm của máy phát điện xung được trình bày như trong bảng 2.4:
Bảng 2.4: Sơ đồ bố trí chân của máy phát điện xung
Máy phát xung

FPGApin

SWP1

P81

SWP2

P82

SWP3

P83

SWP4

P84

e) Phần máy phát xung nhịp
Bộ máy phát xung nhịp RCOSC1 và RCOSC2 là những bộ dao động được xây
dựng từ CD40106 và được phân định giữa trở kháng và tụ điện. Bộ máy phát

RCOSC1 có thể được hoạt động trong phạm vi tần số thấp (khi các chân JP15 LF
được đóng lại) hoặc phạm vi tần số cao (khi các chân cắm JP15 LF được mở ra). Tần
13


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

suất đầu ra được điều khiển bởi các nút gỡ HFQ ADJ ranh giới từ 5 đến 500KHz.
Tương tự như vậy, bộ máy phát RCOSC2 có thể hoạt động trong phạm vi tần số thấp
(khi các chân cắm JP17 LF bị đóng lại) hoặc trong phạm vi tần số cao (khi các chân
cắm JP17 LF được mở ra). Tần suất đầu ra của nó được điều chỉnh bởi các nút gỡ
LFQ ADJ ranh giới từ 0.1Hz đến 20KHz. Bộ đầu ra RCOSC1 được kết nối với chân
cắm FPGA 31 (I31) bằng cách đặt nắp chuyển tiếp vào trong vị trí của I31 của JP15
và bộ đầu ra RCOSC2 được kết nối với chân cắm FPGA 73 (I73) bằng cách đặt nắp
chuyển tiếp vào vị trí của I73 của JP17.
f) Phần SW và bàn phím
Bàn phím ma trận 4x4 được dùng riêng biệt và để qt hình chế độ.
Sơ đồ chân cắm bàn phím được mô tả như trong bảng 2.5:
Bảng 2.5: Sơ đồ bàn phím ma trận
Chế độ riêng biệt
Chế độ quét
Phím

FPGA

Phím

FPGA


SW0

P34

SW8

P43

KIN1

SW1

P35

SW9

P44

KIN2

SW2

P36

SWA

P45

KIN3


SW3

P37

SWB

P46

KIN4

SW4

P39

SWC

P48

SCN1

SW5

P40

SWD

P49

SCN2


SW6

P41

SWE

P50

SCN3

SW7

P42

SWF

P51

SCN4

g) Phần hiển thị 16 phân đoạn
Bộ hiển thị 16 phân đoạn thuộc dạng Cathode chung. Phân đoạn của nó đặt tên
và phân định chân cắm được trình bày như trong hình 2.8. Đầu cuối của Cathode
chung C-SEL được kết nối với GND khi sử dụng bộ hiển thị 16 phân đoạn.

14


GVHD: ThS. Lê Minh Đức


SVTH: Lê Xuân Vũ

Hình 2.8: Hiển thị 16 phân đoạn
Phân định chân cắm của ổ cắm bộ hiển thị 16 phân đoạn JP21 được trình bày
như ở hình 2.9:

Hình 2.9: Ổ cắm bộ hiển thị 16 phân đoạn
Sơ đồ chân cắm bộ hiển thị 16 phân đoạn được mô tả trong bảng 2.6:
Bảng 2.6: Sơ đồ chân cắm bộ hiển thị 16 phân đoạn
16 phân đoạn

FPGA

16 phân đoạn

FPGA

A1

P13(DA1)

E2

P23(DB2)

A2

P14(DB1)


G1

P24(DC2)

B1

P15(DC1)

G2

P25(DD2)

B2

P16(DD1)

H1

P27(DE2)

C1

P18(DE1)

H2

P28(DF2)

C2


P19(DF1)

I1

P29(DG2)

D1

P20(DG1)

I2

P30(DP2)

D2

P21(DP1)

DP

P63(DP3)

E1

P22(DA2)

C-SEL

JP23(GND)


15


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

h) Phần LED DOT 5x7 (LED chấm 5x7)
Phân định chân cắm của LED chấm 5x7 được trình bày như hình 2.10:

Hình 2.10: Phân định chân cắm của bộ LED điểm chấm 5x7
Các lỗ cắm cho điểm chấm LED (JP22) và bộ kết nối chọn lọc điểm chấm
(JP24) được trình bày như hình 2.11:

Hình 2.11: Ổ cắm bộ LED điểm chấm 5x7 JP22 và bộ chọn lọc điểm chấm JP24
Bảng 2.7 chỉ ra sơ đồ chân cắm của bộ LED điểm chấm 5x7. Khi sử dụng bộ
LED điểm chấm 5x7, 8 nút chuyển tiếp phải được cài đặt ở vị trí JP8 và JP24.
Bảng 2.7: Sơ đồ chân cắm LED điểm chấm 5x7
LED điểm chấm

FPGA

LED điểm chấm

FPGA

PA1

P13


C1

P22

PA2

P14

C2

P23

PA3

P15

C3

P24

PA4

P16

C4

P25

PA5


P18

C5

P27

PA6

P19

PA7

P20

i) Phần LCD 2021

16


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

Bộ kết nối JP20 được trình bày như hình 2.12 dùng để kết nối bộ LCD bên
ngồi module LCD2021 với thiết bị FPGA.

Hình 2.12: Bộ kết nối LCD2021
Sơ đồ chân cắm được mô tả như trong bảng 2.8 sau đây:
Bảng 2.8: Sơ đồ chân cắm LCD 2021


2.2.

LCD

FPGA

LCD

FPGA

DB0

P13

E

P22

DB1

P14

R/W

P23

DB2

P15


D/I

P24

DB3

P16

LCT

DB4

P18

DB5

P19

DB6

P20

DB7

P21

Cơ bản về lập trình logic(FPGA)

2.2.1. Khái niệm
FPGA (Field-Programmable Gate Array – Ma trận cổng lập trình được theo

trường) là vi mạch dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình
được. (Chữ field ở đây muốn chỉ đến khả năng tái lập trình “bên ngồi” của người sử
dụng, khơng phụ thuộc vào dây chuyền sản xuất phức tạp của nhà máy bán dẫn).
Vi mạch FPGA được cấu thành từ các bộ phận:
+ Các khối logic cơ bản lập trình được (logic block).
+ Hệ thống mạch liên kết lập trình được.
+ Khối vào/ra (I/O Pads).
17


GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

+ Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý...

Hình 2.13: Cấu trúc tổng thể một FPGA
Cấu trúc FPGA đơn giản gồm các khối logic (logic blocks) cách đều nhau,
được cấu thành từ LUT và một phần tử nhớ đồng bộ FF, liên kết nhờ các đường kết
nối có thể thay đổi được theo yêu cầu của người thiết kế.
LUT (Look up table) là khối logic có thể thực hiện bất kì hàm logic nào từ 4
đầu vào, kết quả của hàm này tùy vào mục đích mà gửi ra ngồi khối logic trực tiếp
hay thơng qua phần tử nhớ FF.

Hình 2.14: Khối logic FPGA
2.2.2. Ứng dụng
Ứng dụng của FPGA bao gồm: Xử lý tín hiệu số DSP, các hệ thống hàng
khơng, vũ trụ, quốc phịng, tiền thiết kế mẫu ASIC (ASIC prototyping), các hệ thống

18



GVHD: ThS. Lê Minh Đức

SVTH: Lê Xuân Vũ

điều khiển trực quan, phân tích nhận dạng ảnh, nhận dạng tiếng nói, mơ hình phần
cứng máy tính...
2.2.3. Phân loại
Có hai loại FPGA cơ bản: Loại lập trình được (dựa trên cơng nghệ SRAM) và
loại lập trình một lần.
Loại lập trình lại được (dựa trên SRAM) :
+ SRAM xác định các kết nối.
+ SRAM định nghĩa các hàm logic trong bảng ánh xạ (LUT).
Loại lập trình một lần:
+ Kết nối dạng bẻ cầu chì.
+ Sử dụng các cổng logic truyền thống.
2.2.4. Quy trình thiết kế FPGA
Dưới đây là quy trình thiết kế FPGA, sử dụng bộ công cụ phần mềm thiết kế
ISE.
a) Yêu cầu chung khi thiết kế FPGA
Chọn vi mạch FPGA phù hợp: Việc chọn được vi mạch, công nghệ phù hợp
nhất cho các tiêu chuẩn thiết kế được tiến hành theo các yêu cầu sau:
+ Mật độ: Dự tính mật độ logic của linh kiện.
+ Số lượng thanh ghi.
+ Số lượng chân vào/ra.
+ Yêu cầu về tốc độ.
+ Đóng vỏ: Phải xác định vi mạch cần gọn nhất hay chỉ sử dụng dạng QFP
thông thường. Hoặc vi mạch thiết kế thuộc dạng có lắp chân cắm, trong trường hợp
này là vi mạch PLCC.

+ Công suất thấp.
+ Chức năng cấp hệ thống.
- Chọn giải pháp cấu hình cho FPGA:
+ Lập trình ngay trên hệ thống.
+ Lập trình bên ngồi.
- Chọn cơng cụ phần mềm phù hợp.

19


×