DE112010004037T5 - Simulation method, system and program - Google Patents

Simulation method, system and program Download PDF

Info

Publication number
DE112010004037T5
DE112010004037T5 DE112010004037T DE112010004037T DE112010004037T5 DE 112010004037 T5 DE112010004037 T5 DE 112010004037T5 DE 112010004037 T DE112010004037 T DE 112010004037T DE 112010004037 T DE112010004037 T DE 112010004037T DE 112010004037 T5 DE112010004037 T5 DE 112010004037T5
Authority
DE
Germany
Prior art keywords
emulators
processor
peripheral
peripheral unit
computer
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
DE112010004037T
Other languages
German (de)
Inventor
Shuichi Shimizu
Hideaki Komatsu
Kohichi Kajitani
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112010004037T5 publication Critical patent/DE112010004037T5/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Abstract

Es wird eine V-PILS bereitgestellt, die es ermöglicht, die Reproduzierbarkeit eines Simulationsvorgangs zu erreichen und dabei eine sinnvolle Arbeitsgeschwindigkeit beizubehalten. Ein Peripherieeinheiten-Planer löscht die Beendigungsmerker aller Peripherieeinheiten-Emulatoren (setzt sie auf OFF (aus)), um dadurch deren parallelen Betrieb zu starten. Dann macht der Peripherieeinheiten-Planer auf der Grundlage der festgelegten Verarbeitungspausen-Zeitlage der einzelnen Peripherieeinheiten-Emulatoren einen der Peripherieeinheiten-Emulatoren ausfindig, für den am frühesten das Erreichen einer Verarbeitungspause geplant ist. Der gefundene Peripherieeinheiten-Emulator wird als Peripherieeinheit P bezeichnet. Im Falle, dass T eine Zeit der Verarbeitungspause der Peripherieeinheit P ist, fährt der Peripherieeinheiten-Planer mit der Ausführung von Prozessor-Emulatoren und Anlagensimulatoren bis zu einem Zeitpunkt der Zeit T fort. Der Peripherieeinheiten-Planer wartet auf das Setzen eines Beendigungsmerkers der Peripherieeinheit P. Als Reaktion auf das Setzen des Beendigungsmerkers der Peripherieeinheit P führt der Peripherieeinheiten-Planer eine Datensynchronisierung zwischen der Peripherieeinheit P, den Prozessor-Emulatoren und den Anlagensimulatoren durch.A V-PILS is provided that allows reproducibility of a simulation process while maintaining a meaningful working speed. A peripheral scheduler clears (sets to OFF) the termination flags of all peripheral unit emulators, thereby starting their parallel operation. Then, the peripheral unit scheduler locates one of the peripheral unit emulators for which the earliest arrival of a processing pause is scheduled, based on the specified processing pause timing of the individual peripheral unit emulators. The found peripheral emulator is referred to as a peripheral unit P. In the case where T is a processing-pause time of the peripheral unit P, the peripheral-unit scheduler proceeds to execute execution of processor-emulators and equipment simulators until a time T is reached. The peripheral unit scheduler waits to set a termination flag of the peripheral unit P. In response to the setting of the termination flag of the peripheral unit P, the peripheral unit scheduler performs data synchronization between the peripheral unit P, the processor emulators, and the equipment simulators.

Description

TECHNISCHES GEBIETTECHNICAL AREA

Die vorliegende Erfindung betrifft die Simulation eines physischen Systems eines Automobils oder Ähnlichem und betrifft insbesondere ein softwaregestütztes Simulationssystem.The present invention relates to the simulation of a physical system of an automobile or the like, and more particularly relates to a software-based simulation system.

HINTERGRUNDBACKGROUND

Im frühen 20. Jahrhundert, einem frühen Stadium der Entwicklung von Automobilen, bestand ein Automobil aus mechanischen Teilen wie einem Motor zur Bereitstellung von Antriebsleistung, einer Bremse, einem Gaspedal, einem Lenkrad, einem Getriebe und einer Federung, wies jedoch fast keine elektrischen Einrichtungen außer einer Zündkerze in einem Motor und Scheinwerfern auf.In the early 20th century, at an early stage of development of automobiles, an automobile consisted of mechanical parts such as a motor for providing drive power, a brake, an accelerator pedal, a steering wheel, a transmission and a suspension, but had almost no electrical equipment a spark plug in an engine and headlights on.

Es ist jedoch seit etwa den 1970er Jahren ein Bedarf entstanden, den Motor angesichts von Luftverschmutzung, Ölkrise und Ähnlichem wirksam zu steuern. Daher wurde begonnen, eine ECU zur Steuerung des Motors zu verwenden. Die ECU beinhaltet im Allgemeinen Folgendes: eine Eingangsschnittstelle, die so eingerichtet ist, dass sie zum Beispiel eine A/D-Umwandlung eines Eingangssignals von einem Sensor durchführt; eine logische Verarbeitungseinheit (ein Mikrocomputer), die so eingerichtet ist, dass sie ein digitales Eingangssignal entsprechend einer zuvor festgelegten Logik verarbeitet; und eine Ausgangsschnittstelle, die so eingerichtet ist, das sie ein Ergebnis der Verarbeitung durch die logische Verarbeitungseinheit in ein Signal zum Starten eines Aktors umwandelt.However, since the 1970's, there has been a demand to effectively control the engine in the face of air pollution, oil crisis and the like. Therefore, it has begun to use an ECU for controlling the engine. The ECU generally includes: an input interface configured to perform A / D conversion of an input signal from a sensor, for example; a logical processing unit (a microcomputer) configured to process a digital input signal according to a predetermined logic; and an output interface configured to convert a result of the processing by the logical processing unit into a signal for starting an actuator.

Bei modernen Autos machen elektronische Teile neben den mechanischen Teilen einen erheblichen prozentualen Anteil aus, und zwar nicht nur in Steuerungssystemen für den Motor, das Getriebe und Ähnliches, ein Antiblockiersystem (Anti-lock Braking System ABS), eine elektronische Stabilitätskontrolle (Electronic Stability Control ESC), eine Servolenkung, sondern auch für eine Scheibenwischersteuerung, ein Sicherheitsüberwachungssystem und Ähnliches. Die Entwicklungskosten der elektronischen Teile und der Software machen angeblich zwischen 25% und 40% der gesamten Entwicklungskosten aus. Bei einem Hybridfahrzeug machen die Entwicklungskosten 70% aus.In modern cars, in addition to the mechanical parts, electronic parts make up a significant percentage, not only in control systems for the engine, transmission and the like, anti-lock braking system (ABS), electronic stability control (ESC) ), a power steering, but also for a wiper control, a security monitoring system and the like. The development costs of electronic parts and software are said to amount to between 25% and 40% of the total development costs. In a hybrid vehicle, the development costs account for 70%.

Inzwischen enthält ein Automobil mechanische Teile (Anlagen) wie beispielsweise eine Antriebsvorrichtung wie ein Motor, eine Vorrichtung zur Leistungsübertragung, eine Fahrvorrichtung wie eine Lenkung, eine Bremsvorrichtung, ein Karosseriesystem und Ähnliches. Operationen der Anlagen werden durch Programme von 30 bis 70 oder mehr elektronischen Steuerungseinheiten (electronic control units ECUs) als Reaktion auf Eingaben von Sensoren (für Geschwindigkeit und Ähnliches) und Eingaben von einem Fahrer (durch ein Gaspedal oder Ähnliches) dynamisch festgelegt.Meanwhile, an automobile includes mechanical parts (equipment) such as a drive device such as a motor, a power transmission device, a traveling device such as a steering, a brake device, a body system, and the like. Operations of the plants are dynamically set by programs of 30 to 70 or more electronic control units (ECUs) in response to inputs from sensors (for speed and the like) and inputs from a driver (by an accelerator pedal or the like).

Jede ECU steuert im Grunde die Funktion einer einzigen Anlage. Zum Beispiel legt die Software einer Motorsteuerungseinheit Umfang und Zeitlagen der Kraftstoffeinspritzung in den Motor sowie die Zündung fest. Die Software kann zudem so beschaffen sein, dass sie die Kraftstoffeinspritzmenge in einem mit einem „Sport”-Modus ausgestatteten Luxusautomobil abhängig vom Modus erhöhen oder verringern kann. Die Software kann zudem die Motordrehzahlen durch automatisches Durchführen von Zwischengas an die Herunterschaltzeiten anpassen. In diesem Fall müssen die ECU des Motors und die ECU des Getriebes miteinander zusammenarbeiten. Eine integrierte elektronische Stabilitätskontrolle (ESC) der Fahrzeugposition zur Vermeidung von Schleudern des Automobils und Ähnlichem erfordert weiterhin eine Zusammenarbeit mit einer Bremsvorrichtung wie einer Bremse, so dass die ECU-Software für das System komplizierter wird. Durch die Beschaffenheit der Software kann eine derartige „Eingriffsfunktion” im Übrigen einfach beseitigt werden.Each ECU basically controls the function of a single system. For example, the software of an engine control unit sets the extent and timing of the fuel injection into the engine as well as the ignition. The software may also be adapted to increase or decrease the amount of fuel injection in a luxury automobile equipped with a "sport" mode depending on the mode. The software can also adjust the engine speeds to the downshift times by automatically applying intermediate gas. In this case, the ECU of the engine and the ECU of the transmission must work together. An integrated electronic stability control (ESC) of the vehicle position for preventing skidding of the automobile and the like further requires cooperation with a brake device such as a brake, so that the ECU software for the system becomes more complicated. Incidentally, due to the nature of the software, such an "intervention function" can be easily eliminated.

Unterdessen ist es für die völlige Ausschöpfung der Leistung der Anlage und deren sicheren Betrieb wichtig, die Anpassung und Tests von Betriebsparametern innerhalb des Konzeptions- und Entwicklungsprozesses der ECU-Software sorgfältig durchzuführen. Im Allgemeinen kostet es zu viel und dauert zu lang, die Anpassung und die Tests nach der Herstellung eines Prototyps eines wirklichen Automobils durchzuführen. Daher besteht ein starker Wunsch nach einem Verfahren, bei dem eine Steuerungseinheit und Anlagen vor der Prototypherstellung virtuell durch einen Computer ausgebildet und bei hoher Geschwindigkeit exakt betrieben werden, um deren Funktion zu prüfen. Eine solche ECU-Simulation wird mittels der folgenden vier Verfahren durchgeführt: (1) eine Modell-in-der-Schleife-Simulation (Model-in-the-loop Simulation MILS), die den Betrieb einer Steuerungseinheit logisch darstellt, indem solch eine Form als Zustandsmaschine verwendet wird; (2) eine Software-in-der-Schleife-Simulation (Software-in-the loop Simulation SILS), die einige Hardware-Einschränkungen wie die Datengenauigkeit für die logischen Operationen der Steuerungseinheit mit sich bringt; (3) eine virtuelle Prozessor-in-der-Schleife-Simulation (Virtual Processor-in-the-loop Simulation V-PILS), die einen ECU-Prozessor mit vollständig ausgebildeter Software emuliert; und (4) eine Hardware-in-der Schleife-Simulation (Hardware-in-the-loop Simulation HILS), bei der eine ECU-Platine eingebaut wird, um sie mit einer Echtzeitsimulation der Anlage zu verbinden. In dieser Reihenfolge nähert sich die Simulation immer mehr an einen Prototyp an.Meanwhile, to fully exploit the performance of the plant and its safe operation, it is important to carefully carry out the adjustment and testing of operating parameters within the design and development process of the ECU software. In general, it costs too much and takes too long to complete the customization and tests after making a prototype of a real automobile. Therefore, there is a strong desire for a method in which a control unit and equipment are virtually computer-designed and accurately operated at high speed prior to prototype fabrication to test their function. Such ECU simulation is performed by the following four methods: (1) Model-in-the-loop (MILS) simulation logically representing the operation of a control unit by such a form is used as a state machine; (2) Software-in-the-Loop Simulation (SILS) simulation, which introduces some hardware limitations such as data accuracy for the logical operations of the control unit; (3) a Virtual Processor-in-the-Loop Simulation (V-PILS) simulation that emulates an ECU processor with fully trained software; and (4) hardware-in-the-loop (HILS) simulation, which incorporates an ECU board to connect to a real-time simulation of the plant. In this order, the simulation approaches more and more to a prototype.

