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 circuitInfo
- Publication number
- DE10129237A1 DE10129237A1 DE10129237A DE10129237A DE10129237A1 DE 10129237 A1 DE10129237 A1 DE 10129237A1 DE 10129237 A DE10129237 A DE 10129237A DE 10129237 A DE10129237 A DE 10129237A DE 10129237 A1 DE10129237 A1 DE 10129237A1
- Authority
- DE
- Germany
- Prior art keywords
- code
- processor
- extracted
- interface
- reconfigurable
- 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
Links
- 239000011159 matrix material Substances 0.000 title abstract 4
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000000605 extraction Methods 0.000 claims description 18
- 238000011161 development Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000010354 integration Effects 0.000 abstract description 3
- 238000013461 design Methods 0.000 abstract description 2
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 14
- 238000013519 translation Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229940036310 program Drugs 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
Abstract
Description
Die vorliegende Erfindung befaßt sich mit herkömmlichen, d. h. 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, i.e. H. conventional and reconfigurable architectures as well with procedures for this, which are a translation of a classic High level language (PROGRAM) such as Pascal, C, C ++, Java, etc. possible lichen, especially on a reconfigurable architecture.
Unter einer konventionellen Prozessorarchitektur (PROZESSOR) werden vorliegend beispielsweise sequentielle Prozessoren mit einer von-Neumann- oder Havardarchitektur verstanden, wie z. B. Kontroller, CISC-, RISC-, VLIW-, DSP- u. ä. Prozessoren.Under a conventional processor architecture (PROZESSOR) are sequential processors in the present case one of von Neumann or Havard architecture understood how z. B. controller, CISC, RISC, VLIW, DSP and Processors.
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 are available gend blocks (VPU) with configurable function and / or Networking understood, especially with integrated modules a plurality of one- or multi-dimensionally arranged, arithmetic and / or logical and / or analog and / or storing assemblies, directly or through a bus system are interconnected.
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. 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. Diese sind hiermit zu Offenbarungszwecken vollumfänglich eingegliedert.The kind of these building blocks include in particular systolic ones Arrays, neural networks, multiprocessor systems, processors with several arithmetic units and / or logical cells, networked tion and network components such. B. crossbar switch, as well as known modules of the FPGA, DPGA, XPUTER, etc. It is particularly pointed out in this context to the following property rights 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. These are hereby fully incorporated 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. Umgekehrt gibt es auch solche Ver fahren und Programmabläufe, die besser mit einer konventio nellen Prozessorarchitektur ausgeführt werden können.It has been shown that there are certain procedures and pro gram sequences that are better with a reconfigurable let architecture work through than with a conventional one len processor architecture. Conversely, there are also such ver drive and program flows that are better with a konventio nelle processor architecture can be executed.
Die Aufgabe dieser Erfindung besteht darin Neues für die ge werbliche Anwendung bereitzustellen.The object of this invention is new for the ge to provide advertising application.
Die Lösung dieser Aufgabe wird in unabhängiger Form bean sprucht. This task is solved in an independent form sprucht.
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. Die verbleibenden Teile des Programmes können dann auf eine konventionelle Prozessorarchitektur übersetzt werden.It has been recognized that it is desirable that methods for Data processing are designed so that only the respective particularly suitable for the reconfigurable target architecture parts of the program to be translated are extracted. The remaining parts of the program can then be on a conventional processor architecture can be translated.
Weiterhin sei angemerkt, daß die Verfahren auch auf Gruppen von mehreren Bausteinen angewendet werden können.Furthermore, it should be noted that the methods also apply to groups can be used by several blocks.
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 thus ver with one or more VPU (s) bound that an efficient exchange of information, in particular which is possible 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 recon configurable processor, such that a data and sta information between them during processing nes or more programs is possible and / or without ins special the data processing on the reconfigurable Processor and / or the conventional processor significant must be interrupted, and the formation of such a systems as far as can be seen from the following likewise claimed.
Es werden zunächst beispielsweise folgende Verbindungsverfah
ren und -mittel verwendet:
For example, the following connection methods and means are initially used:
- a) Shared-Memorya) 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 rielle buses such. B. Ethernet)
- c) Kopplung an einen internen Registersatz oder mehrere in terne Registersätze c) coupling to an internal register set or several in internal 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. Gleichfalls und/oder alternativ sind mehrere rekonfigurierbare Bausteine gleichzeitig verwendbar.It should be mentioned that here as a "processor" also a dual Processor system and / or other arrangements System especially with more than two conventional processes sensors can be meant. Likewise and / or are alternative Several reconfigurable blocks can be used simultaneously.
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. Diese Teile werden in einem für VPUs geeigneten Format ausgegeben (NML).A PROGRAM is turned into a PREPROCESSOR Extracts parts that refer to the specific Have the VPU (s) displayed efficiently and / or sensibly. This Parts are issued in a format suitable 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. 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 code and / or the extracted code is on the place of the missing code parts due to the extraction extended an interface code that corresponds to the Archi architecture of the target system the communication between PROZES SOR (en) and VPU (s) controls. The remaining and possibly extended The code is issued in the form of a classic high-level language enter (HOSTCODE), where the genus of the output code in particular exactly the genus of the original HIGH LANGUAGE can correspond.
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 LANGUAGE is made using an ordinary Standard translator for the respective PROCESSOR (s) translated, it being possible to do this in such a way that no special adaptation of the translator to the use dete data processing architecture is necessary.
Durch dieses Verfahren wird der Implementierungsaufwand der Programmierumgebung erheblich vereinfacht. Zudem kann der An wender den PROZESSOR weiterhin in der ihm bekannten Program mierumgebung, die er frei wählen kann, programmieren und de buggen.With this procedure the implementation effort of Programming environment considerably simplified. In addition, the An continue to use the PROCESSOR in the program known to him programming environment, which he can choose freely, programming and de Buggen.
Zunächst wird der für eine VPU geeignet erscheinende Code aus dem PROGRAMM extrahiert. Die Extraktion kann auf unterschied lichen Methoden basieren, die einzeln oder kombiniert ange wendet werden. Folgende Methoden sollen beispielhaft detail lierter beschrieben werden.First, the code that appears suitable for a VPU is made extracted from the PROGRAM. The extraction can differ on based methods that are used individually or in combination be applied. The following methods are intended as examples in detail be described.
Der Programmierer gibt explizit durch Hinweise (Hints) inner
halb des PROGRAMMES Anweisungen, welche Teile extrahiert wer
den sollen. Beispielsweise kann dies folgendermaßen erfolgen:
The programmer explicitly gives instructions (hints) within the PROGRAM which parts should be extracted. For example, this can be done as follows:
. . .
Code
. . .
/ / START_NML_EXTRACTION
Zu extrahierender Code
/ / END_NML_EXTRACTION
. . .
Code
. . .
, , ,
code
, , ,
// START_NML_EXTRACTION
Code to extract
// END_NML_EXTRACTION
, , ,
code
, , ,
"/ / START_NML_EXTRACTION" kennzeichnet den Beginn eines zu
extrahierenden Codes.
"/ / END_NML_EXTRACTION" kennzeichnet das Ende eines zu extra
hierenden Codes."/ / START_NML_EXTRACTION" marks the beginning of a code to be extracted.
"/ / END_NML_EXTRACTION" marks the end of a code to be added here.
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 to implement the pro trained in configuration codes to be the Hints to recognize implementation specifications.
Der Programmierer implementiert Teile des PROGRAMMES direkt
in NML und springt in die NML-Routinen durch Aufrufe (calls).
Beispielsweise erfolgt dies derart:
The programmer implements parts of the PROGRAM directly in NML and jumps into the NML routines through calls. For example, this is done as follows:
-
a) NML-Code
. . .
procedure EXAMPLE
begin
. . .
end
. . .a) NML code
, , ,
procedure EXAMPLE
begin
, , ,
end
, , , -
b) PROGRAMM Code
. . .
Code
. . .
call EXAMPLE / / Aufruf des NML-Codes
. . .
Code
. . .b) PROGRAM code
, , ,
code
, , ,
call EXAMPLE // call the NML 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 for implementation is out forms, NML program parts, that is, program parts for training guidance in and / or on a reconfigurable array integrate larger program.
Durch an die jeweilig VPU angepaßte Analysemethoden werden Teile innerhalb des PROGRAMMES erkannt, die effizient und/oder sinnvoll auf die VPU abbildbar sind. Diese Teile werden aus dem PROGRAMM extrahiert.Through analysis methods adapted to the respective VPU Parts recognized within the PROGRAM that are efficient and / or can be meaningfully mapped to the VPU. 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. Diese Graphen können hinsichtlich ihrer möglichen Partitionierung und/oder Abbildung auf die Ziel-VPU automatisch untersucht werden. In diesem Fall werden die Tei le der generierten Graphen bzw. die entsprechenden PROGRAMM- Teile, extrahiert; die sich hinreichend gut partitionieren und/oder abbilden lassen. Hierzu kann eine Partitionierbar keits- und/oder Abbildbarkeitsanalyse erfolgen, die die je weilige Eigenschaft bewertet.An analysis method suitable for many VPUs, for example is the construction of data flow and / or control flow graphs from the PROGRAM. These graphs can be viewed in terms of their possible partitioning and / or mapping to the target VPU are automatically examined. In this case, the Tei of the generated graphs or the corresponding PROGRAM Parts, extracted; that partition well enough and / or have them displayed. A partition can be used for this Ability and / or reproducibility analysis carried out, which the each property valued.
Eine für die implementierte VPU geeignete Übersetzung des ex trahierten Codes nach NML wird durchgeführt.A translation of the ex. Suitable for the implemented VPU traced codes according to NML is carried out.
Für datenflußorientierte VPUs kann beispielsweise automatisch ein Datenfluß- und/oder Kontrollflußgraph aufgebaut werden. Die Graphen werden dann in NML-Code übersetzt. 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). Dies geschieht zum Beispiel nach typischen bekannten Regeln des Plazierens und Routens. For data flow oriented VPUs, for example, can be automatic a data flow and / or control flow graph are built. The graphs are then translated into NML code. Here, ge if necessary, the mapping to the VPU already takes place at for example, by performing the placement of the benö resources and routing of connections (place and Route). This happens, for example, according to typical known ones Rules of placement and routing.
Mittels einer automatischen Analysemethode wird der extra hierte Code und/oder der übersetzte NML-Code auf seine Verar beitungseffizienz hin analysiert. 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.Using an automatic analysis method, the extra code and / or the translated NML code to its processing processing efficiency analyzed. Here is the analytical method de preferably chosen so that the interface code and the arising from performance influences at a suitable point flow into 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.If necessary, the analysis is carried out by a complete translation implementation and implementation on the hardware system leads by executing the PROGRAM and using appropriate ME methods as they are, for example, according to the prior art are known, is measured.
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. Umgekehrt kann die Analyse erge ben, daß bestimmte für einen PROZESSOR extrahierte Teile zur Ausführung auf einer VPU geeignet wären.Based on the analyzes carried out, various ne parts selected by extraction for a VPU as unused suitable to be identified. Conversely, the analysis can be successful that certain parts extracted for a PROCESSOR are used 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. Man hat somit eine Iteration.An optional loop based on analysis after analysis appropriate decision criteria back in the extraction leads steeply to this with adjusted according to the analysis Executing the extraction specifications again enables the Optimization of the translation result. So you have one Iteration.
Die Schleife kann an mehreren unterschiedlichen Stellen in den Compilerlauf eingebracht sein.The loop can be in several different places be brought into the compiler run.
Der ausgegebene Code ist üblicherweise vollständig und ohne weitere Eingriffe auf den jeweils nachfolgenden Compilern ausführbar. 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. Die nachfolgenden Com piler benötigen keine wesentlichen Modifikationen, sodaß Standard-Tools einsetzbar sind.The code that is output is usually complete and without further interventions on the subsequent compilers executable. If necessary, compiler flags and con straints for the subsequent compilers, where the Users optionally add their own specifications and / or the ge modified specifications. The following Com piler do not require any major modifications, so 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 especially as a preprocessor before compilers and development systems.
Der Interface-Code, der in den extrahierten Code eingesetzt wird, kann durch unterschiedliche Verfahren vorgegeben wer den. Bevorzugt wird der Interface-Code in einer Datenbank ab gelegt, auf die zugegriffen wird. 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. Dabei kann der für das jeweils verwendete Im plementierungsverfahren geeignete Interface-Code gewählt wer den.The interface code that is used in the extracted code can be specified by different procedures the. The interface code is preferably stored in a database that are accessed. The unit for implementation can be designed to be a selection of the program mierers is taken into account, for example, by references in PROGRAM or the appropriate interface through compiler flags Selects code. The Im suitable interface code the.
Die Datenbank selbst kann durch unterschiedliche Methoden
aufgebaut und gewartet werden. Einige Beispiele sollen zur
Verdeutlichung der Möglichkeiten angeführt werden:
The database itself can be set up and maintained using different methods. Some examples are given to illustrate the possibilities:
- a) Der Interface-Code kann vom Lieferanten des Compilers für bestimmte Verbindungsverfahren vorgegeben werden. Dies kann bei der Organisation der Datenbank berücksichtigt werden, indem entsprechende Speichermittel für diese An gaben bereitgehalten werden.a) The interface code can be obtained from the supplier of the compiler for certain connection procedures are specified. This can be taken into account when organizing the database be by appropriate storage means for this An were kept ready.
- 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. Das Datenbankmittel wird hierzu bevor zugt benutzermodifizierbar gestaltet, um dem Benutzer die Datenbankmodifikation zu ermöglichen.b) The interface code can be created by the user who started the system construction has determined, written itself or from existing ones (Example) interface codes modified and the database be added. The database means will do this before user-modifiable designed to give the user the To enable 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 can be from a development system, with for example, the system structure is planned and / or be was written and / or tested, generated automatically become.
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 in such a way that it meets the requirements of the programming language, in which the extracted code is available in which the interface Code to be inserted.
In die Interface-Codes können Kommunikationsroutinen einge führt werden, um die unterschiedlichen Entwicklungssysteme für PROZESSOR und VPU zu synchronisieren. Insbesondere kann der Code für die jeweiligen Debugger aufgenommen werden.Communication routines can be entered in the interface codes be led to the different development systems for PROCESSOR and VPU to synchronize. In particular, the Code for the respective debugger can be included.
Der Interface-Code steuert den Datenaustausch zwischen PRO ZESSOR und VPU. Er ist daher eine geeignete und bevorzugte Schnittstelle, um die jeweiligen Entwicklungssysteme und De buggets zu steuern. Es ist beispielsweise möglich, einen De bugger für den PROZESSOR solange zu aktivieren, wie die Daten von dem Prozessor verarbeitet werden. Sobald die Daten über den Interface-Code an eine (oder mehrere) VPU übergeben wer den, ist ein Debugger für VPUs zu aktivieren. Wird der Code zurück an den PROZESSOR gesendet, soll wiederum der PROZES SOR-Debugger aktiviert werden. The interface code controls the data exchange between PRO ZESSOR and VPU. It is therefore a suitable and preferred one Interface to the respective development systems and De control buggets. For example, a De activate bugger for the PROCESSOR as long as the data processed by the processor. Once the data is over hand over the interface code to one (or more) VPU a debugger for VPUs must be activated. Will the code sent back to the PROCESSOR, the PROZES should again SOR debugger can 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.It is therefore possible and preferred to have such processes by inserting control codes for debuggers and / or Ent development systems in 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. Die Steuercodes können dabei be stehenden Standards für die Steuerung von Entwicklungssyste men weitgehend entsprechen.Communication and control between the differ Chen development systems should therefore preferably by means of Interface codes from PROCESSOR and / or VPU code can be processed. The tax codes can be standards for the control of development systems 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 will preferably as described in the interface codes kelt, but can - if it makes sense - also separate from the sen, followed a similar procedure become cold.
Fig. 1 verdeutlicht das vorgeschlagene Verfahren und zeigt einen möglichen Systemaufbau. Dabei ist ein PROZESSOR (0101) über ein geeignetes Interface (0102) zum Daten- und Statu saustausch mit einer VPU (0103) verbunden. Fig. 1 illustrates the proposed method and shows a possible system structure. A PROCESSOR ( 0101 ) is connected to a VPU ( 0103 ) via a suitable interface ( 0102 ) for data and status exchange.
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 broken down into a part suitable for the PROCESSOR ( 0111 ) and a part suitable for the VPU ( 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. Auf 0101 ausführbarer sequentieller Code wird generiert (0116) und sofern notwendig die entsprechende Programmierung (0117) des Interfaces (0102). 0111 is translated by a standard compiler ( 0113 ), where additional code for describing and managing the interface ( 0102 ) is inserted from a database ( 0114 ). Sequential code executable on 0101 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. Auf 0103 ausführbare Konfigurationen werden generiert (0118) und sofern notwendig die entsprechende Programmierung (0119) des Interfaces (0102). 0112 is translated by a VPU compiler ( 0115 ), an additional code for describing and managing the interface ( 0102 ) from a database ( 0114 ) being inserted. Configurations executable on 0103 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. Ein PROGRAMM (0201) wird in der Ex traktionseinheit (0202) nach unterschiedlichen Verfahren in VPU-Code (0203) und PROZESSOR-Code (0204) zerlegt. 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). Der jeweils extrahierte Code wird ggf. übersetzt und ggf. auf seine Eignung für das jeweilige Zielsystem hin überprüft (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.A basic sequence of a compilation is shown by way of example in FIG. 2. A PROGRAM ( 0201 ) is broken down in the extraction unit ( 0202 ) according to different procedures into VPU code ( 0203 ) and PROCESSOR code ( 0204 ). Different methods can be used in any combination for extraction, for example information in the original PROGRAM ( 0205 ), subroutine calls ( 0206 ) and / or analysis methods ( 0207 ). The code extracted in each case is translated and, if necessary, checked for its suitability for the respective target system ( 0208 ). A feedback ( 0209 ) to the extraction is possible in order to obtain improvements by changing the assignment 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.Then ( 0211 ) 0203 is extended ( 0212 ) by the interface code from a database ( 0210 ) and / or 0204 is expanded by 0210 to 0213 by the interface code.
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 ), feedback ( 0215 ) on the extraction may be possible in order to obtain improvements by changing the assignment 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. 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 VPU code ( 0216 ) is passed on to a downstream compiler suitable for the VPU for further translation. The resulting PROCESSOR code ( 0217 ) is processed for further translation in any downstream compiler suitable for the PROZESSOR.
Es soll angemerkt werden, daß einzelne Schritte je nach Ver fahren ausgelassen werden können. 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 should be noted that individual steps depending on Ver driving can be left out. It is essential that far more complete and without intervention by the programmer di directly translatable code to the downstream Com pilersysteme is issued.
Die Datenbank für die Interface-Codes (0210) wird unabhängig und vor dem Compilerdurchlauf aufgebaut. 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).The database for the interface codes ( 0210 ) is set up independently and before the compiler run. For example, the following sources are possible for the database: predefined by the supplier ( 0220 ), programmed by the user ( 0221 ) or automatically generated by 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. Das Verfahren ist derart ausgelegt, daß nur die jeweils für die rekonfigurierbare Zielarchitektur ge eigneten Teile des zu übersetzenden Programmes extrahiert werden. Die verbleibenden Teile des Programmes werden auf ei ne konventionelle Prozessorarchitektur übersetzt.In summary, the present invention is concerned with Procedure that requires a translation of a classic high-level language like Pascal, C, C ++, Java, etc. on a reconfigurable Ar architecture enables. The process is designed such that only the ge for the reconfigurable target architecture suitable parts of the program to be translated are extracted become. The remaining parts of the program are on ei ne conventional processor architecture translated.
Claims (14)
die Codeteile, die für die rekonfigurierbare Einheit ge eignet sind, extrahiert werden,
der verbleibende Code derart extrahiert wird, daß er mit tels eines beliebigen gewöhnlichen unmodifizierten für den Prozessor geeigneten Compilers übersetzbar ist.13. The method in particular according to one of the preceding claims for translating programs to a system consisting of a processor and a reconfigurable unit, characterized in that
the code parts suitable for the reconfigurable unit are extracted,
the remaining code is extracted such that it can be translated using any conventional unmodified processor-compatible compiler.
Priority Applications (49)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2001/008534 WO2002008964A2 (en) | 2000-07-24 | 2001-07-24 | Integrated circuit |
AU2001289737A AU2001289737A1 (en) | 2000-07-24 | 2001-07-24 | Integrated circuit |
EP01969493A EP1377919A2 (en) | 2000-07-24 | 2001-07-24 | Integrated circuit |
US09/967,498 US20040015899A1 (en) | 2000-10-06 | 2001-09-28 | Method for processing data |
PCT/EP2002/002402 WO2002071196A2 (en) | 2001-03-05 | 2002-03-05 | Methods and devices for treating and processing data |
JP2002570052A JP4011488B2 (en) | 2001-03-05 | 2002-03-05 | Data processing and / or data processing method and apparatus |
US10/469,910 US20070299993A1 (en) | 2001-03-05 | 2002-03-05 | Method and Device for Treating and Processing Data |
PCT/EP2002/002403 WO2002071249A2 (en) | 2001-03-05 | 2002-03-05 | Method and devices for treating and/or processing data |
JP2002570103A JP2004535613A (en) | 2001-03-05 | 2002-03-05 | Data processing method and data processing device |
EP02724198.3A EP1386220B1 (en) | 2001-03-05 | 2002-03-05 | Methods and devices for treating and processing data |
AU2002254921A AU2002254921A1 (en) | 2001-03-05 | 2002-03-05 | Methods and devices for treating and processing data |
PCT/EP2002/002398 WO2002071248A2 (en) | 2001-03-05 | 2002-03-05 | Methods and devices for treating and/or processing data |
US10/469,909 US7444531B2 (en) | 2001-03-05 | 2002-03-05 | Methods and devices for treating and processing data |
EP02712937A EP1454258A2 (en) | 2001-03-05 | 2002-03-05 | Method and devices for treating and/or processing data |
EP02727358A EP1540507B1 (en) | 2001-03-05 | 2002-03-05 | Device for processing data with an array of reconfigurable elements |
US10/471,061 US7581076B2 (en) | 2001-03-05 | 2002-03-05 | Methods and devices for treating and/or processing data |
JP2002570104A JP2004536373A (en) | 2001-03-05 | 2002-03-05 | Data processing method and data processing device |
AU2002257615A AU2002257615A1 (en) | 2001-03-05 | 2002-03-05 | Methods and devices for treating and/or processing data |
AT02780770T ATE478381T1 (en) | 2001-06-20 | 2002-06-20 | DATA PROCESSING PROCEDURES |
PCT/EP2002/006865 WO2002103532A2 (en) | 2001-06-20 | 2002-06-20 | Data processing method |
JP2003505782A JP2004533691A (en) | 2001-06-20 | 2002-06-20 | Methods for processing data |
AT10005502T ATE557344T1 (en) | 2001-06-20 | 2002-06-20 | METHOD AND DEVICE FOR PARTITIONING LARGE COMPUTER PROGRAMS |
AU2002347560A AU2002347560A1 (en) | 2001-06-20 | 2002-06-20 | Data processing method |
EP02780770A EP1402382B1 (en) | 2001-06-20 | 2002-06-20 | Data processing method |
US10/480,003 US7657877B2 (en) | 2001-06-20 | 2002-06-20 | Method for processing data |
DE10227650A DE10227650A1 (en) | 2001-06-20 | 2002-06-20 | Reconfigurable elements |
EP10005502A EP2224330B1 (en) | 2001-06-20 | 2002-06-20 | Method and device for partitioning large computer programs |
DE50214592T DE50214592D1 (en) | 2001-06-20 | 2002-06-20 | METHOD FOR PROCESSING DATA |
JP2008249099A JP2009032281A (en) | 2001-03-05 | 2008-09-26 | Method for data transmission |
JP2008249116A JP2009043276A (en) | 2001-03-05 | 2008-09-26 | Fifo storage method |
JP2008249112A JP2009020909A (en) | 2001-03-05 | 2008-09-26 | Method for partitioning graph |
JP2008249106A JP2009054170A (en) | 2001-03-05 | 2008-09-26 | Management method for data flow |
JP2008249115A JP2009043275A (en) | 2001-03-05 | 2008-09-26 | Method of forming sequence |
US12/257,075 US8099618B2 (en) | 2001-03-05 | 2008-10-23 | Methods and devices for treating and processing data |
US12/389,116 US20090210653A1 (en) | 2001-03-05 | 2009-02-19 | Method and device for treating and processing data |
US12/496,012 US20090300262A1 (en) | 2001-03-05 | 2009-07-01 | Methods and devices for treating and/or processing data |
US12/570,984 US8312301B2 (en) | 2001-03-05 | 2009-09-30 | Methods and devices for treating and processing data |
US12/640,201 US20100095094A1 (en) | 2001-06-20 | 2009-12-17 | Method for 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/223,793 US10031733B2 (en) | 2001-06-20 | 2014-03-24 | Method for processing data |
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 (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EPPCT/EP00/10516 | 2000-10-09 | ||
EP01102674 | 2001-02-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10129237A1 true DE10129237A1 (en) | 2002-04-18 |
Family
ID=45727532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10129237A Withdrawn DE10129237A1 (en) | 2000-07-24 | 2002-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)
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 |
-
2002
- 2002-06-20 DE DE10129237A patent/DE10129237A1/en not_active Withdrawn
Cited By (48)
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 |
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 |
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 |
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 |
USRE45109E1 (en) | 1997-02-08 | 2014-09-02 | 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 |
USRE45223E1 (en) | 1997-02-08 | 2014-10-28 | 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 |
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 |
US8230411B1 (en) | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
US8726250B2 (en) | 1999-06-10 | 2014-05-13 | Pact Xpp Technologies Ag | Configurable logic integrated circuit having a multidimensional structure of configurable elements |
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 |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US8471593B2 (en) | 2000-10-06 | 2013-06-25 | Martin Vorbach | Logic cell array and bus system |
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 |
US8145881B2 (en) | 2001-03-05 | 2012-03-27 | Martin Vorbach | Data processing device and method |
US8099618B2 (en) | 2001-03-05 | 2012-01-17 | Martin Vorbach | Methods and devices for treating and processing data |
US9075605B2 (en) | 2001-03-05 | 2015-07-07 | Pact Xpp Technologies Ag | 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 |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US8869121B2 (en) | 2001-08-16 | 2014-10-21 | Pact Xpp Technologies Ag | Method for the translation of programs for reconfigurable architectures |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US8407525B2 (en) | 2001-09-03 | 2013-03-26 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
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 |
US7840842B2 (en) | 2001-09-03 | 2010-11-23 | Martin Vorbach | Method for debugging reconfigurable architectures |
US8209653B2 (en) | 2001-09-03 | 2012-06-26 | Martin Vorbach | Router |
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 |
US8803552B2 (en) | 2002-09-06 | 2014-08-12 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US8310274B2 (en) | 2002-09-06 | 2012-11-13 | Martin Vorbach | Reconfigurable sequencer structure |
US7928763B2 (en) | 2002-09-06 | 2011-04-19 | Martin Vorbach | Multi-core processing system |
US7782087B2 (en) | 2002-09-06 | 2010-08-24 | Martin Vorbach | 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 |
---|---|---|
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 | |
EP1402382B1 (en) | Data processing method | |
DE2521289C2 (en) | Data processing arrangement with data field auxiliary processor | |
DE3610433C2 (en) | Method for controlling a machine with a programmable logic controller with a function chart interpreter | |
EP1330685B1 (en) | Testing method and testing device for starting up systems which are controlled by means of a program logic | |
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 | |
EP2799983B1 (en) | Flexible distribution of I/O channels of a hardware component | |
DE10039538A1 (en) | Device for measuring and analyzing the output capacity of computer program, includes processor and memory coupled to at least one processor, with computer program having number of code segments stored in memory | |
EP0825540B1 (en) | Pipeline processor | |
DE69812990T2 (en) | METHOD FOR GENERATING ISA SIMULATORS AND ASSEMBLERS FROM A MACHINE DESCRIPTION | |
DE4418892A1 (en) | Microcomputer | |
EP3568757A1 (en) | Method for generating source code | |
DE19581754B4 (en) | System and method for conditionally compiling a software compilation unit | |
EP2306349A1 (en) | Method for verifying the real-time capability of a system | |
DE19947892C2 (en) | Process for the implementation of interface definitions and intermediate format table therefor | |
EP0657044B1 (en) | Method of operating a computer system with at least one microprocessor and at least one coprocessor | |
EP2366146B1 (en) | Method and data processing system for simulating an embedded system | |
EP2363809B1 (en) | Method for optimizing a control program for actuators | |
EP1046991B1 (en) | Method for testing the autonomy and compatibilty of a software module | |
DE112018002316T5 (en) | CODE COVERAGE TRACKING FOR A MICROCONTROLLER PROGRAM | |
DE102020124080A1 (en) | Procedure for incremental code generation | |
EP0664905B1 (en) | Process for performing tests on objects of an object-oriented program capable of running in parallel on a computer | |
EP1010070A1 (en) | Method for converting an object code into a programme code | |
DE10041111A1 (en) | Reworking computer program acquired in programming language involves computer searching program for predefined rule damage, computing potential correction, altering program | |
EP2302554A2 (en) | Method for identifying a section of computer program contained in a computer storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8143 | Withdrawn due to claiming internal priority |