Professional Documents
Culture Documents
Analiza I Projektovanje Cmos Integrisanih Kola Book by Ubl and Eestec PDF
Analiza I Projektovanje Cmos Integrisanih Kola Book by Ubl and Eestec PDF
Dokić
Prof. dr Predrag M. Petković
ANALIZA I PROJEKTOVANJE
CMOS INTEGRISANIH KOLA
Samo prije dvadesetak godina, mogli smo pročitati u vrhunskim svjetskim naučnim
časopisima prognoze eminentnih naučnika po kojima monolitne tehnologije na silicijumu
doživljavaju vrhunac negdje oko 2010. godine. Optimistički scenarij je predviđao ograničenja
pri dužinama kanala MOS tranzistora oko 62 nm. Da su ta predviđanja prevaziđena govori i
činjenica da današnje tržište raspolaže komercijalnim CMOS 7 nanometarskim procesorima,
a u najavi su tehnologije sa svega nekoliko nm.
2
3.1. Osnove semantike i sintakse .................................................................... 111
3.1.1. Opis hardvera ................................................................................... 112
3.1.2. Signali ............................................................................................. 113
3.1.3. Osnove VHDL pravopisa ................................................................. 117
3.1.4. VHDL operatori ............................................................................... 121
3.1.5. Konkurentne i sekvencijalne naredbe ............................................... 122
3.1.6. Implicitna memorija ......................................................................... 128
3.2. Stilovi opisa projekta .............................................................................. 130
3.2.1. Prvi projekat .................................................................................... 133
3.3. Verifikacija projekta – (Test-Bench) ....................................................... 137
3.3.1. Definisanje UUT kao komponente ................................................... 139
3.1.2. Definisanje pobude i praćenje odziva ............................................... 141
4. CMOS PROCES ............................................................................................ 149
4.1. Osnovni CMOS proces ........................................................................... 150
4.2. Submikronski CMOS proces ................................................................... 155
4.3. Pravila projektovanja lejauta ................................................................... 161
4.3.2. Provera pravila projektovanja, DRC ................................................. 166
4.3.3. Ekstrakcija električne šeme .............................................................. 167
4.3.4. Pravila vezana za tehnologiju ........................................................... 168
4.3.5. Pravila vezana za gustinu slojeva ..................................................... 169
5. STANDARDNA LOGIČKA KOLA .............................................................. 170
5.1. CMOS invertor ....................................................................................... 170
5.1.1. Prenosne karakteristike .................................................................... 172
5.1.2. Napon praga..................................................................................... 175
5.1.3. Struja prelaza .................................................................................. 177
5.1.4. Margina smetnji i neosjetljivost na smetnje ...................................... 178
5.1.5. Dinamičke karakteristike.................................................................. 181
5.1.6. Kružni oscilator ............................................................................... 187
5.1.7. Temperaturne karakteristike ............................................................. 188
5.1.8. Potrošnja električne energije ............................................................ 191
5.1.9. Parazitne diode ................................................................................ 197
5.1.10. Tiristorski efekat .............................................................................. 197
5.1.11. Ograničenja napona napajanja .......................................................... 202
5.2. Transmisioni gejt – TG ........................................................................... 202
5.2.1. Karakteristika otpornosti RON ........................................................... 204
5.3. Složena logička kola ............................................................................... 208
5.3.1. Prenosne karakteristike .................................................................... 212
5.3.3. Napon praga i ulazni logički nivoi.................................................... 217
5.3.4. Optimalna geometrija ....................................................................... 219
5.3.5. Izlazna otpornost .............................................................................. 221
5.3.6. Dinamičke karakteristike NI i NILI kola .......................................... 223
6. ULAZNA I IZLAZNA KOLA ....................................................................... 226
6.1. Ulazna zaštitna kola ................................................................................ 226
6.2. Ulazna CMOS kola ................................................................................. 228
6.2.1. Invertujući Šmitov triger .................................................................. 230
6.2.2. Leč Šmitov triger ............................................................................. 238
6.2.3. NI i NILI Šmitova kola ................................................................... 242
6.2.4. Šmitova NI i NILI kola sa histerezisom na jednom ulazu ................. 246
6.3. Izlazna kola ............................................................................................. 248
6.3.1. Super baferi ..................................................................................... 248
3
6.3.2. Trostatička kola ............................................................................... 252
6.3.3. Blokiranje izlaznog tiristorskog efekta ............................................. 255
6.4. Kola za prilagođenje ............................................................................... 256
7. CMOS KOLA MALE POTROŠNJE.............................................................. 258
7.1. Pretpragovski CMOS radni režim............................................................ 260
7.1.1. Statičke prenosne karakteristike invertora ........................................ 261
7.1.2. Složenija logička kola ...................................................................... 265
7.1.3. Potrošnja električne energije ........................................................... 266
7.1.4. Model kašnjenja ............................................................................... 268
7.2. Hibridni CMOS režim ............................................................................. 271
7.3. Alternativne topologije............................................................................ 273
7.3.1. Pseudo-nMOS logička kola .............................................................. 274
7.3.2. DCVSL ............................................................................................ 279
7.3.3. Prenosna logika ................................................................................ 280
7.3.4. Puš-pul prenosna logika (PPL) ......................................................... 296
7.4. CMOS dinamička logička kola................................................................ 297
7.4.1. Opšte karakteristike ......................................................................... 300
7.4.2. Rasterećenje kondenzatora ............................................................... 302
7.4.3. Raspodjela naelektrisanja ................................................................. 302
7.4.1. Kaskadna veza ................................................................................. 304
7.5. Domino logika ........................................................................................ 304
7.6. Nora cmos logika (npCMOS) .................................................................. 306
7.7. Jednotaktna logika - TSPCL.................................................................... 309
8. SEKVENCIJALNA LOGIČKA KOLA ......................................................... 312
8.1. CMOS D leč ........................................................................................... 312
8.1.1. Alternativne D leč topologije ........................................................... 318
8.1.2. Direktno postavljanje ....................................................................... 322
8.1.3. Metastabilna stanja .......................................................................... 324
8.2. D flipflop ................................................................................................ 325
8.2.1. Signal dozvole ................................................................................. 333
8.2.2. Alternativne DFF topologije............................................................. 336
8.2.3. Transformacija D u druge tipove flipflopova ................................... 341
8.3. Dinamički pomjerački registri ................................................................. 346
8.4. C2MOS leč .............................................................................................. 353
9. PROGRAMABILNE LOGIČKE KOMPONENTE - PLD.............................. 355
9.1. Tehnike programiranja ............................................................................ 358
9.1.1. UVCMOS tehnologija...................................................................... 360
9.1.2. E2CMOS tehnologija........................................................................ 363
9.1.3. FE2CMOS tehnologija .................................................................... 368
9.1.4. SRAM tehnika ................................................................................. 370
9.2. SPLD-jednostavne PLD .......................................................................... 372
9.2.1. I/ILI mreže ....................................................................................... 374
9.2.2. Izlazne opcije ................................................................................... 377
9.2.3. Dvosmjerni priključci i linije povratne veze ..................................... 378
9.2.4. Registarski izlaz ............................................................................... 379
9.2.5. Vrste SPLD...................................................................................... 380
9.3. CPLD - složene PLD ............................................................................... 387
9.4. FPGA – programabilne gejtovske mreže ................................................. 392
9.4.1. LCA - mreže logičkih ćelija ............................................................. 395
9.4.2. MACH - CMOS makro mreže.......................................................... 402
4
9.4.3. ACT FPGA ...................................................................................... 405
9.4.1. Napredne FPGA............................................................................... 406
9.5. Projektovanje sa PLD .............................................................................. 412
9.6. Softver za projektovanje sa PLD ............................................................. 415
LITERATURA ..................................................................................................... 418
DODATAK .......................................................................................................... 420
5
1.1 Definicija projektovanja
Glava 1
Ovo poglavlje ima za cilj da uvede čitaoca u problematiku projektovanja uopšte, sa posebnim
osvrtom na projektovanje integrisanih kola i sistema. Izlaganje je podeljeno u šest celina. Prvi
odeljak posvećen je definisanju osnovnih pojmova vezanih za projektovanje, kako sa
stanovišta domena projektovanja, tako i sa aspekta različitih nivoa projektovanja. Zatim će
biti reči o osnovnim kriterijumima za procenu valjanosti projekta. U tom kontekstu biće
sagledana cena kao važan ekonomski kriterijum, ali i tehnološki parametri kao što su
pouzdanost, brzina, potrošnja i sposobnost prilagođavanja dolazećim tehnološkim
generacijama. Kratak osvrt na strategije u projektovanju dat je u trećem odeljku. Zatim slede
dve celine koje se bave stilovima projektovanja. Najpre su opisani različiti stilovi
projektovanja integrisanih kola, da bi se u petom odeljku definisali kriterijumi koji bi trebali
da pomognu budućim projektantima da izaberu stil projektovanja koji najviše odgovara
potrebama konkretnog projekta. Projektovanje integrisanih kola i sistema nezamislivo je bez
pomoći softverskih alata. Zato se uvodno poglavlje završava opisom alata za automatizaciju
projektovanja. Opisana je uloga ovih alata u procesu projektovanja nezavisno od
proizvođačke marke alata. Generalno je razmotrena sprega između alata i korisnika, kao i
između pojedinih delova alata unutar sistema za projektovanje. U tom kontekstu definisani su
neki formati za skladištenje podataka. O detaljima primene konkretnih alata za projektovanje
integrisanih kola studenti će imati priliku da se upoznaju tokom praktičnog dela realizacije
kurseva iz projektovanja integrisanih kola.
6
Glava 1
7
1.1 Definicija projektovanja
Prva faza predstavlja definisanje koncepta i razradu početne ideje. Od preciznosti formulacije
specificiranih zahteva zavisi ishod celog projekta. Greške napravljene u ovoj fazi su
najskuplje, jer se mogu otkriti tek na kraju, kada se utroši mnogo vremena i novca. Ova faza
ne može da se automatizuje i prepušta se iskusnim projektantima.
Projektovanju u užem smislu biće posvećen ostali deo teksta, tako da ćemo reći samo da ono
obuhvata sve aktivnosti od specifikacije zahteva do izrade prototipa. Praktično, obuhvata
aktivnosti koje dovode do generisanja dokumentacije na osnovu koje proizvođač može da
materijalizuje proizvod. Sam postupak izrade prototipa fizički može biti dislociran od
laboratorije za projektovanje i da se obavlja se u fabrikama van direktnog uticaja projektanta.
Prototipovi se vraćaju projektantima na testiranje. Tada se, u što realnijem fizičkom
okruženju, proverava ispunjenost projektnih zahteva. Pri tome, veoma je važno da se prototip
testira pri najsurovijim uslovima eksploatacije, kako sa stanovišta napajanja, pobude i
opterećenja, tako i radne temperature. Ukoliko se uoče nedostaci, oni se ispravljaju i ceo
postupak se ponavlja. Kada se konstatuje da kolo ispunjava sve projektne zahteve u svim
uslovima eksploatacije, ono je kvalifikovano za proizvodnju.
Sva tri odgovora tačno opisuju isti uređaj, ali u različitim domenima. Prvi odgovor odnosi se
na pitanje koju funkciju obavlja. Drugi odgovor opisuje od čega se sastoji, dok treći opisuje
fizički izgled mobilnog telefona. Shodno tome, kažemo da se jedan projekat može opisati u
tri domena (sl. 1.1):
funkcionalnom,
strukturnom i
fizičkom.
8
Glava 1
9
1.1 Definicija projektovanja
Domen
Logičke
ponašanje
Prenos na Jednačine
Prenos jednačine,
Algoritam registarskom kola, Funkcija
procesa tablice
nivou prenosa
istinitosti
Projektovanje
Strukturno
projektovanje
Projektovanje
arhitekture
elektronike
sistema
Sinteza
sinteza
Logi čko
RTL
projektovanje
Sabirači,
Procesori, Tranzistori i
struktura
i povezivanje
povezivanje
tranzistora
Fiz ič ko
razmeštaj i
rasporeda
površine
Globalni
blokova
Plan
Plan
projektovanje
Lejaut
Kutije, Ploče, Lejaut Lejaut
integrisanih
fizički
10
Glava 1
Proces projektovanja može da se posmatra kao kretanje kroz ravan projektovanja, od opisa
ponašanja na sistemskom nivou do fizičkog domena na električnom, odnosno tranzistorskom
nivou dekompozicije.
Uobičajeni kompaktni grafički prikaz prostora projektovanja daje takozvani Y dijagram,
prikazan na sl. 1.4, koji je definisao Danijel Gajski [Gaj83], pa je poznat kao Gajskijev Y
dijagram. Svakom domenu opisa pridružena je jedna osa Y dijagrama. U okviru svake ose
identifikuju se, obično, četiri do pet nivoa apstrakcije (sl.1.4). Što je neka tačka (nivo) na osi
udaljenija od središta Y dijagrama, nivo apstrakcije je veći, i obrnuto. Nivoi apstrakcije na
sl.1.4 prikazani su koncentričnim krugovima.
Alati za sintezu i generisanje označavaju se lukovima koji povezuju različite domene istog
nivoa apstrakcije (dekompozicije) (sl.1.4). Lukovima koji povezuju različite nivoe istog
domena (Y ose) označavaju se alati za analizu. To su tehnike prelaska sa višeg na niži nivo
apstrakcije, odnosno predstavljanje projekta sa više detalja.
Detaljniji prelazak sa jednog na drugi domen opisa po različitim nivoima dekompozicije
prikazan je na sl.1.3.
11
1.1
12
Glava 1
1.2.1. Cena
Cenu izrade nekog proizvoda određuju fiksni i proporcionalni troškovi. Fiksni su svi troškovi
koji ne zavise od obima proizvodnje: zakup prostora, infrastrukturni troškovi, amortizacija
mašina i sl. Proporcionalni troškovi zavise od količine proizvedenih jedinica proizvoda. Oni
obuhvataju troškove materijala, radne snage i slično. Fiksni troškovi u jedinici proizvoda
učestvuju podeljeni sa veličinom serije (ukupnim brojem proizvedenih komada), tako da se
cena po jedinici proizvoda izračunava prema (1.1) kao:
13
1.2 Kriterijumi za procenu kvaliteta projekta
Cf
C Cp , (1.1)
N
gde Cf označava fiksne, Cp proporcionalne troškove, a N veličinu serije.
U slučaju proizvodnje integrisanih kola troškovi se mogu raščlaniti na fiksne i
proporcionalne:
Fiksni troškovi su:
troškovi projektovanja, CD
troškovi izrade maske, CM i
ostali fiksni troškovi (zakup prostora, i sl.), Cfo.
Proporcionalni troškovi su:
troškovi utrošenog materijala (silicijuma, hemikalija i sl.) za proizvodnju jednog čipa,
CP,
troškovi asembliranja (montaže u kućište), Ca,
troškovi testiranja, Ct i
ostali troškovi (pakovanja i sl.), Cpo, proporcionalni veličini serije i površini čipa.
Ukupni fiksni troškovi mogu da se prikažu zbirom (1.2):
C f CD CM C fo . (1.2)
Najveći deo fiksnih troškova odnosi se na cenu projektovanja koju čine investiranje u
projektante i investiranje u alate.
Danas investiranje u projektante postaje sve veće jer treba platiti obrazovanje ali, takođe,
treba obezbediti adekvatne uslove rada i uslove života. Osim cene redovnog obrazovanja
treba investirati u permanentno obrazovanje (engl. lifetime education): platiti kurseve,
literaturu, obezbediti razmenu stručnjaka.
Za uspešno projektovanje treba obezbediti ugodne radne uslove koji neće frustrirajuće da
deluju na projektante. To znači prijatnu radnu atmosferu. Međutim da bi se projektant
potpuno posvetio poslu, mora da ima rešen i društveni status, odnosno da bude adekvatno
plaćen kako bi mogao redovno da servisira obaveze prema porodici i okruženju. Sve ovo
ukazuje da je cena projektovanja visoka jer je radni sat projektanta skup. Odatle i potreba da
se vreme, a time i cena projektovanja skrati.
Investiranje u alate može da se podeli na kupovinu hardvera i softvera. Činjenica je da cena
hardveru permanentno opada, zahvaljujući razvoju tehnologije. Personalni računari imaju sve
veće mogućnosti tako da se danas mogu lako primeniti za projektovanje. Međutim, cena
specifičnog softvera za ovu namenu stalno raste jer programski zahtevi postaju sve veći.
Komercijalna cena softvera premašuje cifru od $100000.
14
Glava 1
4
Pločica (wafer)
Pelet (die)
15
1.2 Kriterijumi za procenu kvaliteta projekta
Xeon
1.E+03
3G Core
2G Core
Core 2 Duo
1.E+02
Core 2
Pentium M
Pentium 4
1.E+01
Celeron
Pentium Pro
1.E+00
Pentium
486
1.E-01
8008
386
286
1.E-02
8086
8080
1.E-03
4004
1.E-04
1.E-05
1.E-06
1970 1975 1980 1985 1990 1995 2000 2005 2010 2015
Godina uvo đenja u proizvodnju
Slika 1.7. Murov zakon na primeru razvoja Intel© mikroprocesora [INT12d]
16
Glava 1
1
0.1 Troškovi izrade po tranzistoru prate Murov zakon
0.01
Cena [$]
0.001
0.0001
0.00001
0.000001
0.0000001
1982 1985 1988 1991 1994 1997 2000 2003 2006 2009
Godina
Dw/22 Dw
Np , (1.4)
Ap 2 Ap
gde je DW prečnik pločice, a Ap je površina peleta.
Na prinos po peletu, Yp, utiče i gustina defekata gD (broj defekata po jedinici površine
pločice) prema jednačini (1.5):
g D Ap
Yp 1
, (1.5)
gde je parametar koji iznosi približno 3.
17
1.2 Kriterijumi za procenu kvaliteta projekta
Primer 1.1
Proceniti očekivani prinos u proizvodnji IC površine peleta Np = 2,5 cm2 =
250mm2 sa pločice prečnika Dw=12″ (300mm) ukoliko je gustina defekata gD = 1
defekt/cm2.
Prema podacima iz 1994. godine [Rab03] sortiranim u Tabeli 1.1, može da se vidi realan
odnos pojedinih parametara koji utiču na cenu čipa. Treba napomenuti da je u vreme obrade
ovih podataka vodeća tehnologija bila ona koja se odnosi na Pentium procesor. U
međuvremenu prinos u ovoj tehnologiji je povećan, a cena drastično pala.
18
Glava 1
1.2.2. Pouzdanost
Projektovanje pouzdanih IC zahteva poznavanje osnovnih uzroka potencijalnih defekata.
Defekti koji izazivaju potpuni gubitak funkcije kola nazivaju se otkazi ili tvrdi defekti.
Ukoliko defekt izazove degradaciju nekog parametra kola (kašnjenje, potrošnja i sl.) ali ne
izazove potpuni gubitak funkcije, onda se on naziva meki defekt. Pre definisanja uzroka koji
dovode do neispravnog rada IC definisaćemo neke osnovne pojmove koji se tiču pouzdanosti.
Srednje vreme otkaza označava se sa MTBF (engl. Mean Time Between Failours), a računa
se kao
MTBF = (broj_IC·časovi_rada)/(broj_otkaza)
Broj otkaza u vremenu označava se sa FIT (Failurs In Time), a računa se kao
FIT = mogući broj otkaza kod 106 komponenti posle 1000 sati rada = 109 (broj
otkaza/času).
Kod komponenata sa FIT=1000 očekuje se otkaz posle 106 časova, odnosno 114 godina. To
važi za jednu komponentu. Međutim, ukoliko uređaj ima u sebi 10 komponenti sa istim FIT
faktorom od 1000, a isporučuje se 100 uređaja, FIT za celu seriju biće 10·1000·100=10 6, što
znači da se očekuje otkaz na 1000 sati rada, odnosno 42 dana. Zato je cilj da se postigne
pouzdanost FIT < 100.
Najčešći uzroci otkaza su:
elektromigracija,
samozagrevanje,
vrući nosioci (Hot carier),
lečap (Latchup), i
preveliki napon.
Elektromigracija predstavlja pojavu „odnošenja“ metala koja nastaje migriranjem atoma
metala (sa metalnih veza) usled velikih gustina struja. Problem je naročito izražen kod
jednosmernih struja jer atomi migriraju u jednom smeru i brže dolazi do oštećenja veza.
Otuda je ovaj proces izražen kod metalnih linija vezanih za drejn i sors. Na elektromigraciju
naročito su osetljive aluminijumske veze kod kojih gornja granica gustine jednosmernih
struja iznosi JDC=1-2 mA/m2 pri 110o C, dok za bakar iznosi nešto više od 10mA/m2.
Samozagrevanje takođe nastaje usled velikih gustina struja, a karakteristično je za
bidirekcione veze u kojima se signali prostiru u oba smera i za komponente sa pozitivnim
temperaturnim koeficijentom. Imajući u vidu da elektromigracju pospešuje povišena
temperatura, najčešće oba uzroka deluju kombinovano. Granična vrednost gustine efektivne
struje za aluminijumske veze iznosi Jeff < 15mA/m2. Oba problema rešavaju se smanjenjem
gustine struja, tako što se poveća širina veza ili smanji odnos W/L tranzistora, kako bi mu se
ograničila sposobnost da obezbedi veću struju.
Vrući nosioci nastaju tokom brze promene stanja tranzistora. Tada nosioci dobiju dovoljno
energije da injektuju u oksid ispod gejta i ostanu zarobljeni u njemu. Oštećeni oksid degradira
I-V karakteristike tranzistora tako što efektivno smanjuje napon VGS, a time i struju kod
nMOS, a povećava kod pMOS tranzistora. Negativni efekat je naročito ispoljen pri velikim
strujama u supstratu koje su karakteristične kod nMOS tranzistora u slučaju porasta ulaznog
19
1.2 Kriterijumi za procenu kvaliteta projekta
napona kada tranzistor radi u zasićenju. Problem je karakterističan za invertore i NILI kola sa
velikim opterećenjem na izlazu u slučaju da se ulazni signal brzo menja i kod kola sa velikim
naponima napajanja.
Lečap je pojava karakteristična za CMOS procese. Manifestuje uspostavljanjem neželjene
veze između napona napajanja VDD i VSS preko parazitnih bipolarnih tranzistora koji
formiraju parazitni tiristor (pnpn struktura) kao što ilustruje sl. 1.10.
a) b)
Slika 1.10. Ilustracija pnpn strukture (a) i električni model (b)
U normalnom režimu rada, bipolarni tranzistori su zakočeni. Međutim, tokom uključivanja
napajanja ili u slučaju da napon Vsub > VSS ili Vwell < VDD, tranzistori provedu, a struja između
VDD i VSS može da dovede do samozagrevanja i topljenja metalne veze napajanja. Na ovaj
efekat naročito su osetljive ulazno/izlazne - I/O (Input/Output) ćelije. Efekat se umanjuje
ubacivanjem zaštitnih prstenova n-tipa oko difuzija p-tipa i obrnuto. Prsten n-tipa vezuje se
za VDD, a p-tipa za VSS.
Preveliki napon, zavisno od mesta na kome se javi, može da ugrozi različite delove kola.
Ukoliko se javi na gejtu tranzistora, lako može da izazove proboj tankog oksida. Veliki napon
između drejna i sorsa može da dovede do proboja (engl. punchthrough). Ovaj napon najčešće
nastaje usled elektrostatičkog pražnjenja ili šuma u napajanju. Pouzdanost se povećava
smanjenjem napona napajanja, snižavanjem šuma u izvorima za napajanje ili povećanjem
debljine oksida u I/O ćelijama.
Osim tvrdih defekata, na pouzdanost utiču svi ostali faktori koji mogu da izazovu pogrešan
rad IC. Njih izazivaju različiti uzročnici od šuma koji potiče od izvora za napajanje,
preslušavanja, odnosno interferencije signala, do šumova izazvanih odstupanjem nekih
karakteristika od nominalnih vrednosti. Postoje dve osnovne strategije zaštite. Prva je da se
eliminišu izvori šuma, a druga je da se povećaju margine osetljivosti na šum. Time se
smanjuje opseg signala koji se maifestuje kao šum. sl. 1.11 pokazuje statičku prenosnu
karakteristiku invertora. Na slici je naznačeno kako se određuju margine šuma niskog i
visokog naponskog nivoa na ulazu (označene su sa VILM i VIHM) i izlazu (označene sa VOLM i
VOHM).
Dobra strategija projektovanja IC nalaže da se fizički udalje signali osetljivi na šumove od
izvora šuma, ili da se osetljivi delovi čipa ograde zaštitnim prstenovima. Nažalost, oba načina
dovode do povećanja površine čipa.
20
Glava 1
VO = f (VI )
VDD
"1" VOH f
Nagib= -1
VO = VI
VOHM
VM
Opseg Prag odluke
neodređenosti
VOLM
Nagib= -1
"0" VOL
VILM VIHM VI
VIL VIH VDD
"0" "1"
Slika 1.11. Statička prenosna karakteristika invertora sa marginama logičkih stanja
Pouzdanost integrisanih kola u velikoj meri zavisi od iskustva, kako u projektovanju tako i u
proizvodnji.
1.2.3. Brzina
Brzina rada integrisinih kola meri se vremenom koje protekne od pobude do odziva. Ona
zavisi od dinamičkih parametara osnovnih logičkih blokova (uobičajeni naziv za osnovni
logički blok je ćelija ili gejt) i veza. Podsetićemo se da su osnovni vremenski parametri
logičkih kola vreme kašnjenja signala i vreme uspostavljanja signala. Vreme kašnjenja
(propagaciono kašnjenje) definiše se kao vreme koje protekne od trenutka kada pobudni
signal pređe 50% nominalne vrednosti do trenutka kada odziv dostigne 50% nominalne
vrednosti. Vreme uspostavljanja signala definiše se kao vreme za koje signal promeni
vrednost od 20% do 80% nominalne vrednosti, za rastuću (prednju) ivicu, odnosno od 80%
do 20% za opadajuću (zadnju) ivicu. (U katalozima se može naći i drugačija definicija,
recimo da se odnosi na promenu vrednosti signala od 10% do 90%.) Minimalno vreme
kašnjenja odziva nekog logičkog kola na pobudu zove se kontaminaciono kašnjenje i
označava se sa tc, dok se maksimalno vreme odziva naziva propagaciono kašnjenje i
obeležava se sa tp.
Često se brzina rada meri vremenima porasta tr i pada tf izlaznog signala na skokovitu
pobudu. Ako uzmemo da je minimalan period ulaznog signala T min=tr+tf, onda je maksimalna
frekvencija invertora, u standardnom CMOS režimu, proporcionalna sa VDD-Vt, tj.:
W
f max (VDD Vt ), (1.8)
CL tox L
gdje su: CL kapacitivnost opterećenja, W i L širina i dužina kanala, redom, tox je debljina
oksida između gejta i kanala, Vt je napon praga tranzistora, a VDD je napon napajanja. Dakle,
osim razlike VDD-Vt, maksimalna frekvencija zavisi od dimenzije logičke ćelije i parazitnih
kapacitivnosti. Brzina rada takođe, zavisi od složenosti logičke ćelije i broja ćelija na putu
signala.
21
1.2 Kriterijumi za procenu kvaliteta projekta
Xeon
1.E+04
2G Core
1.E+03
Core 2 Duo
Core 2
3G Core
Pentium M
Pentium 4
1.E+02
Celeron
Pentium Pro
Pentium
1.E+01
486
8008
386
286
80 86
1.E+00
80 80
1.E-01
4004
1.E-02
1.E-03
1970 1975 1980 1985 1990 1995 2000 2005 2010 2015
22
Glava 1
Slika 1.13.
Dobro projektovana arhitektura može da reši najveći broj problema vezanih za kritične
puteve. To zahteva detaljna znanja o algoritmima, ali i tehnologiji u kojoj se planira
realizacija. Treba znati kašnjenje logičkih gejtova, a zatim koliko se takvih kašnjenja može
“smestiti” u jednu poluperiodu signala takta. Takođe, treba znati koliko traje operacija
sabiranja, koliko brzo može da se pristupi memoriji i koliko je kašnjenje signala na vezama.
Na osnovu toga može da se izračuna broj segmenata u protočnim arhitekturama (pipelining -
pajplajning), ili da se utvrdi veličina memorije. Na logičkom nivou apstrakcije bira se
arhitektura optimalnog funkcionalnog bloka (tip sabirača, množača i sl.). Na električnom
nivou, dodatna optimizacija kašnjenja može da se obavi izborom dimenzija tranzistora. Ne
treba gubiti iz vida da je praktično nemoguće popraviti na nižim nivoima greške koje su
napravljene tokom projektovanja na višim nivoima.
U fizičkom domenu, takođe je veoma važno da li je u startu napravljen dobar plan površine
(floor planning), jer od njega zavise rezultati globalnog i detaljnog razmeštaja i povezivanja.
U fizičkom domenu moguće je dodatno fino podešavanje parazitnih kapacitivnosti od kojih
značajno zavisi kašnjenje pojedinih logičkih gejtova.
Realizacija logičke funkcije sa manjim kašnjenjem u određenoj tehnologiji obično zahteva
veću površinu čipa, tako da se tokom projektovanja traži optimalni kompromis.
23
1.2 Kriterijumi za procenu kvaliteta projekta
S druge strane, energija koja se potroši tokom vremenskog intervala T predstavlja inegral
snage u vremenu, a izračunava se prema (1.10) kao:
T T
E p(t )dt VDD iDD (t )dt . (1.11)
0 0
24
Glava 1
debljine oksida gejta na ispod 2nm, tako da elektroni, pod dejstvom električnog polja, mogu
mnogo lakše da prođu kroz njega. Ova pojava zove se tunelovanje. Struja tunelovanja
eksponencijalno raste sa povećanjem napona napajanja VDD.
Konačno, postoji i struja curenja kroz inverzno polarisane pn spojeve. Međutim, u
savremenim procesima ova struja je mnogo manja od prethodne dve, tako da može da se
zanemari.
ID [A]
-3 V = 1.8 V
10 Zasićenje DS
-4
10
-5
10 Pretpragovska
-6 oblast
10
-7
10
-8
10
-9
10
-10
10 V [V]
GS
-11
10
Slika 1.14. Simulirana I-V karakteristika jediničnog nMOS tranzistora u 0,18 m tehnologiji
Statička struja curenja postala je dovoljno značajna da se nalazi među kataloškim podacima
za nove tehnologie i izražava se u nA/m dužine gejta. U uređajima koji se napajaju iz
baterija, statička struja ne bi smela da premaši 100A.
S obzirom da se vrednost ukupne statičke struje, Istat, ne menja sa vremenom, statička
komponenta snage može da se izračuna prema (1.12) kao
Pstat I stat VDD . (1.12)
Primer 1.2:
Digitalni sistem koji je realizovan u 100nm procesu, sadrži 200 miliona
tranzistora i napaja se sa 1.2V.Kontrolna logika sastoji se od 20 miliona
tranzistora sa srednjom širinom kanala od 0.6m. Ostali tranzistori čine
memorijski niz, a njihova srednja širina iznosi 0.2m. Svi tranzistori sem 20%
onih u logičkim gejtovima realizovani su sa debljim oksidom tako da im je struja
curenja gejta 0.002nA/m. Oni imaju veći napon praga i pretpragovsku struju od
0.02nA/m. Ostali tranzistori realizovani su sa tanjim oksidom i manjim
naponom praga, pa im je struja curenja gejta 3nA/m, a pretpragovska struja
20nA/m. Proceniti statičku potrošnju, ako se pretpostavi da je polovina
tranzistora zakočena i da je struja curenja inverzno polarizovanih pn spojeva
zanemariva.
25
1.2 Kriterijumi za procenu kvaliteta projekta
Slika 1.15. Trendovi smanjenja dimenzija tranzistora i VDD (a) i potrošnje (b) [1]1
Dinamička disipacija
Dinamička disipacija nastaje kao posledica promene stanja u logičkim kolima. Tom prilikom
teku dve komponente struje kroz kolo.
Primarnu komponentu čine struje punjenja/pražnjenja kondenzatora. Pretpostavimo da se
kondenzator C ciklično puni/prazni između vrednosti VDD i VSS = GND = 0, sa srednjom
frekvencijom fpp. Za vremenski interval t, on će se puniti/prazniti t·fpp puta. Tokom jednog
ciklusa ukupno naelektrisanje Q= C·VDD preneće se od VDD do GND. Srednja snaga disipacije
izračunava se prema (1.12):
T T
1 V
PD
T0 iDD (t )VDD dt DD iDD (t )dt .
T 0
(1.13)
1
[1] International Technology Roadmap for Semiconductors, http://www.irts.net
26
Glava 1
Najčešće je maksimalna aktivnost 0.5. Empirijski je utvrđeno da statička CMOS kola
imaju faktor aktivnosti 0.1, [Wes05].
Tokom promene stanja CMOS logičkih kola u standardnom režimu, postoji interval u kome
vode i nMOS i pMOS tranzistori. Tada postoji direktna veza između VDD i VSS, tako da se
ova struja naziva struja prelaza. U engleskoj terminologiji najčešće se koristi naziv struja
kratkog spoja (engl. short circuit). Ovo stanje traje dokle god je ulazni napon u opsegu Vtn <
Vi < VDD - Vtp, (gde su Vtn i Vtp naponi praga nMOS i pMOS tranzistora, redom). Ukoliko se
taj interval označi kao tsc, broj promena u kolu iskaže preko faktora aktivnosti i frekvencije
takta, a struja u celom intervalu aproksimira vršnom vrednošću IDDM, ukupna disipirana snaga
usled ovog efekta biće jednaka (1.15):
PD f c tsc VDD I DDM . (1.16)
Ova komponenta snage raste ako su promene signala spore jer je vreme tsc duže. Da bi se ona
smanjila, dobro je da se koriste tranzistori sa većom širinom kanala. Ukupna dinamička
komponenta snage dobija se zbirom (1.15) i (1.16).
Iako je u [Wes05] navedeno da je IDDM mnogo manja od struje punjenja kondenzatora, te da
se njen uticaj može zanemariti u grubim proračunima, simulacije na primeru jediničnog
invertora u CMOS 0,35m tehnologiji pokazuju da to nije slučaj [Nik05].
Primer 1.3
Pretpostavimo da digitalni sistem iz prethodnog primera koristi statičke logičke
CMOS ćelije sa faktorom aktivnosti od L = 0.1, dok je faktor aktivnosti
memorijskog dela M = 0.05. Uz pretpostavku da je podužna kapacitivnost
2fF/m i da se kapacitivnost veza može zanemariti, proceniti dinamičku
disipaciju snage po MHz. Proceniti dinamičku potrošnju pri frekvenciji takta od
1GHz kada bi faktor aktivnosti svih tranzistora bio = 0.25.
27
1.2 Kriterijumi za procenu kvaliteta projekta
28
Glava 1
Celeron*
10 0
2G Core
4G Core
3G Core
Core 2
Core 2 Duo
Pentium 4
Xeon
Pentium III*
Pentium Pro
Pentium M
Pentium II
Pentium
10
286*
80 86 *
486*
386*
8080*
4004*
8008*
0.1
1 970 19 75 1980 19 85 199 0 1 995 20 00 2 005 20 10 201 5
Godina uvođ enja u proizvodnju
Slika 1.17. Povećanje energetske efikasnosti kompjutera od 1980 do 2010 godine [Koo09]
29
1.2 Kriterijumi za procenu kvaliteta projekta
30
Glava 1
Skaliranje dimenzija tranzistora u Intel© procesorima
1010
m
4004
8008
80 80
Pentium III
Pentium II
80 86
Pentium M
1m1
386
286
Core 2 Duo
Xeon
Tehnološki proces
486
Pentium
Core 2
2G Core
Pentium Pro
3G Core
Celeron
Pentium 4
100nm
0.1
10nm
0.01
1nm
0.001
1970 1975 1980 1985 1990 1995 2000 2005 2010 2015
Godina uvo đenja u proizvodnju
Slika 1.19. Uvođenje tehnoloških generacija u proizvodnji Intel mikroprocesora
od 1970. do 2012. godine (korišćeni podaci iz [INT12a], [INT12d] i http://ark.intel.com)
Zanimljivo je uporediti predviđanja iz 2005. godine (sl. 1.18) sa činjeničnim stanjem u 2014.
godini koje je ilustrovano na sl. 1.19. Očigledno je da su predviđanja bila pesimičnija od
stvarnosti jer su se procesori urađeni u 22nm tehnologiji pojavili 2012. godine, četiri godine
pre predviđenog termina 2016.
Istorijski posmatrano, skaliranje dimenzija od 6m do 1m, svodilo se samo na lateralno
skaliranje, odnosno na smanjenje dužine kanala. Ostale dimenzije, kao što su širina kanala i
debljina oksida, napon napajanja i koncentacije primesa nisu menjane. Ovakvo skaliranje,
dovelo je do smanjenja kašnjenja sa kvadratom faktora skaliranja, S =L/L', gde L i L'
označavaju dužinu kanala u prethodnoj i narednoj tehnološkoj generaciji, respektivno.
Napominjemo da je, prema ovoj definiciji, S > 1. U istom odnosu redukovana je i cena.
Dobra strana lateralnog skaliranja bila je ta što se standardi u veličini naponskih nivoa na
ulano-izlaznim priključcima IK nisu menjali gotovo 20 godina. Međutim, konstantan napon i
smanjenje dužine kanala doveli su do znatnog povećanja električnog polja unutar
komponente. Brzina nosilaca izazvana električnim poljem (driftovska) dostigla je granične
vrednosti (zasićenje) već pri tehnologiji od 1m jer je električno polje postalo reda veličine
10kV/cm, tako da dalje smanjenje dimenzija nije davalo očekivane rezultate. Pored toga,
narastao je rizik od proboja usled velikog električnog polja. Zato je rešenje traženo u
skaliranju sa konstantnim električnim poljem.
Da bi polje ostalo konstantno sa smanjenjem dužine kanala, treba smanjiti i napon napajanja.
S druge strane, da bi se zadržale i ostale karakteristike tranzistora, bilo je neophodno da se
smanje, ne samo lateralne, nego i vertikalne dimenzije tranzistora i da se poveća koncentacija
primesa.
Tabela 1.2 daje uporedni prikaz skaliranih parametara iskazan preko faktora skaliranja S, za
lateralno i skaliranje sa konstantnim električnim poljem.
31
1.2 Kriterijumi za procenu kvaliteta projekta
fc
Dinamička
CVDD2fc S 1/S2
disipacija: PdinC
Površina čipa: A 1/S 1/S2
Gustina snage PdinC/A S2 1
Gustina struje IDS/A S2 S
Pored smanjivanja dimenzija tranzistora novi tehnološki procesi uvode i skaliranje dimenzija
metalnih veza. U početku se skaliranje veza obavljalo samo u dve dimenzije (2D, širina,
dužina), dok debljina metala (thickness – t) nije menjana. Takav pristup bio je jednostavan i
dobar, jer se njime podužna otpornost nije povećavala sa kvadratom faktora skaliranja S.
Međutim, kada su veze postale uže od debljine, ivična kapacitivnost veza postala je
dominantna i uticala je, kako na spregu između signala, tako i na kašnjenje. Da bi se smanjilo
ukupno kašnjnje, kod savremenih tehnologija efikasnije je da se skaliranje veza obavi u sve
tri dimenzije (3D), odnosno da se smanjuje i debljina veza. Kada se govori o skaliranju
dužine veza, prevashodno se misli na lokalne, kraće veze. Duže veze ne zavise direktno od
tehnologije već od dimenzije čipa i globalnog rasporeda, odnosno plana površine. Šta više,
svaka nova tehnologija otvara apetite da se sa njom realizuju složenije funkcije, tako da
ukupna površina integrisanog kola raste, iako se površina pojedinačnih tranzistora smanjuje.
Dobar primer za to vidi se u koloni označenoj sa Ad, u Tabeli 1.1, gde je pokazana površina
peleta mikroprocesora različitih generacija proizvedenih u Intel korporaciji. Zato duge veze u
32
Glava 1
savremenim integrisanim kolima postaju sve duže. Ovo predstavlja svojevrstan problem. Sa
svakom novom generacijom mikroprocesora veze se produžavaju proporcionalno faktoru
Dc1,1. Kašnjenje na dugim vezama sve je više dominantni ograničavajući faktor u
savremenim IC, jer ono postaje veće od kašnjenja logičkih ćelija. S obzirom da dimenzije i
cena tranzistorima pada, dobro rešenje za redukovanje kašnjenja predstavlja deljenje veze na
segmente i umetanje bafera ili invertora (“ripiteri”, videti 6.4) između segmenata. Nezavisno
od tipa skaliranja, 2D ili 3D, sa istim faktorom (1/S), pored širine veze, width – w, skaliraju se
i razmak između dve susedne veze, spacing – s, i debljina oksida između dva sloja metala,
interlayer oxide hight - h. U Tabelama 1.4, 1.5 i 1.6 prikazan je uticaj skaliranja na:
karakteristike veza po jedinici dužine, karakteristike lokalnih veza i karakteristike globalnih
veza, redom [?].
Skaliranje ima veliki uticaj na ostale kriterijume po kojima se procenjuje uspešnost projekta.
Uticaj na cenu već je razmatran u odeljku 1.2.1 kroz povećanje cene izrade maske (sl. 1.5) i
smanjenje cene tranzistora (sl. 1.8). Ovome treba dodati porast cene projektovanja. Broj
tranzistora po čipu brže raste od produktivnosti projektanta (broj gejtova/nedelju dana). To
zanči da će projektantski timovi morati da se povećavaju. Već danas timovi za projektovanje
mikroprocesora dostižu po obimu projektantske timove u avio ili auto industriji. Alternativa
je u povećanju produktivnosti projktanata kroz ponovno korišćenje ranije projektovanih,
odnosno pretprojektovanih struktura, čak i po cenu da se ne optimizuju sve karakteritike čipa
(površina, brzina,...).
33
1.2 Kriterijumi za procenu kvaliteta projekta
S obzirom da se skaliraju napon napajanja i napon praga, margine logičke nule i jedinice
postaju sve manje (sl. 1.11), tako da se sa skaliranjem dimenzija povećava osetljivost na
šumove. Čim je razmak između veza manji, a frekvencije signala veće, raste opasnost od
preslušavanja, jer raste međusobna sprega između dve veze. Pri tome, misli se na sprege
ostvarene, kako preko induktivnih, tako i preko kapacitivnih parazitnih elemenata.
Redukcijom dimenzija raste osetljivost na smetnje izazvane promenom signala u susednoj
vezi [Wes05].
34
Glava 1
35
1.3 Strategije u projektovanju
286 486
10 8086 386 Ringla
8085 8086
8080 10 4004 P6
8008
1 4004 8008 8085 386 Pentium® proc
286 486
0.1 1 8080
1971 1974 1978 1985 1992 2000 2004 2008 1970 1980 1990 2000 2010
Godina Godina
a) b)
Slika 1.21. Disipacija snage (a), i gustina snage (b), u postojećim Intelovim mikroprocesorima (do
2000.) i prognoza daljeg rasta do 2010.
36
Glava 1
37
1.4 Stilovi projektovanja
1.4.1. SIC
Integrisana kola koja postoje na tržištu i mogu da se kupe u radnji nazivaju se standardna IK.
Njihova oznaka definiše tip kola i njegovu namenu. Čitaocu su verovatno poznata kola sa
oznakama CD4000, LM741, mA741, 74xxx serija. Svi podaci o funkciji koju kola obavljaju,
o performansama i uslovima eksploatacije mogu da se nađu u katalozima koje izdaje
proizvođač. Bez namere da favorizujemo nekog proizvođača IK u odnosu na ostale, već sa
ciljem da ilustrujemo tipove podataka koji se nalaze u katalogu, na sl. 1.23 prikazan je deo
sadržaja kataloga za kolo sa oznakom AD7819 koje se nalazi u proizvodnom programu firme
Analog Devices.
S obzirom da je tema ove knjige projektovanje integrisanih kola, ovde samo pominjemo da
postoje standardna integrisana kola, imajući u vidu da i njih neko projektuje pre nego što se
pojave na tržištu. S obzirom da imaju opštu namenu, standardna integrisana kola proizvode se
u velikim serijama, pa im je cena relativno mala. Prilikom projektovanja elektronskih sistema
i kola, treba uvek razmotriti da li postoji standardno IC koje zadovoljava zahteve u pogledu
funkcije, cene, pouzdanosti, brzine i potrošnje.
Slika 1.23. Deo podataka koje proizvođači standarnih integrisanih kola daju u katalozima
38
Glava 1
39
1.4 Stilovi projektovanja
Što manji broj različitih IC (što više kola istog tipa). To smanjuje ukupnu cenu. Od
projektanta se traži da dobro poznaje i maksimalno koristi nestandardne primjene
integrisanog kola.
Optimalne serije/grupe integrisanih kola s obzirom na brzinu i potrošnju. Po pravilu,
treba birati najsporiju seriju koja zadovoljava postavljene uslove brzine, jer je tada
potrošnja manja, a dinamička neosetljivost na smetnje veća.
1.4.2. ASIC
Ova kola ne mogu da se kupe u radnji jer se proizvode za specifičnu namenu za određenog
korisnika. Korisnik isprojektuje kolo, pošalje proizvođaču podatke neophodne za izradu
maski, kolo se proizvede i isporuči naručiocu. Oznaka na njima definiše tip i funkciju kola
koji su poznati samo neposrednom naručiocu, jer se ne nalaze u katalozima. Na taj način štiti
se poslovna tajna. Uređaji koji imaju ugrađene ASIC komponente, veoma teško mogu da se
kopiraju.
ASIC, na putu do komercijalnog tržišta (tržišta gotovih uređaja i sistema), prolazi četiri faze.
Prvu čini projektovanje (u užem smislu), drugu fabrikacija probnih uzoraka, treću testiranje, a
četvrtu ulazak u redovnu proizvodnju. Naravno, ukoliko se tokom testiranja otkriju greške,
ponovo se ulazi u fazu projektovanja. Da bi proizvođač uređaja/sistema mogao da projektuje
kola specifične namene, on od vlasnika tehnologije u kojoj će kolo biti proizvedeno, dobija
sve relevantne tehnološke podatke.
Integrisana kola specifične namene mogu da se projektuju na dva osnovna principa i to kao:
1. Potpuno projektovanje po narudžbini - CD (Full Custom, odnosno Custom Design)
2. Delimično projektovanje po narudžbini - SD (Semicustom Design)
Potpuno projektovanje po narudžbini
Potpuno projektovanje po narudžbini podrazumeva projektovanje IC po principu tranzistor po
tranzistor sa ciljem da se ostvari maksimalno popunjenje površine čipa, odnosno maksimalna
gustina pakovanja. Da bi se to postiglo, svaka faza projektovanja mora posebno da se
optimizuje, karakteriše, odnosno da se utvrde tačne električne osobine svakog modula. Kao
rezultat mogu da se projektuju blokovi nepravilnih oblika.
Ovaj postupak projektovanja izuzetno je dug, zahteva široki tim stručnjaka opremljen dobrom
računarskom opremom i specifičnim softverskim alatima. S obzirom da se radi o detaljnom
projektovanju na nivou osnovnih komponenata kola i to na električnom nivou i fizičkom
domenu, veoma je teško automatizovati ovaj način projektovanja. Zbog velikog učešća
visokokvalifikovanog ljudskog rada, cena projektovanja je velika, tako da se isplati samo za
vrlo velike serije, pri kojima ušteda u površini silicijuma može da nadoknadi troškove
projektovanja.
Ovaj stil projektovanja bio je jedini izbor u prvih 10-tak godina istorije proizvodnje IC.
Danas se u projektovanju digitalnih IC koristi vrlo retko, ali je i dalje zastupljen u
projektovanju analognih i kola sa mešovitim signalima.
Tipičan izgled lejauta kola potpuno projektovanih po narudžbini dat je na sl. 1.24, uočljive su
strukture nepravilnog oblika.
40
Glava 1
41
1.4 Stilovi projektovanja
Lokalno projektovanje do nivoa izrade lejauta modula obavljaju proizvođači IC. Ono se
obavlja u stilu potpunog projektovanja po narudžbini, da bi se optimizovale dimenzije, brzina
i potrošnja. Sa stanovišta korisnika ASIC-a, nivo projektovanja podignut je sa tranzistorskog
na viši nivo. Podaci o pretprojektovanim ćelijama smeštaju se u biblioteke modula.
Projektovanje zasnovano na primeni pretprojektovanih modula svodi se na:
prevođenje funkcionalnog opisa u strukturu koja sadrži module onog tipa
koji postoje u biblioteci, razlaganje (partitioning),
raspoređivanje modula po ploči (placement),
povezivanje modula (routing) i
prevođenje lejauta u format pogodan za izradu maski.
Pri tome, postoje striktna pravila po kojima moduli mogu da se raspoređuju i povezuju, čime
je omogućeno automatsko generisanje lejauta. Projektovanje je značajno ubrzano u odnosu na
CD, ali se izgubilo na površini, brzini i potrošnji. Zato je ovaj način projektovanja pogodan
za ASIC kod kojih se zahteva umereni obim proizvodnje.
Zavisno od logičkog nivoa na kome su definisani moduli razlikuje se stil zasnovan na
standardnim ćelijama - SC (Standard Cells) od stila zasnovanog na makroćelijama - MC
(Macro Cells).
Standardne ćelije
Moduli definisani na nivou osnovnih kombinacionih i sekvencijalnih logičkih kola (NE, NI/I,
NILI/ILI, flipflop i sl.) čine skup standardnih ćelija. Istorijski gledano, skup ćelija sačinjen je
od modula male složenosti koji odgovaraju IC na niskom nivou integracije, poznatom kao
SSI. Električne i geometrijske osobine svake ćelije unapred su poznate. Ćelije imaju pinove
sa gornje i donje strane i mogu da se ređaju u nizove, jedna do druge. Međusobno
povezivanje ćelija obavlja se u kanalima koji se nalaze između nizova ćelija. Pored centralnih
ćelija, korisnicima stoje na raspolaganju i biblioteke perifernih I/O modula koje sadrže
ulazne, izlazne i bidirekcione ćelije. Periferne ćelije vezane su za I/O portove IC. Zavisno od
veličine čipa, korisnicima se nude, I/O ćelije u bar dve dimenzije: uže i više (za kola čije su
dimenzije ograničene brojem padova, pad limited), šire i kraće (za kola čije su dimenzije
ograničene veličinom jezgra čipa, core limited).
Tipičan primer lejauta IC projektovanih na bazi standardnih ćelija prikazani su na sl. 1.26.
a) ceo čip b) detalj jezgra čipa c) detalj jezgra čipa kod savremenih SC
Slika 1.26. Lejaut IC projektovanog na bazi standardnih ćelija
42
Glava 1
Broj i dužina nizova ćelija na čipu određuje se automatski na osnovu zadatih dimenzija čipa.
Kao što se primećuje, stepen iskorišćenja površine čipa znatno je manji nego kod kola
potpuno projektovanih po narudžbini. Uvođenje tehnologija sa više nivoa metala za
povezivanje omogućilo je trasiranje veza iznad ćelija. Deo jezgra lejauta takvog kola prikazan
je na sl. 1.26.c. kod koga je lejaut ćelije prekriven vezama.
Logički simbol, električna šema i lejaut jedne standardne ćelije koja obavlja NI3 funkciju
prikazan je na sl. 1.27.
A
B F
C
Dn3
C B A Dn2=Sn1
C n3
Sn3
VSS VSS
Slika 1.28. Intel Pentium IV, primer kola u kome su korišćene makroćelije
43
1.4 Stilovi projektovanja
Makroćelije
Moduli veće složenosti od standardnih ćelija, reda veličine IC koja su poznata kao kola
srednjeg MSI i velikog stepena integracije LSI nazivaju se makroćelije. Kao makroćelija
mogu da se posmatraju sabirači, kola za množenje, registri, ROM, RAM, pa čak i
mikroprocesori. Pinovi za povezivanje mogu da se nađu na sve četiri strane makroćelije.
Projektuje se na višem nivou nego kod SC metoda. Makroćelije su intelektualno vlasništvo
projektanta (Intelectual Property), tako da se još nazivaju IP ćelije. Lokalno, IP ćelija može
da bude projektovana po principu potpunog, delimičnog projektovanja po narudžbini ili
kombinacijom oba stila. Primer lejauta kola projektovanog na principu makroćelija prikazan
je na sl. 1.28.
Gejtovska polja
Da bi se skratilo vreme do izlaska na tržište, umesto pretprojektovanih, ponuđena su
„pretproizvedena“ kola. Zapravo, radi se o kolima koja su već delimično proizvedena. U
trenutku kada počne projektovanje njihove funkcije, na kolima su već ugrađeni tranzistori,
raspoređeni u nizovima. Kola dobijaju željenu funkciju tek kada se tranzistori međusobno
povežu, a za to je dovoljno da se uradi par slojeva metala. Praktično svaki novi projekat
zahteva izradu novih maski samo za metalizaciju. Na taj način vreme i troškovi, ne samo
projektovanja nego i fabrikacije prototipova značajno su smanjeni, jer su smanjeni fiksni
troškovi.
Pre početka projektovanja poznat je položaj (i električne osobine) svakog tranzistora. Oni su
obično raspoređeni u nizovima razmaknutim tako da se omogući povezivanje. To su klasični
gejtovski nizovi poznati pod nazivom Gate Array - GA. Kada su tranzistori raspoređeni u
nerazmaknutim nizovima, kaže se da postoji „more gejtova” - SOG (Sea Of Gates). Matrice
(prazni peleti) za oba pristupa prikazane su na sl. 1.29.
Pasivni Pasivni
uglovi uglovi
pMOS pMOS
nMOS nMOS
pMOS
Kanal za trasiranje veza Preiferne nMOS Preiferne
pMOS
nMOS
I/O ćelije pMOS
nMOS
I/O ćelije
pMOS
nMOS
pMOS pMOS
nMOS nMOS
pMOS niz pMOS pMOS niz
nMOS niz nMOS nMOS niz
pMOS pMOS
nMOS nMOS
pMOS
nMOS
pMOS pMOS
nMOS nMOS
pMOS
nMOS
pMOS pMOS
nMOS nMOS
44
Glava 1
pMOS pMOS
nMOS nMOS
VSS VSS
GA struktura SOG struktura GA struktura SOG struktura
a) b)
Slika 1.30. Deo lejauta jezgra kod GA i SOG gejtovskih nizova:
a) nepovezani tranzistori u GA i SOG gejtovskom nizu
b) NI3 ćelija realizovana na bazi GA i SOG strukture
Strukturisani ASIC
Koncept gejtovskih nizova dodatno je proširen ugradnjom pojedinih blokova opšte namene
kao što su strukture namenjene testiranju ili taktovanju (PLL). Pored toga u kombinaciji sa
gejtovskim nizovima nude se i memorijski blokovi. Na taj način korisnicima se nudi opcija
kraćeg vremena projektovanja ali i kraćeg vremena proizvodnje, čime se skraćuje vreme do
izlaska na tržište, u odnosu na klasični pristp primene gejtovskih nizova.
Sl. 1.31 prikazuje blok dijagram strukturiranog ASIC koga je korporacija Altera ponudila
tržištu u 2008 godini pod nazivom HardCopy II [Alt08]. Primećuje se da su memorijski
blokovi okruženi nizovima nepovezanih tranzistora. Oni su na sl. 1.31 označeni kao Arrey of
HCells. Vidi se da su ugrađeni i PLL blokovi, a između pojedinih celina ostavljeni su kanali
za trasiranje veza. Celo jezgro okružuju ulazno/izlazne ćelije označene kao IOE
(Input/Output Elements).
45
1.4 Stilovi projektovanja
Slika 1.31. Raspored pojedinih blokova u HardCopy II strukturisanom ASIC koji proizvodi
Altera [Alt08]
Među najpoznatije proizvođače ASIC kola spadaju: Alcatel Microelectronics, Altera
Corporation, American Microsystems Inc. „AMI”, AMI Semiconductor, Epson, Flextronics
International, Fujitsu Microelectronics Inc., IBM Microelectronics, LSI Logic, Oki
Semiconductor; Samsung Semiconductor, STMicroelectronics, Sun Microsystems Inc.,
Synopsys, TI, Toshiba, TSMC (Taiwan Semiconductor Manufacturing Company), (lista je
načinjena po abecednom redosledu).
1.4.3. SASIC
Istorijski gledano, standardna integrisana kola specifične namene nastala su kombinacijom
standardnih i ASIC kola. Od standardnih IC nasledili su nezavisnost od proizvođača (ne
moraju da se naknadno fabrikuju), a od ASIC su preuzeli osobinu specifične primene, tako
što im krajnji korisnik definiše funkciju. Ovo je omogućeno ugradnjom u isti čip nepovezanih
tranzistora i programirljivih veza. Takvi čipovi su standardni, mogu da se kupe u radnji, ali
dok se ne programiraju veze, oni su „tabula rasa“ – nemaju ugrađenu funkciju. Dodatnim
postupkom u laboratorijskim uslovima, a ne u fabrici integrisanih kola, korisnik može da se
odrekne nepotrebnih veza i/ili da formira željene veze i time tranzistorima da potrebnu
funkciju.
46
Glava 1
47
1.4 Stilovi projektovanja
Programirljiv Fiksni Programirljiv
I3 I2 I1 I0
OR I5 I4 I3 I2 I1 I0 OR I5 I4 I3 I2 I1 I0 OR
I/O Blok
• SPLD SPLD •
• Blok Blok •
• •
Matrica me đusobnih ve za
• •
• •
I/O Blok
I/O Blok
• SPLD SPLD •
Blok Blok
48
Glava 1
49
1.4 Stilovi projektovanja
50
Glava 1
Centralne ćelije u FPGA imaju kompleksnu i fleksibilnu strukturu jer osim kombinacionih,
sadrže i sekvencijalne logičke elemente. Zato se nazivaju konfigurišući logički blokovi -
CLB (Configurable Logic Block).
Sa stanovišta površine, brzine i potrošnje, za istu logičku funkciju FPGA imaju lošije
karakteristike od GA i SOG. Da bi se obezbedilo programiranje, pristup do svih I/O blokova i
napajanje, broj pinova je obično mnogo veći nego kod ASIC. Ipak, veoma su zgodni za
izradu prototipova i brzu proveru nekih ideja. Ne treba izgubiti iz vida činjenicu da zbog
većih vremena kašnjenja na vezama i u gejtovima, ponašanje ASIC i FPGA čipa koji
obavljaju istu funkciju neće biti identično.
Kada se govori o MPGA i FPGA treba uzeti u obzir i faktor popunjenosti čipa. Naime, teško
se može zamisliti da će svi ugrađeni tranzistori na MPGA ili FPGA biti iskorišćeni. Stepen
popunjenosti obično je veći kod MPGA nego kod FPGA. Kod MPGA najčešće iznosi manje
od 80%, dok je kod FPGA najčešće popunjenost manja od 60%. Da bi se prilagodili tržištu i
različitim potrebama korisnika proizvođači FPGA nude serije sa različitim brojem
confguracionih blokova. Tako se u seriji Spartan II koju proizvodi Xilinx od 2000. godine
nude komponente sa 15.000, 30.000, 50.000, 100.000 i 150.000 gejtova upakovanih u 96,
216, 384, 600 i 864 CLB [Xil00]. Ova fleksibilnost u izboru veličine, kao i sve bogatije
ugrađene funkcije učinile su da FPGA postanu veoma popularne komponente. U pomenutoj
seriji Spartan II struktura FPGA obogaćena je ugrađenim RAM i DLL (Delay Locked Loop)
blokovima. Sl. 1.38 prikazuje arhitekturu Spartan II serije [Xil00].
Slika 1.38. Arhitektura FPGA Spartan II serije iz proizvodnog programa Xilinx [Xil00]
51
1.1
Kasnije generacije FPGA sadrže ugrađene DSP module koji se sastoje od množača, sabirača i
akumulatora. Da bi se što potpunije izašlo u susret zahtevima koje nameću komunikacione
primene, sastavni deo FPGA postali su i transiverski blokovi. Najkompleksniji FPGA iz
serije Spartan 6, rađen u 45nm tehnologiji, oznaka XC6SLX150T, karakterišu 147 443
logičke ćelije, 184 304 flip-flopova u okviru CLB, 4 824kb RAM, 180 DSP blokova, 8
transivera i 33.8 Mb konfiguracione memorije [Xil14].
Zbog relativno velike cene po jedinici proizvoda (iako ona stalno pada) projektovanje IC na
bazi FPGA isplativo je za manje obime proizvodnje.
Najzad treba reći da je razvoj SASIC komponenata usklađen sa tehnološkim napretkom u
proizvodni integrisanih kola. Zato njihova složenost po broju tranzistora i ugrađenim
funkcijama stalno raste. Kao rezultat toga, u trenutku stvaranja ovog teksta Xilinx najavljuje
novu generaciju takozvanih Višeprocesnih sistema na čipu (Multi-Processing System on Chip
MPSoC) u 16nm FINFET tehnologiji [Xil15] pod nazivom UltraScaleTM MPSoC
Architecture. U okviru ovog projekta oni predlažu da se iz različitih ASIC modela koriste za
pojedine zadatke oni koji se optimalno uklapaju u prirodu problema pod sloganom The Right
Engines for the Right Task. Blok šema takve arhitekture u izvornom obliku datom u [Xil15]
prikazana je na sl. 1.39.
Najpoznatiji proizvođači SASIC su Actel, Altera, Aeroflex UTMC, Atmel, Lattice
Semiconductor, NEC, QuickLogic, Xilinx (lista je sačinjena po abecednom redosledu).
52
Glava 1
Zaključak
53
1.6 Automatizacija projektovanja
Domen
Log ičke
ponašanje
Prenos na Jedn ačine
Prenos jed načine,
Algoritam reg istarskom kola, Funkcija
pro cesa tablice
nivou prenosa
istinitosti
Strukturno
projektovanje
Sabirači,
Procesori, Tranzistori i
struktura
Fi zi čko
projektovanje
Lejaut
Kutije, Plo če, Lejaut Lejaut
fizički
integrisan ih
štampane integrisana standardnih tranzistora i
kola, mak ro-
ploče, kablovi kola ćelija veza
ćelija Nivo
Sistemski
Algoritamski RTL Logički Električni
(arhitekturni)
Domen
Log ičke
ponašanje
Strukturno
projektovanje
Sabirači,
Procesori, Tranzistori i
struktura
Lejaut
Kutije, Plo če, Lejaut Lejaut
fizički
integrisan ih
štampane integrisana standardnih tranzistora i
kola, mak ro-
ploče, kablovi kola ćelija veza
ćelija Nivo
Sistemski
Algoritamski RTL Logički Električni
(arhitekturni)
54
Glava 1
Domen
Logičke
ponašanje
Prenos na Jednačine
Prenos jednačine,
Algoritam registarskom kola, Funkcija
procesa tablice
nivou p renosa
istinitosti
Strukturno
projektovanje
Sabirači,
Procesori, Tranzistori i
a)
struktura
Fi zi čko
projektovanje
Lejaut
Kutije, Ploče, Lejaut Lejaut
fizički
integrisanih
štampane integrisana standardnih tranzistora i
kola, makro-
ploče, kablovi kola ćelija veza
ćelija Nivo
Sistems ki
Algoritamski RTL Logički Električni
(arhitekturni)
Domen
Logičke
ponašanje
Prenos na Jednačine
Prenos jednačine,
Algoritam registarskom kola, Funkcija
procesa tablice
nivou p renosa
istinitosti
Strukturno
projektovanje
Procesori,
Sabirači,
Tranzistori i b)
struktura
Fi zi čko
projektovanje
Lejaut
Kutije, Ploče, Lejaut Lejaut
fizički
integrisanih
štampane integrisana standardnih tranzistora i
kola, makro-
ploče, kablovi kola ćelija veza
ćelija Nivo
Sistems ki
Algoritamski RTL Logički Električni
(arhitekturni)
55
1.6 Automatizacija projektovanja
Specifikacija projekta
Projektovanje arhitekture
Funkcionalno projektovanje
Logičko projektovanje
Projektovanje elektronike
Fizičko projektovanje
Fabrikacija
Pakovanje
i testiranje
Slika 1.42. Blok dijagram projektovanja složenog digitalnog sistema
56
Glava 1
57
1.6 Automatizacija projektovanja
početak
pre-lejaut
opis projekta
projektovanje
simulacija
4 1
logičko
logička
sinteza 2
razlaganje
3
razmeštaj
projektovanje
blok
6
fiz ičko
ekstarkcija povezivanje
kola logičke
8 7 ćelije
kraj
Uz sve navedene aktivnosti, ne treba izgubiti iz vida i proveru pravila projektovanja (provera
dimenzija i međusobnih rastojanja između maski za fabrikaciju pojedinih tehnoloških slojeva,
o čemu će više reči biti u narednom poglavlju).
Automatizacija svih navedenih aktivnosti, zajedno sa proverom pravila projektovanja,
zahteva da se raspolaže sistemom za projektovanje koji mora da sadrži sledeće kompnente
[Lit00]:
sprega sa korisnikom,
alati za projektovanje,
biblioteka modela ćelija (IP),
baza podataka za upravljanje projektom i
kontroler toka podataka i procesa projektovanja.
Međusobna veza između komponenti sistema za projektovanje ilustrovana je na sl. 1.44.
58
Glava 1
Sprega sa
korisnikom 1
Alati za
projektovanje
2 Upravljanje
podacima i
procesom
projektovanja
Biblioteke
modela - IP 3 5
Baza podataka
za upravljanje
projektom 4
59
1.6 Automatizacija projektovanja
60
Glava 1
61
1.6 Automatizacija projektovanja
S-Edit TM
Editor
električne šeme
T- SpiceTM W-Edit TM
Program za Alat za posmatranje
električnu analizu talasnih oblika signala
L-Edit TM
Alat za crtanje lejauta GDS II & CIF
(lejaut editor)
Slika 1.45. Tanner Tools System alat za projektovanje
Napominjemo da druge platforme za projektovanje integrisanih kola i sistema (Cadence,
Mentor Graphics,...) nude drugačiji set alata sa proširenim opcijama, ali sve karakteriše petlja
na relaciji projektovanje, verifikacija koja je na sl. 1.44 iskazana kroz vezu između editora za
crtanje električne šeme, editora za crtanje lejauta i programa za analizu kola.
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Glava 3
109
VHDL – PRIMENA U SINTEZI
Kombinaciona Kombinaciona
Registar Registar Registar
logika logika
110
VHDL – PRIMENA U SINTEZI
111
VHDL – PRIMENA U SINTEZI
112
VHDL – PRIMENA U SINTEZI
Osnovne konstrukcije u definisanju entiteta i arhitekture koji odgovaraju
bloku sa sl. 3.2 mogu da se iskažu delimičnim opisom kao u primeru 3.1.
Primer 3.1
3.1.2. Signali
Jedan entitet povezuje se sa drugim preko portova. Kroz portove
teku signali, a s obzirom da se radi o opisu digitalnih kola, reč je o
digitalnim signalima. Zato i definicija signala u VHDL-u ima sve atribute
koji se javljaju u realnim digitalnim kolima. Svaki U/I signal u opisu
entiteta naziva se port i predstavlja objekat podataka. Niz portova jednog
bloka naziva se deklaracija porta. Pri tome, svaki port mora da ima: ime, tip
podataka i smer (mod, režim).
Najpre, svaki signal nosi informaciju o logičkom stanju ili logičkoj
vrednosti. Najjednostavnije predstavljanje podrazumeva dodeljivanje
vrednosti logičke 0 ili logičke 1. Naravno, poznato je da je skup logičkih
113
VHDL – PRIMENA U SINTEZI
114
VHDL – PRIMENA U SINTEZI
Tabela 3.2. VHDL tipovi signala
Tip signala Sintaksa Semantika
bit signal A:bit 0 ili 1
bit_vector signal A: bit_vector(0 to 7); Vektor bitova u
signal B: bit_vector(7 rastućem ili
downto 0); opadajućem poretku
std_logic; library IEEE; Prethodno definisani
std_logic_vector use IEEE.std_logic_1164.all; tipovi signala koji su
signal D0,D1,S :std_logic; uključeni u IEEE
signal A:std_logic_vector(0 biblioteku kao paket
to 7); std_logic_1164
signal B:std_logic_vector(7
downto 0);
integer signal A:integer range 8 – bitni cijeli broj u
– 128 to 127: 2-komplementu
boolean signal status: boolean; false(0) ili true(1)
nabrajanje type stanje is (stanje Stanje automata sa
A, stanje B, stanje C); konačnim brojem
signal s: stanje; stanja
115
VHDL – PRIMENA U SINTEZI
entity Digitalni_modul is
port (
ULAZ1, ULAZ2, ULAZ3: in std_logic;
ULAZ4: in std_logic_vector (7 downto 0);
IZLAZ1: out std_logic_vector (3 downto 0);
IZLAZ2: inout std_logic
);
end entity Digitalni_modul;
116
VHDL – PRIMENA U SINTEZI
Primer 3.3
117
VHDL – PRIMENA U SINTEZI
( ULAZ1: in std_logic;
-- svaki port moze da se
-- deklarise u posebnoj liniji
ULAZ2, ULAZ3: in std_logic;
-- portovi istog tipa
-- mogu da se deklarisu u istoj liniji
-- tip bit-vektor mora da sadrzi
-- duzinu i redosled:
ULAZ4: in std_logic_vector (7 downto 0);
-- 7 je MSB
IZLAZ1: out std_logic_vector (0 to 3);
-- 0 je LSB
IZLAZ2: inout std_logic -- ovde nema ‘;’
118
VHDL – PRIMENA U SINTEZI
);
-- jer se ‘;’ stavlja iza
-- zaokruzene logicke celine
-- koja sadrzi i zatvorenu zagradu
end entity Digitalni_modul;
119
VHDL – PRIMENA U SINTEZI
a može da sadrži:
skup naredbi kojim se deklarišu promenljive koje se javljaju u toj
grupi naredbi,
ključnu reč begin za označavanje početka opisa tela grupe naredbi,
telo grupe naredbi i
ključnu reč end kojom se opis grupe naredbi završava.
120
VHDL – PRIMENA U SINTEZI
121
VHDL – PRIMENA U SINTEZI
122
VHDL – PRIMENA U SINTEZI
Semantika uslovnog dodeljivanja (engl. conditional signal
assignment) proizilazi iz sekvencijalnog (slednog) karaktera izračunavanja,
jer se signalu dodeljuje vrednost utvrđena izrazom uz istinit logički izraz
uslova. Sintaksa ove naredbe je:
ime_signala <= izraz when logički_izraz else {, izraz when
logički_izraz else} izraz;
Upotreba naredbi konkuretnog dodeljivanja pokazana je u primeru 3.7.
Primer 3.7
123
VHDL – PRIMENA U SINTEZI
b)
Pri opisu arhitekture naredbom uslovnog pridruživanja
logički izrazi nakon ključne reči when ispituju se po redu, pa
pridruživanje nije potrebno eksplicitno navoditi.
124
VHDL – PRIMENA U SINTEZI
Primer 3.9
architecture proba of architecture proba of
Digitalni_modul is Digitalni_modul is
begin begin
seq: process seq: process
(ULAZ1, ULAZ2, ULAZ3, (ULAZ1, ULAZ2, ULAZ3,
ULAZ4) ULAZ4)
begin ≠ begin
IZLAZ2 <= ULAZ1 OR IZLAZ2 <= ULAZ3 AND
ULAZ2; ULAZ4(0);
IZLAZ2 <= ULAZ3 AND IZLAZ2 <= ULAZ1 OR
ULAZ4(0); ULAZ2;
end process; end process;
end proba; end proba;
125
VHDL – PRIMENA U SINTEZI
126
VHDL – PRIMENA U SINTEZI
127
VHDL – PRIMENA U SINTEZI
process (lista_osjetljivosti)
begin
if uslov then A <= izraz;
end if;
end process;
Primer 3.10
library ieee;
use ieee.std_logic_vector_1164.all;
entity Dlec is
port (D, CP: in std_logic;
Q : out std_logic);
end Dlec;
128
VHDL – PRIMENA U SINTEZI
Promena stanja flipflopa sinhronizovana je sa prednjom ili zadnjom ivicom
takt impulsa CP. Za modelovanje sinhronizacije sa ivicom takt impulsa
koristi se atribut event. Sintaksa primene ovog atributa za opis flipflopa
osetljivog na prednju ivicu je:
if CP’event and CP=’1’ then, kada se koristi naredba if…then,
odnosno
wait until CP’event and CP=’1’; kada se koristi naredba čekanja
wait-until.
Naredba čekanja može se upotrebiti i bez atributa event, na sljedeći način:
wait until CP=’1’;
što se tumači kao:
wait on CP until CP=’1’;.
Ovo znači da je proces neaktivan sve do promene CP (wait on CP) signala,
a ne izvršava se ukoliko (until) nije CP=1, što odgovara prednjoj ivici takt
impulsa.
Primer 3.11
Opisati D flipflop osetljiv na prednju ivicu takt signala
korišćenjem naredbe čekanja.
library ieee;
use ieee.std_logic_1164.all;
entity ivicni_DFF is
port (D, CP : in std_logic;
Q : out std_logic);
end ivicni_DFF;
129
VHDL – PRIMENA U SINTEZI
entity Primer_Stil_opisa is
port
( a, b, c: in std_logic;
Rezultat: out std_logic
);
end entity Primer_Stil_opisa;
130
VHDL – PRIMENA U SINTEZI
begin
u1: xor2 port map ( a => I1, -- )
b => I2, -- )
o1 => Y); -- )
u2: xor2 port map ( o1 => I1, -- } telo
c => I2, -- )
Rezultat => Y); -- )
end architecture Strukturni_opis;
131
VHDL – PRIMENA U SINTEZI
Primer 3.14
begin
o1 <= I1 XOR I2;
I1 <= a;
I2 <= b;
Rezultat <= o1 XOR c;
Primer 3.15
begin
132
VHDL – PRIMENA U SINTEZI
begin
if((a XOR b XOR c) = ‘1’) then
Rezultat <= ‘1’;
else
Rezultat <= ‘0’;
end if;
end process XOR_od_3;
Definisanje entiteta
Ceo logički blok može da se predstavi grafički (sl. 3.7) na isti način
kao i entitet iz primera Primer_Stil_opisa sa sl. 3.6. Savremeni editori
VHDL kôda omogućavaju da se grafički predstavi entitet kome se definišu
modovi i tipovi portova. Tada se automatski generiše kôd definicije entiteta.
Dakle, opis entiteta (primer 3.16) koji ćemo nazvati Prvi_projekat liči na
onaj iz poglavlja 3.2.
133
VHDL – PRIMENA U SINTEZI
library IEEE;
use IEEE.std_logic_1164.all;
Definisanje arhitekture
Kao što smo videli u poglavlju 3.2, opis arhitekture može da se
bazira na toku podataka (data-flow), na opisu ponašanja i opisu
strukture. Za jednostavna kombinaciona kola, najkompaktniji oblik
definisanja arhitekture daje opis na bazi toka podataka koji koristi
konkurentne naredbe o kojima je bilo reči ranije u odeljku 3.1.6:
Primer 3.17
begin
Y <= ‘1’ when (A = ‘0’ and B = ‘0’) or
(C = ‘1’)
else ‘0’;
end architecture Tok_podataka;
134
VHDL – PRIMENA U SINTEZI
-----------------------------------------------------
-- Korisno je da VHDL opis ima zaglavlje
-- iz koga ce se videti:
-- Naziv : Prvi_projekat
-- Projekat : Prvi_projekat
-- Autor : Predrag Petkovic
-- Kompanija : LEDA laboratorija, EF – Nis
-----------------------------------------------------
-- File : Prvi_projekat.vhd
-- Datum : Thu Feb 24 08:48:42 2015
-- kod pisao : Bojan Andjelkovic
-----------------------------------------------------
-- Kratak opis : Primena opisa ponasanja u
-- Prvom projektu
-----------------------------------------------------
-- Modifikovao : Miljana Sokolovic
135
VHDL – PRIMENA U SINTEZI
-- Datum : Thu Mar 24 09:40:41 2015
-- Opis : Uneti komentari
-----------------------------------------------------
library IEEE;
-- otvaranje biblioteke
end Opis_Ponasanja;
-- zavrsetak opisa arhitekture
-- rec 'architecture' iza 'end'
-- je korisna,nije obavezna,
-- olakšava tumacenje koda
136
VHDL – PRIMENA U SINTEZI
A
funkcija_u0
funkcija_u2 Y
funkcija_u3
C
B
funkcija_u1
Slika 3.7. Rezultat sinteze prvog projekta
Automatska sinteza koja proističe iz oba navedena načina opisa arhitekture
(primer 3.16 i primer 3.17) našeg prvog projekta daje isti hardver, i on je
prikazan na sl. 3.7.
Programi za automatsku sintezu prepoznaju VHDL instrukcije i
dodeljuju im odgovarajući hardver. Na primer, ukoliko se prepozna deo kola
u kome se javlja instrukcija NOT u okviru arhitekture, pridružuje se
invertor. Ovo važi i za kompleksnije opise. Opis funkcije nekog kola u
VHDL-u sličan je opisu nekog zadatka iz programiranja. Naime, moguće je
rešiti isti problem na različite načine, ali zavisno od kodiranja programa neki
od načina su više ili manje efikasni. Jedan opis može da rezultuje sa više ili
manje složenim hardverom. Zato je izuzetno značajno da projektanti steknu
osećaj za implikacije koje pojedina naredba ili grupa naredbi ima na
automatski sintetizovani hardver. Ta veština zahteva detaljnije poznavanje
primene VHDL-a za sintezu kola [Pet05].
137
VHDL – PRIMENA U SINTEZI
138
VHDL – PRIMENA U SINTEZI
139
VHDL – PRIMENA U SINTEZI
Naziv signala u projektu
(stvarni naziv)
Oznaka instance
I_kolo
UlazA I_kolo: AND2 port map (i1 => UlazA,
i1
Izlaz i2 => UlazB,
AND2 y y => Izlaz);
UlazB i2
140
VHDL – PRIMENA U SINTEZI
use entity work.entitetA(arhitekturaA2);
end for;
for Comp_3: entitetB
use entity work.entitetB(arhitekturaB1);
end for;
end for;
end configuration <identifikator>;
Konfigurisanje koristi rezervisanu reč for, koja označava „za“. Svaki iskaz
for treba završiti sa end for; Očigledno je da se configuration blok
odnosi na entitet: „of <ime_entiteta>” za koji se definiše arhitektura:
„for <ime_arhitekture>”. U okviru ove arhitekture konfigurišu se
odgovarajući parovi entitet/arhitektura koji su prethodno smešteni u radnoj
biblioteci. Pri tome se entitetu dodeljuje arhitektura tako što se ime
arhitekture navodi između malih zagrada kao: work. <naziv_entiteta>
(<naziv_arhitekture>). U navedenom primeru konfiguracije vidi se da
se koriste tri komponente. Dve (Comp_1 i Comp_2) imaju isti entitet
entitetA, ali Comp_1 koristi arhitekturu arhitekturaA1:
entitetA(arhitekturaA1); a Comp_2 arhitekturu arhitekturaA2:
entitetA(arhitekturaA2);. Komponenta Comp_3 konfigurisana je kao
entitet entitetB sa arhitekturom arhitekturaB1, odnosno:
entitetB(arhitekturaB1);.
Primer konfiguracionog bloka za TB kojim se verifikuje Prvi_projekat sa
arhitekturom Protok_podataka:
configuration TB_ZA_Prvi_projekat of TestBench is
for TB_Arhitektura
for UUT : Prvi_projekat
use entity work.Prvi_projekat(Protok_podataka);
end for;
end for;
end TB_ZA_Prvi_projekat;
141
VHDL – PRIMENA U SINTEZI
A
0 40 80 120 160 200 240 280 320
B
0 40 80 120 160 200 240 280 320
C
0 40 80 120 160 200 240 280 320
Y
0 40 80 120 160 200 240 280 320
Slika 3.11. Vremenski dijagram pobudnih signala (A, B, C) i očekivanog odziva (Y)
kola opisanog kao Prvi_projekat
142
VHDL – PRIMENA U SINTEZI
Tabela 3.5. Potpuni skup kombinacija kojim se testira funkcionalnost za
Prvi_projekat.
A B C Y
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
--
*************************************************************
--* This file is automatically generated test bench template*
--* By ACTIVE-VHDL <TBgen v1.10>. Copyright (C) ALDEC Inc. *
--* *
--* This file was generated on: 7:05 PM, 11/30/01 *
--* Tested entity name: Prvi_projekat *
--* File name contains tested entity: *
-- $DSN\src\prviprojekatstruct.vhd *
--***********************************************************
library ieee;
use ieee.std_logic_1164.all;
143
VHDL – PRIMENA U SINTEZI
-- Add your code here ...
-- ovde se otvaraju potrebne biblioteke sa use
entity tb_wizard is
end tb_wizard;
begin
begin
ulaz <= "000"; wait for Kasnjenje;
ulaz <= "001"; wait for Kasnjenje;
ulaz <= "010"; wait for Kasnjenje;
ulaz <= "011"; wait for Kasnjenje;
ulaz <= "100"; wait for Kasnjenje;
ulaz <= "101"; wait for Kasnjenje;
144
VHDL – PRIMENA U SINTEZI
ulaz <= "110"; wait for Kasnjenje;
ulaz <= "111"; wait for Kasnjenje;
end TB_WIZARD_ARCH;
145
VHDL – PRIMENA U SINTEZI
146
VHDL – PRIMENA U SINTEZI
Primer 3.20
library IEEE;
use IEEE.std_logic_1164.all;
entity Primer_generic is
generic ( na: integer := 8; -- definisanje broja
-- bitova porta a
nb: integer := 4); -- definisanje broja
-- bitova porta b
U1 : Primer_generic
generic map(na => 16, nb => 8)
port map (A => ulaz,
B => izlaz );
147
VHDL – PRIMENA U SINTEZI
148
4.1 Osnovni CMOS proces
4. CMOS proces
Fizički nivo projektovanja integrisanih kola obuhvata projektovanje svih novoa maski
neophodnih za izradu integrisanog kola. Uobičajeno je da se te aktivnosti zovu -
projektovanje lejauta. (Reč lejaut – layout - vodi poreklo iz engleskog jezika, a odgovara
pojmu plana, nacrta, topologiji, tlocrta). Danas je engleski jezik postao standardni jezik u
mnogim naučnim disciplinama, pa i u elektronici; tako da se mnogi pojmovi u elektronici
direktno preuzimaju iz engleskog i ne prevode se na lokalne jezike (kao što je to latinski za
biologiju i medicinu). Time se pojednostavljuje komunikacija. U nastavku teksta pod
lejautom će se podrazumevati oblik i dimenzije pojedinih maski na osnovu kojih se realizuju
integrisana kola. Pri tome, treba imati u vidu da se dimenzije projektovanih maski ne
poklapaju apsolutno sa dimenzijama odgovarajućih tehnoloških slojeva (difuzije,
polisilicijum, oksid,...) na silicijumu koji se realizuju na bazi tih maski. Razlike su male i
posledica su nesavršenosti fotolitografskog postupka i nemogućnosti precizne kontrole
hemijsko/fizičkih procesa tokom proizvodnje.
Najbolji uvod u fizičko projektovanje jeste upoznavanje sa tehnološkim procesom u kome će
kolo biti proizvedeno. Jednostavnost CMOS tehnologije doprinela je da ona dobije široku
primenu, kako u realizaciji digitalnih, tako i analognih kola. Zato će izlaganja biti vezana za
projektovanje integrisanih kola u CMOS tehnologiji. Naravno, mnoga opšta pravila vođena
su logikom koja nije vezana za pojedini tehnološki proces. Autori ne sumnjaju da će čitaoci
lako prepoznati takve detalje i da će moći uspešno da ih primenjuju i na drugim tehnološkim
platformama na kojima budu radili. Da bismo se bliže upoznali sa projektovanjem maski,
neophodna su osnovna znanja o CMOS procesu i vezi između geometrije maski i električnih
osobina integrisanih kola.
149
4 CMOS proces
U ovom poglavlju čitalac može da se podseti kako izgleda proces fabrikacije integrisanih
kola u CMOS tehnologiji da bi mogao da razazna uticaj pojedinih tehnoloških koraka na
osobine projektovanog kola. Na osnovu toga proističe svest o uticaju pojedinih koraka u
projektovanju na fizičke karakteristike kola. Sastavni deo ovog poglavlja jesu i osnovna
pravila kojih se projektanti moraju pridržavati tokom fizičkog projektovanja.
VSS VDD
A
VSS VDD A
Bp
c)
Dp
Bp
Sp
F
F Dp Sp
a)
A
A
VSS nMOS pMOS VDD
F
F d)
b) Dp Sp Bp
Slika 4.1 CMOS invertor: a) Električna šema, b) simbol, c) lejaut i d) poprečni presek
Početne faze procesa fabrikacije ilustrovane su na Sl. 4.2.
150
4.1 Osnovni CMOS proces
151
4 CMOS proces
Polazi se od Si pločice p-tipa koja čini osnovu, Sl. 4.2.a. Zatim se u peći, u prisustvu
kiseonika, pločica zagreva do temperature 900o- 1200oC, čime se na njoj formira sloj SiO2,
Sl. 4.2.b. Ovaj oksid ima zadatak da zaštiti ostatak pločice od donorskih primesa tokom
formiranja n-wella. Da bi se otvorio prostor za oblasti u kojima će se smestiti pMOS, koristi
se fotolitografski postupak prosvetljavanja kroz maske. U ovoj fazi objasnićemo postupak u
nešto više detalja, a nadalje će se samo napomenuti da je korišćena odgovarajuća maska.
Najpre se, preko cele površine pločice, nanese sloj fotorezista, Sl. 4.2.c. To je organska
materija koja ima osobinu da omekša pod dejstvom UV zraka. Zatim se preko pločice postavi
maska sa otvorom samo na mestima gde se predviđa formiranje n-wella, i osvetli se UV
zracima, Sl. 4.2.d. Omekšani fotorezist se ukloni i dobije se struktura sa Sl. 4.2.e. Zatim se
pod dejstvom fluorovodonične kiseline (HF) ukloni nezaštićeni deo SiO2, Sl. 4.2.f. Sada je
pločica spremna za formiranje n-wella. U atmosferi bogatoj donorskim primesama pri
povišenoj temperaturi, u peći, počinje proces difuzije (ili bombardovanjem jonima u jonskim
implanterima) kojim se izmeni tip poluprovodnika ispod otvora u SiO2, Sl. 4.2.g. Zavisno od
vremena trajanja, temperature, odnosno energije donora kojom se napada površina, postiže se
željena dubina n-wella, Sl. 4.2.h. Na kraju, uklanja se sloj oksida i pločica je spremna za
naredni proces, Sl. 4.2.i. Ovde skrećemo pažnju na činjenicu da zbog lateralnog (poprečnog)
širenja donora, n-well zauzima veću površinu od otvora maske.
U ovako pripremljene pločice ugrađuju se tranzistori. Njihovu fabrikaciju posmatraćemo u
dve faze. Najpre ćemo posmatrati izradu nMOS tranzistora koja je prikazana na Sl. 4.3.
MOS tranzistori se ugrađuju u silicijumsku osnovu metodom samopodešavajućih (self-
aligned) gejtova od polisilicijuma. Metod je samopodešavajući jer se koristi gejt kao maska
pri formiranju drejna i sorsa. To znači da se prvo uradi gejt, a onda sors i drejn. Naravno, pre
gejta, treba naneti tanak sloj oksida koji razdvaja gejt od kanala. Tanak oksid narasta po celoj
površini pločice pri povišenoj temperaturi. Preko njega, takođe po celoj površini, hemijskom
depozicijom (CVD – Chemical Vapor Deposition) formira se sloj polisilicijuma (skraćeno
poli - poly) u atmosferi SiH2 (silan). Da bi se postigla željena provodnost, potrebno je jako
dopiranje u CVD reaktoru. Tako nastaje struktura sa Sl. 4.3.a. Zatim se, fotolitografskim
postupkom ukloni višak oksida i polija, i formira se gejt, Sl. 2.3.b. Za dobijanje nMOS
tranzistora, da bi se formirale oblasti sorsa i drejna, potrebna je n+ difuzija. Istovremeno, radi
se i n+ oblast za kontakt osnove pMOS tranzistora (n-wella) sa VDD (ovaj kontakt označen je
na Sl. 4.1 sa Bp). Povećana koncentracija primesa na kontaktu poluprovodnika i metala
neophodna je da bi se smanjila otpornost i sprečilo stvaranje Šotkijeve diode koja nastaje na
kontaktu metala i slabo dopiranog poluprovodnika [Lit96a]. Kao i pri izradi n-wella,
prethodno se cela površina prekrije zaštitnim slojem oksida, Sl. 4.3.c. Novim fotolitografskim
postupkom naprave se otvori u oksidu za nMOS tranzistor i Bp, Sl. 4.3.d. Iako se n+ oblasti
rade jonskom implantacijom, iz tradicionalnih razloga, jer se u tu svrhu nekada primenjivala
difuzija, ove oblasti i odgovarajuće maske nazivaju se n-difuzija. Unošenjem n+ oblasti u p-
osnovu, formirani su nMOS tranzistori. Sa Sl. 4.3.e očigledno je zašto je metod dobio naziv
samopodešavajući. S obzirom da gejt služi kao maska, sors i drejn se rade kroz jedan otvor na
zajedničkoj masci. Na kraju ove faze uklanja se oksid i dobija se struktura sa Sl. 4.3.f.
152
4.1 Osnovni CMOS proces
Slika 4.3 Poprečni presek CMOS invertora tokom izrade polisilicijuma i n-difuzije
Na sličan način, ali ovoga puta uz primenu maske za p-difuziju, formiraju se p+ oblasti, čime
se dobijaju pMOS tranzistori u n-wellu, Sl. 4.4.a. Istovremeno formira se i p+ oblast u p-
supstratu da bi se smanjila otpornost kontakta nMOS osnove sa VSS. Ova oblast označena je
sa Bn na Sl. 4.1. Ponovo se preko cele površine pločice nanosi debeli sloj oksida, odnosno
oksid u polju (field oxide). Zatim se u njemu prave otvori za kontakte, Sl. 4.4.b. Konačno,
preko cele površine nanosi se metal, a višak se odstrani, Sl. 4.4.c.
Opisani postupak predstavlja krajnje pojednostavljen prikaz proizvodnje CMOS invertora.
Svi tehnološki postupci istog tipa obavljaju se odjednom, u slojevima. Svi gejtovi rade se
odjednom, kao i svi nMOS, a takođe i pMOS tranzistori. Više miliona tranzistora procesira se
istovremeno na jednom čipu, više stotina čipova na jednoj pločici i više desetina pločica u
jednom tehnološkom ciklusu (lot). To je i razlog zašto je cena proizvodnje IK po jedinici
proizvoda mala.
Treba napomenuti da se, pored opisanog postupka, u CMOS procesu može koristiti, iako
retko, osnova n-tipa sa p-wellom.
153
4 CMOS proces
Slika 4.4 Poprečni presek CMOS invertora tokom izrade p-difuzije, kontakata i metala
Lejaut i set maski koji je potreban za fabrikaciju invertora sa Sl. 4.1 prikazani su na Sl. 4.5.
Slika 4.5 Lejaut i set maski potrebnih za fabrikaciju invertora sa Sl. 4.1.
154
4.2 Submikronski CMOS proces
a) b)
155
4 CMOS proces
Slika 4.7 Poprečni presek strukture LDD tranzistora
Kod VLSI kola posebno je izražen problem veza. S jedne strane, broj tranzistora na čipu
veoma je porastao, tako da su veze postale sve duže (u odnosu na tranzistore), a sa druge,
dimenzije veza su skaliranjem smanjene, tako da im je otpornost, a time i kašnjnje duž veza
poraslo. Pored toga, i potrošnja je porasla pa i dovođenje napajanja zahteva veze drugačijeg
profila. Da bi se ovi problemi rešili, CMOS proces obogaćen je većim brojem slojeva metala.
Poprečni presek čipa sa 6 slojeva metala prikazan je na Sl. 4.8. Uočljive su različite debljine
metala u višim slojevima. Kontakt između dva sloja metala naziva se via. Na istoj slici sa
„via12“ označen je kontakt između sloja metal1 i metal2, dok je kontakt između slojeva
metal2 i metal3 označen sa „via23“.
metal 6
metal 5
metal 4
Dielektrik SiO2
metal 3
via23=>
metal 2
<=via12=>
metal 1
p-supstrat
156
4.2 Submikronski CMOS proces
Slika 4.9 prikazuje skraćeni prikaz fabrikacije CMOS para primenom savremenog
submikronskog procesa.
fotorezist
nitrid Si3Ni4
oksid SiO2
a)
p-supstrat
fotorezist
nitrid Si3Ni4
oksid SiO2
b)
p-supstrat
p-supstrat
p-supstrat
polisilicijum
oksid SiO 2
STI STI STI
e) n-well
p-supstrat
polisilicijum
nitrid
n+ p+
STI STI STI
g)
n+ implant p+ implant
p-supstrat
silicid
n+ p+
STI STI STI
h)
p-supstrat
157
4 CMOS proces
Najpre se fotorezistom zaštite aktivne oblasti ispod kojih će se naći svi tranzistori (i nMOS i
pMOS), Sl. 4.9.a. Ove oblasti zovu se aktiv (Active). Otkrivena ostaju područja za
međusobnu izolaciju tranzistora STI postupkom. Posle nagrizanja (uobičajeni termin za ovu
aktivnost je ecovanje, od engleskog naziva etching), stvore se plitka udubljenja Sl. 4.9.b koja
služe za STI izolaciju, Sl. 4.9.c.
Zatim se ugradi n-well na mestima gde će biti pMOS tranzistori, Sl. 4.9.d. Da bi se formirali
tranzistori metodom samopodešavanja, neophodno je da se formira tanak oksid gejta, a preko
njega polisicijumski gejt, Sl. 4.9.e. Plitkom implantacijom n, odnosno p-tipa, formira se slabo
dopirani drejn (LDD), Sl. 4.9.f, a onda se uradi duboka difuzija (zapravo implantacija) n+ i
p+ tipa za formiranje sorsa/drejna nMOS i pMOS tranzistora, respektivno. Kao što je rečeno,
odstojanje od LDD definiše sloj nitrida nanešen sa strane poligejta. Istovremeno, dopira se
polisilicijumski gejt, Sl. 4.9.g. Pre metalizacije nanosi se sloj silicida (salicida) preko
poligejta, sorsa i drejna svih tranzistora, čime se smanjuju parazitne otpornosti, Sl. 4.9.h.
Opisani tehnološki principi omogućavali su dalje skaliranje dimenzija tranzistora do ispod
100nm. Za to je bilo neophodno stalno usavršavanje, kako fotolitografskog postupka
zasnovanog na izradi sve preciznijih i skupljih maski, tako i kontrole svih tehnoloških
procesa u izradi tranzistora. Međutim sa skaliranjem dužine kanala ispod 50nm, pojavio se
problem velikih struja curenja. Time je uloga tranzistora kao prekidača značajno degradirana.
Naime, kroz otvoreni prekidač proticala je struja koja je po veličini bila uporediva sa
strujama koje su tekle kroz zatvoreni prekidač. To je posledica činjenice da, iako je tranzistor
zakočen, veliki broj nosilaca lako može da savlada potencijalnu barijeru između drejna i sorsa
na ekstremno kratkim kanalima. Sa druge strane, kada tranzistor vodi, zbog izuzetno malog
rastojanja između drejna i sorsa, u kanalu ne može da se smesti potreban broj nosilaca
naelektrisanja koji bi obezbedio dovoljnu struju da bi se, dovoljno brzo, ostvario prelaz sa
jednog na drugi logički nivo. Dakle, tranzistor se udaljio od karakteristika idealnog prekidača
jer se struja provodnog tranzistora smanjila, a zakočenog povećala.
Bilo je neophodno radikalno drugačije rešenje. Ono je nađeno u takozvanoj 3D
(trodimenzionalnoj) strukturi tranzistora. Za razliku od standardne planarne, u kojoj gejt
kontroliše ponašanje kanala samo sa gornje strane, novim rešenjem ponuđeno je da gejt sa tri
strane obuhvati kanal. Da bi to bilo moguće, potrebno je da se aktivna oblast tranzistora
fizički izdigne iznad osnove, kao što prikazuje sl. 4.10.
158
4.2 Submikronski CMOS proces
Slika 4.10 Struktura FinFET tranzistora realizovanog u a) SOI tehnologiji b) balk tehnologiji
Ovakav oblik tranzistora liči na vertikalno peraje kod riba, odnosno vertikalni stabilizator kod
aviona koji se u engleskom jeziku naziva fin. Otuda su su ovi tranzistori dobili ime FinFET.
Postoje dva pristupa u realizaciji FinFET tranzistora. Jedan je zasnovan na primeni „silicijum
na izolatoru“, odnosno SOI (Silicon On Insulator) tehnologije, u kojoj se preko oksida nanosi
sloj silicijuma u kome se realizuje tranzistor (sl. 4.10.a). Drugi pristup (sl. 4.10.b)
podrazumeva da se „peraje“ realizuje preciznim nagrizanjem osnove pločice, odnosno balka
(engleski Bulk). Zagovornici ove tehnologije tvrde da je jeftinija i obezbeđuje bolje
odvođenje toplote sa tranzistora. U daljem tekstu biće ukratko opisani osnovni tehnološki
koraci u izradi SOI FinFET tranzistora.
Slika 4.11 grubo ilustruje osnovne tehnološke korake u izradi FinFET realizovanog u SOI
tehnologiji. Polazi se od osnovne SOI pločice na kojoj je se silicijumski sloj nalazi preko
izolatora (najčešće oksida). Na sl. 4.11.a prikazan je korak nanošenja fotorezista u kome su
napravljeni otvori kroz koji će se deponovanjem naneti dodatni silicijumski sloj kako bi se
dobila struktura sa sl. 4.11.b. Zatim se preko pločice nanosi sloj nitrida, Si3Ni4, koji je
označen sa SN na sl.4.11.c. U narednom koraku, suvim nagrizanjem, uklanja se planarni sloj
nitrida, tako da ostaje samo vertikalni deo oko deponovanog sloja (sl. 4.11.d). Zatim se
uklanja deponivani sloj kako bi se dobila struktura sa sl.4.11.e. Ostatak SN sloja služi da
definiše širinu budućeg aktivnog sloja tranzistora, odnosno „peraja“. Zato se na engleskom
ostaci SN nazivaju spacer-i. U narednom koraku uklanja se celokupni silicijumski sloj, tako
da ostaju samo „peraja“, kao na sl. 4.11f. U naredna dva koraka poravna se SN (sl. 4.11g), i
prekrije se tankim oksidom (sl. 4.11h). Treba imati u vidu da je SN izolator kao i oksid. Kod
nekih proizvođača izolator ispod gejta realizuje se u obliku „sendviča“ od SiO2-SiN-SiO2
[Lee05]. Sledeća faza je nanošenje gejta (sl. 4.11.i). Naravno, gejt treba poravnati kako bi se
pripremila pločica za naredne korake (sl.4.11.j). Ovim se postupak ne završava, jer tek sledi
realitacija kontakata i povezivanje tranzistora u više slojeva metala.
Opisanim postupkom mogu se ralizovati širine aktivnih oblasti tranzistora od desetak
nanometara.
U savremenim tehnologijama polisilicijumski gejt zamenjuje se metalnim i u tu svrhu koristi
se volfram (W) (alternativni naziv tungsten).
Detaljna animacija FinFET procesa u Intel 22nm tehnologiji može se naći na
https://www.youtube.com/watch?v=u-dmL9ec26Q.
159
4 CMOS proces
fotorezist Deponovani sloj
a) Si Si b)
c) d)
Si
e) f)
g) h)
Nanošenje gejta
Ravnjanje gejta
i) j)
160
4.2 Submikronski CMOS proces
161
4 CMOS proces
162
4.3 Pravila projektovanja lejauta
staklo, pa je tako dobio i ime. Ostavlja se jedino prostor za bondiranje, odnosno povezivanje
(tankom žicom) stopica sa izvodima nožica integrisanog kola na kućištu.
163
4 CMOS proces
nwell
active
n-select
p-select
poly
a)
n-well
n-difuzija
p-difuzija
polisilicijum
Kontakt Kontakt
sa VSS nMOS pMOS sa VDD
b)
164
4.3 Pravila projektovanja lejauta
165
4 CMOS proces
166
4.3 Pravila projektovanja lejauta
167
4 CMOS proces
a)
L2 Metal3
Metal2
Metal1
b)
Metal4
L1 Metal3
Metal2
Metal1
c)
L1 Metal3
Metal2
Metal1
d)
168
4.3 Pravila projektovanja lejauta
169
Glava 5
STANDARDNA LOGIČKA
KOLA
170
Standardna logička kola
171
Standardna logička kola
-- invertor
library IEEE;
use IEEE.std_logic_1164.all;
entity INV is
port ( i: in std_logic;
o: out std_logic);
end entity INV;
172
Standardna logička kola
gdje su Vtn > 0 i Vtp < 0 naponi pragova tranzistora Mn i Mp, redom.
Konstante tranzistora određene su sa:
n ox W n W
kn k n' n , (5.3)
2tox Ln Ln
p ox W p Wp
kp k p' , (5.4)
2tox Lp Lp
173
Standardna logička kola
kn
VO Vi Vtp (V DD Vtp Vi )2 (Vi Vtn )2 , (5.5)
kp
kp
VO V i Vtn (Vi Vtn )2 (V DD Vtp Vi )2 , (5.9)
kn
174
Standardna logička kola
Slika 5.6. Napon praga u fuknciji kn/kp i VDD kao parametra, za Vtn=|Vtp|=0,8V
175
Standardna logička kola
176
Standardna logička kola
2 4
AV V DD .
V DD 2Vt n p
k n (V i Vtn )2 , Vtn V i VT
I DD 2
(5.15)
k p (V DD Vtp V i ) , VT V i V DD Vtp
177
Standardna logička kola
širina prelazne oblasti u kojoj su provodna oba tranzistora. Struja IDDM raste
sa kvadratom napona napajanja. Osim od VDD , napona pragova tranzistora
a i odnosa kn/kp , IDDM je direktno proporcionalna sa kn , odnosno, odnosom
Wn/L nMOS tranzistora.
Struja IDD kroz provodne tranzistore često se naziva strujom kratkog
spoja (eng. short-circuit current). Međutim, adekvatniji izraz je struja prela-
za. Prvo to je struja u prelaznoj oblasti. Drugo, tada su jedan ili oba tranzis-
tora u zasićenoj oblasti, pa je otpornost između linija napajanja dosta velika.
178
Standardna logička kola
odakle proističe
VOA V DD Vtp . (5.22)
179
Standardna logička kola
Dakle, minimalni visoki nivo na ulazu VIH zavisi od izlaznog napona u tački
B. I ovdje, kao i pri određivanju VOA, ćemo koristiti praktični uslov. Naime,
pri VO =VOB nMOS tranzistor sljedećeg invertora u lancu (sl.5.9b) mora da
bude iskljućen, tj. VOB ≤ Vtn. Smjenom VOB =Vtn, (5.27) postaje
V DD Vtp 3Vtn
V IH 3Vtn . (5.28)
1 kn / k p
Margina smetnji za visok nivo je
(V DD 3Vtn ) k n k p Vtp
V NMH VOH V IH V DD V IH . (5.29)
1 kn k p
Margina smetnji invertora je:
VNM min V NML ,VNMH min V IL ,V DD VIH
i maksimalna je kada je invertor simetričan (kn=kp, Vtn=|Vtp|=Vt):
V NM max V DD 2 Vt .
Oblast ulaznog napona između tačaka jediničnog pojačanja A i B je,
po definiciji, širina prelazne oblasti Vo-Vi karakteristike. Dakle,
Vtn k n k p Vtp
V I V IH V IL 2 . (5.31)
1 kn / kp
Ako su naponi pragova tranzistora jednaki, tj. Vtn = -Vtp =Vt onda je
V I 2Vt . (5.32)
i da ne zavisi od odnosa kn/kp.
Neosjetljivost na smetnje definiše se kao razlika napona u statičkim
radnim tačkama i napona praga logičkog kola
V NI min{V NIL ,V NIH } min{VT ,V DD VT } (5.33)
i očigledno je maksimalna kada su tranzistori simetrični i iznosi
V NI max V DD / 2 . (5.34)
Podatak o neosjetljivosti na smetnje CMOS logičkih kola je nepouzdan, jer
ne garantuje da je u statičkim uslovima, nMOS ili pMOS tranzistor isklju-
čen. To obezbjeđuje podatak o margini smetnji ili o garantovanoj neosje-
tljivosti na smetnje.
180
Standardna logička kola
Primjer 5.3
Izračunati margine smetnji i neosjetljivost na smetnje CMOS
invertora ako su: VDD=5V, Vtn=|Vtp|=1V, k n' 100 A V 2 ,
(W/L)n=4/2, µn/µp=2.5, pri odnosima (W/L)p pri kojima je:
(a) (W/L)p=10/2, (b) (W/L)p=5/2 i (c) (W/L)p=20/2.
n W L n
Iz k n k p slijedi:
p W L p
(a) kn/kp=1, (b) kn/kp=2, (c) kn/kp=0.5.
Na osnovu (5.23) i (5.27) proizilaze rezultati dati u tabeli 5.2.
Tabela 5.2. Rješenja primjera 5.3
kn/kp VIL [V] VIH [V] VNM [V] VT [V] VNI [V]
1 2 3 2 2.5 2.5
2 1.67 2.67 1.67 2.24 2.24
0.5 2.33 3.33 1.67 2.76 2.24
181
Standardna logička kola
182
Standardna logička kola
CMOS model
183
Standardna logička kola
Slika 5.14. Ekvivalentno kolo (a), putanja radne tačke (b) pri pražnjenju CL
184
Standardna logička kola
VO
dVO kn t
dt , (5.47)
V DD Vtn
2(V DD Vtn )VO VO2 C L 0
odakle proizlazi
1 VO k
ln n t. (5.48)
2(V DD Vtn ) 2(V DD Vtn ) VO CL
Ako bi tf 2 definisali kao vrijeme za koje izlazni napon padne na nulu, što se
na kraju dešava, onda bi jednačina (5.48) bila nedefinisana. Zato koristimo
neki od praktičnih uslova, kao, na primjer, VO(tf 2 ) = 0.1VDD . Zbog bolje
preglednosti rješenja praktičnije je, međutim, uzeti da je
VO (t f 2 ) 0,1(V DD Vtn ). (5.49)
Na osnovu (5.48) i (5.49) dobijamo:
CL CL
tf 2 ln 19 1.45 . (5.50)
2k n (V DD Vtn ) k n (V DD Vtn )
Ukupno vrijeme pada izlaznog napona je
CL Vtn
tf tf 1 tf 2 1.45 . (5.51)
k n (V DD Vtn ) V DD Vtn
Na negativnu promjenu pobude (t =t2) dolazi do isključenja Mn i
uključenja Mp. Kondenzator CL se puni strujom IDp tranzistora Mp (sl. 5.15).
Radna tačka se kreće karakteristikom IDp = f (VO), pri VGSp = -VDD, od
položaja D, preko E, do VO=VDD (sl. 5.15b). Prema tome, i vrijeme porasta
se sastoji od dva intervala: tr2 kada je Mp u zasićenoj i tr2 za koje je Mp u
linearnoj oblasti. U zasićenoj oblasti imamo:
t
1 2 kp 2
VO (t ) k p (V DD Vtp ) dt C L (V DD Vtp ) t . (5.52)
CL 0
Slika 5.15. Ekvivalentno kolo (a) i putanja radne tačke (b) kada se CL puni
185
Standardna logička kola
Iz praktičnih razloga smo tr2 definisali kao vrijeme za koje radna tačka pređe
90% napona linearne oblasti. Rješenjem (5.54) proizlazi:
CL
t r 2 1.45 . (5.55)
k p (V DD Vtp )
Ukupno vrijeme porasta je:
CL Vtp
tr tr 1 tr 2 1.45 . (5.56)
k p (V DD Vtp ) VDD Vtp
186
Standardna logička kola
187
Standardna logička kola
Slika 5.18. Trostepeni kružni oscillator (a) i njegovi talasni oblici napona (b)
Period oscilacija napona, na bilo kom izlazu, jednak je zbiru vremena
porasta i pada svih invertora, tj.
T t pLH 1 t pHL 1 t pLH 2 t pHL 2 t pLH 3 t pHL 3 . (5.57)
188
Standardna logička kola
p (T ) po (To / T )b p , (5.64)
gdje su µno i µpo pokretljivosti na sobnoj temperaturi To. T i To su u
stepenima Kelvina. Konstante bn i bp zavise od gustine primjesa u polupro-
vodniku i kreću se u granicama od 1.5 do 2.7.
Od MOS kapacitivnosti samo je difuziona zavisna od temperature,
što se odražava na vrijeme propagacije. Međutim, ako je ukupna
kapacitivnost opterećenja mnogo veća od difuzione, onda se njena
temperaturna promjena može zanemariti.
Na osnovu (5.11) i (5.61) do (5.64) proističe da je napon praga
CMOS invertora u funkciji temperature:
V DD Vtpo Vtno ( n p )(T To )
VT (T ) Vtno n (To T ) , (5.65)
b b p
1 k RO (To / T ) n
gdje je kRO=kno/kpo na sobnoj temperaturi. Ako je bn=bp, onda iz (5.65)
proizlazi uslov temperaturne neosjetljivosti napona praga VT u obliku:
p n k RO . (5.66)
189
Standardna logička kola
Slika 5.19. Napon praga CMOS invertora u funkciji temperature za različite odnose
kno/kpo: (a) prema (5.65), (b) prema SPICE
Temperaturni koeficijenti napona pragova CMOS tranzistora su približno
jednaki po apsolutnoj vrijednosti, tj. αn = αp. Prema tome, napon praga
CMOS invertora će biti nezavisan od temperature ako je kn=kp. Elementi
simetričnih komplementnih struktura se međusobno kompenzuju i čine
strukturu temperaturno stabilnom.
Većinom su, međutim, bn≠bp. Zbog toga je VT simetričnog invertora
zavisan od temperature. Na sl. 5.19 prikazana je funkcija VT(T ) za različite
odnose kRO=kno/kpo, dobijena na osnovu (5.65) (a) i SPICE simulacijom (b).
Za kRO>1, proizlazi da je dVT/dT < 0, dok je za kRO < 1 temperaturni
koeficijent VT pozitivan.
190
Standardna logička kola
Slika 5.21. Struje curenja gejta nMOS (a) i pMOS tranzistora (b)
191
Standardna logička kola
1
[MAR 10] D. Markovic et al: ”Ultralow-power Design in Near-threshold Region”,
IEEE Journal of Solid-State Circuits, 2010, pp 237-252.
192
Standardna logička kola
Slika 5.22. Pretpragovske struje nMOS (a) i pMOS (b) tranzistora CMOS invertora
temperature za 45 nm tehnologiju. Iz tabele je uočljivo da je izraženija
zavisnost Ig od VDD, a da je u fuknciji temperature znatno izraženija
vrijednost IDsub. S druge strane, na temperaturi 25°C za VDD ≤ 0.6 V, Ig<IDsub,
dok za VDD>0.6V Ig>IDsub. Tako, na primjer, za VDD=1.2V, Id ≈ 13IDsub.
Inverzna struja zasićenja IDss pn spoja isključenog tranzistora zavisi
od površine pn spoja i temperature. Po jedinici površine iznosi između 10 i
100 pA/µm2 na temperaturi 25°C za 0.25 µm tehnologiju. U nanometarskim
tehnologijama ova struja je mnogo manja od Ig i IDsub, pa se može
zanemariti.
Tabela 5.4 Struje gejta i pretpragovska struja drejna nMOS tranzistora u funkciji
VDD i temperature [MISH 12]2
Struja gejta Ig [nA] Pretpragovska struja IDsub [nA]
VDD [V]
25°C 110°C 25°C 110°C
0.2 1.1996 nA 1.2689 40.999 880.86
0.4 14.258 nA 15.776 56.437 1158.6
0.6 66.954 nA 75.437 72.47 1440.1
0.8 225.97 nA 256.33 89.397 1733.4
1.0 647.38 nA 736.31 107.42 2042.8
1.2 1681,1 µA 1914.3 127.12 2378.5
Dinamička potrošnja
Kao što je već naglašeno, dinamička potrošnja sastoji se od
prekidačke potrošnje i potrošnje prelaza. Prekidačka potrošnja je posljedica
punjenja/pražnjenja kondenzatora CL na skokovitu pobudu invertora
(sl. 5.23). Uz pretpostavku da su tranzistori idealni prekidači, impulsni oblici
struje kondenzatora CL prikazani su na sl. 5.23b. Kondenzator CL se prazni
strujom uključenog nMoOS,
2
[MISH 12] A. Mishra and R. Mishra: ”Leakage Current Minimization in Dynamic
Circuits Using Sleep Switch”, 2012 Students Conference on Engineering and
Systems (SCES), 2012, pp 1-6.
193
Standardna logička kola
194
Standardna logička kola
tr t f (V Vtp Vtn )3
PDt k n DD . (5.80)
3T (1 k n / k p )2
195
Standardna logička kola
196
Standardna logička kola
197
Standardna logička kola
198
Standardna logička kola
Slika 5.27. Ekvivalentna izlazna kola CMOS invertora: (a) diodni i (b) tranzistorski
model
U području proboja tranzistori su provodni. Stoga kroz Rw protiče struja
VBE/Rw, tako da je struja emitora čistog tranzistora
'
I En I DD VBE / Rw . (5.87)
Na osnovu (5.86) i (5.87) dobijamo da je ekvivalentno pojačanje tranzistora
Tn u spoju zajedničke baze:
V
ne n 1 BE . (5.88)
I DD Rw
Na isti način može se pokazati da je ekvivalentno pojačanje strukture Tp, Rs:
V
pe p 1 EB . (5.89)
I DD Rs
Kombinujući (5.85), (5.88) i (5.89) proizlazi uslov uključenja tiristorske
strukture u obliku:
V BE p Rs
n p 1 p 1 . (5.90)
I DD Rs n Rw
Uzeli smo da je VBEn=VEBp=VBE. Statička karakteristika IDD =f (VDD) u
oblasti proboja prikazana je na sl. 5.28b. Maksimalno dozvoljeni napon
napajanja CMOS kola mora da bude
V DD max BV DD . (5.91)
199
Standardna logička kola
Slika 5.28. Model za određivanje uslova proboja (a) i zavisnost struje kroz
tranzistore od napona napajanja (b)
Tiristorska struktura će, nakon proboja, ostati u uključenom stanju
ako je struja kroz tranzistore veća od struje držanja IST. To, na primjer,
znači da neka kratka smetnja preko linije za napajanje može izazvati
tiristorski efekat, ali će on biti održan samo ako je IDD>IST. U tabeli 5.5 su
dati podaci za struju IST i napon održavanja VST te probojni napon BVDD za
familije CMOS kola CD4000A i CD4000B. Ne preporučuje se korišćenje
većih napona napajanja od VST , tj. VDD <VST .
Tabela 5.5. Karakteristični parametri familije CD4000 u oblasti proboja
Familija CD4000A CD4000B
BVDD[V] 17 25
VST[V] 15 22
IST[mA] 2-4 50-100
200
Standardna logička kola
V BE R
n p 1 p 1 n w . (5.92)
I DD Rw p Rs
201
Standardna logička kola
202
Standardna logička kola
Slika 5.31. Transmisioni gejt: Šema (a), prekidačka stanja (b i c) i simbol (d)
tako da su oba tranzistora, i Mn i Mp, uključeni. Tada je VO = Vi.. Između
ulaza i izlaza je otpornost Ron paralelnih Mn i Mp čija je tipična vrijednost u
granicama od nekoliko desetaka Ω do nekoliko kΩ.
Budući da sors i drejn MOS tranzistora mogu zamijeniti uloge,
transmisioni gejt može da vodi u obje strane . Na to ukazuje i njegov simbol
(sl. 5.31) koji se sastoji od dvije suprotno okrenute diode. Zato se često
koristi naziv bilateralni, odnosno obostrani prekidač. Onda kada se
transmisioni gejt koristi za kontrolu analognog signala, naziva se analognim
prekidačem. Naime, kada je prenosni gejt uključen, ulazni signal prenosi se
na izlaz u istom obliku.
Ograničenja
Promjene ulaznog, a samim tim i izlaznog napona, ograničene su sa
V SS V D V i V DD V D , (5.95)
gdje je VD napon direktno polarisanog pn spoja osnove prema drejnu i sorsu
(sl. 5.32).
Prenosna karakteristika gejta u uključenom stanju zavisi od
otpornosti RON i otpornosti opterećenja RL. Naime,
203
Standardna logička kola
RL
Vo Vi . (5.96)
RON R L
Ova karakteristika je prikazana na sl. 5.32b uz pretpostavku da je RON
konstanta i ne zavisi od Vi.. Kada je RL >> RON (RL→∞), onda je VO = Vi.
VHDL opis transmisionog gejeta dat je u primjeru 5.4.
Primjer 5.4
VHDL opis transmisionog gejta (sl. 5.31) u kome je
kontrolnom ulaznom priključku dodeljen formalni naziv cl,
ulaznom i, a izlaznom o.
-- transmisioni gejt
library STD;
library IEEE;
use IEEE.std_logic_1164.all;
entity tg is
port ( cl : in std_logic;
i : in std_logic;
o : out std_logic);
end tg;
architecture rtl of tg is
begin
tgprocess: process (cl, i)
begin
if (cl = '1') then
o <= i;
else
o <= 'Z';
end if;
end process tgprocess;
end architecture rtl;
204
Standardna logička kola
VDS =VO Vi ≈0, tranzistori su u linearnoj oblasti. Njihove otpornosti, ako je
VSS = 0, približno su:
1
Rn , (5.97)
2k n (V DD Vtn V i )
1
Rp . (5.98)
2k p (V i Vtp )
Slika 5.33. Karakteristike otpornosti sa uticajem VBS (a), (c) i za VBS=0 (b), (d)
205
Standardna logička kola
206
Standardna logička kola
Temperaturne karakteristike
Karakteristika otpornosti RON ( Vi ) je temperaturno veoma osjetljiva.
Parametri zavisni od temperature su: konstante kn i kp, odnosno pokretljivo
sti nosilaca naelektrisanja µn i µp, te pragovi Vtn i Vtp (vidi poglavlje 5.1.7).
Na RON(T) dominantno utiču promjene pokretljivosti µn i µp u funkciji
temperature.
Sa sl. 5.35 je uočljivo da se RON povećava od oko 70Ω, pri -55°C do
oko 130 Ω, na temperaturi +125°C. U procentima ovo povećanje iznosi oko
86%. Temperaturni koeficient je pozitivan i iznosi oko 0.33Ω/°C.
207
Standardna logička kola
208
Standardna logička kola
209
Standardna logička kola
library IEEE;
use IEEE.std_logic_1164.all;
entity NI2 is
port ( a: in std_logic;
b: in std_logic;
y: out std_logic);
end entity NI2;
architecture rtl of NI2 is
begin
y <= '0' when a = '1' and b = '1' else '1';
end architecture rtl;
Izlaz NILI kola će biti visok, VOH =VDD , samo onda kada su svi pMOS
tranzistori provodni, tj. kada su A=B=C=0. Dakle, Y A B C , odakle,
na osnovu Demorganove teoreme, proizilazi Y A B C . Ako je bilo koji
ulaz visok njegov pripadajući nMOS tranzistor će biti provodan, dok će
pMOS da bude isključen pa je VO=VOL=0.
library IEEE;
use IEEE.std_logic_1164.all;
entity NILI3 is
port ( a, b, c: in std_logic;
y: out std_logic);
end entity NILI3;
architecture rtl of NILI3 is
begin
y <= '0' when a = '1' or b = '1' or c = '1' else
'1';
end architecture rtl;
210
Standardna logička kola
f (AB C )D . (5.104)
Funkcije nMOS i pMOS mreže su:
f n (AB C )D , f p (A B )C D . (5.105)
f AB AB AB AB AB * AB AB AB
Funkcije nMOS i pMOS mreža su:
f n AB AB i f p (A B )(A B ).
Za sintezu su potrebna 4 para CMOS tranzistora i dva
invertora, za funkcije A i B . Prema tome potrebno je ukupno
6*2=12 tranzistora (sl. 5.39a).
211
Standardna logička kola
3
[Dok 82] Dokic, Branko L.: ”Influence of Series and Parallel Transistors on DC
Characteristics of CMOS Logic Circuits”, Microelectronics Journal, Vol. 13, No 2,
1982, pp 25-30
212
Standardna logička kola
Slika 5.41. Ekvivalentna kola kada su aktivni: oba A i B (a), samo B (b) i samo
A(c)
Tranzistori Mn1 i Mn2 su serijski, pa im se dužine kanala sabiraju, što je
ekvivalentno jednom tranzistoru sa dvostruko manjom konstantom kn.
Prema tome, NI kolo se može zamijeniti parom CMOS tranzistora čiji su
parametri kne=kn/2, kpe=2kp (sl. 5.41a). Uvrštavanjem ovih vrijednosti u
(5.11) dobija se da je napon praga:
V DD Vtp Vtn V DD Vtp Vtn
VT A,B Vtn Vtn . (5.106)
kn / 2 1 kn
1 1
2k p 2 kp
Neka je, sada, B aktivan, a A=1. Tada je Mp1 isključen, a Mn1
uključen i u nezasićenoj oblasti, nezavisno od Vi. Ekvivalentno kolo je
prikazano na sl. 5.41b. Otpornost Rn1 tranzistora Mn1 ne utiče na struje
drejna Mn2 i Mp2 kada su u zasićenoj oblasti, jer one tada zavise samo od
napona gejt-sors. Zbog toga je napon praga određen samo parom tranzistora
Mn2, Mp2, tj.:
VDD Vtp 2 Vtn 2
VT B Vtn 2 . (5.107)
1 kn2 k p 2
Konačno, kada je ulaz A aktivan, a B =1, onda je ekvivalentno kolo kao na
sl. 5.41c, jer je Mp2 isključen, a Mn2 uključen. Sada je otpornost Rn2
tranzistora Mn2 u nezasićenoj oblasti u kolu sorsa Mn1 i uticaće na njegovu
struju drejna, pošto je:
VGSn Vi Rn 2 I Dn , (5.108)
pa će biti potreban veći Vi da dovede Mn1 u zasićenu oblast. To znači da će
napon praga u ovom slučaju biti veći nego pri aktivnom ulazu B.
Odgovarajuće prenosne karakteristike su nacrtane na sl. 5.42. Dakle, najveći
napon praga je kada su oba ulaza aktivna, a najmanji kada je aktivan samo
ulaz koji je pridružen nMOS tranzistoru čiji je sors spojen na masu. U ovom
213
Standardna logička kola
odakle proističe da je :
1
VT V DD Vtp ( 1 k p Rn 2 (V DD Vtp Vtn ) 1). (5.110)
k p Rn 2
Uvrštavanjem (5.109) u (5.110) dobija se:
214
Standardna logička kola
V Vtn Vtp
VT ( A) V DD Vtp 2(VDD Vtn ) 1 DD 1
2(V DD Vtn )
10 1 2(10 1))( 1 8 18 1), VT (A) 5.4V .
215
Standardna logička kola
nMOS : W ne mW n , Lne Ln ,
(5.116)
pMOS : W pe W p , L pe mL p ,
Na osnovu (5.115), (5.116) i (5.11) proizilazi da su naponi pragova NIm i
NILIm kola kada su svi ulazi aktivni:
VDD Vtp Vtn VDD Vtp Vtn
VT Vtn ; VT NILIm Vtn . (5.117)
NIm 1 1 m k k
1 kn k p n p
m
Kombinacija aktivnih ulaza [Dok 82]4
Najčešće, svi ulazi nisu aktivni. U primjeru 5.9 pokazano je da nije
svejedno koji od ulaza, A ili B je aktivan. Zato će se posmatrati sprega
nMOS tranzistora NIm na sl. 5.43a, gdje je prvi po redu, računajući od
izlaznog priključka, aktivan tranzistor Mnp . Tranzistori Mn1,…...., Mn(p-1) su
provodni i u linearnoj oblasti, te se mogu zamijeniti jednim otpornikom Rn
(sl. 5.43b). Preostalih m-p+1 tranzistora, s aktivnim ulazom, kao što je
prethodno pokazano, mogu se zamijeniti sa jednim ekvivalentnim čija je
dužina kanala:
Lne (m p 1)Ln , 1 p m (5.118)
gdje je p redni broj prvog aktivnog ulaza.
Pri određivanju osnovnih statičkih parametara, kao što su napon praga VT, i
maksimalna struja IDDM , Mne je u zasićenoj oblasti i otpornost Rn nema uticaj
4
[Dok 82] Dokic, Branko L.: ”Influence of Series and Parallel Transistors on DC
Characteristics of CMOS Logic Circuits”, Microelectronics Journal, Vol. 13, No 2,
1982, pp 25-30
216
Standardna logička kola
Slika 5.44. Ekvivalentni invertori NIm (a) i NILIm (b) logičkih kola
na struju IDn. Drugim riječima, provodni serijski tranzistori između prvog
tranzistora sa aktivnim ulazom i izlaza logičkog kola ne smanjuju dužinu
kanala ekvivalentnog serijskog tranzistora. Prema tome, pri analizi statičkih
parametara CMOS logičkih kola, m serijskih tranzistora (sl.5.43c) kada svi
ulazi nisu aktivni (n < m) mogu se zamijeniti jednim ekvivalentnim sa
dužinom kanala određenom sa (5.118).
Na osnovu prethodne analize slijedi da se NIm CMOS logičko kolo sa
n aktivnih ulaza (1 ≤ n ≤ m) može modelovati ekvivalentnim invertorom
(sl. 5.44a) čiji tranzistori imaju sljedeće parametre:
pMOS : Vtp , nW p , L p ,
(5.119)
nMOS : Vtn , W n , (m - p 1)Ln ,
gdje je p redni broj prvog aktivnog ulaza.
Potpuno isti zaključak može da se izvede za m-ulazna NILI kola (sl. 5.44b),
pri čemu treba voditi računa da su pMOS tranzistori serijski, a nMOS
paralelni. Otuda su parametri tranzistora ekvivalentnog invertora NILI kola:
pMOS : Vtp , W p , (m - p 1)L p ,
(5.120)
nMOS : Vtn , nW n , Ln ,
217
Standardna logička kola
Slika 5.45. Napon praga NI4 I NILI4 kola u funkciji napona napajanja VDD pri:
(n=1, p =4) (a ), (n =1, p =1)(b) i n =4 (c)
218
Standardna logička kola
W n Ln 1 p
NILIm : . . (5.127)
W p Lp m n
Pri optimalnoj geometriji tranzistora i margine smetnji za nizak i visok nivo
su, takođe, jednake.
219
Standardna logička kola
Primjer 5.10
4.5V (a )
V NML V IL
n 1
p 4 2.4V (b ),
10 8.58 1.42V (a )
V NMH V DD VT n 4
10 7.6 2.4V (b ).
Na osnovu VNM = min{VNML,VNMH }, proističe: (a) VNM =2.42V,
(b) VNM =2.4V.
NILI4 kolo:
Napon praga je određen sa (5.122), tako da su neosjetljivosti
na smetnje:
2.6V (a )
V NIL VT n 4
3.67V (b ),
10 5 5V (a )
V NIH V DD VT n 1
p 4 10 6.33 3.67V (b ).
220
Standardna logička kola
1
pMOS : Rp , (5.129)
2k p (V DD Vtp )
Na sl. 5.47 predstavljena su NI2 (a) i NILI2 (b) kola svojim ekvivalentnim
otpornim izlaznim mrežama, za slučaj kada su provodni serijski tranzistori.
Odgovarajuće izlazne otpornosti su ROL = 2Rn, za NI i ROH=2Rp, za NILI
kola. U suprotnim stanjima vode jedan ili oba paralelna tranzistora. Stoga
su za NI2 kola ROH=Rp ili ROH = Rp/2, a za NILI2, ROL= Rn ili ROL = Rn/2.
Evidentno je, dakle, da su izlazne otpornosti jednog kola (NI ili NILI)
različite i da njihov odnos zavisi od broja ulaza i broja aktivnih ulaza.
U opštem slučaju, za m-ulazna kola maksimalni odnosi izlaznih
otpornosti, s obzirom na (5.128) i (5.129), određeni su sa:
221
Standardna logička kola
Slika 5.47. Ekvivalentne mreže izlazne otpornosti dvoulaznih NI (a) i NILI (b)
ROL mRn k
NI: m2 p , (5.130)
ROH max R p / m kn
ROH mR p k
NILI: m2 n . (5.131)
ROL max Rn / m kp
Ovi odnosi su najmanji, i jednaki broju ulaza kola m, kada je
geometrija tranzistora optimalna i određena sa (5.126) i (5.127).
Primjer 5.11
Odrediti maksimalne i minimalne izlazne otpornosti NI4 i
NILI4 kola ako su: kn'=50µA/V2, kp'=20µA/V2, Vtn=|Vtp|=1V,
VDD=5V. Posmatraćemo dva slučaja:
a) (W/L)n = 4/1, (W/L)p = 10/1 i
b) optimalne geometrije tranzistora .
222
Standardna logička kola
223
Standardna logička kola
1 Vtp
tr p 1.45 , (5.133)
m VDD Vtp
gdje su:
CL CL
n , i p , (5.134)
k n V DD Vtn k p V DD Vtp
vremenske konstante nMOS i pMOS tranzistora, redom. Uzme li se da je
Vtn=|Vtp|, onda je odnos vremena pada i porasta:
t f t r m 2 k p kn . (5.135)
Bilo bi optimalno da su vremena porasta i pada jednaka, tj. tf = tr . To bi
značilo da je s obzirom na (5.134), optimalna geometrija NIm logičkog kola,
po kriterijumu dinamičkih karakteristika,
224
Standardna logička kola
Wn Ln p 2
m. (5.136)
Wp Lp n
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
Glava 9
9. Programabilne logičke
komponente - PLD
355
PLD programira krajnji korisnik. U zavisnosti od tehnike
programiranja dijele se na: reprogramabilne i nereprogramabilne.
Reprogramabilnost podrazumijeva da se jednom programirani sadržaj
može obrisati (poništiti) i programirati (upisati) novi. Drugim riječima,
komponenta se može ponovo programirati. Nereprogramabilne
komponente mogu se samo jednom programirati. Tipičan primjer su PLD
sa osiguračima i antiosiguračima.
Sa korisničke tačke gledišta, programabilne logičke module možemo
podijeliti na module sa stalnim i promjenljivim sadržajem. Mask-moduli
su sa stalnim sadržajem, a PLD sa promjenljivim. Jednom programirani
nereprogramabilni moduli postaju sa stalnim sadržajem.
Za cijelu klasu savremenih programabilnih digitalnih kola uobičajen
naziv je programabilne logičke komponente (naprave) i koristi se
skraćenica – PLD (engl. Programmable Logic Devices). To su
integrisana kola koja krajnji korisnik može da programira prema
zahtjevima specifične primjene. U tom smislu se PLD svrstavaju u grupu
ASIC (engl. Application Specific Integrated Circuits) ili USIC (engl.
User Specific IC). Veze među elementima i blokovima su programabilne
na nivou silicijuma unutar integrisanog kola. Programiranjem tih veza
krajnji korisnik sintetizuje opisani projekat unutar PLD prema potrebnoj
funkciji konkretnog zahtjeva. Jednom programirana funkcija većinom se
može mijenjati u potpunosti ili djelimično što zavisi od tehnologije PLD.
Drugim riječima, upisani sadržaj može se brisati. Stoga je jedno vrijeme
bio aktuelan naziv, PLD s mogućnošću brisanja i skraćenica EPLD
(engl. Erasable Programmable Logic Devices). Pošto se brisanje
prilikom svake promjene podrazumijeva, E se izostavlja iz naziva.
PLD se proizvode za nepoznatog korisnika, kao i standardna
integrisana kola. Za razliku od standardnih kola, funkcija PLD je
nedefinisana. Kao što je već rečeno, nju definiše (konfiguriše) krajnji
korisnik prema zahtjevima specifične primjene. Zbog toga se PLD
svrstavaju u grupu standardnih integrisanih kola specifične namjene
(SASIC).
U odnosu na ostale vrste ASIC, PLD pristup projektovanju ima
nekoliko značajnih prednosti:
Razvoj samog integrisanog kola je za nepoznatog korisnika. Stoga
su proizvodne serije velike, a pojedinačna cijena mala.
356
Korisnik sam potpuno nezavisno od proizvođača integrisanog kola
konfiguriše (programira) krajnji sadržaj (funkciju) PLD, što nije
slučaj kod ostalih tipova ASIC.
Programirana funkcija može se više puta mijenjati. Stoga je PLD
izuzetno pogodan u fazi razvoja. Projektant vrlo brzo može da
mijenja zamišljeno rješenje i ispituje nova, sve dok ne dođe do
optimalnog. Pri tome je izgubljeno vrijeme na konfigurisanju
novog kola zanemarljivo malo (onoliko koliko je potrebno da se
unesu novi podaci u razvojni sistem).
Razvojna oprema je jednostavna i PC orijentisana.
Prednosti PLD, u odnosu na pristup projektovanju sa standardnim
integrisanim kolima, očituje se u sljedećem:
Jedan PLD može zamijeniti veći broj SSI, MSI i LSI kola (jedan
PLD sadrži nekoliko stotina do nekoliko miliona gejtova).
Smanjen je broj integrisanih kola na štampanoj ploči, zbog čega je
ona jednostavnija.
Veća pouzdanost.
Znatno efikasnija zaštita od neovlašćenog kopiranja projekta.
Brži, efikasniji i jeftiniji razvoj.
Danas su na tržištu brojna PLD koja se razlikuju po unutrašnjoj
strukturi, tehnologiji programiranja, logičkom kapacitetu, brzini rada i
veličini kućišta (broju priključaka). Sa aspekta složenosti ova kola
pokrivaju oblasti od MSI (integrisana kola srednjeg stepena integracije –
od stotinjak do nekoliko hiljada tranzistora) do VLSI (veoma visoki
stepen integracije – do nekoliko miliona tranzistora). Logički kapacitet,
izražen brojem ekvivalentnih gejtova, kreće se u granicama od stotinjak
do nekoliko desetaka miliona. Razlikuju se i kućišta sa nekoliko desetaka
do nekoliko stotina priključaka. Taktna frekvencija se kreće od nekoliko
desetaka do nekoliko stotina MHz. Sve prethodno ukazuje da je sa PLD
moguće realizovati veoma širok dijapazon digitalnih sistema na čipu
(engl. System on a Programmable Chip), od jednostavnih modula do
kompleksnih sistema koji kombinuju mikroprocesor, memoriju i
specifične periferne jedinice.
Pojava novih PLD, s mogućnošću brzog brisanja i ponovnog
upisivanja novog sadržaja (reporogramabilnost), može se uporediti s
pojavom mikroprocesora. Svaki na svoj način omogućuju krajnjem
korisniku da funkciju integrisanog kola prilagode svojim potrebama.
Naime, reprogramabilnošću se postiže fleksibilnost karakteristična za
357
mikroprocesorske sisteme, kod kojih se zamjenom mikroprocesorskog
programa mijenja i funkcija sistema bez bilo kakvih hardverskih
promjena. Danas, međutim, na raspolaganju su programabilne
komponente sa ugrađenim mikroprocesorima. Takve komponente su
dvostruko konfigurabilne: hardverski (kao osnovne PLD) i softverski
(kao mikroprocesori).
Prema složenosti i organizaciji unutrašnje strukture programabilna
digitalna kola se mogu klasifikovati u tri kategorije:
SPLD (engl. Simple PLD) su jednostavni PLD zasnovani na
programabilnim I i/ili ILI mrežama. To su kola srednjeg stepena
integracije i uglavnom se koriste za sintezu logičkih funkcija
izraženih u formi "suma proizvoda". U ovu kategoriju se svrstavaju
PROM, PLA i PAL/GAL.
CPLD (engl. Complex PLD) su složena (kompleksna) PLD.
Sastoje se od većeg broja programabilnih funkcionalnih blokova,
koji su po unutrašnjoj strukturi slični SPLD. Funkcionalni blokovi
su registarski i međusobno su povezani preko centralizovane
programabilne mreže. Primjenjuju se za projektovanje kako
kombinacionih tako i sekvencijalnih kola
FPGA (engl. Field Programmable Gate Array) je VLSI modul koji
se sastoji od velikog broja programabilnih blokova i veza. Jedna
FPGA komponenta može da zamijeni desetke hiljada logičkih
kola–gejtova. Po funkcionalnim mogućnostima, prava su
alternativa gejtovskim mrežama (GA). Otuda i potiče naziv
programabilne gejtovske mreže. Suštinska prednost FPGA je u
tome što ih programira korisnik, a GA proizvođač integrisanih kola.
358
Prve dvije tehnike su nereprogramabilne. Tehnika programiranja
osiguračima (engl. Fuse) je najstarija. Mogu da budu od legure nikla i
hroma ili od polikristalnog silicijuma. U prvom slučaju osigurači
pregorijevaju pri struji od nekoliko desetaka miliampera trajanja od
desetak do stotinjak milisekundi. Osigurači od polisilicijuma ne
pregaraju, već se zagrijavaju strujnim impulsima od dvadesetak
miliampera trajanja stotinjak milisekundi. Usljed toga osigurač oksidiše i
postaje izolacioni materijal.
Osigurači su korišteni u prvim programabilnim komponentama -
PROM. Danas se, u savremenim CMOS i BiCMOS PLD, kao što su
CPLD i FPGA, koristi tehnika programiranja poluprovodničkim
antiosiguračima (engl. Antifuse). Antiosigurač je element sa dva
provodna kraja između kojih je tanki sloj dielektrika. U
neprogramiranom stanju dielektrik izoluje provodne dijelove. Primjenom
napona od desetak volti, izvijesne dužine trajanja, dovodi do proboja
dielektrika i uspostavljanja male otpornosti (nekoliko desetaka do
nekoliko stotina oma) između provodnih krajeva.
Zbog svoje strukture, antiosigurači mogu da budu smješteni u prolaze
između dva sloja metala integrisanog kola. To omogućuje veliku gustinu
pakovanja programabilnih elemenata. Praktično, jedino ograničenje je
minimalna dimenzija provodne (metalne) linije. Zahvaljujući ovome,
FPGA, koje koriste ovu tehniku programiranja, imaju veoma fleksibilnu
arhitekturu usmjeravanja, koja dozvoljava električne veze praktično
između svih međuspojeva. Ozbiljno ograničenje primjene ove tehnike
programiranja je u tome što jednom isprogramiran antiosigurač ostaje
trajno u tom stanju. Drugim riječima, programirano stanje ne može se
obrisati i ponovo isprogramirati.
Na sl. 9.1 prikazana su dva tipa antiosigurača. Amorfni-silikonski
osigurači primjenjuju se u FPGA baziranim na amorfnom silicijumu (sl.
9.1a). Dva sloja metala razdvojena su sa amorfnim (nekristalizovanim)
silicijumom kojim je obezbijeđena električna izolacija. Debljina
antiosigurača u amorfnom silicijumu je ista kao standardna međuveza
između dva provodna sloja, pa se mogu postavljati veoma gusto.
359
Slika 9.1. Si-amorfni (a) i ONO antiosigurači (b)
Drugi tip je ONO (Oxide-Nitrid-Oxide) antiosigurač (Sl. 9.1b) koje
primjenjuje firma Actel u svojim FPGA proizvodima. Sastoji se od tri
sloja. Gornji i donji provodni slojevi su od polisilicijuma i negativno
dopirane difuzije, redom. Srednji sloj je izolator i sastoji se od hemijske
supstance kiseonik-azot-kiseonik. Primjenom naponskog impulsa od
desetak volti dolazi do proboja ONO sloja i formiranja električne veze
između provodnih slojeva tipične otpornosti oko 300 Ω.
Druge dvije tehnike su reprogramabilne. Postoje tri tipa CMOS
tehnologija/tehnika koje koriste nMOS tranzistor sa plivajućim gejtom
kao programabilni element. To su: UVCMOS, E2CMOS i FE2CMOS
tehnologije.
360
Slika 9.2. FAMOS tranzistor: poprečni presjek (a), programiranje
(b) i programirano stanje (c)
Pošto je oblast plivajućeg gejta provodna, struktura na sl. 9.2a, u
neprogramiranom stanju, ekvivalentna je standardnom nMOS tranzistoru
s dvostrukom debljinom oksida (2tox). Stoga se FAMOS tranzistor u tom
stanju ponaša kao nMOS sa nešto povećanim naponom praga Vtn i
smanjenom strminom gm, zbog povećane debljine oksida. On se
programira spajanjem sorsa na masu i dovođenjem povećanih napona, od
oko dvadeset volti, na signalni gejt i drejn (sl. 9.2b). Tranzistor je tada u
zasićenoj oblasti s prekinutim kanalom na strani drejna. Ako je električno
polje u SiO veće od oko 106 V/cm, elektroni u kanalu će dobiti dovoljnu
energiju da nastupi lavinska injekcija kroz SiO2. Na tom putu oni će biti
zadržani u plivajućem gejtu i tako ga negativno naelektrisati. Po
uklanjanju napona VG i VD za programiranje, plivajući gejt će ostati
“napunjen” elektronima, jer oni nemaju kud da otiču, pošto je FG
okružen sa SiO2. Stoga SiO2 mora da bude savršeno čist.
Punjenje plivajućeg gejta je ekvivalentno ugrađivanju negativnog
napona –VGP (sl. 9.2c) između signalnog gejta i kanala. Stoga je napon
praga programiranog FAMOS tranzistora povećan za VGP, tj.:
VtnP = VGP + Vtn. (9.1)
361
Ugrađen napon VGP zavisi od debljine oksida tox (tox<100 nm) i vremena
programiranja (nekoliko µs). Njegova tipična vrijednost je nekoliko volti
(3 do 5 V). Dakle, kada je FAMOS tranzistor programiran, njegov napon
praga je uvećan za nekoliko volti. Naponi signalnog gejta, u normalnom
radu, treba da budu manji od napona praga programiranog FAMOS
tranzistora. Stoga je napon napajanja u toku rada (eksploatacije):
Vtn < VDD < VtnP. (9.2)
Na Sl. 9.3, predstavljeni su simbol i prenosne karakteristike ID=f(VGS)
FAMOS tranzistora u neprogramiranom i programiranom stanju.
Plivajući gejt na Sl. 9.3b predstavljen je kondenzatorom CF. U
neprogramiranom stanju CF je prazan, pa je napon praga tranzistora Vtn.
Programiranjem se CF napuni na napon VGP i za tu vrijednost povećava
napon praga tranzistora. Punjenje plivajućeg gejta nastupa kao posljedica
lavinske injekcije elektrona. Otuda i potiče naziv FAMOS (Floating –
gate Avalanche – injection MOS) tranzistor. Vrijeme zadržavanja
naelektrisanja zavisi od kvaliteta oksida i kreće se oko deset godina.
Brisanje programiranog sadržaja ekvivalentno je pražnjenju plivajućeg
gejta. To se ostvaruje ultravioletnom svjetlošću, pod čijim dejstvom
elektroni dobijaju dovoljnu energiju da iscure kroz SiO2.Vrijeme brisanja
zavisi od jačine UV svjetlosti i kreće se u granicama od nekoliko do
desetak minuta. U ovome je upravo osnovni nedostatak UVCMOS
tehnologije. Osim što brisanje traje dugo, ono se ne može obavljati u
sistemu. Kolo se mora izdvojiti i mora posjedovati prozor na kućištu kroz
koji se kristal silicijuma osvjetljava iz UV lampe. Postojanje prozora
362
poskupljuje izradu kola. Brisanje nije selektivno, već potpuno (prazne se
svi FG u jednom integrisanom kolu).
Broj ciklusa programiranje/brisanje nije veći od oko hiljadu, što je
uslovljeno dozvoljenim smanjenjem napona praga programiranog
tranzistora. Naime, ponavljanje ovih ciklusa dovodi do smanjenja
programiranog napona VGP u plivajućem gejtu.
FAMOS programabilni element ima jednostavnu strukturu i
obezbjeđuje veliku gustinu pakovanja. Stoga, bez obzira na navedene
nedostatke, UVCMOS tehnologija još uvijek se koristi.
363
izolator iznad drejna izaziva tunelovanje elektrona iz plivajućeg gejta.
Ovo dovodi do stvaranja osiromašenih oblasti u kanalu i području ispod
tunelskog oksida. Stoga napon praga izbrisanog tranzistora postaje
negativan (sl. 9.5a). To praktično znači da ispražnjeni elektroni formiraju
kanal između drejna i sorsa, pa će tranzistor biti provodan i pri VG=0 V.
U procesu programiranja na gejt dovodimo napon oko +20 V, a drejn
i sors su na masi (sl. 9.4c). Sada električno polje, kroz tanki izolator
iznad drejna (tunelski izolator), tuneluje elektrone iz drejna u plivajući
gejt. Efekti su potpuno isti kao pri programiranju FAMOS tranzistora.
Dakle, napon praga tranzistora postaje veći za iznos uprogramiranog
napona na plivajućem gejtu (sl. 9.5a), tj.: VtnP=Vtn+VGP.
Prema tome, može da se zaključi da FLOTOX tranzistor radi i u
režimu obogaćenog i u režimu osiromašenog tipa. Nakon brisanja
(neprogramirano stanje) on je tranzistor s ugrađenim kanalom, jer mu je
napon praga negativan (VtnB<0). Po programiranju on postaje tranzistor s
indukovanim kanalom, jer mu je napon praga VtnP pozitivan. Apsolutni
iznosi pragova VtnB i VtnP zavise od više faktora i uglavnom su u
364
granicama od nekoliko do deset V. Na sl. 9.5b predstavljene su njihove
zavisnosti od debljine tunelskog oksida tox, pri tunelskoj površini 2 µm2 i
različitim iznosima napona brisanja/programiranja. Ovome treba dodati
da iznosi pragova VtnP i VtnB zavise od amplitude (10 do 30 V) i vremena
trajanja (nekoliko stotina µs do desetak ms) impulsa
programiranja/brisanja.
Sve do sada ukazuje da radni napon integrisanog kola ne može
upravljati FLOTOX tranzistorom. Tako, na primjer, ako je VtnP=+7 V, a
VtnB=-5 V, tranzistor bi u neprogramiranom (brisanom) stanju bio stalno
uključen pri radnim naponima od 0 do VDD=5 V. Stoga u E2CMOS
tehnologiji, umjesto programabilnog elementa, postoji programabilna
ćelija, koja se sastoji od dva nMOS tranzistora: selekcionog MS i
programabilnog (memorijskog) FLOTOX Mm (sl. 9.6a).
Signalni gejt tranzistora Mm većinom je na naponu napajanja VDD,
iako može da bude i na masi. U programiranom stanju on je isključen
(VDD<VtnP), a u neprogramiranom stanju stalno je provodan. Stanje na
liniji bita kontroliše se preko gejta selekcionog tranzistora MS. Kada je
VGS=VDD, MS vodi i povezuje liniju bita s drejnom memorijskog
tranzistora Mm.
Naponi pojedinih linija FLOTOX ćelije u fazi njenog brisanja
prikazani su na sl. 9.6b. Gejt i drejn selekcionog tranzistora MS su na
istom naponu +20 V, pa je on provodan i u zasićenoj oblasti. Pošto je
napon gejta memorijskog tranzistora (linija programiranja) na masi, a
njegov drejn je na naponu približno 18 V, doći će do tunelovanja
elektrona iz plivajućeg gejta.
Na sl. 9.6c prikazana je faza programiranja FLOTOX ćelije. Linija
programiranja i selekciona linija dovode se na pozitivan napon oko +20
Slika 9.6 FLOTOX ćelija (a), njeno brisanje (b) i programiranje (c)
365
Na liniju bita ćelije, koju treba programirati, dovodi se napon 0 V (BL2
na sl. 9.6c). Tranzistor MS2 vodi i prenosi napon svoje bit linije na drejn
memorijskog tranzistora Mm2. Električno polje kroz tunelski oksid
tuneluje elektrone u plivajući gejt. Bit linija BL1, ćelije koja ostaje u
brisanom (neprogramiranom) stanju, dovodi se na napon oko +20 V.
Pošto je potencijalna razlika gejt-drejn memorijskog tranzistora mala,
neće doći do tunelovanja ni u jednom smjeru. Treba istaći i to da se prije
svake promjene sadržaja FLOTOX ćelija briše.
Stanje FLOTOX ćelije očitava se dovođenjem signalne linije na napon
napajanja +VDD, pri čemu je linija programiranja na naponu 0≤VPL≤VDD
(sl. 9.7). Tranzistor Mp je isključen, a Mn je uključen. U
neprogramiranom stanju tranzistor Mm je provodan, tako da je bit linija
na masi (VBL=0, sl. 9.7a). Kada je Mm programiran on će biti isključen, pa
je bit linija izolovana (otvorena veza).
Vrijeme držanja je jedna od bitnih karakteristika FLOTOX ćelije. To
je vrijeme držanja akumulisanih elektrona u plivajućem gejtu i
standardno je duže od 10 godina.
Ono, između ostalog, zavisi i od napona na gejtu (linija
programiranja) i drejnu FLOTOX tranzistora (sl. 9.8) u toku čitanja
sadržaja ćelije. Ako je VPL=+VDD, električno polje, kroz oksid između
plivajućeg i signalnog gejta, dovodi do postepenog oticanja (curenja)
elektrona s plivajućeg na signalni gejt. Ovo dovodi do postepenog
smanjenja napona praga programirane ćelije. Na sl. 9.8a prikazana je
promjena napona praga VtnP u funkciji vremena držanja, pri VPL=+5 V i
VD=0, za različite vrijednosti debljine oksida tox između dva gejta.
366
Slika 9.8. Promjene napona praga programirane FLOTOX ćelije u
toku eksploatacije: VPL=5 V, VD=0 i različite debljine oksida između
dva gejta (a) i VPL=0 V, pri različitim VD (b)
Debljina tunelskog oksida je 10 nm, a površina tunelskog spoja Stj=2
µm2. Oksid je dobijen termičkim rastom na temepraturi 1100 °C. Vrijeme
držanja povećava se sa povećanjem tox. U skladu sa Sl. 9.8a, trebalo bi da
je tox>60 nm. Do sličnog efekta dolazi kada je drejn FLOTOX tranzistora
na +VDD, a njegov gejt na masi (sl. 9.8b). Tada elektroni otiču (“cure”) iz
plivajućeg gejta u drejn, što ima za posljedicu smanjenje napona praga.
Ta promjena prikazana je na sl. 9.8b, pri različitim naponima drejna. Vidi
se da se smanjenjem napona drejna povećava vrijeme držanja, pri istoj
vrijednosti napona praga.
367
Obje prethodne situacije postoje i u toku eksploatacije ćelije. Najmanji
efekat na smanjenje napona praga dobija se kada se linija programiranja,
za vrijeme čitanja sadržaja ćelije, drži na naponu od oko polovine napona
napajanja.
Vrijeme programiranja/brisanja FLOTOX ćelije zavisi od oblika i
amplitude impulsa na signalnom gejtu. Da ne bi došlo do velike struje
tunelovanja, impulsi su pilastog oblika. Na Sl. 9.9a su date promjene
napona praga FLOTOX tranzistora u procesu programiranja/brisanja, dok
je na Sl. 9.9b dat i vremenski oblik tunelske struje u toku programiranja.
Vrijeme porasta impulsa signalnog gejta je 1.6 ms, a njegova amplituda
16 V. Vrijeme programiranja je manje od 1 ms.
Prethodni zaključci odnose se na FLOTOX ćeliju čiji su tehnološki
parametri dati u tabeli 9.1. Broj ciklusa programiranje/brisanje takođe
utiče na napon praga programirane ćelije. Međutim, taj broj dostiže čak
105 ciklusa tako da je mala vjerovatnoća da on može da bude dostignut u
vrijeme eksploatacije ćelije.
368
vrućih elektrona, kao kod FAMOS ćelije, a brisanje Fovler-
Nordhajmovim tunelovanjem. Dakle, pri programiranju signalni gejt i
drejn tranzistora su na povećanom pozitivnom naponu (od 10 do 15 V), a
sors je uzemljen. U toku brisanja drejn i signalni gejt su na masi, a sors i
podloga su na povećanom pozitivnom naponu (10 do 12 V). Tako se
brišu sve ćelije PLD, a elektroni odvode u zapreminu podloge. U tome je
razlika u odnosu na FLOTOX ćeliju. Pražnjenje plivajućeg gejta preko
sorsa i podloge omogućava kontrolu napona praga neprogramiranog
tranzistora na pozitivnoj vrijednosti. Na taj način je osigurano da je
memorijski tranzistor u oba stanja s indukovanim kanalom. Stoga je
FE2CMOS ćelija jednotranzistorska kao i FAMOS.
U tabeli 9.2 date su uporedne karakteristike PROM realizovane u tri
CMOS tehnologije: UVCMOS (ECMOS), E2CMOS i FE2CMOS.
Uočljivo je da, u cjelini posmatrano, FE2CMOS ima najbolje
karakteristike. Stoga su, u novije vrijeme, ECMOS i E2CMOS
tehnologije potisnute FE2CMOS tehnologijom.
a) b) c)
2
Slika 9.10. Principijelna struktura FE CMOS ćelije (a) njegova
polarizacija tokom programiranja (b) i brisanja (c)
Tehnologija
Karakteristika
ECMOS E2CMOS FE2CMOS
Kapacitet/tehnologija 16 Mbit/(0.6 μm) 1 Mbit/(0.8μm) 16 Mbit/(0.6 μm)
Površina čipa 7.18x17.39 mm2 11.8x7.7 mm2 6.3x18.5 mm2
Površina ćelije 3.8 μm2 30 μm2 3.4 μm2
Vrijeme pristupa 62 ns 120 ns 58 ns
Vrijeme brisanja minute - -
Vrijeme 8 ms/riječi
5 μs 5 μs
programiranja/riječ 4 s/čip
Ciklus brisanja/upisivanja 100 105 103-105
369
9.1.4. SRAM tehnika
SRAM (engl. Static RAM) tehnika primjenjuje se u programabilnim
gejtovskim mrežama (FPGA). Svaki programabilni element je
kontrolisan jednobitnom memorijskom ćelijom – SRAM (sl. 9.11).
Invertori su u spoju leča, koji pamti ulazni podatak D. Na gejtu
tranzistora dovodi se signal: W (engl. Write) za upis ulaznog podatka D
ili R (engl. Read) za čitanje sadržaja leča. Dok je R/W=0, tranzistor M je
isključen i stanje leča se ne mijenja. Čip se konfiguriše (programira)
primjenom željenog signala (1 ili 0) na ulaz D i signala W=1 za upis leča.
Taj signal ostaje nepromijenjen sve do nove konfiguracije.
Međutim, sadržaj se gubi isključivanjem napona napajanja. Stoga je
neophodna eksterna memorija sa stalnim sadržajem za čuvanje
konfigurisanog uzorka. Prema tome, SRAM tehnologije su sa
promjenljivim ili nepostojanim (engl. volatile) stanjem programiranog
sadržaja. Ostale PLD tehnologije (osigurači, antiosigurači, tranzistori sa
plivajućim gejtom) su postojane (engl. nonvolatile), tj. programirano
stanje prekidača ne mijenja se po isključivanju napona napajanja.
370
a) b) c)
Slika 9.12. Programabilni prekidač (a), jedan čvor (b) i
programabilne prekidačke matrice (c)
Programabilni trostatički bafer (sl. 9.13a) omogućuje se signalom Q
SRAM-a. Kada je Q 1 , TB je omogućen pa se stanje ulaznog signala X
prenosi na njegov izlaz Y, tj. Y X . Ako je Q 0 , onda je izlaz Y u
stanju visoke impedaanse, tj. Y .
Programabilni multipleksor, u opštem slučaju, sastoji se od n SRAM
ćelija i 2 n / 1 MUX-a ( n 2 na Sl. 9.13b). Sadržaj SRAM ćelije određuje
koji će ulazni podatak MUX-a da bude prisutan na izlazu. Na Sl. 9.13b
izlazi obje ćelije su Q1 Q 2 1 , pa je Z d3 .
a) b) c)
Slika 9.13. Programabilni trostatički bafer (a), multipleksor (b) i
kombinaciona mreža sa dekoderom (c)
371
Pregledna tabela (LUT) sastoji se od n / 2 n dekodera i mreže 2 n
SRAM ćelija (sl. 9.13c). Dekoder generiše svih 2 n logičkih proizvoda
funkcije sa n promjenljivih, a SRAM ćelijama programiraju se logički
proizvodi koji čine zadatu funkciju. Na sl. 9.13c je LUT funkcije 4
promjenljive i programiranom funkcijom.
Y P0 P2 P3 P7 A2 A1 A0 A2 A1 A0 A2 А1 А0 А2 А1 А0 .
U tabeli 9.3 navedene su osnovne karakteristike tehnologija
programiranja savremenih programabilnih digitalnih kola. Osnovni
nedostatak SRAM tehnologije jeste promjenljivost (gubitak) sadržaja
programiranog elementa po isključivanju napajanja. Da bi kolo povratilo
raniju funkciju, konfigurisani sadržaj mora se obnoviti neposredno nakon
svakog uključenja napajanja. SRAM ćelije FPGA, na primjer, moraju se
reprogramirati po svakom uključivanju napona napajanja.
Tabela 9.3. Uporedne karakteristike tehnologija programiranja
Tip prekidača Reprogramabilan Postojane Tehnologija
Osigurač NE DA Bipolarna
EPROM DA DA UVCMOS
E2PROM DA DA E2CMOS
FE2PROM DA DA FE2CMOS
SRAM DA NE CMOS
Antiosigurač NE DA CMOS
To se ostvaruje tako što se sadržaj svih SRAM ćelija prenese u
programibilni ROM (FE2PROM) po isključenju i vraća nazad iz PROM-a
po uključenju napajanja. Relativno velika površina SRAM ćelije (5
tranzistora u odnosu na 1 ili 2 kod tranzistora s plivajućim gejtom), drugi
je nedostatak SRAM tehnologije.
Mogućnost brzog reprogramiranja i veoma dug vijek trajanja glavne
su prednosti SRAM u odnosu na druge tehnologije programiranja.
Zahvaljujući upravo tome, SRAM tehnologija danas je osnovna
tehnologija VLSI integrisanih programabilnih digitalnih kola.
372
programabilne logičke mreže - PLA,
programabilna I (And) logika - PAL i
opšte logičke mreže - GAL.
Podjela je bazirana na programabilnosti pojedinih blokova i složenosti
strukture. Ovo će da bude razumljivo po upoznavanju opšte strukture
SPLD.
Osnovni koncept strukture SPLD zasnovan je na činjenici da se bilo
koja logička funkcija može izraziti sumom logičkih proizvoda. Stoga
glavni dio SPLD čine dvije logičke mreže:
mreže sa I kolima za formiranje logičkih proizvoda (minitermi) i
mreže sa ILI kolima, na čijim izlazima se dobijaju logičke sume.
Arhitektura SPLD može se predstaviti blokovima kao na Sl. 9.19.
Osim pomenutih I i ILI mreža, postoje i izlazna kola preko kojih se
ostvaruju:
povratne veze s izlaza na ulaz,
prilagođenje izlaza s mogućnošću izbora aktivnog nivoa (nula ili
jedan),
dvosmjernost izlaza u smislu da neki izlazni priključci mogu da
budu korišćeni bilo kao izlazni bilo kao ulazni i
memorisanje podataka i sinteza sekvencijalnih digitalnih modula.
373
9.2.1. I/ILI mreže
Veze unutar I i/ili ILI mreža su programabilne. Da bi se bolje razumio
osnovni koncept, posmatraće se jedna jednostavna SPLD s tri ulaza i dva
izlaza (sl. 9.15a.). Logička I mreža sastoji se od 6 troulaznih I logičkih
kola, na čijim se izlazima Pi dobijaju odgovarajući logički proizvodi
funkcije s tri promjenljive. U opštem slučaju broj I kola, odnosno linija
proizvoda, je:
P ≤ 2n , (9.6)
gdje je n broj ulaza. ILI mrežu čine dva 8-ulazna ILI kola. Neka su sve
veze između linija ulaznih podataka (I1,I2,I3 i njihovi komplementi) i
Slika 9.15. Jednostavna struktura PLD s tri ulaza i dva izlaza (a),
standardni simboli (b) i PLD simboli (c i d)
ulaza I kola, s jedne, te produktnih linija P0-P7 i ulaza ILI kola, s druge
strane, programabilne. Pod programabilnošću se podrazumijeva da spoj
linija na odgovarajućem ukrštanju može da postoji ili da ne postoji.
Zbog velikog broja ulaza, i radi jednostavnije i preglednije
prezentacije, uvedene su nove oznake SPLD I i ILI kola (Sl. 9.15c i d).
Broj ulaza simbolišu vertikalne linije. Znak × označava postojanje veze
na odgovarajućem ulazu I i ILI kola. Većinom je to neprogramirani spoj.
U tom slučaju, programiranjem se odvaja (prekida ili izoluje) signalna
374
linija od ulaza logičkog kola, pa odgovarajuća promjenljiva nema uticaja
na izlaznu funkciju I i ILI kola. Mreža na Sl. 9.15a omogućava sintezu
velikog broja funkcija tri promjenljive.
Primjer 9.1:
Realizovati funkcije:
F1 AB BC i F2 ( A B C )( A B ) (9.7)
PLD komponentama sa:
a) fiksnom I i programabilnom ILI mrežom (PROM) i
b) sa programabilnim I i ILI mrežama (PLA).
Uporediti rješenja po broju I kola i po broju spojnih mjesta.
375
Funkciju F2 treba prevesti u formu sume logičkih
proizvoda:
F2 AB AC AB BC
Logički proizvodi AB su zajednički za obje funkcije, pa se
koristi zajedničko I kolo.
a)
b)
Slika 9.16. PLD sinteza funkcija (9.7): sa fiksnom I i
programabilnom ILI (a) i sa programabilnim I i ILI
mrežama (b)
376
se ukupno 27 (18 u I i 9 u ILI mreži), a u PAL 16 (10 u I i 6 u
ILI mreži) spojnih mjesta.
377
Primjer 9.2:
Sintetizovati funkcije:
F1 AB AC i F2 ( A B ) ( A C ) . (9.8)
378
Slika 9.19. Primjer dvosmjernog izlaz/ulaz (O/I) priključka i linije
povratne veze
E=OE+IE.Unutrašnje omogućenje IE može da bude direktno
programabilno, kao na sl. 9.19a, ili preko neke produktne linije.
379
Slika 9.20. Registarski izlaz s multipleksorskom selekcijom izlaza i
povratne sprege
Zbog svoje višestruke funkcije, ovakve izlazne blokove često
nazivamo izlaznim logičkim makroćelijama – OLMC (Output Logic
MacroCells).
380
Slika 9.21. Struktura 2n×m PROM
je predstavljena kao memorija kapaciteta 2n riječi od m bita, gdje je m
broj izlaza.
PROM su postojane memorijske komponente (sadržaj se ne gubi
isključivanjem napajanja). U poređenju sa ostalim tipovima PLD,
PROM-ovi su izrazito spore komponente. Stoga su primjenljivi u
dijelovima digitalnog sistema gdje brzina rada sistema nije od ključne
važnosti. Najčešće se koriste za pamćenje matematičkih konstanti
mikroprocesorskih programa, jednostavnih algoritama, programa raznih
automata ili kao konvertori kodova.
PLA:Veliki broj logičkih funkcija može se realizovati kombinacionim
modulom sa mnogo manje I kola nego što ih je u dekoderu PROM-a.
Zato su, na osnovu iste logičke strukture koju imaju PROM-ovi,
razvijene programabilne logičke mreže – PLA (engl. Programmable
Logic Array) kod kojih su i I i ILI mreže programabilne. Zahvaljujući
programabilnosti, I mreža, za razliku od PROM, nije potpuna, tj. nema
sve produktne članove. Dakle, broj produktnih linija kod PLA je:
p < 2n, (9.10)
gdje je n broj ulaza. Smanjenje broja produktnih članova nadoknađuje se
njihovom programabilnošću. U tom pogledu, PLA su fleksibilnije od
PROM i imaju veću iskoristljivost unutrašnje strukture. Programabilnost
ILI polja omogućava dodjeljivanje bilo koje produktne linije bilo kom
381
Slika 9.22. PLA NILI struktura
izlazu. Veze između produktnih (I) linija i linija sume (ILI) programiraju
se nekom od tehnika označenih na sl. 9.22.
PLS (engl. Programmable Logic Sequencer) – programabilni logički
sekvenceri su PLA sa registarskim izlazima. Generalno, registarske
SPLD na svojim izlazima imaju flipflopove (sl. 9.20). Stoga su ove
komponente pogodne za projektovanje sekvencijalnih digitalnih mreža.
Izlazi, u principu, mogu da budu kombinovani: kombinacioni i
registarski, sa ili bez povratne sprege, s jednosmjernim ili s dvosmjernim
izlaznim priključcima. Osim toga, neki flipflopovi mogu da budu
skriveni unutar strukture. Preko njih se ostvaruju povratne sprege u I
mrežu.
PAL: Kod PAL-ova ILI polja su fiksna, a I programabilna. Otuda
potiče naziv PAL (engl. Programmable And Logic). U fiksnoj ILI mreži
svaka izlazna linija je trajno spojena sa specifikovanim produktnim
članom.
Kao i PLA, tako i PAL ima ograničen broj produktnih članova (p<2n),
što se nadoknađuje programabilnošću svih I polja. Ograničen broj
produktnih članova, po svakom izlazu, unosi izvjesna ograničenja
prilikom sinteze logičkih funkcija. Osim toga, jedan produktni član ne
može se dijeliti na više izlaza. Stoga funkciju treba minimizovati kako bi
imali što manji broj produktnih članova.
Standardne komponente PAL imaju, takođe, izlazna kola za izbor
opcije izlaza i kontrolu dvosmjernih priključaka. Konvencionalno
označavanje PAL ima sljedeću formu PALn×A×m, gdje su n i m, redom,
382
broj ulaza i broj izlaza, dok A označava opciju izlaza: L- aktivan nizak, H-
aktivan visok, P- programabilan polaritet i C- komplementni izlazi.
GAL: GAL (engl. General Logic Array) su PAL koncipirane opšte
logičke mreže sa izlaznim logičkim makroćelijama-OLMC. Koriste se za
projektovanje mješovitih kombinacionih i sekvencijalnih modula. Postoje
dvije familije ovih kola: prva je sa oznakom PAL, a druga sa oznakom
GAL.
Na Sl. 9.23a predstavljena je opšta logička mreža PAL 22V10 s
naprednom arhitekturom. I mreža se sastoji od 44x132 programabilna
polja. Ukupan broj linija ulaznih promjenljivih, računajući i njihove
a)
b)
Slika 9.23. Blok šema PAL22V10 s programabilnim makroćelijama
(a) i detalj produktnih članova sume i omogućenja trostatičkog
bafera koji pripadaju priključcima I/O1 i I/O (b)
383
komplemente, iznosi 2×(12 dodijeljenjih ulaza + 10I/O)=2×22=49.Na
svakom ulazu ILI kola za formiranje sume označen je odgovarajući broj
produktnih članova. Sl. 9.23b pokazuje puni detalj ulaza ILI kola koji
korespondira izlaznim makroćelijama s priključcima I/O1 i I/O8. Ukupan
broj produktnih članova suma iznosi 2×(8+10+12+14+16)=120. Direktno
upisivanje (Preset) i brisanje (Reset) su zajednički za sve flipflopove i
pobuđuju se s izlaza dva produktna člana. Omogućenje svakog od 10
trostatičkih izlaza realizuje se nezavisno iz I mreže preko produktnih
članova. Tako se dobija da je ukupni broj produktnih članova:
120+2+10=132.
Izlazna logička makroćelija (OLMC) (sl. 9.24) sastoji se od D
flipflopa s ivičnim okidanjem, dva multipleksora i trostatičkog invertora.
Takt svih flipflopova je sinhroni vanjski. Već je rečeno da se ulazi za
direktno postavljanje, SD i RD, pobuđuju iz I mreže i da su takođe
zajednički za sve flipflopove.
Programabilnost OLMC obezbjeđuju dva multipleksora. Izlazni MX0
je 4/1, dok je multipleksor povratne sprege MXF 2/1. Zajednički im je
selekcioni ulaz S1. Oba selekciona ulaza su programabilna i mogu da
budu aktivno visoki ili niski. U tabeli 9.4 date su programabilne opcije
koje zavise od selekcionih ulaza S1 i S0.
GAL familija je sa naprednijom strukturom i CMOS tehnologijom.
Tako, na primjer, GAL22V10 ima analogne karakteristike kao
PAL22V10 s dodatnim mogućnostima (povećan broj produktnih linija,
proširena programabilnost OLMC). Ovo je tipični PLD predstavnik
384
Tabela 9.4. Programabilne opcije izlazne logičke makroćelije
PAL22V10
S1 S0 Izlaz Povratna sprega
0 0 Kombinacioni (aktivan visok) I/O
0 1 Kombinacioni (aktivan nizak) I/O
1 0 Registarski (Q) Q
1 1 Registarski ( Q ) Q
385
a)
b)
Slika 9.25. Blok šema GAL16V8 (a)i njegova programabilna OLMC
(b)
386
GAL vremenski parametri
Najčešće korišćeni vremenski parametri su:
Vrijeme propagacije - tpd je potrebno vrijeme od promjene
ulaznih signala do uspostavljanja kombinacionog izlaza.
Vrijeme postavljanja - ts je vrijeme za koje ulaz flipflopa
mora da bude uspostavljen (stabilan) prije pojave aktivne ivice
njegovog takt signala.
Vrijeme držanja - th je vrijeme za koje ulazni podatak
flipflopa mora da bude stabilan po uspostavljanju aktivne ivice
takta.
Vrijeme takt-izlaz - tco je vrijeme od pojave ulaznog takta do
uspostavljanja stabilnog signala na izlaznom priključku.
Vrijeme takt-izlaz kroz logičku matricu - tco2 je vrijeme od
pojave aktivnog signala na takt priključku do uspostavljanja
stabilnog signala na izlaznom priključku koji je prošao kroz
logičku matricu.
U tabeli 9.5 dati su osnovni vremenski parametri komponente
GAL22V10. Postoje i drugi kataloški vremenski parametri kao što su:
minimalna širina takt signala, vrijeme uspostavljanja asinhronog reseta,
vrijeme sistemski takt-izlaz itd.
Tabela 9.5. Vremenski paramteri PLD 22V10
Vrijeme Oznaka Min Max
Propagacije tpd - 4 ns
Postavljanja ts 2.5 ns -
Držanja th 0
Takt-izlaz tco - 3.5 ns
Takt-izlaz
Kroz logičku tco2 7ns
Matricu
387
integrisane komponente je prikazana na sl. 9.26. Osim ulazno-izlaznih
blokova, karakterističnih za registarske SPLD, sastavni dio CPLD-a su
logički blokovi, tipa GAL, i programabilna međuspojna mreža preko koje
se međusobno povezuju ostali blokovi. Ulazni logički blok je standardna
programabilna I/ILI mreža. Svaki logički blok ima svoj ulazno-izlazni
programabilni blok. Komercijalni CPLD sadrže od nekoliko do stotinjak
logičkih blokova. Tako, na primjer, poznata familija XC9500, firme
Xilinx, vodećeg proizvođača CPLD, sadrži 18 logičkih blokova koji se
sastoje od 36 do 288 makroćelija.
Logički blokovi (LB) međusobno komuniciraju signalima usmjerenim
programabilnim međuvezama-PI (engl. Programmable Interconnection).
Osim međusobne komunikacije logičkih blokova, PI povezuje te blokove
sa ulaznim i izlaznim modulima. Programabilne međuveze-PI većine
CPLD zasnovane su na matričnoj strukturi ili na multipleksorima.
Matrična struktura prikaza je na Sl. 9.27. Ona obezbjeđuje da se bilo koji
signal u PI usmjerava do bilo kojeg logičkog bloka. Vertikalni kanali
(vodovi) preko osjetljivih pojačavača primijenjeni su na ulaze logičkih
blokova. Za svaki ulaz LB-ka postoji jedan PI kanal. Ulazni priključci
mogu se, takođe, povezati sa PI kanalima. Izlaz LB je standardno
makroćelija-MC i može da ima vezu sa PI kanalom preko
programabilnog elementa, kao što je FE2PROM ćelija, na primjer (sl.
9.27).
388
Slika 9.27. Matrične programabilne međuveze
U multipleksorskoj strukturi PI primjenjuje se jedan multipleksor po
svakom ulazu logičkog bloka (Sl. 9.28). Usmjerljivost se povećava
primjenom većih (širih) multipleksora. To omogućuje primjenu svakog
signala iz PI na ulaz nekoliko MUX za svaki LB. Selekcioni ulazi
multipleksora su programabilni.
Logički blok je poput GAL. Posjeduje matricu logičkih proizvoda (I
mreža), kola raspodjele logičkih proizvoda (ILI mreža) i izlazne
389
Slika 9.28. Multipleksorska struktura međuveza
makroćelije (sl. 9.29). Složenost (veličina) logičkog bloka je mjera
njegovog kapaciteta koji se tipično izražava brojem makroćelija.
Kapacitet se, takođe, mjeri brojem ulaza logičkog bloka, brojem logičkih
proizvoda i šemama njihove raspodjele. Kapacitet logičkih blokova
tipično je 4 do 20 makroćelija.
390
Slika 9.30. U/I i skrivene makroćelije FLASH370
Broj dodijeljenih proizvoda može da bude fiksan ili promjenljiv ali u
koracima od 4, 8, 10, 12 ili 16 po makroćeliji.
Makroćelije su slične kao kod SPLD s tim što CPLD makroćelije
nude veću konfigurabilnost. CPLD posjeduju tri tipa makroćelija: ulazne,
izlazne i skrivene (sl. 9.30), dok kod SPLD postoje samo izlazne. Ulaznoj
makroćeliji pridružen je ulazni priključak. Izlaz skrivne makroćelije je
povratna sprega za programabilnu međuvezu. Flipflopovi se mogu
programirati tako da budu D ili T tipa. Ulazna i skrivena MC posjeduju
ulaze za asinhrono postavljanje flipflopova. Svakom bloku su dostupna
četiri sistemska takta.
Vremenske karakteristike CPLD prikazane su na Sl. 9.31. Značenje
pojedinih vremenskih intervala ista su kao za GAL. Njihovi iznosi za
MAX340 približno su: tpd=8.5 ns, ts=5 ns, tco=6 ns. Treba istaći da
391
Slika 9.31. Vremenski parametri
performanse CPLD zavise od korišćenja resursa i da ih je većinom teško
odrediti prije realizacije projekta.
392
Kao što je već naglašeno struktura FPGA je slična strukturi GA.
Naime, GA se sastoje od matrice gejtova (tranzistora), a FPGA se sastoje
od matrice programabilnih logičkih blokova. Po pravilu, ovi logički
blokovi su jednostavniji od onih u CPLD i realizuju jednostavnije
funkcije nego kombinacione mreže i makroćelije CPLD, pa se često
koristi termin logičke ćelije. Struktura logičkih ćelija se razlikuje od
proizvođača do proizvođača, o čemu će biti više riječi u narednim
poglavljima. Generalno, sastoje se od memorijskog kola (najčešće D
flipflop), nekoliko multipleksora i određen broj I i ILI kola za definisanje
uslovnih i selekcionih signala. Logika je bazirana na multipleksorima.
Naime, multipleksori su univerzalni logički moduli. Tako, na primjer, sa
MUX 2n/1 možemo generisati bilo koju logičku funkciju sa m n 1
promjenljivih. Treba istaći da pojedini proizvođači (Xilinx) koriste
složenije logičke blokove i nazivaju ih konfigurišući logički blokovi -
CLB. Po pravilu, konfigurisanje (programiranje) ovih blokova je SRAM
ćelijama. Generalno, FPGA sa manje vodova i programabilnih međuveza
koriste složenije logičke blokove. Što su logički blokovi složeniji manji
je procenat iskoristljivosti resursa FPGA. Arhitekture sa malim logičkim
ćelijama omogućuju skoro potpuno iskorištenje kapaciteta integrisane
komponente.
Između logičkih ćelija (blokova) postavljaju se horizontalni i
vertikalni kanali (vodovi) sa programabilnim međuvezama. Uobičajeni
nazivi za ove vodove su kanali za usmjeravanje. Oni se, takođe, razlikuju
od proizvođača do proizvođača. Kao što je već rečeno, resursi
usmjeravanja utiču i na veličinu logičkih blokova (ćelija).
U FPGA modulima koriste se tri tehnologije (tehnike) programiranja:
SRAM,
antiosigurači (antifuses) i
nMOS tranzistor sa izolovanim gejtom.
Danas se najviše koriste SRAM programabilne ćelije koje se mogu više
puta programirati (konfigurisati). Kao što smo već istakli, glavni problem
SRAM tehnologije je nepostojanost sadržaja. Naime, SRAM ćelija gubi
sadržaj kada nije pod napajanjem. Zato se moraju koristiti permanentne
eksterne memorije za čuvanje tog sadržaja. Po svakom uključenju
napajanja, FPGA modul se prvo mora inicijalizovati (uspostaviti
prethodni sadržaj). Glavna prednost ove tehnike je u reprogramabilnosti
koja omogućuje relativno lako uvođenje novih standarda i protokola,
393
brzu realizaciju i testiranje novih ideja. Dakle, FPGA sa SRAM ćelijama
su reprogramabilni i nepostojani moduli.
PGA sa antiosiguračima nisu reprogramabilne. Jednom programirani
sadržaj ostaje trajno zapisan, tj. ne može se više mijenjati. Ovo su, dakle,
postojani moduli kod kojih programirani sadržaj ostaje u kolu i kada nije
pod napajanjem. Glavni nedostatak je nereprogramabilnost. Tehnika
usmjeravanja antiosiguračkih FPGA je veoma jednostavna.
Antiosiguračka tehnika programiranja omogućuje povezivanje svih
vodova. Jednostavnost programabilnog prekidača, velika gustina
pakovanja, potpuna usmjerljivost međuveza i postojanost sadržaja su
prednosti koje antiosiguračke FPGA čine aktuelnim. Ovom treba dodati
da je antiosigurač imun na radijacione efekte, što ovu tehnologiju čini
jako pogodnom za vojne primjene i u svemirskim istraživanjima.
Tehnologije programiranja bazirane na nMOS tranzisotru sa
izolovanim (plivajućim) gejtom koriste E2CMOS/Flash ćelije ili hibridne
Flash – SRAM ćelije. Moderne FPGA najviše koriste hibridnu
kombinaciju Flash – SRAM konfiguracionih elemenata. Pošto su Flash
ćelije reprogramabilne i postojane, po uključenju sistema na napajanje,
sadržaji Flash ćelija automatski se kopiraju u odgovarajuće SRAM ćelije.
Zahvaljujući ovome, nisu potrebne spoljne memorije za čuvanje SRAM
sadržaja, niti je potrebna inicijalizacija nakon uključenja napajanja.
Dakle, FPGA sa hibridnim Flash – SRAM ćelijama su reprogramabilni i
postojani moduli.
U tabeli 9.6 date su uporedne karakteristike programabilnih ćelija za
Tabela 9.6. Uporedne karakteristike FPGA programabilnih ćelija
Osobina SRAM Antiosigurač E2CMOS/Flash
U primjeni više U primjeni više
Tehnologija Savremena
generacija generacija
Reprogramabilnost DA (u sistemu) NE DA
Postojanost NE DA DA
Potrebna spoljna
DA NE NE
memorija
Dobra za prototipove DA NE DA (prihvatljiva)
Trenutno radi po
NE DA DA
uključenju napajanja
Veličina (površina) Velika (6 MOS Srednja/mala (2/1
Veoma mala
programabilne ćelije tranzistora) tranzistor)
Potrošnja energije Srednja Niska Srednja
394
tri tehnologije programiranja FPGA.
Kao što je već istaknuto, struktura i osnovne karakteristike PGA
razlikuju se od proizvođača do proizvođača. Stoga će, u nastavku,
detaljnije biti razmotreni na primjeru tri familije ovih kola od različitih
proizvođača. To su: mreže logičkih ćelija (LCA), CMOS makro mreže
(MACH) i ACT FPGA.
395
Slika 9.33. Struktura ulazno-izlaznog bloka LCA
programabilan napon praga, tako da su TTL (VT =1.4 V) ili CMOS (VT
≈2.2 V) kompatibilni. Izlazni baferi obezbjeđuju struju oko 4 mA.
Flipflopovi IOB imaju zajednički takt.
Centralni dio LCA čini matrica programabilnih (konfigurišućih)
logičkih blokova (CLB). Svaki ovaj blok (Sl. 9.34) sastoji se od SRAM
konverzione tabele (LUT), flipflopa i nekoliko multipleksora za izbor
opcije izlaza, unutrašnje povratne sprege i upravljanje memorijskim
elementom. Sekcija SRAM LUT ima četiri ulaza i dva izlaza (F i G). Za
sintezu logičkih funkcija koriste se konverzione tabele smještene u
unutrašnjoj brzoj CMOS statičkoj 16-bitnoj RAM. Moguća je
implementacija bilo koje Bulove funkcije s četiri promjenljive (Sl. 9.35a)
ili dvije funkcije (F i G) s tri promjenljive (Sl. 9.35b).
396
Tri promjenljive (A, B i C) su ulazne u CLB, a četvrta može da bude bilo
ulaz D bilo izlaz Q flipflopa, što se ostvaruje preko programabilnog
multipleksora MX1. Sa dodatkom multipleksora 2/1 mogu se selektovati
dvije funkcije sa tri promjenljive.
a) b) c)
Slika 9.35. LUT opcije za generisanje funkcije: jedna funkcija sa 4
promjenljive (a), dvije funkcije sa po 3 promjenljive (b)
i selekcija između 2 funkcije sa 3 promjenljive (c)
Radi boljeg razumijevanja, na sl. 9.36 prikazana je konverziona tabela
(LUT) funkcije sa dvije promjenljive. Logička funkcija programira se
tako što se odgovarajuće vrijednosti funkcije upišu u 4-bitni SRAM.
Promjenljive X1 i X 0 upravljaju multipleksorima 2/1. Izlazna funkcija je
određena sa f X1 ( X 0Q0 X 0Q1 ) X 1 ( X 0Q2 X 0Q3 ) ,
a nakon sređivanja:
f X1 X 0Q0 X 1 X 0Q1 X 1 X 0Q2 X1 X 0Q3 . (9.11)
397
X1 X0 f
0 0 Q1
0 1 Q2
1 0 Q3
1 1 Q4
a) b)
Slika 9.36. Konverziona tabela funkcije sa dvije promjenljive:
blok šema (a) i kombinaciona tabela (b)
Primjer 9.3:
Programirati LUT (sl. 9.36) tako da na izlazu generiše
funkciju f X1 X1 X 0 .
398
Generalno, logički moduli u FPGA su realizovani bilo kao
konverzione tabele, bilo kao multipleksori. LUT sa n ulaza može se
programirati kao kombinaciona tabela prekidačke funkcije do n
promjenljivih. S druge strane, 2 n -ulazni multipleksor može se koristiti za
generisanje bilo koje funkcije od n promjenljivih.
399
blok može konfigurisati na više načina, čime se može
generisati veliki broj različitih funkcija.
b) Kao što je prikazano u primjeru 9.3, vrijednosti
funkcije iz kombinacione tabele (Sl. 9.42b) unose se u
SRAM ćelije. Na sl. 9.39 prikazane su realizacije sa MUX
2/1 i kombinovana MUX 4/1 sa MUX 2/1. U prvom slučaju
bit najmanje težine iz konverzione tabele primjenjuje se na
multipleksore (I nivo) čiji su ulazi primijenjeni na izlaze
SRAM ćelija. Bit najveće težine primjenjuje se na III nivo
MUX-a. Broj nivoa je određen brojem promjenljivih.
Ako logički blok raspolaže sa MUX 4/1 i 2/1, onda je
realizacija zadate funkcije kao na Sl. 9.43b. Dva MUX 4/1, u
prvom nivou, su sa zajedničkim selekcionim ulazima B i A.
400
C ili izlaz G kombinacione sekcije. Svaki CLB ima dva izlaza X i Y.
Multipleksorima MX5 i MX6 biraju se opcije ovih izlaza: kombinovani,
kombinacioni i registarski, ili oba istog tipa.
Programabilne međuveze omogućavaju nezavisno povezivanje svih
blokova (IOB i CLB). Sastoje se od metalnih linija (segmenata) i
programabilnih prekidačkih matrica (sl. 9.40). Postoje tri vrste
međuveza:
opšte namjene,
duge linije i
direktni spojevi.
Međuveze opšte namjene sastoje se od četiri horizontalna i pet
vertikalnih metalnih segmenata koji se presijecaju preko prekidačke
matrice. Ova matrica je programabilna i omogućava povezivanje
različitih metalnih segmenata. Pored svake kolone međuveza opšte
namjene postoje dvije vertikalne, a pored svakog niza jedna horizontalna
duga linija (sl. 9.40). Duge linije premoštavaju prekidačke matrice.
Koriste se za zajedničke signale, za signale čije veze moraju da budu
niskoomske i sl. Direktni spojevi koriste se za povezivanje susjednih
blokova. Ovo su najkraće veze i treba ih koristiti gdje god je to moguće.
401
Tako, na primjer, X izlaz svakog CLB može da bude spojen sa A ili B
ulazima CLB koji se nalazi ispod, ili sa C ili D ulazima onog CLB koji je
iznad posmatranog. Izlaz Y može se direktno spojiti sa B ulazom desnog
susjednog bloka. Takođe su moguće direktne veze CLB i ulazno-izlaznih
blokova (IOB).
Izvorni proizvođač LCA je firma Xilinx. Postoji nekoliko familija ovih
kola. Opšte karakteristike nekih kola iz tih familija su predstavljene u
tabeli 9.7. Familije XC3000 i XC4000 imaju dodatne funkcionalne
mogućnosti IOB i CLB u odnosu na izvornu familiju XC2000. One se
razlikuju i po logičkom kapacitetu izraženom u broju ekvivalentnih
gejtova. Kapacitet familije XC3000 je u opsegu 2000 do 9000, dok
logički kapacitet familije XC4000 dostiže do nekoliko stotina hiljada
gejtova.
402
Slika 9.41. Blok struktura MACH FPGA: OLMC–izlazne logičke
makroćelije, BLMC–skrivene (Buried) LMC i IOC–ulazno/izlazne
ćelije
Logički alokator (Sl. 9.42) je blok za alokaciju (dodjeljivanje)
produktnih članova odgovarajućim makroćelijama. Stoga je broj
produktnih članova logičkih suma promjenljiv, što znatno povećava
stepen programabilnosti svakog PAL bloka.
403
Slika 9.43. Ulazno/izlazna (a) i skrivena makroćelija (b)
Linijama povratne sprege, izlazi makroćelija povezani su s
prekidačkom matricom. Izlazna makroćelija je povezana I/O blokovima,
dok skrivena ima samo unutrašnju spregu preko prekidačke matrice.
Ulazno/izlazne (I/O) ćelije sastoje se od programabilnog
multipleksora 4/1 i trostatičkog bafera (Sl. 9.44). Programiranjem
selekcionih ulaza multipleksora definiše se opcija priključka: stalni ulaz,
stalni izlaz ili dvosmjerni rad kao, na primjer, u sistemima sa sabirnicama
ili dvosmjernim portovima. Sve veze između PAL blokova s ulazno-
404
izlaznim ćelijama i povratne sprege s izlaza makroćelije idu preko
prekidačke matrice. Većina I/O ćelija generiše izlazne signale. I/O ćelije
MACH3 sadrže prekidačke matrice ili kanale usmjeravanja izraza u
kojima se formira jedan na jedan veza između izlaza I/O makroćelije i
odgovarajuće I/O ćelije. Ta veza može da bude ostvarena preko
demultipleksora DMUX 1/2n ili multipleksora 2n/1 . U prvom slučaju
izlazni signal jedne makroćelije proslijeđuje se na ulaz jedne od 2n I/O
ćelija, a drugom izlaz jedne od 2n makroćelije primjenjuje se na ulaz
jedne I/O ćelije.
Treba istaći da se za projektovanje pomoću MACH kola mogu
koristiti standardni softverski alati, a za programiranje standardni
programatori korišćeni za starije verzije PLD.
405
Slika 9.46. Struktura međuveza familje ACT FPGA
Struktura međuveza je ilustrovana na Sl. 9.46, gdje je, radi
jednostavnosti, prikazano samo nekoliko spojnih linija. Vertikalne veze
prolaze kroz logičke blokove, dok su horizontalne postavljene između
LB. Svaki ulaz i izlaz LB je spojen na dodijeljenu mu vertikalnu liniju.
Na presjecima vertikalnih i horizontalnih linija su programabilne veze
preko kojih se programiraju željeni kontakati. Programabilne veze čine
horizontalni i vertikalni antiosigurači i prenosni MOS tranzistori.
406
Slika 9.47. Struktura FPGA Spartan ZE
napajanja je 2.5 V do 3.3 V pri radnim frekvencijama 100 MHz. Danas
su komercijalno raspoložive FPGA u 16 nm CMOS tehnologiji,
kapaciteta, preko 1 700 000 ekvivalentnih gejtova i preko 230 Mb
ugrađene memorije.
Osim poboljšanih tehnologija i povećanja kapaciteta pojedinih
blokova, nove generacije FPGA su sa novim arhitekturama. Tako, na
primjer, FPGA Spartan ZE, proizvođača Xilinx, imaju strukturu sa pet
programabilnih blokova (Sl. 9.47). Osim osnovnih:
ulazno – izlazni blokovi (IOB),
konfigurišući logički blokovi (CLB) i
međuveze i rutiranje,
tu su još:
RAM blokovi i
kola za podešavanje kašnjenja takt signala DLL (engl. Delay
Locked Loop).
CLB sadrže (Sl. 9.48):
LUT 4 – ulazne generatore logičkih funkcija,
aritmetičku i kontrolnu logiku CCL (engl. Carry and Control
Logic) i
memorijske elemente.
Osim generisanja funkcija, LUT se može iskoristiti i kao 16x1 bitna
sinhrona RAM. Takođe, mogu se kombinovati dvije LUT iz susjednih
407
Slika 9.48. Struktura CLB
CLB da se formiraju 16x2 ili 32x1 bitna RAM. Osim toga, LUT se može
koristiti i kao 16 bitni pomjerački registar.
Kod kasnijih arhitektura, LUT je projektovana tako da se kod CLB-
ova sa četiri mala bloka po konfiguraciji mogu realizovati sljedeći RAM-
ovi sa jednim portom: 16x8 RAM, 32x4 RAM, 64x2 RAM i 128x1 RAM
i sadva porta: 16x4 RAM, 32x2 RAM i 64x1 RAM. Grupisanjem LUT-
ova u okviru jedinstvenog CLB moguće je realizovati 128-bitne
pomjeračke registre.
DLL – kola za podešavanje kašnjenja takt signala povezana su sa
svim ulazima za takt signal. Osnovna im je namjena da eliminišu
kašnjenje takt signala između ulaznih priključaka na kućištu i priključaka
unutar FPGA modula. DLL prati takt signal na ulazu modula i
automatski podešava kašnjenje, tako da aktivna ivica takt signala stiže
istovremeno u sve dijelove FPGA. CCL obezbjeđuje izvođenje
408
obezbjeđuju najveću brzinu,
ulazno-izlaznim rutiranjem se povezuju CLB i IOB,
specijalno rutiranje koristi se za specijalne signale koji su kritični
zbog vremena kašnjenja. Ostvaruje se sa dvije vrste elemenata:
mreže linija za signale između susjednih logičkih blokova i četiri
magistrale koje se prostiru duž svake kolone sa CLB,
rutiranjem opšte namjene rutira se većina signala. Elementi za
rutiranje su postavljeni vertikalno i horizontalno duž CLB. Sastoje
se od matrice prekidača kojima se odgovarajući dijelovi spajaju na
linije i tri vrste linija za spajanje logičkih blokova. Kratke linije
povezuju susjedne blokove, srednje obuhvataju nekoliko blokova, a
duge linije prostiru se duž cijelog čipa i
globalnim rutiranjem rutiraju se takt i ostali signali koji se prostiru
duž cijelog čipa.
Konfiguracija CLB-ova stalno se proširuje. Krupniji korak u
hardverskoj strukturi su CLB sa malim blokovima (engl. slice) (Sl. 9.53).
Mali blok čine najmanje dvije logičke ćelije od kojih se svaka sastoji od
4-ulaznog LUT-a i registra. Jedan CLB sadrži četiri mala bloka, četiri
CLB i ima kapacitet 4096 bita. Ukupan broj ćelija zavisi od broja CLB.
Ćelije RAM blokova su sinhrone i sadrže dva porta sa nezavisnim
pristupom. Broj bita podataka na portovima određuje se programski.
Blok RAM se često naziva e-RAM (engl. embeded RAM) – ugrađeni
RAM.
Danas su raspoložive FPGA sa ugrađenim statičkim RAM i
mikroprocesorskim jezgrima (engl. microprocessor core). Prve
komercijalne integrisane komponente ove vrste su familija APEX-20KE
(Altera). U jednu komponentu integrisano je 32–bitno RISC procesorsko
jezgro ARM922T na 200MHz. Ovaj procesor koristi pet nivoa
protočnosti u jednom taktnom intervalu: pripremu podataka,
dekodovanje, izvršavanje, memorisanje i ispisivanje. Osim procesorskog
jezgra, u PGA je ugrađena statička RAM kapaciteta od 32 do 256KB, što
zavisi od tipa komponente. Broj ekvivalentnih gejtova je preko 1000000,
a ulazno/izlaznih priključaka preko 700. U jednoj ovakvoj FPGA moguće
je konfigurisati kompletan, ili skoro kompletan, digitalni sistem.
409
Slika 9.49. Mali blok sa dvije LC
Familija FPGA Virtex (proizvođača Xilinx) ima, takođe, ugrađeno
procesorsko jezgro i SRAM. Jezgro je unutar FPGA logike, kao jedno
ostrvo (Sl. 9.54) sa ugrađenim interfejsom sa SRAM. Veze procesorskog
jezgra sa logičkim blokovima konfigurabilne su tako da je korisnik u
mogućnosti da praktično sam programira arhitekturu komponente u
svakoj konkretnoj primjeni.
U posljednje vrijeme izdvojila su se dva proizvođača FPGA: Altera i
Xilinx. Proizvodni programi su im različiti, ali po funkcionalnim
mogućnostima prate jedni druge. To pokazuje i Sl. 9.51 na kojoj je
pokazan broj ekvivalentnih 4-ulaznih LUT familija Stratix II (Altera) i
Virtex IV (Xilinx).
Alterina Stratix IV familija sadrži i do 850000 logičkih elemenata po
komponenti, do 34 Mb memorije, brze konfigurabilne blokove digitalnih
signal procesora (DSP) sa množačima 9×9 bita, 12×12 bita, 18×18 bita i
36×36 bita, maksimalne frekvencije 600 MHz, do 1120 ulazno/izlaznih
priljučaka, brze magistrale podataka, programabilnu tehnologiju
napajanja, unutrašnje takt generatore i sl. Može se reći da je u jednoj
komponenti integrisan sistem prilagodljiv (konfigurabilan) da obavlja
funkcije veoma različitih digitalnih sistema.
410
Slika 9.50. Arhitektura FPGA familije Virtex sa ugrađenim
procesorom
Trend povećanja gustine i performansi, uz primjenu novih tehnologija,
se nastavlja. Sve to je popraćeno i novim arhitekturama FPGA i SoC.
Altera je najavila Intelov 14 nm tri-gejt (FinFET) tehnološki proces za
proizvodnju sljedeće generacije Intel Stratix 10 FPGA i SoC. Umjesto
2D planarnih koriste se 3D FinFET tranzistori. Koriste se nove
hiperfleksibilne arhitekture. U odnosu na prethodne generacije, Stratix V
FPGA imaju dva puta bolje performanse procesorskog jezgra pet puta
veću gustinu i 70% manju potrošnju električne energije. Unutrašnja
411
Slika 9.51. Uporedne karakteristike familija Stratix II i Virtex IV
memorija, logički i DSP blokovi rade na frekvencijama do 16 GHz. Nove
arhitekture podržavaju izvorni softver za projektovanje.
412
tabele stanja (kombinacione tabele) i
dijagrama stanja.
Tako opisan projekat, PLD jezičkim prevodiocem se prevodi/kompajlira
u osnovne logičke module kao što su: multipleksori, sabirači, registri i sl.
Nakon toga, logički moduli sa višeg nivoa razlažu se u osnovne logičke
ćelije iz biblioteke ćelija. Logičkom simulacijom provjerava se opis
projekta u domenu ponašanja (funkcionalnost, kašnjenja signala i sl.) i da
li su ispunjeni svi projektni zahtjevi.
Faza fizičkog projektovanja počinje izborom optimalne komponente
iz raspoložive biblioteke komponenata. Taj izbor zavisi od broja ulaza i
izlaza digitalnog sistema (projekta), od brzine rada, dozvoljene potrošnje
413
električne energije, opcije izlaza, složenosti projekta i sl. Logičke ćelije
treba da budu razmještene tako da se ne prekorači zadato logičko
kašnjenje. Precizne informacije o kašnjenju dobijaju se nakon
povezivanja logičkih ćelija. Fizičkom simulacijom provjerava se
ispravnost cjelokupnog projekta. Ako rezultati ove simulacije potvrđuju
specifikacije projekta, komponenta je spremna za fizičko programiranje
(programatorom), a onda za testiranje. Po testiranju može se postaviti bit
zaštite za sprečavanje kopiranja projekta.
Jedan od ključnih zadataka projektanta digitalnog modula ili sistema
u PGA jeste minimizacija potrošnje pri zadatoj brzini obrade podataka.
Na žalost veoma je teško predvidjeti vremenske parametre izuzev za
najjednostavnije PGA. Logičko kašnjenje usljed propagacije sistema je
funkcija: tehnike programiranja, broja kaskadnih logičkih ćelija, broja
programabilnih međuveza, opteretnog faktora i logičkog kašnjenja U/I
ćelija, arhitekture projekta i sl. Ukratko, bez poznavanja kako će projekat
biti raspoređen i usmjeren praktično je nemoguće sračunati propagaciono
kašnjenje i performanse sistema. Do duše, programski alati za
raspoređivanje i usmjeravanje obično uključuju analizu vremenskih
dijagrama. Ovi analizatori omogućuju samo grubu procjenu nekih
vremenskih parametara.
Slično je i sa potrošnjom električne energije. Postoji nekoliko alata za
procjenu potrošnje komercijalnih PGA komponenata na niskom nivou.
Bazirani su na simulacijama projekta čija se potrošnja procjenjuje.
Greške između procijenjene i izmjerene potrošnje povećavaju se sa
povećanjem složenosti projekta zbog povećanja broja signala koje je
neophodno modelovati.
Sa stanovišta i brzine i potrošnje veoma važan je izbor PGA za
određeni projekat. Jedan od ciljeva projektanta mora da bude što veće
iskorištenje kapaciteta (resursa) PGA komponente. Nekorišćeni resursi
posjeduju statičku potrošnju koja se, kod nanometarskih tehnologija, ne
može zanemariti. Programski jezici za opis fizičke arhitekture, kao što su
VHDL i Verilog, omogućuju projektantu da uporede performanse
projekta sa različitim arhitekturama bez ponovnog formiranja projekta.
Na kraju treba dodati da je pažnja projektanta uglavnom
skoncentrisana na fazu logičkog projektovanja. Naime, faza fizičkog
projektovanja je skoro potpuno automatizovana, a biblioteke
SPLD/CPLD/FPGA su raznovrsne i po kapacitetu i po brzini sa malim
414
razlikama u cijeni. Stoga, projektanti obraćaju malu pažnju na ovu fazu
projektovanja.
415
broj elektronskih kola koja se danas koriste projektovana su primjenom
jednog od ova dva jezika. Dobar pregled HDL i HLS alata dat je u
[Tay16b]. U primjeru koji slijedi mi ćemo se držati VHDL jezika (vidjeti
poglavlje 3).
Softverski alati za sintezu najčešće podržavaju više tehnika
projektovanja i više načina za opis projekta, a od projektanta se očekuje
da izabere neku od ponuđenih opcija. Nezavisno od izabrane opcije,
rezultat sinteze je logička šema razložena na blokove (logičke ćelije: NI,
NILI, flip-flop,...) prepoznatljive za PLD koji se programira. Važno je
istaći da su na ovom nivou razvoja projekta svi blokovi definisani svojom
logičkom funkcijom i internim dinamičkim parametrima (vremena
uspostavljanja i kašnjenja signala), a njihove fizičke dimenzije nisu uzete
u obzir. Istovremeno, tačna dužina veza nije poznata, tako da se ne zna
koliko je kašnjenje na vezama. Svi ovi podaci sadržani su, najčešće, u
Verilog formatu. Napominjemo da se ova datoteka automatski generiše
nezavisno od toga da li je projekat opisan u VHDL, Verilog ili nekom od
HSL jezika. Zato nije neophodno (ali je korisno) da projektant zna
sintaksu Verilog jezika.
Na osnovu fajla koji generiše alat za sintezu, odnosno poznate
logičke šeme u Verilog formatu, alat za fizičko projektovanje obavlja
sljedeće zadatke:
prevodi logičku šemu u strukturu ćelija (blokova) koje fizički
postoje na PLD,
određuje optimalni razmještaj blokova sa stanovišta dužine
veza i/ili površine (broj zauzetih blokova),
trasira potrebne veze između blokova i
prosljeđuje programatoru informaciju o tome koje prekidače
unurat PLD treba aktivirati.
Proizvođači PLD nude odgovarajuće alate za projektovanje.
Dominantan uticaj na tržištu FPGA imaju Xilinx www.xilinx.com, Intel
Corporation http://www.intel.com koja je kupila kompaniju Altera
www.altera.com, Achronix Semiconductor www.achronix.com, Atmel
www.atmel.com, and Cypress Semiconductor www.cypress.com. Da bi
se stekla slika o stanju na tržištu softvera za programiranje PLD,
pomenućemo samo neke od alata koje distribuiraju dva najveća
proizvođača FPGA:
Xilinx: ISE Design Suite, Vivldo Design Suite
416
Intel (Altera): Quartus® Prime design software i ModelSim-Altera
Software, verzija ModelSim® za Altera PLD.
Achronix Semiconductor: ACE Design Tool.
Atmel: Atmel Studio IDE.
417
LITERATURA
[Jha09] Jhaveri T., Stobert I., Liebmann L., Karakatsanis P., Rovner V., Strojwas A., Pileggi L.,
"OPC simplification and mask cost reduction using regular design fabrics", Proceedings of SPIE
(2009), Volume: 7274, pp. 727417-727417-8, DOI: 10.1117/12.814406, Available from link.aip.org
[Mal10] Malventano A., „An Inside Look at Intel and Micron 25nm Flash Memory Production”,
February 1, 2010, http://www.pcper.com/reviews/Storage/Inside-Look-Intel-and-Micron-25nm-Flash-
Memory-Production/Inside-Fab (Jun 2012)
[Nit11] Nita S., “TSMC Plans to Move to 450mm Wafers with the 20nm Fabrication Node”, April
8th, 2011, http://news.softpedia.com/news/TSMC-Plans-to-Move-to-450mm-Wafers-with-the-20nm-
Fabrication-Node-193921.shtml (Jun 2012).
[Pol12] Pollice M.,“Earnings Call Analysis: Intel all but Confirms Foundry Plans”, April 23rd, 2012,
http://www.brightsideofnews.com/news/2012/4/23/earnings-call-analysis-intel-all-but-confirms-
foundry-plans.aspx (Jun 2012)
[INT07] Intel Corporation, “The evolution of a revolution”, 2007,
http://download.intel.com/pressroom/kits/IntelProcessorHistory.pdf
[INT12a] Intel Corporation, “Intel Chips Timeline”, 2012,
http://www.intel.com/content/www/us/en/history/history-intel-chips-timeline-poster.html
[INT12b] Intel Corporation, “Fun Facts exactly how small is 22 nanometers”, 2012,
http://www.intel.com/content/www/us/en/history/history-moores-law-fun-facts-
factsheet.html?wapkw=moore’s+law+factsheet.
[INT12c] Intel Corporation, “A History of Innovation“,
http://www.intel.com/content/www/us/en/history/historic-timeline.html?wapkw=history
[INT12d] Intel Corporation, “”, 13. 07. 2012,
http://www.intel.com/content/dam/www/public/us/en/documents/corporate-information/history-intel-
chips-timeline-poster.pdf.
[INT] Intel Corporation, “Microprocessor Quick Reference Guide”,
http://www.intel.com/pressroom/kits/quickreffam.htm#i486
[Mer13] Merritt Rick, “Moore's Law Dead by 2022, Expert Says”, EETimes,
http://www.eetimes.com/document.asp?doc_id=1319330, 8/27/2013 04:50 PM EDT.[Col13] Colwell,
R., „The Chip Design Game at the End of Moore’s Law”, keynote at HotChips, August 2013.,
http://www.hotchips.org/archives/2010s/hc25/; http://www.hotchips.org/wp-
content/uploads/hc_archives/hc25/HC25.15-keynote1-Chipdesign-epub/HC25.26.190-Keynote1-
ChipDesignGame-Colwell-DARPA.pdf.
[Kak12] Kaku, M., „Tweaking Moore's Law: Computers of the Post-Silicon Era”, BigThink, March 7,
2012, http://bigthink.com/dr-kakus-universe/tweaking-moores-law-computers-of-the-post-silicon-era.
[Koo09] Koomey J. G., Berard S., Sanches M., Wong H., „ASSESSING TRENDS IN THE
ELECTRICAL EFFICIENCY OF COMPUTATION OVER TIME“, Final report to Microsoft
Corporation and Intel Corporation, Submitted to IEEE Annals of the History of Computing, August 5,
2009, Released on the web August 17 , 2009:
http://download.intel.com/pressroom/pdf/computertrendsrelease.pdf, accessed december 2014.
[Koo10] Koomey J. G., „Outperforming Moore's Law“, IEEE Spectrum, posted on 26 Feb 2010,
http://spectrum.ieee.org/computing/hardware/outperforming-moores-law, accessed in December
2014.
[Wes10] Weste N.H.E., Harris D.M., „CMOS VLSI Design, A Circuits and Systems Perspective“,
Fourth Edition, Addison-Wesley, 2010, ISBN 10: 0-321-54774-8
418
[Alt11] Altera Corp. MAX V Device Handbook, 2011 Altera Corporation,
http://www.altera.com/literature/hb/max-v/max5_handbook.pdf, accessed December 2014.
[Alt08] Altera Corp. HardCopy II Device Handbook, Volume 1, 2008 Altera Corporation,
http://www.altera.com/literature/hb/hardcopy-ii/hcii_handbook.pdf, accessed December 2014.
[Xil00] Xilix, Spartan-II FPGA Family Architecture, 2000, Xilinx,
http://www.datasheetarchive.com/files/xilinx/docs/rp00001/rp001e4.htm, accessed December 2014.
[Nat14] National Instruments, FPGA Fundamentals,
http://sine.ni.com/np/app/main/p/ap/imc/lang/en/pg/1/sn/n17:imc,n19:FPGA_target/fmid/2170/,
[Xil14] Xilinx, All Programmable Low-End Portfolio Product Selection Guide, Xilinx, 2014,
http://www.xilinx.com/publications/prod_mktg/low-end-portfolio-product-selection-guide.pdf,
[DOK 12] Branko L. Dokić: "CMOS and BiCMOS Regenerative Logic Circuits",
International Book Series: Cutting Edge Research in New Technologies, Chapter 2, pp 29-58,
published by InTech 2012
[DOK 96] Branko L. Dokić: "CMOS NAND and NOR Schmitt Circuits", Microelectronics
Journal vol.27, No.8 November 1996, pp 757-766
[DOK 88] Branko L. Dokić etal: "CMOS gates with regenerative action at one of inputs",
Microelectronics Journal, vol.19, No.3, 1988, pp 17-20
[DOK 12] B.L. Dokić: Digitalna elektronika, Akademska misao Beograd i ETF Banjaluka,
2012.
[Tay16a] A. Taylor (2016, July 14), ˮ10 FPGA Design Techniques You Should Knowˮ
EETimes, [One-line] Vol(issue), pp. Nn-mm., Available:
http://www.eetimes.com/document.asp?doc_id=1330128[2016, July 20]
[Tay16b] A. Taylor (2016, June 10), ˮ10 Way To Program Your FPGAˮ, EETimes, [One-
line]. Vol (issue), pp. Nn-mm., Available:
http://www.eetimes.com/document.asp?doc_id=1329857 [2016, July 15]
419
DODATAK
DODATAK
LTspice program za analizu elektronskih kola
Uvod
Cilj ovog poglavlja jeste da ukaže na namenu, mesto i ulogu alata za analizu ponašanja
elektronskih kola. Naime, savremena elektronska kola postaju sve složenija tako da
proizvodnja prototipa zahteva sve više znanja, spretnosti, novca i vremena. (Drugim rečima
zahteva sve više novca, novca, novca i novca.) Da bi se uštedelo naročito u poslednje tri
„alotropske modifikacije” novca neophodno je proveriti ispravnost budućeg hardvera
softverski pre nego se pristupi njegovoj fizičkoj realizaciji. U ovu svrhu koriste se programi
za analizu ponašanja elektronskih kola.
Odavno se iz širokog skupa alata za ovu namenu izdvojio program Spice koji je razvijen na
Kalifornijskom univerzitetu u Berkliju. Naziv programa predstavlja akronim od Simulation
Program for Integrated Circuits Emphasis i sugeriše da je razvijen kako bi pomogao
projektantima integrisanih kola da predvide ponašanje integrisanog kola pre nego što ono
prođe skupi postupak fabrikacije. Oosnovna verzija programa razvijena je još daleke 1975
godine kada je jedini način komunikacije čovek-mašina išao preko čitača kartica. Tada je
svaki red računarskog kôda morao da se unese preko kartonske kartice. Iz tog perioda ostala
je praksa da se umesto reči linija kôda, u Spice-u pojavljuje reč kartica. Nije postojala ni
mogućnost grafičkog unosa električne šeme, tako da je svaki element kola morao da se unese
preko kartice koja je sadržala slovnu šifru elementa, podatke o čvorovima između kojih je
vezana i vrednosti parametara (otpornost, kapacitivnost,...). Lista svih kartica sa opisom
elemenata kola naziva se net lista (od engleske reči net, što znači mreža). Naravno, kasnije su
se pojavile novije verzije programa, ali su sve zadržale osnovni koncept koji je postavio
program Spice. Najkraće rečeno on se sastoji u činjenici da je svaka komponenta
420
DODATAK
421
DODATAK
Strujni
Otpornik nJFET
nezavisni
Naponski
Kondenzator pJFET
nezavisni
Naponski
Kalem kontrolisan nMOS
naponom
Strujni
Dioda kontrolisan pMOS
strujom
Strujni
Bipolarni
kontrolisan
npn
naponom
Naponski
Bipolarni
kontrolisan
pnp
strujom
422
DODATAK
Naredbe kojima se kontroliše tip analize i neophodni parametri analize počinju tačkom.
Njihov spisak dat je u Tabeli 2. Značenje ovih naredbi biće objašnjeno kasnije uz
odgovarajuće primere.
Tabela 2: Spisak naredbi za kontrolu tipa i toka simulacije
Sintaksa
Naredba Opis Primer/komentar
.ac <oct|dec|lin> <Nsteps>
.AC Aktivira AC analizu (dobija se <StartFreq> <EndFreq> .ac dec 5 1Hz 100MEGHz –
zavisnost modula/faze AC analiza u 5 tačaka po
napona/struja od frekvencije) dekadi u opsegu od 1Hz do
od StartFreq do EndFreq u 100MHz
Nsteps koraka ili linearno ili po
oktavi ili po dekadi
.backanno
.BACKANNO Omogućava referenciranje na Automatski se dodaje net
struju kroz komponentu na listi generisanoj iz električne
osnovu naziva komponente. šeme
.dc <srcnam> <Vstart> <Vstop>
.DC Aktivira DC analizu (dobijaju <Vincr> [<srcnam2> <Vstart2> .dc Vds 3.5 0 -0.05 Vgs 0 3.5
se vrednosti napona i struja u <Vstop2> <Vincr2>] 0.5 – Tokom DC analize
kolu) pri kojoj jedan ili više vrednost generatora Vds
nezavisnh izvora pod imenom smanjuje se od 3.5V do 0V
srcnam, srcnam2,... mogu da za po -0.05V, dok Vgs raste
menju vrednosti od Vstart do od 0 do 3.5V za po 0.5V
Vstop u Vincr koraka
423
DODATAK
netlisti. (upisuje se puni naziv opisani deo kola zapisan pod
fajla sa ekstenzijom – zgodno nazivom „mojfajl.cir”
za potkola) postaje sastavni deo
tekućeg opisa kola.
.lib <libname>
.LIB Priključuje biblioteku libname .lib mojabiblioteka.lib – svi
netlisti. (upisuje se puni naziv modeli smešteni u fajl
fajla sa ekstenzijom -zgodno „mojabiblioteka.lib”
za biblioteke modela i potkola) dostupni su opis kola.
.loadbias <filename> .loadbias DCpolarizacija -
.LOADBIAS Upisuje rezultate DC analize učitava iz fajla
sačuvane u fajlu filename „DCpolarizacija” rezultate
korišćenjem naredbe .savebias prethodno obavljene DC
analize (pogodno za
višestruke TR i AC analize
složenih kola)
.MEAS[SURE] .MEAS TRAN res1 FIND
.MEASURE Vraća vrednost promenljive ili [AC|DC|OP|TRAN|TF|NOISE] V(out) AT=5m
izraza expr1 kada je po count1 <name> .MEAS TRAN res2 FIND
put ispunjen uslov expr2 ali [<FIND|DERIV|PARAM> <expr1>] V(out)*I(Vout) WHEN
nakon kašnjenja val1 ili u tački [WHEN <expr2> | AT=<expr3>]] V(x)=3*V(y)
definisanoj na apscisi sa expr3 [TD=<val1>] .MEAS TRAN res3 FIND
i rezultat smešta u fajl pod [<RISE|FALL|CROSS>=[<count1>| V(out) WHEN V(x)=3*V(y)
imenom name. LAST]] cross=3
.MEAS TRAN res4 FIND
V(out) WHEN V(x)=3*V(y)
rise=last
.MEAS TRAN res5 FIND
V(out) WHEN V(x)=3*V(y)
cross=3 TD=1m
.MEAS TRAN res6 WHEN
V(x)=3*V(y)
Syntax: .MEAS .MEAS TRAN res7 AVG
Vraća srednju (AVG) ili [AC|DC|OP|TRAN|TF|NOISE] V(NS01)
maksimalnu (MAX) ili <name> + TRIG V(NS05) VAL=1.5
miminmalnu (MIN) ili raspon [<AVG|MAX|MIN|PP|RMS|INTE TD=1.1u FALL=1
od najmanje do najveće (PP) G> <expr1>] + TARG V(NS03) VAL=1.5
ili RMS ili integral [TRIG <lhs1> [[VAL]=]<rhs1>] TD=1.1u FALL=1
promenljive ili izraza expr1 u [TD=<val1>] .MEAS AC tmp max
intervalu od TRIG do TARG na [<RISE|FALL|CROSS>=<count1>] mag(V(out))
apscisi. TRIG/TARG se [TARG <lhs2> [[VAL]=]<rhs2>] .MEAS AC BW trig
definiše kada promenljiva ili [TD=<val2>] mag(V(out))=tmp/sqrt(2)
izraz lhs1/lhs2 po [<RISE|FALL|CROSS>=<count2>] rise=1
count1/count2 put dostiže + targ
mag(V(out))=tmp/sqrt(2)
vrednost rhs1/rhs2 ali nakon
fall=last
kašnjenja val1/val2. i rezultat
.MEAS NOISE out_totn
smešta u fajl pod imenom INTEG V(onoise)
name. Ukoliko se izostave .MEAS NOISE in_totn INTEG
TRIG i/ili TARG V(inoise)
podrazumeva se početak,
odnosno kraj simulacije.
.model <modname>
.MODEL Definiše model sa imenom <D|PN|NP|MOS|MOS|MF|MF|V .model 1N4148 D (Is=2.52n
modname za diodu (D), npn DMOS| NJF| PJF| SW| CSW| Rs=.568 N=1.752 Cjo=4p
BJT (NPN), pnp BJT (PNP), LTRA| URC> [(<parameter list>)] M=.4 tt=20n Iave=200m
nMOS (NMOS), pMOS Vpk=75 mfg=OnSemi
(PMOS), nMESFET (NMF), type=silicon)
pMESFET (PMF), VDMOS .model 2N2369 NPN
(VDMOS), nJFET (NJF), pJFET (Is=44.14f Xti=3 Eg=1.11
424
DODATAK
(PJF), naponom kontrolisanih Vaf=100 Bf=78.32 Ne=1.389
prekidača (SW), strujom Ise=91.95f Ikf=.3498 Xtb=1.5
kontrolisanih prekidača (CSW), Br=12.69m Nc=2 Isc=0 Ikr=0
transmisione linije (LTRA) i Rc=.6 Cjc=2.83p
raspodeljene RC linije (URC). Mjc=86.19m Vjc=.75 Fc=.5
Cje=4.5p Mje=.2418 Vje=.75
Lista parametara zavisi od tipa
Tr=1.073u Tf=227.6p Itf=.3
modela.
Vtf=4 Xtf=4 Rb=10 Vceo=15
Icrating=200m mfg=NXP)
.model 2N3819
NJF(Beta=1.304m Betatce=-
.5 Rd=1 Rs=1
Lambda=2.25m Vto=-3
Vtotc=-2.5m Is=33.57f
Isr=322.4f N=1 Nr=2 Xti=3
Alpha=311.7u Vk=243.6
Cgd=1.6p M=.3622 Pb=1
Fc=.5 Cgs=2.414p
Kf=9.882E-18 Af=1
mfg=Vishay)
.net [V(out[,ref])|I(Rout)]
.NET Izračunava ulazno/izlazne <Vin|Iin> [Rin=<val> „1”] .net I(Rout) V4
impedanse, admitanse, y- z- h- [Rout=<val> „1”]
i s-parametre četvoropola čiji
izlaz definišu napon
V(out[,ref]) ili struja kroz Rout
kada su pristpni krajevi
zatvorni sa Rin, odnosno Rout.
.NODESET V(node1)=<voltage>
.NODESET Definiše DC napone u kolima [V(node2)=<voltage [...]] .NODESET V(out1)=10
u bistabilnim kolima (flip- V(out2)=0
flop)
.noise V(<out>[,<ref>]) <Vin|Iin>
.NOISE Izračunava spektralnu gustinu <oct|dec|lin> <Nsteps> .NOISE V(4) V1 5
šuma napona V(<out>[,<ref>]) u <StartFreq> <EndFreq>
kolu koji izaziva nezavisni
generator Vin|Iin u propusnom
opsegu EndFreq-StartFreq u
Nsteps tačaka po oktavi ili
dekadi ili u linearnom opsegu
definisanom .AC naredbom.
(spektralna gustina šuma
napona je kvadratni koren
spektralne gustine šuma
snage)
.op
.OP Poziva štampanje DC napona i .op
struja u kolu – radna tačka
(opertational point)
.options [option1] [option2]
.OPTIONS Omogućava zadavanje 48 .options method=gear
različitih parametara kojima se abstol=1fA vntol=10nV
kontroliše tok i analize i način
prikazivanja rezultata. Za
425
DODATAK
detalje konsultovati korisničko
uputstvo.
.param [param1=<expr1> .param C=1uF
.PARAM Omogućava kreiranje [param2=expr2] ... C1 cvor1 cvor2 {C}
sopstvenih promenljivih
param, definisanih preko Any_device1 node1 [node2 .param Pi = '355/113'
izraza ili vrednosti expr koje se [node3...]] {param1} .param Pi2 = '2*Pi'
mogu dodeljivati kao Any_device2 node1 [node2
parametri ostalim elementima [node3...]] {param2} .param prekid = 1G,
kola ako se navedu u k_spoj=1
vitičastim zagradama. R1 cvor0 0 {prekid}
R2 cvor0 cvor1 {k_spoj}
.param RLoad=(Vbb-
Q2Vce)/Iload
R3 cvor2 cvor0 {RLoad}
.save V(node1) [V(node2)
.SAVE Memoriše samo navedene [I(branch1) [I(branch2)]]] .save V(out) V(in) I(R1) I(Q2)
napone čvorova i struje grana. Id(*) -čuva rezultatae za
Dozvoljena je upotreba napone čvorova out i in,
karaktera * da označi „bilo struju kroz R1, Ib, Ic i Ie
koji” tranzistora Q1 i struje drejna
svih tranzistora
.savebias <filename> [internal]
.SAVEBIAS Beleži rezultatate DC analize u [temp=<value>] [time=<tvalue> .savebias DCpolarizacija –
fajl filename. Alternativno [repeat]] [step=<svalue>] smešta rezultate dc analize
beleži rezultate: TR analize [DC1=<value1>] [DC2=<value2>] u fajl „DCpolarizacija”
dobijene posle vremena tvalue [DC3=<value3>]
i to ponovljeno repeat puta;
DC analize u svalue koraku
naredbe step ili u value koraku
naredbe sweep.
.step [„lin”|dec|oct] <what>
.STEP Menja vrednost parametra [<start> <stop> <incr|nstep>]| .step oct v1 1 20 5
what u granicama od start do [list <value1> <value2> .step I1 10u 100u 10u
stop sa korakom increment <value3>...]
ukoliko je ukoliko je how .step param RLOAD LIST 5
definisano kao lin ili 10 15
izostavljeno ili u nstep koraka .step NPN 2N2222(VAF) 50
za how definisano kao oct ili 100 25
dec. Parametar se može zadati i
u obliku liste list vrednosti. .step temp -55 125 10
.subckt <name> <n1 n2 ... nn> *This is the circuit definition
.SUBCKT Definiše potkolo pod imenom X1 a b 0 divider
name, vezano između čvorova X2 b c 0 divider
n1 do nn. Opis potkola V1 a 0 pulse(0 1 0 .5μ .5μ 0
završava se sa .ends. 1μ)
* this is the definition of the
Poziva se u kolu naredbom subcircuit
xime c1 c2 ...cn name. .subckt divider n1 n2 n3
Pogodno je za opise u kojima r1 n1 n2 1k
r2 n2 n3 1k
se ista struktura više puta
.ends
ponavlja.
.tran 3
.end
.TEMP <T1> <T2> ... .TEMP -20 0 25 80.
.TEMP Definiše listu temperatura za
koje treba da se obavi analiza
.TF V(<node>[, <ref>]) <source> .TF V(out) Vin
.TF Daje DC prenosnu funkciju: .TF I(<voltage source>) <source> .TF V(5,3) Vin
426
DODATAK
napon ili struja u zavisnosti od .TF I(Vload) Vin
malih promena izvora source
.TRAN <Tstop> [modifiers]
.TRAN Aktivira analizu nelinearnih .TRAN <Tstep> <Tstop> [Tstart
kola u vremenskom domenu [dTmax]] [modifiers]
(dobijaju se talasni oblici
napona/struja) od 0 do Tstop.
Beleže se rezultati za grafički
prikaz u svakom Tstep trenutku
počev od vremena Tstart.
Maksimalni vremenski korak
integracije ograničen je sa
dTmax. Ukoliko se zadaju
Tstart ili dTmax tada je
obavezan i Tstep. Opcije TR
analize kontrolišu parametri iz
liste [modifiers]: UIC – umesto
rezultata DC analize za
granične usvaja vrednosti koje
zadaje korisnik sa .ic; steady –
zaustavlja analizu pre Tstop
ukoliko se dostigne ustaljeni
režim; nodiscard – ne briše iz
fajla rezultate do dostizanja
ustaljenog stanja; startup –
počinje analizu tako što
postepeno povećava vrednost
svih nezavisnih izvora u prvih
20s analize; step – simulira
opterećenje strujnim izvorom
koji se menja brzinom 20A/μs.
U prethodnoj tabeli < > zagrade označavaju obavezne podatke, dok [ ] zagrade označavaju
podatke koji se mogu izostaviti; znak | razdvaja alternativne parametre, označava ili; podaci
između navodnika „n” označavaju podrazumevane vrednosti koje se automatski usvajaju
ukoliko nisu zadate.
Kao što je rečeno, postoje različite verzije programa za analizu kola i koliko god oni bili
slični u osnovnim karakteristikama i mogućnostima, svaki ima svoje specifičnosti. Ovo
poglavlje nema ambiciju da bude detaljno korisničko uputstvo za primenu programa. Ono
ima za cilj da kroz jednostavne primere ukaže na osnovne mogućnosti i način korišćenja
programa, kako bi čitalac lakše pratio izlaganja koja slede. Istovremeno, podstičemo čitaoce
da simulacijom provere predočene im činjenice kao i stečena znanja. Projektantima koji već
imaju iskustvo u primeni programa za analizu kola ovo poglavlje predstavlja podsetnik i
skraćeno uputstvo za korišćenje programa LTspice.
427
DODATAK
lokaciju sa koje se može pokrenuti program LTspice. Nezavisno od toga, posle prvog
instaliranja program se automatski otvara, a na ekranu se pojavljuje prozor sa Sl. 2.
a) b)
Sl. 1 Instalacija programa LTspice: a) početni prozor, b) završetak instalacije
428
DODATAK
modela preko interneta (Sync Release). Iz opcije „Control Panel” mogu se podesiti mnogi
parametri simulacije. Početnicima se preporučuje da zadrže sve podrazumevane vrednosti.
U drugom redu GKL nalaze se ikonice preko kojih se upravlja radom programa LTspice.
429
DODATAK
a) b) c) d)
Sl. 4. Sadržaji menija Edit, File, Hierachy i View
a) b) c) d)
Sl. 5. Sadržaji menija Simulate, Tools, Window i Help
Crtanje šeme počinje postavljanjem pojedinih elemenata kola. U primeru koji sledi
nacrtaćemo invertor u tehnologiji CMOS 0,35m. Zato je bilo neophodno da se standardna
biblioteka proširi odgovarajućim modelima i simbolima tranzistora. Dodavanje novih modela
u LTspice veoma je jednostavno. Obavlja se u dva koraka:
1. dodati tekstualni fajl u kome se nalazi opis potkola (naredba .sbckt) i modela
NMOS i PMOS tranzistora sa ekstenzijom .lib (u konkretnom slučaju fajl
„cmos035.lib”) u datoteku C:\Program Files\LTC\LTspiceIV\lib\sub.
2. dodati datoteku koja sadrži fajlove sa opisom simbola nMOS i pMOS tranzistora
„nmos_035.asy” i „pmos_035.asy” (u konkretnom slučaju datoteka
„cmos035”) datoteci C:\Program Files\LTC\LTspiceIV\lib\sym.
Valja napomenuti da je neophodno da se linija .lib cmos035.lib nađe u opisu kola u kojima se
ovi tranzistori koriste.
Sada može da se počne sa unosom šeme. Najpre se izabere odgovarajuća komponenta iz
menia „Edit” ili direktno levim klikom miša na ikonicu iz drugog reda komandne linije. U
našem slučaju to je (Component). Otvori se meni sa Sl. 6.
430
DODATAK
431
DODATAK
432
DODATAK
Sl. 10. Izgled električne šeme posle dodeljivanja naziva čvorova i mase
Konačno, treba povezati izvore za napajanje. Vezaćemo izvor jednosmernog napajanja
VDD=3.3V i pobudni generator Vg. Za početak Vg imaće samo jednosmernu vrednost, a
zavisno od tipa analize, biće mu dodeljene druge vrednosti. Kao i sve ostale komponente
biranje naponskog generatora počinje pretragom u meniju koji se otvara nakon selektovanja
. U ponuđenoj listi (videti Sl. 6) treba naći ključnu reč “Voltage”. Budući da su folderi i
komponente sortirani po azbučnom redu, treba klizač sa dna menija pomeriti krajnje udesno.
Tada se selektuje željena komponenta. Sl. 11 prikazuje postupak izbora.
433
DODATAK
434
DODATAK
435
DODATAK
436
DODATAK
437
DODATAK
Sl. 19. Konačni izgled net liste generisane na osnovu nacrtane električne šeme
Analiza kola
Programu za analizu kola pristupa se izborom opcije „Edit Simulation Cmd” iz menija
„Simulate”. Tada se otvara prozor iz koga se mogu birati svi tipovi analize:
1. Analiza u jednosmernom domenu – DC omogućava:
Izračunavanje svih napona i struja u kolu (radna tačka) – naredba .op
438
DODATAK
Sl. 20. Postupak otvaranja i izgled prozora u kome se specificira tip analize
S obzirom da se sve nardebe za definisanje tipa analize pojavljuju na radnoj površini, dobro
je da se izborom ikonice umanji površina koju zauzima električna šema i stvori prostor
za praćenje ostalih naredbi. Umanjena šema može se pomeriti po radnoj površini ukoliko se
izabere ikonica . Tada se levim tasterom miša označi jedan ugao površine koja treba da se
pomera i, dok se drži taster, pomera se miš dok se pravougaonikom od isprekidanih linija ne
obuhvate svi elementi koje treba pomeriti. Otpuštanjem levog tastera, celokupna obuhvaćena
površina pomera se kao kursor. Kada se pronađe željena pozicija, aktivira se levi taster miša i
deaktivira se pomeranje. Ovo je urađeno na Sl. 20, tako da se na njoj vidi efekat opisanih
radnji.
DC analiza
Selekcijom opcije „DC op pnt” iz menija za izbor tipa analize, na radnoj površini pored
električne šeme pojavljuje se naredba .op koja se mišem može proizvoljno pozicionirati i
postaviti klikom na levi taster miša. Kao rezultat dobija se radna površina sa Sl. 21. Naredba
.op postavljena je u gornji desni ugao ekrana.
439
DODATAK
440
DODATAK
a) b)
Sl. 23. Izgled prozora za podešavanje parametara DC sweep analize: a) osnovi prozor,
b) popunjene vrednosti za generator Vg
U dnu prozora pojavljuje se izgled komande .dc koji će se upisati na šemi. Po završenom
unosu podataka selektuje se OK, prozor se gasi, a komandna linija preslikava se u kursor.
Postavi se linija na željenu poziciju na ekranu i pritisne levi taster miša. Tada se automatski
prethodna naredba za opis analize (.op) pretvara u komentar dodavanjem “;” na početku , a
naredba .dc Vg 0 3.3 0.05 dodaje se net listi. Izgled ekrana po završetku ove aktivnosti
prikazan je na Sl. 24.
441
DODATAK
442
DODATAK
443
DODATAK
a) b)
Sl. 27. Izgled prozora za podešavanje parametara DC Transfer analize: a) osnovi prozor,
b) popunjene vrednosti V(p) kao izlazni i Vg kao ulazni parametar
U dnu prozora pojavljuje se izgled komande .tf koji će se upisati na šemi. Po završenom
unosu, selektuje se OK, prozor se gasi, komandna linija preslikava se u kursor koji se
pozicionira na željenu lokaciju i fiksira se pritiskom levog tastera miša. Tada se automatski
prethodna naredba za opis analize (.dc) pretvara u komentar dodavanjem “;” na početku, a
naredba .tf V(p) Vg dodaje se automatski net listi. Izgled ekrana po završetku ove aktivnosti
prikazan je na Sl. 28.
444
DODATAK
445
DODATAK
AC analiza
Pre početka AC analize, treba pobudnom generatoru Vg dodati i naizmeničnu komponentu.
Zato se priđe mišem do komponente Vg dok se ne pojavi kursor u obliku kažiprsta .
Tada se desnim klikom otvara meni za promenu parametara generatora. Izabere se opcija
„Advanced” čime se otvara novi prozor koji omogućava promenu svih parametara
nezavisnog naponskog generatora, kao što pokazuje Sl. 32.
446
DODATAK
447
DODATAK
448
DODATAK
449
DODATAK
ili oba; dodati nova promenljiva ili izraz upisom u polje ispod teksta “Enter an algebraic
expression to plot”. U ovo polje ukucan je izraz V(p)/V(ul). U dnu ovog menija nalazi se
polje označeno sa “Delete this trace” čijim se aktiviranjem, po potrebi, briše grafik tekuće
promenljive. Brisanje grafika moguće je i izborom ikonice i pozicioniranjem makazica uz
oznaku grafika koji treba obrisati.
Sl. 38. Otvaranje menija za unos matematičkog izraza čija se grafička interpretacija traži
Sl. 39 prikazuje efekat crtanja frekvencijskih karakteristika pojačanja V(p)/V(ul). Valja
primetiti da, za razliku od V(p), pojačanje iznosi preko 20dB.
Na istoj slici demonstrirano je otvaranje menija za detaljnu kontrolu grafičke interpretacije
rezultata. On se otvara desnim tasterom miša dok se kursor nalazi ma gde u gornjem prozoru
i kada ima standardnu formu u obliku krsta (nije kažiprst). Komande iz ovog menija
omogućavaju:
450
DODATAK
451
DODATAK
a) b)
Sl. 40. Ručno podešavanje granica levih vertikalnih osa na a) donjem i b) gornjem grafičkom
prozoru sa Sl. 41
U primeru sa Sl. 41 iskorišćena je opcija da se maksimalno prošire grafički prozori za prikaz
rezultata, aktiviranjem ikonice iz gornjeg desnog ugla grafičkog prozora. Time je prozor
sa električnom šemom sakriven, ali je i dalje aktivan.
Sl. 41. Demonstriranje otvaranja novog grafičkog prozora za prikaz rezultata analize
Bilo koji od grafičkih prozora za prikaz rezultata može da se obriše selektovanjem ikonice
. Prozor sa električnom šemom može se učiniti vidljivim zajedno sa prozorima
za prikaz rezultata u prethodnom obliku (jedan iznad drugog) aktiviranjem ikonice .
Alternativno mogu se prikazati jedan ispred drugog aktiviranjem ikonice .
Više pojedinosti oko upravljanja prozorom za prikaz rezultata analize biće ilustrovane u
narednom poglavlju koje se odnosi na analizu u vremenskom domenu.
452
DODATAK
Drugi tip AC analize odnosi se na analizu šuma. Parametri ove analize podešavaju se u
prozoru „Edit Simulation Command” kome se pristupa iz „Simulate” menija selektovanjem
opcije . Parametri simulacije su izlazna promenljiva (Output); pobudni
generator (Source); tip skaliranja frekvencije (Type of Sweep) koji se bira iz padajućeg
menija i može biti logaritamski po oktavi, po dekadi, linearni ili zadat u obliku liste. Zavisno
od izabranog tipa, moguće je uneti broj tačaka po oktavi, po dekadi ili ukupan broj tačaka
ukoliko je skala promene frekvencije linearna. Takođe postoje polja za definisanje početne
(Start Frequency) i završne (Stop Frequency) frekvencije.
Na Sl. 42 prikazane su faze unosa parametara Noise analize. Po završenom unosu (potvrđeno
polje OK), sadržaj .noise naredbe koja je ispisana u dnu prozaora sa Sl. 42 prenosi se u
kursor.
453
DODATAK
donjeg prozora (kursor dobija formu sonde ), u gornjem se prikazuje zavisnost snage
šuma, kao što ilustruje Sl. 44.
454
DODATAK
455
DODATAK
detected), postepeno skokovito povećati opterećenje strujnih izvora (Step the load current
sources) i preskočiti početna rešenja (Skip initial operating point solution).
U konkretnom primeru opredeljujemo se za završetak analize u trenutku T=10ms, što
odgovara vremenu od deset perioda ulaznog signala. Sve ostale opcije zadržavaju
predefinisane vrednosti.
Sl. 47. Izgled ekrana posle zadavanja parametara analize u vremenskom domenu
Kao i ranije, analiza se pokreće preko ikonice . Po završetku analize otvara se prozor za
prikaz rezultata sličan onom sa Sl. 35 ali je horizontalna osa baždarena linearno od 0ms do
10ms. Talasni oblik ulaznog napona na ekranu dobija se kada se u donjem prozoru kursor
dovoljno približi čvoru UL tako da promeni izgled u sondu , a onda se aktivira levi taster
na mišu. Kada se “sonda” aktivira na izlaznom čvoru, na ekranu se dobiju talasni oblici
napona V(ul) i V(P). Sl. 48 prikazuje rezultat analize. Automatski izabrana skala na
vertikalnoj osi dovoljno jasno pokazuje i jednosmernu i naizmeničnu komponentu signala. Da
bi se dobio detaljniji uvid, dovoljno je da se priđe oznaci talasnog oblika i kada se kursor
456
DODATAK
transformiše u kažiprst, pritisnuti istovremeno dugme Control na tastaturi i levi taster miša.
Tada se otvara prozor u kome se ispisuju podaci o jednosmernoj (srednjoj) i efektivnoj
(RMS) vrednosti izabranog signala. U primeru sa Sl. 48 to je urađeno za V(p).
457
DODATAK
Sl. 49. Talasni oblici struja Is(M2) i Id(M1) na istom dijagramu sa naponima V(ul) i V(p)
Selektovanjem struje kroz dvopol (recimo otpornik Rp) u donjem delu ekrana pojavljuje se i
informacija o disipaciji:
.
Drugi način da se selektuju promenljive koje se grafički prikazuju jeste aktiviranjem ikonice
čime se otvara meni sa Sl. 50. U njemu se uz držanje tastera Control na tastaturi mogu
markirati promenljive koje treba prikazati na ekranu. Da bi markiranje imalo efekta, treba
potvrditi polje OK.
Sl. 50. Meni za selektovanje promenljivih čiji se talasni oblici prikazuju na ekranu
Podsećamo na još jedan način dodavanja novih promenljivih i/ili izraza koji je opisan uz Sl.
39.
Ukoliko bi se dijagramima sa Sl. 49 dodala još neka promenljiva ili izraz, rezultati bi postali
nepregledni. Ovo se rešava otvaranjem novih prozora za prikaz rezultata izborom ikonice
, kao što je opisano u prethodnom poglavlju.
458
DODATAK
LTspice dozvoljava da se prikaže razlika napona između dva čvora. Tada treba selektovati
jedan čvor kursorom u obliku sonde levim tasterom miša i držati ga dok se kursor ne
premesti na drugi čvor. Sonda na drugom čvoru ukazuje na napon koji se oduzima. U primeru
sa Sl. 51 selektovana je razlika napona između čvorova P i VDD: V(P)-V(VDD), a to se u
prozoru za prikaz rezultata označava kao V(P, VDD). Ova razlika odgovara naponu VDS
tranzistora M2 i on je negativan. Napon VDS tranzistora M1 jednak je naponu V(P).
Sl. 52. Prikaz talasnih oblika ID i VDS tranzistora M1 i M2 u dva različita prozora
459
DODATAK
460
DODATAK
Sl. 54. Prikaz dijagrama snage disipacije tranzistora M1 i M2 u novootvorenom prozoru (prvi
odozgo); prikaz srednjih i RMS vrednosti napona i struje, odnosno srednje vrednosti snage i
energije u prikazanom vremenskom intervalu.
Dijagram disipacije snage na bilo kojoj komponenti može da se dobije direktno iz prozora za
crtanje električne šeme. Dovoljno je da se drži pritisnut taster Alt dok je kursor na poziciji
komponente. Tada se kursor transformiše u oblik termometra , i izraz kojim se računa
ukupna snaga disipacije te komponente automatski se prenosi u polje za prikaz rezultata
analize. Na Sl. 55 to je urađeno za tranzistore M1 i M2 i otpornik Rp. (Prethodno su izbrisani
svi raniji dijagrami).
Treba uočiti da se za tranzistore ukupna disipacija računa kao: VDS*ID+VGS*IG,
To za M1 znači: V(P)*Id(M1)+V(UL)*Ig(M1),
a za M2 iznosi V(P,VDD)*Id(M2)+V(UL,VDD)*Ig(M2).
Kada se radi o dvopolima, snaga se računa kao proizvod napona na priključcima i struje kroz
komponentu, što u slučaju RP iznosi: V(P)*I(Rp).
Na Sl. 55 prikazan je kursor termometar na tranzistoru M1. U prozoru za prikaz rezultata
analize demonstriran je uticaj aktiviranja opcije markiranja tačaka na
dijagramima: i opcije za crtanje mreže preko polja za prikaz
rezultata: .
461
DODATAK
462
DODATAK
Ukoliko bi vreme simulacije ostalo iz prethodnog primera 10ms dobio bi se odziv za 50000
perioda signala. Zato skraćujemo vreme simulacije na 1s čime se obezbeđuje odziv na 5
perioda signala (od po 200ns). Ovo je moguće uraditi iz prozora za definisanje parametara
simulacije Tran kao na Sl. 46, ali je jednostavnije da se to uradi direktno na električnoj šemi
aktiviranjem desnog tastera na mišu dok se kursor nalazi preko postojeće naredbe .tran 10ms.
Aktiviranjem ikonice pokreće se simulacija. Po njenom završetku otvara se prazan prozor
za prikaz rezultata, ukoliko su pre toga svi prozori bili zatvoreni. Ukoliko nisu, pojaviće se
odziv postojećih promenljivih na novu pobudu. Na Sl. 57 pokazani su rezultati simulacije
zajedno sa modifikovanom električnom šemom.
Sl. 58. Uvećani detalji oko prednje i zadnje ivice signala koji omogućavaju određivanje
kašnjenja i vremena uspostavljanja signala.
463
DODATAK
Na Sl. 59 prikazan je detalj prethodne analize sa koga se određuje potrošnja tranzistora tokom
jednog ciklusa promene signala.
464