Vous êtes sur la page 1sur 14

ENSL1 Exercices VHDL

Exercice 1 (en TD) Prise en main du logiciel Quartus II, synthse en VHDL: Raliser le composant xor3 dcrit par le schma suivant (en gardant les noms de signaux) en VHDL et effectuer toute la chane de dveloppement.
XOR2_A

a b c

sig_int

XOR2_B

Composant xor3

Figure 1. Schma bloc du composant xor3

Structure du fichier Dclaration de la bibliothque

library IEEE; use IEEE.std_logic_1164.all; ENTITY xor3 PORT ( a : b : c : x : ); END xor3; IS IN STD_LOGIC; IN STD_LOGIC; IN STD_LOGIC; OUT STD_LOGIC

Dclaration de lentit (brochage)

ARCHITECTURE arch_flot OF xor3 IS SIGNAL sig_int : STD_LOGIC; BEGIN sig_int <= a XOR b ; x <= c XOR sig_int; END arch_flot;

Dclaration du signal interne Corps de larchitecture

Architecture (structure interne)

Travail faire (suivant le Guide dutilisation du logiciel Quartus II - GUQII) : 1. Crer un rpertoire dans votre rpertoire de travail sur le rseau, par exemple z:\ensl_td. Crer le rpertoire ex1 dans ce nouveau rpertoire. 2. Lancer le logiciel Quartus II (voir 3.1 du GUQII). 3. Vrifier que vous tes dans lenvironnement MaxPlus + II du logiciel Quartus II (voir 3.2 du GUQII). 4. Crer le projet xor3 pour la famille Cyclone II, avec la racine xor3.vhd (voir 3.3 du GUQII) dans le rpertoire ex1. 5. Crer un nouveau fichier texte ( 3.6.1, partie 2) et diter le texte figurant dans le bloc plus haut (module xor3). 6. Sauvegarder le fichier sous le nom xor3.vhd dans le rpertoire ex1 ( 3.6.3, partie 2). 7. Slectionner la famille Cyclone II de circuits logiques configurables utiliser (voir 3.8.1). 8. Appeler le compilateur et compiler le projet ( 3.8.2). 9. Crer le fichier avec les chronogrammes ( 3.10.1, partie 2). 10. Slectionner les signaux dentre (a, b, c) et de sortie (x) pour la simulation ( 3.10.2).

11. Modifier la longueur de la simulation (1 us) et la frquence de la grille (100 ns) ( 3.10.3). 12. Regrouper les signaux dentre (a, b, c) dans un groupe, par exemple aa ( 3.10.5), et initialiser le groupe par une valeur incrmente ( 3.10.8). 13. Sauvegarder le fichier de chronogrammes sous le nom xor3.vwf. 14. Appeler, puis lancer le simulateur ( 3.11.1). 15. Vrifier les rsultats de la simulation ( 3.11.2) noter les rsultats de la fonction logique pour diffrentes valeurs lentre et les retards de la sortie par rapport aux entres. Comparer les avec le tableau de vrit de la fonction ralise. Questions/problmes : 1. De combien de signaux dentres/sorties et de signaux internes dispose le module sur la Figure 1 ? 2. Dessinez le symbole du module dvelopp.

Exercice 2 - Ralisation dun demi-additionneur dun bit : Il sagit de crer en VHDL une entit reprsentant un additionneur de deux donnes dun bit pour satisfaire le tableau de vrit suivant :
Entres a 0 0 1 1 b 0 1 0 1 s 0 1 1 0 Sorties rs 0 0 0 1

A noter : Il sagit dun demi-additionneur, parce quil nadditionne pas la retenue du bit prcdent. Questions/problmes : 1. Compltez les chronogrammes de sorties s (somme) et rs (retenue sortante) dans la Figure 2 et confrontez les avec le tableau de vrit du demi-additionneur. 2. En utilisant le rsultat de la simulation (temporelle), mesurez le retard du signal s la sortie par rapport aux entres.

100 ns a

200 ns

300 ns

400 ns

rs

Figure 2. Chronogrammes dentres et de sorties ( complter) du composant demi_add

