Documente Academic
Documente Profesional
Documente Cultură
– Xilinx http://www.xilinx.com
– Altera http://www.altera.com (Intel FPGA)
– Actel http://www.actel.com
– Latice http://www.latticesemi.com/
– QuickLogic http://www.quicklogic.com/
Altera
XILINX FPGA
Familiile Xilinx FPGA
Performanță ridicată Cost scăzut
Virtex (1998) Spartan-II (2000)
50K-1M kapu, 0.22µm
15K-200K kapu, 0.22µm
Virtex-E/EM (1999)
50K-4M kapu, 0.18µm
Spartan-IIE (2001)
50K-600K kapu, 0.18µm
Virtex-II (1999)
40K-8M kapu, 0.15µm • Spartan-3 (2003)
50K-5M kapu, 90nm
Virtex-II Pro/X (2002)
50K-10M kapu, 0.13µm Spartan-3E (2005)
Virtex-4 (2004) [LX, FX, SX] 100K-1.6M kapu, 90nm
50K-10M kapu, 90nm Spartan-3AN (2006)
Virtex-5 (2006) [LX, LXT, SXT] 50K-1.4M kapu, 90nm
65nm
Spartan-3A - DSP (2006)
Virtex-5 FXT, TXT (2008)
1.8M-3.4M kapu, 90nm
65nm
Virtex-6 LXT, SXT (2009)
Spartan-6 LX, LXT (2009)
40nm
…
45nm
a.) SRAM
b.) MUX
c.) Antifuse – cristal amorf de Si polarizat la
20-30V se cristalizează și devine conductor
(OTP). Texas Instruments, Actel, QuickLogic
d.) Floating Gate
e.) EPROM/EEPROM/Flash
XILINX Spartan FPGA
Familia de circuite FPGA Spartan-3
1
SLICE
1 CLB = 4 slice (Spartan-3E) = 2-2 SLICEM-SLICEL
L
U Carry
T 4 FF OUT
+ FF
LUT
I MUX
N
MUX IN
Carry IN
Blocurile de multiplicare dedicate
Evită consumul de LUT-uri pentru implementarea înmulțirilor și cresc performanțele
Data_A
(18 bits)
4 x 4 cu semn
8 x 8 cu semn
18 x 18 Output
Multiplier (36 bits) 12 x 12 cu semn
18 x 18 cu semn
Data_B
(18 bits)
Blocurile IOB
Conectează circuitele din FPGA la componentele externe
• Calea de intrare IOB
– Doi regiștrii DDR Input
Reg DDR MUX
• Calea de ieșire OCK1
Reg
– Doi regiștrii DDR ICK1
CLB
Memory Controller
I/O
CMT MGT
BUFG
BUFIO PCIe Endpoint
Block RAM
DSP48
Spartan-6 Cel mai mic consum
de putere total
• Tehnologie 45 nm
• Consum de putere redus în regim static
• Consum de putere redus în regim dinamic
• Lower IO power
• Două familii: LX și LXT
Basic Architecture 26
Spartan-6 LX / LXT FPGAs
** All memory controller support x16 interface, except in CS225 package where x8 only is supported
CLB-urile din FPGA Spartan-6
• CLB-urile conțin 2 Slice-uri
• Conectate la matricea de
comutare (switch matrix)
pentru conectare la
celelalte resurse ale FPGA
• Lanțul de transport (Carry
chain) conectat vertical
numai prin Slice0
Trei tipuri de slice-uri în
FPGA-urile Spartan-6
• SLICEM: Slice complet
– LUT poate fi utilizat atât pentru logică cât și ca SLICEX
memorie/SRL
– Are o varietate mare de multiplexoare și carry chain SLICEM
• SLICEL: Numai pentru operații logice și
aritmetice
or
– LUT poate fi utilizat pentru logică (nu și pentru
memorie)
– Varietate mare de multiplexoare și carry chain SLICEX
• SLICEX: Numai logică
– LUT poate fi utilizat pentru logică (nu și pentru SLICEL
memorie)
– Fără varietate mare de multiplexoare și carry chain
Slice-urile logice Spartan-6
SliceM (25%) SliceL (25%) SliceX (50%)
Virtex-6
40-nm
Virtex-5
65-nm
Virtex-
4 90-nm
Virtex-II Pro
130-nm
Virtex-II
150-nm
Virtex-E
180-nm
Virtex
220-nm
1st Generation 2nd Generation 3rd Generation 4th 5th Generation 6th Generation
Generation
Basic Architecture 32
Sub familiile Virtex-7
• Familia Virtex-7 are mai multe sub-familii
– Virtex-7: Logică generală
– Virtex-7XT: Multe blocuri DSP și bloc RAM
– Virtex-7HT: Cea mai mare lățime de bandă pentru transmisia serială
Virtex-7 FPGA Virtex-7 XT FPGA Virtex-7 HT FPGA
Logic
Block RAM
DSP
Parallel I/O
Serial I/O
34