Vous êtes sur la page 1sur 35

ANNEXES

Transparents de Cours

Notions de base en lectronique numrique


1 Reprsentation numrique de nombres
Entiers positifs
Code Binaire
n 1
(A )10 = a i 2i (A)10 [0,2n-1] (A)10 = (an-1 an-2 a0)2 ai [0, 1]
i=0

Sur 4 bits : dcimal binaire


159 2
A = a3 23 + a2 22 + a1 21 + a0 20 LSB 1 79 2
1 39 2
A varie de 0 15
1 19 2
1 9 2
a3 : bit de poids fort (MSB)
1 4 2
a0 : bit de poids faible (LSB) 0 2 2
0 1 2
13 = 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = (1101)2 MSB 1 0

(159)10 = (1001 1111)2

1
Notions de base en lectronique numrique
1 Reprsentation numrique de nombres
Entiers positifs
Codage binaire et binaire rflchi (code de Gray)
Dcimal Code Binaire Code de Gray
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000

Notions de base en lectronique numrique


2 Logique boolenne
Principaux oprateurs logiques

Soient les circuits lectriques suivants :

L La lampe est allume (L=1) si A et B sont actionns

L La lampe est allume (L=1) si A ou B sont actionns

L La lampe est allume (L=1) si A n'est pas actionn

. : ET (AND) : &
Oprateurs la base de toutes
+ : OU (OR) : |
les fonctions logiques
a : NON (NOT) : !a

2
Notions de base en lectronique numrique
2 Logique boolenne
Proprits des oprateurs logiques
lment neutre Commutativit Inverse
a+0 = a a+b = b+a a+a = 1
a.1 = a a.b = b.a a.a = 0
lment absorbant
a+1 =1 Associativit Thorme de De Morgan
a.0 = 0 a+(b+c) = (a+b)+c a+b = a . b
Idempotence a.(b.c) = (a.b).c a.b = a + b
a+a = a
a.a = a Distributivit Thorme du Consensus
Absorption a.(b+c) = a.b+a.c a.x + b.x + a.b = a.x + b.x
a+a.b = a a+(b.c) = (a+b).(a+c) (a+x).(b+x).(a+b)=(a+x).(b+x)
a.(a+b) = a
Involution
a=a Se dmontrent en vrifiant tous les cas

Notions de base en lectronique numrique


3 Reprsentation des fonctions boolennes
Dfinitions
tats logiques : 0 et 1, Vrai et Faux, H et L
(peuvent tre ventuellement tendus 9 valeurs : 0,1,H,L,Z,W,U,X,-)

Variable logique : Symbole pouvant prendre comme valeur des tats logiques

Fonction logique : Expression boolenne compose de variables et doprateurs

Reprsentation algbrique d'une fonction


Description de la fonction l'aide des symboles algbriques des oprateurs intervenant

AND : a . b OR : a+b XOR : a b = a . b + a . b


NOT : a
NAND : a . b NOR : a+b XNOR : a  b = a . b + a . b
Grce De Morgan, toute fonction logique peut s'exprimer en ne faisant intervenir que
des oprateurs NAND (resp. NOR )

Exemple : a  b = a . b + a . b = (a . b) . (a . b) ( 5 NAND car a = a . a )

3
Notions de base en lectronique numrique
3 Reprsentation des fonctions boolennes
Reprsentation l'aide d'une table de vrit
Une table de vrit est l'criture des valeurs d'une fonction logique pour toutes les
combinaisons possibles de ses variables.
Elle comporte donc 2N lignes si la fonction a N variables.

AND : a b s OR : a b s XOR : ab s
00 0 00 0 00 0
01 0 01 1 01 1
NOT : a s 10 0 10 1 10 1
0 1 11 1 11 1 11 0
1 0
NAND : a b s NOR : a b s XNOR : a b s
00 1 00 1 00 1
01 1 01 0 01 0
10 1 10 0 10 0
11 0 11 0 11 1

Notions de base en lectronique numrique


3 Reprsentation des fonctions boolennes
Reprsentation l'aide de schma structurel

Dessin dans lequel sont


reprsents les symboles des
oprateurs employs et les AND : OR :
interconnexions. & 1

Deux normes existent pour les


symboles d'oprateurs :
amricaine (prsente dans
tous les data books) et
NAND : NOR :
europenne. & 1

NOT :
XOR : XNOR :
1
=1 =1

4
Notions de base en lectronique numrique
3 Reprsentation des fonctions boolennes
Reprsentation l'aide d'une table de Karnaugh
Une table de Karnaugh est une autre reprsentation de la table de vrit qui permettra de
faciliter la simplification des fonctions logiques tudies. Son principe est de crer un
tableau deux dimensions en rpartissant de part et d'autres les diffrentes variables. Les
combinaisons des variables horizontales et verticales sont crites en code de Gray .
Une table de Karnaugh comporte 2N cases si la fonction a N variables.

