Académique Documents
Professionnel Documents
Culture Documents
A. EL KARI
Introduction
La réalisation des systèmes numériques
Le langage VHDL
Historique et standardisation
L’architecture
Introduction
Le langage VHDL
L’entité
End REG8BIT;
26/05/2022 Master GE_FSTG 14
Les spécifications des ports
Un mode,
Un type.
Exemples :
DATA : in bit_vector (3 downto 0);
RESET : in std_logic;
in out
inout buffer
X : inconnue,
U : non initialisée,
- : quelconque,
Z : haute impédance
m le LSB.
Bit_vector (m to n) : (m < n) Dans ce cas m est le LSB et n le
MSB
Exemple : Exemple :
BUS1 : in bit_vector (3 downto 0) BUS1 : in bit_vector (0 to 3)
3210 0123
BUFFER8 BUFFER16
G G
En En
8 8 16 16
In1 In2 In1 In2
Entity CPT is
Generic ( K = compteur ?
OUI
compteur : integer := 4);
…
NON
End CPT;
…
For k in 1 to compteur loop
… K=K+1
End loop;
Entity TEST is Y
Generic (
retard : time := 4); t
… X t
0
End TEST;
…
X <= Y after retard; t
t0 - 4
L’architecture
E(0) MUX41
E(1) S
E(2)
E(3)
Entity MUX41 is port (
SEL(0) E : in std_logic_vector (3 downto 0);
SEL(1)
SEL : in std_logic_ vector (1 downto 0);
S : out std_logic);
SEL(1) SEL(0) S End MUX41;
0 0 E(0)
0 1 E(1)
1 0 E(2)
1 1 E(3)
Ils sont au nombre de 7 : and, nand, or, nor, xor, xnor et not.
Les opérandes sont :
Booléens,
Bit ou bit_vector,
Std_logic ou std_logic_vector
A
B
C S S <= (A and B) or (C and D);
D
Begin
Etiq1 : F1 port map (E0,E1,S1);
Etiq2 : F2 port map (S1,E2,S);
End STRUCT;
26/05/2022 Master GE_FSTG 40
Exemple de description structurelle
RAZ
DIZ CENT
CPT10 CPT10
4 4
CLK H Q H Q Description
synchrone
RST Carry RST Carry
EN EN
‘0’
RAZ
26/05/2022 DIZMaster GE_FSTG CENT 41
Exercice
1. Donner la description de type flot de données d’un demi
additionneur.
2. Donner la description structurelle d’un additionneur de 1 bit à
partir d’un demi additionneur.
DEMI_ADD ADD1b
A S A S
B Rt B Rt
Description Rt_1
Description
library ieee;
use ieee.std_logic_1164.all;
entity div is port
( H : in std_logic;
HZ : out std_logic
);
end div;
architecture arch_div of div is
signal Q1: integer range 0 to 27000000;
Begin
library ieee;
use ieee.std_logic_1164.all;
entity compt_dec is port
( H,rst:in std_logic;
carry:out std_logic;
Q:buffer integer range 0 to 9
);
end compt_dec;
library ieee;
use ieee.std_logic_1164.all;
entity sept_seg is port
( SEG: out std_logic_vector(6 downto 0);
Q:buffer integer range 0 to 9
);
end sept_seg;
Les objets sont les éléments de base du langage VHDL. Ils sont au
nombre de 3 :
Un type scalaire est dit énuméré si toutes les valeurs qu’il peut
prendre sont listées dans sa déclaration.
Les types integer et real font partis des types non énumérés.
Néanmoins l’utilisateur peut les borner par l’instruction range qui
définit une limite basse et haute de manière à ne pas bloquer de
la ressource inutilement.
Exemple1 : Exemple2 :
Type ARTICLE1 is record Type ARTICLE2 is record
M,C,D,U : integer range 0 to 9; ADDR : integer range 0 to 3;
End record; DONNEE : std_logic_vector (3 downto 0);
End record;
Variable ANNEE : ARTICLE1
ANNEE := (2,0,0,6); signal SIG1 : ARTICLE2;
ANNEE.U := 7; SIG1 <= (3, »0011 »);
On accède à un SIG1.ADDR <= 2;
élément de l’article
par son champ
26/05/2022 Master GE_FSTG 57
Le type composite ARRAY(tableau)
0 1 2 3
0à9 0à9 0à9 0à9
ANNEE
Variable ANNEE_EN_COURS : ANNEE;
On accède à un
ANNEE_EN_COURS := (2,0,0,6); élément de l’article
par son indice
ANNEE_EN_COURS(3):=6;
0 1 2 3
0 1 9 6 8
DATE 1 1 9 7 1
2 1 9 9 4
Un sous type d’un type donné n’est que ce type avec un intervalle de
variation limité.
Exemples :
Subtype natural is integer range 0 to integer’HIGH
Subtype positive is integer range 1 to integer’HIGH
réponse
26/05/2022 Master GE_FSTG 65
Les bases du langage
composant,
Instancier ce dernier en spécifiant les connexions entre ses
X X X 1 Remise à 0 générale
Arrêt de l’alarme
X X Bascule 0 Déclenchement du timer
Arrêt du timer
1 X 0 0 Réglage du timer par
incrémentation des
secondes
X 1 0 0 Réglage du timer par
décrémentation des
secondes
26/05/2022 Master GE_FSTG 76
Le choix de la logique de commande
Base de
temps
BCD_7SEG
D_CPT_NS
H Q A AFF M_INT
D_CPT
‘0’ EN
RAZ Rt
H Q A AFF S_DIZ
D_CPT
EN
RAZ Rt
H Q A AFF S_UNIT
D_CPT
EN
RAZ Rt
DIV
H
CLKin H1s
H5s
H10s
26/05/2022 Master GE_FSTG 79
Le langage VHDL
Composants personnalisables
Composants spécifiques à l’application
Avantage : rapidité
Inconvénients : coût élevé, figé
98 99 01 02 04 06
CIRCUITS LOGIQUES
85-95 : le « co-processing »
Contrôleur de périphériques
Telecoms
Traitement du signal
Fiabilité accrue
Grande sécurité
Protection en lecture
PLD
Intact «Programmé»
REBOUCLAGE
BROCHES
ENTREE-
SORTIES
MATRICE ET MATRICE OU
programmable Pré-câblée
BLOC COMBINATOIRE
PROGRAMMABLE
Réseau ET Réseau OU
ZOOM Complet
26/05/2022 Master GE_FSTG 100
Dénomination
NNN EE V SS
Nom générique
Nbr maximal des entrées
Type de sortie
Nbr maximal des sorties
Macro-cellule
logique
Bloc
d’interconnexions.
logique
Bloc
Morgan Kaufmann
Addison Wesley
Dunod
Eyrolle
Sites constructeur :
www.cypress.com
www.altera.com
www.xilinx.com
www.atmel.com