Programmeerbare array-logica - Programmable Array Logic
Programmable Array Logic ( PAL ) is een familie van programmeerbare halfgeleiders voor logische apparaten die worden gebruikt om logische functies in digitale circuits te implementeren die in maart 1978 door Monolithic Memories , Inc. (MMI) zijn geïntroduceerd . MMI heeft een geregistreerd handelsmerk verkregen onder de term PAL voor gebruik in 'Programmable Logische halfgeleidercircuits ". Het handelsmerk is momenteel in handen van Lattice Semiconductor .
PAL-apparaten bestonden uit een kleine PROM -kern (programmeerbaar alleen-lezen geheugen) en aanvullende uitgangslogica die werd gebruikt om bepaalde gewenste logische functies met weinig componenten te implementeren.
Met behulp van gespecialiseerde machines waren PAL-apparaten "in het veld programmeerbaar". PAL's waren beschikbaar in verschillende varianten:
- " One-time programmable " (OTP) -apparaten konden niet worden bijgewerkt en hergebruikt na de initiële programmering (MMI bood ook een vergelijkbare familie genaamd HAL, of "hard array logic", die op PAL-apparaten leken, behalve dat ze in het masker waren geprogrammeerd. fabriek.).
- UV-uitwisbare versies (bijv .: PALCxxxxx bijv .: PALC22V10) hadden een kwartsvenster over de chipmatrijs en konden worden gewist voor hergebruik met een ultraviolette lichtbron, net als een EPROM .
- Latere versies (PALCExxx bijv .: PALCE22V10) waren flash-uitwisbare apparaten.
In de meeste toepassingen worden elektrisch uitwisbare GAL 's nu ingezet als pin-compatibele directe vervangingen voor eenmalige programmeerbare PAL's.
Geschiedenis
Voordat PAL's werden geïntroduceerd, gebruikten ontwerpers van digitale logische schakelingen kleinschalige integratiecomponenten (SSI), zoals die in de 7400-serie TTL-familie ( transistor-transistorlogica ); de 7400-familie omvatte een verscheidenheid aan logische bouwstenen, zoals poorten ( NOT , NAND , NOR , AND , OR ), multiplexers (MUXes) en demultiplexers (DEMUXes), flip-flops (D-type, JK, etc.) en andere . Eén PAL-apparaat zou doorgaans tientallen van dergelijke "discrete" logische pakketten vervangen, dus de SSI-activiteiten gingen achteruit naarmate de PAL-activiteiten van de grond kwamen. PAL 's werden met voordeel gebruikt in veel producten, zoals minicomputers , zoals gedocumenteerd in Tracy Kidder ' s best verkochte boek The Soul of a New Machine .
PAL's waren niet de eerste commerciële programmeerbare logische apparaten; Signetics verkocht zijn field programmable logic array (FPLA) al sinds 1975. Deze apparaten waren de meeste circuitontwerpers totaal onbekend en werden als te moeilijk te gebruiken ervaren. De FPLA had een relatief lage maximale werksnelheid (vanwege zowel programmeerbare-EN- als programmeerbare-OF-arrays), was duur en had een slechte reputatie op het gebied van testbaarheid. Een andere factor die de acceptatie van de FPLA beperkte, was het grote pakket, een 600 mil (0,6 "of 15,24 mm) breed 28-pins dual in-line pakket (DIP).
Het project om het PAL-apparaat te maken werd beheerd door John Birkner en het daadwerkelijke PAL-circuit werd ontworpen door HT Chua . In een vorige baan (bij minicomputerfabrikant Computer Automation ) had Birkner een 16-bits processor ontwikkeld met 80 standaard logische apparaten. Zijn ervaring met standaardlogica bracht hem ertoe te geloven dat door de gebruiker programmeerbare apparaten aantrekkelijker zouden zijn als de apparaten waren ontworpen om standaardlogica te vervangen. Dit betekende dat de verpakkingsgroottes meer typerend moesten zijn voor de bestaande apparaten en de snelheden moesten worden verbeterd. MMI had de bedoeling dat PAL's een relatief goedkoop (minder dan $ 3) onderdeel zouden zijn. Het bedrijf had aanvankelijk echter ernstige problemen met de productieopbrengst en moest de apparaten voor meer dan $ 50 verkopen. Dit bedreigde de levensvatbaarheid van de PAL als commercieel product en MMI werd gedwongen om de productlijn in licentie te geven aan National Semiconductor. PAL's werden later " second sourced " door Texas Instruments en Advanced Micro Devices .
Verwerkingstechnieken
Vroege PAL's waren 20-pins DIP- componenten vervaardigd in silicium met behulp van bipolaire transistortechnologie met eenmalige programmeerbare (OTP) titanium-wolfraam programmeerzekeringen. Latere apparaten werden vervaardigd door Cypress , Lattice Semiconductor en Advanced Micro Devices met behulp van CMOS- technologie.
De originele 20- en 24-pins PAL's werden door MMI aangeduid als medium-scale integratie (MSI) -apparaten.
PAL-architectuur
De PAL-architectuur bestaat uit twee hoofdcomponenten: een logisch vlak en logische uitgangsmacrocellen.
Programmeerbaar logicavlak
Het programmeerbare logische vlak is een programmeerbaar alleen-lezen geheugen (PROM) -array waarmee de signalen die aanwezig zijn op de apparaatpennen, of de logische complementen van die signalen, kunnen worden gerouteerd naar logische macrocellen om uit te voeren.
PAL-apparaten hebben reeksen transistorcellen die zijn gerangschikt in een 'vast-OF-, programmeerbaar-EN'-vlak dat wordt gebruikt om' som-van-producten 'binaire logische vergelijkingen voor elk van de uitgangen te implementeren in termen van de ingangen en ofwel synchrone of asynchrone feedback van de outputs.
Uitgangslogica
De vroege 20-pins PAL's hadden 10 ingangen en 8 uitgangen. De uitgangen waren laag actief en konden worden geregistreerd of gecombineerd. Leden van de PAL-familie waren verkrijgbaar met verschillende uitgangsstructuren die " output logic macrocells " of OLMC's worden genoemd. Voorafgaand aan de introductie van de "V" -serie (voor "variabele"), werden de typen OLMC's die in elke PAL beschikbaar waren, vastgesteld op het moment van fabricage. (De PAL16L8 had 8 gecombineerde uitgangen en de PAL16R8 had 8 geregistreerde uitgangen. De PAL16R6 had 6 geregistreerde en 2 gecombineerde uitgangen, terwijl de PAL16R4 er 4 van elk had.) Elke uitgang kon maximaal 8 producttermen hebben (in feite EN poorten); de combinatie-uitgangen gebruikten echter een van de termen om een bidirectionele uitgangsbuffer te besturen. Er waren andere combinaties die minder outputs hadden met meer producttermen per output en die beschikbaar waren met actieve hoge outputs ("H" -serie). De apparatenreeks "X" had een XOR-poort voor het register. Er waren ook vergelijkbare 24-pins versies van deze PAL's.
Deze vaste outputstructuur frustreerde vaak ontwerpers die probeerden de bruikbaarheid van PAL-apparaten te optimaliseren, omdat vaak outputstructuren van verschillende typen nodig waren voor hun toepassingen. (Je kon bijvoorbeeld geen 5 geregistreerde uitgangen krijgen met 3 actieve hoge combinatorische uitgangen.) Dus in juni 1983 introduceerde AMD de 22V10, een 24-pins apparaat met 10 logische macrocellen met uitgangen. Elke macrocel kan door de gebruiker worden geconfigureerd om combinatief of geregistreerd, actief hoog of actief laag te zijn. Het aantal producttermen dat aan een uitgang werd toegewezen, varieerde van 8 tot 16. Dit ene apparaat zou alle 24-pins vaste PAL-apparaten kunnen vervangen. Leden van de PAL "V" ("variabele") serie waren de PAL16V8, PAL20V8 en PAL22V10.
PAL's programmeren
PAL's werden geprogrammeerd elektrisch met behulp van binaire patronen (zoals JEDEC ASCII / hexadecimale bestanden) en een speciale elektronische programmeersysteem verkrijgbaar bij de fabrikant of een derde partij, zoals DATA I / O . Naast apparaatprogrammeurs voor één eenheid werden vaak apparaatfeeders en bendeprogrammeurs gebruikt wanneer er meer dan slechts een paar PAL's moesten worden geprogrammeerd. (Voor grote volumes kunnen elektrische programmeerkosten worden geëlimineerd door de fabrikant een op maat gemaakt metalen masker te laten fabriceren dat wordt gebruikt om de patronen van de klanten te programmeren op het moment van fabricage; MMI gebruikte de term ' hard array logic ' (HAL) om te verwijzen naar geprogrammeerde apparaten op deze manier.)
Programmeertalen (in chronologische volgorde van verschijning)
Hoewel sommige ingenieurs PAL-apparaten programmeerden door handmatig bestanden te bewerken die de gegevens van het binaire zekeringspatroon bevatten, kozen de meesten ervoor om hun logica te ontwerpen met behulp van een hardwarebeschrijvingstaal (HDL) zoals Data I / O's ABEL , Logical Devices 'CUPL of MMI's PALASM . Dit waren computer-assisted design ( CAD ) programma's (nu aangeduid als " electronic design automation ") programma's die de logische vergelijkingen van de ontwerpers vertaalden (of "compileerden") in binaire fuse map-bestanden die werden gebruikt om elk apparaat te programmeren (en vaak te testen).
PALASM
De PALASM (van "PAL assembler") taal werd ontwikkeld door John Birkner in de vroege jaren 1980 en de PALASM compiler werd geschreven door MMI in FORTRAN IV op een IBM 370/168. MMI stelde de broncode kosteloos ter beschikking van de gebruikers. In 1983 draaiden MMI-klanten versies op de DEC PDP-11 , Data General NOVA , Hewlett-Packard HP 2100 , MDS800 en anderen.
Het werd gebruikt om booleaanse vergelijkingen uit te drukken voor de outputpinnen in een tekstbestand dat vervolgens werd geconverteerd naar het 'fuse map'-bestand voor het programmeersysteem met behulp van een door de leverancier geleverd programma; later werd de optie van vertaling vanuit schema's gebruikelijk, en nog later konden 'fuse maps' worden 'gesynthetiseerd' vanuit een HDL (hardware description language) zoals Verilog .
CUPL
Assisted Technology bracht in september 1983 CUPL ( C ompiler for U niversal P rogrammable L ogic) uit. De software werd altijd CUPL genoemd en nooit het uitgebreide acroniem. Het was de eerste commerciële ontwerptool die meerdere PLD-families ondersteunde. De oorspronkelijke release was voor de IBM-pc en MS-DOS, maar het was geschreven in de programmeertaal C, zodat het naar andere platforms kon worden overgezet. Assisted Technology werd in juli 1985 overgenomen door Personal CAD Systems (P-CAD). In 1986 kon het schematische opnamepakket van PCAD worden gebruikt als een front-end voor CUPL. CUPL werd later overgenomen door Logical Devices en is nu eigendom van Altium . CUPL is momenteel beschikbaar als een geïntegreerd ontwikkelingspakket voor Microsoft Windows.
Atmel brengt gratis WinCUPL uit (hun eigen ontwerpsoftware voor alle Atmel SPLD's en CPLD's). Atmel werd overgenomen door Microchip.
ABEL
Data I / O Corporation bracht ABEL uit in april 1984. Het ontwikkelingsteam was Michael Holley, Mike Mraz, Gerrit Barrere, Walter Bright , Bjorn Freeman-Benson, Kyu Lee, David Pellerin, Mary Bailey, Daniel Burrier en Charles Olivier.
Data I / O spon van de ABEL-productlijn naar een EDA-bedrijf genaamd Synario Design Systems en verkocht vervolgens Synario aan MINC Inc. in 1997. MINC was gericht op het ontwikkelen van FPGA-ontwikkeltools. Het bedrijf sloot zijn deuren in 1998 en Xilinx verwierf een deel van de activa van MINC, waaronder de ABEL-taal en toolset. ABEL werd toen onderdeel van de Xilinx Webpack tool suite. Nu is Xilinx eigenaar van ABEL.
Apparaatprogrammeurs
Populaire apparaatprogrammeurs waren onder meer de Model 60A Logic Programmer van Data I / O Corporation en Model 2900.
Een van de eerste PAL-programmeurs was de Structured Design SD20 / 24. Ze hadden de PALASM-software ingebouwd en hadden alleen een CRT-terminal nodig om de vergelijkingen in te voeren en de zekeringplots te bekijken. Na het fuseren konden de outputs van de PAL worden geverifieerd als testvectoren in het bronbestand waren ingevoerd.
Opvolgers
Nadat MMI slaagde met de 20-pins PAL-onderdelen die rond 1978 werden geïntroduceerd , introduceerde AMD de 24-pins 22V10 PAL met extra functies. Na het kopen van MMI (circa 1987), verzelfstandigde AMD een geconsolideerde activiteit onder de naam Vantis, en dat bedrijf werd in 1999 overgenomen door Lattice Semiconductor .
Altera introduceerde de EP300 (eerste CMOS PAL) in 1983 en stapte later over naar de FPGA-business.
Lattice Semiconductor introduceerde de generieke array-logicafamilie ( GAL ) in 1985, met functionele equivalenten van de "V" -serie PAL's die herprogrammeerbare logische vlakken gebruikten op basis van EEPROM -technologie (elektrisch uitwisbaar programmeerbaar alleen-lezen geheugen). National Semiconductor was een tweede bron voor GAL-onderdelen.
AMD introduceerde een soortgelijke familie genaamd PALCE. In het algemeen kan één GAL-deel functioneren als een van de vergelijkbare PAL-apparaten uit de familie. De 16V8 GAL kan bijvoorbeeld de 16L8, 16H8, 16H6, 16H4, 16H2 en 16R8 PAL's (en vele andere) vervangen.
ICT (International CMOS Technology) introduceerde de PEEL 18CV8 in 1986. Het 20-pins CMOS EEPROM-gedeelte kon worden gebruikt in plaats van alle geregistreerde bipolaire PAL's en verbruikt veel minder stroom.
Programmeerbare logische apparaten op grotere schaal werden geïntroduceerd door Atmel , Lattice Semiconductor en anderen. Deze apparaten hebben de PAL-architectuur uitgebreid door meerdere logische vlakken op te nemen en / of logische macrocellen in het logische vlak (en) te begraven. De term complex programmeerbaar logisch apparaat (CPLD) werd geïntroduceerd om deze apparaten te onderscheiden van hun PAL- en GAL-voorgangers, die toen soms werden aangeduid als eenvoudige programmeerbare logische apparaten (SPLD's).
Een ander groot programmeerbaar logisch apparaat is de veldprogrammeerbare poortopstelling (FPGA). Dit zijn apparaten die momenteel worden gemaakt door Intel (die Altera heeft overgenomen ) en Xilinx en andere halfgeleiderfabrikanten.
Zie ook
Andere soorten programmeerbare logische apparaten:
- Veldprogrammeerbare poortopstelling (FPGA)
- Programmeerbare logicarray (PLA)
- Programmeerbaar logisch apparaat (PLD)
- Programmeren logische reeks ( Signetics FPLA)
Huidige en voormalige makers van programmeerbare logische apparaten:
- Actel
- Geavanceerde micro-apparaten (PAL, PALCE)
- Altera (Flex, Max)
- Atmel
- Cypress Semiconductor
- Intel
- Lattice Semiconductor (GAL)
- National Semiconductor (GAL)
- QuickLogic Corp.
- Signetica (FPLA)
- Texas Instrumenten
- Xilinx
Huidige en voormalige makers van PAL-apparaatprogrammeurs:
Referenties
Verder lezen
- Birkner, John ; Vincent Coli (1981). PAL Programmable Array Logic Handbook (2e ed.). Monolithic Memories, Inc.
- Birkner, John; Vincent Coli (1983). PAL Programmable Array Logic Handbook (3e ed.). Monolithic Memories, Inc.
- Alford, Roger C. (1989). Programmeerbare Logic Designer's Guide . Howard W. Sams. ISBN 0-672-22575-1 .
- JEDEC Standard JESD3-C, Standard Data Transfer Format Between Data Preparation System and Programmable Logic Device Programmer , juni 1994. JEDEC-documenten