Programmerbar matrixlogik - Programmable Array Logic
Programmable Array Logic ( PAL ) er en familie af programmerbare halvledere med logisk enhed, der anvendes til at implementere logiske funktioner i digitale kredsløb introduceret af Monolithic Memories , Inc. (MMI) i marts 1978. MMI opnåede et registreret varemærke på udtrykket PAL til brug i "Programmerbar Semiconductor Logic Circuits ". Varemærket ejes i øjeblikket af Lattice Semiconductor .
PAL-enheder bestod af en lille PROM -kerne (programmerbar skrivebeskyttet hukommelse) og yderligere outputlogik, der blev brugt til at implementere bestemte ønskede logiske funktioner med få komponenter.
Ved hjælp af specialmaskiner var PAL-enheder "feltprogrammerbare". PAL'er var tilgængelige i flere varianter:
- " Engangs-programmerbare " (OTP) enheder kunne ikke opdateres og genbruges efter indledende programmering (MMI tilbød også en lignende familie kaldet HAL eller "hard array logic", som var ligesom PAL-enheder bortset fra at de var maskerede programmeret på fabrik.).
- UV-sletbare versioner (f.eks .: PALCxxxxx f.eks .: PALC22V10) havde et kvartsvindue over chipformen og kunne slettes til genbrug med en ultraviolet lyskilde ligesom en EPROM .
- Senere versioner (PALCExxx f.eks.: PALCE22V10) var flash-sletbare enheder.
I de fleste applikationer er elektrisk sletbare GAL'er nu implementeret som pin-kompatible direkte udskiftninger til engangsprogrammerbare PAL'er.
Historie
Før PAL'er blev introduceret, ville designere af digitale logiske kredsløb bruge komponenter i lille skala (SSI), såsom dem i 7400-serien TTL ( transistor-transistorlogik ) -familien; 7400-familien inkluderede en række logiske byggesten, såsom porte ( NOT , NAND , NOR , AND , OR ), multiplexere (MUXes) og demultiplexers (DEMUXes), flip flops (D-type, JK osv.) og andre . Én PAL-enhed ville typisk erstatte snesevis af sådanne "diskrete" logiske pakker, så SSI-forretningen faldt, da PAL-virksomheden startede. PAL'er blev med fordel brugt i mange produkter, såsom minicomputere , som dokumenteret i Tracy Kiders bedst sælgende bog The Soul of a New Machine .
PAL'er var ikke de første kommercielle programmerbare logiske enheder; Signetics havde solgt sit feltprogrammerbare logiske array (FPLA) siden 1975. Disse enheder var helt ukendte for de fleste kredsløbsdesignere og blev opfattet som for vanskelige at bruge. FPLA havde en relativt langsom maksimal driftshastighed (på grund af at have både programmerbare-OG og programmerbare-ELLER arrays), var dyr og havde et dårligt ry for testbarhed. En anden faktor, der begrænsede accept af FPLA, var den store pakke, en 600 mil (0,6 "eller 15,24 mm) bred 28-benet dobbelt in-line pakke (DIP).
Projektet til oprettelse af PAL-enheden blev administreret af John Birkner, og det egentlige PAL-kredsløb blev designet af HT Chua . I et tidligere job (hos mini-computerproducenten Computer Automation ) havde Birkner udviklet en 16-bit processor ved hjælp af 80 standardlogiske enheder. Hans erfaring med standardlogik fik ham til at tro, at brugerprogrammerbare enheder ville være mere attraktive, hvis enhederne var designet til at erstatte standardlogik. Dette betød, at pakkestørrelserne skulle være mere typiske for de eksisterende enheder, og hastighederne skulle forbedres. MMI havde til hensigt, at PAL'er skulle være en relativt billig (sub $ 3) del. Imidlertid havde virksomheden oprindeligt alvorlige produktionsudbytteproblemer og måtte sælge enhederne for over $ 50. Dette truede PAL's levedygtighed som et kommercielt produkt, og MMI blev tvunget til at licensere produktlinjen til National Semiconductor. PAL'er blev senere " anden kilde " af Texas Instruments og Advanced Micro Devices .
Proces teknologier
Tidlige PAL'er var 20-pin DIP- komponenter fremstillet i silicium ved hjælp af bipolar transistorteknologi med engangsprogrammerbare (OTP) titanium-wolfram programmeringssikringer. Senere enheder blev fremstillet af Cypress , Lattice Semiconductor og Advanced Micro Devices ved hjælp af CMOS- teknologi.
De originale 20 og 24-pin PAL'er blev betegnet af MMI som mellemstore integrationsenheder (MSI).
PAL-arkitektur
PAL-arkitekturen består af to hovedkomponenter: et logisk plan og outputlogiske makroceller.
Programmerbart logisk plan
Det programmerbare logiske plan er et programmerbart read-only memory (PROM) array, der gør det muligt at dirigere de signaler, der er til stede på enhedens ben, eller de logiske komplement til disse signaler, til at sende logiske makroceller.
PAL-enheder har arrays af transistorceller arrangeret i et "fast ELLER, programmerbart OG" plan, der bruges til at implementere " sum-of-products " binære logiske ligninger for hver af udgangene med hensyn til input og enten synkron eller asynkron feedback fra udgangene.
Output logik
De tidlige 20-pin PAL'er havde 10 indgange og 8 udgange. Outputs var aktive lave og kunne registreres eller kombineres. Medlemmer af PAL-familien var tilgængelige med forskellige outputstrukturer kaldet " output logic macrocells " eller OLMCs. Før introduktionen af serien "V" (for "variabel") blev de typer OLMC'er, der var tilgængelige i hver PAL, rettet på fremstillingstidspunktet. (PAL16L8 havde 8 kombinationsudgange, og PAL16R8 havde 8 registrerede udgange. PAL16R6 havde 6 registrerede og 2 kombinerede, mens PAL16R4 havde 4 af hver.) Hver udgang kunne have op til 8 produktbetingelser (effektivt OG porte); kombinationsudgange anvendte imidlertid et af udtrykkene til at styre en tovejs outputbuffer. Der var andre kombinationer, der havde færre output med flere produktbetingelser pr. Output og var tilgængelige med aktive høje output ("H" -serien). "X" -serien af enheder havde en XOR-port før registret. Der var også lignende 24-pin versioner af disse PAL'er.
Denne faste outputstruktur frustrerede ofte designere, der forsøgte at optimere anvendelsen af PAL-enheder, fordi outputstrukturer af forskellige typer ofte var nødvendige af deres applikationer. (For eksempel kunne man ikke få 5 registrerede udgange med 3 aktive høje kombinationsudgange.) Så i juni 1983 introducerede AMD 22V10, en 24-pin enhed med 10 output logiske makroceller. Hver makrocell kunne konfigureres af brugeren til at være kombinations- eller registreret, aktiv høj eller aktiv lav. Antallet af produkttermer, der er allokeret til et output, varierede fra 8 til 16. Denne ene enhed kunne erstatte alle de 24 pin faste PAL-enheder. Medlemmer af PAL "V" ("variabel") serien inkluderede PAL16V8, PAL20V8 og PAL22V10.
Programmering af PAL'er
PAL'er var programmeret elektrisk anvendelse binære mønster (som JEDEC ASCII / hexadecimale filer) og en særlig elektronisk programmeringssystem tilgængelig fra enten af fabrikanten eller en tredjepart, såsom DATA I / O . Ud over enhedsprogrammerere til enkelt enheder blev enhedsfeedere og bande-programmerere ofte brugt, når mere end blot et par PAL'er skulle programmeres. (Ved store mængder kunne elektriske programmeringsomkostninger elimineres ved at få producenten til at fremstille en brugerdefineret metalmaske, der blev brugt til at programmere kundernes mønstre på fremstillingstidspunktet. MMI brugte udtrykket " hard array logic " (HAL) til at henvise til programmerede enheder på denne måde.)
Programmeringssprog (efter kronologisk rækkefølge)
Selvom nogle ingeniører programmerede PAL-enheder ved manuelt at redigere filer, der indeholder de binære sikringsmønsterdata, valgte de fleste at designe deres logik ved hjælp af et hardwarebeskrivelsessprog (HDL) såsom Data I / O's ABEL , Logical Devices 'CUPL eller MMI's PALASM . Disse var computerassisteret design ( CAD ) (nu benævnt " elektronisk designautomatisering ") programmer, der oversatte (eller "kompilerede") designernes logiske ligninger til binære sikringskortfiler, der blev brugt til at programmere (og ofte teste) hver enhed.
PALASM
Den PALASM (fra "PAL assembler") sprog blev udviklet af John Birkner i begyndelsen af 1980'erne, og den PALASM compiler blev skrevet af MMI i FORTRAN IV på en IBM 370/168. MMI gjorde kildekoden tilgængelig for brugere uden omkostninger. I 1983 kørte MMI-kunder versioner på DEC PDP-11 , Data General NOVA , Hewlett-Packard HP 2100 , MDS800 og andre.
Det blev brugt til at udtrykke boolske ligninger for outputstifterne i en tekstfil, der derefter blev konverteret til 'fuse map' -filen til programmeringssystemet ved hjælp af et leverandør-leveret program; senere blev muligheden for oversættelse fra skemaer almindelig, og senere stadig kunne 'sikringskort' 'syntetiseres' fra et HDL (hardwarebeskrivelsessprog) som Verilog .
CUPL
Assisted Technology udgav CUPL ( C om spiller for U niversal P rogrammable L ogic) i september 1983. Softwaren blev altid kaldt CUPL og aldrig det udvidede akronym. Det var det første kommercielle designværktøj, der understøttede flere PLD-familier. Den oprindelige udgivelse var til IBM PC og MS-DOS, men den var skrevet på C-programmeringssproget, så den kunne overføres til yderligere platforme. Assisteret teknologi blev erhvervet af Personal CAD Systems (P-CAD) i juli 1985. I 1986 kunne PCADs skematiske opsamlingspakke bruges som en frontend for CUPL. CUPL blev senere erhvervet af Logical Devices og ejes nu af Altium . CUPL er i øjeblikket tilgængelig som en integreret udviklingspakke til Microsoft Windows.
Atmel frigiver gratis WinCUPL (deres eget designsoftware til alle Atmel SPLD'er og CPLD'er). Atmel blev erhvervet af Microchip.
ABEL
Data I / O Corporation frigav ABEL i april 1984. Udviklingsteamet var Michael Holley, Mike Mraz, Gerrit Barrere, Walter Bright , Bjorn Freeman-Benson, Kyu Lee, David Pellerin, Mary Bailey, Daniel Burrier og Charles Olivier.
Data I / O spredte sig fra ABEL-produktlinjen til et EDA-firma kaldet Synario Design Systems og solgte derefter Synario til MINC Inc i 1997. MINC var fokuseret på at udvikle FPGA-udviklingsværktøjer. Virksomheden lukkede sine døre i 1998, og Xilinx erhvervede nogle af MINCs aktiver inklusive ABEL-sprog og værktøjssæt. ABEL blev derefter en del af Xilinx Webpack-værktøjspakken. Nu ejer Xilinx ABEL.
Enhedsprogrammerere
Populære enhedsprogrammerere inkluderet Data I / O Corporation 's Model 60A Logic Programmer og Model 2900.
En af de første PAL-programmerere var Structured Design SD20 / 24. De havde indbygget PALASM-softwaren og krævede kun en CRT-terminal for at komme ind i ligningerne og se sikringsplotterne. Efter sammensmeltning kunne PAL's output verificeres, hvis testvektorer blev indtastet i kildefilen.
Efterfølgere
Efter at MMI lykkedes med de 20-pin PAL-dele, der blev introduceret omkring 1978, introducerede AMD 24-pin 22V10 PAL med yderligere funktioner. Efter at have købt MMI (omkring 1987) udråbte AMD en konsolideret virksomhed som Vantis, og den forretning blev erhvervet af Lattice Semiconductor i 1999.
Altera introducerede EP300 (første CMOS PAL) i 1983 og flyttede senere ind i FPGA-forretningen.
Lattice Semiconductor introducerede den generiske array-logikfamilie ( GAL ) i 1985 med funktionelle ækvivalenter af "V" -serien PAL'er, der brugte omprogrammerbare logiske planer baseret på EEPROM -teknologi (elektrisk sletbar, programmerbar, skrivebeskyttet hukommelse). National Semiconductor var en anden kilde til GAL-dele.
AMD introducerede en lignende familie kaldet PALCE. Generelt er en GAL-del i stand til at fungere som en hvilken som helst af de lignende familie-PAL-enheder. For eksempel er 16V8 GAL i stand til at erstatte 16L8, 16H8, 16H6, 16H4, 16H2 og 16R8 PAL'er (og mange andre udover).
ICT (International CMOS Technology) introducerede PEEL 18CV8 i 1986. Den 20-benede CMOS EEPROM-del kunne bruges i stedet for nogen af de bipolære PAL'er med registreret output og brugt meget mindre strøm.
Programmerbare logiske enheder i større skala blev introduceret af Atmel , Lattice Semiconductor og andre. Disse enheder udvidede PAL-arkitekturen ved at inkludere flere logiske planer og / eller begrave logiske makroceller i det eller de logiske planer. Udtrykket kompleks programmerbar logisk enhed (CPLD) blev introduceret for at differentiere disse enheder fra deres PAL- og GAL-forgængere, som derefter undertiden blev omtalt som enkle programmerbare logiske enheder (SPLD'er).
En anden stor programmerbar logisk enhed er det feltprogrammerbare gate array (FPGA). Dette er enheder, der i øjeblikket er fremstillet af Intel (som erhvervede Altera ) og Xilinx og andre halvlederproducenter.
Se også
Andre typer programmerbare logiske enheder:
- Feltprogrammerbar gate array (FPGA)
- Programmerbar logisk matrix (PLA)
- Programmerbar logisk enhed (PLD)
- Feltprogrammerbar logisk matrix ( Signetics FPLA)
Nuværende og tidligere producenter af programmerbare logiske enheder:
- Actel
- Avancerede mikroenheder (PAL, PALCE)
- Altera (Flex, Max)
- Atmel
- Cypress Semiconductor
- Intel
- Gitter halvleder (GAL)
- National Semiconductor (GAL)
- QuickLogic Corp.
- Signetics (FPLA)
- Texas Instruments
- Xilinx
Nuværende og tidligere producenter af PAL-enhedsprogrammerere:
Referencer
Yderligere læsning
- Birkner, John ; Vincent Coli (1981). PAL Programmerbar Array Logic Handbook (2. udgave). Monolithic Memories, Inc.
- Birkner, John; Vincent Coli (1983). PAL Programmable Array Logic Handbook (3. udgave). Monolithic Memories, Inc.
- Alford, Roger C. (1989). Programmerbar Logic Designer's Guide . Howard W. Sams. ISBN 0-672-22575-1 .
- JEDEC-standard JESD3-C, standard dataoverførselsformat mellem dataforberedelsessystem og programmerbar logisk enhedsprogrammerer , juni 1994. JEDEC-dokumenter