Exemple : soit la fonction S = (a . b) + (c . d) 4 variables, 16 cases tat 1


c.d c.d c.d c.d c.d c.d c.d c.d
d tat 0
S: cd S:
00 01 11 10 c
ab a b
a.b 00 0 0 1 0 a.b 0 0 1 0

a.b 01 0 0 1 0 a.b 0 0 1 0

a.b 11 1 1 1 1 a.b 1 1 1 1

a.b 10 0 0 1 0 a.b 0 0 1 0

Reprsentation en code Gray Reprsentation graphique

Notions de base en lectronique numrique


4 Simplification des fonctions boolennes
Objectifs de la simplification
Simplifier une fonction logique permet, en minimisant le nombre et la taille des oprateurs
ncessaires, d'aboutir un systme lectronique :
moins coteux (moins de composants)
(et/ou) plus rapide (rduction du chemin critique)
plus fiable (moins de connexions raliser)
consommant moins (moins de composants)
Pour cela, il suffit de trouver l'criture de la fonction logique comportant un minimum de
termes eux mmes constitus d'un minimum de variables. Cette criture s'appelle la forme
minimale.
Plusieurs mthodes de simplification existent : algbrique, graphique

Possibilits de plusieurs formes minimales : formes quivalentes


La forme mathmatique la plus simple ne correspond pas toujours la ralisation la plus
simple et/ou la plus rapide.
La prise en compte de contraintes technologiques peut imposer une complexification
dcriture de lexpression.

5
Notions de base en lectronique numrique
4 Simplification des fonctions boolennes
Simplification graphique
Utilisation de tables de Karnaugh

e3 e2 e1 F2 e2e1
e2 e1 e2 e1 e2 e1 e2 e1
e3 0 0 0 1 1 1 1 0
0 0 0 0
0 0 1 1 e3 0 0 1 1 1
0 1 0 1
0 1 1 1
e3 1 0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1 F2 = e3 . e2 + e1

dmonstration au tableau :
-> quelque peu "pnible" partir de la table de vrit
-> quasi immdiate partir de la table de Karnaugh

Notions de base en lectronique numrique


4 Simplification des fonctions boolennes
Simplification graphique
Utilisation de tables de Karnaugh
2 cases sont adjacentes si une seule variable change pour passer de l'une l'autre
On peut rassembler des cases adjacentes 2 2, contenant 1, pour constituer des groupes
Chaque groupe doit comporter un nombre de cases gal une puissance de 2 (2, 4, 8, 16 )
L'quation de chaque groupe est obtenue en ne prenant en compte que les variables qui ne
changent pas
2 (= 21 ) 1
Si 4 ( = 2 2 ) cases adjacentes gales, alors simplification par 2 variables
8 (= 23 ) 3

Quelques exemples de regroupements de 2 , 4 , 8 cases "adjacentes" [ ne pas


oublier que grce l'utilisation du code de Gray , il y a aussi la double cylindricit ]

6
Notions de base en lectronique numrique
4 Simplification des fonctions boolennes
Simplification graphique (suite)

Exemples : f 1( x , y , z ) = x .y .z + x .y .z + x .y .z
yz
x 00 01 11 10

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

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
a
b
c d
1 0 0 1

0 1 1 0 f ( a , b , c , d ) = b .d + b .d
0 1 1 0

1 0 0 1

Fonctions combinatoires
Multiplexeur
Multiplexeur
Circuit permettant de slectionner une voie parmi 2n
l'aide d'une commande sur n bits

Slection de donnes
Exemple : Circuit 74LS153

E Z = S 1 .S 0 . I 0 + S 1 .S 0 . I 1 + S 1 .S 0 . I 2 + S 1 .S 0 . I 3
I0
I1 Z
I2
I3

S1 S0
Multiplexeur 4 vers 1

7
Fonctions combinatoires
Multiplexeur
Applications des Multiplexeurs
Ralisation de fonctions combinatoires :
Toute fonction combinatoire n variables est ralisable l'aide
d'un multiplexeur n-1 adresses et ventuellement d'un inverseur
F ( a , b ) = a . b . F ( 0 , 0 ) + a . b . F ( 0 ,1 ) + a . b . F ( 1 , 0 ) + a . b . F ( 1 ,1 )
abc F
000 0 (ab)2 = 0
001 0 F=0
010 1 (ab)2=1
0 I0
011 1 F=1 1 I1 Mux
Z= F
100 0 (ab)2 = 2 c I2 4 vers 1
101 1 F=c c I3 S S
1 0
110 1 (ab)2 = 3
111 0 F=c
a b

Fonctions combinatoires
Multiplexeur
74151

8
Prsentation du matriel de TP

LED rouges [1 ]
QUELQUES ASPECTS "PRATIQUES"
O O O OO O O O

Entres o 7
(interrupteurs) o 6
kHz 1 10 100 o 5
Hz 1 0 1 o 4
o 3
o 2
1.0 TTL o o o o o o o o o 1
o 0
o x x x 5V
0V O O O OO O O O
0.1 7 6 5 4 3 2 1 0 LED vertes [ 0 ]

tension (V)
5V
Signal * rectangulaire, calibr de 0 5V
"TTL" T
* rglable de f = 0,1 Hz f = 100 kHz
t
0V

Prsentation du matriel de TP
Plaquette trous , son alimentation / Positionnement d'un "CI"
xxxxxxx xxxxxxx 5V
xxxxxxx xxxxxxx 0V
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x

x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx

9
Prsentation du matriel de TP
Support de C.I. ; orientation des C.I.
Les supports :
a) ils permettent d'augmenter la "dure de vie" des C.I. (solidit des broches)
b) leur orientation n'a aucune importance
c) attention aux C.I. 14 broches monts sur des supports 16 broches ... !!!
L'orientation des C.I. :
a) comme sur la notice, disposer toujours la broche n 1 en bas gauche
b) reprages de la broche n1 :

