INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Banc d’essai pour un.

Slides:



Advertisements
Présentations similaires
GEF 435 Principes des systèmes d’exploitation
Advertisements

Machines séquentielles
Test de Systèmes Intégrés Digitaux et Mixtes
GEF 243B Programmation informatique appliquée Boucles §
GEF 435 Principes des systèmes d’exploitation
GEF 243B Programmation informatique appliquée
C.
Analyse de la tâche et méthode des scénarios
Extrait du référentiel Cours Application Stéphane Le gars 1/5 Organisation du travail M4 Information et Gestion - M4D Logique Algorithmique.
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
Introduction à l’Intelligence Artificielle
Cours #6 Conception d’unités de contrôle
Cours #12: Exercices de révision
Cours #8 Flot de conception d’un circuit numérique
SÉMINAIRE DE LANCEMENT DES COURS EN LIGNE
Cours #4 Éléments à mémoire et circuits séquentiels synchrones de base
Test dun Réseau sur puce générique (generic Network on Chip) Présenté par: David Bafumba-Lokilo & Silvio Fornera.
Test de systèmes électronique
Cours #7 Vérification d’un modèle VHDL
Cours #5 Conception de chemins des données
Standard Template Library
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.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Description d’un circuit.
Synthèse et implémentation de circuits arithmétiques sur FPGA
Processeurs et chemins des données
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Entrées et sorties par.
Le temps de propagation des signaux dans un circuit
GNU Free Documentation License
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Langages de description architecturale.
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.
INF8505: processeurs embarqués configurables
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.
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.
Rappel - analyse et synthèse de fonctions combinatoires
Test et Testabilité des Circuits Intégrés Digitaux
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Objets des catégories.
Chapitre 5 Test de circuits séquentiels
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse détaillée du.
Qualité de Service (QoS) Officer
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.
1 Université Henri Poincaré, Nancy 1 La préemption appliquée aux FPGAs Soutenance de rapport bibliographique de DEA Faculté des Sciences Vandoeuvre-lès-Nancy.
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.
A. Lebrun. Principe de base Dans la logique combinatoire, les sorties dépendent des différentes entrées et peuvent être calculées par l’algèbre de Boole.
Transcription de la présentation:

INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Banc d’essai pour un circuit séquentiel

INF3500 : Conception et implémentation de systèmes numériques Sujets de ce thème Structure d'un banc d'essai pour un circuit séquentiel. Générer un signal d’horloge et un signal de réinitialisation. Stimuler un circuit séquentiel avec un banc d’essai. 2

INF3500 : Conception et implémentation de systèmes numériques La vérification d’un circuit La vérification a pour but de confirmer qu’un circuit rencontre bien ses spécifications. La vérification complète d’un circuit est normalement un problème très difficile. Dans l’industrie de la conception numérique, on considère en général que le processus de vérification nécessite autant d’efforts que le processus de conception lui-même. La vérification d’un circuit est un art qui repose sur la maîtrise de trois principes: – la compréhension de la spécification; – le contrôle des entrées et de signaux internes du circuit à vérifier; et, – l’observation des sorties, des signaux internes et de l’état du circuit à vérifier. 3

INF3500 : Conception et implémentation de systèmes numériques Vérification par banc d’essai Un banc d’essai doit effectuer les tâches suivantes : – instancier le circuit à vérifier; – générer des vecteurs de test et les appliquer aux ports d’entrée du circuit; – [utile]: générer automatiquement des réponses attendues aux vecteurs de test; – [utile]: comparer les réponses du circuit aux réponses attendues, et indiquer toute différence entre les deux par une condition d’erreur; – [facultatif]: lire des stimuli d’un fichier et écrire les réponses dans un fichier. – + (pour circuit séquentiel): générer un signal d’horloge et un signal de réinitialisation 4

INF3500 : Conception et implémentation de systèmes numériques Vérification par banc d’essai La génération d’un signal d’horloge périodique et d’un signal de réinitialisation peut être faite de façon très efficace par deux énoncés concurrents dans l’architecture du banc d’essai. L’horloge se voit assigner une valeur initiale dans sa déclaration, puis dans l’architecture elle bascule entre deux états à chaque demi-période partie du banc d’essai -- dans la partie déclarative de l’architecture signal clk : std_logic := '0'; constant periode : time := 10 ns; dans l’architecture clk <= not clk after periode / 2; reset <= '0' after 0 ns, '1' after periode / 4;

INF3500 : Conception et implémentation de systèmes numériques library IEEE; use IEEE.std_logic_1164.all; entity cctsequentielex1 is port ( reset, CLK, X : in STD_LOGIC; Z : out STD_LOGIC ); end cctsequentielex1; architecture arch1 of cctsequentielex1 is signal A, B : STD_LOGIC; begin process(CLK, reset) is begin if (reset = '0') then A <= '0'; B <= '0'; elsif (rising_edge(CLK)) then A <= A xor B; B <= x or not(B); end if; end process; z <= not(A or B); end arch1; Circuit séquentiel synchrone à vérifier 6

INF3500 : Conception et implémentation de systèmes numériques Banc d’essai pour la vérification d’un circuit séquentiel Le processus est contrôlé par le signal d’horloge dans sa liste de sensitivité: pas d’énoncé wait. Les vecteurs de test sont encodés dans un tableau de constantes. Pas de vérification automatisée des réponses dans cet exemple. 7 architecture arch2 of cctsequentielex1TB is signal reset, clk : std_logic := '0'; signal X, Z : std_logic; constant periode : time := 10 ns; begin clk <= not clk after periode / 2; reset <= '0' after 0 ns, '1' after 5 * periode / 4; -- instanciation du module à vérifier UUT : entity cctsequentielex1(arch1) port map (reset, clk, X, Z); process (clk) constant vecteurX : std_logic_vector := " "; variable compte : natural range 0 to vecteurX'length := 0; begin if (rising_edge(clk)) then X <= vecteurX(compte); compte := compte + 1; if compte = vecteurX'length then report "simulation terminée" severity failure; end if; end process; end arch2;

INF3500 : Conception et implémentation de systèmes numériques Vous devriez maintenant être capable de … Utiliser la structure d’un banc d’essai pour stimuler un circuit séquentiel synchrone. (B3) Utiliser la modélisation des signaux d’horloge et de réinitialisation dans un banc d’essai. (B3) 8 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.