DE112015002183T5 - Computerimplementiertes System und Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs - Google Patents

Computerimplementiertes System und Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs Download PDF

Info

Publication number
DE112015002183T5
DE112015002183T5 DE112015002183.3T DE112015002183T DE112015002183T5 DE 112015002183 T5 DE112015002183 T5 DE 112015002183T5 DE 112015002183 T DE112015002183 T DE 112015002183T DE 112015002183 T5 DE112015002183 T5 DE 112015002183T5
Authority
DE
Germany
Prior art keywords
electronic design
verification
translating
implemented method
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112015002183.3T
Other languages
English (en)
Inventor
Michael Krasnicki
Felicia James
Xiyuan Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zipalog Inc
Original Assignee
Zipalog Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zipalog Inc filed Critical Zipalog Inc
Publication of DE112015002183T5 publication Critical patent/DE112015002183T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/38Circuit design at the mixed level of analogue and digital signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE

Abstract

Computerimplementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen eines elektronischen Designs, mit den Schritten: Empfangen des elektronischen Designs; Empfangen von mindestens einem analogen Test-Harnisch-Modell, das mindestens eine indirekte Verzweigungs-Beitrags-Aussage enthält; Übersetzen der mindestens einen indirekten Verzweigungs-Beitrags-Aussage in eine Mehrzahl von direkten Verzweigungs-Beitrags-Operatoren zumindest teilweise basierend auf dem mindestens einen analogen Test-Harnisch-Modell; und Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung.

