EP4699036A1 - Emulation einer analogen schaltung mittels programmierbarer digitaler logik - Google Patents

Emulation einer analogen schaltung mittels programmierbarer digitaler logik

Info

Publication number
EP4699036A1
EP4699036A1 EP24736315.3A EP24736315A EP4699036A1 EP 4699036 A1 EP4699036 A1 EP 4699036A1 EP 24736315 A EP24736315 A EP 24736315A EP 4699036 A1 EP4699036 A1 EP 4699036A1
Authority
EP
European Patent Office
Prior art keywords
analog circuit
digital logic
functional blocks
circuit
programmable digital
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
EP24736315.3A
Other languages
English (en)
French (fr)
Inventor
Hannes Muhr
Majid Ghameshlu
Herbert Taucher
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.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
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 Siemens AG, Siemens Corp filed Critical Siemens AG
Publication of EP4699036A1 publication Critical patent/EP4699036A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

Ein Verfahren (600) zum Emulieren einer vorbestimmten analogen Schaltung (110) mittels einer programmierbaren digitalen Logik umfasst Schritte des Unterteilens der analogen Schaltung (110) in Funktionsblöcke (205, 210); des Zuordnens eines dedizierten Zustandsraums (635) zu jedem Funktionsblock (205, 210); des Bestimmens von mathematischen Beschreibungen von Verhalten der Funktionsblöcke (205, 210) in den jeweiligen Zustandsräumen (635); des Beschreibens von Berechnungseinheiten (218) auf der Basis der mathematischen Beschreibungen, wobei die Berechnungseinheiten (218) die Funktionsblöcke (205, 210) funktional nachbilden; und des Bestimmens von Beschreibungsdaten zur Konfiguration einer programmierbaren digitalen Logik derart, dass es Funktionsblöcke (205, 210) realisiert, die nach Art der analogen Schaltung (110) miteinander verbunden sind.

Description

