Vous êtes sur la page 1sur 19

SIMULATION

NUMERIQUE
AUTOUR DE PLDS
SOUS PROTEUS
SAISIE DE MACHINES A ETATS, GENERATION DE FICHIERS JEDEC, SIMULATION
SOUS WARP PUIS MIGRATION VERS PROTEUS VSM

1 INTRODUCTION
Cette première journée de formation va vous permettre de vous familiariser avec l'outil de
conception graphique "Active HDL FSM" intégré à l'environnement de développement pour
composants logiques programmables, WARP de Cypress. A travers différents exercices, vous
allez apprendre à générer des fichiers de description en langage VHDL à partir de machines à
états dessinées sous "Active HDL FSM".
Puis, après simulation sous WARP, vous génèrerez des fichiers "JEDEC" et les rendrez
compatibles avec PROTEUS.
Enfin, après saisie des différents schémas sous PROTEUS, vous procéderez à la
validation du bon fonctionnement de vos machines à états par simulation autour d'un
composant logique programmable de type 22V10.

2 LES MACHINES SYNCHRONES A NOMBRE FINIS D’ETATS


(D'après un travail réalisé par Patrick Cohen à l'IUFM de Toulouse en 1999)

Une machine à états (M.A.E.) en anglais Finite State Machine (F.S.M.) est un système
dynamique, qui peut se trouver, à chaque instant, dans une position parmi un nombre fini de
positions possibles. Elle parcourt des cycles, en changeant éventuellement d’état lors des
transitions actives de l’horloge. L’architecture générale d’une machine à état est présentée ci-
dessous.

Horloge

Fonction Fonction
p n
Combinatoire Combinatoire
Entrées
n Registre q
Calcul d’état Calcul
de l’état des sorties Sorties
futur Etat futur

Etat actuel
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

2.1 HORLOGE, REGISTRE D’ETAT ET TRANSITIONS

Le registre d’état, piloté par son horloge, constitue le cœur d’une machine à états. Les
autres blocs fonctionnels sont à son service.

2.1.1 LE REGISTRE D’ETAT

Il est constitué de n bascules synchrones. Son contenu représente l’état actuel de la


machine. Il s’agit d’un nombre codé en binaire sur n bits. L’entrée du registre d’état constitue
l’état futur, celui qui sera chargé lors de la prochaine transition active de l’horloge. Le registre
d’état est la mémoire de la machine.
La taille du registre d’état fixe le nombre d’états accessibles. Si n est le nombre de
bascules, le nombre d’états N = 2n.

2.1.2 L’HORLOGE

Le rôle de l’horloge est de fixer les instants où les transitions entre états sont prises en
compte. Entre deux fronts consécutifs de l’horloge, la machine est figée en position mémoire.

2.2 LES DIFFERENTES ARCHITECTURES

Suivant la façon dont les sorties dépendent des états et des commandes, on distingue
deux types de machines à états : les machines de Moore et les machines de Mealy. Dans les
premières les sorties ne dépendent que de l’état actuel (la liaison en trait interrompue est
absente), pour les secondes les sorties dépendent de l’état actuel et des entrées (la liaison en
trait interrompu est présente).

2.3 OUTILS DE DESCRIPTION

Si l’outil d’analyse et de synthèse des fonctions combinatoires est la table de vérité, le


diagramme de transition constitue l’outil privilégié pour l’analyse et la synthèse des fonctions
séquentielles.

2.3.1 LE DIAGRAMME DE TRANSITION

• On associe "une bulle" à chaque valeur possible du registre d’état.


• L’évolution du système est représentée par des flèches représentant les transitions.
• Pour qu’une transition soit activée il faut que les trois conditions suivantes soient vérifiées :

1. Le système se trouve dans l’état "source" considéré


2. La condition de réalisation sur les entrées est vraie
3. Un front actif de l’horloge survient

Page 2/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

Pour les machines de Moore les sorties évoluent après l’activation de la transition. Les
valeurs des sorties seront représentées dans les cases du diagramme.
Pour les machines de Mealy les sorties évoluent après l’évolution des entrées. Les
valeurs des sorties seront représentées sur les flèches du diagramme.

E=0
E=0 S0=1
Etat 0 S1=1

S0=1
S1=0 Etat 0
E=1
Etat 1

S0=1
E=1 Etat 1
E=1 S1=1 E=1
S0=1
S0=1
S1=0
S1=0
Etat 2
E=0
S0=0
S1=0 Etat 2
E=0
E=0 S0=0
Machine S1=0
de Moore
Machine E=0
de Mealy S0=0
S1=0

2.3.2 DU DIAGRAMME AUX EQUATIONS

Le passage du diagramme de transition aux équations est indispensable pour synthétiser


la machine à états avec des circuits standards. L’outil permettant le passage exhaustif du
diagramme aux équations est la table de transitions et d’états.
C’est une table de vérité constituée :

• en entrée : de l’état actuel du registre d’état


des entrées de la machine à états

• en sortie : de l’état futur du registre d’état


des sorties de la machine à états

Les équations des sorties du registre d’état sont ensuite adaptées au type de bascules
utilisées.
Comme pour les fonctions combinatoires la complexité du problème croit de façon
exponentielle avec le nombre d’états et le nombre d’entrées.

Page 3/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

2.3.3 DESCRIPTION VHDL

Le langage VHDL offre de multiples possibilités pour traduire le fonctionnement d’une


machine à états. Nous ne nous intéresserons qu’à la description comportementale. D’une façon
générale, seules seront envisagées les fonctions séquentielles synchrones.
Le processus qui décrit le fonctionnement d’une machine à états comporte deux
structures imbriquées : le traitement des commandes et le traitement de l’état de départ de
chaque transition.

• Les commandes se prêtent bien à une modélisation par des structures hiérarchiques de
connues de type : if … elsif … else … end if.

• Les états se prêtent bien à une modélisation en terme d’aiguillage par les structures de type :
case … when … when others … end case.

Le registre d’état est matérialisé par deux éléments :

• Un signal interne de type bit_vector ou integer déclaré de façon à être codé sur n chiffres
binaires.
• Un processus, activé par le seul signal d’horloge qui est l’unique endroit où le signal d’état
subit une affectation.

3 QUELQUES RAPPELS SUR LE GAL22V10


3.1 BROCHAGE

Page 4/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

3.2 MACRO-CELLULES DE SORTIES

3.3 STRUCTURE INTERNE

Page 5/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

4 PREMIERE REALISATION : SYNTHESE D'UN SEQUENCEUR


4.1 ANALYSE DU CAHIER DES CHARGES

On désire réaliser une fonction dont la sortie S recopie l’état logique présent sur son
entrée E si celle-ci est restée stable après 2 coups d’horloge successifs.
L’entrée RAZ a été rajoutée afin que l’état initial du système soit défini. De façon plus
générale,
Un système séquentiel doit toujours être initialisé. De plus, cette initialisation doit être
asynchrone.

HOR
RAZ Q_F2 S
E

4.2 TRACE DES CHRONOGRAMMES

HOR

t
E

t
S

4.3 REPRESENTATION DU DIAGRAMME DE TRANSITION.

E=0 RAZ=0
RST=0

E=0 Etat 0 E=1


S=0

E=0
Etat 5 Etat 1
S=1 S=0

E=1
E=0
E=0 E=1

Etat 4
S=1 E=1 Etat 2
S=0

Etat 3
E=0 E=1
S=1

E=1

Page 6/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

4.4 DESCRIPTION EN LANGAGE VHDL

library ieee ;
use ieee.std_logic_1164.ALL;

entity MAE is
port ( E,RAZ,HOR : in STD_LOGIC ;
S : out STD_LOGIC );
end MAE;

architecture COMPORTEMENT of MAE is


signal REG_ETAT : STD_LOGIC_VECTOR(2 downto 0);
process (HOR,RAZ)
begin
if RAZ='0' then REG_ETAT <= "000";
elsif (HOR’event and HOR='1') then
case REG_ETAT is
when "000" => S = '0' ;
if E = '1' then REG_ETAT <= "001";
else REG_ETAT <= "000";
end if ;
when "001" => S = '0' ;
if E = '1' then REG_ETAT <= "010";
else REG_ETAT <= "000";
end if ;
when "010" => S = '0' ;
if E = '1' then REG_ETAT <= "011";
else REG_ETAT <= "000";
end if ;
when "011" => S = '1' ;
if E = '1' then REG_ETAT <= "011";
else REG_ETAT <= "100";
end if ;
when "100" => S = '1' ;
if E = '1' then REG_ETAT <= "011";
else REG_ETAT <= "101";
end if ;
when "101" => S = '0' ;
if E = '1' then REG_ETAT <= "011";
else REG_ETAT <= "000";
end if ;
when others => REG_ETAT <= "000";
end case ;
end if ;
end process ;
end COMPORTEMENT ;

4.5 LANCEMENT DU LOGICIEL WARP

A l'aide du gestionnaire de projet de WARP, nous allons maintenant réaliser le séquenceur


décrit ci-dessous puis effectuer une simulation sous PROTEUS à partir du fichier JEDEC
généré après compilation de la machine à états.

Cliquez sur l'icône "Galaxy" pour démarrer le gestionnaire de projet du logiciel WARP
édité par Cypress.

Galaxy

Page 7/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

Ouvrez un nouveau projet en sélectionnant "New" dans le menu "File" du gestionnaire


de projets. Sélectionnez l'option "Project [Target-Device]" et cliquez sur OK.

Cliquez sur VHDL, nommez votre projet "SEQUENCEUR", choisissez le répertoire


C:\Cypress\TP1 comme répertoire de sauvegarde et cliquez deux fois sur le bouton
"Suivant".

SEQUENCEUR

Choisissez dans la catégorie des "SPLD's", le composant cible soit un PALC22V10D-


15PC puis cliquez sur le bouton "Terminer".

Lorsque la question "Do you want to save the new project" apparaît, cliquez sur le
bouton "Oui".

Page 8/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

5 TRACE DE LA MACHINE A ETATS ET COMPILATION


Sélectionnez l'outil "Active-HDL FSM" dans le menu "Tools" du gestionnaire de
projets pour lancer l'éditeur graphique de machines à états. Sélectionnez l'option "Use
HDL Design Wizard", cliquez sur OK puis sur le bouton "Suivant".

Sélectionnez l'option VHDL et cliquez sur le bouton "Suivant".

Nommez votre machine à états "SEQUENCEUR" et à l'aide du bouton "Browse",


sélectionnez le répertoire de sauvegarde "C:\Cypress\TP1". Puis, cliquez sur le bouton
"Suivant".

Page 9/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

Choisissez les entrées et les sorties de votre machine à états conformément à la


figure ci-dessous puis cliquez sur le bouton "Suivant" et enfin sur le bouton
"Terminer" après avoir sélectionné l'option "One" indiquant que vous désirez dessiner
seulement une machine à états.

Vous êtes maintenant dans l'éditeur graphique de machines à états et votre écran doit
être conforme à l'image ci-dessous.

Pour une meilleure lisibilité du


code généré, il est préférable
de remplacer le mot "sreg" par
MAE (pour Machine à Etats).

Page 10/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

A l'aide de l'outil graphique FSM, vous allez maintenant saisir la machine à états qui vous
permettra de générer automatiquement le code VHDL décrivant fonctionnement de votre
séquenceur.
La figure ci-dessous représente la machine à états que vous allez devoir saisir à l'aide de
l'outil FSM.

RAZ='0' E='0'

E='1'

S0
S<='0'
E='0'
S<='0'
S1
E='0'

S5 S<='1'
E='1'
E='0'

E='1'

E='0'

S2 S<='0'

E='1'
S4
S<='1' E='1'
S3
S<='1'
E='0'
E='1'