Description

  • Querverweis auf verwandte Anmeldungen
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr. 61/991.072, eingereicht am 9. Mai 2014, mit dem Titel COMPUTER IMPLEMENTED SYSTEM AND METHOD OF TRANSLATION OF VERIFICATION COMMANDS OF AN ELECTRONIC DESIGN (Anwalts-Aktenzeichen Nr. ZPLG-31865), deren Beschreibung durch Bezugnahme in ihrer Gesamtheit in diese Anmeldung aufgenommen ist.
  • Hintergrund
  • Das Verfahren und das System beziehen sich allgemein auf die Verifizierung von integrierten Schaltungen für Analog- und Mischsignale, und insbesondere auf ein System und auf ein Verfahren zum Übersetzen von Verifizierungs-Subroutinen-Befehlen.
  • Electronic Design Automation (EDA) ist eine Software zur Gestaltung von elektronischen Blöcken. Es gibt mehrere allgemeine Typen von elektronischen Signalen, Komponenten und Blöcke: digital, analog und eine Mischung aus digital und analog, bezeichnet als Mischsignal. Das elektronische Design umfasst allgemein mindestens eine der folgenden Ebenen von Schaltungsinformation: eine System-Ebene, ein Architektur-Ebene, ein Datenfluss-Ebene, eine elektrische Ebene, eine Vorrichtungs-Ebene und eine Technologie-Ebene und dergleichen.
  • Digitale Signale haben diskreten Eingangs- und Ausgangswerte ”0” und die zu diskreten Zeitwerten auftreten, die typischerweise mit einem Taktsignal in Beziehung stehen. Digitale Komponenten, die die digitalen Signale eingeben und ausgeben, haben typischerweise statische Pin-Ausgänge und Interaktions-Protokolle. Digitale Blöcke, die digitale Komponenten enthalten, haben gut etablierte und gut dokumentierte physikalischen Layouts und elektrischen Interaktionen. Simulatoren für digitale Blöcke sind diskrete und durch Zeitereignisse gesteuerte Simulatoren.
  • Analoge Signale haben allgemein kontinuierliche Eingangs- und Ausgangswerte, die über die Zeit variieren können. Analoge Komponenten haben in der Regel anpassbare Layouts, um Eingänge, Ausgänge, Trigger, Vorspannungen (Bisses), etc. zu modifizieren. Daher, aufgrund der Anpassung, können analoge Blöcke, die analoge Komponenten enthalten, keine so gut etablierten oder gut dokumentierten physikalischen Layouts oder elektrischen Interaktionen haben – wie digitale Schaltungen. Simulatoren für analoge Blöcke erfordern allgemein kontinuierliche Zeitbereichssimulatoren.
  • Mischsignalblöcke sind eine Kombination aus Digitalsignalblöcken und Analogsignalblöcken innerhalb einer zu simulierenden Komponente. Die üblichsten Optionen, die für Simulation verfügbar sind, bestehen darin, die Komponente als eine Gruppierung von Analogblöcke zu simulieren, oder die analogen Komponenten/Blöcke und die digitalen Komponenten/Blöcke getrennt zu analysieren, und die Eingänge und Ausgänge an den Grenzen der digitalen und analogen Domänen für Inter-Domain-Kommunikation zu übersetzen.
  • Innerhalb EDA gibt es zwei große Kategorien von Schaltungsüberprüfungen, die in Zusammenhang stehen: Simulation und Verifizierung. Simulation ist eine numerische Lösungsmenge, die das Verhalten einer Schaltung vorhersagt. Verifizierung ist die systematische Weiterverfolgung der Beschreibung des Verhaltens einer Schaltung unter relevanten Bedingungen (funktionale Verifizierung) und bei Herstellungsprozess-Variation (parametrische Verifizierung). Daher erfordert eine Verifizierung in der Regel eine wesentlich umfangreichere Überprüfung der Schaltung, ihrer Betriebsbedingungen und der Fertigungsbetriebs-Variationen als eine Simulation. Es ist möglich, eine große Anzahl von Simulationen durchzuführen, ohne die Funktionalität einer Schaltung in einem signifikanten Ausmaß verifizieren zu müssen. Verifizierung ist die mathematische Modellierung des Schaltungsverhaltens und die Auswertung der Schaltungsleistung über einen Bereich von Bedingungen. Letztendlich ist das Maß für den Erfolg der Verifizierung ein Bericht darüber, wie gut das Schaltungsdesign mit der Schaltungsspezifikation übereinstimmt. Analog- und Mischsignal-Verifizierungsmethodik konkurrieren damit, mit der Komplexität, den Kosten und den Rechenanforderungen von immer größer werdenden Analog- und Mischsignal-Schaltungen Schritt zu halten.
  • Die Anzahl und Komplexität von Verifizierungs-Testfällen wächst mit der Komplexität von Analog- und Mischsignal-Designs. Zusätzlich nimmt die Simulationsgeschwindigkeit ab, und die Speicherausnutzung nimmt zu, wenn die Größe der Schaltung wächst. Somit kann die Rechenverarbeitungsleistung, um eine Schaltung zu verifizieren, mit der Schaltungskomplexität dramatisch ansteigen. Dieses Problem wird noch dramatischer, da die Verifizierung normalerweise am Ende eines Design-Zyklus stattfindet, wo Verzögerungen im Zeitplan als sehr schwerwiegend wahrgenommen werden. Somit ist Verifizierung eine Aktivität, die allgemein eine beträchtliche Menge an Simulationsverarbeitungsleistung für einen kleinen Teil des gesamten Design-Zyklus erfordert, und daher ist allgemein eine effiziente Nutzung der Verifizierungs-Ressourcen erforderlich, um die Markeinführungszeit-Anforderungen zu erfüllen.
  • Die heutigen komplexen Verifizierungs-Lösungen sind speziell auf das Engineering der Verifizierungs-Aktivität konzentriert, um sicherzustellen, dass der Betrieb der Schaltung vollständig und effizient unter einschlägigen Bedingungen verifiziert ist. Diese Konzentration auf Analog- und Mischsignal-Verifizierung basiert sehr viel mehr auf manueller Tätigkeit und Erfahrung als eine digitale Verifizierung. Bei dieser sporadischen interaktiven analogen Verifizierung verbleibt bei Unternehmen ein gewisses Risiko. Durch die vorliegende Offenbarung kann es ermöglicht werden, dass Verifizierungs-Aufgaben auf einer höheren Abstraktionsebene definiert werden. Durch die vorliegende Offenbarung kann es ermöglicht werden, dass komplexe Beziehungen zwischen Stimulus oder Stimulus-Annahmen sowie Ausgabe-Messungen oder Ausgabe-Annahmen effizient erfasst werden. Durch die vorliegende Offenbarung kann das Testen von Schaltungen auf Transistor-Ebene, von Schaltungen, die mit Verhalten-Modellen implementiert sind, oder von Schaltungen ermöglicht werden, die eine Kombination aus Verhalten-Modellen und Implementierungen auf Transistor-Ebene enthalten. Standard-Verzweigungs-Beitrags-Aussagen können nicht in bedingten, Looping, Nomenklatur oder analysebasierten Aussagen verwendet werden, es sei denn, der bedingte Ausdruck ist ein konstanter Ausdruck. Aus Gründen der Differenzierung werden diese Standard-Verzweigungs-Beitrags-Aussagen als direkte Verzweigungs-Beitrags-Aussagen bezeichnet. In dieser Offenbarung ist eine indirekte Verzweigungs-Beitrags-Aussage (IBCS) stärker als eine direkte Verteilungs-Beitrags-Aussage (DBCS). Insbesondere können indirekte Verzweigungs-Beitrags-Aussagen in konditionalen Konstrukten und Looping-Konstrukten verwendet werden, die bezüglich des Designs des Benutzers, Design-Konfiguration, Simulation/Analyse-Konfiguration, Verifizierungs-Zustand und Verifizierungs-Geschichte dynamisch sind. Es besteht seit langem ein Bedarf darin, dass unabhängige Verzweigungs-Beitrags-Aussagen für bedingte, Looping, Nomenklatur oder analysebasierte Aussagen verwendet werden können oder verschiedene Argumente, die aus der laufenden Analyse resultieren, zurückgeführt werden.
  • Eine robuste Verifizierung von Analog- und Mischsignal-Schaltungen erfordert allgemeinen eine bedeutende Investition in Prüfständen, Leistungs-Analyse-Routinen und Makro-Modelle, die verwendet werden können, um die Simulationen zu beschleunigen. Die Komplexität dieser Sicherheiten wächst mit der Komplexität der integrierten Analog- und Mischsignal-Schaltungen, die verifiziert werden sollen. Wenn ein Design-Team Design-Ressourcen hinzufügt, muss es auch Verifizierungs-Ressourcen hinzuzufügen, wodurch die Kosten des Designs weiter steigen. Die effiziente Nutzung dieser Ressourcen erlangt größte Bedeutung, und zwar aufgrund der unvermeidlichen zeitlichen Zwänge, die am Ende des Design-Zyklus vorliegen, wenn Unternehmen versuchen, ein Produkt auf den Markt zu bringen.
  • Der aktuelle Technologie-Kurs in der herstellenden Elektronik-Industrie geht mehr und mehr in Richtung Einzel-Chip-Designs, auch als Systeme auf einem Chip (SoC) oder Multi-Chip-Module (MCM) bezeichnet, wo mehrere Chips in einem Paket enthalten sind. Die meisten Systeme auf einem Chip und Multi-Chip-Module erfordern allgemein ein gewisses Maß an Mischsignal-Verifizierung. Da Größe und Komplexität von Mischsignal-Designs weiter anwachsen, stellt dies eine zusätzliche Hürde hinsichtlich der Verifizierung dar, um einen Design-Erfolg im ersten Durchgang zu gewährleisten und um die Markteinführungszeit zu reduzieren. Obwohl die Komplexität von Analog- und Mischsignal-ASIC-Design dem Moore'sche Gesetz gefolgt sind, trifft dies allgemein nicht auf Innovationen hinsichtlich der Design-Verifizierung zu.
  • Wertvolle Design-Zeit und Rechenressourcen sowie teure Simulatorressourcen können durch das offenbarte Verfahren zum Übersetzen von Verifizierungs-Subroutinen-Befehlen in den Fokus gerückt werden. Das Verfahren macht die Erfassung von komplexem Stimulus sowie die Erfassung von Ausgabe-Annahmen und Messungen effizienter. Durch die resultierenden intelligenten Prüfstände werden Gebiete identifiziert, bei denen eine Verifizierung fehlgeschlagen ist, und außerdem wird, indem die Notwendigkeit einer manuellen Interpretation der Ergebnisse stark reduziert wird, ein viel unmittelbareres Feedback für das Design-Team und das Design-Management bewirkt. Die Verbesserung der Test-Effizienz (d. h., keine Verschwendung von Simulation-Zeit und Reduzieren der Zeit für Ausgabe-Analyse) ermöglicht eine effizientere Nutzung von Ressourcen.
  • Diese Offenbarung bezieht sich auf das Übersetzen von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs von anwendungsspezifischen integrierten Schaltungen (ASICs) für Analog- und Mischsignale (A/MS). Integrierte Analog- und Mischsignal-Schaltungen gibt es in vielen modernen elektronischen Geräten, und diese Schaltungen müssen durch Simulation vor der Herstellung überprüft werden.
  • Zusammenfassung
  • Durch lediglich ein Ausführungsbeispiel, und seiner Aspekte, der vorliegenden Offenbarung wird ein computerimplementiertes System sowie ein Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs zur Verfügung gestellt, umfassend die Schritte: Empfangen des elektronischen Designs, Empfangen von mindestens einem analogen Test-Harnisch-Modell mit mindestens einer indirekten Verzweigungs-Beitrags-Aussage, Übersetzen der mindestens einen indirekten Verzweigungs-Beitrags-Aussage in eine Mehrzahl von direkten Verzweigungs-Beitrags-Operatoren zumindest teilweise basierend auf dem mindestens einen analogen Test-Harnisch-Modell, und Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung.
  • Kurze Beschreibung der Figuren
  • Die vorliegende Erfindung wird aus der Betrachtung der folgenden detaillierten Beschreibung und der Zeichnungen besser verstanden, in denen:
  • 1 ein Blockdiagramm ist, das ein Computersystem zeigt, das zur Durchführung der vorliegenden Offenbarung geeignet ist;
  • 2 ein Blockdiagramm ist, das ein Computernetzwerksystem zeigt, das zur Durchführung der vorliegenden Offenbarung geeignet ist;
  • 3 ein Beispiel einer Niederspannungs-Dropout (LDO) Schaltung zeigt;
  • 4 eine beispielhafte Verstärkerschaltung zeigt;
  • 5 eine Prüfstands-Anschlussbelegung für einen Verstärker zeigt;
  • 6 eine allgemeine beispielhafte Hierarchie zeigt;
  • 7 eine beispielhafte geparste Beispiel-Testhierarchie zeigt;
  • 8 ein erstes Beispiel von einem Prüfstand für eine integrierte Power-Management-Schaltung zeigt;
  • 9 ein zweites Beispiel von einem Prüfstand für eine integrierte Power-Management-Schaltung zeigt;
  • 10 ein drittes Beispiel von einem Prüfstand für eine integrierte Power-Management-Schaltung zeigt;
  • 11 ein beispielhaftes MUX und OPAMP mit Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt;
  • 12 eine beispielhafte B-Ebene von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt;
  • 13 eine beispielhafte D-Ebene von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt;
  • 14 ein hierarchisches Beispiel von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt;
  • 15 eine beispielhafte E-Ebene von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt;
  • 16 ein erstes Beispiel von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt;
  • 17 ein zweites Beispiel von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt;
  • 18 ein drittes Beispiel von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt;
  • 19 ein viertes Beispiel von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt;
  • 20 ein fünftes Beispiel von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt; und
  • 21 ein sechstes Beispiel von Übersetzung von Verifizierungs-Subroutinen-Befehlen eines elektronischen Designs zeigt.
  • Bezugnahmen in der detaillierten Beschreibung entsprechen den geleichen Bezugnahmen in den verschiedenen Zeichnungen, sofern nicht anders vermerkt. Beschreibende Angaben und Richtungsangaben, die in der schriftlichen Beschreibung verwendet werden, wie zum Beispiel rechts, links, hinten, vorne, oben, unten, seitlich, et cetera, beziehen sich auf die Zeichnungen selbst, wie sie auf dem Papier dargestellt sind, und nicht auf physische Limitierungen der Offenbarung, sofern nicht ausdrücklich darauf hingewiesen wird. Die Zeichnungen sind nicht maßstabstreu, und einige Merkmale von Beispielen, die gezeigt und diskutiert werden, sind vereinfacht oder verdeutlicht, und zwar aus Gründen der Darstellung von Prinzipien und Merkmalen sowie von Vorteilen der Offenbarung.
  • Detaillierte Beschreibung
  • Die Merkmale und andere Details der Offenbarung werden nun insbesondere unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen verschiedene veranschaulichende Beispiele des offenbarten Gegenstandes dargestellt und/oder beschrieben sind. Es versteht sich, dass bestimmte und hier beschriebene Beispiele lediglich zur Veranschaulichung dargestellt sind, und nicht als Einschränkung der Offenbarung. Darüber hinaus soll der offenbarte Gegenstand nicht so ausgelegt werden, dass er auf eines der hier angegebenen Beispiele beschränkt ist. Diese Beispiele werden bereitgestellt, damit diese Offenbarung umfassend und vollständig ist sowie dem Fachmann auf diesem Gebiet den Umfang des offenbarten Gegenstands vollständig vermittelt. Die Hauptmerkmale dieser Offenbarung können in verschiedenen Beispielen verwendet werden, ohne vom Umfang der Offenbarung abzuweichen.
  • Die hier verwendete Terminologie dient dem Zweck der Beschreibung bestimmter Beispiele und dient nicht dazu, den offenbarten Gegenstand zu beschränken. Gleiche Bezugszeichen beziehen sich durchgehend auf gleiche Elemente. Der hier verwendete Begriff ”und/oder” umfasst jegliche und alle Kombinationen von einem oder mehreren der zugeordneten aufgelisteten Elemente. Außerdem, wie hier verwendet, umfassen die Singularformen ”ein”, ”eine” und ”der”, ”die”, ”das” auch die Pluralformen, sofern sich aus dem Zusammenhang nichts anderes ergibt. Es soll ferner verstanden werden, dass die Begriffe ”umfassen” und/oder ”aufweisen”, sofern in dieser Beschreibung verwendet, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten angibt, nicht aber nicht das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen, wie hier verwendet, davon ausschließt. Außerdem, wie hier verwendet, können relative Ausdrücke, wie erste und zweite, oben und unten, links und rechts, und dergleichen, lediglich dazu verwendet werden, um eine Einheit oder Aktion von einer anderen Einheit oder Aktion zu unterscheiden, ohne dass notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Einheiten oder Aktionen erforderlich ist oder impliziert verwendet werden soll.
  • Kosten für die Eintrittsbarrieren in Analog- und Mischsignal-IC-Design sind speziell für Fabless-Unternehmen endemisch, die geistiges Eigentum bezüglich ASIC in Form von gepackten ASICs oder Module entwickeln, um in die Systems-on-Chip (SoCs) oder Multi-Chip-Module (MCMs) ihren Kunden integriert zu werden. Wenn zum Beispiel ein Fabless-Design-Center mit fünf IC-Design-Ingenieuren besetzt ist, dann ist das Team mit Design-Werkzeugen auszustatten, die finanziell mit einer Vervierfachung der Mitarbeiter gleichwertig sind. Grund hierfür sind die hohen Kosten für das Eigentum an den EDA-Tools, und nicht nur die jährlichen Lizenzgebühren, Installation und Support, Schulungen und dergleichen. Das Reduzieren der Systemnutzung durch Übersetzen von Verifizierungs-Befehlen ermöglicht eine effizientere Ressourcen-Zuordnung.
  • Analog- und Mischsignal-Verifizierung ist zeit- und rechenintensiv. Die Funktionalität der Schaltung für verschiedene Eingaben unter verschiedenen Bedingungen und für verschiedene Herstellungsbedingungen muss in der Regel simuliert werden, um zu gewährleisten, dass die Schaltung hinsichtlich der Spezifikationen funktioniert.
  • Verzweigungs-Beitrags-Aussagen werden verwendet, um Verhalten zeitkontinuierlich zwischen analogen Netzen und Anschlüssen zu beschreiben. Die direkte Beitrags-Aussage verwendet einen Verzweigungs-Beitrags-Operator, < +, um eine mathematische Beziehung zwischen einem oder mehreren analogen Netze zu beschreiben. Diese direkten Beitrags-Aussagen verwenden Argumente, die ein konstanter Ausdruck sind. Standard-Verzweigungs-Beitrags-Aussagen können nicht in bedingten, Looping, Nomenklatur oder Analyse-basierten Aussagen verwendet werden, es sei denn, der bedingte Ausdruck ist ein konstanter Ausdruck. Aus Gründen der Differenzierung werden diese Standard-Verzweigungs-Beitrags-Aussagen als direkte Verzweigungs-Beitrags-Aussagen bezeichnet. In dieser Offenbarung ist eine indirekte Verzweigungs-Beitrags-Aussage (IBCS) stärker als eine direkte Verzweigungs-Beitrags-Aussage (DBCS). Insbesondere können indirekte Verzweigungs-Beitrags-Aussagen bedingten Konstrukten und Looping-Konstrukten verwendet werden, die bezüglich des Benutzer-Designs, Design-Konfiguration, Simulation/Analyse-Konfiguration, Verifizierungs-Zustand und Verifizierungs-Geschichte dynamisch sind. Indirekte Verzweigungs-Beitrags-Aussagen ermöglichen dynamischen Code, der direkte Verzweigungs-Beitrags-Aussagen erzeugt, und zwar basierend auf dem Inhalt der Netzliste.
  • AMSTTM (Analog-Mischsignal-Test) ist ein Modul zum Spezifizieren des Analog/Mischsignal (A/MS) Stimulus als auch zum Behaupten und Ausgeben von Messungen. Ein AMST ist in der Lage, komplexe Beziehungen zwischen Stimulus und Ausgabe-Behauptungen effizient zu erfassen. Verifizierungsmodelle, die in der AMST-Sprache (AMSTLTM) spezifiziert sind, erfassen Befehle einer höheren Ebene, die anschließend übersetzt werden in Verilog-A/AMS. Verilog-A, Verilog-AMS, VHDL-AMS, SystemC-AMS oder dergleichen, die standardisierte Sprachen zum Definieren von Analog- bzw. Mischsignalen sind. Es ist angedacht, dass der Code auch verwendet werden kann, um irgendeinen Sprache-Standard zu erzeugen, wodurch direkte Zweig-Verteilungs-Angaben für analoge Simulatoren unterstützt werden.
  • AMSTL kann verwendet werden, um Befehle einer höheren Ebene mit IBCS zu erfassen, und zwar unabhängig davon, ob der resultierende übersetzte Code in dem Verhaltensmodell einer Schaltung oder in einer Testumgebung verwendet wird. Der Vorteil der Erfassung von Behauptungen (Annahmen) in einer AMST, statt in dem Verhaltensmodell der Schaltung, besteht darin, dass die Verifizierungsbefehle unabhängig von der Darstellung der Schaltung wiederverwendet werden können. Beispielsweise führt in 15 der AMP_AMST-Block die gleichen Befehle und Annahme aus, und zwar unabhängig davon, ob der Operationsverstärker und der Multiplexer (MUX) als Transistor-Ebenen-Schemata oder als Verhaltensmodelle dargestellt sind. Der AMP_AMST dient nun als Verifizierung des geistigen Eigentums (VIP), das mit diesen Schaltungen wiederverwendet werden kann. Dieses Konzept wird besonders nützlich, wenn der Fall betrachtet wird, bei dem geistiges Eigentum (IP) bezüglich Analog-Design für eine dritte Partei zur Verfügung gestellt wird. Der Abnehmer hat jetzt Verifizierungs-IP, die mit dem erworbenen IP in ein größeres SOC eingebettet werden kann. Diese VIP reduziert das Risiko, dass das erworbene Design IP falsch verwendet wird. Verifizierungs-IP war ein bewährtes Konzept für digitale Schaltungen sowie Top-Level-Eingänge und -Ausgänge, ist aber bisher nicht praktisch gewesen, um mit eingebettetem Analog-IP kombiniert zu werden.
  • Die Sprache AMSTL soll Verhaltensweisen, Stimulus, Ausgänge, Messungen usw. für integriertes Analog- und Mischsignal-Schaltungs-Design beschreiben und bietet höhere Level-Konstrukte als sie in Standard-Hardware-Beschreibungssprachen verfügbar sind, die für die Eingaben in analoge Simulatoren vorgesehen sind. Ein Vorteil ist eine Effizienzsteigerung basierend auf der Verfügbarkeit von IBCS in AMSTL. Darüber hinaus kann AMSTL-Code geparsed werden, um irgendeine gewünschte Standardsprache auszugeben. Das Modul AMST ist ein Verhaltensmodell von Analog- und Mischsignal-Verifizierungs-IP (Intellectual Property) und ist dazu gedacht, um in irgendeiner Hierarchie-Ebene innerhalb des Designs enthalten zu sein. Das Modul kann mit dem IP vorgesehen sein, das zum Überwachen, Stimulieren und/oder Bewerten gedacht ist. Die Ausgangsform des Modells (in Verilog-A, Verilog-AMS, VHDL-AMS, etc.) kann durch eine Netzliste in einen Analog- oder Mischsignal-Simulator eingegeben werden.
  • Eine Netzliste ist eine Darstellung von einer oder mehreren Datenbanken, die Informationen enthalten, die für ein Verifizierungs-Projekt und eine Simulations-Aufgabe relevant sind, umfassend, aber nicht darauf beschränkt:
    • 1) eine Beschreibung von Komponenten (z. B. Transistoren, Widerstände, Kondensatoren, Verhaltensmodelle, AMSTs, digitale Gates) und Eigenschaften von Komponenten, die das Design ausmachen (z. B. PMOS2 hat W = 1 μm),
    • 2) die Konnektivität des Designs (z. B. Drain von PMOS1 ist eine Verbindung mit dem Gate von NMOS2),
    • 3) eine hierarchische Konfiguration des Designs für eine spezifische Simulationsaufgabe (z. B. PLL1 ist als ein Modell dargestellt, LD03 ist auf Transistor-Ebene dargestellt)
    • 4) eine Konfiguration der Simulationsaufgabe einschließlich Simulationstyp (z. B. transiente Simulation), Dauer (z. B. 2 ms), Toleranzeinstellungen (z. B. iabstol < 10e–10), Konfiguration von Schnittstellenelemente zwischen digitalen und analogen Partitionen, sowie Ausgangssignal-Selektionen
    • 5) alle Informationen in der Verifizierungs-Datenbank, wie zum Beispiel erwartete Leistungswerte, Signalübergänge, Signalform, Tastverhältnis, usw. von irgendeinem Signal oder Element von Interesse für die Verifizierungs-Aktivität).
  • Die Netzliste ist die Eingabe in einer Simulation. Der Zweck einer Simulation besteht darin, das Verhalten der Schaltung vorherzusagen, die in der Netzliste beschrieben und Gegenstand der Stimulus-Bedingungen und Genauigkeitskriterien ist, die in der Netzliste spezifiziert sind. Die Simulation ist ein wesentlicher Bestandteil des Designs einer integrierten Schaltung (IC), da a) Fotomasken für IC-Designs sehr teuer sind, b) die IC-Herstellung eine lange Zeit dauert, c) das Sondieren von Signalen innerhalb eines IC extrem schwierig ist, und d) das Breadbording (Versuchsaufbau) eines modernen IC-Designs ist unpraktisch. Eine Simulation wird mit einem Simulator durchgeführt. Auf einer hohen Ebene gibt es drei Ansätze zum Simulieren einer integrierten Schaltung: SPICE-Level-Simulation, Digital-Level-Simulation und Mixed-Mode-Simulation. Ein SPICE-Level-Simulator reduziert die Netzliste auf eine Gruppe von nicht-lineare algebraischen Differential-Gleichungen, die unter Verwendung von impliziten Integrationsverfahren, Newton-Verfahren und Techniken mit dünnbesetzter Matrix gelöst werden. Ein SPICE-Level-Simulator konserviert Ladung, erfüllt das Kirchhoffsche Stromgesetz und das Kirchhoffsche Spannungsgesetzes, und unterliegt einer Reihe von absoluten oder relativen Toleranzen. Ein digitaler Simulator reduziert die Netzliste auf eine Reihe von Booleschen Funktionen, die durch diskrete Ereignisse ausgelöst werden. Digitale Simulatoren konservieren keine Ladung, erfüllen das Kirchhoffsche Stromgesetz oder das Kirchhoffsche Spannungsgesetz. Aber sie können viel größere Schaltungen auf einer höheren Abstraktionsebene simulieren. Mixed-Mode (AMS) Simulation kombiniert einen SPICE-Level-Simulator mit einem digitalen Simulator. Bei dieser Art von Simulation wird ein SPICE-Level-Simulator verwendet, um einen Bereich des Designs zu simulieren und um die Netto-Spannungen und Anschlussströme der Komponenten in der SPICE-Level-Partition vorherzusagen, während der digitale Simulator verwendet wird, um die digitalen Ausgaben der Komponenten in der digitalen Partition vorherzusagen. Bei einer Mixed-Mode-Simulation sind die SPICE-Level-Partition und die digitale Partition mit Schnittstellenelementen verbunden, die auf einem Basis-Level idealisierte 1-Bit-Analog-Digital-Wandler (für Signale, die von der SPICE-Partition zur digitalen Partition gehen) und 1-Bit-Digital-Analog-Wandler (für Signale, die von der digitalen Partition zur SPICE-Partition gehen) sind.
  • Eine Simulation können die folgenden Ausgaben erzeugen:
    • 1) zeitkontinuierliche/wertkontinuierlichen Wellenformen von Netzspannungen und Anschlussströmen
    • 2) zeitdiskrete/wertdiskrete digitale Wellenformen von logischen Netzausgängen
    • 3) jegliche Daten, die durch irgendein Verhaltensmodell geschrieben sind, einschließlich jeglicher AMST-Module, die in die Netzliste aufgenommen wurden
    • 4) Annahmen-Verletzungs-Nachrichten
    • 5) Debug-Informationen über das Modellverhalten, Schaltungskonvergenz-Schwierigkeiten, etc.
  • Diese Ausgaben von der Simulation werden in einer oder mehreren Datenbanken gespeichert. Diese Ausgaben werden anschließend verwendet, um die Eignung der Schaltung zu bewerten. Dieser Vorgang kann manuell erfolgen. Ein Designer kann zum Beispiel Wellenformen in einem grafischen Wellenform-Anzeigegerät überprüfen. Das Verfahren kann auch automatisiert sein. Ein Software-Programm kann programmtechnisch Wellenform-Ergebnisse und AMST-Ausgaben analysieren, um eine Norm-Matrix aufzubauen, die den Satz von Design-Zielen, die erfüllt wurden, und den Satz von Design-Zielen zusammenfasst, die in der Schaltungssimulation nicht bestanden haben.
  • Beispiele von dem, was mit indirekten Verzweigungs-Beitrags-Aussagen (IBCS) durchgeführt werden kann:
    • 1. Schreiben einer indirekten Verzweigungs-Beitrags-Anweisung, die einen Bus mit einer beliebigen Anzahl von Stiften unterstützt (z. B. Referenzstrom-Bus). Da die Größe des Busses von den Designern geändert wird, wird die Zahl von tatsächlichen direkten Verzweigungs-Beitrags-Aussagen dynamisch rekonfiguriert.
    • 2. Schreiben einer indirekten Verzweigungs-Beitrags-Aussage, die spezielle Grenzen von den Netznamen, oder Schaltungs-Konnektivität, extrahiert, wodurch das Implementieren von Versorgungs-Konnektivitäts-Prüfungen ermöglicht wird.
    • 3. Schreiben einer indirekten Verzweigungs-Beitrags-Aussage, die Grenzen basierend auf vorhergehenden Simulationsergebnissen einstellt.
    • 4. Schreiben einer indirekten Verzweigungs-Beitrags-Aussage, die zusätzlichen Prüfungen hinzufügt, aber nur die Transistor-Ebene-Implementierung eines Blocks.
  • In jedem dieser Fälle erzeugt der Code, der die indirekte Verzweigungs-Beitrags-Aussage bildet, Verilog-A/AMS-Aussagen, die mit der Standard-Sprache kompatibel sind.
  • Daher können das offenbarte System und Verfahren zum Übersetzen von Verifizierungs-Befehlen eines oder mehrere der folgenden Probleme lösen, um eine effizientere Nutzung von Computern und Personalressourcen zu ermöglichen, und zwar durch reduzierte Programmierzeit, um die Zeitverzögerung der Markteinführung zu verringern und/oder um eine gezieltere und gründliche Verifizierungs-Bestätigung zu gewährleisten.
  • Das Computersystem in 1 zeigt die Systemarchitektur für ein beispielhaftes Computersystem 100, auf dem die aktuelle Offenbarung implementiert werden kann. Das beispielhafte Computersystem aus 1 dient lediglich für beschreibende Zwecke. Obwohl sich die Beschreibung auf Begriffe beziehen kann, die üblicherweise zur Beschreibung bestimmter Computersysteme verwendet werden, wie beispielsweise ein Personal-Computer, gelten die Beschreibung und die Konzepte gleichermaßen auch für andere Systeme, einschließlich Systeme mit Architekturen, die zu 1 unähnlich sind.
  • Das Computersystem 100 umfasst typischerweise eine zentrale Verarbeitungseinheit (CPU) 110, die mit einem oder mehreren Mikroprozessoren implementiert sein kann, einen Direktzugriffsspeicher (RAM) 112 zur temporären Speicherung von Informationen, und einen Nur-Lesespeicher (ROM) 114 zur permanenten Speicherung von Informationen. Ein Memory-Controller 116 ist zum Steuern des RAM vorgesehen. Ein Bus 118 verbindet die Komponenten des Computersystems. Ein Bus-Controller 120 ist für die Steuerung des Busses vorgesehen. Eine Interrupt-Controller 122 wird zum Empfangen und Verarbeiten verschiedener Interrupt-Signale von den Systemkomponenten verwendet. Ein Massenspeicher kann durch einen Flash-Speicher 124, ein DVD-Laufwerk 126 oder ein Festplatten-Laufwerk 128 oder zum Beispiel ein Solid-State-Laufwerk zur Verfügung gestellt werden. Daten und Software können mit dem Computersystem über Wechselmedien ausgetauscht werden, wie zum Beispiel der Flash-Speicher und das DVD-Laufwerk. Der Flash-Speicher kann in einen Universal-Serial-Bus (USB) Anschluss 130 eingesetzt werden, der wiederum über einen Controller 132 mit dem Bus verbunden ist. In ähnlicher Weise kann eine DVD in das DVD-Laufwerk 134 eingesetzt werden, das wiederum über einen Controller 136 mit dem Bus verbunden ist. Die Festplatte ist Teil eines Festplatten-Laufwerks 138, das über den Controller 140 mit dem Bus verbunden ist.
  • Benutzereingaben in das Computersystem können durch eine Anzahl von Vorrichtungen realisiert werden. Beispielsweise sind eine Tastatur 142 und eine Maus 144 durch einen Controller 146 mit dem Bus verbunden. Ein Audiowandler 148, der als ein Mikrofon und Lautsprecher dienen kann, ist über einen Audio-Controller 150 mit dem Bus verbunden, wie dargestellt. Andere Eingabevorrichtungen, wie zum Beispiel einen Stift und/oder Tablett, können mit dem Bus und einen entsprechenden Controller und Software angeschlossen werden. Außerdem ist ein DMA-Controller 152 zum Durchführen von Direktspeicherzugriff auf das System-RAM vorgesehen.
  • Eine visuelle Anzeige wird durch Video-Subsystem 154 erzeugt, die die Videoanzeige 156 steuert. Das Computersystem enthält außerdem einen Kommunikations-Adapter 158, der es dem System ermöglicht, mit einem Lokal-Area-Netzwerk (LAN) oder einem Wide-Area-Network (WAN) oder einem anderen geeigneten Netzwerk verbunden zu werden, schematisch durch einen Bus 160 und ein Netzwerk 162 veranschaulicht.
  • Der Betrieb des Computersystems wird allgemein von einem Betriebssystem gesteuert, wie beispielsweise das Betriebssystem Windows und Windows 7, erhältlich von der Microsoft Corporation, oder das Unix, Linux oder Apple OS X Betriebssystem, um nur einige zu nennen. Das Betriebssystem steuert die Zuordnung von Systemressourcen und führt Aufgaben durch, wie zum Beispiel Verarbeitungszeitplanung, Speicherverwaltung, Netzwerk und I/O-Dienste, und andere.
  • Das Computersystem aus 2 veranschaulicht das System 200, in dem der Computer-Benutzer 210 mit einem Netzwerk 212 verbunden ist, das wiederum mit der Cloud 214 und der Computer-Farm 216 verbunden ist.
  • Ein beispielhaften Schema einer Niederspannungs-Dropout (LDO) Schaltung 300 ist in 3 gezeigt. Das LDO umfasst einen Verstärker A1 mit einem invertierenden Eingang (–Eingang), einem nicht-invertierenden Eingang (+Eingang), einem Ausgang, einem positiven Spannungseingang +V und einem negativen Spannungseingang –V. Die LDO-Schaltung hat eine Eingangsspannung Vein und eine Ausgangsspannung Vaus. Das LDO hat einen Leistungsausgangsblock Q1, Q2 und R2. Die LDO-Rückkopplungsschaltung besteht aus R3, R4, D1 und R1. Der Verstärker A1 ist als ein Symbol gezeigt, und die Elemente D1, R1, R2, R3, R4, C1, C2, Q1 und Q2 sind als Schaltsymbole gezeigt.
  • Ein beispielhaftes Schema einer Verstärker A1 Schaltung 400 ist in 4 gezeigt. Das Symbol des Verstärkers enthält Transistoren Q3, Q4, Q5, Q6, Q7 und Q8 sowie einen Widerstand R5. Der Verstärker A1 hat einen invertierenden Eingang (–Eingang), einen nicht-invertierenden Eingang (+Eingang), einen Ausgang, einen positiven Spannungseingang +V und einen negativen Spannungseingang –V.
  • 5 zeigt einen Prüfstand 500 für einen Verstärker A1 510. Ein Prüfstand ist eine spezifische Konfiguration von Eingängen, Ausgängen, Testbedingungen und dergleichen, die für eine Vorrichtung ausgeführt werden, die mit dem Prüfstand verbunden ist. Der Prüfstand hat einen invertierenden Eingang 512, einen nicht-invertierenden Eingang 514, einen positiven Leistungseingang 516, einen negativen Spannungseingang 518 und einen Ausgang 520. Der Prüfstand hat zugehörigen Verbindungen, Stromversorgungen, IOs, etc., die als Prüfstand-Sicherheiten bezeichnet werden. Der Bereich um die Peripherie der Schaltung wird als Verifizierungs-Harnisch bezeichnet. Ausgangs-Pins und der Betrieb des Verifizierungs-Harnisch müssen an die zu testende Schaltung angepasst werden.
  • 6 zeigt ein allgemeines Beispiel einer Hierarchie 600 eines Prüfstands mit einer zu testenden Vorrichtung DUT. Die Hierarchie ist entsprechend der Ebenen A, B und C und Vorrichtung sowie entsprechend der Instanzen 1, 2 und 3. Die Verbindungslinien zeigen an, welche Modelle in der gesamten Hierarchie für eine bestimmte Verifizierung verbunden sind. Innerhalb der Ebene und Instanzen können mehrere Ansichtstypen existieren. Die Beispiele zeigen einige mögliche hierarchische Konfigurationen und sind nicht dazu gedacht, die Fälle und Ansichten oder Sichttypen einschränken.
  • Die Hierarchie des integrierten Schaltungs-Designs ist die Darstellung von integrierten Schaltungs-Designs unter Verwendung hierarchischer Darstellungen. Diese Darstellung ermöglicht eine effizientere Schaffung komplexer Designs, die Millionen von Komponenten umfassen können, wie zum Beispiel Transistoren, Widerstände und Kondensatoren sowie die metallischen Leitungen, die die Vorrichtungen verbinden. Die Design-Hierarchie-Darstellung, die an irgendeinem gegebenen Punkt in dem Design-Prozess verwendet wird, kann auf Basis des durchgeführten Design-Schritts und des Typs der Design-Funktion variieren, wie zum Beispiel analog, digital oder Memory.
  • Für den Fall, dass ein Design hergestellt werden soll, muss ein Layout des Designs geschaffen werden, so dass eine Darstellung abgebildet werden kann. Dieses Abbilden ermöglicht es, dass Muster auf einzelnen Ebenen der Maskensätze geschaffen werden, um so die Design-Herstellung zu ermöglichen. Im Allgemeinen ist der Design-Flow zur Erzeugung der Layout-Darstellung für Analog sehr unterschiedlich im Vergleich zu digitalen Funktionsblöcke und Subsystemen.
  • Zu Beginn des Design-Prozesses kann es große Teile des Designs geben, die zum ersten Mal entwickelt werden, weshalb es keine bestehenden Layout-Darstellungen gibt. Andere Teile des Designs können bereits geprüft worden sein, und diese können auf einer höheren Abstraktionsebene oder in Kombination dargestellt werden, wobei sie die Layout-Darstellung enthalten können.
  • Einige häufige Typen von Design-Darstellungen, hier als Ansichten bezeichnet, können verschiedene Ansichtstypen umfassen. Ein schematischer Ansichtstyp ist ein Bild von Komponenten oder Blöcke mit einer Konnektivität, die durch Leitungen oder Netzen und Verbindungen zu anderen Ebenen der Hierarchie durch Stifte gezeigt sind. Ein Spice-Ansichtstyp ist eine Darstellung einer Komponente und ihrer zugeordneten Parameter, möglicherweise mit einem bestimmten Vorrichtungsmodell, das in der Spice-Netzliste instanziiert ist. Ein LVSExtract ist ein Ansichtstyp, der durch ein Werkzeug erzeugt wird, um die Layout-Ansicht zu analysieren und um ein ”Reverse-Engineering” der einzelnen Komponenten durchzuführen. Variationen dieses Ansichtstyps können auch extrahierte parasitäre Komponenten enthalten, die aus dem physikalischen Layout resultieren, das nicht vom Designer gezeichnet wurde. Ein Layout-Ansichtstyp ist eine Darstellung der spezifischen Geometrien einschließlich des Routing für diesen Bereich des Designs. Ein VerilogTM-Ansichtstyp ist eine Textdatei, die in einem standardisierten VerilogTM-Format vorliegt. Ein Verilog-ATM-Ansichtstyp ist eine Textdatei mit standardisierter Verilog-ATM-Syntax. Ein Verilog-AMSTM-Ansichtstyp ist eine Textdatei mit standardisierter Verilog-AMSTM-Syntax. Ansichtstyp-Namen können unterschiedlich sein, und zwar abhängig vom Anbieter des Automations-Werkzeugs für das elektronische Design, wobei Beispiele hiervon SpectreHDL und HDL-A umfassen.
  • Andere Typen von Ansichtstypen können die Organisation und die Lesbarkeit der Hierarchie unterstützen. Als ein Beispiel können grafische Design-Werkzeuge, wie zum Beispiel schematische Erfassungssysteme, einen Symbol-Ansichtstyp für die vorgesehene Grafik verwenden. Das Symbol kann Stifte, die die Instanz durch die Hierarchie verbinden, sowie eine Zeichnung enthalten, die die Funktion des Blocks anzeigt. Beispiele umfassen gemeinsame Symbole für Operationsverstärker, digitale Basis-Gates, Transistoren, Widerstände und dergleichen.
  • Zur weiteren Erhöhung der Komplexität der Beschreibung kann ein gegebener Block auf einer Ebene der Design-Hierarchie mehrere Ansichten des gleichen Ansichtstyps enthalten. Ein Beispiel wären unterschiedliche VerilogTM-Darstellungen eines gegebenen Blocks, wie zum Beispiel ein Block mit kommentiertem Timing basierend auf dem Layout, ein Block mit geschätztem Timing, ein Block ohne Timing, oder verschiedene Ebenen der Design-Darstellung, wie zum Beispiel Gate-Ebene oder Register-Transfer-Ebene (RTL). Auf ähnliche Weise kann eine analoge Ansicht zahlreiche schematische Ansichten haben: zum Beispiel eine Ansicht, die das finale Transistor-Ebenen-Design abbildet, eine Ansicht, die die Platzierung von Verhaltens-Blöcken für das Modellieren höherer Ebenen umfasst, eine Ansicht, die parasitären Elemente aus dem Layout enthalten kann, eine Ansicht, die Schnittstellenelemente zwischen analogen und digitalen Blöcken für Mischsignal-Simulation enthält. Auch für analoge Blöcke kann es mehrere Verilog-ATM- oder Verilog-AMSTM-Modellansichten für den gleichen Block geben, wobei die Modelle unterschiedliche Funktionalitäten und Genauigkeiten enthalten, und zwar basierend auf den Zweck der verschiedenen Simulationsaufgaben. Diese mehreren Ansichten und Ansichtstypen sind in Konfigurationen abgebildet, die für eine bestimmte Aufgabe oder Analyse verwendet werden.
  • Häufig werden Namen erzeugt, um Hinweise zu liefern, für welche Typen von Analysen eine bestimmte Ansicht nützlich sein kann. Ein Ansichtsname kann jene umfassen, die nachfolgend aufgeführt sind, und ähnliche. Ein Schema ist eine schematische Ansicht, einschließlich der Platzierung von Blöcken, die auf der Transistorebene oder auf einer Ebene der Hierarchie ausgewertet werden können, wie zum Beispiel ein Verhaltensmodell. ”Schema_Verhalten” ist eine schematische Ansicht, die Verhaltenselemente umfasst. ”Schema_Parasitics” ist eine schematische Ansicht, die parasitäre Komponenten enthält, die aus dem Layout extrahiert oder geschätzt werden. ”Spice” ist eine Spice-Ansicht, die die in einer Netzliste implementierten Informationen und eine Komponente für einen spezifischen Analog-Simulator enthält. ”Verhalten_va” ist eine Textansicht im Verilog-ATM-Format, die einen bestimmten Block für einen Analog-Simulator modelliert, der Verilog-ATM bewerten kann, und ”Verhalten_vams” ist eine Textansicht im Verilog-AMSTM-Format, die einen bestimmten Block für einen Mischsignal-Simulator modellieren kann, der Verilog-ATM und Verilog bewerten kann.
  • In dem speziellen Beispiel aus 6, eine allgemeine beispielhafte Hierarchie mit einer zu prüfenden Vorrichtung, wäre A1, Instanz 1 auf Grundlage der folgenden Konfiguration definiert: A1, Instanz 1 und B1, Instanz 1 sind mit einem Schema-Ebenen-Modell modelliert. B2, Instanz 1 ist mit einem Schema_Verhalten-Modell modelliert, und C1, Instanz 1 sowie C2, Instanz 1 sind mit einem Schema-Modell modelliert. C1, Instanz 2 und C3, Instanz 1 sind mit einem Verhalten_va-Modell modelliert. Am unteren Ende der Hierarchie sind die Vorrichtungen 1, 2 und 3, und die Instanzen 1, 2 und 3 unter Verwendung von ”Spice” modelliert.
  • In dem speziellen Beispiel, das in 6 gezeigt ist, ist Vorrichtung 1, Instanz 2 eine Dummy-Vorrichtung und würde daher keine Veränderung der Simulator-Matrix bewirken. Vorrichtung 1, Instanz 2 ist in C1, Instanz 1 platziert, schematisch verbunden als Dummy-Vorrichtung und daher nicht Teil der A1, Instanz 1 Matrix, was in dem Simulator markiert werden würde.
  • Ob es eine Änderung erforderlich macht, dass eine Verifizierung erneut durchlaufen werden muss, wird teilweise durch Verbindungen in der Hierarchie bestimmt. Wenn in diesem speziellen Beispiel für eine allgemeine beispielhafte Hierarchie mit einer zu prüfenden Vorrichtung A1, Instance 1, die Schema-Ansicht von Vorrichtung 1, Instanz 2 geändert wird, dann muss der Simulator nicht erneut ausgeführt werden, da die Vorrichtung eine Dummy-Vorrichtung ist, und die Matrix würde sich nicht ändern, was in dem Simulator markiert werden würde.
  • Mit Blick auf 6 bildet C1, Instanz 1, Schema-Ansicht, einen Teil der Konfiguration des Simulator-Modells, und wenn dies geändert wird und diese Änderung wesentlich genug ist, um die Simulator-Matrix zu beeinflussen, dann müsste der Prüfstand 1 erneut durchlaufen werden. C1, Instanz 2, Schema-Ansicht, würde keinen Teil der Konfiguration des beispielhaften Simulator-Modells bilden, und daher, wenn eine Änderung erfolgt, müsste der Prüfstand 1 nicht erneut durchlaufen werden.
  • Wenn, auf einer abstrakteren Ebene, C1, Schema-Ansicht geändert wird, weshalb die Schema-Ansicht in Instanz 1 und 2 geändert wird, wodurch eine Änderung in der Information, die in den Simulator Matrix markiert ist, bewirkt wird, dann muss Prüfstand 1 erneut durchlaufen werden. Wenn eine unwesentliche Änderung bei C1, Schema-Ansicht durchgeführt wird, indem zum Beispiel ein Kommentar hinzugefügt wird und keine Änderung bezüglich der Informationen erfolgt, die durch den Simulator in der Matrix markiert wird, dann muss diese Design-Konfiguration nicht erneut durchlaufen werden. Es ist offensichtlich, dass die Bestimmung, ob eine Änderung bezüglich einer Konfiguration erfolgt ist, sowie die Auswirkung auf die Markierung der Matrix, eine große Auswirkung auf die Anzahl der erforderlichen Verifizierungs-Durchläufe haben kann.
  • 7 zeigt einige der verschiedenen Modell-Ansichten, die ausgewählt werden können, um einen Power-Management-Chip PMIC 700 zu modellieren. Der PMIC_Prüfstand hat Verhalten_vams und Verhalten_va Ebenen mit Stimulus und Ausgängen. Der PMIC hat Schema- und Schema-Verhalten-Ebenen. LDO, LDO Enable Control und Batterie-Überwachung sind bei Schema-, Schema_Verhalten- und Verhalten_vams-Ebenen definiert. Spannungsreferenz, LDO-Feedback und LDO-Komparator sind bei Schema- und Verhalten_va-Ebenen definiert. Der IDO-Verstärker ist bei Schema- und Schema_Parasitics-Ebenen definiert. Verhalten-Verstärker und Verhalten-Bias sind bei Verhalten_va-Ebene definiert. LDO-Steuerlogik ist bei Schema- und VerilogTM-Ebenen definiert, und Vorrichtungen 1 bis X sind bei Spice-Ebene definiert.
  • 8 zeigt eine erste Test-Hierarchie des Power-Management-Chip PMIC, der in 6 beschrieben ist, für einen Power-Management-Chip 800. Die Figur zeigt einen Bereich der Hierarchie, wenn eine primitive Spice-Komponenten-Konfiguration definiert ist. Vorrichtung 1, Instanz 2 ist in diesem Modell eine Dummy-Vorrichtung und würde die Simulator Matrix nicht ändern.
  • 9 zeigt eine zweite Test-Hierarchie des Power-Management-Chip PMIC, der in 7 beschrieben ist, für einen Power-Management-Chip 900. Die Figur zeigt einen Bereich der Hierarchie für eine mögliche gemischte Konfiguration mit einigen analogen Verhalten-Ebene-Modellen, einigen VerilogTM-Darstellungen und einige primitive Spice-Komponenten.
  • 10 zeigt eine dritte Test-Hierarchie des Power-Management-Chip PMIC, der in 7 beschrieben ist, für einen Power-Management-Chip 1000. Die Figur zeigt einen Bereich der Hierarchie, wenn eine Verhalten-Konfiguration definiert ist.
  • 11 zeigt ein einfaches Beispiel eines Operationsverstärkers mit einigen typischen Eigenschaften eines Verstärkers, der in einem größeren System-On-Chip (SOC) enthalten ist. Auch dieses einfache Beispiel kann für Mischsignal-Designs die zunehmende Komplexität der heutigen Verifizierungs-Herausforderungen demonstrieren. Die Eingänge zu dem Verstärker werden durch einen einfachen Multiplexer (MUX) gespeist. Das Steuersignal TN_CTRL zu dem MUX dient als ein digitales Eingangssignal zu einer Reihe von Logik-Gattern innerhalb des MUX-Blocks. Diese Gatter steuern dann die Schalter, um zwischen zwei Paaren von analogen Eingängen zu wählen: Paar 1 (IN_POS_1 und TN_NEG_1) und Paar 2 (TN_POS_2 und TN_NEG_2). Zum Beispiel kann ein Wert von TN_CTRL mit dem Logikpegel ”0” die Schalter schließen, die mit IN_POS_1 und IN_NEG_1 verbunden sind, während ein IN_CTRL Wert mit Logikpegel ”1” die Schalter schließen kann, die mit IN_POS_2 und IN_NEG_2 verbunden sind. Die ausgewählten analogen Eingänge werden dann von dem MUX ausgegeben. Diese Signale sind nun mit den Verstärkereingängen verbunden. Der MUX-Block hat auch Anschlüsse für die Stromversorgungen. In diesem Fall, da analoge Signale durch den Block geleitet werden, sind die Stromversorgungsanschlüsse mit den analogen Versorgungsspannungen AVDD und GND gekoppelt.
  • Für den Verstärkerblock ist der Stromversorgungsanschluss auch mit der analogen Versorgungsspannung AVDD und GND gekoppelt. Es wird angemerkt, dass es bei komplexen SOCs nicht ungewöhnlich ist, mehrere interne Stromversorgungen zu haben. Auch für analoge Blöcke kann es solche Optionen geben, wie beispielsweise unterschiedliche Stromversorgungspegel. In anderen Fällen kann der gleiche Spannungspegel zugeführt werden, aber eine Versorgungsquelle kann für kritische Blöcke verwendet werden, die für Rauschen auf der Versorgungsleitung empfindlich sein können. Andere Blöcke, die (normalerweise aufgrund von Funktionen, wie beispielsweise hochfrequentes Schalten) stärker rauschen, können mit einer anderen Versorgungsquelle verbunden sein, die den gleichen Spannungspegel hat. Aus diesem Grund werden digitale Blöcke fast immer getrennt von analogen Blöcken gespeist. Außerdem, mit zunehmender Bedeutung der Leistungsreduzierung, können einige Versorgungsquellen während verschiedener Betriebsarten ausgeschaltet werden. Als Folge müssen Design-Ingenieure ebenfalls verifizieren, ob ein bestimmter Block mit einer Versorgung verbunden ist, die zu den entsprechenden Zeiten verfügbar ist.
  • Eine andere übliche Konfiguration innerhalb eines größeren Chips besteht darin, einen gemeinsamen Block zu haben, die viele der Vorspannungsströme zur Verfügung stellt, die für analoge Funktionen erforderlich sind. In diesem Beispiel hat der Verstärker einen Eingang für einen 1 μA Bias-Strom. Andere häufige Optionen enthalten Signale zum Trimmen und Steuern oder Programmierbarkeit. In diesem Beispiel hat der Verstärker zwei Steuerbits, GAIN_CTRL <1:0>, die einen Verstärkungswert einstellen können, und drei Bits, GAIN_TRIM <2:0>, die den Verstärkungswert leicht nachstellen können. Das Trimmen wird typischerweise durchgeführt, wenn jede Vorrichtung getestet wird, und wird verwendet, um Herstellungsprozess-Schwankungen zu kompensieren und um die gewünschten Verstärkungswerte so nahe wie möglich an spezifizierte Werte anzupassen. In diesem Fall ist GAIN_CTRL eine Programmier-Funktion, um die beste Verstärkungseinstellung für eine bestimmte Anwendung einzustellen. Das ENABLE-Signal macht es möglich, den Verstärker ein- oder auszuschalten, während der Chip in Betrieb ist. Diese Arten von Steuerungen werden häufig verwendet, um den Energieverbrauch zu minimieren, um korrekte Anfahr-Sequenzen des Chips zu ermöglichen, und um Schutz bei Fehlerzuständen zu gewährleisten.
  • Für dieses einfache Beispiel gibt es zahlreiche Beispiele von Verifizierungs-Anforderungen. Diese Anforderungen können in mehrere Kategorien unterteilt werden:
    • • Betriebsfunktion – erfüllen der Verstärker und der MUX ihre jeweiligen funktionalen Anforderungen – lässt der MUX die ausgewählten Eingangssignale korrekt zum MUX-Ausgang passieren – erfüllt der Verstärker sein erwartetes Verhalten: Verstärkung, Anstiegsrate, Eingangsbereich, Ausgangsbereich usw.
    • • Stromversorgung und Vorspannung – ist der Block mit der geeigneten Stromversorgung verbunden, und empfängt er die richtige Vorspannung – sind die Versorgung und die Vorspannung verfügbar, wenn erwartet, und arbeiten sie in dem erwarteten Bereich
    • • Steuersignale – wird für jede Einstellung von Steuersignalen das richtige Verhalten beobachtet
    • • Fehlerbedingungen – wenn sich einer der Block-Stifte in einer Weise verhält, die außerhalb der erlaubten oder erwarteten Bereiche liegt, verhält sich der Block in geeigneter Weise oder ist dieser Zustand entweder nicht möglich (irgendwie verhindert) oder nicht erwartet, um gehandhabt zu werden
  • Im Rahmen dieser Offenbarung ergibt sich ein Vorteil aus der effizienteren Handhabung des Prozesses des Durchschreitens vieler Kombinationen von Möglichkeiten. Eines der besten Beispiele ist das Durchschreiten einer großen Anzahl von digitalen Steuerungs- oder Trim-Optionen.
  • Nun wird dieses einfache Beispiel im Kontext eines größeren SOC und einem Top-Level-Prüfstand für dieses SOC betrachtet. Dieser Prüfstand kann einer von vielen Prüfständen für den Chip sein, aber dieses Beispiel kann zeigen, wie Verifizierung bezüglich geistigen Eigentums, das für den Verstärker entwickelt wurde, auch für einen Top-Level-Prüfstand verbessert werden kann. Die hierarchischen Konzepte, die in 6 dargestellt sind, können verwendet werden, um zu zeigen, wie ein beispielhafter Prüfstand aufgebaut sein kann. In diesem Beispiel aus 6 stellt A1 den Top-Level-Prüfstand dar, der den Chip, alle notwendigen Schaltungen oder Modelle, um die Systemeingänge, Ausgangslasten und externe Stromversorgungen oder andere Komponenten für den Chip sowie Bereiche der Test-Konfiguration enthält, die programmtechnisch durch Software beschrieben werden können. Diese beispielhafte Hierarchie kann in der Darstellung in 6 gesehen werden. Wie zuvor erläutert, kann jedes Element in der Hierarchie durch mehrere Typen von Ansichten dargestellt werden, und zwar abhängig von der verfügbaren Information und dem beabsichtigten Zweck des Blocks.
  • Die zweite Ebene der Hierarchie in diesem Beispiel, die Ebene ”B” in 6 entspricht, enthält alle Elemente, die in diesem Top-Level-Prüfstand platziert sind. Das erste Element ist der Chip selbst. In diesem Beispiel wird der Chip als Zelle B1 identifiziert. B2 kann eine Zelle sein, die Schaltungen oder Modelle enthält, um Systemeingänge zu dem Chip darzustellen. B3 kann eine Zelle sein, die Schaltungen oder Modelle enthält, um die durch das System zur Verfügung gestellten Stromversorgungen und System-Ausgangslasten darzustellen, die von dem Chip gesehen werden. B4 ist in diesem Beispiel ein Block, der in Software geschrieben ist, um entweder direkt mit den Pins des Chips oder andere Blöcke verbunden zu werden, um Werte für irgendwelche Parameter-Funktionen innerhalb eines der Blöcke zur Verfügung zu stellen und/oder um spezifischen Leistungswerte während der Simulation zu überwachen und zu messen. In diesem vereinfachten Beispiel sind nur Signale enthalten, die zur Erzeugung der Signale in dem beispielhaften Verstärkerblock der unteren Ebene führen.
  • Dieser Block B4 (oder Blöcke), der in der Software erfasst werden kann, wird normalerweise Sprachen auf hoher Ebene verwenden, die auf integriertes Schaltungs-Design gerichtet sind (SystemVerilog, Verilog, Verilog-AMS, Verilog-A, SystemC, VHDL, etc.), wobei aber auch allgemeinere Sprachen und Skripte verwendet werden können, wie zum Beispiel C, C++, TCL, PERL, etc. Die Software-Bereiche können Stimulus erzeugen, Design-Werte für Parameter in vorhandenen Schaltungen oder System-Blöcken definieren, oder während der gesamten Simulation die Leistung messen und überwachen. Zum Beispiel enthält die Universal-Verification-Methodology (UVM) für SystemVerilog gemeinsame Konstrukte zum Definieren von Überwachungs- und Scoreboard-Funktionen sowie zum Definieren von Stimulus. Digitale Verifizierungs-Methodik umfasst auch zahlreiche spezifische Elemente der Verifizierung von geistigem Eigentums (VIP), die auf bestimmte Funktionen oder Protokolle gerichtet sind. Für beispielhaft definierte Kommunikationsstandards, wie Universal Serial Bus (USB), Serial Peripheral Interface Bus (SPI), etc., haben spezifische Verifizierungs-IP, die während des Verifizierungs-Prozesses genutzt werden kann, um Daten durch die Schnittstelle zu liefern und um zu testen und zu validieren, dass die Schnittstelle zu den Protokollstandards passt. In diesem Beispiel wird angenommen, dass digitales Trimmen und Steuerung durch eine SPI-Schnittstelle oder durch den Chip selbst programmiert ist.
  • In dem Prüfstand aus 12 wird die externe Stromversorgung VDD_EXT durch einen Verilog-A Code innerhalb TOP_AMST erzeugt. Dann ist VDD_EXT ein Eingang für den QUELLEN_UND_AUSGÄNGE-Block. Dieser Block, der dann VDD ausgibt, ist mit dem SOC als die primäre externe Stromversorgung angeschlossen. Für die Eingänge werden die Systemeingänge innerhalb des EINGÄNGE-Block erzeugt und dann durch den TOP_AMST-Block geleitet, bevor er mit dem SOC verbunden ist. Das Leiten der Eingaben durch den Test-Harnisch ermöglicht es, dass sowohl die Spannung als auch der Strom der Eingangssignale während der Simulation überwacht werden können (oder als Parameter für andere Berechnungen verwendet werden können). Auf ähnliche Weise wird VOUT aus dem SOC durch TOP_AMST geleitet, bevor es in den QUELLEN_UND_AUSGÄNGE-Block eintritt. Schließlich wird VOUT_EXT von dem QUELLEN_UND_AUSGÄNGE-Block zwecks Überwachung TOP_AMST zugeführt. Die Entscheidungen darüber, welche Signale durch die AMST-Test-Harnisch-Blöcke weitergegeben werden sollen, sind stark abhängig von dem System und der Anzahl an Schaltungen/Modellen, die um den Chip herum erforderlich sind, um das gesamte System adäquat darstellen zu können. Letztlich sind diese Entscheidungen durch das Systemdesign und den Verifizierungsplan motiviert.
  • In 14 kann nicht auf Signale der unteren Ebenen der Hierarchie zugegriffen werden, sofern diese Signale nicht an einem Stift an der obersten Ebene gebracht werden. Die Hierarchie der Instanz B1, die den Chip darstellt, wird weiter betrachtet. In diesem Beispiel enthält die nächste Ebene der Hierarchie des Chips C1, das SOC_CORE, und C2, das SOC_PAD_RING. Dann in C1 heruntergedrückt, um D1 zu sehen, das AMP_CORE-Subsystem; D2, PWR_MGT (Power-Management-Funktionen für den Chip); und D3, DIG_CTRL.
  • In 15, weiter absteigend in das AMP_CORE-Subsystem zeigt das Subsystem Elemente: E1, den MUX; E2, den AMP; und E3, das AMP_AMST, das ein VerilogAMS-Block ist, der Verifizierungs-IP für dieses Subsystem enthält.
  • Es wird nun der Fall eines einfachen Bandgap mit digitalen Trim-Bits betrachtet. Der Zweck der Schaltung besteht darin, eine vorhersagbare Ausgangsspannung über Umwelt-Variation (z. B. Temperatur) und Prozess-Variation (z. B. Oxiddicke) zu erzeugen. Die digitalen Trim-Bits bieten eine Reihe von Ausgangswerten mit vorhersehbarer Schrittgröße. Das AMST für diesen Bandgap muss die gesamte Testschaltung für die Bandgap definieren, einschließlich Stromversorgungen, Lastkomponenten und digitale Trim-Werte. Für Anfänger wird nun eine Definition einer einfachen Versorgung gezeigt:
    Figure DE112015002183T5_0002
    Figure DE112015002183T5_0003
  • Dieses Beispiel erzeugt eine einfache stückweise lineare Versorgung mit 0 V bei t = 0, 0 V bei t = 50 ns, 5 V bei t = 100 ns. Es sei angemerkt, dass alle Variablen parametriert sind. Ein Programm kann in dieser AMST-Datei lesen und dann eine Liste von Variablen und deren Typen extrahieren. Diese Fähigkeit ermöglicht es dem Benutzer, diese Werte zu ändern/löschen und eine Vielzahl von Testvektoren aus der gleichen Gruppe von AMST-Prüfständen zu bauen. Weitere Schaltungskomponenten können auch durch Bezugnahme instanziiert werden. Beispielsweise fügt der nachfolgende Code einen Verilog-A-Lastwiderstand zu dem Bandgap:
    Figure DE112015002183T5_0004
    Figure DE112015002183T5_0005
  • Das Bandgap muss für alle möglichen Trim-Bit-Kombinationen getestet werden. Die folgende Syntax stellt ein voll-faktorisiertes Experiment bei allen Trim-Bits ein:
    Figure DE112015002183T5_0006
    wird expandiert in:
    Figure DE112015002183T5_0007
    Figure DE112015002183T5_0008
    Figure DE112015002183T5_0009
    endmodule
  • Die obige Definition besagt, dass es 3 Trim-Signale gibt. Jedes Signal hat zwei gültige Werte, die getestet werden müssen. Ein voller Faktor wird alle möglichen Zustände aufzählen. So kann man für 3 binäre Variable einen Satz von 8 Perioden erhalten, die alle gültigen Signalkombinationen testen. Wenn die Testschaltung und der Stimulus definiert sind, müssen die Messungen und Annahmen definiert werden. Ein Beispiel für eine einfache Spannungsmessung:
    Figure DE112015002183T5_0010
  • Diese Spannungsmessung ist gültig, wenn der Ausgangsknoten VBG zwischen 0,850 und 0,900 liegt. Diese Messung wird bei jedem Zeitschritt der Simulation durchgeführt und ausgewertet. Eine Sammlung von Booleschen Messungen kann kombiniert werden, um bedingte Annahmen zu erzeugen. Zum Beispiel sagt die nachfolgende Annahme aus, dass, wenn die DTRIM[2:0]-Bits ”000” betragen und die VDD-Versorgung über seinem minimalen Grenzwert liegt, die oben definierte $glVbgTrim0MeasObj Messung (0,850 <= VBG <= 0,900) wahr sein muss.
  • Figure DE112015002183T5_0011
  • Es wäre einfacher gewesen, die Ausgangsspannung an einem gewissen Zeitpunkt zu messen (z. B. VBG muss zwischen 0,850 und 0,900 bei 100 μm betragen). Diese Art der Prüfung ist auch leicht implementierbar in AMSTL. Aber die obige Annahme ist viel mächtiger, da explizit eine Teilmenge der Bandgap-Spezifikation erfasst wird (z. B. ”when DTRIM = 000 => VBG = 0,9”) und bestätigt wird, dass dieser Teil der Spezifikation gültig ist, wenn die Bedingungen der Annahme erfüllt worden sind, und zwar nicht nur an einem einzigen Zeitpunkt.
  • In dem nächsten beispielhaften nachfolgenden Code werden direkte Verzweigungs-Beitrags-Aussagen zum Zwecke der Messung erzeugt. In diesem Beispiel ist ein 16-Draht-Bus mit Referenzströmen vorgesehen. Man verwendet die folgende Syntax, um zu gewährleisten, dass der Strom nach 1 μs zwischen 0,9·750 nA und 1,1·750 nA beträgt.
    Figure DE112015002183T5_0012
    Figure DE112015002183T5_0013
    Figure DE112015002183T5_0014
    Figure DE112015002183T5_0015
    Figure DE112015002183T5_0016
  • In einem Beispiel zeigt 16 ein computerimplementiertes Verfahren 1600, um aus einem elektronischen Design eine Netzliste zu bilden, zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs mit den Schritten: 1610 Empfangens des elektronischen Designs, und 1612 Empfangen von mindestens einem analogen Test-Harnisch-Modell mit mindestens einer indirekten Verzweigungs-Beitrags-Aussage. Das Verfahren umfasst ferner die Schritte: 1614 Übersetzen der mindestens einen indirekten Verzweigungs-Beitrags-Aussage in eine Mehrzahl von direkten Verzweigungs-Beitrags-Operatoren basierend zumindest teilweise auf dem mindestens einen analogen Test-Harnisch-Modell, und 1616 Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung. Das elektronische Design kann mehrere Hierarchie-Ebenen umfassen. Der analoge Test-Harnisch kann als Modul auf der untersten Ebene vorhanden sein, in der es zusammen mit der Schaltung als ein gepackter Prüfstand für irgendeine der Hierarchie-Ebenen wirkt. Unter erneuter Bezugnahme auf 6 würde das elektronische Design jeden verbundenen Block in der Figur umfassen, die verschiedene Hierarchie-Ebenen enthält. Die Top-Level-Hierarchie ist A1, die nächste Ebene der Hierarchie ist B, die B1 und B2 enthält, und unterhalb der B-Hierarchie befindet sich die C-Hierarchie mit C1, C2 und C3. In diesem speziellen Beispiel sind bei der B1-Ebene und unterhalb des Modells Schema- und Spice-Modelle enthalten. Bei der B2-Ebene umfasst das Modell Schema-Verhalten- und Verhalten_va-Modelle. In dieser Instanz wäre das analoge Testmodell mit Ebene A1, Instanz 1 verbunden, und wäre durch die Netzliste und Verbindungsleitungen zu jeder der zu testenden Komponenten verbunden.
  • In einem Beispiel können die indirekten Verzweigungs-Beitrags-Aussagen Looping sein, wobei eine Sequenz von Befehlen wiederholt wird, bis eine Ausgang-Bedingung erfüllt ist. Die indirekte Aussage kann auch bedingt sein, wobei eine Aktion eingeleitet wird, und zwar basierend auf einer wahren oder falschen Booleschen Bedingung, basierend auf Nomenklatur, wobei die Benennung der Eingabe, Ausgabe oder Vorrichtung geparst und ein Reihe von Anweisungen abgeleitet wird, und basierend auf Analyse, wobei entweder eine Ausgabe oder eine Eingabe zu einem Netz analysiert und auf Basis der Analyse eine Entscheidung getroffen wird.
  • Das analoge Test-Harnisch-Modell kann auf irgendeiner Ebene in der Hierarchie des Designs angeordnet sein, und zwar von der Top-Block-Ebene zu einer einzelnen Schaltung und dergleichen. Ein Beispiel des analogen Test-Harnisch-Modells ist eines, bei dem es in einem Block der unteren Ebenen beschrieben wird und ein Modul in dem Design bildet, in dem das Test-Modul in dem individuellen Block enthalten ist. Ein möglicher Vorteil, der mit dem Einbinden des analogen Test-Harnisch-Modells in einen individuellen Block in Beziehung steht, besteht darin, dass es mit dem Schaltungs-Design gesendet werden kann, um eine Selbst-Verifizierung in dem Moduls zu unterstützen.
  • In einem Beispiel stellt die Netzliste im Wesentlichen die Konnektivität des elektronischen Designs zur Verfügung, wobei die Anschlüsse an einer Vorrichtung mit den Anschlüssen an einer anderen Vorrichtung verbunden sind. Die Netzliste kann auch spezifischen Eigenschaften für jede der Vorrichtungen enthalten.
  • In einem Beispiel ist die Übersetzung der indirekten Verzweigungs-Beitrags-Aussage in mehrere direkte Verzweigungs-Operatoren basierend auf dem analogen Test-Harnisch-Modell eine Umwandlung einer pauschalen Aussage in eine Reihe von einzelnen Aussagen, die die Spannweite der pauschalen Aussagen umfassen. Im Wesentlichen wird eine Aussage ”Index Bedingungen <1:10>” in ”Bedingung 1”, ”Bedingung 2” ... ”Bedingung 10” aufgebrochen.
  • Die Übersetzung kann eine standardisierte analoge Hardware-Beschreibungs-Sprache verwenden, die zumindest eine von Verilog-ATM Syntax und Verilog-AMSTM Syntax umfassen.
  • In einem anderen Beispiel zeigt 17 ein computerimplementiertes Verfahren 1700, um aus einem elektronischen Design eine Netzliste zu bilden, zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Design mit den Schritten: 1710 Empfangen eine Darstellung der Elektronik-Design, und 1712 Empfangen, zusammen mit der Darstellung des elektronischen Design, von zumindest einem analogen Test-Harnisch-Modell mit mindestens einer indirekten Verzweigungs-Beitrags-Aussage. Das Verfahren umfasst ferner 1714 das Übersetzen der mindestens einen indirekten Verzweigungs-Beitrags-Aussage in eine Mehrzahl von direkten Verzweigungs-Beitrags-Operatoren zumindest teilweise basierend auf dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design, und 1716 das Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung. Unter erneuter Bezugnahme auf 7 ist jede der Hierarchien und Modelle des beispielhaften Designs gezeigt. Eines der Ziele der Verifizierung besteht darin, jeden Block und jedes Modell des Designs bei geeigneten Bedingungen zu testen. Das Übersetzen von indirekten Verzweigungs-Beitrags-Aussagen hilft bei dieser multidimensionalen Aufgabe durch Automatisieren von mindestens einen Bereich des Cycling.
  • Das mindestens eine analoge Test-Harnisch-Modell kann mindestens einen Stimulus, mindestens eine Stimulus-Annahme, mindestens eine Ausgabe-Annahme und/oder mindestens eine Ausgabemessung enthalten. Die Darstellung des elektronisch Designs kann analog oder Mischsignal sein, kann mindestens eine Transistor-Ebene-Schaltung, mindestens eine verhaltensmodellierte Schaltung, mindestens eine Schaltung, basierend auf mindestens einem parasitären Modell, basierend zumindest teilweise auf einem physikalischen Design, und/oder mindestens eine verhaltensmodellierte Schaltung enthalten.
  • In einem anderen Beispiel zeigt 18 ein computerimplementiertes Verfahren 1800, um aus einem elektronischen Design eine Netzliste zu bilden, zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs mit den Schritten: 1810 Empfangens einer Darstellung des elektronischen Designs, 1812 Empfangen von mindestens einem analogen Test-Harnisch-Modell, das mindestens eines von mindestens einem Stimulus und mindestens einer Stimulus-Annahme enthält, und 1814 Empfangen von mindestens einem Verifizierungs-Subroutinen-Befehl für das elektronische Design, wobei der mindestens eine Verifizierungs-Subroutinen-Befehl mindestens eine indirekte Verzweigungs-Beitrags-Aussage enthält. Das Verfahren umfasst ferner die Schritte: 1816 Übersetzen des mindestens einen Verifizierungs-Subroutinen-Befehls in eine entsprechende standardisierte analoge Hardware-Beschreibungs-Sprache, zumindest teilweise basierend auf dem mindestens einen Verifizierungs-Subroutinen-Befehl, dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design, und 1818 Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung. Eine Stimulus-Annahme kann Eigenschaftsdefinitionen, Einschränkungen und dergleichen in einem elektronischen Systems definieren. Unter erneuter Bezugnahme auf 8 würde das elektronische Design jeden der verbundenen Blöcke umfassen, die auf PMIC_Prüfstand folgen, und mindestens ein analoges Test-Harnisch-Modell würde sich auf den in PMIC_Prüfstand markierten Block beziehen. Die Netzliste für dieses Modell würde jede Verbindung angeben, also die Verbindungsleitungen in 8. Die mit diesem Design in Beziehung stehenden Hierarchien zeigen an, dass der LDO-Block, der Batterie-Überwachung-Block und der Spannungsreferenz-Block in der Hierarchie niedriger stehen als der PMIC-Block. Zusätzlich prüft dieses Modell primär den Schema-Bereich des Designs. Die Fähigkeit, mindestens eine indirekte Verzweigungs-Beitrags-Aussage in eine Mehrzahl von direkten Verzweigungs-Beitrags-Operatoren zu übersetzen, kann die Effizienz der Überprüfung jeder der Hierarchien und jeder der Abschnitte des Designs für jeden Block in der Gestaltung erhöhen.
  • Die standardisierte analoge Hardware-Beschreibungs-Sprache kann zumindest ein von Verilog-ATM Syntax und Verilog-AMSTM Syntax umfassen. Das mindestens eine analoge Test-Harnisch-Modell kann zumindest eines von mindestens einer Ausgangs-Annahme und mindestens einer Ausgabemessung enthalten.
  • In einem anderen Beispiel zeigt 19 ein computerimplementiertes Verfahren 1900, um über Verifizierungs-Subroutinen aus einem elektronischen Design eine Netzliste zu bilden, zum Übersetzung von Verifizierungs-Befehlen eines elektronischen Design mit den Schritten: 1910 Empfangen einer Darstellung des elektronischen Designs, 1912 Empfangen von mindestens einem analogen Test-Harnisch-Modell, das zumindest eines von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung enthält, und 1914 Empfangen von mindestens einem Verifizierungs-Subroutinen-Befehl für das elektronische Design, wobei der mindestens eine Verifizierungs-Subroutinen-Befehl zumindest eine indirekte Verzweigungs-Beitrags-Aussage enthält. Das Verfahren umfasst ferner die Schritte: 1916 Übersetzen des mindestens einen Verifizierungs-Subroutinen-Befehls in eine zugehörige, zumindest eine von einer standardisierten analogen Hardware-Beschreibungs-Sprache, zumindest teilweise basierend auf dem mindestens einen Verifizierungs-Subroutinen-Befehl, dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design, und 1928 Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung. Unter erneuter Bezugnahme auf 9 würde das elektronische Design jeden der verbundenen Blöcke umfassen, die auf PMIC_Prüfstand folgen, und mindestens ein analoges Test-Harnisch-Modell würde sich auf den in PMIC_Prüfstand markierten Block beziehen. Die Netzliste würde die Konnektivität angeben, die durch Leitungen gezeigt ist, die jeden der Blöcke verbinden. Die mit diesem Design in Beziehung stehenden Hierarchien zeigen an, dass der LDO-Block, der Batterie-Überwachung-Block und der Spannungsreferenz-Block in der Hierarchie niedriger stehen als der PMIC-Block. Dieses Modell überprüft Schema-, Schema-Verhalten- und Verhalten_va-Aspekte des Modells. Obwohl das gesamte elektronische Design das gleiche ist wie in 8, was getestet wird, sind die Hierarchien und die Konnektivität unterschiedlich. Die Fähigkeit, zumindest eine indirekte Verzweigung Beitrags-Aussage in eine Mehrzahl von direkten Verzweigungs-Beitrags-Operatoren zu übersetzen, unterstützt die Überprüfung der verschiedenen Modelle und Hierarchien in einer gründlicheren Weise.
  • Die standardisierte analoge Hardware-Beschreibungs-Sprache kann mindestens eine von Verilog-ATM Syntax und Verilog-AMSTM Syntax umfassen. Der mindestens eine Verifizierungs-Subroutinen-Befehl kann mindestens eine Spezifikations-Untergruppe aufweisen. Das mindestens eine analoge Harnisch-Modell kann die mindestens eine Spezifikations-Untergruppe validieren, und zwar zumindest teilweise basierend auf zumindest einem von der mindestens einen Ausgabe-Annahme und der mindestens einen Ausgabe-Messung. Die zumindest eine Spezifikations-Untergruppe kann eine Datenumwandlung aufweisen.
  • In einem weiteren Beispiel zeigt 20 ein Computerprogrammprodukt, das auf einem nicht-flüchtigen computerverwendbaren Medium 2000 verkörpert ist, um ein elektronischen Design durch Vergleich extrahierter Daten zu bilden, wobei auf dem nicht-flüchtigen computerverwendbaren Medium eine Reihe von Befehlen gespeichert ist, die bewirken, wenn sie durch einen Prozessor ausgeführt werden, dass der Prozessor ein Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs durchführt, wobei das Verfahren die Schritte umfasst: 2010 Empfangens einer Darstellung des elektronischen Designs, 2012 Empfangen von mindestens einem analogen Test-Harnisch-Modell, das zumindest eines von mindestens einem Stimulus und mindestens einer Stimulus-Annahme enthält, und wobei das mindestens eine analoge Test-Harnisch-Modell mindestens eine parametrisierte Variable enthält, und 2014 Empfangen von mindestens einem Verifizierungs-Subroutinen-Befehl für das elektronische Design, wobei der mindestens eine Verifizierungs-Subroutinen-Befehl mindestens eine indirekte Verzweigungs-Beitrags-Aussage enthält. Das Verfahren umfasst ferner die Schritte: 2016 Überprüfen von mindestens einer Regel zumindest teilweise basierend auf dem mindestens einen analogen Test-Harnisch und dem mindestens einen Verifizierungs-Subroutinen-Befehl, und 2018 Übersetzen des mindestens einen Verifizierungs-Subroutinen-Befehls in eine entsprechende von zumindest einer standardisierten analogen Hardware-Beschreibungs-Sprache zumindest teilweise basierend auf dem mindestens einen Verifizierungs-Subroutinen-Befehl, der überprüften mindestens einen Regel, dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design. Das Verfahren umfasst ferner die Schritte: 2018 Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung, 2022 elektrisches Simulieren von mindestens einer Unterkomponente unter Verwendung zumindest teilweise des mindestens einen analogen Test-Harnisch-Modells, 2024 Extrahieren von mindestens einem Leistungsattribut des elektronischen Designs, das der elektrischen Simulation unterzogen wird, und 2026 Vergleichen des extrahierten mindestens einen Leistungsattributs und mindestens einer Ausgabe-Messung. Unter erneuter Bezugnahme auf 10 würde das elektronische Design jeden der verbundenen Blöcke umfassen, die auf PMIC_Prüfstand folgen, und mindestens ein analoges Test-Harnisch-Modell würde sich auf den in PMIC_Prüfstand markierten Block beziehen. In diesem Beispiel werden die LDO-, Batterie-Überwachung- und Spannungsreferenz-Hierarchien überprüft. Auf der höchsten Ebene werden PMIC auf der Schema-Ebene und LDO auf Verhalten_vams-Ebene, Batterie-Überwachung auf Verhalten_vams-Ebene und die Spannungsreferenz auf Verhalten_va-Ebene überprüft.
  • Das Computerprogrammprodukt kann ferner die Schritte umfassen: Fixieren der mindestens einen parametrisierten Variable, Variieren der mindestens einen parametrisierten Variable in mindestens einem separaten Simulations-Durchlauf und/oder Variieren der mindestens einen parametrisierten Variable in mindestens einem Simulations-Durchlauf. Das mindestens eine Leistungsattribut kann während der Simulation extrahiert oder nach der Simulation extrahiert werden. Das mindestens eine analoge Test-Harnisch-Modell kann mindestens eines von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung enthalten.
  • In einem weiteren Beispiel zeigt 21 ein Computerprogrammprodukt, das auf einem nicht-flüchtigen computerverwendbaren Medium 2100 verkörpert ist, um ein elektronischen Design durch Vergleich extrahierter Daten zu bilden, wobei auf dem nicht-flüchtigen computerverwendbaren Medium eine Reihe von Befehlen gespeichert ist, die bewirken, wenn sie durch einen Prozessor ausgeführt werden, dass der Prozessor ein Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs durchführt, wobei das Verfahren die Schritte umfasst: 2110 Empfangen einer Darstellung des elektronischen Designs, 2112 Empfangen von mindestens einem analogen Test-Harnisch-Modell, das zumindest eines von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung enthält, wobei das mindestens eine analoge Test-Harnisch-Modell zumindest eine parametrisierte Variable enthält, und 2114 Empfangen von mindestens einem Verifizierungs-Subroutinen-Befehls für das elektronische Design, wobei der mindestens eine Verifizierungs-Subroutinen-Befehl mindestens eine indirekte Verzweigungs-Beitrags-Aussage enthält. Das Verfahren umfasst ferner die Schritte: 2116 Überprüfen von mindestens einer Regel zumindest teilweise basierend auf mindestens einem analogen Test-Harnisch und dem mindestens einen Verifizierungs-Subroutinen-Befehl, und 2118 Übersetzen des mindestens einen Verifizierungs-Subroutinen-Befehls in eine entsprechende von zumindest einer standardisierten analogen Hardware-Beschreibungs-Sprache zumindest teilweise basierend auf dem mindestens einen Verifizierungs-Subroutinen-Befehl, der überprüften mindestens einen Regel, dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design, und 2120 Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung. Das Verfahren umfasst ferner die Schritte: 2122 elektrisches Simulieren von mindestens einer Unterkomponente unter Verwendung zumindest teilweise des mindestens einen analogen Test-Harnisch-Modells, 2124 Extrahieren von mindestens einem Leistungsattribut des elektronischen Designs, das der elektrischen Simulation unterzogen wird, und 2126 Vergleichen des extrahierten mindestens einen Leistungsattributs und dem zumindest einen von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung. Unter erneuter Bezugnahme auf 10 würde das elektronische Design jeden der verbundenen Blöcke umfassen, die auf PMIC_Prüfstand folgen, und mindestens ein analoges Test-Harnisch-Modell würde sich auf den in PMIC_Prüfstand markierten Block beziehen. In diesem Beispiel werden die LDO-, Batterie-Überwachung- und Spannungsreferenz-Hierarchien überprüft. Auf der höchsten Ebene werden PMIC auf der Schema-Ebene und LDO auf Verhalten_vams-Ebene, Batterie-Überwachung auf Verhalten_vams-Ebene und die Spannungsreferenz auf Verhalten_va-Ebene überprüft.
  • Die standardisierte analoge Hardware-Beschreibungs-Sprache kann mindestens eines von Verilog-ATM und Verilog-AMS umfassen. Das Verfahren kann ferner die Schritte: Modifizieren des mindestens einen analogen Test-Harnisch-Modells zumindest teilweise basierend auf einem bestimmten Ergebnis, Modifizieren des mindestens einen Verifizierungs-Subroutinen-Befehls zumindest teilweise basierend auf einem bestimmten Ergebnis und/oder Modifizieren der mindestens eine parametrisierten Variable. Das elektronische Design kann zu mindestens einer von mindestens einer aktiven Schaltung und mindestens einer passiven Schaltung führen, wobei das elektronische Design, das zu mindestens einer aktiven Schaltung führt, zumindest eines von mindestens einer Verstärkung und mindestens einer Richtung von einem elektrischen Signal einstellen kann. Der mindestens eine Verifizierungs-Subroutinen-Befehl kann mindestens einen Spezifikations-Untergruppe enthalten, und das mindestens eine analogen Harnisch-Modell kann die mindestens eine Spezifikations-Untergruppe validieren, und zwar zumindest teilweise basierend auf zumindest einem von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung.
  • Obwohl hier die Durchführung und Verwendung verschiedener Ausführungsbeispiele der Offenbarung diskutierten wird, soll verstanden werden, 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 Äquivalente und Modifikationen für den Fachmann beim Lesen und Verstehen der Beschreibung offensichtlich sind. Die vorliegende Offenbarung umfasst solche Äquivalente und Modifikationen und wird nur durch den Umfang der nachfolgenden Ansprüche beschränkt.
  • Es soll verstanden werden, dass das Verfahren und die Vorrichtung lokal, verteilt oder entfernt ausgeführt werden können, und dass die Daten für die Schritte entweder lokal oder entfernt gespeichert werden können. Aus Gründen der Klarheit sind detaillierte Beschreibungen der Funktionen, Komponenten und Systeme, die dem Fachmann vertraut sind, hier nicht enthalten. Durch die Verfahren und Vorrichtungen der Erfindung werden ein oder mehrere Vorteile erreicht, einschließlich solcher, aber nicht darauf beschränkt, um eine verbesserte Geschwindigkeitseffizienz, eine verringerte Rechenzeit, eine reduzierte Anzahl von erneuten Verifizierungen und dergleichen zu erreichen. Obwohl die Offenbarung unter Bezugnahme auf bestimmte veranschaulichende Beispiele beschrieben wurde, sollen die hier beschriebenen Beispiele nicht in einem einschränkenden Sinne ausgelegt werden. Beispielsweise können Variationen oder Kombinationen von Schritten in den gezeigten und beschriebenen Beispielen in bestimmten Fällen verwendet werden, ohne von der Offenbarung abzuweichen. Verschiedene Modifikationen und Kombinationen der veranschaulichenden Beispiele sowie weitere Vorteile und Beispiele sind für den Fachmann unter Bezugnahme auf die Zeichnungen, die Beschreibung und die Ansprüche offensichtlich.

