układy sekwencyjne - pojęcie automatu

28
1 I T P W ZPT Układy sekwencyjne - pojęcie automatu Automat a) zbioru liter wejściowych V (X) b) zbioru stanów wewnętrznych S, c) funkcji przejść (ozn. ), d) funkcji wyjść (ozn. ). i wyjściowych Y, v V y Y jest definiowany przez określenie: S 1 S 2 S 3 v 1 v 2 v 2 v 2 v 1 v 1 v 3 v 3 v 3 v 2 Y 2 v 1 Y 1 Y 3 v 3 v 1 /Y 2 / Y 1 /Y 3

Upload: tim

Post on 10-Jan-2016

75 views

Category:

Documents


0 download

DESCRIPTION

Układy sekwencyjne - pojęcie automatu.  Automa t. v 2. v 1. v  V. y  Y. v 3. S 2. /Y 1. S 1. /Y 2. v 2. v 1. v 3. v 1. v 2. v 3. Y 3. Y 1. Y 2. v 1. v 3. v 1. /Y 3. S 3. v 2. jest definiowany przez określenie: . a) zbioru liter wejściowych V ( X ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Układy sekwencyjne - pojęcie automatu

1

ITPW

ZPT

Układy sekwencyjne - pojęcie automatu

 Automat

a) zbioru liter wejściowych V (X)

b) zbioru stanów wewnętrznych S,

c) funkcji przejść (ozn. ),

d) funkcji wyjść (ozn. ).

i wyjściowych Y,

v V y Y

jest definiowany przez określenie: 

S1

S1 S2

S2

S3

S3

v1

v1

v2

v2

v2

v2

v2

v2

v1

v1

v1

v1

v3

v3

v3

v3

v3

v3

v2

v2

Y2

Y2v1

v1

Y1

Y1Y3

Y3v3

v3v1

v1

/Y2

/Y2 /Y1

/Y1

/Y3

/Y3

Page 2: Układy sekwencyjne - pojęcie automatu

2

ITPW

ZPT

Funkcja przejść i wyjść

Funkcja wyjść:

: S Y (tzw. automat Moore’a)

Funkcja przejść: : S X S

: S X Y (tzw. automat Mealy’ego)

Automat może być zupełny lub niezupełny

Page 3: Układy sekwencyjne - pojęcie automatu

3

ITPW

ZPT

Specyfikacja automatu

Mealy’egoTablica przejść-wyjść automatu:

Moore’a

v1 v2 v1 v2

S1 S2 S1 y1 y2

S2 S3 S2 y3 y1

S3 S2 S1 y2 y3

v1 v2 v3 y

S1 S2 S1 S3 y2

S2 S3 S1 S2 y1

S3 S1 S3 S2 y3

... i grafMealy’ego: Moore’a:

stan/wyjście

wejście

stan

wejście/wyjście

Page 4: Układy sekwencyjne - pojęcie automatu

4

ITPW

ZPT

Specyfikacja automatu

Mealy’egoTablica przejść-wyjść automatu:

Moore’a

v1 v2 v1 v2

S1 S2 S1 y1 y2

S2 S3 S2 y3 y1

S3 S2 S1 y2 y3

v1 v2 v3 y

S1 S2 S1 S3 y2

S2 S3 S1 S2 y1

S3 S1 S3 S2 y3

... i graf

Mealy’ego

Moore’a

v

vvv

v

v

v

v

v1

11

2

2

3

3

2

3

y

y

1

3

2

S

S

S

3

1

/y2

v /y

v /y

v /y

v /y

v /y

v /y1

1

1

1

2

2

2

1

2

3

3

2

1S

3S

2S

Page 5: Układy sekwencyjne - pojęcie automatu

5

ITPW

ZPT

x1

xn

y1

ym

Q1

Qk

q1

qk

Układ sekwencyjny

układ kombinacyjny

Układy sekwencyjne:

Synchroniczne (BP zbudowany z przerzutników synchronicznych)

wejście synchronizujące

Asynchroniczne (BP realizują opóźnienia lub przerzutniki asynchroniczne)

blok pamięci

UK

BP

CLK

US

Zakodowane litery wejściowe Zakodowane litery wyjściowe

Zakodowane stany automatu

Page 6: Układy sekwencyjne - pojęcie automatu

6

ITPW

ZPT

x1

xn

y1

ym

Q1

Qk

q1

qk

Synchroniczne układy sekwencyjne

UK

Przerzutniki

CLK

BP

Page 7: Układy sekwencyjne - pojęcie automatu

7

ITPW

ZPT

Przerzutniki

Przerzutnik

– to automat typu Moore’a o dwóch stanach wewnętrznych, jednym lub dwóch wejściach informacyjnych, dwóch wyjściach (prostym i zanegowanym) oraz wejściu synchronizującym (zegarowym).

W zależności od rodzaju wejść informacyjnych wyróżniamy przerzutniki typu: D, T, SR oraz JK.

FFI1

I2

Q

Q

CLK

FFDQ

Q

CLK

FFTQ

Q

CLK

FFSR

Q

Q

CLK

FFJK

