Cours de Logique Combinatoire PDF
Cours de Logique Combinatoire PDF
INTRODUCTION
I – OBJECTIFS
I – 1 OBJECTIFS GENERAUX
L’étude d’une matière est une occasion pour un étudiant d’enrichir sa culture, d’élaborer sa
formation et de pousser son entraînement afin de développer des attributs, des habiletés et des
comportements qui seront appréciés au cours de sa pratique éventuelle de la profession
d’ingénieur. L’électronique Numérique (ELN), est un cours sur les systèmes logiques qui apporte
des connaissances nouvelles, exige un comportement méthodique et propose des projets qui en
font une contribution enrichissante dans la poursuite des objectifs.
D’un aspect pratique, les systèmes logiques sont à la base d’un grand nombre
d’applications dans une variété de domaines. On ne peut en faire le tour complet, mais on peut
citer quelques exemples :
L’instrumentation électronique;
Le matériel informatique;
Les systèmes de communications numériques;
La gestion de l’énergie électrique;
La commande des machines-outils;
L’instrumentation biomédicale.
I – 2 OBJECTIFS SPECIFIQUES
Plus près de nous, sur le plan académique, le cours d’électronique numérique se veut une
introduction générale au domaine numérique.
Un objectif immédiat du cours vise à développer l’habileté à :
percevoir le sens des définitions et concepts de base de la logique;
exploiter des méthodes de design et d’analyse appliquées :
− aux systèmes combinatoires (sans mémoire),
− aux systèmes séquentiels synchrones ou asynchrones (avec mémoire),
sélectionner des composants pour réaliser un système;
interpréter les spécifications des fabricants;
prévoir et observer l’évolution temporelle de signaux;
étudier et exploiter un processeur simple;
II – CONCEPTS FONDAMENTAUX
II – 1 LA REPRESENTATION DES GRANDEURS
Dans nos expériences quotidiennes nous sommes habitués à manipuler des grandeurs.
Exemple : la température, la tension, le courant, la vitesse, le temps, etc.…
La Représentation Analogique (~)
Elle est caractérisée par la proportionnalité entre la grandeur mesurée et une grandeur de
référence.
Exemple : * Thermomètre à mercure
Grandeur d’intérêt = grandeur mesurée = température
Grandeur de référence = mercure (niveau du mercure)
* Tachymètre
Grandeur d’intérêt = vitesse
Grandeur de référence = Aiguille (déviation d’une aiguille)
La représentation analogique est continue. Elle fait correspondre à une grandeur une autre
grandeur qui lui est directement proportionnelle.
La représentation Numérique (#)
Une grandeur que l’on représente numériquement n’est pas proportionnelle à une autre
grandeur. Elle est plutôt exprimée au moyen de symboles appelés chiffres. Elle est discontinue ou
discrète.
REPRESENTATION ANALOGIQUE REPRESENTATION NUMERIQUE
. Lecture incertaine . Lecture précise
. Elle est continue . Elle est discrète ou discontinue
. Elle est fidèle à la grandeur mesurée . Elle n’est pas fidèle à la grandeur
. La mesure n’est pas faite au moyen mesurée
de symbole . La mesure est faite avec des symboles.
SOLUTIONS
1°) Binaire Décimal Octal Hexadécimal
Nbr de combinaison sur 5 chiffres
2°)
Nombre max sur 5 chiffres
Nbr max sur 5 chiffres en décimal
Tout dispositif dont le fonctionnement se résume en deux états distincts peut être utilisé
pour représenter une grandeur binaire.
Exemple : un interrupteur (soit fermé, soit ouvert),
une lampe (soit allumée, soit éteinte), etc…
L’information binaire dans les équipements d’électronique numérique est représentée par
la présence ou l’absence du courant ou de la tension aux bornes d’entrées et de sorties du circuit
(Bit «1» 5v et Bit «0» 0v ). Dans la pratique on associe au bit «0» la plage de tension entre
0 et 0,8V et au bit «1» celle entre 2 à 5V par exemple.
II – 6 CIRCUITS NUMERIQUES
Les circuits numériques sont conçus pour réagir aux tensions d’entrée s’inscrivant dans les
plages associées aux valeurs binaires et fournissent des tensions de sortie appartenant à ces mêmes
plages. Ils sont encore appelés circuits logiques et se présentent en général sous forme de circuits
intégrés (CI) fabriqués selon plusieurs technologies : TTL, CMOS, ECL, etc.…
TTL : Transistor Transistor Logic
CMOS : Complementary Metal Oxide Semi-conductors
ECL : Emitter Coupled Logic
MODULE I
Chapitre I
PAGE HISTOIRE
L'étendue des domaines d'intérêt et du génie de Pascal est
impressionnante : inventeur de la machine à calculer,
concepteur des premiers transports en commun en France,
artisan de l'assèchement des marais poitevins, polémiste
brillant contre les jésuites dans les Provinciales, apologiste
de la foi chrétienne avec les fragments rassemblés sous le
Pascal, Blaise (1623-1662), titre de Pensées, il fut également l'un des plus brillants
mathématicien, physicien, théologien, prosateurs de la langue française et l'une des plus grandes
mystique, philosophe, moraliste
et polémiste français du XVIIe siècle.
figures du XVIIe siècle français.
Microsoft ® Encarta ® 2007. © 1993-2006 Microsoft Corporation.
I – SYSTEMES DE NUMERATION
Il s’agit ici d’effectuer des conversions inter – bases.
I – 1 CONVERSION BASE 10 VERS UNE BASE B (2, 8 OU 16)
Méthode de conversion :
Elle consiste à faire une division successives du nombre décimal par B jusqu’à obtenir
un quotient nul. Le nombre dans la base B correspond aux restes des divisions faites
dans le sens inverse où ils ont été obtenus. Pour la partie fractionnaire on procède à des
multiplications successives par B en conservant la partie entière de chaque résultat.
APPLICATIONS
Convertir le nombre 100 en binaire, octal et en hexadécimal
Convertir le nombre 175,6 en binaire, octal et en hexadécimal
SOLUTIONS
BINAIRE OCTAL HEXADECIMAL
100
175,6
SOLUTIONS
DECIMAL
% 11011001
% 11011,1001
(765)8
(524,46)8
$ F50A
$ C0CA
I – 3 CONVERSION : DE 2M VERS 2 / 2 VERS 2M
Méthode de conversion :
2m vers 2 : expansion d’un digit en m bits
Elle consiste à convertir chaque digit de la base B (avec B = 2m) en son équivalent binaire
sur m bits tout en respectant l’ordre de disposition des différents digits.
2 vers 2m : regroupement de bits par paquets de m
Elle consiste à faire des regroupements de m bits de la droite vers la gauche pour la partie
entière et de la gauche vers la droite pour la partie fractionnaire. Chaque regroupement représente
un digit dans la base B (avec B = 2m)
6 2 2 , 6 6 3 base 8
110 010 010 , 110 110 011 base 2
APPLICATIONS
Convertir les nombres binaires suivants en octal et en hexadécimal
- % 101010101 %1101101100,10101
Convertir les nombres suivants en binaire
- $1A30, 15A (135,047)8
SOLUTIONS
OCTAL HEXADECIMAL
%101010101
%1101101100,10101
BINAIRE
$1A30, 15A
(135,047)8
II – LES CODES
Le codage est une opération consistant à faire correspondre à des nombres, des lettres ou
des mots, des symboles.
Exemples de Codes : Code Morse, Code Verlan, Code BCD, Code de la route, …
II – 1 – QUELQUES CODES NUMERIQUES
II – 1 – 1 Les BCD (Binary Coded Decimal)
Il établit une correspondance entre un nombre décimal et son équipement BCD. La
correspondance est telle que chaque chiffre du nombre décimal est remplacé par son équivalent
binaire exprimé sur 4 bits.
APPLICATIONS
Convertir en BCD les nombres 421 et $85
SOLUTIONS
421 =
$85 =
N.B : Les six combinaisons 1010 – 1011 – 1100 – 1101 – 1110 et 1111 sont interdites en BCD.
SOLUTIONS
421 =
150,69 =
N.B : Les six combinaisons 0000, 0001, 0010, 1101, 1110 et 1111 sont interdites en Excess+3
Gn = Bn
Gn-1 == (Bn + Bn-1) mod 2
Gn-2 = (Bn-1 + Bn-2) mod 2 Pour i allant de 0 à n-1
. . .
. . . Gi = (Bi+1 + Bi) mod 2
. . .
G1 == (B2 + B1) mod 2 pour un nombre de n bits.
G0 == (B1 + B0) mod 2
APPLICATIONS
Déterminer les deux combinaisons qui précèdent et les deux qui suivent la représentation en
Gray de 185.
Convertissez les nombres suivants en BCD, en EXCESS+3 et en GRAY :
$46A ; 1345 ; % 11001010001
SOLUTIONS
Sont appelés ainsi, les codes qui traduisent les lettres, les chiffres et les caractères spéciaux en
binaire, octal, hexadécimal, ou décimal. Le code alphanumérique le plus connu est le code ASCII
(American Standard Code for Information Interchange).
ASCII ( ou ASCII standard ) : Code sur 7 bits ( 0 à 127 = 27 – 1 ) , au total 128 caractères
sont codés.
ASCII étendu : Code sur 8 bits (0 à 255 = 28 – 1 ) , au total 256 caractères sont codés.
EBCDIC ( Extended Binary Coded Decimal Interchange Code ) : Code sur 8 positions
binaires (0 à 255 = 28 – 1) ) , au total 256 caractères sont codés.
Le code Baudot : Code télégraphique à 5 bits 0 à 31 = 25 – 1, au total 32 caractères sont
codés.
Code ASCII du caractère L = 64 + rang ( L ) =
Code ASCII du caractère A = 64 + rang ( A ) =
Code ASCII du caractère r = 96 + rang ( r ) =
Document annexe 2 Table des codes ASCII standards 7 bits (256 Caractères)
Parité « Paire »
Enoncé : Le nombre de «1» émis ou reçus par caractère doit toujours être pair.
Parité « Impaire »
Enoncé : Le nombre de «1» émis ou reçus par caractère doit toujours être impair.
Exemple: En parité paire donner le code des caractères suivants en ASCII :
A=% E=% X=%
a=% e=% 5= %
Donnez pour les mêmes caractères, les codes équivalents en parité impaire ?
SOLUTIONS
Chapitre II
Ce chapitre est à étudier en travaux dirigés à travers des exercices sur les opérations
d’addition, de soustraction, de multiplication et de division de nombres entiers.
Chapitre III
Conclusion : Sur N bits, on peut représenter en binaire signé les nombres allant de – (2N-1 –1)
à + (2N-1 –1).
Conclusion :
La représentation d’un entier positif en Complément à 1 est la même que celle en
binaire signé.
Sur N bits en Complément à 1 on peut représenter les nombres allant de – (2N-1 –1)
à + (2N-1 –1).
APPLICATIONS
Représentez les nombres +75 et -75 en complément à 1 sur N bits dans les différents cas
suivants : N = 10 ; N = 7 ; N = 12
SOLUTIONS
N=7 N = 10 N = 12
+75
-75
-9 = +9 =
+4 = +4 =
-5 = +13 =
6
8
I – 3 – 2 Soustraction par la méthode du complément à 2
La démarche utilisée en complément à 1 est également valable pour la représentation en
complément à 2. La technique est la même sauf que l’on ne réinjecte pas le débordement.
APPLICATIONS
+9 = +9 =
+4 = -4 =
+13 = +5 =
-9 = +9 =
+4 = +4 =
-5 = +13 =
APPLICATIONS
Représentez chacun des nombres décimaux signés que voici selon la représentation en
binaire signé, complément à 1 et en complément à 2. Utiliser un total de 8 bits y compris le bit
de signe. +32 –14 +63 –104 –1
Trouvez la valeur décimale correspondant aux représentations en complément à 2 suivantes :
11101 ; 01111011 ; 01111111 ; 10000000 ; 11111111 ; 10000001
Effectuez les opérations suivantes avec les notations en complément à 2. Utilisez pour
chaque nombre 8 bits y compris le bit de signe.
+9 + 6 +14 –17 +19 –24 – 48 –80
SOLUTIONS
Binaire signé Complément à 1 Complément à 2
+32
-14
+63
-104
-1
11101 01111011 01111111 10000000 11111111 10000001
Décimal
Exemple :
100,75 = + 0,0010075*10 ? = + 0,010075*10 ? = + 0,10075*10 ? = + 1,0075*10 ?
= + 10,075*10 ? = etc …
Pour reconnaître la mantisse normalisée on procède comme suit :
Dans une base B quelconque, une mantisse normalisée M doit vérifier les conditions :
B-1 M < B0 ou encore (0,1)B M < (1)B
APPLICATIONS
Nombre Base 2 Base 8 Base 10 Base 16
+ 1000
- 750.000
+ 0,000375
$ 75A,68
(0,065)8
% 1110001110,1101
Norme IBM
Norme IEEE
Pour normaliser une mantisse il faut toujours la convertir dans la base donnée et vérifier
qu’elle satisfait la condition : B-1 M < B0
Signe de la mantisse
- 1
+0
L’Exposant est soit représenté
en Complément à 2
en Décalage
. Si on précise une valeur pour ce décalage soit d par exemple. Edéc = Eréel + d
. Si on ne précise pas la valeur du décalage, on calcule un décalage maximal dmax qui
est : dmax = 2(nbre de bits de l’exposant – 1) dans ce cas on dit que l’exposant est biaisé.
APPLICATIONS
Représenter le nombre 10,50 en virgule flottante format simple précision avec la norme
IEEE.
Trouver le nombre décimal dont la représentation en virgule flottante format IEEE simple
précision donne $ 84163852
NB : La norme IEEE utilise les bits de 0 à 23 pour la mantisse et les bits de 25 à 31 pour
l’exposant. L’exposant est représenté en décalage et exprime une puissance de 16. Le bit 24
correspond au signe de la mantisse.
SOLUTIONS
Chapitre IV
PAGE HISTOIRE
Essentiellement autodidacte, Boole est nommé, en 1849,
professeur de mathématiques au Queen’s College de Cork
(Irlande). En 1854, dans Recherches sur les lois de la
pensée, Boole décrit un système algébrique qui sera plus
tard connu sous le nom d’algèbre booléenne. Dans ce
système, les propositions logiques sont indiquées par des
symboles et peuvent être exécutées par des opérateurs
mathématiques abstraits qui correspondent aux lois de la
(1815-1864),
Boole, George
logique. L’algèbre booléenne occupe une place primordiale
mathématicien et logicien anglais. dans l’étude des mathématiques pures et dans la conception
des ordinateurs modernes.
Microsoft ® Encarta ® 2007. © 1993-2006 Microsoft Corporation.
I - L’ALGEBRE DE BOOLE
Un processeur est composé de transistors permettant de réaliser des fonctions sur des
signaux numériques. Ces transistors, assemblés entre eux forment des composants permettant de
réaliser des fonctions très simples. A partir de ces composants il est possible de créer des circuits
réalisant des opérations très complexes.
L'algèbre de Boole (du nom du mathématicien anglais Georges Boole 1864 - 1915) est un
moyen d'arriver à créer de tel circuit. L'algèbre de Boole est une algèbre se proposant de traduire
des signaux en expressions mathématiques. Pour cela, on définit chaque signal élémentaire par des
variables logiques et leur traitement par des fonctions logiques. Des méthodes (table de vérité)
permettent de définir les opérations que l'on désire réaliser, et à transcrire le résultat en une
expression algébrique.
Grâce à des règles, ces expressions peuvent être simplifiées. Cela va permettre de
représenter grâce à des symboles un circuit logique, c'est-à-dire un circuit qui schématise
l'agencement des composants de base (au niveau logique) sans se préoccuper de la réalisation au
moyen de transistors (niveau physique).
Méthode de résolution
Pour traiter un problème en logique combinatoire, il faut respecter les différentes phases
suivantes :
(1) Définir et poser les données du problème.
(2) Déterminer toutes les variables d’entrée (organes de commande).
(3) Déterminer toutes les variables de sortie (récepteurs).
(4) Dresser la table de vérité du système.
(5) Choisir la méthode de résolution utilisée :
- méthode algébrique
- méthode graphique.
Si la méthode algébrique est retenue :
(6) Déduire de la table de vérité les équations des variables de sortie.
(7) Simplifier ces équations par l’algèbre logique.
I – 1 – 1 Définitions
Etat logique: Les états logiques sont représentés par 0 et 1.
Variable logique : C'est une grandeur représentée par un symbole, qui peut prendre un état logique
(0 ou 1). Elle est généralement représentée par une lettre alphabétique et correspond soit à une
entrée soit à une sortie. On l’appelle encore variable booléenne.
Exemple : Entrée Sortie
Interrupteur K Lampe L
K=0 ouvert L=0 éteinte
K=1 fermé L=1 allumée
Variable d'entrée
Les variables d'entrée sont celles sur lesquelles on peut agir directement. Ce sont des
variables logiques indépendantes.
Variable de sortie
Variable contenant l'état de la fonction après l'évaluation des opérateurs logiques sur les
Variables d'entrée.
Fonction logique: Elle représente un groupe de variables reliées par des opérateurs logiques.
Signal Logique
Quantité physique qui représente une variable logique dans l'un ou l'autre de ses deux états
possibles.
Système Logique
Ensemble de composants qui effectuent des fonctions sur des signaux logiques dans le
but de stocker, communiquer ou de transformer de l'information.
I – 1 – 3 Fonction logique
Les opérations logiques contiennent déjà des fonctions logiques élémentaires. Une relation de
variables logiques obtenues à partir d’opérations logiques est une fonction logique.
Exemple :
Théorème2 : La négation d’un produit de variables est égale à la somme des négations de
chacune des variables.
Les théorèmes de Boole sont des règles utilisées pour la simplification des expressions
logiques, ce qui permet donc de réduire d’une façon significative la dimension des circuits
numériques.
Dualité de l’Algèbre de Boole
Exemple : F = X.Y+X.Y+X.Y
Exemple :
C’est la forme canonique obtenue en mettant une double barre sur la première forme canonique.
C’est la forme canonique obtenue en mettant une double barre sur la deuxième forme canonique.
N.B : En utilisant la forme Minterm, on dit que l’on fait de la logique positive et pour le
Maxterm l’on fait de la logique négative.
APPLICATIONS
Réaliser un circuit logique qui donne 1 en sortie quand A est égal à C et que B est différent
de D.
APPLICATIONS
Simplifier les équations S1, S2 et S3 déterminées précédemment et proposer les
logigrammes correspondants.
Exemples de regroupements possibles :
00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10
00 0 1 1 0 00 0 1 0 1 00 0 1 0 0 00 1 0 0 1
01 1 0 0 1 01 0 0 0 0 01 0 1 0 0 01 0 0 0 0
11 11 11 11
1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0
10 10 10 10
0 1 1 0 0 0 0 1 0 1 1 0 1 0 0 1
00 0 0 0 0 00 0 0 0 0 00 0 1 1 0
01 0 0 1 1 01 0 0 1 0 01 1 1 0 0
11 0 1 1 1 11 0 1 0 0 11 1 1 0 0
10 0 1 1 1 10 1 0 1 0 10 1 1 0 0
Résumé de la méthode :
On détermine le nombre de variables d’entrée afin de connaître la taille des tableaux.
On détermine le nombre de variables de sortie afin de définir le nombre de tableaux à
effectuer.
Affecter aux différents produits de l’équation non simplifiée une case du tableau en respectant
le code Gray.
Introduire la fonction logique dans le tableau en positionnant à « 1 » les cases qui valident la
fonction de sortie.
Effectuer les groupements de cases adjacentes.
Sortir la fonction simplifiée en éliminant la ou les variables d’entrée qui changent d’état.
APPLICATIONS
Sortir l’équation simplifiée des tableaux suivants :
00 01 11 10 00 01 11 10 00 01 11 10
00 01 11 10
00 0 1 1 1 00 1 1 0 0 00 1 0 0 1
00 0 1 1 0 01 0 1 1 1 01 0 1 0 0 01 0 1 1 1
01 0 0 1 1 11 11
0 1 1 0 1 1 0 0 11 0 1 1 1
10 10
0 1 1 0 1 0 0 1 10 1 0 0 1
Introduire les équations suivantes dans un tableau de Karnaugh et les simplifier :
F1 = /abc + c/b/a + /bc/a + /c/ab
F2 = ab + /ba
F3 = /d/cba + /dcb/a + /dc/ba + /d/cba
F4 = dca + /bc/a + /ca
c b a S F H
0 0 0 1 0 1
0 0 1 1 0 1
0 1 0 1 0 1
0 1 1 0 1 1
1 0 0 0 0 1
1 0 1 1 1 1
1 1 0 1 0 1
1 1 1 0 1 0
Chapitre V
APPLICATIONS
Réaliser un décodeur 1 of 64 à partir de décodeurs 1 of 8
Pour exciter un segment, il faut appliquer une tension alternative (+/-) entre le segment et
la plaque arrière (commune à tous les segments).
Exemples d’appareils
Un pilote décodeur BCD 7 segments est un circuit combinatoire qui fait correspondre à un
code BCD appliqué sur ses entrées un code 7 segments permettant de visualiser le chiffre
correspondant au code BCD.
III – 1 DEFINITION
Un multiplexeur est un circuit disposant de plusieurs voies d’entrées et d’une seule voie de
sortie. C’est un circuit combinatoire qui aiguille l’une de ses voies d’entrées sur sa seule voie de
sortie en fonction de la combinaison appliquée sur ses entrées de sélection.
APPLICATIONS
Réaliser la fonction G = A + BC avec un multiplexeur
Un comparateur est un circuit combinatoire qui sert à comparer des mots binaires en entrée
et dispose de trois sorties S, E et I.
V – 1 COMPARATEUR 4 BITS
V – 2 COMPARATEUR 8 BITS
VI – 3 ADDITIONNEURS 4 BITS