Exercice 3 - Ralisation dun demi-additionneur dun bit en utilisant deux composants une porte logique XOR deux entres et une porte logique AND deux entres : Il sagit de crer une entit reprsentant un additionneur de deux donnes dun bit dfini dans lexercice 2. Cet additionneur doit tre dcrit en VHDL en utilisant deux composants (dcrits dans deux autres fichiers VHDL). Questions/problmes : 1. Quel est la diffrence de comportement entre le module de lExercice 2 et 3 ?

Exercice 4 - Ralisation dun additionneur complet fa (FA = Full Adder) sur un bit : Il sagit de crer en VHDL une entit reprsentant un additionneur complet sur un bit pour satisfaire le tableau de vrit suivant :
re 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 s 0 1 1 0 1 0 0 1 rs 0 0 0 1 0 1 1 1

A noter : Il sagit dun additionneur complet, parce quil additionne deux donnes dentre a et b (chacune dune largeur dun bit) plus la retenue du bit prcdent (re). Il faut deux demiadditionneurs pour raliser un additionneur complet. Questions/problmes : 1. Simuler le projet pour les chronogrammes dentres prsents dans la Figure 3 et compltez dans cette figure les signaux de sorties obtenus dans la simulation. 2. Proposez le schma dun additionneur complet bas sur les demi-additionneurs.

0 ns

100 ns

200 ns

300 ns

400 ns

500 ns

600 ns

700 ns

800 ns

a b re s rs

Figure 3. Chronogrammes dentres et de sorties ( complter) du composant fa

Exercice 5 (en TD) - Ralisation dun additionneur sur 4 bits : Il sagit de crer en VHDL une entit reprsentant un additionneur complet sur 4 bits donn par le schma de la Figure 4 :
ret_e a(0) b(0)

i0 : fa
re a b rs s ret_i(1) s(0)

i1 : fa
re a(1) b(1) a b rs s ret_i (2) s(1)

i2 : fa
re a(2) b(2) a b rs s ret_i(3) s(2)

i3 : fa
re a(3) b(3) a b rs s ret_s s(3)

Composant add4

Figure 4. Schma du module (composant) add4

Questions/problmes : 1. Dessinez le symbole du module add4. 2. Combien de niveaux hirarchiques et combien de types dentits (types de modules) contient le projet ? 3. Quel est le nombre dlments logiques (Logic Elements LE) utilis dans le projet (suivant le rapport de compilation) ? 4. Simulez le projet pour les chronogrammes dentres suivant la Figure 5, compltez les rsultats de la simulation dans cette mme figure.
0 ns 200 ns 400 ns 600 ns 800 ns 1000 ns 1200 ns 1400 ns 1600 ns

ret_e a b ret_s s
0 1 E F 7 1 8 F

Figure 5. Chronogrammes dentres et de sorties ( complter) du composant add4

Exercice 6 - Ralisation dun additionneur sur 16 bits, base sur les additionneurs gnriques sur 4 bits, en utilisant la structure FOR GENERATE : Il sagit de crer une entit reprsentant un additionneur sur 16 bits donn par le schma sur la Figure 6 et donc bas sur lutilisation de quatre composants add4.
ret_e a(3..0) b(3..0)

i0 : add4
ret_e ret_s a(3..0) s(3..0) b(3..0) ret_i(1) s(3..0)

i1 : add4
a(7..4) b(7..4) ret_e ret_s a(3..0) s(3..0) b(3..0) ret_i(2) s(7..4)

i2 : add4
a(11..8) b(11..8) ret_e ret_s a(3..0) s(3..0) b(3..0) ret_i(3) s(11..8)

i3 : add4
a(15..12) b(15..12) ret_e ret_s a(3..0) s(3..0) b(3..0) s(15..12)

ret_s

Composant add16

Figure 6. Schma du composant add16

La diffrence par rapport lExercice 5 (o vous avez d instancier quatre fois le mme composant) est que vous devez maintenant utiliser la structure FOR GENERATE pour effectuer une instanciation multiple du mme composant. Questions/problmes : 1. Dessinez le symbole du module add16. 2. Combien de niveaux hirarchiques et combien de types dentits (types de modules) contient le projet ? 3. Quel est le nombre dlments logiques (Logic Elements LE) utilis dans le projet (suivant le rapport de compilation) ? 4. Simulez le projet pour les chronogrammes dentres suivant la Figure 7, compltez les rsultats de la simulation dans cette mme figure.

0 ns

200 ns

400 ns

600 ns

800 ns

1000 ns

1200 ns

1400 ns

1600 ns

