Exam 2017
Exam 2017
Exam 2017
ENSIT
EXERCICE I :
1/ Identifier les différent états de ce détecteur (on appellera l’état initial S init)
3/ Ecrire le code VHDL en 2 process qui décrit le fonctionnement de cette machine (voir le modèle document
réponse).
EXERCICE II :
Figure 1
1/4
1/Calculer les délais des plus longs chemins suivants :
a/Clock to out
b/Register to Register
EXERCICE III :
La figure2 ci-dessous représente 2 algorithmes (ASM#1, ASM#2) de 2 machines à états fini communicantes
( FSM#1,FSM#2) . La sortie st_b de la machine FSM#1 commande la machine FSM#2 de même La sortie
Fin_b de la machine FSM#2 commande la machine FSM#1. StateFSM#1 et stateFSM#2 sont
respectivement les états des machines FSM#1 et FSM#2.
1/ Complétez le chronogramme (voir document réponse) pour les états et les sorties.
Figure 2
2/4
Document réponse
EXERCICE I :
3/ Ecrire le code VHDL en s’inspirant du modèle ci-dessous ( on utilise le codage binaire naturel pour coder
les états).
entity detecteur is port(
);
end detecteur;
begin
dffs:process (..)
begin
end behavior ;
3/4
EXERCICE II :
5/ DATASHEET
EXERCICE III :
1/ Chronogramme :
4/4
Solution
EXERCICE I
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
USE IEEE.std_logic_unsigned.ALL;
Entity seq_0101011 is
port(clk,X,reset: in std_logic;
Z: out std_logic) ;
end seq_0101011 ;
begin
5/4
state <= pstate;
dffs:process (clk )
begin
end if;
end process;
c_logic:process(pstate,X)
begin
Z<= '0';
case pstate is
else
end if;
else
end if;
else
end if;
else
end if;
6/4
nstate<=S01010;
else
nstate<=Sinit;
end if;
nstate<=S010101;
else
nstate<=S0;
end if;
nstate<=S0101011;
else
nstate<=S01010;
end if;
nstate<=S0;
else
nstate<=Sinit;
end if;
end case;
end behavior;
EXERCICE III :
7/4
1/ Chronogramme :
EXERCICE II :
5/
8/4