Académique Documents
Professionnel Documents
Culture Documents
APPLICATION 1 : Demi-additionneur
Les FPGA utilisent un type de langage spécial, appelé HDL (Hardware Description Language).
2
Définition du langage VHDL
Définition :
VHSIC LANGUAGE
HARDWARE DESCRIPTION
3
Définition du langage VHDL
Définition :
• VHDL est un langage de description matériel destiné à représenter le comportement ainsi que
l'architecture d’un système électronique numérique. Son nom complet est VHSIC Hardware Description
Langage.
4
Structure d’une description VHDL
Circuit
principal
L’architecture (Décrit le fonctionnement)
La configuration
La déclaration de paquetage
Package
Le corps de paquetage
5
Structure d’une description VHDL
Library ieee;
Use IEEE.std_logic_1164.all;
Use IEEE.numeric_std.all;
Use IEEE.std_logic_unsigned.all;
Entity NOM_DE_L_ENTITE is
port ( Il est composé In
de: caractères,
pour unLe le premier
signal d’entrée
std_logic pour un signal.
Description des entrées/ sorties caractère doit être
Out :une lettre,
pour un sa longueur
Le signal en sortie pour un bus
std_logic_vector
); est quelconqueInout : pour composé
un signal deen plusieurs
entrée sortie
signaux
End NOM_DE_L_ENTITE Buffer : pour un signal de sortie mais utilisé
comme entrée dans le description
7
Structure d’une description VHDL
Déclaration de l’architecture :
• L’architecture décrit le fonctionnement souhaité pour un circuit ou une partie du circuit
• L’architecture établit à travers des instructions qui décrivent les relations entre les entrées et les sorties
• L’ordre dans lequel les instructions sont écrites n’a aucune importance
Déclaration de l’architecture :
Syntaxe :
architecture DESCRIPTION of NOM_DE_L_ENTITE is
begin
EQ1 <= ,,,, ;
EQ1 <= ,,,, ;
.
.
.
end DESCRIPTION ;
9
Application 1
Demi-additionneur :
library ieee;
use ieee.std_logic_1164.all;
entity demiadd is
port(a, b: in std_logic;
sum, c: out std_logic);
end demiadd;
architecture structure of demiadd is
begin
sum <= a xor b;
c <= a and b;
end structure;
10
Application 2
Additionneur complet :
library ieee;
use ieee.std_logic_1164.all;
entity adder is
port(a,b,cin : in std_logic;
cout,s : out std_logic);
end adder;
architecture structure of adder is
begin
s<= a xor b xor cin;
cout<= (a and b ) or (b and cin) or ( a and cin );
end structure;
11
MERCI POUR
VOTRE ATTENTION