Beschreibung
Emulation einer analogen Schaltung mittels programmierbarer digitaler Logik
Die vorliegende Erfindung betrifft die Emulation einer analogen Schaltung. Insbesondere betrifft die Erfindung die Emulation einer komplexen analogen Schaltung in Echtzeit.
Eine analoge Schaltung kann mittels einer digitalen Steuervorrichtung gesteuert werden. Die Steuervorrichtung kann einen Mikrocomputer, einen Mikrocontroller oder eine programmierbare digitale Logik umfassen, beispielsweise in Form eines FPGA. Die Steuervorrichtung kann eine Regelung der analogen Schaltung durchführen, wobei ein analoges Signal der Schaltung mittels eines Analog-Digital-Wandlers an die digitale Steuervorrichtung zurückgeführt werden kann.
Zur Entwicklung der Steuervorrichtung kann die analoge Schaltung durch eine andere Einrichtung emuliert werden, die sich wie die analoge Schaltung verhält. Die Emulation kann mittels konfigurierbarer digitaler Logik erfolgen, die relativ einfach konfiguriert werden kann.
Die analoge Schaltung kann komplex sein und eine große Anzahl aktiver oder passiver elektronischer Bauelemente umfassen. Außerdem kann die analoge Schaltung hohe Anforderungen an eine zeitliche Steuerung stellen.
Bekannte Ansätze zur Emulation einer analogen Schaltung erfordern eine komplexe mathematische Modellierung, deren Berechnungsaufwand mit der zweiten Potenz der Anzahl betrachteter zustandsorientierter Bauelemente ansteigen kann. Es kann schwierig sein, für eine gegebene analoge Schaltung eine korrekte Modellierung zu finden. Selbst wenn eine Modellierung gefunden ist, kann eine Komplexität einer zu deren Ausführung erforderlichen digitalen Logik so groß sein, dass sie praktisch nicht umgesetzt werden kann. Eine der Erfindung zugrunde liegende Aufgabe besteht daher in der Bereitstellung einer verbesserten Technik zur Emulation einer analogen Schaltung mittels konfigurierbarer digitaler Logik. Die Erfindung löst die Aufgabe mittels der Gegenstände der unabhängigen Ansprüche. Unteransprüche geben bevorzugte Ausführungsformen wieder.
Nach einem ersten Aspekt der vorliegenden Erfindung umfasst ein Verfahren zum Emulieren einer vorbestimmten analogen Schaltung mittels einer programmierbaren digitalen Logik Schritte des Unterteilens der analogen Schaltung in Funktionsblöcke; des Zuordnens eines dedizierten Zustandsraums zu jedem Funktionsblock; des Bestimmens von mathematischen Beschreibungen von Verhalten der Funktionsblöcke in den jeweiligen Zustandsräumen; des Beschreibens oder des Erzeugens von Berechnungseinheiten auf der Basis der mathematischen Beschreibungen, wobei die Berechnungseinheiten die Funktionsblöcke funktional nachbilden; und des Bestimmens von Beschreibungsdaten zur Konfiguration einer programmierbaren digitalen Logik derart, dass es Funktionsblöcke realisiert, die nach Art der analogen Schaltung miteinander verbunden sind.
Der dedizierten Zustandsraum kann in Form von Spannungen und/oder Strömen zu jedem Funktionsblock beschrieben werden.
Ein Zustandsraum kann beispielweise lineare Spannungen und Ströme einer analogen Schaltung, als auch Schaltzustände von Transistor-Schaltern oder nichtlineare Komponenten wie Dioden abbilden.
Ein Schaltraum kann beispielsweise frequenzabhängiges Verhalten genauso abbilden, wie ein zeitvariables Verhalten.
Die mathematischen Beschreibungen bilden das elektrische Verhalten der Funktionsblöcke in den jeweiligen Zustandsräumen ab, wie beispielsweise Netzpläne, Reflexions- oder Transferfunktionen von Schaltungen, oder Teilen davon, ausgedrückt werden kann.
Die mathematischen Beschreibungen können beispielweise lineare Gleichungen, Approximationen oder auch Differenzialgleichungen sein, und im Zeitbereich oder auch im Frequenzbereich definiert sein, sowie zeitdiskret oder kon- tinuierlich sein.
Die Berechnungseinheiten bilden auf der Basis der mathematischen Beschreibungen der analogen Schaltung oder Teilen davon eine digitale Ersatzschaltung der jeweiligen Funktionsblöcke nach.
Durch Ausführen des Verfahrens kann ein schneller und präziser Emulator für die analoge Schaltung bereitgestellt werden. Der Emulator kann durch den Einsatz digitaler Logik mit sehr geringer Verzögerung arbeiten, sodass die Emulation Echtzeit-fähig sein kann. Eine Zeitspanne, innerhalb derer der Emulator sein Verhalten an das Verhalten des analogen Vorbilds anpasst, kann dabei sehr klein sein und im Bereich von Mikrosekunden liegen, in einer bevorzugten Ausführungsform im Bereich von Nanosekunden. Eine Genauigkeit des Emulators im Vergleich zur analogen Schaltung kann im Rahmen der Konfiguration gesteuert werden.
Schritte des Verfahrens können automatisiert ausgeführt werden. Das Verfahren kann, ausgehend von einer Beschreibung einer analogen Schaltung, schrittweise eine Konfiguration generieren, mit der ein konfigurierbarer digitale Logikbaustein konfiguriert werden kann, um praktisch dieselbe Funktion auszuführen. Zwischen Schritten der Umwandlung können jeweils Prüfungen eingefügt werden, um sicherzustellen, dass die jeweilige Umwandlung korrekt und ausreichend genau ist. Die Emulation durch den digitalen Logikbaustein kann als digitaler Zwilling der analogen Schaltung verwendet werden, beispielsweise zur Entwicklung einer Steuerung der analogen Schaltung, wobei die emulierte Schaltung anschließend als digitaler Logikbaustein entsprechend hergestellt und betrieben wird.
Mittels des Verfahrens kann eine hochwertige Emulation auch einer anspruchsvollen analogen Schaltung gelingen, beispielsweise eine Schaltung, die viele zustandsorientierte Bauelemente umfasst, eine sehr genaue Umsetzung zeitlicher Signalverläufe erfordert oder sehr schnelle Signale verarbeitet. Eine solche analoge Schaltung kann beispielsweise eine Sende- oder Empfangsstufe für elektromagnetische Signale oder einen elektrischen Energiewandler um- fassen. Der Energiewandler kann beispielsweise an Bord eines Kraftfahrzeugs, einer Lokomotive, eines Flugzeugs oder bei einer dezentralen Energieversorgung eingesetzt werden. Erfolgt die Steuerung nicht ausreichend genau, so kann eine Effizienz der Energiewandlung beeinträchtigt sein. Schlimmstenfalls können beträchtliche Energien freigesetzt werden und die Schaltung beschädigen oder sogar zerstören.
Das Unterteilen der analogen Schaltung kann manuell erfolgen, es sind aber auch systematische Ansätze bekannt, die automatisch durchgeführt werden können. Beispielsweise können Werkzeuge wie Matlab/Simulink zur Extraktion verwendet werden. Der Zustandsraum eines Funktionsblocks kann auch mittels eines anderen Werkzeugs bestimmt werden, beispielsweise PLECS.
Eine elektrische Verbindung zwischen zwei Funktionsblöcken kann durch eine stromgesteuerte Stromquelle und eine spannungsgesteuerte Spannungsquelle zwischen zwei korrespondierenden Berechnungseinheiten modelliert werden. Dadurch können die einzelnen Funktionsblöcke separat modelliert und dann miteinander in Kontext gesetzt werden.
Genauer kann eine elektrische Verbindung zwischen einem ersten und einem zweiten Funktionsblock der analogen Schaltung durch eine Stromquelle im ersten Funktionsblock modelliert werden, die auf der Basis eines Stroms im zweiten Funktionsblock gesteuert wird; sowie durch eine Spannungsquelle im zweiten Funktionsblock, die auf der Basis einer Spannung im ersten Funktionsblock gesteuert wird.
Bekannte Ansätze verwenden eine Verarbeitung von Signalen innerhalb einer Berechnungseinheit in Fließkomma-Darstellung. Diese Darstellung ist zwar sehr genau, jedoch aufwändig in der Handhabung. In einer Ausführungsform ist daher bevorzugt, eine Fixkomma-Darstellung zur Repräsentation dieser Signale einzusetzen. Dazu können Bereichsgrenzen für ein innerhalb einer Berechnungseinheit vorliegendes Signal bestimmt werden. Auf deren Basis kann eine Fixkomma- Darstellung für das Signal bestimmt werden, sodass die Berechnungseinheit das Signal als Fixkomma-Wert bestimmen kann. Die Berechnungseinheit kann dadurch einfacher gestaltet sein und weniger Ressourcen erfordern. Eine Berechnung durch die Berechnungseinheit kann beschleunigt sein.
In einer Ausführungsform werden einander entsprechende Funktionsblöcke der analogen Schaltung bestimmt. Dann kann eine Berechnungseinheit bestimmt werden, die dazu eingerichtet ist, die einander entsprechenden Funktionsblöcke sequenziell zu realisieren.
Dabei kann ausgenutzt werden, dass eine Berechnungseinheit der digitalen Logik eine sehr schnelle Bestimmung durchführen kann, sodass sie im Multi- plex-Betrieb nacheinander Bestimmungen für eine Vielzahl Funktionsblöcke durchführen kann. Dies kann insbesondere für eine analoge Schaltung genutzt werden, bei der bestimmte Schaltungsteile in mehrfacher Wiederholung eingesetzt sind.
Beispielsweise kann eine analoge Schaltung, die akustische Daten aus einer Vielzahl Quellen parallel verarbeitet, getrennte Verarbeitungskanäle aufweisen, in denen jeweils dieselben analogen Komponenten liegen. Derartige Komponenten können etwa einen frequenzabhängigen Filter, einen automatisch gesteuerten Verstärker, einen Modulator oder einen Demodulator umfassen.
Die Schaltung kann derart unterteilt werden, dass eine Grenze zwischen zwei Funktionsblöcken durch einen Knoten verläuft, der im Betrieb der Schaltung ein Signal mit möglichst wenigen spektralen Frequenzkomponenten trägt. Diese Bedingung kann einem automatischen Segmentierer als Zielfunktion übergeben werden, sodass gebildete Funktionsblöcke bezüglich der Emulation gut handhabbar sein können. Insbesondere kann eine mathematische Beschreibung eines Verhaltens eines Funktionsblocks in seinem Zustandsraum verbes- sert handhabbar sein.
Die analoge Schaltung kann digital steuerbar sein und ein digitaler Steuereingang der Schaltung kann durch einen digitalen Steuereingang der konfigurierbaren digitalen Logik nachgebildet werden. Die Emulation kann insbesondere eingesetzt werden, um eine digitale Steuerung der analogen Schaltung zu entwickeln oder zu testen -isEPJ
Die konfigurierbare digitale Logik kann einen Analog-Digital-Wandler (Analog Digital Converter, ADC) zur digitalen Bereitstellung eines analogen Werts der analogen Schaltung emulieren. In einer Ausführungsform ist ein ADC von der konfigurierbaren Logik als Baustein umfasst, dessen elektrische Verbindung zu anderen Elementen konfiguriert werden kann. Ein durch den ADC bereitgestellter digitaler Wert kann von einer digitalen Steuerung nach Art einer Rückkopplung ausgewertet werden, insbesondere um eine Regelung der analogen Schaltung durchzuführen.
Die Beschreibungsdaten werden in einer weiteren Ausführungsform in Konfigurationsdaten zur Konfiguration einer vorbestimmten programmierbaren digitalen Logik umgesetzt, um die analoge Schaltung mittels der programmierbaren digitalen Logik zu emulieren. Dabei kann eine konkrete programmierbare Logik angegeben werden, auf die die bereitgestellten Konfigurationsdaten angewendet werden können. LS_EPJ
In einer Ausführungsform umfasst das Verfahren das Konfigurieren der programmierbaren digitalen Logik auf der Basis der Konfigurationsdaten. Die Logik kann dadurch zu einem Emulator konfiguriert werden, der die analoge Schaltung nachahmen kann.
Nach einem weiteren Aspekt der vorliegenden Erfindung umfasst eine Vorrichtung zur Emulation einer vorbestimmten analogen Schaltung mittels einer programmierbaren digitalen Logik: eine erste Einrichtung zur Unterteilung der analogen Schaltung in Funktionsblöcke, wobei jedem Funktionsblock ein dedizierter Zustandsraum in Form von Spannungen und/oder Strömen zugeordnet ist; eine zweite Einrichtung zur Bestimmung von mathematischen Beschreibungen des elektrischen Verhaltens der Funktionsblöcke in den jeweiligen Zustandsräumen; eine dritte Einrichtung zur Beschreibung oder Erzeugung von Berechnungseinheiten, welche auf der Basis der mathematischen Beschreibungen eine digitale Ersatzschaltung der jeweiligen Funktionsblöcke bilden; und eine vierte Einrichtung zur Bestimmung von Beschreibungsdaten zur Konfiguration einer programmierbaren digitalen Logik derart, dass sie Funktionsblöcke realisiert, die nach Art der analogen Schaltung miteinander verbunden sind.
Die Vorrichtung ist ferner dazu eingerichtet, das erfindungsgemäße Verfahren auszuführen
Nach wieder einem weiteren Aspekt der vorliegenden Erfindung sind Beschreibungsdaten zur Beschreibung einer programmierbaren digitalen Logik zur Emulation einer vorbestimmten analogen Schaltung mittels eines hierin beschriebenen Verfahrens erstellt. In entsprechender Weise können Konfigurationsdaten zur Konfiguration einer programmierbaren digitalen Logik zur Emulation einer vorbestimmten analogen Schaltung mittels eines hierin beschriebenen Verfahrens erstellt sein. Die Beschreibungs- oder Konfigurationsdaten können auf einem computerlesbaren Datenträger abgespeichert sein.
Nach wieder einem weiteren Aspekt der vorliegenden Erfindung umfasst eine Anwendungsspezifische integrierte Schaltung (application specific integrated circuit, ASIC) eine digitale Logik, die auf der Basis hierin beschriebener Konfigurationsdaten konfiguriert ist. Dazu können die Konfigurationsdaten mittels eines hierin beschriebenen Verfahrens erstellt sein. In einer anderen Ausführungsform kann eine digitale Logik eingesetzt werden, die nur einmal programmierbar ist, beispielsweise als OTP-Logik (one time programmable).
Nach abermals einem weiteren Aspekt der vorliegenden Erfindung ist eine programmierbare digitale Logik mittels eines hierin beschriebenen Verfahrens zur Emulation einer vorbestimmten analogen Schaltung konfiguriert. Eine hierin genannte programmierbare digitale Logik kann insbesondere durch ein FPGA (Field Programmable Gate Array) realisiert sein. Das FPGA kann mittels Konfigurationsdaten dazu konfiguriert werden, eine vorbestimmte logische Schaltung zu bilden. Anders als bei der Programmierung von Computern, Mikrocontrollern oder Steuerungen kann das Konfigurieren die Definition einer gewünschten Schaltungsstruktur umfassen. Diese kann mittels einer Hardware Beschreibungssprache formuliert und von einer Erzeugersoftware in eine Konfigurationsdatei übersetzt werden, welche vorgibt, wie physische Elemente, die vom FPGA umfasst sind, elektrisch verschaltet werden sollen. Ohne Konfiguration hat ein FPGA üblicherweise keine nutzbare Funktion.
Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Zeichnungen näher erläutert werden, wobei
Figur 1 ein Steuersystem;
Figur 2 eine schematische Modellierung einer analogen Schaltung;
Figur 3 eine schematische Modellierung einer analogen Schaltung mit mehreren identischen Funktionsblöcken;
Figur 4 eine Modellierung eines linearen zeitinvarianten Systems;
Figur 5 eine Modellierung mehrerer identischer linearer zeitinvarianter
Systeme; und
Figur 6 ein Ablaufdiagramm eines Verfahrens darstellt.
Figur 1 zeigt ein Steuersystem 100, das eine digitale Steuervorrichtung 105 umfasst, die eine analoge Schaltung 110 steuert. Dazu kann die Steuervorrichtung 105 einen digitalen Steuerwert an die analoge Schaltung 110 bereitstellen. Ein digitaler Steuerwert kann auch mittels eines Digital-Analog-Wandlers (Digital Analog Converter, DAC) in einen analogen Wert umgesetzt werden, der dann zur Steuerung der analogen Schaltung 110 verwendet werden kann. Die Steuervorrichtung 105 ist bevorzugt elektronisch aufgebaut und kann beispielsweise einen programmierbaren Mikrocomputer, einen Mikrocontroller, eine diskrete digitale Schaltung oder einen konfigurierbaren Logikbaustein, etwa in Form eines FPGA umfassen.
Die analoge Schaltung 110 kann eine beliebige Verschaltung aktiver und/oder passiver elektronischer Komponenten umfassen. Die Komponenten können insbesondere Widerstände, Kondensatoren, Spulen oder Halbleiter wie Dioden, Z-Dioden oder Transistoren umfassen. Die analoge Schaltung 110 dient einem vorbestimmten Zweck, beispielsweise der Umwandlung einer Gleichspannung in eine Wechselspannung oder dem Aussenden oder Empfangen elektromagnetischer Strahlung.
Die analoge Schaltung 110 kann einen analogen Wert bereitstellen, der mittels eines ADC in einen digitalen Wert gewandelt und von der Steuervorrichtung 105 zur Steuerung der analogen Schaltung 110 herangezogen werden kann. Dadurch kann eine Regelung der analogen Schaltung 110 bezüglich eines vorbestimmten Regelungsziels realisiert sein.
Beispielsweise zum Zweck der Entwicklung oder dem Testen der Steuervorrichtung 105 soll die analoge Schaltung 110 durch einen Emulator 120 ersetzt werden. Bevorzugt umfasst der Emulator 120 auch den ADC 115. Der Emulator 120 soll insbesondere auf der Basis konfigurierbarer Logik erstellt werden. Dazu können einer oder mehrere miteinander verbundene Logikbausteine vorgesehen sein, die mittels Konfigurationsdaten zu einer Anordnung von Berechnungseinheiten gestaltet werden können. Dabei sind die Berechnungseinheiten derart gestaltet und miteinander verbunden, dass sich der Emulator 120 gegenüber der Steuervorrichtung 105 wie die analoge Schaltung 110 verhält.
Figur 2 zeigt eine schematische Modellierung einer beispielhaften analogen Schaltung 110. Die analoge Schaltung 110 kann in miteinander verbundene Funktionsblöcke unterteilt werden. In Figur 2 sind ein erster Funktionsblock 205 und ein zweiter Funktionsblock 210 gebildet, die jeweils beispielhaft mehrere elektrische oder elektronische Bauelemente der Schaltung 110 umfassen. Verbindungen zwischen den Funktionsblöcken 205 verlaufen durch Knoten 215.
Wie im unteren Bereich von Figur 2 dargestellt ist, können die Funktionsblöcke 205 und 210 voneinander unabhängig mittels einer ersten und einer zweiten Berechnungseinheit 218 modelliert werden. Die Verbindung zwischen den Funktionsblöcken kann durch eine erste virtuelle Schaltung 220 am ersten Funktionsblock 205 und eine zweite virtuelle Schaltung 225 am zweiten Funktionsblock 210 modelliert werden. Die erste virtuelle Schaltung 220 umfasst eine Spannungsquelle 230, die in Serie mit einem Strommesser 235 an Anschlüssen des ersten Funktionsblocks 205 zu den Knoten 215 liegt. Die zweite virtuelle Schaltung 225 umfasst eine Stromquelle 240, die parallel zu einem Spannungsmesser 245 an Anschlüssen des zweiten Funktionsblocks 210 zu den Knoten 215 liegt. Dabei wird die Stromquelle 240 auf der Basis eines mittels des Strommessers 235 bestimmten Stroms gesteuert; und die Spannungsquelle 230 wird auf der Basis einer mittels des Spannungsmessers 245 bestimmten Spannung gesteuert.
Die im unteren Bereich von Figur 2 gezeigte Schaltung kann verwendet werden, um die Funktionsblöcke 205, 210 der analogen Schaltung 110 zu modellieren, mathematisch zu beschreiben und eine geeignete digitale Logik zu bestimmen, die sie jeweils repräsentiert. Auf dieser Basis kann für jeden Funktionsblock 205, 210 eine Berechnungseinheit 218 aus Elementen einer konfigurierbaren digitalen Logik bestimmt werden, die den jeweiligen Funktionsblock 205, 210 emuliert.
Figur 3 zeigt eine schematische Modellierung einer analogen Schaltung 110 mit mehreren identischen oder sehr ähnlichen zweiten Funktionsblöcken 210. Anstatt die zweiten Funktionsblöcke 210 eins zu eins durch Berechnungseinheiten 218 zu emulieren, können sie als ein Funktionsblock 210 modelliert werden, der nacheinander verschiedene Funktionen ausführt. Dazu kann ein Zustands- Speicher eingefügt werden, der einen Zustand eines zweiten Funktionsblocks 210 speichert, bis dieser zweite Funktionsblock auf der Berechnungseinheit 218 ausgeführt wird. Ein Akkumulator 250 kann eine Summe über sämtliche Ströme zur Rückkopplung an die erste virtuelle Schaltung 220 bilden. Die Berechnungseinheit 218 kann die zweiten Funktionsblöcke 210 nacheinander emulieren und jeweilige Ein- und Ausgabewerte mit angeschlossenen weiteren Funktionsblöcken bzw. Berechnungseinheiten 218 austauschen.
Figur 4 zeigt eine Modellierung einer Funktionskomponente 205 als lineares zeitinvariantes System. Die Funktionskomponente 205 erhält allgemein ein Eingangssignal u und stellt ein Ausgangssignal y bereit. Dabei bestehen folgende Zusammenhänge:
X = Ax + Xu. y = C’x + Du
Die Funktionskomponente 205 kann als lineares zeitinvariantes System LZI (linear time invariant system, LTI) in einem zugeordneten Zustandsraum modelliert sein.
Auch eine komplexe analoge Schaltung 110 kann als Verschaltung von LZI modelliert werden. Zur Emulation der analogen Schaltung 110 kann jede Funktionskomponente 205 als LZI durch passende digitale Logik implementiert werden. Zur Emulation einer Funktionskomponente 205 sind geeignete Matrizen A, B, C und D für die korrespondierende LZI-Darstellung zu finden.
Zur Umsetzung der Funktionskomponente 205 als Konfiguration digitaler Logik ist es vorteilhaft, die Berechnung des Ausgangssignals y auf der Basis des Eingangssignals u mit Werten in Fixkomma-Darstellung statt in Fließkomma- Darstellung zu bestimmen. Dazu können im Betrieb der Funktionskomponente 205 jeweils Bereichsgrenzen für das Eingangssignal u und Ausgänge der Matrizen A bis D bestimmt werden. In Kenntnis der Bereichsgrenzen kann dann eine Fließkomma-Darstellung durch eine Fixkomma-Darstellung abgelöst werden. Die Fixkomma-Darstellung kann eine wesentlich schnellere Berechnung bei- spielsweise von Matrizenoperationen erlauben.
Figur 5 zeigt eine Modellierung mehrerer identischer linearer zeitinvarianter Systeme nach Art von Figur 3. Die LZI-Modellierung einer Funktionskomponente 210 wird um einen den Zustandsspeicher 250 erweitert, der einen Speicher umfasst, in dem Zustandswerte für eine vorbestimmte Anzahl zu emulierender Funktionskomponenten 210 aufgenommen werden können. Ein Zustand einer zu emulierenden Funktionskomponente 210 kann aus dem Speicher abgerufen und in die LZI-Darstellung eingespeist werden. So kann eine Berechnungseinheit 218 bestimmt werden, die sequenziell mehrere Funktionskomponenten 210 emulieren kann. Für angrenzende Berechnungseinheiten 218 kann die sequenzielle Emulation nicht erkennbar sein, sodass sich die mehrfach genutzte Berechnungseinheit 218 im Emulator 120 für die analoge Schaltung 110 wie eine Anzahl einzelner Berechnungseinheiten 218 verhalten kann.
Figur 6 zeigt ein Ablaufdiagramm eines beispielhaften Verfahrens 600 zum Bereitstellen eines Emulators 120 zur Emulation einer vorbestimmten analogen Schaltung 110. Das Verfahren 600 kann iterativ durchlaufen werden, um einen mittels konfigurierbarer digitaler Logik implementierten Emulator 120 bereitzustellen, der sich bezüglich Eingangs- und Ausgangssignalen wie die analoge Schaltung 110 verhält.
In einem Schritt 605 kann die analoge Schaltung 110 erstellt oder verändert werden. Dabei liegt die Schaltung 110 in einer per Computer verarbeitbaren Beschreibung 610 vor, beispielsweise als Simscape Datei der Software Simu- link des Herstellers The MathWorks. Wird eine andere Software verwendet, beispielsweise PLECS, so kann die Beschreibung 610 entsprechend in einem anderen digitalen Format vorliegen.
Optional kann eine Verifikation der Äquivalenz der Beschreibung 610 mit der Schaltung 110 erfolgen. Außerdem kann eine Stabilität des erstellten Systems geprüft werden.
In einem Schritt 615 kann die analoge Schaltung 110 in Funktionsblöcke 205, 210 unterteilt werden. Dieser Schritt kann manuell, teilautomatisiert oder automatisiert durchgeführt werden. Als Resultat kann eine segmentierte Beschreibung 620 erstellt werden. Ein Format der Beschreibung 620 kann von einer zur Segmentierung eingesetzten Software abhängig sein. Optional kann eine Verifikation der Äquivalenz der segmentierten Beschreibung 620 mit der einteiligen Beschreibung 610 erfolgen. Auch an dieser Stelle kann das erstellte System auf Stabilität getestet werden.
In einem Schritt 625 kann teilautomatisiert oder automatisch ein Modell eines digitalen Rechenwerks bestimmt werden, um eine digitalisierte, in Logikbausteinen ausführbare Funktionseinheit zu erstellen. Die modellierten Funktionsblöcke 205, 210 sind dabei zunächst in Fließkomma-Darstellung 630 angegeben. Dabei kann jedem Funktionsblock 205, 210 ein Zustandsraum 635 zugeordnet werden. Die Äquivalenz der erstellten Darstellung 630 mit der segmentierten Beschreibung 620 kann in einem entsprechenden Test verifiziert werden.
Auf der Basis der segmentierten Beschreibung 620 können Signale 640 der Funktionsblöcke 205, 210 verfolgt werden (tracing). In einem Schritt 645 kann eine Fixkomma-Umwandlung auf der Basis der Fließkomma-Darstellung 630 und der Signale 640 erfolgen. Dazu können zunächst Bereichsgrenzen der Signale 640 bestimmt werden. Resultat der Umwandlung ist eine Fixkomma- Darstellung 650 der Signale 640. Im Rahmen der Umwandlung können Datentypen 655 für den Zustandsraum bestimmt werden.
Die Äquivalenz der Fixkomma-Darstellung 650 mit der Fließkomma-Darstellung 630 kann verifiziert werden. Außerdem kann bestimmt werden, ob die durchgeführte Umwandlung der Fließkomma-Darstellung 650 in die Fließkomma- Darstellung 630 ausreichend genau ist.
In einem Schritt 660 können mehrere zweite Funktionskomponenten 210 seria- lisiert werden. Dazu werden identische oder ausreichend ähnliche zweite Funktionskomponenten 210 identifiziert und durch eine einzige Funktionskomponente 210 mit einem Zustandsspeicher 250 und einer Steuerung zur sequen- ziel len Emulation der einzelnen Funktionskomponenten 210 ersetzt. Als Resultat dieses Schritts kann ein vollständig digitalisiertes System 665 erstellt werden, das eine Beschreibung einer digitalen Logik umfasst, die zur Emulation der analogen Schaltung 110 eingesetzt werden kann. Auch hier erfolgt optional eine Verifikation der Korrektheit der durchgeführten Umsetzung.
In einem Schritt 670 kann aus der Beschreibung des Systems 665 HDL-Code 675 (HDL: Hardware Description Language) erzeugt werden, der zur Konfiguration eines konkreten Bauelements mit konfigurierbarer digitaler Logik eingesetzt werden kann.
Obwohl die Erfindung im Detail durch Ausführungsbeispiele näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.
Unabhängig vom grammatikalischen Geschlecht eines hierin verwendeten bestimmten Begriffs sind Personen mit männlicher, weiblicher oder anderer Ge- schlechteridentität mit umfasst.

