27
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 6. IMPLEMENTACIJA SEKVENCIJALNE LOGIKE dr Zoran Mitrović

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika

  • Upload
    helmut

  • View
    293

  • Download
    16

Embed Size (px)

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

VTŠ Novi Sad Elektronika 2 - Digitalna elektronika 27

Jedna implementacija detektora ivice

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

00[0]

10[0]

01[1]

X’ X

X’

X

X

X11[0]

X’

X’