ret_e a b ret_s s
0 1 FFFE FFFF 7FFF 1 8000 FFFF

8000

FFFF

8000

FFFF

Figure 7. Chronogrammes dentres et de sorties ( complter) du composant add16

Exercice 7 (en TD) Ralisation dun multiplexeur deux entres de 8 bits Il sagit de crer lentit mux2x8 reprsentant un multiplexeur avec deux entres de donnes 8 bits (a et b) et une entre dun bit permettant de slectionner le canal a ou b (sel). Si sel = 0, cest la donne du canal a qui est prsente la sortie, sinon, cest la donne du canal b.
8

a
8

MUX

d_out

b
1

sel

Figure 7. Symbole du module

Questions/problmes : 1. Faites un tableau prcisant le nombre de bits m du signal sel pour un nombre de canaux n allant de 2 32. 2. Quel est le nombre minimum de bits m du signal sel en gnral pour slectionner un sur n canaux (donnez la formule m = f(n)) ?

Exercice 8 (en TD) Ralisation dun codeur code un sur sept vers code binaire avec priorit : Il sagit de crer lentit pri_enc (Priority Encoder) reprsentant un codeur de sept bits dentres sur un code de trois bits. Le codeur est destin coder les demandes dinterruption arrivant de sept sources diffrentes vers un processeur : La demande req(1) tant la plus prioritaire et la demande req(7) la moins prioritaire. On ne peut pas exclure larrive simultane de deux demandes. On aura dans ce cas le numro de la demande plus prioritaire la sortie du codeur. Les demandes sont actives un. Sil ny a pas de demande dinterruption, le codeur donne 0 la sortie. Le symbole du composant est prsent sur la figure suivante :
req(1) req(2) req(3) req(4) req(5) req(6) req(7) 3 int

pri_enc

Figure 8. Symbole du module

Questions/problmes : 1. Combien de combinaisons lentre doit-on tester pour valider le comportement du module ?

Exercice 9 (en TD) Ralisation dun dcodeur code binaire sur 4 bits -> code afficheur sept segments Il sagit de crer une entit en VHDL permettant de dcoder une valeur binaire sur 4 bits un code de sept bits pour afficher la valeur numrique prsente lentre du module sur un afficheur sept segments. On suppose tout dabord dutiliser un afficheur anode commune. Un segment est donc allum avec le niveau logique zro la sortie du dcodeur. Les segments de lafficheur sont cods de la manire suivante :
a f e d b c

Reprsentation de 16 chiffres hexadcimaux :

Questions/problmes : 1. Comment peut-on changer facilement la polarit de sorties (pour utiliser un afficheur cathode commune) ? 2. Proposez une solution permettant dteindre toutes les diodes avec une entre ena (si ena = 0, les segments sont teints).

Exercice 10 Ralisation dun additionneur/soustracteur 8 bits pour les nombres arithmtiques et logiques avec les drapeaux N, Z, C et V : Il sagit de crer une entit reprsentant un additionneur/soustracteur avec deux entres de donnes 8 bits (a et b) et une entre dun bit permettant de slectionner le type dopration effectuer (op). Le module donne le rsultat r sur 8 bits et les drapeaux N, Z, C, et V. Conseils : Utiliser les additionneurs complets de lExercice 4, puis raliser la soustraction a b comme addition de loprande a avec le complment deux de loprande b.
8 8

r n add_sub z c v

a b

op

Figure 9. Symbole du module

Tableau de fonctionnement :
op 0 1 Fonction Addition soustraction

Exercice 11 (en TD) Ralisation dun multiplexeur quatre entres de 8 bits avec autorisation de sortie (sortie trois tats) Il sagit de raliser un multiplexeur quatre entres de 8 bits en utilisant les modules de lexercice numro 7. La sortie de ce multiplexeur sera autorise par un signal oe (Output Enable). Si ce signal est gal un, la sortie du multiplexeur est autorise (basse impdance), sinon, elle est en haute impdance (Z).
a b c d sel oe
8 8 8 8 2 1 8

MUX

d_out

Figure 11. Schma bloc du dispositif

