Option Introduction à la modélisation et à la vérification des systèmes numériques Planche de TP n 4

Documents pareils
SIN-FPGA DESCRIPTION PAR SCHEMA

Manipulations du laboratoire

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Le langage VHDL. Eduardo Sanchez EPFL

PIC EVAL Dev Board PIC18F97J60

Travaux pratiques avec RapidMiner

BIRT (Business Intelligence and Reporting Tools)

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Guide d installation logicielle

Installation d'une galerie photos Piwigo sous Microsoft Windows.

T. BLOTIN Lycée Paul-Eluard SAINT-DENIS

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Carte Relais GSM (Manuel Utilisateur)

Contrôler plusieurs ordinateurs avec un clavier et une souris

Guide de l exportation postale en ligne Objets interdits et admis conditionnellement

Affichage de la date d'exigibilité sur les documents FAQ INV 011

Prêt de série et création de groupes d emprunteurs

Exporter des écritures. Importer des écritures. Depuis EBP Comptabilité.

Se débarrasser des s indésirables

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

Pour configurer le Hitachi Tecom AH4021 afin d'ouvrir les ports pour "chatserv.exe", vous devez suivre la proc

NOTICE TELESERVICES : Créer mon compte personnel


FileZilla. Sauvegarder son site Guppy à l aide de. Sommaire:

Créer et gérer des catégories sur votre site Magento

Boîtier pour disque dur externe 3,5" (8,89cm) USB 2.0

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

GUIDE UTILISATEUR SYSTEMES CCTV

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

Pluridisciplinarité. Classe de BTS DATR

Comment paramétrer et sauvegarder les configurations d Altium Designer?

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Procédure : Sauvegarder un Windows 7 sur un disque réseau

INFORM :: DEMARRAGE RAPIDE A service by KIS

INSTRUCTIONS D INSTALLATION SOUS WINDOWS 7 / WINDOWS VISTA / WINDOWS XP

Service d'authentification LDAP et SSO avec CAS

La gestion des boîtes aux lettres partagées

L'émulateur multi-système

Contro ler plusieurs ordinateurs avec un clavier et une souris

MANUEL D INSTRUCTION

Modem routeur ADSL2/2+ WIFI avec switch 4 ports Guide d'installation rapide

NOTICE D' UTILISATION CAMWORKS FRAISAGE. Luc Vallée Lycée Blaise Pascal Segré

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Introduction à Eclipse

Formulaires et Compteurs

Sauvegarder sa messagerie Gmail sur son ordinateur

GUIDE DE L'UTILISATEUR POUR LES UNITES DE SAUVEGARDE DE SERIE HD

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

SimpleOCR, un logiciel gratuit de reconnaissance de caractères

MS SQL Express 2005 Sauvegarde des données

Création d'un questionnaire (sondage)

INSTALLATION... 1 PARAMÈTRAGE... 4 UTILISATION... 10

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

Sommaire 1 CONFIGURER SA MESSAGERIE 2 2 CONSULTER VOS MAILS SUR INTERNET (WEBMAIL) 7 3 PROBLEMES POSSIBLES 8

Boîtier disque dur SATA 3,5 pouces Fonction économie d énergie

1 ) INSTALLATION DE LA CONSOLE 2 2 ) PREMIER DÉMARRAGE DE LA CONSOLE 3 3 ) LES JOBS 4 4 ) LES ORDINATEURS 6

Le langage C. Séance n 4

Comment accéder à une vision synthétique de mon activité commerciale?

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Comment créer un nouveau compte? Pour une Borne en local on via Internet

Guide d installation des licences Solid Edge-NB RB

Projet M1 Année scolaire 2013/2014

Manuel BlueFolder ADMINISTRATION

Open Office - Présentation

Comment faire des étiquettes

Transmission d informations sur le réseau électrique

Récupérer les documents stockés sur l ENTG

Réaliser un PUBLIPOSTAGE

MANUEL D INSTALLATION DES PRE REQUIS TECHNIQUES SALLE DES MARCHES V.7

