Projet Architecture

De Ensiwiki.

Aller à : Navigation, rechercher

Laptop.png  Première Année  Puce.png  Matériel 

Sommaire

  • 1 Planning des soutenances
  • 2 Cours magistraux
    • 2.1 Supports de cours
  • 3 Le projet
    • 3.1 Équipe pédagogique
    • 3.2 Déroulement des séances
      • 3.2.1 Séance 1
      • 3.2.2 Séance 2
      • 3.2.3 Séances suivantes
    • 3.3 Evaluation
      • 3.3.1 Le suivi
      • 3.3.2 Les soutenances
      • 3.3.3 Le rapport
      • 3.3.4 La fraude
  • 4 Utilisation des outils
    • 4.1 Flot de conception
    • 4.2 Programmation de la carte
    • 4.3 Débogage et erreurs fréquentes
    • 4.4 Travailler en dehors des séances encadrées
    • 4.5 Outils alternatifs pour la simulation de code VHDL
    • 4.6 Assembleur Archi2
    • 4.7 Mise à jour de la ROM dans un bitstream sans relancer la synthèse

Planning des soutenances

Les soutenances auront lieu la semaine après les vacances de Paques. Le planning détaillé est disponible ici.

On rappelle que les consignes sont détaillées dans la partie Evaluation.

Cours magistraux

Le cours magistral du Projet d'Architecture est assuré par Sébastien Viardot le mercredi à 8h15 en amphi E. La présence au cours est indispensable pour réussir le projet !

Supports de cours

CM1 : Introduction au VHDL (transparents, poly à trous, exercices et leur correction)

CM2 : Présentation du processeur (transparents, exercices)

CM3 : Flot de conception et FPGA (transparents, documentations technique et utilisateur du FPGA)

CM4 : Programmation avancée (transparents)

CM5 : Périphériques (transparents document décrivant le PS2)

CM6 et CM7 : Interruptions (transparents)

CM8 : Exceptions et aspects système (transparents)

Le projet

Équipe pédagogique

GA2 (mercredi 15h-18h) : Christophe Rippert et Sébastien Viardot

GA3 (vendredi 8h15-11h15) : Stéphane Mancini et Olivier Muller

Déroulement des séances

Séance 1

L'objectif de la séance 1 est de prendre en main le langage VHDL utilisé dans le projet grâce à un mini-TP d'introduction. Pour cela, vous aller concevoir une carte graphique capable d'afficher d'abord une mire en couleur, puis une image en noir et blanc.

Le sujet est décrit sur la page Affichage d'une mire VGA. Il doit être préparé pour pouvoir être fini pendant la séance !

Séance 2

La séance 2 consiste à mettre en place l'architecture de base du processeur.

Le déroulement de cette séance est détaillée sur cette page.

Séances suivantes

A partir de la 3e séance, vous devez concevoir vous même votre processeur. Il doit respecter scrupuleusement le cahier des charges fourni. Vous pouvez si vous les souhaitez ajouter (mais pas supprimer !) des points à cette spécification, mais on vous recommande fortement de d'abord vous assurer que le minimum demandé fonctionne.

A la fin du projet, la partie opérative réalisée devra ressembler au schéma ci-dessous :

PO.png

Le processeur correspondra quant à lui à cette architecture :

Processeur.png

Le circuit complet, incluant les périphériques, aura enfin cette allure :

ProcesseurAndCo.png

Evaluation

L'évaluation du cours Architecture 2 : méthodes de conception et d'implantation de circuits numériques est entièrement basée sur le projet que vous avez réalisé (il n'y a donc pas d'examen écrit). On rappelle que les projets ne se rattrapent pas à la session 2 à l'Ensimag.

Le suivi

Pour vérifier votre avancement et éviter que vous preniez du retard, on vous demande de faire valider les différentes étapes du projet par vos encadrants. Une étape correspond au contenu d'une séance dans le cahier des charges : vous devez donc appeler un enseignant au moins une fois par séance pour qu'il note où vous en êtes. Lorsque vous appelez l'enseignant, vous devez avoir préparé un test montrant que l'étape que vous souhaitez faire valider fonctionne : n'appelez donc l'encadrant que lorsque vous avez vérifié que la simulation est bien comme vous l'attendiez.

