-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung 13/929.007, eingereicht am 27. Juni 2013, mit dem Titel METHOD AND SYSTEM OF CHANGE EVALUATION OF AN ELECTRONIC DESIGN FOR VERIFICATION CONFIRMATION (Aktenzeichen ZPLG-31797), deren Beschreibung durch Bezugnahme in ihrer Gesamtheit hierin aufgenommen wird.
-
HINTERGRUND
-
Das Verfahren und das System beziehen sich allgemein auf die Verifizierung von integrierten Analog-Schaltungen und integrierten Mischsignal-Schaltungen.
-
Elektronische Design-Automation (EDA) ist eine Software für das Design von elektronischen Blöcken. Es gibt mehrere allgemeine Typen von elektronischen Signalen, Komponenten und Blöcken, digitalen und analogen Signalen sowie eine Mischung aus digitalen und analogen Signalen, bezeichnet als Mischsignale. Das elektronische Design umfasst zumindest eine der folgenden Ebenen von Schaltungsinformationen, eine Systemebene, eine Architekturebene, eine Datenflussebene, eine elektrische Ebene, eine Vorrichtungsebene, eine Technologieebene und dergleichen.
-
Digitale Signale haben diskrete Eingangs- und Ausgangswerte ”0” und ”1”, die bei diskreten Zeitwerten auftreten, die typischerweise an ein Taktsignal gebunden sind. Digitale Komponenten, die die digitalen Signale aufnehmen und ausgeben, haben normalerweise statische Pin-Ausgänge und Interaktionsprotokolle. Digitale Blöcke, die aus digitalen Komponenten zusammengesetzt sind, haben weit verbreitete und gut dokumentierte physikalische Layouts sowie elektrische Interaktionen. Die Simulatoren für digitale Blöcke sind diskrete zeitereignisgesteuerte Simulatoren.
-
Analoge Signale haben allgemein kontinuierlichen Eingangs- und Ausgangswerte, die über die Zeit variieren können. Analoge Komponenten haben allgemein an Kundenwünsche anpassbare Layouts, um Eingänge, Ausgänge, Schalter, Vorspannungen usw. verändern zu können. Daher, wegen der Anpassung an Kundenwünsche, sind analoge Blöcke, die aus analogen Komponenten bestehen, allgemein nicht weit verbreitet oder haben allgemein keine gut dokumentierten physikalischen Layouts oder elektrische Interaktionen. Die Simulatoren für analoge Blöcke erfordern allgemein kontinuierliche Zeitdomänensimulatoren.
-
Mischsignal-Blöcke sind eine Kombination aus Digitalsignal-Blöcken und Analogsignal-Blöcken innerhalb einer simulierten Komponente. Die üblichsten Optionen, die zur Simulation zur Verfügung stehen, basieren auf der Simulation der Komponente als eine Gruppierung von analogen Blöcken oder auf der separaten Analyse der analogen Komponenten/Blöcke sowie der digitalen Komponenten/Blöcke und der Übersetzung der Eingänge und Ausgänge an den Übergängen der digitalen und analogen Domänen für Interdomänenkommunikation.
-
Innerhalb EDA gibt es zwei große Kategorien von miteinander in Beziehung stehenden Schaltungsüberprüfungen, Simulation und Verifizierung. Simulation ist eine numerische Lösungsmenge, um das Verhalten einer Schaltung vorhersagen zu können. Verifizierung ist die systematische Verfolgung der Beschreibung des Verhaltens einer Schaltung unter relevanten Bedingungen (funktionale Verifizierung) und bei Variationen des Fertigungsprozesses (parametrische Verifizierung). Daher erfordert die Verifizierung allgemein eine sehr viel aufwändigere Überprüfung der Schaltung, von deren Betriebsbedingungen und Herstellungsbetriebsschwankungen, im Vergleich zu einer Simulation. Es ist möglich, eine große Anzahl von Simulationen durchzuführen, ohne in einem signifikanten Ausmaß die Funktionalität einer Schaltung zu verifizieren. Verifizierung entspricht dem mathematischen Modellieren des Schaltungsverhaltens und der Evaluierung der Schaltungsleistung über einen Bereich von Bedingungen. Letztlich besteht das Ausmaß des Erfolgs der Verifizierung darin, wie gut das Schaltungsdesign die Schaltungsspezifikation erfüllt. Verifizierungsverfahren für analoge Signale und Mischsignale haben die Schwierigkeit, mit der Komplexität, den Kosten und den Rechneranforderungen der ständig größer werdenden Schaltungen für analoge Signale und Mischsignale Schritt zu halten.
-
Die Anzahl und Komplexität der Verifizierung von Testfällen wächst mit der Komplexität von Designs für analoge Signale und Mischsignale. Zusätzlich nimmt die Simulationsgeschwindigkeit ab und die Speicherausnutzung nimmt zu, wenn die Größe der Schaltung wächst. So erhöht sich die Rechnerverarbeitungsleistung, um eine Schaltung zu überprüfen, drastisch mit einer Erhöhung der Schaltungskomplexität. Dieses Problem gewinnt an Dramatik, wenn eine Verifizierung am Ende von einem Entwicklungszyklus durchgeführt werden muss, weil Terminverzögerungen als schwerwiegend wahrgenommen werden. Somit ist die Verifizierung ein Vorgang, der allgemein eine erhebliche Menge an Simulationsverarbeitungsleistung erfordert, und zwar für einen kleinen Teil des gesamten Designzyklus, und die effiziente Nutzung von Verifizierungsressourcen ist allgemein erforderlich, um die Produkteinführungszeiten zu erfüllen.
-
Die heutigen komplexen Verifizierungslösungen sind gezielt auf die Technik auf die Verifizierungsaktivität gerichtet, um zu gewährleisten, dass die Funktion der Schaltung unter vorherrschenden Bedingungen vollständig und effizient verifiziert wird. Diese zielgerichtete Analog- und Mischsignal-Verifizierung ist sehr viel manueller und erfahrungsbezogen als die digitale Verifizierung. Diese sporadische interaktive analoge Verifizierung stellt für Unternehmen ein Risiko dar. Es gibt seit langem einen empfundenen Bedarf an einem automatisierteren Verfahren zur Bestimmung, ob Änderungen stattgefunden haben, und welche Bedeutung und Auswirkung diese Änderungen auf den Rest der Schaltung haben.
-
Eine solide Verifizierung von analogen und Mischsignal-Schaltungen erfordert in der Regel eine bedeutende Investition in Prüfstände, Performance-Analyse-Routinen und Makromodelle, die verwendet werden können, um die Simulationen zu beschleunigen. Die Komplexität dieser Begleiterscheinungen wächst mit der Komplexität der Analog- und Mischsignal-Schaltungen. Genauso wie ein Design-Team zusätzliche Design-Ressourcen bereitstellen muss, muss es auch zusätzliche Verifizierungs-Ressourcen bereitstellen, was zu zusätzlichen Design-Kosten führt. Die effiziente Nutzung dieser Ressourcen bekommt Priorität, und zwar aufgrund der unvermeidlichen Zeitbeschränkungen, die am Ende des Design-Zyklus auftreten, wenn ein Unternehmen versucht, ein Produkt auf den Markt zu bringen.
-
Der aktuelle Technologieentwicklungsverlauf innerhalb der Elektronikindustrie geht mehr und mehr in Richtung Single-Chip-Design, die so genannten Systeme auf einem Chip (SoC). Die meisten Systeme auf einem Chip erfordern in der Regel ein gewisses Maß an Mischsignal-Verifizierung. Da sich Mischsignal-Designs weiterhin in Größe und Komplexität erhöhen, stellt dies zusätzliche Belastungen an eine Verifizierung, um im ersten Durchgang einen Designerfolg und eine Verringerung der Zeit bis zur Markteinführung zu gewährleisten. Obwohl die Komplexität von Analog- und Mischsignal-ASIC-Design sehr stark dem Moore-Gesetz folgen, trifft dies in der Regel nicht auf Innovationen in der Design-Verifizierung zu.
-
Wertvolle Entwicklungszeit und Rechenressourcen sowie teure Simulatorressourcen können gezielt durch das offenbarte Verfahren eher auf das Erreichen des gezielten Umfangs der nicht-äquivalenten Veränderungen als auf den aktuellen Ad-hoc-Ansatz fokussiert werden. Das Verfahren identifiziert Bereiche, die erneut verifiziert werden müssen und bietet eine fast unmittelbare Rückmeldung an das Design-Team und das Design-Management. Die Verbesserung der Testumfangseffizienz (d. h. keine Simulationszeit verschwenden) ermöglicht eine effizientere Nutzung der Ressourcen.
-
Diese Offenbarung bezieht sich auf die Evaluierung von Änderungen eines elektronischen Designs, um die Verifizierung für Analog- und Mischsignal (A/MS) anwendungsspezifischen integrierten Schaltungen (ASICs) zu bestätigen. Integrierte Analog- und Mischsignal-Schaltungen sind in vielen modernen elektronischen Vorrichtungen enthalten, und diese Schaltungen müssen durch Simulation vor der Fertigung verifiziert werden. Aspekte der Verifizierungsbestätigung beinhalten die Feststellung, ob eine Änderung stattgefunden hat, und, wenn eine Änderung stattgefunden hat, dies zu einer äquivalenten Schaltung führt, und, wenn die Änderung stattgefunden hat und die Schaltung nicht äquivalent ist, welches die nachfolgenden Auswirkungen auf die Gesamtschaltung sind.
-
Daher wird durch die Offenbarung eine verbesserte Verifizierungseffizienz implementiert, indem bestimmt wird, ob eine Änderung stattgefunden hat, indem bestimmt wird, ob die modifizierte Schaltung äquivalent ist, und indem die nachfolgenden Auswirkungen der Schaltungsänderung bestimmt werden. Diese und andere mögliche vorteilhafte Merkmale und Vorteile der vorliegenden Offenbarung kann ein Fachmann bei der sorgfältigen Betrachtung der ausführlichen Beschreibung der repräsentativen Beispiele der Offenbarung in Verbindung mit den beigefügten Zeichnungen verstehen.
-
ZUSAMMENFASSUNG
-
Gemäß einem Beispiel und unter Bezugnahme auf die vorliegende Offenbarung wird ein Verfahren zur Change-Evaluierung (Änderungs-Evaluierung) eines elektronischen Designs zur Verifizierungsbestätigung zur Verfügung gestellt, das die Schritte des Empfangens des elektronischen Designs, das eine Unterkomponente aufweist, und des Verwendens einer gespeicherten Signatur von für die Unterkomponente repräsentativen Daten umfasst. Das Beispiel umfasst die Schritte des Empfangens einer Überprüfungsanfrage der Unterkomponente, des Erzeugens einer aktuellen Signatur der für die Unterkomponente repräsentativen Daten, und des Bestimmens eines Unterschieds auf der Grundlage der aktuellen Signatur und der gespeicherten Signatur.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die vorliegende Erfindung wird unter Bezugnahme auf die folgende detaillierte Beschreibung und die Zeichnungen besser verstanden, in denen:
-
1 ein Blockdiagramm ist, das ein für die praktische Durchführung der vorliegenden Offenbarung geeignetes Computersystem zeigt;
-
2 ein Blockdiagramm ist, das ein für die praktische Durchführung der vorliegenden Offenbarung geeignetes Computernetzwerksystem zeigt;
-
3 ein Beispiel einer Niederspannungs-Dropout(LDO)-Schaltung zeigt;
-
4 eine beispielhafte Verstärkerschaltung zeigt;
-
5 eine Prüfstands-Pin-Belegung eines Verstärkers zeigt;
-
6 eine beispielhafte Hierarchie zeigt;
-
7 eine beispielhafte Hierarchie zeigt, die eine modifizierte Unterkomponente und die beeinflussten direkten Unterkomponenten innerhalb dieser Design-Darstellung darstellt;
-
8 eine allgemeine beispielhafte Hierarchie zeigt;
-
9 ein Beispiel einer analysierten beispielhaften Testhierarchie zeigt;
-
10 eine erste beispielhafte Design-Konfiguration einer integrierten Power-Management-Schaltung zeigt;
-
11 eine zweite beispielhafte Design-Konfiguration einer integrierten Power-Management-Schaltung zeigt;
-
12 eine dritte beispielhafte Design-Konfiguration einer integrierten Power-Management-Schaltung zeigt;
-
13 ein erstes Beispiel einer Change-Evaluierung eines elektronischen Designs zur Verifizierungsbestätigung zeigt;
-
14 ein zweites Beispiel einer Change-Evaluierung eines elektronischen Designs zur Verifizierungsbestätigung zeigt;
-
15 ein drittes Beispiel einer Change-Evaluierung eines elektronischen Designs zur Verifizierungsbestätigung zeigt;
-
16 ein Computerprogrammprodukt der Verifizierungsbestätigung basierend auf einer Change-Evaluierung eines elektronischen Designs zeigt, das Änderungen unterworfen war;
-
17 ein computerbasiertes System der Verifizierungsbestätigung basierend auf einer Change-Evaluierung eines elektronischen Designs zeigt, das Änderungen unterworfen war;
-
18 ein Verfahren zur Differenzermittlung zeigt; und
-
19 ein erstes Beispiel der Äquivalenz-Evaluierung zur Verifizierungsbestätigung zeigt;
-
20 ein zweites Beispiel der Äquivalenz-Evaluierung zur Verifizierungsbestätigung zeigt;
-
21 ein drittes Beispiel der Äquivalenz-Evaluierung zur Verifizierungsbestätigung zeigt;
-
22 ein viertes Beispiel der Äquivalenz-Evaluierung zur Verifizierungsbestätigung zeigt;
-
23 ein viertes Beispiel der Äquivalenz-Evaluierung zur Verifizierungsbestätigung zeigt;
-
24 eine schematische Darstellung einer PMIC_testbench1-Konfiguration zeigt;
-
25 ein erstes Beispiel einer Design-Konfiguration der Design-Hierarchie von PMIC_testbench1 zeigt;
-
26 ein zweites Beispiel einer Design-Konfiguration der Design-Hierarchie von PMIC_testbench1 zeigt; und
-
27 ein fünftes Beispiel der Äquivalenz-Evaluierung einschließlich einer Prüfstandskonfiguration zur Verifizierungsbestätigung zeigt.
-
Bezugszeichen in der detaillierten Beschreibung entsprechen gleichen Bezugszeichen in den verschiedenen Zeichnungen, sofern nicht anders vermerkt. Beschreibende Angaben und Richtungsangaben in der Beschreibung, wie z. B. rechts, links, hinten, oben, unten, obere, seitlich, etc. beziehen sich auf die Zeichnungen selbst, wie sie auf dem Papier dargestellt sind, und nicht auf physikalische Einschränkungen der Offenbarung, sofern nicht ausdrücklich darauf hingewiesen wird. Die Zeichnungen sind nicht maßstabsgetreu, und einige Merkmale der gezeigten und diskutierten Beispiele sind zur Darstellung von Prinzipien und Merkmalen sowie von Vorteilen der Offenbarung vereinfacht oder vergrößert.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die Merkmale und andere Einzelheiten der Offenbarung werden nun genauer beschrieben, und zwar unter Bezugnahme auf die beigefügten Zeichnungen, in denen verschiedene erläuternde Beispiele des offenbarten Gegenstandes dargestellt und/oder beschrieben sind. Es versteht sich, dass hier beschriebene besondere Beispiele zur Veranschaulichung und nicht als Einschränkungen der Offenbarung gezeigt werden. Darüber hinaus soll der offenbarte Gegenstand nicht so ausgelegt werden, als wäre er auf eines der hier dargestellten Beispiele limitiert. Vielmehr sind diese Beispiele angegeben, damit diese Offenbarung gründlich und vollständig ist, und außerdem soll dem Fachmann auf diesem Gebiet der Umfang des offenbarten Gegenstands vollständig vermittelt werden. Die Hauptmerkmale dieser Offenbarung können auf verschiedene Beispiele angewendet werden, ohne vom Umfang der Offenbarung abzuweichen.
-
Die hier verwendete Terminologie dient nur dem Zweck der Beschreibung spezieller Beispiele und ist nicht dazu gedacht, den offenbarten Gegenstand einzuschränken. Gleiche Bezugszeichen beziehen sich immer auf gleiche Elemente. Der hier verwendete Ausdruck ”und/oder” beinhaltet jegliche und alle Kombinationen von einem oder mehreren der zugehörigen aufgelisteten Elemente. Auch sollen, wie hierin verwendet, die Singularformen ”ein”, ”eine” und ”der” auch die Pluralformen umfassen, sofern der Zusammenhang nicht eindeutig etwas anderes angibt. Weiterhin versteht es sich, dass die Begriffe ”umfasst” und/oder ”umfassend”, wenn diese in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, jedoch nicht das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen. Auch können relationale Begriffe, wie sie hier verwendet werden, wie z. B. erste und zweite, oben und unten, links und rechts, und dergleichen nur verwendet werden, um eine Einheit oder Aktion von einer anderen Einheiten oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Einheiten oder Aktionen zu benötigen oder implizieren.
-
Die Kosten von Zugangsbarrieren in Analog- und Misch-Signal-IC-Design sind typisch vor allem für fabriklose Unternehmen, die geistiges ASIC-Eigentum in Form von gepackten ASICs oder Modulen zur Integration in Systems-on-Chip (SoCs) ihrer Kunden. Zum Beispiel, wenn ein fabrikloses Design-Center mit fünf IC-Design-Ingenieuren besetzt ist, ist die Ausstattung des Teams mit Design-Tools finanziell gleichwertig einer Vervierfachung der Mitarbeiter. Dies basiert auf den hohen Betriebskosten der EDA-Tools, und nicht nur auf den jährlichen Lizenzgebühren, den Kosten für Installation, Support, Schulungen und dergleichen. Eine Verringerung der Systemnutzung durch eine intelligente Verfolgung und Beurteilung der Änderungsverwaltung ermöglicht eine effizientere Ressourcenverteilung.
-
Eine Analog- und Mischsignal-Verifizierung ist zeit- und rechenintensiv. Die Funktionalität der Schaltung muss allgemein für verschiedene Eingangssignale, unter verschiedenen Bedingungen und für verschiedene Herstellungsbedingungen simuliert werden, um sicherzustellen, dass die Schaltung entsprechend den Spezifikationen funktioniert. Eine Überlappung der Zeit und Rechenintensität der ursprünglichen Verifizierung ergibt sich dadurch, dass mehrere Design-Teams Aspekte des Designs überprüfen oder modifizieren können. Eine Beurteilung, ob eine Änderung stattgefunden hat, ob diese Änderung zu einer äquivalenten Schaltung führt, und die folgenden Auswirkungen dieser nicht-äquivalenten Änderungen sind entscheidend für die Bestätigung, ob die Schaltung ausreichend verifiziert wurde.
-
Die vorliegende Offenbarung betrifft das Problem, ob eine Modifikation der Schaltung stattgefunden hat. Wenn es keine Modifikation der Schaltung gab, muss keine zusätzliche Verifizierungsbestätigung erfolgen, obwohl zusätzliche Verifizierungen durchgeführt werden können. Manchmal ist es nicht möglich, auf den letzten Aktualisierungszeitstempel einer Datei zu schauen, um zu bestimmen, ob eine Änderung stattgefunden hat, da ein Öffnen der Datei das Datum indizieren und einen Fehler positiv anzeigen kann. Das Erzeugen einer aktuellen Signatur für die Datei nach dem Öffnen ermöglicht einen Vergleich mit einer gespeicherten Signatur der Datei. Wenn es eine Differenz zwischen der gespeicherten und der aktuellen Signatur gibt, kann daraus gefolgert werden, dass eine tatsächliche Dateiänderung stattgefunden hat. Die Art der Signaturen, die einer gespeicherten Datei zugeordnet werden können, kann kryptographisch, zeitbasiert, Datenbitbasiert und dergleichen sein, wobei diese Signatur gespeichert oder mit der Datei gespeichert oder alternativ spontan generiert werden kann. Es ist auch vorgesehen, dass die aktuelle Signatur und/oder die gespeicherte Signatur erzwungen generiert werden kann, und zwar durch den Benutzer oder durch die Entscheidung eines Benutzers.
-
Nach der Anzeige, dass ein Teil der Design-Datei geändert wurde, müssen andere Probleme angesprochen werden. Eines dieser Probleme besteht darin, ob die angezeigte Änderung zu einer nicht-äquivalenten Schaltung führt. Nicht-Äquivalenzen können oder können auch nicht aus Schaltungsänderungen folgen. Wenn die modifizierte Schaltung als äquivalent analysiert ist, können Verifizierungsbestätigungsprobleme reduziert werden. Es gibt mehrere unterschiedliche Verfahren zur Äquivalenz-Evaluierung für eine Schaltung, wie beispielsweise das Erkennen der schematischen Strukturunterschiede zwischen den ursprünglichen und modifizierten Unterkomponente, das Abbilden von Eigenwerten der ursprünglichen und modifizierten Unterkomponente, das Abbilden zwischen Verhaltens-Domänen und elektrischen Domänen sowie das Berechnen der Abweichung zwischen der Verhaltens-Implementierung und der elektrischen Implementierung der ursprünglichen und modifizierten Unterkomponenten, das Abbilden der Netzliste der ursprünglichen und modifizierten Unterkomponenten, das Abbilden der gestempelten Matrix der ursprünglichen und modifizierten Teilkomponenten und dergleichen.
-
Wird festgestellt, dass die Datei tatsächlich modifiziert worden ist, kann das Ausmaß der Auswirkung der Änderung der Design-Datei auf das Gesamtdesign und ihre Verifizierung beurteilt werden. Die Schritte zur Lösung dieses Problems umfassen das Empfangen einer Verifizierungsgeschichte, das Verfolgen einer direkten Unterkomponente, die hierarchisch mit der modifizierten Teilkomponente verbunden ist, das Bereitstellen eines Folgeprotokolls auf der Grundlage einer bestimmten Differenz und der direkten Unterkomponente, und das Bewerten eines Verifizierungs-Deltas basierend auf dem Folgeprotokoll und der Verifizierungshistorie. Das Folgeprotokoll zeigt eine Auswirkung auf das elektronische Design, die aus der modifizierten Unterkomponente resultiert. Ein Verifizierungs-Delta kann ein beliebiges Element in einer spezifischen Testkonfiguration beinhalten, die durch eine Änderung in einer Unterkomponente innerhalb dieser Konfiguration, die zuvor verifiziert wurde, bewirkt wurde. Wenn die Änderung der Unterkomponente die vorherige Verifizierungsausgabe beeinflusst hat, dann wird ein Verifizierungs-Delta erfasst.
-
Daher gibt es neben der Aufgabe, die durch das offenbarte System und das Verfahren der Change-Evaluierung gelöst wird, einen weiteren Aspekt, um eine effizientere Nutzung von Computer- und Personalressourcen zu ermöglichen, um die Zeitverzögerung bis zum Markteintritt zu reduzieren und um eine stärker fokussierte und gründlichere Verifizierungsbestätigung zu gewährleisten.
-
Das Computersystem in 1 zeigt die Systemarchitektur für ein beispielhaftes Computersystem 100, mit dem die vorliegende Offenbarung implementiert werden kann. Das beispielhafte Computersystem von 1 ist nur für beschreibende Zwecke. Obwohl sich die Beschreibung auf Begriffe bezieht, die üblicherweise zur Beschreibung bestimmter Computersysteme verwendet werden, wie zum Beispiel ein IBM Personal Computer, beziehen sich die Beschreibung und die Konzepte gleichermaßen auch auf andere Systeme, und zwar auch auf Systeme mit Architekturen, die von denen aus 1 verschieden sind.
-
Das Computersystem 100 hat normalerweise eine zentrale Verarbeitungseinheit (CPU) 110, die durch einen oder mehrere Mikroprozessoren implementiert sein kann, einen Direktzugriffsspeicher (RAM) 112 für die vorübergehende Speicherung von Informationen, und einen Nur-Lesespeicher (ROM) 114 für die dauerhafte Speicherung von Informationen. Zum Steuern des RAM ist eine Speichersteuerung 116 vorgesehen. Ein Bus 118 verbindet die Komponenten des Computersystems. Eine Bus-Steuerung 120 ist vorgesehen, um den Bus zu steuern. Eine Unterbrechungssteuerung 122 wird zum Empfangen und Verarbeiten verschiedener Unterbrechungssignale von den verwendeten Systemkomponenten verwendet. Ein Massenspeicher kann durch einen Flash 124, eine DVD 126 oder eine Festplatte 128 zur Verfügung gestellt werden, wie zum Beispiel ein Solid-State-Laufwerk. Daten und Software können mit dem Computersystem über Wechselmedien ausgetauscht werden, wie zum Beispiel dem Flash-Laufwerk und der DVD. Das Flash-Laufwerk kann an einen Universal Serial Bus, USB, Port 130 angeschlossen werden, der wiederum über einen Controller 132 mit dem Bus verbunden ist. Ähnlich kann die DVD in das DVD-Laufwerk 134 eingelegt werden, das wiederum über einen Controller 136 mit dem Bus verbunden ist. Die Festplatte ist Teil eines festen Plattenlaufwerks 138, das über den Controller 140 mit dem Bus verbunden ist.
-
Eine Benutzereingabe in das Computersystem kann durch eine Reihe von Vorrichtungen erfolgen. Zum Beispiel sind eine Tastatur 142 und eine Maus 144 über einen Controller 146 mit dem Bus verbunden. Ein Audiowandler 148, der als ein Mikrofon und ein Lautsprecher funktionieren kann, ist über einen Audio-Controller 150 mit dem Bus verbunden, wie dargestellt. Andere Eingabevorrichtungen, wie beispielsweise ein Stift und/oder eine Eingabefläche, können an den Bus und einen entsprechenden Controller und Software angeschlossen werden. Ein DMA-Controller 152 ist zur Durchführung eines Direktspeicherzugriffs auf das System-RAM bereitgestellt.
-
Eine optische Anzeige wird durch ein Video-Subsystem 154, das die Videoanzeige 156 steuert, generiert. Das Computersystem umfasst auch einen Kommunikationsadapter 158, der eine Verbindung des Systems mit einem lokalen Netzwerk (LAN) oder einem Wide Area Network (WAN) oder einem anderen geeigneten Netzwerk erlaubt, wie schematisch durch einen Bus 160 und ein Netzwerk 162 dargestellt.
-
Der Betrieb des Computersystems wird im Allgemeinen gesteuert und koordiniert durch ein Betriebssystem, wie z. B. das Windows und das Windows 7-Betriebssystem, erhältlich bei Microsoft Corporation, Unix, Linux oder Apple OS X-Betriebssystem, um nur einige zu nennen. Das Betriebssystem steuert unter anderem die Zuordnung von Systemressourcen und erfüllt Aufgaben, wie zum Beispiel Verarbeitungsplanung, Speicherverwaltung, Netzwerk- und I/O-Dienste.
-
Das Computersystem in 2 zeigt das System 200, in dem der Computer-Benutzer 210 mit einem Netzwerk 212 verbunden ist, das wiederum mit der Cloud 214 und dem Computerbetrieb 216 verbunden ist.
-
Ein beispielhaftes Schema einer Niederspannungs-Dropout(LDO)-Schaltung 300 ist in 3 gezeigt. Die LDO hat einen Verstärker A1 mit einem invertierenden Eingang (–Eingang), einem nicht-invertierenden Eingang (+Eingang), einem Ausgang, einem positiven Spannungsversorgungseingang +V und einem negativen Spannungsversorgungeingang –V. Die LDO-Schaltung hat eine Spannung Vein und eine Spannung Vaus. Die LDO hat einen Ausgangsleistungsblock Q1, Q2 und R2. Die LDO-Feedback-Schaltung umfasst R3, R4, D1 und R1. Der Verstärker A1 ist als ein Symbol dargestellt, und die Elemente D1, R1, R2, R3, R4, C1, C2, Q1 und Q2 sind als Schaltkreiszeichen dargestellt.
-
Ein beispielhaftes Schema einer Verstärkerschaltung A1 400 ist in 4 gezeigt. Das Symbol für den Verstärker weist Transistoren Q3, Q4, Q5, Q6, Q7 und Q8 und einen Widerstand R5 auf. Der Verstärker A1 hat einen invertierenden Eingang (–Eingang), einen nicht-invertierenden Eingang (+Eingang), einen Ausgang, eine positive Eingangsspannung +V und eine negative Eingangsspannung –V.
-
5 zeigt einen Prüfstand 500 für den Verstärker A1 510. Ein Prüfstand ist eine spezifische Konfiguration von Eingängen, Ausgängen, Testbedingungen und dergleichen, die für eine Vorrichtung, an die er angeschlossen ist, ausgeführt sind. Der Prüfstand hat einen invertierenden Eingang 512, einen nicht-invertierenden Eingang 514, einen positiven Leistungseingang 516, einen negativen Leistungseingang 518 und einen Ausgang 520. Der Prüfstand hat verbundene Anschlüsse, Netzteile, IOs, etc., die als Prüfstandsicherheiten bezeichnet werden. Der Abschnitt um den Umfang der Schaltung wird als Verifizierungsbaum bezeichnet. Stiftanschlüsse und der Betrieb des Verifizierungsbaums müssen an die zu prüfende Schaltung angepasst sein.
-
6 zeigt eine beispielhafte Hierarchie 600. Integrierte Schaltungs-Designs werden hierarchisch verwaltet, um die Komplexität und die Menge an Informationen handhaben zu können. Für Analog- und Mischsignal-Designs interpretieren Design-Konstrukteure das Design jedoch oft als eine Hierarchie von Schaltplänen; typischerweise können mehrere Darstellungen der Designdaten genutzt werden, um das Design für das Herstellungsverfahren freizugeben. Der in 5 gezeigte Operationsverstärker kann ein solches Beispiel darstellen. Die Konstruktion kann in einer Bibliothek enthalten sein, die die Zellen und die verschiedenen Design-Darstellungen auf den verschiedenen Ebenen der Hierarchie enthält. In diesem Beispiel kann die Bibliothek 610 die oberste Zelle 612, in diesem Fall der Operationsverstärker, und einfache Vorrichtungstypen, die in dem Design verwendet werden, enthalten, wie z. B. NMOS 614 und PMOS 616 Transistoren. In diesem Beispiel hat die oberste Zelle drei Design-Darstellungen: eine Symbolansicht 618, wie beispielsweise das Symbol für den Operationsverstärker, der in 5 verwendet wird, eine schematische Darstellung 620 der einzelnen Vorrichtungen, die den Operationsverstärker aufweisen, und eine Layout-Ansicht 622, die die Formen und Schichten zur Erstellung eines Maskensets für die Produktion beinhalten können. In der schematischen Ansicht können die Symbole der einfachen Vorrichtungen enthalten sein. Bestimmte einfache Vorrichtungen können mehrmals entweder mit den gleichen oder unterschiedlichen Werten für Parameter, wie z. B. Länge und Breite, vorgesehen sein. Diese Anordnungen werden als ein Beispiel der Vorrichtung gesehen. Komplexere Beispiele von Design-Hierarchien können in den 8–12 gesehen werden.
-
7 zeigt eine Beispiel-Hierarchie innerhalb der Design-Darstellung 700. Zum Beispiel, wenn A1 710 die schematische Darstellung des Designs einer integrierten Schaltung zur Energieverwaltung (PMIC) ist, das eine Anordnung von B1 712 enthält, die die schematische Ansicht eines Low-Dropout-Reglers ist. B1 enthält eine Anordnung von C2 714, die eine schematische Ansicht von einem Verstärker und eine Regelungsschleife ist. Die schematische Ansicht von C2 kann eine schematische Darstellung eines Verstärkers D3 enthalten. Wenn die schematische Ansicht von D3 716 geändert wird, sind alle durchgeführten Evaluierungen, die D3 enthalten haben, jetzt verdächtig und müssen neu evaluiert werden. Daher sind Evaluierungen mit A1, B1 und/oder C2 auch verdächtig, genauso wie Evaluierungen, die bei D3 durchgeführt wurden. Noch detailliertere Beispiele können in den 8–12 gesehen werden.
-
8 zeigt eine allgemeine Beispiel-Hierarchie 800 einer zu prüfenden Vorrichtung DUT. Die Hierarchie nach Ebenen A, B, C angeordnet, und die Vorrichtung ist nach Instanzen 1, 2 und 3 angeordnet. Die Verbindungslinien zeigen an, welche Darstellungen der gesamten Hierarchie für eine bestimmte Prüfung verbunden sind. Innerhalb von Ebenen und Instanzen können mehrere Ansichtstypen existieren. Die Beispiele veranschaulichen einige mögliche hierarchische Konfigurationen und sind nicht dazu gedacht, die Fälle und Ansichten oder Ansichtstypen zu beschränken.
-
Integrierte Schaltungsdesign-Hierarchie ist die Darstellung des integrierten Schaltkreis-Designs unter Verwendung hierarchischer Darstellungen. Diese Darstellung ermöglicht eine effizientere Herstellung komplexer Designs, die Millionen von Komponenten enthalten kann, wie z. B. Transistoren, Widerstände und Kondensatoren, sowie die Metall-Leitungen, die die Vorrichtungen verbinden. Die Darstellung der Design-Hierarchie, die an einem bestimmten Punkt in dem Designprozess verwendet wird, kann basierend auf dem Konstruktionsschritt, der durchgeführt wird, und der Art der Design-Funktion variieren, wie zum Beispiel analog, digital oder Speicher.
-
In dem Falle, dass ein Design hergestellt werden soll, ist ein Layout des Musters so erzeugt, dass eine Darstellung abgebildet werden kann. Diese Abbildung ermöglicht es Muster auf einzelnen Ebenen der Maskensätze zu erstellen, um eine Design-Herstellung zu ermöglichen. Im Allgemeinen ist der Design-Ablauf zur Erstellung der Layoutdarstellung sehr unterschiedlich für analoge Funktionsblöcke und Untersysteme im Vergleich zu digitalen Funktionsblöcken und Untersystemen.
-
Zu Beginn des Designprozesses kann es große Teile des Designs geben, die zum ersten Mal entworfen werden und für die es keine bestehenden Layout-Darstellungen gibt. Andere Teile des Designs können sich bereits bewährt haben, und diese können auf einer höheren Abstraktionsebene dargestellt werden oder können in der Layout-Darstellung enthalten sein.
-
Einige häufige Arten von Design-Darstellungen, hier als Ansichten bezeichnet, können verschiedene Ansichtstypen aufweisen. Ein schematischer Ansichtstyp ist ein Bild von Komponenten oder Blöcken mit einer Konnektivität, die durch Linien oder Netze und Verbindungen zu anderen Ebenen der Hierarchie über Stifte gezeigt ist. Ein Spice-Ansichtstyp ist eine Darstellung einer Komponente und ihrer zugeordneten Parameter, möglicherweise auch mit einem bestimmten Gerätemodell, das in die Spice-Netzliste instanziiert wird. LVSExtract ist ein Ansichtstyp, der durch ein Werkzeug, das die Layout-Ansicht analysiert und die einzelnen Komponenten und die Konnektivität rückwärts konstruiert, erstellt wird. Variationen dieser Art der Ansicht können auch extrahierte parasitäre Komponenten aus dem physikalischen Layout enthalten, die nicht von dem Designer erstellt wurden. Ein Layout-Ansichtstyp ist eine Darstellung der spezifischen Geometrien einschließlich des Routings für den Teil des Designs. Ein Verilog-Ansichtstyp ist eine Textdatei, die in einem standardisierten Verilog-Format ist. Ein Verilog-A-Ansichtstyp ist eine Textdatei im standardisierten Verilog-A-Format. Ein Verilog-AMS-Ansichtstyp ist eine Textdatei im standardisierten Verilog-AMS-Format. Ansichtstypnamen können unterschiedlich sein, je nach Anbieter des Electronic-Design-Automation-Tools.
-
Andere Typen von Ansichtstypen können bei der Organisation und Lesbarkeit der Hierarchie helfen. Beispielsweise können Grafik-Design-Tools, wie zum Beispiel schematische Erfassungssysteme, einen Symbol-Ansichtstyp für die Grafik verwenden, die platziert ist. Das Symbol kann Stifte enthalten, die die Instanz durch die Hierarchie verbinden, sowie eine Zeichnung, die die Funktion des Blocks angibt. Beispiele hierfür sind gemeinsame Symbole für Operationsverstärker, einfache digitale Gates, Transistoren, Widerstände und dergleichen.
-
Die Komplexität der Beschreibung kann weiter erhöht werden, indem ein bestimmter Block auf einer Ebene der Design-Hierarchie mehrere Ansichten des gleichen Ansichtstyps enthalten kann. Ein Beispiel wären unterschiedliche Verilog-Darstellungen eines bestimmten Blocks, zum Beispiel ein Block mit einem kommentierten Timing basierend auf dem Layout, ein Block mit einem geschätzten Timing, ein Block ohne Timing, oder verschiedenen Ebenen der Designdarstellung, wie Gate-Level oder Register-Transfer-Level RTL. In ähnlicher Weise kann eine analoge Ansicht zahlreiche schematische Ansichten haben, zum Beispiel eine, bei der das endgültige Transistor-Level-Design abgebildet ist, eine, die eine Platzierung der Verhaltensbausteine für eine höhere Modellierung beinhaltet, eine, die parasitäre Elemente aus dem Layout enthalten kann, oder eine, die Schnittstellenelemente zwischen analogen und digitalen Blöcken für Mischsignal-Simulation aufweisen kann. Auch für analoge Blöcke kann es mehrere Verilog-A oder Verilog-AMS Modellansichten für den gleichen Block geben, wobei die Modelle eine unterschiedliche Funktionalität und Genauigkeit haben können, und zwar basierend auf den Zweck der verschiedenen Simulationsbeispiele. Diese mehrfache Ansichten und Ansichtstypen werden in Konfigurationen abgebildet, die für eine bestimmte Aufgabe oder Analyse verwendet werden.
-
Häufige Ansichtsnamen werden erstellt, um Hinweise zu geben, für welche Arten der Analyse eine bestimmte Ansicht nützlich sein kann. Ansichtsnamen können die im Folgenden genannten und dergleichen umfassen. Ein Schema ist eine schematische Ansicht einschließlich der Anordnung der Blöcke, die auf der Transistorebene oder einer Ebene der Hierarchie, wie zum Beispiel einem Verhaltensmodell, untersucht werden können. Ein Schema-Verhalten ist eine schematische Ansicht, die Verhaltenselemente umfasst. Ein Schema-Parasit ist eine schematische Ansicht, die parasitäre Komponenten einschließt, die aus dem Layout extrahiert oder geschätzt wurden. Ein Spice ist eine Spice-Ansicht, die Informationen, die in einer Netzliste implementiert sind, und eine Komponente für einen bestimmten Analog-Simulator enthält. Ein Verhalten-VA ist eine Textansicht im Verilog-A-Format, die einen bestimmten Block für einen Analog-Simulator modelliert, der Verilog-A evaluieren kann, und ein Verhalten-VAMS ist eine Textansicht im Verilog-AMS-Format, die einen bestimmten Block für einen Mischsignal-Simulator modelliert, der Verilog-A und Verilog evaluieren kann.
-
In dem in 8 gezeigten spezifischen Beispiel, Prüfstand 1, mit einer zu prüfenden Vorrichtung A1, Instanz 1, würde auf der Grundlage der folgenden Konfiguration festgelegt werden, A1, Instanz 1 und B1, Instanz 1 sind mit einem Schema-Level-Modell modelliert. B2, Instanz 1 ist mit einem Schema-Verhalten-Modell modelliert, und C1, Instanz 1 und C2, Instanz 1 werden mit einem Schema-Modell modelliert. C1, Instanz 2 und C3, Instanz 1 sind mit einem Schema-Verhalten-Modell modelliert. Am unteren Ende der Hierarchie werden Vorrichtungen 1, 2 bis x und Instanzen 1, 2 und 3 unter Verwendung von Spice modelliert.
-
In dem in 8 gezeigten spezifischen Beispiel ist Vorrichtung 1, Instanz 2 eine Dummy-Vorrichtung und würde daher die Simulator-Matrix nicht ändern. Vorrichtung 1, Instanz 2 ist in C1 platziert, Instanz 1 ist schematisch als eine Dummy-Vorrichtung verbunden, und ist daher nicht Bestandteil der Matrix A1, Instanz 1, die in dem Simulator gestempelt werden würde.
-
Ob eine Änderung eine Verifizierung erfordert, um erneut ausgeführt zu werden, wird teilweise durch die Verbindungen in der Hierarchie bestimmt. Wenn in diesem speziellen Beispiel für Prüfstand 1, zu prüfende Vorrichtung A1, Instanz 1, die Schema-Ansicht von Vorrichtung 1, Instanz 2 geändert wurde, dann muss der Simulator nicht erneut ausgeführt werden, da die Vorrichtung eine Dummy-Vorrichtung ist und die Matrix nicht verändern würde, die in dem Simulator gestempelt werden würde.
-
Mit Blick auf 8 bildet C1, Instanz 1, Schema-Ansicht einen Teil der Konfiguration des Simulator-Modells, und, wenn eine Änderung stattgefunden hat und die Änderung ausreichend war, um die Simulator-Matrix zu beeinflussen, muss der Prüfstand 1 erneut ausgeführt werden. C1, Instanz 2, Schema-Ansicht würde keinen Teil der Konfiguration des Simulator-Modellbeispiels bilden; daher müsste Prüfstands 1, wenn eine Änderung stattgefunden hat, nicht erneut ausgeführt werden.
-
Wenn, auf einer abstrakteren Ebene, C1, Schema-Ansicht geändert wurde, wodurch die Schema-Ansicht in Instanz 1 und 2 geändert wurde, wodurch eine Änderung der in der Simulator-Matrix gestempelten Information bewirkt wird, muss Prüfstand 1 erneut ausgeführt werden. Wenn eine unwesentliche Änderung in C1, Schema-Ansicht stattgefunden hat, zum Beispiel durch Hinzufügen eines Kommentars, und keine Änderung an den Informationen durchgeführt wurde, die durch den Simulator in der Matrix gestempelt wurde, muss Prüfstand 1 nicht erneut ausgeführt werden. Es ist offensichtlich, dass die Bestimmung, ob eine Änderung an einer Konfiguration durchgeführt wurde und die Auswirkung des Stempelns der Matrix, einen großen Einfluss auf die Anzahl der erforderlichen Verifizierungsdurchläufe haben kann.
-
9 zeigt einige der verschiedenen Modellansichten, aus denen ausgewählt werden kann, um einen Power-Management-Chip PMIC 900 modellieren zu können. Der PMIC hat Schema- und Schema-Verhaltensebenen. LDO, LDO-Aktivierungssteuerung und Batterie-Überwachung sind in Schema-, Schema-Verhalten- und Verhalten-VAMS-Ebenen definiert. Die Spannungsreferenz, LDO-Feedback und LDO-Vergleicher sind in Schema- und Verhalten-VA-Ebenen definiert. Der LDO-Verstärker ist in Schema- und Schema-Parasit-Ebenen definiert. Der Verhalten-Verstärker und die Verhalten-Vorspannung sind in der Verhalten-VA-Ebene definiert. Die LDO-Steuerlogik ist in Schema- und Verilog-Ebenen definiert, und die Vorrichtungen 1 bis X sind in Spice-Ebenen definiert.
-
10 zeigt ein Test-Hierarchie für einen Power-Management-Chip 1000. Die Figur zeigt einen Teil der Hierarchie, wenn eine einfache Spice-Komponentenkonfiguration definiert ist. Vorrichtung 1, Instanz 2 ist eine Dummy-Vorrichtung in diesem Modell und würde die Simulator-Matrix nicht mehr ändern.
-
11 zeigt ein Test-Hierarchie für einen Power-Management-Chip 1100. Die Figur zeigt einen Teil der Hierarchie für eine mögliche Mischkonfiguration mit einigen analogen Verhaltensebenenmodellen, einigen Verilog-Darstellungen und einigen einfachen Spice-Komponenten.
-
12 zeigt eine Test-Hierarchie für einen Power-Management-Chip 1200. Die Figur zeigt einen Teil der Hierarchie, wenn eine Verhaltenskonfiguration definiert ist.
-
In einem Beispiel zeigt 13 ein computerimplementiertes Verfahren zur Change-Evaluierung 1300 eines elektronischen Designs zur Verifizierungsbestätigung, mit den Schritten: Empfangen 1310 von zumindest einer Unterkomponente des elektronischen Designs, und Verwenden 1312 einer gespeicherten Signatur von Daten, die für die zumindest eine Unterkomponente repräsentativ sind. Das computerimplementierte Verfahren umfasst die weiteren Schritte: Empfangen 1314 einer Überprüfungsanforderung der mindestens einen Unterkomponente, Erzeugen 1316 einer aktuellen Signatur der Daten, die für die mindestens eine Unterkomponente repräsentativ sind, und Bestimmen 1318 einer Differenz zumindest teilweise basierend auf der aktuellen Signatur und der gespeicherten Signatur. Das computerimplementierte Verfahren umfasst außerdem den Schritt des Aktualisierens der gespeicherten Signatur, um die aktuelle Signatur zumindest teilweise basierend auf der bestimmten Differenz anzupassen. Die gespeicherte Signatur (banked signature) kann eine kryptographische Signatur, ein Zeitstempel, eine Bit-Kopie oder dergleichen sein. Das elektronische Design ist vorgesehen, um für analoge, digitale oder gemischte Signal gedacht zu sein.
-
In einem weiteren Beispiel zeigt 14 ein computerimplementiertes Verfahren zur Change-Evaluierung 1400 eines elektronischen Designs zur Verifizierungsbestätigung, mit den Schritten: Empfangen 1410 des elektronischen Designs, das zumindest teilweise eine Hierarchie mit mindestens einer Unterkomponente enthält, und Empfangen 1412 einer gespeicherten Signatur von Daten, die für die mindestens eine Unterkomponente repräsentativ sind. Das computerimplementierte Verfahren umfasst außerdem die Schritte: Erzeugen 1414 eine aktuellem Signatur der Daten, die für die mindestens eine Unterkomponente repräsentativ sind, Bestimmen 1416 einer Differenz basierend zumindest teilweise auf der aktuellen Signatur und der gespeicherten Signatur, und Verfolgen 1418 von mindestens einer direkten Unterkomponente, die hierarchisch mit der mindestens einen Unterkomponente in Beziehung steht, und zwar in Reaktion auf die ermittelte Differenz. Eine hierarchische Beziehung ist eine, bei der eine weitere Unterkomponente mit der modifizierten Unterkomponente verknüpft ist und durch die Änderung in der Unterkomponente beeinflusst wird. Diese Änderung in einer verknüpften Unterkomponente wird als eine direkte Unterkomponente bezeichnet, da sie sich in direkter Verbindung mit der geänderten Unterkomponente befindet.
-
Das computerimplementierte Verfahren aus 14 kann außerdem die Schritte umfassen: Bestimmen einer Verifizierungsgeschichte des elektronischen Designs, Empfangen einer Verifizierungsgeschichte des elektronischen Designs, und Empfangen von zumindest einer Modifikation der mindestens einen Unterkomponente. Das computerimplementierte Verfahren kann außerdem die Schritte umfassen: Evaluieren einer Äquivalenz der mindestens einen Unterkomponente und der mindestens einen modifizierten Unterkomponente, Bereitstellen eines Folge-Protokolls zumindest teilweise basierend auf der bestimmten Differenz, der evaluierten Äquivalenz und der mindestens einen direkten Unterkomponente. Das Folge-Protokoll zeigt eine Auswirkung auf das elektronische Design, die aus der mindestens einen Modifizierung der mindestens einen Unterkomponente resultiert. Das computerimplementierte Verfahren kann außerdem die Schritte umfassen: Bestimmens eines Verifizierungs-Delta zumindest teilweise basierend auf dem Folge-Protokoll und der Verifizierungsgeschichte. Die mindestens eine Unterkomponente kann eine Definition enthalten, die mehrere Abstraktionsebenen hat, wobei die mindestens eine direkte Unterkomponente eine höhere Abstraktionsebene hat und wobei die mindestens eine direkte Unterkomponente eine geringere Abstraktionsebene hat. Das Folge-Protokoll ist eine Reihe von Prüfständen in der Hierarchie, die eine Konfiguration des Designs darstellt. Wenn von einem ersten Zeitpunkt zu einem zweiten Zeitpunkt bestimmte Elemente verändert werden, dann müssen die zugehörigen Prüfstände erneut ausgeführt werden. Ein Prüfstand ist eine spezifische Konfiguration von Eingängen, Ausgängen, Testbedingungen und dergleichen, die für eine Vorrichtung durchgeführt werden, die an den Prüfstand angeschlossen ist. Das Beispiel kann zusätzlich den Schritt des Erzeugens der aktuellen Signatur in Reaktion auf die Anforderung von mindestens einem Benutzer umfassen.
-
In einem weiteren Beispiel zeigt 15 ein computerimplementiertes Verfahren zur Change-Evaluierung 1500 eines elektronischen Designs zur Verifizierungsbestätigung mit den Schritten: Empfangen 1510 des elektronischen Designs, das zumindest teilweise aus einer Hierarchie mit mindestens einer Unterkomponente besteht, und Empfangen 1512 einer gespeicherten Signatur von Daten, die für die mindestens eine Unterkomponente repräsentativ sind. Das computerimplementierte Verfahren umfasst ferner die Schritte: Empfangen 1514 von mindestens einer Überprüfungsanfrage von der mindestens einen Unterkomponente, und Erzeugen 1516 einer aktuellen Signatur von Daten, die für die mindestens eine Unterkomponente repräsentativ sind, und zwar in Reaktion auf die mindestens eine Überprüfungsanfrage. Das computerimplementierte Verfahren umfasst ferner die Schritte: Bestimmen 1518 einer Differenz zumindest teilweise basierend auf der aktuellen Signatur und der gespeicherten Signatur, und Evaluieren 1520 einer Äquivalenz der mindestens einen Unterkomponente und der mindestens einen überprüften Unterkomponente.
-
Die Äquivalenz-Evaluierung kann umfassen: Erkennen eines strukturellen Layouts der mindestens einen Unterkomponente und der mindestens einen überprüften Unterkomponente, oder Zuordnen von Eigenwerte der mindestens einen Unterkomponente und der mindestens einen überprüften Unterkomponente, oder Definieren von Zuordnungen zwischen Verhaltens-Domänen und elektrischen Domänen sowie Berechnen der Abweichung zwischen der Verhaltens-Implementierung und der elektrischen Implementierung der mindestens einen Unterkomponente und der mindestens einen überprüften Unterkomponente, oder dergleichen.
-
In einem weiteren Beispiel zeigt 16 ein Computerprogrammprodukt 1600, das auf einem nicht-flüchtigen und auf einem Computer verwendbaren Medium realisiert ist, wobei auf dem nicht-flüchtigen und auf einem Computer verwendbaren Medium eine Reihe von Befehlen gespeichert ist, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, ein Verfahren zur Change-Evaluierung eines elektronischen Design zur Verifizierungsbestätigung durchzuführen, das Gegenstand von Modifikationen war. Das Computerprogrammprodukt, das auf einem nicht-flüchtigen und auf einem Computer verwendbaren Medium realisiert ist, umfasst die Schritte: Empfangen 1610 des elektronischen Designs, das zumindest teilweise aus einer Hierarchie mit mindestens einer Unterkomponente besteht, Empfangen 1612 einen gespeicherten Signatur von Daten, die für die mindestens eine Unterkomponente repräsentativ sind, und Empfangen 1614 einer Verifizierungs-Historie des elektronischen Designs. Das Computerprogrammprodukt, das auf einem nicht-flüchtigen und von einem Computer verwendbaren Medium realisiert ist, verwendet einen Computerprozessor 1616, um mindestens eine Modifikation der mindestens einen Unterkomponente zu empfangen 1618. Das Computerprogrammprodukt, das auf einem nicht-flüchtigen und von einem Computer verwendbaren Medium realisiert ist, enthält außerdem die Schritte: Erzeugen 1620 einer aktuellen Signatur von Daten, die für die mindestens eine Unterkomponente repräsentativ sind, und zwar in Reaktion auf die mindestens eine Modifikation, Bestimmen 1622 einer Differenz zumindest teilweise basierend auf der aktuellen Signatur und der gespeicherten Signatur, und Verfolgen 1624 von mindestens einer direkten Unterkomponente, die hierarchisch mit der mindestens einen Unterkomponente in Beziehung steht, und zwar in Reaktion auf die ermittelte Differenz, und durch die mindestens eine Modifikation der mindestens einen Unterkomponente beeinflusst wurde. Ferner umfasst das Computerprogrammprodukt, das auf einem nicht-flüchtigen und auf einem Computer verwendbaren Medium realisiert ist, die Schritte: Bereitstellen 1626 eines Folge-Protokolls zumindest teilweise basierend auf der bestimmten Differenz und der mindestens einen direkten Unterkomponente, wobei das Folge-Protokoll eine Auswirkung auf das elektronische Design angibt, die aus der mindestens einen Modifikation der mindestens einen Unterkomponente resultiert, und Bewertung 1628 eines Verifizierungs-Delta zumindest teilweise basierend auf dem Folge-Protokoll und der Verifizierungs-Historie. Die hierarchischen Beziehungen können zumindest eine Systemebene, ein Architekturebene, eine Datenflussebene, eine elektrische Ebene, eine Vorrichtungsebene und eine Technologieebene umfassen.
-
In einem weiteren Beispiel zeigt 17 ein computerbasiertes System 1700 zur Bestätigung einer Verifizierung basierend auf einer Change-Evaluierung eines elektronischen Designs, das Modifikationen unterworfen war, einen Computerprozessor 1710, um eine Reihe von Programmcodebefehlen ausführen, einen Speicher 1712, um die Programmcodebefehle zu speichern, wobei die Programmcodebefehle Programmcode enthalten, um das elektronische Design zu empfangen 1714, das zumindest teilweise aus einer Hierarchie mit mindestens einer Unterkomponente besteht, und um eine gespeicherte Signatur von Daten zu empfangen 1716, die für die zumindest eine Unterkomponente repräsentativ sind. Der Computerprozessor wird verwendet, um zumindest eine Modifikation der mindestens einen Unterkomponente zu empfangen 1718, um eine aktuelle Signatur von Daten zu erzeugen 1720, die für die mindest eine Unterkomponente repräsentativ sind, und zwar in Reaktion auf die mindestens eine Modifikation, um eine Differenz zu bestimmen 1722, und zwar basierend zumindest teilweise auf der aktuellen Signatur und der gespeicherten Signatur, und um eine Äquivalenz zu evaluieren 1724, basierend zumindest teilweise auf der mindestens einen Unterkomponente und der mindestens einer modifizierten Unterkomponente, und zwar in Reaktion auf die bestimmte Differenz. Der Computerprozessor wird weiterhin verwendet, um mindestens eine direkte Unterkomponente zu verfolgen 1726, die hierarchisch mit der mindestens einen modifizierten Unterkomponente in Beziehung steht, und zwar in Reaktion auf die bestimmte Differenz und die evaluierte Äquivalenz, und um ein Folge-Protokoll zur Verfügung zu stellen 1728, zumindest teilweise basierend auf der bestimmten Differenz, der evaluierten Äquivalenz und der mindestens einen direkten Unterkomponente, wobei das Folge-Protokoll eine Auswirkung auf das elektronische Design angibt, die aus der mindestens einen Modifikation der mindestens einen Unterkomponente resultiert.
-
18 veranschaulicht die Bestimmung 1800 eine Differenz zwischen der gespeicherten Signatur 1810 und der aktuellen Signatur 1812. Die Differenzbestimmung der Signaturen 1814 kann eine kryptographische Signatur, eine Zeitstempelsignatur, eine Bit-Kopie-Signatur oder dergleichen sein. Es ist angedacht, dass die Signatur der Datei auch auf andere Weise berechnet werden kann.
-
19 veranschaulicht, dass die Äquivalenz-Evaluierung 1900 zwischen der ursprünglichen Unterkomponente 1910 und der überprüften Unterkomponente 1912 auf der Erkennung 1914 des strukturellen Layouts der mindestens einen Unterkomponente und der mindestens einen modifizierten Unterkomponente basieren kann.
-
20 veranschaulicht, dass die Äquivalenz-Evaluierung 2000 zwischen der ursprünglichen Unterkomponente 2010 und der überprüften Unterkomponente 2012 auf der Abbildung 2014 von Eigenwerten der mindestens einen Unterkomponente und der mindestens einen modifizierten Unterkomponente basieren kann.
-
21 veranschaulicht, dass die Äquivalenz-Evaluierung 2100 zwischen der ursprünglichen Unterkomponente 2110 und der überprüften Unterkomponente 2112 auf Abbildungen 2114 zwischen Verhaltens-Domänen und elektrischen Domänen sowie auf Berechnung der Abweichung zwischen der Verhaltens-Implementierung und der elektrischen Implementierung der mindestens einen Unterkomponente und der mindestens einen modifizierten Unterkomponente basieren kann.
-
22 veranschaulicht, dass die Äquivalenz-Evaluierung 2200 zwischen der ursprünglichen Unterkomponente 2210 und der überprüften Unterkomponente 2212 auf Abbildungen 2214 einer Netzliste der mindestens einen Unterkomponente und der mindestens einen überprüften Unterkomponente basieren kann.
-
23 veranschaulicht, dass die Äquivalenz-Evaluierung 2300 zwischen der ursprünglichen Unterkomponente 2310 und der überprüften Unterkomponente 2312 auf Abbildungen 2314 eines Matrixstempels der mindestens einen Unterkomponente und der mindestens einen überprüften Unterkomponente basieren kann.
-
24 zeigt eine schematische Ansicht von PMIC_testbench1. Diese schematische Ansicht hat 2 Instanzen: PMIC und PMIC_TB, wie in 25 und 26 gezeigt ist.
-
25 veranschaulicht eine mögliche Konfiguration oder Darstellung der Design-Hierarchie für PMIC_Testbench1. Die PMIC_TB Design-Darstellung Schema1 umfasst TB_Stützmaßnahme Verhalten_VA und TB_System Schema_Kunde1. Die PMIC Schema_Verhalten Design-Darstellung umfasst die LDO, eine Akku-Überwachung und Spannungsreferenzblöcke.
-
26 veranschaulicht eine alternative mögliche Konfiguration, bei der sich die PMIC-Konfiguration nicht ändern, aber jetzt PMIC_TB Schema_Verhalten TB_Stützmaßnahme Verhalten_VAMS und TB_System Verhalten_VAMS_Kunde2 verwendet. Wie die Änderungen des elektronischen Designs sind Änderungen in Bereichen von PMIC_TB für den Fall relevant, in dem die Änderung die spezifische Konfiguration beeinflusst, die bei einem bestimmten Verifizierungsdurchlauf verwendet werden. Änderungen der Prüfstandskonfigurationen bewirken Änderungen, die Änderungen in dem elektronischen Design entsprechen. Verschiedene Prüfständen können für die Blöcke innerhalb der Design-Hierarchie verwendet werden, wie zum Beispiel für die LDO oder den LDO-Verstärker.
-
27 zeigt ein computerimplementiertes Verfahren 2700 zur Change-Evaluierung eines elektronischen Designs zur Verifizierungsbestätigung, mit den Schritten: Empfangen 2710 einer Darstellung des elektronischen Designs, das zumindest teilweise aus einer Hierarchie mit mindestens einer Unterkomponente besteht, Empfangen 2712, zusammen mit der Darstellung des elektronischen Designs, zumindest eine Testrahmenmodells, um die mindestens einen Unterkomponente zu prüfen, und Verwenden 2714 einer gespeicherten Signatur von Daten, für die mindestens eine Unterkomponente und das mindestens einen Testrahmenmodell repräsentativ sind. Das Verfahren umfasst ferner die Schritte: Empfangen 2716 von mindestens einer Überprüfungsanfrage der mindestens einen Unterkomponente und des mindestens einen Testrahmenmodells, Erzeugen 2718 einer aktuellen Signatur von Daten, die für die mindestens eine Unterkomponente und das mindestens eine Testrahmenmodell repräsentativ sind, in Reaktion auf die mindestens eine Überprüfungsanfrage, Ermitteln 2720 einer Differenz zumindest teilweise basierend auf der aktuellen Signatur und der gespeicherten Signatur, und Evaluieren 2722 einer Äquivalenz der mindestens einen Unterkomponente und der mindestens einer überprüften Unterkomponente. Das mindestens eine Testrahmenmodell kann auf analogen, digitalen und/oder Mischsignalen basieren. Die Darstellung des elektronischen Designs kann ebenfalls auf analogen, digitalen und/oder Mischsignalen basieren.
-
Obwohl die Realisierung und Verwendung von verschiedenen Ausführungsbeispiele der Offenbarung hier diskutiert wird, ist es offensichtlich, dass die vorliegende Offenbarung Konzepte zur Verfügung stellt, die in einer breiten Vielfalt von spezifischen Zusammenhängen beschrieben werden können. Obwohl die Offenbarung unter Bezugnahme auf ein bestimmtes Beispiel gezeigt und beschrieben wurde, ist es offensichtlich, dass den Fachmann nach dem Lesen und Verstehen der Beschreibung verschiedene Äquivalente und Modifikationen einfallen. Die vorliegende Offenbarung umfasst solche Äquivalente und Modifikationen und ist nur durch den Umfang der folgenden Ansprüche beschränkt.
-
Es soll verstanden werden, dass das Verfahren und die Vorrichtung lokal oder entfernt ausgeführt werden können und dass die Daten für die Schritte entweder lokal oder entfernt gespeichert werden können. Zum Zwecke der Klarheit werden ausführliche Beschreibungen von Funktionen, Komponenten und Systeme, die für den Fachmann offensichtlich sind, hier nicht enthalten. Durch die Verfahren und Vorrichtungen der Offenbarung werden ein oder mehrere Vorteile zur Verfügung gestellt, einschließlich, aber nicht hierauf beschränkt, verbesserte Geschwindigkeitseffizienz, reduzierter Rechenaufwand, verringerte Anzahl von erneuten Verifizierungen und dergleichen. Obwohl die Offenbarung unter Bezugnahme auf bestimmte dargestellte Beispiele beschrieben wurde, sind die hierin beschriebenen Beispiele nicht dazu gedacht, in einem einschränkenden Sinne ausgelegt werden. Zum Beispiel können Variationen oder Kombinationen von Schritten oder Materialien in den Beispielen, die gezeigt und beschrieben wurden, in bestimmten Fällen verwendet werden, ohne von der Offenbarung abzuweichen. Verschiedene Modifikationen und Kombinationen der erläuternden Beispiele sowie weitere Vorteile und Beispiele werden für den Fachmann beim Studium der Zeichnungen, der Beschreibung und der Ansprüchen offensichtlich.