[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2002008964A2 - Integrierter schaltkreis - Google Patents

Integrierter schaltkreis Download PDF

Info

Publication number
WO2002008964A2
WO2002008964A2 PCT/EP2001/008534 EP0108534W WO0208964A2 WO 2002008964 A2 WO2002008964 A2 WO 2002008964A2 EP 0108534 W EP0108534 W EP 0108534W WO 0208964 A2 WO0208964 A2 WO 0208964A2
Authority
WO
WIPO (PCT)
Prior art keywords
cells
cell
integrated circuit
circuit according
connections
Prior art date
Application number
PCT/EP2001/008534
Other languages
English (en)
French (fr)
Other versions
WO2002008964A3 (de
Inventor
Martin Vorbach
Armin NÜCKEL
Volker Baumgarte
Gerd Ehlers
Original Assignee
Pact Informationstechnolgie Gmbh
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
Priority claimed from DE10036627A external-priority patent/DE10036627A1/de
Priority claimed from PCT/EP2001/006703 external-priority patent/WO2002013000A2/de
Priority to AU2001289737A priority Critical patent/AU2001289737A1/en
Priority to EP01969493A priority patent/EP1377919A2/de
Application filed by Pact Informationstechnolgie Gmbh filed Critical Pact Informationstechnolgie Gmbh
Publication of WO2002008964A2 publication Critical patent/WO2002008964A2/de
Priority to EP02712937A priority patent/EP1454258A2/de
Priority to JP2002570103A priority patent/JP2004535613A/ja
Priority to EP02724198.3A priority patent/EP1386220B1/de
Priority to AU2002254921A priority patent/AU2002254921A1/en
Priority to PCT/EP2002/002402 priority patent/WO2002071196A2/de
Priority to PCT/EP2002/002403 priority patent/WO2002071249A2/de
Priority to JP2002570104A priority patent/JP2004536373A/ja
Priority to EP02727358A priority patent/EP1540507B1/de
Priority to US10/469,910 priority patent/US20070299993A1/en
Priority to US10/471,061 priority patent/US7581076B2/en
Priority to JP2002570052A priority patent/JP4011488B2/ja
Priority to AU2002257615A priority patent/AU2002257615A1/en
Priority to PCT/EP2002/002398 priority patent/WO2002071248A2/de
Priority claimed from DE10129237A external-priority patent/DE10129237A1/de
Publication of WO2002008964A3 publication Critical patent/WO2002008964A3/de
Priority to JP2008249106A priority patent/JP2009054170A/ja
Priority to JP2008249115A priority patent/JP2009043275A/ja
Priority to JP2008249112A priority patent/JP2009020909A/ja
Priority to JP2008249116A priority patent/JP2009043276A/ja
Priority to JP2008249099A priority patent/JP2009032281A/ja
Priority to US12/496,012 priority patent/US20090300262A1/en
Priority to US12/944,068 priority patent/US9037807B2/en
Priority to US13/043,102 priority patent/US20110173389A1/en
Priority to US13/653,639 priority patent/US9075605B2/en
Priority to US14/219,945 priority patent/US9552047B2/en
Priority to US14/231,358 priority patent/US9436631B2/en
Priority to US14/318,211 priority patent/US9250908B2/en
Priority to US14/500,618 priority patent/US9141390B2/en
Priority to US15/225,638 priority patent/US10152320B2/en
Priority to US15/408,358 priority patent/US10331194B2/en
Priority to US16/190,931 priority patent/US20190102173A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Definitions

  • 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.
  • 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
  • Data processing device can be manufactured in a simple manner adapted to certain applications.
  • 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.
  • the object of the invention is to provide something new for commercial use.
  • 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.
  • 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.
  • 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.
  • 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.
  • memory means can be a RAM, ROM, PROM, EEPROM memory and / or combinations of the aforementioned types of memory.
  • 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.
  • 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.
  • 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.
  • 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.
  • buffer amplifier
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • strips between the 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.
  • 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.
  • 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.
  • 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.
  • the cell 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.
  • 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.
  • 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.
  • the cells of the integrated circuit can each be processed individually using the design tools.
  • 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 results of the individual work steps are saved for each cell.
  • 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.
  • Fig. 1 shows an integrated circuit of the present
  • FIG. 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
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Connection 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
  • output lines 8a of the first cell are in electrically conductive connection with input lines 7a of the second cell.
  • 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.
  • 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.
  • 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 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:
  • 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).
  • an output is wired to multiple inputs.
  • 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
  • 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.
  • 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).
  • the active element can have any configuration, for example as
  • 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).
  • 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).
  • the integrated circuit of the present invention is manufactured as follows:
  • 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.
  • RAM cells memory cell for random access
  • I / O cells floating point unit cells
  • multiplying cells etc.
  • 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.
  • 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.
  • 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.
  • 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.
  • non-repeating units 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.
  • the cells do not necessarily have to be square.
  • other configurations of other cell forms can be used, which allow an overlapping arrangement next to or on top of one another.
  • hexagonal or triangular cells is conceivable.
  • 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.
  • 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.
  • the wiring can also be carried out by optical means in addition to a conventional electrical configuration.
  • RAM cell memory cell for random access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