Recopiez la machine à états représentée ci-dessus.

Cliquez sur "HDL Code Generation" dans le menu déroulant "Synthetis" pour générer
le programme codé en langage VHDL relatif à votre machine à états.

Répondez oui à la question "Do you want to see the generated code". L'indication "0
errors" doit apparaître en bas de votre écran. Dans le cas contraire corrigez les
erreurs contenues dans votre "diagramme à bulles" et regénérez le code VHDL.

Comparez le code généré avec celui attendu et décrit lors de la présentation du


séquenceur puis faîtes le lien avec la machines à états que vous venez de tracer.

Fermez l'éditeur de texte et réduisez l'outil graphique de saisie de machines à états.

Page 11/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

6 COMPILATION DU CODE VHDL GENERE PAR LA MAE


A l'aide de l'outil graphique FSM, vous venez de générer le programme, codé en langage
VHDL relatif au séquenceur décrit dans le cahier des charges.
Il vous reste maintenant à intégrer le code VHDL dans le gestionnaire de projet Galaxy et
à le compiler pour générer un fichier au format JEDEC implantable dans un composant logique
programmable de type 22V10 et un fichier VHDL contenant les "stimulis" permettant de simuler
le fonctionnement du séquenceur réalisé à l'aide de l'outil de simulation "Active-HDL sim".

Cliquez sur l'option "Add Files" dans le menu déroulant "Project". Intégrez le code
VHDL généré précédemment dans le gestionnaire de projet en cliquant deux fois sur
"SEQUENCEUR.vhd" puis sur le bouton OK.
Le fichier " SEQUENCEUR.vhd" doit maintenant être intégré au gestionnaire de projets
conformément à la figure ci-dessous.

Vous pouvez visualiser le listing VHDL en cliquant deux fois sur


"SEQUENCEUR.vhd". Votre écran doit maintenant être conforme à l'image ci-dessous.

Vous retrouvez le code VHDL


généré précédemment.
L'éditeur VHDL de WARP
affiche les instructions en
bleu, les variables en noir et
les commentaires en rouge.

Il vous reste maintenant à compiler votre projet en appuyant sur la touche F7 ou en


cliquant sur l'icône représentée ci-dessous.

Page 12/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

Le bas de votre écran doit maintenant être conforme à l'image ci-dessous.

Cette annotation vous indique que


la compilation du projet a été
réalisée avec succès.

7 VERIFICATION DE LA CONFORMITE AVEC LE CAHIER DES


CHARGES PAR SIMULATION
Il est maintenant indispensable de vérifier la conformité du fonctionnement de notre
séquenceur avec le cahier des charges par simulation.
L'environnement WARP de Cypress met à votre disposition un outil de simulation
extrêmement performant qui permet de simuler en temps réel le fonctionnement d'un
composant logique programmable.

Sélectionnez l'outil "Active-HDL Sim" dans le menu "Tools" du gestionnaire de projets


pour lancer le simulateur intégré à l'environnement WARP.
Cliquez sur l'option "Open VHDL" du menu déroulant "File" et ouvrez le fichier
"SEQUENCEUR.vhd" qui se trouve dans le répertoire C:\Cypress\TP1\vhd.

Cliquez sur l'option "Add signals" du menu déroulant "Waveform" et cliquez deux fois
sur les signaux HOR, RAZ, E et S. La partie gauche de votre écran doit maintenant être
conforme à l'image ci-dessous.

Il vous faut maintenant indiquer au simulateur que l'entrée HOR est l'entrée d'horloge de
votre compteur et régler sa fréquence et son rapport cyclique.

Page 13/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

Cliquez sur le mot "hor" situé dans la colonne "Name" pour le sélectionner. Cliquez
ensuite sur l'option "Stimulators" du menu déroulant "Waveform" et réglez la
fréquence du signal d'horloge à 1MHz conformément à la figure ci-dessous.

