Download as pdf or txt
Download as pdf or txt
You are on page 1of 52

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM

KHOA CÔNG NGHỆ ĐIỆN TỬ


Mục lục

Mục lục ........................................................................................................................ 1

Chươ g : Tổng quan về công nghệ FPGA ................................................................... 4


I. Cấu trúc c a các FPGA. ................................................................................................................................4

Cấu trúc tổng thể c a FPGA bao gồm: .......................................................................................................4

- Các khối Logic ........................................................................................................................................4

- Hệ thống liên kết mạch ...........................................................................................................................4

- Các phần tử tích hợp sẵn .........................................................................................................................4

1.1. Các khối logic cấu hình (configurable logic Block)..............................................................................5

1.2. Các nguồn kết nối (Router). ..................................................................................................................5

II. Phân loại FPGA ...........................................................................................................................................5

2.1. Các công nghệ lập trình FPGA. ............................................................................................................6

2.2 Công nghệ lập trình dùng RAM tĩnh. .....................................................................................................6

2.3. Các thiết bị lập trình cầu chì ngịch(Anti-fuse)......................................................................................7

2.4. Công nghệ lập trình dùng EPROM và EEPROM .................................................................................9

III. Ngôn ngữ mô tả phần c ng (HDL) ..........................................................................................................10

3.1. Các ưu điểm c a VHDL ......................................................................................................................11

3.2. Cấu trúc một mô hình hệ thống sử dụng ngôn ngữ VHDL..................................................................11

Chươ g : Tì hiểu Board DE2 của Altera ................................................................. 12


I. Giới thiệu ...................................................................................................................................................12

II. Thành phần ................................................................................................................................................13

III. Cách hoạt động.........................................................................................................................................15

3.1. Cấu hình FPGA trong chế độ JTGA ...................................................................................................16

3.2. Cấu hình FPGA trong chế độ AS ........................................................................................................16

3.3. Điều khiển DE2 sử dụng liên kết Terasic ............................................................................................17


3.4. Ngõ ra XSGA .......................................................................................................................................17

3.5. 24-bit Audio CODEC ..........................................................................................................................19

3.6. Sử dụng LED và các công tắc .............................................................................................................21

3.7. Sử dụng led 7 đoạn và module LCD ...................................................................................................24

3.8. Sử dụng các Headers mở rộng ............................................................................................................28

3.9. Sử dụng các Cổng nối tiếp (RS232) ....................................................................................................29

3.10. Sử dụng các Cổng nối tiếp (PS/2) .....................................................................................................30

3.11. Sử dụng Fast Ethernet Netword Controller ......................................................................................30

3.12. Bộ giải mã TV....................................................................................................................................32

3.13. Thực hiện một bộ mã hóa TV ............................................................................................................34

3.14. Sử dụng USB Host/Device.................................................................................................................35

3.15. Sử dụng cổng hồng ngoại ..................................................................................................................36

3.16. Sử dụng Using SDRAM/SRAM/Flash ...............................................................................................37

IV. Một vài ng dụng ....................................................................................................................................42

V. Các phần mềm hỗ trợ ................................................................................................................................44

5.1. Giới thiệu ............................................................................................................................................44

5.2. Thiết kế mạch. .....................................................................................................................................45

5.3. Cách th c mô phỏng hoạt động trong Quartus...................................................................................51


Chương 1: Tổng quan về công nghệ FPGA
FPGA(field-programmable Gate Array) đây là loại IC cho phép ng i thiết kế lập trình
thay đổi các thiết kế c a mình. FPGA xuất hiện nh một giải pháp cơ bản cho vấn đề tranh
th th i gian để đ a ra thị tr ng và r i ro tài chính phải gánh chịu trong quá trình nghiên
c u sản phẩm c a công nghệ điện tử. FPGA là loại thiết bị khả trình (PLD) tiên tiến nhất
hiện nay c a ngành công nghệ chế tạo IC chuyên biệt mà vẫn đ ợc gọi là ASIC.

I. Cấu trúc của các FPGA.


Cấu trúc tổng thể c a FPGA bao gồm:
- Các khối Logic
- Hệ thống liên kết mạch
- Các phần tử tích hợp sẵn

FPGA là mạch tích hợp ch a nhiều (64 đến hơn 10.000) ô logic (logic cell) giống nhau
có thể xem là các thành phần chuẩn. Mỗi ô logic giữ một hay một số ch c năng độc lập.
Các ô giống nhau đ ợc kết nối b i một ma trận đ ng dẫn và chuyển mạch khả trình.
Ng i thực hiện thiết kế bằng các đặc tr ng logic đơn c a mỗi ô và lựa chọn đóng các
chuyển mạch trong ma trận kết nối. Mảng c a các ô logic và kiểu kết nối là kết cấu xây
dựng khối cơ bản trong mạch logic. Các thiết kế ph c tạp đ ợc tạo ra bằng cách kết hợp
các khối cơ bản để tạo ra các mạch đ ợc mô tả.
Mô hình tổng quát c a FPGA gồm một dãy hai chiều các khối logic (logic block) có
thể đ ợc kết nối bằng các nguồn kết nối chung. Các nguồn kết nối (segment) có thể có
chiều dài khác nhau. Bên trong các kết nối là các chuyển mạch lập trình đ ợc dùng để nối
các khối logic cấu hình (configurable logic Block) cần thiết qua các chuyển mạch. Các
khối CLB cung cấp các phần tử ch c năng với cấu trúc sử dụng logic. Các khối vào/ra
(I/O block) cung cấp giao diện giữa các gói chân và đ ng tín hiệu bên trong. Tài nguyên
kết nối khả trình cung cấp các bộ phận truyền dẫn tới kết nối đầu vào và đầu ra c a các
CLB và các IOB trong mạng riêng.
Vậy cấu trúc FPGA gồm 3 phần tử chính:
- Các khối logic cấu hình (CLB)
- Các khối vào/ra (IOB)
- Các kết nối
1.1. Các khối logic cấu hình (configurable logic Block).
Cấu trúc và nội dung c a logic block đ ợc gọi theo kiến trúc c a nó. Kiến trúc c a
khối logic có thể thiết kế theo nhiều cách khác nhau, có thể là các cổng AND 2 ngõ nhập,
các bộ dồn kênh (Multiplexer) hay các bảng tìm kiếm (Look-up Table). Ngoài ra có thể
ch a các flip-flop để hỗ trợ cho việc thực hiện một cách tuần tự.
1.2. Các nguồn kết nối (Router).
Các nguồn kết nối có cấu trúc và nội dung đ ợc gọi là kiến trúc đ ng (Routing
Architecture). Kiến trúc Routing gồm các đoạn dây nối các chuyển mạch khả trình. Các
chuyển mạch khả trình có cấu tạo khác nhau nh pass-transistor, đ ợc điều khiển b i các
cell SRAM, các phần tử cầu chì nghịch, EPROM transitor và EEPROM transistor. Giống
nh các khối logic có nhiều cách khác nhau để thiết kế các routing. Một số FPGA cung
cấp nhiều kết nối đơn giản giữa các khối logic, một số khác cung cấp ít kết nối hơn nên
routing ph c tạp hơn.

