DE10302795A1 - Method for providing and optimizing a virtual prototype and arrangement - Google Patents

Method for providing and optimizing a virtual prototype and arrangement Download PDF

Info

Publication number
DE10302795A1
DE10302795A1 DE10302795A DE10302795A DE10302795A1 DE 10302795 A1 DE10302795 A1 DE 10302795A1 DE 10302795 A DE10302795 A DE 10302795A DE 10302795 A DE10302795 A DE 10302795A DE 10302795 A1 DE10302795 A1 DE 10302795A1
Authority
DE
Germany
Prior art keywords
integrated circuit
transaction
performance
assigned
power consumption
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.)
Granted
Application number
DE10302795A
Other languages
German (de)
Other versions
DE10302795B4 (en
Inventor
Thomas Zettler
Carsten Mielenz
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10302795A priority Critical patent/DE10302795B4/en
Priority to PCT/EP2004/000582 priority patent/WO2004066167A2/en
Publication of DE10302795A1 publication Critical patent/DE10302795A1/en
Application granted granted Critical
Publication of DE10302795B4 publication Critical patent/DE10302795B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/333Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Abstract

Die Erfindung betrifft ein Verfahren zum Bereitstellen und Optimieren eines virtuellen Prototyps, insbesondere für eine integrierte Schaltung oder ein System, wobei die integrierte Schaltung bzw. das System und/oder eine dafür vorgesehene Applikations-Software in eine Vielzahl von Transaktionen unterteilt ist und eine Transaktion jeweils einen ihr zugeordneten Teil der integrierten Schaltung bzw. des Systems oder ein Software-Element charakterisiert, bei dem einer Transaktion jeweils ein Wichtungselement zugeordnet wird, welches die Leistungsaufnahme des entsprechenden Teils bzw. des Software-Elements darstellt, und dass eine Leistungsberechnung vorgenommen wird.The invention relates to a method for providing and optimizing a virtual prototype, in particular for an integrated circuit or a system, the integrated circuit or the system and / or an application software provided therefor being subdivided into a plurality of transactions and one transaction each characterizes a part of the integrated circuit or system or a software element assigned to it, in which a weighting element is assigned to each transaction, which represents the power consumption of the corresponding part or the software element, and that a power calculation is carried out.

Description

Die Erfindung betrifft ein Verfahren zum Bereitstellen und Optimieren eines virtuellen Prototyps für eine integrierte Schaltung oder ein System der im Oberbegriff des Patentanspruchs 1 genannten Art, also ein Verfahren zum Bereitstellen und Optimieren eines virtuellen Prototyps insbesondere für eine integrierte Schaltung oder ein System, wobei die integrierte Schaltung bzw. das System und/oder eine dafür vorgesehene Applikations-Software in eine Vielzahl von Transaktionen unterteilt ist und eine Transaktion jeweils einen ihr zugeordneten Teil der integrierten Schaltung bzw. des Systems oder ein Software-Element charakterisiert. Die Erfindung betrifft ferner eine Anordnung mit einem solchen virtuellen Prototypen gemäß dem Oberbegriff des Patentanspruchs 18.The invention relates to a method to provide and optimize a virtual prototype for an integrated one Circuit or system in the preamble of the claim 1 mentioned type, i.e. a method for providing and optimizing a virtual prototype especially for an integrated circuit or a system, the integrated circuit or system and / or one for it intended application software in a variety of transactions is divided and a transaction is assigned to it Part of the integrated circuit or system or a software element characterized. The invention further relates to an arrangement with such a virtual prototype according to the preamble of the claim 18th

Mit der ständig weiter zunehmenden Komplexität von elektronischen Systemen und integrierten Schaltungen, zum Beispiel "Anwender spezifischen integrierten Schaltungen" (ASIC) oder "System-on-Chips" (SOC), kommt dem Test bzw. der Verifizierung der vorgesehenen Funktionalität des Systems bzw. der Schaltung eine immer größere Bedeutung zu. Bei dieser Verifizierung, die typischerweise noch in oder nach der Designphase vorgenommen wird, werden die relevanten Systemeigenschaften qualifiziert und quantifiziert.With the ever increasing complexity of electronic Systems and integrated circuits, for example "user specific integrated circuits "(ASIC) or "System-on-Chips" (SOC), comes to that Test or verification of the intended functionality of the system or the circuit is becoming increasingly important to. In this verification, which is typically still in or after the relevant system properties are qualified during the design phase and quantified.

Dabei stellt die Leistungsaufnahme neben der Leistungsfähigkeit (System-Performance) eine immer wichtigere Systemeigenschaft dar. Dies trifft in besonderem Maße für mobile Anwendungen wie Mobilfunktelefon eine Rolle, die mit einem begrenzten Energiereservoir auskommen müssen. Hier ist aus den Gerätekennwerten wie Stand-by-Zeit und Gesprächszeit direkt erkennbar, welches System die besseren Geräteeigenschaften in Bezug auf seinen Energieverbrauch aufweist. Niedrige Werte bei der Leistungsaufnahme erlauben eine Differenzierung gegenüber vergleichbaren Geräten mit gleicher oder ähnlicher Funktionalität.The power consumption in addition to performance (System performance) represents an increasingly important system property. This is particularly true for mobile Applications such as cell phones play a role with a limited energy reservoir have to get by. Here is from the device characteristics such as standby time and talk time directly recognizable which system has the better device properties In terms of its energy consumption. Low power consumption values allow a differentiation from comparable devices with same or more similar Functionality.

Zudem werden die Systemeigenschaften hoch komplexer integrierter Schaltungen zunehmend durch die Interaktion der integrierten Hardware mit der Applikationssoftware, die zum Beispiel von einem Gerätehersteller bereitgestellt wird, bestimmt, so dass bei modernen Systemen die Hardware nicht mehr losgelöst von der Applikationssoftware bewertet werden kann. Da typischerweise der Großteil der Hardware bezogenen Systemeigenschaften in einer sehr frühen Entwicklungsphase festgelegt wird, ist es entscheidend, dass im Zusammenspiel mit der Applikationssoftware die jeweils optimale Architektur für eine möglichst geringe Leistungsaufnahme bestimmt wird.The system properties are also high complex integrated circuits increasingly through interaction the integrated hardware with the application software that Example from a device manufacturer is provided, so that in modern systems the Hardware no longer detached can be evaluated by the application software. Because typically the majority the hardware-related system properties in a very early development phase it is crucial that in interaction with the application software the optimal architecture for a possible low power consumption is determined.

Zur Überprüfung der Funktionalität eines neu entwickelten Produktes existieren grundsätzlich zwei unterschiedliche Ansätze: Es werden ein oder mehrere Hardware-Prototypen bereit gestellt, an denen die Hardware und Software direkt getestet wird. Diese Hardware orientierte Methode der Evaluierung ist zeitintensiv und verursacht darüber hinaus sehr hohe Kosten.To check the functionality of a newly developed product basically exist two different Approaches: One or more hardware prototypes are provided, where the hardware and software are tested directly. This hardware oriented method of evaluation is time-consuming and caused about that in addition, very high costs.

Aufgrund der hohen Komplexität heutiger Systeme ( z.B. Handys oder integrierte SOC Schaltungen ) besteht das Bedürfnis an einem Hochgeschwindigkeits-Simulationsmodels für das zu entwickelnde System. Dieses Model wird nachfolgend als virtueller Prototyp bezeichnet. Ein virtueller Prototyp stellt ein Softwareabbild einer Hardware bzw. eines Systems dar. In einem virtuellen Prototyp können bereits vorhandene Komponenten mit noch zu entwerfenden kombiniert und bewertet werden. Die Methode der virtuellen Realität ermöglicht es, wichtige geometrische und physikalische Zusammenhänge umfas send darzustellen und auf diese Weise physikalische Prototypen auf System-, Komponenten- und Bauteileebene zumindest teilweise durch virtuelle Pendants zu ersetzen. Die oben genannten Nachteile bei der Evaluierung des Gesamtsystems können so reduziert werden.Because of the high complexity of today's systems (e.g. cell phones or integrated SOC circuits) there is a need a high-speed simulation model for the system to be developed. This model is referred to below as a virtual prototype. A virtual prototype represents a software image of a hardware or a system. In a virtual prototype you can already existing components combined with still to be designed and evaluated become. The method of virtual reality enables important geometrical and physical relationships comprehensive representation and in this way physical prototypes at least partially at system, component and component level to be replaced by virtual counterparts. The disadvantages mentioned above in the evaluation of the overall system can be reduced.

Der Kerngedanke der computer-gestützten Entwicklung eines virtuellen Prototypen beinhaltet die Simulation und Visualisierung von komplexen Datenmodellen, die mit anderen herkömmlichen Maßnahmen nicht oder nur mit einem exorbitant hohen Aufwand zu realisieren sind. Die mittlerweile stark verbesserte Hardware- und Virtual-Reality-Software erlaubt es zudem, komplexe und große Datenmengen im zwei- bzw. dreidimensionalen Raum zu visualisieren. Neben der reinen Darstellung von Daten hat sich die Möglichkeit der Interaktion mit der virtuellen Szene als äußerst wichtig erwiesen, um die richtigen Informationen und Schlüsse aus dem Simulationsmodell bzw. den visualisierten Daten ziehen zu können. An dem virtuellen Prototyp kann der Systementwickler a priori die wichtigsten Entwicklungsparameter, wie zum Beispiel Funktionalität, Leistungsfähigkeit, Leistungsaufnahme, etc. überprüfen.The core idea of computer-aided development of a virtual prototype includes simulation and visualization of complex data models with other conventional ones activities not or only with an exorbitant amount of effort are. The now greatly improved hardware and virtual reality software allows it also, complex and large Visualize amounts of data in two or three-dimensional space. In addition to the pure representation of data, there is the possibility of interaction with the virtual scene proved to be extremely important to the right information and conclusions from the simulation model or to be able to pull the visualized data. On the virtual prototype the system developer can a priori identify the most important development parameters, like functionality, performance, Check power consumption, etc.

Die Funktionsweise eines virtuellen Prototypen ist beispielsweise aus der Spezifikation "VSI Alliance, Whitepaper, C++ System Simulation Interfaces", Ulrich Bortfeld, Carsten Mielenz, Juli 2000 beschrieben. Anhand von 1 soll nachfolgend der Einsatz eines solchen virtuellen Prototypen veranschaulicht werden.The functionality of a virtual prototype is described for example in the specification "VSI Alliance, Whitepaper, C ++ System Simulation Interfaces", Ulrich Bortfeld, Carsten Mielenz, July 2000. Based on 1 The use of such a virtual prototype will be illustrated below.

1 zeigt eine schematische Darstellung eines herkömmlichen Entwicklungsablauf einer integrierten Schaltung (SOG). 1 shows a schematic representation of a conventional development process of an integrated circuit (SOG).

In der Produkt-Definitionsphase (Concept Engineering), d.h. von der Architekturphase bis zur Design-Spezifikation, erfolgt eine Festlegung der Architektur sowie des Grobdesigns verschiedener Funktionsblöcke der integrierten Schaltung.In the product definition phase (concept engineering), i.e. from the architectural phase to the design specification a definition of the architecture and the rough design of various function blocks of the integrated circuit.

Bislang wird hier lediglich eine manuelle und statische Hardwareberechnung der zu erwartenden Leistungsaufnahme durchgeführt. Eine Leistungsüberprüfung erfolgt daher zumeist aufgrund von Erfahrungswerten. Allerdings wird der größte Teil der Leistungsaufnahme des späteren Systems bereits in diesem frühen Entwicklungsstadium festgelegt und kann später nicht oder nur durch ein aufwendiges Re-Design verändert werden. Die Produkt-Definition dauert in der Regel einige Monate.So far, only a manual and static hardware calculation of the expected power consumption has been carried out here. A performance review is therefore usually based on experience. However, most of the leis of the later system was determined at this early stage of development and cannot be changed later or only through a complex redesign. The product definition usually takes a few months.

In der nachfolgenden, sogenannten "Front-End-Design"-Phase, d.h. im Bereich, der die Schritte vom RTL-basierten Blockdesign (RTL = Register Transfer Level) bis zur Verifikation des Top-Levels umfasst, erfolgt die eigentliche Entwicklung der einzelnen Funktionsblöcke bzw. Schaltungselemente der integrierten Schaltung und deren Verschaltungen miteinander. Die Bestimmung der Leistungsaufnahme erfolgt hier mittels herkömmlicher sogenannter "Electronic Design Automation" (EDA) Tools: Das Tool "Power Theater" der Firma Sequence erlaubt zum Beispiel eine Bestimmung und Analyse der Leistungsaufnahme basierend auf einer RTL- (Register Transfer Level) oder Gate-Level Darstellung des Designs. Das Tool "Primepower" der Firma Synopsis erlaubt die Bestimmung dynamischer Leistungswerte auf der Grundlage der Gate-Level Darstellung des Designs. Für die Front-End-Design-Phase wird typischerweise eine Entwicklungszeit von 2 Monaten bis zu einem Jahr benötigt. Im Anschluss an das Front-End-Design kann mit der Entwicklung der Software begonnen werden.In the subsequent so-called "front-end design" phase, i.e. in the area, of the steps from the RTL-based block design (RTL = Register Transfer Level) until the top level is verified actual development of the individual function blocks or Circuit elements of the integrated circuit and their interconnections with one another. The power consumption is determined here using conventional methods so-called "Electronic Design Automation "(EDA) Tools: The "Power Theater "of the company Sequence, for example, allows the power consumption to be determined and analyzed based on an RTL (Register Transfer Level) or gate level Presentation of the design. The tool "Primepower" from Synopsis allows the determination dynamic performance values based on the gate level representation of the design. For the front-end design phase is typically a development period from 2 months to a year. Following the front-end design development of the software can begin.

Der Ablauf für die Spezifikation und Entwicklung eines Systems erfolgt in ähnlicher Weise.The process for specification and development one system is done in a similar way Wise.

Aus der Darstellung der Entwicklungsphasen in der 1 wird deutlich, dass die aufgeführten Leistungsberechnungs-Tools erst am relativen Ende der Front-End-Design-Phase zum Einsatz kommen können, so dass die Evaluierungsergebnisse ebenfalls erst sehr spät zur Verfügung stehen. Problematisch daran ist, dass die sehr späte Verfügbarkeit der Basisdaten und damit die späte Einsetzbarkeit der Leistungsevaluierungs-Tools eine effektive Optimierung der Systemarchitektur nicht zulassen. An zukünftige Evaluierungstools zur Analyse integrierter Schaltungen wird jedoch zunehmend die Anforderung der möglichst frühen Einsetzbarkeit gestellt.From the presentation of the development phases in the 1 it becomes clear that the performance calculation tools listed can only be used at the relative end of the front-end design phase, so that the evaluation results are also only available very late. The problem with this is that the very late availability of the basic data and thus the late applicability of the performance evaluation tools do not allow an effective optimization of the system architecture. Future evaluation tools for analyzing integrated circuits, however, are increasingly demanding that they be used as early as possible.

Ein weiterer Nachteil sind die sehr langen Simulations-Laufzeiten von Applikations-Testfällen mit den oben genannten Evaluierungs-Tools. Derartige Testfälle werden benötigt, um die Leistungsaufnahme in einem Anwendungsfall simulieren zu können. Die extrem langen Simulations-Laufzeiten sind aber insbesondere bei hochkomplexen Schaltungen mitunter so lang, dass relevante, ausreichend große Abschnitte der Applikationssoftware zeitbedingt nicht simuliert werden können. Damit ist aber eine vollständige Bewertung des gesamten Systems nicht mehr möglich.Another disadvantage is the very long simulation runtimes of application test cases with the above evaluation tools. Such test cases will be needed to be able to simulate the power consumption in an application. The extremely long simulation runtimes are especially important highly complex circuits sometimes so long that relevant, sufficient size Sections of the application software are not simulated due to time constraints can be. But this is a complete one Assessment of the entire system is no longer possible.

Ein weiteres Problem besteht darin, dass mit der leistungsbezogenen Entwicklung und Optimierung der Applikations-Software erst begonnen werden kann, wenn eine Leistungsbewertung des gesamten Systems erfolgt ist. Diese Leistungsberechnung kann bislang aber erst am relativen Ende der Front-End-Design-Phase im Entwicklungsablauf vorgenommen werden, so dass die Optimierung der Software auch erst danach erfolgen kann. Dies verlängert aber zusätzlich die Entwicklungsdauer einer integrierten Schaltung. Es besteht aber mithin der Bedarf, mit der Entwicklung der Applikationsspezifischen Software zeitgleich oder zumindest etwas zeitverschoben mit der Hardwareentwicklung zu beginnen.Another problem is that with the performance-based development and optimization of Application Software can only begin when a performance evaluation of the entire System is done. So far, this power calculation can only at the relative end of the front-end design phase be made in the development process so that the optimization the software can only be done afterwards. But this extends additionally the development time of an integrated circuit. But there is hence the need with the development of the application-specific Software at the same time or at least a little bit behind schedule Hardware development to begin.

Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, eine verbesserte Testumgebung sowie ein verbessertes Testverfahren zur funktionalen Leistungsprüfung an einem virtuellen Prototyp bereitzustellen.The present invention lies therefore based on the task of an improved test environment as well an improved test procedure for functional performance testing to provide a virtual prototype.

Erfindungsgemäß wird diese verfahrensbezogene Aufgabe durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst. Demgemäß ist ein gattungsgemäßes Verfahren vorgesehen, bei dem einer Transaktion jeweils ein Wichtungselement zugeordnet wird, welches die Leistungsaufnahme des entsprechenden Teils bzw. des Software-Elements darstellt, und dass eine Leistungsberechnung vorgenommen wird.According to the invention, this is process-related Task by a method with the features of the claim 1 solved. Accordingly, one is generic method provided in which a weighting element is assigned to each transaction the power consumption of the corresponding part or of the software element, and that a performance calculation is made becomes.

Die anordnungsbezogene Aufgabe wird erfindungsgemäß durch eine Anordnung mit den Merkmalen des Patentanspruchs 18 gelöst. Demgemäß ist eine gattungsgemäße Anordnung vorgesehen, bei der einer Transaktion jeweils ein Wichtungselement zugeordnet ist, welches die Leistungsaufnahme des entsprechenden Schaltungsteils darstellt.The assignment-related task is according to the invention an arrangement with the features of claim 18 solved. Accordingly, one is generic arrangement provided in which a weighting element is assigned to each transaction which is the power consumption of the corresponding circuit part represents.

Der Grundgedanke der vorliegenden Erfindung besteht darin, den Energieverbrauch bzw. die Leistungsaufnahme eines zu entwickelnden Halbleiterchips mit darauf implementierter integrierter Schaltung oder eines ganzen Systems in einem sehr frühen Entwicklungsstadium zu ermitteln und zu analysieren, indem Software-Applikationen auf einem virtuellen Modell (Power Virtual Prototype) einer Chip- bzw. System-Architektur angewendet werden.The basic idea of the present Invention is energy consumption or power consumption of a semiconductor chip to be developed with implemented on it integrated circuit or an entire system at a very early stage of development to identify and analyze software applications by a virtual model (Power Virtual Prototype) of a chip or System Architecture be applied.

Die vorliegende Erfindung beschreibt ein systematisches Tool-basiertes Verfahren zur Bereitstellung, Verwendung und Optimierung eines virtuellen Prototypen, mittels dem bereits sehr viel früher als bei bisherigen Verfahren eine qualitative und insbesondere auch quantitative Bestimmung des Stromverbrauchs und damit auch der Leistungsaufnahme einzelner Teile bzw. eines gesamten Systems oder einer gesamten integrierten Schaltung ermöglicht wird. Darüber hinaus ist auch die Leistungsaufnahme beim Durchlaufen einer Applikationssoftware bestimmbar. Dieses Verfahren ist vorteilhafterweise bereits in der Architekturphase bei der Entwicklung des Systems oder der integrierten Schaltung einsetzbar.The present invention describes a systematic tool-based process for providing Use and optimization of a virtual prototype, by means of that much earlier than with previous procedures a qualitative and in particular also quantitative determination of the power consumption and thus also the power consumption of individuals Parts or an entire system or an entire integrated Circuit is made possible. About that In addition, there is also the power consumption when running through application software determinable. This method is advantageously already in the Architectural phase in the development of the system or the integrated Circuit can be used.

Beim erfindungsgemäßen Verfahren wird zunächst die integrierte Schaltung bzw. das System in eine Vielzahl einzelner Transaktionen unterteilt. Zusätzlich oder alternativ kann auch die entsprechende Applikationssoftware in eine Vielzahl von einzelnen Transaktionen unterteilt sein. Die der vorliegenden Erfindung zugrunde liegende Idee besteht nun darin, dass jeder einzelnen Transaktion der integrierten Schaltung oder des Systems bzw. der Software bezüglich seiner Leistungsaufnahme gewichtet wird.In the method according to the invention, the integrated circuit or the system is first divided into a large number of individual transactions. Additionally or alternatively, the corresponding application software can also be divided into a large number of individual transactions. The idea underlying the present invention now consists in that each individual transaction of the integrated circuit or the system or the software is weighted with regard to its power consumption.

Anschließend kann die gesamte integrierte Schaltung bzw. Teile davon sowie die Applikations-Software einer Leistungsbestimmung unterzogen werden. Dazu wird ein TLM-Modell (Transaction-Level Model) der integrierten Schaltung auf der Grundlage des eingangs genannten "VSI Alliance, Whitepaper, C++ System Simulation Interfaces" verwendet. Der besondere Vorteil dieses TLM-Modells besteht darin, dass es bereits sehr früh im Entwicklungsstadium bereit gestellt werden kann und damit eine sehr schnelle Reaktionszeit erlaubt. Durch die Transaktion basierte Beschreibung der TLM-Modelle wird ferner eine deutliche Beschleunigung der Simulationszeiten erreicht.Then the entire integrated circuit or parts thereof as well as the application software of a performance determination be subjected. For this purpose, a TLM model (transaction level model) the integrated circuit based on the "VSI Alliance, white paper, C ++ System Simulation Interfaces "is used. The particular advantage of this TLM model is that it very early can be provided in the development stage and thus a very fast response time allowed. Based on the transaction Description of the TLM models will also have a significant acceleration of the simulation times reached.

Das erfindungsgemäße Verfahren weist insbesondere auch die folgenden Vorteile auf:

  • – Die Daten für die Leistungsaufnahme sind bereits sehr früh im Entwicklungsablauf für die integrierte Schaltung verfügbar. Dadurch lässt sich die Gesamtdauer für die Entwicklung sowie für ein Re-Design einer integrierten Schaltung deutlich verringern. Darüber hinaus kann schon in einem sehr frühen Entwicklungsstadium damit begonnen werden, die Applikations-spezifische Software zu entwickeln. Dies reduziert die gesamte Entwicklungsdauer weiter.
  • – Der virtuelle Prototyp umfasst auch die Möglichkeit, die relevante Applikationssoftware zu simulieren.
  • – Es ergeben sich sehr viel schnellere Lernzyklen während der Architekturphase.
  • – Die Laufzeiten eines Evaluierungsprozesses sind sehr viel kürzer, da die zugrunde liegende Leistungsberechnung schneller durchlaufen kann. Dadurch verringert sich der Simulationsaufwand, der insbesondere bei hoch komplexen integrierten Schaltung mittlerweile ein Zeit begrenzender Faktor ist, signifikant.
  • – Es lassen sich neben statischen auch dynamische Leistungsprofile berechnen.
  • – Es besteht die Möglichkeit einer schrittweisen Verfeinerung des virtuellen Prototypmodells.
The method according to the invention in particular also has the following advantages:
  • - The data for the power consumption are available very early in the development process for the integrated circuit. This can significantly reduce the total time for the development and redesign of an integrated circuit. In addition, the application-specific software can be started at a very early stage of development. This further reduces the overall development time.
  • - The virtual prototype also includes the possibility to simulate the relevant application software.
  • - There are much faster learning cycles during the architecture phase.
  • - The running times of an evaluation process are much shorter because the underlying performance calculation can run faster. This significantly reduces the simulation effort, which is now a time-limiting factor, particularly in the case of highly complex integrated circuits.
  • - In addition to static, dynamic performance profiles can also be calculated.
  • - There is the possibility of a gradual refinement of the virtual prototype model.

Vorteilhafte Ausgestaltungen und Weiterbildungen sind den Unteransprüchen sowie der Beschreibung unter Bezugnahme auf die Zeichnung entnehmbar.Advantageous configurations and Further developments are the subclaims and the description removable with reference to the drawing.

Die Leistungsberechnung bzw. Leistungsbestimmung wird typischerweise für die gesamte zu entwickelnde integrierte Schaltung vorgenommen. In einer vorteilhaften Ausgestaltung kann die Leistungsberechnung auch für einzelne Schaltungsteile bzw. für einen Funktionsblock, der aus mehreren miteinander verschalteten Schaltungsteilen besteht, vorgenommen werden. Dadurch können neben der Optimierung der gesamten Schaltung auch einzelne Schaltungsteile oder ganze Funktionsblöcke hinsichtlich ihrer Leistungsaufnahme optimiert werden. Außerdem kann mit der Leistungsberechnung bereits begonnen werden, sobald ein Schaltungsblock fertig gestellt ist, ohne dass darauf gewartet werden muss, dass die gesamte integrierte Schaltung fertig "designed" ist.The performance calculation or performance determination is typically used for made the entire integrated circuit to be developed. In a In an advantageous embodiment, the power calculation can also be carried out for individuals Circuit parts or for a function block that consists of several interconnected Circuit parts exist. This allows in addition to the optimization of the entire circuit also individual circuit parts or entire function blocks be optimized in terms of their power consumption. Besides, can the performance calculation will start as soon as a Circuit block is completed without waiting for it must be that the entire integrated circuit is "designed".

Bei der Leistungsberechnung wird der Energie- bzw. Stromverbrauch eines Schaltungsteils, eines Funktionsblocks oder der gesamten integrierten Schaltung ermittelt. Der Energie- bzw. Stromverbrauch wird dabei in Abhängigkeit von einem oder mehreren Eingangssignalen, die für die Simulation an einem Eingang der integrierten Schaltung bzw. des Schaltungsteils angelegt werden, berechnet.When calculating the power the energy or current consumption of a circuit part, a functional block or the entire integrated circuit. The energy or electricity consumption becomes dependent of one or more input signals that are used for simulation at an input the integrated circuit or the circuit part are created, calculated.

In einer Ausgestaltung wird zur Wichtung einer Transaktion dieser ein fester Leistungswert zugewiesen wird. Der fixe Leistungswert ist eine globale, vereinfachte Darstellung der Energie einer Transaktion. Bei einer vorgegebenen Zeitdauer T kann so der Energie E der feste Leistungswert P = E/T zugeordnet werden. Dies gilt auch bei Kapazitäten im Falle einer CMOS-Schaltung.In one embodiment, weighting is used a transaction is assigned a fixed performance value. The fixed performance value is a global, simplified representation the energy of a transaction. For a given period of time T can thus be assigned to the energy E the fixed power value P = E / T become. This also applies to capacities in the case of a CMOS circuit.

In einer besonders vorteilhaften Ausgestaltung wird zur Wichtung einer Transaktion dieser eine Leistungsfunktion zugewiesen. Die Leistungsfunktion ist im Allgemeinen dann angebracht, wenn die Genauigkeit von festen Leistungswerten unzureichend wird. Als Beispiel kann die Leistungsfunktion von den Umgebungsbedingungen des Systems oder des Chips, zum Beispiel der Temperatur, Versorgungsspannung usw. abhängig sein. Zudem kann die Leistungsfunktion auch die Vorgeschichte des System als Eingangsparameter beinhalten. Hier könnten zum Beispiel in Registern abgespeicherte Zustände die Höhe der Leistungsaufnahme beeinflussen, so dass gewissermaßen eine Leistungsberechnung mit Gedächnisfunktion implementierbar ist.In a particularly advantageous Design is used to weight a transaction, this is a performance function assigned. The performance function is generally appropriate when the accuracy of fixed performance values becomes insufficient. As an example, the performance function can depend on the environmental conditions system or chip, for example temperature, supply voltage etc. dependent his. In addition, the performance function can also review the history of the Include system as input parameters. Here, for example, in registers saved states the height influence the power consumption, so that in a sense a Performance calculation with memory function is implementable.

In einer besonders einfachen Ausgestaltung werden die Leistungswerte bzw. die Leistungsfunktion für eine Transaktion durch Abschätzung ermittelt. In einer vorteilhaften Ausgestaltung kann ein Leistungswert bzw. eine Leistungsfunktion für eine Transaktion auch durch Messung der Leistungsaufnahme bzw. des Stromsverbrauchs ermittelt werden. Letzt genann te Maßnahme führt gegenüber der erst genannten Abschätzung zu einer präziseren Wichtung.In a particularly simple embodiment the performance values or the performance function for a transaction are determined by estimation. In In an advantageous embodiment, a performance value or a Performance function for a transaction also by measuring the power consumption or the Electricity consumption can be determined. The latter measure leads to the first mentioned estimate to a more precise Weighting.

In einer besonders vorteilhaften Ausgestaltung wird ein zeitliches Auflisten des Strom- bzw. Energieverbrauchs vorgenommen. Dadurch lässt sich feststellen, wie hoch die Leistungsaufnahme in den einzelnen Betriebsphasen, zum Beispiel im Normalbetrieb, im Power-Down-Modus, beim Hochfahren des System, etc. ist.In a particularly advantageous Design is a chronological listing of electricity or energy consumption performed. This leaves determine how high the power consumption in each Operating phases, for example in normal operation, in power-down mode, when starting up the system, etc.

In einer weiteren vorteilhaften Ausgestaltung kann auch ein räumliches Auflisten des Strom- bzw. Energieverbrauchs vorgenommen werden. Besonders vorteilhaft ist es, wenn das Auflisten der Leistungsaufnahme für einzelne Schaltungsteile- bzw. Funktionsblöcke vorgenommen wird. Damit lassen sich leistungsintensive Schaltungsteile bereits in einer sehr frühen Entwicklungsphase identifizieren und durch energetisch günstigere Schaltungselemente ersetzen.In a further advantageous embodiment, a spatial listing of the current or energy consumption can also be made. It is particularly advantageous if the listing of the power consumption is carried out for individual circuit parts or functional blocks. This means that power-intensive circuit parts can already be integrated into an egg Identify a very early development phase and replace it with energetically more favorable circuit elements.

Vorteilhafterweise lässt sich das räumliche und zeitliche Auflisten des Strom- bzw. Energieverbrauchs auch miteinander kombinieren.Advantageously, the spatial and Time lists of electricity and energy consumption also with each other combine.

In einer Ausgestaltung des erfindungsgemäßen Verfahrens werden die bei der Leistungsberechnung berechneten Leistungswerte in einer Speichereinrichtung, beispielsweise einen Arbeitsspeicher einer Programm gesteuerten Einheit, abgespeichert. Bei Bedarf können die abgespeicherten Leistungswerte wieder aus der Speichereinrichtung ausgelesen werden.In one embodiment of the method according to the invention become the performance values calculated in the performance calculation in a storage device, for example a working memory a program-controlled unit. If necessary, the stored power values again from the storage device be read out.

In einer besonders vorteilhaften und Ausgestaltung wird die Leistungsberechnung zeitlich betrachtet vor einer hardwaremäßigen Implementieren und Verifizieren der integrierten Schaltung vorgenommen. Insbesondere wird die Leistungsberechnung bereits während der Produktdefinitionsphase, bei der die Architektur und das Grob-Design der integrierten Schaltung festgelegt wird, vorgenommen.In a particularly advantageous and design, the performance calculation is considered over time before a hardware implementation and Verification of the integrated circuit made. In particular the performance calculation is carried out during the product definition phase of the architecture and the rough design of the integrated circuit is set.

In einer besonders vorteilhaften Ausgestaltung werden externe Stimuli bei der Leistungsberechnung mit berücksichtigt. Externe Stimuli, die häufig auch als Testbench beschrieben werden, können beispielsweise globale Parameter wie zum Beispiel die Versorgungsspannung, die Temperatur, oder lokale Parameter, zum Beispiel Tastatureingaben, Schnittstellenkommunikation, etc., sein. Solche Testbenches beschreiben Umgebung mit Eingangs und Ausgangssignalen. Zum Beispiel kann die Last von zu treibenden Schaltungen die Leistungsaufnahme des untersuchten Systems beeinflussen.In a particularly advantageous External stimuli are used when calculating performance also taken into account. External stimuli that are common can also be described as a test bench, for example global Parameters such as supply voltage, temperature, or local parameters, for example keyboard input, interface communication, etc. Such test benches describe the environment with input and output signals. For example, the load to be driven Circuits affect the power consumption of the system under investigation.

In einer Ausgestaltung kann der virtuelle Prototyp der integrierten Schaltung bzw. des Systems als Teilelemente Beschreibungen von Programm gesteuerten Einheiten, zum Beispiel Mikroprozessoren, Mikrocontroller, digitale Signalprozessoren (DSPs) enthalten . Zusätzlich oder alternativ können die Teilelemente auch als Beschreibungen von Speichereinrichtungen, wie zum Beispiel, Programm- und Daten-Speicher, Registerspeicher, Cache, etc., ausgebildet sein. Denkbar wäre auch eine Ausbildung als Beschreibung von Ausgabe- bzw. Eingabeeinheiten, zum Beispiel als Displays, Tastaturen, Analogteile, Lautsprecher, Mikrofone und dergleichen. Die Teilelemente können selbstverständlich auch deren Transaktions basierte Beschreibungen (Applikations-Software) enthalten.In one embodiment, the virtual Prototype of the integrated circuit or system as sub-elements Descriptions of program controlled units, for example Microprocessors, microcontrollers, digital signal processors (DSPs) included , additionally or alternatively can the sub-elements also as descriptions of storage devices, such as, program and data memory, register memory, cache, etc., be trained. Would be conceivable also training as a description of output or input units to Example as displays, keyboards, analog parts, loudspeakers, microphones and the same. The sub-elements can of course also their transaction-based descriptions (application software) contain.

In einer Ausgestaltung der Erfindung ist der virtuelle Prototyp in einer Anordnung mit einer Programm gesteuerten Einheit implementiert. Die Programm gesteuerte Einheit kann einen Mikroprozessor oder Mikrocontroller enthalten.In one embodiment of the invention is the virtual prototype in an arrangement with a program controlled unit implemented. The program controlled unit can contain a microprocessor or microcontroller.

In einer zweckmäßigen Ausgestaltung ist der virtuelle Prototyp in einer Speichereinrichtung, insbesondere im Programmspeicher, der Programm gesteuerten Einheit abgelegt.In an expedient embodiment, the virtual Prototype in a memory device, in particular in the program memory, the program controlled unit filed.

In einer Ausgestaltung ist eine Speichereinrichtung vorgesehen, in der die zeitlich und räumlich berechneten Leistungswerte abgelegt sind. Die Speichereinrichtung kann beispielsweise der Arbeitsspeicher der Programm gesteuerten Einheit sein.In one embodiment, there is a storage device provided in which the temporally and spatially calculated power values are filed. The memory device can be, for example, the main memory the program controlled unit.

Die Erfindung wird nachfolgend anhand der in den Figuren der Zeichnung angegebenen Ausführungsbeispiele näher erläutert. Es zeigt dabei:The invention is described below of the embodiments shown in the figures of the drawing explained in more detail. It shows:

1 ein Blockdiagramm eines herkömmlichen Entwicklungsablaufs bei der Entwicklung einer integrierten Schaltung; 1 a block diagram of a conventional development flow in the development of an integrated circuit;

2 ein Blockdiagramm eines erfindungsgemäßen Entwicklungsablaufs bei der Entwicklung einer integrierten Schaltung unter Verwendung eines virtuellen Prototypen mit Leistungsberechnungsmodul; 2 a block diagram of a development flow according to the invention in the development of an integrated circuit using a virtual prototype with a power calculation module;

3 ein Blockschaltbild für eine Programm gesteuerte Einheit, bei der jeder Funktionsblock verschiedene Transaktionen enthält. 3 a block diagram for a program-controlled unit, in which each function block contains different transactions.

In allen Figuren der Zeichnung sind gleiche bzw. funktionsgleiche Funktionsblöcke und Elemente – sofern nichts anderes angegeben ist – gleich bezeichnet worden.In all figures of the drawing are same or functionally identical function blocks and elements - if so nothing else is specified - the same been designated.

2 zeigt ein Blockdiagramm eines erfindungsgemäßen Entwicklungsablaufs bei der Entwicklung einer integrierten Schaltung unter Verwendung eines virtuellen Prototypen mit Leistungsberechnungsmodul. Der Pfeil am rechten Rand von 2 bezeichnet den zeitlichen Ablauf der einzelnen Entwicklungsphasen. 2 shows a block diagram of a development flow according to the invention in the development of an integrated circuit using a virtual prototype with a power calculation module. The arrow on the right of 2 denotes the chronological sequence of the individual development phases.

Dieser Ablauf eines Designs einer integrierten Schaltung gilt bei Systemen entsprechend.This flow of a design one integrated circuit applies accordingly to systems.

In der Architekturphase wird ein Grobentwurf der Architektur festgelegt. In der anschließenden Grob- und Design-Spezifikation wird zunächst eine grobe und dann eine feine Bestimmung aller Funktionselemente der zu entwickelnden integrierten Schaltung bestimmt. Diese Phasen bezeichnen die Produkt-Definition.In the architecture phase, a Rough design of the architecture set. In the subsequent rough and design specification will first a rough and then a fine determination of all functional elements of the integrated circuit to be developed. These phases denote the product definition.

Anschließend beginnt mit dem RTL-basierten Blockdesign die sogenannte "Front-End-Design"-Phase. Das RTL-basierten Blockdesign ist eine Implementierungsphase, bei der die Einzelblöcke der integrierten Schaltung entwickelt werden. Anschließend wird das sogenannte Top-Level entwickelt. Nach jeder Design-Phase ist eine Verifizierungsphase erforderlich, um meist durch Simulation zu prüfen, ob die jeweilige Spezifikation noch erfüllt ist. Am relativen Ende des Front-End-Designs erfolgt die Synthese-Phase, bei der die RTL Beschreibung in eine Standardzellen Netzliste umgewandelt wird, und die Layout-Phase, in der das Layout der integrierten Schaltung festgelegt wird.Then starts with the RTL based Block design the so-called "front-end design" phase. The RTL based Block design is an implementation phase in which the individual blocks of the integrated Circuit to be developed. Then the so-called top level developed. There is a verification phase after each design phase required to check, usually by simulation, whether the respective specification still met is. At the relative end of the front-end design the synthesis phase takes place, in which the RTL description into a standard cell Net list is converted, and the layout phase in which the layout the integrated circuit is set.

Bereits in der frühen Architektur Phase kann eine Leistungsberechnung durchgeführt werden und die Architektur bzw. die Spezifikation auf das Ergebnis der Leistungsberechnung optimiert werden.One can already in the early architecture phase Performance calculation carried out and the architecture or the specification based on the result the performance calculation can be optimized.

Die Leistungsberechnung erfolgt auf der Basis eines TLM-Modells anhand eines virtuellen Prototyps. Dadurch ist eine automatisierte Leistungsberechnung sowohl für die Hardware als auch für die Software möglich. Die Leistungsberechnung kann im Unterschied zu bekannten Systemen sowohl voll dynamisch als auch statisch durchgeführt werden. Dadurch dass die Hardware- und Software-Simulation in einem sehr frühen Entwicklungsstadium, dass heißt bereits auf der Architektur Transaktions -Ebene, also bevor die RTL Ebene existiert durchgeführt wird, dauert die gesamte Simulation lediglich einige Stunden bis Tage. Im Unterschied dazu werden für eine herkömmliche Leistungs-Simulation auf Layout-Ebene (siehe 1) einige Wochen bis Monate benötigt.The performance calculation is based on a TLM model using a virtual prototype. This makes an automated performance calculation for both the hardware and the Software possible. In contrast to known systems, the power calculation can be carried out both fully dynamically and statically. Due to the fact that the hardware and software simulation is in a very early development stage, i.e. already on the architecture transaction level, i.e. before the RTL level exists, the entire simulation only takes a few hours to days. In contrast, for a conventional performance simulation at the layout level (see 1 ) a few weeks to months.

Das erfindungsgemäße Verfahren zur Leistungsberechnung sei nachfolgend anhand von 3 näher erläutert. 3 zeigt das Funktionsschaltbild einer Programm gesteuerte Einheit. Die Programm gesteuerte Einheit besteht im vorliegenden Beispiel aus einer Speichereinrichtung (Memory), einer Steuer- und Recheneinheit (CPU), einem Bussystem (Bus) sowie zumindest einer Peripherieeinheit (Peripheral). Diese Einheiten sind entsprechend 3 miteinander gekoppelt.The method according to the invention for power calculation is described below using 3 explained in more detail. 3 shows the functional diagram of a program controlled unit. In the present example, the program-controlled unit consists of a memory device (memory), a control and computing unit (CPU), a bus system (bus) and at least one peripheral unit (peripheral). These units are corresponding 3 coupled with each other.

Jedem Funktionsblock sind jeweils verschiedene Transaktionen zugeordnet, wobei im Beispiel in 3 lediglich eine Auswahl von Transaktionen angegeben ist. Eine Transaktion kann zum Beispiel ein einzelner Befehl, mehrere Befehle oder aber auch ganze Unterprogramme sein. Jedem dieser Transaktionen wird zur Leistungsberechnung ein fest vorgegebener, für eben diese Transaktion spezifischer Leistungswert zugewiesen. Die Leistungsberechnung soll nachfolgend anhand zweier kleiner Beispiele veranschaulicht werden:Different transactions are assigned to each function block, whereby in the example in 3 only a selection of transactions is given. For example, a transaction can be a single command, multiple commands, or entire subroutines. To calculate the performance, each of these transactions is assigned a predefined performance value that is specific to this transaction. The performance calculation is illustrated below using two small examples:

1. Beispiel: "Code fetch"1. Example: "Code fetch"

Mit der Routine "Code fetch" sollen von der CPU kodierte Daten aus dem Speicher ausgelesen werden. Dazu wird die Transaktion fetch() aus der CPU sowie die Transaktion read() aus dem Speicher benötigt. Der Transaktion fetch() ist vorher ein Leistungswert 3, der Transaktion read() ein Leistungswert 6 zugewiesen worden. Damit wird für die Routine "Code fetch" eine Leistungsaufnahme von 9 Leistungseinheiten (LE) benötigt.
fetch() 3 LE
read () 6 LE
9 LE
The "Code fetch" routine is intended to read out data coded by the CPU from the memory. This requires the transaction fetch () from the CPU and the transaction read () from the memory. The transaction fetch () has previously been assigned a performance value 3, the transaction read () a performance value 6. This means that a power consumption of 9 power units (LE) is required for the "Code fetch" routine.
fetch () 3 LE
read () 6 LE
9 LE

2. Beispiel: "UART transmit"2. Example: "UART transmit"

Für die Routine "UART transmit" sollen von der Peripherieeinheit Daten gesendet werden. Dazu wird der Transaktion send() mit einem Leistungswert 12 und der Transaktion int() mit einem Leistungswert 7 benötigt. Für die gesamte Routine "UART transmit" ergibt sich damit eine Leistungsaufnahme von 19 LE.
send() 12 LE
int () 7 LE
19 LE
For the routine "UART transmit", data should be sent from the peripheral unit. Transaction send () with a performance value of 12 and transaction int () with a performance value of 7 are required for this. This results in a power consumption of 19 LE for the entire routine "UART transmit".
send () 12 LE
int () 7 LE
19 LE

Bei den vorstehenden Beispielen wurde jeweils einer einzigen Transaktion ein Leistungswert zugewiesen. Es wäre jedoch auch denkbar, dass ganzen Transaktionsblöcken oder Subprogrammen, die beispielsweise sehr häufig ausgeführt werden, jeweils ein Leistungswert zugeordnet wird. Alternativ kann einem oder mehreren Transaktionen auch eine Leistungsfunktion zugewiesen werden. Damit lässt sich beim Ausführen eines Software-Programms die aufgenommene Leistung berechnen.In the above examples a performance value is assigned to a single transaction. It would be however, it is also conceivable that entire transaction blocks or subroutines that for example, very often accomplished a performance value is assigned. Alternatively, you can also assigned a performance function to one or more transactions become. With that you can when running a software program to calculate the power consumed.

Die Leistungsberechnung des virtuellen Prototyps bezieht als Grundgedanke stets das Zusammenspiel von Software und Hardware ein. Es wird also die (Hardware-) Leistungsaufnahme bei Ablauf einer vorgegebenen Software auf der Hardware bestimmt. Die Leistungsaufnahme ist also Eigenschaft des ganzen Systems aus Software, Hardware und ggf. externe Stimulussignalen.The performance calculation of the virtual Prototype always relates to the interaction of software and hardware. So it becomes the (hardware) power consumption determined on the hardware when a given software expires. So the power consumption is characteristic of the whole system Software, hardware and possibly external stimulus signals.

Anwendungsfelder von virtuellen Prototypen sind eingebettete Systeme (embedded systems), wie sie zum Beispiel in Form vernetzter Controllerarchitekturen in Mobilfunk- und Automobiltechnik eingesetzt werden.Fields of application of virtual prototypes are embedded systems, such as those found in Form of networked controller architectures in cellular and automotive technology be used.

Die vorstehende Beschreibung der Erfindung wurde beispielhaft anhand des Designs einer integrierten Schaltung be schrieben. Jedoch sei die Erfindung nicht auf das Design und die Entwicklung einer integrierten Schaltung beschränkt, sondern ist sehr vorteilhaft auch auf das Design und die Entwicklung eines vollständigen Systems anwendbar. Das System kann dann beispielsweise ein ganzes System Produkt, zum Beispiel ein mobiles Telefon, sein. Das System kann dabei aus einzelnen Bauteilen wie Basebandchips, Microcontroller, Speicher, Displays, Mikrofone, Lautsprechen, Analogblöcke, Tastaturen, HF-Teile, Chipkarten und dergleichen bestehen.The above description of the Invention was exemplified based on the design of an integrated Circuit be written. However, the invention is not based on the design and limited the development of an integrated circuit, but is also very beneficial to the design and development of a complete Systems applicable. The system can then, for example, an entire System product, for example a mobile phone. The system can consist of individual components such as baseband chips, microcontrollers, Memory, displays, microphones, loudspeakers, analog blocks, keyboards, HF parts, Chip cards and the like exist.

Die Erfindung sei nicht nur auf ein Verfahren zum Bereitstellen und Optimieren eines virtuellen Prototypen für eine integrierte Schaltung oder ein System mit einer integrierten Schaltung beschränkt, sondern lässt sich selbstverständlich auch bei virtuellen Testumgebungen bei beliebig anderen Anordnungen, zum Beispiel in der Mechatronik, vorteilhaft einsetzen.The invention is not limited to one Process for providing and optimizing a virtual prototype for one integrated circuit or a system with an integrated circuit limited, but let yourself Of course also in virtual test environments with any other arrangement, for example in mechatronics.

Zusammenfassend kann festgestellt werden, dass durch die wie beschrieben ausgestaltete Verfahren in völliger Abkehr von bisherigen Lösungen auf sehr einfache, jedoch nichts desto Trotz sehr elegante Weise bereits in einem sehr frühen Entwicklungsstadium einer integrierten Schaltung eine Leistungsbestimmung sowohl der Hardware als auch der Software durchführbar ist.In summary it can be stated be that by the method designed as described in complete Moving away from previous solutions very simple, but nevertheless very elegant way already in a very early Development stage of an integrated circuit a performance determination both the hardware and the software can be carried out.

Die vorliegende Erfindung wurde anhand der vorstehenden Beschreibung so dargestellt, um das Prinzip des erfindungsgemäßen Verfahrens und dessen praktischer Anwendung bestmöglichst zu erklären, jedoch lässt sich die Erfindung bei geeigneter Abwandlung selbstverständlich in mannigfaltigen Varianten realisieren.The present invention has been accomplished the above description so illustrated to the principle of inventive method and to explain its practical application as best as possible, however let yourself the invention with a suitable modification of course in realize diverse variants.

Claims (21)

Verfahren zum Bereitstellen und Optimieren eines virtuellen Prototyps, insbesondere für eine integrierte Schaltung oder ein System, wobei die integrierte Schaltung bzw. das System und/oder eine dafür vorgesehene Applikations-Software in eine Vielzahl von Transaktionen unterteilt ist und eine Transaktion jeweils einen ihr zugeordneten Teil der integrierten Schaltung bzw. des Systems oder ein Software-Element charakterisiert, dadurch gekennzeichnet, dass einer Transaktion jeweils ein Wichtungselement zugeordnet wird, welches die Leistungsaufnahme des entsprechenden Teils bzw. des Software-Elements darstellt, und dass eine Leistungsberechnung vorgenommen wird.Method for providing and optimizing a virtual prototype, in particular for an integrated circuit or a system, the integrated circuit or the system and / or an application software provided therefor being subdivided into a large number of transactions and one transaction each being assigned a part thereof characterized the integrated circuit or the system or a software element, characterized in that a transaction is assigned a weighting element, which represents the power consumption of the corresponding part or the software element, and that a power calculation is carried out. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Leistungsberechnung für die gesamte integrierte Schaltung bzw. das gesamte System vorgenommen wird.A method according to claim 1, characterized in that the power calculation for the entire integrated circuit or the entire system becomes. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Leistungsberechnung für einen Funktionsblock vorgenommen wird, wobei ein Funktionsblock aus einem Teil oder mehrerer miteinander verschalteter Teile gebildet wird.Method according to one of the preceding claims, characterized characterized that the performance calculation was made for a function block is, wherein a functional block from a part or more with each other interconnected parts is formed. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass bei der Leistungsberechnung der Energie- bzw. Stromverbrauch ermittelt wird.Method according to one of the preceding claims, characterized characterized in that the energy or Power consumption is determined. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Energie- bzw. Stromverbrauch in Abhängigkeit von einem oder mehrere Eingangssignale, die an einem Eingang der integrierten Schaltung bzw. des Systems oder an einem Teil davon angelegt werden, berechnet wird.Method according to one of the preceding claims, characterized characterized that the energy or electricity consumption depending of one or more input signals that are integrated at one input Circuit or of the system or on a part thereof, is calculated. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass zur Wichtung einer Transaktion dieser eine Leistungsfunktion zugewiesen wird.Method according to one of the preceding claims, characterized characterized that to weight a transaction this one Performance function is assigned. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass zur Wichtung einer Transaktion dieser ein fester Leistungswert zugewiesen wird.Method according to one of the preceding claims, characterized characterized that to weight a transaction this is a fixed Power value is assigned. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Leistungswert für eine Transaktion durch Abschätzung ermittelt wird.Method according to one of the preceding claims, characterized characterized that the performance value for a transaction is determined by estimation becomes. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass ein Leistungswert für eine Transaktion durch Messung der Leistungsaufnahme bzw. des Stromsverbrauchs an einem Teil der integrierten Schaltung bzw. des Systems ermittelt wird.Method according to one of the preceding claims, characterized characterized that a performance value for a transaction by measurement the power consumption or power consumption on a part of the integrated circuit or the system is determined. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass ein zeitliches Auflisten des Strom- bzw. Energieverbrauchs vorgenommen wird.Method according to one of the preceding claims, characterized characterized that a temporal listing of the electricity or energy consumption made becomes. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass ein räumliches Auflisten des Strom- bzw. Energieverbrauchs vorgenommen wird.Method according to one of the preceding claims, characterized characterized that a spatial List of electricity or energy consumption is made. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Auflisten des Strom- bzw. Energieverbrauchs für ein einziges Schaltungs- bzw. Systemteil oder mehrerer zu einem Funktionsblock miteinander verschalteter Schaltungs- bzw. Systemteile vorgenommen wird.Method according to one of the preceding claims, characterized characterized that listing the electricity or energy consumption for a only circuit or system part or several to a functional block interconnected circuit or system parts made becomes. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass bei der Leistungsberechnung die berechneten Leistungswerte in einer Speichereinrichtung abgelegt werden und bei Bedarf wieder aus der Speichereinrichtung ausgelesen werden.Method according to one of the preceding claims, characterized characterized that the calculated in the performance calculation Power values are stored in a storage device and can be read out again from the storage device if necessary. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Leistungsberechnung vor einer hardwaremäßigen Implementieren und Verifizieren der integrierten Schaltung bzw. des Systems vorgenommen wird.Method according to one of the preceding claims, characterized characterized that the performance calculation before implementing a hardware and verifying the integrated circuit or the system becomes. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Leistungsberechnung während der Produktdefinitionsphase, bei der die Architektur und das Design der integrierten Schaltung bzw. des Systems festgelegt wird, vorgenommen wird.Method according to one of the preceding claims, characterized characterized that the performance calculation during the product definition phase, where the architecture and design of the integrated circuit or the system is determined. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass externe Stimuli bei der Leistungsberechnung mit berücksichtigt werden.Method according to one of the preceding claims, characterized characterized that external stimuli in the performance calculation are taken into account. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der virtuelle Prototyp der integrierten Schaltung bzw. des Systems als Teilelemente transaktions-basierte Beschreibungen von zumindest einer Programm gesteuerten Einheit, und/oder Speichereinrichtung, und/oder Eingabeeinheit oder Ausgabeeinheit enthält.Method according to one of the preceding claims, characterized characterized that the virtual prototype of the integrated circuit or the system as sub-elements of transaction-based descriptions of at least one program-controlled unit, and / or storage device, and / or Contains input unit or output unit. Anordnung, insbesondere zur Durchführung eines Verfahrens nach einem der vorstehenden Ansprüche, die einen virtuellen Prototyp zur Nachbildung und zum Optimieren einer integrierte Schaltung oder eines Systems enthält, wobei der virtuelle Prototyp in eine Vielzahl von Transaktionen unterteilt ist und eine Transaktion jeweils einen ihr zugeordneten Teil der integrierten Schaltung bzw. des Systems oder ein Software-Element charakterisiert, dadurch gekennzeichnet, dass einer Transaktion jeweils ein Wichtungselement zugeordnet ist, welches die Leistungsaufnahme des entsprechenden Teils darstellt.Arrangement, in particular for performing a method according to one of the preceding claims, which contains a virtual prototype for emulating and optimizing an integrated circuit or a system, the virtual pro totyp is divided into a plurality of transactions and a transaction characterizes a part of the integrated circuit or system or a software element assigned to it, characterized in that a transaction is assigned a weighting element which represents the power consumption of the corresponding part. Anordnung nach Anspruch 18, dadurch gekennzeichnet, dass die Anordnung eine Programm gesteuerte Einheit, insbesondere einen Mikroprozessor oder Mikrocontroller, enthält.Arrangement according to claim 18, characterized in that the arrangement is a program controlled unit, in particular a microprocessor or microcontroller. Anordnung nach einem der Ansprüche 18 oder 19, dadurch gekennzeichnet, dass der virtuelle Prototyp in einer Speichereinrichtung, insbesondere im Programmspeicher, der Programm gesteuerten Einheit abgelegt ist.Arrangement according to one of claims 18 or 19, characterized in that that the virtual prototype in a storage device, in particular in the Program memory, the program-controlled unit is stored. Anordnung nach einem der Ansprüche 18 bis 20, dadurch gekennzeichnet, dass eine Speichereinrichtung vorgesehen ist, in der die von der Programm gesteuerten Einheit berechnete Leistungswerte abgelegt sind.Arrangement according to one of claims 18 to 20, characterized in that that a storage device is provided in which the data from the Program-controlled unit stored calculated performance values are.
DE10302795A 2003-01-24 2003-01-24 Method for providing and optimizing a virtual prototype and arrangement Expired - Fee Related DE10302795B4 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10302795A DE10302795B4 (en) 2003-01-24 2003-01-24 Method for providing and optimizing a virtual prototype and arrangement
PCT/EP2004/000582 WO2004066167A2 (en) 2003-01-24 2004-01-23 Method for supplying and optimizing a virtual prototype and arrangement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10302795A DE10302795B4 (en) 2003-01-24 2003-01-24 Method for providing and optimizing a virtual prototype and arrangement

Publications (2)

Publication Number Publication Date
DE10302795A1 true DE10302795A1 (en) 2004-08-12
DE10302795B4 DE10302795B4 (en) 2006-03-09

Family

ID=32694953

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10302795A Expired - Fee Related DE10302795B4 (en) 2003-01-24 2003-01-24 Method for providing and optimizing a virtual prototype and arrangement

Country Status (2)

Country Link
DE (1) DE10302795B4 (en)
WO (1) WO2004066167A2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125334A (en) * 1997-05-02 2000-09-26 Texas Instruments Incorporated Module-configurable full-chip power profiler
JPH11232147A (en) * 1998-02-16 1999-08-27 Toshiba Corp Method and device for power estimation, and machine-redable recording medium having recorded power estmation program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GIVARGIS, Tony; VAHID, Frank; HENKEL, Jörg: Instruction-Based System-Level Power Evaluation of System-on-a-Chip Peripheral Cores. In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems, ISSN: 1063-8210, 2002, Vol. 10, No. 6, S. 856-863 *
SIMUNIC, T.; BENINI, L.; DE MICHEL, G.: Energy- Efficient Design of Battery-Powered Embedded Systems. In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems, ISSN: 1063-8210, 2001, Vol. 9, No. 1, S. 15-28
SIMUNIC, T.; BENINI, L.; DE MICHEL, G.: Energy- Efficient Design of Battery-Powered Embedded Systems. In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems, ISSN: 1063-8210,2001, Vol. 9, No. 1, S. 15-28 *

Also Published As

Publication number Publication date
WO2004066167A2 (en) 2004-08-05
WO2004066167B1 (en) 2005-03-10
WO2004066167A3 (en) 2005-01-06
DE10302795B4 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
US7324363B2 (en) SPICE optimized for arrays
DE60215730T2 (en) Apparatus and method for power measurement in a digital signal processor using timing data and simulation techniques.
DE112014003045T5 (en) Method and system for change evaluation of an electronic design for verification verification
DE102014110096A1 (en) Test device for real-time test of a virtual control device
DE112015002183T5 (en) Computer-implemented system and method for translating verification commands of an electronic design
DE102006046201A1 (en) Method for computer-optimized optimization of the resource consumption of a program
DE102006019292A1 (en) Modeling programmable devices
DE102011015444A1 (en) Nethod and apperatus for operational-level functional and degradation fault analysis
DE112006001222T5 (en) Semiconductor test program debug device
DE60012735T2 (en) METHOD FOR THE DISTINCTION OF VARIOUS TYPES OF SCANNING ERRORS, COMPUTER-BASED CIRCUIT-EMULATION AND FAULT-DETECTION SYSTEM
DE10000451A1 (en) Clock signal analyzer has three memories, pre-processor, simulation device, post-processor and display showing a two-dimensional simulation map
DE102014225039A1 (en) Method and apparatus for providing sparse Gaussian process models for calculation in an engine control unit
DE112006003729T5 (en) Test time calculator
DE10038499A1 (en) Formal verifying method for development in data processor involves executing verification algorithm using one limit of signal envelope, and limiting state-space search by using verification algorithm
DE102017117496A1 (en) Cell-conscious flaw characterization and waveform analysis using multiple strobe points
EP2899652B1 (en) Method for optimising the operation of programmable logic modules in control devices for vehicles
DE102015102034A1 (en) A method of analyzing results in a design automation workflow for electronic systems, computer system and computer program product
DE10324594A1 (en) Method for providing improved simulation capabilities of a dynamic system outside of the original modeling environment
EP1771799B1 (en) Method for evaluating the quality of a test program
DE10317431A1 (en) Procedure for generating tester controls
DE102016118749A1 (en) Signal recovery in derailleur circuit
EP1771798B1 (en) Method for evaluating the quality of a computer programm
DE102015208513A1 (en) Method and apparatus for calculating a data-based multi-output functional model
DE10302795B4 (en) Method for providing and optimizing a virtual prototype and arrangement
DE10355141A1 (en) System and method for estimating power consumption for at least a portion of an integrated circuit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee