• Aucun résultat trouvé

L'espace de solutions

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 X

N

=2

2N + 1 = 234

Les equations d'etat donnent (N + 1)

2

operations 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

2

N. 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 test

M

N

Mult

F

e

B V

M

N

ctrl

N 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 j

L

VM j+1

LV M >0

1 LV M = 0

LV M LV M <0

fMult =

8 > < > : 1 j

L

Mult j+1

LMult <0

1 LMult = 0

LMult LMult >0

fctrl =

8 > < > : 1 j

L

ctrl j+1

Lctrl <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