Le cas 1
Reprage 1 Reprage 2
est le plus
frquent
1 1

Reprage 3 Reprage 4 Reprage 5

1 1 1

===================

Notions de base en lectronique numrique


Circuits Squentiels
Qu'est-ce qu'un systme squentiel ?
Systme squentiel : systme dont les sorties ne dpendent plus exclusivement des valeurs
des entres un instant donn mais aussi des valeurs des entres aux instants prcdents.
A une combinaison des variables d'entres correspond donc en fait plusieurs combinaisons
possibles des variables de sortie.

Exemple : Soient 2 lampes L1 et L2 et deux interrupteurs I1 et I2. L1 s'allume lors de la


premire activation, quelle qu'elle soit. L2 s'allume l'activation du deuxime
interrupteur. Chaque lampe s'teint lorsque l'interrupteur qui l'a dclenche
est dsactiv.
I2 I1 00 01 11 10 00
I1 I2 L1 L2 Cas 1
0 0 0 0 L2 L1 00 01 11 10 00
0 1 1 0 ou 0 1
1 0 1 0 ou 0 1
1 1 1 1 I2 I1 00 10 11 01 00
Cas 2
L2 L1 00 01 11 10 00

10
Fonctions squentielles
Mmoire lmentaire
Mmoire lmentaire sur 1 bit
A base d'inverseurs reboucls : chaque tat logique peut tre conserv
0 1 1 0

1 0 0 1

Sur les circuits prcdents, rien ne permet de modifier la valeur stocke. Si l'on veut pouvoir le faire, il faut
rajouter une entre de commande en remplaant un inverseur par une porte 2 entres pouvant se comporter
comme un inverseur lorsque l'entre vaut 1 (NOR) ou 0 (NAND).

Circuit mmoire avec mise zro Circuit mmoire avec mise un

Fonctions squentielles
Bascules RS et Latch D
Bascule RS
Circuit mmoire programmable sur 1 bit
RS Qn+1
R Q
0 0 Qn
0 1 1
1 0 0 S Q
1 1 Q=Q=0 (Pb )

Latch D

EN D Qn+1
0 0 Qn D Q
0 1 Qn
1 0 0
EN Q
1 1 1

11
Notions de base en lectronique numrique
Circuits Squentiels
Circuits Asynchrones
Les sorties voluent spontanment la suite des changements des variables d'entre.
Le comportement squentiel est obtenu en prenant en compte une ou plusieurs sorties
en plus des entres pour calculer la nouvelle valeur des sorties (systme boucl).
Exemple : Circuit mmoire programmable sur 1 bit

RS Qn+1
0 0 Qn
0 1 1
1 0 0
1 1 Q=Q=0 (Pb )

R Q
A la base de toutes les bascules
S Q

Notions de base en lectronique numrique


Circuits Squentiels
Circuits Synchrones
L'volution des sorties est assujettie une commande spcifique appele horloge.
Il existe diffrents types de synchronisation des sorties par rapport l'horloge
Sur tat logique : la sortie peut changer tant que l'horloge est un tat dtermin
Exemple : R Q

latch RS H

S Q

Sur 1 front : prise en compte des entres lorsque l'horloge passe de 0 1 (montant)
ou de 1 0 (descendant)
Exemple : D Q

bascule D Q

R Q
Sur 2 fronts : prise en compte des entres sur front montant
et modification des sorties sur front descendant
S Q

12
Notions de base en lectronique numrique
Circuits Squentiels
Principales bascules existantes
Bascule RS : composant asynchrone
RS Qn+1 R Q
0 0 Qn
0 1 1
S Q
1 0 0
1 1 Q=Q=0 (Pb )

Bascule D latch : composant synchrone sur tat


D H Qn+1 D Q D
x 0 Qn
H
0 1 0
1 1 1 H Q Q

