10

Click here to load reader

Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

  • Upload
    lamque

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

Solution aux exercices circuits asynchrones

Problème 1 - Synthèse

Effectuez la synthèse d'une machine à état asynchrone qui a deux entrées x1 et x0 et une sortie z. Lamachine à état fonctionne en mode fondamental (seul un bit de l'entrée ne peut changer à la fois etseulement lorsque la machine est dans un état stable) et a le fonctionnement suivant :

– À chaque fois que le nombre de 1 dans les deux bits d'entrées augmente, la sortie z estinversée

– À chaque fois que le nombre de 1 dans les deux bits d'entrées diminue, la sortie demeureinchangée

Exemple de fonctionnement :

x1x0 : 00, 10, 11, 10, 11, 10, 00, ...z : 0, 1, 0, 0, 1, 1, 1, ...

a) Donnez le tableau de séquence primitif

État État futur Sortie (x)x1x0 = x1x0 =

00 01 11 10 00 01 11 10A A D - F 0 - - -B B C - E 1 - - -C A C H - - 0 - -D B D G - - 1 - -E A - H E - - - 0F B - G F - - - 1G - C G E - - 0 -H - D H F - - 1 -

b) Effectuez l'élimination d'états redondants

Toutes les sorties sont uniques, il n'est donc pas possible d'éliminer des états

c) À l'aide d'un diagramme de fusion, réduisez le nombre d'états et donnez le tableau de séquence

A

H

C D

FEG

B

Page 2: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

État État futur Sortie (x)x1x0 = x1x0 =

00 01 11 10 00 01 11 10A A D A D 0 - 1 -B B C B C 1 - 0 -C A C A C - 0 - 0D B D B D - 1 - 1

d) Effectuez l'assignation des états en utilisant un diagramme d'adjacence

e) Donnez le tableau de transition

État État futur Sortie (x)y1y0 x1x0 = x1x0 =

00 01 11 10 00 01 11 1000 00 01 00 01 0 1* 1 1*11 11 10 11 10 1 0* 0 0*10 00 10 00 10 0* 0 - 001 11 01 11 01 - 1 1* 1

* Fixés pour empêcher des aléas lors de transitions d'états

f) Donnez l'expression de la sortie

y1y0 x1x0 = 00 01 11 10

00 0 1 1 101 - 1 1 111 1 0 0 010 0 0 - 0

Z = y1'x0 + y1'x1 + y0x1'x0' + y1'y0 (le dernier terme est pour éviter les aléas)

A

DD B

y1

1

0

0 1

y0CA

C

B

Page 3: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

g) Donnez l'expression des variables d'états pour un circuit à délai

y1+ x1x0 = y0+ x1x0 = 00 01 11 10 00 01 11 10

00 0 0 0 0 00 0 1 0 1y1y0 01 1 0 1 0 y1y0 01 1 1 1 1

11 1 1 1 1 11 1 0 1 010 0 1 0 1 10 0 0 0 0

y1+ = y1y0 + x1'x0'y0 + x1'x0y1 + x1x0y0 + x1x0'y1

y0+ = y1'y0 + y0x1'x0' + x1'x0y1' + x1x0y0 + x1x0'y1'

h) Faites le schéma du circuit à délai

Solution non disponible.

i) Donnez le tableau d'excitation pour un circuit à bistable SR

S1+ x1x0 = R1+ x1x0 = 00 01 11 10 00 01 11 10

00 0 0 0 0 00 - - - -y1y0 01 1 0 1 0 y1y0 01 0 - 0 -

11 - - - - 11 0 0 0 010 0 - 0 - 10 1 0 1 0

S0+ x1x0 = R0+ x1x0 = 00 01 11 10 00 01 11 10

00 0 1 0 1 00 - 0 - 0y1y0 01 - - - - y1y0 01 0 0 0 0

11 - 0 - 0 11 0 1 0 110 0 0 0 0 10 - - - -

j) Donnez l'expression des entrées des bistables SR

S1+ = y0(x1+x0')(x1'+x0)R1+ = y0'(x1+x0')(x1'+x0)S0+ = y1'(x1+x0)(x1'+x0')R0+ = y1(x1+x0)(x1'+x0')

Page 4: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

k) Faites le schéma du circuit à bistable SR

Solution non disponible.

l) Donnez le diagramme de séquence de votre design

m) Est-ce qu'il y a une possibilité d'aléa essentiel? Si oui, comment peut-on éliminer cet aléa? Si non,expliquez quand même ce qu'il faudrait faire pour éliminer un potentiel aléa.

Oui, par exemple lorsque l'on est dans l'état A/00 et que l'entrée change à 01.A/00 -> 01 On passe à l'état D/01D/01 -> 00 On passe à l'état B/00B/00 -> 00 On passe à l'état C/01

Puisque D/01 != C/01, il y a un risque d'aléa essentiel. Pour éviter ces aléas, il faut s'assurer que ledélai dans la rétroaction des variables d'état est plus grand que le délai que prend les entrées à parcourirle circuit.

Notation: x1x0/z

0011

0110

01/010/0

00/111/0

001101/1

10/1

0110

00/011/1

BD

CA

Page 5: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

Problème 2 - Analyse

Un concepteur inexpérimenté à fait cette machine à état asynchrones qui a plusieurs problèmes.Effectuez une analyse complète de ce circuit pour identifier ces problèmes

a) Expression des sorties

z = x1x0 + y1'y0'x0 + y1y0x1

b) Expression des états futurs

y1+ = x1x0 + y1x1'x0' + x1y1y0'y0+ = (y1'+x1)(y1+x0')(y0+ x0')(y1+y0+x1')

x0

x1

z

x1

x0

x0

x1

x1

x0

x1

x0

x1

y0

y1

y0+

y1+

délai

délai

Page 6: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

c) Tableau de transition

