DE102019126634A1 - Verfahren zum Betreiben eines programmierbaren Logikbausteins und Logikeinheit zur effizienten Durchführung eines vorgegebenen Prozesses - Google Patents

Verfahren zum Betreiben eines programmierbaren Logikbausteins und Logikeinheit zur effizienten Durchführung eines vorgegebenen Prozesses Download PDF

Info

Publication number
DE102019126634A1
DE102019126634A1 DE102019126634.3A DE102019126634A DE102019126634A1 DE 102019126634 A1 DE102019126634 A1 DE 102019126634A1 DE 102019126634 A DE102019126634 A DE 102019126634A DE 102019126634 A1 DE102019126634 A1 DE 102019126634A1
Authority
DE
Germany
Prior art keywords
logic module
control unit
sub
logic
communication channel
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.)
Pending
Application number
DE102019126634.3A
Other languages
English (en)
Inventor
Thomas Bahls
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102019126634.3A priority Critical patent/DE102019126634A1/de
Publication of DE102019126634A1 publication Critical patent/DE102019126634A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Betreiben eines programmierbaren Logikbausteins (12), insbesondere eines FPGAs, zur Durchführung eines vorgegebenen Prozesses, umfassend die nachfolgenden Schritte:
- Zerlegung des durchzuführenden Prozesses in mindestens zwei Teilprozesse durch eine Steuereinheit (14),
- Programmierung des Logikbausteins (12) durch die Steuereinheit (14) zur Durchführung des ersten Teilprozesses,
- Durchführung des ersten Teilprozesses unter Verwendung des programmierten Logikbausteins (12),
- erneute Programmierung des Logikbausteins (12) durch die Steuereinheit (14) zur Durchführung des zweiten Teilprozesses, und
- Durchführung des zweiten Teilprozesses unter Verwendung des neu programmierten Logikbausteins (12), wobei
- die für die Programmierung des Logikbausteins (12) notwendigen Daten über einen ersten Kommunikationskanal (16) von der Steuereinheit (14) an den Logikbaustein (12) übertragen werden.

