TP3 VLSI : Modélisation et simulation VHDL
Objectifs
- Un premier objectif est de décrire en langage VHDL et de simuler un petit circuit dont le schéma est fourni.
- Dans un second temps, vous allez décrire et simuler un second circuit , dont une spécification assez abstraite vous est fournie.
- Pour simuler vos circuits vous allez utiliser l'outil asimut distribué avec la chaîne de CAO ALLIANCE.
Exercices
Exercice 1-Circuit Addaccu
Soit le schéma du circuit addaccu représenté par la figure ci-dessus
Question 1
Ecrivez le fichier addaccu.vbe correspondant à ce circuit, en partant des informations fournies en cours.
Cette description doit être de type "zéro-délai", c'est à dire que l'on n'utilisera pas de clause "after".
Vous allez pouvoir vérifier la syntaxe de votre fichier grâce à la commande
>asimut -b -c addaccu
Question 2
Une fois la description comportementale compilée avec succés (c'est à dire sans erreur!), pour valider votre description vous devez écrire un fichier de vecteurs de test non exhaustifs, mais choisis juicieusement, une douzaine de vecteurs environ, ce fichier sera nommé addaccu.pat.
- L'horloge ck doit respecter la cadence suivante : un état bas pendant 50ns puis un état haut pendant 50ns .
- Toutes les entrées du circuit doivent être positionnées dés le début de la simulation et rester constantes aui moins pendant un cycle (un état bas de ck et un état haut de ck
- Les sorties doivent être positionnées à la valeur attendue tout au long de la simulation
- Vous utiliserez les directives Register et Signal pour observer les registres et les signaux internes de votre circuit.
Pour toute information concernant la syntaxe du fichier .pat, vous pouvez vous reporter au man
> man 5 pat
le 5 fait référence à la classe des manuels de formats de fichiers.
Question 3
Utilisez maintenant les vecteurs de test écrits pour simuler votre circuit
>asimut -b -l 0 addaccu addaccu addaccu_res
Exercice 2- Convertisseur monétaire
Dans un premier temps, on veut réaliser un convertisseur dédié à une monnaie, réalisant dans ce cas la conversion d'Euros en Francs Suisses, sachant que 1 Euro = 1,5 CHF
Ce circuit comporte un port d'entrée de 4 bits euro_in correspondant à la somme en Euros à convertir et un second port d'entrée conv qui permet de déclancher la conversion. Ce circuit fournit le résultat sur sa sortie au cycle suivant l'activation de la commande conv.
Question 1
Ecrivez le modèle .vbe de ce circuit, ce modèle sera validé par
> asimut -b -c modele
Question 2
Ecrivez un fichier de stimuli .pat permettant de tester ce circuit
> asimut -b -l 0 modele modele modele_res
Attachments (2)
- fig1.jpg (27.6 KB) - added by 17 years ago.
- fig2.jpg (15.3 KB) - added by 17 years ago.
Download all attachments as: .zip