Claims (38)

  1. Computerimplementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen eines elektronischen Designs, mit den Schritten: – Empfangen des elektronischen Designs; – Empfangen von mindestens einem analogen Test-Harnisch-Modell, das mindestens eine indirekte Verzweigungs-Beitrags-Aussage enthält; – Übersetzen der mindestens einen indirekten Verzweigungs-Beitrags-Aussage in eine Mehrzahl von direkten Verzweigungs-Beitrags-Operatoren zumindest teilweise basierend auf dem mindestens einen analogen Test-Harnisch-Modell; und – Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung.
  2. Computerimplementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 1, wobei die Übersetzung eine standardisierte analoge Hardware-Beschreibungs-Sprache umfasst.
  3. Computerimplementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs von Anspruch 2, wobei die standardisierte analoge Hardware-BeschreibungsSprache zumindest eines von mindestens einer von Verilog-ATM Syntax und Verilog-AMSTM Syntax umfasst.
  4. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Design, mit den Schritten: – Empfangen einer Darstellung des elektronischen Designs; – Empfang, zusammen mit der Darstellung des elektronischen Designs, von mindestens einem analogen Test-Harnisch-Modell, das mindestens eine indirekte Verzweigungs-Beitrags-Aussage enthält; – Übersetzen der mindestens einen indirekten Verzweigungs-Beitrags-Aussage in eine Mehrzahl von direkten Verzweigung-Beitrags-Operatoren zumindest teilweise basierend auf dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design; und – Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung.
  5. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei das mindestens eine analoge Test-Harnisch-Modell mindestens einen Stimulus enthält.
  6. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei das mindestens eine analoge Test-Harnisch-Modell mindesten eine Stimulus-Annahme enthält.
  7. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei das mindestens eine analoge Test-Harnisch-Modell mindestens eine Ausgabe-Annahme enthält.
  8. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei das mindestens eine analoge Test-Harnisch-Modell mindestens eine Ausgabe-Messung enthält.
  9. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei die Darstellung des elektronischen Design analog ist.
  10. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei die Darstellung des elektronischen Designs auf Mischsignal basiert.
  11. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei die Darstellung des elektronischen Designs mindestens eine Transistor-Ebene-Schaltung aufweist.
  12. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei die Darstellung des elektronischen Design mindestens eine verhaltensmodellierte Schaltung aufweist.
  13. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei die Darstellung des elektronischen Designs mindestens eine Schaltung umfasst, die zumindest teilweise auf einem parasitären Modell basiert, das zumindest teilweise auf einem physikalischen Entwurf basiert.
  14. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 4, wobei die Darstellung des elektronischen Designs mindestens eine verhaltensmodellierte. Schaltung umfasst.
  15. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs, mit den Schritten: – Empfangen einer Darstellung des elektronischen Designs; – Empfangen von mindestens einem analogen Test-Harnisch-Modell, das zumindest eines von mindestens einem Stimulus und mindestens einer Stimulus-Annahme enthält; – Empfangen von mindestens einem Verifizierungs-Subroutinen-Befehl für das elektronische Design, wobei der mindestens eine Verifizierungs-Subroutinen-Befehl mindestens eine indirekten Verzweigungs-Beitrags-Aussage enthält; – Übersetzen des mindestens einen Verifizierungs-Subroutinen-Befehls in eine entsprechende standardisierte analoge Hardware-Beschreibungs-Sprache zumindest teilweise basierend dem mindestens einen Verifizierungs-Subroutinen-Befehl, dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design; und – Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung.
  16. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 15, wobei die standardisierte analoge Hardware-Beschreibungs-Sprache zumindest eines von mindestens einer von Verilog-ATM Syntax und einer Verilog-AMSTM Syntax umfasst.
  17. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 15, wobei das mindestens eine analoge Test-Harnisch-Modell zumindest eines von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung enthält.
  18. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehle eines elektronischen Designs, mit den Schritten: – Empfangen einer Darstellung des elektronischen Designs; – Empfangen von mindestens einem analogen Test-Harnisch-Modell, das zumindest eines von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung enthält; – Empfangen von mindestens einem Verifizierungs-Subroutinen-Befehl für das elektronische Design, wobei der mindestens ein Verifizierungs-Subroutinen-Befehl mindestens eine indirekten Verzweigungs-Beitrags-Aussage enthält; – Übersetzen des mindestens einen Verifizierungs-Subroutinen-Befehls in eine entsprechende mindestens eine standardisierte analogen Hardware-Beschreibungs-Sprache zumindest teilweise basierend auf dem mindestens einen Verifizierungs-Subroutinen-Befehl, dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design; und – Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung.
  19. Computerimplementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 18, wobei die standardisierte analoge Hardware-Beschreibungs-Sprache zumindest eines von Verilog-ATM Syntax und Verilog-AMSTM Syntax umfasst.
  20. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 18, wobei der mindestens eine Verifizierungs-Subroutinen-Befehl mindestens eine Spezifikations-Untergruppe enthält.
  21. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 20, wobei das mindestens eine analoge Harnisch-Modell die Spezifikations-Untergruppe validiert, und zwar zumindest teilweise basierend auf zumindest einem von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung.
  22. Computerimplementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 20, wobei die mindestens eine Spezifikations-Untergruppe eine Daten-Transformation umfasst.
  23. Computerprogrammprodukt, das auf einem nicht-flüchtigen computerverwendbaren Medium verkörpert ist, wobei auf dem nicht-flüchtigen computerverwendbaren Medium eine Reihe von Befehlen gespeichert ist, die bewirken, wenn sie durch einen Prozessor ausgeführt werden, dass der Prozessor ein Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs durchführt, wobei das Verfahren die Schritte umfasst: – Empfangen von mindestens einem analogen Test-Harnisch-Modell, das zumindest eines von mindestens einem Stimulus und mindestens einer Stimulus-Annahme enthält, und wobei das mindestens eine analoge Test-Harnisch-Modell mindestens eine parametrisierte Variable enthält; – Empfangen von mindestens einem Verifizierungs-Subroutinen-Befehl für das elektronische Design, wobei der mindestens eine Verifizierungs-Subroutinen-Befehl mindestens eine indirekte Verzweigungs-Beitrags-Aussage enthält; – Überprüfen von mindestens einer Regel zumindest teilweise basierend auf dem mindestens einen analogen Test-Harnisch und dem mindestens einen Verifizierungs-Subroutinen-Befehl; – Übersetzen des mindestens einen Verifizierungs-Subroutinen-Befehls in eine entsprechende mindestens eine standardisierte analoge Hardware-Beschreibungs-Sprache zumindest teilweise basierend auf dem mindestens einen Verifizierungs-Subroutinen-Befehl, der mindestens einen überprüften Regel, dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design; – Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung; – elektrisches Simulieren von mindestens einer Unterkomponente unter Verwendung zumindest teilweise des mindestens einen analogen Test-Harnisch-Modells; – Extrahieren von mindestens einem Leistungsattribut des elektronischen Designs, das der elektrischen Simulation unterzogen wird; und – Vergleichen des extrahierten mindestens einen Leistungsattributs und der mindestens einen Ausgabe-Messung.
  24. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 23, außerdem mit dem Schritt des Fixierens der mindestens einen parametrisierten Variable.
  25. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 23, außerdem mit dem Schritt des Variierens der mindestens einen parametrisierten Variable in mindestens einem separaten Simulationsdurchlauf.
  26. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 23, außerdem mit dem Schritt des Variierens der mindestens einen parametrisierten Variable in mindestens einem Simulationsdurchlauf.
  27. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 23, wobei das mindestens eine Leistungsattribut während der Simulation extrahiert wird.
  28. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 23, wobei das mindestens eine Leistungsattribut nach der Simulation extrahiert wird.
  29. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzen von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 23, wobei das mindestens eine analoge Test-Harnisch-Modell zumindest eines von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung umfasst.
  30. Computerprogrammprodukt, das auf einem nicht-flüchtigen computerverwendbaren Medium verkörpert ist, wobei auf dem nicht-flüchtigen computerverwendbaren Medium eine Reihe von Befehlen gespeichert ist, die bewirken, wenn sie durch einen Prozessor ausgeführt werden, dass der Prozessor ein Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs durchführt, wobei das Verfahren die Schritte umfasst: – Empfangen von mindestens einem analogen Test-Harnisch-Modell, das zumindest eines von mindestens einem Stimulus und mindestens einer Stimulus-Annahme enthält, und wobei das mindestens eine analoge Test-Harnisch-Modell mindestens eine parametrisierte Variable enthält; – Empfangen von mindestens einem Verifizierungs-Subroutinen-Befehl für das elektronische Design, wobei der mindestens eine Verifizierungs-Subroutinen-Befehl mindestens eine indirekte Verzweigungs-Beitrags-Aussage enthält; – Überprüfen von mindestens einer Regel zumindest teilweise basierend auf dem mindestens einen analogen Test-Harnisch und dem mindestens einen Verifizierungs-Subroutinen-Befehl; – Übersetzen des mindestens einen Verifizierungs-Subroutinen-Befehls in eine entsprechende mindestens eine standardisierte analoge Hardware-Beschreibungs-Sprache zumindest teilweise basierend auf dem mindestens einen Verifizierungs-Subroutinen-Befehl, der mindestens einen überprüften Regel, dem mindestens einen analogen Test-Harnisch-Modell und dem elektronischen Design; – Erzeugen einer Netzliste zumindest teilweise basierend auf der Übersetzung; – elektrisches Simulieren von mindestens einer Unterkomponente unter Verwendung zumindest teilweise des mindestens einen analogen Test-Harnisch-Modells; – Extrahieren von mindestens einem Leistungsattribut des elektronischen Designs, das der elektrischen Simulation unterzogen wird; und – Vergleichen des extrahierten mindestens einen Leistungsattributs und der mindestens einen Ausgabe-Annahme und der mindestens einen Ausgabe-Messung.
  31. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 30, wobei die standardisierte analoge Hardware-Beschreibungs-Sprache zumindest eines von Verilog-ATM Syntax und Verilog-AMSTM Syntax umfasst.
  32. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 30, außerdem mit dem Schritt des Modifizierens des mindestens einen analogen Test-Harnisch-Modells zumindest teilweise basierend auf einem bestimmten Ergebnis.
  33. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 30, außerdem mit dem Schritt des Modifizierens des mindestens einen Verifizierungs-Subroutinen-Befehls zumindest teilweise basierend auf einem bestimmten Ergebnis.
  34. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 30, außerdem mit dem Schritt des Modifizierens der mindestens einen parametrisierten Variable.
  35. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 30, wobei das elektronische Design zu mindestens einer von mindestens einer aktiven Schaltung und mindestens einer passiven Schaltung führt.
  36. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 30, wobei das elektronische Design zu mindestens einer aktiven Schaltung führt, durch die zumindest eines von mindestens einer Verstärkung und mindestens einer Richtung von mindestens einem elektrischen Signal eingestellt wird.
  37. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 30, wobei der mindestens eine Verifizierungs-Subroutinen-Befehl mindestens eine Spezifikations-Untergruppe enthält.
  38. Durch ein Computerprogrammprodukt implementiertes Verfahren zum Übersetzung von Verifizierungs-Befehlen des elektronischen Designs nach Anspruch 37, wobei das zumindest eine analoge Harnisch-Modell die mindestens einem Spezifikations-Untergruppe validiert, und zwar zumindest teilweise basierend auf zumindest einem von mindestens einer Ausgabe-Annahme und mindestens einer Ausgabe-Messung.
