<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.6//EN" "ep-patent-document-v1-6.dtd">
<!-- This XML data has been generated under the supervision of the European Patent Office -->
<ep-patent-document id="EP22151890A1" file="EP22151890NWA1.xml" lang="de" country="EP" doc-number="4213388" kind="A1" date-publ="20230719" status="n" dtd-version="ep-patent-document-v1-6">
<SDOBI lang="de"><B000><eptags><B001EP>ATBECHDEDKESFRGBGRITLILUNLSEMCPTIESILTLVFIROMKCYALTRBGCZEEHUPLSKBAHRIS..MTNORSMESMMAKHTNMD..........</B001EP><B005EP>J</B005EP><B007EP>2.0.21 -  1100000/0</B007EP></eptags></B000><B100><B110>4213388</B110><B120><B121>EUROPÄISCHE PATENTANMELDUNG</B121></B120><B130>A1</B130><B140><date>20230719</date></B140><B190>EP</B190></B100><B200><B210>22151890.5</B210><B220><date>20220117</date></B220><B250>de</B250><B251EP>de</B251EP><B260>de</B260></B200><B400><B405><date>20230719</date><bnum>202329</bnum></B405><B430><date>20230719</date><bnum>202329</bnum></B430></B400><B500><B510EP><classification-ipcr sequence="1"><text>H03K  19/177       20200101AFI20220706BHEP        </text></classification-ipcr><classification-ipcr sequence="2"><text>G06F  21/52        20130101ALI20220706BHEP        </text></classification-ipcr></B510EP><B520EP><classifications-cpc><classification-cpc sequence="1"><text>H03K  19/177       20130101 FI20220702BHEP        </text></classification-cpc><classification-cpc sequence="2"><text>G06F  21/52        20130101 LI20220702BHEP        </text></classification-cpc></classifications-cpc></B520EP><B540><B541>de</B541><B542>KONFIGURIERBARE LOGIK-VORRICHTUNG UND COMPUTER-IMPLEMENTIERTE TABELLE</B542><B541>en</B541><B542>CONFIGURABLE LOGIC DEVICE AND COMPUTER IMPLEMENTED TABLE</B542><B541>fr</B541><B542>DISPOSITIF LOGIQUE CONFIGURABLE ET TABLE MISE EN  UVRE PAR ORDINATEUR</B542></B540><B590><B598>1</B598></B590></B500><B700><B710><B711><snm>Siemens AG Österreich</snm><iid>101233544</iid><irf>2021P21965EP</irf><adr><str>Siemensstraße 90</str><city>1210 Wien</city><ctry>AT</ctry></adr></B711></B710><B720><B721><snm>Chilku, Bekim</snm><adr><city>1190 Wien</city><ctry>AT</ctry></adr></B721><B721><snm>Hinterstoisser, Thomas</snm><adr><city>2102 Bisamberg</city><ctry>AT</ctry></adr></B721><B721><snm>Matschnig, Martin</snm><adr><city>3430 Tulln</city><ctry>AT</ctry></adr></B721><B721><snm>Cech, Christian</snm><adr><city>2483 Ebreichsdorf</city><ctry>AT</ctry></adr></B721><B721><snm>Fischer, Bernhard</snm><adr><city>1060 Wien</city><ctry>AT</ctry></adr></B721></B720><B740><B741><snm>Siemens Patent Attorneys</snm><iid>101840188</iid><adr><str>Postfach 22 16 34</str><city>80506 München</city><ctry>DE</ctry></adr></B741></B740></B700><B800><B840><ctry>AL</ctry><ctry>AT</ctry><ctry>BE</ctry><ctry>BG</ctry><ctry>CH</ctry><ctry>CY</ctry><ctry>CZ</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>EE</ctry><ctry>ES</ctry><ctry>FI</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>GR</ctry><ctry>HR</ctry><ctry>HU</ctry><ctry>IE</ctry><ctry>IS</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>LT</ctry><ctry>LU</ctry><ctry>LV</ctry><ctry>MC</ctry><ctry>MK</ctry><ctry>MT</ctry><ctry>NL</ctry><ctry>NO</ctry><ctry>PL</ctry><ctry>PT</ctry><ctry>RO</ctry><ctry>RS</ctry><ctry>SE</ctry><ctry>SI</ctry><ctry>SK</ctry><ctry>SM</ctry><ctry>TR</ctry></B840><B844EP><B845EP><ctry>BA</ctry></B845EP><B845EP><ctry>ME</ctry></B845EP></B844EP><B848EP><B849EP><ctry>KH</ctry></B849EP><B849EP><ctry>MA</ctry></B849EP><B849EP><ctry>MD</ctry></B849EP><B849EP><ctry>TN</ctry></B849EP></B848EP></B800></SDOBI>
<abstract id="abst" lang="de">
<p id="pa01" num="0001">Konfigurierbare Logik-Vorrichtung (FPGA1) mit einer programmierbaren Logik (PL1), umfassend ein dynamisches Logik-Modul (DLM1) mit Speicher-Elementen (M1-M3) und Logik-Elementen (L1-L3), ein Kontroll-Modul (CM) zur Konfiguration des dynamisches Logik-Moduls (DLM1) und zumindest ein, mit einem Daten-Bus (BUS) verbundenes Daten-Modul (CPU, MEM, DMA, P1-Pn), welches dazu eingerichtet ist, Daten dem Daten-Bus (BUS) bereitzustellen oder vom Daten-Bus (BUS) zu lesen, wobei das dynamische Logik-Modul (DLM1) ferner eine Schnittstellen-Logik (SL) aufweist, welche mit dem Daten-Bus (BUS) verbunden ist und dazu eingerichtet ist, dem Daten-Modul (CPU, MEM, DMA, P1-Pn) über den Daten-Bus (BUS) einen direkten Zugriff auf die Speicher-Elemente (M1-M3) und/oder die Logik-Elemente (L1-L3) des dynamischen Logik-Moduls (DLM1) zu erlauben.
<img id="iaf01" file="imgaf001.tif" wi="78" he="93" img-content="drawing" img-format="tif"/></p>
</abstract>
<description id="desc" lang="de"><!-- EPO <DP n="1"> -->
<p id="p0001" num="0001">Die Erfindung betrifft eine konfigurierbare Logik-Vorrichtung mit einer programmierbaren Logik, umfassend ein dynamisches Logik-Modul mit Speicher-Elementen und Logik-Elementen, ein Kontroll-Modul zur Konfiguration des dynamisches Logik-Moduls und zumindest ein, mit einem Daten-Bus verbundenes Daten-Modul, welches dazu eingerichtet ist, Daten dem Daten-Bus bereitzustellen oder vom Daten-Bus zu lesen.</p>
<p id="p0002" num="0002">Ferner betrifft die Erfindung eine computer-implementierte Tabelle.</p>
<p id="p0003" num="0003">Für fast alle modernen Mobilgeräte wie Smartphones oder Tablets stehen Software-Apps zur Verfügung. Diese kleinen Programme können die Standardfunktionalität des Geräts bei Bedarf individuell erweitern. Apps können über einen App-Store erworben und installiert werden, der von einem Dienstanbieter unterhalten wird. Diese wohlbekannten und weithin akzeptierten Konzepte aus dem Bereich der Mobilkommunikation werden zunehmend auch in anderen Sektoren wie Automotive, Industrial Control und Automation eingeführt, in denen strengere Sicherheitsanforderungen berücksichtigt werden müssen.</p>
<p id="p0004" num="0004">FPGA-Bausteine (engl. "Field Programmable Gate Arrays") bieten eine große Flexibilität in Bezug auf Anwendungsoffenheit, da sie während der Laufzeit (engl. "on-the-fly") umkonfiguriert werden können. Neueste FPGA-Produkte bieten die Möglichkeit, sogar nur Teile der Konfiguration auszutauschen, während der Rest des Systems störungsfrei weiterläuft. Diese Funktion wird auch als DPR (engl. "Dynamic Partial Reconfiguration") bezeichnet, ist sehr leistungsstark und in gängigen modernen SRAM-basierten FPGAs verfügbar, z. B. Intel STRATIX oder XILINX Zync Ultrascale+.<!-- EPO <DP n="2"> --></p>
<p id="p0005" num="0005">Standard-FPGAs beherbergen sehr unterschiedliche Arten von konfigurierbaren Ressourcen wie DSPs (engl. "digital signal processor cells"), LUTs (engl. "look up tables") und Speicherblöcke, die sich über den gesamten verfügbaren programmierbaren Logikbereich befinden.</p>
<p id="p0006" num="0006">Ein Nachteil des DPR-Ansatzes besteht darin, dass alle Ressourcen in den reservierten Containern in allen Fällen blockiert werden, selbst wenn der Container nicht benötigt wird oder eine Hardware-App (HWA) klein ist und nicht die gesamte verfügbare Logik benötigt, die der Container bietet. Folglich stehen nicht alle Speicherblöcke, die sich in derzeit ungenutzten Containern befinden, zur Verfügung, und im schlimmsten Fall muss dem System mit zusätzlichen Kosten für Geld und Energieverbrauch zusätzliches externes RAM hinzugefügt werden.</p>
<p id="p0007" num="0007">Die dynamische partielle Rekonfiguration verleiht modernen FPGA-Designpraktiken viel Flexibilität und führt in den meisten Fällen zu kleineren Geräten und reduziert die Gesamtstücklistenkosten.</p>
<p id="p0008" num="0008">Dennoch kann es in sehr seltenen Fällen vorkommen, dass die gewonnene Flexibilität größere Geräte erfordert und eine Kosten-Nutzen-Abwägung durchgeführt werden muss, um die optimale Lösung zu finden.</p>
<p id="p0009" num="0009">Die Veröffentlichung<nplcit id="ncit0001" npl-type="s"><text> K. Vipin and S. A. Fahmy, "Efficient region allocation for adaptive partial reconfiguration," in 2011 International Conference on Field-Programmable Technology, New Delhi, India, Dec. 2011, pp. 1-6, doi: 10.1109/ FPT.2011.6133248</text></nplcit> zeigt einen Ansatz, um die optimale Konfiguration für ein Design mit mehreren rekonfigurierbaren Bereichen zu finden.</p>
<p id="p0010" num="0010">Darin wird ein automatisierter Werkzeugfluss vorgeschlagen, bei dem mehrere mögliche Konfigurationen generiert und verglichen<!-- EPO <DP n="3"> --> werden. Es ist gezeigt, dass die Platzierung von HWAs in verschiedenen Containern sehr unterschiedliche Ergebnisse in Bezug auf Timing oder Flächenverbrauch bringen kann.</p>
<p id="p0011" num="0011">Darüber hinaus müssen DPR-Partitionen groß genug ausgelegt werden, um die größtmögliche HWA aufnehmen zu können, auch wenn in der aktuellen Konfiguration nur eine kleinere HWA geladen werden kann.</p>
<p id="p0012" num="0012">Eine intelligente Lösung zur Nutzung von Ressourcen in ungenutzten HWA-Containern könnte helfen, dieses Dilemma zu überwinden</p>
<p id="p0013" num="0013">Um den DPR-Mechanismus nutzen zu können, muss ein spezieller rechteckiger Bereich, Container genannt, innerhalb des verfügbaren Platzes ausschließlich für das Hosten kleinerer austauschbarer Teildesigns, sogenannter "Hardware Apps" (HWAs), reserviert werden.</p>
<p id="p0014" num="0014">Bei einer HW-App handelt es sich um eine Logik, welche zur Laufzeit im FPGA geladen und ausgeführt werden kann. Es wird nur ein Teil des FPGAs neu konfiguriert (partielle Rekonfiguration). Dafür werden Bereiche im FPGA definiert, die ein bestimmtes Kontingent an Ressourcen (Logik Elemente, Block RAMs und DSPs) für die HW-Apps zur Verfügung stellen. Die reservierten Ressourcen können jedoch nur von den HW-Apps genutzt werden und stehen Funktionen außerhalb dieses Bereiches nicht zur Verfügung. Abhängig von der HW-App Anforderung, werden die Ressourcen innerhalb dieses Bereichs unterschiedlich stark genutzt. Da für die Dimensionierung des konfigurierbaren Bereichs die Summe aller maximalen benötigten Ressourcen jeder einzelnen HW-App herangezogen wird, entsteht ein gewisser Overhead an nicht genutzten Ressourcen im FPGA.</p>
<p id="p0015" num="0015">Es ist Aufgabe der Erfindung eine Befehlsabfolge durch eine programmierbare Logik unter optimalem Ressourceneinsatz auszuführen.<!-- EPO <DP n="4"> --></p>
<p id="p0016" num="0016">Mit anderen Worten sollen die Ressourcen eines Prozessors mit einem Speicher, insbesondere den Speicher innerhalb eines FPGAs, besser genutzt werden.</p>
<p id="p0017" num="0017">Die erfindungsgemäße Aufgabe wird durch eine programmierbare Logik eingangs genannter Art gelöst, wobei das dynamische Logik-Modul ferner eine Schnittstellen-Logik aufweist, welche mit dem Daten-Bus verbunden ist und dazu eingerichtet ist, dem Daten-Modul über den Daten-Bus einen direkten Zugriff auf die Speicher-Elemente und/oder die Logik-Elemente des dynamischen Logik-Moduls zu erlauben.</p>
<p id="p0018" num="0018">Unter einem Daten-Modul wird im vorliegenden Zusammenhang eine Daten-Quelle beziehungsweise Daten-Senke verstanden, beispielsweise ein Speicher, ein Speicher-Zugriff per DMA (engl. "direct memory access"), Peripheriegeräte, aber auch ein Prozessor oder ein Co-Prozessor und andere Module, die Daten bereitstellen oder empfangen und weiterleiten können.</p>
<p id="p0019" num="0019">Unter einem dynamischen Logik-Modul wird im vorliegenden Zusammenhang eine rekonfigurierbare Digital-Logik verstanden, welche initial oder auch während des Betriebs konfigurierbar ist. Dabei kann eine vollständige oder auch nur teilweise Rekonfiguration der Digital-Logik erfolgen.</p>
<p id="p0020" num="0020">Speicher-Elemente weisen eine Speicher-Zelle und eine Adressierungs-Logik auf, über welche die Speicher-Zelle für Schreib- und Lese-Operationen angesteuert wird.</p>
<p id="p0021" num="0021">Logik-Elemente können durch einzelne Logik-Gatter oder komplexe Logik-Schaltungen gebildet sein, welche beispielsweise mathematische Operationen ausführen.</p>
<p id="p0022" num="0022">Eine Schnittstellen-Logik kann durch eine Logik-Schaltung abgebildet werden, welche ein Kommunikations-Protokoll des Daten-Bus auf die Adressierung von Speicher-Elementen für Schreib- und Lese-Operationen logisch transformiert. Dabei wird das Datenformat und das zeitliche Verhalten übersetzt.<!-- EPO <DP n="5"> --></p>
<p id="p0023" num="0023">Ein direkter Datenzugriff bedeutet im vorliegenden Zusammenhang, dass Elemente des dynamischen Logik-Moduls, wie beispielsweise Speicherelemente oder Logikelemente, direkt über die Schnittstellen-Logik adressiert und verwendet - schreibend oder lesend - werden können, ohne über das Kontroll-Modul eine Verwendung anzusteuern.</p>
<p id="p0024" num="0024">Dies hat den Vorteil, dass beispielsweise Speicherbereiche, welche durch das Logik-Moduls gebildet sind, von der programmierbare Logik direkt verwendet werden können, nämlich in Form eines direkten Lese- bzw. Schreibzugriffs auf den Speicher unter Verwendung einer Speicher-Adresse, und die dadurch System-Effizienz verbessert werden kann.</p>
<p id="p0025" num="0025">Mit anderen Worten können Speicher-Elemente und/oder Logik-Elemente innerhalb eines Containers neben ihrer eigentlichen Verwendung temporär von weiteren Anwendungen eingesetzt werden, falls sie für ihre eigentlichen Verwendung, das heißt von der aktuell geladenen HW-App nicht benötigt werden.</p>
<p id="p0026" num="0026">Analog dazu können beispielsweise digitale Logik-Elemente direkt eingebunden werden, indem Daten über den Daten-Bus bereitgestellt werden und die Logik-Operation dementsprechend ausgeführt wird, und das Ergebnis der Logik-Operation wieder über den Daten-Bus bereitgestellt wird.</p>
<p id="p0027" num="0027">Durch die Schnittstellen-Logik wird also erreicht, dass auf einzelne Elemente einer dynamisch rekonfigurierbaren Logik direkt zugegriffen werden kann.</p>
<p id="p0028" num="0028">Sollten Elemente des dynamischen Logik-Moduls für deren eigentliche Aufgabe temporär nicht verwendet werden, so können diese Ressourcen anderen Aufgaben zur Verfügung gestellt werden, wodurch die Effizienz des gesamten Systems gesteigert werden kann.</p>
<p id="p0029" num="0029">Das Kontroll-Modul dient zur Konfiguration des dynamisches Logik-Moduls. Diese Konfiguration kann eine initiale Konfiguration<!-- EPO <DP n="6"> --> sein, aber auch eine Rekonfiguration, welche während des Betriebs der Logik-Vorrichtung durchgeführt werden soll. Eine Rekonfiguration kann entweder durch ein externes Signal oder durch eine ausgeführte Logik-Operation angestoßen werden.</p>
<p id="p0030" num="0030">In einer Weiterbildung der Erfindung ist es vorgesehen, dass das Kontroll-Modul dazu eingerichtet ist, Informationen über freie, aktuell ungenutzte Speicher-Elemente und/oder freie, aktuell ungenutzte Logik-Elemente des dynamischen Logik-Moduls über den Daten-Bus bereitzustellen, vorzugsweise mithilfe einer computer-implementierten Tabelle innerhalb des dynamischen Logik-Moduls.</p>
<p id="p0031" num="0031">Dadurch ist es auf einfache Weise möglich, die Ressourcen des gesamten Systems zu verwalten.</p>
<p id="p0032" num="0032">Wird die computer-implementierte Tabelle innerhalb der Programmierbare Logik konfiguriert, kann die Information über die Elemente des dynamischen Logik-Moduls auf besonders einfache Weise erfasst werden.</p>
<p id="p0033" num="0033">In einer Weiterbildung der Erfindung ist es vorgesehen, dass das Kontroll-Modul dazu eingerichtet ist, die Informationen über freie, aktuell ungenutzte Elemente periodisch erneut zu erfassen und bereitzustellen.</p>
<p id="p0034" num="0034">Dadurch ist es auf einfache Weise möglich, temporäre Rekonfigurationen zu erfassen und Informationen über freie, aktuell ungenutzte Elemente periodisch erneut zu erfassen und bereitzustellen.</p>
<p id="p0035" num="0035">In einer Weiterbildung der Erfindung ist es vorgesehen, dass das Kontroll-Modul dazu eingerichtet ist, Daten vom Daten-Modul zu erfassen und Konfigurationsänderung der programmierbaren Logik durchzuführen und die Informationen über freie, aktuell ungenutzte Elemente erneut zu erfassen und bereitzustellen.<!-- EPO <DP n="7"> --></p>
<p id="p0036" num="0036">Dadurch ist es auf einfache Weise möglich, temporäre Rekonfigurationen zu erfassen und Informationen über freie, aktuell ungenutzte Elemente nach einer durchgeführten Rekonfiguration erneut zu erfassen und bereitzustellen.</p>
<p id="p0037" num="0037">In einer Weiterbildung der Erfindung ist es vorgesehen, dass das dynamische Logik-Modul zumindest zwei Anwendungs-Logiken aufweist, welche nicht zusammenhängende Logik-Bereiche bilden, und die Speicher-Elemente und/oder Logik-Elemente, welche über die Schnittstellen-Logik und den Daten-Bus ansteuerbar sind, über die zumindest zwei Anwendungs-Logiken verteilt sind.</p>
<p id="p0038" num="0038">Unter nicht zusammenhängenden Logik-Bereichen wird im vorliegenden Zusammenhang verstanden, dass einzelne Logikbereiche in verschiedenen Hardware-Containern organisiert sind.</p>
<p id="p0039" num="0039">Dadurch ist es auf einfache Weise möglich, die Ressourcen des gesamten Systems, nämlich insbesondere in Form von Anwendungs-Logiken als Verarbeitungs-Einheiten, zu verwalten.</p>
<p id="p0040" num="0040">In einer Weiterbildung der Erfindung ist es vorgesehen, dass das dynamische Logik-Modul zumindest zwei Anwendungs-Logiken aufweist, und das Kontroll-Modul dazu eingerichtet ist, die programmierbare Logik während des Betriebs erneut zu konfigurieren.</p>
<p id="p0041" num="0041">Dadurch ist es auf einfache Weise möglich, dynamische Ressourcen des gesamten Systems, nämlich insbesondere in Form von Anwendungs-Logiken als Verarbeitungs-Einheiten, zu verwalten.</p>
<p id="p0042" num="0042">In einer Weiterbildung der Erfindung ist es vorgesehen, dass die Speicher-Elemente und/oder Logik-Elemente derart konfiguriert sind, zumindest eine Anwendungs-Logik in Form eines Co-Prozessor-Submoduls zu bilden, und mithilfe der Schnittstellen-Logik angesteuert zu werden.<!-- EPO <DP n="8"> --></p>
<p id="p0043" num="0043">Ein Co-Prozessor ist ein zusätzlicher Mikroprozessor, der einen Hauptprozessor bei seiner Arbeit unterstützt. Co-Prozessoren können bspw. mathematische sowie Gleitkomma-Operationen, Grafikoperationen, Signalverarbeitung, I/O-Verarbeitung oder Kryptographie ausführen. Dazu zählen mathematische Co-Prozessoren, Grafikprozessoren und I/O-Prozessoren.</p>
<p id="p0044" num="0044">Co-Prozessoren sollen den Hauptprozessor entlasten und durch eine speziell auf die Aufgabe abgestimmte Architektur Arbeit abnehmen. Sie können die Leistung des Systems in ihrem Aufgabengebiet erhöhen und zu einer Stromeinsparung führen.</p>
<p id="p0045" num="0045">Ein mathematischer Co-Prozessor, oft auch Gleitkommaeinheit, kann Berechnungen von Gleitkommazahlen für den Hauptprozessor übernehmen.</p>
<p id="p0046" num="0046">Ein Co-Prozessor kann auch einen zentralen Hauptprozessor unterstützen und beispielweise Ein- und Ausgabeoperationen, oder einen Speicherdirektzugriff (DMA) verarbeiten.</p>
<p id="p0047" num="0047">Als Co-Prozessoren gelten auch Prozessoren zur digitalen Signalverarbeitung (DSPs).</p>
<p id="p0048" num="0048">DSP-Blöcke, welche sich innerhalb der freien HWA-Container befinden, können beispielsweise als Ausführungseinheiten eines skalierbaren Vector-Coprozessors konfiguriert werden.</p>
<p id="p0049" num="0049">Die DPR-Funktion ermöglicht es, die Nutzung der ungenutzten HWA-Container-Ressourcen zu maximieren, indem sie als Hilfskomponenten konfiguriert werden, während sie nicht für ihre primäre Zuweisung verwendet werden.</p>
<p id="p0050" num="0050">Die freien DSP-Ressourcen werden bei nicht verwendeten HWA-Containern zur Verbesserung der Ausführungsleistung genutzt, wenn die Programmausführung auf der Haupt-CPU durch den vektoriellen Teil des Codes läuft.<!-- EPO <DP n="9"> --></p>
<p id="p0051" num="0051">Ein Vektor-Coprozessor umfasst beispielweise einen Satz von Rechen- beziehungsweise Ausführungseinheiten, eine Lade- und Speichereinheit, eine Schiebeeinheit, eine Vektorregisterdatei und einen Dispatcher.</p>
<p id="p0052" num="0052">In einer Weiterbildung der Erfindung ist es vorgesehen, dass ferner umfassend einen Prozessor und einen Co-Hauptprozessor, welche jeweils mit dem Daten-Bus verbunden sind und dazu eingerichtet sind, mithilfe der Schnittstellen-Logik das zumindest eine Co-Prozessor-Submodul anzusteuern.</p>
<p id="p0053" num="0053">Auf diese einfache Weise lässt sich ein Prozessor und ein Co-Prozessor berücksichtigen, um spezifische Aufgaben gemeinsam mit Logik-Elementen des dynamischen Logik-Moduls effizient abzuarbeiten.</p>
<p id="p0054" num="0054">In einer Weiterbildung der Erfindung ist es vorgesehen, dass im dynamischen Logik-Modul ferner ein Dispatcher und zumindest zwei Co-Prozessor-Submodule als jeweilige Anwendungs-Logik konfiguriert sind, und der Dispatcher dazu eingerichtet ist, Berechnungsaufgaben vom Prozessor-Modul oder dem Co-Prozessor über den Daten-Bus zu empfangen und zu an die zumindest zwei Co-Prozessor-Submodule zur Bearbeitung zu verteilen.</p>
<p id="p0055" num="0055">Auf diese einfache Weise lassen sich mehrere Co-Prozessor-Elemente beziehungsweise Co-Prozessor-Submodule berücksichtigen, um spezifische Aufgaben effizient abzuarbeiten.</p>
<p id="p0056" num="0056">Die erfindungsgemäße Aufgabe wird durch eine computer-implementierte Tabelle eingangs genannter Art gelöst, wobei die Tabelle Informationen über freie, aktuell ungenutzte Speicher-Elemente und/oder freie, aktuell ungenutzte Logik-Elemente des erfindungsgemäßen, dynamischen Logik-Moduls umfasst, welche vorzugsweise über den genannten Daten-Bus auslesbar ist und bevorzugt innerhalb des erfindungsgemäßen, dynamischen Logik-Moduls konfiguriert ist.<!-- EPO <DP n="10"> --></p>
<p id="p0057" num="0057">Die Erfindung wird nachfolgend anhand eines in den beigeschlossenen Zeichnungen dargestellten Ausführungsbeispiels näher erläutert. In den Zeichnungen zeigt:
<dl id="dl0001">
<dt>Fig. 1</dt><dd>ein Blockschaltbild eines ersten Ausführungsbeispiels der Erfindung,</dd>
<dt>Fig. 2</dt><dd>ein Blockschaltbild eines zweiten Ausführungsbeispiels der Erfindung.</dd>
</dl></p>
<p id="p0058" num="0058"><figref idref="f0001"><b>Fig. 1</b></figref> zeigt ein Blockschaltbild eines ersten Ausführungsbeispiels der Erfindung mit einer Logik auf Basis eines FPGA.</p>
<p id="p0059" num="0059">Eine konfigurierbare Logik-Vorrichtung FPGA1 mit einer programmierbaren Logik PL1 umfasst ein dynamisches Logik-Modul DLM1 mit Speicher-Elementen M1-M3 und Logik-Elementen L1-L3.</p>
<p id="p0060" num="0060">Ferner weist die konfigurierbare Logik-Vorrichtung FPGA1 ein Kontroll-Modul CM zur Konfiguration des dynamisches Logik-Moduls DLM1 auf, sowie mit einem Daten-Bus BUS verbundene Daten-Module in Form eines Prozessors CPU, eines Speichers MEM, eines direkten Speicherzugriffs-Element DMA, sowie mehrere Peripherie-Geräte P1-Pn.</p>
<p id="p0061" num="0061">Die Konfiguration des dynamisches Logik-Moduls DLM1 kann durch eine Instruktion CF1 initiiert werden, welche vom Kontroll-Modul CM ausgeführt über eine weitere Instruktion CF2 wird.</p>
<p id="p0062" num="0062">Das dynamisches Logik-Modul DLM1 kann in HWA-Containern C1-C3 organisiert sein, welche individuell durch das Kontroll-Modul CM konfiguriert werden können.</p>
<p id="p0063" num="0063">Die Daten-Module CPU, MEM, DMA, P1-Pn sind jeweils dazu eingerichtet, Daten dem Daten-Bus BUS bereitzustellen oder vom Daten-Bus BUS zu lesen.</p>
<p id="p0064" num="0064">Das dynamische Logik-Modul DLM1 weist ferner eine Schnittstellen-Logik SL auf, welche mit dem Daten-Bus BUS verbunden<!-- EPO <DP n="11"> --> ist und dazu eingerichtet ist, einem oder mehreren Daten-Modulen CPU, MEM, DMA, P1-Pn über den Daten-Bus BUS einen direkten Zugriff auf die Speicher-Elemente M1-M3 und/oder die Logik-Elemente L1-L3 des dynamischen Logik-Moduls DLM1 zu erlauben.</p>
<p id="p0065" num="0065">Das Kontroll-Modul CM dient zur Konfiguration des dynamisches Logik-Moduls DLM1. Diese Konfiguration kann eine initiale Konfiguration sein, aber auch eine Rekonfiguration, welche während des Betriebs der Logik-Vorrichtung durchgeführt werden soll. Eine Rekonfiguration kann entweder durch ein externes Signal EXT oder durch eine ausgeführte Logik-Operation angestoßen werden, wie durch die strich-punktierte Line CF1, CF2 in der Figur angedeutet ist. Die Logik-Operation wird über den Daten-Bus mitgeteilt.</p>
<p id="p0066" num="0066">Das Kontroll-Modul CM ist dazu eingerichtet, Informationen über freie, aktuell ungenutzte Speicher-Elemente und/oder freie, aktuell ungenutzte Logik-Elemente des dynamischen Logik-Moduls DLM1 über den Daten-Bus BUS bereitzustellen.</p>
<p id="p0067" num="0067">Dazu kann eine computer-implementierte Tabelle TAB innerhalb des dynamischen Logik-Moduls DLM1 verwendet werden.</p>
<p id="p0068" num="0068">Die Tabelle TAB umfasst Informationen über freie, aktuell ungenutzte Speicher-Elemente und/oder freie, aktuell ungenutzte Logik-Elemente des dynamischen Logik-Moduls DLM1.</p>
<p id="p0069" num="0069">Die Tabelle TAB ist über den Daten-Bus BUS der programmierbaren Logik PL1 auslesbar.</p>
<p id="p0070" num="0070">Das Kontroll-Modul CM kann dazu eingerichtet sein, die Informationen über freie, aktuell ungenutzte Elemente M1-M3, L1-L3 periodisch erneut zu erfassen und bereitzustellen.</p>
<p id="p0071" num="0071">Alternativ kann das Kontroll-Modul CM dazu eingerichtet sein, Konfigurations-Daten vom Daten-Modul CPU, MEM, DMA, P1-Pn zu erfassen und Konfigurationsänderung der programmierbaren Logik PL1 durchzuführen und die Informationen über freie, aktuell<!-- EPO <DP n="12"> --> ungenutzte Elemente M1-M3, L1-L3 erneut zu erfassen und bereitzustellen.</p>
<p id="p0072" num="0072">In diesem Beispiel weist das dynamische Logik-Modul DLM1 drei Anwendungs-Logiken AL1-AL3 auf, welche nicht zusammenhängende Logik-Bereiche bilden.</p>
<p id="p0073" num="0073">Die Speicher-Elemente M1-M3 und/oder Logik-Elemente L1-L3 sind über die drei Anwendungs-Logiken AL1-AL3 verteilt und über die Schnittstellen-Logik SL und den Daten-Bus BUS ansteuerbar.</p>
<p id="p0074" num="0074">Das Kontroll-Modul CM ist dazu eingerichtet, während des Betriebs die programmierbare Logik DLM1 erneut zu konfigurieren.</p>
<p id="p0075" num="0075">In diesem Beispiel ist unter anderem der Prozessor CPU vorgesehen, um Daten zu erzeugen und bereitzustellen. Alternativ kann auf einen Prozessor verzichtet werden und die Daten beispielsweise von einem Peripherie-Gerät P1-Pn bereitgestellt werden, wie von einem externen Daten-Modem oder einem externen Sensor.</p>
<p id="p0076" num="0076"><figref idref="f0002"><b>Fig. 2</b></figref> zeigt ein Blockschaltbild eines zweiten Ausführungsbeispiels der Erfindung.</p>
<p id="p0077" num="0077">Eine konfigurierbare Logik-Vorrichtung FPGA2 mit einer programmierbaren Logik PL2 umfasst ein dynamisches Logik-Modul DLM2.</p>
<p id="p0078" num="0078">Es gelten analog die Ausführungen zur vorhergehenden Figur.</p>
<p id="p0079" num="0079">Die konfigurierbare Logik-Vorrichtung FPGA2 weist ferner einen Co-Prozessor CO-CPU auf, welcher mit dem Daten-Bus BUS verbunden ist.</p>
<p id="p0080" num="0080">Der Co-Prozessor kann ein digitaler Signalprozessor (DSP) sein, welcher von einem externen Sensor Daten empfängt und mithilfe von Teilen der programmierbaren Logik PL2 weiterverarbeitet, wie im Folgenden weiter ausgeführt.<!-- EPO <DP n="13"> --></p>
<p id="p0081" num="0081">Der Co-Prozessor CO-CPU umfasst eine Vektor-Register-Datei VRF, eine Lade-/Speicher-Einheit LSU, eine Arithmetisch-Logische-Einheit ALU, eine Multiplikations-Einheit MUL und eine Fließkomma-Rechenvorrichtung FPU.</p>
<p id="p0082" num="0082">Die Speicher-Elemente und/oder Logik-Elemente sind derart konfiguriert, um drei Anwendungs-Logiken jeweils in Form von Co-Prozessor-Submodulen ASPU1-ASPU3, zu bilden.</p>
<p id="p0083" num="0083">Die Konfiguration erfolgt, indem ungenutzte HWA-Container beispielsweise als Vektorausführungseinheit ALU, MUL oder FPU gemäß einer vordefinierten Konfiguration initialisiert werden.</p>
<p id="p0084" num="0084">Die gezeigten Submodule sind eine Arithmetisch-Logische-Einheit ALU1 und zwei Multiplikations-Einheiten MUL1, MUL2.</p>
<p id="p0085" num="0085">Die Co-Prozessor-Submodule ASPU1-ASPU3 können mithilfe der Schnittstellen-Logik SL angesteuert werden.</p>
<p id="p0086" num="0086">Zur besseren Veranschaulichung ist eine strich-punktierte Line als gedachte Container-Ausführung E1 in der Figur zwischen dem Co-Prozessor CO-CPU und dem Dispatcher DP eingezeichnet, was andeuten soll, dass der Co-Prozessor CO-CPU dem Dispatcher DP Instruktionen zur Ausführung übermittelt und der Dispatcher DP die Zuweisung über eine gedachte Container-Ausführung E2 zu den Co-Prozessor-Submodule ASPU1-ASPU3 durchführt.</p>
<p id="p0087" num="0087">Im dynamischen Logik-Modul DLM2 sind ferner ein Dispatcher DP und die drei Co-Prozessor-Submodule ASPU1-ASPU3 als jeweilige Anwendungs-Logiken konfiguriert.</p>
<p id="p0088" num="0088">Die erfolgte Konfiguration von Teilen des dynamischen Logik-Moduls DLM2 und deren Verfügbarkeits-Status werden dem Dispatcher DP gemeldet.</p>
<p id="p0089" num="0089">Der Dispatcher DP ist dazu eingerichtet, Berechnungsaufgaben vom Prozessor-Modul CPU oder dem Co-Prozessor CO-CPU über den<!-- EPO <DP n="14"> --> Daten-Bus BUS zu empfangen und zu an die Co-Prozessor-Submodule ASPU1-ASPU3 zur Bearbeitung zu verteilen.</p>
<p id="p0090" num="0090">Die Art der Ausführungseinheit, die im HWA-Container C1-C3 initialisiert wird, hängt von den Anforderungen des kommenden vektoriellen Codefragments ab, welches ausgeführt werden soll.</p>
<p id="p0091" num="0091">Sobald die Vektorausführungseinheit bereit ist, teilt sie dem Dispatcher DP die Anwesenheit oder Verfügbarkeit durch entsprechende Steuersignale mit.</p>
<p id="p0092" num="0092">Die HWA-Container C1-C3 benachrichtigen auch den Dispatcher DP, wenn sie nicht verfügbar sind.</p>
<p id="p0093" num="0093">Der Dispatcher DP steuert den Fluss der vektoriellen Anweisungen, indem er sie vom Prozessor CPU entgegennimmt und an eine ausgewählte Einheit ASPU1-ASPU3 ausgibt.</p>
<p id="p0094" num="0094">Wenn die Last der vektoriellen Ausführungsbefehle vom Prozessor CPU höher ist als die Kapazität der Ausführungseinheiten innerhalb des Vector-Coprozessors, dann prüft der Dispatcher DP auf verfügbare Einheiten innerhalb verfügbarer HWA-Container C1-C3 und verteilt Teile der Befehle an diese.</p>
<p id="p0095" num="0095">Dies bedeutet, dass aufgrund der Datenunabhängigkeit zwischen vektoriellen Befehlen mehr Befehle parallel ausgeführt werden können.</p>
<p id="p0096" num="0096">Der Dispatcher DP als Disponent ist auch dafür verantwortlich, strukturelle oder Datenrisiken zu vermeiden, indem er die Ausführungen von Instruktionen durch verschiedene Einheiten koordiniert.</p>
<p id="p0097" num="0097">Das genannte Konzept kann einfach als new()- und delete()-Methode für eine dedizierte vektorielle Ausführungseinheit in einem objektorientierten SW-Entwurfsfluss implementiert werden.<!-- EPO <DP n="15"> --></p>
<p id="p0098" num="0098">Die Zuweisung von Vektorausführungseinheiten in bestimmte HWA-Container C1-C3 kann automatisch im Hintergrund, auch ohne Mitwirkung des Prozessors CPU oder des Co-Prozessors CO-CPU erfolgen und völlig transparent für den Benutzer dargestellt werden.<!-- EPO <DP n="16"> --></p>
<heading id="h0001"><b>Bezugszeichenliste:</b></heading>
<p id="p0099" num="0099">
<dl id="dl0002" compact="compact">
<dt>AL1-AL3</dt><dd>Anwendungs-Logik</dd>
<dt>ALU, ALU1</dt><dd>Arithmetisch Logische Einheit</dd>
<dt>ASPU1-ASPU3</dt><dd>Applikationsspezifische Rechenvorrichtung</dd>
<dt>BUS</dt><dd>Daten-Bus</dd>
<dt>C1-C3</dt><dd>Hardware-App-Cluster, Container</dd>
<dt>CF1, CF2</dt><dd>Konfigurations-Schritt</dd>
<dt>CM</dt><dd>Konfigurations-Modul</dd>
<dt>CO-CPU</dt><dd>Co-Prozessor</dd>
<dt>CPU</dt><dd>Prozessor</dd>
<dt>DMA</dt><dd>Direct-Memory-Access Vorrichtung</dd>
<dt>DP</dt><dd>Dispatcher</dd>
<dt>E1, E2</dt><dd>Ausführung von Container</dd>
<dt>EXT</dt><dd>externes Signal</dd>
<dt>FPGA1, FPGA2</dt><dd>Feld-programmierbare Logik</dd>
<dt>FPU</dt><dd>Fließkomma-Rechenvorrichtung</dd>
<dt>L1-L3</dt><dd>Logik</dd>
<dt>LSU</dt><dd>Lade-/Speicher-Einheit</dd>
<dt>MEM, M1-M3</dt><dd>Speicher</dd>
<dt>MUL, MUL1, MUL2</dt><dd>Multiplikations-Rechenvorrichtung</dd>
<dt>P1-Pn</dt><dd>Peripherie-Gerät</dd>
<dt>PL1, PL2</dt><dd>Programmierbare Logik</dd>
<dt>SL</dt><dd>Schnittstellen-Logik</dd>
<dt>TAB</dt><dd>Tabelle</dd>
<dt>VRF</dt><dd>Vektor-Register-Datei</dd>
</dl></p>
</description>
<claims id="claims01" lang="de"><!-- EPO <DP n="17"> -->
<claim id="c-de-0001" num="0001">
<claim-text>Konfigurierbare Logik-Vorrichtung (FPGA1, FPGA2) mit einer programmierbaren Logik (PL1, PL2), umfassend ein dynamisches Logik-Modul (DLM1, DLM2) mit Speicher-Elementen (M1-M3) und Logik-Elementen (L1-L3), ein Kontroll-Modul (CM) zur Konfiguration des dynamisches Logik-Moduls (DLM1, DLM2) und zumindest ein, mit einem Daten-Bus (BUS) verbundenes Daten-Modul (CPU, MEM, DMA, P1-Pn), welches dazu eingerichtet ist, Daten dem Daten-Bus (BUS) bereitzustellen oder vom Daten-Bus (BUS) zu lesen,<br/>
<b>dadurch gekennzeichnet, dass</b> das dynamische Logik-Modul (DLM1, DLM2) ferner eine Schnittstellen-Logik (SL) aufweist, welche mit dem Daten-Bus (BUS) verbunden ist und dazu eingerichtet ist, dem Daten-Modul (CPU, MEM, DMA, P1-Pn) über den Daten-Bus (BUS) einen direkten Zugriff auf die Speicher-Elemente (M1-M3) und/oder die Logik-Elemente (L1-L3) des dynamischen Logik-Moduls (DLM1, DLM2) zu erlauben.</claim-text></claim>
<claim id="c-de-0002" num="0002">
<claim-text>Konfigurierbare Logik-Vorrichtung (FPGA1, FPGA2) nach dem vorhergehenden Anspruch, wobei das Kontroll-Modul (CM) dazu eingerichtet ist, Informationen über freie, aktuell ungenutzte Speicher-Elemente und/oder freie, aktuell ungenutzte Logik-Elemente des dynamischen Logik-Moduls (DLM1, DLM2) über den Daten-Bus (BUS) bereitzustellen, vorzugsweise mithilfe einer computer-implementierten Tabelle (TAB) innerhalb des dynamischen Logik-Moduls (DLM1, DLM2).</claim-text></claim>
<claim id="c-de-0003" num="0003">
<claim-text>Konfigurierbare Logik-Vorrichtung (FPGA1, FPGA2) nach dem vorhergehenden Anspruch, wobei das Kontroll-Modul (CM) dazu eingerichtet ist, die Informationen über freie, aktuell ungenutzte Elemente (M1-M3, L1-L3) periodisch erneut zu erfassen und bereitzustellen.</claim-text></claim>
<claim id="c-de-0004" num="0004">
<claim-text>Konfigurierbare Logik-Vorrichtung (FPGA1, FPGA2) nach Anspruch 2, wobei das Kontroll-Modul (CM) dazu eingerichtet<!-- EPO <DP n="18"> --> ist, Daten vom Daten-Modul (CPU, MEM, DMA, P1-Pn) zu erfassen und Konfigurationsänderung der programmierbaren Logik (PL1, PL2) durchzuführen und die Informationen über freie, aktuell ungenutzte Elemente (M1-M3, L1-L3) erneut zu erfassen und bereitzustellen.</claim-text></claim>
<claim id="c-de-0005" num="0005">
<claim-text>Konfigurierbare Logik-Vorrichtung (FPGA1, FPGA2) nach einem der vorhergehenden Ansprüche, wobei das dynamische Logik-Modul (DLM1, DLM2) zumindest zwei Anwendungs-Logiken (AL1-AL3, ASPU1-ASPU3) aufweist, welche nicht zusammenhängende Logik-Bereiche bilden, und die Speicher-Elemente (M1-M3) und/oder Logik-Elemente (L1-L3), welche über die Schnittstellen-Logik (SL) und den Daten-Bus (BUS) ansteuerbar sind, über die zumindest zwei Anwendungs-Logiken (AL1-AL3, ASPU1-ASPU3) verteilt sind.</claim-text></claim>
<claim id="c-de-0006" num="0006">
<claim-text>Konfigurierbare Logik-Vorrichtung (FPGA1, FPGA2) nach einem der vorhergehenden Ansprüche, wobei das dynamische Logik-Modul (DLM1, DLM2) zumindest zwei Anwendungs-Logiken (AL1-AL3, ASPU1-ASPU3) aufweist, und das Kontroll-Modul (CM) dazu eingerichtet ist, während des Betriebs die programmierbare Logik (DLM1, DLM2) erneut zu konfigurieren.</claim-text></claim>
<claim id="c-de-0007" num="0007">
<claim-text>Konfigurierbare Logik-Vorrichtung (FPGA2) nach einem der vorhergehenden Ansprüche, wobei die Speicher-Elemente und/oder Logik-Elemente derart konfiguriert sind, zumindest eine Anwendungs-Logik in Form eines Co-Prozessor-Submoduls (ASPU1-ASPU3) zu bilden und mithilfe der Schnittstellen-Logik (SL) angesteuert zu werden.</claim-text></claim>
<claim id="c-de-0008" num="0008">
<claim-text>Konfigurierbare Logik-Vorrichtung (FPGA2) nach dem vorhergehenden Anspruch, ferner umfassend einen Co-Prozessor (CO-CPU), welcher mit dem Daten-Bus (BUS) verbunden ist und welcher dazu eingerichtet ist, mithilfe der Schnittstellen-Logik (SL) das zumindest eine Co-Prozessor-Submodul (ASPU1-ASPU3) anzusteuern.<!-- EPO <DP n="19"> --></claim-text></claim>
<claim id="c-de-0009" num="0009">
<claim-text>Konfigurierbare Logik-Vorrichtung (FPGA2) nach dem vorhergehenden Anspruch, wobei im dynamischen Logik-Modul (DLM2) ferner ein Dispatcher (DP) und zumindest zwei Co-Prozessor-Submodule (ASPU1-ASPU3) als jeweilige Anwendungs-Logik konfiguriert sind und der Dispatcher (DP) dazu eingerichtet ist, Berechnungsaufgaben vom Prozessor-Modul (CPU) oder dem Co-Prozessor (CO-CPU) über den Daten-Bus (BUS) zu empfangen und zu an die zumindest zwei Co-Prozessor-Submodule (ASPU1-ASPU3) zur Bearbeitung zu verteilen.</claim-text></claim>
<claim id="c-de-0010" num="0010">
<claim-text>Computer-implementierte Tabelle (TAB), umfassend Informationen über freie, aktuell ungenutzte Speicher-Elemente und/oder freie, aktuell ungenutzte Logik-Elemente des dynamischen Logik-Moduls (DLM1, DLM2) nach Anspruch 1, welche vorzugsweise über den Daten-Bus (BUS) der programmierbaren Logik (PL1, PL2) nach Anspruch 1 auslesbar ist.</claim-text></claim>
</claims>
<drawings id="draw" lang="de"><!-- EPO <DP n="20"> -->
<figure id="f0001" num="1"><img id="if0001" file="imgf0001.tif" wi="160" he="194" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="21"> -->
<figure id="f0002" num="2"><img id="if0002" file="imgf0002.tif" wi="165" he="191" img-content="drawing" img-format="tif"/></figure>
</drawings>
<search-report-data id="srep" lang="de" srep-office="EP" date-produced=""><doc-page id="srep0001" file="srep0001.tif" wi="157" he="233" type="tif"/></search-report-data><search-report-data date-produced="20220704" id="srepxml" lang="de" srep-office="EP" srep-type="ep-sr" status="n"><!--
 The search report data in XML is provided for the users' convenience only. It might differ from the search report of the PDF document, which contains the officially published data. The EPO disclaims any liability for incorrect or incomplete data in the XML for search reports.
 -->

