15
Una rete asincrona gestisce una pompa idraulica che porta acqua dal bacino 1 al bacino 2. La rete è dotata di 3 sensori per monitorare il livello dell’acqua: 2 sensori (R1 e R2), uno per ogni bacino, sono detti ‘di riempimento ’ e si accendono quando il livello dell’acqua supera il livello massimo consentito; l’altro sensore (S), collocato sul fondo del bacino 1, è detto ‘di svuotamento ’ e rimane acceso finché è presente dell’acqua nel bacino. Inoltre, la rete è dotata di 2 uscite (P e B), che attivano rispettivamente la pompa e una valvola d’emergenza . La pompa rimane in funzione finché nel bacino 1 c'è acqua oppure finché il bacino 2 non è pieno, altrimenti deve arrestarsi immediatamente. Se mentre la pompa è ferma entrambi i bacini si riempiono, la valvola d’emergenza si apre e svuota il bacino 1. Essa rimane aperta fino a quando il bacino non è completamente vuoto e la pompa non può azionarsi finché la valvola è aperta: solo quando la valvola si richiude, infatti, il ciclo di controllo sulla pompa può ricominciare.

Diagramma degli stati

Embed Size (px)

DESCRIPTION

- PowerPoint PPT Presentation

Citation preview

Page 1: Diagramma degli stati

Una rete asincrona gestisce una pompa idraulica che porta acqua dal bacino 1 al bacino 2. La rete è dotata di 3 sensori per monitorare il livello dell’acqua: 2 sensori (R1 e R2), uno per ogni bacino, sono detti ‘di riempimento’ e si accendono quando il livello dell’acqua supera il livello massimo consentito; l’altro sensore (S), collocato sul fondo del bacino 1, è detto ‘di svuotamento’ e rimane acceso finché è presente dell’acqua nel bacino. Inoltre, la rete è dotata di 2 uscite (P e B), che attivano rispettivamente la pompa e una valvola d’emergenza.

La pompa rimane in funzione finché nel bacino 1 c'è acqua oppure finché il bacino 2 non è pieno, altrimenti deve arrestarsi immediatamente. Se mentre la pompa è ferma entrambi i bacini si riempiono, la valvola d’emergenza si apre e svuota il bacino 1. Essa rimane aperta fino a quando il bacino non è completamente vuoto e la pompa non può azionarsi finché la valvola è aperta: solo quando la valvola si richiude, infatti, il ciclo di controllo sulla pompa può ricominciare.

Page 2: Diagramma degli stati

A, 1,0

E, 0,0

B, 0,0

F, 0,0 D, 0,1

C, 0,1

Diagramma degli statiLa rete è di Moore. Gli ingressi sono nell’ordine: R1, R2, S; le uscite nell’ordine: P, B.

-,0,1

1, 1, 1

0,1,1

0,0,1

0,1,11,1,1

1,-,1

0,-,10,0,0

0,1,0

0,0,0

0,1,0

0,0,0 0,0,1 0,1,10,1,0

0,0,0

0,1,0

1,-,1 0,-,1

Page 3: Diagramma degli stati

Tabella degli stati

000 001 010 011 100 101 110 111

A F A - B - A - C

B - A E B - - - C

C - D - D - C - C

D F D E D - C - C

E F - E B - - - -

F F A E - - - - -

R1R2

S

1,0

0,0

0,1

0,1

0,0

0,0

P,B

Page 4: Diagramma degli stati

Nel diagramma gli stati sono stati divisi in tre gruppi a seconda delle loro uscite. Con il colore blu si ha la pompa attiva, cosa che avviene solo nello stato A. Con il colore grigio si ha sia la pompa sia la valvola disattivate: gli stati sono B, E ed F, che rappresentano il ‘ciclo di controllo’ sul livello dell’acqua nei due bacini. Infine, con il colore rosso si ha la valvola aperta e gli stati C e D, che rappresentano il ‘ciclo di scarico’.