DE112015002183.3T 2014-05-09 2015-05-11 Computerimplementiertes System und Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs Pending DE112015002183T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461991072P 2014-05-09 2014-05-09
US61/991,072 2014-05-09
US14/707,689 US9715566B2 (en) 2014-05-09 2015-05-08 Computer implemented system and method of translation of verification commands of an electronic design
US14/707,689 2015-05-08
PCT/US2015/030133 WO2015172139A1 (en) 2014-05-09 2015-05-11 Computer implemented system and and method of translation of verification commands of an electronic design

Publications (1)

Publication Number Publication Date
DE112015002183T5 true DE112015002183T5 (de) 2017-01-19

Family

ID=54368048

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015002183.3T Pending DE112015002183T5 (de) 2014-05-09 2015-05-11 Computerimplementiertes System und Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs

Country Status (4)

Country Link
US (1) US9715566B2 (de)
JP (2) JP6615786B2 (de)
DE (1) DE112015002183T5 (de)
WO (1) WO2015172139A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10402505B2 (en) * 2014-05-09 2019-09-03 Zipalog, Inc. Computer implemented system and method of translation of verification commands of an electronic design
US9875325B2 (en) 2014-05-09 2018-01-23 Zipalog, Inc. Computer implemented system and method of identification of useful untested states of an electronic design
CN105653744A (zh) * 2014-11-13 2016-06-08 中芯国际集成电路制造(上海)有限公司 版图布局的设计方法及装置
US9679098B2 (en) * 2015-01-29 2017-06-13 Mentor Graphics Corporation Protocol probes
US10360328B2 (en) * 2015-02-26 2019-07-23 Texas Instruments Incorporated Methods for converting circuits in circuit simulation programs
WO2016176321A1 (en) * 2015-04-27 2016-11-03 Zipalog, Inc. System and method for passive verification
CN106021044B (zh) * 2016-05-10 2019-05-31 中国电子科技集团公司第三十八研究所 可重用spi总线协议模块验证环境平台及其验证方法
US10235485B1 (en) * 2016-09-27 2019-03-19 Altera Corporation Partial reconfiguration debugging using hybrid models
US20180276321A1 (en) * 2017-03-24 2018-09-27 The Boeing Company Method and apparatus for testing design of satellite wiring harness and signal processing units
WO2019018589A1 (en) * 2017-07-19 2019-01-24 Zipalog, Inc. COMPUTERIZED SYSTEM AND METHOD FOR TRANSLATION OF VERIFICATION INSTRUCTIONS OF AN ELECTRONIC DESIGN
US11574099B2 (en) * 2020-08-13 2023-02-07 Texas Instruments Incorporated Simulation framework
CN114218880B (zh) * 2022-02-23 2022-05-03 飞腾信息技术有限公司 通用验证方法学环境搭建方法、芯片验证方法及验证系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5025402A (en) * 1989-04-07 1991-06-18 Northern Telecom Limited Method of transient simulation of transmission line networks using a circuit simulator
JP3848157B2 (ja) * 2001-12-27 2006-11-22 株式会社東芝 Lsi設計検証装置、lsi設計検証方法、及びlsi設計検証プログラム
US6898767B2 (en) 2002-05-09 2005-05-24 Lsi Logic Corporation Method and apparatus for custom design in a standard cell design environment
US7131098B2 (en) 2003-11-17 2006-10-31 International Business Machines Corporation Computer program product for implementing uncertainty in integrated circuit designs with programmable logic
JP2006113796A (ja) * 2004-10-14 2006-04-27 Matsushita Electric Ind Co Ltd シミュレーション方法
US7725851B2 (en) * 2007-08-27 2010-05-25 International Business Machines Corporation Device, system and method for formal verification
JP2009116627A (ja) * 2007-11-06 2009-05-28 Seiko Epson Corp 集積回路装置の設計方法、集積回路装置の設計支援システム、集積回路装置の設計支援プログラム、集積回路装置及び電子機器
US8229723B2 (en) 2007-12-07 2012-07-24 Sonics, Inc. Performance software instrumentation and analysis for electronic design automation
US8201137B1 (en) * 2009-03-06 2012-06-12 Cadence Design Systems, Inc. Method and apparatus for AMS simulation of integrated circuit design
US8296699B1 (en) 2010-02-26 2012-10-23 Cadence Design Systems, Inc. Method and system for supporting both analog and digital signal traffic on a single hierarchical connection for mixed-signal verification
US8612908B2 (en) 2011-11-08 2013-12-17 Solido Design Automation Inc. Method and system for verification of electrical circuit designs at process, voltage, and temperature corners
US20140126665A1 (en) 2012-11-06 2014-05-08 Ati Technologies Ulc Output driver with adjustable voltage swing

