lesquels nous n’avons pas fourni les sources 2. Finalement, la commande lance le simulateur de
ISE.
Question 2 Lancez une simulation sur le programme pgcd fourni. Par défaut, le simulateur
ne fournit que les entrées-sorties du module simulé. Quelles informations peut-on obtenir du
chronogramme obtenu ?
Pour obtenir plus d’informations, il faut ajouter des signaux à votre simulation. Pour ça,
il faut sélectionner dans l’onglet « Instances and Processes » le composant contenant le signal
recherché. Tous les signaux de ce composant apparaissent dans l’onglet « Objects ». Il suffit alors
de faire glisser le signal désiré vers le chronogramme.
Pour conserver un chronogramme lisible, pensez à regrouper les signaux par thématique, à
utiliser des séparateurs (clic droit dans le chronogramme et « New Divider ») et à demander la
bonne interprétation des vecteurs de bits (clic droit sur le signal dans le chronogramme, puis
prendre l’interprétation voulue dans le champs Radix).
Question 3 Conservez uniquement les signaux utiles de la simulation initiale. Ajoutez ensuite
les signaux suivants :
– clk25 et rst du composant C_MMIPS_simple, pour avoir les signaux de synchronisation
utilisé par le processeur ;
– les signaux du composant C_RAM, pour savoir ce qui se passe au niveau de la mémoire
(attention les 2 bits d’adresses de poids faible ne sont pas utilisés par le module mémoire) ;
– le groupement de signaux cmd du composant C_PROC pour voir les commandes données
par la PC à la PO ;
– le signal d’état de la PC (state_q) et les signaux vous paraissant pertinent dans la PO.
Le banc de registre est appelé rf_q.
Enfin, relancez la simulation.
Question 4 Trouvez dans la simulation l’instant où le processeur commence à travailler, puis
vérifier que l’état du registre PC évolue bien comme prévu par les instructions du programme
(en s’aidant des registres PC et IR).
Vérifier que le contenu des registres évolue aussi comme désiré.
Trouvez la première instruction subu et suivre sur les signaux de la PO et de la RAM l’impact
des ordres donnés dans la PC dans l’état avant le fetch, dans l’état fetch, dans l’état decode et
dans l’état d’exécution.
Pour gagner du temps et éviter de refaire ces fichiers de configuration de vos simulations, il
est possible de les sauvegarder. Le répertoire wcfg est là à cet usage. Vous y retrouverez notre
fichier de configuration pour le pgcd. Si vous voulez lancer automatiquement vos simulations
avec vos fichiers de configuration, sauvegardez dans ce répertoire votre fichier de configuration
et remplacer TP5 par WCFG dans l’appel à make. Ex :
make run_simu WCFG=pgcd.
Question 5 Ecrire dans un fichier src/copy.mem le programme en hexadécimal trouvé à la
question 1 du travail préparatoire en respectant la syntaxe des fichiers mem, puis lancer une
simulation pour vérifier votre travail :
make run_simu TP5=copy
2. Vu que ca sera votre boulot de les écrire dans le module CEP.