La progression régulière sera prise en compte dans la notation finale du projet : les élèves n'ayant pas travaillé régulièrement durant le semestre seront pénalisés.

Les soutenances

Des soutenances sont organisées pendant la dernière séance du projet. Une soutenance dure environ 30 minutes, et commence par une courte démonstration (10 minutes maximum) de votre projet : le but est de mettre en valeur votre réalisation en montrant jusqu'où vous êtes allé et les éventuels fonctions supplémentaires que vous avez ajouté. Il est important de préparer cette démonstration pour s'assurer qu'elle fonctionne sur les machines de la salle E300 et que vous respectez bien le temps imparti.

Ensuite, l'examinateur examinera en détails votre code et vous posera des questions pour évaluer votre compréhension globale de la matière (les questions ne seront pas limitées au projet et pourront faire référence au cours magistral). L'examinateur vous demandera également de faire tourner un test de sa composition pour vérifier certains points particuliers de la spécification (entrainez-vous donc à coder rapidement des instructions en mémoire).

Le rapport

On ne vous demande pas de rendre de rapport. Par contre, vous devez avoir avec vous le jour de la soutenance une documentation technique de votre projet, qui pourra être utilisé comme support pendant la soutenance. Cette documentation doit comprendre au minimum :

  • l'intégralité du code VHDL de votre projet
  • les programmes de test présentés (en assembleur)
  • le schéma de la PO (en mettant en évidence les modifications par rapport à celle donnée)
  • le graphe complet de la PC (sous forme d'automate)
  • le codage des instructions (comprenant éventuellement les instructions ajoutées et les modifications apportées au codage de base)
  • la description précise de toutes les extensions que vous avez éventuellement réalisé

La fraude

La fraude est sévèrement sanctionnée à l'Ensimag. Dans le cadre du projet d'architecture, on vous demande de rendre l'intégralité de vos sources sur Teide avant de passer votre soutenance. Des outils de détection automatique de plagiat seront exécutés sur ces sources pour détecter les ressemblances suspectes entre les projets.

La Charte des projets et TP précise ce que vous ne pouvez pas faire pendant le projet : en résumé, nous vous encourageons à discuter de vos problèmes et solutions avec vos camarades, mais il est formellement interdit de copier du code (même un petit composant élémentaire). En cas de code dupliqué, les enseignants ne chercheront pas à savoir qui a fourni le code et qui l'a copié : toutes les équipes seront sanctionnées.

Utilisation des outils

Vous utiliserez dans ce projet des outils conçus par la société Xilinx. Les cartes FPGA sont fabriquées par Digilent.

Flot de conception

Le flot de conception de votre projet est résumé dans le schéma ci-dessous. Cliquez sur les différentes boîtes pour afficher des vidéos en Flash illustrant les manipulations à effectuer.

http://ensiwiki.ensimag.fr/images/b/b4/ImportationISE.swfhttp://ensiwiki.ensimag.fr/images/1/18/Programmer.swfhttp://ensiwiki.ensimag.fr/images/8/87/Compiler.swfhttp://ensiwiki.ensimag.fr/images/d/d4/Contrainte.swfhttp://ensiwiki.ensimag.fr/images/9/96/Simuler.swfhttp://ensiwiki.ensimag.fr/images/e/e3/TestBench.swfhttp://ensiwiki.ensimag.fr/images/7/72/NouveauModule.swfhttp://ensiwiki.ensimag.fr/images/8/82/NouveauProjet.swfhttp://ensiwiki.ensimag.fr/images/c/c0/LanceISE.swfWorkFlowISE.jpg

Programmation de la carte

  • La documentation de la carte
  • Un fichier de contrainte (ucf)

Débogage et erreurs fréquentes

Les deux pages suivantes contiennent des informations essentielles pour dégoguer votre réalisation : Erreurs fréquentes avec ISE, Debugger un composant VHDL sur FPGA.

Ce document donne également des précisions sur les méthodes de mise au point.

On rappelle enfin que vos enseignants sont là pour vous aider pendant les séances encadrées, n'hésitez donc pas à les solliciter.

Travailler en dehors des séances encadrées

Vous pouvez (comprendre : devez !) travailler par vous-même en plus des séances obligatoires. Pour cela, vous avez plusieurs solutions.

Les salles E301 (salle "Windows") et D200-201 (salles de TP Réseaux) sont accessibles en libre service, lorsqu'elles en sont pas utilisées par des cours. Elles sont équipées du même environnement que la salle E300. Vos badges d'accès à l'école doivent ouvrir ces salles, si ce n'est pas le cas, passez voir Gilles Thiéblemont au bureau E306 (au fond du couloir, sur la droite).

Vous pouvez aussi installer les logiciels Xilinx sur votre machine personnelle. La procédure pour différents systèmes d'exploitation est détaillée sur la page Installer les outils Xilinx sur sa machine personnelle.

Outils alternatifs pour la simulation de code VHDL

Vous pouvez si vous le souhaitez utiliser les outils open-source GHDL et GTKWave pour concevoir et simuler votre projet (l'implantation sur la carte FPGA ne peut être faite qu'avec les outils Xilinx). Ces outils sont disponibles sur telesun et peuvent donc être utilisés dans les salles TX. Vous pouvez aussi les installer sur vos machines personnelles (sous Linux par exemple avec la commande sudo aptitude install ghdl gtkwave).

Pour utiliser ces outils, vous devez :

  • copier toutes vos sources VHDL dans un même répertoire
  • récupérer le script simule et le copier dans ce répertoire (pensez à le rendre exécutable grâce à la commande chmod +x simule)
  • l'exécuter en lui passant en paramètre le nom de l'entité contenant votre testbench ainsi que la durée de la simulation : par exemple ./simule tbProcesseurAndCo 10us

Une vidéo illustre cette procédure.

Assembleur Archi2

Un assembleur minimaliste est mis à votre disposition. Néanmoins, écrire votre propre assembleur peut être considéré comme une extension de votre projet.

Mise à jour de la ROM dans un bitstream sans relancer la synthèse

Les sources données contiennent :

  • un fichier boot_defaut_16_archi2.mem qui contient le programme que vous voulez faire tourner sur votre processeur. Vous pouvez utiliser l'assembleur fourni pour en générer le contenu.
  • un script pour la mise à jour de votre ROM (pour la simulation et le génération de bitstream) : ./MAJ_mem_16.sh votre/hierachie/vers/module/ROM

Après avoir lancé le script une première fois, il faut intégrer au projet les fichiers suivants qui viennent d'être générés:

  • bmem16_archi2.bmm
  • boot_rom_mem_16_archi2.vhd à la place du fichier ROMPROG.vhd déjà fourni
  • boot_rom_data_16_archi2.vhd

A chaque modification du .mem, il faut relancer le script et recompiler les vhdl pour la simulation.

Pour la modification de bitstream, il faut faire un premier placement routage pour générer le fichier bmem16_archi2_bd.bmm et un premier bitfile. Et modifier le script MAJ pour decommenter la dernière commande et y remplacer system.bit par le nom de votre bitfile.

Par la suite, vous n'aurez plus qu'à relancer le script pour modifier le programme sans placement routage. Attention, il faut programmer le FPGA avec le fichier download.bit

Récupérée de « http://ensiwiki.ensimag.fr/index.php/Projet_Architecture »
Catégories : Première Année | Matériel
Powered by MediaWiki
Attribution-Share Alike 3.0 Unported
  • Dernière modification de cette page le 1 avril 2010 à 08:53.
  • Cette page a été consultée 4 820 fois.
  • Contenu disponible sous Attribution-Share Alike 3.0 Unported.
  • Politique de confidentialité
  • À propos de Ensiwiki
  • Avertissements
 
Affichages
  • Page
  • Discussion
  • Voir le texte source
  • Historique
Outils personnels
  •  
  • Connexion
Actualité
  • Stage Unix de rentrée
  • Soutenances de PFE
  • Projet système
  • Projets spécialité
  • Lexique franco-anglais
  • Projet C
  • Plannings des stages
Navigation
Ensimag
  • Accueil
  • FAQ
  • Mode d'emploi
  • Droit d'auteur
  • Modifications récentes
  • Page au hasard
Boîte à outils
  • Pages liées
  • Suivi des pages liées
  • Pages spéciales
  • Version imprimable
  • Lien historique
  • Principaux contributeurs