FPGA architektūros ir programų pagrindai

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Terminas FPGA reiškia lauko programuojamų vartų masyvą ir yra vieno tipo puslaidininkių logikos lustas kuris gali būti užprogramuotas tapti beveik bet kokia sistema ar skaitmenine grandine, panašia į PLD. PLDS yra tik šimtai vartų, tačiau FPGA palaiko tūkstančius vartų. FPGA architektūros konfigūracija paprastai nurodoma naudojant kalbą, t. Y. HDL (Hardware Description Language), kuri yra panaši į tą, kuri naudojama ASIC (Application Specific Integrated Circuit).

Lauke programuojami vartų matricos

Lauke programuojami vartų matricos



FPGA gali suteikti daug privalumų, palyginti su fiksuotos funkcijos ASIC technologija, pavyzdžiui, standartinėmis ląstelėmis. Paprastai ASIC gamyba užtrunka keletą mėnesių, o jų įsigijimo kaina bus tūkstančiai dolerių. Tačiau FPGA yra pagaminti greičiau nei per sekundę, kaina bus nuo kelių dolerių iki tūkstančio dolerių. Lankstus FPGA pobūdis turi didelę išlaidų sritį, energijos suvartojimą ir vėlavimą. Palyginus su standartine ląstelių ASIC, FPGA reikia nuo 20 iki 35 kartų daugiau ploto, o greitis bus 3–4 kartus lėtesnis nei ASIC. Šiame straipsnyje aprašoma apie pagrindinius FPGA principus ir FPGA architektūros modulį, kuriame yra įvesties / išvesties blokai, logikos blokai ir jungiklių matrica. FPGA yra keletas naujų populiariausių VLSI sričių. Todėl jie naudojami VLSI vykdomi projektai elektronikos inžinerijos studentams .


FPGA architektūra

Bendrąją FPGA architektūrą sudaro trijų tipų moduliai. Tai yra įvesties / išvesties blokai arba bloknotai, perjungimo matricos / sujungimo laidai ir konfigūruojami logikos blokai (CLB). Pagrindinėje FPGA architektūroje yra dviejų matmenų loginių blokų masyvai su priemonėmis vartotojui organizuoti loginių blokų tarpusavio ryšį. Žemiau aptariamos FPGA architektūros modulio funkcijos:



  • CLB (Configurable Logic Block) apima skaitmeninę logiką, įėjimus, išėjimus. Tai įgyvendina vartotojo logiką.
  • Sąsajos suteikia kryptį tarp logikos blokų, kad būtų įgyvendinta vartotojo logika.
  • Priklausomai nuo logikos, jungiklio matrica suteikia galimybę perjungti tarpusavio ryšius.
  • Įvesties / išvesties bloknotai naudojami išoriniam pasauliui bendrauti su skirtingomis programomis.
FPGA architektūra

FPGA architektūra

Logikos bloke yra MUX (multiplekseris) , D šlepetė ir LUT. LUT įgyvendina kombinuotas logines funkcijas, kurios MUX yra naudojamos pasirinkimo logikai, o D flip flop saugo LUT išvestį

Pagrindinis FPGA pagrindas yra funkcijų generatorius „Look Up Table“. Įvesties į LUT skaičius svyruoja nuo 3,4,6 ir net 8 po eksperimentų. Dabar mes turime adaptyvius LUT, kurie teikia du išėjimus kiekvienam LUT, įgyvendinant du funkcijų generatorius.

FPGA logikos blokas

FPGA logikos blokas

„Xilinx Virtex-5“ yra populiariausia FPGA, kurioje yra „Look up Table“ (LUT), sujungta su MUX, ir „flip flop“, kaip aptarta aukščiau. Dabartinę FPGA sudaro apie šimtai ar tūkstančiai konfigūruojamų loginių blokų. Konfigūruojant FPGA, „Modelsim“ ir „Xilinx“ programinės įrangos programos ISE naudojamos bitų srauto failui generuoti ir plėtrai.


FPGA tipai pagal programas

Lauke programuojamos vartų masyvai skirstomi į tris tipus pagal programas, tokias kaip žemos klasės FPGA, vidutinio lygio FPGA ir aukščiausios klasės FPGA.

FPGA tipai

FPGA tipai

Žemos klasės FPGA

Šie FPGA tipai skirti mažam energijos suvartojimui, mažam loginiam tankiui ir mažam lusto sudėtingumui. Žemos klasės FPGA pavyzdžiai yra „Cyclone“ šeima iš „Altera“, „Spartan“ šeima iš „Xilinx“, sintezės šeima iš „Microsemi“ ir „Mach XO / ICE40“ iš „Lattice“ puslaidininkio.

Vidutinio lygio FPGA

Šie FPGA tipai yra optimalus sprendimas tarp žemos ir aukščiausios klasės FPGA ir yra sukurtas kaip balansas tarp našumo ir sąnaudų. Vidutinio nuotolio FPGA pavyzdžiai yra „Arria“ iš „Altera“, „Artix-7 / Kintex-7“ serijos iš „Xlinix“, „IGL002“ iš „Microsemi“ ir „ECP3“ bei „ECP5“ serijos iš „Lattice“ puslaidininkių.

Aukščiausios klasės FPGA

