FR2660510A1 - Procede et dispositif d'interconnexion programmable entre deux ensembles de circuits electroniques et application a un circuit logique programmable. - Google Patents

Procede et dispositif d'interconnexion programmable entre deux ensembles de circuits electroniques et application a un circuit logique programmable. Download PDF

Info

Publication number
FR2660510A1
FR2660510A1 FR9003917A FR9003917A FR2660510A1 FR 2660510 A1 FR2660510 A1 FR 2660510A1 FR 9003917 A FR9003917 A FR 9003917A FR 9003917 A FR9003917 A FR 9003917A FR 2660510 A1 FR2660510 A1 FR 2660510A1
Authority
FR
France
Prior art keywords
outputs
interconnection
programmable
inputs
programmable logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR9003917A
Other languages
English (en)
Inventor
Frederic J Reblewski
Olivier V Lepage
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DUNE TECHNOLOGIES
Original Assignee
DUNE TECHNOLOGIES
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DUNE TECHNOLOGIES filed Critical DUNE TECHNOLOGIES
Priority to FR9003917A priority Critical patent/FR2660510A1/fr
Publication of FR2660510A1 publication Critical patent/FR2660510A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/68Grouping or interlacing selector groups or stages

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)

Abstract

Le dispositif programmable d'interconnexion comprend: a) un premier ensemble (A) de Q premiers modules d'interconnexion programmables Ai présentant chacun m entrées et m sorties, m étant tel que le produit Qxm est égal au nombre N de sorties Si du premier ensemble de circuit D1 à interconnecter, b) un second ensemble (B) de m deuxièmes modules d'interconnexion programmables Bi présentant chacun Q entrées et P sorties, c) un troisième ensemble (C) de P troisièmes modules d'interconnexion programmables Ci présentant chacun m entrées et m sorties, le nombre P x m étant égal au nombre M d'entrées Ei du second ensemble de circuits D2 à interconnecter. Les sorties d'un même rang i des premiers modules d'interconnexion Ai sont connectées aux différentes entrées successives du deuxième module d'interconnexion Bi présentant ce même rang i et les entrées d'un même rang i des troisièmes modules d'interconnexion Ci sont connectées aux différentes sorties successives du deuxième module d'interconnexion Bi présentant ce même rang i.

Description

