View
306
Download
16
Category
Preview:
DESCRIPTION
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika. IMPLEMENTACIJA SEKVENCIJALN E LOGIKE. dr Zoran Mitrović. Implementacija sekvencijalne logike. Se kv en cijalna kola Osnovni sekvencijalni elementi Kombinaciona logika Model i za predstavljanje sekvencijalnih kola - PowerPoint PPT Presentation
Citation preview
VTŠ Novi SadElektronika 2 - Digitalna elektronika
6. IMPLEMENTACIJA SEKVENCIJALNE LOGIKE
dr Zoran Mitrović
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 2
Implementacija sekvencijalne logike
Sekvencijalna kola Osnovni sekvencijalni elementi Kombinaciona logika
Modeli za predstavljanje sekvencijalnih kola Metoda konačnih stanja (Finite-state machines) Predstavljanje memorije (stanja) Promene stanja (tranzicije)
Osnovna sekvencijalna kola Pomerački registri Brojači
Procedura projektovanja Dijagrami stanja Tabela tranzicija Funkcije sledećeg stanja
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 3
Elementi stanja Podeliti kolo na kombinacionu logiku i stanje Lokalizovati petlje povratne sprege i obezbediti da
je olakšano da se raskinu Implementacija elemenata memorije vodi do
različitih formi sekvencijalne logike
CombinationalLogic
Elementi memorije
Izlazi
Izlazi stanjaUlazi stanja
Ulazi
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 4
Forme sekvencijalne logike
Asinhrona sekvencijalna logika – promene stanja se dešavaju kad se menjaju stanja ulaza (elementi mogu da budu obične šice ili elementi kašnjenja)
Sinhrona sekvencijalna logika – promene stanja se dešavaju u definisanim koracima kroz memorijske elemente (koristeći periodični talasni oblik - takt)
Takt
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 5
In = 0In = 1
In = 0In = 1
100
010
110
111001
Prikaz “mašine” konačnih stanja
Stanja: definisana mogućim vrednostima u sekvencijalnim memorijskim elementima
Tranzicija: promena stanja Takt: dozvoljava kad stanje može da se promeni
kontrolom memorijskih elemenata
Sekvencijalna logika Sekvencijalni prolazak kroz niz stanja Bazirana na sekvenci vrednosti ulaznih signala Periodi takta definišu elemente sekvence
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 6
Primer dijagrama “mašine” konačnih stanja
Kombinaciona brava sa početka kursa
resetS3
zatvoreno
zatvorenomux=C1 jednako
& novi
nije jednako& novi nije jednako
& novi nije jednako & novi
nije novinije novinije novi
S1 S2 OTVORENO
GREŠKA
zatvorenomux=C2 jednako
& novi
zatvorenomux=C3 jednako
& noviotvoreno
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 7
Može li bilo koji sekvencijalni sistem
da se predstavi dijagramom stanja? Pomerački registar
Ulazna vrednost predstavljenana tranzicionim lukovima
Izlazna vrednost prikazanaunutar čvora stanja 100 110
111
011
101010000
001
0
1
1 1
11
1
1
0
0
0
0 0
1
00
D Q D Q D QIN
OUT1 OUT2 OUT3
CLK
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 8
010
100
110
011001
000
101111
3-bitni brojač na gore
Brojači su proste “mašine” konačnih stanja
Brojači Prolaze kroz dobro definisanu sekvencu stanja kao odgovor
na enable Mnogo tipova brojača: binarni, BCD, sa grejovim
kodom 3-bitni brojač na gore: 000, 001, 010, 011, 100, 101, 110, 111,
000, ... 3-bitni brojač na dole: 111, 110, 101, 100, 011, 010, 001, 000,
111, ...
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 9
Kako pretvaramo dijagram stanja u logiku?
Brojač Tri flip-flopa pamte stanje Logika za izračunavanje sledećeg stanja Takt kontroliše kad može da se promeni stanje flip-flop-a
Sačekati dovoljno dugo da kombinaciona logika izračuna novu vrednost
Ne sme se čekati predugo – niske performanse
D Q D Q D Q
OUT1 OUT2 OUT3
CLK
"1"
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 10
Procedura projektovanja “mašine” konačnih stanja
Počinje se od brojača Prosto, jer je izlaz samo stanje Prosto, jer izbor sledećeg stanja ne zavisi od ulaza
Dijagram stanja -> tabela prelaza iz stanja u stanje Tabularna forma dijagrama stanja Nalik na kombinacionu tabelu
Kodiranje stanja Odluka o prikazu stanja Za brojače je to prosto: samo njegova vrednost
Implementacija Flip-flop za svaki bit stanja Kombinaciona logika bazirana na kodiranju
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 11
010
100
110
011001
000
101111
3-bitni brojač na gore
tekuće stanje sledeće state0 000 001 11 001 010 22 010 011 33 011 100 44 100 101 55 101 110 66 110 111 77 111 000 0
Procedura projektovanja “mašine” konačnih stanja: dijagram stanja -> tabela prelaza iz stanja u stanje
Tabularna forma dijagrama stanja Nalik na kombinacionu tabelu (specifirati izlaze za
sve ulazne kombinacije) Kodiranje stanja: prosto za brojače – samo se
koristi vrednost
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 12
C3 C2 C1 N3 N2 N10 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 1 1 01 1 0 1 1 11 1 1 0 0 0
N1 := C1'N2 := C1C2' + C1'C2
:= C1 xor C2N3 := C1C2C3' + C1'C3 + C2'C3
:= C1C2C3' + (C1' + C2')C3:= (C1C2) xor C3
notacija koja pokazuje koja funkcija predstavlja ulaz u D-FF
Implementacija D flip-flop za svaki bit stanja Kombinaciona logika bazirana na kodiranju
0 0
0 1
1 1
0 1C1C2
C3N30 1
1 0
1 0
0 1C1C2
C3N21 1
0 0
1 1
0 0C1C2
C3N1
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 13
D QQ
Implementacija (nastavak)
Programabilni blok za građenje sekvencijalne logike Makro-ćelija: FF + logika
D-FF Sposobnost logike u dva nivoa, nalik na PAL (npr., 8 proizvodnih
izraza)
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 14
In C1 C2 C3 N1 N2 N30 0 0 0 0 0 00 0 0 1 0 0 00 0 1 0 0 0 10 0 1 1 0 0 10 1 0 0 0 1 00 1 0 1 0 1 00 1 1 0 0 1 10 1 1 1 0 1 11 0 0 0 1 0 01 0 0 1 1 0 01 0 1 0 1 0 11 0 1 1 1 0 11 1 0 0 1 1 01 1 0 1 1 1 01 1 1 0 1 1 11 1 1 1 1 1 1
N1 := InN2 := C1N3 := C2
Još jedan primer
Pomerački registar Ulaz određuje sledeće stanje
100 110
111
011
101010000
0010
1
1 111
1
1
00
0
0 0
1
00
D Q D Q D QIN
OUT1 OUT2 OUT3
CLK
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 15
Primer kompleksnijeg brojača Kompleksni brojač
Ponavlja pet stanja u sekvenci Nije prikaz binarnih brojeva
Korak 1: Nacrtati dijagram tranzicije stanja Brojačka sekvenca: 000, 010, 011, 101, 110
Korak 2: Nacrtati tabelu tranzicije stanja iz dijagrama tranzicije stanja
Trenutno stanje Sledeće stanjeC B A C+ B+ A+0 0 0 0 1 00 0 1 – – –0 1 0 0 1 10 1 1 1 0 11 0 0 – – –1 0 1 1 1 01 1 0 0 0 01 1 1 – – –
primetiti stanja nije-važno koja su ustvari nekorišćeni kodovi stanja
010
000 110
101
011
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 16
C+ := A
B+ := B' + A'C'
A+ := BC'
Primer kompleksnijeg brojača (nastavak)
Korak 3: K-mape za funkciju sledećeg stanja
0 0
X 1
0 X
X 1AB
CC+1 1
X 0
0 X
X 1AB
CB+0 1
X 1
0 X
X 0AB
CA+
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 17
Primer kompleksnijeg brojača (nastavak)
Uključiti i stanja nije-važno u tabelu tranzicija, da se definiše način kako se brojač vraća u projektovani sled
0 0
1 1
0 0
1 1AB
CC+1 1
1 0
0 1
0 1AB
CB+0 1
0 1
0 0
0 0AB
CA+
Sadašnje Sledeće C B A C+ B+ A+0 0 0 0 1 00 0 1 1 1 00 1 0 0 1 10 1 1 1 0 11 0 0 0 1 01 0 1 1 1 01 1 0 0 0 01 1 1 1 0 0
010
000 110
101
011
001111
100
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 18
Samo-startujući brojači Početna stanja
Prilikom uključenja brojač može da bude i u nekorišćenom ili u ne-validnom stanju
Projektant mora da obezbedi da brojač radi i kad uđe u ne-validno stanje
Rešenje sa samo-startovanjem Projektovati brojač tako da ne-validna stanja prelaze u validna Može da se ograniči rad sa stanjima nije-važno
implementacijana prethodnom slajdu
010
000 110
101
011
001111
100
010
000 110
101
011
001 111
100
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 19
Model stanja (State Machine)
Vrednosti koje se čuvaju u registrima predstavljaju stanje kola
Kombinaciona logika računa: Sledeće stanje
Funkcija sadašnjeg stanja i ulaza Izlaze
Funkcija sadašnjeg stanja i ulaza (Mealy-jeva “mašina”) Funkcija samo sadašnjeg stanja (Moore-ova “mašina”)
UlaziIzlazi
Sledeće stanje
Sadašnje stanje
izlaznalogika
sledeće stanjelogika
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 20
Model stanja (nastavak)
Stanja: S1, S2, ..., Sk Ulazi: I1, I2, ..., Im Izlazi: O1, O2, ..., On Funkcija tranzicije: Fs(Si, Ij) Izlazna funkcija: Fo(Si) or Fo(Si, Ij)
UlaziIzlazi
Sledeće stanje
Sadašnje stanje
izlazna logika
logika sledećeg stanja
Takt
Sledeće stanje
Stanje0 1 2 3 4 5
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 21
VendingMachine
FSM
N
D
Reset
Takt
OtvaranjeSenzornovčića
mehanizam za izbacivanjeproizvoda
Primer: Automat za prodaju
Izbaciti proizvod nakon što je ubačeno 15 dinara Jedan prorez za ubacivanje novca, samo metalni 5
i 10 dinara Nema vraćanja novca
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 22
Primer: Automat za prodaju (nastavak)
Pogodan prikaz Proučiti tipične ulazne sekvence:
3 novčića od 5 din 5 din, zatim 10 din 10 din, zatim 5 din 2 novčića od 10 din
Nacrtati dijagram stanja: Ulazi: N (5 din), D (10 din), reset Izlaz: otvaranje vratanaca
Pretpostavke: Pretpostavimo da su u jednom
ciklusu prihvaćeni N i D Svako stanje ima petlju za
N = D = 0 (nema novčića)
S0
Reset
S2
D
S6[otvoreno]
D
S4[otvoreno]
D
S1
N
S3
N
S7[otvoreno]
N
S5[otvoreno]
N
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 23
Primer: Automat za prodaju (nastavak)
Minimizirati broj stanja – koristiti definisano stanje kad god je moguće
tabela simboličkih stanja
sadašnje ulazi sledeći izlazstanje D N otvaranje 0 din 0 0 0 din 0
0 1 5 din 01 0 10 din 01 1 – –
5 din 0 0 5 din 00 1 10 din 01 0 15 din 01 1 – –
10 din 0 0 10 din 00 1 15 din 01 0 15 din 01 1 – –
15 din – – 15 din 1
0 din
Reset
5 din
N
N
N + D
10 din
D
15din[otvaranje]
D
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 24
sadašnje ulazi sledeće izlaz stanje stanje Q1 Q0 D N D1 D0 otvaranje 0 0 0 0 0 0 0
0 1 0 1 01 0 1 0 01 1 – – –
0 1 0 0 0 1 00 1 1 0 01 0 1 1 01 1 – – –
1 0 0 0 1 0 00 1 1 1 01 0 1 1 01 1 – – –
1 1 – – 1 1 1
Primer: Automat za prodaju (nastavak)
Jedinstveno kodiranje stanja
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 25
D1 = Q1 + D + Q0 N
D0 = Q0’ N + Q0 N’ + Q1 N + Q1 D
OPEN = Q1 Q0
Primer: Automat za prodaju (nastavak)
Mapiranje u logiku0 0 1 10 1 1 1X X X X1 1 1 1
Q1D1
Q0
ND
0 1 1 01 0 1 1X X X X0 1 1 1
Q1D0
Q0
ND
0 0 1 00 0 1 0X X X X0 0 1 0
Q1Open
Q0
ND
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 26
sadašnje ulazi sledeće izlaz stanje stanjeQ3Q2 Q1Q0 D N D3 D2 D1 D0 otvaranje0 0 0 1 0 0 0 0 0 1 0
0 1 0 0 1 0 01 0 0 1 0 0 01 1 - - - - -
0 0 1 0 0 0 0 0 1 0 00 1 0 1 0 0 01 0 1 0 0 0 01 1 - - - - -
0 1 0 0 0 0 0 1 0 0 00 1 1 0 0 0 01 0 1 0 0 0 01 1 - - - - -
1 0 0 0 - - 1 0 0 0 1
D0 = Q0 D’ N’
D1 = Q0 N + Q1 D’ N’
D2 = Q0 D + Q1 N + Q2 D’ N’
D3 = Q1 D + Q2 D + Q2 N + Q3
OPEN = Q3
Primer: Automat za prodaju (nastavak)
Kodiranje za slučaj da je samo jedan ulaz aktivan
Recommended