FR 2650092 A1 19910125 FR 8909889 A 19890721 Procédé pour la ecispilation de fonctions dans des circuits corrélateurs La présente invention concerne un procédé pour la compilation de fonctions dans des circuits corrélateurs. Les architectures de circuits corrélateurs connus, et dont des descriptions peuvent être trouvées dans les publications ."Systolic array chips designs - A.P.H Me Cabe - IEEE Collo quium on Systollc arrays Londres Février 1984 . "A bit sliced CMOS Correlator" - A. CORRY - K. PATEL - INT. SYMP. on VLSI Technology Systems & Applic. 1983 ~ "Architecture of a CMOS Correlatorn - A. CURRY - K. PATEL IEEE Int.Symp. on Circuit & Systems - MAI 1983 ."A High Speed CMOS/SOS Implementation of a bit level Systolic Correlator - J.C. WHITE - J.V.Mc CANNY - A.Mc CABE - J.Mc WHIRTER - R. EVANS - ICASSP 1986 conduisent généralement à des réalisations à géométrie rigide et à fonctionnalités non évolutives empêchant l'adaptation de ces circuits au nombre toujours grandissant des applications de l'électronique et notamment de celles des radiocommunications, des télémesures ou de la radiosurvefflance. Le but de l'invention est de pallier les inconvénients précités. A cet effet, l'invention a pour objet, un procédé pour la compilation de fonctions dans des circuits corrélateurs du type comprenant une matrice de cellules de corrélation permettant d'effectuer des corrélations Sk de longueur N, de données X(n) codés sur B bits avec une référence de signal R(i) suivant une relation de la forme Sk = W R(i)xX(i+k) + C, où C désigne une constante, au moyen d'une console graphique d'ordinateur permettant d'établir des Uens entre des fichiers contenus dans une mémoire de masse par des moyens d'interface reliés à la console graphique caractérisé en ce qu'il consiste à mémoriser dans les fichiers les schémas relatifs aux cellules de corrélation, à établir sur l'écran de la console graphique les schémas relatifs à une matrice de corrélation par un assemblage de cellules de corrélation disposées aux croisements de Bc lignes et N colonnes, le nombre Bc de lignes étant déterminé par la relation Bc = Bd + Log2N les nombres Bd et N étant introduits par les moyens d'interface. L'invention a pour avantage qu'elle permet, grâce à la constitution d'une bibliothèque de macrocellules paramétrable, la génération par des logiciels génerateurs, de toutes les instances, modèles et schémas logiques nécessaires au développement de circuits précaractérisés associant ces macrocellules. Le compilateur selon l'invention qui rassemble ainsi un ensemble étendu de générateurs de fonctions permet la réalisation et l'assemblage d'un grand nombre de macrocellules différentes qui varient en fonction des options et des paramètres choisis par les utilisateurs au moment de la conception des circuits corrélateurs. D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à l'aide de la description faite en regard des dessins annexés qui représentent la figure 1 une structure d'un compilateur de fonction mis en oeuvre par l'invention, la figure 2 une architecture générale connue de circuit corrélateur, la figure 3 l'organisation topologique d'une macrocellule de corrélation selon l'invention, la figure. 4 un schéma fonctionnelle d'une macrocellule de corrélation selon l'invention, la figure 5 une structure systolique de macrocellule de corrélation selon l'invention, la figure 6 une représentation d'une cellule de base utilisé pour former une macrocellule de corrélation, la figure 7 un cheminement de données et de résultats dans un réseau systolique les figures 8 à 11 des schémas de réalisation de cellules de base, la figure 12 un exemple de mise en cascade de macrocellules, la figure 13 une structuration d'un logiciel de compilation selon l'invention, les figures 14 et 15 des exemples d'assemblage de blocs, la figure 16 le schéma d'une cellule de routage, la figure 17 un schéma de distribution du signal d'horloge, la figure 18 un schéma de distribution de l'alimentation du circuit corrélateur. Une structure générale d'un compilateur de fonction mise en oeuvre par . l'invention pour réaliser des circuits corrélateurs est représentée à la figure 1. Elle est composée par des générateurs de fonctions 1 dont le rôle est d'établir des liens entre des fichiers 2 d'une bibliothèque contenant des fiches technologiques et des paramètres fournis au travers d'une interface utilisateur 3. Les générateurs 1 sont formés par un ensemble de logiciels compilateurs du type de ceux connus sous les désignations GDT et GENESIL et commercialisés par la société de droit des Etats Unis d'Amérique Silicon Compiler Systems.Les générateurs de fonction 1 fournissent de la manière représentée à la figure 1, différents modèles de schémas, Icone 4 pour la saisie de schéma, modèle fonctionnel 5 pour les simulations, schémas symboliques 6 pour le placement des composants, schéma d'implantation 7 pour le dessin des masques, des tableaux de test 8 ou des modèles structurels pour les programmes de test, ces schémas étant construits à partir des Informations contenues dans le fichier 2 et des paramètres fournis par l'utilisateur et introduites à travers l'interface 3.L'ensemble des données paramétrables du fichier 2, nécessaires à la constitution des circuits corrélateurs de l'invention, permet une conception assistée par ordinateurs de circuits corrélateurs, les données du fichier 2 étant inscrites de façon connue dans une mémoire de masse d'un ordinateur et traitées à partir des logiciels préci tés suivant divers processus dépendant des paramètres introduits par l'utilisateur sur l'interface 3. Les circuits corrélateurs obtenus sont du type de celui qui est représenté à la figure 2. Ce circuit comporte une première suite de registres montés en série, référencés de 91 à 9n et une deuxième suite de registres référencés de 101 à 10n, disposées entre deux bornes d'entrée E1, E2 et une borne de sortie S. Les registres 101 à 10n de la deuxième série sont couplés deux à deux entre les bornes E2 et S au travers de circuits additionneurs référencés de 111 à 11n+1, les circuits additionneurs 111 à 11n étant reliés par une première entrée d'opérande aux sorties respectives des registres 101 à 10 alors n que la première entrée d'opérande du circuit additionneur lln, l est reliée à la borne d'entrée E2.Les circuits additionneurs 111 à 11n ont d'autre part, leur deuxième entrée d'opérande reliée aux sorties des registres 91 à 9n au travers de circuits multiplieurs référencés de 121 à 12n, pour effectuer la multiplication de chaque nombre binaire contenu dans un des registres 91 à 9n par une seule référence de signal R(i) codé sur 1 bit et noté de R(n-1) à Ro sur la figure 2. Cette architecture très générale est basée sur une structure "pipe line" du type à réponse impulsionnelle finie. Elle permet- d'effectuer des corrélations 5k de longueur N de toute donnée X(n) codée sur B bits avec une référence de signal R(i) codée sur un bit telle que S(k) = W R(i)xX(i+k)+C (1) où C est une constante En appelant Be, le format de calcul nécessaire pour coder les nombres issus des N accumulations du produit RixX (i+k) ce format Bc est déterminé par la relation Bc = Bd + Log2N (2) dans laquelle Bd désigne la longueur en nombre de bits de chaque donnée. Pour des besoins très spécifiques de calcul des fonctions de corrélation de signaux à spectre étalé, par exemple par saut de phase [0,1] représentables par des amplitudes [ -I, 1 ] , le circuit de- la figure 2 permet notamment d'attribuer au niveau 0 du bit R la valeur (-1) et au niveau 1 la valeur (+1). Mais, pour les calculs des fonctions de corrélation habituelles, la convention niveau 0 signifiant 0 et niveau 1 signifiant 1 peut aussi être adoptée car elle devient notamment intéressante lorsque le nombre de bits de codage du signal de référence R est supérieur à l'unité. Du fait de la bidirectionnallté des flots de données tran sitant dans les deux séries de registres (91. . 9 1 et (101 10n) le circuit de la figure 2 présente comme premiers avantages, d'une part, de permettre une corrélation rapide de deux séries de données multiplexées appliquées respectivement sur les entrées E1 et E2 X car si chacun des flots se propage à une vitesse V, leur vitesse relative est de 2V et d'autre part, de permettre une corrélation simultanée des voies en phase et en quadrature de signaux complexes avec une même référence du fait que, le circuit de la figure 2 a la particularité de pouvoir transformer deux séries multiplexées de données en résultats multiplexés. Mais ce circuit présente aussi tous les avantages liés à la structure régulière de son schéma.Notamment son agencement apparait parfaitement déterminable au moyen de logiciels compilateurs de circuits GDT et GENESIL indiqués précédemment lorsque les paramètres Bc, Bd, N et C des formules (1) et (2) qui fixent les dimensions et le nombre de chaque élément de circuit à implanter sur un substrat de silicium, sont déterminés. A titre d'exemple une organisation selon l'invention d'un espace topologique complet occupé par une macrocellule de circuit corrélateur conforme à la figure 2 est représentée aux figures 3 et 4. Sur la figure 3, l'espace réservé à l'implantation d'une macrocellule sur un substrat - de silicium est décomposé en au moins six espaces. Un premier espace 13 de dimensions NxBc est réservé à l'implantation de la matrice de corrélation, cet espace étant luímême divisé en deux zones 131 et 132 pour loger respectivement les cellules de base de la matrice dans un espace de dimension NxBd et des cellules dégénérées dans l'espace restant pour les calculs effectués sur des nombres non signés. Des deuxième, troisième et quatrième espaces sont réservés à l'implantation, de registres tampons et de circuits de test 14, d'un registre de référence parallèle 15 et d'un registre de référence série 16. Un cinquième espace est réservé à l'implantation de registres d'entrée 17, 18 et 19 et d'un multiplexeur d'entrée 20. Enfin un sixième espace 21 est réservé à l'implantation de multiplexeurs de sortie. Le schéma fonctionnel correspondant est représenté à la figure 4, où les éléments fonctionnels correspondant aux éléments structurels de la figure 3 sont représentés avec les mêmes références. Sur la figure 4 cependant les éléments fonctionnels 14 et 18 sont détaillés pour faire apparaître des demi bascules à verrouillage 141 et 142, un circuit multiplexeur 143 et des circuits retardateurs "Skew" 18 et "Deskew" 182. Dans le cadre de l'invention, espace des macrocellules défini représenté à. la figure 3, peut être modifié à volonté suivant un nombre déterminé d'options fonctionnelles et structurelles offertes par un logiciel de compilation. Les options correspondantes sont décrites par exemple dans un "menu" qui est présenté sur des écrans de consoles graphiques reliées à l'ordinateur sur lequel s'exécute le logiciel de compilation. Dans le cadre des modes de réalisation des figures 3 et 4 une liste des options possibles est la suivante Option 1 : "Registre de référence série/parallèle" Option 2 : "Multiplexeur d'entrée" Option 3 : "Rapide/compact" Option 4 : 'Skewing" Option 5 : "Compact" Option 6 : "Signé/non signé" Option 7 : Retenues entrantes de la matrice à zéro ou à référence complémentée" Option 8 : "Mise en cascade". Suivant l'option "1" les bits du k signal de référence sont stockés dans le registre parallèle 15 pour être exploitée par le corrélateur. Un autre registre série/parallèle 16 peut être disposé à l'entrée du registre parallèle. Il permet alors de précharger les bits Ri du signal de référence en série avant de la charger en parallèle. Suivant l'option "2", si les données ne sont pas encore multiplexées à l'entrée, le multiplexeur 20 de Bd bits est placé à l'entrée de la macrocellule. Suivant l'option "3" le choix entre un fonctionnement rapide ou compact est donné par le logiciel du compilateur. Le fonctionnement "rapide" correspond à une structure systolique du type de celle représentée aux figures 5 et 6 qui donne la possibilité d'effectuer des opérations au niveau du bit au moyen d'un réseau de cellules élémentaires 22 comportant chacune un circuit additionneur 23, un circuit "non ou exclusif" 24 à deux entrées et des bascules D, 25, 26 et 27 pour stocker les résultats à chaque instant d'horloge. A l'instant d'horloge suivant les résultats stockés sont exploités par les cellules voisines. Il est à noter que pour le calcul des fonctions de ~ corrélation habituelles le circuit 24 pourra être formé par une simple porte ET à deux entrées. Le circuit additionneur 23 comporte de façon connue une première et une deuxième entrée d'opérande, une entrée de bit de retenue "carry in", lune sortie "somme" et une sortie de bit de "retenue". La première entrée d'opérande du circuit additionneur 23 est rellée à la sortie du circuit "non ou exclusif" 24 qui com porte lui aussi deux entrées d'opérande, une première entrée sur laquelle est appliqué un bit Xin de la donnée à corréler et un Bit Ri du signal de référence. La deuxième entrée d'opérande du circuit additionneur 23 est reliée soit à la sortie Sin de la cellule précédente, soit reçoit un bit Ci de la constante C. Les bascules 25 et 26 sont reliées respectivement par leurs entrées aux sorties "somme" et "retenue" du circuit additionneur 23 pour fournir sur leurs sorties "Sout" et "Carry out" les bits somme et retenue obtenus du circuit additionneur 23 retardés d'un cycle d'horloge. La bascule 27 a son entrée reliée à la première entrée du circuit "ou exclusif" 24 pour fournir sur sa sortie le bit Xin retardé d'un cycle d'horloge. Comme la retenue sortante d'un additionneur élémentaire ne se propage pas immédiatement dans le cycle mais qu'elle est, elle aussi, stockée dans une bascule 26, l'opération effectuée au niveau du bit de poids immédiatement supérieur, prend en compte une retenue entrante avec un temps de retard. Pour ce faire, chaque bit de donnée est retardé d'une durée d'horloge par rapport au bit de poids immédiatement inférieur de la façon représentée par le cheminement des données i i et SSi, SiX de la figure 7. Cette opération dénommée "skewing" dans la littérature anglo-saxonne nécessite de placer, à l'entrée du réseau systolique, des blocs de lignes à retard ou des registres série 1810 à 1815 dont les longueurs sont proportionnelles au poids des bits correspondants. Cette opération est effectuée par l'option 4. Réciproquement, l'opération inverse dénommée "deskewing" dans le langage anglo-saxon, nécessite de placer aux sorties du réseau systolique des blocs de lignes à retard ou des registres série 1820 à 1825 dont les longueurs sont proportionnelles à Bc moins le poids des bits correspondant. Ces blocs sont visibles sur la gauche de la figure 5. Le fonctionnement en mode "compact" fournit une réalisation simplifiée de la structure systolique de la figure 5. Elle supprime les registres de retenue. De la sorte la propagation du bit de retenue "carry" est directe et s'effectue en un temps de cycle sur la totalité de l'opération d'addition. Les données ne subissent plus l'opération dictée par l'option 4, et la structure obtenue est en fait une structure "pipeline" où les tran ches d'opération sont identiques au niveau du mot. Dans l'option 4 la surface utilisée sur le silicium est réduite. En revanche, il s'en suit une dégradation de performance en vitesse, puisque en un temps de cycle, il faut attendre la fin de la propagation de la retenue. Des architectures respectives de la cellule "rapide" et de la cellule "compacte" sont représentées aux figures 8 et 9 où les éléments homologues à ceux de la figure 6 sont représentés avec les mêmes références. Le réseau, qu'il soit rapide (systolique) ou qu'il soit compact, ne comporte que des cellules identiques telles que celles des figures 8 et 9, chaque cellule étant formée par l'assemblage d'un circuit additionneur 23, et de une ou plusieurs bascules 25, 26, 27. Le format du réseau en nombre de bits est toujours déterminé par la relation Bc = Bd + Log2(N) où Bd est le nombre de. bits de donnée et N la longueur totale de corrélation. L'option 6 conduit à des réalisations permettant d'effectuer des opérations sur des nombres signés ou non signés. Dans la versien "signé" le bit de données de poids le plus faible est recopié sur les entrées Xin du réseau correspondant aux (Be-Bd) bits restants. Dans la version "non signé" si les données d'entrée sont exprimées en binaire naturel, il est alors inutile de traiter le signe qui est implleltement 0 numériquement. Il en découle que les cellules correspondant À l'extension de signe, c'est-à-dire aux cellules des poids Bd à (Bc - 1), ne nécessitent pas d'entrée de donnée Xin et de sortie Xout. Cette remarque conduit à la conception de cellules dégénérées, qui sont des variantes des cellules précédentes. Ces cellules qu'elles soient rapides ou compactes sont dépourvues de bascule D- 27 pour retarder la propagation de la 'donnée Xin. L'entrée correspondant à Xin est cablée à zéro (VDD sur l'entrée inversée de l'additionneur).Les cellules dégénérées sont présentées sur les figures 10 et 11 respectivement en version rapide et en version compacte, et leurs éléments homologues à ceux de la figure 6 sont représentés avec les mêmes références. Les cellules de base de corrélation et les cellules dégénérées sont réparties suivant les deux zones horizontales 131 et 132 comme sur la figure 3. Dans l'option "7" les cellules horizontales, correspondant au bit de poids le plus faible des données et des résultats, ont toutes une retenue entrante sur l'additionneur. Cette entrée peut être cablée de deux manières Selon une première manière les retenues sont câblées à la référence complémentée, c'est-à-dire que la retenue du premier étage de corrélation présente la valeur R(n-1)*, celle de deuxième étage présente la valeur R(n-2)* etc, et la dernière présente la valeur ROt. C'est ainsi qu'en mode signé, l'effet du circuit "non ou exclusif" 24 entre la référence et la donnée conjuguée à cette option permet de ne pas changer la donnée si R = 1, ou de la complémenter à 2 avant addition, si R = 0. On a en effet S' = S + (X 0+#R)* + R* donc S' = S + X si R = 1 S' = S - X si R = 0 Selon une deuxième manière les retenues sont câblées à zéro. Dans ce cas ltopératios réalisée est S' = S + (X (i) R)* donc S' = S + X -1 si R = 1 S' = S - X -1 si R = 0 Comme l'opération de corrélation introduit la constante de calcul C encore appelée "offset" celle-ci est directement introduite par le logiciel. Celui-cl choisit parmi un Jeu de cellules câblées aux valeurs des potentiels d'alimentation des circuits, VDD ou VSS, les cellules qui produiront cette valeur d'"offset" par leur assemblage.En réalité, l'entrée droite S (in) de la matrice de corrélation 13 de la figure 3 est câblée à un multiplexeur 21 qui permet, en mode fonctionnel, de choisir la valeur "offset" câblée. L'option "7" de mise en cascade conduit aux configurations représentées â la figure 12. Elles ont pour but la mise en cascade de plusieurs macrocellules si une corrélation dépasse la longueur maximale de corrélation prévue. Mais la raison peut aussi être également topologique, et faciliter l'implantation par fragmentation du corrélateur. La mise en cascade peut alors être partielle ai des sorties de résultats de corrélation partielle doivent être utilisées. Pour une mise en cascade intégrale, il faut tenir compte dans le calcul, de la relation: Bc = Bd + I,og2(N) pour déterminer la longueur totale de la corrélation. Par exem ple, ai 16 macrocellules de 16 étages sont utilisées, N total = 256. De ce fait dans chaque macrocellules Bc sera égal Bc = Bd + 8 En cascade partielle, il faut prendre en compte la lon gueur d'une macrocellule, c'est-à-dire dans le cas de exemple précédent Bc = Bd + 4 Au niveau de la réalisation des schémas, les mises en cascades revêtent deux formes consistant l'une, à une mise en cascade par aboutement des macrocellules et l'autre, à une mise en cascade par routage. Suivant la' - figure 12, l'action de l'option 7 modifie les interfaces gauche et droite de la macrocellule. Dans le cas général la macrocellule occupant la première place, dans une chaume de macrocellules en cascade sera toujours pourvue d'un registre d'entrée 20 quelque soient les cas de figure, - et d'un bloc "skewXdeskew" 18 s'il s'agit d'une version rapide. La macrocellule occupant la dernière place est pourvue, à droite d'un bloc offset et de test 21. Ce bloc permet, en mode test, l'introduction des conditions de test à la place de la constante "offset". Ce registre permet de tester toute la chaîne de corrélation. Lorsque la mise en cascade est intégrale les macrocellules intermédiaires de la chaine ne comportent pas de bloc spécifique. Dans le cas d'une mise en cascade partielle, la macrocellule précédant une sortie partielle est munie, à droite d'un bloc permettant d'introduire ltnoffset" en mode fonctionnel ou une séquence de test en mode test. Si la macrocellule est intermédiaire, la séquence de test provient d'un bus résultat de la macrocellule suivante. Si la macrocellule est la dernière, la séquence de test provient du bloc offset et test 21. D'autre part, le bloc d'entrée à gauche est muni d'une sortie de corrélation partielle dont le bus est placé verticalement en dessous s'il s agît d'une macrocellule intermédiaire ou finale. Le bloc d'entrée est soit une fonction deskew en version rapide, soit un bus vertical en version compacte. Les macrocellules intermédiaires de la version rapide ne comportent jamais de bloc "skew" 181. L'assemblage de la macrocellule par le compilateur s'effectue suivant trois étapes. Selon une première étape l'assemblage des cellules élémentaires ou feuilles est effectué par aboutement pour former des blocs. Selon une deuxième étape, l'assemblage des blocs est réalisé par aboutement. Selon une troisième étape la mise en place des alimentations (rails verticaux) est effectuée par routage des blocs non aboutés. Ces trois étapes sont effectuées par des programmes structurés - le générateur principal 1 appelle des sous-programmes pour générer les blocs, puis assemble les blocs soit par aboutement soit par routage et implante les rails d'alimentation généraux. - les sous-programmes générant les blocs appellent les cellules élémentaires dont les descriptions se trouvent dans un répertoire du fichier 2. Il les assemble ensuite par aboutement. Les autres générateurs générant les instances 4 à 7 de la figure 1 sont structurés de la même façon, et fonctionnent avec la même structure logicielle représentée à la figure 13 qui génère les blocs représentés aux figures 14 et 15. Sur ces figures le bloc CR1KER comprend la matrice de cellules opératîves. Ce bloc est soumis aux options rapide/compacte, signé/non signé et aux paramètres Bc, Bd et N. Il comporte également le registre parallèle . de mémorisation de la donnée de référence, la mise en tampon des horloges à travers la matrice et le circuit de test vertical, Le bloc CRAINT comprend le circuit 18 "skew/deskew" de la version rapide, l'extension de signe de la version signée et un registre d'entrée dont l'existence est soumise à option 8 de mise en cascade. Sa taille et la forme de son circuit "skew/deskew" 18 sont soumis aux paramètres Bc, Bd. Le bloc CRlOFS génère le câblage de offset et le circuit de test horizontal. Le bloc CR1RFS associe, sur option, des bascules D pour créer un registre série parallèle pour la référence. Le bloc CR1MUX associe sur option des multiplexeurs 2 vers 1 pour le multiplexage des entrées. Le bloc CRIBUF est le bloc de mise en mémoire des si gnaux de cokrmande. Il est associé au reste de la macrocellule par routage. Le bloc CR1XBF est un bloc de registres tampons permettant d'organiser le bus de sortie de X en vue d'un routage. Il est possible d'obtenir deux sortances. Le bloc CR1SBF est un bloc de registres tampons permettant d'organiser le bus de résultat en vue d'un routage. Le bloc CRIVIA n'est pas à proprement parler un bloc, mais plutôt une cellule feuille de haut niveau facilitant le routage du bloc CRlBUF au reste de la macrocellule. Illustrée par la figure 17, la distribution d'horloge s'effectue par deux lignes horizontales CLK1, CLK2 situées dans la partie supérieure des blocs CR1MUX, CR1INT, CRIKER, CRIONS, CRIVIA et trouvent leur continuité dans l'aboutement de ces blocs. Elles sont définies par le bloc CRlBUF et Liées à la macrocellules au moyen du bloc CRIVIA. Cette distribution d'horloge, qui est simple à mettre en oeuvre, peut cependant introduire un décalage important entre deux cellules extrêmes de la matrice B (en haut à gauche, en bas à droite), mais ceci ne gêne en rien son fonctionnement. En effet, comme les sorties de chaque cellule n'ont d'autres liens qu'avec les entrées des cellules immédiatement voisines, il n'existe pas entre elles de décalage d'horloge sensibles D'autre part, dans la version compacte, le décalage d'horloge entre les bits de poids forts et ceux de poids faibles est également assez faible devant le temps de propagation de la retenue. La nature aboutable des cellules du corrélateur conduit à adopter un peigne d'alimentation horizontal avec raccordement aux extrémités à deux rails verticaux VDD et VSS comme représentés à la figure 18. La façon dont l'alimentation est distribuée dans les cellules feuilles est liée à une conception qui donne à l'ensemble une forme rationnelle après assemblage. En effet, la minimisation de la longueur des cellules est privilégiée par rapport à leur hauteur. Le nombre d'étage de corrélation N, dont l'effet se fait sentir dans le sens de la largeur, ntest limité qu'à 64 alors que le nombre de bits, dont l'effet se fait sentir dans le sens de la hauteur est limité à 16. Sans cette précaution la macrocellule aurait l'allure d'une longue barrette difficile à implanter dans le circuit. REVENDICATIONS i. Procédé pour la compilation de fonctions dans des circuits corrélateurs du type comprenant une matrice de cellules de corrélation permettant d'effectuer des corrélations Sk de longueur N, de données X(n) codés sur B bits avec une référence de signal R(i) suivant une relation de la forme 5k :: R(i)xX(i+k) + C, où C désigne une constante, au moyen d'une console graphique d'ordinateur permettant d'éta bllr des liens entre des fichiers (2) contenus dans une mémoire de masse par des moyens d'interface (3) reliés à la console graphique caractérisé en ce qu'il consiste à mémoriser dans les fichiers (2) les schémas relatifs aux cellules de corrélation, à établir sur l'écran de la console graphique les schémas relatifs à une matrice (13) de corrélation par un assemblage de cellules de corrélation (22) disposées aux croisements de Bc lignes et N colonnes, le nombre Bc de lignes étant déterminé par la relation Bc = Bd + Log2N les nombres Bd et N étant introduits par les moyens d'interface (3). 2. Procédé selon la revendication 1 caractérisé en ce que le schéma relatif à chaque cellule de corrélation comporte - un circuit "non ou exclusif" (24) possédant deux entrées sur lesquelles sont appliqués les bits Ri et XiFk et une sortie, - un circuit additionneur (23) à deux entrées d'opérandes, une première entrée étant reliée à la sortie du circuit "non ou exclusif (24) et possédant une sortie "somme" fournissant le résultat de l'addition et une sortie "retenue" et des première et deuxième bascules (25, 26) reliées respectivement à la sortie "somme" et la sortie "retenue" du circuit additionneur (23). 3. Procédé selon la revendication 2 caractérisé en ce que le schéma relatif à chaque cellule de corrélation comporte en outre une troisième bascule (27) pour mémoriser un bit Xi+k appliqué sur la cellule. 4. Procédé selon l'une quelconque des revendications 1 à 3 caractérisé en ce qu'il consiste à définir un premier espace (13) de dimensions NxBc pour l'implantation de la matrice de corrélation, des deuxième, troisième et quatrième espace pour l'implantation de registres tampons, de circuits de tests (14) d'un registre de référence parallèle (16) et d'un registre de référence série (16), un cinquième espace pour l'implantation de registres d'entrée (17, 18, 19) et d'un multiplexeur d'entrée (20), et un sixième espace pour l'implantation d'un multiplexeur de sortie. 5. Procédé selon la revendication 4 caractérisé en ce que les espaces sont définis à partir d'options d'un menu apparaissent sur l'écran de la console graphique. 6. Procédé selon la revendication 5 caractérisé en ce qu'il consiste selon une première option à implanter un registre série/parallèle à entrée de la matrice de corrélation (13) pour le stockage des bits Ri du signal de référence. 7. Procédé selon l'une quelconque des revendications 5 à 6 caractérisé en ce qu'il consiste selon une deuxième option à implanter à l'entrée des données X de la matrice de corrélation un multiplexeur (20). 8. Procédé selon l'une quelconque des revendications 1 à 7 caractérisé en ce qu'il consiste à implanter suivant une troisième option un réseau matriciel systolique pour former la matrice de corrélation (13), et des blocs de lignes à retard (181o à 1815 et 1820 et 1825) aux entrées et sorties du réseau matriciel systolique, respectivement. 9. Procédé selon la revendication 8 caractérisé en ce qu'il consiste à propager les bits de retenue en sortie des circuits additionneurs, directement d'une cellule à l'autre. 10. Procédé selon l'une quelconque des revendications 1 à 9 caractérisé en ce qu'il consiste à relier directement la sor tíe du circuit additionneur (23) de chaque cellule, à l'entrée retenue du circuit additionneur qui le suit dans la matrice de corrélation (13) pour traiter suivant une sixième option les nombres non signés. 11. Procédé selon l'une quelconque des revendications 1 à 11 caractérisé en ce qu'il consiste à réaliser suivant une septième option la mise en cascade de plusieurs matrices de cellules de corrélation (13). 12. Procédé selon l'une quelconque des revendications 1 à 11, caractérisé en ce qu'il consiste pour permettre le calcul de fonctions de corrélation de signaux à spectre étalé représentables par des amplitudes -1 ou +1 à attribuer aux bits R(i) les valeurs -1 ou +1. 13. Procédé selon la revendication 2, caractérisé en ce que pour le calcul de fonctions de corrélation habituelles pour lesquelles les bits Ri ne prennent que les valeurs 0 ou 1 le circuit "non OU exclusif (24) est remplacé par une porte ET à deux entrées sur lesquelles sont appliqués les bits Ri et Xi+k et une sortie reliée à la première entrée du circuit additionneur (23).