MANUEL D UTILISATION PRO-FACE

Les Utilisateurs dans SharePoint

Contrôleur de communications réseau. Guide de configuration rapide DN

HDDtoGO. Guide de l'utilisateur

Google Drive, le cloud de Google

Répéteur WiFi V1.

TD/TP 1 Introduction au SDK d Android

Tutorial et Guide TeamViewer

Modélisation et Gestion des bases de données avec mysql workbench

Débuter avec PsoC ou PsoC niveau 0

DATALOGGERS SEFRAM LOG1601 et LOG1620

PROGRAMMATION EVENEMENTIELLE sur EXCEL

ET REGISTRE DE PRESENCE

Clé USB Wi-Fi TP-Link TL-WN721N (150 Mbps) Manuel d installation

Un équipement (clé USB, disque dur, imprimante, etc.) est connecté au port USB.

Your Detecting Connection. Manuel de l utilisateur. support@xchange2.net

WIFI-DMX INTERFACE AUTONOME V 1.5.0

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Introduction aux outils BI de SQL Server Fouille de données avec SQL Server Analysis Services (SSAS)

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

La gestion des serveurs de mail

Comment récupérer toutes vos données perdues ou effacées gratuitement!

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Guide de l utilisateur

Transcription:

Université Joseph Fourier Année 2014/2015 Master 1 Informatique Option Introduction à la modélisation et à la vérification des systèmes numériques Planche de TP n 4 Synthèse FPGA avec Quartus (http://www.altera.com/) Nous allons finir la conception du système de contrôle pour un four à micro-ondes par sa synthèse FPGA sur carte Altera Cyclone II DE1. Vous vous placerez dans le répertoire projet_fpga et exécuterez (source) au préalable le fichier.bashrc_quartus11_1. 1. Avant de pouvoir procéder à cette synthèse sur FPGA, il faut adapter votre description VHDL en conséquence. Nous allons utiliser divers dispositifs d'entrées/sorties (voir dessin ci-dessous) : - les entrées primaires Half_power, Full_power, Start, s30, s60, s120, Time_set, Door_open seront activées par les switches (on allumera également la led rouge associée) - l'état de la FSM sera affiché sur l'afficheur 7 segments de droite (hex0) - on allumera des leds vertes (à droite) pour faire apparaître les passages à '1' des sorties Full, Half, In_light, Finished. - les binômes qui ont réalisé le compteur pourront le synthétiser aussi, et afficher sa valeur sur les afficheurs 7 segments de gauche (hex3 à hex1). Les autres binômes devront ajouter l'entrée Timeout comme une entrée primaire.

L'entité du système devra être modifiée comme suit pour prévoir les interactions avec les dispositifs d'entrées/sorties : entity Oven is port(reset, clk, Half_power, Full_power, Start, s30, s60, s120, Time_set, Door_open: in std_logic; Full, Half, In_light, Finished: out std_logic; LEDR : out std_logic_vector(7 downto 0); -- pour leds rouges LEDG : out std_logic_vector(3 downto 0); -- pour leds vertes seg_val_hex0: out INTEGER range 0 to 127; -- pour affichage etat seg_val_hex1: out INTEGER range 0 to 127; -- pour affichage cpt seg_val_hex2: out INTEGER range 0 to 127; -- pour affichage cpt ); end Oven; seg_val_hex3: out INTEGER range 0 to 127 -- pour affichage cpt Afin de fournir les informations nécessaires sur le brochage de la carte, l'architecture de l'entité ci-dessus devra contenir des déclarations telles que ci-dessous (à compléter, voir les explications concernant l'attribut chip_pin à http://quartushelp.altera.com/13.0/mergedprojects/ hdl/vhdl/vhdl_file_dir_chip.htm et les informations fournies plus bas et en annexe) : attribute chip_pin : string; attribute chip_pin of reset : signal is "R22"; -- bouton poussoir de droite attribute chip_pin of clk : signal is "L1"; -- 50 MHz internal quartz -- attribution des entrées aux switches (par ex ici de gauche à droite) : attribute chip_pin of Half_power: signal is "M2"; -- SW 7 attribute chip_pin of Full_power : signal is "U11"; -- SW 6 attribute chip_pin of Start : signal is "U12"; -- SW 5 -- et ainsi de suite... (à compléter) -- descriptif des afficheurs 7 segments : attribute chip_pin of seg_val_hex0 : signal is "J2,J1,H2,H1,F2,F1,E2"; -- idem pour seg_val_hex1 et seg_val_hex3, à compléter (voir ci-dessous) -- attribution des sorties LEDR et LEDG aux leds (par ex ici de gauche à -- droite) : attribute chip_pin of LEDR : signal is "U18,Y18,V19,T18,Y19,U19,R19,R20"; -- idem pour LEDG (à compléter) Noter que, sur cette carte, les pins des afficheurs 7 segments sont définis comme suit :

L'entité et l'architecture vont devoir être modifiées afin d'afficher l'état symbolique sur les afficheurs 7 segments, et éclairer les leds. Dans l'état symbolique auquel on choisira d'attribuer la valeur 0, la sortie seq_val_hex0 sera affectée comme suit : seg_val_hex0 <= 2#0000001#; -- 0 et on fera de même les affectations suivantes dans les états auxquels on attribuera 1, 2, etc seg_val_hex0 <= 2#1001111#; -- 1 seg_val_hex0 <= 2#0010010#; -- 2 seg_val_hex0 <= 2#0000110#; -- 3 seg_val_hex0 <= 2#1001100#; -- 4 seg_val_hex0 <= 2#0100100#; -- 5 seg_val_hex0 <= 2#0100000#; -- 6 seg_val_hex0 <= 2#0001111#; -- 7 seg_val_hex0 <= 2#0000000#; -- 8 seg_val_hex0 <= 2#0000100#; -- 9 Pour l'allumage des leds rouges selon les valeurs des entrées, on pourra faire : LEDR(7) <= Half_power; LEDR(6) <= Full_power; -- et ainsi de suite (bien noter l'ordre choisi). On pensera également à l'allumage des leds vertes en fonction des valeurs des sorties. Attention à maintenir à '0' toutes les leds inutilisées. Enfin, il faudra modifier la description utilisée jusqu'ici afin d'avoir des resets actifs bas, et d'utiliser une horloge ralentie en divisant l'horloge de synchronisation (quartz à 50 MHz) en utilisant le process diviseur suivant : -- Diviseur Quartz 50Mhz PROCESS (clk) VARIABLE cnt : INTEGER RANGE 0 TO 67108863; CONSTANT verrou_t : INTEGER := 50000000; BEGIN IF (clk'event AND clk = '1') THEN IF (reset = '0') OR (cnt = verrou_t ) THEN cnt := 0; ELSE cnt := cnt + 1; END IF; END IF; IF (cnt = verrou_t ) THEN ck_1hz <= '1'; -- ck_1hz signal local ELSE ck_1hz <= '0'; END IF; END PROCESS; 2. On pourra alors procéder à la synthèse et aux tests. Lancer l'outil de synthèse par la commande quartus. Lors de sa première exécution, il est conseillé de faire Tools options, et de décocher "show welcome screen" et cocher "re-open current project at startup". Pour créer un nouveau projet, faire File New project wizard, puis bouton Next; choisir un répertoire et un nom de projet (et bouton Next); choisir les fichiers à inclure dans le projet (et bouton Next); choisir Family et Device comme indiqué sur la copie d'écran ci-dessous (et bouton

Next); sur l'écran suivant faire Next; et enfin finir par Finish. Il faut alors cliquer sur le nom du projet, faire File Open et ouvrir le fichier contenant la top cell, et faire Project Set as top-level entity (attention : le nom de l'entity doit être identique au préfixe du nom du fichier qui la contient). Puis faire Assignments Device, cliquer sur le bouton Device and Pin Options, puis choisir l'onglet Unused pins, et dans le menu déroulant sélectionner "As input tri-stated". On peut alors lancer la compilation par Processing Start compilation. Il faudra s'assurer que la compilation n'a pas échoué, et noter alors le nombre de CLB et de flipflops occupés (voir ex. ci-dessous).

