M2 R&C Esys
M2 R&C Esys
Introduction au langage
VHDL
[email protected]
Université LARBI TEBESSI Master II : R&C Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Plan
Rappel d’électronique
Le langage VHDL
Exemple VHDL
Conception en VHDL
Simulation en VHDL
Rappel d’électronique
Synthèse en VHDL Introduction au langage VHDL : Historique,
Structure du langage, Expressions…
Exemple VHDL
Conception en VHDL : Les automates, Règles
d’écriture…
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 02
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Le transistor
Rappel d’électronique
Le transistor
Portes élémentaires Composant électronique de base
Circuits combinatoires
Logique séquentielle Portes logiques ON/OFF
Composants séquentiels
Circuits séquentiels
Le langage VHDL
Exemple VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 03
Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
La technologie CMOS
Rappel d’électronique
Le transistor
Portes élémentaires Complementary Metal Oxide Semiconductor
Circuits combinatoires
Logique séquentielle Niveaux logiques : 0 = 0V et 1 = 3V
Composants séquentiels
Circuits séquentiels
Deux types de portes :
Le langage VHDL
nMOS : Conducteur si la grille =1
Exemple VHDL
Conception en VHDL pMOS : Conducteur si la grille = 0
Simulation en VHDL
Synthèse en VHDL Réalisation de quelques portes
de base :
Inverseur, NAND, OR…etc
Master II : R&C 04
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Portes élémentaires
Rappel d’électronique
Le transistor
Portes élémentaires
Circuits combinatoires
Logique séquentielle
Composants séquentiels
Circuits séquentiels
Le langage VHDL
Exemple VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 05
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
4.Équations optimisées :
5.Portes logiques :
Master II : R&C 06
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 07
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Logique séquentielle
Rappel d’électronique
Bascule RS : lorsque R et S passe à 0, Q et Q conservent leur
Le transistor
Portes élémentaires
valeur antérieure.
Circuits combinatoires
Logique séquentielle
Composants séquentiels
Circuits séquentiels
Le langage VHDL
Exemple VHDL
Conception en VHDL
Simulation en VHDL Bascule D: permet d’échantillonner la valeur de la donnée
Synthèse en VHDL lorsque l’horloge passe à « 1 » (front montant de l’horloge) et
de conserver cette valeur lorsque l’horloge passe à « 0 ».
Master II : R&C 08
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 09
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 10
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 11
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Niveaux d’abstraction
Rappel d’électronique
Le langage VHDL
Introduction
Historique
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
Opérateur
Process
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 12
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Niveaux d’abstraction
Rappel d’électronique
Le langage VHDL
Introduction
Historique
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
Opérateur
Process
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 12
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Niveaux d’abstraction
Rappel d’électronique
Le langage VHDL
Introduction
Historique
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
Opérateur
Process
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 12
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Niveaux d’abstraction
Rappel d’électronique
Le langage VHDL
Introduction
Historique
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
Opérateur
Process
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 12
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Niveaux d’abstraction
Rappel d’électronique Du composant au système complexe,
Le langage VHDL
Introduction
divers niveaux d'abstraction
Historique
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
Opérateur
Process
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 13
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Niveaux d’abstraction
Rappel d’électronique
Le langage VHDL
Introduction
Historique
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
Opérateur
Process
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 14
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Historique
Rappel d’électronique
Le langage VHDL
1980: le département de défense américain lance un appel
Introduction d’offre pour un langage qui permettrait de décrire tous les
Historique systèmes électroniques utilisés.
Syntaxe
Langage •Motivation affichée: réutilisabilité et réduction des
Librairies coûts de conception.
Entité
Architecture 1983 trois compagnies (Intermetics, IBM, Texas
Signal et variable
Instruments) commencent le développement.
Type
Opérateur 1985: première version officielle de VHDL (version 7.2).
Process
Exemples VHDL 1986: VHDL est donné à IEEE pour en faire un standard.
Conception en VHDL
Simulation en VHDL 1987: Standard IEEE 1076-1987.
Synthèse en VHDL
1993: Standard IEEE 1076-1993.
1999: Standard IEEE 1076.6-1999
Master II : R&C 15
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Conventions lexicales
Rappel d’électronique Comme en C, un code VHDL est composé d’une suite
Le langage VHDL
d’éléments :
Introduction
Historique commentaires
Syntaxe Délimiteurs
Langage Identificateurs,
Librairies
Expressions (terminées par un point-virgule),
Entité
Architecture
Mots-clefs
Signal et variable Littéraux(constantes), par exemple:
Type 67 est un entier
Opérateur ‘0’ est un bit « 000 », O « 562 », X « FF1 » sont des
Process
vecteurs de bits
Exemples VHDL
Conception en VHDL
« Chaine » est une chaine de caractères.
Simulation en VHDL VHDL est insensible à la casse. On écrit souvent les mots
Synthèse en VHDL
réservés du langage en majuscule et le reste en minuscule.
Les commentaires commencent par deux tirets : (- -)
Master II : R&C 16
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Structure du langage
Rappel d’électronique
Le langage VHDL
Comme en C, un code VHDL est composé d’une suite
Introduction d’éléments :
Historique
L’entité: description de l’interface du composant: le
Syntaxe
Langage
nom et ses ports d’entrée/sortie.
Librairies L’architecture décrit l’intérieur du composant. Il peut y
Entité avoir plusieurs architectures pour le même composant
Architecture
(ex: une pour la simulation efficace, une pour la
Signal et variable
Type
synthèse). L’architecture contient les processus.
Opérateur La déclaration de paquetage. Un paquetage est une
Process
collection d’objets réutilisables (constantes, types,
Exemples VHDL
Conception en VHDL
composants, procédures)
Simulation en VHDL Le corps de paquetage.
Synthèse en VHDL
La configuration indiquant quelle architecture utiliser
pour chaque entité.
Master II : R&C 17
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Le langage
Rappel d’électronique
Le langage VHDL
Introduction
Historique
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
Opérateur
Process
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 18
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Bibliothèques
Les bibliothèques sont déclarée avec le mot clé library, elle
Rappel d’électronique
dépendent des outils utilisés.
Le langage VHDL
Elle contient des paquetages que l’on déclare vouloir utiliser avec
Introduction
Historique
le mot clé use:
Syntaxe
use BIBLIOTHEQUE.PAQUETAGE.all;
Langage La bibliothèque par défaut est WORK. WORK est aussi le nom
Librairies symbolique de la bibliothèque dans laquelle sont stockés les
Entité résultats.
Architecture La bibliothèque STD est une bibliothèque standard fournie avec
Signal et variable le langage , elle contient des définitions des types et des fonctions de
Type base (integer, bit,...).
Opérateur Par défaut, les outils considère que l’on utilise les bibliothèques
Process
STD et WORK, il y a donc implicitement:
Exemples VHDL
library STD;
Conception en VHDL
library WORK;
Simulation en VHDL
En général, on utilise la librairie suivante IEEE qui définit le
Synthèse en VHDL
type std_logic:
library ieee;
use ieee.std_logic;
Master II : R&C 19
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
L’entité
Rappel d’électronique
L’entité est la description de l’interface du circuit . Elle
Le langage VHDL
Introduction
correspond au symbole dans les représentations
Historique
schématiques.
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
library ieee;
Opérateur
use ieee.std_logic_1164.all;
Process
Exemples VHDL
ENTITY FA IS
Conception en VHDL
port(A, B, Cin: in STD_LOGIC;
Simulation en VHDL S, COut: out STD_LOGIC);
Synthèse en VHDL END ENTITY FA;
Master II : R&C 20
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
L’architecture
Rappel d’électronique C’est la description interne du circuit.
Le langage VHDL
Introduction
Toujours associée à une entité.
Historique Une entité peut avoir plusieurs architectures.
Syntaxe
Langage architecture arch1 of fa is
Librairies signal resultat : STD_LOGIC_VECTOR(1 downto 0);
Entité
begin
Architecture
resultat <= (’0’ & a) + (’0’ & b) + (’0’ &cin);
Signal et variable
s <= resultat(0);
Type
cout <= resultat(1);
Opérateur
Process
end arch1;
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 21
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
L’architecture
Rappel d’électronique C’est la description interne du circuit.
Le langage VHDL
Introduction
Toujours associée à une entité.
Historique Une entité peut avoir plusieurs architectures.
Syntaxe
Langage architecture arch1 of fa is
Librairies signal resultat : STD_LOGIC_VECTOR(1 downto 0);
Entité
begin
Architecture
resultat <= (’0’ & a) + (’0’ & b) + (’0’ &cin);
Signal et variable
s <= resultat(0);
Type
cout <= resultat(1);
Opérateur
Process
end arch1;
Exemples VHDL
Conception en VHDL architecture arch2 of fa is
Simulation en VHDL begin
Synthèse en VHDL s <= a xor b xor cin;
cout <=(a and b) or ((a xor b) and cin);
end arch2;
Master II : R&C 21
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Corps de l’architecture
Rappel d’électronique
Le langage VHDL Dans le corps de
Introduction l’architecture on trouve les 3 Begin
Historique types d’instructions -- process
Syntaxe
concurrentes de VHDL. P1 : process (SI, Cin)
Langage
Begin
Librairies Elle peuvent écrites dans s <= SI xor cin;
Entité n’importe quel ordre. end process;
Architecture
Signal et variable
Des processus (mot -- Aff. signal
Type clé process). Inst_MAJ : MAJ port map
Opérateur (
Des instructions X => A ,
Process
Exemples VHDL
d’affectation de signaux Y => B ,
Conception en VHDL (<=). Z => Cin ,
Simulation en VHDL Des instanciations de M => Cout );
Synthèse en VHDL
composants (mot clé end arch3;
port map)
Master II : R&C 22
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 23
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Types
oIl existe des types:
Rappel d’électronique
Le langage VHDL scalaire (entier, réel, physique, énuméré),
Introduction
composite (tableaux, enregistrement),
Historique
Syntaxe fichier et pointeur.
Langage oLes types possède des attibut de type, Ils sont représentés de cette
Librairies façon < OBJET >′< ATTRIBUT >
Entité
oPar exemple:
Architecture
Signal et variable type COULEUR is (BLEU, ROUGE, VERT);
Type
type MOT is STD_LOGIC_VECTOR(7 downto 0);
Opérateur
Process
oTypes entier:
Exemples VHDL Le type entier « integer » prédéfini dans le paquetage
Conception en VHDL standard STD permet de définir des nombres signés sur 32 bits
Simulation en VHDL
entre −231 et 231.
Synthèse en VHDL
En général, on spécifie le range d’un entier pour qu’il soit stocké
sur un nombre de bit adéquat:
signal my_natural is integer range 0 to 256;
Master II : R&C 24
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Opérateurs
Opérateurs logiques
Rappel d’électronique
Le langage VHDL
Introduction
Historique
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
Opérateur
Process
Opérateurs relationnels
Exemples VHDL Opérateurs arithmétiques
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 25
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Process
Le fonctionnement du processus est régi par les règles suivantes :
Rappel d’électronique
Le langage VHDL Un processus est une boucle infinie , lorsqu’il arrive à la fin du
Introduction code, il reprend automatiquement au début.
Historique Un processus doit être sensible des points d’arrêt, il existe 2 types
Syntaxe de points d’arrêts :
Langage
Librairies
Le processus est associé à une "liste de sensibilité" qui réveille
Entité
le processus lors d’un changement d’un des signaux.
Architecture Le processus a des instructions d’arrêt wait dans sa description
Signal et variable interne.
Type
Opérateur
Process
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 26
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Process
Le fonctionnement du processus est régi par les règles suivantes :
Rappel d’électronique
Le langage VHDL Un processus est une boucle infinie , lorsqu’il arrive à la fin du
Introduction code, il reprend automatiquement au début.
Historique Un processus doit être sensible des points d’arrêt, il existe 2 types
Syntaxe de points d’arrêts :
Langage
Librairies
Le processus est associé à une "liste de sensibilité" qui réveille
Entité
le processus lors d’un changement d’un des signaux.
Architecture Le processus a des instructions d’arrêt wait dans sa description
Signal et variable interne.
Type
Un processus peut avoir des variables locales. Les variables sont
Opérateur
internes au processus et sont affectées immédiatement, contrairement
Process
aux signaux qui eux ne sont pas affectés directement mais en fin de
Exemples VHDL
processus.
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 26
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Process
Le fonctionnement du processus est régi par les règles suivantes :
Rappel d’électronique
Le langage VHDL Un processus est une boucle infinie , lorsqu’il arrive à la fin du
Introduction code, il reprend automatiquement au début.
Historique Un processus doit être sensible des points d’arrêt, il existe 2 types
Syntaxe de points d’arrêts :
Langage
Librairies
Le processus est associé à une "liste de sensibilité" qui réveille
Entité
le processus lors d’un changement d’un des signaux.
Architecture Le processus a des instructions d’arrêt wait dans sa description
Signal et variable interne.
Type
Un processus peut avoir des variables locales. Les variables sont
Opérateur
internes au processus et sont affectées immédiatement, contrairement
Process
aux signaux qui eux ne sont pas affectés directement mais en fin de
Exemples VHDL
processus.
Conception en VHDL
Simulation en VHDL Les différents process d’un programme VHDL s’exécutent en
Synthèse en VHDL parallèle les uns des autres.
Un processus est séquentiel dans le sens ou les instructions sont
évaluées l’une après l’autre dans l’ordre d’écriture.
Master II : R&C 26
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Process
Rappel d’électronique Les deux principales structures utilisées dans un process
Le langage VHDL
Introduction
Historique
Syntaxe
Langage
Librairies
Entité
Architecture
Signal et variable
Type
Opérateur
Process
Exemples VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
ne pas confondre => (implique) et <= (affecte).
Master II : R&C 27
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 28
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 29
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Component full_add1 is
port (
a, b, cin : in std_logic;
s, cout : out std_logic;
);
end component;
Master II : R&C 30
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
begin
inst_FA_1 :full_add1 portmap(a(0),b(0),’0’,s(0),c(0));
inst_FA_2 :full_add1 portmap(a(1),b(1),c(0),s(1),c(1));
inst_FA_3 :full_add1 portmap(a(2),b(2),c(1),s(2),c(2));
inst_FA_2 :full_add1 portmap(a(3),b(3),c(2),s(3),c(3));
end ARCH;
Master II : R&C 31
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Registre
Rappel d’électronique
Un registre avec clock_enable.
Le langage VHDL Le processus est réveillé lors d’une transition sur Ck
Exemple VHDL
Les If internes permettent d’exprimer la condition: front
AND3
montant de l’horloge avec CE à 1.
Full Adder
Adder4
ck
Registre PROCESS (ck)
CE
Conception en VHDL
Simulation en VHDL BEGIN
Synthèse en VHDL
Cin Cout
IF (ck = ’1’ AND ck’EVENT)
THEN
IF CE=’1’ THEN Cout <=
Cin;
END IF;
END IF;
END PROCESS;
Master II : R&C 32
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Conception en VHDL
95% du temps de développement se fait en simulation.
Rappel d’électronique
On utilise les waveforms qui ne permettent pas de voir les
Le langage VHDL
Exemple VHDL
transitions de granularité ∆.
Conception en VHDL
Conception
Méthodologie
Automate
Synthèse de VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 33
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 34
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 34
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 34
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Notion d’automate
Rappel d’électronique
Le langage VHDL
Exemple VHDL
- Un automate est systématiquement
Conception en VHDL décomposé en:
Conception
Méthodologie
Un état (ensemble de registre)
Automate
Synthèse de VHDL
Simulation en VHDL
Synthèse en VHDL
Master II : R&C 35
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Notion d’automate
Rappel d’électronique
Le langage VHDL
Exemple VHDL
- Un automate est systématiquement
Conception en VHDL décomposé en:
Conception
Méthodologie
Un état (ensemble de registre)
Automate Trois fonctions:
Synthèse de VHDL
Simulation en VHDL
Transition: sensible aux entrée et à
Synthèse en VHDL l’état, met à jour l’état.
Moore: sensible à l’état, met à jour
des sorties
Mealy: sensible aux entrée et à l’état,
met à jour des sorties
Master II : R&C 35
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Notion d’automate
-- Gestion du registre d’état avec
Rappel d’électronique reset synchrone
Le langage VHDL PROCESS (clk)
Exemple VHDL N’utiliser que des signaux BEGIN
Conception en VHDL (pas de variables). Que des IF rising_edge(clk) THEN
IF reset = ’1’ THEN
Conception types simples (STD_LOGIC_*). state <= INIT;
Méthodologie ELSE state <= state_next;
Automate
Décomposer le matériel en END IF;
Synthèse de VHDL l’état (tous les éléments END IF;
Simulation en VHDL mémorisés entre deux cycle END PROCESS;
-- Fonction de transition
Synthèse en VHDL d’horloge) et les autres PROCESS (state, input1, input2)
signaux. BEGIN
CASE state IS
Écrire un processus WHEN IDLE =>
sensible à l’horloge qui met à IF i1 = ’1’ THEN
jour les registres d’état. state_next <= WRITE;
ELSE state_next <= IDLE;
C’est la fonction de END IF;
WHEN READ => state_next <= IDLE;
transition de l’automate. WHEN OTHER => state_next <= IDLE;
END CASE;
Master II : R&C 36
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Notion d’automate
Rappel d’électronique -- équation concurrente
Le langage VHDL Pour la fonction de Moore de (data-flow
Exemple VHDL l’automate (c’est similaire pour la S1 <= a + b * c;
Conception en VHDL fonction de Mealy): Écrire un S2 <= a – b ;
Conception processus sensible à l’état qui
-- Moore machine or
Méthodologie calcule les sorties. function
Automate
La manière la plus propre: PROCESS (state)
Synthèse de VHDL BEGIN
Simulation en VHDL Décrire le data-path comme CASE state IS
Synthèse en VHDL des affectations entre signaux WHEN IDLE =>
out1 <= S1;
en dehors des processus
out2 <= S2;
(inférence systématique du WHEN READ =>
matériel pour le calcul sur les out1 <= S1;
données) out2 <= S2;
WHEN OTHER =>
Décrire l’affectation des sorties out1 <= S1;
comme une simple affectation out2 <= S2;
entre signaux. END CASE;
END;
Master II : R&C 37
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Synthèse de VHDL
Rappel d’électronique Éviter l’inférence accicentelle Dès qu’un signal n’est pas affecté
Le langage VHDL dans tous les chemin de contrôle.
Exemple VHDL
Conception en VHDL --
Conception PROCESS (S1, State)
Méthodologie BEGIN
Automate IF state = ‘init’ THEN
out1 <= S1;
Synthèse de VHDL
END IF;
Simulation en VHDL END PROCESS;
Synthèse en VHDL
--
PROCESS (S1, State)
BEGIN
IF state = ‘init’ THEN
out1 <= S1;
Else
out1 <= 0;
END IF;
END PROCESS;
Master II : R&C 38
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Synthèse de VHDL
Rappel d’électronique
Le langage VHDL
Exemple VHDL
Conception en VHDL Les clauses wait sont acceptés uniquement pour
Conception
Méthodologie
l’horloge.
Automate En pratique, chaque outil synthétise des sous-ensembles
Synthèse de VHDL
légèrement différents.
Simulation en VHDL
Synthèse en VHDL La compilation commence par un check de la syntaxe.
Principaux outils de synthèse pour les FPGA : ISE de
Xilinx, EDK de Xilinx, Mentor graphics…
Principaux outils de synthèse pour les Asics: Mentor
Graphics, Synopsys, Cadence.
Master II : R&C 39
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 40
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 41
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 41
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Le temps symbolique Δ
Rappel d’électronique
Le langage VHDL
Exemple VHDL
Conception en VHDL
Le temps symbolique permet d’ordonner des événements
Simulation en VHDL simultanés à partir de leurs dépendances.
Niveau description VHDL
Principe de simulation
Une affectation à un signal: Sig1 <= Sig2 est instantanée
Le temps symbolique Δ mais la valeur de Sig1 est modifiée après 1 Δ
Signal et variable
Le temps physique
Un "événement" possède donc une date complète
Principe du moteur de composée d’une date physique (ex: 1h 04m 17s) et d’une date
simulation symbolique (ex: 4)
Synthèse en VHDL
Master II : R&C 42
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Signal et variable
Rappel d’électronique
Le langage VHDL Du fait de sa sémantique spécifique, le signal se comporte
Exemple VHDL très différemment d’une variable.
Conception en VHDL
Simulation en VHDL On peut en avoir une vision intuitive comme représentant
Niveau description VHDL la «valeur d’un fil physique au cours du temps »
Principe de simulation
Le temps symbolique Δ Pour qu’un signal conserve une valeur d’un cycle à un
Signal et variable
autre il faut mettre en place explicitement un mécanisme de
Le temps physique
mémorisation qui sera interprété comme un registre.
Principe du moteur de
simulation
Pour faciliter la simulation on peut aussi introduire des
Synthèse en VHDL
variables dans les processus.
Master II : R&C 43
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Master II : R&C 45
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Compilation VHDL
Pour être simulé, un programme VHDL est
Rappel d’électronique
Le langage VHDL Compilé
Exemple VHDL "Élaboré" (≃ édition de liens). Lors de l’élaboration les
Conception en VHDL opérations élémentaires utilisées sont implémentées par des
Simulation en VHDL librairies fournies par l’outil de simulation, leur
Synthèse en VHDL
implémentation peut poser problème.
Compliation VHDL
Simulé. Pour cela il nécessite un "test bench" qui fournit les
entrées et l’horloge au composant simulé (stimuli).
Si il est écrit de manière synthétisable, il peut être:
synthétisé (synthèse logique)
simulé après synthèse
placé (placement-routage)
simulé après placement routage.
Une description destinée à la simulation efficace d’un circuit est
très différente d’une description destinée à la réalisation. VHDL
synthétisable propose un compromis entre les deux.
Master II : R&C 46
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017
[email protected] Composants et logiciels pour les Systèmes Embarqués
Question
Rappel d’électronique
Le langage VHDL
Exemple VHDL
Conception en VHDL
Simulation en VHDL
Synthèse en VHDL
Compliation VHDL
Question ?
Master II : R&C 47
Université Larbi Tébessi - Tébessa Année universitaire 2016/2017