Jeudi 03 avril 2014 Exercice n°1

1
Jeudi 03 avril 2014
EXAMEN – Langage VHDL –
Durée : 2 heures – Jeudi 03 avril 2014
Documents autorisés : tous polycopiés VHDL
Documents interdits : TD et TP du cours VHDL
Téléphones portables interdits
Exercice n°1 - Réalisation d’un driver DAC101S101
L'objectif est de réaliser dans un FPGA Spartan6 de Xilinx, un driver (pilote) matériel pour
utiliser le convertisseur numérique-analogique DAC101S101 du fabricant "National
Semiconductor". Un extrait de la documentation technique du DAC est fourni en annexe.
Le schéma complet du driver DAC101S101 est représenté ci-dessous. Ce schéma sera la
dernière description VHDL « top_driverDAC », de type structurelle, que vous devrez réaliser
à partir des 3 symboles des descriptions VHDL suivantes : "div_freq", "fsm_DAC101S101", et
"registre_10b".
Ce schéma présente les entrées et sorties de la description « top_driverDAC », ainsi que les
signaux internes utilisées dans cette architecture.
2
Jeudi 03 avril 2014
b. Ecrire en VHDL l’entité de cette fonction.
c. Ecrire en VHDL l’architecture de cette fonction en utilisant une description
comportementale avec l'utilisation d'un processus. L'entrée de remise à zéro est
asynchrone et active à l'état haut ‘1’.
2. Fonction "registre_10b" :
Cette fonction est un registre 10 bit synchrone. Le bus de sortie de cette fonction prendra
la valeur du bus d’entrée lors d’un front montant de son signal d’horloge. Par ailleurs, ce
bus de sortie sera initialisé à zéro lorsque son entrée de remise à zéro asynchrone sera
activée par un niveau haut ‘1’.
a. Ecrire en VHDL l’entité de cette fonction.
b. Ecrire en VHDL l’architecture de cette fonction en utilisant une description
comportementale avec l'utilisation d'un processus.
3. Fonction "fsm_DAC101S101" :
Il s’agit ici du cœur de l’architecture qui est une machine à états finis de Moore (FSM). Le
graphe d’état de cette machine d’états finis est représenté ci-dessous.
1. Fonction "div_freq" :
a. Si le DAC101S101 est alimenté à 3,3 Volts, quelle est la fréquence maximale de
SCLK ?
Il s'agit de diviser la fréquence de 100 MHz du signal d'entrée "clk" en un signal d'horloge de
fréquence compatible avec le signal "sclk" (c'est-à-dire de fréquence égale ou inférieure à
celle déterminée à la question précédente).
Licence Professionnelle CONception des Systèmes Electroniques et oPToélectroniques
IUT d’Aix-Marseille Université
Licence Professionnelle CONception des Systèmes Electroniques et oPToélectroniques
IUT d’Aix-Marseille Université
3
Jeudi 03 avril 2014
a. Ecrire en VHDL l’entité de cette fonction.
b. Ecrire en VHDL l’architecture de cette fonction en utilisant une description
comportementale avec l'utilisation de trois processus.
4. Fonction "top_driverDAC" :
C’est la description correspondant au schéma donné en première page.
a. Ecrire en VHDL l’entité de cette fonction.
b. Ecrire en VHDL l’architecture de cette fonction en utilisant une description
structurelle avec l'utilisation de trois composants réalisés précédemment.
L’inverseur logique sera décrit en utilisant l’opérateur logique d’inversion du
VHDL directement dans une instruction concurrente !
Exercice n°2 - Descriptions VHDL d’une fonction combinatoire
1. Dessinez (en grand) la boîte noire en indiquant le nom, les entrées et sorties
correspondant à la description VHDL donnée ci-dessous.
2. A l'intérieur de la boîte noire, dessinez aussi clairement que possible, le schéma
électronique équivalent avec des portes logiques.
3. Quelle est la fonction combinatoire représentée par cette description ?
4. Ecrire une autre architecture en VHDL, nommée « ARCHI2 », correspondant à la
même fonctionnalité, mais utilisant l'instruction concurrente WITH/SELECT.
5. Ecrire une autre architecture en VHDL, nommée « ARCHI3 », correspondant à la
même fonctionnalité, utilisant l'instruction concurrente WHEN/ELSE.
4
Jeudi 03 avril 2014
Exercice n°3 – Machine à états finis de Moore
Un monte-charge dessert 2 étages. Pour sa commande, à chaque étage est prévu un bouton
poussoir permettant :
- à l’étage inférieur de demander la montée,
- à l’étage supérieur de demander la descente.
Pour que ces informations soient prises en considération, il est nécessaire que le montecharge soit à l’étage correspondant. Des capteurs permettent de connaître les positions
haute et basse du monte-charge.
Signaux de commande (actifs à ‘1’)
M : Montée
D : Descente
Informations (capteurs actifs à l’état haut)
fdcB : Fin de course ‘bas’
fdcH ; fin de course ‘haut’
BPM : Bouton Poussoir ‘haut’ pour monter
BPD : Bouton Poussoir ‘bas’ pour descendre.
Le graphe d’états finis est donné :
RAZ
etat1
FdcB
Remarques :
9 La clause OTHERS est nécessaire pour les questions 4 des exo1 et exo2, puisque le type des signaux permet
9 états possibles (std_logic : 10XZWHLU-).
9 Les instructions séquentielles doivent toujours se trouver à l'intérieur d'un processus.
9 Le 'begin' de l'architecture ne doit pas faire oublier le 'begin' des processus !
FdcB
BPM
etat4
etat2
D
M
BPD
etat3
FdcH
FdcH
Remarque : Dans la partie inférieur de chaque bulle est indiqué les signaux de commande actifs, c.à.d. mis à
l’état ‘1’. Si le nom n’apparaît pas, il sera inactif, c.à.d. à l’état logique’0’.
1.
2.
3.
4.
Sur un schéma bloc, répertoriez les entrées et les sorties de la machine d'états.
Ecrire l'entité en VHDL de cette machine d'états.
Ecrire l’architecture de cette machine d’états en utilisant 3 processus.
Modifiez le graphe d’état ci-dessus en ajoutant un signal d’urgence, nommé « URG »
actif à ‘1’. Lorsque ce signal sera activé, le monte-charge devra descendre au niveau
inférieur s’il n’y est pas ou rester à ce niveau s’il s’y trouve.
Remarque : compléter votre graphe d’état en utilisant un stylo de couleur vert de préférence.
Licence Professionnelle CONception des Systèmes Electroniques et oPToélectroniques
IUT d’Aix-Marseille Université
Licence Professionnelle CONception des Systèmes Electroniques et oPToélectroniques
IUT d’Aix-Marseille Université
Symbol
Parameter
fSCLK
SCLK Frequency
ts
Output Voltage Settling Time
(Note 10)
SR
Output Slew Rate
Glitch Impulse
Conductions
100h to 300h code
change, RL = 2kΩ
CL ≤ 200 pF
Code change from 200h to 1FFh
Digital Feedthrough
Typical
Limits
Units
(Limits)
30
MHz (max)
5
7.5
μs (max)
1
V/μs
12
nV-sec
0.5
nV-sec
VA = 5V
1.6
μs
VA = 3V
1.9
tWU
Wake-Up Time
1/fSCLK
SCLK Cycle Time
tH
SCLK High time
tL
SCLK Low Time
tSUCL
Set-up Time SYNC to SCLK Rising
Edge
−15
ns (min)
5
13
ns (min)
5
13
ns (min)
0
ns (min)
tSUD
Data Set-Up Time
2.5
5
ns (min)
Data Hold Time
2.5
4.5
ns (min)
tCS
SCLK fall to rise of SYNC
VA = 5V
0
3
ns (min)
VA = 3V
−2
1
ns (min)
2.7 ≤ VA ≤ 3.6
9
20
ns (min)
SYNC High Time
3.6 ≤ VA ≤ 5.5
5
Transfer Characteristic
μs
33
tDHD
tSYNC
DAC101S101
Values shown in this table are design targets and are subject to change before product release. The following specifications apply for VA = +2.7V to +5.5V, RL = 2kΩ to GND, CL = 200 pF to GND, fSCLK = 30 MHz, input code range 12 to 1011.
Boldface limits apply for TMIN ≤ TA ≤ TMAX: all other limits TA = 25˚C, unless otherwise specified.
DAC101S101
A.C. and Timing Characteristics
10
20154105
FIGURE 1. Input / Output Transfer Characteristic
ns (min)
Note 1: Absolute Maximum Ratings indicate limits beyond which damage to the device may occur. Operating Ratings indicate conditions for which the device is
functional, but do not guarantee specific performance limits. For guaranteed specifications and test conditions, see the Electrical Characteristics. The guaranteed
specifications apply only for the test conditions listed. Some performance characteristics may degrade when the device is not operated under the listed test
conditions.
Timing Diagram
Note 2: All voltages are measured with respect to GND = 0V, unless otherwise specified
Note 3: When the input voltage at any pin exceeds the power supplies (that is, less than GND, or greater than VA), the current at that pin should be limited to 10
mA. The 20 mA maximum package input current rating limits the number of pins that can safely exceed the power supplies with an input current of 10 mA to two.
Note 4: The absolute maximum junction temperature (TJmax) for this device is 150˚C. The maximum allowable power dissipation is dictated by TJmax, the
junction-to-ambient thermal resistance (θJA), and the ambient temperature (TA), and can be calculated using the formula PDMAX = (TJmax − TA) / θJA. The values
for maximum power dissipation will be reached only when the device is operated in a severe fault condition (e.g., when input or output pins are driven beyond the
power supply voltages, or the power supply polarity is reversed). Obviously, such conditions should always be avoided.
Note 5: Human body model is 100 pF capacitor discharged through a 1.5 kΩ resistor. Machine model is 220 pF discharged through ZERO Ohms.
Note 6: See the section entitled "Surface Mount" found in any post 1986 National Semiconductor Linear Data Book for methods of soldering surface mount devices.
Note 7: The analog inputs are protected as shown below. Input voltage magnitudes up to VA + 300 mV or to 300 mV below GND will not damage this device.
However, errors in the conversion result can occur if any input goes above VA or below GND by more than 100 mV. For example, if VA is 2.7VDC, ensure that −100mV
≤ input voltages ≤2.8VDC to ensure accurate conversions.
20154106
FIGURE 2. DAC101S101 Timing
20154104
Note 8: To guarantee accuracy, it is required that VA be well bypassed.
Note 9: Typical figures are at TJ = 25˚C, and represent most likely parametric norms. Test limits are guaranteed to National’s AOQL (Average Outgoing Quality
Level).
Note 10: This parameter is guaranteed by design and/or characterization and is not tested in production.
5
www.national.com
7
www.national.com