QuartusII design
Transcription
QuartusII design
LSN/hepia/HESSO 1 QuartusII design Cyclone Cyclone Compteur Quartus II - VHDL Objectif Moyens Préliminaire Théorie Matériel Durée 1 Etre capable de réaliser et simuler avec Quartus II un compteur en VHDL Logiciels QuartusII Logique de base, architecture de FPGA FPGA Quartus II 2 périodes Introduction Le langage VHDL permet de décrire de façon relativement simple le fonctionnement de machine d’états. Dans ce laboratoire, un compteur par 60 est réalisé (0..59 en BCD). A partir de là une variante en compteur par 24 (0..23 en BCD) est également implémenté. Au final une horloge HH :MM :SS est assemblée. Pour les plus rapides, elle peut facilement être complétée par les dixièmes, centièmes et millièmes de seconde. Une horloge de base à 24MHz est fournie. Un module initial prédiviseur devra ramener l’horloge de 24MHz à un signal de validation d’une durée d’un clock à 24MHz et de période d’une seconde (ou 1 milliseconde). 2 Développements à réaliser Pour réaliser un module VHDL, il faut définir son entité, puis son architecture. Le tout sera décrit dans UN fichier avec l’extension .vhd. Les librairies à utiliser sont indiquées : LIBRARY ieee ; USE ieee.std_logic_1164.all ; USE ieee.std_logic_unsigned.all entity Cnt60 is port ( Clk nReset Enable Q Detect_59 ); 2.1 : : : : : ; in std_logic ; in std_logic; in std_logic; out std_logic_vector(7 downto 0); out std_logic Compteur par 60 Le compteur initial est un compteur par 60 avec sortie sur 8 bits en BCD (2x4 bits). Le signal Enable autorise le compteur à s’incrémenter lorsque Clk a un flanc montant. Le reset actif à ‘0’ (nReset) met le compteur à « 0000 0000 ». La sortie Detect_59 s’active lorsque le compteur détecte l’état « 0101 1001 ». Question 1 Compteur BCD 0..59 1.1 1.2 1.3 1.4 Définissez les états de votre compteur Comment générer l’état Detect_59 ? Comment utiliser Enable ? Ecrivez l’architecture de votre compteur en VHDL R.BeuchatW:\Labo\Documents\_Laboratoire_SysNum\Enonces_Labo-Cours\Labo_Quartus_Robot_Cyclone\Labo_FPGA_VHDL_Counter_0_0.doc Créé le 24/09/08 Modifié le 29/09/10 09:09 Impression le 21/09/11 Version [0.0] LSN/hepia/HESSO Laboratoire de Systèmes Numériques 2 QuartusII-VHDL_cnt Manipulation 1 Implémentation compteur par 60 en VHDL ¾ ¾ ¾ 2.2 A l’aide de QuartusII, saisissez votre design en VHDL File Æ New Æ VHDL File Compile Simulate Prédiviseur Un compteur appelé Prediviseur est à réaliser. Le factuer de division est à fournir par un paramètre generic Divider, mis par défaut à 10 000 000. Il génère une pulse de largeur 1 Clk toutes les Divider Clk. 2.3 Compteurs par 23 Modifier votre module pour réaliser un Compteur de 00..23. 2.4 Horloge H :M :S Assemblez l’ensemble de vous modules pour réaliser un système d’horloge Heure, Minute, Seconde. R.BeuchatW:\Labo\Documents\_Laboratoire_SysNum\Enonces_Labo-Cours\Labo_Quartus_Robot_Cyclone\Labo_FPGA_VHDL_Counter_0_0.doc LSN/hepia/HESSO Laboratoire de Systèmes Numériques 3 QuartusII-VHDL_cnt Réponse 1 1.1 Réalisez le compteur par 60 en VHDL, entité et architecture. R.BeuchatW:\Labo\Documents\_Laboratoire_SysNum\Enonces_Labo-Cours\Labo_Quartus_Robot_Cyclone\Labo_FPGA_VHDL_Counter_0_0.doc
Documents pareils
Design of Embedded Hardware and Firmware Titre - Moodle
compteur simple BCD 4 digits: • Entrées: Mise à Zéro: nReset Horloge: Clk
Plus en détail