DE10129237A1 - Integrated cell matrix circuit has at least 2 different types of cells with interconnection terminals positioned to allow mixing of different cell types within matrix circuit - Google Patents

Integrated cell matrix circuit has at least 2 different types of cells with interconnection terminals positioned to allow mixing of different cell types within matrix circuit

Info

Publication number
DE10129237A1
DE10129237A1 DE2001129237 DE10129237A DE10129237A1 DE 10129237 A1 DE10129237 A1 DE 10129237A1 DE 2001129237 DE2001129237 DE 2001129237 DE 10129237 A DE10129237 A DE 10129237A DE 10129237 A1 DE10129237 A1 DE 10129237A1
Authority
DE
Grant status
Application
Patent type
Prior art keywords
code
processor
characterized
method according
extracted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE2001129237
Other languages
German (de)
Inventor
Frank May
Armin Nueckel
Martin Vorbach
Markus Weinhardt
Joao Manuel Paiva Cardoso
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PACT Informationstechnologie GmbH
Original Assignee
PACT Informationstechnologie 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

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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

Abstract

The circuit (1) has a number of adjacent cells (2a-2e) divided into at least 2 cell types, the cells having a sufficient size for integration of a number of logic elements (3a,3e), at least some of the cells having programmable logic elements. The terminals (5a-5d) for the interconnections between the cells are positioned to allow mixing of the different types of cells within the cell matrix. An Independent claim for a design method for an integrated cell matrix circuit is also included.

Description

Die vorliegende Erfindung befaßt sich mit herkömmlichen, dh konventionellen und rekonfigurierbaren Architekturen sowie mit Verfahren hierfür, die eine Übersetzung einer klassischen Hochsprache (PROGRAMM), wie Pascal, C, C++, Java, etc. ermög lichen, insbesondere auf eine rekonfigurierbare Architektur. The present invention is concerned with conventional, that is conventional and reconfigurable architectures, as well as methods therefor, a translation of a conventional high-level language (program), such as Pascal, C, C ++, Java, etc. made handy, in particular to a reconfigurable architecture.

Unter einer konventionellen Prozessorarchitektur (PROZESSOR) werden vorliegend beispielsweise sequentielle Prozessoren mit einer von-Neumann- oder Havardarchitektur verstanden, wie z. Under a conventional processor architecture (processor), for example processors with a sequential von Neumann or Havardarchitektur be understood herein such. B. Kontroller, CISC-, RISC-, VLIW-, DSP- u. B. controller, CISC, RISC, VLIW, DSP u. ä. Prozessoren. Processors like..

Unter einer rekonfigurierbaren Zielarchitektur werden vorlie gend Bausteine (VPU) mit konfigurierbarer Funktion und/oder Vernetzung verstanden, insbesondere integrierte Bausteine mit einer Mehrzahl von ein- oder mehrdimensional angeordneten, arithmetischen und/oder logischen und/oder analogen und/oder speichernden Baugruppen, die direkt oder durch ein Bussystem miteinander verbunden sind. Under a reconfigurable target architecture vorlie neighborhood blocks (VPU) understood with configurable function and / or cross-linking, in particular integrated modules having a plurality of single- or multi-dimensionally arranged, arithmetic and / or logical and / or analog and / or storing modules which directly or are interconnected by a bus system.

Zur Gattung dieser Bausteine zählen insbesondere systolische Arrays, neuronale Netze, Mehrprozessor-Systeme, Prozessoren mit mehreren Rechenwerken und/oder logischen Zellen, Vernet zungs- und Netzwerkbausteine wie z. To the genus of these components include, in particular systolic arrays, neural networks, multi-processor systems, processors with multiple arithmetic units and / or logic cells, Vernet MENT and network devices such. B. Crossbar-Schalter, ebenso wie bekannte Bausteine der Gattung FPGA, DPGA, XPUTER, etc. Hingewiesen wird insbesondere in diesem Zusammenhang auf die folgenden Schutzrechte desselben Anmelders: P 44 16 881.0-53, DE 197 81 412.3, DE 197 81 483.2, DE 196 54 846.2-53, DE 196 54 593.5-53, DE 197 04 044.6-53, DE 198 80 129.7, DE 198 61 088.2-53, DE 199 80 312.9, PCT/DE 00/01869, DE 100 36 627.9-33, DE 100 28 397.7, DE 101 10 530.4, DE 101 11 014.6, PCT/EP 00/10516, EP 01 102 674.7. B. crossbar switch, as well as known devices of the type FPGA, DPGA, XPUTER, etc. Reference is made in particular in this connection to the following patents of the same applicant: P 44 16 881.0-53, DE 197 81 412.3, DE 197 81 483.2, DE 196 54 846.2-53, DE 196 54 593.5-53, DE 197 04 044.6-53, DE 198 80 129.7, DE 198 61 088.2-53, DE 199 80 312.9, PCT / DE 00/01869, DE 100 36 627.9- 33, DE 100 28 397.7, DE 101 10 530.4, DE 101 11 014.6, PCT / EP 00/10516, EP 01 102 674.7. Diese sind hiermit zu Offenbarungszwecken vollumfänglich eingegliedert. These are hereby incorporated in full for disclosure purposes.

Es hat sich gezeigt, daß es bestimmte Verfähren und Pro grammabläufe gibt, die sich besser mit einer rekonfigurierba re Architektur abarbeiten lassen als mit einer konventionel len Prozessorarchitektur. It has been shown that there are certain processes program Verfähren and Pro, which can be worked through with a rekonfigurierba re architecture better than with a convention tutional processor architecture. Umgekehrt gibt es auch solche Ver fahren und Programmabläufe, die besser mit einer konventio nellen Prozessorarchitektur ausgeführt werden können. Conversely, there are travel and program procedures that can be performed with a conven tional processor architecture better. Even those Ver

Die Aufgabe dieser Erfindung besteht darin Neues für die ge werbliche Anwendung bereitzustellen. The object of this invention is to provide new for the ge advertising application.

Die Lösung dieser Aufgabe wird in unabhängiger Form bean sprucht. This object applied shear bean in independent form.

Es wurde erkannt, daß es wünschenswert ist, daß Verfahren zur Datenverarbeitung so ausgelegt werden, daß nur die jeweils für die rekonfigurierbare Zielarchitektur besonders geeigne ten Teile des zu übersetzenden Programmes extrahiert werden. It has been recognized that it is desirable that the method for data processing are designed so that only the most geeigne for each of the reconfigurable target architecture th parts of the program to be translated are extracted. Die verbleibenden Teile des Programmes können dann auf eine konventionelle Prozessorarchitektur übersetzt werden. The remaining parts of the program can then be translated to a conventional processor architecture.

