En el mundo FPGA, ¿cuáles son exactamente las restricciones de ruta falsa para un compilador HDL? ¿Por qué son útiles?
En el mundo FPGA, ¿cuáles son exactamente las restricciones de ruta falsa para un compilador HDL? ¿Por qué son útiles?
Respuestas:
Las rutas falsas son rutas de tiempo que nunca se ejercerán realmente en el diseño final. Suponga que está diseñando un contador de 4 bits y resulta que hay una ruta de retardo muy lenta cuando se incrementa de 12 a 13. Si su diseño siempre restablece el contador cuando el recuento sea igual a 9, esa ruta lenta nunca se verá en el diseño actual Usted etiqueta la ruta lenta como una ruta falsa para que el compilador no pase tiempo, o agregue ninguna lógica adicional, en un esfuerzo por hacer que la ruta falsa se ejecute más rápido.
Una ruta falsa es una ruta que existe en el diseño pero que no desempeña un papel en la operación, por lo que no es necesario incluirla en el análisis de temporización.
Podría haber varias razones para que este sea el caso, pero dado que la herramienta de análisis de temporización generalmente no sabe (aunque hay algunas herramientas que pueden detectarlas) qué rutas se pueden usar o no, debe decirlo. Es similar a una ruta de varios ciclos, donde 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 podría escribirse una vez al encender, pero luego permanece en el mismo estado.
Simplemente, una ruta falsa es una ruta lógica que desea excluir de la verificación para ver si cumple con el tiempo durante el análisis de tiempo. Hay dos razones para excluir rutas, primero porque la ruta falsa hará que las herramientas trabajen más duro para cumplir con el tiempo de esa señal, lo que a su vez afectará las rutas de señal legítimas, posiblemente causando errores de tiempo adicionales y porque hará que la verificación de tiempo informe fallas posiblemente distrayendo al diseñador de errores legítimos de sincronización.
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 el tiempo funcione solo que el tiempo no está marcado. Depende del diseñador asegurarse manualmente de que se use la lógica de sincronización correcta para estas rutas de señal ignoradas.