8 10 0 20 40 60 80 100 0 0.5 1 1.5 2 2.5 x 104 Fréquence d’échantillonage (MHz) Equations d’état Ordre N Fréquence opérationnelle (MHz) Architecture série Architecture intermédiaire Architecture parallèle
Figure 6.19: Evaluation de la testabilite en-ligne des architectures realisees a partir des
equations d'etat et pour ordre N= 2 a 10. Test semi-concurrent.
Le m^eme raisonnement peut ^etre applique aux ltres de type FIR pour les formes directes 1
et 2 et les equations d'etat.
6.7 L'espace de solutions
L'espace de solutions pour les ltres IIR comprend toutes les architectures, au niveau RTL,
qui peuvent resulter des dierentes structures de realisation. En plus de la structure de
realisation, nous allons considerer le nombre de multiplieurs au niveau RTL comme l'element
qui distingue une architecture de l'autre. Sans perte de generalite, l'analyse suivante
con-sidere un ordre N = 2 a 10.
Les formes directes 1 et 2 possedent 2N+ 1 operations de multiplication. Il en vient que
le nombre d'architectures qui correspondent a ces deux formes est :
2
10 XN
=22N + 1 = 234
Les equations d'etat donnent (N + 1)
2operations de multiplication. Cela donne le nombre
d'architectures possibles :
10 X
N
=2(N + 1)
2=501
Pour les structures decomposees, le nombre de sections qui doivent ^etre utilisees pour un
ltre d'ordre N est la valeur entiere de : log
2N. Il y a donc 29 architectures en sections pour
les ordres N = 2 a 10 et pour la structure cascade. Le m^eme nombre existe pour la structure
118
parallele ce qui donne 58 architectures. Pour une section d'ordre N = 2, il y a encore
2(2N + 1) = 10 architectures pour les formes directes 1 et 2 et (N + 1)
2= 9 architectures
a partir des equations d'etat. Le nombre total des architectures decomposees sera donc
: (9 + 10)
58 = 1102 architectures. En total, il ya 234+501+1102=1837 architectures.
C'est le nombre theorique des architectures. Beaucoup de considerations pratiques peuvent
diminuer ce nombre jusqu'a la moitie.
Les elements suivants caracterisent chaque architecture dans l'espace des solutions :
N : l'ordre du ltre
Fe : la frequence d'echantillonnage
B : la largeur en bits des multiplieurs
VM : le nombre de pas de contr^ole dedies au test en-ligne pendant une periode d'echantillonnage
NMult : le nombre de multiplieurs au niveau RTL
S : la structure de realisation
Mtest : la methode de test en-ligne
Nctrl : le nombre de pas de contr^ole de la periode fonctionnelle
FOp : la frequence operationnelle du ltre.
L'ordre du ltre, la frequence d'echantillonnage et la largeur en bits des operateurs sont
lies directement au fonctionnement et a la stabilite du ltre et sont consideres xes par
l'utilisateurs. L'outils peut proposer de changer l'un de ces elements si les contraints imposees
au systeme ne sont pas satisfaites.
Pour le test en-ligne non-concurrent, le nombre de vecteurs de test pour un multiplieur
depend de sa largeur en bits B. Cette valeur est recherche dans une base de donnees qui
contient cette information pour chaque largeur en bit d'unites fonctionnelles (gure (6.7)).
VM est calcule a partir de cette valeur et de la valeur de la latence de faute imposee sous
forme de contrainte de test en-ligne.
C^ote test en-ligne semi-concurrent,VM represente le nombre de pas de contr^ole necessaires
pour la verication des unites fonctionnelles (exploitation de la distributivite) ou pour
completer l'ordonnancement du graphe de test en-ligne (verication globale du calcul).
Le nombre de pas de contr^ole ainsi que la frequence operationnelle du ltre sont calcules
a partir des valeurs de NMult, S etMtest.
6.7.1 Chromosome
Les elements qui caracterisent chaque architecture dans l'espace des solution, voir la section
precedente, sont utilises pour representer un individu dans une population. Chaque individu
aura la forme suivante :
F
Op testM
N
MultF
eB V
MN
ctrlN S
119
Trois parties peuvent ^etre distinguees dans ce chromosome. Ce sont la prtie obligatoire, la
partie facultative et la partie calculee.
La premiere partie, celle obligatoir, se compose de trois elements : l'ordre du ltre N, la
frequence d'echantillonnageFe et la largeur en bit des operateursB. Ces valeurs concernent
directement le calcul des coecients du ltre et ses caracteristiques fonctionnelles. Notre
programme de compilation et d'ordonnancement ne se permet de changer ces valeur que sous
forme de propositions si aucune autre solution n'est pas trouvee.
La deuxieme partie est celle facultative. Cette partie conserne le nombre de multiplieurs
au niveau RTLNMult, la structure de realisation S et la methode de test en-ligneMtest. C'est
la partie qui va servir essentiellement pour l'exploration de l'espace de solutions. Le fait que
ces elements soient facultatifs est limite par le fait que le concepteur peut les imposer sous
forme de contraintes.
La troixieme partie est calculee a partir des elements precedents. Elle se compose du
nombre de pas de contr^ole du graphe de ot de donnees ordonnance Nctrl, du nombre de
pas de contr^ole dedies au test en-ligne VM et de la valeur de la frequence operationnelle du
systeme FOp.
Il y a deux approches pour le calcule de la frequence operationnelle. La premiere
con-siste a calculer la frequence operationnelle maximale que permet le cible technologique.
Pour ce faire, le delai du multiplieur est utilise a partir de la base de donnees qui
con-tient les caracteristiques des unites fonctionnelles. A partir de la valeur obtenue pour la
frequence operationnelle, le nombre de pas de contr^ole de l'intervalle oisif de la periode
d'echantillonnage peuvt ^etre calcule. Ce nombre doit ^etre supperieur ou egale aVM calcule a
partir de la valeur de la latence de faute imposee au systeme. La deuxieme approche pour le
calcul de la frequenc operationnelle consiste a determiner d'abord la structure de realisation
et le nombre de multiplieurs pour denir l'architecture et calculer le nombre total de pas de
contr^ole de l'intervalle fonctionnelle Nctrl. Ensuite, VM est calcule a partir de la latence de
faute imposee. Enn, la frequence operationnelle necessaire pour faire fonctionner le systeme
est calculee. L'avantage de la deuxieme approche est de faire fonctionner le systeme a la
frequence operationnelle minimale pour minimiser la consommation du systeme.
6.7.2 Codage
Un codage mixte du chromosome est choisi. Une partie des elements construisant le
chro-mosome est representee en decimal alors que l'autre partie est representee en binaire.
Les elements codes en decimal sont ceux de la premiere et de la troixieme partie
(obliga-toire et calculee). Les elements de la partie facultative sont codes en binaire. La methode de
test en-ligne Mtest prend deux valeurs, NC= non-concurrent et SC= semi-concurrent avec
un bit de code associe 0 et 1 respectivement. Le nombre de multiplieurs au niveau RTL est
code sur 7 bits pour pouvoir manipuler des ltre d'ordre N >7 decrit en equations d'etat.
La structure de realisation est codee sur deux bits. Elle prennent les valeurs indiquees dans
le tableau (6.1).
6.7.3 Fonction d'evaluation
L'evaluation de chaque individu se fait par le contr^ole de trois elements : VM,NMult etNctrl.
Ces elements representent respectivement les contraintes de test en-ligne, les contraintes de
surface et les contraintes de delai. La distance entre les valeurs references calculees a partir
120
Structure Directe 1 Directe 2 Equations d'etat Decomposee
S D1 D2 EE DEC
Code 00 01 10 11
Table 6.1: Codage de la structure de realisation.
des contraintes imposees et les valeurs de ces elements pour chaque individu determine sa
"tness". Les denitions suivantes vont servire au calcul de la "tness" :
LV M =VM
ref;
VM : la dierence entre la valeur reference imposee par les contraintes de
test en-ligne et VM
LMult =NMult
ref;
NMult : la dierence entre la valeur reference imposee par les contraintes
de surface et NMult
Lctrl =Nctrl
ref;
Nctrl : la dierence entre la valeur reference imposee par les contraintes
de delai et Nctrl.
fV M : la "tness" en testabilite en-ligne
fMult : la "tness" en surface
fctrl : la "tness" en delai.
La "tness" de l'individu comporte donc trois valeurs. Ces valeurs sont calculees par les
relations suivantes :
fV M =
8 > < > : 1 jL
VM j+1LV M >0
1 LV M = 0
LV M LV M <0
fMult =
8 > < > : 1 jL
Mult j+1LMult <0
1 LMult = 0
LMult LMult >0
fctrl =
8 > < > : 1 jL
ctrl j+1Lctrl <0
1 Lctrl = 0
Lctrl Lctrl >0
Le resultat suivant peut ^etre tire de ces fonctions d'evaluation :
1> fitness >0 : l'individu ne satisfait pas aux contraintes imposees
fitness= 1 : l'individu represente exactement les contraintes imposees
121
Dans le document
Synthèse de haut niveau pour la testabilité en-ligne
(Page 119-123)