Cours- TD VHDL. Séance 1



Documents pareils
1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Guide d installation de MySQL

INSTALLATION CONFIGURATION D OWNCLOUD. La réponse informatique

NAVIGATION SUR INTERNET EXPLORER

Volet de visualisation

Au préalable, nous nous plaçons dans l espace au sein duquel nous allons créer notre raccourci vers l ENTG.

Le langage VHDL. Eduardo Sanchez EPFL

Rapports d activités et financiers par Internet. Manuel Utilisateur

Guide de configuration. Logiciel de courriel

Assistance à distance sous Windows

Le langage C. Séance n 4

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

Introduction à Eclipse

Mise en route de Cobian Backup

Tutorial NL220. Objectifs : Fournir un guide utilisateur pour NL220. Présenter une méthodologie efficace pour la création de projet

Administration du site

L accès à distance du serveur

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

Notice d installation et d utilisation du blog nomade avec un nouveau blog

INSTALLATION DE L AGENT CT EASY BACKUP LAN REV 1.0/

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

PHILA-Collector-USB-16Go Pour Windows & Android

Installation et utilisation de Cobian Backup 8

Guide d installation CLX.PayMaker Office (3PC)

Installation d OpenVPN

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Installation d'une galerie photos Piwigo sous Microsoft Windows.

Eclipse atelier Java

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Premiers Pas avec OneNote 2013

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

Styler un document sous OpenOffice 4.0

Tutoriel : Utilisation du serveur de calcul à distance de PSE

Quels sont les espaces disponibles sur l ordinateur pour stocker ses documents et comment accéder facilement au dossier «My Documents»?

GUIDE D UTILISATION DU LOGICIEL DE TELE-MAINTENANCE. TEAM VIEWER Version 7.

Comment se connecter au VPN ECE sous vista

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

SIN-FPGA DESCRIPTION PAR SCHEMA

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Installation et configuration du logiciel BauBit

Les différentes méthodes pour se connecter

Manuel BlueFolder ADMINISTRATION

MO-Call pour les Ordinateurs. Guide de l utilisateur

COUR D APPEL DE LYON PROCEDURE INFORMATIQUE IMPRIMANTES. Imprimantes SAR de Lyon / Novembre 2007 Page 1 sur 14

Guide pour la configuration d adresse

Service de Virtualisation de la DSI UJF

Utilisation de l éditeur.

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

Comment se connecter au dossier partagé?

Paramétrage des navigateurs

Créer un premier document avec Pages

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur

Connected to the FP World

Gestion des documents avec ALFRESCO

LES ACCES DISTANTS ET SECURISES. Installation et utilisation du client. Cisco AnyConnect VPN Client. pour Windows

Tutoriel déploiement Windows 7 via serveur Waik

Suivant les windows, le signal pour indiquer l imprimante par défaut est un petit rond noir ou vers avec un V à l intérieur.

SOMMAIRE. 01_Installation ESXi Serveur HP.doc. Chapitre 1 Installation ESXi 5.1 2

Réglages du portail de P&WC

Comment accéder à d Internet Explorer

Manuel d installation et d utilisation du logiciel GigaRunner

Notice d'utilisation Site Internet administrable à distance

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

Guide d utilisation de «Partages Privés»

N.B. : Le mot de passe est le même pour les connexions sans fil, e-learning et Windows (laboratoires) ainsi que les adresses électroniques.

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

FICHIERS ET DOSSIERS

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

Navigation dans Windows

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

Web service AREA Manuel d installation et d utilisation du mode déconnecté. Version du 18 mars 2011

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : info@vtx.

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

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

Tutoriel pour la gestion des bases de données du Serveur Mysql virtualisé par le Gip Récia

HERCULES DJ AUDIO PROCEDURES MISE A JOUR FIRMWARE

Leçon N 4 Sauvegarde et restauration

Manuel d utilisation de V3D Events - Visiteurs

Guide d utilisation 2012

Atelier La notion de session utilisateur sous Linux

synchroniser Vos sauvegardes SynchBack Free SE Présentation de SynckBackFree

MEGA ITSM Accelerator. Guide de démarrage

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

Archivage de courriels avec Outlook ( )

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