Weiterhin sei angemerkt, daß die Verfahren auch auf Gruppen von mehreren Bausteinen angewendet werden können. It is also noted that the method can also be applied to groups of several blocks.

Systemaufbau system Design

Ein PROZESSOR wird derart mit einer oder mehreren VPU(s) ver bunden, daß ein effizienter Informationsaustausch, insbeson dere in Form von Daten- und Statusinformation möglich ist. A processor is such ver with one or more VPU (s) prevented that an efficient exchange of information, insbeson is possible particular in the form of data and status information.

Die Anordnung eines herkömmlichen Prozessors und eines rekon figurierbaren Prozessors, dergestalt, daß eine Daten- und Sta tusinformation zwischen denselben während der Abarbeitung ei nes oder mehrere Programme möglich ist und/oder ohne daß ins besondere die Datenverarbeitung auf dem rekonfigurierbaren Prozessor und/oder dem herkömmlichen Prozessor signifikant unterbrochen werden muß, sowie die Ausbildung eines derarti gen Systems soweit aus dem nachfolgenden ersichtlich, wird gleichfalls beansprucht. The arrangement of a conventional processor and a rekon figurierbaren processor, such that a data code and status information between the same during the execution ei nes or more programs is possible and / or without conventional in particular the data processing on the reconfigurable processor and / or the processor must be significantly disrupted, and the formation of a derarti gen system as far from the subsequent apparent, is also claimed.

Es werden zunächst beispielsweise folgende Verbindungsverfah ren und -mittel verwendet: There are first example, the following Verbindungsverfah reindeer and materials used:

  • a) Shared-Memory a) shared memory
  • b) Netzwerk (beispielsweise Bussysteme wie z. B. PCI-Bus, Se rielle Busse wie z. B. Ethernet) b) network (for example, bus systems, such. as PCI bus, Se rial such buses., Ethernet)
  • c) Kopplung an einen internen Registersatz oder mehrere in terne Registersätze c) coupling to an internal register set or more in terne register sets
  • d) andere Speichermedien (Festplatte, Flash-ROM, etc.) d) other storage media (hard disk, flash ROM, etc.)

Es sei erwähnt, daß hier als ein "Prozessor" auch ein Dual- Prozessorsystem und/oder ein andere Anordnungen aufweisendes System insbesondere mit mehr als zwei konventionellen Prozes soren gemeint sein kann. It should be noted that herein as a "processor", a dual processor system and / or other arrangements exhibiting system, in particular with more than two sensors may be conventional Prozes meant. Gleichfalls und/oder alternativ sind mehrere rekonfigurierbare Bausteine gleichzeitig verwendbar. Also and / or alternatively a plurality of reconfigurable modules can be used simultaneously.

Übersetzungsprinzip translation principle

Aus einem PROGRAMM werden mittels eines PRÄPROZESSORS die Teile extrahiert, die sich auf die jeweils bestimmte(n) VPU(s) effizient und/oder sinnvoll abbilden lassen. the parts are extracted from a program by means of a preprocessor that can be mapped sense which (s) efficiently and / or to a particular (n) VPU. Diese Teile werden in einem für VPUs geeigneten Format ausgegeben (NML). These parts are output in a suitable format for VPUs (NML).

Der verbleibende Code und/oder der extrahierte Code wird an der Stelle der durch die Extraktion fehlenden Code-Teile um einen Interface-Code erweitert, der entsprechend der Archi tektur des Zielsystems die Kommunikation zwischen PROZES SOR(en) und VPU(s) steuert. The remaining code and / or the extracted code is expanded at the location of the missing by the extraction code parts to an interface code corresponding to the Archi tecture of the target system communication between Prozes SOR (s) and VPU (s) controls. Der verbleibende und ggf. erwei terte Code wird in Form einer klassischen Hochsprache ausge geben (HOSTCODE), wobei die Gattung des ausgegebenen Codes insbesondere exakt der Gattung der ursprünglichen HOCHSPRACHE entsprechen kann. The remaining and optionally Erwei shouldered code is in the form of a conventional high-level language give (HOSTCODE), wherein the genre of the output codes can in particular correspond exactly to the original genus of HIGH-LEVEL LANGUAGE.

Diese extrahierte HOCHSPRACHE wird mittels eines gewöhnlichen Standard-Übersetzers für den/die jeweiligen PROZESSOR(en) übersetzt, wobei es möglich ist, dies so zu gestalten, daß keinerlei besondere Anpassung des Übersetzers an die verwen dete Datenverarbeitungsarchitektur notwendig ist. This extracted HIGH-translated by an ordinary standard translator for / the respective PROCESSOR (s), whereby it is possible to make it so that no special adaptation of the translator to the USAGE finished computing architecture is necessary.

Durch dieses Verfahren wird der Implementierungsaufwand der Programmierumgebung erheblich vereinfacht. By this method, the implementation complexity of the programming environment is considerably simplified. Zudem kann der An wender den PROZESSOR weiterhin in der ihm bekannten Program mierumgebung, die er frei wählen kann, programmieren und de buggen. In addition, the on pancake can continue programming environment the PROCESSOR in the known his program, he is free to choose program and Buggen de.

Übersetzungsablauf translation process Extraktion extraction

Zunächst wird der für eine VPU geeignet erscheinende Code aus dem PROGRAMM extrahiert. First of which seems appropriate for a VPU code from the PROGRAM is extracted. Die Extraktion kann auf unterschied lichen Methoden basieren, die einzeln oder kombiniert ange wendet werden. The extraction can be based on different service methods that is individually or in combination applies to. Folgende Methoden sollen beispielhaft detail lierter beschrieben werden. The following methods will be exemplified detail profiled.

Extraktion durch Hints Extraction by Hints

Der Programmierer gibt explizit durch Hinweise (Hints) inner halb des PROGRAMMES Anweisungen, welche Teile extrahiert wer den sollen. The programmer is explicitly notes (hints) inner half of the PROGRAM instructions which parts extracted who the intended. Beispielsweise kann dies folgendermaßen erfolgen: For example, this can be done as follows:

. , . , . ,
Code code
. , . , . ,
/ / START_NML_EXTRACTION / / START_NML_EXTRACTION
Zu extrahierender Code To be extracted code
/ / END_NML_EXTRACTION / / END_NML_EXTRACTION
. , . , . ,
Code code
. , . , . ,

