You are on page 1of 14

VTŠ Novi Sad

Elektronika 2 - Digitalna elektronika

6. IMPLEMENTACIJA
SEKVENCIJALNE
LOGIKE
dr Zoran Mitrović

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 2
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
Ulazi Izlazi
Combinational
Logic

Ulazi stanja Izlazi stanja

Elementi memorije

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 3

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 4
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
001 010 111
In = 1 In = 0
In = 0
100 110
In = 1
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 5

Primer dijagrama “mašine” konačnih stanja

Kombinaciona brava sa početka kursa

GREŠKA
zatvoreno

nije jednako nije jednako


& novi nije jednako
& novi
& novi
S1 S2 S3 OTVORENO
reset zatvoreno zatvoreno zatvoreno
otvoreno
mux=C1 jednako mux=C2 jednako mux=C3 jednako
& novi & novi & novi

nije novi nije novi nije novi

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 6


Može li bilo koji sekvencijalni sistem
da se predstavi dijagramom stanja?
Pomerački registar
Ulazna vrednost OUT1 OUT2 OUT3
predstavljena
na tranzicionim IN D Q D Q D Q
lukovima CLK
Izlazna vrednost
prikazana
unutar čvora 1
110
100
stanja
1 0 1 1
1

0 000 1 010 101 0 111 1

0
0 0 1 0
001 011
0

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 7

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

001 010 011

000 3-bitni brojač na gore 100

111 110 101

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 8


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
OUT1 OUT2 OUT3

D Q D Q D Q

CLK

"1"

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 9

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 10
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 tekuće stanje sledeće state
001 010 011 0 000 001 1
1 001 010 2
2 010 011 3
000 3-bitni brojač na gore 100
3 011 100 4
4 100 101 5
111 110 101 5 101 110 6
6 110 111 7
7 111 000 0

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 11

Implementacija

D flip-flop za svaki bit stanja


Kombinaciona logika bazirana na kodiranju
notacija koja pokazuje
C3 C2 C1 N3 N2 N1 koja funkcija predstavlja
0 0 0 0 0 1 ulaz u D-FF
0 0 1 0 1 0 N1 := C1'
0 1 0 0 1 1 N2 := C1C2' + C1'C2
:= C1 xor C2
0 1 1 1 0 0
N3 := C1C2C3' + C1'C3 + C2'C3
1 0 0 1 0 1 := C1C2C3' + (C1' + C2')C3
1 0 1 1 1 0 := (C1C2) xor C3
1 1 0 1 1 1
1 1 1 0 0 0

N3 C3 N2 C3 N1 C3
0 0 1 1 0 1 1 0 1 1 1 1

C1 0 1 0 1 C1 1 0 0 1 C1 0 0 0 0

C2 C2 C2
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 12
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)

DQ
Q

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 13

Još jedan primer

Pomerački registar
Ulaz određuje sledeće stanje

In C1 C2 C3 N1 N2 N3 100 1 110
0 0 0 0 0 0 0 1 0 1
1 1
0 0 0 1 0 0 0
0 0 1 0 0 0 1 0 000 1 010 101 0 111 1
0 0 1 1 0 0 1
0 1 0 0 0 1 0 0
0 0 1 0
0 1 0 1 0 1 0 001 011
0 1 1 0 0 1 1 0
0 1 1 1 0 1 1
1 0 0 0 1 0 0 N1 := In
1 0 0 1 1 0 0 N2 := C1
1 0 1 0 1 0 1 N3 := C2 OUT1 OUT2 OUT3
1 0 1 1 1 0 1
1 1 0 0 1 1 0
1 1 0 1 1 1 0 IN D Q D Q D Q
1 1 1 0 1 1 1
1 1 1 1 1 1 1 CLK

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 14


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 stanje
000 110 C B A C+ B+ A+
0 0 0 0 1 0
0 0 1 – – –
0 1 0 0 1 1
010 101 0 1 1 1 0 1
1 0 0 – – –
1 0 1 1 1 0
011 1 1 0 0 0 0
1 1 1 – – –
primetiti stanja nije-važno koja su ustvari nekorišćeni kodovi stanja
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 15

Primer kompleksnijeg brojača (nastavak)

Korak 3: K-mape za funkciju sledećeg stanja


C+ C B+ C A+ C
0 0 0 X 1 1 0 X 0 1 0 X

A X 1 X 1 A X 0 X 1 A X 1 X 0

B B B

C+ := A

B+ := B' + A'C'

A+ := BC'

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 16


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
C+ C B+ C A+ C
0 0 0 0 1 1 0 1 0 1 0 0

A 1 1 1 1 A 1 0 0 1 A 0 1 0 0

B B B

Sadašnje Sledeće 111 001


C B A C+ B+ A+
0 0 0 0 1 0
0 0 1 1 1 0 000 110
0 1 0 0 1 1 100
0 1 1 1 0 1
1 0 0 0 1 0
1 0 1 1 1 0
1 1 0 0 0 0 010 101
1 1 1 1 0 0
011
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 17

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