1. Ouvrir Internet Explorer Faire défiler une page Naviguer dans un site Internet Changer d adresse Internet (URL) 2

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

Guide de démarrage IKEY 2032 / Vigifoncia

Framasoft «Partir de Windows pour découvrir le libre...»

2 - VMWARE SERVER.doc

Organiser le menu "Démarrer"

Procédure d installation des logiciels EBP sous environnement ESU4. Serveur SCRIBE ou Windows

Transcription:

Cours- TD VHDL Séance 1 Nous allons pour commencer apprendre à utiliser le logiciel qui va permettre de créer des composants décrits en HDL (Hardware Description Language). Ce logiciel permet en fait de faire plein de choses que nous découvrirons au fur et à mesure. Le logiciel s appelle ISE Design Suite. C est ce qu on appelle communément dans le domaine, un outil CAO (de Conception Assistée par Ordinateur, ou CAD tool en anglais, pour Computer- Aided Design). Ce logiciel est mis à jour régulièrement par son fabricant, qui s appelle Xilinx. Xilinx, rappelez- vous le cours de la dernière fois, c est une entreprise américaine qui conçoit des FPGA (c est même l entreprise qui a «inventé» le FPGA). Donc Xilinx conçoit des FPGA et fournit des outils logiciels qui permettent de «programmer» ces FPGA. Si j écris «programmer» entre guillemets, c est parceq- qu il s agit d un abus de langage. En effet, lorsqu il s agit de «programmer» des FPGA, on fait quelque chose de fondamentalement différent par rapport à un microcontrôleur. On vient en fait écrire dans des Look- Up Tables (LUT) des fonctions logiques séquentielles et combinatoires. Cela vous paraît assez abstrait pour l instant, et c est normal. Rassurez- vous, on va y aller progressivement, et vous verrez que grâce aux outils que l on va utiliser, on va pouvoir voir exactement ce que l on fait et à quoi correspondent ces LUT, et le lien avec le VHDL Après cette courte digression, revenons au logiciel : il se nomme ISE, et il est dans vote environnement à sa version 14.4. Il est accessible directement sur le bureau si vous êtes déjà connectés sur un PC. Raccourci vers le logiciel ISE 14.4 NB : ISE est disponible dans les environnements Windows et Linux (pas de version Mac OS). Vous pouvez l installer gratuitement en le téléchargeant sur le web (pour y accéder, faire directement sous Google «ISE webpack download», et suivre les liens jusqu à la version 14.4). Il faudra simplement créer un compte de type étudiant sur le site de Xilinx. Utilisation à distance Ce logiciel est également accessible à distance sur un serveur de Polytech (ce qui peut être une alternative intéressante par rapport à une installation sur sa machine). Pour y accéder, vous connaissez certainement déjà la méthode, il suffit d utiliser l application de «connexion bureau à distance». Dans le menu «démarrer» de Windows, sélectionner l application dans «Accessoires»

Connexion Bureau à distance, accès à l application Une fois l application lancée, il suffit d entrer le nom de l ordinateur auquel on souhaite se connecter. Ici il s agit du serveur rdsens3, auquel on accède par l adresse : rdsens3.polytech.univ- montp2.fr Connexion Bureau à distance, nom de l ordinateur Avant d appuyer sur le bouton connexion, vérifier dans les options que votre nom d utilisateur est correctement entré. Pour l utilisateur zlatan, Il est de la forme ISIM_NTX\zlatan.

Connexion Bureau à distance, entrer le nom de l utilisateur dans les options Après avoir cliqué sur «Connexion», l application vous demande votre mot de passe, entrez le. Vous êtes enfin connectés sur le serveur rdsens3! Si ce n est pas le cas, vérifiez votre nom d utilisateur et votre mot de passe, ou encore l adresse du serveur. Si vous n y arrivez toujours pas, appelez- moi ISE, on y va Si ce n est pas déjà fait, lancez ISE en double cliquant sur l icône présente sur le bureau. Vous voyez apparaître une fenêtre, en fait un «environnement» qui comprend un certain nombre d éléments classiques aux environnements de développement (Visual, Eclipse, etc.).