Šie FPGA tipai yra sukurti logikos tankiui ir dideliam našumui užtikrinti. Aukščiausios klasės FPGA pavyzdžiai yra „Stratix“ šeima iš „Altera“, „Virtex“ šeima iš „Xilinx“, „Speedster 22i“ šeima iš „Achronix“ ir „ProASIC3“ šeima iš „Microsemi“.

FPGA programos:

Per pastarąjį dešimtmetį FPGA sparčiai augo, nes jie yra naudingi įvairiems tikslams. Konkretus FPGA taikymas apima skaitmeninį signalo apdorojimą, bioinformatiką, prietaisų valdiklius, programinės įrangos apibrėžtą radiją, atsitiktinę logiką, ASIC prototipus, medicininį vaizdavimą, kompiuterinės įrangos emuliavimą, kelių SPLD integravimą, balso atpažinimas , kriptografija, filtravimas ir ryšio kodavimas ir daug daugiau.

Paprastai FPGA laikomi tam tikroms vertikaliosioms reikmėms, kai gamybos apimtis yra maža. Už šias nedidelės apimties programas geriausios įmonės moka techninės įrangos išlaidas už vienetą. Šiandien nauja našumo dinamika ir sąnaudos išplėtė perspektyvių programų spektrą.

FPGA programos

FPGA programos

Keletas labiau paplitusių FPGA programų yra: aviacija ir gynyba, medicinos elektronika, ASIC prototipai, garsas, automobiliai, transliacijos, buitinė elektronika, paskirstytos pinigų sistemos, duomenų centras, didelio našumo skaičiavimas, pramoniniai, medicinos, moksliniai instrumentai, Apsaugos sistemos , Vaizdo ir vaizdo apdorojimas, laidinė komunikacija, Belaidis ryšys .

FPGA pagrįstos projekto idėjos:

Čia pateikiamas FPGA pagrįstų projekto idėjų eksperimentams su „Verilog HDL“ ir „VHDL“ inžinerijos studentams sąrašas. The elektroninių projektų idėjų sąrašas remiantis FPGA, pateikiama žemiau:

FPGA pagrįstos projekto idėjos

FPGA pagrįstos projekto idėjos

  1. Prisijungimo prie saugumo sistema, pagrįsta FPGA
  2. FPGA pagrindu veikiantis skaitmeninis klausos aparato lustas
  3. FPGA paremta realaus laiko vaizdo funkcijų ištraukimo architektūra
  4. FPGA pagrįstas Mp4 dekoderių projektavimas ir įgyvendinimas
  5. FPGA pagrindu Eismo signalo valdymo sistema Projektavimas ir įgyvendinimas
  6. FPGA pagrindu sukurta aukšto dažnio nešėjų generavimas impulsų suspaudimui naudojant kordinį algoritmą
  7. Programuojamas loginių blokų dizainas ir sintezė naudojant „Macro gate“ ir „Mixed LUT“
  8. Konkrečios programos instrukcijų rinkinio procesoriaus projektavimas, įgyvendinimas ir tyrimas konkrečiai DSP užduočiai
  9. Sinchronizavimo bloko projektavimas ir įgyvendinimas WCDMA Uplink imtuvui
  10. FPGA IEEE 802.16e (mobilusis „WiMAX“) FFT algoritmo diegimas
  11. FPGA projektavimas GPS (pasaulinė vietos nustatymo sistema) -GSM (globalios mobiliųjų telefonų sistemos) mobilusis navigatorius
  12. Erdvės vektorius PWM (impulso pločio moduliacija) trijų lygių keitikliams: „LabVIEW“ diegimas
  13. Programuojamo daugelio procesorių platformos, skirtos įdirbtiems didelio našumo procesams, projektavimas ir įgyvendinimas
  14. Didelio našumo procesoriaus optimizavimo išplėtimas ir tobulinimas FPGA
  15. Į lauką orientuoto valdymo kūrimas ir vertinimas naudojant „LabVIEW FPGA“
  16. Tiesioginė skaitmeninio dažnio sintezė 2008 m FPGA
  17. Suprojektuokite ir programuokite daugiaprocesorinę platformą, skirtą didelio našumo įterptiesiems procesoriams
  18. Projektavimas ir integravimas kosmoso tyrimams lauke programuojamų skaitiklių matricų naudojant FPGA
  19. FPGA „Icecube“ teleskopo įgyvendinimas neutrino kelio aptikimui
  20. 3D vaizdų interpoliacija programinėje įrangoje
  21. MIMO sferos sistemos architektūra ir diegimas
  22. „Superscalar Power Efficient FFT“ (greito Furjė transformacijos) architektūra
  23. tiesinio grįžtamojo ryšio poslinkio registro (LFSR) galios optimizavimas mažos galios BIST

Praleidę brangų laiką šiam straipsniui, manome, kad jūs turite gerą idėją apie FPGA architektūrą ir APIE, kad pasirinkote savo pasirinktą projekto temą iš FPGA pagrįstų projektų idėjų, ir tikimės, kad turėsite pakankamai pasitikėjimo, kad galėtumėte imtis bet kurios temos iš sąrašo. Norėdami gauti daugiau informacijos ir pagalbos apie šiuos projektus, galite parašyti mums toliau pateiktame komentarų skyriuje.

Nuotraukų kreditai: