Vous êtes sur la page 1sur 29

Ch.

3 : Représentation et 1

manipulation des fonctions


logiques
 Simplification :
 Algébrique (Algèbre de Boole)
 Simplification graphique (Méthode de Karnaugh)

 Représentation :
 Schéma avec portes logiques
 Ladder diagram
 Chronogramme
 C
 VHDL
Simplification des circuits 2

logiques
 Somme de produit (Sum Of Product : SOP).
 Un « minterme » est un produit de variables.

 La « SOP » est formée en effectuant un OR entre chaque


minterme pour lequel la fonction de sortie est vraie (1).

b a F mintermes
0 0 0 a.b SOP
0 1 1 a.b
F = a.b + a.b
1 0 1 a.b
1 1 0 a.b
Simplification des circuits 3

logiques
 Produit de somme (Product Of Sum : POS).
 Un maxterme est une somme de variables.
 Celui-ci est formé en complémentant le minterme et en
utilisant le théorème de De Morgan.
 La POS est formée en effectuant un AND entre chaque
maxterme pour lequel la fonction est fausse (0).

b a F mintermes maxtermes
0 0 0 a.b a+b
POS
0 1 1 a.b a+b
F = (a + b) . (a + b)
1 0 1 a.b a+b
1 1 0 a.b a+b
Conception de circuits 4

logiques par équations


Cahier des charges sous forme textuelle

Etablissement d’une table de vérité

Recherche de l’équation sous la forme SOP ou POS

Simplification de l’équation (Boole ou Karnaugh)

Réalisation physique du circuit


Simplification des circuits 5

logiques
 Minimisation du nombre de termes ou du nombre
de variables par terme.
 Equation simplifiée  Schéma simplifié  Moins
de portes logiques pour réaliser le circuit.

Méthode algébrique Méthode graphique

Basé sur l’algèbre de Boole Méthode de Karnaugh

Processus d’approximations Méthode systématique


successives basé sur les
théorèmes
Simplification algébrique 6

des circuits logiques


 Exemple 1 :

F = b.c.( b + a.c)

F = b.c.( b . a.c)

F = b.c.( b . (a+c))
F = b.c.(a+c)
F = b.c.a + b.c.c
F = a.b.c
Simplification algébrique 7

des circuits logiques


 Exemple 2 :
 F = a.b.c + a.b.(a.c)
 F = a.b.c + a.b.(a+c) (De Morgan)
 F = a.b.c + a.b.a + a.b.c (Distributivité)
 F = a.c.b + a.b +a.b.c (Idempotence)
 F = a.c.(b + b) + a.b (Mise en évidence)
 F = a.c.(1) + a.b (Complémentation)
 F = a.c + a.b (Identité)
 F = a. (c + b) (Mise en évidence)
Simplification graphique 8

des circuits logiques


 Méthode de Karnaugh à 4 entrées
Table de Karnaugh
ba
4 entrées d c 00 01 11 10
24 = 16 cases
0 0 0 0 0 0

0 1 0 1 0 1
1 1 0 1 1 0
1 0 1 0 0 1

1 seule variable change entre deux cases


adjacentes
Simplifications graphique 9

des circuits logiques


 Mintermes de la table de Karnaugh à 4 entrées

ba
0 0 0 1 1 1 1 0
d c
a.b.c.d a.b.c.d a.b.c.d a.b.c.d
0 0 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.c.d. (b + b)


0 1

a.b.c.d a.b.c.d a.b.c.d a.b.c.d a.c.d


1 1

1 0 a.b.c.d a.b.c.d a.b.c.d a.b.c.d


Simplification graphique 10

des circuits logiques


 Réunion et simplification:
 Réunion ou regroupement de ‘1’ dans la table de Karnaugh.
 Chaque réunion donnera un minterme.
 L’équation sera obtenue en effectuant un OR entre chaque
minterme (SOP).
 Règles de réunion ou groupement :
 Cases adjacentes (1 seule variable change).
 Réunion de 2x nombres d’éléments.
 Certaines cases peuvent se retrouver dans plusieurs ensembles.
Simplification graphique 11

des circuits logiques


 Réunion d’un quartet :
ba
d c 00 01 11 10
F = a.b + a.c
0 0 0 1 0 0
0 1 0 1 1 0
0 1 1 0
0
1 1
1 0 0 1 0 0
ba
d c 00 01 11 10
F=a.c
0 0 1 0 0 1
Non simplifié :
0 1 0 0 0 0 F = a.b.c.d + a.b.c.d + a.b.c.d + a.b.c.d
0 0 0 0
0 F = a.c.(…) = a.c.(1) = a.c
1 1
1 0 1 0 0 1
Simplification graphique 12

des circuits logiques


 Réunion d’un octet :

ba
d c 00 01 11 10
0 0 1 0 0 1
F=c+a
0 1 1 1 1 1
1 1 1 1 1 1
1 0 1 0 0 1

En résumé :
- Grouper le plus grand nombre de 1 possibles ensemble.
- On peut prendre des 1 déjà groupés afin d’obtenir un plus grand ensemble.
- Plus rapide et plus systématique que la méthode algébrique.
Simplification graphique 13

des circuits logiques


 Les états indéterminés (notés x ou -)
dd
c b a F Les états indéterminés peuvent servir à faire
0 0 0 0 de plus grands groupements.
0 0 1 0
a 0 1
0 1 0 0 c b
0 1 1 x 0 0 0 0 Fixé à 0
1 0 0 x 0 1 0 x
1 0 1 1 1 1 1 1
1 1 0 1 1 0 x 1
1 1 1 1 Fixé à 1
Simplification graphique 14

