Brevet FR2850766A1 — publié le 20040806

Circuit électronique configurable, en particulier dédié au calcul arithmétique L'invention concerne les circuits électroniques configurables, en particulier mais non limitativement ceux dédiés au calcul arithmétique. Parmi les circuits configurables classiques, on peut citer les circuits prédiffusés programmables (circuits FPGA Field Programable Gate Array) commercialisés par la société Xilinx. Ces circuits sont formés de tables de correspondance ou mémoires (look-up tables) qui peuvent être programmées indépendamment, et d'éléments d'interconnexion eux-mêmes programmables. Ces tables de correspondance ont une granularité de programmation fine, 15 généralement au niveau bit, et permettent de réaliser des fonctions logiques classiques telles que de fonctions OU, ET. , à deux ou trois entrées...DTD: Dès que l'on souhaite réaliser un multiplieur avec de tels circuits, on obtient un circuit ayant une grande surface. Des familles de produits commercialisés par la société Xilinx, comme les produits de la famille Virtex, incorporent certes des multiplieurs, par exemple des multiplieurs 18 x 18 bits. Cependant, on se heurte à une certaine rigidité dans la programmation de ces multiplieurs. En effet, il n'est alors pas du tout aisé de réaliser à partir 25 de ces multiplieurs 18 x 18 bits, des multiplieurs 8 x 8 bits par exemple, ou bien des multiplieurs 32 x 32 bits. L'invention vise à apporter une solution à ce problème. Un but de l'invention est de proposer un circuit électronique, en particulier dédié au calcul arithmétique, par exemple aux types de 30 calculs effectués dans des processeurs en bande de base incorporés dans des téléphones mobiles cellulaires, qui soient configurables et présentent une grande flexibilité de programmation. En d'autres termes, le circuit selon l'invention sera réalisé avant de connaître les fonctions arithmétiques et/ou logiques qui seront réellement exécutées dans l'application envisagée. Par ailleurs, le circuit selon l'invention vise à proposer un 5 degré de programmabilité au niveau des bits des opérations, tout en offrant une taille raisonnable. Le circuit électronique reconfigurable selon l'invention comprend au moins une brique de base, ou tuile. Cette tuile comporte au moins deux cellules élémentaires 10 mutuellement connectées. Chaque cellule élémentaire comporte - un multiplieur, - une unité arithmétique et logique capable d'effectuer au moins une fonction arithmétique et/ou logique 15 sélectionnable parmi un jeu prédéterminé de fonctions arithmétiques et/ou logiques, - un bus vertical, - un premier bloc d'aiguillage configurable, connecté sur le bus vertical et aux entrées du multiplieur, 20 - un deuxième moyen d'aiguillage configurable, connecté sur le bus vertical et à la sortie du multiplieur, - un troisième moyen d'aiguillage configurable connecté sur le bus vertical et à la sortie du multiplieur de l'autre cellule élémentaire de la tuile, - un deuxième bloc d'aiguillage configurable connecté sur le bus vertical et aux entrées de l'unité arithmétique et logique, - un quatrième moyen d'aiguillage configurable connecté sur le bus vertical et à la sortie de l'unité arithmétique et logique, - un bus de propagation de retenue reliant les deux unités arithmétiques et logiques des deux cellules élémentaires, - un bloc terminal d'aiguillage, configurable, connecté sur le bus vertical, et - un bus horizontal reliant les deux blocs terminaux d'aiguillage des deux cellules élémentaires. Le caractère configurable de la tuile elle-même est fourni notamment par le caractère configurable des unités arithmétiques et logiques vis-à-vis des fonctions arithmétiques et/ou logiques qui peuvent être sélectionnées (configurées) parmi un ensemble de fonctions possibles prédéterminées, ainsi que par le caractère 10 configurable des blocs et moyens d'aiguillage (interconnexion). Ceci permet en effet de sélectionner tout ou partie des bits des mots véhiculés sur les bus horizontaux et verticaux, de façon à pouvoir sur commande, soit les aiguiller vers l'une ou l'autre des deux cellules élémentaires, soit réaliser des opérations arithmétiques, logiques, ou 15 des multiplications avec un nombre variable de bits. Des moyens de commande sont associés à la tuile pour délivrer des signaux de configuration permettant de configurer les différents registres et éléments des unités arithmétiques et logiques, des multiplieurs, ainsi que les moyens et blocs d'aiguillage. Selon un mode de réalisation, chaque multiplieur est un multiplieur de m x n bits possédant deux entrées respectivement destinées à recevoir deux mots de m et n bits, et une sortie destinée à délivrer un mot de sortie de m + n bits. Le deuxième moyen d'aiguillage d'une première cellule 25 élémentaire de la tuile est alors destiné à recevoir n bits de poids faible du mot de sortie délivré par le multiplieur de la première cellule, tandis que le troisième moyen d'aiguillage de cette première cellule élémentaire est destiné à recevoir n bits de poids faible du mot de sortie délivré par le multiplieur de la deuxième cellule élémentaire de la tuile. 30 Par ailleurs, le deuxième moyen d'aiguillage de la deuxième cellule élémentaire est destiné à recevoir m bits de poids fort du mot de sortie délivré par le multiplieur de cette deuxième cellule tandis que le troisième moyen d'aiguillage de cette deuxième cellule élémentaire est destiné à recevoir m bits de poids fort du mot de sortie délivré par le multiplieur de la première cellule élémentaire. Ainsi, lors de la mise en oeuvre par exemple d'une 5 multiplication complexe d'un premier nombre complexe égal à ar+jai et d'un deuxième nombre complexe égal à br+jbi, une tuile va réaliser les produits partiels ar.br et a1.bi. Si l'on suppose que a1, a, est codé avec n bits et b1, bi avec m bits, le bus vertical d'une première cellule élémentaire véhicule à la sortie du multiplieur les 2n bits de poids 10 faibles du résultat de la multiplication, à savoir les n bits de poids faibles du produit ab, et les n bits de poids faibles du produit aibi. Par ailleurs, le bus vertical de l'autre cellule élémentaire véhicule les 2m bits de poids forts, à savoir les m bits de poids forts du produit abr et les m bits de poids forts du produit aibi. Par ailleurs, dans un tel mode de réalisation, chaque bus de la tuile est capable par exemple de véhiculer des mots ayant un nombre de bits au moins égal au plus petit commun multiple (ppcm) de m et de n. Selon un mode de réalisation particulièrement simple, m est égal à n. Dans ce cas, chaque bus de la tuile possède par exemple p 20 pistes de n bits, p étant un entier supérieur à 1. Ainsi, dans un tel mode de réalisation, les moyens et blocs d'aiguillage configurables peuvent être configurés pour sélectionner des pistes particulières des bus, de façon par exemple à traiter des mots de n bits circulant sur une piste particulière d'un bus et restituer le résultat 25 de l'opération sur une autre piste du bus. De façon à réaliser un circuit configurable ayant une structure plus importante avec plus de possibilités de calcul ou pouvant effectuer des calculs sur des données présentant un nombre plus important de bits, plusieurs tuiles peuvent être mutuellement connectées. Par ailleurs, il est particulièrement avantageux que les tuiles soient alors connectées en quinconce, ce qui facilite notamment l'ordonnancement des opérations dans le cas de multiplications sur des nombres de bits élevés faisant intervenir plusieurs tuiles. Selon un mode de réalisation de l'invention, le circuit comprend en outre un module d'extension de signe connecté entre deux 5 tuiles adjacentes d'une même rangée horizontale, ce module d'extension de signe étant connecté entre l'unité arithmétique et logique d'une cellule élémentaire d'une première tuile et le bus vertical de la cellule élémentaire de la deuxième tuile, cette cellule étant immédiatement adjacente à ladite cellule élémentaire de la première tuile. La présence d'un tel module d'extension permet de réaliser l'extension de signe sans utiliser à cet égard l'unité arithmétique et logique. Cependant, on pourrait, dans certaines applications, s'affranchir d'un tel module d'extension de signe et réaliser cette fonction dans l'unité arithmétique et logique. Afin notamment de permettre une réalisation aisée d'opérations d'accumulation étendues, il est particulièrement avantageux que la tuile comprenne en outre une rangée supplémentaire d'unités arithmétiques et logiques. Plus précisément, une telle rangée supplémentaire comporte - deux prolongements de bus verticaux respectivement connectés sur les deux blocs terminaux d'aiguillage, - deux blocs terminaux supplémentaires d'aiguillage respectivement connectés sur les deux prolongements de bus verticaux, - un bus horizontal supplémentaire connecté entre les deux blocs terminaux supplémentaires, - deux unités arithmétiques et logiques supplémentaires respectivement connectées sur les deux prolongements de bus verticaux par l'intermédiaire de moyens d'aiguillage 30 supplémentaires configurables, et - un bus supplémentaire de propagation de retenue connecté entre les deux unités arithmétiques et logiques supplémentaires. Il est alors prévu avantageusement des bus spécifiques 5 permettant de longues connexions, reliant entre elles les unités arithmétiques et logiques supplémentaires de tuiles adjacentes d'une même colonne. Le circuit configurable selon l'invention est par exemple réalisé sous forme de circuit intégré. D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée de modes de réalisation, nullement limitatifs, et des dessins annexés sur lesquels: - la figure 1 représente schématiquement un mode de réalisation d'une tuile selon l'invention, - la figure 2 illustre plus en détail une partie de la tuile de la figure 1 dans une application particulière, - les figures 3 à 7 illustrent plus en détail mais toujours schématiquement certaines parties d'une tuile selon l'invention, - la figure 8 illustre un mode de réalisation d'un circuit selon l'invention comportant plusieurs tuiles connectées en quinconce, les figures 9 et 10 illustrent schématiquement un exemple d'opération réalisable par un circuit selon l'invention, et 25 - les figures 11 et 12 illustrent schématiquement un autre exemple d'opération réalisable par un circuit selon l'invention. Sur la figure 1, la référence TL désigne une brique de base, ou tuile, d'un circuit configurable selon l'invention. Cette tuile TL est 30 ellemême configurable et est formée ici de deux cellules élémentaires CEL1 et CEL10 mutuellement connectées. La cellule CEL1 comporte une borne BE1, qui peut constituer une borne d'entrée ou bien une borne de sortie. De cette borne BE1 part un bus vertical BSV1 constitué dans le cas présent de p pistes de n bits chacune, par exemple de 16 bits chacune. Sur ce bus vertical BSV1, est disposé un premier bloc d'aiguillage configurable formé ici de deux moyens d'aiguillage élémentaires CBX1A et CBX1B. Les sorties latérales de ces deux moyens élémentaires 10 d'aiguillage CBXlA et CBX1B sont reliées par deux bus secondaires aux deux entrées d'un multiplieur MXl, qui est dans le cas présent un multiplieur n x n bits. CE multiplieur MX1 délivre un mot de sortie de 2n bits (en l'espèce 32 bits) sur un bus de sortie qui se divise en deux parties. Une première partie de ce bus, véhiculant en l'espèce n bits, est connectée à un deuxième moyen d'aiguillage configurable CBX2 également connecté sur le bus vertical BSVl. La deuxième partie de ce bus de sortie, véhiculant également n bits, est reliée à un troisième moyen d'aiguillage configurable CBX30 20 connecté sur le bus vertical BSV10 de l'autre cellule élémentaire de la tuile, référencée CEL10. Le troisième moyen d'aiguillage configurable CBX3 de la cellule CEL1, est, quant à lui, connecté à la fois sur le bus vertical BSV1, ainsi qu'à la sortie du multiplieur MX10 de la cellule CELlO. 25 Ce moyen d'aiguillage CBX3 est destiné à recevoir n bits du mot de sortie délivré par le multiplieur MX10, tandis que les n bits restants sont délivrés au deuxième moyen d'aiguillage configurable CBX20 de la cellule CEL1O. Un deuxième bloc d'aiguillage configurable, formé ici de deux 30 moyens élémentaires d'aiguillage CBX4A et CBX4B sont à la fois connectés sur le bus vertical BSV1, ainsi qu'aux deux entrées d'une unité arithmétique et logique ALU1. Un quatrième moyen d'aiguillage configurable CBX5, est connecté sur le bus vertical ainsi qu'à la sortie de l'unité arithmétique et logique ALU1. Par ailleurs, un bus de propagation de retenue BPR relie les 5 deux unités arithmétiques et logiques ALU1 et ALU10 des deux cellules CEL1 et CEL10. Enfin, un bloc terminal d'aiguillage configurable SBX1, est connecté à la fois sur le bus vertical BSV1, ainsi que sur un bus horizontal BH reliant les deux blocs terminaux d'aiguillage SBX1 et 10 SBX1O des deux cellules CEL1 et CELIO. Ce bus horizontal BH est également, dans le cas présent, un bus formé de p pistes de n bits chacune. Dans le cas o la tuile TL ne comporte pas de rangée supplémentaire RS d'unités arithmétiques et logiques, telle que celle 15 illustrée avec des hachures sur la figure 1, les deux blocs terminaux d'aiguillage SBX1 et SBX10 forment deux autres bornes d'entrée/sortie de la tuile TL. Bien entendu, les moyens d'aiguillage CBX10A, CBX1OB, CBX40A, CBX40B, et CBX50, sont identiques aux moyens 20 homologues de la cellule CEL1. Avant de revenir plus en détail sur la structure et la fonctionnalité de la rangée supplémentaire RS d'unités arithmétiques et logiques, on se réfère maintenant plus particulièrement à la figure 2 pour évoquer un mode de réalisation encore plus général de la tuile 25 selon l'invention. En effet, selon la figure 2, les multiplieurs MX1 et MX10 des deux cellules CEL1 et CEL10 de la tuile TL sont des multiplieurs m x n bits et délivrant par conséquent des mots de sortie de m+n bits. Dans ce cas, comme illustré sur la figure 2, les n bits du mot de 30 sortie délivré par le multiplieur MX1 sont dirigés vers le deuxième moyen d'aiguillage CBX2 tandis que les m bits restants sont dirigés vers le troisième moyen d'aiguillage CBX30 de la cellule CEL10. De même, les n bits du mot de sortie délivrés par le multiplieur MX10 sont délivrés vers le troisième moyen d'aiguillage CBX3 de la cellule CLI tandis que les m bits restants sont dirigés vers le deuxième moyen d'aiguillage CBX20 de la cellule CL10. Dans ce mode de réalisation, chacun des bus verticaux BSV1 et BSV10 comporte un nombre de bits au moins égal au plus petit commun multiple de m et de n (ppcm(m,n)). On se réfère maintenant plus particulièrement aux figures 3 à 7 pour décrire plus en détail certaines parties des cellules élémentaires 10 de la tuile TL. La figure 3 illustre schématiquement un mode de réalisation d'une unité arithmétique et logique ALU. Une telle unité est classique et de structure connue en soi. Plus précisément, elle comporte ici des blocs BLL capables de réaliser des fonctions arithmétiques et/ou 15 logiques prédéterminées. Ces blocs BLL sont configurables par des signaux de configuration CONF émis par des moyens de commande MCM. Ces signaux de configuration permettent, lors de chaque application, de configurer les blocs BLL de façon à définir les fonctions arithmétiques et/ou logiques qui seront effectivement 20 effectuées par l'unité ALU. Ces blocs BLL reçoivent chacun deux bits ai, bi appartenant aux deux mots d'entrée reçus par l'unité ALU. Les n bits du résultat ri sont par exemple stockés dans des registres RGRS qui sont ici des registres de pipeline destinés à 25 améliorer les performances en vitesse des tuiles. Ceci étant, le stockage des bits du résultat dans des registres n'est pas indispensable. Par ailleurs, un moyen RGRE permet de stocker la retenue éventuelle résultant des opérations effectuées par les blocs BLL. La retenue finale est transmise sur le bus de propagation de retenue BPR. Le moyen RGRE reçoit une retenue initiale, par exemple égale à zéro pour une addition et égale à 1 pour une soustraction. La figure, 4 et la figure 5 illustrent plus précisément la structure d'un bloc terminal d'aiguillage tel que par exemple celui référencé sous la référence SBX1. Ce bloc terminal SBX, ou bloc d'interconnexion (crossbar) 5 comporte autant de moyens d'interconnexion élémentaires qu'il y a de pistes p sur les bus verticaux et horizontaux BSV et BH. Dans l'exemple illustré sur la figure 4, le nombre de pistes p est pris égal à 4, chaque piste pouvant véhiculer par exemple des mots de 16 bits. Chaque moyen d'interconnexion élémentaire CSB est placé à 10 l'intersection entre une piste pBSV du bus vertical BSV et la piste homologue pBH du bus horizontal BH. Chaque moyen d'interconnexion élémentaire CSB est configurable en ce sens qu'un mot provenant d'une piste de l'un des bus BSV ou BH peut être aiguillé vers la piste homologue du même 15 bus ou du bus orthogonal, et ce quelle que soit la direction de circulation du mot. A cet égard, un moyen d'interconnexion élémentaire CSB peut être par exemple celui illustré schématiquement sur la figure 5. Il se compose ici de six transistors T1-T6 connectés en losange. Chaque 20 transistor est commandable sur sa grille de façon à configurer l'aiguillage ainsi formé. Par ailleurs, sur deux des entrées/sorties, on peut disposer préférentiellement des paires d'amplificateurs avec commande trois états (tristate) BF1 et BF2 (buffers). Ces " buffers " remettent en forme le signal en deux étages d'interconnexion, et la 25 direction choisie dépend du sens de propagation du signal (position de la source). Là encore, les signaux de commande des grilles des transistors et des " buffers tristate " sont fournis par les moyens de commande MCM. Sur la figure 6 on a représenté schématiquement un moyen d'aiguillage, du type par exemple de celui portant la référence CBX1A. Sur la partie gauche de la figure 1, on a fait illustrer la représentation graphique de ce moyen d'aiguillage, telle qu'elle figure par exemple sur la figure 1. Sur la partie droite de la figure 6, on a représenté 5 schématiquement un exemple d'architecture interne correspondant à cette représentation. Ainsi le moyen d'aiguillage CBX1 peut être formé d'un multiplexeur à quatre entrées et à une sortie, configurable par un signal de configuration SEL également émis par les moyens de commande MCM. Ainsi, le moyen d'aiguillage CBX1 permet de 10 sélectionner l'une des pistes du bus BSV1 pour recopier à la sortie du multiplexeur le mot A circulant sur cette piste sélectionnée. La figure 7 illustre plus précisément un moyen d'aiguillage d'un autre type, par exemple du type de celui référencé CBX2. Là encore, par analogie avec la figure 6, la partie gauche de la 15 figure 7 illustre la représentation schématique de ce moyen d'aiguillage telle qu'elle figure par exemple sur la figure 1, tandis que la partie droite en illustre un exemple de réalisation. Plus précisément, le moyen d'aiguillage CBX2 comporte des éléments inverseurs à trois états commandés par un signal de 20 configuration SEL également émis par les moyens de commande MCM. Ainsi, un mot A arrivant à l'entrée du moyen d'aiguillage CBX2 peut être aiguillé en fonction de la valeur du signal SEL vers l'une des pistes du bus BSV1. Alors que la tuile TL illustrée sur la figure 1 permet d'effectuer 25 des opérations simples, par exemple des multiplications 16 fois 16 bits ou des multiplications 8 x 8 bits, il est possible, en connectant plusieurs tuiles TL les unes avec les autres, verticalement et/ou horizontalement, de réaliser des opérations plus complexes, ou bien par exemple des multiplications sur un plus grand nombre de bits. Sur la figure 8, on a représenté un circuit configurable dans lequel les tuiles (ici quatre tuiles sont représentées seulement) sont connectées en quinconce. Une telle connexion en quinconce facilite l'ordonnancement des opérations lors de multiplications sur un grand nombre de bits comme on le verra plus en détail ci-après. Les tuiles sont connectées en quinconce en ce sens que le bus vertical de la cellule élémentaire de droite (sur la figure 8) de la tuile 5 TL3 est connecté, via le bloc terminal d'aiguillage (crossbar) sur le bus vertical de la cellule élémentaire de gauche de la tuile TL1. De même, le bus vertical de la cellule élémentaire de gauche de la tuile TL3 est connecté via un crossbar au bus vertical de la cellule élémentaire de droite de la tuile TL2. Par ailleurs, les tuiles d'une même rangée horizontale (ligne) sont connectées l'une à l'autre par l'intermédiaire des bus horizontaux et des crossbars ainsi que par l'intermédiaire des bus de propagation de retenues. Dans l'exemple illustré ici, on a supposé que les tuiles TL 15 n'étaient pas pourvues de rangées supplémentaires RS d'unités arithmétiques et logiques. Par ailleurs, le circuit configurable CRF comporte entre deux tuiles d'une même rangée, des modules d'extension de signes MES12, MES34, permettant d'effectuer la fonction d'extension de signe 20 éventuellement nécessaire lors des opérations effectuées par les unités arithmétiques et logiques. La présence de ces modules d'extension de signes, permet aux unités arithmétiques et logiques de s'affranchir de réaliser cette fonction, ce qui permet de ne pas réduire leur capacité de traitement 25 par ailleurs. On a représenté sur la figure 9 un exemple de mise en oeuvre d'une multiplication 32 x 32 bits effectuée dans un multiplieur 32 x 32 bits réalisé à partir de quatre multiplieurs 16 x 16 bits. Plus précisément, la multiplication à effectuer est la 30 multiplication A.B, o A et B sont deux nombres de 32 bits ayant chacun 16 bits de poids forts Ah et Bh, et 16 bits de poids faibles AI et BI. Comme illustré sur la figure 9, les quatre multiplications effectuées sont respectivement les produits Al.Bl, Al.Bh, Ah.Bl, et Ah.Bh. Deux additions, repérées 1 et 2 sur la figure 9, permettent 5 d'obtenir, en combinaison avec ces multiplications, le résultat de la multiplication sur 64 bits. Le multiplieur 32 x 32 bits permettant de réaliser cette multiplication, est par exemple celui illustré sur la figure 10. Sur cette figure, trois tuiles TL5, TL6, TL7 ont été utilisées. 10 On a supposé également que le nombre de pistes des bus verticaux et horizontaux était égal à 5 et étaient respectivement référencées pl-pS. La figure 10 montre également la configuration des différents blocs et moyens d'aiguillage. Plus précisément, par exemple, les bits Ah sont délivrés en 15 entrée sur la piste pl du bus vertical de la cellule élémentaire gauche de la tuile TLS. Les bits BI sont délivrés en entrée sur la piste p4 de la cellule de gauche de la tuile TL5. Les bits Ai sont délivrés en entrée sur la piste p2 de la cellule 20 de droite de la tuile TLS. Les bits Bh sont délivrés en entrée sur la piste p3 de la cellule de droite de la tuile TL5. Le multiplieur de la cellule de gauche de la tuile TLS effectue le produit Ah.Bl tandis que le multiplieur de la cellule de droite de la 25 tuile TL5 effectue le produit Al.Bh. Le mot de sortie du multiplieur de la cellule de gauche de la tuile TLS est réparti sur la piste p3 du bus vertical de la cellule de gauche et sur la piste p4 du bus vertical de la cellule de droite de la tuile TLS. Le mot de sortie du multiplieur de la cellule de droite de la tuile TLS est réparti sur la piste pS du bus vertical de la cellule de gauche de la tuile TL5 et sur la piste pl du bus vertical de la cellule de droite de la tuile TL5. Les deux unités arithmétiques et logiques de la tuile TL5 effectuent l'opération d'addition n0 1 (figure 9) et fournissent par 5 conséquent, sur la piste p2 du bus vertical de la cellule gauche de la tuile TL5 et sur la piste p5 du bus vertical de la cellule de droite de la tuile TL5, le résultat de l'opération arithmétique Al.Bh +Ah.Bl. En ce qui concerne maintenant la configuration des deux blocs terminaux d'aiguillage (crossbars) permettant de connecter la tuile TL5 10 aux tuiles TL6 et TL7, on notera que: - la piste pl du bus vertical de la cellule de gauche de la tuile TL5 est raccordée à la piste pl du bus vertical de la cellule de droite de la tuile TL7, - la piste p2 du bus vertical de la cellule de gauche de la tuile 15 TL5 est raccordée à la piste p2 du bus vertical de la cellule de droite de la tuile TL7, - les pistes p3 et p5 du bus vertical de la cellule de gauche de la tuile TL5 ne sont raccordées à aucune autre piste, - la piste p4 du bus vertical de la cellule de gauche de la tuile 20 TL5 est raccordée, via la piste p4 du bus horizontal, à la piste p4 du bus vertical de la cellule de gauche de la tuile TL6, - les pistes pl et p4 du bus vertical de la cellule de droite de la tuile TL5 ne sont raccordées à aucune autre piste, 25 - la piste p2 du bus vertical de la cellule de droite de la tuile TL5 est raccordée à la piste p2 du bus vertical de la cellule de gauche de la tuile TL6, - la piste p3 du bus vertical de la cellule de droite de la tuile TL5 est reliée, via la piste p3 du bus horizontal, à la piste 30 p3 du bus vertical de la cellule de droite de la tuile TL7, et, - la piste p5 du bus vertical de la cellule droite de la tuile TL5 est reliée à la piste p5 du bus vertical de la cellule de gauche de la tuile TL6. Le multiplieur de la cellule de droite de la tuile TL7 effectue le 5 produit Ah.Bh, et le résultat est réparti sur la piste p5 du bus vertical de la cellule de gauche de la tuile TL7 ainsi que sur la piste p4 du bus vertical de la cellule de droite de cette même tuile TL7. Le multiplieur de la cellule de gauche de la tuile TL6 effectue le produit Al.Bl et le résultat est réparti sur la piste p3 du bus vertical 10 de la cellule de gauche de la tuile TL6 et sur la piste p2 du bus vertical de la cellule de droite de cette même tuile TL6. Les trois unités arithmétiques et logiques de la cellule de gauche de la tuile TL6 et des deux cellules de la tuile TL7 effectuent l'opération d'addition n0 2 sur la figure 9, avec une extension de signe 15 EXTS matérialisée en pointillés sur la figure 10. Les seize bits de poids les plus faibles du résultat C sont délivrés sur la piste p2 du bus vertical de la cellule de droite de la tuile TL6. Les bits 16 à 31 sont délivrés sur la piste pl du bus vertical de 20 la cellule gauche de la tuile TL6. Les bits 32 à 47 sont délivrés sur la piste p5 du bus vertical de la cellule de droite de la tuile TL7. Et, les bits restants de poids les plus forts, c'est-à-dire les bits 48 à 63 sont délivrés sur la piste p4 du bus vertical de la cellule de 25 gauche de la tuile TL7. On revient maintenant sur la figure 1 pour décrire plus en détail la structure de la rangée supplémentaire d'unités arithmétiques et logiques RS, qui peut équiper éventuellement une tuile TL. La rangée supplémentaire RS comporte deux prolongements de 30 bus verticaux PBSV1 et PBSV1O respectivement connectés sur les deux blocs terminaux d'aiguillage SBX1 et SBX10. Cette rangée comporte par ailleurs deux blocs terminaux supplémentaires d'aiguillage SBX1S et SBX1OS respectivement connectés sur les deux prolongements de bus verticaux PBSV1 et PBSV10. Ces deux blocs terminaux supplémentaires d'aiguillage sont mutuellement connectés par un bus horizontal supplémentaire BHS. Deux unités arithmétiques et logiques supplémentaires ALUlS et ALU10S sont respectivement connectés sur les deux prolongements de bus verticaux PBSV1 et PBSV1O par l'intermédiaire de moyens 10 d'aiguillage supplémentaires CBX6A, CBX6B, CBX7, et CBX60A, CBX60B et CBX70. Enfin, un bus supplémentaire de propagation de retenue BPRS est connecté entre les deux unités arithmétiques et logiques supplémentaires ALUIS et ALU1OS. Outre les moyens qui viennent d'être décrits, il est prévu également des bus spécifiques BSPLl, BSPL10, destinés à relier entre elles les unités arithmétiques et logiques supplémentaires de tuiles adjacentes d'une même colonne. Une telle connexion, que l'on peut qualifier de connexion longue, par opposition aux connexions locales 20 effectuées par les différents moyens et blocs d'aiguillage de la tuile, sont plus particulièrement illustrés sur la figure 11, sur laquelle on a représenté une connexion en quinconce de plusieurs tuiles TLl-TL9 équipée chacune d'une rangée supplémentaire d'unités arithmétiques et logiques. Ces rangées supplémentaires, combinées aux bus spécifiques de longue connexion, permettent par exemple d'effectuer de façon très simple des opérations d'accumulation, ou par exemple de filtrage, comme par exemple des successions d'opérations illustrées sur la figure 12. Sur cette figure 12, qui représente des opérations effectuées par exemple lors d'un filtrage, sont représentés six multiplications 1 à 6, et quatre additions 7 à 11. Comme illustré sur la figure 11, la multiplication n'1 est effectuée dans le multiplieur de la cellule de gauche de la tuile TL1 tandis que la multiplication n02 est effectuée dans le multiplieur de la cellule de droite de la tuile TL3. L'addition n07 est effectuée dans l'unité arithmétique et logique supplémentaire de gauche de la rangée supplémentaire RS1 de la tuile TL1 et le résultat est transmis, par l'intermédiaire d'une connexion longue, à l'unité arithmétique et logique supplémentaire de droite de la rangée RS3 de la tuile TL3. Les multiplications n' 3 et n0 4 sont respectivement effectuées dans les multiplieurs de gauche et de droite des tuiles TL4 et TL6 tandis que l'addition n08 est effectuée dans l'unité arithmétique et logique supplémentaire de gauche de la rangée supplémentaire RS4 de la tuile TL4. Le résultat de cette addition est transmis par 15 l'intermédiaire d'un bus de longue connexion vers l'unité arithmétique et logique de droite de la rangée supplémentaire RS3, laquelle effectue l'addition n'10. Les multiplications n' 5 et n0 6 sont respectivement effectuées dans le multiplieur de gauche de la tuile TL7 et dans le multiplieur de 20 droite de la tuile TL8 tandis que l'addition n09 est effectuée dans l'unité arithmétique et logique supplémentaire de gauche de la rangée supplémentaire RS7 de la tuile TL7. Le résultat de cette addition est transmis à l'unité arithmétique et logique supplémentaire de droite de la rangée supplémentaire RS6 25 de la tuile TL6 par l'intermédiaire de bus de longue connexion. Cette unité arithmétique et logique supplémentaire qui reçoit par ailleurs le résultat de l'addition n 10, effectue l'addition n0 11 et fournit le résultat final des opérations. Le circuit configurable selon l'invention permet ainsi de 30 réaliser de nombreuses opérations basiques, par exemple fréquemment mises en oeuvre dans des algorithmes implémentés au sein de processeurs de traitement du signal (DSP). De telles opérations sont par exemple des multiplications 16 x 32 bits, des multiplications 32 x 32 bits, des multiplications complexes 16 x 16 bits, des filtres à réponse impulsionnelle infinie, ainsi que des opérations du type papillon à radix 2 ou 4 utilisées dans des calculs de transformées de données de Fourier directes ou inverses. Le circuit configurable selon l'invention forme également un chemin de données configurable et il est modulable et extensible par la connexion de plusieurs tuiles de façon à former une structure de taille variable avec plus ou de puissance de calcul ou permettant le 10 traitement de données transcrites sur un nombre plus important de bits. Par ailleurs, le circuit selon l'invention n'est pas limité aux modes de réalisation qui viennent d'être décrits mais en embrasse toutes le variantes. Ainsi, les blocs terminaux des tuiles pourraient se situer au 15 niveau des bornes BE1 et BE10. De même l'ordre dans la disposition des multiplieurs et des unités arithmétiques et logiques sur les bus pourrait être inversé. Il en est de même pour la disposition de la rangée supplémentaire RS qui pourrait être connectée en haut de la tuile (sur la figure 1). REVENDICATIONS 1. Circuit électronique configurable, caractérisé par le fait qu'il comprend au moins une tuile (TL) comportant au moins deux cellules élémentaires (CELI, CELO10) mutuellement connectées, chaque cellule 5 élémentaire (CELI) comportant un multiplieur (MX1), une unité arithmétique et logique (ALU1) capable d'effectuer au moins une fonction arithmétique et/ou logique sélectionnable parmi un jeu prédéterminé de fonctions arithmétiques et/ou logiques, un bus vertical (BSV1), un premier bloc d'aiguillage configurable (CBX1A, CBX1B) 10 connecté sur le bus vertical et aux entrées du multiplieur, un deuxième moyen d'aiguillage configurable (CBX2) connecté sur le bus vertical et à la sortie du multiplieur, un troisième moyen d'aiguillage configurable (CBX3) connecté sur le bus vertical et à la sortie du multiplieur (MX10) de l'autre cellule élémentaire (CELLO), un deuxième bloc d'aiguillage 15 configurable (CBX4A, CBX4B) connecté sur le bus vertical et aux entrées de l'unité arithmétique et logique, un quatrième moyen d'aiguillage (CBX1) connecté sur le bus vertical et à la sortie de l'unité arithmétique et logique, un bus de propagation de retenue (BPR) reliant les deux unités arithmétiques et logiques, un bloc terminal d'aiguillage 20 (SBX1) connecté sur le bus vertical, et un bus horizontal (BH) reliant les deux blocs terminaux d'aiguillage. 2. Circuit selon la revendication 1, caractérisé par le fait que chaque multiplieur (MX1) est un multiplieur de m*n bits possédant deux entrées respectivement destinées à recevoir deux mots de m et n bits, et 25 une sortie destinée à délivrer un mot de sortie de m+n bits, par le fait que le deuxième moyen d'aiguillage (CBX2) d'une première cellule élémentaire (CELl) de la tuile est destiné à recevoir n bits du mot de sortie délivré par le multiplieur (MX1) de la première cellule, par le fait que le troisième moyen d'aiguillage (CBX3) de cette première cellule 30 élémentaire (CELl) est destiné à recevoir n bits du mot de sortie délivré par le multiplieur (MX10) de la deuxième cellule élémentaire (CEL10) de la tuile, par le fait que le deuxième moyen d'aiguillage (CBX20) de la deuxième cellule élémentaire (CEL10) est destiné à recevoir m bits du. mot de sortie délivré par le multiplieur (MX1O) cette deuxième cellule, et par le fait que le troisième moyen d'aiguillage (CBX30) de cette 5 deuxième cellule élémentaire (CELIO) est destiné à recevoir m bits du mot de sortie délivré par le multiplieur (MX1) de la première cellule élémentaire (CELl). 3. Circuit selon la revendication 2, caractérisé par le fait que chaque bus (BSVl, BSV10, BH) de la tuile est capable de véhiculer des 10 mots ayant un nombre de bits au moins égal au plus petit commun multiple de m et de n. 4. Circuit selon la revendication 2 ou 3, caractérisé par le fait que m est égal à n, et par le fait que chaque bus (BSV1, BSV10, BH) de la tuile possède p pistes de n bits, p étant un entier supérieur à 1. 5. Circuit selon l'une des revendications précédentes, caractérisé par le fait qu'il comprend plusieurs tuiles (TL1-TL4) mutuellement connectées. 6. Circuit selon la revendication 5, caractérisé par le fait que les tuiles (TL1-TL4) sont connectées en quinconce. 7. Circuit selon la revendication 5 ou 6, caractérisé par le fait qu'il comprend en outre un module d'extension de signe (MES12, MES 14) connecté entre deux tuiles adjacentes d'une même rangée horizontale, ce module d'extension de signe étant connecté entre l'unité arithmétique et logique d'une cellule élémentaire d'une première tuile et 25 le bus vertical de la cellule élémentaire de la deuxième tuile, immédiatement adjacente à ladite cellule élémentaire de la première tuile. 8. Circuit selon l'une des revendications précédentes, caractérisé par le fait que la tuile comprend en outre une rangée supplémentaire 30 (RS) comportant deux prolongements de bus verticaux (PBSV1, PBSV10) respectivement connectés sur les deux blocs terminaux d'aiguillage, deux blocs terminaux supplémentaires d'aiguillage configurables (SBX1S, SBX1OS) respectivement connectés sur les deux prolongements de bus verticaux, un bus horizontal supplémentaire (BHS) connecté entre les deux blocs terminaux supplémentaires, deux unités arithmétiques et logiques supplémentaires (ALUlS, ALUIOS) respectivement connectées sur les deux prolongements de bus verticaux 5 par l'intermédiaire de moyens d'aiguillage supplémentaires, et un bus supplémentaire de propagation de retenue (BPRS) connecté entre les deux unités arithmétiques et logiques supplémentaires. 9. Circuit selon la revendication 8 prise en combinaison avec l'une des revendications 5 à 7, caractérisé par le fait qu'il comporte des 10 bus spécifiques (BSPLl, BSPL10) reliant entre elles les unités arithmétiques et logiques supplémentaires de tuiles adjacentes d'une même colonne. 10. Circuit selon l'une des revendications précédentes, caractérisé par le fait qu'il est réalisé sous forme de circuit intégré. 15