Altera Cyclone V: Problemas de tiempo con el enrutamiento (interconexión)

5

Estoy diseñando una aplicación con un Altera Cyclone V SoC (5CSXFC6C6U23I7N) e interconectando ADCs y DAC a 250MS / s. Mientras tanto, la complejidad del diseño ha aumentado un poco y ahora hay infracciones de restricción de tiempo cerca de la parte de la interfaz DAC. Esta interfaz utiliza el hardware LVDS SERDES para el formato de datos DDR. El reloj de datos es de 250MHz y, por tanto, de una velocidad de datos de 500Mb / s. El FPGA se sincroniza internamente a la frecuencia de muestreo, es decir, 250MHz, lo que no debería ser un problema con este dispositivo I7 de grado de velocidad.

Ahora el problema: hay algunos registros cerca de la interfaz DAC para ordenar correctamente los bits de datos. Pero hay violaciones de tiempo entre tales registros, aunque no hay absolutamente ninguna lógica entre los registros. Al observar los retrasos de ruta en TimeQuest, veo que hay un retardo de 3.5ns introducido por enrutamiento (interconexión). Junto con los otros retrasos, los 4ns requeridos ya no se logran. Al mirar la ruta de datos en el planificador de chips, veo que se enruta desde aproximadamente el centro del FPGA a la sección de E / S. Después de ver esto, pensé que solo podía insertar una etapa de registro adicional, para que los datos pudieran volver a sincronizarse en algún lugar de la ruta. Pero el instalador simplemente coloca esos registros también cerca de la etapa de salida, siempre haciendo que la misma ruta (s) falle.

Sé que la interfaz en sí no es un problema, ya que funcionaba perfectamente en las ejecuciones de compilación anteriores. La utilización de recursos es inferior al 5%, por lo que tampoco hay problemas con registros / ALM faltantes. Ajustar el esfuerzo de ajuste a "agresivo" o reducir el rango de temperatura objetivo mejora ligeramente las cifras, pero todavía hay una holgura negativa en el rango de 500ps a 1ns.

btw: El diseño como tal funciona incluso con las violaciones cuando el dispositivo está funcionando aquí a temperatura ambiente. Sin embargo, quiero que funcione de manera confiable, así que ignorar las violaciones definitivamente no es una opción.

¿Alguna idea?

Gracias y saludos cordiales,
Philipp

    
pregunta Philipp Burch

1 respuesta

2

¿Estás seguro de que hay violaciones reales? ¿Necesita establecer rutas falsas o grupos de reloj separados? Las herramientas de STA solo son inteligentes como usted las dice; Si no cree que haya una ruta / problema lógico real después de leer la infracción, modificaría mi SDC para que la herramienta sepa que no debe preocuparse. Esto también podría eliminar restricciones innecesarias en el sintetizador y el enrutador.

Si es un problema real y todo se debe a un retraso en la interconexión, me pregunto por qué el enrutador no se está colocando adecuadamente. Puede intentar agregar restricciones regionales o investigar por qué el enrutador cree que está bien colocarlas tan lejos, tal vez falte alguna otra restricción.

    
respondido por el Krunal Desai

Lea otras preguntas en las etiquetas