FR 2557322 A1 19850628 FR 8415673 A 19841012 La présente invention concerne un circuit intégré à très grande échelle (VLSI) qui comprend un certain nombre de cellules de fonction qui sont con- nectées les unes aux autres ainsi qu'au milieu environ- nant au moyen de connexions d'information. Le chapitre 7 (par C.L. Seitz) du livre de Mead and Conway, Introduction to VLSI systems, Addison- Wesley, Philippine Copyright i980, décrit les problèmes se rapportant à la synchronisation réciproque de divers éléments du circuit. Ces problèmes s'aggravent à mesure que la technologie se développe en direction d'une intégration à très grande échelle (VLSI), parce que les temps de commutation d'éléments actifs (portes, tran- sistors) diminuent rapidement à mesure que leurs dimensions augmentent, tandis que les temps de trans- port de signaux d'information par l'intermédiaire de connexions entre ces éléments actifs diminuent moins rapidement; de plus, le nombre d'éléments actifs sur une puce augmente de manière continue de sorte que les dimensions physiques des circuits ne sont pas réduites systématiquement; par conséquent, comparativement, le temps de transport de signal maximum dans le circuit reste le même au cours des années. La durée des trans- ports de signaux entre des éléments de circuit voisins ne suscite habituellement pas de difficultés, mais la nécessité d'effectuer un transport arbitraire dans le circuit suffisamment rapidement impose une limite supérieure à la vitesse de fonctionnement possible, définie-, par exemple, par une fréquence d'horloge, ou impose un jeu de restrictions limitatives et parfois contradictoires en ce qui concerne les positions relatives de divers éléments actifs, parce que les éléments qui communiquent l'un avec l'autre ne peuvent pas être trop éloignés les uns des autres, dans un système synchrone. Cette dernière condition implique une com- plexité croissante de la méthodologie de conception de circuits intégrés à très grande échelle. Une autre difficulté causée par le nombre croissant d'éléments de commutation (équivalents aux portes) sur une puce, est la complexité des procédures de contrôle nécessaires. Pour des circuits qui ne sont pas excessivement grands, un procédé intéressant a été proposé par Eichelberger (brevet E.U.A. ne 3.761.695), mais la complexité de ce procédé de contrôle augmente aussi rapidement parce que chaque élément bistable du circuit doit recevoir un bit d'information; dans le cas d'un grand nombre de ces éléments bistables, la longueur des séquences de contrôle (série de bits) et notamment la longueur de la série de séquences de contrôle deviennent trop impor- tantes pour permettre des contrôles complets dans la période limitée disponible. Il convient de noter qu'un tel contrôle'peut être effectué sur le circuit physique lui-même ainsi que sur un circuit simulé qui est stocké dans une mémoire d'ordinateur sous la forme de struc- tures interactives. Finalement, la conception d'un tel circuit intégré à très grande échelle devient de plus en plus complexe, comme décrit ci-après. Résumé de l'invention. L'invention a pour but d'atténuer leslimita- tions ayant trait à la conception afin de permettre une procédure de conception structurée et d'améliorer les possibilités de contrôle d'un tel circuit ou de fâci- liter sa conception en le divisant en des régions dites isochrones. Ce but est réalisé, conformément à l'inven- tion, par le fait que les celiules de fonction sont groupées en un nombre de m. 3 blocs de fonction, le circuit intégré qui est placé sur une seule puce. étant subdivisé en m régions isochrones qui compcennent chacune un bloc de fonction, chaque région isochrone comprenant, pour chaque connexion d'information, une cellule de communication entre une cellule de fonction qui est située dans la région isochrone en question et une cellule de fonction quelconque qui est située à l'extérieur de la région isochrone, la cellule de communication étant connectée dans la connexion d'in- formation en question de sorte que la connexion d'in- formation entre deux cellules de fonction qui sont situées dans les régions isochrones différentes com- prend toujours une connexion en série par paire de cellules de communication, deux cellules de communica- tion ainsi appariées étant toujours interconnectées par une connexion d'information et au moins deux connexions de synchronisation afin de réaliser, à l'aide de signaux de colloque de synchronisation bidirectionnels, un transport d'information asynchrone entre les cellules de communication appariées, chaque connexion d'information qui va d'une cellule de fonc- tion quelconque au milieu environnant comprenant une autre cellule de communication pour échanger des signaux d'information et de synchronisation avec le milieu, les cellules de fonction dans un bloc de fonction formant chaque fois un premier réseau cohérent tandis que les blocs de fonction dans le circuit intégré forment un second réseau cohérent. Par l'expression région isochrone, on entend ici une partie du circuit dans laquelle les retards des signaux sur les lignes sont négligeables, ce qui signifie qu'une variation différentielle de ce retard ne peut pas modifier le comportement logique du circuit. Dans un circuit à fonctionnement synchrone, ces retards sont, par conséquent, négligeables eu égard à la période de synchronisation. La définition exacte de "négligeable" dépend de la structure du cycle d'impulsions d'horloge 255732 2 (une, deux ou plusieurs transitions de niveau par cycle d'horloge). Dans un circuit à Fonctionnement asyn- chrone, le retard doit donc être faible par rapport aux temps de commutation des éléments logiques. Les situa- tions les plus défavorables sont alors déterminanteS parce que les temps de commutation peuvent dépendre notablement de la tension d'alimentation et de la température ambiante et que les retards ne varient pas ou ne varient que faiblement en fonction de ces para- métres. Une quantité donnée de surface de puce est requise pour réaliser les cellules de communication pour chaque région isochrone. Cela étant, les dimen- sions d'une telle région isochrone ne doivent pas être trop petites. D'autre part, elles ne peuvent pas être excessivement grandes parce que l'exigence "région" isochrone" nécessite alors une réduction de la fré- quence de travail ou aboutit aux dites exigences rigoureuses concernant les positions relatives dans la région isochrone en question ou encore compliquent la conception et le contr8le du bloc de fonction dans une région isochrone. Il est clair que le problème principal ainsi résolu est le problème de la synchronisation: des délais entre des blocs de fonction respectifs ne provoquent pas de mauvais fonctionnement, mais retar- dent simplement l'exécution correcte de la fonction et ce, uniquement dans la mesura provoquée par l'inter- valle de retard instantané. Si aucun transfert n'est effectué, l'intervalle de retard est inexistant. De plus, le retard est déterminé au niveau le plus bas et n'a aucun rapport avec des intervalles dus à un niveau de fonctionnement plus élevé, par exemple les temps de cycles de l'ordinateur, etc. Le fait que la communica- tion entre des blocs de fonction respectifs soit commandée au niveau des blocs de fonction eux-mêmes, c'est-à-dire d'une manière décentralisée, permet une commande peu compliquée et utilise du matériel peu compliqué à cet effet. Par conséquent, la surface nécessaire pour ces cellules de communication est très faible. Il convient de noter qu'aucun dispositif de commande de communication centralisé ou même un proces- seur de communication sur puce spécial avec toute la complication de sa conception, de son câblage et de ses interfaces, n'est nécessaire conformément à I'in- vention. De plus, l'exécution de la communication sous une commande répartie permet de limiter la largeur du trajet d'information & la valeur strictement néces- saire. Ceci peut aboutir à. différentes largeurs de trajets d'information entre des blocs de fonction respectifs. Un bloc de mémoire doit être connecté pour la communication de données et d'adresses et n'a que peu à voir avec la commande. Une pile de registres ou FIFO peut opérer sans longues adresses de mémoire. Certains bl6cs de fonction peuvent communiquer des données en série, tandis que d'autres doivent les communiquer en parallèle. Par l'expression "cellule de fonction"', on entend un ensemble d'éléments actifs qui occupe au moins en substance complètement une région finie de la puce. Des informations de données, d'adresse ou de commande sont traitées ou stock,ées dans une telle cellule de fonction. Un bloc de fonction peut être fait d'une ou de plusieurs cellules de fonction qui peuvent être d'une nature complètement différente. Les blocs de fonction sont fréquemment choisis de telle sorte qu'ils aient approximativement la même dimension, mais cette restriction n'est pas indispensable. Les cellules de fonction dans un bloc de fonction quelconque et les blocs de fonction dans un circuit intégré forment 2557322- chaque fois un montage cohérent; cette cohérence nécessite l'addition des cellules de communication entre les blocs de fonction, aucune (autre) cellule de communication n'étant requise dans un seul bloc de fonction. La connexion d'information entre deux cellules de communication appariées peut comprendre des lignes de données, des lignes d'adresse ou des lignes de commande. Ces lignes peuvent, en principe, être con- ductrices dans un sens ou dans les deux sens. Une seule ligne peut en principe être à même de coupler plus de deux cellules de communication, par exemple à la manière d'une connexion en étoile, d'une connexion de bus ou d'une autre manière. Le mécanisme de colloque de synchronisation correspondant doit habituellement être étendu, mais ces extensions sont bien connues, par exemple on peut, à cet effet, utiliser trois lignes de synchronisation au lieu de deux. En général, deux cellules de communication peuvent aussi être connectées par l'intermédiaire de trois lignes de synchronisation ou davantage. L'opération de traitement du circuit complet peut être synchrone auquel cas elle utilise une horloge externe ou interne, ou asynchrone ou mixte. La communi- cation entre des cellules de communication est cepen- dant toujours asynchrone. L'effet de la synchronisation de signaux reçus du milieu environnant est toujours inconditionnel dans une région isochrone; des retards de signaux dans la région isochrone en question n'in- fluencent pas l'effet de synchronisation. Par l'expres- sion retard d'un signal, on entend ici un retard dans les éléments d'un circuit qui ne peut lui-même pas être influencé par un signal de synchronisation, par exem- ple, un retard d'une ligne d'une capacité ou inductance ou analogue. Le temps de maintien d'un élément de 2557322' stockage qui est commandé par un cycle d'horloge, par exemple un élément de registre à décalage ou une série d'éléments de registre à décalage n'est, par conse- quent, pas couvert par cette définition. Ceci est dû au fait qu'un tel temps de maintien peut durer pendant une période indéfinie lorsque les signaux d'horloge sont interrompus. Par conséquent, une région isochrone est une région dans laquelle les signaux de synchronisation appliqués ont un effet systématique. Des circuits intégrés connus sont, par conséquent, formés d'une seule région isochrone selon la définition qui précède. Un cycle de signaux d'horloge peut comprendre une seule impulsion d'horloge ou une série d'impulsions d'horloge; ce dernier cas est connu, par exemple, dans une logique MOS dynamique polyphasée (par exemple par l'intermédiaire d'impulsions d'horloge de préchargement et d'échantillonnage). L'état d'isochronisme réciproque ne doit pas être respecté entre deux régions isochrones appariées: selon la situation instantanée (contenu d'information des régions isochrones en question, circonstances physiques, fréquence d'horloge si celle- ci est en principe adaptable, par exemple à la tension d'alimentation), il est possible que les régions isochrones en question doivent s'attendre l'une l'autre ou ne le doivent pas. Le colloque de synchronisation peut être réalisé de diverses manières, par exemple au moyen de signaux de requête/accusé de réception expri- més en bits. En variante, le protocole peut se situer à un niveau plus élevé, par exemple, par le fait que des signaux.de requête et/ou d'accusé de réception ne sont nécessaires qu'avant/après une série d'intervalles de bits. Au moins deux blocs de fonction qui sont appariés par des cellules de communication intermé- diaires sont de préférence tous deux des cellules de fonction de traitement. Ces blocs de traitement peuvent donc rapidement communiquer sans exiger, par exemple, de mémoire intermédiaire. Par l'expression bloc de fonction de traitement, on entend un bloc dont la fonction primaire est l'exécution d'opérations sur des informations afin de modifier le format ou le contenu de l'information. Des exemples sous ce rapport sont: des processeurs universels et des processeurs spéciaux tels que des processeurs d'entrée/sortie, de codage/dé- codage et de commande. Des catégories de blocs de fonction autres que des blocs de fonction de traitement sont, par exemple, des blocs de fonction de mémoire (des types de lecture/écriture, lecture uniquement ou intermédiaire tel que PROM, EAROM, etc.; leur organisa- tion peut impliquer une accessibilité directe, une organisation matricielle, mais ils peuvent aussi être agencés en série comme dans un registre à décalage), des distributeurs d'information tels que des (de)mulii- plexeurs et l'équivalent. Un bloc de fonction peut donc comprendre une ou plusieurs cellules de fonction. La connexion d'information entre une région isochrone et d'autres blocs de fonction comprend de préférence une batterie de registres qui peut être couplée sélectivement aux autres blocs de fonction sous la commande de blocs de commande en question. Ceci donne un module qui peut être avantageusement utilisé dans de grands circuits. Au moins trois cellules de fonction qui sont situées dans un nombre correspondant de régions iso- chrones réciproquement appariées sont de préférence connectées au moyen de cellules de communication à des lignes d'information intermédiaires qui sont chacune conductrices unidirectionnellement dans le temps dans un sens allant de la région isochrone directement précédente à la région isochrone directement suivante. On utilise de manière optimale la vitesse de traitement des éléments de la structure pipeline. Le circuit intégré peut aussi former un microprocesseur qui comprend au moins un bloc de fonction(ALU) formant des fonctions arithmétiques et logiques, un bloc de fonc- tion de mémoire et un bloc de fonction d'entrée/sortie qui comprend une connexion d'information à l'environ- nement. Ceci donne un module attrayant qui comprend notamment au moins trois types différents de blocs de fonction. Autres aspects de l'invention. Au moins une région isochrone comprend de préférence un dispositif pour fournir une séquence de contrôle ou une séquence de résultat reçue d'une autre région isochrone, bit par bit, à une troisième région isochrone lorsque le circuit intégré est dans un état de contrôle. Etant donné qu'elle dérive la structure modificatrice d'information des divers blocs de fonc- tion, une séquence de contrôle peut donc être appliquée directement au bloc de fonction à essayer ou la séquence de résultat peut être directement sortie. En vue de l'essai, les blocs de fonction sont donc comme qui dirait isolés. De plus, les interactions entre les divers blocs de fonction ne doivent pas être contrôlées parce qu'elles sont asynchrones de sorte qu'elles ne peuvent jamais provoquer une interaction incorrecte entre différentes régions isochrones. Ceci est dû au fait qu'une exactitude absolue est obtenue tandis que la certitude dans le domaine de temps est complètement abandonnée: en principe, on ne peut absolument pas prévoir le moment auquel une autre cellule de communi- cation fournira le signal de colloque de synchronisa- tion asynchrone. La vitesse de traitement générale dans un circuit intégré du type décrit peut varier sensible- ment en fonction des positions relatives des divers 2S57322 blocs de fonction. Deux blocs de fonction coopérant étroitement tels q'un ALU (unité arithmétique et logique) et la mémoire ROM de commande associée, doivent alors 8tre placés l'un près de l'autre. Cepen- dant, une unité de commande pour une connexion d'en- trée/sortie série peut être placée n'importe o sur la puce. Le groupe forme de préférence une chaîne de blocs de fonction destinés à fournir des séquences de contrôle au bloc de fonction à contrôler ou à sortir des séquences de résultats du bloc de fonction à contrôler par le fait que chaque région isochrone dont le bloc de fonction est incorporé dans la chaîne comprend des cellules de communication qui sont inclu- ses dans la chaîne qui comprend, par conséquent, au- moins deux cellules de communication, chaque cellule de communication présentant un premier et un second état- activé en alternance, afin, dans un premier état, d'activer le bloc de fonction associé et, dans un second état, de fournir une séquence de contrôle ou une séquence de résultat reçue d'une deuxième région isochrone, bit par bit, à une troisième région iso- chrone. L'entrée/sortie des séquences de contrôle ou des résultats de contrôle, peut être réalisée par l'intermédiaire de la connexion habituelle au milieu environnant, mais également par l'intermédiaire d'une broche de contrôle séparée. Au moins une région isochrone comprend de préférence un dispositif de connexion d'information destiné à communiquer, dans un état de contrôle du circuit intégré, une séquence de résultat d'un contrôle à un circuit de contrôle, la région isochrone compre- nant pour le reste exclusivement- les connexions d'in- formation à d'autres réaions isochrones. Un tel dispo- sitif de connexion d'information peut être, par exem- Ä557322 pie, une ligne de sortie de séquence de résultat qui est commune à plusieurs blocs de fonction. Cette dernière idée est basée sur la supposition 'qu'un seul de ces blocs de fonction peut sortir une séquence de résultat à la fois; d'autres blocs de fonction sont alors dans un état d'attente. Le circuit de contrôle en question peut être inclus dans le circuit intégré ou peut être formé par un dispositif séparé. La séquence de contrôle en question peut être produite intérieure- ment dans le bloc de fonction en question (essai automatique) mais peut aussi être appliquée partir du milieu environnant. Ceci peut être effectué par l'in- termédiaire d'une ligne d'alimentation de séquence de contrôle commune à laquelle un seul bloc de fonction actif est activement connecté. D'autres blocs de fonction sont alors dans un état d'attente. L'invention concerne aussi un procédé de contrôle d'un circuit intégré du type décrit, ce procédé comprenant les étapes suivantes: a) positionner le circuit intégré dans un état de contrôle; b) présenter une séquence de contriôle à un bloc de fonction afin de former une séquence de résul- tat à partir de la séquende de contrôle tout en en excluant des signaux d'information qui peuvent 9tre recus d'autres blocs de fonction; c) sortir la séquence de résultat du bloc de fonction pour la présenter, bit par bit, à un circuit de contrôle; d) répéter, si nécessaire, les étapes b) et c) tout en utilisant d'autres séquences de contrôle; e) vérifier les séquences de contrôle du point de vue exactitude jusqu'à ce qu'une limite de fiabilité soit atteinte ou qu'une erreur soit détectée; f) répéter, si nécessaire, les étapes b) A e) pour d'autres blocs de fonction à essayer; g) approuver le circuit intégré complet sur la base des limites de fiabilité atteintes ou rejeter le circuit intégré sur la base des erreurs détectées; h) positionner le circuit intégré dans un état prêt en cas d'approbation. Le système qui est formé présente donc des analogies données avec celui du brevet Eichelberger. Cependant, dans la technique connue, des éléments bistables sont sérialisés puis sont remplis d'une séquence de contrôle après quoi l'opération de traite- ment est exécutée et est suivie de la sérialisation des éléments bistables et de la sortie de la séquence de résultat; selon le nouveau procédé décrit, les blocs de fonction sont comme qui dirait isolés et une ou plu- sieurs séquences de contrôle appropriées sont appli- quées à chaque bloc de fonction. Ceci peut être effec- tué simultanément pour plusieurs blocs de fonction, mais on procède habituellement successivement parce qu'une série de séquences de contrôle se rapportant à un bloc de fonction donné est, dans ce cas, formée et que les séquences de résultats associées sont analysées successivement. L'accélération par rapport à la tech- nique connue est appréciable. Dans le cas de quatre blocs de fonction ayant chacun une entrée et une sortie d'une largeur de 8 bits, le procédé décentralisé décrit n'exige que 4x2 =lk de séquence de contrôle pour un contrôle à 100%. Un procédé de contrôle non décen- tralisé exigerait 232 séquences de contrôle pour obtenir un contrôle à 100%; ce nombre serait trop important pour offrir des possibilités économiques. l'isolation décrite peut être réalisée bloc par bloc, mais également en série de sorte que toutes les régions isochrones recoivent successivement une séquence de contrôle correspondante et après traitement sortent les 2557322. séquences de résultats successivement (en série par bit ou par byte). L'invention se rapporte aussi à un procédé de conception d'un circuit intégré à très grande échelle du type décrit, au moyen d'une bibliothèque d'éléments de configuration qui définissent le modèle de comporte- ment des cellules de fonction associées, ce procédé comprenant les étapes suivantes: a) décrire le groupe de fonctions à exécuter par le circuit par rapport au milieu environnant sous la forme d'une première liste de fonctions qui doivent être affichées sur un élément de visualisation; b) diviser le groupe en des.blocs de fonction séparés à afficher sur un élément de visualisation sous la forme d'une deuxième liste; c) définir un groupe de m> 3 régions iso- chrones formées chacune d'un bloc de fonction et définir aussi les interactions entre des cellules de fonction différentes dans des blocs de fonction diffé- rents afin d'ajouter une cellule de communication à chaque cellule de fonction dans un bloc de fonction ayant une connexion d'information à une cellule de fonction qui est située à l'extérieur du bloc de fonction associé, de sorte que chaque connexion d'in- formation entre deux cellules de fonction qui sont situées dans des régions isochrones différentes com- prend une connexion en série de deux cellules de communication, une cellule de communication comprenant un élément de configuration à titre de connexion, pour une connexion d'information et un élément de configura- tion de colloque de synchronisation avec deux lignes de synchronisation ou de colloque; d) positionner les blocs de fonction, les cellules de communication, les connexions d'information et les connexions de synchronisation ou de colloque; e) extraire les éléments de configuration définis par cellule de fonction de la bibliothèque. On conçoit habituellement un circuit en partant des éléments de configuration les plus petits et en composant des éléments de configuration plus grands successivement à partir des petits éléments. Une difficulté est constituée par le fait qu'un élément de configuration composite ne doit pas nécessairement être correct même lorsque ses parties constitutives le sont; quoique les corrections soient correctes, des problèmes peuvent surgir à la suite des difficultés de synchroni- sation décrites. Selon le procédé décrit, on utilise une approche inverse (c'est-à-dire de haut en bas): l'ensemble est divisé en sous-jeux de fonctions qui peuvent être reçus ensemble dans une seule région isochrone. Dans ce cas, aucune erreur de synchroni- sation ne peut se produire dans le couplage réciproque de régions isochrones. Le positionnement dans une région isochrone quelconque doit évidemment encore atre contr8lé pour vérifier son exactitude, mais un tel contrôle est d'un degré plus simple en raison de sa complexité moindre; de tels circuits formés d'une seule région isochrone sont bien connus de même que leur procédé de conception. Une région isochrone peut aussi être subdivisée en sous-régions isochrones qui sont à nouveau appariées au moyen de paires de cellules de communication. Brève description des figures. L'invention sera décrite en détail ci-après avec référence à certaines figures. L'arrière-plan de l'invention sera tout d'abord décrit. Ensuite, plu- sieurs formes d'exécution et certains mécanismes de colloque de synchronisation attrayants seront également décrits. Dans les dessins annexes: la Fig. 1 illustre une région isochrone; la Fig. 2 illustre la subdivision d'un circuit intégré en plusieurs régions isochrones; la Fig. 3 illustre un exemple d'un circuit qui peut être réalisé dans une seule région isochrone; la Fig. 4 illustre un module plus compliqué qui comprend deux blocs de fonction de commande; la Fig. 5 illustre un simple microprocesseur subdivisé en trois régions isochrones; la Fig. 6 illustre un mécanisme de colloque de synchronisation par l'intermédiaire duquel un bloc de fonction peut communiquer avec deux autres blocs de fonction; la Fig. 7 illustre une matrice de processeurs constituant chacun une région isochrone; la Fig. 8 illustre un processeur pipeline subdivisé en plusieurs régions isochrones; la Fig. 9 illustre un mécanisme de colloque de synchronisation pour la Fig. 8; les Fig. l0a à e illustrent des exemples élémentaires de contrôlesdécentralisés; la Fig. 11 illustre une région isochrone comprenant des cellules de communication organisées d'une manière multiplexée; la Fig. 12 illustre une région isochrone comportant des moyens de connexion d'information pour des séquences de contrôle/séquences de résultat; la Fig. 13 illustre un schéma d'organisation pour la conception d'un circuit intégré tel que décrit plus haut; la Fig. 14 est un organigramme pour la concep- tion d'un circuit intégré tel que décrit plus haut. Arrière-blan au niveau physique. Un certain arrière-plan de l'invention au niveau physique sera tout d'abord décrit. Un circuit intégré à très grande échelle comprend unevariété d'éléments tels que transistors, notamment transistors de commutation, éléments capacitifs, par exemple conçus comme des condensateurs MOS, des résistances qui peuvent être construites de diverses manières, des connexions de signaux en métal (par exemple en alumi- nium), des connexions de signaux en polysilicium, et des connexions de signaux produites sous la forme d'une région de diffusion. D s connexions de signaux d'un o10 type diffusé ou en polysilicium sont relativement lentes de sorte que des connexions métalliques sont utilisées chaque fois que cela s'avère possible. Ces connexions métalliques doivent notamment être utilisées pour les lignes d'alimentation de courant positive et négative; la puce est donc souvent divisée en des sous- régions topologiques qui ne communiquent que par des lignes de polysilicium ou des lignes diffusées. De plus, lorsque les signaux d'horloge doivent être fournis sur de grandes parties du circuit, elles doivent être réalisées au moins partiellement en polysilicium ou d'une manière diffusée. Pour ces deux dernières techniques, le retard de ligne, par exemple avec une largeur de ligne de 2 microns, est formé par un montage R-C. Pour la ligne elle-même, il reste vrai que les deux variables R-C sont proportionnelles à la longueur de la ligne de sorte que ce retard varie comme le carre de la longueur de la ligne. Lorsque d'autres éléments sont aussi impliqués dans les produits R-C, par exemple une résistance externe ou un condensateur, la variation en fonction de la longueur de la ligne devient moins brusque. Lorsque toutes les dimensions d'une connexion (longueur, largeur, épaisseur) sont réduites par le même facteur scalaire P, les temps de commutation des transistors sont souvent aussi réduits d'un facteur P. Le retard d'une ligne dont les dimen- -2557322 sions sont aussi réduites d'un facteur P est habituel- lement à peu près constant. Cela étant, le problème décrit concernant le retard introduit par les lignes s'aggrave de plus en plus à mesure que l'échelle est réduite davantage. Ce problème se marque davantage par le fait que le nombre de transistors et d'autres éléments dans un seul circuit intégré augmente conti- nuellement tandis que l'échelle diminue; en fait, les dimensions des circuits habituels restent en substance constantes lorsqu'elles sont mesurées en mm. Cependant, une fonction de plus en plus complexe peut être remplie par ces nouveaux circuits. Par conséquent, la diffi- culté suscitée par le retard dans les lignes de conne- xion s'aggrave encore davantage. Lorsque la longueur (en mm) est constante, le retard est accru d'un facteur p2 dans le cas d'un changement d'échelle (largeur, épaisseur). La densité d'intégration des portes est accrue d'un facteur p2. Le rapport du retard par l'intermédiaire d'une connexion générale et d'un temps de porte est donc accru d'un facteur p2. On a constaté que la dimension d'une région isochrone (calculée en portes) doit diminuer relativement lentement lorsque le facteur scalaire est raduit; lorsque l'échelle est suffisamment grande, aucune subdivision n'est, par conséquent, nécessair'. La Fig. 1 illustre une région isochrone qui est bornée par une ligne en traits interrompus 150. Cette région comprend un certain nombre de fonctions logiques 152 à 160 qui sont connectées en une chaîne: la fonction suivante ne peut être active qu'après que la fonction précédente ait sorti son résultat. Dans le procédé MOS moderne, le retard dans une fonction de. porte est typiquement de l'ordre-de 5 ns. Lorsque ces portes se succèdent directement, le retard par l'inter- médiaire des connexions entre les fonctions de porte représentées est faible, par exemple de l'ordre de 1 ns. Une fréquence d'horloge qui est admissible pour le circuit représenté est alors, par exemple, de MHz. Dans la pratique, une fréquence légèrement inférieure est choisie lorsque d'autres retards dont il faut tenir compte, ne sont pas nettement inférieurs à ns. Les éléments 152 à 160 doivent être considérés comme "cellules de fonction" et forment ensemble un "bloc de fonction". Les cellules de communication à connecter & d'autres régions isochrones seront décrites en détail plus loin. La Fig. 2 illustre la subdivision d'un circuit intégré en plusieurs régions isochrones. Le cercle 162 représente la fonction entière à exécuter dans le circuit, par exemple le "microprocesseur". Cette fonction est subdivisée en trois sous-fonctions, par exemple: le trajet de données, le trajet de commande et les opérations d'entrée/sortie qui sont symbolisées par les cercles 166, 164, 168 respectivement. Le trajet de données 166 (fonction) est subdivisé par les cercles 174 (ALU) et 176 (RAM). Le trajet de commande 164 est subdivisé par les cercles 170 (ROM de commande) et 172 (compteur de programme, etc.). Des lignes en traits interrompus indiquent que le trajet de commande est placé dans une seule région isochrone et que le trajet de données est réparti entre deux régions isochrones. L'opération d'entrée/sortie peut aussi être répartie entre plusieurs régions -isochrones de diverses manières. Le choix des cellules de fonction qui sont appariées entre les régions isochrones en question dépend des opérations à exécuter; cependant, des microprocesseurs subdivisés en plusieurs cellules de fonction/blocs de fonction sont bien connus, soit sans liaison de synchronisation ou de colloque entre les diverses régions isochrones. De nombreuses possibilités différentes existent en ce qui concerne la liaison de synchronisa- tion ou de colloque, plusieurs de ces possibilités étant décrites dans l'article de K.L. Thurber, intitulé "A Systematic Approch to the Design of Digital Bussing Structures", Proceedings AFIPS Conf. automne 1972, pages 719 à 740; une autre possibilité est décrite, par exemple, dans le brevet des Etats-Unis d'Amérique ne 4.357.658. Le nombre de connexions de synchronisa- tion entre deux blocs de fonction appariés est habi- tuellement égal au moins à deux, mais la vitesse de transport de l'information et/ou sa fiabilité peuvent être souvent accrues s'il l'on en utilise un plus grand nombre. Pour chaque connexion, un support physique séparé est habituellement prévu bien que cela ne soit pas une exigence absolue. Formes d'exécution: la composition d'une région isochrone. La Fig. 3 illustre un exemple d'un circuit formé dans une seule région isochrone 220. Dans cette figure, le bloc 222 comprend le système de commande et le bloc 224 comprend l'opération réelle/traitement. La commande sera tout d'abord décrite. Dans cette forme d'exécution, la commande est effectuée par l'intermé- diaire de systèmes logiques programmables (PLA) 106, 108 et de registres 102, 104, 110. Dans une autre forme d'exécution, une unité de commande peut être formée par un certain nombre de bascules sans utiliser de systèmes logiques programmables. Le système logique programmable PLA 106 assure la liaison de synchronisation ou de colloque avec d'autres blocs de fonctions dans d'autres régions isochrones. Cette utilisation d'un PLA s'est avérée très avantageuse. Les signaux URTS/UJSR sont transportés à la partie supérieure et les signaux DRTS/DJSR à la partie inférieure. Leur désignation est la suivante: DRTS: retour à partir du sous-programme de la struc- ture PLA subséquente. DJSR: saut vers le sous-programme (vers la structure PLA subséquente). URTS/ UJSR: idem en ce qui concerne une structure PLA précédente. Les directions de signaux "partie supé- rieure/partie inférieure" sont toujours opposées. Entre les sélections PLACOM et PLACOD, des circuits de déclenchement 110 actionnés intérieurement sont prévus. Le signal FRE(E) active la section de code et les signaux R(EA)DY et H(E) LP activent la section de communication 106. Les signaux de sortie formés par la section de code 108 sont déterminés par la fonction mise en oeuvre. Il est bien connu de réaliser un séquenceur au moyen d'un système logique programmable; cela étant, on ne s'étendra pas de manière détaillée sur le contenu de PLACOD. RDY et HLP amorcent la communication avec un PLA subséquent; RDY et HLP (valeur inversée de HLP) procèdent de la même manière avec un système PLA précédent. Le registre 102 reçoit des signaux d'instruction externes à partir d'une autre région isochrone sur l'entrée 109 (largeur en bits arbitraire), des signaux provenant de la section de traitement de données sur l'entrée (les entrées) 112 et des signaux d'état internes INSTATE du registre 104 par l'intermédiaire de la ou des lignes 103. En plus de ces signaux INSTATE, le registre sort des signaux d'in- struction externes sur une ou plusieurs sorties 107 pour une autre région isochrone et des signaux pour la section de traitement de données sur la ou les lignes 105. Les signaux RDY (ready) et HLP (help) sont aussi produits par le système PLA 108 en tant que signaux de *sortie. La section 224 comprend la section de traite- ment de données qui est aussi qualifiée de "trajet de données" par opposition au terme "trajet de commande" pour la section restante (108, 106 et d'autres). Il peut s'agir, par exemple, d'une unité arithmétique et logique ALU, d'une batterie ou d'une pile de registres ou d'un élémentd'entrée/sortie à connecter au milieu environnant. Par l'intermédiaire de deux connexions de données 226, 228, la section 224 est connectée à une structure précédente et suivante respectivement. Comme indiqué, les connexions 226, 228 sont des connexions bidirectionnelles, mais cela n'est pas indispensable. Ceci termine la description de la Fig. 3. La Fig. 4 illustre un bloc de fonction plus compliqué qui comprend deux cellules de fonction de commande et qui est reçu, sous la forme d'un seul élément, dans une seule région isochrone 136. La cellule de traitement 134 est à présent formée par une batterie de registres REGBNK. Les cellules de fonction de commande sont du type décrit avec référence à la Fig. 3. Elles sont représentées sous une forme légère- ment simplifiée. Par l'intermédiaire du bus de source SORBUS est indiqué le registre à connecter au bus de sortie OP2BUS. Par l'intermédiaire du bus de destina- tion DESBUS est indiqué le registre à remplir de données à partir du bus de résultat RESBUS. Les liai- sons de synchronisation ou de colloque sont chaque fois fournies par deux lignes JSR/RTS (1, 3). De plus, dans cette forme d'exécution, la sortie OPBUSJ est dispo- nible en tant que sortie d'un registre accumulateur. Les éléments d'écho 138 fournissent un colloque de demi-synchronisation entre les trois sections 130, 132 et 134. Les lignes SEL(ECTION)BUSet GL(OC)KBUS forment les lignes de commande intermédiaires. Un tel "semi- colloque" ne sera pas décrit ici pour plus de 255732Z concision. En coupant les lignes JSR2, RTS2, on pourrait y connecter un ALU pour exécuter des opérations sur l'information à partir d'un bus d'opérande OP(1, 2)BUS après connexion du registre indiqué par SORBUS à l'autre bus d'opérande. Après cette opération, le bus d'entrée RESBUS est connecté au second registre pour y stocker le résultat de l'opération (sélectionné par- DESBUS). La Fig. 5 illustre un simple microprocesseur subdivisé en trois régions isochrones; un microproces- seur peut être divisé en plusieurs régions isochrones; cependant, ceci dépend de la complexité, du nombre de fonctions et des limitations imposées par la relation entre la fréquence d'horloge et le retard des signaux dans le circuit. La section de droite de la Fig. 5 comprend une mémoire de programme morte 92 et une section de commande 90 pour cette mémoire. La section centrale comprend une unité arithmétique et logique ALU 85 ainsi qu'une section de commande 86 associée. La section de gauche comprend une unité d'entrée/sortie 84 et une section de commande 82 associée. Dans ce cas, trois cellules de fonction sont prévues, chaque cellule étant située à titre de bloc de fonction dans sa propre région isochrone. Les trois blocs de fonction sont chaque fois appariés deux par deux par l'intermédiaire de lignes de données 100, 104, de lignes de commande 94, 105 et de lignes de synchronisation telles que 96, 98. Les emplacements de soudure du circuit intégré très grande échelle, 80, ont été omis par souci de simplicité. Pour la conception d'un circuit plus élaboré, une description par module est de préférence fournie à un--niveau d'abstraction élevé.' Par exemple, pour la conception d'un circuit, les cellules de fonction peuvent être spécifiées par la fonction à 255732Z définir sous la forme de paramètres, par exemple par la largeur du trajet de données, la hauteur de la pile et le jeu d'instructions sélectionné. La conception correcte pour le bloc de fonction en question est alors sélectionnée au moyen d'un mécanisme de sélection de bibliothèque connu. Ces mécanismes de bibliothèque dans lesquels on extrait la forme d'un élément de commuta- tion en spécifiant une fonction à exécuter par l'élé- ment de commutation en question, sont habituellement utilisés dans les systèmes de conception assistés par ordinateur (CAD) pour des circuits intégrés. En plus des possibilités décrites pour les blocs de fonction, de nombreuses autres possibilités existent et certaines d'entre elles seront décrites ci- après avec les fonctions de commande associées. a. Mémoire avec décodeurs de fonction, déco- deurs d'adresses, adaptation au trajet de données, organisation de remise en état et registres supplémen- taires. b. ALU avec décodeurs de commande, générateurs de fonctions, registres, etc. c. Unité d'entrée/sortie avec au moins-quel- ques registres (au moins un pour chaque direction), décodeur de fonction, entrée/sortie, lecture/écriture éventuellement programmable, et pourvue d'un dispositif de codage et/ou de décodage d'adresse). d. Batterie ou pile de registres avec décodage de pointeur et décodage de fonction. e. Dispositif a temps éventuellement program- mable. Le dispositif de commande dans sa région isochrone fait apparaître des instructions pour le trajet de données et des contrMles dont les conditions sont données. Dans une forme d'exécution préférée, cette unité de commande meut être construite en sub- 2557322. stance comme illustré sur la Fig. 3. La Fig. 6 illustre un mécanisme de synchroni- sation associé qui a la forme d'un diagramme d'état qui comprend deux liaisons de synchronisation ou de colloque double: en A en ce qui concerne le bloc de-fonction supérieur suivant, en B en ce qui concerne le bloc de fonction inférieur suivant. De plus, une liaison. de synchronisation ou de colloque unique est prévue et se rapporte au bloc PLACMD par les signaux RUN et (UP ou DOWN). L'information à transférer est validée avant que le signal de validation associé (U/D/JSR) devienne haut. Dans une double liaison de synchronisation ou de colloque, par exemple le signal (U/D)RTS est ultérieu- rement utilisé comme signal d'accusé de réception. Pour le positionnement sur la puce, des blocs de fonction qui communiquent souvent l'un avec l'autre sont de préférence disposés l'un près de l'autre. Si cela n'est pas effectué, aucune erreur ne se présente, mais le circuit fonctionne d'une manière générale plus lente- ment en raison des temps d'attente requis pour achever le transport de l'information en question; les opéra- tions qui peuvent être rapidement exécutées le sont, en fait rapidement, mais les opérations qui doivent, par nécessité, être exécutées plus lentement, le sont aussi plus lentement (dans ce contexte, par le terme "opéra- tion", on entend également le transport d'information nécessaire). La "multiplicité" d'un transport d'infor- mation entre deux blocs de fonction prédéterminés peut dépendre du type d'opérationsà exécuter par le circuit intégré entier. En raison de différents domaines d'utilisation, la fréquence de certaines opérations peut varier parmi plusieurs composants du même type de circuit ou pour un seul composant, elle peut varier en fonction du temps. En plus des signaux déjà décrits, les désignations suivantes peuvent être données: READY = prêt UACK1 = accusé de réception Up 1 RSTRT = redémarrage RUN = exécution CALL = APPEL DACK1 = accusé de réception Down 1 WAIT = attendre DACK2 = accusé de réception Down 2 RETRN = retour UACK2 = accusé de réception Up 2. La Fig. 7 illustre un circuit intégré qui comprend une matrice de processeurs formant chacun une région isochrone. Plusieurs niveaux hiérarchiques sont possibles; certains processeurs peuvent être divisés en plusieurs régions isochrones tandis que d'autres ne le peuvent pas. Dans les limites du circuit électronique qui sont désignées par des lignes en traits inter- rompus, sont situés six processeurs 20, 22, 24, 26, 28, 30 qui comprennent chacun, par exemple, une unité arithmétique et logique (ALU), une mémoire de programme pour l'information de commande, par exemple un système logique spécial (exclusif), une mémoire morte pour l'information intermédiaire (données/adresse), un décodage de commande, des éléments pour l'entrée/sortie d'information du milieu environnant et vers celui-ci, et un bus pour les données, les adresses et l'informa- tion de commande, ce bus interconnectant les autres éléments. Ces éléments ne sont pas représentés en détail. Le processeur 20 comprend aussi un élément d'horloge 34, le processeur 26 comprenant un élément d'horloge 36 et ainsi de suite pour les autres pro- cesseurs. Sept paires de processeurs sont prévues, c'est-à-dire 20/26, 20/22, 26/28, 22/28, 22/24, 28/30 et 24/30. A titre d'exemple cependant, seule la paire /26 sera décrite en détail. Ces processeurs sont interconnectés par une ligne de données bidirection- nelle 64, une ligne de colloque 66 dans une première direction et une ligne de colloque 68 dans une seconde direction. Ces lignes sont représentées par une seule ligne, mais les largeurs de données peuvent avoir n'importe quelle valeur; dans certaines formes d'exécu- tion, les trajets de données peuvent avoir des largeurs différentes; par exemple, des connexions horizontales pourraient avoir une largeur différente de celle des connexions verticales. Une certaine ligne de données peut avoir une largeur de, par exemple, 8 bits et peut opérer en simplex, semi-duplex ou duplex total. Les lignes de colloque peuvent être simples ou multiples; dans le cas présent, elles peuvent conduire des signaux de colloque dans une direction ou, en variante, dans deux directions. Le protocoie de colloque sera décrit en détail plus loin. Des connexions de données et de colloque connectent le processeur 20, d'une manière semblable au processeur 26, aux emplacements de soudure 44, 46, 48 (à l'ouest) et aux emplacements de soudure 38, 40, 42 (au nord). De même, le processeur 26 est connecté aux emplacements de soudure 50, 52, 54 (vers l'est) et le processeur 24 est connecté aux emplace- ments. de soudure 56, 5a, 60 (au sud). Ce circuit intégré unique peut donc être connecté à un autre circuit de ce genre. Les signaux de l'horloge princi- pale parviennent sur les emplacements de soudure 32 à partir d'une horloge externe et sont répartis entre tous les processeurs. Chaque processeur reçoit ses propres signaux d'horloge inconditionnels à partir de son horloge locale propre qui est synchronisée par les signaux de L'horloge principale. Les signaux de col- loque sont localement synchronisés avec l'horloge principale afin de quantifier le temps 1: la nature asynchrone du colloque est maintenue parce que les processeurs doivent s'attendre l'un l'autre. Les signaux d'horloge ne sont donc pas inconditionnels en ce qui concerne le colloque parce que chaque transport de données (adresse, commande) par exemple celui qui s'effectue par l'intermédiaire de la ligne 64, s'accom- pagne d'une signalisation réciproque. En raison de la nature de colloque, par exemple un signal de requête de transport doit toujours précéder un signal d'accusé de réception de transport. Le colloque peut aussi être établi sans cette quantification de temps; dans ce cas, il est aussi asynchrone au "niveau micro". Le circuit de la Fig. 7 est subdivisé en six régions isochrones qui, en première instance, sont équivalentes. Lorsque toutes les connexions sont uniques et que deux con- nexions d'alimentation de courant sont également comptées, le circuit comprend au moins 33 emplacements de soudure dans la forme d'exécution représentée. Les emplacements de soudure peuvent être interconnectés extérieurement, par exemple 44 à 50 (données), 46 à 52/48 à 54 (signaux de colloque dans deux directions). D'autre part, il peut, parfois, être avantageux de limiter le nombre d'emplacements de soudure de telle sorte que tous les processeurs périphériques ne puis- sent pas communiquer avec le milieu environnant, ce rôle étant dévolu uniquement aux processeurs qui sont situés, par exemple, le long d'un des longs côtés. Lorsque les trajets de données ont une largeur de plusieurs bits, comme déjà mentionné plus haut, seule une sélection limitée des trajets de données peut alors être connectée directement aux emplacements de soudure. Une solution sous ce rapport pet consister à utiliser des (dé) multiplexeurs qui peuvent- être incorporés dans un bloc de fonction réservé à cet effet; ce dernier bloc est à nouveau formé dans une région isochrone séparée. La Fig. 8 illustre un processeur pipeline subdivisé en plusieurs régions isochrones; la Fig. 9 illustre le mécanisme de colloque associé. Un tel processeur pipeline implique le traitement parallèle de l'information. La figure montre trois étages successifs dont un seul sera décrit en détail (représenté dans le bloc 200). Chaque étage est formé dans une région isochrone séparée. Le bloc comporte deux lignes de communication disponibles pour la communication avec le bloc précédent (202/204) et avec le bloc suivant (206/208). Un registre 210 est également prévu (dans ce cas représenté, ce registre a une largeur de 4 bits) pour le stockage de l'information arrivant du bloc précédent par l'intermédiaire d'un signal d'horlogecLK sur la ligne 212. L'unite de communication du bloc (non représenté séparément) peut prendre l'un des quatre états suivants: 1. Ready l'unité a transmis des données au bloc suivant et attend à présent de nouvelles données à traiter à partir du bloc précédent; 2. start: l'unité a reçu des données du bloc précédent et en accuse réception; ces données sont aussi pointées à l'entrée du nouveau registre 210 et les éléments d'instruction du bloc sont destinés au traitement des données; 3. run: l'unité attend jusqu'à ce que les éléments d'instruction aient traité les données; 4. call: l'unité envoie un message vers le bloc suivant, informant ainsi ce bloc que des données ont été rendues disponibles pour lui; l'unité attend alors l'accusé de réception par ce dernier bloc. Dans le diagramme d'état de la Fig. 9, la communication s'effectue par l'intermédiaire de col- loque à côté unique. La Fig. 6 exige un double colloque parce que le cycle de colloque ne peut s'y terminer qu'après que l'information à transférer ait été validée; ceci n'est pas exigé sur la Fig. 9. Par conséquent, quatre états d'accusé de réception sont superflus sur la Fig. 9: le mécanisme de communication n'attend pas jusqu'à ce que le bloc de fonction suivant soit prêt de sorte que l'état "WAIT" est superflu. L'état "RETURN" est donc inclus dans l'état "start". Lorsque les données ont été traitées, la communication ne peut se produire qu'avec l'unité directement suivante. Description d'un procédé et d'un dispositif de contrôle réparti ou décentralisé. Comme déjà décrit, les diverses régions isochrones sont isolées dans le domaine de temps. Cela étant, tout le circuit intégré peut être contrôlé par contrôle de tous ses blocs de fonction séparément. Cependant, certains moyens spéciaux sont requis à cet effet. En premier lieu, on décrira certains exemples dans lesquels les régions isochrones/les blocs de fonction sont connectés dans une chaîne. Chacun des blocs indiqués en a à e sur la Fig. 10 représente -une région isochrone comprenant chaque fois un bloc de fonction et des cellules de communication pour permet- tre la connexion à d'autres blocs de fonction/régions isochrones. Toutes les connexions d'information indiquées en a sur la Fig. 10 sont unidirectionnelles. Les connexions normales sont désignées par des lignes non interrompues. Les lignes de colloque ne sont pas représentées séparément. L'information arrive par l'intermédiaire de la ligne 250. Elle est ensuite traitée dans- le bloc 252 et, pendant ce temps, le contenu de l'information peut âtre modifié. L'informa- tion traitée est appliquée au bloc 256 par l'intermé- diaire de la ligne 254; l'information peut alors être à nouveau modifiée. Ensuite, l'information est sortie par l'intermédiaire de la ligne 258, par exemple vers un utilisateur. Dans la situation de contrôle pour le bloc 256, la ligne interrompue est activée; cela signifie que la séquence de contrôle sur la ligne 254 corres- pond, bit par bit, à la séquence de contrôle sur la ligne 250 parce que la ligne interrompue dérive le bloc 252. En b, la Fig. 10 illustre une forme d'exécu- tion qui diffère de celle représentée en a. Les séquen- ces de contrôle peuvent à présent être reçues directe- ment du milieu environnant dans le blop 262 à con- trôler. Les séquences de résultats sont sorties par l'intermédiaire du bloc 266. Dans l'état de contrôle, la connexion qui est désignée par une ligne interrompue est activée de sorte que l'information ne peut pas être modifiée dans le bloc 266 et que les séquences de résultat apparaissent bit par bit sur la ligne de sortie 268. Par l'expression bit par bit, on entend qu'un bit de la séquence initiale peut être dérivé de chaque bit du résultat de sortie. Ceci pourrait '-impli- quer le recodage binaire, par exemple "l'inversion de tous les bits". Dans l'agencement représenté en c sur la Fig. 10, le bloc 276 à contrôler ne communique directe- ment avec le milieu environnant ni à son entrée ni à sa sortie, un autre bloc (272 et 280 respectivement) étant chaque fois introduit. Cela étant, dans l'état de contrôle, les deux lignes en traits interrompus sont activées de sorte que les blocs 272, 280 n'influencent pas la séquence de contrôle et la séquence de résultat. Dans l'agencement illustré en d sur la Fig. 10, le bloc 296 à contrôler est connecté de manière bidirectionnelle au bloc 292 qui est le seul bloc connecté au milieu environnant. Cela étant, dans la situation de contrôle, les.eux lignes en traits interrompus sont activées de sorte que le bloc 292 n'affecte pas la séquence de contrôle et la séquence de résultat. Dans certains cas, il peut arriver que des blocs de fonction donnés ne puissent modifier l'infor- mation, par exemple parce qu'ils sont construits comme une pile de registres. Dans ce cas, il peut être parfois superflu de prévoir une ligne de dérivation. L'agencement représenté en e sur la Fig. 10 comprend deux blocs 310, 312 à contrôler qui reçoivent tous deux de l'information du bloc 308. Pour contrôler le bloc 310, la ligne en traits interrompus 304 est activée pour appliquer des séquences de contrôle, bit par bit, directement au bloc 310. De même, pour con- trôler le bloc 312, la ligne 306 est activée. La Fig.11 illustre une région isochrone comprenant des celluiles de communication qui sont organisées d'une manière multiplexée. La région couvre le rectangle 300. La cellule de communication 302 reçoit de l'information par l'intermédiaire de la ligne 308 et exécute un protocole de colloque bidirectionnel par l'intermédiaire. des lignes 310. la cellule de communication 304 expédie de l'information par la ligne 312 par un protocole de colloque par l'intermédiaire des lignes 314. Dans cette forme d'exécution, les cellules de communication comprennent toutes deux un inverseur bipolaire comportant une première position et une seconde position. Dans la première position, la ligne 308 est connectée au registre d'entrée 316 et le registre de sortie 318 est connecté à la ligne 312. Sous l'influence de l'interaction avec les signaux. de colloque reçus des cellules de communication dans le bloc de synchronisation 306 et de la sortie des signaux de colloque par le bloc de synchronisation, les regis- tres 316, 318 sont correctement remplis/vidés et le bloc de traitement 320 exécute (intérieurement de manière isochrone) les opérations qui sont typiques du bloc de fonction, mais qui cependant sont sans impor- tance dans ce contexte. L'élément 322 est un décodeur qui est activé en réaction à une séquence de signal d'entrée donnée. En variante, l'élément 322 peut être un récepteur pour un signal de commande de contrôle spécifique qui apparaît sur une broche de connexion désignée des bottiers du circuit intégré; cependant, un tel signal de commande de contrôle a été omis pour plus de simplicité. Lorsque ce signal de commande de con- trôle ou les séquences de signaux d'entrée spécifiées apparaissent, les inverseurs bipolaires passent dans leur seconde position et;l'information reçue sur la ligne 308 est sortie à nouveau directement sur la ligne 312 par l'intermédiaire de la ligne 324 sans qu'il soit possible d'exécuter une opération de modification de l'information. L'inverseur peut être amené dans sa position initiale, soit après une période donnée, soit après un certain nombre de séquences de contrôle (lorsque l'élément 306 comprend un compteur) ou simple- ment par la disparition du signal de commande de contrôle. Par coopération avec le signal de commande de contrôle externe et avec des mots de code spécifiques dans les divers registres d'entrée, diverses chaînes de blocs de fonction dérivés peuvent être formées. Dans une autre forme d'exécution, seule la cellule de communication sortante 304 comprend un inverseur bipolaire au cas o des séquences de contrôle et des séquences de résultat sont traitées, mais toutes les modifications introduites ne sont pas extérieurement visibles. En--variante, seule la cellule de communica- tion 302 comprend un commutateur î plusieurs positions à son entrée, notamment lorsque le circuit de traite- ment 320 sort encore la même information qui est masquée, par exemple, par les séquences de contrôle reques par l'intermédiaire de la ligne 324 (par exemple comme une connexion à collecteur ouvert). Dans l'agen- cement indiqué en e sur la Fig. 10, cette entrée peut alors comprendre un commutateur à trois états. Dans le cas de plusieurs entrées et d'une seule sortie, le commutateur a plusieurs positions peut être connecté à la sortie, ainsi que diverses dérivations pour les diverses entrées. Dans l'agencement représenté en c sur la Fig. 10, les blocs 272 et 276 sont tout d'abord déconnectés par un premier mot de commande et le bloc 280 est contrôlé. Lorsque le bloc 280 s'est avéré être "correct", deux possibilités existent: a) en premier lieu, le bloc 280 est déconnecté sous la commande du dernier mot de contrôle. Puis le bloc 272 est connecté par le second mot lde commande. Le second mot de commande et le dernier mot de contrôle peuvent être identiques. Lorsque le bloc 276 s'est avéré être "correct", il est déconnecté par le dernier mot de contrôle de sa propre série. Le bloc 272 est ensuite contrôlé. Le contrôle se termine par l'inter- ruption du signal de commande de contrôle externe. b) lorsque le bloc 280 ne comprend pas de mémoire, ce qui signifie que le résultat pour le mot de contrôle (n+l) est indépendant des mots de contrôle présentés précédemment, le bloc 280 ne doit plus être déconnecté lorsqu'il s'est avéré être correct. Dans ce cas, seuls (n-l) mots de commande sont nécessaires pour n blocs de fonction. Il est clair que, dans un tel cas, le mot de résultat est déterminé par la fonction à contrôler dans le bloc de fonction en question ainsi que par la -ou les fonctions correctes dans un ou plusieurs blocs de fonction ultA-érieurs. Dans le cas d'un bus, les blocs de fonction qui y sont connectés peuvent être activés sélectivement par adressage. Un autre procédé d'essai réparti ou décen- tralisé sera décrit avec référence à la Fig. 12 qui illustre une région isochrone comprenant des moyens de connexion de l'information pour des séquences de contrôle/séquences de résultat. L'agencement du circuit correspond en substance à celui représenté sur la Fig. 3 et comprend une section de communication COMMU, une section de commande CNTRL et une section de traite- ment DATA. La section de commande reçoit le OPCOD et la section de traitement reçoit les données d'entrée IARG et sort des données de sortie OARG. Le traitement est effectué par des signaux de commande CMD, éventuelle- ment commandés conjointementparunsignaldecocndition COND. La région isochrone en auest'ion fait partie du circuit comprenant plusieurs régions isochrones. La section de commande CNTRL est connectée à une ligne SCANIN pour recevoir une séquence de contrôle; l'admission effec- tive de cette séquence est commandée par un ordre d'essai sur la ligne OPCOD. Une séquence de résultat est ultérieurement sortie sur la ligne SCANOUT; 'si on le souhaite, ceci peut être effectué sous la commande d'un second ordre de contrôle sur la ligne OPCOD. Les lignes SCANIN et SCAkOUT sont connectées à un circuit de contrôle qui peut faire partie du circuit intégré. le circuit de contrôle vérifie les séquences de con- trôle pour déceler leur concordance avec les séquences de contrôle associées. Il est connecté aux diverses lignes SCANIN/SCAZOUT par l'intermédiaire d'une struc- ture de (dé)multiplexeur et comprend une sortie qui est connectée au milieu environnant pour indiquer les divers états: contrôle, non-contrôle, correct, incorrect. En variante, le circuit de contrôle ne doit pas faire partie du circuit intégré; dans ce cas, seule -35 la structure de (dé)multiplexeur est prévue sur la puce. Les lignes SCANIN/SCANOUT peuvent être uniques. Dans une forme d'exécution préférée, le circuit est essayé de telle sorte qu'une seule région isochrone soit à chaqueinstant active; ceci peut 8treréalisé d'une manière très simple par l'introduction du mécanisme de colloque entre diverses régions isochrones. Dans ce cas, une seule région isochrone accepte une séquence de contr8le à un moment quelconque de sorte que les lignes SCANIN peuvent être connectées en parallèle à toutes les régions isochrones à contrôler. De même, les lignes SCANOUT peuvent alors aussi être connectées en paral- lèle à toutes les régions isochrones à contr8ler. La structure de (dé) multiplexeur pour le circuit de contr8le peut alors aussi être omise. Le nombre de connexions de contr8le peut être réduit davantage de la manière suivante: a) la séquence de contr8le n'est pas appliquée à la région isochrone de l'extérieur, mais est produite dans la région isochrone ellemême, par exemple au moyen d'un registre à décalage de "longueur maximum" couplé en cercle. Le résultat peut aussi être traité au moyen d'un tel registre à décalage couplé en cercle; la séquence de résultat présente alors les caractéristi- ques d'une séquence dite de "signature". Lorsque cette séquence comprend, par exemple, 16 bits, une seule des 216 possibilitésest une séquence correcte, les autres séquences indiquant un fonctionnement incorrect. Dans ce cas, le risque qu'une erreur ne se manifeste pas par une séquence de résultat incorrecte est approximative- ment 2; dans de nombreux cas, un tel risque est acceptable. b) les lignes SCANIN ET SCANOUT sont com- binées; dans ce cas, un circuit d'émetteur/récepteur pouvant être activé de manière bidirectionnelle est requis dans la région isochrone en question (et dans le circuit de contrôle). La conception d'un circuit intégré du type décrit. La Fig. 13 illustre un schéma d'organisation pour la conception d'un circuit intégré du type décrit. Ce schéma illustre les divers éléments de programme (programmes et fichiers de données) du système de conception ainsi que leurs interactions fonctionnelles. On décrira tout d'abord les parties qui permettent de concevoir un circuit intégré sans l'aide de cellules de communication. Le bloc HARDSIM est un programme écrit dans le langage de programmation SIMULA pour les fonctions à exécuter par le circuit et comprend aussi un certain nombre de procédures auxiliaires selon lesquelles plusieurs parties élémentaires peuvent être adressées d'une manière simple, par exemple "cellule", "signal", "entrée", "sortie". Les éléments de ce bloc sont adéquats pour une description du comportement et de la structure du circuit intégré. Ceci a déjà été publié dans l'article "FULLES, a VLSI programming environment" par L. Spaanenburg et collaborateurs, Digest CICC '83, pages 456-460, Rochester, New York, mai 1983. Le bloc}ARDSIM produit un résultat (en réaction à l'entrée des spécifications de fonction par un concepteur) sous la forme d'un certain nombre de fichiers de données. En coopération avec le bloc HARDSIM, le bloc LAYOOT contient une structure qui a aussi été publiée dans l'article précité et qui produit une géométrie pour le circuit décrite dans SIMULA au moyen d'une structure de fichier de données interne du bloc LAYOOT. La partie du schéma d'organisation qui est située au-dessus de la ligne en traits interrompus FIR offre donc une description à grande échelle et structu- relle des blocs de fonction. Ainsi, selon une approche de haut en bas la fonction générale est en premier lieu spécifiée, le programme prévoyant donc, sur la base de règles prédéterminées, des fonctions qui ne sont pas spécifiées dans la description des fonc- tions. La conception est habituellement exécutée en un certain nombre d'opérations, des opérations successives exigeant l'entrée d'une description plus détaillée du comportement en lieu et place de la description plus générale du comportement introduite pendant les opéra- tions précédentes. La prévision peut évidemment aussi impliquer la formation de sous-fonctions incorrectes qui exigent aussi une correction pendant une opération suivante. Le dit article définit les éléments succes- sifs au départ du niveau le plus bas (de bas en haut): - blocs de conducteurs élémentaires, - contacts croisés entre conducteurs (même couche, couches différentes avec contacts de traversée, couches différentes avec isolation de séparation croisement électriquement inactives, couches diffé- rentes avec couches d'isolation électriquement actives -transistors), composants, par exemple transistor (vertical ou latéral), - masque en tant que jeu d'éléments, par exemple de transistors et de composants analogues, - portes, par exemple en fonction d'une variété de procédures. Dans la section située en dessous de la ligne SEC, les fichiers de données principaux sont indiqués 3 comme des octogones; les autres éléments, notamment les programmes, sont indiqués par des rectangles. Le bloc central DESING forme un fichier de données de concep- tion présentant le format défini intérieurement du diagramme logique. Le bloc MADOUT qui est situé au- dessus interprète le fichier de données du bloc DESING -et forme un programme de conversion. La conversion pent être omise dans des cas donnés, selon la structure de définition du bloc DESING. Il est à noter que la contribution du concepteur est faite de la sélection des données qui sont appliquées en language SIMULA; le reste au-dessus de la ligne FIR et en dessous de la ligne SEC est alors déterminé de manière causale et exécuté selon l'état de la technologie. Chaque section d'un circuit présente deux aspects, c'est-à-dire un volume et un bord. Pour chacun de ces aspects, le fichier DESING comprend deux sous-fichiers, l'un contenant une description de structure et l'autre une description de comportement: en tout quatre sous- fichiers sont présents. Comme déjà spécifié, plusieurs couches sont prévues et comprennent chacune leurs propres segments de circuit. La description de struc- ture fournit toujours une réponse aux questions: o est l'élément ?; la description du comportement répond à la question:quelle est la fonction ? Une descrip- tion logique est à présent exécutée au niveau de l'expression du circuit intégré par le bloc DESING. Le procédé PROCEES comprend un fichier de données qui concerne les propriétés spécifiques de la technologie à utiliser. Le bloc WAVEFORM comprend un fichier de données concernant les formes d'onde des signaux d'entrée. Le bloc TESALS comprend un programme qui exécute une simulation des diverses portes au moyen de la description logique (bloc DESING) et les formes d'onde des données d'entrée; à partir de cette simula- tion, un résultat "correct" ou "douteux" peut être dérivé d'une évaluation effectuée par le concepteur. A partir de cette simulation connue, il peut déduire, par exemple, qu'un état "d'emballement" peut exister dans le circuit parce que deux signaux d'entrée d'une porte logique changent simultanément, ce qui entraîne des états intermédiaires brefs logiquement excessifs sur la sortie. Si une telle erreur se produit, un rejet est signalé et la conception doit être changée ou la donnée d'entrée doit être modifiée. Selon le système connu, une telle erreur aurait des conséquences à tous les niveaux de la procédure de conception, notamment aussi dans les parties situées au-dessus de la ligne FIR. Le bloc TRSIT3 comprend un programme developpé et commer- cialisé par "Leuven Research and Development Corpora- tion" de l'Université de Leuven,Belgique. En utilisant les fonctions logiques à former par le bloc DESING, les données technologiques du bloc PROCEES, les données de formes d'onde du bloc VAVFORM et la géométrie des divers transistors, ce bloc TRSIT3 exécute une simula- tion au niveau des transistors qui est semblable à ce]le exécutée au niveau des portes dans le bloc TESALS. Dans des circonstances données, des conflits peuvent alors surgir en ce qui concerne des spécifica- tions é]ectriques de ces transistors (par exemple énergie, impédance ou vitesse). Le bloc DEEAET comprend un programme d'assemblage qui exécute, sur la base des fonctions logiques à former à partir du bloc DESING et des données technologiques provenant du bloc PROCEES, une conversion entre des noms de cellules et des descriptions de masques, par exemple sous la forme d'un chapelet de rectangles par masque. Par la suite, ces données de masque sont renvoyées au fichier de données dans le bloc DESING. Les blocs STAT, LDES et MADEST concernant notamment l'interaction avec l'opérateur ou le con- cepteur. Le bloc STAT contient un programme qui forme, a l'aide des diagrammes d'état du bloc DESING, un diagramme de porte ayant la forme d'une description avec des formules booléennes. Au départ de cette Io description, une visualisation du type liste peut être produite sélectivement sur un moniteur vidéo ou sur un autre milieu tel qu'une imprimante. Une interaction avec l'opérateur peut se produire par adressage sélec- tif de la liste pour la visualisation d'une partie prédéterminée. Lorsqu'une modification doit être apportée, elle doit être introduite n'importe o dans la conception, par exemple par adaptation du générateur de signaux (bloc WAVFORM), modification de la fonction * (bloc HARDSIM) ou addition d'étages tampon (bloc LDES). De même que le bloc STAT, le bloc LDES fonctionne aussi sur la base des descriptions de comportement. Il contiet un programme qui est capable de former une visualisation du type liste de la description des portes à partir du bloc DESING sur un tube à rayons cathodiques ou sur un autre milieu, par exemple sous la forme d'une liste de portes, ainsi qu'une liste des autres portes connectées à chaque entrée de chaque porte ou à chaque sortie de chaque porte. Cette liste comprend, en outre, une sous-liste d'autres éléments élémentaires définis au niveau des portes, par exemple des convertisseurs pour des niveaux de tension et des éléments bistables de différents types. Une partie de la liste peut à nouveau être visualisée sur un dispo- sitif à tube à rayons cathodiques par adressage sélectif; toutes les corrections ainsi indiquées peuvent être effectuées dans un des autres blocs. Il convient aussi de noter que le bloc DESING comprend une bibliothèque de cellules décrite à différents niveaux d'abstraction; cette bibliothèque peut être adressée à ces différents niveaux. Le bloc de fichier de données DESING contient aussi, entre autres, les données pour le bloc COMCEL décrit, plus loin. Le bloc MADEST con- tient un programme qui agit sur la description de la structure des transistors introduite à partir du bloc DESING et qui peut produire, à l'aide de données technologiques provenant du bloc PROCEES, une visuali- sation du type liste des transistors standards à utiliser, ainsi que les positions et les orientations associées, ou une liste des coordonnées angulaires des masques en question, sur un moniteur vidéo ou un autre milieu. Un opérateur peut, ensuite, exécuter une opération d'adressage sélective afin de visualiser une sous-liste de cette liste. De plus, un élément de visualisation graphique peut être connecté au bloc MADEST afin de former une image par adressage sélectif des listes en question (par numéro de liste ou autrement) au moyen des coor- données géométriques associées aux divers numéros de listes. Cette image est formée de rectangles et un simple algorithme détermine si un pixel est situé dans un rectangle donné, par exemple une partie de tran- sistor, ou à l'extérieur d'un tel rectangle. Ces algorithmes ont été décrits plus haut. De plus, une classe donnée de polygones (par exemple un polygone de diffusion ou une bascule) est chaque fois visualisée dans une couleur désignée et donnée. Il est connu d'utiliser, par exemple, 64 couleurs transparentes ou solides différentes. Selon l'état connu de la technologie, la section qui est située au-dessus de la ligne FIR est connectée directement aux sections situées en dessous de la ligne SEC. Ceci a des conséquences en ce sens qu'une erreur, un défaut ou une modification dans la section inférieure ou dans le fonctionnement de cette section, a des conséquences pour toutes les parties et, par conséquent, aussi pour l'entrée (paramètres, fonctions) dans les blocs HARDSIMN et LAYOOT. Dans des circonstances données, ceci peut nécessiter un grand nombre d'opérations de retraitement. Selon l'aspect de 2557322- l'invention qui est intéressant pour la conception, la partie du schéma d'organisation qui est située au- dessus de la ligne FIR est connectée à la partie qui est située en dessous de la ligne SEC par l'intermé- diaire d'un bloc intermédiaire COMCEL. Le bloc COMCEL contient un programme qui supplée les blocs de fonction produits dans la partie supérieure par des cellules de communication associées par paires sur leurs lignes de communication et de connexion par paires. La descrip- tion de la structure et du comportement de ces cellules peut à nouveau être incluse dans le fichier de données du bloc DESING. Ces cellules de communication peuvent aussi être présentes sous une forme différente, par exemple selon la structure et la quantité de la commu- nication (par exemple communication unidirectionnelle en regard de bidirectionnelle et aussi selon diffé- rentes largeurs en bits). Les opérations de retraite- ment déjà décrites ne doivent, par conséquent, jamais être poursuivies jusqu'au niveau de l'interaction entre les divers blocs de fonction: des corrections et des erreurs n'ont à présent un effet que jusqu'à la ligne de séparation SEC (au moins dans la mesure o elles se manifestent dans la partie inférieure du système de conception). La Fig. 14 représente un organigramme pour la conception d'un circuit intégré du type décrit. Le bloc 500 illustre la composition de la liste des fonctions à exécuter, éventuellement sous la forme de paramètres. Dans le bloc 502, cette liste est affichée d'une manière choisie ou non. Dans le bloc 504, une liste de blocs de fonction est forme à partir de la liste de fonctions. Cette procédure peut être exécutée dans des opérations interactives. La visualisation de la liste de blocs de fonction est réalisée dans le bloc 504. Dans le bloc 506, on décide si la liste de blocs de fonction est correcte. Dans le bloc 508, les éléments de configura- tion constitutifs sont adressés pour chaque bloc afin d'être positionnés dans la région isochrone du bloc de fonction en question. L'essai et le retraitement dans les blocs de fonction séparés s'effectuent d'une manière classique sans utiliser l'effet d'isolation d'interaction du bloc COMCEL. Ceci peut être effectué, par exemple, d'avance; en réalité, on utilise alors une bibliothèque comprenant des blocs de fonction corrects. Après d'éventuels opérations de retraitement, le procédé est arrêté dans le bloc 510. Le circuit intégré peut à présent être contrôlé à un plus grand nombre de niveaux: a. chaque bloc de fonction séparé est contrôlé pour vérifier s'il fonctionne correctement comme décrit plus haut; b. tout le circuit est contrôlé cour vérifier sa capacité de traitement (rendement). Ceci s'effectue en présentant un certain nombre de signaux à traiter, par exemple un contrôle dit d'évaluation des per- formances. En lieu et place de l'exactitude, on con- trôle à présent la vitesse de traitement. R E V L N D I C A T I O N S 1. - Circuit intégré à très grande échelle (VLSI) qui comprend un certain nombre de cellules de fonction qui sont connectées les unes aux autres ainsi qu'au milieu environnant au moyen de connexions d'information, caractérisé en ce que les cellules de fonction sont groupées en un nombre de m) 3 blocs de fonction, le circuit intégré qui est placé sur une seule puce étant subdivisé en m régions isochrones qui comprennent chacune un bloc de fonction, chaque région isochrone comprenant, pour chaque connexion d'infor- mation, une cellule de communication entre une cellule de fonction qui est située dans la région isochrone en question et une cellule de fonction quelconque qui est située à l'extérieur de la région isochrone, la cellule de communication étant connectée dans la connexion d'information en question, de sorte que la connexion d'information entre deux cellules de fonction qui sont situées dans des régions isochrones diffé- rentes comprend toujours une connexion en série de deux cellules de communication, deux cellules de communi- cation ainsi appariées étant toujours interconnectées par une connexion d'information et au moins deux connexions de synchronisation en colloque afin de réaliser, à l'aide de signaux de colloque bidirec- tionels, sous commande locale, un transport d'infor- mation asynchrone entre les cellules de communication appariées, et par conséquent entre les régions iso- chrones associées, chaque connexion d'information qui va d'une cellule de fonction quelconque au milieu environnant comprenant une autre cellule de communi- cation pour échanger des signaux d'information et de synchronisation avec le milieu environnant, les cel- lules de fonction dans un bloc de fonction formant chaque fois un premier réseau cohérent, tandis que les blocs de fonction dans le circuit intéaré forment un second réseau cohérent. 2.- Circuit intégré suivant la revendica- tion 1, caractérisé en ce qu'au moins deux blocs de fonction qui sont appariés par des cellules de communi- cation intermédiaires comprennent tous deux des cel- lules de fonction de traitement. 3.- Circuit intégré suivant la revendication 1 ou 2, caractérisé en ce que la connexion entre un premier bloc de fonction et un second bloc de fonction comporte un premier jeu de lignes d'information, la connexion entre le premier bloc de fonction et un troisième bloc d'information comporte un deuxième jeu de lignes d'information et le premier et le second jeu sont différents. 4.- Circuit intéagré suivant la revendica- tion 3, caractérisé en ce que les nombres de lignes d'information dans le premier et le deuxième jeu sont différents. 5.- Circuit intégré suivant la revendica- tion 4, caractérisé en ce que les nombres de lignes de données dans le premier et le deuxième jeu sont différents. 6.- Circuit intégré suivant l'une quelconque des revendications 1 ou 5, caractérisé an ce que la connexion d'information entre une région isochrone et d'autres blocs de fonction comprend une batterie de registres pouvant être sélectivement couplée aux autres blocs de fonction sous la commande des blocs de com- mande en question. 7.- Circuit intégré 'suivant la revendica- tion 1, caractérisé en ce qu'au moins trois cellules de fonction qui sont situées dans un nombre correspondant de régions isochrones réciproquement appariées sont connectées au moyen de cellules de communication à des lignes d'information intermédiaires qui sont chaque fois unidirectionnellement conductrices, c'est-à-dire dans un sens allant de la région isochrone directement précédente à la région isochrone directement suivante. 8.- Circuit intégré suivant l'une quelconque des revendications précédentes, caractérisé en ce qu'il forme un microprocesseur dans lequel sont prévus au moins un bloc de fonction (ALU) qui forme des fonctions arithmétiques et logiques, un bloc de fonction de mémoire et un bloc de fonction d'entrée/sortie qui comprendune connexion d'information au milieu environnant. 9.- Circuit intégré suivant l'une quelconque des revendications 1 à 8, caractérisé en ce qu'au moins une région isochrone compdend un dispositif destiné à fournir une séquence de contrôle ou une séquence de résultat reçue d'une région isochrone, bit par bit, à une troisième région isochrone lorsque le circuit intégré se trouve dans un état de contrôle. 10.- Circuit intégré suivant l'une quelconque des revendications 1 à 8, comprenant un bloc de' fonc- tion à contrôler qui est connecté à la connexion au milieu environnant par l'intermédiaire d'un groupe d'autres blocs de fonction, caractérisé en ce que ce groupe forme une chaîne de blocs de fonction pour fournir des séquences de contrôle aux blocs de fonction à contrôler ou pour sortir des séquences de résultat des blocs de fonction à contrôler, chaque région isochrone dont le bloc de fonction est inclus dans la chaîne comprend des cellules de communication qui sont incluses dans la chaîne qui comprend par conséquent au moins deux cellules de communication, chaque cellule de communication présentant un premier état et un second état d'une manière multiplexée, c'est-à-dire un premier état pour activer le bloc de fonction associé et un second état pour fournir une séquence de contrôle ou une séquence de résultat recue d'une seconde région isochrone bit par bit à une troisième région isochrone. 11.- Circuit intégré suivant l'une quelconque des revendications 1 à 8, caractérisé en ce qu'au moins une région isochrone comprend un dispositif de correc- tion d'information pour communiquer, dans un état de contrôle du circuit intégré, une séquence de résultat d'un contrôle à un circuit de contrôle, la région isochrone comprenant sinon exclusivement des connexions d'information à d'autres régions isochrones. 12.- Circuit intégré suivant l'une quelconque des revendications i à 8, caractérisé en ce qu'au moins une région isochrone comprend un dispositif de conne- xion d'information pour communiquer, dans un état de contrôle du circuit intégré, une séquence de contrôle et une séquence de résultat produites par la séquence de contrôle à un circuit de contrôle, la région iso- chrone comprenant sinon exclusivement des connexions d'information à d'autres régions isochrones. 13.- Circuit intégré suivant l'une ou l'autre des revendications Il ou 12, caractérisé en ce que le dispositif de connexion d'information comprend un conducteur qui est commun à plusieurs régions iso- chrones pour sortir une séquence de résultat. 14.- Procédé pour contrôler un circuit intégré suivant l'une quelconque des revendications 9 à 1.3, caractérisé en ce que: a) on positionne le circuit intégré dans un état de contrôle; b) on présente une séquence de contrôle à un bloc de fonction afin de former une séquence de résultat à partir de la séquence de contrôle tout en excluant les signaux d'information qui peuvent être reçus d'autres blocs de fonction; c) on sort la séquence de résultat du bloc de fonction pour la présenter bit par bit à un circuit de contr8le; d) on répète si nécessaire les stades b) et c) tout en utilisant d'autres séquences de contrôle; e) on vérifie les séquences de résultat pour décider de leur exactitude jusqu'à ce qu'une limite de fiabi- lité soit atteinte ou qu'une erreur soit détectée; f) on répète si nécessaire les stades b) à e) pour d'autres blocs de fonction à contrôler; g) on approuve le circuit intégré complet sur base des limites de fiabilité atteintes ou on rejette le circuit intégré sur la base des erreurs détectées; h) on positionne le circuit intégré dans un état prêt dans le cas de l'approbation. 15.- Procédé pour concevoir un circuit intégré à très grande échelle suivant l'une quelconque des revendications 1 à 13 au moyen d'une bibliothèque d'éléments de configuration qui définissent le modèle de comportement des cellules de fonction associées, caractérisé en ce que: a) on décrit le groupe de fonctions à exécuter par le circuit par rapport au milieu environnant sous la forme d'une première liste de fonctions à visualiser sur un élément de visualisation; b) on divise le groupe en des blocs de fonction séparés à visualiser sur un élément de visualisation sous la forme d'une deuxième liste; c) on définit un groupe de m 3 régions isochrones, qui comprennent chacune un bloc de fonction et on d6finit les interactions entre différentes cellules de fonction dans différents blocs de fonction afin d'ajouter une cellule de communication à chaque 2557322- cellule de fonction dans un bloc de fonction ayant une connexion d'information à une cellule de fonc- tion qui est située à l'extérieur du bloc de fonc- tion en question, de sorte que chaque connexion d'information entre deux cellules de fonction qui sont situées dans des régions isochrones différentes comprend une connexion en série de deux cellules de communication, une cellule de communication compre- nant un élément de configuration à titre de conne- xion pour une connexion d'information et un élément de configuration de colloque de synchronisation avec deux lignes de synchronisation ou de colloque; d) on positionne les blocs de fonction, les cellules de communication, les connexions d'information et les connexions de synchronisation ou de colloque; e) on extrait les lé_ments de configuration définis par cellule de fonction de la bibliothèque.