Il est assez pénible de devoir lancer l’interface graphique vivado et d’ouvrir un projet juste pour aller «flasher» un bitstream sur un FPGA. Surtout quand on est sorti du «mode développement» pour passer en «mode usage» de notre FPGA. Voici donc une méthode pour pouvoir configurer son FPGA par JTaG en mode «console».
C’est finalement plutôt bien expliqué dans le document UG835 (page 934). Mais je le poste quand même ici par soucis de référencement. Car je n’ai pas trouvé directement le howto quand j’ai cherché la méthode.
Une fois qu’on a alimenté son FPGA et que la sonde USB-Jtag est branchée et reconnue par le système, on peut lancer Vivado en mode console via la commande :
On tombe sur l’invite de commande suivante :
Il faut ensuite démarrer le serveur et s’y connecter :
On peut connaître le nom de la sonde qui sera utilisée par défaut via la commande current_hw_target.
Et s’y connecter avec open_hw_target :
Le nom du FPGA de destination est donné par la commande current_hw_device :
Il faut ensuite configurer le path du bitstream que l’on veut charger avec la commande set_property:
Et envoyer le bousin dans le tuyau avec la commande program_hw_device:
Et le tour est joué, le FPGA est configuré.
Et si on ne veut pas se prendre la tête, on peut mettre tout ça dans un script configure_fpga.tcl comme ci dessous:
This repository shows how to convert a complex VHDL design into a single, synthesizable, plain-Verilog module using GHDL's synthesis feature. — Permalink
Pour lister les boites à livres sur Colmar dans openstreet map : [out:json][timeout:25]; // Définir la zone autour de Colmar ( node["amenity"="public_bookcase"](http://48.044,7.311,48.116,7.398); way["amenity"="public_bookcase"](http://48.044,7.311,48.116,7.398); relation["amenity"="public_bookcase"](http://48.044,7.311,48.116,7.398); ); out body; >; out skel qt; `` — Permalink
Votre shell n'a pas la completion ni le rappel des commandes de l'historique ? Pas grave, avec rlwrap vous pouvez les ajouter sans rien modifier au programme. Exemple avec tclsh: $ rlwrap tclsh % puts "c'est fastidieux sans rappel de l'historique" c'est fastidieux sans rappel de l'historique %[flèche haut] % puts "c'est fastidieux sans rappel […]