Esempio #
Un multiplexer o selettore a $2$ vie. Un selettore è l’equivalente, in hardware, di un “if”. Permette di decidere tramite un segnale $A$, quale tra le due vie d’ingresso, $I_0$ o $I_1$, sarà replicata dall’uscita. La tabella della verità e l’equazione SP risultante sono le seguenti:
$A$ \ $I_1,I_0$ | 00 | 01 | 11 | 10 |
---|---|---|---|---|
0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Multiplexer (MUX) generico #
Il concetto di selettore può essere generalizzato a $n$ bit di indirizzo. Gli $n$ bit di indirizzo selezionano uno tra i $2^n$ ingressi detti “vie” o anche “bit di programmazione”, a seconda dell’uso che si fa del MUX. Al crescere d $n$ cresce esponenzialmente il numero delle vie. L’ingresso replicato sull’uscita si determina nel seguente modo:
$$ i = A_{n-1} 2^{n-1} + \dots + A_1 2^1 + A_0 2^0 $$Teorema dell’espansione di Shannon #
Data una funzione $F$ di $n$ variabili binarie, vale la relazione:
$$ F(x_1, \dots, x_i, \dots, x_n) = x_i F(x_1, \dots, 1, \dots, x_n) + \overline{x_i} F(x_1, \dots, 0, \dots, x_n) $$La relazione duale è ugualmente valida:
$$ F(x_1, \dots, x_i, \dots, x_n) = (x_i + F(x_1, \dots, 0, \dots, x_n))(\overline{x_i} + F(x_1, \dots, 1, \dots, x_n)) $$Espressioni generali #
In generale, applicando ripetutamente il teorema di espansione di Shannon, è possibile dedurre le seguenti espressioni generali:
- $$ F(x_1, x_2, \dots, x_n) = \sum_{i=0}^{2^n-1} m(i) * F(i) $$
- $$ F(x_1, x_2, \dots, x_n) = \prod_{i=0}^{2^n-1} (M(i) + F(i)) $$
e.g.
Full adder in espressioni generali
- Espressione canonica:
- $R = m(3) + m(5) + m(6) + m(7)$
- $R = a'br + ab'r + abr' + abr$
- E5, Identità:
- $R = m(3) * 1 + m(5) * 1 + m(6) * 1 + m(7) * 1$
- $R = a'br * 1 + ab'r * 1 + abr' * 1 + abr * 1$
- E6 e E5, Limite e Identità:
- $R = m(3) * 1 + m(5) * 1 + m(6) * 1 + m(7) * 1 + m(0) * 0 + m(1) * 0 + m(2) * 0 + m(4) * 0$
- $R = a'br * 1 + ab'r * 1 + abr' * 1 + abr * 1 + a'b'r' * 0 + a'b'r * 0 + a'br' * 0 + ab'r' * 0$
Il MUX come rete programmabile #
Il MUX si adatta bene a realizzare l’espressione generale nel caso SP. Con $n$ variabili occorre un MUX a $n$ bit di indirizzo. Il MUX viene utilizzato, in questo caso, come generatore di funzioni.
MUX in forma integrata #
Esistono MUX a 2,4,8 o 16 bit di programmazione. Il circuito integrato ha un numero di pin limitati, ma gli ingressi di un MUX crescono esponenzialmente, perciò saranno disponibili in forma integrata, al massimo MUX a 16 bit di programmazione.