Bascule D : composant synchrone sur 1 front


D H Qn+1 D
x 0 Qn D Q
H
x 1 Qn
0 0 Q Q
1 1

Notions de base en lectronique numrique


Circuits Squentiels
Principales bascules existantes (suite)

Bascule JK : composant synchrone sur 1 front


J K H Qn+1
0 0 Qn J
J Q
0 1 0
K
1 0 1
K Q
1 1 Qn H
x x 0 Qn
x x 1 Qn Q

Bascule T : composant synchrone sur 1 front


T H Qn+1 T
T Q
x 0 Qn H
x 1 Qn
Q
0 Qn Q
1 Qn

13
Notions de base en lectronique numrique
Circuits Squentiels
Compteurs
Circuit base de bascules permettant d'incrmenter ou de dcrmenter une valeur code en
binaire ou en BCD
Applications : mesure de temps, division de frquence
Compteurs asynchrones modulo 2n :
Principe : Les valeurs balayes en sortie vont de 0 2n - 1
Les sorties des bascules constituent les signaux d'horloge des bascules suivantes
Q0 Q1 Q2 H

1 T Q 1 T Q 1 T Q Q2
Q1
H Q Q Q Q0

On peut utiliser d'autres bascules :


Sorties
1 T Q 1 J Q D Q
asynchrones
H
H Q 1 K Q H Q

Notions de base en lectronique numrique


Circuits Squentiels
Compteurs (suite)
Compteurs asynchrones modulo K :
Principe : Les valeurs balayes en sortie vont de 0 K - 1
On utilise un compteur modulo 2n (2n > K) et on le remet 0 lorsque K est atteint
n bits
An-1 Dcodage de
2n la valeur K Si le reset des bascules
est synchrone, il faut
H A0 A=K
Reset dtecter la valeur K-1

Exemple : Compteur modulo 5


Q0 Q1 Q2
&

D Q D Q D Q

H
Re Q Re Q Re Q

14
Notions de base en lectronique numrique
Circuits Squentiels
Compteurs (suite)
Compteurs synchrones modulo K :
Principe : Les horloges des bascules sont toutes relies au mme signal
Les entres des bascules sont obtenues partir des sorties l'aide de fonctions
combinatoires

Fonctions combinatoires

D Q D Q D Q D Q
D0 Q0 D1 Q1 Dn-2 Qn-2 Dn-1 Qn-1

Clk

Dtermination des fonctions combinatoires : mme mthodologie que pour une machine
tats finis de type Moore avec les Qi comme sortie (Cf. TP 3 et 4)
Circuit synchrone : toutes les sorties changent en mme temps
prfrable au compteur asynchrone

Notions de base en lectronique numrique


Circuits Squentiels
7474
Double bascule D avec entres de mise 1 et de remise 0

15
Notions de base en lectronique numrique
Circuits Squentiels
4029
Compteur / Dcompteur Dcimal / binaire prchargeable
Rle des entres :
Up/Down 1 : Compteur
0 : Dcompteur
Binary/Decade 1 : Binaire
0 : Dcimal

Carry In 1 : Inactif
0 : Actif
Preset Enable 1 : Mode chargement
0 : Mode comptage
Jam Inputs Valeur charge

Rle des sorties :


Carry Out 1 : Valeur cpt 0
0 : Valeur cpt = 0
Q1,Q2,Q3,Q4 Valeur cpt

Notions de base en lectronique numrique


Circuits Squentiels
4029
Compteur / Dcompteur BCD / binaire prchargeable
Chronogramme
Mode dcimal

16
Machines tats finis
Principe des machines tats finis
Dfinition :
Systme base de bascules synchrones permettant de raliser n'importe quel processus
squentiel (compteur, contrle ).
Les bascules permettent de mmoriser l'tat courant du processus (la combinaison des
sorties des bascules code la valeur de l'tat courant)
Des parties combinatoires permettent d'en dduire l'tat futur et la valeur des sorties de
la machine tats finis
Machine de Moore : Les sorties de la machine ne dpendent que de l'tat courant
L'tat futur dpend de l'tat courant et des entres

tat tat
Entres futur courant Sorties

Calcul tat Mmorisation Calcul des


suivant (CES) tat courant sorties (CS)
(combinatoire) (MEC) (combinatoire)

CLK

Machines tats finis