111 111 implementacija 001


001
na prethodnom slajdu

000 110 000 110


100 100

010 101 010 101

011 011
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 18
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”)
izlazna
Izlazi
logika
Ulazi
sledeće stanje
Sledeće stanje
logika

Sadašnje stanje
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 19

Model stanja (nastavak)

izlazna logika Izlazi


Ulazi
logika
Stanja: S1, S2, ..., Sk sledećeg stanja
Sledeće stanje

Ulazi: I1, I2, ..., Im


Sadašnje stanje
Izlazi: O1, O2, ..., On
Funkcija tranzicije: Fs(Si, Ij)
Izlazna funkcija: Fo(Si) or Fo(Si, Ij)

Sledeće stanje

Stanje
Takt 0 1 2 3 4 5

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 20


Primer: Automat za prodaju

Izbaciti proizvod nakon što je ubačeno 15 dinara


Jedan prorez za ubacivanje novca, samo metalni 5 i 10
dinara
Reset
Nema vraćanja novca

N
Senzor
Vending Otvaranje mehanizam za
izbacivanje
Machine
novčića FSM proizvoda
D

Takt

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 21

Primer: Automat za prodaju (nastavak)

Pogodan prikaz
Reset
Proučiti tipične ulazne sekvence:
⌧3 novčića od 5 din
S0
⌧5 din, zatim 10 din
N D
⌧10 din, zatim 5 din
⌧2 novčića od 10 din
S1 S2
Nacrtati dijagram stanja:
N D N D
⌧Ulazi: N (5 din), D (10 din), reset
⌧Izlaz: otvaranje vratanaca S3
S4 S5 S6
[otvoreno] [otvoreno] [otvoreno]
Pretpostavke:
N
⌧Pretpostavimo da su u jednom
ciklusu prihvaćeni N i D S7
⌧Svako stanje ima petlju za [otvoreno]
N = D = 0 (nema novčića)

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 22


Primer: Automat za prodaju (nastavak)

Minimizirati broj stanja – koristiti definisano stanje kad god je


moguće
Reset sadašnje ulazi sledeći izlaz
stanje D N otvaranje
0 din 0 0 0 din 0
0 1 5 din 0
0 din 1 0 10 din 0
1 1 – –
N 5 din 0 0 5 din 0
0 1 10 din 0
5 din D 1 0 15 din 0
1 1 – –
N 10 din 0 0 10 din 0
0 1 15 din 0
D 1 0 15 din 0
10 din
1 1 – –
15 din – – 15 din 1
N+D
15din tabela simboličkih stanja
[otvaranje]

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 23

Primer: Automat za prodaju (nastavak)

Jedinstveno kodiranje stanja


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 0
1 0 1 0 0
1 1 – – –
0 1 0 0 0 1 0
0 1 1 0 0
1 0 1 1 0
1 1 – – –
1 0 0 0 1 0 0
0 1 1 1 0
1 0 1 1 0
1 1 – – –
1 1 – – 1 1 1

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 24


Primer: Automat za prodaju (nastavak)

Mapiranje u logiku D1 Q1 D0 Q1 Open Q1


0 0 1 1 0 1 1 0 0 0 1 0
0 1 1 1 1 0 1 1 0 0 1 0
N N N
X X X X X X X X X X X X
D D D
1 1 1 1 0 1 1 1 0 0 1 0
Q0 Q0 Q0

D1 = Q1 + D + Q0 N

D0 = Q0’ N + Q0 N’ + Q1 N + Q1 D

OPEN = Q1 Q0

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 25

Primer: Automat za prodaju (nastavak)

Kodiranje za slučaj da je samo jedan ulaz aktivan

sadašnje ulazi sledeće izlaz


stanje stanje
Q3 Q2 Q1 Q0 D N D3 D2 D1 D0 otvaranje D0 = Q0 D’ N’
0 0 0 1 0 0 0 0 0 1 0
0 1 0 0 1 0 0
1 0 0 1 0 0 0 D1 = Q0 N + Q1 D’ N’
1 1 - - - - -
0 0 1 0 0 0 0 0 1 0 0 D2 = Q0 D + Q1 N + Q2 D’ N’
0 1 0 1 0 0 0
1 0 1 0 0 0 0
1 1 - - - - - D3 = Q1 D + Q2 D + Q2 N + Q3
0 1 0 0 0 0 0 1 0 0 0
0 1 1 0 0 0 0 OPEN = Q3
1 0 1 0 0 0 0
1 1 - - - - -
1 0 0 0 - - 1 0 0 0 1

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 26


Jedna implementacija detektora ivice

"Ad hoc" rešenje - nije minimalno, ali je jeftino i brzo


X’

00
X’ [0] X

X
10 01
[0] [1]
X’

X’ 11 X
[0]

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 27

You might also like