Vous êtes sur la page 1sur 91

ECOLE SUPERIEURE DES COMMUNICATIONS DE TUNIS

Département Electronique, Physique et Propagation

Support de cours

Opérateurs & Circuits Numériques

Promotion

Ingénieurs 1ère année - INDP1 - Groupe A

Par

Chiheb REBAI

© SUP’COM – Tunis – Septembre 2007


École Supérieure des Communications

Ingénieurs en Télécommunications, 1ère année

Opérateurs & circuits numériques


Chapitre 1
Algèbre binaire & fonctions logiques

Chiheb REBAI
chiheb.rebai@supcom.rnu.tn

1 © SUP’COM, Septembre 2007


C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Objectifs du cours

 Compréhension, culture, analyse et conception des systèmes numériques

Compétences à acquérir:
► Définition des concepts de base de la logique

► Méthodes d’analyse et de synthèse appliquées


■ Systèmes combinatoires

■ Systèmes
S itératifs
f

■ Systèmes séquentiels

► Conception de systèmes fonctionnels

► Sélection critique des composants

► Interpréter les spécifications des fabricants

2
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Plan du cours

Chapitre 1 Algèbre binaire & Fonctions logiques 4h30

Chapitre 2 Système de numération & Circuits Combinatoires 4h30

TD 1 Composants combinatoires 3h00

Chapitre 3 Systèmes séquentiel: analyse & synthèse 4h30

TD 2 Composants Séquentiels 4h30

Chapitre 4 Machines à états finis 3h00

TD3 Machines à états finis 3h00

3
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Partie 1

Histoire de l’électronique numérique

4
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Préhistoire
- 3000 (Chine) : Symbole magique : octogone à trigramme
(8 premiers chiffres sous forme binaire - variante à 64 hexagrammes)

Mémoire de sauvegarde
- 500 (Rome): Abaque romain
chiffres notés par des cailloux (calculus)

1833 (Angleterre): La machine de Babbage


tente de réaliser une machine à différences puis une
machine analytique (unité de calcul
calcul, mémoire
mémoire,
registre et cartes perforées)
5
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Histoire (1)
1906: Triode de Lee de Forest

1932: Compteur à tubes : premier « calculateur » électronique

1935 : Principes des portes logiques

1946 : ENIAC
premier BUG

140KW power consumption


100 kHz clock
5,000 additions per second 18,000 vacuum tubes
500 multiplications
p p
per second 70,000 resistors
10,000 capacitors
6,000 switches
30m * 3m * 1m
6
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Histoire (2)

1947 : Transistor Bipolaire

1951 : Transistor JFET : Disque Dur

1953 : Mémoire à Tore

1957 : Premier CI (Texas / Kilby)

7
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Histoire (3)

1970 : Le processeur 4004 d’Intel


d Intel

Evolution : Loi de Moore

Taille du canal Ô
Taille des chips Ò
Nb couches Ò

8
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Aujourd’hui: un monde numérique

► Le monde numérique est un monde discrétisé


► Le monde réel est un monde continu
► Pourquoi l’électronique numérique?
► Discrétisation permet de se prémunir du bruit
► Il est possible de quantifier les erreurs
► Possibilité de mise en œuvre d’une arithmétique basée sur
la logique

Télécommunications
Automobile
Multimédia
Internet

9
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Partie 2

Algèbre binaire

10
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Algèbre de Boole
1854 : Georges Boole propose une algèbre
Georges Boole introduit un formalise mathématique de la Logique
The Calculus of Logic
Cambridge and Dublin Mathematical Journal, Vol. III (1848), pp. 183-9

► L'algébre de Boole manipule des variables qui ne peuvent prendre


que deux
d ét
états
t : Vrai
V i ou F
Faux
►Une telle variable est appelée variable Booléenne
►Il est possible aussi d'associer le chiffre 1 a la valeur Vrai et le chiffre 0
a la valeur Faux
►Les variables Booléennes dans ce cas sont des variables Binaires

Définitions:
►États logiques: 0 et 1, Vrai et Faux, H et L (purement symbolique)
► Variable logique: Symbole pouvant prendre comme valeur des états logiques (a
(a, b
b, ...))
► Fonction logique: Expression de variables et d’opérateurs (f = not(a) AND (b OR c))
11
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

L’algèbre – les bases


► Variables 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
p
Variable contenant l’état de la fonction après l’évaluation des opérateurs
p logiques
gq sur
les variables d’entrée.

► Simplification d’une fonction logique


Trouver la représentation (l’écriture)
(l écriture) la plus simple de la fonction réalisée
réalisée.

► Algèbre de Boole B
■ B = < E,
E +,.,¯,0,1>
■ + , . sont des lois de composition interne (LCI)
■ ¯ est la loi de complémentation (Application Unaire)

12
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
L’algèbre – Ordre & Fonctions
► Relation d’ordre
■ Ordre Total : 0 < 1
■ Ordre Lexicographique : 00 < 01 < 10 < 11 Utile pour les tables de vérité
■ Si deux variables booléennes a et b : ab < ab < ab < ab

► Définition d’une fonction logique


■ f(xn-1, xn-2, …, x1, x0) : [0,1] n → [0,1], n∈Ν*

►Fonction logique f à une variable a ►Fonction logique f à à deux variables a et b


■ f = 0 : fonction constante nulle ■f = a.b : fonction ET
■ f = 1 : fonction constante à un ■ f = a+b : fonction OU
■ f = a : fonction identité ■ f = a⊕b : fonction OU-EXCLUSIF
■ f = a : fonction complément (NON) ■ f = a.b : fonction NON-ET
■ f = a+b : fonction NON-OU
■ f = a⊕b : fonction NON-OU-EXCLUSIF

13
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Représentation des fonctions logiques


ab s
► La Table de Vérité 00 f0
■ Représentation sous forme de tableau des valeurs de la fonction 01 f1
logique pour toutes les combinaisons de ses variables 11 f2
10 f3
► Le Tableau de Karnaugh
■ Représentation
R é t ti sous fforme d
de matrice
ti d des valeurs
l d
de lla ffonction
ti b 0 1
logique pour toutes les combinaisons de ses variables en exploitant la ac
0 0 f0 f1
propriété d’adjacence
0 1 f2 f3
1 1 f4 f5
1 0 f6 f7
► Domaine de définition d’une fonction
■ Une fonction est complètement définie lorsque pour toutes les
ab s
combinaisons de ses variables la valeur de la fonction est définie 00 10
■ Une fonction est incomplétement définie lorsque pour toutes les 01 x
combinaisons de ses variables la valeur de la fonction n’est p
pas 11 x
10 0
définie
14
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
L’algèbre – Définitions
b 0 1
a ab s
► Algèbre binaire = Algèbre de Boole sur [0,1]
0 0 1 00 0
01 1
► La table de vérité = table de fonction logique 10 1
1 1 1
11 1
► Lois de composition interne s=a+b
■ Somme (OU, Réunion) s = a + b = a v b
b 0 1
s est vrai si a OU b est vrai. a ab s
0 0 1 00 0
■ Produit (ET,
(ET intersection) s = a . b = ab = a ^ b 01 0
s est vrai si a ET b sont vrais. 1 1 1 10 0
11 1
► Application Unaire s=a.b
■ Not (complementation, inversion) s = not(a) a
0 0 a s
0 0
1 1 0 0
s=a
15
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Axiomes de bases

► Commutativité ► Elements Neutre

■ ∀ (a,b) ∈ E2 ■∀a∈ E

■ a+b = b+a ■ a+0 = a

■ a.b
b = b.a
b ■ a.1
a1=a

► Distributivité ► Complémentation

■ ∀ (a,b,c) ∈ E3 ■∀a∈ E

■ a+(b.c)
a+(b c) = (a+b).(a+c)
(a+b) (a+c) ■a
a+a
a=1

■ a.(b+c) = (a.b)+(a.c) ■ a.a = 0

16
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Propriétés
► Eléments Absorbants ► Loi d'absorption
■∀a∈ E ■ ∀ (a,b) ∈ E2
■ a+1 = 1 ■ a+(a.b)
a+(a b) = a
■ a.0 = 0 ■ a.(a+b) = a

► Loi d'idempotence ► Loi d'associativité

■∀a∈ E ■ ∀ (a,b,c) ∈ E3

■ a+a
+ =a ■ a+(b+c) = (a+b)+c

■ a.a = a ■ a.(b.c) = (a.b).c

► Loi d'involution ► Loi de De Morgan

■∀a∈ E ■ ∀ (a,b) ∈ E2

■a=a ■a
a+b
b = a.b
■ a.b = a+b
17
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exercice d’application

► Théorème du Consensus
■ ∀ (a,b,x)
(a b x) ∈ E3
■ a.x+b.x+a.b = a.x+b.x
■ (a+x)(b+x)(a+b)=(a+x)(b+x)

► Démonstration ?

18
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Écriture algébrique

► Définitions

■ Apparition d’une variable = Lettre

■ Produit de variables sous forme simple ou complémentées = Monôme

■ Somme
S d
de monômes
ô = Polynôme
P l ô

■ La fonction logique s'exprime alors sous la forme de variables booléennes


reliées entre elles par des operateurs de l'algebre
l algebre de Boole

► Exemples

z = a + b.c.(d
b c (d + e) Expression algébrique
= a + b + c + (d + e) Développement
=a+b+c+d.e Polynôme de 4 monômes de 1 et 2 lettres

19
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Minterme – Maxterme (1)


► Un produit booléen de variables booléennes est appelé p-terme

► Une somme booléenne de variables booléennes est appelée s-terme

► Un Minterme est un p-terme de degré n n −1


m j = ∏ ai , ai ∈ ( ai , ai )
i =0

► Un Maxterme est un s-terme de degré n n −1


M j = ∑ ai , ai ∈ ( ai , ai )
i =0

►L somme llogique
►La i d
de ttous lles Mintermes
Mi t estt égale
é l a 1 sii lla ffonction
ti réalisée
é li é estt
p −1
différente de la fonction constante 0
∑m
j =0
j =1

►Le produit logique de tous les Maxtermes est égale a 0 si la fonction réalisée est
différente de la fonction constante 1 p−1

∏M j =0
j =0
20
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Minterme - Maxterme (2)

► Relation entre Minterme et Maxterme

mj = M j
► Exemples

m = a ⋅b ⋅c ⋅ d est un minterme
m = a ⋅b ⋅c ⋅ d est un autre minterme
m = a ⋅ b ⋅ c n'est pas un minterme

M = a+b+c+d est un maxterme


M = a +b +c+d est un autre maxterme
M = a + b + c n'est pas un maxterme
21
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Forme canonique (1)

► Forme Canonique (ou normale): Ecriture algébrique d'une fonction logique


n'utilisant que des Mintermes ou des Maxtermes.
Maxtermes

► L’écriture sous forme canonique est unique.

► Il existe deux possibilités d’écriture


d écriture :

■ Forme Canonique Disjonctive ou première forme canonique : Elle s'exprime


sous forme d'une somme de Mintermes
■ Forme Canonique Conjonctive ou seconde forme canonique : Elle s'exprime
sous forme d'un produit de Maxtermes
► Exemples:
E l

f (x, y, z) = x.y.z + x.y.z + x.y.z f ( x , y , z) = ( x + y + z).( x + y + z)


Minterme ou intersection de base Maxterme ou réunion de base

22
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Forme canonique (2)

► Si la fonction n’est pas sous forme normale, la fonction est sous une forme
simplifiée
f ( x , y , z ) = xyz + xyz + xyz Première forme canonique
= xy ( z + z ) + xyz Forme simplifiée

= y ( x + xz ) Forme simplifiée
= y( x + z) Forme simplifiée

► Simplification: Fabriquer un système

■ à moindre coût
Méthodes Algébriques
■ rapide Graphiques
■ fiable Programmables

■ peu consommateur

23
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Obtention 1ére forme canonique


► Premier théorème d’expansion de Shannon

, ) = a. F (1, b, c,,...)) + a. F (0, b, c...))