Exercice 12 (en TD) Ralisation dun registre asynchrone de 8 bits (compos de 8 bascules asynchrones - latches) Raliser en langage VHDL un registre asynchrone de 8 bits (compos de 8 bascules asynchrones, appeles les D-Latches ou tout simplement les Latches). Le registre doit avoir le comportement suivant : pendant que le signal ena lentre de ce registre est actif (gal 1), le registre est transparent, donc on obtient la sortie q le signal prsent lentre d (retard). Quand le signal ena est gal 0, le registre mmorise la dernire valeur prsente lentre avant que le signal ena soit descendu 0. La figure suivante prsente le symbole de ce registre asynchrone et les chronogrammes, qui illustrent son fonctionnement.
d d ena ena q q

d ena q U

0 ouverture

3 mmorisation

4 ouverture

Figure 12. Symbole du module et chronogrammes

Exercice 13 Ralisation dun dcodeur dadresse de 8 bits command par un signal ale Raliser le dcodeur dadresse de 8 bits (voir la figure suivante) permettant de valider le signal hit la sortie (le mettre 1) si pendant lintervalle o le signal ale (Address Latch Enable) tait actif, la valeur prsente sur le bus partag par les adresses et les donnes a_d lentre du dcodeur (qui correspond ce moment une adresse) tait suprieurs 63(10) (0011 1111(2)). Le signal hit doit rester valide jusqu la prochaine activation du signal ale.

decod_adr a_d(7..0) ale hit

adresse a_d ale hit 64

donnes 07 00

adresse 60

donne B9

adr. 6A

donne 4C

adr. 40 11

Figure 13. Symbole du module et chronogrammes

Exercice 14 (en TD) Ralisation dune bascule D synchrone avec RAZ asynchrone Raliser en langage VHDL une bascule D synchrone, sensible sur le front montant du signal dhorloge clk, avec remise zro asynchrone raz (active zro). Questions/problmes : 1. Expliquez, quel est le signal prioritaire : clk ou raz. Quelle est la structure VHDL employer ?

Exercice 15 (en TD) Ralisation dune bascule T (synchrone) en VHDL Raliser en langage VHDL une bascule T (toggle) synchrone, sensible sur le front montant du signal dhorloge clk. Questions/problmes : 1. Quelle est lutilisation pratique de la bascule T ? 2. Proposez le montage pour raliser la bascule T en utilisant la bascule D.

Exercice 16 (en TD) Ralisation dune bascule JK (synchrone) en VHDL Raliser en langage VHDL une bascule JK synchrone, sensible sur le front descendant du signal dhorloge clk. Attention, aucune entre (J ou K) ne doit tre prioritaire. Questions/problmes : 1. Quelle est lutilisation pratique de la bascule JK ? 2. Proposez le montage pour raliser la bascule T en utilisant la bascule JK.

Exercice 17 (en TD) Ralisation dun circuit anti-rebonds Les commutateurs et les interrupteurs mcaniques gnrent juste avant et aprs la commutation des petites perturbations dues aux rebonds mcaniques de linterrupteur. Ces perturbations ont une frquence denviron un kilohertz. Si un tel signal est utilis comme un signal dhorloge, il faut supprimer ces rebonds. Le principe consiste chantillonner le signal la sortie de linterrupteur par une bascule D une frquence infrieure un kilohertz (par

exemple 100 Hz) et comparer les deux valeurs : la valeur originale et la valeur chantillonne (et donc retarde). Si les deux valeurs sont gales un, il faut enregistrer dans la deuxime bascule la sortie du circuit la valeur logique un, si elles sont gales zro, il faut enregistrer zro et si les valeurs sont diffrentes, il faut garder la valeur prcdente du registre (pour viter de copier des rebonds la sortie du dispositif). Nous disposons dun signal bouton (avec des rebonds) et le signal dhorloge clk100 de 100 Hz pour gnrer le signal bouton_sans_rebonds. Questions/problmes : 1. Quel sera le retard du signal gnr (bouton_sans_rebonds) par rapport au signal original prsent la sortie de linterrupteur (bouton) ?

Exercice 18 (en TD) Ralisation dun registre synchrone de 8 bits avec la remise zro Raliser en langage VHDL un registre synchrone de 8 bits, sensible sur le front montant du signal dhorloge clk. Lcriture dans le registre est autorise si le signal ena est gal un. Le signal raz doit tre actif un.
d ena clk raz 8 d ena q clk raz q

Figure 14. Symbole du module

Questions/problmes : 1. Quelle est lutilisation pratique des registres ?