"/ / START_NML_EXTRACTION" kennzeichnet den Beginn eines zu extrahierenden Codes. "/ / START_NML_EXTRACTION" marks the beginning of a to be extracted codes.
"/ / END_NML_EXTRACTION" kennzeichnet das Ende eines zu extra hierenden Codes. "/ / END_NML_EXTRACTION" marks the end of one to extract codes.

In einem solchen Fall ist die Einheit zur Umsetzung des Pro gramms in Konfigurationscodes dazu ausgebildet, die Hints be ziehungsweise Umsetzungsvorgaben zu erkennen. In such a case, the unit for implementation of the program Pro is made in configuration code to recognize the hints be relationship as implementation guidelines.

Extraktion durch Aufruf von NML-Routinen Extraction by calling routines NML

Der Programmierer implementiert Teile des PROGRAMMES direkt in NML und springt in die NML-Routinen durch Aufrufe (calls). The programmer implements parts of the PROGRAM directly in NML and jumps into the NML routines by calls (calls). Beispielsweise erfolgt dies derart: For example, this is done in such a way:

  • a) NML-Code a) NML Code
    . , . , . ,
    procedure EXAMPLE procedure EXAMPLE
    begin begin
    . , . , . ,
    end end
    . , . , . ,
  • b) PROGRAMM Code b) program code
    . , . , . ,
    Code code
    . , . , . ,
    call EXAMPLE / / Aufruf des NML-Codes EXAMPLE call / / Calling the NML codes
    . , . , . ,
    Code code
    . , . , . ,

In diesem Fall ist die Einheit zur Umsetzung dazu ausge bildet, NML-Programmteile, das heißt Programmteile zur Aus führung in und/oder auf einem rekonfigurierbaren Array in ein größeres Programm einzubinden. In this case the unit is to implement to be formed, NML program parts, ie parts of the program for imple mentation in and / or on a reconfigurable array into a larger program to integrate.

Extraktion durch Analyse Extracting by analysis

Durch an die jeweilig VPU angepaßte Analysemethoden werden Teile innerhalb des PROGRAMMES erkannt, die effizient und/oder sinnvoll auf die VPU abbildbar sind. By adapted to the respective VPU analytical parts are detected within the PROGRAM that are efficient and / or reasonably handled on the VPU. Diese Teile werden aus dem PROGRAMM extrahiert. These parts are extracted from the program.

Eine beispielsweise für viele VPUs geeignete Analysemethode ist der Aufbau von Datenfluß- und/oder Kontrollflußgraphen aus dem PROGRAMM. A suitable example for many VPUs analysis method is the establishment of data flow and / or control flow from the program. Diese Graphen können hinsichtlich ihrer möglichen Partitionierung und/oder Abbildung auf die Ziel-VPU automatisch untersucht werden. These graphs can be automatically tested for the target VPU terms of their possible partitioning and / or picture. In diesem Fall werden die Tei le der generierten Graphen bzw. die entsprechenden PROGRAMM- Teile, extrahiert; In this case, the Tei le of the generated graph and the corresponding PROGRAM parts are extracted; die sich hinreichend gut partitionieren und/oder abbilden lassen. which is sufficiently well-partition and / or can be mapped. Hierzu kann eine Partitionierbar keits- und/oder Abbildbarkeitsanalyse erfolgen, die die je weilige Eigenschaft bewertet. For this purpose, a partitioned-speed and / or carried mappability that evaluates the eg large property.

Übersetzung in NML Translation into NML

Eine für die implementierte VPU geeignete Übersetzung des ex trahierten Codes nach NML wird durchgeführt. A suitable for the implemented VPU translation of ex trahierten codes by NML is performed.

Für datenflußorientierte VPUs kann beispielsweise automatisch ein Datenfluß- und/oder Kontrollflußgraph aufgebaut werden. For datenflußorientierte VPUs a data flow and / or control flow can for example be set up automatically. Die Graphen werden dann in NML-Code übersetzt. The graphs are then translated into NML code. Dabei kann ge gebenenfalls bereits das Abbilden auf die VPU erfolgen, bei spielsweise mittels der Durchführung des Plazierens der benö tigten Ressourcen und des Routens der Verbindungen (Place and Route). It can ge optionally already take place on the mapping of the VPU in play by means of the implementation of placing the Benö preferential resources and the routing of the compounds (place and route). Dies geschieht zum Beispiel nach typischen bekannten Regeln des Plazierens und Routens. This happens, for example, for typical known rules of placing and routing.

Analyse analysis

Mittels einer automatischen Analysemethode wird der extra hierte Code und/oder der übersetzte NML-Code auf seine Verar beitungseffizienz hin analysiert. By means of an automatic method of analysis of the extra-hierte code and / or the translated NML code is on its proces beitungseffizienz analyzed. Dabei ist die Analysemetho de bevorzugt so gewählt, daß der Interface-Code und die dar aus entstehenden Performanceeinflüsse an geeigneter Stelle mit in die Analyse einfließen. The analytical methods de is preferably chosen so that the interface code and the flow is from the resulting performance influences at a suitable point in the analysis.

Gegebenenfalls wird die Analyse durch eine komplette Überset zung und Implementierung auf dem Hardware-System durchge führt, indem das PROGRAMM ausgeführt und mit geeigneten Me thoden, wie sie beispielsweise nach dem Stand der Technik be kannt sind, vermessen wird. Optionally, the analysis is complete wetting by a transla and implemented on the hardware system performs Runaway by the program is executed and methods with appropriate Me, as for example, be according to the prior art are known, is measured.

Loop loop

Basierend auf den durchgeführten Analysen, können verschiede ne durch die Extraktion für eine VPU gewählte Teile als unge eignet identifiziert werden. Based on the analyzes carried out, DIFFERENT can be identified by the extraction of a VPU selected parts suitable as unge. Umgekehrt kann die Analyse erge ben, daß bestimmte für einen PROZESSOR extrahierte Teile zur Ausführung auf einer VPU geeignet wären. Conversely, the analysis can ben erge that certain parts extracted for a processor for execution on a VPU would be suitable.

Eine optionale Schleife, die nach der Analyse basierend auf geeigneten Entscheidungskriterien zurück in den Extraktion steil führt, um diesen mit entsprechend der Analyse angepaß ten Extraktionsvorgaben erneut auszuführen, ermöglicht die Optimierung des Übersetzungsergebnisses. An optional loop to appropriate decision criteria steep leading to the analysis based back into the extraction in order to perform these according to the analysis with angepaß th extraction specifications, allows to optimize the translation result. Man hat somit eine Iteration. therefore, you had one iteration.

Die Schleife kann an mehreren unterschiedlichen Stellen in den Compilerlauf eingebracht sein. The loop may be placed at several different locations in the compiler run.

Einbindung der PROZESSOR- und VPU-Compiler Integration of the PROCESSOR and the VPU compiler

Der ausgegebene Code ist üblicherweise vollständig und ohne weitere Eingriffe auf den jeweils nachfolgenden Compilern ausführbar. The output code is typically executed completely and without further intervention on the respective subsequent compilers. Gegebenenfalls werden Compilerflags und Con straints für die nachfolgenden Compiler generiert, wobei der Anwender optional eigene Vorgaben hinzufügen und/oder die ge nerierten Vorgaben modifizieren kann. If necessary, compiler flags and Con straints are generated for the following compiler and the user optionally add their own requirements and / or modify the ge nerierten specifications. Die nachfolgenden Com piler benötigen keine wesentlichen Modifikationen, sodaß Standard-Tools einsetzbar sind. The following Com piler require no major modifications, so that standard tools can be used.

Das vorgeschlagene Verfahren eignet sich somit beispielsweise insbesondere als Präprozessor vor Compilern und Entwicklungs systemen. The proposed method is therefore suitable for example in particular as a preprocessor before compilers and development systems.

Interface-Code Interface Code

Der Interface-Code, der in den extrahierten Code eingesetzt wird, kann durch unterschiedliche Verfahren vorgegeben wer den. The interface code, which is used in the extracted code can be predetermined by the different methods who. Bevorzugt wird der Interface-Code in einer Datenbank ab gelegt, auf die zugegriffen wird. the interface code is preferred in a database set is accessed. Die Einheit zur Umsetzung kann so ausgebildet sein, daß sie eine Auswahl des Program mierers berücksichtigt, der beispielsweise durch Hinweise im PROGRAMM oder durch Compilerflags den passenden Interface- Code auswählt. The unit for conversion can be designed such that they mierers considered a selection of the program, which selects for example by instructions in the program or by the compiler flags matching interface code. Dabei kann der für das jeweils verwendete Im plementierungsverfahren geeignete Interface-Code gewählt wer den. In this case, the chosen for each used suitable in plementierungsverfahren interface code to whoever.

Die Datenbank selbst kann durch unterschiedliche Methoden aufgebaut und gewartet werden. The database itself can be constructed by different methods and maintained. Einige Beispiele sollen zur Verdeutlichung der Möglichkeiten angeführt werden: A few examples will be cited to illustrate the possibilities:

  • a) Der Interface-Code kann vom Lieferanten des Compilers für bestimmte Verbindungsverfahren vorgegeben werden. a) The interface code can be specified by the supplier of the compiler for certain connection method. Dies kann bei der Organisation der Datenbank berücksichtigt werden, indem entsprechende Speichermittel für diese An gaben bereitgehalten werden. This can be considered in the organization of the database by appropriate storage means for this infor mation to be kept.
  • b) Der Interface-Code kann vom Benutzer, der den Systemauf bau bestimmt hat, selbst geschrieben oder aus bestehenden (Beispiel-) Interface-Codes modifiziert und der Datenbank zugefügt werden. b) The interface code may be written to or modified from existing itself (exemplary) interface code and added to the database by the user who has determined the Systemauf construction. Das Datenbankmittel wird hierzu bevor zugt benutzermodifizierbar gestaltet, um dem Benutzer die Datenbankmodifikation zu ermöglichen. The database means is this before Trains t user modifiable designed to allow the user to database modification.
  • c) Der Interface-Code kann von einem Entwicklungssystem, mit dem beispielsweise der Systemaufbau geplant und/oder be schrieben und/oder getestet wurde, automatisch generiert werden. c) The interface code may be of a development system with the example of the system construction planned and / or be written and / or tested, are generated automatically.

Der Interface-Code ist gewöhnlicherweise derart gestaltet, daß er den Anforderungen der Programmiersprache entspricht, in der der extrahierte Code vorliegt in den der Interface- Code eingefügt werden soll. The interface code is usually designed such that it complies with the programming language in which the extracted code is present in the interface of the code to be inserted.

Debugging und Integration der Toolsets Debugging and integration of toolsets

In die Interface-Codes können Kommunikationsroutinen einge führt werden, um die unterschiedlichen Entwicklungssysteme für PROZESSOR und VPU zu synchronisieren. In the interface codes communication routines can be lead to synchronize the different development systems for PROCESSOR and the VPU. Insbesondere kann der Code für die jeweiligen Debugger aufgenommen werden. In particular, the code for the respective debugger can be added.

Der Interface-Code steuert den Datenaustausch zwischen PRO ZESSOR und VPU. The interface code controls the data exchange between PRO PROCESSOR and VPU. Er ist daher eine geeignete und bevorzugte Schnittstelle, um die jeweiligen Entwicklungssysteme und De buggets zu steuern. It is therefore a suitable and preferred interface to control the respective development systems and De buggets. Es ist beispielsweise möglich, einen De bugger für den PROZESSOR solange zu aktivieren, wie die Daten von dem Prozessor verarbeitet werden. It is for example possible to activate an De bugger for the processor as long as the data are processed by the processor. Sobald die Daten über den Interface-Code an eine (oder mehrere) VPU übergeben wer den, ist ein Debugger für VPUs zu aktivieren. Once the data on the interface code to one (or more) VPU who passed the is to enable a debugger for VPUs. Wird der Code zurück an den PROZESSOR gesendet, soll wiederum der PROZES SOR-Debugger aktiviert werden. If the code is sent back to the PROCESSOR, turn the Prozes SOR debugger should be activated.

Es ist daher also möglich und bevorzugt, derartige Abläufe durch das Einfügen von Steuercodes für Debugger und/oder Ent wicklungssysteme in den Interface-Code abzuwickeln. Therefore, it is therefore possible and preferable to such sequences by inserting control codes for debuggers and / or devel opment systems handle the interface code.

Die Kommunikation und Steuerung zwischen den unterschiedli chen Entwicklungssystemen soll daher bevorzugt mittels in die Interface-Codes von PROZESSOR und/oder VPU eingebrachte Steu ercodes abgewickelt werden. The communication and control between the differing chen development systems should therefore preferably be handled by means introduced into the interface codes of processor and / or VPU STEU ercodes. Die Steuercodes können dabei be stehenden Standards für die Steuerung von Entwicklungssyste men weitgehend entsprechen. The tax code can thereby be related standards for the control of Entwicklungssyste men largely correspond.

