Professional Documents
Culture Documents
Pierre Langlois
http://creativecommons.org/licenses/by-nc-sa/2.5/ca/
HDL
la liste des composantes de base utilises; et, diagramme
dtats
library IEEE;
1. Identifier les entres et sorties du circuit. use IEEE.std_logic_1164.all;
end arch1;
end arch;
library IEEE;
use IEEE.std_logic_1164.all;
entity cctsequentielex4 is
port (
clk, reset : in STD_LOGIC;
A, B, C: in STD_LOGIC;
U, V, W, X, Y, Z : out STD_LOGIC
);
end cctsequentielex4;
U <= B xor C;
process(A, B)
begin
V <= A and B;
end process;
...
end arch;
library IEEE;
use IEEE.std_logic_1164.all;
entity cctsequentielex4 is
port (
clk, reset : in STD_LOGIC;
A, B, C: in STD_LOGIC;
U, V, W, X, Y, Z : out STD_LOGIC
);
end cctsequentielex4;
...
process(CLK, reset) is
begin
if (reset = '0') then
W <= '0';
X <= '0';
elsif (rising_edge(CLK)) then
W <= A xor B;
X <= not(B);
end if;
end process;
...
end arch;
INF3500 : Conception et implmentation de systmes numriques 8
Exemple: donner le schma correspondant ce module (3)
library IEEE;
use IEEE.std_logic_1164.all;
entity cctsequentielex4 is
port (
clk, reset : in STD_LOGIC;
A, B, C: in STD_LOGIC;
U, V, W, X, Y, Z : out STD_LOGIC
);
end cctsequentielex4;
...
process(A, C) is
begin
if (A = '0') then
Y <= C nor B;
Z <= not(B);
else
Z <= B nand C;
end if;
end process;
end arch;
12 IOBs, 3 5 CLBs
Le FPGA XC5VLX50TFFG1136C a plutt: CLB CLB CLB CLB CLB
INF3500 : Conception et implmentation de systmes numriques Xilinx inc., Virtex-5 FPGA User Guide (ug190 v. 5.4), March 2012
11
Modle simplifi dune tranche (~ une tranche du Virtex 2 Pro)
G4
Table de
fonction logique G2
correspondance
G CLK
S0
mmoire RAM G!
16 X 1
mmoire ROM Y
dcalage H
S3
CLK
B Z
D Q
X
CLK
reset
G4 G4
YQ YQ
G3 D Q G3 D Q
Table de Table de
conversion conversion
G2 G G2 G
reset reset
16 X 1 S0 16 X 1 S0
G1 G1
Y Y
H H
H1 S1 H1 S1
F4 F4
XQ XQ
F3 D Q F3 D Q
Table de Table de
conversion conversion
F2 F F2 F
reset reset
16 X 1 S2 16 X 1 S2
F1 F1
X X
S3 S3
CLK CLK
reset reset
1. Utiliser des bascules, viter les loquets. 3. Le signal de rinitialisation reset est spcial:
Les lments mmoire dun FPGA peuvent Les circuits squentiels doivent pouvoir tre placs
implmenter une bascule ou un loquet: il ny a pas dans un tat de dpart connu.
de diffrence de cot. En principe, on mne toutes les bascules avec le
Le dsavantage du loquet est son mode mme signal de rinitialisation.
transparent. Certaines bascules peuvent tre initialises 0,
Pour le reste du cours, nous allons utiliser dautres 1.
exclusivement des bascules. On ne fait pas doprations logiques sur le signal de
2. Le signal dhorloge CLK est spcial: rinitialisation.
En principe, on mne toutes les bascules avec le
mme signal dhorloge CLK.
On ne fait pas doprations logiques sur le signal On ne fait pas doprations logiques sur les signaux
CLK. dhorloge et de rinitialisation!