¿Qué es una restricción de tiempo de ruta falsa?

10

En el mundo FPGA, ¿qué son exactamente las restricciones de ruta falsa para un compilador HDL? ¿Por qué son útiles?

    
pregunta Randomblue

3 respuestas

13

Las rutas falsas son rutas de tiempo que nunca se ejercerán realmente en el diseño final. Supongamos que está diseñando un contador de 4 bits y resulta que hay un camino de retardo muy lento cuando se incrementa de 12 a 13. Si su diseño siempre restablece el contador cada vez que el conteo es igual a 9, entonces ese camino lento nunca se verá en el diseño actual Etiqueta la ruta lenta como una ruta falsa para que el compilador no pierda tiempo, o agregue cualquier lógica adicional, en un esfuerzo por hacer que la ruta falsa se ejecute más rápido.

    
respondido por el Joe Hass
8

Una ruta falsa es una ruta que existe en el diseño pero no juega un papel en la operación, por lo que no es necesario incluirla en el análisis de tiempo.
Puede haber varias razones para que este sea el caso, pero como la herramienta de análisis de tiempo generalmente no sabe (aunque hay algunas herramientas que pueden detectarlas) qué rutas se pueden usar o no, debe indicarlo. Es similar a una ruta de varios ciclos, en la que puede decirle que una determinada ruta puede usar más de un ciclo para completar.

Un ejemplo (de una ruta falsa) es un registro que puede escribirse una vez en el encendido, pero luego permanece en el mismo estado.

    
respondido por el Oli Glaser
1

Simplemente, una ruta falsa es una ruta lógica que no desea que se verifique para ver si cumple con el tiempo durante el análisis de tiempo. Existen dos razones para excluir las rutas, primero porque la ruta falsa hará que las herramientas trabajen más para cumplir con la temporización de esa señal, que a su vez afectará a las rutas de señal legítimas que posiblemente causen errores de temporización adicionales y porque causará que la verificación de la temporización informe fallas posiblemente distrayendo al diseñador de errores de tiempo legítimos.

Las rutas falsas son causadas por rutas lógicas entre relojes asíncronos no relacionados o relojes de la misma frecuencia pero con una relación de fase desconocida o una ruta que nunca se activaría durante la operación normal del circuito. Decirle a la herramienta que ignore una ruta no hace que la sincronización funcione solo que la sincronización no está marcada. Es responsabilidad del diseñador asegurar manualmente que se use la lógica de sincronización correcta para estas rutas de señal ignoradas.

    
respondido por el Ray Haynes

Lea otras preguntas en las etiquetas