¿Cómo podría construir un comparador de 2 bits que compare dos números de 2 bits y determine si uno es mayor o igual que el otro?

0

Al usar un multiplexor 8: 1, entiendo que hay tres entradas, por lo que no estoy seguro de cómo obtendría dos números de 2 bits, que serían cuatro variables, no tres. Se agradece cualquier sugerencia sobre cómo comenzar con esto.

A   B   C   D   X   Y   Z   X   Y   Z
0   0   0   0   0   0   0   0   0   D
0   0   0   1   0   0   1           
0   0   1   0   0   1   0   0   1   D
0   0   1   1   0   1   1           
0   1   0   0   0   0   1   0   D   D’
0   1   0   1   0   1   0           
0   1   1   0   0   1   1   D   D’  D’
0   1   1   1   1   0   0           
1   0   0   0   0   1   0   0   1   D
1   0   0   1   0   1   1           
1   0   1   0   1   0   0   1   0   D
1   0   1   1   1   0   1           
1   1   0   0   0   1   1   D   D’  D’
    
pregunta Peter Griffin

1 respuesta

1

Creo que entiendes el enfoque general, y como el "truco" requerido para responder esto es bastante sutil, voy a seguir adelante y explicarlo.

Dados dos números de 2 bits A y B, representados por los bits A1 A0 y B1 B0 , respectivamente, la tabla de verdad para A > = B se ve así:

B1 B0 A1   A0     A >= B

 0  0  0    0       1
 0  0  0    1       1

 0  0  1    0       1
 0  0  1    1       1

 0  1  0    0       0
 0  1  0    1       1

 0  1  1    0       1
 0  1  1    1       1

 1  0  0    0       0
 1  0  0    1       0

 1  0  1    0       1
 1  0  1    1       1

 1  1  0    0       0
 1  1  0    1       0

 1  1  1    0       0
 1  1  1    1       1

He agrupado deliberadamente las filas en pares, y he puesto algo de espacio adicional antes de la columna para A0 . Tenga en cuenta que en cada uno de los 8 grupos, la respuesta es siempre 0, siempre 1 o, en dos casos, coincide exactamente con la entrada A0 .

Esto significa que no necesita otra lógica que no sea su multiplexor 8: 1, que conecte B1 , B0 y A1 a las entradas seleccionadas, y luego conecte las 8 entradas de datos a 0, 1 o A0 según corresponda:

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas