Академический Документы
Профессиональный Документы
Культура Документы
Sadraj
1. UVOD .......................................................................................... 1
2. Pouzdani sistemi ......................................................................... 7
2.1. Trendovi u razvoju elektronskih proizvoda sa aspekta pouzdanosti ........................ 7
2.2. Defekti u integrisanim kolima ................................................................ ..............10
2.2.1. Defekt, greka, otkaz ................................ ..................................................... 11
2.2.2. Klasifikacija defekta................................................................ ...................... 11
2.2.3. Modeli defekata................................ ............................................................. 15
2.2.4. Modeli greaka ................................................................ .............................. 15
2.2.5. Manifestacija tranzijentnih defekata u digitalnim kolima ............................... 16
2.3. Tehnike projektovanja sistema tolerantnih na defekte...........................................18
2.3.1. Hardverska redundansa ................................ ................................................. 21
2.3.2. Informaciona redundansa ................................................................ ..............25
2.3.3. Vremenska redundansa................................................................ .................. 25
2.3.4. Softverska redundansa................................ ................................................... 26
2.4. Oblasti primene sistema otpornih na defekte ................................ ........................ 27
I
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
II
Sadraj
III
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
IV
Koriene skraenice
V
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
VI
Reference autora koje se odnose na ovu tezu
VII
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
VIII
1. Uvod
1. UVOD
Motivacija
1
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
2
1. Uvod
proveru. Funkcionalna jedinica moe biti kombinaciono ili sekvencijalno kolo. Za kodiranje
izlaza funkcionalne jedinice najee se koriste izdvojivi kdovi kao to su: Berger-ov, Bose-
Lin-ov i kd parnosti. Primena ovih kdva odreuje tehniku za generisanje SC kola. Dananje
tehnike za projektovanje SC kola usmerene su ka vienivovskoj implementaciji logikih
funkcija pomou programabilnih logikih kola, uz ispunjenje uslova minimalne povrine
[JhaN93], [DeK94], [Toub94], [Sapo97].
U poetku su SC tehnike koriene samo u sistemima koji zahtevaju visok nivo
pouzdanosti. Zbog relativno malog broja takvih sistema korien je manuelni nain
projektovanja. Meutim, kako razni uzroci defekata imaju sve vei uticaj na sisteme razvijene
savremenom tehnologijom, postoji jasna potreba za integracijom FT tehnike i u okviru
aplikacija iroke potronje. Samim tim, potrebni su i alati za projektovanje kola sa veom
pouzdanou. Takvi alati moraju da budu kompatibilni sa postojeim nainom projektovanja.
Metode za projektovanje SC kola mogu se podeliti u dve kategorije: niskog i visokog
nivoa. Metode niskog nivoa odnose se na modifikaciju procesa sinteze kombinacionih i
sekvencijalnih kola, kako bi svaki interni defekt uzrokovao samo onu greku koja se moe
detektovati odreenim kodom. Na osnovu kodova za detekciju greke (kd dupliciranja,
parnosti, Berger-ov, Bose-Lin-ov i drugi) predloene su razliite tehnike za sintezu kola sa
samoproverom [DeK94], [Bolc98], [Moha103], [JhaN93], [DasD99], [Wake82]. S obzirom
da se ove tehnike primenjuju na niskom nivou, tj. nivou gejtova, generisana reenja su
efikasna i obino obezbeuju potpunu samoproveru. Meutim, iz istog tog razloga, integracija
tehnika niskog nivoa u standardni tok projektovanja podran komercijalnim CAD alatima je
oteana. Takoe, veina tehnika niskog nivoa podrazumeva da se kolo implementira u full- i
semi-custom tehnologijama i one nisu direktno primenljive za implementaciju u tehnologiji
programabilnih logikih kola.
Metode visokog nivoa zasnivaju se na modifikaciji VHDL opisa kola, pri emu se u
odreenim takama dodaje kd koji predstavlja hardversku ili informacionu redundansu. S
obzirom da se modifikacija obavlja pre sinteze, ove metode omoguavaju korienje
komercijalnih CAD (Computer Aided Design) alata za sintezu i olakavaju integraciju SC
tehnika u standardni tok projektovanja. Osnovna prednost ovakvog, u odnosu na prethodni
pristup, ogleda se u mogunosti insertovanja potrebnih SC mehanizama u poetnim fazama
projektovanja i ranog potvrivanja pouzdanosti kola. Sa druge strane, performanse
generisanih kola (u smislu brzine rada i povrine) neto su slabije u odnosu na prvi pristup.
Ovakve metode su koriene za modifikaciju VHDL opisa zadatog kola primenom razliitih
SC tehnika [Bolc00], [Entr101], [Leve02], [Lpe01]. U cilju utvrivanja cene postojeih
metoda projektovanja, vreni su eksperimenti nad razliitim bencmark kolima i pokazano je
da za veinu njih primena koda parnosti zahteva najmanje poveanje povrine. Postojee
metode projektovanje SC kola visokog nivoa tee automatizaciji insertovanja struktura za
konkurentnu detekciju greke, sa minimalnim direktnim ueem projektanta. Meutim,
pored ve navedenih prednosti, postoje i nedostaci tih metoda koji se ogledaju u limitiranom
izboru SC tehnika i nedovoljno ispitanim performansama generisanih reenja. Takoe,
nedostaje procena praktine primene raznih metoda u odnosu na poveanje povrine,
smanjenje radne frekvencije i pogodnosti za implementaciju na FPGA i CPLD tehnologije
korienjem dostupnih komercijalnih CAD alata. To je, upravo, cilj ove teze, koja je
fokusirana na drugi pristup.
3
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Doprinos
Struktura rada
Ova teza sadri pet poglavlja i tri dodatka u kojima se opisuju sve faze projektovanja
kombinacionih i sekvencijalnih kola sa samoproverom. Polazi se od definisanja svih
potrebnih uslova za generisanje SC kola. Zatim se odreuju funkcije svih neophodnih
elemenata, opisuju se u VHDL-u i smetaju u biblioteku. Na osnovu izabrane tehnike za
konkurentnu detekciju greke i VHDL opisa, odreena SC kola se implementiraju u
konkretnoj tehnologiji.
U drugom poglavlju definisani su osnovni pojmovi i predstavljen je koncept sistema
visoke pouzdanosti. Razmatra se tehnoloki razvoj elektronskih proizvoda i potreba
savremenih sistema za ugradnjom tehnika koje omoguavaju pouzdanost u radu. Takoe se
vri klasifikacija defekata na osnovu njihovih karakteristinih osobina kao to su priroda,
trajanje, rasprostranjenost, vrednost i uzroci defekata. Ilustruje se i uzrono posledina veza
izmeu defekta, greke i otkaza, kao i manifestacija defekata na primeru digitalnog kola. U
daljem tekstu obrauju se tehnike za spreavanje pojave otkaza sistema usled pojave defekta,
4
1. Uvod
5
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
slue itaocu za lake praenje teksta. U Dodatku B date su osnovne definicije kombinacionih
i sekvencijalnih mrea sa samoproverom. Dodatak C je, iz praktinih razloga, dat na CD-
ROM-u, a ukljuuje VHDL opise svih modula potrebnih za generisanje SC kola opisanih u
ovoj tezi. Sastavni delovi Dodatka C su dva ilustrativna primera sinteze kombinacionog kola
4-bitni mnoa i sekvencijalnog benchmark kola b01.
6
2. Pouzdani sistemi
2. Pouzdani sistemi
Raunarski sistemi imaju iroku primenu u svakodnevnom ivotu. Veina takvih sistema
koristi se u hazardnim uslovima i za daljinsku kontrolu, kao na primer u nuklearnim
reaktorima, avionima i svemirskim brodovima. U takvom okruenju raunarski sistemi su, pre
svega zbog uticaja zraenja, u velikoj meri podloni grekama. Odravanje i popravka takvih
sistema je vrlo skupa i zahteva dosta vremena. Zbog toga, pored performansi, otpornost na
defekte (fault tolerance), koja predstavlja mogunost sistema da korektno funkcionie uprkos
pojavi defekata, postaje vrlo vano pitanje [Siew92].
Sistemi zasnovani na ASIC (Application Specific Integrated Circuits) kolima mogu da se
optimizuju u skladu sa zahtevima aplikacije i obino imaju bolje performanse od raunarskih
sistema opte namene. Meutim, cena projektovanja ASIC kola je obino visoka, a i jedanput
proizvedena ASIC kola ne mogu se aurirati, poboljavati i korigovati. U kritinim
aplikacijama, bilo koji kvar u ASIC komponenti ne moe da se popravi bez kompletne
zamene postojee komponente novom. Aplikacije opte namene mogu da se auriraju i
poboljaju loadovanjem novog softverskog programa. Meutim, u sluaju fizikog defekta u
ipu javlja se isti problem kao kod kritinih aplikacija i jedino reenje za popravljanje je
potpuna zamena komponente. S obzirom na visoku cenu takvog reenja javlja se potreba za
novim ekonominim tehnikama koje e obezbediti visoku pouzdanost.
Napredak u VLSI tehnologiji i pojava velikog broja novih aplikacija uzrokovali su brojne
promene u specifikaciji, projektovanju i realizaciji integrisanih kola u toku prethodnih trideset
godina. Evolucija paradigme u projektovanju integrisanih kola prikazana je na slici 2.1.
[Mezh04].
Kao to se vidi sa slike 2.1, tokom 60-ih i poetkom 70-ih godina prolog veka interesi
proizvoaa poluprovodnikih komponenti uglavnom su bili usmereni ka smanjenju povrine
ipa, tako da je kompaktnost kola predstavljala primarni kriterijum u procesu projektovanja
7
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
integrisanih kola. Usled ogranienog nivoa integracije tipini sistemi u to vreme, kakvi su
raunari, sastojali su se od nekoliko desetina pa do nekoliko hiljada integrisanih kola niskog
stepena inegracije (SSI IC) [Haye88]. Kao rezultat toga, komunikacija izmeu ipova, koja se
ostvarivala na nivou tampanih ploa, ili na nivou ploa, ograniavala je ukupne performanse
sistema. U poreenju sa vezama unutar ipa, veze na tampanoj ploi karakterie veliko
kanjenje i velika disipacija snage, a to je dovodilo do ogranienja brzine rada i redukcije
performansi sistema. Takoe, pouzdanost sistema, zbog velikog broja ploa, bila je jako niska
[Siew91].
Napredak tehnologije, sredinom 70-ih godina, omoguio je ugradnju veeg broja
funkcionalnih jedinica na monolitnoj ploici silicijuma to je obezbedilo realizaciju sloenijih
elektronskih sistema. U razvoju i proizvodnji IC-a izdiferencirala su se dva pravca. Prvi je
imao za cilj poveanje brzine rada uz smanjene povrine ipa, a drugi je bio orijentisan ka
smanjenju disipacije [Chan92]. Nivo integracije CMOS kola kretao se od srednjeg do visokog
(MSI/LSI IC), napon napajanja bio je obino 5 V, granina frekvencija rada do 20 MHz, a
pouzdanost u radu sistema relativno niska zbog velikog broja komponenti i tampanih ploa
od kojih su se projektovali i gradili elektronski sistemi [Prad72], [Prad86].
Sredinom 80-ih godina istraivanja i razvoj IC-a evoluirali su u tri smera. Kod prvog
imperativ je bila brzina (karakteristina za razvoj mikroprocesora), kod drugog kompromis
izmeu poveanja brzine rada i smanjenja potonje (baterijski napajani ureaji), a kod treeg
mikropotronja (biomedicinski ureaji) [Mezh04]. Za digitalna kola realizovana u periodu od
sredine 80-ih do sredine 90-ih godina, uglavnom napajana sa 5V, smatra se da su zbog visokih
logikih margina i imunosti na um relativno pouzdana.
Od sredine 90-ih godina pa do danas uglavnom egzistiraju dva pravca u razvoju IC-a. Prvi
pravac karakterie smanjenje potronje (mikropotronja) to se ostvaruje zahvaljujui
smanjenju napona napajanja kao i raznim tehnikama za dinamiko upravljanje potronjom
(mobilni telefoni) [Beni00]. Drugi pravac je bio orijentisan ka kompromisnom reenju
postizanja velike brzine uz malu potronju i visoku pouzdanost u radu [Shoo02]. Oba pravca
su usmerena ka agresivnom skaliranju dimenzija tranzistora, poveanoj kompleksnosti kola,
poveanim performansama, poveanoj brzini rada, i smanjenoj disipaciji. Kao rezultat toga, sa
take gledita pouzdanosti, javljaju se dva nepoeljna efekta: a) poveanje internih smetnji
zbog uticaja parazitnih impedansi (otpornih, induktivnih i kapacitivnih) na vezama unutar
ipa; i b) smanjenje logikih margina.
8
2. Pouzdani sistemi
U daljem tekstu, ilustracije radi, ukazaemo kako smanjenje napona napajanja IC-a utie
na poveanje smetnji. Promene napona napajanja se manifestuju kao um-napajanja. um-
napajanja negativno utie na korektan rad IC-a sa take gledita sledeih mehanizama: a)
neodreenosti u kanjenju signala; b) on-chip ditera; c) degradacije margina; d) degradacije
pouzdanosti oksidnog sloja gejta [Mezh04]. Za digitalno kolo kaemo da korektno radi ako
generie ulazne i izlazne napone u okviru specificiranih naponskih nivoa, tj. definisanih
opsega naponskih vrednosti. Opseg naponskih vrednosti naziva se margina uma-napajanja.
Primarni cilj projektovanja je da obezbedi da um-napajanja ne premai margine.
Evolucija prosene struje kod visoko performansnih mikroprocesora prikazana je na slici
2.2. Kao to se vidi sa slike prosena struja, za procesor Itanium 2, trenutno dostie vrednost
od 100 A, a ima trend poveanja sa tehnologijom skaliranja. Predvianja od strane ITRS-a
[ITRS03] ukazuju da e se ona, saglasno Moore-ovom zakonu, duplirati sa svakom novom
generacijom mikroprocesora (18-24 meseca), vidi sliku 2.3.
Slika 2.3. Poveanje zahteva za strujom napajanja kod visoko performansnih mikroprocesora u
zavisnosti od tehnologije skaliranja/vremena u skladu sa predvianjima ITRS-a
Shodno slici 2.3, uoljiv je bri porast tranzijentne struje u odnosu na prosenu, to je
posledica poveanja interne taktne frekvencije ipa. Tranzijentna struja kod dananjih
savremenih visoko performansnih procesora iznosi aproksimativno 1 TA/s (1012 A/s), a
oekuje se da e 2016. godine premaiti vrednost od 100 TA/s. Tranzijentna struja ovako
velike vrednosti posledica je zahteva za komutacijom nekoliko stotina ampera u okviru dela
nanosekunde kod rada sinhronih digitalnih kola. Obezbeenje adekvatnog integriteta signala
(signal bez izoblienja) pri smanjenom naponu napajanja kola i poveanom strujom
predstavlja kljuni projektantski izazov za postizanje visokih performansi uz pouzdan rad
[Mezh04].
Na slici 2.4 prikazan je uzajamni odnos efekta redukcije margina uma kod CMOS kola za
dve tehnologije sa razliitim dimenzijama tranzistora. Kao to se vidi sa slike 2.4, skaliranjem
i smanjenjem napona napajanja smanjuju se i margine, a samim tim i pouzdanost kola. Ovaj
efekat namee potrebu za nalaenjem novih tehnika projektovnja IC-a koje e obezbediti
pouzdan rad. U ovoj tezi se upravo razmatra problematika koja je u uskoj vezi sa
projektovanjem visoko pouzdanih kola.
Sa smanjenjem dimenzija, kapacitivnosti MOS tranzistora (kako kapacitivnosti gejta tako
i parazitne, difuzione kapacitivnosti) se smanjuju. Sa jedne strane, to ima za posledicu
9
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Slika 2.4. Redukcija margina uma kod CMOS kola u zavisnosti od tehnologije skaliranja
Napomena: NMH i NML su margine uma kod logikog visokog i logikog niskog nivoa, respektivno
10
2. Pouzdani sistemi
Uzroci defekta
Mogui uzroci defekata mogu se povezati sa problemima u etiri osnovne oblasti:
specifikacija, realizacija, komponente i spoljanji faktori [John89].
Prvi mogui uzrok defekata su problemi u specifikaciji. Oni ukljuuju netane algoritme,
arhitekturu, ili pogrene specifikacije u projektovanju hardvera i softvera.
11
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Priroda defekta
Po prirodi, defekt moe biti hardverski ili softverski, takoe on moe biti u analognom ili
digitalnom kolu, i sl. Greka u programu je primer softverkog defekta.
Trajanje defekta
Trajanje defekta se odnosi na duinu vremenskog perioda u kome je defekt aktivan. Za
nas su od interesa defekti koji se javljaju kod VLSI integrisanih kola. Saglasno vremenu
trajanja definiu se sledea tri tipa defekata [Cons03]:
1) Stalni ili permanentni defekt (permanent fault) traje neogranieno dugo i manifestuje
se sve dok se ne preduzmu odgovarajue mere korekcije. Permanentni defekti posledica su
ireverzibilnih fizikih promena. Poboljanja u procesu projektovanja kao i tehnike izrade
poluprovodnika u znaajnoj meri smanjuju stopu pojave permanentnih defekata. Ako sistem
ne izvrava namenjenu funkciju na korektan nain, to znai da je pod uticajem defekta dolo
do otkaza. Za komponentu ili sistem definie se stopa otkaza (failure rate) koja predstavlja
broj otkaza koji se javljaju u jedinici vremena (Failure-In-Time - FIT) [Moha203]. Na slici
2.7 prikazana je evolucija pojavljivanja permanentnih otkaza kod CMOS mikroprocesora, kao
i statikih i dinamikih memorija u toku protekle decenije. Kao to se vidi sa slike pouzdanost
procesora i memorije je znaajno poboljana u toku prve polovine dekade. Znaajno
12
2. Pouzdani sistemi
smanjenje otkaza kod SRAM-ova velikog kapaciteta ostvareno je u drugoj polovini dekade.
Poluprovodnika industrija je u zadnjoj deceniji poela da koristi bakar za realizaciju
meuveza unutar integrisanog kola. Ovaj trend je imao pozitivan uticaj na smanjenje stope
permanentnih defekata iz razloga to bakar ima bolje osobine sa aspekta elektromigracije u
odnosu na aluminijum.
300
Mikroprocesori
SRAM 256 kB
SRAM 4MB
DRAM 1 MB
STOPA OTKAZA
DRAM 32 MB
200
100
0
1990 1992 1995 1997 2001
Godina
Slika 2.7. Evolucija pojavljivanja permanentnih otkaza kod CMOS mikroprocesora
Napomena: Veliina FIT predstavlja broj otkaza u vremenu od 10 asova [Cons03]
9
13
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
energije, dok alfa estice potiu od neistoa u materijalima za pakovanje integrisanih kola.
Udarom ovih estica u osetljivu oblast poluprovodnikog materijala dolazi do njihove
interakcije sa jonima i atomima silicijuma to ima za posledicu izbijanje elektrona. Energija
koja se predaje elektronu u ovom procesu dovoljna je da ga iz valentne prebaci u provodnu
oblast ime nastaje par elektron-upljina. ta vie, energija koja ostaje izbijenom elektronu je
dovoljana da on pri udaru u drugi atom kreira novi par elektron-upljina, ime dolazi do
pojave svojevrsne lanane reakcije. Slobodni nosioci naelektrisanja nastali u ovom procesu
ire se kroz poluprovodnik, a nastala jonizaciona traka uzrokuje tranzijentni impuls struje. S
obzirom da je za pojavu ovakvog strujnog impulsa dovoljna samo jedna estica zraenja,
efekat koji takav impuls ima na rad kola zove se single-event upset (SEU) [Dupo02].
SEU moe uzrokovati da neki le ili memorijski element u sloenom kolu promeni svoje
stanje. Pored toga, SEU moe da se pojavi u internom voru kombinacione mree, promeni
logiki nivo tog vora, koji se zatim prostire kroz mreu do lea gde greka biva zapamena
[Moha103]. Na slici 2.9 prikazan je uticaj bombardovanja neutronskih i alfa estica na SER
kod CMOS SRAM-ova razliitog memorijskog kapaciteta. Kao to se vidi sa slike
bombardovanje alfa estica poveava SER 30 puta ako se tehnoloki proces promeni sa
0.25 m na 0.18 m, a napon smanji od 2 V na 0.6 V.
14
2. Pouzdani sistemi
Rasprostranjenost defekta
Rasprostranjenost defekta odreuje da li je uticaj kvara lokalizovan na konkretni
hardverski ili softverski modul, ili on globalno utie na rad sistema. Na primer, bilo koji
defekt vezan za napon napajanja je primer globalnog uticaja na sistem, dok defekt u memoriji
ima lokalizovan uticaj na sistem.
Vrednost defekta
Vrednost defekta moe da bude odreena ili neodreena. Odreenu vrednost ima defekt
koji se ne menja tokom vremena bez spoljanjeg uticaja. Neodreenu vrednost ima defekt iji
je status razliit u razliitim vremenskim trenucima.
Defekti u kolima opisuju se modelima [Lala01], [Moha103]. Pri ovome treba istai da je
veoma teko analizirati rad digitalnih sistema u prisustvu svih tipova defekata, kao na primer,
istovremena pojava tranzijentnih i neodreenih defekata. Da bi se korektno opisao rad sistema
u prisustvu defekta neophodno je poznavati statistiku defekata. Tako na primer, shodno slici
2.5, do otkaza neke komponente dolazi ako su se prethodno manifestovale greke u toj
komponenti, a greke su, u principu, bile uzrokovane nekim defektima, u materijalu, u
programu itd. Najvei broj modela kojima se opisuju sistemi otporni na otkaze polazi od
injenice da se u datom trenutku, kod realnih sistema, moe javiti najvie jedna greka
[DeK94], [Toub97], [DasD99]. Ako se usvoji ovakva strategija tada je procedure za
simulaciju rada i testiranje relativno lake kreirati i one veoma pouzdano mogu da opiu i
simuliraju rad sistema u prisustvu defekata. U ovoj tezi upravo je usvojen ovakav pristup.
Modeli defekata nam omoguavaju da definiemo specifine tipove defekata koji e se
razmatrati, kao i njihovo ponaanje. I pored toga to nisu 100% tani, projektanti koriste
modele zato to oni olakavaju reavanje problema u cilju postizanja visoke pouzdanosti u
radu. Najee se koriste dva osnovna modela defekata:
i) logiki model defekta postavljanja (stuck-fault) - koristi se na nivou logikih kola, i
ii) tranzistorski model defekta postavljanja - koristi se na nivou tranzistora.
Logiki model defekta postavljanja moe se predstaviti kao model defekta postavljanja na
0 (stuck-at-0) ili postavljanja na 1 (stuck-at-1). Tri osnovne karakteristike ovog modela su
sledee:
- kao rezultat defekta u modulu jedan od njegovih ulaza ili izlaza je fiziki postavljen na
1 ili 0
- defekt ne menja osnovnu funkciju kola
- defekt je permanentan.
Logiki modul je jedan gejt ili skup gejtova koji izvravaju neku logiku funkciju.
Tranzistorski model defekta postavljanja moe se predstaviti kao model zasienog
tranzistora (stuck on) ili model zakoenog tranzistora (stuck off).
15
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
logika kola ova promena predstavlja modifikaciju tabele istinitosti. Poreenjem tabele
istinitosti formirane na osnovu ispravnog odziva i tabele istinitosti formirane na osnovu
dobijenog odziva, dobija se informacija o ispravnosti rezultata.
Modeli greaka koriste se za projektovanje i verifikaciju mnogih kola koja imaju
mogunost samotestiranja, ali se ne koriste kao sredstvo za generisanje test signala. Takoe,
model greke podrazumeva da mora da proe neko vreme pre nego to se utvrdi postojanje
defekta.
16
2. Pouzdani sistemi
Slika 2.10. Dijagram kola koji pokazuje kako od tranzijentnog defekta nastaje soft greka
Smetnja uzrokovana udarom estice mora da bude dovoljno jaka da generie signal na
nekom od vorova u kombinacionoj mrei. To moe da se desi bilo gde u mrei i u bilo koje
vreme. Pojava smetnje dovoljog intenziteta zavisi od energije estica i intenziteta zraenja, ali
i od osetljivosti kola na ovakve poremeaje.
Tako generisani signali najee su u obliku impulsa kratkog trajanja (do nekoliko
stotina pikosekundi). Meutim, kratkotrajni impuls na ulazu logikog kola moe da izazove
promenu logikog nivoa na njegovom izlazu samo ako je trajanje imulsa due od
propagacionog kanjenja kroz kolo. Logika kola realizovana savremenim poluprovodnikim
tehnologijama poseduju propagaciono kanjenje od oko 100 ps, to je dovoljno brzo za
prenoenje signala nastalih udarom estica. Takoe, SEU mora da bude impuls znaajnijeg
trajanja i amplitude kako bi proao kroz svaki stepen logike jedinice na putu do lea. Impuls
e biti oslabljen zbog elektrinih osobina svakog gejta kroz koji prolazi, pa zato mora da se
obezbedi da se SEU, u svakom sluaju, prenese do lea. Ako je impuls toliko oslabljen pre
nego to doe do lea onda e SEU biti elektrino maskiran.
Da bi se promena logikog nivoa na izlazu logikog kola pogoenog esticom,
manifestovala kao greka i na izlazu kombinacione mree, neophodno je da kroz mreu, od
take koja predstavlja izlaz logikog kola do nekog od izlaza mree postoji aktivna logika
putanja. Drugim reima, neophodno je da postoji funkcionalno osetljiv put od mesta pojave
SEU-a do lea, to zavisi od primenjenog vektora na ulazu. Na primer, neka je u mrei sa
slike 2.10 na izlazu AND kola U5 nastao poremeaj tako da je umesto logike 1-ce na izlazu
ovog kola prisutna logika 0. Meutim, da bi se ova pogrena vrednost prenela na izlaz
mree, neophodno je da na izlaz AND kola U4 bude na logikoj 1, jer samo pod tim uslovom
izmeu izlaza kola U5 i izlaza mree postoji aktivna logika putanja. Ako ne postoji takav
put, onda e SEU biti logiki maskiran.
Na kraju, da bi pogrean podatak na izlazu kombinacione mree prouzrokovao
pogrean rad sistema, on, kao takav, mora da bude upisan u izlazne leeve. Prema tome,
vremenski interval u kome na izlazu mree postoji pogrean podatak mora da obuhvati i
trenutak dejstva rastue ivice takta. Dodatno, moraju biti zadovoljeni i zahtevi u pogledu
vremena postavljanja (set-up-time) i vremena dranja (hold-time) le kola. Poveanje irine
impulsa i taktne frekvencije utiu na poveanje verovatnoe leovanja tranzijentnog defekta,
to je ilustrovano na slici 2.11. Sa slike 2.11a) vidi se da vrednost tranzijentnog defekta nee
biti leovana ako se ne poklopi sa ivicom takta, dok se sa slike 2.11b) vidi da je sa
poveanjem taktne frekvencije vea i verovatnoa leovanja. Znai, tajming SEU-a mora da
17
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
bude takav da impuls stigne do lea u trenutku pojave ivice takta kako bi le "uhvatio"
njegovu vrednost. Ako se SEU pojavi van "prozora leovanja" onda e biti maskiran.
Ako su ispunjena sva etiri prethodno navedena uslova onda poremeaj usled
tranzijentnog defekta generie greku u podatku VLSI ipa. Drugi, trei i etvrti uslov
predstavljaju "prirodnu" prepreku irenju SEU defekta, to je, uz veu otpornost MOS
tranzistora na udare estica, inilo da su kod starijih tehnologija opisani efekti bili tretirani
kao minorni uzronici nepouzdanosti u radu VLSI kola. Meutim, kod savremenih
tehnologija, uporedno sa smanjenjem radnog napona i dimenzija MOS tranzistora smanjuje se
i naelektrisanje vora to omoguava da estice manje energije uzrokuju SEU, pa je zato
verovatnoa pojavljivanja SEU defekta (prvi uslov) daleko vea. Iako postojanje aktivnog
puta (trei uslov) zavisi iskljuivo od trenutne vrednosti ulaznog podatka i nije uslovljeno
tehnologijom, smanjenje propagacionog kanjenja kroz logika kola (drugi uslov) i trend
poveanja radne frekvencije (etvrti uslov) dovode do smanjenja sposobnosti "filtriranja"
SEU defekta. Zbog toga, kod savremenih VLSI kola, imlementacija posebnih tehnika za
detekciju tranzijentnih greaka postaje neminovnost [Moha203].
Od velikog interesa su i tranzijentne greke u memorijama zato to memorije sadre
daleko vei broj i veu gustinu bitova osetljivih na udare estica, u odnosu na ligika kola
[Zieg96].
Integritet podataka je glavni izazov u procesu projektovanja sistema. Zbog sve veeg
uticaja defekata poluprovodnika industrija preusmerila je razvoj i proizvodnju na VLSI kola
kod kojih e ti uticaji biti manji. Uglavnom poboljani tehnoloki procesi dovode do
smanjenja svih tipova defekata. No, nezavisno od toga ini se da se uticaj defekata ne moe u
potpunosti eliminisati i sve je izraeniji sa poveanjem stepena integracije [Cons03].
Sa aspekta projektovanja, za poboljavanje ili zadravanje nominalnih performansi,
odnosno za postizanje visoke pouzdanosti u radu sistema, u okruenju u kome su defekti
mogui, koriste se tri osnovna pristupa: izbegavanje defekata, maskiranje defekata, i
tolerancija na defekte [Cons03], [John89].
Izbegavanje defekta (fault avoidance) je bilo koja tehnika iskoriena za spreavanje
pojave hardverskih defekata ili softverskih greaka. Ovakve tehnike se pre svega baziraju na
korienju boljih materijala i poboljanju tehnolokih procesa i metoda projektovanja kola. Na
primer, veze unutar kola koje karakterie nii nivo emisije alfa zraenja karakterie manji
SER. Silicijum na izolatoru je reenje koje se standardno koristi kao proces za smanjenje
osetljivosti kola na pojavu tranzijentnih otkaza [Cons03]. Izbegavanje defekata ukljuuje
procese kao to su preispitivanje projekta, zatita komponenti, testiranje, i druge metode
18
2. Pouzdani sistemi
kontrole kvaliteta. Naime, ako se pregled projekta izvri korektno mnoge greke nastale u
specifikaciji mogu se otkloniti. Takoe, ako se sistem oklopi mogu se spreiti spoljanji
uticaji. Isto tako, ako se sistem paljivo testira, mnogi kvarovi se na vreme mogu otkriti i
ukloniti pre nego to se sistem startuje.
Maskiranje defekta (fault masking) je bilo koja tehnika koja spreava da defekti u
sistemu proizvedu greke unutar strukture sistema. Primeri maskiranja defekata su: memorije
sa mogunou korekcije greaka, ili veinsko izglasavanje u sistemima gde postoje tri
istovetna modula, i gde dva, na osnovu veine mogu maskirati trei neispravan modul
[Stoj201]. Sistemi koji koriste maskiranje defekata ostvaruju osobinu otpornosti
"sakrivanjem" defekata koji se javljaju. Cilj je da uticaj svih defekata bude lokalnog
karaktera. Tehnike zadravanja defekta, koje se zasnivaju na maskiranju, spreavaju irenje
njihovih efekata kroz sistem.
Tolerancija defekata (fault tolerant) je sposobnost sistema da nastavi sa izvravanjem
svojih zadataka i posle pojave defekta. Tehnoloki razvoj je prirodno nametnuo pitanje: Zato
je tolerancija na defekte u elektronskim komponentama toliko vana i zato je predmet
interesovanja mnogih projektanata? Naime, tolerantnost na defekte je atribut koji omoguava
sistemu da bude otporan na defekte. Takav sistem moe da nastavi korektno izvravanje
specificiranih zadataka i u prisustvu hardverskog defekta. Detekcija i korekcija internih
defekata u toku normalnog rada omoguava korienje ovih kola u kritinim aplikacijama
[Entr201].
Vremenski dijagram sa slike 2.12 prikazuje sve faze koje postoje od pojave defekta do
otkaza sistema. Sa slike se vidi da se detekcijom defekta, odnosno njegovog efekta, odmah
nakon pojavljivanja, moe izbei otkaz sistema. Drugim reima, sistem nee otkazati ako
postoji dovoljno vremena za primenu mehanizama tolerancije defekata.
Slika 2.12. Faze koje postoje od trenutka pojave defekta do otkaza sistema
19
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Cilj sistema koji su tolerantni na defekte je da, pored funkcionalnosti, ispune i zahtev
pouzdanosti u irem smislu, odnosno uslunosti (dependability). Ovo je kompleksna
karakteristika koja objedinjuje vei broj aspekata pouzdanosti koji se odnose na pouzdanost u
uem smislu, dostupnost, bezbednost, performabilnost, odrivost i testabilnost. Svi ovi
pojmovi definisani su u Dodatku A ove teze. Ostvarivanje pouzdanosti u irem smislu
podrazumeva primenu osnovnih, prethodno pomenutih pristupa, u cilju otklanjanja uticaja
defekata, odnosno greaka ili otkaza sistema. Koncept pouzdanosti u irem smislu koji
obuhvata karakteristike pouzdanih sistema, naine za njihovo ostvarivanje i uticaje negativnih
efekata ilustrovan je na slici 2.13.
Tolerancija na defekte moe se postii mnogim tehnikama. Jedna od njih se sastoji u tome
da se defekt detektuje i locira, a da se zatim, sistem rekonfigurie kako bi se eliminisao uticaj
pokvarene komponente ili modula. Uopteno govorei, rekonfiguracija je proces
eliminisanja iz sistema entiteta sa kvarom i vraanja sistema u operativno stanje.
Rekonfiguracija obuhvata sledee aktivnosti [John89]:
1. Detekcija defekta je proces otkrivanja defekta koji se pojavio.
2. Lokalizacija defekta je proces odreivanja lokacije na kojoj se defekat pojavio i
utvrivanja komponente koja je neispravna, tako da se sistem, nakon toga, moe vratiti
u normalan rad.
3. Izolacija defekta je proces izolovanja defekta i spreavanja da se njegovi efekti
proire kroz sistem.
4. Sanacija defekta je proces koji obezbeuje da se i u prisustvu defekta, a uz pomo
rekonfiguracije, zadri ili ponovo uspostavi operativni status sistema; rekonfiguracija
se obino ostvaruje fizikim ili logikim odstranjivanjem i zamenom komponente koja
je u kvaru.
Tolerancija defekata, koja je do skoro bila korienja kao pristup samo kod profesionalnih
ureaja koji su bili namenjeni za rad u hazardnim uslovima i kritinim misijama, postala je
danas neminovnost koja se uvodi i kod komercijalnih proizvoda [Cons03], [Moha103],
[Mezh04]. Projektanti su danas primorani da ugrade koncepte tolerantnosti na defekte u VLSI
kola, posebno kod mikroprocesora, sa ciljem da se na jedan adekvatniji nain manipulie sa
defektima i grekama, a takoe i izbegnu posledice koje se javljaju zbog naruavanja
verodostojnosti podatka [Good85], [Hals85]. U savremena VLSI kola danas se ugrauju
znatno sofisticiranije tehnike kakve su one koje se odnose na poboljanu sposobnosti za
20
2. Pouzdani sistemi
21
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
koja pojedinana komponenta unutar sistema iji otkaz dovodi do otkaza sistema zove se
jedinstvena taka otkaza, ili singularitet.
Slika 2.14. Model pasivne hardverske redundanse sa tri istovetna modula i jednim glasa em
22
2. Pouzdani sistemi
najvee teine. Broj bitova koji se ignoriu zavisi od aplikacije i funkcija je tanosti
upotrebljenih komponenti [John89].
Aktivne ili dinamike tehnike postiu osobinu otpornosti na defekte detektovanjem
postojanja defekta i izvoenjem akcija uklanjanja (ili izolovanja) pokvarenog hardvera iz
sistema, odnosno rekonfiguracijom sistema. Aktivna hardverska redundansa koristi detekciju
defekta, lokaciju defekta, i sanaciju defekta u cilju postizanja tolerancije na defekte. Aktivna
hardverska redundansa ne poseduje osobinu maskiranja defekta i primenjuje se kod sistema
koji mogu tolerisati privremene, pogrene rezultate, pod uslovom da se sistem rekonfigurie i
povrati svoj operativni status u zadovoljavajuem vremenu.
Osnovni princip udvostruavanja sa poreenjem, prikazan na slici 2.16, je ugraditi dva
identina hardverska modula, pustiti ih da u paraleli rade ista izraunavanja, i zatim uporediti
njihove rezultate. U sluaju neslaganja, generie se signal greke. U svom najosnovnijem
obliku, princip udvostruavanja moe samo detektovati postojanje kvara, a ne i tolerisati ga,
jer ne postoji nain za odreivanje koji od dva modula je u kvaru.
Slika 2.16. Model aktivne hardverske redundanse, gde se posle paralelne obrade rezultati
uporeuju
23
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
24
2. Pouzdani sistemi
25
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Osnovni princip svih ovih prilaza je isti, a jedina razlika je u izvoenju drugog
izraunavanja. Za vreme prvog izraunavanja ili prenosa podataka, operandi se koriste onakvi
kakvi oni stvarno jesu, a rezultati se smetaju u neki registar. Neposredno pre drugog
izraunavanja ili prenosa, operandi se kodiraju korienjem funkcije kodiranja, e. Nakon sto
su izvrene operacije sa kodiranim podacima, rezultati se dekodiraju, i onda porede sa
rezultatima dobijenim tokom prvog izraunavanja. Izbor kodirajue funkcije je uraen tako da
omogui detekciju defekata u hardveru. Metod naizmenine logike kao funkciju kodiranja
koristi komplement operatora. RESO kao funkciju kodiranja koristi aritmetiko pomeranje,
RESWO koristi funkciju rotiranja za kodiranje operanada, a REDWC je varijacija RESWO-a.
U nastavku e biti opisana tehnika naizmenine logike.
Princip naizmenine logike se primenjuje u prenosu digitalnih podataka preko ianih
medija i u detekciji kvarova u digitalnim kolima. Pretpostavimo da elimo da detektujemo
greke u podacima koji se prenose putem paralelne magistrale pomou vremenske
redundanse. U trenutku t 0 poslali smo originalni podatak, a u trenutku t 0 + aljemo
komplement podatka. Ako je, recimo, neka linija magistrale permanentno postavljena bilo na
1 ili na 0, dve verzije podataka koje smo primili nee biti komplementi jedna druge, tako da se
detektuje kvar. U sutini, ako korienjem ovog prilaza aljemo neku sekvencu informacija,
svaka bitska linija, u sluaju da je prenos bez greaka, naizmenino e menjati svoju vrednost
izmeu logike 1 i logike 0. Otuda i potie naziv naizmenina logika.
26
2. Pouzdani sistemi
27
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
28
3. Konkurentna detekcija greke
29
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
30
3. Konkurentna detekcija greke
Digitalno kolo (interna jedinica u ipu, ip, ploa, sistem) ima mogunost samoprovere
(self-checking), ako je u stanju da autonomno (bez korienja spoljanjih test signala)
detektuje interni defekt, odmah nakon njegovog pojavljivanja. Opti princip samoprovere
ilustrovan je modelom sa slike 3.2. Funkcionalni modul realizuje glavnu funkciju kola tako
to transformie ulaznu re X u izlazu re Y=f(X). Pri tome, funkcionalni modul je tako
projektovan da sve rei, koje se mogu pojaviti na njegovom izlazu, zadovoljaju neku
specifinu osobinu. Modul za proveru, neprekidno nadgleda izlaz funkcionalnog modula i
signalizira pojavu rei koja ne poseduje traenu osobinu. Odsustvo traene osobine moe biti
posledica jedino poremeene funkcije funkcionalnog modula usled pojave internog defekta.
Osobina koju poseduju izrazne rei ispravnog funkcionalnog modula zove se kd. Indikacija
greke na izlazu modula za proveru, usled pojave defekta, moe da se iskoristi za iniciranje
automatskog obnavljanja ili rekonfiguracije, ili za jednostavno zaustavljanje sistema.
31
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
32
3. Konkurentna detekcija greke
3.3.1. Kd parnosti
Najjednostavniji oblik izdvojivog koda je kd parnosti. Osnovni princip parnosti je
veoma jednostavan, ali su mogue i brojne varijacije osnovne ideje. Jednobitni kd parnosti
nastaje tako to se binarnom podatku dodaje jedan bit, koji ima vrednost 0 ili 1 u zavisnosti od
toga da li je broj jedinica meu informacionim bitovima paran ili neparan, odnosno da li se
eli parna ili neparna parnost. Ako se binarni oblik kodne rei predstavi kao
a = (an1an2 ...a0 ac ) , gde an1 , an2 , ..., a0 predstavljaju informacione bitove, a ac bit provere
(check bit), onda je:
1) ac = an1 an2 ... a0 , za sluaj da se koristi parna parnost i da je ukupan broj
jedinica u kodnoj rei paran (neparan),
2) ac = an 1 a n2 ... a0 1 , ako se koristi neparna parnost i ako je ukupan broj
jedinica u kodnoj rei paran (neparan).
Iako su matematiki ekvivalentne, preferira se neparna parnost zato to obezbeuje
najmanje jednu jedinicu u kodnoj rei. Kodiranje ovakvim kodom je brzo i jednostavno jer
zahteva jedino stablo EXOR gejtova. Nedostatak ovog koda ogleda se u tome to se bitom
parnosti moe detektovati samo neparan broj greaka.
Najea primena kodova parnosti je u memorijama raunarskih sistema. Pre nego to se
upie u memoriju, podatak se kodira. Kodiranje se sastoji u dodavanju jednog bita sa ciljem
da rezultujua re ima, na primer, paran broj jedinica. Kada se potom podatak ita iz
memorije, parnost se mora proveriti da bi se verifikovalo da li se, kao posledica neke greke,
promenila ili nije.
ema za konkurentnu detekciju greke, u najveem broju sluajeva, zasniva se na
generisanju bita parnosti za dati izlaz. Na osnovu jednog bita parnosti, dobijenog na osnovu
kombinacije bitova na izlazu, ne mogu se detektovati sve greke u vienivovskom kolu.
Razlog za to je injenica da meu razliitim izlazima postoji podela zajednikih lanova, tj.
razliiti izlazi koriste iste gejtove. U tom sluaju, u bitu parnosti moe da bude maskiran
uticaj defekta. Na slici 3.3 prikazan je uticaj jednog defekta na vie izlaza to moe dovesti do
njegovog maskiranja [DeK94].
Mogunost detekcije greke na osnovu bita parnosti moe se proiriti uvoenjem bita
parnosti za odreene grupe informacionih bitova (na primer za svaki bajt). Pri tome se
33
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
odreenoj grupi izlaznih bitova dodaje po jedan bit za proveru, koji predstavlja njihovu
parnost. Svaka grupa izlaznih bitova, koja se proverava jednim bitom, naziva se grupa
parnosti (parity group). Ako dva izlaza pripadaju istoj grupi parnosti onda ne bi trebali da
dele istu logiku. Na osnovu pripadnosti izlaznih bitova jednoj ili veem broju grupa parnosti
mogu se izdvojiti dve tehnike [Zeng99]:
1) Tehnika sa jednom grupom parnosti (single parity group) - svi izlazi pripadaju istoj
grupi parnosti i svaki izlaz se sintetie nezavisno, tako da razliiti izlazi nee deliti istu logiku
(slika 3.4a)).
2) Tehnika viestruke grupe parnosti (multiple parity group) - izlazi su podeljeni u
nekoliko razliitih grupa parnosti, a korienje iste logike dozvoljeno je samo meu izlazima
koji pripadaju razliitim grupama parnosti (slika 3.4b)).
a) b)
Slika 3.4. Tehnike grupe parnosti: a) jednostruka i b) viestruka
Ilustracije radi, moemo rei da kod tehnike sa jednim bitom za proveru postoji samo
jedna grupa parnosti koja sadri sve izlaze, dok u sluaju dupliciranja kola sa n izlaza postoji
n grupa parnosti i svaka sadri samo jedan od izlaza [Toub97], [Prad80].
U radu [DeK94] predloena je ema za konkurentnu detekciju greke zasnovana na
korienju koda parnosti, ali i na podeli izlaznih bitova u logike blokove pri emu nije
dozvoljeno da razliiti blokovi koriste ista logika kola. Ako je k broj izlaza logikog bloka
koji ima najvie izlaza onda je iskoriena k-grupa parnosti, odnosno grupa parnosti koja
proverava k izlaznih bitova jednim bitom parnosti. Sekvenca izlaznih signala podeljena je u
razliite grupe na takav nain da svaka grupa parnosti sadri ne vie od jednog izlaza iz
svakog logikog bloka. Zatim su, za svaku od k grupa parnosti, na osnovu bita parnosti,
izraunate funkcije za proveru koje zatim formiraju drugi logiki blok. Izlazi jednog bloka
mogu meusobno da dele istu logiku, ali nije dozvoljena podela logike izmeu dva izlaza koji
pripadaju razliitim blokovima. S obzirom da nema logike podele izmeu blokova, greka
nastala postavljanjem unutranje veze na odreenu vrednost moe da utie samo na izlaze
jednog logikog bloka. Poto svaki od izlaza jednog logikog bloka pripada razliitim
grupama parnosti i, prema tome, proverava se od strane razliitih bitova parnosti, greka ne
moe da bude maskirana, to znai da e biti detektovana. S druge strane, implementacija ove
tehnike zahteva relativno kompleksan hardver i utie na smanjenje brzine sistema.
Kombinacija parne i neparne parnosti za grupe bitova moe pojednostaviti detekciju stanja
sve nule ili sve jedinice. Primena ovakve eme zasniva se na deljenju informacionih bitova na
nekoliko blokova pri emu se svaki bit pojavljuje u okviru nekoliko blokova, a bit parnosti se
izraunava za svaki od blokova, pojedinano. Ovakav nain preklapanja bitova parnosti ne
samo da detektuje greke na veem broju bitova, ve omoguava da se greka na jednom bitu
detektuje i locira [YenM87], [Lala01].
34
3. Konkurentna detekcija greke
m-od-n kod
Kodna re m-od-n (m-out-of-n) koda sadri tano m jedinica i (n-m) nula. Ukupan broj
validnih kodnih rei je n! (n-m)!m! . Osnovna prednost m-od-n koda je u tome to vrlo lako
vizuelizuje proces detekcije greke. Meutim, glevni nedostatak je u tome to je m-od-n
neizdvojiv kd pa je teko izvriti proces kodiranja, dekodiranja i detekcije, a samim tim
poveava se kanjenje i broj modula u sistemu [Moha77].
Specifian podskup m-od-n koda je 1-od-n kd u kome je samo jedan bit 1 a svi ostali su
0. Ako je u m-od-n kodu m = n/ 2 , onda je kd optimalan. Drugim reima, ne postoji drugi
neureen kd, sem koda n/2-od-n, koji ima vie kodnih rei duine n. Ovakav kd je najlake
generisati jer kodna re od n bitova sadri tano n/2 jedinica, a generie se dodavanjem n/2
bitova informaciji koja takoe sadri n/2 bitova. Nedostatak n/2-od-n koda je to ima dva puta
35
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Berger-ov kd
Berger-ov kd je najmanje redundantan neureeni kd. Ako ovaj kd ima duinu od n
bitova, pri emu je k informacionih i c bitova za proveru, onda je c = log 2 (k + 1 ) i n = k + c .
Kodna re se formira tako to se informacionim bitovima dodaje komplement binarne
prezentacije broja jedinica u informacionim bitovima. Ovi dodatni bitovi ine bitove za
proveru (check bits). Na primer, ako je k = 0101000 , c = log 2 ( 7 + 1 ) = 3 , a poto Berger-ov
kd mora da ima duinu 10 (= 7 + 3) , c bitova za proveru generiu se na sledei nain: Neka
je broj jedinica u informacionim bitovima k = 2 , onda je binarni ekvivalent 2 = 010 ,
komplement binarnog broja 010 je 101, to predstavlja c bitova za proveru, pa je
n = 0101000 101
k c
Na osnovu prethodnog moe se rei da su c bitova za proveru, ustvari, binarna
prezentacija broja 0 u okviru k informacionih bitova. ema koja, kao bitove za proveru, koristi
komplement binarne prezentacije broja 1-ca u informacionim bitovima naziva se B1 ema
kodiranja. Druga ema koja koristi komplement binarne prezentacije broja 0-a u
informacionim bitovima naziva se B0 ema kodiranja.
Ako je broj informacionih bitova u Berger-ovom kodu I = 2 c -1 , c 1 , onda je to Berger-
ov kd maksimalne duine. Na primer, Berger-ov kd 0101000 101 je maksimalne duine
poto je c = 3 i k = 7 = ( 2 c -1 ) , dok kd 110100 011 nije maksimalne duine zato to je c = 3
i k = 6 [Lala01].
Motivacija za izbor Berger-ovog koda dolazi od injenice da defekti u kolima najee
uzrokuju jednosmerne greke, a Berger-ov kd je optimalan izdvojiv kd kojim se mogu
detektovati sve jednosmerne greke [Moha77]. Berger-ovim kodom mogu se detektovati
greke na jednom bitu i jednosmerne viestruke greke u kodnoj rei zbog sledeih injenica:
1) Ako postoje jednosmerne greke u informacionom delu, onda e broj nula u
informacionim simbolima pogrene rei biti vei od vrednosti provere u sluaju greke 10,
a manji u sluaju greaka 01.
2) Ako postoje jednosmerne greke u delu za proveru, onda e broj nula u informacionim
simbolima pogrene rei biti manji od vrednosti provere u sluaju greke 01, a vei u
sluaju greaka 10.
3) Ako postoje jednosmerne greke u informacionom delu i u delu za proveru, onda e se
broj nula u informacionim simbolima pogrene rei poveati u sluaju greaka 10 i smanjiti
u sluaju greaka 01. Sa druge strane, vrednost za proveru pogrene rei smanjie se u
sluaju greaka 10, a poveati u sluaju greaka 01. U svim navedenim sluajevima
mogu se detektovati viestruke jednosmerne greke.
ema zasnovana na Berger-ovom kodu predloena je u radu [DeK94]. Zbog podele
zajednikih lanova u vienivovskim kolima, jedan defekt u logikom gejtu takvog kola moe
potencijalno da utie na vie izlaza. Ako defekt uzrokuje da jedan izlaz generie pogrenu
vrednost 1 umesto korektne vrednosti 0, a drugi izlaz generie pogrenu vrednost 0 umesto
korektne vrednosti 1, onda se korienjem Bergerovog koda defekt ne moe detektovati. Kao
36
3. Konkurentna detekcija greke
to se vidi sa slike 3.5, usled defekta unutar kola moe se javiti bidirekciona greka na
primarnim izlazima Q p i Q q ako na putu od mesta defekta do izlaza Q p ne postoji invertor, a
na putu do izlaza Q q postoji jedan invertor. Zato se vienivovska kola moraju projektovati uz
neka ogranienja, na taj nain da defekt rezultuje jednosmerne greke na izlazima [DeK94].
Slika 3.5. Defekt u vienivovskom kolu moe da uzrokuje bidirekcionu greku na izlazima
Jasno je da za detektovanje svih jednosmernih greaka u kodnoj rei treba izabrati Berger-
ov kd, ali ako treba detektovati samo odreen broj, t, jednosmernih greaka onda ovo nije
najoptimalnije reenje.
Bose-Lin-ov kd
Bose i Lin su predloili sistematski kd za detekciju t jednosmernih greaka (t-
unidirectional error detecting codes, t-UED). Oni su definisali optimalan kd za detekciju
jednosmernih greaka viestrukosti 2, 3, i 6 uz korienje 2, 3, i 4 bita za proveru,
respektivno. Ako je k0 - broj 0-a u informacionim bitovima, a c - broj bitova za proveru, onda
se bitovi za proveru (check symbol - CS) generiu se na sledei nain [Jha191]:
i) CS = k 0 mod 4 , sa c = 2 detektuju se 2 jednosmerne greke
ii) CS = k0 mod 8 , sa c = 3 detektuju se 3 jednosmerne greke
iii) CS = (k 0 mod 8) + 4 , sa c = 4 detektuje se 6 jednosmernih greaka.
Primera radi, bitovi za proveru koji su potrebni da bi se detektovale 2-, 3- i 6-bitne
jednosmerne greke u informacionom vektoru
1011010111000111
su 10(=2), 110(=6), i 1010(=10), respektivno.
Bose i Lin su, takoe, pokazali da viestrukost greaka koje se mogu detektovati
korienjem kodova za detekciju jednosmernih greaka zavisi od naina formiranja bitova za
proveru. Oni su predloili dve metode za konstrukciju koda. Prvi metod se koristi u sluaju da
je za kodiranje potrebno maksimalno etiri bita, a drugi metod vai za sluaj da je za
kodiranje potrebno etiri ili vie bitova.
37
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Detaljno emo opisati prvi metod koji se sastoji od sledea dva koraka:
1. Broj bitova za proveru, c, koji su potrebni da bi se detektovale 2- i 3-jednosmerne
greke iznosi k 0 mod 2 2 i k 0 mod 2 3 , respektivno, gde je k 0 broj 0-a u informacionim
bitovima.
2. Ako je za proveru potrebno etiri ili vie bitova oni se dele u dva bloka pri emu
prvom bloku pripadaju dva bita najvee teine, a drugom bloku ostalih (c 2) bitova. Prvo se
odreuje k 0 mod 2 c-1 = (q c- 2 , ..., q1 , q 0 ) , a onda bitovi za proveru p c-1 , ..., p1 , p 0 gde je
pc-1 = qc- 2 , pc- 2 = qc- 2 , i p j = q j za bilo koje j.
Maksimalan broj jednosmernih greaka koje se mogu detektovati ovim nainom kodiranja
je 2 c- 2 + c-2 .
Na primer, za sledeu grupu informacionih bitova
1011111110000011
najpre odreujemo k 0 mod 2 c-1 = 6 mod 2 4 -1 = 110 = q 2 q1 q 0 , a zatim dobijamo bitove za
proveru p3 p 2 p1 p 0 = 1010 [Lala01].
X c = X mod (2 b 1) = X i mod(2 b 1)
n 1
i =0
Kodovi ostatka sa osnovom provere 2 b 1 nazivaju se kodovi ostatka sa niskom cenom
(low-cost residue codes). Korienjem ovog koda mogu se detektovati greke na jednom bitu.
38
3. Konkurentna detekcija greke
3.3.4. AN kodovi
AN kd je primer neizdvojivog koda. Za ceo broj N kodna re se formira kao proizvod
broja N i celobrojne osnove provere A. Korienjem ovog koda zbir dva broja N1 i N2 moe se
predstaviti u obliku AN 1 + AN 2 = A(N 1 + N 2 ) koji je jednak kodovanom obliku njihovog
zbira [Tohm86].
39
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Na osnovu prethodno reenog, jasno je da pojava nekodne izlazne rei nepobitno ukazuje
na pristutvo defekta u funkcionalnom modulu, ali da obrnuto tvrenje u optem sluaju ne
mora biti tano. Naime, prisutvo kodne rei na izlazu nije 100%-na garancija da kolo
funkcionie ispravno. Moe se desiti da je manifestacija defekta takva da se na izlazu generie
pogrena, ali ipak kodna re. U tom sluaju, greka prolazi nedetektovana. Na primer, ako je
funkcionalni modul kola sa samoproverom koje koristi kd parnosti otkazao na takav nain da
su svi njegovi izlazi fiksirani na 0, kolo za proveru nee detektovati greku. S tim u vezi, o
samoproveri se uvek govori u kontekstu pretpostavljenog skupa defekata. Na primer, najee
korieni model defekta je stuck-at model koji podrazumeva da u kolu ne postoje defekti ili
postoji samo jedan defekt stuck-at tipa, to znai da su neki od ulaza ili izlaza komponente u
kolu stalno postavljeni (povezani) na logiku 1 ili 0. Osnovni razlog za ovu standardnu
pretpostavku da sistem moe imati najvie jedan defekt, je taj to je sistem testiran pre nego
to je poeo da radi i da tada nije bilo defekata. Takoe, verovatnije je da e se u jednom
trenutku javiti jedan defekt, a ne svi odjednom. Da bi vaila prethodna pretpostavka
neophodno je pretpostaviti i to da je vreme izmeu pojave i detekcije defekta dovoljno malo
tako da se taj defekt moe detektovati pre nego to se drugi pojavi. Ovo vreme izmeu pojave
i detekcije defekta je period latencije greke [Sand90].
U kolima sa samoproverom izlazi su kodirani odreenim kodom za detekciju greke, a
pojava defekta unutar kola utie na promenu izlaza kola. Meutim, jedan defekt moe da utie
na jedan, ali i na vie izlaza, pa konstrukcija koda postaje tea. U cilju reavanja ovog
problema uvodi se jo jedno ogranienje po kome jedan defekt moe uticati na vie izlaza, ali
su promene svih izlaza u istom smeru, odnosno dozvoljene su samo jednosmerne greke (0
prelazi u 1, ili 1 prelazi u 0). Takve greke mogu da detektiju kodovi za detekciju
jednosmernih greaka, kao na primer Berger-ov i m-od-n kd [Sand90].
Osim u funkcionalnom modulu, defekt se moe javiti i u kolu za proveru. Kao posledica
takvog defekta, izlaz kola za proveru moe ostati neaktivan. Iz tog razloga, posebna panja se
posveuje projektovanju kola za proveru, koja moraju biti u stanju ne samo da detektuju
nekodne rei funkcioalnog modula, ve i prisustvo defekta u sopstvenoj strukturi.
Na osnovu prethodnog, zakljuak je da projektovano kolo moe imati mogunost
samoprovere samo za pretpostavljeni skup defekata. Takav skup ukljuuje defekte na jednom
bitu (single stuck-at faults) i jednosmerne viestruke defekte (unidirectional multiple faults).
Kod defekata na jednom bitu pretpostavlja se da je fiziki defekt u kolu doveo do postavljanja
(stuck-at) jedne od linija signala na logiku 0 ili na logiku 1. Ako je u isto vreme vie od
jedne linije u kolu postavljeno na 1 ili na 0, onda kolo ima viestruku greku. Moemo rei da
je jednosmerna greka varijanta viestruke greke kod koje su svi elementi, odnosno sve linije
postavljene na 1 ili na 0, ali ne istovremeno na obadve vrednosti. Ako je neka ulazna
promenljiva prisutna u izrazima za dobijanje izlaza kola u svom normalnom ili
komplementarnom obliku, ali ne u oba, onda e bilo koji defekt na putu od ulaza koji
odgovara toj ulaznoj promenljivoj do primanih izlaza uzrokovati ili greku na jednom bitu ili
jednosmerne viestruke greke na izlazima. Prema tome, ne postoji defekt koji e generisati
bidirekcione greke [Lala01].
Kola sa samoproverom moraju da imaju sledee osobine:
- samotestiranje (Self-Testing - ST)
- sigurnost na defekat (Fault-Secure - FS).
Kolo ima mogunost samotestiranja ako, za svaki defekt iz pretpostavljenog skupa,
generie nekodnu re na izlazu za najmanje jednu kodnu re na ulazu. Da bi ovo ilustrovali
neka F bude pretpostavljen skup defekata, a I i Y1 skup ulaznih i izlaznih kodnih rei. Kao to
40
3. Konkurentna detekcija greke
je prikazano na slici 3.6, ako je Z izlazni prostor a Y2 skup nekodnih rei, onda je Z = Y1 Y2 .
Ako je za ulaz i I korektan izlaz kola y1 Y1 , onda je, u prisustvu defekta f F , za isti
ulaz i nekorektan izlaz kola y1' Y2 [Lala01].
41
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
42
3. Konkurentna detekcija greke
strogim uslovima, sigurno u prisustvu defekata. Kolo koje je sigurno u prisustvu defekata, ali
nije pod strogim uslovima, na izlazu e pre generisati nekorektnu kodnu re nego nekodnu
re.
Definicije mrea koje su pod strogim uslovima sigurne na prisustvo defekata i mrea koje
imaju osobinu potpune samoprovere, sastoje se od funkcionalnog opisa kola i njegovog
ponaanja u prisustvu defekata. Meutim, u cilju konstrukcije takvih mrea neophodno je
razmotriti karakteristike koje se odnose na strukturu povezivanja gejtova i na kodiranje izlaza.
U tom smislu definie se osobina sigurnosti u prisustvu defekata na putu (path fault secure
PFS). Kolo je sigurno u prisustvu defekata na putu (PFS) ako za svaki defekt u specificiranoj
klasi defekata, propagacija greke kroz bilo koji skup strukturnih puteva od strane defekta ka
izlazima nee nikad generisati nekorektnu kodnu re na izlazu [Toub97]. Ova osobina
implicira osobinu stroge sigurnosti u prisustvu defekata i ima prednost nad njom jer se lako
verifikuje.
Na slici 3.9 [Smit78] prikazana je veza koja postoji izmeu mrea koje su sigurne na
defekte, pod strogim uslovima sigurne na defekte, sigurne na defekte na putu i mrea sa
potpunom samoproverom.
Slika 3.9. Veza izmeu mrea koje su FS, SFS, PFS i TSC
43
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Mnoga digitalna kola sadre detektore greaka, odnosno kola za proveru, koja detektuju i
signalizuju pojavu greaka. Osnovni razlozi uvoenja ovakvih kola su lociranje mesta na
kome postoji defekt i spreavanje prostiranja greaka kroz sistem. Jedan od naina da se, pri
prenosu podataka, ovi zahtevi ostvare, jeste da se primljeni podatak proveri i da se, u sluaju
detektovanja greke, zahteva ponovni prenos ili korekcija primljenih podataka. Drugi nain se
koristi kod aritmetikih izraunavanja pri emu se, u sluaju detektovanja pogrenog
rezultata, izraunavanje ponavlja [McCl90].
44
3. Konkurentna detekcija greke
Komplementiranjem svih bitova jedne rei dobija se kolo za proveru jednakosti koje
ima mogunost samotestiranja [McCl90].
45
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
nain, moe se pretpostaviti da i u kolu za proveru postoji jedan defekt, a da pri tome u
funkcionalnoj jedinici nema defekta. Zato se i izlazi kola za proveru kodiraju pomou koda za
detekciju jednosmernih greaka. Jedan bit na izlazu kola za proveru nije dovoljan za detekciju
defekta zato to se na tom izlaznom bitu moe javiti defekt postavljanja na odreenu vrednost
0 ili 1, koji se ne moe detektovati ako se u toku normalnog rada dobija vrednost 1 na izlazu
kola [Hugh84]. Da bi kolo za proveru generisalo to manji broj izlaza koristi se kd 1-od-2
(two-rail), a skup kodnih rei je {01, 10}. Jednosmerna greka transformie ovaj kd u skup
nekodnih rei {00, 11} i takvi izlazi signaliziraju pojavu greke, odnosno detekciju defekta
(slika 3.13).
Kolo za proveru sa kodom 1-od-2 ima dve grupe ulaza, (x1 , x2 ,..., xn ) i ( y1 , y 2 ,..., y n ) , i dva
izlaza, f i g. Trebalo bi da ovi izlazni signali budu komplementarni uvek kada su svi parovi
ulaznih signala xj i yj, za sve vrednosti j ( 1 j n ), takoe komplementarni. Ovakvo kolo za
proveru, ustvari, proverava da li svaki par ulaza ima komplementarnu vrednost tako to
konvertuje n parova signala u jedan par signala koji su komplementarni jedan drugom ako i
samo ako svaki od n ulaznih parova ima komplementarne vrednosti [McCl90]. Za detekciju
defekta u samom kolu za proveru neophodno je odrediti ulaze koji se nazivaju test ulazi
[Sand90].
Na slici 3.14 prikazano je kolo za proveru koje koristi 1-od-2 kd i koje konvertuje dva
para ulaznih signala u jedan par izlaznih signala. U sluaju da nema greke, na ulazu ovog
kola su vrednosti x0 x1 = 11 , y0 y1 = 00 (jer vai uslov yi = xi, ), a izlazi kola su f = 0 , g = 1 .
Ako se zbog pojave defekta promeni vrednost ulaznih bitova i dovede se y0 y1 = 10 , onda
nekodna re na izlazu, f = g = 1 , predstavlja indikaciju greke. injenica je da ovakvo kolo
ima osobinu potpune samoprovere za sve jednostruke i jednosmerne viestruke defekte.
A' B + A B'
B'
Slika 3.14. Kolo za proveru sa dva izlaza za dva para ulaznih signala
Kolo za proveru moe se testirati pomou 2 n ulaznih kombinacija, gde je n broj parova
ulaznih signala [Ande73]. Prema tome, kolo sa slike 3.9 ima mogunost samotestiranja ako se
u toku normalnog rada na njegovom ulazu pojavljuju sve etiri validne kodne rei, {0101,
1010, 0110, 1001}.
46
3. Konkurentna detekcija greke
Slika 3.15. Kolo za proveru sa etiri para ulaza i jednim parom izlaza
Slika 3.16. Kolo za proveru sa dva izlaza i est parova ulaznih signala
Postoji vie naina za primenu kola za proveru na polju konkurentne detekcije greke, a to
su: 1) samotestirajui komparator za duplicirane sisteme; 2) redukciono kolo koje smanjuje
47
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
broj izlaza kola za proveru na dva bita za indikaciju greke; 3) sastavni deo samotestirajueg
kola za proveru sistematskog koda kao to je Bergerov kd [Mour89].
U kolu sa slike 3.18 moe se detektovati bilo koja greka nastala usled defekta
postavljanja jednog od bitova na odreenu vrednost 0 ili 1 u podmreama H i J, koje imaju
osobinu samotestiranja. Ove podmree imaju osobinu samotestiranja ako bilo koji defekt
postavljanja jednog od bitova na odreenu vrednost uzrokuje indikaciju greke na izlazu kola
za proveru za bar jednu validnu kodnu re na njegovom ulazu. Bez obzira to podmree H i J,
posmatrane zajedno, imaju osobinu samotestiranja, kolo za proveru koje se sastoji od tri
48
3. Konkurentna detekcija greke
podmree H, J i Z, nema ovu osobinu. Prema tome, kolo za proveru koje ima mogunost
potpunog samotestiranja mora da ima bar dva izlaza pri emu svaki predstavlja parnost jednog
od dva izdvojena ulazna podskupa [McCl90]. Razlog za ovo je ve pomenut. Naime, ako
postoji samo jedan izlaz i ako se na njemu javi defekt postavljanja na odreenu logiku
vrednost 0 ili 1, i ako se u toku normalnog rada kola upravo ta vrednost oekuje na izlazu,
onda se takav defekt ne moe detektovati u prisustvu kodne rei na ulazu [Stan102],
[Stan202].
Kolo koje kombinuje etiri para izlaznih signala samotestirajuih kola za proveru (Self-
Testing Checker - STC) u jedan par signala prikazano je na slici 3.19. Pogodno je za detekciju
greke u 32-bitnim kompjuterskim sistemima. Kolo za proveru sa dva izlaza (Two Rail
Checker - TRC) je kombinaciono kolo koje proverava da li sva etiri para ulaznih signala
imaju komplementarne vrednosti i, ako je uslov ispunjen, na izlazu se dobijaju takoe
komplementarne vrednosti signala [Tohm86].
Slika 3.19. Samotestirajue kolo za proveru za 32-bitni podatak i 4 bita parnosti, nazvan 4STC
49
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Prema tome, ako se kodna re sastoji od tri informaciona bita i dva bita za proveru, onda
se generator sastoji od jednog potpunog sabiraa kod koga je izlaz za sumu s = g1 a izlaz za
prenos c = g 2 [Lala01].
U VLSI IC kolima koja implementiraju funkcije na nivou sistema, kao to su ASIC i ASIP
kola, korektnost njihovog rada zavisi od korektnosti kontrolne logike. Poto kontroleri
kontinualno generiu signale za druge staze podataka i komponente, bilo koji defekt moe da
uzrokuje masovno prostiranje greaka. Kontroleri su sekvencijalna kola koja, za razliku od
kombinacionih, sadre memorijske elemente. Drugim reima, izlazi sekvencijalnog kola
zavise ne samo od trenutnih vrednosti ulaznih signala ve i od prethodnih vrednosti.
Ponaanje kontrolera opisuje se apstraktnim modelom, poznat kao konani automat (Finite
State Machine - FSM) [Lala01]. Konani automati se mogu opisati na nekoliko razliitih
naina [Ambl03]:
1) Opis FSM pomou liste ulaza ( ), stanja ( Q ) i izlaza ( ) koja se dopunjuje
funkcijama prelaza ( ) i izlaza ( ) naziva se specifikacija FSM. Funkcija prelaza, , obino
se opisuje pomou tabele u kojoj se novo stanje dobija kao funkcija ulaza i prethodnog stanja.
Pored toga koristi se i predstavljanje funkcije prelaza pomou krugova i strelica. Ovakav opis
nije jedinstven jer dve FSM mogu biti ekvivalentne.
Funkcija prelaza, , definie se kao preslikavanje Q Q . Drugim reima, funkcija
svakom paru stanja i ulaznog simbola pridruuje simbol stanja. Model FSM-a
podrazumeva da je vreme podeljeno na intervale fiksnog trajanja, a da se prelaz iz jednog u
drugo stanje deava na poetku svakog vremenskog intervala. Znai, za dato stanje i ulazne
vrednosti u tekuem vremenskom intervalu, funkcija definie u kom e stanju FSM biti u
toku sledeeg vremenskog intervala.
Funkcija izlaza, , odreuje izlazne vrednosti u tekuem stanju automata. Postoje dva
tipa FSM-a, Murov i Milijev. Kod Murovog tipa, funkcija je difinisana kao preslikavanje:
Q , to znai da je svakom stanju pridruen izlazni simbol, tj. izlaz zavisi samo od
tekueg stanja. Kod Milijevog tipa, funkcija je preslikavanje: Q . U ovom
sluaju, u svakom stanju, izlazni simbol je odreen parom stanje - ulazni simbol, tj. izlaz
zavisi od tekueg stanja i ulaza.
Shodno definiciji FSM-a, skupovi , Q i mogu imati proizvoljan broj simbola.
Meutim, kod praktinih problema, radi se samo sa binarnim promenljivima, binarnim
50
3. Konkurentna detekcija greke
51
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
1) Ekvivalentan SRF pod uticajem ovog defekta automat prelazi u sledee stanje ili u
stanje koje je ekvivalentno sledeem oekivanom stanju.
2) Nevalidan SRF ovaj defekt nije uzrok pogrenog prelaza iz validnog u neko drugo
validno stanje, ali moe da uzrokuje prelaz iz nevalidnog u validno stanje.
3) Izomorfan SRF ovaj defekt menja jedan ili vie kodova stanja, ali je kolo izomorfno
originalnom kolu.
52
3. Konkurentna detekcija greke
on-line detekciju greke. Prvi pristup je da se primenom iste tehnike proveravaju i izlazi
kontrolera i staza podataka. Drugi pristup je da se specijalne tehnike primene za posmatranje
prelaza stanja, odnosno toka kontrole. Drugi pristup moe da se ostvari ili kodiranjem stanja
nekim od kodova za detekciju greke ili praenjem toka kontrole specijalnim monitoring
automatima. Pratei automat nadgleda rad glavnog automata, tako da se defekt u svakom
automatu detektuje neposredno nakon pojavljivanja. Pratei i glavni automat rade u
sinhronizmu (pobuuju se istim taktnim signalom) i reaguju na iste ulaze. Ispravan rad
glavnog automata se verifikuje poreenjem njegovog tekueg stanja sa tekuim stanjem
prateeg automata. Trivijalno reenje je ono kod koga je pratei automat identina kopija
glavnog automata. Pojava defekta u bilo kojem od dva automata uslovie da se njihova stanja
razlikuju. Meutim, ako se razmatranje ogranii na neki restriktivni model defekta, tada je
mogue pojednostaviti pratei automat. Pratei automat (slika 3.23) obezbeuje uniforman
mehanizam za detekciju defekata kanjenja i stack-at tipa [Pare95]. Za modele defekta, kao
sto su defekti kanjenja, ova tehnika omoguava znaajno pojednostavljenje prateeg
automata. Meutim, za modele defekta kao to je stuck-at model, pojednostavljenje prateeg
automata obino je relativno malo. Ove tehnike dovode do poveanja povrine, degradacije
performansi i kanjenja u detekciji greke. Njihov uticaj na brzinu sistema ne moe da se
tolerie za visoko performansne aplikacije [Hell98].
53
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
U cilju postizanja pouzdanosti prvi i osnovni korak je detekcija greke. U ovom poglavlju
ve su razmotreni naini detekcije i dobijanja signala o postojanju greke. Sada se postavlja
pitanje: Kako se detektovana greka manifestuje na sistem? Pored mehanizma za detekciju
greke sistem mora da poseduje i mehanizam za oporavak (recovery) koji manipulie sa
signalom greke.
54
3. Konkurentna detekcija greke
Slika 3.25 ilustruje opti algoritam oporavljanja sistema. Greka se najpre detektuje
pomou nekog od metoda za konkurentnu detekciju greke. U prvom trenutku pojavljivanja
greka se tretira kao tranzijentna, a ako se i dalje javlja onda se tretira kao permanentna
greka. U sluaju pojave tranzijentnog defekta koji uzrokuje greku, sistem se oporavlja iz
pogrenog stanja i nastavlja sa normalnim radom. Kada se javi permanentni defekt najpre se
utvruje njegova lokacija a onda se bira pogodna konfiguracija u skladu sa dostupnom
povrinom i na kraju se sistem vraa u normalno stanje i nastavlja sa radom.
Na primeru protonog sistema razmotriemo jednu od moguih tehnika za automatski
oporavak od greke uzrokovane tranzijentnim defektom (slika 3.26). Na slici 3.26 prikazana
je struktura jednog tipinog petostepenog protonog mikroprocesora. Svaki stepen sadri
kombinacionu logiku, koja obavlja neku specificnu obradu (kao to je pribavljanje instrukcije
(IF), dekodiranje instrukcije (ID), izvrenje (EX), pristup memoriji (MEM) i upis rezultata u
registar (WB)), i registar u koji se upisuje rezultat obrade i prosleuje sledeem stepenu na
dalju obradu. Kombinaciona logika u svakom stepenu poseduje sposobnost samoprovere, koja
je ostvarena primenom neke od ranije razmatranih tehnika (dupliciranje, parnost, Berger-ov ili
Bose-Lin-ov kd). Pojava tranzijentnog defekta u bilo kom stepenu uslovie generisanje
globalnog signala greke, koji se koristi za upravljanje globalnim taktom. Sve dok je signal
greke postavljen na 0 (nema greke), sistem radi normalno na kraju svakog ciklusa, tj. u
trenutku aktivne ivice takta, rezultat obrade svakog stepena upisuje se u registar i tako
prosleuje na dalju obradu sledeem stepenu. Meutim, ako je u trenutku aktivne ivice takta,
signal greke postavljen na 1, upis u registre bie onemoguen, a svi stepeni ponovie obradu
nad istim podacima. Sistem nastavlja sa normalnim radom u sledeem ciklusu, pod uslom da
je u meuvremenu prestalo dejstvo tranzijentnog defekta.
55
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
svakom modulu unapred dodeljena adresa, onda je funkcija kodera, upravo generisanje
objedinjenog signala greke i adrese modula kod koga je detoktovana greka. Svi signali koje
generie koder dovode se do posebnog procesora koji e zatim preduzeti odgovarajuu
proceduru za automatski oporavak sistema. Jedna od moguih procedura podrazumeva
ponitavanje skoranjih rezultata izraunavanja i povratak sistema u poslednje poznato
korektno stanje. Drugi nain, koji se koristi u sluaju da se greka ponavlja, predstavlja
iskljuivanje iz sistema onog modula kod koga se javila greka. Primenom neke od ranije
pomenutih metoda za korekciju greke ovaj modul moe da se vrati u ispravno stanje i da
nastavi svoj rad.
Za proveru prnosa podataka preko magistrale neophodno je da se svi moduli poveu na
magistralu preko dodatnog kola koje ima ulogu predajnika ili prijemnika. U sluaju da predaje
podatak ka magistrali, ovo kolo treba da generie dodatne bitove i ima ulogu generatora
bitova za proveru. Ako prima kodiran podatak sa magistrale, onda ima ulogu kola za proveru i
tada generie dva dodatna signala za indikaciju greke. Ova dodatna kola prikazana su na slici
3.27, a oznaena su sa TRGC (TRansceiver Generator/Checker). Signali greke svakog
TRGC-a dovode se na ulaz kodera ija je funkcija generisanje jedinstvenog signala greke na
magistrali. Zato se ovaj signal dovodi do posebnog procesora koji vraa sistem u poslednje
poznato korektno stanje.
56
4. Projektovanje logikih mrea sa samoproverom
57
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
58
4. Projektovanje logikih mrea sa samoproverom
su ona implementirana korienjem istih tipova kola sa identinim fizikim izgledom. Ako se
isti defekt pojavi u oba kola, on e biti maskiran. Sa novom predloenom emom
funkcionalnost komplementa originalne funkcije implementirana je na VLSI ip sa razliitim
fizikim layout-om. Zato je malo verovatno da e se efekti identinih defekata desiti u oba
kola.
U radu [Bolc98] predloena je jo jedna varijanta dupliciranja. Karakteristika ovog
pristupa je implementacija dve kopije istog kola pri emu druga kopija generie izlazne
vrednosti koje su komplementarne vrednostima prve kopije, a pomou stabla kola za proveru
sa dva izlaza ove vrednosti se porede.
U radu [Moha02] opisan je novi metod za projektovanje logikih kola sa konkurentnom
detekcijom greke. Kljuna ideja je iskoristiti osetljivost vorova u logikom kolu na
asimetrine soft greke. Ovaj pristup se zasniva na parcijalnom dupliciranju i pokazuje da je
mogue znaajno smanjiti stopu otkaza soft greke i sa deliminim poveanjem povrine i
kanjenja u odnosu na poveanje kod potpunog dupliciranja.
U radu [JhaN93] predloen je metod za sintezu kola sa samoproverom koji se zasniva na
kodu za detekciju jednosmernih defekata (Berger-ov kd). Po ovom metodu funkcionalno
kolo je optimizovano korienjem MIS skripta sa algebarskim operacijama pri emu se
transformie u kolo bez invertora (inverter free), odnosno invertori su samo na primarnim
ulazima. Primarni izlazi su onda kodirani pomou koda za detekciju jednosmernih greaka.
Poto su invertori samo na ulazima, bilo koji defekt nastao postavljanjem neke od unutranjih
veza na odreenu vrednost, generie jednosmernu greku na primarnim izlazima, to znai da
e sigurno biti detektovana Berger-ovim kodom.
ema zasnovana na Berger-ovom kodu, koji moe da detektuje greke na jednom bitu i
viestruke jednosmerne greke, predloena je u radu [DeK94]. Cilj je da se ideja konkurentne
detekcije greke proiri na vienivovska kola.
U radu [DasD99] predstavljen je metod za sintezu vienivovskih kola sa konkurentnom
detekcijom greke na osnovu Bose-Lin-ovog koda. S obzirom da se jednostavniji Bose-Lin-ov
kd koristi umesto Berger-ovog koda, dobija se znaajno smanjenje hardvera bez smanjenja
mogunosti za detekciju greke.
U radu [DeK94] predloen je motod za konkurentnu detekciju greke zasnovan na
korienju koda parnosti za razliite grupe izlaznih bitova. Za konkurentnu detekciju greke u
logikim kolima takoe je predloeno korienje predvianja parnosti (parity prediction). Ove
eme, na osnovu ulaza, generiu bit parnosti izlaza tako da se mogu detektovati greke na
jednom bitu [Prad72]. Specifine eme su predloene da bi se generisala parnost aritmetikih
funkcija kao to su sabiranje, mnoenje itd. [Wake82].
Princip samoprovere je, pored kombinacionih, pogodan i za projektovanje sekvencijalnih
mrea koje se zasnivaju na strukturi konanih automata. Ovaj pristup omoguava detekciju
permanentnih i tranzijentnih defekata, kao i brzu identifikaciju pogrenog ponaanja. Primena
principa samoprovere na kombinaciona kola podrazumeva kodiranje izlaza, a kod
sekvencijalnih kola kodiranje se primenjuje na izlaze i na stanja.
Sekvencijalna kola sa konkurentnom detekcijom greke predloena su u [JhaN93]. Bitovi
stanja su kodirani m-od-n kodom, a izlazi Berger-ovim kodom, pa su za proveru stanja i izlaza
potrebna razliita kola za proveru.
U radu [DasD99] predloeno je kodiranje bitova stanja i izlaznih bitova Bose-Lin-ovim
kodom. U tom sluaju moe da se koristi jedno kolo za proveru pa se i poveanje povrine
smanjuje. Sinteza kola mora da se uradi tako da svi interni defekti mogu da uzrokuju samo
59
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
one greke koje se mogu detektovati Bose-Lin-ovim kodom. Da bi se ispunio ovaj uslov
moraju da budu zadovoljena dva ogranienja. Prvo ogranienje je da kolo mora da bude bez
invertora (inverter free) kako bi se javile samo jednosmerne greke (ovo ogranenje je isto
kao i za Berger-ov kd). Drugo ogranienje je da jedan primarni ulaz ne moe da bude
povezan sa vie od t primarnih izlaza, u sluaju da se Bose-Lin-ovim kodom moe detektovati
t jednosmernih greaka.
Vienivovska logika optimizacija koristi operatore koji ponovo generiu strukturu kola i
minimiziraju logiku. Prema tome, ako je sinteza ograniena algebarskim transformacijama
onda je uslov inverter free ispunjen. Operacije vienivovske logike optimizacije koje
restruktuiraju kolo moraju da budu ograniene tako da ne uvode fanout koji kreira put od
jednog vora do vie od t primarnih izlaza. Dve operacije restrukturiranja, koje uvode fanout,
su supstitucija i ekstrakcija [DasD99].
Koncepti konkurentne detekcije greke primenjeni su i na PLA kola, uz minimalno
poveanje cene hardvera [Khak82]. U radu [Fuch87] predloene su dve eme za PLA kola.
Kod prve eme ulazi i izlazi kola kodiraju se Bergerovim kodom, a kod druge eme generiu
se posebna tri izlaza kao bitovi za proveru.
60
4. Projektovanje logikih mrea sa samoproverom
61
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
62
4. Projektovanje logikih mrea sa samoproverom
ovako dobijenog modifikovanog VHDL opisa kola i korienjem CAD alata moe da se uradi
sinteza i implementacija kola sa samoproverom.
Metoda projektovanja zasnovana na VHDL-u, predstavljena u ovoj tezi, omoguava
implementaciju kombinacionih i sekvencijalnih kola sa samoproverom na registarskom (RT)
nivou apstrakcije. Ova metoda definie ablone (templejte) koji su u obliku VHDL kda.
Komponente koje ine strukturu za konkurentnu detekciju greke, odnosno moduli koje bi
trebalo ukljuiti u VHDL opis prvobitno zadatog kola, unapred su opisani i sauvani u
specificiranoj biblioteci. Svi potrebni moduli opisani su u posebnom VHDL paketu kao
generike komponente pri emu je broj ulaza i broj izlaza predstavljen parametarski. Opis tih
modula zasniva se na prethodnim istraivanjima na polju tolerancije defekata. Projektant bi
trebao samo da koristi elemente postojee biblioteke, a ne da ih ponovo generie. Na ovaj
nain, korisnik ne treba da bude ekspert u razvoju tehnika za postizanje pouzdanosti, va treba
samo da ukljui postojee komponente u svoj VHDL opis. Primeri takvih komponenti su
koderi, dekoderi i kola za proveru.
Predstavljena metoda nudi razliite opcije projektovanja koje projektantima pruaju
mogunost lakog kreiranja VHDL opisa kola sa samoproverom. Takoe, projektanti mogu
veoma rano, jo u fazi projektovanja, da procene poveanje povrine i kanjenja za svaku od
postojeih opcija. Naime, predstavljenom metodom vri se modifikacija prethodno razvijenog
inicijalnog VHDL opisa pomou dodatnih modula za konkurentnu detekciju greke koji su
definisani tako da je dobijeni opis kola sa samoproverom nezavisan od alata za sintezu.
Struktura predloene metode za generisanje kola sa samoproverom prikazana je na slici
4.1. Po ovoj emi najpre se analizira poetni VHDL opis prvobitno zadatog kola. Korisniki
interfejs omoguava korisniku da izabere odreenu tehniku za modifikaciju prvobitno zadatog
kola u cilju generisanja kola sa samoproverom. Opisi komponenata, koji su neophodni za
svaku od dostupnih tehnika, nalaze se u biblioteci komponenata za konkurentnu detekciju
greke (CED library). Deklaracije komponenti su primeri konstrukcija koje se obino
smetaju u pakete (package). Uopteno govorei, VHDL paket omoguava da se pojedine
VHDL konstrukcije deiniu u jednom, a koriste u drugim izvornim fajlovima. Biblioteka
predstavlja lokaciju, ili direktorijum, u fajl-sistemu raunara, gde je smeten paket. Biblioteka
work predstavlja radni direktorijum gde je smeten VHDL kd koji definie paket. Na osnovu
postojeih opisa svih neophodnih komponenti, ovom metodom se, na kraju, generie izlaz u
obliku VHDL fajla, koji predstavlja modifikovanu verziju opisa prvobitno zadatog kola. Ovaj
fajl moe da se koristi kao ulaz svakog drugog standardnog alata za simulaciju i sintezu, koji
podrava VHDL opis.
63
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Generator simbola za proveru zavisi od tehnike koja se koristi, pa prema tome, moe da
bude kopija prvobitno zadatog kola, logika za predvianje parnosti, generator kodne rei za
dobijanje Berger-ovog i Bose-Lin-ovog kda i drugo. Struktura kola za proveru takoe zavisi
od primenjene tehnike za detekciju greke. Funkcionalno kolo moe da bude bilo koja
kombinaciona ili sekvencijalna mrea. Opti model kombinacione mree sa n ulaza i m izlaza
prikazan je na slici 4.3. Ova mrea moe da se opie u VHDL-u korienjem modela
ponaanja kao to je prikazano na slici 4.4, a nakon toga funkcionalnom simulacijom moe da
se verifikuje ponaanje kombinacione mree. To je, ujedno i prvi korak u predloenoj metodi
za generisanje mree sa samoproverom [Stan204].
Opta struktura kombinacione mree sa slike 4.3 moe da se modifikuje dodavanjem
strukture za konkurentnu detekciju greke na nain prikazan na slici 4.5. Struktura generatora
simbola za proveru izlaza zavisi od primenjenog koda za detekciju greke. Na osnovu m
izlaznih bitova i c bitova provere, kolo za proveru sa dva izlaza daje indikaciju o pojavi
greke.
64
4. Projektovanje logikih mrea sa samoproverom
library ieee;
use ieee.std_logic_1164.all;
entity komb_log is
port (
signal ulaz: in std_logic_vector (n-1 downto 0);
signal izlaz: out std_logic_vector(m-1 downto 0));
end komb_log;
architecture behavior of adder4 is
begin
process (ulaz)
begin
......
end process;
end behavior;
Slika 4.4. Funkcionalni opis kombinacione mree u VHDL-u
Oseneni blokovi na slici 4.6 oznaavaju module za konkurentnu detekciju greke koji se
kao komponente nezavisne od strukture mree unapred projektuju i smetaju u poseban
VHDL paket (package). Modul kombinaciona mrea predstavlja VHDL modul kojim se
opisuje arhitektura mree sa slike 4.4. VHDL proces kojim je opisana arhitektura ovog bloka,
65
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
bez ikakve modifikacije kopira se iz inicijalnog opisa mree u odgovarajui opis arhitekture
mree sa samoproverom. Modul generator simbola za proveru izlaza kombinacione mree
koristi se za generisanje bitova za proveru. Ovaj modul se sastoji iz dva dela i to kodera i
duplicirane kombinacione mree. Na ulaz kodera dovode se izlazi procesa koji opisuje
odgovarajuu kombinacionu mreu a na izlazu se dobijaju bitovi za proveru. I pored toga to
je, unutar generatora simbola za proveru, modul kombinacione mree jednostavno dupliciran,
u toku procesa sinteze vri se optimizacija ovog modula zajedno sa modulom kodera. Prema
tome, nakon sinteze kompleksnost generatora simbola za proveru bie znatno manja od
kompleksnosti nezavisno sintetizovanog modula kombinacione mree [Stoj104].
Nakon izbora eme za konkurentnu detekciju greke i insertovanja odgovarajuih modula
i inicijalnog opisa mree u kodni ablon, dobija se VHDL opis kombinacione mree sa
samoproverom. Kodni abloni pruaju mogunost projektantu da, na osnovu naina kodiranja,
izabere jednu od sledeih tehnika za konkurentnu detekciju greke: 1) dupliciranje, 2) kd
parnosti, 3) Berger-ov kd, 4) Bose-Lin-ov kd. Svi potrebni moduli navedenih tehnika
opisani su u posebnom paketu kao generike komponente sa parametrizovanim brojem ulaza i
izlaza. Na osnovu specificirane opcije od strane projektanta iz definisanog paketa bira se
odgovarajui tip modula za kolo kodera i kolo za proveru. Jedino u sluaju dupliciranja nisu
potrebni moduli za konkurentnu detekciju greke sem kola za proveru jednakosti.
66
4. Projektovanje logikih mrea sa samoproverom
Slika 4.9. Blok ema i VHDL opis TRC-a sa 2 para ulaza i jednim parom izlaza
67
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
entity CHECK_DUPL is
generic (m : integer);
Port (
In1 : in std_logic_vector(m-1 downto 0);
In2 : in std_logic_vector(m-1 downto 0);
K : out std_logic;
J : out std_logic);
end CHECK_DUPL;
architecture RTL of CHECK_DUPL is
begin
..............
end RTL;
Slika 4.10. Blok ema i VHDL opis entiteta modula za proveru koga ini struktura stabla TRC-a
68
4. Projektovanje logikih mrea sa samoproverom
Na osnovu Algoritma 1 dobija se generiki VHDL opis modula za proveru koji je, zbog
sloenosti, dat u Dodatku C.
Trebalo bi rei i to da ema dupliciranja nije nita novo, ali je uvedena kao osnovna
referenca za poreenje poveanja povrine i kanjenja drugih ema.
Za projektovanje vienivovskih kombinacionih mrea sa konkurentnom detekcijom greke
mogu da se koriste i druge tehnike koje imaju manje poveanje povrine od dupliciranja kola,
ali i mogunost detekcije samo odreenih tipova internih defekata.
69
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Struktura modula Berger-ovog kodera sa proizvoljnim brojem ulaza postaje sve sloenija
sa poveanjem broja ulaza. Zato emo sada razmotriti algoritam za projektovanje kodera na
osnovu koga se dobija i generiki VHDL opis Berger-ovog kodera. Parametar ovog modula je
broj informacionih bitova.
Algoritam za projektovanje Berger-ovog kodera (generatora) iji ulaz predstavlja skup od
m informacionih bitova, X = (x1 , x2 , ..., xm ) , a izlaz ini c = log 2 (m + 1) bitova za proveru,
sastoji se iz sledeih koraka [Lala01]:
Algoritam 2
1. Postaviti vrednosti n = c = log 2 (m + 1) i J = 1 .
2. Neka je z = 2 (n 1) 1 .
3. Podeliti skup informacionih bitova, X , na tri podskupa AJ , BJ i E J . Podskup AJ
sadri z bitova koji su na krajnjoj levoj strani informacionih bitova, BJ sadri sledeih z
bitova, i E J sadri bit koji je poslednji na desnoj strani informacionih bitova.
70
4. Projektovanje logikih mrea sa samoproverom
gde je g J ,n bit prenosa. Za generisaje g J koriste se ripple carry sabirai koji se povezuju
u (n 1) nivoa.
6. if n = 2 go to korak 8
else
postavi vrednosti n = n 1 , L = J .
7. for I = {AJ }, J = J + 1
generisati vektor a L = g J ponavljajui korake 2-6, i na isti nain
for I = {BJ }, J = J + 1
generisati skup b L = g J .
8. End
Na osnovu Algoritma 2 generie se struktura oblika stabla. Svaki vor u stablu predstavlja
ripple carry sabira. vor na i-tom nivou stabla, 1 i n 1 , predstavlja ripple carry sabira
koji se sastoji od n 1 stepena (modula potpunih sabiraa). Ukupan broj potrebnih potpunih
n 1
sabiraa je 2 a 1 (n a ) .
a =1
Treba imati u vidu da se datim algoritmom generie binarna prezentacija broja jedinica u
izlaznim bitovima, pa je u sluaju primene Berger-ove B1 eme kodiranja potrebno
invertovati dobijene bitove. U naem sluaju koriena je B0 ema kodiranja (komplement
binarne prezentacije broja 0-a) pa invertovanje bitova nije potrebno.
Primera radi, moemo prikazati nain projektovanja Berger-ovog kodera koji na osnovu
m = 7 izlaznih bitova kombinacione mree generie c = 3 bita za proveru. U tom cilju,
potrebno je najpre generisati g 1 korienjem ripple carry sabiraa sa 2(= 3 1) stepena, kao
to je prikazano na slici 4.13. Sledei korak je generisanje skupova a1 i b1 na osnovu
potpunih sabiraa koji su prikazani na slici 4.14.
71
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Primenom istog algoritma dobija se struktura i generiki VHDL opis Berger-ovog kodera
sa parametrizovanim brojem ulaza. Struktura i opis entiteta ovog modula prikazani su na slici
4.16. Generisani VHDL opis modula smeta se u poseban paket ili CED biblioteku.
entity BERGER is
generic (m,c : integer);
Port (
Input : in std_logic_vector(m-1 downto 0);
Output : in std_logic_vector(c-1 downto 0));
end BERGER;
architecture RTL of BERGER is
begin
..............
end RTL;
72
4. Projektovanje logikih mrea sa samoproverom
Algoritam 3
{
1. Neka je q = log 2 (m + 1) i neka je skup celih brojeva I = i i = 2 q j 1, 1 j q 2 . }
Podeliti skup informacionih bitova na n grupa A1 , A2 , ..., An , n q 1 , pri emu je A0 = 0 .
Broj bitova u grupi Ai , 1 i n 1 , je najvei ceo broj iz skupa I koji je manji ili jednak
i 1
vrednosti m A j . Poslednja grupa, An moe da ima 0, 1, ili 2 bita to odgovara vrednosti
j =0
n 1
m Aj .
j =1
73
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
74
4. Projektovanje logikih mrea sa samoproverom
Poto je uloga kodera da na osnovu m izlaznih bitova kombinacione mree generie bit
parnosti, onda se modul koder parnosti (generator bita za proveru) projektuje jednostavno
75
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
pomou EXOR kola. Osnovni element, EXOR kolo, kao i njegov VHDL opis predstavljeni su
na slici 4.21.
library IEEE; use IEEE.STD_LOGIC_1164.ALL;
entity EXOR is
Port (a : in std_logic;
b : in std_logic;
c : out std_logic);
end EXOR;
architecture EXOR_arch of EXOR is
begin
c <= a xor b;
end EXOR_arch;
Slika 4.21. Blok ema i VHDL opis EXOR kola sa dva ulaza i jednim izlazom
Modul kodera parnosti generie se paralelnim povezivanjem odreenog broja EXOR kola,
u vie nivoa, to zavisi od broja ulaza, m. Na izlazu modula generie se jedan bit parne ili
neparne parnosti. Struktura i VHDL opis entiteta modula kodera parnosti prikazani na slici
4.22.
entity PARITY is
generic (m : integer);
Port (
In1 : in std_logic_vector(m-1 downto 0);
P : out std_logic);
end PARITY;
architecture PARITY_arch of PARITY is
begin
..............
end PARITY_arch;
Slika 4.22. Blok ema i VHDL opis entiteta modula za proveru parnosti
Kao to se vidi sa slike 4.22, struktura modula kodera (generatora) parnosti zasniva se na
paralelnom izraunavanju EXOR funkcija, zbog kraeg vremena prostiranja signala. Sa
poveanjem broja ulaza poveava se i sloenost strukture ovog modula, odnosno raste broj
76
4. Projektovanje logikih mrea sa samoproverom
nivoa i broj EXOR kola u nivou. Algoritam za generisanje vienivovske strukture modula za
proveru parnosti, za proizvoljan broj ulaza m , sastoji se od sledeih koraka:
Algoritam 4
1. odrediti broj nivoa, L
L = log 2 m
2. for i = 1 to L
2.1. odrediti broj ulaza, n, u i-ti nivo strukture na sledei nain:
if i = 1 then
n=m
n
else n =
2
2.2. generisati nivo od n ulaza i odrediti broj izlaza, p
n
p=
2
2.3. if i = 1 then
povezati ulaze svih EXOR kola i-tog nivoa sa primarnim ulazima
else
povezati ulaze svih EXOR kola i-tog nivoa i izlaze svih EXOR kola nivoa i-1
3. povezati izlaz EXOR kola L-tog nivoa sa primarnim izlazom.
Pored osnovne eme, za konkurentnu detekciju greke moe se koristiti i ema zasnovana
na izraunavanju koda parnosti, ali za odreenu grupu izlaznih bitova kola. Sekvenca izlaznih
77
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
bitova podeljena je u grupe, a skup bitova parnosti generisan je na takav nain da svaki signal
parnosti zavisi od najvie jednog izlaznog bita iz svake particije. Izlazi jedne particije mogu
meusobno da dele istu logiku, ali nije dozvoljena podela logike izmeu dva izlaza koji
pripadaju razliitim particijama. Na slici 4.23 prikazana je ema za konkurentnu detekciju
greke zasnovana na parnosti etiri grupe bitova.
Postoji vie naina za modeliranje iste sekvencijalne mree korienjem VHDL-a. Kod
korektno opisanih modela sekvencijalna logika tekueg stanja obino je odvojena od
kombinacione logike narednog stanja i izlazne logike. Najee se VHDL opis sekvencijalne
mree sastoji od tri nezavisna procesa, koji opisuju tri odvojena dela (logika izlaza, logika
narednog stanja i registar stanja) prikazana na slici 4.24. Pored toga, u cilju dobijanja
korektnog VHDL opisa neophodno je detaljnije razmotriti jo jedan problem, a to je kodiranje
stanja, odnosno dodela stanja.
Dodela stanja (state assignement) predstavlja nain dodele binarnih brojeva simbolikim
stanjima automata. Povrina i kanjenje izlazne i logike narednog stanja automata znaajno
zavise od naina na koji su odreenim stanjima pridruene binarne vrednosti. Na primer,
automat sa etiri stanja s0, s1, s2 i s3 moe se ralizovati sa dva flip-flopa, koji bi sadrali
78
4. Projektovanje logikih mrea sa samoproverom
vrednosti 00, 01, 10 ili 11. U ovom sluaju, postoji bar 4!=24 moguih naina kodiranja za
etiri stanja. U optem sluaju, broj razliitih naina kodiranja za n stanja moe biti vei od
n!. Iz tog razloga, eksplicitno ispitivanje i procena povrine i kanjenja za svako pojedinano
kodiranje moe biti naporan posao, ak i za mali broj stanja. U cilju prevazilaenja ovog
problema, projektanti koriste razliite strategije za kodiranje stanja. Neki od formata kodiranja
stanja su: sekvencijalni, Gray-ov, Johnson-ov, one-hot, format definisan po izboru
projektanta, i definisan od strane alata za sintezu.
Za sekvencijalni nain generisanja koda karakteristino je da se svakom stanju dodeljuju
binarne vrednosti prirodnih brojeva. Kod Gray-ovog i Johnson-ovog naina kodiranja
sukcesivnim stanjima se dodeljuju binarne vrednosti koje se razlikuju samo u jednom bitu.
Osnovni razlog ovakvog naina kodiranja je smanjenje mogunosti javljanja greke pri
prelazu stanja, koje su prouzrokovane promenom asinhronih ulaza u toku vremena
postavljanja flip-flopa. U sluaju Gray-ovog naina kodiranja mogu se iskoristiti svih 2n
binarnih brojeva, dok je kod Johnson-ovog naina kodiranja potrebno vie flip-flopova, pa
uvek postoje neiskorieni binarni brojevi, to utie na poveanje povrine kola.
One-hot nainom kodiranja svakom stanju se dodeljuje jedan flip-flop, tako da je za n
stanja potrebno n flip-flopova. Drugim reima, svako stanje se prepoznaje po 1 u flip-flopu
koji je pridruen tom stanju, dok pri tome svi ostali flip-flopovi imaju vrednost 0. To
praktino znai da e pri prelazu iz jednog u neko drugo stanje, flip-flop koji odgovara prvom
stanju biti resetovan, dok e flip-flop pridruen drugom stanju biti setovan. Ovako veliki broj
flip-flopova obino znatno utie na poveanje povrine kola.
Nain kodiranja stanja moe da se definie i po vlastitom izboru, u zavisnosti od zahteva
projekta. Alat za sintezu bira format kodiranja tako da minimizira logiku narednog stanja.
Problem optimizacije kola koji se odnosi na kodiranje stanja veoma je kompleksan. I
pored toga to povrina koja je implicirana logikom funkcije narednog stanja ne moe da bude
u direktnoj vezi sa brojem bitova u stanju, povrina koja se odnosi na memorijske elemente
moe znaajno da utie na poveanje povrine sintetizovanog sekvencijalnog kola. U optem
sluaju, najbolja strategija za kodiranje stanja jeste odrediti nekoliko alternativnih naina
kodiranja, za svako kodiranje proceniti povrinu i kanjenje, i onda izabrati najbolje.
79
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
U cilju postizanja samoprovere, osnovna struktura sekvencijalne mree (slika 4.20) moe
da se modifikuje na vie razliitih naina, pri emu se na odreenim mestima dodaje struktura
za konkurentnu detekciju greke. Arhitektura osnovne mree i arhitektura kola za
konkurentnu detekciju greke mogu da se opiu u VHDL-u i da budu poznati pre odreene
modifikacije. Prema tome, predloena metoda za generisanje sekvencijalnih mrea sa
samoproverom podrazumeva da se prvobitno zadatom VHDL opisu sekvencijalne mree
dodaju VHDL opisi struktura za konkurentnu detekciju greke. Predloena metoda podrava
vei broj tehnika za generisanje sekvencijalnih mrea sa samoproverom, a u daljem tekstu
bie detaljnije objanjene samo neke od njih.
80
4. Projektovanje logikih mrea sa samoproverom
kodiranje m izlaznih bitova i k bitova stanja mogu da se koriste iste ili razliite eme. U
prvom sluaju potrebno je jedno, a u drugom sluaju potrebna su dva razliita kola za
proveru. Njihovi izlazi se onda dovode na jo jedno kolo za proveru sa dva izlaza koje daje
indikaciju o pojavi greke.
81
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
toku procesa sinteze vri se optimizacija modula logike izlaza (narednog stanja) zajedno sa
modulom kodera, pa e zato, nakon sinteze, kompleksnost generatora simbola za proveru biti
znatno manja od kompleksnosti nezavisno sintetizovanog modula logike izlaza (narednog
stanja).
82
4. Projektovanje logikih mrea sa samoproverom
83
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
84
5. Implementacija mrea sa samoproverom
Put od ideje i poetne specifikacije do fizike realizacije kola je dug i sastoji se od vie
koraka ili faza. Na tom putu, projektantu su na raspolaganju razliite tehnike i alati, koji mu
pomau da opie svoju zamisao (VHDL, ematski dijagram, tabela istinitosti), proveri njenu
funkcionalnu ispravnost (funkcionalna simulacija) i transformie je u oblik pogodan za
direktnu fiziku realizaciju (sinteza).
Projektanti sve vie prihvataju top-down metodologiju projektovanja koja im prua
mogunost da preu sa nieg, tranzistorskog nivoa na vie, apstraktnije nivoe. Primenu ove
nove metode omoguili su jezici za opis hardvera i komercijalni alati za sintezu. Top-down
metodologija projektovanja polazi od HDL modela hardvera, na visokom nivou apstrakcije
(sistemski ili algoritamski), i preko arhitekturnog ili RTL modela dolazi do nivoa gejta ili
tranzistora. Ovakav nain projektovanja sistema podrazumeva i korienje automatskih alata
pomou kojih se vri sinteza i implementacija opisanog kola na CPLD ili FPGA tehnologiju
[Smit96].
Za projektovanje visoko pouzdanih sistema takoe se koristi prethodno pomenuta metoda.
Ovakvi sistemi zahtevaju dodatne resurse kao to su poveanje povrine i vei broj pinova, to
zavisi od primenjene tehnike za detekciju greke. Alati za sintezu i implementaciju
omoguavaju procenu poveanja resursa i, na osnovu toga, izbor tehnike sa najniom cenom.
85
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
86
5. Implementacija mrea sa samoproverom
strane krajnjeg korisnika. AND-OR polje kod koga je AND matrica programabilna, a
OR matrica fiksna se zove PAL (Programmable Array Logic). AND-OR polje sa
fiksnom AND matricom i programabilnom OR matricom se zove ROM (Read Only
Memory).
U poreenju sa ostalim tipovima PLD kola (CPLD i FPGA), SPLD kola se odlikuju
relativno niskim logikim kapacitetom (do nekoliko stotina ekvivalentnih gejtova).
Glavna namena SPLD kola je zamena standardnih digitalnih kola niskog i srednjeg
stepena integracije ime se postie uteda prostora na tampanoj ploi, pojeftinjuje
proizvodnja i poveava pouzdanost u radu. Brzina rada SPLD kola je velika.
Propagaciono kanjenje od pina do pina je fiksno (ne zavisi od implementirane
funkcije i iznosi do nekoliko nanosekundi.
2. CPLD (Complex PLD). Sastoji se od veeg broja programabilnih funkcionalnih
blokova povezanih preko centralizovane programabilne sprene mree (slika 5.2). Po
unutranjoj strukturi, funkcionalni blokovi su slini tipinom SPLD kolu.
3. FPGA (Field Programmable Gate Array). PLD kola visokog stepena integracije koje
se izvodi kao polje velikog broja programabilnih logikih blokova (elija) jednostavne
strukture rasporeenih na infrastrukturi koja ih meusobno povezuje (slika 5.3).
87
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
(a)
(b) (c)
Slika 5.2. (a) CPLD arhitektura; (b) funkcionalni blok; (c) makroelija
S obzirom da prekidaka matrica kod CPLD kola ne mora da bude u potpunosti povezana,
tj. neke od teoretski moguih veza izmau izlaza i ulaza logikog bloka ne moraju stvarno da
postoje, teko se moe postii 100% iskorienost makroelija. Da bi se ublaili ovi nedostaci,
kod savremenih CPLD kola koristi se jedna ili neka kombinacija sledeih tehnika za
optimizaciju:
1) Preusmeravanje logikih proizvoda - podrazumeva da se svakoj makroeliji pridruuje
dodatna logika koja omoguava da se logika funkcija dobijena sumiranjem privatnih logikih
proizvoda preusmeri ka susednoj makroeliji gde se sumira sa privatnim logikim
proizvodima te makroelije. Na ovakav nain, objedinjavanjem logikih proizvoda susednih
makroelija, mogue je formirati sloenije logike funkcije. Meutim, ostali resursi
makroelije (tipino flip-flop) iji su logiki proizvodi preusmereni, ostaju neiskorieni.
2) Logiki ekspanderi - to su nerasporeeni logiki proizvodi programabilne AND matrice
koji se po potrebi mogu povezati sa bilo kojom, ili svim, makroelijama. Ekspanderski
proizvodi se invertuju i vraaju u programabilnu matricu, gde se mogu koristiti za formiranje
88
5. Implementacija mrea sa samoproverom
89
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
FPGA se moe programirati na tri razliita nivoa: (1) na nivou funkcije logikih elija; (2)
na nivou sprege izmeu elija; i (3) na nivou ulaza i izlaza. Sva tri nivoa se konfiguriu preko
niza bitova koji se preko eksternog izvora pune u kolo.
U zavisnosti od naina konfiguracije, razlikujemo etiri tipa FPGA kola. Konfigurabilna
kola (prvi tip) se mogu konfigurisati od strane korisnika samo jedanput nakon ega dodatne
promene konfiguracije nisu izvodljive. (Iz ovog razloga ova kola se nazivaju One-Time
Programmable, ili OTP). Rekonfigurabilna kola se mogu konfigurisati nekoliko puta i dele se
na dve klase: statika i dinamika. Kod statikih kola (drugi tip) konfiguracioni niz se puni
jedanput, na poetku rada, i dok je kolo operativno ne menja se. Nakon reseta sistema u
FPGA je mogue napuniti novi niz. Kod dinamiki rekonfigurabilnih kola mogue je vriti
promene u konfiguraciji u bilo kom trenutku rada kola. Dinamiki rekonfigurabilna kola se
dalje mogu podeliti na potpuno rekonfigurabilna (trei tip), pri svakom novom punjenju
rekonfigurie se celo kolo, i parcijalno rekonfigurabilna (etvrti tip) kod kojih je mogua
rekonfiguracija samo jednog dela kola.
90
5. Implementacija mrea sa samoproverom
Veze izmeu logikih blokova obino se formiraju pomou vie ianih segmenata
spojenih programabilnim prekidaima. Za razliku od sprene mree kod CPLD kola, koja
omoguava proizvoljno povezivanje prikljuaka logikih blokova, sprene mree FPGA
arhitekture imaju ograniene resurse. Zbog toga, u nekim sluajevima nije mogue
konfigurisati kolo ak i ako je logiki kapacitet kola dovoljno veliki da ostvari sve zahtevane
logike funkcije. Vei broj ianih segmenata i programabilnih prekidaa poveava
fleksibilnost prilikom konfigurisanja FPGA kola, ali takve sprene mree zauzimaju veu
povrinu na ipu i poseduju vee propagaciono kanjenje [Rose93], [Trim93].
Arhitektura FPGA kola je fleksibilnija od CPLD kola zbog dodatnih flip-flopova. To je i
razlog njihovog korienja u protonim aplikacijama i u brzom procesiranju podataka. Pored
toga, FPGA kola imaju veu koncentraciju gejtova po datoj povrini (gua su) od CPLD
kola, pa je opravdano koristiti ih za vee projekte.
Prednost FPGA komponenti je funkcionalno prilagoenje, odnosno mogunost brzog i
lakog programiranja. Naime, komponenta moe da se testira i reprogramira. Funkcija koja je
verifikovana na FPGA kolu moe, zatim, da se generie kao ASIC komponenta [Smit96].
FPGA komponente su kompletno proizvedene, ali su ostale nezavisne od projekta. Svaki
proizvoa FPGA komponenti proizvodi ih sa svojom vlastitom arhitekturom. Arhitektura
obuhvata brojne programabilne logike blokove koji su povezani prekidakim matricama. Da
bi se konfigurisala komponenta za odreenu funkciju ove prekidake matrice se programiraju
tako da usmeravaju signale izmeu pojedinih logikih blokova [Smit96].
91
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
92
5. Implementacija mrea sa samoproverom
93
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
94
5. Implementacija mrea sa samoproverom
95
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Kao to se vidi sa slike 5.6, cilj predloene procedure je izabor one tehnike za
konkurentnu detekciju greke koja bi omoguila da se generie kolo sa samoproverom koje
zadovoljava zadata ogranienja u smislu poveanja povrine i kanjenja. Drugim reima, cena
generisanog kola mora da zadovolji zadata ogranienja. Ova cena, sa kojom bi se vrilo
poreenje, moe da se odredi tako to se na vei skup digitalnih kola primeni svaka od
predloenih tehnika i onda se na osnovu dobijenih cena odredi njena srednja vrednost.
Tek nakon izbora metode koja zadovoljava datu cenu moe da se vri implementacija kola
sa samoproverom na CPLD ili FPGA strukturu.
96
5. Implementacija mrea sa samoproverom
Sinteza visokog nivoa generie strukturni dizajn koji implementira dati opis kola
zadovoljavajui pri tome projektantska ogranienja koja se odnose na povrinu, performanse,
potronju energije, pakovanje, testiranje i drugo. U procesu sinteze merila o kvalitetu su
neohodna iz dva razloga. Kao prvo, neophodne su tane mere na osnovu kojih se odreuje
kvalitet konanog sintetizovanog kola. Merilo o kvalitetu konanog dizajna omoguava
komparaciju sa aspekta postavljenih ogranienja, a zatim i identifikaciju kritinih taaka u
metodologiji projektovanja, CAD sredstvima ili strukturi upravaljanja. Sa druge strane, dobre
procene kvaliteta dizajna su neophodne da bi se izabrala odgovarajua sredstva za sintezu kao
i odgovarajui stil projektovanja, kako ciljne arhitekture tako i drugih arhitekturnih osobina.
Obino postoje tri glavne mere koje se koriste za donoenje odluka o kavlitetu dizajna:
povrina, performanse, i potronja. Povrina se odnosi na fiziki obim dizajna. Performansne
mere se odnose na vreme propagacije signala kroz dizajn kao i ukupno vreme izvrenja. Mere
u potronji se odnose na disipaciju snage dizajna i ukazuju na vrue take implementacije.
Pored navedenih, postoje i druge mere koje se koriste za procenu kvaliteta dizajna, a one se
odnose na sposobnosti za verifikaciju, testiranje, pouzdanost, i izvodljivost fabrikacije. S
obzirom da projektantske odluke zavise od ovih mera, njihova tanost i pouzdanost su kljune
za generisanje kvalitetnih reenja [Gajs92].
97
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
stvarne performanse sistema koje se odnose na sveukupan zadatak koji sistem treba da obavi.
Umesto toga, performanse sistema uobiajeno se mere ukupnim vremenom koje je potrebno
za izvrenje svih zahtevanih aktivnosti. S obzirom da algoritam rada sistema moe da sadri
petlje (loop) koje nemaju fiksne granice, kao i "if" iskaze kod kojih "then" i "else" grane
zahtevaju razliita vremena za izvrenje, ukupno vreme izvrenja zavisie od konkretnih
vrednosti ulaznih podataka. Zbog toga je vreme izvrenja jednako proizvodu broja
upravaljakih koraka koji je potreban da se izvri algoritam i trajanju upravljakog koraka
(obino izraeno u taktnim periodama). Pored minimizacije taktnog perioda, performanse se
mogu poboljati i minimiziranjem broja upravljakih koraka na kritinom putu izraunavanja,
kao i korienjem veeg broja resursa i paralelnog izvrenja uvek kada je to mogue [Gajs92].
Za dobijanje modela kanjenja kombinacionih i sekvencijalnih kola najee se koristi
elektrini model kanjenja. Za izraunavanje kanjenja obino se koristi RC model sa
raspodeljenim parametrima, nazvan Elmore-ov model kanjenja. Kod RC modela sa
raspodeljenim parametrima, propagaciono kanjenje na putu od poetne do krajnje take,
(tp(start,end)), izraunava se kao proizvod svih raspodeljenih otportnosti, Rj, i kapacitivnosti,
Ck, na putu, tj. kao
t p (start , end ) = R j C k
j k
(a)
(b)
Slika 5.7. Oiavanje: (a) RT model; (b) ekvivalentni RC model kanjenja
98
5. Implementacija mrea sa samoproverom
Model sa slike 5.8 definie kanjenje svakog internog hardverskog elementa u makroeliji,
sprenoj mrei i U/I baferima CPLD kola. U zavisnosti od naina na koji je CPLD kolo
programirano, ulazni signal prolazi kroz razliite hardverske elamente, a sabiranjem njihovih
kanjenja dobija se ukupno propagaciono kanjenje signala kroz CPLD kolo. Softverski alati
kreiraju izvetaj o tajmingu nakon mapiranja projekta na specificirano CPLD kolo. Detaljne
definicije svih vremenskih parametara, prikazanih na slici 5.8, kao i njihove tane vrednosti
mogu se nai u odgovarajuim katalozima [XiliDS], [AlteDS].
99
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
100
5. Implementacija mrea sa samoproverom
101
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
102
5. Implementacija mrea sa samoproverom
Slika 5.9. Primer tekstualnog izvetaja o broju zauzetih makroelija za CPLD tehnologiju Xilinx
ISE 4.2 alata za sintezu
a1)
a2)
Slika 5.10. Primer tekstualnog izvetaja o vremenu prostiranja signala za: a1) kombinaciono i
a2) sekvencijalno kolo za CPLD tehnologiju Xilinx ISE 4.2 alata za sintezu
103
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Slika 5.11. Primer grfikog izvetaja o osnovnom izgledu kola za CPLD tehnologiju Xilinx ISE
4.2 alata za sintezu
Slika 5.12. Primer tekstualnog izvetaja o broju zauzetih slices-ova za FPGA tehnologiju Xilinx
ISE 4.2 alata za sintezu
Slika 5.13. Primer tekstualnog izvetaja o vremenu prostiranja signala za: a1) kombinaciono i
a2) sekvencijalno kolo za FPGA tehnologiju Xilinx ISE 4.2 alata za sintezu
104
5. Implementacija mrea sa samoproverom
Slika 5.14. Primer grfikog izvetaja o osnovnom izgledu kola za FPGA tehnologiju Xilinx ISE
4.2 alata za sintezu
105
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
106
5. Implementacija mrea sa samoproverom
107
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Bose-Lin-ov kd. U proseku, poveanje povrine iznosi 209.6% for FPGA, i 186.9% za
CPLD kola. Odgovarajue smanjenje brzine iznosi 62.7% i 214.5% za FPGA i CPLD kola,
respektivno.
Na osnovu prethodno iznetih rezultata moemo rei da sve etiri eme za konkurentnu
detekciju greke dovode do znatnog poveanja povrine i smanjenja brzine rada. Iz Tabela I i
II takoe se moe videti da za svako od korienih kola, primena razliitih CED tehnika
dovodi do razlike u procentu poveanja cene. Pored toga, primenom iste tehnike na
specificirano kolo dobie se razliita poveanja cene ako se implementacija kola izvri na
razliite komponente (familije). Takoe, poveanje cene zavisi i od sloenosti prvobitno
zadatog kola na koje se primenjuje odreena CED tehnika. Naime, struktura i sloenost
kodera i kola za proveru zavisi od broja bitova na izlazu zadatog kola. Na primer, primena
CED tehnike na veoma kompleksno kolo sa malim brojem izlaznih bitova uzrokovae mnogo
maje poveanje povrine i kanjenja u odnosu na kolo manje sloenosti, ali sa veim brojem
izlaznih bitova. Na osnovu svih ovih zakljuaka jasno je da ne moemo sa sigurnou rei da
je, u svakom sluaju, jedna od ema superiorna u odnosu na sve ostale. Zato je najbolje
izraunati cenu primene odreene tehnike za svaki konkretan sluaj, odnosno za svako zadato
kolo. Automatizovanost predloene metode prua mogunost da se vrlo brzo i lako doe do
takvih rezultata. Poreenjem dobijenih rezultata, koji ukazuju na procenat poveanja povrine
i kanjenja, moe se odabrati SC kolo sa najniom cenom i nakon toga se moe pristupiti
realizaciji odabranog kola.
108
5. Implementacija mrea sa samoproverom
109
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
110
6. Zakljuak
6. Zakljuak
111
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
zakljueno je da, za najvei broj sluajeva, CED tehnika zasnovana na kodu parnosti
predstavlja najbolji izbor, to je u saglasnosti sa rezultatima predstavljenim u [McCl90],
[Toub94]. Meutim, ne moe se sa sigurnou izdvojiti tehnika koja e u svim sluajevima
dati najbolje reenje. Zato se optimalan izbor moe izvriti tek nakon implementacije i
evaluacije svih raspoloivih tehnika [Stoj104], [Stan204].
Osnovna prednost pristupa predloenog u ovoj tezi i u [Stojev042], tj. modifikacije
VHDL opisa kola na registarskom nivou, sastoji se u lakom i jednostavnom inkorporiranju u
standardni tok projektovanja zasnovan na PLD kolima. Ovaj pristup takoe omoguava da,
pomou alata za sintezu, kolo za detekciju greke bude optimizovano zajedno sa prvobitno
zadatom funkcionalnom mreom. Zato se jo u fazi projektovanja moe proceniti poveanje
povrine i kanjenja za svaku od korienih CAD tehnika. Nedostatak ovakvog pristupa, u
odnosu na modifikaciju kola na nivou gejta, ogleda se u tekoi da se precizno prati struktura
implementiranih mehanizama kao i potencijalno poveanje povrine i kanjenja, to je
posledica naina sinteze softverskih alata za projektovanje.
Eksperimentalna analiza sprovedena u ovoj tezi pokazala je da implementacija CED
tehnika, zasnovanih na kodiranju podatka nekim kodom za detekciju greke, unosi relativno
veliko poveanje povrine i kanjenja, ali znatno manje u odnosu na implementaciju TMR
tehnike [Stoj00], [Stoj101]. Na alost, u nekim aplikacijama kakvi su SoC embedded sistemi,
i pored zahteva za samoproverom, ovako visoka cena je ipak neprihvatljiva [Vahi02]. Iz tog
razloga, jedan od pravaca daljeg rada u oblasti projektovanja SoC i MPSoC embedded sistema
usmeren je ka projektovanju kola sa parcijalnom samoproverom. Za raziliku od
tradicionalnog pristupa, koji se sree kod satelitskih sistema, nuklearnih elektrana,
bezbednosno kritinih sistema po ljudski ivot i okolinu, gde potpuna samoprovera
predstavlja imperativ, parcijalna samoprovera, koja egzistira kod proizvoda iroke potronje,
instrumentacije, komunikacionih sistema, omoguava nalaenje kompromisa izmeu
poveanja cene i smanjenja mogunosti detekcije greke. Opta je tendencija da e u bliskoj
budunosti, do 2007. godine, svaka individua biti okruena u proseku sa pet, a da e u kui
biti instalirano oko 50 inteligentnih ureaja tipa embedded sistema. Svi ovi sistemi bie
zasnovani na visokim tehnologijama, a osnovni zahtevi koje bi trebalo da ispune su mala
potronja, visoke performanse, fleksibilnost i pouzdanost u radu. U cilju smanjenja cene i
potronje ovakvih ureaja, pouzdanost bi se implementirala na nivou parcijalne samoprovere,
pa je dalje istraivanje u ovoj oblasti od izuzetne vanosti.
112
7. Literatura
7. Literatura
113
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
[DeK91] K. De and P. Banerjee, "Can Test Length Be Reduced During Synthesis Process",
4th CSI/IEEE Int. Symp. on VLSI Design, Jan. 1991, pp. 57-62
[DeK94] K. De, C. Natarajan, D. Nair, P. Banerjee, "RSYN: A System for Automated
Synthesis of Reliable Multilevel Circuits", IEEE Trans. on VLSI Systems, Vol. 2,
No. 2, June 1994, pp. 184-195
[Djor04] G.Lj. Djordjevi, M.K. Stojev, T.R. Stankovi, "Approach to partially self-
checking combinational circuits design", Microelectronics Journal, Vol. 35,
Elsevier, December 2004, pp. 945-952
[Dupo02] Eric Dupont, Michael Nicolaidis, and Peter Rohr, "Embedded Robustness IPs for
Transient-Error-Free ICs", IEEE Design & Test of Computers, May-June 2002, pp.
56-70
[Entr101] Luis Entrena Arrontes, Celia Lpez Ongil, Emilio Olas Ruiz, "Automatic
Insertion of Fault-Tolerant Structures at the RT Level", IOLTW - International On-
Line Test Workshop, 2001, Taormina/Italia
[Entr201] Luis Entrena, Celia Lpez, Emilio Olas, "Automatic Generation of Fault Tolerant
VHDL Designs in RTL", Forum on Design Languages, FDL, Lyon, Francia,
Septembre 2001
[Fuch87] W.K. Fuchs, C.Y. Chien, and J.A. Abraham, "Concurrent error detection in highly
structured logic arrays", IEEE J. Solid-State Circ., August 1987, pp. 583-594
[Gajs92] Gajski, D.D., Dutt, N.D., Wu, A.C.-H., Lin, S.Y.-L., "High-Level Synthesis An
Introduction to Chip and System Design", New York, Kluwer-Academic, 1992
[Good85] A.J. Goode, "Design considerations for a single-chip fault tolerant VLSI
microprocessor", Software & Microsystems, Vol. 4, No. 3, June 1985, pp. 53-58
[Hals85] R.G. Halse and C. Preece, "Errenous execution and recovery in microprocessor
systems", Software & Microsystems, Vol. 4, No. 3, June 1985, pp. 63-70
[Haye88] John P. Hayes, "Computer Architecture and Organization", 2/e, McGraw-Hill
Book Company, New York, 1988
[HDL98] HDL Synthesis Guide, Release 4.2, Copyright 1991-1998 Exemplar Logic, Inc.
All Rights Reserved, Exemplar Logic, Inc. 6503 Dumbarton Circle, Fremont, CA
94555, [Online], Dostupno: http://www.xilinx.com/support/library.htm
[Hell98] Hellebrand Sybille, Wunderlich Hans-Joachim, and Hertwig Andre, "Synthesizing
Fast, Online-Testable Control Units", IEEE Design & Test of Computers, Vol. 15,
No. 4, October-December 1998, pp. 36-41
[Hugh84] Hughes L.A. Joseph, McCluskey J. Edward, and Lu J. David, "Design of Totally
Self-Checking Comparators with an Arbitrary Number of Inputs", IEEE
Transactions on Computers, Vol. C-33, No. 6, June 1984, pp. 546-550
[ITRS03] The 2003 International Technology Roadmap for Semiconductors, [Online],
Dostupno: http://public.itrs.net
[Jha191] Jha K. Niraj, "Totally Self-Checking Checker Design for Bose-Lin, Bose, and
Blaum Codes", IEEE Transactions on Computer-Aided Design, Vol. 10, No. 1,
January 1991, pp. 136-143
114
7. Literatura
[Jha291] Niraj K. Jha, and Sying-Jyan Wang, "Design and Synthesis of Self-Checking VLSI
Circuits and Systems", Int. Conf. on Computer Design, 1991, pp. 578-581
[JhaN93] Niraj K. Jha, and Sying-Jyan Wang, "Design and Synthesis of Self-Checking VLSI
Circuits", IEEE Transaction on Computer-aided design of integrated circuit and
system, Vol. 12, No. 6, June, 1993, pp. 878-887
[John89] Barry W. Johnson, "Design and Analysis of Fault-Tollerant Digital Systems",
Addison-Wesley Publishing Company, 1989
[John90] B.W. Johnson, "Design and Analysis of Fault Tolerant Systems", Reading, MA,
USA: AddisonWesley, 1990
[Khak82] J. Khakbaz and E. J. McCluskey, "Concurrent error detection and testing for large
PLAs", IEEE Journal of Solid-State Circuits, Vol. SC-17, No. 2, April 1982, pp.
386-394
[Lala01] Lala P.K., "Self-checking and fault-tolerant digital system design", Morgan
Kaufman Publishers, San Francisco, 2001
[Lapr92] J.C. Laprie (ed.), "Dependability: Basic Concepts and Terminology in English,
French, German, Italian, and Japanese" Volume 5 of Dependable Computing and
Fault-Tolerant Systems, Springer-Verlag, 1992
[Leve90] Leveugle R., Saucier G., "Optimized Synthesis of Concurrent Checked
Controllers", IEEE Transaction on Computers, Vol. 39, No. 4, April 1990, pp.
419-425
[Leve02] R. Leveugle, "Automatic Modifications of High Level VHDL Descriptions for
Fault Detection or Tolerance", Proceedings of the Conference on Design,
Automation and Test in Europe, March 04-08, 2002, p. 837-841
[Lpe01] Celia Lpez Ongil, Luis Entrena Arrontes, Emilio Olas Ruiz, "Automatic
Generation of Fault Tolerant VHDL Designs in RTL", Forum on Design
Languages, Septembre 2001, Lyon/France
[Mahm88] Aamer Mahmood, E. J. McCluskey, "Concurrent Error Detection Using Watchdog
Processors - A Survey", IEEE Transaction on Computer, Vol. 37, No. 2, February
1988, pp. 160-174
[Maro78] Marouf M.A., Friedman A.D., "Efficient Design of Self-Checking Checker for any
m-Out-of-n Code", IEEE Transaction on Computers, Vol. C-27, No. 6, June 1978,
pp. 482-490
[MAX+P] Softverski paket, [Online], Dostupan: https://www.altera.com/support/software/
download/altera_design/ mp2_student/dnl-student.jsp
[McCl90] McCluskey E.J., "Design Techniques for Testable Embedded Error Checkers",
IEEE Computer, July 1990, pp. 84-88
[Mezh04] Andrey V. Mezhiba, Eby G. Friedman, "Power Distribution Networks in High
Speed Integrated Circuits", Kluwer Academic Publishers, Boston, 2004
[Mitr04] Mitra Subhasish, Huang Wei-Je, Saxena R. Nirmal, Yu Shu-Yi, and McCluskey J.
Edward, "Reconfigurable Architecture for Autonnomous Self-Repair", IEEE
Design & Test of Computers, May-June 2004, pp. 228-240
115
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
[Moha77] Ashjaee Javad Mohammad, and Reddy M. Sudhakar, "On Totally Self-Checking
Checkers for Separable Codes", IEEE Transaction on Computer, Vol C-26, No. 8,
August 1977, pp. 737-744
[Moha02] K. Mohanram, C.V. Krishna, N.A. Touba, "A Methodology for Automated
Insertion of Concurrent Error Detection Hardware in Synthesizable Verilog RTL",
Proc. International Symposium on Circuits and Systems (ISCAS), Vol. 1,2002, pp.
577-580
[Moha103] K. Mohanram, and N.A. Touba, "Cost-Effective Approach for Reducing Soft
Error Failure Rate in Logic Circuits", Proc. International Test Conference (ITC),
2003, pp. 893-901
[Moha203] K. Mohanram, E. S. Sogomonyan, M. Gssel, and N. A. Touba, "Synthesis of
Low-Cost Parity-Based Partially Self-Checking Circuits", Proc. International On-
Line Testing Symposium (IOLTS), 2003, pp. 35-40
[Mour89] Mourad Samiha and McCluskey Edward, "Testability of Parity Checkers", IEEE
Transactions on Industrial Electronics, Vol. 36, No. 2, May 1989, pp. 254-262
[Osad04] Kenichi Osada, Ken Yamaguchi, Yoshikazu Saitoh, and Takayuki Kawahara,
"SRAM Immunity to Cosmic-Ray-Induced Multierrors Based on Analysis of an
Induced Parasitic Bipolar Effect", IEEE Journal of Solid-State Circuits, Vol. 39,
No. 5, May 2004, pp. 827-833
[Pare95] Parekhji R., et all, "Concurrent Error Detection Using Monitoring Machines",
IEEE Design & Test of Computers, Vol. 12, No. 4, Fall, 1995, pp. 24-31
[Pfla00] Matthias Pflanz, "On-line Error Detection and Fast Recover Techniques for
Dependable Embedded Processors", Dissertation, Technical University Cottbus,
June 2000
[Prad72] D.K. Pradhan, and S. M. Reddy, "Error-control techniques for logic processors",
IEEE Trans. Comput., Dec. 1972, pp. 1331-1336
[Prad80] Pradhan D.K., Stiffer J.J., "Error Correcting Codes and Self-Checking Circuits in
Fault Tolerant Computers", IEEE Computer, Vol. 13, No. 3, March 1980, pp. 27-
37
[Prad86] Dhiraj K. Pradhan, Ed., "Fault-Tolerant Computing: Theory and Techniques", Vol.
I and II, Prentice-Hall, New Jersey, 1986
[Rose93] Rose Jonathan, Gamal El Abbas, and Sangiovanni-Vincentelli, "Architecture of
Field-Programmable Gate Arrays", Proceedings of the IEEE, Vol. 81, No. 7, July
1993
[Sand90] Kundu Sandip, and Reddy M. Sudhakar, "Embedded Totally Self-Checking
Checkers: A Practical Design", IEEE Design & Test of Computers, August 1990,
pp. 5-12
[Sapo97] V.V. Saposhnikov, VI.V. Saposhnikov, A. Morosov, M. Gossel, "Design of self-
checking unidirectional combinational circuits", Proceedings 7th Fault Tolerant
Computing Symposium, June 1997
[Sedm80] R.M. Sedmak and H.L. Liebergot, "Fault Tolerance of a General Purpose
Computer Implemented by Very Large Scale Integration", IEEE Transaction
Computer, Vol. C-29, No. 6, June 1980, pp. 492-500
116
7. Literatura
117
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
118
7. Literatura
119
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
120
Dodatak A
Dodatak A
Pouzdanost
Pouzdanost (Reliability) - R(t) sistema je vremenska funkcija koja se definie kao uslovna
verovatnoa da e sistem raditi korektno u intervalu [ t 0 , t ], uz pretpostavku da je sistem radio
korektno u trenutku t 0 . Drugim reima, pouzdanost je verovatnoa da e sistem biti ispravan
u celokupnom posmatranom intervalu, pod pretpostavkom da je bio ispravan na poetku tog
intervala.
Nepouzdanost Q(t) sistema je vremenska funkcija, definisana kao uslovna verovatnoa da
e sistem raditi pogreno u intervalu [ t 0 , t ], uz pretpostavku da je sistem radio ispravno u
trenutku t 0 . Za nepouzdanost se esto koristi termin verovatnoa otkaza.
Pouzdanost najesce karakterie sisteme kod kojih su ak i trenutni periodi neispravnog
rada neprihvatljivi, ili koje je nemogue popraviti. Vremenski intervali pri razmatranju
pouzdanosti su ponekad veoma dugi, recimo deset godina, a u nekim drugim sluajevima
svega nekoliko sati. Uobiajeno je da se pri predstavljanju pouzdanosti koristi notacja 0.9 i
koja oznaava vrednost koja ima i devetki desno od decimalne take. Na primer, 0.9999999 se
pie kao 0.9 7 .
Bitno je razumeti razliku izmeu otpornosti na defekte i pouzdanosti. Otpornost na
defekte je tehnika koja moe poboljati pouzdanost sistema odravajui sistem operativnim
uprkos pojavi hardverskih defekata i softverskih greaka. (Na primer, raunar koji poseduje
rezervni procesor, moe biti projektovan tako da nastavi sa radom nakon otkaza glavnog
procesora). Meutim, sistem otporan na defekte ne mora uvek da ima visoku pouzdanost.
Naime, sistem moe biti projektovan da tolerie bilo koji pojedinani hardverski kvar ili
softversku greku, ali bez obzira na to, ako je verovatnoa pojavljivanja ovakvih problema
velika, pouzdanost sistema bie mala. Slino, visoko pouzdani sistem ne mora obavezno biti i
otporan na defekte. Na primer, visoka pouzdanost se moe postii ugradnjom kvalitetnih
komponenti u sistem. Meutim, bez obzira na veoma malu verovatnou pojave hardverskog
defekta, ako nakon pojave defekta sistem ne moe da nastavi sa radom, takav sistem ipak nije
otporan na defekte.
Dostupnost
Dostupnost (Availability) - A(t), ili raspoloivost, je vremenska funkcija, definisana kao
verovatnoa da sistem radi korektno i da je na raspolaganju da izvri svoje funkcije u
vremenskom trenutku t. Za razliku od pouzdanosti koja zavisi od vremenskog intervala,
dostupnost zavisi od jednog vremenskog trenutka. Mnogi sistemi se u toku svog ivotnog
veka vie puta kvare i popravljaju. Sistem moe biti visoko dostupan, a da u isto vreme nije
pouzdan, sve dok su intervali u kojim je sistem u kvaru kratki. Dostupnost sistema zavisi ne
samo od toga koliko esto sistem postaje neispravan ve i od toga koliko brzo moe biti
121
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
Bezbednost
Bezbednost (Safety) - S(t) je verovatnoa da e sistem ili obavljati svoje funkcije korektno
ili e, zbog nastalog kvara, prekinuti svoj rad na nain koji ne ometa rad drugih sistema ili
ugroava bezbednost ljudi koji su u kontaktu sa sistemom. Bezbednost predstavlja meru
sposobnosti sistema za tzv. bezbedni otkaz. Naime, ako sistem ne radi korektno, elimo da
makar otkae na bezbedan nain. Na primer, poeljno je da u sluaju otkaza ventil koji
kontrolie dotok neke hemikalije u reaktor ostane u zatvorenom poloaju. Bezbednost sistema
je verovatnoa da se to i desi.
Performabilnost
Performabilnost (Performability) - P(L,t) sistema je vremenska funkcija, definisana kao
verovatnoa da e performanse sistema biti na, ili iznad, nekog nivoa L u vremenskom
trenutku t. Performabilnost se razlikuje od pouzdanosti po tome to je pouzdanost mera
verovatnoe da se sve funkcije izvravaju korektno, dok je performabilnost verovatnoa da se
neki podskup funkcija izvrava korektno. Na primer, kod multiprocesorskih sistema, trenutni
broj operativnih procesora ukazuje na performabilnost.
Postepeno otkazivanje je vana osobina koja je usko povezana sa performabilnou.
Postepeno otkazivanje je sposobnost sistema da automatski snizi svoj nivo performansi da bi
kompenzovao hardverski kvar ili softversku greku.
Odrivost
Odrivost (Maintainability) - M(t) je mera lakoe sa kojom sistem moe biti popravljen,
kad je ve otkazao. Drugim reima, odrivost je verovatnoa da pokvareni sistem moe biti
doveden u operativno stanje unutar odreenog vremenskog perioda, t. Proces odrivosti
obuhvata lociranje problema, fiziku popravku sistema, i vraanje sistema u njegovo
operativno stanje. Odrivost je kritina kod svih sistema, ali je posebno vana kad su ljudski
ivoti, oprema ili sredina ugroeni dok se sistem popravlja.
Testabilnost
Testabilnost (Testability) je sposobnost ispitivanja odreenih karakteristika sistema. Test
je sredstvo kojim se utvruje postojanje i kvalitet odreenih karakteristika sistema.
Testabilnost je jasno povezana sa opravljivou jer je vano minimizirati vreme potrebno za
identifikaciju i lociranje specifinih problema.
122
Dodatak B
Dodatak B
123
Projektovanje kombinacionih i sekvencijalnih mrea sa samoproverom na osnovu VHDL opisa
124
Dodatak C
Dodatak C
125