¿Por qué se usan las puertas NAND para hacer las puertas AND en las computadoras?

40

¿Por qué es esto un estándar para puertas AND

¿CuándopodríahacersecondosFETyunaresistenciaensulugar?

    
pregunta theonlygusti

8 respuestas

68

Para obtener una operación sin inversión para la lógica (es decir, AND u OR contra NAND o NOR), debe operar los transistores en modo de drenaje común, también conocido como modo "seguidor de fuente".

Entre los problemas con este modo para la lógica:

  • No hay ganancia de voltaje. Después de más de unas pocas etapas, la señal se reduce a nada.
  • Hay un desplazamiento significativo (llamado voltaje de umbral) entre las entradas y las salidas. Una salida de alto nivel será inferior a la entrada de alto nivel correspondiente.

Juntos, estos problemas significan que no puede conectar la salida de esta puerta a las entradas de otra copia de sí misma. Esto lo hace bastante inútil para construir circuitos más complejos.

Es por esto que todas las familias lógicas exitosas 1 se construyen utilizando transistores en modo de fuente común (o emisor común), que tiene una ganancia de voltaje significativa y no hay compensaciones acumulativas entre entradas y salidas, pero La salida se invierte con respecto a la entrada. Por lo tanto, las funciones básicas incluyen una inversión: NAND o NOR.

Además, las compuertas NAND y NOR están "funcionalmente completas", lo que significa que puede construir cualquier función lógica (incluidos los elementos de almacenamiento como pestillos y chanclas) de todas las compuertas NAND o todas las compuertas NOR.

1 Para ser específico, familias lógicas que usan voltajes como estados lógicos. Esto incluye RTL, DTL, TTL, PMOS, NMOS y CMOS. Las familias lógicas de modo actual, como ECL , sí utilizan una combinación de seguidores emisores y transistores de base común para lograr el lo mismo termina evitando la saturación (para la velocidad).

    
respondido por el Dave Tweed
24

Lo que estás describiendo es lógica de PMOS . Tiene algunas desventajas significativas sobre CMOS:

  • Si el valor de la resistencia es bajo, la puerta consumirá una cantidad significativa de energía estática cuando la puerta esté activa. Las puertas CMOS prácticamente no consumen energía cuando no están cambiando activamente.

  • Si el valor de la resistencia es alto, la compuerta tarda en apagarse, debido a que la capacidad de cualquier compuerta activada por la salida debe descargarse a través de la resistencia. Además, una resistencia de alto valor probablemente consumirá más área que un conjunto de transistores complementarios.

  • Por razones relacionadas con el proceso, PMOS es menos eficiente que la inversa: lógica NMOS . p>

respondido por el duskwuff
22

Una razón por la que no creo que nadie haya mencionado aún: limitaciones de tecnología:

  1. Los resistores en chip son masivos en comparación con los transistores. Para obtener un valor decente, estamos hablando de órdenes de magnitud más grandes que los transistores más pequeños. En otras palabras, junto a todas las otras ventajas que obtiene con el CMOS adecuado (corriente estática, niveles de unidad, cambio de salida), también es mucho más barato.

  2. Patrones: los transistores en la lógica pueden ser tan pequeños porque están modelados de manera repetitiva. Esto también les permite obtener mayores rendimientos y un rendimiento más consistente. Lanzar resistencias arruinaría esto.

  3. Capacitancia: la limitación de la velocidad en un sistema lógico es la capacitancia de la siguiente etapa. Más capacitancia significa más lento (menos rendimiento) o más fuerza de accionamiento necesaria (transistores más grandes, más área, más corriente estática, más consumo de energía, más capacitancia presentada en la etapa anterior). Una resistencia grande probablemente le dará mucha capacidad para cargarse ya que ocupa un área físicamente grande. Esto podría afectar el rendimiento.

Esto se hace a veces en tecnologías más especializadas donde es posible que no tenga buenos transistores lógicos (para aplicaciones analógicas / RF).

    
respondido por el Joren Vaes
7

La lógica de la resistencia del transistor es un campo de conocimiento. Las propiedades de las puertas lógicas que se basan en resistencias son muy diferentes a las propiedades de aquellas que usan transistores. Por un lado, las resistencias desplegables que se mantienen en estado alto disipan continuamente la potencia. Esto puede ser un problema para las baterías o los diseños de alta densidad. Lo mismo se aplica al revés (para los menús desplegables bajos).

Otra área donde hay una gran diferencia es la velocidad y la fuerza de la unidad. La estructura de salida push-pull utilizada en CMOS puede cambiar rápidamente sin disipar la energía cuando está estática.

Tenga en cuenta que el circuito que dibujó no funcionará en absoluto. No puede colocar NMOS en la rama superior a menos que el voltaje de entrada sea mayor que VCC. Si la salida tiene mucha carga, su circuito no podrá conducir cerca de VCC. Puede que ni siquiera sea lo suficientemente alto como para ser reconocido como "alto" por algunas puertas lógicas.

