Ohjelmoitava logiikkapiiri ( FPGA , englanniksi p rogrammable l ogic d evice , PLD ) on elektroninen komponentti ( integroitu piiri ), jota käytetään konfiguroitavien digitaalisten elektronisten piirien luomiseen . Toisin kuin perinteiset digitaaliset piirit , FPGA:n logiikkaa ei määritetä valmistuksen aikana, vaan se asetetaan ohjelmoinnin ( suunnittelun ) avulla. Ohjelmoijaa ja IDE : tä käytetään ohjelmointiin(virheenkorjausympäristö), joiden avulla voit määrittää digitaalisen laitteen halutun rakenteen piirikaavion tai ohjelman muodossa erityisillä laitteiston kuvauskielillä ( Verilog , VHDL , AHDL ja muut). Vaihtoehto FPGA:lle ovat:
Jotkut valmistajat tarjoavat FPGA:illeen ohjelmistoprosessoreja , joita voidaan muokata tiettyä tehtävää varten ja sitten integroida FPGA:han. Siten:
FPGA:ta käytetään laajalti monimutkaisten ja monipuolisten digitaalisten laitteiden rakentamiseen , esimerkiksi:
Vuonna 1970 Texas Instruments (jäljempänä "TI") kehitti IBM:n assosiatiiviseen ROM:iin (ROAM) perustuvia maskettuja (eli ohjelmoitavia maskin avulla, englanninkielisiä maskilla ohjelmoitavia ) integroituja piirejä ( jäljempänä IC:t) . Tämän sirun nimi oli TMS2000, ja se ohjelmoitiin vuorotellen metallikerroksia IC -valmistusprosessin aikana . TMS2000:ssa oli jopa 17 sisääntuloa ja 18 lähtöä ja muistina 8 JK-kiikkua . Näille laitteille TI loi termin PLA . ohjelmoitava logiikkataulukko - ohjelmoitava logiikkamatriisi.
PAL ( ohjelmoitava array logic ) on ohjelmoitava logiikkataulukko (matriisi). Neuvostoliitossa PLA ja PLM eivät eronneet toisistaan, ja ne nimettiin PLA: ksi ( ohjelmoitava logiikkamatriisi ) . Ero PLA:n ja PLM:n välillä on sisäisen rakenteen (matriisien) ohjelmoinnin saavutettavuus.
GAL ( yleinen array Logic ) ovat FPGA:ita, joissa on ohjelmoitava AND-matriisi ja kiinteä TAI-matriisi.
CPLD:t ( eng. kompleksinen ohjelmoitava logiikkalaite - kompleksi ohjelmoitava logiikkalaite) sisältävät suhteellisen suuria ohjelmoitavia logiikkalohkoja - makrosoluja , jotka on kytketty ulkoisiin lähtöihin ja sisäisiin väyliin. CPLD-toiminnot on koodattu haihtumattomaan muistiin , joten niitä ei tarvitse ohjelmoida uudelleen, kun ne kytketään päälle. Voidaan käyttää I/O-laajennukseen suurten sirujen vieressä tai signaalin esikäsittelyyn (esim. COM-porttiohjain , USB , VGA ).
FPGA ( field-programmable gate array ) sisältää kertolasku-summauslohkoja, joita käytetään laajalti signaalinkäsittelyssä (DSP, eng . digital signal processing ), sekä loogisia elementtejä (yleensä muunnostaulukoihin perustuvia - totuustaulukoita) ja niiden kytkentälohkoja. . FPGA:ita käytetään tyypillisesti signaalinkäsittelyyn, niissä on enemmän loogisia portteja ja ne ovat arkkitehtuuriltaan joustavampia kuin CPLD:t. FPGA:n ohjelma on tallennettu hajautettuun muistiin, joka voidaan suorittaa sekä haihtuvien staattisten RAM-solujen perusteella (tällaisia mikropiirejä tuottavat esimerkiksi Xilinx ja Altera ) - tässä tapauksessa ohjelmaa ei tallenneta, kun mikropiirin virransyöttö katkeaa, ja perustuu haihtumattomiin flash-muistikennoihin tai sulakkeensuojakytkimiin (tällaisia mikropiirejä valmistavat Actel ja Lattice Semiconductor ) - näissä tapauksissa ohjelma tallennetaan, kun virta katkeaa. Jos ohjelma on tallennettu haihtuvaan muistiin , aina kun mikropiiri kytketään päälle, se on määritettävä uudelleen käynnistyslataimen avulla, joka voidaan myös rakentaa itse FPGA:han. Vaihtoehto FPGA:lle FPGA:t ovat hitaammat digitaaliset signaaliprosessorit. FPGA:ita käytetään myös yleisinä prosessorikiihdyttiminä supertietokoneissa (esimerkiksi Cray XD1 -tietokone , Silicon Graphicsin ("SGI") RASC-projekti) .
prosessoritekniikat | Digitaaliset|||||||||
---|---|---|---|---|---|---|---|---|---|
Arkkitehtuuri | |||||||||
Ohjesarjan arkkitehtuuri | |||||||||
koneen sana |
| ||||||||
Rinnakkaisuus |
| ||||||||
Toteutukset | |||||||||
Komponentit | |||||||||
Virranhallinta |