INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Objets des catégories.

Slides:



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

GEF 243B Programmation informatique appliquée Boucles §
GEF 243B Programmation informatique appliquée
C.
Ing Mohamed MASMOUDI Cours VHDL Ing Mohamed MASMOUDI
Exercices sur la conception de processeurs
Principes de programmation (suite)
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
Cours #12: Exercices de révision
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
Points importants de la semaine Le paramétrage. La portée. Le passage par copie. Le passage par référence.
Cours #8 Flot de conception d’un circuit numérique
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Cours #4 Éléments à mémoire et circuits séquentiels synchrones de base
Programmation concurrente
Cours #7 Vérification d’un modèle VHDL
Cours #5 Conception de chemins des données
Chapitre 9 Les sous-programmes.
1-1 Chapitre 5: Les variables Introduction Les noms Les variables Les attributions (bindings) Portée et durée de vie L'environnement de référence Les noms.
COMPOSANTS PROGRAMMABLES
Modélisation VHDL d’un chemin des données
Décodeurs et encodeurs : sujets de ce thème
CORDIC Sujets de ce thème
Le Bloc Case Cours LCS N°3 Présenté par Mr: LALLALI.
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 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
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.
Chapitre 6.2 Les curseurs Cours SGBD 3A Mme hkimi Jihène
NOTIONS DE BASE DES SYSTÈMES TEMPS-RÉEL Sujets Concepts de processus/thread concurrents –Windows NT et la programmation temps réel Lectures: Chapitres.
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.
Journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Gwenolé CORRE, Nathalie JULIEN, Eric SENN, Eric MARTIN LESTER, Université de.
Rappel - analyse et synthèse de fonctions combinatoires
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 Analyse détaillée du.
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.
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
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.
1 Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation.
Scripts et fonctions Instructions de contrôle
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Les exceptions Une exception est un identificateur PL/SQL détecté pendant la phase d’exécution. Comment est-elle déclenchée ? À la suite d’une erreur.
Philippe Gandy – 13 octobre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Description d’un circuit combinatoire en VHDL
Transcription de la présentation:

INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Objets des catégories signal et variable en VHDL

INF3500 : Conception et implémentation de systèmes numériques Utilisation d’objets des catégories signal et variable en VHDL Sujets de ce thème Cette présentation fait suite à la présentation sur la simulation de modèles VHDL Assignation de valeurs à des variables et des signals Exemples Formes d’un processus 2

INF3500 : Conception et implémentation de systèmes numériques Assignations à des objets des catégories signal et variable dans un processus À l’intérieur d’un processus, les énoncés sont exécutés de façon séquentielle. Les assignations à des objets des catégories variable et signal sont traitées différemment. Quand la cible est une variable, celle-ci prend immédiatement la valeur qui lui est assignée. Pour un signal, l’assignation est placée sur la liste des événements: – au temps courant +  (clause implicite after 0 ns ); ou, – au moment spécifié par une clause after explicite. L’évaluation des énoncés du processus se poursuit ensuite. Les assignations de valeurs à des signals ne sont effectuées que lorsqu’elles sont tirées de la liste des événements: – après la fin de l’exécution du processus; ou bien, – pendant la suspension de l’exécution du processus par un énoncé wait. 3

INF3500 : Conception et implémentation de systèmes numériques Expressions contenant des objets des catégories signal et variable dans un processus Quand VariableSignal Au début de la première exécution du processus Valeur d’initialisation dans la déclaration, ou valeur par défaut correspondant au type. Au début des autres exécutions du processus Valeur à la fin de la dernière exécution Valeur assignée après la fin de la dernière exécution Pendant l’exécution d’un processus qui ne contient pas d’énoncé wait Dernière valeur assignéeValeur au lancement du processus Pendant l’exécution d’un processus qui contient un ou des énoncés wait Dernière valeur assignéeValeur au lancement du processus ou bien dernière valeur assignée avant l’énoncé wait qui précède l’expression 4

INF3500 : Conception et implémentation de systèmes numériques Exemple #1 5 entity demoprocessus1 is end demoprocessus1; architecture arch of demoprocessus1 is signal s1 : integer; signal s2 : integer := 5; signal s3 : integer := 10; begin process variable v1 : integer; variable v2 : integer := 50; begin v2 := v2 + 1; s3 <= 100; s2 <= s3 + v2; wait for 4 ns; end process; end arch;

INF3500 : Conception et implémentation de systèmes numériques Exemple #2 6 entity demoprocessus is end demoprocessus; architecture arch of demoprocessus is signal s1 : integer := 100; signal s2, s3, s4 : integer := -100; begin process variable v1 : integer := 2; begin while (v1 >= 0) loop s2 <= v1 + 5; v1 := v1 - 1; s3 <= v1 + 5; s1 <= s1 + 1; s4 <= s3 + s2; wait for 5 ns; s3 <= s3 + v1; s4 <= s3 + s2; wait for 5 ns; s4 <= s3; end loop; wait for 100 ns; end process; end arch;

INF3500 : Conception et implémentation de systèmes numériques Quel format de processus choisir? Il y a plusieurs façons de décrire un comportement donné en VHDL. On peut remplacer la liste de sensitivité d’un processus par un énoncé wait (avec trois variations: wait for, wait until, wait on ). On peut avoir une liste de sensitivité non complète (qui n’inclut pas tous les signaux qui font partie d’expressions dans le processus). Ces approches ne sont pas recommandées pour du code qui doit être synthétisé. 7 process begin T1 <= A and B; wait for 0 ns; T2 <= not(T1); end process; process(A, B) begin T1 <= A and B; T2 <= not(T1); end process; process begin T1 <= A and B; T2 <= not(T1); wait on A, B, T1; end process; process begin wait on A, B, T1; T1 <= A and B; T2 <= not(T1); end process; process begin wait until A = B; T1 <= A and B; T2 <= not(T1); end process; process (A, B, T1) begin T1 <= A and B; T2 <= not(T1); end process;

INF3500 : Conception et implémentation de systèmes numériques Vous devriez maintenant être capable de … Interpréter le modèle de simulation pour expliquer le traitement différent des objets des catégories signal et variable dans un modèle. (B2, B3) Étant donné un modèle, donner la valeur des objets dans le temps. (B2, 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.