Electronique numérique niveau Bac+5 niv.3, Level Master degre in electronics,...
Fonctions logiques séquentielles :
Dans les automatismes séquentiels la
variable de sortie dépend de l’état des variables d’entrées et de leur instant
d’évolution.
1. Les bascules
Les
bascules sont utilisées pour synthétiser les systèmes séquentiels plus ou moins
complexe.
Les méthodes de synthèse ne seront pas étudiées ici, nous allons néanmoins étudier les différents types de bascules couramment utilisées.
Les méthodes de synthèse ne seront pas étudiées ici, nous allons néanmoins étudier les différents types de bascules couramment utilisées.
RS asynchrone
La bascule
RS est la base de toutes les autres bascules. La sortie de la bascule est mise
à 1 lorsque l'entrée SET est activée et est mise à 0 lorsque l'entrée RESET est
activée.
La combinaison SET=1 et RESET=1 est a priori interdite, mais on a tout de même défini deux type de bascule :
La combinaison SET=1 et RESET=1 est a priori interdite, mais on a tout de même défini deux type de bascule :
Priorité au 0
Fig-1
Priorité au 1
Fig-2
Bascules RS synchrones
Nous
utiliserons une entrée supplémentaire H autorisant les changements sur la
sortie de la bascule.
Deux modes de fonctionnement sont alors
possibles :
- Sur niveau : Le changement d’état ne peut se faire que lorsque H est à un niveau validant.
- Sur front : Le changement d’état ne peut se faire que lorsque H voit un front validant.
- Sur niveau : Le changement d’état ne peut se faire que lorsque H est à un niveau validant.
- Sur front : Le changement d’état ne peut se faire que lorsque H voit un front validant.
Fig-3
Fig-4
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Fig-5
La sortie Q est égale à S si l'horloge
H=1, la sortie Q est mémorisée si H=0. Ce type de bascule existe en
déclenchement sur front, elle sert alors à mémoriser l'état de l'entrée lors
d'un front d'horloge
2.Multiplexeur /
Démultiplexeur
Un
multiplexeur est un commutateur électronique reliant sa sortie Q à
une des 2n entrées, n étant le nombre de bits de sélection.
une des 2n entrées, n étant le nombre de bits de sélection.
Sur notre exemple
Q est
reliée à I0 si S1=0 et S0=0,
Q est
reliée à I1 si S1=0 et S0=1,
Q est reliée à I2 si S1=1 et S0=0 et
Q est
reliée à I3 si S1=1 et S0=1.
Il existe
des multiplexeurs logiques (le signal sur les entrées I0 à
I3 doit être de nature logique) et des multiplexeurs analogiques (le
signal sur les entrées I0 à I3 doit être de nature analogique).
Un démultiplexeur est un commutateur réalisant la fonction inverse, à
savoir relier une des 2n sorties à son entrée.
I3 doit être de nature logique) et des multiplexeurs analogiques (le
signal sur les entrées I0 à I3 doit être de nature analogique).
Un démultiplexeur est un commutateur réalisant la fonction inverse, à
savoir relier une des 2n sorties à son entrée.
Fig-6
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- Les Compteurs
Les
compteurs / décompteurs sont des systèmes séquentiels à n bascules. La
dynamique (profondeur de comptage) de ces systèmes est fixée par le nombre de
bascules.
Compteurs asynchrones
Un compteur asynchrone est un compteur ou le basculement de la bascule numéro i est déclenché par la sortie de la bascule i-1.
Compteurs asynchrones
Un compteur asynchrone est un compteur ou le basculement de la bascule numéro i est déclenché par la sortie de la bascule i-1.
Il existe
un temps de propagation entre le basculement
de chacune des bascules constituant le compteur. Il peut donc apparaître des aléas de fonctionnement indésirables. Cette solution est réservée aux comptages lents.
de chacune des bascules constituant le compteur. Il peut donc apparaître des aléas de fonctionnement indésirables. Cette solution est réservée aux comptages lents.
Fig-7
Compteurs synchrones
Afin d'éliminer les aléas résultants des temps de propagation
entre les bascules, il est possible
de synchroniser le fonctionnement des bascules sur l'horloge:
de synchroniser le fonctionnement des bascules sur l'horloge:
Fig-8
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Fig-9
Voici la
description en VHDL synthétisable du circuit ci-dessus :
Y <= (A and C) or (B and not C) or (not A and B and C) ;
Y <= (A and C) or (B and not C) or (not A and B and C) ;
Fig-10
Voici la description en VHDL
synthétisable du circuit ci-dessus :
Z <= (A and C) or (B and not C) or (not A and B and C) ;
Z <= (A and C) or (B and not C) or (not A and B and C) ;
X
<= (D and F) or (E and not F) or (not D and E and F) ;
Y <= Z or X
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Simplification numérique:
Fig-11
théorème 18 (De Morgan)
annulation de la double
complémentation
distribution du ET
théorème 3
mise en facteur
théorème 8
mise en facteur
théorème 8
théorème 2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Fig-12
Nous allons
donner la description en VHDL synthétisable du décodeur
library
IEEE;
use IEEE.Std_Logic_1164.all;
entity Dec_2into4 is
port(Sel_i : in Std_Logic_vector(1 downto 0);
use IEEE.Std_Logic_1164.all;
entity Dec_2into4 is
port(Sel_i : in Std_Logic_vector(1 downto 0);
--
Entrees de selection
EN_i : in Std_Logic ;
EN_i : in Std_Logic ;
--
Entree de validation
Y_o : out Std_Logic_Vector(3 downto 0)
Y_o : out Std_Logic_Vector(3 downto 0)
--
sorties
);
end Dec_2into4 ;
architecture Fig_miko of Dec_2into4 is
signal Y_s : Std_Logic_Vector(3 downto 0) ;
begin
);
end Dec_2into4 ;
architecture Fig_miko of Dec_2into4 is
signal Y_s : Std_Logic_Vector(3 downto 0) ;
begin
--
determination de la valeur de sortie
with Sel_i select
Y_s <= "0001" when "00",
"0010" when "01",
"0100" when "10",
"1000" when "11",
"XXXX" when others ;-- simulation
with Sel_i select
Y_s <= "0001" when "00",
"0010" when "01",
"0100" when "10",
"1000" when "11",
"XXXX" when others ;-- simulation
-- affectation de la valeur de sortie
Y_o <= Y_s when (EN_i = '1') else"0000";
end Fig_miko;
Y_o <= Y_s when (EN_i = '1') else"0000";
end Fig_miko;
Merci à utiliser l'électronique numérique dans de applications en paix.
Cordialement Mon. Mikel.
Commentaires
Enregistrer un commentaire