1. 9/5/2011
Programable
Array Logic (a)
Programable
ROM (b)
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 .
PAL thương m i
L p
trình
A
B
C
Yêu c u: F = AB = ABC + ABC
email ktmt@soict.hut.edu.vn
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
email ktmt@soict.hut.edu.vn
49
email ktmt@soict.hut.edu.vn
50
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ý.
Configurable
Logic Block
Thành ph n khác
Buffer
ClockDll
…
Ví d : Dùng GAL ñi u khi n
ñèn giao thông:
51
email ktmt@soict.hut.edu.vn
I/O Block
Connect
Connec
t
52
1
2. 9/5/2011
1/3
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.
C 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?”
email ktmt@soict.hut.edu.vn
53
LB
3/3
Phân tích
Ánh x vào
FPGA c th
HDL
RTL
BIT file
• c := a + b;
• if (c == 1) then cf := 1;
•
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.
• 01000100
• 11010101
• 10001001
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
B nh c u hình
email ktmt@soict.hut.edu.vn
55
email ktmt@soict.hut.edu.vn
I/O Cell I/O Cell I/O Cell
I/O
Cell
LB
LB
LB
I/O
Cell
I/O
Cell
LB
LB
LB
I/O
Cell
I/O
Cell
LB
LB
LB
I/O
Cell
I/O Cell I/O Cell I/O Cell
56
2
3. 9/5/2011
1/3
A0
0 MUX
A1
1
S
Mux 2x1 có th
th c hi n ñư c
các hàm bên
B ng tìm ki m, LUT,
Look-Up Table, là m t
SRAM có K ñ u vào v i
2K bit nh , th c hi n
ñư c m i hàm logic có
K bi n.
Thông thư ng, K = 4.
Bi u di n
m c
transistor
SA
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
email ktmt@soict.hut.edu.vn
RAM 16bit
G4
G3
G2
G1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
0
0
1
1
1
1
1
0
0
1
0
0
0
0
1
WE
G4
G3
G2
G1
G
Func.
Func.
Gen.
1
G4
G3
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.
57
email ktmt@soict.hut.edu.vn
58
2/3
3/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.
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.
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…
Kh i logic l p trình
ñư c, CLB, c a
XC4000 E/X
C u trúc cơ b n c a LB d ng LUT
email ktmt@soict.hut.edu.vn
59
email ktmt@soict.hut.edu.vn
60
3
4. 9/5/2011
LE(LB) c a Altera Cyclone II
Còn ñư c g i là CrossPoint FPGA.
S lư ng c ng ít, ~ 4000
email ktmt@soict.hut.edu.vn
61
email ktmt@soict.hut.edu.vn
62
LB
email ktmt@soict.hut.edu.vn
LB
LB
LB
LB
Ma tr n ñ i x ng
Symmetrical Array
LB
LB
FPGA k th a nhi u ý tư ng thi t k c a các s n
ph m trư c
s 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.
LB
LB
LB
Sea-of-Gates
LB
LB
LB
LB
C u trúc dòng
Row-based
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
63
email ktmt@soict.hut.edu.vn
PLD
PLD
PLD phân c p
Hierarchical
(CPLD)
PLD
PLD
PLD
PLD
PLD
PLD
64
4
5. 9/5/2011
2/3
1/3
K t n i ña năng
K t n i dài
LB
SM
LB
SM
Liên k t n
Liên k t n
Liên k t n
chuy n m
K t n i dài
K t n i tr c ti p
SM
Ma tr n
chuy n m ch
K t n i ña năng
K t n i tr c ti p
i dài, tín hi u clk liên thông toàn b d i.
i tr c ti p gi a 2 kh i LB.
i ña năng g m nhi u k t n i và các
ch.
email ktmt@soict.hut.edu.vn
65
email ktmt@soict.hut.edu.vn
66
3/3
K t n i dài
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.
LB
LB
LB
LB
LB
LB
SM
email ktmt@soict.hut.edu.vn
67
email ktmt@soict.hut.edu.vn
68
5
6. 9/5/2011
Spartan
low end
Arrix
middle end
QuickLogic
Cypress
Lucent 2%
2%
Lattice 6%
6%
Virtex
high end
Vantis
7%
Xilinx
36%
Actel
10%
Cyclone
low end
Arria
middle end
Altera
31%
Stratix
high end
email ktmt@soict.hut.edu.vn
69
email ktmt@soict.hut.edu.vn
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.
email ktmt@soict.hut.edu.vn
70
Xem Flow c a
Aldec-Active
71
email ktmt@soict.hut.edu.vn
72
6
7. 9/5/2011
1/4
2/4
Thi t k h th ng
(System Design)
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
Tích h p vào ra
(I/O integration)
Đ c t thi t k
(Design Specification)
Bư c 2 - Tích h p vào ra v i ph n còn l i c a h
th ng
T ng h p
(Synthesis)
Ki m tra thi t k
(Design Verification)
73
Copyright (c) 10/2006 by NPB
74
Copyright (c) 10/2006 by NPB
3/4
4/4
Bư c 3 - Đ c t thi t k
Bư c 5 - Ki m tra thi t k
Mô t ch c năng c a thi t k b ng:
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…)
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í
Copyright (c) 10/2006 by NPB
N p chip và ch y th trên h th ng!
75
Copyright (c) 10/2006 by NPB
76
7
8. 9/5/2011
1/3
Spactan II 200
2/3
ProASIC3 Evaluation Board
Userguide.pdf
Spactan II 300
PCI 32bits
RS232
email ktmt@soict.hut.edu.vn
77
email ktmt@soict.hut.edu.vn
1/2
2/2
IDE c a nhà s n xu t FPGA.
Atera
Xilinx
78
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
Actel
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ý.
email ktmt@soict.hut.edu.vn
79
email ktmt@soict.hut.edu.vn
80
8