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

Transcript
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)