F (a, b, c.,..)
► Pour 1 variable
■ si a = 1
F (1, b, c.,..)) = 1. F (1, b, c,...)) + 0. F (0, b, c...))

■ si a = 0
F(0, b, c.,..) = 0.F(1, b, c,...) +1.F(0, b, c...)

► Pour 2 variables

F ( a , b ) = a . F (1, b ) + a . F ( 0, b )

F ( a , b ) = a .(b. F (1,1) + b. F (1,0)) + a .(b. F ( 0,1) + b. F ( 0,0)

F ( a , b ) = a . b. F (1,1) + a . b. F (1,0) + a . b. F ( 0,1) + a . b. F ( 0,0)

Point particulier de la fonction F vaut 0 ou 1


24
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Mise en œuvre 1ére forme canonique

F ( a , b ) = a . b . F (1,1) + a . b . F (1,0 ) + a . b . F ( 0 ,1) + a . b . F ( 0 ,0 )

Pour chaque i,j le point de la fonction F(i,j) dépend du problème

ab F
00 0 F(0,0) La première forme
01 1 F(0,1) F (a , b) = a.b + a.b canonique ne laisse
10 1 F(1
F(1,0)
0) apparaître
ît que les
l
11 0 F(1,1) termes qui valent 1

Il y a 2N mintermes possibles. La somme des 2N mintermes vaut 1. (fonction valant 1


partout))
p

25
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Obtention 2éme forme canonique


► Premier théorème d’expansion de Shannon

F ( a , b , c ,...) = ( a + F ( 0, b , c ,...)).( a + F (1, b , c ,...))

Si a=0 : F (0, b, c,...) = (0 + F (0, b, c...)).(1 + F (1, b, c,...))

neutre + absorbant +
neutre .
Pour deux variables :

F ( a , b ) = ( a + b + F ( 0,0)).( a + b + F (1,0)).
( a + b + F ( 0,1)).( a + b + F (1,1))

26
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Mise en œuvre 2éme forme canonique

F ( a , b ) = ( a + b + F ( 0,0)).( a + b + F (1,0)).
( a + b + F ( 0,1)).(
)) ( a + b + F (1,1))

ab F
00 0 F(0,0)
01 1 F(0,1)
10 1 F(1,0) Que les termes
11 0 F(1,1) F (a , b) = (a + b).(
) ( a + b) valant 0

Il y a 2N maxtermes possibles. La somme des 2N maxtermes vaut 0. (fonction valant 0


partout)

27
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Passage entre formes canoniques (1)


ab F
00 0 F(0,0) 1ère forme : F(a,b) = R(1,2)
01 1 F(0
F(0,1)
1) 2ème forme : F(a,b)
F(a b) = I(0,3)
I(0 3)
10 1 F(1,0)
11 0 F(1,1) R = Réunion I = Intersection

Soit f une expression booléenne écrite sous la forme d’une somme de mintermes
(respectivement d’un produit de maxtermes), son complément f est la somme de tous les
mintermes (respectivement le produit de tous les maxtermes) qui ne figurent pas dans f.
f

f = f
1er exemple : 2 variables, 2 mintermes et 2 maxtermes

( )( )
f = a ⋅ b + a ⋅ b = a + b ⋅ a + b = aa + ab + ab + bb = a ⋅ b + a ⋅ b = ( a + b ) ⋅ ( a + b)
28
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Passage entre formes canoniques (2)
2ème exemple : 3 variables, 3 mintermes et 5 maxtermes

f = ( x + y + z ) ⋅ ( x + y + z) ⋅ ( x + y + z) 2ème forme


 

6 3 1 Indices des
maxtermes
présents
f = ( x + y + z) ⋅ ( x + y + z) ⋅ ( x + y + z ) ⋅ ( x + y + z) ⋅ ( x + y + z)






7 5 4 2 0
Indices des
maxtermes
manquants
= x ⋅ y ⋅z + x ⋅ y⋅z + x ⋅ y⋅z + x⋅ y⋅ z + x⋅ y⋅ z
1ère forme
► Première forme canonique
q = expression
p des 1 de la fonction
► Deuxième forme canonique = expression des 0 de la fonction
► On choisit celle qui donne le résultat le plus simple
■ peu de 0 => deuxième forme
■ peu de 1 => première forme
29
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Partie 3

Fonctions Logiques

30
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Définitions
► Décomposition: Problème général de la réalisation d’une fonction logique à l’aide
d’opérateurs

► Transformation:
T f ti P
Passage d’une
d’ fforme à une autre
t fforme équivalente
é i l t

► Simplification : cas particulier d’une transformation quand on passe d’une forme


canonique à une forme minimale
■ Algébrique: Applications des principes et propriétés de l’algèbre de Boole avec
les identités remarquables: 1 a.b + a.b = b (a+b). ( a+b)=b
2 a + a.bb = a a.(a+b)
( b) = a
3 a + a.b = a+b a.( a + b) = a . b

3 : a + a . b = a . a + a . b + a . a + a . b = ( a + a ).
) (a + b) = a + b
a 0
■ Graphique: L’élément de base de cette méthode est la table de Karnaugh qui
représente toutes les combinaisons d’états
d états possibles pour un nombre de
variables donné.
31
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Simplifications algébrique
Règles de simplification :
(Mintermes adjacents = 1 seule variable qui change)
1 : Deux mintermes adjacents Il reste l’intersection commune
1’: Deux maxtermes adjacents Il reste la réunion commune

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

2 : On ajoute des termes neutres ou déjà existant (idempotence)


3 : théorème du consensus
4 : On simplifie la forme canonique ayant le moins de termes

Méthode algébrique toujours possible mais démarche intuitive


qui dépend de l’habileté et de l’expérience.

Exemples …
32
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Simplifications graphique
► La table de Karnaugh est un outil graphique qui permet de simplifier de manière
méthodique des expressions booléennes. Elle offre une méthode de simplification
pratique suivant une démarche systématique semblable à une recette de cuisine.

► La construction des tables de Karnaugh exploite le codage de l’information et la


notion
i d’d’adjacence
dj

► Principe: Mettre en évidence sur un graphique les mintermes (ou maxtermes)


adjacents Transformer les adjacences logiques en adjacences «géométriques»
adjacents. «géométriques».

►Trois phases:

■ Transcrire la fonction dans un tableau codé

■ Recherche des adjacents pour simplification

■ Equations des groupements effectués

33
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Code Gray ou binaire réfléchi (1)


► Construction:

0
1
00 000
01 0 0 1 On complète par des 0
0 11 011
1 Symétrie 10 010
Symétrie
1 10 110
0 «Miroir» 11 1 1 1 On complète par des 1
01 101
00 100
00
On complète par des 0
01
11
On complète par des 1
10
34
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Code Gray ou binaire réfléchi (2)
► Propriété: code à symétries multiples

Distance unité 000


001
011
010
110 Cyclique
111
101
100

► Monôme de n symboles = n adjacents multi-symétrie du code

► Tableau de Karnaugh: codage lignes et colonnes par code Gray


35
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exemples de construction (1)


► Exemple 1: Depuis une table de vérité

abc f
000 0 bc bc
001 1 a 00 01 11 10 a 00 01 11 10
010 1
011 1 0 0 1 1 1
0 1
100 0
101 0
1 1 0 0 0 0
110 0
111 0
bc
a 00 01 11 10

► Tore de Karnaugh: Haut et 0 0 1 1 1

Bas / Gauche et Droite liés 0


1 0 0 0

3 lettres = 3 adjacents
36
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exemples de construction (2)
► Exemple 2: Par une première forme canonique
bc
a 00 01 11 10

0 0 1 1 1

1 0 0 1 0

f (a , b , c) = a .b. c + a .b. c + a .b. c


bc
a 00 01 11 10

0 0 1 1 1

1 1 0 1 0

f ( a , b , c ) = ( a + b + c ).( a + b + c ).( a + b + c )
37
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Règles de simplification

1. Les groupements comportent une puissance de deux cases


2 Les 2k cases forment un rectangle
2.
3. Un groupement de 2k cases correspond à une simplification de k variables et
s’écrit avec (n-k) lettres
4 Il ffautt utiliser
4. tili au moins
i une ffois
i chaque
h 1
1, lle résultat
é lt t estt d
donné
é par lla réunion
é i
logique de chaque groupement
5. Expression minimale si :
■ les groupements les plus grands possibles
■ utiliser les 1 un minimum de fois
6 Codage d’un
6. d un groupe par les 1 :
■ n’apparaît que les variables fixes dans le groupement
■ forme simple si la variable vaut 1/ complémentée sinon