Principes des machines tats finis
Machine de Moore (suite)
Description par graphe d'tat :
Les tats du processus sont reprsents par des cercles et les transitions
entre tats par des flches
A chaque tat correspond une configuration dtermine pour les sorties
Les transitions entre tats ont lieu sur les fronts d'horloge et sont fonction
de l'tat des entres au moment du front
Il ne doit pas avoir ambigut sur l'volution d'un tat (autant de flches
doivent partir de chaque tat qu'il y a de combinaisons possibles des entres)

1
Exemple : fonction compteur modulo 3 01
2 0
10 00

17
Machines tats finis
Principe des machines tats finis
Machine de Moore (suite)
Description par graphe d'tat : Quelques exemples supplmentaires

Compteur Variable
1
01
Compte jusqu' 2 (E=0) ou
2 E=0 0
jusqu' 3 (E = 1)
10 00

E=1 3
11

B=0
fonction flash
appui
Un appui sur B (B=0) provoque B=1 L=0 B=0 B=1
un clair (L=1) pendant un coup clair teint
d'horloge aprs relchement de L=1 L=0

B (B=1)

Machines tats finis


Analyse des machines tats finis
Objectif : Dterminer le fonctionnement d'une machine tats finis partir de son
schma lectrique

Dmarche d'analyse

1) crire les quations d'excitation des bascules (calcul tat futur)

2) tablir la table de transition (enchanement des tats)

3) Nommer chacun des tats rencontrs

4) tablir la table des tats du processus

5) tablir le diagramme d'tats

6) tablir le chronogramme ventuellement

18
Machines tats finis
Analyse des machines tats finis
Dmarche d'analyse (suite)

Exemple : E S1

D0 Q0 =1 D1 Q1
=1
dff0 dff1
S0
Q0 Q1
CLK

1) crire les quations d'excitation des bascules :


L'tat prsent du systme est donn par les valeurs des sorties des bascules S0 et S1.
Pour savoir comment l'ensemble volue en fonction de l'entre E, il faut dterminer les
quations des valeurs futures S0+ et S1+ en fonction de S0, S1 et E. C'est ce qu'on
appelle les quations d'excitation.
Pour les bascules D, les valeurs futures sont les valeurs prsentes sur l'entre D.

quations d'excitation : D0 = E S1 D1 = E S0

Machines tats finis


Analyse des machines tats finis
Dmarche d'analyse (suite)
quations d'excitation : D0 = E S1 D1 = E S0
2) tablir la table de transition :
Une fois les quations d'excitation dtermines, il est alors possible de prvoir
l'volution du systme pour toutes les combinaisons possibles entre l'tat courant
(S1S0) et la valeur de l'entre E.

Table de transition : E S1 S0 S1+ S0+


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

19
Machines tats finis
Analyse des machines tats finis
Dmarche d'analyse (suite)
E S1 S0 S1+ S0+
0 0 0 0 1
Table de transition : 0 0 1 1 1
0 1 0 0 0
0 1 1 1 0
1 0 0 1 0
1 0 1 0 0
1 1 0 1 1
1 1 1 0 1
S1S0
3) Nommer chacun des tats rencontrs : 00 A
Donner un nom chacune des combinaisons possible en 01 B
sortie des bascules 10 C
11 D
4) tablir la table des tats du processus :
S1S0 E=0 E=1
Dduire de la table de transition l'volution A B C
du systme en fonction de l'entre E Table d'tats : B D A
C A D
D C B

Machines tats finis


Analyse des machines tats finis
Dmarche d'analyse (suite)
S1S0 E=0 E=1
A B C
Table d'tats : B D A
C A D
D C B

5) tablir le diagramme d'tats


Diagramme d'tats :
Reprsenter la table d'tats sous forme de diagramme E=1
C A
d'tats (chaque tat = 1 cercle, chaque transition 10 00
possible = 1 flche + 1 condition). E=0

E=0 E=0 E=1


Noter aussi les valeurs des sorties de la machine
complte pour chacun des tats. E=1 D E=0
B
Il est alors possible de comprendre la fonction du 11
E=1
01

circuit complet.
Compteur (E=0) ou dcompteur (E=1) en code Gray

20
Machines tats finis
Principe des machines tats finis
Dfinition :
Systme base de bascules synchrones permettant de raliser n'importe quel processus
squentiel (compteur, contrle ).
Les bascules permettent de mmoriser l'tat courant du processus (la combinaison des
sorties des bascules code la valeur de l'tat courant)
Des parties combinatoires permettent d'en dduire l'tat futur et la valeur des sorties de
la machine tats finis
Machine de Moore : Les sorties de la machine ne dpendent que de l'tat courant
L'tat futur dpend de l'tat courant et des entres

tat tat
Entres futur courant Sorties

Calcul tat Mmorisation Calcul des


suivant (CES) tat courant sorties (CS)
(combinatoire) (MEC) (combinatoire)

CLK

Machines tats finis


Synthse des machines tats finis
Objectif : Dterminer le schma lectrique permettant de rsoudre un problme squentiel
Dmarche de synthse

0) Spcification du problme (dfinir entres, sorties, volution)

1) tablir le graphe d'tats correspondant

2) Coder en binaire les diffrents tats

3) Dduire la table de transition

4) Choix des composants utiliss

5) tablir les quations d'excitation correspondantes

6) Faire le schma lectrique

