Vous êtes sur la page 1sur 2

Masters (ETC-TSE-MECA)

2018/2019
Contrôle De VHDL- Logique programmable
Durée : 2 Heures
Exercice 1 :

Il s’agit de développer un modèle structurel d’un registre N bits avec une entrée série et une
sortie parallèle basé sur les composants des bascules D.

Les entrées de registre sont :


Horloge CLK (1 bit),
Reset RST_B remise à zéro (1 bit) asynchrone actif au niveau bas (’0’),
Données série DIN (1 bit).
Les Sorties sont contenues du registre DOUT (N bits). N un paramètre générique.
1. Donner une description VHDL comportemental de Bascule D avec reset asynchrone.
2. Donner une description VHDL structurelle d’un registre série-parallèle à 16 bits (voir shéma ci-
dessus). L’usage d’une instruction generate est requise.

Exercice 2 :

Le système à concevoir dispose de deux entrées et de deux sorties. Les entrées sont l’horloge
clk et la commande C ; les sorties sont S1 et S2. Les entrées et les sorties sont de type bit. Le
système est actif sur front descendant. Le système répond au chronogramme suivant :

S1

S2

M0
1. Compléter le chronogramme ci-dessus en indiquant les états du système.
2. Indiquer le type de machine d’état. Justifier votre réponse.
3. Donner le graphe d’état qui résume le fonctionnement de la machine X.
4. Donner une description VHDL de cette machine en utilisant deux process (1 combinatoire
+ 1 séquentiel).

Exercice 3 :

On considère les programmes ci-dessous écrites en code VHDL :

Code VHDL 1 :

LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY Y IS
port (D0, D1, S : in std_logic; Q : out std_logic );
END Y;
ARCHITECTURE synth OF Y IS
BEGIN
process (D0, D1, S)
begin
if S=‘0’ then Q <= D0; else Q <= D1;
end if;
end process;
END synth;

Code VHDL 2 :

LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY YY IS
port (S0, S1, RL : in std_logic; X : in std_logic_vector(6 downto 0); Q : out std_logic );
END YY;
ARCHITECTURE struct OF YY IS
component Y
port (D0, D1, S : in std_logic; Q : out std_logic );
end component;
signal Sa1, Sa2, Sa3, Sa4, Sb1, Sb2 : std_logic;
BEGIN
a1: Y port map (X(7), X(6), S0, Sa1);
a2: Y port map (X(5), X(4), S0, Sa2);
a3: Y port map (X(3), X(2), S0, Sa3);
a4: Y port map (X(1), X(0), S0, Sa4);
b1: Y port map (Sa1, Sa2, S1, Sb1);
b2: Y port map (Sa3, Sa4, S1, Sb2);
c1: Y port map (Sb1, Sb2, RL, Q);
END struct;

1. A partir de code VHDL 1, donner une construction graphique qui reproduit le


fonctionnement de Y.
2. Déduire une construction graphique qui reproduit le fonctionnement de YY (code VHDL 2).

Vous aimerez peut-être aussi