Esercizio 14circuito sequenziale di Moore con codifica Gray (tema d'esame settembre 2025)
In questa pagina 7
Testo (tema d'esame settembre 2025, esercizio 2 della parte di pratica; la foto del testo è tagliata sul bordo destro, qui è riportato per intero ciò che si legge). Realizzare il circuito sequenziale sincrono con un ingresso e due uscite, e , tutti e tre a 1 bit, che funziona in questo modo: partendo dallo stato iniziale (0 bit riconosciuti) e uscite , quando il circuito riconosce il primo bit all'ingresso, il segnale si porta a e vi rimane; successivamente, quando sono riconosciuti tre bit consecutivi (ossia la sequenza ), anche va a e vi rimane. Infine, quando si presenta un ulteriore bit all'ingresso, e ritornano a . Si usi uno schema secondo Moore. Si usino FF D PET. Si chiede di: a) disegnare il diagramma di transizione degli stati, partendo dallo stato iniziale (0 bit riconosciuti) denominato , per procedere poi con gli stati successivi , , ecc; b) prima di avere assegnato qualsiasi codifica agli stati, scrivere la tabella degli stati e delle uscite e minimizzare il numero di stati utilizzati; c) assegnare la codifica Gray (per le variabili che descrivono lo stato) a ogni stato, partendo dallo stato per il quale tutte le variabili (, , ecc, dove è il LSB) devono valere 0; si minimizzino le risorse, ovvero il numero di FF necessari per realizzare il circuito; d) disegnare le corrispondenti mappe di Karnaugh e scrivere le equazioni minimizzate dell'ingresso del primo FF (relativo alla variabile ) e dell'uscita .
Teoria usata: Sintesi delle reti sequenziali - riconoscitore di sequenza e codifica degli statiSintesi di una rete sequenziale sincrona: specifiche $\to$ diagramma degli stati $\to$ tabella (riduzione degli stati equivalenti) $\to$ codifica binaria degli stati $\to$ scelta del FF (D PET) $\to$ equazioni di ingresso dei FF e delle uscite $\to$ minimizzazione $\to$ circuito e verifica. Lo stato riassume la parte di storia utile; per i riconoscitori si ha uno stato per ogni prefisso riconosciuto, riusando gli stati (sovrapposizioni). Reset: stato iniziale noto. Codifica Gray (numero minimo di FF) vs 1-hot (un FF per stato, logica più semplice): per il riconoscitore 1101 Gray costa circa la metà.Sintesi delle reti sequenziali - riconoscitore di sequenza e codifica degli stati →, Analisi delle reti sequenziali - tabella e diagramma degli stati, Mealy e MooreAnalizzare una rete sequenziale sincrona significa ricavare, dal circuito, le equazioni di ingresso dei flip-flop (stato futuro) e dell'uscita, la tabella degli stati ($2^{m+n}$ righe per $m$ FF e $n$ ingressi), il diagramma degli stati (cerchi = stati, frecce = transizioni con ingresso/uscita) e la simulazione temporale. Mealy: uscita funzione di stato e ingresso (scritta sulle frecce, può cambiare tra due fronti di clock); Moore: uscita funzione del solo stato (scritta nel cerchio, cambia solo al fronte). Due stati sono equivalenti se danno le stesse uscite e portano a stati equivalenti: si fondono per ridurre i FF.Analisi delle reti sequenziali - tabella e diagramma degli stati, Mealy e Moore →, Mappe di Karnaugh - POS, condizioni di don't care e paritàPer la POS minima si raggruppano gli 0 della mappa, si ottiene la SOP minima di $\overline F$ e si scrive $F$ come prodotto di somme (variabile diretta se vale 0 nel gruppo, negata se vale 1). Le condizioni di don't care (X) sono combinazioni di ingresso che non si presentano o la cui uscita è indifferente: si usano come 1 o come 0 a seconda di quel che allarga i gruppi (mai raggruppamenti fatti solo di X). Le funzioni XOR a più variabili (disparità) e XNOR (parità) hanno mappa a scacchiera: non si semplificano con i gruppi.Mappe di Karnaugh - POS, condizioni di don't care e parità →, Codici binari - BCD, ASCII, Unicode, parità e GrayUn codice binario a $n$ bit distingue $2^n$ elementi. BCD: una cifra decimale ogni 4 bit (1010–1111 non usati; 10 richiede 8 bit, non è il binario del numero). ASCII: 7 bit per 128 caratteri, la cifra ASCII è 011 seguito dal BCD. Unicode/UTF-8: da 1 a 4 byte, compatibile con ASCII. Bit di parità: rileva errori su un numero dispari di bit. Distanza di Hamming = numero di bit diversi. Codice Gray: numeri consecutivi differiscono di un solo bit (sensori di posizione); si costruisce per riflessione o con $g_i=b_i\oplus b_{i+1}$.Codici binari - BCD, ASCII, Unicode, parità e Gray →.
Interpretazione adottata
Il testo ha alcune zone ambigue; si adotta la lettura più naturale e la si dichiara:
- la sequenza è formata da tre consecutivi (il primo che ha alzato conta come il primo dei tre); un in ingresso azzera il conteggio dei consecutivi ma resta a 1;
- dopo la sequenza le uscite sono e restano così finché si presenta un ulteriore (un non cambia nulla); con il quarto si ritorna a ().
a) Diagramma degli stati
Servono le informazioni: già alzato o no; quanti consecutivi sono arrivati (0, 1, 2, 3); se è alzato. Stati (macchina di Moore, uscite nello stato):
| stato | significato | |||
|---|---|---|---|---|
| nessun ancora ricevuto (stato iniziale) | 00 | |||
| alzato; ultimo ingresso (1 consecutivo) | 10 | |||
| 2 uni consecutivi | 10 | |||
| 3 uni consecutivi: riconosciuta | 11 | |||
| alzato, conteggio azzerato da uno | 10 |
Spiegazione: da e da un interrompe la serie di consecutivi: lo stato in cui si finisce (: resta a 1, conteggio 0) è lo stesso in entrambi i casi; da un nuovo riparte il conteggio (). In () uno non cambia nulla; un riporta tutto a .
b) Minimizzazione degli stati
Un diagramma ingenuo avrebbe uno stato diverso per ogni via con cui si arriva a " alzato, conteggio 0" (uno raggiungibile da con , uno da con ): hanno la stessa uscita e gli stessi stati futuri, quindi sono equivalenti e si fondono in .
Si verifica che i cinque stati restanti non sono equivalenti con il raffinamento di partizioni. Uscite: (), (), (). Dentro : con , va in (che ha ) mentre e vanno in stati con : si separa; poi () e () vanno in stati ora distinti: si separano. Risultano 5 stati distinti.
c) Codifica Gray e numero di flip-flop
Con 5 stati servono flip-flop. Codici Gray assegnati in ordine agli stati (si parte da con ): , , , , . I tre codici sono inutilizzati: don't care. La codifica Gray rende adiacenti sulla mappa gli stati consecutivi.
d) Equazioni
Tabella degli stati futuri (le uscite non dipendono da ):
| stato | : stato futuro | : stato futuro | ||
|---|---|---|---|---|
| 000 | 000 | 001 | 00 | |
| 001 | 110 | 011 | 10 | |
| 011 | 110 | 010 | 10 | |
| 010 | 010 | 000 | 11 | |
| 110 | 110 | 001 | 10 |
Ingresso del primo flip-flop (, bit dello stato futuro). futuro vale per , cioè nelle celle della mappa in ; i codici sono don't care. Mappa (righe , colonne ):
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 00 | 0 | 1 | 1 | 0 |
| 01 | 0 | 0 | 0 | 0 |
| 11 | 0 | 1 | X | X |
| 10 | X | X | X | X |
Gruppi (usando le X): , cioè le celle (le celle reali e più le X e ): , ; e , cioè le celle (la cella reale più le X): , . Risultato:
Uscita . Vale in (codici ) e in (); le altre combinazioni sono don't care:
| 00 | 01 | 11 | 10 | |
|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 |
| 1 | X | X | X | 1 |
Gruppi: le celle con (, le ultime due sono X): ; le celle con (): . Insieme coprono tutti gli . ( non serve: l'unico è nello stato .) Controllo: ✓; ✓. Anche l'altra uscita risulta (solo ha ).
Per completezza: e .
Simulazione di controllo
Ingresso da :
| ciclo | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | |
| stato | |||||||||||||||
| 00 | 00 | 10 | 10 | 10 | 10 | 10 | 11 | 00 | 00 | 10 | 10 | 10 | 10 | 11 |
si alza dopo il primo (stato dal ciclo 2). Lo del ciclo 3 interrompe la serie (stato : resta a 1). I tre consecutivi dei cicli 4, 5, 6 portano a ( al ciclo 7: l'uscita di Moore compare dopo il fronte). Il del ciclo 7 riporta a ( al ciclo 8). Il circuito con le equazioni trovate riproduce la tabella su tutte le combinazioni (stato, ) valide.
Errori comuni
- Dimenticare che resta a 1 anche dopo uno .
- Non fondere gli stati equivalenti (un diagramma con 6–7 stati).
- Non usare i codici inutilizzati come don't care: si perderebbe .
- Assegnare codici non-Gray o non partire da per (il testo lo richiede).
Versione ripasso
- Testo. Moore con ingresso , uscite : primo (resta); poi tre consecutivi ; un ulteriore azzera entrambe. FF D PET. Diagramma, riduzione degli stati, codifica Gray, mappe di e . (Interpretazione dichiarata: il primo conta; uno azzera il conteggio ma non .)
- Stati: ; ; . : , ; : , ; : , ; : , ; : , . Due stati "conteggio 0" ingenui sono equivalenti 5 stati, 3 FF.
- Gray: , , , , (100, 101, 111 don't care).
- Equazioni: ; ; (, , ) (Mappe di Karnaugh - POS, condizioni di don't care e paritàPer la POS minima si raggruppano gli 0 della mappa, si ottiene la SOP minima di $\overline F$ e si scrive $F$ come prodotto di somme (variabile diretta se vale 0 nel gruppo, negata se vale 1). Le condizioni di don't care (X) sono combinazioni di ingresso che non si presentano o la cui uscita è indifferente: si usano come 1 o come 0 a seconda di quel che allarga i gruppi (mai raggruppamenti fatti solo di X). Le funzioni XOR a più variabili (disparità) e XNOR (parità) hanno mappa a scacchiera: non si semplificano con i gruppi.Mappe di Karnaugh - POS, condizioni di don't care e parità →).
- Errori: azzerato da uno 0; stati equivalenti non fusi; don't care non usati.