PROCEDE ET DISPOSITIF D'INTERCONNEXION PROGRAMMABLE ENTRE DEUX
ENSEMBLES DE CIRCUITS ELECTRONIQUES ET APPLICATION A UN CIRCUIT
LOGIQUE PROGRAHMABLE.
La présente invention a pour objet un système d'interconnexion programmable et plus particulièrement un procédé et un dispositif d'interconnexion programmable entre deux ensembles de circuits électroniques.
Un système d'interconnexion programmable est constitué par un circuit électronique permettant de réaliser des fonctions d'interconnexion de N sorties vers M entrées. I1 permet de résoudre le problème suivant
Etant donné un premier ensemble de circuits électroniques possédant N sorties et un second ensemble de circuits électroniques possédant M entrées, un système d'interconnexion programmable se connecte entre les N sorties du premier ensemble et les M entrées du second ensemble et permet de réaliser par programmation la connexion logique d'un sous-ensemble quelconque des N sorties du premier ensemble vers un sous-ensemble quelconque des M entrées du second ensemble.
La fonction d'interconnexion attribue à chaque entrée du second ensemble une sortie unique du premier ensemble. I1 n'y a pas de limitation sur le nombre d'entrées du second ensemble pouvant recevoir une même sortie du premier ensemble. Le nombre d'entrées du second ensemble recevant une même sortie du premier ensemble s'appelle la sortance.
On connait déjà des systèmes d'interconnexion programmable constitués par des matrices dénommées "crossbar". De tels systèmes sont de programmation facile et permettent de réaliser l'ensemble complet des fonctions d'interconnexion de N sorties vers
M entrées, avec un temps de propagation court. Une telle structure possède toutefois une taille proportionnelle au produit N x M du nombre N de sorties par le nombre M d'entrées, ce qui limite fortement l'application d'une telle structure à des nombres M, N d'entrées-sorties élevés. En pratique, il devient très difficilement réalisable de mettre au point des structures de type crossbar pour réaliser des interconnexions avec un nombre d'entrées-sorties supérieur à 200.
On connait encore des systèmes d'interconnexion connus sous le nom de réseaux oméga, qui sont basés sur l'utilisation de multiplexeurs deux entrées. Un réseau oméga permet de connecter N sorties vers N entrées au travers de log 2 (N) multiplexeurs. Il est possible de réaliser un tel réseau pour des valeurs de N proches de 10000, la taille du réseau oméga étant proportionnelle à
N x log2 (N). Toutefois, le temps de propagation d'une telle structure, bien qu'indépendant de la programmation, reste relativement lent. De plus, la programmation est complexe dans le cas de fonctions d'interconnexion à sortance supérieure à 1.
La présente invention concerne également l'application d'un dispositif d'interconnexion programmable à des circuits logiques programmables. Un circuit logique programmable est constitué par un circuit intégré monolithique qui permet de reproduire par programmation le fonctionnement logique d'un schéma donné, sous réserve que celui-ci ne dépasse pas la capacité du circuit en ce qui concerne notamment le nombre d'entrées-sorties ou le nombre de portes. Après programmation, le circuit logique programmable se comporte comme un circuit spécifique réalisant la fonction décrite par le schéma.
On connait déjà des circuits de type ASIC qui sont des circuits monolithiques réalisés à l'aide d'une bibliothèque de cellules et personnalisés par la gravure des niveaux d'interconnexion. ces circuits présentent toutefois des inconvénients dans la mesure où la personnalisation du circuit ne peut se faire que par le fondeur de silicium. D'une manière générale, il s'agit d'une technologie coûteuse et longue. Le temps de fabrication de prototypes s'étend de quelques semaines à quelques mois. Outre le coût élevé et la longueur du temps de réalisation des prototypes, l'impossibilité de corriger une erreur de conception constitue un inconvénient majeur des circuits de type ASIC.
La société Xilinx propose par ailleurs une gamme de circuits logiques programmables possédant une mémoire de programmation de type RAM (mémoire vive). De tels circuits comprennent des blocs logiques programmables placés en lignes et colonnes. L'espace entre les lignes et les colonnes définit des canaux verticaux et horizontaux. Ces canaux possèdent un certain nombre de lignes métalliques sur lesquelles les entrées et sorties des blocs logiques programmables peuvent se connecter. Cette structure rend la compilation du circuit complexe et longue et ne permet généralement pas d'utiliser la totalité des blocs logiques programmables. Les lignes verticales et horizontales peuvent se connecter par l'intermédiaire d'une petite matrice située à chaque intersection d'un canal vertical et d'un canal horizontal.Le cheminement d'une interconnexion peut donc traverser plusieurs matrices.
Parmi les inconvénients du circuit Xilinx on peut noter un faible taux d'utilisation des blocs logiques programmables, qui est de l'ordre de 40 à 80 % ainsi qu'un temps de compilation élevé pouvant atteindre plusieurs heures.
En outre, les interconnexions sont lentes et possèdent un temps de propagation dépendant de la programmation.
La présente invention vise à remédier aux inconvénients de l'art antérieur et à réaliser un système d'interconnexion facilement programmable qui permette de résoudre tous types de fonctions d'interconnexion à sortance simple ou multiple, permette d'interconnecter un grand nombre de signaux, par exemple un nombre
M, N d'entrées-sorties de l'ordre de 10000, et possède une taille de dimensions raisonnables.
L'invention a encore pour but de réaliser un système d'interconnexion programmable possédant un temps de propagation court et indépendant de la programmation, et permettant la mise en oeuvre d'une méthode de routage simple et rapide, avec une souplesse dans la répartition des circuits actifs.
L'invention vise encore à permettre la réalisation de circuits logiques programmables possédant un système d'interconnexion permettant d'utiliser efficacement des blocs logiques programmables et possédant un temps de propagation court et indépendant de la programmation.
L'invention a encore pour but de réaliser un circuit logique programmable muni d'un système d'interconnexion permettant une compilation extrêmement rapide.
Un autre but de 11 invention consiste à permettre la réalisation d'un circuit logique programmable dont la programmation se fait par le chargement d'une mémoire de configuration interne qui peut être volatile ou non, reprogrammable ou non suivant la technologie employée pour réaliser l'ensemble du circuit logique programmable qui constitue un composant universel personnalisable par l'utilisateur pour réaliser la fonction souhaitée.
Ces buts sont atteints grâce à un dispositif programmable d'interconnexion entre les N sorties Si (i = 1 à N) d'un premier ensemble de circuits électroniques et les M entrées Ei (i = 1 à M) d'un second ensemble de circuits électroniques pour attribuer à chaque entrée Ei (l' i t M) du second ensemble de circuits électroniques une sortie unique choisie parmi les N sorties Si (i = 1 à N) du premier ensemble de circuits électroniques, caractérisé en ce qu'il comprend a) un premier ensemble de Q modules d'interconnexion programmables
Ai (i=l à Q) présentant chacun m entrées repérées chacune par un rang différent compris entre 1 et m et m sorties repérées chacune par un rang différent compris entre 1 et m, le nombre m des entrées-sorties des premiers modules d'interconnexion Ai et le nombre Q desdits premiers modules d'interconnexion Ai étant tels que leur produit Q x m est égal au nombre N de sorties Si du premier ensemble de circuits électroniques, b) un second ensemble de m deuxièmes modules d'interconnexion programmables Bi (i = 1 à m) présentant chacun Q entrées et P sorties, le nombre m desdits deuxièmes modules d'interconnexion Bi étant égal au nombre m des sorties de chacun des premiers circuits intégrés d'interconnexion Ai et le nombre Q des entrées-sorties de chacun des deuxièmes modules d'interconnexion Bi étant égal au nombre Q desdits premiers modules d'interconnexion Ai, c) un troisième ensemble de P troisièmes modules d'interconnexion programmables Ci (i = 1 à P) présentant chacun m entrées repérées chacune par un rang différent compris entre 1 et m et m sorties repérées chacune par un rang différent compris entre 1 et m, le nombre m des entrées-sorties de chacun des troisièmes modules d'interconnexion Ci étant égal au nombre m desdits deuxièmes modules d'interconnexion Bi et le nombre P de troisièmes modules d'interconnexion Ci étant égal au nombre P de sorties de chacun desdits deuxièmes modules d'interconnexion Ci, le produit P x m du nombre P de troisièmes modules d'interconnexion Ci par le nombre m des entrées-sorties de chacun des troisièmes modules d'interconnexion Ci étant égal au nombre M d'entrées Ei du second ensemble de circuits électroniques, en ce que les sorties d'un même rang i, (14 i 5 m) des premiers modules d'interconnexion successifs Ai sont connectées aux différentes entrées successives du deuxième module d'interconnexion Bi présentant ce même rang i, et en ce que les entrées d'un même rang i, (1S i $ m) des troisièmes modules d'interconnexion successifs Ci sont connectées aux différentes sorties successives du deuxième module d'interconnexion Bi présentant ce même rang i.
Les premiers, deuxièmes et troisièmes modules d'interconnexion programmables Ai, Bi, Ci peuvent être constitués chacun par des matrices "crossbar".
Selon un autre mode de réalisation possible, les premiers, deuxièmes et troisièmes modules d'interconnexion programmables Ai, Bi, Ci sont eux-mêmes constitués chacun par des dispositifs programmables d'interconnexion réalisés conformément à l'invention.
A titre d'exemple, les premiers, deuxièmes et troisièmes modules d'interconnexion programmables Ai, Bi, Ci sont constitués chacun par une matrice de connexion de 96 entrées et 96 sorties réalisée elle-même à partir de matrices de connexion élémentaires de 16 entrées et 16 sorties.
L'invention concerne également un procédé d'interconnexion programmable entre les N sorties Si (i = 1 à N) d'un premier ensemble de circuits électroniques et les M entrées Ej (j = 1 à M) d'un second ensemble de circuits électroniques pour attribuer à chaque entrée Ej du second ensemble de circuits électroniques une sortie unique choisie parmi les N sorties Si du premier ensemble de circuits électroniques, caractérisé en ce qu'il comprend les étapes suivantes a) on regroupe les N sorties Si (i = 1 à N) en Q sous-ensembles Ak (k = 1 à Q) de cardinal m, où N, Q et m sont des nombres entiers tels que N = Q x m, b) on regroupe les M entrées Ej (j = 1 à M) en P sous-ensembles Ck (k = 1 à P) de cardinal m, où M, P et m sont des nombres entiers tels que M = P x m, c) on affecte à chacun des éléments Ej, Si d'un sous-ensemble d'entrée Ck (k = 1 à P) ou de sortie Ak (k = 1 à Q) un rang allant de 1 à m, d) on décompose la connexion de l'entrée Si (1#i#N) du sous-en semble de sortie Ak (1': k SQ) vers la sortie Ej (1#j # M) du sous-ensemble d'entrée Cp (14 pt P) en une première transformation constituée d'une fonction de m éléments vers m éléments, selon laquelle l'entrée Si du sous-ensemble de sortie Ak est connectée à une 1 ième sortie 1 (i#1#m) du sous-ensemble de sortie Ak, en une deuxième transformation constituée d'une fonction de Q éléments vers P éléments, selon laquelle la 1 ième sortie 1 ( m) du sous-ensemble de sortie Ak est connectée à la 1 ième entrée de même rang 1 (1#1#m) du sous-ensemble d'entrée Cp, et en une troisième transformation constituée d'une fonction de m éléments vers m éléments, selon laquelle la 1 ième entrée 1 du sous-ensemble d'entrée Cp est connectée à la sortie Ej (1jM) du sous-ensemble d'entrée Cp.
La fonction d'interconnexion est telle qu'une même sortie Si (1#i#N) du premier ensemble de circuits électroniques, peut être interconnectée à plusieurs entrées Ej (l < j M) du second ensemble de circuits électroniques, mais une même entrée Ej (1Cj t M) du second ensemble de circuits électroniques est interconnectée à une sortie unique Si (1 > i(N) du premier ensemble de circuits électroniques.
L'invention est naturellement applicable aussi bien à l'interconnexion de N sorties vers M entrées avec des nombres N et
M différents qu'à l'interconnexion d'un nombre M de sorties vers un nombre M d'entrées identique au nombre M de sorties.
L'invention est par ailleurs applicable aussi bien à
I'interconnexion de deux ensembles différents de circuits électroniques qu a l'interconnexion entre les sorties et les entrées d'un même ensemble de circuits électroniques, comme c'est le cas dans le cadre d'une application à un circuit logique programmable où les premier et second ensembles de circuits électroniques sont confondus . L'invention est particulièrement adaptée à l'interconnexion programmable de circuits électroniques numériques, sans être limitée à cette forme de mise en oeuvre.
Dans le cas d'une application à un circuit logique programmable, la structure du système d'interconnexion programmable peut être simplifiée par la -suppression physique du troisième ensemble de troisième modules, ce troisième ensemble pouvant ne pas être matérialisé à l'aide de circuits intégrés, sa fonction étant assurée par de simples commandes logiques.
L'invention a ainsi également pour objet une application à un circuit logique programmable comprenant un ensemble de B blocs logiques programmables Di (i = 1 à B) présentant chacun E entrées et S sorties, un ensemble de circuits d'entrées-sorties
Fi (i = 1 à R), comprenant I entrées et U sorties, et un système d'interconnexion programmable et un système de commande de programmation comprenant au moins une mémoire de configuration interne,caractérisé en ce que le système d'interconnexion programmable qui assure les liaisons de l'ensemble des sorties Si des blocs logiques programmables Di et des I entrées Im vers l'ensemble des entrées Ei des B blocs logiques programmables Di et les U sorties Uk comprend un premier ensemble de Q matrices de connexion programmables Ai (i = 1 à Q) assurant chacune l'interne connexion programmable d'un nombre E de signaux constitués par des sous-ensembles ordonnés de E éléments de l'ensemble des signaux de sortie des B blocs logiques programmables Di et des I signaux d'entrées, vers un nombre E de signaux ordonnés appliqués à un deuxième ensemble de E matrices de connexion programmables Bl (1 = 1 à E) assurant chacune l'interconnexion programmable d'un nombre Q de signaux issus des Q matrices de connexion du premier ensemble vers un nombre P de signaux ordonnés appliqués en tant que signaux d'entrée Ei aux B blocs logiques programmables Di et aux sorties,Uk chaque bloc logique programmable Di recevant E signaux d'entrée ordonnés issus des E deuxièmes matrices de connexion Bl, et en ce que les nombres B, E, S, I, U, Q et P sont des entiers tels que Q = (B x S + P)/E; P = (B x E + U)/E.
De façon plus particulière, les M matrices de connexion programmables Ai du premier ensemble et les E matrices de connexion programmables Bi du deuxième ensemble peuvent être constituées par des matrices du type "crossbar".
Selon une caractéristique particulière, les circuits d'entrées-sorties Fi comprennent des circuits logiques programmables associés à des amplificateurs permettant de configurer chaque circuit d'entrée-sortie Fi en entrée, en sortie directe ou trois états ou en plot bidirectionnel.
Le système de commande de programmation peut comprendre une interface de programmation qui assure une transformation d'une séquence binaire acheminée sur un nombre limité de bits en signaux d'écriture de ladite mémoire de configuration interne.
Le circuit logique programmable peut être constitué par un circuit intégré monolithique.
D'autres caractéristiques et avantages de l'invention ressortiront de la description suivante de modes particuliers de réalisation, donnés à titre d'exemples, en référence aux dessins annexés, sur lesquels
- la figure 1 est une vue schématique en perspective montrant la structure générale d'un système d'interconnexion conforme à l'invention,
- la figure 2 est un diagramme dans un repère à trois dimensions destiné à illustrer un aspect particulier du système selon l'invention,
- les figures 3 et 4 montrent la structure de deux dispositifs d'interconnexion selon l'invention respectivement à 8 entrées-sorties et 16 entrées-sorties, réalisés selon deux modes de réalisation différents,
- la figure 5 montre la structure d'un dispositif d'interconnexion dissymétrique selon l'invention avec 8 entrées et 12 sorties réalisé selon un mode de réalisation particulier,
- la figure 6 est un schéma bloc montrant de façon symbolique divers constituants d'un circuit logique programmable selon l'invention,
- la figure 7 est une vue symbolique d'un système d'interconnexion adapté à un circuit logique programmable selon l'invention, et
- la figure 8 est un schéma-bloc montrant un exemple plus particulier de système d'interconnexion adapté à la mise en oeuvre dans un circuit logique programmable selon l'invention.
Le dispositif programmable d'interconnexion MI selon l'invention sera d'abord décrit en référence aux exemples des figures 3 à 5 ainsi qu'en référence au diagramme de la figure 1 qui symbolise d'une façon générale les relations au sein de la matrice entre les différents constituants élémentaires de celle-ci.
En pratique, l'invention est applicable à la réalisation de fonctions d'interconnexion entre N sorties d'un premier ensemble de circuits électroniques D1 et M entrées d'un second ensemble de circuits électroniques D2,les nombres N, M pouvant être de l'ordre de plusieurs milliers. Grâce à la décomposition du processus d'interconnexion en plusieurs étapes, il est possible de ramener l'exécution d'une fonction d'interconnexion à plusieurs pas élémentaires réalisés à l'aide de circuits élémentaires d'interconnexion classiques comprenant un petit nombre d'entréessorties, par exemple de l'ordre de quelques dizaines à une centaine d'entrées-sorties.Dans la mesure où les techniques de réalisation de circuits d'interconnexion programmables à faible nombre d'entrées-sorties sont bien maîtrisées, l'invention permet d'étendre les possibilités d'interconnexions programmables à un grand nombre d'entrées-sorties, sans augmenter l'encombrement ou le temps de traitement dans les mêmes proportions que si l'ensemble de la matrice d'interconnexion était réalisé de façon unitaire par les techniques traditionnelles, par exemple du type "matrice crossbar".
Bien que l'invention présente essentiellement de l'intérêt pour des interconnexions de plusieurs centaines ou plusieurs milliers d'entrées-sorties, et que les circuits dlinter- connexions programmables existant pour un petit nombre d'entrées-sorties, de l'ordre de 2 à 100, donnent généralement satisfaction, pour la clarté des explications, on a considéré sur les figures 3 à 5 des exemples de dispositifs programmables d'interconnexion à un petit nombre d'entrées-sorties, à savoir une matrice d'interconnexion MI pouvant réaliser des interconnexions entre 8 sorties d'un premier circuit D1 et 8 entrées d'un second circuit D2 dans le cas de la figure 3, une matrice d'interconnexion MI pouvant réaliser des interconnexions entre 16 sorties d'un premier circuit D1 et 16 entrées d'un second circuit
D2 dans le cas de la figure 4, et une matrice d'interconnexion MI pouvant réaliser des interconnexions entre 12 sorties d'un premier circuit D1 et 8 entrées d'un second circuit D2 dans le cas de la figure 5. La figure 1 représente pous sa part une illustration qui est paramétrée et est ainsi d'une application générale.
Comme on lia déjà indiqué en tête de la description, le système d'interconnexion programmable selon l'invention vise à permettre de réaliser des fonctions d'interconnexion entre N sorties Si et M entrées Ej (avec N, M = 8 et i, j = là 8 pour le cas de la figure 3, N, M = 16 et i,j = là à 16 pour le cas de la figure 4 et M = 8, i = 1 à 8, N = 12, j = 1 à 12 pour le cas de la figure 5), la connexion logique d'un sous-ensemble quelconque des
N sorties Si pouvant être réalisée par programmation vers un sousensemble quelconque des M entrées Ej. De façon plus particulière, il est attribué à chaque entrée Ej une sortie unique Si, mais il n'y a pas de limitation sur le nombre d'entrées Ej pouvant recevoir une même sortie Si.
Si l'on considère plus particulièrement la figure 1, on voit que le procédé d'interconnexion programmable selon l'invention consiste à opérer plusieurs transformations successives.
Dans une première étape, on regroupe les N sorties Si en
Q sous-ensembles Ak (k = 1 à Q) de cardinal m, les paramètres N, Q et m étant des nombres entiers tels que N = Q x m.
Chaque sous-ensemble Ak regroupe ainsi m signaux ou bits appliqués sur m sorties différentes Si, et il est attribué à chaque élément du sous-ensemble Ak attaché à une sortie Si un rang différent compris entre 1 et m.
De la même manière, à l'autre extrémité de la matrice correspondant à une dernière étape, on regroupe les M entrées Ej en
P sous-ensembles Cp (p = 1 à P) de cardinal m, les paramètres M, P et m étant des nombres entiers tels que M = P x m.
Chaque sous-ensemble Cp regroupe ainsi m signaux ou bits appliqués sur m entrées différentes Ej, et il est attribué à chaque élément du sous-ensemble Cp attaché à une entrée Ej un rang différent compris entre 1 et m.
Une étape intermédiaire est réalisée par m sous-ensembles
Bl (avec 1 = 1 à m) de N signaux ou bits vers M signaux ou bits.
La connexion de l'entrée Si (1 t i 'N) du sous-ensemble de sortie Ak (14 kCQ) correspondant à la sortie Si du premier circuit Dl vers la sortie Ej (lc j cM) du sous-ensemble d'entrée Cp (lc p C P) correspondant à l'entrée Ej du second circuit est décomposée en trois étapes : Une première transformation est constituée d'une fonction de m éléments vers m éléments, selon laquelle l'entrée Si du sous-ensemble de sortie Ak est connectée à une 1 ième sortie (1 q l Gm) du sous-ensemble de sortie Ak. Une seconde transformation est constituée d'une fonction de Q éléments vers P éléments, selon laquelle la l ième sortie 1 du sous-ensemble de sortie Ak est connectée à la 1 ième entrée de même rang 1 (1(1 Cm) du sous-ensemble d'entrée Cp. Une troisième transformation est constituée de nouveau d'une fonction de m éléments vers m éléments, selon laquelle la l ième entrée 1 du sous-ensemble d'entrée Cp est connectée à la sortie Ej du sous-ensemble d'entrée Cp, c'est-à-dire à l'entrée correspondante
Ej du second circuit D2.
Selon l'invention, on est ramené à chaque étape à une transformation travaillant sur un petit nombre d'éléments m Q ou
P. Par exemple, pour une matrice d'interconnexion à M entrées et N sorties devant connecter 5000 sorties à 5000 entrées on peut choisir pour m, Q et P les valeurs 50, 100 et 100 qui sont bien telles que 50 x 100 = 5000,mais qui permettent de réaliser chaque transformation élémentaire à l'aide d'un opérateur intégré de type classique tel qu'un circuit intégré monolithique de type crossbar à 100 entrées-sorties et un circuit intégré monolithique de type 50 x 50 entrées-sorties.On pourrait cependant appliquer le procédé selon l'invention en cascade et réaliser à partir d'opérateurs intégrés élémentaires par exemple de type crossbar à 10 entrées-sorties, des matrices d'interconnexion à 100 entrées-sorties utilisant les matrices crossbars élémentaires à 10 entrées-sorties pour effectuer des transformations élémentaires en trois étapes de la façon décrite plus haut, les matrices à 100 entrées-sorties servant elles-mêmes à leur tour de circuits élémentaires d'interconnexion pour effectuer des transformations élémentaires en trois étapes en tant que sous-ensembles Ak, Bl ou
Cp comme indiqué plus haut.
D'une manière générale, un dispositif d'interconnexion de N sorties à M entrées réalisé selon l'invention possède une taille proportionnelle à
Figure img00120001
L'invention est ainsi facilement applicable à des nombres N d'entrées-sorties pouvant être par exemple de l'ordre de plusieurs milliers.
Si l'on adopte la notation (x, y) pour désigner le signal numéro x du sous-ensemble numéro y, on peut résumer de la façon suivante le cheminement assurant une connexion d'un signal i appliqué sur une entrée i d'un sous-ensemble s regroupant m signaux pilotés par des sorties Si du circuit D1, vers une sortie il d'un sous-ensemble e regroupant m signaux appliqués sur des entrées Ej du circuit D2
Figure img00130001
Comme déjà indiqué, les premières et troisièmes transformations sont des fonctions de m éléments vers m éléments. La deuxième transformation est une fonction de Q éléments vers P éléments. Le seul degré de liberté de cette décomposition réside dans le choix de i", les autres éléments i, il, e et s sont fixés par la fonction d'interconnexion.
Pour mieux faire comprendre la façon dont le dispositif programmable d'interconnexion selon l'invention peut être mis en oeuvre, on décrira brièvement ci-dessous à titre d'exemple les éléments de base d'un algorithme de routage permettant de programmer, à partir de la fonction d'interconnexion initiale, les circuits intégrés monolithiques élémentaires constituant les opérateurs élémentaires assurant les transformations élémentaires au sein de la matrice d'interconnexion selon l'invention.
L'algorithme de routage permet d'engendrer les Q décompositions de niveau 1, les m décompositions de niveau 2 et les
P décompositions de niveau 3 à partir de la fonction d'interconnexion globale. La fonction d'interconnexion globale associe à chacune des entrées utilisées une des sorties. On appelle équipotentielle l'ensemble des entrées qui ont la même image par la fonction I. On appelle sortance d'une équipotentielle le nombre d'éléments y appartenant.
La structure de la matrice impose des contraintes uniquement sur la transformation de niveau 2. Le choix i" devra donc se faire en fonction de celles-ci. Le problème du routage de la matrice se ramène donc à la résolution de la transformation de niveau 2.
La transformation de niveau 2 peut se formaliser par un triplet (s,e,i") définissant un sous-ensemble de sortie s, un sous-ensemble d'entrée e et un signal ou bit de rang i", ce triplet étant associé à chacune des interconnexions. Chaque interconnexion est donc matérialisée par un point d'un espace à trois dimensions.
L'ensemble des points possibles pour une interconnexion donnée se situe sur une droite parallèle à l'axe des i (droite (s, e) constant) (voir figure 2).
Les contraintes liées à la structure de la matrice s'expriment de la manière suivante
- il ne peut y avoir qu'une seule interconnexion sur une droite (e,i) constant,
- l'ensemble des interconnexions présentes sur une droite (s,i) constant doivent appartenir à la même équipotentielle.
La première contrainte permet de ramener le routage de la matrice à un problème de coloriage d'un plan de P x m cases.
- chaque case correspond à un couple (e, i").
- chaque couleur correspond à une équipotentielle. On peut donc associer à chaque couleur une valeur s commune à l'ensemble des interconnexions (s, e, i") formant l'équipotentielle.
La deuxième contrainte se traduit maintenant par la contrainte de coloriage suivante
- l'ensemble des P cases (e,i") ayant le même indice i" doit être colorié avec des couleurs ayant toutes des valeurs s différentes.
Le problème de coloriage est plus simple si toutes les sortances sont égales à 1 car le nombre de couleurs ayant la même valeur s est inférieur ou égal à m.
On peut se ramener au cas précédent si la somme des sortances des équipotentielles possédant la même valeur s est toujours inférieure ou égale à m. On se ramène au cas précédent en traitant chaque interconnexion d'une même équipotentielle comme appartenant à des équipotentielles différentes.
Pour les autres cas, on essaye de se rapprocher le plus possible du cas le plus simple en éclatant artificiellement les équipotentielles de forte sortance. Il faut toutefois conserver un certain équilibre entre l'éclatement de ces équipotentielles qui se traduit par un accroissement du nombre des couleurs possédant la même valeur s et les degrés de liberté que l'on a pour placer ces couleurs. La méthode d'éclatement des équipotentielles est paramétrée par deux valeurs
- le nombre maximum d'équipotentielles possédant la même valeur s,
- l'ordre d'éclatement des équipotentielles en fonction de leurs sortances.
Afin de rendre plus claire la structure du dispositif programmable d'interconnexion selon l'invention, et de montrer qu'il existe plusieurs choix possibles dans le choix des valeurs des paramètres Q, P et m, on décrira ci-dessous en référence aux figures 3 à 5 des dispositifs programmables d'interconnexion selon l'invention qui sont volontairement prévus pour un petit nombre d'entrées-sorties afin de mieux faire comprendre leur structure. En pratique, l'invention s'applique de la même manière à des interconnexions entre plusieurs centaines ou plusieurs milliers d'entréessorties.
La figure 3 donne le schéma d'une matrice MI permettant d'interconnecter de façon programmable 8 sorties S1 à S8 d'un premier circuit numérique D1 à 8 entrées El à E8 d'un second circuit numérique D2. La transformation de niveau 1 est réalisée à l'aide d'un ensemble A de quatre matrices d'interconnexion classiques Al à A4 de type crossbar à deux entrées S1, S2; S3, S4;
S5, S6; S7, S8 et deux sorties 11, 12; 13, 14; 15, 16; 17, 18. La transformation de niveau 2 est réalisée à l'aide d'un ensemble B de deux matrices d'interconnexion classiques B1, B2 de type crossbar à quatre entrées 31 à 34, 35 à 38 et quatre sorties 51 à 54, 55 à 58. La transformation de niveau 3 est réalisée à l'aide d'un ensemble C de quatre matrices d'interconnexion classiques C1 à C4 de type crossbar à deux entrées 71, 72; 73, 74; 75, 76; 77, 78 et deux sorties El, E2; E3, E4; E5, E6; E7, E8. Ainsi, dans le cas de la figure 3, les paramètres Q, P et m sont respectivement égaux à 4, 4 et 2 tandis que les paramètres M et N correspondant aux nombres d'entrées-sorties sont tous deux égaux à 8.
Comme on peut le voir sur la figure 3, les premières sorties 11, 13, 15, 17 des premières matrices d'interconnexion élémentaires Al à A4 de niveau 1 sont connectées aux quatre entrées successives 31 à 34 de la matrice d'interconnexion élémentaire B1 de niveau 2 et les deuxièmes sorties 12, 14, 16, 18 de ces mêmes matrices d'interconnexion élémentaires Al à A4 sont connectées aux quatre entrées successives 35 à 38 de la matrice d'interconnexion élémentaire B2.De façon symétrique, les entrées 51 à 54 de la matrice élémentaire B1 sont reliées respectivement aux premières entrées 71, 73, 75, 77 des matrices élémentaires C1 à C4 de niveau 3 et les sorties 55 à 58 de la matrice élémentaire B2 sont reliées respectivement aux deuxièmes entrées 72, 74, 76, 78 des matrices élémentaires C1 à C4. Les connexions entre matrices élémentaires représentées sur la figure 3 sont fixées, mais à l'intérieur de chaque matrice élémentaire les interconnexions sont programmables.
A titre d'exemple, si l'on veut connecter la sortie S5 à l'entrée E2, le cheminement pourra être le suivant, avec les notations (numéro de borne, numéro de sous-ensemble) déjà utilisées plus haut
Figure img00160001
Ce cheminement n'est cependant pas le seul possible, puisque, comme déjà indiqué plus haut, il existe une possibilité de choix au niveau de l'étape intermédiaire.Ainsi, un autre cheminement possible pourrait être le suivant (S5, A3) w (15, A3) = (33, B1)- (51, B1) = (71, C1) - > (E2, CI)
La figure 4 illustre une matrice d'interconnexion programmable MI selon l'invention, qui est prévue pour assurer les interconnexions entre les 16 sorties S1 à S16 d'un premier circuit numérique D1 et les 16 entrées El à E16 d'un second circuit numérique D2.Dans ce cas, la transformation de niveau 1 est réalisée à l'aide d'un ensemble A de quatre matrices d'interconnexion Al à A4 qui peuvent être constituées par des matrices crossbars classiques à quatre entrées S1 à S4, S5 à S8, S9 à S12,
S13 à S16 et quatre sorties Il à 14, 15 à 18, 19 à 22, 23 à 26. La transformation de niveau 2 est réalisée à l'aide d'un ensemble B de quatre matrices d'interconnexion B1 à B4 pouvant être identiques aux matrices Al à A4 et possédant quatre entrées 31 à 34, 35 à 38, 39 à 42, 43 à 46 et quatre sorties 51 à 54, 55 à 58, 59 à 62, 63 à 66.La transformation de niveau 3 est réalisée de la même façon à l'aide d'un ensemble C de quatre matrices C1 à C4 pouvant également être identiques aux matrices élémentaires Al à A4 et B1 à B4 et présentant quatre entrées 71 à 74, 75 à 78, 79 à 82, 83 à 86 et quatre sorties El à E4, E5 à E8, E9 à E12, E13 à E16. Dans le cas de la figure 4, les paramètres Q, P et m sont tous égaux à 4 tandis que les paramètres M et N correspondant aux nombres d'entrées-sorties sont tous deux égaux à 16.
Sur la figure 4, les xièmes sorties (1 x 4) des matrices Al à A4 sont connectées aux entrées successives de la xième matrice du groupe B de matrices B1 à B4. Ainsi, les troisièmes sorties 13, 17, 21, 25 des matrices Al à A4 sont connectées aux entrées successives 39 à 42 de la troisième matrice
B3 de l'ensemble de matrices B effectuant la transformation de niveau 2. De façon symétrique, les différentes sorties successives de la yième matrice (14 y S 4) du groupe de matrices B1 à B4 sont reliées respectivement aux yièmes entrées des matrices C1 à C4.Par exemple, les sorties 55 à 58 de la deuxième matrice B2 de l'ensemble de matrices B sont connectées aux deuxièmes entrées 72, 76, 80, 84 des matrices C1 à C4 respectivement. Le trajet des interconnexions entre une sortie quelconque Si (1#i #16) et une entrée quelconque Ej (lj,c16) peut s'effectuer selon le processus déjà explicité en référence à la figure 3.
La figure 5 illustre un autre exemple de matrice d'interconnexion programmable MI selon l'invention, qui est prévue pour assurer les interconnexions entre les 12 sorties S1 à S12 d'un premier circuit numérique D1 et les 8 entrées E1 à E8 d'un second circuit numérique D2. Dans ce cas, la transformation de niveau 1 est réalisée à l'aide d'un ensemble A de six matrices d'interconnexion A1 à A6 qui peuvent être constituées par des matrices crossbars classiques à deux entrées S1, S2; S3, S4; S5, S S7, S8; Sg, S10; S1l, S12 et deux sorties 11, 12; 13, 14; 15, 16; 17, 18 19, 20; 21, 22.La transformation de niveau 2 est réalisée à l'aide d'un ensemble B de deux matrices d'interconnexion B1, B2 possédant chacune six entrées 31 à 36, 37 à 42 et quatre sorties 51 à 54, 55 à 58. La transformation de niveau 3 est réalisée à l'aide d'un ensemble C de quatre matrices C1 à C4 présentant deux entrées 71, 72; 73, 74; 75, 76; 77, 78 et deux sorties El, E2; E3, E4; E5, E6;
E7, E8. Dans le cas de la figure 5, les paramètres Q, P et m sont respectivement égaux à 6, -4 et 2 tandis que les paramètres M et N correspondant au nombre d'entrées et au nombre de sorties sont égaux respectivement à 8 et 12.
Comme on peut le voir sur la figure 5, les processus de connexion des sorties des matrices Al à A6 aux entrées des matrices
B1, B2 et de connexion des sorties des matrices B1, B2 aux entrées des matrices C1 à C4 sont analogues à ceux décrits en référence aux figures 3 et 4, même si les matrices B1, B2 du groupe B sont ellesmêmes dissymétriques et possèdent chacun un nombre d'entrées différent du nombre de sorties La dissymétrie des entrées-sorties des matrices du groupe B est liée au fait que le nombre de matrices du groupe A est différent du nombre de matrices du groupe C, cette dissymétrie étant elle-même liés à la différence entre le nombre N de sorties et le nombre M d'entrées.
L'invention s'applique également au cas où le premier ensemble de circuits D1 est confondu avec le second ensemble de circuits D2 et où il convient d'interconnecter de façon programmable les sorties et les entrées de cet ensemble unique de circuits électroniques.
Ceci est notamment le cas dans une application particulière à un circuit logique programmable qui sera décrite ci-dessous en référence aux figures 6 à 8.
La figure 6 montre la structure logique d'un circuit logique programmable 100 selon l'invention, qui est un circuit intégré monolithique comprenant notamment un ensemble 1 de B blocs logiques programmables D1 à DB présentant chacun un relativement faible nombre E d'entrées Ei et également un petit nombre G de sorties Sj. Le nombre E d'entrées peut aller par exemple jusqu'à 16, mais reste en pratique en général inférieur à 10. De même, le nombre G de sorties Sj est en général limité à un nombre compris entre 2 et 10.
Le circuit logique programmable 100 comprend en outre un système d'interconnexion programmable 6, un ensemble 2 de par exemple R entrées-sorties programmables ou externes F1 à FR, et un système de programmation 3 comprenant une mémoire de configuration interne.
Chaque bloc logique programmable Di (i = 1 à B) comporte un bloc de logique combinatoire et des bascules sur les entrées Ej ou les sorties Si du bloc Di.
Le bloc de logique combinatoire programmable peut être réalisé à l'aide de mémoires, de structures du type matrices logiques programmables connues sous la dénomination PLA ou encore d'assemblages de portes logiques et de multiplexeurs.
Des moyens peuvent être prévus pour court-circuiter de façon sélective les bascules présentes sur les entrées et sorties des blocs logiques programmables Di.
Les horloges des bascules peuvent provenir de lignes spécialisées ou du système d'interconnexion 6.
Certains blocs logiques programmables Di peuvent être des blocs dédiés à des fonctions spécifiques pour constituer par exemple une interface de mémoire externe.
Les R circuits d'entrées-sorties programmables Fi (i = 1 à R) permettent de relier la logique interne du circuit logique programmable 100 au monde extérieur. Un circuit Fi peut posséder un plot de liaison et des circuits logiques programmables associés à des amplificateurs permettant de configurer le circuit
Fi en entrée, en sortie directe ou trois états, ou en plot bidirectionnel. Un circuit Fi d'entrées-sorties programmables peut éventuellement posséder des bascules connectées sur les signaux d'entrée ou de sortie.
Le système de programmation 3 peut comprendre une interface de programmation qui est une logique permettant de programmer la mémoire de configuration du circuit logique programmable 100.
Cette interface permet de transformer une séquence binaire acheminée sur un nombre limité de bits en signaux d'écriture de la mémoire de configuration interne du circuit logique programmable 100.
On décrira maintenant de façon détaillée en référence aux figures 7 et 8 le système d'interconnexion 6 qui comprend essentiellement une structure à deux étages constituée de matrices de connexion programmables élémentaires. Le système d'interconnexion 6 permet d'assurer des liaisons de l'ensemble des sorties Sj (j = I à 8 sur l'exemple de la figure 8) des blocs logiques programmables Di (i = 1 à 4 sur l'exemple de la figure 8) et des entrées externes Im (m = 1 à 4 sur la figure 8) vers les entrées Ei (i = 1 à 12 sur la figure 8) des blocs logiques programmables Di et les sorties externes Uk (k = 1 à 3 sur la figure 8),en suivant un schéma d'interconnexion donné.
Si l'on considère que le circuit logique programmable 100 comprend B blocs logiques programmables Di (avec B = 4 sur l'exemple de la figure 8), chaque bloc logique programmable Di comprenant E entrées (avec E = 3 sur la figure 8) et S sorties (avec S = 2 sur la figure 8), et si le circuit logique programmable 100 comprend en outre I entrées externes (avec I = 4 sur la figure 8) et U sorties externes (avec U = 3 sur la figure 8), le système d'interconnexion 6 permet d'une manière générale de relier
B x S + I signaux vers B x E + U signaux, soit 12 signaux vers 15 signaux dans le cas de l'exemple de la figure 8.
Le système d'interconnexion 6 selon l'invention repose sur le principe suivant
a) On regroupe l'ensemble des sorties Sj des B blocs logiques programmables Di auxquelles on ajoute les I entrées externes Im, en
Q sous-ensembles de E signaux et l'ensemble des entrées Ei des B blocs logiques programmables Di, auxquelles on ajoute les U sorties externes Uk en P sous-ensembles de E signaux. Le paramètre Q est ainsi égal à ((B x S) + I)/E et le paramètre P est égal à ((B x E) + U)/E.
Sur l'exemple de la figure 8, on a ainsi pour Q la valeur 4 et pour P la valeur 5.
b) On affecte un rang allant de 1 à E à chacun des éléments d'un sous-ensemble d'entrée ou de sortie.
c) Si l'on adopte une notation (x, y) pour désigner un signal numéro x d'un sous-ensemble numéro y, on effectue une connexion d'une entrée i d'un sous-ensemble s vers l'une des entrées d'un sous-ensemble e d'un bloc logique programmable Di, en suivant un cheminement qui peut être décomposé en deux étapes
Figure img00210001
La première transformation est une fonction de E éléments vers E éléments qui peut être réalisée par un circuit classique de type "crossbar", dans la mesure où le nombre E reste limité à des faibles valeurs (par exemple inférieures ou égales à 10). La deuxième transformation est une fonction de Q éléments vers P éléments. Cette deuxième transformation peut également être réalisée par un circuit de type "crossbar" si les valeurs de Q et P restent de l'ordre de quelques dizaines (par exemple inférieures à environ 200).
Les paramètres i, e, s énumérés ci-dessus sont fixés par la fonction d'interconnexion et le seul degré de liberté de la décomposition réside dans le choix de i'.
On a représenté sur les figures 7 et 8 un premier ensemble 7 de Q matrices de connexion programmables Ai (i = 1 à Q, avec Q = 4 sur la figure 8) qui assurent chacune l'interconnexion programmable d'un nombre E de signaux constitués par des sousensembles ordonnés S1, S2, S3; S4, S5, S6; S7, S8, I1; I2, I3, I4 de E éléments (E = 3 sur la figure 8) de l'ensemble des signaux de sortie S1 à S8 des B blocs logiques programmables Di (avec i = 1 à 4 sur la figure 8) et des I signaux d'entrées externes I1 à I4, vers un nombre E de signaux ordonnés appliqués par des sorties 11 à 13, 14 à 16, 17 à 19, 20 à 22 des matrices Al à A4 à un deuxième ensemble 8 de E (E = 3 sur la figure 8) matrices de connexion programmables B1 (1 = 1 à E, c'est-à-dire 1 à 3 sur la figure 8) assurant chacune l'interconnexion programmable d'un nombre Q de signaux issus de Q matrices de connexion Al à A4 ( Q= 4 sur la figure 8) vers un nombre P de signaux ordonnés appliqués en tant que signaux d'entrée Ei aux B blocs logiques programmables Di et aux sorties externes Uk (k = 1 à 3 sur la figure 8). Chaque matrice
Bi présente ainsi, sur la figure 8, quatre entrées 31 à 34; 35 à 38; 39 à 42 reliées à des sorties des quatre matrices Ai, et cinq sorties 51 à 55; 56 à 60; 61 à 65 reliées aux entrées Ei de différents blocs Di et aux sorties externes Uk.
Chaque bloc logique programmable Di reçoit ainsi E signaux d'entrée ordonnés issus des E deuxièmes matrices B1.
Comme cela ressort des explications précédentes, les nombres Q et P sont des entiers divisibles par E tels que
Q = (B x S + I)/E et P = (B x E + U)/E
Avec l'exemple de la figure 8, on retrouve bien pour Q et
P les valeurs 4 et 5 dans la mesure où B = 4, E = 3, S = 2, I = 4 et U = 3.
On notera que l'exemple de la figure 8 a volontairement été simplifié pour faciliter la clarté des explications. En pratique, la valeur de B peut être de l'ordre de 50 à 200 et les nombres I et U liés au nombre R d'entrées-sorties peuvent être compris par exemple entre 10 et 80. Ces chiffres ne sont pas limitatifs, mais la présente invention présente d'autant plus d'intérêt que les nombres B, I et U sont élevés.
En effet, le système d'interconnexion 6 avec une décomposition en une première série 7 de matrices de connexion programmables Ai ayant un relativement petit nombre E d'entrées-sorties et une deuxième série 8 d'un relativement petit nombre E de matrices de connexion programmables B1 ayant Q entrées et P sorties permet de remplacer un système de connexion classique de type crossbar de (B x S + I) signaux vers (B x E + U) signaux en M matrices élémentaires par exemple de type crossbar de E signaux vers E signaux et
E matrices élémentaires par exemple de type crossbar de Q signaux vers P signaux.
Au total, le système d'interconnexion 6 d'un circuit logique programmable 100 selon l'invention permet de limiter le nombre de points de croisement à
(B x S + I) x E + (B x S + I) x (B x E + U)/E
Par exemple, si B = 120, E = 6, S = 2, I = 60, U = 60, le système d'interconnexion 6 relie 300 signaux vers 780 signaux. Une matrice crossbar classique complète comporterait 234000 points de croisement. Au contraire, le système d'interconnexion 6 composé de petites matrices de connexion programmables élémentaires ne comporte plus que 40800 points de croisement, soit un gain de taille de 5,7.
A titre d'exemple, un circuit logique programmable selon l'invention, comprenant 100 blocs logiques programmables Di possédant chacun 10 entrées et 4 sorties, ainsi que 50 entrées externes et 50 sorties externes, peut comprendre un système d'interconnexion 6 composé de 45 matrices "crossbar" à 10 entrées et 10 sorties et de 10 matrices "crossbar" à 45 entrées et 105 sorties. L'interface de programmation 3 peut être prévue sur 8 bits.
Dans cet exemple, la partie combinatoire des blocs logiques programmables Di peut être réalisée à l'aide de deux mémoires de 32 mots de 2 bits. Les 5 bits d'adresse de chacune de ces mémoires proviennent des 10 entrées. Les deux bits de sortie de chacune de ces mémoires peuvent être dirigés vers des bascules et les sorties de ces bascules vers les sorties du bloc logique programmable. En variante, les bascules peuvent être supprimées ou court-circuitées, les deux bits de sortie de chacune des mémoires étant dirigés directement vers les sorties du bloc logique programmable considéré.
Les entrées-sorties externes ne sont pas programmables dans l'exemple considéré, de sorte qu'il existe ainsi 50 plots d'entrée et 50 plots de sortie fixes.
L'interface de programmation 3 utilise un bus à 8 bits en entrées avec quelques signaux de commande supplémentaires. Cette interface permet de programmer le circuit logique programmable 100 par exemple à partir d'un microprocesseur ou d'un automate.
Dans les exemples des figures 7 et 8, on a pu supprimer un troisième étage de matrices de connexion du fait de la possibilité d'assurer de façon logique une interchangeabilité des différentes entrées Ei des circuits logiques programmables D1 à D4.
De la sorte, on peut éviter de matérialiser physiquement dans le circuit intégré les matrices du troisième niveau, ce qui simplifie la fabrication.

Claims (19)

REVENDICATIONS
1. Dispositif programmable d'interconnexion entre les N sorties Si (i = 1 à N) d'un premier ensemble de circuits électroniques (D1) et les M entrées Ei (i = 1 à M) d'un second ensemble de circuits électroniques (D2) pour attribuer à chaque entrée Ei (1 t i K M) du second ensemble de circuits électroniques (D2) une sortie unique choisie parmi les N sorties
Si (lc i 'N) du premier ensemble de circuits électroniques (D1), caractérisé en ce qu'il comprend a) un premier ensemble (A) de Q premiers modules d'interconnexion programmables Ai (i= 1 à Q) présentant chacun m entrées repérées chacune par un rang différent compris entre 1 et m et m sorties repérées chacune par un rang différent compris entre 1 et m, le nombre m des entrées-sorties des premiers modules d'interconnexion Ai et le nombre Q desdits premiers modules d'interconnexion Ai étant tels que leur produit Q x m est égal au nombre N de sorties Si du premier ensemble de circuits électroniques (D1), b) un second ensemble (B) de m deuxièmes modules d'interconnexion programmables Bi (i = 1 à m) présentant chacun Q entrées et P sorties, le nombre m desdits deuxièmes modules d'interconnexion
Bi étant égal au nombre m des sorties de chacun des premiers modules d'interconnexion Ai et le nombre Q des entrées de chacun des deuxièmes modules d'interconnexion Bi étant égal au nombre Q desdits premiers modules d'interconnexion Ai, c) un troisième ensemble (C) de P troisièmes modules d'interconnexion programmables Ci (i = 1 à P) présentant chacun m entrées repérées chacune par un rang différent compris entre 1 et m et m sorties repérées chacune par un rang différent compris entre 1 et m, le nombre m des entrées-sorties de chacun des troisièmes modules d'interconnexion Ci étant égal au nombre m desdits deuxièmes modules d'interconnexion Bi et le nombre P de troisièmes modules d'interconnexion Ci étant égal au nombre P de sorties de chacun desdits deuxièmes modules d'interconnexion Ci, le produit P x m du nombre P de troisièmes modules d'interconnexion Ci par le nombre m des entrées-sorties de chacun des troisièmes modules d'interconnexion Ci étant égal au nombre M d'entrées Ei du second ensemble de circuits électroniques (D2), en ce que les sorties d'un même rang i, (1Ci Ç m) des premiers modules d'interconnexion successifs Ai sont connectées aux différentes entrées successives du deuxième module d'interconnexion Bi présentant ce même rang i, et en ce que les entrées d'un même rang i (1 Si x m) des troisièmes modules d'interconnexion successifs Ci sont connectées aux différentes sorties successives du deuxième module d'interconnexion Bi présentant ce même rang i.
2. Dispositif selon la revendication 1, caractérisé en ce que les premiers, deuxièmes et troisièmes modules d'interconnexion programmables Ai, Bi, Ci sont constitués chacun par des matrices "crossbar11.
3. Dispositif selon la revendication 1, caractérisé en ce que les premiers, deuxièmes et troisièmes modules d'interconnexion programmables Ai, Bi, Ci sont eux-mêmes constitués chacun par des dispositifs programmables d'interconnexion réalisés conformément à la revendication 1.
4. Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les premiers, deuxièmes et troisièmes modules d'interconnexion programmables Ai, Bi, Ci sont constitués chacun par des circuits intégrés monolithiques.
5. Dispositif selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le premier ensemble de circuits électroniques (D1) et le second ensemble de circuits électroniques (D2) sont constitués par un même ensemble de circuits électroniques (D1).
6. Procédé d'interconnexion programmable entre les N sorties
Si (i = 1 à N) d'un premier ensemble de circuits électroniques (D1 et les M entrées Ej (j = 1à M) d'un second ensemble de circuits électroniques (D2) pour attribuer à chaque entrée Ej du second ensemble de circuits électroniques (D2) une sortie unique choisie parmi les N sorties Si du premier ensemble de circuits électroniques (D1), caractérisé en ce qu'il comprend les étapes suivantes a) on regroupe les N sorties Si (i = 1 à N) en Q sous-ensembles
Ak (k = 1 à Q) de cardinal m, où N, Q et m sont des nombres entiers tels que N = Q x m, b) on regroupe les M entrées Ej (j = 1à M) en P sous-ensembles Ck (k = 1 à P) de cardinal m, où M, P et m sont des nombres entiers tels que M = P x m, c) on affecte à chacun des éléments Ej, Si d'un sous-ensemble d'entrée Ck (k = 1 à P) ou de sortie Ak (k = 1 à Q) un rang allant de 1 à m, d) on décompose la connexion de l'entrée Si (1 Ri 'N) du sous-en semble de sortie Ak (1' kÇQ) vers la sortie Ej (14 j 6 M) du sous-ensemble d'entrée Cp (1t p ( P) en une première transformation constituée d'une fonction de m éléments vers m éléments, selon laquelle l'entrée Si du sous-ensemble de sortie Ak est connectée à une 1 ième sortie 1 (ik lc m) du sous-ensemble de sortie Ak, en une deuxième transformation constituée d'une fonction de Q éléments vers P éléments, selon laquelle la 1 ième sortie 1 ( m) du sous-ensemble de sortie Ak est connectée à la 1 ième entrée de même rang 1 (1t lt m) du sous-ensemble d'entrée Cp, et en une troisième transformation constituée d'une fonction de m éléments vers m éléments, selon laquelle la 1 ième entrée l du sous-ensemble d'entrée Cp est connectée à la sortie Ej (1 ( j cM) du sous-ensemble d'entrée Cp.
7. Procédé selon la revendication 6, caractérisé en ce que la fonction d'interconnexion est telle qu'une même sortie Si (1 i N) du premier ensemble de circuits électroniques (D1) est interconnectée à plusieurs entrées Ej (1Lj (M) du second ensemble de circuits électroniques (D2), mais une même entrée Ej (1 A j C M) du second ensemble de circuits électroniques (D2) est interconnectée à une sortie unique Si (1 C i RN) du premier ensemble de circuits électroniques (D1).
8. Procédé selon la revendication 6 ou la revendication 7, caractérisé en ce que les premier et second ensembles de circuits électroniques (D1, D2) sont confondus et sont constitués par des circuits électroniques numériques.
9. Circuit logique programmable, comprenant un ensemble (1) de B blocs logiques programmables Di (i = 1 à B) présentant chacun
E entrées et S sorties, un ensemble (2) de circuits d'entrées-sorties Fi (i = 1 à R), comprenant I entrées Im (m = I à I), et U sorties Uk (k = 1 à U), un système d'interconne xion programmable (6) et un système (3) de commande de programmation comprenant au moins une mémoire de configuration interne, caractérisé en ce que le système d'interconnexion programmable (6) qui assure les liaisons de l'ensemble des sorties Si des blocs logiques programmables Di et des I entrées Im vers l'ensemble des entrées Ei des B blocs logiques programmables Di et des U sorties
Uk est réalisé selon le procédé des revendications 6 à 8 et comprend un premier ensemble (7) de Q matrices de connexion programmables Ai (i = 1 à Q) assurant chacune l'interconnexion programmable d'un nombre E de signaux constitués par des sousensembles ordonnés de E éléments de l'ensemble des signaux de sortie (S1 à S8) des B blocs logiques programmables Di et des I signaux d'entrées (Il à I4), vers un nombre E de signaux ordonnés appliqués à un deuxième ensemble (8) de E matrices de connexion programmables B1 (1 = 1 à E) assurant chacune l'interconnexion programmable d'un nombre Q de signaux issus des Q matrices de connexion du premier ensemble (7) vers un nombre P de signaux ordonnés appliqués en tant que signaux d'entrée Ei aux B blocs logiques programmables Di et aux sorties externes Uk, chaque bloc logique programmable Di recevant E signaux d'entrée ordonnés issus des E deuxièmes matrices de connexion B1, et en ce que les nombres
B, E, S, I, U, Q et P sont des entiers tels que Q = (B x S +
I)/E; P = (B x E + U)/E.
10. Circuit logique programmable selon la revendication 9, caractérisé en ce que les Q matrices de connexion programmables
Ai du premier ensemble (7) et les E matrices de connexion programmables B1 du deuxième ensemble (8) sont constituées par des matrices du type "crossbar".
11 Circuit logique programmable selon l'une quelconque des revendications 9 et 10, caractérisé en ce que les circuits d'entrées sorties programmables Fi comprennent des circuits logiques programmables associés à des amplificateurs permettant de configurer chaque circuit d'entrée-sortie Fi en entrée, en sortie directe ou trois états ou en plot bidirectionnel.
12. Circuit logique programmable selon la revendication 11, caractérisé en ce que les circuits d'entrées-sorties programmables
Fi comprennent des bascules connectées sur les signaux d'entrée ou de sortie.
13. Circuit logique programmable selon l'une quelconque des revendications 9 à 12, caractérisé en ce que chaque bloc logique programmable Di comprend un bloc de logique combinatoire programmable et des bascules connectées sur les entrées Ej ou les sorties Si du bloc Di.
14. Circuit logique programmable selon la revendication 13, caractérisé en ce que les blocs logiques programmables Di comprennent chacun des mémoires ainsi que des bascules.
15 Circuit logique programmable selon la revendication 13, caractérisé en ce que les blocs logiques programmables Di comprennent chacun des matrices logiques programmables (PLA) ainsi que des bascules.
16. Circuit logique programmable selon la revendication 13, caractérisé en ce que les blocs logiques programmables Di comprennent chacun des assemblages de portes logiques et de multiplexeurs ainsi que des bascules.
17. Circuit logique programmable selon l'une quelconque des revendications 9 à 16, caractérisé en ce qu'il comprend des moyens pour mettre sélectivement en court-circuit les bascules présentes sur les entrées et sorties des blocs logiques programmables Di.
18. Circuit logique programmable selon l'une quelconque des revendications 9 à 17, caractérisé en ce que le système (3) de commande de programmation comprend une interface de programmation qui assure une transformation d'une séquence binaire acheminée sur un nombre limité de bits en signaux d'écriture de ladite mémoire de configuration interne.
19. Circuit programmable selon l'une quelconque des revendications 9 à 18, caractérisé en ce qu'il est constitué par un circuit intégré monolithique.
FR9003917A 1990-03-27 1990-03-27 Procede et dispositif d'interconnexion programmable entre deux ensembles de circuits electroniques et application a un circuit logique programmable. Pending FR2660510A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9003917A FR2660510A1 (fr) 1990-03-27 1990-03-27 Procede et dispositif d'interconnexion programmable entre deux ensembles de circuits electroniques et application a un circuit logique programmable.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9003917A FR2660510A1 (fr) 1990-03-27 1990-03-27 Procede et dispositif d'interconnexion programmable entre deux ensembles de circuits electroniques et application a un circuit logique programmable.

Publications (1)

Publication Number Publication Date
FR2660510A1 true FR2660510A1 (fr) 1991-10-04

Family

ID=9395174

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9003917A Pending FR2660510A1 (fr) 1990-03-27 1990-03-27 Procede et dispositif d'interconnexion programmable entre deux ensembles de circuits electroniques et application a un circuit logique programmable.

Country Status (1)

Country Link
FR (1) FR2660510A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594810B1 (en) 2001-10-04 2003-07-15 M2000 Reconfigurable integrated circuit with a scalable architecture
US6717433B2 (en) 1995-10-13 2004-04-06 Jean Barbier Reconfigurable integrated circuit with integrated debugging facilities and scalable programmable interconnect
US7275196B2 (en) 2005-11-23 2007-09-25 M2000 S.A. Runtime reconfiguration of reconfigurable circuits
US7478261B2 (en) 2005-09-13 2009-01-13 M2000 Reconfigurable circuit with redundant reconfigurable cluster(s)
US8010826B2 (en) 2005-09-13 2011-08-30 Meta Systems Reconfigurable circuit with redundant reconfigurable cluster(s)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3640849A1 (de) * 1986-11-29 1988-06-09 Philips Patentverwaltung Mehrstufiges verteilkoppelfeld zur durchschaltung von breitbandigen signalen
WO1988004872A1 (fr) * 1986-12-23 1988-06-30 American Telephone & Telegraph Company Reseaux de commutation multiconnexion reconfigurables realises en utilisant des schemas combinatoires
US4807280A (en) * 1987-09-18 1989-02-21 Pacific Bell Cross-connect switch

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3640849A1 (de) * 1986-11-29 1988-06-09 Philips Patentverwaltung Mehrstufiges verteilkoppelfeld zur durchschaltung von breitbandigen signalen
WO1988004872A1 (fr) * 1986-12-23 1988-06-30 American Telephone & Telegraph Company Reseaux de commutation multiconnexion reconfigurables realises en utilisant des schemas combinatoires
US4807280A (en) * 1987-09-18 1989-02-21 Pacific Bell Cross-connect switch

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ELECTRONICS AND COMMUNICATIONS IN JAPAN. vol. 71, no. 7, juillet 1988, NEW YORK US pages 66 - 74; Y.Tanaka et al.: "Three-stage Switching Networks for N:1 Multiconnection" *
IBM TECHNICAL DISCLOSURE BULLETIN. vol. 27, no. 4B, septembre 1984, NEW YORK US pages 2704 - 2708; C.M.Melas: "Variable configuration hybrid space and packet switching network" *
Proc. of the IEEE 1987 CUSTOM INTEGRATED CIRCUITS CONFERENCE 04 mai 1987, Portland, US pages 515 - 521; H-C Hsieh et al.: "A second generation user-programmable gate array." *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717433B2 (en) 1995-10-13 2004-04-06 Jean Barbier Reconfigurable integrated circuit with integrated debugging facilities and scalable programmable interconnect
US6594810B1 (en) 2001-10-04 2003-07-15 M2000 Reconfigurable integrated circuit with a scalable architecture
US7478261B2 (en) 2005-09-13 2009-01-13 M2000 Reconfigurable circuit with redundant reconfigurable cluster(s)
US8010826B2 (en) 2005-09-13 2011-08-30 Meta Systems Reconfigurable circuit with redundant reconfigurable cluster(s)
US7275196B2 (en) 2005-11-23 2007-09-25 M2000 S.A. Runtime reconfiguration of reconfigurable circuits
US7529998B2 (en) 2005-11-23 2009-05-05 M2000 Sa. Runtime reconfiguration of reconfigurable circuits

Similar Documents

Publication Publication Date Title
EP0552074B1 (fr) Système de traitement de données multiprocesseur
EP0151653B1 (fr) Dispositif de sérialisation/désérialisation de configuration de bits de longueur variable
EP0322966A1 (fr) Circuit et structure de réseau de neurones
EP0142439B1 (fr) Procédé de compression d&#39;une succession d&#39;informations numériques, et dispositif mettant en oeuvre ce procédé
CH616252A5 (fr)
CH688425A5 (fr) Circuit électronique organisé en réseau matriciel de cellules.
EP0298002B1 (fr) Mémoire de transposition pour circuit de traitement de données
FR2846491A1 (fr) Architecture comprenant des cellules de remplacement pour reparer des erreurs de conception dans des circuits integres apres fabrication
FR2871310A1 (fr) Circuit logique configurable resistant a une attaque dpa
EP0472447A1 (fr) Multiplieur cellulaire en arbre de type gradin inversé et son procédé de réalisation
FR2660510A1 (fr) Procede et dispositif d&#39;interconnexion programmable entre deux ensembles de circuits electroniques et application a un circuit logique programmable.
FR2493641A1 (fr) Reseau logique integre a programmation electrique simplifiee
FR2850768A1 (fr) Dispositif electronique configurable a granularite mixte
EP0034956B1 (fr) Générateur de signaux de base et de signaux de test de télévision, et système de télévision comportant un tel générateur
EP0476592A2 (fr) Générateur d&#39;adresses pour la mémoire de données d&#39;un processeur
EP0183610B1 (fr) Mémoire vive et circuit d&#39;interpolation linéaire en comportant application
FR2624282A1 (fr) Comparateur binaire et operateur de tri de nombres binaires
FR3131413A1 (fr) Réseau de neurones avec génération à la volée des paramètres du réseau
EP0195709B1 (fr) Générateur numérique de forme d&#39;onde et procédé associé
FR2933826A1 (fr) Reseau logique programmable, commutateur d&#39;interconnexion et unite logique pour un tel reseau
EP0449716A1 (fr) Dispositif de condensation de données numériques
EP0341097A1 (fr) Additionneur de type récursif pour calculer la somme de deux opérandes
EP0407311A1 (fr) Circuit de brassage de données
FR2614121A1 (fr) Comparateur programmable numerique et controleur graphique utilisant un tel comparateur
EP0011737B1 (fr) Structure de circuits intégrés semi-conducteurs et procédé pour l&#39;obtention de cette structure