des circuits logiques


 Exemple : La porte majoritaire à 4 entrées
(MSB) d

c SM
MAJ
b

(LSB) a

 La sortie SM est vraie quand :


 une majorité des entrées sont vraies.
 si « Nbr entrées vraies = Nbr entrées fausses » (choix pour cet
énoncé).
d c b a SM
0 0 0 0 0 15
0 0 0 1 0 ba
d c 00 01 11 10
0 0 1 0 0
0 0 0 0 1 0
0 0 1 1 1
0 1 0 1 1 1
0 1 0 0 0
1 1 1 1 1 1
0 1 0 1 1
1 0 0 1 1 1
0 1 1 0 1
0 1 1 1 1 SM = c.d + a.b + a.c + b.c + a.d + b.d
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Simplification graphique 16

des circuits logiques


 Exemple : Transcodage 4bits : BCD  Gray
(MSB) d Dg (MSB)

c Cg
Transcodeur
b BCD  Gray Bg

(LSB) a Ag (LSB)

 Le transcodeur BCD  Gray :


 Transformation d’un nombre de 4 bits codé en BCD en
l’équivalent de 4 bits codé Gray.
d c b a Dg Cg Bg Ag
0 0 0 0 0 0 0 0 Dg = d Cg = c + d 17
0 0 0 1 0 0 0 1 ba ba
d c 00 01 11 10 d c 00 01 11 10
0 0 1 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 1 0
0 1 0 0 0 0 0 1 1 1 1 1
0 1 0 0 0 1 1 0
1 1 X X X X 1 1 X X X X
0 1 0 1 0 1 1 1
1 0 1 1 X X 1 0 1 1 X X
0 1 1 0 0 1 0 1
0 1 1 1 0 1 0 0
Bg = b  c Ag = a  b
1 0 0 0 1 1 0 0 ba ba
1 0 0 1 1 1 0 1 d c 00 01 11 10 d c 00 01 11 10
1 0 1 0 X X X X 0 0 0 0 1 1 0 0 0 1 0 1
1 0 1 1 X X X X 0 1 1 1 0 0 0 1 0 1 0 1
1 1 4 X X X
X 1 1 X X X X
1 1 0 0 X X X X
1 1 0 1 X X X X 1 0 0 0 X X 1 0 0 1 X X
1 1 1 0 X X X X
1 1 1 1 X X X X
Transcodage BCD  Gray 18

 Schéma
Simplification graphique 19

des circuits logiques


 Logiciel informatique
Cette simplification d’équations
logiques n’est maintenant plus
nécessaire :
- Utilisation de Look-Up-Table ou LUT.
Représentation des 20

fonctions logiques
 Par schéma logique
SM = c.d + a.b + a.c + b.c + a.d + b.d
Représentation des 21

fonctions logiques
 Par le ladder diagram :

 Langage graphique.

 Proche des schémas électriques.

 Composé de relais et contacts.

 Les contacts représenteront les variables d’entrées.

 Les relais représenteront les variables de sorties.


Le ladder diagram 22
Le ladder diagram 23
Le ladder diagram 24

Exemple : F = a . c + b . c

VCC GND

a c F

b c
Représentation des 25

fonctions logiques
 Le chronogramme :
 Graphe représentant l’évolution des variables d’entrée et
de sortie en fonction du temps.
 Utilisation de signaux carrés pour les variables d’entrées
(f , 2f, 4f, …)

a
 Exemple : F = a . b
1

0 t

1 b

0 t

1 F

0 t

Attention : Cet exemple est idéalisé et ne tient pas compte de la


réalité physique des circuits logiques (voir ch.4).
Représentation des 26

fonctions logiques
 Opération logique « bit à bit » en C (bitwise operator):
 « et » : & ATTENTION : Ne pas confondre avec les opérateurs
 « ou » : | logiques (&& , ||) .
https://msdn.microsoft.com/fr-fr/library/cc436910(v=vs.71).aspx
 « non » : ~ Exemple : if (Expression 1 && Expression2)
0 si au moins une des deux expressions est fausse
 « xor » : ^
1 si les deux expressions sont vraies

Exemple 1 : F = a . c + b . c Exemple 2 : Inversion d’un octet


bool FctLog (bool a,bool b,bool c) char InvOct(char i)
{ {
F = (~a & c) | (b & ~c); j = ~i;

return F; return j;
} }
Représentation des 27

fonctions logiques
 VHDL (Very High Speed Integrated Circuit Hardware
Desciption Language) :

 Description comportementale de bas niveau (équations


logiques ou opérateurs).

 Description comportementale par instruction algorithmique.

 Description structurelle :
 Description des différentes entités du circuit séparément.
VHDL : Description par 28

équation logique
LIBRARY ieee;
d1 d0 USE ieee.std_logic_1164.ALL;

ENTITY multiplexeur IS PORT (


d0, d1, s : IN STD_LOGIC;
s Y: OUT STD_LOGIC);
MUX
END multiplexeur;

ARCHITECTURE Dataflow OF multiplexeur IS


BEGIN
Y Y <= ((NOT s) and d0) OR (s and d1);
END Dataflow;
Y = s.d0 + s.d1
VHDL : Description par des 29

opérateurs
LIBRARY ieee;
d1 d0 USE ieee.std_logic_1164.ALL;

ENTITY multiplexeur IS PORT (


d0, d1, s : IN STD_LOGIC;
s Y: OUT STD_LOGIC);
MUX
END multiplexeur;

ARCHITECTURE Behavioral OF multiplexeur IS


BEGIN
Y Y <= d0 WHEN s = ‘0’ ELSE d1;
END Behavioral;
Y = s.d0 + s.d1

Vous aimerez peut-être aussi