DE102012217593A1 - Method for controlling different models of electronic logic circuit, involves measuring and collecting test step between test points of time durations for circuit models based on measured period of time difference between circuit model - Google Patents

Method for controlling different models of electronic logic circuit, involves measuring and collecting test step between test points of time durations for circuit models based on measured period of time difference between circuit model Download PDF

Info

Publication number
DE102012217593A1
DE102012217593A1 DE201210217593 DE102012217593A DE102012217593A1 DE 102012217593 A1 DE102012217593 A1 DE 102012217593A1 DE 201210217593 DE201210217593 DE 201210217593 DE 102012217593 A DE102012217593 A DE 102012217593A DE 102012217593 A1 DE102012217593 A1 DE 102012217593A1
Authority
DE
Germany
Prior art keywords
circuit
test
models
model
logic circuit
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
DE201210217593
Other languages
German (de)
Inventor
Bernhard Fischer
Majid Ghameshlu
Thomas Hinterstoisser
Martin Matschnig
Daniel Oprica
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG Oesterreich
Original Assignee
Siemens AG Oesterreich
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG Oesterreich filed Critical Siemens AG Oesterreich
Priority to DE201210217593 priority Critical patent/DE102012217593A1/en
Publication of DE102012217593A1 publication Critical patent/DE102012217593A1/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

The method involves providing circuit models (M1,M2) of the logic circuit. The circuit models of identical test area (TB) is defined, and test sequence (TE1,TE2) is connected to the test steps through test points (1). The circuit models of the logic circuit in the test area of the test sequence are subjected. The test step between the test points of time durations for the individual circuit models is measured and collected (3,4) based on the measured periods of time differences between the circuit models.

Description

Technisches Gebiet Technical area

Die vorliegende Erfindung betrifft allgemein das Gebiet der der elektronischen und logischen Schaltungen, insbesondere der so genannter anwendungsspezifischen, integrierten Schaltungen oder ASICs und/oder der so genannten Field Programmable Gate Arrays oder FPGAs. Im Speziellen bezieht sich die vorliegende Erfindung auf ein Verfahren zum Überprüfen von unterschiedlichen Modellen einer elektronischen, logischen Schaltung, wobei zumindest zwei Schaltungsmodelle der logischen Schaltung vorgesehen sind und diese zumindest zwei Schaltungsmodelle insbesondere einen unterschiedlichen Abstraktionsgrad aufweisen. The present invention generally relates to the field of electronic and logic circuits, in particular the so-called application-specific, integrated circuits or ASICs and / or the Field Programmable Gate Arrays or FPGAs. In particular, the present invention relates to a method for checking different models of an electronic, logic circuit, wherein at least two circuit models of the logic circuit are provided and these at least two circuit models in particular have a different degree of abstraction.

Stand der Technik State of the art

Heutzutage bilden logische Schaltungen wie z.B. ASICs oder FPGAs vor allem in der Computertechnik eine Grundlage für jegliche Elektronik. Üblicherweise bestehen derartige Schaltungen aus auf einem einzelnen Substrat wie z.B. einem Halbleitersubstrat untergebrachten und miteinander verdrahteten elektronischen Bauelementen. Eine integrierte Schaltung besteht aus einer Anzahl an verschiedenen Bauelementen bzw. Blöcken oder Gattern sowie verbindenden Leiterzügen, welche auf oder in einem einkristallinen Substrat untergebracht sind. Durch diese Integration werden umfangreiche Funktionalitäten und Anwendungen auf einem kleinen Raum zur Verfügung gestellt. Today, logic circuits such as e.g. ASICs or FPGAs, especially in computer technology a basis for any electronics. Usually, such circuits consist of on a single substrate, e.g. a semiconductor substrate housed and wired together electronic components. An integrated circuit consists of a number of different components or blocks or gates and interconnecting conductor tracks which are accommodated on or in a monocrystalline substrate. This integration provides extensive functionality and applications in a small space.

Rasche Fortschritte in der technologischen Entwicklung haben es möglich gemacht, auch große komplexe logische Schaltungen auf einem Halbleiter-Chip unterzubringen. Bei einer Entwicklung bzw. bei einem Design von derartigen logischen Schaltungen werden die Schaltungen häufig mit rechnergestützten Hilfsmitteln entworfen. Vor allem um mit einer steigenden Größe und Komplexität der Schaltungen Schritt zu halten, werden Entwürfe bzw. virtuellen Prototypen für logische Schaltungen nicht selten mit einem höheren Abstraktionsgrad durchgeführt. Dabei wird in einem derartigen Schaltungsmodell eine logische Schaltung beispielsweise anhand von Funktionen, Verhalten, Algorithmen, etc. beschrieben und daraus dann eine entsprechende Hardware für die logische Schaltung abgeleitet. Schaltungsmodelle mit höherem Abstraktionsgrad können z.B. leichter und rascher simuliert werden als sehr genaue Schaltungsmodelle mit einem geringeren Abstraktionsgrad. So können anhand eines Schaltungsmodells einer logischen Schaltung, welches einen großen Abstraktionsgrad aufweist, leichter und rascher z.B. Simulationen zur Überprüfung oder Verifikation von geforderter Funktionalität durchgeführt werden. Derartige Schaltungsmodelle werden beim Design von logischen Schaltungen beispielsweise auch als so genannte High-Level-Modelle bezeichnet. Ein derartiger Ansatz im Entwurf bzw. Design von logischen Schaltungen – d.h. es wird zuerst ein High-Level-Modell der Schaltung entwickelt – wird auch als so genannte Electronic System Level oder ESL-Design-Methode bezeichnet. Dabei wird ein Schaltungsmodell, High-Level- oder ESL-Modell entwickelt, in welchem z.B. ein Verhalten der logischen Schaltung unter Verwendung einer high-level Programmiersprache wie z.B. C, C++, SystemC, SystemVerilog, etc. abgefasst und dargestellt wird und dann simuliert werden kann. So kann z.B. anfangs ein Schaltungsmodell kreiert werden, in welchem vorerst kein Zeitverhalten festgelegt worden ist. Das Zeitverhalten für die logische Schaltung wird dann ergänzt. Es können dann mit Hilfe eines so genannten zeitlich ungefähr festgelegten Schaltungsmodells zeitkritische Algorithmen für die endgültige logische Schaltung entwickelt und getestet werden. Rapid advances in technological development have made it possible to accommodate even large complex logic circuits on a semiconductor chip. In a design of such logic circuits, the circuits are often designed with computer-aided tools. Especially in order to keep up with the increasing size and complexity of the circuits, designs or virtual prototypes for logic circuits are often performed with a higher degree of abstraction. In such a circuit model, a logical circuit is described for example on the basis of functions, behavior, algorithms, etc., and then a corresponding hardware for the logic circuit derived therefrom. Circuit models with higher levels of abstraction may e.g. easier and faster to simulate than very accurate circuit models with a lower level of abstraction. Thus, by means of a circuit model of a logic circuit which has a high degree of abstraction, it is easier and faster, e.g. Simulations for verifying or verifying required functionality are performed. Such circuit models are referred to in the design of logic circuits, for example, as so-called high-level models. Such an approach in the design of logic circuits - i. First, a high-level model of the circuit is developed - also referred to as the so-called Electronic System Level or ESL design method. In doing so, a circuit model, high-level or ESL model is developed in which e.g. a behavior of the logic circuit using a high-level programming language such as e.g. C, C ++, SystemC, SystemVerilog, etc. are written and displayed and then can be simulated. Thus, e.g. initially a circuit model are created in which initially no time behavior has been established. The timing for the logic circuit is then supplemented. It can then be developed and tested using a so-called temporally approximately fixed circuit model time-critical algorithms for the final logical circuit.

