Transcript Additionneur BCD - REDS - HEIG-Vd
REDS, HEIG-VD Laboratoire de bases de systèmes logiques BSL YTA
Additionneur BCD
Mandat
Nous souhaitons réaliser un système capable d’additionner deux nombres BCD de 2 digits et de calculer la distance de Hamming entre les valeurs binaires des deux entrées.
Spécifications
Le système doit réaliser deux opérations. La pr addition. Deux options s’offrent à vous : emière est l’addition des deux entrées, fournies en BCD. Chaque entrée, sur 8 bits, code donc une valeur comprise entre 0 et 99. Le résultat sera sur 12 bits BCD. A vous de concevoir le système capable de réaliser cette 1. Réaliser un bloc additionneur BCD pour 1 digit, puis en cascader plusieurs. 2. Réaliser une conversion BCD->binaire, une addition en binaire, puis une conversion binaire->BCD. A vous de choisir l’option que vous préférez (ou que vous jugez la plus simple). La deuxième opération de votre système consiste à convertir les deux nombres en binaire, puis de fournir la distance de Hamming séparant ces deux nombres binaires. La distance de Hamming correspond au nombre de bits différents entre deux vecteurs de bits. A vous de trouver une architecture la plus efficace pour effectuer cette opération. Votre développement devra se faire via une décomposition hiérarchique, et les différents éléments devront être testés individuellement.
Entrées/sorties du système
A_i B_i R_o Hamming_o
(Entrée) Valeur A, sur 8 bits codé BCD (Entrée) Valeur B, sur 8 bits codé BCD (Sortie) Résultat, sur 12 bits codé BCD (Sortie) Distance de Hamming
Travail demandé
1) Analyser le fonctionnement d’un additionneur de deux nombres BCD. 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 avancer d’un coup d’horloge pour que les signaux de sortie se mettent à jour. 5) Saisir votre schéma logique de l’additionneur BCD complet avec les blocs que vous avez créé dans le composant additionneur_bcd_top. Attention, il ne faut pas changer l’ordre des ports d’entrée/sortie du composant.
Additionneur_BCD_v1 - 1 / 2 - Octobre 2014
REDS, HEIG-VD Laboratoire de bases de systèmes logiques BSL YTA
6) Simuler manuellement votre additionneur avec la console fournie dans le projet "console_additionneur_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_additionneur_bcd/console_additionneur_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 » et entrer le chemin suivant : « /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. - 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) Ouvr ir le File Manager et se mettre à l’emplacement de la console TCL/TK console_additionneur_bcd.tcl qui se trouve à "emplacement du répertoire additionneur_bcd/console_additionneur_bcd/ - Ouvrir un terminal (clic droit de la souris dans le dossier) et taper : sudo wish console_additionneur_bcd.tcl Mot de passe: reds - Connecter les deux cartes ensemble par le connecteur 80pôles. - Vérifier le fonctionnement de votre additionneur BCD.
Additionneur_BCD_v1 - 2 / 2 - Octobre 2014