Cliquez sur le bouton "Apply" puis deux fois sur le mot "raz" situé dans la colonne
"Name" du simulateur. Complétez la boîte de dialogue conformément à la figure ci-
dessous en respectant l'emplacement des espaces.

Cliquez sur le bouton "Apply" puis deux fois sur le mot "e" situé dans la colonne
"Name" du simulateur. Complétez la boîte de dialogue conformément à la figure ci-
dessous en respectant l'emplacement des espaces.

Page 14/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

Cliquez sur "Apply" puis sur "Close". Votre simulateur est maintenant prêt à
fonctionner.

Choisissez un pas de simulation de 800ns puis lancez la simulation afin de vérifier la


conformité de vos chronogrammes avec le cahier des charges en actionnant
régulièrement la touche "E" de votre clavier

Si vous avez fixé le type "séquentiel" pour la sortie S, vous devez constater un
problème de fonctionnement : En fait, le cahier des charges n'est pas respecté. La
sortie S ne prend pas en compte le changement d'état de l'entrée E au troisième front
d'horloge mais au quatrième. Pour corriger ce problème, vous devez modifier votre
machine à états conformément à la figure ci-dessous ou fixer le type "combinatoire"
pour la sortie S.

RAZ='0' S<='0'
E='0'

E='1' S<='0'

S0
S<='1'
E='0' Maintenant, la
S1
sortie change
E='0' d'état à l'entrée
dans "la bulle"
S5
E='1'
E='0'

E='1' S<='0'

E='0'

S<='1' S2
S<='1'
E='1'
S4
E='1'
S3

E='0'
E='1'

Recompilez votre machine à états et relancez la simulation pour valider la conformité


de votre nouveau séquenceur avec la cahier des charges.

La copie d'écran ci-dessous montre le fonctionnement du séquenceur après


modification de la machine à états.

Si le fonctionnement de votre séquenceur est parfaitement conforme au cahier des


charges, vous pouvez maintenant fermer l'outil de simulation et l'outil graphique de
saisie de machines à états.

Page 15/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

8 GENERATION DU FICHIER JEDEC


Nous allons maintenant procéder à l'affection des broches d'entrée et sorties sur le GAL
22V10 et modifier le fichier JEDEC généré de manière à le rendre compatible avec PROTEUS.

A partir du gestionnaire de projet Galaxy, ajoutez l'instruction : attribute pin_numbers of


sequenceur:entity is "HOR:1 RAZ:2 E:3 S:23"; après la déclarations des entrées et sorties
dans l'entité du programme SEQUENCEUR.vhd.

Relancez la compilation en actionnant la touche F7.

Vérifiez le "Pinout" et le taux d'utilisation du PLD dans les fichiers de sortie générés
généré lors de la compilation.

9 SIMULATION SOUS PROTEUS VSM

Procédez à la saisie du schéma structurel du séquenceur sous Proteus VSM.

Lancez la simulation. Que constatez-vous ?

Modifiez le fichier JEDEC de manière à le rendre compatible avec Proteus et relancez


la simulation.

10 ET MAINTENANT, A VOUS………
10.1 REALISATION D'UN DE ELECTRONIQUE

On se propose de réaliser un dé électronique avec affichage à LEDs.


Il devra être équipé d’un bouton poussoir noté BP et de 7 leds notées D1 à D7.
Tant que le bouton poussoir BP est appuyé, le dé parcourt un cycle de 6 états à "grande
vitesse" (suffisamment vite pour ne pas être distingué par un œil humain).
Dès que le bouton poussoir BP est relâché, le dé s’arrête dans l’un des 6 états du cycle.
Les 6 états du cycle sont les suivants :

Etat 1 Etat2 Etat 3 Etat 4 Etat 5 Etat 6

Le repérage des LEDS sera effectué comme suit : de gauche à droite et de haut en bas,
D1, D2..D7. La led centrale est donc D4, la led en bas à droite est D7.

Page 16/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

Travail demandé

Créez un nouveau projet sous Galaxy, tracez la machine à états sous "Active-HDL
fsm", simulez votre projet sous "Active-DDL-sim" puis validez le bon fonctionnement
de votre projet sous Proteus VSM.