Also Published As

Publication number Publication date
WO2015172139A1 (en) 2015-11-12
JP6615786B2 (ja) 2019-12-04
JP2017516223A (ja) 2017-06-15
JP6893232B2 (ja) 2021-06-23
US20150324505A1 (en) 2015-11-12
US9715566B2 (en) 2017-07-25
JP2020038693A (ja) 2020-03-12

Similar Documents

Publication Publication Date Title
DE112015002183T5 (de) Computerimplementiertes System und Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs
US11657201B2 (en) Computer implemented system and method of identification of useful untested states of an electronic design
US9703921B1 (en) Naturally connecting mixed-signal power networks in mixed-signal simulations
DE112014003045T5 (de) Verfahren und System zur Change-Evaluierung eines elektronischen Designs zur Verifizierungsbestätigung
US10339237B2 (en) System and method for passive verification
US11704448B2 (en) Computer implemented system and method of translation of verification commands of an electronic design
DE112020006021T5 (de) Auf maschinelles lernen basierendes verfahren und vorrichtung für die berechnung und verifizierung von verzögerungen des entwurfs integrierter schaltungen
DE102015221479A1 (de) Polymorphes schaltungssimulationssystem
DE102016118749A1 (de) Signalwiederherstellung in Schaltwerk-Schaltung
DE112013005831T5 (de) Netzlistenabstraktion
JP2020528181A (ja) 電子的設計の検証コマンドの翻訳のコンピュータ実装されるシステム及び方法
DE112015002188T5 (de) Computerimplementiertes System und Verfahren zum Identifizieren von nützlichen ungetesteten Zuständen eines elektronischen Designs
US11100268B1 (en) Fast and accurate simulation for power delivery networks with integrated voltage regulators
US20180165407A1 (en) Methods and systems to estimate power network noise
DE112022000576T5 (de) Verfahren und einrichtung zum schätzen von signalbezogenen verzögerungen in einem pld-design
Lee et al. Team Asian Sensation
DE10160459A1 (de) Verfahren zur Verarbeitung von Daten, die Informationen über eine zu überprüfende elektronische Schaltung mit einer Anzahl von hierarchisch geordneten Netzen enthalten
DE102005023145A1 (de) Verfahren zum Simulieren und Untersuchen einer elektrischen Schaltung

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R012 Request for examination validly filed
R073 Re-establishment requested
R074 Re-establishment allowed