A noter que le menu Tools Netlist_Viewers RTL Viewer vous permet aussi de visualiser le système synthétisé (double-cliquer sur un composant vous permet d'en voir le contenu). Il est alors possible de programmer la FPGA (via la connexion USB) et de procéder aux tests. Utiliser le menu Tools Programmer, cliquer sur le bouton Hardware Setup et sélectionner USB_Blaster, puis cliquer sur le bouton Start (attention, la case à cocher Program/Configure doit être cochée). Une fois la carte configurée, vous pouvez procéder aux manipulations (les entrées seront modifiées grâce aux switches, vous pourrez recommencer les manipulations à tout moment après avoir fait un reset). A rendre : - à la fin du TP : votre description VHDL modifiée pour la synthèse sur FPGA (commenter clairement les modifications) + une indication sur les résultats de synthèse (nombre de blocs logiques, registres) et sur l'exécution sur FPGA : qu'avez-vous pu tester, et avec quelles manipulations? Est-ce cohérent par rapport au comportement attendu? - avant le 30 Avril soir (par mail à Laurence Pierre) : le rapport sur toute la conception de cet exemple, depuis la spécification jusqu'à la synthèse (aux différentes synthèses plus exactement, avec analyse de leurs résultats), en passant par la vérification d'assertions. Ce rapport devra faire le point sur tout ce processus, et relater clairement toute votre démarche. En particulier, un aspect important est lié à la validation durant tout le processus de conception : avez-vous détecté et corrigé des erreurs durant la simulation initiale, grâce aux assertions, après visualisation des résultats de synthèse, et si oui de quels types et grâce à quelles observations? Les sections recommandées pour ce rapport sont : 1) Introduction : contexte et objectifs de ce projet, quelles méthodes d'eda doit-il illustrer? comment?, etc Caractéristiques de l'étude de cas traitée dans ce projet, que permet-elle d'illustrer sur la modélisation des systèmes matériels?, etc... 2) Modélisation et simulation de l'étude de cas : présentation de l'étude de cas, explication de la modélisation VHDL, validation : choix des scénarios de test utilisés et résultats de couverture associés, et résultats de simulation (chronogrammes lisibles) commentés 3) Synthèse ASIC : résultats de synthèse comparatifs commentés (codage utilisé par l'outil, nombre de flips-flops et pourquoi, surface du circuit, fréquence d'horloge, ) avec conclusions, et résultats comparatifs de simulation commentés (reconnaît-on la concordance des états et sorties?). 4) Validation avec assertions PSL : propriétés PSL avant et après synthèse commentées avec soin, résultats de simulation avec ces propriétés (copies commentées des chronogrammes) : qu'avez-vous observé? Est-ce cohérent par rapport à votre design? A-t-il été corrigé à cette étape et comment? Vos scénarios ont-ils dû être revus pour permettre toutes les vérifications de façon pertinente?... 5) Synthèse FPGA : modifications des descriptions VHDL pour cette synthèse sur FPGA et pourquoi, résultats de synthèse (nombre de blocs logiques, registres), scénarios exécutés sur FPGA et conclusions de ces observations, comparaison par rapport à la synthèse ASIC, avez-vous encore corrigé des erreurs à cette étape?, 6) Conclusions sur la démarche de conception et les outils utilisés dans ce projet, que permettent-ils de faire, que ne permettent-ils pas, comment se présenterait un processus plus complet?... NB. Ne mettre en annexe que les compléments d'information (sources VHDL commentés des testbenches, rapports produits par Leonardo Spectrum, ), pas les informations essentielles à la compréhension du sujet et du travail réalisé, ni les résultats de simulation et synthèse et leur analyse!

Annexe.