¿Usando Webpack desde la línea de comandos, pero sin un archivo de proyecto?

3

Hace poco conseguí que Webpack me funcionara bien en mi sistema Linux ... pero intenté usar ISim para simular mis diseños y un problema me golpeó. Y por lo que puedo decir, este problema no es el problema de Xilinx, ya que no estoy usando un sistema operativo compatible (Arch Linux) ... y no puedo averiguar cómo solucionarlo ... así que voy hacer algo que ojalá sea más fácil a largo plazo.

De todos modos, quiero usar ghdl / gtkwave para la simulación, y luego usar las herramientas de Webpack solo para cuando necesito generar un flujo de bits para cargar en mi FPGA ... Y quiero que todo se ejecute fácilmente desde un archivo make. De todos los archivos make que he visto para usar sus herramientas de línea de comandos, todos requieren un archivo de proyecto. Realmente prefiero simplemente especificar los archivos de alguna manera manualmente en mi makefile. Prefiero no tener que hacerlo, cada vez que agrego un archivo, cambio el proyecto y mi makefile. es posible?

    
pregunta Earlz

2 respuestas

4

No que yo sepa. Otro enfoque es usar un script en lugar de un makefile. La secuencia de comandos puede crear el archivo de proyecto para que no edite manualmente varios archivos.

Puedes usar TCL para controlar las herramientas ISE. Las herramientas ISE generarán código de ejemplo para usted. Puede encontrar más información sobre el uso de TCL aquí, enlace

Si desea una opción de Python para crear proyectos ISE de Xilinx, consulte los scripts de Python de Guenter Dannoritzer, que generan el tcl subyacente, pero la interfaz OO en Python es mejor que generar tcl directamente, enlace . He hecho algunas actualizaciones de los scripts aquí, enlace

Un ejemplo, puede crear un proyecto ISE de forma rápida y sencilla.

# set up pin configuration for the FPGA
fpga = Fpga(path=ppath)
fpga.setPin('clk', 'P124')
fpga.setPin('srst', 'P8')
fpga.setPin('led<0>', 'P92')
fpga.setPin('led<1>', 'P93')
fpga.setPin('led<2>', 'P95')
fpga.setPin('led<3>', 'P96')
fpga.setPin('led<4>', 'P97')
fpga.setPin('led<5>', 'P98')
fpga.setPin('led<6>', 'P99')
fpga.setPin('led<7>', 'P100')
fpga.setDevice('spartan3', 'xc3s400', 'tq144', '-5')

imp = Xilinx(ppath, 'stroby')

imp.setFpga(fpga)
imp.addHdl((vfile))
imp.createTcl() 
imp.run()
    
respondido por el Christopher Felton
1

¿Es esto de alguna utilidad:

enlace

Buscar en Google "xilinx makefile" muestra a mucha gente haciendo cosas similares.

Mi enfoque personal: para sistemas que no son EDK, tengo un sistema basado en scripts que simplemente ejecuta todos los pasos requeridos en orden sin ningún tipo de "inteligencia", generalmente estos diseños son pequeños, por lo que una ejecución completa solo toma 5 minutos o tan

Los diseños más grandes generalmente se realizan dentro de EDK, luego construyo sobre el archivo makefile de Xilinx (incluido el suyo en el mío)

    
respondido por el Martin Thompson

Lea otras preguntas en las etiquetas