Examen vhdl 2012 VHDL Télécharger pdf
Télécharger PDFCet article explore des concepts fondamentaux en conception logique numérique à travers une série d'exercices inspirés d'un examen de VHDL de l'Université Sidi Mohamed Ben Abdellah, École Supérieure de Technologie de Fès, pour la 3ème année EII durant l'Année Universitaire 2011/2012. L'examen avait une durée de 1h30. Nous aborderons les registres à décalage, le codage de données et les compteurs de Gray, des éléments essentiels pour la programmation de circuits intégrés. L'objectif est de fournir une compréhension claire de ces composants et de leur implémentation en VHDL.
Exercice 1 : Registre à décalage à droite en VHDL
Un registre à décalage est un type de circuit séquentiel capable de stocker des données et de les déplacer un bit à la fois, soit vers la gauche, soit vers la droite. Ces registres sont largement utilisés pour la conversion série-parallèle ou parallèle-série, pour des retards, ou pour des opérations arithmétiques. Un registre asynchrone n'utilise pas de signal d'horloge global pour synchroniser ses transitions d'état.
Énoncé de l'exercice 1
Soit le registre à décalage à droite représenté par le schéma suivant : IN SERIE D Q D O D D Q -OUT SERIE R R R R H R.
Donnez une description VHDL du circuit que l'on supposera asynchrone.
Exercice 2 : Compteur de bits '1' en VHDL
Cet exercice se concentre sur la conception d'un circuit capable de compter le nombre de bits à '1' (bits actifs) dans un bus de données d'entrée. Cette fonctionnalité est utile dans de nombreuses applications, comme la gestion d'erreurs, le traitement de signaux ou les communications, où le nombre de bits définis peut indiquer l'état ou la validité des données. Le résultat est exprimé en binaire.
Énoncé de l'exercice 2
Soit A un bus de données de taille 4 bits. Nous voulons faire un codage de données tel que le nombre S en sortie indique, en binaire, le nombre de signaux d'entrée à 1.
Par exemple :
- Si A = 1001, alors S = 010 (2 bits à 1)
- Si A = 1100, alors S = 010 (2 bits à 1)
- Si A = 1111, alors S = 100 (4 bits à 1)
1. Donnez une description VHDL du circuit.
2. Donnez un exemple de chronogramme du circuit.
Exercice 3 : Compteur de Gray 3 bits en VHDL
Un compteur de Gray est un type de compteur qui génère une séquence de codes de Gray. La particularité des codes de Gray est que deux valeurs successives ne diffèrent que par un seul bit. Cette propriété est essentielle pour prévenir les aléas dans les circuits synchrones, en particulier lors des conversions analogique-numérique et dans les interfaces où plusieurs bits peuvent changer simultanément.
Énoncé de l'exercice 3
Soit le compteur de Gray 3 bits qui compte en code binaire réfléchi la séquence suivante : (0, 1, 3, 2, 6, 7, 5, 4).
1. Dressez une Table de Vérité de ce circuit.
2. Donnez une description VHDL de ce circuit que l'on supposera asynchrone.
Foire aux questions (FAQ)
Qu'est-ce que le VHDL ?
VHDL (VHSIC Hardware Description Language) est un langage de description matérielle utilisé pour modéliser des systèmes électroniques numériques. Il permet de décrire la structure et le comportement des circuits pour la simulation et la synthèse, facilitant ainsi la conception de puces ASIC et FPGA.
Quelle est la différence entre un circuit synchrone et asynchrone ?
Un circuit synchrone utilise un signal d'horloge commun pour synchroniser toutes les opérations, garantissant que les changements d'état se produisent à des instants précis. Un circuit asynchrone, en revanche, ne dépend pas d'un signal d'horloge unique ; les événements sont déclenchés par les changements d'état des signaux d'entrée ou internes, ce qui peut rendre leur conception plus complexe mais potentiellement plus rapide pour certaines applications.
Pourquoi utiliser les codes de Gray dans la conception numérique ?
Les codes de Gray sont utilisés pour minimiser les erreurs de lecture lors de la conversion de signaux, par exemple dans les codeurs de position rotatifs. Puisque seulement un bit change entre deux valeurs consécutives, cela évite les états transitoires où plusieurs bits changeraient simultanément, ce qui pourrait conduire à des lectures erronées.