INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Entrées et sorties par.

Slides:



Advertisements
Présentations similaires
Test Intégré pour Convertisseurs Analogique/Numérique
Advertisements

INTRODUCTION.
Cours Visual Basic pour Application
Ing Mohamed MASMOUDI Cours VHDL Ing Mohamed MASMOUDI
Exercices sur la conception de processeurs
Décrire un circuit numérique avec VHDL
Cours #9 Conception et réalisation de processeurs à usage général
Cours VHDL Chap 3: sémantique VHDL
Cours #6 Conception d’unités de contrôle
Le VHDL De nos jours, les circuits numériques de haute performance sont habituellement créés à partir de descriptions en langages de haut niveau. Nous.
Cours #12: Exercices de révision
Cours #8 Flot de conception d’un circuit numérique
Plan de l’exposé Introduction Revue de littérature Méthodologie
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
Cours #4 Éléments à mémoire et circuits séquentiels synchrones de base
Points importants de la semaine Les enregistrements.
Plan 1-Introduction. 2-Standard VHDL-AMS. Modélisations:
Cours #7 Vérification d’un modèle VHDL
Cours #5 Conception de chemins des données
COMPOSANTS PROGRAMMABLES
Structures de données IFT-2000
Modélisation VHDL d’un chemin des données
Décodeurs et encodeurs : sujets de ce thème
CORDIC Sujets de ce thème
Représentation binaire de nombres entiers et opérations arithmétiques de base Sujets de ce thème
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Représentation et opérations.
Circuits intégrés numériques Quelques bases
Banc d’essai pour un circuit combinatoire
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Synthèse d’un circuit.
Modélisation VHDL du chemin des données d’un processeur à usage général Sujets de ce thème
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois La technique du pipeline.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse de machines.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Augmenter le débit d’un.
INTRODUCTION.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Description d’un circuit.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Bonnes pratiques de.
Synthèse et implémentation de circuits arithmétiques sur FPGA
Processeurs et chemins des données
Le temps de propagation des signaux dans un circuit
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Langages de description architecturale.
La Modélisation Orientée Objet Concevoir un programme : modélisation du problème à résoudre Notion de programme : machine de Turing Pouvoir d’expression.
Méthodologie de conception Outils de conception
Tests de boîte noire.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Vérification de circuits.
Chemin critique et fréquence maximale d’horloge
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Le problème du déphasage.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Arithmétique entière.
Mise au point de systèmes mixtes et évaluation de puissance : Un exemple d’application Anne-Marie TRULLEMANS- ANCKAERT FTFC’03 UCL-DICE, Place du Levant.
Concepts intermédiaires de VHDL
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Modélisation VHDL de.
Synthèse et implémentation d’un circuit combinatoire
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Simulation d’un modèle.
Journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Gwenolé CORRE, Nathalie JULIEN, Eric SENN, Eric MARTIN LESTER, Université de.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Banc d’essai pour un.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Objets des catégories.
Introduction au VHDL - R.WEBER - Polytech'Orleans
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse détaillée du.
Les approches qualitatives et quantitatives pour la recherche comparative Anthony Sealey Université de Toronto This material is distributed under an Attribution-NonCommercial-ShareAlike.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Tests exhaustifs.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Chemin des données d’un.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
Implémentation de la division sur FPGA
VHDL pour circuits séquentiels
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
Description d’un circuit combinatoire en VHDL
Arithmétique entière en VHDL
Chapitre 01: Structure d'un module VHDL
Transcription de la présentation:

INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Entrées et sorties par fichiers en VHDL

INF3500 : Conception et implémentation de systèmes numériques Entrées et sorties par fichiers en VHDL Sujets de ce thème Banc d’essai et entrées et sorties par fichiers en VHDL Exemples de code 2

INF3500 : Conception et implémentation de systèmes numériques Banc d’essai et entrées et sorties par fichiers en VHDL On s’est concentrés à date sur la génération algorithmique de vecteurs de test à l’intérieur d’un banc d’essai codé en VHDL. Dans le processus de conception d’un système numérique, on passe souvent par une modélisation de haut niveau, par exemple avec Matlab. Lors de cette modélisation, on génère souvent une grande quantité de cas de test et de réponses attendues qui sont entreposés dans un fichier. Le banc d’essai peut lire ces cas de test et les réponses associées. Le banc d’essai peut aussi écrire ses résultats dans un fichier. Ceci est utile si: – la simulation dure plusieurs heures; – on désire obtenir des résultats progressifs; – on doit effectuer un traitement plus complexe des résultats dans un autre environnement que le simulateur VHDL. Par exemple, on pourrait vouloir afficher une image générée sous la forme d’un flux de pixels par un module. Les entrées et sorties de fichier en VHDL se font à l’aide d’objets de la catégorie file. Comme on traite du texte lors de ces opérations, on utilise aussi les types et les fonctions définis dans le package textio qui fait partie du langage. 3

