archivo de bits Xilinx diferente entre compilaciones

3

Estoy tratando de entender lo que sucede con los resultados binarios después de crear same VHDL fuentes utilizando el último ISE de Xilinx. He escuchado información conflictiva sobre los archivos de bit / bin resultantes.

¿Es razonable la expectativa de que, en dos compilaciones, los archivos bin y bin resulten exactamente iguales?

¿El sistema operativo host (Windows vs. Linux) influye en los binarios resultantes?

¿Puedo hacer MD5 en dos archivos de diferentes compilaciones y esperar que coincidan?

    
pregunta Hinko Kocevar

1 respuesta

6

Hay una opción para aleatorizar el proceso de compilación, cuyo IIRC está habilitado de forma predeterminada.

Dado que el diseño FPGA es un problema de optimización con alta complejidad, no es posible encontrar el diseño óptimo a nivel mundial en un marco de tiempo razonable. En su lugar, el compilador comienza con un diseño aleatorio pero correcto, y realiza optimizaciones locales en él, hasta que no sea posible realizar más optimizaciones, luego verifica si el diseño cumple con los requisitos de tiempo.

Si el FPGA está cerca de llenarse, esta aleatorización es a menudo la diferencia entre el tiempo de paso y el fallo, por lo que reiniciar la compilación después de una falla puede darle un resultado funcional. Sin la aleatorización, los tiempos fallidos también podrían reproducirse en la próxima iteración.

Para la producción, haría de diez a veinte compilaciones diferentes, seleccionaría tres con los mejores márgenes de tiempo y las probaría en hardware real a diferentes temperaturas (normalmente, 0 ° y 55 °).

    
respondido por el Simon Richter

Lea otras preguntas en las etiquetas