Cours
Cours
Cours d’Automatismes
par
Adil BROURI
Prof à l’ENSAM de Meknès
Systèmes de numération et
1.1. Introduction
1.1.1. Définition
Un système automatisé est un objet technique qui effectue un travail ou une opération de
façon autonome (i.e. sans l’intervention de l’opérateur).
Parmi les systèmes automatisés, on distingue : les automatismes industriels où les opérations
à exécuter sont prédéfinies (i.e. des systèmes déterministes).
Pour lesquels la notion de temps n’intervient pas. À un moment donné, l’état de sortie ne
dépend que de l’état de l’entrée.
1.1.5.b. Les circuits logiques séquentiels
Pour lesquels la notion de temps intervient. L’état de sortie, à un instant donné, dépend de
l’état de l’entrée au même instant et des états précédents.
Toute information à traiter dans un automatisme doit être représentée sous une forme
compréhensive par la machine :
⇨ Fonctionnement selon une logique à 2 états (notés 0 et 1) appelé logique binaire.
Le passage d’un langage compréhensible par l’homme à un langage compréhensible par la
machine s’appelle codage ou codification.
Un bit (0 ou 1) constitue une information élémentaire (élément de base) de la représentation
binaire.
1.1.1. Définitions
La base d’un système de numération est la référence qui permet l’écriture des nombres.
Exemple :
Remarques :
⇒ Le nombre de symboles distincts formant une base est égal à la base du système de
numération.
( A) B an 1 an2 ... a1 a0
où les ai vérifient : 0 ai B 1
Exemples :
1) (10101111)2 = ( ?)10
101011112 1 20 1 21 1 22 1 23 0 24 1 25 0 26 1 27 175
2) (104)16 = ( ?)10
Pour pouvoir exprimer un nombre entier A10 dans la base B, on va utiliser l’une des 2
Méthode suivantes :
Méthode des « divisions successives » ;
Exemples :
1) (13)10 = ( ?)2
13 6 2 1
6 3 2 0
3 1 2 1
⇒ (13)10 = (1101)2
2) (173)10 = ( ?)8
173 21 8 5
21 2 8 5
5 5 80
⇒ (173)10 = ( 255)8
3) (125)10 = ( ?)2
⇒ (125)10 = (1111101)2
4) (35)10 = ( ?)2
⇒ (35)10 = (100011)2
1) (235)10 = ( ?)2
80 = 1 ; 81 = 8 ; 82 = 64 ; 83 = 512 > 235
235 – 64 = 171 ; 171 – 64 = 107 ; 107 – 64 = 43 => 3 x puissance 2 => (3 x 64)
43 – 8 = 35 ; 35 – 8 = 27; 27 – 8 = 19; 19 – 8 = 11; 11 – 8 = 3 => 5 x puissance 1 => (5 x 8)
(235)10 = 3 x 64 + 5 x 8 + 3 x 1 = (353)8
an1 est appelé le bit de plus fort poids : MSB (the most significant bit).
a0 est appelé le bit de plus faible poids : LSB (the least most significant bit).
⇒ On a alors l’équivalent du nombre A dans la base décimale :
n 1
( A)10 ai 2i
i 0
Tableau 1.1
Exemples :
Exemples :
Il permet de simplifier la manipulation du système binaire (longue suite des 0 et des 1).
Le système octal comporte 16 symboles : { 0 , 1 , … , 9 , A , B , … , F } (voir Tableau 1.2).
Hexadécimal 0 1 2 3 … 9 A B C D E F
Décimal 0 1 2 3 … 9 10 11 12 13 14 15
Tableau 1.2
Dans le cas d’une addition de 2 nombres codés sur un bit, 4 cas peuvent se présenter :
Si les 2 nombres à additionner sont codés sur plusieurs bits, le résultat peut être trouvé en
additionnant les bits du même poids et en se servant des résultats de la somme sur 1 bit :
Exemple :
i. L’opérateur « ET » (AND) :
Symbole A B AB
A 0 0 0
A .B
0 1 0
B
1 0 0
1 1 1
Tableau 1.3 : Table de vérité
Symboles
A
A B A⊕B
B
A + B 0 0 0
0 1 1
1 0 1
1 1 0
Tableau 1.5 : Table de vérité
Symbole
e s
0 1
1 0
Tableau 1.6 : Table de vérité
v. L’opérateur « OUI » :
Symbole
e s
0 0
1 1
Tableau 1.7 : Table de vérité
Tableau 1.8 : Tableau récapitulatif des symboles des portes et leur T.V
Décimal 0 1 2 10 … 15
Tableau 1.9
L’abréviation BCD signifie « Binary Coded decimal ». Chaque chiffre décimal indépendant de
son poids est représenté par son équivalent binaire sur 4 bits.
Exemple :
Un nombre de n bits dans la base 2 possède 2n nombres qui lui sont adjacents. Le Tableau
1.10 donne l’équivalence en binaire naturel et en code Gray des 15 premiers nombres en décimal.
Du LSB au MSB on affecte aux bits les poids : 1, 3, 7, … , 2n-1. On donne alternativement
les signes + et – aux poids non nuls, en commençant par le MSB. La somme algébrique des
poids est l’équivalent décimal du nombre.
Exemple :
iv. Passage du BN au BR :
On fait la somme sans retenue du nombre en BN avec lui-même, mais décalé d’un bit vers la
gauche.
Exemple : convertir en BR le nombre NBN = 1011
⇒ NBR = 1110
Exemples :
(1011)BN = (1110)CG
(0111)BN = (0100)CG
v. Passage du BR au BN :
En partant de la gauche vers la droite, en complémentant chaque bit s’il est précédé d’un
nombre de « 1 » impair, sinon on le conserve.
Exemple :
(1011)CG = (1101)BN
(1101)BR = (1001)BN
(0100)BR = (0111)BN
Si on travaille sur n bits, alors le bit du poids fort (MSB) est utilisé pour indiquer le signe.
⇒ MSB = 1 : alors le nombre est de signe négatif.
Dans le cas des nombres codés sur 3 bits, on obtient les résultats donnés dans le Tableau
suivant :
signe VA valeur
0 00 +0
0 01 +1
⇒ Les valeurs sont comprises entre -3 et +3.
0 10 +2 ⇒⇒
. -3 ≤ N ≤ +3
0 11 +3
-(22 - 1) ≤ N ≤ +(22 - 1)
1 00 -0
1 01 -1 -(2(3 -1) -1) ≤ N ≤ +(2(3 -1) -1)
1 10 -2
1 11 -3
Si on travaille sur n bits, l’intervalle des nombres signés qu’on peut représenter en S/VA
est :
-(2(n -1) - 1) ≤ N ≤ +(2(n -1) - 1)
Conclusions :
On appelle le complément à un d’un nombre N codé sur n bits le nombre (-N)C1 tel que :
N + (-N)C1 = 2n -1
Exemple :
Remarques :
Exemple :
⇒ 0 1 0 1 0 ⇒ 0 0 1 0 1 0
1 0 1 0 1 1 1 0 1 0 1
Dans cette représentation, le bit du poids fort nous indique le signe (0 : positif, 1 :
négatif).
CA1(CA1(N)) = N
Exemple :
Donner la valeur décimale représentée par le nombre N = 101010 en CA1 sur 6 bits.
Si on travaille sur 3 bits, les compléments des nombres appartenant à l ’intervalle [-3 3]
sont regroupés dans le Tableau suivant :
000 000 +0
001 001 +1
010 010 +2
011 011 +3
100 - 011 -3
101 - 010 -2
110 - 001 -1
111 - 000 -0
-(22 - 1) ≤ N ≤ +(22 - 1)
Si on travaille sur n bits, l’intervalle des nombres signés qu’on peut représenter en CA1
est :
- (2(n -1) - 1) ≤ N ≤ +(2(n -1) - 1)
Conclusions :
Dans cette représentation, le zéro possède aussi une double représentation : (+0 et -0). Ce
problème peut conduire à des difficultés surtout au niveau des opérations arithmétiques.
CA2(N) = CA1(N)+1
Exemple :
⇒ (-N)C2 = (0110)2 0 1 1 1
Remarques :
Dans cette représentation, le bit du poids fort nous indique le signe (0 : positif, 1 :
négatif).
Une autre méthode permettant de trouver le C2 :
En commençant à droite du nombre (i.e. par le LSB), s’il y a des « 0 » on les garde
jusqu’à ce qu’on trouve le 1er « 1 ». On garde aussi ce dernier, ensuite on complémente bit
par bit.
Exemple :
⇒ 0 1 0 1 0 ⇒ 0 0 1 1 0 0
1 0 1 1 0 1 1 0 1 0 0
Dans cette représentation, le bit du poids fort nous indique le signe du nombre (0 : positif,
1 : négatif).
Exemple :
Donner la valeur décimale représentée par le nombre N = 101010 en CA2 sur 6 bits.
⇨ N10 = - CA2(101010)
= - (010101 +1)2 = - (010110)2 = - (22)10
Dans le cas des nombres codés 3 bits, on obtient les équivalences données dans le
Tableau 1.13 :
000 000 +0
001 001 +1
010 010 +2
011 011 +3
100 - 100 -4
101 - 011 -3
110 - 010 -2
111 - 001 -1
-(22) ≤ N ≤ +(22 - 1)
Si on travaille sur n bits, l’intervalle des nombres signés qu’on peut représenter en CA2
est :
- (2(n -1)) ≤ N ≤ +(2(n -1) - 1)
Conclusions :
L’addition signée impose que les opérandes et le résultat soient compris, pour un format de n
bits, entre -2(n -1) et 2(n -1) -1.
Exemple 1 :
0 1 0 0 = (4)10
Exemple 2 :
⇨ Le résultat de l’opération d’addition est négatif (MSB = 1). Alors, la valeur absolue
de ce résultat est le nombre (0100)2 = (+4)10.
⇨ Le résultat de l’opération d’addition est (1100)2 = (-4)10.
Exemple 3 :
0 1 0 0 1 1 0 0
+
0 0 1 1 1 0 1 0
1 0 0 0 0 1 1 0 (-122)10
Un nombre fractionnaire ou réel est constitué d’une partie entière et une partie fractionnaire
(séparées par une virgule).
Exemples :
1) (897,46)10 = ( ?)10
3) (43,2)5 = ( ?)10
Pour convertir un nombre fractionnaire de la base décimale vers une base B quelconque, on
procède comme suit :
Convertir sa partie entière vers la base B en utilisant les méthodes indiquées dans le 2ème
paragraphe.
Convertir la partie fractionnaire en suivant la démarche suivante :
Multiplier cette partie fractionnaire par la base B.
La multiplication est itérée sur la partie fractionnaire du résultat obtenu.
Prendre les parties entières de chacun des résultats des multiplications effectuées.
Exemples :
1) (175.34)10 = ( ?)2
La partie entière : (175)10 = (10101111)2
0.34*2 = 0 .68
La partie fractionnaire :
0.68*2 = 1 .36
0.36*2 = 0 .72
0.72*2 = 1 .44
0.44*2 = 0 .88
(0.34)10 = ( 0. 0 1 0 1 0 )2
2) (π≈3.14579)10 = ( ?)2
La partie entière : (3)10 = (11)2
0.14579*2 = 0.29158
La partie fractionnaire :
0.29158*2 = 0.58316
0.58316*2 = 1.16632
0.16632*2 = 0.33264
0.33264*2 = 0 .66528
(0.14579)10 = ( 0. 0 0 1 0 0 …)2
Le codage le plus utilisé est le code ASCII (American Standard Code for information
Interchange).
Il permet de représenter les lettres alphabétiques (A, a, b, B, …), les chiffres, et les autres
Algèbre de Boole et
fonctions logiques
Chapitre 2 :1Algèbre
Chapitre : SystèmededeBoole et fonctions logiques
numération et codage des informations Année CPI CPI - 1
2.1.1. Introduction
Chaque circuit fournit une fonction logique bien déterminée (addition, comparaison, …). Dans
ce contexte, on remarque :
Pour concevoir et réaliser ce circuit on doit avoir un modèle mathématique de la fonction
réalisée.
Ce modèle utilise le système binaire.
Une variable booléenne ou logique est une variable binaire (qui prend la valeur 0 ou 1).
Exemples de systèmes à deux états (booléens) :
Un interrupteur.
Une lampe.
Une porte.
Remarque : Généralement on utilise les conventions suivantes :
OUI VRAI (true) 1 (Niveau Haut)
NON FAUX (false) 0 (Niveau Bas)
⇒ L’étude d’un système logique nécessite de préciser le niveau des tensions de travail (Tableau
2.1):
H (haut) 1 (+E) 0
L (bas) 0 1 (-E)
C’est une fonction d’une ou plusieurs variables qui ne prend que deux valeurs 1 ou 0.
Une fonction logique peut être représentée par une expression algébrique reliant les
variables logiques avec un ensemble d’opérateurs logiques.
Dans l’Algèbre de Boole, il existe trois opérateurs de base : NON, ET, OU.
2.2. Les fonctions logiques
Le nombre des fonctions d’une seule variable est (2 ) = 4 (n = 1). Ces fonctions sont données
2 n
comme suit :
F1 (e) 0 Fonction nulle.
F2 (e) 1 Fonction vraie.
e e
F3 (e) e Fonction identité (Oui).
F4 (e) e Fonction complémentation (Non). e e
Le nombre des fonctions à deux variables est (2 ) = 4 (n = 1). On y trouve les opérateurs
2 n
logiques de base :
Cours d’Automatismes Page 29 Adil Brouri
Chapitre 2 :1Algèbre
Chapitre : SystèmededeBoole et fonctions logiques
numération et codage des informations Année CPI CPI - 1
Fonction ET (AND) :
F(A, B) = A.B
Fonction OU (OR) :
F(A, B) = A+B
Remarque :
Le groupe d’opérateurs (NON, ET, OU) est un groupe d’opérateurs complet N’importe
quelle fonction logique, elle peut être réalisée à partir (une combinaison) de ses 3 opérateurs.
Exercice :
1. L’opérateur NON : A A
A
A
1
L’opérateur ET : A A.B
B
L’opérateur OU :
A
A+B
B
2. L’opérateur NON :
L’opérateur ET :
L’opérateur OU :
Dans cette partie, on va présenter les différentes propriétés de l’algèbre de Boole. Ces dernières
peuvent être exploitées pour simplifier des fonctions logiques (cf. Chapitre. 3).
2.3.1. Propriétés de l’algèbre de Boole
Idempotence :
A. A A et A A A
Involution :
A A
Absorption :
A 1 1 et A.0 0
Complémentation :
A A 1 et A. A 0
Eléments neutres :
0 A A et 1.A A
Commutativité :
B A A B ; B. A A.B ; B A A B ;
Associativité :
A B C A B C A B C ;
Distributivité :
Cas de 2 variables :
A B A . B; A.B A B;
Forme ∑ :
Cas Forme ∑ :
Même résultat trouvé dans le cas d’une ∑ (somme de produits) peut être utilisé ici. Exemple :
( A B )( A C )( B C ) ( A B ).( A C )
A A.B A
A . A B A
A . A B A
A A. B A B
2n valeurs. Les 2 combinaisons sont représentées dans une table qui s’appelle table de vérité.
n
Table de vérité
F (0, 0, 0) 0.0.0 0.0.0 0.0.0 0.0.0 0
A B C F
F (0, 0,1) 0.0.1 0.0.1 0.0.1 0.0.1 1
0 0 0 0 F (0,1, 0) 0.1.0 0.1.0 0.1.0 0.1.0 0
0 0 1 1 F (0,1,1) 0.1.1 0.1.1 0.1.1 0.1.1 1
0 1 0 0 F (1, 0, 0) 1.0.0 1.0.0 1.0.0 1.0.0 0
0 1 1 1 F (1, 0,1) 1.0.1 1.0.1 1.0.1 1.0.1 1
1 0 0 0 F (1,1, 0) 1.1.0 1.1.0 1.1.0 1.1.0 0
1 0 1 1 F (1,1,1) 1.1.1 1.1.1 1.1.1 1.1.1 1
1 1 0 0
1 1 1 1
Tableau 2.2 :
Table de vérité
A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Tableau 2.3 :
C’est une autre représentation de la table de vérité. Si une fonction possède n variables logiques
→ On fait une partition des variables telle que : n = l+c avec c ≥ l.
Les 2l combinaisons écrites sur les lignes et les 2c combinaisons sur les colonnes sont en code de
Gray.
Exemple :
2.5.1. Définitions
⇒ Il existe plusieurs formes canoniques, les plus utilisées sont la première et la deuxième
forme :
Exemple : F ( A, B, C ) ( A B C ) ( A B C ) ( A B C ) ( A B C )
Remarque :
2ème forme canonique : Une fonction à 1 seule variable sous la 2ème forme canonique peut être
exprimée comme suit :
f ( x) x f (0) . x f (1)
1ère forme canonique : N’importe quelle fonction à 2 variables sous la 1ère forme canonique
s’écrit sous la forme suivante :
f ( x, y ) x. y. f (1,1) x. y. f (1,0) x. y. f (0,1) x. y. f (0,0)
2ème forme canonique : Une fonction à 2 variables sous la 2ème forme canonique s’écrit sous la
forme :
f ( x, y ) x y f (0,0) . x y f (0,1) . x y f (1,0) . x y f (1,1)
1ère forme canonique : Elle peut être exprimée alors comme suit :
f ( x1 ,..., xn ) x1... xn . f (1,1,...,1) x1... xn . f (0,1,...,1) ...
x1... xn . f (1,...,1, 0) ... x1... xn . f (0,..., 0)
Dans la 1ère forme canonique seulement les termes pour lesquels f(.)=1 interviennent on
dit qu’on le développe suivant les « 1 » de la fonction.
Dans la 2ème forme canonique seulement les termes pour lesquels f(.)=0 interviennent
développement suivant les « 0 » de la fonction.
Exemple 1 :
f ( x, y ) x y xy x y
f ( x, y ) x y . x y x y
Exemple 2 :
A B C S
0 0 0 0 → A B C : max terme
0 0 1 0 → A B C : max terme
0 1 0 0 → A B C : max terme
0 1 1 1 → A. B .C : min terme
1 0 0 0 → A B C : max terme
1 0 1 1 → A. B .C : min terme
1 1 0 1 → A. B .C : min terme
1 1 1 1 → A. B .C : min terme
Tableau 2.5 :
Tableau 2.6 :
F xyz x yz xy z xyz ; F x y z x yz xy z x y z
F ( A, B, C ) A.B B.C
Exercice :
i. On rappelle d’abord que la fonction NOR est un opérateur complet. Donner le logigramme
de la fonction F suivante en utilisant uniquement des portes NOR : F A.B A.B
ii. On a : F A.B A.B A.B . AB , donc le circuit électronique de F en utilisant des portes
NAND est comme suit :
3.1. Introduction
Elle consiste à appliquer les règles de l’algèbre de Boole afin d’éliminer des variables ou
des termes. Le problème qu’il n’y a pas une démarche bien spécifique pour trouver la fonction
simplifiée.
Voici quelques règles les plus utilisées :
A .B A .B B
A A .B A
A A .B A B
( A B) ( A B) A
A . ( A B) A
A . ( A B) A . B
Exemples :
Cette méthode est une application directe du théorème des consensus qui se base sur les
propriétés d’absorption.
Définition des consensus :
On dit qu’il existe un consensus entre deux monômes m1 et m2 si une seule des variables
apparaissant à la fois dans m et dans m est biforme.
1 2
Exemples :
m1 ABC ; m2 ABCD ;
m3 ABC ; m4 ABCD ;
Remarque :
Le consensus peut être ajouté à la fonction sans que cela ne change la fonction.
Présentation de la méthode :
On considère qu’il existe des variables biformes dans une fonction à simplifier. La méthode de
Tison consiste à suivre les étapes suivantes :
Suppression des multiples et des monômes inclus dans d ’autres utilisant l’idempotence
(a+a=a) et l’absorption (a.b+a=a).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Solution :
On remarque que ce consensus ne conduit pas à des simplifications. Ce dernier doit être
retiré. Finalement, la fonction F minimale est : F ACD BCD
b. Description de la méthode :
Dans le cas d’une fonction logique à n variables, alors la table de Karnaugh comportent 2 n
cases.
Dans un tableau de Karnaugh, chaque case possède un certain nombre de cases adjacentes.
Dans un tableau de Karnaugh correspondant à une fonction à n variables, chaque case
possède n cases adjacentes.
Exemples :
Fonction logique à 4 variables : La case en rouge entourée par 4 cases adjacentes (en bleu).
Chaque case de la table possède alors 4 cases adjacentes.
L’idée de base de cette méthode est d’essayer de regrouper le maximum de cases adjacentes
(rassembler les termes adjacents). Dans chaque regroupement de cases adjacentes on retire les
variables qui changent et ne garder que celles fixes.
Cours d’Automatismes Page 45 Adil Brouri
Chapitre 3 :1Simplification
Chapitre des fonctions
: Système de numération logiques
et codage des informations Année CPI CPI - 1
Exemple 1 :
Si on s’intéresse à la 1 ère
forme canonique (les cases mise à 1) ⇒ 3 regroupements qui
peuvent en résulter :
Le regroupement en bleu est donné par l ’expression suivante : ABC ABC BC (les
variables qui ne changent pas sont B et C).
Alors, l’expression minimale de la fonction F décrite par la table de Karnaugh ci-dessus
est : F ( A, B, C ) AB AC BC (la somme des 3 termes correspondant aux 3
regroupements).
Si on s’intéresse à la 2ème
forme canonique ⇒ 3 regroupements qui peuvent en résulter :
Exemple 2 :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Solution :
ii. Si on enlève une lettre quelconque au monôme, alors m ' 1 (le monôme restant)
n’entraine pas forcément F 1.
Remarque :
ii. Si on retire une variable (une lettre) quelconque au monôme, alors m ' 0 (le monôme
La somme des composants premiers ne conduit pas nécessairement à la forme minimale d’une
fonction logique.
Exemple : Soit la fonction G donnée par l’expression suivante : G abcd abcd abcd abcd .
Elle lui correspond la Table de Karnaugh suivante :
Quelle que soit la norme canonique utilisée, on distingue 2 types de composant premier :
Les composants premiers secondaires (CPS) dont toutes les cases appartiennent à d’autres
groupements.
Les composants premiers principaux (CPP) ayant au moins une case qui n’appartient à
aucun autre groupement.
Exercice : Donner les CPP et les CPS de la fonction suivante : G abcd abcd abcd abcd
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Solution :
La forme minimale :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Solution : En observant la table de Karnaugh correspondant à la fonction G, on remarque que
le CPS : abc n’est utile. En effet, toutes les cases de ce CPS appartiennent à d ’autres
regroupements. Alors, ce terme doit être retiré. Finalement, la forme minimale de la fonction
G devient : G acd bcd
Remarque :
a) Fonction H
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Solution :
a) Fonction F
La Fonction F contient un CPS indiqué par la couleur rouge
et 2 CPP indiqués par les couleurs verte et bleue.
Le CPS ici n’est pas utile, alors l’expression simplifiée est : F AD AC .
b) Fonction G
Elle contient un CPS indiqué en rouge (car toutes les cases de
ce regroupement appartiennent à d’autres regroupements) et 2
CPP dont les regroupements sont indiqués par les couleurs verte et bleue. Le CPS ici n’est
pas utile (les 2 CPP recouvrent tous les 1).
La forme minimale de la fonction G est donc : G B D A B
b) Fonction H
Elle contient 2 CPP indiqués par le vert (chacun de ces CPP
contiennent 2 cases qui n’appartiennent à aucun autre
regroupement) et 2 CPS indiqués par le rouge (toutes leurs
cases appartiennent à d’autres regroupements). Les 2 CPP
ne recouvrent pas toutes les cases égales à 1.
Il faut introduire dans ce cas un des 2 CPS pour recouvrir tous les 1.
Finalement, l’équation minimale (simplifiée) de la fonction H est :
H A D A D B D A D A D AB
Une fonction logique incomplètement définie (ou spécifiée) si l’état de la sortie n’est pas précisée
ou définie pour certaines combinaisons Sa valeur est alors indifférente pour ces combinaisons.
On peut attribuer à la fonction soit un « 0 » ou un « 1 », dans les combinaisons où elle n’est pas
définie, afin d’avoir une forme minimale.
Exercice 1 : Trouver la forme minimale de la fonction F définie par la table de Karnaugh
suivante :
3.5.1. Introduction
Si « a » est une variable binaire, alors idéalement on a les deux résultats suivants : a a 1
a a 0
a a 0
Pratiquement, on peut avoir durant un court temps :
a a 1
Ce phénomène transitoire peut être observé surtout lors des basculements des entrées (les
instants de variation des variables d’entrée).
3.5.2. Les aléas statiques et dynamiques
Exemples :
Un aléa statique de type « 0 » par rapport à une variable a apparait si la fonction S peut se
mettre sous la forme : S a a f (b, c,...) g ( a, b, c,...)
Il y a un aléa statique de type « 1 » entre 2 cases adjacentes égales à 1 et non couvertes par le
même groupement.
2ème forme canonique :
Il y a un aléa statique de type « 0 » entre 2 cases adjacentes égales à 0 et non couvertes par le
même groupement.
Pour retirer les aléas, il faut supprimer les monômes instables Ne pas laisser de cases
adjacentes non couvertes par le même groupement.
Analytiquement, il faut introduire dans l’expression minimale tous les composants 1ers
secondaires (CPS) supprimant les conditions d’apparition des aléas.
Exemple :
Les aléas à supprimer correspondent aux transitions qui se passent à l ’intérieur des
composants premiers principaux. Alors, la transition : X Y sera supprimée.
Finalement, la fonction F simplifiée en tenant compte des aléas est : F bcd acd abc
4.1. Introduction
La synthèse d’un système est la représentation de ce système par une ou plusieurs fonctions
logiques :
La détermination du circuit permettant la réalisation de la fonction logique à l’aide des
opérateurs logiques.
La réalisation du logigramme correspondant à la fonction logique.
4.2.1. Demi-Additionneur
C’est un circuit combinatoire qui permet de réaliser la somme arithmétique de deux nombres
A et B, chacun codé sur un bit (Fig. 4.1).
Exercice 4.1 :
A B S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Tableau 4.1 : Table de vérité d’un demi-Additionneur
ii. Equations de sortie : A partir de la table de vérité, on obtient les équations suivantes
(selon la 1
ére
forme canonique) :
La retenue : R A.B
iii. Logigramme : Un exemple de schéma électronique correspondant au circuit est donné par
la Fig. 4.2 :
Pour faire l’opération d’addition de 2 nombres codés sur plusieurs bits en binaire, il faut tenir
compte de la retenue entrante (retenue initiale) dans chaque addition de poids i (Fig. 4.3).
Addition de poids i
Exercice 4.2 :
(Fig. 4.4).
iii. Simplifier algébriquement ces équations en écrivant la sortie S à l’aide d’une seule porte
i
ii. Equations de sortie : A partir de la table de vérité, on obtient les équations en 1 ére
forme
canonique :
La retenue : Ri Ai Bi Ri 1 Ai B i Ri 1 Ai Bi R i 1 Ai Bi Ri 1
Si Ai .( Bi .Ri 1 Bi .R i 1 ) Ai .( B i .R i 1 Bi .Ri 1 )
Ai ( Bi Ri 1 ) Ai .( Bi Ri 1 ) Ai Bi Ri 1
Remarque 4.1 :
Un Demi-Additionneur peut être réalisé à l’aide d’un additionneur complet où l’une des entrées
est reliée à la masse.
4.2.3. Additionneur de 2 nombres codés sur 4 bits
L’objectif est de réaliser l’addition de deux nombres A et B codés sur 4 bits en se servant des
additionneurs complets : A a3 a2 a1 a0 ; B b3 b2 b1 b0
C’est un circuit qui permet de comparer deux nombres A et B, chacun codé sur un bit (Fig.
4.8).
Exercice 4.3 :
Soit un circuit combinatoire permettant de comparer 2 nombres A et B codés sur 1 bit (Fig.
4.8). Répondre aux questions suivantes :
i. Donner la table de vérité du circuit.
ii. Ecrire les équations logiques de sortie en 1 ére
forme canonique.
iii. Exprimer la sortie Se en fonction de Ss et Si. Réaliser dans ce cas le logigramme (les
schémas logiques des sorties).
iv. Réaliser ensuite le logigramme de ce circuit en utilisant des portes NAND.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Solution :
ii. Equations de sortie : A partir de la table de vérité et en s’intéressant aux termes égaux
à 1 des sorties, on obtient les équations en 1 ére
forme canonique :
Se A B A B Se Se
Expression de la sortie Ss : S s A B
Expression de la sortie Si : Se A B A B A B A B A B . A B
Expression de la sortie Se : Si A B
En se servant des expressions des sorties en fonction des portes NAND, le logigramme
final du circuit devient comme suit :
Exercice 4.4 :
On souhaite réaliser un circuit combinatoire qui de compare 2 nombres A et B codés sur 2 bits
(Fig. 4.11).
entrées ( E , ... , E
0 N 1 ), selon la valeur des entrées d’adressage C0 ... Cn 1 (Fig. 4.12). Si le nombre
N des entrées n’est pas une puissance de 2, alors il est préférable de chercher le nombre n vérifiant
la condition suivante : 2n 1 N 2n .
Exercice 4.5 :
i. Combien faut-il des entrées de sélection (c.-à-d. le nombre n) pour réaliser ce circuit ?
ii. Donner la table de vérité dans ce cas.
iii. Retirer les équations de sortie en 1 ére
forme canonique.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Solution :
i. Puisque le nombre des entrées d’informations est une puissance de 2, alors le minimum
des entrées de commande n qu’on peut choisir est 2. En effet, on a N=2 . Pour la suite de
2
Il joue le rôle inverse d’un circuit multiplexeur, il permet d’aiguiller l’information I d’entrée
vers l’une des N sorties selon la valeur des n entrées de commande ou d’adressage (Fig. 4.13).
Généralement, la condition N=2 est souvent vérifiée. Similairement au circuit multiplexeur, si le
n
nombre N n’est pas une puissance de 2, alors on choisit n qui satisfait l’hypothèse suivante :
2n 1 N 2n .
Exercice 4.6 :
i. Dans cet exemple, on a N=4=2 . Donc le nombre des sorties est une puissance de 2. Par
2
C1 C0 S3 S2 S1 S0
0 0 0 0 0 I
0 1 0 0 I 0
1 0 0 I 0 0
1 1 I 0 0 0
Tableau 4.6 : Table de vérité d’un Démultiplexeur 1 4
iii. Equations des sorties : En se servant de de la table de vérité (Tab. 4.6), on aboutit les
équations des sorties suivantes :
Equation de S0 : Généralement, S0 I si C 0 C1 0 ce qui conduit à l’équation de S : 0
S0 C1 C0 I .
Expression de S1 : on aS 1 I si C0 1 et C1 0 S1 C1 C0 I .
Equation de S3 : Finalement, on a S 3 I si C 0 C1 1 S3 C1 C0 I .
de n entrées d’adressage ( e0 , ... , en 1 ) et de N=2n sorties (Fig. 4.14). Alors, pour chaque
combinaison d’entrée une seule sortie est active à la fois.
Exercice 4.7 :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Solution :
ii. La table de vérité (Tab. 4.7) donne les équations des sorties suivantes :
Equation de S3 : Finalement, on a S 3 1 si e 0 e1 1 S3 e1 e0 .
Exercice 4.8 :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Solution :
i. La table de vérité est similaire au Tableau 4.7 où il faut complémenter les sorties :
A B S3 S2 S1 S0
0 0 1 1 1 0
0 1 1 1 0 1
1 0 1 0 1 1
1 1 0 1 1 1
Tableau 4.8 : Table de vérité correspondante
ii. A l’aide table de vérité, on trouve les équations des sorties suivantes :
Expression de S0 : S0 A B .
Equation de S1 : S1 A B .
Expression de S2 : S2 A B .
Equation de S3 : S3 A B .
Remarque 4.2 :
Ce type de circuits combinatoires est souvent utilisé dans l ’adressage des circuits (Fig. 4.76).
Dans cet exemple, selon la valeur de l’adresse a a un seul type de mémoires sera actif. La mémoire
1 0
Solution :
Expressions de b0 et de b 1 :
b0 a0 et b1 a1 a0
Expressions de b2 et de b3 :
b2 a2 a1 a0 a2 a1 a0 et b3 a3 a2 a3 a1 a0
Logique séquentielle
Chapitre 5 :1Logique
Chapitre : Systèmeséquentielle
de numération et codage des informations Année CPI CPI - 1
On rappelle qu’un circuit combinatoire est un circuit numérique dont les sorties dépendent
uniquement des entrées S f e0 , ... , en (Fig. 5.1). Dans ce type de circuits, la notion du temps
n’existe pas ou pas de mémorisation des états du système.
Contrairement aux systèmes combinatoires, les circuits séquentiels dépendent des variables
d’entrée, des états précédents et du temps. Par conséquent, dans ce type de systèmes la notion du
temps intervient. Un exemple de systèmes séquentiels est représenté sur la Figure 5.1. Dans cet
exemple, on a S f E , St 1 .
5.1.2. Définitions
Une horloge est une variable logique qui passe successivement de 0 à 1 et de 1 à 0 d’une façon
1
périodique (Fig. 5.3a). La fréquence de ce signal est f (f en Hz et T en s). Les circuits
T
séquentiels peuvent se synchroniser sur front montant ou sur front descendant (Fig. 5.3b).
Ce sont des circuits qui contiennent une horloge comme variable d’entrée. Les sorties de ces
systèmes ne sont actives qu’aux instants de basculement de l’horloge.
iii. Les circuits séquentiels asynchrones
Ce sont des systèmes séquentiels qui n’ont pas une horloge comme variable d’entrée ou
fonctionne indépendamment des impulsions du signal d’horloge.
Une bascule RS (Reset, Set) possède la fonction de mémorisation (conserver l’état jusqu’à une
nouvelle commande) et de basculement (changer l’état).
Les schémas de principe d’une bascule RS asynchrone à l’aide des portes NOR et NAND sont
donnés respectivement par les Figures 5.4a-b.
Figure 5.4a : Bascule RS utilisant NOR Figure 5.4b : Bascule RS utilisant NAND
Pour dresser la Table de vérité d’une bascule RS représentée par la Figure 5.5, on considère
p.ex. le schéma de principe utilisant des portes NOR (Fig. 5.4a).
Le cas R 1 et S 0 donne une sortie finale Qn 0 quel que soit l’état précédent Qn 1 (5ème
et 6ème ligne du Tableau 5.1). Par conséquent, si R est active (seule) alors la sortie est mise à
0 d’où vient l’abréviation « R » dans le nom de la bascule désignant Reset. Finalement, on
peut conclure que si R 1 et S 0 alors Qn 0 (Tab. 5.2).
R S Qn-1 Qn Etat
0 0 0 0
Mémorisation
0 0 1 1
0 1 0 1
0 1 1 1
Remise à 1 R S Qn
1 0 0 0 0 0 Qn-1
Remise à 0
1 0 1 0 0 1 1
1 1 0 0 1 0 0
Etat interdit Etat
1 1 1 0 1 1 X interdit
Tableau 5.1 : Table de vérité détaillée Tableau 5.2 : Table de vérité usuelle
d’une bascule RS d’une bascule RS
L’inconvénient d’une bascule RS est l’état interdit, il faut éviter alors cette combinaison. Un
autre type de bascules remédiant à ce problème est la bascule JK (Fig. 5.7). Cette dernière est
similaire à une bascule RS, la seule différence est l’état interdit qui devient une combinaison
autorisée. La sortie dans ce cas est le basculement de l’état précédent. Pour cette bascule, J se
comporte comme une entrée de mise à 1 et K comme une entrée de mise à 0. Par conséquent, la
combinaison J K 0 conduit à la mémorisation de l’état précédent (i.e. Qn Qn 1 )
Remarque 5.1 :
Généralement, les bascules peuvent contenir des entrées (asynchrones) Clear et Preset
Une bascule RS synchrone (Fig. 5.8), notée RSH, est une bascule RS synchronisée par un signal
d’horloge H. Lorsque l’entrée H 0, la bascule est dans l’état mémoire (la sortie conserve l’état
précédent). Lorsque l’entrée H 1 , la bascule fonctionne comme une bascule RS classique.
Une bascule JK synchrone, dite JKH, est une bascule JK synchronisée par l’horloge H. Quand
H 0 , la bascule conserve l’état précédent (mémorisation). Lorsque H 1 , la bascule fonctionne
comme une bascule JK.
5.3.3. Bascule active sur front montant ou descendant
Une bascule active sur front montant (respectivement front descendant) fonctionne
normalement dans les instants des fronts montants (respectivement fronts descendants). Les Figures
5.9a-b montrent des bascule JK à front montant et à front descendant, respectivement.
Figure 5.9a : Bascule JK active sur front montant Figure 5.9b : JK à front descendant
La table de vérité d’une bascule JK active sur front montant (Fig. 5.9a) est donnée par le
Tableau 5.4.
h J K Qn
0 ou 1 x x Qn-1
0 0 Qn-1
0 1 0
1 0 1
1 1 Qn 1
5.3.4. Bascule D
Elle est dite aussi Transparent Latch. La sortie recopie l’état d’entrée « D » sur un niveau
haut (Fig. 5.11a) ou niveau bas (Fig. 5.11b) de l’horloge (ou signal de commande).
Figure 5.11a : D active sur niveau Haut Figure 5.11b : D active sur niveau bas
La table de vérité correspondant à une bascule Latch D active sur niveau haut est donnée par
le Tableau 5.5.
h D Qn
0 0 Qn-1
0 1 Qn-1
1 0 0
1 1 1
Tableau 5.5 : T.V d’une Latch D
Exemple 5.2 :
Un exemple de chronogrammes d’une bascule Latch D active sur niveau haut est montré sur
la Figure 5.12 en considérant la condition initiale Q 0.
C’est une bascule synchronisée sur front montant (Fig. 5.13a) ou front descendant (Fig. 5.13b).
Cours d’Automatismes Page 79 Adil Brouri
Chapitre 5 :1Logique
Chapitre : Systèmeséquentielle
de numération et codage des informations Année CPI CPI - 1
Figure 5.13a : D active sur front montant Figure 5.13b : D sur front descendant
La table de vérité d’une bascule D active sur front montant (Fig. 5.13a) est donnée par le
Tableau 5.5.
h D Qn
0 ou 1 0 Qn-1
0 ou 1 1 Qn-1
0 0
1 1
Tableau 5.6 : T.V d’une bascule (Flip-Flop)
Remarque 5.2 :
Une bascule D est assimilable à une bascule JK où on ajoute un inverseur entre les entrées J
et K ( J K ).
Exemple 5.3 :
La Figure 5.14 montre un exemple de chronogrammes d’une bascule D active sur front
5.4.1. Introduction
Les compteurs et/ou décompteurs sont constitués d’un agencement interne de bascules et
d’opérateurs logiques.
Selon leur câblage, ils permettent de réaliser l’opération de comptage et/ou
décomptage. Par conséquent, la valeur du mot binaire de sortie s’incrémente ou se décrémente à
chaque nouvelle impulsion d’horloge. On distingue 2 types de compteurs / décompteurs :
Les compteurs synchrones : les bascules qui les constituent possèdent la même horloge.
Dans ce cas, on joue sur les entrées d’informations (p.ex. J et K) puisque l’horloge est fixe
pour toutes les bascules.
Les compteurs asynchrones : l’impulsion de progression du compteur est appliquée sur
l’entrée d’horloge de la 1ère bascule, les entrées d’horloge des autres bascules reçoivent des
horloges différentes. Généralement, on fixe les entrées d’informations et on joue sur les
signaux d’horloge pour réaliser le circuit.
i. Définition
Un compteur asynchrone modulo n est un circuit séquentiel qui possède n états (Q0, Q1, ... ,
Qn-1). Généralement, on utilise des bascules JK, RS ou D (une bascule D peut être réalisée à partir
d’une bascule JK). Le type des bascules le plus utilisé est JK, un exemple de circuits asynchrones
à N étages est montré sur la Figure 5.15.
Dans cette partie, on propose d’étudier un compteur asynchrone modulo 8 en se servant des
bascules JK à front descendant. La 1ère étape est la détermination du nombre de bascules, un
compteur modulo 8 signifie 8 états de 0 jusqu’à 7. Pour afficher 7 1112 , on aura besoin de 3
bascules (Q0, Q1 et Q2). En respectant les règles annoncées dans l ’introduction : on fixe les entrées
d’informations et on joue sur les horloges des bascules pour réaliser le circuit.
L’étape suivante consiste alors à tracer le signal d’horloge et les états correspondant aux sorties
Q0, Q1 et Q2. Le Chronogramme correspondant à ce compteur est donné sur la Figure 5.16.
Remarque 5.3 :
Durant la 1ère période de l’horloge du compteur asynchrone (Fig. 5.16), on a dans les sorties
inversées l’état suivant Q Q Q 2 1 0 111 (Fig. 5.18). Ensuite, après la 1ère impulsion de l’horloge l’état
des sorties Q0 , Q1 et Q2 passe à 110 . Ainsi de suite jusqu’à Q2Q1Q0 000 ensuite il repasse à
l’état initial Q2Q1Q0 111 . On remarque que la fonction réalisée par des sorties Q0 , Q1 et Q2 est
un décompteur asynchrone modulo 8 (il décompte de 7 à 0) (Fig. 5.18).
Remarque 5.4 :
Pour réaliser un compteur (respectivement décompteur) dont le modulo n’est pas une
Solution :
Dans ce type de compteurs, toutes les bascules reçoivent la même d’horloge. La fonction de
comptage ou de décomptage est réalisée par l’intermédiaire des fonctions appliquées sur les entrées des
bascules. Généralement, il faut repositionner J et K (R et S ou D) à l'instant t pour obtenir le
basculement désiré à l'instant t+1. On suit la démarche suivante :
Pour mémoriser un 0, il faut que J = 0 quel que soit K.
Pour mémoriser un 1, il faut avoir K = 0 quel que soit J.
Pour basculer de 0 à 1, il faut que J = 1 quel que soit K.
Pour basculer de 1 à 0, il faut que K = 1 quel que soit J.
Ensuite, regrouper les états des entrées des bascules sous forme de table de vérité et simplifier leur
fonction. Finalement, réaliser le système final à l ’aide des fonctions simplifiées trouvées en
Table de vérité :
Q1 Q0 Q1 Q0
Q3 Q2 00 01 11 10 Q3 Q2 00 01 11 10
00 1 1 00 1 1
01 1 1 01 1 1
11 - - - - 11 - - - -
10 1 - - 10 1 - -
J0 1 K0 1
Q1 Q0 Q1 Q0
Q3 Q2 00 01 11 10 Q3 Q2 00 01 11 10
00 0 1 00 1 0
01 0 1 01 1 0
11 - - - - 11 - - - -
10 0 0 - - 10 - -
J1 Q3 Q0 K1 Q3 Q0
Q1 Q0 Q1 Q0
Q3 Q2 00 01 11 10 Q3 Q2 00 01 11 10
00 0 0 1 0 00
01 01 0 0 1 0
11 - - - - 11 - - - -
10 0 0 - - 10 - -
J 2 Q1 Q0 K1 Q1 Q0
Q1 Q0 Q1 Q0
Q3 Q2 00 01 11 10 Q3 Q2 00 01 11 10
00 0 0 0 0 00
01 0 0 1 0 01
11 - - - - 11 - - - -
10 - - 10 0 1 - -
J 3 Q2 Q1 Q0 K3 Q0
Exercice 5.2 :
Q1 Q0 Q1 Q0
Q2 00 01 11 10 Q2 00 01 11 10
0 1 1 0 1 1
1 1 - - 1 1 - -
J0 1 K0 1
Q1 Q0 Q1 Q0
Q2 00 01 11 10 Q2 00 01 11 10
0 0 0 0 0 1
1 1 0 - - 1 - -
J1 Q2 Q0 K1 Q0
Q1 Q0 Q1 Q0
Q2 00 01 11 10 Q2 00 01 11 10
0 1 0 0 0 0
1 - - 1 1 0 - -
J 2 Q1 Q0 K1 Q0