13 / 63 · Concetto
DEMUX e decoder: inviare dati sul percorso selezionato
Confrontare direzioni e ruoli di MUX, DEMUX e decoder e verificare le condizioni one-hot e «al massimo un 1».
Le lezioni sono gratuite. Iscriviti per salvare i progressi.
MUX raccoglie, DEMUX distribuisce
Un MUXMultiplexer Circuito combinatorio che collega un ingresso all’uscita secondo la selezione. Va specificata la corrispondenza fra bit di selezione e ingressi. Approfondisci porta all'uscita uno fra più ingressi dati. Un DEMUXDEMUX Invia un dato all’uscita indicata dalla selezione. Vanno specificati anche i valori delle uscite non selezionate. porta l'unico ingresso d all'uscita selezionata e mantiene le altre a 0. Per un DEMUX 1-to-4 con indirizzo :
La stessa funzione come decoder con enable
Nella figura leggete a1 e a0 come indirizzo di selezione e enable come dato d. Le uscite d0–d3 corrispondono a y0–y3 delle formule. Una stessa funzione combinatoria può avere nomi diversi secondo il contesto.
d[i] = enable AND (2 × a1 + a0 = i)
Con indirizzo 10 e dato 1, solo y2 vale 1. Con dato 0, anche l'uscita selezionata è 0, quindi lo sono tutte. La condizione one-hotOne-hot Rappresentazione con esattamente un bit a 1. La condizione che ammette anche tutti 0 si chiama one-hot-or-zero. Approfondisci «sempre esattamente un 1» è dunque errata; per l'intero funzionamento vale «al massimo un 1».
Distinguere la selezione dall'evento di scrittura
Per scrivere in uno di quattro registriRegistro Memorizza uno stato di più bit. I registri sincroni del corso acquisiscono gli ingressi specificati al fronte di clock. Approfondisci si può usare write_en come d e l'indirizzo per la selezione. Il decoderDecoder Attiva la linea corrispondente a un codice binario. Con enable disattivato può portare tutte le uscite a 0. Approfondisci però non memorizza nulla. Il registro acquisisce write enable e dati al fronte di clock. Cambiare una selezione combinatoria non modifica subito il valore memorizzato.
- Indirizzo + write_en: Definire dove scrivere e se scrivere
- Decodificatore: Generare enable per il solo registro selezionato
- Fronte di clock: Il registro selezionato memorizza i dati
Verificate non solo il valore dell'uscita selezionata, ma anche che tutte le altre siano 0. Le quattro combinazioni con d=0 e le quattro con d=1 danno otto casi. Questa verifica funzionale non garantisce l'assenza di glitch durante i cambi d'indirizzo.
Prova tu
Calcolate y3y2y1y0 per s1s0=01 con d=1 e d=0. Quando fallisce un controllo che richiede esattamente un enable attivo fra quattro registri?
Leggi la spiegazione
I risultati sono 0010 e 0000. Con d o write_en a 0 è corretto che nessuna uscita sia attiva. Esattamente un 1 è richiesto solo con d=1.