fpga teknologier
DESCRIPTION
FPGA teknologier. Fusable link (sikringer). Antifuse. Prinsipp: Konfigurasjon lagres i FPGA ved at det lages kortslutninger ved bruk av høy spenning. Fordeler Lav impedans når sikring er ’on’ (liten forsinkelse) Lavt strømforbruk Kompakt teknologi (tar lite plass) - PowerPoint PPT PresentationTRANSCRIPT
INF3430 - H13 1
FPGA teknologier
State-of-the-art
Feature
Technology node
SRAM AntifuseE2PROM /
FLASH
One or moregenerations behind
One or moregenerations behind
FastReprogramming
speed (inc.erasing)
----3x slower
than SRAM
YesVolatile (must
be programmedon power-up)
NoNo
(but can be if required)
MediumPower
consumptionLow Medium
Acceptable(especially when usingbitstream encryption)
IP Security Very Good Very Good
Large(six transistors)
Size ofconfiguration cell
Very smallMedium-small
(two transistors)
NoRad Hard Yes Not really
NoInstant-on Yes Yes
YesRequires externalconfiguration file
No No
Yes(very good)
Good forprototyping
NoYes
(reasonable)
Yes(in system)
Reprogrammable NoYes (in-system
or offline)
INF3430 - H13 2
Fusable link (sikringer)
a
Fat
Logic 1
y = 0 (N/A)&
Faf
b
Fbt
Fbf
Pull-up resistors
NOT
NOT
AND
Fuses
a
Fat
Logic 1
y = a & !b&
b
Fbf
Pull-up resistors
NOT
NOT
AND
INF3430 - H13 3
Antifuse• Prinsipp:
– Konfigurasjon lagres i FPGA ved at det lages kortslutninger ved bruk av høy spenning.
• Fordeler– Lav impedans når sikring er ’on’ (liten forsinkelse)– Lavt strømforbruk– Kompakt teknologi (tar lite plass)– Ekstra pålitelig teknologi (relativt strålingsimmune)
• Ulemper– Må programmeres i en egen programmeringsenhet– Høy programmeringsspenning og -strøm– Permanent programmering (kan kun programmeres en
gang)
INF3430 - H13 4
Antifuse
a
Logic 1
y = 1 (N/A)&
b
Pull-up resistors
Unprogrammedantifuses
NOT
NOT
AND
a
Logic 1
y = !a & b&
b
Pull-up resistors
Programmedantifuses
NOT
NOT
AND
INF3430 - H13 5
Antifuse
a
Logic 1
y = !a & b&
b
Pull-up resistors
Programmedantifuses
NOT
NOT
AND
(a) Before programming
Substrate
Metal
Oxide
Metal
Amorphous silicon column
(b) After programming
Polysilicon via
INF3430 - H136
SRAM basert FPGA• Prinsipp:
– SRAM-minne inne i FPGA lagrer kretsens konfigurasjon• Fordeler
– Kan reprogrammeres uendelig mange ganger– Plass til mye logikk– Kan lett endre funksjonaliteten til systemet– Trenger ikke spesiell prosess
• Ulemper– Plassoverhead (SRAM-celle med 5 transistorer)– Flyktig minne (må lagre konfigurasjonen i eksternt
permanent minne; flash)– Relativt høyt effektforbruk
• Vi bruker FPGA fra Xilinx i kurset som har kretsfamilien Spartan. I siste generasjon utgår Spartan og Xilinx har heretter familiene Artix, Kintex og Virtex. I tillegg finnes Extensible Processing Platform ZYNQ familien som er et ARM prosessor system med FPGA i tillegg på en chip (se: www.xilinx.com).
• Tilsvarende SRAM kretsfamiliene Cyclon og Stratix finnes fra hovedkonkurrenten Altera (www.altera.com).
INF3430 - H13 7
Kompleksitet til logikk blokk i FPGA
• Finkornet:– Blokkene kan brukes fullt ut i design,
men krever store ruting-ressurser.
• Grovkornet:– En blokk kan implementere en
nærmest hvilken som helst funksjon (oppslagstabell), men en får ofte ikke utnyttet ressursene fullt ut.
Programmableinterconnect
Programmablelogic blocks
INF3430 - H13 8
Grovkornet blokk• Kompleksiteten til en grovkornet blokk
er økende med teknologiutviklingen.• Eksempel på tradisjonell grovkornet
blokk:– 4 stk 4 input LUT for kombinatorikk– 4 MUX’er– 4 D-vipper– Hurtig mentelogikk for aritmetikk (+ og -)
• Dette kalles nå en halvgrovkornet blokk.
INF3430 - H13 9
Realiseringer av funksjonen y= (a AND b)
OR c i halvgrovkornet blokk
&|
a
b
cy
AND
OR
y = (a & b) | c
0
1
0
1
0
1
MUX
MUX
MUX
0
b
a
1
x
0
y
0
1
MUX0
1
c
Required function Truth table
a b c y
00001111
00110011
01010101
01010111
y = (a & b) | c
&
|
a
b
cy
AND
OR
MUX-basert
LUT-basert
INF3430 - H13 10
Typisk LUT realiering
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
abc
ySRAMcells
Transmission gate(active low)
Transmission gate(active high)
0 0 1
INF3430 - H13 11
En LUT kan være så mye
16-bit SR
16 x 1 RAM
4-input LUT
INF3430 - H13 12
FPGA LUTs
01101010
Addre
ssD
ataC
lock
F(A,B,C)
ABC
Normal FPGA LUT
Address
Data
Clo
ckF
A B C
0 1 1 0 1 0 1 0
(Shift Register Length)
LUT in Shift Register Mode
INF3430 - H13 13
Xilinx benevnelser
CLB CLB
CLB CLB
Logic cell
Slice
Logic cell
Logic cell
Slice
Logic cell
Logic cell
Slice
Logic cell
Logic cell
Slice
Logic cell
Configurable logic block (CLB)
16-bit SR
flip-flop
clock
muxy
qe
abcd
16x1 RAM
4-inputLUT
clock enable
set/reset
Logic Cell
INF3430 - H13 14
Tilleggsegenskaper for moderne FPGAer
• Klokketre og klokkestyring• Hurtige mentekjeder for aritmetikk (+ og -)• RAM blokker (i tillegg til LUT brukt som RAM vanligvis
omtalt som distribuert RAM)• Funksjonsblokker (multiplikatorer, DSP
grunnfunksjoner som Mult & Accumulate, Ethernet Tri-Mode MAC, PCI-Express)
• Prosessorkjerner (ARM og leverandørens prosessorer)• Høyhastighets serielle inn/ut moduler
• Dette er i tillegg til LUT’er og registere og alt sammen bør utnyttes best mulig!
INF3430 - H13 15
RAM blokker (block RAM)Columns of embedded
RAM blocks
Arrays ofprogrammable
logic blocks
INF3430 - H13 16
FunksjonsblokkerRAM blocks
Multipliers
Logic blocks
INF3430 - H13 17
Multipliser-og-akkumuler (MAC)
x
+
x
+
A[n:0]
B[n:0] Y[(2n - 1):0]
Multiplier
Adder
Accumulator
MAC
INF3430 - H13 18
Xilinx Virtex5 DSP48E Slice
• The 550 MHz DSP48E slices available in all Virtex™-5 devices accelerate algorithms and enable higher levels of DSP integration and lower power consumption than previous-generation Virtex devices.
• Efficiently add powerful FPGA-based DSP functionality to your system with: – Support for over 40 dynamically controlled operating modes
including; multiplier, multiplier-accumulator, multiplier-adder/subtractor, three input adder, barrel shifter, wide bus multiplexers, wide counters, and comparators.
– Efficient adder-chain architectures for implementing high-performance filters and complex math efficiently.
– Low power requirements: each DSP48E slice draws only 1.38 mW/100 MHz, at a toggle rate of 38%, a 40% reduction from previous-generation slices.
INF3430 - H13 19
Prosessorkjerner• Hva er det?
– Prosessorer som inngår i selve FPGAen• Hvorfor?
– De fleste design trenger en prosessor og en kan slippe å ha en ekstern prosessor.
• Hvilke typer finnes?– Myke kjerner
• Programmerbar logikk i FPGA brukes til å realisere en prosessor på FPGA sammen med annen funksjonalitet.
– Harde kjerner• Prosessor er implementert fysisk i FPGA ved
produksjon av kretsen. • I Xilinx sin ZYNQ familie er det ARM prosessorer.
INF3430 - H13 20
Klokketre og klokkestyring
• Klokketre: – Skal sikre at registere får
klokkeflanke mest mulig samtidig (setup/hold time)
• Klokkestyring:– En enhet genererer “datter”–
klokkesignal:Clock signal fromoutside world
Special clockpin and pad
Daughter clocksused to drive
internal clock treesor output pins
ClockManager
etc.