Die Verwaltung und Kommunikation der Entwicklungssysteme wird vorzugsweise wie beschrieben in die Interface-Codes abgewic kelt, kann jedoch - sofern sinnvoll - auch getrennt von die sen, nach einem entsprechenden ähnlichen Verfahren abgewic kelt werden. The management and communication of the development systems Celtic preferably abgewic in the interface codes as described, but may - if appropriate - separated from the sen, abgewic after a corresponding similar procedures Celtic.

Beschreibung der Figuren DESCRIPTION OF THE FIGURES

Fig. 1 verdeutlicht das vorgeschlagene Verfahren und zeigt einen möglichen Systemaufbau. Fig. 1 illustrates the proposed method and shows a possible system structure. Dabei ist ein PROZESSOR ( 0101 ) über ein geeignetes Interface ( 0102 ) zum Daten- und Statu saustausch mit einer VPU ( 0103 ) verbunden. Here, a processor (0101) via a suitable interface (0102) for data and statu EXCHA GE is connected to a VPU (0103).

Ein PROGRAMM-Code ( 0110 ) wird in einen für den PROZESSOR ge eigneten Teil ( 0111 ) und einen VPU-geeigneten Teil ( 0112 ) zerlegt. A program code (0110) is separated into a ge suitable for the processor portion (0111) and a VPU suitable part (0112).

0111 wird durch einen Standard-Compiler ( 0113 ) übersetzt, wo bei zusätzlicher Code zur Beschreibung und Verwaltung des In terfaces ( 0102 ) aus einer Datenbank ( 0114 ) eingefügt wird. 0111 is translated by a standard compiler (0113), where it is added with additional code for description and management of the in terfaces (0102) from a database (0114). Auf 0101 ausführbarer sequentieller Code wird generiert ( 0116 ) und sofern notwendig die entsprechende Programmierung ( 0117 ) des Interfaces ( 0102 ). Executable on 0101 sequential code is generated (0116) and, if necessary, the corresponding programming (0117) of the interface (0102).

0112 wird durch einen VPU-Compiler ( 0115 ) übersetzt, wobei ein zusätzlicher Code zur Beschreibung und Verwaltung des Inter faces ( 0102 ) aus einer Datenbank ( 0114 ) eingefügt wird. 0112 is translated by a VPU compiler (0115), wherein an additional code for describing and managing of the inter faces (0102) from a database (0114) is inserted. Auf 0103 ausführbare Konfigurationen werden generiert ( 0118 ) und sofern notwendig die entsprechende Programmierung ( 0119 ) des Interfaces ( 0102 ). In 0103 executable configurations are generated (0118) and, if necessary, the corresponding programming (0119) of the interface (0102).

In Fig. 2 ist beispielhaft ein prinzipieller Ablauf einer Compilation dargestellt. In Fig. 2 is a basic sequence of a compilation is exemplified. Ein PROGRAMM ( 0201 ) wird in der Ex traktionseinheit ( 0202 ) nach unterschiedlichen Verfahren in VPU-Code ( 0203 ) und PROZESSOR-Code ( 0204 ) zerlegt. A program (0201) is decomposed in the ex traction unit (0202) by different methods in VPU code (0203) and processor code (0204). Unter schiedliche Methoden können in beliebiger Kombination zur Ex traktion angewendet werden, beispielsweise Hinweise im ur sprünglichen PROGRAMM ( 0205 ), Unterprogrammaufrufe ( 0206 ) und/oder Analyseverfahren ( 0207 ). Under schiedliche methods can be used in any combination for ex traction be applied, for example, notes in ur sprünglichen PROGRAM (0205), subroutine calls (0206) and / or analysis methods (0207). Der jeweils extrahierte Code wird ggf. übersetzt und ggf. auf seine Eignung für das jeweilige Zielsystem hin überprüft ( 0208 ). The code extracted is possibly translated and possibly tested for its suitability for the particular target system (0208). Dabei ist eine Rückkopplung ( 0209 ) auf die Extraktion möglich, um Verbesse rungen durch eine geänderte Zuordnung der Codes zum PROZESSOR oder einer VPU zu erhalten. In this case, a feedback (0209) to the extraction is possible to obtain IMPROVE stanchions by a change in the allocation of the codes to the processor or a VPU.

Danach ( 0211 ) wird 0203 durch den Interface-Code aus einer Datenbank ( 0210 ) erweitert ( 0212 ) und/oder 0204 wird durch den Interface-Code aus 0210 zu 0213 erweitert. Thereafter, (0211) 0203 is expanded by the interface code from a database (0210) (0212) and / or 0204 is expanded by the interface code 0210 to 0213th

Der entstandene Code wird auf seine Performance analysiert ( 0214 ), ggf. ist eine Rückkopplung ( 0215 ) auf die Extraktion möglich, um Verbesserungen durch eine geänderte Zuordnung der Codes zum PROZESSOR oder einer VPU zu erhalten. The resulting code is analyzed for its performance (0214), optionally a feedback (0215) to the extraction is possible to obtain improvements by a change in the allocation of the codes to the processor or a VPU.

Der entstandene VPU-Code ( 0216 ) wird für eine weitere Über setzung an einen nachgeschalteten für die VPU geeigneten Com piler weitergegeben. The resulting VPU code (0216) is for further trans lation passed piler to a downstream suitable for the VPU Com. Der entstandene PROZESSOR-Code ( 0217 ) wird für die weitere Übersetzung in einem beliebigen nachge schalteten für den PROZESSOR geeigneten Compiler weiterverar beitet. The resulting PROCESSOR code (0217) is for further translation into any nachge off the PROCESSOR appropriate compiler beitet weiterverar.

Es soll angemerkt werden, daß einzelne Schritte je nach Ver fahren ausgelassen werden können. It should be noted that some steps may be omitted, depending on driving Ver. Wesentlich ist, daß weitge hend kompletter und ohne Eingriff durch den Programmierer di rekt übersetzbarer Code an die jeweils nachgeschalteten Com pilersysteme ausgegeben wird. It is essential that weitge basis complete and without intervention by the programmer di rectly translatable code is outputted to the respective downstream pilersysteme Com.

Die Datenbank für die Interface-Codes ( 0210 ) wird unabhängig und vor dem Compilerdurchlauf aufgebaut. The database for the interface codes (0210) is constructed independently and prior to the compiler run. Beispielsweise sind folgende Quellen für die Datenbank möglich: Vom Lieferanten vorgegeben ( 0220 ), vom Benutzer programmiert ( 0221 ) oder au tomatisch von einem Entwicklungssystem generiert ( 0222 ). For example, the following sources for the database are possible: specified by the supplier (0220), programmed by the user (0221) or au matically generated from a development system (0222).