MILS und SILS werden hauptsächlich in einer Phase von Versuch und Irrtum verwendet, um eine grundlegende Leistungsfähigkeit jeder Anlage zu erhalten. MILS und SILS funktionieren jedoch auf unterschiedliche Weise aufgrund von Software, die für die ECU dann bereitgestellt werden muss, und sie können daher nicht zur Überprüfung eines Produktes verwendet werden. Im Gegensatz dazu verwendet V-PILS fertige ECU-Software und ist somit ein vielversprechendes Verfahren zum Erkennen und Beheben eines unerwünschten Vorgangs (bug) der Software. Es ist jedoch kein Fall bekannt, in dem ein reproduzierbarer Vorgang erreicht werden konnte. HILS wird immer zur abschließenden Funktionsprüfung der fertigen ECU-Platine verwendet. Selbst wenn ein Fehler erkannt wird, ist jedoch die Reproduzierbarkeit des Fehlers nicht sichergestellt. Somit kann HILS nicht für die Fehlersuche (debugging) verwendet werden.MILS and SILS are mainly used in a trial and error phase to maintain a basic performance of each plant. However, MILS and SILS work in different ways due to software that then has to be provided to the ECU and therefore can not be used to validate a product. In contrast, V-PILS uses ready-to-use ECU software, making it a promising way to detect and fix an unwanted bug in the software. However, no case is known in which a reproducible process could be achieved. HILS is always used for the final functional test of the finished ECU board. Even if an error is detected, however, the reproducibility of the error is not ensured. Thus, HILS can not be used for debugging.

Der Grund dafür, dass ein Vorgang nicht in einer HILS reproduziert werden kann, liegt nicht darin, dass die Konfiguration der HILS nicht perfekt wäre, sondern dass ECUs miteinander über ein Netzwerk wie ein CAN verbunden sind. Im Allgemeinen wird mit einem Netzwerk eine lose Verbindung von Modulen erreicht, und dadurch wird aufgrund eines geringen Zeitunterschieds zwischen Abläufen in den Modulen die Ankunftsreihenfolge von Daten verändert. Dies führt dazu, dass ein Systemverhalten im Ganzen schwanken könnte. Somit kann auch dann, wenn ein Prototyp eines tatsächlichen Automobils hergestellt wird, nicht davon ausgegangen werden, dass dessen Betrieb reproduziert werden kann. Der Grund hierfür ist derselbe wie für die Tatsache, dass eine Fehlersuche in einem parallelen und verteilten System sehr schwierig ist.The reason that a process can not be reproduced in a HILS is not that the configuration of the HILS is not perfect, but that ECUs are connected to each other via a network such as a CAN. In general, with a network, a loose connection of modules is achieved, and thereby the order of arrival of data is changed due to a small time difference between operations in the modules. This leads to a system behavior that could fluctuate as a whole. Thus, even if a prototype of an actual automobile is manufactured, it can not be considered that its operation can be reproduced. The reason for this is the same as for the fact that debugging in a parallel and distributed system is very difficult.

Wie oben beschrieben führt das einfache Verwenden der HILS-Konfiguration, d. h. das einfache Verwenden der Konfiguration mit einer losen Verbindung der ECU-Platine und der Anlagensimulatoren, nicht zur betrieblichen Konsistenz, auch wenn die Komponenten bei hoher Geschwindigkeit arbeiten. Um eine Reproduzierbarkeit der Vorgänge zu erreichen, ist eine Konsistenz der Kommunikationsreihenfolge erforderlich. Insbesondere V-PILS soll dieses Problem lösen.As described above, simply using the HILS configuration, i. H. simply using the configuration with a loose connection of the ECU board and the plant simulators, not to the operational consistency, even if the components are working at high speed. In order to achieve a reproducibility of the processes, a consistency of the communication sequence is required. In particular V-PILS should solve this problem.

1 zeigt eine typische V-PILS-Konfiguration gemäß einem herkömmlichen Konzept. Die Konfiguration beinhaltet mehrere ECU-Emulatoren, mehrere Anlagensimulatoren und einen globalen Planer (global scheduler) 110, der so eingerichtet ist, dass er die gesamten Abläufe plant. Es ist zu beachten, dass 1 der Einfachheit halber zwei ECU-Emulatoren 102, 104 und zwei Anlagensimulatoren 106, 108 zeigt, obwohl tatsächlich jedoch mehr als die zwei abgebildeten ECU-Emulatoren und Anlagensimulatoren bereitgestellt werden. 1 shows a typical V-PILS configuration according to a conventional concept. The configuration includes several ECU emulators, multiple plant simulators and a global scheduler 110 which is set up so that it plans the entire processes. It should be noted that 1 for simplicity, two ECU emulators 102 . 104 and two plant simulators 106 . 108 although, in fact, more than the two illustrated ECU emulators and plant simulators are provided.

Der ECU-Emulator 102 beinhaltet einen Prozessor-Emulator 102a und einen Peripherieeinheiten-Emulator 102b. Da der ECU-Emulator 104 dieselbe Konfiguration aufweist, wird auf eine detaillierte Beschreibung des ECU-Emulators 104 verzichtet.The ECU emulator 102 includes a processor emulator 102 and a peripheral emulator 102b , Since the ECU emulator 104 has the same configuration, upon a detailed description of the ECU emulator 104 waived.

Was den Anlagensimulator 106 betrifft, so ist er mit einem Taktumwandler 106a verbunden. Da der Anlagensimulator 108 dieselbe Konfiguration aufweist, wird auf eine detaillierte Beschreibung des Anlagensimulators 108 verzichtet. Bei dem Anlagensimulator 106 kann es sich zum Beispiel um einen Bremsensimulator und bei dem Anlagensimulator 108 um einen Motorensimulator handeln.What the system simulator 106 as far as he is concerned with a clock converter 106a connected. As the plant simulator 108 has the same configuration will become a detailed description of the system simulator 108 waived. In the plant simulator 106 For example, it can be a brake simulator and the system simulator 108 to trade an engine simulator.

Indessen sind die Frequenzen in 1 beispielhafte typische Betriebstaktfrequenzen. Dies bedeutet, dass der Prozessor-Emulator 102a bei einer relativ hohen Taktfrequenz von 80 MHz arbeitet. Im Gegensatz dazu handelt es sich bei dem Anlagensimulator 106 um einen Simulator für eine physischen Mechanismus, weshalb er bei einer relativ niedrigen Frequenz von 10 kHz arbeitet.Meanwhile, the frequencies are in 1 exemplary typical operating clock frequencies. This means that the processor emulator 102 works at a relatively high clock frequency of 80 MHz. In contrast, the system simulator 106 around a simulator for a physical mechanism, which is why he works at a relatively low frequency of 10 kHz.

Als Nächstes wird ein Betrieb in der Konfiguration in 1 unter Bezugnahme auf ein Zeitplandiagramm in 2 beschrieben. Jeder Anlagensimulator, der eine Simulation in einem festen Takt durchführt, wiederholt die Eingabe und Ausgabe bei zum Beispiel 10 kHz, d. h. in einem Zeitintervall von 100 μs. Bei der Eingabe in den Anlagensimulator handelt es sich hauptsächlich um ein Anweisungssignal von der Steuerungseinheit, und die Ausgabe des Anlagensimulators wird an einen Sensor gesendet.Next, an operation in the configuration in 1 with reference to a schedule diagram in 2 described. Each plant simulator, which performs a simulation in a fixed clock, repeats the input and output at, for example, 10 kHz, ie in a time interval of 100 μs. The input to the equipment simulator is mainly an instruction signal from the control unit and the output of the equipment simulator is sent to a sensor.

Jeder Peripherieeinheiten-Emulator entspricht einem E/A-Schnittstellenbestandteil des ECU-Emulators und verbindet den Anlagensimulator und den Prozessor-Emulator. Für den Peripherieeinheiten-Emulator kann üblicherweise (durchschnittlich) davon ausgegangen werden, dass er bei einer Auflösung von ungefähr 10 MHz arbeitet. Diese Frequenz ist höher als die des Anlagensimulators, jedoch niedriger als die des Prozessor-Emulators. Der Peripherieeinheiten-Emulator übermittelt dem Anlagensimulator ein Impulssignal.Each peripheral emulator corresponds to an I / O interface component of the ECU emulator and connects the plant simulator and the processor emulator. For the Peripheral Emulator usually (on average) it can be assumed that it operates at a resolution of approximately 10 MHz. This frequency is higher than the system simulator, but lower than the processor emulator. The peripheral unit emulator sends a pulse signal to the system simulator.

Jeder Taktumwandler ist zwischen dem Peripherieeinheiten-Emulator und dem Anlagensimulator angeordnet. Der Taktumwandler hat die Funktion, die Frequenz des Taktsignals von dem Peripherieeinheiten-Emulator zur Anpassung an den Anlagensimulator herabzusetzen und eine Frequenz eines Signals vom Anlagensimulator allmählich zu erhöhen, damit sie dem Peripherieeinheiten-Emulator entspricht.Each clock converter is located between the peripheral unit emulator and the plant simulator. The clock converter has the function of decreasing the frequency of the clock signal from the peripheral unit emulator to match the equipment simulator and gradually increasing a frequency of a signal from the equipment simulator to correspond to the peripheral unit emulator.

Jeder Peripherieeinheiten-Emulator überträgt oder empfängt Daten an den oder vom Prozessor-Emulator als Reaktion auf eine Lese/Schreib(L/S)-Anforderung und überträgt eine Unterbrechung (interrupt INT) an den Prozessor-Emulator. Insbesondere erfordert eine Funktion eines Netzwerks wie des CAN (Controller Area Network = Steuerungseinheitbereichsnetzwerk) für die gegenseitige Verbindung der Prozessoren einen Datenaustausch zwischen Peripherieeinheiten.Each peripheral emulator transmits or receives data to or from the processor emulator in response to a read / write (L / S) request and transmits an interrupt INT to the processor emulator. In particular, a function of a network such as the Controller Area Network (CAN) for the interconnection of the processors requires a data exchange between peripheral units.

Viele eingebettete Prozessoren arbeiten bei ungefähr 80 bis 100 MHz, so dass ihre Zeitauflösung ungefähr 10 Mal höher als die der Peripherieeinheiten ist. Jeder Prozessor führt Lese- und Schreibvorgänge an Daten von und an die entsprechende Peripherieeinheit durch und empfängt ein Unterbrechungssignal (INT) von der Peripherieeinheit.Many embedded processors operate at about 80 to 100 MHz, so their time resolution is about 10 times higher than that of the peripheral units. Each processor performs reads and writes to data from and to the corresponding peripheral unit and receives an interrupt signal (INT) from the peripheral unit.

Aus Sicht eines Aspekts stellt die Peripherieeinheit das Zentrum eines Systems dar, das die Anlage und den Prozessor miteinander sowie die Prozessoren untereinander verbindet. Der Prozessor führt die L/S-Vorgänge bei der höheren Zeitauflösung als derjenigen der Peripherieeinheit aus. Wenn jedoch ein Signal für einen beliebigen Vorgang an die Anlage oder einen anderen Prozessor übermittelt wird, wird es durch die Zeitauflösung der Peripherieeinheit gesteuert. Entsprechend wird im Falle, dass die Synchronisierungsverarbeitung an Sensordaten oder Ähnlichem im gesamten Simulationssystem mit der Zeitauflösung der Peripherieeinheit durchgeführt wird, die Reihenfolge oder die Verarbeitung von E/A-Daten und Unterbrechungen korrekt reproduziert (minimale Synchronisierung).From an aspect perspective, the peripheral unit is the center of a system that interconnects the plant and the processor with each other and the processors. The processor performs the L / S operations at the higher time resolution than that of the peripheral unit. However, when a signal is sent to the plant or other processor for any operation, it is controlled by the time resolution of the peripheral device. Accordingly, in the case where the synchronization processing is performed on sensor data or the like in the entire simulation system with the peripheral unit time resolution, the order or processing of I / O data and interrupts is correctly reproduced (minimum synchronization).

Im Allgemeinen kann das Verkürzen der Zeitintervalle der Synchronisierung zu korrekteren Operationen führen. Dies erhöht jedoch den Zeitaufwand für die Verarbeitung und erhöht somit die Gesamtverarbeitungszeit. Die minimale Synchronisierung stellt eine obere Grenze der Zeitauflösung bereit, die kein kürzeres Intervall erfordert.In general, shortening the time intervals of synchronization can result in more correct operations. However, this increases the time required for processing and thus increases the overall processing time. The minimum synchronization provides an upper bound on the time resolution that does not require a shorter interval.

