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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing 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
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
Ausführung der Erfindung Embodiment of the invention
Im beispielhaft in
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
In einem zweiten Verfahrensschritt
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
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
In einem fünften Verfahrensschritt
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
Claims (9)
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)
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)
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 |
-
2012
- 2012-09-27 DE DE201210217593 patent/DE102012217593A1/en not_active Ceased
Patent Citations (2)
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)
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)
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 |