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


12

Recuerdo haber aprendido en la escuela que uno puede construir cualquier circuito lógico desde NANDo solo NORpuertas.

En primer lugar, me pregunto si así es 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 también con puertas AND/ OR/ NOT.

Sé que cuando uso PMOS/ NMOSconfiguraciones para construir puertas, una ANDo una ORsale como 2 etapas en lugar de una NANDo una NORque son ambas 1. Como sé que puede hacer una ANDde 2 NANDsy una ORcascada de 2 NORs, parece que el retraso de propagación no aumentaría mientras los fabricantes usaran NANDs y NORs.

¿Alguien tiene alguna idea de todo esto, especialmente en cuanto a lo que realmente se hace en los CI fabricados?

Respuestas:


10

En primer lugar, me pregunto si así es 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 inversores ( NOT), pero solo hasta cierto punto.

En la tecnología CMOS, el circuito everlogic se basa en el inversor: NORy las NANDpuertas son solo inversores con múltiples entradas dispuestas de manera inteligente, básicamente. Por lo tanto, las puertas de inversión son más rápidas que las de no inversión, que son solo puertas de inversión con un a NOTen la salida.

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

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

Y hay otra ventaja en eso: integración . Tener un pequeño número de puertas diferentes ayuda a diseñar el circuito y a 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 de inversión.


De acuerdo, creo que esto tiene sentido para mí. Como comprobación, digamos que quería hacer un sumador básico (p. Ej., De 4 bits) usando lógica combinatoria (es decir, no mediante la vinculación de medios sumadores). ¿Me acercaría a este problema tratando de usar solo NANDy NORpuertas, y la menor cantidad posible? ¿Esto casi siempre producirá un mejor diseño (en términos de retraso / recuento de puertas) que si abordara el problema usando un repertorio completo de puertas y luego reemplazara AND/ OR/ NOTpuertas con sus NAND/ NORequivalentes?
llakais

@llakais en casi cualquier caso, sí. 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 sumadores 4: 2 con sumadores completos (¡bloques ganan!), Y segundo, yo ' Hemos implementado el sumador completo con puertas XOR de transistor de paso, por lo que a veces hay diferentes soluciones.
clabacchio

Mencionaré que para los sumadores, tener una celda sumadora completa suele ser la más rápida, no una combinación de puertas.
W5VO

@ W5VO, un sumador completo es básicamente una combinación de una puerta XOR y una puerta AND ... pero, de hecho, la XOR se puede hacer de forma inteligente sin usar las puertas básicas
clabacchio

3

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 compuertas NAND o NOR produciría algo mucho más grande y más lento de lo que sería una realización directa.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.