Zusammenfassend befaßt sich die vorliegende Erfindung mit Verfahren, die eine Übersetzung einer klassischen Hochsprache wie Pascal, C, C++, Java, etc. auf eine rekonfigurierbare Ar chitektur ermöglicht. In summary, the present invention is concerned with methods which allows translation of a conventional high-level language such as Pascal, C, C ++, Java, etc., on a reconfigurable Ar chitecture. Das Verfahren ist derart ausgelegt, daß nur die jeweils für die rekonfigurierbare Zielarchitektur ge eigneten Teile des zu übersetzenden Programmes extrahiert werden. The process is designed such that only the ge for each of the reconfigurable target architecture suitable parts of the program to be translated are extracted. Die verbleibenden Teile des Programmes werden auf ei ne konventionelle Prozessorarchitektur übersetzt. The remaining parts of the program will be translated into ei ne conventional processor architecture.

Claims (14)

  1. 1. Verfahren zur Übersetzung von Programmen auf ein System bestehend aus wenigstens einem ersten Prozessor und einer rekonfigurierbaren Einheit, dadurch gekennzeichnet , daß die Codeteile, die für die rekonfigurierbare Einheit ge eignet sind, bestimmt und extrahiert werden und der verbleibende Code zur Abarbeitung durch den ersten Prozessor derart extrahiert wird. 1. A method of compiling programs to a system consisting of at least a first processor and a reconfigurable unit, characterized in that the code parts that are ge for the reconfigurable unit is to be determined, and extracted, and the remaining code for execution by the first processor is extracted in such a manner.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß dem für den Prozessor extrahierten Code derart Interface-Code zugefügt wird, daß eine Kommunikation zwischen Prozessor und rekonfigurierbarer Einheit entsprechend des Systems möglich ist. 2. The method according to claim 1, characterized in that the extracted code for the processor interface code is added such that a communication between the processor and reconfigurable unit is possible in accordance with the system.
  3. 3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß dem für die rekonfigurierbare Einheit extrahierten Code derart Interface-Code zugefügt wird, daß eine Kommunikation zwischen Prozessor und rekonfigurierba rer Einheit entsprechend des Systems möglich ist. 3. The method according to any one of the preceding claims, characterized in that the extracted for the reconfigurable unit code interface code is added such that a communication between the processor and rekonfigurierba rer unit is possible in accordance with the system.
  4. 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der zu extrahierende Code aufgrund von Analysen festge stellt wird. 4. The method according to any one of the preceding claims, characterized in that the code to be extracted Festge based on analysis provides is.
  5. 5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der zu extrahierende Code aufgrund von Hinweisen im Code festgestellt wird. 5. The method according to any one of the preceding claims, characterized in that the to be extracted code is detected on the basis of instructions in the code.
  6. 6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der zu extrahierende Code aufgrund von Aufrufen von Unter programmen festgestellt wird. 6. The method according to any one of the preceding claims, characterized in that the to be extracted code is detected by sub-programs on the basis of calls.
  7. 7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Interface-Code eine Speicherkopplung (Shared-Memory) vorsieht. 7. The method according to any one of the preceding claims, characterized in that the interface code provides a memory coupling (shared memory).
  8. 8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Interface-Code eine Registerkopplung vorsieht. 8. The method according to any one of the preceding claims, characterized in that the interface code register provides for a coupling.
  9. 9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Interface-Code eine Kopplung mittels eines Netzwerkes vorsieht. 9. A method according to claim 1, characterized in that the interface code provides for a coupling by means of a network.
  10. 10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der extrahierte Code analysiert wird und gegebenenfalls die Extraktion mit neuen verbesserten Parametern erneut gestartet wird. 10. The method according to any one of the preceding claims, characterized in that the extracted code is analyzed and, if appropriate, the extraction with new improved parameters is restarted.
  11. 11. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß dem extrahierten Code Steuer-Code zur Verwaltung und/oder Steuerung und/oder Kommunikation der Entwicklungssysteme zugefügt wird. 11. The method according to claim 1, characterized in that the extracted code control code to manage and / or control and / or communication systems development is added.
  12. 12. Verfahren nach einem der vorhergehenden Ansprüche, worin der erste Prozessor eine konventionelle Prozessorarchitek tur aufweist, insbesondere ein Prozessor mit von -Neumann- und/oder Harvardarchitektur, Kontroller, CISC-, RISC-, VLIW-, DSP-Prozessor. 12. The method according to any one of the preceding claims, wherein the first processor comprises a conventional Prozessorarchitek structure, in particular a processor of -Neumann- and / or Harvard architecture, controller, CISC, RISC, VLIW DSP processor.
  13. 13. Verfahren insbesondere nach einem der vorhergehenden An sprüche zur Übersetzung von Programmen auf ein System be stehend aus einem Prozessor und einer rekonfigurierbaren Einheit, dadurch gekennzeichnet, daß 13. A method especially according to one of the preceding claims for the translation of programs to a system be detached from a processor and a reconfigurable unit, characterized in that
    die Codeteile, die für die rekonfigurierbare Einheit ge eignet sind, extrahiert werden, code parts, which are suitable for the reconfigurable unit GE, are extracted,
    der verbleibende Code derart extrahiert wird, daß er mit tels eines beliebigen gewöhnlichen unmodifizierten für den Prozessor geeigneten Compilers übersetzbar ist. the remaining code is extracted so that it is translatable with means of any ordinary unmodified suitable for the processor compiler.
  14. 14. Vorrichtung zur Datenverarbeitung mit wenigstens einem herkömmlichen Prozessor und wenigstens einer rekonfigu rierbaren Einheit, dadurch gekennzeichnet, daß sie ein Mittel zum Informationsaustausch, insbesondere in Form von Daten- und Statusinformation zwischen herkömmlichem Pro zessor und rekonfigurierbarer Einheit aufweist, wobei das Mittel so ausgebildet ist, daß eine Daten- und Statusinfor mation zwischen denselben während der Abarbeitung eines oder mehrerer Programme möglich ist und/oder ohne daß ins besondere die Datenverarbeitung auf dem rekonfigurierbaren Prozessor und/oder dem herkömmlichen Prozessor signifikant unterbrochen werden muß. 14. An apparatus for data processing with at least one conventional processor and at least one rekonfigu regener- unit, characterized in that it cessor means for information exchange, in particular in the form of data and status information between conventional Pro and having reconfigurable unit, wherein the means is adapted that a data and Statusinfor mation between them is during the execution of one or more programs possible and / or without having to significantly interrupted in particular the data processing on the reconfigurable processor and / or the conventional processor.
