2.4.3.2 Consommation dynamique
Une porte logique consomme de la puissance dynamique à
chaque fois que la capacité à son noeud de sortie est
chargée ou déchargée. Un modèle assez
précis, et communément utilisé, de ce type de consommation
est le suivant :
P g 0 . 5 * V dd 2 * f * C g
* N g
= (2.6)
Vdd est la tension d'alimentation de la porte g ; f est la
fréquence de fonctionnement de la porte ; Cg est la capacité au
noeud de sortie de g et Ng est le nombre de transitions (charges et / ou
décharges) de Cg (Ng représente l'activité dynamique de la
porte g).
La consommation de la puissance dynamique d'un circuit
constitué d'un certain nombre de portes logiques est alors :
Nb Portes
P = 0 . 5 * 2 * *
V dd f C i N i
* (2.7)
i = 1
Notons que ce modèle est valide si on suppose que
toutes les portes du circuit sont alimentées par la même tension
d'alimentation. D'autres types de conception (qui sortent du cadre de ce
travail) nécessitent d'autres modèles.
L'équation (2.7) paraît toute simple, mais en
fait elle cache un vrai problème : il est très difficile
d'évaluer la consommation de la puissance dynamique d'un circuit. En
effet, le paramètre Ni est un vrai casse-tête. Rappelons que Ni
représente l'activité dynamique de la porte i du circuit, ou le
nombre de fois que la capacité au noeud de sortie de i a transité
d'un état à l'autre (charge ? décharge ou décharge
? charge).
Le seul moyen de déterminer Ni est de tracer, à
chaque nouveau vecteur de signaux d'entrée, l'état
précédent de cette capacité (chargée ou
déchargée) et son état actuel avec le nouveau vecteur.
Ceci permettrait alors de savoir si la capacité a changé
d'état (incrémenter Ni) ou pas. Calculer de manière exacte
Ni nous conduirait de considérer chaque ancien vecteur
avec tous les nouveaux vecteurs possibles. Un circuit à
M signaux d'entrée nous amènerait à considérer
2M anciens vecteurs possibles, à combiner avec 2M
nouveaux vecteurs possibles, soit un total de paires de vecteurs à
étudier égal à 2M * 2M =
22*M !!! Pour bien saisir la difficulté du problème,
considérons un simple circuit tel qu'un additionneur à 32 bits.
Cet additionneur aura donc en entrée 64 signaux (32 signaux pour chaque
valeur à additionner). La détermination exacte de
l'activité dynamique pour cet additionneur nécessiterait alors
l'exploration de 22*64=2128 paires de vecteurs, soit des milliards
de possibilités, qu'il est impossible d'explorer toutes, même avec
un processeur de nos jours. Quand il s'agit de déterminer la
consommation de la puissance dynamique de tout un système, autant dire
que le problème posé n'est pas du tout simple et qu'il
nécessite de ce fait des méthodes adéquates et
rigoureuses. Ceci étant, notons que dans le cadre de notre travail, nous
utilisons des instances déjà
caractérisées par leur consommation de puissance.
Néanmoins, à l'inverse de la surface et du temps induits par la
combinaison d'instances, la consommation de la puissance engendrée par
cette combinaison n'est pas simplement la somme des puissances de ces
instances. Nous discuterons ultérieurement de ce point, après
avoir défini la consommation due aux fuites de courant.
|