Q

Q

CLK

Page 8: Układy sekwencyjne - pojęcie automatu

8

ITPW

ZPT

Przerzutniki

Przerzutnik jest określony: tablicą przejść, równaniem charakterystycznym, tablicą wzbudzeń.

FFI1

I2

Q

Q

CLK

Page 9: Układy sekwencyjne - pojęcie automatu

9

ITPW

ZPT

Przerzutniki – tablice przejść

D

Q0 1

0 0 1

1 0 1

Q’ = D

T

Q0 1

0 0 1

1 1 0

QTQTQ'

SR

Q00 01 11 10

0 0 0 – 1

1 1 0 – 1

JK

Q00 01 11 10

0 0 0 1 1

1 1 0 0 1

Równanie charakterystyczne: Q’ = f(I1,I2,Q)

Page 10: Układy sekwencyjne - pojęcie automatu

10

ITPW

ZPT

Przerzutniki – tablice wzbudzeń

Q Q’ D T S R J K

00 0 0 0 – 0 –

01 1 1 1 0 1 –

10 0 1 0 1 – 1

11 1 0 – 0 – 0

D – delay T – trigger

S – Set (wejście włączające)R – Reset (wejście wyłączające)

J – wejście włączająceK – wejście wyłączające

Page 11: Układy sekwencyjne - pojęcie automatu

11

ITPW

ZPT

Przebiegi czasowe – przerzutnik typu D

D

Q

CLK

FFDQ

Q

CLK

D

Q0 1

0 0 1

1 0 1

Page 12: Układy sekwencyjne - pojęcie automatu

12

ITPW

ZPT

Przebiegi czasowe – przerzutnik typu T

T

Q

CLK

FFTQ

Q

CLK

T

Q 0 1

0 0 1

1 1 0

Page 13: Układy sekwencyjne - pojęcie automatu

13

ITPW

ZPT

Przebiegi czasowe - porównanie

D (T)

Q (D)

Q (T)

CLK

Page 14: Układy sekwencyjne - pojęcie automatu

14

ITPW

ZPT

Synteza układów sekwencyjnych

Etapy syntezy: synteza abstrakcyjna (utworzenie tablicy przejść-wyjść) redukcja (minimalizacja) liczby stanów kodowanie stanów, liter wejściowych i wyjściowych synteza kombinacyjna (obliczanie funkcji wzbudzeń przerzutników i funkcji wyjściowych)

S1

S1 S2

S2

S3

S3

v1

v1

v2

v2

v2

v2

v2

v2

v1

v1

v1

v1

v3

v3

v3

v3

v3

v3

/Y2

/Y2 /Y

1

/Y

1

/Y3

/Y3

v1 v2 v1 v2

S1 S2 S1 y1 y2

S2 S3 S2 y3 y1

S3 S2 S1 y2 y3

T1Q1

Q 1

Q1

Q 1

T0Q0

Q 0

CLK

x x Y

Page 15: Układy sekwencyjne - pojęcie automatu

15

ITPW

ZPT

Synteza kombinacyjna…

UK wePrzerzutniki

UK wyXXYY

Obliczanie funkcji sterujących wejściami przerzutników (funkcje wzbudzeń)

Obliczanie funkcji wyjściowych

CLK

QQQ’Q’

Q’ = f(X,Q)Y = f(Q) (Moore)

Y = f(X,Q) (Mealy)

Page 16: Układy sekwencyjne - pojęcie automatu

16

ITPW

ZPT

Przykład syntezy (detektor sekwencji)

X S

0 1 0 1

A B A 0 0

B C A 0 0

C C A 0 1

XS Q1Q0

0 1 0 1

A 00 01 00 0 0

B 01 11 00 0 0

C 11 11 00 0 1

(–) 10 – – – – – –Y

Wystarczą dwa przerzutniki

Na razie staramy się spełnić wyłącznie warunek jednoznaczności kodowania

Page 17: Układy sekwencyjne - pojęcie automatu

17

ITPW

ZPT

Obliczanie funkcji wzbudzeń i wyjściowych

XS Q1Q0

0 1 0 1

A 00 01 00 0 0

B 01 11 00 0 0

C 11 11 00 0 1

(–) 10 – – – – – –

XQ1Q0

0 1X

Q1Q00 1

00 0 0 00 1 0

01 1 0 01 1 0

11 1 0 11 1 0

10 – – 10 – –

D1=Q1’ D0=Q0’

Y

xQ1Y

Q0xD1Q1' xD0Q0'

QQ’ D

00 0

01 1

10 0

11 1

Page 18: Układy sekwencyjne - pojęcie automatu

18

ITPW

ZPT

Schemat logiczny detektora sekwencji

xQ1YQ0xD1 xD0

D 1Q 1

Q 1

D 1Q 1

Q 1

D 0Q 0

Q 0

x Y

Page 19: Układy sekwencyjne - pojęcie automatu

19

ITPW

ZPT

Przykład... Realizacja T

XQ1Q0

0 1

00 0 0

01 1 0

11 1 0

10 – –

XQ1Q0

0 1

00 1 0

01 1 0