Die Erfindung betrifft einen integrierten Schaltkreis mit mehreren, einander benachbarten Zellen, wobei wenigstens zwei Arten von Zellen vorgesehen sind, welche Anschlüsse aufweisen. Hierbei ist vorgesehen, dass die Zellen eine zur Integration einer Vielzahl logischer Elemente ausreichende Grösse 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 Zellartendurchmischung bei der benachbarten Anordnung der Zellen zu erlauben.

Description

Titel: Integrierter Schaltkreis
Beschreibung
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.
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 dargestellte
Datenverarbeitunseinrichtung auf einfache Weise für bestimmte Anwendungen angepaßt hergestellt werden kann.
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.
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.
Die Aufgabe der Erfindung besteht darin, Neues für die gewerbliche Anwendung bereitzustellen.
Die Lösung dieser Aufgabe wird unabhängig beansprucht. Bevorzugte Ausführungsformen finden sich in den Unteransprüchen .
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.
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ß .
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Durch dieses Vorgehen ist der Designaufwand und die Designzeit erheblich minimiert.
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.
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.
Die Erfindung wird im folgenden nur beispielsweise anhand der Zeichnung erläutert. In dieser zeigt:
Fig. 1 einen integrierten Schaltkreis der vorliegenden
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 einer
Zelle; Fig. 7 Designflow innerhalb eines Designtools; Fig. 8 Zellraster mit verschiedenen Zellgrößen.
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.
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.
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.
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.
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.
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ß bei
Nebeneinanderanordnung zweier Zellen Ausgangsleitungen 8a der ersten Zelle mit Eingangsleitungen 7a der zweiten Zelle in elektrisch leitender Verbindung stehen.
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.
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.
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.
Fig. 4 zeigt eine Anordnung von Zellen (0401), die durch Streifen (0402) miteinander verbunden sind. Die Streifen sind beispielsweise für folgende Funktionen verwendbar:
• Individuelle Verdrahtung von Zellen untereinander
• Terminierung von Leitungen
• Definieren von offenen Eingängen
• Einstellen von Konstanten
• Ausgleichen von unterschiedlichen Zellgrößen
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.
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.
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) .
Das aktive Element kann beliebig ausgestaltet sein, beispielsweise als
• Treiber • Register
• Daisy Chain Logik
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.
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) .
Der integrierte Schaltkreis der vorliegenden Erfindung wird hergestellt wie folgt:
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.
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.
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.
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.
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.
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 .
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.
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.
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.
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.
Es sei darauf hingewiesen, daß die Verdrahtung neben einer herkömmlichen elektrischen Ausgestaltung auch durch optische Mittel ausgeführt sein kann.
Bezugszeichenliste
1= integrierter Schaltkreis
2= Zellenarten
2a= RAM-Zelle (Speicherzelle für wahlfreien Zugriff)
2b= I/O-Zelle (Eingabe-Ausgabe-Einheit-Zelle)
2c= Floating-Point-Unit-Zelle (Gleitkomma-Einheit-Zelle)
2d= Rechenwerk-Zelle (ALU)
2e= Multiplizierende Zelle
3= logische Elemente der Zellen 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

