Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones...

40
Mohamad Sawan et collaborateurs ELE3311 Systèmes logiques programmables Chapitre 6: conception de machines synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants (P8) Minimisation des étages IFL (P11) et OFL (P13) Assignation bit par état (One-hot encoding) (P15) Transitoires produites par létage OFL (P16) Diverses sorties générées par létage OFL Élimination de transitoires (P19) Machines principalement synchrones Rappel États erronés Synchronisation des signaux dentrée.

Transcript of Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones...

Page 1: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

Mohamad Sawan et collaborateurs

ELE3311 –

Systèmes logiques programmables

Chapitre 6: conception de machines

synchrones et principalement synchrones

▪ Machines synchrones

➢ Compteurs, diviseurs et vérification des impasses

➢ États redondants (P8)

➢ Minimisation des étages IFL (P11) et OFL (P13)

➢ Assignation bit par état (One-hot encoding) (P15)

➢ Transitoires produites par l’étage OFL (P16)

➢ Diverses sorties générées par l’étage OFL

➢ Élimination de transitoires (P19)

▪ Machines principalement synchrones

➢ Rappel

➢ États erronés

➢ Synchronisation des signaux d’entrée.

Page 2: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 2

Machines synchrones

▪ Rappel

➢ Une machine séquentielle algorithmique est synchrone

lorsque tous les signaux affectant la logique d'entrée (IFL)

sont synchrones par rapport à l'horloge.

➢ De manière générale, pour une machine active sur le

front montant de l'horloge, les transitions sur les entrées

se produisent aux fronts descendants de l'horloge.0 1 2 3 4 5 6 7 8 9

CLK

X

Q1

Q0

Z

Les entrées

changent sur

les fronts

descendants

MSA

active sur

le front

montant

Page 3: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 3

Machines synchrones (suite)

▪ Rappel – design de MSA

➢ Diviseur de fréquence (cas particulier)

Diviseur

par pfin

fout

soit in out

out in

f Tp

f T= =

12 2

m = nombre de bascules

p = nombre d'états permanents

m mp- ≺ ≺

e0

e1

ep-2

ep-1

Zp

SB

SE

Page 4: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 4

Machines synchrones (suite)

▪ Rappel – design de MSA (suite)

➢ Diviseur de fréquence (suite)

Exemple

fin = 400 kHz

fout = 25 kHz

• p = 400 / 25 → p = 16 états (e0, e1, …, e15)

• m = log2 16 → m = 4 bascules

14 15 0 1 2 3 4 5 6 7

CLK

Zp

8 9 10 11 12 13 14 15 0 1

Page 5: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 5

Machines synchrones (suite)

▪ Vérification des impasses

➢ Compteur séquentiel

a

b

c

01

Q1Q

0

11

10

d00

1. Diagramme d'état

Q1

Q0

Q1

+ Q0+

D1

D0

0 0

0 1

1 0

1 1

d

a

c

b

x x

1 1

0 1

1 0

X

b

a

c

2. Table d'excitation

État facultatif

Page 6: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 6

Machines synchrones (suite)

▪ Vérification des impasses (suite)

➢ Compteur séquentiel (suite)

3. Équations d'excitations

Q1

0 1

X

Q0

0

1 1

0

1

D1

Q1

0 1

X

Q0

0

1 1

1

0

D0

Q1

Q0

Q1

+ Q0+

D1

D0

0 0d 0 0d

4. Vérification d'impasses (sur les états facultatifs)

1 0D = Q 0 0 1D = Q QÅ

Page 7: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 7

Machines synchrones (suite)

▪ Vérification des impasses (suite)

➢ Compteur séquentiel (suite)

5. État forcé au lieu de facultatif

Q1

0 1

0

Q0

0

1 1

0

1

D1

Q1

0 1

10

1 1

1

0

D0

Q0

1 0D = Q

0 0 1D = Q Q+

Q1

Q0

Q1

+ Q0+

D1

D0

0 0

0 1

1 0

1 1

d

a

c

b

0 1

1 1

0 1

1 0

a

b

a

c

a

b

c

01

Q1Q

0

11

10

d00

Page 8: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 8