Exercice 19 Ralisation dune mmoire un jeu de 4 registres synchrones de 8 bits Raliser en langage VHDL une mmoire compose de 4 registres synchrones de 8 bits, sensible sur le front montant du signal dhorloge clk. Ecriture dans la mmoire est autorise avec le niveau zro du signal n_wr.
din n_wr addr clk 8 2 din n_wr addr clk dout

dout

Figure 15. Symbole du module

Questions/problmes : 1. Quelle est lutilisation pratique de la mmoire ?

10

Exercice 20 (en TD) Ralisation dun diviseur de frquence par deux Il sagit de crer une entit permettant de diviser la frquence dhorloge clk par deux. Le schma de cette unit base sur une bascule D est prsent sur la Figure 16.

clk_div2

clk

Clk Q

Figure 16. Schma raliser

Exercice 21 Ralisation dun compteur asynchrone bas sur les bascules D Raliser le compteur asynchrone de 4 bits bas sur les bascules D. Le compteur est prsent sur la Figure 17.

D clk

Clk Q cnt(0)

Clk Q cnt(1)

Clk Q cnt(2)

Clk Q cnt(3)

Figure 17. Schma raliser

Questions/problmes : 1. Notez bien le temps de basculement de diffrentes bascules. Quelle est la consquence de ce comportement ?

Exercice 22 (en TD) Ralisation dun diviseur de frquence par dix Il sagit de crer une entit permettant de diviser la frquence dhorloge clk par dix. Le diviseur doit tre bas sur un compteur synchrone : chaque fois que le compteur passera cinq, il sera remis zro et il fera basculer la bascule D commande par ce compteur. La sortie de cette bascule clk_div10 sera utilise comme la sortie du module. Questions/problmes : 1. Quel est le rapport cyclique du signal dhorloge gnr ?

Exercice 23 (en TD) Ralisation dun compteur bi-directionnel synchrone et prchargeable sur 8 bits Raliser le compteur synchrone de 8 bits qui peut tre prcharg (initialis) par une valeur qui se trouve lentre init du compteur au moment o lentre load est gale 1. Lentre dir permet de changer la direction du comptage (dir = 1 pour lincrmentation et dir = 0 pour la dcrmentation). Le comptage est autoris par le signal ena (si ena = 1, le compteur compte, sinon il sarrte et garde la valeur actuelle sa sortie). Les entres load, dir et ena sont testes seulement pendant le front montant du signal dhorloge clk (entres synchrones).

11

De plus, le compteur peut tre remis zro dune manire asynchrone par un signal rst actif zro. Le symbole du compteur est prsent sur la Figure 18.
init(7..0) load ena dir clk cnt(7..0)

rst

Figure 18. Symbole du module

Questions/problmes : 1. Avant proposer le code VHDL, dfinissez la priorit de tous les signaux de contrle (load, ena, dir, clk et rst).

Exercice 24 (en TD) Ralisation dun squenceur pour animer 4 diodes LED Il sagit de crer une entit permettant danimer quatre diodes LED D1 D4. A chaque instant donn, au plus une diode peut tre allume et elle restera allume pendant une priode dhorloge. Puis cest la diode suivante qui doit sallumer. Il y a deux modes de fonctionnement (deux suites possibles) slectionns par lintermdiaire du signal dentre sel : a) sens horaire (si sel = 0), b) contre sens (si sel = 1).
D1 D4 D3 D2

Figure 19. Disposition de quatre diodes faire animer

Exemple de la suite en mode a) : D1 D2 D3 D4 D1 D2 Exemple de la suite en mode b) : D1 D4 D3 D2 D1 D4 Le module a une entre dhorloge (clk), une entre de slection du mode (sel) et un signal de remise zro asynchrone actif zro (reset). Aprs la remise zro lafficheur se trouve dans un tat initial (aucune diode allume), puis une des deux suites commence suivant la valeur dentre sel, en partant de la diode D1. Si on changeait la direction pendant le fonctionnement de lafficheur, le contrleur doit passer directement de la suite a) la suite b) (sans passer par ltat initial comme ctait le cas aprs la remise zro du contrleur). Le module a quatre sorties connectes avec les cathodes des diodes (les diodes sallument donc avec le niveau logique zro). Questions/problmes : 1. Quel est le type de machine dtat que vous avez employ ?

12