11 1 0

10 – –

QQ’ T

00 0

01 1

10 1

11 0

XQ1Q0

0 1

00

01

11

10 – –

XQ1Q0

0 1

00

01

11

10 – –

Q1’ Q0’

T1 T0

xQ1x1Q0QT1 xQ00QxT0 Y – jak poprzednio

0 0

0

0

1

1

0

0

0 1

1

1

Page 20: Układy sekwencyjne - pojęcie automatu

20

ITPW

ZPT

Schemat logiczny detektora (T)

xQ1x1Q0QT1 xQ00QxT0 Y – jak poprzednio

T1Q1

Q 1

Q1

Q 1

T0Q0

Q 0

CLK

xx

Y

Page 21: Układy sekwencyjne - pojęcie automatu

21

ITPW

ZPT

Schemat logiczny detektora (JK)

Q0xJ1 xJ0 xK1 xK0

1QJ

K Q0K

J Q

QCLK

Y

Y – jak poprzednio

x

Page 22: Układy sekwencyjne - pojęcie automatu

22

ITPW

ZPT

Nie martwmy się ...

trzeba przetwarzać ogromne tablice wypełnione

zerami i jedynkami.

Ale nie martwmy się! Proces ten – w systemach komputerowego projektowania – jest całkowicie zautomatyzowany.

Synteza kombinacyjna układów sekwencyjnych może być

(i zazwyczaj jest) procesem żmudnym,

01100100

10011110

01001000

01010101

010100111

Page 23: Układy sekwencyjne - pojęcie automatu

23

ITPW

ZPT

Nie martwmy się ...

AHDL lub VHDL

…dalej automatycznie

…aż do zaprogramowania

jedyną czynnością użytkownika jest ...

Page 24: Układy sekwencyjne - pojęcie automatu

24

ITPW

ZPT

Specyfikacja automatu

Nie wnikając w szczegóły takiego zapisu (będą one omawiane na innych wykładach) trzeba podkreślić, że jest to wierne odwzorowanie tablicy przejść wyjść automatu.

AHDLVHDL

AHDLVHDL

Page 25: Układy sekwencyjne - pojęcie automatu

25

ITPW

ZPT

Na przykład licznik ze sterowaniem...

TABLE % current current next next % % state input state output %

s, v[] => s, y; s0, B"00„ => s1, 0; s0, B"01„ => s4, 0; s0, B"1X„ => s0, 0; s1, B"00„ => s2, 0; s1, B"01„ => s0, 0; s1, B"1X„ => s0, 0; s2, B"00„ => s3, 0; s2, B"01„ => s1, 0; s2, B"1X„ => s0, 0; s3, B"00„ => s4, 0; s3, B"01„ => s2, 0; s3, B"1X„ => s0, 0; s4, B"00„ => s0, 1; s4, B"01„ => s3, 1; s4, B"1X„ => s0, 1;

END TABLE;

XS

00 01 10 Y

S0 S1 S4 S0 0

S1 S2 S0 S0 0

S2 S3 S1 S0 0

S3 S4 S2 S0 0

S4 S0 S3 S0 1

zapisany w języku AHDL, po wprowadzeniu...

Page 26: Układy sekwencyjne - pojęcie automatu

26

ITPW

ZPT

…specyfikacji do edytora tekstowego

TABLE % current current next next % % state input state output %

s, v[] => s, y; s0, B"00„ => s1, 0; s0, B"01„ => s4, 0; s0, B"1X„ => s0, 0; s1, B"00„ => s2, 0; s1, B"01„ => s0, 0; s1, B"1X„ => s0, 0; s2, B"00„ => s3, 0; s2, B"01„ => s1, 0; s2, B"1X„ => s0, 0; s3, B"00„ => s4, 0; s3, B"01„ => s2, 0; s3, B"1X„ => s0, 0; s4, B"00„ => s0, 1; s4, B"01„ => s3, 1; s4, B"1X„ => s0, 1;

END TABLE;

Page 27: Układy sekwencyjne - pojęcie automatu

27

ITPW

ZPT

i uruchomieniu kompilatora…

q0 _EQ001 = !q0 & q1 & !X1 & X2 # q2 & !X1 & X2 # !q0 & !q2 & !X1 & !X2;

q1 _EQ002 = q2 & !X1 & X2 # q0 & q1 & !X1 & X2 # !q0 & q1 & !q2 & !X1 & !X2 # q0 & !q1 & !q2 & !X1 & !X2;

q2 _EQ003 = !q0 & !q1 & !q2 & !X1 & X2 # q0 & q1 & !q2 & !X1 & !X2;

EPM7032

...zostanie automatycznie zrealizowany bez udziału projektanta.

Page 28: Układy sekwencyjne - pojęcie automatu

28

ITPW

ZPT

Wniosek

Skoro kompilator oblicza funkcje wzbudzeń automatycznie, to umiejętność ta nie jest w dzisiejszych czasach sprawą najważniejszą.

Lepiej skoncentrować się na tych metodach i procedurach syntezy logicznej, które nie są jeszcze wbudowane do systemów komercyjnych.