EP2514096A1 - Matrice interconnectee de cellules logiques reconfigurables avec une topologie d'interconnexion croisee - Google Patents

Matrice interconnectee de cellules logiques reconfigurables avec une topologie d'interconnexion croisee

Info

Publication number
EP2514096A1
EP2514096A1 EP10805804A EP10805804A EP2514096A1 EP 2514096 A1 EP2514096 A1 EP 2514096A1 EP 10805804 A EP10805804 A EP 10805804A EP 10805804 A EP10805804 A EP 10805804A EP 2514096 A1 EP2514096 A1 EP 2514096A1
Authority
EP
European Patent Office
Prior art keywords
logic cell
input
output
logic
cell
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.)
Withdrawn
Application number
EP10805804A
Other languages
German (de)
English (en)
Inventor
Ian O'connor
Nataliya Yakimets
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.)
Centre National de la Recherche Scientifique CNRS
Universite Claude Bernard Lyon 1 UCBL
Ecole Centrale de Lyon
Institut National des Sciences Appliquees de Lyon
Original Assignee
Centre National de la Recherche Scientifique CNRS
Universite Claude Bernard Lyon 1 UCBL
Ecole Centrale de Lyon
Institut National des Sciences Appliquees de Lyon
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 Centre National de la Recherche Scientifique CNRS, Universite Claude Bernard Lyon 1 UCBL, Ecole Centrale de Lyon, Institut National des Sciences Appliquees de Lyon filed Critical Centre National de la Recherche Scientifique CNRS
Publication of EP2514096A1 publication Critical patent/EP2514096A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00

Definitions

  • the present invention relates to the general technical field of reconfigurable logic cells comprising a plurality of inputs and able to perform a certain number of logic functions making it possible to process the logic signal supplied on their inputs and to provide output signals on a plurality of outputs. .
  • the object of the invention more precisely relates to reconfigurable logic cell arrays or matrices comprising an interconnection network between the cells and provided with switching boxes connected to programmable input / output blocks.
  • programmable or reconfigurable logic circuits have been developed that offer good fault tolerance and allow reuse for different applications.
  • Different types of architecture exist for such circuits, for example the FPGA circuit, which stands for “Field Programmable Gate Array”, the CPLD circuit which stands for “Complex Programmable Logic Device” or the circuit PLA stands for “Programmable Logic Array”.
  • These reconfigurable logic circuits comprise logical cells in large numbers freely assembled and interconnected by interconnection networks. These reconfigurable logical cells make it possible to carry out any desired logic functions. These logic cells make use of various technologies and use, for example, Hall effect devices or else CNTFET devices, the acronym for the Carbon Nano Tube FET, or RTD components, which stands for Resonent Tunneling. Diode “in combination with an H FET component acronym for the English expression of" Heterostructure FET ", NwFET acronym for the English term NanoWire FET, DG MOSFET, acronym for the English term Dual Gaste MOSFET.
  • the document EP 1 143 336 describes a logic circuit
  • FPGAs whose connection network includes cells each having eight inputs and eight outputs, requiring sixteen transmission channels.
  • US Pat. No. 5,296,759 describes a configuration of a cell connection network each having eight inputs and eight outputs.
  • each logic cell is directly connected by a switch box to allow complete configuration (see US 5,543,640).
  • This approach leads to an inflation of the ratio of active components / connection surface, which leads to an increase in programming times, a loss of efficiency in terms of speed and a loss of logical efficiency per unit area.
  • the article PE.GAILLARDON, I. O'CONNOR, J. LIU & Al. Interconnection scheme and associated mapping method of reconfigurable cell matrices based on nanoscale devices IEEE / ACM International Symposium on Nanoscale Architectures, pp. 69-74, 2009 reports on different topologies for the interconnection of logical cell matrices.
  • This new approach aims at grouping logic cells in networks or matrices according to architectures that make it possible to satisfy the success rate requirements, the diversity in the logical functions performed and the increase of the surface efficiency used by the relative decrease of the surface area. implementation of the interconnection networks compared to that of the logic cells.
  • the object of the invention proposes a new topology of interconnected matrices of logic cells, allowing in particular access in terms of connection. external in both directions of the array while having a complete internal connection between the logical cells to maintain a diversity of configuration to achieve large values of logical depths.
  • the object of the invention relates to an interconnected matrix of reconfigurable logic cells performing at least one logic function, connected externally to a peripheral link network equipped with switching boxes and connected to input blocks. / programmable output.
  • the logical depth of the function to be executed is not imposed by the size of the matrix, the direction of execution of the logic function to be executed is not imposed by the interconnection structure,
  • the cross-connection topology is such that:
  • the second input of the logic cell [d, 1] is connected to the second output of the logic cell [d-1, 2] while the second output of the logic cell [d, 1] is connected to the second input of the logical cell [d, 2],
  • the cross-connection topology is such that:
  • the second input of the logic cell [1, w] is connected to the second output of the logic cell [2, w] while the second output of the logic cell [1, w] is connected to the second input of the logical cell [2, w - 1],
  • the present invention also comprises one and / or the other of the following characteristics:
  • each logic cell carries out at least one logical function taken among the functions negation, conjunction, disjunctions, NAND, NOR, XOR, XNOR, implication or non-implication,
  • the link network comprises on the one hand two linkage sides with the lines thus extending on either side of the first and last columns of the matrix and on the other hand side, two connecting sides with the columns thus extending on both sides of the first and last lines of the matrix,
  • the link network is equipped with switching boxes.
  • Another object of the invention also relates to an integrated circuit comprising at least one interconnected matrix according to the invention.
  • Figure 1 illustrates a first embodiment of an interconnected array of logical cells having d rows and two columns.
  • Figure 2 illustrates a second embodiment of an interconnected array of logical cells having two rows and w columns.
  • FIG. 3 illustrates a first example of implementation of an interconnected matrix according to the invention comprising two rows and two columns, namely four logical cells.
  • Figure 4 illustrates an alternative implementation of the 2 x 2 interconnected matrix shown in FIG. 3.
  • FIG. 5 illustrates a second example of implementation of an interconnected matrix according to the invention comprising four rows and two columns, namely eight logical cells.
  • Figure 6 illustrates an alternative implementation of the 4 x 2 interconnected matrix shown in FIG. 5.
  • the numbering of the columns j and lines i of the matrix starts from the top left of the matrix and goes from left to right for the columns and from top to bottom for the rows.
  • the matrix 1 according 1'invention presents in one direction, a dimension equal to 2 and in another perpendicular direction, a dimension between 2 and d or w.
  • each logic cell [i, j] realizes a complex logic function F using one or more elementary logic functions of all types and taken for example from the functions negation, conjunction, disjunction, NAND, NOR, XO, XNOR, implication or non-involvement and represented by the following symbols:
  • Each logic cell covers all types of elementary or complex logic cells such as those called CLB (Configurable Logic Block) or logic blocks consisting of a look-up table (LUT or Look-Up-Tab! E) or processors.
  • CLB Configurable Logic Block
  • LUT Look-Up-Tab! E
  • each logic cell [i, j] comprises a data block 2 and a configuration block 3.
  • the data block 2 comprises the complex logic function F and the coordinates [i, j] of the logic cell in the matrix 1.
  • the configuration block 3 allows, according to control signals, to select a complex logic function F from among all the configurable logic functions available.
  • all the logic cells making up matrix 1 are identical.
  • the logic cells are produced by Hall effect, CNTFET, RTD, HFET, NwFET or MOSFET technologies as described, for example, in the patent application WO 2009/013422.
  • all the logic cells of the matrix 1 are connected externally to a network or bus 5 of peripheral link equipped with switching boxes 6 and connected to blocks of programmable inputs / outputs not shown.
  • the peripheral link network 5, the switching boxes 6 and the programmable input / output blocks are not described more precisely because they are well known to those skilled in the art and do not form part of the invention.
  • the link network 5 which surrounds all the logic cells of the matrix 1 comprises, on the one hand, two bonding sides Si with the lines i thus extending on either side of the first and last columns. of the matrix and secondly, two connecting sides 52 with the columns j thus extending on either side of the first and last lines i of the matrix.
  • Each intersection between a connecting side 51 with a line and a connecting side 52 with a column is provided with a switching box 6.
  • Each logic cell [i, j] has a first input El, a second input E2, a first output S1 and a second output S2, with the first and second outputs S1 and S2 which are identical.
  • Each logic cell [i, j] thus comprises only two inputs El, E2 and only two outputs S1, S2.
  • the first input E1 of each logic cell and the first output S1 of each logic cell are connected to the link network 5.
  • the first input El and the first output S1 of each logical cell belonging to the same column j are connected to the connecting side with the lines 51 near or in the vicinity of said column.
  • the first input E1 and the first output S1 of each logic cell belonging to the first line i and the last line i are respectively connected to a connecting side with the neighboring lines 51 and to a connecting side with the neighboring columns 52.
  • one of the first inputs is connected to the connecting side with the neighboring columns 52 while the other first input is connected to the connecting side with the neighboring lines 51 while one of the first outputs is connected to the connecting side with the neighboring columns 52 while the other first output is connected to the connecting side with the neighboring lines 51.
  • the first input E1 and the first output S1 of each logic cell belonging to the same line are connected to the connecting side with the columns 52 adjacent or located near said column.
  • the first input E1 and the first output S1 of each logic cell belonging to the first column and the last column are respectively connected to a connecting side with the neighboring lines 51 and to a connecting side with the neighboring columns 52.
  • one of the first inputs is connected to the connecting side with the neighboring columns 52 while the other first input is connected to the connecting side with the lines 51 neighbor while one of the first outputs is connected to the connecting side with the neighboring columns 52 while the other first output is connected to the connecting side with the neighboring lines 51.
  • All sides of the matrix thus have at least one input and at least one output.
  • the propagation of the data can thus be carried out on the four sides of the matrix.
  • This interconnection topology is crossed and oscillating since it is carried out successively in one direction and in a reverse direction, so that the logical depth of the logical functions is between 1 and 2 x d or between 1 and 2 x w.
  • the second output S2 of the logic cell [1, 1] of the first line and the first column is connected to the input E2 of the logic cell [2, 2] of the second row and the second column in the first column - second column direction while the second output S2 of the logical cell [2, 1] of the second row and the first column is connected to the E2 input of the logical cell [1, 2] of the first row and the second column in the first column - second column direction.
  • the second output S2 of the logic cell [2, 2] of the second row and the second column is connected to the input E2 of the logical cell [3, 1] of the third row and of the first column in the second column-first column direction while the second output S2 of the logic cell [3, 2] of the third line and the second column is connected to the input E2 of the logic cell [2, 1] of the second row and first column in the second column - first column direction.
  • the second outputs S2 of the logical cells of one and the same column are connected by crossing and in the same direction of connection, to the second inputs E2 of the logic cells of the other column.
  • the crossing made between the two columns changes direction or oscillates (opposite direction) during each successive connection between two neighboring lines of logic cells.
  • the second output S2 of the logic cell [2, 2] of the second line and the second column is connected to the input E2 of the logical cell [1, 1] of the first line and the first column in the second line-first line direction while the second output S2 of the logic cell [2, 1] of the second line and the first column is connected to the input E2 of the logic cell [1,2] of the first line line and the second column in the second line-first line direction.
  • the second output S2 of the logic cell [1, 2] of the first line and the second column is connected to the input E2 of the logic cell [2, 3] of the second line and the third column in the sense first line - second line then that the second output S2 of the logic cell [1, 3] of the first line and the third column is connected to the input E2 of the logic cell [2, 2] of the second line and the second column in the meaning first line - second line.
  • the second outputs S2 of the logic cells of one and the same line are connected by crossing and in the same direction of connection, to the second inputs E2 of the logic cells of the other line.
  • the direction of crossing made between the two lines changes direction or oscillates in a reverse direction during each successive connection between two neighboring columns of logic cells.
  • the cross-connection topology is such that:
  • the second input E2 of the logic cell [d, 1] is connected to the second output S2 of the logic cell [d-1, 2] while the second output S2 of the logic cell [d, 1] is connected to the second input E2 of the logic cell [d, 2],
  • this first embodiment it can be obtained as a function of the number of logical cells addressed, a logical depth that is to say the number of logical operations in cascade carried out in total, between 1 and 2 x d.
  • the second input E2 of the logic cell [1, w] is connected to the second output S2 of the logic cell [2, w] while the second output S2 of the logic cell [1, w] is connected to the second input S2 of the logic cell [2, w - 1],
  • the second input E2 of the logic cell [2, w] being connected to the second output S2 of the logic cell [1, w-1].
  • it can be obtained as a function of the number of logical cells addressed, a logical depth that is to say the number of logical operations in cascade carried out in total, between 1 and 2 x w.
  • the matrix according to the invention offers a great ease of access to the inputs / outputs of the logic cells given their distribution along the entire periphery of the matrix, not favoring a direction but allowing access in both directions directions of the matrix thus limiting the access times.
  • This cross-connection and oscillating or twisted topology offers multiple configuration and calculation possibilities with reduced connection paths between the logic cells as will be illustrated according to the following exemplary embodiments.
  • the matrix realizes the global logic function y such that the four cells
  • the data item W is associated with the first input of the logical cell [1,2], the data item X with the first input of the logical cell [1,1,], the data item Y with the first input of the logic cell [2,1] and the data Z to the first input of the logic cell [2,2].
  • [2,1] are respectively designated by yi, y 2 , y3, Y4-
  • the first entry of each logical cell in the matrix corresponds to operand A in the individual function
  • the second input corresponds to operand B in the same function.
  • the global function thus consists in an execution of the four individual logic functions A / B, A, AjB, AvB, of cascade type if the cells are of static combinatorial logic nature, or of pipeline type if the operation of the logic cells depends on an external clock signal.
  • the execution proceeds according to the following principle:
  • the matrix according to the invention thus allows the simultaneous execution of several different or identical functions.
  • the eight logical cells are configured to respectively perform the following logic functions
  • the first outputs of logic cells [1, 2], [1, 1], [2, 2], [3, 1], [4, 2], [4, 1], [3, 2], [2 , 1] are respectively denoted by Vi f Y2, Y3, Y4, ys, Y6 / Y7r Ye-
  • the first input of each logical cell in the matrix corresponds to operand A in the individual function
  • the second input corresponds to operand B in the same function.
  • the global function thus consists in an execution of the eight individual logical functions, of cascade type if the logic cells are of static combinatorial logic nature, or of pipeline type if the operation of the cells depends on an external clock signal. The execution proceeds according to the following principle:

Abstract

L'invention concerne une matrice interconnectée de cellules logiques reconfigurables réalisant au moins une fonction logique (F), reliées en externe à un réseau de liaison périphérique (5) équipé de boîtiers de commutation (6) et connecté à des blocs d'entrée / sortie programmables. Selon l'invention, les cellules logiques [i, j] sont réparties selon une première dimension en lignes i avec i = 1 à d et une deuxième dimension en colonnes j avec j = 1 à w, avec d ≥ 2 et w = 2 ou d = 2 et w ≥ 2, chaque cellule logique comportant une première entrée (E1), une deuxième entrée (E2), une première sortie (S1) et une deuxième sortie (S2), la première entrée (S1) de chaque cellule logique et la première sortie (S1) de chaque cellule logique étant connectées au réseau de liaison (5), la deuxième entrée (E1) et la deuxième sortie (S2) de chaque cellule logique étant connectées à d'autres cellules logiques de colonne et de ligne différentes à l'exception des premières et dernières lignes ou colonnes pour d > 2 ou w > 2 respectivement, par une topologie d'interconnexion croisée entre les deux colonnes de la matrice pour w = 2 et entre les deux lignes de la matrice pour d = 2 et oscillante successivement selon un sens et selon un sens inverse, de sorte que la profondeur logique des fonctions logiques (F) soit comprise entre 1 et 2 x d ou entre 1 et 2 x w.

Description

