Dom > Izložba > Sadržaj

Polje za programiranje vrata na terenu Dizajn i programiranje

Mar 11, 2019

Da bi se definisalo ponašanje FPGA, korisnik daje dizajn u jeziku opisa hardvera (HDL) ili kao shematski dizajn. HDL forma je pogodnija za rad s velikim strukturama jer je moguće specificirati funkcionalno ponašanje na visokom nivou, a ne crtati svaki komad rukom. Međutim, shematski unos može omogućiti lakšu vizualizaciju dizajna i njegovih komponentnih modula.


Koristeći elektronski alat za automatizaciju dizajna, generiše se tehnološki mapirana netlist. Netlist može tada da se uklopi u stvarnu FPGA arhitekturu koristeći proces koji se naziva mjesto-i-ruta, obično izveden od strane FPGA-inog vlasničkog softvera za mjesto i rutu. Korisnik će provjeriti rezultate karte, mjesta i rute putem vremenske analize, simulacije i drugih metodologija provjere i validacije. Kada je proces dizajniranja i validacije završen, binarna datoteka koja se generira, obično koristeći vlasnički softver proizvođača FPGA, koristi se za (ponovno) konfiguriranje FPGA. Ova datoteka se prenosi na FPGA / CPLD preko serijskog sučelja (JTAG) ili na vanjski memorijski uređaj kao što je EEPROM.


Najčešći HDL-ovi su VHDL i Verilog kao i proširenja kao što je SystemVerilog. Međutim, u pokušaju da se smanji složenost projektovanja u HDL-ovima, koji su upoređeni sa ekvivalentom skupnih jezika, postoje potezi za podizanje nivoa apstrakcije kroz uvođenje alternativnih jezika. LabVIEW grafički programski jezik programa National Instruments (koji se ponekad naziva "G") ima FPGA dodatni modul koji je dostupan za ciljanje i programiranje FPGA hardvera.


Da bi se pojednostavio dizajn složenih sistema u FPGA, postoje biblioteke unaprijed definisanih kompleksnih funkcija i kola koje su testirane i optimizirane kako bi se ubrzao proces dizajniranja. Ovi predefinisani krugovi se obično nazivaju jezgre intelektualne svojine (IP) i dostupni su od FPGA dobavljača i dobavljača IP drugih proizvođača. Rijetko su besplatni i obično se izdaju pod vlasničkim licencama. Druge unapred definisana kola dostupna su od razvojnih zajednica kao što su OpenCores (obično se izdaju pod slobodnim i otvorenim licencama kao što su GPL, BSD ili slične licence) i drugim izvorima. Takvi dizajni su poznati kao "open-source hardware".


U tipičnom dizajnerskom toku, programer FPGA aplikacije će simulirati dizajn u više faza tokom procesa dizajna. U početku je RTL opis u VHDL ili Verilog simuliran stvaranjem test klupe za simulaciju sistema i posmatranje rezultata. Zatim, nakon što je sintetički motor mapirao dizajn na netlist, netlist se prevodi u opis na nivou ulaza gdje se simulacija ponavlja kako bi se potvrdila da je sinteza nastavljena bez grešaka. Konačno, dizajn je izrađen u FPGA-u na kojem se mogu dodati kašnjenja propagacije i simulacija ponovo pokrenuti s tim vrijednostima natrag-označenim na netlist.


U novije vreme, OpenCL (Open Computing Language) se koristi od strane programera da iskoriste prednosti performansi i energetske efikasnosti koje pružaju FPGA. OpenCL omogućava programerima da razvijaju kod u C programskom jeziku i ciljnim FPGA funkcijama kao OpenCL kernelima koristeći OpenCL konstrukte. Za više informacija, vidi sintezu na visokom nivou i C do HDL.