15 / 63 · Concetto
Dalla tabella di verità a MUX ed espansione di Shannon
Derivare la selezione e decomporre funzioni logiche generali con MUX.
Le lezioni sono gratuite. Iscriviti per salvare i progressi.
Derivare la regola di selezione
Per scegliere a con sel=0 e b con sel=1, combiniamo ogni dato con la propria condizione tramite AND e uniamo i risultati con OR.
Sostituendo resta a, con resta b. Se a e b coincidono, cambiare sel non modifica l'uscita: per trovare errori di selezione servono dati diversi.
Il percorso blu indica l'ingresso selezionato. Impostate a e b diversi e cambiate sel. Con valori uguali anche una selezione collegata male è difficile da riconoscere dalla sola uscita.
y = sel ? b : a
MUX come decomposizione generale di una funzione logica
Per una funzione booleana F, chiamiamo le sottofunzioni ottenute fissando s rispettivamente a 0 e 1.
È l'espansione di Shannon. s ? F1 : F0 divide qualsiasi funzione in due parti. Per esempio, in , usando a come selezione, e : XOR si costruisce con MUXMultiplexer Circuito combinatorio che collega un ingresso all’uscita secondo la selezione. Va specificata la corrispondenza fra bit di selezione e ingressi. e inversioneInversione NOT scambia 0 e 1. Una barra superiore applica NOT all’intera espressione sottostante. Approfondisci.
Selezione 4-to-1 e priorità
Due bit scelgono uno fra quattro ingressi mediante due livelli di MUX 2-to-1. Invece if (req0) ... else if (req1) ... privilegia la richiesta precedente quando più richieste sono attive. Selezione per indirizzo e selezione per priorità sono problemi distinti.
assign y = sel[1] ? (sel[0] ? d3 : d2)
: (sel[0] ? d1 : d0);Un albero ideale bilanciato con ingressi ha m livelli di selezione. Il ritardo fisico dipende anche da tempi d'arrivo, carichi e interconnessioni. La decomposizione propone implementazioni, non dimostra un ritardo ottimale.
Prova tu
Esprimete con un MUX selezionato da a. Quali sono i due dati?
Leggi la spiegazione
Con si ha , con si ha : assign f = a ? b : c;. Calcolate prima le sottofunzioni per non invertire i dati selezionati da 0 e 1.