| prof. Carmelino Cancro |
|
Generalità
Nella descrizione di un sistema vengono considerate grandezze misurabili che possono essere, nel tempo di osservazione, costanti e vengono chiamate parametri oppure variabili. I parametri rappresentano qualità specifiche e determinano le caratteristiche statiche, le variabili sono indicatori della quantità di energia, di materia e d'informazione presenti nel sistema o scambiate con l'esterno e determinano le caratteristiche dinamiche del sistema. I segnali, generalmente elettrici, sono variabili e ad essi è associato un contenuto informativo. Lo stato di un sistema, in un determinato istante, è la misura della quantità di energia, di materia o d'informazione accumulata nel sistema; quando è conosciuto si dice che il sistema è osservabile. Un automa comprende almeno un circuito sequenziale, la cui uscita è dipendente sia dagli ingressi che dagli effetti prodotti dagli ingressi precedenti. Un automa ha un numero finito di variabili di ingresso e un numero finito di variabili di uscita. Le variabili di ingresso sono dette esterne, mentre quelle dovute al circuito sequenziale sono interne ed assumono il nome di variabili di stato. Si ha un automa a stati finiti se anche le variabili di stato sono in numero finito. Lo stato di un automa in un determinato istante è individuato dal valore assunto dalle variabili di stato in quell'istante. Stato iniziale è quello a partire dal quale l'automa evolve; se tutte le variabili valgono 0 (zero) si ha lo stato di zero o di reset. In generale il numero che identifica lo stato e il valore dello stato non necessariamente coincidono. Gli automi possono essere sincroni ed asincroni. Un automa è sincrono quando l'evoluzione da uno stato interno al successivo avviene in corrispondenza di un segnale dinamico (in genere il clock del sistema). L'analisi di un automa a stati finiti sincrono utilizza il diagramma degli stati o di flusso, rappresentante l'evoluzione grafica dell'automa:
![]() Può essere utile creare la tabella degli stati per la realizzazione del diagramma degli stati: la tabella ha uno stato per ogni riga. Automi asincroni
Gli automi che utilizzano questo tipo di memoria sono detti asincroni
perchè le transizioni allo stato successivo sono indotte subito dopo l'applicazione
del segnale di ingresso con l'unico ritardo dovuto al tempo di propagazione
dei segnali attraverso la rete combinatoria di ingresso, la rete di memoria
e la rete di uscita. Il perdurare degli stessi ingressi applicati alla rete combinatoria, a transizione avvenuta, insieme alle nuove variabili di stato può indurre una nuova transizione e ciò si può ripetere in fasi successive. Il circuito può entrare in una condizione di oscillazione, passando ciclicamente attraverso una stessa successione di stati oppure raggiungere una condizione finale di stabilità attraverso uno o più stati successivi. Una condizione stabile si ha quando si realizza un autoanello
(transizione su se stesso per I = 1). Automi sincroni Nei circuiti sincronizzati le variabili di stato possono variare solo nel brevissimo intervallo di tempo determinato dal clock. I ritardi di propagazione fanno in modo che il perdurare degli ingressi non abbia alcun effetto sulla rete, almeno fino al successivo impulso di clock. La sincronizzazione può avvenire in quattro modi:
Si hanno due modelli di automa:
Y(t+1) = FS[X(t),Y(t)] U(t)
= FT[Y(t)]
Y(t+1) = FS[X(t),Y(t)] U(t)
= FT[X(t),Y(t)]
Uno schema altenativo può essere ![]() Negli schemi FS (funzione di transizione) provvede ad aggiornare le variabili di stato Y in funzione delle vecchie variabili e di quelle di ingresso X; FT (funzione di trasferimento o di uscita) determina il valore delle uscite U in funzione delle variabili di stato attuali Y (Moore) o delle variabili di stato Y e delle variabili di ingresso X (Mealy) nell'istante di tempo determinato dal segnale di clock che rappresenta l'evolversi della variabile temporale. Le strutture degli automi possono essere facilmente realizzate per mezzo delle logiche programmabili (per le funzioni di logica combinatoria) e una batteria di FF (flip-flop) per le mansioni di memoria. I FF possono essere esterni oppure interni e, in quest'ultimo caso, si realizzano automi autonomi.
Suddividendo opportunamente i piedini di uscita, durante la programmazione
del PLA, si possono originare gli automi ![]() Dovendo i circuiti, in logica sequenziale, operare quando gli ingressi
sono in condizioni stabili comporta che ogni ingresso può variare solo
dopo che all'interno del dispositivo si siano concluse le transizioni
determinate dalla precedente variazione sugli ingressi. Essendo l'automa a stati finiti (FSM) un circuito sequenziale sincrono con un unico clock di temporizzazione e, notando che gli ingressi dei vari FF possono dipendere dalle relative uscite, si comprende come il periodo di temporizzazione si può considerare suddiviso in una fase di transizione e in una fase stabile. ![]()
Il clock massimo deve garantire che Tc > Tck
+ TL + TSU
in modo che le modifiche delle variabili di ingresso avvengano non prima che, tra una variazione e quella successiva, sia trascorso un tempo sufficiente in modo da raggiungere la fascia stabile dei parametri interni al componente. Gli ingressi, potendo essere asincroni, devono garantire di essere stabili per almeno un tempo minimo prima del fronte del clock pari a Tin = TL + TSU necessario affinchè l'eventuale variazione subita in ingresso giunga agli ingressi dei FF, dopo averne percorso i circuiti. Per garantire che un ingresso asincrono non faccia scattare erroneamente le variabili di stato è far sì che, ad ogni transizione di stato, lo stato successivo differisca dal precedente per un solo bit che identifica lo stato stesso (distanza di Hamming uguale a 1). Per svincolarsi dai problemi legati a più ingressi
asincroni si introducono FF a monte dell'automa per sincronizzarli.
|