Pređi na sadržaj

Programabilna logika polja

S Vikipedije, slobodne enciklopedije
MMI PAL 16R6 u 20-pin DIP
AMD 22V10 u 24-pin DIP

PAL (Programmable Array Logic - programabilna logika polja) je porodica programabilnih logičkih poluprovodničkih uređaja koji se koriste za implementaciju (izvršenje) logičkih funkcija u digitalnom kolu, a koji su uvedeni od strane Monolithic Memories, Inc (MMI), marta 1978. godine.[1] MMI je dobila registraciju žiga (trgovačkog znaka) na izraz PAL za upotrebu "programabilnih poluprovodničkih logičkih kola“. Žig trenutno drži Lattice Semiconductor.[2]

PAL uređaji se sastoje od malog PROM (programmable read-only memory) jezgra i dodatne izlazne logike koja se koristi za implementaciju određenih željenih logičkih funkcija sa nekoliko komponenti.

Korišćenjem specijalizovanih mašina, PAL uređaji su bili tipa "terenske programabilnosti“. Za elektronski uređaj ili ugrađeni sistem se kaže da je „programabilan na terenu“ ili „programabilan na licu mesta“ ako njegova firmware (softver instrukcije nalaze se u neizbrisivoj memoriji čipova i čuvaju svoj sadržaj bez napajanja, kao što je to ROM) može da se menja "na terenu", bez demontaže uređaja ili vraćanja njegovom proizvođaču. Svaki PAL uređaj je bio OTP (one time programmable - jedanput programabilan), što znači da ne može da se ažurira i ponovo koristi nakon njegovog početnog programiranja. (MMI takođe nudi sličnu porodicu pod nazivom HAL (hard array logic - hard logička polja), čiji su uređaji bili kao PAL uređaji, osim što su oni bili maskirno – programirani u fabrici.)

U većini aplikacija, električno – izbrisivi GAL su sada raspoređeni kao pin - kompatibilne direktne zamene za jednokratne programabilne PAL.

Rana istorija[uredi | uredi izvor]

Pre nego što je uveden PAL, dizajneri digitalnih logičkih kola su koristili integracione komponente malog stepena (SSI komponente), kao što su one iz 7400 serije TTL (transistor-transistor logic - transistor-transistor logika) porodice; 7400 porodica uključuje različite logički ugrađene blokove, kao što su vrata (NE, NILI, NI, I, ILI), multiplekseri (MUKSes) i demultiplekseri (DEMUKSes), flip flopovi (D-tip, JK, itd) i drugi. Jedan PAL uređaj obično zamenjuje desetine takvih "diskretnih" logičkih paketa, tako da su poslovi oko SSI opali kada su poslovi PALa uzleteli. PAL su se korisno koristili u mnogim proizvodima, kao što su miniračunari, što je dokumentovano u najbolje prodavanoj knjizi Trejsi Kidera „Duša nove mašine“.

