DE102011103861A1 - Funktionseinheit, Simulationssystem und Verfahren zur Simulation - Google Patents

Funktionseinheit, Simulationssystem und Verfahren zur Simulation Download PDF

Info

Publication number
DE102011103861A1
DE102011103861A1 DE102011103861A DE102011103861A DE102011103861A1 DE 102011103861 A1 DE102011103861 A1 DE 102011103861A1 DE 102011103861 A DE102011103861 A DE 102011103861A DE 102011103861 A DE102011103861 A DE 102011103861A DE 102011103861 A1 DE102011103861 A1 DE 102011103861A1
Authority
DE
Germany
Prior art keywords
simulation
functional unit
logic module
digital
clock
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.)
Ceased
Application number
DE102011103861A
Other languages
English (en)
Inventor
Anmelder Gleich
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE102011103861A priority Critical patent/DE102011103861A1/de
Publication of DE102011103861A1 publication Critical patent/DE102011103861A1/de
Ceased 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • 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]
    • G06F30/343Logical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Vorgeschlagen wird eine Funktionseinheit (4) zur Erzeugung digitaler Daten, um zusammen mit einer Simulationsvorrichtung (2) eine Simulation, insbesondere eine Simulation eines gemischt analog/digitalen Modells durchzuführen, umfassend: ein digitales Logikmodul (6) zur Verarbeitung von digitalen Operationen entsprechend der Beschreibung im Modell mit einer logischen Schaltung, wobei das Logikmodul über eine Taktung betreibbar ist, ferner eine Eingabeschnittstelle (3) zur Verbindung des Logikmoduls mit der Simulationsvorrichtung, sowie ein Register (5) zur Speicherung der Eingangsdaten, wobei das Register zur Anbindung an einen Kommunikationsbus mit der Eingabeschnittstelle verbunden ist. Um einen schnellen Simulationsablauf zu ermöglichen und gleichzeitig Kosten einsparen zu können, ist die Funktionseinheit so ausgebildet ist, dass die Taktung des Logikmoduls von der Simulationsvorrichtung kontrollierbar ist. Zudem werden ein Simulationssystem (1) und ein Verfahren zur Simulation vorgeschlagen.

