Esto surgió de mi pregunta anterior al observar más de cerca los multiplexores. El artículo de Wikipedia muestra dos formas de implementarlos. Uno con algunos búferes de tres estados y el otro que son solo "puertas rectas", pero observe que esas puertas AND tienen 3 entradas.
Entonces, ¿hay alguna ingeniería significativa diferente entre un búfer de tres estados y una puerta AND de 3 entradas? ¿Es uno más caro de fabricar que el otro? ¿Alguno causa mayores problemas de diseño? ¿Más requisitos de energía?
¿Cuáles son las ventajas/desventajas de ellos para los multiplexores?
(Mi aplicación prevista es CPU y otra arquitectura informática).
Para pequeños multiplexores no importa. Los grandes, un mux implementado en la puerta ocupará más área y tendrá un retraso más prolongado. Entonces estos usan una estructura diferente. Más sobre que en un momento.
Los búferes de 3 estados no funcionan bien en los circuitos integrados, ya que este enfoque puede dejar la línea de salida flotando. Esto se puede superar con un 'arquero débil' en la línea, pero hay otra manera.
Los chips con selectores grandes (como las RAM) no utilizan búferes de 3 estados ni puertas de ruta de datos para construir multiplexores. En su lugar, utilizan puertas de transmisión . Estos reducen el recuento de transistores para el elemento seleccionado a solo dos FET por línea de datos seleccionada. También tienen menos retraso que una puerta o un enfoque de búfer de 3 estados.
Bonificación: las puertas de transmisión funcionan en ambas direcciones. Esto se usa con cierta ventaja en las memorias RAM que comparten la misma ruta para lectura y escritura. También funcionan en señales analógicas.
En el diseño de ASIC (y probablemente también en el diseño de FPGA), se deben evitar las puertas de tres estados de lógica interna a menos que sea absolutamente necesario. Hay varias razones por las que ese es el caso, pero la versión corta es que la regla evita que te dispares en el pie y realmente no te está costando nada. Tenga en cuenta que dentro de un límite de puerta, está bien siempre que la salida sea una salida CMOS estándar.
simular este circuito : esquema creado con CircuitLab
Los dos inversores que generan las señales de selección invertidas no se muestran para ninguno de los esquemas.
Al comparar estas dos topologías, la topología de tres estados proporciona un retraso de propagación significativamente menor desde sus entradas de datos hasta su salida. No se muestran las cuatro puertas NAND + cuatro INV necesarias para generar la señal de selección para cada puerta de tres estados individual. Eso es un total de 46 transistores para esta topología y dos retardos de puerta desde A->Y. Habrá un mayor consumo de corriente al cambiar entre las líneas seleccionadas, ya que habrá algo de corriente de disparo en el nodo de tres estados (por ejemplo, de NOT1 a NOT3).
La implementación de puerta completamente estática agrega el decodificador a la ruta de datos. En este punto, podría hacer una NAND de 4 entradas para reemplazar la etapa de salida, pero es un montón de compensaciones si desea 2 etapas más rápidas o una etapa de puerta de 4 entradas más lenta. Tal como está dibujado, se trata de 42 transistores, solo un poco más pequeños. La sincronización S a Y probablemente será un poco más rápida y no provocará un cortocircuito en dos puertas.
Ninguno de los diseños será divertido de diseñar bien como una sola puerta en una biblioteca ASIC.
respondiendo las preguntas
En general, desde la perspectiva de ASIC, probablemente elegiría el diseño de tres estados la mayor parte del tiempo. Si está en un FPGA, no importa de ninguna manera (el LUT lo maneja)
DrZ214
hacktastico