Estratto del documento

Nella configurazione 00 non abbiamo elementi forzanti

Per cui se abbiamo s = 0 e r = 0 i NOR non riescono a determinare i valori di uscita. Che s = 0 e r = 0 siano due elementi neutri significa che il circuito originario con due zeri fissi in ingresso è come se fosse un circuito che al posto dei due NOR ha due NOT perché gli elementi neutri fissi sono ingressi che posso rimuovere, se io li collegassi a massa, il NOR diventerebbe un NOT. Questa rappresentazione vale solo se s = 0 e r = 0.

Per ipotesi, se le uscite di questo nuovo circuito fossero 0 e 1 cosa succederebbe? Lo 0 verrebbe negato e quindi rafforzerebbe l'1 e l'1 verrebbe negato e rafforzerebbe lo 0, viceversa se per ipotesi le uscite fossero 1 e 0. Quindi questa è una situazione plausibile, stabile, e troverei una tabella della verità:

y y'
0 1
1 0

Se invece le uscite fossero 0 e 0 questi valori devono venire negati e quindi avremo 1 e 1, ma analogamente, se le uscite fossero 1 e 1 questi...

valori devono venire negati e quindi avremo di nuovo 0 e 0, e così via. Quindi questa configurazione non sarebbe stabile, cioè se il circuito avesse una simmetria perfetta e si trovasse ad avere in un certo momento 00 in uscita si entrerebbe in un loop infinito in cui si alternano 00 e 11. Questo nella realtà non accadrà mai perché non esiste un circuito perfettamente simmetrico. Quindi il circuito non andrà mai in loop ma entrerà in una delle due condizioni stabili descritte dalla tabella della verità però noi non sapremo determinare quale sia lo stato, cioè non sappiamo più pilotare o precedere il circuito, per cui la configurazione del circuito originale 00 è una condizione in cui non vogliamo finire perché perderemo il controllo sull'uscita del circuito che dipenderebbe da fenomeni involontari (imprecisioni, imperfezioni, ritardi, ... ) e quindi non possiamo condizionare il funzionamento.

di un circuito logico che vorremo far funzionare in modo deterministico a qualcosa che invece sfugge al nostro controllo. In corrispondenza della configurazione 00 non sappiamo cosa dire perché abbiamo trovato tre situazioni (una instabile che continua a oscillare il segnale e due stabili) diverse. Quindi questo circuito non può essere un circuito combinatorio.

Se volessimo costruire una tabella della verità esaustiva che ci consenta di completare tutte le righe, dovremmo tener conto del fatto che anche le uscite si comportano anche come degli ingressi e quindi dovremmo mettere y e y' sia a sinistra che a destra della linea verticale che separa le variabili indipendenti da quelle dipendenti.

Circuito sequenziale

Il circuito trattato finora si chiama circuito sequenziale, o meglio una macchina a stati finiti. Le macchine a stati finiti sono delle sestuple (hanno sei elementi) dove gli elementi sono (S, I, O, f, g, s ). Vediamo cosa sono:

0 → S è

l'insieme degli stati in cui questa macchina si può trovare. Si chiama macchina a stati finiti perché l'insieme degli stati S è finito. Lo stato iniziale s appartiene a S.

  • I è l'insieme delle possibili configurazioni di ingresso (es: se le variabili sono 2, l'insieme I contiene 4 possibili comandi: 00, 01, 10, 11).
  • O è l'insieme delle possibili configurazioni di uscita.
  • f è una funzione booleana, detta funzione di uscita (output function). Determina il valore dell'uscita in funzione dell'ingresso e dello stato presente della macchina, f(s, i) = o.
  • g è una funzione booleana, detta funzione di stato futuro (next-state function). Ci dice come evolve lo stato della macchina. Determina il valore del prossimo stato che la macchina assumerà in funzione dell'ingresso e dallo stato presente della macchina, g(s, i) = s.
  • s è

lo stato iniziale. Immaginiamo di accendere una macchina, se l'evoluzione della macchina e le uscite dipendono dallo stato e dagli ingressi, se noi non conoscessimo lo stato iniziale rischieremmo di non saper descrivere il comportamento della macchina. Se lo stato iniziale non sarà controllabile rischieremo di non poter controllare il comportamento della macchina. Per questo è importante stabilire quale sia lo stato iniziale per fare in modo che la macchina all'accensione si trovi in uno stato noto.

Lo stato della macchina rappresenti la sua memoria di quello che le è accaduto fino a quel momento. Queste macchine si dicono sequenziali perché l'uscita viene determinata dalla configurazione presente degli ingressi e dalla storia pregressa della macchina e quindi una sequenza di eventi in ingresso che la macchina ha subito.

Per rappresentare una macchina a stati finiti è possibile costruire un diagramma degli stati che avrà tanti

che gli stati siano sempre di numero finito è una caratteristica comune a tutte le macchine a stati finiti. Queste macchine possono essere classificate in tre tipi principali: la macchina di Mealy, la macchina di Moore e i circuiti combinatori. La macchina di Mealy è caratterizzata da due funzioni: una funzione di uscita (f) e una funzione di transizione (g). Entrambe le funzioni prendono in input lo stato corrente e l'input e restituiscono l'output e lo stato successivo. In altre parole, la funzione f associa ad ogni stato e input un output, mentre la funzione g associa ad ogni stato e input lo stato successivo. La macchina di Moore, invece, ha solo una funzione di transizione (g) che associa ad ogni stato e input lo stato successivo. La funzione di uscita (f) considera solo lo stato corrente per determinare l'output. In altre parole, la funzione f associa ad ogni stato un output. Infine, i circuiti combinatori sono casi estremi in cui l'output dipende solo dall'input e non dallo stato. Questi circuiti non sono considerati macchine sequenziali, ma rientrano comunque nella classificazione delle macchine a stati finiti. In conclusione, le macchine a stati finiti sono strumenti molto utili per la progettazione di sistemi digitali, in quanto permettono di modellare comportamenti sequenziali e di prendere decisioni in base allo stato corrente.

