Una volta tradotta in specifiche di progetto la descrizione testuale di una rete sequenziale sincrona, si passa a generare il diagramma degli stati che avrà il seguente aspetto:
Vediamo un esempio partendo da una descrizione testuale:
"si vuole realizzare il controllore elettronico di un semaforo posto all'incrocio fra due strade, mediante una rete sequenziale sincrona avente segnale di sincronismo (clock) con periodo di 1 minuto. La rete deve alternativamente dare il verde e il rosso alle due direzioni ogni minuto, a meno che venga premuto il pulsante di attraversamento pedonale, nel qual caso si dà simultaneamente per due minuti il rosso a entrambe le strade, poi si dà un turno di verde a ciascuna (indipendentemente dal fatto che qualcuno prema la richiesta di attraversamento pedonale) e infine si riabilita la funzione di richiesta attraversamento."
Una traduzione in specifiche di progetto della precedente richiesta può essere così effettuata:
la rete da realizzare ha un ingresso P corrispondente al pulsante di richiesta di attraversamento pedonale (P vale 1 quando il pulsante è premuto) e due uscite D1 e D2 corrispondenti alle luci del semaforo nella direzione delle due strade (D1 vale 0 quando deve essere accesa la luce rossa, 1 quando deve essere accesa la verde). Finché P = 0, D1 e D2 si alternano ad ogni periodo del clock ai valori 0 e 1; quando P diventa 1, si forzano entrambe D1 e D2 a 0 per due periodi di clock, quindi si riprende l'alternanza di rosso e verde interrotta per almeno un turno prima di riconsiderare il valore di P".
A questo punto, è necessario decidere se si intende sintetizzare la rete sequenziale come macchina di Mealy oppure come macchina di Moore.
Il diagramma degli stati può essere costruito a partire da uno stato caratterizzato ad esempio da P = 0, da D1D2 = 10, non preceduto immediatamente dalla situazione P = 1.
La tabella degli stati e delle uscite corrispondente ha il seguente aspetto:
Considerando che 8 stati richiedono log28 = 3 variabili di stato (y1 y2 e y3) si ottiene la seguente tabella delle transizioni:
La sintesi delle uscite è già effettuabile con le tecniche della sintesi combinatoria (si ricordi che le uscite sono funzione sia degli ingressi sia delle variabili di stato):
Per la sintesi degli ingressi ai bistabili, è necessario scegliere il tipo di bistabile e costruire la tabella delle eccitazioni. Nell'ipotesi di utilizzare flip-flop J-K master slave, la cui tabella delle eccitazioni è:
otteniamo la seguente tabella delle eccitazioni dell'intera rete:
Questa tabella è ottenuta confrontando nella tabella delle transizioni le variabili di stato presente y con le variabili di stato prossimo Y. La tabella di eccitazione del bistabile, da noi scelto, in base a questa transizione di stato, ci fornisce i valori d'ingresso ai bistabili. A questo punto sempre con le tecniche della sintesi combinatoria possiamo costruire le funzioni logiche che esprimono gli ingressi ai bistabili.
In questo caso, il diagramma degli stati sarà:
La tabella degli stati viene costruita in modo leggermente diverso, inserendo i valori delle uscite in una colonna separata, non influenzata dai valori degli ingressi alla rete.
Riassegnando le medesime configurazioni di variabili di stato utilizzate nella sintesi di Mealy, si ottiene la seguente tabella delle transizioni e delle uscite:
La sintesi delle uscite è già effettuabile con le tecniche della sintesi combinatoria, tenendo presente che nelle macchine di Moore le uscite sono funzione delle sole variabili di stato.
Per la sintesi degli ingressi ai bistabili, è necessario scegliere il tipo di bistabile e costruire la tabella delle eccitazioni. Adottando ancora bistabili J-K, si ottiene la seguente tabella:
La sintesi combinatoria (essendo la tabella delle eccitazioni uguale a quella ottenuta in precedenza) porta agli stessi risultati del caso della macchina di Mealy:
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.