Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Dure : 4 heures
2 novembre 2006
Durant les exer
i
es le tableau suivant vous indiquera quelles notions de SystemC sont
ibles durant
l'exer
i
e.
COO Module Interfa
e Event Canaux
- Constru
teur D
laration Sensibilit des modules -
Le premier
omposant raliser est un additionneur binaire travaillant sur des mots de 8 bits. Nous
allons
on
evoir
e
omposant binaire partir des portes logiques lmentaires :
And2,
Or2,
Nand2,
Nor2,
Not,
gnrateur de valeur binaires,
moniteur d'a
hage
Choisissez une porte raliser en SystemC et pla
er les dans votre librairie de
omposants.
Tester le
omposant
re en l'insrrant dans un environnement de test : gnrateur de stimuli +
moniteur (
f.
ours).
1
Assembler les
omposants pour raliser l'additionneur binaire
orrespondant et insrrer le nouveau
dans la stru
ture de test.
Nous instan
ierons les additionneurs ainsi
rs dans la se
tion 1.5.
Ajouter votre
omposant de plus haut niveau (top module), les instru
tions SystemC n
essaires
pour un a
hage graphique de l'volution des signaux durant le temps de la simulation (
f.
ours).
Vrier l'a
ssibilit l'ex
utable situ :
/home/profs/miramond/lib/gtkWave/gtkwave/bin/gtkwave
Sinon, tl
harger le visualisateur de Waveforms l'adresse suivante
http ://home.n
.rr.
om/gtkwave/
Installer l'ar
hive en lo
al sur votre
ompte.
Dans les deux
as, utiliser le binaire gtkwave pour lire le
hier VCD produit l'tape pr
dente.
Vous allez maintenant raliser deux
ir
uits squentiels simples qui sont les bas
ules D. Vous raliserez
tout d'abord une bas
ule D
lassique ayant sur son interfa
e :
en entre, un boolen din,
et l'horloge,
en sortie un boolen dout.
Puis une bas
ule D RESET asyn
hrone ave
sur son interfa
e :
en entre, un boolen din,
l'horloge,
et un signal boolen de RESET,
en sortie un boolen dout.
Raliser
es 2
omposants puis valider les.
SystemC utilise de manire intensive une appro
he de
on
eption logi
ielle oriente objet. Un des besoins
pour a
lrer la
on
eption et l'exploration de nouveaux blo
s matriels est de raliser des modules
paramtrables en terme de :
valeurs de paramtres,
omme les valeurs des
o
ients d'un FIR par exemple,
en termes de types de ses attributs : virgule ottante ou xe, taille d'un ve
teur binaire ... ,
jusqu' la stru
ture mme d'un module qui peut tre paramtrable : additionneur travaillant sur
des tailles de mots variables ...
Le langage SystemC et sa base C++ permettent de rpondre
e besoin dirents niveaux de
modularit (ou de
onguration) :
la
ompilation,
lors de l'laboration,
l'ex
ution (i
i simulation).
Le paramtrage qui nous intresse
onsiste pouvoir instan
ier le nombre n
essaire de
omposants
lmentaires : additionneurs et bas
ules pour pouvoir raliser trois
omposants niveau mot :
un additionneur sur mot dont la taille est un paramtre,
un d
aleur sur mot dont la taille est un paramtre,
un multiplieur squentiel sur mot dont la taille est un paramtre.
2
Clairement,
e paramtrage est un paramtrage d'laboration qui sera ralis par l'intermdiaire du
paramtre du
onstru
teur de
es modules ainsi que par des pointeurs de modules. La stru
ture du
onstru
teur est la suivante :
// 1) de
laration of a signal named prev
onne
ted to the output
// of the previous instan
e of the elementary module
// 2) Loop to
reate and
onne
t the elementary modules a
ording to their order
// (Side effe
t)
// a) instan
iation of a pointeur on a module
// b)
onne
t it signals
Pour la validation de
es
omposants modier les
omposants stimuli et monitor pour avoir un nombre
de stimuli adquat.
A votre avis, est-il possible de raliser le mme paramtrage la simulation ?
(Pour
eux qui ne s'arrtent pas au sujet de TP), pour
omprendre
omment transformer les des
rip-
tions que vous venez d'
rire au
ir
uit physique, vous pouvez visiter les sites suivants :
http ://en.wikipedia.org/wiki/Ele
troni
_design_automation
http ://en.wikipedia.org/wiki/Integrated_
ir
uit_design