DOURNAC.ORG
Français  English
 

Programming the 32 bits CRAPS/SPARC processor on Xilinx Spartan-6 FPGA board (Nexys 3)


Coding > Programming the 32 bits CRAPS/SPARC processor on Xilinx Spartan-6 FPGA board (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 :

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 :

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 :

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

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

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

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 pc et la carte Nexys 3 grâce au Moniteur Java :























ps : join like me the Cosmology@Home project whose aim is to search for the model that best describes our universe

Home | Astronomy | Sciences | Philosophy | Coding | Cv
- dournac.org © 2003 by fab -