Esto no es solo un problema. Resulta que es muy difícil construir algo que cambie de carril a carril en una etapa a menos que sea de naturaleza inversa (como lo son NAND y NOR). Y esta es la verdadera razón por la que las compuertas AND usan NAND seguida de NOT (inversor). Nadie en el mundo conoce una forma de hacer un CMOS Y una puerta de propósito general con menos de 6 transistores. Lo mismo se aplica a OR.

    
respondido por el mkeith
6

Una razón importante en la lógica TTL, y sugeriría en la mayoría de las familias lógicas, es que el elemento de ganancia está invirtiendo. Para tener una salida no inversora con buenas características de la unidad se requiere un inversor adicional.

Este inversor es algo malo.

  • Utiliza el poder
  • Ralentiza la función lógica
  • En general, no le importa la inversión y, a veces, la necesita.

Ya que generalmente estamos luchando contra la velocidad con puertas discretas (o cuando éramos cuando eran la única opción), las puertas de inversión gobernaban el día. Las puertas no inversoras estaban disponibles (compare las 7400 con las 7408).

El principal ejemplo de esto es la and-or-invert gate . Para los números TTL típicos, el retardo de propagación es el mismo que NAND y NOR, pero incluye dos niveles de lógica.

    
respondido por el cmm
6

Las ventajas de usar un diseño CMOS son muchas:

  1. En la lógica NMOS que ha descrito, si la Salida es alta (ambas entradas son altas), hay una ruta directa (resistiva) para el flujo de corriente. Entonces, en ese caso, la compuerta consumirá gran cantidad de energía (V ^ 2 / R) incluso en estado estable. Sin embargo, en CMOS, la corriente solo puede fluir cuando los 4 transistores están activados (es decir, cuando la puerta está cambiando).
  2. Por lo general, las resistencias son muy difíciles de lograr en el silicio y ocupan una gran cantidad de espacio de chips. Los valores precisos de resistencia tampoco son alcanzables en la práctica.
  3. En la lógica NMOS, el voltaje de salida no puede alcanzar su valor máximo (+ 5V) porque después de alcanzar un valor mínimo, los transistores comenzarán a apagarse (por lo tanto, se apagará la rama de carga). Esto se traduce directamente en márgenes de ruido reducidos.
  4. La lógica CMOS se puede usar muy fácilmente para hacer posiblemente cualquier circuito con muy pocos transistores, consumiendo poca energía y para operar a altas velocidades. Como tal, hacer una parte del circuito como NMOS (con carga resistiva) es muy engorroso e ineficiente.

Por lo tanto, una puerta NAND seguida de un inversor se usa para diseñar una puerta AND.

    
respondido por el Parth K
4

La construcción de un AND a partir de una NAND permite que se utilicen tamaños mínimos de compuerta para la lógica y el tamaño de los dos (y solo dos) transistores en el inversor para conducir la línea. Esto maximiza la velocidad y minimiza la pérdida de energía a expensas de solo un poco más del área utilizada para los transistores adicionales (lo que representa el tamaño de la resistencia necesaria para conducir la línea en la aplicación prevista).

También, para compartir algo de sabiduría que aprendí en la universidad (hace mucho tiempo en una galaxia muy, muy lejana ...): una vez disfrutamos de una presentación sobre la lógica de la matriz de puertas. Al final, un estudiante preguntó por qué un ingeniero debería molestarse en minimizar el número de puertas NAND utilizadas cuando todas esas puertas NAND estaban en el chip en primer lugar. La respuesta del presentador se ha quedado conmigo durante 30 años: porque si no lo hacemos, nuestros competidores lo harán.

Si su competidor puede hacer un circuito más rápido y con mayor eficiencia energética sin una diferencia apreciable en el costo, entonces usar la resistencia es un error comercial, no solo un error de ingeniería.

    
respondido por el JBH
2

Una señal lógica que pasa a través de una puerta no amplificadora terminará significativamente más débil de lo que era para comenzar. Mientras que uno podría incluir una puerta AND no inversora dentro de un chip, las puertas alimentadas por la salida débil probablemente se cambiarían mucho más lentamente que las puertas alimentadas por puertas alimentadas por una salida fuerte que el tiempo requerido para pasar una señal a través de una NAND, un inversor , y otra puerta, probablemente sería menor que si la NAND y el inversor fueran reemplazados por un AND de salida débil.

Tenga en cuenta que incluso si uno tiene transistores NMOS y PMOS disponibles y desea construir una compuerta AND de salida débil, debe construir la compuerta de manera similar a la compuerta NOR del CMOS, pero invirtiendo los transistores NMOS y PMOS. como para evitar la disipación de energía estática. Los resistores son muy caros, por lo que uno debería evitar usarlos a menos que sea absolutamente necesario.

Un punto que no se ha mencionado en otras respuestas, sin embargo, es que una compuerta de inversión puede contener una mezcla de series y salidas paralelas. Por ejemplo, uno podría tener una puerta compleja práctica que calcula "no ((X e Y) o (X y Z) o (Y y Z))" usando solo un nivel de inversión. Aunque no es práctico tener un "Y" que alimente su salida a múltiples lugares en un circuito, uno puede incluir una compuerta "Y" en una o más entradas de una compuerta "NOR", o una compuerta "O" en una o más más entradas de una puerta "NAND".

    
respondido por el supercat

Lea otras preguntas en las etiquetas