Environnement de développement intégré ISE v14.4 On retrouve donc : - - - - En haut, une barre de menus, avec en dessous des raccourcis sous forme d icônes Au milieu à gauche, des raccourcis pour créer, ouvrir, explorer des projets En bas, une «console» dans laquelle apparaîtront des messages (nous verrons lesquels plus tard) Et au milieu, dans la plus grande fenêtre, pour l instant, le «Tip of the Day». Ce «Tip», on a l habitude de le voir dans pas mal d applications logicielles. C est un moyen intéressant d apprendre des astuces pour utiliser le logiciel. Si ce n est pas votre approche de l apprentissage des astuces et que vous préférez naviguer dans l aide lorsque c est nécessaire, n hésitez pas à décocher la case «Show Tips at Startup», vous gagnerez du temps au lancement de l application Nous allons entrer dans le vif du sujet en créant un projet. Pour cela on clique directement sur «New Project». Une fenêtre s ouvre pour entrer les informations nécessaires à la création de votre projet.

Création d un nouveau projet Avant d entrer le nom, on va cliquer sur un des boutons avec les 3 petits points afin de sélectionner la localisation du projet. Il est déconseillé de travailler en local, je ne rentrerai pas le détail des raisons, mais en gros si vous n avez pas envie de perdre votre travail suivez mes conseils! On va donc aller dans le répertoire de

votre compte perso sur le réseau interne de Polytech. Sous «ordinateur» vous devez voir votre nom de compte sur \\buis.isim.intra. Entrez dans cet espace disque sur le réseau, vous êtes chez vous. Créez ensuite un répertoire dédié au VHDL, puis faîtes OK. On va garder le même répertoire pour Location et Working Directory. Entrez maintenant le nom du projet. Ici, c est «gates2». Puis cliquez sur Next

Là on voit apparaître une foule de paramètres, incompréhensibles pour les non- initiés. Si on prend un peu le temps de lire et de déchiffrer, on comprend qu il y a sur les premières lignes les caractéristiques d un composant FPGA, à choisir parmi des catégories, des familles, des devices, etc. Et sur les lignes suivantes, il s agit plutôt des outils que l on va utiliser. Avant de cliquer sur Next, nous avons juste besoin de modifier la ligne Preferred Language, et choisir VHDL. Le reste nous aurons bien le temps de le comprendre plus tard (vous pouvez sélectionner les mêmes options que moi, mais ce n est pas pour l instant vraiment nécessaire) NB : est- ce que vous vous rappelez? Il existe plusieurs langages HDL, le Verilog et le VHDL en sont 2. Dans le cadre de ce cours, nous nous focaliserons sur l utilisation du VHDL. On clique sur Next, et on voit apparaître un résumé des informations que nous venons d entrer :

On vérifie une dernière fois que tout est ok, et on peut cliquer sur Finish. L environnement est modifié. Désormais sur la gauche, nous avons 2 nouvelles fenêtres : - - Une fenêtre Hierarchy Une fenêtre avec plusieurs onglets, «Start», «Design», «Files», «Libraries» A noter également juste au- dessus de la fenêtre Hierarchy : - View : Implementation et Simulation En fait ces vues correspondent à 2 façons différentes d utiliser l outil ISE. Nous allons pour l instant faire de la simulation, donc : Sélectionner View Simulation Après avoir fait ça, dans la fenêtre Hierarchy, vous allez faire un clic droit :

Dans le menu contextuel qui s affiche, sélectionner New Source. Un nouveau menu de configuration apparaît. Il est possible de créer plusieurs types de «sources». ici, nous allons choisir VHDL Module. Ne changez pas «Location», et entrez simplement le nom du fichier :

Cliquez sur Next. Dans l interface, nous allons définir les entrées et sorties de notre composant gates2, telles que définies ci- dessous : On clique sur Next, on vérifie le résumé, et on clique sur Finish. Vous avez un code qui ressemble à ça qui apparaît dans une fenêtre d édition :

