Instalación de Herramientas para FPGAs ECP5 e ICE40 en CONDA

Diagrama general de instalación

Conda permite administrar las herramientas de desarrollo de manera sencilla ya que en éste caso nos ofrece los precompilados de Yosys, nextpnr, compiladores y otras herramientas útiles, que en otros casos deberían ser compiladas desde las fuentes, lo que requiere más recursos en tiempo y capacidad de máquina.

Los comandos a usar son sencillos tanto para instalar, actualizar y ejecutar entornos. A continuación se explica los pasos de instalación de las herramientas.

Herramientas a instalar

Pasos de instalación

1. Instalación de MINICONDA

asciicast

Nota: No existe problema si en su PC tiene una versión de python3 instalada.

descarga de miniconda

1.2 Instalación de MINICONDA

Ejecute el siguiente comando y siga las instrucciones del instalador

bash Miniconda3-latest-Linux-x86_64.sh

nota 1: el directorio de instalación de miniconda por default será /home/user/miniconda3

nota 2: Ésta instalación afecta directamente al bashrc ubicado en ~/.bashrc, se recomienda revisar el estado de éste archivo donde miniconda3 agregó las líneas al final

Recomendación: Desactive el lanzador automático del entorno base de miniconda, la activación manual le permitirá un mayor control sobre las acciones a realizar a futuro desde el bash.

conda config --set auto_activate_base false

1.4 Actualizar miniconda

conda update -n base -c defaults conda

1.5 Creación de entorno

Un entorno permite que conda presente las herramientas según nuestros intereses; por ejemplo si se crea el entorno FPGA y se instala las herramientas deseadas, cada vez que active ese entorno, conda agregará al PATH los binarios y librerías que se ha instalado para tal fin; es una manera de organizar nuestros recursos.

Nota: en realidad conda crea un entorno base así que sino desea crear un entorno podría saltarse éste paso teniendo encuenta éste hecho.

Ejecute el siguiente comando para crear el entorno FPGA:

conda create --name fpga

Para activar el entorno creado ejecute el siguiente comando:

conda activate fpga

2. Instalación de NEXTPNR, YOSYS y cross-compiladores

conda install -c "litex-hub" nextpnr-ecp5
conda install -c "litex-hub" nextpnr-ice40
conda install -c "litex-hub/label/ci-master-1188059080" yosys
conda install -c litex-hub gcc-riscv32-elf-newlib
conda install -c litex-hub gcc-lm32-elf-newlib
conda install -c litex-hub iceprog

Verificación de herramientas instaladas

yosys -V
nextpnr-ecp5 -V
riscv32-unknown-elf-gcc -v

Fuentes

Documentación de miniconda

Instalación de miniconda

Manejo de entornos conda

Manejo de entornos en coda

Canal conda de timvideos

litex-conda-packages