MATRICE INTERCONNECTEE DE CELLULES LOGIQUES RECONFIGURABLES AVEC UNE TOPOLOGIE
D'INTERCONNEXION CROISEE
La présente invention concerne le domaine technique général des cellules logiques reconfigurables comprenant une pluralité d'entrées et aptes à réaliser un certain nombre de fonctions logiques permettant de traiter le signal logique fourni sur leurs entrées et de fournir des signaux de sortie sur une pluralité de sorties.
L'objet de l'invention concerne plus précisément les réseaux ou les matrices de cellules logiques reconfigurables comportant un réseau d'interconnexion entre les cellules et pourvu de boîtiers de commutation relié à des blocs d'entrée / sortie programmables.
Dans le domaine des circuits intégrés, le coût de production est essentiellement dû au coût de la conception des masques utiles à la lithographie et au coût des équipements automatiques utilisés pour la production des circuits intégrés notamment les appareils de photolithographie. Ces coûts de production augmentent régulièrement en raison de la complexité des architectures proposées et de la recherche d'une miniaturisation de ces circuits intégrés.
Afin de réduire l'impact du coût des masques, ont été développés les circuits logiques programmables ou reconfigurables qui offrent une bonne tolérance aux fautes et permettent des réutilisations pour différentes applications. Différents types d'architecture existent pour de tels circuits comme par exemple le circuit FPGA acronyme de l'expression anglaise « Field Programmable Gâte Array », le circuit CPLD acronyme de l'expression en anglais de « Complex Programmable Logic Device » ou encore le circuit PLA acronyme de l'expression en anglais de « Programmable Logic Array ».
De tels circuits logiques reconfigurables connaissent un développement spectaculaire en raison notamment de leur souplesse et de leur conception moins complexe que celles des circuits dédiés comme les circuits ASIC acronyme de « Application Spécifie Integrated Circuit ».
Ces circuits logiques reconfigurables comportent des cellules logiques en grand nombre librement assemblées et reliées entre elles par des réseaux d'interconnexion. Ces cellules logiques reconfigurables permettent de réaliser n'importe quelles fonctions logiques souhaitées. Ces cellules logiques font appel à diverses technologies et utilisent par exemple des dispositifs à effet Hall ou encore des dispositifs CNTFET acronyme de l'expression anglaise « Carbon Nano Tube FET » ou encore des composants RTD acronyme de l'expression en anglais de « Resonent Tunneling Diode » en combinaison avec un composant H FET acronyme de l'expression en anglais de « Heterostructure FET », NwFET acronyme de l'expression anglaise NanoWire FET, DG MOSFET, acronyme de l'expression anglaise Dual Gâte MOSFET.
Par exemple, le document EP 1 143 336 décrit un circuit logique
FPGA dont le réseau de connexion comportent des cellules possédant chacune huit entrées et huit sorties, nécessitant seize voies de transmission.
De même, le brevet US 5 296 759 décrit une configuration d'un réseau de connexion de cellules comportant chacune huit entrées et huit sorties.
Le brevet US 7 253 658 décrit des cellules connectées selon des interconnexions configurables réalisées via des multiplexeurs de transmission et nécessitant le recours à des circuits supplémentaires tels que multiplexeurs et buffers pour les éléments de commutation.
De manière conventionnelle, chaque cellule logique est directement connectée par un boîtier de commutation pour permettre une complète configuration (Cf. US 5 543 640). Cette approche conduit à une inflation du ratio composants actifs / surface de connexion, ce qui conduit à un accroissement des temps de programmation, à une perte d'efficacité en terme de vitesse et à une perte d'efficacité logique par unité de surface. Pour remédier à ces inconvénients, l'article P-E.GAILLARDON, I. O'CONNOR, J. LIU & Al. interconnection scheme and associated mapping method of reconfigurable cell matrices based on nanoscale devices IEEE/ACM International Symposium on Nanoscale Architectures, pp.69-74, 2009 fait état de différentes topologies d'interconnexion de matrices de cellules logiques.
Cette nouvelle approche vise à regrouper des cellules logiques dans des réseaux ou matrices selon des architectures permettant de satisfaire aux exigences de taux de succès, de diversité dans les fonctions logiques réalisées et d'augmentation du rendement de surface utilisé par la diminution relative de la surface d'implantation des réseaux d'interconnexion par rapport à celle des cellules logiques.
Par exemple, le document J. Greg Nash. Automatic Latency- Optimal design of FPGA- based Systolic Arrays. Proceedings of the 10th Annuel IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'02), pp. 299, 2002 décrit une matrice interconnectée de cellules logiques connectées entre elles selon deux directions et reliées à un réseau de liaison périphérique. La connexion externe de l'une des entrées des cellules logiques est réalisée selon une dimension tandis que la connexion externe de l'autre entrée des cellules logiques est réalisée selon l'autre dimension. De manière similaire, la connexion externe de l'une des sorties des cellules logiques est réalisée selon une dimension tandis que la connexion externe de l'autre sortie des cellules est réalisée selon l'autre dimension. Il s'ensuit que l'entrée des cellules logiques de la matrice est disponible uniquement selon une seule direction limitant ainsi l'accès aux cellules logiques. Par ailleurs, une telle topologie ne permet pas une complète connexion interne entre les cellules logiques limitant ainsi la profondeur logique c'est-à-dire le nombre d'opérations logiques effectuées en cascade.
Pour remédier à ces inconvénients, l'objet de l'invention propose une nouvelle topologie de matrices interconnectées de cellules logiques, permettant en particulier un accès en termes de connexion externe dans les deux directions de la matrice tout en présentant une complète connexion interne entre les cellules logiques pour conserver une diversité de configuration en vue d'atteindre de grandes valeurs de profondeurs logiques.
Pour atteindre un tel objectif, l'objet de l'invention concerne une matrice interconnectée de cellules logiques reconfigurables réalisant au moins une fonction logique, reliées en externe à un réseau de liaison périphérique équipé de boîtiers de commutation et connecté à des blocs d'entrée / sortie programmables.
Selon l'invention, les cellules logiques [i, j] sont réparties selon une première dimension en lignes i avec i = 1 à d et une deuxième dimension en colonnes j avec j = 1 à w, avec d≥ 2 et w = 2 ou d = 2 et w > 2, chaque cellule logique comportant une première entrée, une deuxième entrée, une première sortie et une deuxième sortie, la première entrée de chaque cellule logique et la première sortie de chaque cellule logique étant connectées au réseau de liaison, la deuxième entrée et la deuxième sortie de chaque cellule logique étant connectées à d'autres cellules logiques de colonne et de ligne différentes à l'exception des premières et dernières lignes ou colonnes pour d > 2 ou w > 2 respectivement, par une topologie d'interconnexion croisée entre les deux colonnes de la matrice pour w = 2 et entre les deux lignes de la matrice pour d = 2 et oscillante successivement selon un sens et selon un sens inverse, de sorte que la profondeur logique des fonctions logiques soit comprise entre 1 et 2 x d ou entre 1 et 2 x w.
Cette matrice interconnectée de cellules logiques présente par rapport aux solutions antérieures les avantages suivants :
- la nature "croisée" du flux d'opérations confère une accessibilité élevée aux entrées et aux sorties, tous les côtés de la matrice ayant au moins une entrée et une sortie,
- la profondeur logique de la fonction à exécuter n'est pas imposée par la taille de la matrice, - la direction d'exécution de la fonction logique à exécuter n'est pas imposée par la structure d'interconnexion,
- il s'ensuit que plusieurs fonctions logiques, de la même complexité ou de différentes complexités, peuvent s'exécuter en même temps, dans la même direction ou dans des directions différentes.
Selon un premier mode de réalisation de la matrice comportant un nombre d de lignes i avec d > 2 et un nombre de colonnes égal à 2, la topologie d'interconnexion croisée est telle que :
• pour les connexions internes :
* la deuxième entrée de chaque cellule logique de ligne paire
[i, 1] où 2 < i < d et i = 2 K et K e N, est connectée à la deuxième sortie de la cellule logique [i + 1, 2] alors que la deuxième entrée de chaque cellule logique de ligne impaire [i, 1] où 3 < i < d et i = 2 K + 1 avec K e N, est connectée à la deuxième sortie de la cellule logique [i - 1, 2],
* la deuxième sortie de chaque cellule logique de ligne paire [i, 1] où 2 < i < d et i = 2 K et K e N, est connectée à la deuxième entrée de la cellule logique [i - 1, 2] tandis que la deuxième sortie de chaque cellule logique de ligne impaire [i, 1] où 3 < i < d et i = 2 K + 1 avec K e N est connecté à la deuxième entrée de cellule [i + 1, 2],
• pour les connexions de la première ligne :
* la deuxième entrée de la cellule logique [1, 1] étant connectée à la deuxième sortie de la cellule logique [1, 2] tandis que la deuxième sortie de la cellule [1, 1] est connectée à la deuxième entrée de la cellule [2, 2],
* la seconde entrée de la cellule logique [1, 2] étant connectée à la deuxième sortie de la cellule logique [2, 1],
• pour les connexions de la dernière ligne si d = 2 K avec K e N :
* la deuxième entrée de la cellule logique [d, 1] étant connectée à la deuxième sortie de la cellule logique [d, 2] alors que la deuxième sortie de la cellule logique [d, 1] est connectée à la deuxième entrée de la cellule logique [d - 1, 2], * la deuxième entrée de la cellule logique [d, 2] étant connectée à la deuxième sortie de la cellule logique [d - 1, 1],
• pour les connexions de la dernière ligne si d = 2 K + 1 avec K e N :
* la deuxième entrée de la cellule logique [d, 1] est connectée à la deuxième sortie de la cellule logique [d - 1, 2] alors que la deuxième sortie de la cellule logique [d, 1] est connectée à la deuxième entrée de la cellule logique [d, 2],
* la deuxième sortie de la cellule logique [d, 2] étant connectée à la deuxième entrée de la cellule logique [d - 1, 1].
Selon un deuxième mode de réalisation de la matrice comportant un nombre d de lignes égal à 2 et un nombre w de colonnes j avec w > 2, la topologie d'interconnexion croisée est telle que :
• pour les connexions internes :
* la deuxième entrée de chaque cellule logique de colonne paire [1, j] où 2 < j < w et j = 2 K et K e N, est connectée à la deuxième sortie de la cellule logique [2, j -1] alors que la deuxième entrée de chaque cellule logique de colonne impaire [1, j] où 3 < j < d et j = 2 K + 1 avec K e N, est connectée à la deuxième sortie de la cellule logique [2, j + 1],
* la deuxième sortie de chaque cellule logique de colonne paire [1, j] où 2 < j < w et j = 2 K et K e N, est connectée à la deuxième entrée de la cellule logique [2, j + 1] tandis que la deuxième sortie de chaque cellule logique de colonne impaire [1, j] où 3 < j < w et j = 2 K + 1 avec K e N est connecté à la deuxième entrée de cellule [2, j - 1],
• pour les connexions de la première colonne :
* la deuxième entrée de la cellule logique [1,1] étant connectée à la deuxième sortie de la cellule logique [2, 2] tandis que la deuxième sortie de la cellule [1, 1] est connectée à la deuxième entrée de la cellule [2, 1], * la deuxième sortie de la cellule logique [2, 1] étant connectée à la deuxième entrée de la cellule logique [1, 2],
* pour les connexions de la dernière colonne si w = 2 K avec K e
N :
* la deuxième entrée de la cellule logique [1, w] étant connectée à la deuxième sortie de la cellule logique [2, w - 1] alors que la deuxième sortie de la cellule logique [1, w] est connectée à la deuxième entrée de la cellule logique [2, w],
* la deuxième sortie de la cellule logique [2, w] étant connectée à la deuxième entrée de la cellule logique [1, w - 1],
• pour les connexions de la dernière colonne si w = 2 K + 1 avec K e N :
* la deuxième entrée de la cellule logique [1, w] est connectée à la deuxième sortie de la cellule logique [2, w] alors que la deuxième sortie de la cellule logique [1, w] est connectée à la deuxième entrée de la cellule logique [2, w - 1],
* la deuxième entrée de la cellule logique [2, w] étant connectée à la deuxième sortie de la cellule logique [1, w - 1].
La présente invention comporte également l'une et/ou l'autre des caractéristiques suivantes :
- chaque cellule logique réalise au moins une fonction logique prise parmi les fonctions négation, conjonction, disjonctions, NAND, NOR, XOR, XNOR, implication ou non-implication,
- toutes les cellules logiques de la matrice sont identiques, - le réseau de liaison comporte d'une part deux côtés de liaison avec les lignes s'étendant ainsi de part et d'autre des première et dernière colonnes de la matrice et d'autre part, deux côtés de liaison avec les colonnes s'étendant ainsi de part et d'autre des première et dernière lignes de la matrice,
- pour d > 2, la première entrée et la première sortie de chaque cellule logique appartenant à une même colonne, à l'exception des cellules logiques de la première ligne et de la dernière ligne, sont connectées au côté de liaison avec les lignes voisin de ladite colonne tandis que pour w > 2, la première entrée et la première sortie de chaque cellule logique appartenant à une même ligne, à l'exception des cellules logiques de la première colonne et de la dernière colonne, sont connectées au côté de liaison avec les colonnes voisin de ladite ligne,
- la première entrée et la première sortie de chaque cellule logique des première et dernière lignes pour d > 2 et des première et dernière colonnes pour w > 2 sont connectées respectivement au côté de liaison avec les lignes voisin et au côté de liaison avec les colonnes voisin,
- le réseau de liaison est équipé de boîtiers de commutation.
Un autre objet de l'invention concerne également un circuit intégré comportant au moins une matrice interconnectée conforme à l'invention.
Diverses autres caractéristiques ressortent de la description faite ci-dessous en référence aux dessins annexés qui montrent, à titre d'exemples, non limitatifs, des formes de réalisation de l'objet de l'invention.
La Figure 1 illustre un premier mode de réalisation d'une matrice interconnectée de cellules logiques comportant d lignes et deux colonnes.
La Figure 2 illustre un deuxième mode de réalisation d'une matrice interconnectée de cellules logiques comportant deux lignes et w colonnes.
La Figure 3 illustre un premier exemple de mise en œuvre d'une matrice interconnectée conforme à l'invention comportant deux lignes et deux colonnes à savoir quatre cellules logiques.
La Figure 4 illustre une variante de mise en œuvre de la matrice interconnectée 2 x 2 illustrée à la fig. 3.
La Figure 5 illustre un deuxième exemple de mise en œuvre d'une matrice interconnectée conforme à l'invention comportant quatre lignes et deux colonnes à savoir huit cellules logiques. La Figure 6 illustre une variante de mise en œuvre de la matrice interconnectée 4 x 2 illustrée à la Fig. 5.
L'objet de l'invention concerne une matrice 1 interconnectée de cellules logiques reconfigurables [i, j] réparties selon une première dimension en lignes i avec i = 1 à d et une deuxième dimension en colonnes j avec j = 1 à w, avec d > 2 et w = 2 (Fig. 1) ou avec d = 2 et w > 2 (Fig. 2). La numérotation des colonnes j et des lignes i de la matrice part du haut à gauche de la matrice et va de gauche à droite pour les colonnes et de haut en bas pour les lignes.
La Fig. 1 illustre un premier mode de réalisation de l'invention pour lequel la matrice 1 comporte un nombre d de lignes i avec d supérieur ou égal à 2 et un nombre w de colonnes j égal à 2 (w = 2) alors que la Fig. 2 illustre un deuxième mode de réalisation pour lequel la matrice 1 comporte un nombre d de lignes i égal à 2 (d = 2) et un nombre w de colonnes j avec w supérieur ou égal à 2. En d'autres termes, la matrice 1 selon llnvention présente dans une direction, une dimension égale à 2 et dans une autre direction perpendiculaire, une dimension comprise entre 2 et d ou w.
De manière classique, chaque cellule logique [i, j] réalise une fonction logique complexe F utilisant une ou plusieurs fonctions logiques élémentaires de tous types et prises par exemple parmi les fonctions négation, conjonction, disjonction, NAND, NOR, XO , XNOR, implication ou non-implication et représentées par les symboles suivants :
/ non-implication e.g. A/B = ΑΛ-.Β
Chaque cellule logique couvre tous les types de cellules logiques élémentaires ou complexes telles que celles appelées CLB (Configurable Logic Bloc) ou les blocs logiques constitués d'une table de correspondances (LUT ou Look-Up-Tab!e) ou des processeurs.
De manière classique, chaque cellule logique [i, j] comporte un bloc de données 2 et un bloc de configuration 3. Le bloc de données 2 comporte la fonction logique complexe F et les coordonnées [i, j] de la cellule logique dans la matrice 1. Le bloc de configuration 3 permet en fonction de signaux de commande, de sélectionner une fonction logique complexe F parmi toutes les fonctions logiques configurables disponibles. Selon une caractéristique de l'invention, toutes les cellules logiques composant la matrice 1 sont identiques. Par exemple, les cellules logiques sont réalisées par les technologies à effet Hall, CNTFET, RTD, HFET, NwFET ou MOSFET comme décrit par exemple dans la demande de brevet WO 2009/013422.
D'une manière classique, toutes les cellules logiques de la matrice 1 sont reliées en externe à un réseau ou bus 5 de liaison périphérique équipé de boîtiers de commutation 6 et reliés à des blocs d'entrées/sorties programmables non représentés. Le réseau de liaison périphérique 5, les boîtiers de commutation 6 et les blocs d'entrées/sorties programmables ne sont pas décrits plus précisément car ils sont bien connus de l'homme du métier et ne font pas partie précisément de l'invention.
Dans les exemples illustrés, le réseau de liaison 5 qui entoure toutes les cellules logiques de la matrice 1 comporte d'une part, deux côtés de liaison Si avec les lignes i s'étendant ainsi de part et d'autre des première et dernière colonnes de la matrice et d'autre part, deux côtés de liaison 52 avec les colonnes j s'étendant ainsi de part et d'autre des première et dernière lignes i de la matrice. Chaque intersection entre un côté de liaison 51 avec une ligne et un côté de liaison 52 avec une colonne est pourvu d'un boîtier commutation 6. Chaque cellule logique [i, j] comporte une première entrée El, une deuxième entrée E2, une première sortie SI et une deuxième sortie S2, avec les première et deuxième sorties SI et S2 qui sont identiques. Chaque cellule logique [i, j] comporte donc uniquement deux entrées El, E2 et uniquement deux sorties SI, S2.
La première entrée El de chaque cellule logique et la première sortie SI de chaque cellule logique sont connectées au réseau de liaison 5.
De façon avantageuse, dans le premier mode de réalisation illustré à la Fig. 1 dans lequel la matrice 1 est du type d x 2 (d > 2 et = 2), la première entrée El et la première sortie SI de chaque cellule logique appartenant à une même colonne j, à l'exception des cellules logiques de la première ligne i et de la dernière ligne i, sont connectées au côté de liaison avec les lignes 51 voisin ou situé à proximité de ladite colonne.
La première entrée El et la première sortie SI de chaque cellule logique appartenant à la première ligne i et à la dernière ligne i sont connectées respectivement à un côté de liaison avec les lignes 51 voisin et à un côté de liaison avec les colonnes 52 voisin. Comme cela ressort de la Fig. 1, pour les deux cellules logiques appartenant à la première ligne i ou à la dernière ligne i, l'une des premières entrées est connectée au côté de liaison avec les colonnes 52 voisin tandis que l'autre première entrée est connectée au côté de liaison avec les lignes 51 voisins alors que l'une des premières sorties est connectée au côté de liaison avec les colonnes 52 voisin tandis que l'autre première sortie est connectée au côté de liaison avec les lignes 51 voisin.
De façon avantageuse, dans le deuxième mode de réalisation illustré à la Fig. 2 dans lequel la matrice 1 est du type 2 x w (w >2 et d = 2), la première entrée El et la première sortie SI de chaque cellule logique appartenant à une même ligne, à l'exception des cellules logiques de la première colonne et de la dernière colonne, sont connectées au côté de liaison avec les colonnes 52 voisin ou situé à proximité de ladite colonne.
La première entrée El et la première sortie S1 de chaque cellule logique appartenant à la première colonne et à la dernière colonne sont connectées respectivement à un côté de liaison avec les lignes 51 voisin et à un côté de liaison avec les colonnes 52 voisin. Comme cela ressort de la Fig. 2, pour les deux cellules logiques appartenant à la première colonne ou à la dernière colonne, l'une des premières entrées est connectée au côté de liaison avec les colonnes 52 voisin tandis que l'autre première entrée est connectée au côté de liaison avec les lignes 51 voisin alors que l'une des premières sorties est connectée au côté de liaison avec les colonnes 52 voisin tandis que l'autre première sortie est connectée au côté de liaison avec les lignes 51 voisin.
Tous les côtés de la matrice présentent ainsi au moins une entrée et au moins une sortie. La propagation des données peut ainsi s'effectuer sur les quatre côtés de la matrice.
Selon une autre caractéristique de l'invention, la deuxième entrée E2 et la deuxième sortie S2 de chaque cellule logique sont connectées à d'autres cellules logiques de colonne et de ligne différentes, à l'exception des premières et dernières lignes pour le premier mode de réalisation (d >2 et w = 2) et des premières et dernières colonnes pour le deuxième mode de réalisation (d = 2 et w > 2), par une topologie d'interconnexion croisée entre les deux colonnes de la matrice pour le premier mode de réalisation et entre les deux lignes de la matrice pour le deuxième mode de réalisation. Cette topologie d'interconnexion est croisée et oscillante puisqu'elle est réalisée successivement selon un sens et selon un sens inverse, de sorte que la profondeur logique des fonctions logiques soit comprise entre 1 et 2 x d ou entre 1 et 2 x w.
Ainsi, pour le premier mode de réalisation illustré à la Fig. 1, la deuxième sortie S2 de la cellule logique [1, 1] de la première ligne et de la première colonne est reliée à l'entrée E2 de la cellule logique [2, 2] de la deuxième ligne et de la deuxième colonne dans le sens première colonne - deuxième colonne alors que la deuxième sortie S2 de la cellule logique [2, 1] de la deuxième ligne et de la première colonne est reliée à l'entrée E2 de la cellule logique [1, 2] de la première ligne et de la deuxième colonne dans le sens première colonne - deuxième colonne. Par contre, la deuxième sortie S2 de la cellule logique [2, 2] de la deuxième ligne et de la deuxième colonne est reliée à l'entrée E2 de la cellule logique [3, 1] de la troisième ligne et de la première colonne dans le sens deuxième colonne -première colonne alors que la deuxième sortie S2 de la cellule logique [3, 2] de la troisième ligne et de la deuxième colonne est reliée à l'entrée E2 de la cellule logique [2, 1] de la deuxième ligne et de la première colonne dans le sens deuxième colonne - première colonne.
Entre deux lignes voisines, les deuxième sorties S2 des cellules logiques d'une même colonne sont reliées par croisement et selon un même sens de connexion, aux deuxième entrées E2 des cellules logiques de l'autre colonne. Toutefois, le croisement réalisé entre les deux colonnes change de sens ou oscille (sens contraire) lors de chaque connexion successive entre deux lignes voisines de cellules logiques.
De même, pour le deuxième mode de réalisation illustré à la Fig. 2, la deuxième sortie S2 de la cellule logique [2, 2] de la deuxième ligne et de la deuxième colonne est reliée à l'entrée E2 de la cellule logique [1, 1] de la première ligne et de la première colonne dans le sens deuxième ligne - première ligne alors que la deuxième sortie S2 de la cellule logique [2, 1] de la deuxième ligne et de la première colonne est reliée à l'entrée E2 de la cellule logique [1,2] de la première ligne et de la deuxième colonne dans le sens deuxième ligne- première ligne. Par contre, la deuxième sortie S2 de la cellule logique [1, 2] de la première ligne et de la deuxième colonne est reliée à l'entrée E2 de la cellule logique [2, 3] de la deuxième ligne et de la troisième colonne dans le sens première ligne - deuxième ligne alors que la deuxième sortie S2 de la cellule logique [1, 3] de la première ligne et de la troisième colonne est reliée à l'entrée E2 de la cellule logique [2, 2] de la deuxième ligne et de la deuxième colonne dans le sens première ligne - deuxième ligne.
Entre deux colonnes voisines, les deuxième sorties S2 des cellules logiques d'une même ligne sont reliées par croisement et selon un même sens de connexion, aux deuxièmes entrées E2 des cellules logiques de l'autre ligne. Toutefois, le sens de croisement réalisé entre les deux lignes change de sens ou oscille selon un sens inverse lors de chaque connexion successive entre deux colonnes voisines de cellules logiques.
D'une manière plus précise, pour le premier mode de réalisation illustré à la Fig. 1, c'est-à-dire pour une matrice comportant un nombre d de lignes i avec d > 2 et un nombre w de colonnes j égal à 2 (w = 2), la topologie d'interconnexion croisée est telle que :
• pour les connexions internes :
* la deuxième entrée E2 de chaque cellule logique de ligne paire [i, 1] où 2 < i < d et i = 2 K et K e N, est connectée à la deuxième sortie S2 de la cellule logique [i + 1, 2] alors que la deuxième entrée E2 de chaque cellule logique de ligne impaire [i, 1] où 3 < i < d et i = 2 K + 1 avec K e N, est connectée à la deuxième sortie S2 de la cellule logique [i - 1, 2],
* la deuxième sortie S2 de chaque cellule logique de ligne paire [i, 1] où 2 < i < d et i = 2 K et K e N, est connectée à la deuxième entrée E2 de la cellule logique [i - 1, 2] tandis que la deuxième sortie S2 de chaque cellule logique de ligne impaire [i, 1] où 3 < i < d et i = 2 K + l avec K e N est connecté à la deuxième entrée E2 de la cellule logique [i + 1, 2].
• pour les connexions de la première ligne :
* la deuxième entrée E2 de la cellule logique [1, 1] étant connectée à la deuxième sortie S2 de la cellule logique [1, 2] tandis que la deuxième sortie S2 de la cellule [1, 1] est connectée à la deuxième entrée E2 de la cellule [2, 2],
* la seconde entrée E2 de la cellule logique [1, 2] étant connectée à la deuxième sortie S2 de la cellule logique [2, 1],
· pour les connexions de la dernière ligne si d - 2 K avec K e N :
* la deuxième entrée E2 de la cellule logique [d, 1] étant connectée à la deuxième sortie S2 de la cellule logique [d, 2] alors que la deuxième sortie S2 de la cellule logique [d, 1] est connectée à la deuxième entrée E2 de la cellule logique [d - 1, 2],
* la deuxième entrée E2 de la cellule logique [d, 2] étant connectée à la deuxième sortie S2 de la cellule logique [d - 1, 1],
• pour les connexions de la dernière ligne si d = 2 K + 1 avec K e N :
* la deuxième entrée E2 de la cellule logique [d, 1] est connectée à la deuxième sortie S2 de la cellule logique [d - 1, 2] alors que la deuxième sortie S2 de la cellule logique [d, 1] est connectée à la deuxième entrée E2 de la cellule logique [d, 2],
* la deuxième sortie S2 de la cellule logique [d, 2] étant connectée à la deuxième entrée E2 de la cellule logique [d - 1, 1].
Selon ce premier mode de réalisation, il peut être obtenu en fonction du nombre de cellules logiques adressées, une profondeur logique c'est-à-dire le nombre d'opérations logiques en cascade effectuées au total, comprise entre 1 et 2 x d.
De manière similaire, pour le deuxième mode réalisation illustré à la Fig. 2, c'est-à-dire pour une matrice comportant un nombre d de lignes i égal à 2 (d=2) et un nombre w de colonnes j avec w>2, la topologie d'interconnexion croisée est telle que :
• pour les connexions internes :
* la deuxième entrée E2 de chaque cellule logique de colonne paire [1, j] où 2 < j < w et j = 2 K et K e N, est connectée à la deuxième sortie S2 de la cellule logique [2, j -1] alors que la deuxième entrée E2 de chaque cellule logique de colonne impaire [1, j] où 3 < j < d et j = 2 K + l avec K e N, est connectée à la deuxième sortie S2 de la cellule logique [2, j + 1],
* la deuxième sortie S2 de chaque cellule logique de colonne paire [1, j] où 2 < j < w et j = 2 K et K e N, est connectée à la deuxième entrée E2 de la cellule logique [2, j + 1] tandis que la deuxième sortie S2 de chaque cellule logique de colonne impaire [1, j] où 3 < j < w et j = 2 K + l avec K e N, est connectée à la deuxième entrée E2 de la cellule logique [2, j - 1],
• pour les connexions de la première colonne :
* la deuxième entrée E2 de la cellule logique [1,1] étant connectée à la deuxième sortie S2 de la cellule logique [2,2] tandis que la deuxième sortie S2 de la cellule logique [1,1] est connectée à la deuxième entrée E2 de la cellule logique [2,1],
* la deuxième sortie S2 de la cellule logique [2,1] étant connectée à la deuxième entrée E2 de la cellule logique [1,2],
• pour les connexions de la dernière colonne si w = 2 K avec K e
N :
* la deuxième entrée E2 de la cellule logique [1, w] étant connectée à la deuxième sortie S2 de la cellule logique [2, w - 1] alors que la deuxième sortie S2 de la cellule logique [1, w] est connectée à la deuxième entrée E2 de la cellule logique [2, w],
* la deuxième sortie S2 de la cellule logique [2, w] étant connectée à la deuxième entrée E2 de la cellule logique [1, w - 1],
• pour les connexions de la dernière colonne si w = 2 K + 1 avec K e N :
* la deuxième entrée E2 de la cellule logique [1, w] est connectée à la deuxième sortie S2 de la cellule logique [2, w] alors que la deuxième sortie S2 de la cellule logique [1, w] est connectée à la deuxième entrée S2 de la cellule logique [2, w - 1],
* la deuxième entrée E2 de la cellule logique [2, w] étant connectée à la deuxième sortie S2 de la cellule logique [1, w - 1]. Selon ce deuxième mode de réalisation, il peut être obtenu en fonction du nombre de cellules logiques adressées, une profondeur logique c'est-à-dire le nombre d'opérations logiques en cascade effectuées au total, comprise entre 1 et 2 x w.
Tel que cela ressort clairement des Fig. 1 et 2, la matrice conforme à l'invention offre une grande facilité d'accès aux entrées/sorties des cellules logiques compte tenu de leur répartition selon toute la périphérie de la matrice, ne privilégiant pas une direction mais permettant un accès selon les deux directions de la matrice limitant ainsi les temps d'accès. Cette topologie de connexion croisée et oscillante ou torsadée offre de multiples possibilités de configuration et de calcul avec des trajets de connexion réduits entre les cellules logiques comme cela sera illustré selon les exemples de réalisation qui suivent.
La Fig. 3 illustre un premier exemple de mise en oeuvre d'une matrice interconnectée 1 conforme à l'invention comportant deux lignes (d=2) et deux colonnes (w=2) à savoir quatre cellules logiques repérées [1,1], [1,2], [2,1] et [2,2] (la numérotation des colonnes j et des lignes i de la matrice partant du haut à gauche et allant de gauche à droite pour les colonnes et de haut en bas pour les lignes).
Selon cet exemple de réalisation, la matrice réalise la fonction logique globale y tel que Les quatre cellules
logiques sont configurées pour réaliser respectivement les fonctions suivantes : Dans cet
exemple, il est supposé que la donnée W est associée à la première entrée de la cellule logique [1,2], la donnée X à la première entrée de la cellule logique [1,1,], la donnée Y à la première entrée de la cellule logique [2,1] et la donnée Z à la première entrée de la cellule logique [2,2].
Les premières sorties des cellules logiques [1,2], [1,1], [2,2],
[2,1] sont désignées respectivement par yi, y2, y3, Y4- La première entrée de chaque cellule logique dans la matrice correspond à l'opérande A dans la fonction individuelle, la deuxième entrée (issue de la sortie d'une autre cellule dans la matrice) correspond à l'opérande B dans la même fonction. La fonction globale y consiste ainsi en une exécution des quatre fonctions logiques individuelles A/B, A, AjB, AvB, de type cascade si les cellules sont de nature logique combinatoire statique, ou de type pipeline si le fonctionnement des cellules logiques dépend d'un signal d'horloge externe. L'exécution se déroule selon le principe suivant :
La flexibilité de l'invention peut également s'illustrer si l'on considère maintenant deux fonctions indépendantes et
(par simplicité, il est utilisé comme illustré à la Fig. 4, la
même configuration de la matrice illustrée à la Fig. 3 sauf pour la cellule logique [2,2]=A). Il est clair que la réalisation de yA correspond à la sortie y2 :
Et que la réalisation de yB correspond à la sortie y4
La matrice selon l'invention autorise ainsi l'exécution simultanée de plusieurs fonctions différentes voire identiques.
La Fig. 5 illustre un deuxième exemple de mise en œuvre d'une matrice interconnectée 1 conforme à l'invention comportant quatre lignes (d=4) et 2 colonnes (w=2) à savoir huit cellules logiques repérées [1, 1], [1, 2], [2, 1] ,[2, 2],[3, 1], [3, 2], [4, 1], [4, 2] (la numérotation des colonnes j et des lignes i de la matrice partant toujours du haut à gauche et allant de gauche à droite pour les colonnes et de haut en bas pour les lignes). Selon cet exemple de réalisation, la matrice réalise la fonction logique globale y tel que g = Les huit cellules logiques sont configurées pour réaliser respectivement les fonctions logiques suivantes
. Dans cet exemple, il est supposé que la donnée S est
associée à la première entrée de la cellule logique [1, 2], la donnée U à la première entrée de la cellule logique [2, 2], la donnée Y à la première entrée de la cellule logique [3, 2],la donnée W à la première entrée de la cellule logique[4, 2], la donnée T à la première entrée de la cellule logique [1, 1], la donnée Z à la première entrée de la cellule logique [2, 1], la donnée V à la première entrée de la cellule logique [3, 1] , la donnée X à la première entrée de la cellule logique [4, 1] .
Les premières sorties des cellules logiques [1, 2], [1, 1], [2, 2], [3, 1], [4, 2], [4, 1], [3, 2], [2, 1] sont désignées respectivement par Vif Y2, Y3, Y4, ys, Y6/ Y7r Ye- La première entrée de chaque cellule logique dans la matrice correspond à l'opérande A dans la fonction individuelle, la deuxième entrée (issue de la sortie d'une autre cellule logique dans la matrice) correspond à l'opérande B dans la même fonction. La fonction globale y consiste ainsi en une exécution des huit fonctions logiques individuelles, de type cascade si les cellules logiques sont de nature logique combinatoire statique, ou de type pipeline si le fonctionnement des cellules dépend d'un signal horloge externe. L'exécution se déroule selon le principe suivant :
La flexibilité de l'invention peut également s'illustrer si l'on considère maintenant deux fonctions indépendantes A
Z (par simplicité, il est
utilisé comme illustré à la Fig. 6, la même configuration de la matrice illustrée à la Fig. 5 sauf pour la cellule logique [4, 2] = A). Il est clair que la réalisation de yA correspond à la sortie y4:
Et que la réalisation de ye correspond à la sortie y«
Bien entendu, les exemples décrits ci-dessus ne sont pas limitatifs et l'objet de linvention peut être mis en œuvre pour le deuxième mode de réalisation de manière similaire.
L'invention n'est pas limitée aux exemples décrits et représentés car diverses modifications peuvent y être apportées sans sortir de son cadre.