38
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exemple de simplification (1)
bc bc
a 00 01 11 10 00 01 11 10
a

0 0 1 1 0 0 0 1 1 0

1 1 1 1 0 1 1 1 1 0

bc bc
00 01 11 10 a 00 01 11 10
a

0 0 1 1 0 0 0 1 1 0

1 1 1 1 1 0
1 1 1 0

F (a , b, c) = a.b + c
39
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exemple de simplification (2)

bc
a 00 01 11 10

0 0 1 1 0

1 1 1 1 0

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

40
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Limite de la méthode
► Difficile avec plus de 6 variables
■ Intérêt pédagogique
■ Autres méthodes : McCluskey, Sheinman, Tison
► Problème de l’Aléa de propagation
bc bc
a 00 0
01 11 10
0 a 00 01 11 10

0 0 1 1 0 0 0 1 1 0

1 1 1 0 0 1 1 1 0 0

F = a.b + a. c F = a . b + a . c + b. c

a
Si b=0, c=1, F=1 Si b=0, c=1, F=1
q
mathématiquement, mais il a mathématiquement
q et
y’a retard techno F technologiquement

41
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exercice 1
def
000 001 011 010 110 111 101 100
abc
000 - 0 0 1 - 0 0 1
001 0 0 - 0 0 0 0 0
011 0 0 - 0 0 0 0 0

010 - 0 0 1 1 - 0 -
110 - 0 0 1 - 0 0 -
111 0 0 - 0 0 - 0 0
101 0 - 0 0 0 0 0 -
100 - 0 0 1 1 0 0 1

42
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exercice 1 : Démarche (1)
def
abc 000 001 011 010 110 111 101 100
Plus
Pl s de 1 o
ou de 0 ?
000 - 0 0 1 - 0 0 1 Choix d’un 1
Recherche des
001 0 0 - 0 0 0 0 0 adjacents
011 0 0 - 0 0 0 0 0
Adjacents éligibles ?
010 - 0 0 1 1 - 0 -

110 - 0 0 1 - 0 0 - Si oui groupement


111 0 0 - 0 0 - 0 0 Groupement
101 «augmentable» ?
0 - 0 0 0 0 0 -
100 - 0 0 1 1 0 0 1

43
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exercice 1 : Démarche (2)


def
abc 000 001 011 010 110 111 101 100
000 Plus de 1 ou de 0 ?
- 0 0 1 - 0 0 1 Choix d’un 1
001 Recherche des
0 0 - 0 0 0 0 0
adjacents
011 0 0 - 0 0 0 0 0
Adjacents éligibles ?
010 - 0 0 1 1 - 0 -
Si oui groupement
110 - 0 0 1 - 0 0 -
Groupement
111 0 0 - 0 0 - 0 0 «augmentable» ?
101 0 - 0 0 0 0 0 -
100 - 0 0 1 1 0 0 1

44
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exercice 1 : Démarche (3)
def
abc 000 001 011 010 110 111 101 100
000 - 0 0 1 - 0 0 1
001 0 0 - 0 0 0 0 0
011 0 0 - 0 0 0 0 0

010 - 0 0 1 1 - 0 -

110 - 0 0 1 - 0 0 -
111 0 0 - 0 0 - 0 0
101 0 - 0 0 0 0 0 -
100 - 0 0 1 1 0 0 1

45
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exercice 1 : Démarche (4)


def
abc 000 001 011 010 110 111 101 100
000 - 0 0 1 - 0 0 1
001 0 0 - 0 0 0 0 0
011 0 0 - 0 0 0 0 0

010 - 0 0 1 1 - 0 -

110 - 0 0 1 - 0 0 -
111 0 0 - 0 0 - 0 0
101 0 - 0 0 0 0 0 -
100 - 0 0 1 1 0 0 1

46
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exercice 1 : Démarche (5)
def
abc 000 001 011 010 110 111 101 100
000 - 0 0 1 - 0 0 1
001 0 0 - 0 0 0 0 0
011 0 0 - 0 0 0 0 0

010 - 0 0 1 1 - 0 -

110 - 0 0 1 - 0 0 -
111 0 0 - 0 0 - 0 0
101 0 - 0 0 0 0 0 -
100 - 0 0 1 1 0 0 1

47
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exercice 1 : Solution
d f
def
abc 000 001 011 010 110 111 101 100
000 - 0 0 1 - 0 0 1
001 0 0 - 0 0 0 0 0
1 seul groupement
011 0 0 - 0 0 0 0 0

010 - 0 0 1 1 - 0 -
H = c. f
110 - 0 0 1 - 0 0 -
111 0 0 - 0 0 - 0 0
101 0 - 0 0 0 0 0 -
100 - 0 0 1 1 0 0 1

48
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exercice 2
def
abc 000 001 011 010 110 111 101 100
000 1 1 0 0 1 1 1 -
001 1 1 1 1 - 1 1 1
011 1 1 1 1 1 1 - 1

010 1 1 0 0 - 1 1 1

110 1 1 0 0 1 1 - 1
111 1 1 1 1 - 1 1 1
101 1 1 1 1 1 1 1 1
100 1 1 0 0 1 1 1 1

49
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exercice 2 : Solution
def
000 001 011 010 110 111 101 100
abc
000 1 1 0 0 1 1 1 -
001 1 1 1 1 - 1 1 1
011 1 1 1 1 1 1 - 1

010 1 1 0 0 - 1 1 1

110 1 1 0 0 1 1 - 1 H = c+d +e
111 1 1 1 1 - 1 1 1
101 1 1 1 1 1 1 1 1
100 1 1 0 0 1 1 1 1

50
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Fin
du 1èr chapitre …

51
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
École Supérieure des Communications

Ingénieurs en Télécommunications, 1ère année

Opérateurs & circuits numériques


Chapitre 2
Systèmes de numération & Circuits combinatoires

Chiheb REBAI
chiheb.rebai@supcom.rnu.tn

1 © SUP’COM, Septembre 2007


C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Partie 1

Système de numération

2
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Définitions
► Mot: est une séquence de symboles (alphabet) représentant une information
Exemples
p : ordinateur,, 2005,, XXVIII

► Mot binaire: un mot constitué avec l’alphabet binaire {1, 0}


Exemples : 1100 1111

► Quartet (nibble): un mot binaire de longueur 4

► Octet (byte): un mot binaire de longueur 8

► Code: un ensemble de mots auxquels on confère une signification (convention) pour


représenter une catégorie de messages ou de concepts. Un code est binaire s’il ne
contient que des mots binaires
binaires.
Exemples : Gray, DCB, Huffmann

3
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Représentation des nombres

► Soit une base b associée à b symboles {S0, S1, S2, ..., Sb-1}
► Un nombre positif N dans un système de base b s’écrit
s écrit sous la forme polynomiale:

N = an −1 ⋅ b n −1 + an − 2 ⋅ b n − 2 + " + a1 ⋅ b1 + a0 ⋅ b 0 + a−1 ⋅ b −1 + a−2 ⋅ b −2 + " + a− m +1 ⋅ b − m +1 + a− m ⋅ b − m

► La représentation simples de position est la suivante:

( an −1an − 2 a1a0 , a−1a−2 a− m+1a− m )

ai est le chiffre de rang i (ai appartient à un ensemble de b symboles)


an −1 est le chiffre le plus significatif
a− m est le chiffre le moins significatif
( an −1an − 2 ...a0 ) partie entière
( a−1a−2 ...a− m ) partie fractionnaire (<1)

4
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Les bases usuelles
► Système binaire (b=2)
ai ∈ {0,1}
an −1 est le
l MSB
S ((most significant
i ifi bit)
bi )
a− m est le LSB (least significant bit)

► Système octal (b=8)

ai ∈ {0,1, 2,3, 4,5, 6, 7}

►Système décimal (b=10) (base de l’école primaire )

ai ∈ {0,1, 2,3, 4,5, 6, 7,8,9}

► Système hexadécimal (b=16) (raccourci d’écriture de la base 2)

ai ∈ {0,1,
, , 2,3,
, , 4,5, , , , A, B, C , D, E , F }
, , 6,, 7,8,9,

5
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Conversion entre bases


► Base b vers base 10 : il suffit de substituer la valeur b dans l’expression
polynomiale par la valeur de la base.

( F1C )16 = 15 ⋅162 + 1⋅161 + 12 ⋅160 = ( 3868)10


► Base 10 vers base b : 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.

Division Quotient Reste

1836/7 262 2 (a0)


262/7 37 3 (a1) (1836 )10 = ( 5232 )7
37/7 5 2 (a2)
5/7 0 5 (a3)

6
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Conversion 2m → 2 & 2 → 2m

► 2m vers 2 : expansion d’un digit en m bits


► 2 vers 2m : regroupement de bits par paquets de m

N = a 7 .2 7 + a 6 .2 6 + a 5 .2 5 + a 4 .2 4 + a 3 .2 3 + a 2 .2 2 + a 1 .2 1 + a 0 .2 0
= (a 7 .2 3 + a 6 .2 2 + a 5 .2 1 + a 4 .2 0 ).2 4
+ (a 3 .2 3 + a 2 .2 2 + a 1 .2 1 + a 0 .2 0 )
= (a 7 .2 3 + a 6 .2 2 + a 5 .2 1 + a 4 .2 0 ).16 1
+ (a 3 .2 3 + a 2 .2 2 + a 1 .2 1 + a 0 .2 0 ). 16 0

N = b 1 .16 1
+ b 0 .16 0

0 ≤ a 3 .2 3 + a 2 .2 2 + a 1 .2 1 + a 0 .2 0 ≤ 15

6 2 2 , 6 6 3 b
base 8
► Ecriture de (622,663)8 en base 2 et base 16 ? 110 010 010 , 110 110 011 base 2

1 1001 0010 , 1101 1001 1 base 2


1 9 2 , D 9 8 base 16

7
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Conversion 10 → B (1)

► Méthode de la division/multiplication

►Principe : En base 10 xyz = xy *10 + z

