Titel: Integrierter SchaltkreisTitle: Integrated circuit
Beschreibungdescription
Die vorliegende Erfindung betrifft einen integrierten Schaltkreis nach dem Oberbegriff des unabhängigen Anspruches. Damit befaßt sich die vorliegende Erfindung allgemein mit der Herstellung von digitalen und/oder analogen Halbleiterbauelementen und/oder optischen Bauelementen.The present invention relates to an integrated circuit according to the preamble of the independent claim. The present invention therefore deals generally with the production of digital and / or analog semiconductor components and / or optical components.
Aus der DE 44 16 881 C2, deren Offenbarungsgehalt durch Bezugnahme vollumfänglich eingegliedert ist, ist ein Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit programmier- und konfigurierbarer Zellstruktur bekannt. Die Datenverarbeitungsvorrichtung umfaßt eine Zellmatrix aus einer Vielzahl orthogonal zueinander angeordneter, homogen strukturierter Zellen, welche in ihrer Funktion und Vernetzung frei programmierbar sind. Es wird nicht angegeben, wie in der Praxis ein integrierter Baustein mit dieser Zellmatrix vorteilhaft hergestellt werden kann. Außerdem wird
nicht angegeben, wie die dargestellteFrom DE 44 16 881 C2, the disclosure content of which is fully incorporated by reference, a method for operating a data processing device with a programmable and configurable cell structure is known. The data processing device comprises a cell matrix made up of a multiplicity of orthogonally arranged, homogeneously structured cells, the function and networking of which are freely programmable. It is not specified how in practice an integrated module can advantageously be produced with this cell matrix. Besides, will not specified as shown
Datenverarbeitunseinrichtung auf einfache Weise für bestimmte Anwendungen angepaßt hergestellt werden kann.Data processing device can be manufactured in a simple manner adapted to certain applications.
Aus „Principles of CMOS VLSI Design von N.H. Weste und K. Eshraghian, Addison-Wesley, 2. Auflage 1993, Kapitel 8, Abschnitt 8.4.2.1 ist ein Blocklayout, d.h. ein Floorplan eines generischen, d.h. an bestimmte Anwendungen anpaßbaren PLA bekannt. Dabei wird eine Abbildung gezeigt, bei welcher eine Reihe von Zellen für unterschiedliche logische Funktionen nebeneinander angeordnet sind. Es wird weiter in Fig. 8.80 des Dokumentes eine physikalische Implementierung für einen PLA gezeigt, bei welcher zwei unterschiedliche logische Funktionsblöcke mit unterschiedlich herangeführten Anschlüssen vorgesehen sind. Auch hier ist somit nicht angegeben, wie in der Praxis ein integrierter Baustein besonders vorteilhaft hergestellt werden kann.From “Principles of CMOS VLSI Design by N.H. Weste and K. Eshraghian, Addison-Wesley, 2nd edition 1993, chapter 8, section 8.4.2.1 is a block layout, i.e. a floor plan of a generic, i.e. known PLA adaptable to certain applications. An illustration is shown in which a row of cells for different logical functions are arranged side by side. Also shown in Fig. 8.80 of the document is a physical implementation for a PLA, in which two different logic function blocks are provided with different connections. Here, too, it is not specified how an integrated module can be produced particularly advantageously in practice.
Es ist wünschenswert, integrierte Schaltkreise, insbesondere hochkomplexe wie jene der in der DE 44 16 881 C2 beschriebenen Art, FPGAs, Mehrprozessorsysteme, Speicher o.ä. auf einfache Weise physikalisch implementieren und anpassen zu können.It is desirable to use integrated circuits, in particular highly complex ones such as those of the type described in DE 44 16 881 C2, FPGAs, multiprocessor systems, memories or the like. to be able to implement and adapt physically in a simple manner.
Die Aufgabe der Erfindung besteht darin, Neues für die gewerbliche Anwendung bereitzustellen.The object of the invention is to provide something new for commercial use.
Die Lösung dieser Aufgabe wird unabhängig beansprucht. Bevorzugte Ausführungsformen finden sich in den Unteransprüchen .The solution to this problem is claimed independently. Preferred embodiments can be found in the subclaims.
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird somit vorgeschlagen, daß bei einem integrierten Schaltkreis
mit mehreren, einander benachbarten Zellen, wobei wenigstens zwei Arten von Zellen vorgesehen sind, welche Anschlüsse aufweisen, vorgesehen ist, daß die Zellen eine zur Integration einer Vielzahl logischer Elemente ausreichende Größe aufweisen, wobei zumindest an einigen der Zellen zumindest ein logisches Element programmierbar ist und die Anschlüsse an zumindest im wesentlichen übereinstimmenden Positionen der Zelle vorgesehen sind, um so eine willkürliche, d.h. sich nicht streng regulär über den Baustein wiederholende Zellartendurchmischung bei der benachbarten Anordnung der Zellen zu erlauben.According to a first aspect of the present invention it is thus proposed that an integrated circuit with a plurality of cells which are adjacent to one another, at least two types of cells having connections being provided, the cells being of a size which is sufficient for integrating a multiplicity of logic elements, at least one logic element being programmable on at least some of the cells and the connections are provided at at least substantially identical positions of the cell, in order to allow an arbitrary, ie not strictly regular, repetition of the cell types in the adjacent arrangement of the cells.
Ein erster wesentlicher Gedanke der Erfindung besteht demnach darin, daß ein integrierter hochkomplexer Schaltkreis, auf dem eine Vielzahl von unterschiedlichen logischen Funktionen realisiert ist, ohne weiteres hergestellt werden kann, indem darauf Zellblöcke definiert werden, die im Zeilbereichsinneren programmierbare logische Elemente aufweisen und nach außen hin übereinstimmend angeordnete Anschlüsse aufweisen. Dabei wurde erkannt, daß es allein dadurch, daß zwischen Bereichen für die Realisierung bestimmter Funktionen auf vorbestimmmte Weise Leiterbahnen ohne eigentliche Funktion in Form von Anschlußleitungen vorgesehen werden, die Anzahl der beim Chipentwurf zu berücksichtigenden Objekte also erhöht wird, möglich wird, verschiedene Zelltypen an beliebigen Stellen auf dem integrierten Schaltkreis anzuordnen, ohne daß der vollständige Schaltkreis von Grund auf neu entworfen werden muß .A first essential idea of the invention is therefore that an integrated, highly complex circuit, on which a multiplicity of different logic functions is implemented, can be easily produced by defining cell blocks thereon which have programmable logic elements inside the cell area and on the outside have matching ports. It was recognized that it is only possible to provide different cell types to any number of areas for the implementation of certain functions in a predetermined manner, in that way there are conductor tracks without actual function in the form of connecting lines, that is to say the number of objects to be taken into account when designing the chip is increased To be placed on the integrated circuit without having to redesign the entire circuit from scratch.
Bei dem integrierter Schaltkreis kann mit wenigstens einer der Zellarten wenigstens ein Speicher-, Floating-Point- Rechenwerk-, Integer-Rechenwerk-, Addierer-, Multiplizierer-,
Verschlüsselungswerk-, Verbindungs-, Ein- und/oder Ausgabemittel realisiert sein. Bei dem Verschlüsselungs- bzw. Kryptographiewerk kann es sich beispielsweise um eine Schaltungsstruktur handeln, die fest oder programmierbar die Bits eines Datenwortes gegeneinander vertauscht, um eine Ver- oder Entschlüsselung vorzunehmen. Bei einem Verbindungsmittel kann vorgesehen sein, daß zugeführte Signale ohne irgendeine Veränderung auf einer gegenüberliegenden Zellseite herausgeführt werden; es sind dazu im Zellinneren z.B. ausschließlich durchgehende Leiterbahnen vorgesehen. Wenn Speichermittel vorgesehen werden, kann es sich um einen RAM-, ROM-, PROM-, EEPROM-Speicher und/oder Kombinationen vorgenannter Speichertypen handeln. Die Ein- und/oder Ausgabemittel können bei integrierten Schaltkreisen für die Computertechnik zur Kommunikation mit einem Modemanschluß, einem Netzwerkanschluß, einem Speichermittel und/oder mit einem Peripheriegeräteanschluß wie einer Maus, einem Drucker, einer Anzeige usw. dienen.In the integrated circuit, at least one memory, floating point arithmetic unit, integer arithmetic unit, adder, multiplier, Encryption, connection, input and / or output means can be implemented. The encryption or cryptography work can be, for example, a circuit structure which, in a fixed or programmable manner, exchanges the bits of a data word with one another in order to carry out encryption or decryption. In the case of a connecting means, it can be provided that supplied signals are led out on an opposite cell side without any change; For this purpose, for example, only continuous conductor tracks are provided in the cell interior. If memory means are provided, it can be a RAM, ROM, PROM, EEPROM memory and / or combinations of the aforementioned types of memory. In the case of integrated circuits for computer technology, the input and / or output means can be used for communication with a modem connection, a network connection, a storage means and / or with a peripheral device connection such as a mouse, a printer, a display, etc.
Es wird vorgeschlagen ein universelles Verdrahtungssytem einzuführen, das für den gesamten integrierten Schaltkreis zeilübergreifend definiert ist. Das Verdrahtungssystem ist dabei derart ausgestaltet, daß eine maximale Anzahl von möglichen Ressourcen derart unterstützt wird, daß auch die ungünstigste Kombination von Zellen, die den maximalen Ressourcenaufwand erfordert, einwandfrei kombiniert werden kann. Das kann zu Leitungen und Anschlüssen innerhalb einer Zelle oder eines nachfolgend beschriebenen Streifens führen, die innerhalb einer bestimmten Zelle nicht verwendet werden aber jedoch von anderen Zellen benutzt sind. Im Folgenden sollen einige wesentlichen Details nähers beschrieben werden:
Unbenutzte Eingänge, sind Signale die entsprechend des universell definierten Verdrahtungssystems als Eingang vorgesehen sind, jedoch innerhalb einer spezifischen Zelle nicht verwendet werden. Diese werden entweder nicht weiter berücksichtigt und somit nicht verdrahtet oder auf einen festen definierten Wert gelegt.It is proposed to introduce a universal wiring system that is defined across lines for the entire integrated circuit. The wiring system is designed in such a way that a maximum number of possible resources is supported in such a way that even the most unfavorable combination of cells, which requires the maximum resource expenditure, can be combined perfectly. This can result in leads and connections within a cell or strip described below that are not used within a particular cell but are used by other cells. Some essential details are described below: Unused inputs are signals that are intended as inputs according to the universally defined wiring system, but are not used within a specific cell. These are either no longer taken into account and are therefore not wired or set to a fixed, defined value.
Unbenutzte Ausgänge, sind Signale die entsprechend des universell definierten Verdrahtungssystems als Ausgang vorgesehen sind, jedoch innerhalb einer spezifischen Zelle nicht verwendet werden. Diese werden entweder mit einem dem Verdrahtungssytem entsprechenden Eingang derselben Zelle verschaltet oder in geeigneter Weise nach dem Stand der Technik terminiert.Unused outputs are signals that are intended as outputs according to the universally defined wiring system, but are not used within a specific cell. These are either connected to an input of the same cell corresponding to the wiring system or terminated in a suitable manner according to the prior art.
Es soll ausdrücklich darauf hingewiesen werden, daß Leitungen, die durch eine Zelle geführt werden, egal ob von der Zelle benutzt oder unbenutzt, durchaus mit einem Verstärker (Buffer) zu Verbesserung der Signalqualität und/oder Laufzeit und/oder Registern zur zeitlichen Entkopplung und/oder weiterer Logik entsprechend der jeweiligen Schaltung versehen werden können.It should be expressly pointed out that lines which are routed through a cell, regardless of whether they are used or not used by the cell, definitely have an amplifier (buffer) to improve the signal quality and / or transit time and / or registers for temporal decoupling and / or other logic can be provided according to the respective circuit.
Bevorzugt werden die Zellen für die Integration von einer entsprechend der jeweils nach den Stand der Technik sinnvolle Anzahl von logischen Elementen, insbesondere Gattern dimensioniert sein. Dies stellt sicher, daß der zusätzliche Platzaufwand für das Vorsehen von Verbindungsleitungen der Zellen sich nicht wesentlich nachteilig auswirkt und zugleich stark unterschiedliche Zellfunktionen realsierbar sind. Es ist insbesondere möglich, wenigstens zwei verschiedene Zellarten vorzusehen, die eine entsprechend dem jeweils nach
den Stand der Technik sinnvolle Anzahl von logischen Gatteräquivalenten umfaßt. Hierbei sei erwähnt, daß einleuchtenderweise mehr als zwei unterschiedliche Zellarten auf einem einheitlich gefertigten, durchgehenden Substrat, auf welchem der integrierten Schaltkreis gebildet ist, angeordnet werden können.The cells for the integration will preferably be dimensioned by a number of logic elements, in particular gates, which is appropriate according to the prior art. This ensures that the additional space required for the provision of connecting lines for the cells does not have a substantially disadvantageous effect and, at the same time, that very different cell functions can be implemented. In particular, it is possible to provide at least two different cell types, each one according to the the prior art includes a reasonable number of logical gate equivalents. It should be mentioned here that, of course, more than two different cell types can be arranged on a uniformly manufactured, continuous substrate on which the integrated circuit is formed.
Die Zellen können bevorzugt so bemaßt sein, daß wenigstens eine Kantenlänge der Zellen wenigstens das 500fache, bevorzugt wenigstens das lOOOfache der den Herstellungsprozeß charakterisierenden Gatelänge beträgt. Bei einem Herstellungsprozeß, mit welchem 0,25 μm-Strukturen herstellbar sind, kann also eine Zellkante zumindest eine Länge von 125μm aufweisen. Bevorzugt ist, wenn beide Kanten der Zelle eine bestimmte Mindestgröße nicht unterschreiten. Dazu können wenigstens zwei Kantenlängen der Zellen wenigstens das 200fache, bevorzugt wenigstens das 500fache der den Herstellungsprozeß charakterisierenden Gatelänge betragen.The cells can preferably be dimensioned such that at least one edge length of the cells is at least 500 times, preferably at least 100 times the gate length that characterizes the manufacturing process. In a manufacturing process with which 0.25 μm structures can be produced, a cell edge can therefore have at least a length of 125 μm. It is preferred if both edges of the cell do not fall below a certain minimum size. For this purpose, at least two edge lengths of the cells can be at least 200 times, preferably at least 500 times, the gate length that characterizes the manufacturing process.
Bevorzugt ist es, wenn die Zellen verschiedener Arten zumindest im wesentlichen identische Größen aufweisen, also allenfalls nichtsignifikante Größenabweichungen besitzen. Dadurch ergibt sich der Vorteil, daß die Zellen einfach aneinander anreihbar sind. Geringfügige Größenunterschiede lassen sich beispielsweise derart durch das nachträgliche Vergößern von Zellen ausgleichen, daß sämtliche Zellen der größten verwendeten entsprechen, wobei die peripheren Anschlüsse der Zellen, um die Vergrößerung verlängert werden.It is preferred if the cells of different types have at least substantially identical sizes, that is to say they have at most insignificant size deviations. This has the advantage that the cells can be easily strung together. Minor size differences can be compensated for, for example, by subsequently enlarging the cells in such a way that all cells correspond to the largest ones used, the peripheral connections of the cells being extended by the enlargement.
Es ergibt sich ein einheitliches Zellformat mit einem weitgehend einheitlichen Busformat, bzw. Anschlußformat und Position der peripheren Anschlüsse, sodaß eine jede beliebige
Zelle geometrisch durch eine beliebig andere ersetzt werden kann, ohne beispielsweise einen geometrischen Fehler und/oder Layoutfehler und/oder offene Leitungen und/oder kurzgeschlossene Leitungen zu erzeugen. Dabei sollte nach Möglichkeit jede beliebige definierte Kombination von beliebigen Zellen zu einer funktionsfähigen Schaltung beliebiger definierter Funktion führen.The result is a uniform cell format with a largely uniform bus format, or connection format and position of the peripheral connections, so that any one Geometrically, the cell can be replaced by any other one without, for example, generating a geometric error and / or layout error and / or open lines and / or short-circuited lines. If possible, any defined combination of any cells should lead to a functional circuit of any defined function.
Weiterhin wird vorgeschlagen ein Zellraster vorzusehen, in welches sämtliche Zellen passen (RCEL) . Derart können nunmehr größere Zellen (XCEL) verwendet werden, indem deren Größe ein Vielfaches des Zellrasters beträgt, wobei die jeweiligen Busstrukturen und peripheren Anschlüsse im Zellraster definiert sind und auch von den XCEL eingehalten werden. Unbenutzte Verbindungen werden dabei neutral, also ohne Abzweigung durch die XCEL durchgeführt.It is also proposed to provide a cell grid in which all cells fit (RCEL). In this way, larger cells (XCEL) can now be used, in that their size is a multiple of the cell grid, the respective bus structures and peripheral connections being defined in the cell grid and also being complied with by the XCEL. Unused connections are made neutral, i.e. without branching through the XCEL.
Weiterhin wird vorgeschlagen Streifen zwischen den Zellen (RCEL und/oder XCEL und/oder normalen Zellen) vorzusehen, die eine geringe, vorzugsweise minimale Ausdehnung aufweisen. Diese Streifen können zum Adaptieren von Leitungen und Bussen zwischen den Zellen, sowie derer spezifischer Anpassung verwendet werden, wodurch sich eine höhere Flexibilität der Schaltung ergibt. Die Vorzüge des beschriebenen Verfahrens bleiben dabei vollständig erhalten, indem üblicherweise vordefinierte und vorverdrahtete Streifen verwendet werden, die jedoch im einzelnen Sonderfall per Position einfach modifiziert werden können. Alternativ können diese Streifen zu Beginn Undefiniert und insbesondere leer sein, sodaß diese effizient durch einen Router nach dem Stand der Technik nach Positionierung der Zellen und Streifen derart geroutet werden können, daß sich eine sinnvolle fehlerfreie und definitionsgemäße Verbindung zwischen den Zellen ergibt.
Durch die vorgeschlagene Struktur und Anordnung von Zellen ist insbesonders ein lokales Routing der Streifen, ohne Interaktion zwischen mehreren Streifen, möglich. Hierdurch wird der Routing- und Test-Aufwand, sowie die dazu benötigte Zeit, erheblich reduziert.Furthermore, it is proposed to provide strips between the cells (RCEL and / or XCEL and / or normal cells) that have a small, preferably minimal, extent. These strips can be used to adapt lines and buses between the cells, as well as their specific adaptation, which results in a higher flexibility of the circuit. The advantages of the described method are completely retained in that usually pre-defined and pre-wired strips are used, which, however, can be easily modified by position in the individual special case. Alternatively, these strips can initially be undefined and in particular empty, so that they can be routed efficiently by a router according to the prior art after the cells and strips have been positioned in such a way that there is a meaningful error-free and defined connection between the cells. The proposed structure and arrangement of cells in particular enables local routing of the strips without interaction between several strips. This considerably reduces the routing and testing effort, as well as the time required for this.
Die Anschlüsse werden bevorzugt zumindest einen der Anschlüsse Versorgungsspannung und/oder Masse, und/oder zumindest eine Zell-Ein- und/oder Ausgabeleitung umfassen, wobei es insbesondere möglich ist, daß die Zell-Ein- und/oder Ausgabeleitung einen Teil eines Ein- und/oder Ausgabebusses darstellt und/oder eine Taktleitung umfaßt. In diesem Fall werden die für jeweilige Bits vorgesehen Zu- und/oder Ableitungen an jeweils hinreichend korrespondierenden Stellen längs der Zellwand angeordnet sein. Dies ermöglicht es, daß zwei oder mehr voneinander unabhängige Busse an die Zelle herangeführt werden und/oder durch diese hindurch laufen, ohne daß Signaltransferprobleme relevant werden.The connections will preferably comprise at least one of the connections supply voltage and / or ground, and / or at least one cell input and / or output line, it being possible in particular for the cell input and / or output line to form part of an input and / or output bus and / or includes a clock line. In this case, the inlets and / or outlets provided for the respective bits will be arranged at sufficiently corresponding locations along the cell wall. This enables two or more independent busses to be brought to and / or pass through the cell without signal transfer problems becoming relevant.
Es ist bevorzugt, zumindest einige der Zellanschlüsse am Zellrand anzuordnen. Dies erlaubt eine kachelartige Nebeneinanderordnung der Bauelemente, was herstellungstechnisch günstig ist. Die kachelartige Nebeneinanderordnung wird bevorzugt ohne Überlappung der Einzelelemente erreicht, was das Layout weiter vereinfacht. Die Anschlüsse sind dabei vollständig bis zum Rand geführt, so daß auf der Maske Anschlüsse benachbarter Zellen aneinander stoßen und im integrierten Schaltkreis ineinander übergehen.It is preferred to arrange at least some of the cell connections on the cell edge. This allows a tiling-like juxtaposition of the components, which is favorable from a manufacturing point of view. The tile-like juxtaposition is preferably achieved without overlapping the individual elements, which further simplifies the layout. The connections are guided completely to the edge, so that connections of adjacent cells abut one another on the mask and merge into one another in the integrated circuit.
Alternativ und/oder zusätzlich können zumindest einige der Zellanschlüsse auf der Zellober- und/oder Unterseite
angeordnet sein. Dies erlaubt es, zumindest zwei Lagen Zellen übereinander vorzusehen. Bei einer Zellstruktur gemäß DE 44 16 881 können insbesondere die Rechenwerke wie Multiplizierer, Addierer usw. in einer ersten Lage und die damit verbundenen Steuerautomaten, d.h. Statemachines, in der zweiten Lage angeordnet werden.Alternatively and / or additionally, at least some of the cell connections can be on the top and / or bottom of the cell be arranged. This allows at least two layers of cells to be provided one above the other. In the case of a cell structure according to DE 44 16 881, in particular the arithmetic units such as multipliers, adders, etc. can be arranged in a first position and the control machines connected therewith, ie state machines, in the second position.
Die Zellen des integrierten Schaltkreises können jeweils einzeln den Designtools verarbeitet werden. Insbesondere die Layout-Funktionen „plazieren" und „routen" sind je Zelle durchführbar, wobei jeweils nur eine einzige Zelle je Gattung bearbeitet werden muß, selbst dann, wenn diese Zelle mehrfach auf dem integrierten Schaltkreis vorhanden ist. Selbiges gilt für sämtliche weiteren Funktionen, sowie insbesondere auch für geometrische und elektrische Überprüfungen, sowie Simulationen und Characterisierungen. Die Ergebnisse der einzelnen Arbeitsschritte werden für jede Zelle gespeichert.The cells of the integrated circuit can each be processed individually using the design tools. In particular, the "place" and "route" layout functions can be carried out for each cell, only one cell per type having to be processed, even if this cell is present several times on the integrated circuit. The same applies to all other functions, and in particular also to geometric and electrical checks, as well as simulations and characterizations. The results of the individual work steps are saved for each cell.
Durch dieses Vorgehen ist der Designaufwand und die Designzeit erheblich minimiert.This procedure considerably reduces the design effort and time.
Nach dem Zusammenfügen der Zellen müssen gegebenenfalls nur noch Strukturen außerhalb der Zellen bearbeitet werden. Für Prüfungen sind nur noch die Zellränder und/oder - Überlappungen zu berücksichtigen.After the cells have been merged, only structures outside of the cells may have to be processed. Only the cell borders and / or overlaps have to be taken into account for tests.
Für die Simulation, Überprüfung, Characterisierung und weiterer Arbeitsschritte zur Fertigstellung des gesamten integrierten Schaltkreises werden die vorher gespeicherten Daten der einzelnen Zellen jeweils als Vorgaben in die jeweiligen Routinen einbezogen, sodaß eine erneute Bearbeitung der Zellen entfallen kann. Insbesondere, da
mehrfach vorkommende identische Zellen nur einmal vorher bearbeitet wurden, sinkt der Aufwand erheblich.For the simulation, checking, characterization and further work steps to complete the entire integrated circuit, the previously stored data of the individual cells are included in the respective routines as specifications, so that reprocessing of the cells can be omitted. Especially since duplicate identical cells have only been processed once before, the effort is significantly reduced.
Die Erfindung wird im folgenden nur beispielsweise anhand der Zeichnung erläutert. In dieser zeigt:The invention is explained below only by way of example with reference to the drawing. In this shows:
Fig. 1 einen integrierten Schaltkreis der vorliegendenFig. 1 shows an integrated circuit of the present
Erfindung; Fig. 2 einen Ausschnitt aus dem integrierten Schaltkreis mit einer einzelnen Zellen; Fig. 3 verschiedene Zellen des erfindungsgemäßen integrierten Schaltkreises mit jeweiligen logischen Elementen; Fig. 4 Anordnung von Zellen mit Streifen zur Verbindung; Fig. 5 Mögliche Funktionen eines Streifens; Fig. 6 Mögliche Verbindungsstrukturen innerhalb einerInvention; 2 shows a section of the integrated circuit with a single cell; 3 different cells of the integrated circuit according to the invention with respective logic elements; Fig. 4 arrangement of cells with strips for connection; 5 shows possible functions of a strip; Fig. 6 Possible connection structures within one
Zelle; Fig. 7 Designflow innerhalb eines Designtools; Fig. 8 Zellraster mit verschiedenen Zellgrößen.Cell; 7 design flow within a design tool; Fig. 8 cell grid with different cell sizes.
Nach Fig. 1 umfaßt ein allgemein mit 1 bezeichneter integrierter Schaltkreis 1 eine Reihe unterschiedlicher Arten von Zellen 2a-2e mit jeweiligen logischen Elementen 3a-3e. Die einzelnen Zellen sind voneinander abgegrenzt, wie durch Grenzlinien 4 veranschaulicht. An den Zellen sind Anschlüsse 5a-5d vorgesehen, die die Zellen 2a-2e über die Grenzlinien hinweg mit den jeweiligen Nachbarzellen bzw. nach außen verbinden.1, an integrated circuit 1, generally designated 1, comprises a number of different types of cells 2a-2e with respective logic elements 3a-3e. The individual cells are delimited from one another, as illustrated by boundary lines 4. Connections 5a-5d are provided on the cells, which connect cells 2a-2e across the border lines to the respective neighboring cells or to the outside.
Bei den Zellen 2a handelt es sich um Speicherzellen 2a, die für die wahlfreie Speicherung von Daten, d.h. für Lese- und/oder Schreiboperationen ausgelegt sind. Bei der Zelle 2b handelt es sich um eine I/O-Zelle 2b, d.h. um eine Eingabe-
Ausgabe-Einheit-Zelle 2b. Die I/O-Zelle 2b ist dazu ausgebildet, eine Ein- und/oder Ausgabe zu einem oder mehreren Peripheriegeräten wie einer Maus, einem Trackball, einem Touchpad, einem Drucker, einem Modem, einer Kamera, einem Anzeigegerät und/oder einer Grafikkarte vorzusehen. Bei den Zellen 2c handelt es sich um Floating-Point-Unit-Zellen 2c, d.h. Gleitkomma-Einheit-Zellen 2c, die dazu ausgebildet sind, Gleitkomma-Rechenoperationen auf Daten durchzuführen, die Gleitkomma-Zahlen repräsentieren. Bei den Zellen 2d handelt es sich um Rechenwerk-Zellen 2d, die dazu ausgelegt sind, logische Operationen sowie arithmetische Operationen auf Daten durchzuführen, die logische Operanden bzw. ganze Zahlen repräsentieren. Bei den Zellen 2e handelt es sich um multiplizierende Zellen 2e, die Zahlen repräsentierende Daten multiplikativ miteinander verknüpfen.The cells 2a are memory cells 2a which are designed for the optional storage of data, ie for reading and / or writing operations. Cell 2b is an I / O cell 2b, ie an input Output unit cell 2b. The I / O cell 2b is designed to provide input and / or output to one or more peripheral devices such as a mouse, a trackball, a touchpad, a printer, a modem, a camera, a display device and / or a graphics card , The cells 2c are floating point unit cells 2c, ie floating point unit cells 2c, which are designed to carry out floating point arithmetic operations on data which represent floating point numbers. The cells 2d are arithmetic unit cells 2d which are designed to perform logical operations and arithmetic operations on data which represent logical operands or integers. The cells 2e are multiplying cells 2e which multiply link data representing numbers.
Jede der Zellen 2a bis 2e ist aus einer Vielzahl von Gattern (nicht gezeigt) in per se bekannter Weise aufgebaut. Diese Gatter bilden die logischen Elemente 3a-3e der Zellen. Von den Gattern sind zumindest einige in jeder Zelle während der Laufzeit programmierbar, um eine jeweils erforderliche Aufgabe mit der Zelle ausführen zu können.Each of the cells 2a to 2e is composed of a plurality of gates (not shown) in a manner known per se. These gates form the logic elements 3a-3e of the cells. At least some of the gates are programmable in each cell during runtime in order to be able to perform a required task with the cell.
Die Grenzlinien 4 zwischen den Zellen müssen nicht durch eine reale Struktur implementiert sein. Vielmehr können sie durch einen zwischen den eng beieinander liegenden Gattern und anderen Bestandteilen der Zellen 2a bis 2e angeordneten und nur von den Leitungen der Anschlüsse 5 durchquerten Freiraum definiert sein, der bei einem guten Entwurf eine allenfalls geringe Ausdehnung besitzt. Dabei können die gegebenenfalls nur gedachten Grenzlinien 4 so angeordnet werden, daß die einzelnen Zellen 2a bis 2e zumindest im wesentlichen identische Größen besitzen. Die Grenzlinien 4 bilden dabei
ein die jeweilige Zelle 2 umschreibendes Viereck 6, welches Seiten 4a-4d aufweist, vgl. Fig. 2.The boundary lines 4 between the cells do not have to be implemented by a real structure. Rather, they can be defined by a space which is arranged between the closely spaced gates and other components of the cells 2a to 2e and which is only crossed by the lines of the connections 5 and which, in the case of a good design, has at most little expansion. The possibly only imaginary boundary lines 4 can be arranged so that the individual cells 2a to 2e have at least substantially identical sizes. The boundary lines 4 form a rectangle 6 circumscribing the respective cell 2, which has sides 4a-4d, cf. Fig. 2.
Nach den Fig. 2 und 3 sind an jeder der Seiten 4a bis 4d Anschlüsse 5a-5d vorgesehen, die die Zellen 2a-2e an mit den jeweiligen Nachbarzellen verbinden bzw. vom integrierten Schaltkreis nach außen führen und/oder an den Außenseiten der Außenzellen des integrierten Schaltkreises 1 auf geeignete Weise abgeschlossen sind.According to FIGS. 2 and 3, connections 5a-5d are provided on each of the sides 4a to 4d, which connect the cells 2a-2e to the respective neighboring cells or lead to the outside from the integrated circuit and / or on the outer sides of the outer cells of the integrated circuit 1 are completed in a suitable manner.
Anschluß 5a stellt einen aus Eingangsleitungen 7a und Ausgangsleitungen 7b bestehenden Busanschluß 5a dar. Anschluß 5c stellt einen aus Eingangsleitungen 8b und Ausgangsleitungen 8a bestehenden Busanschluß 5c dar. Im Inneren der Zelle 2d sind Schalter vorgesehen, um wahlweise Daten von den Eingangsleitungen 7a des Busanschlusses 5a zu den Ausgangsleitungen 8a des Busanschlusses 5c zu übertragen und/oder andere Daten mit gleichem Datenformat an die Ausgangsleitungen 8a zu übertragen. Es ist somit ein interner Bus 9 vorgesehen. Die Eingangsleitungen 7a und die Ausgangsleitungen 8a sind bis unmittelbar an den durch die Grenzlinie 4a bzw 4c definierten Zellrand geführt. Die Eingangsleitungen 7a liegen dabei zugleich so genau gegenüber den jeweiligen Ausgangsleitungen 8a, daß beiConnection 5a represents a bus connection 5a consisting of input lines 7a and output lines 7b. Connection 5c represents a bus connection 5c consisting of input lines 8b and output lines 8a. Switches are provided in the interior of cell 2d to selectively supply data from the input lines 7a of bus connection 5a to transmit the output lines 8a of the bus connection 5c and / or to transmit other data with the same data format to the output lines 8a. An internal bus 9 is thus provided. The input lines 7a and the output lines 8a are led directly to the cell edge defined by the boundary line 4a or 4c. The input lines 7a are so exactly opposite the respective output lines 8a that at
Nebeneinanderanordnung zweier Zellen Ausgangsleitungen 8a der ersten Zelle mit Eingangsleitungen 7a der zweiten Zelle in elektrisch leitender Verbindung stehen.Side-by-side arrangement of two cells, output lines 8a of the first cell are in electrically conductive connection with input lines 7a of the second cell.
In entsprechender Weise sind am Anschluß 5a noch Ausgangsleitungen 7b vorgesehen, die mit Eingangsleitungen 8b des Anschlusses 5c korrespondieren wie zuvor für das Ein/Ausgangsleitungspaar 7a, 8a erläutert. Weiter korrespondieren die an der Seite 4b vorgesehenen Ein- und Ausgangsleitungen
des Anschlußes 5b mit Ausgangs- und Eingangsleitungen des Anschlusses 5d der Seite 4d.In a corresponding manner, output lines 7b are also provided at connection 5a, which correspond to input lines 8b of connection 5c, as previously explained for the input / output line pair 7a, 8a. The input and output lines provided on page 4b also correspond of connection 5b with output and input lines of connection 5d of side 4d.
Im Inneren der Zelle 2d sind ein Rechenwerk 10 für die Verknüpfung von auf den Eingangsleitungen der Anschlüsse 5 einlaufenden Daten sowie ein zugehöriger Steuerautomat 11 und eine Reihe interner Verbindungen 12a bis 12c zwischen diesen untereinander und zur Verbindung derselben mit dem Bus 9 in per se bekannter Weise vorgesehen.Inside the cell 2d are an arithmetic unit 10 for linking data arriving on the input lines of the connections 5 as well as an associated automatic control unit 11 and a series of internal connections 12a to 12c between them and for connecting them to the bus 9 in a manner known per se intended.
Nach Fig. 3 weisen die Zellen 2a bis 2e der verschiedenen Zellarten identische Größen auf wie durch die identische Größe der die Zelle umschreibenden Grenzlinien 4 veranschaulicht. Die Anschlussleitungen 5 aller Zellen 2a bis 2e sind jeweils bis an die Zellgrenze 4 herangeführrt, wo sie an den jeweils gleichen Positionen liegen. Die interne Verbindungen zwischen den Anschlüssen 5 an einer Zelle 2 untereinander und zu den in der Zelle vorgesehenen logischen Elementen kann dabei von Zelle zu Zelle variieren.According to FIG. 3, the cells 2a to 2e of the different cell types have identical sizes as illustrated by the identical size of the boundary lines 4 circumscribing the cell. The connecting lines 5 of all cells 2a to 2e are each brought up to the cell boundary 4, where they are located in the same positions. The internal connections between the connections 5 to a cell 2 with each other and to the logical elements provided in the cell can vary from cell to cell.
Fig. 4 zeigt eine Anordnung von Zellen (0401), die durch Streifen (0402) miteinander verbunden sind. Die Streifen sind beispielsweise für folgende Funktionen verwendbar:Fig. 4 shows an arrangement of cells (0401) which are connected to one another by strips (0402). The strips can be used for the following functions, for example:
• Individuelle Verdrahtung von Zellen untereinander• Individual wiring of cells with each other
• Terminierung von Leitungen• Termination of lines
• Definieren von offenen Eingängen• Define open inputs
• Einstellen von Konstanten• Setting constants
• Ausgleichen von unterschiedlichen Zellgrößen• Compensation of different cell sizes
Figur 5 zeigt einige Verdrahtungs-Beispiele für Streifen (0503) . 0501 und 0502 stellen zwei Zellen dar, die gleich oder unterschiedlich sein können. Mehrere Ausgänge von 0501 werden als Bus direkt an 0502 weitergeleitet (0504) . Bei 0505
wird ein Ausgang an mehrere Eingänge verdrahtet. Es soll explizit angemerkt sein, daß in diesem Fall auch Ausgang und/oder Eingänge einzeln oder gemeinsam als bidirektionale Leitungen ausgestaltet sein können. 0506 zeigt eine einfache Verdrahtung, bei der die Leitung nicht direkt verdrahtet ist, sondern von einer Position bei 0501 zu einer anderen Position bei 0502 führt. 0508 zeigt einen über einen Widerstand nach H-Pegel terminierten Ausgang. 0509 zeigt eine offen bidirektionale Leitung. Ein mit H-Pegel definierter Eingang ist mit 0510 dargestellt. 0507 zeigt zwei gedrehte Signale, die zudem an andere Positionen geleitet werden. 0512 zeigt einen mit L-Pegel definierten Eingang. 0513 zeigt eine über einen Widerstand mit L-Pegel definierte bidirektionale Leitung. 0511 zeigt einen offenen Eingang. Es soll angeführt werden, daß auch andere als die beispielhaft dargestellten Verdrahtungsarten und Kombinationen möglich sind.Figure 5 shows some wiring examples for strips (0503). 0501 and 0502 represent two cells that can be the same or different. Several outputs from 0501 are forwarded as a bus directly to 0502 (0504). At 0505 an output is wired to multiple inputs. It should be explicitly noted that in this case the output and / or inputs can also be configured individually or together as bidirectional lines. 0506 shows a simple wiring, in which the line is not directly wired, but leads from one position at 0501 to another position at 0502. 0508 shows an output terminated via an H-level resistor. 0509 shows an open bidirectional line. An input defined with H level is shown with 0510. 0507 shows two rotated signals that are also routed to other positions. 0512 shows an input defined with L level. 0513 shows a bidirectional line defined by an L-level resistor. 0511 shows an open entrance. It should be stated that other types of wiring and combinations than those shown as examples are also possible.
Insbesondere können in den Streifen beispielsweise auch Treiber, Register, Dekoder und andere aktive Elemente untergebracht werden. Für den Test von Bausteinen ist der Einsatz von Teststrukturen und -anschlüssen und Kennungen (z.B. Barcodes) in den Streifen denkbar.In particular, drivers, registers, decoders and other active elements can also be accommodated in the strips, for example. The use of test structures and connections and identifiers (e.g. barcodes) in the strips is conceivable for the testing of modules.
Figur 6 zeigt eine mögliche Verdrahtung von universellen Leitungen in einer Zelle 0601. Eine erste beispielhafte Leitung ist direkt durch die Zelle geführt (0602) und besitzt einen möglichen Anschluß an die Zelle (0603) . Eine weitere Leitung (0604) ist durch ein aktives Element (0605) durch die Zelle geführt und besitzt ebenfalls eine mögliche Abzweigung (0606) .FIG. 6 shows a possible wiring of universal lines in a cell 0601. A first exemplary line is led directly through the cell (0602) and has a possible connection to the cell (0603). Another line (0604) is led through the cell by an active element (0605) and also has a possible branch (0606).
Das aktive Element kann beliebig ausgestaltet sein, beispielsweise alsThe active element can have any configuration, for example as
• Treiber
• Register• Driver • Register
• Daisy Chain Logik• Daisy chain logic
Figur 7 zeigt die Neuerung in dem Designflow des beschriebenen Verfahrens. Ein beliebiger Flow verarbeitet zunächst die einzelnen Zellen, wobei mehrfache identische Zellen nur einmal verarbeitet werden müssen (0701) . Die Ergebnisse werden gespeichert (0702) . In der nachfolgenden Bearbeitung des gesamten integrierten Schaltkreis wird die globale Verarbeitung durchgeführt, wobei die einzelnen Zellen nicht erneut verarbeitet werden müssen, sondern die jeweils erforderlichen Daten aus der Datenbank (0702) gelesen werden.Figure 7 shows the innovation in the design flow of the described method. Any flow first processes the individual cells, whereby multiple identical cells only have to be processed once (0701). The results are saved (0702). In the subsequent processing of the entire integrated circuit, the global processing is carried out, the individual cells not having to be reprocessed, but the data required in each case being read from the database (0702).
Figur 8 zeigt ein Zellraster (0801) zum Design einer Grundstruktur. Einzelne Zellen können exakt dem Raster entsprechen (0802), eventuell durch Verwendung von Streifen zum Ausgleich der Dimensionen. Weiterhin können Zellen als ein Vielfaches des Rasters dimensioniert sein (0803, 0804) oder eine beliebige in das Raster passende Form aufweisen (0805) .FIG. 8 shows a cell grid (0801) for designing a basic structure. Individual cells can correspond exactly to the grid (0802), possibly by using strips to compensate for the dimensions. Furthermore, cells can be dimensioned as a multiple of the grid (0803, 0804) or have any shape that fits into the grid (0805).
Der integrierte Schaltkreis der vorliegenden Erfindung wird hergestellt wie folgt:The integrated circuit of the present invention is manufactured as follows:
Zunächst werden die für einen spezifischen Anwendefall erforderlichen Speicherkapazitäten, Rechenleistungen, EinAusgabe-Anforderungen usw. des integrierten Schaltkreises 1 bestimmt. Dann wird ermittelt, mit welchen Schaltungen wie Speicher-, Floating-Point-Rechenwerk-, Integer-Rechenwerk-, Addierer-, Multiplizierer-, Verschlüsselungswerk-, Verbindungs-, Ein- und/oder Ausgabeschaltungen usw. diese Funktionen realisierbar sind. Diese Schaltungen werden nun blockweise zusammengefaßt, um jeweilige Zellarten zu
definieren, z.B. RAM-Zellen (Speicherzelle für wahlfreien Zugriff) , I/O-Zellen, Floating-Point-Unit-Zellen, Rechenwerk- Zellen, multiplizierende Zellen usw. Gegebenenfalls wird dabei geprüft, ob diese Funktionen schon für früher hergestellte integrierte Schaltkreise bereitgestellt wurden. Es wird dabei versucht, die gewünschten Funktionen so auf unterschiedliche Zellarten zu verteilen, daß alle Zellarten eine zumindest näherungsweise einen gleichen Flächenbedarf aufweisen. Die Zellart mit dem höchsten Flächenbedarf bestimmt dabei die Größe aller Zellarten.First, the memory capacities, computing power, input / output requirements, etc. of the integrated circuit 1 required for a specific application are determined. Then it is determined with which circuits such as memory, floating point arithmetic, integer arithmetic, adder, multiplier, encryption, connection, input and / or output circuits etc. these functions can be implemented. These circuits are now grouped together in blocks in order to form respective cell types define, for example RAM cells (memory cell for random access), I / O cells, floating point unit cells, arithmetic unit cells, multiplying cells, etc. If necessary, it is checked whether these functions are already provided for previously manufactured integrated circuits were. An attempt is made to distribute the desired functions over different cell types in such a way that all cell types have at least approximately the same area requirement. The cell type with the highest space requirement determines the size of all cell types.
Nach der Funktionsaufteilung auf verschiedene Zellarten 2a bis 2e werden die zwischen den Zellen benötigten Anschlußleitungen 5 bestimmt. Dann wird eine räumliche Anordnung der Anschlußleitungen 5 an den Zellen festgelegt. Die Zellen der jeweiligen Zellarten 2a bis 2e werden dann jeweils entworfen, ohne daß eine weitere Beeinflussung durch den Entwurf der anderen Zellarten erfolgt. Dabei werden vom Inneren der Zellen 2 Leitungsanschlüsse 5 bis an den Zellrand 4 gelegt. Von den in den verschiedenen Zellarten vorgesehenen Gattern werden dabei gegebenenfalls einige in jeder Zelle so entworfen, daß sie während der Laufzeit programmierbar sind, um eine jeweils erforderliche Aufgabe mit der Zelle ausführen zu können. Dies ist dann der Fall, wenn beispielsweise die Verbindungsstruktur veränderbar ist, d.h. die ausgewerteten Anschlüsse und/oder die Funktion eines Rechenwerkes usw. verändert werden kann.After the division of functions into different cell types 2a to 2e, the connecting lines 5 required between the cells are determined. Then a spatial arrangement of the connecting lines 5 on the cells is determined. The cells of the respective cell types 2a to 2e are then designed in each case without being influenced by the design of the other cell types. In this case, 2 line connections 5 are placed from the inside of the cells to the cell edge 4. Of the gates provided in the different cell types, some may be designed in each cell so that they can be programmed during runtime in order to be able to perform a required task with the cell. This is the case if, for example, the connection structure can be changed, i.e. the evaluated connections and / or the function of an arithmetic unit, etc. can be changed.
Dies geschieht für alle Zellarten nacheinander, sofern nicht auf Entwürfe für früher hergestellte integrierte Schaltkreise zurückgegrif en werden kann. Stellt sich dabei heraus, daß der Platzbedarf für die größte Zellart nicht ausreicht, können alle Zellen einfach dadurch vergrößert werden, daß die
Anschlußleitungen 5 entsprechend verlängert werden oder es werden unterschiedlich dimensionierte Streifen verwendet. Dies ermöglicht es insbesondere, in großen Gruppen einen parallelen Entwurf aller Zellarten gleichzeitig vorzunehmen.This happens for all cell types in succession, unless designs for previously manufactured integrated circuits can be used. If it turns out that the space required for the largest cell type is not sufficient, all cells can simply be enlarged by the fact that the Connection lines 5 are extended accordingly or strips of different dimensions are used. This makes it possible, in particular, to design all cell types simultaneously in large groups.
Es wird dann die Funktionsfähigkeit und/oder Geometrie jeder einzelnen Zellart für sich überprüft, ohne daß die Funktionsfähigkeit und/oder Geometrie anderer Zellarten gleichzeitig mitgeprüft werden müßte. Dies verringert den Gesamtrechenaufwand für die Überprüfung des integrierten Schaltkreises wesentlich und ermöglicht so den einfachen Entwurf hochkomplexer Schaltkreise aus sich regulär wiederholenden, selbst komplexen Einheiten.The functionality and / or geometry of each individual cell type is then checked for itself without the functionality and / or geometry of other cell types having to be checked at the same time. This significantly reduces the overall computing effort for checking the integrated circuit and thus enables the simple design of highly complex circuits from regularly repeating, even complex units.
Nach Abschluß des Entwurfes der letzten fertigzustellenden Zellart wird ein Gesamtentwurf erstellt, bei dem die verschiedenen Zellarten so nebeneinander plaziert werden, daß die entsprechenden Ein- und Ausgangsleitungen in elektrisch leitende Verbindung stehen. Danach werden erforderlichenfalls die elektrischen Verbindungen zwischen den Zellen funktioneil und/oder geometrisch überprüft. Auch hierfür ist der Überprüfungsaufwand sehr gering, insbesondere deshalb, da zumeist jede Kante zwischen den Zellen (oder jeder Streifen) einzeln geprüft werden kann.After completing the design of the last cell type to be completed, an overall design is created in which the different cell types are placed side by side so that the corresponding input and output lines are in an electrically conductive connection. Then, if necessary, the electrical connections between the cells are checked functionally and / or geometrically. The inspection effort for this is also very low, in particular because mostly every edge between the cells (or each strip) can be inspected individually.
Erforderlichenfalls werden weitere, sich nicht wiederholende Einheiten vorgesehen, wie Überspannungsschutzschaltungen, Die seals, d.h. Chipabschlüsse, Leitungsabschlüsse für am Schaltkreisrand liegende Anschlussleitungen, Teststrukturen, Interfacestrukturen, Steuerungen, Speicher, usw. So kann für einen tatsächlichen Entwurf einer Schaltung nach DE 44 16.881 C2 ein einzelner Konfigurationsmanager vorgesehen werden, der
eine von den anderen Zellarten abweichende Anschlussleitungsanordnung besitzt .If necessary, additional, non-repeating units are provided, such as overvoltage protection circuits, the seals, ie chip terminations, line terminations for connecting lines located at the edge of the circuit, test structures, interface structures, controls, memories, etc. single configuration manager can be provided, the has a connection line arrangement that differs from the other cell types.
Auf diese Weise kann ein integrierter Schaltkreis für einen spezifischen Zweck in sehr kurzer Zeit entworfen und zur Herstellung gegeben werden. Die Herstellung selbst erfolgt dann auf konventionelle Weise.In this way, an integrated circuit for a specific purpose can be designed and manufactured in a very short time. The production itself then takes place in a conventional manner.
Es sei darauf hingewiesen, daß neben oder anstelle der in den Fig. 1 und 3 gezeigten Zellarten auch andere verwendbar sind. Beispielsweise ist es möglich, anstelle von zwei verschiedenen Zellarten, von denen die erste Gleitkomma- Operationen und die zweite arithmetische Verknüpfungen ganzer Zahlen durchführt, lediglich eine einzige Zellart zur Implementierung dieser Funktionen vorzusehen, mit der beide Operationsarten ausgeführt werden können.It should be noted that in addition to or instead of the cell types shown in FIGS. 1 and 3, others can also be used. For example, instead of two different cell types, of which the first floating point operations and the second perform integer arithmetic operations, it is possible to provide only one cell type to implement these functions, with which both types of operations can be performed.
Es sei darauf hingewiesen, daß die Zellen nicht zwingend viereckig ausgebildet werden müssen. Insbesondere sind andere Ausgestaltungen anderen Zellformen verwendbar, welche eine überdeckende Neben- bzw. Übereinander-Anordnung erlauben. So ist die Verwendung sechs- oder dreieckiger Zellen denkbar. Weiter ist es denkbar, zwei oder mehr Zellformen zu mischen, z.B. Dreiecke mit Trapezen. Es werden dann die Anschlüsse an den Zellgrenzen für alle Zellformen so positioniert, daß eine nachbarschaftliche Anordnung der verschiedenen Zellformen wie gewünscht möglich wird. Auch damit liegen also die Anschlüsse an zumindest im wesentlichen übereinstimmenden Positionen der Zelle, um so die erfindungsgemäße Zellartendurchmischung bei der benachbarten Anordnung der Zellen zu ermöglichen.It should be noted that the cells do not necessarily have to be square. In particular, other configurations of other cell forms can be used, which allow an overlapping arrangement next to or on top of one another. The use of hexagonal or triangular cells is conceivable. It is also conceivable to mix two or more cell forms, e.g. Triangles with trapezoids. The connections at the cell boundaries are then positioned for all cell forms in such a way that a neighborly arrangement of the various cell forms is possible as desired. This means that the connections are also at at least substantially identical positions of the cell, so as to enable the cell type mixing according to the invention in the adjacent arrangement of the cells.
Es sei darauf hingewiesen, daß die korrespondierenden Ein- und Ausgangsleitungen auf benachbarten Seiten der Zellen
nicht zwingend über eine Busstruktur verbunden werden müssen, So ist es insbesondere möglich, andere als die auf der einen Seite eingespeisten Daten auf der gegenüberliegenden auszugeben. Die Daten können z.B. durch das Rechenwerk verändert werden.It should be noted that the corresponding input and output lines on adjacent sides of the cells do not necessarily have to be connected via a bus structure, so it is in particular possible to output data other than the one fed in on one side on the opposite. The data can be changed, for example, by the calculator.
Es sei darauf hingewiesen, daß die Verdrahtung neben einer herkömmlichen elektrischen Ausgestaltung auch durch optische Mittel ausgeführt sein kann.
It should be noted that the wiring can also be carried out by optical means in addition to a conventional electrical configuration.
BezugszeichenlisteLIST OF REFERENCE NUMBERS
1= integrierter Schaltkreis1 = integrated circuit
2= Zellenarten2 = cell types
2a= RAM-Zelle (Speicherzelle für wahlfreien Zugriff)2a = RAM cell (memory cell for random access)
2b= I/O-Zelle (Eingabe-Ausgabe-Einheit-Zelle)2b = I / O cell (input-output-unit-cell)
2c= Floating-Point-Unit-Zelle (Gleitkomma-Einheit-Zelle)2c = floating point unit cell (floating point unit cell)
2d= Rechenwerk-Zelle (ALU)2d = calculator cell (ALU)
2e= Multiplizierende Zelle2e = multiplying cell
3= logische Elemente der Zellen 2a-2e3 = logic elements of cells 2a-2e
4= Zellgrenze a,b,c,d= Seiten der Zelle = Anschlüsse an den Zellen 2 a,b,c,d= Busanschlüsse an den Seiten = umschreibendes Viereck 6 a= Eingangsleitungen am Busanschluß 5a a= Ausgangsleitungen am Busanschluß 5c = interner Bus 0=Rechenwerk der Zelle 2d 1= Steuerautomat 11 der Zelle 2d 2 interne Verbindungen in Zelle 2d
4 = cell boundary a, b, c, d = sides of the cell = connections on the cells 2 a, b, c, d = bus connections on the sides = circumscribing square 6 a = input lines on the bus connection 5a a = output lines on the bus connection 5c = internal Bus 0 = arithmetic unit of cell 2d 1 = control automat 11 of cell 2d 2 internal connections in cell 2d