¿Usar solo puertas NAND/NOR aumenta el retardo del circuito?

Recuerdo haber aprendido en la escuela que uno puede construir cualquier circuito lógico a partir únicamente de NANDpuertas NOR.

En primer lugar, me pregunto si es así como se hace realmente: es decir, cuando Intel fabrica una CPU, ¿construyen todos los registros, etc. usando NAND/ NORgates, o tienen alguna otra forma más elegante de hacer las cosas?

En segundo lugar, me pregunto si construir todo de esta manera aumenta el retraso de propagación en comparación con un circuito hecho con AND// puertas también OR.NOT

Sé que cuando se usan configuraciones PMOS/ para construir compuertas, an o an aparecen como 2 etapas en lugar de a o a, que son solo 1. Ya que sé que puedes hacer una de 2 s en cascada y una de 2 s en cascada, es parece que el retardo de propagación no aumentaría mientras los fabricantes utilizaran tanto s como s.NMOSANDORNANDNORANDNANDORNORNANDNOR

¿Alguien tiene alguna idea sobre todo esto, especialmente sobre lo que realmente se hace en los circuitos integrados fabricados?

Respuestas (2)

En primer lugar, me pregunto si es así como se hace realmente: es decir, cuando Intel fabrica una CPU, ¿construyen todos los registros, etc. usando NAND/ NORgates, o tienen alguna otra forma más elegante de hacer las cosas?

Los registros no están hechos de puertas, la mayoría de las veces son circuitos dedicados. Pueden verse como hechos con inverter ( NOT), pero solo hasta cierto punto.

En la tecnología CMOS, el circuito everlogic se basa en el inversor: NORy NANDlas puertas son solo inversores con múltiples entradas dispuestas de manera inteligente, básicamente. Entonces, las compuertas inversoras son más rápidas que las no inversoras, que son solo compuertas inversoras con a NOTen la salida.

También en lógica dinámica, es más simple colocar en cascada dos bloques inversores que poner NOTpuertas en todas partes.

Tenga en cuenta que, en algunos casos, un circuito puede estar formado por bloques separados, por lo que puede haber un caso en el que la salida se interconecte a través de uno o más inversores para el almacenamiento en búfer.

Y hay otra ventaja en eso: la integración . Tener una pequeña cantidad de puertas diferentes ayuda a diseñar el circuito y uniformar el rendimiento. A menudo, las bibliotecas incluyen bloques lógicos en diferentes niveles de complejidad: transistor, puerta, operador o superior.

Entonces, brevemente, sí, los procesadores rápidos utilizan principalmente puertas inversoras.

Bien, creo que esto tiene sentido para mí. Como verificación, digamos que quería hacer un sumador básico (por ejemplo, de 4 bits) usando lógica combinacional (es decir, no vinculando medios sumadores). ¿Abordaría este problema tratando de usar solo puertas NANDy NOR, y la menor cantidad posible? ¿Producirá esto casi siempre un mejor diseño (en términos de retardo/recuento de puertas) que si abordara el problema usando un repertorio completo de puertas y luego reemplazara // ANDlas puertas con sus OR/ equivalentes? NOTNANDNOR
@llakais en casi cualquier caso, si. Y al menos será igual. Pero, por ejemplo, he diseñado un sumador para un curso universitario y he hecho dos cosas: primero, he usado bloques de sumadores 4:2 con sumadores completos (¡ganan los bloques!), y segundo, he He implementado el sumador completo con puertas XOR de transistor de paso, por lo que a veces hay diferentes soluciones.
Mencionaré que para los sumadores, tener una celda de sumador completo suele ser lo más rápido, no una combinación de puertas.
@W5VO bueno, un sumador completo es básicamente una combinación de un XOR y una puerta AND ... pero, de hecho, el XOR se puede hacer de manera inteligente sin usar las puertas básicas

Mi inclinación con CMOS es pensar en un bloque de construcción básico como un inversor precedido por una combinación arbitraria de puertas independientes "y" y "o" sin interconexiones entre ellas; todas las siguientes funciones:

not (X and (Y or Z))
not (X or (Y and Z))
not (X and Y and Z)
not (X or Y or Z)

tienen esencialmente el mismo costo en silicio, aunque solo los dos últimos tienen nombres. Intentar componer las dos funciones anteriores usando alguna combinación de puertas NAND o NOR produciría algo mucho más grande y más lento de lo que sería una realización directa.