In einem weiteren Verlauf des Designs einer logischen Schaltung wird der Abstraktionsgrad reduziert. So wird beispielsweise auf Basis des High-Level- bzw. ESL-Modells und gegebenenfalls weiteren Spezifikationen für die logische Schaltung ein weiteres (virtuelles) Schaltungsmodell mit einem geringen Abstraktionsgrad bzw. eine so genannte Hardwarebeschreibung der logischen Schaltung erstellt. Ein derartiges Schaltungsmodell bzw. Hardwarebeschreibung wird üblicherweise als Beschreibung auf Registertransferebene abgefasst. D.h. ein System bzw. eine logische Schaltung wird dabei anhand eines Signalflusses zwischen den Registern spezifiziert. Der entsprechende Abstraktionsgrad wird dann z.B. auch als Register Transfer Level oder kurz RTL bezeichnet. Das entsprechende Schaltungsmodell kann auch als RTL-Modell bezeichnet werden. Für die Erstellung eines RTL-Modells werden beispielsweise Hardwarebeschreibungssprachen wie z.B. VHDL, Verilog, etc. eingesetzt. In a further course of the design of a logic circuit, the degree of abstraction is reduced. For example, on the basis of the high-level or ESL model and, if appropriate, further specifications for the logic circuit, a further (virtual) circuit model with a low degree of abstraction or a so-called hardware description of the logic circuit is created. Such a circuit model or hardware description is usually written as a description on the register transfer level. That a system or a logical circuit is specified based on a signal flow between the registers. The corresponding degree of abstraction is then e.g. also referred to as register transfer level or short RTL. The corresponding circuit model can also be referred to as RTL model. For example, to create an RTL model, hardware description languages such as e.g. VHDL, Verilog, etc. used.

Von Hardwarebeschreibungsmodellen bzw. RTL-Modellen wird üblicherweise ein endgültiges Design einer logischen Schaltung dargestellt, welches dann auf dem Halbleitersubstrat als logische Schaltung realisiert wird. Dabei tritt allerdings zurzeit das Problem auf, wie festgestellt werden kann, ob die während des Designprozesses entwickelten Schaltungsmodelle mit unterschiedlichem Abstraktionsgrad funktionell konsistent bzw. äquivalent sind, da von beiden Modellen die logischen Schaltung mit unterschiedlichen Abstraktionsgraden beschrieben wird. Vor allem ist es wichtig, dass die Schaltungsmodelle mit unterschiedlichem Abstraktionsgrad ein korrektes und für die logische Schaltung entsprechend geplantes Zeitverhalten aufweisen. From hardware description models or RTL models usually a final design of a logic circuit is shown, which is then realized on the semiconductor substrate as a logic circuit. However, there is currently the problem of how to determine whether the circuit models developed at different levels of abstraction during the design process are functionally consistent or equivalent, since both models describe the logic circuit with different degrees of abstraction. Above all, it is important that the circuit models with different levels of abstraction have a correct and for the logical circuit planned time behavior.

Eine Möglichkeit, um eine Gleichwertigkeit der Schaltungsmodelle mit unterschiedlichem Abstraktionsgrad zu bestimmen, ist eine Durchführung einer umfangreichen und detaillierten Simulation bei den Schaltungsmodellen. Die jeweiligen Simulationsergebnisse werden dann miteinander verglichen. Dieser Ansatz weist allerdings den Nachteil auf, dass bei umfangreichen und detaillierten Simulationen große Rechnerressourcen bzw. ein hoher Hardware-Aufwand notwendig sind, bzw. dass die Simulation komplexer Szenarien aufgrund der um Größenordnungen längeren Laufzeiten bei einem Hardwarebeschreibungs- oder RTL-Modell nicht praktikabel ist. Weiterhin muss ein Vergleich der jeweiligen Ergebnisse zumindest teilweise manuell z.B. durch einen Entwickler durchgeführt werden. Insbesondere das Zeitverhalten der jeweiligen Schaltungsmodelle kann nur manuell verglichen werden, da bedingt durch den unterschiedlichen Abstraktionsgrad – üblicherweise Abweichungen im Zeitverhalten – ein automatisierter, direkter Vergleich verhindert wird. Damit ist ein Vergleich der jeweiligen Schaltungsmodelle im Zeitverhalten, nicht nur sehr zeitintensiv, teuer und aufwendig, sondern es können beispielsweise auch kleine, aber entscheidende Unterschiede zwischen den Schaltungsmodellen übersehen werden. One way to determine equivalence of the circuit models with different degrees of abstraction is to perform a large and detailed simulation on the circuit models. The respective simulation results are then compared with each other. However, this approach has the disadvantage that in complex and detailed simulations large computer resources or a high level of hardware complexity are necessary, or that the simulation of complex scenarios is not practical because of orders of magnitude longer maturities in a hardware description or RTL model , Furthermore, a comparison of the respective results must be carried out at least partially manually, for example by a developer. In particular, the time behavior of the respective circuit models can only be compared manually, because due to the different degree of abstraction - usually deviations in the time behavior - an automated, direct comparison is prevented. Thus, a comparison of the respective circuit models in the time behavior, not only very time-consuming, expensive and expensive, but it can, for example, small, but crucial differences between the circuit models are overlooked.

Darstellung der Erfindung Presentation of the invention

Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren anzugeben, durch welches auf einfache und automatisierte Weise eine möglichst genaue Überprüfung von Schaltungsmodellen einer logischen Schaltung insbesondere auf hinreichend genaues Zeitverhalten ermöglicht wird. The invention is therefore based on the object of specifying a method by which in a simple and automated way as accurate as possible verification of circuit models of a logic circuit is made possible in particular to sufficiently accurate timing.

Diese Aufgabe wird durch ein Verfahren der eingangs genannten Art mit den Merkmalen gemäß dem unabhängigen Patentanspruch gelöst. Vorteilhafte Ausführungsformen der vorliegenden Erfindung sind in den abhängigen Ansprüchen beschrieben. This object is achieved by a method of the type mentioned above with the features of the independent claim. Advantageous embodiments of the present invention are described in the dependent claims.

Erfindungsgemäß erfolgt die Lösung der Aufgabe mit einem Verfahren der eingangs erwähnten Art, bei welchem zuerst eine für die Schaltungsmodelle identische Testumgebung definiert wird. Dann wird ein Testablauf mit Testschritten und Testpunkten, durch welche die Testschritte getrennt werden, festgelegt und die Schaltungsmodelle der logischen Schaltung werden in der Testumgebung dem Testablauf unterworfen. Danach werden für jeden Testschritt zwischen den jeweiligen Testpunkten Zeitdauer für die einzelnen Schaltungsmodelle gemessen und gesammelt. Auf Basis der gemessenen Zeitdauern werden dann Zeitdifferenzen und/oder Abweichungen zwischen den Schaltungsmodellen ermittelt, durch welche beispielsweise geprüft werden kann, ob die Schaltungsmodelle ein annähernd gleiches Verhalten bzw. Zeitverhalten aufweisen. According to the invention, the object is achieved by a method of the type mentioned above, in which first a test environment identical to the circuit models is defined. Then, a test procedure with test steps and test points by which the test steps are separated is determined, and the circuit models of the logic circuit are subjected to the test procedure in the test environment. Thereafter, time durations for the individual circuit models are measured and collected for each test step between the respective test points. On the basis of the measured time periods, time differences and / or deviations between the circuit models are then determined, by means of which it is possible, for example, to check whether the circuit models have approximately the same behavior or time behavior.

Der Hauptaspekt der erfindungsgemäß vorgeschlagenen Lösung besteht darin, dass durch einen automatisierten Vergleich der Schaltungsmodelle ein teuerer und zeitaufwendiger manueller Vergleich entfallen kann. Dadurch wird das Risiko von Fehler wie z.B. einem Übersehen von Abweichungen zwischen den Modellen im Zeitverhalten oder von falschen Zeitannahmen für eines der Modelle, etc. stark reduziert. Durch Einführen von Testschritten und Testpunkten, durch welche die Testschritte getrennt werden, können sehr einfach und genau einzelnen Abschnitte eines jeweiligen Ergebnisses des Testlaufs des jeweiligen Modells analysiert bzw. mit einem entsprechenden Ergebnis eines weiteren Schaltungsmodells exakt verglichen werden. Aus den gegebenenfalls ermittelten Zeitdifferenzen und/oder Abweichungen zwischen den Schaltungsmodellen bei den jeweiligen Testschritten können dann sehr leicht Rückschlüsse auf eine Äquivalenz der Schaltungsmodelle gezogen werden und z.B. Zeitannahmen für beispielsweise ein Schaltungsmodell mit höherem Abstraktionsgrad verifiziert oder falsifiziert werden. The main aspect of the proposed solution according to the invention is that an expensive and time-consuming manual comparison can be dispensed with by an automated comparison of the circuit models. This reduces the risk of errors such as an oversight of deviations between the models in the time behavior or wrong time assumptions for one of the models, etc. greatly reduced. By introducing test steps and test points, by means of which the test steps are separated, individual sections of a respective result of the test run of the respective model can be analyzed very simply and exactly compared with a corresponding result of a further circuit model. From the possibly determined time differences and / or deviations between the circuit models in the respective test steps it is then very easy to draw conclusions about an equivalence of the circuit models and e.g. Time assumptions for, for example, a circuit model with a higher degree of abstraction can be verified or falsified.

Es ist dabei vorteilhaft, wenn für eine Steuerung des Testablaufs sowie für ein Sammeln und Messen der Zeitdauern eine Steuereinheit vorgesehen wird. Durch die Steuereinheit kann eine Überprüfung der Schaltungsmodelle für die logische Schaltung auf einfache Weise automatisch gesteuert werden. Gesammelte Ergebnisdaten wie z.B. Zeitdauern der jeweiligen Testschritte können in der Steuereinheit vorab verarbeitet und/oder ausgewertet werden. Es können z.B. Zeitdifferenzen und/oder Abweichungen zwischen den Schaltungsmodellen in der Steuereinheit ermittelt werden. Die Steuereinheit kann dabei in einer Testumgebung oder einer Testschicht eingebettet sein, in welcher auch die Testabläufe für die Schaltungsmodelle gelegen sind. Die zu überprüfenden Schaltungsmodelle können dabei beispielsweise in einer zusätzlichen Kommunikationsschicht der Testumgebung angebracht sein, damit auf einfache Weise Schaltungsmodelle mit unterschiedlichem Abstraktionsgrad überprüft, gesteuert bzw. Ergebnisdaten von diesen gesammelt werden können. Die Kommunikationsschicht kann aus mehreren Ebenen bestehen und z.B. einen Plattformebene umfassen, in welche die zu überprüfenden Schaltungsmodelle eingebracht werden, und eine weitere Ebene für eine Anpassung der Kommunikation der Modelle mit der Testumgebung. Diese weitere Ebene kann z.B. als so genannter Wrapper ausgestaltet sein. Durch den Wrapper oder gegebenenfalls für ein Modell mit hohem Abstraktionsgrad mehrere Wrapper wird ermöglicht, dass die Schaltungsmodelle mit unterschiedlichen Abstraktionsgrad bzw. in unterschiedlichen Programmiersprachen (z.B. SystemC und Verilog, etc.) in einer völlig identischen Testumgebung mittels identischer Testabläufe überprüft werden können. It is advantageous if a control unit is provided for controlling the test procedure and for collecting and measuring the time periods. By the control unit, a check of the circuit models for the logic circuit can be controlled automatically in a simple manner. Collected result data such as Time durations of the respective test steps can be processed in advance and / or evaluated in the control unit. It can e.g. Time differences and / or deviations between the circuit models in the control unit can be determined. The control unit can be embedded in a test environment or a test layer, in which the test procedures for the circuit models are located. The circuit models to be checked can be mounted, for example, in an additional communication layer of the test environment so that circuit models with different degrees of abstraction can be easily checked, controlled or result data collected from them. The communication layer may consist of several levels and e.g. comprise a platform level into which the circuit models to be checked are introduced and another level for adaptation of the communication of the models with the test environment. This further level may e.g. be designed as a so-called wrapper. The wrapper, or possibly a high-abstraction model, allows multiple wrappers to be tested with different degrees of abstraction or in different programming languages (e.g., SystemC and Verilog, etc.) in a completely identical test environment using identical test procedures.

Weiterhin ist es günstig, wenn die gesammelten und gemessenen Zeitdauern und -differenzen in einer Datenbank abgelegt und abgespeichert werden. Die gesammelten Daten wie z.B. Zeitdauern, Zeitdifferenzen, etc. der Überprüfung der Schaltungsmodelle können auf diese Weise sehr einfach ausgewertet bzw. verglichen werden. Durch ein entsprechendes Hinterlegen in einer Datenbank können diese Daten beispielsweise sehr rasch und gegebenenfalls mittels eines Auswerteprogramms verglichen werden. Es kann auf diese Weise auch festgestellt werden, bei welchem Testschritt in welchem Schaltungsmodell beispielsweise falsche oder ungenaue Zeitannahmen getroffen worden sind. Furthermore, it is advantageous if the collected and measured durations and differences are stored and stored in a database. The collected data such as time periods, time differences, etc. the review of the circuit models can be evaluated or compared in this way very easily. By appropriate storage in a database, these data can be compared, for example, very quickly and, if necessary, by means of an evaluation program. It can also be determined in this way in which test step in which circuit model, for example, incorrect or inaccurate time settings have been made.

Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird der Testablauf von den Schaltungsmodellen seriell durchlaufen. Ein serielles Durchlaufen der Testabläufe der Schaltungsmodelle stellt eine kostengünstige Variante dar. Es wird dabei eine absolute Zeitdauer für einen Testablauf je Schaltungsmodell gemessen und z.B. für jedes Modell mitdokumentiert, wenn während des Testablaufs ein Testpunkt passiert bzw. ein Testschritt abgeschlossen worden ist. Aus diesen Dokumentationsdaten können dann beispielsweise von der Steuereinheit für jedes überprüfte Schaltungsmodell die jeweiligen Zeitdauern der jeweiligen Testschritte ermittelt werden und dann z.B. Zeitdifferenzen und/oder Abweichungen zwischen den Schaltungsmodellen je Testschritt berechnet werden. Bei der seriellen Überprüfung der Schaltungsmodelle können dann die Ergebnisdaten der Tests entsprechend nachbearbeitet werden, um z.B. ein automatisiertes Auswerten zu ermöglichen. Um eine synchronisierte Aufzeichnung der Ergebnisdaten in der Datenbank zu erhalten, können beispielsweise Zeitdifferenzen beim Testablauf des Schaltungsmodells mit der längeren Zeitdauer in einem Testschritt ergänzt oder vermerkt werden. In a preferred embodiment of the method according to the invention, the test procedure is run through in series by the circuit models. A serial execution of the test sequences of the circuit models represents a cost-effective variant. An absolute time duration for a test procedure per circuit model is measured and, e.g. for each model, if during the test procedure a test point passes or a test step has been completed. From this documentation data, the control unit can then determine, for example for each circuit model under test, the respective durations of the respective test steps and then, for example, Time differences and / or deviations between the circuit models per test step are calculated. In the serial verification of the circuit models, the result data of the tests can then be reworked accordingly, e.g. to enable an automated evaluation. In order to obtain a synchronized recording of the result data in the database, for example, time differences in the test procedure of the circuit model with the longer duration can be supplemented or noted in a test step.