<srep-info><file-reference-id>2021P21965EP</file-reference-id><application-reference><document-id><country>EP</country><doc-number>22151890.5</doc-number></document-id></application-reference><applicant-name><name>Siemens AG Österreich</name></applicant-name><srep-established srep-established="yes"/><srep-invention-title title-approval="yes"/><srep-abstract abs-approval="yes"/><srep-figure-to-publish figinfo="by-applicant"><figure-to-publish><fig-number>1</fig-number></figure-to-publish></srep-figure-to-publish><srep-info-admin><srep-office><addressbook><text>DH</text></addressbook></srep-office><date-search-report-mailed><date>20220712</date></date-search-report-mailed></srep-info-admin></srep-info><srep-for-pub><srep-fields-searched><minimum-documentation><classifications-ipcr><classification-ipcr><text>H03K</text></classification-ipcr><classification-ipcr><text>G06F</text></classification-ipcr></classifications-ipcr></minimum-documentation></srep-fields-searched><srep-citations><citation id="sr-cit0001"><nplcit id="sr-ncit0001" npl-type="s"><article><author><name>CHARITOPOULOS GEORGE ET AL</name></author><atl>Run-time management of systems with partially reconfigurable FPGAs</atl><serial><sertitle>INTEGRATION, THE VLSI JOURNAL, NORTH-HOLLAND PUBLISHING COMPANY. AMSTERDAM, NL</sertitle><pubdate>20161128</pubdate><vid>57</vid><doi>10.1016/J.VLSI.2016.11.008</doi><issn>0167-9260</issn></serial><location><pp><ppf>34</ppf><ppl>44</ppl></pp></location><refno>XP029925326</refno></article></nplcit><category>X</category><rel-claims>1-4</rel-claims><rel-passage><passage>* das ganze Dokument *</passage></rel-passage></citation><citation id="sr-cit0002"><nplcit id="sr-ncit0002" npl-type="s"><article><author><name>SIEMENS AG ALIZA MAFTUN DE-MUNICH ET AL</name></author><atl>Monitoring, Validation and Sanitization of Hardware-App Interfaces</atl><serial><sertitle>PRIOR ART PUBLISHING GMBH, PRIOR ART PUBLISHING GMBH, MANFRED-VON-RICHTHOFEN-STR. 9, 12101 BERLIN GERMANY</sertitle><pubdate>20190520</pubdate><vid>www.priorartregister.com</vid></serial><location><pp><ppf>1</ppf><ppl>6</ppl></pp></location><refno>XP007022573</refno></article></nplcit><category>X</category><rel-claims>1,5-10</rel-claims><rel-passage><passage>* das ganze Dokument *</passage></rel-passage></citation></srep-citations><srep-admin><examiners><primary-examiner><name>Mesplede, Delphine</name></primary-examiner></examiners><srep-office><addressbook><text>The Hague</text></addressbook></srep-office><date-search-completed><date>20220704</date></date-search-completed></srep-admin></srep-for-pub></search-report-data>
<ep-reference-list id="ref-list">
<heading id="ref-h0001"><b>IN DER BESCHREIBUNG AUFGEFÜHRTE DOKUMENTE</b></heading>
<p id="ref-p0001" num=""><i>Diese Liste der vom Anmelder aufgeführten Dokumente wurde ausschließlich zur Information des Lesers aufgenommen und ist nicht Bestandteil des europäischen Patentdokumentes. Sie wurde mit größter Sorgfalt zusammengestellt; das EPA übernimmt jedoch keinerlei Haftung für etwaige Fehler oder Auslassungen.</i></p>
<heading id="ref-h0002"><b>In der Beschreibung aufgeführte Nicht-Patentliteratur</b></heading>
<p id="ref-p0002" num="">
<ul id="ref-ul0001" list-style="bullet">
<li><nplcit id="ref-ncit0001" npl-type="s"><article><author><name>K. VIPIN</name></author><author><name>S. A. FAHMY</name></author><atl>Efficient region allocation for adaptive partial reconfiguration</atl><serial><sertitle>2011 International Conference on Field-Programmable Technology, New Delhi, India</sertitle><pubdate><sdate>20111200</sdate><edate/></pubdate></serial><location><pp><ppf>1</ppf><ppl>6</ppl></pp></location></article></nplcit><crossref idref="ncit0001">[0009]</crossref></li>
</ul></p>
</ep-reference-list>
</ep-patent-document>
