Cours Algebre de Bool
Cours Algebre de Bool
Cours Algebre de Bool
Aur´lie Gensbittele
Enseignante-Chercheuse
Bertrand Granado
Enseignant-Chercheur
Hiver 2007
Cours d’´lectronique num´riqueee
Plan du Cours
Introduction
Alg`bre de Boole et Codagee
Introduction au vhdl
Fonctions Combinatoire Simples
Fonctions Combinatoires Complexes
Fonctions S´quentielles Simplese
Fonctions S´quentielles Complexese
Pipeline
Technologie des circuits num´riquese
Les Convertisseurs Analogiques-Num´riques ete
Num´riques-Analogiquese
Cours d’´lectronique num´riqueee
Cours A. Gensbittel
TD P. Ravary - H. Kokabi
TP P. Ravary - H. Kokabi
Cours d’´lectronique num´riqueee
Polycopi´ de TDe
A avoir avant le TD !
Cours d’´lectronique num´riqueee
Introduction
Plan du Cours
Introduction
Alg`bre de Boole et Logique Combinatoiree
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
R´f´rencesee
Alg`bre de Boolee
Alg`bre de Boolee
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Mister G. Boole
1815 − 1864
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
La g´n`see e
exemples
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Alg`bre de Boole Be
B =< E , +, .,− , 0, 1 >
+, . sont des lois de composition interne
−est la loi de compl´mentatione
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
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´riqueee
Alg`bre de Boolee
Axiomes de bases - 1
Commutativit´e
∀(a, b) ∈ E 2
a+b =b+a
a.b = b.a
Distributivit´e
∀(a, b, c) ∈ E 3
a + (b.c) = (a + b).(a + c)
a.(b + c) = (a.b) + (a.c)
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Axiomes de bases - 2
El´ments Neutree
∀a ∈ E
a+0=a
a.1 = a
Compl´mentatione
∀a ∈ E
a+a =1
a.a = 0
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Propri´t´s - 1ee
∀a ∈ E
a+1=1
a.0 = 0
Loi d’idempotence
∀a ∈ E
a+a =a
a.a = a
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Propri´t´s - 2ee
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´riqueee
Alg`bre de Boolee
Propri´t´s - 5ee
Loi d’associativit´e
∀(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´riqueee
Alg`bre de Boolee
Relation d’ordre :
Ordre Total : 0 < 1
Ordre Lexicographique : 00 < 01 < 10 < 11 Utile pour les
tables de v´rit´e e
n
n variables soit 22 fonctions possibles
3 variables → 256 fonctions possibles
4 variables → 65536 fonctions possibles
etc ...
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
La Table de V´rit´e e
Repr´sentation sous forme de tableau des valeurs de lae
fonction logique pour toutes les combinaisons de ses variables
abf
0 0 f0
0 1 f1
1 0 f2
1 1 f3
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Le Tableau de Karnaugh
Repr´sentation sous forme de matrice des valeurs de lae
fonction logique pour toutes les combinaisons de ses variables
en exploitant la propri´t´ d’adjacenceee
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´riqueee
Alg`bre de Boolee
Diagramme de Veitch
Diagramme de Venn
Arbre de d´cision binairee
Logigramme Partie technologie
Repr´sentation alg´brique Ecriture logiqueee
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Ecriture Alg´briquee
n−1
mj = ai , ai ∈ (ai , ai )˜ ˜
i =0
n−1
Mj = ai , ai ∈ (ai , ai )˜ ˜
i =0
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
mj = 1
j=0
Mj = 0
j=0
mj = Mj
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Exemples
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
directement de la table
Exemples
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Minimisation de Fonctions
Utilisation des axiomes de base et des Propri´t´s qui enee
d´coulente
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.e
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´riqueee
Alg`bre de Boolee
Minimisation de Fonctions
Exemples
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Minimisation de Fonctions
Minimisation de Fonctions
Minimisation de Fonctions
Exemples
Cours d’´lectronique num´riqueee
Alg`bre de Boolee
Minimisation de Fonctions
Minimisation de Fonctions
Exemples
Cours d’´lectronique num´riqueee
Codage
Codage
Codage
Cours d’´lectronique num´riqueee
Codage
Codage
Conversion binaire-d´cimale
Nombre Binaire 1 0 1 1 0
Position du bit 4 3 2 1 0
Nombre D´cimale 24 0 22 21 0
= 16 + 0 + 4 + 2 + 0 = 22
Cours d’´lectronique num´riqueee
Codage
Conversion d´cimal-binairee
Codage Hexad´cimale
Codage Hexad´cimale
Codage Hexad´cimale
Conversion Hexad´cimal-D´cimalee
Nombre Hexad´cimale A 2 E
Position du symbole 2 1 0
Puissance associ´ee 162 161 160
Nombre D´cimale 10 ∗ 162 +2 ∗ 161 +14 ∗ 160
= 2606
Cours d’´lectronique num´riqueee
Codage
Conversion D´cimal-Hexad´cimalee
Conversion Hexad´cimal-Binairee
Nombre Hexad´cimale E 3 B 1
Nombre Binaire 1110 0011 1011 0001
Cours d’´lectronique num´riqueee
Codage
Conversion Binaire-Hexad´cimale
Notations
Code de Gray
Code ASCII
ASCII
Conception
Conception
Cours d’´lectronique num´riqueee
Introduction a VHDL`
VHDL
VHDL - RTL
VHDL - Base
3 blocs de base:
Les biblioth`quese
L’entit´ : D´crit l’interfa¸age du composanteec
L’architecture : D´crit le fonctionnement du composante
Cours d’´lectronique num´riqueee
Introduction a VHDL`
VHDL - Biblioth`quee
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
Cours d’´lectronique num´riqueee
Introduction a VHDL`
VHDL - Entit´e
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´riqueee
Introduction a 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´riqueee
Introduction a VHDL`
flot de conception
De la description au circuit
D´crit en VHDL le circuite
Simule le circuit
Synth´tise le circuite
Placement-Routage du circuit
R´alise un masquee
Cuisson du circuit
Cours d’´lectronique num´riqueee
Introduction a VHDL`
A la conception d’ASIC
A la programmation de FPGA (cours SSN)
A la v´rification fonctionnelle de circuits num´riques.ee
Cours d’´lectronique num´riqueee
Logique Combinatoire
Logique Combinatoire
Logique Combinatoire
Cours d’´lectronique num´riqueee
Logique Combinatoire
Logique Combinatoire
Logique Combinatoire
D´finition :e
Un circuit ´lectronique est dit combinatoire si ses sorties sonte
ed´termin´es par la combinaison de ses
variables d’entr´es et ceciee
apr`s un temps fini. L’´tat d’un syst`me est donc d´fini par laeeee
combinaison des variables e1 , . . . , ei , . . . , en .
Cours d’´lectronique num´riqueee
Logique Combinatoire
Logique Combinatoire
e1
ei Circuit
s1
en Combinatoire
si
sn
tp
Cours d’´lectronique num´riqueee
Logique Combinatoire
a+a=0 ?
Cours d’´lectronique num´riqueee
Logique Combinatoire
Inverseur : s = a
1
Cours d’´lectronique num´riqueee
Logique Combinatoire
&
NON-ET (NAND) : s = a.b
&
Cours d’´lectronique num´riqueee
Logique Combinatoire
1
NON-OU (NOR) : s = a + b
1
Cours d’´lectronique num´riqueee
Logique Combinatoire
1
NON-OU-EXCLUSIF : s = a ⊕ b = ab + ab = ab + ab
1
Cours d’´lectronique num´riqueee
Logique Combinatoire
Plan du Cours
Introduction
Alg`bre de Boole et Logique Combinatoiree
Fonctions Combinatoires Complexes
Cours d’´lectronique num´riqueee
Logique Combinatoire
introduction
Fonction Egalit´e
Egalit´ 2 bitse
a b s
0 0 1
0 1 0
s =a⊕b
1 0 0
1 1 1
Cours d’´lectronique num´riqueee
Logique Combinatoire
Egalit´ - VHDLe
entity egalite is
port( a,b : in std_logic;
s : out std_logic);
end entity egalite;
Fonction Egalit´e
00 1
01 1
11 1
10 1
s = (a1 ⊕ b1 )(a0 ⊕ b0 )
Egalit´ de 2 mots de n bits :e
s = (an−1 ⊕ bn−1 )(an−2 ⊕ bn−2 )(...)(a1 ⊕ b1 )(a0 ⊕ b0 )
Cours d’´lectronique num´riqueee
Logique Combinatoire
Egalit´ - VHDLe
entity egalite is
port( a,b : in std_logic_vector(1 downto 0);
s : out std_logic);
end entity egalite;
Egalit´ - VHDLe
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´ee
Entr´e choisie recopi´e sur la sortieee
Partie Commande : p bits
Partie Donn´e : 2p = n entr´es, 1 sortieee
Cours d’´lectronique num´riqueee
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´riqueee
Logique Combinatoire
Multiplexeurs 2 vers 1
Sch´mae
sel
a
s
b
Cours d’´lectronique num´riqueee
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 commandese
26 = 64 lignes dans la table de v´rit´e e
Toutes les lignes ne sont pas int´ressantese
Une commande ⇒ Une variable pertinente
Cours d’´lectronique num´riqueee
Logique Combinatoire
Multiplexeurs 4 vers 1
sel1 sel0 s
00a
b01
c10
d11
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´riqueee
Logique Combinatoire
Multiplexeurs 4 vers 1
sel0
sel1
a
s
b
d
Cours d’´lectronique num´riqueee
Logique Combinatoire
Multiplexeurs
x et y commandes du multiplexeur
Cours d’´lectronique num´riqueee
Logique Combinatoire
D´multiplexeurse
Inverse du Multiplexeurs
1 donn´es, p commandes, 2p = n sortiese
D´multiplexeur 1 vers 2e
sel a s1 s0
0 0 0 0
0 1 0 1
1 0 0 0
1 1 1 0
Cours d’´lectronique num´riqueee
Logique Combinatoire
D´multiplexeurse
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´riqueee
Logique Combinatoire
D´multiplexeurse
sel
a s0
s1
Cours d’´lectronique num´riqueee
Logique Combinatoire
D´multiplexeurs - VHDLe
entity demux is
port ( sel,a : in std_logic;
s0,s1 : out std_logic);
end entity demux;
D´codeurse
D´codeure
b
a
s0
s1
s2
s3
Cours d’´lectronique num´riqueee
Logique Combinatoire
D´codeure
a0 0
1
{
2
3
4
Nombre a1 5
Décodeur 6
Binaire 7
4 vers 16 8
a a2 9
A
B
C
a3 D
E
F
Cours d’´lectronique num´riqueee
Logique Combinatoire
Encodeurs
Encodeurs
s0
s1 a
s2
s3
b
Cours d’´lectronique num´riqueee
Logique Combinatoire
Nombres Sign´se
Compl´ment ` 2ea
Compl´ment ` 2ea
Codage de 7 :
b3 b2 b1 b0 signe valeur d´cimalee
01 1 1 + 7
Codage de -7 :
b3 b2
10
b1 b0 signe valeur d´cimalee
0 1 - -7
Cours d’´lectronique num´riqueee
Logique Combinatoire
Compl´ment ` 2ea
b3 b2 b1 b0 Commentaires
0 1 0 1 Valeur Absolue
1 0 1 0 Compl´ment ` 1ea
+ 1 Ajout de 1
1 1 Compl´ment ` 2ea
0 1
Cours d’´lectronique num´riqueee
Logique Combinatoire
Compl´ment ` 2ea
Avantage :
Unicit´ du 0e
Utilisation du mˆme op´rateur pour l’addition et laee
soustraction
Modulo : 9H - 4H = (9H + CH )modulo(10H ) = 5H
Exemples en binaire.
Cours d’´lectronique num´riqueee
Logique Combinatoire
Compl´ment ` 2ea
Compl´ment ` 2ea
Si P positif on le code
P =N−1P = ii =0 bi ∗ 2i
P =N−2P = bN−1 ∗ 2N−1 + ii =0 bi ∗ 2i avec bN−1 = 0
Si P n´gatif on le codee
P =N−1P = −(2N − ii =0 bi ∗ 2i )
P =N−2P = −(2N − bN−1 ∗ 2N−1 − ii =0 bi ∗ 2i ) avec bN−1 = 1
P =N−2P = −(2N − 2N−1 − ii =0 bi ∗ 2i )
P =N−2P = −(2N−1 (2 − 1) − ii =0 bi ∗ 2i )
P =N−2P = −(2N−1 − ii =0 bi ∗ 2i )
P =N−2P = −bN−1 ∗ 2N−1 + ii =0 bi ∗ 2i avec bN−1 = 1
Demi-Additionneur
r = a.b
Cours d’´lectronique num´riqueee
Logique Combinatoire
Demi-Additionneur
a
s
b
c
Cours d’´lectronique num´riqueee
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´riqueee
Logique Combinatoire
Additionneur 1 bit
Additionneur 1 bit
ai si
Demi Demi
bi Additionn Additionn ci+1
eur eur
ci
Cours d’´lectronique num´riqueee
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´riqueee
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´riqueee
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´riqueee
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´riqueee
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´riqueee
Logique Combinatoire
Multiplieur
a1 ai
bi
ci+1
si
p2
ci ci
ai si
a2
ai si
bi bi
ci+1 ci+1
p3
ci
ci
ai si
ai si
bi
0 bi
ci+1
ci+1
p5 p4
ci
ai si
bi
ci+1
b0 b1 b2
Cours d’´lectronique num´riqueee
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 Combinatoiree
Fonctions Combinatoires Complexes
El´ments s´quentiels de base : Les Basculesee
Cours d’´lectronique num´riqueee
Logique S´quentiellee
El´ments de basee
R´gulation du flux des donn´esee
Fonction M´morisatione
El´ments Asynchronese
El´ments Synchronese
Cours d’´lectronique num´riqueee
Logique S´quentiellee
El´ments Asynchronese
Le bascule RS
0
0
0
0
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Le bascule RS
R S Q Q
0 0 Q Q
Table de V´rit´ 0e e 1 1 0
1 0 0 1
1 1 Etat Interdit
El´ment Asynchronee
La bascule D
1 1
0
1
0
Cours d’´lectronique num´riqueee
Logique S´quentiellee
La bascule D
D Q
Q
Cours d’´lectronique num´riqueee
Logique S´quentiellee
El´ments Synchronee
Bascules Synchrones
Cours d’´lectronique num´riqueee
Logique S´quentiellee
D
0
Q
0 Q
0
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Q
Cours d’´lectronique num´riqueee
Logique S´quentiellee
D Q
CK Q
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Table de V´rit´e e
D H Qn+1 Qn+1
0 0Qn Qn D H Qn+1 Qn+1
00 1 1 X 0 Qn Qn
Qn1 0 Qn 0 1 0 1
1 11 0 1 1 1 0
Cours d’´lectronique num´riqueee
Logique S´quentiellee
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´riqueee
Logique S´quentiellee
D
S
S
Q
H
R
Q
R
Maitre Esclave
Architecture Maˆıtre-Esclave
Cours d’´lectronique num´riqueee
Logique S´quentiellee
D Q
CK Q
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Table de V´rit´e e
Front Montant
D H Q Q
X 0 Q Q
Front Descendant 0 ↓ 0 1
1 ↓ 1 0
Cours d’´lectronique num´riqueee
Logique S´quentiellee
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´riqueee
Logique S´quentiellee
CK
D STABLE
ts th
entity bascule is
port ( d, clk : in std_logic;
q : out std_logic );
end entity bascule;
La bascule JK
J K H Qn+1 Qn+1
0 0 ↑ Qn Qn
0 1 ↑ 0 1
Front Montant
1 0 ↑ 1 0
1 1 ↑ Qn Qn
J K H Qn+1 Qn+1
0 0 ↓ Qn Qn
0 1 ↓ 0 1
Front Descendant
1 0 ↓ 1 0
1 1 ↓ Qn Qn
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Symbole Bascule JK
J Q
CK
K Q
Cours d’´lectronique num´riqueee
Logique S´quentiellee
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´riqueee
Logique S´quentiellee
Symbole Bascule JK
T Q
CK Q
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Entr´es Asynchronese
Entr´es Asynchronese
RAU
D Q
DH
CKQ RAU RAZ Qn+1 Qn+1
X X10 1 0
RAZX X01 0 1
O ↑00 0 1
1 ↑00 1 0
Combinaison RAU=RAZ=1 interdite
Entr´es Asynchronese
RAU
D Q
CK Q
RAZ
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Et apr`s ?e
Les registres
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Les registres
Registre bascules D
Registre ` D´calagea e
D Q D Q D Q D Q
CK Q CK Q CK Q CK Q
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Registre bascules D
Registre ` chargement parall`leae
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´riqueee
Logique S´quentiellee
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´riqueee
Logique S´quentiellee
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´riqueee
Logique S´quentiellee
Monostable simple
Monostable simple
τ=RC Q
C
R
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Monostable simple
Monostable red´clencheablee
τ=f(RC)τ=f(RC)
2τ=2f(RC)
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Boole = 2 ´tats : 0 et 1e
Connexion de 2 composants sur le mˆme fil ?e
Premi`re Solution : Court Circuit PERDUe
Seconde Solution : multiplexeur encombrant
Troisi`me Solution : Composant d’interface La porte 3 ´tatsee
GAGNE
Cours d’´lectronique num´riqueee
Logique S´quentiellee
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´quentielsee
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Syst`mes S´quentielsee
Les m´moirese
Les m´moirese
D Q
CK Q
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Les m´moirese
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´riqueee
Logique S´quentiellee
Les Compteurs
Le contrˆleo
Registre S Registre
Additionneur Multiplieur
B
Sn = (An−1 + Bn−1 ) ∗ Bn
Cours d’´lectronique num´riqueee
Logique S´quentiellee
Les Al´ase
D Q S
CK Q
Cours d’´lectronique num´riqueee
Le pipeline
Pipeline
Cours d’´lectronique num´riqueee
Le pipeline
Pipeline
Principe :
D´couper l’op´rateur en plusieurs ´tages isol´s les uns des autres.eeee
C’est le signal d’horloge qui autorise les transfert des donn´es d’une
´tage ` l’autre. Cette technique permet d’acc´l´rer la cadence deeaee
production des r´sultats.e
Latence
La latence (dur´e d’ex´cution totale) de l’op´rateur est sup´rieureeeee
d’au moins ǫ ` celle d’un op´rateur non pipelin´e. Si la dur´eaeee
maximale d’un ´tage de l’op´rateur pipelin´ est de tmax et qu’il y aeee
n ´tages, alors la latence de l’op´rateur est T = n ∗ tC LK avecee
tc lk > tm ax + th + ts avec ts et th les temps de pr´positionnemente
et de maintien des bascules.
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
R´f´rencesee
Vocabulaire
Int´gration ?e
Technologie - 1
B S
Vss = 0V
Les Transistors
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
Technologie - 2
La logique Bi-polaire
Famille originelle des transistors
Bipolaire=Rapidit´e
Bipolaire=Consommation
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
Bipolaire
R1 R2 R4
A
B
S
R3
Vss = 0V
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
T.T.L 1
T.T.L 2
T.T.L 3
Bipolaire
Maintenant et Demain
AC BCT
HC
ALS
ABT Bipolar
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´riqueee
Technologie de circuits num´riquese
CMOS
Avantage du CMOS
Faible Coˆtu
Facilit´ de fabricatione
Petite Dimension, jusqu’` un rapport 50 par rapport aua
bipolaire
Pas d’´l´ment r´sistifeee
Faible consommation originale
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
le PMOS le NMOS
Mise en oeuvre de charges mobiles de polarit´ compl´mentaireee
=⇒ ComplementaryMOS
NMOS conduit si Vg > Vs de plus de VT
PMOS conduit si Vg < Vs de plus de VT
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
1
Vdd
Vss
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
Vdd Vdd
1 00 1
Vss Vss
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
Vdd
Vout
0 Vin Vdd
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
Imax
Ic
0 Vdd
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
Vdd = 5V
out
in
Vss = 0v
&
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
Vdd
PMOS Parallèle
B
NMOS Série
Vss
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
1
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
Vdd
PMOS Série
B
S
NMOS Parallèle
Vss
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
CMOS - limites ?
Famille CMOS
Famille CMOS
Cours d’´lectronique num´riqueee
Technologie de circuits num´riquese
Famille CMOS
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
R´f´rencesee
Michel Hubin -
http://perso.wanadoo.fr/michel.hubin/physique/elec/chap can
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
Communication
Communication
Communication
Grandeur
Grandeur
Physique
Electrique
Capteur
CAN N bits
Système de Traitement
Numérique
eur
nn
tio CNA M bits
Ac
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
CAN : D´finitionse
CAN : D´finitionse
CAN : D´finitionse
Signal continu
Signal échantillonné
Signal quantifié
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
CAN : Caract´ristiquese
CAN : Types
La conversion ` rampea
Vin
-
Compteur
+ Raz
Horloge
Controle
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
La conversion ` rampea
Horloge N
CNA
Controle
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
Vin
R
-
Vref
-
+ Compteur
+ Raz
Controle
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
Vin
-
Registre
+
Horloge N
CNA
Controle
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
La conversion Flash
Vref Vin
R1
-
+
S1
R2
-
Codeur
+
S0
R3
- S2
R4
-
+
R4
-
+
R4
-
+
R4
-
+
R4
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
La conversion Flash
Flash = Parall`lee
Principe : Comparer Vin ` un ensemble de tensions pr´d´finieae e
Utiliser un codeur pour g´n´rer le nombre binairee e
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
3k - C7
7V +
1k -
6V +
C6
Codeur
1k - C5
5V +
S1
1k - C4 S0
4V +
S2
1k - C3
3V +
1k
- C2
2V +
1k - C1
1V +
1k
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
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´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
La conversion Sigma-Delta
CAN : Comparaison
CNA : Types
2R
a1
4R a2
Vref 8R -
a3
+
N
2R
aN
Cours d’´lectronique num´riqueee
Conversion Analogique-Num´rique - Num´rique-Analogiqueee
CNA : Comparaison
R´sistances R2Re