3 votos

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

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

De todas formas, quiero usar ghdl/gtkwave para la simulación, y luego usar las herramientas de Webpack sólo para cuando necesite generar un bitstream para subirlo a mi FPGA.... Y quiero que todo se ejecute fácilmente desde un makefile. De todos los makefiles que he visto para usar sus herramientas de línea de comandos, sin embargo, todos requieren un archivo de proyecto. Realmente preferiría especificar los archivos manualmente de alguna manera en mi makefile. Preferiría no tener que, cada vez que añado un archivo, cambiar el proyecto y mi makefile. ¿Es esto posible?

4voto

spmason Puntos 2740

No que yo sepa. Otro enfoque es utilizar un script en lugar de un makefile. El script puede crear el archivo de proyecto para que no tenga que editar manualmente varios archivos.

Puede utilizar TCL para controlar las herramientas ISE. Las herramientas ISE generarán código de ejemplo por ti. Puedes encontrar más información sobre el uso de TCL aquí, http://devbisme.webfactional.com/blogs/devbisme/2012/04/03/running-weeds

Si quieres una opción Python para construir proyectos Xilinx ISE, mira los scripts Python de Guenter Dannoritzer, que generan el tcl subyacente, pero la interfaz OO en Python es mejor que generar tcl directamente, http://www.myhdl.org/doku.php/projects:ise_py . He hecho algunas actualizaciones a las secuencias de comandos aquí, https://bitbucket.org/cfelton/examples/src/tip/tools

Un ejemplo, puede crear rápidamente y con la misma facilidad un proyecto ISE.

# 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()

1voto

Martin Thompson Puntos 6509

¿Esto sirve de algo?

http://www.excamera.com/sphinx/fpga-makefile.html

Googleando "xilinx makefile" aparece bastante gente haciendo cosas similares.

Mi enfoque personal: Para los sistemas no EDK, tengo un sistema basado en scripts que simplemente ejecuta todos los pasos necesarios en orden sin ningún tipo de "ingenio" - por lo general estos diseños pequeños, por lo que una ejecución completa sólo toma 5 minutos más o menos

Los diseños más grandes se hacen generalmente dentro de EDK, entonces construyo encima del makefile de Xilinx (incluyendo el suyo en el mío)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X