21
Machines tats finis
Synthse des machines tats finis
Dmarche de synthse (suite)
Exemple : fonction flash
Un appui sur B provoque un clair pendant un coup d'horloge aprs relchement de B

Ralisation sur machine de Moore :


Spcification : une entre B qui vaut 0 quand on appuie, 1 au repos
une sortie L (=1 quand allume)

Diagramme d'tats : B=0

appui
B=1 L=0 B=0 B=1
clair teint
L=1 L=0

Codage des tats : dtermine le nombre de bascules ncessaires


teint "00" ; appui "01" ; clair "10" 2 bascules (Q1Q0)

Machines tats finis


Synthse des machines tats finis
Dmarche de synthse (Machine de Moore)
Table de transition et calcul des quations de l'tat futur et de la sortie :
B=0 Q1 Q0 B Q1+ Q0+
0 0 0 0 1 Q1 Q0 L
01
0 0 1 0 0 0 0 0
B=1 L=0 B=0 B=1 0 1 0 0 1 0 1 0
10 00 0 1 1 1 0 1 0 1
L=1 L=0 1 0 0 0 0 1 1 X
1 0 1 0 0
1 1 0 X X
Q0+ Q B 00 01 11 10 1 1 1 X X L = Q1
Q1 0
Q0+ = Q1. B 0 0
0 1 0 0 1
1 0
1 0 0 X X
Q1+ Q B 00 01 11 10 vrifier que les simplifications
Q1 0 effectues ne posent pas problme
0 0 0 1 0 Q1+ = Q0. B
1 0 0 X X

22
Machines tats finis
Synthse des machines tats finis
Dmarche de synthse (Machine de Moore)

Dessiner le schma :

bascules D : B

On a Q0+=D0 et Q1+=D1 1
D0 Q0 1 D1 Q1

Q0+ = Q1. B dff0 dff1


L
Q1+ = Q0. B Q0 Q1
CLK
L = Q1

La complexit du schma dpend du codage choisi


arbitrairement pour les tats

Fonctions combinatoires
Codeurs et dcodeurs
Dcodeur BCD / 7 Segments
Circuit permettant de traduire un code binaire sur 4 bits (BCD) en
signaux de commande d'un afficheur 7 segments

Affichage de digits

Exemple : Circuit 74LS47


Rsistances
(330)

a 1 a
0 D 0
b f b
1 C c 0 g
0 B d 1
e 1
0 A 0 e c
f
1 LT g 0 d
1 RBI
BI/RBO

23
Circuit de digicode

Circuit de mise feu

24
Circuit de robot

Circuit de slection FM

25
NOTICE
Plaquette trous Interrrupteurs (entres) - LED (sorties)
O O O O O O O O
Son alimentation o LED rouges [ 1 ]
Positionnement d'un C.I. 1 0 1 o
o
o
o
o o o o o o o o
xxxxxxx xxxxxxx 5V o
xxxxxxx xxxxxxx 0V 5V o
0V o LED vertes [ 0 ]

xxxx xxxx xxxx xxxx 7 6 5 4 3 2 1 0 O O O O O O O O


xxxx xxxx xxxx xxxx
x x x x x Les C.I. : supports, orientation
x x x x x
x x x x x * Les supports permettent d'augmenter la dure de vie des CI ;
x x x x x
x x x x x leur orientation est sans importance. Par contre, attention aux CI 14
broches monts sur des supports 16 broches !!!
x x x x x
x x x x x * L'orientation d'un CI est vitale (broche 1 en bas gauche) ; 4
x x x x x reprages sont possibles :
x x x x x
x x x x x
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx Reprage 1 Reprage 2

1 1
Signal T.T.L.
Rectangulaire de 0 5V - Son rglage en frquence Reprage 3 Reprage 4

1 1
kHz 1 10 100
Hz
Autre alimentation
1.0 TTL
tension (V)
5V o x x x
T 0.1 5V -15V +15V
Interrupteur Lampe
t
0V
tmoin

- 1 -
Autre plaquette trous sans soudure Porte NON (7404)
14 13 12 11 10 9 8
Gn Masse CH1 Masse CH2
Bornes
5V

Plaquette trous Gnd


BNC

Cblage fait
1 2 3 4 5 6 7

Porte NOR (7402)


[ fils coaxiaux, fils avec prise rapide : non reprsents ] 14 13 12 11 10 9 8

5V
Autre boitier de commande et de contrle
Borne rouge (sortie) [ * ]
Bas = hors service
[ Face arrire ] Gnd
Haut = en service 1 2 3 4 5 6 7

Led rouge : tat = 1


Cot 5V
Led verte : tat = 0 Portes ET (7408), OU (7432), NAND 2
gauche :
bornes [ Dessus ] entres (7400), OU EXCLUSIF (7486)
pour alim. Led jaune (entre) 14 13 12 11 10 9 8
commune
1
0 5V
Borne noire (entre) [ ** ] [ Face avant ]

