WO2024146743A1 - Überwachungsschaltung für eine programmierbare gatter-anordnung, anordnung mit überwachungsschaltung, prozessor und gatteranordnung sowie verfahren zum betrieb einer solchen anordnung - Google Patents

Überwachungsschaltung für eine programmierbare gatter-anordnung, anordnung mit überwachungsschaltung, prozessor und gatteranordnung sowie verfahren zum betrieb einer solchen anordnung Download PDF

Info

Publication number
WO2024146743A1
WO2024146743A1 PCT/EP2023/084916 EP2023084916W WO2024146743A1 WO 2024146743 A1 WO2024146743 A1 WO 2024146743A1 EP 2023084916 W EP2023084916 W EP 2023084916W WO 2024146743 A1 WO2024146743 A1 WO 2024146743A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
monitoring circuit
signal
arrangement
gate arrangement
Prior art date
Application number
PCT/EP2023/084916
Other languages
English (en)
French (fr)
Inventor
Dominik Lubeley
Heiko Kalte
Original Assignee
Dspace Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dspace Gmbh filed Critical Dspace Gmbh
Publication of WO2024146743A1 publication Critical patent/WO2024146743A1/de

Links

Abstract

Die Anmeldung betrifft eine Überwachungsschaltung (20) für eine programmierbare Gatteranordnung (10). Die Gatteranordnung (10) ist eingerichtet, eine Funktion (22) auszuführen und zur Ausführung der Funktion (22) zumindest ein Signal (S1, K1) zu verwenden. Es ist ein Prozessor (30) vorgesehen, der eingerichtet ist, eine übergeordnete Funktion (32) auszuführen und zur Ausführung der übergeordneten Funktion (32) einen Wert des zumindest einen Signals (S1, K1) an die Gatteranordnung (10) zu übergeben und/oder einen Wert des zumindest einen Signals (S1, K1) von der Gatteranordnung (10) zu erhalten. Die Überwachungsschaltung (20) ist eingerichtet ist, mit der Gatteranordnung (10) einen Wert des zumindest einen Signals (S1, K1) auszutauschen, wobei der Austausch des Werts des Signals (S1) unabhängig von der auf der Gatteranordnung (10) ausgeführten Funktion (22) erfolgt. Die Überwachungsschaltung (20) ist weiter eingerichtet, den Wert des zumindest einen Signals (S1, K1) mit dem Prozessor (30) auszutauschen. Die Anmeldung betrifft weiter eine Anordnung, welche die Überwachungsschaltung, den Prozessor und die Gatteranordnung umfasst, sowie ein Verfahren zum Betrieb einer solchen Anordnung.

Description