Claims

Titel: Integrierter SchaltkreisPatentansprüche
Integrierter Schaltkreis mit mehreren, einander benachbarten Zellen, wobei wenigstens zwei Arten von Zellen vorgesehen sind, welche Anschlüsse aufweisen, dadurch gekennzeichnet, 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 Zellartendurchmischung bei der benachbarten Anordnung der Zellen zu erlauben.
Integrierter Schaltkreis nach dem vorhergehenden Anspruch dadurch gekennzeichnet, daß mit wenigstens einer der Zellarten wenigstens ein Speicher-, Floating-Point- Rechenwerk-, Integer-Rechenwerk-, Addierer-, Multiplizierer-, Verschlüsselungswerk-, Verbindungs-, Ein- und/oder Ausgabemittel realisiert ist.
3. Integrierter Schaltkreis nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, daß wenigstens eine der Zellarten einen RAM-, ROM-, PROM-, EEPROM-Speichermittel und/oder Kombinationen vorgenannter Speichertypen umfaßt.
4. Integrierter Schaltkreis nach einem der Ansprüche 2 oder 3, dadurch gekennzeichnet, daß wenigstens einer der Zellarten ein Ein- und/oder Ausgabemittel zur Kommunikation mit einem Modemanschluß, einem Netzwerkanschluß, einem Speichermittel und/oder mit einem Peripheriegeräteanschluß realisiert .
5. Integrierter Schaltkreis nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Zellen für die Integration von wenigstens 100, bevorzugt 1000 logischen Elementen, insbesondere Gattern dimensioniert sind.
6. Integrierter Schaltkreis nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß wenigstens zwei verschiedene Zellarten vorgesehen sind, die jeweils zumindest 100, bevorzugt zumindest 1000 logische Gatteräquivalente umfaßt.
7. Integrierter Schaltkreis nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß wenigstens eine Kantenlänge der Zellen wenigstens das 500fache, bevorzugt wenigstens das lOOOfache der den Herstellungsprozeß charakterisierenden Gatelänge beträgt.
8. Integrierter Schaltkreis nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß wenigstens zwei Kantenlängen der Zellen wenigstens das 200fache, bevorzugt wenigstens das 500fache der den Herstellungsprozeß charakterisierenden Gatelänge beträgt.
9. Integrierter Schaltkreis nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Zellen verschiedener Arten zumindest im wesentlichen identische Größen aufweisen.
10. Integrierter Schaltkreis nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Anschlüsse zumindest einen der Anschlüsse Versorgungsspannung und/oder Masse, und/oder zumindest eine Zell-Ein- und/oder Ausgabeleitung umfassen.
11. Integrierter Schaltkreis nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, daß die Zell-Ein- und/oder Ausgabeleitung einen Teil eines Ein- und/oder Ausgabebusses darstellt und/oder eine Taktleitung umfaßt.
12. Integrierter Schaltkreis nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, daß die Zell-Ein- und/oder Ausgabeleitungen wenigstens zwei voneinander getrennte Busse umfassen.
13. Integrierter Schaltkreis nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß alle sich entsprechenden Anschlüsse der unterschiedlichen Zellarten an jeweils gleichen Positionen angeordnet sind.
14. Integrierter Schaltkreis nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß zumindest einige der Zellanschlüsse am Zellrand angeordnet sind.
15. Integrierter Schlatkreis nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, daß eine Vielzahl von Zellen nebeneinander angeordnet ist.
16. Integrierter Schaltkreis nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß zumindest einige der Zellanschlüsse auf der Zellober- und/oder Unterseite angeordnet ist.
17. Integrierter Schaltkreis nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, daß zumindest zwei Lagen Zellen übereinander vorgesehen sind.
18. Verfahren zum Designen von integrierten Schaltkreisen, dadurch gekennzeichnet, daß sich wiederholenden Zellen generiert werden.
19. Verfahren zum Designen von integrierten Schaltkreisen nach dem vorstehenden Anspruch, dadurch gekennzeichnet, daß die Zellen eine ähnliche Dimensionierung aufweisen.
20. Verfahren zum Designen von integrierten Schaltkreisen nach einem der vostehenden Ansprüche, dadurch gekennzeichnet, daß individuelle Streifen zwischen den Zellen verwendet werden.
21. Verfahren zum Designen von integrierten Schaltkreisen nach einem der vostehenden Ansprüche, dadurch gekennzeichnet, daß mittels der Streifen elektrische und oder geometrische Anpassungen durchgeführt werden.
22. Verfahren zum Designen von integrierten Schaltkreisen, dadurch gekennzeichnet, daß zunächst nur die einzelnen Zellen bearbeitet werden.
23. Verfahren zum Designen von integrierten Schaltkreisen nach dem vorstehenden Anspruch, dadurch gekennzeichnet, daß mehrfach vorkommenden Zellen nur einmal bearbeitet werden.
24. Verfahren zum Designen von integrierten Schaltkreisen nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Daten der Zellen gespeichert werden.
25. Verfahren zum Designen von integrierten Schaltkreisen nach einem der vostehenden Ansprüche, dadurch gekennzeichnet, daß danach der komplette Schaltkreis bearbeitet wird, wobei die gespeicherten Daten der bereits bearbeiteten Zellen verwendet werden.
PCT/EP2001/008534 2000-07-24 2001-07-24 Integrierter schaltkreis WO2002008964A2 (de)

