Professional Documents
Culture Documents
Bai 1 HNG DN S DNG Quartus II
Bai 1 HNG DN S DNG Quartus II
3.2. Cấu trúc một mô hình hệ thống sử dụng ngôn ngữ VHDL..................................................................11
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.
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
- FPGA:
+ Vi mạch FPGA Altera Cyclone II 2C35
+ Vi mạch Altera Serial Configuration device - EPCS16
- 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
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
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.
// I/O ports
output [3:0] Q;
reg [3:0] Q;
begin
if (clear)
else
Q <= Q + 1;// Modulo 16 is not necessary because Q is a
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.