10.2 L'ABEILLE BALADEUSE


(D'après une idée originale de Louis Reynier, enseignant en BTS SE au lycée Cabanis)

Une abeille-jouet à roulettes pour enfants se présente sous la forme suivante :

A M

AR AV

Un moteur à courant continu entraîne les roues de l’abeille. Une commande par relais
permet d’inverser le sens de rotation du moteur par inversion de la polarité. L’abeille est
équipée d’un capteur à l’avant (Capteur AV) et d’un capteur à l’arrière (Capteur AR). Ces
capteurs sont en fait de simples boutons poussoirs.
L’appareil est équipé de 2 boutons poussoirs sur le dos de l’abeille : un bouton poussoir
qui active le fonctionnement de l’abeille (Bouton poussoir M) et un qui permet de l’arrêter
(Bouton poussoir A).
La gestion du véhicule est assurée par un système séquentiel synchrone embarqué :.

AV
D
AR GESTION DU
VEHICULE
M
A I

Variables d’entrée :

• AV : Bouton poussoir Avant : à 1 si un obstacle est présent


• AR : Bouton poussoir Arrière : à 1 si un obstacle est présent

• M : Bouton poussoir Marche : à 1 si le Bouton poussoir est appuyé.


• A : Bouton poussoir Arret : à 1 si le Bouton poussoir est appuyé.

Page 17/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

Variables de sortie :

• D : Commande du moteur dans le sens direct ( à 1 en marche avant)


• I : Commande du moteur dans le sens inverse( à 1 en marche arrière)

Nota : Véhicule arrêté D=0 et I = 0

Le fonctionnement de l’abeille est le suivant :

Dès que l’utilisateur appuie sur M (M=1), l’abeille se met en marche avant. (D=1). Dès
qu’un obstacle est détecté à l’avant (AV=1), l’abeille recule (I=1) jusqu’à ce qu’un obstacle soit
détecté à l’arrière (AR =1). Le cycle continue jusqu’à ce que l’utilisateur appuie sur A (A=1), le
moteur s’arrête (D=0, I=0).

Remarque : Quand le véhicule recule, un dispositif mécanique met les roues en position
de tourner ; ce qui permet au véhicule de ne jamais rester sur le même parcours.

Travail demandé

Créez un nouveau projet sous Galaxy, tracez la machine à états sous "Active-HDL
fsm", simulez votre projet sous "Active-DDL-sim" puis validez le bon fonctionnement
de votre projet sous Proteus VSM.

10.3 UN CHENILLARD AVEC DEUX SENS DE ROTATION


(D'après une idée originale de Louis Reynier, enseignant en BTS SE au lycée Cabanis)

On se propose de réaliser un système séquentiel synchrone constitué de 2 entrées T et H


et de 4 sorties L1, L2, L3, L4 (LEDs):

T Système L1
séquentiel L2
synchrone L3
H
L4

Le principe de fonctionnement devra être le suivant :

T H Fonctionnement

0 0 Arrêt en position initiale : Etat A

0 1 Horaire : on parcourt le cycle A,B,C,D,A..( sens horaire)

1 0 Trigo : on parcourt le cycle dans l’ordre A,D,C,B,A..( sens trigo)

1 1 Blocage dans l’état courant (Affichage figé sur A,B,C, ou D)

Page 18/19
Eric GARNIER pour l'IUFM de Limoges Formation du mercredi 4 mai 2005 au Lycée Georges Cabanis

A) B)
L1 L1

L4 L2 L4 L2

L3 L3

C) D)
L1 L1

L4 L2 L4 L2

L3 L3

LED allumée LED éteinte

Travail demandé

Créez un nouveau projet sous Galaxy, tracez la machine à états sous "Active-HDL
fsm", simulez votre projet sous "Active-DDL-sim" puis validez le bon fonctionnement
de votre projet sous Proteus VSM.

Page 19/19

Vous aimerez peut-être aussi