układy sekwencyjne - pojęcie automatu

Post on 10-Jan-2016

76 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

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

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

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

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

6

ITPW

ZPT

x1

xn

y1

ym

Q1

Qk

q1

qk

Synchroniczne układy sekwencyjne

UK

Przerzutniki

CLK

BP

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

8

ITPW

ZPT

Przerzutniki

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

FFI1

I2

Q

Q

CLK

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)

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

11

ITPW

ZPT

Przebiegi czasowe – przerzutnik typu D

D

Q

CLK

FFDQ

Q

CLK

D

Q0 1

0 0 1

1 0 1

12

ITPW

ZPT

Przebiegi czasowe – przerzutnik typu T

T

Q

CLK

FFTQ

Q

CLK

T

Q 0 1

0 0 1

1 1 0

13

ITPW

ZPT

Przebiegi czasowe - porównanie

D (T)

Q (D)

Q (T)

CLK

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

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)

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

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

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

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

20

ITPW

ZPT

Schemat logiczny detektora (T)

xQ1x1Q0QT1 xQ00QxT0 Y – jak poprzednio

T1Q1

Q 1

Q1

Q 1

T0Q0

Q 0

CLK

xx

Y

21

ITPW

ZPT

Schemat logiczny detektora (JK)

Q0xJ1 xJ0 xK1 xK0

1QJ

K Q0K

J Q

QCLK

Y

Y – jak poprzednio

x

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

23

ITPW

ZPT

Nie martwmy się ...

AHDL lub VHDL

…dalej automatycznie

…aż do zaprogramowania

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

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

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

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;

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.

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.

top related