Sei sulla pagina 1di 3

Interrogation 1

Nom : ………………………………………………………………………………………

Prenom : …..………………………………………………………………………………

Exercice1 :

Compléter le programme et le schéma pour qu’ils soit équivalents.

LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY DecodeurSpecial IS
PORT (E : IN STD_LOGIC_VECTOR (6 DOWNTO 0);
S : IN STD_LOGIC_VECTOR (1 DOWNTO 0);
Y : OUT STD_LOGIC_VECTOR (5 DOWNTO 0);
V : OUT STD_LOGIC;
E Z
Z : INOUT STD_LOGIC_VECTOR (5 DOWNTO 0) );
Y 5
END DecodeurSpecial; 6
S V
ARCHITECTURE Circuit OF DecodeurSpecial IS 5
SIGNAL A: STD_LOGIC;
BEGIN 2
IF S = "11" THEN
Y <= Z;
A <='0';
END IF;
CASE S&A IS
WHEN 001 => V <= E(0); Décodeur Spécial
WHEN 011 => V <= E(1);
WHEN 101 => V <= E(2);
WHEN 100 => V <= E(3);
END CASE;
PROCESS
VARIABLE X: INTEGER :=0;
BEGIN
WAIT UNTIL E(6)= '1' THEN
X := X+1;
IF X>=10 THEN
Z <= '000010'
Y <= '000000';
X := 0;
END IF;
END PROCESS;
END Circuit;
Interrogation 2
Nom : ………………………………………………………………………………………

Prenom :…..………………………………………………………………………………

Exercice1 :

Soit le circuit suivant Double Compteurs 4bits

A chaque front descendant d’horloge, on a :

RAZ C EN Description
X X 1 Pas de changement
0 X 0 Remise à zéro
1 0 0 Chargement (Q D)
1 1 0 Comptage (Q Q+1)

RAZ

RAZ2
CLK2
RAZ1 Q2 Q
CLK CLK1
Q1 D2 R
R2
C C1 EN2
R1 C2
EN1
D D1

EN

LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY SimpleCompteur4bits IS
PORT (CLK1,C1,RAZ1,EN1 : IN STD_LOGIC;
D1 : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
Q1 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
R1 : OUT STD_LOGIC );
END SimpleCompteur4bits;

ARCHITECTURE ArchCompSimpleCompteur OF SimpleCompteur4bits IS


SIGNAL A: STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK ='1' THEN -- (Front descendant IF CLK'EVENT AND CLK ='0' )
IF EN = '0' THEN
IF RAZ = '0' THEN
Q <= '0000';
ELSIF C = '0' THEN
Q <= D;
ELSE
Q <= Q+1;
END IF
IF Q = '1111' THEN
Q <= '0000';
END IF;
IF Q = '1110' THEN -- le signal ne change pas valeur dans PROCESS
R <= '1';
END IF;
END PROCESS;
END ArchCompSimpleCompteur;

ENTITY DoubleCompteurs4bits IS
PORT (CLK,C,RAZ,EN : IN STD_LOGIC;
D : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
Q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
R : OUT STD_LOGIC );
END DoubleCompteurs4bits;

ARCHITECTURE StructurelleDoubleCompteurs OF DoubleCompteurs4bits IS


-------- Déclaration des Composants -------
COMPONENT SimpleCompteur1 IS
PORT (CLK1,C1,RAZ1,EN1 : IN STD_LOGIC;
D1 : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
Q1 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
R1 : OUT STD_LOGIC );
END COMPONENT;
COMPONENT SimpleCompteur2 IS
PORT (CLK2,C2,RAZ2,EN2 : IN STD_LOGIC;
D2 : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
Q2 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
R2 : OUT STD_LOGIC );
END COMPONENT;
BEGIN
-------- Instanciations des Composants -----------
Compteur1: SimpleCompteur1 PORT MAP (CLK=>CLK1,C=>C1,D=>D1,EN=>EN1,RAZ=>RAZ1 R1=>C2,Q1=>D2);
Compteur2: SimpleCompteur2 PORT MAP (CLK=>CLK2,R1=>EN2,RAZ=>RAZ2,Q2=>Q,R2=>R);
END StructurelleDoubleCompteurs;

Potrebbero piacerti anche