Download as pdf or txt
Download as pdf or txt
You are on page 1of 467

Prof. dr Branko L.

Dokić
Prof. dr Predrag M. Petković

ANALIZA I PROJEKTOVANJE
CMOS INTEGRISANIH KOLA

Akademska misao, Beograd 2017


PREDGOVOR

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.

Zahvaljujući mogućnostima skaliranja dimenzija MOS tranzistora, CMOS tehnologija


je apsolutno dominantna i ostaće tako i narednih više od desetak godina. Stoga su kursevi
tehnologije CMOS integrisanih kola zastupljeni na svim nivoima studija elektronike, od
prvog do trećeg ciklusa studija. To nas je i ponukalo da objedinimo ono što smo, iz ove
oblasti, godinama predavali studentima Elektrotehničkog u Banjaluci i Elektronskog fakulteta
u Nišu objedinimo u jednu knjigu. Cilj nam je, ne samo da olakšamo studentima na
pripremanje ispita, već i da budući akademci steknu neophodna znanja koja će im omogućiti
rad na zajedničkim projektima CMOS integrisanih kola i sistema na listu.
Knjiga se sastoji od devet poglavlja, jednog dodatka i popisa korišćene literature. U
prvom poglavlju definisani su: osnovni pojmovi projektovanja, kriterijumi za procjenu,
strategije projektovanja i stilovi projektovanja. Ovo poglavlje se završava opisom alata za
automatizaciju projektovanja, jer je projektovanje integrisanog kola i sistema nezamisliv bez
odgovarajućeg softvera.
Drugo poglavlje, posvećeno je MOS tranzistorima. Opisane su osnovne strukture
nMOS tranzistora sa indukovanim i ugrađenim kanalom, njihove statičke karakteristike,
skaliranje dimenzija, sekundarni efekti skaliranja i parazitne kapacitivnosti. Poglavlje se
završava sa četiri SPICE modela MOS tranzistora.
U trećem poglavlju opisan je VHDL-jezik za opis strukture, odnosno topologije,
digitalnih kola. Akcenat u ovom poglavlju je na primjeni VHDL-a u sintezi i verifikaciji. Cilj
nam da čitaoca osposobimo da razumije značenje pojedinih linija VHDL koda i poveže ga sa
funkcijom koju kolo obavlja. U svim primjerima korišćene su opcije koje prepoznaje većina
programa za automatsku sintezu i verifikaciju.
Kratak pregled osnovnog i subnikronskog CMOS tehnološkog procesa dat je u
četvrtom poglavlju. Opisana su pravila projektovanja svih nivoa maski neophodnih za izradu
integrisanog kola poznata kao projektovanje lejanta. Sastavni dio ovog poglavlju su i osnovna
pravila kojih se projektanti moraju pridržavati tokom fizičkog projektovanja.
Analiza i sinteza standardnih statičkih CMOS logičkih kola opisana je u poglavlju pet.
Svi analitički modeli statičkih i dinamičkih parametara CMOS kola zasnovani su na primjeni
pojednostavljenih modela statičkih strujno-naponskih karakteristika nMOS i pMOS
tranzistora.
Šesto poglavlje posvećeno je ulaznim i izlaznim CMOS kolima kao što su: ulazna
zaštita kola, Šmitova logička kola, super baferi i trostatička kola.
CMOS kola male potrošnje, sa tehnološkog i topološkog aspekta čine sadržaj sedmog
poglavlja. Pod tehnološkim aspektom ovdje se podrazumijevaju različiti radni režimi CMOS
logike-standardni, pretpragovski i hibridni. Topološki aspekt podrazumijeva alternativne
topologije i obuhvata: pseudo nMOS logiku, DCVLS, prenosna logika i puš-pul prenosna
logika. Osim pomenuta dva aspekta, analizirana su i dinamička CMOS logička kola.

Sekvencijalna logička kola opisana su u osmom poglavlju. Prvo su analizirane


osnovne topologije D lečeva i flipflopova. Drugi dio odnosi se na alternativne topologije D
flipflopova kao što su: impulsni ivični, bipolarni ivični i diferencijalni flipflopovi. Poglavlje
se završava sa dinamičkim pomjeračkim registrima i C2MOS lečevima.
U devetom poglavlju opisane su programabilne logičke komponente -PLD. Opisane
su četiri tehnike programiranje te unutrašnje strukture jednostavnih (SPLD), kompleksnih
PLD (CPLD) i programabilne gejtovske mreže (FPGA). Peti i šesti dio ovog poglavlja odnosi
se na projektovanje sa PLD i softver za projektovanje sa PLD.
SADRŽAJ

1. PROJEKTOVANJE DIGITALNIH SISTEMA .................................................. 6


1.1. Definicija projektovanja .............................................................................. 7
1.1.1. Faze projektovanja ............................................................................... 7
1.1.2. Domeni opisa projekta ......................................................................... 8
1.1.3. Nivoi projektovanja ............................................................................. 9
1.1.4. Projektovanje u užem smislu .............................................................. 12
1.2. Kriterijumi za procenu kvaliteta projekta................................................... 12
1.2.1. Cena .................................................................................................. 13
1.2.2. Pouzdanost......................................................................................... 19
1.2.3. Brzina ................................................................................................ 21
1.2.4. Potrošnja energije .............................................................................. 24
1.2.5. Mogućnost skaliranja ......................................................................... 30
1.3. Strategije u projektovanju ......................................................................... 36
1.4. Stilovi projektovanja ................................................................................. 37
1.4.1. SIC .................................................................................................... 38
1.4.2. ASIC.................................................................................................. 40
1.4.3. SASIC ............................................................................................... 46
1.5. Izbor odgovarajućeg stila projektovanja .................................................... 52
1.6. Automatizacija projektovanja .................................................................... 53
2. MOS TRANZISTOR ....................................................................................... 63
2.1. Osnovne strukture MOS tranzistora........................................................... 64
2.1.1. Indukovani i ugradeni kanal ............................................................... 65
2.1.2. Samoizolacija..................................................................................... 66
2.2. Napon praga.............................................................................................. 67
2.3. Statičke karakteristike ............................................................................... 72
2.3.1. Efekat skraćenja kanala ...................................................................... 75
2.3.2. Pretpragovska struja (slaba inverzija) ................................................. 77
2.3.3. Probojni napon ................................................................................... 81
2.4. Skaliranje dimenzija .................................................................................. 82
2.4.1. Pravila konstantnog električnog polja ................................................. 83
2.4.2. Strategija konstantnog napona ............................................................ 85
2.4.3. Generalisana teorija skaliranja............................................................ 85
2.5. Sekundarni efekti skaliranja ...................................................................... 86
2.5.1. Zasićenje brzine i smanjenje pokretljivosti ......................................... 87
2.5.2. Analitički model MOS tranzistora s kratkim kanalom ........................ 88
2.5.3. Promjene praga .................................................................................. 89
2.5.4. Efekti vrućih nosilaca......................................................................... 91
2.5.5. Otpornost sors–drejn .......................................................................... 92
2.6. Parazitne kapacitivnosti............................................................................. 92
2.6.1. Kapacitivnost gejta............................................................................. 93
2.6.2. Kapacitivnost pn spojeva ................................................................... 96
2.7. SPICE modeli MOS tranzistora............................................................... 100
2.7.1. Level 1 model .................................................................................. 101
2.7.2. Level 2 model .................................................................................. 102
2.7.3. Level 3 model .................................................................................. 103
2.7.4. BSIM model .................................................................................... 104
2.7.5. Temperaturna zavisnost ................................................................... 108
3. VHDL-PRIMENA U SINTEZI ...................................................................... 109

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

PROJEKTOVANJE DIGITALNIH SISTEMA

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

1.1. Definicija projektovanja


Pred inženjerima svih profila postavljaju se tri osnovna zadatka:
 projektovanje,
 održavanje, i
 popravljanje
određenih sistema i/ili uređaja. Pri tome, projektovanje predstavlja najprimamljiviji zadatak
jer omogućava da se iskaže lična kreativnost na koju je svaki inženjer veoma ponosan. Zato
je korisno da se, najpre, definiše sam projam projektovanja, ne ispuštajući iz vida da se naš
zadatak odnosi na projektovanje elektronskih kola i sistema.
Generalno gledano, projektovanje nekog proizvoda podrazumeva skup aktivnosti koje
treba obaviti da bi se od opisa željenih performansi došlo do realizacije prototipa. Nema
razloga da se u opisu projektovanja elektronskih kola i sistema odstupi od navedene
definicije.
Šta je rezultat projektovanja?
Nesumnjivo, prvi odgovor jeste prototip. Međutim, inženjerski posao ne završava se na tom
nivou. Posao projektanta biće kompletiran kada proizvod uđe u redovnu proizvodnju.
Možemo li da kažemo da je rezultat projektovanja realizovan proizvod? Naravno da ova
konstatacija stoji, ali gotov proizvod i/ili prototip jeste neposredni rezultat procesa
proizvodnje, a ne samog projektovanja. To je materijalizovani rezultat projektovanja,
odnosno hardver, dok je neposredni rezultat samog projektovanja, zapravo, dokumentacija o
svim aktivnostima neophodnim da bi se realizovao određeni proizvod. U ovom kontekstu,
možemo da kažemo da je neposredni rezultat projektovanja - softver. Ova je konstatacija
danas mnogo bliža istini jer se tokom projektovanja, ne samo u elektronici, nego u mašinstvu
i građevini, takođe, posao projektanta svodi na upotrebu softverskih alata koji konvertuju
projektne zahteve u format prihvatljiv za automatizovanu proizvodnju na sofisticiranim
alatima.
Rezultat aktivnosti vezanih za projektovanje jeste potpuna dokumentacija neophodna
da bi kolo/uređaj/sistem ušao u redovnu proizvodnju.

1.1.1. Faze projektovanja


Generalna definicija projektovanja ukazuje na široki dijapazon aktivnosti od prve ideje o
budućem proizvodu do njegove fizičke realizacije. Sve ove aktivnosti mogu se hronološki
grupisati u četiri faze [Lit00]:
1. Specifikacija projekta,
2. Projektovanje u užem smislu,
3. Izrada prototipa,
4. Kvalifikacija za proizvodnju.

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.

1.1.2. Domeni opisa projekta


U samoj definiciji projektovanja naveden je put od opisa proizvoda do njegove realizacije.
Iako, na prvi pogled logički ispravna, ova definicija zahteva da se, na samom početku,
precizira šta se opisuje. Razmotrimo primer mobilnog telefona.
Na pitanje šta je mobilni telefon možemo da dobijemo sledeće odgovore. Mobilni telefon je
prenosivi uređaj koji:
a) omogućava bežični telefonski razgovor i prenos poruka u digitalnom obliku,
b) se sastoji od antene, mikrofona, A/D konvertora, pojačavača, DSP, displeja,
primopredajnika, D/A konvertora, slušalice, i
c) je pretežno napravljen od plastike i metala dimenzija 10x5x2,5cm sa ekranom i
tastaturom.

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

Domeni opisa projekta

Funkcionalni Strukturni Fizički

Šta kolo/sistem radi? Od čega se sastoji? Kako izgleda?


Slika 1.1. Domeni opisa projekta
Dakle, projektni zahtevi mogu da se specificiraju kroz opis funkcije koju proizvod obavlja,
kroz strukturni opis koji ukazuje na sastavne delove proizvoda i kroz opis fizičkog izgleda
proizvoda. Naravno, da je najvažniji zadatak da proizvod obavlja određenu funkciju. Ona se
opisuje na nivou ponašanja pri poznatoj pobudi i uslovima rada. Na osnovu opisa funkcije
određuju se osnovni funkcionalni blokovi, odnosno struktura koja je u stanju da zadovolji
željenu funkciju. Naravno, nisu nevažne fizičke osobine projektovanog kola, naročito kada
su u pitanju dimenzije, jer od njih zavisi fizička realizacija celog projekta. Hijerarhijski
gledano, iz funkcionalnog opisa proističe struktura, a iz nje fizički izgled. Tokom
projektovanja preslikava se opis iz funkcionalnog domena u strukturni. Taj postupak se
naziva strukturno projektovanje. Prelazak iz strukturnog u domen fizičkog opisa naziva se
fizičko projektovanje.

1.1.3. Nivoi projektovanja


Ukoliko razmotrimo strukturni opis mobilnog telefona, vidimo da se on sastoji iz više
blokova. Svaki od njih predstavlja celinu koja se može opisati na funkcionalnom,
strukturnom i fizičkom nivou. Tako, na primer, A/D konvertor ima funkciju da pretvori
analogni signal u digitalni. Kao rezultat konverzije treba da se dobije digitalna reč sa
specificiranim brojem bitova i frekvencijom uzorkovanja. Za njegovu realizaciju može da se
koristi kolo za uzorkovanje i  modulator koji, između ostalog, u sebi sadrži SC integrator.
Integrator se sastoji od operacionog pojačavača, a ovaj u sebi sadrži manje blokove
(diferencijalni pojačavač, strujni izvori,...) satavljene od tranzistora. Iz ovog primera
očigledno je da jedan složeni uređaj može da se razloži na manje složene module, a ovi na još
jednostavnije bolokove, sve dok se ne dođe do nivoa tranzistora. Razlaganje po različitim
nivoima apstrakcije naziva se dekompozicija.
Primer dekompozicije jednog složenog sistema prikazan je na sl. 1.2.
Tokom projektovanja na svakom od nivoa potrebno je da se pređe iz domena opisa ponašanja
u domen strukturnog opisa, da bi se, na kraju, došlo do domena fizičkog opisa.
U soženom elektronskom sistemu (recimo mobilni telefon) mogu se raspoznati sledeći nivoi
apstrakcije:
 sistemski,
 algoritamski,

9
1.1 Definicija projektovanja

 registarski, RTL (Register Transfer Level),


 logički,
 električni.

Sistem Modul Integrisano Makroćelija Logičko Elektronsko


kolo kolo kolo
Slika 1.2. Nivoi apstrakcije složenog sistema
Pri tome, svaki od navedenih nivoa može da se sagleda u sva tri domena. U tom kontekstu
može da se definiše ravan projektovanja ograničena koordinatnim sistemom koji čine osa
domena opisa projekta i osa nivoa dekompozicije, kao što prikazuje sl. 1.3.

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

ALU, RAM, množači, Logička kola,


diskovi, veze
drajveri, delitelji, veze (logička
periferije, (električna
kontroleri multiplekseri, šema)
magistrale šema)
registri
Razmeštanje
Razmeštanje
i povezivanje
logičkih ćelija

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

štampane integrisana standardnih tranzistora i


kola, makro-
ploče, kablovi kola ćelija veza
ćelija Nivo
dekompozicije
Sistemski
Algoritamski RTL Logički Električni
(arhitekturni)

Slika 1. 3. Koordinatni sistem projektovanja i prelazak sa jednog na drugi domen opisa

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.

Slika 1.4. Tipični put projektovanja integrisanog kola prikazan Y-dijagramom

11
1.1

1.1.4. Projektovanje u užem smislu


Prelazak iz jednog domena u drugi predstavlja sintezu. Prelazak iz domena ponašanja u
strukturni domen zove se strukturno projektovanje ili sinteza u užem smislu. Međutim, posao
projektanta ne svodi se isključivo na sintezu. Posle svake sinteze potrebno je utvrditi da li su
se narušile funkcionalne osobine projekta. Proces provere naziva se verifikacija. Do
verifikacije se dolazi analizom performansi projekta. U tu svrhu koriste se alati za analizu
kola i sistema. Od projektanta se očekuje da razume rezultate koje dobije analizom i da
proceni njihov značaj sa stanovišta ispunjenosti cilja projekta. Koji su to parametri na osnovu
kojih se procenjuje uspešnost projekta integrisanih kola?
Naravno, osnovni parametar jeste funkcionisanje - kolo mora da obavlja željenu funkciju.
Tek nakon toga može se govoriti o ostalim parametrima kao što su cena, pouzdanost, brzina i
disipacija snage. Ovim značajnim temama biće posvećeno naredno poglavlje.
Ne postoji način da se istovremeno maksimalno ispune svi zahtevi. Najčešće su zahtevi
suprotni i neophodno je traženje kompromisa. Do njega se dolazi optimizacijom po
relevantnim parametrima.
Dakle, proces projektovanja obuhvata tri osnovne aktivnosti:
1. sintezu,
2. optimizaciju i
3. verifikaciju.
Sinteza je, u osnovi, prelaz iz jednog u drugi domen opisa i predstavljena je strelicama na sl.
1.3 u koordinatnom sistemu projektovanja. Optimizacija i verifikacija odvijaju se unutar
pojedinih domena i nivoa apstrakcije, odnosno unutar pravougaonika prikazanih na sl. 1.3.

1.2. Kriterijumi za procenu kvaliteta projekta


Postavlja se pitanje kako odrediti meru kvaliteta projekta. Praktično, potrebno je definisati
kriterijume koje treba projekat da zadovolji kako bi se dobilo najbolje rešenje.
Kriterijumi za procenu kvaliteta projekta mogu da se klasifikuju u pet kategorija:
1. Cena,
2. Pouzdanost,
3. Brzina,
4. Potrošnja energije i
5. Mogućnost skaliranja.
Osim kriterijuma, treba sagledati i parametre od kojih zavisi ispunjenost navedenih
kriterijuma. Iako se može definisati veliki broj parametara, kao najvažnije ćemo navesti
fizičke dimenzije - gabarit, vreme projektovanja i testabilnost.
 Gabarit. Zahtev za što manjom površinom ne postavlja se samo da bi se potrošilo manje
materijala, već da bi se povećao prinos. Pod prinosom se podrazumeva odnos ispravnih
u odnosu na ukupan broj fabrikovanih uzoraka. Manja površina smanjuje rizik da se na

12
Glava 1

određenom prostoru pojavi defekt u materijalu koji će izazvati otkaz komponente. S


druge strane, poznato je da arhitekture koje pretenduju na manja kašnjenja, zahtevaju
veću površinu čipa. Na taj način, površina utiče na cenu i pouzdanost ali i na brzinu.
 Vreme projektovanja značajno utiče na profit i to iz dva razloga. Prvi se odnosi na
manje troškove projektovanja, dok je drugi vezan za prednost u osvajanju tržišta. Da bi
se dobile kompaktnije komponente za istu funkciju, potrebno je potrošiti više vremena
tokom projektovanja. Ukupna procena isplativosti dobija se analizom kriterijuma
vezanog za cenu. Da bi se skratilo vreme projektovanja svesno se ukidaju određeni
stepeni slobode vezani za fizički razmeštaj komponentata, čime se svesno povećava
njegova površina. Naime, da bi proces projektovanja mogao da se automatizuje, uvedena
su pravila o tome gde pojedini elemenati mogu da se nađu. Na taj način ubrzava se
projektovanje ali ne može da se postigne potpuno kompaktno rešenje.
 Testabilnost predstavlja sposobnost kola da bude testirano. Zašto je testiranje važno?
Nije dovoljno samo osvojiti tržište time što će se pre konkurenata izaći sa novim
proizvodom. Tržište treba i zadrži, a za to, presudnu ulogu igra kvalitet. Imajući u vidu
svu kompleksnost tehnološkog postupka izrade integrisanih kola i njegovu osetljivost na
pojavu defekata usled najmanjih varijacija tehnološkog postupka, veoma je značajno da
se sve komponente testiraju pre izlaska na tržište. Velika složenost savremenih
integrisanih kola nameće dva osnovna problema vezana za testiranje. Prvi nastaje kao
posledica velikog broja ulaznih portova. Potpuni test zahteva veliki broj kombinacija
ulaznih signala, a to impllicira dugo vreme testiranja. Drugi problem vezan je za
ograničeni broj izlaznih portova. To znači da se mogu pratiti stanja samo na izlaznim
signalima. Često je, međutim, korisno da se ima uvid i u stanje nekih internih signala.
Neracionalno je uvoditi nove izlazne portove preko kojih bi se dobile informacije o
stanju unutrašnjih blokova. Da bi se povećala efikasnost testiranja tokom projektovanja
treba predvideti dodatni hardver. Tada se govori o projektovanju za testabilnost - DFT
(Design For Testability) . Time se sigurno ne skraćuje ni vreme projektovanja niti se
smanjuju gabariti ali se dobija na kvalitetu.
Očigledno da neki od parametara, recimo dimenzije, utiču direktno ili indirektno na više
kriterijuma (na cenu, pouzdanost, disipaciju, brzinu). S druge strane i kriterijumi zavise od
više parametara, tako da je njihova međusobna veza veoma složena. To ukazuje na činjenicu
da svaki projekt ima specifične prioritete koje mora da zadovolji u određenom trenutku sa
raspoloživom tehnologijom. Na primer, ukoliko se radi o čipu koji bi se ugradio kao
implantat u ljudsko telo, sigurno da su osnovni prioriteti veličina i pouzdanost, dok je za neki
uređaj široke potrošnje prvi prioritet cena.

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

Cena maske [M$]


3

0,25 0,20 0,15 0,10 0,05


Geometrija procesa [m]
Izvor: www.InovationRevolution.com
Slika 1.5. Cena proizvodnje maski u zavisnosti od tehnologije
Sa razvojem tehnologije redukuju se dimenzije tranzistora, tako da postupak izrade maski
postaje sve skuplji. Komercijalno su raspoložive tehnologije kod kojih se dimenzije
tranzistora izražavaju u nm. Zato je neophodna izuzetno velika preciznost izrade maski što
dovodi do eksponencijalnog rasta njihove cene, kao što prikazuje sl. 1.5. Prema podacima iz
[Jha09], cena izrade maske za tehnologiju 65nm iznosi $3.000.000 dok za tehnologiju od
32nm dostiže $6.000.000.
Proporcionalni troškovi odnose se na troškove specifične za fabrikaciju jednog uzorka
integrisanog kola. Zato ćemo se podsetiti nekih osnovnih pojmova vezanih za proizvodnju
integrisanih kola. Osnovu za izradu integrisanih kola čini poluprovodnička pločica (wafer)
kružnog oblika prikazana na sl. 1.6. Na njoj se realizuju integrisana kola pravougaonog
oblika, peleti. Što je površina jednog kola manja ili je pločica veća, veći broj peleta može da
se smesti na jednoj pločici. Napredak tehnologije dovodi do smanjenja veličine tranzistora ali
i do povećanja veličine pločica. Od pločica veličine prečnika 3 inča koje su se koristile 70-tih
godina, danas se u standardnoj proizvodnji koriste pločice dimenzija 11.8 inča (30cm), kao
što pokazuje sl. 1.7. Trend porasta produktivnosti po ovom osnovu raste, tako da se zagovara
prelaz na pločice prečnika 450mm (45cm) [Nit11].

Pločica (wafer)

Pelet (die)

Slika 1.6. Izgled poluprovodničke pločice

15
1.2 Kriterijumi za procenu kvaliteta projekta

Istovremeno dimenzije tranzistora smanjile su se od 7m na 14nm sa FinFET, odnosno 3D


transistorima [Pol12]. Napredak tehnologije proizvodnje IK u poslednjih 50-ak godina
gotovo je konstantan a iskazuje se udvostručavanjem broja tranzistora po čipu na svakih 18-
24 meseca. Ovakvu prognozu dao je Gordon Mur (Gordon Moore) još 1965. godine. Grafik
sa slike 1.8 ilustruje njegovu viziju koja nije izgubila na značaju ni danas, tako da je poznata
kao Murov zakon (Moore’s Low) [Moo65].
Danas, 50 godina od tog predskazanja možemo da konstatujemo da se trend u globalu
nastavlja, što pokazuje sl. 1.7 na primeru razvoja Intel© mikroprocesora. Siva isprekidana
linija na slici ilustruje Murov zakon. Treba napomenuti da se od 2010. godine uočava nešto
blaži rast. Diskusija oko toga kada će prestati da važi Murov zakon vodi se godinama.
Trenutna se predskazanja kolapsa Murovog zakona zasnivaju na dve teze. Jedna dolazi od
bivšeg inženjera u Intelu (od 1990-2000), Roberta Kolvela (Robert Colwell), i bivši direktor
Sektora za mikrosistemske tehnologije (Microsystem Technology Office) u DARPA
(Defense Advanced Research Projects Agency). Njegova je teza da napredak tehnologije
mnogo više košta nego što može da poboljša performance postojećih integrisanih kola.
Shodno tome, inženjeri će izgubiti podršku investitora što će, neminovno dovesti do
usporavanja tehnološkog rasta u ovoj oblasti [Col13]. Drugu tezu zastupa fizičar Dr Mičio
Kaku (Michio Kaku) professor na City University of New York [Kak12]. On vidi razlog za
usporenje tehnološkog rasta u činjenici da se tehnologija zasnovana na silicijumu približila
fizičkim granicama. Debljina pojedinih tehnoloških slojeva već sada je dostigla dimenzije
reda veličine 20 atoma. Kada dođe do 5 atoma, gubi se kontrola nad elektronima.
Hajzenbergov princip neodređenosti će prevladati i više nećemo znati gde se elektron nalazi.
Ovo će izazvati velike struje curenja zakočenih tranzistora i prekomerno zagrevanje. Zato
predviđa završetak napretka silicijumske ere u narednih desetak godina.
Cena procesiranja jedne pločice ne zavisi od broja tranzistora na njoj. Zato je cena izrade
jednog tranzistora opala za 6 redova veličine u poslednjih 20 godina, kao što pokazuje sl. 1.8.

Broj tranzistora na cipu [milion]


1.E+04
Pentium III
Pentium II

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

Slika 1.8. Pad cene izrade jednog tranzistora u IC


Da bi se odredila cena proizvodnje IC (koja direktno utiče na proporcionalne troškove), treba
definisati i pojam prinosa. Razmotrićemo uprošćeni prikaz sa sl. 1.9 na kojoj je prikazan
uticaj broja i rasporeda defekata (tačke) na prinos u zavisnosti od dimenzija peleta. Kao
prinos (yield) po pločici, Y, definiše se odnos broja ispravnih peleta na pločici, Npi, i ukupnog
broja peleta po pločici, Np, prema jednačini (1.3).
N pi
Y , (1.3)
Np
pri čemu se broj peleta po pločici određuje kao (1.4):

  Dw/22   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.

Slika 1.9. Uticaj gustne defekata na prinos u zavisnosti od dimenzija peleta

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.

Na pločicu prečnika Dw=12″ (300mm) može da se smesti Np = 252 peleta


površine Ap = 2,5 cm2 = 250mm2. Ukoliko je gustina defekta gD = 1 defekt/cm2,
očekivani prinos je 16%, što znači da će se od svake pločice dobiti samo 40
ispravnih kola.
Cena izrade jednog peleta CP može da se definiše kao odnos cene procesiranja jedne pločice
CW i ukupnog broja ispravnih peleta, odnosno, prema jednačini (1.6):
CW
CP  , (1.6)
Np  Yp
tako da je cena izrade jednog peleta proporcionalna četvrtom stepenu površine peleta. Da bi
se došlo do cene proizvodnje jednog IK, treba dodati i ostale proporcionalne troškove koji se
odnose na cenu asembliranja, Ca, testiranja Ct i pakovanja, Cpa tako da je:
C p  CP  Ca  Ct  C pa (1.7)

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.

Tabela 1. 1. Cene pojedinih generacija mikroprocesora (podaci iz 1994.)Treba naći


nove podatke za ovo!!!

Chip Metal Line Wafer Gd Ad Dies/ Yield Die


layers width cost cm-2 mm2 wafer cost
386DX 2 0.90 $900 1.0 43 360 71% $4

486 DX2 3 0.80 $1200 1.0 81 181 54% $12

Power PC 4 0.80 $1700 1.3 121 115 28% $53


601
HP PA 7100 3 0.80 $1300 1.0 196 66 27% $73

DEC Alpha 3 0.70 $1500 1.2 234 53 19% $149

Super Sparc 3 0.70 $1700 1.6 256 48 13% $272

Pentium 3 0.80 $1500 1.5 296 40 9% $417

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

S obzirom na prethodno mogu se izdvojiti sljedeće projektantske strategije za smanjenje


kašnjenja (povećanje brzine):
 smanjenje CL,
 povećanje W/L tranzistora,
 smanjivanje tox,
 povećanje VDD,
 smanjenje Vt,
 optimalan broj ćelija na putu signala i
 optimalna dimenzija ćelija.
Neke od navedenih strategija povećavaju potrošnju električne energije tako da se mora tražiti
kompromis između potrebne brzine obrade podataka i potrošnje.
Kada se govori o brzini kao kriterijumu za procenu kvaliteta integrisanih kola, treba imati u
vidu dva aspekta. Prvi se odnosi na povećanje brzine rada IK nastalo kao posledica uvođenja
nove tehnologije sa manjim i bržim tranzistorima. Drugi se odnosi na brzinu prenosa signala
u okviru IC koja se fabrikuju istim tehnološkim procesom.
Smanjenje dimenzija tranzistora (skaliranje) rezultira smanjenjem svih dinamičkih
parametara logičkih gejtova. Ono dovodi do smanjenja vremena potrebnog za obradu
informacija, odnosno povećanja maksimalne radne frekvencija signala takta. Sl. 1.12
prikazuje dijagram porasta radne frekvencije svake generacije mikroprocesora od 1971.
godine do 2012. godine. Između 1990 i 2000 primećuje se trend dupliranja radne frekvencije
na svake 2 godine, što je navelo prognozere tehnološkog rasta da ga ekstrapoliraju do 2010.
godine [Rab03]. Međutim, to se nije dogodilo, već se od 2000. godine taj trend usporio
[INT07, INT12d].
Radna frekvencija Intel © procesora [MHz]
1.E+05
Pentium III
Pentium II

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

Godina uvo đenja u proizvodnju

Slika 1.12. Porast radne frekvencije Intel© mikroprocesora

22
Glava 1

Brzinu digitalnog kola ograničavaju dinamički parametri signala na putu sa najvećim


kašnjenjem. To su takozvani kritični putevi. Zato se optimizacija sa stanovišta brzine obavlja
sa ciljem da se izbegnu kritični putevi ili da se na njima kašnjenje signala svede u prihvatljive
okvire. O tome treba voditi računa na svim nivoima dekompozicije projekta, kako tokom
strukturnog, tako i tokom fizičkog projektovanja.

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

1.2.4. Potrošnja energije


Poznato je da statička CMOS kola karakteriše veoma mala potrošnja u odnosu na druge
tehnologije. Dugo vremena je važilo da potrošnja postoji samo u kratkom intervalu tokom
promene stanja signala u kolu, dok je u stacionarnom stanju veoma mala. Zato se,
tradicionalno, tokom projektovanja CMOS IC nije vodilo računa o potrošnji. Međutim,
drastično smanjivanje dimenzija tranzistora i povećanje njihovog broja na čipu i porast
frekvencije takta dovelo je kriterijum potrošnje energije u prvi plan tokom projektovanja.
Pre nego što utvrdimo uzroke i posledice disipacije snage u savremenim IC, podsetićemo se
osnovnih definicija.Trenutna snaga izvora za napajanje, p(t), definiše se kao proizvod napona
napajanja VDD i trenutne vrednosti struje koju kolo troši iDD(t), prema (1.8):
p(t )  iDD (t ) VDD , (1.9)
dok se srednja vrednost utrošene snage u toku vremenskog intervala T izračunava kao (1.9):
T T
1 V
Ps 
T0 p(t )dt  DD  iDD (t )dt.
T 0
(1.10)

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

Energija potrebna da bi se promenilo logičko stanje na izlazu digitalnog CMOS kola


izračunava se kao proizvod utrošene snage i vremena koje protekne do uspostavljanja novog
stacionarnog stanja. Dakle jednaka je proizvodu snage i kašnjenja gejta. Kao mera kvaliteta
logičke ćelije posmatra se i proizvod energije i kašnjenja gejta [Rab03].
Disipacija snage ima dve komponente: statičku i dinamičku.
Statička disipacija
U idealnom slučaju statička disipacija u CMOS kolima jednaka je nuli. Međutim, postoje
sekundarni efekti usled kojih vrlo male struje teku i kroz zakočene tranzistore. To su:
 pretpragovske struje (struje koje teku pri naponima na gejtu tranzistora
manjim od napona praga),
 struje nastale tunelovanjem elektrona kroz oksid gejta i
 struje curenja kroz inverzno polarisane pn spojeve.
Za napone na gejtu manje od napona praga, VGS < Vt, struja nije jednaka nuli već
eksponencijalno pada kao što se vidi na sl. 1.14 gde je prikazana strujno-naponska
karakteristika jediničnog nMOS tranzistora (W/L=1) proizvedenog u 0,18 m tehnologiji.
Pretpragovska struja eksponencijalno zavisi od napona praga, tako da drastično dobija na
značaju sa skaliranjem dimenzija tranzistora, jer se dinamički opseg rada tranzistora
smanjuje, odnosno razlika između VDD i Vt postaje sve manja.
Silicijum dioksid je odličan izolator, zato je curenje kroz oksid gejta bilo zanemarivo malo.
Međutim, smanjenjem dimenzija tranzistora ispod 130nm dovelo je do značajnog smanjenja

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

0 0.3 0.6 0.9 1.2 1.5 1.8


V
t

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 100A.
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.6m. Ostali tranzistori čine
memorijski niz, a njihova srednja širina iznosi 0.2m. 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.

Ukupna dimenzija tranzistora sa povišenim strujama curenja iznosi (0.2· 20·106)


· (0.6m) = 2.4·106m, a tranzistora sa manjim strujama curenja ((0.8·

25
1.2 Kriterijumi za procenu kvaliteta projekta

20·106)(0.6m)+ 180·106 · (0.2m))=45.6·106m. Curenje struje gejta ispoljava


se kod svih tranzistora, dok se pretpragovska struja javlja samo kod tranzistora
koji su zakočeni (50%). Dakle, ukupna statička struja curenja biće Istat =
2.4·106m ·[ (20nA/m)/2 + (3nA/m)] + 45.6·106m· [ (0.02nA/m)/2 +
(0.002nA/m)] =32mA, a statička snaga Pstat = (32mA)·(1.8V)=38mW.
Prethodni primer ukazuje da bi opisano integrisano kolo, ugrađeno u mobilni uređaj napajan
baterijom od 1.5V, kapaciteta 550mAh, potpuno ispraznio bateriju za (550mAh x
1.5V)/38mW=22h, odnosno za manje od jednog dana i to samo usled statičke potrošnje – u
stanju mirovanja.
Sa smanjivanjem napona napajanja i dimenzija tranzistora ne samo da se smanjuje odnos
dinamičke i statičke potrošnje već statička potrošnja postaje veća. Na sl.1.15 prikazana su
predviđanja iz 2001. godine trendova smanjivanja dimenzija tranzistora i napona napajanja i
njihov uticaj na statičku i dinamičku potrošnju. Svi parametri su normalizovani u odnosu na
njihove nominalne vrijednosti iz 2001. godine. Sl. 1.15b jasno pokazuje da se statička
potrošnja aktuelnih CMOS tehnologija ne može zanemariti.

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

Uz pretpostavku da se za interval T izvrši prenese celokupno naelektrisanje Q dobija se za


srednju snagu disipacije (1.13):
VDD
PD  Tf pp CVDD   CVDD 2 f pp . (1.14)
T
Uobičajeno je da se specificira frekvencija takta kao parametar digitalnih kola. Najveći broj
logičkih gejtova ne menja stanje tokom svakog ciklusa signala takta, tako da je zgodnije da se
frekvencija punjenja/pražnjenja kondenzatora, fpp, prikaže sa faktorom aktivnosti,  1, u
odnosu na frekvenciju takta. Sada (1.14) može da se iskaže kao funkcija frekvencije takta fc,
prema (1.15):
PD    f c  C  VDD 2 . (1.15)

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,35m 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.

Kapacitivnost tranzistora u logičkom delu iznosi (20·106 tranzistora) · (0.6m)·


(2 fF/m)=24nF. Kapacitivnost u memorijskom delu iznosi (180·106
tranzistora) · (0.2m)· (2 fF/m)=72nF. Saglasno (1.14), da bi se dobila
dinamička disipacija po MHz, ne treba množiti sa fc, tako da je u logičkom delu
(0.1)·(24·10-9)·(1.2V)2=3.4564nW/Hz=3.456 mW/MHz, a u memorijskom delu

27
1.2 Kriterijumi za procenu kvaliteta projekta

iznosi (0.05)·(72·10-9) (1.2V)2 =5.184nW/Hz =5.184 mW/MHz. Konačno,


ukupna dinamička potrošnja iznosi 8.64 mW/MHz ili 8.6W pri frekvenciji takta
od 1GHz.
U slučaju da je faktor aktivnosti svih tranzistora 0.25, ukupna dinamička
disipacija snage iznosila bi (0.25)·(24·10-9+72·10-9)·(1.2V)2 =34.56 mW/MHz,
što bi pri frekvenciji takta od 1GHz rezultiralo disipacijom od 34.56W.
Što je veća snaga, temperatura čipa raste, tako da je rizik od otkaza veći ili se zahteva skupo
okruženje za odvođenje toplote. Da bi se sasvim sagledao ovaj problem pretpostavimo da
integrisano kolo iz prethodnog primera ima dimenzije 20mm x 20mm. To znači da se ukupna
snaga od 34.6W disipira sa čipa površine od 400mm2, odnosno da je ukupna površinska
gustina snage oko 0.08W/mm2. Poređenja radi, na grejnoj ploči prečnika 16cm (površina oko
200cm2=20000mm2) snage 1500W, gustina snage iznosi svega 0.07W/mm2. Odavde se vidi
da problem odvođenja toplote nije nimalo naivan. Drugim rečima identičan je problemu
hlađenja grejne ploče na uključenom šporetu!!! Kako će se videti u narednom poglavlju,
gustina snage predstavljala je u jednoj fazi razvoja integrisanih kola ključni problem..
Posmatrano sa stanovišta mikroprocesora jasno je da svaka nova generacija procesora crpi
veću snagu iz izvora za napajanje. Sa jedne strane to je uslovljeno povećanjem radne
frekvencije zbog povećane dinamičke potrošnje, a sa druge, povećanjem statičke potrošnje
usled povećanja struja curenja izazvanog redukcijom dimenzija tranzistora. Pri tome, broj
tranzistora na čipu stalno raste, pa i ukupna statička potrošnja raste. Ovome se
suprotstavljaju trendovi smanjenja napona napajanja i izbora boljih materijala. Na sl. 1.16
hronološki je prikazana potrošnja pojedinih generacija procesora namenjenih za stone
(desktop) personalne računare iz proizvodnog programa firme Intel. Za procesore označene
sa „*“ data je maksimalna snaga disipacije, dok je za ostale procesore prikazana projektovana
termička snaga TDP (Thermal Design Power). Pojam projektovane termičke snage odnosi se
na sposobnost odvođenja temperature koju mora da obezbedi sistem za hlađenje da se
procesor ne bi pregrevao pri normalnim radnim uslovima. Definiciju ovog pojma daju
proizvođači u katalogu, a postoji razlika kod Intel i AMD procesora. Ona je za 1.2 do 1.5
puta manja od maksimalne snage.
Podaci na osnovu kojih je prikazan dijagram sa sl. 1.16 dobijeni su na osnovu kataloških
podataka za procesore od 1971-1978 godine, na osnovu informacija sa internet adrese
http://www.cpu-world.com za procesore uvedene u proizvodnju od 1982-2008, a za
procesore koji su se pojavili posle tog datuma, sa internet adrese http://ark.intel.com.
Gledano globalno, sa stanovišta povećanja ukupne efikasnosti korišćenja energije, nove
tehnologije doprinose da se ona drastično povećava. Naime, svaka generacija procesora ima
poboljšane performanse koje omogućavaju izvršenje više zadataka za kraće vreme. Ovo ima
za posledicu da se efikasnost procesora povećava brže od trenda koji definiše Murov zakon
[Koo10]. Dijagram sa sl. 1.17 prikazuje povećanje energetske efikasnosti računara iskazanu u
broju računskih operacija po utrošenom kilovat času (kWh). Dijagram je preuzet iz [Koo09].

28
Glava 1

Potrošnja Intel © procesora [W]

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.16. Potrošnja pojedinih generacija Intel© procesora za desktop računare

Slika 1.17. Povećanje energetske efikasnosti kompjutera od 1980 do 2010 godine [Koo09]

29
1.2 Kriterijumi za procenu kvaliteta projekta

1.2.5. Mogućnost skaliranja


Murov zakon ne bi mogao da se održi bez stalnog smanjivanja dimenzija tranzistora.
Naravno, na njegovu održivost utiče i povećanje dimenzija čipa. Ovo potvrđuje dijagram sa
sl. 1.18 na kojoj su prikazane godine u kojima je Intel uvodio nove tehnologije u proizvodnju
mikroprocesora namenjenih stonim računarima. Dijagram je preuzet iz [Wes05] a nastao je
2005. godine. Uočava se da se dimenzije tranzistora smanjuju za 30% na svake 2-3 godine.
Ovaj trend je ekstrapoliran do 2016 godine za kada se predviđalo uvođenje „granične“
tehnologije od 22nm. Termin “granične“ označava tehnologiju koja se ne može više
poboljšavati smanjivanjem dužine kanala zbog fizičkih ograničenja. Njega ovde krajnje
oprezno navodimo jer je već ranije u više navrata predviđana granica pomerana. Tako se
1972. kao granična, pominjala dimenzija kanala od 0.25m [Mea80], dok se 1999. predviđalo
da će kraj skaliranju doći 2004. godine na dimenziji od oko 100nm [Dav99, Wes05]. Sva ta
predviđanja naveliko su prevaziđena. Tako, na primjer Intel najavljuje 7 nm tehnološki
proces u narednih nekoliko godina.

Slika 1.18. Uvođenje tehnoloških generacija u proizvodnji Intel mikroprocesora


(od 1970 do 2005) i predviđeni razvoj do 2016. godine [Wes05]
Pre nego što se posvetimo efektima koje donosi skaliranje tehnologije, moramo da damo
odgovor na pitanje zašto je važno da projektanti budu svesni tih efekata.
Letimičan pogled na sl. 1.18 pokazuje da se nova tehnološka generacija, sa smanjenim
dimenzijama tranzistora, pojavljuje u roku od par godina. To znači da projektant danas ne
može da očekuje da će inovirani dizajn projektovati sa istim tehnološkim parametrima i
pravilima, po kojima je projektovao prethodni. Zato unapred mora da zna kako će nova
tehnologija uticati na performanse projekta. Tek ako bude u stanju da dobro proceni te
performanse i uključi ih u tekući projekat, moći će da se nada da njegov rad danas neće biti
brzo obezvređen, već će veliki broj ugrađenih i proverenih rešenja moći da koristi i u
narednom projektu. Naravno, ovo nije samo stvar sujete projektanta, već i zahtev investitora
koji želi da smanji fiksne troškove vezane za cenu projektovanja.

30
Glava 1
Skaliranje dimenzija tranzistora u Intel© procesorima
1010
m

4004
8008
80 80

Pentium III
Pentium II
80 86

Pentium M
1m1

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 6m do 1m, 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 1m 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

Tabela 1. 2. Uporedni prikaz skaliranih parametara kod lateralnog i skaliranja sa


konstantnim električnim poljem
Parametar Lateralno skaliranje Konstantno el. polje
Dužina kanala: L 1/S 1/S
Širina kanala: W 1 1/S
Debljina oksida: tox 1 1/S
Koncentracija primesa: N 1 S
Napon praga: Vtn, Vtp 1 1/S
Napon napajanja: VDD 1 1/S
U Tabeli 1.3 prikazan je uticaj obe vrste skaliranja na karakteristike tranzistora i integrisanog
kola.

Tabela 1. 3. Uticaj skaliranja na karakteristike tranzistora i integrisanog kola


Zavisnost od faktora
skaliranja
Parametar Definicija
Lateralno Konstantno
skaliranje el. polje
 (1/tox)(W/L) S S
Struja: IDS (VDD-Vt)2 S 1/S
Tranzistor

Otpornost: R VDD/IDS 1/S 1


Kapacitivnost
WL/tox 1/S 1/S
gejta: C
Kašnjenje:  RC 1/S2 1/S
Frekvencija takta:
1/ S2 S
Integrisano kolo

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
Dc1,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,...).

Tabela 1. 4. Uticaj skaliranja na podužne parametre veza(po jedinici dužine)


Tip skaliranja
Karakteristika veze Definicija
2D 3D
Otpornost veze: Rw 1/wt S S2
Bočna kapacitivnost: Cwf t/s S 1
Paralelna kapacitivnost:
w/h 1 1
Cwp
Ukupna kapacitivnost
Cw = Cwf + Cwp Između 1 i S 1
veze: Cw
RC konstanta bez ripitera:
RwCw Između S i S2 S2
twu
RC konstanta sa Između 1 i
ripiterima: twr RCRwCw S S
Šum preslušavanja t/s S 1

Tabela 1. 5. Uticaj skaliranja na parametre lokalnih veza


Tip skaliranja
Karakteristika veze Definicija
2D 3D
Dužina veze: l 1/S 1/S
RC konstanta bez ripitera l2twu Između 1/S i 1 1
RC konstanta sa ripiterima ltwr Između 1/S i 1/ S 1/ S

33
1.2 Kriterijumi za procenu kvaliteta projekta

Tabela 1. 6. Uticaj skaliranja na parametre globalnih veza


Tip skaliranja
Karakteristika veze Definicija
2D 3D
Dužina veze: l Dc Dc
RC konstanta bez ripitera l2twu Između SDc 2 i S 2Dc 2 S 2Dc 2
RC konstanta sa ripiterima ltwr Između Dc i Dc S Dc S

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].

Slika 1.20. Uticaj skaliranja na propagaciono kašnjenje invertora [?]


Da bi se smanjio uticaj na smetnje, na istom čipu koriste se tranzistori sa različitim naponom
praga (kao u Primeru 1.2).
Smanjenje dimenzija tranzistora direktno utiče na smanjenje kašnjenja logičkih ćelija
(gejtova), kao što pokazuje Tabela 1.3. Na sl. 1.20 prikazan je trend opadanja propagacionog
kašnjnenja invertora od 13% godišnje, odnosno 50% u 5 godina [?]. Međutim, skaliranjem
dimenzija veza povećava se kašnjnje na vezama. Uvođenjem ripitera ublažava se problem
kašnjnja na vezama. Pored toga, postavlja se i nova strategija u razvođenju veza. Lokalne,
kratke veze, rade se u nižim slojevima metala i skaliraju se u sve tri dimenzije, dok se duge
veze trasiraju u višim slojevima metala. Da bi se smanjila podužna otpornost ovih veza one,
ne samo da se ne skaliraju, već im se, ako treba, povećavaju širina i debljina. Naravno,
intenzivno se radi i na uvođenju novih materijala sa manjom specifičnom otpornošću za veze
i manjom specifičnom permeabilnošću za izolatore, kako bi se smanjila ukupna podužna
otpornost, ali i kapacitivnost veza. Ova tendencija je očigledna kod procesa koje koristi
Taiwan Semiconductor Manufacture Corp. (TSMC), kako ilustruju podaci iz Tabele 1.7,
[Wes10].

34
Glava 1

Tabela 1. 7. Broj slojeva i vrsta metala u TSMC procesima


Proces [nm] 500 350 250 180 150 130 90 65 45
Broj slojeva i 3 4 5 6 7 8 9 10 10
vrsta metala (Al) (Al) (Al) (Cu) (Cu) (Cu) (Cu) (Cu) (Cu)
Projektanti moraju da budu svesni činjenice da će maksimalna dužina veze do koje signal
može da se prostire za vreme jedne periode taktnog signala da se smanjuje. O ovome treba
voditi računa na sistemskom nivou i predvideti odgovarajuće arhitekture (podela na blokove
od 50-100 hiljada gejtova, primena protočne arhitekture, i sl.).
Iako se na osnovu podataka iz Tabele 1.3 može zaključiti da skaliranje po principu
konstantnog polja ne utiče na povećanje snage, treba imati u vidu da se podaci u tabeli
odnose na parametre jednog tranzistora. Međutim, kada se uzme u obzir povećanje broja
tranzistora po čipu (sl. 1.10.a), jasno je da snaga raste.
Slične rezultate pokazuje i histogram povećanja snage kod Intelovih mikroprocesora kojeg je,
kako se navodi u [Wes05], prikazao potpredsednik Intel korporacije, gospodin Patrick
Gelsinger, na Međunarodnoj konferenciji International Solid State Circuits Conference,
održanoj Februara 2001. Ovaj histogram reprodukovan je na sl. 1.21.a. Tada izrečena
pesimistička prognoza da će 2005. godine mikroprocesori po gustini snage dostići nuklearne
reaktore (sl. 1.21.b), izazvala je pad Intelovih akcija za 8%.
Imajući u vidu realnu opasnost da se suoči sa nepremostivim tehnološkim problemima koji se
odnose na gustinu snage, Intel je već tada razvijao nova sistemska rešenja u realizaciji
mikroprocesora. Da bi se smanjila potrošnja i zagrevanje čipa, a povećale opšte performanse,
na istom čipu smeštaju se dva posebna mikroprocesorska jezgra. Na taj način, čip sa 1.72 10 9
tranzistora, umesto 300W, troši 100W na 2GHz. Poređenja radi, Itanium 2 procesor
prethodne generacije trošio je 130W pri nižoj radnoj frekvenciji. Ova strategija brže je dovela
do rešenja nego što se očekivalo, tako da je Intel u maju 2004. godine povukao iz razvoja
mikroprocesore Tejas i Jayhawk koji su trebali da zamene Pentium 4 i Xeon DP, [Kra05].
Dalji razvoj procesora pratio je ovu logiku, tako da je Intel od 2009. godine komercijalno
pustio na tržište procesore za desktop računare sa četiri jezgra. To su Intel® Core™ i5-750
procesori sa 8M keš memorije koji rade na 2.66 GHz, sa projektovanom termičkom snagom
od 95W. Sumirajući izlaganje u ovom poglavlju možemo da zaključimo da tendencija
povećanja broja tranzistora po čipu sa faktorom 1,8 raste i dalje, prateći Murov zakon već 40
godina. Svaka nova tehnologija smanjuje dimenzije tranzistora sa faktorom ~0.7. Doduše, sa
sl. 1.9 vidi se da je trend nešto usporen između Core 2G i Core 3G procesora. Zato, a i iz
tehno-ekonomskih razloga, postoje prognoze da će rast broja tranzistora po čipu ući u
zasićenje kada se dostignu dimenzije 5-7nm [Kak12, Col13]. Naravno, ne treba izgubiti iz
vida da se više puta najavljivao kraj Murovog zakona, ali da je inventivnost nalazila načina
da produži njegov vek. Sa sl. 1.9 primetno je odstupanje od murove prognoze između 1995 i
2000. godine, u vreme pojave Pentium Pro, Pentium II, Celeron i Pentium III procesora, ali je
trend vraćen u predviđene okvire pojavom Pentium 4. Čak i najpesimičnije prognoze vide
usporavanje rasta posle 2022. godine. To znači da se može očekivati nastavak trenda
dupliranja broja funkcija po čipu i smanjenja cene po tranzistoru, odnosno po ugrađenoj
funkciji. Postavlja se pitanje kako projektovati čipove sa enormno velikim brojem funkcija,
jer ni broj projektanata ni “produktivnost projektanata” ne raste istim tempom. Zato su

35
1.3 Strategije u projektovanju

potrebni novi metodi za projektovanje integrisanih kola. Pregled raspoloživih strategija i


stilova projektovanja IC dat je u narednim poglavljima.
18KW
Raketni

Gustina snage (W/cm2)


10000 5KW
1.5KW Motor
1000
1000 500W Nuklearni
ni
Pentium® proc Reaktor
100 100
P (W)

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.

1.3. Strategije u projektovanju


Velika složenost savremenih integrisanih kola zahteva da se problem projektovanja
pojednostavi. Danas se u tom cilju sprovode četiri strategije:
1. hijerarhijska podela,
2. regularnost,
3. modularnost i
4. lokalizovanje.
Hijerarhijska podela
Najjednostavniji način da se reši složeni problem jeste da se podeli na više manjih problema.
U tom smislu, složeni projekat se deli na više potprojekata, a svaki od njih deli se na manje
celine dok se ne dođe do modula koji su dovoljno jednostavni, tako da njihovo projektovanje
ne predstavlja veliki problem.
Regularnost. Podela projekta na veliki broj potprojekata neće naročito da redukuje problem
ukoliko se ne smanji broj različitih modula od kojih se projekat sastoji. Zato je veoma važno
da se tokom razlaganja projekta vodi računa o celinama koje se mogu koristiti u više
potprojekata. Regularnost može da se iskaže na svim nivoima apstarkcije. Na primer, na
sistemskom, to je primena istih mikroprocesora, na RTL - korišćenje istih tipova registara, na
logičkom - korišćenje istih logičkih ćelija, na električnom - tranzistora istih dimenzija.
Modularnost. Modularnost podrazumeva unifikaciju parametara ulazno/izlaznih
(input/output I/O) signala. Ukoliko bi, u idealnom slučaju, svaki modul imao beskonačnu
ulaznu otpornost, a izlazna otpornost bila jednaka nuli, ne bi bilo opasnosti da se naruši
integritet signala njihovim međusobnim vezivanjem. S obzirom da je to idealni slučaj, u
praksi treba težiti da mu se što više približimo. Jedan od načina je da se svakom modulu,
nezavisno od hijerarhijskog nivoa na kome se nalazi, pristupa preko I/O bafera definisanih
karakteristika (ulazna kapacitivnost i izlazna struja, fan-out). Na taj način obezbeđuje se veća

36
Glava 1

sloboda u dodeljivanju naziva signala i smanjuje mogućnost da dođe do zabune tokom


trasiranja veza.
Lokalizovanje. Modularnost ima za cilj da obezbedi standarde u pogledu IO signala, tako da
unutar modula ne mora da se vodi računa o njihovim parametrima. Projektovanje unutar
modula (bez obzira na kom se hijerarhijskom nivou nalazi) može da se obavi potpuno
nezavisno od signala van modula. Na taj način moguće je, a i korisno je, da se dinamika
unutrašnjih signala iskaže relativno, u funkciji od spoljašnjih signala. Dobra je strategija da se
za referentni signal usvoji signal takta. Ovakav pristup omogućava nezavisno skaliranje
svakog modula.

1.4. Stilovi projektovanja


Generalno, elektronska kola mogu se projektovati na bazi:
1. Standardnih integrisanih kola – SIC (Standard Integrated Circuits)
2. Integrisanih kola specifične namene - ASIC (Application Specific Integrated
Circuits)
3. Standardnih integrisanih kola specifične namene - SASIC (Standard Application
Specific Integrated Circuits)
Detaljnija klasifikacija stilova projektovanja ilustrovana je na sl. 1.22.
Projektovanje elektronskih kola

Standardna Integrisana kola specifič ne namene Standardna ASIC


integrisana kola ASIC SASIC

Potpuno projektovanje Delimično projektovanje


po narudžbini po narudžbini
Custom Design Semicustom Deign
(CD) (SD)

Standardne ć elije Makroćelije Gejtovski nizovi


Standard cells Macro cells Gate array (GA) Struktuirani
(SC) (MC) Sea OF Gates (SOG) ASIC

Jednostavne programabilne Složene programabilne


Programirljivi gejtovski nizovi
logičke komonente logičke komponente
Simple Programable Logic Devices Complex Programable Logic Devices Field programable gate array
(FPGA)
(SPLD) (CPLD)

Slika 1.22. Osnovni stilovi projektovanja elektronskih kola


Iz ove podele izdvajamo integrisana kola specifične namene ASIC i standardna integrisana
kola specifične namene SASIC, dok će se o standardnim integrisanim kolima (SIC) govoriti
samo u meri koja je potrebna da bi se skrenula pažnja na sve metode projektovanja koji

37
1.4 Stilovi projektovanja

inženjerima stoje na raspolaganju. Od inženjera se očekuje da na osnovu poređenja osobina


stilova projektovanja ume da izabere onaj, koji najviše odgovara njegovim potrebama.
Redosled opisa stilova projektovanja u ovom tekstu poklapa se sa istorijskim redosledom
njihove pojave na tržištu.

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

Projektanti digitalnih sistema danas raspolažu sa veoma širokim spektrom digitalnih


integrisanih kola, kako po funkcionalnosti tako i po njihovoj složenosti. Složenost, odnosno
kompleksnost, meri se stepenom integracije koji predstavlja broj osnovnih elemenata
(tranzistora) ugrađenih (integrisanih) u jednoj integrisanoj komponenti. Usavršavanjem
tehnologije stepen integracije iz godine u godinu raste u skladu sa Murovim zakonom (sl.1.7).
Po stepenu integracije monolitna IC možemo podeliti u pet grupa (Tabela 1.8):
 kola malog stepena integracije ili SSI (engl. Small-Scale Integration) u sebi
sadrže do 100 osnovnih elemenata;
 kola srednjeg stepena integracije ili MSI (engl. Medium-Scale Integration) sa 100
do 1 000 osnovnih elemenata;
 kola visokog stepena integracije ili LSI (engl. Large-Scale Integration) koja imaju
1 000 do 10 000 elemenata;
 kola vrlo visokog stepena integracije ili VLSI (engl. Very Large Scale Integration)
sa 10 000 do 100 000 elemenata;
 kola ultra velikog stepena integracije ili ULSI (engl. Ultra Large Scale
Integration) sa 100 000 do 1 000 000 i više elemenata. S obzirom na
funkcionalnost ULSI, prije se može govoriti o digitalnim sistemima nego o
kolima.
 sistem na pločici – WSI (engl. Wafer Scale Integration) sa više od 10 000 000
elemenata ili kola ogromnog stepena integracije – GSI (engl. Giant Scale
Integration).
Tabela 1.8 Klasifikacija prema broju tranzistora po integrisanom kolu
Tehnologija SSI MSI LSI VLSI ULSI WSI
Broj
1-100 100-1000 1000-10000 10000-100000 100000 - 1000000 >107
tranzistora
Tipična Logička Registri, 4 i 8-bitni 16 i 32-bitni 64-bitni Digitalni
funkcija kola, brojači, mikroproces mikroprocesori mikroprocesori, sistem
flipflopovi, aritmetička ori, ROM, , signal memorije velikog
operacioni kola, filteri, RAM procesori kapaciteta
pojačavači, ... ... ... (>100 Mbita)
većina mikroračunari
linearnih
kola ...
U tabeli 1.8, osim približnog broja tranzistora po integrisanom kolu, date su i neke od tipičnih
funkcija kola. Treba naglasiti da je navedena podela davno nastala i da je došla do zasićenja.
Danas se proizvode integrisana kola sa više od 109 tranzistora, što, prema Tab.1.8 odgovara
WSI ili sistemu na čipu – SoC (engl. System on Chip).
Projektant digitalnog sistema sa standardnim integrisanim kolima treba da uvažava sledeće
preporuke:
 Što manji broj integrisanih kola. To podrazumijeva primenu IC sa što većim stepenom
integracije. Time se postižu manje dimenzije štampane ploče, veća pouzdanost
sistema i manja osetljivost na šumove.

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

Slika 1.24. Lejaut kola potpuno projektovanog po narudžbini


Sl. 1.25 pokazuje uporedni prikaz lejauta intelovih mikroprocesora 4004 i Pentium IV. Prvi
mikroprocesor crtan je ručno, dok su kod Pentiuma IV korišćeni alati za automatsko
generisanje lejauta što je rezultovalo pravilnim strukturama.
Za čitaoce koji se prvi put sreću sa lejautom IC ukazujemo, na primeru Intel 4004, na
osnovnu strukturu lejauta.
Središnji deo čipa naziva se jezgro (core) u njemu se odvija osnovna funkcija IC. Po periferiji
su smeštene stopice (pad) preko kojih se, tankom žicom (bond) vezuju nožice kućišta IC sa
čipom. Sa strane čipa, stopice su vezane za integrisane I/O bafere koji služe da prilagode
spoljašnje signale signalima unutar jezgra. U njima se nalaze i elementi za zaštitu od
prenapona.
Stopica
(pad)
Jezgro čipa

Intel 4004 ('71) Intel 8486 ('89)


Slika 1.25. Lejaut intelovih mikroprocesora iz 1971. i 1989. godine
Delimično projektovanje po narudžbini
Da bi se skratilo vreme i cena projektovanja, kao i vreme do izlaska novog proizvoda na
tržište, a time povećala atraktivnost primene ASIC-a, proizvođači IC ponudili su
pretprojektovane i pretproizvedene strukture. Tako se stiglo do stila projektovanja poznatog
kao delimično projektovanje po narudžbini. Zapravo samo su primenjene strategije u
projektovanju, koje su navedene u prethodnom poglavlju. Definisan je skup logičkih modula
koji može da se koristi u velikom broju različitih projekata (regularnost i modularnost). Za
svaku tehnologiju specificirane su I/O karakteristike modula, a unutrašnjost svakog modula
lokalno je projektovana (lokalizovanje), tako da je poznat redosled i položaj portova preko
kojih moduli mogu međusobno da se povezuju (u daljem tekstu ove portove zvaćemo pinovi).

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

Sp3 Sp2 Sp1 VDD VDD


p3 p2 p1
Dp3 Dp2 Dp1 C Dp3=Dp2 B A Dp1
F PMOS niz
Dn1
A n1 Sp3 Sp2=Sp1
Sn1
F
Dn2
Dn3=Sn2
B n2
Sn2 Sn3 Dn1 NMOS niz

Dn3
C B A Dn2=Sn1
C n3
Sn3
VSS VSS

Slika 1.27. Simbol, električna šema i lejaut NI3 ćelije

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

a) Lejaut klasičnog GA b) Lejaut SOG


Slika 1.29. Lejaut peleta gejtovskih nizova sa nepovezanim tranzistorima
Klasični GA sadrži nizove parova pMOS i nMOS tranzistora. Između nizova ostavljen je
kanal za međusobno povezivanje, a parovi gejtova unutar niza međusobno su odvojeni zbog
izolacije. Za razliku od njih, celo jezgro SOG prekriveno je nizovima tranzistora, bez kanala
za trasiranje veza. Logički gejtovi u nizu međusobno se izoluju zakočenim tranzistorima (gejt
pMOSa vezuje se za VDD, a nMOSa za VSS). Gejtovi (logičke ćelije) međusobno se povezuju
u višim slojevima metala, dok se lokalna metalizacija, unutar gejta, obavlja na nižim

44
Glava 1

slojevima. Lejaut dela jezgra sa nepovezanim tranzistorima za GA i SOG strukture prikazani


su na sl. 1.30.a, dok je realizacija NI3 ćelije na osnovu GA i SOG strukure prikazana na sl.
1.30.b.
Po obodu su nizovi tranzistora drugačijih dimenzija od centralnih. Od njih se formiraju
periferne ćelije, slično kao kod SC.
Postupak izrade kola projektovanih na bazi gejtovskih nizova odvija se u dve faze. Najpre se
fabrikuju pločice sa nepovezanim tranzistorima. Ova faza nezavisna je od konačnog izgleda
kola, tako da pločice mogu masovno da se proizvedu. Po završetku ove faze, površina pločice
prekrije se zaštitnim slojem (pasivizacija). Tako zaštićenee pločice odlažu se u magacin.
Naravno, da bi bio moguć postupak dofabrikacije, peleti nisu razdvojeni, već se nalaze na
pločici (sl. 1. 6). Druga faza proizvodnje počinje kada proizvožač primi narudžbinu za ASIC.
Tada uradi nove maske za metalizaciju i počinje dofabrikaciju, time što skine zaštitni sloj i
nastavi procesiranjem metalnih veza.
Sa stanovišta optimizacije površine, brzine i potrošnje, gejtovski nizovi imaju lošije osobine
od SC. Zato je njihova primena isplativa kada se očekuje manji obim proizvodnje.
Nepoveza ni tra nzistori Nepoveza ni tra nzistori NAND3 NAND3
VDD VDD

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

Kako se fizički programiraju veze?


Postoji više načina da se veze programiraju. Oni se svode na primenu sledećih principa:
 osigurač (neželjena veza izgori, kada se kroz nju propusti veća struja),
 antiosigurač (formira se provodna veza, smanji se otpornost između dve
veze) i
 tranzistor kao prekidač (kontrolom napona na gejtu tranzistora upravlja se
prekidačem koji povezuje dve veze).
SASIC kola mogu da se svrstaju u dve kategorije:
 kola koja mogu da se programiraju samo jednom (nereprogramabilna
kola), i
 kola čije se veze mogu programirati više puta (reprogramabilna kola).
U zavisnosti od složenosti unutrašnje strukture SASIC mogu da se razvrstaju na (sl. 1.22.):
 Jednostavne programabilne logičke komponente - SPLD (Simple
Programmable Logic Array)
 Složene programabilne logičke komponente - CPLD – Complex
Programmable Logic Devices)
 Programabilne gejtovske nizove - PGA (Programmable Gate Array)
Uprošćeni simbolički grafički prikazi ovih struktura dati su na sl. 1.32.

SPLD CPLD PGA


Slika 1.32. Uprošćena struktura osnovnih programirljivih kola (SASIC)

Jednostavne programabilne logičke komponente - SPLD


Najjednostavniju strukturu imaju komponente zasnovane na programirljivim logičkim
nizovima. One sadrže niz I i niz ILI logičkih kola.
SPLD komponente zasnovane su na činjenici da svaka logička funkcija može da se napiše u
obliku sume proizvoda, odnosno da se razloži na operacije I koje formiraju proizvod i
operacije ILI kojima se proizvodi sumiraju. Sa stanovišta realizacije to znači da se kolo koje
obavlja funkciju kombinacione logike može razložiti na I i ILI logička kola.
Na sl. 1.33 dat je uporedni prikaz SPLD struktura.

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

Fiksni O3O2O1O0 Programirljiv O 3O 2O 1O 0 Programirljiv


AND AND AND O 3O 2O 1O 0

PROM PAL PLA

Slika 1.33. Šematski prikaz SPLD struktura


Zavisno od mogućnosti programiranja poznati su sledeći varieteti ovih kola:
 PROM (Programable Read Only Memory) - sadrži fiksan I i
programabilan ILI niz.
 PAL (Programable Array Logic) - sadrži programabilan I i fiksan ILI niz.
 PLA (Programable Logic Array) - sadrži programabilan I i
programabilan ILI niz.
Složene programabilne logičke komponente - CPLD
CPLD imaju složeniju strukturu od PLA. Mogu da sadrže više SPLD struktura ili SPLD
strukturu u kombinaciji sa makroćelijom koja sadrži i sekvencijalana kola. Na sl. 1.34
prikazana je generalna blok šema CPLD.
I/O Blok

I/O Blok

• SPLD SPLD •
• Blok Blok •
• •

Matrica me đusobnih ve za

• •
• •
I/O Blok

I/O Blok

• SPLD SPLD •
Blok Blok

Slika 1.34. Blok šema CPLD

48
Glava 1

Slika 1.35. Struktura CPLD iz proizvodnog programa Altera Corp. [Alt11]


Struktura savremenog CPLD pod nazivom MAX V iz proizvodnog programa Altera Corp.
prikazana je na sl. 1.35, [Alt11].
Osnovna razlika u odnosu na strukturu sa sl. 1.33 predstavlja jezgro sačinjeno od niza
logičkih blokova (Logic Array Block – LAB) između kojih prolazi snop programabilnih veza
(MultiTrack Interconnect). Svaki LAB sastoji se od niza logičkih elemenata – LE (Logic
Element). Druga važna osobina savremenih CPLD predstavlja ugrađena stalna fleš memorija.
Njen veći deo služi da čuva sadržaj isprogramirane konfiguracije, dok manji deo predstavlja
korisničku memoriju. Kao i na sl. 1.34 ulazno/izlazni blokovi (IO blok) nalaze se po
periferiji, a na sl. 1.35 naznačeni su sa IOE (Input/Output Element).
Struktura logičkog elementa prikazana je na sl. 1.36.

49
1.4 Stilovi projektovanja

Slika 1.36. Struktura unutrašnjeg LE bloka sa sekvencijalnim elementom (Altera) [Alt11]


Programabilne gejtovske mreže - PGA
Od pojave PGA, klasični GA, odnosno SOG, nazivaju se i gejtovski nizovi programirani
maskom - MPGA (Mask Programable Gate Array), dok se za savremene PGA kaže da su
korisnički (lokalno) programabilne i poznate su pod akronimom FPGA (Field Programable
Gate Array).
FPGA se sastoji od matrice programabilnih logičkih struktura, oko kojih je provučena mreža
programabilnih veza. Po periferiji su raspoređeni I/O blokovi koji se mogu programirati da
obavljaju funkciju ulaznih, izlaznih ili bidirekcionih bafera. Kao što se vidi na sl. 1.37,
struktura FPGA dosta podseća na GA.

Slika 1.37. Struktura FPGA [Nat14]

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).

Slika 1.39. Arhitektura Xilinx UltraScale MPSoC [Xil15]

1.5. Izbor odgovarajućeg stila projektovanja


Izbor stila projkektovanja zavisi od specifičnih zahteva. Zato se od inženjera elektronike
očekuje, ne samo da zna koji stilovi projektovanja postoje, već i da ume da proceni optimalni
stil koji će dati najbolji rezultat u konkretnom slučaju. Da bismo bili u stanju da donesemo
takvu odluku, moramo da poznajemo osobine kola projektovanih različitim stilovima, ali i
osobine uređaja u kojima su ugrađena projektovana kola. U Tabeli 1.8 sumirane su najvažnije
osobine IK i uređaja u kojima su ugrađena. ...

52
Glava 1

Zaključak

Standardna IC ASIC SASIC


+ Lako dostupna + Pouzdanost veća + Omogućava brzu izradu
+ Postoji navika i iskustvo + Asembliranje gotovog prototipa
- Obično zahteva veliki uredjaja kraće + Zaštićena poslovna tajna
broj kola + Zaštićena poslovna tajna - Veliki broj pinova
- Pouzdanost manja + Cena manja ako se - Zahteva poznavanje novih
- Za veće serije najčešće izabere optimalni stil alata
skuplje od ASIC - Zahteva poznavanje novih
- Poslovna tajna nije alata- Duže vreme do
zaštićena izlaska na tržište

1.6. Automatizacija projektovanja


Potpuno nezamislivo da se govori o projektovanju integrisanih kola, a da se ne podrazumeva
da će se najveći deo aktivnosti obavljati automatski. Jednostavno rečeno, nije moguće da se
ručno manipuliše sa toliko mnogo podataka. Zato je projektantima osnovni alat računar na
kome je instaliran sofisticirani softver, odnosno alat, za projektovanje IC. Potreba za
usavršavanjem IC nastaje iz želje da se naparvi hardver koji će raditi brže, biti manji, trošiti
manje energije, koštati manje i čijom se prodajom može ostvariti veći profit. Da bi se
omogućilo projektovanje IC sa više miliona tranzistora neophodno je razviti veoma složeni
softver. Naravno, da bi takav softver efikasno radio neophodan mu je odgovarajući hardver.
Održivost ciklusa u razvoju na relaciji hardver-IC-softver-hardver baziran je na racionalnom
povećanju poluprečnika spirale želje-potrebe-mogućnosti-želje. Zato složenost alata za
projektovanje koji omogućavaju automatizaciju ovog procesa prati razvoj tehnologije IC. U
tom smislu od alata za projektovanje se očekuje da podržava ne samo različite tehnologije IC
nego i različite stilove projektovanja.
Pre razmatranja automatizacije projektovanja, podsetimo se ilustracije projektovanja sa sl.
1.4. Rekli smo da se projektovanje može ilustrovati prolaskom kroz ravan projektovanja od
levog gornjeg, do desnog donjeg ugla. Način na koji će se taj put preći definisan je stilom
projektovanja kao što ilustruju sl. 1.40. i sl. 1.41.
Dijagram toka potpunog projektovanja po narudžbini (CD) prikazan je na sl. 1.40.a. Sive
strelice prikazuju put kojim se prolazi kroz sve faze projektovanja.
Kod projektovanja na bazi standardnih ćelija (sl. 1.40.b), put projektovanja je skraćen, jer se
u fizičkom domenu direktno prelazi sa logičkog na tranzistorski nivo. Ovo je moguće jer su
prethodno već pretprojektovane sve ćelije na tranzistorskom nivou. Što je nivo definisanja
pretprojektovanih struktura viši, kraći je put do konačnog cilja, što je ilustrovano na sl. 1.41.
Ukoliko su pretprojektovane strukture definisane na RTL nivou (sl. 1.41.a) duži je put
projektovanja (sive strelice) nego u slučaju kada su makroćelije definisane na algoritamskom
nivou (sl. 1.41.b).

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

ALU, RAM, množači, Logička kola,


diskovi, veze
drajveri, delitelji, veze (logička
periferije,
magistrale
kontroleri multiplekseri, šema)
(elek trična
šema)
a)
registri

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

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

ALU, RAM, množači, Logička kola,


diskovi, veze
drajveri, delitelji, veze (logička
periferije,
magistrale
kontroleri multiplekseri,
registri
šema)
(elek trična
šema) b)
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)

Slika 1.40. Grafički prikaz potpunog i delimičnog projektovanja po narudžbini zasnovanog na


SC
Idealni program za projektovanje trebao bi da omogući prevođenje opisa projekta sa veoma
visokog nivoa ponašanja do detaljnog fizičkog nivoa. Generalno, takvo rešenje ne postoji. Šta
sprečava potpunu automatizaciju u opštem slučaju?
Kao što se sa prethodnih dijagrama vidi, na određenom nivou apstrakcije može da se propiše
skup modula na osnovu kojih će se sintezovati željena funkcija. Dakle, taj skup
predefinisanih struktura (možemo ih posmatrati kao „LEGO“ kockice) je ograničen, što je i
bio cilj primene strategije regularnosti. Međutim, kad god se javi potreba da se taj skup
proširi, treba prevesti opis nove funkcije u novu strukturu, na nižem hijerarhijskom nivou.
Tako na primer, uvođenje nove logičke ćelije zahteva novu električnu šemu. Ta aktivnost za
sada ne može da se automatizuje. Ovaj problem rešen je na fizičkom nivou, alatima za
automatski razmeštaj i povezivanje. Ne treba potcenjivati inventivnost ljudskog roda i tvrditi
da će automatska sinteza, u opštem slučaju, ostati nerešen problem. Šta više, stepen
automatizacije stalno raste.

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

ALU, RAM, množači, Logička kola,


diskovi, veze
drajveri, delitelji, veze (logička
periferije, (električna
kon troleri multiplekseri, šema)
magistrale šema)
registri

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

ALU, RAM, množači, Logička kola,


diskovi, veze
drajveri, delitelji, veze (logička
periferije, (električna
kon troleri multiplekseri, šema)
magistrale šema)
registri

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)

Slika 1.41. Grafički prikaz projektovanja sa makroćelijama definisanim na RTL i


algoritamskom nivou

Aktivnosti vezane za projektovanje složenog digitalnog kola mogu da se prikažu opštim


dijagramom toka projektovanja sa sl. 1.42.

Postojanje pretprojektovanih struktura olakšava projektovanje ali i “omekšava” granicu


između pojedinih faza projektovanja. Naime, tokom logičkog projektovanja vodi se računa o
modulima koji su raspoloživi na fizičkom nivou (postoje odgovarajuće biblioteke). Imajući
ovo u vidu, postupak projektovanja složenog digitalnog kola može da se sublimiše
dijagramom sa sl. 1.43 koji je inicijalno definisao Smith još 1997 godine [Smi97], ali je i
dalje primenljiv.

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

Razmotrimo aktivnosti koje su vezane za projektovanje na RTL nivou, uz pretpostavku da


raspolažemo pretprojektovanim logičkim ćelijama. Ova pretpostavka važi za veoma
rasprostranjene stilove projektovanja bazirane na primeni SC, MPGA i FPGA.
Pojedine aktivnosti opisaćemo prema redosledu naznačenom na blokovima sa sl. 1.43.
1. Opis projekta digitalnih kola relativno je jednostavan uz primenu jezika za opis
hardvera - HDL (Hardware Description Language) i to kako u domenu
ponašanja tako i u strukturnom domenu. U tu svrhu, danas su naročito
popularni jezici VHDL (Very high speed integrated circuits HDL) i Verilog,
odnosno njihova proširenja za opis analognih i kola sa mešovitim signalima
VHDL-AMS i Verilog-AMS, [Zwo00]. (Čitalac se upućuje na [Zwo00],
[Dam00], [Pet05a] i [Pet09] kao pomoćnu literaturu za učenje VHDL i VHDL-
AMS jezika.)
2. Logička sinteza predstavlja aktivnost tokom koje alat za sintezu tumači HDL
kôd i prevodi ga u prepoznatljive logičke module. Moduli mogu biti definisani
na različitim hijerarhijskim nivoima. Na RTL nivou to može biti sabirač,
multipleksor i sl.

56
Glava 1

3. Razlaganje (partitioning) podrazumeva prevođenje logičkih modula sa višeg


nivoa u osnovne logičke ćelije koje se nalaze u biblioteci ćelija. (Na primer
sabirač se prevodi na nivo XOR ili se određene logičke funkcije svode na one
koje mogu da se realizuju u okviru jednog CLB na FPGA).
4. Pre-lejaut simulacija ima zadatak da proveri da li su ispunjeni projektni
zahtevi. Potrebno je da se simulacija obavi posle svakog od prethodnih koraka.
Simulacijom na osnovu HDL kôda blagovremeno se proverava opis projekta u
domenu ponašanja, pre početka sinteze. Tek ako se verifikuju projektni
zahtevi, ide se na sledeći korak. Posle sinteze i razlaganja dostupne su tačnije
informacije o tome koje će se logičke ćelije koristiti, a onda su, iz biblioteke,
dostupne i precizne informacije o kašnjenju svake ćelije.
5. Planiranje rasporeda predstavlja najviši hijerarhijski nivo u fizičkom domenu
opisa. Pravi se raspored većih logičkih modula. Pri tome se vodi računa da se
logički elementi u jednom modulu taktuju istom frekvencijom. Razmatra se
međusobni uticaj pojedinih modula i donose strateške odluke o organizaciji
čipa. Donešene odluke značajno mogu da utiču na veličinu najdužih veza, a
time i na kritično kašnjenje u kolu. Zato efekte koji mogu da proisteknu iz ove
faze treba uključiti u procenu što ranije, najbolje još pre razlaganja.
6. Razmeštaj (placement) pojedinih logičkih ćelija u okviru jednog niza ćelija
(kod SC, MPGA) ili u okviru polja CLB kod FPGA, obavlja se sa ciljem da se
minimizira dužina svih veza (ili najduže veze). Pri tome, uzimaju se u obzir
samo informacije o broju međusobnih veza između ćelija, a ne i njihov stvarni
položaj.
7. Povezivanje (routing) je aktivnost tokom koje se trasiraju veze između
pojedinih ćelija. Tek po okončanju ove aktivnosti poznate su tačne dužine
veza. Tada se dobijaju precizne informacije o kašnjenju duž veza.
8. Ekstrakcijom parametara kola iz lejauta dostupni su podaci o parazitnim
kapacitivnostima na izlazima, jer se znaju dimenzije i položaji svih delova
lejauta. Kao rezultat ove aktivnosti dobija se lista opisa kola na tranzistorskom
nivou (net lista). Net lista sadrži sve parametre neophodne za detaljnu
simulaciju ponašanja kola.
9. Post lejaut simulacija treba da verifikuje ispravnost celog projekta. Ako
rezultati ove simulacije potvrđuju specifikacije projekta, projektovanje u užem
smislu je završeno. Tada mogu da se ekstrahuju podaci za izradu maski, čime
je projekat spreman za izradu prototipa, odnosno programiranje, ako se radi o
FPGA. Ukoliko se ne dobiju željeni rezultati treba redizajnirati kolo. U
najgorem slučaju treba početi od faze razlaganja i planiranja površine sa
drugačije grupisanim modulima.

57
1.6 Automatizacija projektovanja
početak

pre-lejaut
opis projekta

projektovanje
simulacija
4 1

logičko
logička
sinteza 2

razlaganje
3

post-lejaut plan površine


simulacija
9 5 čip

razmeštaj

projektovanje
blok
6

fiz ičko
ekstarkcija povezivanje
kola logičke
8 7 ćelije

kraj

Slika 1.43. Blok dijagram projektovanja do automatske sinteze lejauta

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

Slika 1.44. Blok šema sistema za projektovanje [Lit00]

1. Sprega sa korisnikom mora da obezbedi vezu između mašine i čoveka, ali


takođe i između različitih mašina ili softvera. Spregu čine tri komponente. To
su jezici, modeli i formati.
 Jezici moraju da budu razumljivi projektantu i mašini. Oni služe za
unošenje opisa projekta u različitim domenima i nivoima opisa. Istorijski
gledano, razvijani su različiti jezici da bi se hardver opisao na način koji
je prepoznatljiv programima za analizu analognih, odnosno simulaciju
digitalnih kola. To je značilo da je ista komponenta, recimo NI3 kolo,
imala jedan opis na električnom, a drugi na logičkom nivou. Vremenom
se shvatilo da je mnogo efikasnije koristiti jedinstven jezik za opis
projekta na više nivoa. S obzirom da im je namena da opišu hardver,
uobičajen im je naziv: jezici za opis hardvera i oznaka HDL. U domenu
ponašanja standardizovani su jezici poznati pod nazivima VHDL
(Standardi IEEE 1076/87, 93, 99) i Verilog (Standard IEEE 1364/95). Ovi
jezici namenjeni su za opis hardvera digitalnih kola. Postoje i varijante
navedenih jezika prošrene za opis analognih i kola sa mešovitim
signalima, VHDL-AMS i Verilog-AMS (AMS – Analog and Mixed
Signal). Međutim u opisu kola na tranzistorskom nivou i dalje je veoma
rasprostranjena primena net liste prema pravilima koja su se nametnula
primenom SPICE programa za analizu analognih kola. Na strukturnom
nivou, projekat se opisuje logičkom, odnosno električnom šemom. Iz nje
se, posebnim programom, ekstrahuje net lista, odnosno kôd na nekom od
jezika za opis hardvera.

59
1.6 Automatizacija projektovanja

 Modeli predstavljaju ključnu kariku u verifikaciji. Od tačnosti modela


zavisi uspešnost projekta. Pri tome, misli se na tačnost preslikavanja
ulaznih u izlazne veličine. Jedna ista komponenta, zavisno od nivoa
apstrakcije, mora da ima različite modele. Na primer, u domenu
ponašanja na sistemskom nivou, model preslikava simbol u semantičko
značenje, a na logičkom nivou, logičku funkciju u odziv sa kašnjenjem.
Model na električnom nivou preslikava fizičke parametre procesa u
napone i struje, dok u fizičkom domenu preslikava simboličke koordinate
u stvarne koordinate lejauta.
 Formati omogućavaju prenos podataka sa modela na model i sa mašine
na mašinu. Neki od standardnih formata su EDIF – Electronic Design
Interchange Format (Standard ANSI/EIA 548/88); LEF, DEF; za lejaut
GDSII - Graphic Design System II, takođe se koristi Graphic Design
Station, CIF - Caltech Intermediate Format [Des07]; za štampane ploče
postoji set fajlova pod zajedničkim nazivom GERBER (sadrži formate
*.drl *.drd *.dri *.cmp *.sol *.plc *.stc *.sts *.gpi).
2. Alati za projektovanje predstavljaju softverski paket koji se sastoji od skupa
programa za obavljanje svih aktivnosti nabrojanih na sl. 1.41.a. To su programi
za:
 opis projekta,
 sintezu i
 verifikaciju.
Različiti alati obavljaju sve tri aktivnosti u sva tri domena i na različitim
nivoima apstrakcije. Za opis projekta u funkcionalnom domenu koriste se editori
teksta koji prepoznaju osnovne konstrukcije jezika za opis hardvera. Za opis u
strukturnom domenu, pored editora za HDL koriste se i šematski editori (crtanje
šeme na logičkom i tranzistorskom nivou), a u fizičkom domenu to su editori
lejauta koji omogućavaju crtanje poligona na osnovu kojih se formiraju maske.
Alati za sintezu prevode opis iz jednog u drugi domen i/ili u okviru istog
domena sa jednog na drugi hijerarhijski nivo. Na primer, opis ponašanja u HDL-
u prevode se u net listu na nivou pretprojektovanih struktura (makro i/ili
standardnih ćelija), odnosno električnu šemu na tranzistorskom nivou. Na nižem
nivou, net listu prevode u fizički domen, odnosno u lejaut. Na osnovu podataka
o fizičkim dimenzijama generišu lejaut, odnosno sadrže programe za automatski
razmeštaj i povezivanje.
U alate za verifikaciju, spadaju simulatori koji, u zavisnosti od nivoa
dekompozicije, mogu biti simulatori ponašanja sistema, logički simulatori,
programi za analizu kola na tranzistorskom nivou (SPICE) i simulatori kola sa
mešovitim signalima. Na fizičkom nivou to su programi za proveru pravila
projektovanja (DRC - Design Rule Checker)
Alati za projektovanje povezuju korisnika sa bazama podataka u kojima se
čuvaju informacije o pretprojektovanim strukturama dok njihovim radom
upravlja kontroler toka podataka i procesa projektovanja. Poznati proizvođači

60
Glava 1

profesionalnih alata za projektovanje su Cadence, Synopsis, Menthor Graphics,


Tanner,... Pored toga, mogu da se nađu univerzitetske verzije namenjene za
obuku (Alliance, Magic).
3. Biblioteka modela ćelija (IP) sadrži podatke o pretprojektovanim strukturama
(makroćelijama i standardnim ćelijama). Pre svega to su podaci o:
 tipu ćelija (INV, BAF, NI2, NILI2, XILI, DFF,...);
 vrsti tehnologije nMOS, CMOS, BiCMOS, bipolarna,... U okviru svake
tehnologije postoje podvrste. Na primer, u CMOS tehnologiji postoje
podvrste klasifikovane prema dimenzijana (CMOS05, CMOS035,
CMOS018, za tehnologije od 0,5m, 0,35m i 0,18m, redom, odnosno
u naprednim verzijama 90n, 65n, 48n, 32n, 28n, 22n, pa i za FINFET
tehnologije od 14n, 10n, i manje),
 nivou opisa modela (funkcionalni, logički, tranzistorski, fizički).
4. Baza podataka za upravljanje projektom sadrži informacije o:
 stilu projektovanja i karakteristikama koje se odnose na pojedine
proizvođače kola: Standarde ćelije (TSMC, AMS,...), MPGA (Epson,
Flextronics International, Oki Semiconductor;...), FPGA (Intel/Altera,
Xilinx, Atmel, Achronix Semiconductor,...);
 projektima koji su u toku: Projekat1 (potprojekt1.1, potprojekt1.2,...),
Projekat2 (potprojekt2.1, potprojekt2.2,...).
5. Kontroler toka podataka i procesa projektovanja kontroliše rad celog
sistema za projektovanje tako što:
 upravlja celim centrom za projektovanje - upravlja alatima,
tehnologijama, bazama podataka, pruža pomoć u izboru stila
projektovanja, prati svaki projekt i međusobno ih koordiniše, kalibriše i
definiše mere za ocenu uspešnosti projekta i
 upravlja pojedinačnim projektom tako što ga vezuje za željeni stil i prati
njegovu metodologiju, štiteći rezultate tog projekta od uticaja drugih
stilova i tehnologija.
Kao ilustracija poslužiće blok šema (sl. 1.45) sprege pojedinih modula alata u okviru Tanner
Tools System sistema za projektovanje integrisanih kola. Radi se samo o delu namenjenom za
potpuno projektovanje po narudžbini koji se ne oslanja na pretprojektovane strukture, tako da
izostaju delovi namenjeni za automatsku sintezu, razmeštaj i povezivanje.
Editor električne šeme, S-Edit, služi za opis projekta. Na osnovu šeme generiše se net lista
koju obrađuje T-SPICE simulator. Rezultati simulacije dostupni su preko W-Edit alata za
posmatranje talasnih oblika signala. Pored konverzije u net listu, iz šematskog opisa mogu da
se generišu podaci na osnovu kojih se crta lejaut u lejaut editoru, L-Edit. Postlejaut simulacija
moguća je na tranzistorskom nivou simulatorom T-SPICE. Kao konačan rezultat dobija se
informacija o lejautu u GDSII ili CIF formatu.

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

VHDL – PRIMENA U SINTEZI


Akronim VHDL potiče od Very High Speed Integrated Circuits
Hardware Description Language i označava jezik za opis hardvera veoma
brzih integrisanih kola. Nastao je iz potrebe da se olakša pisanje projektne
dokumentacie i omogući simulacija opisa digitalnih kola prilikom
projektovanja. Standardizaciju je iniciralo i finansiralo Ministarstvo odbrane
SAD-a. VHDL je 1987. godine usvojen kao standard: IEEE Std. 1076-1987.
Zato se kraće zove VHDL-87. Priključivanje godine uz naziv ima smisla
kada se uzme u obzir da razvoj tehnologije nameće nove zahteve jeziku, tako
da IEEE komitet za standardizaciju svakih pet godina razmatra primedbe
koje stižu od korisnika VHDL-a, kako bi se povećala efikasnost jezika.
Sledeća varijanta jezika definisana je standardom IEEE Std. 1076-1993
(VHDL-93), a 1999 razvijena je i proširena varijanta koja podržava opis
analognih i kola sa mešovitim signalima. Zvanično, ova varijanta jezika
definisana je standardom IEEE Std. 1076.1-1999, dok je neformalni, ali češći
naziv VHDL AMS (VHDL Analogue and Mixed Signals). Kasnije korekcije
bile su sa ciljem da se ispoštuju zahtevi, odnosno primedbe korisnika i to
2000., 2002., 2007. i 2008.
Iako se iz naziva jezika može zaključiti da mu je osnovna namena
opis hardvera, odnosno strukture/topologije digitalnog kola, važno je istaći
da se isti VHDL kôd može primeniti u svim fazama projektovanja. To znači
da isti opis prihvataju različiti alati koji se koriste tokom projektovanja
digitalnih integrisanih kola. Prepoznaju ga podjednako dobro simulatori ali i
programi za automatsku sintezu i to na različitim hijerarhijskim nivoima.
Na ovaj način projektanti se maksimalno koncentrišu na kreativni deo u
opisu željenog zadatka, a ostale faze projektovanja digitalnih integrisanih
kola, do fizičkog projektovanja, obavljaju se automatizovano. Kada se
simulacijom verifikuje neki opis, on se prosleđuje do alata za automatsku
sintezu koji „dešifruju“ kôd i preslikavaju VHDL opis u digitalne strukture
vezane za određenu tehnologiju. Praktično, ovo omogućava da se iz istog

109
VHDL – PRIMENA U SINTEZI

VHDL opisa projektuje digitalno kolo u različitim tehnologijama (0,18μm,


90nm, 65nm,...) ili različitim stilovima (ASIC ili FPGA).
Važnu osobinu VHDL-a predstavlja mogućnost jednostavnog opisa
projekta na višim nivoima apstrakcije. Međutim, postoji potreba da se
poznaju „tajne” opisa osnovnih logičkih struktura, odnosno osnovnih
kombinacionih i sekvencijalnih modula. Zato će se u ovom poglavlju pažnja
posvetiti primeni VHDL-a u projektovanju na takozvanom RTL nivou
(Register Transfer Level). Kola na ovom nivou opisa sastoje se iz registara i
kombinacione logike, što je prikazano na sl. 3.1. Sintezom na RTL nivou
optimizuje se logika koja je smeštena između registara.
Akcenat u ovom poglavlju je na primeni VHDL-a u sintezi i
verifikaciji. Zato ćemo se fokusirati na opisu funkcije koju hardver obavlja
ostavljajući alatima za sintezu da generišu njegovu strukturu na nivou
blokova respoloživih u određenoj tehnologiji. Strukturni opis biće pomenut
samo u delu koji se tiče verifikacije primenom Test-bench opcije koja je
sastavni deo VHDL editora u svim profesionalnim alatima za projektovanje
digitalnih kola. Osim toga, pojedine strukture naredbi biće opisane samo u
onoj meri koliko je neophodno da se prati izlaganje o osnovnim digitalnim
kolima. Naime, u narednim poglavljima, gde god je to moguće, izlaganja,
vezana za logičku funkciju digitalnog kola, biće ilustrovana VHDL opisom
na funkcionalnom nivou.
Slično drugim programskim jezicima, i u VHDL-u postoje neka
striktna pravila kojih se korisnici moraju pridržavati. Ona se odnose na
način deklarisanja tipova signala i na pravila koja definišu način opisa i
mesto pojavljivanja određenih naredbi. Iako ova pravila, na prvi pogled,
mogu da izgledaju komplikovano, njihova prava prednost dolazi do izražaja
kod opisa složenih kola.
U ovom poglavlju biće predstavljene osnove VHDL jezika za opis
hardvera sa ciljem da se čitalac osposobi da razume značenje pojedinih linija
kôda i poveže ga sa funkcijom koju kolo obavlja. Ne treba izgubiti iz vida da
VHDL pruža mnogo više mogućnosti od onih koje su opisane u ovom
poglavlju. Zato se napredni čitaoci upućuju na priručnike koji se detaljno
bave primenom VHDL-a u projektovanju digitalnih kola.

Kombinaciona Kombinaciona
Registar Registar Registar
logika logika

Slika 3.1. Definicija logičkog kola na RTL nivou

110
VHDL – PRIMENA U SINTEZI

U realizaciji svih primera korišćene su opcije koje prepoznaje većina


programa za automatsku sintezu i verifikaciju. Konkretno, primeri su
ilustrovani primenom Active-HDL™ alata koji distribuira Aldec.

3.1. OSNOVE SEMANTIKE I SINTAKSE


VHDL se sastoji iz tri dela:
 deklaracije biblioteka i paketa,
 deklaracije entiteta i
 opisa arhitekture.
Deklaracija biblioteka sastoji se od liste svih biblioteka koje se
koriste u projektu. Biblioteka se obično deklariše sa dve linije koda. Prva je
ime biblioteke, a druga je njena upotreba koja počinje ključnom rečju use,
tj.:
library ieee;
use ieee.std_logic_1164.all;
Definisanje logičkih stanja u okviru opisa svakog projekta samo bi
nepotrebno opterećivalo kôd. Umesto toga, pozivamo se samo na biblioteku
(library) koja sadrži te podatke. U ovom slučaju radi se o biblioteci nazvanoj
IEEE. Dakle, opis projekta može da se rastereti time što se strukture
(deklaracije, elementi, itd.) koje se često javljaju, i obično su zajedničke za
više projekata, definišu posebno i smeste u biblioteku. U primerima koji
slede, kad god je to moguće, koristiće se prednosti koje pruža organizacija
podataka u okviru biblioteka. Suština je u tome da jezgro opisa bude
maksimalno posvećeno konkretnom primeru, a da se sve ostalo nalazi u
biblioteci.
U okviru biblioteke koju prepoznaje VHDL nalazi se više celina koje
se zovu paketi (package), dok su u paketima smeštene neophodne
informacije o potrebnom elementu paketa. Paketi, između ostalog, sadrže
logičke komponente, familije, serije, konstante, signale, funkcije i procedure.
Čuvaju se u posebnoj biblioteci. Njima se pristupa pozivanjem iskaza use
koji znači „iskoristi“. Sintaksa iskaza use zahteva da se navede naziv
biblioteke, zatim paketa, i na kraju se navodi željeni pojam. Svi oni
razdvojeni su tačkom:
use <ime biblioteke>.<ime paketa>.<ime komponente>;
Ukoliko umesto jednog pojma stoji ključna reč all (sve), to znači da se
koriste svi pojmovi iz specificiranog paketa. Zapravo, kad god se koriste
signali tipa std_logic čija se definicija (data Tabelom 3.1) nalazi u okviru
standarda IEEE Std. 1164, koriste se biblioteka IEEE i paket
std_logic_1164 i to svi njeni elementi (all).

111
VHDL – PRIMENA U SINTEZI

Treba reći da korisnicima stoji na raspolaganju radna ili korisnička


biblioteka sa nazivom work koju mogu proizvoljno da organizuju smeštajući
sopstvene sadržaje tekućeg projekta u odgovarajuće pakete. S obzirom da je
„radna”, ona je uvek otvorena (dostupna), tako da nije neophodna naredba
library.
Korisnicima je implicitno dostupna i biblioteka std. U kojoj su
smešteni podaci o tipovima promenljivih i operatorima (and, or, not, itd.) za
promenljive tipa bit ili operatori relacija (=, <, >, itd.).

3.1.1. Opis hardvera


Najbolji način da se nepoznati hardver predstavi grafički jeste u vidu
bloka ili „crne kutije“, odnosno pravougaonika, sa izvodima, portovima
(port) (sl. 3.2), preko kojih je povezan sa okruženjem. Ovom hardveru, sa
četiri ulazna i dva izlazna porta, dodeljeno je ime Digitalni_modul. Tri ulaza
(ULAZ1, ULAZ2 i ULAZ3) predstavljaju jednobitni signali a četvrti ulaz
(ULAZ4) čini 8-bitna reč. Izlazni port IZLAZ1 prosleđuje 4-bitni, a IZLAZ2
jednobitni signal.
Svaki ovakav blok prepoznaje se u VHDL-u kao entitet koji se
definiše ključnom rečju entity. Da bi se entitetu dodelila funkcija, koja
povezuje stanja na ulaznim i izlaznim priključcima, odnosno portovima,
potrebno je definisati arhitekturu entiteta. Opis arhitekture počinje
ključnom rečju architecture.
Kao što se u elektronici jedna ista funkcija može realizovati na više
načina, tako i ponašanje jednog entiteta može da se opiše sa više
arhitektura. Naravno, obrnuto ne važi jer jedna arhitektura može da obavlja
samo funkciju za koju je projektovana. Na osnovu ovih uvodnih napomena
može se zaključiti da je struktura VHDL jezika prilagođena osnovnim
celinama koje se uočavaju tokom projektovanja elektronskog kola.

Slika 3.2. Nepoznati hardver prikazan kao blok

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

entity Digitalni_modul is port(


ULAZ1,
ULAZ2, ULAZ3 
ULAZ4.  -- deklaracija portova i konstanti
IZLAZ1 . 
IZLAZ2 ...
);
end entity Digitalni_modul;

architecture proba of Digitalni_modul is


. 
.  -- deklaracija signala, konstanti, ...
. 
begin
. 
.  -- telo arhitekture
. 
end proba;

Važno je napomenuti da postoji još jedan, nešto složeniji oblik


definisanja entiteta, kada se sem portova definišu i opšte konstante entiteta
koji se zovu generici (generic). O ovom tipu konstanti biće reči u
završnom odeljku 3.3.2.

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

stanja u realnom kolu mnogo veći i da može da sadrži vrednost visoke


impedanse Z, slabe 0, slabe 1, nepoznato stanje, itd. Da bi se uspostavio broj
stanja kojima se manipuliše tokom verifikacije različitih projekata i njihovih
delova, najčešće se koristi skup logičkih stanja koji je definisan standardom
IEEE 1164. Ovaj skup vrednosti deklariše se kao std_logic tip signala, a
prikazan je u tabeli 3.1.
Prošireni skup vrednosti neophodan je zbog pravilnog modelovanja
stanja u digitalnom kolu prilikom simulacije. Signali tipa '0', '1', 'L' i 'H' su
logička stanja podržana sintezom, dok su 'Z' i '-' takođe podržani sintezom,
ali samo za izvore sa tri stanja i nebitna stanja. Stanja 'U', 'X' i 'W' nisu
podržana sintezom. Da bi se izbegle razlike u tumačenju VHDL kôda od
strane različitih programa za automatsku sintezu, preporučuje se da se
signalima dodeljuju samo logičke vrednosti 0, 1 i Z.
Jednobitne vrednosti u VHDL-u pišu se unutar apostrofa ('0' i '1'), a
višebitne vrednosti i binarni brojevi unutar navodnika ("1101"). Dekadni
brojevi pišu se bez posebnih oznaka.
Druga važna karakteristika signala odnosi se na razliku između
signala koji teku samo kroz jednu žicu (signal tipa bit), od signala koji se
vodi kroz magistralu, odnosno bus. Signal tipa bus predstavlja niz, odnosno
vektor koji se sastoji od više signala tipa bit (na sl. 3.1 to su signali ULAZ4 i
IZLAZ1). Zato se on deklariše kao signal tipa std_logic_vector. Njemu
je neophodno definisati dužinu izraženu brojem bitova, a mora se naznačiti i
položaj cifara najmanje (LSB), odnosno najveće težine (MSB). U realnim
sistemima, recimo PC računaru, kod koga su magistrale u obliku sivog
„kaiša“, LSB /MSB je označen crvenom bojom.
Karakteristični tipovi signala, definisani standardnima IEEE 1076 i
1164 dati su u tabeli 3.2. Sintaksa signala bit_vector ima sledeće
značenje:
A je 8-bitni signal, 0 je LSB, a 7 MSB,
B je 8-bitni signal, 7 je MSB, a 0 LSB.
Tabela 3.1. Skup vrednosti signala tipa std_logic
Vrednost Značenje
U Neinicijalizovan signal
X Jako (forsirano) nepoznato stanje
0 Jaka (forsirana) nula
1 Jaka (forsirana)jedinica
Z Visoka impedansa
W Slabo nepoznato stanje
L Slaba nula (Low)
H Slaba jedinica (High)
- Nebitno (nedefinisano) stanje (don’t care)

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

Treća karakteristika signala koja proističe iz karakteristike digitalnih


kola jeste jasno usmeren put signala od izlaza jednog kola ka ulazu
narednog. Zato se prilikom deklarisanja portova nekog entiteta navodi smer
ili mod (mode) kojim se oni razvrstavaju na:
 ulazne, označavaju se sa in
 izlazne, označavaju se sa out
 dvosmerne, označavaju se sa inout i
 bafer, označavaju se sa buffer.
Mod porta određuje se na osnovu toga gde se nalazi generator signala u
odnosu na entitet.
In: Ukoliko je pobuda van entiteta (podaci ulaze u blok) radi se o in
signalu (portovi označeni sa ULAZ1, ULAZ2, ULAZ3 i ULAZ4
na sl. 3.2). Entitet može samo da čita sadržaj ovog signala, a ne
može mu dodeljivati novu vrednost. Dakle, podaci teku samo u
entitet. Koristi se za neusmerene ulaze podataka, za ulaze takta i
kontrolne ulaze kao što su: enable, load, read/write i sl.
Out: Ukoliko je pobuda u samom entitetu, radi se o out signalu
(signal IZLAZ1 na sl. 3.2). Vrednost mu se dodeljuje unutar
entiteta, a njegov sadržaj ne može da se koristi za pobudu
drugih delova istog entiteta (nije čitljiv u istom entitetu).
Inout: Dvosmerni signali deklarišu se portom inout. Preko ovog porta
dozvoljen je protok podataka unutar ili izvan entiteta (IZLAZ2
sl. 3.2). Dvosmernost se obično ostvaruje trostatičkim kolima (sl.
3.3).

115
VHDL – PRIMENA U SINTEZI

Slika 3.3. Modovi portova entiteta sa njegovom logičkom šemom


Buffer: Izvor signala ovog porta je, takođe, unutar arhitekture entiteta
(interni signal). Dakle, signal na portu buffer je izlazni za
entitet, ali se može ponovo upotrebiti unutar entiteta.
Dozvoljeno je da se pojavi s obe strane operatora pridruživanja
<=.
Na sl. 3.3 prikazani su modovi (režimi) portova jednog entiteta. Data je
i logička šema entiteta koja dodatno objašnjava značenje pojednih portova.
U primeru 3.2 dat je VHDL opis portova entiteta Digitalni_modul
(sl. 3.2). Redosled navođenja podataka je:
naziv porta: mod tip;
Primer 3.2

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

3.1.3. Osnove VHDL pravopisa


Svaki jezik karakteriše skup sintaksnih pravila za pisanje kojih se
korisnici moraju pridržavati. Ta pravila mogu da se podele u dve osnovne
kategorije:
 način označavanja pojmova i
 format navođenja pojmova.
Osnovna pravila u VHDL-u koja se tiču načina označavanja pojmova
jesu:
 Ne pravi se razlika između malih i velikih slova.
Sve navedene oznake, u sledećem imaju isto značenje:
Digitalni_modul
digitalni_modul
DIGITALNI_MODUL
 Postoje rezervisani karakteri koji se NE SMEJU koristiti za označavanje
pojmova: +, -, !, ?, itd.
Umesto liste takvih karaktera, ovde dajemo skup opštih pravila:
a. Svi nazivi (identifikatori) moraju da počnu slovnim znakom,
b. Koristiti samo slova (a-z i A-Z), brojeve (0-9) i podvučenu
crtu ( _ ),
c. NE koristiti znakove interpunkcije (!, ?, ., ,, itd.),
d. NE koristiti donje crtice u nizu ( _ _ ),
e. NE može donja crtica da bude posljednji znak i
f. NE mogu dva različita pojma u okviru istog entiteta ili
arhitekture imati iste identifikatore.
U primeru 3.3 dato je nekoliko ispravnih i neispravnih oznaka.

Primer 3.3

Ispravne oznake Neispravne oznake Razlog


Digitalni_modul 1_Digitalni_modul Prekršeno pravilo a
Digitalni_modul_0 Digitalni_#0_modul Prekršeno pravilo b
DIGITALNI_MODUL_9 Digitalni!_modul Prekršeno pravilo c
Digitalni_modul_0 Digitalni_ _modul Prekršeno pravilo d

 Postoje rezervisane reč koje se NE SMEJU koristiti za označavanje


pojmova.

117
VHDL – PRIMENA U SINTEZI

Tabela 3.3 Rezervisane ključne reči


abs downto library procedure subtype
access else linkage process then
after elsif literal* pure* to
alias end loop range transport
all entity map record type
and exit mod register units
architecture file nand reject* unaffected*
array for new rem until
assert function next report use
attribute generate nor return variable
begin generic not rol* wait
block group* null ror* when
body guarded of select while
buffer if on severity with
bus impure* open shared* xor
case in others signal xnor*
component inertial* out sla*
configuration inout package sll*
constant is port sra*
disconnect label poostponed* srl*

* Označava rezervisane reči koje su uvedene VHDL-93 standardom


Ove reči date su u tabeli 3.3. Samo neki programi za sintezu mogu da
detektuju primenu ključnih reči u oznakama, ostali rezultuju čudnim
porukama o tipu greške ili pogrešnim rezultatom sinteze bez upozorenja!
 Linijski komentari počinju dvostrukim znakom minus „--“.
Značenje teksta koji se nalazi iza „--“, ignoriše se do kraja tekuće linije. On
nije sastavni deo opisa kola, već se tretira kao komentar. Veoma je
preporučljivo da se svaki deo kôda dodatno opiše komentarom kako bi ostali
učesnici u projektu lakše tumačili značenje izvornog kôda. Primena linijskih
komentara vidi se na primeru 3.4 kojim je opisan entitet sa sl. 3.2:
Primer 3.4

entity Digitalnii_modul is port

( 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;

 Ne postoji ograničenje u broju karaktera kojim se može označiti neki


pojam.
Međutim neki programi za sintezu prepoznaju najviše 32 karaktera. Zato se
preporučuje da broj karaktera u jednoj oznaci ne prelazi 32. Dobro je da
oznake budu dovoljno duge da ukažu na pravo značenje, ali da ne budu i
preduge.
Dobra je praksa da se signali nazovu clock, data ili
global_input, a ne c, d, ili g.
Format pisanja VHDL-a treba sagledati sa stanovišta opisa pojedinih
celina. Pri tome celinu čini jedna naredba, struktura naredbi ili grupa
naredbi. Pod jednom naredbom podrazumevamo:
 opis koji počinje nekom od rezervisanih reči ili
 opis aktivnosti koja označava dodeljivanje vrednosti nekom
signalu.
Pod strukturom naredbi podrazumevaćemo više povezanih naredbi sa jasnim
semantičkim značenjem. Ovo će biti jasnije kada budemo opisivali if, case i
slične naredbe. Za sada ćemo navesti samo primer logičkih celina u
if...then...elsif...else strukturi u primeru 3.5.
Primer 3.5

if uslov1 then akcija1;


elsif uslov2 then akcija2;
else akcija3;
end if;

 Svaka logička celina završava se simbolom „;“.


Treba primetiti da ovo važi i za informaciju o završetku opisa cele
strukture, end if.
Jasno je da „if uslov1“ ne predstavlja logičku celinu (pa ni naredbu), jer se
posle definisanja uslova očekuje još neka aktivnost. Takođe, neposredno iza
reči then očekuje se izvršenje neke akcije i bez nje ne može da se govori o
završetku jedne logičke celine. Tek kada se kompletira logička celina, onda
se stavlja „;“. Slično važi i za elsif naredbu u okviru if...then...elsif...else
strukture.
 Grupa naredbi obično počinje ključnom reči ili identifikatorom,

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.

Grupom naredbi definišu se entiteti, arhitekture, procesi i neke druge celine.


O svakoj od njih pojedinačno, biće više reči kasnije. Za sada napominjemo
da se iza begin očekuje nastavak opisa, što znači da se iza ove reči ne
očekuje znak „;“ koji označava završetak logičke celine.
 U okviru jedne logičke celine VHDL koristi „slobodni format“ za pisanje
koda, kao što je pokazano u pimeru 3.6.
Primer 3.6

if uslov1 then akcija1; -- prva varijanta


if uslov1 then akcija1; -- druga varijanta
if uslov1
then akcija1; -- treca varijanta
if
uslov1
then akcija1; -- cetvrta varijanta
if
uslov1
then -- peta varijanta
akcija1;

Svi prethodno navedeni opisi su korektni.

 VHDL prepoznaje predefinisane tipove podataka i korisnički definisane


tipove podataka.
Oni moraju da se deklarišu pre upotrebe. Treba reći da, osim
podataka tipa std_logic, odnosno std_logic_vector, VHDL
prepoznaje i druge tipove podataka od kojih su osnovni: BOOLEAN (sa
elementima True, False), BIT (sa elementima 0, 1), INTEGER (celi
brojevi u rasponu -232-1 do +232-1-1). Da bi se olakšao opis na funkcionalnom
nivou zgodno je da se koriste aritmetički operatori (+, -, *, /), a da se
tipovima std_logic_vector dodeljuje značenje cifre a ne niza nula i
jedinica. U binarnoj interpretaciji dekadnog broja, MSB može, a i ne mora,
da označava znak broja. Da bi se nedvosmisleno tumačila vrednost podatka
tipa std_logic_vector, VHDL prepoznaje i tipove signed i unsigned
koji se koriste za interpretaciju broja sa znakom i bez znaka, redom.

120
VHDL – PRIMENA U SINTEZI

3.1.3. VHDL operatori


S obzirom da je VHDL namenjen opisu hardvera digitalnih kola,
potpuno je prirodno da podržava korišćenje različitih operatora nad
signalima tipa std_logic. Spisak operatora koje VHDL podržava dat je u
tabeli 3.4.
Dodeljivanje logičke vrednosti nekom signalu ili portu označava se
simbolima „manje“ „jednako“ <=, koji čine “strelicu ulevo”. Operacije sa
većim brojem signala, npr. a i b može da se iskaže na sledeći način:
rezultat <= a AND b;
Od svih logičkih operatora NOT ima najveći prioritet, dok su svi
ostali logički operatori istog prioriteta. Redosled njihovog izvršavanja
određuje se redosledom navođenja u naredbi. Tako u naredbi:
rezultat <= a AND b OR c XOR d;
izvrši se najpre AND operacija, zatim OR i na kraju XOR, što može da se
iskaže kao
(((a AND b) OR c) XOR d).
Međutim u opisu:
rezultat <= a AND NOT b OR c XOR d;
redosled izvršavanja operacija jeste NOT, AND, OR, XOR:
(((a AND (NOT b)) OR c) XOR d).
Redosled izvršavanja operatora može da se kontroliše upotrebom zagrada
tako da se u primeru:
rezultat <= (a AND b) OR (c XOR d);
najpre obave AND i XOR operacija, a zatim OR. Da bi se povećala
čitljivost koda, preporučuje se korišćenje zagrada.
Tabela 3.4. VHDL operatori
Operator Klasa operatora
**, abs, not Miješani operatori
*, |, mod, rem Operatori množenja/dijeljenja
+, - Operatori predznaka
+, -, & Operatori zbrajanja
=, /=, <, <=, >, >= Relacioni operatori
SLL, SLR, SLA, SRA, ROL, ROR Operatori pomjeranja
AND, NAND, OR, NOR, XOR, XNOR Logički operatori

121
VHDL – PRIMENA U SINTEZI

Generalno, najviši prioritet imaju mešani operatori (** - stepenovanje, abs -


apsolutna vrijednost i NOT - logički operator negacije).
Za opis ponašanja na funkcionalnom nivou mnogo je pogodnije da se
padaci tipa std_logic_vector interpretiraju kao brojevi u dekadnom
sistemu. To podrazumeva mogućnost konverzije podataka iz tipa
std_logic_vector u numeričke tipove signed ili unsigned ili
integer, a i u obrnutom smeru. Zatim je moguće koristiti operatore za
aritmetičke operacije: sabiranja “+”, oduzimanja “-“, množenja “*”, deljenja
“/”, kao i poređenja jednako “=”, manje “<”, veće “>”, manje ili jednako
“<=”, veće ili jednako “>=”, nije jednako, različito,“/=”. Značenja ostalih
operatora su sledeća: mod-modul, rem-ostatak, SLL i SLR - logičko
pomeranje ulevo i udesno, redom, SLA i SRA - aritmetičko pomeranje u
levo i u desno, redom, RQL i ROR - rotiranje ulevo i udesno, redom. Svi ovi
tipovi, kao i operatori definisani su u biblioteci pod nazivom ieee u paketu
numeric_std.

3.1.4 Konkurentne i sekvencijalne naredbe


VHDL je namenjen za opis ponašanja u digitalnim sistemima. S obzirom
da se aktivnosti u hardveru dešavaju uglavnom paralelno, konkurentno, i u
opisu arhitekture nekog entiteta primenjuje se ista logika. Arhitektura može
da sadrži više logičkih celina. Događaji iz jedne celine najčešće ne utiču na
događaje u ostalim, odnosno odvijaju se nezavisno, konkurentno, tj.
paralelno u vremenu. VHDL podržava dva osnovna metoda kroz koje se
signalima unutar arhitekture dodeljuju vrednosti. To su:
 konkurnetna i
 sekvencijalna dodela vrednosti signalima.
Operator dodeljivanja <= još se naziva naredba jednostavnog
dodeljivanja (engl. simple signal assignment ), jer se odnosi na dodeljivanje
pojedinom signalu ili pojedinoj grupi signala. Osim ovog, VHDL podržava
izborne (selekcione) i uslovne naredbe dodeljivanja. To su naredbe
istovremenog ili konkuretnog dodeljivanja (engl. concurrent assignment ).
Njima se modeluju istovremene (paralelne) aktivnosti hardvera. Događaji iz
jedne celine ne utiču na događaje iz ostalih celina. Drugim rečima, događaji
se odvijaju nezavisno, tj. paralelno u vremenu. Zato i redosled njihovog
navođenja, pri opisu arhitekture, nije važan. Ove naredbe, koriste ključne
reči with i when. Naredbom izbornog dodeljivanja, signalu se dodeljuje
vrednost uslova, a uslovi nakon ključne reči when moraju da budu
međusobno isključivi. Sintaksa ove naredbe je sledeća:
with izraz select
ime signala <= izraz when konstanta_vrijednost {, izraz
when konstanta_vrijednost};

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

Opisati BCD/dekadni decoder sa aktivnim nulama na izlazu


upotrebom konstruktora:
a) with – select i
b) when – else.

U oba slučaja opis entiteta je isti:


library ieee;
use ieee.std_logic_vector_1164.all;
entity dek4na10 is
port (A : in std_logic_vector(3 downto 0);
Y : out std_logic_vector(0 to 9);
end dek4na10;

Pri opisu arhitekture dekodera naredbom izbornog


dodeljivanja upotrebom konstruktora with – select, vrednost
ulaznog vektora A određuje uzorak bitova koji se pridružuju
vektoru izlaza Y. Definišu se sve alternative izlaznog signala.
Nekorišćene ulazne kombinacije 1010 do 1111 obuhvaćene su
ključnom (rezervisanom) reči others:
a)
architecture ponasanja of dek4na1 is
begin
with A select
Y<=”0111111111” when ”0000”,
Y<=”1011111111” when ”0001”,
.
.
.
Y<=”1111111110” when ”1001”,
Y<=”1111111111” when others;
end ponasanja;

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.

architecture ponasanje of dek4na1 is


begin
Y<=”0111111111” when A=”0000” else
”1011111111” when A=”0001” else
.
.
.
”1111111110” when A=”1001” else
”1111111111” when others;
end ponasanje;

Opis jedne arhitekture obično sadrži više signala kojima treba


paralelno dodeliti vrednosti. Zato se u okviru tela arhitekture može definisati
više procesa i više konkurentih dodela vrednosti signalima. U jednom istom
trenutku procesi i konkurentna dodela vrednosti signalima obavljaju se
paralelno. Zato i redosled njihovog navođenja u okviru opisa arhitekture nije
važan. Ovo je ilustrovano u primeru 3.8.
Primer 3.8
architecture proba of architecture proba of
Digitalni_modul is begin Digitalni_modul is begin
IZLAZ2 <= ULAZ1 OR ULAZ2; IZLAZ2 <= ULAZ1 OR ULAZ2;
IZLAZ1(0) <= ULAZ3 AND seq: process (ULAZ4(7))
ULAZ4(0); begin .
seq: process (ULAZ4(7)) .
begin . = .
. end process seq;
. IZLAZ1(0) <= ULAZ3 AND
end process seq; ULAZ4(0);
end architecture proba; end architecture proba;

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;

Za razliku od konkurentnog dodeljivanja vrednosti signalima unutar


arhitekture, dodeljivanje vrednosti unutar procesa obavlja se sekvencijalno
po redosledu po kome su naredbe navedene. Zato je redosled navođenja
naredbi unutar procesa kada se koriste promenljive, veoma bitan, što je
prikazano u primeru 3.8.
Generalno gledano, naredbe u procesu, osim sekvencijalnog
izvršavanja, karakterišu još dve važne osobine:
 proces traje u beskonačnoj petlji ukoliko ne dobije zahtev da se
zaustavi;
 proces se zaustavlja naredbom čekanja (wait ), dok se vrednost
nekog od signala, iz liste osjetljivosti, ne promeni.
Naredbom čekanja (wait), proces se bezuslovno zaustavlja. Postoje i
uslovne naredbe čekanja. Uslov se navodi iza ključnih reči for, on i until.
Uslovna wait naredba podrazumeva da se čeka:
 za neki vremenski interval (for),
for <vreme> -- vremenski interval
 na promenu nekog signala (on) ili
on <ime signala> -- promena vrednosti nekog signala
 dok ne bude ispunjen neki logički uslov (until).
until <bulov iskaz> -- ispunjenost bulovog (true/false)
uslova.
Naglasimo još jednom da je proces, bez naredbe čekanja, aktivan (traje
“beskonačno“) ukoliko nije navedena lista signala na koje je osetljiv.

125
VHDL – PRIMENA U SINTEZI

Slika 3.4 Osnovna struktura procesa


Da bismo pojasnili primenu procesa, posmatraćemo samo njegov jednostavni
oblik koji je prikazan na sl. 3.4. Ovaj oblik podrazumeva da jedan proces
može da počne samo kada nastane promena u nekom od signala koji se u
vidu liste navode na početku deklaracije procesa. To su signali na koje je
proces osetljiv. Ovakav opis ekvivalentan je slučaju da se kao poslednje
naredbe u procesu nalaze one koje nalažu čekanje sve dok ne dođe do
promene stanja bilo kog od signala na koje je proces osetljiv. Detaljniji opis
još nekih definicija procesa može se naći u [Ash96, Raj98, Zwo00].
Svaki proces treba da nosi jedinstvenu oznaku - labelu. Ona je
opciona, ali se preporučuje naročito sa stanovišta sinteze. Signali koji se
generišu automatskom sintezom sadržaće i ime procesa iz koga su proistekli
čime se olakšava tumačenje celog projekta, naročito u fazi otkrivanja
potencijalnih grešaka.
Oznaka procesa završava se sa „:“ iza čega sledi ključna reč
process, nakon čega se u malim zagradama navodi lista signala na koje je
proces osetljiv. Oznake pojedinih signala u listi razdvojene su zapetama.
Proces nazvan procesA sa sl. 3.4 aktiviraće se kad god nastane promena u
ma kome od signala A, B ili C. Navođenje kompletne liste signala na koje je
proces osetljiv od izuzetnog je značaja za pravilan opis projekta.
Proces, kao i arhitektura, sadrži polje za deklarisanje promenljivih,
lokalnih za taj proces. Lokalni signali ne smeju da se deklarišu u okviru
procesa, tj. nakon ključne reči begin, jer su signali van procesa.
Proces će se aktivirati kad god nastane promena u ma kome od
signala iz liste osetljivosti. Umesto liste osetljivosti može se koristiti naredba
wait-on.

126
VHDL – PRIMENA U SINTEZI

Sekvencijalne naredbe su u okviru bloka begin-end process ime


procesa, pri čemu ime (oznaka) procesa nije neophodno. Sekvencijalne
naredbe obuhvaćaju naredbe čekanja, grananja, prekida petlje i druge
naredbe (tabela 3.5). One sadrže i naredbu jednostavnog dodeljivanja.
Naredba grananja if-elsif-else usmerava izvršavanje VHDL koda u
zavisnosti od vrednosti logičkih izraza nakon klauzula if, odnosno elsif, dok
naredba višestrukog grananja usmerava case na odgovarajuće alternative, u
zavisnosti od vrednosti izraza u klauzuli case.
Naredbe for-loop i while-loop su naredbe upravljanja petljom, dok su exit
i next naredbe prekida petlje. U stvari, petlja (loop) prekida se naredbom
exit, dok se naredbom next preskače ostatak petlje. Naredba for-loop naziva
se naredba petlje s brojačem. Ona utvrđuje izvršavanje naredbe unutar
petlje sve dok je promenljiva petlje u definisanom obliku.
Tabela 4.13. Sintaksa sekvencijalnih naredbi procesa sa oznakom procesa
Naredba Sintaksa
procesA
Naredba čekanja wait [on ime_signala{, ime_signala}]
wait [until logički_izraz]
[for vremenski_izraz];
procesA
Naredba petlje s brojačem for ime_promjenljive in opseg loop
for-loop naredba; {naredba;}
end loop proces;
procesA:
Naredba uslovne petlje while logički_izraz loop
while-loop naredba; {naredba;}
end loop procesA;
Naredba prekida petlje exit [when logički_izraz];
exit
if logički_izraz then izraz; {izraz;}
elsif logički_izraz then izraz;
Naredba grananja
if-elsif-else {izraz;}
else izraz; {izraz;}
end if;
case izraz is
Naredba višestrukog when konstanta_vrijednost=> izraz;
grananja
case {izraz;}
end case;
Opis procesa završava se sa end process, a opciono može da se
doda ime procesa što se uglavnom i preporučuje. Poređenjem opisane
strukture sa prethodnim primerom, vidi se da nije neophodno uz naredbu
end process naznačiti i oznaku procesa (u slučaju primera 3.9, seq).
Treba napomenuti da, iako se unutar procesa naredbe izvršavaju
sekvencijalno, hardver dobijen posle sinteze, realizuje se na bazi konkurentne

127
VHDL – PRIMENA U SINTEZI

logike. Međutim, unutar nje su ugrađeni elementi koji obezbeđuju da se na


izlazu pojavljuju podaci u željenom redosledu.

3.1.5 Implicitna memorija


Sekvencijalnim naredbama mogu se opisati sekvencijalni sklopovi.
Naredbom grananja if-then modeluje se pamćenje (sl. 3.5). Naime, ako je
uslov naredbe if-then ispunjen, signal A dobija vrednost određenu izrazom.
Ako, međutim, uslov nije zadovoljen, signal A se ne menja, već zadržava
prethodnu vrednost. Ovakav način modelovanja pamćenja naziva se
implicitna memorija (engl. Implicit memory).

process (lista_osjetljivosti)
begin
if uslov then A <= izraz;
end if;
end process;

Slika 3.5 Implicitna memorija

Primer 3.10

Primenom implicitne memorije modelovati sinhroni D leč sa


aktivnim CP=1.

Sinhro impuls CP je signal liste osjetljivosti. Ako je CP=0,


nema promjene stanja na izlazu Q, a ako je CP=1, onda je
Q=D.

library ieee;
use ieee.std_logic_vector_1164.all;
entity Dlec is
port (D, CP: in std_logic;
Q : out std_logic);
end Dlec;

architecture ponasanje of Dlec is


begin
process (D, CP)
begin
if CP=’1’
then Q<=D;
end if;
end process;
end ponasanje;

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;

architecture ponasanje of ivicni_DFF is


begin
process
begin
wait until CP’event and CP=’1’; Q<=D;
end process;
end ponasanje;

Ako flipflop poseduje asinhrone ulaze za direktno brisanje (Rd) i direktan


upis (Sd), treba prvo ispitati vrednost asinhronih ulaza, pa onda pojavu
aktivne ivice takt impulsa CP. Ukoliko je signal Rd dominantan nad Sd , što
je najčešće, onda je model:

129
VHDL – PRIMENA U SINTEZI

if Rd=’1’ then Q<=’0’;


elsif Sd=’1’ then Q<=’1’;
elsif CP’event and CP=’1’ then Q<=D;

U slučaju zahteva da postavljanje Sd ima prednost nad brisanjem Rd ,


prvo bi bio naveden uslov za Sd , pa onda za Rd .

3.2. Stilovi opisa projekta


VHDL podržava opis projekata na algoritamskom nivou i na nivou
logičkih jednačina. Naravno prvi nivo pogodan je za opis složenijih kola i
sistema. S obzirom da je VHDL i razvijan sa ciljem da se efikasno opišu
složena kola, rezultujući kôd karakteriše jezgrovitost koja proističe iz
hijerarhijskog pristupa dekompoziciji (pod dekompozicijom se podrazumeva
razlaganje na manje celine) projekta.
Postoje tri stila opisa projekta u VHDL-u. To su:
 strukturni opis (structural )
 opis toka podataka (dataflow ) i
 opis ponašanja (behavioral )
Da bismo ilustrovali razliku između pojedinih stilova opisa razmotrićemo
primer opisa kola sa sl. 3.6a. Svaki opis počinje deklarisanjem entiteta. U
ovom slučaju entitet smo nazvali Primer_Stil_opisa (primer 3.12).
Primer 3.12

entity Primer_Stil_opisa is
port
( a, b, c: in std_logic;
Rezultat: out std_logic
);
end entity Primer_Stil_opisa;

Sada se posvećujemo opisu arhitekture ovog entiteta. Najpre


pretpostavimo da je arhitektura na nivou logičkih blokova poznata i da
izgleda upravo kao što prikazuje sl. 3.6b. Takav grafički opis se može dobiti
primenom nekog od grafičkih editora logičke šeme. To podrazumeva da već
postoji definisana komponenta koja obavlja funkciju XOR (prema tablici sa
sl. 3.6d). Pretpostavimo da je deklarisana sa nazivom XOR2, da ulazni
portovi nose formalne nazive I1 i I2, dok je izlazni port Y, kao što pokazuje
sl. 3.6c.

130
VHDL – PRIMENA U SINTEZI

Slika 3.6 a) Entitet Primer_Stil _opisa, b) struktura njegove arhitekture c) XOR2,


d) tablica istinitosti XOR2 kola
Važno je napomenuti da sem portova, unutar arhitekture postoji
jedan novi signal, označen na sl. 3.5b kao o1. S obzirom da tip ovog signala
do sada nije bio deklarisan, on mora da se definiše u okviru arhitekture
(videti primer opšteg oblika definisanja arhitekture iz odeljka 3.1.1), a zatim
sledi opis arhitekture koji mnogo podseća na net listu koja se sreće u
mnogim programima za logičku simulaciju (npr. Spice).
Primer 3.13

architecture Strukturni_opis of Primer_Stil_opisa is


signal o1: std_logic; --deklaracija internih
--signala

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

U prethodnom primeru prvi put je upotrebljena “strelica udesno”


„=>“ kojom se stvarne vrednosti signala (a,b,c i o1) dodeljuju formalnim
portovima XOR2 kola (I1, I2 i Y).
Opis iste funkcije entiteta Primer_Stil_opisa na nivou toka
podataka (data-flow) dat je sledećim primerom.

Primer 3.14

architecture Tok_podataka of Primer_Stil_opisa is

signal o1: std_logic; -- deklaracija


-- interno signala

begin
o1 <= I1 XOR I2;
I1 <= a;
I2 <= b;
Rezultat <= o1 XOR c;

end architecture Tok_podataka;

Očigledno da je korišćen pristup konkurentne dodele vrednosti


signalima, tako da redosled navođenja pojedinih naredbi nije bitan, s
obzirom da se one izvršavaju paralelno (konkurentno), kao što je rečeno u
odeljku 3.1.5.
Opis ponašanja ne razlikuje se mnogo od opisa toka podataka,
naročito kada su u pitanju manja kola, i zasniva se na algoritamskom opisu
bloka. Pri tome se za opisivanje sekvencijalnih aktivnosti koristi proces (kao
u odeljku 3.1.5). Takav opis iste arhitekture je dat u primeru 3.15.

Primer 3.15

architecture Opis_Ponasanja of Primer_Stil_opisa is

begin

XOR_od_3: process (a, b, c) -- davanje imena


-- procesu
-- nije neophodno,
-- ali je korisno

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;

end architecture Opis_Ponasanja;

Podsećamo da se vrednosti tipa std_logic odnose na bit, a ne na


vektor. Njihova eksplicitna dodela signalima zadaje se između jednostrukih
navoda kao ‘1’, ‘0’ u prethodnom primeru, ali mogu biti i ‘X’, ‘Z’ ili
neka druga vrednost iz tabele 3.1.
Često se prilikom opisa složenijih projekata kombinuju sva tri stila
opisa arhitekture. Za VHDL opis osnovnih digitalnih struktura u ovoj knjizi
koristiće se stilovi opisa ponašanja ili toka podataka. Zato će se u daljem
tekstu strukturni opis koristiti samo u okviru Test-Bench.

3.2.1. Prvi projekat


Definisaćemo naš prvi zadatak funkcionalnim opisom preko tablice
istinitosti date u tabeli 3.6. Dakle, zadatak je projektovati kolo koje, ako se
na ulaze dovedu signali A, B i C, na izlazu daje signal Y specificiran u
tabeli 3.6. Oznake stanja u tabeli 3.6 odgovaraju onima iz std_logic seta
datog u tabeli 3.1. Signali A, B i C su ulazni, dok Y označava izlazni signal.
Tabela 3.6 Tablica istinitosti opisa stanja u prvom projektu.
A B C Y
0 0 - 1
- - 1 1
Ostale kombinacije 0

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

Slika 3.7 Prvi projekat prikazan u obliku bloka


Primer 3.16

library IEEE;
use IEEE.std_logic_1164.all;

entity Prvi_projekat is port


( A, B, C : in std_logic;
Y: out std_logic );
end entity Prvi_projekat;

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

architecture Tok_podataka of Prvi_projekat is

begin
Y <= ‘1’ when (A = ‘0’ and B = ‘0’) or
(C = ‘1’)
else ‘0’;
end architecture Tok_podataka;

Primećujemo da se koristi uslovna naredba u kojoj ključna reč when


(treba je čitati „kada je“) definiše uslove pod kojima Y uzima vrednost
logičke jedinice, dok reč else („drugo/inače“) ukazuje na vrednost koju Y
dobija u ostalim slučajevima. Dodeljivanje vrednosti signalima (“strelicom

134
VHDL – PRIMENA U SINTEZI

ulevo“ <= ) ukazuje na tok dodeljivanja podataka, odakle potiče i naziv


ovakvom načinu opisa. Dodeljivanje vrednosti navodi se između jednostrukih
navodnika, s obzirom da se radi o tipu bit.
Opis ponašanja zasniva se na opisu pojedinih procesa. U okviru
grupe naredbi definisanih procesom, naredbe se izvršavaju sekvencijalno.
Postoji nekoliko sekvencijalnih naredbi u VHDL-u. Jedna od najčešće
korišćenih je if naredba. Ova naredba:
 koristi se da bi se ispitao određeni uslov pre izvršenja neke operacije
(npr. dodeljivanja),
 može da ispita višestruke uslove ako se koristi elsif,
 završava se sa end if i
 treba je kompletirati sa else kako bi se iscrple sve mogućnosti iz if
lanca.
Imajući u vidu sve navedene osobine if naredbe, zahtevana logička funkcija
može da se iskaže na nivou opisa ponašanja na način prikazan u
primeru 3.17.
Treba napomenuti da je korisno da početak opisa svakog projekta u
VHDL-u, ili njegovih delova, ima odgovarajuće zaglavlje u kome se, kao
komentari, nalaze podaci o nazivu projekta, autorima, vremenu kada je
projekat rađen i modifikovan. Ovo je ilustrovano u primeru 3.18. Savremeni
VHDL editori obično automatski generišu zaglavlje sa datumom u koje
korisnik unosi samo podatke o nazivu projekta i imenima autora kôda.
(Naravno, tada je osnovni tekst zaglavlja na engleskom jeziku.) Zbog
kompaktnosti opisa, ovakva zaglavlja neće biti ispisivana u narednim
primerima VHDL opisa, ali će se podrazumevati da ona u opisima postoje.
Primer 3.16

-----------------------------------------------------
-- 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

use IEEE.STD_LOGIC_1164.all; -- poziv svih


-- elemenata paketa
-- STD_LOGIC_1164

entity Prvi_projekat is -- Opis entiteta


port( -- ulazni portovi:
-- a, b, c
a,b,c : in STD_LOGIC;

y : out STD_LOGIC -- izlazni port: y


);
end Prvi_projekat; -- Kraj opisa entiteta
-- rec 'entity' iza
'end'
-- nije obavezna

--Pocetak opisa arhitekture sa nazivom Opis_Ponasanja

architecture Opis_Ponasanja of Prvi_projekat is


begin
-- definisanje procesa sa imenom 'funkcija'
funkcija: process (a,b,c) -- proces je osetljiv na
-- promenu signala a, b i c
begin
if (a='0' and b='0') then
y <= '1';
elsif c = '1' then
y <= '1';
else
y <= '0';
end if;
end process funkcija; -- zavrsetak opisa
procesa

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].

3.3. Verifikacija projekta – (Test-Bench)


Najlakši način da se uverimo da li kolo korektno obavlja željenu
funkciju jeste simulacija. VHDL, kao univerzalni jezik za opis projekta,
podržava i verifikaciju. Pravilnije rečeno, programi za simulaciju prepoznaju
VHDL, ne samo kao jezik za opis hardvera, već i za definisanje parametara
neophodnih za simulaciju.
Uobičajeni način provere ispravnosti elektronskog kola jeste
posmatranje odziva za datu pobudu na maketi za testiranje. Ovu aktivnost
moguće je simulirati, i to uz pomoć para entitet-arhitektura koji se naziva
Test-Bench (TB). TB mora da sadrži tri celine:
 komponentu koja se ispituje UUT (Unit Under Test ),
 pobudu (generatori test sekvence) i
 monitor („instrument“ na kome se prati odziv).

137
VHDL – PRIMENA U SINTEZI

Slike 3.8. Struktura Test-bench-a


S obzirom da su i generator pobude i monitor sastavni deo TB,
očigledno je da se radi o jedinstvenom entitetu koji ne komunicira sa
okolinom preko portova. Prema tome, saglasno definiciji entiteta, opis TB
entiteta ne sadrži portove. S druge strane, UUT je posebna celina koja je
prethodno već opisana entitetom i arhitekturom i kao takva se stavlja u
probno kolo za verifikaciju. Sa pobudnim signalima i monitorom ona je
vezana preko sopstvenih portova koji u odnosu na TB predstavljaju interne
signale. Zato se arhitektura TB opisuje na strukturnom nivou. Podrazumeva
se da je UUT već opisana kao par entitet-arhitektura, tako da je potrebno
da se ona u TB arhitekturu unese i deklariše kao komponenta. Pri tome,
nismo slučajno upotrebili reč komponenta. Naime, component je rezervisana
reč koja označava entitet sa pridruženom arhitekturom. Način deklarisanja
UUT kao komponente opisan je u narednom odeljku.
Struktura opisa TB prikazana je na sl. 3.8.
Kao što se vidi, osim deklarisanja komponente javlja se potreba za
deklarisanjem internih signala i konstanti. Naravno, blok u kome se
obavljaju ove aktivnosti prethodi opisu arhitekture i nalazi se ispred ključne
reči begin. Zatim, treba priključiti komponentu koja se testira tako što se
stvarni signali dodeljuju formalnim oznakama portova komponente UUT.
Zapravo, mapiraju se portovi komponente i stvarni signali u TB. Zato se za
ovu svrhu koristi port map instrukcija. Postupak priključivanja

138
VHDL – PRIMENA U SINTEZI

komponente u projektantskom žargonu naziva se instanciranje, od


engleske reči instantiate.
Osim priključivanja komponente koja se testira, neophodno je
definisati proces testiranja. On se sastoji od zadavanja pobude i tumačenja
odziva i može da bude podeljen u više procesa ili čak komponenti. To se
naročito preporučuje pri testiranju složenih kola. Pobuda može da se zada
na tri načina:
 posebnim editorima koji predstavljaju deo alata za projektovanje u
okviru paketa za simulaciju koji podržavaju VHDL opis,
 kao tabela u okviru samog procesa i
 čitanjem posebnog tekstualnog fajla.
Odziv može da se prati na dva načina:
 posmatranjem talasnih oblika i
 zapisivanjem odziva (izlaznih signala) u fajl i poređenjem sa
očekivanim rezultatom.
Kada se govori o verifikaciji projekta važno je napomenuti da se, za
razliku od opisa namenjenog sintezi, u modelima za simulaciju javljaju i
vremenski parametri. Oni, osim definisanja talasnih oblika pobude,
obuhvataju modele kašnjenja signala na putu od ulaza do izlaza.

3.3.1. Definisanje UUT kao komponente


Razlika između entiteta i komponente uočava se sa sl. 3.9. Vidi se da
entitet dobija značenje komponente tek kada mu je pridružena arhitektura.
Tako AND2 i OR2 komponente imaju identičnu topologiju entiteta, ali im
se funkcije u kolu razlikuju, jer su im arhitekture različite. Ista konstatacija
važi i za invertor INV i bafer BUFF.

Slika 3.9. Razlika između entiteta i komponente

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

Ime komponente Naziv signala komponente


(formalni naziv)
Slika 3.10. Povezivanja komponente za signale (čvorove) UlazA, UlazB i Izlaz
Komponenta mora da ima isto ime kao i entitet, a nazivi, modovi i tipovi
portova u komponentama treba da budu isti kao u entitetima.
Korišćenje komponenata karakteristično je za VHDL opis na
strukturnom nivou koji nije glavna tema ovog teksta. Zato ćemo samo
kratko reći da jednom deklarisane komponente mogu da se koriste više puta
u okviru projekta, vezivanjem za odgovarajuće signale (čvorove) u
strukturnoj šemi. Povezivanje se obavlja primenom instrukcije port map. U
opštem slučaju sintaksa povezivanja neke komponente ilustrovana je na
primeru dvoulaznog I kola na Sl. 3.10, deklarisanog kao komponenta pod
nazivom AND2, sa ulaznim portovima i1 i i2 i izlaznim portom, y. U
arhitekturi u koju se smešta, ovoj komponenti je dodeljeno ime I_kolo, a
portovi su vezani za stvarne signale sa imenima UlazA, UlazB i Izlaz.
U našem slučaju komponentu predstavlja entitet Prvi_projekat sa
odgovarajućom arhitekturom. Zato se za njeno deklarisanje na početku opisa
arhitekture TB koristi:
component Prvi_projekat
port (A, B, C: in std_logic;
Y: out std_logic);
end component;
U odeljku 3.2.2 definisali smo dve arhitekture uz entitet Prvi_projekat.
Zato se odmah nameće pitanje, na koju se arhitekturu odnosi ova
komponenta. Da bi se jednoznačno odredio par entitet/arhitektura koji se
koristi u opisu TB arhitekture, posle end architecture komponenta se
konfiguriše korišćenjem bloka instrukcija configuration. Opšti oblik ovog
bloka definisan je sa:
configuration <identifikator> of <ime_entiteta > is
for <ime_arhitekture>
-- telo konfiguracionog bloka
for Comp_1: entitetA
use entity work.entitetA(arhitekturaA1);
end for;
for Comp_2: entitetA

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;

3.3.2. Definisanje pobude i praćenje odziva


Za manje projekte najčešće se pobuda definiše primenom ugrađenih
editora signala. Realni digitalni sistemi pobuđuju se periodičnim i
aperiodičnim signalima. Periodični su taktni signali koji imaju jasno
definisanu frekvenciju (periodu) i simetrično trajanje visokog i niskog
logičkog nivoa. Ostali pobudni signali mogu da budu periodični sa
asimetričnim trajanjem visokog i niskog logičkog nivoa ili potpuno
aperiodični. Editori signala podržavaju zadavanje parametara svih tipova
pobude. Kada su u pitanju periodični signali, moguće je zadati periodu,
dužinu trajanja visokog i niskog nivoa i fazu (kašnjenje). Kod aperiodičnih,

141
VHDL – PRIMENA U SINTEZI

zadaju se podaci o trenutku promene i logičkom stanju signala u tom


trenutku. Način zadavanja pobude u različitim alatima razlikuje se samo u
grafičkom interfejsu prema korisniku.
Definisanje pobude primenom VHDL-a u obliku procesa ili čitanjem
sadržaja testne sekvence iz fajla prevazilazi ambiciju ovog poglavlja. Zato
ćemo samo zagolicati znatiželju zainteresovanim čitaocima kroz primer 3.19
na kraju odeljka, a za detalje upućujemo na VHDL korisnička uputstva i
literaturu koja se ozbiljnije bavi ovom temom [Pet05].
Što se obrade informacija o odzivu tiče, ukoliko povorka izlaznih
signala nije velika, najbrži način provere jeste posmatranje talasnih oblika
signala. Naime, svi alati za simulaciju omogućavaju vizuelizaciju rezultata
simulacije kroz prikazivanje talasnih oblika signala. Međutim, u slučajevima
testiranja složenijih kola, kada su povorke signala duge i obimne, mnogo je
povoljnije da se informacija o odzivu upisuje u izlazni fajl. VHDL
omogućava da se očitava sadržaj fajlova sa podacima zadatim u vidu
alfanumeričkih podataka. Poređenjem podataka smeštenih u datoteci sa
očekivanim rezultatom i podataka dobijenih simulacijom, utvrđuje se
ispravnost rada kola. Postoje posebne konstrukcije namenjene da generišu
poruke upozorenja kada se otkrije odstupanje od očekivanog rezultata. Kod
složenih kola jako je korisno da se takve poruke upisuju u fajl tako da njihov
sastavni deo bude i tačan trenutak na vremenskoj osi u kome je zapaženo
odstupanje [Pet05].
Talasni oblici pobude i očekivanog odziva u slučaju provere UUT
Prvi_projekat definisani su na sl. 3.11. Vremena na sl. 3.11 data su u ns.
Opis TB ilustrovaćemo na konkretnom primeru Prvi_projekat.

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

Da bi se ispitao odziv kola Prvi_projekat za sve moguće


kombinacije ulaznih signala potrebno je da se kolo pobudi sa tačno osam
kombinacija koje su prikazane u tabeli 3.5. S obzirom da je testni vektor
relativno kratak (samo 8 kombinacija), nije teško da se sve kombinacije i
navedu. Zato ćemo u narednom primeru da ilustrujemo zadavanje pobude
upotrebom naredbe process. Za opis pobude koristićemo proces pobuda
kao u sledećem primeru (primer 3.19). Na istom primeru demonstriraćemo
još nekoliko praktičnih opcija koje nude VHDL i odgovarajući alati za
kreiranje i verifikaciju kôda. To su:
a) upotreba Active-HDL TBgen alata za automatsko generisanje TB,
b) pristup pojedinim bitovima podatka tipa std_logic_vector,
c) deklarisanje i tipovi konstanti i
d) upotreba naredbe wait.
Svaka od njih biće objašnjena u tekstu koji sledi posle primera.
Primer 3.16

--
*************************************************************
--* 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;

architecture TB_WIZARD_ARCH of tb_wizard is


-- Component declaration of the tested unit
component Prvi_projekat
port( A, B, C : in std_logic;
Y : out std_logic );
end component;

-- Stimulus signals - signals mapped to the input and inout


-- ports of tested entity
signal A : std_logic;
signal B : std_logic;
signal C : std_logic;
-- Observed signals - signals mapped to the output ports of
-- tested entity
signal Y : std_logic;

-- Add your code here ...


-- definišu se interni signali i konstante
signal ulaz: std_logic_vector (2 downto 0);
signal izlaz: std_logic;

constant Kasnjenje: time := 40 ns;

begin

-- Unit Under Test port map


UUT : Prvi_projekat
port map
(A => ulaz(2),
B => ulaz(1),
C => ulaz(0),
Y => Y );

-- Add your stimulus here ...


pobuda: process

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 process pobuda;

end TB_WIZARD_ARCH;

configuration TESTBENCH_FOR_Prvi_projekat of tb_wizard is


for TB_WIZARD_ARCH
for UUT : Prvi_projekat
use entity
work.Prvi_projekat(Opis_ponašanja);
end for;
end for;
end TESTBENCH_FOR_Prvi_projekat;

a) Namerno je zasenčen deo koda kako bi se naglasilo da je ubačen


primenom alata za automatsko generisanje TB koji imaju gotovo svi
VHDL editori. Tamo gde postoji potreba da korisnik doda svoj kôd,
nalazi se odgovarajući komentar:
-- Add your code here ... ili -- Add your stimulus here ...
Skrećemo pažnju na početni deo kôda – zaglavlje. Kao
što je već naglašeno veoma je korisno da se u zaglavlju nađu
sve relevantne činjenice o kôdu: ko je autor, kada je
napisan, na šta se odnosi, kako se zove fajl i gde se nalazi
na disku. Ukoliko se naknadno unose izmene u kôd, treba
napisati zašto je, kada i ko modifikovao fajl.
Očigledno je da alat za automatsko generisanje TB u velikoj meri
rasterećuje projektanta od unosa podataka koji su već opisani, kao što su
pristup standardnim bibliotekama i paketima, definisanje entiteta,
deklarisanje UUT kao komponente, priključivanje komponente arhitekturi
TB i konfigurisanje komponente koja se testira. Naravno, korisnik može da
izmeni, a mora i da dopuni, ponuđeni kôd.
b) Drugu novinu u ovom primeru predstavlja opis načina na koji se
pristupa pojedinim bitovima signala tipa std_logic_vector (a
pravilo važi i za ostale vektore). Naime, za definisanje pobude uveden je
trobitni signal ulaz tipa std_logic_vector(2 downto 0). Ulaznom
signalu A dodeljen je MSB signala ulaz, signalu B dodeljen je srednji, a
signalu C dodeljen je LSB: (A => ulaz(2); B=>ulaz(1);
C=>ulaz(0)). Uvođenjem vektora ulaz olakšan je opis pobudnih
signala time što se vrednosti za sva tri signala dodeljuju jednom
naredbom: ulaz <= "000". Iz ovog primera treba uočiti dve stvari
koje se tiču upotrebe podataka deklarisanih kao vektrori:

145
VHDL – PRIMENA U SINTEZI

 k-ti član vektora ulaz izdvaja se jednostavno pisanjem


ulaz(k);
 prethodno važi i za izdvajanje dela vektora od k-tog do m-tog
bita, gde je k-m=n>0, kao:
vek1(n-1 downto 0) => vek(k downto m)
 dodeljivanje vrednosti vektoru zahteva da se umesto jednostrukih
(koji se koriste za dodeljivanje vrednosti bitu), koriste dvostruki
navodnici: ulaz <= "000";
Naravno, podrazumeva se da se, kao i kod drugih programskih jezika,
mora voditi računa o poklapanju dužine vektora sa deklarisanom
dužinom, kao i o poklapanju tipova promenljivih (ne mešati promenljive
različitih tipova).
c) Treća novina uvedena kroz ovaj primer jeste definisanje pojma
constant. Radi se, zapravo o konstantnoj vrednosti nekog parametra
koji se prosleđuje celoj arhitekturi (kada se definiše u deklaracionom delu
arhitekture). Pogodnost primene konstanti ogleda se u olakšanom
korigovanju vrednosti parametara koji se višestruko pojavljuju u opisu.
Ukoliko je vrednost parametra definisana kao konstanta, korekcija se
radi ispravkom u samo jednom redu. Sintaksa deklarisanja konstante je,
kao što se iz primera može zaključiti, sledeća:
constant <ime>: <tip> := <vrednost>;
Tipovi konstanti definisani su u svim detaljnim VHDL priručnicima.
Ovde ćemo pomenuti samo neke koji se najčešće sreću: integer, time
(vreme), std_logic, std_logic_vector itd... Treba napomenuti
da korisnici mogu deklarisati sopstvene tipove, kao što su matrice sa
različitim tipovima podataka, ali se to preporučuje naprednijim
korisnicima. Konstante se najčešće koriste za definisanje dimenzija
vektora (nizova), u petljama za kontrolisanje broja ponavljanja i za
definisanje vremenskih parametara (kao što je slučaj u ovom primeru).
Naglasimo da se one ne koriste za definisanje dimenzija
portova, jer za to služe opšte generičke konstante koje se deklarišu u
okviru entiteta, a ne arhitekture. Kao što je to već istaknuto, opšte
konstante karakteriše ključna reč generic. Koriste se za
specifikaciju parametara koji definišu opšte osobine i entiteta i
pripadajućih arhitektura. Dobar primer predstavlja opis portova sa n
bitova. Da bi se jednim opisom obuhvatile komponente sa istom
funkcijom ali proizvoljnim brojem bitova, onda se n zadaje kao generic
sa nekom dodeljenom vrednošću koja se može menjati prilikom upotrebe
te komponente u opisu konkretnog projekta. S obzirom da je n ceo broj,
on se deklariše kao tip integer, što je ilustrovano kao u primeru 3.20.

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

port ( A: in std_logic_vector ((na-1) downto 0);


B: out std_logic_vector ((nb-1) downto 0);
end entity Primer_generic;

Vidimo da se opšte konstante mogu koristiti neposredno posle


deklarisanja (već u opisu portova). Njihova vrednost prenosi se i ka
arhitekturi, tako da ih ne treba tamo deklarisati ponovo. Ukoliko je
komponenta opisana entitetom u kome su definisane opšte konstante
(generic), prilikom priključivanja komponente projektu, osim
instrukcije port map, kojom se dodeljuju stvarne oznake formalnim
portovima, koristi se i generic map instrukcija. Njena primena
ilustrovana je na primeru 3.21 koji prikazuje deo koda u kome se
komponenta Primer_generic (primer 3.17) priključuje pod nazivom
U1 nekom projektu:
Primer 3.21

U1 : Primer_generic
generic map(na => 16, nb => 8)
port map (A => ulaz,
B => izlaz );

Skrećemo pažnju da se prilikom priključivanja komponente


konstantama generic mogu dodeliti nove vrednosti (različite od
onih u deklaraciji entiteta). Dodela se obavlja simbolom =>.
d) U primeru 3.19 koristi se naredba wait for kojom se proces zaustavlja za
neki vremenski interval. Generalno, naredbom wait proces može biti
zaustavljen bezuslovno, ili uz određeni uslov koji se navodi iza ključnih reči
for, on, until koje označavaju uslov.

147
VHDL – PRIMENA U SINTEZI

Konfiguracijom u poslednjem delu opisa primera 3.19 definiše se


arhitektura koju hoćemo da proverimo:
for UUT : Prvi_projekat use entity
work.Prvi_projekat(Opis_ponašanja);
Za proveru sintetizovane arhitekture Tok_podataka bilo bi dovoljno
navesti:
for UUT : Prvi_projekat use entity
work.Prvi_projekat(Tok_podataka);
Na ovaj način mogu se testirati arhitekture, za sintezu (bez vremenskih
parametara), ili arhitekture dobijene posle fizičkog projektovanja, pri čemu
se koristi isti TB opis u oba slučaja.

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.

4.1. Osnovni CMOS proces


Opis toka osnovnog CMOS procesa može da se nađe na više mesta u literaturi [Lit96a],
[Dok99], [Wes05], [Rab03]. U ovom tekstu koristićemo metodologiju iz [Wes05]. Kao
ilustrativni primer koristićemo CMOS invertor. Postoji više načina da se formira par
komplementarnih MOS tranzistora na istoj silicijumskoj osnovi. U primeru koji sledi
pratićemo formiranje CMOS invertora sa Sl. 4.1 u takozvanoj n-well tehnologiji. Električna
šema i logički simbol invertora prikazani su na Sl. 4.1.a i Sl. 4.1.b, respektivno. Slika 4.1.c
prikazuje lejaut, dok Sl. 4.1.d prikazuje poprečni presek invertora realizovanog na
silicijumskoj podlozi.
Pod n-well tehnologijom podrazumeva se proces koji se izvodi na supstratu p-tipa. Da bi se u
njemu formirao pMOS tranzistor, neophodno je da se u supstrat ugradi oblast n-tipa. U tu
svrhu, difuzijom ili jonskom implantacijom „napada“ se osnova donorskim primesama sve
dok se ne promeni tip poluprovodnika. Kao rezultat, nastaje struktura koja liči na jamu n-tipa
u osnovi p-tipa. Odatle i originalni naziv n-well. U našem jeziku, možda bi bolja asocijacija
za ovu n-oblast bilo n-ostrvo, ali mi ćemo, u daljem tekstu, zadržati originalni termin n-well.
Na Sl. 4.1.d. ova oblast je osenčena i označena kao n-well. Sa Sn, Sp, Dn i Dp označeni su
sors i drejn nMOS i pMOS tranzistora, respektivno. Sa Bn i Bp označen je kontakt osnove
(balk) nMOS i pMOS tranzistora sa VSS, odnosno VDD.

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

Slika 4.2 Poprečni presek CMOS invertora tokom izrade n-wella

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

4.2. Submikronski CMOS proces


Savremeni tehnološki procesi komplikovaniji su od opisanog utoliko što se koriste mnogo
složeniji profili dopiranja kako bi se obezbedila bolja izolacija, bolje karakteristike
kratkokanalnih tranzistora i bolje povezivanje.
Za bolju izolaciju između tranzistora koriste se postupci sa dvostrukim ili trostrukim wellom.
Slika 4.6 pokazuje strukturu tranzistora sa trostrukim wellom.

Slika 4.6 Struktura CMOS procesa sa trostrukim wellom, preuzeto iz [Wes05]


Da bi se smanjilo električno polje na drejnu (napon je na njemu najveći), koristi se struktura
sa slabo dopiranim drejnom (LDD - Light Doped Drain). Plitki i slabo dopirani drejn ima
male parazitne kapacitivnosti, ali mu je otpornost velika, pa je neophodan sloj, dublje
postavljenog, jače dopiranog drejna. Njegovo odstojanje od LDD reguliše sloj silicijum
nitrida. Da bi se povećala provodnost gejta od polisilicijuma (često se naziva poligejt) kao i
kontaktnih površina sorsa i drejna, oni se prekrivaju slojem silicida (silicide) koji ima
smanjenu otpornost. Silicid nastaje reakcijom vrlo tankog sloja takozvanog refraktornog
(refractory) metala (Ta ili Mo ili Ti ili Co) sa silicijumom. Samopodešavajući, self-alignent
silicid naziva se salicid (salicide). Slika 4.7 pokazuje profil strukture LDD tranzistora. Na Sl.
4.7b naznačen je i takozvani CMP dielektrik. To je zaštitni sloj silicijum dioksida koji
prekriva ceo čip. Neposredno po nanošenju on je približno iste debljine, tako da prati
vertikalnu konfiguraciju integrisanog kola. Da bi se proces nastavio, neophodno ga je
poravnati, izglačati, što se postiže CMP (Chemical Mechanical Polishing) tehnikom. Njegva
uloga naročito je važna kod CMOS procesa koji koriste više metalnih slojeva jer fizički štite,
daju čvrstinu i međusobno izoluju metalne veze u najvišim slojevima.

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

Slika 4.8 Poprečni presek metalizacie u više slojeva


Savremeni tehnološki procesi dimenzija ispod 0.35m razlikuju se od osnovnog CMOS
procesa opisanog u poglavlju 4.1 u četiri važna detalja [Bak02] jer koriste:
1. plitku ukopanu izolaciju između tranzistora (STI, Shallow Trench Isolation)
2. dopirane poligejtove (n+ poli za nMOS i p+ poli za pMOS)
3. LDD za redukovanje efekata kratkih kanala
4. silicid, odnosno salicid za smanjenje parazitnih otpornosti

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

STI STI STI


c)

p-supstrat

STI STI STI


d) n-well

p-supstrat

polisilicijum
oksid SiO 2
STI STI STI
e) n-well

p-supstrat

polisilicijum

STI STI STI


f)
n-implant
p-implant
p-supstrat

nitrid
n+ p+
STI STI STI
g)
n+ implant p+ implant
p-supstrat

silicid
n+ p+
STI STI STI
h)

p-supstrat

Slika 4.9 Proces fabrikacije CMOS para u submikronskoj tehnologiji

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)

Izolator (SiO2) Izolator(SiO2)

Nanošenje nitrida SiN


Uklanjanje planarnog SiN
nitrid Si3Ni4 nitrid Si 3Ni4

c) d)
Si

Izolator (SiO2 ) Izolator(SiO2)

Uklanjanje deponovanog sloja Uklanjanje Si sloja


nitrid Si3Ni4 nitrid Si3Ni4

e) f)

Izolator (SiO2) Izolator (SiO2)

Ravnjanje nitrida Si3Ni4 Nanošenje SiO2


SiO2

g) h)

Izolator (SiO2) Izolator (SiO2)

Nanošenje gejta
Ravnjanje gejta

i) j)

Izolator(SiO2) Izolator (SiO2)

Slika 4.11 Koraci u fabrikovanju FinFET tranzistora u SOI tehnologiji

160
4.2 Submikronski CMOS proces

4.3. Pravila projektovanja lejauta


Pravila projektovanja lejauta propisuju granične dozvoljene dimenzije pojedinih maski kako
bi se ispunili tehnološki zahtevi. Njima se preciziraju
1. minimalne širine pojedinih slojeva (n-well, difuzije, polisilicijum, metali) koje
garantuju da tokom proizvodnje neće doći do njihovog prekida,
2. minimalna rastojanja između slojeva koja garantuju da neće doći do kratkog
spoja
3. minimalna preklapanja među slojevima koja garantuju prekrivanje jednog sloja
drugim.
Poštovanje pravila projektovanja garantuje da će se sa urađenim maskama postići predviđeni
prinos proizvedenih kola. To znači da ona ne određuju striktnu granicu između ispravnih i
neispravnih kola. Neće sva kola kod kojih je prilikom crtanja maski došlo do manjih
prekršaja pravila, biti neispravna, niti će sva kola izrađena sa maskama kod kojih nisu
prekršena pravila biti ispravna.
U industriji je uobičajeno da se pravila projektovanja lejauta iskazuju u mikronima. Da bi se
omogućilo skaliranje postojećih maski u skladu sa razvojem naprednih tehnologija
uspostavljena su, takozvana lambda pravila ( pravila) [Mea80]. Ova pravila zasnovana su na
ideji da se polovina minimalne dimenzije koja može i sme da se nacrta u određenoj
tehnologiji specificira kao parametar . Sve ostale dimenzije iskazane su kao celobrojni
umnožak . Na taj način, ova dimenzija predstavlja faktor rezolucije geometrije za datu
tehnologiju. Najmanja dimenzija koja se crta tokom izrade maski predstavlja dužina kanala,
odnosno rastojanje između sorsa i drejna. Imajući u vidu način fabrikacije tranzistora (Sl. 4.3
i Sl. 4.4), očigledno je da minimalna dimenzija odgovara širini gejta, odnosno širini sloja od
polisilicijuma. Zato se širina poligejta izražava kao 2. Da ne bi bilo zabune, kada se govori o
0.13 mikronskoj tehnologiji, podrazumeva se dužina kanala = širina gejta = 0.13m, a njoj
odgovara =0.065m=65nm.
Na univerzitetima je popularna primena t.z.v. MOSIS pravila projektovanja jer se lako
skaliraju sa promenom tehnologije, a podržavaju više tehnoloških procesa renomiranih
proizvođača (AMIS 0.35, 0.5, 0.7, 1.5; AMS 0.35, 0.8; IBM 0.13, 0.18, 0.25; TSMC 0.18,
0.25, 0.35). (MOSIS je američki servis za izradu prototipova po popularnim cenama – videti
http://www.mosis.org. Odgovarajuće usluge za Evropu pruža Europractice servis – videti
http://www.europractice.imec.be/). MOSIS je stekao posebnu popularnost uvođenjem
SCMOS (Scalable CMOS) pravila koja dopuštaju da se isti projekat, izražen preko 
parametra, proizvede u različitim tehnologijama.
Set pravila koji se odnosi na n-well proces sa dva sloja metala ilustrovan je na Sl. 4.10 a
svodi se na sledeće:
I. minimalna širina linije metala i/ili difuzije iznosi 4,

161
4 CMOS proces

II. minimalno odstojanje između metala i/ili difuzije iznosi 4,


III. minimalna širina polisilicijuma je 2,
IV. polisilicijum preklapa difuziju u zoni tranzistora za 2, a najmanje je
udaljena od nje, van zone tranzistora, za 1,
V. polisilicijum i kontakti udaljeni su od drugog polisilicijuma i kontakata za
3,
VI. n-well okružuje pMOS sa 6, a udaljen je od nMOS takođe za 6.

Metal1 Metal2 Difuzija Poli

Slika 4.10 Osnovna  pravila


Ovde skrećemo pažnju na pravilo IV. Ukoliko poligejt ne prekrije i premaši oblast difuzije u
zoni tranzistora, imajući u vidu način realizacije (Sl. 4.3 – Sl 4. 4), sors i drejn tranzistora
biće u kratkom spoju.
Dimenzije tranzistora izražavaju se odnosom širine i dužine kanala (W/L), tako da dimenzija
nMOS na Sl. 4.10 iznosi W/L=4/2. Uzimajući u obzir pravilo I i III, ovo je tranzistor
minimalnih dimenzija. On se najčešće zove jedinični tranzistor. (pMOS tranzistori obično su
širi od nMOS za n/p puta, da bi se ostvarila kompatibilnost tranzistora sa stanovišta struja.)
Kod tehnologije sa dvostrukim well oblastima (p-well i n-well) obično se ne crtaju obe
maske. Dovoljno je da se nacrta maska za n-well, a maska za p-well generiše se primenom
logičke funkcije NOT nad maskom n-well. Time se obezbeđuje da je p-well svuda gde nije n-
well. Iz ovog primera, vidi se da broj fizičkih maski nije jednak broju nacrtanih maski. Pored
toga, da bi se lakše prepoznale određene nacrtane strukture (recimo tranzistori), sem fizičkih
slojeva, postoje i takozvani logički slojevi. Do njih se dolazi primenom logičkih operatora
(AND, OR, NOT) nad nacrtanim maskama.
U Tabeli 4.1 dat je spisak maski iz koga se uočava razlika između nacrtanih, fizičkih i
logičkih maski.
Maska sa nazivom glass služi za pasivizaciju, odnosno zaštitu kompletnog čipa od spoljašnjih
uticaja. Po završetku procesa, preko cele povšine nanosi se debeli oksid SiO2, koji predstavlja

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.

Tabela 2. 1. Primer spiska maski i veza sa nacrtanim maskama


Naziv Veza sa nacrtanom maskom Tip
nwell =nwell nacrtana
poly =poly nacrtana
ndiff =ndiff nacrtana
pdiff =pdiff nacrtana
metal1 =metal1 nacrtana
metal2 =metal2 nacrtana
contact =contact nacrtana
via =via nacrtana
glass =glass nacrtana
pwell NOT(nwell) fizička
active pdiff OR ndiff fizička
n-select grow(ndiff) fizička
p-select grow(pdiff) fizička
nMOS sors i drejn (active AND n-select) AND (NOT poly) logička
pMOS sors i drejn (active AND p-select) AND (NOT poly) logička
gejt tranzistora active AND poly logička
Realizacija tranzistora zahteva najmanje četiri fizičke maske, ne računajući n-well. To su
aktiv (active, u nekim procesima zove se i diff ili thinox), n-select (nplus, nimplant, nimp), p-
select (pplus, pimplant, pimp) i polisilicijum (poly, polyg).
Maska active definiše aktivne oblasti u kojima će se naći svi tranzistori (nMOS ili pMOS).
Ona se generiše automatski i sadrži oblasti definisane maskama ndiff i pdiff. Tip difuzije u
okviru aktivne oblasti određuju n-select i p-select maske za n i p difuziju respektivno. Ove
maske generišu se automatski tako što obuhvate (nešto su povećane) nacrtane ndiff, odnosno
pdiff maske. Oblast definisana sa n-select unutar p-wella (n-select AND pwell) definiše
nMOS tranzistor (ili difundovani otpornik n-tipa), dok n-select unutar n-wella definiše
kontakte n-well sa metalom (n-select AND nwell). Slično važi i za oblasti sa p-difuzijom.
Dakle, active, n-select i p-select maske formiraju se automatski na osnovu nacrtanih pdiff i
ndiff maski. Na osnovu njih moguće je odrediti gde se nalaze sors, drejn i gejt tranzistora kao
što je dato u Tabeli 4.1. Na Sl. 4.11.a prikazana je konstrukcija maski koje su potrebne za
fabrikaciju CMOS para sa Sl. 4.11.b.

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)

Slika 4.11 a) Maske i b) fizički slojevi pri fabrikaciji CMOS para


Primer MOSIS SCMOS pravila projektovanja dat je u Tabeli 4.2, a Sl. 4.12 daje njihovu
grafičku interpretaciju.

Slika 4.12 Ilustracija MOSIS pravila projektovanja iz Tabele 4.2

164
4.3 Pravila projektovanja lejauta

Tabela 2. 2. MOSIS SCMOS pravila projektovanja za tehnologiju sa dva metala


Sloj Pravilo Opis dimenzija []
Well 1.1 Širina 10
1.2 rastojanje do wella sa različitim potencijalom 9
1.3 rastojanje do wella sa istim potencijalom 6
Active 2.1 Širina 3
2.2 Rastojanje do aktivne obalsti 3
2.3 Sors/drejn okružen wellom 5
2.4 Sors/drejn kontakt okružen wellom 3
2.5 Rastojanje do aktivne oblasti suprotnog tipa 4
Poly 3.1 Širina 2
3.2 Rastojanje do poly preko debelog oksida 2
3.2a Rastojanje do poly preko aktivne oblasti 2
3.3 Produžetak gejta iza aktivne oblasti 2
3.4 Produžetak aktivne oblasti iza poly 3
3.5 Rastojanje do aktivne oblasti 1
Select 4.1 Rastojanje od kontakta supstrat/well do gejta 3
4.2 Preklapanje aktivne oblasti 2
4.3 Preklapanje kontakta supstrat/well 1
4.4 Rastojanje do Select 2
Contact 5.1, 6.1 Širina (tačna) 2x2
(do poly 5.2b, Preklapanje sa Poly ili Active 1
ili 6.2b
active) 5.3, 6.3 Rastojanje do kontakta 2
5.4, 6.4 Rastojanje do gejta 2
5.5b Rastojanje od poli kontakta do drugog poly 4
5.7b, Rastojanje do Active/Poly kontakta za višestruke 3
6.7b kontakte
6.8b Rastojanje od Active do Poly kontakta 4
Metal1 7.1 Širina 3
7.2 Rastojanje do Metala1 2
7.3, 8.3 Preklapanje kontakta ili vie 1
7.4 Rastojanje do metala šireg od 10 4
Via 8.1 Širina 2x2
(Metal1- 8.2 Rastojanje do vie na istom sloju 3
Metal2) 8.4 Rastojanje do kontakta 2
8.5 Rastojanje do Poly ili ivice Active 2
Metal2 9.1 Širina 3
9.2 Rastojanje do Metala2 3
9.3 Preklapanje vie 1
9.4 Rastojanje do metala metala šireg od 10 6

165
4 CMOS proces

4.3.2. Provera pravila projektovanja, DRC


Po završetku crtanja lejauta poznate su dimezije svih maski i njihov međusobni odnos. Time
projektovanje nije završeno. Iako savremeni alati za crtanje maski imaju ugrađenu proveru
pravila projektovanja, tako da mogu interaktivno da upozore na neke osnovne prekršaje,
neophodna je detaljna provera alatom koji se zove Design Rule Checker, odnosno DRC. Ovaj
alat izdvaja određene logičke slojeve iz postojećih maski, time što primenjuje logičke
funkcije:
- AND sloj1 sloj2 –> sloj3, presek slojeva sloj1 i sloj2
- OR sloj1 sloj2 –> sloj3, unija slojeva sloj1 i sloj2
- NOT sloj1 sloj2 –> sloj3, razlika slojeva sloj1 i sloj2 (oduzima
sloj2 od sloj1),
- WIDTH sloj > dimenzija –> sloj3 proverava da li su sve širine sloja
sloj veće od dimenzija definisanih parametrom dimenzija; svi delovi sloja koji
nisu veći upisuju se kao novi sloj pod imenom sloj3,
- SPACE sloj > dimenzija –> sloj3, proverava da li su sva rastojanja u
okviru sloja sloj veća od dimenzije zadate parametrom dimenzija, svi delovi
sloja sloj koji nisu veći upisuju se pod imenom sloj3.
Na sledećem primeru ilustrovano je generisanje novih slojeva:
NOT all nwell –> substrate, (ključna reč all obuhvata celu površinu na kojoj
se projektuje)
AND nwell active –> nwell-active,
NOT active nwell –> pwell-active,
AND nwell-active p-select –> pdiff,
AND nwell-active n-select –> vddn, (n+ za kontakt VDD sa nwellom),
AND pwell-active n-select –> ndiff,
AND pwell-active p-select –> vssp, (p+ za kontakt VSS sa supstratom),
AND poly ndiff –> ngates (gejtovi nMOS tranzistora),
AND poly pdiff –> pgates (gejtovi pMOS tranzistora).
Posle generisanja slojeva, obavlja se provera pravila projektovanja, naredbama tipa:
WIDTH metal1 < 0.195 –> metal1-width-error,
SPACE metal1 < 0.13 –> metal1-space-error,
čime se u sloj sa nazivom metal1-width-error upisuju sva područja u sloju metal1 u
kojima nisu ispoštovana pravila 7.1 i 7.2 iz Tabele 4.2.

166
4.3 Pravila projektovanja lejauta

4.3.3. Ekstrakcija električne šeme


Generisanje novih slojeva samo je uvod u sledeću fazu provere lejauta, a to je provera
električne šeme. Na osnovu izvedenih slojeva treba prepoznati odgovarajuće strukture
(tranzistore, veze, otpornike, kondenzatore) da bi se iz njih regenerisala električna šema.
Kada se koriste pretprojektovane strukture, tada ekstrakcija može da bude na nivou
prepoznavanja standardnih, odnosno makro ćelija.
Da bi se proverile električne veze na čipu, proverava se da li postoji veza između pojedinih
slojeva naredbom
CONNECT sloj1 sloj2.
Povezanost difuzije i metala proverava se setom naredbi:
CONNECT active-contact pdiff,
CONNECT active-contact ndiff,
CONNECT active-contact vddn,
CONNECT active-contact vssp,
CONNECT active-contact metal1,
CONNECT vssp supstrate,
CONNECT vddn nwell,
dok se povezanost poligejta i metala proverava sa:
CONNECT poly-contact poly,
CONNECT poly-contact metal1,
a povezanost između dva metala sa:
CONNECT via metal1,
CONNECT via metal2.
Za proveru MOS tranzistora koristi se naredba
MOS ime sloj-drejna sloj-gejta sloj-sorsa sloj-supstrata,
tako da se nMOS i pMOS tranzistori sa nazivom nmos i pmos, respektivno, mogu proveriti
naredbama:
MOS nmos ndiff ngate ndiff substrate,
MOS pmos pdiff pgate pdiff nwell.
Kao rezultat ekstrakcije parametara dobija se netlista pogodna za simulaciju, najčešće
programom SPICE.

167
4 CMOS proces

4.3.4. Pravila vezana za tehnologiju


Razvojem savremenih tehnologija i prelaskom na submikronske - nano dimenzije, pojavili su
se problemi koji su karakteristični za određene tehnološke postupke.
Efekat antene
Tokom postuka poznatog pod nazivom nagrizanje plazmom, plasma-etching, u metalnu vezu,
koja kontaktira gejt tranzistora, unosi se određena količina naelektrisanja. Ako je veza duža,
količina naelektrisanja raste, a polje koje se stvara na gejtu može da postane dovoljno veliko
da probije tanak oksid ispod gejta. Ovaj fenomen naziva se antena (antenne). Kao mera
ugroženosti gejta od proboja usled nagomilanog naelektrisanja u metalu koristi se odnos
površine gejtova tranzistora vezanih za segment metalne linije i površine segmenta metala.
Taj odnos kreće se od 100:1 za tranzistore sa tankim oksidom gejta, do 5000:1 za tranzistore
sa debljim oksidom [Wes05]. Na osnovu toga (širina metalne veze je poznata), određuje se
maksimalna dužina segmenta vezanog za gejt tranzistora. Naelektrisanje se odvodi preko
difuzije drejna ili sorsa tranzistora. Zato se posmatra samo deo veze koji počinje od gejta. Na
Sl.4.13.a ilustrovan je problem. Tokom primene alata za automatsko trasiranje veza, vrlo je
verovatno da će se dugačka veza trasirati kroz više nivoa metala, kao što pokazuje Sl. 4.13.b.
Ukoliko se ustanovi da je segment označen sa L2 duži od dozvoljenog, tada problem može da
se reši na dva načina. Prvi način prikazuje Sl. 4.13.c. Kritičan segment veze u Metalu1
skraćen je na dozvoljenu dužinu L1, a kontinuitet veze očuvan je tako što se pobeglo u viši
sloj (najbolje najviši dozvoljeni) u slučaju sa Sl. 4.13.c to je Metal4. Alternativno rešenje
predstavlja vezivanje za supstrat preko inverzno polarisane diode. Na Sl. 4.13.d ova dioda
prikazana je u obliku tranzistora, ali je dovoljno da se na rastojanju L1 bukvalno Metal1 veže
za ndifuziju u p-supstratu koji je vezan za VSS.
L2

a)

L2 Metal3
Metal2
Metal1
b)

Metal4
L1 Metal3
Metal2
Metal1
c)

L1 Metal3
Metal2
Metal1
d)

Slika 4.13 Problem efekta antene i načini za rešavanje

168
4.3 Pravila projektovanja lejauta

4.3.5. Pravila vezana za gustinu slojeva


Tokom izrade CMP procesa, da bi se postigla željena uniformnost tokom poliranja, potrebno
je da postoji određena gustina slojeva koja se izražava u procentu popunjenja po mm2. Tako
za metal željena gustina iznosi 30% do 70%. U digitalnim kolima popunjenost je obično
zadovoljena, ali analogna i naročito VF kola su po pravilu popunjena ispod donje dozvoljene
granice. Zato je neophodno da se docrtaju metali i gejtovi. Dobro je da ovi neaktivni metali i
poligejt budu uzemljeni preko inverzno polarisanih dioda (n difuzija u p supstratu). Naravno,
treba voditi računa da ove oblasti ne ugrožavaju ostatak projekta.

169
Glava 5

STANDARDNA LOGIČKA
KOLA

U ovoj glavi opisani su sinteza i analiza standardnih statičkih CMOS


logičkih kola (invertor, prenosni gejt, NI i NILI logička kola). Svakom ulazu
logičkog kola pridružuje se par CMOS tranzistora (jedan nMOS i jedan
pMOS) sa zajedničkim gejtom. Zajednička osobina svih jeste da je struja iz
izvora napajanja u oba statička stanja zanemarljivo mala i jednaka
odvodnim strujama i strujama curenja MOS tranzistora. Zahvaljujući tome,
statička potrošnja električne energije, takođe, je zanemarljiva, po čemu je
CMOS tehnologija jedinstvena.
CMOS tehnologija jedinstvena je i po tome što napon napajanja
digitalnih kola može da se mijenja u veoma širokim granicama, praktično od
stotinjak milivolti do desetak volti. U zavisnosti od odnosa napona
napajanja VDD i napona praga tranzistora Vt postoje tri CMOS radna reži-
ma: standardni VDD > 2Vt, pretpragovski VDD < Vt i hibridni (Vt <VDD < 2Vt).
Napon logičkog praga u sva tri režima približno je VDD/2. U ovoj glavi anali-
zirana su logička kola u konvencionalnom (standardnom) CMOS režimu.
Korišćeni su pojednostavljeni analitički modeli MOS tranzistora (2.22).

5.1. CMOS INVERTOR


CMOS invertor se sastoji od para komplementnih MOS tranzistora (Mn, Mp)
spojenih tako da je u svakom statičkom stanju jedan tranzistor uključen, a
drugi isključen (sl. 5.1). Zajednički gejtovi čine ulaz, a drejnovi izlaz.
Pozitivno napajanje primjenjujemo preko sorsa pMOS tranzistora, a
negativno preko sorsa nMOS tranzistora. Podloga pMOS tranzistora spojena
je na pozitivno, a nMOS na negativno napajanje. S obzirom da je u stati-

170
Standardna logička kola

Slika 5.1. CMOS invertor


čkim stanjima jedan tranzistor isključen, a drugi provodan i da su drejn-sors
nMOS i pMOS tranzistora spojeni serijski između linija napajanja, statička
struja iz izvora napajanja veoma je mala (struja isključenog tranzistora).
Zahvaljujući tome, statička potrošnja CMOS kola je, takođe veoma mala, u
čemu se ogleda prednost CMOS logike u odnosu na sve druge.
Neka je Vi < Vtn, gdje je Vtn napon praga nMOS tranzistora. Tada je
Mn isključen. Pošto je napon praga pMOS tranzistora negativan (Vtp < 0),
Mp je sigurno uključen. Radna tačka je u presjeku karakteristika Mn i Mp
tranzistora (sl. 5.2a). Struja zakočenog tranzistora, u ovom slučaju Mn,
jednaka je zbiru pretpragovske struje i struje inverzno polarisanog pn
spojeva drejn-podloga nMOS tranzistora i reda je nA. U ovom stanju se
CMOS invertor može modelovati sa dva serijska prekidača sa zajedničkim
upravljanjem (sl. 5.2b). Pošto je struja iz izvora napajanja IDD≈0, kada je
Vi < Vtn, onda je i napon VDSp ≈ 0, pa je VO ≈ VDD.
Kada je Vi >VDD - |Vtp|, stanje je obratno. Tada je Mn uključen, a Mp
isključen (sl. 5.3b), pa je VO = 0, a IDD = ISSp ≈ 0. Dakle, u oba statička
stanja struja iz izvora napajanja je zanemarljiva, što čini jednu od osnovnih
prednosti CMOS kola u odnosu na nMOS i bipolarne tehnike.

Slika 5.2. Ilustracija stanja za Vi<Vtn

171
Standardna logička kola

Slika 5.3. Ilustracija stanja za Vi > VDD + Vtp


VHDL model CMOS invertora dat je u primjeru 5.1.
Primjer 5.1
VHDL opis invertora (sl. 5.1) u kome je ulaznom priključku x
dodeljen formalni naziv i, a izlaznom o.

-- invertor
library IEEE;
use IEEE.std_logic_1164.all;

entity INV is
port ( i: in std_logic;
o: out std_logic);
end entity INV;

architecture rtl of INV is


begin
o <= not i;
end architecture rtl;

5.1.1. Prenosne karakteristike

Naponsku i strujnu prenosnu karakteristiku odredićemo izjednača-


vanjem struja drejna tranzistora Mn i Mp, tj IDn = IDp. Pri tome, moramo
voditi računa o oblasti karakteristika svakog od tranzistora. Na sl. 5.4.
prikazani su položaji radnih tačaka i navedena stanja tranzistora za tri
vrijednosti ulaznog napona. Dodamo li tome još dva statička stanja za
Vi = 0 i Vi =VDD, proizlazi da u području 0 ≤ Vi ≤ VDD imamo pet različitih
oblasti prenosne karakteristike (tabela 5.1).
Na osnovu (2.22) proizlazi da su struje drejna i granice zasićenih i nezasi-
ćenih (linearnih) oblasti tranzistora Mn i Mp, redom, određeni sa:

172
Standardna logička kola

Slika 5.4. Ilustracija oblasti radnih tačaka CMOS tranzistora


Tabela 5.1. Stanja tranzistora Mn i Mp i oblasti karakteristika za 0 ≤ Vi ≤ VDD
Vi 0 ≤Vi <Vtn Vtn ≤Vi <VO+Vtp VO+Vtp <Vi <VO+Vtn VO+Vtn <Vi <VDD+Vtp VDD+Vtp<Vi <VDD
Mn Isključen/zasićena Provodan/zasićena Provodan/zasićena Provodan/linearna Provodan/linearna
Mp Provodan/linearna Provodan/linearna Provodan/zasićena Provodan/zasićena Isključen/zasićena

 k n [2(V i  Vtn )VO  VO2 ], VO  V i Vtn


I Dn  2
, (5.1)
k n (V i Vtn ) , VO  V i Vtn
2
 k p [2(V DD  Vtp V i )(V DD  VO )  (V DD VO ) ], VO  V i  Vtp
I Dp  2
, (5.2)
k p (V DD  Vtp V i ) , VO  V i Vtp

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

gdje su k n'   n  ox (2tox ) i k p'   p  ox (2tox ) konstante tehnologije.


Neka ulazni napon raste od 0 do VDD . Analiziraćemo prenosne kara-
kteristike po oblastima:
I oblast: 0<Vi <Vtn
Mn je isključen, a Mp uključen i u linearnoj oblasti, pa je VO = VOH = VDD,
IDD ≈ 0.
II oblast: Vtn <Vi <VO+Vtp
Oba tranzistora su provodna, pri čemu je Mn u zasićenoj, a Mp u linearnoj
oblasti. Iz IDn=IDp i na osnovu (5.1) i (5.2), za odgovarajuće oblasti,

173
Standardna logička kola

Slika 5.5. Naponska i strujna prenosna karakteristika CMOS invertora


dobijamo da su:

kn
VO  Vi Vtp  (V DD  Vtp Vi )2  (Vi Vtn )2 , (5.5)
kp

I DD  k n (V i Vtn )2  I Dn sat . (5.6)


III oblast: VO+Vtp <Vi <VO+Vtn
Oba tranzistora su u zasićenoj oblasti, pa je:.
k n (V i Vtn )2  k p (V DD  Vtp V i )2  I DDM . (5.7)

Pošto, prema idealnom modelu tranzistora, ove struje ne zavise od izlaznog


napona, promjena VO je okomita na Vi osu.
IV oblast: VO+Vtn <Vi <VDD+Vtp
Mn je u linearnoj, a Mp u zasićenoj oblasti, tako da je:

k n 2 V i Vtn Vo Vo2   k p (V DD  Vtp V i )2 , (5.8)

odakle proizilazi da su:

kp
VO  V i Vtn  (Vi Vtn )2  (V DD Vtp Vi )2 , (5.9)
kn

I DD  k p (V DD  Vtp V i )2  I Dpsat . (5.10)

174
Standardna logička kola

V oblast: VDD+Vtp ≤ Vi ≤VDD


Mp je isključen, a Mn u linearnom području. Stoga su: VO =VOL =0 i IDD ≈ 0.
Na osnovu ove analize nacrtane su prenosne karakteristike CMOS
invertora (sl. 5.5). Promjene u II i IV oblasti najviše zavise od odnosa
konstanti kn /kp. Povećanjem kn/kp karakteristike se pomjeraju u lijevo
(sl. 5.6).

5.1.2. Napon praga

Tačka divergencije prenosne karakteristike je u III oblasti. Stoga


napon praga VT dobijamo iz (5.7) smjenom Vi =VT , odakle slijedi
V DD  Vtp  Vtn k n / k p V DD  Vtp Vtn
VT   Vtn  . (5.11)
1  kn / k p 1  kn / k p
Dakle, osim od napona napajanja VDD i pragova tranzistora Vtn i Vtp , napon
praga VT CMOS invertora zavisi od odnosa konstanti kn/kp (sl. 5.6). Kada
su tranzistori simetrični, tj. za Vtn=|Vtp| i kn=kp, napon praga je
V DD
VT  , (5.12)
2
pa je i prenosna karakteristika simetrična oko VDD/2. Tada je neosjetljivost
na smetnje maksimalna. Vidjećemo kasnije da su vremenski odzivi takođe
simetrični (tr = tf ), kada su tranzistori simetrični. U tom slučaju je i
temperaturna osjetljivost napona praga najmanja. Prvi, skraćeni, naziv ovih

Slika 5.6. Napon praga u fuknciji kn/kp i VDD kao parametra, za Vtn=|Vtp|=0,8V

175
Standardna logička kola

kola COS-MOS u sebi je imao osobinu simetričnosti (eng. COmplementary


Symmetric-MOS ). Danas se simetričnost podrazumijeva, zbog čega je skra-
ćeni naziv CMOS (eng. Complementary MOS). Odstupanje VT od VDD/2 je
posljedica tehnoloških tolerancija, tako da je 0.45VDD <VT < 0.55VDD.
Na osnovu (5.4) i (5.5) i uslova simetričnosti, slijedi odnos geometrije
tranzistora
Wp / Lp n
  2.5. (5.13)
Wn / Ln p

S obzirom da je µn=2.5 µp i da su dužine kanala većinom konstante


tehnologije, tj. Ln=Lp=L, iz (5.13) proizlazi da kanal pMOS treba da bude
oko 2.5 puta širi od kanala nMOS tranzistora.
Primjer 5.2
Zbog idealizovanog modela tranzistora u zasićenoj oblasti,
dobili smo da je karakteristika VO(Vi ) u III oblasti okomita.
Primjeniti realniji model, izražen sa (2.27), i izračunati naponsko
pojačanje u III oblasti i njenu širinu, pri VDD = 5V i VDD = 10V,
ako su faktori modulacije kanala λn =1/100 i λp =1/80. Neka su
tranzistori simetrični, a Vtn=|Vtp|=1V.

Na osnovu (2.27), u III oblasti imamo:


k n (V i Vtn )2 (1  nVO )  k p (V DD  Vtp V i )2 (1  p (V DD VO ))
Diferenciranjem ove jednačine po Vi , i nakon sređivanja dobija-
mo naponsko pojačanje u obliku:
dVO k k (V Vtn )(1  nVO )  (V DD  Vtp V i )(1  p (V DD VO ))
AV   2 n p i . (5.14)
dV i k n k p n (V i Vtn )2  p (V DD  Vtp V i )2

Vi i VO su naponi u tački definisanja pojačanja. Uzećemo da je


to tačka divergencije T. Pošto smo pretpostavili simetričan
invertor, onda je T(VDD/2,VDD/2 ).
S obzirom da je VOS=2Vt- ∆ViS (sl. 5.7)
2Vt 2V
V iS   t .
AV  1 AV
Sređivanjem jednačine (5.14), pri VO=Vi=VDD/2, kn=kp i
Vtn=Vtp=Vt, dobijamo:

176
Standardna logička kola

2  4 
AV   V DD  .
V DD  2Vt  n  p 

S obzirom na zadate parametre imamo: za VDD=5V, AV ≈-122, a


za VDD =10V, AV ≈-47.
Širina III oblasti je V iS  VOS / AV .

Sada imamo da je za VDD =5V, ΔViS ≈16.5mV, dok je za


VDD =10V, ΔViS ≈42mV. S obzirom da je VT =VDD/2 >>ΔViS
opravdan je proračun napona praga VT sa idealizovanim
modelima tranzistora.

Slika 5.7. Realna prenosna karakteristika

5.1.3. Struja prelaza


Struja kroz provodne tranzistore u prelaznoj oblasti prenosne
karakteristike (Vtn ≤ Vi ≤ VDD +Vtp) je struja prelaza IDD iz izvora napajanja.
Na osnovu (5.6) i (5.10):

 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

Struja iz izvora napajanja je maksimalna kada su oba tranzistora u zasićenoj


oblasti, tj. pri Vi = VT , pa je, na osnovu (5.7) i (5.11):
2
 V i 
I DDM  kn   , (5.16)
 1  kn / k p 
 
gdje je

177
Standardna logička kola

V i  V DD  Vtp Vtn , (5.17)

š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.

5.1.4. Margina smetnji i neosjetljivost na smetnje

Po definiciji, margina smetnji je razlika napona u statičkim stanjima


i ulaznih napona u tačkama jediničnih pojačanja Vo-Vi karakteristike
(sl. 5.8). Tačke A i B su tačke jediničnog pojačanja (AV = dVO/dVi = -1).
Odgovarajuće vrijednosti ulaznih napona VIL i VIH u tačkama jediničnih
pojačanja su, redom, maksimalni nizak i minimalni visok nivo na ulazu.
Tačka A je u II oblasti prenosne karakteristike gdje je Mn zasićen, a
Mp nezasićen, tako da imamo:
k n (V i Vtn )2  k p [2(V DD  Vtp V i )(V DD V 0 )  (V DD V 0 )2 ]. (5.18)
Diferenciranjem po Vi proizlazi:
kn dV dV
(V i Vtn )  (V DD VO )  (V DD Vtp V i ) O  (V DD VO ) O . (5.19)
kp dV i dV i
Smjenama Vi =VIL i dVO/dVi = -1, i nakon sređivanja, proističe da je
maksimalni napon niskog nivoa na ulazu CMOS invertora:

Slika 5.8. Ilustracija određivanja margina smetnji

178
Standardna logička kola

2VOA V DD  Vtp Vtn


V IL  Vtn  . (5.20)
1  kn / k p

Pošto je VOL=0 V, margina smetnji niskog nivoa je VNML=VIL-VOL=VIL.


Dobili smo, dakle, da je VIL =VNML u funkciji izlaznog napona VOA u
tački A. Eksplicitna vrijednost za VIL se može dobiti rješavanjem sistema
jednačina (5.19) i (5.5) za Vi =VIL. Međutim, dobila bi se kvadratna jedna-
čina čije je rješenje veoma nepregledno i od male koristi za dobru procjenu.
Stoga ćemo koristiti veoma praktičan, ali približan metod određivanja
ulaznih napona u tačkama jediničnog pojačanja A i B.
Posmatrajmo dva invertora u lancu (sl. 5.9a). Kada je na izlazu
prvog napon VOA tranzistor Mp drugog invetora mora da bude isključen, tj.
V DD VOA  Vtp , (5.21)

odakle proističe
VOA  V DD  Vtp . (5.22)

Smjenom (5.21), sa znakom jednakosti, u (5.19) i nakon sređivanja, proizlazi


da je:
V  3Vtp Vtn k n / k p
V IL  V NML  DD . (5.23)
1  kn / k p

U okolini tačke B nMOS tranzistor je u linearnoj, a pMOS u zasiće-


noj oblasti i vrijedi (5.8). Diferenciranjem (5.8) po Vi imamo:
kn  dVO dVO 
VO  (V i Vtn ) VO   (V DD  Vtp V i ). (5.26)
kp  dV i dV i 
Smjenom Vi =VIH, VO =VOB i dVO/dVi = -1 dobijamo:
V DD  Vtp  (2VOB  Vtn ) k n k p
V IH  . (5.27)
1  kn k p

Slika 5.9. Dozvoljeni statički nivoi na ulazu sljedećeg invertora

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

5.1.4. Dinamičke karakteristike

Model MOS tranzistora

Na prelazne procese u kolima sa MOS tranzistorima, generalno, utiču


vrijeme prolaska nosilaca naelektrisanja kroz kanal tc i vrijeme punje-
nja/pražnjenja međuelektrodnih kapacitivnosti. Vrijeme prolaska približno je
L L2
tc   , (5.35)
E V DS
gdje su: E - jačina polja u kanalu, µ pokretljivost nosilaca naelektrisanja, L
dužina kanala, a VDS napon drejn-sors. Po pravilu ovo vrijeme je za više od
jednog reda veličine manje od vremena punjenja i pražnjenja parazitnih
kondenzatora MOS tranzistora, pa se redovno zanemaruje. Praktično, to
znači da se struja u kanalu trenutno uspostavlja, kada se tranzistor
uključuje, a trenutno prekida (pada na nulu) pri njegovom isključenju.
Kada su podloga i sors tranzistora kratko spojeni, onda se međuelektrodne
kapacitivnosti tranzistora svode na CGD, CGS i CDS (sl. 5.10a). Model tranzi-
stora se može predstaviti kao na sl. 5.10b, gdje je struja ID određena sa
(2.22). On se može još pojednostaviti preslikavanjem povratne kapacitivnosti

181
Standardna logička kola

Slika 5.10. Visokofrekventni model MOS tranzistora


CGD na ulaz i izlaz. Posmatrajmo kolo na sl. 5.11a. Kapacitivne komponente
ulazne i izlazne struje određene su sa
dV i d (V i VO ) dVO d (VO V i )
i i  C GS  C GD , iO  C DS  C GD .
dt dt dt dt
Kod CMOS logičkih kola promjene ulaznog i izlaznog napona su jednake, ali
suprotne po znaku, tj. ΔVO = -ΔVi i iznose VDD . Uzevši ovo u obzir, pretho-
dni izrazi postaju
dV i dV i dV i dV i
i i  C GS  2C GD  (C GS  2C GD )  CI , (5.36)
dt dt dt dt
dVO dVO dV dVO
iO  C DS  2C GD  (C DS  2C GD ) O  C 0 . (5.37)
dt dt dt dt
Jednačine (5.36) i (5.37) pokazuju da ulazna struja zavisi od brzine
promjene ulaznog, a izlazna samo izlaznog napona, pri čemu su ekvivalentne
ulazne i izlazne kapacitivnosti određene sa:
C I  C GS  2C GD , (5.38)
C O  C DS  2C GD . (5.39)
Prema tome, uticaj povratnog kondenzatora se očituje na povećanje
kapaciteta ulaznog i izlaznog kondenzatora. Njegov kapacitet se preslikava i
na ulaz i na izlaz sa dvostruko većom vrijednošću. Ovo je sasvim logično, jer
je promjena napona na CGD dvostruko veća od promjene ulaznog, odnosno
izlaznog napona. Preslikavanjem na ulaz/izlaz njegova količina naelektri-

Slika 5.11. Preslikavanje povratne kapacitivnosti

182
Standardna logička kola

sanja će ostati nepromjenjena ako mu povećamo kapacitet onoliko puta


koliko je povećana promjena napona na njemu.

CMOS model

Na sl. 5.12. prikazan je CMOS invertor sa odgovarajućim međuele-


ktrodnim kondenzatorima. Takođe, prikazani su kondenzatori sljedećeg
invertora u lancu koji opterećuju posmatrani izlaz. Koristeći (5.38) i (5.39),
model CMOS invertora, za analizu prelaznog režima, se pojednostavljuje
svodeći sve kondenzatore na po jedan ulazni i izlazni (sl. 5.13), pri čemu su:
C I  CGSn  CGSp  2(CGDp  CGDn ), (5.40)

C L  CDSn  CDSp  2(CGDn  CGDp )  CIL , (5.41)

gdje je CIL ulazna kapacitivnost opterećenja. Ako su invertori identični onda


je CIL = CI , pa je
C L  CDSn  CDSp  CGSn  CGSp  4(CGDn  CGDp ). (5.42)
Odziv na skokovitu pobudu

Pretpostavićemo da se ulazni napon mijenja skokovito od 0 do VDD i


obrnuto (sl. 5.16). Do t=t1 Mn je isključen, a Mp uključen, pa je napon na
kondenzatoru CL, VO=VDD. Promjenom Vi od 0 do VDD (t=t1) dolazi do
uključenja Mn, a isključenja Mp. Kondenzator CL se prazni strujom IDn
(sl. 5.14). Putanja radne tačke je prikazana na sl. 5.14b. Ona je prvo u zasi-
ćenoj (A do B), a potom u nezasićenoj oblasti (B do C). Stoga se i vrijeme
pada izlaznog napona sastoji od dva vremenska intervala, koja odgovaraju
vremenima pražnjenja kondenzatora CL strujom nMOS tranzistora u zasiće-
noj odnosno linearnoj oblasti.

Slika 5.12. Invertor sa odgovarajućim kondenzatorima

183
Standardna logička kola

Slika 5.13. Pojednostavljeni model CMOS invertora za analizu prelaznog režima


Pošto se napon na CL ne može trenutno promijeniti radna tačka će u
trenutku t1+0 biti u položaju A (sl. 5.14b), što znači da je Mn u zasićenoj
oblasti. Struja IDn je konstantna, pa je:
t
1 2 k 2
VO (t )  V DD 
CL  k n (VDD Vtn ) dt  V DD  C nL (VDD Vtn ) t . (5.43)
0

Dakle, u ovom dijelu, VO linearno opada, sve do granice zasićene i linearne


oblasti. Vrijeme ove promjene se određuje iz uslova
VO (tf 1 )  V DD  Vtn , (5.44)
tako da je
CL Vtn
tf 1  . (5.45)
k n (V DD Vtn )2

Pošto je nakon tf 1 Mn u linearnoj oblasti, onda je


t
1
VO (t )  V DD Vtn   k n [2(VDD Vtn )VO  VO2 ]dt . (5.46)
CL 0

Podintegralna funkcija u (5.46) zavisi od vremena. Nakon diferenciranja


dobija se diferencijalna jednačina prvog reda, koja se rješava razdvajanjem
promjenljivih i integracijom od VDD -Vtn do VO i od 0 do t. Dakle,

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

Na granici zasićene i linearne oblasti VO( tr1 )=|Vtp|, pa je


CL Vtp
t r1  . (5.53)
k p VDD  Vtp
Postavljanjem jednačine za linearnu oblast i nakon razdvajanja promje-
nljivih dobijamo:
V DD 0.1V DD Vtp  tr 2
dVO k
 2
 p o dt . (5.54)
Vtp
2(V DD  Vtp )(V DD VO )  (V DD VO ) CL

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 

Poređenjem (5.51) i (5.56) uočavamo da su vremena porasta i pada


jednaka ako su tranzistori simetrični. Tri su ključna parametra koji utiču na
vremena prelaza: CL, VDD i konstante kn i kp.
Kapacitet CL zavisi od tehnološkog procesa i kapacitivnosti
međuveza. Pažljivim projektovanjem layout-a moguće je smanjiti
kapacitivnosti međuveza. Kapaciteti međuelektrodnih kondenzatora se
smanjuju redukcijom dimenzija tranzistora kao i tehnološkim poboljšanjima.

Slika 5.16. Odziv CMOS invertora na skokovitu pobudu

186
Standardna logička kola

Slika 5.17. Realni odziv na skokovitu pobudu


Povećanjem VDD prelazna vremena se smanjuju, ali, na žalost,
povećava se potrošnja. Tendencija smanjenja dimenzija elemenata zahtijeva
smanjenje potrošnje i, naravno, napona napajanja.
Povećanje konstanti kn i kp se ostvaruje povećanjem odnosa W/L. I
ovo ima ograničene efekte. Povećanjem W/L, naime, povećavaju se kapaciti-
vnosti tranzistora.
Treba istaći da izlazni napon na početku prelaznog procesa, ima
male skokove ΔVO od nekoliko stotina mV (sl. 5.17). To je posljedica
postojanja kapaciteta između gejta i drejna MOS tranzistorima. Naime,
preko povratnog kondenzatora CGD , dio promjene ulaznog napona prenosi se
na izlaz (sl. 5.17b).

5.1.6. Kružni oscilator


Kružni (ring) oscilator je lanac neparnog broja invertora s povra-
tnom spregom sa izlaza posljednjeg na ulaz prvog. Takva sprega nema
stabilnih statičkih stanja i funkcioniše kao oscilator čiji je period oscilovanja
direktno proporcionalan broju invertora u lancu i logičkom kašnjenju
invertora. Zato kružni oscilator koristimo za mjerenje vremena kašnjenja.
Razmotrićemo primjer CMOS kružnog oscilatora sa tri invertora
(sl. 5.18a). Teoretski, postoji samo jedna stabilna tačka ovakve sprege. To je
tačka u kojoj su ulazni i izlazni naponi jednaki naponu praga invertora.
Praktično je to, međutim, nemoguće postići. Pretpostavimo da su invertori
identični. To podrazumijeva da su i njihove opteretne kapacitivnosti, takođe,
jednake (C1 = C2 = C3). Talasni oblici napona V1, V2 i V3 su prikazani na
sl. 5.18b. Analizu ćemo početi pretpostavkom da je u nekom trenutku
V3 = 0. Uključeni Mp1 invertora I1 će puniti C1 tako da V1 raste. To će
poslije V1 >VT2 , prouzrokovati smanjenje napona V2 , jer će se C2 prazniti
preko uključenog Mn2. Nakon što je V2 <VT3 doći će do porasta V3 , itd.
Očigledno je da u ovoj međusobnoj pobudi postoji određeno vremensko
kašnjenje promjena izlaznih napona, kao posljedica prelaznih režima
invertora. To su, u stvari, po definiciji vremena propagacije.

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)

Kada su invertori simetrični onda je tpHLi = tpLHi , pa su vremena propagacije


(logičkog kašnjenja) t pi  (t pLHi  t pHLi ) / 2  t pLHi  t pHLi , i  1,2, 3.

Za identične invertore imamo:


T  2t p 1  2t p 2  2t p 3  2  3t p  6t p . (5.58)

Generalizujući ovaj odnos, može se konstatovati da je period oscilovanja


kružnog oscilatora sa n invertora:
T  2nt p , (5.59)
gdje je n neparan broj. Na osnovu izmjerene frekvencije (f=1/T) oscilatora i
na osnovu (5.59) računa se vrijeme logičkog kašnjenja, jer je, prema (5.59),
t p  1 (2nf ). (5.60)

Da bi frekvencija mogla da bude tačnije mjerljiva, u praksi je obično n veće


od 3.

5.1.7. Temperaturne karakteristike


Temperaturne karakteristike pn spojeva, napona praga tranzistora,
pokretljivosti nosilaca naelektrisanja u kanalu i difuzione kapacitivnosti
određuju temperaturno ponašanje CMOS kola i u statičkom i u dinamičkom
režimu.
Struja inverzno polarisanog pn spoja se udvostručuje za svakih 10oC.
Ona utiče samo na odvodnu struju drejn-sors isključenog tranzistora koja je
većinom zanemarljiva.

188
Standardna logička kola

Slika 5.19. Temperaturne promjene Vtn i Vtp


Temperaturne promjene napona pragova u širem opsegu mogu se
aproksimirati linearnim funkcijama:
Vtn (T )  Vtno   n (To  T ), (5.61)
Vtp (T )  Vtpo   p (To  T ), (5.62)
gdje su: Vtno i Vtpo naponi pragova na sobnoj temperaturi To, a αn i αp
temperaturni koeficijenti koji su u granicama od 2mV/oC do 4mV/oC.
Temperaturna promjena napona praga nMOS tranzistora je negativna dok
je pMOS pozitivna (sl. 5.19).
Pokretljivosti nosilaca naelektrisanja u kanalu su eksponencijalne
funkcije temperature:
n (T )  no (To / T )bn , (5.63)

 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

k n/k p=2 kn/k p=2

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.

Slika 5.20. Relativna promjena vremena propagacije u funkciji temperature

190
Standardna logička kola

Dominantan uticaj na temperaturne karakteristike prelaznih vremena tr i tf


imaju konstante kn i kp odnosno pokretljivosti µn i µp. Uvrštavanjem (5.61)
do (5.64) u (5.51) i (5.56) dobijamo funkcije tf (T ) i tr (T ) na osnovu kojih
su izračunate njihove relativne promjene i predstavljene na sl. 5.20. Vidimo
da ove promjene, u temperaturnom opsegu od -55oC do +125oC iznose i do
150%.

5.1.8. Potrošnja električne energije


U dosadašnjoj analizi smatrali smo da su struje CMOS tranzistora u
statičkim stanjima zanemarljive, što navodi na zaključak da je i potrošnja
tada zanemarljiva. Statička struja ipak postoji i u nekim slučajevima ne
može da bude zanemarena. Pokazano je da u prelaznoj oblasti oba tranzi-
stora vode i da kroz njih teče struja. S druge strane, opet, za vrijeme prela-
znog režima, struju punjenja i praćnjenja izlaznog kapacitivnog opterećenja
obezbjeđuje izvor napajanja. Sve ovo upućuje na zaključak da potrošnja u
CMOS kolima ima dvije komponente: statičku i dinamičku PD =PDS + PDD .
Dinamička potrošnja, takođe ima dvije komponente: usljed punje-
na/pražnjenja kapacitivnog opterećenja (prekidačka potrošnja) i usljed
struje prelaza (potrošnja prelaza).
Statička potrošnja
Statička potrošnja je posljedica postojanja struja MOS tranzistora u
statičkim stanjima i određena je sa:
PDS  I SV DD , (5.67)
gdje je IS ukupna statička struja:
I S  I g  I Dsub  I DSS  I H . (5.68)
Postoje četiri glavna izvora statičke struje u CMOS kolima:
 struja tunelovanja kroz gejt (Ig),
 pretpravogvska struja drejna (IDsub),
 struja inverzno polarisanih pn spojeva (IDSS) i
 struja gejta zbog injekcije vrućih nosilaca naelektrisanja (IH).

Slika 5.21. Struje curenja gejta nMOS (a) i pMOS tranzistora (b)

191
Standardna logička kola

Prve tri komponente imaju dominantan uticaj na statičku potrošnju CMOS


kola.
Skaliranjem dimenzija MOS tranzistora smanjuje se i debljina oksida
ispod gejta (tox). Zbog toga se povećava električno polje kroz oksid gejta što
dovodi do tunelovanja nosilaca naelektrisanja iz gjeta u podlogu ili iz
podloge u gejt. Struja gejta ima četiri komponente: gejt-kanal (Igc), gejt-
drejn (Igd), gejt-sors (Igs) i gejt-osnova (Igb) (slika 5.21). Ukupna struja gejta
je
I g  I gd  I gb  I gs  I gc .
Struje gejta zavisi od napona napajanja VDD i tehnologije
(tabela 5.3). Tako, na primjer, povećenjem napona napajanja sa VDD=0.2V
na VDD=1.2V, struja gejta poveća se sa Ig≈1.2 nA na Ig≈1.7 µA. Povećanje
iznosi približno 1.4∙103 puta. Smanjivanjem dimenzija tranzistora struja
gejta se takođe povećava. Za nMOS tranzistor, prema tabeli 5.3, to pove-
ćava za 45 nm u odnosu na 65 nm CMOS tehnologiju, u zavisnosti od VDD
iznosi približno 7 (pri VDD = 1.2V ) do 14 (pri VDD = 0.2V ) puta.
Struja curenja gejta nMOS tranzistora je veća nego pMOS zato što je
vjerovatnoća tunelovanja elektrona veća od vjerovatnoće tunelovanja
šupljina kroz oksid gejta. To povećanje, iznosi oko 40 puta.
Pretpragovska struja drejna postoji u oblasti u kojoj je VGS <Vt i
najveća je kada je VGS =0 i kada [MAR 10]1 je napon drejn-sors isključenog
tranzistora maksimalan (sl. 5.22). Tada je (8.8):
VDD Vt
nt
I Dsub  I oe , (5.69)
gdje je η DIBL (eng. Drain-Induced Barrier Lowering) faktor.
Vrijednosti ove struje zavise od napona napajanja, veličine elemenata
(tehnologije) i temperature. U tabeli 5.4 date su uporedne vrijednosti struje
gejta i pretpragovske struje drejna u fuknkciji napona napajanja VDD i
Tabela 5.3. Struje gejta nMOS tranzistora u funkciji napona napajanja za dvije
različite tehnologije [MISH 12]
Ig
VDD [V]
45 nm 65 nm
0.2 1.1996 nA 85.506 pA
0.4 14.258 nA 1.2376 pA
0.6 66.954 nA 6.5488 nA
0.8 225.97 nA 25.244 nA
1.0 647.38 nA 82.378 nA
1.2 1.6811 µA 243.21 nA

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

Slika 5.23. Ilustracija stanja u prelaznom režimu


dVO
I Dn  C L , (5.70)
dt
a puni strujom pMOS tranzistora
dVO
I Dp  C L . (5.71)
dt
Gubitak snage se može izračunati kao srednja vrijednost disipacije na
tranzistorima u toku jednog ciklusa. Dakle,
1 T1 T 
PDsw    VO (t )I Dn (t )dt   (V DD VO )I Dp (t )dt  , (5.72)
T  0 T T1 
odnosno, koristeći (5.70) i (5.71),
V DD
CL   C
0
2
PDsw    VO (t )dVO   (V DD VO (t ))dVO   L V DD . (5.73)
T  VDD 0  T
Pošto je frekvencija pobude f=1/T, onda je
2
PDsw  C LVDD f. (5.74)
Prekidačka potrošnja, prema tome, raste sa kvadratom napona
napajanja. Stoga se, u VLSI kolima, nastoji što više redukovati VDD (na 1 do
3V - standardni CMOS režim). Na žalost, smanjenjem napona napajanja
povećava se vrijeme kašnjenja.
Potrošnja se linearno povećava sa porastom frekvencije. Uticaj
frekvencije pogotovo dolazi do izražaja kod VLSI kola. Posmatrajmo CMOS
kolo sa 200000 gejtova i srednjom kapacitivnošću po gejtu CL=30fF/gejt.
Neka je frekvencija f=100 MHz, a napon napajanja 5V. Tada je potrošnja
po jednom gejtu 75 µW, što je, gledano pojedinačno, zanemarljivo. Ukupna
potrošnja kompletnog čipa (svih 200000 gejtova) bi bila 75∙10-6∙2∙105=15 W
(!), što je nedopustivo. Ovo, naravno, nije ni realno. Nikad svih 200000
gejtova ne mijenjaju stanje istovremeno niti rade na frekvenciji 100 MHz. S
druge strane neki su aktivni samo povremeno. Stoga je realna potrošnja čipa

194
Standardna logička kola

za red veličina manja od izračunate.


Svemu prethodnom treba dodati i to da VLSI kola imaju nekoliko
desetaka do stotinjak izlaznih priključaka čija su kapacitivna opterećenja od
nekoliko pF do nekoliko desetaka pF. Punjenje i pražnjenje tih kapaci-
tivnosti može znatno da poveća i dinamičku potrošnju.
Potrošnja prelaza
Prethodna analiza podrazumijevala je skokovitu pobudu i idealne
MOS tranzistore kao prekidače. Realno, međutim, uvijek postoje vremena
porasta i pada pobude, a tranzistori su realni prekidači. Drugim riječima, u
određenom vremenskom intervalu, teče struja kroz oba tranzistora
prouzrokujući dodatnu potrošnju. Potrošnju prelaza možemo da analiziramo
kao da se radi o sporo promjenljivim signalima.
Pretpostavimo da je pobuda linearna. Tada je vremenski odziv struje
IDD iz izvora napajanja kao na sl. 5.24. Ako sa tr i tf označimo, redom,
vremena porasta i pada ulaznog napona, onda su njegove promjene za
vrijeme tr i tf određene sa (5.75) i (5.76), redom:
V i  V DDt / t r , (5.75)
V i  V DD (1  t / t f ). (5.76)
Zanemarivši statičke struje, struja iz izvora napajanja određena je
strujom tranzistora u zasićenoj oblasti. Na osnovu toga slijedi:
 k n (V i Vtn ) 2 ; t1  t  t 2 , t 5  t  t6
 2
i DD (t )  k p (V DD  Vtp V i ) ; t2  t  t 3 , t 4  t  t 5 (5.77)

 0 ; ina če .

Pošto je Vi linearna, onda je iDD(t) kvadratna funkcija vremena (sl. 5.24).


Srednji gubitak snage iz izvora napajanja u toku jednog perioda T je
T
1
PDt  V DD i DD (t )dt . (5.78)
T 0
Na osnovu (5.78), (5.77), (5.75) i (5.76), vodeći računa o intervalima
ti porasta/pada Vi , dobijamo:
t  tf
PDt  r [k n (VT  Vtn ) 3  k p (V DD  Vtp VT ) 3]. (5.79)
3T
gdje je VT napon praga CMOS invertora. Njegovom zamjenom sa (5.11)
proizlazi da je:

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

Slika 5.24.Vremenski odzivi struje iz izvora napajanja CMOS invetora na linearnu


pobudu
Ovo pokazuje da je potrošnja prelaza funkcija trećeg reda od napona
napajanja VDD . S obzirom da je maksimalna struja iz izvora napajanja
određena sa (5.16), onda je
1
PDt  I DDM V i (t r  t f )f , (5.81)
3
gdje je ΔVi=VDD+Vtp-Vtn širina prelazne oblasti u kojoj vode i nMOS i
pMOS tranzistor, a f=1/T frekvencija ulaznog signala. Ako su vremena
porasta i pada jednaka, tj. tr = tf = tp, onda je
2
PDt  I DDM V i t p f . (5.82)
3
Dakle, potrošnja prelaza je funkcija trećeg reda napona napajanja
VDD i prvog (linearna) frekvencije i vremena porasta i pada ulaznog signala.
Ona je najveća u ulaznim kolima gdje vremena tr i tf mogu da budu dosta
velika. Unutar lanca integrisanih kola vremena tr i tf svode se na prekidačka
vremena tpLH i tpHL logičkog kola. Ova vremena su reda nanosekundi. Zbog
toga je prekidačka potrošnja veća od potrošnje prelaza. Procjenjuje se da je
PDt< 0.1PDsw. Kao što je prikazano u poglavlju 1.2.4 obje komeponente dina-
mičke potrošnje treba pomnožiti faktorom aktivnosti kola 0< α <1, tj.
 2 
PDd  PDsw  PDt   f C LV DD2  I DDM V i t p f . (5.83)
 3 
Ukupna potrošnja CMOS invertora je:
PD  PDS  PDSW  PDt . (5.84)

196
Standardna logička kola

U CMOS tehnologijama iznad 100 nm, dominantna komponenta u


(5.84) je prekidačka potrošnja PDsw. U procesu skaliranja tranzistora ispod
100 nm, naglo raste struja gejta i pretpragovska struja, pa u
niskofekventnom opsegu statička potrošnja može da bude veća od
dinamičke.

5.1.9. Parazitne diode


Postoje dvije vrste parazitnih elemenata: diode i komplementni par
bipolarnih tranzistora (tiristorska struktura). Analiziraćemo parazitne
strukture osnovnog (standardnog) CMOS procesa.
Sve oblasti n+ i p+ sorsa i drejna s odgovarajućim podlogama
predstavljaju parazitne diode (sl. 5.25). Pošto su podloga i sors svakog
tranzistora kratko spojeni, odgovarajuće diode (Dns i Dps) su pasivizirane.
Parazitno djelovanje se ostvaruje preko dioda Dp i Dn (sl. 5.25b). Normalno
su ove diode inverzno polarisane. Njihove inverzne struje zasićenja
povećavaju struju curenja između linija napajanja. U dinamičkom režimu
ove diode se ponašaju kao kondenzatori i direktno utiču na vremena porasta
i pada.
Između n-podloge i p-osnove, odnosno između linija napajanja,
postoji dioda Dss koja je, takođe, inverzno polarisana. Njena inverzna struja
čini dio statičke struje iz izvora napajanja. Strogo moramo voditi računa da
ne okrenemo polaritet napona napajanja koji bi doveo do njene direktne
polarizacije. Dakle, sors pMOS uvijek mora da bude na višem potencijalu od
sorsa nMOS tranzistora.

5.1.10. Tiristorski efekat


Između linija napajanja CMOS invertora postoji četveroslojna
(tiristorska) p+npn+ struktura, koju čine: p+- oblast sorsa pMOS, n-podloga,
p-oblast i n+- oblast sorsa nMOS tranzistora (sl. 5.26). Strukturu čine tri pn
spoja: p+ sors – n podloga, n podloga – p oblast, p oblast – n+sors (sl. 5.26).

Slika 5.25. Parazitne diode CMOS invertora

197
Standardna logička kola

U suštini, možemo uočiti još jednu četveroslojnu strukturu: p+ izlaz – n


podloga, p osnova – n+ izlaz. Ova struktura je pasivizirana time što čini
zatvorenu petlju preko VO. Međutim, ona može, kao što ćemo poslije
pokazati, pri određenim uslovima, aktivirati osnovnu tiristorsku strukturu.
Tiristorski efekat u CMOS kolima opšte je poznat kao lečap (latch up), pa
ćemo ravnopravno koristiti i ovaj termin.
Radi lakšeg razumijevanja, na sl. 5.27a prikazano je izlazno
ekvivalentno kolo CMOS invertora, gdje su pn spojevi zamjenjeni diodama,
a Rs i Rw, redom, predstavljaju otpornosti n-podloge prema kontaktu VDD i
p-oblasti prema kontaktu mase ili -VSS. Pozitivan napon VDD diode Dsp i Dsn
će direktno, a DSS inverzno polarisati (sl. 5.27a). Do uključenja tiristora
dolazi pri VDD koji je približno jednak probojnom naponu DSS (pn spoj
podloga - p oblast).
Tranzistorski model izlazne strukture CMOS invertora prikazan je
na sl. 5.27b. On se, kao što možemo uočiti, sastoji od para komplementnih
bipolarnih tranzistora Tn i Tp . Tranzistori imaju zajednički kolektorski pn
spoj (dioda DSS). Strujno pojačanje β lateralnog Tp je oko 0.1 do 0.2, a
vertikalnog Tn je u granicama 15 do 30.
Kao što je poznato, do tiristorskog efekta (uključivanja tiristora)
dolazi pri naponu napajanja BVDD za koji je zbir koeficijenata strujnog
pojačanja α tranzistora jednak jedinici. To se odnosi na čistu tiristorsku
strukturu (bez Rs i Rw ). Uslov uključenja, sa uticajem otpornika se može
izraziti kao
 ne   pe  1, (5.85)

gdje su αne i αpe ekvivalentna strujna pojačanja tranzistora Tn i Tp s


uključenim Rw i Rs.
Posmatrajmo model na sl. 5.28. Crtkano uokviren je ekvivalentni
npn tranzistor. Iz
'
I Cn   n I En   ne I DD (5.86)
'
proizilazi da je  ne   n I En / I DD .

Slika 5.26. Parazitna tiristorska struktura

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

Jedan od osnovnih zahtjeva CMOS tehnološkog procesa je kako


spriječiti lečap. Na odgovore upućuje uslov (5.86). Pojačanja tranzistora
treba da budu što manja. To se ostvaruje smanjenjem efikasnosti emitorske
injekcije ili smanjenjem vremena života manjinskih nosilaca, dopiranjem
rekombinacionih centara u podlogu. Međutim, smanjenje αn i αp je
ograničeno drugim karakteristikama CMOS tranzistora. Lečap se može
sprečiti povećanjem drugog člana u (5.86). Zato otpornosti Rw i Rs treba da
budu što manje. To se postiže na nekoliko načina:
• Korišćenjem n+ prstenova spojenih na VDD oko pMOS i p+ prstenova
spojenih na masu oko nMOS tranzistora, koji redukuju Rs i Rw i
zahvataju injektovane sporedne nosioce prije nego što dospiju u
bazu.
• Smještanjem kontakata za podlogu i p oblast što je moguće bliže
kontaktima sorsa.

200
Standardna logička kola

Slika 5.29. Proces sa dva sloja p podloge


• Korišćenjem minimalnih površina za p oblast sa n podlogom ili n
oblast sa p podlogom. Ovo se efikasno postiže tehnologijom
dvostrukih oblasti (twin-tub proces).
• Korišćenjem procesa sa p podlogom i n oblašću.
U ovom posljednjem slučaju podloga p tipa sastoji se iz dva dijela
(sl. 5.29). Uski slabo dopirani epitaksijalni sloj omogućuje potrebne konce-
ntracije u oblastima tranzistora. Jako dopirana p+ oblast obezbjeđuje malu
otpornost Rs između baze i emitora ekvivalentnog npn tranzistora. U odnosu
na proces sa n podlogom ovdje je otpornik Rs između baze i emitora npn, a
Rw između baze i emitora pnp tranzistora. Otuda i u uslovu proboja (5.90)
treba zamjeniti mjesta ovih otpornika, tj.

V BE   R 
n   p  1   p  1  n w  . (5.92)
I DD Rw   p Rs 

Proces sa p+ p- podlogom daje veće β lateralnog npn tranzistora


(tipično je 3 do 5). Međutim, povećanje odnosa Rw/Rs , zbog malog Rs , ima
dominantniji uticaj.
Na početku smo rekli da CMOS tranzistori posjeduju još jednu
četveroslojnu strukturu, doduše zatvorenu u prsten preko VO , i da ona može
da prouzrukuje uključenje osnovne tiristorske strukture. Posmatrajmo
tiristorski model CMOS invertora sa p podlogom kada mu je izlaz visok
(sl. 5.30a). Pozitivna smetnja na izlazu čija je amplituda veća od 0.6 V
dovešće do direktne polarizacije emitora ED i do provođenja pnp tranzistora.
Ako je struja dovoljna da na otporniku Rs formira napon veći od 0.6 V doći
će do uključenja i npn tranzistora, a time i cijele tiristorske strukture.
Potpuno analogna situacija se ima pri djelovanju negativne smetnje
kada je izlaz nizak (sl. 5.30b). Preko odgovarajućeg emitorskog pn spoja,
npn tranzistor se uključuje i dovodi do lečapa.

201
Standardna logička kola

Slika 5.30. Uključenje tiristorske strukture impulsnim smetnjama preko izlaza

5.1.11. Ograničenja napona napajanja


Maksimalna vrijednost napona napajanja je ograničena naponom
držanja VST uključene tiristorske strukture, tj. VDDM <VST. Standardni CMOS
radni režim podrazumijeva da su u jednom dijelu prelazne oblasti oba
tranzistora provodna. To, drugim riječima, znači da je širina prelazne oblasti
V i  V DD  Vtp  Vtn  0 , odakle proizilazi da minimalni napon napajanja
mora da bude:
VDDm  Vtn  Vtp . (5.93)

Prema tome, napon napajanja CMOS kola, u standardnom random režimu,


kreće se u granicama
Vtn  Vtp  V DD  V ST . (5.94)
S obzirom na tabelu 5.5 te da su Vtn i Vtp u granicama od nekoliko stotina
milivolti do oko 1 V, opseg mogućih vrijednosti napona napajanja je dosta
širok i kreće se od oko 1 V do desetak volti.

5.2. TRANSMISIONI GEJT – TG


Transmisioni ili prenosni gejt je druga osnovna ćelija CMOS kola.
Sastoji se, takođe, od para CMOS tranzistora čiji su drejn-sors spojeni
paralelno (sl. 5.31). Upravljanje CMOS tranzistorima je protivfazno što
obezbjeđuje da su oba tranzistora, Mn i Mp, istovremeno uključeni ili
isključeni. Kada je CL=0 (VCL= -VSS), tada su naponi gejta Vgn= -VSS i
Vgp=VDD , pa su i Mn i Mp isključeni. U prekidačkom smislu, između ulaza i
izlaza je, idealno posmatrano, otvorena veza (sl. 5.31b), a realno postoji
otpornost reda 108Ω do 109Ω. Ako je CL=1, onda su Vgn =VDD i Vgp = -VSS ,

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,

Slika 5.32. Struktura gejta sa parazitnim diodama (a) i prenosna karakteristika za


različite otpornosti opterećenja RL (b)

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;

Navedeni opis ne podržava bilateralni prenos signala tako da se može


primeniti u kolima kod kojih je protok signala usmeren od ulaza ka izlazu.

5.2.1. Karakteristika otpornosti RON


Pod ovom karakteristikom podrazumijeva se zavisnost otpornosti
uključenog TG od ulaznog napona, Naime, ova otpornost, osim od
parametara tranzistora i napona napajanja, zavisi i od ulaznog napona. Ona
je jednaka paralelnoj vezi otpornosti uključenih Mn i Mp. Pošto je

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 )

Treba istaći da sors i podloga tranzistora nisu zajednički, tako da se


mora voditi računa o uticaju napona VBS. Ako se uzme da je 2ϕF=0.6V i da
je za oba tranzistora γ=0.5, onda su na osnovu (2.11), naponski pragovi:
1
Vtn  Vtno  ( 0.6  V i  0.6), (5.99)
2
1
Vtp  Vtpo  ( 0.6  V DD  V i  0.6). (5.100)
2
Na osnovu jednačina (5.97) do (5.100) nacrtana je karakteristika
otpornosti gejta RON = f (Vi ) (sl. 5.33). Razlikujemo tri oblasti:
I oblast: 0 ≤ Vi ≤ |Vtp|. Mp je isključen, pa je otpornost gejta jednaka
otpornosti tranzistora Mn.

Slika 5.33. Karakteristike otpornosti sa uticajem VBS (a), (c) i za VBS=0 (b), (d)

205
Standardna logička kola

II oblast: |Vtp| ≤ Vi ≤ VDD-Vtn. Oba tranzistora su uključena.


Otpornost gejta je:
Rn R p
RON  . (5.101)
Rn  R p
III oblast: VDD-Vtn ≤ Vi ≤ VDD. Mn je isključen (Vgsn<Vtn), tako da je
RON=Rp.
Na početku izrečena tvrdnja, da su Mn i Mp uključeni kada je CL=1,
očigledno vrijedi uslovno. Oba tranzistora vode samo u oblasti ulaznih
napona |Vtp|<Vi<VDD-Vtn.. Naponi podloga-sors tranzistora Mn i Mp pove-
ćavaju pragove i sužavaju oblast u kojoj oba tranzistora vode. Što je ova
oblast uža, otpornost RON je veća, a karakteristika otpornosti RON(Vi) je
nelinearnija. Nelinearnost ove karakteristike često predstavlja smetnju,
pogotovo kada se TG koristi u funkciji analognog prekidača.
Povećanje uniformnosti karakteristike može se postići ako se proširi
II oblast (sl. 5.33b), što se ostvaruje svođenjem napona podloga-sors na nulu.
Da bi to dobili potrebno je modifikovati osnovnu ćeliju transmisionog gejta.
Podloga jednog ili oba tranzistora se povezuje s odgovarajućim sorsom preko
dodatnog, jednog ili više, MOS tranzistora. Primjer tako poboljšanog
transmisionog gejta prikazan je na sl.5.34. Drejn-sors dodatnog tranzistora
Mpo spojeni su između sorsa i podloge Mn. Za Vi > |Vtpo| Mpo je uključen, pa je
VDSpO=VBSn= 0. Tako se dobija da je napon praga tranzistora Mn, Vtn = Vtno,
što je i bio cilj. Treba istaći da karakteristika otpornosti RON(Vi) može da
ima maksimum u II oblasti (sl. 5.33. c i d) što zavisi od konstanti kn i kp i
napona napajanja VDD.

Slika 5.34. Modifikovani transmisioni gejt


Primjer 5.5

Izračunati otpornosti standardnog i modifikovanog


transmisionog gejta u funkciji ulaznog napona i konstanti kn i kp,
pri VDD=5V, ako su Vtno=|Vtpo|=1V i γ=1/2.

206
Standardna logička kola

Otpornost transmisionog gejta je RON = R = Rn||Rp.


Kombinujući (5.97) do (5.100), proističe da su asimptote Van i
Vap otpornosti Rn i Rp standardnog transmisionog gejta
Van=3.39V, Vap=1.61V.
Izračunate otpornosti transmisionog gejta, pri ulaznim
naponima 0, VDD , VDD/2 , Vap i Van za različite iznose kn = kp su
predstavljene u tabeli 5.6.
Tabela 5.6. Otpornost standardnog transmisionog gejta za VDD=5V i VSS=0V
kn=kp[μA/V2] 50 250 1000
R(0)[Ω] 2500 500 125
R(5)[Ω] 2500 500 125
R(2.5)[Ω] 4965 993 248
R(Vap)[Ω] 4920 984 246
R(Van)[Ω] 4920 984 246

Uočljivo je da je R najmanje pri Vi = 0 i Vi =VDD , dok odnos


R( Van )/R( VDD/2) = R( Vap)/R( VDD/2) zavisi od kn = kp i VDD.
Većinom je prethodni odnos manji od jedan, što znači da
otpornost R=RON ima maksimum pri Vi =VDD/2.

U tabeli 5.7 prikazane su izračunate otpornosti RON=R


modifikovanog transmisionog gejta u funkciji Vi i kn = kP. Ovdje
su asimptote za RP iste kao kod standardnog transmisionog gejta
dok su za Rn određene sa Van=VDD-Vtno=4V.
Tabela 5.7 Otpornost poboljšanog transmisionog gejta za VDD=5V i VSS=0V
kn=kp[μA/V2] 50 250 1000
R(0)[Ω] 2500 500 125
R(5)[Ω] 2500 500 125
R(2.5)[Ω] 3989 797 199
R(Vap)[Ω] 4186 837 209
R(Van)[Ω] 3630 726 181

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

Slika 5.35. Temperaturne karakteristike otpornosti RON(T) transmisionog gejta


CD4066B, pri VDD-VSS=15V

5.3. SLOŽENA LOGIČKA KOLA


Principijelna blok šema složenih ili višeulaznih CMOS kola s
osnovnom (NI ili NILI ) ili složenom komplementnom logičkom funkcijom
može se predstaviti kao na sl. 5.36. Logička funkcija kola zavisi od veze
tranzistora u pMOS i nMOS tranzistorskim mrežama. Prilikom sinteze treba
se pridržavati sljedećih pravila:
 kolo se sastoji od nMOS i pMOS tranzistorskih mreža, sa dualnim
funkcijama,
 dualnost podrazumijeva da serijskoj vezi nMOS odgovara paralelna
veza pMOS tranzistora i obrnuto,
 tačka spoja dualnih mreža je izlaz kola,
 svakom ulazu pridružuje se jedan par CMOS tranzistora i
 broj tranzistora u svakoj mreži jednak je broju ulaza m logičkog
kola, tako da je ukupan broj tranzistora 2m.
Funkcija ispod crte negacije, f (x1, x1, …, xm), je funkcija nMOS mreže
dok je funkcija pMOS mreže dualna. Dualnu funkciju dobijamo zamjenom
operatora. Tako na primjer, funkcije nMOS i pMOS tranzistorskih mreža m-
ulaznog NI logičkog kola su:
fn  x1  x 2  x 3    x m ,
(5.102)
f p  x1  x2  x3    x m ,
dok su za m-ulazno NILI kolo:
fn  x1  x2  x3    xm,
(5.103)
f p  x1  x2  x3    x m ,

208
Standardna logička kola

Slika 5.36. Blok šema m-ulaznog CMOS logičkog kola


Pošto operator „∙” znači serijsku, a „+” paralelnu vezu tranzistora, u NI
kolima svi nMOS tranzistori su spojeni serijski, a pMOS paralelno, a u NILI
obrnuto, tj. nMOS čine paralelnu, a pMOS serijsku mrežu. Prethodna pra-
vila garantuju minimalan broj tranzistora po logičkoj funkciji i zanemarljivu
struju napajanja u svakom statičkom stanju. Na osnovu ovoga, nacrtane su
šeme dvoulaznog NI i troulaznog NILI logičkog kola (sl. 5.37).
U NI2 kolu samo kada su A=B=1 uključeni su Mn1 i Mn2, a Mp1 i Mp2
su isključeni, pa je Vo=0 (Y=0). Drugim riječima, Y  AB odnosno
Y  AB . Ako je bilo koji od ulaza nizak, odgovarajući Mn je isključen , a Mp
uključen i povezuje Vo na VDD, pa je Y=1.

Slika 5.37. NI2 (a) i NILI3 logička kola (b)


VHDL opis NI2 kola dat je u primjeru 5.6
Primjer 5.6
VHDL opis NI2 kola sa sl. 5.37a u kome su ulaznim
portovima dodeljeni formalni nazivi a i b, a izlaznom y.

209
Standardna logička kola

-- NI2 kolo sa dva ulaza

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.

VHDL opis NILI3 kola dat je u primjeru 5.7.


Primjer 5.7
VHDL opis NILI3 kola sa sl. 5.37b u kome su ulaznim
portovima dodeljeni formalni nazivi a, b, i c a izlaznom y.

-- NILI3 kolo sa tri ulaza

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;

Složenije logičke funkcije sintezuju se na isti način. Pokazaćemo to na


primjeru sinteze logičke funkcije

210
Standardna logička kola

Slika 5.38. Logičko kolo čija je funkcija f   AB  C  D

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)

Dakle, kod složenih logičkih kola nMOS i pMOS mreže su serijski-paralelne,


odnosno paralelno-serijske. Potpuna šema ovog logičkog kola prikazana je na
sl. 5.38.
Prilikom sinteze, treba voditi računa da su paralelne sekcije mreža
na linijama napajanja, ili bliže njima, jer su parazitne kapacitivnosti tada
mnogo manje. U ovom primjeru to znači da bi kolo sa pMOS tranzistorom
čiji je ulaz C prema VDD i nMOS tranzistorom s ulazom D prema masi,
imalo lošije dinamičke karakteristike od ovog na sl. 5.38.
Primjer 5.8
Sintezovati XILI funkciju koristeći: a) pravila sinteze
kompleksnih CMOS kola i b) standardni postupak sa NI
logičkim kolima. Uporediti rezultate po broju tranzistora.

a) Transformišući funkciju f, dvostrukom negacijom, dobijamo

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

Slika 5.39. XILI: CMOS sinteza (a), sinteza sa NI kolima (b)

b) Iz f  AB  AB proizlazi da su za standardnu sintezu


(sl. 5.39b) potrebna 3 NI kola i 2 invertora, ili ukupno 2*8=16
tranzistora, što znači za četiri tranzistora više nego za
standardnu CMOS sintezu. Generalno, ova razlika se povećava s
povećanjem broja ulaza logičkog kola.

5.3.1. Prenosne karakteristike


Prenosne karakteristike m-ulaznih CMOS logičkih kola, osim od
napona napajanja VDD i parametara tranzistora, zavise i od:
 broja ulaza m,
 broja aktivnih ulaza n (1 ≤ n ≤ m) i
 kombinacije rasporeda aktivnih ulaza [Dok 82]3.
Pod aktivnim ulazom podrazumijevamo onaj ulaz na koji je primijenjen
napon Vi. Ostali ulazi su pasivni, tj na naponu jednog od logičkih nivoa (VDD
kod NI i 0 kod NILI kola).
Ove tvrdnje će prvo biti objašnjene na primjeru određivanja napona
praga VT dvoulaznog NI kola (sl.5.37a). Neka su oba ulaza aktivna
(VA=VB=Vi). U prelaznoj oblasti svi tranzistori vode. Struje paralelnih
pMOS tranzistora se sabiraju. Pošto su im odgovarajući naponi jednaki, tj.
VDSp1=VDSp2, VGSp1=VGSp2, ukupna struja je ista kao da postoji jedan
tranzistor s dvostruko većom širinom kanala, odnosno konstantom kp.

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

Slika 5.42. Prenosne karakteristike dvoulaznog NI kola


posljednjem slučaju, napon logičkog praga jednak je naponu VT praga
CMOS tranzistora (invertora) sa aktivnim ulazom.
Kod NILI kola se ovaj uticaj manifestuje obrnuto. Naime, s
povećanjem broja aktivnih ulaza prenosne karakteristike NILI kola se
pomjeraju ulijevo. Napon praga je najmanji kada su svi ulazi aktivni, a
najveći kada je aktivan samo ulaz pridružen pMOS tranzistoru čiji je sors
spojen na VDD.
Primjer 5.9

Odrediti napone pragova dvoulaznog NI kola za različite


kombinacije aktivnih ulaza pri: VDD =10V, ako su svi tranzistori
simetrični, tj. Vtni=|Vtpi|=1V i kni = kpi , i =1,2.

Na osnovu (5.93) i (5.94) proističe: VT(A,B) =6.3V, i VT(B) = 5V.


Kada je aktivan samo ulaz A, NI kolo se može zamijeniti
ekvivalentnim invertorom kao na sl. 5.41c, gdje je otpornost
tranzistora Mn2:
1
Rn 2  . (5.109)
2k n (V DD  Vtn )
Pri Vi=VT, Mn1 i Mp1 su u zasićenoj oblasti, tako da se može
pisati:
k p (VDD  Vtp  VT )2  kn (VGSn  Vtn )2  kn [VDD  Rn 2 k p (VDD  Vtp  VT ) 2  Vtn ] 2

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 .

Generalno, struje paralelnih MOS tranzistora sa aktivnim ulazima se


sabiraju, pa je ukupna struja ista kao da imamo jedan tranzistor sa onoliko
puta većom širinom kanala koliko ima paralelnih provodnih tranzistora.
Drugim riječima, paralelni provodni tranzistori mogu se zamijeniti sa jednim
tranzistorom čija je ekvivalentna širina kanala
n
We  W1  W 2    W n   Wi . (5.111)
i1

Ako su širine kanala Wi svih tranzistora jednake, onda je


We  nW , (5.112)
gdje je 1 ≤ n ≤ m broj aktivnih ulaza.
Struja serijskih MOS tranzistora se smanjuje sa povećanjem broja
tranzistora. Efekat smanjenja se svodi na povećanje dužine kanala jednog
tranzistora. Drugim riječima, m serijskih provodnih tranzistora možemo
zamijeniti jednim tranzistorom sa dužinom kanala:
n
Le  L1  L2    Ln   Li . (5.113)
i1

Ako su dužine kanala Li svih tranzistora jednake, onda je


Le  mL . (5.114)
Kao što je već rečeno, m-ulazna CMOS logička kola posjeduju dvije
dualne mreže tranzistora. U NI kolima, nMOS mreža je serijska, a pMOS
paralelna, pa se, kada su svi ulazi aktivni m-ulazno NI kolo može zamijeniti
ekvivalentnim parom CMOS tranzistora (invertora) sa sljedećim
parametarima:
nMOS : W ne  W n , Lne  mLn ,
(5.115)
pMOS : W pe  mW p , L pe  L p ,
U NILI kolima, struktura mreže je obrnuta, pa se m-ulazno NILI kolo, pri
analizi statičkih parametara, kada su svi ulazi aktivni, može modelovati
ekvivalentnim invertorom sa parametrima tranzistora:

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

Slika 5.43. Zamjena m serijskih tranzistora sa 1<n<m aktivnih ulaza

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 ,

5.3.3. Napon praga i ulazni logički nivoi


Na osnovu (5.11), (5.119) i (5.120) proizlazi da su naponi pragova m-
ulaznih NI i NILI kola:
VDD  Vtp  Vtn
VT NIm  Vtn  . (5.121)
1 kn
1
n  m  p  1 k p

217
Standardna logička kola

VDD  Vtp  Vtn


VT NILIm  Vtn  . (5.122)
1  n  m  p  1 k n k p

Na sl. 5.45 prikazana je zavisnost VT četveroulaznih NI i NILI kola,


prema (5.121) i (5.122), u funkciji napona napajanja te broja aktivnih ulaza
n i položaja prvog aktivnog ulaza p, kao parametara. Uzeto je da su: kn=kp i
Vtn=|Vtp|=0.6V. Razlika maksimalnog i minimalnog praga u funkciji n i p se
povećava sa rastom VDD. Pri VDD=5V, ta razlika je veća oko 1.14V.
Evidentna je i zavisnost pragova od položaja prvog aktivnog ulaza pri istom
n (prave a i b). Tako, na primjer, pri VDD = 5V, razlika napona praga je oko
0.6 V kada je aktivan samo prvi ulaz (n=1, p=1) u odnosu na prag kada je
aktivan samo četvrti ulaz (n=1, p=4). Pragovi NI i NILI kola su jednaki za
n=1, p=4 (a) i iznose 50% napona napajanja.
Treba naglasiti da se povećanjem broja ulaza m povećava razlika
VIH - VIL, tj. proširuje se zabranjena zona VO-Vi karakteristike u kojoj ne bi
smjela da se nađe statička radna tačka.
Napon niskog ulaznog nivoa NIm kola ne zavisi od m i određen ne sa
(5.23) dok VIH zavisi od m i određen je sa (5.28) i (5.119) kada su svi ulazi
aktivni (n=m), tj.
VDD  Vtp  3Vtn
VIH NI m  3Vtn  . (5.123)
1  ( kn k p ) m 2

Kod NILIm je obrnuto, VIH ne zavisi od m i određen je sa (5.28), dok VIL


dobijamo na osnovu (5.23) i (5.120), kada su svi ulazi aktivni (n=m), pa je
VDD  3Vtp  Vtn
VIL NILI m  Vtn  . (5.124)
1  m2 kn k p

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

5.3.4. Optimalna geometrija


Neosjetljivost na smetnje i margine smetnji određuju se prema
najgorem slučaju, tj. na osnovu minimalnih i maksimalnih napona VT
odnosno VIL i VIH . I za NI i za NILI kola najgori slučaj je kada su svi ulazi
aktivni i kada je aktivan samo ulaz rednog tranzistora čiji je sors na jednoj
od linija napajanja, masa kod NI, odnosno VDD kod NILI. Kada su
tranzistori simetrični, tj. kn=kp i Vtn=|Vtp|, onda su VO -Vi karakteristike NI i
NILI kola nesimetrične u odnosu na VI =VDD /2. Za NI kola one su
pomjerene udesno, a za NILI kola ulijevo. Ovo znatno smanjuje statičku
neosjetljivost na smetnje. Prethodni nedostatak može se korigovati
odgovarajućim izborom odnosa kn/kp. Kao što je poznato, prenosna
karakteristika logičkog kola je optimalna u pogledu neosjetljivosti na
smetnje ako su minimalne neosjetljivosti na smetnje za visok i nizak nivo
jednake. Prema sl. 5.46 to znači:
NI : VT (n  1, p  m)  V DD VT (n  m)
(5.125)
NILI : VT (n  m)  V DD VT (n  1, p  m).
Iz (5.125), (5.121) i (5.122) proističe da je optimalan odnos konstanti
kn/kp=m za NIm, a kn/kp=1/m za NILIm logička kola.
Optimalni odnos geometrije tranzistora:
Wn Ln p
NIm : m , (5.126)
Wp Lp n

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.

Slika 5.46. Ilustracija određivanja neosjetljivosti na smetnje i margina smetnji

219
Standardna logička kola

Primjer 5.10

Izračunati neosjetljivost na smetnje i margine smetnji NI4 i


NILI4 kola pri: VDD = 10V, Vtn =|Vtp|= 1V ako su:
a) kn = kp i
b) geometrije tranzistora optimalne i određene sa (5.126) i
(5.127).

Pri optimalnim geometrijama tranzistora , na osnovu (5.126)


i (5.127), proizlazi da je: za NI kola , kn/kp = m = 4, a za NILI
kola, kn/kp = 1/m = 1/4.
NI4 kolo:
Napon praga je određen sa (5.121), pa su neosjetljivosti na
smetnje:
 5V (a )  2.6V (a )
V NIL  VT n 1  V NIH  V DD VT n4 
p 4 3.67 (b ), 3.67V (b ).

S obzirom da je VNI = min{VNIH,VNIL }, proizilazi: (a) VNI=2.6V i


(b) VNI=3.67V.
Margine smetnji se određuju na osnovu (5.23) i (5.28), pri
1 kn
čemu kn/kp treba zamijeniti sa , pa su:
n  m  p  1 k p

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

Dakle: (a) VNI =2.6V i (b) VNI =3.67V.


U jednačinama (5.23) i (5.28) kn/kp treba zamijeniti sa
n  m  k  1 k n k p . Na osnovu toga proizlazi:

1.41V (a ) 4.5V (a)


V NML  V IL n 4  VNMH  VDD  VIH n 1

 2.4V (b ). k 4 2.4V (b).
Prema tome: (a) VNM =1.41V i (b) VNM =2.4V.
Rezultati su sumirani u tabeli 5.8.
Može se zapaziti da su karakteristike NI i NILI kola skoro
podudarne. Pri optimalnoj geometriji, neosjetljivosti i margine
smetnji su jednake.
Tabela 5.8. Margine smetnji i neosjetljivost na smetnje NI4 i NILI4 kola, pri
VDD =10V
NI4 NILI4
VNI (V) VMN (V) VNI (V) VMN (V)
kn = kp min(5, 2.6) = 2.6 min(4.5, 1.42) =1.42 min(2.6, 5) =2.6 min(1.41, 4.5) =1.41
NI: kn/kp=4
NILI: kn/kp=1/4 min(3.67,3.67) =3.67 min(2.4, 2.4) =2.4 min(3.67, 3.67)=3.67 min(2.4, 2.4) =2.4

5.3.5. Izlazna otpornost


Izlazna otpornost određena je otpornošću tranzistora u linearnoj
oblasti. Te su otpornosti približno određene sa:
1
nMOS : Rn  , (5.128)
2k n (V DD Vtn )

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 .

a) Prvo odredimo pojedinačne otpornosti tranzistora . Na osnovu


(5.128) i (5.129) proizlazi:
1
Rn  6
 625 i
20(50 * 10 )(4 / 1)(5  1)
1
Rp   625
2(20 * 10 6 )(10 / 1)(5  1)
NI : ROL=4Rn=2.5kΩ, ROHmin=Rp/4=156.25Ω,
ROHmax = Rp= 625Ω.
Prema tome: (ROL / ROH )max = 2500/156.25 = 16.

222
Standardna logička kola

NILI: ROL = Rn /4 = 156.25Ω, ROLmax = Rn=625Ω,


ROH = 4Rp= 2.5kΩ.
b) Uzmimo da su odnosi W/L paralelnih tranzistora kao pod a).
Na osnovu (5.126) i (5.127) proizlazi:
1
NI: (W / L )p  10 / 1 i (W / L )n  4 (10 / 1)  16 / 1
2, 5
1
ROL  4R n  4 6
 625.
2(2 * 10 )(16 / 1)(5  1)
S obzirom da je W/L pMOS tranzistora ostao isti, onda je i ROH
kao pod a), pa je (ROL/ROH)max = (625/156.25) = 4.
NILI: (W / L )n  4 / 1 i (W / L )p  4(2, 5)(4 / 1)  40 / 1
1
ROH  4R p  4 6
 625,
2(20 * 10 )(40 / 1)(5  1)
Otpornost ROL je ostala ista, pa je (ROH/ROL)max = 4. Kola s
optimalnom geometrijom tranzistora imaju 4 puta manji maksi-
malni odnos izlaznih otpornosti.

5.3.6. Dinamičke karakteristike NI i NILI kola


Dominantan uticaj na dinamičke karakteristike NI i NILI logičkih
kola, pri određenom naponu napajanja, imaju parazitne kapacitivnosti
tranzistora i konstante kn i kp. Postupak analize je sličan kao kod CMOS
invertora. On je ovdje utoliko složeniji ukoliko je veći broj ulaza, jer se
proporcionalno povećava broj kondenzatora. Ilustracije radi, na sl. 5.48
prikazano je dvoulazno NI kolo s odgovarajućim kapacitivnostima
tranzistora. Kapaciteti paralelnih tranzistora se sabiraju.
U toku prelaznog režima dolazi do preraspodjele naelektrisanja kapaciti-
vnosti serijskih tranzistora, tako da je njihova zamjena jednim
ekvivalentnim kondenzatorom predmet jedne složenije analize, koja
prevazilazi potrebe ove knjige. S druge strane kapaciteti inverzno polarisanih
pn spojeva, osim što zavise od napona, imaju različite napone.
Ulazne kapacitivnosti, takođe, nisu jednake. Najmanja je ulazna
kapacitivnost serijskog tranzistora čiji je sors na masi (NI kola) ili na VDD
(NILI kola). Sve su to razlozi zbog kojih se analiza uticaja parazitnih
kondenzatora tranzistora NI i NILI logičkih kola isključivo obavlja
računarom. Ovdje ćemo se zadovoljiti analizom uticaja statičkih parametara
paralelnih i serijskih tranzistora na prelazne režime CMOS NI i NILI kola.

223
Standardna logička kola

Slika 5.48. Dvoulazno NI kolo sa parazitnim kapacitivnostima tranzistora


Za razliku od CMOS invertora, odzivi NI i NILI kola na skokovitu
pobudu nisu simetrični. Razlika u vremenima porasta i pada se povećava s
povećanjem broja ulaza. Odnosi su slični kao i kod izlaznih otpornosti. Uzme
li se da je kapacitet opterećenja mnogo veći od kapaciteta tranzistora , onda
se vremena porasta i pada mogu izračunati na osnovu (5.51) i (5.56), gdje
konstante kn i kp treba zamijeniti njihovim ekvivalentima. Tako, na primjer,
za m-ulazno NI kolo, kada su svi ulazi aktivni, imamo da su:
 Vtn 
t f  m n  1.45  , (5.132)
 V DD Vtn 

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

Analogno je, po istom kriteriju, oprimalna geometrija NILIm kola određena


sa:
Wn Ln  p 1
 . (5.137)
Wp Lp n m2
Optimalna geometrija prema (5.136) i (5.137) rezultuje jednakim izlazima
otpornostima ROL = ROH kada su svi ulazi aktivni.

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

Programabilne logičke komponente ili moduli su integrisana kola koja


sadrže skup kombinacionih, ili kombinovano kombinacionih i
sekvencijalnih kola, sa mogućnošću programiranja njihove funkcije. U
zavisnosti od toga ko konfiguriše (programira) krajnju funkciju modula
(komponente) uslovno ih možemo podijeliti u dvije grupe:
 samoočitljive memorije – ROM (engl. Read Only Memory) koje
konfiguriše proizvođač integrisanih kola i
 programabilne logičke komponente – PLD (engl. Programmable
Logic Devices) koje programira krajnji korisnik.
Podjela, kao što je naglašeno, nije striktna. Tako, na primjer,
programabilne ROM – PROM (engl. Programmable ROM) programira
krajnji korisnik, pa se može svrstati u grupu PLD. Međutim, struktura i
oblasti primjene su kao ROM, pa se većinom svrstavaju u tu grupu. Tako
postoje, ROM sa stalnim (fiksnim) sadržajem (mask ROM) i
programabilne ROM – PROM. Naziv mask ROM potiče otuda što
proizvođač, na zahtijev krajnjeg korisnika, maskom konfiguriše njen
sadržaj. Dakle, krajnji korisnik definiše sadržaj, na osnovu kojeg
proizvođač formira masku za povezivanje elemenata. Time je definisani
sadržaj upisan (programiran) u ROM. Stoga se ROM nazivaju i maskom
programabilni moduli.

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.

9.1. Tehnike programiranja


Danas se koriste četiri tehnike programiranja ili, preciznije, četiri vrste
programabilnih elemenata. To su:
 poluprovodnički osigurači,
 poluprovodnički antiosigurači,
 tranzistori sa plivajućim (izolovanim) gejtom i
 SRAM ćelije.

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.

9.1.1. UVCMOS tehnologija


Tranzistor s plivajućim gejtom – FAMOS (Floating – gate Avalanche
– injection MOS) i brisanjem ultravioletnom svjetlošću osnovni je
element UVCMOS tehnologije. Njegov poprečni presjek je prikazan na
Sl. 9.2a. Sastoji se od dva polisilicijumska gejta: signalnog SG i
plivajućeg FG. Plivajući gejt je “uronjen”, odnosno skriven u sloju SiO2
koji ga okružuje sa svih strana. Tako je on izolovan od okoline i “pliva” u
SiO2, otkuda i potiče naziv plivajući gejt (floating gejt).

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

Slika 9.3. Simbol (a) i prenosne karakteristike ID(VGS) FAMOS


tranzistora u programiranom i neprogramiranom stanju (b)

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.

9.1.2. E2CMOS tehnologija


Ova tehnologija omogućava brisanje električnim (Electrically–
Erasable) putem. Otuda potiče naziv E2CMOS (Electrically Erasable
CMOS). Programabilni element je FLOTOX (FLOating–gate Tunneling
Oxide) tranzistor (Sl. 9.4). On je veoma sličan FAMOS tranzistoru, s tim
što je ovdje smanjena debljina oksida ispod plivajućeg gejta na strani
drejna na oko 10 nm ili manje. Kada je jačina električnog polja kroz tanki
oksid SiO2 veća od približno 10 MV/cm=107 V/cm dolazi do deformacije
energetskih nivoa na spoju Si-SiO2, što dovodi do “tunelovanja”
elektrona iz plivajućeg gejta kroz tanki izolator. U kvantnoj mehanici je
ova pojava poznata pod nazivom Fovler – Nordhajmovo (Fowler –
Nordheim) tunelovanje.
Brisanje (pražnjenje FG) ostvaruje se dovođenjem pozitivnog napona
približno +20 V na drejn i spajanjem signalnog gejta i sorsa na masu (sl.
9.4b). Pozitivno električno polje drejn–signalni gejt kroz tanki

Slika 9.4. Poprečni presjek FLOTOX tranzistora (a) i njegova


polarizacija prilikom brisanja (b) i programiranja (c)

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

Slika 9.5. Prenosna karakteristika programiranog i


neprogramiranog FLOTOX tranzistora (a) i zavisnost napona
pragova VtnB i VtnP od debljine tunelskog oksida i napona
programiranja/brisanja (b)

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.

Slika 9.7. Očitavanje stanja FLOTOX ćelije: neprogramirano (a) i


programirano stanje (b)

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.

Slika 9.9. Promjene napona praga FLOTOX tranzistora u procesu


programiranja/brisanja (a) i tunelske struje u toku programiranja
(b)

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.

Tabela 9.1. Tehnološki parametri FLOTOX ćelije


Specifična provodnost p-podloge 16-24 Ωcm
Debljina tunelskog oksida 10 nm
Debljina oksida plivajući-signalni gejt 42 nm
Debljina oksida podloga-plivajući gejt 50 nm
Debljina signalnog gejta 150 nm
Debljina plivajućeg gejta 450 nm
Sors/drejn n+implantant Nsd=1.5·1020 cm-3, xj=0.3 µm
Površina ćelije 18.19 µm2
Injektorska površina 1.13 µm2
Dužina kanala 3 µm
Širina kanala 5.5 µm

9.1.3. FE2CMOS tehnologija


Osnovni nedostatak FLOTOX ćelije jeste njena dvotranzistorska
struktura. Selekcioni tranzistor povećava površinu ćelije i zato smanjuje
gustinu pakovanja. FE2CMOS (Flash Electrically-Erasable CMOS)
jeste alternativno rješenje između FAMOS i FLOTOX ćelija. Koristi
jedan tranzistor (sl. 9.10). Programiranje je putem lavinske injekcije

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)

Tabela 9.2. Karakteristike ECMOS, E2CMOS i FE2CMOS


tehnologija

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.

Slika 9.11. SRAM ćelija kapaciteta jednog bita


Programabilnost (konfigurabilnost) kola sa SRAM ćelijama ostvaruje
se na nekoliko načina. Programabilni prekidač (sl. 9.12a) sastoji se od
jedne SRAM ćelije i prenosnog tranzistora M n u svojstvu prekidača.
Ako je sadržaj SRAM-a Q  1 , prekidač je uključen i spaja čvorove n1 i
n2 sistema, a ako je Q  0 , prekidač je isključen i razdvaja čvorove n1 i
n2 . Otpornost prekidača Mn u uključenom stanju tipično je nekoliko
stotina Ω do jedan kΩ. Kada su propusni tranzistori u spoju
programabilne matrice prekidača-PSM (Programmable Switch Matrix)
(sl. 9.12b) moguće je ostvariti vezu između bilo koja četiri horizontalna i
vertikalna voda A, B, C i D.

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.

9.2. SPLD-jednostavne PLD


U kategoriju jednostavnih PLD svrstavamo:
 programabilni ROM - PROM,

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.

Slika 9.19. Blok struktura SPLD

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.

Za realizaciju dvije funkcije sa tri promjenljive potrebna je


PLD komponenta sa tri ulaza i dva izlaza.
a) U prvom koraku funkcije se pišu u potpunoj formi. To se
ostvaruje proširenjem nepotpunih proizvoda ili suma
nedostajućom promjenljivom, s tim da ona ne može da
utiče na funkciju. Tako, na primjer, funkcija F1 proširuje
se množenjem logičkih proizvoda jedinicom u obliku:
C  C  1 i A  A  1 , tj.:
F1  AB (C  C )  BC ( A  A) 
= ABC  ABC  ABC  ABC   ( P1 , P5 , P6 , P7 )
Na sličan način dobija se da je
F2  ( A  B  C )( A  B  C )( A  B  C ) 
  (S 2 , S 4 , S5 )   ( P0 , P1 , P2 , P3 , P6 , P7 ).

Ulazima I1, I2 i I3, redom, pridružuju se promjenljive A,


B i C. Programira se oznakom × na mjestu potrebne veze.
Funkcije F1 i F2 pridružene su izlazima S1 i S2, redom.
b) SPLD sa programljivom I mrežom nema formirane
logičke proizvode, već se oni konfigurišu (programiraju) pri
sintezi funkcija. Stoga je racionalnija sinteza funkcije u
minimalnoj formi. Tada su za F1 potrebna samo dva I kola sa
po dva ulaza (sl. 9.16b), dok su u slučaju PROM realizacije
(sl. 9.16a) bila potrebna četiri kola sa po tri ulaza.

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)

Konfigurisane SPLD komponente prikazane su na Sl.


9.16. U prvom slučaju (Sl. 9.16a) koristi se šest troulaznih, a
u drugom pet dvoulaznih I kola. Za PROM realizaciju koristi

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.

9.2.2. Izlazne opcije


Karakteristični izlazi kombinacionih SPLD (Sl. 9.17) posjeduju opcije
sa:
 aktivnim visokim izlazom Si,
 aktivnim niskim izlazom Si (linija sume završena invertorom),
 komplementnim izlazima Si i Si i
 programabilnim polaritetom, tj. Si ili Si .
Polaritet izlaza programira se XILI kolom s programabilnim
jednim ulazom. U neprogramiranom stanju (Sl. 9.17b), taj ulaz je na
masi, pa je izlaz Si, a u programiranom stanju spojen je na visoki nivo VH,
tako da je izlaz Si . Na taj način se proširuju logičke mogućnosti sinteze
složenijih funkcija i omogućuje sinteza logičkih funkcija u obje forme:
suma logičkih proizvoda i proizvod logičkih suma. To ćemo pokazati
primjerom 9.2.

Slika 9.17. Razne opcije izlaza

377
Primjer 9.2:
Sintetizovati funkcije:
F1  AB  AC i F2  ( A  B ) ( A  C ) . (9.8)

Dvostrukom negacijom i koristeći De Morganovu teoremu,


F2 može se pisati kao F2  AB  AC
Sinteza F1 i F2 prikazana je na Sl. 9.18.

Slika 9.18. Ilustracija primjene programiranja


polariteta

9.2.3. Dvosmjerni priključci i linije povratne veze


Postoje dvije vrste linija povratne veze:
 fiksne i
 programabilne ili dvosmjerne.
Fiksnim povratnim vezama ostvaruje se direktna sprega određenog
izlaza prema programabilnoj I mreži. Ta sprega ide preko trostatičkog
bafera TB (Sl. 9.19). Kada je TB omogućen (E=1), on prenosi stanje Si
na izlaz Qi, pa je signal povratne sprege Fk=Qi=Si (Sl. 9.19b). Dakle,
povratna sprega je ostvarena s izlaza SPLD. U drugom slučaju, kada je
E=0, na izlazu TB je stanje visoke impedanse, tako da je izlaz Si odvojen
(izolovan) od Qi, odnosno od O/I priključka. Tada se odgovarajući O/I
priključak koristi kao ulazni, pa je Fk=Qi=In+j. Kontrolni ulaz E
trostatičkog bafera može da bude vanjski (OE) ili unutrašnji (IE), tj.

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.

9.2.4. Registarski izlaz


SPLD sa flipflopovima na izlazu nazivamo registarskim, što
omogućuje sintezu sekvencijalnih digitalnih kola. U CMOS tehnologiji,
osnovni flipflop je D tipa.
Jedan primjer izlazne registarske ćelije, s mogućnošću dvosmjernog
O/I priključka, prikazan je na Sl. 9.20. Ovakva ili slična struktura je česta
u savremenim SPLD. Osim flipflopa i trostatičkog bafera na izlazu, koji
su standardni, ovdje postoje i dva multipleksora pomoću kojih se
selektuju izlazne opcije (MX1) i signala povratne sprege (MX2).
Multipleksorom MX1 selektuje se jedan od četiri izlaza: Q1  Si ,
Q2  Si , Q3  Q i Q4  Q . Ako je TB omogućen (OE=1), O/I priključak
je izlazni, pa je:
O  S11 S 01 Si  S11 S 01 Si  S11 S 01Q  S11 S 01Q . (9.9)
Preko MX2 selektuju se signali povratne sprege: Si, Q, izlaz ćelije
(trostatički bafer TB omogućen) ili njen ulaz, ako je TB onemogućen.
Četvrti signal može da bude iz neke druge izlazne ćelije. Selekcioni ulazi
multipleksora mogu da budu neki od produktnih članova, ili direktno
programabilni ili vanjski signali.

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).

9.2.5. Vrste SPLD


PROM: U izvornom smislu skraćenica PROM ukazuje na
programabilni ROM koji se može programirati samo jednom. Ovaj
pojam, u širem značenju obuhvata i reprogramabilne ROM-ove kao što
su EPROM, E2PROM i FE2PROM. PROM-ovi su ovdje tema samo kao
istorijski prve PLD komponente.
Posmatrajući PROM kao PLD, može se reći da on predstavlja
univerzalni kombinacioni modul kojim se može realizovati bilo koja
kombinaciona logička funkcija čiji broj promjenljivih nije veći od broja
PROM ulaza. PROM sadrži fiksnu I i programabilnu ILI mrežu (Sl.
9.21a). Fiksnu I mrežu čine svi logički proizvodi ulaznih promjenljivih.
Ako je broj ulaza n, broj produktnih članova je 2n. Često se I mreža
naziva adresnim dekoderom sadržaja smještenog u programabilnoj ILI
mreži, pa je standardna prezentacija PROM-a kao na Sl. 9.21b. ILI mreža

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

Slika 9.24. Struktura izlazne makroćelije PAL22V10

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

E2CMOS tehnologije.Stoga je potrošnja GAL dosta mala (manja od 100


mW po komponenti). Vrijeme pristupa je 15 ns do maksimalno 30 ns.
Blok šema GAL16V8 (sl. 9.25a) sastoji se od 64x32 programabilna
polja I mreže i 8 OLMC. Koncepcijski, struktura odgovara registarskom
PAL. Specifičnost se ogleda u arhitekturi izlazne logičke makroćelije
OLMC (Sl. 9.25b). OLMC, osim D flipflopa s ivičnim okidanjem i
trostatičkog invertora, ima četiri multipleksora i EXILI na ulazu
flipflopa. Standardno, EXILI definiše polaritet izlaza. Izlaznim
multiplekserom MXO definiše se je li izlaz kombinacioni ili registarski.
Multipleksor omogućenja izlaza MXOE daje četiri opcije kontrolnog
signala trostatičkog invertora. Selekcioni kôd je upisan u simbol
multipleksora. Signal povratne sprege dobija se sa izlaza MXF. I ovdje
postoje četiri opcije: I/On, Q, 0 i izlaz I/Om susjedne OLMC. Selekcioni
ulazi S1 posmatrane, i S1 susjedne ćelije međusobno se isključuju.
Multipleksor MXPT utiče na ukupan broj produktnih članova sume.

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

9.3. CPLD - složene PLD


Ni savremene GAL komponente nisu mogle da zadovolje sve veće
zahtjeve projektanata hardvera digitalnih sistema. Stoga su razvijene
složenije strukture pod nazivom složene PLD – CPLD (engl. Complex
PLD). U jednoj CPLD integrisano je više SPLD. Blok šema CPLD

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).

Slika 9.26. Blok šema CPLD

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.

Slika 9.29. Blok šema logičkog bloka


Veličina matrice logičkih proizvoda govori o prosječnom broju
proizvoda po makroćeliji i maksimalnom broju proizvoda po logičkom
bloku. Raspodjela proizvoda se razlikuje od proizvođača do proizvođača.
Broj proizvoda koji se dodjeljuje svakoj makroćeliji kreće se od 0 do 16.

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.

9.4. FPGA – programabilne gejtovske mreže


FPGA–lokalno programabilne gejtovske mreže, ili kraće,
programabilne gejtovske mreže su prava alternativa gejtovskim
mrežama. Standardna gejtovska mreža – GA (engl. Gate Array) jeste
vrsta ASIC koja se sastoji od mreže međusobno nepovezanih gejtova.
Nakon projektovanja korisničke funkcije, proizvođač integrisanog kola
povezuje gejtove pomoću maski u procesu metalizacije. Sadržaj takvog
kola ne može se više mijenjati.
Za razliku od SPLD i CPLD koje su koncipirane na programabilnim I
i/ili ILI mrežama, lokalno programabilne gejtovske mreže – FPGA
(engl. Field Programmable Gate Array) imaju sličnu unutrašnju
strukturu kao GA, s tim što su veze korisnički (lokalno) programabilne i
većinom reprogramabilne. Dakle, kada je korisnik jednom kupio FPGA
on više ne zavisi od njegovog proizvođača. Uz pomoć široko
rasprostranjenih i relativno jednostavnih softverskih i hardverskih alata
za projektovanje i programiranje, korisnik sam realizuje konačnu ciljnu
funkciju, i što je vrlo važno, može više puta reprogramirati sadržaj
reprogramabilnih FPGA.

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.

9.4.1. LCA - mreže logičkih ćelija


Među prvim komercijalno raspoloživim FPGA pojavile su se mreže
logičkih ćelija–LCA (engl. Logic Cell Array). One su, po funkcionalnim
mogućnostima, na prelazu između PLD i gejtovskih mreža. Suštinski,
LCA predstavljaju korisnički programabilne gejtovske mreže. Strukturu
LCA (sl. 9.32) čine tri vrste programabilnih (konfigurišućih) elemenata:
 ulazno/izlazni blokovi (IOB),
 konfigurišući (programabilni) logički blokovi (CLB) i
 međuveze.
IOB obezbjeđuju komunikaciju između unutrašnjosti matrice i
spoljnjih priključaka. Njihova struktura je prikazana na sl. 9.33.
Priključci su dvosmjerni, što se kontroliše trostatičkim baferom koji se
omogućava preko multipleksora MX1. Kontrolni signal TS generiše se
unutar LCA. Drugi multipleksor MX2 omogućava unos ulaznog signala
direktno ili preko D flipflopa. Ulazni baferi posjeduju zaštitne diode i

Slika 9.32. Struktura LCA

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).

Slika 9.34. Struktura programabilnog logičkog bloka (CLB)

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 .

Programirati, znači upisati odgovarajući sadržaj u SRAM.


Prvo, funkciju f treba izraziti u punoj formi sume logičkih
proizvoda množenjem X1 sa X 0  X 0 . Proširenu funkciju
identički izjednačavamo sa (9.11). Dakle,
X1 X 0  X1 X 0  X1 X 0 
(9.12)
 X1 X 0Q0  X1 X 0Q1  X1 X 0Q2  X 1 X 0Q3
Iz (9.12) proizilazi: Q0  1 , Q1  0 , Q2  1 i Q3  1.
Lokacije (adrese) SRAM-a odgovaraju brojnim
vrijednostima logičkih proizvoda. Prema tome, ako logički
proizvod postoji upisujemo 1, a ako ne postoji upisujemo 0, u
odgovarajuću lokaciju SRAM-a.

Slika 9.37. Rješenje primjera 9.3

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.

Primjer 9.4: Generisati funkciju Y=C+AB ako je logički blok:


a) multipleksor i b) LUT

a) za funkciju tri promjenljive potreban je multipleksor


8/1. Logički blokovi FPGA najčešće koriste MUX 2/1 ili
4/1.
C B A Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
a) b)

Slika 9.38. Rješenje sa MUX (a) i kombinaciona tabela


funkcije (b)
MUX 2/1 je u prenosnoj CMOS logici; relativno
jednostavna kombinaciona mreža i sastoji se od samo dva
transmisiona gejta. Stoga se često koristi kao univerzalni
MUX modul.
Realizacija posmatrane funkcije MUX logičkim blokom
prikazana je na sl. 9.38. Na svaki ulaz bloka primjenjuju se
logička stanja 0 ili 1 i prave ili komplementne vrijednosti
promjenljivih C, B ili A. Ovi signali formiraju primarni ulaz
u logički blok ili se dovode sa ulaza ili izlaza drugih
logičkih blokova. Tako je omogućeno da se svaki logički

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.

Slika 9.39. LUT realizacije sa MUX 2/1 (a) i


kombinacijom MUX 4/1 i MUX 2/1 (b)
Treba istaći da se modulima na Sl. 9.49a i b može
generisati bilo koja prekidačka funkcija sa tri promjenljive.
Samo se mijenja sadržaj SRAM ćelija. Programirati funkciju,
znači upisati odgovarajući sadržaj u SRAM blok.

Memorijski element CLB-a je ivični D flipflop s asinhronim direktnim


postavljanjem (upis S i brisanje R). Preko multipleksora MX3 programira
se opcija takta (sinhroni ili asinhroni). Asinhroni takt može da bude ulaz

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.

Slika 9.40. Međuveze opšte namjene

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.

Tabela 9.7. Opšte karakteristike nekih Xilinx LCA


Logički kapacitet
LCA Broj CLB Broj IOB
(ekvivalentnih gejtova)
XC4010 10000 400 160
XC4013 13000 576 192
XC4016 16000 676 208
XC4020 20000 900 240

9.4.2.MACH - CMOS makro mreže


CMOS makro mreže – MACH (engl. Macro Array CMOS High density)
potiču od firme AMD kao njihov odgovor na razvoj programabilnih
gejtovskih mreža. Struktura MACH je prikazana na Sl. 9.41. Sastoji se od
većeg broja PAL blokova, međusobno povezanih preko programljive
prekidačke matrice. Ova matrica obezbjeđuje i komunikaciju s ulaznim i
izlaznim priključcima. Većina priključaka su dvosmjernog I/O tipa, tj.
mogu se koristiti kao ulazni ili kao izlazni.
Svaki PAL blok sadrži niz produktnih članova, logički alokator i dva
tipa makroćelija. Praktično, ovi blokovi predstavljaju nezavisne
registarske PAL koji se mogu povezati preko prekidačke matrice, kada
čine jednu cjelinu. Dakle, PAL blokovi mogu se koristiti i pojedinačno,
ukoliko su dovoljni za sintezu potrebne korisničke funkcije.

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.

Slika 9.42. Logički alokator


Postoje dva tipa makroćelija (sl. 9.43): ulazno/izlazne i skrivene. Obje
makroćelije imaju kombinacionu i registarsku opciju izlaza s
programabilnim polaritetom. Flipflopovi s asinhronim postavljanjem AP
i AR mogu da obavljaju D ili T funkciju. Signal takta može da bude
sistemski ili generisan interno. Interni takt, formiran pomoću proizvoda,
obezbjeđuje fleksibilnost, ali ga treba koristiti što rjeđe i veoma pažljivo,
jer mogu uzrokovati probleme u sinhronizaciji. Sistemski takt
obezbjeđuje najbolje performanse i može da ih bude više (načešće 2 ili
4). Takt odgovarajuće makroćelije bira se multipleksorom. Takođe,
postoji, mogućnost izbora polariteta takta za svaki pojedinačni logički
blok.

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-

Slika 9.44. Struktura ulazno/izlazne ćelije

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.

9.4.3. ACT FPGA


ACT familija programabilnih gejtovskih mreža ima, takođe, matričnu
strukturu logičkih blokova okruženu I/O ćelijama. Povezivanje se
ostvaruje kanalima programabilnih veza.
Logički blok ove familije ima specifičnu strukturu (Sl. 9.45). On nema
dodijeljenih registarskih elemenata. Stoga se sinteza flipflopova ostvaruje
pomoću logičkih blokova. Za D leč je dovoljan jedan, a za D flipflop
potrebna su dva logička bloka. Svaki logički blok (LB) ima osam ulaza i
jedan izlaz. Sa tri multipleksora, svaki LB može da zamijeni četiri
osnovna logička gejta (I, ILI, NI, NILI) sa dva, tri ili četiri ulaza i s
programabilnim izlazom.

Slika 9.45. Logički blok familije ACT FPGA

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.

9.4.4. Napredne FPGA


Iz godine u godinu, kompleksnost i funkcionalnost ovih kola se
povećavala. Tako, na primjer, u 1999. godini Xilinx je pustio u
proizvodnju seriju XC4000XV sa 30 000 do 500 000 gejtova, preko
18000 dodijeljenih flipflopova, preko 270 000 RAM bitova i do 448
korisničkih ulazno/izlaznih priključaka. Familija XV je prva
programabilna logika koja koristi 0.25  m CMOS tehnologiju s
dvostrukim oksidom gejta i pet slojeva metala. Uključuje oko 25 miliona
tranzistora što je više od tri puta veći broj nego kod tadašnjih
mikroprocesora najviših performansi kao što je Pentium II. Napon

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

aritmetičkih operacija. Memorijski elementi su D flipflopovi ili lečevi.


Pomoću dodatnih signala mogu se konfigurisati da rade sinhrono ili
asinhrono. Preko priključaka FIN moguće je kombinovati više susjednih
logičkih blokova i tako realizovati različite kombinacione mreže kao što
su MUX 4/1, ili MUX 8/1 5-ulazni ili 6-ulazni generator logičkih
funkcija, i sl.
Međupovezivanjem i rutiranjem povezuju se odgovarajući blokovi
unutar FPGA. Rutiranje između blokova ostvaruje se na više načina:
 lokalno rutiranje obuhvata povezivanje unutar programabilnih
blokova, povratnih veza unutar blokova i direktnih veza koje

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.

9.5. Projektovanje sa PLD


Projektovanje sa PLD u potpunosti je računarski potpomognuto.
Projektantu je na raspolaganju više različitih programskih paketa za
projektovanje sa PLD. Tim softverom prevodi se logički opis digitalne
mreže u oblik koji podržava programator PLD komponente.
Projektovanje se može podijeliti u dvije faze (Sl. 9.52):
 faza logičkog i
 faza fizičkog projektovanja.
Faza logičkog projektovanja počinje opisom projekta. Nastavlja se
njegovim unošenjem putem:
 funkcionalnih jednačina,
 vremenskih dijagrama ulaznih i izlaznih signala,

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

Slika 9.52. Dijagram toka projektovanja

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.

9.6. Softver za projektovanje sa PLD


Kada se govori o softverima za projektovanje sa PLD treba napraviti
razliku između dva ključna koraka u projektovanju. Prvi je vezan za
projektanta i njegovu viziju projekta. On opisuje šta kolo treba da radi.
Na osnovu toga softver sintetiše logičku strukturu (logička šema) kojom
može da se realizuje taj zadatak. Ovaj korak predstavlja strukturnu fazu
projektovanja. Prenos projekta na hardver predstavlja fizičko
projektovanje i u tu svrhu se koriste softverski alati koji su veoma zavisni
od tehnologije, odnosno vrste i tipa PLD koju treba programirati. Iako se
teži da se razviju integrisani alati koji podržavaju obje faze projektovanja
i dalje se, u praksi, za strukturno i fizičko projektovanje koriste različiti
alati. Pri tome, alat za strukturno projektovanje na izlazu generiše
podatke u formatu koji može da prihvati alat za fizičko projektovanje.
Najčešće su to formati Verilog ili VHDL jezika za opis hardvera.
Strukturno projektovanje, odnosno sinteza, predstavlja kreativniji dio
procesa prenosa ideje na hardver. Zahtijeva veću ulogu projektanta. Ona
se ispoljava, najprije, kroz izbor tehnike ili metoda projektovanja.
Nedavno je u [Tay16a] dat pregled deset najčešće korišćenih metoda
projektovanja PLD. Jasno je samo na osnovu njihovog broja da je ova
knjiga "tijesna" da bi obuhvatila objašnjenje svake od njih. Zato samo
upućujemo znatiželjne čitaoce da pogledaju ovu referencu kako bi stekli
bolji uvid u složenost posla projektanta. Dobro je znati da isti problem
može da se rješi primjenom različitih tehnika projektovanja. Izbor
optimalnog metoda zavisi od cilja projekta kao i od vještina kojima
projektant raspolaže. Projektanti koji raspolažu sa više vještina iz ove
oblasti lakše će naći rješenje za konkretan problem. Osim izbora metoda
projektovanja, projektant mora da zna da opiše zahtjeve na jeziku koji je
razumljiv računaru da bi on (računar) našao rješenje koje ispunjava
zadate zahtjeve. I za ovu svrhu postoji više rješenja. Pored više decenija
starih jezika za opis hardvera (Hardware Description Language, HDL)
tipa VHDL i Verilog, u novije vrijeme razvijeni su alati koji olakšavaju
projektovanje na sistemskom nivou (High Level Synthesis, HLS). Uprkos
tome, HDL pristup ne gubi na značaju tako da se VHDL i Verilog nalaze
u osnovi najznačajnijih alata za projektovanje PLD. Ubjedljivo najveći

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/,

accessed December 2014./

[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,

accessed January 2015.

[Xil15] Xilinx, Xilinx UltraScale™ MPSoC Architecture, Xilinx 2015,


http://www.xilinx.com/publications/prod_mktg/ultrascale-mpsoc-architecture-
bacgrounder.pdf, accessed January 2015.
[Lee05] Lee J-H., „Fabrication and Characterization of bulk FinFETs for Future Nano-
Scale CMOS Technology“, The Second U.S.-Korea Forum on Nanotechnology:
Nanomanufacturing Research and Education, Los Angeles, CA, U.S.A., February 17-18,
2005. http://www.cmu.edu/nanotechnology-forum/Forum_2/Korea_talks/Jong-
Ho%20Lee%20Talk.pdf (accessed Marth 2017).
[DOK 84] B. L. Dokić: CMOS Schmitt triggers, IEE Proc. - G, Electronics Circuit and
Systems, vol.131, No.5, October 1984., pp 197-202

[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

elektronskog kola (od otpornika do operacionog pojačavača) opisana svojom „modelskom


karticom” odnosno modelom. Modeli osnovnih kompnenata smešteni su u bibliotekama a
korisnici mogu da menjaju njihove parametre. Pored toga, korisnicima je omogućeno da
razvijaju sopstvene modele i da ih priključe biblioteci. Fleksibilnost u dodavanju novih
modela komponenata doprinela je da osnovna struktura programa ne zastareva sa razvojem
tehnologije. Naime, iako svaka nova tehnološka generacija zahteva složeniji model, sa
stanovišta programa za analizu to podrazumeva prihvatanje opisa novog modela. Sa
stanovišta korisnika to znači da se, najčešće, samo promenom šifre komponente referencira
na novi model. Ova pogodnost doprinela je da se Spice nametne kao standard, tako da
proizvođači komponenata (i tehnologija!) uz ostale kataloške podatke nude i Spice modele za
svaku novu komponentu, odnosno tehnologiju.
Druga važna novina koju je Spice koncept uneo u sferu alata za analizu elektronskih kola
jeste mogućnost interpretacije različitih matematičkih funkcija za opisivanje naponskih i
strujnih generatora kontrolisanim nezavisnim naponom ili strujom. Ovim se omogućilo
korisnicima da sami razvijaju modele specifičnih elektronskih komponenata.
Iako prevashodno razvijen za analizu analognih kola, vremenom je Spice obogaćen
ugradnjom logičkog simulatora tako da se danas može koristiti za analizu digitalnih i kola sa
mešovitim signalima (analogni i digitalni).
Na platformi koju je originalni Spice postavio razvili su se mnogi slični programi. Oni su
pretežno zadržali u nazivu ključnu reč Spice sa prefiksom koji ukazuje na neku specifičnost
ili naziv proizvođača. Na tržištu se mogu naći profesionalni programi pod nazivima HSpice,
pSpice (u okviru OrCAD paketa za projektovanje kola), TSpice. Osnovna razlika među njima
jeste u broju i kvalitetu ugrađenih algoritama (u čemu za sada dominira HSpice) i izgledu
korisničkog interfejsa (grafički editor šeme; prikaz i obrada rezultata analize). Otuda proističu
i razlike u performansama (složenost kola, brzina analize, konvergencija,...) a time i u ceni.
Postoje i verzije koje su besplatne, to su studentske verzije (Light Edition PSpice) sa
umanjenim mogućnostima. Korporacija Linear Technology (http://www.linear.com) veliki
proizvođač analognih komponenata i integrisanih kola nudi besplatno verziju LTSpice sa
bibliotekom modela njihovih komponenata. Uzimajući u obzir korisnički interfejs i
performanse autori preporučuju čitaocima da koriste upravo ovu verziju.
Nezavisno od verzije, svi podržavaju osnovne tipove analize: analiza u jednosmernom (DC),
naizmeničnom (AC) i vremenskom domenu (Transient TR ili TRAN).
DC analizom dobijaju se podaci o položaju mirne radne tačke i/ili koeficijentima osetljivosti
odziva na promene pojedinih parametara u kolu i/ili prenosna karakteristika kola. Moguća je
parametarska analiza kola tako da se lako mogu generisati rezultati na osnovu kojih je
moguće, na primer, nacrtati izlazne karakteristike MOS tranzistora za različite vrednosti
napona VGS. Na osnovu podataka dobijenih DC analizom određuju se parametri linearnih
modela za male signale u okolini radne tačke koji se koriste u AC analizi i početne vrednosti
napona na kondenzatorima i struja kroz kalemove u TR analizi. Zato ona prethodi i AC i TR
analizi čak i kada se eksplicitno ne zahteva.
AC analiza služi za generisanje frekvencijskih karakteristika kola. Svi nelinearni elementi
kola zamenjeni su linearnim modelima. Određuje se ponašanje kola u zavisnosti od
frekvencije kada se pobudi prostoperiodičnim signalom konstantne amplitude. Naravno,

421
DODATAK

frekvencija se menja u zadatom opsegu. Rezultati se grafički mogu interpretirati u linearnoj,


polulogaritamskoj ili logaritamskoj skali.
TR analizom dobija se uvid u ponašanje kola kada se ono pobudi vremenski promenljivim
signalima sa proizvoljnim talasnim oblikom.
Zajedničko za sve verzije Spice-a jeste da opis kola za analizu počinje sa komentarom, sadrži
opis topologije kola i naredbe kojima se specificiraju parametri analize. Poslednja naredba u
opisu je .end; označava kraj opisa kola. Pored ovih, opis kola može sadržati proizvoljan broj
komentara, opise modela ili poziv na biblioteku u kojima se modeli nalaze. Linija komentara
počinje karakterom „*”.
Nasleđe iz prethodnih verzija programa za analizu (ECAP) odnosi se na sintaksu u opisu
topologije kola. Svaka grana u kolu opisuje se skupom alfanumeričkih karaktera koji
označavaju tip elementa, topološki položaj u kolu i vrednosti parametara modela. Oznaka tipa
elementa određena je jednoznačno prvim slovom kao što je prikazano u Tabeli 1. Ova
nomenklatura uspostavljena je u vreme kada nisu postojali grafički editori električne šeme. U
savremenim verzijama programa kolo se opisuje direktno crtanjem električne šeme, a net lista
se generiše na zahtev korisnika i/ili u okviru izveštaja o eventualnim grešakama u opisu.
Tabela 1: Spisak ugrađenih elemenata koje prepoznaje program Spice (LTSpice)
Pasivne Simbol Generatori Tranzistori
komponente

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

.END Kraj opisa kola u netlisti

.ENDS Kraj opisa potkola


.four <frequency> [Nharmonics
.FOUR Izračunava FFT nakon .tran „9”] [Nperiods „1”] <data trace1> .four 1kHz V(out) – račina
analize do Nharmonics [<data trace2> ...] FFT za poslednju periodu
harmonika frekvencije napona V(out) do 9.
frequency na poslednjih harmonika frekvencije 1kHz
Nperiods perioda nad podacima
data trace1
.func <name>([args]) .func RMS(x,y)
.FUNC Definisanje korisničke {<expression>} {sqrt(x*x+y*y)} – definiše
funkcije name sa argumentima
args opisana izrazom funkciju „RMS=
expression
.global <node1> [node2 [node3]
.GLOBAL Deklarisanje globalnih [...]] .global VDD VCC – definiše
čvorova za potkolo čvorove VDD i VCC kao
(.SUBCKT). Podrazumeva se globalne
da su referentni čvor (0) i
čvorovi označeni sa $G_
globalni i ne treba ih navoditi
.ic [V(<n1>)=<voltage>]
.IC Aktivira granične uslove za [I(<inductor>)=<current>] .ic V(in)=2 V(out)=5
napone na kondenzatorima i/ili V(vc)=1.8 I(L1)=300m –
struje kroz kalem u .TRAN granični uslovi za TR analizu
analizi su: za kondenzatore vezane
za čvorove in, out i vc su
naponi 2V, 5V i 1.8V,
respektivno, a za struju kroz
L1 300mA.
.include <filename>
.INCLUDE Priključuje fajl filename .include mojfajl.cir – ranije

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 NPN NPN


.model PNP PNP
.lib C:\Program
Files\LTC\LTspiceIV\lib\
cmp\standard.bjt

.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
20s 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.

Instaliranje i pokretanje programa


Aplikacija za instaliranje programa LTspice (LTspiceIV.exe) može se preuzeti besplatno sa
adrese http://www.linear.com/designtools/software/. Pokretanjem aplikacije otvara se prozor
sa Sl. 1.a u kome se prihvataju uslovi korišćenja programa i bira lokacija na disku gde će
program biti instaliran. Izborom opcije „Install Now” pokreće se automatski instalacija a po
njenom završetku, program će biti spreman za korišćenje. Ubuduće ikonica označava

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

Sl. 2. Početni prozor po pokretanju programa LTspice


Na vrhu prozora nalazi se glavna komandna linija (GKL). Ona je organizovana u dva reda.
U prvom redu nalaze se komande za rad sa fajlovima „Files” (otvori, novi, upiši,...), za
definisanje prozora „View” (prikaz komandnih linija – tool bar), globalnu kontrolu „Tools”, i
pomoć „Help”. Njihova uloga ista je kao u većini aplikativnih programa za Windows
operativni sistem, tako da su korisnicima već poznate. Specifična je jedino „Tools” opcija
čijom se aktivacijom pristupa menijima za globalnu kontrolu (Control Panel), paleti za izbor
boja (Color Preferences) i za automatsko ažuriranje tekuće verzije programa i biblioteke

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.

Opis kola - unos električne šeme


Opis kola svodi se na crtanje električne šeme. Postupak počinje izborom ikonice iz
gornjeg levog ugla ekrana (krajnje levo u GKL). Tada se pojavljuje prozor u kome su aktivne
ikonice za unos električne šeme kao što pokazuje Sl. 3. Pored toga prvi red GKL je izmenjen
time što počinje ikonicom koja označava da se edituje električna šema. Pored toga
proširena je lista opcija. Njihovo aktiviranje otvara padajuće menije prikazane na Sl. 4 i Sl. 5.

Sl. 3. Prozor u kome se crta električna šema


Komande koje se najčešće koriste prilikom crtanja električne šeme direktno su dostupne u
drugom redu komandne linije preko odgovarajućih ikonica. Značenje svake ikonice i
odgovarajuća prečica u vidu slova sa tastature naznačeni su na Sl. 4.

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,35m. 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

Sl. 6. Postupak izbora komponente nmos_035


Postavljanje komponente nMOS obavlja se u dva koraka. Najpre se dvostrukim klikom
izabere folder “cmos035” (označen sa 1 na Sl. 6), a onda se iz njega izabere “nmos_035”.
Time se automatski prenosi simbol nMOS tranzistora na radnu površinu i prati pokrete miša
sve dok se levim klikom ne postavi na željenu poziciju. Pre toga, njegova orijentacija može
se menjati izborom opcija za okretanje i za mirorovanje. Ista komponenta dostupna
je dokle god se ne pritisne desni taster. Zatim se može izabrati nova komponenta. U
konkretnom slučaju to je pMOS tranzistor. Po pozicioniranju tranzistora postavljamo
paralelnu vezu Cp i Rp kao impedansu potrošača. Ovo se najlakše izvodi izborom ikonice
za kondenzator, odnosno za otpornik. Po postavljanju na radnu ploču dobija se pozicija
prikazana na Sl. 7.

Sl. 7. Izgled radne površine po postavljanju svih komponenata

431
DODATAK

U sledećem koraku treba povezati razmeštene komponente. Izborom ikonice startuje se


alat za povezivanje koji crta prave linije između dva pina (pinovi su predstavljeni plavim
kvadratima). Veliku pomoć predstavlja kursor u obliku krsta iscrtan isprekidanim linijama
koje prekrivaju celu radnu površinu, kao što pokazuje Sl. 8.

Sl. 8. Aktivirana opcija za povezivanje pinova


Po povezivanju svih pinova treba dodati referentni čvor, odnosno masu. To je
najjednostavnije izborom komponente sa ikonice .
Da bi se završila električna šema treba dodati izvore za napajanje. Dobro je da se oni
priključe preko čvorova sa nazivima koji asociraju na njihovu ulogu u kolu. Ukoliko se to ne
uradi program sam dodeljuje nazive čvorova od n001 redom. Da bi se imenovali čvorovi
treba izabrati ikonicu . Tada se otvara meni sa Sl. 9 koji omogućava da se čvoru dodeli
tip: ulazni, izlazni, bidirekcioni ili ni jedan, odnosno običan čvor. Pored toga u prazno polje
upisuje se naziv čvora. Definišemo nazive čvorova VDD za napajanje, UL, za ulazni, a čvor
za koji je vezan potrošač kao čvor P. Rezultat dodeljivanja naziva čvorovima prikazan je na
Sl. 10.

432
DODATAK

Sl. 9. Dodeljivanje tipa i naziva čvora

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.

Sl. 11. Aktiviranje komponente Voltage za nezavisne naponske izvore


Posle selektovanja postavimo oba generatora na odgovarajuće pozicije i povezujemo sa
čvorovima UL i VDD, respektivno. Sl.12 prikazuje tekuće stanje na radnoj površini.

433
DODATAK

Sl. 12. Povezivanje komponente Voltage za nezavisne naponske izvore


Korisno je da se komponentama dodele nazivi koji asociraju na njihovu ulogu u kolu.
Dovoljno je da se kursorom priđe uz oznaku koju treba promeniti i da se klikne desni taster.
Tada se otvara meni u kome se prethodna oznaka može zameniti novim tekstom. Na Sl. 13
prikazan je postupak zamene oznake V1 oznakom Vg: priđe se kursorom uz oznaku V1 na
šemi, otvori se meni u kome se umesto V1 ukuca Vg.

Sl. 13. Promena naziva komponente V1


Na sličan način izmenjena je oznaka za V2 u VDD, R1 u Rp i C1 u Cp. Zadržane su oznake
tranzistora M1 i M2. Dobro je da prvo slovo u oznaci odgovara tipu elementa prema Tabeli 1
(R za otpornik, C za kondenzator,...). Ukoliko se i odstupi od toga, Spice će automatski
dodeliti odgovarajuće slovo kao prefiks u definisanju komponente preko net liste. Iza njega
sledi simbol §, a u nastavku će se pojaviti ime koje je dodelio korisnik. Na primer, ukoliko bi
se tranzistor M1 nazvao Tran1, njegovo ime u net listi biće M§Tran1.

434
DODATAK

Potrebno je uneti željene vrednosti parametrima svake komponente. Najjednostavnije je da se


priđe kursorom uz oznaku vrednosti parametra i klikne desni taster miša. Tada se otvara meni
prikazan na Sl. 14 za slučaj promene vrednosti paramatra Rp iz R u 100k.

Sl. 14. Promena vrednosti otpornosti komponente Rp


Na isti način promenjena je vrednost generatora VDD sa V na 3.3V, generatora Vg sa V na
1,65V, kapacitivnost Cp sa C na 12fF. Alternativni način za promenu vrednosti parametara
modela komponente jeste da se priđe kursorom do grafičkog simbola komponente, a ne
vrednosti parametra. Tada kursor promeni formu i iz strelice pređe u kažiprst: . Desnim
klikom otvara se meni za podešavanje parametara komponente. Na Sl. 15 prikazan je meni za
promenu parametara modela nMOS tranzistora M1. Dužina kanala L promenjena je u 0.4m,
a širina W u 0.8m.

435
DODATAK

Sl. 15. Promena vrednosti parametara MOS tranzistora


Na isti način promenjena je vrednost dužine kanala tranzistora M2 na L=0.4m i širina na
W=2.4m. (Ova širina izabrana je imajući u vidu da je pokretljivost šupljina približno tri puta
manja od pokretljivosti elektrona u 0.35m tehnologiji, tako da bi za istu otpornost trebalo
izabrati tri puta širi tranzistor; dužina kanala od 0.4m izabrana je da bi odgovarala
minimalnoj širini polisilicijumskog gejta od 2 pri čemu je =0.2m; efekat skraćenja kanala
uvrštena je u model MOSFETa). Konačno dobija se električna šema prikazana na Sl. 16.
Treba napomenuti da se vrednost parametara L i W može menjati na isti način kao što je to
učinjeno za Rp. Važi i obrnuto, kada se pristupi simbolu komponente, recimo Rp, otvara se
meni u kome se mogu menjati parametri modela otpornika, koji sem otpornosti u omima,
obuhvataju tolerancije i nominalnu snagu. Isto važi i za ostale komponente. Takođe se skreće
pažnja da se prefiksi jedinica za oznake vrednosti odgovaraju standarima prikazanim u Tabeli
3.
Tabela 3 Značenje prefiksa jedinica mere u programu Spice
Slovo f p n u m k MEG G T
Značenje femto piko nano mikro mili kilo mega giga tera
-15 -12 -9 -6 -3 3 6 9
Vrednost 10 10 10 10 10 10 10 10 1012
Takođe valja napomenuti da Spice ne prepoznaje mala i velika slova, tako da 1nF i 1NF
imaju isto značenje 10-9F, odnosno 1E-9F.

Sl. 16. Konačni izgled električne šeme CMOS invertora


Posle unosa električne šeme može se generisati net lista izborom opcije “SPICE Netlist” iz
“View” menija, kao što se vidi sa Sl. 17.

436
DODATAK

Sl. 17. Generisanje net liste na osnovu električne šeme


Sada je očigledno je da se električna šema preslikava u tekstualni fajl koji počinje linijom
komentara (automatski generisana kao lokacija fajla u računaru), nastavlja se opisom
topologije sa nazivima elemenata oznakama čvorova između kojih su vezani i vrednostima
njihovih parametara. Zatim slede: pozivi modela NMOS i PMOS tranzistora, poziv na
biblioteku standard.mos, naredba .backanno i završna naredba .end. Vidi se da nije uljučena
biblioteka cmos035.lib u kojoj se nalaze parametri tranzistora za CMOS 0.35mm tehnologiju.
Zato je pre početka analize neophodno da se doda naredba .lib uz navođenje lokacije fajla
cmos_035.lib: C:\Program Files\LTC\LTspiceIV\lib\sub\cmos_035.lib. Ovo se obavlja
jednostavno aktiviranjem ikonice čime se otvara meni za upis komandnih linija, kao što
prikazuje Sl. 18. Uneti tekst se preslikava u kursor, tako da može proizvoljno da se postavi
ma gde na radnoj površini. Kao konačan rezultat dobija se net lista sa Sl. 19 na osnovu koje
se može obaviti proizvoljna analiza kola.

437
DODATAK

Sl. 18. Upis naredbe za pozivanje sadržaja biblioteke cmos_035.lib

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

 Izračunavanje DC prenosne funkcije, ulazne i izlazne otpornosti – naredba .tf


 Skiciranje DC karakteristika u zavisnosti od promene DC izvora u specificiranim
granicama – naredba .dc
2. Analiza u frekvencijskom domenu –AC omogućava:
 Skiciranje frekvencijskih karakteristika – naredba .ac
 Analiza šuma – naredba .noise
3. Analiza u vremenskom domenu - TR omogućava
 Skiciranje talasnih oblika napona i struja – naredba .tran.
Sl. 20 ilustruje postupak otvaranja i izgled prozora u kome se specificira tip analize.

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

Sl. 21. Rezultat selektovanja opcije „DC op pnt”


Na ovaj način net listi sa Sl. 19 dodata je linija u kojoj se nalazi naredba .op. Da bi se obavila
analiza treba selektovati ikonicu iz drugog reda komandne linije. Rezultat ove analize
pojavljuje se trenutno u novom prozoru. U njemu su navedene vrednosti svih napona
čvorova i struja u kolu kao što pokazuje Sl. 22.
Prozor se uklanja sa ekrana selektovanjem ikonice u gornjem desnom uglu (kao kod
većine Windows aplikacija). Tada je LTspice spreman za novu analizu.
Ukoliko se u prozoru za zadavanje tipa analize selektuje “DS sweep”, otvara se prozor u
kome se zadaju parametri ove analize, odnosno navode se generatori čija se DC vrednost
menja. Ovaj prozor prikazan je na Sl. 23.a. U njega se unosi
 naziv izvora koji menja vrednost (konkretno u primeru to je Vg)
 iz padajuće liste prikazane na Sl. 23.a bira se način promene vrednosti (linearna,
logaritamska po dekadi/oktavi ili u obliku liste) u konkretnom slučaju izabrana je
linearna
 početna vrednost (konkretno u primeru to je 0V)
 krajnja vrednost (konkretno u primeru to je 3.3V) i
 korak linearne promene (konkretno u primeru to je 0.05V), odnosno broj tačaka po
dekadi/oktavi pri logaritamskoj promeni ili se zadaje lista vrednosti.
Ukupno se mogu zadati tri generatora čije se vrednosti menjaju.

440
DODATAK

Sl. 22. Rezultat analize .op

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

Sl. 24. Rezultat selektovanja opcije „DC sweep”


Analiza se aktivira preko ikonice . Kada se završi analiza, osim prozora sa električnom
šemom pojavljuje se novi prozor “virtuelni osciloskop”, u kome se grafički prikazuje
zavisnost napona i struja u kolu od promene izabranog generatora. Izgled ekrana prikazan je
na Sl. 25.

Sl. 25 Izgled ekrana po završetku „DC sweep” analize

442
DODATAK

Primećuje se da je glavna komandna linija proširena dodatnim redom u kome se prikazuju


svi otvoreni prozori. Prozore za električnu šemu označava ikonica , dok ikonica
označava prozor za grafičku obradu rezultata. Veličina i lokacija električne šeme na radnoj
površini može da se koriguje korišćenjem ikonice za uvećanje i pomeranje .
Izbor promenljive koja se prikazuje obavlja se veoma jednostavno. Kada se priđe kursorom
uz neki čvor, on menja izgled u sondu osciloskopa: . Levim tasterom selektuje se napon
čiju grafičku interpretaciju želimo. Za nas je interesantno da posmatramo napone u
čvorovima P i UL. Na ekranu virtuelnog osciloskopa iscrtava se u različitim bojama
zavisnost napona V(P) i V(UL) od promene Vg kao što pokazuje Sl. 26. Na istoj slici vidi se
efekat uvećanja i pomeranja pozicije električne šeme.

Sl. 26 Prikaz rezultata „DC sweep” analize


Od značaja je da se prikaže tačka u kojoj dolazi do invertovanja, odnosno najstrmija tačka na
prenosnoj karakteristici. Ona se nalazi u preseku prave V(UL) sa prenosnom karakteristikom
V(P). Da bismo utvrdili koliki je taj napon, dovoljno je da se kursor postavi na tu poziciju.
Tada se u donjem levom uglu pojavljuju koordinate x=1.571V y=1.572V. One ukazuju da bi
umesto Vg=1.65V koliko je usvojeno kao VDD/2 bilo povoljnije sa stanovišta malosignalnog
naponskog pojačanja da se postavi Vg=1.571V. Preciznije koordinate mogu se dobiti ukoliko
se ikonica za uvećanje primeni na virtuelni osciloskop. Tada se kursorom u obliku lupe
može selektovati pravougaonik na grafiku u kome se traži povećanje. Pravougaonik se
selektuje pritiskom na levi taster na poziciji jednog ugla željenog pravougaonika i
povlačenjem kursora uz pritisnuti levi taster do pozicije dijagonalno suprotnog ugla.
Otpuštaljem tastera na ekranu se dobija uvećani grafik. Povratak na početnu veličinu obavlja
se jednim aktiviranjem ikonice , ili višestrukim aktiviranjem ikonice za umanjenje .

443
DODATAK

Ovo važi generalno za uvećanje/umanjenje nezavisno da li se radi o prozoru za električnu


šemu ili grafičko prikazivanje rezultata simulacije.
Selekcijom opcije “DC Transfer” iz menija u kome se specificira tip analize (Sl. 20) otvara
se prozor za definisanje parametara naredbe .tf koji je prikazan na Sl. 27.a. Shodno opisu iz
Tabele 2, potrebno je navesti naziv izlaznog napona i naziv generatora u odnosu na koji se
traže parametri prenosne funkcije. U primeru sa Sl. 27.b unet je napon u čvoru P kao
vrednost izlaznog napona, a ulazna promenljiva je izvor konstantnog napona Vg.

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.

Sl. 28. Rezultat selektovanja opcije „DC Transfer”


Kao i ranije, simulacija se pokreće aktiviranjem ikonice . Rezultat se pojavljuje u
posebnom prozoru prikazanom na Sl. 29. Vidi se da je prenosna funkcija, u ovom slučaju to
je naponsko poječanje, dV(P)/dVg=-7.33199, dok je ulazna impedansa 1E20=1020,
praktično beskonačna, a izlazna 25016.6.

444
DODATAK

Sl. 29. Rezultat „DC Transfer” analize


Istu analizu ponovićemo za slučaj da je napon na ulazu Vg=1.571V, jer rezultat iz prethodnog
primera ukazuje da se u toj tački može očekivati veće pojačanje. Da bi se promenila vrednost
Vg, priđe se kursorom do vrednosti koju treba promeniti i u novootvorenom prozoru upiše se
nova vrednost, kao što pokazuje Sl. 30.

Sl. 30. Promena vrednosti generatora Vg


Posle prihvatanja promene (selektovan OK) program je spreman za novu analizu. Aktiviranje
ikonice daje nove parametre DC Transfer analize prikazane na Sl. 31.

445
DODATAK

Sl. 31. Rezultat „DC Transfer” analize sa Vg=1.571V


Očigledno je da je u novoj radnoj tački naponsko pojačanje povećano na -11.6915, ulazna
otpornost MOS tranzistora se nije promenila, a izlazna je porasla na 39106.3

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.

Sl. 32. Postupak unosa proširenih parametara nezavisnog generatora napona


AC analiza koristi linearne modele za male signale. Zato je irelevantna vrednost amplitude i u
većini slučajeva najpogodnije je da se izabere amplituda 1V, kako bi izlazne veličine
odgovarale pojačanju. Ipak, iz edukativnih razloga koji će biti kasnije objašnjeni, postavljamo
amplitudu na 10mV. Fazni stav neka bude 0, a rednu otpornost i paralelnu kapacitivnost
ignorišemo. Da bi se zapamtile izmene, treba selektovati OK.
Osnovni tip AC analize odnosi se na skiciranje frekvencijskih karakteristika simuliranog
kola. Da bi se on aktivirao potrebno je da se iz menija „Simulate” selektuje „Edit Simulation
Cmd” čime se otvara prozor za podešavanje tipa simulacije. U njemu se iz opcije „AC
analysis” pristupa meniju za podešavanje parametara AC simulacije. Iz padajućeg menija bira
se tip promene frekvencije (Type of Sweep) koji može biti: po dekadi, po oktavi, linearno ili
iz liste. Zavisno od izabranog tipa, moguće je uneti broj tačaka po dekadi, po oktavi 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. 33 prikazane su faze unosa parametara AC analize. Po završenom unosu (potvrđeno
polje OK), sadržaj .ac naredbe koja je ispisana u dnu prozaora sa Sl. 33 prenosi se u kursor.

446
DODATAK

Sl. 33. Faze unosa parametara AC analize u prozoru AC Analysis


Kao i kod prethodnih tipova analize, sadržaj kursora pozicionira se na ekranu i levim klikom
fiksira na izabranu lokaciju. Prethodni tip analize .tf automatski se prevodi u komentar, tako
da se dobije izgled radnog ekrana prikazan na Sl. 34.

Sl. 34. Izgled ekrana posle zadavanja parametara AC analize


Na istoj slici vidi se efekat aktivnosti opisanih uz Sl. 32, odnosno promene parametara
generatora Vg: DC vrednosti od 1.571V dodata je vrednost AC 10mV.
Analiza se pokreće selektovanjem ikonice . Po njenom završetku otvara se porozor za
grafički prikaz rezultata sa Sl. 35.

447
DODATAK

Sl. 35. Izgled ekrana po završetku AC analize


Da bi se prikazale frekvencijske karakteristike nekog napona, treba preći u donji prozor sa
električnom šemom i prići kursorom do željenog čvora. Tada se kursor transformiše u sondu
. Klikom na levi taster, amplituda i faza napona izabranog čvora prikazuju se na ekranu. U
slučaju da je izabran napon u čvoru P, prikazuje se grafik sa Sl. 36.

Sl. 36. Prikaz amplitude i faze (isprekidana linija) napona u čvoru P

448
DODATAK

Leva ordinata odnosi se na moduo i baždarena je u dB (u odnosu na 1V), a desna je


baždarena u stepenima i odnosi se na fazu. Vrednost amplitude napona V(P) manja je od 1V,
tako da je njena nominalna vrednost oko -19dB. Imajući u vidu rezultat .tf analize sa Sl. 31
prema kome je naponsko pojačanje -11.6195 i vrednost pobudnog generatora od 10mV,
očekivana vrednost modula amplitude napona u propusnom opsegu iznosi 116.19mV, što
odgovara -18.6966dB. Tačne vrednosti modula i faze mogu se očitati u prozoru koji se otvara
kada se kursorom dođe do oznake V(p) iznad grafika. Tada se kursor transformiše u kažiprst
. Pritisak na levi taster otvara prozor prikazan desno dole na Sl. 37. Vertikalna
isprekidana linija nalazi se na pozicuji ispod oznake V(p). Kada se kursor spusti niže od
oznake, kursor se transformiše u cifru 1. Ako se drži pritisnut levi taster miša pozicija
vertikalne linije može da se menja po horizontali dok se taster ne oslobodi. U primeru sa Sl.
37 postavili smo ga na poziciju f=1kHz. Tada se u polju prozora označenom kao “Cursor 1”
ispisuju vrednost frekvencije (Freq: 1kHz), amplitude (Mag: -18.642611dB), faze (Phase:
179.99982o) i grupnog kašnjenja (Group delay: 494.6876ps). Ponovljenim postupkom
aktivira se nova vertikalna linija, ali označena cifrom 2. Ona se takođe može pomerati
proizvoljno po horizontali. Na Sl. 37 pomerana je udesno dok se na dnu prozora “Ratio
Cursor2/Cursor1” u polju “Mag:” nije dobila vrednost -3dB. Na osnovu ovoga može se videti
da je granična frekvencija 330.60796MHz, sa faznim stavom od 134.82528o što je za -
45.174543° manje od faznog stava na frekvenciji 1kHz.

Sl. 37. Aktiviranje kursora za bolji uvid u rezultat analize


Obično se AC simulacija radi sa ciljem da se vide frekvencijske karakteristike pojačanja. Da
je vrenost amplitude Vg bila 1V, vrednost napona V(p) odgovarala bi pojačanju. Alternativni
način da se dođe do tog podatka jeste da se umesto V(p) prikaže V(p)/V(ul). Sl. 38 ilustruje
ovaj slučaj. Da bi se sa dijagrama V(p) prešlo na V(p)/V(ul), priđe se kursorom do oznake
V(p) dok se kursor ne transformiše u kažiprst . Desni taster miša otvara novi prozor u
kome se može menjati boja (Default Color); dodati kursor (Attached Cursor) i to prvi, drugi

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:

kontrolu zumiranja dela grafika: ,

podešavanje skale na ordinatama: ,

450
DODATAK

dodavanje novog ili brisanje postojećeg grafika: ,

dodavanje ili brisanje novog grafičkog prozora: ,

animaciju promene talasnih oblika u vremenu: ,

kontrolu izgleda grafičkog prozora: .


Ilustrovano je selektovanje opcije dodavanja novog grafika „AddTrace” čime se otvara meni
iz koga se bira neka od raspoloživih promenljivih (napona i/ili struja) ili definisanje jednog ili
više matematičkih izraza nad promenljivima. Selektovana je promenljiva V(p).

Sl. 39. Otvaranje menija detaljnu kontrolu grafičke interpretacije rezultata


Na Sl. 41 ilustrovan je efekat dodavanja V(p) postojećim frekvencijskim karakteristikama
naponskog pojačanja V(p)/V(ul) i to u istom prozoru, a i u novom grafičkom prozoru koji se

451
DODATAK

otvara aktiviranjem ikonice . Takođe je, aktiviranjem ikonice


korigovan opseg leve vertikalne ose u oba prozora, tako da se kreću u
granicama koje su specificirane na Sl. 40.a i 40.b za donji i gornji prozor, respektivno.

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.

Sl. 42. Unos parametara analize šuma u prozoru Noise


Kao i kod prethodnih tipova analize, sadržaj kursora pozicionira se na ekranu i levim klikom
fiksira na izabranu lokaciju. Prethodni tip analize .ac automatski se prevodi u komentar, tako
da se dobije izgled radnog ekrana prikazan na Sl. 43.

Sl. 43. Izgled ekrana posle zadavanja parametara za analizu šuma


Simulacija se pokreće aktiviranjem ikonice . Po završetku analize otvara se prazan prozor
za grafički prikaz rezultata analize, sličan onome sa Sl. 35. Izborom izlaznog čvora P iz

453
DODATAK

donjeg prozora (kursor dobija formu sonde ), u gornjem se prikazuje zavisnost snage
šuma, kao što ilustruje Sl. 44.

Sl. 44. Rezultat analize šuma u čvoru P izazvanog generatorom Vg

Analiza u vremenskom domenu


Analiza u vremenskom domenu sprovodi se sa ciljem da se dobije uvid u talasne oblike
odziva kola (napona i struja) pri poznatoj pobudi. To znači da se kao rezultat analize očekuje
vizuelizacija slična onoj koju daju osciloskopi. Pri tome, treba obezbediti da promene
pobudnih generatora u vremenu budu usklađene sa zahtevima realne pubude kola. To znači
da je za analizu pojačavača pogodno da se pubudi sinusnim talasnim oblikom, dok pobuda
digitalnih kola zahteva pravougaone, odnosno talasne oblike u vidu trapeza. Naravno, praksa
nalaže da se obezbede i drugi talasni oblici. U svima njima treba definisati karakteristične
nivoe signala počev od DC ofseta do graničnih vrednosti kao što su minimalni, odnosno
maksimalni nivo. Pored toga treba definisati i vremenske parametre kojima se specificira
kašnjenje, brzina promene vrednosti i dužina trajanja pojedinih stanja signala. LTspice
potpuno je prilagođen ovim zahtevima tako da dopušta definisanje različitih talasnih oblika
pobudnih signala aktiviranjem prozora „Independant Voltage (Current) Source”. On sadrži
opciju i za definisanje pobude za AC analizu, tako da je AC deo funkcije opisan na Sl. 32. U
slučaju primera koji se ovde razmatra, ilustrovaćemo promenu parametara generatora Vg.
Meni za podešavanje vrednosti nezavisnih generatora otvara se iz prozora u kome se nalazi
električna šema. Kada se priđe mišem do komponente Vg kursor dobija formu kažiprsta
. Tada se desnim klikom otvara meni za promenu parametara generatora, kao što
pokazuje Sl. 45. U levom gornjem uglu menija ponuđeni su sledeće funkcije:

454
DODATAK

S obzirom da u primeru tretiramo kolo kao pojačavač, za početak želimo da posmatramo


odziv pri pobudi sinusnim signalom amplitude 10mV, frekvencije 1kHz. Zato je aktiviran
kružić uz oznaku SINE. Istovremeno otvaraju se polja za definisanje generatora
prostoperiodičnog talasnog oblika: jednosmerni ofset (DC offset[V]), amplituda (Ampitude
[V]), frekvencija (Freq[Hz]), kašnjenje (Tdelay[s]), eksponencijalno prigušenje amplitude –
recipročna vrenost vremenske konstante (Theta[1/s]), faza (Phi[deg]) i broj perioda (Ncycle).

Sl. 45. Podešavanje parametara Vg u obliku prostoperiodičnog signala


Da bi se zadržala jednosmerna polarizacija na gejtu, kao DC offset upisujemo 1.571V,
amplitudu fiksiramo na 10mV, a frekvenciju na 1kHz. Ostala polja ignorišemo što znači da
sinusoida kreće bez kašnjenja, bez prigušenja amplitude sa nultim faznim stavom i sa
neograničenim brojem perioda. Potvrdimo unete podatke selekcijom polja OK.
Pre početka simulacije treba podesiti parametre TRAN analize. To se radi iz menija „Edit
Simulation Command” do koga se dolazi selekcijom opcije u „Simulate”
meniju i to izborom tipa analize „Transient”. Prozor za postavljanje parametara „Tran”
analize omogućava da se unesu vreme završetka analize (Stop Time), vreme početka
memorisanja rezultata analize (Time to Start Saving Data) i maksimalni vremenski korak
analize (Maximum Timestep).
Pored toga, po želji mogu da se aktiviraju sledeće opcije: početak analize sa porastom
jednosmernih izvora od nulte vrednosti (Start external DC supply voltages at 0V),
zaustavljanje analize ukoliko se detektuje ustaljeno stanje (Stop simulating if steady state is
detected) i/ili resetovanje vremena na 0 u tom trenutku (Don´t reset T=0 when steady state is

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. 46. Podešavanje parametara .tran analize


Po završenom unosu podataka, prozor se napušta potvrdom polja OK. Tada se tekst sa tipom
i parametrima analize prebacuje u kursor i levim klikom oslobađa na izabranoj poziciji
ekrana. Time se automatski prethoni tip analize (u ovom slučaju .noise) isključuje tako što
mu se dodaje simbol ; kao prefiks. U polju gde se nalazi električna šema na Sl. 47 vidi se
efekat promene vrednosti generatora Vg i nova aktivna komandna linija .tran 10ms.

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).

Sl. 48. Talasni oblici ulaznog, V(ul) i napona na potrošaču V(p)


Izborom opcija za zumiranje u gornjem prozoru, interval za koji se računaju srednja i
efektivna vrednost mogu da se menjaju.
Pored talasnih oblika napona, mogu da se prikazuju i talasni oblici struja kao i matematičkih
izraza nad promenljivima. Struja grane može da se selektuje na dva načina. Prvi je iz
električne šeme. Potrebno je kursorom prići elementu čija se struja traži. Tada kursor dobija
oblik strujne sonde . Dodir levog tastera miša dovoljan je da se talasni oblikselektovane
struje pojavi na ekranu. Ukoliko se priđe sorsu tranzistora M2 struja se automatski označi kao
Is(M2). Slično važi za struju drejna tranzistora M1. Dok je uključen kursor u obliku strujne
sonde, u dnu ekrana pojavljuje se tekst koji bliže definiše selektovanu promenljivu.
Na Sl. 49 dodati su talasni oblici struja Is(M2) i Id(M1). Dok je selektovana Id(M1), u dnu
ekrana ispisano je kratko uputstvo „Left click to plot Id(M1). Right click to edit. DC
operating point: Id(M1)=87.51141A” koje ukazuje da se levim tasterom prikazuje Id(M1);
desnim se uključuje prozor za editovanje; jednosmerna vrednost u radnoj tački iznosi
87.51141A. Sa desne strane prikazana je vertikalna osa za struju baždarena u A.

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. 51. Selektovanje razlike napona V(P,VDD)=V(P)-V(VDD)


Pri radu sa više prozora za prikaz rezultata treba voditi računa kom prozoru se dodeljuje
određeni dijagram. Kontrola je veoma jednostavna. Pre izbora promenljive sondom na šemi,
treba kliknuti na prozor u kome želimo da se ona prikaže. Na Sl. 52 ilustrovan je primer u
kome posmatramo napone i struje tranzistora M1 u gornjem, a tranzistora M2 u donjem
prozoru. Najpre se klikne u gornji prozor, a onda sa šeme selektuju V(P) i Id(M1). Zatim se
klikne u prostor donjeg prozora i sa električne šeme se selektuju V(P,VDD) i Id(M2).

Sl. 52. Prikaz talasnih oblika ID i VDS tranzistora M1 i M2 u dva različita prozora

459
DODATAK

Možemo da posmatramo i dijagram promene snage disipacije na svakom tranzistoru.


Potrebno je dodati grafičku interpretaciju izraza ID*VDS. Dodavanje novog izraza obavlja se
iz menija „Add Traces to Plot” sa Sl. 39 kome se pristupa preko ikonice , ili
istovremenim pritiskom tastera Control i A na tastaturi (Ctrl+A). U polje za upis izraza
upisujemo Id(M1)*V(p) za snagu tranzistora M1, odnosno Id(M2)*V(P,VDD) za tranzistor
M2. Tada se dijagramima sa Sl. 52 pridodaju novi, tako da ekran za prikaz rezultata dobija
izgled sa Sl. 53.

Sl. 53. Dodavanje dijagrama za prikaz snage disipacije tranzistora M1 i M2 dijagramima sa


Sl. 52.
Dobijena je slika sa koje se ne uočavaju detalji promene snage pre svega zato što su ose
automatski skalirane za struju, napon i snagu tako da idu od vrha do dna talasnog oblika.
Ukoliko bi se koristio ručni alat za upis opsega skale i recimo podesilo da je donji opseg
snage 150mW, dijagrami bi bili „čitljiviji”. Alternativno, može se otvoriti novi prozor i u
njemu prikazati snaga disipacije. Po otvaranju novog prozora, nema potrebe da se ponovo
upisuju izrazi za izračunavanje snage disipacije. Dovoljno je da se oznake promenljivih iz
postojećih dijagrama, Id(M1)*V(P) iz gornjeg i Id(M2)*V(p, vdd) iz donjeg, prevuku mišem
u novi prozor i u njemu će se pojaviti selektovani dijagrami tako da se dobija izgled sa Sl.54.
U ovom slučaju proširen je prozor za prikaz rezultata analize preko celog ekrana, da bi se
povećala preglednost.
Podsećamo da se levim klikom uz držanje tastera Control pored oznake svake prikazane
promenljive otvara prozor u kome se ispisuje srednja i RMS vrednost napona i struja,
odnosno srednja vrednost snage i integral u vremenu za prikazani interval na vremenskoj osi
(energija). Ovo je učinjeno za svaku prikazanu promenljivu. Napminjemo da se ovo može
uraditi samo sukcesivno, tako da nije moguće istovremeno posmatranje ovih informacija za
sve promenljive istovremeno iako je to prikazano na Sl. 54.

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

Sl. 55. Demonstracija selektovanja disipacije tranzistora M1 sa električne šeme (Alt+levi


taster uključuju kursor u vidu termometra) i uticaja opcija i Grid u polju
za prikaz rezultata analize.
Ista električna šema poslužiće kao primer primene LTspice za karakterizaciju digitalnih
logičkih ćelija. Umesto pobude malim signalom u okolini radne tačke, kolo treba pobuditi
pravougaonim impulsima. Zato treba ući u meni za podešavanje parametara nezavisnog
naponskog generatora Vg na način opisan uz Sl. 45. U meniju treba selektovati opciju
PULSE. Time se otvaraju polja za unos parametara signala i to: početne vrednosti napona
(Vinitial[V]), vrednost visokog naponskog nivoa (Von[V]), vreme kašnjenja (Tdelay[s]),
vreme porasta – prednja ivica (Trise[V]), vreme opadanja - zadnja ivica (Tfall[V]), vreme
trajanja visokog naponskog nivoa (Ton[s]), vreme periode signala (Tperiod[s]), broj perioda
(Ncycles). Vrednosti unetih parametara prikazane su na Sl. 56.

Sl. 56. Unos parametara generatora Vg za pobudu invertora

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 1s č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. 57. Rezultat .tran analize invertora pobuđenog trapezastim naponom.


Obično je od značaja da se posmatra kašnjenje prednje odnosno zadnje ivice signala. Zato uz
primenu alata za zumiranje treba uveličati te intervale. Na Sl. 58 prikazan je i jedan „trik”.
Naime u polje za dodavanje novog dijagrama u obliku izraza upisali smo V(Vdd)/2, tako da
se na dijagramu dobila prava linija. Da bi se odredilo kašnjenje signala dovoljno je posmatrati
vremenski interval između tačaka gde ulazni i izlazni signal seku V(Vdd)/2.

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.

Sl. 59. Određivanje potrošnje invertora tokom jednog taktnog ciklusa

464

You might also like