Programmerbar logisk enhed - Programmable logic device
En programmerbar logisk enhed ( PLD ) er en elektronisk komponent, der bruges til at opbygge rekonfigurerbare digitale kredsløb . I modsætning til integrerede kredsløb (IC), der består af logiske porte og har en fast funktion, har en PLD en udefineret funktion på fremstillingstidspunktet . Før PLD kan bruges i et kredsløb, skal det programmeres (omkonfigureres) ved hjælp af et specialprogram.
Tidlig programmerbar logik
I 1969 tilbød Motorola XC157, et maskeprogrammeret gate array med 12 porte og 30 ikke-forpligtede input / output pins.
I 1970 udviklede Texas Instruments en maske-programmerbar IC baseret på IBM read-only associative memory eller ROAM. Denne enhed, TMS2000, blev programmeret ved at ændre metallaget under produktionen af IC. TMS2000 havde op til 17 indgange og 18 udgange med 8 JK flip-flop til hukommelse. TI opfandt betegnelsen Programmable Logic Array (PLA) for denne enhed.
I 1971 udviklede General Electric Company (GE) en programmerbar logisk enhed baseret på den nye PROM-teknologi ( Programmable Read-Only Memory ). Denne eksperimentelle enhed forbedrede IBMs ROAM ved at tillade logik på flere niveauer. Intel havde netop introduceret den UV- sletbare PROM med flydende port, så forskeren ved GE inkorporerede den teknologi. GE-enheden var den første sletbare PLD, der nogensinde er udviklet, og forud for Altera EPLD med over et årti. GE opnåede flere tidlige patenter på programmerbare logiske enheder.
I 1973 introducerede National Semiconductor en maske-programmerbar PLA-enhed (DM7575) med 14 indgange og 8 udgange uden hukommelsesregistre. Dette var mere populært end TI-delen, men omkostningerne ved fremstilling af metalmasken begrænsede dens anvendelse. Enheden er vigtig, fordi den var grundlaget for det feltprogrammerbare logiske array produceret af Signetics i 1975, 82S100. ( Intersil slog faktisk Signetics til markedet, men dårligt udbytte dømte deres del.)
I 1974 indgik GE en aftale med Monolithic Memories (MMI) om at udvikle en maske-programmerbar logisk enhed, der indeholder GE-innovationer. Enheden blev navngivet 'Programmable Associative Logic Array' eller PALA. MMI 5760 blev afsluttet i 1976 og kunne implementere flere niveauer eller sekventielle kredsløb med over 100 porte. Enheden blev understøttet af et GE-designmiljø, hvor boolske ligninger ville blive konverteret til maske mønstre til konfiguration af enheden. Delen blev aldrig bragt på markedet.
PLA
I 1970 udviklede Texas Instruments en maske-programmerbar IC baseret på IBM read-only associative memory eller ROAM. Denne enhed, TMS2000, blev programmeret ved at ændre metallaget under produktionen af IC. TMS2000 havde op til 17 indgange og 18 udgange med 8 JK-flip-flops til hukommelse. TI opfandt udtrykket programmerbar logikarray for denne enhed.
Et programmerbart logisk array (PLA) har et programmerbart AND-gate-array, der linker til et programmerbart ELLER gate-array, som derefter betinget kan suppleres for at producere et output. En PLA svarer til et ROM-koncept, men en PLA giver ikke fuld afkodning af en variabel og genererer ikke alle mintermer som i en ROM.
PAL
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.
MMI introducerede en gennembrudsenhed i 1978, den programmerbare array-logik eller PAL. Arkitekturen var enklere end den for Signetics FPLA, fordi den udeladte det programmerbare ELLER array. Dette gjorde delene hurtigere, mindre og billigere. De var tilgængelige i 20 pin 300 mil DIP-pakker, mens FPLA'erne kom i 28 pin 600 mil-pakker. PAL-håndbogen afmystificerede designprocessen. PALASM-designsoftwaren (PAL-samler) konverterede ingeniørernes boolske ligninger til det sikringsmønster, der kræves for at programmere delen. PAL-enhederne blev snart andetsteds fra National Semiconductor, Texas Instruments og AMD.
Efter at MMI lykkedes med de 20-pin PAL-dele, introducerede AMD 24-pin 22V10 PAL med yderligere funktioner. Efter at have købt MMI (1987) udråbte AMD en konsolideret virksomhed som Vantis , og den forretning blev erhvervet af Lattice Semiconductor i 1999.
GAL'er
En forbedring af PAL var den generiske array-logiske enhed, eller GAL, opfundet af Lattice Semiconductor i 1985. Denne enhed har de samme logiske egenskaber som PAL, men kan slettes og omprogrammeres. GAL er meget nyttigt i prototypefasen af et design, når eventuelle bugs i logikken kan rettes ved omprogrammering. GAL'er programmeres og omprogrammeres ved hjælp af en PAL-programmør eller ved hjælp af in-circuit-programmeringsteknikken til understøttende chips.
Lattice GAL'er kombinerer CMOS og elektrisk sletbar (E 2 ) flydende gate-teknologi til en højhastigheds logisk enhed med lav effekt. En lignende enhed kaldet en PEEL (programmerbar elektrisk sletbar logik) blev introduceret af det internationale CMOS Technology (ICT) selskab.
CPLD'er
PAL'er og GAL'er fås kun i små størrelser svarende til nogle få hundrede logiske porte. Til større logiske kredsløb kan komplekse PLD'er eller CPLD'er bruges. Disse indeholder ækvivalenten med flere PAL'er, der er forbundet med programmerbare sammenkoblinger, alt sammen i et integreret kredsløb . CPLD'er kan erstatte tusinder eller endda hundreder af tusinder af logiske porte.
Nogle CPLD'er er programmeret ved hjælp af en PAL-programmør, men denne metode bliver ubelejlig for enheder med hundredvis af ben. En anden metode til programmering er at lodde enheden på sit printkort og derefter føde den med en seriel datastrøm fra en personlig computer. CPLD indeholder et kredsløb, der afkoder datastrømmen og konfigurerer CPLD'en til at udføre den specificerede logiske funktion. Nogle producenter (inklusive Altera og Microsemi ) bruger JTAG til at programmere CPLD'er i kredsløb fra .JAM- filer.
FPGA'er
Mens PAL'er blev udviklet til GAL'er og CPLD'er (alle diskuteret ovenfor), skete der en separat strøm af udvikling. Denne type enhed er baseret på gate array- teknologi og kaldes det feltprogrammerbare gate array (FPGA). Tidlige eksempler på FPGA'er er 82s100-arrayet og 82S105-sequencer af Signetics, der blev introduceret i slutningen af 1970'erne. 82S100 var en række AND-vilkår. 82S105 havde også flip-flop-funktioner.
(Bemærkning: 82S100 og lignende IC'er fra Signetics har PLA-struktur, OG-fly + ELLER-fly)
FPGA'er bruger et gitter med logiske porte , og når de er gemt, ændres dataene ikke, svarende til en almindelig gate-array. Udtrykket "feltprogrammerbar" betyder, at enheden er programmeret af kunden, ikke producenten.
FPGA'er programmeres normalt efter lodning ned på printkortet på en måde svarende til større CPLD'er. I de fleste større FPGA'er er konfigurationen flygtig og skal genindlæses i enheden, når der er strøm, eller der kræves anden funktionalitet. Konfiguration gemmes typisk i en konfiguration PROM eller EEPROM . EEPROM-versioner kan være programmerbare i systemet (typisk via JTAG ).
Forskellen mellem FPGA'er og CPLD'er er, at FPGA'er er internt baseret på opslagstabeller (LUT'er), mens CPLD'er danner de logiske funktioner med hav-af-porte (f.eks. Sum af produkter ). CPLD'er er beregnet til enklere designs, mens FPGA'er er beregnet til mere komplekse designs. Generelt er CPLD'er et godt valg til brede kombinationslogiske applikationer, mens FPGA'er er mere egnede til store statsmaskiner såsom mikroprocessorer .
EPLD'er
Ved hjælp af den samme teknologi som EPROM'er har EPLD'er et kvartsvindue i pakken, der gør det muligt at slette det ved udsættelse for UV-lys.
Ved hjælp af samme teknologi som EEPROM'er kan EEPLD'er slettes elektrisk.
En sletbar programmerbar logisk enhed ( EPLD ) er et integreret kredsløb, der omfatter en række PLD'er, der ikke kommer forbundne; forbindelserne er programmeret elektrisk af brugeren. De fleste GAL- og FPGA-enheder er eksempler på EPLD'er.
Andre varianter
Dette er mikroprocessorkredsløb, der indeholder nogle faste funktioner og andre funktioner, der kan ændres ved hjælp af kode, der kører på processoren. Design af selvændrende systemer kræver, at ingeniører lærer nye metoder, og at der udvikles nye softwareværktøjer.
PLD'er sælges nu, der indeholder en mikroprocessor med en fast funktion (den såkaldte kerne ) omgivet af programmerbar logik. Disse enheder lader designere koncentrere sig om at tilføje nye funktioner til design uden at skulle bekymre sig om at få mikroprocessoren til at fungere. Desuden tager mikroprocessoren med fast funktion mindre plads på chippen end en del af det programmerbare gate-array, der implementerer den samme processor, hvilket giver mere plads til det programmerbare gate-array til at indeholde designerens specialkredsløb.
Hvordan PLD'er bevarer deres konfiguration
En PLD er en kombination af en logisk enhed og en hukommelsesenhed . Hukommelsen bruges til at gemme det mønster, der blev givet til chippen under programmeringen. De fleste af metoderne til lagring af data i et integreret kredsløb er tilpasset til brug i PLD'er. Disse inkluderer:
Silicium antifuses er forbindelser, der er lavet ved at anvende en spænding på tværs af et modificeret område af silicium inde i chippen. De kaldes antifuses, fordi de arbejder på den modsatte måde til normale sikringer, som begynder livet som forbindelser, indtil de brydes af en elektrisk strøm.
SRAM eller statisk RAM er en flygtig hukommelsestype, hvilket betyder, at dens indhold går tabt, hver gang strømmen slukkes. SRAM-baserede PLD'er skal derfor programmeres hver gang kredsløbet tændes. Dette gøres normalt automatisk af en anden del af kredsløbet.
En EPROM-hukommelsescelle er en MOSFET (metaloxid-halvlederfelt-effekt-transistor eller MOS-transistor), der kan tændes ved permanent at fange en elektrisk ladning på portelektroden. Dette gøres af en PAL-programmør. Opladningen forbliver i mange år og kan kun fjernes ved at udsætte chippen for stærkt ultraviolet lys i en enhed kaldet en EPROM-viskelæder.
Flash-hukommelse er ikke-flygtig og bevarer dens indhold, selv når strømmen er slukket. Den er gemt på MOSFET- hukommelsesceller med flydende port og kan slettes og omprogrammeres efter behov. Dette gør det nyttigt i PLD'er, der kan omprogrammeres ofte, såsom PLD'er, der bruges i prototyper. Flash-hukommelse er en slags EEPROM, der indeholder information ved hjælp af fangede elektriske ladninger svarende til EPROM. Derfor kan Flash-hukommelse indeholde information i årevis, men muligvis ikke så mange år som EPROM.
Fra og med 2005 er de fleste CPLD'er elektrisk programmerbare og sletbare og ikke-flygtige. Dette skyldes, at de er for små til at retfærdiggøre ulejligheden ved programmering af interne SRAM-celler hver gang de starter, og EPROM-celler er dyrere på grund af deres keramiske pakke med et kvartsvindue.
PLD programmeringssprog
Mange PAL-programmeringsenheder accepterer input i et standardfilformat, ofte benævnt ' JEDEC- filer'. De er analoge med software compilere . De sprog, der bruges som kildekode til logiske kompilatorer, kaldes hardwarebeskrivelsessprog eller HDL'er.
PALASM , ABEL og CUPL bruges ofte til enheder med lav kompleksitet, mens Verilog og VHDL er populære beskrivelser på højere niveau for mere komplekse enheder. Den mere begrænsede ABEL bruges ofte af historiske årsager, men af nye designs er VHDL mere populær, selv for design med lav kompleksitet.
For moderne PLD-programmeringssprog, designstrømme og værktøjer, se FPGA og rekonfigurerbar computing .
PLD-programmeringsenheder
En enhedsprogrammerer bruges til at overføre det boolske logiske mønster til den programmerbare enhed. I de tidlige dage af programmerbar logik producerede hver PLD-producent også en specialiseret enhedsprogrammerer til sin familie af logiske enheder. Senere kom universelle enhedsprogrammerere på markedet, der understøttede flere familier med logiske enheder fra forskellige producenter. Dagens enhedsprogrammerere kan normalt programmere almindelige PLD'er (for det meste PAL / GAL-ækvivalenter) fra alle eksisterende producenter. Almindelige filformater, der bruges til at gemme det boolske logiske mønster (sikringer), er JEDEC, Altera POF (programmerbar objektfil) eller Xilinx BITstream.
Se også
- Kompleks programmerbar logisk enhed (CPLD)
- Feltprogrammerbar gate array (FPGA)
- Macrocell array
- Programmerbar array logik (PAL)
Referencer
eksterne links
- "PLD Tools Oprettelse af SVF, JAM, STAPL og andre formater" . JTAG / grænsescanning . Corelis. 1. december 2010.
- "FPGA'er og CPLD'er" . Gitter halvleder.