Priority Applications (31)

Application Number Priority Date Filing Date Title
AU2001289737A AU2001289737A1 (en) 2000-07-24 2001-07-24 Integrated circuit
EP01969493A EP1377919A2 (de) 2000-07-24 2001-07-24 Integrierter schaltkreis
JP2002570052A JP4011488B2 (ja) 2001-03-05 2002-03-05 データ加工および/またはデータ処理方法および装置
PCT/EP2002/002398 WO2002071248A2 (de) 2001-03-05 2002-03-05 Verfahren und vorrichtungen zur datenbe- und/oder verarbeitung
AU2002257615A AU2002257615A1 (en) 2001-03-05 2002-03-05 Methods and devices for treating and/or processing data
PCT/EP2002/002402 WO2002071196A2 (de) 2001-03-05 2002-03-05 Verfahren und vorrichtung zu datenbe- und/oder verarbeitung
EP02727358A EP1540507B1 (de) 2001-03-05 2002-03-05 Vorrichtung zur datenverarbeitung mit einem feld rekonfigurierbarer elemente
EP02724198.3A EP1386220B1 (de) 2001-03-05 2002-03-05 Verfahren und vorrichtung zu datenbe- und/oder verarbeitung
AU2002254921A AU2002254921A1 (en) 2001-03-05 2002-03-05 Methods and devices for treating and processing data
EP02712937A EP1454258A2 (de) 2001-03-05 2002-03-05 Verfahren und vorrichtungen zur datenbe- und/oder verarbeitung
PCT/EP2002/002403 WO2002071249A2 (de) 2001-03-05 2002-03-05 Verfahren und vorrichtungen zur datenbe- und/oder verarbeitung
JP2002570104A JP2004536373A (ja) 2001-03-05 2002-03-05 データ処理方法およびデータ処理装置
JP2002570103A JP2004535613A (ja) 2001-03-05 2002-03-05 データ処理方法およびデータ処理装置
US10/469,910 US20070299993A1 (en) 2001-03-05 2002-03-05 Method and Device for Treating and Processing Data
US10/471,061 US7581076B2 (en) 2001-03-05 2002-03-05 Methods and devices for treating and/or processing data
JP2008249112A JP2009020909A (ja) 2001-03-05 2008-09-26 グラフのパーティショニング方法
JP2008249116A JP2009043276A (ja) 2001-03-05 2008-09-26 Fifo記憶方法
JP2008249106A JP2009054170A (ja) 2001-03-05 2008-09-26 データ流の管理方法
JP2008249099A JP2009032281A (ja) 2001-03-05 2008-09-26 データ伝送方法
JP2008249115A JP2009043275A (ja) 2001-03-05 2008-09-26 シーケンスの形成方法
US12/496,012 US20090300262A1 (en) 2001-03-05 2009-07-01 Methods and devices for treating and/or processing data
US12/944,068 US9037807B2 (en) 2001-03-05 2010-11-11 Processor arrangement on a chip including data processing, memory, and interface elements
US13/043,102 US20110173389A1 (en) 2001-03-05 2011-03-08 Methods and devices for treating and/or processing data
US13/653,639 US9075605B2 (en) 2001-03-05 2012-10-17 Methods and devices for treating and processing data
US14/219,945 US9552047B2 (en) 2001-03-05 2014-03-19 Multiprocessor having runtime adjustable clock and clock dependent power supply
US14/231,358 US9436631B2 (en) 2001-03-05 2014-03-31 Chip including memory element storing higher level memory data on a page by page basis
US14/318,211 US9250908B2 (en) 2001-03-05 2014-06-27 Multi-processor bus and cache interconnection system
US14/500,618 US9141390B2 (en) 2001-03-05 2014-09-29 Method of processing data with an array of data processors according to application ID
US15/225,638 US10152320B2 (en) 2001-03-05 2016-08-01 Method of transferring data between external devices and an array processor
US15/408,358 US10331194B2 (en) 2001-03-05 2017-01-17 Methods and devices for treating and processing data
US16/190,931 US20190102173A1 (en) 2001-03-05 2018-11-14 Methods and systems for transferring data between a processing device and external devices

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
DE10036221 2000-07-24
DE10036221.4 2000-07-24
DE10036627A DE10036627A1 (de) 2000-07-24 2000-07-27 Integrierter Schaltkreis
DE10036627.9 2000-07-27
EPPCT/EP00/10516 2000-10-09
EPPCT/EP00/10516 2000-10-09
EP01102674 2001-02-07
EP01102674.7 2001-02-07
DE10110530.4 2001-03-05
DE10110530 2001-03-05
DE10111014.6 2001-03-07
DE10111014 2001-03-07
EPPCT/EP01/06703 2001-06-13
PCT/EP2001/006703 WO2002013000A2 (de) 2000-06-13 2001-06-13 Pipeline ct-protokolle und -kommunikation
DE10129237.6 2001-06-20
DE10129237A DE10129237A1 (de) 2000-10-09 2002-06-20 Verfahren zur Bearbeitung von Daten