Description

  • Programmierbare Logikbausteine, wie z. B. FPGAs ermöglichen eine flexible Rekonfiguration integrierter Schaltungen. Dabei kann ein Schaltkreis innerhalb kurzer Zeit realisiert werden, der je nach Anwendungsgebiet rekonfiguriert werden kann. Insbesondere werden Logikbausteine eingesetzt, um vorgegebene Prozesse, wie z. B. zur Audiosignalverarbeitung oder zur Bildverarbeitung effizient durchzuführen. Insbesondere erlauben FPGAs eine partielle Rekonfiguration, wobei nur ein Bereich des Logikbausteins neu programmiert wird. Hierbei wird mittels eines externen Controllers bei Bedarf eine neue Hardwarebeschreibung nachgeladen. Man unterscheidet dabei zwischen statischer und dynamischer Rekonfiguration. Bei der statischen Rekonfiguration ist der komplette Logikbaustein in Ruhe (Shutdown Mode) versetzt und wird erst nach Ablauf der Programmierung wieder in den aktiven Zustand versetzt. Bei der dynamischen Rekonfiguration hingegen werden (sofern von der Hardware unterstützt) nur einzelne Teile rekonfiguriert, während die übrigen Teile voll funktionsfähig bleiben. In beiden vorstehend beschriebenen Fällen wird jedoch ein statischer Code generiert, bei dem die Funktionalität zur Compilezeit festgelegt wird.
  • Während sich die beschriebenen Logikbausteine durch eine besonders hohe Flexibilität auszeichnen, sind diese dennoch auch mit Nachteilen verbunden. So sind insbesondere für die Durchführung sehr komplexer Prozesse eine hohe Anzahl an Logikelementen (z. B. Register, Lookup-Tabellen und Multiplexer) für die Durchführung des gewünschten Prozesses erforderlich.
  • Ausgehend von der vorstehend beschriebenen Problematik ist es Aufgabe der vorliegenden Erfindung ein Verfahren zum Betreiben eines programmierbaren Logikbausteins bereitzustellen, bei dem die durchzuführenden Prozesse effizienter zu realisieren sind.
  • Hierzu wird im Rahmen der vorliegenden Erfindung ein Ansatz zur dynamischen partiellen Rekonfiguration der programmierbaren Logikbausteine verfolgt, bei dem ein dynamischer Code verwendet wird, der erst während des Betriebs des Logikbausteins festgelegt wird.
  • Dies bedeutet, dass sich die Zustände des zu konfigurierenden Logikbausteins auf den nachzuladenden Code auswirken können. Dadurch kann der Code und somit die Funktionalität des Logikbausteins während der Laufzeit bzw. während des Betriebs des Logikbausteins kontinuierlich und individuell adaptiert werden. Die Adaption bzw. die Erzeugung kann sowohl einzelne Codeteile als auch den gesamten Code betreffen.
  • Zur Lösung der vorstehend genannten Aufgabe wird im Rahmen der vorliegenden Erfindung ein Verfahren zum Betreiben eines programmierbaren Logikbausteins, insbesondere eines FPGAs, zur Durchführung eines vorgegebenen Prozesses vorgeschlagen, umfassend die nachfolgenden Schritte:
    • - Zerlegung des durchzuführenden Prozesses in mindestens zwei Teilprozesse durch eine Steuereinheit,
    • - Programmierung des Logikbausteins durch die Steuereinheit zur Durchführung des ersten Teilprozesses,
    • - Durchführung des ersten Teilprozesses unter Verwendung des programmierten Logikbausteins,
    • - erneute Programmierung des Logikbausteins durch die Steuereinheit zur Durchführung des zweiten Teilprozesses, und
    • - Durchführung des zweiten Teilprozesses unter Verwendung des neu programmierten Logikbausteins, wobei
    • - die für die Programmierung des Logikbausteins notwendigen Daten über einen ersten Kommunikationskanal von der Steuereinheit an den Logikbaustein übertragen werden.
  • Bei dem vorgegebenen Prozess kann es sich beispielsweise um einen Signalverarbeitungsprozess, wie z. B. einen Prozess zur Audiosignalverarbeitung oder zur Bildverarbeitung handeln. Insbesondere kann dabei vorgesehen sein, dass der vorgegebene Prozess in zwei oder mehrere Teilprozesse zerlegt wird, wobei der Logikbaustein jeweils zur Durchführung eines Teilprozesses programmiert wird. Mit dem vorgeschlagenen Verfahren wird ermöglicht, die notwendige Menge an Silizium und somit die Bauteilgröße signifikant zu reduzieren. Es wird lediglich eine vorgegebene Menge an Standardlogikelementen (insbesondere Register, Lookup-Tabellen, Multiplexer, Addierer, Multiplizierer, RAM) zur Verfügung gestellt, welche nach Abarbeiten ihrer aktuellen Funktion wieder zur freien Verfügung stehen. Somit sind für die Durchführung eines komplexen Prozesses insgesamt deutlich weniger Logikelemente notwendig, als dies bei den aus dem Stand der Technik bekannten Verfahren der Fall ist.
  • Gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass die Zerlegung des Prozesses in mindestens zwei sequentielle Teilprozesse erfolgt. Somit werden die Prozesse bzw. die Teilprozesse innerhalb des Logikbausteins über die Zeit abgebildet. So kann entweder die Größe des Logikbausteins reduziert werden oder alternativ ein Logikbaustein derselben Größe verwendet werden, wobei mit diesem Logikbaustein deutlich komplexere Prozesse durchzuführen sind.
  • Gemäß einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass die Programmierung des Logikbausteins durch die Steuereinheit zur Durchführung der ersten und/oder zur Durchführung des zweiten Teilprozesses eine Synthese, einen Map, ein Place and Route, eine Bitstream-Erzeugung sowie eine Übertragung des Bitstreams von der Steuereinheit an den Logikbaustein über den ersten Kommunikationskanal umfasst. Es wird also für jeden Teilprozess eine Programmierung des Logikbausteins durchgeführt, wobei sich die Granularität des Teilprozesses nach den zur Verfügung stehenden Ressourcen richtet. Sind die verfügbaren Ressourcen sehr stark begrenzt, so können die durchzuführenden Teilprozesse sehr fein aufgeteilt werden, wobei die Anzahl der Teilprozesse, die auf dem Logikbaustein sequentiell programmiert und durchlaufen werden, zunimmt.
  • Die Programmierung kann einen Teil des Logikbausteins betreffen oder alternativ eine komplette Neuprogrammierung des Logikbausteins. Dabei kann vorgesehen sein, dass die Ergebnisse, die nach einem Teilprozess erzielt wurden, in einem Teil des Logikbausteins oder in einer separaten Speichereinheit zwischengespeichert werden, so dass während des nächsten Teilprozesses auf diese Ergebnisse zugegriffen werden kann. Beispielsweise kann vorgesehen sein, dass der Logikbaustein für die Durchführung eines Prozesses zur Audiosignalverarbeitung ausgelegt ist und dass bei diesem Prozess eine Fourier-Transformation (insbesondere eine FFT) sowie eine Tiefpassfilterung erforderlich ist. Bei den bislang eingesetzten Verfahren zum Betreiben eines Logikbausteins würde typischerweise ein erster Teil des Logikbausteins derart programmiert, dass dieser für die Durchführung der Fourier-Transformation zuständig ist, während ein zweiter Teil der Durchführung einer Tiefpassfilterung dient. Hingegen kann gemäß dem erfindungsgemäßen Verfahren der Prozess in zwei Teilprozesse zerlegt werden und der Logikbaustein zunächst für die Durchführung des ersten Teilprozesses programmiert und erst im Anschluss für die Durchführung des zweiten Teilprozesses neu programmiert werden.
  • Gemäß einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass der Logikbaustein über einen zweiten Kommunikationskanal wiederholt Zustandsdaten an die Steuereinheit sendet und dass die Programmierung des Logikbausteins, insbesondere die einzelnen Schritte für die Generierung des Kompilats (Synthese, Place and Route, Map), zur Durchführung des ersten Teilprozesses und/oder des zweiten Teilprozesses durch die Steuereinheit in Abhängigkeit von den Zustandsdaten erfolgt, die zuvor von dem Logikbaustein an die Steuereinheit gesendet wurden. Auf diese Weise kann eine Optimierung bei der Programmierung des Logikbausteins erzielt werden, indem die Programmierung auf die aktuellen Zustandsdaten des Logikbausteins angepasst werden kann. Wenn beispielsweise die Umprogrammierung einzelner Bereiche des Logikbausteins als besonders aufwendig erscheint, können andere Bereiche des Logikbausteins umprogrammiert werden, um dadurch eine höhere Effizienz des Verfahrens zu gewährleisten.
  • Auch kann gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens vorgesehen sein, dass der zweite Kommunikationskanal identisch mit dem ersten Kommunikationskanal oder von dem ersten Kommunikationskanal verschieden ist. Durch die Verwendung eines einzigen bzw. integralen Kommunikationskanals kann der Aufbau vereinfacht werden. Andererseits kann durch die Verwendung zweier unterschiedlicher Kommunikationskanäle eine erhöhte Übertragungsgeschwindigkeit erreicht werden, so dass insgesamt ein schnelleres Verfahren bzw. ein schnellerer Betrieb des Logikbausteins ermöglicht wird.
  • Ferner kann gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens vorgesehen sein, dass die Zustandsdaten des Logikbausteins in vorgegebenen Zeitabständen an die Steuereinheit gesendet werden. Dadurch kann eine vereinfachte Implementierung des erfindungsgemäßen Verfahrens ermöglicht werden.
  • Ferner kann gemäß einer Ausführungsform der Erfindung vorgesehen sein, dass die Zustandsdaten des Logikbausteins nach Durchführung eines Teilprozesses an die Steuereinheit übermittelt werden. Dadurch kann eine vollständig sequentielle Implementierung des erfindungsgemäßen Verfahrens realisiert werden, wodurch die Übertragungskapazitäten besonders gut ausgenutzt werden können, wodurch ein besonders effizientes Verfahren ermöglicht wird.
  • Gemäß einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass bei der Programmierung des Logikbausteins zur Durchführung des ersten und/oder des zweiten Teilprozesses lediglich eine partielle Programmierung des Logikbausteins erfolgt. Dies hat einerseits den Vorteil, dass einzelne Bereiche des Logikbausteins zur Speicherung von Zwischenergebnissen verwendet werden können. Andererseits kann die Effizienz des gesamten Verfahrens erhöht werden, wenn auf flexible Art sowie angepasst an den durchzuführenden Prozess lediglich nur einzelne Teile des Logikbausteins neu programmiert werden und bei Bedarf einzelne Teile des Logikbausteins unverändert bleiben, weil diese etwa zur Durchführung des nachfolgenden Teilprozesses benötigt werden.
  • Ferner wird zur Lösung des vorstehend genannten Problems eine Logikeinheit zur effizienten Durchführung eines vorgegebenen Prozesses vorgeschlagen mit
    • - einem programmierbaren Logikbaustein, und
    • - einer Steuereinheit zur Programmierung des Logikbausteins,
    • - wobei die Steuereinheit über einen ersten Kommunikationskanal zur Übertragung von für die Programmierung des Logikbausteins notwendigen Daten mit dem Logikbaustein verbunden ist, und
    • - wobei die Steuereinheit dazu ausgelegt ist, den Logikbausteins während der Laufzeit eines durchzuführenden Prozesses neu zu programmieren.
  • Gemäß einer Ausführungsform der erfindungsgemäßen Logikeinheit kann vorgesehen sein, dass der Logikbaustein als ein FPGA ausgeführt ist.
  • Ferner kann bei der erfindungsgemäßen Logikeinheit vorgesehen sein, dass die Steuereinheit als ein Mikrocontroller, ein FPGA oder ein Computer realisiert ist.
  • Gemäß einer weiteren Ausführungsform der Logikeinheit kann vorgesehen sein, dass die Steuereinheit über einen zweiten Kommunikationskanal zur Übertragung von Zustandsdaten des Logikbausteins an die Steuereinheit mit dem Logikbaustein verbunden ist. Dabei kann der zweite Kommunikationskanal identisch mit dem ersten Kommunikationskanal oder von diesem verschieden sein.
  • Gemäß einer Ausführungsform der erfindungsgemäßen Logikeinheit kann ferner vorgesehen sein, dass die Steuereinheit während der Laufzeit eines durchzuführenden Prozesses die einzelnen Schritte zur Generierung des Kompilats (insbesondere Synthese, Place and Route, Map) durchführt, und zwar bevorzugt in Abhängigkeit der vom Logikbaustein erhaltenen Zustandsdaten.
  • Im Rahmen der vorliegenden Erfindung wird es als selbstverständlich angesehen, dass sämtliche im Zusammenhang mit dem erfindungsgemäßen Verfahren beschriebenen Merkmale und Merkmalskombinationen auch mit der erfindungsgemäßen Logikeinheit kombiniert werden können.
  • Zur weiteren Veranschaulichung der vorliegenden Erfindung wird die Erfindung nachfolgend anhand der Figuren erläutert.
  • In der 1 ist der Ablauf des erfindungsgemäßen Verfahrens schematisch dargestellt. Bei dem Verfahren wird zunächst ein von dem programmierbaren Logikbaustein durchzuführender Prozess in mindestens zwei Teilprozesse zerlegt (S110). Anschließend erfolgt die Programmierung des Logikbausteins zur Durchführung des ersten Teilprozesses (S120). Nachdem der Logikbaustein für die Durchführung des ersten Teilprozesses programmiert ist, erfolgt die Durchführung des ersten Teilprozesses durch den programmierten Logikbaustein (S130). Im Anschluss wird der Vorgang der Programmierung des Logikbausteins für die Durchführung des zweiten Teilprozesses wiederholt (S140). Schließlich führt der programmierte Logikbaustein den zweiten Teilprozess durch (S150). Es wird vorliegend als selbstverständlich angesehen, dass der in der 1 dargestellte Ablauf als rein schematisch anzusehen ist und dass insbesondere zusätzliche Schritte zur Optimierung des Verfahrens eingesetzt werden können. Insbesondere ist die in der 1 gezeigte Ausführungsform des erfindungsgemäßen Verfahrens mit zwei Teilprozessen lediglich als beispielhaft und zur besseren Veranschaulichung anzusehen. In der Praxis kann der von der Logikeinheit durchzuführende Prozess in zahlreiche Teilprozesse zerlegt werden, so dass die Abarbeitung des Prozesses sequentiell erfolgen kann und nur sehr wenige Logikelemente benötigt werden. Zudem kann auch vorgesehen sein, dass nicht nur der Gesamtprozess in einzelne Teilprozesse unterteilt wird, die sequentiell ablaufen, sondern zudem auch einzelne Teilprozesse in einzelne Unterprozesse unterteilt werden, die parallel zueinander durchgeführt werden. Dadurch werden die zur Verfügung stehenden Ressourcen optimal verwendet, da beispielsweise mehrere Prozesse, die eine geringe Komplexität aufweisen, parallel durchgeführt werden können.
  • In der 2 ist eine schematische Darstellung der erfindungsgemäßen Logikeinheit 10 abgebildet. Die Logikeinheit 10 weist einen programmierbaren Logikbaustein 12 und eine Steuereinheit 14 zur Programmierung des Logikbausteins 12 auf. Der Logikbaustein 12 und die Steuereinheit 14 sind über einen ersten Kommunikationskanal 16 miteinander verbunden. Über den Kommunikationskanal 16 sendet die Steuereinheit 14 Rekonfigurationsdaten an den Logikbaustein 12. Hierzu erfolgt vorab insbesondere eine Synthese, ein Map, das Place and Route sowie die Erzeugung eines Bitstreams. Die genannten Prozesse zur Erzeugung eines Kompilats sind auf einen Teilprozess ausgelegt. Nachdem der für einen Teilprozess notwendige Rekonfigurationsstream an den Logikbaustein 12 gesendet wurde, kann beispielsweise nach einer vorgegebenen Zeit der nächste Rekonfigurationsstream an den Logikbaustein 12 übermittelt werden. Die vorgegebene Zeit kann sich beispielsweise daraus ergeben, dass die Steuereinheit 14 vorab berechnet, wie lange der Logikbaustein 12 für die Durchführung eines bestimmten Teilprozesses benötigen wird.
  • In der 3 ist ein weiteres Ausführungsbeispiel der Logikeinheit 10 abgebildet. Bei diesem Ausführungsbeispiel ist die Steuereinheit 14 mit dem Logikbaustein 12 über einen ersten Kommunikationskanal 16 und über einen zweiten Kommunikationskanal 18 verbunden. Über den ersten Kommunikationskanal 16 wird (wie bereits in der 2 gezeigt) der Rekonfigurationsstream von der Steuereinheit 14 an den Logikbaustein 12 übermittelt. Hingegen wird gemäß dem in der 3 dargestellten Ausführungsbeispiel über den zweiten Kommunikationskanal 18 der Systemzustand des Logikbausteins 12 an die Steuereinheit 14 übermittelt. Der zweite Kommunikationskanal 18 kann, wie in der 3 angedeutet, als ein von dem ersten Kommunikationskanal 16 separater physischer Kanal ausgeführt sein. Alternativ hierzu können aber auch der erste Kommunikationskanal 16 und der zweite Kommunikationskanal 18 auch als ein einziger physischer Kommunikationskanal ausgeführt sein. Dabei kann beispielsweise ein Multiplexverfahren eingesetzt werden, um den Informationsfluss zwischen der Steuereinheit 14 und dem Logikbaustein zu steuern. Beispielsweise kann ein Zeitmultiplexverfahren eingesetzt werden, um die beiden Kommunikationskanäle 16, 18 mittels eines einziges physischen Kommunikationskanals zu realisieren. Die Übermittlung des Systemzustands an die Steuereinheit 14 hat beispielsweise den Vorteil, dass die Steuereinheit 14 genau weiß, wann ein bestimmter Prozess auf dem Logikbaustein 12 abgeschlossen wurde. Ein weiterer Vorteil der Übertragung des Systemzustands von dem Logikbaustein 12 zu der Steuereinheit 14 liegt darin, dass der aktuelle Systemzustand des Logikbausteins 12 bei der Berechnung des Kompilats durch die Steuereinheit 14 berücksichtigt werden kann, so dass der gesamte Prozess zur Erzeugung des Bitstreams an den aktuellen Systemzustand des Logikbausteins 12 angepasst werden kann. Wie bereits vorstehend ausgeführt, kann der Logikbaustein 12 insbesondere als FPGA ausgeführt sein. Die Steuereinheit 14 kann ebenfalls als ein FPGA ausgeführt sein oder beispielsweise auch als ein Mikrocontroller oder ein Computer. Die Logikeinheit 10 hat insbesondere den Vorteil, dass sie besonders kompakte Logikbausteine 12 ermöglicht und dadurch eine besondere Einsparung des für den Logikbaustein 12 notwendigen Siliziums.
  • Ein weiterer Vorteil der vorliegenden Erfindung gegenüber dem Stand der Technik liegt darin, dass die Logikressourcen je nach gewünschter Funktionalität kontinuierlich neu konfiguriert werden können. Hierzu können insbesondere die für die Rekonfiguration notwendigen Prozesse (Synthese, Map, Place and Route, Bitstream-Generation) in Echtzeit durchgeführt werden. Durch die kontinuierliche und dynamische Rekonfiguration des Logikbausteins 12 werden die vorhandenen Ressourcen optimal genutzt, so dass ein besonders effizientes Verfahren zum Betreiben eines Logikbauseins 12 bereitgestellt werden kann. Die Effizienz kann ferner erhöht werden, wenn der Systemzustand des Logikbausteins 12 in die Steuereinheit 14 gekoppelt wird und die Steuereinheit 14 die Programmierung des Logikbausteins 12 in Abhängigkeit von dem Systemzustand des Logikbausteins 12 vornehmen kann.
  • Bezugszeichenliste
  • 10
    Logikeinheit
    12
    Logikbaustein
    14
    Steuereinheit
    16
    erster Kommunikationskanal
    18
    zweiter Kommunikationskanal
    S100
    Verfahren zum Betreiben eines Logikbausteins
    S110
    Zerlegung des Prozesses in Teilprozesse
    S120
    Programmierung des Logikbausteins
    S130
    Durchführung des ersten Teilprozesses
    S140
    Programmierung des Logikbausteins
    S150
    Durchführung des zweiten Teilprozesses

