postupci analize i sinteze sekvencijalnih logiČkih skopova
DESCRIPTION
ZAVRŠNI RADTRANSCRIPT
SVEUČILIŠTE U ZAGREBU
FAKULTET PROMETNIH ZNANOSTI
Marko Leljak
POSTUPCI ANALIZE I SINTEZE SEKVENCIJALNIH LOGIČKIH SKLOPOVA
ZAVRŠNI RAD
Zagreb, 2012
Sveučilište u Zagrebu
Fakultet prometnih znanosti
ZAVRŠNI RAD
POSTUPCI ANALIZE I SINTEZE SEKVENCIJALNIH LOGIČKIH SKLOPOVA
Mentor: prof. dr. sc. Šarić Slavko
Student: Marko Leljak 0135206352
Zagreb, 2012
Sadržaj
1. Uvod.................................................................................................................................................1
2. Logički sklopovi...............................................................................................................................2
2.1. Obrada digitalnih podataka............................................................................................................3
2.2. Logika sudova................................................................................................................................5
2.3. Osnovni logički sklopovi...............................................................................................................5
2.4. Tehnike realizacije logičkih sklopova...........................................................................................7
3. Sekvencijalni sklopovi......................................................................................................................8
3.1 Sinkroni sekvencijalni sklopovi................................................................................................8
3.2 Asinkroni sekvencijalni sklopovi............................................................................................9
3.3 Bistabili...................................................................................................................................10
3.4 Tipovi bistabila.......................................................................................................................11
3.4.1. SR – bistabil..........................................................................................................................11
3.4.2. JK – bistabil..........................................................................................................................11
3.4.3. T – bistabil............................................................................................................................12
3.4.4. D – bistabil............................................................................................................................13
3.4.5. Master slave bistabil.............................................................................................................14
4. Metode analize sekvencijalnih logičkih sklopova..........................................................................15
4.1. Metode analize sinkronih sekvencijalnih sklopova.....................................................................15
4.1.1. Sklop s T-bistabilima............................................................................................................16
4.1.2. Sklop s JK – bistabilima.......................................................................................................19
4.1.3. Sklop s D-bistabilima...........................................................................................................22
4.2. Metode analize sekvencijalnih asinkronih sklopova...................................................................25
5. Metode sinteze sekvencijalnih logičkih sklopova..........................................................................26
5.1. Unos modela konačnog automata................................................................................................27
5.2. Reduciranje broja stanja..............................................................................................................27
5.3. Kodiranje stanja...........................................................................................................................29
5.4. Izbor memorijskih elemenata......................................................................................................30
5.5. Optimizacija i tajming.................................................................................................................31
Zaključak................................................................................................................................................32
Kratice i strane riječi...............................................................................................................................33
Popis slika............................................................................................................................................34
Popis tablica.........................................................................................................................................35
Literatura..............................................................................................................................................36
1. Uvod
Prijenos različitih informacija (govorni signal, audio signal, video signal...) digitalnim
signalom danas je, više nego ikada, realnost. Iako je digitalni način prijenosa diskretnih
signala vremenski stariji od analognog, ipak se on tek od šezdesetih godina znatnije koristi za
prijenos prije spomenutih vrsti signala te tako digitalni signali postaju obilježje sadašnjice.
Logički sklopovi povezani u raznolike funkcionalne cjeline sastavni su dio računala i
njegovih dodatnih uređaja. Razvoj logičkih sklopova i projektiranje logičkih cjelina u uskoj je
vezi s razvojem tehnologije. U sekvencijalnoj logici signali moraju slijediti u određenom redu
da bi se na izlazu dobio željeni signal. To znači da sekvencijalni logički sklopovi moraju imati
i neki oblik memorije, radi "pamćenja" dijela signala koji su već stigli na ulaz. Ovaj
memorijski efekt postiže se korištenjem određene povratne veze. Sekvencijalni sklopovi
sastoje se od međusobno povezanih bistabila i obično još od kombinacijskih sklopova.
U završnome radu govoriti će se o metodama analize i sinteze sekvencijalnih logičkih sklopova.
U prvome dijelu govori se o logičkim sklopovima općenito, o obradi digitalnih podataka, logici
sudova, definirati će se osnovni logički sklopovi i tehnike realizacije osnovnih logičkih sklopova.
Drugi dio sažima logičke sklopove i izdvaja sekvencijalne logičke sklopove te ih dijeli na sinkrone i
asinkrone, te govori o bistabilima koji su zapravo sekvencijalni sklopovi digitalne elektronike koji
mogu zapamtiti podatak veličine jedan bit, te i o tipovima bistabila.
Treći dio govori o metodama analize sekvencijalnih logičkih sklopova, te razlučuje metode na analizu
sinkronih i analizu asinkronih sekvencijskih sklopova.
Četvrti dio govori o metodama sinteze sekvencijalnih logičkih sklopova.
Zaključak donosi rezime rada i saznanja proizašla iz istraživanja.
1
2. Logički sklopovi
Prikupljanje, obrada i komunikacija podataka predstavljaju bitnu svakodnevnu i neprekidnu
aktivnost ljudi kao pojedinca i ljudskog roda u cjelini te se smatra da je upravo sposobnost
obrade podataka i razmjene tako stvorenih informacija bila ključni korak u razvoju
čovječanstva. Obrada podataka je proces kojim se skup podataka pretvara u informaciju;
jedan ili više senzora prikupljaju podatke o nekoj dinamičkoj sceni i pojavama koje se ondje
događaju. Informacija je rezultat takve obrade podataka koja skupu prikupljenih činjenica
daje smisao i pri tome je bitno da je formirana tako da je njen sadržaj shvatljiv drugim
ljudima. Prijenos informacija obavlja se porukama.
Najpoznatiji sustav digitalne elektronike predstavlja digitalno elektroničko računalo -
kompjutor. Matematika predstavlja temeljni jezik za modeliranje odnosa i zakonitosti među
veličinama u mnogim poslovnim, proizvodnim i znanstvenim disciplinama. Izražavajući
odnose i zakonitosti u obliku algoritama, tj. pravila postupka rješavanja postavljenog zadatka
koji u konačnom broju koraka dovode do rješenja, digitalno elektroničko računalo rješava
postavljeni zadatak vrlo brzo i točno. Postoji čitav niz uređaja koji su sastavljeni od digitalnih
sklopova u vidu digitalnih elemenata ili kompjutorskih sustava, kao npr. procesorski
upravljane prespojne središnjice, digitalni voltmetri, mjerači brzine, ABS sustavi, brojila
frekvencije i mnogi drugi.1
Za prikazivanje digitalnih podataka može se upotrijebiti bilo kakav brojevni sustav a da bi se
on uspješno realizirao u nekom tehničkom sustavu potrebno je na prikladan način prikazati
znamenke. Svaka se znamenka mora realizirati nekim posebnim fizičkim stanjem. Za pouzdan
rad ta stanja se moraju moći jasno prepoznavati i dovoljno međusobno razlikovati.2
Rad računala može se prikazati kombinacijom dvaju stanja binarnog brojevnog sustava. Broj
tipova elemenata od kojih se gradi računalo relativno je malen, ali broj istovrsnih elemenata je
vrlo velik. Osnovni elementi pomoću kojih se gradi računalo napravljeni su prema zakonima
elektrotehnike i tehnologije, a mogu se promatrati s elektrotehničkog ili logičkog stajališta.
Osnovne jedinice od kojih se tvore računala su logički sklopovi. Njihova izvedba zavisna je o
tehnologiji vremena u kojim su izrađene te mogu biti: mehanička, elektromehanička,
1 Internet: http://www.fpz.unizg.hr/hgold/ES/DE/uvod1.htm (pristupljeno 20.08.2012.)2 Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 16.
2
elektronička, optička, kvantna, biološka, kemijska itd. Logički sklopovi imaju osnovu u
matematičkoj logici, a tvore se oko osnovnih logičkih operacija: I (engl. AND), ILI (engl.
OR), NE (engl. NOT).
Napredak tehnologije omogućio je izradu mikroprocesora koji sadrži do nekoliko milijuna
tranzistora ukomponiranih na silicijskoj pločici upakiranoj u plastično kućište. Sklopovlje
jednog mikroprocesora se bazira na manjim elementima koje nazivamo logički sklopovi ili
logička vrata (gate) koja su jednostavni sklopovi sastavljeni od manjeg broja tranzistora i
pasivnih komponenti. Elektroničke sklopove možemo klasificirati ovisno o broju standardnih
logičkih vrata koja sadrže, tj. klasificiramo ih ovisno o njihovu stupnju integracije.
U skupinu digitalnih sklopova spadaju logički sklopovi, koji mogu imati jedan ili više ulaza i
isto tako izlaza. Signali na ulazima i izlazima mogu imati vrijednosti unutar područja koja
odgovaraju binarnim znamenkama 0 ili1. Kod logičkih sklopova između stanja na ulazima i
stanja izlaza postoji određena logička veza, pa ti sklopovi obavljaju logičke operacije odnosno
funkcije. Postoji mnogo načina na koji se osnovni logički sklopovi mogu kombinirati radi
izvođenja raznih korisnih logičkih operacija. Digitalni logički sklopovi mogu se podijeliti na
kombinacijske i sekvencijalne sklopove. Sekvencijalni se sklopovi mogu podijeliti na
asinkrone i sinkrone. Kombinacijski logički sklopovi su oni sklopovi kod kojih stanje izlaza
ovisi o trenutnom stanju ulaza. Sekvencijalni logički sklopovi su sklopovi kod kojih stanje
izlaza ovisi o stanju ulaza i o prethodnom stanju na izlazu.
2.1. Obrada digitalnih podataka
Podaci se mogu podijeliti na brojeve, znakove i upravljačke znakove. Ako ti podaci
predstavljaju brojeve, njihova obrada sastoji se u primjeni odabranih računarskih operacija. U
slučaju znakova, obrada se svodi na organizaciju zapisa, sortiranje, pretraživanje i slično, dok
se u slučaju upravljačkih (kontrolnih) podataka obrada svodi dominantno na dekodiranje tj.
Prepoznavanje značenja i izvršavanje predviđenih akcija.
3
Kada se radi o brojevima, jedna od elementarnih operacija svakako je zbrajanje. Zbrajanje će
se provoditi u skladu sa pravilima prikazanim u tabeli 1.
Tabela 1: Zbrajanje dvaju binarnih znamenaka
2⁰ 2¹Ai Bi Si Ci0 0 0 00 1 1 01 0 1 01 1 0 1
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 42.
U slučaju da treba zbrojiti 1 i 0; koristeći se navedenom tablicom, zbrajanje će, primjerice za
slučaj opisan trećim retkom tablice, slijediti proceduru:
Ako je (A=1 i B=0) onda je A+B=1
Navedeni algoritam predstavlja omjer logičkog zaključivanja uz upotrebu nekih unaprijed
poznatih činjenica, kao što je tablica zbrajanja.3
U svakodnevnome životu neprestano se donose odluke temeljene na logičkom zaključivanju,
a logički procesi izraženi govornim jezikom obično sadržavaju riječi kao što su: „ako“,
„onda“, „i“, „ili“, „ne“. Svi ti primjeri pokazuju da za obradu podataka treba imati uređaje, tj.
Sklopove koji će moći obavljati logičke operacije.
3 Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 79.
4
2.2. Logika sudova
Matematičku analizu logike sudova prvi je proveo engleski matematičar George Boole 1847.
godine pa se i algebra za analizu logike tzv. logička algebra zove po njemu Booleova algebra.
Opći interes za tu granu matematike pojavio se 1938. kada je C. E. Shannon pokazao da se
ona može efikasno primijeniti za analizu relejnih elektromehaničkih sklopova koji su se u to
doba upotrebljavali za izradu računskih strojeva i telefonskih centrala. Jednostavni, odnosno
elementarni sud jest neka tvrdnja ili izjava izražena izjavnom ili afirmativnom rečenicom, kao
npr.: "Sklopka je uključena." Takva tvrdnja može biti bilo točna odnosno istinita ili ispravna,
ili pak netočna, odnosno neistinita. Logika sudova razmatra logičke veze između jednostavnih
sudova i tvorbu na taj način složenih sudova. U logici se sudova ne razmatra konkretan
sadržaj pojedine tvrdnje, već se promatra je li ta tvrdnja točna ili netočna.4
2.3. Osnovni logički sklopovi
Logički sklopovi povezani u raznolike funkcionalne cjeline sastavni su dio računala i
njegovih dodatnih uređaja. Razvoj logičkih sklopova i projektiranje logičkih cjelina je u uskoj
vezi s razvojem tehnologije kojoj je opći cilj da se u što manjem volumenu smjesti što više
logičkih sklopova i da im je brzina rada što veća. Takav skup sklopova, smješten u
zajedničkom kućištu s izvodima za spajanje s okolišem, popularno se naziva integrirani sklop
- čip i nerijetko sadrži tisuće logičkih sklopova koji izvršavaju razne instrukcije date
računalu.5
Logičke funkcije mogu se realizirati s pomoću digitalnih elektroničkih sklopova. Sklopke
mogu biti obične, upravljane rukom ili električki upravljani kontakti. Mehanički kontakti
imaju međutim niz nedostataka od kojih je najveći njihova mehanička tromost koja ne
dopušta brz rad. Elektronički sklop koji obavlja istu funkciju može se dobiti jednostavnom
4 Ibid, str. 80.5 Internet: http://www.informatika.buzdo.com/s080.htm (pristupljeno 25.08.2012.)
5
zamjenom mehaničkih sklopova elektroničkim. Logičko svojstvo sklopa tj. njegova
sposobnost obavljanja određene logičke funkcije biti će vidljivo kad se razmotri izlaz kao
posljedica određenih vrijednosti ulaznog signala.6
Slika 1: Osnovni logički sklopovi
Izvor: http://www.informatika.buzdo.com/s080.htm (pristupljeno 20.08.2012.)
6 Ibid, str. 85.
6
2.4. Tehnike realizacije logičkih sklopova
Postoji više tehnika realizacija logičkih sklopova tzv. logičkih familija. Svaka od ovih tehnika
ima prednosti i nedostatke tako da ne postoji idealna tehnika koja bi ispunila sve zahtjeve:
neke rade na velikim brzinama, druge imaju mali utrošak snage a treće su vrlo otporne na
šum. Logičke familije integriranih sklopova mogu se podijeliti u dvije osnovne grupe:
sklopove koji se temelje na radu bipolarnih tranzistora i one koji koriste MOSFET tranzistore.
Tehnike koje su se tokom godina pokazale najuspješnijima jesu:7
Otpornik – tranzistor logika (RTL)
Diodna logika (DL)
Diodno-tranzistorska logika (DTL)
Tranzistor – tranzistor logika (TTL)
Logika zajedničkog emitera (ECL)
MOSFET (MOS)
Komplementarni MOSFET (CMOS)8
Od navedenih tehnika, diodna logika se ne koristi u integriranim sklopovima dok se RTL i
DTL tehnike više ne primjenjuju. Logički sklopovi mogu biti realizirani u pozitivnoj i
negativnoj logici. Pozitivna logika je ona kod koje je nivo „1“ pozitivniji od nivoa „0“ tj.
U(1)>U(0), a negativna logika je ona kod koje je nivo „1“ negativniji od nivoa „0“ tj.
U(1)<U(0).
7 Papić, V.: Osnove elektronike, Sveučilište u Splitu, Split, 2005., str. 148. 8 Tehnologija za izradu digitalnih i analognih mikroelektroničkih sklopova
7
3. Sekvencijalni sklopovi
U sekvencijalnoj logici signali moraju slijediti u određenom redu da bi se na izlazu dobio
željeni signal. To znači da sekvencijalni logički sklopovi moraju imati i neki oblik memorije,
radi "pamćenja" dijela signala koji su već stigli na ulaz. Ovaj memorijski efekt postiže se
korištenjem određene povratne veze. Sekvencijalni sklopovi sastoje se od međusobno
povezanih bistabila i obično još od kombinacijskih sklopova. Prema tome ponašanje sklopa
ovisi o ulazima i stanju bistabila, dok je izlaz također u pravilu funkcija stanja bistabila i
ulaza. Sekvencijalni logički sklopovi općenito se dijele na:9
1. Sinkroni sklopovi ili sustavi - u njima se sve promjene događaju istovremeno u
trenutku određenom nekim upravljačkim signalom zajedničkim za sve ulazne signale.
2. Asinkroni sklopovi ili sustavi - nemaju upravljačkog signala, a promjene u jednom
dijelu sklopa izazivaju promjenu u drugom dijelu; promjena se širi brzinom koju
određuje rad pojedinog dijela sustava.
Sekvencijski sklop koji se sastoji od n-bistabila može imati do 2ᴺ mogućih različitih stanja, te
se stoga oni i zovu strojevi stanja. Slijed operacija u sekvencijskom sklopu temelji se na
„ugrađenom“ algoritmu pa se i upotrebljava naziv algoritamski stroj stanja. Sekvencijski
sklop je digitalni automat, razumijevajući pod pojmom automata stroj koji obavlja predviđene
radnje bez čovjekove pomoći.10
3.1 Sinkroni sekvencijalni sklopovi
Moguće su tri varijante opće strukture sinkronog sekvencijskog sklopa, odnosno stroja stanja
no razlike među njima nisu velike. Svaki se sklop u osnovi sastoji od tri dijela: ulaznog
9 Internet: http://ebookbrowse.com/pr-9c-sekvencijalni-sklopovi-pdf-d222355081 (pristupljeno 26.08.2012.)10 Peruško, U., Glavinić, V.: Digitalni sustavi..., op.cit. str. 336.
8
kombinacijskog sklopa, registra i izlaznog kombinacijskog sklopa. Registar registrira i sastoji
se od bistabila. Na izlazu iz registra su ulazne vrijednosti svih bistabila koje se vode na ulazni
kombinacijski sklop na čijim su ulazima u pravilu i nezavisne ulazne varijable. Izlazi
kombinacijskog sklopa određuju sljedeće stanje sklopa. Oni se vode na ulaze bistabila i čine
uzbudu za sljedeće stanje bistabila. Pod utjecajem te uzbude bistabil će prijeći u sljedeće
stanje nakon aktivnog brida impulsa takta. Struktura sekvencijskog sklopa kod kojeg su jasno
razlučivi registar i kombinacijski sklopovi za generiranje sljedećeg stanja i izlaza naziva se
kanonski oblik sekvencijskog sklopa. Tri moguće varijante razlikuju se u načinu kako se
formiraju izlazne varijable.11
Asinkroni se sekvencijski sklopovi upotrebljavaju u slučajevima kad sklop mora odmah
reagirati na ulaznu promjenu, za razliku od sinkronih sklopova koji reagiraju tek kada naiđe
impuls takta. Vrlo mali digitalni sustavi mogu se katkad ekonomičnije izvesti asinkrono, jer
nije potrebno osigurati izvor taktnog impulsa. Konačno, i dijelovi sinkronih sekvencijskih
sklopova izvode se asinkrono. Primjerice, osnovni bistabili, koji su osnovica sinkronih
bistabila, asinkroni su sklopovi.12
3.2 Asinkroni sekvencijalni sklopovi
Asinkroni sekvencijski sklopovi u svom radu nisu upravljani impulsima takta. Promjena iz
jednog stanja u drugo zbiva se neposredno pod utjecajem promjene ulazne varijable; dok se
kod sinkronih sekvencijskih sklopova stanja sklopa pamte u registru što ga čine sinkroni
bistabili, asinkroni sekvencijski sklopovi za pamćenje koriste vremensko kašnjenje ili
asinkrone bistabile. Asinkroni su sekvencijski sklopovi kombinacijski sklopovi s povratnom
vezom. Element za vremensko kašnjenje predstavlja privremenu memoriju koja pamti
postojanje impulsne promjene za vrijeme dok ta promjena polazi od njegova početka do kraja.
U realnim sklopovima nije potrebno ugrađivati posebne elemente za kašnjenje, jer je
kašnjenje logičkih sklopova dovoljno. Analiza i projektiranje takvih sklopova složeniji su od
analize i projektiranja sinkronih sekvencijskih sklopova, jer promjena nastupa odmah s
11 Ibid12 Ibid
9
promjenom ulaza te su moguće situacije u kojima novo stanje nije stabilno. Osiguranje
stabilnog rada stoga je osnovna zadaća pri projektiranju.13
3.3 Bistabili
Da bi logički sklop imao memoriju, tj. da bi bio u stanju upamtiti vrijednost ulazne varijable,
mora biti tako građen da ima logičku povratnu vezu. Najjednostavniji sklop koji ima dva
stabilna stanja zove se bistabil, na njemu većina sekvencijalnih logičkih sklopova zasniva svoj
rad. Bistabil je tzv. regenerativni sklop, koji u osnovi čine dvije međusobno povezane
sklopke, pri čemu je u svakom trenutku jedna zatvorena, a druga otvorena. Promjena njihovog
stanja može se postići sama (nakon određenog vremena) ili pomoću vanjskog impulsa. U
digitalnim sustavima bistabili se grade od univerzalnih logičkih funkcija.
Slika 2: Princip bistabila
Izvor: Internet: http://ebookbrowse.com/pr-9c-sekvencijalni-sklopovi-pdf-d222355081 (pristupljeno 26.08.2012.)
13 Ibid, str. 387.
10
3.4 Tipovi bistabila
3.4.1. SR – bistabil
Najjednostavniji asinkroni sekvencijalni sklop u integriranoj izvedbi je SR-bistabil. On se
može ostvariti na više načina, a najčešće je to s NI logičkim sklopovima. SR-bistabil spada u
grupu tzv. asinkronih bistabila, tj. sklopova koji mogu mijenjati stanje u bilo kojem trenutku,
tj. čim se pojavi ulazni signal. Ako je pak potrebno kontrolirano upravljati promjenu izlaznog
stanja, (a naročito ako je to potrebno izvršiti istovremeno s velikim brojem istih sklopova),
uvodi se dodatni ulaz za taktne (clock) impulse. U takvim tzv. sinkronim bistabilima se uvjeti
za promjenu izlaznih stanja ispunjavaju ranije, ali do same promjene dolazi tek u trenutku
pojave taktnog impulsa. Korištenjem istog taktnog impulsa za veći broj istovrsnih bistabila,
osigurava se njihovo sinkrono (istovremeno) djelovanje.14
Slika 3: SR-bistabil
Izvor: Pean, M.: Digitalni komunikacijski sustavi, Centar odgoja i usmjerenog obrazovanja za elektroniku, preciznu mehaniku i optiku, Zagreb, 1985., str. 63.
3.4.2. JK – bistabil
JK bistabil je najkompliciraniji, ali vjerojatno i najvažniji od svih bistabila. On se može
koristiti kao i prethodni SR bistabil, ali J = K = 1 slučaj (jednak slučaju S = R = 1) ne samo da
nije neodređen, već se i koristi kao prednost. Neodređenost u radu SR bistabila se javlja kad
su oba ulaza S i R u stanju logičke jedinice, a CLK ulaz pada s logičke jedinice na logičku
nulu. To se može izbjeći tako da se spriječi utjecaj ulaza S i R na master sklop, ali
14 Pean, M.: Digitalni komunikacijski sustavi, Centar odgoja i usmjerenog obrazovanja za elektroniku, preciznu mehaniku i optiku, Zagreb, 1985., str. 63.
11
istovremeno se mora dozvoliti da se izlazno stanje promijeni pri promjeni CLK signala (ako
su se promijenili ulazi).15
Slika 4: JK-bistabil
Izvor: Pean, M.: Digitalni komunikacijski sustavi, Centar odgoja i usmjerenog obrazovanja za elektroniku, preciznu mehaniku i optiku, Zagreb, 1985., str. 65.
3.4.3. T – bistabil
T-bistabil za razliku od prethodna dva ima samo jedan ulaz, označen s T. Dobije se iz JK –
bistabila tako da se ulazi J i K spoje međusobno. Na osnovu tablice stanja JK - bistabila lako
je derivirati sažetu tablicu stanja T-bistabila. Ako je ulaz T u stanju 0, CP-impuls neće
izazvati promjenu i stanje će biti kao i u prethodnom koraku. Ako je T=1, sinkronizacijski
impuls će izazvati promjenu, odnosno komplementiranje informacije prisutne iz prethodnog
intervala. Opisani bistabil radi sinkrono.16
15 Ibid, str. 65.16 Internet: http://ebookbrowse.com/pr-9c-sekvencijalni-sklopovi-pdf-d222355081 (pristupljeno 26.08.2012.)
12
Slika 5: T-bistabil
Izvor: http://www.fpz.unizg.hr/hgold/ES/DE/b.o.bistabili.htm (pristupljeno 20.08.2012.)
3.4.4. D – bistabil
Vrlo korisna verzija SR-bistabila je D-bistabil. On se dobiva tako da se kao R ulaz koristi
invertirani S ulaz. Sklop prema tome ima samo jedan ulaz, koji se označava s D. Ulazna
varijabla dolazi direktno na ulaz S, a invertirana na ulaz R. Kada je na ulazu 0,na S je 0, a na
R je 1. Nakon CP impulsa bit će u bistabil upisana 0. Ako je na ulazu 1, onda je i na ulazu S,
dok je na ulazu R tada 0.Upisanao će prema tome biti 1. Bistabil jednostavno upisuje podatak
koji mu je dan na ulazu. Može se reći da je to zapravo elementarna ćelija za memoriranje
jednog bita. Isto tako D-bistabil se može koristiti kao element za kašnjenje koji informaciju s
ulaza produžava za jedan vremenski interval.17
Slika 6: D-bistabil
Izvor: Pean, M.: Digitalni komunikacijski sustavi, Centar odgoja i usmjerenog obrazovanja za elektroniku, preciznu mehaniku i optiku, Zagreb, 1985., str. 64.
17 Ibid, str. 64.
13
3.4.5. Master slave bistabil
Ovaj sklop osigurava da se izlazi mijenjaju samo u danom trenutku taktnog impulsa, i to pri
njegovoj nagloj promjeni (edge triggered). Sastoji se od dva ista taktna SR-bistabila (prvi tzv.
master, a drugi tzv. slave). Inverter između dva CLK ulaza osigurava da su svaki od bistabila
aktivni tijekom suprotnih dijelova taktnog impulsa, što je bitna karakteristika rada, te se tako
može precizno kontrolirati trenutak kad bistabil mijenja svoje stanje. Naime, ako je ulazni
CLK impuls na nivou logičke nule, to znači da je CLK za slave na nivou logičke jedinice (i
obratno). To pak znači da je master blokiran, tj. da je u njemu spremljeno ono što je bilo na
njegovim ulazima kad je CLK bio logička jedinica.18
Slika 7: Master slave bistabil
Izvor: http://ebookbrowse.com/pr-9c-sekvencijalni-sklopovi-pdf-d222355081 (pristupljeno 26.08.2012.)
18 Internet: http://ebookbrowse.com/pr-9c-sekvencijalni-sklopovi-pdf-d222355081 (pristupljeno 26.08.2012.)
14
4. Metode analize sekvencijalnih logičkih sklopova
U analizi i simulaciji sekvencijalnih logičkih sklopova a posebno asinkronih logičkih
sklopova, automatska lokacija povratnih petlji u mreži često predstavlja ozbiljne probleme.
Metode analize kombinatornih sklopova relativno su jednostavne, a mogu se riješiti pomoću
konvencionalnih simulacijskih tehnika ili praćenja staze između ulaza i izlaza. Pri analizi
sekvencijalnih logičkih sklopova, međutim, prisutnost povratne petlje u mreži znači da se ove
tehnike više ne primjenjuju. Metoda postupanja u tim slučajevima implicira izoliranje
povratne petlje na neki način (često intuitivno), a zatim primijeniti standardne kombinatorske
tehnike. U slučaju metastabilnosti uzastopnih mreža ili prijenosnih sklopova problem je
trivijalan, jer se povratne petlje jasno razlikuju. Glavni problem leži u asinkronim mrežama
čiji sklopovi sadrže međusobno NAND ili NOR vrata.
4.1. Metode analize sinkronih sekvencijalnih sklopova
Analizu je najprikladnije početi određivanjem tablice stanja sekvencijalnog sklopa. Općeniti
postupak dobivanja tablice ima dva koraka:19
1. Za sve moguće vrijednosti ulaznih varijabli i sva moguća stanja sklopa odrediti
vrijednost upravljačkih varijabli za sve bistabile.
2. Iz tako određenih vrijednosti i tablice stanja bistabila odrediti sljedeće stanje u koje će
bistabili prijeći nakon djelovanja impulsa takta.
Iz dobivene tablice stanja mogu se prikazati ponašanja sklopa i na druge načine.
19 Peruško, U., Glavinić, V.: Digitalni sustavi..., op.cit. str. 341.
15
4.1.1. Sklop s T-bistabilima
Sklop se sastoji od dva bistabila i može imati četiri stanja. Ponašanje sklopa jednoznačno je
određeno tablicom stanja. Tablica stanja prikazuje sljedeće stanje i izlaz kao funkciju
postojećeg, odnosno sadašnjeg stanja i ulaza. Iako se takva tablica može prikazati kao kod
kombinacijskih sklopova, gdje su kombinacije varijabli koje prikazuju sadašnje stanje i ulaz
navedene na jednoj strani, a one koje prikazuju sljedeće stanje na drugoj, obično je
preglednije to učiniti kao u tabeli 2.20
Slika 8: Primjer sekvencijskog sklopa s T-bistabilima (dvobitno binarno brojilo)
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 342.
Tabela 2: Tablice stanja sklopa
Postojeće
stanje
Sljedeće stanje Izlaz
E=0 E=1 E=0 E=1
B1 B0 B1 B0 B1 B0 Z Z
0 0 0 0 0 1 0 1
0 1 0 1 1 0 0 0
1 0 1 0 1 1 0 0
1 1 1 1 0 0 0 0
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 342.
20 Ibid, str. 342.
16
Određivanje tablice stanja počinje nekim pretpostavljenim početnim stanjem, obično stanjem
u kojem su svi bistabili u stanju 0. Sljedeće se stanje određuje za sve moguće kombinacije
ulaznih varijabli. U razmatranom primjeru samo je jedna ulazna varijabla pa se promatra
promjena za E=0 i E=1. Kada je E=0, bistabili B1 i B0 imaju na ulazima 0 pa je sklop
blokiran i ne može doći ni do kakve promjene. Izlaz je u ovome primjeru funkcija stanja
bistabila i ulaza, pa će za E=0 uvijek biti jednak 0. Ako je ulaz E = 1, ulaz T bistabila B0 ima
vrijednost 1, dok su oba bistabila u 0 i izlaz Z = 1. Kada naiđe CP-impuls, bistabil B 0 će
prijeći u stanje 1. Pritom bistabil B1 neće promijeniti stanje, jer na njega u tom trenutku, tj. za
vrijeme pozitivnog brida CP-impulsa, još djeluje izlaz B0 iz prvog bistabila koji je u stanju 0,
pa je i izlaz iz I sklopa I1= 0. Izlaz iz I2 je 0. Ulazni signal može prijeći u 0 nakon što sklop
zauzme bilo koje od mogućih stanja pa će to stanje ostati zapamćeno i promjene će početi od
njega nakon što sklop bude ponovno deblokiran. Ulaz E očito obavlja funkciju ulaza za
omogućavanje (enable), pa je zato tako i označen. Opisani sklop prelazi redom binarna stanja
od 00 do 11, pa, zapravo, predstavlja brojilo. Ako se četiri postojeća stanja označe dekadski
od 0 do 3, onda sklop, zapravo, broji CP-impulse. Četvrti impuls postavlja sklop ponovno u
stanje 0, pa sklop broji u modulu 4. Tom prilikom se generira i logička 1 na izlazu Z, što se
može upotrijebiti kao signal da je ciklus završen.21
Svako stanje sekvencijskog sklopa određeno je stanjima bistabila, ali ta je stanja uvijek
moguće označiti posebnim znakovima, u pravilu slovima. Tako se dobiva preglednija tablica
stanja. Katkad se rabe kratice koje asociraju na neko značenje koje to stanje eventualno
predstavlja. U primjeru koji se razmatra mogu se primjerice stanja kodirati na sljedeći način:
00 = a, 01 = b, 10 = c, 11 = d. Ako se to primijeni na razmatranu tablicu stanja, dobivaju se
sljedeće tablice.22
Tabela 3: Znakovna tablica stanja
Sadašnje stanje Sljedeće stanje ulaz E0 1
a a bb b cc c dd d a
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 343.
21 Ibid, str. 343.22 Ibid
17
Tabela 4: tablica izlaza
Sadašnje stanje Izlaz z ulaz E0 1
a 0 1b 0 0c 0 0d 0 0
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 343.
Tablica 3. se, za razliku od tablice gdje su stanja prikazana binarno, zove znakovna tablica
stanja. U njoj nisu prikazane izlazne vrijednosti. Izlaz je prikazan odvojeno u tabeli 4 (tablica
izlaza). Oba su načina prikaza izlaza u upotrebi. Ako su tablice manje, obično se rabi prikaz
vrijednosti izlaza Z u jednoj tablici, kao što je to učinjeno u tabeli 2. Vrijednosti izlaza kao i
vrijednosti sljedećeg stanja ovise naravno o pripadnim vrijednostima sadašnjih stanja.23
Drugi je način grafičkog prikaza ponašanja sklopa je dijagram stanja, koji se izvodi direktno
iz tablice stanja. Svakom od četiri moguća stanja pridijeljen je jedan čvor dijagrama prikazan
krugom u kojem je to stanje upisano. Strelicama su prikazane promjene koje nastupaju za
određenu vrijednost ulazne varijable nakon pojave CP-impulsa. Vrijednost ulazne varijable i
vrijednost izlaza označene su za stanje 00 sa 1/1 i napisane pokraj strelice koja označava
promjenu. Prva znamenka znači stanje ulaza (E = 1), a druga izlaza (Z = 1). I vrijednost ulazne
i vrijednost izlazne varijable vremenski se odnose na isti period u kojem je stanje sklopa 00 tj.
iz kojega izlazi strelica, a to znači na postojeće stanje. Ako se strelica vraća u isto stanje
nakon što opiše luk, to znači da nije došlo do promjene. Dijagram stanja u mnogim je
slučajevima koristan za razumijevanje rada sklopa, i često je također prikladnije binarno
kodirana stanja obilježiti znakovima.24
23 Ibid24 Ibid, str. 344.
18
Slika 9: dijagram stanja za sklop iz slike 8.
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 344.
Jednadžbe stanja logičke su jednadžbe koje određuju uvjete za promjenu stanja bistabilia. U
biti se ne razlikuju od jednadžbe stanja bistabila, osim što sadržavaju i druge logičke
varijable, kao što su ulazne varijable i izlazi iz drugih bistabila. Jednadžbe stanja za svaki
bistabil izvode se direktno iz tablica stanja. Lijeva strana jednadžbe stanja za pojedini bistabil
označava sljedeće stanje, a desna strana predstavlja Booleovu funkciju koja, kad je u stanju
jednaka 1, uzrokuje da sljedeće stanje nakon CP-impulsa bude također 1. Jednadžba stanja
može se simplificirati kao i kombinacijske logičke jednadžbe s pomoću Karnaughovih
tablica.25
4.1.2. Sklop s JK – bistabilima
Opći postupak analize isti je kao i kod sklopa sa T - bistabilima. Ako je početno sadašnje
stanje jednako 00 i ulaz x = 0, tad će na ulazu J0 bistabila B0 biti vrijednost 0, a na ulazu K0
vrijednost 0. U skladu sa sažetom tablicom stanja JK-bistabila sljedeće stanje bistabila bit će
također 0. Situacija na odgovarajućim ulazima drugog bistabila je J1=0, a K1= 1, pa će i 25 Ibid, str. 345.
19
njegovo sljedeće stanje biti 0. Isto je takva situacija kod oba bistabila sve dok je vrijednost
ulaza 0, pa će, bez obzira na početno stanje, sljedeće stanje obaju bistabila biti 0. Situacija se
mijenja ako je ulaz jednak 1. U početnom stanju 00 bistabil B0 imat će na oba ulaza logičku
vrijednost 1, pa će sljedeće stanje biti komplement prijašnjeg stanja, dakle 1.26
Slika 10: Sekvencijski sklop s JK-bistabilima
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 348.
Na ulazu J bistabila B1 i dalje je 0, pa on ostaje u stanju 0. Na isti se način, korak po korak,
određuju sljedeća stanja i za ostala sadašnja stanja. Izlaz z kod ovog sklopa zavisan je samo
od sadašnjih stanja bistabila, pa je jednak 1 samo kada su oba bistabila u stanju 1.27
Rezultati izložene analize prikazani su u tablici stanja (tabela 5). Ako se binarnim stanjima
sklopa pridruže slova na isti način kao u prethodnom primjeru, dobiva se znakovna tablica
stanja (tabela 6). Iz ove posljednje tablice slijedi dijagram stanja prikazan na slici 11.
Tabela 5: Tablica stanja sklopa sa slike 10 – binarna stanja
26 Ibid, str. 348.27 Ibid, str. 349.
20
Sadašnje stanje Izlaz
Sljedeće stanje
X=0 X=1
B1 B0 z B1 B0 B1 B0
a 0 0 0 0 0 0 1
b 0 1 0 0 0 1 0
c 1 0 0 0 0 1 1
d 1 1 1 0 0 1 1
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 348.
Tabela 6: Znakovna tablica stanja sklopa sa slike 10
Sadašnje
stanje Izlaz
Sljedeće stanje
x
z 0 1
a 0 a b
b 0 a c
c 0 a d
d 1 a d
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 348.
Slika 11: Dijagram stanja sklopa sa slike 10
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 349.
21
Za razliku od dijagrama stanja sklopa iz prethodnog primjera, ovdje su stanja označena
odabranim slovima. Razlika je i u označavanju izlaza. Kako je u ovom slučaju izlaz samo
funkcija stanja sklopa, a ne i vrijednosti ulaza (Mooreov stroj), njegova je vrijednost označena
u čvoru (krugu) koji predstavlja konkretno stanje. Tako primjerice oznaka a/0 znači da je izlaz
jednak 0 dok je sklop u tom stanju. Budući da su vrijednosti izlaza na taj način označene uz
stanje, nije ih više potrebno označavati, kao u prethodnom primjeru, iza kose crte uz strelicu
koja pokazuje smjer promjene. Binarna znamenka uz svaku strelicu na dijagramu označava
vrijednost ulaza x koji je potreban da dođe do označene promjene.28
Pri konstruiranju vremenskog dijagrama bilo kojeg sekvencijskog sklopa treba prvo odrediti
početno stanje. Moguće su različite situacije. Može se početi sa stanjem koje će sklop zauzeti
prilikom uključivanja napajanja. Sklop može biti konstruiran tako da se prilikom uključivanja
svi bistabili posebnim impulsom (obično na asinkronom ulazu) postave u početno stanje.
Vremenski dijagram se također može crtati i uz pretpostavku da sklop radi već neko
nepoznato vrijeme, pa je početno stanje također nepoznato.29
4.1.3. Sklop s D-bistabilima
Sklop sa D-bistabilima ima dva ulaza i dva izlaza. Izlaz z1 ovisi samo o stanjima sklopa, dok
izlaz z2 ovisi i o ulazu. Sljedeće stanje sklopa s D-bistabilima bit će jednako logičkoj
vrijednosti na odgovarajućem ulazu D.
Slika 12: Sklop s D-bistabilima
28 Ibid, str. 349.29 Ibid, str. 351.
22
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 352.
Tablica stanja može se konstruirati na temelju jednadžbi stanja, uvrštavanjem svih
kombinacija zavisnih varijabli, ili sličnim postupkom iz logičke sheme. Kod jednostavnijih
sklopova taj se postupak može obično provesti napamet. Kod većih sklopova treba postupak
provesti pažljivije, bilježeći međurezultate. Tako je potrebno postupiti i u razmatranom
primjeru.
23
Z2
Z1
Tabela 7: Tablica stanja sklopa sa slike 12
Sadašnje stanje Sljedeće stanje x y Izlazix y
0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1B t B0 Bt B0 z1 z0
a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0b 0 1 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 1c 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0d 1 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 352.
Sljedeća stanja grupirana su u stupce koji odgovaraju kombinacijama ulaznih varijabli xy.
Važno je još jedanput uočiti i u tablici da je izlaz z1 uvijek isti u svim stupcima, pa je dakle
nezavisan o ulazima (Mooreov izlaz). Izlaz z2 ovisan je o ulaznim varijablama i o stanju
sklopa (Mealyjev izlaz). Vrijednosti ulaza, kao što je već rečeno, odnose se na sadašnje stanje
sklopa. Budući da sklop ima dvije vrste izlaza radi se o mješovitom stroju stanja. Sklop ima
jedno neupotrijebljeno stanje (stanje a) u koje, u normalnim okolnostima nikada prijeći. Ako
se to ipak dogodi, bilo sklopovskom pogreškom ili u trenutku uključenja, on više iz njega ne
može izaći, pa je sklop blokiran. Stoga bi u praktičnoj izvedbi sklopu svakako trebalo dodati
mehanizam postavljanja u početno stanje pri uključivanju.30
Slika 13: Dijagram stanja sklopa sa slike 12
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 354.
30 Ibid, str. 354.
24
4.2. Metode analize sekvencijalnih asinkronih sklopova
Za analizu i projektiranje sekvencijskih asinkronih sklopova upotrebljavaju se slične,
složenije metode kao i za sinkrone sklopove. U nastavku se ove metode razlažu na primjeru
prikazanom na slici 14.
Slika 14: Primjer asinkronoga sekvencijskog sklopa s povratnom vezom
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 391.
Rad sklopa analizira se u nastavku s pomoću tablice prijelaza. Tablica prijelaza (engl.
transition table) odgovara tablici stanja kod sinkronih sklopova, ali se obično prikazuje nešto
drugačije. Tablica se može izvesti iz jednadžbi uzbude ili neposredno na sklopu primjenom
svih mogućih kombinacija ulazne i sekundarnih varijabli te određivanjem uzbudnih varijabli.
Tablica se obično crta na sličan način kao K-tablice, i to tako da su na lijevoj strani vrijednosti
sekundarnih varijabli y, koje predstavljaju sadašnje stanje, a na vrhu su vrijednosti ulaza x. U
odgovarajuća polja upisuju se pripadne vrijednosti Y1Y2 uzbudnih varijabli, koje predstavljaju
sljedeće stanje. Nakon što se nacrta tablica prijelaza, određuju se stabilna stanja. Da bi sklop
bio stabilan, mora biti y1y2= Y1Y2. U asinkronim sekvencijskim sklopovima katkad je
prikladno kombinirati vrijednost ulaza i stanja u vrijednost koje se zove ukupno stanje (engl.
total state). 31
31 Ibid, str. 392.
25
5. Metode sinteze sekvencijalnih logičkih sklopova
Metoda za sintezu sekvencijalnih logičkih sklopova prikazana je na slici 9. Metoda započinje
opisom u prirodnom jeziku, koji je eventualno dopunjen jednim ili više vremenskim
dijagramima ili ponekad, formalnim opisom u jeziku kao što je VHDL ili Verilog.32 Prvi
korak u procesu sinteze sastoji se od razvoja dijagrama stanja i konvertiranja dijagrama stanja
u tabelu sljedećeg stanja i tabelu izlaza. Zatim slijedi optimizacija broja stanja, koja se sastoji
u izbacivanju redundantnih stanja i spajanju ekvivalentnih stanja. Redukcija broja stanja je
neophodna obzirom da manji broj stanja zahtijeva manji broj bistabila. S obzirom da svako
stanje mora biti predstavljeno n-tom vrijednosti bistabila, neophodno je svim stanjima
dodijeliti različite binarne n-te vrijednosti. Ovaj postupak zove se kodiranje stanja i
predstavlja bitan korak sinteze, zato što pravilno kodiranje može značajno pojednostavniti
ulaznu i izlaznu logiku. Nakon kodiranja stanja, izvode se binarne forme Booleovih
jednakosti sljedećeg stanja i izlaza.33
Slika 15: procedura sinteze sekvencijalnih logičkih sklopova
Imajući u vidu da će različiti tipovi bistabila zahtijevati različitu količinu logike za realizaciju
funkcija sljedećeg stanja, sljedeći zadatak sinteze sastoji se u izboru tipa bistabila. Nakon
izbora tipa bistabila, dolazi do izvođenja jednakosti za pobudu ulaza bistabila što obuhvaća i
optimizaciju logičke realizacije pobudnih i izlaznih Booleovih jednakosti, što će omogućiti da
se nacrta logička shemu, koja će poslužiti kao osnova za generiranje vremenskih dijagrama.
Posljednji korak u postupku sinteze sekvencijalnih logičkih sklopova je simulacija logičke
32 VHDL i Verilog su danas dva najšire korišćena HDL-a (Hardware Descriiption Language).33 Pranav, A., Srinivas, D., Newton, R.,A.: Sequential Logic Synthesis, Kluwer Academic Publishers, Unites States of America, 1992., str. 5.
26
Razvoj
dijagrama stan
ja
Generiranje tabele sljede
ćeg stanja
i tabele izlaza
Minimalizacija stanja
Kodiranje ulaza
, stanj
a i izlaz
a
Izbor me
morijskih elemenat
a
Izvođenje jednakost
i pobu
de
Optimizacija
logičke
implementacije
Kreiranje
logičke
sheme i
vremenskih dijagrama
Simulaci
ja logič
ke sheme
Verifikacija funkcionalnosti
i tajminga
sheme i komparacija izlaza sa izvedenim vremenskim dijagramima kao bi se utvrdilo da li
logička shema realizira željeno ponašanje.
5.1. Unos modela konačnog automata
Projektiranja sekvencijalnih logičkih sklopova počinje generiranjem dijagrama stanja i/ili
tabela sljedećeg stanja i izlaza. Inicijalno, ove tabele moraju biti izvedene na osnovu opisa
ponašanja sekvencijalnog sklopa danog u prirodnom jeziku. Nažalost opisi u prirodnom
jeziku često mogu biti dvosmisleni, nepotpuni i obično su fokusirani samo na glavnu funkciju,
bez nabrajanja svih mogućih slučajeva ponašanja konačnog automata. Iz tog razloga, opis u
prirodnom jeziku se ponekada dopunjuje vremenskim dijagramima. No međutim, i vremenski
dijagrami mogu biti nepotpuni, zato što oni ne pokazuju odziv sklopa za sve moguće ulazne
sekvence, već samo na one najvažnije. Stoga je u većini slučajeva optimalno, umjesto opisa u
prirodnom jeziku koristiti jezik za opis hardvera, kao što je VHDL ili Verilog, ili neku
grafičku formu kao što je dijagram toka ili ASM dijagram. Bez obzira na to koji se od
navedenih načina koristi za modeliranje konačnog automata, konstrukcija modela konačnog
automata predstavlja kreativni dio procesa projektiranja.34
5.2. Reduciranje broja stanja
Cilj reduciranja broja stanja je smanjenje broja stanja sekvencijalnog sklopa. Sekvencijalni
sklop sa manjim brojem stanja zahtijeva manji broj bistabila, a time je i cijena realizacije
sklopa niža. Treba napomenuti da smanjenje broja stanja ne mora obavezno da smanji broj
potrebnih bistabila, osim ako se broj stanja ne smanji ispod tekućeg nivoa stupnja dvojke. Na
primjer, sekvencijalni sklop sa m stanja zahtijeva [logm] bistabila. S obzirom da će
smanjenje broja stanja za Δ zahtijevati [logm- Δ)] stanja, Δ mora biti takav broj da je
[logm] – [logm- Δ)] ≥ 1.35
34 Ibid, str. 11.35 Peruško, U., Glavinić, V.: Digitalni sustavi..., op.cit. str. 364.
27
Međutim, čak iako smanjenje broja stanja ne dovodi do smanjenja broja bistabila, sklop sa
manjim brojem stanja imati će jednostavnije funkcije sljedećeg stanja i izlaza, u smislu da će
broj gateova (vratiju) potrebnih za realizaciju ovih funkcija biti manji i/ili će broj potrebnih
ulaza u gateove biti manji. Prednost korištenja gateova sa manjim brojem ulaza je u tome što
su takvi gateovi brži, što ujedno reducira kašnjenje sekvencijalnog sklopa i omogućava
povećanje taktne frekvencije i ukupnih performansi sklopa.
U općem slučaju, reduciranje broja stanja je zasnovano na konceptu ekvivalentnog ponašanja
konačnih automata. Dva konačna automata su ekvivalentna ako za svaku sekvencu ulaznih
simbola generiraju istu sekvencu izlaznih simbola. U nekim slučajevima, ekvivalentni
konačni automati mogu imati različiti broj stanja i mogu prolaziti kroz različita stanja za istu
ulaznu sekvencu, ali, bez obzira na to, sve dok generiraju istu izlaznu sekvencu oni se
smatraju ekvivalentnima. Dakle, možemo se zaključiti da u konačnom automatu sa većim
brojem stanja postoje stanja koja su ekvivalentna i mogu se spojiti u jedno stanje.
Ekvivalentnost stanja može se definirati na osnovi vrijednosti izlaza i sljedećeg stanja koje se
važe u stanjima čija se ekvivalentnost ispituje. Formalno, dva stanja s j i sk su ekvivalentna, sj =
sk ako su ispunjena sljedeća dva uvjeta:36
Oba stanja, sj i sk, generiraju iste izlazne simbole za svaki ulazni simbol i, tj. h(sj,i) =
h(sk,i).
Oba stanja imaju ekvivalentna sljedeća stanja za svaki ulazni simbol i, tj. f(sj,i) =
f(sk,i).
Na osnovu definicije ekvivalentnosti stanja, možemo formulirati jednostavnu proceduru za
reduciranje stanja konačnog automata. Shodno ovoj proceduri, najprije se stanja konačnog
automata grupiraju u razrede ekvivalencije, a zatim se konstruira novi konačni automat, sa
minimalnim brojem stanja, čije svako stanje reprezentira jedan razred ekvivalencije polaznog
automata. U praksi, ova procedura se obavlja u dva koraka. U prvom koraku, usporede se
izlazni simboli za svako stanje i svaki ulazni simbol. Cilj ove komparacije je grupiranje stanja
na takav način da sva stanja iz iste grupe generiraju isti izlazni simbol za svaki ulazni simbol.
36 Pranav, A., Srinivas, D., Newton, R.,A.: Sequential Logic Synthesis, Kluwer Academic Publishers, Unites States of America, 1992., str. 6.
28
U drugom koraku, grupe se dijele na podgrupe na takav način da za isti ulazni simbol,
sljedeća stanja svih stanja iz iste podgrupe pripadaju istoj grupi. U nekim slučajevima, nakon
podjele, sljedeća stanja svih stanja iz iste podgrupe u istoj grupi neće pripadati istoj podgrupi.
U takvim slučajevima, drugi korak procedure mora biti ponovljen i to, ako je potrebno, više
puta, sve dok je daljnja podjela moguća. Svaka podgrupa predstavlja razred ekvivalencije
kojem odgovara jedno stanje u minimalnom konačnom automatu.37
5.3. Kodiranje stanja
Nakon što se utvrdi broj stanja sustava, treba odrediti broj bistabila koji je potreban za
realizaciju tih stanja. Za realizaciju S stanja treba minimalno n bistabila, tako da vrijedi:
S≤ 2n
Broj bistabila može biti i veći. Stanjima sustava treba zatim pridijeliti neke od mogućih stanja
bistabila, a to je postupak kodiranja stanja. Stanja sustava predstavljaju abecedu koda.
Tabela 8: Moguće kodiranje stanja
Ime stanja
Kod
Prirodni binarni
S minimalnom promjenom jednojedinični skoro jedinični
a 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
b 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1
c 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0
d 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0
e 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0
Izvor: Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005., str. 369.
37 Ibid, str. 7.
29
Najjednostavniji način kodiranja jest pridruživanje cijelih binarnih brojeva stanjima onim
redom kojim su unesena u tablicu. Takav se kod često naziva prirodni binarni kod. Takvo
kodiranje ne zahtijeva nikakav uvid u svojstva sustava, jednostavno je, ali obično nije
najbolje. Iznimka su sklopovi brojila. U drugom je stupcu prikazan kod s minimalnom
promjenom. Kod takvih se kodova od jedne do druge kodne riječi mijenja samo jedan bit. Taj
princip pokazuje najbolje rezultate u sklopovima brojila, U općem slučaju treba ga primijeniti
za onu grupu stanja koja najčešće prelaze jedno u drugo. U trećem je stupcu prikazan
jednojedinični kod u kojem svaka kodna riječ ima samo jedan bit u stanju 1. To nije kod s
minimalnim stanjem bita, ali je često prikladan za upravljačke sklopove gdje se izlazi uzimaju
neposredno s izlaza bistabila. Posljednji stupac prikazuje gotovo jedinični kod, koji se od
jediničnog koda razlikuje samo u prvom stanju, gdje su svi bitovi jednaki 0.38
Neki opći iskustveni principi za kodiranje stanja mogu se iskazati ovako:39
Odabrati takvo početno stanje sklopa u koje se sklop može jednostavno postaviti; to je
obično stanje u kojem su svi bistabili u stanju 0 ili u stanju 1.
Kodne riječi za pojedina stanja odabrati tako da minimalni broj bistabila mijenja stanje
pri prijelazu sekvencijskog sklopa iz jednog stanja u drugo.
Uočiti skupine stanja između kojih se događa najveći broj prijelaza i tako ih kodirati
da što manji broj bistabila mijenja stanja pri prijelazima.
Razmotriti prikladnost odabira većeg od onog minimalno potrebnog broja bistabila
Izabrati način postupanja s neupotrijebljenim stanjima
5.4. Izbor memorijskih elemenata
Nakon obavljenog reduciranja i kodiranja stanja, sljedeći korak u procesu sinteze konačnog
automata je izbor tipa bistabila. U općem slučaju, T bistabil predstavlja dobar izbor kod
sekvencijalnih sklopova tipa brojača, gdje bistabili često mijenjaju stanje. D bistabili se
obično koriste u aplikacijama gdje se ulazna informacija pamti na neko vrijeme, a koristi
kasnije. Praktično, D bistabil se koristi kao memorija za privremeno čuvanje informacija. SR
38 Peruško, U., Glavinić, V.: Digitalni sustavi..., op.cit. str. 369.39 Ibid, str. 370.
30
bistabil se koristi u slučajevima kada različiti signali resetiraju bistabile. Bistabil JK koji je
ujedno i najsloženiji tip bistabila, koristan je kada je potrebno kombinirati ponašanje T i SR
bistabila. Na osnovu toga, može se zaključiti da su za sintezu konačnih automata najkorisniji
SR i JK bistabili, iako oni zahtijevaju dvostruko više veza u odnosu na T i D bistabile. U
općem slučaju, T i D bistabili su pogodniji za VLSI implementacije konačnih automata, s
obzirom da zahtijevaju manji broj veza.40
5.5. Optimizacija i tajming
Pretposljednji korak procedure sinteze sekvencijalnih logičkih sklopova sastoji se u mapiranju
ulazne i izlazne logike na komponente iz raspoloživih gateova. Nakon tehnološkog mapiranja,
crta se logička shema koja će na vizualni način predstaviti sve gateove i veze brojača. U
posljednjem koraku procedure za sintezu sekvencijalnih logičkih sklopova, a na osnovu
logičke sheme i poznatih kašnjenja signala kroz gateove i bistabile, kreira se vremenski
dijagram.
40 Pranav, A., Srinivas, D., Newton, R.,A.: Sequential Logic Synthesis, Kluwer Academic Publishers, Unites States of America, 1992., str. 8.
31
Zaključak
Prilikom analize ili sinteze digitalnih sklopova, algebarski izrazi se često koriste za
karakterizaciju ponašanja postojećih sklopova ili željenog ponašanja sklopova koji se
projektiraju. Logički sudovi i teoremi nam omogućavaju da manipuliramo algebarskim
izrazima, što nam tada uvelike olakšava analizu i povećava efikasnost sinteze odgovarajućih
sklopova.
Sinteza se primjenjuje uvijek kada treba konvertirati bihevioralni u strukturalni opis koji
sadrži raspoložive komponente. Na primjer, alati za logičku sintezu omogućavaju konverziju
logičkih jednakosti u mreže vrata (gateova), minimalizujući pri tome broj vrata, propagirano
kašnjenje, potrošnju ili neki drugi unaprijed postavljeni cilj. Alati za logičku sintezu koriste se
za projektiranje kombinacijskih sklopova kao što su aritmetički sklopovi, komparatori, koderi,
dekoderi i upravljačka logika.
32
Kratice i strane riječi
Kratica Naziv na engleskom jeziku Naziv na hrvatskom jeziku
A
ASM Algoritmic State Machine Algoritamska mašina stanja
C
CP Control processor Centralni procesor
D
DL
Diode logic Diodna logika
DTL Diode–Transistor Logic Diodno-tranzistorska logika
E
ECL Emitter-Coupled Logic Logika zajedničkog emitera
M
MOSFETmetal–oxide–semiconductor field-effect transistor
Unipolarni tranzistor sa metal-oksid vodičem
R
RTL Register-transfer level Razina registra i prijenosa
T
TTL
V
VLSI
Transistor–transistor logic
Very-Large-Scale Integration
Tranzistor-tranzistor logika
Integrirani krugovi visoke gustoće
33
34
Popis slika
Slika 1: Osnovni logički sklopovi...........................................................................................................6Slika 2: Princip bistabila.......................................................................................................................10Slika 3: SR-bistabil...............................................................................................................................11Slika 4: JK-bistabil..............................................................................................................................12Slika 5: T-bistabil.................................................................................................................................13Slika 6: D-bistabil.................................................................................................................................13Slika 7: Master slave bistabil................................................................................................................14Slika 8: Primjer sekvencijskog sklopa s T-bistabilima (dvobitno binarno brojilo)...............................16Slika 9: dijagram stanja za sklop iz slike 8...........................................................................................19Slika 10: Sekvencijski sklop s JK-bistabilima......................................................................................20Slika 11: Dijagram stanja sklopa sa slike 10........................................................................................21Slika 12: Sklop s D-bistabilima............................................................................................................23Slika 13: Dijagram stanja sklopa sa slike 12........................................................................................24Slika 14: Primjer asinkronoga sekvencijskog sklopa s povratnom vezom............................................25Slika 15: procedura sinteze sekvencijalnih logičkih sklopova..............................................................26
35
Popis tablica
Tabela 1: Zbrajanje dvaju binarnih znamenaka......................................................................................4Tabela 2: Tablice stanja sklopa............................................................................................................16Tabela 3: Znakovna tablica stanja........................................................................................................17Tabela 4: tablica izlaza.........................................................................................................................18Tabela 5: Tablica stanja sklopa sa slike 10 – binarna stanja.................................................................21Tabela 6: Znakovna tablica stanja sklopa sa slike 10............................................................................21Tabela 7: Tablica stanja sklopa sa slike 12...........................................................................................24Tabela 8: Moguće kodiranje stanja.......................................................................................................29
36
Literatura
KNJIGE:
1. Papić, V.: Osnove elektronike, Sveučilište u Splitu, Split, 2005.
2. Peruško, U., Glavinić, V.: Digitalni sustavi, Školska knjiga, Zagreb, 2005.
3. Paunović, S.: Digitalna elektronika, Školska knjiga, Zagreb, 2005.
4. Pean, M.: Digitalni komunikacijski sustavi, Zagreb : Centar odgoja i usmjerenog
obrazovanja za elektroniku, preciznu mehaniku i optiku Ruđer Bošković, 1985.
5. Pranav, A., Srinivas, D., Newton, R.,A.: Sequential Logic Synthesis, Kluwer
Academic Publishers, Unites States of America, 1992.
6. Tocci, J.,R., Widmer, N.,S.: Digital Systems Principles & Applications, Prentice Hall,
Upper Saddle River, New Jersey, 2001.
INTERNET:
7. http://www.oup.com/uk/orc/bin/9780199273133/clements_ch03.pdf
8. http://ebookbrowse.com/pr-9c-sekvencijalni-sklopovi-pdf-d222355081
9. http://www.informatika.buzdo.com/s080.htm
10. http://www.fpz.unizg.hr/hgold/ES/DE/uvod1.htm
37
38