DE2001129237 2000-10-09 2001-06-20 Integrated cell matrix circuit has at least 2 different types of cells with interconnection terminals positioned to allow mixing of different cell types within matrix circuit Withdrawn DE10129237A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EPPCT/EP00/10516 2000-10-09
EP01102674 2001-02-07

Applications Claiming Priority (42)

Application Number Priority Date Filing Date Title
PCT/EP2001/008534 WO2002008964A3 (en) 2000-07-24 2001-07-24 Integrated circuit
EP20010969493 EP1377919A2 (en) 2000-07-24 2001-07-24 Integrated circuit
US09967498 US20040015899A1 (en) 2000-10-06 2001-09-28 Method for processing data
US10471061 US7581076B2 (en) 2001-03-05 2002-03-05 Methods and devices for treating and/or processing data
US10469909 US7444531B2 (en) 2001-03-05 2002-03-05 Methods and devices for treating and processing data
US10469910 US20070299993A1 (en) 2001-03-05 2002-03-05 Method and Device for Treating and Processing Data
EP20020727358 EP1540507B1 (en) 2001-03-05 2002-03-05 Device for processing data with an array of reconfigurable elements
JP2002570104A JP2004536373A (en) 2001-03-05 2002-03-05 Data processing method and data processing apparatus
JP2002570103A JP2004535613A (en) 2001-03-05 2002-03-05 Data processing method and data processing apparatus
PCT/EP2002/002398 WO2002071248A3 (en) 2001-03-05 2002-03-05 Methods and devices for treating and/or processing data
EP20020712937 EP1454258A2 (en) 2001-03-05 2002-03-05 Method and devices for treating and/or processing data
EP20020724198 EP1386220B1 (en) 2001-03-05 2002-03-05 Methods and devices for treating and processing data
PCT/EP2002/002403 WO2002071249A3 (en) 2001-03-05 2002-03-05 Method and devices for treating and/or processing data
JP2002570052A JP4011488B2 (en) 2001-03-05 2002-03-05 Data processing and / or data processing method and apparatus
PCT/EP2002/002402 WO2002071196A3 (en) 2001-03-05 2002-03-05 Methods and devices for treating and processing data
JP2003505782A JP2004533691A (en) 2001-06-20 2002-06-20 Method for processing data
DE2002127650 DE10227650A1 (en) 2001-06-20 2002-06-20 reconfigurable elements
EP20100005502 EP2224330B1 (en) 2001-06-20 2002-06-20 Method and device for partitioning large computer programs
US10480003 US7657877B2 (en) 2001-06-20 2002-06-20 Method for processing data
PCT/EP2002/006865 WO2002103532A3 (en) 2001-06-20 2002-06-20 Data processing method
EP20020780770 EP1402382B1 (en) 2001-06-20 2002-06-20 Data processing method
DE2002514592 DE50214592D1 (en) 2001-06-20 2002-06-20 A method for processing data
JP2008249116A JP2009043276A (en) 2001-03-05 2008-09-26 Fifo method for storing
JP2008249115A JP2009043275A (en) 2001-03-05 2008-09-26 Method of forming sequence
JP2008249106A JP2009054170A (en) 2001-03-05 2008-09-26 Management method for data flow
JP2008249112A JP2009020909A (en) 2001-03-05 2008-09-26 Method for partitioning graph
JP2008249099A JP2009032281A (en) 2001-03-05 2008-09-26 Method for data transmission
US12257075 US8099618B2 (en) 2001-03-05 2008-10-23 Methods and devices for treating and processing data
US12389116 US20090210653A1 (en) 2001-03-05 2009-02-19 Method and device for treating and processing data
US12496012 US20090300262A1 (en) 2001-03-05 2009-07-01 Methods and devices for treating and/or processing data
US12570984 US8312301B2 (en) 2001-03-05 2009-09-30 Methods and devices for treating and processing data
US12640201 US20100095094A1 (en) 2001-06-20 2009-12-17 Method for processing data
US12944068 US9037807B2 (en) 2001-03-05 2010-11-11 Processor arrangement on a chip including data processing, memory, and interface elements
US13043102 US20110173389A1 (en) 2001-03-05 2011-03-08 Methods and devices for treating and/or processing data
US13653639 US9075605B2 (en) 2001-03-05 2012-10-17 Methods and devices for treating and processing data
US14219945 US9552047B2 (en) 2001-03-05 2014-03-19 Multiprocessor having runtime adjustable clock and clock dependent power supply
US14223793 US10031733B2 (en) 2001-06-20 2014-03-24 Method for processing data
US14231358 US9436631B2 (en) 2001-03-05 2014-03-31 Chip including memory element storing higher level memory data on a page by page basis
US14318211 US9250908B2 (en) 2001-03-05 2014-06-27 Multi-processor bus and cache interconnection system
US14500618 US9141390B2 (en) 2001-03-05 2014-09-29 Method of processing data with an array of data processors according to application ID
US15225638 US20160357555A1 (en) 2001-03-05 2016-08-01 Method of Transferring Data between External Devices and an Array Processor
US15408358 US20170192481A1 (en) 2001-03-05 2017-01-17 Methods and devices for treating and processing data

Publications (1)

Publication Number Publication Date
DE10129237A1 true true DE10129237A1 (en) 2002-04-18

Family

ID=45727532

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001129237 Withdrawn DE10129237A1 (en) 2000-10-09 2001-06-20 Integrated cell matrix circuit has at least 2 different types of cells with interconnection terminals positioned to allow mixing of different cell types within matrix circuit

Country Status (1)

