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