210 likes | 437 Views
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)
E N D
FPGA teknologier INF3430 - H13
Fusable link (sikringer) INF3430 - H13
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
Antifuse INF3430 - H13
Antifuse INF3430 - H13
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
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. INF3430 - H13
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
Realiseringer av funksjonen y= (a AND b) OR c i halvgrovkornet blokk LUT-basert MUX-basert INF3430 - H13
0 0 1 Typisk LUT realiering INF3430 - H13
En LUT kan være så mye INF3430 - H13
LUT in Shift Register Mode Data 0 1 1 0 1 0 1 0 F Clock Address A C B (Shift Register Length) FPGA LUTs Normal FPGA LUT A 01101010 B Address C F(A,B,C) Data Clock INF3430 - H13
Logic Cell Xilinx benevnelser INF3430 - H13
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
RAM blokker (block RAM) INF3430 - H13
Funksjonsblokker INF3430 - H13
Multipliser-og-akkumuler (MAC) INF3430 - H13
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
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
Klokketre og klokkestyring • Klokketre: • Skal sikre at registere får klokkeflanke mest mulig samtidig (setup/hold time) • Klokkestyring: • En enhet genererer “datter”–klokkesignal: INF3430 - H13