In questa pagina verrà mostrato come i tempi di propagazione delle porte logiche possono avere effetti imprevisti e spesso indesiderati sul funzionamento di un circuito combinatorio; in genere sono indicati con il temine di alea (hazard).
La fotografia di apertura ovviamente non ha nulla a che fare con il contenuto della pagina (anche per una Z di differenza...), ma la Generale Lee è un mito per chi è nato nella seconda metà del secolo scorso; da qualche parte la dovevo pur mettere.
Consideriamo il seguente circuito disegnato con Deeds, un semplice inverter:
L'ingresso è costituito da un clock, cioè un segnale che si ripete sempre uguale a se stesso, alternano un tempo in cui ha valore alto (TON) ad un tempo in cui ha valore basso (TOFF). Viene indicato con il termine periodo (T) la somma di questi due tempi: T = TON + TOFF. Ovviamente si misura in secondi (s), spesso usando i suoi sottomultipli.
La frequenza (f) è l'inverso del periodo: f = 1 / T e si misura in hertz (Hz), spesso usando i suoi multipli.
Se TON = TOFF il segnale viene chiamato onda quadra.
Si definisce Duty Cycle (in italiano, meno usato: ciclo utile) il rapporto DC = TON / T, sempre compreso tra 0 e 1; esso è un numero puro. Spesso è espresso come percentuale ( DC% = TON / T · 100 ). Per l'onda quadra il DC% è pari al 50%.
Durante la simulazione interattiva è possibile impostare la frequenza del clock, tenendo conto che anche soli pochi hertz sono difficilmente percepibili dal nostro occhio.
In genere quando si utilizzano clock è preferibile visualizzare i diagrammi temporali. In particolare sono utili gli strumenti Cursors, (a volte indicati come rulers oppure, in italiano, cursori) evidenziati in figura dal bollo rosso, e Magnifier (lente di ingrandimento), evidenziati dai bolli verdi.
Tre quesiti:
In base alla tabella di verità, quanto vale l'uscita Q nel seguente circuito (nota 1)?
Simulando il circuito nella modalità Timing Diagram si nota una strano comportamento, in genere causa di problemi.
Questo comportamento è chiamato alea statica oppure (impropriamente) glitch o spike; può essere descritto come presenza di una transizioni da uno a zero e da zero a uno (o viceversa) quando, in base alla tabella di verità, l'uscita non dovrebbe cambiare.
In genere la sua soluzione porta ad un aumento della complessità del circuito. In alternativa possiamo ignorare il problema e, dopo il cambiamento di uno degli ingressi attendere un po' di tempo prima di leggere l'uscita.
Nella pagina www.digitalelectronicsdeeds.com...labtopics è presente l'esercizio Analysis and elimination of static hazards. L'analisi può essere fatta facilmente, il metodo suggerito per l'eliminazione non è qui descritto, ma con un po' di intuito...
In base alla tabella di verità, il seguente circuito dovrebbe comportarsi come un un inverter. Verificarlo.
Di seguito un dettaglio del diagramma temporale:
Questo comportamento è chiamato alea dinamica è può essere descritto come presenza di più transizioni da uno a zero e viceversa quando, in base alla tabella di verità, ce ne dovrebbe essere una sola.
In genere la sua soluzione porta ad un aumento della complessità del circuito e richiede l'eliminazione preventiva delle alee statiche. In alternativa possiamo ignorare il problema e, dopo il cambiamento di uno degli ingressi attendere un po' di tempo prima di leggere l'uscita.
Pagina creata nel novembre 2020
Ultima modifica: 13 novembre 2020
Appunti scolastici - Versione 0.1026 - Agosto 2024
Copyright 2012-2024, Vincenzo Villa (https://www.vincenzov.net)
Creative Commons | Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)