Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
C. Dahon
Enseignant-Chercheur
F. Vallette
Enseignant-Chercheur
Le code Morse emploie cinq états numériques : point, trait, petite pause,
•
moyenne pause, et longue pause, afin d’envoyer des messages en utilisant une variété
de porteurs différents tels que l’électricité, ou la lumière.
Cours d’électronique numérique
Introduction
Plan du Cours
Introduction
Algèbre de Boole et Logique Combinatoire
Cours d’électronique numérique
Algèbre de Boole
Références
Algèbre de Boole
Algèbre de Boole
Cours d’électronique numérique
Algèbre de Boole
Mister G. Boole
1815 − 1864
Cours d’électronique numérique
Algèbre de Boole
La génèse
exemples
Cours d’électronique numérique
Algèbre de Boole
Algèbre de Boole B
B =< E , +, .,− , 0, 1 >
+, . sont des lois de composition interne
−
est la loi de complémentation
Cours d’électronique numérique
Algèbre de Boole
loi de composition .
. 0 1
0 0 0
1 0 1
loi de composition +
+ 0 1
0 0 1
1 1 1
Cours d’électronique numérique
Algèbre de Boole
Axiomes de bases - 1
Commutativité
∀(a, b) ∈ E 2
a+b =b+a
a.b = b.a
Distributivité
∀(a, b, c) ∈ E 3
a + (b.c) = (a + b).(a + c)
a.(b + c) = (a.b) + (a.c)
Cours d’électronique numérique
Algèbre de Boole
Axiomes de bases - 2
Eléments Neutre
∀a ∈ E
a+0=a
a.1 = a
Complémentation
∀a ∈ E
a+a =1
a.a = 0
Cours d’électronique numérique
Algèbre de Boole
Propriétés - 1
Propriétés - 2
Loi d’involution
∀a ∈ E
a=a
Loi d’absorption
∀(a, b) ∈ E 2
a + (a.b) = a
a.(a + b) = a
Cours d’électronique numérique
Algèbre de Boole
Propriétés - 5
Loi d’associativité
∀(a, b, c) ∈ E 3
a + (b + c) = (a + b) + c
a.(b.c) = (a.b).c
Loi de De Morgan
∀(a, b) ∈ E 2
a + b = a.b
a.b = a + b
Cours d’électronique numérique
Algèbre de Boole
Relation d’ordre :
Ordre Total : 0 < 1
Ordre Lexicographique : 00 < 01 < 10 < 11 Utile pour les
tables de vérité
Definition d’une fonction logique :
f (xn−1 , xn−2 , . . . , x1 , x0 ) : 0, 1n → 0, 1, n ∈ N∗
Cours d’électronique numérique
Algèbre de Boole
n
n variables soit 22 fonctions possibles
3 variables → 256 fonctions possibles
4 variables → 65536 fonctions possibles
etc ...
Cours d’électronique numérique
Algèbre de Boole
La Table de Vérité
Représentation sous forme de tableau des valeurs de la
fonction logique pour toutes les combinaisons de ses variables
a b f
0 0 f0
0 1 f1
1 0 f2
1 1 f3
Cours d’électronique numérique
Algèbre de Boole
Le Tableau de Karnaugh
Représentation sous forme de matrice des valeurs de la
fonction logique pour toutes les combinaisons de ses variables
en exploitant la propriété d’adjacence
b 0 1
a c
0 0 f0 f1
0 1 f2 f3
1 1 f6 f7
1 0 f4 f5
Cours d’électronique numérique
Algèbre de Boole
Diagramme de Veitch
Diagramme de Venn
Arbre de décision binaire
Logigramme Partie technologie
Représentation algébrique Ecriture logique
Cours d’électronique numérique
Algèbre de Boole
Ecriture Algébrique
Y
n−1
mj = a˜i , a˜i ∈ (ai , ai )
i =0
X
n−1
Mj = a˜i , a˜i ∈ (ai , ai )
i =0
Cours d’électronique numérique
Algèbre de Boole
Exemples
Cours d’électronique numérique
Algèbre de Boole
Exemples
Cours d’électronique numérique
Algèbre de Boole
Minimisation de Fonctions
Utilisation des axiomes de base et des Propriétés qui en
découlent
f (a, b, c) = ab + bc + c en utilisant la loi d’absorption
bc + c = c on obtient f (a, b, c) = ab + c
f (a, b) = a.(a + b) en utilisant l’axiome de la
complémentation a.a = 0 on obtient f (a, b) = ab.
f (a, b, c) = (a + bc)ab = aab + abbc = ab + abc = ab en
utilisant successivement la loi d’idempotence et la loi
d’absorption.
Cours d’électronique numérique
Algèbre de Boole
Minimisation de Fonctions
Exemples
Cours d’électronique numérique
Algèbre de Boole
Minimisation de Fonctions
Minimisation de Fonctions
Minimisation de Fonctions
Exemples
Cours d’électronique numérique
Algèbre de Boole
Minimisation de Fonctions
Minimisation de Fonctions
Exemples
Cours d’électronique numérique
Codage
Codage
Codage
Cours d’électronique numérique
Codage
Codage
Conversion binaire-décimal
Nombre Binaire 1 0 1 1 0
Position du bit 4 3 2 1 0
Nombre Décimal 24 0 22 21 0
= 16 + 0 + 4 + 2 + 0 = 22
Cours d’électronique numérique
Codage
Conversion décimal-binaire
Codage Hexadécimal
Codage Hexadécimal
Codage Hexadécimal
Conversion Hexadécimal-Décimal
Conversion Décimal-Hexadécimal
Conversion Hexadécimal-Binaire
Conversion Binaire-Hexadécimal
Notations
Code de Gray
Code ASCII
ASCII
Conception
Conception
Cours d’électronique numérique
Introduction à VHDL
VHDL
VHDL - RTL
VHDL - Base
3 blocs de base:
Les bibliothèques
L’entité : Décrit l’interfaçage du composant
L’architecture : Décrit le fonctionnement du composant
Cours d’électronique numérique
Introduction à VHDL
VHDL - Bibliothèque
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
Cours d’électronique numérique
Introduction à VHDL
VHDL - Entité
entity MON-ET is
port( A : in std_logic;
B : in std_logic;
S : out std_logic);
end entity MON-ET;
Cours d’électronique numérique
Introduction à VHDL
VHDL - L’architecture
S = A et B
architecture FLOT of MON-ET is
begin
S <= A and B;
end architecture FLOT;
Cours d’électronique numérique
Introduction à VHDL
flot de conception
De la description au circuit
Décrit en VHDL le circuit
Simule le circuit
Synthétise le circuit
Placement-Routage du circuit
Réalise un masque
Cuisson du circuit
Cours d’électronique numérique
Introduction à VHDL
A la conception d’ASIC
A la programmation de FPGA (cours SSN)
A la vérification fonctionnelle de circuits numériques.
Bibliothèques
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity
entity NOM_DE_L_ENTITE is
port ( Description des signaux d’entrées /sorties …);
end NOM_DE_L_ENTITE;
• Exemple :
entity sequencement is
port ( •Remarque : Après la
A : in std_logic; dernière définition de
signal de l’instruction
B : in std_logic; port il ne faut jamais
Q : out std_logic_vector(1 downto 0) mettre de point virgule.
);
end SEQUENCEMENT;
Le TYPE utilisé pour les signaux d’entrées / sorties est :
• le std_logic pour un signal.
• le std_logic_vector pour un bus composé de plusieurs
signaux.
Logique Combinatoire
Logique Combinatoire
Cours d’électronique numérique
Logique Combinatoire
Logique Combinatoire
Logique Combinatoire
Définition :
Un circuit électronique est dit combinatoire si ses sorties sont
déterminées par la combinaison de ses variables d’entrées et ceci
après un temps fini. L’état d’un système est donc défini par la
combinaison des variables e1 , . . . , ei , . . . , en .
Cours d’électronique numérique
Logique Combinatoire
Logique Combinatoire
e1
ei Circuit s1
Combinatoire
en si
tp sn
Cours d’électronique numérique
Logique Combinatoire
a+a=0 ?
Cours d’électronique numérique
Logique Combinatoire
Inverseur : s = a
1
Cours d’électronique numérique
Logique Combinatoire
&
NON-ET (NAND) : s = a.b
&
Cours d’électronique numérique
Logique Combinatoire
1
NON-OU (NOR) : s = a + b
1
Cours d’électronique numérique
Logique Combinatoire
1
NON-OU-EXCLUSIF : s = a ⊕ b = ab + ab = ab + ab
1
Cours d’électronique numérique
Logique Combinatoire
Plan du Cours
Introduction
Algèbre de Boole et Logique Combinatoire
Fonctions Combinatoires Complexes
Cours d’électronique numérique
Logique Combinatoire
introduction
Fonction Egalité
Egalité 2 bits
a b s
0 0 1
0 1 0 s =a⊕b
1 0 0
1 1 1
Cours d’électronique numérique
Logique Combinatoire
Egalité - VHDL
entity egalite is
port( a,b : in std_logic;
s : out std_logic);
end entity egalite;
Fonction Egalité
01 1
11 1
10 1
s = (a1 ⊕ b1 )(a0 ⊕ b0 )
Egalité de 2 mots de n bits :
s = (an−1 ⊕ bn−1 )(an−2 ⊕ bn−2 )(...)(a1 ⊕ b1 )(a0 ⊕ b0 )
Cours d’électronique numérique
Logique Combinatoire
Egalité - VHDL
entity egalite is
port( a,b : in std_logic_vector(1 downto 0);
s : out std_logic);
end entity egalite;
Egalité - VHDL
VHDL apres l’UE LE201
Ce que peut faire VHDL
Hors du cadre du cours LE201
entity egalite is
port( a,b : in std_logic_vector(1 downto 0);
s : out std_logic);
end entity egalite;
Multiplexeurs
Multiplexeur = Aiguillage
Une commande choisie l’entrée
Entrée choisie recopiée sur la sortie
Partie Commande : p bits
Partie Donnée : 2p = n entrées, 1 sortie
Cours d’électronique numérique
Logique Combinatoire
a 0 0 1 1
b 0 1 1 0
sel
0 1 1
1 1 1
s = sel .a + sel .b
Cours d’électronique numérique
Logique Combinatoire
Multiplexeurs 2 vers 1
Schéma
sel
a
s
b
Cours d’électronique numérique
Logique Combinatoire
VHDL - mux2v1
entity m2v1 is
port(a,b,sel : in std_logic;
s: out std_logic);
end entity m2v1;
VHDL - mux2v1
entity m2v1 is
port(a,b,sel : in std_logic;
s: out std_logic);
end entity m2v1;
Multiplexeurs 4 vers 1
4 données et 2 commandes
26 = 64 lignes dans la table de vérité
Toutes les lignes ne sont pas intéressantes
Une commande ⇒ Une variable pertinente
Cours d’électronique numérique
Logique Combinatoire
Multiplexeurs 4 vers 1
sel1 sel0 s
0 0 a
0 1 b
1 0 c
1 1 d
s = sel 1.sel 0.a + sel 1.sel 0.b + sel 1.sel 0.c + sel 1.sel 0.d
Cours d’électronique numérique
Logique Combinatoire
Multiplexeurs 4 vers 1
sel0
sel1
a
s
b
d
Cours d’électronique numérique
Logique Combinatoire
Multiplexeurs
Démultiplexeurs
Inverse du Multiplexeurs
1 données, p commandes, 2p = n sorties
Démultiplexeur 1 vers 2
sel a s1 s0
0 0 0 0
0 1 0 1
1 0 0 0
1 1 1 0
Cours d’électronique numérique
Logique Combinatoire
Démultiplexeurs
sel a s1 s0
0 0 0 0
0 1 0 1
1 0 0 0
1 1 1 0
s0 = sel.a et s1 = sel .a
Cours d’électronique numérique
Logique Combinatoire
Démultiplexeurs
sel
a s0
s1
Cours d’électronique numérique
Logique Combinatoire
Démultiplexeurs - VHDL
entity demux is
port ( sel,a : in std_logic;
s0,s1 : out std_logic);
end entity demux;
Décodeurs
Décodeur
b
a
s0
s1
s2
s3
Cours d’électronique numérique
Logique Combinatoire
Décodeur
a0 0
{
1
2
3
Nombre a1 4
5
Décodeur 6
Binaire 4 vers 16 7
a a2 8
9
A
B
a3 C
D
E
F
Cours d’électronique numérique
Logique Combinatoire
Encodeurs
Encodeurs
s0
s1 a
s2
s3
b
Cours d’électronique numérique
Logique Combinatoire
Nombres Signés
Complément à 2
Complément à 2
Codage de 7 :
b3 b2 b1 b0 signe valeur décimale
0 1 1 1 + 7
Codage de -7 :
b3 b2 b1 b0 signe valeur décimale
1 0 0 1 - -7
Cours d’électronique numérique
Logique Combinatoire
Complément à 2
b3 b2 b1 b0 Commentaires
0 1 0 1 Valeur Absolue
1 0 1 0 Complément à 1
+ 1 Ajout de 1
1 0 1 1 Complément à 2
Cours d’électronique numérique
Logique Combinatoire
Complément à 2
Avantage :
Unicité du 0
Utilisation du même opérateur pour l’addition et la
soustraction
Modulo : 9H - 4H = (9H + CH )modulo(10H ) = 5H
Exemples en binaire.
Cours d’électronique numérique
Logique Combinatoire
Complément à 2
Complément à 2
Si P positif on le code
P = ii =0
P =N−1
bi ∗ 2i
+ ii =0
N−1
P =N−2
P = bN−1 ∗ 2 bi ∗ 2i avec bN−1 = 0
Si P négatif on le code
P = −(2N − ii =0
P =N−1
bi ∗ 2i )
− ii =0
N N−1 P =N−2
P = −(2 − bN−1 ∗ 2 bi ∗ 2i ) avec bN−1 = 1
N N−1 Pi =N−2 i
P = −(2 − 2 − i =0 bi ∗ 2 )
P = −(2N−1 (2 − 1) − ii =0
P =N−2
bi ∗ 2i )
N−1 Pi =N−2 i
P = −(2 − i =0 bi ∗ 2 )
P = −bN−1 ∗ 2N−1 + ii =0
P =N−2
bi ∗ 2i avec bN−1 = 1
Nombre en complément à 2
P = −bN−1 ∗ 2N−1 + ii =0
P =N−2
bi ∗ 2i
Cours d’électronique numérique
Logique Combinatoire
Demi-Additionneur
Demi-Additionneur
a
s
b
c
Cours d’électronique numérique
Logique Combinatoire
Demi-Additionneur
entity demi-add is
port( a,b : in std_logic;
s,c : out std_logic);
end entity demi-add;
architecture flot of demi-add is
begin
s<= a xor b;
c<= a and b;
end architecture flot;
Cours d’électronique numérique
Logique Combinatoire
Additionneur 1 bit
Additionneur 1 bit
ai si
Demi Demi
bi Additionneur Additionneur ci+1
ci
Cours d’électronique numérique
Logique Combinatoire
Additionneur 1 bit
entity add1 is
port( a,b,cin : in std_logic;
s,cout : out std_logic);
end entity add1;
architecture struct of add1 is
signal stemp,ctemp1,ctemp2 : std_logic;
begin
demi-add1 : entity work.demi-add(flot)
port map(a,b,stemp,ctemp1);
demi-add2 : entity work.demi-add(flot)
port map(stemp,cin,s,ctemp2);
cout <= ctemp1 or ctemp2
end architecture struct;
Cours d’électronique numérique
Logique Combinatoire
Additionneur 1 bit
entity add1 is
port( a,b,cin : in std_logic;
s,cout : out std_logic);
end entity add1;
architecture flot of add1 is
begin
s<= a xor b xor cin;
cout<= (a and b) or (a and cin)
or (b and cin);
end architecture flot;
Cours d’électronique numérique
Logique Combinatoire
Additionneur 1 bit
entity add1 is
port( a,b : in std_logic;
s : out std_logic);
end entity add1;
architecture comport of add1 is
begin
s<= a + b;
end architecture comport;
Cours d’électronique numérique
Logique Combinatoire
Additionneur 4 bits
s0 s1 s2 s3
a0 a1 a2 a3
b0 b1 b2 b3
c0 c1 c2 c3 c4
Cours d’électronique numérique
Logique Combinatoire
ENTITY add4 IS
port (a,b : in std_logic_vector(3 downto 0);
cin : in std_logic;
s : out std_logic_vector(3 downto 0);
cout : out std_logic);
END ENTITY add4;
Cours d’électronique numérique
Logique Combinatoire
Multiplieur
a0
p1 p0
0
a1 ci
ai si
bi
ci+1
p2
ci ci
ai si
a2
ai si
bi bi
ci+1 ci+1
p3
ci ci
ai si ai si
bi bi
0
ci+1 ci+1
p5 p4
ci
ai si
bi
ci+1
b1
b2
b0
Cours d’électronique numérique
Logique Combinatoire
library ieee;
use ieee.std_logic_1164.all;
entity mon-et is
port(a,b : in std_logic;
s : out std_logic);
end entity mon-et;
library ieee;
use ieee.std_logic_1164.all;
entity conversion is
port(a : in std_logic_vector(5 downto 0);
s,s2,s3 : out std_logic_vector(11 downto 0));
end entity conversion;
Plan du Cours
Introduction
Algèbre de Boole et Logique Combinatoire
Fonctions Combinatoires Complexes
Eléments séquentiels de base : Les Bascules
Cours d’électronique numérique
Logique Séquentielle
Eléments de base
Régulation du flux des données
Fonction Mémorisation
Eléments Asynchrones
Eléments Synchrones
Cours d’électronique numérique
Logique Séquentielle
Eléments Asynchrones
Le bascule RS
0
0
0
0
Cours d’électronique numérique
Logique Séquentielle
Le bascule RS
R S Q Q
0 0 Q Q
Table de Vérité 0 1 1 0
1 0 0 1
1 1 Etat Interdit
Elément Asynchrone
Base de toutes les bascules
Cours d’électronique numérique
Logique Séquentielle
La bascule D
1 1
0
1
0
Cours d’électronique numérique
Logique Séquentielle
La bascule D
D Q
Q
Cours d’électronique numérique
Logique Séquentielle
Eléments Synchrone
Bascules Synchrones
Cours d’électronique numérique
Logique Séquentielle
D
0
Q
0 Q
0
L
Bascule D Latch
Latch (verrou)
1 : transparent
0 : mémoire
L
L
L
Cours d’électronique numérique
Logique Séquentielle
1 1 1 1 1
D Q D Q D Q D Q
1 CK Q CK Q CK Q CK Q
Cours d’électronique numérique
Logique Séquentielle
D
S
S
Q
H
R
Q
R
Maitre Esclave
Architecture Maı̂tre-Esclave
Cours d’électronique numérique
Logique Séquentielle
D Q
CK Q
Cours d’électronique numérique
Logique Séquentielle
Table de Vérité
Front Montant
D H Q Q
Front Descendant X 0 Q Q
0 ↓ 0 1
1 ↓ 1 0
Cours d’électronique numérique
Logique Séquentielle
1 0 1 0
D Q D Q D Q D Q
1 -> 0 CK Q Q Q Q
CK CK CK
Cours d’électronique numérique
Logique Séquentielle
CK
D STABLE
ts th
ts est le temps de prépositionement (setup en anglais)
th est le temps de maintien (hold en anglais)
entity bascule is
port ( d, clk : in std_logic;
q : out std_logic );
end entity bascule;
Syntaxe:
[Nom_du_process :]
process(Liste_de_sensibilité_nom_des_signaux)
Begin
-- instructions du process
end process [Nom_du_process] ;
Règles de fonctionnement d’un
process
• L’exécution d’un process a lieu à chaque
changement d’état d’un signal de la liste
de sensibilité.
• Les instructions du process s’exécutent
séquentiellement.
• Les changements d’état des signaux par
les instructions du process sont pris en
compte à la fin du process.
Instruction if
Syntaxe :
if condition then
instructions
[elsif condition then instructions]
[else instructions]
end if ;
Exemple:
if (RESET=’1’) then
SORTIE <= ”0000”;
Elsif (Clk=‘1’ and Clk’event) then
if (LOAD = ‘1’) then
SORTIE <= ENTREE;
Else
SORTIE <= D;
end if;
end if ;
Cours d’électronique numérique
Logique Séquentielle
La bascule JK
J K H Qn+1 Qn+1
0 0 ↑ Qn Qn
Front Montant 0 1 ↑ 0 1
1 0 ↑ 1 0
1 1 ↑ Qn Qn
J K H Qn+1 Qn+1
0 0 ↓ Qn Qn
Front Descendant 0 1 ↓ 0 1
1 0 ↓ 1 0
1 1 ↓ Qn Qn
Cours d’électronique numérique
Logique Séquentielle
Symbole Bascule JK
J Q
CK
K Q
Cours d’électronique numérique
Logique Séquentielle
La bascule T
T H Qn+1 Qn+1
Front Montant 0 ↑ Qn Qn
1 ↑ Qn Qn
T H Qn+1 Qn+1
Front Descendant 0 ↓ Qn Qn
1 ↓ Qn Qn
Cours d’électronique numérique
Logique Séquentielle
Symbole Bascule JK
T Q
CK Q
Cours d’électronique numérique
Logique Séquentielle
Entrées Asynchrones
Entrées Asynchrones
RAU
D Q
CK D H RAU RAZ
Q Qn+1 Qn+1
X X 1 0 1 0
RAZ
X X 0 1 0 1
O ↑ 0 0 0 1
1 ↑ 0 0 1 0
Combinaison RAU=RAZ=1 interdite
Entrées RAU et RAZ souvent actives à 0
Cours d’électronique numérique
Logique Séquentielle
Entrées Asynchrones
RAU
D Q
CK Q
RAZ
Bascule D avec des entrées RAU(Set) et RAZ(Reset) asynchrones
process(Set,Reset,Clk)
begin
if Reset = ‘1’ then
Q <= ‘0’;
elsif Set = ‘1’ then
Q <= ‘1’;
elsif (Clk=‘1’ and Clk’event) then
Q <= D;
end if;
end process;
End architecture;
Cours d’électronique numérique
Logique Séquentielle
Et après ?
Les registres
Cours d’électronique numérique
Logique Séquentielle
Les registres
Registre bascules D
Registre à Décalage
D Q D Q D Q D Q
CK Q CK Q CK Q CK Q
Cours d’électronique numérique
Logique Séquentielle
Registre bascules D
Registre à chargement parallèle
D3 D2 D1 D0
D Q D Q D Q D Q
CK Q CK Q CK Q CK Q
Q3 Q2 Q1 Q0
Cours d’électronique numérique
Logique Séquentielle
Registre bascules JK
J Q J Q J Q J Q
CK CK CK CK
K Q K Q K Q K Q
Cours d’électronique numérique
Logique Séquentielle
Vhdl : registre
entity reg8generic is
generic (N : natural := 8);
port ( d :in std_logic_vector(N-1 downto 0);
clk : in std_logic;
q: out std_logic_vector(N-1 downto 0) );
end entity reg8generic;
Les monostables
Cours d’électronique numérique
Logique Séquentielle
Monostable simple
Monostable simple
T
Q
τ=RC
C
R
Cours d’électronique numérique
Logique Séquentielle
Monostable simple
Monostable redéclencheable
Monostable Simple : Durée Etat Quasi Stable Fixe
T
τ=f(RC) τ=f(RC)
2τ=2f(RC)
Cours d’électronique numérique
Logique Séquentielle
Boole = 2 états : 0 et 1
Connexion de 2 composants sur le même fil ?
Première Solution : Court Circuit PERDU
Seconde Solution : multiplexeur encombrant
Troisième Solution : Composant d’interface La porte 3 états
GAGNE
Cours d’électronique numérique
Logique Séquentielle
Vhdl : registre
entity reg8generic is
generic (N : natural := 8);
port ( d :in std_logic_vector(N-1 downto 0);
en, clk : in std_logic;
q: out std_logic_vector(N-1 downto 0) );
end entity reg8generic;
Systèmes Séquentiels
Cours d’électronique numérique
Logique Séquentielle
Systèmes Séquentiels
Les mémoires
Les mémoires
D Q
CK Q
Cours d’électronique numérique
Logique Séquentielle
Les mémoires
E E
D Q D Q
CK Q CK Q
2 Donnée
Donnée 2 Sortante
Entrante
E E
D Q D Q
CK Q CK Q
Horloge
Cours d’électronique numérique
Logique Séquentielle
Les Compteurs
0000
Un système séquentiel plus complexe 0001
un compteur 0010
Un compteur est un circuit dont la valeur des sorties est 0011
directement liée au nombre d'impulsions appliquées sur son
entrée d'horloge 0100
À base de bascules (souvent bascules D) 0101
0110
Suite simple des nombres binaires :
0111
Q0 change à chaque fois 1000
(à chaque top d’horloge) 1001
1010
Q1 change une fois sur deux
1011
(tous les 2 tops d’horloge)
1100
Q2 change une fois sur quatre (tous les 4 tops) 1101
Q3 change une fois sur huit (tous les 8 tops) 1110
1111
LE201 Electronique numérique Les compteurs
D0 Q0 D1 Q1
H Q0 Q1
TH
Diviseur de fréquence par 4 H
Q0 1 0 1 0 1 0 1 0
Q1 1 1 0 0 1 1 0 0
T1=4TH
Décompteur! problème
D0 Q0 D1 Q1 D2 Q2 D2 Q2
H Q0 Q1 Q2 Q2
Pour 4 bits : H
Q0 1 0 1 0 1 0 1 0
compteur!
Q1 0 1 1 0 0 1 1 0
Q2 0 0 0 1 1 1 1 0
Q3 0 0 0 0 0 0 0 1
LE201 Electronique numérique Les compteurs
Diviseurs de fréquence :
à la sortie de la 1ère bascule : diviseur par 2
à la sortie de la Nième bascule : diviseur par 2N
LE201 Electronique numérique Les compteurs
1. Combien de bascules ?
2N1<P<2N2 on prend N2 bascules
2. Comment s’arrêter à P ?
remise à zéro à P-1
utilisation des entrées asynchrones (Reset, Set…)
000
001 États indésirables:
010 101
011 110 Reset=1
100 111 Reset=Q2.(Q1+Q0)
000
LE201 Electronique numérique Les compteurs
Compteurs asynchrones
Toutes les bascules n’ont pas la même horloge
LE201 Electronique numérique Les compteurs
LE201 Electronique numérique Les compteurs
Qn……Q1Q0 Qn+……Q1+Q0+
…………….. ……………..
0…………10 0…………11
3 - Calculer l'expression des entrées D des bascules
Di = Qi+ = f(Qj)
LE201 Electronique numérique Les compteurs
D0 = Q0
Q2
0 1 0 0 1
1 1 0 0 1
Q1 Q0 + + +
Q2 Q2 Q1 Q0
D1
D1 = Q1 ⋅ Q0 + Q1 ⋅ Q0
Q1Q0
Q2
00 01 11 10
0 0 1 0 1
1 0 1 0 1
D1 = Q0 ⊕ Q1
D2
D2 = Q2 ⋅ Q1Q0 + Q2 ⋅ Q1 + Q2 ⋅ Q0
Q1Q0
Q2
00 01 11 10
0 0 0 1 0
( )
D2 = Q1 ⋅ Q0 Q2 + (Q1 ⋅ Q0 )Q2
D2 = Q2 ⊕ (Q1 ⋅ Q0 )
1 1 1 0 1
LE201 Electronique numérique Les compteurs
D0 = Q0
D1 = Q0 ⊕ Q1
D2 = Q2 ⊕ (Q1 ⋅ Q0 )
Q2 Q1 Q0
Compteur modulo 2n
D0 = Q0 Clk
Q0
Di = Qi ⊕ (Qi −1 ⋅ ⋅ ⋅ ⋅ ⋅ Q0 ),i > 1 Q1
Q2
(Q2Q1Q0)
LE201 Electronique numérique Les compteurs
2. Table de vérité
Q2 Q1 Q0 Q2+ Q1+ Q0+
LE201 Electronique numérique Les compteurs
D0=Q0
D1=Q2.(Q1 + Q0)
D2=Q1.Q0 + Q2Q0
États indésirables ?
110Æ ?
111Æ ?
On vérifie que les états suivants sont dans la boucle de
comptage
OU on indique ces états dans la table de vérité en
choisissant les états suivants (à 000 souvent) et on en
tient compte dans les équations
LE201 Electronique numérique Les compteurs
Avec cette méthode on peut réaliser:
Des compteurs décrivant d’autres cycles que l’énumération binaire
-décompteur
-code de Gray
-cycles quelconques……
Compteurs programmables :
En ajoutant des entrées asynchrones, on peut créer
-chargement parallèle du compteur
-commande de validation / inhibition du comptage
-programmation du sens du comptage
Cours d’électronique numérique
Logique Séquentielle
Le contrôle
Registre
Registre
S
Additionneur Multiplieur
B
Sn = (An−1 + Bn−1 ) ∗ Bn
Cours d’électronique numérique
Logique Séquentielle
Les Aléas
D Q S
CK Q
Cours d’électronique numérique
Le pipeline
Pipeline
Cours d’électronique numérique
Le pipeline
Pipeline
Principe :
Découper l’opérateur en plusieurs étages isolés les uns des autres.
C’est le signal d’horloge qui autorise les transfert des données d’un
étage à l’autre. Cette technique permet d’accélérer la cadence de
production des résultats.
Latence
La latence (durée d’exécution totale) de l’opérateur est supérieure
d’au moins ǫ à celle d’un opérateur non pipelinée. Si la durée
maximale d’un étage de l’opérateur pipeliné est de tmax et qu’il y a
n étages, alors la latence de l’opérateur est T = n ∗ tC LK avec
tc lk > tm ax + th + ts avec ts et th les temps de prépositionnement
et de maintien des bascules.
Avant le premier top d’horloge
a1(0)
b1(0)
c10
H
Après le premier top d’horloge
Cout1=c11
s0
Après le deuxième top d’horloge H
a1(2) a1(3)
b1(2) b1(3)
Cout2=c12
s1
s0
Après le 3ème top d’horloge H
a1(3)
b1(3)
Cout3=c13
s2
s1
s0
Après le 4ème top d’horloge H
cout
s3
s2
s1
s0
Après le 5ème top d’horloge H
cout
s2 s3
s1
s0
a1(0)
b1(0)
c10
H
Après le premier top d’horloge
a2(0)
b2(0)
c20
Cout1=c11
s0
Après le deuxième top d’horloge H
a3(1) a3(2) a3(3)
b3(1) b3(2) b3(3)
a2(1) a2(2) a1(2) a2(3) a1(3)
b2(1) b2(2) b1(2) b2(3) b1(3)
a2(0)
b2(0)
c20
Cout1=c21 Cout2=c12
s20 s11
s10
Après le 3ème top d’horloge H
a3(1) a3(2) a3(3)
b3(1) b3(2) b3(3)
a2(2) a2(3) a1(3)
b2(2) b2(3) b1(3)
a3(3)
b3(3)
c2out
Cout3=c33
s32 s23
s31 s22 c1out
s30 s21 s12 s13
s20 s11
s10
c3out
s33
s32 s23 c2out
s31 s22
s30 s21
s20
s33 c3out
s32
s31
s30
Références
Vocabulaire
Intégration ?
Technologie - 1
B S
Vss = 0V
Les Transistors
Cours d’électronique numérique
Technologie de circuits numériques
Technologie - 2
La logique Bi-polaire
Famille originelle des transistors
Bipolaire=Rapidité
Bipolaire=Consommation
Cours d’électronique numérique
Technologie de circuits numériques
Bipolaire
R1 R2 R4
A
B S
R3
Vss = 0V
Cours d’électronique numérique
Technologie de circuits numériques
T.T.L 1
T.T.L 2
T.T.L 3
Bipolaire
Maintenant et Demain
AC BCT
HC
ALS Bipolar
ABT
FCT F
CMOS
GTL FB+ AS BiCMOS
LVC CD4000
LVT
CBT LV LS
AHC ALVC S
CBTLV
TTL
AV C ALVT
GTLP
Little Logic
AUC
Introduction Growth Maturity D ecline Obsolescence
Cours d’électronique numérique
Technologie de circuits numériques
CMOS
Avantage du CMOS
Faible Coût
Facilité de fabrication
Petite Dimension, jusqu’à un rapport 50 par rapport au
bipolaire
Pas d’élément résistif
Faible consommation originale
Cours d’électronique numérique
Technologie de circuits numériques
le PMOS le NMOS
Mise en oeuvre de charges mobiles de polarité complémentaire
=⇒ ComplementaryMOS
NMOS conduit si Vg > Vs de plus de VT
PMOS conduit si Vg < Vs de plus de VT
Cours d’électronique numérique
Technologie de circuits numériques
1
Vdd
Vss
Cours d’électronique numérique
Technologie de circuits numériques
Vdd Vdd
1 0 0 1
Vss Vss
Cours d’électronique numérique
Technologie de circuits numériques
Vdd
Vout
0 Vin Vdd
Cours d’électronique numérique
Technologie de circuits numériques
Imax
Ic
0 Vdd
Cours d’électronique numérique
Technologie de circuits numériques
Vdd = 5V
out
in
Vss = 0v
&
Cours d’électronique numérique
Technologie de circuits numériques
Vdd
PMOS Parallèle
B
NMOS Série
Vss
Cours d’électronique numérique
Technologie de circuits numériques
1
Cours d’électronique numérique
Technologie de circuits numériques
Vdd
PMOS Série
B
S
NMOS Parallèle
Vss
Cours d’électronique numérique
Technologie de circuits numériques
CMOS - limites ?
Famille CMOS
Plusieurs familles CMOS
74HC : Compatibilité TTL
Cours d’électronique numérique
Technologie de circuits numériques
Famille CMOS
Cours d’électronique numérique
Technologie de circuits numériques
Famille CMOS
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
Références
Michel Hubin -
http://perso.wanadoo.fr/michel.hubin/physique/elec/chap can
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
Communication
Communication
Communication
Grandeur
Grandeur
Physique
Electrique
Capteur
CAN N bits
Système de Traitement
Numérique
r
eu
nn
M bits
tio
CNA
Ac
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
CAN : Définitions
CAN : Définitions
CAN : Définitions
Signal continu
Signal échantillonné
Signal quantifié
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
CAN : Caractéristiques
CAN : Types
La conversion à rampe
Vin
-
Compteur
+ Raz
N
Horloge
Controle
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
La conversion à rampe
Controle
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
Vin
R -
Vref -
+ Compteur
+ Raz
Controle
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
Vin
-
Registre
+
Horloge N
CNA
Controle
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
La conversion Flash
Vref Vin
R1
-
+
S1
R2
-
Codeur
+
S0
R3
-
S2
+
R4
-
+
R4
-
+
R4
-
+
R4
-
+
R4
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
La conversion Flash
Flash = Parallèle
Principe : Comparer Vin à un ensemble de tensions prédéfinie
Utiliser un codeur pour générer le nombre binaire
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
3k - C7
7V +
Codeur
1k - C6
6V +
1k - C5
5V +
S1
1k - C4 S0
4V +
S2
1k - C3
3V +
1k
- C2
2V +
1k - C1
1V +
1k
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
Vi n C1 C2 C3 C4 C5 C6 C7 S2 S1 S0
<1 1 1 1 1 1 1 1 0 0 0
>1, <2 0 1 1 1 1 1 1 0 0 1
>2, <3 0 0 1 1 1 1 1 0 1 0
>3, <4 0 0 0 1 1 1 1 0 1 1
>4, <5 0 0 0 0 1 1 1 1 0 0
>5, <6 0 0 0 0 0 1 1 1 0 1
>6, <7 0 0 0 0 0 0 1 1 1 0
>7 0 0 0 0 0 0 0 1 1 1
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
La conversion Sigma-Delta
CAN : Comparaison
CNA : Types
2R
a1
4R a2
Vref 8R -
a3
+
N
2 R
aN
Cours d’électronique numérique
Conversion Analogique-Numérique - Numérique-Analogique
CNA : Comparaison
http://www.comelec.enst.fr/tpsp/eni/poly/enipa1.html#enich3.html
Bascules D
http://www.premiumorange.com/daniel.robert9/Digit/Digit_5T.html