Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

FPGA teknologier INF3430 - H13.

Liknende presentasjoner


Presentasjon om: "FPGA teknologier INF3430 - H13."— Utskrift av presentasjonen:

1 FPGA teknologier INF H13

2 Fusable link (sikringer)
INF H13 INF 3430

3 Antifuse Prinsipp: Fordeler Ulemper
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) Kortslutninger er det motsatte av en sikring og derfor ordet anti-fuse (anti-sikring). Imp. blir lav fordi anti-fuse brukes istedenfor transistorer til lagring. INF H13 INF 3430

4 Antifuse INF H13 INF 3430

5 Antifuse INF H13 INF 3430

6 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: Tilsvarende SRAM kretsfamiliene Cyclon og Stratix finnes fra hovedkonkurrenten Altera ( Uendelig antall reprogrammeringer er gunstig for prototyping Endre funksjonalitet: Dynamisk rekonfig. Prosess = CMOS Permanent minne er nå ofte flash-minne. Lagring av konfig i eksternt minne gjør det også lettere for andre å få tak i og stjele et design slik at designet kan klones. Det er nå måter å kryptere konfigurasjonen på som begrenser muligheten til å gjenbruke en stjålet konfigurasjon. INF H13 INF 3430

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. INF 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. INF H13

9 Realiseringer av funksjonen y= (a AND b) OR c i halvgrovkornet blokk
LUT-basert MUX-basert Få FPGA produsenter anvender MUX-løsningen i dag til å realiser logikk (men brukes til ruting). INF H13 INF 3430

10 Typisk LUT realiering 1 INF3430 - H13
Enablede transmisjonsporter sender inngangssignal til utgangen, ellers er utgang elektrisk frakoblet fra utgangsledningen. Boble ndikerer invertering og at porter aktiveres med en 0 påtrykt. På denne måten ledes innholdet av en SRAM celle til utgangen y. Det er nå enighet om at optimalt antall innganger for en LUT er 4. 1 INF H13 INF 3430

11 En LUT kan være så mye INF3430 - H13
Xilinx Virtex5 FPGA har 6-input LUT’er. INF H13 INF 3430

12 FPGA LUTs LUT in Shift Register Mode Normal FPGA LUT F A B C
Address Data Clock F A B C (Shift Register Length) LUT in Shift Register Mode Normal FPGA LUT A B Address C F(A,B,C) Data Clock Let’s now look at how a typical Look-Up Table or LUT is implemented in an FPGA. All combinational logic is normally implemented in look-up tables. Each of them has four inputs (three in this example) and one output and is implemented as a 16 x 1 RAM. Left… The addressed location is output on F. On the Virtex device the LUTs can be configured as a shift register as we see on the righthand side. Then, the address lines are used for defining the length of the shift register. The content of the rightmost bit cell is now output on F. Our idea is then to have this output bit controlling some other logic inside the FPGA. By shifting, we are able to do context switching. One LUT can only control one bit – so we need quite many LUT’s to design any useful system. INF H13 INF 3430

13 Xilinx benevnelser Logic Cell INF 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! Ut over det å bestå av logikk består dagens moderne FPGAer av en rekke andre enheter. Mentekjeder er viktig for å få høy ytelse i addere og tellere. INF H13 INF 3430

15 RAM blokker (block RAM)
INF H13

16 Funksjonsblokker FPGA’er nærmer seg ASIC’er. INF H13 INF 3430

17 Multipliser-og-akkumuler (MAC)
Gi et eksempel med matrismultiplikasjon INF H13 INF 3430

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. Gi et eksempel med matrismultiplikasjon INF H13 INF 3430

19 Prosessorkjerner Hva er det? Hvorfor? Hvilke typer finnes?
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. Mye kan sier her: Soft core bedre enn hard core (overhead, obsolescence, …) Prosessorkjerne blir ofte for svak, må ha en ekstern likevel. INF H13 INF 3430

20 Klokketre og klokkestyring
Skal sikre at registere får klokkeflanke mest mulig samtidig (setup/hold time) Klokkestyring: En enhet genererer “datter”–klokkesignal: INF H13


Laste ned ppt "FPGA teknologier INF3430 - H13."

Liknende presentasjoner


Annonser fra Google