Compteur BCD - REDS - HEIG-Vd

Download Report

Transcript Compteur BCD - REDS - HEIG-Vd

REDS, HEIG-VD
Laboratoire de bases de systèmes logiques BSL
YTA
Compteur BCD
Mandat
Nous souhaitons réaliser un compteur BCD de 2 digits. Il devra compter jusqu’à une
valeur maximale, et offrir différents incréments.
Spécifications
Le compteur à réaliser doit fournir une valeur comprise entre 0 et 99, codée en BCD. Une
entrée d’enable indique s’il y a comptage (‘1’) ou si le compteur garde sa valeur (‘0’).
Lorsqu’il y a comptage, le signal addval indique de combien est l’incrément. La table
suivante en donne le détail :
addval
Incrément
00
1
01
10
10
15
11
20
Finalement, le compteur ne doit jamais dépasser la valeur Max donnée, mais revenir à 0 si
l’incrémentation dépasse cette valeur.
Pour la réalisation de votre compteur, à vous de réfléchir à la manière la plus efficace de
le réaliser (quantité de ressource, modularité, décomposition, …).
Entrées/sorties du système
 clk_i
(Entrée) Horloge principale du système
 nReset_i
 max_i
 en_i
 addval_i
 cpt_o
(Entrée) Reset asynchrone, actif bas
(Entrée) Valeur maximale de comptage, sur 8 bits codé BCD
(Entrée) Enable de comptage, sur 1 bit
(Entrée) Commande de l’incrément, sur 2 bit
(Sortie) Valeur du compteur, sur 8 bits codé BCD
Travail demandé
1) Analyser le fonctionnement global du système, ainsi que celui du compteur 1 digit.
2) Etablir le schéma logique de votre système sur papier ainsi que celui des blocs que
vous utilisez.
3) Pour chaque bloc de votre système, créez un circuit dans Logisim.
4) Valider le fonctionnement de chaque bloc en les simulant dans Logisim. Donner la
preuve du bon fonctionnement en fournissant le chronogramme de la simulation.
Attention, il faut ajouter une horloge ‘sysclk’ dans le bloc pour permettre aux signaux
d’être visibles dans le chronogramme. Modifier la valeur des entrées du bloc et
Compteur_BCD_v1
-1/3-
Novembre 2014
REDS, HEIG-VD
Laboratoire de bases de systèmes logiques BSL
YTA
avancer d’un coup d’horloge pour que les signaux de sortie se mettent à jour. Pour
éviter de faire varier l’horloge clk_i manuellement, il est possible de remplacer le port
d’entrée clk_i par une horloge nommée ‘clk’. En appuyant sur la touche F2, la
simulation avance d’un pas et l’horloge oscille. Une fois la simulation terminée, il faut
remettre un port d’entrée à la place de l’horloge ‘clk’.
5) Saisir votre schéma logique du compteur BCD complet avec les blocs que vous avez
créé dans le composant compteur_bcd_top. Attention, il ne faut pas changer l’ordre
des ports d’entrée/sortie du composant.
6) Simuler manuellement votre compteur avec la console fournie dans le projet
"console_compteur_bcd" (via le circuit console_sim) et en allant dans le menu
Simulate/Simulation Enabled. Vous devez vérifier un nombre de cas suffisant afin de
valider votre solution. A la première simulation, il est nécessaire de donner le chemin
de
l’emplacement
de
la
console
TCL/TK.
Elle
se
trouve
dans
./console_compteur_bcd/console_compteur_bcd.tcl
7) Tester l'intégration dans un circuit logique programmable de type Max V
5M570ZF256C5 monté sur une carte MAX_80p_25p et à l'aide de la console-USB de
test (via USB et l'écran du PC).
Liste des points à faire :
- Aller dans le menu FPGAMenu > FPGA Commander. puis
-

Sélectionner « main » dans l’onglet « Choose main circuit ».

Sélectionner « MAX_V_80P_25P » dans l’onglet « Choose target board».

Cliquer sur le bouton « Toolpath »
« /opt/EDA/altera/13.0/quartus/bin »

Cliquer sur le bouton « Workspace » et sélectionner le dossier que vous avez
créé précédemment comme répertoire de travail.

Laisser les autres onglets par défaut.
et
entrer
le
chemin
suivant :
Affecter vos signaux au connecteur 80p qui se trouve en haut de la carte :

Cliquer sur le bouton « Download », une nouvelle fenêtre s’ouvre.

En bas à gauche dans la section « Unmapped components List », sélectionner
conn_80p pour le mapper sur la console (zone en surbrillance rouge).

Sauvegarder votre mapping (Save Map) dans votre dossier de travail.
-
Allumer la carte et connecter le ByteBlaster sur le connecteur JTAG.
-
Cliquer sur le bouton « Done » pour compiler les fichiers, puis programmer le
CPLD.
-
Allumer la carte "console USB2" et connecter le câble USB au connecteur USB2 de
la carte.
8) Ouvrir le File Manager et se mettre à l’emplacement de la console TCL/TK
console_compteur_bcd.tcl qui se trouve à "emplacement du répertoire
compteur_bcd/console_compteur_bcd/
-
Ouvrir un terminal (clic droit de la souris dans le dossier) et taper :
 sudo wish console_compteur_bcd.tcl
 Mot de passe: reds
Compteur_BCD_v1
-2/3-
Novembre 2014
REDS, HEIG-VD
-
Laboratoire de bases de systèmes logiques BSL
YTA
Connecter les deux cartes ensemble par le connecteur 80pôles.
Vérifier le fonctionnement de votre additionneur BCD.
Pour réutiliser des circuits d’un laboratoire précèdent, allez dans le menu Project/Load
Library/Logisim Library… et sélectionnez le circuit que vous désirez importer.
9) Lorsque votre système est validé, proposez le schéma d’un compteur identique, mais
sur 3 digits. Un schéma Logisim ou au crayon sera suffisant, avec les explications
nécessaires. Une simulation ne sera pas nécessaire.
Compteur_BCD_v1
-3/3-
Novembre 2014