Logica matricei programabile - Programmable Array Logic
Programmable Array Logic ( PAL ) este o familie de semiconductori de dispozitive logice programabile utilizate pentru implementarea funcțiilor logice în circuite digitale introduse de Monolithic Memories , Inc. (MMI) în martie 1978. MMI a obținut o marcă înregistrată la termenul PAL pentru utilizare în „Programabil Circuite logice semiconductoare ". Marca comercială este deținută în prezent de Lattice Semiconductor .
Dispozitivele PAL constau dintr-un mic PROM (memorie programabilă numai în citire) și o logică de ieșire suplimentară folosită pentru a implementa anumite funcții logice dorite cu puține componente.
Folosind mașini specializate, dispozitivele PAL erau „programabile în teren”. PAL-urile erau disponibile în mai multe variante:
- „ Un timp programabil “ (OTP) dispozitive nu au putut fi actualizate și reutilizate după programarea inițială (MMI oferit , de asemenea , o familie similar numit HAL, sau „logica matrice greu“, care au fost ca dispozitive PAL cu excepția faptului că acestea au fost masca-programate , la fabrică.).
- Versiunile șterse UV (de exemplu: PALCxxxxx de exemplu: PALC22V10) aveau o fereastră de cuarț peste matrița cipului și puteau fi șterse pentru reutilizare cu o sursă de lumină ultravioletă la fel ca o EPROM .
- Versiunile ulterioare (PALCExxx, de ex. PALCE22V10) erau dispozitive care se ștergeau cu bliț.
În majoritatea aplicațiilor, GAL -urile șterse electric sunt acum implementate ca înlocuiri directe compatibile cu pin-uri pentru PAL-uri programabile o singură dată.
Istorie
Înainte de introducerea PAL-urilor, proiectanții de circuite logice digitale ar folosi componente de integrare la scară mică (SSI), cum ar fi cele din familia TTL din seria 7400 ( logică tranzistor-tranzistor ); familia 7400 a inclus o varietate de blocuri logice, cum ar fi porți ( NOT , NAND , NOR , AND , OR ), multiplexoare (MUX) și demultiplexere (DEMUX), flip flops (tip D, JK etc.) și altele . Un dispozitiv PAL ar înlocui de obicei zeci de astfel de pachete logice „discrete”, astfel încât afacerea SSI a scăzut pe măsură ce afacerea PAL a decolat. PAL-urile au fost folosite în mod avantajos în multe produse, cum ar fi minicomputerele , așa cum este documentat în cartea cea mai vândută a lui Tracy Kidder , The Soul of a New Machine .
PAL-urile nu au fost primele dispozitive logice programabile comerciale; Signetics își vândea matricea logică programabilă pe teren (FPLA) din 1975. Aceste dispozitive erau complet necunoscute pentru majoritatea proiectanților de circuite și erau percepute a fi prea dificil de utilizat. FPLA avea o viteză maximă relativ mică de funcționare (datorită matricilor programabile-ȘI și programabile-SAU), era costisitoare și avea o reputație slabă de testabilitate. Un alt factor care limitează acceptarea FPLA era mare pachet, un 600- mil (0,6" , sau 15,24 mm) lățime cu 28 de pini dublu pachetul în linie (DIP).
Proiectul de creare a dispozitivului PAL a fost gestionat de John Birkner, iar circuitul PAL actual a fost proiectat de HT Chua . Într-o lucrare anterioară (la producătorul de mini-computere Computer Automation ), Birkner dezvoltase un procesor pe 16 biți folosind 80 de dispozitive logice standard. Experiența sa cu logica standard l-a făcut să creadă că dispozitivele programabile de utilizator ar fi mai atractive dacă dispozitivele ar fi concepute pentru a înlocui logica standard. Acest lucru a însemnat că dimensiunile pachetelor trebuie să fie mai tipice pentru dispozitivele existente, iar viteza trebuie îmbunătățită. MMI intenționează ca PAL-urile să fie o parte relativ scăzută (sub 3 USD). Cu toate acestea, compania a avut inițial probleme grave de producție și a trebuit să vândă dispozitivele cu peste 50 USD. Acest lucru a amenințat viabilitatea PAL ca produs comercial, iar MMI a fost forțată să licențieze linia de produse către National Semiconductor. PAL-urile au fost ulterior „ second source ” de Texas Instruments și Advanced Micro Devices .
Tehnologii de proces
PAL-urile timpurii erau componente DIP cu 20 de pini fabricate din siliciu folosind tehnologia tranzistorului bipolar cu siguranțe de programare unică (OTP) titan-tungsten programabile. Ulterior, dispozitivele au fost fabricate de Cypress , Lattice Semiconductor și Advanced Micro Devices folosind tehnologia CMOS .
PAL-urile originale cu 20 și 24 de pini au fost denumite de MMI ca dispozitive de integrare la scară medie (MSI).
Arhitectura PAL
Arhitectura PAL constă din două componente principale: un plan logic și macrocelule logice de ieșire.
Plan logic programabil
Planul logic programabil este un tablou de memorie numai în citire programabil (PROM) care permite semnalelor prezente pe pinii dispozitivului sau complementele logice ale acelor semnale să fie direcționate către macrocelulele logice de ieșire.
Dispozitivele PAL au matrici de celule de tranzistoare dispuse într-un plan „OR-fix, programabil-ȘI” utilizat pentru a implementa ecuații logice binare „ sumă de produse ” pentru fiecare dintre ieșiri în ceea ce privește intrările și feedback sincron sau asincron de la ieșirile.
Logica de ieșire
Primele PAL-uri cu 20 de pini aveau 10 intrări și 8 ieșiri. Rezultatele erau active scăzute și puteau fi înregistrate sau combinaționale. Membrii familiei PAL erau disponibili cu diverse structuri de ieșire numite „ macrocelule logice de ieșire ” sau OLMC. Înainte de introducerea seriei „V” (pentru „variabilă”), tipurile de OLMC-uri disponibile în fiecare PAL erau fixate în momentul fabricării. (PAL16L8 avea 8 ieșiri combinaționale, iar PAL16R8 avea 8 ieșiri înregistrate. PAL16R6 avea 6 înregistrări și 2 combinaționale, în timp ce PAL16R4 avea 4 din fiecare.) Fiecare ieșire putea avea până la 8 termeni de produs (efectiv ȘI porți); cu toate acestea, ieșirile combinaționale au folosit unul dintre termeni pentru a controla un buffer de ieșire bidirecțional. Au existat alte combinații care au avut mai puține ieșiri cu mai mulți termeni de produs pe ieșire și au fost disponibile cu ieșiri active active (seria „H”). Seria de dispozitive "X" avea o poartă XOR înainte de registru. Au existat, de asemenea, versiuni similare cu 24 de pini ale acestor PAL-uri.
Această structură de ieșire fixă a frustrat deseori proiectanții care încearcă să optimizeze utilitatea dispozitivelor PAL, deoarece structurile de ieșire de diferite tipuri erau deseori cerute de aplicațiile lor. (De exemplu, nu se puteau obține 5 ieșiri înregistrate cu 3 ieșiri combinaționale active.) Deci, în iunie 1983 AMD a introdus 22V10, un dispozitiv cu 24 de pini cu 10 macrocelule logice de ieșire. Fiecare macrocelulă ar putea fi configurată de utilizator pentru a fi combinațională sau înregistrată, activă înaltă sau activă scăzută. Numărul de termeni de produs alocați unei ieșiri a variat de la 8 la 16. Acest dispozitiv ar putea înlocui toate dispozitivele PAL cu funcție fixă cu 24 de pini. Membrii seriei PAL "V" ("variabilă") au inclus PAL16V8, PAL20V8 și PAL22V10.
Programarea PAL-urilor
PALs au fost programate folosind electric modele binare (ca JEDEC ASCII / hexazecimal fișiere) și un sistem special de programe în format electronic disponibil fie de la producător sau de o terță parte, cum ar fi Data I / O . În plus față de programatorii de dispozitive cu o singură unitate, alimentatoarele de dispozitive și programatorii de bandă au fost adesea folosiți atunci când mai mult de doar câteva PAL-uri trebuiau programate. (Pentru volume mari, costurile de programare electrică ar putea fi eliminate prin faptul că producătorul fabrică o mască metalică personalizată utilizată pentru a programa modelele clienților în momentul fabricării; MMI a folosit termenul „ hard array logic ” (HAL) pentru a se referi la dispozitivele programate în acest fel.)
Limbaje de programare (după ordinea cronologică a apariției)
Deși unii ingineri au programat dispozitive PAL prin editarea manuală a fișierelor care conțin datele modelului de siguranță binară, cei mai mulți au optat pentru a-și proiecta logica folosind un limbaj de descriere hardware (HDL), cum ar fi ABEL Data I / O , CUPL Logical Devices sau PALMI MMI . Acestea erau programe de proiectare asistată de computer ( CAD ) (denumite acum „ automatizare electronică a designului ”) care traduceau (sau „compilau”) ecuațiile logice ale proiectanților în fișiere binare de hărți ale siguranțelor utilizate pentru a programa (și adesea testa) fiecare dispozitiv.
PALASM
PALASM ( de la „asamblare PAL“) limba a fost dezvoltat de către John Birkner la începutul anilor 1980 și compilatorul PALASM a fost scris de MMI în Fortran IV pe un IBM 370/168. MMI a pus codul sursă la dispoziția utilizatorilor fără costuri. Până în 1983, clienții MMI au rulat versiuni pe DEC PDP-11 , Data General NOVA , Hewlett-Packard HP 2100 , MDS800 și altele.
A fost folosit pentru a exprima ecuații booleene pentru pinii de ieșire într-un fișier text care a fost apoi convertit în fișierul „hartă siguranțe” pentru sistemul de programare utilizând un program furnizat de furnizor; mai târziu, opțiunea de traducere din schemă a devenit obișnuită și, mai târziu, „hărțile fuse” ar putea fi „sintetizate” dintr-un HDL (limbaj de descriere hardware), cum ar fi Verilog .
CUPL
Assisted Technology a lansat CUPL ( C ompiler pentru U niversal P rogrammable L ogic) în septembrie 1983. Programul a fost întotdeauna denumit CUPL și niciodată acronimul extins. A fost primul instrument de proiectare comercială care a sprijinit mai multe familii PLD. Lansarea inițială a fost pentru IBM PC și MS-DOS, dar a fost scrisă în limbajul de programare C, astfel încât să poată fi portată pe platforme suplimentare. Tehnologia asistată a fost achiziționată de Personal CAD Systems (P-CAD) în iulie 1985. În 1986, pachetul de captare schematică a PCAD putea fi folosit ca front-end pentru CUPL. CUPL a fost achiziționat ulterior de Logical Devices și este acum deținut de Altium . CUPL este disponibil în prezent ca pachet de dezvoltare integrat pentru Microsoft Windows.
Atmel lansează gratuit WinCUPL (propriul software de proiectare pentru toate SPLD-urile și CPLD-urile Atmel). Atmel a fost achiziționat de Microchip.
ABEL
Data I / O Corporation a lansat ABEL în aprilie 1984. Echipa de dezvoltare a fost Michael Holley, Mike Mraz, Gerrit Barrere, Walter Bright , Bjorn Freeman-Benson, Kyu Lee, David Pellerin, Mary Bailey, Daniel Burrier și Charles Olivier.
Data I / O a intrat în linia de produse ABEL într-o companie EDA numită Synario Design Systems și apoi a vândut Synario către MINC Inc în 1997. MINC s-a concentrat pe dezvoltarea instrumentelor de dezvoltare FPGA. Compania și-a închis porțile în 1998, iar Xilinx a achiziționat unele dintre activele MINC, inclusiv limbajul ABEL și setul de instrumente. ABEL a devenit apoi parte din suita de instrumente Xilinx Webpack. Acum Xilinx deține ABEL.
Programatori de dispozitive
Programatorii de dispozitive populari au inclus Programul de logică Model 60A al Data I / O Corporation și Modelul 2900.
Unul dintre primii programatori PAL a fost Structured Design SD20 / 24. Aveau software-ul PALASM încorporat și necesitau doar un terminal CRT pentru a intra în ecuații și pentru a vizualiza graficele siguranței. După fuzionare, ieșirile PAL pot fi verificate dacă s-au introdus vectori de testare în fișierul sursă.
Succesori
După ce MMI a reușit cu piesele PAL cu 20 de pini introduse în 1978, AMD a introdus PAL-ul cu 24 de pini 22V10 cu caracteristici suplimentare. După cumpărarea MMI (circa 1987), AMD a încheiat o operațiune consolidată ca Vantis, iar acea afacere a fost achiziționată de Lattice Semiconductor în 1999.
Altera a introdus EP300 (mai întâi CMOS PAL) în 1983 și ulterior s-a mutat în afacerea FPGA.
Lattice Semiconductor a introdus familia logicii matricei generice ( GAL ) în 1985, cu echivalenți funcționali ai PAL-urilor din seria "V" care foloseau planuri logice reprogramabile bazate pe tehnologia EEPROM (memorie programabilă de citire numai ștergibilă electric). National Semiconductor a fost a doua sursă pentru piesele GAL.
AMD a introdus o familie similară numită PALCE. În general, o parte GAL poate funcționa ca oricare dintre dispozitivele PAL de familie similare. De exemplu, 16V8 GAL este capabil să înlocuiască PAL-urile 16L8, 16H8, 16H6, 16H4, 16H2 și 16R8 (și multe altele pe lângă acestea).
ICT (International CMOS Technology) a introdus PEEL 18CV8 în 1986. Partea CMOS EEPROM cu 20 de pini ar putea fi utilizată în locul oricărui PAL bipolar cu ieșire înregistrată și a utilizat mult mai puțină energie.
Dispozitivele logice programabile la scară mai mare au fost introduse de Atmel , Lattice Semiconductor și alții. Aceste dispozitive au extins arhitectura PAL prin includerea mai multor planuri logice și / sau îngroparea macrocelulelor logice în planul (planurile) logic (e). Termenul de dispozitiv logic programabil complex (CPLD) a fost introdus pentru a diferenția aceste dispozitive de predecesorii lor PAL și GAL, care uneori erau denumiți uneori ca dispozitive logice programabile simple (SPLD).
Un alt dispozitiv logic programabil mare este matricea de poartă programabilă pe câmp (FPGA). Acestea sunt dispozitive fabricate în prezent de Intel (care a achiziționat Altera ) și Xilinx și alți producători de semiconductori.
Vezi si
Alte tipuri de dispozitive logice programabile:
- Matrice de poartă programabilă pe câmp (FPGA)
- Matrice logică programabilă (PLA)
-
Dispozitiv logic programabil (PLD)
- Dispozitiv logic programabil complex (CPLD)
- Dispozitiv logic ștergabil (EPLD)
- Matrice logică programabilă pe teren ( Signetics FPLA)
Producătorii actuali și foști de dispozitive logice programabile:
- Actel
- Dispozitive avansate de micro (PAL, PALCE)
- Altera (Flex, Max)
- Atmel
- Cypress Semiconductor
- Intel
- Lattice Semiconductor (GAL)
- Semiconductor național (GAL)
- QuickLogic Corp.
- Signetica (FPLA)
- Texas Instruments
- Xilinx
Producători actuali și foști de programatori de dispozitive PAL:
Referințe
Lecturi suplimentare
- Birkner, John ; Vincent Coli (1981). PAL Programmable Array Logic Handbook (2 ed.). Amintiri monolitice, Inc.
- Birkner, John; Vincent Coli (1983). PAL Programmable Array Logic Handbook (3 ed.). Amintiri monolitice, Inc.
- Alford, Roger C. (1989). Ghid de proiectare a logicii programabile . Howard W. Sams. ISBN 0-672-22575-1 .
- Standardul JEDEC JESD3-C, formatul standard al transferului de date între sistemul de pregătire a datelor și programatorul programabil al dispozitivelor logice , iunie 1994. Documente JEDEC