Vous voyez apparaître des commentaires en vert, précédés de 2 tirets - -, et également du texte en bleu (mots clés VHDL), en rose (mots clés issus des bibliothèques) et en noir (paramètres choisis par le concepteur). C est très bien tout ça, mais cherchons un peu à comprendre le contenu de ce fichier Déjà, sachez que tous les codes VHDL commenceront par : library IEEE; use IEEE.STD_LOGIC_1164.ALL; A quoi ça sert? Et bien à définir des types, des fonctions, etc. (c est un peu comme le #include <stdio.h> en C ). VHDL: <Library>.<package>.<component> ISE: aller dans le répertoire \ISE\vhdl\src\ieee et observer le contenu du package std_logic_1164 PACKAGE std_logic_1164 IS ------------------------------------------------------------------- -- logic state system (unresolved) ------------------------------------------------------------------- TYPE std_ulogic IS ( 'U', -- Uninitialized 'X', -- Forcing Unknown '0', -- Forcing 0 '1', -- Forcing 1 'Z', -- High Impedance 'W', -- Weak Unknown 'L', -- Weak 0 'H', -- Weak 1 '-' -- Don't care ); 9 valeurs possibles pour le type std_ulogic, c est un type «non résolu», cela veut dire que si 2 sorties sont connectées, la valeur ne pourra être définie. Le type résolu est : ------------------------------------------------------------------- -- *** industry standard logic type *** ------------------------------------------------------------------- SUBTYPE std_logic IS resolved std_ulogic; -------------------------------------------------------------------

-- unconstrained array of std_logic for use in declaring signal arrays ------------------------------------------------------------------- TYPE std_logic_vector IS ARRAY ( NATURAL RANGE <>) OF std_logic; A noter le type vecteur, qui correspond à un tableau (un bus en électronique). La table de résolution suivante est utilisée pour définir la valeur de sortie : CONSTANT resolution_table : stdlogic_table := ( -- --------------------------------------------------------- -- U X 0 1 Z W L H - -- --------------------------------------------------------- ( 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U' ), -- U ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ), -- X ( 'U', 'X', '0', 'X', '0', '0', '0', '0', 'X' ), -- 0 ( 'U', 'X', 'X', '1', '1', '1', '1', '1', 'X' ), -- 1 ( 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', 'X' ), -- Z ( 'U', 'X', '0', '1', 'W', 'W', 'W', 'W', 'X' ), -- W ( 'U', 'X', '0', '1', 'L', 'W', 'L', 'W', 'X' ), -- L ( 'U', 'X', '0', '1', 'H', 'W', 'W', 'H', 'X' ), -- H ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ) -- - ); Il faut savoir à ce niveau, que cette table de résolution sera utilisée par l outil de simulation pour «résoudre» des fonctions. Nous allons compléter le code initialement créé par le listing suivant : library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity gates2 is port( end gates2; a: in std_logic; b: in std_logic; z: out std_logic_vector(5 downto 0) ); architecture Behavioral of gates2 is begin

z(5)<= a and b; z(4)<= a nand b; z(3)<= a or b; z(2)<= a nor b; z(1)<= a xor b; z(0)<= a xnor b; end Behavioral; Minatenant que nous avons créé ce composant, nous allons créer son testbench. Attention, ne sélectionnez pas VHDL test bench, mais VHDL Module! N entrez pas de configuration particulière pour ce composant.

Cliquez sur Next, puis Finish. Ensuite, compléter le code du testbench à partir du listing suivant : LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY tb_gates2 IS END tb_gates2; ARCHITECTURE behavior OF tb_gates2 IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT gates2 PORT( a : IN std_logic; b : IN std_logic; z : OUT std_logic_vector(5 downto 0) ); END COMPONENT;

--Inputs signal a : std_logic := '0'; signal b : std_logic := '0'; --Outputs signal z : std_logic_vector(5 downto 0); BEGIN -- Instantiate the Unit Under Test (UUT) uut: gates2 PORT MAP ( a => a, b => b, z => z ); -- Stimulus process stim_proc: process begin -- insert stimulus here a<='0'; b<='0'; wait for 20ns; a<='0'; b<='1'; wait for 20ns; a<='1'; b<='0'; wait for 20ns; a<='1'; b<='1'; wait for 20ns;

END; end process; Après avoir enregistré, vous pouvez constater que la hiérarchie du design est modifiée à gauche. Sélectionner le test bench dans Hierarchy, dérouler dans la fenêtre en dessous isim simulator, et double cliquer sur Simulate behavioral model Regardez la fenêtre qui vient de s ouvrir, c est un chronogramme. Regardez les différents signaux, si vous avez des questions, appelez- moi Puis passez à la suite!