Very High Speed Integrated Circuit Hardware Description Language/Annexe/Problèmes IMPACT sous LINUX
L'achat d'un programmateur Xilinx ainsi que des cartes FPGA bon marché en Chine nous a amené à installer les logiciels pour que la programmation des FPGA soient possibles. Des tutoriaux sont trouvables sur Internet, mais même les documents officiels de la marque ne sont pas toujours assez explicites.
Les câbles Digilent avec l'ISE
modifierDigilent propose une série de câbles USB/JTAG permettant de programmer les cartes FPGA. Le logiel à installer s'appelle ADEPT. Il est dans l'arborescence de l'ISE mais il faut lui préférer la dernière version disponible sur le site de la marque. Nous avons toujours choisis les .zip à installer manuellement et cela fonctionne encore pour une UBUNTU 18.04. L'intérêt de ces câbles est qu'utilisés avec ADEPT, le téléchargement peut très facilement se faire dans un script.
Le programmateur XILINX DLC9LP Chinois à 20€
modifierCe programmateur nous a résisté un peu de temps... jusqu'à ce que nous trouvions ce site :
Si l'on suit le site à la lettre, la led du programmateur finit par s'allumer en rouge et le branchement d'une carte FPGA la fait passer au vert. Ce qui nous a fait penser que mous étions sur la bonne voie.
Installation 64 bits
modifier- L'utilisation de ce driver nécessite de compléter votre installation si vous ne l'avez pas fait (avec du code 32 bits entre autre) :
sudo apt-get install gitk git-gui libusb-dev build-essential libc6-dev-i386 fxload
- Télécharger les sources du driver :
cd /opt/Xilinx
sudo git clone git://git.zerfleddert.de/usb-driver
- Compiler le driver :
cd usb-driver/
sudo make
- installer le driver du câble :
/opt/Xilinx/usb-driver$./setup_pcusb /opt/Xilinx/14.5/ISE_DS/ISE/
- Mettre à jour le PATH dans .BASHRC
Pour nous, nous avons ajouté en fin de fichier :
PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/Altera/15.0/quartus/bin:/opt/Xilinx/14.5/ISE_DS/ISE/bin/lin64/
export PATH
Connecter le programmateur pour voir si la led s'allume correctement.
A ce point le branchement du programmateur gère correctement la led mais ne détecte pas encore le composant.
- La solution finale consiste à lire le README du répertoire "usb-driver" que l'on a créé en suivant les instructions du site. Il faut donc faire un :
LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so impact
et IMPACT s'utilise comme d'habitude.
A ce point nous n'avons pas encore complètement automatisé l'utilisation de impact à cause du LD_PRELOAD nécessaire avant son lancement. Nous sommes sur la bonne voie mais notre méconnaissance de l'administration de Linux nous empêche de faire fonctionner le tout de manière complètement automatique.