(363)10 en base 2 ?
xyz 10
363 2
z xy 10
1 181 2
y x

LSD 1 90 2
MSD
(363)10 en base 16 ? 0 45 2

363 16 1 22
11 16 2
22 2
((B))
6 1 1
0
8
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Conversion 10 → B (2)

► Pour la partie fractionnaire : algorithme de multiplication

► Principe : En base 10 0,xyz *10 = x,yz = x + 0,yz

0,xyz * 10 = x,yz x
Partie fractionnaire de x,yz
x yz 0 yz * 10 = y,z
0,yz yz y
Partie fractionnaire de y,z 0,z * 10 = z z

(0,45)10 en base 2 ?

0,45 * 2 = 0,90 0
(0,45)10 = (0,0111001...)2
0,90 * 2 = 1,8 1
0,8 * 2 = 1,6 1
0 6 * 2 = 1,2
0,6 12 1
0,2 * 2 = 0,4 0
0,4 * 2 = 0,8 0
0,8 * 2 = 1,6 1
0,6 * 2 = 1,2 .. ...
Une longueur finie en base 10 peut être infinie en base B
On conserve la précision relative 10-3 est approximée par 2-10
9
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Représentation binaire

► Définitions :
format nb de bit de utilisés
convention protocole de codage
dynamique différence entre le max et le min
résolution différence entre deux consécutifs

► Exemple :
: format 8 bits
convention entiers positifs
dynamique 28
résolution 1 (constante sur la dynamique)

(255)10 = (1111 1111)2 (7)10 = (0000 0111)2

10
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Décimal Code Binaire : DCB

► Remplacer chaque chiffre d'un nombre décimal par son équivalent binaire

► Faire une correspondance directe entre binaire et décimal

■ Nombre Decimal 5 3 7 1

■ Nombre
N b Bi Binaire
i 0101 0011 0111 0001

■ Nombre Binaire 0101 1001 1000 0011

■ Nombre Decimal 5 9 8 3

► Sous
Sous-Utilisation
Utilisation de l'espace
l espace de représentation binaire

► 6 représentations interdites: 1010, 1011, 1100, 1101, 1110, 1111

11
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Code de Gray

► Une représentation ne diffère de la précédente que d'un bit

Décimal Binaire Gray Decimal Binaire Gray

0 0000 0000 8 1000 1100

1 0001 0001 9 1001 1101

2 0010 0011 10 1010 1111

3 0011 0010 11 1011 1110

4 0100 0110 12 1100 1010

5 0101 0111 13 1101 1011

6 0110 0101 14 1110 1001

7 0111 0100 15 1111 1000

12
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Code ASCII
► Besoin de traiter de l'information non numérique: Alphanumérique : , ? R t j

► Mise en place d'un codage sur 7 bits : l'ASCII (American Standard Code for
Information Interchange)

► 7 bits : 26 lettres minuscules, 26 lettres majuscules, 10 chiffres, 7 signes de


ponctuation soit 69 signes a coder. Le reste sert pour des caractères spéciaux

► ASCII étendu : 8 bits

Caractere Code Hexadecimal

A 41

E 45

I 49

M 4D

N 4E

13
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Nb signé: signe + module

Sur n bits on garde 1 bit pour indiquer le signe

S Msb xxxxxxxxxxx Lsb Convention :


S=0 pour positif
Signe Module (positif) S=1 pour négatif
1 bit n-1 bits

Multiplications faciles
N1*N
N2
Exemple sur 8 bits : -23 = (1 0010111)2,S+M Abs(N1)*Abs(N2)
S = S1 xor S2

Additions moins simples


Dynamique : -(2n-1-1) à (2n-1-1)
Inconvénient : Deux représentations du zéro
Sur 4 bits +0 = 0000, -0 = 1000

14
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Nb signés : complément restreint
(complément à B-
B-1, ou complément à 1)

Définition : CR(X) = X Complément chiffre à chiffre


(xyz)b donne (x’y’z’)
(x y z )b
tel que x + x’ = bn-1

On a X + CR(X) = bn -1 En binaire 00110 donne 11001


et 00110 + 11001 = 11111

Dans le format considéré 2n = 0 Partie interprétée

sur 4 bits : 24 = 10000 = 0

d’où : CR(X) + 1 = -X

15
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Nb signés : complément vrai


(complément à B, complément à 2, 2*)

►Définition : N* complément vrai de N sur n chiffres en base B

N* = Bn - N = -N

► Calcul de l’opposé (sur n bits) :

N* = (-N) = 2n -N = [2n-1] - N + 1 = [N + CR(N)] - N + 1 = CR(N) +1

N* = CR(N)
( ) +1 = CV(N)
( )

► Complément à deux sur 4 bits : 7 0111 -7 1001


6 0110 -6
6 1010
...
0 0000 -0 0000

► Dynamique
D i sur n bit
bits : -(2
(2n-1
n 1-1)
1) à (2n-1
n 1-1)
1)

16
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Nb signés : binaire décalé sur m bits
(ou excédent 2m-1)

► On stocke les nombres de m bits comme

Nstocké = Nxs = Nm + 2m-1


(translation de la demi-dynamique)

► Exemple sur 8 bits : Nxs = N8 + 128

Valeur à coder : -128 ... 0 ... 127


Opé at o
Opération
à la restitution
Nlu = Nxs - 128
Valeur stockée : 0 128 255

► Avantage : on garde la relation d’ordre


on peut effectuer les comparaisons facilement

► Remarque : identique au 2* au signe près

17
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Nb signé: comparaison

N10 N2 -NS+M -N2,CR -N2* -N2,XS8


mêmes positifs positifs différents

0 0000 1000 1111 0000 1000


1 0001 1001 1110 1111 0111
2 0010 1010 1101 1110 0110 Remarque :
3 0011 1011 1100 1101 0101 relation d’ordre
4 0100 1100 1011 1100 0100 signe
i d
du zéro
é
5 0101 1101 1010 1011 0011 symétrie
6 0110 1110 1001 1010 0010 gestion retenues
7 0111 1111 1000 1001 0001
8 1000 .... .... (1000) 0000

18
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Nb non entier: virgule fixe
► Dans un calculateur un nombre est un sous format déterminé (entier, virgule fixe,
virgule flottante ...)
► Par convention on place la virgule quelque part et on interprète

2n-1 20 avant de placer la virgule


MSB xxxxxx , xxxx LSB
2n-1-k 20 , 2-1 2-k avec la virgule au rang k

► Dynamique : 2n-1-k, Résolution : 2-k # 0

Bon format pour l’addition : Mauvais format pour la multiplication :


12,32 13,4
+ 23,45 * 10,1
= 35,77 La virgule reste fixe = 135,34 dépassement à gauche (overflow)
dépassement à droite (arrondi)

Problèmes réglés si les nombres sont < à 1 :


0,87 ► On place la virgule toujours à gauche
* 0,74
= 0,6438
► On utilise un autre groupe de bit pour connaître
la position de la virgule: virgule flottante
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Virgule flottante: Format

N = M.bE M = mantisse en 2* de forme 0,xxx


b =bbase dde l’l’exponentiation
i i (2 ou 16)
E = exposant en binaire décalé

On stocke la chaine de bit ME dans le calculateur

Exemple : codage de PI sur 5 chiffres de mantisse


et 2 chiffres d’exposant (en décimal)

0,3141.101 = 0,0003.104 !!! PI*10000=3

On dit qu’un flottant est normalisé quand le premier chiffre


significatif est juste derrière la virgule (précision maximum)

20
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Vigule flottante: IEEE 754/854

► Norme internationale : IEEE 754 flottant sur 32 bits

b31 .................................................b0
signe mantisse, exposant, mantisse
1 bit 8 bit 23 bits

Le bit de signe est 1 pour négatif et 0 pour positif


La mantisse vaut toujours 1,xxxx
1 xxxx et on ne stocke que xxxx
L’exposant est en excédent 127
La valeur 0 correspond à des 0 partout (en fait 1,0.2-127)

Exemple : 1 10000011 11000000000000000000000 = -1,75.24 = -28


0 01111111 00000000000000000000000 = 1,0.20 = 1

21
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Partie 2

Fonctions Combinatoires Logiques

22
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Définitions
► Logique combinatoire : se dit d’une fonction logique numérique réalisée avec
les portes de base (AND, OR, NOT, Nand, …) dans laquelle toutes les sorties sont
reliées à des combinaison courantes des valeurs à l’entrée.
► Tous changements dans les signaux appliqués aux entrées se propage
immédiatement à travers les portes jusqu’à
jusqu à ce que leurs effets apparaissent aux
sorties.

Combinatoire : S = f(a,b,c,..,n)
f(a b c n)

idem Boucle ouverte

Séquentiel : S = f(a,b,c,..,n,S)

idem Systèmes bouclés


23
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Composants combinatoires

► Portes
P t iintégrés
té é ett inverseurs
i (G
(Gates)
t )

► Portes cascadable (Expanders)

► Multiplexeur / démultiplexeur

► Codeurs / Décodeurs

► Transcodeurs

► Comparateurs / Détection d’erreurs

► Circuits arithmétiques (add, ALU, mult)

24
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Portes logique: Représentation
a a
b & s b & s a s
ET NAND NON
a a a
b >1 s b >1 s b =1 s
OU NOR XOR

La représentation française est utilisée en symboles logiques


Norme ANSI/IEEE Std: 91-1984 : Standard Graphic Symbols for Logic Functions

a s
a a
s b s
b NON
NAND a s
ET

a a
s a
b b s s
b
OU NOR XOR

La norme américaine est la norme utilisée dans les « datasheets » pour


dessiner les diagrammes (schémas) logiques.
25
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Porte logique: Glue


Porte de base la plus fabriquée : NAND (GOC)

TTL CMOS
CI = 4 NAND à 2 entrées 7400 4011
3 « 3 « 7410 4023
2 « 4 « 7420 4012
1 « 8 « 7430 4068

Aussi : 6 inverseurs
Remarque : 4 NAND à 2 entrées
2*4 entrées + 1*4 sorties + Vcc + Gnd = 14 pattes

Variété moindre : ET, OU, XOR ...

Problème du nombre de boîtier pour réaliser


une fonction logique INTEGRATION (VLSI/ULSI)