Eine mögliche Lösung ist das Verlängern der Zeitintervalle der Synchronisierung bis zu einem größten gemeinsamen Teiler entsprechend dem in 3 gezeigten globalen Planer 110. Dadurch kann Korrektheit erzielt werden. Dies erhöht jedoch die Synchronisierungsverarbeitung, die zu unnötigen Zeitlagen durchgeführt wird, und erhöht somit stark den Aufwand bei der Synchronisierungsverarbeitung. Dadurch wird die Verarbeitungsrate des Simulationssystems merklich gesenkt.One possible solution is to extend the time intervals of the synchronization up to a largest common divisor according to the 3 shown global planner 110 , As a result, correctness can be achieved. However, this increases the synchronization processing performed at unnecessary timings, thus greatly increasing the overhead in the synchronization processing. This significantly reduces the processing rate of the simulation system.

Wenn Verarbeitungspausen der Peripherieeinheit nicht ausdrücklich verwendet werden können, ist selbst der größte gemeinsame Teller schwer zu kennen. Somit wird durch eine Lösung in Form einer Erhöhung der Zeitauflösung der Aufwand weiter vergrößert.If processing pauses of the peripheral device can not be explicitly used, even the largest common plate is difficult to know. Thus, the expense is further increased by a solution in the form of an increase in the time resolution.

Im Gegensatz hierzu werden im Falle, dass die Zeitauflösung verringert wird, viele E/A-Dateneinheiten und Unterbrechungen in denselben Zeitschritt einbezogen. Somit gehen Informationen über deren zeitliche Beziehungen untereinander verloren. Dies ist ein Zustand, in dem die Simulation nicht ordnungsgemäß ausgeführt wird, d. h. in dem keine Korrektheit erzielt wird. Insbesondere die Ausführungsreihenfolge der Unterbrechungsverarbeitung ist äußerst wichtig, um die Software wie beabsichtigt zu betreiben. Die wenigen vorhandenen V-PILS-Systeme weisen den inkorrekten Simulationszustand und ein ernsthaftes Problem dahingehend auf, dass Fehler der ECU-Software aufgrund des Verlusts der Reihenfolgeinformationen nicht korrekt gefunden werden.In contrast, if the time resolution is reduced, many I / O data units and interrupts are included in the same time step. Thus, information about their temporal relationships with each other is lost. This is a state in which the simulation is not executed properly, i. H. in which no correctness is achieved. In particular, the execution order of the interrupt processing is extremely important to operate the software as intended. The few existing V-PILS systems have the incorrect simulation state and a serious problem in that ECU software errors are not found correctly due to loss of order information.

In der veröffentlichten japanischen Patentanmeldung Nr. 2007-11720 wird das zu lösende Problem beschrieben, dass eine Struktur eines Systemsimulators bei Unterstützung einer komplexen Systemstruktur flexibel verändert werden muss. In der veröffentlichten japanischen Patentanmeldung Nr. 2007-11720 wird beschrieben, dass ein Systemsimulator drei Arten von Anweisungssimulatoren beinhaltet, die Simulatoren festlegen, von denen jeder eine Simulation eines Betriebs einer CPU, von Bus-Simulatoren, von denen jeder einen Busbetrieb simuliert, und von Peripherieeinheiten-Simulatoren, von denen jeder eine Peripherieeinheit simuliert, durchführt und mit Schnittstellen ausgestattet ist, durch welche die Simulatoren jedes Typs auf Simulatoren der anderen Typen zugreifen und deren Bedingungen ändern können. Diese bekannte Technik schlägt jedoch keine Vorgehensweise vor, mit der die Synchronisierung zwischen den Peripherieeinheiten und den CPUs optimiert wird.In the published Japanese Patent Application No. 2007-11720 describes the problem to be solved that a structure of a system simulator needs to be flexibly changed while supporting a complex system structure. In the published Japanese Patent Application No. 2007-11720 For example, it is described that a system simulator includes three types of instruction simulators that define simulators, each simulating CPU operation, bus simulators, each simulating bus operation, and peripheral unit simulators, each simulating a peripheral unit , performed and equipped with interfaces through which the simulators of each type Access simulators of other types and change their conditions. However, this known technique does not suggest a way to optimize the synchronization between the peripheral units and the CPUs.

DOKUMENT DES STANDES DER TECHNIKDOCUMENT OF THE PRIOR ART

PATENTDOKUMENTPatent Document

  • PATENTDOKUMENT 1: Veröffentlichte japanische Patentanmeldung Nr. 2007-11720 PATENT DOCUMENT 1: Published Japanese Patent Application No. 2007-11720

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

DURCH DIE ERFINDUNG ZU LÖSENDE PROBLEMEPROBLEMS TO BE SOLVED BY THE INVENTION

Eine Aufgabe der vorliegenden Erfindung besteht darin, eine V-PILS bereitzustellen, die es ermöglicht, die Reproduzierbarkeit eines Simulationsvorgangs zu erreichen und dabei eine sinnvolle Arbeitsgeschwindigkeit beizubehalten.An object of the present invention is to provide a V-PILS which makes it possible to achieve the reproducibility of a simulation process while maintaining a meaningful working speed.

MITTEL ZUR LÖSUNG DES PROBLEMSMEANS OF SOLVING THE PROBLEM

Die Erfindung wurde gemacht, um die oben genannten Probleme zu lösen. Gemäß der Erfindung gibt es vorbereitete Peripherieeinheiten-Emulatoren, Prozess-Emulatoren und einen Peripherieeinheiten-Planer, der so eingerichtet ist, dass er die Zeitlagen von Abläufen der gesamten Anlagensimulatoren steuert.The invention has been made to solve the above-mentioned problems. According to the invention, there are prepared peripheral unit emulators, process emulators and a peripheral unit scheduler that is arranged to control the timings of operations of the entire plant simulators.

Gemäß der Erfindung gibt es zum Ermöglichen der Steuerung durch den Peripherieeinheiten-Planer ebenfalls vorbereitete Beendigungsmerker (completion flags), denen jeweils jeder Peripherieeinheiten-Emulator, jeder Prozessor-Emulator und jeder Anlagensimulator entspricht.In accordance with the invention, to facilitate control by the peripheral unit scheduler, there are also prepared completion flags, each corresponding to each peripheral emulator, each processor emulator and each equipment simulator.

Jeder Peripherieeinheiten-Emulator weist Verarbeitungspausen auf, die spezifisch für den Peripherieeinheiten-Emulator sind. Üblicherweise wird der Peripherieeinheiten-Emulator in SystemC dargestellt. Somit kann durch Abtasten von dessen Quellcode durch ein Programm jede der spezifischen Verarbeitungspausen aufgefunden werden. Üblicherweise entspricht eine Zeile, die „wait ()” lautet, der Pause.Each peripheral emulator has processing pauses specific to the peripheral device emulator. Usually, the Peripheral Emulator is represented in SystemC. Thus, by scanning its source code by a program, each of the specific processing pauses can be found. Usually, a line that is "wait ()" corresponds to the pause.

Die somit aufgefundenen Informationen zu Verarbeitungspausen der Peripherieeinheiten-Emulatoren werden dem Peripherieeinheiten-Planer zugewiesen.The thus-found information on processing pauses of the peripheral unit emulators is assigned to the peripheral unit scheduler.

Nach den oben beschriebenen Vorbereitungen löscht der Peripherieeinheiten-Planer die Beendigungsmerker aller Peripherieeinheiten-Emulatoren (setzt sie auf OFF (aus)), um dadurch deren parallelen Betrieb zu starten. Dann sucht der Peripherieeinheiten-Planer auf der Grundlage der Informationen über die Verarbeitungspausen der einzelnen Peripherieeinheiten-Emulatoren einen der Peripherieeinheiten-Emulatoren, der laut dem Zeitplan am frühesten eine Verarbeitungspause erreicht. Der gefundene Peripherieeinheiten-Emulator wird als Peripherieeinheit P bezeichnet. Im Falle, dass T eine Zeit der Verarbeitungspause der Peripherieeinheit P ist, fährt der Peripherieeinheiten-Planer mit der Ausführung der Prozessor-Emulatoren und der Anlagensimulatoren bis zu einem Zeitpunkt der Zeit T fort.After the above-described preparations, the peripheral scheduler clears (sets to OFF) the termination flags of all peripheral unit emulators, thereby starting their parallel operation. Then, based on the information about the processing pauses of the individual peripheral unit emulators, the peripheral unit scheduler searches for one of the peripheral unit emulators which, according to the schedule, reaches a processing pause earliest. The found peripheral emulator is referred to as a peripheral unit P. In the case where T is a processing-pause time of the peripheral unit P, the peripheral-unit scheduler proceeds to execute the processor-emulators and the equipment simulators until a time T is reached.

Der Peripherieeinheiten-Planer wartet auf das Setzen eines Beendigungsmerkers der Peripherieeinheit P. Bei Erreichen der Verarbeitungspause setzt die Peripherieeinheit P den Beendigungsmerker auf „ON” (ein). Als Reaktion auf das Setzen des Beendigungsmerkers der Peripherieeinheit P führt der Peripherieeinheiten-Planer eine Datensynchronisierung zwischen der Peripherieeinheit P, den Prozessar-Emulatoren und den Anlagensimulatoren durch.The peripheral unit scheduler waits for setting of a completion flag of the peripheral unit P. Upon reaching the processing pause, the peripheral unit P sets the termination flag to "ON". In response to the setting of the completion flag of the peripheral unit P, the peripheral unit scheduler performs data synchronization between the peripheral unit P, the process emulators, and the equipment simulators.

Anschließend löscht der Peripherieeinheiten-Planer den Beendigungsmerker der Peripherieeinheit P (setzt ihn auf OFF (aus)), um den Betrieb der Peripherieeinheit P wieder aufzunehmen. Dadurch arbeiten alle Peripherieeinheiten-Emulatoren wieder parallel.Subsequently, the peripheral unit scheduler clears the completion flag of the peripheral unit P (sets it to OFF) to resume the operation of the peripheral unit P. As a result, all peripheral emulators work again in parallel.

Danach macht der Peripherieeinheiten-Planer auf der Grundlage der für die einzelnen Peripherieeinheiten-Emulatoren festgelegten Informationen über die Verarbeitungspausen einen der Peripherieeinheiten-Emulatoren ausfindig, der laut dem Zeitplan nachfolgend am frühesten eine Verarbeitungspause erreicht. Der Peripherieeinheiten-Planer betreibt das gesamte Simulationssystem entsprechend der Ablaufzeitplanung auf der Grundlage einer solchen Verarbeitungspausen-Zeitlage der Peripherieeinheiten-Emulatoren.Thereafter, the peripheral unit scheduler locates one of the peripheral unit emulators based on the information about the processing pauses set for the individual peripheral unit emulators, which, according to the schedule, arrives at the earliest one processing pause. Of the Peripheral Planner operates the entire simulation system according to the scheduling based on such processing pause timing of the peripheral unit emulators.

WIRKUNGEN DER ERFINDUNGEFFECTS OF THE INVENTION

Wie oben beschrieben bietet die vorliegende Erfindung die vorteilhafte Wirkung, dass im Simulationssystem, in dem die einzelnen Module miteinander über die Peripherieeinheiten Daten austauschen, durch die Ablaufzeitplanung auf der Grundlage der Verarbeitungspausen-Zeitlage der Peripherieeinheiten-Emulatoren die Reproduzierbarkeit der Verarbeitung sichergestellt wird. Darüber hinaus wird die Verarbeitung mit einer optimalen Granularität synchronisiert, die niedriger ist als die Granularität der minimalen Synchronisierung und bei der die Reproduzierbarkeit der Verarbeitung auf der Grundlage von Informationen über die Verarbeitungspausen der Peripherieeinheiten-Emulatoren sichergestellt werden kann. Somit wird eine Optimierung der Simulation erreicht.As described above, the present invention has the advantageous effect of ensuring the reproducibility of the processing in the simulation system in which the individual modules exchange data with each other via the peripheral units through the expiration scheduling based on the processing pause timing of the peripheral unit emulators. Moreover, the processing is synchronized with an optimum granularity lower than the granularity of the minimum synchronization and in which the reproducibility of the processing can be ensured on the basis of information about the processing pauses of the peripheral unit emulators. Thus, an optimization of the simulation is achieved.

KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

1 zeigt ein Blockschaltbild einer Konfiguration einer herkömmlichen V-PILS. 1 shows a block diagram of a configuration of a conventional V-PILS.

2 zeigt ein Zeitplandiagramm eines Betriebs des herkömmlichen V-PILS. 2 shows a timing diagram of an operation of the conventional V-PILS.

3 zeigt ein Zeitplandiagramm eines Betriebs des herkömmlichen V-PILS, das eine Synchronisierung bei niedrigster Granularität durchführt. 3 FIG. 12 is a timing diagram of an operation of the conventional V-PILS that performs synchronization at the lowest granularity. FIG.

4 zeigt ein Blockschaltbild einer Computer-Hardware-Konfiguration. 4 shows a block diagram of a computer hardware configuration.

5 zeigt ein Blockschaubild einer logischen Verbindungsbeziehung zwischen einem Peripherieeinheiten-Planer, Peripherieeinheiten-Emulatoren, Prozessor-Emulatoren und Anlagensimulatoren. 5 Figure 12 is a block diagram of a logical connection relationship between a peripheral device scheduler, peripheral device emulators, processor emulators, and equipment simulators.

6 zeigt ein Zeitplandiagramm eines Betriebs in einer Konfiguration eines Simulationssystems der vorliegenden Erfindung. 6 FIG. 12 is a timing diagram of an operation in a configuration of a simulation system of the present invention. FIG.

7 zeigt eine Abbildung von Funktionen von Beendigungsmerkern für die Peripherieeinheiten-Emulatoren. 7 Figure 12 shows a map of functions of termination flags for the peripheral unit emulators.

8 zeigt einen Ablaufplan eines Betriebs des Peripherieeinheiten-Planers. 8th shows a flowchart of an operation of the peripheral unit scheduler.

9 zeigt einen Ablaufplan eines Betriebs jedes Peripherieeinheiten-Emulators. 9 Fig. 10 shows a flowchart of an operation of each peripheral emulator.

10 zeigt eine Abbildung von Funktionen von Beendigungsmerkern für die Prozessor-Emulatoren. 10 Figure 12 shows an illustration of functions of termination flags for the processor emulators.

11 zeigt eine Abbildung von Funktionen von Beendigungsmerkern für die Anlagensimulatoren. 11 Figure 11 shows an illustration of functions of completion flags for the plant simulators.

12 zeigt einen Ablaufplan eines Betriebs jedes Anlagensimulators. 12 shows a flowchart of an operation of each plant simulator.

AUSFÜHRUNGSARTEN DER ERFINDUNGEMBODIMENTS OF THE INVENTION

Nachfolgend werden eine Konfiguration und eine Verarbeitung in einer Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben. In der folgenden Beschreibung sind gleiche Komponenten in den Zeichnungen mit den gleichen Bezugsziffern bezeichnet, sofern nicht anders angegeben. Darüber hinaus sind die folgende Konfiguration und die Verarbeitung lediglich als Ausführungsform beschrieben. Somit versteht es sich, dass der technische Umfang der vorliegenden Erfindung nicht als auf diese Ausführungsform beschränkt gedacht ist.Hereinafter, configuration and processing in an embodiment of the present invention will be described with reference to the drawings. In the following description, like components are denoted by the same reference numerals in the drawings, unless otherwise specified. In addition, the following configuration and processing are described only as an embodiment. Thus, it should be understood that the technical scope of the present invention is not intended to be limited to this embodiment.

Zunächst wird unter Bezug auf 4 zur Ausführung der vorliegenden Erfindung verwendete Computer-Hardware beschrieben. In 4 sind mehrere CPUs, CPU1 404a, CPU2 404b, CPU3 404c, ... und CPUn 404n mit einem Host-Bus 402 verbunden. Mit dem Host-Bus 402 ist weiter ein Hauptspeicher 406 zur Bearbeitung der CPU1 404a, der CPU2 404b, der CPU3 404c, ... und der CPUn 404n verbunden.First, referring to 4 Described for the execution of the present invention computer hardware. In 4 are several CPUs, CPU1 404a , CPU2 404b , CPU3 404c , ... and CPUn 404n with a host bus 402 connected. With the host bus 402 is still a main memory 406 for processing the CPU1 404a , the CPU2 404b , the CPU3 404c , ... and the CPUs 404n connected.

Indessen sind eine Tastatur 410, eine Maus 412, eine Anzeige 414 und ein Festplattenlaufwerk 416 mit einem E/A-Bus 408 verbunden. Der E/A-Bus 408 ist über eine E/A-Brücke (I/O bridge) 418 mit dem Host-Bus 402 verbunden. Die Tastatur 410 und die Maus 412 werden durch den Bediener für Aktionen verwendet. So gibt der Bediener zum Beispiel einen Befehl mittels der Tastatur 410 ein oder klickt mithilfe der Maus 412 auf ein Menü. Die Anzeige 414 wird gegebenenfalls zur Anzeige eines Menüs für Verarbeitungsvorgänge über eine grafische Benutzeraberfläche (GUI) verwendet.However, there is a keyboard 410 , a mouse 412 , an ad 414 and a hard drive 416 with an I / O bus 408 connected. The I / O bus 408 is via an I / O bridge (I / O bridge) 418 with the host bus 402 connected. The keyboard 410 and the mouse 412 are used by the operator for actions. For example, the operator gives a command by means of the keyboard 410 or click with the mouse 412 on a menu. The ad 414 may be used to display a menu for processing operations via a graphical user interface (GUI).

Das „IBM(R) System X” ist die vorzugsweise zum Zwecke der Ausführung der vorliegenden Erfindung zu verwendende Computer-Hardware. Wenn ein „IBM(R) System X” verwendet wird, handelt es sich zum Beispiel bei der CPU1 404a, der CPU2 404b, der CPU3 404c, ... und der CPUn 404n jeweils um „Intel(R) Xeon(R) und bei dem Betriebssystem um Windows (Marke) Server 2003. Das Betriebssystem ist vorzugsweise zur gleichzeitigen Ausführung mehrerer Aufgaben (multitask) in der Lage. Das Betriebssystem ist auf dem Festplattenlaufwerk 416 gespeichert und wird vom Festplattenlaufwerk 416 zu dem Zeitpunkt in den Hauptspeicher 406 geladen, an dem das Computersystem gestartet wird.The "IBM (R) System X" is the computer hardware preferably to be used for the purpose of practicing the present invention. For example, if an IBM (R) System X is used, it is CPU1 404a , the CPU2 404b , the CPU3 404c , ... and the CPUs 404n in each case by "Intel (R) Xeon (R) and in the operating system by Windows (brand) server 2003. The operating system is preferably capable of simultaneous execution of multiple tasks (multitask). The operating system is on the hard drive 416 is saved and removed from the hard disk drive 416 at the time in main memory 406 loaded on which the computer system is started.

Es ist wünschenswert, ein Mehrfachprozessorsystem zu verwenden, um die vorliegende Erfindung auszuführen. Das Mehrfachprozessorsystem sollte allgemein ein System sein, das einen Prozessor mit mehreren Kernen verwendet, die jeweils als Prozessoren fungieren, welche unabhängig Verarbeitungen durchführen können. Es sollte jedoch beachtet werden, dass jedes beliebige Mehrfachkernsystem mit Einzelprozessor, ein Mehrfachprozessorsystem mit Einzelkern oder ein Mehrfachprozessorsystem mit Mehrfachkernen verwendet werden kann.It is desirable to use a multiprocessor system to practice the present invention. The multiprocessor system should generally be a system that uses a multi-core processor, each functioning as a processor capable of independent processing. It should be noted, however, that any single processor multi-core system, a single core multiprocessor system, or a multi-core multiprocessor system may be used.

Hier ist die Computersystem-Hardware, die zur Ausführung der vorliegenden Erfindung verwendet werden kann, nicht auf das „IBM(R) System X” beschränkt, und jedes beliebige Computersystem kann verwendet werden, so lange es in der Lage ist, ein Simulationsprogramm der vorliegenden Erfindung auszuführen. Darüber hinaus ist das Betriebssystem nicht auf „Windows(R)” beschränkt und jedes beliebige Betriebssystem wie beispielsweise „Linux(R)” oder „Mac OS(R)” kann verwendet werden. Um darüber hinaus das Simulationsprogramm mit hoher Geschwindigkeit auszuführen, kann ein Computersystem wie das „IBM(R) System P” unter Verwendung von „AIX” (Marke) als Betriebssystem auf der Grundlage von „POWER 6” (Marke) verwendet werden.Here, the computer system hardware that can be used to practice the present invention is not limited to the "IBM (R) System X", and any computer system may be used as long as it is capable of a simulation program of the present invention To carry out invention. In addition, the operating system is not limited to "Windows (R)" and any operating system such as "Linux (R)" or "Mac OS (R)" can be used. Moreover, in order to execute the simulation program at a high speed, a computer system such as "IBM (R) System P" using "AIX" (trade name) can be used as the operating system based on "POWER 6" (trade mark).

Das Festplattenlaufwerk 416 speichert weiterhin Programme wie Prozessor-Emulatoren, einen Peripherieeinheiten-Planer, Peripherieeinheiten-Emulatoren, Taktumwandler und Anlagensimulatoren, die später beschrieben werden. Diese werden in den Hauptspeicher geladen, den einzelnen CPUs CPU1 bis CPUn als einzelne Stränge (threads) oder Prozesse zugewiesen und dabei ausgeführt. Somit beinhaltet das in 4 gezeigte Computersystem vorzugsweise eine ausreichende Anzahl von CPUs, denen die einzelnen Stränge der Prozessor-Emulatoren, des Peripherieeinheiten-Planers, der Peripherieeinheiten-Emulatoren, der Taktumwandler und der Anlagensimulatoren zugewiesen werden können.The hard disk drive 416 Also stores programs such as processor emulators, peripheral unit scheduler, peripheral unit emulators, clock converters, and plant simulators, which will be described later. These are loaded into main memory, assigned to individual CPUs CPU1 through CPUn as individual threads or processes, and executed. Thus, this includes in 4 The computer system preferably has a sufficient number of CPUs to which the individual strands of the processor emulators, the peripheral unit scheduler, the peripheral unit emulators, the clock converters, and the plant simulators can be assigned.

5 zeigt eine funktionelles Blockschaubild einer Zusammenarbeitsbeziehung zwischen den Prozessor-Emulatoren, dem Peripherieeinheiten-Planer, den Peripherieeinheiten-Emulatoren, den Taktumwandlern und den Anlagensimulatoren, die den einzelnen CPUs CPU1 bis CPUn zugewiesen sind und als einzelne Stränge oder Prozesse arbeiten. 5 FIG. 12 is a functional block diagram of a cooperation relationship between the processor emulators, the peripheral unit scheduler, the peripheral unit emulators, the clock converters, and the plant simulators assigned to the individual CPUs CPU1 through CPUn and operating as individual threads or processes.

Wie in 5 gezeigt, ist die vorliegende Erfindung dadurch gekennzeichnet, dass ein Peripherieeinheiten-Planer 502, bei dem es sich selbst um einen Strang oder Prozess handelt, Peripherieeinheiten-Emulatoren 504a, 504b, 504c, ... und 504z eng steuert, bei denen es sich um vom Peripherieeinheiten-Planer 502 unabhängige Stränge oder Prozesse handelt. Ein besseres Verständnis der Funktion wird weiterhin durch einen Vergleich mit der typischen herkömmlichen Konfiguration in 1 erreicht, in welcher der Peripherieeinheiten-Emulator in jedem ECU-Emulator enthalten ist und unabhängig von jedem anderen arbeitet.As in 5 As shown, the present invention is characterized in that a peripheral unit scheduler 502 which is itself a thread or process, peripherals emulators 504a . 504b . 504c , ... and 504Z closely controls, which are from the Peripherals Planner 502 independent strands or processes. A better understanding of the function will continue by comparison with the typical conventional configuration in 1 in which the peripheral unit emulator is included in each ECU emulator and operates independently of each other.

