Altifigence Academy

27 / 63 · Concetto

Verifica del MUX: esaustività e proprietà

Verificare separatamente copertura combinatoria e memoria e minimizzare i controesempi.

Che cosa considerare corretto?

Con dati a un bit a, b e selezione sel esistono otto combinazioni: una verifica esaustiva è efficiente. Per un MUXMultiplexer Circuito combinatorio che collega un ingresso all’uscita secondo la selezione. Va specificata la corrispondenza fra bit di selezione e ingressi. Approfondisci largo W, includendo la selezione servono 22W+12^{2W+1} casi; aumentando anche poco la larghezza occorrono altre strategie.

La regola per ogni bit d'uscita è:

∀i∈{0,…,W−1},yi=s‾ai+sbi\forall i\in\{0,\ldots,W-1\},\quad y_i=\overline s a_i+s b_i

Scegliere gli stimoli secondo il difetto

Difetto da cercareIngresso o osservazione utile
a/b scambiatia, b diversi, confronto con sel=0 e 1
Ordine dei bit invertitoWalking-one con un solo bit a 1
Stuck-atTutti 0, tutti 1, bit alternati
Fronte di memoria erratoCambiare ingressi fra i fronti e controllare q fermo
Ritardo errato di un cicloAttesi diversi a fronti consecutivi

Molti test non bastano a rendere buona una verifica. Dovete spiegare quale difetto intendete rilevare.

Il confronto seguente usa solo a≠b. Ogni colonna è un vettore; la selezione errata produce l'opposto di expected in tutte e quattro.

Quattro combinazioni per rilevare la selezione invertita
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
a0.1.
b1.0.
sel0101
expected01.0
swapped bug10.1

Costruire un riferimento indipendente

Copiare il codice del DUT può duplicare l'errore. Ricavate i valori attesi dalla 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 o da una selezione per indice e seguite separatamente lo stato campionato q. In caso di mismatch riducete la sequenza al più breve esempio che conserva il guasto e spiegatene la causa.

Registrate a ogni osservazione valore reale, atteso e ingressi, invece del solo finale. Questo distingue «la simulazione è stata eseguita» da «la specifica è soddisfatta».

Prova tu

Un MUX a otto bit è provato solo con a=0x00, b=0xFF per entrambe le selezioni. Rileva l’ordine dei bit d’uscita invertito?

Leggi la spiegazione

No. 0x00 e 0xFF restano uguali invertendo i bit. Usate schemi che mostrano la posizione, come 0x01 e 0x02, e confrontate ogni bit d’uscita.

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