[*] : cble en provenance d'une sortie tester (led verte ou rouge) Gnd
[**] : cble destination d'une entre informer (0 ou 1 / led jaune) 1 2 3 4 5 6 7

- 2 -
Porte NAND 4 entres (7420) Quadruple Multiplexeur "2v -> 1v"
14 13 12 11 10 9 8
(74157)
Strobe
5V
16 15 14 13 12 11 10 9 S Ad B A Y
5V S 4A 4B 4Y 3A 3B 3Y H x x x L
L L x L L
Gnd
L L x H H
1 2 3 4 5 6 7 Ad 1A 1B 1Y 2A 2B 2Y Gnd L H L x L
L H H x H
1 2 3 4 5 6 7 8
Select
Inputs Output

Multiplexeur "8v -> 1v" (74151)


Inputs Select
C B A S Y W Double Bascule "D" (7474), + Clear + Preset
16 15 14 13 12 11 10 9 x x x H L H 14 13 12 11 10 9 8 Inputs Output
L L L L E0 E0
5V E4 E5 E6 E7 A B C L L H L E1 E1 5V 2Cl 2D 2Ck 2Pr 2Q 2Q Cl Pr Ck D Q Q
L H L L E2 E2
Strobe L H x x L H
L H H L E3 E3
E3 E2 E1 E0 Y W S Gnd H L L L E4 E4
H L x x H L
H L H L E5 E5 1Cl 1D 1Ck 1Pr 1Q 1Q Gnd H H L L H
1 2 3 4 5 6 7 8 H H L L E6 E6 H H H H L
Inputs Outputs
1 2 3 4 5 6 7
H H H L E7 E7

- 3 -
4029
Quadruple Latch "D" (7475)
16 15 14 13 12 11 10 9
Q0 Q1 Q1B E01 Gnd Q2B Q2 Q3

Q0B D0 D1 E23 5V D2 D3 Q3B


1 2 3 4 5 6 7 8
Inputs Outputs
E D Qn+1
L x Qn
H L L
H H H

Compteur/Dcompteur dcimal (4029)

- 4 -
Entres "DCBA" + Dcodeur
* Entre Binary/Decade 0 pour compter en dcimal
+ Rsistances + Afficheur
* Entre Up/down 0 pour dcompter 330

14 11
* Entre Preset/Enable 1 pour charger J1, J2, J3 et J4 en sortie,

DCODEUR

AFFICHEUR
6 15 2
0 pour permettre l'volution des sorties D
9 7
C 2
1 10 8
* Entre Carry In 0 pour permettre l'volution des sorties B
11 10
A 7
12 13
13 1
Dcodeur "7 segments" (7447)
16 15 14 13 12 11 10 9
Comparateur de 2 nombres 4 bits (7485)
f g a b c d e 16 15 14 13 12 11 10 9
5V 5V a3 b2 a2 a1 b1 a0 b0
B C D A Gnd
1 2 3 4 5 6 7 8 b3 A<B A=B A>B A>B A=B A<B Gnd
1 2 3 4 5 6 7 8
Cascade Inputs Outputs

Afficheur "7 segments" (anode commune) Additionneur de 2 nombres 4 bits (7483)


14 13 12 11 10 9 8
b c 16 15 14 13 12 11 10 9
5V b g c d
a g d
B3 S3 C4 C0 Gnd B0 A0 S0
f e
a f e
1 2 3 4 5 6 7 A3 S2 A2 B2 5V S1 B1 A1
1 2 3 4 5 6 7 8

- 5 -
Utilisation du logiciel MAX+plusII
Attention : ce logiciel gnre un trs grand nombre de fichiers, il est donc recommand de crer un
dossier spcifique pour chaque TP. Ne surtout pas utiliser directement la racine de votre partition
sur le disque dur (C : , G :, H : ) ou le bureau windows !

Crer un nouveau circuit :


File -> New -> Graphic Editor File
Cliquez 2 fois dans la feuille pour insrer des symboles graphiques. Saisir un nom de symbole (par
exemple xor) ou aller le chercher dans une librairie (prim pour les primitives (oprateurs logiques
lmentaires)). Ajouter tous les composants ncessaires sans oublier les entres/sorties (voir ci-
dessous). Dessiner les interconnexions entre les composants. Sauvegarder le schma (File->Save
As).

Projet courant
Schma courant

Crer un symbole partir dun schma (schma hirarchique) :


Pour crer de nouveaux composants (par exemple mon_circuit) il faut spcifier les entres (symbole
input et changer le nom de la broche) et les sorties (symbole output et changer le nom de la broche).
Il faut ensuite indiquer que le schma courant correspond au projet : File-> Project -> Set project to
current file. Il ne reste plus qu crer le symbole : File -> Create default symbol.
Ce nouveau symbole (mon_circuit) peut alors tre utilis comme un composant dans une nouvelle
feuille graphique.

