Mi proyecto en PAhead 14.7 tiene 6 ejecuciones de síntesis diferentes y 6 ejecuciones de implementación. Cada ejecución de ejecución tiene su propia ejecución de síntesis padre. Las diferencias entre las ejecuciones de síntesis son algunos parámetros genéricos para personalizar cada síntesis a un país . Estos genéricos personalizados se han introducido en el parámetro " Más opciones " de cada síntesis, por ejemplo, -generics {g_COUNTRY="CANADA"} -shreg_min_size 6
Para sintetizar e implementar rápidamente aprovechando los modernos procesadores multinúcleo, escribí un script tcl que:
- Restablecer las ejecuciones obsoletas de implementación y síntesis
- Ejecutar ejecuciones de síntesis obsoletas
- Espere a que finalicen las ejecuciones de síntesis
- Ejecutar aplicaciones de ejecución obsoletas
- Espere a que finalicen las ejecuciones de implementación
- Y finalmente generar el archivo de flujo de bits
Aquí, algunas partes principales del lanzamiento ejecutan el código tcl
# Launch all the synthesis runs with a maximum of $jobQuantity jobs
launch_runs $synthRuns -jobs $jobQuantity
# Wait for completion of all runs
foreach synthR $synthRuns {wait_on_run $synthR}
# Launch all the implementation runs with a maximum of $jobQuantity jobs
launch_runs $implRuns -jobs $jobQuantity
# Wait for completion of all runs
foreach implR $implRuns {wait_on_run $implR}
El gran problema es que cuando todas las ejecuciones han finalizado, en la GUI encontré resultados inconsistentes . Por ejemplo, cuando abro cada ejecución sintetizada en PAhead GUI para verificar su personalización, siempre se abren los resultados de la síntesis activa se ejecutó el script tcl.
- Cada archivo de informe de síntesis se ha verificado y es correcto.
- Cada archivo de resultados ngc en cada directorio de sintetizador se ha verificado y es correcto.
Pero PlaheadGUI siempre abre la ejecución de síntesis activa durante el comando de inicio, incluso cuando se cambia la ejecución activa de síntesis a otra.
Y lo peor. Cuando se ejecutan las ejecuciones de implementación, todas las ejecuciones de implementación han sido tomadas como síntesis principal de la ejecución de síntesis activa . Así que todas las ejecuciones de ejecución tienen los mismos resultados e incorrectos. Estos mismos resultados incorrectos se han verificado en el Editor FPGA para cada ejecución de implementación.
El script TCL se ha ejecutado en modo GUI y modo interactivo con los mismos resultados incorrectos
¿Qué está pasando? ¿PlanAhead 14.7 no es capaz de administrar múltiples ejecuciones? ¿Alguna configuración podría estar equivocada?