07/02/06 00:22 Yannick Herve, Wilfried Uhring, Jihad Zallat 1 Électronique Numérique Chapitre 4 Système séquentiel Analyse et synthèse, système asynchrone, synchronisé Cours d’électronique numérique dispensé à l’ENSPS. Auteurs : Yannick Hervé - MCF HDR Université Louis Pasteur Wilfried Uhring - MCF Université Louis Pasteur Jihad Zallat – MCF Université Louis Pasteur
207/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Aspect temporel dans les circuits logiques Dans les expressions booléennes déjà vues, nous avons supposé que la valeur de l’expression change instantanément à chaque changement des variables. Porte logique réelle : la sortie évolue continûment entre les niveaux H et L. Le changement de niveau prend un certain temps Le fonctionnement d’une porte réelle est continu. Le considérer comme booléen n’est qu’une approximation commode. En toute rigueur, les systèmes combinatoires n’existent pas!
307/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Glitch – Impulsion parasite déterministe Glitch Pour corriger ce problème, on rajoute un terme absorbant, aux conditions du glitch. Ce système ne peut pas être décrit par une expression combinatoire! Théorème du consensus Recouvrement anti-glitch dans le tableau de Karnaugh
407/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Modèle temporel – Hyp. de travail Nous utiliserons deux hypothèses: Le temps nécessaire à l’établissement de la valeur de sortie d’une porte logique est vu comme un simple retard La connaissance de l’évolution fine du niveau de signal logique n’est pas nécessaire Dans ces conditions, nous allons pouvoir remplacer les variables d’une expression booléenne par des fonctions du temps.
507/02/06Yannick HERVE (ENSPS) Logique combinatoire : la fonction à t ne dépend que du vecteur d’entrées à t Systèmes plus complexes : Un appui sur un bouton allume la lumière, un deuxième appui l’éteint Une impulsion démarre les essuie-glaces qui s’arrêtent en position de repos Même vecteur d’entrée = 2 états de sortie différents Non réalisable en combinatoire Du combinatoire au séquentiel
607/02/06Yannick HERVE (ENSPS) Il faut que le système dispose d’autres informations. Le système calcule lui-même son état courant. Exemple : le système calcule si c’est la première ou la deuxième fois qu’on appuie sur le bouton Sortie = fct combi. vecteur d’entrée de n+m variables n E fct. combi. m Combinatoire vs séquentiel (2)
707/02/06Yannick HERVE (ENSPS) Représentation symbolique : E fct. combi. m Sortie La sortie est une fonction séquentielle des entrées E. Les sorties «secondaires» sont appelées variables internes. n Combinatoire vs séquentiel (3)
807/02/06Yannick HERVE (ENSPS) La sortie dépend du vecteur d’entrée et de l’histoire du vecteur d’entrée (et de l’état initial). id. système possède une fonction mémoire Un vecteur d’entrée induit plusieurs vecteurs de sortie Le système calcule vecteur de variables internes VI telles que : f(E,VI) est combinatoire id. est un système bouclé Ces trois définitions sont équivalentes Logique séquentielle : définitions
907/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Exemple >=1 E S Équation du circuit: S = S + E Solutions >> états stables On remarque : 2 états stables : S = 0, S = 1 L’état S = 0 n’est pas définitif – l’entrée E permet de le quitter. L’état S = 1 est définitif – la valeur de E n’a plus aucune influence. Mémoire qui ne peut pas oublier
1007/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Modèle d’états Le comportement de certains circuits est une succession d'états stables. Le changement d'état ne se produit que lors du changement de valeur d'un signal. Ce changement est appelé événement. Le modèle utilisé pour décrire le comportement de ces circuits met en relation : l'état présent, des événements et les états suivants. Ce modèle est appelé modèle d'états. Un circuit dont le comportement peut être modélisé uniquement par des expressions booléennes ne faisant appel qu’au variable d’entrée est appelé circuit combinatoire. Un circuit dont le comportement doit être modélisé par un modèle d'états est appelé circuit séquentiel. On appelle « variables d’états » l'ensemble des variables nécessaires à la représentation du passé.
1107/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Graphe d’évolution des états Un nœud représente un état interne particulier. caractérisé par des variables internes (chaque nœud est numéroté) Une branche orientée reliant deux nœuds représente l’évolution du système vers un nouvel état interne qui ne dépend que de l’état interne initial et des valeurs des variables externes. iij
1207/02/06Yannick HERVE (ENSPS) E x S Hypothèse : la fonction combinatoire suivante E x S T Stable Instable1 1 1 Stable Vue utilisateur : E = 0, 1, 0 S = 0, 1, 1 Même entrée Sortie différente Logique séquentielle : fonctionnement
1307/02/06Yannick HERVE (ENSPS) E x S Hypothèse : la fonction combinatoire suivante E x S T Stable Instable Un système séquentiel peut être instable !! Système existant : analyse ? Cahier des charges : synthèse ? Logique séquentielle : instabilité
1407/02/06Yannick HERVE (ENSPS) Système séquentiel asynchrone : le système évolue librement dès le changment d’une entrée. Système séquentiel synchrone : Le système n’évolue qu’à des moments précis sous le contrôle d’un signal appelé HORLOGE (Clock). Niveau d’horloge Impulsion d’horloge Front d’horloge Master Slave (entrée=niv haut, sortie=front descendant) Logique séquentielle : synchronisation
1507/02/06Yannick HERVE (ENSPS) Classe intermédiaire : Logique séquentielle asynchrone synchronisée : Le système évolue librement mais les bouclages sont sous le contrôle d’un signal d’horloge. (combinatoire, sauf au «moment» de l’horloge) Remarque importante : Le système séquentiels sont plus sensibles aux parasites (ou aléas) sur les entrées que les sytèmes combinatoires (possibilité de modification définitive). Asynchrones : sensibles tout le temps Synchrones : sensibles «pendant» l’horloge Logique séquentielle : synchronisation (2)
1607/02/06Yannick HERVE (ENSPS) Méthode : Recherche des variables internes (boucles) Ouverture (fictive) des boucles Calcul des fonctions d’excitation Y = f(E,y) Mise des fonctions dans un tableau de karnaugh (table d’excitation: colonnes = entrées, lignes = VI) Calcul des fonctions de sortie Recherche des états stables (Y 0 = f(E x,y 0 )) Graphe de fluence : analyse complète et formelle du système Analyse des systèmes séquentiels asynchrones
1707/02/06Yannick HERVE (ENSPS) A B Q1Q1 Q2Q2 q2q2 Ouverture fictive AB q Q2Q2 A B Q1Q1 Q2Q2 Etat stable : Q 2 = q 2 Analyse : exemple complet (1)
1807/02/06Yannick HERVE (ENSPS) AB q Q2Q2 AB q Q2Q2 Ecriture symbolique AB q Q1Q1 Equation des sorties /10 01/10 10/01 11/00 00/01 Graphe de fluence AB/Q 1 Q 2 Analyse : exemple complet (2)
1907/02/06Yannick HERVE (ENSPS) Séquentiel : même vecteur entrée et sorties différentes Système mémoire RS (Reset/Set) /10 01/10 10/01 11/00 00/01 Analyse formelle : A mise à 1 de Q 2, B mise à 0 de Q 2 Si A,B = 0,0 on garde le dernier état On a Q 2 = not(Q 1 ) sauf si A,B = 1,1 alors Q 2 <> not(Q 1 ) AB/Q 1 Q 2 Analyse :exemple complet (3)
2007/02/06Yannick HERVE (ENSPS) Synthèse : Du cahier des charges à la réalisation Cahier des charges Graphe de fluence (formalisation) Matrice des phases 1 colonne par vecteur d’entrée 1 ligne par état stable et transitions possibles Matrice des phases réduites (étape spécifique de la méthode) Codage des lignes, détermination du nb de VI (courses) Matrice d’excitation et équations d’excitation (aléas) Matrice des sorties et équations des sorties (aléas) Schéma de réalisation Synthèse : méthode d’Huffman
2107/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Introduction au bistable Cahier des charges Lampe 2 boutons poussoirs: Arrêt (A), Marche (M) Relâche « A »: lampe reste éteinte 000 Appui sur « A »: lampe s’éteint 010 Relâche « M »: lampe reste allumée 100 Appui sur « M »: lampe s’allume 101 Aucun bouton enfoncé: lampe éteinte 000 LAM Système séquentiel! (synthèse: Huffman)
2207/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Introduction au bistable (1) Cahier des charges Graphe de fluence (formalisation) Matrice des phases 1 colonne par vecteur d’entrée 1 ligne par état stable et transitions possibles Matrice des phases réduites (étape spécifique de la méthode) Codage des lignes, détermination du nb de VI (courses) Matrice d’excitation et équations d’excitation (aléas) Matrice des sorties et équations des sorties (aléas) Schéma de réalisation Méthode d’Huffman (rappel)
2307/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Introduction au bistable (2) Graphe de fluence AM/L Matrice des phases L A priori 3 VI !
2407/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Introduction au bistable (3) Matrice des phases réduite L Gain de 2 VI ! x AM Eq. Combinatoire X=f(A,M,x)
2507/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Introduction au bistable (4) x AM L=X Matrice excitation = matrice de sortie Réalisation
2607/02/06 00:22Yannick Herve, Wilfried Uhring, Jihad Zallat Introduction au bistable (5)
2707/02/06Yannick HERVE (ENSPS) Synthèse d’un détecteur de sens On veut S=0 si «sens des aiguilles d’une montre» et S=1 sinon A B A B t A B 1 0 Codeur incrémental S = 0 S = 1 Synthèse : exemple complet (cdc)
2807/02/06Yannick HERVE (ENSPS) AB/S A B A B 1 11/0 2 01/0 3 00/0 4 10/0 5 00/1 6 01/1 7 11/1 8 10/1 Critêre de fin : n variables impliquent n flèches partant de chaque état. 1 t Synthèse : graphe
2907/02/06Yannick HERVE (ENSPS) 1 11/0 2 01/0 3 00/0 4 10/0 5 00/1 6 01/1 7 11/1 8 10/1 AB/S AB S Chaque ligne : 1 état stable Transitions possibles La valeur de la sortie Synthèse : matrice des phases
3007/02/06Yannick HERVE (ENSPS) AB S AB xyz xyz : variables internes par codage des lignes Idée : état du système = 1 case Transitions possibles dans la ligne entre lignes Synthèse : matrice des phases
3107/02/06Yannick HERVE (ENSPS) AB S Amélioration de la méthode par Huffmann (minimisation du nombre de VI car à l’époque problème de coût) Idée : regrouper les lignes compatibles état stables colonnes différentes/transitoires compatibles AB xy x,y : variables internes (gain d’une VI) Synthèse : matrice des phases réduite
3207/02/06Yannick HERVE (ENSPS) AB xy XY AB xy A fct. combi. S B X Yy x Chercher l’équation combinatoire liant X,Y à A,B,x,y Synthèse : matrice d’excitation
3307/02/06Yannick HERVE (ENSPS) AB xy AB S La sortie n’est utilisable que pendant les états stables (on évite les glitches) 0 x 0 0 x 1 1 x 0 1 x x 1 1 x AB xy S S = f(A,B,x,y) Synthèse : matrice des sorties
3407/02/06 S 4 vers 1 A B S 1 S 0 I0I1I2I3I0I1I2I3 x y & & & & >=1 X Y Synthèse : réalisation
3507/02/06Yannick HERVE (ENSPS) AB xy XY Course Course critique = dysfonctionnment impossible de changer deux variables : interception par un état stable non voulu Exemples : Synthèse : problème des courses critiques
3607/02/06Yannick HERVE (ENSPS) AB xy XY Aléa de propagation : on veut xy = 11 on a xy = 11, 01, 11 Dysfonctionnement 01 Exemples : Synthèse : problème des aléas
3707/02/06Yannick HERVE (ENSPS) Graphe N états Schéma à portes et bascules synthèse logique Graphes synchrones ou asynchrones Description : langage/graphique H vecteur 1vecteur 1’ vecteur 1vecteur 2 Les méthodes automatiques ne traitent que le synchrone !! N étatslog 2 (N) < log 2 (N) (huffmann) Nombre de VI N (one-hot) plus rapide synthèse plus simple 1 seul changement de variable changement quelconque Synthèse : méthodes industrielles