Académique Documents
Professionnel Documents
Culture Documents
PROGRAMMABLES
Contact : toihria_intissar@yahoo.fr
Objectifs du cours
5
CHAPITRE 2 : MODÉLISATION, SIMULATION, ET
SYNTHÈSE
1. Étapes de conception
6
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
La conception système : c’est quoi ?
7
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Méthodologie de conception
8
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Abstraction
o Eliminer des détails, focaliser sur un point de vue du système
o Travailler à différentes échelles de complexité et de temps 9
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Modèles de descriptions
Modèle physique
Elle spécifiée les paramètres physiques d'un système, tels que ses dimensions, les
matériaux le constituant. Dans ce type de modèles on décrit les transistors, les masques
(polysilicium, dopant N, métal, ...), leur taille, leur épaisseur, ...
11
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Modèles de descriptions
Modèle structurelle
12
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Modèles de descriptions
Modèle comportementale
Le système est décrit en définissant comment ses sorties réagissent en fonction des
entrées et du temps.
13
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Modèles de synthèse
Le passage d'un modèle à l'autre est appelée synthèse. Il en existe donc deux types.
Synthèse logique
14
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Modèles de synthèse
Synthèse physique
Transforme une représentation structurelle de bas niveau en une description
physique du circuit (Layout). Elle nécessite une étape supplémentaire de placement et
de routage des portes.
o On part d'une liste de portes et de leurs interconnexions (netlist) pour
aboutir à une description physique du circuit en termes de masques.
o Permet une simulation plus riche tenant compte du matériel cible (délais)
15
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Top Down Design
16
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Top Down Design
17
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
2. Simulation fonctionnelle
3. Synthèse
4. Placement routage
6. Programmation et test
18
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Description comportementale
Description de la fonction numérique à réaliser
2 possibilités
o Codage schématique o Codage par langage de programmation
• Bibliothèque de fonction constructeurs • High Description Language
19
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Simulation fonctionnelle
o Test Bench
Remarque :
Synthèse
21
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Placement / Routage
22
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Simulation post-routage
peuvent avoir changés avec les temps de propagation entre chaque bloc
Simulation post-routage
o Vérification du comportement
23
Étapes de conception
Survol sur la conception
Conception niveau système
Flot de conception
Revue du langage de description matériel (HDL)
Programmation et Test
Programmation du circuit
o Génération d’un bitstream
• Bitstream = suite de bits de configuration
donnant l’état des fusibles, des entrées sorties ...
o Utilisation d’un programmateur
o Utilisation du port JTAG FPGA
Test
Configuration
25
Étapes de conception Introduction
26
Étapes de conception Introduction
27
Étapes de conception Introduction
28
Étapes de conception Introduction
Le processus de conception
consiste à concevoir progressivement
un modèle comportementale pour
valider le fonctionnement du système
par simulation.
Remarque
La description comportementale peut être
elle-même générée par des outils de synthèse de
plus haut niveau (synthèse d’architecture), à
partir de descriptions plus abstraites. 30
Étapes de conception Introduction
32
Étapes de conception Introduction
Le passage d'une vue à l'autre est appelée synthèse. Il en existe donc deux types :
o Synthèse logique
o Synthèse physique
Elle est souvent automatique, traitée par des logiciels spécialisés et complexes
35
Étapes de conception Introduction
En pratique, le terme synthèse est utilisé pour le passage d'une quelconque vue
comportementale ou d'une vue structurelle de niveau élevé (registres / ALU /
mux / ….) à une vue structurelle en portes logiques.
36
Étapes de conception Introduction
Le processus de conception
consiste à transformer progressivement
la description comportementale en une
description physique (utilisable par le
fabriquant de circuits).
Remarque
39
Étapes de conception Introduction au langage VHDL
Modélisation
o Tout le langage. Logique + Temporel
o Un modèle peut être comportemental, structurel ou de type data-flow.
Synthèse
o Le VHDL de synthèse est un sous-ensemble du VHDL généraliste
o La synthèse demande une bonne connaissance du circuit et de la technologie.
40
Étapes de conception Introduction au langage VHDL
o Composant élémentaire
• Porte
o Circuit intégré
• Microprocesseur
o Carte – système
• Calculateur
o Processus
• Système de navigation
41
Étapes de conception Introduction au langage VHDL
Pourquoi le VHDL ?
Caractéristiques du VHDL
Avantages
Description structurée
o Travail en équipe, séparation des taches
o Rapidité de conception
Caractéristiques du VHDL
Inconvénients
Description complexe
45
Étapes de conception Introduction au langage VHDL
46
Étapes de conception Introduction au langage VHDL
La description d'un système numérique par le biais du langage VHDL passe par 3
étapes différentes :
Remarque
Déclaration bibliothèques
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.std_logic_arith .all ;
use ieee.std_logic_unsigned.all ;
Syntaxe :
entity NOM_DE_L_ENTITE is
port ( Description des signaux d’entrées /sorties …);
end entity ;
L'entité précise :
Le nom du circuit
Les ports d'entrée-sortie :
Leur nom , Leur direction (in, out, inout,...) , Leur type (bit, bit_vector, integer, std_logic,...)
Les paramètres éventuels pour les modèles génériques
49
Étapes de conception Introduction au langage VHDL
Déclaration de l’entité
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity FA is Représentation symbolique
port (
A, B, Cin : in std_logic;
déclaration de l’entité
S, Cout : out std_logic
);
end entity;
50
Étapes de conception Introduction au langage VHDL
L’instruction port :
Syntaxe : NOM_DU_SIGNAL : sens type;
Exemple:
CLOCK : in std_logic;
BUS : out std_logic_vector (7 downto 0);
Le sens de signal
arc1 of FA is
Niveaux de description
o Structurelle
o Comportementale
o Flot de données
55
Étapes de conception Introduction au langage VHDL
Le système électronique est décrit comme un module avec des entrées et des
sorties (Port).
Ce module est composé de sous modules connectés entre eux par des fils (signal)
Niveau Comportementale
Ce type correspond à expliciter le comportement d’un modèle par ses équations
Le VHDL autorise :
o Structure de boucles (loop… end loop,While)
o Branchement (if… then….else, case… end case)
o Appel aux procédures et fonctions
57
Pas de lien avec une bibliothèque physique
Étapes de conception Introduction au langage VHDL
C’est une description qui définit l'évolution des signaux. C’est une définition
temporelle des signaux et des évènements.
Cette description permet essentiellement de simuler des structures qui ont été
spécifiées
Elle est définie généralement par l’utilisation d’équations concourantes
58
Étapes de conception Introduction au langage VHDL
Les opérateurs logiques : AND, NAND, OR, NOR, NOT, XOR, XNOR
Exemple : S1 <= (E1 and E2) or (E3 nand E4);
Modifie l’état d’un signal suivant le résultat d’une condition logique entre
un ou des signaux, valeurs, constantes.
Decod7seg f
a
b f
a
b f
a
b f
a
b f
a
b
g g g g g
Data Segout e c e c e c e c e c
d d d d d
4 7
a a a a a
f b f b f b f b f b
g g g g g
e c e c e c e c e c
Entity SEVEN_SEG is d d d d d
port(
Data : in std_logic_vector(3 downto 0); --Expected within 0…9
Segout: out std_logic_vector(1 to 7)); --Segments A,B,C,D,E,F,G
end entity;
architecture COMB of SEVEN_SEG is
begin
….
….. 61
Étapes de conception Introduction au langage VHDL
library IEEE;
use IEEE.std_logic_1164.all;
Entity SEVEN_SEG is
port(
Data : in std_logic_vector(3 downto 0); --Expected within 0…9
Segout: out std_logic_vector(1 to 7) --Segments A,B,C,D,E,F,G
);
end entity;
else "-------"; a a a a a
end COMB ; f
g
b f
g
b f
g
b f
g
b f
g
b
e c e c e c e c e c
d d d d d
63
Étapes de conception Introduction au langage VHDL
entity MUX is
port (
E1,E2, E3,E4 : in std_logic;
SEL : in std_logic_vector(1 downto 0);
S : out std_logic);
end entity; 65
Étapes de conception Introduction au langage VHDL
AND2
A AB
B OR2
O NOT
inst
AND2 67
inst5
C inst4
Étapes de conception Introduction au langage VHDL
architecture V2 of AOI is
--zone de declaration des signaux
signal AB,CD,O: STD_LOGIC;
begin
--instructions concurrentes
AB <= A and B;
CD <= C and D; AND2
O <= AB or CD; A
F <= not O; B
inst
end V2; 68 AND2
C
Étapes de conception Introduction au langage VHDL
END simple;
Signaux déjà déclarés
au niveau Entity
Toutes les instructions sont évaluées et affectent les signaux de sortie en même temps.
69
Étapes de conception Introduction au langage VHDL
70
Étapes de conception Introduction au langage VHDL
71
Étapes de conception Introduction au langage VHDL
L’exécution d’un process a lieu à chaque changement d’état d’un signal de la liste
de sensibilité.
Les changements d’état des signaux par les instructions du process sont pris en
compte à la fin du process.
Remarque :
Ne pas confondre => (implique) et <= (affecte).
L’instruction IF et CASE ne peuvent être utilisées que dans un process 74
Étapes de conception Introduction au langage VHDL
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.numeric_std.all;
Use ieee.std_logic_unsigned.all;
entity BASCULED is
port (
D,CLK : in std_logic;
S : out std_logic);
end entity;
75
Étapes de conception Introduction au langage VHDL
process(Data)
begin
case Data is
when "0000"=> Segout <="0000001";
when "0001"=> Segout <="1001111";
when "0010"=> Segout <="0010010";
when "0011"=> Segout <="0000110";
when "0100"=> Segout <="1001100";
when "0101"=> Segout <="0100100";
when "0110"=> Segout <="0100000";
when "0111"=> Segout <="0001111";
when "1000"=> Segout <="0000000";
when "1001"=> Segout <="0000100";
when others => Segout <="1001000";
end case;
end process;
end COMB ; 78
Étapes de conception Introduction au langage VHDL
La liste de sensibilité doit être complète : tout les signaux lus dans le process
doivent apparaitre dans la liste de sensibilité.
process (SEL,A,B,C)
begin
if SEL =‘1’ then
OP <= A and B;
else
OP <= C;
end if;
end process;
79
Étapes de conception Introduction au langage VHDL
o Pour tester le front montant de l’horloge, on utilise la fonction rising_edge() qui est
o RISING_EDGE est VRAI lorsque l’horloge passe de l’état ‘0’ a l’état ‘1’.
o FALLING_EDGE est VRAI lorsque l’horloge passe de l’état ‘1’ a l’état ‘0’.
process(CLK)
begin
if RISING_EDGE(CLK) then
Q1 <= D;
end if; process(CLK)