Che dipenda solo dall'ingresso rende lo stato inutile e quindi è inutile considerare degli stati nella macchina e pensare che lo stato evolva. Quindi i circuiti combinatori hanno una funzione f che va dall'insieme degli ingressi all'insieme delle uscite.

Le macchine a stati finiti possono essere sincrone o asincrone. Questo vuol dire che esiste un segnale di sincronismo, cioè qualcosa (come il clock nei sistemi a microprocessore) che scandisce il tempo e non fa cambiare lo stato della macchina in modo arbitrario in qualunque istante possibile, ma lo fa cambiare soltanto in modo sincronizzato al segnale di clock. Quindi in un ciclo lo stato viene calcolato come stato futuro che diventa attuale solo quando scatta il clock. Le macchine sincrone hanno questo segnale di sincronismo.

Esempio con la macchina di Moore

In questo esempio introduco una macchina di Moore rappresentata attraverso il diagramma degli stati.

Schema generale macchina di Moore:

rappresenta un sistema di alimentazione che è controllato da un pulsante che può essere ON o OFF e viene monitorato da un LED. Questa è una macchina a stati finiti. La possiamo descrivere dicendo che il suo stato iniziale è OFF e il LED quindi si spento, Dark. Gli stati sono ON e OFF, gli ingressi sono i comandi on e off e le uscite sono Light e Dark: Questo esempio ci serve a chiarire che il concetto di macchina a stati finiti non è legato necessariamente alle funzioni booleane. Noi qui stiamo parlando di funzioni in generale che possono dirci che lo stato futuro di questa macchina è legato allo stato presente e all'ingresso dove questi non necessariamente sono dei bit, non sono necessariamente codificati in codice binario, ma sono dei nomi che abbiamo dato e possiamo continuare a lavorare con il diagramma degli stati utilizzando solo dei nomi, che possiamo dare agli stati, agli ingressi e alle uscite. Quindi abbiamo uno stato OFF nel quale il LED è spento, Dark.LED è spento. Il fatto che il LED sia spento dipende solo dallo stato e allora lo annotiamo direttamente nel nodo che rappresenta lo stato. Fin quando viene mantenuto il comando di off restiamo in questo stato. Quando diamo il comando on e l’interruttore passa allo stato di ON allora il LED si accende acceso, Light. Il LED ci dice solo in che stato si trova la macchina. In un’ideale tabella della verità che usa i nomi delle condizioni di ingresso, di stato e di uscita, avremo: Avremo da una parte lo stato e gli ingressi che sono le variabili indipendenti e dall’altra gli output e lo stato futuro che sono le variabili dipendenti. Questa tabella è in grado di descrivere f, la funzione di uscita, e g, la funzione di stato futuro. Esempio con la macchina di Mealy In questo esempio introduco una macchina di Mealy rappresentata attraverso il diagramma degli stati. Schema generale macchina di Mealy: Lo descriviamo come un semplice alimentatore controllato da unoswitch ON e OFF, ma questa volta il LED ha un suo pulsante ed è una spia che normalmente è spenta e solo se noi teniamo premuto un pulsante che decide qual è lo stato si accende o si spegne. Una cosa di questo genere serve ad esempio in un sistema a bassissimo consumo in cui posso spegnere l'alimentatore per non consumare la batteria, ma posso anche accenderlo e comunque non consumerei la batteria. Questa volta le condizioni di ingresso sono tre perché possiamo dire al nostro alimentatore di accendersi o spegnersi, ma possiamo anche dirgli di testare, cioè mi permette di sapere se il circuito sta funzionando. Questo posso farlo con il comando test. Quindi, i comandi di ingresso sono on, off e test, gli stati sono ON e OFF e l'output è ancora Light e Dark: Il fatto che non stiamo lavorando in logica binaria ce lo dice il fatto che abbiamo tre ingressi e quindi la tabella della verità avrà sei righe. Gli stati sono ancora due e gli

ingressi sono tre e per ogni stato ci interessa studiare il comportamento della macchina a fronte dell'ingresso on, off e test. Il diagramma degli stati non ha più associato anche il valore dell'uscita perché il valore dell'uscita non dipende più univocamente dallo stato in cui ci troviamo ed è questo che rende una macchina una macchina di Mealy. Quindi il valore dell'uscita deve essere associato agli archi e non più ai nodi, perché sono gli archi che in questa rappresentazione dipendono sia dallo stato presente che dagli ingressi che determinano l'attraversamento dell'arco. Per costruire la tabella della verità basta guardare il diagramma degli stati e otteniamo:

Esempio con la macchina stati finiti in codifica binaria

Rappresentazione della macchina a stati finiti tramite diagramma degli stati:

Schema generale di questa macchina:

Se avessimo un circuito di questo tipo descritto da questo diagramma degli stati

in cui s, i ed o sono codificati in termini binari, cioè gli stati, gli ingressi e le uscite li indichiamo non più con lettere ma con sequenze di 0 e 1.
Anteprima
Vedrai una selezione di 4 pagine su 14
Reti logiche sequenziali Pag. 1 Reti logiche sequenziali Pag. 2
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Reti logiche sequenziali Pag. 6
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Reti logiche sequenziali Pag. 11
1 su 14
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher tommasop01 di informazioni apprese con la frequenza delle lezioni di Reti logiche e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi "Carlo Bo" di Urbino o del prof Bogliolo Alessandro.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community