Claims (12)

  1. Verfahren zum Betreiben eines programmierbaren Logikbausteins (12), insbesondere eines FPGAs, zur Durchführung eines vorgegebenen Prozesses, umfassend die nachfolgenden Schritte: - Zerlegung des durchzuführenden Prozesses in mindestens zwei Teilprozesse durch eine Steuereinheit (14), - Programmierung des Logikbausteins (12) durch die Steuereinheit (14) zur Durchführung des ersten Teilprozesses, - Durchführung des ersten Teilprozesses unter Verwendung des programmierten Logikbausteins (12), - erneute Programmierung des Logikbausteins (12) durch die Steuereinheit (14) zur Durchführung des zweiten Teilprozesses, und - Durchführung des zweiten Teilprozesses unter Verwendung des neu programmierten Logikbausteins (12), wobei - die für die Programmierung des Logikbausteins (12) notwendigen Daten über einen ersten Kommunikationskanal (16) von der Steuereinheit (14) an den Logikbaustein (12) übertragen werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Zerlegung des Prozesses in zwei sequenzielle Teilprozesse erfolgt.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Programmierung des Logikbausteins (12) durch die Steuereinheit (14) zur Durchführung der ersten und/oder zur Durchführung des zweiten Teilprozesses eine Synthese, einen Map, ein Place and Route, eine Bitstream-Erzeugung sowie eine Übertragung des Bitstreams von der Steuereinheit (14) an den Logikbaustein (12) über den ersten Kommunikationskanal (16) umfasst.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Logikbaustein (12) über einen zweiten Kommunikationskanal (18) wiederholt Zustandsdaten an die Steuereinheit (14) sendet und dass die Programmierung des Logikbausteins (12) zur Durchführung des ersten Teilprozesses und/oder des zweiten Teilprozesses durch die Steuereinheit (14) in Abhängigkeit von den Zustandsdaten erfolgt, die zuvor von dem Logikbaustein (12) an die Steuereinheit (14) gesendet wurden.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der zweite Kommunikationskanal (18) identisch mit dem ersten Kommunikationskanal (16) oder von dem ersten Kommunikationskanal (16) verschieden ist.
  6. Verfahren nach einem der Ansprüche 4 oder 5, dadurch gekennzeichnet, dass die Zustandsdaten des Logikbausteins (12) in vorgegebenen Zeitabständen an die Steuereinheit (14) gesendet werden.
  7. Verfahren nach einem der Ansprüche 4 oder 5, dadurch gekennzeichnet, dass die Zustandsdaten des Logikbausteins (12) nach Durchführung eines Teilprozesses an die Steuereinheit (14) übermittelt werden.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei der Programmierung des Logikbausteins (12) zur Durchführung des ersten und/oder des zweiten Teilprozesses lediglich eine partielle Programmierung des Logikbausteins (12) erfolgt.
  9. Logikeinheit (10) zur effizienten Durchführung eines vorgegebenen Prozesses mit - einem programmierbaren Logikbaustein (12), - einer Steuereinheit (14) zur Programmierung des Logikbausteins (12), - wobei die Steuereinheit (14) über einen ersten Kommunikationskanal (16) zur Übertragung von für die Programmierung des Logikbausteins (12) notwendigen Daten mit dem Logikbaustein (12) verbunden ist, - wobei die Steuereinheit (14) dazu ausgelegt ist, den Logikbaustein (12) während der Laufzeit eines durchzuführenden Prozesses neu zu programmieren.
  10. Logikeinheit (10) nach Anspruch 9, dadurch gekennzeichnet, dass der Logikbaustein (12) als ein FPGA ausgeführt ist.
  11. Logikeinheit (10) nach einem der Ansprüche 9 oder 10, dadurch gekennzeichnet, dass die Steuereinheit (14) als ein Mikrocontroller, ein FPGA oder ein Computer realisiert ist.
  12. Logikeinheit (10) nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet, dass die Steuereinheit (14) über einen zweiten Kommunikationskanal (18) zur Übertragung von Zustandsdaten des Logikbausteins (12) an die Steuereinheit (14) mit dem Logikbaustein (12) verbunden ist.
DE102019126634.3A 2019-10-02 2019-10-02 Verfahren zum Betreiben eines programmierbaren Logikbausteins und Logikeinheit zur effizienten Durchführung eines vorgegebenen Prozesses Pending DE102019126634A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019126634.3A DE102019126634A1 (de) 2019-10-02 2019-10-02 Verfahren zum Betreiben eines programmierbaren Logikbausteins und Logikeinheit zur effizienten Durchführung eines vorgegebenen Prozesses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019126634.3A DE102019126634A1 (de) 2019-10-02 2019-10-02 Verfahren zum Betreiben eines programmierbaren Logikbausteins und Logikeinheit zur effizienten Durchführung eines vorgegebenen Prozesses

Publications (1)

Publication Number Publication Date
DE102019126634A1 true DE102019126634A1 (de) 2021-04-08

Family

ID=74875865

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019126634.3A Pending DE102019126634A1 (de) 2019-10-02 2019-10-02 Verfahren zum Betreiben eines programmierbaren Logikbausteins und Logikeinheit zur effizienten Durchführung eines vorgegebenen Prozesses

Country Status (1)

Country Link
DE (1) DE102019126634A1 (de)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CORDONE, Roberto, et al.: Partitioning and Scheduling of Task Graphs on Partially Dynamically Reconfigurable FPGAs. In: IEEE transactions on computer-aided design of integrated circuits and systems, 2009, 28. Jg., Nr. 5, S. 662-675. *
FLEISCHMANN, Josef; BUCHENRIEDER, Klaus; KRESS, Rainer. A Hardware/Software Prototyping Environment for Dynamically Reconfigurable Embedded Systems. In: Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98). IEEE, 1998. S. 105-109. *
FLEISCHMANN, Josef; BUCHENRIEDER, Klaus; KRESS, Rainer. Codesign of Embedded Systems Based on Java and Reconfigurable Hardware Components. In: Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078). IEEE, 1999. S. 768-769. *

Similar Documents

Publication Publication Date Title
DE102015208720A1 (de) Gatetreibereinheit, Gatetreiberschaltung und Treiberverfahren derselben sowie Anzeigevorrichtung
EP0010173A1 (de) Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen
EP0048767A1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE3507584C2 (de)
EP0231434B1 (de) In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen
DE102016219347A1 (de) Steuergerät, insbesondere Steuergerät für ein Kraftfahrzeug
DE102019126634A1 (de) Verfahren zum Betreiben eines programmierbaren Logikbausteins und Logikeinheit zur effizienten Durchführung eines vorgegebenen Prozesses
EP0042961B1 (de) Verfahren und Anordnung zur Erzeugung von Impulsen vorgegebener Zeitrelation innerhalb vorgegebener Impulsintervalle mit hoher zeitlicher Auflösung
DE2932394A1 (de) Intelligente, programmierbare prozessteueranordnung
EP3289685B1 (de) Verfahren und vorrichtung zur erzeugung einer geräte-spezifischen kennung und geräte umfassend einen personalisierten programmierbaren schaltungsbaustein
DE102018103088A1 (de) Halbleiterchip sowie vorrichtung und verfahren zum ansteuern zumindest eines kanals für ein radarsignal
DE2846686B1 (de) Programmierbares Schaltwerk
EP3242232B1 (de) Optimierte erzeugung von gesamtnetzliste und bitstrom
DE102020133279A1 (de) Verfahren und schaltung zur steigerung des durchsatzes von rekursiven systemen
DE60003847T2 (de) Universelle vorrichtung sowie verfahren und werkzeuge zu ihrer verwendung
DE19947441B4 (de) Prüfsystem für elektrische Teile
AT501880A1 (de) Speicherprogrammierbare steuerung
EP0489281B1 (de) Anordnung zur Verarbeitung von Signalen im Modulationsweg zu einem Sender
AT512066B1 (de) Steuervorrichtung und Verfahren zur Steuerung einer Bewegung eines Elementes einer Anlage
EP1091290B1 (de) Prozessorsystem mit Speicher- oder Ladebebefehl mit Trenninformation
WO2001056154A2 (de) Digitales filter
EP1116107B1 (de) Verfahren zur ausführung einzelner algorithmen mittels einer rekonfigurierbaren schaltung und vorrichtung zur durchführung eines solchen verfahrens
DE10336807B4 (de) Verfahren und Vorrichtung zur Erweiterung der Funktionalität einer seriellen Schnittstelle sowie ein das Verfahren verwendendes Mobilfunkgerät und ein die Vorrichtung umfassendes Mobilfunkgerät
DE102020202013A1 (de) Verfahren und Steuergerät zum Betreiben einer Brückenschaltung sowie Aktuatorsystem
EP1288966B1 (de) Steuerregister

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009445000

Ipc: G06F0017500000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000

R016 Response to examination communication