Kiến trúc PAL, PROM
Trang 149 email ktmt@soict.hut.edu.vn
A B C Yêu c ầ u: F = AB = ABC + ABC
PAL thương mại
L ập
L ập
trình
Programable Array Logic (a) Programable ROM (b)
50 email ktmt@soict.hut.edu.vn
Programable Logic Array, cảma trận AND và OR
ñều lập trìnhñược
Ti ết kiệm dung lượng ma trận.
B ịhạn chếbởi sốlượng các cổng AND khi số ñầu vào
c ủ a c ổ ng OR l ớ n h ơ n s ố c ổ ng AND.
Tr ễ truy ề n lan l ớ n h ơ n và m ậ t ñộ tích h ợ p nh ỏ
Generic Array Logic nâng
cấp từPAL, gồm một ma
trận AND lập trìnhñược
(cấu tạo từEEPROM) và
ma trận OR cố ñịnh
Tuy nhiên, các cổng OR
nằm trong các macrocell
ñược nối với flip-flop và các
bộdồn kênhñểcó thểchọn
tín hiệu ra
Tên gọi chung của các thiết
bịnhưPAL, PLA, GAL… là
Programable Logic Device
51 email ktmt@soict.hut.edu.vn
Ví d ụ : Dùng GAL ñ i ề u khi ể n
ñ èn giao thông:
FPGA gồm 3 thành phần chính
Kh ố i logic – Logic Block (LB): ñơ n v ị x ử lý.
Kh ố i Vào ra – IO cell: giao ti ế p v ớ i bên ngoài.
Liên k ế t n ố i – Interconnection: liên k ế t các ñơ n v ị x ử lý.
Thành phần khác
Buffer ClockDll
…
52 email ktmt@soict.hut.edu.vn
Configurable Logic Block
I/O Block Connec
t Connect
Trang 2Cả3 thành phần: khối logic, khối vào ra, liên kết
nối,ñều lập trìnhñược
Lập trình cho khối logic là hànhñộng: “có kết nối
hay không phần tửlogic A với phần tửlogic B?”
Lập trình cho khối vào ra là hànhñộng: “có kết nối
hay khôngñầu ra logic A với chuẩn ngoại vi B?”
Lập trình cho liên kết nối là hànhñộng: “có kết nối
hay không khối logic A với khối logic/vào ra B?”
53 email ktmt@soict.hut.edu.vn
2/3
Với FPGA, lập trình là quá trìnhñịnh tuyến giữa các phần tửlogic, flipflop… ñãñược chếtạo cố
ñịnh sẵn, ñểthực thi một tác vụnàoñó
Một tuyếnñềuñược chếtạo sẵn, vàñính kèm một khóañóng mở Tuyếnñược thiết lập hoặc
hủy, tươngứng với trạng thái khóañóng hay mở
Mỗi trạng thái của khóañóng/mở ứng với một bit
nhớtrạng thái 0/1 tươngứng
Tập hợp các bít nhớtạo thành bộnhớcấu hình cho FPGA
Bảngñịnh tuyếnñược lưu trữtrong bộnhớ
Công cụCAD sẽdịch HDL thành bảngñịnh tuyến
3/3
55 email ktmt@soict.hut.edu.vn
B ộ
B ộ nh nh ớ ớ c c ấ ấ u u hình hình
HDL
• c := a + b;
• if (c == 1) then cf := 1;
RTL
•
BIT file
• 01000100
• 11010101
• 10001001
Phân tích
Ánh x ạ vào FPGA c ụ th ể Tất cảASIC lập trìnhñược, bao gồm FPGA, ñều
chứa các khối logic (cell logic) cơbản giống nhau
tạo thành dải
56 email ktmt@soict.hut.edu.vn
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
Cell I/O Cell
Cell I/O Cell
Cell I/O Cell
Cell I/O Cell
Cell I/O Cell
Cell I/O Cell
I/O Cell I/O Cell I/O Cell I/O Cell I/O Cell I/O Cell
I/O Cell I/O Cell I/O Cell I/O Cell I/O Cell I/O Cell
Có 4 loại khối logic:
Dựa vào bảng tìm kiếm
(LUT – Lookup Table) Xilinx
Dựa vào bộghép kênh
(Multiplexers) Actel
Dựa vào PAL/PLA
Altera
Transistor Pairs
Trang 357 email ktmt@soict.hut.edu.vn
Mux 2x1 có th ể
th ự c hi ệ n ñượ c các hàm bên
S
0
1
MUX
A0
A1
SA
Bi ể u di ễ n
m ứ c transistor
Cấu trúc cell logic ACT 1 (ñơn module)
Cell ACT 1 chỉcó
một module logic
Cell ACT 2, 3 có nhiều module logic hơn và có Flip Flop riêng
Cấu tạo Flip Flop
1/3
Bảng tìm kiếm, LUT,
Look-Up Table, là một SRAM có K ñầu vào với
2Kbit nhớ, thực hiện
ñược mọi hàm logic có
K biến
Thông thường, K = 4
58 email ktmt@soict.hut.edu.vn
G3 FuncFunc G
Gen.
WE G4 G2
0
10 11 12 14
4 6 8
3 1 1 1 1 0 0 0 1
G4 G2
1
RAM 16bit
G3 G4 G2 G1
Tín hiệu ra của một LUT có thểquay trởlại, thành
ñầu vào của chính LUT ñó, hoặc LUT khác
Trong một LB, thường có 3 LUT vàñược gọi là bộ
thực hiện hàm F, G và H
2/3
Các LUT F và G tươngñương vàñộc lập với
nhau, thực thi các hàm 4 biến vàñưa kết quảtính
toán ra ngoài CLB, hoặc nhớvào FF
Nếu phép toán có nhiều hơn 4 biến thì LUT F, G
sẽ ñưa kết quảtới LUT H ñểmởrộng thêm
59 email ktmt@soict.hut.edu.vn
Flip-Flop ñóng vai trò:
• Bit nhớhoặc
• Chốt dữliệu
Hai FF có thểset/reset ñồng
bộ/khôngñồng bộ, tích cực
theo sườn âm/dương…
Cấu trúc cơbản của LB dạng LUT
3/3
60 email ktmt@soict.hut.edu.vn
Kh ố i logic l ậ p trình ñượ c, CLB, c ủ a XC4000 E/X
Sốliệuñưa vào LB có thể ñược xửlý bởi các hàm
4 ñầu vào, có thể ñược chốtở thanh ghi, có thể ñược chọn kênh, hoặc bởi cả3 thao tác trên
Trang 461 email ktmt@soict.hut.edu.vn
Cònñược gọi là CrossPoint FPGA
Sốlượng cổng ít, ~ 4000
62 email ktmt@soict.hut.edu.vn
FPGA kếthừa nhiều ý tưởng thiết kếcủa các sản
phẩm trướcsựquen thuộc trong kiến trúc
Nhưng sốchức năng, mứcñộtích hợp, khảnăng
tính toán của từngñơn vịxửlý trong FPGA có
khác nhau, gồm Coarse /kɔ:s/ , và Fine
Coarse-grained: Đơn vịxửlý là một tập hợp của
các PLD, các khối cấu hìnhñược CLB, thực thi
ñược hàm phức tạp, có yêu cầu tính toán lớn Ví
dụ: Actel Mux, Xilinx LUT
Fine-grained: Đơn vịxửlý chỉgồm các khối cấu
hìnhñược CLB nhỏ, thực thi các hàm logic ñơn
giản Ví dụTransistor Pairs
63
LB
LB
LB LB
Ma tr ậ n ñố i x ứ ng
Symmetrical Array
LB
LB
LB
LB LB
LB
LB LB LB LB LB
C ấ u trúc dòng
Row-based
PLD
PLD PLD
PLD PLD
PLD PLD
PLD phân c ấ p
Hierarchical (CPLD)
Trang 5Liên kết nối dài, tín hiệu clk liên thông toàn bộdải
Liên kết nối trực tiếp giữa 2 khối LB
Liên kết nốiña năng gồm nhiều kết nối và các
chuyển mạch
65 email ktmt@soict.hut.edu.vn
LB
SM
LB
SM
Kết nốiña năng Kết nối dài Kết nối trực tiếp
chuyển mạch
2/3
66 email ktmt@soict.hut.edu.vn
Kết nối dài
Kết nối trực tiếp Kết nốiña năng
3/3
Phần lớn các kết nối tạo thành các lưới kết nối
theo hàng và theo cột
Giao cắt giữa các kết nối theo hàng và theo cột sẽ
tập trung cácñiểm cần lập trình kết nối, tạo thành
ma trận chuyển mạch (Switching Matrix), nằm
phân tán trong FPGA
67 email ktmt@soict.hut.edu.vn
SM
68 email ktmt@soict.hut.edu.vn
LB LB
Kết nối dài
Trang 669 email ktmt@soict.hut.edu.vn
Cyclone
low end
Arria
middle end
Stratix
high end
Virtex
high end
Arrix
middle end
Spartan
low end
70 email ktmt@soict.hut.edu.vn
Xilinx 36%
Altera 31%
Actel 10%
Vantis 7%
Lattice 6%
Lucent 6%
QuickLogic 2% Cypress 2%
Ngôn ngữHDL phù hợp
Bộcông cụCAD, EDA phù hợp
Ước lượngñược sốlượng các CLB cần thiết
Dựkiến sốlượng các chân I/O cần thiết
Điện áp hoạtñộng Các FPGA mới sửdụng mức
ñiện áp thấp LVTTL, LVCMOS, ñòi hỏi phải
chuyểnñổiñiện ápñểtương thích vớiñiện áp
TTL, cung cấp một hoặc nhiều vùng sửdụngñồng
thờiña mứcñiện áp
TốcñộFPGA
Khảnăng tài chính
71
Xem Flow của Aldec-Active
Trang 7Copyright (c) 10/2006 by NPB 73
1/4
Thi ế t k ế h ệ th ố ng
(System Design)
Tích h ợ p vào ra
(I/O integration)
Đặc tảthiết kế
(Design Specification)
T ổ ng h ợ p (Synthesis)
Ki ể m tra thi ế t k ế
(Design Verification)
2/4
Bước 1 - Thiết kếhệthống
Ph ầ n ch ứ c n ă ng th ự c hi ệ n trên FPGA
Ph ầ n ch ứ c n ă ng này tích h ợ p (k ế t h ợ p) v ớ i ph ầ n còn
l ạ i c ủ a h ệ th ố ng nh ư th ế nào
Bước 2 - Tích hợp vào ra với phần còn lại của hệ
thống
3/4
B ướ c 3 - Đặ c t ả thi ế t k ế
Mô tảchức năng của thiết kếbằng:
Các trình so ạ n s ơ ñồ logic
Các ngôn ng ữ ñặ c t ả ph ầ n c ứ ng
Kết hợp mô phỏng
B ướ c 4 - T ổ ng h ợ p logic
Giống bước Tổng hợp logic trong quy trìnhñầy
ñủ
Kết hợp tốiưu:
tr ễ
n ă ng l ượ ng hao phí
4/4
B ướ c 5 - Ki ể m tra thi ế t k ế
Thực hiện các mô phỏng, phân tích cuối cùng (RTL, thời gian…)
Xác ñịnh các thông số của ASIC ñã thiết kế
(tần số xung nhịp…)
N ạ p chip và ch ạ y th ử trên h ệ th ố ng!
Trang 877 email ktmt@soict.hut.edu.vn
Spactan II 200
Spactan II 300
PCI 32bits
RS232
Userguide.pdf
2/3
78 email ktmt@soict.hut.edu.vn
ProASIC3 Evaluation Board
1/2
IDE của nhà sản xuất FPGA
Chỉcó nhà sản xuất mới thấu hiểu nguyên tắc
hoạtñộng của FPGA của họ
chỉcó các IDE của nhà sản xuất mới routing,
timing, cấu hìnhñược cho FPGA
EDA của bên thứ3 chỉxửlý mức logic, rồi gọi IDE
của nhà sản xuấtñể ñảm nhiệm mức vật lý
79 email ktmt@soict.hut.edu.vn
2/2
Một sốgói chương trình của bên thứ3:
Leonardo Spectrum, CT t ổ ng h ợ p c ủ a Mentor Graphics
Synplify, CT t ổng hợp của Synplicity
ModelSim , CT mô ph ỏng của Mentor Graphics.
Active-HDL, CT thi ết kếvà mô phỏng của Aldec Active
80 email ktmt@soict.hut.edu.vn