Upload
hanga
View
254
Download
2
Embed Size (px)
Citation preview
Arhitektura mikrosistema
Algoritamske mašine stanjaili
ASM dijagrami
• Standardna grafička notacija, u formi dijagrama toka, koja se koristi za opis ponašanja (funkcionisanja) digitalnih sistema.
• Koristi se prilikom projektovanja digitalnog hardvera koji realizuje neki konkretan algoritam.
• Opis rad digitalnog sistema na apstraktnom nivou, nezavisno od konkretne hardverske realizacije.
• ASM dijagram govori šta sistem radi (tj. definiše tok elementarnih operacija u vremenu), a ne kako je sistem realizovan (tj. koja konkretna digitalna kola se koriste i kako su povezana).
Arhitektura mikrosistema
ASM v.s. softverski dijagram toka
• Slični po izgledu• Oba tipa dijagrama služe za opis algoritama.• Softverske dijagrame toka koriste programeri, u
procesu razvoja programa koji će se izvršavati na računskoj mašini.
• ASM dijagrame koriste projektanti digitalnog hardvera, kao početni korak u procesu realizacije konkretnog algoritma direktno u hardveru.
Arhitektura mikrosistema
ASM v.s. softverski dijagram toka
• Računar– Sekvencijalni rad: Izvršava program instrukciju-po-instrukciju; – U svakom ciklusu se obavlja jedna instrukcija– Instrukcijski ciklusi mogu imati različito trajanje. – Softverski dijagram ne navodi tačan iznos vremena koji je
potreban da bi se izvršio jedan algoritamski korak, već samo jednoznačno određuje tok (sekvencu) algoritamskih koraka.
• Digitalni hardver– Paralelizam - u toku jednog taktnog ciklusa može da obavi jednu
ili više elementarnih operacija– ASM dijagram - svaki algoritamski korak traje isto, fiksno vreme
(jednako taktnom periodu), a sve operacije obuhvaćene jednim algoritamskim korakom se izvršavaju istovremeno (u paraleli).
Arhitektura mikrosistema
Algoritamske mašine stanja
• Koristi tri grafička simbola:
Blok stanja Blok grananja Blok uslovnog izlaza
Arhitektura mikrosistema
Stanja• Predstavlja se pravougaonikom• Svako stanje traje jedan taktni
ciklus• Tekuće stanje odnosi se na
pravougaonik ASM dijagrama koji je aktivan u toku konkretnog taktnog ciklusa.
• Sledeće stanje odnosi se na pravougaonik ASM dijagrama koji će postati aktivan u toku narednog taktnog ciklusa
• ASM dijagram mora sadržati barem jednu petlju.
Stanje
Ime stanja
Petlja
Arhitektura mikrosistema
Stanje - taktni ciklus
………
ZELENOCRVENO2.5
CRVENOŽUTO2.0
ŽUTOZELENO1.5
ZELENOCRVENO1.0
CRVENOŽUTO0.5
ŽUTOZELENO0.0
Sledeće stanjeTekuće stanjeVreme
Arhitektura mikrosistema
Postavljanje izlaznih signala• Signal - jedan bit, ili grupa više bitova, koji prenose
binarnu informaciju između digitalnih kola ili sklopova
• Ime signala unutar pravougaonika znači da je taj signal postavljen za sve vreme dok je ASM dijagram u tom u stanju. U pravougaonicima, gde se ime signala ne javlja, signal ima podrazumevanu vrednost.
ZELENO
ZUTO
CRVENO
STOP
STOP
………
STOP=1ZELENOCRVENO2.5
STOP=1CRVENOŽUTO2.0
STOP=0ŽUTOZELENO1.5
STOP=1ZELENOCRVENO1.0
STOP=1CRVENOŽUTO0.5
STOP=0ŽUTOZELENO0.0
SignaliSledeće stanjeTekuće stanjeVreme
Arhitektura mikrosistema
Registarski prenos
• Registri se koriste kao memorijski elementi za čuvanje vrednosti promenljivih koje su definisane algoritmom.
• Operacija upisa u registar se označava naredbom registarskog prenosa– A ← A + 1– ukazuje na vrednost koja se upisuje (prenosi) u
registar u trenutku početka sledećeg taktnog ciklusa– ← ukazuje na odloženu ili zakasnelu dodelu
Arhitektura mikrosistema
Registarski prenosBRZINA=3
ZELENO
ZUTO
CRVENO
STOPBRZINA=1
BROJAC<-BROJAC+1
STOPBROJAC<-BROJAC+2
…………
STOP=1 BRZINA=00 BROJAČ=100ZELENOCRVENO2.5
STOP=1 BRZINA=01 BROJAČ=011CRVENOŽUTO2.0
STOP=0 BRZINA=11 BROJAČ=011ŽUTOZELENO1.5
STOP=1 BRZINA=00 BROJAČ=001ZELENOCRVENO1.0
STOP=1 BRZINA=01 BROJAČ=000CRVENOŽUTO0.5
STOP=0 BRZINA=11 BROJAČ=000ŽUTOZELENO0.0
Signali i promenljiveSledeće stanjeTekuće stanjeVreme
STOP - jednobitni signal
BRZINA - višebitni signal
BROJAC - registar (inicijalno 0)
Arhitektura mikrosistema
Grananja
BRZINA=3ZELENO
ZUTO
CRVENO
STOPBRZINA=1
BROJAC<-BROJAC+1
STOPBROJAC<-BROJAC+2
BROJAC != 0
0
1
…………
STOP=1 BRZINA=00 BROJAČ=001ZELENOCRVENO5.0
STOP=1 BRZINA=01 BROJAČ=000CRVENOŽUTO4.5
STOP=1 BRZINA=01 BROJAČ=111ŽUTOŽUTO4,0
STOP=1 BRZINA=01 BROJAČ=110ŽUTOŽUTO3.5
STOP=1 BRZINA=01 BROJAČ=101ŽUTOŽUTO3.0
STOP=1 BRZINA=01 BROJAČ=100ŽUTOŽUTO2.5
STOP=1 BRZINA=01 BROJAČ=011ŽUTOŽUTO2.0
STOP=0 BRZINA=11 BROJAČ=011ŽUTOZELENO1.5
STOP=1 BRZINA=00 BROJAČ=001ZELENOCRVENO1.0
STOP=1 BRZINA=01 BROJAČ=000CRVENOŽUTO0.5
STOP=0 BRZINA=11 BROJAČ=000ŽUTOZELENO0.0
Signali i promenljiveSledeće stanjeTekuće stanjeVreme
tačnonetačno
Arhitektura mikrosistema
Grananja
• PREKIDAC - ulazni signal• BROJAČ - registar
BRZINA=3ZELENO
ZUTO
CRVENO
STOPBRZINA=1
BROJAC <- BROJAC+1
STOPBROJAC <- BROJAC+2
BROJAC != 0
0
1
PREKIDAC
1
0
Arhitektura mikrosistema
Pristupi projektovanju
• Dva pristupa rešavanju problema:– ¨odozdo-naviše¨ (bottom-up)– ¨odozgo-naniže¨ (top-down)
Arhitektura mikrosistema
Projektovanje ¨odozdo-naviše¨
• ¨Odozdo-naviše¨ (bottom-up)– Projektant rešava izdvojene
detalje celokunog problema koje potom ugrađuje u konačno rešenje
– Rešeni detalji se obično međusobo ne uklapaju idealno
– Najveći deo ukupnog projektantskog vremena troši na uklapanje nezavisnih detalja, što često uključuje i prepravku većrešenih delova opšteg problema
– Nije pogodno za projektovanje složenih digitalnih sistem
Interfejs
Komponenta
Arhitektura mikrosistema
Projektovanje ¨odozgo-naniže¨• Projektant započinje rad na problemu
razradom globalnog plana– sveobuhvatno sagledavanje problema, – razrada strategije rešavanja problema, – dekompozicija problema na potprobleme manjeg
obima– definisanje odnosa (interfejsa) između
potproblema– projektant ne rešava odmah uočene
potprobleme, već ih tretira kao apstraktne sklopove (crne kutije) koje međusobno uklapa i povezuje
• U nastavku– Projektant razrađuje i rešava potprobleme– Problem uklapanja ne postoji (interfejsi su
definisani u prvoj fazi)
Arhitektura mikrosistema
Projektovanje ¨odozgo-naniže¨ -faze projektovanja
• Faze– Opis ponašanja (sistem koja se projektuje
opisuje se na algoritamskom nivou, npr. u vidu ASM dijagrama )
– Razrada (podeli sistema na dva upravljačku jedinicu i staza podataka )
– Realizacija (realizacija hardvera sistema)
Arhitektura mikrosistema
Opis ponašanja
• Najvažnija faza celokupnog procesa projektovanja
• Sistem koja se projektuje opisuje se na algoritamskom nivou, npr. u vidu ASM dijagrama
• Sistem se tretira kao crna kutija sa naznačenim ulazima i izlazima koja se ponaša na način koji je opisan algoritmom
Arhitektura mikrosistema
Opis ponašanja - Interfes• Interfejs (značenje reči) - mesto na kome se dva
nezavisna sistema susreću ili spajaju (ili sredstvo koje koriste) radi zajedničkog dejstva ili međusobne komunikacije.
• Digitalni sistem u toku rad ineraguje sa svojim okruženjem (drugi digitalni sistemi, ne-digitalni uređaji, pa čak i čovek koji posredstvom odgovarajućih ulazno-izlaznih uređaja komunicira sa sistemom)
• Za definisanje interfesa potrebno je znati koje informacije se razmenjuju između sistema i okruženja i na koji način sistem komunicira sa okruženjem
• Specifikacija interfejsa digitalnog sistema uključuje specifikaciju ulaza i izlaza (tj. portova) proširenu pravilima za korišćenje sistema od strane korisnika
Arhitektura mikrosistema
Opis ponašanja - Interfes• Dva tipa ulaznih i izlaznih informacija:
– Upravljački i statusni signali (najčešće jednobitni signali)
• Upravljački ulazi - iniciraju naku aktivnost sistema• Statusni ulazi - sistem dobija informaciju o trenutnom stanju
okruženja• Upravljački izlazi - sistem inicira neku aktivnost u okruženju• Statusni izlazi - obaveštava okruženje o svom trenutnom
stanju• Signali takta i resetovanja prisutnih kod svih sistema
– Podaci• Ulazni podaci - informacija koju
sistem treba da obradi• Izlazni podaci - rezultat obrade
Arhitektura mikrosistema
Interfes - Primer (Sekvencijalni delitelj)
• Pre aktiviranja upravljačkog ulaza start(start=1) korisnik, treba da postavlja deljenik i delilac na ulazima podatak x i y. Korisnik ne sme da menja x i y za vreme dok traje izračunavanje (dok je rdy=0).
• Trajanje signala start mora biti tačno jedan taktni period.
• Korisnik je u obavezi da pre sledećeg aktiviranja signala start čeka barem dva taktna ciklusa nakon što je sistem završio prethodno izračunavanje
Ulazi podataka
Upravljački ulaz
Izlaz podataka
Statusni izlaz
Spada u specifiakciju
interfejsa
Arhitektura mikrosistema
Konverzija algoritma u ASM dijagram
B = 0;while(A≠0) do
if(A0 = 1) then B = B + 1;
end if;A = A >> 1;
end while;
B <- 0A <- a
S0
start
A <- A >> 1
A=0
A(0)
B <- B + 1
Kraj
S1 S2
0
1
0
1
da
ne
Osnova za softverskorešenje datog problema
Osnova za hardversko
rešenje
?
Sekvencijalno izvršenje algoritamskih koraka
Ne sadrži informaciju o trajanju operacija
Dozvoljava paralelizam (sve operacije obuhvaćene jednim stanjem izvršavaju se istovremeno)
Nameće diskretizaciju vremena (jedno stanje, jedan taktni ciklus)
Arhitektura mikrosistema
Konverzija algoritma u ASM dijagram• Algoritam je teže predstaviti u obliku ASM
dijagrama nego u obliku softverskog pseudo koda.
– => Opis ponašanja digitalnog sistema tipično počinje kreiranjem softverskog algoritma, koji se potom konvertuje u ekvivalentni ASM dijagram
• Pravila konverzije:– Svaka naredba dodele softverskog algoritma se
prevodi u naredbu registarskog prenosa koja se smešta u zaseban blok stanja ASM dijagrama iza koga ne sledi blok grananja.
– Svaka if ili while naredba softverskog algoritma se transformiše u prazan blok stanja nakon koga sledi blok grananja sa upisanom relacijom iz softverske naredbe.
Arhitektura mikrosistema
Primer direktne konverzija algoritma u ASM dijagram -
sekvencijalni delitelj
r1 = x;r2 = 0;while (r1 >= y){ r2 = r2 + 1;
r1 = r1 – y;}
Izlaz iz r2
Bez TEST, ispitivanje
r1>=y koristilobi staru
vrednost r1 !!!
Arhitektura mikrosistema
ASM dijagram sekvencijalnogdelitelja
Optimizacija (eliminacija stanja TEST)3+2*količnik3+3*količnik
Arhitektura mikrosistema
ASM dijagram sekvencijalnogdelitelja
Optimizacija (eliminacija stanja INIT)
Algoritmaski ispravno.
Problem u korisničkom interfejsu: rezultat (u r2) je dostupan za očitavanje samo 1 taktni ciklus
Arhitektura mikrosistema
ASM dijagram sekvencijalnogdelitelja
Optimizacija (eliminacija stanja INIT)Uvodi se još jedan registar (r3) koji čuva rezultat
Šta ako je količnik 0 ?
Arhitektura mikrosistema
ASM dijagram sekvencijalnogdelitelja
Optimizacija (Paralelizacija petlje)Neuspešni pokušaji
Preuranjen upis u r3
Arhitektura mikrosistema
ASM dijagram sekvencijalnogdelitelja
Optimizacija (Paralelizacija petlje)
PASIVNOr1 <- xr2 <- 0
rdy
start10
r1 >= y1
0 r1 <- r1 – yr2 <- r2 + 1
r3 <- r2
C123
r1 >= y
r3 <- 0
0 1
N3
Stanje C123 se izvršava jedanput više, ali se zato u
r3 upisuje jadnput manje
Arhitektura mikrosistema
ASM dijagram sekvencijalnogdelitelja
Optimizacija (Eliminacija stanja N3)
PASIVNOr1 <- xr2 <- 0
rdy
start10
r1 >= y1
0 r1 <- r1 – yr2 <- r2 + 1
r3 <- r2
C123
r1 >= y
r3 <- 0
0 1
N3
PASIVNOr1 <- xr2 <- 0
rdy
start10
start | r1 >= y1
0 r1 <- r1 – yr2 <- r2 + 1
r3 <- r2
C123
2+količnik
Arhitektura mikrosistema
ASM dijagrami Milijevog tipa
BRZINA=3
ZELENO
ZUTO
CRVENO
STOPBRZINA=1
BROJAC<-BROJAC+1
STOPBROJAC<-BROJAC+2
BROJAC /= 0
0
1
NAPUSTI
OSTANI
………
STOP=1 BRZINA=1 BROJAČ=011 OSTANI = 1 NAPUSTI = 0ŽUTO6.0
STOP=0 BRZINA=3 BROJAČ=011 OSTANI = 0 NAPUSTI = 0ZELENO5.5
STOP=1 BRZINA=0 BROJAČ=001 OSTANI = 0 NAPUSTI = 0CRVENO5.0
STOP=1 BRZINA=1 BROJAČ=000 OSTANI = 0 NAPUSTI = 1ŽUTO4.5
STOP=1 BRZINA=1 BROJAČ=111 OSTANI = 1 NAPUSTI = 0ŽUTO4.0
STOP=1 BRZINA=1 BROJAČ=110 OSTANI = 1 NAPUSTI = 0ŽUTO3.5
STOP=1 BRZINA=1 BROJAČ=101 OSTANI = 1 NAPUSTI = 0ŽUTO3.0
STOP=1 BRZINA=1 BROJAČ=100 OSTANI = 1 NAPUSTI = 0ŽUTO2.5
STOP=1 BRZINA=1 BROJAČ=011 OSTANI = 1 NAPUSTI = 0ŽUTO2.0
STOP=0 BRZINA=3 BROJAČ=011 OSTANI = 0 NAPUSTI = 0ZELENO1.5
STOP=1 BRZINA=0 BROJAČ=001 OSTANI = 0 NAPUSTI = 0CRVENO1.0
STOP=1 BRZINA=1 BROJAČ=000 OSTANI = 0 NAPUSTI = 1ŽUTO0.5
STOP=0 BRZINA=3 BROJAČ=000 OSTANI = 0 NAPUSTI = 0ZELENO0.0
Signali i promenljiveStanjeVre
Uslovne operacije
Arhitektura mikrosistema
ASM dijagram sekvencijalnog deliteljaMilijeva verzija (Eliminacija stanja INIT)
r2 se resetuje u stanju PASIVO,
pod uslovom ako je start=1Umesto da uvedemo r3
Arhitektura mikrosistema
ASM dijagram sekvencijalnog deliteljaMilijeva verzija (Spajanje stanja C1 i C2)
PASIVNOr1 <- x
rdy
start10
r1 >= y1
0 r1 <- r1 – yr2 <- r2 + 1
C12
r2 <- 0
r2 se inkrementira jedanput više
Arhitektura mikrosistema
ASM dijagram sekvencijalnog deliteljaMilijeva verzija (Spajanje stanja C1 i C2)
PASIVNOr1 <- x
rdy
start10
r1 >= y1
0 r1 <- r1 – yr2 <- r2 + 1
C12
r2 <- 0
Arhitektura mikrosistema
ASM dijagram sekvencijalnog deliteljaMilijeva verzija (Ranije postavljanje signala rdy)
2+količnik takta i
2 registra
Arhitektura mikrosistema
Razrada• Cilj da polazni problem, prethodno precizno opisan ASM
dijagramom, podeliti na dva dela: • staza podataka
– registri za čuvanje vrednosti promenljivih; – kombinaciona logika za obavljanje izračunavanja iz naredbi
registarskog prenosa i relacija.• upravljačku jedinicu - sprovodi algoritam
Arhitektura mikrosistema
Projektovanje staze podataka
r1 ← x
r1 ← r1-y
r2 ← 0
r2 ← r2 + 1
r3 ← r2
r1 >= y
registar + oduzimač
brojač
registar
komparator
Arhitektura mikrosistema
Projektovanje staze podataka(metodička staza podataka)
r1n
(-)n
≥n
nld
r2 r3n
inc clr ld
n
y x
q
Upravljacka jedinica
muxctrlldr1r1geyldr3clrr2incr2 Staza
podataka
start
rdy
clk
rst
rst
n n
r1 ← x
r1 ← r1-y
r2 ← 0
r2 ← r2 + 1
r3 ← r2
r1 >= y
registar + oduzimač
brojač
registar
komparator
r1 ← x (muxctrl=0, ldr1=1)
r1 ← r1-y (muxctrl=1, ldr1=1)
r2 ← 0 (clrr2=0)
r2 ← r2 + 1 (incr2=1)
r3 ← r2 (ldrr3=1)
r1 >= y (r1gey)
Arhitektura mikrosistema
Projektovanje upravljačke jedinice
r1 ← x (muxctrl=0, ldr1=1)
r1 ← r1-y (muxctrl=1, ldr1=1)
r2 ← 0 (clrr2=1)
r2 ← r2 + 1 (incr2=1)
r3 ← r2 (ldrr3=1)
r1 >= y (r1gey)
Arhitektura mikrosistema
Staza podataka zasnovana na ALU
r1
ldr1
r2
ldr2
01
muxctrl
2
x
x/y
ALUy
aluctrl
cout
a
b
12
12
1212
12
12
2
4
PASIVNO
ldr1aluctrl = 'PROPUŠTANJEmuxctrl = 0SPREMAN
start10
ldr2aluctrl = 'NULA
aluctrl = 'ODUZIMANJEmuxctrl = 1
ldr1aluctrl = 'ODUZIMANJEmuxctrl = 1
INIT
TEST
ldr2aluctrl = `INKREMENTauxctrl = 2
C1r1gey
1
0
C2
r1 ← x r1 ← r1-y
r2 ← 0 r2 ← r2 + 1
r3 ← r2 r1 >= y
Arhitektura mikrosistema
Realizacija upravljačke jedinice ˝one-hot˝ metodom
• Upravljačka jedinica tipa ¨one-hot¨ koristi tačno onoliko flip-flopova koliko ima stanja u odgovarajućem ASM dijagramu.
• Uvek je setovan tačno jedan flip-flop (onaj koji odgovara tekućem stanju)
• Prelaz sledeće stanje znači resetovanje flip-flopa tekućeg i setovanje flip-flopa sledećeg stanja.
Arhitektura mikrosistema
Realizacija upravljačke jedinice ˝one-hot˝ metodom
- pravila konverzije -
Arhitektura mikrosistema
Realizacija upravljačke jedinice ˝one-hot˝ metodom
- primer -Kolo za detekciju
ukljucenja napona napajanja
DR Q
reset
10TS
PASIVNO
10
r1gey
TS
DR Q
reset
IZRACUNAVANJE
ldr1aluctrl[3]
aluctrl[2]
incr2ldr3muxctrlaluctrl[4]aluctrl[0]
clrr2aluctrl[5]aluctrl[1]SPREMAN
"1"
"0"
IZRACUNAVANJE
PASIVNO
PASIVNO
start10
start | r1gey1
0 ldr1incr2ldr3muxctrl
C123
ldr1clrr2rdy
Arhitektura mikrosistema
Realizacija
• Kreiranje VHDL opisa• Simulacija• Sinteza
Arhitektura mikrosistema
Sekvencijalni brojač jedinica
• Brojač jedinica (bit_counter) je kolo koje određuje broj 1-ca u ulaznom binarnom vektoru
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaAlgoritam
• B = 0;• while(A≠0) do• if(A0 = 1) then • B = B + 1;• end if;• A = A >> 1;• end while;
A, B => regA, regB
bit_counter
a b
clk
rst
start
rdy
n log2nregBregA
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaInterfejs
regA ← ardy
IDLE
start 0
regB ← 0
1
Izracunavanje
clk
a
start
b
rdy
A
B
IzracunaranjeRezultat dostupna
za ocitavanjeRezultat dostupna
za ocitavanje
0 1 . . .
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaKonverzija algoritma u ASM
• B = 0;• while(A≠0) do• if(A0 = 1) then • B = B + 1;• end if;• A = A >> 1;• end while;
regA ← ardy
IDLE
start 0
regB ← 0
1
regA ≠ 0
TEST
regA(0)
regB ← regB + 1
INCR
regA ← regA >>1
1
0
SHIFT
NE
DA
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaAnaliza ASM
regA ← ardy
IDLE
start 0
regB ← 0
1
regA ≠ 0
TEST
regA(0)
regB ← regB + 1
INCR
regA ← regA >>1
1
0
SHIFT
NE
DA
1IDLE10xxxxIDLE0111IDLE100000IDLE0100IDLE100000TEST090TEST100001SHIFT080SHIFT010001INCR070INCR010001TEST060TEST010010SHIFT050SHIFT010010TEST040TEST010101SHIFT030SHIFT000101INCR020INCR000101TEST011TESTxxxxxxIDLE10
rdySledecestanje
regBregATekucestanje
STARTCLK
Za a = 0101
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaOptimizacja: stanje INCR pripojeno stanju
TEST
1IDLE10xxxxIDLE09
1IDLE100000IDLE08
0IDLE100000TEST07
0TEST100001SHIFT06
0SHIFT010001TEST05
0TEST010010SHIFT04
0SHIFT010010TEST03
0TEST010101SHIFT02
0SHIFT000101TEST01
1TESTxxxxxxIDLE10
rdySledecestanje
regBregATekuce stanje
STARTCLK
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaOptimizacja: spajanje stanja TEST i SHIFT
regA ← ardy
IDLE
start 0
regB ← 0
1
regA ← regA >>1
regA ≠ 0
regA(0)
regB ← regB + 1
1
0
SHIFT
NE
DA
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaOptimizacja: spajanje stanja TEST i SHIFT
1IDLE10xxxxIDLE061IDLE100000IDLE050IDLE100000SHIFT040SHIFT010001SHIFT030SHIFT010010SHIFT020SHIFT000101SHIFT011TESTxxxxxxIDLE10
rdySledecestanje
regBregATekuce stanje
STARTCLK
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaOptimizacja: ranije postavljanje signala rdy
regA ← ardy
IDLE
start 0
regB ← 0
1
regA ← regA >>1
regA ≠ 0
regA(0)
regB ← regB + 1
1
0
SHIFT
NE
DA
rdy
1IDLE100000IDLE05
1IDLE100000SHIFT04
0SHIFT010001SHIFT03
0SHIFT010010SHIFT02
0SHIFT000101SHIFT01
1TESTxxxxxxIDLE10
rdySledecestanje
regBregATekuce stanje
STARTCLK
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaRazrada
regA ← ardy
IDLE
start 0
regB ← 0
1
regA ← regA >>1
regA ≠ 0
regA(0)
regB ← regB + 1
1
0
SHIFT
NE
DA
rdy
regA ← a
regA ← regA >> 1
regA ≠ 0
regB ← 0
regB ← regB +1
Pomerački registar sa paralelnim upisom
n-ulazno ILI kolo
Brojač sa sinhronim resetom
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaRazrada - staza podataka
regA ← a (la=1,ea=1)
regA ← regA >> 1 (la=0, ea=1)
regA ≠ 0 (signal z)
regB ← 0 (lb=eb=1)
regB ← regB +1 (lb=0, eb=1)
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaRazrada - ASM dijagram upravljačke
jediniceregA ← ardy
IDLE
start 0
regB ← 0
1
regA ← regA >>1
regA ≠ 0
regA(0)
regB ← regB + 1
1
0
SHIFT
NE
DA
rdy
regA ← a (la=1,ea=1)
regA ← regA >> 1 (la=0, ea=1)
regA ≠ 0 (signal z)
regB ← 0 (lb=eb=1)
regB ← regB +1 (lb=0, eb=1)
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaRealizacija - VHDL opis staze podataka
procesi
ENTITY datapath ISPORT(a : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
b : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);la,ea,lb,eb : IN STD_LOGIC;a0,z : OUT STD_LOGIC;clk : IN STD_LOGIC;rst : IN STD_LOGIC);
END datapath;
Microsoft Word Document
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaRealizacija - VHDL opis upravljačke jedinice
ENTITY control ISPORT(start: IN STD_LOGIC;
rdy : OUT STD_LOGIC;z, a0 : IN STD_LOGIC;la,ea,lb,eb : OUT STD_LOGIC;clk : IN STD_LOGIC;rst : IN STD_LOGIC);
END control;
Microsoft Word Document
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaRealizacija - VHDL opis sek. brojača
jedinica
ENTITY bit_counter ISPORT(a : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
b : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);start : IN STD_LOGIC;rdy : OUT STD_LOGIC;clk : IN STD_LOGIC;rst : IN STD_LOGIC);
END bit_counter;
Microsoft Word Document
Arhitektura mikrosistema
Sekvencijalni brojač jedinicaSimulacija
Arhitektura mikrosistema
Ispitni zadatak 1Za ASM dijagram sa slike, nacrtati vremenski dijagram koji
prikazuje taktni signal, clk, stanja (S0, S1 i S2), ulaze (X1, X2 i X3) i izlaze. Ulazna sekvenca je X1 X2 X3 = 011, 101, 111, 010, 110, 101, 001. Usvojiti da se promena stanja dešava na rastuću a promene ulaza na opadajuću ivicu takta. Pretpostaviti da je početno stanje S0.
Arhitektura mikrosistema
Ispitni zadatak 2ASM dijagram sa slike (a) opisuje
ponašanje digitalnog sistema čiji je blok dijagram prikazan na slici (b). Interfejs sistema čine: jednobitni ulazni signal Cin, 4-bitni ulazni signal n i jednobitni izlazni signal Cout. Interno, sistem sadrži registar R. Izvršiti analizu rada sistema pod pretpostavkom da je na ulazu n prisutna vrednost n=3, da je u početnom trenutku sistem u stanju S0 i da se vrednost signal Cin menja na način kao u koloni Cin tabele sa slike (c):
Popuniti tabelu sa slike (c).Vremenski dijagram sa slike (d) dopuniti
talasnim oblikom izlaznog signala Cout.
Svojim rečima objasniti funkciju sistema.
Arhitektura mikrosistema
Ispitni zadatak 2
Arhitektura mikrosistema
Ispitni zadatak 2
• Sistem generiše izlazni signal u trajanju od 1 takta, pomeren u odnosu na signal Cin za n+1 taktova.
Arhitektura mikrosistema
Ispitni zadatak 3• Softverski algoritam predstavljen programskom
sekvencom sa slike konvertovati u funkcionalni ASM dijagram. Pretpostaviti da je niz X[i] smešten u RAM-u.
• max = 0;• for(i=0;i<N;++i) {• if(X[i] > max) {• max = X[i];• }• }
Arhitektura mikrosistema
Ispitni zadatak 3
Microsoft Word Document
Arhitektura mikrosistema
Ispitni zadatak 4• Projektovati stazu podataka i
odgovarajući razrađeni ASM koji će realizovati algoritam definisan funkcionalnim ASM dijagramom sa slike. Na raspolaganju su sledeći funkcionali elementi: jedan 8-bitni brojački registar, jedan 8-bitni registra sa dozvolom, jedna 8-bitna ALU, i potreban broj multipleksera proizvoljnog tipa. Dati sistemski dijagram koji pokazuje spregu upravljačke jedinice i staze podataka.
Arhitektura mikrosistema
Ispitni zadatak 4
Arhitektura mikrosistema
Ispitni zadatak 4
Arhitektura mikrosistema
Ispitni zadatak 5• Za ASM dijagram sa
slike projektovati stazu podataka i razrađeni ASM dijagram. Na raspolaganju su sledeći
• funkcionalni elementi:• jedno 8-bitno kolo za
inkrementiranje,• tri 8-bitna registra sa
dozvolom,• jedan 8-bitni sabirač• potreban broj
multipleksera.
Arhitektura mikrosistema
Ispitni zadatak 5
•8-bitni inkrementer•3 8-bitna registra sa dozvolom,•8-bitni sabirač•potreban broj multipleksera
Arhitektura mikrosistema
Ispitni zadatak 5
Arhitektura mikrosistema
Ispitni zadatak 6
• Projektovati “one-hot” upravljačku jedinicu za ASM dijagram sa slike. in0 i in1 su ulaznistatusni signali, a out0, out1, out2 i out3 izlazni upravljački signali.
Arhitektura mikrosistema
Ispitni zadatak 6
Arhitektura mikrosistema
Ispitni zadatak 7Na slici su prikazani blok
dijagram i razrađeni ASM dijagram upravljačke jedinice koja je deo nekog složenogsistema. Upravljačka jedinica interaguje sa okruženjem putem statusnih ulaza start i mode i statusnog izlaza rdy,dok se za spregu upravljačke jedinice i staze podataka koriste: jednobitni upravljački signali ld_1, ld_2, inc, 3-bitni upravljački signal ctrl i jednobitni statusni signal stat. Realizovati upravljačku jedinicu korišćenjem «onehot» tehnike.
Arhitektura mikrosistema
Ispitni zadatak 7
Arhitektura mikrosistema
Ispitni zadatak 8• Ubaciti dodatne multipleksere i povezati komponente sa slike (a)
tako da se dobije dijagram digitalnog sistema koji je u stanju da obavlja algoritam predstavljen funkcionalnim ASM dijagramom sa slike (b). Slike prikazuje (i) brojač sa paralelnim upisom (ce -dozvola brojanja; ld - dozvola paralelnog upisa), (ii) prihvatni registar sa dozvolom upisa (en - dozvola upisa), (iii) binarni sabirač, (iv) višeulazno I kolo i (v) upravljačku jedinicu (UJ).
Arhitektura mikrosistema
Ispitni zadatak 8
Arhitektura mikrosistema
Ispitni zadatak 9
Arhitektura mikrosistema
Ispitni zadatak 9
0 &
X(n-
2 D
OW
NTO
1)