Compiler un projet :
Lorsque la saisie dun schma est termine, il est ncessaire de compiler le projet de manire
vrifier sil ny a pas derreur. Cette opration est aussi ncessaire pour pouvoir simuler et
programmer le circuit. Pour compiler, il faut sassurer que le schma courant correspond bien au
projet : File-> Project -> Set project to current file. Pour compiler le projet, il faut ouvrir loutil
compilateur (MAX+plusII-> Compiler) et cliquer sur Start. On peut choisir le FPGA sur lequel on
souhaite raliser le circuit grce Assign->Device. Une fentre de message souvre
automatiquement et signale sil y a des erreurs (messages en rouge corriger ncessairement) ou
des avertissements (messages en bleu pas toujours gnants mais qui peuvent entraner des
- 1 -
problmes par la suite). Licne rpt permet daccder au rapport dtaill de compilation contenant
notamment le nombre de portes et les quations logiques utilises.

Les menus disponibles


dpendent des outils actifs

Editer des stimuli :


Afin deffectuer une simulation, il est ncessaire de dfinir des vecteurs dentre (diffrentes
valeurs donner successivement aux entres pour tester le circuit). Pour cela, il faut ouvrir le
waveform editor : MAX+plusII -> Waveform Editor. Ajouter les entres/sorties du projet : Nodes -
> Enter nodes from SNF, puis List, slectionner tous les noeuds et les ajouter (flche => au milieu
de la fentre), puis OK. Choisir une dure de simulation : File -> End Time et un pas minimum
pour ldition des chronogrammes : Options -> Grid size. Il est alors possible de gnrer des
signaux de type horloge ou de forcer 0 ou 1 des zones slectionnes (icnes sur la gauche de la
fentre). Ne pas oublier denregistrer les stimuli avec le mme nom que le projet (avec une
extension .scf).

Mise 0
Mise 1

Horloge

Compteur

- 2 -
Simuler le circuit :
Une fois que les stimuli ont t crs, il suffit de lancer le simulateur (MAX+plus2->Simulator) et
deffectuer la simulation en cliquant sur Start. Il est aussi possible deffectuer une Analyse
Temporelle (MAX+plus2->Timing Analysis) pour estimer les temps de rponse du circuit. Le
rsultat se prsente sous forme de matrice de temps de propagation (Delay Matrix). Pour les circuits
squentiels, on peut aussi dterminer la frquence maximale dutilisation.

Programmer la maquette pdagogique :


Pour programmer un FPGA de la maquette, il est ncessaire de dfinir au niveau du schma quelles
pattes du circuit (pin) doivent tre associes aux entres et aux sorties : en effet, certaines dentre
elles sont relies sur la maquette des fonctions lectroniques (boutons poussoirs, interrupteurs,
leds, afficheur 7 segments, quartz - Cf la documentation de la maquette pour savoir le numro
des pattes utilises).

- 3 -
Pour associer une patte une entre ou une sortie, il faut slectionner le symbole correspondant
du schma et cliquer droite. Cliquer ensuite sur Assign->Pin/Location/Chip pour ouvrir le menu
de slection. Il faut quun composant spcifique ait t slectionn pour que la fonction soit active.
Si ce nest pas le cas, cliquer sur Assign Device et slectionner le composant utiliser. Il suffit alors
de slectionner dans le menu droulant Pin le numro de la patte. Une fois toutes les pattes
affectes, Il faut recompiler le projet.

Il est alors possible de programmer le FPGA de la maquette. Le cble de programmation associ


doit tre reli au port parallle de lordinateur et la maquette doit tre alimente. Elle doit aussi tre
configure pour permettre la programmation du composant souhait (vrifier la position des
jumpers TD1, TD0, DEVICE et BOARD dans la documentation de la maquette). Il suffit alors de
lancer le programmateur (MAX+plus2->Programmer) et de slectionner le type de programmation
(Options -> Hardware Setup et slectionner ByteBlaster(MV) dans le menu droulant Hardware
Type) et valider. Enfin, il reste cliquer sur Program en ayant coch au pralable Security Bit.

Crer un circuit en VHDL :


Cliquer sur File -> New -> Text Editor File et sauvegarder le fichier avec une extension .vhd .
Attention !!! Le nom du fichier doit tre le mme que celui de lentit quil contiendra. Chaque
fichier VHDL doit comprendre une entit et une architecture associe dcrites en VHDL. Il est
possible dutiliser des structures prformates (Templates -> VHDL) dans lesquelles il ny a qu
remplacer les noms des variables. Le reste des procdures est le mme que prcdemment mis
part le fait que la compilation cre automatiquement un symbole pour le circuit.

Icnes dappel des diffrents outils :


Hirarchie Programmateur

Floorplan Analyseur Temporel


- 4 - Compilateur Simulateur