Construcción de puertas “AND” y “OR” a partir de controladores e inversores de tres estados

1

Estoy trabajando en una asignación de circuitos digitales que me pide que demuestre que si tiene buffers e inversores de tres estados, puede construir cualquier circuito lógico combinacional.

Mi intento de hacerlo sería crear una "y" puerta y una "o" puerta, porque "y", "o", y "no" están lógicamente completas, si estoy en lo cierto.

Mi diseño para una puerta "y" era tener dos controladores de tres estados, con dos entradas (A y B) y se unirían con una salida (C). "A" sería el selector para el controlador dos y "B" sería el selector para el controlador uno, luego "A" sería la entrada para el controlador uno y "B" sería la entrada para el controlador dos, luego las salidas de esos los conductores se juntarían en "C".

Mi preocupación es que este diseño deja un "Hi-Z" en la tabla de verdad:

A | B | C

1 | 1 | 1

1 | 0 | 0

0 | 1 | 0

0 | 0 | Hola-Z

¿Cómo voy a arreglar esto? ¿O necesito un nuevo diseño completamente?

    
pregunta user143918

2 respuestas

1

El High-Z es un problema (a menos que esté haciendo wired-OR, que creo que no es así).

Para hacer una puerta AND, necesitas implementar esta tabla de verdad:

B A  Out
0 0  0
0 1  0  
1 0  0  <--
1 1  1  <--

Supongamos que conectas A y / B a la entrada y entrada de estado de un búfer. Eso le da las dos últimas entradas, pero las dos primeras serán altas en Z porque / B es alta. Necesitará otro búfer triestado atado al primer búfer, y los dos no pueden "luchar" ni pueden ir alto-Z al mismo tiempo. Esto debería ser suficiente de una pista.

    
respondido por el Spehro Pefhany
3
  

Mi intento de hacerlo sería crear una "y" puerta y una "o" puerta, porque "y", "o", y "no" están lógicamente completas, si estoy en lo correcto.

NAND solo está lógicamente completo. Las configuraciones de una o más puertas NAND se pueden usar para crear cualquier otra puerta.

Por lo tanto, vamos a crear una puerta NAND.

A B O
0 0 1
0 1 1
1 0 1
1 1 0

Si observamos lo anterior, cuando B es 0, O es 1 y cuando B es 1, O es A '.

    
respondido por el Ignacio Vazquez-Abrams

Lea otras preguntas en las etiquetas