II. Phân loại FPGA


FPGA có nhiều loại khác nhau có cấu trúc và đặc tính riêng thùy theo từng hãng sản
xuất , tuy nhiên chúng có 4 loại cính sau: cấu trúc mảng đối x ng (symmetrical Array) cấu
trúc PLD phân cấp (hierachircal PLD), cấu trúc hang (Row base) và cấu trúc đa cổng (sea
of gage) mô tả d ới đây.
2.1. Các công nghệ lập trình FPGA.
Có nhiều cách thực hiện các phần tử lập trình, các công nghệ lập trình hiện đang sử
dụng là: RAM tĩnh, cầu chì nghịch (anti-fuse), EPROM transistor và EEPROM transistor.
Mặc dù công nghệ lập trình khác nhau, tất cả các phần tử lập trình đều có thể cấu hình
đ ợc trong một trong hai trạng thái ON và OFF. Các phần tử lập trình đ ợc dùng để thực
hiên các kết nối lập trình đ ợc giữa các FPGA, còn FPGA thông th ng có thể có hơn
100.000 phần tử lập trình. Vì vậy các phần tử lập trình phải có những tính chất sau:
- Càng chiếm ít diện tích c a chip càng tốt.
- Có tr kháng thấp khi trạng thái ON và tr kháng cao khi trạng thái OFF.
- Có điện dung kí sinh thấp khi kết nối các đoạn dây.
- Có thể chế tạo một cách tin cậy số l ợng lớn phần tử lập trình trên một chip.
Có thể tùy thuộc vào ng dụng cụ thể và có các số l ợng phẩn tử lập trình có thể có
các đặc tính khác. Về mặt chế tạo, các phần tử lập trình nếu có thể chế tạo theo công nghệ
CMOS chuẩn là tốt nhất. D ới đây sẽ trình bày chi tiết công nghệ FPGA.
2.2 Công nghệ lập trình dùng RAM tĩnh.
Công nghệ lập trình dùng RAM tĩnh (SRAM) sử dụng công nghệ CMOS tiêu chuẩn.
Các kết nối lập trình đ ợc điều khiển bằng các transistor khác trên chip hoặc bật (On) các
transistor truyền dẫn cũng nh các cổng transistor để tạo nên một kết nối hay tắt (Off) để
ngắt các kết nối.
Trong tr ng hợp transistor truyền dẫn và cổng transistor nh hình trên, phần tử RAM
Cell điều khiển cổng truyền bật hoặc tắt. Khi tắt giữa hai dây nối với cổng truyền dẫn sẽ
có một tr kháng rất cao. Khi bật nó sẽ tạo một tr kháng thấp kết nối giữa hai dây nối.
Đối với bộ dồn kênh, SRAM Cell điều khiển ngõ nhập nào c a bộ dồn kênh sẽ đ ợc nối
với ngõ ra c a nó. Cách này th ng dùng để kết nối tùy chọn từ một hay nhiều ngõ nhập
c a một khối.
Trong các FPGA sử dụng công nghệ lập trình SRAM, các khối logic có thể kết hợp với
nhau qua cách kết hợp cả bộ dồn kênh (mutiplexer) và cổng truyền dẫn(pas-gate). Vì
SRAM là bộ nhớ bay hơi, các FPGA này phải đ ợc tái cấu hình mỗi khi cấp nguồn cho
chip. Điều này có nghĩa là hệ thống sử dụng các chip này phải có cơ chế l u trữ th ng
trực cho các bit c a RAM Cell, chẳng hạn nh ROM hay từ đĩa từ. Các bit c a RAM Cell
có thể đ ợc nạp vào FPGA một cách tuần tự hay định địa chỉ nh một phần tử c a mảng
(theo cách thông th ng c a một RAM).
Các chip đ ợc thực hiện theo công nghệ SRAM có diện tích khá lớn, b i vì cần ít nhất
5 transistor cho mỗi RAM Cell cũng nh các transistor cần thêm cho cổng truyền dẫn hay
bộ dồn kênh. u điểm c a kỹ thuật này là cho phép FPGA có thể đ ợc tái cấu hình ngay
trên mạch rất nhanh và nó có thể đ ợc chế tạo bằng công nghệ CMOS chuẩn
2.3. Các thiết bị lập trình cầu chì ngịch(Anti-fuse)
Công nghệ lập trình anti-fuse đ ợc sử dụng trong các FPGA c a Actel-Corp, Quick
Logic và Cross Point Solution. Tuy anti-fuse đ ợc sử dụng trong các loại FPGA này có
cấu tạo khác nhau, nh ng ch c năng c a chúng thì nh nhau. Một anti-fuse bình th ng
sẽ trạng thái cao, nh ng có thể bị nóng chảy thành trạng thái điện tr thấp khi đ ợc lập
trình điện thế cao. D ới đây sẽ giới thiệu anti-fuse c a Actel và Quick Logic.
Anti-fuse c a Actel đ ợc gọi là PLICE. Nó cấu trúc hình chữ nhật gồm 3 lớp:
- Lớp d ới cùng ch a các silic mang nhiều điện tích d ơng(n+diffusion).
- Lớp giữa là một lớp điện môi(Oxy-Nito-Oxy cách điện)
- Lớp trên cùng là Poly-Silic.
Anti-fuse PLICE đ ợc lập trình bằng cách đặt một điện thế cao thích hợp(18V) giữa
hai đầu c a anti-fuse và dòng điều khiển khoảng 5mA qua thiết bị. Dòng và áp này tạo ra
một nhiệt l ợng vừa đ bên trong lớp điện môi làm nó nóng chảy và tạo ra một liên kết
dẫn điện giữa các điện cực. Các transistor chịu đ ợc các điện thế cao đ ợc chế tạo bên
trong FPGA để đáp ng cho dòng và điện áp đ lớn. Cả hai lớp d ới cùng và trên cùng
c a cầu chì nghịch sẽ tạo ra một liên kết nối có tr kháng thấp (300Ω đến 500Ω) giữa hai
dây kim loại
Anti-fuse c a Quick Logic đ ợc gọi là ViaLink. Nó t ơng tự nh PLICE cũng nh có
ba lớp kim loại. Tuy nhiên, ViaLink sử dụng kim loại m c 1 cho lớp d ới cùng. Khi
trạng thái không đ ợc lập trình, anti-fuse có tr kháng hang GΩ, nh ng khi lập trình nó sẽ
tạo ra một kết nối giữa hai lớp kim loại tr kháng khoảng 80Ω. Anti-fuse đ ợc chế tạo
bằng cách thêm ba mặt nạ đặt biệt trong quy trình chế tạo CMOS thông th ng.
ViaLink anti-fuse đ ợc lập trình bằng cách đặt một điện thế 10V giữa các đầu c a nó,
dòng đ ợc cấp đ , trạng thái c a Silic vô định hình sẽ thay đổi và tạo ra một liên kết điện
giữa hai lớp kim loại. Diện tích chip sử dụng kỹ thuật anti-fuse rất nhỏ so với công nghệ
khác. Tuy nhiên, bù lại cần phải có không gian lớn cho các transistor điện thế cao cần giữ
cho dòng và áp cao lúc lập trình. Nh ợc điểm c a anti-fuse là quy trình chế tạo chúng phải
thay đổi so với quy trình chế tạo CMOS.
2.4. Công nghệ lập trình dùng EPROM và EEPROM
Công nghệ đ ợc dùng trong các FPGA c a Altera Corp và Plus Logic. Công nghệ này
giống nh sử dụng bộ nhớ EPROM. Không giống CMOS transistor đơn giản, một
EPROM transistor gồm hai cổng, một cổng treo(floating-gate) và một cổng chọn (select-
gate). Cổng này đ ợc gọi thế vì nó không có kết nối điện đến bất kì mạch nào.

