Che cos’è la logica sequenziale?

La logica sequenziale (SL) nella teoria dei circuiti digitali è l’insieme di regole e implementazioni di circuiti che si basano sugli eventi attuali e passati degli stati logici e delle transizioni per determinare gli stati logici attuali. Conoscere la logica combinatoria (CL), l’insieme di regole e l’implementazione di circuiti che si basano sui livelli logici effettivi, rivela i punti chiave della logica sequenziale. I livelli logici per il calcolo binario di solito si riferiscono a alto o basso. In logica positiva, 1 è alto e 0 è basso. I circuiti logici sono costituiti da porte che possono avere uno o più ingressi e solitamente una sola uscita.

Un semplice gate CL è noto come buffer e inverter o gate NOT. L’uscita del buffer è sempre la stessa dell’ingresso, ma l’uscita dell’inverter non è sempre l’ingresso. Altre porte utilizzate in CL includono la porta AND, la porta NAND e la porta NOR. La porta AND emette un 1 solo se entrambi gli ingressi sono 1. La porta NAND e la porta NOR sono, rispettivamente, una porta AND e una porta OR, ciascuna con un invertitore in uscita.

La logica sequenziale utilizza latch che bloccano i livelli di uscita in base ai livelli di uscita precedenti e ai livelli di ingresso correnti. I latch sono generalmente costruiti utilizzando due porte partner, che sono due porte NAND o NOR. I gate di questi latch, o flip-flop, sono bloccati in uno dei due stati dalle uscite del gate che vengono rinviate all’ingresso del gate partner. Modificando i livelli sugli ingressi liberi delle porte si ottiene un’inversione di livello logico. L’analisi logica sequenziale implica sia l’osservazione dei livelli di uscita iniziali sia l’osservazione della variazione dei livelli di uscita in base alla variazione dei livelli di ingresso.

Nei contatori binari, c’è un circuito di rilevamento del fronte nell’ingresso del clock per ogni latch di cifra binaria (bit). I contatori di solito utilizzano un rilevamento del fronte positivo per il normale conteggio. Ad esempio, un contatore a 8 bit utilizza latch a 8 bit.
La logica sequenziale utilizza latch di bit in cascata per produrre un contatore digitale asincrono (asincrono). Quando un bit del latch del bit meno significativo (LSB) viene utilizzato per eseguire il clock del bit più significativo (MSB), è noto come contatore asincrono. In asincrono, i latch si sincronizzano l’un l’altro in tempi leggermente diversi, mentre la logica sincrona (sync) esegue il clock di tutti i latch contemporaneamente. Il contatore asincrono subirà un ritardo di ripple totale massimo pari a un ritardo di ripple di latch moltiplicato per il numero di bit nel contatore. Nella logica di sincronizzazione, i latch di bit in un contatore digitale sono sincronizzati simultaneamente, quindi il ritardo di ripple totale è uguale a un ritardo di ripple di latch per qualsiasi numero di bit nel contatore.