Exercice 25 (en TD) Commande dun ascenseur dans un immeuble deux tages (plus RDC) Il sagit de crer lentit commande permettant de commander (dune manire simplifie) le moteur dun ascenseur avec trois boutons dappel call actif ltat bas (un bouton par tage). Lentit commande doit pouvoir mettre en marche le moteur dascenseur (par la sortie cmnd_go) et changer sa direction (par la sortie cmnd_dir). Par exemple, call(0) = 0 signifie un appel au RDC, call(1) = 0 un appel au premier tage. Lappel dun tage plus haut est prioritaire (au cas o il a deux appels simultans). On peut remettre zro la commande de lascenseur avec un bouton reset qui est prsent dans larmoire de commande (inaccessible aux utilisateurs normaux). Deux diodes LED led_up (pour la monte) et led_down (pour la descente) chaque tage permettent de visualiser, si lascenseur est en train de monter (led_up = 0), de descendre (led_down = 0) ou sil est arrt (led_up = led_down = 1) ou bloqu dans ltat arrt de secours (led_up = led_down = 0). Les diodes led_up pour chaque tage sont connectes en parallle. De mme pour les diodes led_down (le module a donc seulement une sortie led_up et une sortie led_down). Le signal cmnd_go = 1 met lascenseur en marche (et allume une des diodes led_up ou led_down). Le signal cmnd_dir dfinie la direction du mouvement (cmnd_dir = 1 pour la monte, cmnd_dir = 0 pour la descente).
commande call(2..0) led_up led_down cmnd_go cmnd_dir

clk reset

Figure 20. Symbole du contrleur dascenseur

Questions/problmes : 1. Quest quil faut ajouter pour scuriser le fonctionnement du systme ?

Exercice 26 Gestion dinitialisation dune mmoire asynchrone Il sagit de crer lentit init_mem permettant dinitialiser une mmoire de 256 octets par des valeurs croissantes (0 255). Lentit init_mem doit gnrer les adresses addr (8 bits), les donnes data envoyes sur un bus de donnes bidirectionnel (8 bits), le signal de slection mmoire nCS (actif zro) et le signal dcriture dans la mmoire (nWR). Suite au dclenchement de la procdure par un signal dentre start (actif zro), le contrleur doit utiliser un signal dhorloge clk pour gnrer 256-fois 6 phases diffrentes du protocole : 1. attente 2. prparation dadresse, 3. prparation de donnes, 4. transmission de donnes, 5. fin transmission de donnes, 6. fin daccs mmoire. Signification de ces diffrentes phases est illustre sur la Figure 21.

13

addr data nCS nWR


1. 2. 3.
Z

addri datai Z

addri+1 datai+1 Z

addri+2 datai+2

4.

5.

6.

1.

2.

3.

4.

5.

6.

1.

Figure 21. Protocole gestion dinitialisation de la mmoire

A noter : Les sorties data doivent tre en haute impdance pendant les phase 1., 2, 3 et 6. Lcriture de donnes seffectue la fin de la phase 4. Le compteur dadresses est incrment au dbut de la phase 2. Les donnes peuvent avoir la mme valeur (incrmente) que ladresse (datai = addri).

Questions/problmes : 1. Dessinez le schma bloc de lapplication (compteur donnes/adresse + machine dtats). 2. Dessinez le diagramme tats/transitions pour la machine dtats qui sappellera sm_ctrl. 3. Pourquoi la phase 3. doit sachever AVANT que lon mette les sorties data en haute impdance ?

Exercice 27 (en TD) Gestion dun compteur anim Il sagit de crer lentit anim_cnt permettant de grer un compteur bi-directionnel de quatre bits. Le compteur doit se trouver dans un des quatre tats successifs : 1. comptage (incrmentation) de 0 9, 2. dcomptage (dcrmentation) de 9 5, 3. incrmentation de 5 7, 4. dcrmentation de 7 0. Ltat 4 sera ensuite suivi par ltat 1 etc. Le module anim_cnt aura deux entres (clk et reset) et quatre sorties (cnt(0) cnt(3)) les sorties du compteur. Questions : 1. Dessinez le schma bloc de lapplication (compteur + machine dtats). 2. Dessinez le diagramme tats/transitions pour la machine dtats qui sappellera sm_ctrl. 3. Quest quil faut faire pour raliser le compteur et la machine dtat dans deux entits diffrentes ?

14