26
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Expander
Les premières portes complexes intégrées :
AND-OR-INVERT (exemple AOI 2-2-1)

a
b &

c >1
d &
a
b &
>1 s = a . b + c. d + e
c
d &
e AND-OR-INVERT expandable
ou EXPANDER

27
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Multiplexeur: définition
Sélection d’une voie parmi 2N par N bits de commande

Si (S1S0)2 = 0 alors Q = I0

I0 Q = S 0 . S1 . I O
I1
Si (S1S0)2 = 1 alors Q = I1
I2 Q
Q = S0 .S1.I1
I3
Mux 4 vers 1 …

S1 S0

Q = S1. S 0 . I 0 + S1. S 0 . I1 + S1. S 0 . I 2 + S1. S 0 . I 3

28
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Multiplexeur: constitution

Q = S1 . S0 . I 0 + S1 . S0 . I 1 + S1 . S0 . I 2 + S1 . S0 . I 3

I0
&
I1
&
I2 Q
& >1
I3
S1 &
S0
29
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Multiplexeur : réalisation de fonctions

Utilisation de la première forme canonique

ab F
00 0 F(0,0) 0 I0
01 1 F(0
F(0,1)
1) 1 I1 Mux
Q= F
10 1 F(1,0) 1 I2 4 vers 1
11 0 F(1,1) 0 I3
S1 S0

a b

Toute fonction logique de N variables est


réalisable avec un multiplexeur de 2N vers 1

30
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Multiplexeur : réalisation de fonctions
ab c F
00 0 0 ((ab))2 = 0
00 1 0 F=0
01 0 1 (ab)2=1 0 I0
01 1 1 F=1 1 I1 Mux
c I2 4 vers 1 Q= F
10 0 0 (ab)2 = 2
10 1 1 F=c c I3 S S
1 0
11 0 1 (ab)2 = 3
11 1 0 F=c a b

Toute fonction logique de N variables est réalisable


avec un multiplexeur
l l de
d 2N-1 vers 1 et un inverseur

31
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Démultiplexeur : 1 parmi 2n

Q0 = E si (S1S0)2=0
E sinon
Q0
Q1 Q1 = E si (S1S0)2=1
E
Q2 E sinon
Q3
1 parmi 2N …

S1 S0
Remarque : E peut ne pas être «disponible»
Sortie sélectionnée = 1 les autres 0
ou Sortie sélectionnée = 0 les autres 1

32
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Démultiplexeur : 1 parmi 2n

E=1
Q0 = E . S 1 . S 0 + E . S 1 . S 0
Q0 = S1 . S 0
Q0 = E . S1 . S 0 + E .( S1 + S 0 )
E Q1 Q1 = E . S1 . S 0 + E . S1 . S 0
Q2 Q1 = S 1 . S 0
= E . S1 . S 0 + E .( S1 + S 0 )
1 parmi 2N
Q3

S1 S0
Qi=(i)2

33
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Démultiplexeur : réalisation de fonctions

Q0
ab F
Q1
00 0 F(0,0) 1 Q2
>1 F
01 1 F(0,1)
Q3
10 1 F(1,0)
1p
parmi 2N
11 0 F(1 1)
F(1,1)
a b
S1 S0

34
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Codeur

1 entrée parmi N L code


Le d dde l’l’entrée

0 I0
1 I1 C0 1
0 I2 C1 0
0 I3

Exemple : Clavier / Scan code


Caractère / Code ASCII

35
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Décodeur
Remarque : Multiplexeur Démultiplexeur

Codeur Décodeur

Décodeur = Démultiplexeur
p ((à E fixe))

Q0 0
0 C0 Q1 0
1
C1 Q2 1
Q3 0

E
Exemple
l : adresses
d pixel
i l / position
iti effective
ff ti pixel
i l

36
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Transcodeur
Passage d’un code quelconque C1 à un autre code C2

C1 C2
n m

Exemple
0 I0
1 I1
0 I2
0 I3

Code binaire 0 à 9
37
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Comparateur binaire

classique n=4

n
A S = 1 si A > B
n E = 1 si A = B
B I = 1 si A < B
> = <

Entrées de cascade

38
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Comparateur : 7485

A0-3 A4-7
4 4
A
0 A>B A>B A>B A>B
1 A=B A=B A=B A=B
0 A<B A<B A<B A<B
4
B 4

39
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Partie 3

Fonctions Combinatoire Arithmétiques

40
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Additionneur

Addition de deux nombres binaires ai et bi codés sur 1 bit

somme
Résultat = {0, 1, 2} {00, 01, 10}
retenue
Addition : ai + bi = 2 ⋅ ri +1 + si Fonction bool. à deux entrées ( ai , bi )
et deux sorties ( si , ri )
ai bi si ri+1 Valeur décimale
0 0 0 0 0
ri +1 = ai ⋅ bi
0 1 1 0 1
si = ai ⊕ bi
1 0 1 0 1
1 1 0 1 2

41
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Additionneur (2)

Le schéma d’un demi-additionneur est le suivant :


ai
1 si
3
2

bi

1 retenue
3
2

Ce résultat peut être généralisé pour additionner deux mots de longueurs


quelconques. Chacun des bits sont additionnés en commençant par les LSB en
répercutant à l’étape i+1 l’éventuelle retenue provenant de l’addition des bits
de rang i.
i

Besoin d’une entrée supplémentaire

Additionneur complet

42
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Additionneur (3)

Équation : ai + bi + ri = 2 ⋅ ri +1 + si

ai bi ri si ri+1 Valeur
décimale ri\ai bi 00 01 10 11
0 0 0 0 0 0
0 0 1 0 1
0 0 1 1 0 1
1 1 0 1 0
0 1 0 1 0 1
0 1 1 0 1 2
1 0 0 1 0 1 ri\ai bi 00 01 10 11

1 0 1 0 1 2 0 0 0 1 0

1 1 0 0 1 2 1 0 1 1 1

1 1 1 1 1 3

43
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Additionneur (4)

si = ai ⊕ bi ⊕ ri
ri +1 = ai ⋅ bi + ri ⋅ bi + ri ⋅ ai = ai ⋅ bi + ri ( ai ⊕ bi )
Ripple Carry Adder

ri
1 si
3
2
La retenue se propage
d’une
d une position vers la
ai
1
3
1
3 position suivante. Ex :
2
2

bi 111111 + 000001
1 rip1
1 3
3 2
2

44
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Additionneur parallèle n bits

a3 b3 a2 b2 a1 b1 a0 b0

S4 = r4 Add Add Add Add r0

S3 S2 S1 S0

Avantage : simplicité, modularité

Inconvénient : temps de calcul dépend de n (retenu série)

45
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Soustracteur
Principe:

L addition des nombres positifs et négatifs, y compris leur bit de signe, est réalisable
L’addition
avec l’additionneur parallèle de base si les nombres négatifs sont sous leur forme en
complément à 2

Réalisation:
B1 B1 B0 B0
ADD

SUB

R0
Additi
Additionneur

46
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Unité Arithmétique et Logique (ALU)

Cin
n Exemple :
A
P R= A+B
G
Cl i
Classique. n=4
4 R= A+B
A=B
R R= A+B+1
n
n ...
B
R= A ou B
5 Cout
R= A nand B
S ...
Choix de la
fonction (32 cas)

47
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Multiplieur

Principe: a1 a0 Multiplicande Les produits partiels sont des


b1 b0 produits arithmétiques qui sont
Multiplicateur
Produits partiels identiques à des produits logiques,
a1b0 a0b0 se réalisent donc au moyen de
portes AND
a1b1 a0b1
P3 P2 P1 P0 Produit

Exemple de Réalisation: a1 b1 a0 b1 a1 b0 a0 b0

Avec des additionneurs


0

a b a b
FA rn-1 FA rn-1 0
rn s rn s

P3 P2 P1 P0

48
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Fin
du 2ème chapitre …

49
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
École Supérieure des Communications

Ingénieurs en Télécommunications, 1ère année

Opérateurs & circuits numériques


Chapitre 3
Circuits Séquentiels

Chiheb REBAI
chiheb.rebai@supcom.rnu.tn

1 © SUP’COM, Septembre 2007


C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Partie 1

Systèmes séquentiels

2
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Du combinatoire au séquentiel
► Logique combinatoire : la fonction ne dépend que du vecteur d’entrées à l’instant t
► Exemple de systèmes plus complexes :
■ Un appui sur un bouton allume la lumière, un deuxième appui l’éteint
■ Une impulsion démarre les essuie-glaces qui s’arrêtent en position de repos
► Même
ê e vecteur
ec eu d’entrée
d e ée = 2 états
é a s de sortie
so e d différents
ée s
■ Non réalisable en combinatoire
■ Il faut que le système dispose d’autres informations.
■ Le système calcule lui-même son état courant.
► Exemple : le système calcule si c’est la première ou la deuxième fois qu’on appuie sur
le bouton n
E fct. combi. Sortie = fct combi.
vecteur d’entrée
de n+m variables
fct combi.
fct. combi
m
3
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Système séquentiel

► Représentation symbolique :
E Sortie
n fct. combi.
m

■ La sortie est une fonction séquentielle des entrées E.


■ Les sorties «secondaires» sont appelées variables internes.

► Définitions :
■ La sortie dépend du vecteur d’entrée et de l’histoire du vecteur d’entrée (et de
l’état initial). le système possède une fonction mémoire.
■ Un vecteur d’entrée induit plusieurs vecteurs de sortie.
■ Le système calcule vecteur de variables internes VI telles que : f(E,VI) est
combinatoire, Il s’agit d’un système bouclé.
4
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Modèle d’états
► Le comportement de certains circuits est une succession d'états stables.
►Le changement d'état ne se produit que lors du changement de valeur d'un signal.
Ce changement est appelé événement.
►Le modèle utilisé pour décrire le comportement de ces circuits met en relation :
ll'état
état présent,
présent des événements et les états suivants
suivants. Ce modèle est appelé modèle
d'états.
►Un circuit dont le comportement peut être modélisé uniquement par des
expressions booléennes ne faisant appel qu’au variable d’entrée est appelé circuit
combinatoire.
►Un circuit dont le comportement doit être modélisé par un modèle d'états
d états est
appelé circuit séquentiel.
►On appelle « variables d’états » l'ensemble des variables nécessaires à la
représentation du passé.

