Vous êtes sur la page 1sur 4

ENSPS 2005/2006

Travaux pratiques de
CAO / VHDL-AMS

M. Madec, W. Uhring, Y. Hervé


Partie II - 4 heures

INTRODUCTION.
L’objectif de ce TP est de se familiariser avec l’outil de modélisation, de simulation et de
conception VHDL-AMS. L’outil utilisé pour les travaux pratiques et le logiciel « Hamster ».

Prise en main du logiciel


Récupérer les fichiers « count_4bit_str.vhd » et « count_4bit_tb.vhd » présents dans le
répertoire « TP\CAO\ » du réseau et copiez les en local sur votre machine.
Lancez le logiciel « Hamster ». Ouvrez les deux fichiers dans hamster et observez les :
 Le fichier « count_4bit_str.vhd » contient un modèle structurel de compteur binaire
naturel 4 bits.
 Le fichier « compteur_4bit_tb.vhd » est un fichier de test (testbench). Il s’agit d’un
modèle de composant n’ayant aucune entrée/sortie extérieure. Dans son architecture il
« instancie » le composant à tester (ici le compteur_4bit) et contient le code visant à
générer les stimuli nécessaires au test du composant (ici, il contient 2 « process »
générant les signaux « Clock » et « reset » permettant de tester le compteur.
Compilez les deux fichiers et simulez le test-bench.

Simulation numérique : le compteur Johnson


Modèle comportemental
Ecrivez le modèle comportemental d’un compteur Johnson 4 bit en VHDL : le compteur doit
comporter deux entrées (std_logic), une HORLOGE et un RESET, et un vecteur
(std_logic_vector) de sortie Q. Inspirer vous du compteur binaire précédent.
ENSPS 2A – Promo 2007 – Travaux Pratiques de CAO/VHDL-AMS
Test-bench
Ecrivez un fichier de test-bench incluant la génération d’une horloge et d’un reset permettant
de tester votre compteur.

Modèle structurel
Ecrivez le modèle d’un bascule D en s’inspirant de celui de la bascule JK. La bascule D doit
comporter les entrées D, Clock, Reset, et les sorties Q et Qn ( Q ). Le reset est asynchrone.
Ecrivez le compteur Johnson en VHDL structurel en instanciant 4 bascules D dont vous venez
d’écrire le modèle.
Modifiez le modèle de bascule D afin d’introduire les temps de propagations tp HL et tp LH .
Pour tester, modifiez la fréquence de l’horloge dans le fichier test bench afin de vous placer
au-delà de la fréquence max de la bascule. Observer le fonctionnement aléatoire du système.

Simulation analogique : l’astable


Nous allons écrire un modèle comportemental de l’astable réalisé au TP précédent. Le modèle
proposé est le suivant (à droite) :

VCC
Horloge Convertisseur vers
RC1 RB1 RB2 RC2 numerique horloge analogique
1k 100k 100k 1k Rmoins
clk clk
C1 C2
H
VC2 tmp
Vtemp D
20n 20n
Rplus A


Q1 VB1 VB2 Q2
2N3904 2N3904 C

On génère un signal d’horloge numérique dont les caractéristiques temporelles sont calculées
en fonction des valeurs des résistances et condensateurs du circuit analogique de l’astable (à
gauche). On converti ce signal numérique en signal analogique 0 Volt, Vcc. Le lissage des
fronts est obtenu à l’aide du montage électronique à deux résistances, une diode et une
capacité. Ce montage permet de lisser les fronts d’horloge en contrôlant séparément les fronts
montants et les fronts descendants.
Récupérez l’ébauche de modèle de l’astable qui fait appel, entre autres, à une résistance, une
diode et une capacité qu’il faut également modéliser.

Les composants élémentaires


Ecrivez le modèle d’une résistance puis testez-le à l’aide d’un diviseur de tension
Ecrivez le modèle d’une capacité et testez-le à l’aide d’un filtre RC
Ecrivez le modèle d’une diode idéal sans tension de seuil et testez le avec un montage
approprié en simulation DC.

M. Madec, W. Uhring, Y. Hervé -2- 29/01/2011


ENSPS 2A – Promo 2007 – Travaux Pratiques de CAO/VHDL-AMS
L’astable complet
Complétez, dans le model de l’astable, le générateur d’horloge ayant les propriétés d’être à ‘1’
pendant un temps t HIGH et à ‘0’ pendant un temps bas t LOW (ces paramètres sont déjà définis
dans le modèle).
Simulez le comportement de l’astable.

Simulation globale
On veut utiliser le signal d’horloge généré par l’astable pour cadencer le compteur Jonhson.
L’astable génère une tension analogique en sortie alors que le compteur requière une horloge
numérique. Il faut donc employé un comparateur pour remettre l’horloge de l’astable en
forme.
Ecrivez le modèle d’un comparateur. Celui-ci doit comparer la tension appliquée à son entrée
à une tension de seuil (paramétrable) et générer en sortie un niveau logique ‘1’ si la tension
est supérieure ou un niveau logique bas ‘0’ si la tension est inférieure à la valeur de seuil.
Tout système numérique séquentiel doit avoir un système de remise à zéro. Récupérez le
modèle du générateur de reset et écrivez le modèle structurel du système complet Astable +
Compteur. Simulez le modèle complet.

DIGITAL_CLOCK
ALIM ANALOG_CLOCK
Q[3..0]
ANALOG_CLOCK DIGITAL_CLOCK
RESET
ASTABLE COMPARATEUR
COMPTEUR JOHNSON

DIGITAL_CLOCK

GENERATEUR DE RESET

Aspect thermique
Pour les étudiants rapides …
Une résistance voit sa valeur évoluer selon sa température. Pour prendre cette aspect en
compte, on peut, dans un premier temps, ajouter un terminal de température non conservatif
(sans flux de chaleur) sur lequel on peut appliquer la température à laquelle est la résistance.
On suppose que la dérive thermique de la résistance est linéaire et de 10 ppm (parties par
million) à 27°C.
Modifiez le modèle de la résistance afin de prendre en compte la température appliquée et
simulez-le à l’aide des stimuli qui vous semblent appropriés.
Dans une approche plus fine, on peut modéliser la capacité thermique de la résistance ( JK -1 )
ainsi que sa propre génération de chaleur (J=WS) par MODELE COMPLET DE LA RESISTANCE THERMIQUE
effet joule. De même, les échanges de chaleur avec l’air
peuvent être modélisés par une résistance thermique (
V+ Tresistance
KW -1 ). Le terminal devient alors conservatif car un
flux de chaleur peut passer de l’extérieur vers la
résistance et vice versa. Rel
Pth Rth Cth
Partez des modèles de la capacité et de la résistance
électrique pour écrire ceux de la résistance thermique et
M. Madec, W. Uhring, Y. Hervé -3- V- Tair 29/01/2011
ENSPS 2A – Promo 2007 – Travaux Pratiques de CAO/VHDL-AMS
de la capacité thermique. Modifiez ensuite le modèle de la résistance électrique afin de tenir
compte des effets thermiques dans un contexte global.

M. Madec, W. Uhring, Y. Hervé -4- 29/01/2011