Rete Asincrona Una rete sequenziale asincrona è dotata di due ingressi E, X e di una uscita Z....

Post on 02-May-2015

215 views 1 download

Transcript of Rete Asincrona Una rete sequenziale asincrona è dotata di due ingressi E, X e di una uscita Z....

Rete Asincrona● Una rete sequenziale asincrona è dotata di due ingressi E, X

e di una uscita Z.

● L'uscita Z deve diventare 1 solamente quando durante l'ultima attivazione di X, E ha avuto, come ultimo fronte, un fronte positivo, in caso di fronte negativo invece l'uscita passa a 0. Il cambiamento eventuale dell'uscita avverrà solamente al fronte positivo di X.

● Si progetti la rete utilizzando la sintesi di Mealy, si semplifichino gli stati, si eliminano eventuali corse critiche e si riassuma il tutto

X

E

Z

Diagramma degli Stati

A

00,0

B

01,0

D

11,011,0

C O

00,0 01,0

10,0 00,0

11,0

10,010,0 11,0

01,0

01,0

E

10,0

10,0

F

G H

I

L

M N P

11,1

00,010,0

01,1

11,1

00,1

01,1

10,100,1

10,1

11,1

11,101,1

00,110,1

00,1

11,0

01,0

00,001,1

00,1

10,1

11,1

01,1

00,1 10,1

Spiegazione diagramma stati● Partiamo dallo stato A stabile per 00. Se l'uscita E varia, devo cambiare stato, ma non sono

ancora sulla strada giusta, mi porto infatti negli stati A e C. Avendo un fronte di X posso continuare: se E è a 1 (Stato O) prima dovrà tornare a 0 (Stato B) e se avrò un ulteriore fronte arrivo nello stato D. Qui ho un punto chiave: se E ritorna a zero ritorno in B, ma se cambia X continuo con lo stato E.

● Sono nella condizione voluta, ho appena registrato un fronte positivo di E mentre X era 1, quindi appena si riattiverà X l'uscita andrà ad 1. Intanto che aspetto tale fronte, degli sbalzi di E non cambiano niente, semplicemente vado in degli stati “logicamente simili” (Stato E e G).

● X ha un fronte positivo e l'uscita va quindi a 1. In questo periodo se cambia semplicemente la X senza che la E cambi, non succede niente, ma se ho un fronte di discesa di E seguito anche da X l'uscita dovrà tornare a 0. ritornando quindi negli stati iniziali (Stato B o O)

● Si noti che mentre il segnale X è 1 se ho un numero di cambi pari di E l'uscita non varia, saltello semplicemente fra due stati. Ad esempio se sono in F e la E va a zero, potrei tornare a zero, ma se subito ritorna a 1 non ho nessun problema, la stessa cosa vale anche in B e D. Devo infatti aspettare che la X decresca per vedere come comportarmi.

Tabella degli stati

A A,0 B,0 -,- C,0

B A,0 B,0 D,0 -,-

C A,0 -,- O,0 C,0

D -,- B,0 D,0 E,0

E G,0 -,- F,1 E,0

F -,- M,1 F,1 I,1

G G,0 H,1 -,- E,0

H L,1 H,1 F,1 -,-

I L,1 -,- F,1 I,1

L L,1 H,1 -,- I,1

M N,1 M,1 F,1 -,-

N N,1 B,0 -,- P,1

O -,- B,0 O,0 C,0

P N,1 -,- O,0 P,1

00 01 11 10

Tabella TriangolareB

C DO

D CE DOCE

E AGCE

DF

F

G AGCE

H MH

I

L MH

M LN LN MH

N PI

O DO CE

P PI

A B C D E F G H I L M N O

XX

X

X

X

X X

X XX X X

XXX XX

X X X X X X XXXX

XXXX

XXXXXXX

X XX

XXXXXXXX

X X X X X X X X X

XX XXXXX

X X X X X X X X X

XX

X X X

Classi Di Compatibilità

[AB] [AC] [AO] [BD] [CO] [EG] [FI] [FM] [HI] [HL] [IL] [NP]

Classi Massime Di Compatibilità

[ACO] [BD] [EG] [FM] [HIL] [NP]

Queste classi di compatibilità soddisfano le condizioni di copertura e di chiusura

Codifica degli Stati + Corse

00 01 11 10

[ACO] α α,0 β,0 α,0 α,0

[BD] β α,0 β,0 β,0 γ,0

[EG] γ γ,0 ε,1 δ,1 γ,0

[FM] δ ζ,1 δ,1 δ,1 ε,1

[HIL] ε ε,1 ε,1 δ,1 ε,1