5
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Logique séquentielle : fonctionnement

Hypothèse : la fonction combinatoire suivante

E x S
0 0 0 E
1 0 1 S
1 1 1 x
0 1 1
T

E x S
0 0 0 E Stable
1 0 1 0 S
1 1 1 x
0 0
0 1 1
T

6
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Logique séquentielle : fonctionnement

E x S
0 0 0 E
1 0 1 1 S I t bl
Instable
1 1 1 x
1
0 1 1 0
T

E x S
0 0 0 E
1 0 1 1 S
1 1 1 x Stable
1
0 1 1 1
T

7
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Logique séquentielle : fonctionnement


E x S
0 0 0 E
1 0 1 0 S
1 1 1 x
1
0 1 1 1 Stable
T

E x S
0 0 0 E
1 0 1 S
1 1 1 x
0 1 1
Vue utilisateur : E = 0, 1, 0
S = 0,
0 11, 1
Même entrée
Sortie différente
8
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Logique séquentielle : fonctionnement

E x S
0 0 0 E
1 0 1 S
1 1 1 x
0 1 1

Vue utilisateur : E = 0,
0 11, 0
S = 0, 1, 1
Même entrée
Sortie différente

9
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Logique séquentielle : instabilité

Hypothèse : la fonction combinatoire suivante

E x S
0 0 0 E Stable
1 0 1 0 S
1 1 0 x
0 0
0 1 1
T

E x S
0 0 0 E
1 0 1 1 S Instable
1 1 0 x
1
0 1 1 0
T

10
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Logique séquentielle : instabilité

E x S
0 0 0 E
1 0 1 1 S
1 1 0 x Instable
0
0 1 1 1
T

E x S
0 0 0 E
1 0 1 1 S Instable
1 1 0 x
1
0 1 1 0
T

Un système séquentiel peut être instable !!


11
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Logique séquentielle : synchronisation

► Système séquentiel asynchrone : le système évolue librement dès le changement


d’une entrée.
► Système séquentiel synchrone : Le système n’évolue qu’à des moments précis
sous le contrôle d’un signal appelé HORLOGE (Clock).

Niveau d’horloge

Impulsion
p d’horloge
g

Front d’horloge

Master Slave
(entrée=niv haut, sortie=front descendant)

► Système existant : analyse


► Cahier des charges : synthèse

12
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Partie 2

Mémoires & Bascules

13
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Système séquentiel : briques de base


Soit un système de vecteur d’entrée E et de sortie S
Les états du vecteur d’entrée sont décomposés en ensembles Ei

FONCTION MEMOIRE FONCTION COMPTAGE

E s(t) s(t+dt)
s(t dt) E s(t)
( ) s(t+dt)
( )

E0 x 0 Mise à zéro E0 x 0
E1 x 1 Mise à un E1 x 1
E2 x x Séquentiel
E2 x x
E3 x not(x) Comptage
ou instable

Après stabilisation
Si E3 : S = 0, 1, 0, 1, 0
Avant application de E
(oscillations à dt ou T secondes)
Entrée appliquée au temps t 000 001 010 011 100
000,001,010,011,100,...

14
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Fonction mémoire : réalisation
E s(t) s(t+dt) On pose s(t+dt) = s*, (on omet le temps)
D’après le théorème d’expansion de Shannon :
E0 x 0
E1 x 1
E2 x x s * = F ( s , E ) = s . F (1 , E ) + s . F ( 0 , E )
= s . A ( E ) + s .B ( E )

Arbitrairement, on choisi le codage suivant :


E
A(E)
( ) B(E)
( ) s*
S* 0 0 0 Reset
S 1 1 1 Set
1 0 s Mémoire
0 1 not(s) Instable

On a 4 fonctions à réaliser,, dans le cas de la mémoire plus


p que
q 3,, on va donc
éliminer le cas A = 0, B = 1, (Reset, Set, Mémoire, pas d’instable)