Machines synchrones (suite)

▪ Élimination des états redondants

➢ Un état est redondant à un autre état et peut être éliminé:

• lorsqu'il aboutit dans les mêmes états pour des conditions

identiques (les mêmes entrées affectées des mêmes valeurs);

• lorsqu'il possède les mêmes sorties actives pendant la même

période (SB-SE).États

redondants

'1''0'

a

c

d

Z

X

bSimplification

'1''0'

a

c Z

X

b

Page 9: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 9

Machines synchrones (suite)

▪ Élimination des états redondants (suite)

'1''0'

a

X

b

c

'0' '1'X

Z

États

redondants

'1''0'

a

X

b Z

Simplification

Page 10: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 10

Machines synchrones (suite)

▪ Élimination des états redondants (suite)

'1''0'

a

c

d

X

b ZSB

SE

ZSB

DSB

États non-redondants

(sorties différentes)

Page 11: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 11

Machines synchrones (suite)

▪ Minimisation des étages IFL et OFL

➢ Principe 1: (IFL)

Des états ayant le même état futur doivent avoir une

assignation adjacente.

ba

c

X'1''0'

'1''0'

c

d

Z

X

b

aÉtats adjacents

États adjacents

Q0 0 1

a b

c -

Q1

0

1

Page 12: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 12

Machines synchrones (suite)

▪ Minimisation des étages IFL et OFL (suite)

➢ Principe 2: (IFL)

Des états ayant le même état précédent doivent avoir une

assignation adjacente.

cb

a

X'1''0'

États adjacents

Q0 0 1

a b

- c

Q1

0

1

Page 13: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 13

Machines synchrones (suite)

▪ Minimisation des étages IFL et OFL (suite)

➢ Principe 3: (OFL)

Des états ayant une même sortie active doivent avoir une

assignation adjacente.

Q0 0 1

a c

b d

Q1

0

1

États

adjacents

'1''0'

a

c

d

X

b ZSB

SE

ZSB

SE

e

Page 14: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 14

Machines synchrones (suite)

▪ Minimisation des étages IFL et OFL (suite)

➢ Pour obtenir une logique d'entrée et de sortie minimale,

les principes de minimisation doivent respecter les

priorités suivantes:

• Le principe 1 a priorité sur les principes 2 et 3.

• Le principe 2 a priorité sur le principe 3.

➢ Pour obtenir une logique d'entrée minimale, l’utilisation

des bascules JK serait un plus.

➢ Assignation bit par état.

Page 15: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 15

Machines synchrones (suite)

▪ Minimisation (suite)

➢ Assignation conventionnelle

• Codage binaire,

– n variables d’états,

– n bascules,

– 2^n états

➢ Assignation bit par état (One-hot encoding)

• Codage bit par état,

– 2^n états,

– 2^n variables d’états,

– 2^n bascules.

Page 16: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 16

Machines synchrones (suite)

▪ Transitoires produites par l’étage OFL

➢ Ces transitoires peuvent être causés par les délais entre:

• Portes logiques

• Bascules

➢ Autres aspects de conception

• Assignation d’états

– S’assurer de ne pas passer par un état facultatif lors de

transition, car elle peut générer un sortie.

• Minimisation de la partie combinatoire

– Simplification, états facultatifs

▪ Élimination de ces transitoires !

Page 17: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 17

Machines synchrones (suite)

▪ Transitoires

➢ Conclusion

• Des fois, il est impossible d’éliminer les transitoires

par l’assignation d’états, on doit alors avoir recours à

d’autres méthodes, soit:

– Décalage d’horloge;

– Utilisation des registres à la sortie.

Page 18: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 18

Machines synchrones (suite)

▪ Diverses sorties générées par l’étage OFL

➢ Types de sorties0 1 2 3 4 5

CLK

X

Z0

Z0

SBZ

0SE

Z1

Z2

cb d

Z1

DSBZ

1DSE

Z2

DSBZ

2SE

Z3

SBZ

3DSBZ

3

Z4

SBZ4

Z5

DSBZ5

b

c

d

Z

Page 19: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 19

Machines synchrones (suite)

▪ Élimination de transitoires