Claims

Patentansprüche
1. Verfahren (600) zum Emulieren einer vorbestimmten analogen Schaltung (110) mittels konfigurierbarer digitaler Logik, wobei das Verfahren (600) folgende Schritte umfasst:
- Unterteilen (615) der analogen Schaltung (110) in Funktionsblöcke (205, 210);
- Zuordnen (625) eines dedizierten Zustandsraums (635) in Form von Spannungen und/oder Strömen zu jedem Funktionsblock (205, 210);
- Bestimmen (625) von mathematischen Beschreibungen des elektrischen Verhaltens der Funktionsblöcke (205, 210) in den jeweiligen Zustandsräumen (635);
- Erzeugen (625) von Berechnungseinheiten (218), welche auf der Basis der mathematischen Beschreibungen eine digitale Ersatzschaltung der jeweiligen Funktionsblöcke (205, 210) bilden; und
- Bestimmen (660) von Beschreibungsdaten zur Konfiguration eines konfigurierbaren digitalen Logikbausteins derart, dass es Funktionsblöcke (205, 210) realisiert, die nach Art der analogen Schaltung (110) miteinander verbunden sind, wobei eine elektrische Verbindung zwischen zwei Funktionsblöcken (205, 210) durch eine stromgesteuerte Stromquelle (240) und eine spannungsgesteuerte Spannungsquelle (230) zwischen zwei korrespondierenden Berechnungseinheiten (218) modelliert wird, und eine elektrische Verbindung zwischen einem ersten und einem zweiten Funktionsblock (205, 210) der analogen Schaltung (110) durch eine Stromquelle (240) im ersten Funktionsblock (205), die auf der Basis eines Stroms im zweiten Funktionsblock (210) gesteuert wird, modelliert wird; sowie durch eine Spannungsquelle (230) im zweiten Funktionsblock (210), die auf der Basis einer Spannung im ersten Funktionsblock (205) gesteuert wird.
2. Verfahren (600) nach einem der vorangehenden Ansprüche, wobei Bereichsgrenzen für ein innerhalb einer Berechnungseinheit (218) vorliegen-
BERICHTIGTES BLATT (REGEL 91) ISA/EP des Signal bestimmt (645) werden; wobei eine Fixkomma-Darstellung für das Signal bestimmt wird; und wobei die Berechnungseinheit (218) das Signal als Fixkomma-Wert bestimmt.
3. Verfahren (600) nach einem der vorangehenden Ansprüche, wobei einander entsprechende Funktionsblöcke (210) der analogen Schaltung (110) bestimmt werden; wobei eine Berechnungseinheit (218) bestimmt (660) wird, die dazu eingerichtet ist, die einander entsprechenden Funktionsblöcke (210) sequenziell zu realisieren.
4. Verfahren (600) nach einem der vorangehenden Ansprüche, wobei die Schaltung (110) derart unterteilt wird, dass eine Grenze zwischen zwei Funktionsblöcken (205, 210) durch einen Knoten (215) verläuft, der im Betrieb der Schaltung (110) ein Signal mit möglichst wenigen spektralen Frequenzkomponenten trägt.
5. Verfahren (600) nach einem der vorangehenden Ansprüche, wobei die analoge Schaltung (110) digital steuerbar ist und ein digitaler Steuereingang der Schaltung (110) durch einen digitalen Steuereingang der konfigurierbaren digitalen Logik nachgebildet wird.l$Epj
6. Verfahren (600) nach einem der vorangehenden Ansprüche, wobei die konfigurierbare digitale Logik zusätzlich einen Analog-Digital-Wandler zur digitalen Bereitstellung eines analogen Werts der analogen Schaltung (110) emuliert.
7. Verfahren (600) nach einem der vorangehenden Ansprüche, wobei die Beschreibungsdaten in Konfigurationsdaten zur Konfiguration einer vorbestimmten programmierbaren digitalen Logik umgesetzt (670) werden, um die analoge Schaltung (110) mittels der programmierbaren digitalen Logik zu emulieren, SEP]
8. Verfahren (600) nach Anspruch 7, wobei die programmierbare digitale Logik auf der Basis der Konfigurationsdaten konfiguriert wird.
BERICHTIGTES BLATT (REGEL 91) ISA/EP
9. Vorrichtung zur Emulation einer vorbestimmten analogen Schaltung (110) mittels einer programmierbaren digitalen Logik, wobei die Vorrichtung folgendes umfasst:
- eine erste Einrichtung zur Unterteilung der analogen Schaltung (110) in Funktionsblöcke (205, 210), wobei jedem Funktionsblock (205, 210) ein dedizierter Zustandsraum (635) in Form von Spannungen und/oder Strömen zugeordnet ist;
- eine zweite Einrichtung zur Bestimmung von mathematischen Beschreibungen des elektrischen Verhaltens der Funktionsblöcke (205, 210) in den jeweiligen Zustandsräumen (635);
- eine dritte Einrichtung zur Erzeugung von Berechnungseinheiten (218), welche auf der Basis der mathematischen Beschreibungen eine digitale Ersatzschaltung der jeweiligen Funktionsblöcke (205, 210) bilden; und
- eine vierte Einrichtung zur Bestimmung von Beschreibungsdaten zur Konfiguration einer programmierbaren digitalen Logik derart, dass sie Funktionsblöcke (205, 210) realisiert, die nach Art der analogen Schaltung (110) miteinander verbunden sind und die Vorrichtung dazu eingerichtet ist, das Verfahren nach einem der vorhergehenden Ansprüche auszuführen.
10. Konfigurationsdaten zur Konfiguration einer programmierbaren digitalen Logik zur Emulation einer vorbestimmten analogen Schaltung (110), wobei die Konfigurationsdaten mittels eines Verfahrens (600) nach Anspruch 7 erstellt sind.
11. Anwendungsspezifische integrierte Schaltung, umfassend eine digitale Logik, die auf der Basis von Konfigurationsdaten nach Anspruch 10 konfiguriert ist.
12. Programmierbare digitale Logik, die mittels eines Verfahrens (600) nach Anspruch 8 zur Emulation einer vorbestimmten analogen Schaltung (110) konfiguriert ist.
BERICHTIGTES BLATT (REGEL 91) ISA/EP
13. FPGA, umfassend eine programmierbare digitale Logik nach Anspruch 12.
BERICHTIGTES BLATT (REGEL 91) ISA/EP
EP24736315.3A 2023-06-16 2024-06-07 Emulation einer analogen schaltung mittels programmierbarer digitaler logik Pending EP4699036A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP23179661.6A EP4478239A1 (de) 2023-06-16 2023-06-16 Emulation einer analogen schaltung mittels programmierbarer digitaler logik
PCT/EP2024/065732 WO2024256284A1 (de) 2023-06-16 2024-06-07 Emulation einer analogen schaltung mittels programmierbarer digitaler logik

