You are on page 1of 13

PLD se podgrupa na ASIC ASIC mo`at da bidat Full Custom i Semi Custom Kaj Full Custom spored specifikaciite

na korisnikot se definiraat i resursite na strukturata i samata struktura. Kaj Semi Custom komponenite, resursite od koi se sostavuva strukturata se odnapred zadadeni, a konkretnata struktura se sostavuva od niv spored specifikaciite na korisnikot. Semi Custom mo`at da se podelat na dve grupi. Kaj prvata grupa konkretnata struktura se sostavuva vo edna faza na proizvodstvoto: Gate Array (ili Mask-Programmable Gate Array) i Cell Based. Kaj vtorata grupa konkretnata struktura ja sostavuva samiot korisnik po pat na programirawe: PLD. PLD kako resursi sodr`i logi~ki porti, kombinacioni i sekvencijalni sklopovi, a raspolaga so programabilna struktura. + funkcijata (ili mno`estvoto funkcii) {to edna vakva komponenta }e ja izvr{uva zavisi od toa kako korisnikot }e ja programira (ili preprogramira) taa komponenta. + edna vakva komponenta mo`e da zameni sistem koj inaku bi se realiziral so golem broj standardni SSI i MSI integrirani komponenti so fiksna logika. PLD-komponentite postojat i se razvivaat ve}e triesetina godini, no nivniot razvoj e osobeno brz vo tekot na poslednive desetina godini. Prvite PLD-komponenti se razvieni vo bipolarna tehnologija, no denes pokraj niv se izrabotuvaat i PLD-komponenti vo CMOS tehnologija. Programiraweto na bipolarnite PLD-komponenti se zasnova na fusible link tehnologijata, dodeka CMOS PLD-komponentite mo`at da bidat bazirani i na antifuse-tehnologijata, na EPROMtehnologijata (EPLD), na EEPROM, odnosno FLASHtehnologijata (E2PLD), kako i na SRAM-tehnologijata.

Ednostavni PLD-komponenti (SPLD-komponenti) Najprvin se kombinacioni mre`i izvedeni kako kaskada od dekoder (ILI-ramnina/matrica) i koder (I-ramnina/matrica). PROM, EPROM, EEPROM, FLASH Fiksna I-ramnina Programabilna ILI-ramnina
In-1 In-2 In-3 I0 programabilna ILI-ramnina

fiksna I-ramnina (potpolna)

Om-1 Om-2 Om-3

O0

Slika 10.1 I-ramninata kaj PROM-ot e fiksna i potpolna, a ILI-matricata e programabilna

PLA Logi~kite funkcii retko sodr`at pove}e od samo nekolku konjunkcii. PROM-komponentite se neefikasni arhitekturi za realizacija na logi~ki kola i vo praktikata retko se koristat za taa namena. Prvite PLD-komponenti koi se razvieni tokmu za realizacija na logi~ki funkcii se poznati pod imeto Programmable Logic Array, ili PLA. PLAkomponenti se vovedeni vo sedumdesettite godini od dvaesettiot vek od firmata Signetics Corporation (vo po~etokot pod imeto FPLA = Field Programmable Logic Array). Programabilna ILI-ramnina Programabilna I-ramnina

In-1

In-2

In-3

I0

programabilna ILI-ramnina

programabilna I-ramnina (nepotpolna)

Om-1 Om-2 Om-3

O0

Slika 10.2 Kaj PLA-komponentata programabilni se obete ramnini, no I-ramninata e nepotpolna