Eine alternative Ausführungsform des erfindungsgemäßen Verfahrens sieht zweckmäßiger Weise vor, dass der Testablauf von den Schaltungsmodellen parallel durchlaufen wird, wobei die Testpunkte als Synchronisationspunkte für den Testdurchlauf des jeweiligen Schaltungsmodells verwendet werden. Bei einem parallelen Durchlaufen des Testablaufs durch die Schaltungsmodelle können die Schaltungsmodelle laufend synchronisiert werden. Das bedeutet, der Testablauf wird für die Schaltungsmodelle zeitgleich angestoßen. Ein Schaltungsmodell, von welchem ein Testpunkt passiert wird, wird angehalten, bis auch das zumindest andere zu überprüfende Schaltungsmodelle an diesem Testpunkt angelangt ist. Der Testpunkt wird damit als Synchronisierungspunkt genutzt und eine Zeitdifferenz bzw. Abweichung der Schaltungsmodelle kann dabei sofort festgestellt bzw. entsprechend in der Datenbank ohne Nachbearbeitung mitdokumentiert werden. An alternative embodiment of the method according to the invention expediently provides that the test procedure is run through in parallel by the circuit models, the test points being used as synchronization points for the test run of the respective circuit model. In parallel through the test procedure through the circuit models, the circuit models can be synchronized continuously. This means that the test procedure is triggered simultaneously for the circuit models. A circuit model from which a test point is passed is stopped until at least other circuit models to be tested have arrived at this test point. The test point is thus used as a synchronization point and a time difference or deviation of the circuit models can be detected immediately or be documented accordingly in the database without post processing.

Dabei wird idealer Weise die Steuereinheit zum Synchronisieren des parallel ablaufenden Testablaufs der Schaltungsmodelle eingesetzt. Durch die Steuereinheit kann beispielsweise jenes Schaltungsmodell, von welchem ein Testschritt rasch ausgeführt wird bzw. von welchem ein Synchronisationspunkt rascher erreicht wird, sehr einfach angehalten werden. Von der Steuereinheit kann bei einem parallelen Testablauf auch auf effiziente Weise dafür gesorgt werden, dass nach Erreichen eines Synchronisationspunkts durch alle zu überprüfenden Schaltungsmodelle von diesen wieder gleichzeitig mit einem Ausführen des nächsten Testschritts begonnen wird. Ideally, the control unit is used to synchronize the parallel running test sequence of the circuit models. By the control unit, for example, that circuit model from which a test step is quickly executed or from which a synchronization point is reached more quickly can be easily stopped. In a parallel test procedure, the control unit can also ensure in an efficient manner that, once a synchronization point has been reached by all the circuit models to be checked, they are started again simultaneously with an execution of the next test step.

Bei einer Fortbildung der Erfindung wird als logische Schaltung eine so genannte anwendungsspezifische, integrierte Schaltung oder Application Specific Integrated Circuit bzw. kurz ASIC vorgesehen. ASICs werden heutzutage in vielen verschiedenen elektronischen Geräten – beispielsweise vom Radiowecker über Mobilfunkgeräte bis zu Hochleistungsrechnern – eingesetzt. Bei einem ASIC wird eine Funktionalität der logischen Schaltung bereits bei der Entwicklung und Herstellung eindeutig festgelegt und kann danach nicht mehr verändert werden. Das bedeutet, ein ASIC weist eine strikte Abhängigkeit von den zu verarbeiteten Daten auf und die in einem ASIC implementierte Logik steht in engem Zusammenhang mit der oder den auszuführenden Funktionen. Daher ist es bei ASICs besonders wichtig, auf einfache und kostengünstige Weise bereits beim oder nach dem Design, aber für einer Herstellung anhand der Schaltungsmodelle zu prüfen, ob eine gewünschte Funktionalität korrekt ausgeführt wird und/oder getroffene Annahmen für ein Zeitverhalten richtig gewesen sind. Durch das erfindungsgemäße Verfahren kann sehr einfach anhand der Schaltungsmodelle für die logische Schaltung bzw. den ASIC geprüft werden, ob ein gewünschtes bzw. geplantes Zeitverhalten eingehalten wird. In a further development of the invention, a so-called application-specific, integrated circuit or application specific integrated circuit or ASIC is provided as the logic circuit. ASICs are used today in many different electronic devices - for example, from clock radios over mobile devices to high-performance computers. In an ASIC, a functionality of the logic circuit is already clearly defined during development and production and can not be changed thereafter. That is, an ASIC has a strict dependency on the data being processed, and the logic implemented in an ASIC is closely related to the one or more functions to be performed. Therefore, it is particularly important for ASICs to check in a simple and cost-effective manner already at or after the design, but for production based on the circuit models, whether a desired functionality has been performed correctly and / or timely assumptions made. By means of the method according to the invention, it can be very easily checked, with reference to the circuit models for the logic circuit or the ASIC, whether a desired or planned time behavior is adhered to.

Es ist aber auch günstig, wenn als logische Schaltung ein so genanntes Field Programmable Gate Array bzw. kurz FPGA vorgesehen wird. Mittels derartiger Feld-programmierbaren Logikgatter-Anordnungen oder FPGAs können durch eine spezifische Konfiguration interner Strukturen (z.B. Gatter, logischer Blöcke, etc.) verschiedene Schaltungen – von einfachen Schaltungen wie z.B. einer Zählerschaltung bis zu hochkomplexen Schaltungen wie z.B. einem Mikroprozessor – realisiert werden. FPGAs werden in allen Bereichen der Digitaltechnik eingesetzt, insbesondere in Bereichen, wo es auf schnelle Signalverarbeitung und eine flexible Änderbarkeit der Schaltung ankommt. Im Vergleich mit anderen logischen Schaltungen, insbesondere ASICs, weisen FPGAs den Vorteil von geringeren Entwicklungskosten und sehr kurzen Implementierungszeiten auf. Ein besondere Vorteil von FPGAs ist, dass sie rekonfigurierbar sind und damit eine mit einem FPGA realisierte logische Schaltung einfach korrigierbar und – falls notwendig – erweiterbar ist. However, it is also advantageous if a so-called Field Programmable Gate Array or FPGA is provided as a logical circuit. By means of such field programmable logic gate arrays or FPGAs, various circuits can be realized by a specific configuration of internal structures (eg, gates, logic blocks, etc.) - from simple circuits such as a counter circuit to highly complex circuits such as a microprocessor. FPGAs are used in all areas of digital technology, especially in areas where fast signal processing and flexible switchability are important. In comparison with other logic circuits, in particular ASICs, FPGAs have the advantage of lower development costs and very short implementation times. A particular advantage of FPGAs is that they are reconfigurable and thus a logic circuit realized with an FPGA can be easily corrected and - if necessary - can be extended.