État État futur Sortie (z)y1y0 x1x0 = x1x0 =

00 01 11 10 00 01 11 1000 01 00 10 00 0 1 1 001 01 00 10 01 0 0 1 011 10 00 11 01 0 0 1 110 10 00 10 11 0 0 1 0

d) Identifiez s'il y a des courses et des courses critiques

Courses :

– passage de l'état 01/10 (y1y0/x1x0) -> 01/11 -> 10/11. C'est une course critique puisqu'il est possiblede passer par l'état 11/11 qui est un état stable.

– Passage de l'état 11/11 -> 11/01 -> 00/01. Ce n'est pas une course critique puisque peut importe paroù passe le changement d'état 11/01 -> 00/01, on ne peut rester pris dans un état stable autre quel'état final voulu

e) Identifiez s'il y a des aléas dans la sortie et dites ce qui pourrait être modifié pour corriger ces aléass'il y en a. Regardez à la fois si la logique peut causer des aléas et si les transitions d'états peuventcauser des aléas.

La logique de sortie ne peut pas causer d'aléa comme tel (tel que vu au chapitre 3), mais la sortiepourrait quand même subir des aléas lors des transitions d'états suivantes : 10/11->10/01->00/01 ,11/11->11/01->00/01 et 10/11->10/10->11/10->01/10. Lors de ces transitions, la sortie originalement à1 va brièvement passer à 0 pour redevenir 1 lorsque l'état stable final est atteint.

f) Identifiez s'il y a des aléas dans la logique de calcul des états futurs et si oui, comment peut-oncorriger ces aléas?

y1+ x1x0 = y0+ x1x0 = 00 01 11 10 00 01 11 10

00 0 0 1 0 00 1 0 0 0y1y0 01 0 0 1 0 y1y0 01 1 0 0 1

11 1 0 1 0 11 0 0 1 110 1 0 1 1 10 0 0 0 1

y1+ comporte un aléa de 1 : (y1y0x1x0) 1010 <-> 1000, pour régler l'aléa il faut ajouter le groupe y1y0'x0'y0+ comporte un aléa de 0 : (y1y0x1x0) 0101 <-> 1101, pour régler l'aléa il faut ajouter le groupe(x1+x0')

Page 7: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

g) Tableau d’états

État État futur Sortie (z)y1y0 x1x0 = x1x0 =

00 01 11 10 00 01 11 10A B A C A 0 1 1 0B B A C B 0 0 1 0D C A D B 0 0 1 0C C A C D 0 0 1 1

h) Tableau de séquence

État État futur Sortie (z)y1y0 x1x0 = x1x0 =

00 01 11 10 00 01 11 10A B A C A - 1 - 0B B A C B 0 - - 0D C A D B - - 1 -C C A C D 0 - 1 -

i) Diagramme de séquence

B

00

00/011/1

00

11

Notation: x1x0/z01

11

10

01

01

10

A

11/100/010/0

01/110/0

D

C

Page 8: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

Problème 3 – Simplification d'états

État État futur Sortie (z)Entrée xy = Entrée xy =

00 01 11 10 00 01 11 10

A A C - G 0 - - -B B B H F 1 1 - -C B C D - - 1 - -D - C D G - - 0 -E - C E - - - 1 -F I - E F - - - 1G A - E G - - - 1H - B H G - - 1 -I I C - G 0 - - -

a) Effectuez l'élimination d'états redondants et donnez la table simplifiée

B XC X XD X X XE X X X XF X X X X XG X X X X X (A,I)H X X X X (B,C) X XI √ X X X X X X X

A B C D E F G H

A est équivalent à I, on élimine l'état I et on remplace tous les I par des AF est équivalent à G, on élimine l'état G et on remplace tous les G par des F

Page 9: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

État État futur Sortie (z)Entrée xy = Entrée xy =

00 01 11 10 00 01 11 10

A A C - F 0 - - -B B B H F 1 1 - -C B C D - - 1 - -D - C D F - - 0 -E - C E - - - 1 -F A - E F - - - 1H - B H F - - 1 -

b) Effectuez la fusion des états et donnez la table fusionnée

W = AEFX = DCY = BH

État État futur Sortie (z)Entrée xy = Entrée xy =

00 01 11 10 00 01 11 10

W W X W W 0 - 1 1X Y X X W - 1 0 -Y Y Y Z W 1 1 1 -

A

B

D

EF

C

H

Page 10: Solution aux exercices circuits asynchrones · Solution aux exercices circuits asynchrones Problème 1 - Synthèse Effectuez la synthèse d'une machine à état asynchrone qui a deux

Problème 4 – Aléas essentiels

Déterminez si une machine à état produite à partir de cette table d'états pourrait être affectée par desaléas essentiels:

État État futurEntrée xy =

00 01 11 10

A A B - CB B B E EC D - E CD D D E CE A D E E

Oui, il existe deux cas où il pourrait se produire un aléa essentiel :

Lorsque l'état est B/00 et que l'entrée passe à 10, on se dirige vers l'état E. Si l'entrée revient à 00, on sedirige vers l'état A. Si l'entrée passe à nouveau à 10, on se dirige vers l'état C. Puisque C != E, il y a unpotentiel aléa essentiel.

Lorsque l'état est E/10 et que l'entrée passe à 00, on se dirige vers l'état A. Si l'entrée revient à 10, on sedirige vers l'état C. Si l'entrée passe à nouveau à 00, on se dirige vers l'état D. Puisque D != A, il y aun potentiel aléa essentiel.