• Aucun résultat trouvé

Optimisation de la multiplication sous contraintes technologiques

Les m^emes technologies que pour l'addition sont utilisees pour la multiplication. Pour les CPLD, les deux encodages de Booth et de decomposition de la multiplication sont ecacement implantes, suivis des arbres de Wallace et de l'additionneur rapide des sections precedentes. Puisque le niveau de macro-cellule doit ^etre minimise, nous sommes arrives a: (1) implanter l'encodage de Booth sur un seul niveau de cellule, (2) implanter un multiplieur de Braun [53] de trois bits sur un niveau de macro-cellule (on en utilise en toutdn

3 e

2), (3) implanter un niveau de reduction de Dadda sur un niveau de macro-cellule. Le nombre d'operandes produits par les encodages sont respectivement de b

n

2 + 1c et 2d n 3

e,1. Par consequent, le delai de ces multiplieurs est exprime ci-dessous. C'est pourquoi la solution de Booth ne sera retenue que pour les multiplications de plus de 8 bits.

Optimisation de la multiplication sous contraintes technologiques

82 8 < : tBooth = 2 +Dadda(b n 2 + 1c) +d d 2n 4 e 16 e; tdecomposition = 2 +Dadda(2d n 3 e,1) +d d 2n 4 e 16 e: (4.16)

Les additionneurs sur FPGA Xilinx 5200 ont mis en evidence l'utilitede l'approche technologique serielle. La multiplication peut donc aussi tirer pro t de cette approche structurelle en decomposant la multiplicationen un arbre dichotomique d'additionneurs binaires [43b], comme illustre sur la gure 4.16: les additionneurs sont de tailles crois-santes puisque les retenues generees a un etage font partie de l'etage suivant. Les additionneurs series sont concus en utilisant deux techniques:

 Un etage est partiellement reutilise dans le suivant. Le terme de propagation s'appuie sur les sorties de l'etage precedent (selon Sk S0

k) qui peuvent ^etre reinjectees en (G0

k,1

Pkk)(G00

k,1

Pk0k) et contenues dans un LUT a quatre entrees. Les sorties Sk et S0

k sont tout de m^eme utilisees, mais au niveau de FMAP suivant.

 Les retenues ne se propagent pas a travers tous les additionneurs d'une branche de l'arbre. Puisque celles-ci se propagent de la m^eme facon pour tous les etages, une seule d'entre elles est comptabilisee dans le chemin critique.

10 10 10 10 12 13 16 8 8 8 8 10 10 13 Xor2 Xor2 Xor2 Xor2 Xor2 Xor2 Xor2 Xor4 8 8 8 8 8 10 10 12 16 CY_MUX 16 2 LUTs 1 LUT 1 LUT P’kk G’k-1 0 k-1 0 G k k P chemin critique

a7.b a6.b a5.b a4.b a3.b a2.b a1.b a0.b

additionneur 8 bits a.b

Figure 4.16: Multiplieur structurel de 8 bits.

Le delai theorique est donne ci-dessous. Notons toutefois que puisque chaque etage produit 2n connexions avec les etages suivants, cette architecture peut sou rir de problemes de routage.

Conclusion

83 De m^eme que pour les CPLD, l'algorithme de Booth/Wallace est implante en utilisant deux FMAP pour l'encodage et une pour une etape de reduction respective-ment. En reecrivant la serie geometrique de Dadda en UN 2(3

2)N, le delai de cette architecture classique est de:

tBooth (1 + lnn

4 ln3 2

):tFMAP +tparallele: (4.18)

Pour les operandes de tailles moderees, les additionneurs serielles et parallele ont le m^eme delai donc la vitesse des deux architectures depend du termelog2(n),2,

lnn

4 ln3 2

qui est negatif pourn 5. L'approche structurelle semble donc la plus performante. Mal-heureusement, les penalites de connectivite rendent cette architecture non routable pour plus de 18 bits (le multiplieurs 13 bits est m^eme incompletement route). Mais puisque cette approche est deux fois plus petite que son equivalente algorithmique, elle sera choisie chaque fois que la taille de l'operande est faible. Autrement, le mul-tiplieur de Booth/Wallace sera retenu. La gure suivante resume graphiquement les resultats experimentaux obtenus a l'aide des outils de placement et routage de la societe Xilinx. Elle montre clairement le comportement lineaire ou logarithmique des di erents additionneurs ainsi que la comparaison entre l'approche structurelle et al-gorithmique des multiplieurs.

Nous fournissons donc en n de chapitre l'ensemble des experimentations ef-fectuees sur la cible Xilinx 5200. On a represente les performances des additionneurs et des multiplieurs. L'objectif est de bien visualiser le delai lineaire de la solution serie existante et les delais logarithmiques des deux solutions proposees. La di erence est trese importante pour 80 bits.

4.8 Conclusion

Nous avons presente la structure des blocs classiques utilises dans un macro-generateur de synthese RTL. Le formalisme de l'addition que nous avons introduit permet a l'outil de satisfaire au mieux les contraintes temporelles ou technologiques. Les multiplieurs peuvent egalement trouver un bon compromis entre les contraintes technologiques, les contraintes temporelles et de consommation.

Chapitre 5

Conception de Blocs de Codage

Correcteur d'Erreur

5.1 Introduction

La synthese comportementale decoupe les pas de calcul en ensembles de cycles d'horloge pour fournir une architecture synchrone. Une fois le code source debarasse de tous les details relatifs au langage de description, la synthese comportementale realise l'ordonnancement, l'allocation, puis l'allocation des connexions.

Plus le niveau de description est eleve, plus le concepteur a le desir d'exprimer, via la bibliotheque de blocs, des operations complexes. Ainsi, il pourra en un minimum d'e ort concevoir un circuit de grande taille. L'utilisation des blocs reutilisables dans la phase de synthese comportementale a ete developpee au chapitre 2. La seconde partie du travail consiste donc a construire une bibliotheque de blocs reutilisables. C'est justement la contribution de ce chapitre. La gure 5.1 illustre l'inference d'un bloc de codage remplacant un pas de calcul dans une description comportementale. Le code RTL produit integre donc la description correspondante.

I’ I’’ I O A C B Z description RTL ordonnancement et allocation

pas de calcul Z <= Codage(A, B, C)

bibliothèque

Figure 5.1: L'etape de reutilisation en synthese comportementale.

Nous avons concus un ensemble de blocs comportementaux utilisables dans une 85

Theorie du codage

86 m^eme application. Ils s'articulent autour de la redondance presente dans l'information transmise par les systemes de communication. On l'enleve a n de diminuer la taille de l'information a transmettre, mais on en ajoute pour assurer l'integrite des donnees. Il s'agit des operations de correction d'erreur et de compression. L'objectif de ce chapitre est triple:

 Construire tous les blocs presents dans une application speci que developpee a TCS, a savoir un systeme de communication d'images muni d'un codage cor-recteur d'erreur complexe.

 Proposer a des clients eventuels un eventail homogene d'IP's pouvant satisfaire toutes les contraintes de surface ou de debit.

 Valider notre methodologie de conception sur des applications industrielles. Le chapitre est compose comme suit: suite a une br^eve introduction de la theorie du codage, le chapitre presente les codes convolutionnels puis les codes de Reed-solomon. Pour chacun d'entre eux, on presente les architectures implantees, la methodologie de conception, puis les resultats experimentaux obtenus.