trạng thái bình th ng khi không đ ợc lập trình, không có điện tích giữa cổng treo
và transistor có thể chuyển sang trạng thái On một cách bình th ng bằng cổng chọn. Khi
transistor đ ợc lập trình bằng một dòng điện lớnchạy giữa nguồn và kênh, một điện tích
đ ợc giữ lại cổng treo(phơi d ới ánh sang tia cực tím sẽ kích hoạt các electron chuyển
từ cổng vào chất nên c a transistor).
EPROM transistor đ ợc sử dụng trong FPGA theo cách khác so với SRAM và anti-
fuse thay vì dùng cho lập trình kết nối hai dây, EPROM transistor đ ợc sử dụng để kéo
xuống các ngõ nhập c a logic-block.
Nh hình vẽ 1.6, một đ ng dây gọi là “word line’’ (theo thuật ngữ bộ nhớ) đ ợc nối
với cổng chọn c a EPROM transistor, khi transistor ch a lập trình trạng thái ON. “Word
line” có thể làm cho “bit line” không đ ợc nối với ngõ nhập c a logic-block vì bị kéo về
m c logic 0. Nhiều EPROM transistor thực hiện các kết nối cùng một bit line, khi một
điện the nối lên nguồn nối với bit line, mô hình không những cho EPROM transistor thực
hiện các kết nối mà còn thực hiện các ch c năng logic AND nối dây (wired-AND). Nh ợc
điểm c a ph ơng pháp này là các điện tr tiêu tốn năng l ợng cố định.
Một u điểm c a EPROM transistor là chúng có thể tái lập trình mà không cần bộ nhớ
bên ngoài. Tuy nhiên, không giống SRAM, EPROM không thể đ ợc tái lập trình ngay
trên bo mạch.
Ph ơng pháp dùng EEPROM (đ ợc sử dụng trong các FPGA c a Advanced Micro
Device-AND) t ơng tự nh công nghệ EPROM, ngoại trừ EEPROM transisitor chiếm gấp
đôi điện tích so với EPROM transistor và cần nhiều nguồn điện thế (để tái lập trình) mà
các loại khác không cần.
Các công nghệ lập trình FPGA đ ợc tóm tắt trong bảng d ới đây:
Công nghệ Tính bay Có thể Diện tích R(KΩ) C(pf)
lập trình hơi lập trình chip
Static Có Trong Lớn 1-2 10-20
RAM Cell mạch
PLICE Không Không Anti-fuse 300-500 3-5
Anti-fuse nhỏ
Số
transistor
lớn
ViaLink Không Ngoài Anti-fuse 50-80 1-3
mạch nhỏ
Số
transistor
lớn
EPROM Không Ngoài Nhỏ 2-4 10-20
mạch
EEPROM Không Trong 2xEPROM 2-4 10-20
mạch