Vorteilhafter Weise wird ein erstes Schaltungsmodell der logischen Schaltung als High-Level-Modell, insbesondere als so genanntes Electronic System-Level-Modell, ausgeführt und als zweites Schaltungsmodell ist ein Hardwarebeschreibungsmodell, insbesondere ein so genanntes Registertransferebenen-Modell oder RTL-Modell vorgesehen. Während verschiedener Schritte eines Design-Prozesses für eine logische Schaltung, insbesondere für ASICs, werden unterschiedliche Schaltungsmodelle mit unterschiedlichem Abstraktionsgrad kreiert. Mit diesen Schaltungsmodellen können auch unterschiedliche Funktionalitäten der logischen Schaltung getestet werden. Am Beginn eines Design-Prozesses wird ein so genanntes High-Level-Modell oder insbesondere ein so genanntes Electronic System-Level- oder ESL-Modell, der logischen Schaltung entworfen. Mit diesem Modell, welches einen hohen Abstraktionsgrad aufweist, werden beispielsweise Funktionalitäten, Algorithmen, etc. der logischen Schaltung entwickelt, simuliert und getestet, wobei dazu häufig Annahmen für ein Zeitverhalten getroffen werden. Durch das erfindungsgemäße Verfahren kann auf einfache Weise geprüft werden, ob für ein beim Entwickeln von logischen Schaltungen gängiges Modell wie z.B. dem ESL-Modell korrekte Annahmen getroffen worden sind. Advantageously, a first circuit model of the logic circuit is implemented as a high-level model, in particular as a so-called electronic system-level model, and the second circuit model is a hardware description model, in particular a so-called register transfer plane model or RTL model. During various steps of a logic circuit design process, particularly for ASICs, different circuit models are created with different degrees of abstraction. With these circuit models also different functionalities of the logic circuit can be tested. At the beginning of a design process, a so-called high-level model or in particular a so-called electronic system-level or ESL model, the logical circuit is designed. With this model, which has a high degree of abstraction, functionalities, algorithms, etc. of the logic circuit, for example, are developed, simulated and tested, with frequent assumptions being made for a time behavior. The method according to the invention makes it possible to easily check whether a model common in the development of logic circuits, such as e.g. correct assumptions have been made to the ESL model.

Für eine Darstellung der logischen Schaltung (z.B. ASIC, FPGA, etc.), wie diese dann realisiert werden soll, wird ein anderes Schaltungsmodell ein Hardwarebeschreibungsmodell bzw. das so genannte Registertransferebenen-Modell oder RTL-Modell eingesetzt. Dieses Modell weist einen niedrigen Abstraktionsgrad auf und beschreibt die logische Schaltung anhand von zeitlichen Abläufen und/oder räumlichen Schaltkreisstrukturen. Das RTL-Modell ist damit die Basis für die Herstellung der logischen Schaltung auf dem Substrat. Durch das erfindungsgemäße Verfahren wird dabei sehr einfach und kostengünstig geprüft, ob z.B. im Design-Prozess getroffene Annahmen auch vom RTL-Modell eingehalten werden. So wird z.B. auf einfache Weise festgestellt, ob das RTL-Modell einer logischen Schaltung ein korrektes Zeitverhalten aufweist bzw. ob das Zeitverhalten des RTL-Modells mit einem Zeitverhalten eines Schaltungsmodells mit höherem Abstraktionsgrad wie z.B. dem ESL-Modell übereinstimmt. Damit können dann im ESL-Modell getroffene und getestete Annahmen sehr rasch und ohne großen Aufwand verifiziert werden. For a representation of the logic circuit (e.g., ASIC, FPGA, etc.) as it is then to be implemented, another circuit model is a hardware description model or the so-called register transfer plane model or RTL model. This model has a low degree of abstraction and describes the logic circuit by means of temporal sequences and / or spatial circuit structures. The RTL model is thus the basis for the production of the logic circuit on the substrate. The inventive method is very simple and inexpensive to check whether, for. The assumptions made in the design process are also met by the RTL model. For example, easily determines whether the RTL model of a logic circuit has a correct timing or whether the timing of the RTL model with a timing of a circuit model with a higher degree of abstraction such. complies with the ESL model. In this way, assumptions made and tested in the ESL model can be verified very quickly and without much effort.

Kurzbeschreibung der Zeichnung Brief description of the drawing

Die Erfindung wird nachfolgend in beispielhafter Weise anhand der beigefügten Figur erläutert. Es zeigt 1 schematisch einen beispielhaften Ablauf des erfindungsgemäßen Verfahrens zum Überprüfen von zwei beispielhaften Schaltungsmodellen in einer beispielhaften Testumgebung. The invention will now be described by way of example with reference to the accompanying figure. It shows 1 schematically illustrates an example flow of the inventive method for checking two exemplary circuit models in an exemplary test environment.

Ausführung der Erfindung Embodiment of the invention

1 zeigt in schematischer Weise eine beispielhafte Testumgebung TB, welche für einen parallelen Durchlauf einer Überprüfung von Schaltungsmodelle M1, M2 einer logischen Schaltung geeignet ist. Die Testumgebung TB wird für die zu überprüfende Schaltungsmodelle M1, M2 definiert und ist für die Schaltungsmodelle M1, M2 identisch. Die Testumgebung TB beinhaltet für die Schaltungsmodelle M1, M2 identische Testinstanzen oder Testabläufe TE1, TE2. Diese Testabläufe TE1, TE2 können beispielsweise aus einem Entwicklungsprozess der logischen Schaltung, bei welchem die Modelle M1, M2 entstanden sind, abgeleitet sein. Weiterhin umfasst die Testumgebung TB eine Steuereinheit SE, durch welche ein Ablauf des Test gesteuert und von welcher Ergebnisdaten gesammelt und gemessen werden können. Zusätzlich weist die Testumgebung noch eine weitere Kommunikationsschicht KS auf, in welche dann die zu überprüfenden bzw. zu testenden Schaltungsmodelle M1, M2 eingebettet werden, da die zu testenden Schaltungsmodelle M1, M2 beispielsweise einen unterschiedlichem Abstraktionsgrad aufweisen können. 1 schematically shows an exemplary test environment TB, which is suitable for a parallel pass of a review of circuit models M1, M2 of a logic circuit. The test environment TB is defined for the circuit models M1, M2 to be checked and is identical for the circuit models M1, M2. The test environment TB contains identical test instances or test sequences TE1, TE2 for the circuit models M1, M2. These test sequences TE1, TE2 can, for example, be derived from a development process of the logic circuit in which the models M1, M2 have arisen. Furthermore, the test environment TB comprises a control unit SE, by which a sequence of the test can be controlled and from which result data can be collected and measured. In addition, the test environment also has a further communication layer KS, into which the circuit models M1, M2 to be tested or to be tested are then embedded, since the circuit models M1, M2 to be tested can, for example, have a different degree of abstraction.

Im beispielhaft in 1 dargestellten Ablauf des erfindungsgemäßen Verfahrens werden z.B. ein erstes Schaltungsmodell M1 und ein zweites Schaltungsmodell M2 parallel überprüft. Das erste Schaltungsmodell M1 ist z.B. ein so genanntes ESL-Modell der logischen Schaltung und weist damit einen hohen Abstraktionsgrad auf. ESL-Modelle werden beispielsweise in so genannten high-level Programmiersprachen wie z.B. C, C++, SystemC, SystemVerilog, etc. abgefasst sein. Das zweite Schaltungsmodell M2 ist beispielsweise ein Hardwarebeschreibungsmodell oder RTL-Modell mit einem niedrigen Abstraktionsgrad und ist z.B. in Verilog, VHDL, etc. beschrieben. Um diese Modelle M1, M2 parallel bzw. in der gleichen Testumgebung TB gegebenenfalls seriell testen zu können, werden die Modelle M1, M2 in die Kommunikationsschicht KS eingebettet. Im exemplary in 1 shown flow of the method according to the invention, for example, a first circuit model M1 and a second circuit model M2 are checked in parallel. The first circuit model M1 is, for example, a so-called ESL model of the logic circuit and thus has a high degree of abstraction. For example, ESL models are written in so-called high-level programming languages such as C, C ++, SystemC, SystemVerilog, etc. The second circuit model M2 is, for example, a hardware description model or RTL model with a low degree of abstraction and is described, for example, in Verilog, VHDL, etc. In order to be able to serially test these models M1, M2 in parallel or in the same test environment TB, the models M1, M2 are embedded in the communication layer KS.

