Puerta lógica exótica

0

Tengo una operación de negación y dos tipos de "puertas lógicas" con las siguientes salidas (A, B son entradas):

"puerta" 1:

A | B | OUT
x   0    1
0   x    1
0   0    1
0   1    x (no output)
1   0    x (no output)
x   x    x (no output)
1   1    0
x   1    0
1   x    0

"puerta" 2:

A | B | OUT
x   0    0
0   x    1
0   0    x (no output)
0   1    1
1   0    0
1   1    x (no output)
x   1    1
1   x    0
x   x    x (no output)

Puedo unir estas dos "puertas" para formar la tercera:

A | B | OUT
x   0    x (no output)
0   x    1
0   0    1
0   1    1
1   0    0
1   1    0
x   1    x (no output)
1   x    0
x   x    x (no output)

¿Es posible usar estas (medias puertas o puertas unidas) para construir puertas lógicas binarias regulares NOR o NAND, dado que es posible negar adicionalmente cualquier entrada y / o salida?

Operación de negación es:

A | OUT
x    x (no output)
0    1
1    0

El problema

La principal dificultad es hacer que las entradas de "puerta unida" (0,1) y (1,0):

A | B | OUT
0   1    1
1   0    0

para generar siempre 1 o 0 como:

A | B | OUT
0   1    0
1   0    0

Este es el único cambio necesario para obtener la puerta NOR. La pregunta es cómo hacerlo con estas "puertas", si es posible.

    
pregunta Piotr Szturmaj

3 respuestas

1
  

Estoy tratando de construir la compuerta NOR / NAND con el uso de bobinas de acoplamiento inductivo. Este es mi interés personal y mi investigación :) Estoy tratando de probar (o refutar) que es posible construir circuitos lógicos asíncronos de esta manera.

¿Por qué no lo preguntaste en primer lugar? Se habría ahorrado mucho tiempo.

Sí, es posible construir lógica con transformadores. ¿Alguna vez has oído hablar de " memoria de cuerda "? Es una forma de memoria de solo lectura construida completamente a partir de cables y toroides de ferrita. Se utilizó, por ejemplo, para almacenar las instrucciones en las computadoras de guía de Apollo.

El punto es, una ROM (cualquier ROM, sin importar la tecnología) es esencialmente una gran matriz de puertas AND y OR, por lo que cumple con sus requisitos funcionales básicos. Sin embargo, depende exactamente de lo que entiendas por "asíncrono" en este contexto. Los transformadores no acoplan la energía de las señales de CC, por lo que la lógica magnética de este tipo siempre está controlada por impulsos, no por corrientes de CC.

    
respondido por el Dave Tweed
0

Lógica HUL

Creo que su idea básica tiene fallas porque en su sistema, la SALIDA de una puerta no se puede conectar como (una) entrada ENTRADA a otra. No se puede determinar una entrada 'flotante'. La lógica binaria funciona porque hay DOS estados definidos (y relacionados). Su sistema tiene TRES estados (lógica trinaria). pero no define el tercer estado en términos de los otros dos. En lugar de usar un estado que no se puede probar (sin salida), por qué no darle un valor que sea diferente a '1' (alto) y '0' (bajo) pero relacionado con ellos. Yo sugeriría algo como

ALTA (una tensión / corriente positiva), BAJA (sobre cero tensión / corriente) y BAJA (una tensión / corriente negativa)

Entonces sería relativamente fácil detectar cada estado (voltaje o corriente) (H, U, L) y construir una 'puerta' según alguna lógica con las entradas o salidas ya sea positiva, 0 o negativa.

    
respondido por el JIm Dearden
0

Si estoy entendiendo esta pregunta correctamente, estás tratando con lógica trinaria, donde tienes tres estados 0, 1 y x. Tienes dos puertas trinarias: g1 y g2. (Tenga en cuenta que la tabla de verdad para g2 está en un orden diferente al de g1). Desea crear puertas NAND y NOR a partir de estas puertas. Supongo que solo te importan las entradas 0 y 1 para las puertas NAND y NOR y no importa lo que produzcan para una entrada x.

Hice un programa Python para combinaciones de compuertas de prueba de fuerza bruta y encontré formas de generar NAND y NOR. Para NAND, use g1 (g1 (1, g1), g1 (g1, g1)). Para NOR, use g2 (g1 (g1, g1), g2 (1, g1)). [Las puertas de "hoja" toman A y B como entradas.]

Para comprender la lógica NAND, tenga en cuenta que g1 en efecto no es una puerta "mayoría NO". Comprueba si hay más 0 o 1 entradas y 1 para la mayoría 0, 0 para la mayoría 1 y x para el empate.

Entonces, g1 (g1, g1) aplica "NO mayoría", se duplica y vuelve a aplicar "NO mayoría", que es solo la función "mayoría". Mientras tanto, g1 (1, g1) hace "NO mayoría", proporciona otro 1, y "NO hace mayoría" otra vez, dando x si hay una mayoría de 1 entradas y 0 en caso contrario. Finalmente, la aplicación de g1 a estos dos sub-resultados produce 0 si hay una mayoría de 1 entradas y 1 de lo contrario, que es la lógica NAND deseada.

    
respondido por el Ken Shirriff

Lea otras preguntas en las etiquetas