III. Ngôn ngữ mô tả phần cứng (HDL)


Ngôn ngữ mô tả phần c ng (HDL) là ngôn ngữ lập trình phần mềm dùng đề mô hình
hoạt động mong muốn c a phần c ng. Có hai khía cạnh mà HDL tạo điều kiện để mô tả
phần c ng: mô hình hành vi trừu t ợng và mô hình cấu trúc phần c ng.
Mô hình hành vi trựu t ợng. Ngôn ngữ mô tả phần c ng tạp điều kiện dễ dàng cho
việc mô tả trừu t ợng hành vi c a phần c ng đối với các mục đích đặc tả (chỉ rõ chi tiết kỹ
thuật). Hành vi này không chỉ bị chi phối b i các khía cạnh cấu trúc hoạc thiết kế c a ý
định phần c ng.
Mô tả cấu trúc phần c ng. Cấu trúc phần c ng có khả năng đ ợc mô hình trong ngôn
ngữ mô tả phần c ng mà không cần quan tâm đến hành vi thiết kế.
VHDL đ ợc xem nh là sự kết hợp c a các ngôn ngữ sau: ngôn ngữ tuần tự + ngôn
ngữ đồng th i + netlist + định th i + mô phỏng. Do cấu trúc VHDL cho phép thể hiện
cách th c thực hiện theo kiểu song song hay tuần tự c a một hệ thống số có hoạc không
có timing. Nó cũng cho phép vẽ mô hình một hệ thống bằng các liên kết nối c a các thành
phần.
VHDL đ ợc dành cho tổng hợp mạch (synthesis) cũng nh mô phỏng mạch
(simulation). Dù VHDL có thể mô phỏng một cách đầy đ , nh ng không phải tất cả các
cấu trúc đều đ ợc VHDL tổng hợp.
3.1. Các ưu điểm của VHDL
- Ch ơng trình trong VHDL có thể đ ợc viết theo nhiều cấu trúc khác nhau: Ngẩu
nhiên, tuần tự, nối chân, định th i chỉ rõ, ngôn ngữ dạng sóng.
- VHDL là một ngôn ngữ phân cấp, hệ thống số có thể đ ợc mô phỏng nh một kết nối
các khối mà các khối này đ ợc thực hiện với các khối con khác nhỏ hơn.
- Cung cấp một cách mềm dẻo các ph ơng th c thiết kế trên xuống, d ới lên, hoạc tổ
hợp cả hai.
- Cung cấp cả hai mode đồng bộ và không đồng bộ.
- Linh hoạt trong kĩ thuật mô phỏng số nh sử dụng biểu đồ trạng thái, thuật toán, hàm
Boolean.
- Có tính đại chúng: VHDL đ ợc phát triển d ới sự bảo trợ c a chình ph Mỹ và hiện
này là một tiêu chuẩn c a IEEE. VHDL đ ợc s hổ trợ c a nhiều nhà sản xuất thiết bị
cũng nh nhiều nhà cung cấp công cụ thiết kế mô phỏng hệ thống.
- VHDL cung cấp 3 kiểu mẫu viết khác nhau: structural, dataflow và behavioral.
- Không giới hạn về đọ lớn c a thiết kế khi sử dụng ngôn ngữ.
- Khả năng định ngĩa kiểu dữ liệu mới cung cấp một công cụ hữu hiệu cho thiết kế và
mô phỏng công nghệ mới với một m c rất cao.
3.2. Cấu trúc một mô hình hệ thống sử dụng ngôn ngữ VHDL
VHDL là ngôn ngữ mô tả phần c ng do vậy mà nó có thể đ ợc sử dụng để làm mô
hình c a một hệ thống số. Hệ thống số có thể đơn giản là các cổng logic hay ph c tạp nh
một hệ thống hoàn chỉnh. Các khối xây dựng nên ngôn ngữ VHDL gọi là các khối thiết
kế. Có 3 khối thiết kế chính:
- Khai báo Entity (Thực Tế)
- Khai báo Arichitecture (Kiến trúc)
- Khai báo Configuration (Cấu hình)
Đôi khi ta sử dụng các gói (Packages) và mô hình kiểm tra hoạt động c a hệ thống
(Testbench).
Chương 2: Tìm hiểu Board DE2 của Altera
I. Giới thiệu
Board DE2 là board mạch phục vụ cho việc nghiên c u và phát triển về các lĩnh vực
luận lý số học (digital logic), tổ ch c máy tính (computer organization) và FPGA

Giá: 10.100.000 VNĐ


Model: Board FPGA
Hãng sản xuất: FPGA
http://linhkienmach.com/FPGA_DE2_Altera_Gia_Re
II. Thành phần
Kit DE2 có rất nhiều tính năng cho phép các nhà thiết kế thực hiện một khối l ợng lớn
các hệ thống, mạch ch c năng từ đơn giản đến ph c tạp. D ới đây là các tính năng
đ ợc cung cấp sẵn trên kit DE2:

- FPGA:
+ Vi mạch FPGA Altera Cyclone II 2C35
+ Vi mạch Altera Serial Configuration device - EPCS16

- Các thiết bị xuất nhập


