ELP 304
Électronique numérique
Année scolaire 2008-2009 Majeure ELP
PC 11-12 Corrigé
Partie 1
La commande SYN est activée (passe à 1) si la séquence suivante est respectée :
A B SYN
Ensuite, SYN repasse à 0 dès que A ou B passe à 1.
Graphe d’états possible (Étiquetage des transitions : A B / SYN ) :
Etat 0 Etat 1
Etat 2
Etat 3
Etat 4
00 / 0
1X / 0 00 / 0 01 / 0
00 / 0 01 / 0
11 / 0
11 / 0
00 / 0
10 / 0
10 / 0
01 / 0
01 / 0 00 / 1
1X / 0
X110 / 0
X110 / 0
00 / 1 Etat 5
Autre formalisme possible (Étiquetage des transitions : A B) :
Etat 1
Etat 2
Etat 3 Etat 5
SYN = A.B 00
1X 00 01
00 01
11 00
10
10
01 00
1X
1X01
1X01
00 SYN = 0 SYN = 0
SYN = 0
Etat 0
Etat 0 : État initial – Attente du passage à 00 des entrées afin de pouvoir démarrer la détection d’une séquence de synchronisation – SYN=0.
Etat 1 : Première étape de la séquence de synchronisation. A et B sont passées à 0, on attend que B passe à 1. Si A passe à 1, la séquence est erronée, on retourne dans l’état 0 pour pouvoir démarrer la détection d’une nouvelle séquence – SYN=0.
Etat 2 : Deuxième étape de la séquence de synchronisation. B est passée à 1, A restant à 0.
On attend que A passe à 1 pour poursuivre la détection. Si A passe à 1 et B passe à 0, la séquence est erronée, on retourne dans l’état 0. Si B passe à 0, A restant à 0, la séquence est également erronée, mais on peut démarrer directement une détection à partir de l’état 1 – SYN=0.
Etat 3 : Troisième étape de la séquence de synchronisation. A est passée à 1, B restant à 1.
On attend que A passe à 0 pour poursuivre la détection. Si B passe à 0, A restant à 1, la séquence est erronée, on retourne dans l’état 0. Si A et B passent à 0, on peut revenir directement dans l’état 1 – SYN=0.
Etat 4 : Quatrième étape de la séquence de synchronisation. A est passée à 0, B restant à 1.
On attend que B passe à 0 pour terminer la détection. Si A passe à 1, la séquence est erronée, on retourne dans l’état 0 – SYN passe à 1 dès que B passe à 0.
Etat 5 : Cinquième et dernière étape de la séquence de synchronisation. B est passée à 0, A restant à 0. Dès que A ou B repasse à 1 on revient dans l’état 0 pour démarrer une nouvelle détection – SYN reste à 1 tant que A = B = 0.
N.B : on peut éventuellement choisir l’état 1 comme état initial, état de démarrage de la détection.
Partie 2 : une ébauche de corrigé
Synthèse logique (une solution parmi d’autres …) :
− Codage des états : Il faut au moins 3 variables logiques Q2Q1Q0 pour coder les 7 états. On a le choix du codage, sauf pour l’état initial qui doit être nécessairement codé 000 car les bascules ont une entrée d’initialisation qui les force à 0.
État EE → 100
État ED → 000 État EA → 010 État EC → 001 État EF → 110 État EB → 011 État EG → 111
− Table de transition de l’automate
0 1 2Q Q
Q E Q2+Q1+Q0+ S
EE 100 0 100 0
EE 100 1 000 1
ED 000 0 001 1
ED 000 1 000 1
EC 001 0 011 1
EC 001 1 110 1
EB 011 0 100 0
EB 011 1 010 1
EA 010 0 001 1
EA 010 1 100 0
EF 110 0 001 1
EF 110 1 111 1
EG 111 0 100 0
EG 111 1 000 1
La combinaison 101 de Q2Q1Q0 n’est pas utilisée pour la réalisation de l’automate, on pourra donc en tirer parti pour la simplification des sorties et des variables de l’état futur.
− Obtention des équations simplifiées des sorties et de l’état futur : appliquer la méthode de Karnaugh.
− Schéma logique : penser à connecter les entrées d’horloge CK de chaque bascule à l’horloge du circuit et penser à connecter les entrées de remise à zéro prioritaires asynchrones NR des bascules à l’entrée d’initialisation du circuit.
− Chemin critique et fréquence maximale de fonctionnement :
On repère les chemins de propagation internes (de bascule à bascule) les plus longs en prenant en compte la sortance (ou fan-out) des sorties de chaque bascule (Q0, Q1, Q2, Q0 , Q1 et Q2) et le nombre de portes logiques traversées ainsi que leurs temps de propagation.
Si le chemin le plus long n’apparaît pas de manière évidente, on calcule les temps de propagation le long de l’ensemble des chemins possibles.
Exemple de calcul du temps de propagation maximal le long du chemin rouge sur le schéma ci-après (il ne s’agit pas de l’automate de la PC11-12) :
, 3 3
) (
max( 6 1 1
max = pHL → fo= + pLH fo= + pHL fo=
p t CK NQ t NAND t NAND
t
entrée état
présent
état
futur Sortie
ps 177
ps ) 30 28 90 , 28 30 119
max max(
=
+ + +
+
p = t
Rappel : une porte inverseuse (INV, NAND, NOR ne peut pas avoir des transitions dans le même sens sur son entrée et sa sortie, cf. PC4-5)
Calcul de fmax :
GHz 4 , ps 4 25 2
1 1 1
max max = ≈
= +
BASCD t
f t
setup p
E
Q
SETQ
CLR
D
Bascule 0
Q
SET Q
CLR
D
Bascule 1
Q
SET Q
CLR
D
Bascule 2
S1
S0
H
Q0
Q1
Q2
INIT
Cet automate n’est pas celui de la PC11-12