Die Kommunikationsschicht kann beispielsweise aus mehreren Ebenen bestehen – so kann z.B. eine Ebene, in welcher die Modelle M1, M2 direkt eingebettet sind, z.B. als SystemC-Plattform ausgestaltet sein und eine weitere Ebene z.B. als Transaction-Level-Modelling-Wrapper, welcher als Schnittstelle zwischen ein jeweiliges Modell M1, M2 zum entsprechenden Testablauf TE1, TE2 genutzt wird. Dieser TLM-Wrapper wird beispielsweise aus Kompatibilitäts- oder architektonischen Gründen eingesetzt. Durch den TLM-Wrapper bzw. gegebenenfalls auch mehrere TLM-Wrapper wird es ermöglicht, die Schaltungsmodelle M1, M2 mit unterschiedlichen Abstraktionsgrad, welche wie z.B. das ESL-Modell M1 und das RTL-Modell M2 in unterschiedlichen Programmiersprachen abgefasst worden sind, in einer wirklich identischen Testumgebung TB mit identischen Testabläufen TE1, TE2 parallel oder seriell zu überprüfen. The communication layer may for example consist of several levels - for example, a level in which the models M1, M2 are embedded directly, eg designed as a SystemC platform and another level eg as a transaction-level modeling wrapper, which as an interface between a respective model M1, M2 is used for the corresponding test procedure TE1, TE2. This TLM wrapper is used, for example, for compatibility or architectural reasons. The TLM wrapper or possibly also several TLM wrappers make it possible to use the Circuit models M1, M2 with different degrees of abstraction, such as the ESL model M1 and the RTL model M2 have been written in different programming languages to check in a truly identical test environment TB with identical test sequences TE1, TE2 parallel or serial.

Für eine Überprüfung der beiden beispielhaften Modelle M1, M2 zu einer logischen Schaltung wie z.B. einem Direct Memory Access- oder DMA-Controller, von welchem ein Transfer von Daten zwischen zwei Speichereinheiten kontrolliert wird, wird in einem ersten Verfahrensschritt 1 zuerst die Testumgebung TB definiert. Dann wird der Testablauf TE1, TE2 für die Schaltungsmodelle M1, M2 festgelegt, wobei für einen parallelen Ablauf für jedes Schaltungsmodell M1, M2 ein identischer Testablauf TE1, TE2 in der Testumgebung TB kreiert wird. Dabei wird z.B. dem ersten Schaltungsmodell M1 bzw. dem ESL-Modell M1 ein erster Testablauf TE1 zugeordnet und dem zweiten Schaltungsmodell M2 bzw. dem RTL-Modell M2 ein zweiter Testablauf TE2 zugewiesen. Die beiden Testabläufe TE1, TE2 sind identisch und eine Kommunikation zwischen jeweiligen Testablauf TE1, TE2 und Schaltungsmodell M1, M2 erfolgt über die Kommunikationsschicht KS bzw. den TLM-Wrapper bzw. für das ESL-Modell über z.B. zwei TLM-Wrapper. Die jeweiligen Testabläufe TE1, TE2 werden in Testschritte unterteilt, welche durch Testpunkte getrennt sind. Die Testpunkte können bei einem parallelen Überprüfen der Schaltungsmodelle auch als Synchronisierungspunkte der Testläufe TE1, TE2 eingesetzt werden. Bei einem seriellen Ablauf der Testläufe TE1, TE2 bzw. wenn die Schaltungsmodelle M1, M2 nacheinander dem Testlauf TE1, TE2 unterworfen werden, können die Testpunkte zum Auslösen einer Messung genutzt werden. For a review of the two exemplary models M1, M2 to a logic circuit such as a direct memory access or DMA controller, of which a transfer of data between two storage units is controlled, is in a first step 1 first defines the test environment TB. Then the test procedure TE1, TE2 for the circuit models M1, M2 is determined, wherein for a parallel sequence for each circuit model M1, M2 an identical test procedure TE1, TE2 is created in the test environment TB. In this case, for example, the first circuit model M1 or the ESL model M1 is assigned a first test sequence TE1 and the second circuit model M2 or the RTL model M2 is assigned a second test sequence TE2. The two test sequences TE1, TE2 are identical and a communication between the respective test sequence TE1, TE2 and circuit model M1, M2 takes place via the communication layer KS or the TLM wrapper or for the ESL model via eg two TLM wrappers. The respective test sequences TE1, TE2 are divided into test steps, which are separated by test points. The test points can also be used as synchronization points of the test runs TE1, TE2 in a parallel checking of the circuit models. In the case of a serial sequence of the test runs TE1, TE2, or if the circuit models M1, M2 are subjected successively to the test run TE1, TE2, the test points can be used to trigger a measurement.

In einem zweiten Verfahrensschritt 2 werden die Schaltungsmodelle M1, M2, welche in der Testumgebung TB eingebettet sind, dem jeweiligen Testablauf TE1, TE2 unterworfen. D.h. bei einer parallelen Überprüfung werden die Testläufe TE1, TE2 gleichzeitig gestartet. In einem dritten Verfahrensschritt 3 werden für jeden Testschritt des jeweiligen Testablaufs TE1, TE2 eine Zeitdauer für das jeweilige Schaltungsmodell M1, M2 von der Steuereinheit gemessen und gesammelt. D.h. immer wenn ein Testpunkt im Testlauf passiert wird, wird z.B. eine Zeitdauer von der Steuereinheit mitdokumentiert. In a second process step 2 For example, the circuit models M1, M2 embedded in the test environment TB are subjected to the respective test procedure TE1, TE2. This means that in a parallel check the test runs TE1, TE2 are started simultaneously. In a third process step 3 For each test step of the respective test sequence TE1, TE2, a time duration for the respective circuit model M1, M2 is measured and collected by the control unit. That is, whenever a test point is passed in the test run, for example, a period of time is also documented by the control unit.

