IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2
Transcription
IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2
IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2 Dept GEII ENSL1 Année universitaire 2012-2013 - 15 janvier 2013 CORRECTION Les exercices 1, 2, 3 et 4 sont indépendants. Le sujet comporte 3 pages. Questions de cours ( /5 ) 1. Quelle fonction est réalisée par une bascule ? REPONSE Une bascule est un élément de mémorisation. Elle permet de sauvegarder une information binaire. 2. Donner le diagramme d’état d’une bascule D. Ce système est-il synchrone ou asynchrone ? Justifiez. REPONSE La bascule D possède une horloge et sa sortie n’évolue que lors d’un front actif de ce signal d’horloge. C’est donc un système synchrone. 3. Qu’est-ce qu’un registre à décalage ? Expliquer brièvement son principe (à l’aide d’un schéma si besoin). REPONSE Un registre est une association de n bascules utilisées conjointement pour mémoriser les n bits d’un mot binaire. Les n bascules ont une horloge commune. Un registre à décalage est une association de bascules permettant de décaler un mot binaire, à droite ou à gauche. 4. Quelle est la différence entre un système combinatoire et un système séquentiel ? (Donner la définition de ces deux types de systèmes). REPONSE Un système logique est dit combinatoire si à tout instant, le résultat logique en sortie ne dépend que de l’état de ses entrées. L’élément de base d’un système combinatoire est la porte logique. sorties = f (entrees) Un système est dit séquentiel si à une même combinaison des variables d’entrée peut correspondre plusieurs combinaisons différentes des variables de sortie. sorties = g(entrees, etat) 5. En VHDL, quels sont les deux blocs indispensables à la description d’un système ? A quoi servent-ils ? REPONSE Pour décrire un système en VHDL, il est nécessaire de définir deux blocs : – l’entité, permettant de décrire les entrées/sorties du système – l’architecture, permettant de décrire le fonctionnement du système (comportement, équations...) IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2 IUT Créteil - GEII - ENSL1 6. Quels sont les deux types possibles de machine à états ? Quelle est la différence entre ces deux machines ? Donner le schéma simplifié d’une machine à état (type au choix). REPONSE Les deux machines à état possible sont : – la machine de Moore : la sortie ne dépend que de l’état de la machine : elle ne change que lors d’un changement d’état. Les sorties sont synchrones avec les transitions d’état et les fronts d’horloge. – la machine de Mealy : la sortie est calculée en fonction de l’état présent et de la valeur présente des entrées : les sorties peuvent changer immédiatement après un changement des entrées, indépendamment de l’horloge. Ce système est asynchrone. Exercice 1 - VHDL ( /4 ) On donne la description VHDL suivante : 1 a r c h i t e c t u r e s i m p l e o f exo1 i s 2 begin 3 process ( clk ) 4 begin 5 i f ( c l k ’ e v e n t and c l k = ’ 0 ’ ) t h e n 6 i f ( c p t = " 1001 " ) t h e n 7 c p t <= " 0000 " ; 8 else 9 c p t <= c p t + 1 ; 10 end i f ; 11 end i f ; 12 end p r o c e s s ; 13 end s i m p l e ; 1. Le système décrit est-il séquentiel ? Justifier votre réponse. REPONSE Le système décrit possède un processus explicite dirigé par un signal d’horloge (CLK). A l’intérieur de ce processus, on détecte un front actif d’horloge (ligne 5). Ce système est donc séquentiel, et même synchrone. 2. A quoi sert la ligne 13 de ce code ? REPONSE Cette ligne sert à détecter un front descendant sur le signal CLK. –2– IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2 IUT Créteil - GEII - ENSL1 3. Ecrire l’entité de ce système. REPONSE 1 e n t i t y exo1 i s 2 Port ( 3 c l k : i n STD_LOGIC ; 4 c p t : b u f f e r STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) 5 ); 6 end exo1 ; 4. Quel est le role de ce système ? REPONSE Ce système est un compteur modulo 10 (ou compteur décimal). On souhaite rajouter une remise à zéro asynchrone, RAZ. 5. Modifier le code source pour pouvoir intégrer cette nouvelle fonction. REPONSE 1 e n t i t y exo1 i s 2 Port ( 3 c l k , r a z : i n STD_LOGIC ; 4 c p t : b u f f e r STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) 5 ); 6 end exo1 ; 7 8 a r c h i t e c t u r e s i m p l e o f exo1 i s 9 begin 10 process ( clk ) 11 begin 12 i f ( r a z = ’ 1 ’ ) t h e n c p t <= " 0000 " ; 13 e l s i f ( c l k ’ e v e n t and c l k = ’ 0 ’ ) t h e n 14 i f ( c p t = " 1001 " ) t h e n 15 c p t <= " 0000 " ; 16 else 17 c p t <= c p t + 1 ; 18 end i f ; 19 end i f ; 20 end p r o c e s s ; 21 end s i m p l e ; –3– IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2 IUT Créteil - GEII - ENSL1 Exercice 2 - Machine à état ( /6 ) 1. Quel est le nombre minimal de bascules à utiliser pour synthétiser ce système ? REPONSE On a 3 états à coder. 2 bascules permettent de sauvegarder 22 états. 2. Faire un schéma synoptique du système (entrées/sorties). REPONSE On synthétisera ce système à l’aide de 2 bascules D. L’état sera codé sur 2 bits : A = 00, B = 01 et C = 10. 3. Recopier le tableau suivant sur votre feuille de copie et compléter le. Entrées et Etat actuel e1 e0 Q−1 Q−0 0 0 0 0 0 0 0 1 ... ... ... ... Etat futur Q+1 Q+0 ? ? ? ? ? ? –4– Bascules D1 D0 ? ? ? ? ? ? IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2 IUT Créteil - GEII - ENSL1 REPONSE Entrées et Etat actuel e1 e0 Q−1 Q−0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 Etat futur Q+1 Q+0 0 0 0 1 1 0 X X 1 0 0 0 1 0 X X 0 1 0 1 0 0 X X 0 0 0 0 0 0 X X Bascules D1 D0 0 0 0 1 1 0 X X 1 0 0 0 1 0 X X 0 1 0 1 0 0 X X 0 0 0 0 0 0 X X 4. Donner les équations de D1 et D0 . REPONSE D1 = e1 · Q1 + e0 · Q1 · Q0 D0 = e0 · Q0 + e1 · Q1 · Q0 5. Donner la structure complète du système. –5– IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2 IUT Créteil - GEII - ENSL1 Exercice 3 - Système séquentiel à analyser ( /5 ) 1. Ce système est-il synchrone ? Sur quel type de machine est-il basé ? REPONSE Ce système est synchrone. Les entrées d’horloge de toutes les bascules sont reliées ensemble. Ce système est basé sur une machine de Moore. 2. Donner les équations de chacune des entrées D2 , D1 et D0 , en fonction de Q−2 , Q−1 et Q−0 . REPONSE D0 = Q 0 D1 = Q1 · Q0 + Q1 · Q0 D2 = Q2 · Q1 · Q0 + Q2 · Q1 · Q0 3. Recopier le tableau suivant sur votre feuille de copie et compléter le. Etat actuel Q−2 Q−1 Q−0 0 0 0 0 0 1 ... ... ... Bascules D2 D1 D0 ? ? ? ? ? ? ? ? ? Etat futur Q+1 Q+0 ? ? ? ? ? ? ? ? ? Q+2 REPONSE Etat actuel Q−2 Q−1 Q−0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Bascules D2 D1 D0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 –6– Etat futur Q+1 Q+0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 Q+2 IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2 IUT Créteil - GEII - ENSL1 4. Quel est le role de ce système ? REPONSE Ce système est un compteur 3 bits synchrone. –7– IUT Créteil-Vitry / U-PEC / GEII S1 / DS 2 IUT Créteil - GEII - ENSL1 Bonus - Système séquentiel simple ( /2 ) 1. Ce système est-il synchrone ? Justifier votre réponse. REPONSE Ce système est asynchrone. Les bascules sont mises en cascade. Toutes les sorties n’évoluent pas en même temps. 2. Faire le chronogramme de chacune des sorties en fonction du signal sur l’entrée. REPONSE 3. Quel est le role de ce système ? REPONSE Ce système est un décompteur asynchrone 3 bits. –8–