INF3500 : Conception et implémentation de systèmes numériques Exemple Module à vérifier et fichier de stimuli et réponses 4 library ieee; use ieee.std_logic_1164.ALL; use ieee.numeric_std.all; entity detecteurPremier is port ( I : in unsigned(5 downto 0); F : out std_logic ); end detecteurPremier; architecture flotdonnees of detecteurPremier is begin with to_integer(I) select F <= '1' when 2 | 3 | 5 | 7 | 11 | 13 | 17 | 19 | 23 | 29 | 31 | 37 | 41 | 43 | 47 | 53 | 59 | 61 | 63, -- erreur! '0' when others; end flotdonnees; -- colonne1: entiers de 0 à colonne2: P pour premier, N pour pas premier 0 N 1 N 2 P 3 P 4 N 5 P...

INF3500 : Conception et implémentation de systèmes numériques Exemple: banc d’essai avec lecture de stimuli et de réponses 5 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use std.textio.all; entity detecteurPremierTB is end detecteurPremierTB; architecture arch2 of detecteurPremierTB is signal I : unsigned(5 downto 0); -- signal pour les vecteurs de tests signal F : std_logic; -- signal pour les réponses constant filename : string := "premiers.txt"; file vecteurs : text open read_mode is filename; begin UUT : entity detecteurPremier(flotdonnees) port map (I, F); process variable tampon : line; -- pointeur vers un objet de type string variable n : integer; variable c : character; begin while not endfile(vecteurs) loop readline(vecteurs, tampon); if tampon(1 to 2) /= "--" then -- passer les lignes de commentaires read(tampon, n); -- lecture de l'entier read(tampon, c); -- lecture du séparateur read(tampon, c); -- lecture de l'indication: premier ('P') ou non ('N') I <= to_unsigned(n, 6); wait for 10 ns; assert ((c = 'P') = (F = '1') and (c = 'N') = (F = '0')) report "erreur pour l'entrée " & integer'image(n) severity error; end if; end loop; deallocate(tampon); -- relâcher la mémoire du tampon report "simulation terminée" severity failure; end process; end arch2; -- Fichier premier.txt -- colonne1: entiers de 0 à colonne2: P pour premier, N pour pas premier 0 N 1 N 2 P 3 P 4 N 5 P... Les entrées et sorties de fichier en VHDL se font à l’aide d’objets de la catégorie file. Comme on traite du texte lors de ces opérations, on utilise aussi les types et les fonctions définis dans le package textio qui fait partie du langage.

INF3500 : Conception et implémentation de systèmes numériques Exemple: banc d’essai avec stimuli et écriture des réponses dans un fichier 6 process variable tampon : line; -- pointeur vers objet de type string variable tampon2 : line; begin -- La procédure writeline libère le pointeur quand elle a fini, -- donc il faut construire une copie de l'objet si on veut l'afficher 2 fois. -- À partir d'un pointeur, on va chercher le contenu avec '.all'. write(tampon, string'(" ** sortie de simulation, detecteurPremierTB.vhd ** ")); write(tampon2, tampon.all); -- copier la chaîne de caractères writeline(resultats, tampon); -- écriture dans le fichier writeline(output, tampon2); -- écriture à la console for k in 0 to 63 loop -- application exhaustive des vecteurs de test I <= to_unsigned(k, 6); wait for 10 ns; write(tampon, string'("temps: ")); write(tampon, now, unit => ns); write(tampon, string'(", entier: ") & integer'image(k)); write(tampon, string'(", sortie: ") & std_logic'image(F)); write(tampon2, tampon.all); -- copie la chaîne de caractères writeline(resultats, tampon); -- écriture dans le fichier writeline(output, tampon2); -- écriture à la console end loop; report "simulation terminée" severity failure; end process;

INF3500 : Conception et implémentation de systèmes numériques Vous devriez maintenant être capable de … Utiliser les fonctions de lecture et d’écriture de fichiers en VHDL. (B3) 7 CodeNiveau ( B1Connaissance – mémoriser de l’information. B2Compréhension – interpréter l’information. B3Application – confronter les connaissances à des cas pratiques simples. B4Analyse – décomposer un problème, cas pratiques plus complexes. B5Synthèse – expression personnelle, cas pratiques plus complexes.