Come si nota sia dal diagramma sia dalla tabella degli stati, i limiti fisici a cui è sottoposta la rete diminuiscono le configurazioni d’ingresso possibili e aumentano le indifferenze: la tabella degli stati è, dunque, incompletamente specificata.In particolare gli ingressi 100 e 110 sono impossibili (il bacino 1 non può essere allo stesso tempo pieno e vuoto) e, nella tabella, le colonne a loro corrispondenti presentano solo indifferenze. Inoltre, negli stati A, C e D un sensore viene lasciato indifferente: nello stato A non influisce il fatto che il bacino 1 sia pieno (sensore R1), ma solo la presenza di acqua o meno (sensore S); negli stati C e D, invece, non è necessario controllare la quantità d’acqua nel bacino 2 (sensore R2), ma solo quella nel bacino 1.

Ora si procede con la semplificazione della rete tramite la tabella triangolare delle implicazioni.

Page 5: Diagramma degli stati

Tabella triangolare delle implicazioni

--

--

-- --

B

C

D

E

F

A B C D E

Classi massime di compatibilità:[A], [BEF], [CD]

α [A] β [BEF] γ [CD]

Page 6: Diagramma degli stati

Diagramma degli stati ridotti

000 001 010 011 100 101 110 111

α β α - β - α - γ

β β α β β - - - γ

γ β γ β γ - γ - γ

P,B

1,0

0,0

0,1

R1R2

S

Come era già intuibile dal diagramma primitivo, gli stati ridotti sono solo tre, corrispondenti alle tre configurazioni di uscita possibili.

Tracciamo ora la mappa di Karnaugh e individuiamo le eventuali corse critiche.

Page 7: Diagramma degli stati

Mappa di Karnaugh (1)

00 01 11 10

00 01 - - -

01 01 01 - -

11 01 01 - -

10 - - - -

00 01 11 10

00 00 01 11 00

01 00 01 11 00

11 11 11 11 11

10 - - - -

R1R2Y1

Y0

R1R2Y1

Y0

S = 0 S = 1

α

β

γ

Nella mappa è presente una sola corsa, facilmente risolvibile con una transizione multipla passante per la configurazione 10 delle variabili di stato, la quale non corrisponde ad alcun stato reale della rete.

Page 8: Diagramma degli stati

Mappa di Karnaugh (2)

00 01 11 10

00 01 - - -

01 01 01 - -

11 01 01 - -

10 - - - -

00 01 11 10

00 00 01 10 00

01 00 01 11 00

11 11 11 11 11

10 - - 11 -

R1R2Y1

Y0

R1R2Y1

Y0

S = 0 S = 1

α

β

γ

Disponendo ora di una mappa di Karnaugh priva di corse, si può passare alla sintesi delle variabili di stato tramite somma di prodotti.

Page 9: Diagramma degli stati

Sintesi delle variabili di stato

00 01 11 10

00 01 - - -

01 01 01 - -

11 01 01 - -

10 - - - -

00 01 11 10

00 00 01 10 00

01 00 01 11 00

11 11 11 11 11

10 - - 11 -

R1R2Y1

Y0

R1R2Y1

Y0

S = 0 S = 1

α

β

γ

Y1 = S*y1 + R1*R2

Y0 = !S + y1 + !R1*R2 + R2*y0

Page 10: Diagramma degli stati

Sintesi delle uscite

0 1

0 1, 0 0, 0

1 -, - 0, 1

Y0Y1

P = !Y0

B = Y1

Poiché la rete è di Moore, le uscite dipendono solo dalle variabili di stato: tramite una mappa di Karnaugh è dunque possibile scrivere la sintesi delle due uscite.

Attraverso le sintesi delle variabili di stato e delle uscite, si può ora realizzare il programma VHDL del progetto.

Page 11: Diagramma degli stati

VHDL

Page 12: Diagramma degli stati

Test Bench

Page 13: Diagramma degli stati

Simulazione Behavioral

Page 14: Diagramma degli stati

Simulazione Post Route (1)

Glitch

Page 15: Diagramma degli stati

Simulazione Post Route (2)

Il passaggio da pompa accesa (stato 00) a valvola aperta (stato 11) necessita la transizione multipla utilizzata per risolvere la corsa nella mappa di Karnaugh. La transizione per lo stato 10 causa un glitch delle uscite a 11 (pompa e valvola attive contemporaneamente) della durata di 1,7 ns.

Glitch