+ USB Blaster
* Dùng để lập trình và điều khiển API c a ng i dùng
* Hỗ trợ các chế độ JTAG và AS khi sử dụng NIOS II
+ Bộ điều khiển Cổng 10/100 Ethernet.
* Tích hợp MAC và PHY với một giao diện xử lý chung
* Hỗ trợ 100Base-T và các ng dụng 10Base-T.
* Hỗ trợ chế độ hoạt động song công đầy đ tại 10Mb / s và 100MB / s, với tính
năng tự động MDIX
* Hoàn toàn phù hợp với IEEE 802.3u Spec
* Hỗ trợ các chuẩn giao th c IP/TCP/UDP
+ Cổng VGA-out
+ Bộ giải mã TV và cổng nối TV-in
* Sử dụng ADI 7181B đa định dạng SDTV Video Decoder
* Hỗ trợ NTSC-(M, J, 4.43), PAL-(B / D / G / H / I / M / N), SECAM.
* Xung clock từ nguồn dao động 27 Mhz
* Nhiều lập trình t ơng tự các định dạng đầu vào: Composite video (CVBS), S-
Video(Y/C) và các thành phần YprPb
* Hỗ trợ các định dạng đầu ra kỹ thuật số (8-bit/16-bit): ITU-R BT.656 YCrCb
04:02:02 ngõ ra + HS, VS, và FIELD
* ng dụng: ghi DVD, màn hình LCD TV, hộp set-top, TV kỹ thuật số, Portable
+ Bộ điều khiển USB host/slave với USB kiểu A và kiểu B
* Tuân th đầy đ với Universal Serial Bus Thông số kỹ thuật Rev 2.0
* Hỗ trợ truyền dữ liệu tốc độ đầy đ và tốc độ thấp
* Hỗ trợ cả USB Host và thiết bị
* Hỗ trợ hai cổng USB (Một loại A cho máy ch và một loại B cho các thiết bị trên
DE2)
* Cung cấp tốc độ cao giao diện song song với hầu hết các CPU có sẵn, hỗ trợ
NIOS II Core
* Hỗ trợ lập trình I / O (PIO) hoặc truy cập bộ nhớ trực tiếp (DMA)
+ Cổng nối PS/2 chuột/ bàn phím
+ Bộ giải mã/mã hóa âm thanh
* Sử dụng Wolfson WM8731 24-bit sigma –delta Best-Quality Audio CODEC
* jack cắm line-in, line-out, và microphone
* Tần số lấy mẫu 8 KHZ – 96 KHz
* Các ng dụng cho máy nghe nhạc MP3 và ghi âm, PDA, điện thoại thông minh.
+ 2 Header m rộng 40-pin với lớp bảo vệ diode
+ Cổng giao tiếp RS-232 và cổng nối 9-pin
+ Cổng giao tiếp hồng ngoại: 115.2kb/s Infrared Transceiver

- Bộ nhớ
+ SRAM 512 – Kbyte
+ SDRAM 8 – Mbyte
* Single Data Rate Synchronous Dynamic RAM memory chip
* Tổ ch c nh 1M x 4 x 16bit
* Hỗ trợ lập trình qua NIOS II and Terasic high-speed Multi-port SDRAM
Controller
+ Bộ nhớ cực nhanh 1 – Mbyte
* Đ ợc trang bị bộ nhớ Flash NAND 1Mbyte
* Giao diện đ ợc thiết kế để hỗ trợ lên đến 4Mbye SDRAM
* Bus dữ liệu 8-bit
* Hỗ trợ truy cập thông qua cả Nios II và Terasic high-speed Multi-port
SDRAM Controller
+ Khe cắm SD card
* Cung cấp chế độ SPI để truy cập thẻ SD
* Hỗ trợ truy cập thông qua NIOS II với Terasic SD Card Driver

- Switch, các đèn LED, LCD, xung clock


+ 4 nút nhấn, 18 nút gạt
* Nút nhấn chống dỗi b i Schmitter trigger, bình th ng m c cao
+ 18 led đỏ, 9 led xanh, 8 led 7 đoạn: dòng cho led 32 mA
+ LCD 16x2
+ Bộ dao động 50-MHz và 27- MHz , đầu vào xung clock ngoài SMA
DE2 Block Diagram

III. Cách hoạt động


Để sử dụng Board DE2 ta thực hiện các b ớc sau đây:
1. Kết nối cáp USB từ máy tính đến bảng DE2
2. Kết nối cáp chuyển đổi 9V cho Board DE2
3. Kết nối nàn hình LCD với DE2
4. Kết nối tai nghe với DE2
5. Nhấn Power ON / OFF Bật DE2

6. Gạt công tắc qua RUN

Khi đó Board DE2 được khởi động và chúng ta sẽ nhìn thấy

 Tất cả các đèn LED dùng đang nhấp nháy.


và nghe thấy:
 Tất cả các màn hình 7-SEG sáng từ 0-F.
 LCD 16x2 hiển thị " Welcome to the Altera DE2 Board ".
 Màn hình LCD hiện thị nh hình bên
 Chuyển SW17 vị trí OFF (xuống), bạn sẽ nghe thấy một âm thanh 1-KHz.
 Chuyển SW17 vị trí ON (lên) và kết nối đầu ra c a một máy nghe nhạc MP3 với
Board DE2, bạn sẽ nghe thấy âm nhạc từ tai nghe c a bạn nếu bạn chơi nhạc từ máy nghe
nhạc MP3 c a bạn (hoặc máy PC / iPod).

3.1. Cấu hình FPGA trong chế độ JTGA


* Đảm bảo điện 9V đ ợc cung cấp cho Board DE2.
* Kết nối cáp USB vào cổng USB Blaster c a DE2.
* Thiết lập Switch (SW19) để "RUN"
* Bây gi ng i dùng có thể sử dụng chế độ JTGA để cấu hình FPGA sử dụng tập tin
SOF. Các kết nối đ ợc thể hiện trong hình 3.1.
* Sau khi tải bitstream xong, FPGA bắt đầu chạy theo bistream.

3.2. Cấu hình FPGA trong chế độ AS