Publications (1)

Publication Number Publication Date
EP4699036A1 true EP4699036A1 (de) 2026-02-25

Family

ID=86861890

Family Applications (2)

Application Number Title Priority Date Filing Date
EP23179661.6A Pending EP4478239A1 (de) 2023-06-16 2023-06-16 Emulation einer analogen schaltung mittels programmierbarer digitaler logik
EP24736315.3A Pending EP4699036A1 (de) 2023-06-16 2024-06-07 Emulation einer analogen schaltung mittels programmierbarer digitaler logik

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP23179661.6A Pending EP4478239A1 (de) 2023-06-16 2023-06-16 Emulation einer analogen schaltung mittels programmierbarer digitaler logik

Country Status (3)

Country Link
EP (2) EP4478239A1 (de)
CN (1) CN121532774A (de)
WO (1) WO2024256284A1 (de)

Also Published As

Publication number Publication date
CN121532774A (zh) 2026-02-13
EP4478239A1 (de) 2024-12-18
WO2024256284A1 (de) 2024-12-19

Similar Documents

Publication Publication Date Title
DE69225527T2 (de) Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung
DE102010043661A1 (de) Vorrichtung zum Testen und HIL-Simulator
DE69532307T2 (de) Ausdrucks-Propagierung für hierarchisches Netzlisten
EP3130970A1 (de) Verfahren zum verbinden einer eingabe/ausgabe-schnittstelle eines für die steuergerätentwicklung eingerichteten testgeräts
DE102004036813A1 (de) Verfahren zum Erzeugen eines Schaltungsmodells
DE102017113594A1 (de) Computerimplementiertes Verfahren zur Simulation einer elektrischen Gesamtschaltung
EP4068138B1 (de) Verfahren zur aufteilung von simulationsmodellen zwischen einem prozessor und einem fpga
EP3502974A1 (de) Verfahren zur realisierung eines neuronalen netzes
DE102012016610B4 (de) Echtzeit-Schaltungssimulation
DE102023132114A1 (de) Verfahren zum Erstellen und Bereitstellen eines FPGA Build Results eines FPGA-Modells
WO2024256284A1 (de) Emulation einer analogen schaltung mittels programmierbarer digitaler logik
DE102020131260A1 (de) Verfahren zur Durchführung eines Prüflaufs mit einem Prüfling
DE102008049110A1 (de) Verfahren und Vorrichtung zur Simulation eines Systems anhand einer Modellstruktur
EP4485095B1 (de) Verfahren zum test eines elektronischen steuergerätes mit einem simulator
DE112021001555T5 (de) Entwurf analoger Schaltungen
DE102019107817A1 (de) Verfahren zur Simulation eines dynamischen Systems
WO2023275348A1 (de) Simulator und verfahren zum betreiben eines simulators
EP1212691B1 (de) Rechnergestütztes verfahren zur parallelen berechnung des arbeitspunktes elektrischer schaltungen
AT508852B1 (de) Verfahren zum umschalten von heterogenen simulationsmodellen zur laufzeit
DE102024106131A1 (de) Verfahren zur modellbasierten Erstellung eines Bitstroms für die Konfiguration eines FPGA
DE112018002344T5 (de) Entwicklungsunterstützungsvorrichtung
DE19710463C2 (de) Verfahren zur automatischen Differentiation auf einem Rechner insbesondere zur Simulation elektronischer Schaltungen
EP4610807A1 (de) Verfahren zum testen eines submoduls eines modulsystems mit zumindest zwei submodulen mittels einer elektronischen recheneinrichtung, computerprogrammprodukt, computerlesbares speichermedium sowie elektronische recheneinrichtung
EP4687247A1 (de) Computerimplementiertes verfahren zur planung des schutzkonzepts eines elektrischen energieübertragungsnetzes, planungsanordnung und computerprogramm
DE102024118150A1 (de) Computerimplementiertes Verfahren zum Test eines elektronischen Steuergerätes mit einem Simulator und entsprechender Simulator

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20251121

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR