TD1 PRISE EN MAIN DU FLOT DE CONCEPTION

Documents pareils
SIN-FPGA DESCRIPTION PAR SCHEMA

Le langage VHDL. Eduardo Sanchez EPFL

Introduction à Eclipse

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

Manipulations du laboratoire

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

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

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

BIRT (Business Intelligence and Reporting Tools)

Groupe Eyrolles, 2003, ISBN : X

Installation et compilation de gnurbs sous Windows

Installer Enterprise Miner 5.1 en SAS environnement Windows

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

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

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

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Installation d OpenVPN

Quoi de neuf en LabVIEW FPGA 2010?

Note de cours. Introduction à Excel 2007

Sélection du contrôleur

fullprotect inside EOLE SPEie RS E-SPEie V-0.6A-RS 1.0 revision Protection environnement Datasheet édition française

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

MAC-TC: programmation d un plate forme DSP-FPGA

Espace pro. Installation des composants avec Firefox. Pour. Windows XP Vista en 32 et 64 bits Windows 7 en 32 et 64 bits

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

COURS AUTOCAD. Création et utilisation des blocs. b leclerc. ERP Jean Moulin METZ

Le langage C. Séance n 4

La Clé informatique. Formation Internet Explorer Aide-mémoire

LES ACCES ODBC AVEC LE SYSTEME SAS

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

TP Blender n 2 : Importation d un modèle SketchUp et animation

ZOTERO Un outil gratuit de gestion de bibliographies

Qu est-ce que l analyse des données qualitatives? TAMS Analyzer n est: Projets collaboratifs. TAMS Analyzer permet:

Tutoriel Création d une source Cydia et compilation des packages sous Linux

VAMT 2.0. Activation de Windows 7 en collège

CONFIGURATION DE L AUTOMATE SIEMENS

Avant-propos Certificats et provisioning profiles

SIRH Gestion des documents Socle Oracle RH

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

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Les différents types de relation entre les tables

Présentation du PL/SQL

1 Modélisation d être mauvais payeur

Cahier Technique Liaison Comptabilité Api / Sage ECF

1.1 L EXPLORATEUR WINDOWS

WebSpy Analyzer Giga 2.1 Guide de démarrage

Manuel Utilisateur. Boticely

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

Signature électronique sécurisée. Manuel d installation

à l édition de textes

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI.

Manuel d utilisation du Guichet électronique V2

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

PIC EVAL Dev Board PIC18F97J60

Tutoriel pour les utilisateurs

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

MODE D EMPLOI DU LOGICIEL LIGNES DE TEMPS A partir du film La Mort aux trousses d Alfred Hitchcock

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

ProSimPlus HNO3 Résumé des nouvelles fonctionnalités, décembre 2008

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

Approche Contract First

3 : créer de nouveaux onglets dans Netvibes Cliquer sur le bouton «+» et renommer le nouvel onglet (par exemple Encyclopédies en ligne)

Isadora. Photo jpeg qualité 50% %, 320X240. Prérequis

Styler un document sous OpenOffice 4.0

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Introduction aux outils BI de SQL Server Tutoriel sur SQL Server Integration Services (SSIS)

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

PROCÉDURE D'INSTALLATION WINDOWS 7 (32 ou 64 bit)

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Mon aide mémoire traitement de texte (Microsoft Word)

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

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

CONFIGURATION... 2 Créer le compte bancaire... 3 Sélectionner un compte par défaut... 6 Configurer la numérotation des reçus...

Manuel Viadeis CRM Connecteur intégration L100 étendue.

Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.

Déploiement de SAS Foundation

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Economies d énergie par GPO

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

CERTIFICATS ELECTRONIQUES SUR CLE USB

TD3 - Facturation avec archivage automatisé

Guide Expert Comptable Production Coala

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Débuter avec PsoC ou PsoC niveau 0

>> Lisez-moi d abord... Connecter le ZyXEL Prestige 650HW/HW-I

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

Construire des plug-ins pour SAS Management Console SAS 9.1

GUIDE UTILISATEUR SYSTEMES CCTV

INITIATION AU LOGICIEL SAS

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

ScoopFone. Prise en main rapide

Carte Relais GSM (Manuel Utilisateur)

MEGA Application Portfolio Management. Guide d utilisation

Manuel d installation de Business Objects Web Intelligence Rich Client.

Transcription:

TD1 PRISE EN MAIN DU FLOT DE CONCEPTION Quartus II Objectif : L objectif de ce TD est de prendre en main les outils de conception Quartus. Vous allez apprendre dans ce TD un flow de conception de type top-down, c'est-à-dire de la spécification à la synthèse de composants décrits en VHDL, en passant par la simulation. Le TD est divisé en deux parties, la première porte sur les outils et la carte FPGA, tandis que la deuxième partie, porte sur des exercices d application. Partie I. Prise en main de Quartus II I. Conception d un nouveau Projet Généralement, un système électronique est composé de plusieurs composants. Chaque composant est décrit, compilé et simulé indépendamment des autres avant d être relié aux autres. Pour cela, il est nécessaire de créer un projet. a. Lancer Quartus II dans le menu Démarrer\Altera\Quartus II. La fenêtre suivante apparaît: Figure 1: Quartus II

b. Allez dans le menu File et lancer New Project Wizard. Cet assistant va vous guidez pas à pas pour créer votre projet. Sous Quartus II, les projets sont liés à des cibles matérielles (FPGA ou CPLD). La principale raison provient du fait que les simulations sont post-synthèse par défaut, c'est-à-dire qu elles prennent en compte les temps de propagation à l intérieur du circuit. c. Vous allez créer un répertoire IUT_FPGA sur la racine de votre compte et vous nommerez votre premier projet, TD1. La famille de FPGA que vous sélectionnerez sera la famille Cyclone III, EP3C16F484. Les autres options seront celles par défaut. Une fois terminé, appuyer sur Finish. d. Vous pouvez alors observer dans la fenêtre Project Navigator la composition de votre projet (entité de haut niveau et circuit utilisé). Figure 2 : Navigateur de projet II. Edition et compilation Une fois le projet créé, il est possible d y insérer plusieurs fichiers de description de composants : des descriptions structurelles à l aide de fichier BDF (Block Diagram File) ou des descriptions dataflow ou comportementales à l aide de fichier VHDL, AHDL ou Verilog. a. Description Dataflow i. Sélectionner dans le menu File, la commande New. La fenêtre suivante apparaît.

Figure 3 : Sélection du type de fichiers de descriptions ii. Une fenêtre, éditeur de fichier Vhd1.vhd apparaît. Avant de commencer à écrire votre code, enregistré le fichier. Attention le nom du fichier correspond au nom que vous donnerez à votre entité. iii. Ecrivez le code VHDL d une porte NAND. 1. Le nom de l entity sera Porte_NAND et le fichier sera enregistré avec le même nom que l entity (Porte_NAND.vhd). Une fois enregistré le fichier de description apparaît dans le projet navigator Figure 4 : Description dataflow

b. Description structurelle i. Dans le menu File\New, sélectionner Block Diagram/Schematic File. Une fenêtre vierge apparaît. Enregistrer votre fichier sous le nom Porte_NAND_SCHEME.vhd ii. Quartus II vous offre toute une librairie de composant décrit en VHDL que vous pouvez vous servir. Pour cela, appuyer sur le bouton Symbol Tool matérialisé par le symbole d une porte ET. iii. Une nouvelle fenêtre apparaît. Prenez le composant porte NAND (nand2) et intégré le sur votre feuille vierge. Figure 5 : Bibliothèque des composants Afin de pouvoir être simulé, il est alors nécessaire d adjoindre à la bascule des entrées/sorties physiques. iv. Pour cela, sélectionner dans la fenêtre symbole, les composants input et output. Reliez les entrées/sorties du composant avec des fils (signaux 1 bit correspond au bouton «wire»). Enregistrer votre fichier.

Figure 6 : Description structurelle c. Compilation Avant de simuler un circuit, il est nécessaire de vérifier qu il ne comporte pas d erreur de conception. Pour cela nous allons le compiler. Si votre projet comporte plusieurs descriptions, le compilateur par défaut synthétisera l entité de haut niveau, celle qui correspond à la description de tout le système. i. Dans l onglet Files du Project Navigator sélectionner le fichier que vous voulez compiler. Appuyer sur le clic droit de la souris et sélectionner Set as Top-Level Entity. En réalisant cette opération le compilateur ne synthétisera que ce composant.

Figure 7 : Définition de l'entité de haut niveau ii. Aller dans le menu Processing et appuyer sur Start Compliation. A la fin du processus, une fenêtre type rapport de synthèse et placement routage apparaît, vous donnant les éléments de l implémentation matérielle. Figure 8 : rapport de compilation

III. Simulation Cette étape consiste à vérifier le comportement du composant crée. Attention, cette étape nécessite d avoir compiler au préalablement les descriptions de circuit. Le simulateur permet de vérifier les comportements temporels et fonctionnels de descriptions dataflow, structurelles et comportementales. a. Dans le menu File\New, sélectionner l onglet Other files et University Program VWF. Ce fichier permet de décrire visuellement le testbench que vous allez utiliser pour tester votre circuit. Ce fichier permet de lancer le simulateur Modelsim en tâche de fond. b. Enregistrez le fichier sous Bench_nom du composant. Par exemple pour la basculed, le nom du test bench sera Bench_Porte_NAND.vwf. i. Le fichier de simulation est divisé en deux parties. Une colonne pour le les broches d entrées / sorties du composants et une zone graphique munie d une échelle temporelle. Dans la colonne Name, à l aide d un clic droit de la souris, lancez la commande Insert a node or bus, puis l outil Node Finder. Cet outil permet de récupérer les noms des entrées/sorties du composant que vous avez créé. ii. Sélectionner les signaux, A, B et S. et terminer l opération. iii. A et B sont des entrées. Nous pouvons leur affecter des valeurs manuellement ou utiliser des stimulis prédéfinis. La barre d outils Waveform Editor prédéfini plusieurs types de signaux (High, Low, Overwrite Clock, etc.). Afin de couvrir l ensemble des combinaisons de A et B, vous pré-positionnerez les valeurs des entrées comme sur la figure ci-dessous. iv. Nous allons simuler le comportement du circuit avec le test_bench que vous venez de réaliser. Pour cela, réglez les paramètres de simulation et lancez la simulation. Vérifiez le résultat obtenu.

IV. Programmation de la carte Figure 9 : Résultat de simulation Une fois la conception du système terminé et dans le cas ou le comportement en simulation respecte les spécifications du cahier des charges, Quartus II permet de programmer une carte pour vérifier le système sur un circuit. Il est important dans un premier temps de relier les entrées / sorties de votre description aux entrées / sorties du circuit FPGA. A l aide de du manuel de la carte Cyclone III, déterminer quelles sont les ressources que vous voulez utiliser (boutons, switch, led, etc ). Pour l exemple de la porte NAND nous utiliserons pour les entrées, les switch SW0 et SW1. Le résultat (sortie S) sera connecté directement à la ledg7. Pour affecter une entrée / sortie d une description VHDL à une entrée / sortie physique, dans le menu Assignments sélectionnez Pin planner. Après assignation des entrées/sorties, recompilez votre circuit pour que les modifications soient prises en compte. Après les opérations de synthèse et de placement / routage, un fichier de programmation du circuit avec l extension.sof Pour cela, dans le menu Tools, sélectionner Programmer.

En fonction des switch SW0 et SW1 vérifier le comportement de la porte NAND décrite en VHDL au moyen de la LedG7. Partie II. Applications Maintenant que vous maîtrisez l environnement de développement, c est à vous de jouer! Exercice n 1 contrôle des leds On désire connecter les 10 interrupteurs aux 10 leds de la carte. Nous allons utiliser les instructions VHDL d assignation inconditionnelle. LED(0)<=SW(0) ; LED(1)<=SW(1) ; LED(9)<=SW(9) ; Le code VHDL est donné ci-dessous : LIBRARY ieee; USE ieee.std logic 1164.all; ENTITY switchled IS PORT ( SW : IN STD_LOGIC_VECTOR(7 DOWNTO 0); LED : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) --attention la dernière déclaration n a pas de point virgule à la fin ); END switchled; ARCHITECTURE Behavior OF switchled IS BEGIN