Bitstream có thể đ ợc tải về thông qua chế độ lập trình nối tiếp (chế độ AS). Theo mặc
định , việc chuyển đổi đ ợc thiết lập vị trí c a RUN cho chế độ JTAG để các tập tin
bistream SOF đ ợc tải về trực tiếp đến chip FPGA . Chế độ AS, nơi POF bitstream đ ợc
tải về trực tiếp đến dựa trên Flash-based, nên chỉ đ ợc sử dụng khi thiết kế đ ợc hoàn
thành hoặc các thiết kế đư đ ợc kiểm tra không cần máy tính.
Cấu hình giống trong chế độ JTAG chỉ khác “Set the Switch (SW19) to “PROG”
position.”
Lúc này ng i dùng có thể sử dụng chế độ AS để cấu hình FPGA sử dụng POF file.
3.3. Điều khiển DE2 sử dụng liên kết Terasic
Trong board DE2 có một liên kết đặc biệt từ MAX 3128 cho phép ng i sử dụng chân
IO FPGA kiểm soát FPGA từ máy tính sử dụng tập lệnh.
DE2 Control Panel chia sẻ cùng một liên kết JTAG và Nios II IDE điều khiển các
đ ng - ng i dùng có thể sử dụng chỉ một trong ba liên kết bất kỳ th i điểm nào.

3.4. Ngõ ra XSGA


ADV7123 từ các thiết bị Analog đ ợc sử dụng cho 10-bit D / A chuyển đổi cho tín
hiệu video
Các tín hiệu chuyển đổi sau đó đ ợc kết nối với 15 chân D-Sub kết nối cho đầu ra
VGA. Các mạch XSGA có thể hỗ trợ lên đến 1600x1200 @ 100Hz.
Th i gian th i gian cả hai trục ngang và dọc có thể đ ợc chia thành bốn khu vực:
H-Sync (a), cổng sau (b), cổng tr ớc (d), và khoảng th i gian hiển thị (c).
3.5. 24-bit Audio CODEC
WM8731 đ ợc sử dụng để thực hiện 24-bit Audio CODEC trên DE2. Chip cung cấp
jack line-in, line out và microphone. Tần số lấy mẫu từ 8KHZ đến 96 Khz sử dụng bus
I2C.
3.6. Sử dụng LED và các công tắc
Board DE2 cung cấp 4 nút nhấn, mỗi nút nhấn đ ợc xử lý chống dỗi bằng các Schmitt
Trigger. Khi ta nhấn nút nhấn, chỉ 1 xung 0 đ ợc tác động.

Ngoài ra còn có 18 công tắc để set High/Low cho 18 GPIOs c a chip Cyclonell FPGA.
Board DE2 có 9 led xanh lá và 18 led đỏ. D ới đây là sơ đồ nguyên lý:
3.7. Sử dụng led 7 đoạn và module LCD
Board DE2 có 8 led 7 đoạn và 1 module 16x2. Module LCD có xây dựng th viện font
bên trong, sử dụng để gửi tín hiệu điều khiển theo
Sơ đồ nguyên lý và sơ đồ chân:
3.8. Sử dụng các Headers mở rộng
Board DE2 cung cấp cho ng i dùng 40 chân Headers m rộng. Mỗi header cung cấp
nguồn DC +5V (VCC5), DC + 3.3V (VCC33), 2 chân GND cho phép ng i dùng m
rộng thêm các thẻ con.
3.9. Sử dụng các Cổng nối tiếp (RS232)
Board DE2 sử dụng chuẩn 9 chân D-SUB kết nối cho RS-232 giao tiếp giữa máy tính
và board. Chip truyền nhận dữ liệu là MAX232
3.10. Sử dụng các Cổng nối tiếp (PS/2)
Borard DE2 sử dụng chuẩn PS/2 giao tiếp cho bàn phím hoặc chuột PS/2

3.11. Sử dụng Fast Ethernet Netword Controller


Board DE2 sử dụng DM9000A cho giao diện Fast Ethernet. Các DM9000A là một
mạch tích hợp đầy đ và hiệu quả chi phí thấp, chip điều khiển Fast Ethernet với một giao
diện xử lý chung, một <PHY 10/100, và 4K Dword SRAM. Nó đ ợc thiết kế với công
suất thấp và quá trình xử lý cao hỗ trợ 3.3V với 5V IO. Hình 3.13 cho thấy sơ đồ thiết kế
cho giao diện Fast Ethernet cho DE2.
Figure 3.13 Fast Ethernet Solution for DE2
3.12. Bộ giải mã TV
Board DE2 đ ợc trang bị ADV7181 nh chip giải mã truyền hình c a mình. các
ADV7181bộ giải mư video đ ợc tích hợp tự động phát hiện và chuyển đổi một tiêu chuẩn
t ơng tự.
Đài truyền hình tín hiệu baseband t ơng thích với các tiêu chuẩn trên toàn thế giới
NTSC, PAL, và SECAM vào 4:02:02 video thành phần dữ liệu t ơng thích với 16-bit/8-
bit CCIR601/CCIR656.
Giao diện đầu ra kỹ thuật số linh hoạt cao, cho phép hiệu suất giải mã video và chuyển
đổi trong dòng khóa hệ thống đồng hồ trên. Điều này làm cho thiết bị lý t ng thích hợp
cho một loạt các ng dụng với các đặc tính video analog đa dạng, bao gồm các nguồn
băng từ, các nguồn phát sóng, an ninh / giám sát máy ảnh, và hệ thống chuyên nghiệp.
Tất cả các thanh ghi trong bộ giải mã truyền hình này có thể đ ợc lập trình b i I2C bus.
Figure 3.14 TV Decoder Circuits
3.13. Thực hiện một bộ mã hóa TV
Mặc dù Board DE2 không có bộ mã hóa truyền hình, ADV7123 cao cấp (10-bit ADC
ba tốc độ cao) có thể đ ợc sử dụng để thực hiện một truyền hình chuyên nghiệp. Mã hóa
với phần xử lý kỹ thuật số thực hiện b i mã RTL trong FPGA.
Hình 3.15 cho thấy sơ đồ khối c a một bộ mã hóa truyền hình đ ợc thực hiện bằng cách
sử dụng
ADV7123 và FPGA.
3.14. Sử dụng USB Host/Device
Board DE2 cung cấp cả USB Host và các thiết bị giao tiếp sử dụng chip điều khiển
đơn Philips ISP 1362.
Các máy ch và thiết bị điều khiển đ ợc tuân th với Universal Serial Bus thông số kỹ
thuật Rev 2.0, dữ liệu hỗ trợ truyền tốc độ đầy đ (12Mbit / s) và tốc độ thấp
(1.5Mbit/s).
3.15. Sử dụng cổng hồng ngoại
Board DE2 cũng cung cấp một ph ơng tiện truyền thông không dây đơn giản sử dụng
một bộ thu phát hồng ngoại 115.2Kb / s Low Power
3.16. Sử dụng Using SDRAM/SRAM/Flash
Board DE2 cung cấp bộ nhớ 8Mbyte SDRAM, 512Kbyte SRAM và 1Mbyte Flash
IV. Một vài ứng dụng
- ng dụng làm TV box

