wiki:MethoCourseTp2

Version 2 (modified by alain, 17 years ago) (diff)

--

TP2 : Modélisation Structurelle VHDL

Objectifs

Le but de cette seconde séance de TP est d'utiliser le langage VHDL pour décrire, puis simuler une description structurelle du composant addaccu, présenté dans le premier TP, en utilisant une bibliothèque de cellules pré-caractérisées (en anglais standard cells library).

Comme on souhaite construire une description hiérarchique multi-niveaux, on procédera par étape:

  • On commencera par décrire le composant addaccu comme l'instanciation de trois blocs fonctionnels : le bloc mux, le bloc adder, et le bloc accu.
  • On décrira ensuite la structure interne de chacun de ces trois blocs comme un schéma utilisant les cellules de base de la bibliothèque de cellules précaractérisées SXLIB.

Un deuxième objectif est d'introduire le langage de description de stimuli genpat.

A) Génération procédurale des stimuli

Dans le premier TP, vous avez écrit "a la main" le fichier stimuli.pat décrivant les valeurs à appliquer sur les entrées du circuit. Cette méthode est assez fastidieuse, et elle est source d'erreurs. Pour faciliter la description des scénarios de simulation, vous pouvez utiliser le langage genpat. genpat est un ensemble de fonctions écrites en langage C, qui apporte au concepteur de circuit toute la puissance d'expression du langage C (boucles, expression conditionnelles, etc.) pour décrire les scénarios de simulation.

On rappelle que vous pouvez obtenir des informations détaillées sur n'importe quel outil de la chaîne de CAO ALLIANCE en tapant (par exemple) la commande :

>man genpat
>man AFFECT

Les noms des fonctions genpat sont en majuscules. La fonction la plus importante du langage genpat est la fonction AFFECT() qui permet d'assigner une nouvelle valeur à un signal particulier X à une certaine date T. Cette fonction permet donc de spécifier des événements. Chaque fonction du langage genpat possède son propre man :

>man AFFECT

Il faut donc écrire un fichier stimuli.c respectant la syntaxe du langage C, et c'est l'exécution de ce programme C qui générera le fichier stimuli.pat utilisable par asimut. On utilise pour cela la commande:

>genpat stimuli

Voici quelques suggestions utiles pour écrire le fichier stimuli.c :

  • Ecrire une fonction C indépendante pour le signal d'horloge, qui est très régulier (on conservera une période de 10 ns, avec un rapport cyclique de 50%).
  • faites en sorte que la valeur stockée dans l'accumulateur possède une valeur bien définie, en sélectionnant l'entrée a du multiplexeur (au moyen de la commande sel) dans les tous premiers cycles.

Vérifiez que le fichier stimuli.pat généré correspond à ce que vous attendez en utilisant l'outil xpat.

>xpat stimuli

B) Description structurelle au niveau blocs

C) Modélisation Comportementale des blocs

D) Simulation logique

Compte-rendu

Attachments (4)

Download all attachments as: .zip