Projet Architecture

De Ensiwiki
Révision de 11 avril 2017 à 07:36 par Kocelnip (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
AttentionCette page est maintenue uniquement par les enseignants. Afin de ne pas perturber le déroulement des cours, elle n'a pas vocation à être modifiée par les élèves. Mais si vous avez des modifications à proposer, merci d'en discuter ou d'envoyer un e-mail aux auteurs de la page (cf. historique)

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

Soutenances

Vous pouvez consulter le planning des soutenances qui est aussi affiché sur la porte de la salle.

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

GA1 (mardi 15h-18h) : Stéphane Mancini et Olivier Muller

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

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

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. Des cartes FPGA sont disponibles dans les salles D200 et D201 (attachées à certaines machines).

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.