Annexe: Programmation de la carte DE10-Nano depuis votre PC personnel

Chacun des étudiant dispose d'une maquette pour travailler le plus possible en autonomie.  Si l'installation en local de l'ensemble des logiciels nécessaires au projet est lourde, il est néamoins possible d'installer l'outil de programmation du FPGA. 

Pour cela nous supposons le scénario suivant:

  1. Vous disposez d'un PC personnel.
  2. Vous disposez d'une connection permettant d'accéder au réseau de l'école.
  3. Vous vous connectez au réseau de l'école via le VPN de manière à accéder simplement aux machines de nos salles de TP (par exemple tp3a107-xxx).
  4. Vous utilisez les outils de simulation et de synthèse sur les machines de l'école.
  5. Après synthèse vous  recopiez  le fichier controleur_video/SoCFPGA/syn/output_files/Top.sof sur votre PC personnel
  6. Vous programmez la maquette avec l'outil de programmation préalablement installé.

1) Travail sous Windows

Pour les utilisateurs de PC Windows, récupérez l'installeur situé dans le chemin suivant:

/comelec/softs/opt/altera/programmers/QuartusProgrammerSetup-18.1.1.646-windows.exe
  • Executez l'installeur
  • En ce qui concerne le mode d'emploi, s'inspirer du paragraphe 2.4 sous Linux...

2) Travail sous Linux

C'est un peu plus compliqué...

2.1) Installation de l'outil de programmation sur PC Linux

Récupérez l'installeur situé dans le chemin suivant (par exemple dans /tmp)

/comelec/softs/opt/altera/programmers/QuartusProgrammerSetup-18.1.1.646-linux.run
  • rendez le exécutable:
chmod +x /tmp/QuartusProgrammerSetup-18.1.0.625-linux.run
  • Exécutez le. Vous devriez avoir dans votre home un répertoire intelFpga.
  • Il faut patcher le logiciel pour qu'il fonctionne. Pour cela il faut récupérer une bibliothèque et la recopier en local (remplacer xxx par votre identifiant à l'école).
scp xxx@tp3a101-01:/comelec/softs/opt/altera/altera18.1/quartus/linux64/libpng12.so.0.50.0 ~/intelFPGA/18.1/qprogrammer/linux64
cd  ~/intelFPGA/18.1/qprogrammer/linux64
ln -s libpng12.so.0.50.0 libpng12.so.0
  • Testez l'outil de programmation en mode graphique.
~/intelFPGA/18.1/qprogrammer/bin/quartus_pgmw

2.2) Autorisations d'accès utilisateur au programmateur de FPGA

La programmation du FPGA se fait par un port USB. Pour que l'outil de programmation quartus_pgmw puisse accéder à votre maquette, il faut demander au service udev de détection des `devices` de modifier les droits d'accès. Pour cela:

  • Récupérez le fichier de gestion des règles de propriété udev:
/comelec/softs/opt/altera/programmers/z99_quartus_pgm.rules
  • Copiez (en tant que root)  le z99_quartus_pgm.rules dans le répertoire /etc/udev/rules.d
  • relancez le service `udev`, pour cela exécutez : systemctl restart udev en tant qu'utilisateur root
  • Si votre Linux n'utilise pas systemctl, utilisez la bonne méthode ou ... rebootez simplement votre machine

2.3) Test de l'installation

  • branchez la maquette (port USB marqué `USB BLASTER`) à votre PC.
  • Lancez la commande quartus_pgm -l

Vous devriez avoir un message indiquant la détection de la carte:

Info: Command: quartus_pgm -l

1) DE-SoC [1-3]

Les chiffres correspondent au numéro du port USB. Si cela ne marche pas le message est :

Info: Command: quartus_pgm -l

No JTAG hardware available

2.4) Utilisation de l'interface graphique pour la programmation

  • Lancez la commande quartus_pgmw
  • Sélectionnez le menu Hardware Setup.
  • Vous devriez voir, dans Available hardware items, un item DE-SoC.
  • Sélectionnez le en double-cliquant sur DE-SoC
  • Fermez la fenêtre de sélection de hardware
  • Sélectionnez le menu Auto Detect et acceptez la proposition faite (5SEBA6)
  • Double cliquez sur le champ correspondant au device 5SEBA6 (ignorez l'autre ligne), et fournissez le fichier Top.sof que vous avez récupéré.
  • Cliquez le drapeau Program/Configure correspondant au device 5SEBA6
  • Cliquez sur Start
  • La programmation démarre (une led verte s'allume sur la maquette).
  • Une fois le fpga programmé une led orange s'allume sur la maquette.