1 / 38

FPGA architektūra

FPGA architektūra. Programuojamos mikrosistemos. Programuojami loginiai įrenginiai. PLD - Programable Logic Device. Programuojamos loginės matricos (PLM) Programmable Logic Array (PLA) Programuojama matricinė logika (PML) Programmable Array Logic (PAL). Programuojami loginiai įrenginiai.

ananda
Télécharger la présentation

FPGA architektūra

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FPGA architektūra Programuojamos mikrosistemos

  2. Programuojami loginiai įrenginiai • PLD - Programable Logic Device • Programuojamos loginės matricos (PLM) • Programmable Logic Array (PLA) • Programuojama matricinė logika (PML) • Programmable Array Logic (PAL)

  3. Programuojami loginiai įrenginiai • Ventilių matricos (VM) • Gate Array Logic (GAL)

  4. Programuojami loginiai įrenginiai • CPLD - Complex Programmable Logic Device Sudarytas iš keleto PLD tarpusavyje sujungtų programuojamais sujungimais (programuojamomis jungtimis) • FPGA - Field Programmable Gate Arrays Lauku programuojami ventilių masyvai

  5. CPLD

  6. CPLD

  7. Block RAMs Block RAMs FPGA Konfiguruojami Loginiai Blokai I/O Blokai RAM Blokai

  8. Gamintojai • Pagrindiniai gamintojai: • Xilinx: Spartan, Virtex • Altera: Cyclone, Arria, Stratix • Lattice Seconducterr • Actel • Atmel • ...

  9. Gamintojai

  10. FPGA struktūra • Programuojami sujungimai • Konfiguruojami loginiai blokai (CLB) • Komutacinė matrica • Loginės celės (slice) • SLICEM • LUT • Memory • SR16 • SLISEL • LUT • I/O blokai (I/O Blocks) • Atminties blokai (RAM Blocks) • Daugintuvų blokai (Multipiers) • Sinchro valdiklio blokas (DCM) • Kita • DSP blokai

  11. FPGA struktūra

  12. FPGA. Programuojami sujungimai

  13. FPGA. Programuojami sujungimai

  14. FPGA. I/O Blocks I/O blokai IOB • Jungia vidinius loginius grandynus su “išoriniu pasauliu”; • Duomenys gali būti siunčiami viena ar/ir dvejomis kryptimis ; • Gali būti įjungiama aukšto impedanso būsena; • Įėjimo siganali gai būti vėlinami; • Palaikomi įvairus duomenų perdavimo standartai.

  15. FPGA. I/O Blocks I/O blokai IOB • Jungia vidinius loginius grandynus su “išoriniu pasauliu”; • Duomenys gali būti siunčiami viana ar/ir dvejomis kryptimis ; • Gali būti įjungiama aukšto impedanso būsena; • Įėjimo siganali gai būti vėlinami; • Palaikomi įvairus duomenų perdavimo standartai.

  16. FPGA. I/O Blocks I/O blokai IOB Q D Three-State EC FF Enable Three-StateControl Clock SR Set/Reset Q D Output EC FF Enable Output Path SR Direct Input FF Enable Input Path Q D Registered Input EC SR

  17. FPGA. RAM Blocks RAM blokai BRAM (Block RAM) • Matricoje gali būti iki kelių dešimčių atminties blokų (Spartan 3E yra 20 RAM blokų); • Kiekvienas atminties bloko talpa gali saugoti iki 18 kBitų duomenų (Spartan 3E);

  18. FPGA. Multiplier Daugintuvų blokai Multiplier • Išdėstyti šalia RAM blokų; • Gali sudauginti du 18 bitų skaičius;

  19. FPGA. Multiplier Daugintuvų blokai Multiplier • Išdėstyti šalia RAM blokų; • Gali sudauginti du 18 bitų skaičius; 18 x 18 Multiplier Data_A (18 bits) Output (36 bits) Data_B (18 bits)

  20. FPGA. DCM Taktinių impulsų valdiklis DCM (Digital Clock Manager) • TIV sudedmosios dalys: • Fiksuoto vėlinimo grandynai(DLL - Delay-Locked Loop) • Skaitmeniniai dažnio sintezatoriai(DFS - Digital Frequency Synthesizer) • Skaitmeninai fazės sukikliai(DPS - Digital Phase Shifter) • Fiksuotos fazės grandynai(PLL - Phase-Locked Loop)

  21. FPGA. DCM Taktinių impulsų valdiklis DCM (Digital Clock Manager) • Atliekamos funkcijos: • - generuoja reikiamo dažnio ir fazės taktinius impulsus. Atraminiu gali būti naudojamas išorinių generatorių arba kitų DCM signalus; • - naudojami sveikų skaičių daugikliai/ dalikliai ( Pvz., 1.8x -> 9/5); • - fazės sukimas; • - frontų virpėjimų mažinimas.

  22. FPGA. DCM Taktinių impulsų valdiklis DCM (Digital Clock Manager) Xilinx Spartan 3

  23. FPGA. DSP DSP blokai Greiti aritmetinai blokai (daugintuvai ir sumatoriai, registrai , multipleksoriai)

  24. FPGA. DSP DSP blokai Greiti aritmetinai blokai (daugintuvai ir sumatoriai, registrai , multipleksoriai)

  25. FPGA. Loginiai blokai Loginės funkcijos realizuojamos loginiuose blokuose (Altera-LC, Xilinx – CLB). Dažniausiai naudijami 2, 3 ar 4 įėjimų (bitų) loginiai blokai, kurie gali būti realizuoti teisingumo lentelių (LUT) arba multipleksorių (MUX) pagrindu. Sudėtingos funkcijos realizuojamos skaidant jas į mažesnes ir apjungiant programuojamais sujungimais.

  26. FPGA. Loginių funkcijų realizavimas • Funkcija y=(a&b)|c gali būti realizuota dviem būdais: • Multipleksorių pagalba Naudojant peržiūros lentelę (LUT)

  27. FPGA. Loginių funkcijų realizavimas • MUX – loginės funkcijos realizuojamos optimaliau, tačiau jų yra didelis vėlinimas, perduodant srautinius duomenis. • LUT – RAM tipo atmintis, kurios vėlinimas neprikauso nuo realizuojamos funkcijos. Greitesnė nei MUX.

  28. CLB Slice MUXF6 MUXF5 Slice MUXF5 LUT LUT LUT LUT FPGA. Loginių funkcijų realizavimas • Galimos mišrios LUT-MUX realizacijos funkcijų iėjimo skaičiaus padidinimui

  29. FPGA. Loginių funkcijų realizavimas Programuojami sujungimai

  30. FPGA. CLB (Xilinx) Konfiguruojami loginiai blokai CLB (Configurable Logic Blocks) • KLB gali sudaryti daugiau kaip 500 tūkst. ventilių; • Kristale daugiau kaip 1000 KLB; • Kiekvieną KLB sudaro 2-4 loginės celės, kurias savo ruožtu sudaro loginis grandynas, pernešimo logika, multipleksoriai ir flip-flop trigeriai. Atliekamos funkcijos: - loginės operacijos; - signalo užlaikymo (flip-flop); - postumio registro; - paskirstytos atminties;

  31. FPGA. CLB (Xilinx) Konfiguruojami loginiai blokai CLB (Configurable Logic Blocks) Xilinx XC4000

  32. FPGA. CLB (Xilinx) Konfiguruojami loginiai blokai CLB (Configurable Logic Blocks) Xilinx Spartan 3

  33. FPGA. CLB (Xilinx) Konfiguruojami loginiai blokai CLB (Configurable Logic Blocks)

  34. Spartan-3E. CLB. Slice • Spartan™-3 kristale yra keturios loginės celės (slice) • Celės grupuojamos poromis: • SLICEM (Memory) • LUT • Loginės funkcijos • Paskirstytoji atmintis • Postūmio registras SRL16 • Multipeksoriai • Registrai (užlaikymo, flip-flop) • SLICEL (Logic) • LUT • Loginės funkcijos • Multipleksoriai • Registrai (užlaikymo, flip-flop) Right-Hand SLICEL Left-Hand SLICEM COUT COUT Switch Matrix Slice X1Y1 Slice X1Y0 SHIFTIN Slice X0Y1 Slice X0Y0 Fast Connects CIN CIN SHIFTOUT

  35. Loginės celės sandara

  36. Spartan 3A ir Spartan 3A-DSP palyginimas

  37. Spartan serijos raida

  38. Spartan serijos raida Spartan-6 LUT / Dual FF Pair Spartan-3A Series & Earlier LUT / FF Pair 6LUT 4LUT

More Related