[NP] ζ ζ,1 β,0 α,0 ζ,1

00 01 11 10

α 000 000,0 001,0 000,0 000,0

β 001 000,0 001,0 001,0 101,0

011 -,- -,- -,- -,-

010 -,- -,- -,- -,-

ε 100 100,1 100,1 111,1 100,1

γ 101 101,0 100,1 111,1 101,0

δ 111 110,1 111,1 111,1 100,1

ζ 110 110,1 001,0 000,0 110,1

Corsa

Ho deciso di utilizzare queste codifiche per gli stati perchè sembrano ridurre ilnumero di corse da risolvere.In verde sono evidenziate le corse che si presentano

Risoluzione corse00 01 11 10

α 0000 0000,0 0001,0 0000,0 0000,0

β 0001 0000,0 0001,0 0001,0 0101,0

0011 -,- 0001,0 -,- -,-

0010 -,- 0011,0 0000,0 -,-

ε 0100 0100,1 0100,1 0101,1 0100,1

γ 0101 0101,0 0100,1 0111,1 0101,0

δ 0111 0110,1 0111,1 0111,1 1111,1

ζ 0110 0110,1 0010,0 0010,0 0110,1

1000 -,- -,- -,- -,-

1001 -,- -,- -,- -,-

1011 -,- -,- -,- -,-

1010 -,- -,- -,- -,-

1100 -,- -,- -,- 0100,1

1101 -,- -,- -,- -,-

1111 -,- -,- -,- 1110,1

1110 -,- -,- -,- 1100,1

Per risolvere le corse ho dovutoaggiungere una quarta variabile di stato

Y1 = Y3Y1 + !X2X1Y3Y4

00 01 11 10 00 01 11 10

00 0 0 0 0 00 0 0 0 0

01 0 0 0 0 01 0 0 0 0

11 - 0 - - 11 0 0 0 1

10 - 0 0 - 10 0 0 0 0

Y1Y2 = 00 Y1Y2 = 01

00 01 11 10 00 01 11 10

00 - - - - 00 - - - 0

01 - - - - 01 - - - -

11 - - - - 11 - - - 1

10 - - - - 10 - - - 1

Y1Y2 = 10 Y1Y2 = 11

X1X2

X1X2

X1X2

X1X2Y3Y4

Y3Y4Y3Y4

Y3Y4

Y2 = Y4X1!X2 + !X2Y2 + Y2!Y3+Y4Y2

00 01 11 10 00 01 11 10

00 0 0 0 0 00 1 1 1 1

01 0 0 0 1 01 1 1 1 1

11 - 0 - - 11 1 1 1 1

10 - 0 0 - 10 1 0 0 1

Y1Y2 = 00 Y1Y2 = 01

00 01 11 10 00 01 11 10

00 - - - - 00 - - - 1

01 - - - - 01 - - - -

11 - - - - 11 - - - 1

10 - - - - 10 - - - 1

Y1Y2 = 10 Y1Y2 = 11

X1X2

X1X2

X1X2

X1X2Y3Y4

Y3Y4Y3Y4

Y3Y4

Y3 = X1X2Y2Y4 + Y2Y3Y4 + !Y1Y3!Y4

00 01 11 10 00 01 11 10

00 0 0 0 0 00 0 0 0 0

01 0 0 0 0 01 0 0 1 0

11 - 0 - - 11 1 1 1 1

10 - 1 - - 10 1 1 1 1

Y1Y2 = 00 Y1Y2 = 01

00 01 11 10 00 01 11 10

00 - - - - 00 - - - 0

01 - - - - 01 - - - -

11 - - - - 11 - - - 1

10 - - - - 10 - - - 0

Y1Y2 = 10 Y1Y2 = 11

X1X2

X1X2

X1X2

X1X2Y3Y4

Y3Y4Y3Y4

Y3Y4

Y4 = !X1X2!Y2 + X1Y4!Y1 + X2Y3Y4 + X1X2Y2!Y3 + !X2Y2Y3Y4

00 01 11 10 00 01 11 10

00 0 1 0 0 00 0 0 1 0

01 0 1 1 1 01 1 0 1 1

11 - 1 - - 11 0 1 1 1

10 - 1 0 - 10 0 0 0 0

Y1Y2 = 00 Y1Y2 = 01

00 01 11 10 00 01 11 10

00 - - - - 00 - - - 0

01 - - - - 01 - - - -

11 - - - - 11 - - - 0

10 - - - - 10 - - - 0

Y1Y2 = 10 Y1Y2 = 11

X1X2

X1X2

X1X2

X1X2Y3Y4

Y3Y4Y3Y4

Y3Y4

Schematico