LED <= SW; END Behavior 1. Créer un nouveau projet LAB1 2. Créer un nouveau fichier VHD que vous nommerez switchled.vhd, recopier le code donné, compiler et créer un symbole. 3. Créer un fichier LAB1.bdf et inclure le symbole switchled. 4. A partir du datasheet de la carte (voir page 24 et 25 du fichier DE0_reference_manual.pdf), assigner les broches d entrée/sortie. 5. Tester sur la carte. Exercice n 2 multiplexeur 8 bits 2->1 On veut réaliser le multiplexeur 8bits 2->1 (figure 1) en VHDL. Vous utiliserez le switch SW9 pour la commande s, les switch 0 à 7 pour l entrée X et la valeur constante 10101010 pour Y. LIBRARY ieee; USE ieee.std logic 1164.all; Figure 8 : Multiplexeur 8 bits 2->1 ENTITY mux21 IS PORT ( X : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y : IN STD_LOGIC_VECTOR(7 DOWNTO 0); s : IN STD_LOGIC; LED : OUT STD LOGIC_VECTOR(7 DOWNTO 0) ); END mux21; ARCHITECTURE Behavior OF mux21 IS BEGIN LED<= X when s= 0 else Y ; END Behavior 1. Créer un nouveau fichier VHD que vous nommerez mux21.vhd, recopier le code donné, compiler et créer un symbole. 2. A partir du datasheet de la carte (voir page 24 et 25 du fichier DE0_reference_manual.pdf), assigner les broches d entrée/sortie. 3. Tester sur la carte.

Exercice n 3 Décodeur binaire 7 segments On veut réaliser un décodeur binaire 7 segments qui affichent les caractères H, E, L et O en fonction des commandes c2, c1 et c0. 1. Déterminer les équations des segments a, b, c, d, e, f et g en fonction des commandes c2, c1 et c0 2. Créer un fichier VHD, helo.vhd et compléter le code donné ci-dessous. 3. Créer un symbole helo. 4. Les commandes c2, c1 et c0 seront respectivement les switch SW2, SW1 et SW0. 5. Programmer et tester. LIBRARY ieee; USE ieee.std logic 1164.all; ENTITY helo IS PORT ( c2 : IN STD_LOGIC; c1 : IN STD_LOGIC; c0 : IN STD_LOGIC; END; a : OUT STD_LOGIC ; b : OUT STD_LOGIC ; c : OUT STD_LOGIC ; d : OUT STD_LOGIC ; e : OUT STD_LOGIC ; f : OUT STD_LOGIC ; g : OUT STD_LOGIC ); ARCHITECTURE Behavior OF helo IS BEGIN a<= --à compléter; b<= --à compléter; c<= --à compléter; d<= --à compléter; e<= --à compléter; f<= --à compléter; g<= --à compléter; END Behavior

Exercice n 4 Message sur 4 afficheurs 7 segments On veut afficher sur 4 afficheurs (HEX0, HEX1, HEX2 et HEX3 cf. DE0_ref_manual), le message HELO. Pour cela, nous allons concevoir un contrôleur spécifique ayant une commande c sur 2 bits et dont les sorties (a2, a1, a0, b2, b1, b0, c2, c1, c0, d2, d1, d0) seront connectées aux entrées du décodeur définit dans l exercice 3. La table de vérité du contrôleur est donnée ci-dessous. c1 c0 a2 a1 a0 b2 b1 b0 c2 c1 c0 d2 d1 d0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1. Déterminer les équations du controleur 2. Créer un fichier VHD, controleur.vhd et écrire le code VHDL. 3. Créer un symbole pour le controleur et connecter les sorties aux entrées de quatre blocs helo. 4. Les commandes c1 et c0 seront respectivement les switch SW1 et SW0. 5. Programmer et tester.