Claims

REVENDICATIONS
1 - Matrice interconnectée de cellules logiques reconfigurables réalisant au moins une fonction logique (F), reliées en externe à un réseau de liaison périphérique (5) équipé de boîtiers de commutation (6) et connecté à des blocs d'entrée / sortie programmables, caractérisé en ce que les cellules logiques [i, j] sont réparties selon une première dimension en lignes i avec i = 1 à d et une deuxième dimension en colonnes j avec j = 1 à w, avec d > 2 et w = 2 ou d = 2 et w > 2, chaque cellule logique comportant une première entrée (E1), une deuxième entrée (E2), une première sortie (S1) et une deuxième sortie (S2), la première entrée (S1) de chaque cellule logique et la première sortie (S1) de chaque cellule logique étant connectées au réseau de liaison (5), la deuxième entrée (E1) et la deuxième sortie (S2) de chaque cellule logique étant connectées à d'autres cellules logiques de colonne et de ligne différentes à l'exception des premières et dernières lignes ou colonnes pour d > 2 ou w > 2 respectivement, par une topologie d'interconnexion croisée entre les deux colonnes de la matrice pour w = 2 et entre les deux lignes de la matrice pour d = 2 et oscillante successivement selon un sens et selon un sens inverse, de sorte que la profondeur logique des fonctions logiques (F) soit comprise entre 1 et 2 x d ou entre 1 et 2 x w .
2 - Matrice interconnectée selon la revendication 1, caractérisée en ce qu'elle comporte pour un nombre (d) de lignes (î) avec d > 2 et un nombre (w) de colonnes égal à 2, la topologie d'interconnexion croisée telle que :
• pour les connexions internes :
* la deuxième entrée (E2) de chaque cellule logique de ligne paire [i, 1] où 2 < i < d et i = 2 K et K e N, est connectée à la deuxième sortie (S2) de la cellule logique [i + 1, 2] alors que la deuxième entrée (E2) de chaque cellule logique de ligne impaire [i, 1] où 3 < i < d et i = 2 K + l avec ε N, est connectée à la deuxième sortie (S2) de la cellule logique [i - 1, 2],
* la deuxième sortie (S2) de chaque cellule logique de ligne paire [i, 1] où 2 < i < d et i = 2 K et K e N, est connectée à la deuxième entrée (E2) de la cellule logique [i - 1, 2] tandis que la deuxième sortie (S2) de chaque cellule logique de ligne impaire [i, 1] où 3 < i < d et i = 2 K + l avec K e N est connecté à la deuxième entrée (E2) de cellule [i + 1, 2],
• pour les connexions de la première ligne :
* la deuxième entrée (E2) de la cellule logique [1, 1] étant connectée à la deuxième sortie (S2) de la cellule logique [1, 2] tandis que la deuxième sortie (S2) de la cellule [1, 1] est connectée à la deuxième entrée (E2) de la cellule [2, 2],
* la seconde entrée (E2) de la cellule logique [1, 2] étant connectée à la deuxième sortie (S2) de la cellule logique [2, 1],
• pour les connexions de la dernière ligne si d = 2 K avec
K e :
* la deuxième entrée (E2) de la cellule logique [d, 1] étant connectée à la deuxième sortie (S2) de la cellule logique [d, 2] alors que la deuxième sortie (S2) de la cellule logique [d,l] est connectée à la deuxième entrée (E2) de la cellule logique [d - 1, 2],
* la deuxième entrée (E2) de la cellule logique [d,2] étant connectée à la deuxième sortie (S2) de la cellule logique [d - 1, IL
· pour les connexions de la dernière ligne si d = 2 K + 1 avec K ε N :
* la deuxième entrée (E2) de la cellule logique [d, 1] est connectée à la deuxième sortie (S2) de la cellule logique [d - 1, 2] alors que la deuxième sortie (S2) de la cellule logique [d,l] est connectée à la deuxième entrée (E2) de la cellule logique [d,2], * la deuxième sortie (S2) de la cellule logique [d, 2] étant connectée à la deuxième entrée (E2) de la cellule logique [d - 1, 1]
3 - Matrice interconnectée selon la revendication 1, caractérisée en ce qu'elle comporte pour un nombre (d) de lignes (i) avec d=2 et un nombre (w) de colonnes (j) avec w > 2, la topologie d'interconnexion croisée telle que :
• pour les connexions internes :
* la deuxième entrée (E2) de chaque cellule logique de colonne paire [1, j] où 2 < j < w et j = 2 et K e N, est connectée à la deuxième sortie (S2) de la cellule logique [2, j -1] alors que la deuxième entrée (E2) de chaque cellule logique de colonne impaire [1, j] où 3 < j < d et j = 2 K + l avec K e N, est connectée à la deuxième sortie (S2) de la cellule logique [2, j + 1],
* la deuxième sortie (S2) de chaque cellule logique de colonne paire [1, j] où 2 < j < w et j = 2 K et K e N, est connectée à la deuxième entrée (E2) de la cellule logique [2, j + 1] tandis que la deuxième sortie (S2) de chaque cellule logique de colonne impaire [1, j] où 3 < j < w et j = 2 + l avec K e N est connecté à la deuxième entrée (E2) de cellule [2, j - 1],
• pour les connexions de la première colonne :
* la deuxième entrée (E2) de la cellule logique [1,1] étant connectée à la deuxième sortie (S2) de la cellule logique [2, 2] tandis que la deuxième sortie (S2) de la cellule [1,1] est connectée à la deuxième entrée (E2) de la cellule [2, 1],
* la deuxième sortie (S2) de la cellule logique [2,1] étant connectée à la deuxième entrée (E2) de la cellule logique [1, 2],
• pour les connexions de la dernière colonne si w = 2 K avec K e N :
* la deuxième entrée (E2) de la cellule logique [l,w] étant connectée à la deuxième sortie (S2) de la cellule logique [2, w - 1] alors que la deuxième sortie (S2) de la cellule logique [l,w] est connectée à la deuxième entrée (E2) de la cellule logique [2,w],
* la deuxième sortie (S2) de la cellule logique [2,w] étant connectée à la deuxième entrée (E2) de la cellule logique [1, w - 1],
• pour les connexions de la dernière colonne si w = 2 + 1 avec K e N :
* la deuxième entrée (E2) de la cellule logique [1, w] est connectée à la deuxième sortie (S2) de la cellule logique [2, w] alors que la deuxième sortie (S2) de la cellule logique [1, w] est connectée à la deuxième entrée (S2) de la cellule logique [2, w - 1],
* la deuxième entrée (E2) de la cellule logique [2, w] étant connectée à la deuxième sortie (S2) de la cellule logique [1, w -
!]
4 - Matrice interconnectée selon l'une des revendications 1 à
3, caractérisée en ce que chaque cellule logique réalise au moins une fonction logique prise parmi les fonctions négation, conjonction, disjonctions, NAND, NOR, XOR, XNOR, implication ou non-implication.
5 - Matrice interconnectée selon la revendication 4, caractérisée en ce que toutes les cellules logiques de la matrice sont identiques.
6 - Matrice interconnectée selon l'une des revendications 1 à 5, caractérisé en ce que le réseau de liaison (5) comporte d'une part deux côtés de liaison (51) avec les lignes (i) s'étendant ainsi de part et d'autre des première et dernière colonnes de la matrice et d'autre part, deux côtés de liaison (52) avec les colonnes (j) s'étendant ainsi de part et d'autre des première et dernière lignes (i) de la matrice.
7 - Matrice interconnectée selon la revendication 6 caractérisée en ce que pour d>2, la première entrée (E1) et la première sortie (S1) de chaque cellule logique appartenant à une même colonne, à l'exception des cellules logiques de la première ligne et de la dernière ligne, sont connectées au côté de liaison avec les lignes (51) voisin de ladite colonne tandis que pour w>2, la première entrée (E1) et la première sortie (S1) de chaque cellule logique appartenant à une même ligne, à l'exception des cellules logiques de la première colonne et de la dernière colonne, sont connectées au côté de liaison avec les colonnes (52) voisin de ladite ligne.
8 - Matrice interconnectée selon la revendication 7 caractérisée en ce que la première entrée (E1) et la première sortie (S1) de chaque cellule logique des première et dernière lignes pour d > 2 et des première et dernière colonnes pour w>2 sont connectées respectivement au côté de liaison avec les lignes (51) voisin et au côté de liaison avec les colonnes (52) voisin.
9 - Matrice interconnectée selon la revendication 1, caractérisée en ce que le réseau de liaison (5) est équipé de boîtiers de commutation (6).
10 - Circuit intégré caractérisé en ce qu'il comporte au moins une matrice interconnectée (1) conforme à l'une des revendications 1 à 9.
EP10805804A 2009-12-14 2010-12-14 Matrice interconnectee de cellules logiques reconfigurables avec une topologie d'interconnexion croisee Withdrawn EP2514096A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0958957A FR2954023B1 (fr) 2009-12-14 2009-12-14 Matrice interconnectee de cellules logiques reconfigurables avec une topologie d'interconnexion croisee
PCT/FR2010/052717 WO2011080452A1 (fr) 2009-12-14 2010-12-14 Matrice interconnectee de cellules logiques reconfigurables avec une topologie d'interconnexion croisee

Publications (1)

Publication Number Publication Date
EP2514096A1 true EP2514096A1 (fr) 2012-10-24

Family

ID=42942202

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10805804A Withdrawn EP2514096A1 (fr) 2009-12-14 2010-12-14 Matrice interconnectee de cellules logiques reconfigurables avec une topologie d'interconnexion croisee

Country Status (5)

Country Link
US (1) US8742789B2 (fr)
EP (1) EP2514096A1 (fr)
JP (1) JP2013514025A (fr)
FR (1) FR2954023B1 (fr)
WO (1) WO2011080452A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4235398A1 (fr) * 2022-02-25 2023-08-30 Universidade de Santiago de Compostela Processeur hyperdimensionnel à signaux mixtes

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5451887A (en) * 1986-09-19 1995-09-19 Actel Corporation Programmable logic module and architecture for field programmable gate array device
US5317209A (en) * 1991-08-29 1994-05-31 National Semiconductor Corporation Dynamic three-state bussing capability in a configurable logic array
US5208491A (en) * 1992-01-07 1993-05-04 Washington Research Foundation Field programmable gate array
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5543640A (en) * 1994-03-15 1996-08-06 National Semiconductor Corporation Logical three dimensional interconnections between integrated circuit chips using a two dimensional multi-chip module
US5581199A (en) * 1995-01-04 1996-12-03 Xilinx, Inc. Interconnect architecture for field programmable gate array using variable length conductors
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
US5825202A (en) * 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
US6097212A (en) * 1997-10-09 2000-08-01 Lattice Semiconductor Corporation Variable grain architecture for FPGA integrated circuits
JP3391374B2 (ja) 1998-12-25 2003-03-31 富士通株式会社 クロスポイントスイッチ回路および基本スイッチセル電子回路
US6184712B1 (en) * 1999-02-25 2001-02-06 Xilinx, Inc. FPGA configurable logic block with multi-purpose logic/memory circuit
US6864710B1 (en) * 1999-12-30 2005-03-08 Cypress Semiconductor Corp. Programmable logic device
JP4283220B2 (ja) * 2002-06-28 2009-06-24 エヌエックスピー ビー ヴィ ビルディングブロックを有する集積回路
US6930510B2 (en) * 2003-03-03 2005-08-16 Xilinx, Inc. FPGA architecture with mixed interconnect resources optimized for fast and low-power routing and methods of utilizing the same
US7068072B2 (en) * 2003-06-30 2006-06-27 Xilinx, Inc. Integrated circuit with interface tile for coupling to a stacked-die second integrated circuit
US7317331B2 (en) * 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US7605605B2 (en) * 2005-01-27 2009-10-20 Cswitch Corporation Programmable logic cells with local connections
US7253658B1 (en) * 2005-06-14 2007-08-07 Xilinx, Inc. Integrated circuit providing direct access to multi-directional interconnect lines in a general interconnect structure
US7477073B1 (en) * 2006-06-16 2009-01-13 Xilinx, Inc. Structures and methods for heterogeneous low power programmable logic device
FR2918823B1 (fr) * 2007-07-13 2009-10-16 Ecole Centrale De Lyon Etablis Cellule logique reconfigurable a base de transistors mosfet double grille
JP5260077B2 (ja) * 2008-02-15 2013-08-14 太陽誘電株式会社 プログラマブル論理デバイスおよびその構築方法およびその使用方法
US7948265B1 (en) * 2009-04-02 2011-05-24 Xilinx, Inc. Circuits for replicating self-timed logic
US8098081B1 (en) * 2010-06-21 2012-01-17 Xilinx, Inc. Optimization of interconnection networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2011080452A1 *

Also Published As

Publication number Publication date
FR2954023B1 (fr) 2012-02-10
JP2013514025A (ja) 2013-04-22
US8742789B2 (en) 2014-06-03
FR2954023A1 (fr) 2011-06-17
US20120326749A1 (en) 2012-12-27
WO2011080452A1 (fr) 2011-07-07

Similar Documents

Publication Publication Date Title
US6812738B1 (en) Vector routing in a programmable logic device
US6798239B2 (en) Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
FR3088767A1 (fr) Circuit memoire adapte a mettre en oeuvre des operations de calcul
US20050144215A1 (en) Applications of cascading DSP slices
WO2010068785A1 (fr) Mémoire en plans parallèles et couplage de processeur dans un système micro-architectural tridimensionnel
WO2005031493A2 (fr) Composant a architecture reconfigurable dynamiquement
CN1864332B (zh) 可配置的逻辑电路装置
WO2009013422A2 (fr) Cellule logique reconfigurable a base de transistors mosfet double grille
US10649731B2 (en) Integrated circuits with specialized processing blocks for performing floating-point fast fourier transforms and complex multiplication
Strukov et al. Reconfigurable hybrid CMOS/nanodevice circuits for image processing
EP2113836B1 (fr) Circuits d&#39;addition flexibles avec chaîne de report rapide
WO2011080452A1 (fr) Matrice interconnectee de cellules logiques reconfigurables avec une topologie d&#39;interconnexion croisee
Kianpour et al. A conventional design for CLB implementation of a FPGA in quantum-dot cellular automata (QCA)
FR2987710A1 (fr) Architecture de table de correspondance
EP1092268B1 (fr) Ressources d&#39;interconnexion et entree/sortie pour des dispositifs de circuit integre a logique programmable
Wang et al. Heterogeneous Two-Level logic and its density and fault tolerance implications in nanoscale fabrics
EP0439412B1 (fr) Sérialiseur/désérialiseur
Rahman et al. Memristor based 8-bit iterative full adder with space-time notation and sneak-path protection
US10715149B1 (en) Configurable logic block (CLB) internal routing architecture for enhanced local routing and clocking improvements
EP2363813B1 (fr) Puce électronique et circuit intégré comportant une telle puce électronique
JP2013514025A5 (fr)
AHMED et al. Quantum dot Cellular Automata based Fault Tolerant Fingerprint Authentication Systems using Reversible Logic Gates
EP0238528B1 (fr) Sequenceur d&#39;instructions pour microprocesseur a architecture en reseau
US7570505B2 (en) Memory based computation systems and methods for high performance and/or fast operations
US7605606B1 (en) Area efficient routing architectures for programmable logic devices

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20120528

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20140422

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20140903