Publications (2)

Publication Number Publication Date
WO2002008964A2 true WO2002008964A2 (de) 2002-01-31
WO2002008964A3 WO2002008964A3 (de) 2003-10-23

Family

ID=56290174

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2001/008534 WO2002008964A2 (de) 2000-07-24 2001-07-24 Integrierter schaltkreis

Country Status (3)

Country Link
EP (1) EP1377919A2 (de)
AU (1) AU2001289737A1 (de)
WO (1) WO2002008964A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003083696A1 (fr) * 2002-04-03 2003-10-09 Centre National De La Recherche Scientifique - Cnrs - Architecture de calcul logique comprenant plusieurs modes de configuration
EP2043000A2 (de) 2002-02-18 2009-04-01 PACT XPP Technologies AG Bussysteme und Rekonfigurationsverfahren

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994014123A1 (en) * 1992-12-11 1994-06-23 National Technology, Inc. Integrated circuit computing device comprising dynamically configurable gate array having a reconfigurable execution means
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
EP0858168A1 (de) * 1997-01-29 1998-08-12 Hewlett-Packard Company Feldprogrammierbarer Gatterprozessor
WO1999040522A2 (en) * 1998-02-05 1999-08-12 Sheng, George, S. Digital signal processor using a reconfigurable array of macrocells

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0688659A3 (de) * 1994-06-23 1997-10-08 Illig Maschinenbau Adolf Form- Stanz-Werkzeug zum Herstellen von Behältern aus thermoplastischer Kunststoffolie
US5636368A (en) * 1994-12-23 1997-06-03 Xilinx, Inc. Method for programming complex PLD having more than one function block type
GB9611994D0 (en) * 1996-06-07 1996-08-07 Systolix Ltd A field programmable processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994014123A1 (en) * 1992-12-11 1994-06-23 National Technology, Inc. Integrated circuit computing device comprising dynamically configurable gate array having a reconfigurable execution means
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
EP0858168A1 (de) * 1997-01-29 1998-08-12 Hewlett-Packard Company Feldprogrammierbarer Gatterprozessor
WO1999040522A2 (en) * 1998-02-05 1999-08-12 Sheng, George, S. Digital signal processor using a reconfigurable array of macrocells

