¿Cómo diseñaría un circuito lógico simple para 3 bits de entrada?

1

Todos -

Supongamos que tengo 3 bits de entrada

  1. Bit # 0
  2. Bit # 1
  3. Bit # 2

Necesito diseñar un circuito lógico que siga:

Entrada: Bit # 0 = 1, Bit # 1 = 1, Bit # 2 = 0 Salida: 0

Entrada: Bit # 0 = 1, Bit # 1 = 0, Bit # 2 = 1 Salida: 1

Entrada: Bit # 0 = 0, Bit # 1 = 1, Bit # 2 = 0 Salida: 1

Entrada: Bit # 0 = 0, Bit # 1 = 0, Bit # 2 = 1 Salida: 0

Sé que va a ser una combinación de puertas XOR, pero no puedo construir algo que funcione para los 4 casos anteriores.

¿Existe algún software que pueda generar un circuito lógico simple que satisfaga las condiciones de entrada / salida anteriores?

Apreciaría toda / cualquier ayuda.

    
pregunta user1068636

3 respuestas

5

Normalmente presentamos este tipo de requisito en una tabla de verdad . Asumiré que para las combinaciones de entrada que no especificó en la pregunta, no le importa cuál es el resultado. En la tabla de verdad, representaremos esto con una "X". Entonces tienes una tabla de verdad como esta:

IN2  IN1  IN0  |  OUT
---------------------
 0    0    0   |   X
 0    0    1   |   X
 0    1    0   |   1
 0    1    1   |   0
 1    0    0   |   0
 1    0    1   |   1 
 1    1    0   |   X
 1    1    1   |   X

Puedes realizar fácilmente esta tabla de verdad simplemente con XOR'ing los bits 0 y 1, e ignorando el bit 2.

    
respondido por el The Photon
0

Los problemas de lógica se pueden ver de diferentes maneras:

  • Como valores de verdad: \ $ \ textsf {true} \ $ o \ $ \ textsf {false} \ $
  • Como valores de bit: \ $ 1 \ $ o \ $ 0 \ $
  • Como niveles de voltaje: ALTO o BAJO

Su problema se reduce a la siguiente oración: "Salida \ $ 1 \ $ cuando tenga el patrón de entrada \ $ (1, 0, 1) \ $ o \ $ (0, 1, 0) \ $ y \ $ 0 \ $ con patrones de entrada \ $ (1, 1, 0) \ $ o \ $ (1, 0, 0) \ $. " Nombrando el patrón como \ $ (A, B, C) \ $, puede ver que el primer patrón \ $ (1,0,1) \ $ corresponde a \ $ A = 1 \ $ y \ $ B = 0 \ $ y \ $ C = 1 \ $.

Pero pensar en ellos como valores de verdad, es lo mismo que \ $ A = \ textsf {true} \ $, \ $ B = \ textsf {false} \ $ y \ $ C = \ textsf {true} \ $, o simplemente

$$ A \; \ textsf {and} \; \ textsf {not} (B) \; \ textsf {and} \; C = A \ cdot \ overline {B} \ cdot C, $$

ya que la "multiplicación" booleana corresponde a "y".

Al agregar el segundo patrón, obtenemos (Boolean \ $ + \ $ es un "o" lógico): $$ Y = A \ overline {B} C + \ overline {A} B \ overline {C} $$

Sin embargo, debido a que no ha dicho nada sobre los patrones \ $ (0, 0, 0) \ $, \ $ (0, 0, 1) \ $, \ $ (1, 1, 0) \ $, \ $ (1, 1, 1) \ $, hay muchas otras soluciones (15 más para ser exactos) que también funcionan:

$$ \ begin {align} Y & = A \ overline {B} C + \ overline {A} B \ overline {C} + \ overline {A} \ overline {B} \ overline {C} \\ Y & = A \ overline {B} C + \ overline {A} B \ overline {C} + \ overline {A} \ overline {B} C \\ Y & = A \ overline {B} C + \ overline {A} B \ overline {C} + A B \ overline {C} \\ Y & = A \ overline {B} C + \ overline {A} B \ overline {C} + ABC \\ Y & = A \ overline {B} C + \ overline {A} B \ overline {C} + \ overline {A} \ overline {B} \ overline {C} + \ overline {A} \ overline {B} C \\ &erio; \ vdots \ end {align} $$

Podemos elegir cualquiera de estas 16 ecuaciones, cualquiera de las dos funcionaría. Pero en este caso tenemos una opción particularmente buena: $$ Y = A \ overline {B} C + \ overline {A} B \ overline {C} + \ overline {A} \ overline {B} C + AB \ overline {C} = (A + \ overline {A} ) \ overline {B} C + (A + \ overline {A}) B \ overline {C} = \ overline {B} C + B \ overline {C} $$ Esto se puede reducir aún más usando \ $ \ textsf {xor} \ $: $$ Y = \ overline {B} C + B \ overline {C} = B \ oplus C $$

Hay algunas formas de hacer estas matemáticas más rápido. Usar los mapas de Karnaugh es un método. El programa "Viernes de lógica" también es muy útil.

    
respondido por el Pål-Kristian Engstad
-2

Entrado por truthtable: F1 = A 'B C' + A B 'C;

Minimizado: F1 = A 'C' + A C;

    
respondido por el Arpit Singh

Lea otras preguntas en las etiquetas