Afficher quatre chiffres

Décodeurs 7 segments

Dans ce projet, nous souhaitons manipuler les chiffres des minutes et des secondes sous la forme d’entiers. De son côté, chaque afficheur sera piloté par sept signaux logiques indiquant quels segments devront être allumés ou éteints. Il est donc nécessaire d’effectuer un décodage afin de déterminer, pour chaque chiffre à afficher, l’état correspondant des segments.

Le fichier SegmentDisplay/SegmentDecoder.vhd contient la description complète d’un décodeur pour afficheurs sept segments. Dans l’architecture du minuteur, nous allons devoir instancier un décodeur pour chacun des afficheurs. Sur la figure ci-dessous, nous avons représenté le circuit correspondant. Les décodeurs ont été câblés de manière à afficher les chiffres 1, 2, 3 et 4.

Instanciation des décodeurs 7 segments

Afficher la légende des schémas

Compléter l’architecture

Dans le fichier Pomodoro.vhd, complétez l’architecture de manière à reproduire la structure du circuit de la figure :

  1. Déclarez les signaux internes.
  2. Créez quatre instances de l’entité SegmentDecoder.
  3. Établissez les connexions entre les instances et leur environnement.
  4. Affectez aux signaux minutes_tens, minutes_ones, seconds_tens et seconds_ones les valeurs que vous voulez afficher.

Vérifier la syntaxe

Dans un terminal, exécutez les commandes suivantes. La commande cd peut être omise si vous êtes déjà dans le dossier Pomodoro.

cd $HOME/CoCiNum/src/vhdl/Pomodoro
ghdl -a ../SegmentDisplay/SegmentDecoder.vhd Pomodoro.vhd

Si nécessaire, modifiez le fichier Pomodoro.vhd jusqu’à ce qu’il n’y ait plus de message d’erreur.

Simuler le fonctionnement du circuit

Démarrez la simulation en utilisant les commandes suivantes :

cd $HOME/CoCiNum/src/vhdl/Pomodoro/tests/Pomodoro
make

Le nombre affiché sur les afficheurs sept segments doit correspondre à ce que vous avez indiqué dans votre fichier Pomodoro.vhd.

Si ce n’est pas le cas, vérifiez les instances de SegmentDecoder et les affectations concurrentes pour qu’elles soient conformes au schéma. Corrigez votre architecture et relancez la simulation jusqu’à ce que vous obteniez le résultat attendu.