- Chương trình vẽ bằng chuột USB (paintbrush)


- Máy hát Karaoke và máy chơi nahcj SD
V. Các phần mềm hỗ trợ
Máy tính phải được cài đặt Quartus II để sử dụng board DE2
5.1. Giới thiệu
Quartus II là công cụ phần mềm phát triển c a hãng Altera, cung cấp môi tr ng thiết
kế toàn diện cho các thiết kế SOPC (hệ thống trên 1 chip khả trình - system on a
programmable chip).
Đây là phần mềm đóng gói tích hợp đầy đ phục vụ cho thiết kế logic với các linh kiện
logic khả trình PLD c a Altera, gồm các dòng APEX, Cyclone, FLEX, MAX, Stratix...
Quartus cung cấp các khả năng thiết kế logic sau:
- Môi tr ng thiết kế gồm các bản vẽ, sơ đồ khối, công cụ soạn thảo các ngôn ngữ:
AHDL, VHDL, và Verilog HDL.
- Thiết kế LogicLock.
- Là công cụ mạnh để tổng hợp logic.
- Khả năng mô phỏng ch c năng và th i gian.
- Phân tích th i gian.
- Phân tích logic nhúng với công cụ phân tích SignalTap@ II.
- Cho phép xuất, tạo và kết nối các file nguồn để tạo ra các file ch ơng trình.
- Tự động định vị lỗi.
- Khả năng lập trình và nhận diện linh kiện.
- Phần mềm Quartus II sử dụng bộ tích hợp NativeLink@ với các công cụ thiết kế cung
cấp việc truyền thông tin liền mạch giữa Quartus với các công cụ thiết kế phần c ng EDA
khác.
- Quartus II cũng có thể đọc các file mạch (netlist) EDIF chuẩn, VHDL và Verilog HDL
cũng nh tạo ra các file netlist này.
- Quartus II có môi tr ng thiết kế đồ họa giúp nhà thiết kế dễ dàng viết mã, biên dịch,
soát lỗi, mô phỏng...
Với Quartus có thể kết hợp nhiều kiểu file trong 1 dự án thiết kế phân cấp. Có thể dùng
bộ công cụ tạo sơ đồ khối (Quartus Block Editor) để tạo ra sơ đồ khối mô tả thiết kế
m c cao, sau đó dùng các sơ đồ khối khác, các bản vẽ nh : AHDL Text Design Files
(.tdf), EDIF Input Files (.edf), VHDL Design Files (.vhd), and Verilog HDL Design Files
(.v) để tạo ra thành phần thiết kế m c thấp.
Quartus II cho phép làm việc với nhiều file cùng th i điểm, soạn thảo file thiết kế
trong khi vẫn có thể biên dịch hay chạy mô phỏng các dự án khác. Công cụ biên dịch
Quartus II nằm trung tâm hệ thống, cung cấp quy trình thiết kế mạnh cho phép tùy biến
để đạt đ ợc thiết kế tối u trong dự án. Công cụ định vị lỗi tự động và các bản tin cảnh
báo khiến việc phát hiện và sửa lỗi tr nên đơn giản hơn.
Sau khi cài Quartus II, giao diện nh hình vẽ:

5.2. Thiết kế mạch.


Mạch điện trong Quartus có thể đ ợc thiết kế theo các cách sau:
5.2.1. Sơ đồ khối (Block Diagram).
Trong cách mô tả này, mạch điện tạo nên từ các cổng logic r i rạc, hay các hàm gồm
nhiều cổng logic tích hợp (megafunctions). Để vẽ mạch theo cách này, nhấn New, chọn
tab Device Design Files, chọn Block Diagram/ Schematic File, hiện:
Nhấn chọn Symbol Tool để hiện các cổng logic hay các hàm Megafuntions:

Khi đư chọn xong các cổng logic hay hàm thì dùng các công cụ nối dây để vẽ mạch hoàn
chỉnh.
5.2.2. Các file thiết kế.
Nhấn New, chọn tab Device Design Files, chọn Verilog HDL (hay VHDL hay
AHDL). Với cách này, mạch điện đ ợc mô tả b i các đoạn mã thể hiện các đầu vào đầu
ra c a các khối mạch cũng nh cách xử sự c a chúng. Trong luận án này, lấy ví dụ về thiết
kế mạch đếm 4 bit dùng Verilog HDL file.
Tạo file mới:
Từ giao diện c a Altera Quartus chọn File/New Project Wizard. Hiện:
Nhấn Next/Next để hiện ra bảng Thiết lập linh kiện (Family & Device Settings), chọn
linh kiện FPGA mà ta dùng, rồi nhấn Finish.
Lúc này, ta sẽ có đ ợc Project đầu tiên.

