F.CAIGNET Les circuits logiques programmables - FPGA 1 Introduction aux outils et langages de conception des systèmes numériques Fabrice CAIGNET LAAS - CNRS [email protected] http://www.laas.fr/~fcaignet/
F.CAIGNET
Les circuits logiques programmables - FPGA
1
Introduction aux outils et langages
de conception des systèmes
numériques
Fabrice CAIGNETLAAS - [email protected]://www.laas.fr/~fcaignet/
F.CAIGNET
Les circuits logiques programmables - FPGA
2
Contenu :
I. Le VHDL : introductionII. Le VHDL : sémantiqueIII. Introduction à la conception de systèmes
numériquesIV. Introduction aux FPGAsV. Présentation des convertisseurs numériquesVI. Présentation d’un bus de communication
dédié : le bus CAN
F.CAIGNET
Les circuits logiques programmables - FPGA
3
Introduction au langage VHDL
VHSIC ( Very High Speed Integrated Circuit)
HardwareDescription
Language
But : Langage de description matérielle
• Augmentation de la vitesse de conception des circuits
• Simulation rapide
• Langage de programmation tel ADA, C, Pascal
F.CAIGNET
Les circuits logiques programmables - FPGA
4
Contenu :
I. Le VHDL?
II. Organisation d’un modèle VHDL
III. La conception en VHDL
F.CAIGNET
Les circuits logiques programmables - FPGA
5
I. Le VHDL?Conception de systèmes complexes
Permet la modélisation de grands ensembles électroniques oulogiques en conservant un certain niveau d’abstraction
Systèmecomplexe
Porte élémentaire
Composant
Com
plexité
• Composant élémentaire(Porte)
• Circuit intégré(Microprocesseur)
• Carte - système(calculateur)
• Processus(système de navigation)
F.CAIGNET
Les circuits logiques programmables - FPGA
6
I. Le VHDL?
Pourquoi le VHDL ?
Standard IEEE (ref. IEEE Std 1164 en 93)
Demande des USA en 1980
Normalisation IEEE du VHDL en 1987
Depuis 1987, c’est un standard de descriptionet de modélisation des circuits et systèmeslogiques
Nécessité d’un langage de descriptionnon ambiguë des systèmes matérielsUnicité de la description
Pérennité du modèle
Nombreux outils 100% VHDL (synopsys)
Entrées possibles en VHDL (cadence)
F.CAIGNET
Les circuits logiques programmables - FPGA
7
I. Le VHDL?
Caractéristiques du VHDL• Avantages
• Simulation de systèmes complexes : - Macroscopiques ou microscopiques- Modélisation d’ensembles de circuits
• Description structurée :- Travail en équipe, séparation des taches- Rapidité de conception
• Adaptation aux projets Multi-entreprise : - Indépendance vis à vis de la technologie- Sécurité grâce à des modèles compilés
• Inconvénients
• Description complexe• Tout n’est pas synthétisable (analogique)
Prise en compte avec le VHDL-AMS (1997)
Un langagede
Spécification
Simulation
Conception
F.CAIGNET
Les circuits logiques programmables - FPGA
8
II. Organisation d’un modèle VHDL
Structure d’un modèle VHDL
Nom_du_modèle (signaux d’entrée, signaux de sortie)
Architecture du modèle- définition des signaux- Blocs de description
Trois niveaux de description peuvent être utilisés : Structurelle Comportementale Flot de données
F.CAIGNET
Les circuits logiques programmables - FPGA
9
Modèle VHDLEntité
Structurelle
II. Organisation d’un modèle VHDL
Le modèle peut avoir plusieurs descriptions adaptables à chaque projet
Déclaration d’entité
Architecture 1
Architecture 2
Architecture …
Comportemental
Structure d’un modèle VHDL
Begin If clk =‘1’ then
Sortie<= a or b; End if;End;
F.CAIGNET
Les circuits logiques programmables - FPGA
10
II. Organisation d’un modèle VHDL
Le modèle peut avoir plusieurs descriptions adaptables à chaque projet
Hiérarchisation du VHDL
Modèle VHDLEntité
Structurelle
Déclaration d’entité
Architecture 1
Architecture 2
Architecture …
Comportementale
BeginIf clk =‘1’ thenSortie<= a or b;End if;End;
Structurelle
Entité 1
Entité 2
ModéleModéle
F.CAIGNET
Les circuits logiques programmables - FPGA
11
II. Organisation d’un modèle VHDL
Le système électronique (Entity) est décrit comme un module avec desentrées et des sorties (Port).Ce module est composé de sous modules ou instances connectés entre euxpar des fils (signal)
Description structurelle (Structural description)
Entity Instances(GHI)
G
H
I
Port
A
A
B
B
S S
signal
Entity
La description repose sur une bibliothèque ‘’physique’’ d’instances
F
F.CAIGNET
Les circuits logiques programmables - FPGA
12
II. Organisation d’un modèle VHDL
Description comportementale(Behavioural description or functional description)
Entity
BSF
A
Le système électronique (entity) est décrit comme un ensemble de foncionsou d’algorithmes séquentiels
• Booléennes(bits, bit_vector), entiers (integer)…• Descriptions complexes de fonctions (If… then…..else)• Description temporelle (s<=b after 5ns)
Le VHDL autorise :
Begin If clk =‘1’ then
S<= a or b; End if;End;
Structure de boucles (loop… endloop, While)
Branchement (if… then….else, case… end case)
Appel aux procédures et fonctions
Pas de lien avec une bibliothèque physique
F.CAIGNET
Les circuits logiques programmables - FPGA
13
II. Organisation d’un modèle VHDL
Description de type flot de données(discret event time model description)
• C’est une description qui définit l'évolution des signaux. C’est unedéfinition temporelle des signaux et des évènements.• Cette description permet essentiellement de simuler desstructures qui ont été spécifiées• Elle est définie généralement par l’utilisation d’équationsconcourantes
Déclaration de l’entité
Déclaration del’architecture
Flot de données
F.CAIGNET
Les circuits logiques programmables - FPGA
14
II. Organisation d’un modèle VHDL
Un petit exemple : bascule D - description comportementale
D
H
Q0
0
0
Définition d’une sensibilité de déclenchement
Déclaration de l’entité
Définition des entrées et sorties
Corps d’architecture
Affectation des signaux
F.CAIGNET
Les circuits logiques programmables - FPGA
15
II. Organisation d’un modèle VHDL
Un petit exemple : Oscillateur en anneau - description structurelle
H
D
H
Q0
0
0 D
H
Q1
1
1 D
H
Q2
2
2
Q 2
Déclaration de l’entité
Corps d’architecture
Définition des entrées et sorties
Déclaration d’un composant(Rappel des ports obligatoire)
Instanciation des composants
F.CAIGNET
Les circuits logiques programmables - FPGA
16
II. Organisation d’un modèle VHDL
Un petit exemple : Oscillateur en anneau - description structurelle
H
D
H
Q0
0
0 D
H
Q1
1
1 D
H
Q2
2
2
Q 2
F.CAIGNET
Les circuits logiques programmables - FPGA
17
II. Organisation d’un modèle VHDL
Un petit exemple : Oscillateur en anneau (32 bits)- description structurelle
H
D
H
Q0
0
0 D
H
Q1
1
1 D
H
Q31
31
31
Q 31
Instanciation des composantsDe 1 à 30
grâce à une boucle generate
Instanciation du composant0
Instanciation du composant31
F.CAIGNET
Les circuits logiques programmables - FPGA
18
III. La conception en VHDL
Vue d’ensemble Source VHDLModèle
Compilation
Simulation
Synthèse
Placement routage
Fabricationprogrammation
Bibliothèque fondeurFonctionnelle
Bibliothèque fondeurStructurelle
Détecte les erreurs se syntaxeIncompatibilités des signaux
Tests fonctionnels et temporels
Equations booléennes, mise à plat dela structure, calcul des redondances,schéma équivalent
Optimisation place, temps
Source VHDL
Rétro annotation
F.CAIGNET
Les circuits logiques programmables - FPGA
19
III. La conception en VHDL
Démarche dans maxplusII pour la programmation de FPGA
F.CAIGNET
Les circuits logiques programmables - FPGA
20
III. La conception en VHDL
Démarche dans maxplusII pour la programmation de FPGA
F.CAIGNET
Les circuits logiques programmables - FPGA
21
III. La conception en VHDL
Environnement desaisie dans MaxplusII
F.CAIGNET
Les circuits logiques programmables - FPGA
22
III. La conception en VHDLEnvironnement de saisie dans Quartus
F.CAIGNET
Les circuits logiques programmables - FPGA
23
III. La conception en VHDLEnvironnement de saisie dans Quartus
F.CAIGNET
Les circuits logiques programmables - FPGA
24
III. La conception en VHDL
La simulation dans les environnements VHDL
Description VHDL
Compilation de tous lesmodules VHDL
SimulationPassage dans le domaine temporel
Recherche du premierévénement et desentités activées
Définition de nouveauxsignaux
Simulation des modulesvalides
Résultat Final
Pas de
F.CAIGNET
Les circuits logiques programmables - FPGA
25
III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure
Compilation de tousles modules VHDL
SimulationPassage dans le domaine temporel
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
S(t)
A
B
W1
S(t)
A
B
W1
Description VHDL
S(t)
AB
W1
Entity AND
Entity OR
t0
F.CAIGNET
Les circuits logiques programmables - FPGA
26
III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure
Compilation de tousles modules VHDL
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
S(t)
A
B
W1
S(t)
A
B
W1
Description VHDL
S(t)
AB
W1
Entity AND
Entity OR
t0
t1
SimulationPassage dans le domaine temporel
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
F.CAIGNET
Les circuits logiques programmables - FPGA
27
III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure
Compilation de tousles modules VHDL
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
S(t)
A
B
W1
S(t)
A
B
W1
Description VHDL
S(t)
AB
W1
Entity AND
Entity OR
t0 t2
t1
SimulationPassage dans le domaine temporel
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
F.CAIGNET
Les circuits logiques programmables - FPGA
28
La simulation dans les environnements VHDL : exempleCombinatoire pure
Compilation de tousles modules VHDL
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
S(t)
A
B
W1
S(t)
A
B
W1
Description VHDL
S(t)
AB
W1
Entity AND
Entity OR
t0
t3
t1
SimulationPassage dans le domaine temporel
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
t2
F.CAIGNET
Les circuits logiques programmables - FPGA
29
III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure
Compilation de tousles modules VHDL
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
S(t)
A
B
W1
S(t)
A
B
W1
Description VHDL
S(t)
AB
W1
Entity AND
Entity OR
t0
t4t1
SimulationPassage dans le domaine temporel
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
t2
t3
F.CAIGNET
Les circuits logiques programmables - FPGA
30
La simulation dans les environnements VHDL : exempleCombinatoire pure
Compilation de tousles modules VHDL
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
S(t)
A
B
W1
S(t)
A
B
W1
Description VHDL
S(t)
AB
W1
Entity AND
Entity OR
t0 t5
t1
SimulationPassage dans le domaine temporel
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
t2
t3
t4
F.CAIGNET
Les circuits logiques programmables - FPGA
31
III. La conception en VHDLLa simulation dans les environnements VHDL : exempleCombinatoire pure
Compilation de tousles modules VHDL
Définition de nouveauxsignaux
Simulation desmodules validesRésultat Final
Recherche du premierévénement et desentités activées
S(t)
A
B
W1
S(t)
A
B
W1
Description VHDL
S(t)
AB
W1
Entity AND
Entity OR
t0
t6
t1
SimulationPassage dans le domaine temporel
Définition de nouveauxsignaux
Simulation desmodules valides
Recherche du premierévénement et desentités activées
t2
t3
t4
t5
F.CAIGNET
Les circuits logiques programmables - FPGA
32
III. La conception en VHDL
La simulation dans les environnements VHDL : exemplecompteur synchrone (en anneau)
D
H
Q D
H
Q D
H
Q
H
0
0
0 1
1
1 2
2
2
Q 2
Process (clk)……. If clk’event and clk=‘1’:On calcul toutes les entités en même temps
t0 t1 t2
F.CAIGNET
Les circuits logiques programmables - FPGA
33
III. La conception en VHDL
La simulation dans les environnements VHDL : exemplecompteur asynchrone
Qt11
101
O10
Qt00
Qt+1KJ
H
t
t
t
Q0
Q1
Q2
t
J
H
K
Q J
H
K
Q J
H
K
Q
H
0
0
0
0 1
1
1
1 2
2
2
2
1
1
1
1
1
1
t0 t1 t3 t4 t7
t2 t5
t6
Process (clk)……. If clk’event and clk=‘0’;t8
t9
t10 t11
t12
t13
F.CAIGNET
Les circuits logiques programmables - FPGA
34
III. La conception en VHDL
La simulation dans les environnements VHDL : résumé
Le VHDL permet une simulation évènementiel
Rapidité de simulationSimulation de systèmes numériques très complexes« Intelligence » de la méthode de simulation: seul lesentités activés sont actionnées
Utilisable uniquement pour les systèmes numériques