Ecole Polytechnique Universitaire de Montpellier ...€¦ · Title: Microsoft PowerPoint -...
Transcript of Ecole Polytechnique Universitaire de Montpellier ...€¦ · Title: Microsoft PowerPoint -...
Copyright © Epum/Lirmm1
Ecole Polytechnique Universitaire de MontpellierUniversité Montpellier II
Place Eugène Bataillon, 34095 Montpellier cedex 05, FRANCE
Laboratoire d'Informatique, de Robotique et de Microélectronique de MontpellierUMR 5506 Université Montpellier II / CNRS
161 rue Ada, 34392 Montpellier cedex 05, FRANCE
Synthèse des systèmes séquentiels synchrones
Copyright © Epum/Lirmm2
Architecture générale d ’un circuit
Entrées data
Sorties
Statuts
CONTROLEUR (PC) CHEMIN DE DONNEES (PO)
Commandes
Entrées commandes
Copyright © Epum/Lirmm3
Contrôleur synchrone
Deux blocs combinatoires (calcul de l’état suivant et des sorties)Un registre d’état à N entrées parallèlesEtats codés sur N bits, N : log2 (Q)
Quintuplet: (E, S, Q, Fs, Fq)
E : Ensemble des entrées primairesS : Ensemble des sorties primairesQ : Ensemble des étatsFs : S * I ->S Fonction de transition d’étatsFq : S -> O Fonction de sortie (Moore)
Fs = f (Q) => MooreFs = f (Q,E) => Mealy
Logique deséquencement(états suivants)
Fq
Registre d’étatsQ
Logique desortie
FsSE
Copyright © Epum/Lirmm4
Compteur (D)
D0 = C’.Q0’D1 = C’. [Q0.Q1’ + Q0’.Q1] = C’. [Q0 Q1]D2 = C’. [Q0.Q1. Q2’ + (Q0.Q1)’.Q2] = C’.[Q0.Q1 Q2]
Q2 Q1 Q00 0 0 0 0 10 1 00 1 11 0 0 1 0 11 1 01 1 1
D Q(n+1)
0 01 1
D0
H
D1 D2? ? ?C
Q0 Q2Q1
Réseau combinatoire
Qi
Bascules H
C
C=0 => CompteurC=1 => RAZ Synchrone
Copyright © Epum/Lirmm5
Séquenceur
D0 = ? D1 = ?D2 = ?
Q2 Q1 Q00 0 0 1 1 10 0 10 1 11 1 0 0 1 01 0 01 0 1
D0
H
D1 D2? ? ?C
Q0 Q2Q1
Réseau combinatoire
Qi
Bascules H
C
C=0 => SéquenceurC=1 => RAZ Synchrone
Copyright © Epum/Lirmm6
Principe – Compteur/Séquenceur
Etats Etats SuivantsC = 0 C = 1
000 001 000
001 010 000
010 011 000
011 100 000
100 101 000
101 110 000
110 111 000
111 000 000
Copyright © Epum/Lirmm7
Principe – Compteur/Séquenceur
D(n) Q(n+1)
0 0
1 1
EtatsQ2Q1Q0(n)
Etats Suivants Q2Q1Q0(n+1)C = 0 C = 1
C = 0D2(n) D1(n) D0(n)
C = 1D2(n) D1(n) D0(n)
000 001 000
001 010 000
010 011 000
011 100 000
100 101 000
101 110 000
110 111 000
111 000 000
Q(n+1) = D(n)
Copyright © Epum/Lirmm8
Principe – Compteur/Séquenceur
Q0C Q0C
Q2Q1 00 01 11 10 Q2Q1 00 01 11 10
00 00
01 01
11 11
10 10
D2 = C’.(Q2’ Q1.Q0) D1 = C’.(Q1Q0)
Q0C
Q2Q1 00 01 11 10
00
01
11
10
D0 = C’.Q0’
Copyright © Epum/Lirmm9
Principe – Compteur/Séquenceur
CQ2
Q1
Q0D0
D2
D1
Copyright © Epum/Lirmm10
Codage des entrées de bascules (T)
T Qn+1 Qn -> Qn+1 T
0 Qn 0 -> 0 0
1 Q’n 0 -> 1 1
1 -> 0 1
1 -> 1 0
EtatsQ2Q1Q0(n)
Etats Suivants Q2Q1Q0(n+1)C = 0 C = 1
C = 0T2 T1 T0
C = 1T 2 T1 T0
000 001 000
001 010 000
010 011 000
011 100 000
100 101 000
101 110 000
110 111 000 0
111 000 000
Copyright © Epum/Lirmm11
Codage des entrées de bascules (JK)
JK Qn+1 Qn -> Qn+1 JK
00 Qn 0 -> 0 0
01 0 0 -> 1 1
10 1 1 -> 0 1
11 Q’n 1 -> 1 0
EtatsQ2Q1Q0(n)
Etats Suivants Q2Q1Q0(n+1)C = 0 C = 1
C = 0J2K2 J1K1 J0K0
C = 1J2K2 J1K1 J0K0
000 001 000
001 010 000
010 011 000
011 100 000
100 101 000
101 110 000
110 111 000 0
111 000 000
Copyright © Epum/Lirmm12
Généralisation
Cahiers des charges (Langage) -> Circuit
Exemple de Cahier des charges : Le système considéré a une entrée (E) et une sortie (S). Il reçoit sur son entrée des bits arrivant en série. La sortie (S) doit passer à 1 chaque fois qu'une séquence 010 apparaît sur l'entrée (E) puis repasser à 0 sur le bit suivant quel que soit sa valeur.
Codes des état non déterminé à priori
Fonctions de sorties états
Optimisation (# bascules, # portes, …)
Copyright © Epum/Lirmm13
Synthèse - Méthode d’Huffman-Mealy
1: Modélisation du cahier des charges Graphe d'état Table d'état
2: Minimisation du nombre d'états Règles de minimisation Détermination du nombre de bascules minimum
3: Codage des états Codage des états Codage des entrées de bascules
4: Synthèse Synthèse des entrées de bascules Synthèse des sorties
Copyright © Epum/Lirmm14
Compteur / Séquenceur
Modélisation du cahier des charges
C=0
001 010
011
100
101 110
111
000
C=0
C=0
C=0
C=0
C=0
C=0
C=0
C=1 C=1
C=1
C=1C=1
C=1
C=1Logique de
séquencement(états suivants)
Fq
Registre d’états
Q
SE
Copyright © Epum/Lirmm15
Modélisation du cahier des charges
Graphe d ’état
A/Sa
C/Sc
B/SbE=0
E=1
Logique deséquencement(états suivants)
Fq
Registre d’états
Q
Logique desortie
FsSE
A
C
BE=0/Sa0
E=1/Sa1
Machine de
Moore
Machine de
Mealy
A
C
BE=0
E=1
Copyright © Epum/Lirmm16
Modélisation du cahier des charges (Moore)
Cahier des charges : Le système considéré a une entrée (E) et une sortie (S). La sortie doit générer une impulsion de largeur égale à la période d’horloge chaque fois que l’entrée E passe à 1.
H
E
S
S=0
S=1S=0
E=1E=0
E=1
E=0
E=1
E=0
(Moore)
Copyright © Epum/Lirmm17
Modélisation du cahier des charges (Moore)
Cahier des charges : Le système considéré a une entrée (E) et une sortie (S). Il reçoit sur son entrée des bits arrivant en série. La sortie (S) doit passer à 1 chaque fois qu'une séquence 010 apparaît sur l'entrée (E) puis repasser à 0 sur le bit suivant quel que soit sa valeur.
Graphe d’état (Moore)
C/0B/0A/0 D/1
1
1
1
10 0
0
0
Copyright © Epum/Lirmm18
Graphe d’état Table d’état
Etats Etats Suivants 0 1
Sortie
A B E 0
B F C 0
C D A 0
D B A 1
E B A 0
F F C 0
Modélisation du cahier des charges (Moore)
C/0B/0A/0 D/1
1
1
1
10 0
0
E/0
1 0
F/0
01
0
Copyright © Epum/Lirmm19
Minimisation du nombre d’états
Règle 1 (R1): Deux états sont équivalents si pour chaque combinaisond'entrée, ils ont mêmes sorties et mêmes états suivants.
Table d’état Table d’état réduite
B F
Etats Etats Suivants 0 1
Sortie
A B E 0
B F C 0
C D A 0
D B A 1
E B A 0
F F C 0
Etats Etats Suivants 0 1
Sortie
A B E 0
B B C 0
C D A 0
D B A 1
E B A 0
Copyright © Epum/Lirmm20
Minimisation du nombre d’états
Règle 2 (R2): Les états sont regroupés en différentes classes selon lesvaleurs de sorties associées. Ainsi, deux états ayant mêmes sorties(pour chaque combinaison d'entrée) sont dans la même classe. Lesétats appartenant à une même classe sont équivalents s'il ne peuventêtre séparés. Or les états appartenant à une même classe doivent êtreséparés si les états suivants associés à chacun d'eux sont dans desclasses différentes.
2 classes(1) (2)
( A , B , C, E ) (D)
Table d’état
Etats Etats Suivants 0 1
Sortie
A B E 0
B B C 0
C D A 0
D B A 1
E B A 0
Copyright © Epum/Lirmm21
Minimisation du nombre d’états
(1) (2) Classe( A , B , C , E ) (C) EtatsBE BC AD BA Etats suivants11 11 12 11 Classes des états suivants
L'état C doit être exclut de la classe 1 et le processus réitéré.
(1) (2) (3) Classe( A , B , E) (C) (D) EtatsBE BC BA Etats suivants11 12 11 Classes des états suivants
L'état B doit être exclut de la classe 1 et le processus réitéré.
(1) (2) (3) (4) Classe( A , E) (B) (C) (D) EtatsBE BA Etats suivants21 12 Classes des états suivants
Les états A et E peuvent rester dans la même classe. Ils sont équivalents.Etats Etats Suivants
0 1 Sortie
A B E 0
B B C 0
C D A 0
D B A 1
E B A 0
Etats Etats Suivants 0 1
Sortie
A B A 0
B B C 0
C D A 0
D B A 1
Copyright © Epum/Lirmm22
Graphe d’états : Interprétation
C/0B/0A/0 D/1
1
1
1
10 0
0
E/0
1 0
F/0
01
0
C/0B/0A/0 D/1
1
1
1
10 0
0
0
Etats Etats Suivants 0 1
Sortie
A B A 0
B B C 0
C D A 0
D B A 1
Etats Etats Suivants 0 1
Sortie
A B E 0
B F C 0
C D A 0
D B A 1
E B A 0
F F C 0
Copyright © Epum/Lirmm23
Codage des états
Le nombre minimum d'états "p" étant déterminé, on peut en déduire le nombre minimum "n" de variables d'état et par conséquent de bascules nécessaires au codage de ces états à partir de la double inéquation suivante:
2n-1 < p < 2n2 états : 1 bascule3,4 états : 2 bascules5,6,7,8 états : 3 bascules...
Etats Q1Q2
Etats Suivants 0 1
Sortie
00 (A) 01 00 0
01 (B) 01 11 0
11 (C ) 10 00 0
10 (D) 01 00 1
Etats Etats Suivants 0 1
Sortie
A B A 0
B B C 0
C D A 0
D B A 1
Copyright © Epum/Lirmm24
Codage des entrées de bascules (D)
Q(n+1) = D(n)
Etats Q1Q2
Etats Suivants 0 1
Sortie
E = 0 E = 1 D1 D2 D1 D2
00 (A) 01 00 0 0 1 0 0
01 (B) 01 11 0 0 1 1 1
11 (C ) 10 00 0 1 0 0 0
10 (D ) 01 00 1 0 1 0 0
D(n) Q(n+1)
0 0
1 1
Copyright © Epum/Lirmm25
Synthèse
E E
Q1Q2 0 1 Q1Q2 0 1
00 00
01 01 D1 = E.Q1’.Q2 + E’.Q1.Q2
11 11 D2 = Q1’.Q2. + E’.Q2’
10 10 S = Q1.Q2’
D1 D2
Etats Q1Q2
Etats Suivants 0 1
Sortie
E = 0 E = 1 D1 D2 D1 D2
00 (A) 01 00 0 0 1 0 0
01 (B) 01 11 0 0 1 1 1
11 (C ) 10 00 0 1 0 0 0
10 (D ) 01 00 1 0 1 0 0
Copyright © Epum/Lirmm26
Synthèse
D1 = E.Q1’.Q2 +E’.Q1.Q2
D2 = Q1’.Q2 + E’.Q2’
S = Q1.Q2’
B1
B2
D1 Q1
Q2
e s
D2
H
H
Copyright © Epum/Lirmm27
Influence du codage
E E
Q1Q2 0 1 Q1Q2 0 1
00 00
01 01 D1 = E.Q1’.Q2 + E’.Q1.Q2’
11 11 D2 = E’
10 10 S = Q1.Q2
D1 D2
Etats Q1Q2
Etats Suivants 0 1
Sortie
E = 0 E = 1 D1 D2 D1 D2
00 (A) 01 00 0 0 1 0 0
01 (B) 01 10 0 0 1 1 0
10 (C ) 11 00 0 1 1 0 0
11 (D ) 01 00 1 0 1 0 0
D1 = E.Q1’.Q2 + E’.Q1.Q2D2 = Q1’.Q2 + E’.Q2’
S = Q1.Q2’
Copyright © Epum/Lirmm28
Cahier des charges : Le système considéré a une entrée (E) et une sortie (S). Il reçoit sur son entrée des bits arrivant en série. La sortie (S) doit passer à 1 chaque fois qu'une séquence 010 apparaît sur l'entrée (E) puis repasser à 0 sur le bit suivant quel que soit sa valeur.
Graphe d’état (Moore)
Comparaison Moore / Mealy
Graphe d’état (Mealy)
C/0B/0A/0 D/1
1
1
1
10 0
0
0
CBA D
1/0
1/0
1/0
1/00/0 0/1
0/0
0/0
Copyright © Epum/Lirmm29
Graphe d’état (Moore) Table d’état
Etats Etats Suivants0 1
Sortie
A B A 0
B B C 0
C D A 0
D B A 1
Comparaison Moore / Mealy
Graphe d’état (Mealy) Table d’état
Etats Etats Suivants 0 1
Sortie 0 1
A B A 0 0
B B C 0 0
C D A 1 0 D B A 0 0
C/0B/0A/0 D/1
1
1
1
10 0
0
0
CBA D
1/0
1/0
1/0
1/00/0 0/1
0/0
0/0
Copyright © Epum/Lirmm30
Minimisation du nombre d’états (Moore)
(1) (2) Classe( A , B , C ) (D) Etats
BA BC DA Etats suivants11 11 21 Classes des états
suivants
L'état C doit être exclut de la classe 1 et le processus réitéré.
(1) (2) (3) Classe( A , B ) (C) (D) Etats
BA BC Etats suivants11 12 Classes des états
suivants
Les états A et B doivent être séparés. Il y a maintenant qu'un seul état par classe. Il n'y a donc pas d'états équivalents. Pour réaliser cette machine, le nombre minimum d'états est de 4.
Etats Etats Suivants 0 1
Sortie
A B A 0
B B C 0
C D A 0
D B A 1
R1 : Pas d’états équivalentsR2 : Pas d’états équivalents
Copyright © Epum/Lirmm31
Minimisation du nombre d’états (Mealy)
(1) (2)( A , B ) (C)
BA BC11 12
Etats Etats Suivants0 1
Sortie0 1
A B A 0 0
B B C 0 0
C D A 1 0
D B A 0 0
Etats Etats Suivants0 1
Sortie0 1
A B A 0 0
B B C 0 0
C A A 1 0
R1 : A<=>DR2 : Pas d’états équivalents
CBA D
1/0
1/0
1/0
1/00/0 0/1
0/0
0/0
CBA
1/01/0
1/00/0
0/1
0/0
Copyright © Epum/Lirmm32
Modélisation du cahier des charges
Cahier des charges : On désire réaliser une machine recevant sur sont entrée E des mots de 4 bits en série (poids faible en tête). Sa sortie S doit passer à 1 chaque fois qu'un mot représente un nombre supérieur à 9 et revenir à 0 sur le premier bit du mot suivant.
a
b
e
d
i
h
k
j
c
f
m
l
g
o
n
a
0/0 1/0
0/0 1/1
0/0 1/1
0/0 1/1
0/0 1/0
0/0 1/1
0/0 1/1
0/0 1/1
0/0
0/0
0/00/0
0/0
0/0
0/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
Copyright © Epum/Lirmm33
Minimisation du nombre d’états
Etats Etats Suivants0 1
Sortie0 1
a b c 0 0
b d e 0 0
c f g 0 0
d h i 0 0
e j k 0 0
f l m 0 0
g n o 0 0
h a a 0 0
i a a 0 1
j a a 0 1
k a a 0 1
l a a 0 0
m a a 0 1
n a a 0 1
o a a 0 1
Etats Etats Suivants0 1
Sortie0 1
a b c 0 0
b d e 0 0
c f g 0 0
d h i 0 0
e i i 0 0
f h i 0 0
g i i 0 0
h a a 0 0
i a a 0 1
Copyright © Epum/Lirmm34
Minimisation du nombre d’états
6 états => 3 bascules
Etats Etats Suivants0 1
Sortie0 1
a b c 0 0
b d e 0 0
c d e 0 0
d h i 0 0
e i i 0 0
h a a 0 0
i a a 0 1
Etats Etats Suivants0 1
Sortie0 1
a b b 0 0
b d e 0 0
d h i 0 0
e i i 0 0
h a a 0 0
i a a 0 1
Copyright © Epum/Lirmm35
Machine à temps explicite
Réseau
combinatoire
Bascules
En
Qn
Sn
Qn+1
H
tn
t1 t2 t3 t4 = 1000 => le premier bit est présent sur les entrées de la machine= 0100 => le deuxième bit est présent sur les entrées de la machine= 0010 => le troisième bit est présent sur les entrées de la machine= 0001 => le quatrième bit est présent sur les entrées de la machine
Copyright © Epum/Lirmm36
Machine à temps explicite
t1 t2 t3 t4
a
b
e
d
i
h
j
j
c
f
m
l
g
o
n
a
0/0 1/0
0/0 1/1
0/0 1/1
0/0 1/1
0/0 1/0
0/0 1/1
0/0 1/1
0/0 1/1
0/0
0/0
0/00/0
0/0
0/0
0/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
Copyright © Epum/Lirmm37
Machine à temps explicite
Etats Etats Suivants t1=1 t2=1 t3=1 t4=1 0 1 0 1 0 1 0 1
Sortie t1 t2 t3 t4 01 01 01 01
a b c - - - - - - 00 -- -- --
b - - d e - - - - -- 00 -- --
c - - f g - - - - -- 00 -- --
d - - - - h i - - -- -- 00 --
e - - - - j k - - -- -- 00 --
f - - - - l m - - -- -- 00 --
g - - - - n o - - -- -- 00 --
h - - - - - - a a -- -- -- 00
i - - - - - - a a -- -- -- 01
j - - - - - - a a -- -- -- 01
k - - - - - - a a -- -- -- 01
l - - - - - - a a -- -- -- 00
m - - - - - - a a -- -- -- 01
n - - - - - - a a -- -- -- 01
o - - - - - - a a -- -- -- 01
Copyright © Epum/Lirmm38
Machine à temps explicite
Etats Etats Suivants t1=1 t2=1 t3=1 t4=1 0 1 0 1 0 1 0 1
Sortie t1 t2 t3 t4 01 01 01 01
a b b - - - - - - 00 -- -- --
b - - d e - - - - -- 00 -- --
d - - - - h i - - -- -- 00 --
e - - - - i i - - -- -- 00 --
h - - - - - - a a -- -- -- 00
i - - - - - - a a -- -- -- 01
Etats Etats Suivants t1=1 t2=1 t3=1 t4=1 0 1 0 1 0 1 0 1
Sortie t1 t2 t3 t4 01 01 01 01
a b b - - a b a a 00 -- 00 00
b - - a b b b a a -- 00 00 01
Copyright © Epum/Lirmm39
Machine à temps explicite
S = t4.e.QD = t1 + t2.e + t3.(e + Q)
Etats Etats Suivants t1=1 t2=1 t3=1 t4=1 0 1 0 1 0 1 0 1
Sortie t1 t2 t3 t4 01 01 01 01
a b b - - a b a a 00 -- 00 00
b - - a b b b a a -- 00 00 01
Etats Etats Suivants t1=1 t2=1 t3=1 t4=1 0 1 0 1 0 1 0 1
Sortie t1 t2 t3 t4 01 01 01 01
0 1 1 - - 0 1 0 0 00 -- 00 00
1 - - 0 1 1 1 0 0 -- 00 00 01
Copyright © Epum/Lirmm40
Modélisation du cahier des charges
Cahier des charges : On désire réaliser une machine recevant sur sont entrée e des mots de 4 bits en série (E). Sa sortie S doit passer à 1 chaque fois qu'un mot contient un nombre impair de 1 (Passage à 1 uniquement sur le 4ème bit).
a
b
e
d
i
h
k
j
c
f
m
l
g
o
n
a
0/0 1/1
0/1 1/0
0/1 1/0
0/0 1/1
0/1 1/0
0/0 1/1
0/0 1/1
0/1 1/0
0/0
0/0
0/0 0/0
0/0
0/0
0/0
1/0
1/0
1/0
1/0
1/0
1/0
1/0
Copyright © Epum/Lirmm41
Modélisation du cahier des charges
0/00/0 0/0 0/0
1/10/1 0/1
0/1
1/1 1/11/1
1/0 1/0 1/0A A
Copyright © Epum/Lirmm42
Temps explicite / Partitionnement
A B
0 1
1
0
Impair
Compteur Machine d’état
e St4
H
Pour t4=0
D Qet4’
PairA B
0/0
Pour t4=1
1/10/1 1/0
PairImpair
t4S
Copyright © Epum/Lirmm43
Partitionnement
H
E SRéseau
combinatoire
Bascules
En
Qn
Sn
Qn+1
H
Réseau combinatoire
Bascules
En
Qn
Sn
Qn+1
H
Machine 1 Machine 2
H
Réseau combinatoire
Bascules
E
Qn
S
Qn+1
Copyright © Epum/Lirmm44
Cahier des charges : On désire concevoir un système produisant un train de n impulsions à partir d’un signal Dep
Partitionnement
H
Dep
Out
Copyright © Epum/Lirmm45
Partitionnement
HOUT
SDep
H
S
H
Dep
Out
Copyright © Epum/Lirmm46
Partitionnement
H
Dep
OUT
S
Solution 1 (n petit)
S=1S=1
S=1
S=1S=0
S=0
Dep=1
Dep=0
Dep=0
Dep=1Dep=1
Dep=0
Copyright © Epum/Lirmm47
Partitionnement
Solution 2 (n grand)
RAZ Sync
H
Compteur/Décompteur
Machine d’état
Cn
Dep
S=0
S=1S=0
Cn=0
Dep=1
Cn=1Dep=1
Dep=0
Dep=1
Dep=0
S
S
H
Dep
Out
Cn=1Dep=0
Copyright © Epum/Lirmm48
Cahier des charges : On désire concevoir un système produisant la séquence suivante : 0, 1, 2, 3, …, n-1, n, n-1, n-2, …, 3, 2, 1, 0, 1, 2, 3, …n.
Partitionnement
Séquenceur => 2*n Etats
Autre solution : Système à base de Compteur/décompteur
Up/Dn
H
Compteur/Décompteur
Machine d’état
Copyright © Epum/Lirmm49
Partitionnement
A/0 B/1
Cn-1 Cn-1
C1
C1
UpDn
Up/Dn
H
Compteur/Décompteur
Machine d’état
Cn-1
C1 D Q
D=UpDn.Cn-1 + UpDn.C1
UpDn
Copyright © Epum/Lirmm50
Remarque : Si l’on considère une horloge de période égale au temps bit, le codeur Manchester se limite à un XOR entre le signal à coder et cette horloge
Codeur Manchester
Règles de codage Manchester•le niveau "0" sera représenté par une transition descendante du signal au milieu du temps bit•le niveau "1" sera représenté par une transition montante du signal au milieu du temps bit
Copyright © Epum/Lirmm51
Règles de codage Manchester•le niveau "0" sera représenté par une transition descendante du signal au milieu du temps bit•le niveau "1" sera représenté par une transition montante du signal au milieu du temps bit
Remarque : Si l’on considère une horloge de période égale au temps bit, le codeur et le décodeur Manchester se limitent à un XOR entre le signal à coder/décoder et cette horloge
Décodeur Manchester
Copyright © Epum/Lirmm52
Le codage Manchester a un inconvénient : il est sensible à l’inversion de fils dans le cablage (la polarité du signal doit être respectée )
Le codage Manchester Différentiel permet d’éviter cette sensibilité. Ce sont les transitions ou les absences de transition qui représentent les bits transmis (et non pas la polarité des transitions)
Codage Manchester vs. Manchester Différentiel
Copyright © Epum/Lirmm53
Règles de codage Manchester différentiel•Le niveau « 0 » du signal est codé par une transition (montante ou descendante) en début du temps de bit. •Le niveau « 1 » du signal est codé par l'absence de transition en début du temps de bit. •Le signal devra de plus commuter au milieu de chaque temps de bit.
Codeur Manchester Différentiel
Copyright © Epum/Lirmm54
Décodeur Manchester Différentiel
Règles de codage Manchester différentiel•Le niveau « 0 » du signal est codé par une transition (montante ou descendante) en début du temps de bit. •Le niveau « 1 » du signal est codé par l'absence de transition en début du temps de bit. •Le signal devra de plus commuter au milieu de chaque temps de bit.
Copyright © Epum/Lirmm55
Spécification par un langage (HDL)
LIBRARY IEEE;USE IEEE.std_logic_1164.all;--USE IEEE.std_logic_unsigned.all; -------------------------------------------------------------------------------Entity FSM is
Port ( CLK: in std_logic;RAZ: in std_logic;E: in std_logic; S: out std_logic);
End machinevhdl; -------------------------------------------------------------------------------Architecture fonctionnelle of FSM is type etat is (S1,S2,S3,S4);begin
process (raz,clk)variable etape: etat; begincase (etape) is
when S1=>if E=‘0' then S:=‘0';
else S:='1'; end if;
case (etape) iswhen S2=>
if E=‘0' then S:=‘0'; else S:='1';
end if;case (etape) is
when S3=>S:=‘0';
case (etape) iswhen S4=>
S:=‘0'; end case;
if raz='0' then etape:=S1; elsif (clk'event and clk = '1')
then case (etape) iswhen S1=>
if E=‘0' then etape:=S2;else etape:=S3;
end if;when S2=>
if E=‘0' then etape:=S4;else etape:=S2;
end if;when S3=>
etape:=S1;when S4=>
etape:=S1;end case;
end if;
End process; End fonctionnelle;
S1
S2 S3
S4
e’/0e/1e/1
e’/0
x/0
x/0
Copyright © Epum/Lirmm56
Analyse
B1
B2
D1 Q1
Q2
e s
D2
H
H
Copyright © Epum/Lirmm57
Analyse
D1 = E.Q1’.Q2 +E’.Q1.Q2
D2 = Q1’.Q2 + E’.Q2’
S = Q1.Q2’B1
B2
D1 Q1
Q2
e s
D2
H
H
Etats Q1Q2
Etats Suivants 0 1
Sortie
E = 0 E = 1 D1 D2 D1 D2
00 (A) 01 00 0 0 1 0 0
01 (B) 01 11 0 0 1 1 1
11 (C ) 10 00 0 1 0 0 0
10 (D ) 01 00 1 0 1 0 0
Copyright © Epum/Lirmm58
Analyse
Etats Q1Q2
Etats Suivants 0 1
Sortie
E = 0 E = 1 D1 D2 D1 D2
00 (A) 01 00 0 0 1 0 0
01 (B) 01 11 0 0 1 1 1
11 (C ) 10 00 0 1 0 0 0
10 (D ) 01 00 1 0 1 0 0
Etats Etats Suivants 0 1
Sortie
A B A 0
B B C 0
C D A 0
D B A 1
C/0B/0A/0 D/1
1
1
1
10 0
0
0