mejor y peor demora de un sumador

0

He diseñado un sumador de 32 bits con un diseño jerárquico para llevar adelante. Ahora estoy tratando de ejecutar una simulación de especia de este sumador y me pregunto qué entradas proporcionarán los mejores y los peores retrasos. No estoy seguro exactamente de cómo determinar cuáles serán estas entradas.

El diseño que he implementado se ve algo como esto: Bloques SPG

BloqueCLAde4vías

BloqueCLAde2vías

todosconectadosenunesquemacomoeste:

Cualquier ayuda para determinar cuáles son los mejores y los peores insumos de caso sería muy bienvenida. Gracias.

Editar: Para aclarar, tengo una estimación aproximada de la demora a lo largo de la ruta crítica del circuito que he diseñado. Lo que me confunde es cómo las diferentes entradas afectarían la demora. Viendo que el diseño es solo un montón de bloques en cascada, creo que cualquier entrada resultaría en la misma salida.

    
pregunta tlind

1 respuesta

0

Lo que has dibujado aquí es lo que podríamos llamar un esquema lógico. Es un esquema que representa conceptos, no un componente físico real. No puedes estimar los retrasos de propagación con esto.

Tomemos un ejemplo. Si tiene un FPGA, generalmente describe un concepto usando un lenguaje como VHDL o verilog. Luego puede escribir bancos de pruebas para probar el comportamiento lógico o el circuito conceptual. Pero esto es solo una simulación conceptual para componentes ideales. Puede alimentar una señal de 1 THz a través de sus puertas y pasar bien pasar. No hay tiempo de subida, no hay retraso de propagación, etc. Ahora, una vez que esté seguro de su circuito, ejecute un paso de síntesis. La herramienta asignará su concepto lógico al hardware real. Los FPGA generalmente se implementan con LUT (multiplexor, más o menos) que tienen, por ejemplo, 4 entradas. Cualquier circuito combinatorio de 4 entradas con una sola salida puede describirse utilizando una LUT de 4 entradas. El FPGA asignará su diseño al hardware físico disponible en el FPGA. Finalmente, puede ejecutar una simulación RTL, que implica ejecutar su banco de pruebas en un chip seleccionado, con la especificación de velocidad seleccionada. En ese momento, su simulación no funcionará con su señal 1THz, ya que es poco probable que su FPGA sea capaz de manejar eso ...

Más allá del uso de señales no realistas, su proceso o hardware tendrá recursos limitados. Nuevamente, en un FPGA, su herramienta generalmente intentará mapear sumadores a sumadores físicos en su FPGA. Si intenta implementar más complementos que los disponibles, la herramienta debería implementar los complementos restantes utilizando tejido digital (LUT o cualquier otro recurso que considere oportuno utilizar). Es probable que los agregadores restantes sean menos eficientes / rápidos que los cableados. Por lo tanto, el rendimiento y la demora máxima, el sesgo del reloj, etc. están vinculados al hardware real que implementas.

Dices que usas cadencia. Bien, pero tu simulador debe usar un modelo para simular tus puertas. Será un modelo lógico (ideal) o uno físico. Si se trata de una lógica, probablemente no haya retrasos de propagación o una predeterminada que no se ajuste a la implementación física que obtendría en la vida real. Si utiliza un modelo físico, entonces su simulación reflejará el resultado que obtendría en esa parte física, nada más.

Considere los chips de compuertas lógicas discretas estándar, como los NAND de entrada QUAD 2 o chips similares. Tiene múltiples familias posibles (RTC, DTL, TTL, ECL, PECL, etc.). Cada una de esas familias lógicas tiene un rendimiento diferente. Podría ser el mismo circuito conceptual, pero la velocidad máxima, el retardo de propagación, el consumo de energía, etc. serán muy diferentes.

En resumen, una simulación de velocidad / retraso de propagación física no tendrá ningún sentido si no tiene modelos del hardware real en el que planea implementar su circuito, ya sea lógica discreta, FPGA, ASIC o lo que sea. Si solo estás jugando, ese análisis está vinculado a cualquier modelo que quieras usar.

En caso de que se esté preguntando por qué no estoy respondiendo directamente su pregunta desde un punto de vista teórico, es porque algún hardware no implementará puertas lógicas discretas reales, como un FPGA (que podría usar puertas lógicas o un sumador cableado), por lo que un análisis teórico no le dará una imagen completa.

    
respondido por el Mishyoshi

Lea otras preguntas en las etiquetas