Programmerbar logisk matris

Programmerbar logisk matris (engelska: Programmable logic array, PLA) är inom digitalteknik en metod med vars hjälp det är möjligt att införa "och" och "eller" logik för Boolesk algebra i en integrerad krets vid tillverkningen. PLA har en uppsättning programmerbara OCH-grindplan, som länkar till en uppsättning programmerbara ELLER-grindplan, som sedan kan kompletteras villkorligt för att producera en utgång. Den har 2N OCH-grindar för N ingångsvariabler, och för M utgångar från PLA bör det finnas M ELLER-grindar, var och en med programmerbara ingångar från alla OCH-grindar. Denna layout gör det möjligt för många logiska funktioner att syntetiseras i summan av produkters kanoniska former.
PLA:er skiljer sig från programmerbara array-logikenheter (PAL:er och GAL:er) genom att både OCH- och ELLER-grindplanen är programmerbara. PAL har programmerbara OCH-grindar men fasta ELLER-grindar.
Historik
År 1970 utvecklade Texas Instruments en maskprogrammerbar integrerad krets baserad på IBMs skrivskyddade associativa minne eller ROAM. Denna enhet, TMS2000, programmerades genom att ändra metallskiktet under produktionen av kretsen. TMS2000 hade upp till 17 ingångar och 18 utgångar med 8 JK flip-flops för minne. TI myntade termen Programmable Logic Array för denna enhet.[1]
Implementeringsprocess
Beredning i form av SOP (summa av produkter).
Skaffa minsta SOP-formuläret för att minska antalet produktvillkor till ett minimum. Bestäm ingångsanslutningen för OCH-matrisen för att generera den önskade produkttermen. Bestäm sedan ingångsanslutningarna för ELLER-matrisen för att generera summatermerna. Bestäm anslutningarna för inversionsmatrisen. Programmera PLA.
PLA blockdiagram:
1:a BLOCK | 2:a BLOCK | 3:e BLOCK | 4:e BLOCK | 5:e BLOCK |
---|---|---|---|---|
INPUT BUFFERT | OCH MATRIS | ELLER MATRIS | INVERT/ NON INVERT MATRIS | FLIP-FLOP OUTPUT BUFFERT |
Fördelar jämfört med skrivskyddat minne
De önskade utgångarna för varje kombination av ingångar skulle kunna programmeras till ett läsminne, där ingångarna drivs av adressbussen och utgångarna läses ut som data. Det skulle dock kräva en separat minnesplats för alla möjliga kombinationer av ingångar, inklusive kombinationer som aldrig ska förekomma, och även duplicering av data för "bryr sig inte"-förhållanden (till exempel logik som "om ingång A är 1, så bryr vi oss inte vad ingång B är": i ett skrivskyddat minne skulle detta behöva skrivas ut två gånger, en gång för varje ingång då det inte är möjligt att lägga till värdet på B, en gång för varje. Dubbelarbete växer exponentiellt och därför kan en programmerbar logikmatris ofta implementera ett stycke logik med färre transistorer än motsvarande i skrivskyddat minne. Detta är särskilt värdefullt när den är en del av ett bearbetningschip där transistorer är få (till exempel innehöll det ursprungliga 6502-chippet en PLA för att styra olika operationer av processorn[2]).
Tillämpningar
En tillämpning av en PLA är att införa kontrollen över en dataväg. Den definierar olika tillstånd i en instruktionsuppsättning och producerar nästa tillstånd (genom villkorlig förgrening). [till exempel. om maskinen är i tillstånd 2, och kommer att gå till tillstånd 4 om instruktionen innehåller ett direktfält, bör PLA definiera kontrollens åtgärder i tillstånd 2, och sätta nästa tillstånd till 4 om instruktionen innehåller ett direktfält, och definiera kontrollens handlingar i tillstånd 4]. Programmerbara logiska arrayer bör motsvara ett tillståndsdiagram för systemet.
De tidigaste Commodore 64-hemdatorerna som släpptes 1982 (in i början av 1983) använde initialt en programmerad Signetics 82S100 PLA, men när efterfrågan ökade började MOS Technology / Commodore Semiconductor Group producera en maskprogrammerad PLA med artikelnummer 906114]-01.[3]
Se även
- Application Specific Integrated Circuit (ASIC)
- Complex programmable logic device (CPLD)
- Field-programmable gate array (FPGA)
- Generic array logic (GAL)
- Grindmatris
- Programmable array logic (PAL) – Enklare grindmatris med programmerbar AND-logik och fast OR-logik som blev tillgänglig under 1980-talet
- System-on-a-chip (SoC)
Referenser
- Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia, Programmable logic array, 31 december 2024.
Noter
- ^ Andres, Kent (October 1970). A Texas Instruments Application Report: MOS programmable logic arrays.. Texas Instruments. Bulletin CA-158
- ^ How MOS 6502 Illegal Opcodes really work
- ^ arcadecomponents.com - Commodore 906114-01 64 PLA IC
Externa länkar
Wikimedia Commons har media som rör Programmerbar logisk matris.
- ”Programmable Logic Array (PLA)”. cmsc311. University of Maryland. 2003. http://www.cs.umd.edu/class/spring2003/cmsc311/Notes/Comb/pla.html.
- ”PLA (programmable logic array)”. Java Applet. University of Hamburg. http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/42-programmable/10-pla/pla.html.
|
Media som används på denna webbplats
Författare/Upphovsman: Ilia Kr., Licens: CC BY-SA 3.0
schematic drawing example of programmable logic array (PLA)