15
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Étude de la mémoire RS (Reset-


(Reset-Set)

Principe Fonction logique


► 2 entrées
t é R (R
(Reset)
t) ett S (S
(Set)
t) ett d
deux sorties
ti Q ett Q’
R S Q- Q+
■ R entrée de mise à 0
0 0 0 0
■ S entrée de mise à 1
0 0 1 1
0 1 0 1
R Q 0 1 1 1
1 0 0 0
Q’
S 1 0 1 0
1 1 0 x
► Si R = S = 0,, alors Q et Q’
Q maintiennent leur état 1 1 1 x
► Si R = 1 et S = 0, alors mise à 0, Q = 0, Q’ = 1

► Si R = 0 et S = 1, alors mise à 1, Q = 1, Q’ = 0 Q += S +Q − R

► R = S = 1 combinaison non envisagée
Q += R +Q _ S

C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007


Réalisation et application - Latch RS
Exemple de réalisation Dispositif anti-rebond
+5 V
S Q

Q’ S
R Q
2 I 1

Problème de rebondissement
R
Peut apparaître suite à la commutation d
d’un
un
bouton poussoir ou touche de clavier I
1 2 1
+5 V
I
R

t
S
S S
I Q

t t1t2 t3t4
17
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Mémoire RS synchronisé (RST)

Réalisation Table de vérité


S
T R S Q+
T Q 0 x x Q-
1 0 0 Q-
R Q’ 1 0 1 1
1 1 0 0
1 1 1 x
Fonctionnement
► Si T = 0 Pas d ’évolution

► Si T
T=1
1 Évolution
É l ti en b
bascule
l RS classique
l i

Les commandes R et S n ’ont d ’effet que pendant les instants où T vaut 1. La mémoire est
sensible au niveau ‘1 ’ de T

Il est également possible de réaliser une mémoire sensible au niveau ‘ 0’ de T

18
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Initialisation de la mémoire RST

R CLR Entrées de forçage


Q
T PR (Preset) : Forçage à 1
S Q’ CLR (Clear) : Forçage à 0
PR

Forçage à 1
Mise à 1
PR
S PR et CLR sont actives au
Q niveau ‘0’.
T
Horloge Leur action est asynchrone
(indépendante de T)
R Q’
Mise à 0
CLR
Forçage à 0

19
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Mémoire D à verrouillage « Latch »

RST avec R = S

D Q D S Q
T
T R
Q Q

D T Q Q’
Si T = 0 les sorties sont «gelées» 0 0 Q- Q’-
Si T = 1 recopie de D sur Q 1 0 Q- Q’-
0 1 0 1
Comme la RST : ne peut pas compter 1 1 1 0

Remarque : circuits du commerce sans entrée asynchrone

20
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Les bascules « flip
flip--flop »

Mémoires : Problème de sensibilité aux parasites (a)


Ne pe
peutt pas compter (b)

Solution à (a) : Sensible sur niveau et réduire la durée de ceux-ci


ceux ci
Circuit sensible sur front de T (montant ou descendant)
Structure maitre-esclave

Entrées Sorties
Mémoire Mémoire
T sensible sensible
sur niveau sur niveau

21
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Maitre--esclave : explication
Maitre

D Qi Q
D-latch D-latch
C T M1 T M2

Sensible au
niveau bas de C

Passage de l’info
C entre M1 et M2
1 M gelée
g active gelée
g active gelée
g active = comportement
mémoires
é i M2 active gelée active gelée active gelée sur fronts
Qi fixe =D fixe =D fixe =D
Q = Qi fixe = Qi fixe = Qi fixe
1er flip-flop
p p
à triodes : 1906

22
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Bascule RST
RST--ME et DT-
DT-ME

D Q
D D
C T T Q’

DT-ME peut elle compter ?

Analyse : Si D = 1 : au front descendant de C Q passe à 1 et D à 0


AU PROCHAIN FRONT DE C Q passe à 0 et D à 1
.....

Inversion de la sortie à chaque période d’horloge


(
(sous contrôle
t ôl utilisateur)
tili t ) = comptage
t

23
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Étude de la bascule D (Data)

Bascule de recopie. On en distingue deux types


Étude de cas:
S
Sensible
ibl au front
f t montant
t t de
d H Bascule D sensible au front montant
Au front montant, Q recopie D
D CLR Q

H PR CLR H D Q+ Mode
Q
PR 0 1 x x 1
1 0 x x y
0 asynchrone
Sensible au front descendant de H 0 0 x x 1*
1 1 0,1,↓ x Q-
1 1 ↑ 0 0 synchrone
y
D CLR Q 1 1 ↑ 1 1

H Q
PR

24
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Étude de la bascule T (Trigger)

Principe Réalisation
Une entrée T et deux sorties Q et Q’
Q
Q T
Q
T
Q’

Si T = 0, Q maintient son état


Si T = 1, Q change d’état (basculement)

Fonction logique Chronogramme

T Q- Q+ T
+ − −
0 0 0 Q = T Q + TQ
0 1 1 = T ⊕ Q− Q
1 0 1
1 1 0
25
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Étude de la bascule JK

Principe Fonction logique


J K Q- Q+ Mode
M d
Deux entrées J (mise à 1) et K (mise à 0) et
0 0 0 0 Maintient
deux sorties complémentaires Q et Q’
0 0 1 1
0 1 0 0 Mise à 0
0 1 1 0
J Q 1 0 0 1 Mise à 1
1 0 1 1
K Q 1 1 0 1 Commutation
1 1 1 0

Fonctionnement identique à celui de la bascule


RS, la combinaison (J = K =1) est considérée,
R
elle conduit à un basculement (commutation). K Q
J S Q’

26
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Bascule JK synchrone
Bascule JK classique qui possède en plus une entrée horloge. On en distingue 4 types :

Sensible au niveau 1 de H Sensible au niveau 0 de H

CLR CLR
J Q J Q
H H
Q Q
K PR K PR

Sensible au front montant de H Sensible au front descendant de H

CLR CLR
J Q J Q
H H
Q Q
K PR K PR

27
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Récapitulatif

Mémoires ((Latches)) Bascules ((Flip-flop)


p p)

RS ou anti-rebond RST/ME et DT/ME

RST D ou D
D-edge
d

DT latch ou verrou T pas fabriquée

JK/ME
JK sur front implicitement
Une mémoire ne peut
pas compter !!!

28
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Table de transition d’une bascule

Définition : On appelle txy la transition de la sortie du niveau x au niveau y


provoquée par le front d’horloge.

4 cas possibles : t00 t01 t10 t11

Table de transition : les niveaux qui doivent être présents sur les entrées pour
provoquer la transition voulue au front d’horloge.

Bascule D : Bascule T :

t00 t01 t10 t11 t00 t01 t10 t11

D 0 1 0 1 T 0 1 1 0

29
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Table de transition : bascule JK

Bascule JK : t00 t01 t10 t11

JK 0- 1- -1 -0

t00 t01 t10 t11

mise à 0 01 mise à 1 10 mise à 0 01 mise à 1 10


mémorisation 00 toggle 11 toggle 11 mémorisation 00

30
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Partie 3

Registres & compteurs

31
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Étude des registres de mémorisation

Principe

en-1 …… e0 Permet de mémoriser n bits


LOAD «Latch» à n bits
Sn-1 ….. S0

F
Fonctionnement
ti t
► Si LOAD active, les sorties recopient les entrées
► Sinon,, les sorties restent inchangées
g indépendamment
p des entrées

Réalisation

au moyen de
d bbascules
l d de recopie
i (B
(Bascule
l D)

32
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exemple de réalisation
de registres de mémorisation

Registre de mémorisation de taille 4 bits

E0 E1 E2 E3

D Q D Q D Q D Q

H Q H Q H Q H Q

W
R

S0 S1 S2 S3

33
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Étude des registres à décalage


4 types de décalages

Simple Circulaire
Droite Droite

x
a3 a2 a1 a0 a3 a2 a1 a0

x a3 a2 a1 a0 a3 a2 a1

Gauche Gauche

x
a3 a2 a1 a0 a3 a2 a1 a0

a2 a1 a0 x a2 a1 a0 a3

34
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exemple de réalisation
de registres à décalage

Registre à décalage simple gauche de taille 4 bits

Compléter le schéma suivant ?

D3 Q3 D2 Q2 D1 Q1 D0 Q0

Clk Q Clk Q Clk Q Clk Q

35
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Applications des registres à décalage


Information série : Information parallèle :
Succession des bits dans le temps Présence de n bits simultanément

► Entrée parallèle / Sortie parallèle : registre de mémorisation


► Entrée série/ Sortie parallèle
► Entrée parallèle / Sortie série
► Entrée série / Sortie série

► Retard numérique (série/série)


■ RD 8 bits (FH = 1 MHz) Î retard de 8 µs

► Convertisseur de données série/parallèle


► Interfaces USB,, SATA (disque dur), I2C (télévision), CAN (automobile), …
► Simulation physique des files d’attente : chaînes de production
36
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Définition d’un compteur

Descriptif
p général
g
► Circuit logique séquentiel ayant un fonctionnement cyclique
► Fonctionnement piloté par une horloge.
► Chaque état affiché par les sorties est appelé moment.
► Compteur modulo N : cycle composé de N moments distincts.

Classification des compteurs


■ Compteur asynchrone
■ Compteur synchrone

Principe de réalisation
Association de bascules D ou JK synchrones sensibles au front d’horloge
d horloge

37
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Principe du compteur asynchrone

► Mise en cascade de bascules D ou JK câblées en diviseur de fréquence par 2.


► La sortie de chaque bascule, pilote la bascule suivante.
► Au front actif de son horloge, chaque bascule effectue un basculement

1 PR
PR J Q
D Q ClK
ClK 1 K CLR Q
Q
CLR

38
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exemple d’un compteur Modulo 8

La bascule piloté directement par


D Q D Q D Q H affiche le LSB

H Table de
Q Q Q
séquencement

Moment Q2 Q1 Q0
Q0 Q1 Q2
m0 0 0 0
m1 0 0 1
H
m2 0 1 0
Q0 m3 0 1 1
Q1 m4 1 0 0
Q2 m5 1 0 1
m6 1 1 0
Q2Q1Q0 000 001 010 011 100 101 110 111 000 m7 1 1 1

y = 8 moments ⇒ compteur
Cycle p modulo 8

39
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Compteur à base de bascule JK


Q0 Q1 Q2

J Q J Q J Q
H ClK ClK ClK
K Q K Q K Q

"1"

Compléter le chronogramme suivant et déduire la table de séquencement :

H
Q0
Q1
Q2
Q2Q1Q0

40
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Détection et décodage d’un moment
Principe de détection d’un moment mk
Définir une sortie S telle q
que S = 1 lors de la p
présence d’un moment mk
S=0 sinon

Exemple 1: Détection et décodage de m6 Q2


H
Q1 S
Q2 Q1 Q0 S
1 1 0 1 S = Q2Q1 Q0 Q0
ailleurs 0
S7
Q2 S6
e2
H S5
Exemple 2: Q1 e1 S4
S3
Circuit de décodage de tous les moments Q0 e0
S2
d’un compteur asynchrone modulo 8 S1
G S0
Décodeur 3/8
0
41
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Compteur asynchrone à cycle incomplet

► Compteur modulo 2m: cascade de m bascules câblées en diviseur de fréquence par 2.


► Cycle incomplet : comptage dans l’ordre binaire normal jusqu’à N < 2m

Exemple : compteur modulo 6


► Exploiter l’apparition automatique de
Moment Q2 Q1 Q0 m6 pour générer le moment m0
m0 0 0 0
► m6 va servir au forçage à 0 des
m1 0 0 1
sorties Q2 et Q0 (Q1 étant à 0). Donc, il
m2 0 1 0
doit activer CLR2 et CLR0
m3 0 1 1
m4 1 0 0
Application
m5 1 0 1
Passage Expressions logiques des entrées de forçage
m6 1 1 0 Moment fugitif
à forcer
m0 0 0 0 Réalisation du compteur modulo 6
Chronogramme
g

42
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Compteur asynchrone à cycle quelconque

Exercice d’application
Synthèse d’un compteur qui réalise le cycle suivant: 3, 4, 1, 6, 7

Démarche de synthèse
1
1. Nombre de bascules
2. Table de sequencement
3. Insertion des moments fugitifs
4. Entrées de forçage à activer
5. Expressions logiques des entrées de forçage

43
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Inconvénients des compteurs asynchrones

Temps de réponse des bascules ⇒ retard de basculement

Q0 retard
t d

Q1
retard

Q2
retard

Q3 retard

0111 0111 0110 0100 0000 1000 t

Moments transitoires

44
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Principe du compteur synchrone

► Toutes les bascules pilotées par le même signal d’horloge «H».


► Les transitions seront réalisées par programmation des entrées JK (D, T) des bascules

Table de vérité T bl des


Table d transitions
t iti

J K Q- Q+
0 0 0 0
Q- Q+ J K
0 0 1 1
0 0 0 x
0 1 0 0
0 1 1 x
0 1 1 0
1 0 x 1
1 0 0 1
1 1 x 0
1 0 1 1
1 1 0 1
1 1 1 0

45
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Synthèse d’un compteur synchrone

Exercice d’application
Synthèse d’un compteur synchrone qui réalise le cycle suivant: 0, 3, 2, 7, 4, 0 ...

Démarche de synthèse (Marcus)


1. Nombre de bascules T,, JK,, D
2. Table des transitions complet du compteur
3. Expressions simplifiées des entrées (J, K, T, D)
4
4. Réalisation

46
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Méthode de Marcus : présentation

Comptage de : 0, 3, 2, 7, 4, 0 ...
t00 t01 t10 t11
Choix de 3 bascules T (arbitraire)
T 0 1 1 0
Etats hors cycle : 1, 5, 6 et auto-init à 0

Q 1Q 0 Q 1Q 0
Q2 00 01 11 10 Q2 00 01 11 10
0 0 3 2 0 t01 t10 t10 t01
1 4 7 1 t00 t10 t10 t00 Pour chaque
Q0 bascule

Q1Q0
Q2 00 01 11 10
T0 = Q2 + Q0
0 1 - 1 1
T0 = Q 2 + Q 0 1 0 - 1 -
T0
47
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Marcus: exemple complet


Q1 Q0
Q1 Q0 Q2 00 01 11 10
Q2 00 01 11 10 00 01 11 10
0 0 3 2
0 t01 t10 t10 t01 0 1 1 1 1 1 4 7
1 t00 t10 t10 t00 Q0 1 0 1 1 0
T0
Q1 Q0 T0 = Q 2 + Q 0
00 01 11 10 00 01 11 10
Q2 0 t01 t00 t11 t11 0 1 0 0 0
1 t00 t00 t10 t10 1 0 0 1 1 T1 = Q0.Q1.Q2
Q1
T1 + Q1.Q2
Q1 Q0
00 01 11 10 00 01 11 10
Q2
0 t00 t00 t00 t01 0 0 0 0 1 T2 = Q1.Q
Q0
1 t10 t10 t11 t10 Q2 1 1 1 0 1 + Q2.Q1
48
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Schéma de l’exemple

& &
& &

OU OU OU
T Q0 T Q1 T Q2
H Q0 Q1 Q2

Système à une entrée et 3 sorties

49
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Fin
du 3ème chapitre …

50
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
École Supérieure des Communications

Ingénieurs en Télécommunications, 1ère année

Opérateurs & circuits numériques


Chapitre 4
Machines à états finis

Chiheb REBAI
chiheb.rebai@supcom.rnu.tn

1 © SUP’COM, Septembre 2007


C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Partie 1

Définition d’une machines à états

2
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Notion d’état

► La sortie S du système change à chaque front montant de l’entrée e


► La sortie n’est pas une fonction de l’entrée car pour une même valeur de e, S peut
prendre deux états (0 ou 1)
► La sortie S dépendra de l’entrée et de l’état antérieur de S (mémoire ou histoire du
système)
► L’histoire du système est représentée par la succession des états du système en
fonction du temps
► Tout changement d’état est provoqué par une variation de l’entrée

3
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Définition de machine à état


Définition: Système dynamique qui peut se trouver, à chaque instant, dans un état parmi un
nombre fini d’états possibles

p n
Entrées Fonction Fonction
combinatoire combinatoire q
Etat futur Registre
Calcul de ll’état
état d’états Calcul des
futur sorties Sorties
n

Etat actuel

Horloge

► Piloté par l’horloge et constitué de n bascules synchrones


► Fixe les instants où les transitions
entre états sont prises en compte ► Son entrée est chargée lors de la prochaine transition de l’horloge

► Entre deux fronts d’horloge ► Son contenu représente l’état actuel de la machine: nombre codé
consécutifs, la machine est figée en sur n bits
position mémoire
p ► Sa taille (nombre de bascules: n) fixe le nombre d’états
d états accessibles
N=2n

4
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Structure de machine à état

Une machine à états comporte: Entrées Entrées


Asynchrones
y y
Synchrones
► Des bascules dont les combinaisons Horloge
représentent l’état présent: n bascules Calcul de l’état futur et
fournissent 2n états des sorties
(Portes)
► Des portes calculant l’état futur et l’état des
État Sortie
sorties à partir de l’état présent et des entrées futur

► A chaque impulsion d’horloge l’état de la ClK D ClK D


Synchronisation Mémoire
machine est mis à jour pour le cycle suivant
(Bascules) (Bascules)
► Si la machine a des entrées asynchrones Q Q
par rapport à l’horloge il convient de les État présent

synchroniser Entrées
synchronisées

5
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Graphe d’état

But:
Combinaison État de
Illustre le fonctionnement de la machine à d’entrée sortie
i
états pq/S
A B
Structure:

Comporte des nœuds et des flèches:


00/1
► Les nœuds correspondent aux états de
la machine et portent des noms B
symboliques: A, B, C,… 01/1 1x/0
► Les flèches sont associées aux 00/0 01/0
transitions entre états et portent deux x1/1
A C
informations indiquant la combinaison
d’entrée et l’état de sortie. 11/1 10/1 x0/0

6
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exemple de machine à état
00/1

B
► La flèche de A vers B indique que la 01/1 1x/0
transition a lieu si: 00/0 01/0
x1/1
■ p=0,
p=0 q=1 et que la sortie S vaut 1 A C
11/1 10/1 x0/0
► Certaines transitions s’effectuent
État Entrée État Sortie
indépendamment de la valeur d’une présent pq futur S
variable A 00 A 0
A 01 B 1
►Exemple: B vers C ne dépend pas de q A 10 C 0
dont l’état
l état est noté x A 11 A 1
B 00 B 1
B 01 A 0
B 1x C 0

T bl d
Table de vérité
é ité C 0x C 0
C x1 A 1

7
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Machine à états de Moore

► 2 grandes catégories de machines séquentielles:


■ machines de Moore et machine de Mealy

► Elles fonctionnement de la même façon au niveau des états et de leurs transitions

► La différence est au niveau des sorties


M hi de
Machine d Moore
M

► Les sorties de la machine de Moore ne dépendent que de l’état actuel

► Les entrées servent à calculer l’état futur uniquement

(1) Communément appelé IFL (Input-


(Input Forming Logic)

(2) Communément appelé OFL (Output- Forming Logic)


8
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Machine à états de Mealy

Machine de Mealy

► Les sorties de la machine de Mealy dépendent à la fois des entrées et de l’état actuel

► Les entrées servent pour calculer l’état futur et les sorties

(1) Communément appelé IFL (Input- Forming Logic)

(2) Communément appelé OFL (Output


(Output- Forming Logic)

9
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Représentation par diagramme de transition

Machine de Moore Machine de Mealy


E=0
E=00
E S0=1
Etat 0 S1=1
S0=1 Etat 0
S1=0

Etat 1
E=1 S0=1
E=1 E=1 Etat 1
S1=1 E=1 S0=1 S0=1
S1=0 S1=0

Etat 2 E=0
S0=0 Etat 2
S1=0 E=0 S0=0
S1=0
E=0 E=0 S0=0
S1=0

sorties évoluent après l’activation de la sorties évoluent après l’évolution des


transition : les valeurs des sorties seront entrées : les valeurs des sorties seront
représentées dans les cases du digramme représentées sur les flèches du diagramme

10
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Comparaison: Moore, Mealy

Machine à états de Moore:

► Plus d’états, moins de logique à la sortie

M hi à ét
Machine états
t dde Mealy
M l

► Moins d’états, plus de logique à la sortie

► Chemin combinatoire entre l’entrée et la sortie :


► Un aléa sur une entrée peut se propager à la sortie

► Dans des circuits très complexes, l’utilisation de machines de Mealy peut


causer de longs chemins combinatoires et réduire les performances du
circuit

11
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exemple: Compteur modulo 4

Moment Q 1 Q0
Représentation par m0 0 0
g
diagramme de transition m1 0 1
m2 1 0
m3 1 1

Machine de Moore Machine de Mealy

eentrées
ées X entrées/sorties
X Y Y
sorties sorties sorties sorties

0 0 0 0 0/00 0/01 0/01 0/11

A 1 B 1 C 1 D A 1/01 B 1/10 C 1/11 D


00 01 10 11
1 1/00

12
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Exemple: Compteur modulo 4

Représentation par table de changement d’état

Machine de Moore
Etats Incr=0 Incr =1 Etats Sorties
internes internes
A A B A 00

B B C B 01

C C D C 10

D D A D 11

Machine de Mealy

Etats internes Incr=0 Incr =1

A A/00 B/01

B B/01 C/10

C C/10 D/11

D D/11 A/00

13
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Partie 2

Synthèse d’une machine à états

14
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Étapes de synthèse

1
1. Diagramme d’état
d état

2. Tableau d’état

3. Tableau de transition

4. Expressions des entrées des bascules

5. Expressions des sorties

6. Schéma

15
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Exemple de synthèse: feux de circulation

16
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Feux de circulation: fonctionnement

1. Le circuit initialise le compteur à 0 grâce 2. La valeur du compteur augmente jusqu’à


au signal Init. La lumière d’un côté est l’écoulement du temps pendant lequel la
verte et de l’autre est rouge. lumière verte doit rester allumée, la valeur
T1 devient alors égale à 1.

C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Feux de circulation: fonctionnement

3. Le circuit réinitialise le compteur à 0 et la 4. La valeur du compteur augmente jusqu’à


lumière verte devient jaune. La lumière de l’écoulement du temps pendant lequel la
l’autre côté demeure rouge. lumière jaune doit rester allumée, la valeur
T2 devient alors égale à 1.

18
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Feux de circulation: fonctionnement

5. Le circuit réinitialise le compteur à 0 et la 6. Le circuit continue à fonctionner de la


lumière jaune devient rouge. La lumière même façon pour chaque côté à l’infini.
de l’autre côté change à verte.

19
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Fonctionnement du système: états possibles

S(5) S(4) S(3) S(2) S(1) S(0)

Vert Jaune Rouge Vert Jaune Rouge

A 1 0 0 0 0 1
Si T1=1
B 0 1 0 0 0 1
Si T2=1 Si T2=1
C 0 0 1 1 0 0
Si T1=1
D 0 0 1 0 1 0

20
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Étape 1: diagramme d’état

Machine de Mealy
S(5) S(4) S(3) S(2) S(1) S(0)

T1T2/S(5)S(4)S(3)S(2)S(1)S(0)/Init Vert Jaune Rouge Vert Jaune Rouge

00/ 100001/0 00/ 010001/0 00/ 001100/0 00/ 001010/0

10/ 010001/1 01/ 001100/1 10/ 001010/1

01/ 100001/0 A B C D
01/ 100001/1

01/ 001100/0

► Les entrées servent pour calculer l’état futur et les sorties


► Les sorties dépendent de l’état actuel et des entrées
► Les sorties évoluent après l’évolution des entrées: les valeurs des sorties seront
représentées
é té sur les
l flèches
flè h du
d diagramme
di

21
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Étape 2: table d’état

Etat
Etats futurs Sorties
présent
é t

Entrées (T1,T2) Entrées (T1,T2)

00 01 10 11 00 01 10 11

S=100001 S=100001 S=010001


A A A B X Init=0 Init=0 Init=1

S=010001 S=001100
B B C X X Init=0 Init=1

S=001100
S=001100 S=001010
C C C D X Init=0
Init=0
Init=1

S=001010 S=100001
D D A X X Init=0 Init=1

22
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Étape 3: table de transition

On remplace les états par des valeurs binaires

État États futurs


présent Q1+Q0+ Sorties
Q1Q0

Entrées (T1,T2) Entrées (T1,T2)

00 01 10 11 00 01 10 11
S=100001 S=100001 S=100001
00 00 00 01 Init=0 Init=0 Init=1
S=010001 S=010001
01 01 11 Init=0 Init=1
S=001100I
S=001100 S=001100
11 11 11 10 Init=0
Init=0
Init=1

S=001010 S=001010
10 10 00 Init=0 Init=1

23
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Étape 4: expression des entrées des bascules

Avec l’utilisation des bascules D

Bascule D sensible au front montant : Au front montant, Q recopie D

Q1 + Q0 +
T1T2 T1T2
Q1Q0 00 01 11 10 Q1Q0 00 01 11 10
00 0 0 X 0 00 0 0 X 1
01 0 1 X X 01 1 1 X X
11 1 1 X 1 11 1 1 X 0
10 1 0 X X 10 0 0 X X

Q1+ = Q1J + Q1Q0 + Q0T2 Q0+ = Q0V + Q0T1

24
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Étape 5: expression des sorties

Init S(5)
( )
T1T2
Q1Q0 00 01 11 10 Q1Q0
T1T2
00 01 11 10
00 0 0 X 1 00 1 1 X 1
01 0 1 X X 01 0 0 X X
11 0 0 X 1 11 0 0 X 0
10 0 1 X X 10 0 0 X X

Init = T1 + T2Q1Q0 + T2Q1Q0 S(5) = Q0Q1

On répète, de la même façon, pour les sorties S(4) à S(0) et on passe ensuite à
l’ét
l’étape 6:
6 Schéma
S hé d
de réalisation
é li ti

25
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Étape 6: schéma de réalisation

26
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007
Fin
du 4ème chapitre …

27
C. Rebai, Opérateurs & Circuits Numériques, INDP1 © SUP’COM – Sept. 2007

Vous aimerez peut-être aussi