wiki:WikiStart

Version 26 (modified by cobell, 15 years ago) (diff)

--

Projet MIPS

  • Début du projet MIPS le lundi 21 octobre 2008
  • Réunion de présentation le vendredi 17 octobre à 10h00 en salles 408/410
  • Rapport à rendre le vendredi 7 novembre avant 18h dans le bureau 401 (par mail à sophie.belloeil@… au plus tard le dimanche 9 novembre pour les étudiants de l'UFE)
  • Soutenances le jeudi 13 novembre à 14h00

Infos

Si besoin, diverses informations seront ajoutées ici pendant le projet ...

  • Nouveau fichier de configuration de XTAS : avt_env.sh, TAS n'existe plus, il est intégré dans XTAS.
  • De façon à avoir une idée de la qualité de votre placement, vous pouvez lancer le script python createCongestion.py inclu dans Stratus, comme suit :
    > createCongestion.py mips_r3000_1m_dp
    
    Cela peut être fait sur chacun des fichiers représentant le circuit, du moment que les fichiers .vst et .ap (avant routage) existent. L'image obtenue permet d'évaluer la congestion (i.e. les endroits susceptibles de poser problème lors du routage): noir = pas de congestion, rouge = un peu de congestion, jaune / blanc : beaucoup de congestion ...
  • Une option existe pour la fonction de placement automatique qui permet d'obtenir un placement plus optimisé de la partie contrôle (algorithme plus optimisé et donc ... plut lent), il vous suffit de rajouter greedy = False lors de l'appel de la fonction.
  • Attention changement de date pour les soutenances : elles seront le jeudi 13 novambre à 14h.
  • Pour le banc de registre dans le chemin de données, vous pouvez utiliser le générateur sans décodeur d'adresse DPGENRF2R0 ou DPGENRF2R0 (attention pour les utiliser, il faut rajouter la rf2lib dans les variables d'environnement)
  • Un serveur de calcul est à votre disposition : berlioz
  • Pour des raisons de sécurité, aucun accès ssh ne sera autorisé pour les comptes mips

Groupes

  • Chaque groupe a un encadrant désigné. Son rôle est de vous aider en cas de soucis, n'hésitez pas à le contacter. Vous devez cependant vous efforcer d'être les plus autonomes possible.
  • En cas de problème ou d'incompréhension avec votre encadrant, n'hésitez pas à me contacter : sophie.belloeil@… .
  • Chaque groupe possède un compte spécifique au projet (de type mips0x08). C'est sur ce compte que vous devez travailler et stocker tous vos fichiers sources, votre rapport et votre présentation. C'est à l'adresse mail correspondant à ce compte que vos encadrants ou moi même vous contacterons, n'oubliez pas de la consulter.
  • Répartition des groupes :
    • 1. Geoffrey : Choichillon, Li, Hattal
    • 2. Mathieu : Gioja, Guan, Allegue
    • 3. Ramy : Guthmuller, Meng, Houfaf
    • 4. Zhen : Boutchacha, Haghighitalab, Wu, Mazza
    • 5. Ghassan : Lrhoul, Delahaye, Rafic
    • 6. Antoine : Kilic, Liu, Beladjine, Darvish

Travail à effectuer

Le but est ici d'effectuer la conception physique d'un Mips R3000 pipeline.

Vous devez appliquer la méthodologie vue dans les Tps de Tools visant à concevoir l'AM2901.

Fichiers fournis

En attachement de cette page, vous trouverez une archive contenant l'ensemble des fichiers nécessaires au projet MIPS. Pour décompresser cette archive, utilisez la commande suivante :

> tar xjvf sources.tar.bz2

Un répertoire sources contenant lui même six autres répertoires :

  • asm : contient les programmes assembleurs qui seront exécutés sur la carte contenant le MIPS pour vérifier son fonctionnement.
  • design : contient les descriptions comportementales ou structurelles des différentes parties du MIPS, que vous devez utiliser pour écrire la description structurelle de l'ensemble du circuit (en python).
  • mips : contient un fichier comportemental décrivant le mips dans lequel le découpage chemin de données / partie contrôle n'est pas effectué.
  • misc : contient les fichiers utiles à la création de l'environnement de test du MIPS.
  • ram : contient les fichiers décrivant le fonctionnement de la ram.
  • test_mips : contient les fichiers de test.

Procédure de tests

Le répertoire test_mips contient un script shell nommé test.sh vous permettant de lancer l'intégralité des tests sur votre MIPS.

En récupérant les fichiers fournis, vous pouvez tester deux mises en oeuvre du MIPS à l'aide des commandes suivantes :

> ./test.sh flat

permet de lancer tous les tests en utilisant la description comportementale du mips située dans le répertoire mips.

> ./test.sh mixed

permet de tester le découpage des parties contrôle et chemin de données (en comportementale) instanciées par une hierarchie structurelle du coeur et du circuit complet (avec plots).

Notez bien que pour utiliser cette commande vous devez au préalable avoir généré les fichiers mips_r3000_1m_core.vst et mips_r3000_1m.vst à l'aide du script gen_mips.py situé dans le répertoire design.

De plus, les outils ne pouvant pas faire tout le travail à votre place, il subsiste quelques désagréments. Par exemple dans la descritpion structurelle, l'instanciation des plots n'est pas faite avec le bon type de signal. A vous de vérifier lesquels et d'agir en conséquences.

Le script test.sh doit être modifié pour pouvoir tester tous les autres cas de hierarchie mixte (comportemental / structurel).

Rapport et soutenance

Tous les membres d'un groupe doivent participer à la rédaction du rapport et doivent prendre la parole lors de la soutenance. Les soutenance doivent durer 20 minutes.

Le rapport comme la soutenance doivent insister notamment sur les points suivants :

  • la description de la méthodologie appliquée,
  • les modifications (interfaces, ressources internes ...) apportées aux fichiers fournis, avec justification,
  • les choix faits et leurs motivations en ce qui concerne la synthèse de la partie contrôle,
  • le détail des générateurs utilisés pour la conception du chemin de données ainsi leur placement (un schéma sera apprécié), ...
  • le détail des diverses directives de placement / routage : placement des plots, rails d'alimentations ...
  • la description, avec justification, de la distribution d'horloge, ainsi que du scan-path,
  • l'analyse détaillée des performances temporelles : pensez à décrire avec exactitude par où passe la chaîne longue du circuit,
  • les explications détaillées des modifications apportées au circuit de façon à améliorer ces performances,
  • une caractérisation simple du circuit : fréquence, taille en lambda, en millimètres, nombre de transistors ...

De façon générale, des schémas seront appréciés ...

N'oubliez pas également de préciser les chemins d'accès à vos fichiers décrivant votre (ou vos) réalisation(s) du Mips (les droits d'accès ne doivent pas être restreints).

Attachments (11)

Download all attachments as: .zip