Professional Documents
Culture Documents
TD N4 VHDL
TD N4 VHDL
Dès qu’un joueur pense avoir la bonne réponse, il appuie sur le Bouton poussoir placé devant lui. A ce
moment la, un signal sonore retentit (Buzzer) et un voyant lumineux s’allume au dessus de lui.. Plus
personne ne peut appuyer et le système est bloqué tant que l’animateur n’a pas validé ou non sa réponse
par l’action sur un bouton poussoir RAZ. L’appui sur le bouton poussoir peut être fugitif.
Variables d’entrées :
A, B, C : Variables correspondant aux boutons poussoirs actionnées par les joueurs, A,B et C. Variable à
1 quand le Bouton poussoir est enfoncé, à 0 quand le bouton poussoir est relâché.
RAZ : Variable correspondant au bouton poussoir actionné par l’animateur (le sympathique Julien
Lepers). Variable à 1 quand le Bouton poussoir est enfoncé, à 0 quand le bouton poussoir est relâché.
Variables de sorties :
VA, VB, VC : Variables correspondants aux voyant lumineux situé au dessus des joueurs. Le voyant
s’allume si la variable correspondante est à 1.
CBUZ : Variable déclenchant la commande du Buzzer. La variable doit passer à 1 si un des joueurs a
appuyé sur son bouton poussoir.
Variable interne :
H : signal d’horloge qui cadence le système. La fréquence de l’horloge est à déterminer.
Travail à effectuer :
La fonction à réaliser par les circuits numériques à concevoir sera décrite en utilisant le formalisme de la
machine à états finis ou la table de transition puis la description VHDL correspondante.
On demande :
- le diagramme d’états ou la table de transition de la fonction à réaliser.
- le code VHDL correspondant au diagramme d’états.
Remarque : Il existe des logiciels comme FSM permettant à partir d’un diagramme d’états de générer un
fichier VHDL.
L’abeille fonctionne à pile . 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 met l’abeille
en marche (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é dans le véhicule.
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 Marche : à 1 si le Bouton poussoir est appuyé.
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)
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 à effectuer :
La fonction à réaliser par les circuits numériques à concevoir sera décrite en utilisant le formalisme de la
machine à états finis ou la table de transition puis la description VHDL correspondante.
On demande :
- le diagramme d’états ou la table de transition de la fonction à réaliser.
- le code VHDL correspondant au diagramme d’états.
Au bout de 10s, retour à la position initiale. Le repérage des leds sera conforme à la figure suivante :
Travail à effectuer :
La fonction à réaliser par les circuits numériques à concevoir sera décrite en utilisant le formalisme de la
machine à états finis ou la table de transition puis la description VHDL correspondante.
On demande :
- le diagramme d’états ou la table de transition de la fonction à réaliser.
- le code VHDL correspondant au diagramme d’états.
Le repérage des leds est le suivant de gauche à droite et de haut en bas : D1, D2..D7. La led centrale est
donc D4, la led en bas à droite est D7.
Travail à effectuer :
La fonction à réaliser par les circuits numériques à concevoir sera décrite en utilisant le formalisme de la
machine à états finis ou la table de transition puis la description VHDL correspondante.
On demande :
- le diagramme d’états ou la table de transition de la fonction à réaliser.
- le code VHDL correspondant au diagramme d’états.
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 repérés par un chiffre de 1 à 6 représenté sur l’afficheur 7 segments :
Rappel : Repérage des segments et affichage des chiffres de 1 à 6 sur un afficheur 7 segments.
Travail à effectuer :
La fonction à réaliser par les circuits numériques à concevoir sera décrite en utilisant le formalisme de la
machine à états finis ou la table de transition puis la description VHDL correspondante.
On demande :
- le diagramme d’états ou la table de transition de la fonction à réaliser.
- le code VHDL correspondant au diagramme d’états.
Les entrées capteurs servent à incrémenter ou à décrémenter le compteur (4 bits). La sortie de compteur
est comparée au nombre maximal de places dans le parking.
Les signaux de sortie (mode out) sont :
Réaliser ce diviseur à partir de 3 compteurs 8 bits. Utilisez pour cela 3 variables (COUNT_0, COUNT_1,
COUNT_2) de type integer, représentant chacune la valeur d’un compteur.
Dans notre cas, la sortie clk se positionne au repos (niveau logique 0) lorsque 8 fronts montant et
descendant auront été comptés (correspondant à l’envoi de 8 bits). La sortie clk sera à nouveau active si le
signal raz est actif (envoi d’une nouvelle donnée).
3. Sérialisation :
Ici, ce module effectue la sérialisation de la donnée 8 bits présente sur donnée Din. Cette donnée est
sérialisée grâce au cadencement 10kHz (clk) du sous module de sérialisation.
Pour se faire on va procéder par décalage du bus donné. C'est-à-dire que le bit 0 (LSB) va être envoyé,
ensuite on décale les bits 8 à droite et nous répétons cela 7 fois. On aura, au total, envoyé nos 8 bits de
commande un à un. La sortie du module A nommé data.
Le module permet simplement la désérialisation des données reçus par le Module A nommée data et qui a
été envoyé grâce à l’horloge clk. RAZ est une remise à zéro (1 bit) asynchrone actif au niveau bas (‘0’).
Faire une description en langage VHDL (entity et architecture) d’un registre série-parallèle à 8 bits pour
le module B.
Application de synthèse :
Fréquencmetre :
Unité de comptage
Diviseur de fréquence
Par M.JAROU 10 | P a g e
Elément de Module : Electronique numérique 2 ENSAK-Cycle ingénieur
Fréquencemètre
Par M.JAROU 11 | P a g e