Standardnata oznaka nmPLA(k) n e brojot na vlezovi vo dekoderot k < 2n e brojot na izlezi od dekoderot m e brojot na izlezi od koderot. Kombinacioni PAL-komponenti Programabilna I-ramnina Fiksna ILI-ramnina. Jasno e deka osnovnata PAL-arhitekturapostavuva strogi ograni~uvawa vo pogled na koristeweto na konjunkciite. Na primer, koga se proektira so PLA, korisnikot mo`e po potreba da ja dodeli istata konjunkcija na pove}e od edna ILIporta, dodeka koga se proektira so PAL toa ne e mo`no, tuku istata konjunkcija mora da se programira onolku pati kolku {to toa e potrebno. Za da se kompenzira ova, osnovnata PAL-struktura e nadopolneta so nekolku elementi koi ja zgolemuvaat fleksibilnosta pri proektiraweto so PAL-komponenti. Eden tipi~en primer na PAL-komponenta so vakvi dopolnuvawa e integriranata komponenta PAL16L8

PAL16L8 raspolaga so 10 vlezni priklu~oci, I1 do I10, dva baferirani izlezni priklu~oci, O1 i O8, i 6 programabilni vlezno/izlezni priklu~oci, IO2 do IO7. Izleznite baferi raspolagaat so tri sostojbi. Koga izleznite baferi za IO2 do
In-1 In-2 In-3 I0 fiksna ILI-ramnina

programabilna I-ramnina (nepotpolna)

Om-1 Om-2 Om-3

O0

Slika 10.3 Kaj PAL-komponentata programabilna e samo I-ramninata

IO7 se ovozmo`eni, ovie priklu~oci se izlezni, a so strukturata e ovozmo`eno preku niv da se realiziraat povratni vrski kon programabilnata I-ramnina, {to se javuva kako potreba vo niza aplikacii. Koga baferite se staveni vo sostojba na visoka impedancija, priklu~ocite IO2 do IO7 se vlezni. Inaku, I-ramninata raspolaga so 64 I-porti sekoja so po 32 vlezni linii, odnosno so vkupen broj od 2048 programabilni preseci. Brojot na ILI-porti e 8. Na sekoja ILI-porta se priklu~eni izlezite od 7 I-porti, dodeka po edna I-porta se koristi za kontrola na sekoj od trisostojbenite izlezni baferi. Spored toa, sekoja ILIporta dava direktno disjunkcija od 7 konjunkcii, sekoja od niv so po 16 promenlivi. Ako se potrebni pove}e od 7 disjunkcii, izlezot od edna ILI-porta mo`e da se koristi kako vlez na druga ILI-porta vo istata komponenta. Broevite 16 i 8 vo oznakata na komponentata gi ozna~uvaat maksimalniot broj na promenlivi vo konjunkcija i brojot na ILI-porti, a so bukvata L se ozna~uva deka se raboti za komponenta so negativna izlezna logika. Sli~no, PAL16H8 e

ekvivalentna komponenta so pozitivna izlezna logika, a PAL16P8 e komponenta so izlezna logika so programabilen polaritet.
0 0 1 2 3 4 5 6 7 I2 8 9 10 11 12 13 14 15 I3 IO2 I1 O1 1 2 3 4 5 6 7 28 29 30 31 vlezovi vo I-portite

56 57 58 59 60 61 62 63 I9 I10 O8

Slika 10.4 Logi~ka {ema na PAL16L8

Sekvencijalni PAL-komponenti i GAL-komponenti PLD-komponentite nameneti za realizacija na sekvencijalni mre`i se narekuvaat registrirani PLD
8 9 10 11 12 13 14 15 I3 Q D Q O2

Slika 10.6 Ise~ok od logi~kata {ema na PAL16R8

(registered PLD). Logi~kata {ema na registriranata verzija na PAL16L8, koja se ozna~uva kako PAL16R8, e prika`ana na slikata 10.6. Izlezite od ILI-ramninata vleguvaat vo eden 8biten stacionaren registar sostaven od D-flipflopovi, koi se taktiraat paralelno. Preku invertiranite izlezi od stacionarniot registar mo`at da se ostvarat povratni vrski kon I-ramninata i na toj na~in da se realizira dadena sekvencijalna mre`a. Neinvertiranite izlezi od stacionarniot registar se prosledeni so trisostojbeni baferi, no ovie baferi ve}e ne se, kako kaj PAL16L8, kontrolirani so konjunkcii, tuku se kontrolirani so eden zaedni~ki vlez, za{to Q-izlezite ovde ne mo`at da se koristat kako dvonaso~ni priklu~oci. Baferite na invertiranite izlezi ne raspolagaat so tri sostojbi, so {to e ovozmo`eno internite povratni vrski da bidat odredeni samo od programiraweto na I-ramninata, a ne i od toa dali izlezite na komponentata se vo sostojba na visoka impedancija ili ne.
Edna od naj~esto upotrebuvanite PAL-komponenti vo dene{no vreme e PAL22V10 na AMD. Ovaa komponenta, so svoite 22 vleza, 132 konjunkcii i 10 izlezi dopu{ta razvoj na namenski LSI-funkcii so ekvivalentna kompleksnost od 500 do 800 sistemski porti. Sistemska porta e termin koj se koristi za izrazuvawe na kompleksnosta na PLD-komponentite, a odgovara na ekvivalentna kompleksnost na edna dvovlezna NI-porta. Spored toa, so PAL20V10 mo`at da se realiziraat digitalni {emi so takva kompleksnost kakva {to mo`e da se realizira so 500 ili 800 dvovlezni NI-porti.

OE

Slika 10.8 Ise~ok od logi~kata {ema na PAL22V10

Komponentata PAL20V10 ja ima voobi~aenata PALarhitektura, kako {to e prika`ano na slikata 10.8, no, za razlika od prethodno razgledanite komponenti, mu dopu{ta na korisnikot da gi konfigurira karakteristikite na sekoj izlez preku upotrebata na programabilno logi~ko kolo, nare~eno makrokletka, ~ija logi~ka {ema e prika`ana na slikata 10.9.

Kaj PAL22V10 mo`e individualno da se definira i da se programira arhitekturata na sekoja makrokletka. Makrokletkata se programira preku dve osiguruva~ki vrski, na slikata 10.9 ozna~eni so S0 i S1. S1 odreduva dali izlezite se kombinacioni ili sekvencijalni, dodeka S0 odreduva dali logikata e pozitivna ili negativna. Koga osiguruva~ite ne se pregoreni, izlezot e sekvencijalen, a negovata logika e negativna. Ako se pregoreni obata osiguru~i, izlezot e kombinacionen i raspolaga so pozitivna logika. Koga e pregoren samo S1, izlezot e kombinacionen so negativna logika, a koga e pregoren samo S0, izlezot e sekvencijalen i raspolaga so pozitivna logika. Mo`nite ~etiri konfiguracii na sekoja makrokletka se prika`ani na slikata 10.10.

izlezna logi~ka makrokletka

PR D Q Q CL MUX 4/1

I/O

S1 S0 VCC

MUX S 1 2/1

VCC

Slika 10.9 Logi~kata {ema na izleznata logi~ka makrokletka na PAL22V10

Ottuka, bidej}i sekoj od desette izlezni priklu~oci mo`e individualno da se konfigurira kako vlez, mo`na e realizacija na logi~ki izrazi koi baraat do 21 vlez i eden
S1S0 = 00 PR D Q Q CL CL D S1S0 = 01 PR Q Q

S1S0 = 10

S1S0 = 11

Slika 10.10 ^etiri mo`ni konfiguracii na makrokletkata na PAL22V10

edinstven izlez, ili na izrazi koi baraat samo 12 vlezovi i 10 izlezi. Logikata na makrokletkata se programira zaedno so programiraweto na I-matricata. Kon sredinata na osumdesetite godini od dvaesettiot vek, kompanijata Lattice Semiconductor Inc. vovede inovirani PALkomponenti. Inoviranite komponenti gi imaat istata logi~ka funkcionalnost i istiot raspored na priklu~oci kako

istoimenite PAL-komponenti, no raspolagaat so mo`nosta da bidat izbri{ani i povtorno programirani, za{to se zasnovani na EEPROM-tehnologijata. Nare~eni se GAL, {to e kratenka od Generic Array Logic. GAL-komponentite se mnogu korisni vo fazata na proektirawe na prototipot na nekoj proizvod, za{to dozvoluvaat lesno otstranuvawe na neizbe`nite gre{ki (bugs) vo originalno koncipiranata logika. Sli~ni komponenti, no pod imeto PEEL (Programmable Electrically Erasable Logic), bea vovedeni od strana na kompanijata Integrated Circuit Technology (ICT). PLA, PAL i GAL-komponentite raspolagaat so slo`enost ekvivalentna na nekolku stotici sistemski porti. Nameneti se da se koristat vo aplikacii koi baraat so mali tro{oci da se realizira logika so ograni~ena kompleksnost. Zatoa tie voobi~aeno se narekuvaat so zbirnoto ime ednostavni PLDkomponenti ili SPLD (Simple Programmable Logic Devices). Najva`nite karakteristiki na SPLD-komponentite se niskata cena i golemata brzina. PLD-komponenti so golem kapacitet (HCPLD -komponenti) Dva tipa CPLD-komponenti (Complex Programmable Logic Devices), koi se javija kako rezultat na kontinuiraniot razvoj na SPLDkomponentite. FPGA-komponenti, koi proizlegoa kako rezultat na kontinuiraniot razvoj na t.n. GA-komponenti CPLD

Edna CPLD-komponenta e integrirana komponenta koja vo sebe sodr`i nekolku PLA, odnosno PAL-komponenti, me|usebno povrzani preku programabilni me|uspoevi. Op{tata arhitektura na edna CPLD-komponenta e prika`ana na slikata 10.11. Klu~na karakteristika na arhitekturata e postavenosta na logi~kite makrokletki po periferijata od edno pole od rutira~ki resursi (matrica od me|uspoevi), {to im se na raspolagawe na site. Poradi toa, rutiraweto na signalite kaj CPLD-komponentite ve}e ne e trivijalna zada~a, pa samoto programirawe e poslo`eno i ne mo`e da se odviva manuelno, kako {to s# u{te e mo`no kaj SPLD-komponentite.
SPDL-blok
MC0 I/O-blok MC1 PAL ili PLA matrica MCm-1 PAL ili PLA matrica MCm-1

SPDL-blok
MC0 I/O-blok I/O-blok MC1

matrica na me|uspoevi

MC0 I/O-blok MC1 PAL ili PLA matrica MCm-1 PAL ili PLA matrica

MC0 MC1

MCm-1

SPDL-blok

SPDL-blok

Slika 10.11 Op{ta arhitektura na edna CPLD-komponenta

Prvite CPLD-komponenti bea zasnovani na EPROMtehnologijata, a gi vovede kompanijata Altera vo familijata integrirani komponenti nare~ena Classic EPLD. Podocna ovaa kompanija vovede i tri dopolnitelni serii nare~eni MAX 5000, MAX 7000 i MAX 9000. Me|utoa, blagodarenie na golemata pobaruva~ka za CPLD-komponenti na pazarot, denes niv gi proizveduvaat i redica drugi proizvoditeli. Pokraj EPLDkomponentite postojat i CPLD-komponenti zasnovani na EEPROM-tehnologijata (na primer, Atmel), kako i na SRAMtehnologijata (na primer, Xilinx). CPLD-komponentite imaat maksimalna slo`enost ekvivalentna na pribli`no 50 tipi~ni SPLD-komponenti, odnosno taa se dvi`i od nekolku iljadi do

nekolku desetici iljadi sistemski porti. Najbrzite CPLDkomponenti mo`at da rabotat so frekvencija na sistemskiot takt do 200 MHz. FPGA Me|u Semi-Custom ASIC-komponentite, najgolema kompleksnost denes se ostvaruva so Gate Array komponentite
I/O-blok

I/O-blok

blokovi za me|uspoevi konfigurabilen logi~ki blokovi

I/O-blok

Slika 10.12 Op{ta arhitektura na edna FPGA-komponenta

(GA). GA-komponentite se sostojat od standardna re{etka od logi~ki porti, ~ii me|uspoevi gi specificira korisnikot, a gi izveduva proizvoditelot. Koga korisnikot }e nara~a proizvodstvo na integrirana komponenta so nova logika, proizvoditelot ne mora da trgne vo proektiraweto na komponentata od samiot po~etok, tuku ednostavno se opredeluva za edna od standardnite GA-komponenti, a potoa gi definira potrebnite me|uspoevi i gi izveduva vo tekot na proizvodstvoto so primena na soodvetni maski. Poradi ova,

I/O-blok

GA-komponentite ponekoga{ se narekuvaat komponenti (Mask Programmable Gate Array).

MPGA-

Iako MPGA-komponentite ne se PLD-komponenti, gi spomnuvame ovde za{to tie go iniciraa razvojot na svoite PLD-ekvivalenti, nare~eni FPGA. FPGA-komponentite se vovedeni od strana na firmata Xilinx vo 1985. Tie nalikuvaat na MPGA-komponentite, za{to raspolagaat so pole od pravilno rasporedeni logi~ki blokovi i so resursi za me|upovrzuvawe (rutira~ki resursi), kako {to mo`e da se vidi od op{tata FPGA-arhitektura prika`ana na slikata 10.12. Me|utoa, programiraweto ve}e ne go pravi proizvoditelot so pomo{ na maski, tuku toa mu e prepu{teno na korisnikot (FPGA = FieldProgrammable Gate Array). Kako {to se gleda od slikata 10.12, rutira~kite resursi se sostojat od signalni linii i blokovi za me|uspoevi, odnosno od blokovi so programabilni spoevi. So programiraweto na ovie spoevi se obezbeduvaat konkretni rutira~ki pateki za povrzuvawe na vlezovite i izlezite na logi~kite blokovi so vlezno-izleznite blokovi. Vleznoizleznite blokovi go obezbeduvaat interfejsot me|u nadvore{nite priklu~oci na komponentata i nejzinite interni signalni linii, a logi~kite blokovi gi obezbeduvaat funkcionalnite elementi za odreduvawe na logikata {to mu e potrebna na korisnikot. I vo ramkite na logi~kite blokovi postojat programabilni spoevi, so ~ie programirawe se odreduva konkretnata logi~ka funkcija {to tie ja vr{at. Ottuka logi~kite blokovi se narekuvaat konfigurabilni logi~ki blokovi ili CLB (Configurable Logic Block). Za izvedba na programabilnite spoevi se koristat ~etiri osnovni tehnologii: anti-fuse, EPROM, EEPROM ili SRAM. FPGA-komponentite {to se zasnovani na anti-fuse-tehnologijata se OTP-komponenti, dodeka onie zasnovani na drugite tri tehnologii se reprogramabilni. Me|u niv, samo SRAMbaziranite FPGA-komponenti raspolagaat so sposobnosta za brzo preprogramirawe (ili rekonfigurirawe) bez da se vadat od pe~atenata plo~ka na sistemot vo koj rabotat, {to za nekoi aplikacii mo`e da bide golema pogodnost. Me|utoa, SRAMbaziranite FPGA-komponenti ja gubat svojata konfiguracija pri prekin na napojuvaweto. Imeno, programabilnite spoevi se izvedeni so propusni porti (ili multiplekseri), ~ii sostojbi se kontrolirani od SRAM-kletki, kako {to e ilustrirano na slikata 10.13. [tom }e se isklu~i napojuvaweto, upravuva~kite SRAM-kletki ja gubat svojata

sodr`ina, pa so toa i propusnite porti ja gubat programiranata sostojba, a FPGA-komponentata ja zaborava svojata konfiguracija. Poradi toa e neophodno, pri sekoe vklu~uvawe na napojuvaweto, konfiguracijata na vakvata FPGA-komponenta, koja vo me|uvreme se ~uva skladirana vo soodvetna eksterna postojana memorija (PROM, EPROM, EEPROM), povtorno da se vnese vo nea. FPGA-komponentite raspolagaat so pogolema ekvivalentna slo`enost - od nekolku iljadi do nekolku stotici iljadi sistemski porti (8 milioni) - i pogolema funkcionalna fleksibilnost od onaa {to ja nudat CPLDkomponentite, a mo`at da rabotat so frekvencija na sistemskiot takt do 100 MHz. Se koristat vo cela lepeza aplikacii od procesirawe na podatoci, preku instrumentacija, do telekomunikacii i digitalno procesirawe na signali. Me|utoa, iako CPLD-komponentite raspolagaat so mnogu pomala slo`enost, tie nudat dizajnirawe so lesno predvidliva vremenska usoglasenost na signalite, pa zatoa se idealni za kriti~nite upravuva~ki aplikacii. Pokraj toa, nekoi CPLD-komponenti se odlikuvaat so ekstremno niska potro{uva~ka na mo}nost i so niski ceni, {to gi pravi idealni za aplikacii koi baraat niska cena, baterisko napojuvawe i prenoslivost, kakvi {to se mobilnite telefoni i PDA-uredite.

You might also like