In 5 empfängt im Grunde jeder der Prozessor-Emulatoren 506a, 506b, 506c, ... und 506m, bei denen es sich um unabhängige Stränge oder Prozesse handelt, ein Unterbrechungssignal von einem entsprechenden Peripherieeinheiten-Emulator 504a, 504b, 504c, ... und 504z und arbeitet, während er damit Daten austauscht. Er wird jedoch ebenso durch den Peripherieeinheiten-Emulator 502 direkt gesteuert. Die Steuerungsmechanismen werden später beschrieben.In 5 Basically, each of the processor emulators receives 506a . 506b . 506c , ... and 506m which are independent threads or processes, an interrupt signal from a corresponding peripheral emulator 504a . 504b . 504c , ... and 504Z and works while exchanging data with it. However, it also gets through the peripheral unit emulator 502 directly controlled. The control mechanisms will be described later.

Im Gegensatz dazu tauschen die Anlagensimulatoren 508a, 508b, 508c, ... und 508n, bei denen es sich um unabhängige Stränge oder Prozesse handelt, Daten mit den Peripherieeinheiten-Emulatoren 504a, 504b, 504c, ... und 504z aus. Die Anlagensimulatoren 508a, 508b, 508c, ... und 508n beinhalten jeweils Module, welche als die in 1 gezeigten Taktumwandler dienen, obwohl die Module in 5 nicht abgebildet sind. Im Allgemeinen ist die Zahl der Betriebstakte eines Peripherieeinheiten-Emulators ungefähr 1000 Mal größer als die Zahl der Betriebstakte eines Anlagensimulators. Somit muss eine Schnittstellenanpassung durchgeführt werden, indem vom Peripherieeinheiten-Emulator in den Anlagensimulator eingehende Impulse ausgedünnt und vom Anlagensimulator zum Peripherieeinheiten-Emulator übermittelte Impulse verdichtet werden. Dies wird durch die Bereitstellung einer derartigen Taktumwandlerfunktion erreicht.In contrast, the plant simulators swap 508a . 508b . 508c , ... and 508N which are independent threads or processes, data with the peripheral unit emulators 504a . 504b . 504c , ... and 504Z out. The plant simulators 508a . 508b . 508c , ... and 508N each contain modules which are considered as in 1 Although the modules shown in FIG 5 not shown. In general, the number of operating cycles of a peripheral unit emulator is about 1000 times greater than the number of operating cycles of a system simulator. Thus, interface matching must be performed by thinning incoming pulses from the peripheral unit emulator into the system simulator and compressing pulses transmitted from the system simulator to the peripheral unit emulator. This is achieved by providing such a clock conversion function.

6 zeigt ein Zeitplandiagramm einer Übersicht von Vorgängen der Peripherieeinheiten-Emulatoren, Prozessor-Emulatoren und Anlagensimulatoren unter der Steuerung des Peripheriegerät-Planers. 6 Fig. 12 is a timing diagram showing an overview of operations of the peripheral unit emulators, processor emulators, and equipment simulators under the control of the peripheral device scheduler.

Jeder der Peripherieeinheiten-Emulatoren verfügt über Zeitinformationen, die den bestimmten Positionen von Verarbeitungspausen entsprechen. Um einen Wert für die Informationen zu erhalten, wird zum Beispiel Quellcode in SystemC zur Beschreibung des Peripherieeinheiten-Emulators durch ein Computerprogramm analysiert (parsed). Jede Pausenposition des Peripherieeinheiten-Emulators entspricht einer Zeile, die im Falle einer Beschreibung in SystemC „wait ()” lautet.Each of the peripheral unit emulators has time information corresponding to the particular locations of processing pauses. In order to obtain a value for the information, for example, source code in SystemC for parsing the peripheral unit emulator is parsed by a computer program. Each pause position of the peripheral unit emulator corresponds to a line which, in the case of a description in SystemC, is "wait ()".

Die somit erlangten, der Verarbeitungspausen-Position des Peripherieeinheiten-Emulators entsprechenden Zeitinformationen werden dem Peripherieeinheiten-Planer 502 im Voraus zugeordnet. Der Peripherieeinheiten-Planer 502 verwendet den Zeitwert der Verarbeitungspausen-Position, um eine Pausenzeitlage der Verarbeitung desjenigen Peripherieeinheiten-Emulators festzulegen, der einem beliebigen Zeitpunkt am nächsten liegt. Dann führt der Peripherieeinheiten-Planer 502 alle Prozessor-Emulatoren und alle Anlagensimulatoren, die auf die ermittelte Zeitlage abzielen, zu deren Synchronisierung aus.The thus obtained time information corresponding to the processing pause position of the peripheral unit emulator becomes the peripheral unit scheduler 502 assigned in advance. The Peripherals Planner 502 uses the time value of the processing pause position to set a pause timing of the processing of that peripheral emulator that is closest to any one time. Then leads the Peripherals Planner 502 all processor emulators and all plant simulators that target the determined timing to synchronize them out.

Zu diesem Zeitpunkt kann der Peripherieeinheiten-Planer 502 im Falle, dass die Verarbeitungspausen-Position des Peripherieeinheiten-Emulators zyklisch beobachtet wird, die Zeitlage der nächsten Verarbeitungspause berechnen, indem er einen Wert des für jeden Peripherieeinheiten-Emulator gespeicherten Zyklus mit einer ganzen Zahl multipliziert, wobei der Wert des Zyklus für jeden Peripherieeinheiten-Emulator im Voraus gespeichert wird. Im Allgemeinen wird jedoch die Verarbeitungspausen-Position des Peripherieeinheiten-Emulators, außer in sehr begrenzten Fällen, nicht zyklisch beobachtet.At this time, the peripheral device planner 502 in case the processing pause position of the peripheral unit emulator is cycled, calculate the next processing pause timing by multiplying a value of the cycle stored for each peripheral emulator with an integer, the value of the cycle being calculated for each peripheral device emulator. Emulator is saved in advance. In general, however, the processing pause position of the peripheral device emulator is not cycled except in very limited cases.

Daher führt der Peripherieeinheiten-Planer 502 die Verarbeitung des Auswählens eines Peripherieeinheiten-Emulators als Synchronisierungsquelle auf folgende Weise durch: Zum Beispiel tastet ein zuvor festgelegtes Pragramm Quellcode des Peripherieeinheiten-Emulators in SystemC ab und speichert dabei eine Tabelle, die Zeiten von Verarbeitungspausen auf der Grundlage des Peripherieeinheiten-Emulators enthält, in einem gemeinsam genutzten Speicher oder Ähnlichem. Diese Tabelle ist so ausgebildet, dass sie dem Peripherieeinheiten-Planer 502 den Zugriff auf die Tabelle ermöglicht. Dies ermöglicht es dem Peripherieeinheiten-Planer 502, die nächste Verarbeitungspause mittels Addition auf der Grundlage von Einträgen der Tabelle zu berechnen und als nächste Zielzeit eine Verarbeitungspause auszuwählen, die dem momentanen Ausführungszeitpunkt der Simulation am nächsten liegt.Therefore, the Peripherals Planner performs 502 For example, a predetermined schedule samples source code of the peripheral unit emulator in System C, and thereby stores a table containing times of processing pauses based on the peripheral unit emulator, in FIG a shared memory or the like. This table is designed to suit the peripheral device scheduler 502 allows access to the table. This allows the peripheral device scheduler 502 to calculate the next processing pause by means of addition on the basis of entries of the table and to select as the next target time a processing pause which is closest to the current execution time of the simulation.

In einem in 6 gezeigten Beispiel erkennt der Peripherieeinheiten-Planer 502 die einem Peripheriegerät 2 zugehörige Zeitlage T1 als erste Verarbeitungspausen-Zeitlage des Peripherieeinheiten-Emulators nach dem Start des Simulationssystems. Dann führt der Peripherieeinheiten-Planer 502 alle Prozessor-Emulatoren und alle Anlagensimulatoren aus, die auf die Zeitlage T1 abzielen.In an in 6 The example shows the peripheral unit planner 502 the time slot T 1 associated with a peripheral device 2 as the first processing pause time slot of the peripheral unit emulator after the start of the simulation system. Then leads the Peripherals Planner 502 all processor emulators and all plant simulators that target time T1.

Als Nächstes erkennt der Peripherieeinheiten-Planer 502 die einem Peripheriegerät n zugehörige Zeitlage T2 als nächste Verarbeitungspausen-Zeitlage eines Peripherieeinheiten-Emulators nach dem Start des Simulationssystems. Dann führt der Peripherieeinheiten-Planer 502 alle Prozessor-Emulatoren und alle Anlagensimulatoren aus, die auf die Zeitlage T2 abzielen.Next, the Peripheral Planner recognizes 502 the time slot T 2 associated with a peripheral device n as the next processing pause time slot of a peripheral unit emulator after the start of the simulation system. Then leads the Peripherals Planner 502 all processor emulators and all plant simulators targeting T2.

Der Peripherieeinheiten-Planer legt die Verarbeitungspausen-Zeitlage des Peripherieeinheiten-Emulators wie oben beschrieben seriell fest, indem er der Reihe nach die Zeitlage eines beliebigen Peripherieeinheiten-Emulators auffindet, welcher der Zeit der aktuell durchgeführten Simulation am nächsten liegt. Das Auffinden wird auf der Grundlage von Zeitinformationen der Verarbeitungspausen-Positionen aller Peripherieeinheiten-Emulatoren durchgeführt, die im Voraus im Peripherieeinheiten-Planer 502 gespeichert sind, beginnend mit dem Startzeitpunkt des Simulationssystems.The peripheral scheduler schedules the processing pause timing of the peripheral unit emulator serially, as described above, sequentially finding the timing of any peripheral emulator closest to the time of the currently performed simulation. The retrieval is performed on the basis of time information of the processing pause positions of all the peripheral unit emulators, in advance in the peripheral device scheduler 502 are stored, beginning with the start time of the simulation system.

7 zeigt eine schematische Abbildung eines Mechanismus zur Synchronisierungssteuerung, die durch den Peripherieeinheiten-Planer 502 durchgeführt wird. Insbesondere werden gemäß dieser Ausführungsform der Erfindung Beendigungsmerker 702a, 702b, 702c und ..., die jeweils den Peripherieeinheiten-Emulatoren 502a, 502b, 502c und ... entsprechen, in einer zuvor festgelegten Region des Hauptspeichers 406 bereitgestellt. Der Peripherieeinheiten-Planer 502 führt die Synchronisierungssteuerung über die Peripherieeinheiten-Emulatoren 502a, 502b, 502c und ... durch, indem solche Beendigungsmerker 702a, 702b, 702c und ... verwendet werden. 7 shows a schematic illustration of a mechanism for synchronization control, by the peripheral unit planner 502 is carried out. In particular, according to this embodiment of the invention, termination flags 702a . 702b . 702c and ... each one Peripheral units emulators 502a . 502b . 502c and ..., in a predetermined region of main memory 406 provided. The Peripherals Planner 502 performs the synchronization control via the peripheral unit emulators 502a . 502b . 502c and ... by putting such termination flags 702a . 702b . 702c and ... are used.

Als Nächstes wird die Verarbeitung des Peripherieeinheiten-Planers 502 unter Bezugnahme auf einen Ablaufplan in 8 beschrieben. In 8 initialisiert der Peripherieeinheiten-Planer 502 in Schritt 802 die Peripherieeinheiten-Emulatoren und veranlasst sie dann, die Verarbeitung zu starten. Die Initialisierung beinhaltet ein Zurücksetzen der Beendigungsmerker 702a, 702b, 702c und ..., die den Peripherieeinheiten-Emulatoren 502a, 502b, 502c und ... entsprechen, auf den Zustand OFF (aus).Next, the processing of the peripheral device scheduler 502 referring to a schedule in 8th described. In 8th initializes the peripheral device scheduler 502 in step 802 the peripheral unit emulators and then causes them to start processing. Initialization involves resetting the completion flags 702a . 702b . 702c and ... which are the peripheral unit emulators 502a . 502b . 502c and ... correspond to the OFF state.

Wie oben beschrieben greift der Peripherieeinheiten-Planer 502 in Schritt 804 auf die Tabelle zu, welche die Zeiten der Verarbeitungspausen auf der Grundlage des Peripherieeinheiten-Emulators enthält, und macht dadurch denjenigen der Peripherieeinheiten-Emulatoren ausfindig, von dem erwartet wird, dass er die Verarbeitungspause am frühesten erreicht.As described above, the peripheral device scheduler intervenes 502 in step 804 to the table containing the times of the processing pauses based on the peripheral unit emulator, thereby locating that of the peripheral unit emulators which is expected to reach the processing pause earliest.

