Ohjelmoitava matriisilogiikka - Programmable Array Logic
Programmable Array Logic ( PAL ) on ohjelmoitavien logiikkalaitteiden puolijohdesarja, jota käytetään logiikkatoimintojen toteuttamiseen digitaalisissa piireissä, jonka Monolithic Memories , Inc. (MMI) esitteli maaliskuussa 1978. MMI sai rekisteröidyn tavaramerkin termillä PAL käytettäväksi "Programmable" Puolijohde-logiikkapiirit ". Tavaramerkki on tällä hetkellä Lattice Semiconductor .
PAL-laitteet koostuivat pienestä PROM -ytimestä (ohjelmoitava vain luku) ja ylimääräisestä lähtölogiikasta, jota käytettiin tiettyjen haluttujen logiikkatoimintojen toteuttamiseen muutamalla komponentilla.
Erikoiskoneita käyttämällä PAL-laitteet olivat "kentällä ohjelmoitavia". PAL: ita oli saatavana useina muunnelmina:
- " Kerran ohjelmoitavia " (OTP) laitteita ei voitu päivittää ja käyttää uudelleen alkuohjelmoinnin jälkeen (MMI tarjosi myös samanlaisen perheen nimeltä HAL tai "hard array logic", jotka olivat kuin PAL-laitteet paitsi, että ne oli naamio-ohjelmoitu tehdas.).
- UV-pyyhittävissä versioissa (esim. PALCxxxxx esim. PALC22V10) oli kvartsi-ikkuna sirumuotin päällä, ja ne voitiin pyyhkiä uudelleenkäyttöä varten ultraviolettivalolähteen kanssa aivan kuten EPROM .
- Myöhemmät versiot (PALCExxx esim .: PALCE22V10) olivat flash-pyyhittäviä laitteita.
Useimmissa sovelluksissa sähköisesti pyyhittävät GAL: t otetaan nyt käyttöön pin-yhteensopivina suorina korvikkeina kertakäyttöisille ohjelmoitaville PAL-laitteille.
Historia
Ennen PAL: ien käyttöönottoa digitaalisten logiikkapiirien suunnittelijat käyttävät pienimuotoisia integraatiokomponentteja (SSI), kuten 7400-sarjan TTL ( transistori-transistorilogiikka ) -perheen komponentteja ; 7400-perhe sisälsi erilaisia loogisia rakennuspalikoita, kuten portit ( EI , NAND , NOR , JA , TAI ), multiplekserit (MUXit) ja demultiplekserit (DEMUXit), varvastossut (D-tyyppi, JK jne.) ja muut . Yksi PAL-laite korvaisi tyypillisesti kymmeniä tällaisia "erillisiä" logiikkapaketteja, joten SSI-liiketoiminta laski, kun PAL-liiketoiminta lähti liikkeelle. PAL: ita käytettiin edullisesti monissa tuotteissa, kuten pientietokoneissa , kuten Tracy Kidderin myydyimmässä kirjassa The Soul of a New Machine dokumentoidaan .
PAL: t eivät olleet ensimmäisiä kaupallisia ohjelmoitavia logiikkalaitteita; Signetics oli myynyt kentällä ohjelmoitavaa logiikkaryhmää (FPLA) vuodesta 1975. Nämä laitteet eivät olleet täysin tunnettuja useimmille piirisuunnittelijoille ja niiden havaittiin olevan liian vaikeita käyttää. FPLA: lla oli suhteellisen hidas enimmäiskäyttönopeus (johtuen sekä ohjelmoitavista JA ohjelmoitavista tai OR-ryhmistä), se oli kallista, ja sillä oli huono maine testattavuudesta. Toinen tekijä, joka rajoittaa hyväksymisestä FPLA oli suuri paketti, 600 mil (0,6" , tai 15,24 mm) leveä 28-pin dual in-line-paketti (DIP).
PAL-laitteen luomishanketta johti John Birkner ja varsinaisen PAL-piirin suunnitteli HT Chua . Aikaisemmassa työssään (minitietokoneiden valmistajalla Computer Automation ) Birkner oli kehittänyt 16-bittisen prosessorin, jossa käytettiin 80 vakiologiikkalaitetta. Hänen kokemuksensa tavallisesta logiikasta johti hänet uskomaan, että käyttäjän ohjelmoimat laitteet olisivat houkuttelevampia, jos laitteet suunniteltaisiin korvaamaan vakiologiikka. Tämä tarkoitti sitä, että pakkauskokojen oli oltava tyypillisempiä olemassa oleville laitteille ja nopeuksia oli parannettava. MMI: n mukaan PAL: t ovat suhteellisen edullisia (alle 3 dollaria) osia. Yrityksellä oli kuitenkin alun perin vakavia tuotanto-ongelmia, ja sen oli myytävä laitteet yli 50 dollarilla. Tämä uhkasi PAL: n elinkelpoisuutta kaupallisena tuotteena, ja MMI joutui lisensoimaan tuotelinjan National Semiconductorille. Moniteholinsseille myöhemmin " toisen hankittu " by Texas Instruments ja Advanced Micro Devices .
Prosessitekniikat
Varhaiset PAL: t olivat 20-napaisia DIP- komponentteja, jotka valmistettiin piistä käyttämällä bipolaarista transistoritekniikkaa ja kertaluonteiset ohjelmoitavat (OTP) titaani-volframi-ohjelmointisulakkeet. Myöhemmin laitteita valmistivat Cypress , Lattice Semiconductor ja Advanced Micro Devices CMOS- tekniikkaa käyttäen .
Alkuperäiset 20 ja 24-napaiset PAL: t merkittiin MMI: llä keskisuurten integraatioiden (MSI) laitteina.
PAL-arkkitehtuuri
PAL-arkkitehtuuri koostuu kahdesta pääkomponentista: logiikkatasosta ja lähtölogiikan makrosoluista.
Ohjelmoitava logiikkataso
Ohjelmoitava logiikkataso on ohjelmoitava vain luku -muistiryhmä (PROM), jonka avulla laitteen nastoissa olevat signaalit tai näiden signaalien loogiset täydennykset voidaan reitittää loogisten makrosolujen lähtöön.
PAL-laitteissa on transistorikennoryhmät, jotka on järjestetty "kiinteään TAI, ohjelmoitavaan JA" -tasoon, jota käytetään " tuotesumma " -binaariloogisten yhtälöiden toteuttamiseksi kullekin ulostulolle tulojen ja joko synkronisen tai asynkronisen palautteen perusteella lähdöt.
Lähtölogiikka
Varhaisissa 20-napaisissa PAL: issa oli 10 tuloa ja 8 lähtöä. Lähdöt olivat aktiivisia matalia ja niitä voitiin rekisteröidä tai yhdistää. PAL-perheen jäseniä oli saatavana useilla ulostulorakenteilla, joita kutsuttiin " lähtölogiikan makrosoluiksi " tai OLMC: ksi. Ennen "V" -sarjan ("muuttuja") käyttöönottoa kussakin PAL: ssa käytettävissä olevat OLMC-tyypit vahvistettiin valmistushetkellä. (PAL16L8: lla oli 8 yhdistelmälähtöä ja PAL16R8: lla oli 8 rekisteröityä lähtöä. PAL16R6: lla oli 6 rekisteröityä ja 2 yhdistelmälähtöä, kun taas PAL16R4: llä oli 4 kutakin.) Jokaisella lähdöllä voi olla jopa 8 tuotehakua (tehokkaasti JA portit); Yhdistelmälähdöt käyttivät kuitenkin yhtä termeistä kaksisuuntaisen lähtöpuskurin ohjaamiseksi. Oli muitakin yhdistelmiä, joissa oli vähemmän ulostuloja, enemmän tuotetermejä lähtöä kohden ja jotka olivat saatavana aktiivisten korkean ulostulojen kanssa ("H" -sarja). "X" -sarjan laitteilla oli XOR-portti ennen rekisteriä. Näistä PAL: ista oli myös samanlaisia 24-nastaisia versioita.
Tämä kiinteä lähtörakenne turhautti usein suunnittelijoita, jotka yrittivät optimoida PAL-laitteiden hyödyllisyyden, koska heidän sovelluksensa vaativat usein erityyppisiä lähtörakenteita. (Esimerkiksi, ei voitu saada 5 rekisteröityä lähtöä, joissa oli 3 aktiivista korkeaa yhdistelmälähtöä.) Joten AMD esitteli kesäkuussa 1983 22 V10: n, 24-nastaisen laitteen, jossa oli 10 lähtölogiikkakennoa. Käyttäjä voi määrittää jokaisen makrosolun yhdistelmälliseksi tai rekisteröidyksi, aktiiviseksi korkeaksi tai aktiiviseksi matalaksi. Lähdölle allokoitujen tuotetermien lukumäärä vaihteli välillä 8-16. Tämä yksi laite voisi korvata kaikki 24-nastaiset kiinteän toiminnan PAL-laitteet. PAL "V" ("muuttuja") -sarjan jäsenet olivat PAL16V8, PAL20V8 ja PAL22V10.
PAL-ohjelmointi
Moniteholinsseille ohjelmoitiin sähköisesti binääriohjaus kuvioita (kuten JEDEC ASCII / heksadesimaali tiedostot) ja erityinen sähköisen ohjelmatyöjärjestelmää saatavana joko valmistajan tai kolmannen osapuolen, kuten DATA I / O . Yhden yksikön laiteohjelmoijien lisäksi laitteiden syöttölaitteita ja jengiohjelmoijia käytettiin usein silloin, kun muut kuin muutama PAL oli ohjelmoitava. (Suurten volyymien kohdalla sähköiset ohjelmointikustannukset voitaisiin eliminoida pyytämällä valmistajaa valmistamaan mukautettu metallimaski, jota käytetään asiakkaiden mallien ohjelmointiin valmistushetkellä; MMI käytti termiä " hard array logic " (HAL) viitaten ohjelmoituihin laitteisiin tällä tavalla.)
Ohjelmointikielet (aikajärjestyksessä)
Vaikka jotkut insinöörit ohjelmoivat PAL-laitteita muokkaamalla manuaalisesti binäärisulakekuviotietoja sisältäviä tiedostoja, useimmat päättivät suunnitella logiikkansa käyttämällä laitteiston kuvauskieltä (HDL), kuten Data I / O: n ABEL: ää , Logical Devicesin CUPL: ää tai MMI: n PALASMia . Nämä olivat tietokoneavusteisia suunnitteluohjelmia ( CAD ) (joita nykyään kutsutaan " sähköiseksi suunnitteluautomaatioksi "), jotka käänsivät (tai "käänsivät") suunnittelijoiden logiikkayhtälöt binaarisiin sulakekarttitiedostoihin, joita käytetään kunkin laitteen ohjelmointiin (ja usein testaamiseen).
PALASMI
PALASM (mistä "PAL kokoajan") kieli on kehittänyt John Birkner 1980-luvun alussa ja PALASM kääntäjä on kirjoittanut MMI FORTRANilla IV IBM 370/168. MMI toimitti lähdekoodin käyttäjien saataville ilmaiseksi. Vuoteen 1983 mennessä MMI-asiakkaat käyttivät versioita DEC PDP-11: llä , Data General NOVA: lla , Hewlett-Packard HP 2100: lla , MDS800: lla ja muilla.
Sitä käytettiin ilmaisemaan loogisia yhtälöitä tulostustapille tekstitiedostossa, joka sitten muunnettiin ohjelmointijärjestelmän sulakekartatiedostoksi toimittajan toimittamalla ohjelmalla; Myöhemmin yleinen vaihtoehto käännösmalleista tuli myöhemmin, ja myöhemmin silti 'sulakekartat' voitiin 'syntetisoida' HDL: stä (laitteistokuvauskieli), kuten Verilog .
CUPL
Avustaa Technology julkaisi CUPL ( C ompiler varten U niversal P rogrammable L ogic) syyskuussa 1983. ohjelmisto on aina nimitystä CUPL ja koskaan laajennetun lyhenne. Se oli ensimmäinen kaupallinen suunnittelutyökalu, joka tuki useita PLD-perheitä. Alkuperäinen julkaisu oli tarkoitettu IBM PC: lle ja MS-DOS: lle, mutta se kirjoitettiin C-ohjelmointikielellä, jotta se voidaan siirtää muille alustoille. Personal CAD Systems (P-CAD) osti avustetun tekniikan heinäkuussa 1985. Vuonna 1986 PCAD: n kaavamaista sieppauspakettia voitiin käyttää CUPL: n käyttöliittymänä. Myöhemmin Logical Devices osti CUPL: n ja sen omistaa nyt Altium . CUPL on tällä hetkellä saatavana integroiduna kehityspakettina Microsoft Windowsille.
Atmel julkaisee ilmaiseksi WinCUPL: n (oman suunnitteluohjelmistonsa kaikille Atmelin SPLD- ja CPLD-tiedostoille). Microchip osti Atmelin.
ABEL
Data I / O Corporation julkaisi ABEL : n huhtikuussa 1984. Kehitystiimi oli Michael Holley, Mike Mraz, Gerrit Barrere, Walter Bright , Bjorn Freeman-Benson, Kyu Lee, David Pellerin, Mary Bailey, Daniel Burrier ja Charles Olivier.
Data I / O kehräsi ABEL-tuotelinjan EDA-yhtiöksi nimeltä Synario Design Systems ja myi sitten Synarion MINC Inc: lle vuonna 1997. MINC keskittyi kehittämään FPGA-kehitystyökaluja. Yhtiö sulki ovensa vuonna 1998, ja Xilinx osti osan MINC: n varoista, mukaan lukien ABEL-kieli ja työkalusarja. Sitten ABEListä tuli osa Xilinx Webpack -työkalupakettia. Nyt Xilinx omistaa ABEL: n.
Laiteohjelmoijat
Suosittuja laiteohjelmoijia olivat Data I / O Corporationin Model 60A Logic Programmer ja Model 2900.
Yksi ensimmäisistä PAL-ohjelmoijista oli Structured Design SD20 / 24. Heillä oli sisäänrakennettu PALASM-ohjelmisto, ja he tarvitsivat vain CRT-päätelaitteen syöttämään yhtälöt ja tarkastelemaan sulakekaavioita. Yhdistämisen jälkeen PAL: n lähdöt voidaan tarkistaa, jos testivektorit syötetään lähdetiedostoon.
Seuraaja
Kun MMI onnistui 20-nastaisilla PAL-osilla, jotka otettiin käyttöön noin vuonna 1978, AMD esitteli 24-nastaisen 22V10 PAL: n lisäominaisuuksilla. Ostettuaan MMI: n (noin 1987) AMD irrotti konsolidoidun toiminnan Vantis-nimisenä, ja Lattice Semiconductor osti kyseisen liiketoiminnan vuonna 1999.
Altera esitteli EP300: n (ensimmäinen CMOS PAL) vuonna 1983 ja myöhemmin siirtyi FPGA-liiketoimintaan.
Lattice Semiconductor esitteli yleisen matriisilogiikkaperheen ( GAL ) vuonna 1985 toiminnallisilla vastaavilla "V" -sarjan PAL-laitteilla, jotka käyttivät uudelleenohjelmoitavia logiikkatasoja, jotka perustuvat EEPROM -tekniikkaan (sähköisesti pyyhittävä ohjelmoitava lukumuisti). National Semiconductor oli toinen lähde GAL-osille.
AMD esitteli samanlaisen perheen nimeltä PALCE. Yleensä yksi GAL-osa pystyy toimimaan kuten mikä tahansa samanlainen perheen PAL-laite. Esimerkiksi 16V8 GAL pystyy korvaamaan 16L8, 16H8, 16H6, 16H4, 16H2 ja 16R8 PAL: t (ja monet muut paitsi).
ICT (kansainvälinen CMOS-tekniikka) toi markkinoille PEEL 18CV8: n vuonna 1986. 20-napaista CMOS EEPROM -osaa voitiin käyttää minkä tahansa rekisteröidyn lähdön kaksisuuntaisen PAL: n sijasta ja käyttää paljon vähemmän virtaa.
Suuremman mittakaavan ohjelmoitavat logiikkalaitteet esittivät Atmel , Lattice Semiconductor ja muut. Nämä laitteet laajensivat PAL-arkkitehtuuria sisällyttämällä useita loogisia tasoja ja / tai hautaamalla loogiset makrosolut loogisiin tasoihin. Termi monimutkainen ohjelmoitava logiikkalaite (CPLD) otettiin käyttöön erottaakseen nämä laitteet PAL- ja GAL-edeltäjistään, joita sitten kutsuttiin joskus yksinkertaisiksi ohjelmoitaviksi logiikkalaitteiksi (SPLD).
Toinen suuri ohjelmoitava logiikkalaite on kentällä ohjelmoitava porttiryhmä (FPGA). Nämä ovat Intelin (joka hankki Alteran ) ja Xilinxin sekä muiden puolijohdevalmistajien tällä hetkellä valmistamia laitteita .
Katso myös
Muun tyyppiset ohjelmoitavat logiikkalaitteet:
- Kentällä ohjelmoitava porttiryhmä (FPGA)
- Ohjelmoitava logiikkataulukko (PLA)
- Ohjelmoitava logiikkalaite (PLD)
- Kenttä ohjelmoitava logiikka array ( Signetics FPLA)
Nykyiset ja entiset ohjelmoitavien logiikkalaitteiden valmistajat:
- Actel
- Edistyneet mikrolaitteet (PAL, PALCE)
- Altera (Flex, Max)
- Atmel
- Cypress Semiconductor
- Intel
- Ristikkopuolijohde (GAL)
- Kansallinen puolijohde (GAL)
- QuickLogic Corp.
- Signetics (FPLA)
- Texas Instruments
- Xilinx
Nykyiset ja entiset PAL-laiteohjelmoijien valmistajat:
Viitteet
Lisälukemista
- Birkner, John ; Vincent Coli (1981). PAL-ohjelmoitavan matriisin logiikan käsikirja (2 painos). Monoliittiset muistot, Inc.
- Birkner, John; Vincent Coli (1983). PAL-ohjelmoitavan matriisin logiikan käsikirja (3 painos). Monoliittiset muistot, Inc.
- Alford, Roger C. (1989). Ohjelmoitava logiikkasuunnittelijan opas . Howard W.Sams. ISBN 0-672-22575-1 .
- JEDEC-standardi JESD3-C, tiedonsiirtojärjestelmän ja ohjelmoitavan logiikkalaitteen ohjelmoijan välinen vakiomuotoinen tiedonsiirtomuoto , kesäkuu 1994. JEDEC-asiakirjat