Minua on vaikea ymmärtää. Mikä on ero PLA: n ja ROM: n välillä? Voiko joku antaa linkin tai selityksen?
Minua on vaikea ymmärtää. Mikä on ero PLA: n ja ROM: n välillä? Voiko joku antaa linkin tai selityksen?
Vain luku -muisti (ROM) on looginen piiri, joka voi luoda kaikki mahdolliset mintermit sen syötteistä.
Nämä ovat ROM-levyn ominaisuuksia:
Syöttötuotteet ovat kiinteitä ja sisältävät kaikki mahdolliset mintermit. Lähtöyhteenlaskentapiiri on ohjelmoitavissa.
Kenttäohjelmoitava logiikkataulukko (FPLA) luodaan vain tarvittavat mintermermit. Kukin generoidaan myös vain kerran, vaikka se saattaa näkyä useita kertoja ulostulolausekkeissa.
Nämä ovat siis FPLA: n ominaisuuksia:
Tulotuotepiirit ovat ohjelmoitavissa. Lähtöyhteenlaskentapiiri on ohjelmoitava.
Ohjelmoitava matriisilogiikka (PAL) sisältää samanlaisen tulopiirin kuin FPLA. Lähtöpiiri sisältää kuitenkin kiinteän TAI-logiikan, eikä sitä voida ohjelmoida.
Nämä ovat siis PAL: n ominaisuuksia:
Tulotuotepiirit ovat ohjelmoitavissa. Lähdön summauspiiri on kiinteä.
Ne ovat melko erilaisia laitteita.
PLA = Ohjelmoitava logiikkataulukko.
PLA- tai PAL-laite (ohjelmoitava matriisilogiikka) on kuin vauva FPGA, joka voidaan ohjelmoida suorittamaan logiikan perustoiminnot. Kymmeniä satoja portteja PAL: lla voidaan liittää yksinkertaisten logiikkatoimintojen suorittamiseksi. PAL on usein vain luettavissa, koska ohjelmoinnin jälkeen sinun on suoritettava täydellinen poisto sen päivittämiseksi.
ROM = Vain luku -muisti.
A ROM ei suorita logiikkatoimintoja, mutta tallentaa tietoja. ROM-tyyppi voi olla EPROM, pyyhittävä ohjelmoitava vain luku -muisti.
Voit käyttää ROM-levyä logiikkalaitteena toteuttamalla yksinkertaisen logiikkataulukon haun. Kuten totuuspöytä. Se on kuitenkin jonkin verran tuhlaavaa ja kallista verrattuna PAL: n tai jopa CPLD / FPGA: n käyttämiseen.
Oletetaan esimerkiksi, että sinulla on PLA-laite ja ROM, molemmissa on 12 tuloa ja 8 lähtöä.
ROMilla on 8 bittistä solua kullekin 2 ^ 12 = 4096 osoitteelle . Tällä ROM-levyllä olisi siis 32768 yksittäistä bittisolua. Piirin logiikka sisältäisi (ainakin suuremmissa osissa) korkean kertaluvun tulobittien demultiplekserin, joka valitsi esimerkiksi 1024 solun pankin ja multipleksorin matalan kertaluvun tuloille 8 todellisen lähdön valitsemiseksi. bittiä pankista. Tämä antaisi sekoituksessa neljä porttiviivettä, mitä tahansa tarvittavaa bittisolujen tekniikkaa varten. Vanhoilla UV-EPROMeilla saattaa kestää 120ns tuloksen yskimiseen, mutta oli (onko vielä?) Kertaluonteisesti ohjelmoitavia ROM-levyjä, jotka voisivat tehdä saman työn muutamassa kymmenessä nanosekunnissa.
PLA päällä toisaalta, sillä on joukko ohjelmoitavia "sulakkeita", yleensä paljon pienempiä kuin vastaavan ROM-levyn 32768-bittiset solut. Sisäisesti PLA tarjoaa AND-porttien pankin, jota seuraa OR-porttien pankki, ja valinnaisen kiikun ulostuloa kohden. Tämän kokoisessa PLA: ssa voi olla 16 JA porttia, joista jokaisella on 8-16 tuloa. Poistetussa tilassa 'sulakkeet' ovat oikosulkuja, joten kunkin AND: n kukin tulo on kytkettävissä (yleensä) mihin tahansa sirun tuloon tai lähtöön tai niiden inversioon. Kun ohjelmoit PLA: n, ohjelmoija puhaltaa sulakkeet jättäen vain haluamasi yhteydet. Tällöin OR-taulukko voidaan vastaavasti ohjelmoida TAI yhteen AND-lähtöjen eri yhdistelmille. Sulaketekniikalla on minimaalinen viive, joten etenemisviive tulotapista ulostulotapiin voi olla niin pieni kuin kaksi portin viivettä tai jopa neljä riippuen siitä, kuinka monta käänteistä signaalia tarvitaan, mikä voittaa automaattisesti tavallisen ROM-topologian nopeuden suhteen.
Samalla tulojen ja lähtöjen lukumäärällä ROM voi toimia yleisemmällä logiikalla, sillä voit polttaa minkä tahansa haluamasi totuustaulukon ROM-levylle. Loogisena laitteena ROM ei kuitenkaan ole optimaalinen. Jos yrität polttaa useita itsenäisiä pieniä toimintoja ROM-levylle, huomaat, että sinulla on paljon 'välitä' -tapauksia, jotka on kuitenkin ohjelmoitava ROM-levylle halutun tuloksen saamiseksi. PLA on parempi logiikka, koska sinun ei tarvitse käsitellä ei-välitä, mutta kompromissi on, että et voi ohjelmoida bittien täysin mielivaltaisia toimintoja. Ne ovat kuitenkin riittävän joustavia ollakseen hyödyllisiä monissa tavallisissa liimalogiikkatehtävissä, ja niiden tuottaminen on yleensä nopeampaa.
Voimme ajatella yksinkertaista ohjelmoitavaa logiikkalaitetta AND-porttien ryhmänä, jota seuraa TAI-porttien joukko (todellisuudessa se voidaan tosiasiallisesti toteuttaa kahtena NAND-porttiryhmänä).
PROM: ssä "AND-taulukko" on kiinteä ja "OR-taulukko" on ohjelmoitava. Jokainen tulojen yhdistelmä tuottaa täsmälleen yhden lähdön AND-taulukosta. "OR-taulukko" ohjelmoidaan sitten määrittelemään logiikkatoiminto. Tämän ansiosta jokainen lähtö voi toteuttaa minkä tahansa tulojen loogisen toiminnon.
Mahdollisuus toteuttaa mielivaltaisia logiikkatoimintoja kuulostaa houkuttelevalta, mutta PROM: ien käyttämisessä logiikassa on kaksi käytännön ongelmaa. Ensinnäkin, se ei skaalaa hyvin, jokainen lisäämäsi lisäys kaksinkertaistaa vaaditun ja-taulukon koon. Toiseksi, se on erittäin altis tuottamaan häiriöitä, koska käytetyt tuotetermit kattavat täsmälleen yhden syöttöyhdistelmän.
PAL-tilassa "OR-taulukko" on kiinteä ja "AND-taulukko" on ohjelmoitava. Jokainen tuotos on muodostettava rajoitetusta määrästä tuotetermejä, mutta nämä tuotetermit voivat kukin kattaa useita syöttöyhdistelmiä.
PLA: ssa molemmat ryhmät ovat ohjelmoitavissa. Tämä antaa sinulle enemmän joustavuutta, jos joissakin tuotoksissa tarvitaan enemmän tuotetermejä kuin toisissa tai jos useilla tuotoksilla on yhteisiä tuotetermejä.