Dom > Izložba > Sadržaj

Polje za programiranje vrata na terenu Dizajn i programiranje

Mar 11, 2019

Za definiranje ponašanja FPGA, korisnik daje dizajn u jeziku opisa hardvera (HDL) ili kao shematski dizajn. Oblik HDL-a prikladniji je za rad s velikim strukturama jer je moguće odrediti funkcionalno ponašanje na visokoj razini, a ne crtati svaki dio rukom. Međutim, shematski unos može omogućiti lakšu vizualizaciju dizajna i njegovih komponentnih modula.


Pomoću alata za automatizaciju elektroničkog dizajna generira se mrežni popis umreženih tehnologija. Netlist može biti prikladan za 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 provjere valjanosti. Kada se proces oblikovanja i provjere valjanosti dovrši, binarna datoteka koja se generira, obično pomoću vlasničkog softvera dobavljač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 projektiranja u HDL-ovima, koji su uspoređeni s ekvivalentom skupnih jezika, postoje potezi za podizanje razine apstrakcije kroz uvođenje alternativnih jezika. LabVIEW grafički programski jezik National Instruments (koji se ponekad naziva "G") ima FPGA dodatni modul dostupan za ciljanje i programiranje FPGA hardvera.


Kako bi se pojednostavio dizajn složenih sustava u FPGA, postoje knjižnice predefiniranih složenih funkcija i sklopova koji su testirani i optimizirani kako bi se ubrzao proces projektiranja. Ovi unaprijed definirani krugovi obično se nazivaju jezgri intelektualnog vlasništva (IP), a dostupni su od FPGA dobavljača i dobavljača IP-a treće strane. Rijetko su besplatni i obično se izdaju pod vlasničkim licencama. Druge unaprijed definirane sklopove dostupne su od razvojnih zajednica kao što su OpenCores (obično se izdaju pod slobodnim i open source licencama kao što su GPL, BSD ili slične licence) i drugim izvorima. Takvi dizajni poznati su kao "hardver otvorenog koda".


U tipičnom dizajnerskom tijeku, programer FPGA aplikacije simulira dizajn u više faza tijekom procesa projektiranja. U početku RTL opis u VHDL ili Verilog je simuliran stvaranjem test klupe za simulaciju sustava i promatrati rezultate. Zatim, nakon što je sinteza motor mapirao dizajn na netlist, netlist je preveden na vrata razini opis gdje se ponavlja simulacija potvrditi sinteza nastavio bez pogreške. Konačno dizajn je legao vanjska strana u FPGA na kojem točke propagacije kašnjenja mogu biti dodan i simulacija trčanje opet s tim vrijednostima natrag-označene na netlist.


U novije vrijeme programeri koriste OpenCL (Open Computing Language) kako bi iskoristili učinkovitost i energetsku učinkovitost koju pružaju FPGA. OpenCL omogućuje programerima da razvijaju kod u C programskom jeziku i ciljne FPGA funkcije kao OpenCL jezgre pomoću OpenCL konstrukata. Za daljnje informacije, vidi sintezu na visokoj razini i C do HDL.