In Schritt 806, führt der Peripherieeinheiten-Planer 502 alle Prozessor-Emulatoren und alle Anlagensimulatoren gleichzeitig und parallel aus, die auf einen Zeitpunkt zielen, der durch die in Schritt 804 gefundene früheste Zeitlage angezeigt wird. Dann wartet der Peripherieeinheiten-Planer 502 auf die Beendigung der Verarbeitung.In step 806 , performs the Peripherals Planner 502 all processor emulators and all plant simulators simultaneously and in parallel, aiming for a time equal to that in step 804 found earliest time slot is displayed. Then the peripheral device scheduler waits 502 on the completion of processing.

In Schritt 808 wartet der Peripherieeinheiten-Planer 502 bis der der in Schritt 804 gefundenen Zeitlage zugehörige Peripherieeinheiten-Emulator 804 die Verarbeitungspause erreicht.In step 808 waits for the peripheral device scheduler 502 until the one in step 804 found timing associated peripheral unit emulator 804 reached the processing break.

Wenn der Peripherieeinheiten-Emulator mit der in Schritt 804 als Verarbeitungspause gefundenen Verarbeitungspausen-Zeitlage die Verarbeitungspause erreicht, setzt der Peripherieeinheiten-Emulator dessen Beendigungsmerker auf ON (ein), um die Verarbeitung einmal anzuhalten. Die Verarbeitung wird später unter Bezugnahme auf einen Ablaufplan in 9 detailliert beschrieben. Der Peripherieeinheiten-Planer 502 wird über einen zwischen den Strängen stattfindenden Datenaustausch über das Erreichen unterrichtet. In Schritt 810 synchronisiert der Peripherieeinheiten-Planer 502 die E/A-Datensynchronisierung und eine Unterbrechung zwischen den Peripherieeinheiten-Emulatoren und den Prozessor-Emulatoren sowie zwischen den Peripherieeinheiten-Emulatoren und den Anlagensimulatoren. Nach Beendigung der Synchronisierung setzt der Peripherieeinheiten-Planer 502 die Beendigungsmerker des Peripherieeinheiten-Emulators, welcher der in Schritt 804 gefundenen Zeitlage entspricht, auf OFF (aus) und kehrt dann zu Schritt 804 zurück.If the Peripheral Emulator is in step with the 804 has reached the processing pause, the peripheral unit emulator sets its termination flag to ON to halt the processing once. The processing will be described later with reference to a flowchart 9 described in detail. The Peripherals Planner 502 is informed of the achievement via a data exchange between the strands. In step 810 the peripheral unit scheduler synchronizes 502 I / O data synchronization and an interruption between the peripheral unit emulators and the processor emulators, and between the peripheral unit emulators and the equipment simulators. After completing the synchronization, the peripheral device scheduler resets 502 the termination flags of the peripheral device emulator, which is the one in step 804 corresponds to the found timing, to OFF and then returns to step 804 back.

In Schritt 804 macht der Peripherieeinheiten-Planer 502 denjenigen der Peripherieeinheiten-Emulatoren ausfindig, der nachfolgend eine Verarbeitungspause am frühesten erreichen soll. Bei dem Peripherieeinheiten-Emulator, der nachfolgend die Verarbeitung am frühesten beenden soll, handelt es sich im Beispiel in 6 um die Peripherieeinheit n. In Bezug darauf wird die Zeitlage T2 ausgewählt.In step 804 makes the peripheral device planner 502 those of the peripheral unit emulators, which should subsequently reach a processing break earliest. The peripheral unit emulator which is to finish processing the earliest in the following is the example in FIG 6 with respect to the peripheral unit n. In relation to this, the timing T 2 is selected.

Als Nächstes wird ein Betrieb jedes Peripherieeinheiten-Emulators unter Bezugnahme auf einen Ablaufplan in 9 beschrieben. Bei diesem Vorgang wird davon ausgegangen, dass ein Beendigungsmerker im ursprünglichen Zustand auf ON (ein) gesetzt ist. Daher wartet in Schritt 902 der Peripherieeinheiten-Emulator auf das Löschen (OFF (aus)) des Beendigungsmerkers.Next, an operation of each peripheral emulator will be described with reference to a flowchart in FIG 9 described. This procedure assumes that a termination flag is set to ON in its original state. Therefore, wait in step 902 the peripheral unit emulator to clear (OFF) the completion flag.

Wenn der Peripherieeinheiten-Planer 502 den Beendigungsmerker löscht, fährt der Peripherieeinheiten-Emulator mit Schritt 904 fort, um eine für den Peripherieeinheiten-Emulator spezifische Verarbeitung durchzuführen. Nach Beendigung der Verarbeitung setzt der Peripherieeinheiten-Emulator den Beendigungsmerker (auf ON (ein)) und kehrt zu Schritt 902 zurück, um auf das Löschen (OFF (aus)) des Beendigungsmerkers zu warten.If the peripheral device planner 502 clears the termination flag, the peripheral emulator moves to step 904 to perform processing specific to the Peripheral Emulator. After completion of the processing, the peripheral unit emulator sets the termination flag (ON) and returns to step 902 back to wait for clear (OFF) of the completion flag.

Als Nächstes wird die Steuerung der Prozessor-Emulatoren durch den Peripherieeinheiten-Planer 502 beschrieben. Im Simulationssystem dieser Ausführungsform führen Prozessoren eines Host, d. h. die in 4 gezeigte CPU1, CPU2, ... und CPUn, Programme aus, die für Prozessoren für einen Gast entwickelt wurden, das bedeutet für ein tatsächliches System wie beispielsweise ein eingebettetes System eines Automobils. Zu diesem Zeitpunkt wird der Code, nachdem er in durch die Host-Prozessoren verwendbaren Binärcode umgewandelt wurde, unabhängig davon ausgeführt, ob Quellcode oder nur Binärcode für die Führungen vorhanden ist.Next, the control of the processor emulators by the peripheral device scheduler 502 described. In the simulation system of this embodiment, processors of a host, ie those in 4 CPU1, CPU2,... and CPUn, programs designed for processors for a guest, that is, for an actual system such as an embedded system of an automobile. At this time, after being converted to binary code usable by the host processors, the code is executed regardless of whether source code or only binary code is present for the guides.

Gemäß der vorliegenden Erfindung wird jedoch bei der Umwandlung des Codes an erforderlichen Stellen spezieller Code zur Synchronisierung mit dem Peripherieeinheiten-Planer 502 in den Binärcode eingefügt.However, according to the present invention, when the code is converted to required locations, special code is synchronized with the peripheral unit scheduler 502 inserted in the binary code.

Zuerst wird am Beginn eines Grundblocks oder am Ende einer Schleife des Codes, der umgewandelt wird, Code zur Aktualisierung und anschließenden Erhöhung von eine Prozessorzeit angebenden Daten (T_CPU) um einen Schritt eingefügt. In anderen Worten: Es wird eine bestimmte Konstante Const wie nachfolgend beschrieben zu T_CPU hinzuaddiert. Die Konstante wird zuvor auf der Grundlage einer Zeitanalyse des Gastcodes festgelegt. T_CPU + Const First, at the beginning of a basic block or at the end of a loop of the code being converted, code for updating and then increasing processor time indicating data (T_CPU) is inserted by one step. In other words, a certain constant Const is added to T_CPU as described below. The constant is previously determined based on a time analysis of the guest code. T_CPU + Const

Zudem wird der folgende Code zur Ermittlung der Notwendigkeit des Wartens in den durch den Host-Prozessor auszuführenden Code eingefügt, wobei die Ermittlung dadurch vorgenommen wird, dass alle 80 Zyklen eine Zeit bis zum Beenden der Simulation mit der Fortschrittszeit eines entsprechenden Host-Prozessors verglichen wird.In addition, the following code is inserted to determine the need for waiting in the code to be executed by the host processor, the determination being made by comparing the time to complete the simulation with the progress time of a corresponding host processor every 80 cycles ,

Figure 00250001
Figure 00250001

Es ist zu beachten, dass es sich bei „POST Completion_flag” um eine Verarbeitung des Setzens (auf ON (ein)) des Beendigungsmerkers (Completion_flag) handelt. Im gemeinsam genutzten Speicher ist vorzugsweise ein Bereich für einen Beendigungsmerker reserviert. Eine Schleife „while (T_CPU > T_Peripheral)” führt in Form von „SLEEP_TEMPORARY” Wartevorgänge durch, bis „T_CPU > T_Peripheral” als falsch festgestellt wird, nachdem der Peripherieeinheiten-Planer 502 oder Ähnliches einen im gemeinsam genutzten Speicher gespeicherten Wert von T_Peripheral überschrieben hat.It should be noted that "POST Completion_flag" is a processing of setting (ON) of the completion flag (Completion_flag). In the shared memory, an area for a termination flag is preferably reserved. A loop "while (T_CPU>T_Peripheral)" waits in the form of "SLEEP_TEMPORARY" until "T_CPU>T_Peripheral" is determined to be false after the peripheral device scheduler 502 or the like has overwritten a value of T_Peripheral stored in the shared memory.

10 zeigt eine Abbildung zur Erläuterung der zuvor genannten Verarbeitung mittels funktionaler Blöcke. Insbesondere legt der Peripherieeinheiten-Planer 502 eine Zeit von T_Peripheral 1002 auf der Grundlage der Zeitlage eines der Peripherieeinheiten-Emulatoren fest, der am frühesten eine Verarbeitungspause erreicht. Die Prozessor-Emulatoren 506a, 506b, 506c und ... weisen jeweils bestimmte Zeiten T_CPU1, T_CPU2, T_CPU3 und ... auf, die dem zuvor erwähnten T_CPU entsprechen. 10 Fig. 12 is a diagram for explaining the above-mentioned processing by means of functional blocks. In particular, sets the Peripherals Planner 502 a time of T_Peripheral 1002 based on the timing of one of the peripheral emulators that reaches a processing pause earliest. The processor emulators 506a . 506b . 506c and ... each have certain times T_CPU1, T_CPU2, T_CPU3, and ... corresponding to the aforementioned T_CPU.

Im Initialisierungsstadium löscht der Peripherieeinheiten-Planer 502 die Beendigungsmerker 1004a, 1004b, 1004c und ... der Prozessor-Emulatoren 506a, 506b, 506c und ... (setzt sie auf OFF (aus)). Zum Zeitpunkt, an dem T_CPU > T_Peripheral den Wert „true” (wahr) ergibt, geht jeder der Prozessor-Emulatoren 506a, 506b, 506c und ... aufgrund des zuvor erwähnten Codes in einen Wartezustand über.At the initialization stage, the peripheral device scheduler clears 502 the termination flags 1004a . 1004b . 1004c and ... the processor emulators 506a . 506b . 506c and ... (set it to OFF). At the time T_CPU> T_Peripheral returns true, each processor emulator goes off 506a . 506b . 506c and ... due to the aforementioned code into a wait state.

Um den Betrieb der Prozessor-Emulatoren 506a, 506b, 506c und ... wieder aufzunehmen, stellt der Prozessor-Emulator 502 ein neues T_Peripheral 1002 bereit, das der Bedingung T_CPU < T_Peripheral genügt, und löscht die Beendigungsmerker 1004a, 1004b, 1004c und ... der Prozessor-Emulatoren 506a, 506b, 506c und ... (setzt sie auf OFF (aus)).To the operation of the processor emulators 506a . 506b . 506c and ... resume, puts the processor emulator 502 a new T_Peripheral 1002 ready, which satisfies the condition T_CPU <T_Peripheral, and clears the termination flags 1004a . 1004b . 1004c and ... the processor emulators 506a . 506b . 506c and ... (set it to OFF).

Als Nächstes wird unter Bezugnahme auf 11 ein Synchronisierungsvorgang zwischen dem Peripherieeinheiten-Planer 502 und den Anlagensimulatoren 508a, 508b, 508c, ... und 508n mittels funktionaler Blöcke beschrieben. Ein Anlagensimulator soll anfänglich eine Aktualisierung durchführen, indem er mit einer Differenzialgleichung oder Ähnlichem eine genäherte Berechnung eines internen Zustands dadurch vornimmt, dass er die Zeit in kurze Intervalle aufteilt. Daher kann man festhalten, dass der Anlagensimulator in hohem Maße dafür geeignet ist, die Verarbeitung bis zu einem gegebenen Zeitpunkt durchzuführen.Next, referring to 11 a synchronization process between the peripheral device scheduler 502 and the plant simulators 508a . 508b . 508c , ... and 508N described by functional blocks. An equipment simulator should initially perform an update by making an approximate calculation of an internal state with a differential equation or the like by dividing the time into short intervals. Therefore, it can be said that the plant simulator is highly capable of performing the processing until a given time.

