Académique Documents
Professionnel Documents
Culture Documents
Pierre Langlois
http://creativecommons.org/licenses/by-nc-sa/2.5/ca/
• Les langages de description matérielle (Hardware • Les HDL peuvent servir à trois choses :
Description Language – HDL) ont vu le jour au – la modélisation de circuits (surtout numériques);
début des années 1980 lorsque la complexité des – la description de circuits en vue de leur synthèse
i uits à o evoi a e du i possi le l utilisatio (i.e. leur réalisation matérielle); et,
exclusive de schémas. – la documentation de circuits.
• Les schémas sont peu adéquats pour décrire un • Avantages des HDL par rapport aux schémas :
circuit logique. – les HDL permettent de décrire des systèmes
– Ils sont limités aux circuits les plus simples. complexes complets;
– Il est difficile de dessiner et modifier un circuit – les HDL favorisent la décomposition en modules
complexe avec un schéma de portes logiques. paramétrables;
– Un simple changement dans une équation – les HDL fa ilite t l ta lisse e t de sp ifi atio s et
booléenne du circuit peut se répercuter par une d i te fa es lai e e t d fi ies;
grande quantité de connexions à corriger. – les HDL o alise t l ha ge d i fo atio s.
– Il est diffi ile d utilise des variables en guise de
pa a t es d u i uit ep se t pa u s h a.
diagramme
ont eu lieu en 1993, 2000, 2002 et 2008. La norme d’états
library IEEE;
• Librarie: définition de types, fonctions, etc. use IEEE.STD_LOGIC_1164.ALL;
• Principe de la concurrence
);
end add3bits;
– L o d e est sa s i po ta e da s le o ps de
l a hite tu e. architecture flotDeDonnees of add3bits is
signal T1 : std_logic;
Cin signal T2 : std_logic;
S signal T3 : std_logic;
begin
T3
X T1
Y S <= T1 xor Cin;
Cout <= T3 or T2;
T2 Cout T1 <= X xor Y;
T2 <= X and Y;
T3 <= Cin and T1;
end flotDeDonnees;
INF3500 : Conception et implémentation de systèmes numériques 6
VHDL: casse, espaces, commentaires et littéraux
logique and, or, nand, nor, xor, xnor, not bit, boolean
+, -, *, /,
abs (valeur absolue), type
mod (modulo), type numérique type
arithmétique rem (reste) numérique numérique
** (exponentiation) integer
A B C D F library IEEE;
use IEEE.STD_LOGIC_1164.all;
0 0 0 0 0
0 0 0 1 0 entity vote is
port (
0 0 1 0 0
lesvotes: in std_logic_vector(3 downto 0);
0 0 1 1 0 approbation : out std_logic
0 1 0 0 0
);
end vote;
0 1 0 1 0
1 1 1 1 1
F A' BCD AB' CD ABC ' D ABCD ' ABCD signal A, B, C, D : std_logic;