Bei einem parallelen Ablauf der Überprüfung werden die Testpunkte als Synchronisierungspunkte eingesetzt. Dabei wird jenes Schaltungsmodell M1, M2, von welchem ein Testschritt schneller absolviert und damit ein Test- bzw. Synchronisierungspunkt früher erreicht wird, von der Steuereinheit SE in einem vierten Verfahrensschritt 4 angehalten. Der jeweilige Testablauf TE1, TE2 dieses Schaltungsmodells M1, M2 wird dann von der Steuereinheit SE so lange gestoppt, bis auch vom langsameren Schaltungsmodell M1, M2 dieser Test- bzw. Synchronisierungspunkt erreicht worden ist. Dann werden die Testläufe TE1, TE2 von der Steuereinheit SE für den nächsten Testschritt zum Überprüfen der Schaltungsmodelle M1, M2 wieder gleichzeitig angestoßen. Von der Steuereinheit SE wird dabei, solange zumindest eines der Schaltungsmodelle M1, M2 überprüft wird bzw. zumindest einer der Testabläufe TE1, TE2 läuft, eine Zeitdauer für den jeweiligen Testschritt für das jeweilige Schaltungsmodell mitgemessen bzw. gesammelt. D.h. von der Steuereinheit SE werden z.B. ein zwei Schaltungsmodellen M1, M2 parallel eine Zeitdauer eines Testschritts je Modell M1, M2 sowie die Zeitdifferenz zwischen dem schnelleren und dem langsameren Modell M1, M2 mitgeschrieben. Damit liegen der Steuereinheit SE Zeitdauer für jeden Testschritt je Schaltungsmodell M1, M2 und gegebenenfalls auch Unterschiede zwischen den Schaltungsmodellen M1, M2 als Ergebnisdaten vor. If the verification runs in parallel, the test points are used as synchronization points. In this case, that circuit model M1, M2, from which a test step is completed faster and thus a test or synchronization point is reached earlier, from the control unit SE in a fourth method step 4 stopped. The respective test sequence TE1, TE2 of this circuit model M1, M2 is then stopped by the control unit SE until the slower circuit model M1, M2 has reached this test or synchronization point. Then, the test runs TE1, TE2 are again initiated simultaneously by the control unit SE for the next test step for checking the circuit models M1, M2. As long as at least one of the circuit models M1, M2 is checked or at least one of the test sequences TE1, TE2 is running, the control unit SE measures or accumulates a time duration for the respective test step for the respective circuit model. That is, the control unit SE, for example, a two circuit models M1, M2 parallel recorded a time duration of a test step per model M1, M2 and the time difference between the faster and the slower model M1, M2. Thus, the control unit SE has time duration for each test step per circuit model M1, M2 and possibly also differences between the circuit models M1, M2 as result data.

