¿Por qué necesitamos usar transistores al construir una OR
puerta? ¿No podríamos lograr el mismo resultado sin transistores, simplemente uniendo las dos entradas y leyendo la salida?
¿Por qué necesitamos usar transistores al construir una OR
puerta? ¿No podríamos lograr el mismo resultado sin transistores, simplemente uniendo las dos entradas y leyendo la salida?
Respuestas:
Lo que usted describe se llama conexión OR por cable . Es posible en algunas familias lógicas, particularmente ECL (lógica acoplada por emisor), pero no en las más comunes (TTL y CMOS).
En CMOS no es posible porque cuando una salida de CMOS es baja, crea un muy corto desde el pin de salida a través del chip a tierra. Y cuando es alto, crea un muy corto desde VDD a través del chip hasta el pin de salida.
Entonces, si vincula dos salidas CMOS juntas y una salida alta mientras que la otra salida baja, tendría un VDD muy cerca de tierra, lo que generaría una gran corriente y probablemente sobrecalentaría uno u otro de los dos chips involucrados.
Para TTL, hay un problema similar, pero los "cortos" desde el pin de salida a VDD o tierra no son tan cortos como en CMOS.
Hay un estilo de salida variante, llamado drenaje abierto para CMOS o colector abierto para TTL, que permite conexiones AND cableadas en lugar de OR cableadas. Estas salidas están diseñadas para poder hundir la corriente a tierra, no para poder producir ninguna corriente de salida cuando están nominalmente en estado alto. Normalmente se utilizan con una resistencia pull-up externa para que el voltaje de salida alcance el nivel de voltaje "alto" cuando sea necesario.
Nota: El colector abierto o el drenaje abierto se pueden usar para cableado O si usa lógica activa-baja (bajo voltaje representa la lógica 1, alto voltaje representa la lógica 0).
esto te permite "unir las salidas"
simular este circuito : esquema creado con CircuitLab
this lets you "join the outputs" schematic
con un enlace a circuitlab
Si solo conecta los cables, tendría la posibilidad (bastante probable) de un 0 y un 1 juntos. Como un 0 es gnd, y un 1 es 5V (dependiendo de los chips, pero es un estándar), tendrías 5V y gnd conectados entre sí mediante cables. ¡El término para eso es un corto circuito!
Puede usar diodos para una compuerta OR simple. O incluso resistencias. Los problemas ocurren cuando conecta esta puerta a otras puertas, a otros circuitos. Puede construir una puerta AND a partir de 2 diodos al revés. Pero si intentas conectar muchos de ellos, terminas con un circuito gigante que no funciona como partes separadas pequeñas, sino como una grande. Las conexiones que no están en su plan de puerta simple, pueden surgir en la vida real, arruinando lo que quiere que suceda.
Un transistor le permite separar la entrada de la salida. La salida de un transistor no puede retroceder y afectar su entrada. Un relevo sería otra alternativa, aunque más lenta. Dado que el interruptor no puede afectar el electroimán.
La lógica temprana era RTL o DTL, lógica de resistencia-transistor o lógica de diodo-transistor. Los resistores, al principio, luego los diodos, se usaron para formar la puerta, luego un transistor actuó para amortiguar el resultado para que la siguiente puerta que usó no retroalimentara a través de esta a sus entradas.
Ahora, dado que los transistores en chips son virtualmente gratuitos, es decir, desde el punto de vista financiero, tenemos el lujo de que todo esté debidamente protegido y separado. Por lo general, eso es lo que queremos. Lógica TTL!
Considere lo que sucede si una entrada es alta y una es baja, y conecta las dos entradas. Depende de cómo construyas tus puertas lógicas.
Si sus compuertas lógicas están diseñadas de modo que un valor alto realmente se eleva y un nivel bajo se reduce realmente (CMOS), entonces este es un cortocircuito y algo explotará.
Si sus compuertas lógicas están diseñadas para que un valor alto sea "débil" o alta resistencia (por ejemplo, NMOS), entonces la salida será baja, pero también la otra entrada (que se supone que es alta) se verá obligada a ser baja aunque sea se supone que es alto, y esto tendrá un efecto de activación en otras puertas lógicas que usan la misma entrada.
Hay un enfoque analógico:
combine cualquier cantidad de entradas (suponga 0 o 5 voltios) con resistencias.
Si el voltaje resultante es 0, todos están apagados.
Si el voltaje resultante es 5, entonces todos están encendidos.
Los voltajes intermedios indican que algunos están encendidos y otros están apagados.
Ejemplo: si hay 4 entradas, 2.5 voltios significa que 2 están encendidos y 2 están apagados.
resultado == 0: ni
resultado de puerta == 5: y
resultado de puerta ! = 0: o
resultado de puerta ! = 5: puerta de puerta
No necesita transistores para las entradas, solo para que la salida verifique el voltaje y restablezca un resultado lógico de 0 o 5 voltios.
Esto podría usarse para un nodo de red neuronal analógico con una función de salida no lineal que tenga un resultado "suave" que podría no ser completamente verdadero o falso.
Pensamiento posterior: las
resistencias utilizadas de esta manera pueden reducir la velocidad lógica, ya que la capacidad que sigue a las resistencias debe cargarse o descargarse cuando cambian las entradas. Además, el uso de transistores puede reducir en gran medida el consumo de energía. Las resistencias utilizadas de esta manera siempre pueden consumir energía con una mezcla de estados de entrada. Con los transistores, el consumo de energía puede dividirse aproximadamente por la ganancia de los transistores.
Con algunos elementos lógicos (todos los interruptores de las puertas del automóvil que encienden la misma lámpara) esto es posible, pero no, por ejemplo, con las puertas CMOS, ya que están construidas con transistores FET de canal P y N, por lo que necesitan una entrada de alto y bajo voltaje definida para proporcionar la salida , la entrada no puede dejarse flotando. Conectar salidas CMOS juntas no funcionaría.