Blog de Abelardo Jara Berrocal: Ubuntu, electronica y software libre

Marzo 13, 2008

Encontrar el paquete .DEB que debemos instalar

Archivado en: Linux Ubuntu Administracion — Abelardo Jara @ 10:37 pm

Muchas veces cuando ejecutamos programas que vienen con un instalador que los descomprime e instala en un directorio elegido: caso Oracle, Modelsim, Xilinx tools, Cadence, nos falta alguna libreria y no sabemos en que paquete de Ubuntu está para instalarla con nuestro querido: apt-get

En esta página podremos buscar el paquete que necesitamos introduciendo el nombre del archivo que necesitamos:

http://www.debian.org/distrib/packages

Invocando las herramientas de Xilinx desde linea de comandos en Linux

Archivado en: FPGAs, VHDL y Computacion Reconfigurable — Abelardo Jara @ 5:30 pm

Presentare como invocar las herramientas de síntesis de Xilinx desde la línea de comandos. Esto es útil si queremos incorporar el flujo de sintesis e implementacion dentro un script (de Bash por ejemplo) y hacer algoritmos de bucle, etc.

Primero debemos añadir variables a nuestro .bashrc (en mi caso estoy usando Ubuntu)

export LANGUAGE=en_GB:en

export XILINX=[path-to-xilinx]
export LD_LIBRARY_PATH=[path-to-xilinx]/bin/lin
export PATH=$PATH:[path-to-xilinx]/bin/lin

(opcional) export XIL_NGDBUILD_OLDFLOW=1

En este ejemplo lo hacemos desde el directorio donde hemos creado un proyecto previamente usando el entorno grafico del Xilinx ISE.

Paso 1 Sintesis:

xst -intstyle ise -ifn __projnav/mpy16.xst \
-ofn mpy16.syr

Paso 2 Traducción:
ngdbuild -intstyle ise \
-dd /home/mab/VERILOG/MPY-TEST/_ngo -i \
-p xc2vp7-fg456-6 mpy16.ngc mpy16.ngd

Paso 3 Mapeo:

map -intstyle ise -p xc2vp7-fg456-6 -cm area \
-pr b -k 4 -c 100 -tx off \
-o mpy16_map.ncd mpy16.ngd mpy16.pcf

Paso 4: Place and Route

par -w -intstyle ise -ol std -t 1 mpy16_map.ncd \
mpy16.ncd mpy16.pcf
trce -intstyle ise -e 3 -l 3 -xml mpy16 mpy16.ncd \
-o mpy16.twr mpy16.pcf

Paso 5: Generación de la bitstream para configurar el FPGA

bitgen -intstyle ise -f mpy16.ut mpy16.ncd

Blog de WordPress.com.