Bei einem seriellen Ablauf der Überprüfung werden die Schaltungsmodelle M1, M2 seriell dem Testablauf TE1, TE2 in der Testumgebung TB unterworfen. Von der Steuereinheit SE werden dann beispielsweise die Zeitdauern der jeweiligen Testschritte für das gerade getestete Modell M1, M2 im dritten Verfahrensschritt 3 mitdokumentiert. D.h. es wird eine absolute Zeitdauer je Testschritt (d.h. immer wenn ein Testpunkt passiert wird für jeden Testlauf TE1, TE2 und für jedes Schaltungsmodell M1, M2 von der Steuereinheit SE gemessen und gesammelt. Aus diesen Informationen können dann z.B. in der Steuereinheit SE oder bei einer Nachverarbeitung gegebenenfalls vorhandene Zeitdifferenzen bei einem jeweiligen Testschritt zwischen den Schaltungsmodellen M1, M2 berechnet werden. In a serial expiration of the check, the circuit models M1, M2 are serially subjected to the test procedure TE1, TE2 in the test environment TB. From the control unit SE then, for example, the durations of the respective test steps for the currently tested model M1, M2 in the third step 3 mitdokumentiert. This means that an absolute time duration per test step (ie whenever a test point is passed is measured and collected by the control unit SE for each test run TE1, TE2 and for each circuit model M1, M2 Post-processing optionally existing time differences in a respective test step between the circuit models M1, M2 are calculated.

In einem fünften Verfahrensschritt 5 können die gesammelten Ergebnisdaten dann in einer Datenbank PD abgelegt und abgespeichert werden. Aus dieser Datenbank PD sind bei einem parallelen Überprüfungslauf und entsprechender Abspeicherung der Ergebnisdaten sehr leicht Abweichungen, Unterschiede, Zeitdifferenzen zwischen den Schaltungsmodellen M1, M2 ersichtlich. Diese Datenbank PD kann beispielsweise auch sehr einfach für eine automatische Auswertung herangezogen werden. Von der Datenbank PD wird auch aufgezeigt, ob es Abweichungen und Unterschiede zwischen den getesteten Modellen M1, M2 gibt bzw. ob Zeitannahmen z.B. für das ESL-Modell M1 korrekt getroffen wurden. Zusätzlich ist aus der Datenbank PD ersichtlich, bei welchem Testschritt es gegebenenfalls zu Fehlern und/oder falschen Annahmen in einem der Schaltungsmodelle M1, M2 gekommen ist. In a fifth process step 5 The collected result data can then be stored in a database PD and stored. Deviations, differences, time differences between the circuit models M1, M2 can easily be seen from this database PD in a parallel check run and corresponding storage of the result data. For example, this database PD can also be used very simply for automatic evaluation. The database PD also shows whether there are deviations and differences between the tested models M1, M2 or whether time assumptions have been made correctly, for example for the ESL model M1. In addition, it can be seen from the database PD at which test step errors and / or false assumptions have possibly occurred in one of the circuit models M1, M2.

Bei serieller Überprüfung der Schaltungsmodelle M1, M2 ist für eine einfache und übersichtliche Auswertung der Datenbank PD eine Bearbeitung im fünften Verfahrensschritt 5 notwendig. Dabei können z.B. die gesammelten Ergebnisdaten synchronisiert werden. D.h., dass die für das jeweilige Schaltungsmodell M1, M2 gesammelten Daten nach Testschritten geordnet werden und dann z.B. gleiche Testschritte gegenübergestellt werden, wobei beispielsweise ermittelte Zeitdifferenzen und/oder Abweichungen bei einem Testschritte zwischen den Schaltungsmodellen M1, M2 vermerkt werden müssen. Dann sind auch die in der Datenbank PD abgelegten Ergebnisdaten bei serieller Durchführung der Testabläufe TE1, TE2 automatisch und übersichtlich auswertbar. In the case of serial checking of the circuit models M1, M2, a processing in the fifth method step is for a simple and clear evaluation of the database PD 5 necessary. In this case, for example, the collected result data can be synchronized. That is, the data collected for the respective circuit model M1, M2 data are ordered by test steps and then, for example, the same test steps are compared, for example, determined time differences and / or deviations in a test steps between the circuit models M1, M2 must be noted. Then the result data stored in the database PD can also be evaluated automatically and clearly when the test sequences TE1, TE2 are carried out in series.

Claims (9)

Verfahren zum Überprüfen von unterschiedlichen Modellen (M1, M2) einer logischen Schaltung, wobei zumindest zwei Schaltungsmodelle (M1, M2) der logische Schaltung vorgesehen sind, dadurch gekennzeichnet, dass zuerst eine für die Schaltungsmodelle (M1, M2) identische Testumgebung (TB) definiert wird, dass dann ein Testablauf (TE1, TE2) mit Testschritten und Testpunkten, durch welche die Testschritte getrennt werden, festgelegt wird (1), dass dann die Schaltungsmodelle (M1, M2) der logischen Schaltung in der Testumgebung (TB) dem Testablauf (TE1, TE2) unterworfen werden (2), dass für jeden Testschritt zwischen den Testpunkten Zeitdauern für die einzelnen Schaltungsmodelle (M1, M2) gemessen und gesammelt werden (3, 4), und dass auf Basis der gemessenen Zeitdauern Zeitdifferenzen und/oder Abweichungen zwischen den Schaltungsmodellen (M1, M2) ermittelt werden (5). Method for checking different models (M1, M2) of a logic circuit, wherein at least two circuit models (M1, M2) of the logic circuit are provided, characterized in that first a test environment (TB) identical to the circuit models (M1, M2) is defined is that then a test sequence (TE1, TE2) with test steps and test points, by which the test steps are separated, is determined ( 1 ), that then the circuit models (M1, M2) of the logic circuit in the test environment (TB) are subjected to the test procedure (TE1, TE2) ( 2 ) that for each test step between the test points time periods for the individual circuit models (M1, M2) are measured and collected ( 3 . 4 ), and that time differences and / or deviations between the circuit models (M1, M2) are determined on the basis of the measured time durations ( 5 ). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für eine Steuerung des Testablaufs (TE1, TE2), eine Sammeln und Messen der Zeitdauern eine Steuereinheit (SE) vorgesehen wird. A method according to claim 1, characterized in that for a control of the test procedure (TE1, TE2), a collecting and measuring the time periods, a control unit (SE) is provided. Verfahren nach einem der Ansprüche 1 bis 2, dadurch gekennzeichnet, dass die gesammelten und gemessenen Zeitdauern und -differenzen in einer Datenbank (PD) abgelegt und abgespeichert werden (5). Method according to one of claims 1 to 2, characterized in that the collected and measured durations and differences in a database (PD) are stored and stored ( 5 ). Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Testablauf (TE1, TE2) von dem Schaltungsmodellen (M1, M2) seriell durchlaufen wird (2, 3, 4). Method according to one of Claims 1 to 3, characterized in that the test sequence (TE1, TE2) is run through in series by the circuit model (M1, M2) ( 2 . 3 . 4 ). Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Testablauf (TE1, TE2) von den Schaltungsmodellen (M1, M2) parallel durchlaufen wird (2), wobei die Testpunkte als Synchronisationspunkte für den Testdurchlauf verwendet werden (3, 4). Method according to one of Claims 1 to 3, characterized in that the test sequence (TE1, TE2) is run through in parallel by the circuit models (M1, M2) ( 2 ), where the test points are used as synchronization points for the test run ( 3 . 4 ). Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Steuereinheit (SE) zum Synchronisieren des parallelen Testablaufs (TE1, TE2) der Schaltungsmodelle (M1, M2) eingesetzt wird (4). Method according to Claim 5, characterized in that the control unit (SE) is used to synchronize the parallel test sequence (TE1, TE2) of the circuit models (M1, M2) ( 4 ). Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass als logische Schaltung eine so genannte anwendungsspezifische, integrierte Schaltung oder Application Specific Integrated Circuit vorgesehen wird. Method according to one of claims 1 to 6, characterized in that a so-called application-specific, integrated circuit or Application Specific Integrated Circuit is provided as the logic circuit. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass als logische Schaltung eine so genannte Feld-programmierbare Logikgatter-Anordnung oder Field Programmable Gate Array vorgesehen wird. Method according to one of Claims 1 to 7, characterized in that a so-called field-programmable logic gate arrangement or field programmable gate array is provided as the logic circuit. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass ein erstes Schaltungsmodell (M1) der logischen Schaltung als High-Level-Modell, insbesondere als so genanntes Electronic System-level-Modell, ausgeführt wird, und dass ein zweites Schaltungsmodell (M2) als Hardwarebeschreibungsmodell, insbesondere als so genanntes Registertransferebenen-Modell, ausgeführt wird. Method according to one of claims 1 to 8, characterized in that a first circuit model (M1) of the logic circuit as a high-level model, in particular as a so-called Electronic System-level model, is executed, and that a second circuit model (M2 ) is executed as a hardware description model, in particular as a so-called register transfer plane model.
DE201210217593 2012-09-27 2012-09-27 Method for controlling different models of electronic logic circuit, involves measuring and collecting test step between test points of time durations for circuit models based on measured period of time difference between circuit model Ceased DE102012217593A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201210217593 DE102012217593A1 (en) 2012-09-27 2012-09-27 Method for controlling different models of electronic logic circuit, involves measuring and collecting test step between test points of time durations for circuit models based on measured period of time difference between circuit model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201210217593 DE102012217593A1 (en) 2012-09-27 2012-09-27 Method for controlling different models of electronic logic circuit, involves measuring and collecting test step between test points of time durations for circuit models based on measured period of time difference between circuit model

Publications (1)

Publication Number Publication Date
DE102012217593A1 true DE102012217593A1 (en) 2014-03-27

Family

ID=50235282

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201210217593 Ceased DE102012217593A1 (en) 2012-09-27 2012-09-27 Method for controlling different models of electronic logic circuit, involves measuring and collecting test step between test points of time durations for circuit models based on measured period of time difference between circuit model

Country Status (1)

Country Link
DE (1) DE102012217593A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225850A (en) * 2016-11-04 2019-09-10 布鲁布拉克有限责任公司 The brake assist system of cyclist on bicycle

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080120082A1 (en) * 2006-11-20 2008-05-22 Herve Jacques Alexanian Transaction Co-Validation Across Abstraction Layers
US20110184714A1 (en) * 2010-01-26 2011-07-28 Jeda Technologies, Inc. Methods and Systems for Analyzing Electronic Design and Validation Models

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080120082A1 (en) * 2006-11-20 2008-05-22 Herve Jacques Alexanian Transaction Co-Validation Across Abstraction Layers
US20110184714A1 (en) * 2010-01-26 2011-07-28 Jeda Technologies, Inc. Methods and Systems for Analyzing Electronic Design and Validation Models

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GROSSE, D. [et.al.]: Simulation-based equivalence checking between SystemC models at different levels of abstraction.In: Proceedings of the 21st Great lakes symposium on VLSI, May 2 - 4 2011, Lausanne, Pages 223 - 228.
GROSSE, D. [et.al.]: Simulation-based equivalence checking between SystemC models at different levels of abstraction.In: Proceedings of the 21st Great lakes symposium on VLSI, May 2 - 4 2011, Lausanne, Pages 223 - 228. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225850A (en) * 2016-11-04 2019-09-10 布鲁布拉克有限责任公司 The brake assist system of cyclist on bicycle
CN110225850B (en) * 2016-11-04 2022-06-24 布鲁布拉克有限责任公司 Brake assist system for cyclists on bicycles

Similar Documents

Publication Publication Date Title
DE19937232B4 (en) Development and evaluation system for semiconductor integrated circuits
DE10147078A1 (en) Complex design validation method for system-on-chip integrated circuit, involves feedbacking modified vectors to EDA environment to modify IC design data so as to correct design errors
DE10053207A1 (en) Design validation method for integrated system chip circuit, involves validating entire design using simulation test banks of complete system chip and execution of application
DE3702408C2 (en)
EP1933214A2 (en) Automated generation and adaptation of a machine or plant model
DE102011015444A1 (en) Nethod and apperatus for operational-level functional and degradation fault analysis
DE10392497T5 (en) Manufacturing method and apparatus for avoiding prototype deferment in ASIC / SOC production
DE102012211981A1 (en) Method and apparatus for creating and testing a controller program
DE102006019292A1 (en) Modeling programmable devices
DE102016102920A1 (en) A method of configuring a test device set up to test an electronic controller
DE10296464T5 (en) Method and device for validating the design of complex integrated circuits
DE102017211433A1 (en) Method for performing a functional test of a control unit in a hardware-in-the-loop test, HIL test, and HIL test bench and control unit
WO1992018944A1 (en) Procedure for verifying data-processing systems
EP3306295B1 (en) Method and device for testing electronic controls, in particular for testing of automobile control systems
DE102012217593A1 (en) Method for controlling different models of electronic logic circuit, involves measuring and collecting test step between test points of time durations for circuit models based on measured period of time difference between circuit model
DE112013006981T5 (en) Control system test equipment
WO2019034453A1 (en) Method and device for synchronizing a simulation with a real-time system
DE102015214625A1 (en) Vehicle simulator for a rail vehicle
EP3739479B1 (en) Method for detecting errors in the program logic of a system of distributed programmable gate assemblies
DE102008039380A1 (en) Test System
EP3399425A1 (en) Method for detecting wiring topology
DE102016101344A1 (en) A method of configuring a test device set up to test a controller
EP2824597A1 (en) Method for the testing of different models of a logic circuit
DE19740543C1 (en) Integrated circuit test method
EP3657363A1 (en) Register transfer model and method for simulation of an integrated circuit

Legal Events

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