Académique Documents
Professionnel Documents
Culture Documents
1. Introduction :
Les circuits logiques combinatoires élémentaires sont basés sur les opérateurs classiques : AND , OR ,
NOT ,XOR, NAND , NOR et XNOR. Ces opérateurs acceptent en entrée des signaux tout aussi bien scalaires
que vectoriels.
La description de circuits logiques combinatoires tels que les multiplexeurs , comparateurs , etc… est basée
sur l’utilisation de process dont la liste de sensibilité ne comporte pas de référence à l’horloge.
Quant aux registres , il est nécessaire d’utiliser un process séquentiel synchrone.
Travail à effectuer :
Créez le projet Encodeur
Effectuez la saisie de la description VHDL précédente
Effectuez la compilation
Ouvrez la fenêtre de simulation.
o Insérez les 2 signaux d'entrée In1 et In0 ensuite les 4 signaux de sortie out3,out2,out1
et out0
o In1 : signal périodique de fréquence 10MHz
o In0 : signal périodique de fréquence 3MHz
o Effectuez la simulation . Interprétez les résultats : table de vérité et temps de réponse.
Activez le menu PROCESSING CLASSIC TIMING ANALYZER TOOL et notez la
fréquence maximum de fonctionnement du circuit . L'indication est-elle correcte?
3. Description d'un circuit séquentiel synchrone :
Rappels :
Un circuit séquentiel synchrone comporte un ou plusieurs registres .
Les registres sont constitués par regroupement de bascules D.
La bascule D comporte une entrée d'horloge CLK, une entrée de remise à '0' reset , une entrée de donnée
D et une sortie Q.
La bascule D est sensible à un front d'horloge : soit montant , soit descendant.
Bascule D : avec et sans entrée de validation : EN
D Q
D Q
Clk EN
Clk
Reset
Reset
Régles de fonctionnement :
Reset
Ce circuit comporte :
Un registre d'entrée : Regin acceptant en entrée le signal vectoriel In1_0 ( 2 bits) et délivrant un signal de
sortie vectoriel Inp (2bits).
Un circuit combinatoire représentant l'encodeur combinatoire de l'exercice précédent.
Un registre de sortie Regout acceptant en entrée un signal vectoriel Outp (4bits) et délivrant un signal de
sortie vectoriel Out3_2_1_0 ( 4 bits).
end bhv;
Travail à effectuer :
Créez le projet Encod_seq
Effectuez la saisie de la description VHDL précédente
Effectuez la compilation .
Consultez le rapport de compilation et déterminez le nombre de registres utilisés et le nombre
d'éléments logiques . Expliquez le nombre de registres . Déduire le nombre de registres par élément
logique.
Activez la vue RTL en utilisant le menu : TOOLS NETLIST VIEWERS RTL VIEWER et
notez le schéma du circuit obtenu . Commentaires ?
Activez le menu PROCESSING CLASSIC TIMING ANALYZER TOOL et notez la fréqsuence
maximum de fonctionnement du circuit . L'indication vous semble-elle correcte ? comment faut-il
procéder pour déterminer la fréquence maximum de travail d'un circuit combinatoire ?
Simulation :
o Ouvrez la fenêtre de simulation .
o Insérez les signaux reset, clk, in1_0 et out3_2_1_0
o Signal Reset : à '1' entre t=10ns et t=20ns ; à '0' ailleurs
o Signal CLK : signal périodique de fréquence 100 MHz.
Pour celà , sélectionnez le signal IN1_0 , ensuite l'outil ; sélectionnez dans la fenêtre qui
apparait le menu TIMING ensuite inscrivez 50 ns devant COUNT EVERY
Effectuez la simulation . Interprétez les résultats : table de vérité et temps de réponse.
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity async is
port(in1,In2: in std_logic;
q: out std_logic);
end async;
architecture bhv of async is
signal qint, qbint: std_logic;
begin
qint<= in1 nor qbint;
qbint<= in2 nor qint;
q<=qint;
end bhv;