Non-Patent Citations (1)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2043000A2 (de) 2002-02-18 2009-04-01 PACT XPP Technologies AG Bussysteme und Rekonfigurationsverfahren
WO2003083696A1 (fr) * 2002-04-03 2003-10-09 Centre National De La Recherche Scientifique - Cnrs - Architecture de calcul logique comprenant plusieurs modes de configuration
FR2838208A1 (fr) * 2002-04-03 2003-10-10 Centre Nat Rech Scient Architecture de calcul logique comprenant plusieurs modes de configuration

Also Published As

Publication number Publication date
WO2002008964A3 (de) 2003-10-23
EP1377919A2 (de) 2004-01-07
AU2001289737A1 (en) 2002-02-05

Similar Documents

Publication Publication Date Title
DE10036627A1 (de) Integrierter Schaltkreis
DE3630835C2 (de) Integrierte Halbleiterkreisanordnungen und Systeme
DE69128888T2 (de) Programmierbares logisches feld
DE102004014472B4 (de) Anwendungsspezifischer integrierter Halbleiter-Schaltkreis
DE3650323T2 (de) VLSI-Chip und Verfahren zur Herstellung.
DE4416881C2 (de) Verfahren zum Betrieb einer Datenverarbeitungseinrichtung
DE69426546T2 (de) Konfigurierbares logisches Feld
DE60020933T2 (de) Gatter von parallelen prozessoren mit fehlertoleranz der prozessoren und rekonfigurierungsverfahren dafür
DE68917398T2 (de) Integrierte Schaltungshalbleiteranordnung mit verbesserter Einrichtung für Speiseleitungen.
DE3716518A1 (de) Halbleiterspeichervorrichtung
DE3872737T2 (de) Verfahren zur kombinierung von "gate array"-schaltungen mit standardschaltungen auf ein gemeinsames halbleiterplaettchen.
WO2005036750A1 (de) Konfigurierbare logikschaltungsanordnung
DE69534659T2 (de) Architektur und Verbindungsmodel für programmierbare logische Schaltungen
DE3688580T2 (de) Verfahren zur Verdrahtungsverbesserung von Meisterbild-DCVS-Chips.
DE102020130215A1 (de) Techniken zum Transponieren einer Matrix durch Verwenden eines Speicherblocks
DE2643482A1 (de) Halbleiterplaettchen zur herstellung hochintegrierter bausteine
DE112022005690T5 (de) Schieberegister, Gate-Treiberschaltung und Anzeigesubstrat
DE3543471C1 (de) In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen
DE69033641T2 (de) Stromversorgungssystem für Master slice integrierte Schaltung
DE4344231C2 (de) Integrierte Schaltungsvorrichtung mit Bit-Slice-Zellen
DE4102718C2 (de) Integrierte Schaltung und Verfahren zur Generierung eines Layouts einer integrierten Schaltung
DE10244232A1 (de) Integrierte Halbleiterschaltung
WO2002008964A2 (de) Integrierter schaltkreis
DE102018124711B4 (de) Layout-Verfahren für Standardzellenstrukturen
DE4327290C2 (de) Integrierte Halbleiterschaltung

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2001969493

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2001969493

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP