Et programmerbart logisk integreret kredsløb ( FPGA , engelsk p rogrammable l ogic device , PLD ) er en elektronisk komponent ( integreret kredsløb ), der bruges til at skabe konfigurerbare digitale elektroniske kredsløb . I modsætning til konventionelle digitale kredsløb bestemmes FPGA'ens logik ikke under fremstillingen, men indstilles gennem programmering ( design ). Til programmering bruges en programmør og et IDE (debugging-miljø), som giver dig mulighed for at indstille den ønskede struktur af en digital enhed i form af et kredsløbsdiagram eller et program i specielle hardwarebeskrivelsessprog ( Verilog , VHDL , AHDL og andre). Et alternativ til FPGA'er er:
Nogle producenter tilbyder softwareprocessorer til deres FPGA'er , som kan modificeres til en specifik opgave og derefter indbygges i FPGA'en. Derved:
FPGA er meget brugt til at bygge digitale enheder af forskellig kompleksitet og muligheder , for eksempel:
I 1970 udviklede Texas Instruments (i det følgende benævnt "TI") maskerede (det vil sige programmerbare ved hjælp af en maske, engelsk maskeprogrammerbare ) integrerede kredsløb (herefter benævnt IC'er) baseret på associativ ROM (ROAM) fra IBM . Denne chip blev kaldt TMS2000 og blev programmeret af vekslende metallag under IC -fremstillingsprocessen . TMS2000 havde op til 17 indgange og 18 udgange med 8 JK flip-flops som hukommelse. For disse enheder opfandt TI udtrykket PLA . programmerbar logisk matrix - programmerbar logikmatrix.
PAL ( programmerbar array logic ) er en programmerbar array (matrix) af logik. I USSR var PLA og PLM ikke forskellige og blev betegnet som PLA ( programmerbar logisk matrix ) . Forskellen mellem PLA og PLM er tilgængeligheden af programmering af den interne struktur (matricer).
GAL ( generel array logic ) er FPGA'er, der har en programmerbar AND-matrix og en fast OR-matrix.
CPLD'er ( eng. kompleks programmerbar logisk enhed - komplekse programmerbare logiske enheder) indeholder relativt store programmerbare logiske blokke - makroceller forbundet til eksterne udgange og interne busser. CPLD-funktionalitet er kodet i ikke-flygtig hukommelse , så der er ingen grund til at omprogrammere dem, når de tændes. Kan bruges til I/O-udvidelse ved siden af store chips eller til signalforbehandling (f.eks. COM- portcontroller , USB , VGA ).
FPGA ( field-programmable gate array ) indeholder multiplikations-summeringsblokke, som er meget brugt i signalbehandling (DSP, eng . digital signal processing ), samt logiske elementer (normalt baseret på konverteringstabeller - sandhedstabeller) og deres switching blokke . FPGA'er bruges typisk til signalbehandling, har flere logiske porte og er mere fleksible i arkitekturen end CPLD'er. Programmet til FPGA er lagret i distribueret hukommelse, som kan udføres både på basis af flygtige statiske RAM-celler (sådanne mikrokredsløb produceres f.eks. af Xilinx og Altera ) - i dette tilfælde bliver programmet ikke gemt, når strømforsyningen til mikrokredsløbet går tabt, og på grundlag af ikke-flygtige flash-hukommelsesceller eller antifuse jumpere (sådanne mikrokredsløb er fremstillet af Actel og Lattice Semiconductor ) - i disse tilfælde er programmet gemt, når strømmen går. Hvis programmet er gemt i flygtig hukommelse , skal det, hver gang mikrokredsløbet tændes, omkonfigureres ved hjælp af bootloaderen, som også kan indbygges i selve FPGA'en. Et alternativ til FPGA FPGA'er er langsommere digitale signalprocessorer. FPGA'er bruges også som universelle processoracceleratorer i supercomputere (for eksempel Cray XD1- computeren fra Cray , RASC-projektet af Silicon Graphics ("SGI").
processorteknologier | Digitale|||||||||
---|---|---|---|---|---|---|---|---|---|
Arkitektur | |||||||||
Instruktionssæt arkitektur | |||||||||
maskinord | |||||||||
Parallelisme |
| ||||||||
Implementeringer | |||||||||
Komponenter | |||||||||
Strømstyring |