Thêm file Thiết kế vào Project


Nhấn File/New .

Để tạo ra file thiết kế cho Dự án, ta có thể


dùng sơ đồ khối (nhấn Block
Diagram/Schematic File) hay dùng một trong
các ngôn ngữ mô tả phần c ng nh : AHDL,
Verilog HDL hay VHDL hoặc có thể dùng
kiểu EDIF. đây, để chọn dùng ngôn ngữ
Verilog HDL.
- Bộ đếm nhị phân 4 bit:
Một bộ đếm nhị phân 4 bít gồm 2 đầu vào: đầu vào xung đếm (clock), đầu vào xóa bộ
đếm về 0 (clear) và 4 đầu ra nhị phân Q0, Q1, Q2, Q

Đoạn mư dùng Verilog để mô tả bộ đếm trên nh sau:

//4-bit Binary counter

module counter(Q , clock, clear);

// I/O ports

output [3:0] Q;

input clock, clear;

//output defined as register

reg [3:0] Q;

always @( posedge clear or negedge clock)

begin

if (clear)

Q <= 4'd0; //Nonblocking assignments are recommended

//for creating sequential logic such as flipflops

else
Q <= Q + 1;// Modulo 16 is not necessary because Q is a

// 4-bit value and wraps around.

end

endmodule

Dùng bộ soạn thảo sẵn có c a Quartus để đ a đoạn mã này vào file Verilog vừa tạo ra,
rồi Save với tên phù hợp.

Dùng đoạn mã mẫu của Verilog.


Quartus đư tạo sẵn một số đoạn mã Verilog mẫu để hỗ trợ ng i thiết kế. Chọn Edit/Insert
Template/ Verilog HDL. Có khá nhiều khối đ ợc mô tả sẵn bằng Verilog nh : bộ đếm,
ghi dịch, bộ cộng, các khối nhớ RAM, ROM... Đây cũng là cách để ng i dùng có thể học
thêm về ngôn ngữ Verilog.
Biên dịch:
Để biên dịch File nhấn Processing/Start Compilation. Quartus sẽ biên dịch file
dem4bit.v. Sau khi hoàn thành, hiện thông báo. Full Compilation was successful (Biên
dịch thành công). Biên dịch gồm 4 quá trình thành phần:
Phân tích và tổng hợp (Analysis & Synthesis)
Quá trình này sẽ xem xét thiết kế logic để tạo ra cơ s dữ liệu thiết kế, thực hiện tổng
hợp logic và tối u hóa thiết kế.
Fitter(cân đối yêu cầu và tài nguyên)
Quá trình này đ ợc xem nh là đặt vị trí (cổng logic) và định tuyến (giữa chúng) -
Place and Router. Sử dụng cơ s dữ liệu đ ợc tạo ra b i quá trình phân tích và tổng hợp,
công cụ Fitter sẽ cân đối giữa các yêu cầu về th i gian, logic c a Dự án thiết kế với các tài
nguyên khả dụng c a linh kiện. Nó sẽ ấn định mỗi hàm logic đến một đơn vị logic mà tối
u nhất về th i gian truyền và định tuyến cũng nh lựa chọn đ ng nối phù hợp và gán
chân linh kiện.
Assembler. (hợp dịch)
Quá trình hợp dịch dựa vào kết quả c a quá trình Fitter sẽ tạo ra hình ảnh c a thiết kế,
có thể trong các dạng sau: Programmer Object Files (.pof), SRAM Object Files
(.sof), Hexadecimal (Intel-Format) Output Files (.hexout), Tabular Text Files (.ttf),
and Raw Binary Files (.rbf).
Classic Timing Analyzer (Phân tích th i gian).
Phân tích th i gian cho phép xác định xung nhịp, các yêu cầu về th i gian vào/ra (I/O)
nhằm thỏa mãn mục đích định th i. Quá trình này sẽ xác định tính năng tốc độ cho toàn
bộ Dự án, cho từng khối thiết kế và cho việc truyền, nhận c a các nút và chân linh kiện.
5.3. Cách thức mô phỏng hoạt động trong Quartus.
Công cụ Simulator tích hợp sẵn trong Quartus II cho phép mô phỏng hoạt động c a Dự
án (Project). Tr ớc khi mô phỏng cần tạo ra danh sách đường kết nối(netlist) b i việc
nhấn Processing/Generate Functional Simulation Netlist.
Để có thể quan sát đ ợc dạng sóng mô phỏng, cần tạo ra file khác l u trữ dạng sóng, b i
việc chọn File/New/Other Files/Vector Waveform File.
Để thêm các tín hiệu vào/ra cho Vector Waveform File, chọn Edit/ Insert Node or Bus,
nhấn Node Finder.

Hình vẽ. Giao diện Node Finder


Trong danh sách trên, để chọn 2 đầu vào Clear, Clock
và đầu ra Q, nháy đúp vào các tín hiệu đó. Các tín hiệu
này sẽ hiện ra trong danh sách Selected Nodes. Nhấn
OK.
Để án định dạng sóng cho 2 tín hiệu vào là Clock và
Clear, đánh dấu chọn vào dạng sóng, trên thanh
WaveForm Editor chọn Overwrite Clock, hiện :
Time Range chính là khoảng th i gian muốn quan sát
dạng sóng. Chu kỳ c a tín hiệu cho trong Period, độ rộng
xung trong Duty Cycle.
Hình vẽ. Giao diện Waveform File.
Có 2 kiểu mô phỏng trong Quartus là Functional và Timing. Với kiểu Functional, chỉ
để kiểm tra hoạt động thuần túy logic, còn với mô phỏng Timing, kiểm tra hoạt động logic
có tính đến yếu tố th i gian, nh : trễ, quá độ...
Để chạy mô phỏng, chọn Processing/Start Simulation.

You might also like