-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht Priorität der US-Patentanmeldung mit der Nummer 13/718,979 und dem Titel „Hierarchical power map for low power design“, eingereicht am 18. Dezember 2012, bei der es sich um eine Teilfortführung der US-Anmeldung mit der Nummer 13/158,471 und dem Titel „Hierarchical power map for low power design“ handelt, eingereicht am 13. Juni 2011, die das Prioritätsrecht aus der vorläufigen US-Patentanmeldung mit der Nummer 61/358,002 und dem Titel „Method and system for displaying IC design intent with power domain intent“, eingereicht am 24. Juni 2010, beansprucht, wobei die Inhalte all dieser Anmeldungen hierin durch Bezugnahme in vollem Umfang aufgenommen werden.
-
HINTERGRUND DER ERFINDUNG
-
Die vorliegende Erfindung betrifft ein auf einem Computer ausgeführtes Verfahren zum Entstören eines leistungsarmen integrierten Schaltkreis-(IC-)Entwurfs und konkret ein Verfahren zum Erstellen einer integrierten grafischen Benutzerschnittstelle zum Entstören des IC-Entwurfs und zum Bereitstellen eines Abbilds von dessen Leistungsverbrauchs.
-
Die Verwendung von tragbaren Unterhaltungselektronikgeräten wie zum Beispiel tragbare Personal Computer, MP3-Audioabspielgeräte, Notebooks und Digitalkameras ist weit verbreitet. Der Vorstoß hin zu einer geringen elektrischen Leistungsaufnahme in zunehmend dünneren und leichteren Produkten erfordert die Integration mehrerer Komponenten in einem IC. Wenn zum Beispiel mehr Schaltungen in einem IC mit Systemintegration (SoC, System on Chip) zum Durchführen von zunehmend komplexeren Funktionen bei geringerer Leistung integriert werden, wird das Entstören des ICs immer schwieriger. In vielen leistungsarmen Entwürfen ist eine Schaltung in viele Teile aufgeteilt, die Leistungsdomänen genannt werden, von denen jeder einer Stromversorgung zugehörig sein kann. Bei einer Leistungsdomäne handelt es sich um eine Sammlung von Instanzen, Anschlussstiften und Anschlüssen, die gemeinsam dasselbe Leistungsversorgungsnetz (Spannung) nutzen können. Einige der Leistungsdomänen können durch einen Leistungsschalter ein- und ausgeschaltet werden. Leistungsschalter werden zum Ausschalten nicht genutzter Teile des Entwurfs zum sparsamen Umgang mit der elektrischen Leistungsaufnahme verwendet.
-
Zum Isolieren von Signalen zwischen zwei Leistungsdomänen, von denen eine eingeschaltet und eine ausgeschaltet ist, wird eine Isolierungszelle verwendet. Derartige Zellen werden zum Isolieren von Signalen verwendet, die aus einer Leistungsdomäne stammen, die ausgeschaltet wird. Eine Isolierungszelle stellt sicher, dass beim Ausschalten einer Leistungsdomäne deren Ausgang einen vorher festgelegten oder eingerasteten Wert aufweist und andere aktive Domänen somit unbeeinflusst bleiben.
-
Es wird üblicherweise eine Pegelverschiebungseinheit benötigt, um einen Spannungspegel über verschiedene Leistungsdomänen hinweg auf einen anderen Spannungspegel zu ändern. Deshalb beinhaltet ein leistungsarmer SoC-IC zusätzlich zu mehreren digitalen Schaltungen häufig Leistungsnetzwerkschaltungen mit einer großen Zahl von Leistungskomponenten.
-
Unter Bezugnahme auf 1 ist ein digitaler Schaltungsentwurf in Hardware-Beschreibungssprache (HDL) wie zum Beispiel Verilog Code 1 ausgeführt. Der Ausdruck „Leistungsspezifikation“ wird hierin als Beschreibung der Leistungsvorgabe (beabsichtigtes Leistungsverhalten) eines Schaltungsentwurfs festgelegt. Zum Umsetzen eines leistungsarmen Netzwerks wird die in einem Leistungsformat wie zum Beispiel dem Cadence Common Power Format (CPF) oder dem Unified Power Format (UPF) festgelegte Leistungsbeschreibung 2 allgemein zum Erfassen der Leistungsdaten verwendet, um es Entwicklern zu ermöglichen, einen leistungsarmen Netzwerkentwurf in einer separaten Datei ohne Änderung des Verilog Code 1 umzusetzen. Das Leistungsformat beschreibt eine leistungsarme Vorgabe für Umsetzung, Analyse und Überprüfung der Ausführung.
-
Zum Festlegen von Zwangsbedingungen für einen leistungsarmen Entwurf zum Minimieren des Energieverbrauchs wird ein Stromversorgungsnetz zum Steuern der Verteilung der Leistung festgelegt. Unter Verwendung von UPF kann man das Netzwerk auf einer abstrakten Ebene festlegen. Ein derartiges Netzwerk beinhaltet Versorgungsanschlüsse, Versorgungsnetze, Leistungsschalter und es stellt eine Übersichtsabstraktion des elektrischen Netzwerks des Leistungsaspekts des Chips dar. Versorgungsanschlüsse stellen Versorgungsschnittstellen zu Leistungsdomänen und Schalter bereit, während Versorgungsnetze Versorgungsanschlüsse verbinden. Da das Versorgungsnetzwerk getrennt von dem logischen Entwurf festgelegt wird, bleibt die Spezifikation des logischen Entwurfs unabhängig von den Stromversorgungsnetz-Spezifikationen.
-
Da herkömmliche Hardware-Beschreibungssprachen (HDL) nicht zum Festlegen der Leistungsentwurfsdaten geeignet sind, stellt ein Leistungsformat wie zum Beispiel UPF ein Format bereit, ohne die bestehenden HDL-Codes zu ändern. UPF stellt zum Beispiel einen Befehl, create_power_domain, zum Erstellen einer Leistungsdomäne und Gruppieren der der Leistungsdomäne zugehörigen Entwurfsinstanzen bereit. Andere Leistungskomponenten wie zum Beispiel Leistungsschalter, Isolierungszellen und Pegelverschiebungseinheiten können durch Verwendung der entsprechenden durch die Leistungsformate festgelegten Befehle erstellt werden.
-
Sobald der Verilog-Entwurf und der Leistungsentwurf, die auf dem Leistungsformat beruhen, berücksichtigt werden, kann der IC-Entwurf analysiert und entstört werden. Soweit eine herkömmliche Schaltungsentwurfsdatei jedoch getrennt von dem Leistungsnetzwerkentwurf ist, muss ein Entwickler zum Entstören einer Schaltung eine Beziehung zwischen diesen beiden Dateien herstellen.
-
Des Weiteren konzentrieren sich Schaltungsentwickler hauptsächlich auf die Funktionalitäten des Schaltungsentwurfs und auf das Herstellen von Hierarchien beruhend auf der funktionalen und logischen Ansicht des Entwurfes. Leistungsentwickler bevorzugen jedoch das Vorliegen der Entwurfshierarchien in einer physischen Form, die durch ein eine große Zahl von Leistungsdomänen innerhalb des Leistungsnetzwerkentwurfs aufweisendes Leistungsformat festgelegt werden kann. Folglich ist es ineffizient und fehleranfällig, wenn die Entwickler den gesamten Chip entstören, wenn der Entwurf eines leistungsarmen Netzwerks nicht auf oberster Ebene betrachtet wird und nicht mit dem Leistungsentwickler interagiert. Es besteht noch immer ein Bedarf für eine leistungsfähigere und zuverlässigere Technik zum Entwerfen von leistungsarmen Schaltungen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Gemäß Ausführungsformen der vorliegenden Erfindung werden Leistungsdaten in einem grafischen Fenster angezeigt, was als Leistungsabbild bezeichnet wird, um Benutzern dabei zu helfen, die Leistungsstruktur und die Beziehung zwischen dem Leistungsnetzwerkentwurf und dem Schaltungsentwurf schnell nachzuvollziehen, um ein leichtes Entstören zu ermöglichen. Das Leistungsabbild beinhaltet Leistungsdomänen, Isolierungszellen, Pegelverschiebungseinheiten, Leistungsschalter und Stromversorgungen.
-
Eine Ausführungsform der vorliegenden Erfindung stellt ein auf einem Computer ausgeführtes Verfahren zum Erzeugen und Anzeigen eines Leistungsabbilds bereit, bei dem es sich um eine schematische Darstellung der Leistung in einem grafischen Fenster handelt, um den Entwurf des leistungsarmen Netzwerks beruhend auf den in einem Leistungsformat auf höchster Ebene festgelegten Daten über die geringe Leistung zu zeigen, um es Entwicklern zu ermöglichen, den Entwurf des leistungsarmen Netzwerks und dessen zugehörigen Schaltungsentwurf zu entstören, wobei das Leistungsabbild eine Vielzahl von Leistungsdomänensymbolen aufweist, um Leistungsdomänen darzustellen und auf die zugehörigen Teile des Schaltungsentwurfs zu verweisen.
-
Eine Ausführungsform der vorliegenden Erfindung soll ein Verfahren zum Erzeugen und Anzeigen eines Leistungsabbilds durch die folgenden Schritte bereitstellen. Als erstes werden die ursprünglichen Schaltungsentwurfs-HDL-Codes, bei denen es sich um irgendwelche Textdateien handelt, in eine interne Struktur umgewandelt, bei der es sich allgemein um eine Schaltungsentwurfshierarchien genannte hierarchische Struktur handelt, und in einer durch einen HDL-Parser erzeugten Wissensdatenbank gespeichert, und die ursprünglichen Schaltungsentwurfshierarchien der Wissensdatenbank werden in neue Hierarchien umgruppiert, die durch die Leistungsspezifikation festgelegt werden. In den neuen Hierarchien werden sich dieselbe Leistungsdomäne teilende Instanzen in einer Gruppe zusammengefasst. Danach werden die neuen Hierarchien, die als Leistungsdomänen-Schaltungsentwurfshierarchien bezeichnet werden, in einer Leistungsdatenbank gespeichert. Schließlich wird das Leistungsabbild aus der Leistungsdatenbank erstellt; es kann auch die Nichtübereinstimmungen oder Fehler zwischen der Leistungsspezifikation und dem Schaltungsentwurf für die nicht ordnungsgemäß gehandhabten Signale anzeigen, welche die Leistungsdomänen verbinden.
-
Die vorliegende Erfindung legt offen, dass das Leistungsabbild Symbole für geringe Leistung wie zum Beispiel Leistungsdomänensymbole, Isolierungszellen, Pegelverschiebungseinheit-Zellen und Leistungsschalterzellen aufweist. Des Weiteren wird das Leistungsabbild in Verbindung mit einem Simulationsergebnis verwendet, um den Entwicklern Entstörungsdaten bereitzustellen, wie zum Beispiel das Anzeigen der aktuellen Werte des Simulationsergebnisses für Signale in dem Leistungsabbild zu einer konkreten Simulationszeit oder das Anzeigen der Signalverläufe des Simulationsergebnisses für eine Simulationszeitspanne in einem Signalverlaufsfenster durch Ziehen und Ablegen von in dem Leistungsabbild ausgewählten Signalen in das Signalverlaufsfenster. Außerdem stellt das Leistungsabbild auch eine Methodik zum Erkennen der HDL-Signale bereit, die nicht durch eine Isolierungsverbindung und eine Pegelverschiebungseinheit-Verbindung abgedeckt sind, und diese Funktion wird automatisch aufgerufen, wenn das Leistungsabbild erstellt wird.
-
Ein Merkmal des Leistungsabbilds, das in einem grafischen Fenster angezeigt wird, besteht darin, dass es eine aktive Anmerkung bereitstellt, um leicht mit Benutzern Daten auszutauschen und mit ihnen zu interagieren. Entsprechend ist es benutzerfreundlicher, Benutzern das Entstören des Leistungsnetzwerks gemeinsam mit dem digitalen Schaltungsentwurf in einer interaktiven Schnittstelle zu ermöglichen.
-
Ein weiterer Gegenstand dieser Erfindung besteht darin, eine Lösung zum Anzeigen von Daten über geringe Leistung in einem grafischen Fenster mit einer hierarchischen Darstellung für Leistungsdomänen bereitzustellen, um eine intuitive Möglichkeit zum Ansehen der Eltern-Kind-Beziehungen zwischen Leistungsdomänen bereitzustellen.
-
Eine Ausführungsform der vorliegenden Erfindung soll ein Verfahren zum Erzeugen und Anzeigen des Leistungsabbilds mit einer hierarchischen Darstellung bereitstellen, wobei das Leistungsabbild eine Vielzahl von Leistungsdomänen aufweist und jede aus der Vielzahl von Leistungsdomänen dem Teil des Schaltungsentwurfs zugehörig ist, der zu der Leistungsdomäne gehört, wobei die Vielzahl von Leistungsdomänen in eine Vielzahl von Sätzen von Leistungsdomänen mit einer Darstellung zum Anzeigen der Grenzen und der Eltern-Kind-Beziehungen zwischen der Vielzahl von Leistungsdomänen gruppiert ist. Zum Darstellen eines hierarchischen Leistungsabbilds ist es notwendig, dass mindestens ein Satz von Leistungsdomänen mindestens zwei Leistungsdomänen enthält, in denen es eine Eltern-Leistungsdomäne und mindestens eine Kind-Leistungsdomäne innerhalb der Eltern-Leistungsdomäne gibt, wobei jede der Leistungsdomänen einer entsprechenden Leistungssteuerung zum Steuern der Leistungsdomäne zugehörig ist und der Status der Leistungssteuerung in dem Leistungsabbild angezeigt wird.
-
Eine Ausführungsform des Leistungsabbilds wird zum Entstören eines IC-Entwurfs mit verschiedenen Betriebsarten erzeugt, wobei das Leistungsabbild einen Token zum Setzen und Anzeigen der aktuellen Betriebsart des IC-Entwurfs aufweist. Sobald die aktuelle Betriebsart in eine neue Betriebsart geändert wurde, werden die Leistungsdomänen des Leistungsabbilds unter der neuen Betriebsart des IC-Entwurfs, wie in der leistungsarmen Spezifikation festgelegt, neu gezeichnet.
-
Die ausführliche Technologie und die obigen, für die vorliegende Erfindung umgesetzten bevorzugten Ausführungsformen werden in den folgenden Abschnitten beschrieben und begleiten die beigefügten Zeichnungen, damit Fachleute auf diesem Gebiet die Merkmale der beanspruchten Erfindung gut nachvollziehen können.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die vorstehenden Aspekte und viele der zugehörigen Vorteile dieser Erfindung werden besser verständlich, da man diese durch Bezugnahme auf die folgende ausführliche Beschreibung in Verbindung mit den beigefügten Zeichnungen besser nachvollziehen kann, wobei:
-
1 eine herkömmliche Methodik für einen leistungsarmen digitalen Schaltungsentwurf veranschaulicht;
-
2 ein Ablaufplan von zum Erstellen eines Leistungsabbilds durchgeführten Schritten gemäß einer Ausführungsform der vorliegenden Erfindung ist;
-
3 einen hierarchischen Schaltungsentwurf gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, der durch die Leistungsspezifikation nach dem Umgruppieren der ursprünglichen Schaltungsentwurfshierarchie festgelegt wird;
-
4A eine ein Leistungsabbild zeigende schematische Darstellung gemäß einer Ausführungsform der vorliegenden Erfindung ist;
-
4B eine eine Isolierungsregel zeigende schematische Darstellung gemäß einer Ausführungsform der vorliegenden Erfindung ist;
-
4C eine eine Pegelverschiebungseinheit-Regel zeigende schematische Darstellung gemäß einer Ausführungsform der vorliegenden Erfindung ist;
-
4D eine eine Leistungsschalterregel zeigende schematische Darstellung gemäß einer Ausführungsform der vorliegenden Erfindung ist;
-
5 ein Fenster mit einer Signalwertliste gemäß einer Ausführungsform der vorliegenden Erfindung ist;
-
6 ein Fenster mit einem Signalverlauf gemäß einer Ausführungsform der vorliegenden Erfindung ist;
-
7 eine hierarchische Darstellung eines Leistungsabbilds durch Gruppieren der Leistungsdomänen eines Schaltungsentwurfs gemäß den Leistungssteuerungs- und Eltern-Kind-Beziehungen zwischen den Leistungsdomänen gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
-
8 ein Ablaufplan von beim Erstellen einer hierarchischen Darstellung eines Leistungsabbilds durchgeführten Schritten gemäß einer Ausführungsform der vorliegenden Erfindung ist.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
2 ist ein Ablaufplan zum Erstellen eines Leistungsabbilds eines integrierten Schaltkreises (IC) gemäß einer Ausführungsform der vorliegenden Erfindung. Bei 3 werden die ursprünglichen textbasierten Schaltungsentwurfs-HDL-Codes geparst und in eine interne Struktur umgewandelt und in einer Wissensdatenbank gespeichert. Die Wissensdatenbank, die durch einen HDL-Parser erzeugt werden kann, ist eine durch einen Computer lesbare Datenstruktur (die eine hierarchische oder abgeflachte Struktur aufweisen kann) des Schaltungsentwurfs und kann durch eine Software bearbeitet oder gesteuert werden. Bei 4 werden in CPR oder UPF festgelegte Leistungsentwürfe durch einen CPF- oder UPF-Parser geparst und in die interne Struktur umgewandelt. Als Nächstes wird die ursprüngliche Schaltungsentwurfshierarchie in der Wissensdatenbank in neue Entwurfshierarchien umgruppiert, die durch die eine große Zahl von Leistungsdomänen aufweisende Leistungsspezifikation festgelegt werden. In den neuen Hierarchien werden die sich dieselbe Leistungsdomäne teilenden Instanzen in einer Gruppe zusammengefasst. Es sei darauf hingewiesen, dass der ursprüngliche Entwurf nicht auf hierarchische oder abgeflachte Entwürfe begrenzt ist. Wenn der ursprüngliche Schaltungsentwurf abgeflacht und in der Wissensdatenbank gespeichert ist, kann er in mehrere Leistungsdomänen aufgeteilt werden. Bei 5 werden die neuen Entwurfshierarchien in einer Leistungsdatenbank gespeichert und in eine interne Struktur umgewandelt, bei der es sich um eine durch einen Computer lesbare Datenstruktur des Schaltungsentwurfs und des Leistungsentwurfs handelt. Die Leistungsdatenbank kann durch eine Software bearbeitet, gesteuert oder geändert werden.
-
Bei 6 wird das Leistungsabbild beruhend auf der Leistungsdatenbank erstellt und über ein benutzerfreundliches GUI-(grafisches Benutzerschnittstellen-)Fenster angezeigt.
-
Das Leistungsabbild kann viele Objekte wie zum Beispiel Leistungsdomänensymbole und Isolierungszellen beinhalten, wie nachfolgend ausführlich beschrieben ist. Wenn in dem benutzerfreundlichen GUI-Fenster zum Beispiel durch das Klicken durch einen Benutzer eine Leistungsdomäne in einem Leistungsabbild aufgerufen wird, wird der der Leistungsdomäne zugehörige Schaltungsentwurf aufgerufen. Deshalb ist das Entstören des gesamten Chips mit dem Leistungsnetzwerkentwurf und dem zugehörigen HDL-Code leistungsfähiger und einfacher als mit herkömmlichen Techniken.
-
Bei 7 kann eine statische Überprüfung durchgeführt werden, um Nichtübereinstimmungen oder Fehler zwischen der Leistungsspezifikation und dem Schaltungsentwurf für nicht ordnungsgemäß gehandhabte Signale zu erkennen, welche die Leistungsdomänen verbinden. Derartige Nichtübereinstimmungen oder Fehler können Benutzern, wie bei 8 veranschaulicht, durch Anmerkungen wie zum Beispiel gestrichelte Linien, Symbole oder farbige Hervorhebungen gezeigt werden.
-
Unter Bezugnahme auf 3 zeigt der Kasten 9 ein Leistungsabbild, in dem die ursprüngliche Schaltungsentwurfshierarchie 11 der HDL in eine neue Hierarchie 10 umgruppiert wird, die durch eine eine große Zahl von Leistungsdomänen aufweisende Leistungsspezifikation festgelegt wird. Jede Leistungsdomäne beinhaltet eine große Zahl von sich dieselbe Leistungsdomäne teilenden Instanzen aus dem Schaltungsentwurf. Die ursprüngliche Entwurfshierarchie 11 weist eine obere Ebene auf, die eine große Zahl von Instanzen enthält, darunter ein Modul Power_control mit drei Instanzen PD_control_1, PD_control_2 und PD_control_3. Nach dem Umgruppieren in dem Leistungsabbild wird eine PM_top genannte obere Ebene erstellt. Die Instanz PD_control_1 ist der Leistungsdomäne PD1 zugehörig und unter dieser positioniert, die Instanz PD_control_2 ist der Leistungsdomäne PD2 zugehörig und unter dieser positioniert, und die Instanz PD_control_3 ist der Leistungsdomäne PD3 zugehörig und unter dieser positioniert.
-
Nachdem neue Hierarchien durch die eine große Zahl von Leistungsdomänen aufweisende Leistungsspezifikation festgelegt wurden, können diese in einer Leistungsdatenbank gespeichert werden, bei der es sich um eine interne, durch einen Computer lesbare Datenstruktur handelt, welche die Daten über den Schaltungsentwurf und über den Leistungsnetzwerkentwurf integriert. Die Leistungsdatenbank kann durch eine Software bearbeitet oder gesteuert werden.
-
Nachdem die Leistungsdatenbank erstellt wurde, kann das Leistungsabbild, wie in 4A gezeigt, zum Anzeigen des Leistungsnetzwerkentwurfs verwendet werden. Das Leistungsabbild 12 ist als eine große Zahl von mit Masse 19b verbundenen Leistungsdomänensymbolen 13, 14 und 15, mindestens eine Isolierungszelle 16, mindestens eine Pegelverschiebungseinheit-Zelle 17, mindestens eine Leistungsschalterzelle 18 und mindestens eine Stromversorgung 19a beinhaltend gezeigt.
-
Eine einen Isolierungsbefehl darstellende Isolierungszelle 16 beinhaltet eine große Zahl von Isolierungsnetzen 20 zum Verbinden mit Leistungsdomänen und ein Isolierungszustandsnetz 21 zum Darstellen des Isolierungszustandsausdrucks. Die Isolierungszelle 16 ist als ein in der linken oberen Ecke der Isolierungszelle 16 positioniertes Auslösestatussymbol anzeigend gezeigt. Wenn der Wert des zugehörigen Zustands „1“ ist, ist der Auslösestatus erfolgreich, und das Auslösestatussymbol zeigt einen nach oben weisenden Pfeil 22a an, andernfalls zeigt das Auslösestatussymbol einen nach unten weisenden Pfeil 22b an.
-
Eine einen Pegelverschiebungseinheit-Befehl darstellende Pegelverschiebungseinheit-Zelle 17 kann eine große Zahl von Pegelverschiebungseinheit-Netzen 23 zum Verbinden mit den Leistungsdomänen aufweisen.
-
Eine einen Leistungsschalter darstellende Leistungsschalterzelle 18 kann eine große Zahl von Leistungsschalternetzen 24 zum Verbinden mit einer Stromversorgung 19a oder mit einer oder mehreren Leistungsdomänen oder mit anderen Leistungsschalterzellen beinhalten. Außerdem beinhaltet die Leistungsschalterzelle 18 auch einen Zustandsanschlussstift 26. Wenn ein Benutzer die aktive Anmerkung einschaltet, wird der Zustandswert 25 auf dem Zustandsanschlussstift 26 vermerkt. Die aktive Anmerkung sorgt für die Interaktion und den einfachen Datenaustausch mit dem Leistungsabbild. Die aktive Anmerkung kann durch einen „aktiven Anmerkungsmechanismus“ eingeschaltet werden. Sie kann zum Beispiel durch Klicken auf ein hervorgehobenes Zeichen oder Symbol oder durch Auswählen eines Elements unter Verwendung einer Maustaste zum Vermerken des Zustandswerts 25 auf dem Zustandsanschlussstift 26 eingeschaltet werden.
-
Des Weiteren verwendet das Leistungsabbild in einer Ausführungsform eine rote gestrichelte Linie 27 mit der Kennzeichnung „iso“ zum Anzeigen eines Signals ohne ordnungsgemäße Isolierung und eine rote gestrichelte Linie 28 mit der Kennzeichnung „lvs“ zum Anzeigen eines Signals ohne Pegelverschiebungseinheit.
-
Die Regeln für jede in einem Leistungsabbild verwendete Leistungskomponente lauten wie folgt.
-
Isolierungsregel (CPF/UPF)
-
Unter Bezugnahme auf 4B verwendet das Leistungsabbild die Isolierungszelle 16 zum Darstellen des Isolierungsbefehls in einer Leistungsspezifikation. Die Isolierungszelle 16 beinhaltet ein Isolierungszustandsnetz 21 zum Darstellen des Isolierungszustandsausdrucks. Die Isolierungszelle 16 zeigt in der linken oberen Ecke der Isolierungszelle ein Isolierungsauslöse-Statussymbol an. Wenn der Wert des zugehörigen Zustands „1“ ist, ist der Auslösestatus erfolgreich, und das Auslösestatussymbol zeigt einen nach oben weisenden Pfeil an, andernfalls zeigt der Auslösestatus einen nach unten weisenden Pfeil 22b an.
-
Pegelverschiebungseinheit-Regel (CPF/UPF)
-
Unter Bezugnahme auf 4C verwendet das Leistungsabbild die Pegelverschiebungseinheit-Zelle 17 zum Darstellen eines Pegelverschiebungseinheit-Befehls.
-
Leistungsschalter (CPF/UPF)
-
Unter Bezugnahme auf 4D verwendet das Leistungsabbild die Leistungsschalterzelle 18 zum Darstellen des Leistungsschalters, wobei dadurch der Zustandswert 25 des Leistungsschalters auf dem Zustandsanschlussstift 26 gezeigt wird, wenn ein Benutzer die aktive Anmerkung einschaltet (wie zum Beispiel durch Anklicken der Leistungsschaltzelle 18).
-
Nicht abgedeckte Verbindung
-
Eine Signalverbindung, die Leistungsdomänen verbindet, aber nicht durch Isolierungsregeln und/oder Pegelverschiebungseinheit-Regeln in der Leistungsspezifikation festgelegt ist, wird nicht abgedeckte Verbindung genannt. Unter Bezugnahme auf 4A stellt das Leistungsabbild 12 eine Methodik zum Erkennen der HDL-Signale bereit, die nicht ordnungsgemäß durch Isolierungsregeln oder Pegelverschiebungseinheit-Regeln abgedeckt sind, um dadurch diese Funktion automatisch aufzurufen, wenn das Leistungsabbild 12 erstellt wird. In einer Ausführungsform verwendet das Leistungsabbild 12 eine rote gestrichelte Linie 27 mit der Kennzeichnung „iso“ zum Anzeigen eines Signals ohne ordnungsgemäße Isolierung und eine rote gestrichelte Linie 28 mit der Kennzeichnung „lvs“ zum Anzeigen eines Signals ohne Pegelverschiebungseinheit.
-
Nachdem das Leistungsabbild erzeugt wurde, kann eine statische Überprüfung durchgeführt werden, um sämtliche Nichtübereinstimmungen oder Fehler zwischen der Leistungsspezifikation und dem Schaltungsentwurf aufzudecken und den Benutzer darüber in Kenntnis zu setzen, wo derartige Nichtübereinstimmungen oder Fehler auftreten. Nichtübereinstimmungen oder Fehler können in vielfältiger Weise auftreten. So können zum Beispiel die Verbindungsmöglichkeiten in der Verbindung der Isolierungs-/Pegelverschiebungseinheit-Zelle fehlerhaft sein; in dem mit einem Leistungsschalter verbundenen Leistungssteuerungssignal kann das Steuersignal fehlen oder nicht übereinstimmen; aufgrund von Nichtübereinstimmungen oder fehlenden Steuersignalen können die Isolierungszellen nutzlos sein oder es kann aufgrund fehlender Isolierungs- und/oder Pegelverschiebungseinheit-Zellen für die die Leistungsdomänen verbindenden Netze nicht ordnungsgemäß abgedeckte Isolierungsverbindungen oder nicht ordnungsgemäß abgedeckte Pegelverschiebungseinheit-Verbindungen geben. Um sicherzustellen, dass es sowohl Isolierungs- als auch Pegelverschiebungseinheit-Verbindungen zwischen zwei Leistungsdomänen gibt, zwischen denen HDL-Signale vorliegen, kann das Leistungsabbild des Weiteren virtuelle Netze zwischen diesen erstellen (hierin alternativ als virtuelle Leistungsregelwerke bezeichnet), um Entwickler zu alarmieren. Wenn es zum Beispiel zwischen zwei Leistungsdomänen keine Isolierungs- und/oder Pegelverschiebungseinheit-Verbindungen gibt, erstellt das Leistungsabbild ein virtuelles Pegelverschiebungseinheit-Leistungsregelwerk und/oder ein virtuelles Isolierungs-Leistungsregelwerk zwischen ihnen. Die betroffenen Signale jedes der beiden virtuellen Leistungsregelwerke sind sämtliche HDL-Signale zwischen den beiden Leistungsdomänen.
-
Unter Bezugnahme auf 4A kann jedes Leistungsdomänensymbol aufgerufen werden, damit es auf den Teil des Schaltungsentwurfs verweist, welcher der Leistungsdomäne zugehörig ist. Wenn ein Benutzer durch Anklicken das Leistungsdomänensymbol 13 aufruft, kann in einer Ausführungsform der Teil des Schaltungsentwurfs, welcher der Leistungsdomäne zugehörig ist, aufgerufen werden, um es dem Benutzer zu ermöglichen, den Schaltungsentwurf anzusehen, um den gesamten Chip, darunter den Leistungsnetzwerkentwurf und den ursprünglichen HDL-Code, zu entstören.
-
Das Leistungsabbild ist darüber hinaus so gestaltet, dass es die aktuellen Werte der simulierten Signale zu jeder beliebigen Simulationszeit anzeigen kann. In einer Ausführungsform beinhaltet das Leistungsabbild ein wie in 5 gezeigtes Fenster 29 mit einer Signalwertliste zum Vereinfachen des Entstörens. Wenn ein Benutzer die aktive Anmerkung einschaltet, indem er zum Beispiel auf ein hervorgehobenes Zeichen oder ein Symbol klickt, oder indem er ein Element unter Verwendung einer Maus auswählt, zeigt das Fenster 29 mit der Signalwertliste die Werte der entsprechenden simulierten Signale in dem Leistungsabbild für diese konkrete Simulationszeit an. Außerdem zeigt das Leistungsabbild in einer Ausführungsform unter Verwendung eines wie in 6 gezeigten Signalverlaufsfensters 30 Simulationssignalverläufe (für einen beliebigen Simulationszeitraum) an, wenn ein Benutzer die ausgewählten Signale in der Leistungsabbildung zieht und ablegt. Wenn ein Benutzer zum Beispiel eine Isolierungszelle zieht und in dem Signalverlaufsfenster 30 ablegt, werden die die Isolierungsebene verbindenden – und als Variablen (VBs) angesehenen – Netze automatisch zu dem Signalverlaufsfenster 30 hinzugefügt, wodurch deren Signalverläufe automatisch für einen Simulationszeitraum angezeigt werden, wie in 6 gezeigt ist. In ähnlicher Weise können auch die Signalverläufe der Leistungskomponente (z.B. der Leistungsdomäne, PD) in dem Signalverlaufsfenster 30 angezeigt werden. Wenn ein Benutzer in noch einer weiteren Ausführungsform den Cursor in dem Signalverlaufsfenster 30 auf eine bestimmte Simulationszeit bewegt, werden Netze in dem Leistungsabbild mit Werten von deren zugehörigen Signalen zu dieser konkreten Zeit versehen. Deshalb wird der Prozess des Entstörens eines Leistungsnetzwerkes und des digitalen Schaltungsentwurfs gemäß den Ausführungsformen der vorliegenden Erfindung einfacher und leistungsfähiger als mit herkömmlichen Techniken.
-
7 zeigt ein hierarchisches Leistungsabbild, in dem die Leistungsdomänen des Schaltungsentwurfs gemäß einer Spezifikation gruppiert sind, die eine Darstellung der Leistungsdomänengrenzen sowie der Eltern-Kind-Beziehungen innerhalb der Leistungsdomänen beinhaltet. Jedes Leistungsabbild ist einer Leistungssteuerung zum Steuern dieser Leistungsdomäne zugehörig. Wie aus 7 ersichtlich ist, wird die PD_TOP 700 genannte obere Ebene des Leistungsabbilds als drei Sätze von Eltern-Leistungsdomänen, nämlich PD_CPU 710, PD_FSM 721 und PD_RAM 731 beinhaltend gezeigt. Die Leistungsdomäne PD_CPU 710 ist als drei Kind-Leistungsdomänen, nämlich PD_ALUB 711, PD_PCU 712 und PD_CCU 713, innerhalb eines die Eltern-Leistungsdomäne PD_CPU 700 darstellenden Rechtecks beinhaltend gezeigt. Innerhalb von PD_ALUB 711, ist eine Leistungsdomäne PD_alu 714 gezeigt, wodurch angezeigt wird, dass es zwischen der Eltern-Leistungsdomäne PD_ALUB 711 und der Kind-Leistungsdomäne PD_alu 714 eine Eltern-Kind-Beziehung gibt. Obwohl 7 drei Ebenen der Hierarchie des Leistungsabbilds zeigt, sollte klar sein, dass die Leistungsabbildhierarchie viele weitere Ebenen enthalten kann. Die oberste Hierarchie ist auch als einen zweiten Leistungsdomänensatz PD_FSM 721 und einen dritten Leistungsdomänensatz PD_RAM 731 beinhaltend gezeigt. Innerhalb der Leistungsdomäne PD_FSM 721 oder PD_RAM 731 ist keine Kind-Leistungsdomäne gezeigt. Zum Darstellen eines hierarchischen Leistungsabbilds enthält mindestens ein Satz von Leistungsdomänen mindestens zwei Leistungsdomänen, nämlich eine Eltern-Leistungsdomäne und mindestens eine Kind-Leistungsdomäne innerhalb der Eltern-Leistungsdomäne. Jede der Leistungsdomänen ist einer entsprechenden Leistungssteuerung zum Steuern dieser Leistungsdomäne zugehörig. Der Status der Leistungssteuerung wird in dem Leistungsabbild angezeigt. Die Leistungssteuerung einer Eltern-Leistungsdomäne kann auch zum Steuern von deren Kind-Leistungsdomänen verwendet werden. Sobald der Strom einer Eltern-Leistungsdomäne abgeschaltet wird, werden in einer Ausführungsform z.B. sämtliche Kind-Domänen innerhalb der Eltern-Leistungsdomäne ebenfalls abgeschaltet. Wenn jedoch der Strom der Eltern-Leistungsdomäne eingeschaltet wird, kann jede der Kind-Leistungsdomänen automatisch eingeschaltet oder bei Bedarf einer zusätzlichen, der Kind-Leistungsdomäne zugehörigen Leistungssteuerung unterzogen werden.
-
Ein Status der ersten Leistungssteuerung 701 des ersten Satzes der Leistungsdomänen PD_CPU 710 wird entlang der ersten rechteckigen Form angezeigt. Der Status der ersten Leistungssteuerung PD_CPU 701 zeigt zum Beispiel, dass der erste Satz von Leistungsdomänen mit einem Spannungspegel von 1,2 V EINGESCHALTET ist. Gleichermaßen werden die Status der Leistungssteuerungen der Leistungsdomänen PD_ALUB 711, PD_PCU 712, PD_CCU 713, PD_FSM 721 und PD_RAM 731 als 702, 704, 703, 705 bzw. 706 angezeigt. In einem anderen Beispiel zeigt der Status der Leistungssteuerung 705 der Leistungsdomäne PD_FSM 721, dass der Strom von PD_FSM 721 von EINGESCHALTET zu AUSGESCHALTET geändert wird. Der Status der Leistungssteuerung 706 der Leistungsdomäne PD_RAM 731 zeigt, dass der Strom von PD_RAM 731 mit einem Spannungspegel von 0,8 V EINGESCHALTET ist. Um beim Entstören einer Schaltung behilflich zu sein, kann auch eine statische Überprüfung durchgeführt werden, um Nichtübereinstimmungen oder Fehler zwischen der Leistungsspezifikation und dem Schaltungsentwurf für nicht ordnungsgemäß gehandhabte Signale anzuzeigen, welche die Leistungsdomänen verbinden. Derartige Nichtübereinstimmungen oder Fehler können Benutzern, wie in 7 veranschaulicht, durch eine oder mehrere Anmerkungen wie zum Beispiel gestrichelte Linien, Symbole oder farbige Hervorhebungen angezeigt werden. Die Verbindungen zwischen Leistungsdomänen ohne Isolierungs- oder Pegelverschiebungseinheit-Zellen können mit gestrichelten Linien hervorgehoben werden, wie zum Beispiel die Verbindung 731 zwischen der Leistungsdomäne PD_CPU 710 und PD_FSM 721, die Verbindung 732 zwischen der Leistungsdomäne PD_ALUB 711 und PD_FSM 721, die Verbindung 734 zwischen der Leistungsdomäne PD_alu 714 und PD_CCU 713 und eine Verbindung 733 zwischen der Leistungsdomäne PD_PCU 712 und PD_CCU 713.
-
Die Isolierungszelle 754 ist als die Leistungsdomäne PD_ALUB 711 mit PD_FSM 721 verbindend und mit einem Klemmwert von logisch „HIGH“ gezeigt. Gleichermaßen ist die Isolierungszelle 755 als die Leistungsdomäne PD_alu 714 mit PD_FSM 721 verbindend und mit einem Klemmwert von logisch „HIGH“ gezeigt. Die Isolierungszelle 756 ist als die Leistungsdomäne PD_ALUB 711 mit PD_RAM 731 verbindend gezeigt. Der Klemmwert der Isolierungszelle 756 ist jedoch nicht festgelegt und wird in dem Leistungsabbild nicht gezeigt. Gleichermaßen sind die Klemmwerte der Isolierungszellen 751, 752 und 753 nicht definiert und in 7 nicht gezeigt. Somit können die Zustände oder Fehler zwischen Leistungsdomänen in einem hierarchischen Leistungsabbild angesehen werden, um beim Entstören des IC-Entwurfs behilflich zu sein.
-
Für Schaltungen mit mehreren Betriebsarten kann jede Betriebsart ihr eigenes Leistungsabbild haben, um das Vermischen sämtlicher Betriebsarten in einem einzelnen Leistungsabbild zu verhindern, was das Ansehen komplex und das Entstören schwierig machen kann. Folglich kann für jede Betriebsart ein entsprechendes hierarchisches Leistungsabbild unabhängig erzeugt und angezeigt werden. Wie in 7 gezeigt, wird die aktuelle Betriebsart zum Beispiel in der oberen Ebene des Leistungsabbilds als mode_1 708 gezeigt.
-
In einer Ausführungsform läuft das auf einem Computer ausgeführte Verfahren zum Erstellen eines Leistungsabbilds gemäß der vorliegenden Erfindung wie folgt ab. Wie in 8 gezeigt, werden die ursprünglichen textbasierten Schaltungsentwurfs-HDL-Codes bei 760 geparst und in eine interne Struktur umgewandelt und in einer Wissensdatenbank gespeichert. Die Wissensdatenbank, die durch einen HDL-Parser erzeugt werden kann, ist eine durch einen Computer lesbare Datenstruktur des Schaltungsentwurfs und kann leicht durch eine Software bearbeitet oder gesteuert werden. Die Wissensdatenbank ist allgemein hierarchisch, kann aber auch eine abgeflachte Struktur aufweisen. Bei 761 werden in CPR oder UPF festgelegte Leistungsentwürfe durch einen CPF- oder UPF-Parser geparst und in die interne Struktur umgewandelt. Danach wird die ursprüngliche Schaltungsentwurfshierarchie in der Wissensdatenbank in neue Leistungshierarchien umgruppiert, die durch die eine große Zahl von Leistungsdomänen aufweisende Leistungsspezifikation festgelegt werden. Bei 762 werden die Leistungsdomänenhierarchien in einer Leistungsdatenbank gespeichert und in eine interne Struktur umgewandelt, bei der es sich um eine durch einen Computer lesbare Datenstruktur des Schaltungsentwurfs und des Leistungsentwurfs handelt und die durch eine Software gesteuert werden kann. Bei 763 wird das Leistungsabbild gemäß der Leistungsdomänenhierarchie der Leistungsdatenbank erstellt und in einem GUI-Fenster angezeigt. Das Leistungsabbild beinhaltet eine große Zahl von Leistungsdomänen, von denen jede einem Teil der Schaltung zugehörig ist. Das Leistungsabbild beinhaltet eine erste Darstellung, welche die Grenzen und die Eltern-Kind-Beziehungen zwischen den Leistungsdomänen angibt, wobei mindestens eine der Leistungsdomänen mindestens eine Kind-Leistungsdomäne enthält. Jede Leistungsdomäne weist eine Leistungssteuerung zum Steuern der Leistungsdomäne auf, wobei der Status der Leistungssteuerung in dem Leistungsabbild angezeigt wird. Die Leistungssteuerung einer Eltern-Leistungsdomäne kann auch zum Steuern von deren Kind-Leistungsdomänen verwendet werden. Sobald der Strom einer Eltern-Leistungsdomäne abgeschaltet wird, können in einer Ausführungsform zum Beispiel sämtliche Kind-Domänen innerhalb der Eltern-Leistungsdomäne ebenfalls abgeschaltet werden.
-
Wenn jedoch der Strom der Eltern-Leistungsdomäne eingeschaltet wird, kann jede der Kind-Leistungsdomänen automatisch eingeschaltet oder bei Bedarf einer zusätzlichen, der Kind-Leistungsdomäne zugehörigen Leistungssteuerung unterzogen werden.
-
Bei 764 kann eine statische Überprüfung durchgeführt werden, um Nichtübereinstimmungen oder Fehler zwischen der Leistungsspezifikation und dem Schaltungsentwurf für nicht ordnungsgemäß gehandhabte Signale zu erkennen, welche die Leistungsdomänen verbinden. Die Nichtübereinstimmungen oder Fehler können Benutzern durch eine oder mehrere Anmerkungen wie zum Beispiel gestrichelte Linien, Symbole oder farbige Hervorhebungen wie bei 765 veranschaulicht angezeigt werden.
-
Die vorstehenden Ausführungsformen der vorliegenden Erfindung sind veranschaulichend und nicht einschränkend. Angesichts der vorliegenden Offenbarung sind andere Zusätze, Weglassungen oder Abänderungen offensichtlich, und es ist beabsichtigt, dass diese innerhalb des Umfangs der beigefügten Ansprüche fallen.