en102 : logique combinatoire et séquentielle - introduction
Post on 20-Jun-2022
32 Views
Preview:
TRANSCRIPT
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
EN102 : Logique combinatoire et séquentielleIntroduction
Camille Leroux
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 1 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Objectif final
Vidéo projet final
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 2 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
1 Introduction
2 Représentation des nombres dans une base b
3 Fonctions logiques et Algèbre de Boole
4 Les circuits combinatoires
5 Les circuits séquentiels synchrones
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 3 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Objectifs
Plan
1 IntroductionObjectifsOrganisation et évaluation
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 4 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Objectifs
Quelques notions abordées
• Représentation des nombres en bases 2, 8, 10 et 16
• Complément à 2
• Arithmétique binaire (addition, soustraction, comparaison, multiplication)
• Algèbre de Boole (théorème de De Morgan, formes canoniques, formes simplifiées,Tableau de Karnaugh, ...)
• Logique combinatoire (portes logiques, multiplexage, décodage, ...)
• Le principe de la mémorisation de l’information (bascule, registres)
• Logique séquentielle (compteur, machine d’états)
• Circuits FPGA
• ...
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 5 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Objectifs
Quelques objectifs pédagogiques
• Maîtriser la représentation de l’information dans les basesbinaires, octales et hexadécimales.• Maîtriser l’arithmétique binaire élémentaire : complément à 2,
addition, soustraction, multiplication.• Concevoir des circuits numériques intégrant à la fois de la logique
combinatoire et de la logique séquentielle synchrone.• Analyser un circuit numérique et en déduire son comportement
dans le temps (chronogramme).• Décrire le comportement d’architectusres de circuits numériques
en utilisant le langage VHDL.• Simuler le comportement d’architectures de circuits numériques.• Synthétiser et implémenter sur circuit FPGA des ciruits
numériques.• ...
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 6 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Organisation et évaluation
Plan
1 IntroductionObjectifsOrganisation et évaluation
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 7 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Organisation et évaluation
Organisation
Les enseignements se déroulent en plusieurs phases.• 5 Cours d’1h20 (6h40)• 1 QCM d’1h20 (algèbre de Boole et arithmétique binaire)• 6 séances de TD + TP de 4h (24h00)• 4 séances de Projet de 4h (16h00)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 8 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Organisation et évaluation
Evaluation
• L’évaluation inclut• un QCM,• un rapport de projet,• un examen écrit de 2h.
• Une partie des concepts vus en cours sont évalués lors d’un QCM(Algèbre de Boole, arithmétique binaire).• L’autre partie des concepts est utilisée en TD, TP et projet
(circuits numériques).• Les TP servent à introduire les principes de conception
numériques nécessaires pour la réalisation du projet.• Le projet est évalué par un rapport écrit.• L’ensemble des concepts vus dans les enseignements font
également l’objet d’un examen écrit de 2h.Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 9 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Plan
1 Introduction
2 Représentation des nombres dans une base b
3 Fonctions logiques et Algèbre de Boole
4 Les circuits combinatoires
5 Les circuits séquentiels synchrones
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 10 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Représentation
Plan
2 Représentation des nombres dans une base bReprésentationConversionL’addition en base 2Les nombres signésLa soustraction en base 2Dynamique et précisionExercicesAutres bases utiles
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 11 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Représentation
Représentation polynômiale de l’information
Tout nombre N exprimé dans une base b peut se décomposer sous laforme polynômiale :
N(b) = S(anbn + an−1b
n−1 + ...+ a0b0 + a−1b−1 + ...+ a−mb
−m)
avec {ai,b,n,m} ∈ N+, 0 6 ai < b, S = ±1
Exemples en base 10 :
1337(10) = 1× 103 + 3× 102 + 3× 101 + 7× 100
42, 83(10) = 4× 101 + 2× 100 + 8× 10−1 + 3× 10−2
Exemples en base 2 :
1011(2) = ...010, 11(2) = ...
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 12 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Représentation
Représentation polynômiale de l’information
Tout nombre N exprimé dans une base b peut se décomposer sous laforme polynômiale :
N(b) = S(anbn + an−1b
n−1 + ...+ a0b0 + a−1b−1 + ...+ a−mb
−m)
avec {ai,b,n,m} ∈ N+, 0 6 ai < b, S = ±1
Exemples en base 10 :
1337(10) = 1× 103 + 3× 102 + 3× 101 + 7× 100
42, 83(10) = 4× 101 + 2× 100 + 8× 10−1 + 3× 10−2
Exemples en base 2 :
1011(2) = 1× 23 + 0× 22 + 1× 21 + 1× 20 = 9(10)010, 11(2) = 0× 22 + 1× 21 + 0× 20 + 1× 2−1 + 1× 2−2 = 2, 75(10)Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 13 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Représentation
La base binaire en électronique numérique
• Électronique numérique : deux niveaux logiques• Mot binaire est un groupe ordonné d’éléments binaires• Élément binaire : nommé bit (= binary digit)• Mot de W bits → 2W combinaisons distinctes.
Plusieurs tailles de mots binaire sont normalisées :
W Nombre de combinaisons
8 25616 65 53624 16 777 21632 4 294 967 29664 18× 1018
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 14 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Conversion
Plan
2 Représentation des nombres dans une base bReprésentationConversionL’addition en base 2Les nombres signésLa soustraction en base 2Dynamique et précisionExercicesAutres bases utiles
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 15 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Conversion
Conversion d’une base à une autre
1 Soit un nombre X(b), faire une division par b de ce nombre revient àappliquer un décalage de la virgule vers la droite sur la représentation dunombre.Exemples : 432(10)/10(10) = 43, 2(10), 110101(2)/10(2) = 11010, 1(2)
2 Dans le cas où X(b) est un nombre entier, le chiffre qui apparait après lavirgule correspond au symbole d’ordre 0 (a0).
3 Après troncature du résultat, appliquer une nouvelle division par b permetde faire apparaître le coefficient a1.
=> En effectuant des divisions successives d’un nombre entier dans une base b,on peut obtenir les coefficients de sa représentation dans la base b.Exemple : Convertir le nombre 17(10) en base 2
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 16 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Conversion
Conversion d’une base à une autre
1 Soit un nombre X(b), faire une multiplication par b de ce nombre revient àappliquer un décalage vers la gauche sur la représentation du nombre.Exemples : 0, 135(10) × 10(10) = 1, 35(10), 0, 110101(2) × 10(2) = 1, 10101(2)
2 Dans le cas où X(b) ne contient pas de partie entière, le chiffre quiapparait avant la virgule correspond au symbole d’ordre -1 (a−1).
3 Après suppression de la partie entière du résultat, appliquer une nouvellemultiplication par b permet de faire apparaître le coefficient a−2.
=> En effectuant des multiplications successives d’un nombre n’ayant pas departie entière, dans une base b, on peut obtenir les coefficients de sareprésentation dans la base b.Exemple : Convertir le nombre 0, 625(10) en base 2. Même chose pour le nombre0, 1(10)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 17 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Conversion
Exercices
1 Convertir les nombres binaires suivants en décimal1 101012 11,1013 1011,14 111,11
2 Convertir les nombres décimaux suivants en binaire sur 8 bits1 612 933 1,254 0,186
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 18 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
L’addition en base 2
Plan
2 Représentation des nombres dans une base bReprésentationConversionL’addition en base 2Les nombres signésLa soustraction en base 2Dynamique et précisionExercicesAutres bases utiles
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 19 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
L’addition en base 2
Addition binaire, sur 8 bits
Même principe qu’en décimal :
1 1 1 1
52 → 0 0 1 1 0 1 0 0+ 45 → 0 0 1 0 1 1 0 1
= 97 → 0 1 1 0 0 0 0 1Attention au dépassement de capacité !
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 20 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les nombres signés
Plan
2 Représentation des nombres dans une base bReprésentationConversionL’addition en base 2Les nombres signésLa soustraction en base 2Dynamique et précisionExercicesAutres bases utiles
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 21 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les nombres signés
Représentations des entiers signés
2 représentations possibles :
• Signe + magnitude
• x = (−1)S.W−2∑i=0
ai2i
• 1 bit de signe (poids fort), (W − 1) bits pour le module• 2 représentations pour 0• Additionneurs différents suivant le signe
• Complément à deux (CA2)
• x = −2SS+W−2∑i=0
ai2i =⇒ x > 0, x = x+ 1
• 2W−1 − 1 valeurs positives et 2W−1 valeurs négatives• Une seule représentation pour 0• Additionneur unique
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 22 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les nombres signés
Complément à 10
Constat : En base 10 : 427 = 00427 = ...00427Problème : Trouver une représentation de X telle que :
...X4 X3 X2 X1 X0
+ ...0 0 4 2 7
= ...0 0 0 0 0→ X = ..99573
• X = ..99573 est une représentation de l’opposé de 427 car427+ X = 0• L’opposé d’un nombre Y en base 10 se représente comme le
complément à 9 de Y auquel on ajoute 1.• Exemple : Calculez 7-15 en utilisant le complément à 10• De manière encore plus générale, l’opposé d’un nombre Y en baseb se représente comme le complément à (b− 1) de Y auquel onajoute 1
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 23 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les nombres signés
Complément à 2
Constat : En base 2 : 110 = 00110 = ...00110Problème : Trouver une représentation de X telle que :
...X4 X3 X2 X1 X0
+ ...0 0 1 1 0
= ...0 0 0 0 0→ X = ..11010
• L’opposé d’un nombre Y en base 2 se représente comme lecomplément à 1 de Y auquel on ajoute 1.• le MSB d’un nombre positif est toujours 0• le MSB d’un nombre négatif est toujours 1• On peut calculer (−Y) à partir du complément de Y, ce dernier
s’obtenant par une simple inversion des bits de Y : (−Y) : Y + 1
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 24 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les nombres signés
Exemples CA2, sur 4 bits
7→ 0111• On complémente : 1000• On ajoute 1 : 1001→ −7
1→ 0001• On complémente : 1110• On ajoute 1 : 1111→ −1
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 25 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La soustraction en base 2
Plan
2 Représentation des nombres dans une base bReprésentationConversionL’addition en base 2Les nombres signésLa soustraction en base 2Dynamique et précisionExercicesAutres bases utiles
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 26 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La soustraction en base 2
Addition binaire signée, sur 8 bits
Même principe grâce à la représentation CA2 :
52 → 0 0 1 1 0 1 0 0+ -45 → 1 1 0 1 0 0 1 1
= 7 → 0 0 0 0 0 1 1 145 → 0 0 1 0 1 1 0 1
+ -52 → 1 1 0 0 1 1 0 0
= -7 → 1 1 1 1 1 0 0 1
Attention au dépassement de capacité !
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 27 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La soustraction en base 2
CA2 et extension du nombre de bits
7 01116 01105 01014 01003 00112 00101 00010 0000-1 1111-2 1110-3 1101-4 1100-5 1011-6 1010-7 1001-8 1000
Extension sur 8 bits :
7 000001116 000001105 000001014 000001003 000000112 000000101 000000010 00000000-1 11111111-2 11111110-3 11111101-4 11111100-5 11111011-6 11111010-7 11111001-8 11111000
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 28 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La soustraction en base 2
Exercice
Soit deux opérandes X = 192 et Y = 78 que l’on souhaite représenteren CA2.
1 Combien de bits faut-il pour représenter ces deux nombressachant qu’il seront codés au même format ?
2 Réaliser les opérations suivantes :1 A = X + Y2 B = X - Y3 C = -X + Y4 D = -X - Y
3 Quelles sont les précautions à prendre pour que les résultat soientcorrects ?
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 29 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Dynamique et précision
Plan
2 Représentation des nombres dans une base bReprésentationConversionL’addition en base 2Les nombres signésLa soustraction en base 2Dynamique et précisionExercicesAutres bases utiles
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 30 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Dynamique et précision
Codage des données réelles à valeur dans R
2 formats sont possibles :• Virgule fixe
• Virgule flottante
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 31 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Dynamique et précision
Virgule fixe
Pour pouvoir effectuer des opérations arithmétiques, dans le cas de lavirgule fixe, il faut savoir où est placée la virgule.Représentation Qm :
• m bits pour la partie fractionnaire,• Résolution : q = 2−m
Nous avons donc une dynamique limitée par la précision et le nombrede bits total
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 32 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Dynamique et précision
Dynamique et précision en virgule fixe
N(b) = S(anbn + an−1b
n−1 + ...+ a0b0 + a−1b−1 + ...+ a−mb
−m)
avec {ai,b,n,m} ∈ N+, 0 6 ai < b, S = ±1La dynamique ∆ d’un format de représentation, est la différence entre
la plus grande et la plus petite valeur représentable dans ce format.La résolution δ est la différence entre deux valeurs consécutivesreprésentées dans ce format.Pour les nombres non-signés au format (b,n,m) :∆ = bn+1 − b−m et δ = b−m
Exemple : Quelle est la dynamique et la résolution offerte par leformat (10,1,1) ? (2,1,2) ?Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 33 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Dynamique et précision
Dynamique et précision en virgule fixe
Format (10,1,1) :b = 10,n = 1,m = 1 => ∆ = 99.9 et δ = 0.1Format (2,1,2) :b = 2,n = 1,m = 2 => ∆ = 3.75 et δ = 0.25
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 34 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Dynamique et précision
Virgule flottante
Permet d’augmenter la dynamique mais utilisation plus complexe
N =M× 2E
M : Mantisse, E : ExposantSur 32 bits, 1 bit de signe, 8 bits pour l’exposant et 23 pour la
mantisse (Norme IEEE).
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 35 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Exercices
Plan
2 Représentation des nombres dans une base bReprésentationConversionL’addition en base 2Les nombres signésLa soustraction en base 2Dynamique et précisionExercicesAutres bases utiles
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 36 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Exercices
Exercices
(1030)10 = ( )2
(1030)10 = ( )8
(1030)10 = ( )16
(ABDE, 1F)16 = ( )8
(ABDE, 1F)16 = ( )10
(31, 35)10 = ( )2 (sur 8 bits)
(34, 703125)10 = ( )2 (sans approximation)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 37 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Exercices
Exercices
(10001001)Q1 = ( )10
(10001001)Q2 = ( )10
(10001001)Q3 = ( )10
(10001001)Q4 = ( )10
(10001001)Q6 = ( )10
(21, 25)10 = ( )Q3
(21, 20)10 = ( )Q5
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 38 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Exercices
Exercices
(10001001)Q1 = (68.5)10
(10001001)Q2 = (34.25)10
(10001001)Q3 = (17.125)10
(10001001)Q4 = (8.5625)10
(10001001)Q6 = (2, 140625)10
(21, 25)10 = (10101010)Q3
(21, 20)10 ≈ (1010100110)Q5
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 39 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Autres bases utiles
Plan
2 Représentation des nombres dans une base bReprésentationConversionL’addition en base 2Les nombres signésLa soustraction en base 2Dynamique et précisionExercicesAutres bases utiles
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 40 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Autres bases utiles
Bases de numération courantes
Les bases usuelles :• La base décimale : b = 10 (0→ 9)• La base binaire : b = 2 (0→ 1)• La base octale : b = 8 (0→ 7)• La base hexadécimale : b = 16 (0→ F)
Les conversions les plus utilisées :• base 10↔ base b• base 2↔ base 8, 10, 16
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 41 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Autres bases utiles
Tableau de correspondance
Base 10 Base 2 Base 8 Base 16
0 0 0 01 1 1 12 10 2 23 11 3 34 100 4 45 101 5 56 110 6 67 111 7 78 1000 10 89 1001 11 910 1010 12 A11 1011 13 B12 1100 14 C13 1101 15 D14 1110 16 E15 1111 17 F16 10000 20 10
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 42 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Autres bases utiles
Les bases octales et hexadécimales
Permettent de condenser la représentation binaire par unetransformation rapide :
• Un chiffre en base octale = 3 bits,
• Un chiffre en base hexadécimale = 4 bits.
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 43 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Autres bases utiles
La base octale
Soit le mot binaire
X(2) = a6.26 + a5.25 + a4.24 + a3.23 + a2.22 + a1.21 + a0.20
on peut le factoriser comme étant
X(2) = (a6.20)82+(a5.22+a4.21+a3.20)81+(a2.22+a1.21+a0.20)80
soit en base 8 :X(8) = A282 +A181 +A080
Les Ai sont la représentation en base 8 des nombres binairesfactorisés et Ai = {0, 1, ..., 7}
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 44 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Autres bases utiles
La base hexadécimale
Soit le mot binaire
X(2) = a6.26 + a5.25 + a4.24 + a3.23 + a2.22 + a1.21 + a0.20
on peut le factoriser comme étant
X(2) = (a6.22+a5.21+a4.20).161+(a3.23+a2.22+a1.21+a0.20)160
soit en base 16 :X(16) = A1161 +A0160
Les Ai sont la représentation en base 16 des nombres binairesfactorisés et Ai = {0, 1, ..., F}.
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 45 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Autres bases utiles
Exemples
1 Convertir les mots binaires suivants en base 8 et 16 :• 100110101(2)• 1110101(2)• 100, 001(2)• 11111111, 1(2)
2 Convertir les mots suivants en base 2 :• 123, 7(8)• 100, 1(8)• 100, 1(16)• FE, 1A(16)
3 Convertir les 2 premiers mots en base 16 et les deux autres enbase 8
4 Convertir les 8 nombres en base 10
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 46 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Autres bases utiles
Méthodes de conversion
• b→ 10 : Addition des coefficients du polynôme,
• 10→ 2 : Divisions successives par 2,
• 8 ou 16→ 2 : Décomposition de chaque chiffre en 3 ou 4 bits,
• 2→ 8 ou 16 : Groupements des bits par 3 ou 4,
• 8 ou 10→ 16 : Passage par la base 2,
• 10 ou 16→ 8 : Passage par la base 2.
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 47 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Plan
1 Introduction
2 Représentation des nombres dans une base b
3 Fonctions logiques et Algèbre de Boole
4 Les circuits combinatoires
5 Les circuits séquentiels synchrones
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 48 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
Plan
3 Fonctions logiques et Algèbre de BooleFonctions logiques de basesAlgèbre de BooleSimplification des équations logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 49 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
Table de vérité à 2 variables
Table donnant l’état logique de la fonction pour chacune descombinaisons des états des variables.Une fonction logique à N entrées sera représenté par une table à 2N
lignes.
E1 E2 S
0 0 x0 1 x1 0 x1 1 x
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 50 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
Inversion
NON / NOT : S(a) = a
a S(a)
0 11 0
a s
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 51 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
Et
ET / AND : S(a,b) = a · b
a b S(a,b)
0 0 00 1 01 0 01 1 1
ab
s
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 52 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
Ou
OU / OR : S(a,b) = a+ b
a b S(a,b)
0 0 00 1 11 0 11 1 1
ab
s
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 53 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
NAND
NON ET / NAND : S(a,b) = a · b
a b S(a,b)
0 0 10 1 11 0 11 1 0
ab
s
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 54 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
NOR
NON OU / NOR : S(a,b) = a+ b
a b S(a,b)
0 0 10 1 01 0 01 1 0
ab
s
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 55 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
XOR
OU EXCLUSIF / XOR : S(a,b) = a⊕ b = a · b+ a · b
a b S(a,b)
0 0 00 1 11 0 11 1 0
ab
s
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 56 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
XNOR
XNOR : S(a,b) = a⊕ b = a · b+ a · b
a b S(a,b)
0 0 10 1 01 0 01 1 1
ab
s
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 57 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
Exercice
Représentez sous forme de logigramme (schéma de symboles logiquesinterconnectées) la fonction :
S = (A+ B) · (A+ C)
A
B
C
S
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 58 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Fonctions logiques de bases
Exercice
Représentez sous forme de logigramme (schéma de symboles logiquesinterconnectées) la fonction :
S = (A+ B) · (A+ C)
A
B
C
S
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 58 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Plan
3 Fonctions logiques et Algèbre de BooleFonctions logiques de basesAlgèbre de BooleSimplification des équations logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 59 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Définition
L’algèbre de Boole définit les outils nécessaires à la description etl’établissement des relations entrées-sorties d’un système logique.Initiée en 1854 par George Boole
Approche algébrique de la logique.
Variable binaire ou booléenne : 2 états : 0 ou 1
Proposition Vraie => 1, Proposition Fausse => 0
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 60 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Propriétés des opérateurs de l’algèbre de Boole (1/3)
Involution
a = a
Éléments neutresa+ 0 = aa · 1 = a
Éléments absorbantsa+ 1 = 1a · 0 = 0
Complémentaritéa+ a = 1a · a = 0
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 61 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Propriétés des opérateurs de l’algèbre de Boole (2/3)
AssociativitéComme avec les opérations habituelles, certaines parenthèses sont inutiles :(a+ b) + c = a+ (b+ c) = a+ b+ c(a · b) · c = a · (b · c) = a · b · c
CommutativitéL’ordre est sans importance :a+ b = b+ aa · b = b · a
Distributivitéa · (b+ c) = a · b+ a · ca+ (b · c) = (a+ b) · (a+ c)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 62 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Propriétés des opérateurs de l’algèbre de Boole (3/3)
Idempotencea+ a+ . . .+ a = aa · a · . . . · a = a
Simplificationa+ a · b = a+ ba · (a+ b) = a · b
Redondance (Théorème du consensus)a · b+ a · c+ b · c = a · b+ a · c
(a+ b) · (a+ c) · (b+ c) = (a+ b) · (a+ c)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 63 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Démonstration du théorème du consensus
a · b+ a · c+ b · c = a · b+ a · c+ (a+ a) · b · c= a · b+ a · c+ a · b · c+ a · b · c= a · b · (1+ c) + a · c · (1+ b)= a · b+ a · c
(a+ b) · (a+ c) · (b+ c) = (a+ b) · (a+ c) · (b+ c+ a · a)= (a+ b) · (a+ c) · (b+ c+ a) · (b+ c+ a)= (a+ b) · (1+ c) · (a+ c) · (1+ b)= (a+ b) · (a+ c)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 64 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Théorème de De Morgan
Complément d’une somme
a+ b = a · b
Complément de l’intersection
a · b = a+ b
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 65 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Théorème de De Morgan - Démonstration
Démonstration avec tables de vérité
a b a+ b a+ b a b a · b0 0 0 1 1 1 10 1 1 0 1 0 01 0 1 0 0 1 01 1 1 0 0 0 0
a b a · b a · b a b a+ b
0 0 0 1 1 1 10 1 0 1 1 0 11 0 0 1 0 1 11 1 1 0 0 0 0
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 66 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Théorème de De Morgan - Démonstration
Démonstration avec tables de vérité
a b a+ b a+ b a b a · b0 0 0 1 1 1 10 1 1 0 1 0 01 0 1 0 0 1 01 1 1 0 0 0 0
a b a · b a · b a b a+ b
0 0 0 1 1 1 10 1 0 1 1 0 11 0 0 1 0 1 11 1 1 0 0 0 0
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 66 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Formes canoniques - Définitions
Deux formes :• Première forme canonique : union (+) de mintermes• Seconde forme canonique : intersection (·) de maxtermes
Exemple fonction de 3 variables• Mintermes : a · b · c,a · b · c,a · b · c, . . .• Maxtermes : a+ b+ c,a+ b+ c,a+ b+ c, . . .
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 67 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Formes canoniques - Obtention
• Méthode algébrique• Première forme canonique : grâce à (x+ x = 1), on rajoute les
termes manquants.• Seconde forme canonique : utilisation de l’involution,
développement et ajout des termes manquants.• Méthode table de vérité
• Première forme canonique : union des mintermes tels quef(x) = 1.
• Seconde forme canonique : union des mintermes tels quef(x) = 0 puis complémentation.
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 68 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Formes canoniques - Exemple
Obtenez les deux formes canoniques, selon les deux méthodes de
f(a,b, c) = a · b+ b · c+ a · c
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 69 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Formes canoniques - Exemple
Obtenez les deux formes canoniques, selon les deux méthodes de
f(a,b, c) = a · b+ b · c+ a · c
Première forme :
f(a,b, c) = (a · b)(c+ c) + (b · c)(a+ a) + (a · c)(b+ b)= abc+ abc+ abc+ abc+ abc
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 69 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Formes canoniques - Exemple
Obtenez les deux formes canoniques, selon les deux méthodes de
f(a,b, c) = a · b+ b · c+ a · c
Seconde forme :
f(a,b, c) = ab+ bc+ ac
= (a+ b)(b+ c)(a+ c)
= ab+ abc+ ac+ abc
= abc+ abc+ abc
f(a,b, c) = (a+ b+ c)(a+ b+ c)(a+ b+ c)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 69 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Formes canoniques - Exemple
Obtenez les deux formes canoniques, selon les deux méthodes de
f(a,b, c) = a · b+ b · c+ a · c
Table de vérité :
a b c f(a,b,c)
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 69 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Formes canoniques - Exemple
Obtenez les deux formes canoniques, selon les deux méthodes de
f(a,b, c) = a · b+ b · c+ a · c
Table de vérité :
a b c f(a,b,c)
0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 11 1 0 11 1 1 1
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 69 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Formes canoniques - Exercice 1
Établir les tables de vérité des fonctions suivantes, puis les écrire sousles formes canoniques :• f1(x,y, z) = x.y+ y.z+ x.z• f2(x,y, z, t) = x+ y.z+ y.z.t• f3(x,y, z) = (x+ y)(x+ y+ z)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 70 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Algèbre de Boole
Formes canoniques - Exercice 2
Exprimer sous la première forme canonique les propositions suivantes :• f1(x,y, z) = 1 ssi aucune des variables x,y, z ne prend la valeur
1.• f2(x,y, z) = 1 ssi au plus une des variables x,y, z prend la valeur
0.• f3(x,y, z) = 1 ssi exactement une des variables x,y, z prend la
valeur 1
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 71 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Plan
3 Fonctions logiques et Algèbre de BooleFonctions logiques de basesAlgèbre de BooleSimplification des équations logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 72 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Principe
• Les formes canoniques peuvent être simplifiées.• On cherche la forme minimale d’une fonction :
• Nombre minimal de monômes,• nombre minimal de variables par monômes
• Possibilité de plusieurs formes minimales : formes équivalentes• But : Fabriquer un système
• à moindre coût,• rapide,• fiable,• peu consommateur
• 2 méthodes :• Algébrique• Graphique
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 73 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Méthode algébrique (algèbre de Boole)
Applications des principes et propriétés de l’algèbre de Boole :• Identités remarquables
• a.b+ a.b = b• a+ a.b = a• a+ a.b = a+ b
• (a+ b).(a+ b) = b• a.(a+ b) = a• a.(a+ b) = a.b
• Il en découle :• 2 mintermes adjacents → il reste l’intersection commune
a.b.c+ a.b.c = a.b
• 2 maxtermes adjacents → il reste l’union commune
(a+ b+ c).(a+ b+ c) = a+ b
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 74 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Méthode algébrique (algèbre de Boole)
• Factorisation• Théorème du consensus• Simplification de la forme canonique avec le moins de terme
RemarqueLa méthode algébrique est toujours possible mais est une démarcheintuitive dépendant de l’expérience...
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 75 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Méthode algébrique - Exemples
1 f1 = (a+ b)(a+ b)
2 f2 = (a+ b)(a+ c)(c+ b)
3 f3 = a+ a.b
4 f4 = abc+ abc+ abc+ abc+ abc
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 76 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Méthode graphique (tableau de Karnaugh)
Principe :• Mettre en évidence les termes adjacents (qui ne différent que par
une variable)
abc+ abc = ac(b+ b) = ac
• Méthode : Tableau de Karnaugh• 2 termes adjacents logiquement sont adjacents géométriquement• Regrouper 2n cases revient à factoriser et à faire disparaître n
variables de l’équation logique• Tableau rempli à la manière d’une table de vérité
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 77 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Tableau de Karnaugh - Exemples
Depuis la table de vérité :
a b c f
0 0 0 00 0 1 10 1 0 10 1 1 11 0 0 01 0 1 01 1 0 01 1 1 0
bca 00 01 11 10
0
1
0 1 11
0 0 00
f(a,b, c) = ac+ ab
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 78 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Tableau de Karnaugh - Exemples
Depuis la première forme canonique :
f(a,b, c) = a.b.c+ a.b.c+ a.b.c
bca 00 01 11 10
0
1
1 1
1
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 79 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Tableau de Karnaugh - Exemples
Depuis la deuxième forme canonique :
f(a,b, c) = (a+ b+ c).(a+ b+ c).(a+ b+ c)
bca 00 01 11 10
0
1
0
0 0
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 80 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Tableau de Karnaugh - Exemples
Exemple de simplification. A partir des 1 :
bca 00 01 11 10
0
1
0 1 01
1 1 01
bca 00 01 11 10
0
1
0 1 01
1 1 01
f(a,b, c) = a.b+ a.c+ a.c
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 81 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Tableau de Karnaugh - Exemples
Exemple de simplification. A partir des 1 :
bca 00 01 11 10
0
1
0 1 01
1 1 01
bca 00 01 11 10
0
1
0 1 01
1 1 01
f(a,b, c) = a.b+ c
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 81 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Tableau de Karnaugh - Exemples
Exemple de simplification. A partir des 0 :
bca 00 01 11 10
0
1
0 1 01
1 1 01
bca 00 01 11 10
0
1
0 1 01
1 1 01
f(a,b, c) = (a+ c).(b+ c)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 82 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Tableau de Karnaugh - Exercices
1 f(a,b, c) = a.b.c+ a.b.c+ a.b.c+ a.b.c+ a.b.c+ a.b.c
2 f(a,b, c) = a.b.c+ a.b.c+ a.b.c
3 f(a,b, c) = a.b.c+ a.b.c+ a.b.c+ a.b.c
4 f(a,b, c) = (a+b+c)(a+ b+ c)(a+ b+c)(a+ b+ c)(a+b+c)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 83 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Simplification des équations logiques
Tableau de Karnaugh - Exercices
1 f(a,b, c,d) = a.b.c.d+ a.b.c.d+ a.b.c.d+ a.b.c.d
2 f(a,b, c,d) = a.b.c.d+ a.b.c.d+ a.b.c.d+ a.b.c.d
3 f(a,b, c,d) = a.b.c.d+ a.b.c.d+ a.b.c.d+ a.b.c.d+a.b.c.d+ a.b.c.d+ a.b.c.d+ a.b.c.d
4 f(a,b, c,d) = (a+ b+ c+ d)(a+ b+ c+ d)(a+ b+ c+d)(a+ b+ c+ d)(a+ b+ c+ d)(a+ b+ c+ d)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 84 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Plan
1 Introduction
2 Représentation des nombres dans une base b
3 Fonctions logiques et Algèbre de Boole
4 Les circuits combinatoires
5 Les circuits séquentiels synchrones
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 85 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Définition
Plan
4 Les circuits combinatoiresDéfinitionLes portes élémentairesLes multiplexeursLes transcodeursLes additionneurs / soustracteursLes comparateursLes unités arithmétiques et logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 86 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Définition
Circuit combinatoire• C’est l’abscence de
mémoire qui lesdéfinissent,• Les sorties sont une
fonction combinatoire desentrées S = f(E),• A une des configuration
des entrées correspond uneunique configuration dessorties.
Circuit séquentiel• Les sorties sont fonction
des entrées mais aussi del’état interne du système,• A une des configuration
des entréespeutcorrespondre plusieursconfigurations des sorties• L’état interne est une
trace du passé du systèmenumérique
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 87 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les portes élémentaires
Plan
4 Les circuits combinatoiresDéfinitionLes portes élémentairesLes multiplexeursLes transcodeursLes additionneurs / soustracteursLes comparateursLes unités arithmétiques et logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 88 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les portes élémentaires
Porte NOT
x y
x y
0 11 0
x y
entity my_not isPort ( x : in STD_LOGIC;y : out STD_LOGIC);end my_not;
architecture Behavioral of my_not isy <= not(x);end Behavioral;
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 89 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les portes élémentaires
Porte OR
yab
a b y
0 0 00 1 11 0 11 1 1
a
y
b
entity my_or isPort ( a : in STD_LOGIC;b : in STD_LOGIC;y : out STD_LOGIC);end my_or;
architecture Behavioral of my_or isy <= a or b;end Behavioral;
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 90 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les portes élémentaires
Porte AND
yab
a b y
0 0 00 1 01 0 01 1 1
a
y
b
entity my_and isPort ( a : in STD_LOGIC;b : in STD_LOGIC;y : out STD_LOGIC);end my_and;
architecture Behavioral of my_and isy <= a and b;end Behavioral;
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 91 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les portes élémentaires
Porte NOR
yab
a b y
0 0 10 1 01 0 01 1 0
a
b
y
entity my_nor isPort ( a : in STD_LOGIC;b : in STD_LOGIC;y : out STD_LOGIC);end my_nor;
architecture Behavioral of my_nor isy <= a nor b;end Behavioral;
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 92 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les portes élémentaires
Porte NAND
ab
y
a b y
0 0 10 1 11 0 11 1 0
y
a
b
entity my_nand isPort ( a : in STD_LOGIC;b : in STD_LOGIC;y : out STD_LOGIC);end my_nand;
architecture Behavioral of my_nand isy <= a nand b;end Behavioral;
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 93 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les portes élémentaires
Porte XOR
yab
a b y
0 0 00 1 11 0 11 1 0
y
a
a
a
b b
a
b
b
entity my_xor isPort ( a : in STD_LOGIC;b : in STD_LOGIC;y : out STD_LOGIC);end my_xor;
architecture Behavioral of my_xor isy <= a xor b;end Behavioral;
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 94 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les portes élémentaires
Porte XNOR
yab
a b y
0 0 10 1 01 0 01 1 1
y
a
a
a
b b
a
b
b
entity my_xnor isPort ( a : in STD_LOGIC;b : in STD_LOGIC;y : out STD_LOGIC);end my_xnor;
architecture Behavioral of my_xnor isy <= a xnor b;end Behavioral;
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 95 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les multiplexeurs
Plan
4 Les circuits combinatoiresDéfinitionLes portes élémentairesLes multiplexeursLes transcodeursLes additionneurs / soustracteursLes comparateursLes unités arithmétiques et logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 96 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les multiplexeurs
Opérations d’aiguillage
Multiplexeur
Aiguille un signal d’entrée parmi2n vers une sortie grâce à n bits
d’adresse
Démultiplexeur
Aiguille un signal d’entrée versune des 2n sorties grâce à n bits
d’adresse
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 97 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les multiplexeurs
Application des multiplexeurs
• Conversion parallèle/série• Réalisations des fonctions combinatoires : toute fonction logique
de N variables est réalisable avec un multiplexeur de 2N vers 1 :
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 98 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les transcodeurs
Plan
4 Les circuits combinatoiresDéfinitionLes portes élémentairesLes multiplexeursLes transcodeursLes additionneurs / soustracteursLes comparateursLes unités arithmétiques et logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 99 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les transcodeurs
Opération de transcodage
DéfinitionUn opérateur de transcodage est un circuit transformant uneinformation présente en entrée sous une forme donnée (code 1) en lamême information en sortie mais sous une autre forme (code 2)
Il en existe 3 types :
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 100 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les transcodeurs
Transcodeur - Exemple
Le transcodeur BCD / 7 segments
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 101 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les transcodeurs
Transcodeur - Exemple
Le transcodeur BCD / 7 segments1 Dressez la table de vérité de ce transcodeur
2 Grâce à des tableaux de Karnaugh, exprimez chacune des sortiesen fonction des entrées
3 Dessinez le logigramme du transcodeur
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 102 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les transcodeurs
Transcodeur - Exemple
Le transcodeur BCD / 7 segments
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 103 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les additionneurs / soustracteurs
Plan
4 Les circuits combinatoiresDéfinitionLes portes élémentairesLes multiplexeursLes transcodeursLes additionneurs / soustracteursLes comparateursLes unités arithmétiques et logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 104 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les additionneurs / soustracteurs
Le demi-additionneur
Il prend en entrée 2 bits Ak et Bk et délivre leur somme Sk et laretenue Ck
Ak Bk Sk Ck
0 0 0 00 1 1 01 0 1 01 1 0 1
Sk = Ak ⊕ Bk
Ck = Ak · Bk
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 105 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les additionneurs / soustracteurs
L’additionneur complet
Il permet de prendre en compte un retenue entrante Ck−1
Écrivez alors
1 sa table de vérité,
2 ses équations logiques,
3 son logigramme.
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 106 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les additionneurs / soustracteurs
L’additionneur complet
Ak Bk Ck−1 Sk Ck
0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 0 1
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 107 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les additionneurs / soustracteurs
L’additionneur complet
Sk = Ak ⊕ Bk ⊕ Ck−1
Ck = Ak · Bk + (Ak ⊕ Bk) · Ck−1
A
B
Cin
Cout
S
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 108 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les additionneurs / soustracteurs
L’additionneur à retenue propagée
cin
s
cout
ba
cin
s
cout
ba
a0 b0 a1 b1
c0
s0 s1
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 109 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les additionneurs / soustracteurs
Débordement (overflow) et détection du zéro
0 1 1 10 1 1 1 (7)
+ 0 0 1 1 (3)
= 1 0 1 0 (-6)
1 0 0 01 1 0 0 (-4)
+ 1 0 1 1 (-5)
= 0 1 1 1 (7)
• Un débordement arrive si le résultat est trop grand (en valeur absolue)• L’addition de deux opérandes de signes différents ne génère pas d’overflow
• Un débordement se produit lorsqu’on additionne :• 2 nombres positifs et la somme générée est négative• 2 nombres négatifs et la somme générée est positive
• En utilisant une table de vérité, on peut facilement montrer qu’undébordement se produit quand les retenues entrantes et sortantes du MSBsont différentes.
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 110 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les comparateurs
Plan
4 Les circuits combinatoiresDéfinitionLes portes élémentairesLes multiplexeursLes transcodeursLes additionneurs / soustracteursLes comparateursLes unités arithmétiques et logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 111 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les comparateurs
Comparateur élémentaire
Être capable de détecter l’égalité et de comparer deux nombres
A B E S I
0 0 1 0 00 1 0 0 11 0 0 1 01 1 1 0 0
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 112 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les comparateurs
Concaténation
Dessinez le logigramme d’un comparateur opérant sur 2 bits grâce à 2comparateurs élémentaires et des portes logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 113 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les unités arithmétiques et logiques
Plan
4 Les circuits combinatoiresDéfinitionLes portes élémentairesLes multiplexeursLes transcodeursLes additionneurs / soustracteursLes comparateursLes unités arithmétiques et logiques
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 114 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les unités arithmétiques et logiques
L’unité arithmétique et logique
ALU
S
flagsselect
BA
/f
/s
/n/n
/ n
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 115 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les unités arithmétiques et logiques
UAL
Synthèse de l’UAL :• 2 entrées A et B codées sur 4 bits,• 1 sortie S codée sur 4 bits,• 1 sortie zero qui vaut 1 si S = 0,• 1 sortie of qui vaut 1 si un débordement est détecté sur S• 1 entré sel sur 2 bits permettant de sélectionner l’opération à
effectuer :
• sel = 00⇒ S = A+ B• sel = 01⇒ S = A− B
• sel = 10⇒ S = A OU SB• sel = 11⇒ S = A ET B
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 116 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Plan
1 Introduction
2 Représentation des nombres dans une base b
3 Fonctions logiques et Algèbre de Boole
4 Les circuits combinatoires
5 Les circuits séquentiels synchrones
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 117 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Latch (Verrou)
Plan
5 Les circuits séquentiels synchronesLa bascule D-Latch (Verrou)La bascule D-Flip-flopLes registresLes compteurs synchrones
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 118 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Latch (Verrou)
Limitations de la logique combinatoire
SystemeBouton Lampe
Quand le bouton poussoir estenfoncé :• Allumer la lampe si elle est
éteinte• Eteindre la lampe si elle est
alluméeLa lampe doit changer d’étatlorsque le bouton reste enfoncépendant une seconde.
En quoi ce cuircuit est-il différent de ceux étudiés précédemment ?• La notion d’état, i.e. le circuit a une mémoire.• La sortie change de valeur sur une entrée de type événement.• La notion de temps.
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 119 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Latch (Verrou)
Vers un système séquentiel
Logique
Combinatoire Element
Memoire
Bouton Lampe
EtatCourant
EtatSuivant
• La logique séquentielle permet de stocker l’état courant.• La logique combinatoire permet de calculer l’état futur et les
sorties à partir de l’état présent et des entrées.• Bascules asynchrones
• Bascule RS• Bascules synchrones
• Bascule D Latch• Bascule D Flip Flop• Bascule T• Bascule JK
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 120 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Latch (Verrou)
Point mémoire
Q∗Q Q∗ = Q
Nombre pair d’inversions => 2 états stables : bistable• Q = 1 et Q∗ = 0• Q = 0 et Q∗ = 1
Problème : Ecriture d’une valeur dans le bistable ?
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 121 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Latch (Verrou)
D latch
Bascule D latch(verrou)• E = 0 : mode acquisition• E = 1 : mode mémorisation
Synchronisation sur niveauDifférenciation des entrées :• D (data) : entrée de donnée• E (enable) : entrée de validation
E D Q+ Q∗+
0 0 Q Q
0 1 Q Q
1 0 0 11 1 1 0
D
Q*E
Q
Symbole logique
D Q*
Q
E E*
E*
E*
E
E
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 122 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Latch (Verrou)
Fonctionnement
D Q*
Q
E E*
E*
E*
E
E
D Q*
Q
D Q*
Q
D Q*
Q
E E*
E*
E*
E
E
E = 1 : mode acquisition E = 0 : mode memorisation
E
D
Q
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 123 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Flip-flop
Plan
5 Les circuits séquentiels synchronesLa bascule D-Latch (Verrou)La bascule D-Flip-flopLes registresLes compteurs synchrones
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 124 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Flip-flop
Fonctionnement
• Structure "maître/esclave" : 2latches à commandesopposées• CLK = 0 : L1 en acquisition,L2 vérrouillé (mémorisation)• CLK = 1 : L1 vérrouillé
(mémorisation), L2 enacquisition• La donnée D est "recopiée"
sur la sortie Q sur un frontmontant d’horloge
L1
D1
Q∗1E1
Q1
L2
D2
E2
Q2
D
CLK
Q
Q∗
CLKCLK
D
Q∗2
M
M
Q
L1
L2
ACQUIS. MEMO. ACQUIS. MEMO.
MEMO. ACQUIS. MEMO. ACQUIS.
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 125 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Flip-flop
d q
qclk
clk q+
0 q
1 q
↓ q
↑ d
entity my_DFF isPort( d : in STD_LOGIC;
clk : in STD_LOGIC;q : out STD_LOGIC);
end my_DFF;
d q
qclk
d q
qclk
d q
qclk
esclavemaître d
clk
q
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 126 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Flip-flop
d q
qclk
clk q+
0 q
1 q
↓ q
↑ d
architecture Behavioral of my_DFF isbegin
DFF_pr : process(clk)begin
if (clk'event and clk = '1') thenq <= d;
end if;end process DFF_pr;
end Behavioral;
d q
clk
clk clk
clk
clkclk
clk
clk
q
d
clk
tpcqdown tpcqup
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 127 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Flip-flop
d q
qclk
rst
rst clk q+
0 X 01 0 q
1 1 q
1 ↓ q
1 ↑ d
d q
clk
clk clk
clk
clkclk
clk
clk
rst
rst
entity my_DFF isPort( d : in STD_LOGIC;
clk : in STD_LOGIC;rst : in STD_LOGIC;q : out STD_LOGIC);
end my_DFF;
architecture Behavioral of my_DFF isbegin
DFF_pr : process(clk,rst)begin
if (rst = '0') thenq <= '0';
elsif (clk'event and clk = '1') thenq <= d;
end if;end process DFF_pr;
end Behavioral;
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 128 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
La bascule D-Flip-flop
d q
qclk
rst
rst clk q+
1 X 01 0 q
1 1 q
1 ↓ q
1 ↑ d
d q
clk
clk clk
clk
clkclk
clk
clk
rst
rst
entity my_DFF isPort( d : in STD_LOGIC;
clk : in STD_LOGIC;rst : in STD_LOGIC;q : out STD_LOGIC);
end my_DFF;
architecture Behavioral of my_DFF isbeginDFF_pr : process(clk,rst)begin
if (rst = '1') thenq <= '0';
elsif (clk'event and clk = '1') thenq <= d;
end if;end process DFF_pr;
end Behavioral;
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 129 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les registres
Plan
5 Les circuits séquentiels synchronesLa bascule D-Latch (Verrou)La bascule D-Flip-flopLes registresLes compteurs synchrones
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 130 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les registres
Registre N bits
• N bascules D Flip-Flops• Toutes commandées par une
même horloge CLK• Mémorisation d’un vecteur
binaire de N bits• Registre "tampon" / "buffer"
D Q
D Q
D Q
...
D0
D1
DN−1
Q0
Q1
QN−1
CLK
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 131 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les registres
Registre à décalage
D QD QD Q
CLK
E S
• La donnée présente sur l’entrée E sera disponible en sortie 3cycles d’horloge plus tard• La donnée est "retardée" de 3 cycles d’horloges• Ligne à retard• Multiplication par 23 = 8
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 132 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les registres
Registre à décalage avec chargement parallèle
D QD QD Q
CLK
E S1
0
LOAD
1
0
LOAD
1
0
LOAD
Q2 Q1 Q0
V2 V1 V0
• Des multiplexeurs permettent de charger une valeur V• La donnée est "retardée" de 3 cycles d’horloges• Chargement (LOAD=1) + décalage (LOAD=0)
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 133 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les registres
Intilialisation asynchrone
D QD QD Q
CLK
E S1
0
LOAD
1
0
LOAD
1
0
LOAD
Q2 Q1 Q0
V2 V1 V0
SET
RST
SET
RST
SET
RST
A_INIT
1 1
1
• On utilise les entrée de SET/RST asynchrone pour forcer lavaleur du registre• Ici, entrées SET/RST actives à 0• Si A_INIT=0 : reg. initialisé à 101 sinon, fonctionnement normal• Initialisation indépendante de CLK et prioritaire sur CLK
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 134 / 142
Introduction Représentation des nombres dans une base b Fonctions logiques et Algèbre de Boole Les circuits combinatoires Les circuits séquentiels synchrones
Les compteurs synchrones
Plan
5 Les circuits séquentiels synchronesLa bascule D-Latch (Verrou)La bascule D-Flip-flopLes registresLes compteurs synchrones
Camille LEROUX camille.leroux@ims-bordeaux.fr
EN102 : Logique combinatoire et séquentielle 135 / 142
top related