Académique Documents
Professionnel Documents
Culture Documents
"Systèmes Numériques"
Partie I :
"Logique Combinatoire et Séquentielle"
Benoît DECOUX
benoit.decoux@esigelec.fr
CISE – F1-200
1
Cours de Logique combinatoire et séquentielle
Plan
Introduction
Représentation binaire
Codage binaire naturel
Codage binaire réfléchi : code de Gray
Bases de représentation
Première approche de l’arithmétique binaire : addition
Liens avec autres domaines
Logique combinatoire
Fonctions logiques de base
Fonctions logiques combinatoires
Analyse de circuits logiques combinatoires
Logique séquentielle
Fonctions de base de la logique séquentielle
Registres, compteurs, blocs mémoire
Analyse de circuits logiques séquentiels par graphe d’état
Conception de systèmes logiques
Représentation des fonctions logiques
Algèbre de Boole
Simplification des fonctions logiques
Synthèse de systèmes combinatoires
Synthèse de systèmes séquentiels
Représentation des nombres et calcul
Codage binaire des nombres
Arithmétique binaire (addition et multiplication)
2
Cours de Logique combinatoire et séquentielle
Unité d’Enseignement
"Systèmes Numériques"
Partie I :
Logique combinatoire et séquentielle
- Travail encadré (cours/TD/TP) : 32h (resp. 8/16/8h)
- Évaluation : DS (2h) + CCTP
- Travail personnel (exercices d’entraînement sur ENT)
Partie II :
Développement en électronique embarquée
- Travail encadré (cours/TD-TP) : 12h (4h+8h)
- Evaluation : contrôle (1h)
3
Cours de Logique combinatoire et séquentielle
Objectifs de la partie I
Maîtrise de :
la synthèse de systèmes logiques combinatoires : passage d’un
raisonnement à la fonction logique combinatoire correspondante, sa
simplification et la réalisation du circuit logique (en simulation)
la synthèse de systèmes logiques séquentiels : passage d’un besoin,
décrit sous forme d’un graphe d’états, à la fonction logique
séquentielle correspondante, puis la réalisation du circuit logique (en
simulation)
certains éléments liés aux systèmes de calcul numérique :
- représentation des données (dans les bases 2, 10 et 16),
- codage binaire des nombres entiers (positifs et négatifs) et des
nombres réels,
- opérations arithmétiques (+ et ×),
- mémorisation et transfert de données
4
Cours de Logique combinatoire et séquentielle
Introduction (1/2)
Logique à 2 états :
VRAI et FAUX
codés par (respectivement) :
1 et 0
George Boole
Les variables utilisées sont appelées booléennes. (1815-1864)
5
Cours de Logique combinatoire et séquentielle
Introduction (2/2)
6
Cours de Logique combinatoire et séquentielle
Représentation binaire
Codage binaire naturel
Introduction : notion de base
Les nombres décimaux qu’on manipule dans la vie de tous
les jours sont exprimés en base 10.
Base 10 signifie que le codage utilise 10 chiffres différents
(en l’occurrence, de 0 à 9).
On peut exprimer tout nombre décimal sous forme d’une
somme de puissances de 10, pondérées par les chiffres du
nombre.
Exemple : 201910=2×103+0×102+1×101+9×100
Représentation binaire
Codage binaire naturel
Pour les nombres binaires (en base 2 donc), il s’agit du même
principe de codage qu’en base 10, excepté le fait que pour
chaque chiffre il n’y a que 2 valeurs possibles : 0 ou 1.
Pour chacun des éléments du nombre binaire, on ne parle
alors pas de chiffre mais de "bit" (pour "binary digit").
Représentation binaire
Codage binaire naturel
Représentation binaire
Codage binaire naturel
Dans certains cas, on se limite aux 10 combinaisons
correspondant aux chiffres décimaux 0 à 9 (par exemple
quand on veut faire un affichage digital). On parle alors de
Décimal-Codé-Binaire (DCB)
binaire décimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
10
Cours de Logique combinatoire et séquentielle
Représentation binaire
Autre type de codage : code de Gray (ou binaire réfléchi)
11
Cours de Logique combinatoire et séquentielle
Représentation binaire
Bases de représentation
Base 2 (binaire) :
2 symboles possibles : 0 et 1
Base 10 (décimale) :
Base 16 (hexadécimale) :
Représentation binaire
Bases de représentation
bases : décimale ↔ binaire ↔ hexadécimale
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
Dans le code hexadécimal, on représente les nombres par
paquets de 4 bits
Avantage : écriture plus compacte que le binaire 13
Cours de Logique combinatoire et séquentielle
Représentation binaire
Bases de représentation
1×23+1×22+0×21+1x20 = 1310
13 2
1 6 2
0 3 2
1 1 2
1 0
résultat : 11012
14
Cours de Logique combinatoire et séquentielle
Représentation binaire
Bases de représentation
7×161+15×160 = 12710
127 16
15 7 16
7 0 résultat : 12710=7F16
15
Cours de Logique combinatoire et séquentielle
Représentation binaire
Première approche de l’arithmétique binaire : addition
Principes : les mêmes qu’en décimal (base 10), sauf qu’ici chaque
chiffre possède 2 valeurs possibles : 0 ou 1
Exemple : 10310+6210
1 1 1 1 1 1 0 0
0 1 1 0 0 1 1 12 =10310
+ 0 0 1 1 1 1 1 02 = 6210
= 1 0 1 0 0 1 0 12 =16510
Logique combinatoire
Fonctions logiques de base
A A
0 1
1 0
Logique combinatoire
Fonctions logiques de base
Fonction OU (symbole +) :
"La sortie est vraie si au moins l’une des entrées est vraie"
Remarques
Egalement appelée "somme logique" ou "union logique"
18
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Fonctions logiques de base
Fonction ET (symbole × ou .) :
Remarques
Egalement appelée "produit logique" ou "intersection logique"
19
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Fonctions logiques de base
A B
ET : interrupteurs en série 1 2
20
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Fonctions logiques de base
"La sortie est vraie si une entrée et une seule est vraie"
A B A⊕B
0 0 0
0 1 1
1 0 1
1 1 0
21
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Fonctions logiques de base
Fonction NON-OU :
A B A+B
0 0 1
0 1 0
1 0 0 ≥1
1 1 0
Fonction NON-ET :
A B AxB
0 0 1
0 1 1
1 0 1 &
1 1 0
22
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Fonctions logiques de base
Fonction OU :
"La sortie est vraie si au moins l’une des entrées est vraie"
Fonction ET :
"La sortie est vraie si toutes les entrées sont vraies"
devient :
"La sortie est vraie si le nombre d’entrées vraies est impair"
23
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Fonctions logiques combinatoires
Généralisation
a1
a2
fonction
logique f(a1, a2, …, an)
an
24
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Fonctions logiques combinatoires
En associant entre elles des fonctions logiques de base,
on va pouvoir obtenir des fonctions plus complexes,
caractérisées par des équations logiques.
Exemple :
A A’
S
B
C
A B C A’ S
0 0 0
La fonction logique 0 0 1
correspondante est : S = (A × B) + C
0 1 0
0 1 1
1 0 0
et la table de vérité : 1 0 1
1 1 0
1 1 1
25
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Fonctions logiques combinatoires
a
0
b
0
f(a,b)
1
? f(a,b) = a.b
0 1 0
1 0 1 ?
1 1 1
?
Mais comment passer d’une représentation à l’autre ?
26
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Fonctions logiques combinatoires
Logique combinatoire
Analyse de circuits logiques combinatoires
Exemple 1 : Additionneur binaire (1 bit)
A B S R
S A ⊕B 0 0 0 0
0 1 1 0
R A B 1 0 1 0
1 1 0 1
→ demi-additionneur à 1 bit
28
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Analyse de circuits logiques combinatoires
variables sorties du
Exemple 1 : Additionneur binaire (1 bit) intermédiaires système
S’ Rn-1 A B S’ R’ S’’ S Rn
S’’ 0 0 0
0 0 1
0 1 0
R’
0 1 1
1 0 0
1 0 1
1 1 0
S R ⊕ A ⊕ B) (*)
1 1 1
R R A ⊕B A. B
Logique combinatoire
Analyse de circuits logiques combinatoires
R0 S1
A1
R1
B1
Logique combinatoire
Analyse de circuits logiques combinatoires
E0
E1
x
E2
E3
x E0. E2 E1 E0. E2 E3
31
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Analyse de circuits logiques combinatoires
E3 E2 E1 E0 E0.E2 E0. E2 x
0 0 0 0 0 1 1
0 0 0 1 0 0 0
0 0 1 0 0 1 1
0 0 1 1 0 0 1
0 1 0 0 0 0 0
0 1 0 1 1 0 1
0 1 1 0 0 0 1
0 1 1 1 1 0 1
1 0 0 0 0 1 1
1 0 0 1 0 0 1
32
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Analyse de circuits logiques combinatoires
33
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Analyse de circuits logiques combinatoires
34
Cours de Logique combinatoire et séquentielle
Logique combinatoire
Analyse de circuits logiques combinatoires
35
Cours de Logique combinatoire et séquentielle
Systèmes à Microcontrôleurs
Opérateurs & ET
| OU
Exemple : en java, la ligne :
bit-à-bit en
^ OU-exclusif System.out.println( 16 & 17 );
Java, C ou ~ inversion
Python : décalage à gauche (resp. droite) affichera 16…
<< (>>)
(x << y ↔ décalage de y bits de la variable x)
36
Cours de Logique combinatoire et séquentielle
Automatismes
Mathématiques
Conjonction/disjonction
Soient 2 propositions P et Q :
- Conjonction : "P ET Q" (ou "P ꓥ Q")
- Disjonction : "P OU Q" (ou "P ꓦ Q")
http://serge.mehl.free.fr/anx/Th_ensembles.html
Intersection Union 37
Cours de Logique combinatoire et séquentielle
Logique vs analogique
Une entrée d’une porte logique est constituée par une tension.
Pour que cette tension soit interprétée comme un niveau 0 ou 1, elle doit être comprise entre
des limites. Les tensions comprises entre VILmax et VIHmin correspondent à un niveau logique
indéterminé (et donc peuvent générer un fonctionnement aléatoire).
Ceci est valable également pour les entrées d’autres circuits numériques, comme les
microcontrôleurs (cf UE SAM en 2A).
38
Cours de Logique combinatoire et séquentielle
Entrées externes
Dans certains cas, il peut être nécessaire R
d’acquérir des niveaux logiques en entrée,
directement issu du monde extérieur. R
En règle générale, une entrée d’un circuit
électronique ne doit jamais rester en l’air. GND
On utilise une résistance, qui permet de fixer un
Tirage à Vcc Tirage à la masse
potentiel (et donc un niveau logique) par défaut.
("pull-up") ("pull-down")
On parle de résistance de tirage. - bouton appuyé ↔ 0 - bouton appuyé ↔ 1
Par exemple, dans le cas d’un bouton poussoir : - bouton relâché ↔ 1 - bouton relâché ↔ 0