Altifigence Academy

45 / 63 · Concetto

Hazard logici e limiti delle formule equivalenti

Analizzare come circuiti equivalenti a regime producano transitori diversi per i ritardi.

La tabella di verità non contiene il tempo

Con B=C=1, questa formula produce F=1 per entrambi i valori di A:

F=AB+A‾CF=AB+\overline A C

Le uscite reali cambiano però in ritardo. Quando A passa da 1 a 0, AB può scendere prima e A‾C\overline A C salire dopo per via dell'invertitoreInversione NOT scambia 0 e 1. Una barra superiore applica NOT all’intera espressione sottostante. Approfondisci. Fra i due eventi entrambi i termini sono 0. Un breve 0 dove l'uscita dovrebbe restare 1 è un hazard statico di tipo 1.

Confrontare numericamente i ritardi

Assumiamo questi ritardi fino agli ingressi OR. Illustrano il principio, non un processo produttivo specifico.

EventoTempo dal cambio di A
AB scende a 02ns
A‾C\overline A C sale a 14ns

Per circa 2ns entrambi gli ingressi OR sono 0. Presenza e durata dell'impulso reale dipendono anche dal ritardo OR e dalla trasmissione degli impulsi brevi. Otto righe corrette della tabella di veritàTabella di verità Elenco completo delle combinazioni d’ingresso e delle rispettive uscite. Le variazioni temporali si esaminano separatamente nelle forme d’onda. Approfondisci non verificano questo transitorio.

Una colonna vale 1ns dopo il cambio di A. AB cambia a 2ns, NOT(A)C a 4ns. Le ultime righe combinano gli ingressi trascurando il ritardo OR: non sono misure reali. Verificate come BC=1 copra il vuoto.

Una lacuna dovuta a ritardi di percorso diversi
Mostra i dati della forma d’onda
Dati della forma d’onda: ogni carattere è un intervallo; il punto mantiene lo stato precedente; p è un ciclo di clock.
SegnaleForma d’ondaValori del bus
time(ns)2345230 → 1 → 2 → 3 → 4 → 5
AB1.0...
NOT(A)C0...1.
OR inputs1.0.1.
with BC1.....

Un termine ridondante può avere un ruolo temporale

Aggiungiamo BC, che sostiene l'uscita con B=C=1 indipendentemente da A:

Fcovered=AB+A‾C+BCF_{\mathrm{covered}}=AB+\overline A C+BC

Il teorema del consenso dell'algebra booleanaAlgebra booleana Algebra di 0,1, AND, OR e NOT. Il simbolo più indica normalmente OR e segue regole diverse dall’addizione intera. Approfondisci mantiene uguale la funzione a regime. Durante il cambio di A, BC resta però 1 e copre il vuoto. Nella mappa di Karnaugh equivale a coprire due 1 adiacenti con un gruppo comune.

Il ragionamento assume, per esempio, un solo ingresso in transizione e una SOP a due livelli. Non risolve tutti i cambi simultanei, gli hazard dinamici multilivello o il rumore analogico.

Un termine RTL non resta necessariamente nell'hardware

La sintesi può eliminare BC perché ridondante funzionalmente. Aggiungerlo nel sorgente non dimostra un'implementazione senza hazard. Scegliete la struttura adatta e controllate cammini e timing dopo l'implementazione.

Nel datapath sincrono i registriRegistro Memorizza uno stato di più bit. I registri sincroni del corso acquisiscono gli ingressi specificati al fronte di clock. Approfondisci devono campionare dopo l'assestamento rispettando setup e holdSetup Tempo minimo prima del fronte di acquisizione in cui i dati devono essere stabili. Una violazione rende non garantito il valore memorizzato. ApprofondisciTempo di hold Tempo minimo dopo il fronte di acquisizione in cui i dati devono restare stabili. Va distinto dal generico mantenimento di un valore. Approfondisci. Usare glitch come clock, reset asincrono o trigger esterno può causare problemi maggiori. Progettate considerando anche scopo del segnale e modalità di ricezione.

Prova tu

Per H=A‾B+ACH=\overline A B+AC, B=C=1 e A:0→1, quale consenso copre l’hazard statico 1? Cambia la tabella a regime?

Leggi la spiegazione

BC. A‾B+AC+BC\overline A B+AC+BC è equivalente funzionalmente, ma BC copre l’intervallo in cui entrambi i cammini sono a 0. Si assume una sola transizione; la conservazione del termine nelle porte reali va verificata separatamente.

La scelta vale per questo browser. Puoi modificarla in qualsiasi momento dal piè di pagina.