Determine la versión de Xilinx ISE programáticamente

2

Estoy usando la cadena de herramientas Xilinx y me gustaría automatizar (con scripts TCL) algunas cosas. Si bien ISE Suite se puede automatizar ampliamente a través de TCL y su shell de TCL ( xtclsh.exe ), no parece haber ninguna manera para que yo pueda determinar de manera programática qué versión de las herramientas de Xilinx están instaladas, así que puedo saber dónde reside la shell. . No puedo simplemente codificar la ruta ya que cada versión de las herramientas está instalada en un subdirectorio que incluye el número de versión. Corro el riesgo de invalidar todos mis scripts tan pronto como actualizo a la versión más reciente que lanzan. Esta misma pregunta surgió en Xilinx foros , aparentemente en vano. ¿Alguien sabe una forma (algún script / archivo por lotes / variable de entorno) para obtener la ruta a la versión más reciente del ejecutable Xilinx instalado mediante programación?

    
pregunta Joel B

1 respuesta

2

Con las nuevas herramientas de Xilinx (12 hacia arriba), debes ejecutar un script antes de ejecutar cualquiera de ellas. La secuencia de comandos establece algunas variables de entorno para que apunten a la "versión correcta"

Si ejecuta las herramientas desde los iconos de inicio habituales, esa secuencia de comandos se ejecuta de forma transparente. Si abre su propio cuadro de DOS y desea ejecutar una compilación dentro de él, debe ejecutar <path to xilinx tools>\<version>\ise_ds\settings[32|64].bat para configurar el entorno.

Luego, se configura un conjunto de variables de entorno XILINX_* , la más fundamental de las cuales se llama XILINX . En mi instalación 12.4 apunta a

XILINX=c:\Xilinx.4\ISE_DS\ISE

Esto también se agrega a la ruta, por lo que cuando llama a map , par , etc., se llama al correcto. Por lo tanto, no debería necesitar conocer la ruta en sus scripts, a menos que desee acceder a algunos de los archivos de datos dentro de la instalación.

  

¿Cómo puedo encontrar la "raíz" correcta mediante programación?

En mi experiencia, la forma "correcta" de operar es exigir que el usuario defina explícitamente la raíz correcta. Tenemos muchas versiones diferentes de ISE instaladas y seleccionamos cuál dependiendo del proyecto. Una vez que un proyecto ha comenzado, congelamos las herramientas utilizadas (en la medida en que con los proyectos de producción, el script de compilación verifica la versión de las herramientas como una primera tarea y las bombas del usuario han seleccionado una incorrecta). Particularmente entre las versiones principales, existe suficiente rotación de que los conjuntos de herramientas de migración pueden ser un trabajo bastante grande, especialmente si está utilizando un conjunto de herramientas más amplio (por ejemplo, EDK, generador de sistemas, etc.).

Sin embargo, si realmente desea ejecutar las últimas herramientas que puede encontrar todo el tiempo, creo que puede haber algunas claves de registro (suponiendo que sea un usuario de Windows) que pueda repetir. Pueden contener un puntero a la raíz que luego podría usar.

    
respondido por el Martin Thompson

Lea otras preguntas en las etiquetas