In 11 legt der Peripherieeinheiten-Planer 502 die Zeit von T_Peripheral 1002 auf der Grundlage der Zeitlage eines der Peripherieeinheiten-Emulatoren fest, der am frühesten eine Verarbeitungspause erreicht. Die Anlagensimulatoren 508a, 508b, 508c und ... weisen jeweils bestimmte Beendigungszeiten 1104a, 1104b, 1104c und ... auf. Im Initialisierungsstadium löscht der Peripherieeinheiten-Planer 502 die Beendigungsmerker 1102a, 1102b, 1102c und ... der Anlagensimulatoren 508a, 508b, 508c und ... (setzt sie auf OFF (aus)). Die Beendigungsmerker 1102a, 1102b, 1102c und ... sind vorzugsweise im gemeinsam genutzten Speicher reserviert.In 11 sets the peripheral device scheduler 502 the time of T_Peripheral 1002 based on the timing of one of the peripheral emulators that reaches a processing pause earliest. The plant simulators 508a . 508b . 508c and ... each have specific termination times 1104a . 1104b . 1104c and up. At the initialization stage, the peripheral device scheduler clears 502 the termination flags 1102a . 1102b . 1102c and ... the plant simulators 508a . 508b . 508c and ... (set it to OFF). The termination flags 1102a . 1102b . 1102c and ... are preferably reserved in shared memory.

Als Nächstes wird die Synchronisierungsverarbeitung des Peripherieeinheiten-Planers 502 unter Bezugnahme auf einen Ablaufplan in 12 detailliert beschrieben. In 12 wartet in Schritt 1202 jeder Anlagensimulator bis der Peripherieeinheiten-Planer eine neue Zeit T festlegt. Bei der Zeit handelt es sich um das in 11 abgebildete T_Peripheral 1002.Next, the peripheral unit scheduler synchronization processing 502 referring to a schedule in 12 described in detail. In 12 wait in step 1202 everyone System simulator until the peripheral unit scheduler sets a new time T. At the time it is the in 11 pictured T_Peripheral 1002 ,

In Schritt 1204 ermittelt der Anlagensimulator, ob my_time > T gilt oder nicht. Es ist zu beachten, dass es sich bei my_time um die Beendigungszeit 1104a, 1104b oder Ähnliches für den in 11 gezeigten Anlagensimulator handelt.In step 1204 The system simulator determines whether my_time> T or not. It should be noted that my_time is the completion time 1104a . 1104b or similar for the in 11 shown system simulator acts.

Wenn my_time > T nicht den Wert „true” (wahr) ergibt, fährt der Anlagensimulator mit Schritt 1206 fort, um mit einem gegebenen Verarbeitungsschritt fortzufahren. Dann erhöht der Anlagensimulator my_time und kehrt zu Schritt 1204 zurück.If my_time> T does not return true, the system simulator goes to step 1206 to proceed to a given processing step. Then the system simulator increases my_time and returns to step 1204 back.

Wenn der Anlagensimulator in Schritt 1204 feststellt, dass my_time > T den Wert „true” (wahr) ergibt, setzt der Anlagensimulator den Beendigungsmerker auf ON (ein) und kehrt zu Schritt 1202 zurück.If the plant simulator in step 1204 determines my_time> T is true, the facility simulator sets the completion flag to ON and returns to step 1202 back.

Unterdessen können in einer Ausführungsform die Beendigungsmerker des Anlagensimulators und des Prozessor-Emulators mithilfe eines Mechanismus ausgebildet werden, der „Zählsemaphor” (counter semaphore) genannt wird.Meanwhile, in one embodiment, the completion flags of the asset simulator and the processor emulator may be formed using a mechanism called a "counter semaphore".

Hierfür wird seitens des Peripherieeinheiten-Planers 502 folgender Code beschrieben:

Figure 00290001
Figure 00300001
This is done by the peripheral unit planner 502 the following code is described:
Figure 00290001
Figure 00300001

Es ist zu beachten, dass es sich bei n_plants um die Anzahl von Anlagensimulatoren handelt, die im Simulationssystem ausgeführt werden.

Figure 00300002
Figure 00310001
im Peripherieeinheiten-Planer weist jede der Aufgaben oder Stränge, deren Anzahl n_plants beträgt, an, seine Verarbeitung zu starten. Entsprechend diesem Code führt jede Anlage
Figure 00310002
aus, um die Startanweisung zu empfangen.It should be noted that n_plants is the number of plant simulators that are executed in the simulation system.
Figure 00300002
Figure 00310001
In the Peripheral Planner, each of the tasks or strands, the number of which is n_plants, starts to start its processing. Every system performs according to this code
Figure 00310002
to receive the startup instruction.

Unterdessen wird „sem_post(&sem_finish)” auf Seiten der Prozessor-Emulatoren und Anlagensimulatoren aufgrund des folgenden Codes im Peripherieeinheiten-Planer ausgesetzt:

Figure 00310003
Meanwhile, "sem_post (&sem_finish)" is exposed on the side of the processor emulators and equipment simulators due to the following code in the peripheral device scheduler:
Figure 00310003

Dies bedeutet, dass der Peripherieeinheiten-Planer auf eine Benachrichtigung über die Beendigung der Verarbeitung aller Peripherieeinheiten-Emulatoren und aller Anlagensimulatoren wartet. Es ist zu beachten, dass ein Abschnitt im in den Code des Prozessor-Emulators eingefügten Code, der „POST Completion_flag” lautet, „sem_post(&sem_finish)” im Prozessor-Emulator entspricht. Die Beendigungsmerker sind in 10 und 11 mehrfach abgebildet. Wenn jedoch der Zählsemaphor verwendet wird, kann ein einziger Beendigungsmerker verwendet werden.This means that the peripheral unit scheduler waits for notification of completion of processing of all peripheral unit emulators and all plant simulators. It should be noted that a portion in the code inserted in the processor emulator code that is "POST Completion_flag" corresponds to "sem_post (&sem_finish)" in the processor emulator. The termination flags are in 10 and 11 shown several times. However, if the counting semaphore is used, a single completion flag may be used.

Die spezifische Ausführungsform der vorliegenden Erfindung wurde im Vorhergehenden in Bezug auf Simulationssysteme für Automobile beschrieben. Für den Fachmann ist jedoch ersichtlich, dass die vorliegende Erfindung nicht auf eine solche spezifische Ausführungsform beschränkt ist und auf Simulationssysteme für allgemeine elektronische und mechanische Steuerungssysteme wie Simulationssysteme für Flugzeuge anwendbar ist.The specific embodiment of the present invention has been described above with respect to simulation systems for automobiles. However, it will be apparent to those skilled in the art that the present invention is not limited to such specific embodiment and is applicable to simulation systems for general electronic and mechanical control systems such as aircraft simulation systems.

Zudem ist die vorliegende Erfindung nicht auf eine Architektur oder Plattform eines bestimmten Computers beschränkt, sondern durch jede Plattform ausführbar, die mehrere Aufgaben gleichzeitig erledigen kann.In addition, the present invention is not limited to an architecture or platform of a particular computer, but is executable by any platform that can perform multiple tasks simultaneously.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

404404
Prozessorprocessor
502502
Peripherieeinheiten-PlanerPeripheral units Planner
504504
Peripherieeinheiten-EmulatorPeripheral units emulator
506506
Prozessor-EmulatorProcessor emulator
508508
Anlagensimulatorsystem simulator
702, 1004, 1102702, 1004, 1102
Beendigungsmerkercompletion flag

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • JP 2007-11720 [0025, 0025, 0026] JP 2007-11720 [0025, 0025, 0026]

Claims (15)

