Diseñar un comparador de magnitud de 2 bits [duplicado]

0

Como prólogo, me gustaría decir que estoy formulando esta pregunta como parte de una tarea de curso de informática, y cualquier respuesta aquí se puede consultar en mi informe. Lo ideal es buscar sugerencias y consejos para orientarme en el camino correcto en lugar de soluciones directas.

Lo que estoy tratando de entender es un circuito comparador de magnitud de 2 bits que admite 2 conjuntos de entradas. Por ejemplo, el conjunto A contendría a0 y a1, y el conjunto B contendría b0 y b1. La única salida en la que estoy interesado es A > B, lo que significa que la suma de todas las entradas en el conjunto A es mayor que el conjunto B, por lo que a0 = 1, a1 = 1, b0 = 1, b1 = 0 daría como resultado un total de 0 y así sucesivamente.

Entiendo cómo funciona un comparador de 1 bit:

este es el circuito más básico que se me ocurrió, que toma 2 entradas y genera una salida si A > B.

Sin embargo, me he quedado estancado durante varias horas intentando aumentar el número de entradas. Mi plan inicial era reutilizar de alguna manera el comparador de 1 bit y reutilizarlo 3 veces, pero cada vez que termino con algo que termina con una versión demasiado complicada del circuito de 1 bit inicial donde las 3 entradas en realidad solo dan 1 salida y así al final vas en un círculo y estás comparando 2 números en lugar de 4.

Cualquier consejo o consejo sobre esto sería muy apreciado.

    
pregunta Lukasz Medza

1 respuesta

2

Permite examinar lo que debe hacer un comparador:

  

Si A1 es mayor que B1 entonces la salida 1, de lo contrario continúe.   Si A0 es mayor que B0 entonces la salida 1, de lo contrario, la salida 0.

Así que ahora podemos dividir esto en partes.

  

Si A1 es mayor que B1

Este ya lo tienes.

\ $ X_1 = A_1 \ overline {B_1} \ $

  

Si A0 es mayor que B0

Segundo verso, igual que el primero.

\ $ X_0 = A_0 \ overline {B_0} \ $

  

... luego salida 1, de lo contrario continúa. ... luego la salida 1, de lo contrario, la salida 0.

Pongamos una tabla de verdad para esto.

X1 X0  O
1  X   1
0  1   1
0  0   0

\ $ O = X_1 + X_0 \ $

Así que en conjunto tenemos:

\ $ O = A_1 \ overline {B_1} + A_0 \ overline {B_0} \ $

Y listo.

    
respondido por el Ignacio Vazquez-Abrams

Lea otras preguntas en las etiquetas