Cours Logique Iutbelfort
Cours Logique Iutbelfort
Cours Logique Iutbelfort
Synthèse Logique
Introduction à l’électronique numérique
Les circuits combinatoires
Les circuits séquentiels
Les mémoires et circuits logiques programmables
Eric Gavignet
1
Introduction à l’électronique
numérique
2
I – Signaux et systèmes numériques
I.1 – Définitions :
e(t)
110 101
100
t ∆t t
Bruit
e(t)
100 110 101
Seuil 1
0
t t
Il possède 10 éléments de 0 à 9.
Chiffre de poids fort Chiffre de poids faible
453 = 4. 102 + 5. 101 + 3.100
La virgule sépare les puissances positives des puissances négatives.
0 10 100 1000
Principe de comptage : 1 11 101 1001
Il possède 8 éléments de 0 à 7.
(372,4)8 = 3. 82 + 7. 81 + 2. 80 + 4. 8-1
0 10 20 100
1 11 21 101
Principe de comptage : 2 12 22 102
3 13 23 .
N chiffres Ö8N possibilités 4 14 24 .
(de 0 à 8N-1). 5 15 25 .
6 16 26 .
7 17 27 .
8
II – Les systèmes de numérotation
II.5 – Les conversions :
Binaire vers décimal : Par addition directe des poids binaires (2X).
(1C,A)16 (1101011,11)2
Hexadécimal vers décimal : Par addition directe des poids binaires (16X).
(26,4)8 (1011101,11)2
Octal vers décimal : Par addition directe des poids binaires (8X).
Les objets sont des lettres, des chiffres, des signes,…. Les symboles
sont des combinaisons de 0 et de 1.
A B C D
III.1 – Les codes pondérés : poids 8 4 2 1
0 0 0 0 0
Chaque position de chiffres correspond à un 1 0 0 0 1
poids (exemple : le code binaire naturel). 2 0 0 1 0
3 0 0 1 1
Le code D.C.B. (Décimal Codé Binaire) :
4 0 1 0 0
A chaque chiffre d’un nombre décimal (0 à 9), 5 0 1 0 1
on associe son équivalent binaire (4 bits). Il 6 0 1 1 0
correspond à la pression d’une touche. 7 0 1 1 1
421 8 1 0 0 0
9 1 0 0 1
0100 0010 0001 ≠ 110100101 = (421)10 13
A B C D
Il est à présent codé sur 8 bits et appelé ASCII étendu (256 caractères).
Le code p parmi n :
A chaque chiffre décimal on fait correspondre n bits dont p sont à 1
et n-p à 0 (nécessité d’un poids nul). 16
III – Les codes
Deux séries de poids possibles.
Le code 2 parmi 5 :
V W X Y Z V W X Y Z
poids 7 4 2 1 0 8 4 2 1 0
Codage particulier 0 1* 1 0 0 0 1* 1 0 0 0
1 0 0 0 1 1 0 0 0 1 1
2 0 0 1 0 1 0 0 1 0 1
3 0 0 1 1 0 0 0 1 1 0
4 0 1 0 0 1 0 1 0 0 1
5 0 1 0 1 0 0 1 0 1 0
6 0 1 1 0 0 0 1 1 0 0
Codage particulier 7 1 0 0 0 1 1* 0 1 0 0
8 1 0 0 1 0 1 0 0 0 1
9 1 0 1 0 0 1 0 0 1 0
20
IV – Arithmétique binaire
IV.1 – L’addition binaire :
0+0=0 1+0=1
0+1=1 1 + 1 = 0 et une retenue de 1
1 1, 0 1 1 (3,375)
+ 1 0, 1 1 0 (2,750)
1 1 0, 0 0 1 (6,125)
cpl2 = cpl1 + 1.
De 0 1111111 à 1 0000000
De +127 à - 128
0 1 0 0 1 (+9)
2 nombres positifs : + 0 0 1 0 0 (+4)
0 1 1 0 1 (+13)
0 1 0 0 1 (+9)
1 nombre positif et 1
+ 1 1 1 0 0 (-4)
nombre négatif plus petit :
1 0 0 1 0 1 (+5)
Report rejeté
0 0 1 0 0 (+4)
1 nombre positif et 1
nombre négatif plus grand :
+ 1 0 1 1 1 (-9)
0 1 1 0 1 1 (-5)
1 1 1 0 0 (-4)
+ 1 0 1 1 1 (-9)
2 nombres négatifs : 1 1 0 0 1 1 (-13)
Report rejeté 24
IV – Arithmétique binaire
IV.4 – Soustraction et complément à 2 :
Soustraction = Addition en cpl2 ( (+9) – (+4) = (+9) + (-4) )
0 1 0 0 1 (+9)
+ 1 1 1 0 0 (-4)
1 0 0 1 0 1 (+5)
Report rejeté
0 0 0 0 1 0 0 1 (+9)
+ 1 1 1 1 1 1 0 0 (-4)
1 0 0 0 0 0 1 0 1 (+5)
Report rejeté
25
IV – Arithmétique binaire
0 0 1 1 0 0 0 1 (+49)
+ 0 1 0 1 1 0 0 0 (+88)
0 1 0 0 0 1 0 0 1 (+137)
- 119
1 1 1 0 0 0 0 0 (-32)
+ 1 0 0 0 0 0 0 1 (-127)
1 0 1 1 0 0 0 0 1 (-159)
Report rejeté + 97
26
IV – Arithmétique binaire
IV.6 – La multiplication binaire :
1 0 0 1 (9)
X 1 0 1 1 (11)
1 0 0 1
1 0 0 1 .
0 0 0 0 . .
1 0 0 1 . . .
1 1 0 0 0 1 1 (99)
Multiplier par 2 = décaler à gauche.
La multiplication et le complément à 2 :
0 0 1 1 (-3) 0 0 1 1 (-3)
X 0 0 1 0 (-2) X 0 0 1 0 (+2)
0 0 0 0 0 0 0 0
0 0 1 1 . 0 0 1 1 .
0 0 1 1 0 (+6) 0 0 1 1 0 (-6)
Nombre positif Ö Garder le nombre. Signe à Ö 1 0 1 0 en cpl2
Nombre négatif Ö Prendre le cpl2. Rectifier. 27
IV – Arithmétique binaire
IV.7 – La division binaire :
0 1 1 0 D.C.B de 6 0 1 1 0 D.C.B de 6
+ 0 1 1 1 D.C.B de 7 + 0 1 1 1 D.C.B de 7
1 1 0 1 Invalide ! 1 1 0 1 invalide
+ 0 1 1 0 correction
Code inexistant Ö Correction de +6 1 0 0 1 1 D.C.B de 13
(6 valeurs inexistantes de 1010 à 1111). 28
IV – Arithmétique binaire
Position de la correction :
0 0 1 0 0 1 1 1 0 1 0 1 275
+ 0 1 1 0 0 1 0 0 0 0 0 1 641
1 0 0 0 1 0 1 1 0 1 1 0
+ 0 1 1 0
1 0 0 1 0 0 0 1 0 1 1 0 916
L’addition :
5 8 (88) 5 8 (88)
+ 2 4 (36) + 4 B (75)
7 C (124) A 3 (163)
La soustraction (par complément à 2) :
C 1 (193) A8 : 10101000 C 1
- A 8 (168) + 5 8
Ö cpl1(A8) : 01010111 Ö
1 9 (25) 1 1 9
cpl2(A8) : 01011000 = (58)
Report rejeté 29
V – Variables et fonctions binaires
V.1 – Algèbre de Boole :
31
V – Variables et fonctions binaires
Logigramme :
L’opérateur OU (OR) noté + :
A S = A+B A S
A B S=A+B ≥1
B B
0 0 0
Internationale Française
0 1 1
1 0 1 Généralisation : S = 1 si au moins une
1 1 1 des entrées est égale à 1.
A B S=A.B A S = A.B A S
&
B B
0 0 0
0 1 0
1 0 0 Généralisation : S = 1 si toutes les
1 1 1 entrées sont à 1.
32
V – Variables et fonctions binaires
L’opérateur NON (NOT) noté :
S=A S=A S
A A 1
0 1
Sigle d’inversion
1 0
A B S=A+B A S = A+B A S
≥1
0 0 1 B B
0 1 0
1 0 0 Généralisation : S = 0 si au moins une
des entrées est égale à 1.
1 1 0
33
V – Variables et fonctions binaires
L’opérateur NON ET (NAND) (ET suivi d’une porte NON) :
A B S=A.B
A S = A.B A S
0 0 1
&
B B
0 1 1
1 0 1 Généralisation : S = 0 si toutes les
1 1 0 entrées sont à 1.
A A.B
B
A.B + B.C
B.C
C
A A+B
B
(A + B).C
C
C
A A
B A.B B A.B
35
V – Variables et fonctions binaires
V.6 – Théorèmes de l’algèbre de Boole :
A+B=A.B
Le complément d’un produit logique entre plusieurs variables est égal
à la somme logique des variables complémentées :
A.B=A+B
A.B=A.B= A+B
A+B=A+B=A.B 37
V – Variables et fonctions binaires
Universalité des portes NON ET et NON OU :
A A.B A . B = A.B
A A.A =A
B
A A
Toute fonction logique peut être
représentée exclusivement à A . B = A+B
l’aide de portes NON ET ou de
portes NON OU. B
B
A B C S
0 0 0 1 Représentation identique à la table de vérité
0 0 1 0 mais selon le code Gray (adjacence des cases).
0 1 0 1
A \ BC 00 01 11 10
0 1 1 1
1 0 0 1 0 1 0 1 1
1 1 0 1 0
1 0 1 0
1 1 0 0
ABC+ABC =BC
1 1 1 1 ABC+ABC =AB
ABC+ABC =BC
Forme simplifiée : S = B C + B C + A B Ou : S = B C + B C + A C 40
V – Variables et fonctions binaires
Règles :
Ou :
41
V – Variables et fonctions binaires
Formes pratiques des tables de Karnaugh :
A\B 0 1
A B\ CD 00 01 11 10
0 00
1
01
2 variables
11
A \ BC 00 01 11 10 10
0 4 variables
1
3 variables Cases adjacentes !
A B C S
0 0 0 1 X : 0 ou 1 au choix (afin d’améliorer les
0 0 1 X regroupements).
0 1 0 1
A \ BC 00 01 11 10
0 1 1 1
1 0 0 1 0 1 X 1 1
1 1 0 1 X
1 0 1 0
1 1 0 X C
1 1 1 1 B
Forme simplifiée : S = B + C
43
Les circuits combinatoires
44
I – Les circuits de transcodage
I.1 – Les codeurs (ou encodeurs) :
Exemple : E3 E2 E1 E0 S1 S0 R
0 0 0 1 0 0 0
voie 0 E0
0 0 1 0 0 1 0
E1 S0
voie 1 0 1 0 0 1 0 0
Codeur S1
E2 1 0 0 0 1 1 0
voie 2 R
E3 0 0 0 0 0 0 1
voie 3
00 0 0 X 0 00 0 0 X 1
01 1 X X X 01 0 X X X
11 X X X X 11 X X X X
10 1 X X X 10 1 X X X
S1 = E3 + E2 S0 = E3 + E1
E3E2\ E1E0 00 01 11 10
00 1 0 X 0
01 0 X X X R = E3 E2 E1 E0
11 X X X X
10 0 X X X
46
I – Les circuits de transcodage
E0
S0 S1 R
E1
E2
E3
EI I0 I7
EI = 0 : Mode codeur.
GS = 0 et E0 = 1 : Activation (pour une mise en cascade) et codage
d’une touche (en complément à 1).
S0 0 0 0 0 0 0 1
E0
Décodeur S1 1 0 1 0 0 1 0
E1
S2
2 1 0 0 1 0 0
S3
3 1 1 1 0 0 0
Décodeur 1 parmi 16 :
G1 G2 D C B A
74154
G1 = G2 = 0 : Mode
décodeur.
Activation des sorties
à l’état bas.
50
I – Les circuits de transcodage
C BA
Décodage à plusieurs niveaux :
0
Décodeur 1 parmi 64 :
0
7
6 entrées (26 = 64) : FEDCBA
F 0 Validation 0
E 1
0 1
D 7
7
Validation Validation 0
7
7
Validation
8 décodeurs 1 parmi 8 + 1 de sélection :
FED sélectionnent un décodeur.
CBA sélectionnent une sortie sur le décodeur sélectionné.
52
I – Les circuits de transcodage
DC \ BA 00 01 11 10 DC \ BA 00 01 11 10
00 X X 0 X 00 X X 0 X
01 0 0 0 0 01 0 0 1 0
11 1 X X X 11 1 X X X
10 1 1 1 1 10 0 1 1 1
Z=D Y=ABC+DC+DA+DB
DC \ BA 00 01 11 10 DC \ BA 00 01 11 10
00 X X 0 X 00 X X 0 X
01 0 1 0 1 01 1 0 0 1
11 1 X X X 11 1 X X X
10 1 0 1 0 10 1 0 0 1
X=DAB+DAB +DBA +DBA= D+B+A W=A 53
I – Les circuits de transcodage 25 24 23 22 21 20
G
Exemples de transcodeurs : E D CB A
11 0 0 1 0 1 1 0 0 1 0 0 0 1
12 0 0 1 1 0 0 0 0 1 0 0 1 0
13 0 0 1 1 0 1 0 0 1 0 0 1 1
. . . . . . . . . . . . . . 54
I – Les circuits de transcodage
Le transcodeur D.C.B. 7 segments 7447.
55
II – Les circuits d’aiguillage
II.1 – Les multiplexeurs :
A D0 D1 S
Exemple : Le multiplexeur 2 vers 1. 0 0 0 0
D0 0 0 1 0
D1 Multiplexeur S 0 1 0 1
Sortie
0 1 1 1
Informations
1 0 0 0
A Adresse 1 0 1 1
C’est un circuit à 2N entrées d’informations, N
1 1 0 0
entrées d’adresses et une sortie.
Il redirige sur la sortie l’entrée sélectionnée à 1 1 1 1
l’aide des bits d’adresses.
A = 0 Ö S = D0 A \ D0D1 00 01 11 10
A = 1 Ö S = D1
0 0 0 1 1
S = A D0 + A D 1 1 0 1 1 0 56
II – Les circuits d’aiguillage
D0
S
D1
A D0
Le multiplexeur 4 vers 1 :
D1 Multiplexeur S
B A = 00 Ö S = D0 D2
B A = 01 Ö S = D1 D3
B A = 10 Ö S = D2
B A = 11 Ö S = D3
B A V = 1 : Multiplexeur
S = V ( B A D0 + B A D1 + B A D2 + B A D3) V=0:S=0
57
II – Les circuits d’aiguillage
D C B A S W
Le circuit intégré SN 74150 : X X X X 1 1
0 0 0 0 0 E0
E0 E1 E14 E15
0 0 0 1 0 E1
0 0 1 0 0 E2
D 0 0 1 1 0 E3
C 0 1 0 0 0 E4
74150 S
B 0 1 0 1 0 E5
A 0 1 1 0 0 E6
0 1 1 1 0 E7
1 0 0 0 0 E8
W 1 0 0 1 0 E9
1 0 1 0 0 E10
1 sortie complémentée. 1 0 1 1 0 E11
1 entrée de validation (active à 0). 1 1 0 0 0 E12
4 bits d’adresses. 1 1 0 1 0 E13
16 entrées d’informations. 1 1 1 0 0 E14
1 1 1 1 0 E15
S = 0 : Mode multiplexeur. 58
II – Les circuits d’aiguillage
Les multiplexeurs à plusieurs sorties :
Ca = 1 (Cb = 0) Ö Sn = An
A1 B1 A2 B2 Cb = 1 (Ca = 0) Ö Sn = Bn
Ca
Cb
S1 = Ca A1 + Cb B1
S2 = Ca A2 + Cb B2
Sn = Ca An + Cb Bn
S1 S2 Octet à convertir
Applications :
A D D7
0
Conversion parallèle série. B W
C
Compteur 0 à 7
59
II – Les circuits d’aiguillage
Générateur de fonctions.
On veut réaliser : X Y Z + X Y Z + X Y Z + X Y Z
Sortie du multiplexeur : W = D0 C B A + D1 C B A + D2 C B A + D3 C B A
+ D4 C B A + D5 C B A + D6 C B A + D7 C B A
0 1 1 1 0 0 1 0
Z A D0 D7
Y B W
X C
60
II – Les circuits d’aiguillage
II.2 – Les démultiplexeurs :
S1 A D S1 S2
D Démultiplex. 0 0 0 0
Information S2 0 1 1 0
Sorties 1 0 0 0
A Adresse 1 1 0 1
C’est un circuit à 1 entrée d’informations, N entrées d’adresses et 2N
sorties.
Il redirige l’entrée d’information sur l’une des sorties sélectionnée à
l’aide des bits d’adresses.
A = 0 Ö S1 = D et S2 = 0 S1 = AD
A = 1 Ö S2 = D et S1 = 0 S2 = AD
61
II – Les circuits d’aiguillage
D
S1
S2
A
S0
Le démultiplexeur 1 vers 4 :
Démux S1
B A = 00 Ö S0 = D S S2
B A = 01 Ö S1 = D S3
B A = 10 Ö S2 = D
S0 = BA D
B A = 11 Ö S3 = D
S1 = BA D
S2 = BA D B A
S3 = BA D
62
II – Les circuits d’aiguillage
Application : Liaison multiplex.
E0 R0
Adresses Adresses
E1 R1
E2 Transmission série R2
Haut débit
En-1 Rn-1
Multiplexeur Démultiplexeur
63
III – Les circuits de comparaison
III.1 – Les comparateurs :
0 A >B
1 7485 7485 A =B
0 A <B
Retenues
antérieures B0 B1 B2 B3 B4 B5 B6 B7 65
III – Les circuits de comparaison
III.2 – Les contrôleurs et générateurs de clé de parité :
a2 ST
66
a3 S2
III – Les circuits de comparaison
A SP
Le circuit intégré 74180 :
SI
Contrôleur et générateur de clé de 74180
H
parité sur 8 bits :
8 bits d’informations.
2 entrées de parité. EP
2 sorties paire/impaire. EI
Pair 1 0 1 0
Impair 1 0 0 1
Pair 0 1 0 1
Impair 0 1 1 0
Quelconque 1 1 0 0
Quelconque 0 0 1 1 67
III – Les circuits de comparaison
Fonctionnement en contrôleur et générateur de clé de parité :
{
8 SP2
SI2
74180
SP1
{ 74180
SI1
EP2
EI2
Contrôleur de
clé de parité
EP1 = 1 Générateur de
EI1 = 0 clé de parité
C
C
69
IV – Les circuits arithmétiques
IV.2 – L’additionneur complet : Exemple :
Ci-1 Ai Bi Si Ci C 2 C 1 C 0
A 2 A 1 A 0
0 0 0 0 0
+ B 2 B 1 B 0
0 0 1 1 0 C 2 S 2 S 1 S 0
0 1 0 1 0
0 1 1 0 1 L’addionneur complet additionne deux
bits Ai et Bi plus la retenue précédente
1 0 0 1 0
Ci-1 et donne une somme Si et une
1 0 1 0 1 retenue Ci.
1 1 0 0 1
1 1 1 1 1
Ci-1
Ci
Ai Add.
complet Si
Addition sur n bits : Bi 1 bit
C0 C1 C2 Cn-1 72
IV – Les circuits arithmétiques
Le circuit intégré 7483 (additionneur parallèle) :
A3A2A1A0
Addition de 2 mots de 4
bits (A et B) avec
entrées de mise en C3 7483 C-1
cascade. Sorties Retenue
précédente
S3S2S1S0 B3B2B1B0
Addition de deux octets A et B :
A7A6A5A4 A3A2A1A0
Le résultat est
C3 codé sur 9 bits
C-1
C7 7483 7483 S0 à S7 et C7.
Masse
S7S6S5S4 B7B6B5B4 S3S2S1S0 B3B2B1B0
73
IV – Les circuits arithmétiques
La retenue anticipée :
La propagation de la retenue ralentit le calcul de l’additionneur !
Ci = Ci-1 (Ai + Bi ) + Ai Bi
C2 = f (A0 , B0 , A1 , B1 , A2 , B2) A1 B1 A0 B0 A0 B0
C-1
Calcul Calcul
C1 C0
A2 B2 A1 B1 A0 B0
Un soustracteur se réalise à
partir d’un additionneur à 7483 A3A2A1A0
l’aide du complément à 2.
C3 = 1 S3S2S1S0 B3B2B1B0 C-1 = 0
rejeté
6 – 3 = 6 + (-3) = 6 + CPL2 (-3)
0 0 1 1 1 1 0 1 CPL2(-3)
C-1 = 0
0 1 1 0 +6
7483 A3A2A1A0
C3 = 1 S3S2S1S0 B3B2B1B0 C-1 = 1
rejeté
6 – 3 = 6 + (-3) = 6 + CPL1 (-3) + 1
0 0 1 1 1 1 0 0 CPL1(-3) 75
C-1 = 1
IV – Les circuits arithmétiques
0 1 1 0
L’additionneur / soustracteur :
A3 A3 A2 A2 A1 A1 A0 A0
S = A+B ou A-B selon les
états de SUB et ADD.
C3 7483 A3 A2 A1 A0 C-1
S3 S2 S1 S0 B3 B2 B1 B0
Représentation D.C.B.
7483 A3A2A1A0
Σ3Σ2Σ1Σ0 B3B2B1B0
Résultat DCB sur Σ Correcteur
X = 1 : Correction de +6
X = 0 : Correction de 0
78
IV – Les circuits arithmétiques
IV.5 – L’unité arithmétique et logique (ALU) :
Le circuit intégré 74181 :
Circuit permettant tous les calculs logiques et binaires sur 4 bits.
M = 1 Ö Logique.
M = 0 Ö Arithmétique.
79
Les circuits séquentiels
L’état des sorties dépend des entrées mais également des états
précédents du circuit.
80
I – La fonction mémoire
I.1 – Définitions :
82
II – Les types de bascules
4 types de bascules : E Ö Effacement.
I Ö Inscription.
E I Sn+1 E I Sn+1
0 0 Sn Mémoire 0 0 Sn Mémoire
0 1 1 Mise à 1 0 1 1 Mise à 1
1 0 0 Mise à 0 Mise à 0
1 0 0
1 1 1 Inscription Effacement
prioritaire 1 1 0
prioritaire
E I Sn+1 E I Sn+1
0 0 Sn Mémoire 0 0 Sn Mémoire
0 1 1 Mise à 1 0 1 1 Mise à 1
1 0 0 Mise à 0 1 0 0 Mise à 0
1 1 Sn Sans 1 1 Sn Changement
priorité prioritaire 83
II – Les types de bascules
II.1 – La bascule RS :
R
La bascule RS NOR. 1 Qn
R = 1 et S = 0 Ö Qn+1 = 0 et Q’n+1 = 1
R = 0 et S = 1 Ö Q’n+1 = 0 et Qn+1 = 1
R = 0 et S = 0 Ö Qn+1 = Qn et Q’n = Qn S 2 Q’n
R = 1 et S = 1 Ö Qn+1 = 0 et Q’n+1 = 0
- R Ö Reset, S Ö Set.
- Signaux actifs à 0 (R, S).
R S Qn+1 Q'n+1
- Sorties complémentées sauf
1 1 Qn Qn Mémoire pour R = S = 0.
Mise à 1 - Cas ambiguë si les entrées
1 0 1 0
passent de R = S = 0 à R = S = 1.
0 1 0 1 Mise à 0
0 0 1* 1 * Inscription
prioritaire 85
II – Les types de bascules
S
Chronogramme
R
(RS NOR) :
Qn
S Mem. R Mem. R Mem. S Mem.
II.2 – La bascule RSH :
En portes NOR : H = 1 Ö Bascule RS NOR.
H = 0 Ö Mémoire. H R S Qn+1 Q'n+1
R
R Qn 1 0 0 Qn Qn
1 0 1 1 0
H 1 1 0 0 1
S Q’n 1 1 1 0* 0*
S 0 X X Qn Qn
H synchronise les entrées : R et S deviennent entrées synchrones. 86
II – Les types de bascules
En portes NAND : H = 1 Ö Bascule RS NAND.
H = 0 Ö Mémoire.
H R S R S Qn+1 Q'n+1
S S
Qn 1 0 0 1 1 Qn Qn
H 1 0 1 1 0 1 0
1 1 0 0 1 0 1
R Q’n
1 1 1 0 0 1* 1*
R
0 X X 1 1 Qn Qn
R et S redeviennent actifs à 1.
H
Chronogramme
(RSH NOR) : R
S
Qn
S Mem. R Mem. S Me. S 87
II – Les types de bascules P
Entrées de forçages : S
Clear (C) et Preset (P) : Qn
Entrées asynchrones
H
(indépendantes de H).
C = 0 ; P = 1 Ö Qn+1 = 0
Q’n
P = 0 ; C = 1 Ö Qn+1 = 1 R
H R S P C Qn+1 Q'n+1 C
1 0 0 1 1 Qn Qn Mémoire
mémoire P
1 0 1 1 1 1 0 Mise à 1à 1
mise
1 1 0 1 1 0 1 Mise à 0à 0
mise S
Qn
1 1 1 1 1 1* 1* Ambiguë
ambiguë H RSH
X X X 0 1 1 0 Forçage
forçage àà 11 R Q’n
X X X 1 0 0 1 Forçage
forçage àà 00
X X X 0 0 1* 1* interdit
Interdit C
0 X X 1 1 Qn Qn mémoire
Mémoire 88
II – Les types de bascules
R
II.3 – La bascule D Latch (verrou) : R Qn
H D Qn+1
D=S S Qn
0 X Qn Mémoire
1 0 0 Mise à 0 D Qn
D
H = 1 Ö Q recopie D.
1 1 1 Mise à 1 Latch
H = 0 Ö Mémoire. H Qn
Chronogramme :
Qn
89
Mem. D Mem. D Mem. D
II – Les types de bascules
II.4 – La bascule RSH Maître Esclave :
Les bascules peuvent être mises en cascades afin de réaliser des
compteurs ou des registres à décalages (exemple de la division par 2).
R Q1 Q3
H Maître Esclave
H
Q4
S Q2
91
II – Les types de bascules
II.5 – La bascule JK :
J Qn
H Bascule 1 Bascule 2
K
Qn
S R J K H Qn+1 Q'n+1
1 1 X X 0 Qn Qn Mémoire
S
1 1 X X 1 Qn Qn Mémoire
J 1 1 0 0 Qn Qn Mémoire
JK Qn
H Edge 1 1 0 1 0 1 Mise à 0
K Qn 1 1 1 0 1 0 Mise à 1
1 1 1 1 Qn Qn Inversion
R 0 1 X X X 1 0 Forçage à 1
1 0 X X X 0 1 Forçage à 0
0 0 X X X * * Interdit
94
II – Les types de bascules
Chronogramme :
H
J
K
Qn
S
S R D H Qn+1 Q'n+1
D D Qn 1 1 X 0 Qn Qn Mémoire
Edge 1 1 X 1 Qn Qn Mémoire
H
Qn
1 1 0 0 1 Mise à 0
1 1 1 1 0 Mise à 1
R 0 1 X X 1 0 Forçage à 1
Q recopie D sur le front 1 0 X X 0 1 Forçage à 0
montant de H (mémoire
sinon). 0 0 X X * * Interdit
96
II – Les types de bascules
Chronogramme :
Qn Latch
D Mem. D Mem. D Mem. D Mem. D Mem. D Mem. D
Qn Edge
Mà1 Mà0 Mà0 Mà1 Mà0 Mà1
97
III – Les compteurs et décompteurs
III.1 – Définitions :
Un compteur par N (ou modulo N) est un système séquentiel possédant
N états stables et pouvant passer de l’un à l’autre sous l’influence d’une
impulsion.
QD
Q JK
La période des signaux est deux fois plus élevée que l’horloge. Ce
montage est appelé diviseur par 2 (de fréquence) ou compteur par 2.
99
III – Les compteurs et décompteurs
QD QC QB QA imp. Compteur binaire asynchrone modulo 16 :
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
4 bascules Ö 16 états.
0 0 1 1 3
QA passe de 1 à 0 Ö QB change d'état.
0 1 0 0 4
QB passe de 1 à 0 Ö QC change d'état.
0 1 0 1 5
QC passe de 1 à 0 Ö QD change d'état.
0 1 1 0 6
0 1 1 1 7
Toutes les bascules sont montées en
1 0 0 0 8
diviseur par 2.
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15
0 0 0 0 16 Õ Recyclage 100
III – Les compteurs et décompteurs
Structure en bascules JK actives sur front descendant :
1 1 1 1
M.S.B L.S.B
S 1 S 1 S 1 S 1
QD J QC J QB J QA J
H H H H H externe
Q K Q K Q K Q K
R R R R
1 1 1 1
H
QA %2
QB %4
QC
%8
QD
%16
Chaque bascule
introduit un retard. 101
III – Les compteurs et décompteurs
Structure en bascules D actives sur front montant :
On récupère le front montant actif pour les bascules sur les sorties
complémentées.
1 1 1 1
M.S.B L.S.B
S S S S
QD D QC D QB D QA D H externe
H H H H
Q Q Q Q
1 R 1 R 1 R 1 R
H
QA
%2
QB
%4
QC
%8
QD
%16 102
III – Les compteurs et décompteurs
Compteur binaire asynchrone :
- Bascules montées en diviseur par 2.
- Front descendant actif ÖQ reliée à H (bascule suivante).
- Front montant actif Ö Q reliée à H (bascule suivante).
- Comptage sur les sorties Q.
QC QB QA imp.
Compteur à cycle incomplet :
0 0 0 0
Il suffit de réaliser un compteur à 0 0 1 1
cycle complet (2N) et d’actionner 0 1 0 2
les RAZ asynchrones.
0 1 1 3
1 0 0 4
Exemple : Modulo 6 (0 à 5).
1 0 1 5
On détecte l’état 6 et on 1 1 0 6 Õ Remise à 0
actionne les entrées R. 1 1 1 7
0 0 0 8 Õ Recyclage
103
III – Les compteurs et décompteurs
État 6 : QCQBQA = 110 Ö On envoie QCQBQA vers les entrées R.
M.S.B 1 1
L.S.B
1
S 1 S 1 S 1
QC J QB J QA J
H H H
Q K Q K Q K
R R R
1 1 1 0
1 1 0 1
1 0 1 2 3 bascules Ö 8 états.
QA passe de 0 à 1 Ö QB change d'état.
1 0 0 3 QB passe de 0 à 1 Ö QC change d'état.
0 1 1 4
0 1 0 5 Toutes les bascules sont montées en
0 0 1 6 diviseur par 2.
0 0 0 7
1 1 1 8 Õ Recyclage
105
III – Les compteurs et décompteurs
Structure en bascules JK actives sur front descendant :
On récupère le front descendant actif pour les bascules sur les sorties
complémentées.
M.S.B 1 1 L.S.B 1
S 1 S 1 S 1
QC J J J
QB QA H externe
H H H
Q K Q K Q K
R R R
1 1 1
H
QA
%2
QB
%4
QC %8 106
III – Les compteurs et décompteurs
Décompteur binaire asynchrone :
- Bascules montées en diviseur par 2.
- Front descendant actif ÖQ reliée à H (bascule suivante).
- Front montant actif Ö Q reliée à H (bascule suivante).
- Décomptage sur les sorties Q.
107
III – Les compteurs et décompteurs
Le circuit intégré 7493 : Compteur asynchrone 4
bits avec remise à zéro.
M.S.B. 1 1 1 L.S.B 1
Q3 S 1 Q2 S 1 Q1 S 1 Q0 S 1
Q J Q J Q J Q J
H H H H
Q K Q K Q K Q K CP0
R R R R
CP1
MR1
MR2
7493 CP1
CP1 CP0
7493
CP0
MR1 MR2 Q3 Q2 Q1 Q0
MR1 MR2 Q3 Q2 Q1 Q0 Montage en compteur par 10. 108
III – Les compteurs et décompteurs
III.3 – Les compteurs synchrones (parallèle) QD QC QB QA imp.
0 0 0 0 0
Dans un compteur synchrone, toutes les
0 0 0 1 1
bascules commutent simultanément. Il
0 0 1 0 2
faut donc anticiper les changements
0 0 1 1 3
d’horloge.
0 1 0 0 4
Compteur binaire synchrone modulo 16 : 0 1 0 1 5
0 1 1 0 6
4 bascules Ö 16 états. 0 1 1 1 7
1 0 0 0 8
QA diviseur par 2. 1 0 0 1 9
1 0 1 0 10
QB conserve son état sauf quand QA = 1 1 0 1 1 11
(au prochain front, QB changera d'état). 1 1 0 0 12
1 1 0 1 13
QC conserve son état sauf quand QA = QB 1 1 1 0 14
= 1 (au prochain front, QC changera 1 1 1 1 15
d'état). Recyclage Ö 0 0 0 0 16109
III – Les compteurs et décompteurs
Structure en bascules JK :
110
III – Les compteurs et décompteurs
1 1 1 1
M.S.B. L.S.B. S 1
S S S
QD J QC J QB J QA J
H H H H
Q K Q K Q K Q K H externe
R R R R
1 1 1 1
H
QA %2
QB %4
QC
%8
QD
%16
Un seul retard tB introduit quelque soit le nombre de bascules. 111
III – Les compteurs et décompteurs
QD QC QB QA imp.
Décompteur binaire synchrone modulo 16 :
1 1 1 1 0
4 bascules Ö 16 états. 1 1 1 0 1
1 1 0 1 2
QA diviseur par 2. 1 1 0 0 3
1 0 1 1 4
QB conserve son état sauf quand QA = 0 1 0 1 0 5
(QA = 1) (au prochain front, QB changera 1 0 0 1 6
d'état). 1 0 0 0 7
0 1 1 1 8
QC conserve son état sauf quand QA = QB =
0 1 1 0 9
0 (QA = QB = 1) (au prochain front, QC
0 1 0 1 10
changera d'état).
0 1 0 0 11
Idem pour QD. 0 0 1 1 12
0 0 1 0 13
0 0 0 1 14
0 0 0 0 15
Recyclage Ö 1 1 1 1 16112
III – Les compteurs et décompteurs
Structure en bascules JK :
1 1 1 1
M.S.B. L.S.B.
S S S S 1
QD J QC J QB J QA J
H H H H
Q K Q K Q K Q K H externe
R R R R
1 1 1 1
Qi
Sorties des
bascules S
Qi
Vers les
Comp portes ET
114
III – Les compteurs et décompteurs
Compteur / décompteur binaire synchrone :
B A
1 1 1 1
S S S S 1
QD J QC J QB J QA J
H H H H
Q K Q K Q K Q K
R R R R
1 1 1 1
vers B vers A
mult. mult. mult.
Comp
Chargement :
Pc = 1 1
QC S QB S QA S
Ö S=0 , R=1
Ö Qc=1 , Qc=0 Q J Q J Q J
H H H
Pc = 0 Q K Q K Q K
Ö S=1 , R=0 R R R
Ö Qc=0 , Qc=1
116
PL
III – Les compteurs et décompteurs
PL P3 P2 P1 P0
Le circuit intégré 74193 :
0 0 1 1 0 0 0 0 1 0
1 0 0 X X 1 0 1 X X
JB = KB = QC QA JC = KC = QB QA + QC QA
1 JA = K A = 1
1 1
M.S.B S L.S.B 1
S S
QC Q J QB Q J QA Q J
H H H
Q K Q K Q K
R R R
1 1 1
119
III – Les compteurs et décompteurs
Réalisation en bascules JK avec J et K quelconques.
Au prochain front :
J = 1 , K = 1 Ö Inversion.
J = 0 , K = 0 Ö Mémoire. QC QB QA JC KC JB KB JA KA
J = 0 , K = 1 Ö Mise à 0.
J = 1 , K = 0 Ö Mise à 1.
0 0 0 0 X 0 X 1 X
0 0 1 0 X 1 X X 1
0 1 0 0 X X 0 1 X
Remise à 0
synchrone 0 1 1 1 X X 1 X 1
1 0 0 X 0 0 X 1 X
1 0 1 X 1 0 X X 1
120
III – Les compteurs et décompteurs
QC \ QBQA 00 01 11 10 QC \ QBQA 00 01 11 10
0 0 1 X X 0 X X 1 0
1 0 0 X X 1 X X X X
JB = QC QA KB = QA
QC \ QBQA 00 01 11 10 QC \ QBQA 00 01 11 10
0 0 0 1 0 0 X X X X
1 X X X X 1 0 1 X X
JC = QB QA KC = QA
JA = K A = 1
121
III – Les compteurs et décompteurs
1 1
M.S.B. 1 L.S.B.
S S S 1
QC QB QA
Q J Q J Q J
H H H
Q K Q K Q K
R R R
1 1 1
La table de vérité est plus longue à établir mais le schéma logique est
plus simple.
122
III – Les compteurs et décompteurs
Réalisation en bascules D.
QC QB QA DC DB DA
Q recopie D au prochain
0 0 0 0 0 1
front.
0 0 1 0 1 0
Remise à 0 0 1 0 0 1 1
synchrone 0 1 1 1 0 0
1 0 0 1 0 1
DA = Q A 1 0 1 0 0 0
QC \ QBQA 00 01 11 10 QC \ QBQA 00 01 11 10
0 0 0 1 0 0 0 1 0 1
1 1 0 X X 1 0 0 X X
DC = QB QA + QC QA DB = QB QA + QC QB QA
123
III – Les compteurs et décompteurs
Les compteurs circulaires :
1 1 1 1
S S S S
Q3 Q2 Q1 Q0
D Q D Q D Q D Q
H Q H Q H Q H Q
R R R R
1 1 1 1
124
III – Les compteurs et décompteurs
Différences avec un compteur normal : Q3 Q2 Q1 Q0 imp.
- N bascules pour un modulo N.
- Chaque sortie a pour fréquence 1 0 0 0 0
F / N (F fréquence de H). 0 1 0 0 1
0 0 1 0 2
Le problème de ce compteur réside 0 0 0 1 3
dans le chargement initial d’un état 1. 1 0 0 0 4
H
%4
Q3
%4
Q2
%4
Q1
Q0 %4
125
III – Les compteurs et décompteurs
Compteur en anneau à base de bascules JK :
1 1 1S 1S
S S
Q3 Q2 Q1 Q0
J Q J Q J Q J Q
H H H H
K Q K Q K Q K Q
R R R R
1 1 1 1
R R R R
1 1 1 1
127
III – Les compteurs et décompteurs
H
%8
Q3
Q2 %8
Q1 %8
Q0 %8
128
III – Les compteurs et décompteurs
III.4 – Les compteurs en cascades :
H = QD H = QD
compteur synchrone compteur synchrone compteur synchrone
modulo 10 modulo 10 modulo 10
(4 bascules JK) (4 bascules JK) (4 bascules JK)
Unités Dizaines Centaines 129
III – Les compteurs et décompteurs
Horloge externe : Horloge des unités.
MSB des unités : Horloge des dizaines.
MSB des dizaines : Horloge des centaines.
Fonctionnement :
- Le compteur des unités passe de 9 à 0 Ö le MSB crée un
front descendant et incrémente le compteur des dizaines.
- Le compteur des dizaines passe de 9 à 0 Ö le MSB crée un
front descendant et incrémente le compteur des centaines.
130
IV – Les Registres
Un registre est une association linéaire de plusieurs bascules servant à
mémoriser des information ou à les décaler.
D4 D3 D2 D1 Q5 Q4 Q3 Q2 Q1 Q0
D5 D0
1 1 1 1 1 1
S S S S S S
D Q D Q D Q D Q D Q D Q
H H H H H H
R R R R R R
MR
CP
Q5 Q4 Q3 Q2 Q1 Q0 132
IV – Les Registres
IV.2 – Les registres à décalages :
Ce sont des circuits utilisés pour transférer des données d’un registre
à un autre un bit à la fois : le contenu de la cellule i se transfère dans la
cellule i-1.
R R R
1 1 1 133
IV – Les Registres
Structure en bascules JK :
- Q2 = 0 Ö J1 = 0; K1 = 1 Ö Q1 = 0 au prochain front.
- Q2 = 1 Ö J1 = 1; K1 = 0 Ö Q1 = 1 au prochain front.
1 1 1S
S S
Entrée Q2 Q1 Q0 Sortie
J Q J Q J Q
H H H
K Q K Q K Q
R R R
1 1 1
134
IV – Les Registres
A
Ecriture série / lecture parallèle :
B 74164
Le circuit intégré 74164 : CP
Q0 Q1 Q6 Q7 135
IV – Les Registres
Ecriture parallèle / lecture série :
Ds
Q7
CP 74165
Q7
PL 136
IV – Les Registres
P0 P1 P7
S Q S Q S
0 1 Q
S Q S Q S Q 7
H H H
Q Q Q7
R R R Q
CP R R R
Ds
P0 = 1 Ds = 1
PL Ö S=0 , R=1 Ö S=1 , R=0
Ö Q0=1 , Q0=0 Ö Q0=1 , Q0=0 (front)
Chargement Chargement
parallèle (PL=0) : P0 = 0 et décalage Ds = 0
Ö S=1 , R=0 série (PL=1) : Ö S=0 , R=1
Ö Q0=0 , Q0=1 Ö Q0=0 , Q0=1(front) 137
IV – Les Registres
Ecriture parallèle / lecture parallèle :
Registre universel :
138
Les mémoires et circuits
logiques programmables
139
I – Les mémoires
On appelle mémoires des circuits pouvant enregistrer, stocker et
restituer des informations binaires. Elles peuvent être à accès sélectif
(temps d'accès identique pour toutes les cases mémoire) ou
séquentiel (temps d'accès dépendant de la localisation des cases).
Dans une RAM, il est aussi facile de lire que d’écrire une donnée. On
distingue :
- Des RAM statiques (SRAM) dont les cellules sont des
bistables.
- Des RAM dynamiques (DRAM) dont les cellules sont des
capacités (ce qui nécessite une opération de rafraîchissement). 140
I – Les mémoires
I.2 – Les mémoires mortes (ROM) :
Les mémoires mortes (Read Only Memory) sont des circuits pour
lesquels le nombre d'opérations de lecture est très supérieur au
nombre d'opérations d'écriture. Techniquement, les données dans une
mémoire morte sont écrites (programmées) une seule fois et sont
conservées en absence d’alimentation.
On distingue :
142
I – Les mémoires
Parmi les EPROM, on distingue :
MROM PROM
programmables par masque. programmables par l'utilisateur.
D7 OE : Output Enable.
Bits A10 Vcc Vpp CE : Chip Enable.
d’adresses Bits de Vcc : Tension d’alimentation.
A0 2716 Données Vpp : Tension de programmation.
OE = 0
CE = 0 D0
Bits A10 D7
Vcc Vpp
d’adresses Bits de
A0 2716 Données
OE = 1
CE D0
50 ms
La zone mémoire varie de : 00000000000 à 11111111111.
000 à 7FF.
147
I – Les mémoires
Structure générale : Exemple d’un boîtier 16 x8.
A0 Colonne 0
1 parmi registre 0 registre 4 registre 8 registre12
Ligne 0
A1
4 E E
Décodeur de
registre 1 registre 5 registre 9 registre13
lignes
Décodeur de
registre 3 registre 7 registre11 registre15
colonnes
A2
A3 1 parmi
4
A1A0 = 00 Ö Ligne 0 A3A2 = 00 Ö Colonne 0
- 16 registres 8 bits. A1A0 = 01 Ö Ligne 1 A3A2 = 01 Ö Colonne 1
- 4 bits d’adresses. A1A0 = 10 Ö Ligne 2 A3A2 = 10 Ö Colonne 2
- 2 entrées de validation. A1A0 = 11 Ö Ligne 3 A3A2 = 11 Ö Colonne
1483
I – Les mémoires
La RAM 2114 :
Bits A9 E / S3
d’adresses E / S2 Bits de L/E = 0 : Lecture / Ecriture.
2114
A0 E / S1 données CE : Chip Enable.
CE
E / S0
L/E
Lecture d’une donnée :
- Placer L/E à 1.
- Placer CE à 0.
- Placer l’adresse désirée sur les lignes A0 à A9.
- Le mot apparaît sur S0 à S3.
Principe identique en écriture avec L/E = 0 et le mot présent sur E0 à E3149
.
I – Les mémoires
Applications :
Transcodage. A6 D7
EPROM
Exemple d’un transcodeur 128 X 8
binaire vers DCB (0 à 99) :
A0 D0
Adresse : Octet de sortie :
code binaire code DCB
0000 0 0 0 0 0 0 0 0 0 0 0 0 0
07FF 0 0 1 1 1 1 1 1 1 1 1 1 1
0800 0 1 0 0 0 0 0 0 0 0 0 0 0
0FFF 0 1 1 1 1 1 1 1 1 1 1 1 1
1000 1 0 0 0 0 0 0 0 0 0 0 0 0
17FF 1 0 1 1 1 1 1 1 1 1 1 1 1
1800 1 1 0 0 0 0 0 0 0 0 0 0 0
1FFF 1 1 1 1 1 1 1 1 1 1 1 1 1151
I – Les mémoires
Structure générale :
Bus de données (8 bits)
On distingue :
L'utilisateur peut détruire les liaisons entre les entrées logiques et les
portes ET et OU de façon à obtenir la fonction désirée. Une fois
programmé un PAL ne peut être ni effacé ni reprogrammé.
- PLA : Seule la matrice ET est programmable.
- FPLA (Field PLA) : Les matrices ET et OU sont programmables.
-FPLS (Field Programmable Logic Sequencer) : PAL contenant
des registres (fonctionnement séquentiel). 153
II – Les circuits programmables
- EPLD (Erasable Programmable Logic Device) : Ces circuits
logiques sont programmables électriquement et effaçables aux
ultraviolets.
154
II – Les circuits programmables
PLD
Circuits logiques programmables
F4 S S
F5
I2
F8
Fusible
I2
I1
Exemple de la fonction XOR :
Initialement, tous les
contacts sont établis et la
programmation consiste
à faire sauter les fusibles I1 I2 + I1 I2
I
à l’aide d’une surtension. 2
Contacts détruits
157
II – Les circuits programmables
Exemple d’un PLA (matrice ET programmable, matrice OU fixe) :
I3 I2 I1 I0 d c b a
P
I0 I0 0 Réseau OU fixe P0 Réseau OU fixe
Inverseur commandé :
ES
Fusible
F
P15 F=SE+SE
Réseau ET
programmable Avec fusible Ö E = 0 Ö F = S
Sans fusible Ö E = 1 Ö F = S
159
F0 F1 F2 F3
II – Les circuits programmables
Les circuits PAL sont constitués d’un réseau PLA se terminant par une
structure plus ou moins complexe :
160
II – Les circuits programmables
Structure générale du 22V10 :
…………… 161
II – Les circuits programmables
Décodage des références :
PAL CE XX AB YY C ZZ DEF
Références du circuit :
GAL XX AB YY
XX : Nombre d’entrées.
AB : Structure de sorties.
YY : Nombre de sorties.
164
II – Les circuits programmables
II.4 – Les circuits FPGA :
Ce sont les circuits qui ont le taux d’intégration le plus élevé (supérieur
à 100 000 portes). Les blocs logiques sont plus nombreux mais plus
simples que pour les CPLD. Ils nécessitent donc d’importantes
ressources de routage.
Bloc logique
Actel.
Bloc logique
Xilinx.
165
II – Les circuits programmables
Deux technologies de connexion sont possibles :
166