ÜBERWACHUNGSSCHALTUNG FÜR EINE PROGRAMMIERBARE GATTERANORDNUNG, ANORDNUNG MIT ÜBERWACHUNGSSCHALTUNG, PROZESSOR UND GATTERANORDNUNG SOWIE VERFAHREN ZUM BETRIEB
EINER SOLCHEN ANORDNUNG
Technisches Gebiet
Die Anmeldung betrifft eine Überwachungsschaltung für eine programmierbare Gatteranordnung, eine Anordnung mit Überwachungsschaltung, Prozessor und programmierbarer Gatteranordnung sowie ein Verfahren zum Betrieb einer solchen Anordnung.
Hintergrund
Eine programmierbare Gatteranordnung ist ein integrierter Schaltkreis der Digitaltechnik, der sich auf einem Board befindet und in den eine logische Schaltung geladen werden kann. Mittels der logischen Schaltung können Funktionen ausgeführt und Signale verarbeitet werden. Ein Beispiel für eine programmierbare Gatteranordnung ist ein FPGA (Field Programmable Gate Array). Ein weiteres Beispiel für eine programmierbare Gatteranordnung ist ein SoC-Bauelement (System on Chip).
Programmierbare Gatteranordnungen werden z. B. in Rapid Control Prototyping (RCP) oder Hardware in the Loop (HiL) Echtzeitsystemen angewendet. Simulationsmodelle von solchen Echtzeitsysteme sind Beispiele von Funktionen, die auf den programmierbaren Gatteranordnungen ausgeführt werden können. Werte von Signalen der Simulationsmodelle können zur Laufzeit der Simulation z. B. über dSPACE ControlDesk durch einen Nutzer abgefragt und an den Nutzer ausgegeben werden.
In EP3244326 wird ein Schattenregister eines FPGAs beschrieben, das vorgesehen ist, den Wert eines Signales des FPGAs zu speichern. Der Wert des Signals kann während der Laufzeit einer Funktion des FPGAs ausgelesen werden, wobei das Auslesen des Schattenregisters funktional unabhängig von der Ausführung der Funktion ist. In EP2765528 wird ein Verfahren beschrieben, das einen Zugriff auf den Wert eines Signals eines FPGAs zur Laufzeit ermöglicht. Hierfür werden FPGA Zustandsdaten während des Betriebs ausgelesen und der Signalwert wird daraus bestimmt.
Übersicht
Eine programmierbare Gatteranordnung ist eingerichtet, eine Funktion auszuführen und zur Ausführung der Funktion zumindest ein Signal zu verwenden. Ein Prozessor ist eingerichtet, eine übergeordnete Funktion auszuführen und zur Ausführung der übergeordneten Funktion einen Wert des zumindest einen Signals an die Gatteranordnung zu übergeben und/oder einen Wert des zumindest einen Signals von der Gatteranordnung zu erhalten. Eine Überwachungsschal- tung ist eingerichtet, mit der Gatteranordnung einen Wert des zumindest einen Signals auszutauschen, wobei der Austausch des Werts des Signals unabhängig von der auf der Gatteranordnung ausgeführten Funktion erfolgt. Die Überwa- chungsschaltung ist weiter eingerichtet, den Wert des zumindest einen Signals mit dem Prozessor auszutauschen.
Der Austausch des Wertes des Signals zwischen der Gatteranordnung und der Überwachungsschaltung erfolgt bevorzugt über einen Speicher der Gatteranordnung.
Die programmierbare Gatteranordnung, insbesondere ein FPGA oder ein SoC- Bauelement, wird häufig für zeitkritische Simulations-Berechnungen, wie z. B. HiL-Simulationen (Hardware-in-the-Loop), verwendet. Eine Funktion der Gatteranordnung kann die Ausführung dieser zeitkritischen Simulationen umfassen, welche zur Laufzeit zyklisch - z. B. in einer Taktfrequenz der Gatteranordnung - ausgeführt wird.
Der Prozessor führt dabei die übergeordnete Funktion aus, die z. B. für zeitkritische und/oder rechenintensive Bestandteile mit der auf der Gatteranordnung ausgeführten Funktion interagiert. Dabei übergibt der Prozessor während der Ausführung der übergeordneten Funktion zumindest einen Wert des zumindest einen Signals an die Gatteranordnung und/oder erhält zumindest einen Wert des zumindest einen Signals von der Gatteranordnung. Der Austausch der Werte zwischen dem Prozessor und der Gatteranordnung zur Ausführung der Funktion bzw. der übergeordneten Funktion erfolgt dabei über dafür vorgesehene Kommunikationsschnittstellen. Dies können z. B. Register, Buffer oder Bus-Interfaces sein.
Der Austausch des Wertes des Signals zwischen der Gatteranordnung und der Überwachungsschaltung erfolgt demgegenüber unabhängig von der Ausführung der Funktion auf der Gatteranordnung. Dies ist von Vorteil, da der Ablauf der Funktion, also z. B. der Simulation, nicht gestört wird. Im Vergleich zum Stand der Technik liegt ein weiterer Vorteil in einer Flexibilisierung eines Informationsaustauschs zwischen der Gatteranordnung und deren Peripherie.
Zum Austausch des Wertes in einer Richtung von der Gatteranordnung zur Überwachungsschaltung kann ein dem Signal zugeordnetes Schattenregister vorgesehen sein, das eingerichtet und vorgesehen ist, den Wert des zugeordneten Signales zu speichern. Das Schattenregister ist dabei ein Speicher der programmierbaren Gatteranordnung, in den ein Wert des zugeordneten Signales gespeichert wird, während die Funktion der Gatteranordnung ausgeführt wird. Das Schattenregister weist einen Übertragungskanal zur Überwachungsschaltung auf, über den der im Schattenregister gespeicherte Wert an die Überwachungsschaltung übertragen werden kann. In einer Ausführungsform der Erfindung wird der letztgenannte Übertragungskanal mittels einer sogenannten ICAP-Schnitt- stelle in der Gatteranordnung realisiert. ICAP (Internal Configuration Access Port) ist ein vom Unternehmen XILINX bereitgestellte Schnittstelle zum Lesen und Ändern von Konfigurationsdaten, die vordefinierte Laufzeitwerte beinhalten können. Von anderen FPGA-Herstellern werden in den kommenden Jahren vergleichbare bzw. vergleichbar dokumentierte Schnittstellen erwartet.
Zum Austausch des Wertes in einer Richtung von der Überwachungsschaltung zur Gatteranordnung kann ein dedizierter Speicher der Gatteranordnung vorgesehen sein, auf den die auf der Gatteranordnung ausgeführte Funktion lesend zugreift. Die Überwachungsschaltung kann auf diesen Bereich schreibend zugreifen und den durch Schreiben auszutauschenden Wert in den Speicher schreiben. In einem Ausführungsbeispiel ist der Speicher als Schieberegisterkette ausgestaltet. Der dedizierte Speicher weist einen Übertragungskanal zur Überwachungsschaltung auf, über den der zu schreibende Wert von der Überwachungsschaltung übertragen werden kann. Der Austausch des Werts des zumindest einen Signals umfasst dabei insbesondere ein Lesen und/oder ein Schreiben des zumindest einen Signals durch die Überwachungsschaltung. Der Austausch des Werts kann dabei z. B. ein Lesen des Werts des Signals aus einem Speicher der Gatteranordnung durch die Überwachungsschaltung umfassen. Das Lesen des Werts des Signals aus dem Speicher der Gatteranordnung erfolgt dabei unabhängig von der auf der Gatteranordnung ausgeführten Funktion. Alternativ oder zusätzlich kann der Austausch des Werts dabei z. B. ein Schreiben des Werts in einen Speicher der Gatteranordnung umfassen. Das Schreiben des Werts des Signals in den Speicher der Gatteranordnung erfolgt dabei unabhängig von der auf der Gatteranordnung ausgeführten Funktion.
In einer Ausführungsform ist die Gatteranordnung eingerichtet, einen Wert des zumindest einen Signals zur Verarbeitung von dem Prozessor zu empfangen, den Wert des Signals während der Ausführung der Funktion zu verarbeiten und den verarbeiteten Wert des Signals an den Prozessor auszugeben. Hierdurch ist es möglich, Teile der übergeordneten Funktion als Funktion der Gatteranordnung ausführen zu lassen. Von der Funktion der Gatteranordnung berechnete Signalwerte können dann durch die übergeordnete Funktion des Prozessors weiterverwendet werden.
In Ausführungsformen liegt ein Wert des zumindest einen Signals in der Gatteranordnung vor. Alternativ oder zusätzlich ist die Gatteranordnung eingerichtet, einen Wert des zumindest einen Signals von einem ausgelesenen Sensorwert abzuleiten. Das Signal kann ein Wert sein, der von der Funktion verwendet wird, wie z. B. ein Messwert oder ein Wert einer Variablen der Funktion. Ein Signal kann auch ein rein berechneter Wert sein, z. B. ein aus einem Messwert gewandelter Wert oder auch ein Zwischenwert.
In Ausführungsformen der Überwachungsschaltung kann das zumindest eine Signal als Konstante ausgeführt sein und die Gatteranordnung ist eingerichtet, die Konstante während der Ausführung der Funktion zu verwenden. Eine Konstante umfasst Werte, die während der Ausführung der Funktion nicht zur Änderung vorgesehen sind, jedoch durch die Überwachungsschaltung verändert werden können. Die Überwachungsschaltung ist dabei eingerichtet, einen Wert der zumindest einen Konstanten in einen Speicher der Gatteranordnung zu schreiben, wobei das Schreiben des Wertes der Konstanten unabhängig von der auf der Gatteranordnung ausgeführten Funktion erfolgt. Die Überwachungsschaltung ist weiter eingerichtet, den für die Konstante zu schreibenden Wert von dem Prozessor zu empfangen. Werte von Konstanten können z. B. Parameterwerte sein, mit denen eine Simulation parametriert wird. Dies bietet den Vorteil, dass der Prozessor die Konstante, z. B. aus der Ausführung der übergeordneten Funktion heraus, verändern kann, ohne in die Ausführung der Funktion der Gatteranordnung einzugreifen.
Es wird weiter vorgeschlagen, dass die Überwachungsschaltung eingerichtet ist, den Wert der Konstanten aus einem Speicher der Gatteranordnung zu lesen und den ausgelesenen Wert an den Prozessor auszugeben. Hierdurch wird es möglich, dass der Prozessor auf den aktuellen in der Gatteranordnung vorliegenden Wert der Konstanten zugreifen kann. Dies kann aus der aktuell ausgeführten übergeordneten Funktion heraus geschehen, ohne dass in die Ausführung der Funktion der Gatteranordnung eingegriffen wird. Der Wert der Konstanten kann beispielsweise vordefiniert sein oder aus einer Berechnung auf der Gatteranordnung abgeleitet sein oder von einem mit der Gatteranordnung verbundenen Sensor ausgelesen sein.
In Ausführungsformen ist die Überwachungsschaltung eingerichtet, einen zu schreibenden Wert der Konstante von einer Bedieneinheit zu empfangen, wobei die Bedieneinheit eingerichtet ist, den zu schreibenden Wert von einem Nutzer zu empfangen. Dies ermöglicht die zusätzliche Möglichkeit, den Wert der zumindest einen zu schreibenden Konstanten durch einen Nutzer festlegen zu lassen.
Die Überwachungsschaltung ist beispielsweise eingerichtet, einen ausgelesenen Wert des Signals an die Bedieneinheit auszugeben, wobei die Bedieneinheit eingerichtet ist, den ausgelesenen Wert an einen Nutzer auszugeben. Diese Ausführungsformen bieten die zusätzliche Möglichkeit, dass zumindest eine aus der Gatteranordnung ausgelesene Signal auch dem Nutzer zugänglich gemacht werden kann.
In Ausführungsformen ist die Überwachungsschaltung eingerichtet, Informationen über das Signal, dessen Wert aus dem Speicher der Gatteranordnung zu lesen ist, von dem Prozessor zu empfangen. Die Informationen erlauben es der Überwachungsschaltung insbesondere, das Signal zu identifizieren, das ausgelesen werden soll. Dies ist insbesondere bei mehreren auslesbaren Signalen von Relevanz, da in solchen Fällen der Überwachungsschaltung mitgeteilt werden muss, welches der auslesbaren Signale sie auslesen soll. Bei den Informationen über das Signal kann es sich dabei auch um Informationen über den Speicher handeln, wo der Wert des Signals abgespeichert ist und z. B. zum Auslesen durch die Überwachungsschaltung bereitgestellt wurde.
Zusätzlich kann die Überwachungsschaltung eingerichtet sein, Informationen zu dem auszulesenden Signal von der Bedieneinheit zu empfangen. Die Überwachungsschaltung kann dann weiter eingerichtet sein, den Wert des Signals, zu dem sie die Information empfangen hat, aus einem Speicher der Gatteranordnung zu lesen und danach den ausgelesenen Wert an die Bedieneinheit z. B. zur Ausgabe an den Nutzer zu übermitteln. Wie oben beschrieben erlauben es die Informationen der Überwachungsschaltung zum Beispiel, das Signal zu identifizieren, das ausgelesen werden soll.
Eine Anordnung weist die beschriebene Überwachungsschaltung sowie den Prozessor und die programmierbaren Gatteranordnung auf.
Es wird vorgeschlagen, dass der von der Überwachungsschaltung empfangene Wert des Signals durch den Prozessor bei der Ausführung der übergeordneten Funktion verwendbar ist. Dies ermöglicht einen Zugriff auf z. B. eine Variable der Funktion der Gatteranordnung z. B. zu Überwachungszwecken, ohne die Ausführung der Funktion auf der Gatteranordnung zu stören oder zu verzögern.
In Ausführungsformen ist der durch den Prozessor an die Überwachungsschaltung übergebene Wert der Konstanten durch den Prozessor bei der Ausführung der übergeordneten Funktion erzeugbar. Dies ermöglicht, eine oder mehrere Konstante, die auf der Gatteranordnung gespeichert sind und zur Ausführung der Funktion verwendet werden, zu verändern, ohne die Ausführung der eigentlichen Funktion zu beeinträchtigen.
In einer weiteren Ausführungsform weist die Gatteranordnung zumindest eine Speicheranordnung auf, welche über Konfigurationsbits und Datenbits ansprechbar ist. Die Überwachungsschaltung ist dabei vorliegend eingerichtet, die zumindest eine Speicheranordnung auszulesen und/oder zu schreiben. Eine solche Speicheranordnung weist zumindest einen Speicherbereich auf, welcher bevorzugt als ein sogenannter Block-RAM der programmierbaren Gatteranordnung ausgebildet ist. Die Gatteranordnung weist bevorzugt zwischen der Überwachungsschaltung und der zumindest einen Speicheranordnung einen Umsetzer auf, welcher eingerichtet ist, die Konfigurationsbits und die Datenbits zu seriali- sieren und in serieller Form zu übertragen. Weiter kann der Umsetzer eingerichtet sein, die in serieller Form empfangenen Konfigurationsbits und Datenbits zu deserialisieren.
Weiter wird vorgeschlagen, dass die Gatteranordnung einen Übertragungskanal zwischen dem Umsetzer und der zumindest einen Speicheranordnung aufweist, welcher zur Übertragung von serialisierten Konfigurationsbits und Datenbits eingerichtet ist. Hierdurch wird eine Übertragung der durch den Umsetzer umgesetzten seriellen Daten zu der Speicheranordnung möglich. Weiter wird vorgeschlagen, dass die Gatteranordnung einen weiteren Übertragungskanal zwischen der zumindest einen Speicheranordnung und dem Umsetzer aufweist, welcher zur Übertragung von serialisierten Konfigurationsbits und Datenbits eingerichtet ist.
Die Speicheranordnung kann weiter pro Speicherbereich einen Deserialisierer aufweisen, über den die seriell über den Übertragungskanal empfangenen Konfigurationsbits und Datenbits deserialisiert werden können, um dann den Speicherbereich in geeigneter paralleler Form ansprechen zu können. Die Speicheranordnung kann weiter pro Speicherbereich einen Serialisierer aufweisen, über den die parallel von dem Speicherbereich empfangenen Konfigurationsbits und Datenbits serialisiert werden können, um dann in geeigneter serieller Form über den weiteren Übertragungskanal an den Umsetzer übermittelt zu werden.
Durch den Umsetzer und die vorgesehenen Übertragungskanäle wird ein Zugriff auf den Speicherbereich oder die Speicherbereiche der Speicheranordnung ermöglicht, welcher nur wenige Übertragungskanäle zwischen dem Umsetzer und der Speicheranordnung benötigt. Zum Beispiel ist es möglich, mit dem Übertragungskanal für die Übertragung vom Umsetzer zu einem Speicherbereich und mit dem weiteren Übertragungskanal für die Übertragung von dem Speicherbereich zum Umsetzer, also zwei Übertragungskanälen pro Speicherbereich, auszukommen. In einer weiteren Ausführungsform werden mehr als zwei Übertragungskanäle pro Speicherbereich vergeben. Die letztgenannte Ausführungsform zeichnet sich dadurch aus, dass zwar mehr Routing-Ressourcen in der Gatteranordnung verbraucht werden, aber beispielsweise durch die genannte Vergabe von mehr als zwei Übertragungskanälen regelmäßig eine höhere summarische Datenübertragungsrate ermöglicht wird. In Ausführungsformen weist die Anordnung eine Bedieneinheit auf, welche eingerichtet ist, den zu schreibenden Wert des Signals von einem Nutzer zu empfangen und an die Überwachungsschaltung zu übermitteln und/oder den ausgelesenen Wert des Signals von der Überwachungsschaltung zu empfangen und an den Nutzer auszugeben.
Hierdurch wird es möglich, auch einem Nutzer über die Bedieneinheit den aus einem Speicher der Gatteranordnung gelesenen Wert des Signals auszugeben. Alternativ oder zusätzlich ist es möglich von dem Nutzer über die Bedieneinheit den Wert des Signals zu empfangen, der in den Speicher der Gatteranordnung geschrieben werden soll.
Ein Verfahren zum Betrieb der beschriebenen Anordnung weist auf:
Lesen des Werts des Signals der Gatteranordnung aus einem Speicher der Gatteranordnung durch die Überwachungsschaltung, wobei das Lesen des Wertes des Signals unabhängig von der durch die Gatteranordnung ausgeführten Funktion erfolgt, Übergeben des Werts von der Überwachungsschaltung an den Prozessor und Verwenden des Werts des Signals, während der Ausführung der übergeordneten Funktion, und/oder
Erzeugen des Werts des Signals durch den Prozessor während der Ausführung der übergeordneten Funktion, Übergeben des Wertes des Signals von dem Prozessor an die Überwachungsschaltung und Schreiben des Wertes des Signals in einen Speicher der Gatteranordnung durch die Überwachungsschaltung, wobei das Schreiben des Wertes des Signals unabhängig von der durch die Gatteranordnung ausgeführten Funktion erfolgt.
Figurenliste
Ausführungsbeispiele sind in den Figuren dargestellt und werden in der nachfolgenden Beschreibung näher erläutert.
Es zeigen Figur 1 schematisch eine Anordnung, welche eine programmierbare Gatteranordnung, einen Prozessor sowie eine Bedieneinheit aufweist,
Figuren 2-4 eine schematische Darstellung von Beispielen von austauschbaren Werten in einer Modelliersprache und
Figur 5 eine schematische Ansicht einer programmierbaren Gatteranordnung mit Speicheranordnung.
Es werden in den Figuren die gleichen Bezugszeichen für gleiche oder ähnliche Elemente verwendet. Die Darstellungen in den Figuren können nicht maßstäblich sein.
Figurenbeschreibung
In Figur 1 ist schematisch eine Anordnung dargestellt, welche eine programmierbare Gatteranordnung 10, einen Prozessor 30 und eine Bedieneinheit 50 aufweist.
Der Prozessor 30 ist auf einem Prozessorboard angeordnet und weist eine Echtzeitbibliothek RLI auf, welche Schnittstellen zu einer übergeordneten Funktion 32 und zu einem Treiber 20. D zur Verfügung stellt. Der Prozessor 30 ist zur Ausführung der übergeordneten Funktion 32 eingerichtet. Zur Ausführung der übergeordneten Funktion 32 werden Variablen 34 verwendet. Zur Ausführung der übergeordneten Funktion 32 werden ebenfalls Austauschwerte 36 verwendet. In dem Treiber 20. D einer Überwachungsschaltung 20 der programmierbaren Gatteranordnung 10 liegen gespiegelte Werte 36. M der Austauschwerte 36 der übergeordneten Funktion 32 vor. Die gespiegelten Werte 36. M und 36 werden durch den Treiber 20. D auf dem gleichen Stand gehalten. Durch die übergeordnete Funktion 32 werden die Austauschwerte 36 verwendet und/oder durch den Treiber 20. D wird mittels geeigneter Verfahren überprüft, ob die gespiegelten Werte 36. M den gleichen Wert haben, wie die Austauschwerte 36. Ab einer Spiegelung der Austauschwerte 36 mit den gespiegelten Werten 36. M, wird bevorzugt so lange auf deren Identitätsprüfung verzichtet, bis eine vordefinierte Bedingung, bspw. der Ablauf eines vordefinierten Zeitintervalls oder einer vordefinierten Anzahl von Simulationsschritten, erfüllt ist. Beispielsweise in der Ausführungsform der Erfindung gemäß der Figur 1 gibt es zwei Arten von gespiegelten Werten 36. M und Austauschwerten 36. Die erste Art von Austauschwerten 36 mit korrespondierenden gespiegelten Werten 36. M wird in Richtung von übergeordneter Funktion 32 in Richtung programmierbarer Gatteranordnung 10 verwendet. Die zweite Art von Austauschwerten 36 mit korrespondierenden gespiegelten Werten 36. M wird in Richtung von programmierbarer Gatteranordnung 10 zu übergeordneter Funktion 32 verwendet. Dies ist in Figur 1 durch Pfeile in zwei Richtungen zwischen den Austauschwerten 36 und dem Treiber 20. D der Überwachungsschaltung 20 angedeutet. In dem Treiber 20. D werden also gespiegelte Werte 36. M gespeichert, die zum Austausch mit der Überwachungsschaltung 20 der programmierbaren Gatteranordnung 10 vorgesehen sind.
Das Spiegeln der Werte zwischen dem Austauschwertebereich 36 und den gespiegelten Werten 36. M kann auf verschiedene Weise realisiert werden. Eine Möglichkeit umfasst, dass direkt die Variable mit dem Austauschwert 36 der übergeordneten Funktion 32 durch den Treiber 20. D als gespiegelter Wert 36. M verwendet wird. Eine weitere Möglichkeit umfasst, dass sowohl der Austauschwert 36 als auch der gespiegelte Wert 36. M vorhanden ist und bei Schreibvorgängen beide Werte 36 und 36. M geschrieben werden. Eine bevorzugte weitere Möglichkeit umfasst, dass beide Werte 36 und 36. M vorhanden sein, aber auf die gleichen Speicherstellen des Prozessorboards verweisen.
Der Treiber 20. D weist eine weitere Schnittstelle DAQS auf. Über diese Schnittstelle DAQS zu der Bedieneinheit 50 kann ein Datenaustausch DAQ mit der Bedieneinheit 50 stattfinden. Die Schnittstelle DAQS kann hierfür Informationen ML über zu erfassende Werten von der Bedieneinheit 50 über die Schnittstelle DAQ erhalten und speichern. In dem Zwischenspeicher MB der Schnittstelle DAQS können die von dem Treiber 20. D erhaltenen Werte zwischengespeichert werden und über Datenaustausch DAQ können die Werte aus dem Zwischenspeicher MB an die Bedieneinheit 50 übergeben werden.
Die programmierbare Gatteranordnung 10 ist zur Ausführung einer Funktion 22 eingerichtet. Die Funktion 22 weist einen Datenaustausch mit der übergeordneten Funktion 32 auf. Dieser Datenaustausch im Rahmen der Ausführung der Funktion 22 und der übergeordneten Funktion 32 ist in Figur 1 nicht dargestellt. Ausgetauscht werden beispielsweise Signale Sl, die im Zuge der Ausführung der Funktion 22 von der Funktion 22 verwendet werden. Die Funktion 22 kann auch eingerichtet sein, den Wert der Signale S1 zu verändern, den Wert der Signale S1 von der übergeordneten Funktion 32 zu erhalten und/oder die Werte der Signale S1 zu verarbeiten und Werte, die von Signalen S1 abgeleitet sind, wieder an die übergeordnete Funktion 32 auszugeben. Signale der Funktion 22 können auch als Konstanten Kl ausgebildet sein. Die Funktion 22 ist in der Lage, Konstanten Kl zu verwenden und zu verarbeiten. Eine Veränderung der Werte von Konstanten, Kl ist für den Datenaustausch mit der übergeordneten Funktion 32 im Rahmen der Ausführung der Funktion 22 nicht vorgesehen. Ein solcher beschriebener Datenaustausche zur Ausführung der Funktion und der übergeordneten Funktion kann z. B. über bekannte Register, Buffer oder Bus-Interfaces erfolgen. Diese Schnittstellen sind bei der Erstellung der Gatteranordnung 10 anzugeben und werden auf dieser hardwaremäßig vorgesehen. Dies ermöglicht einen sehr schnellen Datenaustausch, der jedoch nachträglich nur aufwändig wieder geändert werden kann. Diese Änderung dauert lange und ist infolgedessen kostspielig.
Die programmierbare Gatteranordnung 10 weist Input/Output-Schnittstellen IO auf. Über diese Input/Output-Schnittstellen IO können zum Beispiel Sensorwerte durch die programmierbare Gatteranordnung 10 eingelesen werden oder Werte ausgegeben werden. Die Input/Output-Schnittstelle IO kann beispielsweise eine analoge Schnittstelle sein. Die Gatteranordnung kann z. B. aus Sensorwerten Werte von Signalen S1 errechnen.
Auf die Signale S1 der Funktion 22, welche auch Konstanten Kl umfassen können, kann unabhängig von der Ausführung der Funktion 22 durch die Überwa- chungsschaltung 20 zugegriffen werden. Insbesondere kann die Überwachungsschaltung 20 Signale S1 lesen und/oder Konstanten Kl schreiben. Die Überwa- chungsschaltung 20 wird durch den Treiber 20. D des Prozessors 30 angesteuert. Durch Kommandos CMD kann der Überwachungsschaltung 20 mitgeteilt werden, welche Signale S1 ausgelesen werden sollen und/oder welche Konstanten Kl modifiziert werden sollen. Über die ausgelesenen Werte RV können dann Werte der Signale S1 und/oder der Konstanten Kl von der Überwachungsschaltung 20 an den Treiber 20. D übertragen werden. Inhalte der Kommandos CMD können zum Beispiel gespiegelte Werte 36. M aufweisen. In vergleichbarer Weise können die ausgelesenen Werte RV in den gespiegelten Werten 36. M gespeichert werden. Nach der Speicherung der gespiegelten Werte 36. M mittels Treiber 20. D stehen die Werte dann einer Verwendung durch die übergeordnete Funktion 32 zur Verfügung. In vergleichbarer Weise kann die übergeordnete Funktion 32 Werte über die Austauschwerte 36 mittels Treiber 20. D in die gespiegelten Werte 36. M Werte schreiben, welche dann an die Überwachungsschaltung 20 übermittelt werden. Die übermittelten Kommandos CMD können hierbei eine Information darüber umfassen, welche Signale S1 durch die Überwachungsschaltung 20 ausgelesen werden sollen und/oder welche Konstanten Kl mit welchen Werten neu geschrieben werden sollen.
In Figur 1 ist angedeutet, dass ein Prozessor 30 mit mehreren programmierbaren Gatteranordnungen 10 interagieren kann. Beispielsweise kann die übergeordnete Funktion 32 eine Funktion 22 einer programmierbaren Gatteranordnung 10 in ihre Ausführung einbinden. Es ist ebenso möglich, dass weitere Funktionen von weiteren Gatteranordnungen in die Ausführung der übergeordneten Funktion 32 eingebunden werden. Dies ist in der Figur 1 durch weitere Gatteranordnungen angedeutet.
In der programmierbaren Gatteranordnung 10 findet sich eine Schnittstellenumgebung IS, welche insbesondere die Überwachungsschaltung 20 und Speicher der Funktion 22 aufweist, welche diejenigen Speicher umfassen, wo beispielsweise die Signale S1 zum Auslesen für die Überwachungsschaltung 20 bereitgestellt sind. Solche Speicher werden auch als Schattenregister bezeichnet. Die Schnittstellenumgebung IS kann auch die Speicher aufweisen, die die Konstanten Kl speichern.
Die Bedieneinheit 50 weist zum Beispiel einen Bildschirmbereich 52 auf. In dem Bildschirmbereich kann eine Eingabeeinheit 54 vorgesehen sein, welche ausgebildet ist, Eingaben durch einen Nutzer entgegenzunehmen. Die Eingabeeinheit 54 kann dabei zum Beispiel als berührempfindlicher Bildschirm ausgebildet sein. Es sind weitere Eingabemethoden beispielsweise über Tastatur, Maus oder andere vorstellbar. Der Bildschirmbereich 52 weist weiter eine Ausgabeeinheit 56 auf, über welche Werte 58 ausgegeben werden können. Für die Bedieneinheit 50 ist eine Datenaustausch DAQ über die Schnittstelle DAQS des Prozessors 30 vorgesehen.
Wie dargestellt kann über die Überwachungsschaltung 20 sowohl durch die übergeordnete Funktion 32 des Prozessors auf Signale S1 der Gatteranordnung zugegriffen werden, als auch durch einen Nutzer über die Bedieneinheit 50. Dies hat den Vorteil, dass für die beiden Arten des Zugriffs die gleiche Überwa- chungsschaltung 20 verwendet werden kann und keine separaten Interfaces für jeweils Prozessor 30 und Bedieneinheit 50 vorgesehen werden müssen.
Die Überwachungsschaltung 20 ist so ausgebildet, dass der Austausch der Signale Sl, umfassend die Konstanten Kl, erfolgt, ohne in den Ablauf der Funktion 22 einzugreifen. Die Implementierung der Überwachungsschaltung 20 ist so gestaltet, dass sie unabhängig von der Funktion 22 auf der programmierbaren Gatteranordnung 10 ist. Dies wird ins insbesondere dadurch realisiert, dass Werte von Signalen Sl in sogenannten Schattenregistern abgelegt werden. In diesen Schattenregistern werden die Werte der Signale Sl abgelegt, von wo sie dann durch die Überwachungsschaltung 20 abgeholt werden können. Die Abholung beeinflusst den Ablauf der Funktion 22 nicht, sondern erfolgt unabhängig davon.
In Figur 2 ist beispielhaft dargestellt, wie auf Signale Sl der Funktion 22 innerhalb der übergeordneten Funktion 32 über die Überwachungsschaltung 20 zugegriffen werden kann. In Figur 2 sind hierfür beispielhaft Daten dargestellt, wie sie in einem Simulationsmodell der übergeordneten Funktion 32 vorliegen können. Die beispielhaften Daten von Figur 2 sind zunächst ein einzelner Wert in der obersten Zeile. In der zweiten Zeile von Figur 2 ist beispielhaft ein Vektor dargestellt. In der dritten Zeile von Figur 2 ist beispielhaft eine Matrix dargestellt. In der vierten Zeile von Figur 2 ist beispielhaft ein Bus dargestellt. Diese Daten können in der dargestellten Form in dem Simulationsmodell der übergeordneten Funktion 32 vorliegen. Um diese Daten als Austauschwerte 36 zu kennzeichnen können diese zum Beispiel in der Namensgebung besonders gekennzeichnet werden. Dies könnte zum Beispiel durch ein Präfix geschehen, das dem Variab- lennamen vorangestellt wird. Bei Vorliegen dieses Präfixes werden die dargestellten Werte aus dem Austauschwertebereich 36 in den gespiegelten Bereich der gespiegelten Werte 36. M des Treibers 20. D gespiegelt. In dem Bereich der gespiegelten Werte 36. M werden diese über die Überwachungsschaltung 20 regelmäßig aktualisiert. Über den Treiber 20. D werden die jeweils aktualisierten Werte 36M in den Bereich der Austauschwerte 36 gespiegelt. Hierdurch können die in dem Simulationsmodell der übergeordneten Funktion 32 vorliegenden Austauschwerte 36 über den Treiber 20. D und die Überwachungsschaltung 20 aktualisiert werden, sodass in der übergeordneten Funktion die Austauschwerte 36 vorliegen, wie sie aktuell auch in der Gatteranordnung 10 als Signale Sl, optional umfassend die Konstanten Kl, vorliegen. In Figur 3 ist beispielhaft die andere Richtung des Datenaustausches dargestellt. Wieder sind in der ersten Zeile von Figur 3 eine einfache Variable dargestellt, in der zweiten Zeile von Figur 3 ein Vektor, in der dritten Zeile von Figur 3 eine Matrix und in der vierten Zeile von Figur 3 ein Datenbus. In dem ausgewählten und dargestellten Beispiel sind diese Werte im Simulationsmodell der übergeordneten Funktion 32 z. B. als Datensenke dargestellt. Es ist auch die Wahl eines anderen Formates möglich, um zu symbolisieren, dass ein Wert geschrieben werden soll. Über den Bereich der Austauschwerte 36 werden Schreibvorgänge in den Bereich der gespiegelten Werte 36. M vorgenommen. Über die Überwa- chungsschaltung 20 werden die in Form von gespiegelten Werten 36. M dann in Speicher der Gatteranordnung 10 geschrieben. Dies trifft insbesondere auf Konstanten Kl der Funktion 22 zu für die über die Überwachungsschaltung 20 und den Treiber, 20. D neue Werte geschrieben werden können. Dies kann über sogenannte Datensenken geschehen, wie es beispielhaft in Figur 3 dargestellt ist.
In Figur 4 sind ebenfalls beispielhaft Datensenken dargestellt, wie sie in dem Simulationsmodell der übergeordneten Funktion 32 auftreten können. Wieder sind in dieser Reihenfolge dargestellt: einfache Variable, Vektor, Matrix, Datenbus.
Im Unterschied zu Figur 3 haben die in Figur 4 dargestellten Werte zusätzlich ein Gültigkeitssignal „Enbl", fachsprachlich als „Enable-Signal" Enbl bezeichnet, welches an einem Gültigkeitssignal-Eingang En-in, fachsprachlich als „Enable- Port" En-in bezeichnet, anlegbar ist. Der jeweilige dargestellte Enable-Port En-in ist für die jeweilige zugeordnete Datensenke ein zugeordneter Steuer-Eingang, womit einem korrespondierenden Signaleingang Dt-in der Datensenke signalisiert wird, dass der am Signal-Eingang Dt-in anliegende Wert entweder gültig ist oder nicht. Für den Enable-Port En-in kann eine positive Logik oder eine negative Logik festgelegt sein. Beispielsweise ist bei positiver Logik vorsehbar, dass nur bei einem am Enable-Port En-in der Datensenke anliegenden positiven Spannungspegel mit vordefiniertem Spannungsbetrag, also einem anliegenden Gültigkeitssignal Enbl, ein am Signal-Eingang der Datensenke anliegendes Signal als gültig anzusehen ist.
Die in Figur 3 und 4 dargestellten Variablen können ebenfalls wie bereits zu Figur 2 beschrieben, über die Wahl eines Präfixes ihres Namens so gekennzeichnet werden, dass sie über den Bereich mit den Austauschwerten 36 zum Austausch mit der Gatteranordnung 10 via Überwachungsschaltung 20 vorgesehen werden. In der programmierbaren Gatteranordnung 10 können Speicher zum Speichern einer Konstante Kl zum Beispiel als Flipflop ausgebildet sein. Werden größere Speicherbereiche zum Speichern einer großen Konstante Kl benötigt, so kann auch auf Speicherbereiche 60 (Figur 5) wie z. B. sogenannte BlockRAM Blöcke zurückgegriffen werden. BlockRAM Blöcke sind insbesondere in FPGA verbreitet. Sie sind einzeln nutzbar oder werden während der Synthese der Gatteranordnung 10 automatisch verschaltet, wenn größere Speichermengen benötigt werden. Ein typischer Anwendungsfall für eine große Konstante Kl ist zum Beispiel, dass ein Motorkennfeld eines durch die übergeordnete Funktion 32 und die Funktion 22 zu simulierenden Motors als Konstante Kl gespeichert werden soll. Diese große Speichermenge kann zum Beispiel in mehreren Speicherbereichen 60 (Figur 5), z. B. BlockRAM Blöcken, abgekürzt als „BlockRAM" bezeichnet, gespeichert werden. Bei der Implementierung der Gatteranordnung 10 als FPGA bietet sich die Speicherung als Look-up-Tabelle an. Es kann sein, dass diese Konstanten Kl noch zur Laufzeit verändert werden sollen. Zur Laufzeit bedeutet, während der Ausführung der übergeordneten Funktion 32 und der Funktion 22. In diesem Fall muss für das Austauschen von Konstanten Kl, zum Beispiel für das Schreiben der Konstanten Kl auf Speicherbereiche 60, wie z. B. BlockRAM zugegriffen werden.
In Figur 5 ist beispielhaft die Gatteranordnung 10 mit mehreren Speicherbereiche 60 dargestellt. Bei diesen Speicherbereichen 60 handelt es sich zum Beispiel um den bereits erwähnten BlockRAM der programmierbaren Gatteranordnung 10, zum Beispiel eines FPGA. Ein solcher Speicherbereich 60 ist dadurch gekennzeichnet, dass er durch Konfigurationsbits und Datenbits angesprochen werden kann. Durch die Konfigurationsbits wird definiert, an welcher Stelle des Speicherbereichs 60 die Datenbits gespeichert sollen. Für einen Zugang zu den Speicherbereichen 60 ist zumindest eine parallele Schnittstelle vorgesehen. Im dargestellten Beispiel sind zwei parallele Schnittstellen vorgesehen, eine zum Schreiben und eine zum Auslesen. Über die parallelen Schnittstellen werden die Konfigurationsbits und die Datenbits parallel mit dem Speicherbereich 60 ausgetauscht. Innerhalb der Speicheranordnung 23 ist die dargestellte parallele Schnittstelle zwischen einem Deserialisierer „Des" bzw. einem Serialisierer „Ser" und einem verbundenen Speicherbereich 60 in der Regel nicht nachteil- haft, wenn der Deserialisierer bzw. Serialisierer nahe an den Speicherbereich 60 angeordnet sind. Entsprechendes gilt für eine parallele Schnittstelle zwischen der Überwachungsschaltung 20 und einem Serialisierer „Ser" im Umsetzer 24 bzw. Deserialisierer „Des" im Umsetzer 24 zur jeweiligen Anbindung der Überwachungsschaltung 20 an den Umsetzer 24.
Soll ein solcher Speicherbereich 60 über die Überwachungsschaltung 20 angesprochen werden, zum Beispiel zum Datenaustausch, so müssen entsprechend die Konfigurationsbits und die Datenbits von der Überwachungsschaltung 20 an den Speicherbereich 60 übermittelt werden und ausgelesene Daten müssen von dem Speicherbereich 60 an die Überwachungsschaltung 20 übermittelt werden. Dies ist zum Beispiel nötig, wenn im Speicherbereich 60 gespeicherte Signale Sl, zum Beispiel Konstanten Kl, durch die Überwachungsschaltung 20 ausgelesen und/oder geschrieben werden sollen.
Es wird nun vorgeschlagen, dass die Speicherbereiche 60 in einer Speicheranordnung 23 enthalten sind. Die Speicheranordnung 23 weist neben den Speicherbereichen 60 Deserialisierer Des und Serialisierer Ser auf. Pro Speicherbereich 60 ist dabei ein Deserialisierer Des vorgesehen. Pro Speicherbereich 60 ist dabei ein Serialisierer Ser vorgesehen. Der Deserialisierer Des des Speicherbereichs 60 hat die Aufgabe, die Konfigurationsbits und die Datenbits in serieller Form zu empfangen, zu parallelisieren und über das parallele Interface des Speicherbereiches 60 an diesen zu übermitteln. In umgekehrter Richtung hat der Serialisierer Ser die Aufgabe, parallele Daten, also die Konfigurationsbits und die Datenbits aus dem Speicherbereich 60 in paralleler Form zu empfangen und zu serialisieren.
Zur Kommunikation zwischen Überwachungsschaltung 20 und Speicheranordnung 23 ist ein Umsetzer 24 vorgesehen. Der Umsetzer 24 weist einen Serialisierer Ser und einen Demultiplexer Demux auf. Der Umsetzer 24 weist weiter einen Deserialisierer Des und einen Multiplexer Mux auf.
Der Serialisierer Ser des Umsetzers 24 hat die Aufgabe von der Überwachungsschaltung 20 ausgegebene parallele Daten, zum Beispiel parallele Konfigurationsbits und Datenbits für einen der Speicherbereiche 60 zu serialisieren. Die se- rialisierten Datenbits und Konfigurationsbits werden über den Demultiplexer Demux dem bestimmten Speicherbereich 60 zugewiesen und über eine serielle Datenleitung an den jeweiligen dem bestimmten Speicherbereich 60 zugeordneten Deserialisierer Des der Speicheranordnung 23 übermittelt. In gleicher Weise empfängt die Überwachungsschaltung 20 gemäß dem Ausführungsbeispiel der Figur 5 von dem Deserialisierer Des des Umsetzers 24 parallele Daten. Diese parallelen Daten wurden durch den Deserialisierer Des des Umsetzers 24 aus seriellen Daten zusammengesetzt. Diese umfassen Konfigurationsbits und Datenbits des jeweiligen Speicherbereiches 60. Diese Konfigurationsbits und Datenbits des jeweiligen Speicherbereiches 60 wurden von dem Multiplexer Mux in serieller Form empfangen. Dieser Multiplexer Mux ist in der Lage, die seriellen Datenbits und Konfigurationsbits der jeweiligen Speicherbereiche 60 zu empfangen und zwischen diesen Speicherbereichen umzuschalten. Bevorzugt ist in dem Ausführungsbeispiel der Figur 5, dass der Multiplexer Mux die seriellen Konfigurationsbits und Datenbits von dem jeweiligen Serialisierer Ser der dem entsprechenden Speicherbereich 60 zugeordnet ist, empfängt.
Vorteil der dargestellten Anordnung gemäß der Figur 5 ist, dass zwischen dem Umsetzer 24 und der Speicheranordnung 23 jeweils nur eine serielle Leitung pro Speicherbereich 60 vorgesehen werden muss. Im Vergleich zur parallelen Übermittlung über eine parallele Leitung können so Übertragungsressourcen gespart werden. Dies ist eine effiziente Art der Implementierung für die Gatteranordnung 10. Es werden insbesondere die sogenannten Routing ressourcen der Gatteranordnung 10 eingespart. Zumal lässt sich diese Anordnung technisch einfach implementieren.
Bezugszeichenliste
10 programmierbare Gatteranordnung
20 Überwachungsschaltung
20. D Treiber der Überwachungsschaltung
22 Funktion
23 Speicheranordnung
24 Umsetzer
30 Prozessor
32 übergeordnete Funktion
34 Variablen
36 Austauschwerte
36. M gespiegelte Werte
50 Bedieneinheit
52 Bildschirm bereich
54 Eingabeeinheit
56 Ausgabeeinheit
58 Ausgabe von Werten
60 Speicherbereich
RLI Echtzeit-Bibliothek
DAQS Schnittstelle zur Bedieneinheit
DAQ Datenaustausch mit der Bedieneinheit
Data Daten
Dt-in Signaleingang der Datensenke
Enbl Gültigkeitssignal, fachsprachlich als Enable-
Signal bezeichnet
En-in Gültigkeitssignal-Port, fachsprachlich als
Enable-Port bezeichnet
ML Auswahl
MB Zwischenspeicher
CMD Kommando
RV ausgelesene Werte
IF Schnittstellenumgebung 10 Input/Output
SI Signal
Kl Konstante
RD Lesen
WR Schreiben
Mux Multiplexer
Demux Demultiplexer
Ser Serialisierer
Des Deserialisierer