PAL nisu bili prvi komercijalni programabilni logički uređaji; Signetics prodaje terenska programabilna logička kola (FPLA) od 1975. godine. Ovi uređaji su bili potpuno nepoznati većini dizajnera i smatrano je da su suviše teški za korišćenje. FPLA su imali relativno sporu operativnu maksimalnu brzinu (zbog prisutnosti programabilnog I i programabilnog ILI kola), bili su skupi, i imali su lošu reputaciju na testiranju. Drugi ograničavajući faktor prihvatanja FPLA bilo je veliko pakovanje, 600-mil (0.6", ili 15,24 mm) širok 28-pin dual in-line paket (DIP).

Projekatom stvaranja PAL uređaja rukovodio je Džon Birkner, a stvarno PAL kolo je dizajnirano od strane HT CHUA.[3] U prethodnom periodu, Birkner je bio razvio 16-bitni procesor koji koristi 80 standardne logičke uređaje. Njegovo iskustvo sa standardnom logikom ga je navelo da veruje da će korisnički programabilni uređaji biti atraktivniji za korisnike ukoliko ovi uređaji budu dizajnirani da zamene standardne logike. To je značilo da je veličina paketa morala da bude srodnija postojećim uređajima, kao i da su morale da se poboljšaju brzine. PAL je ispunio ove zahteve i to je bio ogroman uspeh i bio je "drugi izvor" od strane National Semiconductor, Texas Instruments i Advanced Micro Devices.

Procesne tehnologije[uredi | uredi izvor]

Rani PAL su bili 20-pinsko DIP komponentni proizvedeni od silicijuma, gde je korišćena tehnologija bipolarnog tranzistora sa OTP titan-volfram programskim osiguračima.[4] Kasniji uređaji, proizvedeni od strane Lattice Semiconductor i Advanced Micro Devices koriste CMOS tehnologiju.

Prvobitni 20 i 24-pinski PAL bili su označeni od MMI kao integracioni uređaji srednje skale (MSI uređaji).

PAL arhitektura[uredi | uredi izvor]

Programabilni elementi (prikazan kao osigurač) spajaju oba, prave i dopunjene inpute i I vrata. Ova I vrata, takođe poznata kao proizvodni izraz, su ILI, da bi formiralo suma-proizvodno logičko kolo.

PAL arhitektura se sastoji od dve glavne komponente: logičke ravni i izlazne makroćelijske logike.

Programabilna logička ravan[uredi | uredi izvor]

Programabilna logička ravan je kolo PROM koje omogućuje, da se signali prisutni na pinovima uređaja (ili logički komplementi tih signala), usmere na izlaznu logičku makroćeliju.

PAL uređaji imaju kola sa tranzistorskim ćelijama raspoređenim u "fiksno-ILI, programabilno I" ravni koje se koriste za sprovođenje "suma-od-proizvoda" binarne logičke jednačine, za svaki od izlaza u odnosu na ulaz, i bilo sinhrone ili asinhrone povratne informacije od izlaza.

Izlazna logika[uredi | uredi izvor]

U početku 20-pinski PAL imali su 10 ulaza i 8 izlaza. Izlazi su bili niske aktivnosti i mogli su da se registruju ili kombinuju. Članovi porodice PAL bili su dostupni sa različitim izlaznim strukturama pod nazivom "izlazne logičke makroćelije" ili OLMCs. Pre uvođenja "V" (za "promenljive") serije, vrste OLMCs, koje su bile na raspolaganju svakom PAL, su fiksirane za vreme proizvodnje. (PAL16L8 je imao 8 kombinacionih izlaza, a PAL16R8 je imao 8 registrovanih izlaza. PAL16R6 je imao 6 registrovanih i 2 kombinaciona dok je PAL16R4 imao 4 od svakog). Svaki izlaz može imati do 8 izraza proizvoda (efektivno I vrata), međutim kombinacioni izlazi koriste jedan od izraza za kontrolu dvosmerniog izlaznog bafera. Postoje i druge kombinacije koje su imale nekoliko izlaza sa više izraza proizvoda po izlazu i bili su dostupni sa izlazima visoke aktivnosti. 16k8 porodice ili registrovani uređaji imali su EKSILI vrata pre registra. Ovo je bilo slično 24-opinskim verzijama ovih PALs.

AMD 22V10 Izlazna Makroćelija

Ovu fiksnu izlaznu strukturu, često frustrirani dizajneri pokušavaju da optimizuju korisšćenjem PAL uređaja, zato što su izlazne strukture različitih vrsta često zahtevale svoje aplikacije. (Na primer, ne bi se moglo dobiti 5 izlaza sa 3 registrovana kombinaciona izlaza visoke aktivnosti). U junu 1983. godine, AMD je predstavio 22V10, 24 pinski uređaj sa 10 izlaznih logičkih makroćelija.[5] Za svaku makroćeliju može de se napravi konfiguracija od strane korisnika tako da bude kombinaciona ili registrovana, aktivno visoka ili nisko aktivna. Broj izraza proizvoda dodeljen na izlaz, varirao je od 8 do 16 godina. Ovaj uređaj može da zameni sve 24-pinske fiksirane funkcije uređaja PAL. Članovi PAL "V" ("promenljiva") serije bili su PAL16V8, PAL20V8 i PAL22V10.

Programiranje PALs[uredi | uredi izvor]

PALs su električno programirani pomoću binarnih obrazaca (kao JEDEC ASCII/ heksadecimalne datoteke) i posebnim elektronskim programskim sistemom dostupnim bilo kom proizvođaču ili trećoj strani, kao što je DATA/IO. Dodatno, jedna jedinica uređaja programera, uređaj hranilica i banda programera, se često koriste kada je potrebno da se programira više PALs. (Za velike količine, električni programski troškovi mogu se eliminisati tako što će proizvođač prilagoditi metalnu masku koja se koristi za programe kupaca, za vreme proizvodnje; MMI je koristio izraz HAL za uređaje koji su programirani na ovaj način.

Programski jezici[uredi | uredi izvor]

PALASM dizajn 4-bit brojač

Iako su neki inženjeri programirali PAL uređaje ručnim uređivanjem fajlova, koji sadrže binarne podatke uzorka osigurača, većina je odlučila da dizajnira svoju logiku pomoću jezičkog opisa hardvera (HDL), kao što su ABEL DATA/IO, CUPL logički uređaji, ili MMI PALASM. To je bio pomoćni računarski dizajn (CAD) (sada se zove "electronic design automation") programa, što u prevodu (ili "sastavljanju") znači da su se logičke jednačine dizajnera u binarnim fajlovima mape osigurača koristile za program (i često test) svakog uređaja.

PALASM[uredi | uredi izvor]

PALASM (od "PAL assembler") jezik je korišćen da izrazi Bulove jednačine za izlazne pinove u tekstualnoj datoteci, koje se potom pretvaraju u fajl „mapa osigurača“ za programiranje sistema, koji koristi prodavac isporučilac programa; kasnije, opcija prevoda sa šemama postala je uobičajena, a još kasnije, "mape osigurača“ su mogle da se „sintetizuju“ iz HDL, kao što je Verilog. PALSM kompajler je napisao MMI u FORTRAN IV na IBM 370/168. MMI je izvorni kod dostupan korisnicima bez ikakvih troškova. Do 1983. godine, MMI kupci su pokrenuli verzije na DEC PDP-11, Data General NOVA, Hevlett-Packard HP 2100, MDS800 i drugim.

ABEL[uredi | uredi izvor]

Abel je realizovala Data/IO Corporation.

CUPL[uredi | uredi izvor]

Assisted Technology pustila je CUPL (prevodilac za univerzalnu programabilnu logiku) u septembru 1983. godine.[6] Softver se uvek nazivao CUPL i nikada nije bio proširen akronimom. To je bio prvi komercijalni dizajnirani alat koji je podržavao višestruke PLD porodice. Početno izdanje je pušteno za IBM PC i MS-DOS, i bilo je napisano u C programskom jeziku, pa se mogao koristiti na dodatne platforme.[7] Assisted Technology je kupio CAD Personal Systems (P-CAD) u julu 1985. godine. Godine 1986., PCAD je šematski osvojio paket koji je mogao da se koristi kao prednji kraj za CUPL.[8] CUPL je kasnije nabavio Logical Devices, a sada je u vlasništvu Altium Limited iz Australije.[9] CUPL je trenutno dostupan kao integrisani razvojni paket za Microsoft Windows.[10]

Programski uređaji[uredi | uredi izvor]

Popularni programski uređaji uključuju Model 60A Logic Programer i model 2900, DATA/IO korporacije. Jedan od prvih PAL programera bio je Structured Design "SD-20". On je imao ugrađen PALASM softver i zahtevao je samo CRT terminal za ulaz jednačina i pregled unesenih osigurača. Nakon spajanja, izlazi iz PAL mogu da se provere ako se vektorski test nalazi u izvornoj datoteci.

Naslednici[uredi | uredi izvor]

Posle MMI koji je uspeo sa 20-pin PAL delovima uvedenim oko 1978. godine, AMD je predstavio 24-pinski 22V10 PAL sa dodatnim funkcijama. Nakon kupovine od MMI (oko 1987. godine), AMD se okrenuo ka konsolidovanim operacijama kao što je Vantis, a taj posao je kupio Lattice Semiconductor 1989. godine.

Altera je uvela EP300 (prvo CMOS PAL) 1983. godine, a kasnije je došao FPGA posao.

Lattice Semiconductor je uveo GAL (generic array logic - familija opštih logičkih kola 1985. godine, sa funkcionalnim ekvivalentima "V" serije PALs koji koriste reprogramabilne logičke ravni zasnovane na EEPROM (električno izbrisiva programabilna memorija samo za čitanje) tehnologiji. National Semiconductor je "drugi izvor" GAL delova. AMD je predstavio sličnu familiju koja se zove PALCE. U principu, jedan GAL deo je u stanju da funkcioniše kao bilo koji od sličnih uređaja porodice PAL. Na primer 16V8 GAL je u stanju da zameni 16L8, 16H8, 16H6, 16H4, 16H2 i 16R8 PALs (i mnoge druge).

ICT (International CMOS Technology) predstavio je PEEL 18CV8 1986. godine. 20-pinski CMOS EEPROM deo može da se koristi umesto nekog od registrovanih-izlaznih bipolarnih PALs i koristi mnogo manje energije.

Obimniji programabilni logički uređaji su uvedeni od strana Atmel, Lattice Semiconductor i drugih proizvođača. Ovi uređaji su proširili PAL arhitekturu, uključujući više logičkih ravni i/ili logičkih makroćelija u logičke ravni. Izraz "kompleksna programabilnost logičkih uređaja" (CPLD) bila je uvedena da bi razlikovali ove uređaje od njihovih PAL i GAL prethodnika, o kojima se tada ponekad govorilo kao o "jednostavnim programabilnim logičkim uređajima" ili SPLDs.

Još jedan veliki programmabilni logički uređaj je „terensko pregramabilni niz vrata“ ili FPGA (field programmable gate array). Te uređaje trenutno izrađuju Altera i Xilinx.

Reference[uredi | uredi izvor]

  1. ^ „Monolithic Memories announces: a revolution in logic design”. Electronic Design. Rochelle, NJ: Hayden Publishing. 26 (6): 148B, 148C. 18. 3. 1978.  Introductory advertisement on PAL (Programmable Array Logic).
  2. ^ Monolithic Memories, Inc (MMI) filed for a work mark on the term "PAL" for use in "Programmable Semiconductor Logic Circuits" on April 13, 1978. A registered trademark was granted on April 29, 1980, registration number 1134025. MMI's first use of the term PAL in commerce was on February 21, 1978. The trademark is currently held by Lattice Semiconductor Corporation of Hillsboro, Oregon. Source: United States Patent and Trademark Office online database.
  3. ^ Birkner, John (16. 8. 1978). „Reduce random-logic complexity”. Electronic Design. Rochelle, NJ: Hayden Publishing. 26 (17): 98—105. 
  4. ^ TIBPAL 16R8-15C Data Sheet (PDF). Dallas TX: Texas Instruments. 1984. Arhivirano iz originala (PDF) 04. 06. 2011. g. Pristupljeno 27. 10. 2013.  "These IMPACT circuits combine the latest Advanced Low-Power Schottky technology with proven titanium-tungsten fuses to provide reliable, high-performance substitutes for conventional TTL logic." TI was a second source vendor for the MMI PALS.
  5. ^ AmPAL 22V10 Advanced Information. Sunnyvale CA: Advanced Micro Devices. 1983. 04126A-PLP.  Note: This is the data sheet published by AMD when the AmPAL 22V10 was introduced.
  6. ^ Alford, Roger C. (1989). Programmable Logic Designer's Guide. Howard W. Sams. str. 14-15, 166-168. ISBN 978-0-672-22575-8. „In 1981, [Bob] Osann started Assisted Technology to develop PLD support tools. In September 1983 Assisted Technology released version 1.01a of its CUPL (Universal Compiler for Programmable Logic) PLD compiler, supporting 29 devices. 
  7. ^ „CUPL - The Universal Language For Programmable Logic” (PDF) (Saopštenje). San Jose, CA: Assisted Technology, Inc. 1983. Arhivirano iz originala (PDF) 29. 10. 2013. g. Pristupljeno 27. 10. 2013.  An early 1983 pre-release datasheet for CUPL.
  8. ^ „Personal CAD Systems”. Computer World. Framingham, MA: CW Communications. 19 (29): 97. 22. 7. 1985. ISSN 0010-4841. 
  9. ^ US Patent and Trademark Office. "CUPL" Computer software, namely, software used to develop and compile designs for programmable logic devices, and related user manuals distributed therewith. First used in 1983, status Active. Serial Number 76357007. Registration Number 2909461. Owner: Altium Limited, Australia 3 Minna Close, Belrose NSW2085, Australia.
  10. ^ „CUBEL ChipDesigner 5.0”. Logical Devices. 2013. Arhivirano iz originala 11. 04. 2013. g. Pristupljeno 10. 8. 2013. 

Literatura[uredi | uredi izvor]

  • Birkner, John; Vincent Coli (1981). PAL Programmable Array Logic Handbook (2 izd.). Monolithic Memories, Inc. 
  • Birkner, John; Vincent Coli (1983). PAL Programmable Array Logic Handbook (3 izd.). Monolithic Memories, Inc. 
  • JEDEC Standard JESD3-C, Standard Data Transfer Format Between Data Preparation System and Programmable Logic Device Programmer, June 1994. JEDEC documents

Spoljašnje veze[uredi | uredi izvor]