En el mundo de FPGA, ¿qué son exactamente las restricciones de ruta falsa para un compilador HDL? ¿Por qué son útiles?
Los caminos falsos son caminos de temporización que nunca se ejercitarán realmente en el diseño final. Supongamos 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 cada vez que el conteo es igual a 9, esa ruta lenta nunca se verá en el diseño real. Usted etiqueta la ruta lenta como una ruta falsa para que el compilador no pierda tiempo ni 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 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 esto sea así, pero como la herramienta de análisis de tiempos no suele saber (aunque hay algunas herramientas que pueden detectarlos) qué caminos se pueden usar o no, hay que decírselo. Es similar a una ruta de varios ciclos, donde puede indicarle que una determinada ruta puede usar más de un ciclo para completarse.
Un ejemplo (de una ruta falsa) es un registro que puede 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 la sincronización durante el análisis de sincronización. Hay dos razones para excluir rutas, primero porque la ruta falsa hará que las herramientas trabajen más para cumplir con la sincronización de esa señal, lo que a su vez afectará las rutas de señal legítimas, lo que posiblemente cause errores de sincronización adicionales y porque hará que la verificación de sincronizació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 se verifica. Depende del diseñador asegurarse manualmente de que se utilice la lógica de sincronización correcta para estas rutas de señal ignoradas.
W5VO