tp homade assembleur
Transcription
tp homade assembleur
TP HOMADE ASSEMBLEUR Bonne nouvelle il existe un générateur de binaire pour Homade. Il produira votre fichier VHD spécifiant la ROM qui contient le programme à exécuter à partir d’un code post fixé respectant la syntaxe présentée sur le site www.lifl.fr/~dekeyser/Homade. Copiez les fichier de www.lifl.fr/~dekeyser/Homade/V1.4/asm/ chez vous. Un exemple de code est fourni dans le fichier add8_TP1.fs. Ce TP va consister à valider quelques algorithmes sur Homade à partir de codes développés avec cet assembleur. Avant exécution il faut modifier les deux lignes suivantes dans homade.sh. GFORTH="gforth" HOMADEFS= …ma_dir…./hmdV1.4.fs La commande pour lancer cet assembleur est sh homade.sh mon_fichier_sans_extension Le fichier hmdV1.4.fs doit être copier dans votre directory , il contient une liste d’IP prédéfinis pour lesquels il existe un mot clef Forth. Ce sont les lignes qui contiennent binary. Vous pourrez modifier ce fichier si vous voulez modifier l’assembleur. Le lancement de la commande sous linux nécessite un nom, lit le fichier mon_fichier_sans_extension.fs et produit le fichier mon_fichier_sans_extension.vhd. Si vous utilisez votre propre machine vous devait charger GNU Gforth et récupérer ces fichiers. 1) Compilez le fichier add8.fs et comparez le code avec celui que vous aviez fourni dans le TP précèdent 2) Ecrire le code pour ADD16.fs, le compiler et exécuter sur homade 3) Proposez un code qui saisit un nombre I sur les switchs et affiche le Iième nombre de la suite de fibonacci : 1 1 2 3 5 8 13 …… (affichage en hexa) (un IP VHDL pour transformer un hexa en BCD serait à développer pour Homade ;-)) 4) Même programme qui affiche tous les Iieme premiers nombres de fibo en laissant le temps de les voir sur l’afficheur ( IP Wait est fait pour ralentir Homade), Vous pouvez aussi développer un IP fibo en Vhdl qui fait la même chose : sommet de pile = I , IP long et résultat sur la pile… ( 20 assuré si çà tourne dans Homade;-) 5) Développer un programme casino qui utilise les switchs pour parier, les leds comme roulette et qui gagne des points quand le switch ou l’un des switchs aura été positionné devant la led finalement allumée et qui en perd sinon… On définira une fonction rdm, on peut aussi définir un IP RDN mais il y a beaucoup plus de travail à faire…. Ce projet est ouvert , vous pouvez définir votre propre cahier des charges avec votre propre ambition dans la réalisation, un minimum devra néanmoins fonctionner !