In einem Computer ausgeführtes Simulationssystem, das eine Simulation durchführt, wobei das Simulationssystem Folgendes umfasst: eine Vielzahl von auf dem Computer ausgeführten Prozessor-Emulatoren; eine Vielzahl von auf dem Computer ausgeführten Anlagensimulatoren; eine Vielzahl von auf dem Computer ausgeführten Peripherieeinheiten-Emulatoren, wobei jeder der Peripherieeinheiten-Emulatoren eine spezifische Verarbeitungspausen-Zeitlage besitzt und so eingerichtet ist, dass er Daten mit dem entsprechenden Prozessor-Emulator und dem entsprechenden Anlagensimulator austauschen kann. ein Mittel zum Auffinden eines der Peripherieeinheiten-Emulatoren, der die Verarbeitungspausen-Zeitlage am frühesten erreicht, sowie dessen Verarbeitungspausen-Zeitlage; und ein Mittel zum Synchronisieren der Vielzahl von Prozessor-Emulatoren und der Vielzahl von Anlagensimulatoren zu der gefundenen Zeitlage.A computer-implemented simulation system that performs a simulation, the simulation system comprising: a plurality of processor emulators executed on the computer; a plurality of machine simulators executed on the computer; a plurality of peripheral unit emulators executed on the computer, wherein each of the peripheral unit emulators has a specific processing pause timing and is adapted to exchange data with the corresponding processor emulator and the corresponding equipment simulator. means for finding one of the peripheral unit emulators that reaches the processing pause timing at earliest and its processing pause timing; and means for synchronizing the plurality of processor emulators and the plurality of plant simulators at the detected timing. Simulationssystem nach Anspruch 1, wobei der Computer ein System ist, das mehrere Aufgaben gleichzeitig erledigen kann, und die Vielzahl von Prozessor-Emulatoren, die Peripherieeinheiten-Emulatoren und die Vielzahl von Anlagensimulatoren als einzelne Stränge oder Prozesse des Mehrfachprozessorsystems ausgeführt werden.A simulation system according to claim 1, wherein the computer is a system that can do several tasks at the same time, and the plurality of processor emulators, the peripheral unit emulators, and the plurality of equipment simulators are executed as individual threads or processes of the multiprocessor system. Simulationssystem nach Anspruch 2, wobei der Computer ein Mehrfachprozessorsystem ist, und die Vielzahl von Prozessor-Emulatoren, die Peripherieeinheiten-Emulatoren und die Vielzahl von Anlagensimulatoren unterschiedlichen Prozessoren oder Kernen des Mehrfachprozessorsystems zugewiesen sind, um als einzelne Stränge oder Prozesse ausgeführt zu werden.A simulation system according to claim 2, wherein the computer is a multiprocessor system, and the plurality of processor emulators, the peripheral unit emulators, and the plurality of system simulators are assigned to different processors or cores of the multiple processor system to be executed as individual threads or processes. Simulationssystem nach Anspruch 2, wobei das Mittel zum Synchronisieren der Vielzahl von Prozessor-Emulatoren und der Vielzahl von Anlagensimulatoren in einem Speicher des Computers reserviert ist und die Synchronisierung durch das Setzen von Beendigungsmerkern erreicht, die jeweils für die Vielzahl von Prozessor-Emulatoren und die Vielzahl von Anlagensimulatoren bereitgestellt werden.The simulation system of claim 2, wherein the means for synchronizing the plurality of processor emulators and the plurality of plant simulators is reserved in a memory of the computer and achieves the synchronization by setting completion flags respectively for the plurality of processor emulators and the plurality of processor emulators provided by plant simulators. Simulationssystem nach Anspruch 4, wobei die Beendigungsmerker mittels eines Zählsemaphors ausgebildet sind.A simulation system according to claim 4, wherein the termination flags are formed by means of a counting semaphore. In einem Simulationscomputer ausgeführtes Verfahren zum Durchführen von Simulationen, wobei das Simulationsverfahren folgende Schritte umfasst: Ausführen einer Vielzahl von Prozessor-Emulatoren auf dem Computer; Ausführen einer Vielzahl von Anlagensimulatoren auf dem Computer; Ausführen einer Vielzahl von Peripherieeinheiten-Emulatoren auf dem Computer, wobei jeder der Peripherieeinheiten-Emulatoren eine bestimmte Verarbeitungspausen-Zeitlage besitzt und so eingerichtet ist, dass er Daten mit dem entsprechenden Prozessor-Emulator und dem entsprechenden Anlagensimulator austauschen kann. Auffinden eines der Peripherieeinheiten-Emulatoren, der die Verarbeitungspausen-Zeitlage am frühesten erreicht, sowie dessen Verarbeitungspausen-Zeitlage; und Synchronisieren der Vielzahl von Prozessor-Emulatoren und der Vielzahl von Anlagensimulatoren zu der gefundenen Zeitlage.A method of performing simulations performed in a simulation computer, the simulation method comprising the steps of: Executing a plurality of processor emulators on the computer; Executing a plurality of plant simulators on the computer; Executing a plurality of peripheral device emulators on the computer, each of the peripheral device emulators having a particular processing pause timing and being adapted to exchange data with the corresponding processor emulator and the corresponding equipment simulator. Locating one of the peripheral emulators that reaches the processing pause timing earliest, and its processing pause timing; and Synchronizing the plurality of processor emulators and the plurality of plant simulators to the found timing. Simulationsverfahren nach Anspruch 6, wobei der Computer ein System ist, das mehrere Aufgaben gleichzeitig erledigen kann, und die Vielzahl von Prozessor-Emulatoren, die Peripherieeinheiten-Emulatoren und die Vielzahl von Anlagensimulatoren als einzelne Stränge oder Prozesse des Mehrfachprozessorsystems ausgeführt werden.A simulation method according to claim 6, wherein the computer is a system that can do several tasks at the same time, and the plurality of processor emulators, the peripheral unit emulators, and the plurality of equipment simulators are executed as individual threads or processes of the multiprocessor system. Simulationsverfahren nach Anspruch 7, wobei der Computer ein Mehrfachprozessorsystem ist, und die Vielzahl von Prozessor-Emulatoren, die Peripherieeinheiten-Emulatoren und die Vielzahl von Anlagensimulatoren unterschiedlichen Prozessoren oder Kernen des Mehrfachprozessorsystems zugewiesen sind, um als einzelne Stränge oder Prozesse ausgeführt zu werden.A simulation method according to claim 7, wherein the computer is a multiprocessor system, and the plurality of processor emulators, the peripheral unit emulators, and the plurality of system simulators are assigned to different processors or cores of the multiple processor system to be executed as individual threads or processes. Simulationsverfahren nach Anspruch 7, wobei das Mittel zum Synchronisieren der Vielzahl von Prozessor-Emulatoren und der Vielzahl von Anlagensimulatoren in einem Speicher des Computers reserviert ist und die Synchronisierung durch das Setzen von Beendigungsmerkern erreicht wird, die jeweils für die Vielzahl von Prozessor-Emulatoren und die Vielzahl von Anlagensimulatoren bereitgestellt werden.The simulation method of claim 7, wherein the means for synchronizing the plurality of processor emulators and the plurality of plant simulators is reserved in a memory of the computer, and the Synchronization is achieved by setting termination flags, which are respectively provided for the plurality of processor emulators and the plurality of system simulators. Simulationsverfahren nach Anspruch 9, wobei die Beendigungsmerker mittels eines Zählsemaphors ausgebildet sind.A simulation method according to claim 9, wherein the termination flags are formed by means of a counting semaphore. In einem Computer ausgeführtes Simulationsprogramm zum Durchführen von Simulationen, wobei das Simulationsprogramm den Computer zur Durchführung der folgenden Schritte veranlasst: Ausführen einer Vielzahl von Prozessor-Emulatoren; Ausführen einer Vielzahl von Anlagensimulatoren; Ausführen einer Vielzahl von Peripherieeinheiten-Emulatoren, von denen jeder eine bestimmte Verarbeitungspausen-Zeitlage besitzt und Daten mit dem entsprechenden Prozessor-Emulator und dem entsprechenden Anlagensimulator austauscht. Auffinden eines der Peripherieeinheiten-Emulatoren, der die Verarbeitungspausen-Zeitlage am frühesten erreicht, sowie dessen Verarbeitungspausen-Zeitlage; und Synchronisieren der Vielzahl von Prozessor-Emulatoren und der Vielzahl von Anlagensimulatoren zu der gefundenen Zeitlage.A computer simulation program for performing simulations, wherein the simulation program causes the computer to perform the following steps: Executing a plurality of processor emulators; Executing a plurality of plant simulators; Executing a plurality of peripheral emulators, each having a particular processing pause timing and exchanging data with the corresponding processor emulator and the corresponding equipment simulator. Locating one of the peripheral emulators that reaches the processing pause timing earliest, and its processing pause timing; and Synchronizing the plurality of processor emulators and the plurality of plant simulators to the found timing. Simulationsprogramm nach Anspruch 11, wobei der Computer ein System ist, das mehrere Aufgaben gleichzeitig erledigen kann, und die Vielzahl von Prozessor-Emulatoren, die Peripherieeinheiten-Emulatoren und die Vielzahl von Anlagensimulatoren als einzelne Stränge oder Prozesse des Mehrfachprozessorsystems ausgeführt werden.A simulation program according to claim 11, wherein the computer is a system that can do several tasks at the same time, and the plurality of processor emulators, the peripheral unit emulators, and the plurality of equipment simulators are executed as individual threads or processes of the multiprocessor system. Simulationsprogramm nach Anspruch 12, wobei der Computer ein Mehrfachprozessorsystem ist, und die Vielzahl von Prozessor-Emulatoren, die Peripherieeinheiten-Emulatoren und die Vielzahl von Anlagensimulatoren unterschiedlichen Prozessoren oder Kernen des Mehrfachprozessorsystems zugewiesen sind, um als einzelne Stränge oder Prozesse ausgeführt zu werden.A simulation program according to claim 12, wherein the computer is a multiprocessor system, and the plurality of processor emulators, the peripheral unit emulators, and the plurality of system simulators are assigned to different processors or cores of the multiple processor system to be executed as individual threads or processes. Simulationsprogramm nach Anspruch 12, wobei das Mittel zum Synchronisieren der Vielzahl von Prozessor-Emulatoren und der Vielzahl von Anlagensimulatoren in einem Speicher des Computers reserviert ist und die Synchronisierung durch das Setzen von Beendigungsmerkern erreicht wird, die jeweils für die Vielzahl von Prozessor-Emulatoren und die Vielzahl von Anlagensimulatoren bereitgestellt werden.The simulation program of claim 12, wherein the means for synchronizing the plurality of processor emulators and the plurality of plant simulators is reserved in a memory of the computer and the synchronization is achieved by setting completion flags respectively for the plurality of processor emulators and the plurality of processor emulators Variety of plant simulators are provided. Simulationsprogramm nach Anspruch 14, wobei die Beendigungsmerker mittels eines Zählsemaphors ausgebildet sind.Simulation program according to claim 14, wherein the termination flags are formed by means of a counting semaphore.
DE112010004037T 2009-10-16 2010-10-08 Simulation method, system and program Ceased DE112010004037T5 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009-238954 2009-10-16
JP2009238954 2009-10-16
PCT/JP2010/067772 WO2011046089A1 (en) 2009-10-16 2010-10-08 Simulation method, system, and program

Publications (1)

Publication Number Publication Date
DE112010004037T5 true DE112010004037T5 (en) 2013-01-03

Family

ID=43876139

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010004037T Ceased DE112010004037T5 (en) 2009-10-16 2010-10-08 Simulation method, system and program

Country Status (5)

Country Link
JP (1) JP5379862B2 (en)
CN (1) CN102576325B (en)
DE (1) DE112010004037T5 (en)
GB (1) GB2486136B (en)
WO (1) WO2011046089A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015226249A1 (en) * 2015-12-21 2017-06-22 Siemens Aktiengesellschaft Apparatus and method for providing a plurality of reproducible values

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023397A1 (en) 2010-08-20 2012-02-23 インターナショナル・ビジネス・マシーンズ・コーポレーション Simulation method, system and program
US9251308B2 (en) 2012-07-23 2016-02-02 International Business Machines Corporation Simulation method, system, and program
EP2851815A1 (en) * 2013-09-18 2015-03-25 dSPACE digital signal processing and control engineering GmbH Test device for testing a virtual control device in real time
US10776139B2 (en) 2015-05-29 2020-09-15 Mitsubishi Electric Corporation Simulation apparatus, simulation method, and computer readable medium
US11010505B2 (en) 2015-12-01 2021-05-18 International Business Machines Corporation Simulation of virtual processors
JP6770935B2 (en) * 2017-07-03 2020-10-21 日立オートモティブシステムズ株式会社 Verification device for vehicle control device
US11010510B2 (en) 2019-04-30 2021-05-18 Disney Enterprises, Inc. Soft-real-time hub providing data transport for processor-in-the-loop (PIL) simulations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011720A (en) 2005-06-30 2007-01-18 Sharp Corp System simulator, system simulation method, control program, and readable recording medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522029A (en) * 1993-04-23 1996-05-28 International Business Machines Corporation Fault tolerant rendezvous and semaphore for multiple parallel processors
JPH10312315A (en) * 1997-05-12 1998-11-24 Nec Corp Software and hardware cooperative simulation system
JP3827615B2 (en) * 2002-06-07 2006-09-27 富士通テン株式会社 Microcomputer logic development apparatus and development method
CN101256502B (en) * 2007-02-27 2011-02-09 国际商业机器公司 System and method for simulating multiprocessor system
CN100573456C (en) * 2007-12-10 2009-12-23 华中科技大学 A kind of paralleling multi-processor virtual machine system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011720A (en) 2005-06-30 2007-01-18 Sharp Corp System simulator, system simulation method, control program, and readable recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015226249A1 (en) * 2015-12-21 2017-06-22 Siemens Aktiengesellschaft Apparatus and method for providing a plurality of reproducible values

Also Published As

Publication number Publication date
GB2486136A (en) 2012-06-06
JP5379862B2 (en) 2013-12-25
GB201205094D0 (en) 2012-05-09
WO2011046089A1 (en) 2011-04-21
CN102576325B (en) 2015-04-15
CN102576325A (en) 2012-07-11
GB2486136B (en) 2012-12-26
JPWO2011046089A1 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
DE112010004037T5 (en) Simulation method, system and program
DE69831732T2 (en) METHOD AND DEVICE FOR CORRECTING ERRORS IN A COMPUTER SYSTEM
EP1806636B1 (en) HiL system and method for testing ECU (electronic control unit) of a car control system
DE102010046825A1 (en) Method and system for automated test case generation for distributed embedded systems
DE4410775A1 (en) Electronic control system for automobile applications
EP3451202B1 (en) Method for generating a model of a technical system which can be run on a test device and a test device
DE102018111851A1 (en) Method for event-based simulation of a system
DE102009027627B3 (en) Simulation of real-time software components based on the logical execution time
DE102017210126A1 (en) Parallelization method, parallelization tool and in-vehicle device
DE102018114322A1 (en) Architecture and services to support reconfigurable synchronization in a multiprocessor system
EP2366146B2 (en) Method and data processing system for simulating an embedded system
EP0799441B1 (en) System for controlling technical processes
DE102012209789A1 (en) Electrical control device for vehicle, has main scheduler to allocate resources to primary sub-scheduler for executing normal process and secondary sub-scheduler for executing important process, when error occurs in main core unit
DE102016204970A1 (en) Parallelization compilation method, parallelization complicator and vehicle device
EP2083339A1 (en) Method and device for performing tests through functionally cascaded test and experimentation devices
DE102018110018A1 (en) A method for providing an integrated process for the ECU development and simulation device for the ECU development
DE112017003053T5 (en) ACTIVITY MONITOR
EP2653850B1 (en) Method and IT system for testing entire vehicles
DE102008030163A1 (en) Embedded system i.e. computer system, simulating method, involves simulating dynamic characteristics reacting with events by simulator core, and determining actually required execution times of program sequence on target system
DE102020102996A1 (en) Process for an integrated design for the modeling, simulation and testing of a real-time architecture within a model-based system and software development
DE102022127638A1 (en) SIMULATION SYSTEM AND METHOD
DE102017212612A1 (en) Method for automatically generating tests for the software of a vehicle
DE102017220181A1 (en) Parallelization method, parallelization tool and in-vehicle control device
DE102019130642B4 (en) Method for emergency interruption of the generation of an EPM microtick using direct memory access
DE102016219449A1 (en) Parallelization method, parallelization tool and vehicle-mounted device

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G06F0011280000

Ipc: G06F0017500000

Effective date: 20130306

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20131029