DOURNAC.ORG
Français  English
Accueil
Astronomie
Sciences
Philosophie
Informatique
Cv

Informatique > Programmation du processeur 32 bits CRAPS/SPARC sur carte FPGA Xilinx Spartan-6 (Nexys 3)


L'implémentation du processeur CRAPS sur la carte Nexys 3 se fait tout d'abord en synthétisant sur Xilinx ISE les sources VHDL modélisant son fonctionnement. Voici les sources VHDL ainsi que le "User Constraint File" (propre à la carte Nexys 3) utilisés ici :

  • vhdl_craps.tar

  • nexys3_craps.ucf

Une fois la synthèse effectuée, on obtient un fichier binaire (.bit pour la mémoire volatile ou .mcs pour la EEPROM) que l'on charge sur la carte FPGA. Voici le .mcs pour Nexys 3 :

  • Craps_Nexys3.mcs

Nous allons maintenant utiliser un moniteur écrit en Java qui permet d'interagir en temps réel avec le processeur CRAPS. Ce programme utilise des fonctions natives en C++ (voir JNI), elles-mêmes faisant appel aux fonctions bas-niveau de la librairie Dcputil. Le moniteur est téléchargeables ici :

  • CrapsMon4.6.jar

Pour lancer ce programme sous Windows, nous avons besoin de la librairie suivante :

  • usbComm1.3.dll

Pour le lancer sous Linux (testé sur x86_64 Debian 6.0), il nous faut la librairie suivante :

  • libusbComm1.3.so

Cette dernière est obtenue avec les fichiers suivants via JNI :

  • usbComm1.3.cpp

  • org_jcb_shdl_CommThread.h

Pour générer la librairie .so sous Linux 64 bits, voici les commandes à exécuter :

\$ g++ -c -fPIC -I /usr/lib/jvm/java-6-sun/include/ -I /usr/lib/jvm/java-6-sun/include/linux/ -I /usr/local/include/digilent/adept/
-L /usr/local/lib64 /digilent/adept/ -ldepp -ldmgr usbComm1.3.cpp -o usbComm1.3.o
\$ g++ -shared -o libusbComm1.3.so /usr/local/lib64/digilent/adept/lib* usbComm1.3.o

Il faut ensuite la copier dans /usr/lib/ pour lancer le .jar.

Voici une vidéo montrant l'interaction entre le processeur CRAPS sur la carte Nexys 3 et le PC grâce au Moniteur Java :


Video not playing? Download file instead.




















ps : contribuez comme moi au projet Cosmology@Home dont le but est d'affiner le modèle décrivant le mieux notre Univers.

    Accueil | Astronomie | Sciences | Philosophie | Informatique | Cv    
- dournac.org © 2003 by fab -

Haut de Page