Description

  • Die Erfindung betrifft eine Funktionseinheit zur Erzeugung digitaler Daten, um zusammen mit einer Simulationsvorrichtung eine Simulation, insbesondere eine Simulation eines analog/digitalen Modells durchzuführen, nach dem Oberbegriff des Anspruchs 1, ein Simulationssystem nach dem Oberbegriff des Anspruchs 14 sowie ein Verfahren zur Simulation nach dem Oberbegriff des Anspruchs 22.
  • Aus dem Stand der Technik sind einerseits Simulationsverfahren bekannt, die entweder nur sehr eingeschränkte Möglichkeiten zur digitalen Modellierung bieten, andererseits existieren Software-basierte Co-Simulationen, die ein hohes Maß an Genauigkeit und Komplexität bieten können, dafür jedoch regelmäßig sehr viel Rechenzeit benötigen. Bei einer Co-Simulation werden parallel einzelne Teile der Simulation mit verschiedenen Simulationswerkzeugen (z. B. Integratoren) simuliert, wobei deren Ergebnisse untereinander ausgetauscht bzw. weitergegeben werden. Das benötigte Rechnersystem zum Ausführen der Software erfordert in der Regel hohe Kapazitäten an Rechenleistung und ist demzufolge meist sehr teuer.
  • Ferner sind aus dem Stand der Technik Hardwareevaluationen bekannt, bei denen gewissermaßen physikalisch das zu analysierende Modell in Form eines ”Testaufbaus”, etwa einer Schaltung, aufgebaut wird. Digitale Teile des Modells können dabei durch sog. DSPs (Digitale Signalprozessoren) oder durch sog. FPGAs (englische Abkürzung für Field Programmable Gate Array) nachgebildet werden. Das FPGA wird dann so programmiert, wie es die Nachbildung des digitalen Teils erfordert. Zwar sind derartige Hardwareevaluationen regelmäßig schneller als die bereits angeführten Software-basierten Simulationen, jedoch wird es bei einer solchen Hardwareevaluation als nachteilig empfunden, dass deren Ergebnisse oft nicht exakt reproduzierbar sind und nicht alle Simulationsparameter vorher definiert werden können. Zudem verliert man regelmäßig an Präzision; auch kann die Simulation ohne weiteres nicht mehr abgeändert werden, da der Testaufbau selbst verändert werden müsste. Ferner kann eine Hardwareevaluation auch von Rauschen beeinflusst werden. Schließlich sind manche Systeme überhaupt nicht physikalisch im Sinne eines Testaufbaus realisierbar bzw. mit sehr hohen Kosten verbunden.
  • Aus der WO 2007/095574 A1 ist ein Verfahren zur Durchführung einer Simulation bekannt, bei dem in ein FPGA (Engl.: field programmable gate array) eine Simulationslogik implementiert wird.
  • Aufgabe der Erfindung ist es, eine Funktionseinheit zur Durchführung digitaler Rechenoperationen, ein Simulationssystem sowie ein Verfahren zur Simulation vorzuschlagen, welche einen schnellen Simulationsablauf ermöglichen und gleichzeitig kostengünstig angeboten werden können.
  • Die Aufgabe wird, ausgehend von einer Funktionseinheit, von einem Simulationssystem bzw. von einem Verfahren zur Simulation der eingangs genannten Art durch die Merkmale des Anspruchs 1, des Anspruchs 14 bzw. des Anspruchs 22 gelöst.
  • Durch die in den abhängigen Ansprüchen genannten Maßnahmen sind vorteilhafte Ausführungen und Weiterbildungen der Erfindung möglich.
  • Dementsprechend umfasst eine erfindungsgemäße Funktionseinheit zur Erzeugung digitaler Daten, um zusammen mit einer Simulationsvorrichtung eine Simulation, insbesondere eine Simulation eines gemischt analog/digitalen Modells durchzuführen, ein digitales Logikmodul zur Verarbeitung von digitalen Operationen entsprechend der Beschreibung im Modell mit einer logischen Schaltung, wobei das Logikmodul über eine Taktung betreibbar ist, eine Eingabeschnittstelle zur Verbindung des digitalen Logikmoduls mit der Simulationsvorrichtung und ein Register zur Speicherung der Eingangsdaten, wobei das Register zur Anbindung an einen Kommunikationsbus mit der Eingabeschnittstelle verbunden ist. Die Funktionseinheit zeichnet sich dadurch aus, dass sie so ausgebildet ist, dass die Taktung des Logikmoduls von der Simulationsvorrichtung kontrollierbar ist.
  • Damit kann die Lücke zwischen der reinen Software-basierten Simulation und der Hardwareevaluation geschlossen werden. Insbesondere ist die Erfindung auch im Bereich des Schaltungsdesigns anwendbar, in dem eine rasche Entwicklung zu verzeichnen ist. Immer komplexer werdende Schaltungen müssen nach dem Entwurf, gerade bei der ASIC-Entwicklung (engl. Abkürzung für: application-specific integrated circuit) verifiziert werden. Die vorliegende Erfindung bietet demzufolge ein Simulationswerkzeug, mit dem Schaltungsmodelle, auch solche höherer Komplexität, in der Entwicklungs- und Konzeptphase schnell simuliert werden können. Diese kann kostengünstiger als etwa Software-basierte Co-Simulationen sein, erfordert regelmäßig aber auch weniger aufwendige Rechnersysteme. Zudem ermöglicht die Erfindung eine schnellere Durchführung der Simulation, wobei das gesamte Modell ohne Einschränkung umgesetzt und simuliert werden kann. Insbesondere kann vorteilhafterweise Weise zumindest der Logikanteil, also der digitale Teil der Beschreibung des Modells, in Echtzeit (Engt.: Realtime) abgearbeitet werden.
  • Durch die erfindungsgemäße Funktionseinheit wird ein Logikmodul, das einen Logikschaltkreis umfasst, zur Durchführung digitaler Rechenoperationen zur Verfügung gestellt. Eine solche digitale Rechenoperation kann beispielsweise im einfachsten Fall auch eine UND- bzw. eine ODER-Verknüpfung darstellen. Das Modell selbst umfasst dabei einen analogen und einen digitalen Teil (Logikteil). Eine solche Simulation wird als Simulation in der Beschreibung eines gemischt analog/digitalen Modells (Engl.: mixed signal simulation) bezeichnet. Grundsätzlich ist es möglich, physikalische Modelle, Schaltungsmodelle oder dergleichen so zu beschreiben, dass diese einen analogen Teil (z. B. Integrationen zur Lösung von Differentialgleichungen), aber auch einen Digitalteil bestehend aus digitalen Rechenoperationen (Logikoperationen) umfasst.
  • Die Simulation kann dabei grundsätzlich auf einem Rechner, etwa einem PC, ausgeführt werden, der hier allgemein als Simulationsvorrichtung bezeichnet wird. Denkbar ist aber auch der Einsatz sämtlicher Computersysteme bis hin zu Großrechnern bzw. komplexeren Computerclustern. Die Erfindung sieht vor, dass Teile der Simulation, die aus Logikoperationen bestehen, statt vom Simulationsrechner in der Funktionseinheit zur Durchführung digitaler Rechenoperationen ausgeführt werden. Ferner umfasst die erfindungsgemäße Funktionseinheit eine Eingabeschnittstelle, über die schließlich eine Verbindung mit der Simulationsvorrichtung ermöglicht wird.
  • Die Eingabeschnittstelle ist zunächst mit einem Register bzw. einer Registerbank zur Speicherung der Eingangsdaten verbunden. Über die Eingabeschnittstelle können Daten an die Funktionseinheit übermittelt werden. Insbesondere werden digitale Daten bzw. Werte, die zur Verarbeitung digitaler Operationen im Logikmodul benötigt werden, im Register abgelegt und können sodann von dort ausgelesen werden. Zum Auslesen ist das Register wiederum mit dem digitalen Logikmodul verbunden, welches die Logikoperationen mittels der integrierten Logikschaltung ausführt.
  • Das entsprechende Simulationsmodell kann daher so gestaltet werden, dass Teile, die sich durch eine Beschreibung in einem Logiksystem eignen, ausgegliedert und in der Funktionseinheit verarbeitet werden. Die restliche Simulation kann in der Simulationsvorrichtung ablaufen und von den Vorteilen einer rechnerbasierten Simulation profitieren, insbesondere von deren Reproduzierbarkeit, von einer definierten Vorgabe der Simulationsparameter, von der Möglichkeit, die entsprechenden Simulationsparameter während des Simulationsvorgangs anzupassen bzw. abzuändern. Bei einer solchen, Softwarebasierten Simulation treten insbesondere auch keine Beeinflussungen durch Rauschen auf. Auch können sonstige parasitäre Einflüsse grundsätzlich vermieden werden, die etwa bei einer Hardwareevaluation auftreten können.
  • Digitale Teile der Simulation, welche mit Hilfe einer logischen Schaltung verarbeitet werden können, können also ausgegliedert und deren Ergebnisse nach der Verarbeitung im Logikmodul wieder zurück an die Simulationsvorrichtung gegeben werden. Insgesamt profitiert die Simulation dann davon, dass die entsprechenden logischen Operationen sehr schnell ablaufen können. Über die Eingabeschnittstelle werden die in der Funktionseinheit zu verarbeitenden Daten von der Simulationsvorrichtung an die Funktionseinheit übergeben und in der Registerbank bzw. dem Register abgelegt. Das Funktionsmodul liest aus dem Register die entsprechenden Daten aus und führt mit Hilfe seiner logischen Schaltung die entsprechende Berechnung durch. Die so erhaltenen Ergebnisse können zum Beispiel in einem Register zwischengespeichert werden, so dass diese erst bei Bedarf von der Simulationsvorrichtung ausgelesen werden, sie können aber auch direkt über eine Ausgabeschnittstelle wieder an die Simulationsvorrichtung zurückgegeben werden.
  • Zur Verarbeitung logischer Operationen ist das Logikmodul getaktet. Die Taktung des Logikmoduls ist von der Simulationsvorrichtung kontrollierbar. Die Simulationsvorrichtung übergibt Daten, insbesondere digitale Werte, an die Funktionseinheit, die schließlich im Logikmodul verarbeitet werden. Dadurch, dass die Taktung des Logikmoduls von der Simulationsvorrichtung kontrollierbar ist, kann die Verarbeitung im Logikmodul zeitlich synchron mit der Zeitachse des simulierten Analogmodells, d. h. zeitlich synchron mit der Simulation des analogen Teils der Beschreibung im Modell in der Simulationsvorrichtung ablaufen.
  • Die Taktung wird grundsätzlich in einem Taktgeber erzeugt. Denkbar ist auch, dass die Taktflanken direkt von der Simulationsvorrichtung erzeugt und dann an die Funktionseinheit übermittelt werden.
  • Eine typische Anwendung besteht z. B. in der Simulation eines zeitlichen Verlaufs eines physikalischen Vorgangs, d. h. es werden einzelne Zeitschritte berechnet. Im einfachsten Fall wird/werden dann in Abhängigkeit der einzelnen Zeitschritte jeweils eine oder mehrere Taktflanken erzeugt. Besondere Bedeutung erlangt diese Kontrolle der Taktung dann, wenn im Logikteil Funktionen ablaufen, die sich wesentlich schneller verändern als die Signale im simulierten Analogteil.
  • Bei einer besonders bevorzugten Ausführungsform der Erfindung ist das Simulationsmodul als FPGA (englische Abkürzung für field programmable gate array) ausgebildet. Derartige FPGA sind mittlerweile übliche Schaltungsbausteine aus der Elektrotechnik und Informationstechnik. Sie zeichnen sich insbesondere dadurch aus, dass sie üblicherweise frei programmierbar sind, wobei eine einmal vorgenommene, einprogrammierte Verschaltung, die eine bestimmte logischen Schaltung ergibt, durch eine Neuprogrammierung verändert werden kann. Zudem ermöglichen FPGA eine besonders schnelle Abarbeitung. Dadurch kann in vorteilhafter Weise für jedes entsprechende, zu simulierende Modell das FPGA, sofern nötig, neu programmiert werden. Ferner ist es denkbar, innerhalb eines einzigen Simulationsvorgangs das FPGA gegebenenfalls mehrmals umzuprogrammieren. Außerdem ermöglicht ein FPGA, dass dieses so programmiert wird, dass mehrere Logikschaltungen gleichzeitig dort realisiert sind und verwendet werden können. Zudem kann durch die Verwendung eines FPGA die logische Schaltung entsprechend dem Ablauf der Simulation des Modells der bisherigen Simulation erneut angepasst werden.
  • Ferner besteht auch die Möglichkeit, anstelle eines FPGA einen DSP (Abk. für digitalen Signalprozessor) zu verwenden.
  • Grundsätzlich ist es denkbar, nicht nur das Logikmodul, sondern auch weitere Bestandteile der Funktionseinheit bis hin zur gesamten Funktionseinheit als FPGA auszubilden oder in ein FPGA zu integrieren. Beispielsweise kann eine Speichereinheit wie ein Register aus logischen Schaltungen aufgebaut sein, z. B. im einfachsten Fall als so genanntes Flipflop zur Speicherung des Zustands 0 bzw. 1.
  • Um das FPGA zu programmieren bzw. umzuprogrammieren, ist bei einer Ausführungsvariante der Erfindung ein Programmiermodul zur Programmierung des Logikmoduls vorgesehen. Dieses Programmiermodul ist entweder über die Eingabeschnittstelle oder aber extern kontrollierbar. Es ist beispielsweise vorteilhaft, wenn die Simulationsvorrichtung die Programmierung des FPGA so vorgibt, dass im FPGA die Logikoperationen ausgeführt werden können, die gerade Ergebnisse liefern, welche anschließend in der weiteren Simulation des Analogteils des Modells benötigt werden. Denkbar ist auch, dass die Programmierung nur extern geändert werden kann. Dazu kann z. B. über eine Schnittstelle die Programmierung direkt an das FPGA übertragen werden.
  • Es ist vorteilhaft, eine Ausgabeschnittstelle vorzusehen, über die unter anderem die Ergebnisse der digitalen Operationen aus dem Logikmodul an die Simulationsvorrichtung übertragen werden können. Vorzugsweise sind die Ein- und Ausgabeschnittstelle als gemeinsame Schnittstelle ausgebildet.
  • Die Kontrolle der Taktung kann vorzugsweise über die Eingabeschnittstelle erfolgen. Diese Ausführungsform der Erfindung ist gerade dann vorteilhaft, wenn beispielsweise digitale Daten zur Verarbeitung von der Simulationsvorrichtung an die Funktionseinheit über die Eingabeschnittstelle übertragen werden; sodann kann im Anschluss auch die Taktung bzw. die Information, wie eine Taktung erfolgen soll, von der Simulationsvorrichtung über die Eingabeschnittstelle übertragen werden.
  • Es ist vorteilhaft, den Takt z. B. über einen Eingang, etwa über einen Eingangspin, an das Logikmodul übermitteln. Besonders bevorzugt ist allerdings ein Logikmodul, welches zwei oder mehr Eingangspins zur Übermittlung der Taktung aufweist. Ist das Logikmodul so programmiert, dass mehrere logische Schaltungen zur Verfügung stehen, so können diese unterschiedlich getaktet werden. Dies ermöglicht eine noch flexiblere Synchronisierung der Verarbeitung des Logikteils durch das Logikmodul an die Zeitachse des simulierten Analogteils.
  • Bei einer Weiterbildung der Erfindung ist der Taktgeber zur Taktung des Logikmoduls in der Funktionseinheit integriert. Möglich ist aber auch, dass über eine Schnittstelle lediglich die Taktflanken übermittelt werden. Die Taktung wird jedoch von der Simulationsvorrichtung kontrolliert, also selbst erzeugt oder aber der Taktgeber wird von der Simulationsvorrichtung gesteuert bzw. geregelt. Insbesondere ist es bei einer Weiterbildung möglich, dass der Taktgeber dazu ausgebildet ist, die Taktung in Abhängigkeit von der Simulationsvorrichtung, insbesondere von Ergebnissen der durch die Simulationsvorrichtung durchgeführten Simulation vorzunehmen, gegebenenfalls auch zu unterbrechen und/oder fortzusetzen. Ist der Taktgeber in der Funktionseinheit integriert, ermöglicht diese Maßnahme einen besonders flexiblen Einsatz der Funktionseinheit, da die Simulationsvorrichtung z. B. über Steuersignale den Takt kontrollieren kann und nicht selbst dazu ausgebildet sein muss, kompatible Taktflanken für das Logikmodul zu erzeugen.
  • Zudem können grundsätzlich bei einer Ausführungsform der Erfindung durch den Taktgeber auch Takte unterschiedlicher Dauer ausgegeben werden. Die Taktung wird dadurch in unmittelbarer Weise durch die Simulation bzw. durch die in der Simulationsvorrichtung durchgeführte Simulation bestimmt. Wenn es nötig ist, wird die Verarbeitung im Logikmodul unterbrochen. Ferner können Takte unterschiedlicher Länge vom Taktgeber ausgegeben werden.
  • Der Taktgeber kann grundsätzlich einen Takt liefern. Ferner ist es aber vorteilhaft, wenn der Taktgeber dazu ausgebildet ist, wenigstens zwei Takte zu erzeugen, gerade dann, wenn das Logikmodul mehr als einen Takteingang aufweist, sodass verschiedene Taktungen des Logikmoduls für verschiedene einprogrammierte Logikschaltungen möglich sind.
  • Als Ein- und Ausgabeschnittstelle sind grundsätzlich alle Arten von Bussystemen denkbar. Insbesondere sind sowohl serielle als auch parallele Bussysteme grundsätzlich möglich. Bei einer besonders vorteilhaften Weiterbildung der Erfindung ist als Bussystem ein Universal Serial Bus (USB) gewählt, also ein mittlerweile besonders weit verbreiteter Kommunikationsbus. Ein USB zeichnet sich insbesondere durch vergleichsweise hohe Datenübertragungsraten aus. Zudem kann gegebenenfalls auch die Stromversorgung über die USB-Schnittstelle erfolgen. Daneben besteht die Möglichkeit, PCI, PCIe, HDMI, Firewire, ATA/IDE, SATA oder dergleichen als Kommunikationsbus zu verwenden.
  • Grundsätzlich kann der Bus festverdrahtete Verbindungen bzw. Steckerverbindungen aufweisen. Immer häufiger gefordert sind jedoch drahtlose Verbindungen, sodass in diesem Fall die Funktionseinheit im Wesentlich ohne Kabelanbindung frei bewegbar ist.
  • Die Funktionseinheit ist bei einer weiteren Ausführungsform der Erfindung in eine bewegliche Steckereinheit integriert. Dabei kann es sich beispielsweise um eine kompakte, in einem Gehäuse untergebrachte Einheit handeln, die über eine Steckverbindung mit der Simulationsvorrichtung bzw. mit einer Schnittstelle verbunden werden kann. Es besteht ferner die Möglichkeit, die Funktionseinheit als Steckkarte auszubilden, die z. B. in der Simulationsvorrichtung, etwa in einem Rechner, auf einen Steckplatz (Slot) gesteckt wird.
  • Insbesondere ist es denkbar, eine die Funktionseinheit in einen USB-Stick zu integrieren. Es ist bereits seit langem üblich, Speichermedien, aber auch sonstige, an einen Rechner anschließbare Geräte, wie z. B. sog. Surfsticks zur Verbindung des Rechners mit dem Internet, in Form von USB-Sticks zu nutzen. USB-Sticks, nicht nur als Speichereinheiten, sondern auch für andere Zwecke zeichnen sich durch ihre Kompaktheit aus und können bequem gerade auch in Verbindung mit Laptops transportiert werden. Denkbar ist es auch, die Funktionseinheit in einer Art SD-Karte unterzubringen.
  • Wird als Logikmodul beispielsweise ein FPGA eingesetzt, ist es möglich, eine entsprechende Funktionseinheit sehr kompakt auszubilden, zumal bereits handelsübliche FPGA teilweise einschließlich Register sowie Taktgeber in einem einzelnen IC (englische Abkürzung für Integrierter Schaltkreis) integriert sein können. Ein solcher USB-Stick kann bequem transportiert werden und an praktisch allen Rechnersystemen eingesetzt werden. Eine USB-Schnittstelle kann dabei üblicherweise problemlos durch Standardtreiber angesteuert werden. Gerade dann, wenn es notwendig ist, eine Simulation beispielsweise nicht in einem Rechenzentrum, sondern vor Ort in einem Labor oder Ähnlichem durchzuführen, wird dies dadurch ermöglicht, dass für die Simulation beispielsweise ein Laptop eingesetzt wird und die Funktionseinheit etwa als USB-Stick in Verbindung mit dem Laptop eingesetzt wird.
  • Bei einer besonders bevorzugten Weiterbildung der Erfindung erfolgt die Stromversorgung der Fuktionseinheit über die Schnittstelle, wie dies z. B. bei USB der Fall sein kann. Die Funktionseinheit ist dann vorteilhafterweise mit Energie versorgt, sobald sie an die Simulationsvorrichtung angeschlossen wird und benötigt keine sonstige, eigene Spannungsquelle. Denkbar ist aber auch, dass eine eigene Stromversorgung der Funktionseinheit gewünscht ist, etwa beim Einsatz einer Drahtlosverbindung zur Simulationsvorrichtung.
  • Dementsprechend zeichnet sich ferner ein Simulationssystem zur Simulation, insbesondere eines gemischt analog/digitalen Modells dadurch aus, dass eine Simulationsvorrichtung zur Simulation des Analogteils in der Beschreibung des Modells und eine Funktionseinheit zur Erzeugung digitaler Daten vorgesehen sind. Die Simulationsvorrichtung weist eine Ein-/Ausgabeschnittstelle zur Anbindung an einen Kommunikationsbus auf, über welche sie mit der Funktionseinheit verbunden ist. Somit können die Vorteile einer derartigen Funktionseinheit, durch die mittels eines digitalen Logikmoduls die Verarbeitung von digitalen Operationen ermöglicht wird, zur Simulation eines gemischt analog/digitalen Modells in Zusammenarbeit mit einer Simulationsvorrichtung genutzt werden.
  • Die Simulationsvorrichtung ist in der Regel als Rechner ausgebildet, wobei der Rechner ein herkömmlicher PC bis hin zur Großrechenanlage/Rechencluster sein kann. Weiterhin kommen als Rechner aber auch so genannte PDA, Tablet-Computer, Smartphones, iPAD, iPhone oder dergleichen in Betracht. Der Rechner kann grundsätzlich auch als Mikrocontroller-DSP ausgebildet sein.
  • Die Analogrechnung umfasst sog. Zustandsvektoren, sowie Eingangs- und Ausgangsvektoren. Bei der Berechnung eines neuen Zeitschritts werden zunächst alle Eingangsvektoren aktualisiert und die Zustandswerte jeweils aufgrund der vorliegenden Daten neu berechnet. Als nächstes können aus der Summe aller vorliegenden Datenvektoren einzelne vordefinierte Datenelemente digitalisiert und über einen spezifischen Software-Treiber über die Schnittstelle an das digitale Modul übertragen werden. Dort werden diese Daten z. B. in der Registerbank abgelegt und liegen nunmehr als feste Eingangsgrößen des Logikmodells vor. Ähnlich wie im analogen Modell befindet sich sodann das digitale Modul in einem definierten Zustand, der sich aus den anliegenden Signalen aus der Registerbank sowie den inneren Zuständen des Modells zusammensetzt. Im nächsten Schritt werden beispielsweise vom Softwaretreiber des Analogmodells eine oder mehrere Taktflanken angefordert, die der Taktgeber physikalisch erzeugt und als sog. Clocksignal an das Logikmodul anlegt. Dies führt zu einer Aktualisierung der inneren Zustände des digitalen Modells. Insgesamt werden also bei der Simulation im Analogteil Zustandsvektoren berechnet.
  • Aus den Zustandsvektoren wiederum können digitale Werte gebildet werden. Im einfachsten Fall liegen diese digitalen Werte bereits als Einträge bzw. Elemente des Zustandsvektors vor. Sie können aber auch aus den Einträgen bzw. Elementen des Zustandsvektors errechnet werden. Beispielsweise könnte als Eintrag eines Zustandsvektors eines physikalischen Systems, z. B. eines rotierenden Körpers, dessen kinetische Energie vorliegen; benötigt wird als Wert jedoch die Winkelgeschwindigkeit, die bei Kenntnis weiterer Systemgrößen hieraus errechnet werden kann. Diese Größe wird dann als digitaler Wert in der Registerbank abgelegt, sodass diese aktualisiert wird. Beim nächsten Clocksignal kann dann eine Aktualisierung des Zustands des Logikmoduls erfolgen.
  • Die Taktung des Logikmoduls kann von der Simulationsvorrichtung kontrolliert werden. Die Simulationsvorrichtung kann daher Taktflanken bzw. Taktsteuersignale zur Steuerung des Taktes über die Eingabeschnittstelle an die Funktionseinheit senden.
  • Ferner kann bei einer Ausführungsform der Erfindung der Taktgeber dazu ausgebildet sein, wenigstens einen Takt zur Taktung des Logikmoduls zu erzeugen, wobei jeder Takt pro Aktualisierungsschritt mindestens eine Taktflanke zur Taktung des Logikmoduls umfasst. Das Logikmodul kann, wie bereits beschrieben, so ausgebildet sein, dass es mehrere logische Schaltungen enthält, welche mit unterschiedlichen Taktfrequenzen getaktet werden könne. Ferner können entsprechend so viele Taktflanken erzeugt werden, die für die Verarbeitung eines bestimmten Logikteils durch das Logikmodul notwendig sind. Auf diese Weise kann die Synchronisation der Verarbeitung des Logikteils gegenüber der Simulation des Analogteils verbessert werden.
  • Dementsprechend zeichnet sich ein Verfahren zur Simulation eines gemischt analog/digitalen Modells dadurch aus, dass ein entsprechendes Simulationssystem gemäß der Erfindung eingesetzt wird.
  • Insbesondere wird bei einer Ausführungsform des erfindungsgemäßen Simulationsverfahrens ermöglicht, dass die aus dem Logikmodul erhaltenen Ergebnisse die Parametrisierung der Simulation, und zwar während des Ablaufs der Simulation, beeinflussen.
  • Dazu zählen:
    • – Genauigkeitssteuerung
    • – Zeitsteuerung
    • – Parameter der simulierten Signalquellen
    • – Parameter der verwendeten Bauteilwerte oder Matrixkoeffizienten
    • – Auswahl einer bestimmten Matrix aus einer Matrixbank
    • – alle anderen im Modell oder in der Simulation verwendeten Größen
  • Dies wird dadurch ermöglicht, dass die Ergebnisse der Logiksimulation eine Information über die Zustände im Analogteil enthalten. Je nach Wahl der Modellbeschreibung und je nach Implementierung der (analogen) Simulation kann diese Information gezielt dazu benutzt werden, um das Analogmodell effizient und möglichst zielgerichtet abzuarbeiten. Eine Möglichkeit besteht z. B. darin, innerhalb einer sog. stückweise linearen Simulation von einem Subsystem in ein anderes Subsystem umzuschalten, wobei die Zustandsvariablen ihre Zustände beibehalten.
  • Die beschriebene Funktionseinheit sowie das beschriebene Simulationssystem können für verschiedenste Bereiche der Simulation einzusetzen. Zum einen können damit physikalische Systeme, die mit Hilfe eines Analogmodells beschrieben werden, simuliert werden. Ferner ist es denkbar, Schaltungsentwürfe damit zu testen. Es ist weiterhin denkbar, analoge Filter zu testen, aber auch den Entwurf digitaler Prototypen. Modellsysteme, welche als digitale Schaltung zu realisieren sind, können auf diese Weise getestet werden. Insbesondere kann auch eine Funktionseinheit bzw. eine Simulationssystem gemäß der Erfindung zum Design anwendungsspezifischer integrierter Schaltungen (englische Abkürzung: ASIC) verwendet werden. Ferner kann sich eine derartige Schaltung auch zum Analog-Digital-Prototyping eignen.
  • Ausführungsbeispiel
  • Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird nachstehend unter Angabe weiterer Vorteile näher erläutert.
  • Im Einzelnen zeigen
  • 1 eine schematische Darstellung eines Simulationssystems gemäß der Erfindung,
  • 2 eine schematische Darstellung der Zuordnung von Analog- und Digitalteil jeweils an die Simulationsvorrichtung und an die Funktionseinheit,
  • 3 eine schematische Darstellung eines Rechners (Simulationsvorrichtung) mit USB-Stick (Funktionseinheit) sowie
  • 4 eine schematische Gesamtdarstellung des Simulationssystems gemäß der Erfindung.
  • 1 zeigt ein Simulationssystem 1 mit einem Rechner 2, der über eine Schnittstelle 3 mit der Funktionseinheit 4 verbunden ist. Auf dem Rechner 2 läuft eine Simulation des Analogteils in der Beschreibung des Modells ab; die Ergebnisse der Simulation werden jeweils in Zustandsvektoren des Systems dargestellt. Ist die Simulation im Rechner 2 an einem Punkt angekommen, an dem digitale Operationen benötigt werden, um die Simulation fortsetzen zu können, werden digitale Werte aus den Einträgen der Zustandsvektoren generiert und über die Schnittstelle 3 an die Funktionseinheit 4 übergeben. Zunächst werden diese digitalen Werte in einer Registerbank 5 abgelegt. Für die Übermittlung der digitalen Werte sorgt ein auf dem Rechner 2 laufender Softwaretreiber. Der Zustand des Logikmoduls 6 setzt sich also aus den Informationen, die in der Registerbank 5 abgelegt wurden, sowie den inneren Zuständen des Modells zusammen.
  • Anschließend wird vom Softwaretreiber des Analogrechenmodells eine oder mehrere Taktflanken angefordert und ein Taktsteuersignal ebenfalls über die Schnittstelle 3 von der Simulationsvorrichtung 2 an den Taktgeber 7 übermittelt. Die Taktflanken werden vom Taktgeber physikalisch erzeugt und als Clocksignal an das FPGA 6 angelegt. Damit werden auch die inneren Zustände des digitalen Modells aktualisiert.
  • Aus dem Register 5 liest ein FPGA 6 die Daten entsprechend aus und übernimmt die digitale Logikverarbeitung. Die Taktung wird über einen Taktgeber 7 bestimmt. Der Taktgeber 7 wird also über die Schnittstelle 3 vom Rechner 2 kontrolliert. Die Taktvorgabe richtet sich jedoch unmittelbar nach der Simulation, das heißt, es muss nicht unbedingt eine gleichmäßige, regelmäßige Taktvorgabe erfolgen, sondern es ist auch denkbar, dass der Takt geändert oder unterbrochen wird.
  • Wurden die digitalen Operationen im FPGA 6 fertig gestellt, können diese direkt über die Leitung 8 und die Schnittstelle 3 an den Rechner 2 übergeben werden. Die Simulation im Rechner 2 wird dann unter Verwendung dieser Ergebnisse der digitalen Operationen fortgesetzt.
  • Das FPGA 6 bietet eine Reihe durch seine Programmierbarkeit eine Reihe von Möglichkeiten. Zudem können mehrere logische Schaltungen darin programmiert werden, sodass verschiedene Operationen gleichzeitig ablaufen können. Ferner ist es möglich, diese Operationen jeweils unterschiedlich zu takten. Die Programmierung kann grundsätzlich immer wieder geändert werden. Im Zuge mit der Übermittlung digitaler Werte sowie des Taktsteuerungssignals über die Schnittstelle 3 an die Funktionseinheit 4 könne also auch Programmieranweisungen zur Programmierung des FPGA 6 übergeben werden. Für die Programmierung ist das Programmiermodul 9 zuständig.
  • 2 zeigt im Grunde die gleiche schematische Darstellung, wie sie in 1 gezeigt ist. Ausgangspunkt ist das Modell M als Modellsystem, z. B. eines physikalischen Vorgangs. Dieses Modell M liegt als Beschreibung des physikalischen Vorgangs vor und umfasst einen Analogteil AM und einen Digitalteil DM aus der Beschreibung des Modells M. Je nach Wahl der Beschreibung kann das analoge Modell AM auch digitale Funktionen beinhalten und umgekehrt, d. h. auch im digitalen Modell DM können grundsätzlich analoge Funktionen nachgebildet werden. Der Rechner 2 führt die Simulation in einem Simulator 10 durch, der sich mit einem Software-Treiber 11 austauscht. Die Übermittlung von Digitalwerten, Taktsteuersignalen und ggf. Programmiersignalen findet über die Schnittstelle bzw. den Kommunikationsbus 3 statt.
  • 3 zeigt, wie ein Simulationssystem 201 ausgebildet sein kann, nämlich mit einem Laptop 202 als Rechner bzw. Simulationsvorrichtung, die über eine USB-Schnittstelle 203 als Kommunikationsbus mit einem USB-Stick 204 verbunden ist. Ein USB-Stick 204 ist sehr gut transportierbar und kann über den USB praktisch mit jedem Rechner verbunden werden.
  • In 4 ist eine schematische Darstellung der Zuordnung von Analog- und Digitalteil jeweils an die Simulationsvorrichtung und an die Funktionseinheit.
  • Im allgemeinsten Fall wird ein Modell simuliert, welches analoge Funktionen beinhaltet, etwa die Lösung bzw. die Integration einer Differentialgleichung, und digitale Operationen. Ein Beispiel aus der Elektrotechnik wäre ein Schaltnetzteil. Dieses umfasst analoge Funktionen, welche physikalisch die Energieumwandlung beschreiben, sowie Elemente zur Signalerfassung (Sensoren), ferner die dazugehörigen AD/DA-Wandler, die teilweise analoge Elemente darstellen. Die Regelungsalgorithmen, Steuerungskomponenten oder dergleichen werden in der Regel digital beschrieben, z. B. als sog. HDL-Modell in der Beschreibungssprache Verilog, VHDL oder System C. Grundsätzlich können jedoch analoge Funktionen ebenso durch digitale Operationen beschrieben werden. Die AD/DA-Wandler stellen im Sinne der Erfindung reine Datenumformungen dar, z. B. können grundsätzlich jeweils in der Simulation eine Gleitkommadarstellung (engl.: floating point) und im Digitalteil eine ganzzahlige Darstellung (engl.: integer) benötigt werden.
  • Bei der Simulation eines zeitlichen Ablaufs sind sog. Zustandsvektoren für jede Stützstelle, die einen Zustand des Modells bzw. des zu simulierenden Systems an einem gewissen Zeitpunkt beschreibt, zu berechnen. Die Analogrechnung aus der Beschreibung des gemischt analog/digitalen Modells wird dazu in der Simulationsvorrichtung durchgeführt.
  • Ferner kann anhand von Ergebnissen des Logikmoduls ausgewählt werden, welche Simulation gerade im Simulator durchgeführt werden soll. Diese Auswahl ist durch die Leitung schematisch dargestellt. Die Simulationsvorrichtung wiederum kontrolliert den Taktgeber, mit dem das Logikmodul getaktet wird. Der Takt wird also von der Simulation vorgegeben und starr mit der gerechneten Simulationszeitachse synchronisiert, wobei mehrere (phasensynchrone) Takte parallel erzeugt werden können. Pro Rechenschritt können für jeden Takt ein oder mehrere Taktflanken generiert werden.
  • Insgesamt sind die Vektoren, die an die Funktionseinheit über den Bus übertragen werden, dynamisch erzeugt und in ihrer zeitlichen Entwicklung von den im FPGA erzeugten Ergebnisvektoren abhängig. Am Ende eines Taktzyklus werden die Ergebnisvektoren ausgelesen und dem Solver als Signalvektor eingespeist. Ferner können, falls benötigt, auch zusätzliche Speicher aller Art zur Speicherung der Ergebnisvektoren verwendet werden.
  • Zusammenfassend kann also eine Simulation in einem Simulationssystem gemäß der Erfindung wie folgt beschrieben werden (vgl. 4): In allgemeinster Form wird ein beliebiges physikalisch technisches System durch die sogenannte Zustandsraumdarstellung repräsentiert: dx(t, x)dt = A(t, x)x(t) + B(t, x)u(t) + B'(t, x)u_dig(t) y(t) = C(t, x)x(t) + D(t, x)u(t) + D'(t, x)u_dig(t) y_dig(t) = C'(1, x)x(t)
  • A, B, C, D, B', D' sind mathematische Matrizen, die sich aus dem zu simulierenden Modell ergeben. x(t) ist der so genannte Zustandsvektor. Die Werte der Matrizen können dabei veränderbar sein in Abhängigkeit der simulierten Zeit t sowie in Abhängigkeit des aktuellen Arbeitspunkts der aus dem Zustandsvektor x(t) sowie den aktuellen Eingangsgrößen u(t) und u_dig(t) ergibt. Es ist zu beachten, dass alle Signale als vektorielle Signale zu verstehen sind. Weiter ist zu beachten, dass jede der Matrizen des Modells als Bank von unterschiedlichen Einzelmatrizen besteht, wobei die Simulationssteuerung zu jedem zu berechnenden Zeitpunkt eine gültige Matrix aus der Bank auswählt. Man spricht in diesem Zusammenhang von einem stückweise linearen System (engl.: piecewise linear system), da innerhalb eines Berechnungsintervalls jeweils eine (lineare) Matrix Gültigkeit hat. Solche stückweise linearen Systeme haben vor allem in der Leistungselektronik eine hohe Bedeutung.
  • Alle Signale und Berechnungen können zeitkontinuierlich als auch zeitdiskret erfolgen. Die zeitkontinuierlichen Rechnungen können dabei zwischen den so genannten ”major timesteps” (Zeitschritte an denen Ergebnisvariablen gespeichert werden, als auch ”minor timesteps” berechnet werden, beispielsweise um den Integrationsfehler zu minimieren. Bei solchen ”minor timesteps” wird üblicherweise der Zustand des Digitalteils des Modells als konstant angenommen.
  • Die Definition des Modells kann auf verschiedene Arten erfolgen: als Schaltbild oder Blockschaltbild oder auch als textuelle Eingabe beispielsweise als Netzliste. Der Digitalteil des Modells kann vorliegen als (hierarchischer) Schaltplan oder vorzugsweise als Beschreibung in einer so genannten Hochsprache oder HDL (hardware description language).
  • Das gesamte Simulationsmodell wird beschrieben bzw. setzt sich zusammen aus dem Analogteil (AM) und dem Digitalteil (DM).
  • Wichtig ist, dass sowohl der Analogteil des Modells als auch der Digitalteil vor der eigentlichen Simulation vorverarbeitet werden. Es werden Vorberechnungen durchgeführt. So werden beispielsweise aus einem Schaltplan die verschiedenen Systemmatrizen extrahiert. Dies geschieht normalerweise im Hintergrund als Teil des Simulationsprogramms. Dem gegenüber wird der Digitalteil mit Hilfe eines so genannten Synthesetools umgewandelt in eine Konfigurationsdatei, die dazu geeignet ist, in das FPGA geladen zu werden. Für diesen Synthesevorgang sind entsprechende Hilfsprogramme erforderlich.
  • Das eigentliche Simulationsverfahren erfolgt nun folgendermaßen (vgl. 4):
    Die Quellensignale Q sind als Teil der Modellbildung definiert. Sie können analoge als auch digitale Komponenten enthalten. Zum Simulationszeitpunkt 0 nehmen alle Quellensignale den Ausgangszustand ein. Weiter wird sowohl der analoge Zustandsvektor x(t) als auch der Zustand aller im digitalen Modell vorhandenen Zustände (Flipflops bzw. Register) entsprechend der Modellbeschreibung initialisiert. Nun wiederholt sich die folgende Berechnungsschleife so lange bis der Simulationslauf die gewünschte Endzeit erreicht hat.
    • – Aktualisieren des Zustandsvektors x(t),
    • – Berechnung des gemischt analog/digitalen Ausgabevektors y_dig(t),
    • – Umwandlung des Ausgabevektors y_din(t) in einen rein digitalen Signalvektor din(t),
    • – Übergabe von din(t) an den Softwaretreiber (SW-Treiber),
    • – Transfer von din(t) an die Ein-/Ausgabeschnittstelle (EA-Schnittstelle) durch den Software-Treiber,
    • – Übertragung über den Kommunikationsbus,
    • – Empfang von din(t) durch die Funktionseinheit,
    • – Speicherung von din(t) im Register,
    • – Übertragung einer Taktausgabeanforderung an die Funktionseinheit,
    • – Ausführen einer Taktfolge bestehend aus mindestens einer Taktflanke,
    • – Auslesen der Ausgabedaten dout(t) es Logikmoduls durch den SW-Treiber,
    • – Übertragung der Ausgabedaten dout(t) über den Kommunikationsbus,
    • – Empfang der Ausgabedaten durch den SW-Treiber,
    • – Umwandlung der rein digitalen Ausgabedaten in einen gemischt analog/digitalen Signalvektor u_dig(t),
    • – Ausgabe der Daten u_dig(t) an das Simulationsmodell,
    • – Aktualisierung des Quellensignals u(t) für den nächsten Zeitschritt,
    • – Ausführen des nächsten Zeitschritts.
  • Je nach Art der Implementierung des Simulators kann der Ablauf noch weitere Schritte enthalten, insbesondere kann der Simulator so genannte ”minor integration steps” ausführen, ohne dass das Logikmodul eingebunden wird, das heißt, die digitalen Signale werden als konstant angenommen.
  • Bezugszeichenliste
  • 1
    Simulationssystem
    2
    Rechner
    3
    Bus/Schnittstelle
    4
    Funktionseinehit
    5
    Registerbank
    6
    FPGA
    7
    Taktgeber
    8
    Ausgangsleitung
    9
    Programmiermodul
    10
    Simulator
    11
    Softwaretreiber
    12
    Logiksynthese
    201
    Simulationssystem
    202
    Laptop
    203
    USB
    204
    USB-Stick
    AM
    Analogteil
    DM
    Digitalteil
    M
    Modell
    Q
    Quellensignale
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • WO 2007/095574 A1 [0004]

Claims (23)

  1. Funktionseinheit (4) zur Erzeugung digitaler Daten, um zusammen mit einer Simulationsvorrichtung (2) eine Simulation, insbesondere eine Simulation eines gemischt analog/digitalen Modells durchzuführen, umfassend: – ein digitales Logikmodul (6) zur Verarbeitung von digitalen Operationen entsprechend der Beschreibung im Modell mit einer logischen Schaltung, wobei das Logikmodul über eine Taktung betreibbar ist, – eine Eingabeschnittstelle (3) zur Verbindung des Logikmoduls mit der Simulationsvorrichtung, – ein Register (5) zur Speicherung der Eingangsdaten, wobei das Register zur Anbindung an einen Kommunikationsbus mit der Eingabeschnittstelle verbunden ist, dadurch gekennzeichnet, dass die Funktionseinheit so ausgebildet ist, dass die Taktung des Logikmoduls von der Simulationsvorrichtung kontrollierbar ist.
  2. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass das Logikmodul als FPGA (6) oder als DSP ausgebildet ist.
  3. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass ein Programmiermodul (9) zur Programmierung des Logikmoduls vorgesehen ist, welches über die Eingabeschnittstelle oder extern kontrollierbar ist.
  4. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass eine Ausgabeschnittstelle (3) vorgesehen ist, wobei vorzugsweise die Eingabe- und Ausgabeschnittstelle als gemeinsame Schnittstelle ausgebildet sind.
  5. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Funktionseinheit dazu ausgebildet ist, dass die Taktung des Logikmoduls über die Eingabeschnittstelle kontrollierbar ist.
  6. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass das Logikmodul wenigstens einen Eingang zur Eingabe einer Taktung aufweist.
  7. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass ein Taktgeber (7) zur Taktung des Logikmoduls durch Erzeugung von Taktflanken vorgesehen ist, der von der Simulationsvorrichtung kontrollierbar ist.
  8. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass der Taktgeber dazu ausgebildet ist, wenigstens einen Takt zur Taktung des Logikmoduls zu erzeugen.
  9. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Ein- und Ausgabeschnittstelle (3) zur Anbindung an einen seriellen oder parallelen Kommunikationsbus ausgebildet ist, vorzugsweise an eines der folgenden Bussysteme: USB (203), PCI, PCIe, USB, HDMI, Firewire, ATA/IDE, SATA.
  10. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Funktionseinheit in eine bewegliche Einheit integriert ist, bei der die Ein- und Ausgabeschnittstelle zum Anschluss an die Simulationsvorrichtung als eine der folgenden Verbindungen ausgebildet ist: – eine festverdrahtete Verbindung – eine Steckerverbindung – eine drahtlose Verbindung.
  11. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Funktionseinheit in einen USB-Stick (204) integriert ist.
  12. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Ein- und Ausgabeschnittstelle eine Stromversorgung der Funktionseinheit umfasst,
  13. Funktionseinheit nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass eine separate Stromversorgung vorhanden ist, durch welche die Funktionseinheit bezüglich der Energieversorgung autark von der Simulationsvorrichtung betreibbar ist.
  14. Simulationssystem (1, 201) zur Simulation, insbesondere zur Durchführung einer Simulation eines gemischt analog/digitalen Modells, umfassend: – eine Simulationsvorrichtung (2, 202) zur Simulation des analogen Teils der Beschreibung im Modell, – eine Funktionseinheit nach einem der vorgenannten Ansprüche, wobei die Simulationsvorrichtung eine Ein- und Ausgabeschnittstelle zur Anbindung an einen Kommunikationsbus aufweist, über welche sie mit der Funktionseinheit verbunden ist.
  15. Simulationssystem nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Simulationsvorrichtung als Rechner, insbesondere als PC oder als Rechencluster oder als Mikrocontroller-DSP ausgebildet ist.
  16. Simulationssystem nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Ein- und Ausgabeschnittstelle zur Anbindung an eines der folgenden Kommunikationsbus-Systeme ausgebildet ist: USB, PCI, PCIe, USB, HDMI, Firewire, ATA/DIE, SATA.
  17. Simulationssystem nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Simulationsvorrichtung dazu ausgebildet ist, Zustandsvektoren eines analogen Modells zu berechnen.
  18. Simulationssystem nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Simulationsvorrichtung dazu ausgebildet ist, aus den in der Simulationsvorrichtung berechneten Zustandsvektoren digitale Werte zu bilden und die digitalen Werte über die Eingabeschnittstelle an die Funktionseinheit in einem Aktualisierungsschnitt zu übergeben, um sie in dem Register abzulegen.
  19. Simulationssystem nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Simulationsvorrichtung dazu ausgebildet ist, Taktflanken und/oder Taktsteuersignale zur Steuerung des Taktes über die Eingabeschnittstelle an die Funktionseinheit zu senden.
  20. Simulationssystem nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Simulationsvorrichtung dazu ausgebildet ist, den Taktgeber zu kontrollieren.
  21. Simulationssystem nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass der Taktgeber dazu ausgebildet ist, wenigstens einen Takt zur Taktung des Logikmoduls zu erzeugen, wobei jeder Takt pro Aktualisierungsschritt mindestens eine Taktflanke zur Taktung des Logikmoduls umfasst.
  22. Verfahren zur Simulation eines gemischt analog/digitalen Modells, dadurch gekennzeichnet, dass ein Simulationssystem nach einem der vorgenannten Ansprüche zur Durchführung der Simulation verwendet wird.
  23. Verfahren zur Simulation nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass folgende Verfahrensschritte umfasst sind: – Berechnung von Zustandsvektoren eines analogen Modells durch die Simulationsvorrichtung – Bildung digitaler Werte aus den Zustandsvektoren – Übermittlung der digitalen Werte an die Funktionseinheit – Ablage der digitalen Werte im Register – Übermittlung eines Taktsteuersignals an den Taktgeber – Auslesen des Registers durch das digitale Logikmodul – Verarbeitung der digitalen Werte mittels digitaler Operationen durch das Logikmodul, wobei das Logikmodul vom Taktgeber anhand des Taktsteuersignals getaktet wird – Übermittlung der Ergebnisse aus der Verarbeitung durch das Logikmodul an die Simulationsvorrichtung zur Fortsetzung der Simulation unter Berücksichtigung der Ergebnisse und unter Beeinflussung der Simulation durch die Ergebnisse, insbesondere durch Auswahl eines geeigneten Simulators zur Durchführung der Simulation bzw. durch Anpassung der Parametrisierung der laufenden Simulation.
DE102011103861A 2011-05-27 2011-05-27 Funktionseinheit, Simulationssystem und Verfahren zur Simulation Ceased DE102011103861A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102011103861A DE102011103861A1 (de) 2011-05-27 2011-05-27 Funktionseinheit, Simulationssystem und Verfahren zur Simulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102011103861A DE102011103861A1 (de) 2011-05-27 2011-05-27 Funktionseinheit, Simulationssystem und Verfahren zur Simulation

Publications (1)

Publication Number Publication Date
DE102011103861A1 true DE102011103861A1 (de) 2012-11-29

Family

ID=47140453

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011103861A Ceased DE102011103861A1 (de) 2011-05-27 2011-05-27 Funktionseinheit, Simulationssystem und Verfahren zur Simulation

Country Status (1)

Country Link
DE (1) DE102011103861A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052018A (zh) * 2017-12-13 2018-05-18 中国兵器装备集团自动化研究所 一种制导与控制组件轻量化处理方法及制导与控制组件
CN113219893A (zh) * 2021-02-21 2021-08-06 东莞市易硕技术有限公司 一种逻辑视觉运动控制器
EP4113352A1 (de) 2021-07-02 2023-01-04 Comet AG Verfahren zur verbesserung der digitalen signalverarbeitung in einem hochfrequenzsystem
EP4113574A1 (de) 2021-07-02 2023-01-04 Comet AG Ein verfahren zum maschinellen lernen einer erkennung von mindestens einer unregelmässigkeit in einem plasmasystem
WO2023275405A1 (en) 2021-07-02 2023-01-05 Comet Ag A method for machine learning a detection of at least one irregularity in a plasma system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143369B1 (en) * 2003-03-14 2006-11-28 Xilinx, Inc. Design partitioning for co-stimulation
WO2007095574A1 (en) 2006-02-17 2007-08-23 National Instruments Corporation Solver for simulating a system in real time on a programmable hardware element

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143369B1 (en) * 2003-03-14 2006-11-28 Xilinx, Inc. Design partitioning for co-stimulation
WO2007095574A1 (en) 2006-02-17 2007-08-23 National Instruments Corporation Solver for simulating a system in real time on a programmable hardware element

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KLUPSCH, STEFFEN: Entwurfsmethodik heterogener Systeme. Dissertation, Darmstadt, 2004, http://elib.tu-darmstadt.de/diss/000468, S. 1, 50 - 69. *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052018A (zh) * 2017-12-13 2018-05-18 中国兵器装备集团自动化研究所 一种制导与控制组件轻量化处理方法及制导与控制组件
CN113219893A (zh) * 2021-02-21 2021-08-06 东莞市易硕技术有限公司 一种逻辑视觉运动控制器
EP4113352A1 (de) 2021-07-02 2023-01-04 Comet AG Verfahren zur verbesserung der digitalen signalverarbeitung in einem hochfrequenzsystem
EP4113574A1 (de) 2021-07-02 2023-01-04 Comet AG Ein verfahren zum maschinellen lernen einer erkennung von mindestens einer unregelmässigkeit in einem plasmasystem
WO2023274878A1 (en) 2021-07-02 2023-01-05 Comet Ag A method for improving digital signal processing in a radio-frequency system
WO2023275405A1 (en) 2021-07-02 2023-01-05 Comet Ag A method for machine learning a detection of at least one irregularity in a plasma system
EP4242904A2 (de) 2021-07-02 2023-09-13 Comet AG Verfahren zum maschinellen lernen einer erkennung von mindestens einer unregelmässigkeit in einem plasmasystem

Similar Documents

Publication Publication Date Title
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
EP2765528B1 (de) Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit
EP2799983B1 (de) Flexible Aufteilung der I/O Kanäle einer Hardware Komponente
DE102011103861A1 (de) Funktionseinheit, Simulationssystem und Verfahren zur Simulation
DE10333087A1 (de) Verfahren zum automatischen Zerlegen von dynamischen Systemmodellen in Teilmodelle
EP2330469B1 (de) Verfahren und Entwicklungsumgebung zur Erzeugung eines ausführbaren Gesamtsteuerungsprogramms
DE112015002183T5 (de) Computerimplementiertes System und Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs
DE102008048480A1 (de) Systeme und Verfahren zur Auswahl einer CAE-Analyse-Lösungsvorrichtung mit einer passenden numerischen Genauigkeit in jeder einer Serie von hierarchisch zueinander in Beziehung stehenden technischen Simulationen
DE102017120016A1 (de) Verfahren zur Konfiguration eines zum Testen eines elektronischen Steuergeräts eingerichteten Testgeräts sowie Konfigurationssystem
DE102016102920A1 (de) Verfahren zur Konfiguration eines zum Testen eines elektronischen Steuergeräts eingerichteten Testgeräts
DE102022106423A1 (de) Verfahren zur Aufteilung von Simulationsmodellen zwischen einem Prozessor und einem FPGA
EP2899652B1 (de) Verfahren zur Einsatzoptimierung programmierbarer Logikbausteine in Steuerungsgeräten für Fahrzeuge
DE202016008563U1 (de) Konfigurationssystem zum Konfigurieren eines für das Testen eines Steuergeräts eingerichteten Testgeräts
EP2963541B1 (de) Implementierung einer Konstanten in FPGA-Code
DE102016118749A1 (de) Signalwiederherstellung in Schaltwerk-Schaltung
AT501880B1 (de) Speicherprogrammierbare steuerung
DE102021133835A1 (de) Verfahren und Anordnung zur partiellen Neuprogrammierung einer programmierbaren Gatteranordnung
DE102016107797A1 (de) Verfahren zur Konfiguration eines zum Testen eines elektronischen Steuergeräts eingerichteten Testgeräts
EP3142032B1 (de) Verfahren zum ändern der konfiguration eines programmierbaren logikbausteins
DE102019107817A1 (de) Verfahren zur Simulation eines dynamischen Systems
DE60003847T2 (de) Universelle vorrichtung sowie verfahren und werkzeuge zu ihrer verwendung
EP3001318A1 (de) Bestimmung von Signalen für Readback aus FPGA
EP3521949A1 (de) Vorrichtung zum simulieren einer gesteuerten maschine oder anlage sowie verfahren
DE102016120934A1 (de) Optimierte Erzeugung von Gesamtnetzliste und Bitstrom
EP1091280A2 (de) Schnittstellenumsetzer zum Anschluss an einen Hardware-Emulator

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20140214