Claims

ANSPRÜCHE
1. Überwachungsschaltung (20) für eine programmierbare Gatteranordnung (10), wobei die Gatteranordnung (10) eingerichtet ist, eine Funktion (22) auszuführen und zur Ausführung der Funktion (22) zumindest ein Signal (Sl, Kl) zu verwenden, wobei ein Prozessor (30) vorgesehen ist, der eingerichtet ist, eine übergeordnete Funktion (32) auszuführen und zur Ausführung der übergeordneten Funktion (32) einen Wert des zumindest einen Signals (Sl, Kl) an die Gatteranordnung (10) zu übergeben und/oder einen Wert des zumindest einen Signals (Sl, Kl) von der Gatteranordnung (10) zu erhalten, wobei die Überwachungsschaltung (20) eingerichtet ist, mit der Gatteranordnung (10) einen Wert des zumindest einen Signals (Sl, Kl) auszutauschen, wobei der Austausch des Werts des Signals (Sl, Kl) unabhängig von der auf der Gatteranordnung (10) ausgeführten Funktion (22) erfolgt, wobei die Überwachungsschaltung (20) eingerichtet ist, den Wert des zumindest einen Signals (Sl, Kl) mit dem Prozessor (30) auszutauschen.
2. Überwachungsschaltung nach Anspruch 1, wobei der Austausch des Werts des zumindest einen Signals (Sl, Kl) ein Lesen und/oder ein Schreiben des zumindest einen Signals (Sl, Kl) durch die Überwachungsschaltung (20) umfasst.
3. Überwachungsschaltung nach Anspruch 1 oder 2, wobei die Gatteranordnung (10) eingerichtet ist, einen Wert des zumindest einen Signals (Sl, Kl) zur Verarbeitung von dem Prozessor (30) zu empfangen, den Wert des Signals während der Ausführung der Funktion zu verarbeiten und den verarbeiteten Wert des Signals (Sl, Kl) an den Prozessor (30) auszugeben.
4. Überwachungsschaltung nach einem der vorhergehenden Ansprüche, wobei ein Wert des zumindest einen Signals (Sl, Kl) in der Gatteranordnung (10) vorliegt und/oder die Gatteranordnung (10) eingerichtet ist, einen Wert des zumindest einen Signals (Sl, Kl) von einem ausgelesenen Sensorwert abzuleiten.
5. Überwachungsschaltung nach einem der vorhergehenden Ansprüche, wobei das Signal (Kl) als Konstante (Kl) ausgeführt ist, wobei die Gatteranordnung (10) eingerichtet ist, die Konstante (Kl) während der Ausführung der Funktion (22) zu verwenden, wobei die Überwachungsschaltung (20) eingerichtet ist, einen Wert der zumindest einen Konstanten (Kl) der Gatteranordnung (10) zu schreiben, wobei das Schreiben des Wertes der Konstanten (Kl) unabhängig von der auf der Gatteranordnung (10) ausgeführten Funktion (22) erfolgt, wobei die Überwachungsschaltung (20) eingerichtet ist, den für die Konstante (Kl) zu schreibenden Wert von dem Prozessor (30) zu empfangen.
6. Überwachungsschaltung nach Anspruch 5, wobei die Überwachungsschaltung (20) weiter eingerichtet ist, den Wert der Konstanten (Kl) auszulesen und den ausgelesenen Wert an den Prozessor (30) auszugeben.
7. Überwachungsschaltung nach Anspruch 5 oder 6, wobei die Überwachungsschaltung (20) eingerichtet ist, einen zu schreibenden Wert der Konstante (Kl) von einer Bedieneinheit (50) zu empfangen, wobei die Bedieneinheit eingerichtet (50) ist, den zu schreibenden Wert von einem Nutzer zu empfangen.
8. Überwachungsschaltung nach einem der vorhergehenden Ansprüche, wobei die Überwachungsschaltung (20) eingerichtet ist, einen ausgelesenen Wert des Signals (Sl, Kl) an die Bedieneinheit (50) auszugeben, wobei die Bedieneinheit eingerichtet (50) ist, den ausgelesenen Wert an einen Nutzer auszugeben.
9. Überwachungsschaltung nach einem der vorhergehenden Ansprüche, wobei die Überwachungsschaltung (20) eingerichtet ist, Informationen über das Signal (Sl, Kl), dessen Wert auszulesen ist, von dem Prozessor (30) zu empfangen.
10. Anordnung mit der Überwachungsschaltung (20) nach einem der vorhergehenden Ansprüche, sowie mit dem Prozessor (30) und der programmierbaren Gatteranordnung (10).
11. Anordnung nach Anspruch 10, wobei der von der Überwachungsschaltung (20) empfangene Wert des Signals durch den Prozessor (30) bei der Ausführung der übergeordneten Funktion (32) verwendbar ist.
12. Anordnung nach Anspruch 10 oder 11, wobei der an die Überwachungsschaltung (20) übergebene Wert der Konstanten (Kl) durch den Prozessor (30) bei der Ausführung der übergeordneten Funktion (32) erzeugbar ist.
13. Anordnung nach einem der Ansprüche 10 bis 12, wobei die Gatteranordnung (10) zumindest eine Speicheranordnung (23) aufweist, welche über Konfigurationsbits und Datenbits ansprechbar ist, und die Überwachungsschaltung (20) eingerichtet ist, die zumindest eine Speicheranordnung (23) auszulesen und/oder zu schreiben, wobei die Gatteranordnung (10) zwischen der Überwachungsschaltung (20) und der zumindest einen Speicheranordnung (23) einen Umsetzer (24) aufweist, welcher eingerichtet ist, die Konfigurationsbits und die Datenbits zu serialisieren und in serieller Form zu übertragen.
14. Anordnung nach Anspruch 13, wobei die Gatteranordnung (10) einen Übertragungskanal zwischen dem Umsetzer (24) und der zumindest einen Speicheranordnung (23) aufweist, welcher zur Übertragung von serialisierten Konfigurationsbits und Datenbits eingerichtet ist.
15. Anordnung nach einem der Ansprüche 10 bis 14, weiter aufweisend eine Bedieneinheit (50), welche eingerichtet ist, den zu schreibenden Wert des Signals (Sl, Kl) von einem Nutzer zu empfangen und an die Überwachungsschaltung (20) zu übermitteln und/oder den ausgelesenen Wert des Signals (Sl, Kl) von der Überwachungsschaltung (20) zu empfangen und an den Nutzer auszugeben.
16. Verfahren zum Betrieb einer Anordnung nach einem der Ansprüche 10 bis 15, aufweisend:
Lesen des Werts des Signals (Sl, Kl) der Gatteranordnung (10) durch die Überwachungsschaltung (20), wobei das Lesen des Wertes des Signals (Sl, Kl) unabhängig von der durch die Gatteranordnung (10) ausgeführten
Funktion (22) erfolgt, Übergeben des Werts von der Überwachungsschaltung (20) an den Prozessor (30) und Verwenden des Werts des Signals (Sl, Kl) während der Ausführung der übergeordneten Funktion (32), und/oder Erzeugen des Werts des Signals (Sl, Kl) durch den Prozessor (30) während der Ausführung der übergeordneten Funktion (32), Übergeben des Wertes des Signals (Sl, Kl) von dem Prozessor (30) an die Überwachungsschaltung (20) und Schreiben des Wertes des Signals (Sl, Kl) durch die Überwachungsschaltung (20), wobei das Schreiben des Wertes des Signals (Sl, Kl) unabhängig von der durch die Gatteranordnung (10) ausgeführten Funktion (22) erfolgt.
PCT/EP2023/084916 2023-01-04 2023-12-08 Überwachungsschaltung für eine programmierbare gatter-anordnung, anordnung mit überwachungsschaltung, prozessor und gatteranordnung sowie verfahren zum betrieb einer solchen anordnung WO2024146743A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102023100161.2 2023-01-04

Publications (1)

Publication Number Publication Date
WO2024146743A1 true WO2024146743A1 (de) 2024-07-11

Family

ID=

Similar Documents

Publication Publication Date Title
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
EP2765528B1 (de) Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit
DE3685711T2 (de) Anordnung zur simulation von rechnerfunktionen von grossrechenanlagen.
EP2799983B1 (de) Flexible Aufteilung der I/O Kanäle einer Hardware Komponente
EP2954440B1 (de) Verändern eines signalwerts eines fpga zur laufzeit
DE69107476T2 (de) Vorrichtung für eine in-circuit-prüfung mit einem minimalspeicher.
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator
DE68925569T2 (de) Dynamischer Video-RAM-Speicher
EP3244326B1 (de) Verfahren zum erstellen einer fpga-netzliste
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE3317593C2 (de) Prüfsystem-Speicherarchitektur
EP1789889B1 (de) Rechnereinrichtung mit rekonfigurierbarer architektur zur aufnahme eines globalen zellularen automaten
WO2024146743A1 (de) Überwachungsschaltung für eine programmierbare gatter-anordnung, anordnung mit überwachungsschaltung, prozessor und gatteranordnung sowie verfahren zum betrieb einer solchen anordnung
DE102010028227A1 (de) Coprozessor mit Ablaufsteuerung
EP2963541B1 (de) Implementierung einer Konstanten in FPGA-Code
DE102023100161A1 (de) Überwachungsschaltung für eine programmierbare gatteranordnung, anordnung mit überwachungsschaltung, prozessor und gatteranordnung sowie verfahren zum betrieb einer solchen anordnung
DE69910172T2 (de) Schaltkreis mit pseudo-mehrport-speicher
AT501880B1 (de) Speicherprogrammierbare steuerung
DE2644180C3 (de) Datenverarbeitungssystem
DE69500544T2 (de) Mikrocomputer mit integrierter Haltepunktanordnung zur Erkennung von zusammengesetzten Ereignissen
DE69025231T2 (de) CPU-Kern für Einchipmikrorechner
DE69629542T2 (de) Adressierbares serielles prüfsystem
EP3001318A1 (de) Bestimmung von Signalen für Readback aus FPGA
DE3885935T2 (de) Digitaler In-Circuit-Prüfer mit Kanalspeicherlöschschutz.