➢ Sortie inconditionnelle active entre SB et DSB

➢ Sortie inconditionnelle active entre DSB et SE

➢ Sortie conditionnelle active entre DSB et SE

➢ Sortie inconditionnelle active entre DSB et DSE

➢ Sortie inconditionnelle – méthode des registres

➢ Sortie conditionnelle – méthode des registres.

Page 20: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 20

Machines synchrones (suite)

▪ Étage OFL avec sortie retardée (suite)

➢ Sortie inconditionnelle active entre SB et DSB

QD

clk

MÉMOIRES OFL

QD

clk

Z3

Z3

SBZ

3DSB

0 1 2 3 4 5

CLK

cb d

Z3

état c

Transitoire (glitch)

Page 21: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 21

Machines synchrones (suite)

▪ Étage OFL avec sortie retardée (suite)

➢ Sortie inconditionnelle active entre SB et DSB (suite)

QD

clk

MÉMOIRES OFL

QD

clk

Z3

Z3

SBZ

3DSB

clk'

0 1 2 3 4 5

CLK

cb d

Z3

état c

CLK'

Page 22: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 22

Machines synchrones (suite)

▪ Étage OFL avec sortie retardée (suite)

➢ Sortie inconditionnelle active entre DSB et SE

QD

clk

QD

clk

Z

clk'

0 1 2 3 4 5

CLK

cb d

Z

état

CLK'

c

Solution 1:

Utiliser l'inverse de l'horloge

Transitoires

(glitches)

Z état CLK= ×b

c

d

ZSE

DSB

Page 23: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 23

Machines synchrones (suite)

▪ Étage OFL avec sortie retardée (suite)

➢ Sortie inconditionnelle active entre DSB et SE (suite)

Solution 2:

Désactiver l'OFL avant

le changement d'état

QD

QD

clk

Z

clk'

Z état CLK= ×

0 1 2 3 4 5

CLK

cb d

Z

état

CLK'

c

Page 24: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 24

0 1 2 3 4 5

CLK

cb d

Z

état

CLK'

c

X

Machines synchrones (suite)

▪ Étage OFL avec sortie retardée (suite)

➢ Sortie conditionnelle active entre DSB et SE (suite)

Z état CLK X= × ×

QD

clk

QD

clk

Z

X*

clk'

Solution 1:

Activer l'OFL après l'entrée (X)

Transitoires

(glitches)

'1'

'0'

X

b

c

d

ZSE

DSB

Page 25: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 25

Machines synchrones (suite)

▪ Étage OFL avec sortie retardée (suite)

➢ Sortie conditionnelle active entre DSB et SE (suite)

Z état CLK X= × ×Solution 2:

Désactiver l'OFL avant le changement d'état

QD

QD

clk

Z

X*

clk'

0 1 2 3 4 5

CLK

cb d

Z

état

CLK'

c

X

Page 26: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 26

Machines synchrones (suite)

▪ Étage OFL avec sortie retardée (suite)

➢ Sortie inconditionnelle active entre DSB et DSE

b

c

d

ZDSE

DSB

QD

clk

QD

clk

ZQ

D

0 1 2 3 4 5

CLK

bc c

Z

état cc

Page 27: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 27

Machines synchrones (suite)

▪ Élimination des transitoires de sortie

➢ Sortie inconditionnelle – méthode des registres

QD

clk

QD

clk

ZQ

D

QD

clk

QD

clk

ZQ

D

c ZSE

SB

ZDSE

DSBc

Page 28: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 28

Machines synchrones (suite)

▪ Élimination des transitoires de sortie

➢ Sortie inconditionnelle – méthode avec registre DDR

QD

clk

QD

clk

ZQ

D

QD

clk

QD

clk

ZQ

D

c ZSE

SB

ZDSE

DSBc

Page 29: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 29

Machines synchrones (suite)

▪ Élimination des transitoires de sortie

➢ Registre DDR - Fonctionnement

Page 30: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 30

Machines synchrones (suite)

▪ Élimination des transitoires de sortie (suite)

➢ Sortie conditionnelle – méthode des registres

'1'

'0'

X

b

c

d

ZDSE

DSB

QD

clk

QD

clk

ZQ

DX*

Page 31: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 31

Machines principalement synchrones

▪ Rappel

➢ Une machine séquentielle algorithmique est

principalement synchrone lorsqu'au moins une entrée

n'est pas synchrone par rapport à l'horloge. Ce signal

d'entrée peut changer d'état à tout moment. Le changement

d'état reste synchronisé sur l'horloge.

Page 32: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 32

Machines principalement synchrones (suite)

▪ États erronés

➢ Une machine principalement synchrone peut, lorsqu'une

entrée asynchrone change de niveau lorsque la machine se

prépare à passer dans un nouvel état, se retrouver dans un

état erroné ne respectant pas le diagramme d'états.

0 1 2 3 4 5

CLK

D

tsu

th

X

ZQ

DOFL

clk

XIFL

Q+?

'1''0'X

a

cb

00

Q1Q

0

01 10d

a

Entrée

asynchrone

Page 33: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 33

Machines principalement synchrones (suite)

▪ États erronés (suite)

➢ Le passage à un état erroné est dû aux différents temps de

calcul pour chacun des bits d'états après la transition d'une

entrée asynchrone.

Q0*

Q1*

QD

1

clk

QD

0

clk

X

Q0*

Q1*

MÉMOIRESIFL0 1 2 3 4 5

CLK

D0

X

D1

a

tsu

th

d a a

Page 34: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 34

Machines principalement synchrones (suite)

▪ États erronés (suite)

➢ Les états erronés ne dépendent que de l'assignation des

états futurs à l'état courant.

'1''0'X

a

cb

000

Q2Q

1Q

0

101 110

États futurs: b 101

c 110

États possibles: 1xx

État respectant b 101

État respectant c 110

États erronés: ee0 100

ee1 111

Page 35: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 35

Machines principalement synchrones (suite)

▪ États erronés (suite)

'1'

'0'X

a

b

Q2Q

1Q

0

000

101

États futurs: a 000

b 101

États possibles: x0x

États respectant a 000

le diagramme: b 101

États erronés: ee0 001

ee1 100

Page 36: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 36

Machines principalement synchrones (suite)

▪ États erronés (suite)

➢ Les états erronés se trouvent parmi les états adjacents aux

états futurs.

'1'

'0'X

a

b

Q2Q

1Q

0

000

011 États futurs: a 000

b 011

États possibles: 0xx

États erronés: ee0 001

ee1 010

Q2Q

100 01

a

Q0

0

1

11 10

ee1

bee0

Page 37: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 37

Machines principalement synchrones (suite)

▪ Synchronisation des signaux d'entrée

➢ Transition d'état alternée (AST)

X_REG

1Q

D Z

2Q

DIFL

OFL

clk

X

Alternate State Transition

0 1 2 3 4 5

CLK

X_REG

X

tsu (1)

tsu (2)

Page 38: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 38

Machines principalement synchrones (suite)

▪ Synchronisation des signaux d'entrée (suite)

➢ Transition d'état retardée (DST)Delayed State Transition

0 1 2 3 4 5

CLK

X_REG

X

tsu (1)

tsu (2)

état

X_REG

1Q

D Z

2Q

DIFL

OFL

clk

X

Page 39: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 39

Machines principalement synchrones (suite)

▪ Synchronisation des signaux d'entrée (suite)

➢ Configuration Go – No-Go

• Dans le cas où l'on a un branchement à un seul état

• Solution efficace mais coûteuse au niveau du nombre d'états

• Ne peut être appliqué à tous les designs

'0'

'1'

a

b

X

000

001

a et b doivent être adjacents

Page 40: Chapitre 6: conception de machines synchrones et ... · synchrones et principalement synchrones Machines synchrones Compteurs, diviseurs et vérification des impasses États redondants

ELE3311 –

Systèmes logiques programmables Page 40

Machines principalement synchrones (suite)

▪ Synchronisation des signaux d'entrée (suite)

➢ Essentiel pour éviter les états erronés

➢ Utiliser la configuration Go-No-Go

• Lorsque c'est possible

➢ Utiliser la méthode par transition d'état alternée (AST)