Country Link
DE (1) DE10129237A1 (en)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006082091A2 (en) 2005-02-07 2006-08-10 Pact Xpp Technologies Ag Low latency massive parallel data processing device
US7650448B2 (en) 1996-12-20 2010-01-19 Pact Xpp Technologies Ag I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US7782087B2 (en) 2002-09-06 2010-08-24 Martin Vorbach Reconfigurable sequencer structure
US7822968B2 (en) 1996-12-09 2010-10-26 Martin Vorbach Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs
US7822881B2 (en) 1996-12-27 2010-10-26 Martin Vorbach Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
US7840842B2 (en) 2001-09-03 2010-11-23 Martin Vorbach Method for debugging reconfigurable architectures
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US8099618B2 (en) 2001-03-05 2012-01-17 Martin Vorbach Methods and devices for treating and processing data
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8156284B2 (en) 2002-08-07 2012-04-10 Martin Vorbach Data processing method and device
US8209653B2 (en) 2001-09-03 2012-06-26 Martin Vorbach Router
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8301872B2 (en) 2000-06-13 2012-10-30 Martin Vorbach Pipeline configuration protocol and configuration unit communication
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US8812820B2 (en) 2003-08-28 2014-08-19 Pact Xpp Technologies Ag Data processing device and method
US8819505B2 (en) 1997-12-22 2014-08-26 Pact Xpp Technologies Ag Data processor having disabled cores
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156312B2 (en) 1996-12-09 2012-04-10 Martin Vorbach Processor chip for reconfigurable data processing, for processing numeric and logic operations and including function and interconnection control units
US7822968B2 (en) 1996-12-09 2010-10-26 Martin Vorbach Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs
US7899962B2 (en) 1996-12-20 2011-03-01 Martin Vorbach I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US8195856B2 (en) 1996-12-20 2012-06-05 Martin Vorbach I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7650448B2 (en) 1996-12-20 2010-01-19 Pact Xpp Technologies Ag I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7822881B2 (en) 1996-12-27 2010-10-26 Martin Vorbach Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
USRE44383E1 (en) 1997-02-08 2013-07-16 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
USRE45223E1 (en) 1997-02-08 2014-10-28 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
USRE45109E1 (en) 1997-02-08 2014-09-02 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
US8819505B2 (en) 1997-12-22 2014-08-26 Pact Xpp Technologies Ag Data processor having disabled cores
US8468329B2 (en) 1999-02-25 2013-06-18 Martin Vorbach Pipeline configuration protocol and configuration unit communication
US8726250B2 (en) 1999-06-10 2014-05-13 Pact Xpp Technologies Ag Configurable logic integrated circuit having a multidimensional structure of configurable elements
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US8312200B2 (en) 1999-06-10 2012-11-13 Martin Vorbach Processor chip including a plurality of cache elements connected to a plurality of processor cores
US8301872B2 (en) 2000-06-13 2012-10-30 Martin Vorbach Pipeline configuration protocol and configuration unit communication
US9047440B2 (en) 2000-10-06 2015-06-02 Pact Xpp Technologies Ag Logical cell array and bus system
US8471593B2 (en) 2000-10-06 2013-06-25 Martin Vorbach Logic cell array and bus system
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US8099618B2 (en) 2001-03-05 2012-01-17 Martin Vorbach Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US8312301B2 (en) 2001-03-05 2012-11-13 Martin Vorbach Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US8145881B2 (en) 2001-03-05 2012-03-27 Martin Vorbach Data processing device and method
US9075605B2 (en) 2001-03-05 2015-07-07 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US8869121B2 (en) 2001-08-16 2014-10-21 Pact Xpp Technologies Ag Method for the translation of programs for reconfigurable architectures
US8209653B2 (en) 2001-09-03 2012-06-26 Martin Vorbach Router
US8407525B2 (en) 2001-09-03 2013-03-26 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US7840842B2 (en) 2001-09-03 2010-11-23 Martin Vorbach Method for debugging reconfigurable architectures
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US8429385B2 (en) 2001-09-03 2013-04-23 Martin Vorbach Device including a field having function cells and information providing cells controlled by the function cells
US8069373B2 (en) 2001-09-03 2011-11-29 Martin Vorbach Method for debugging reconfigurable architectures
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8156284B2 (en) 2002-08-07 2012-04-10 Martin Vorbach Data processing method and device
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US8281265B2 (en) 2002-08-07 2012-10-02 Martin Vorbach Method and device for processing data
US7928763B2 (en) 2002-09-06 2011-04-19 Martin Vorbach Multi-core processing system
US8310274B2 (en) 2002-09-06 2012-11-13 Martin Vorbach Reconfigurable sequencer structure
US7782087B2 (en) 2002-09-06 2010-08-24 Martin Vorbach Reconfigurable sequencer structure
US8803552B2 (en) 2002-09-06 2014-08-12 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US8812820B2 (en) 2003-08-28 2014-08-19 Pact Xpp Technologies Ag Data processing device and method
WO2006082091A2 (en) 2005-02-07 2006-08-10 Pact Xpp Technologies Ag Low latency massive parallel data processing device
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software

Similar Documents

Publication Publication Date Title
DE4416881C2 (en) A method of operating a data processing device
DE4410775A1 (en) Electronic control system for automobile applications
EP1146432B1 (en) Reconfiguration method for programmable components during runtime
DE19807872A1 (en) Method of managing configuration data in data flow processors
DE19926538A1 (en) Hardware with decoupled configuration register partitions data flow or control flow graphs into time-separated sub-graphs and forms and implements them sequentially on a component
EP0722140A1 (en) Method of writing program for specific business
DE102008052930A1 (en) Vision sensor for recording image of part to be tested in quality control area during production processes, has image pickup sensor, where image data read from sensor is stored in image storage that is connected to software processing unit
Ferenc et al. Extracting facts with Columbus from C++ code
DE102006052757A1 (en) Automation device for use with engineering system, has processing unit i.e. cell processor, provided with processing cores for controlling, monitoring and/or influencing technical processes, where processing cores execute operating systems
DE10138533A1 (en) Protection of control programs transmitted over the Internet from a developer to a customer using asymmetric encryption of the program code, which is decrypted by the end user after parameter editing
DE10015114A1 (en) Method and apparatus for modeling a mechatronic system in a motor vehicle
DE19942315A1 (en) A method for configuration and parameter setting of a computer program for operating a plant for the process data processing
DE10129237A1 (en) Integrated cell matrix circuit has at least 2 different types of cells with interconnection terminals positioned to allow mixing of different cell types within matrix circuit
DE19914617C2 (en) Processor and method for executing instructions on packed data
EP0825540A1 (en) Pipeline processor
EP1387260A1 (en) Method and system for software development
DE10235610A1 (en) Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation
DE3609925A1 (en) Device for simulating neuron systems
DE3710507A1 (en) A method for continuously recognize spoken words
DE4445651A1 (en) Method for controlling technical processes
DE19910311A1 (en) Automation system with reusable automation objects and methods for reusing automation solutions in engineering tools
EP1674954A1 (en) System and method for reusing of design related data
EP1038221B1 (en) Method for checking path coverage in software tests
Hackett et al. Programs for cheap!
DE10163206A1 (en) A method of operating a data processing apparatus and structure of a data processing unit such as programmable controller

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8143 Withdrawn due to claiming internal priority