DE112011102691B4 - Verfahren und System zur Umwandlung von Zeitsteuerungsberichten in Zeitsteuerungswellenformen - Google Patents

Verfahren und System zur Umwandlung von Zeitsteuerungsberichten in Zeitsteuerungswellenformen Download PDF

Info

Publication number
DE112011102691B4
DE112011102691B4 DE112011102691.9T DE112011102691T DE112011102691B4 DE 112011102691 B4 DE112011102691 B4 DE 112011102691B4 DE 112011102691 T DE112011102691 T DE 112011102691T DE 112011102691 B4 DE112011102691 B4 DE 112011102691B4
Authority
DE
Germany
Prior art keywords
timing
waveform
coordinates
minimum
maximum
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.)
Expired - Fee Related
Application number
DE112011102691.9T
Other languages
English (en)
Other versions
DE112011102691T5 (de
Inventor
Yossi Rindner
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.)
Charter IP LLC
Original Assignee
Charter IP LLC
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 Charter IP LLC filed Critical Charter IP LLC
Publication of DE112011102691T5 publication Critical patent/DE112011102691T5/de
Application granted granted Critical
Publication of DE112011102691B4 publication Critical patent/DE112011102691B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Verfahren zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus einem maximalen ASCII-Zeitsteuerungsbericht und einem minimalen Zeitsteuerungsbericht für einen applikationsspezifischen integrierten Schaltkreis (ASIC), wobei jeder Zeitsteuerungspfad in einem ASIC durch maximale und minimale Zeitsteuerung beschrieben wird, wobei das Verfahren in einem Computer ausgeführt wird, wobei das Verfahren umfasst:
Berechnen von X-Y-Koordinaten für eine erste Zeitsteuerungswellenform basierend auf in dem maximalen ASCII-Zeitsteuerungsbericht enthaltenen Daten,
Berechnen von X-Y-Koordinaten für eine zweite Zeitsteuerungswellenform basierend auf in dem minimalen ASCII-Zeitsteuerungsbericht enthaltenen Daten,
Verschieben der berechneten X-Y-Koordinaten der zweiten Zeitsteuerungswellenform um einen Anpassungsfaktor, weiter umfassend das Iterieren eines Algorithmus, welcher eine Taktgeberflankendifferenz zwischen einer maximalen Aufnahmetaktgeberflanke und einer minimalen Aufnahmetaktgeberflanke ermittelt, wobei die Taktgeberflankendifferenz den Anpassungsfaktor darstellt, um welchen die X-Y-Koordinaten der zweiten Wellenform verschoben werden, um mit den X-Y-Koordinaten der ersten Wellenform ausgerichtet zu sein und
Erzeugen einer kombinierten Zeitsteuerungswellenform mit den berechneten X-Y-Koordinaten der ersten Wellenform und den verschobenen X-Y-Koordinaten der zweiten Wellenform, wobei die kombinierte Zeitsteuerungswellenform das Verhalten eines elektrischen Signals in dem ASIC wiederspiegelt.

Description

  • HINTERGRUND
  • Gebiet
  • Beispielhafte Ausführungsformen sind im Allgemeinen gerichtet auf ein Verfahren und ein System zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus einem maximalen ASCII-Zeitsteuerungsbericht und einem minimalen ASCII-Zeitsteuerungsbericht für eine anwendungsspezifische integrierte Schaltung (ASIC) oder einen Field Programmable Gate Array (FPGA), ein Verfahren zum Umwandeln einer ASCII-Zeitsteuerungsberichtsausgabe von einem STA-Werkzeug in eine Zeitsteuerungswellenform zum Auswerten des Verhaltens eines elektrischen Signals in einem ASIC oder FPGA, ein Verfahren zum Ermitteln der Maximal- und Minimalwerte eines Mehrzyklennachführungspfads (MCP/multicycle path) für einen Entwicklungsingenieur für einen gegebenen externen Ausgang oder einen internen Pin eines ASIC oder FPGA, sowie auf ein Verfahren zum Überprüfen der Genauigkeit eines minimalen MCP-Werts für einen gegebenen externen Ausgang oder internen Pin als ASIC oder FPGA.
  • Zugehöriger Stand der Technik
  • 1 ist ein Blockdiagramm eines Zeitsteuerungsabschlusskreises mit herkömmlichem ASIC. In einem typischen ASIC-Entwurfsfluss bestimmt die geschlossene Schleife 10 gemäß 1 die Vorgehensweise beim ASIC-Entwurf. Die geschlossene Schleife 10 beinhaltet im Allgemeinen eine Reihe von fünf Stufen: Eine Layout-Stufe 11, STA (statische Zeitsteuerungsanalyse/static timing analysis)-Stufe 12, RTL/Synthese-Stufe 13, ECO (elektronischer Änderungsbefehl)-Stufe 14 und Zeitsteuerungsbeschränkungen 15. Im Interesse der Kürze wird die STA-Stufe 12 hiernach mit größeren Einzelheiten diskutiert.
  • Eine der am zeitaufwendigsten Stufen bei der ASIC-Zeitsteuerungsabschlussschleife ist die STA-Stufe. Dies ist hauptsächlich auf zwei Gründe zurückzuführen. Erstens werden viele Zeitsteuerungsberichte von einem „STA Tool“ erzeugt und müssen vom ASIC-Entwicklungsingenieur analysiert werden. Zweitens ist die STA-Stufe die entscheidende Verbindung innerhalb der Schleife 10, daher muss die richtige Handlungsweise mittels Analyse derartiger Zeitsteuerungsberichte festgelegt werden.
    Eine allgemeine Definition von STA kann man verstehen als die Fähigkeit, unterschiedliche Zeitsteuerungspfade innerhalb eines elektronischen Geräts zu messen und zu analysieren, ob diese Zeitsteuerungspfade vordefinierte Zeitsteuerungskontingente, welche vom ASIC-Entwicklungsingenieur zugewiesen sind, erfüllt werden. Der Zeitsteuerungspfad ist definiert als die Zeitsteuerungsstrecke, die ein elektrisches Signal zwischen beliebigen zwei vorgegebenen Punkten innerhalb des elektronischen Geräts zurücklegt. Ein Zeitgebungspfad hat als Attribute einen Startpunkt, Endpunkt, maximalen Pfad und minimalen Pfad. Der Startpunkt bezeichnet den Beginn des Zeitsteuerungspfads; der Endpunkt das Ende des Zeitsteuerungspfads. Der maximale Zeitsteuerungspfad ist definiert als der längste Pfad zwischen Startpunkt und Endpunkt, und der minimale Zeitgebungspfad ist definiert als der kürzeste Pfad zwischen Startpunkt und Endpunkt. Der Zeitsteuerungspfad wird gemessen in Bruchteilen einer Sekunde. Die am meisten verbreitete Messeinheit ist die Nanosekunde (1/10e9 einer Sekunde), bezeichnet durch die Abkürzung „ns‟.
  • Eine typische STA-Sitzung erfordert das Durchsehen von Zeitsteuerungsberichten im Zusammenhang mit den folgenden Themen:
    • • Taktgeberdefinitionen;
    • • Überprüfungszeitsteuerung;
    • • Fallanalyse;
    • • Leerläufe zwischen Taktgebern;
    • • Leerläufe innerhalb Taktgebern;
    • • Eingabe-/Ausgabedefinitionen;
    • • Eingabe-/Ausgabeleerläufe;
    • • falsche Zeitsteuerungspfade;
    • • Mehrzyklennachführungszeitsteuerungspfade;
    • • asynchrone Leerläufe;
    • • Taktgeber-Gating-Leerläufe;
    • • berücksichtigte Ausnahmen;
    • • ignorierte Ausnahmen;
    • • Kreuztaktgeberzeitsteuerungspfade; und
    • • spezifische Zeitsteuerungspfade.
  • Die Anzahl oder Größe der Zeitsteuerungsberichte kann erheblich sein (in einer Spanne von 10 bis 100 Gigabyte von ASCII-Zeitsteuerungsberichten, in Abhängigkeit von der Größe des ASIC/FPGA, für einen beliebigen Lauf des STA Tool), da es gewünscht ist, potentielle Entwurfs- oder Herstellungsfehler zu detektieren, und alle die obigen Berichtsarten müssen für alle möglichen PVT- (Prozess, Spannung, Temperatur) Ecken, unter welchen der ASIC funktionieren soll, erzeugt und analysiert werden. Des Weiteren ist ASCII- (das heißt: „Klartext“) Darstellung von Zeitsteuerungsberichten nicht intuitiv und kann schwer vorstellbar sein. Dies überfordert den ASIC-Entwicklungsingenieur häufig, welcher viele dieser Berichte durchsehen und analysieren muss.
  • Aus der US 7 137 090 B1 ist die Überlegung bekannt, bei der Timing Analyse und „Slack“-Berechnung einen Anpassungsfaktor zu benutzen, der sich aus dem Unterschied zwischen abgebender und aufnehmender Taktflanke ergibt.
  • WEINER, Nicholas; SANGIOVANNI-VINCENTELLI, Albert. Timing analysis in a logic synthesis environment. In: Design Automation, 1989. 26th Conference on. IEEE, 1989. S. 655 - 661 beschäftigt sich mit grundlegenden Aspekten der Timing Analyse bei Logikschaltungen.
  • ZUSAMMENFASSUNG
  • Eine beispielhafte Ausführungsform ist gerichtet auf ein Verfahren zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus einem maximalen ASCII-Zeitsteuerungsbericht und einem minimalen ASCII - Zeitsteuerungsbericht für einen anwendungsspezifischen integrierten Schaltkreis (ASIC), wobei jeder Zeitsteuerungspfad in einem ASIC durch maximale und minimale Zeitsteuerung beschrieben wird. Bei dem Verfahren werden X-Y-Koordinaten für eine erste Wellenform berechnet basierend auf in dem maximalen ASCII-Zeitsteuerungsbericht enthaltenen Daten, und X-Y-Koordinaten für eine zweite Wellenform werden berechnet basierend auf in dem minimalen ASCII-Zeitsteuerungsbericht enthaltenen Daten. Die X-Y-Koordinaten der zweiten Wellenform werden um einen Anpassungsfaktor verschoben. Eine kombinierte Zeitsteuerungswellenform wird erzeugt mit den errechneten X-Y-Koordinaten der ersten Wellenform und der verschobenen X-Y-Koordinaten der zweiten Wellenform, wobei die kombinierte Zeitsteuerungswellenform das Verhalten eines elektrischen Signals in dem ASIC widerspiegelt.
  • Eine weitere beispielhafte Ausführungsform ist gerichtet auf ein System zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus einem maximalen ASCII-Zeitsteuerungsbericht und einem minimalen ASCII-Zeitsteuerungsbericht für einen applikationsspezifischen integrierten Schaltkreis (ASIC), wobei jeder Zeitsteuerungspfad in einem ASIC durch maximale und minimale Zeitsteuerung beschrieben wird. Das System beinhaltet einen Speicher zum Speichern der maximalen und minimalen ASCII-Zeitsteuerungsberichte, und einen Prozessor zum Berechnen von X-Y-Koordinaten für eine erste Wellenform basierend auf in dem maximalen ASCII-Zeitsteuerungsbericht enthaltenen Daten, welche der Prozessor aus dem Speicher entnimmt. Der Prozessor berechnet X-Y-Koordinaten für eine zweite Wellenform basierend auf in dem minimalen ASCII-Zeitsteuerungsbericht enthaltenen Daten, welche der Prozessor aus dem Speicher ausliest, und iteriert einen Algorithmus, um die berechneten X-Y-Koordinaten der zweiten Wellenform um einen Anpassungsfaktor zu verschieben. Das System beinhaltet eine Anzeige, welche eine kombinierte Zeitsteuerungswellenform unter Anleitung des Prozessors erzeugt mit den berechneten X-Y-Koordinaten der ersten Wellenform und den verschobenen X-Y-Koordinaten der zweiten Wellenform, wobei die kombinierte Zeitsteuerungswellenform das Verhalten eines elektrischen Signals in dem ASIC wiederspiegelt.
  • Eine weitere beispielhafte Ausführungsform ist gerichtet auf ein Verfahren zum Umwandeln eines ASCII-Zeitsteuerungsberichts in eine Zeitsteuerungswellenform, um das Verhalten eines elektrischen Signals in einem ASIC auszuwerten. Bei dem Verfahren wird ein vollständiger ASCII-Zeitsteuerungsbericht im Speicher eingelesen, und ausgewählte Zeitsteuerungspunkte werden aus dem abgespeicherten Bericht ausgelesen. Eine Zeitsteuerungswellenform wird erzeugt aus den ausgelesenen Zeitsteuerungspunkten zur Anzeige und Durchsicht durch einen Entwickler, um auszuwerten, ob eine gegebene externe Schnittstelle oder interner Pin des ASIC vorgegebene Zeitsteuerungsspezifikationen erfüllt.
  • Ein weiteres Ausführungsbeispiel ist gerichtet auf ein Verfahren zum Berechnen von Mehrzyklennachführungspfad (MCP)-Werten für einen gegebenen Zeitsteuerungspfad in einem applikationsspezifischen integrierten Schaltkreis (ASIC) oder Field Pogrammable Gate Array (FPGA), wobei jeder Zeitgebungspfad in dem ASIC/FPGA durch maximale und minimale Zeitsteuerung beschrieben wird, wobei die MCP-Werte indikativ für Mehrfach-Taktgeberzyklusverhalten in dem ASIC/FPGA sind. Bei dem Verfahren werden X-Y-Koordinaten für eine erste Wellenform berechnet basierend auf ausgewählten Datenpunkten ausgelesen aus einem maximalen ASCII-Zeitsteuerungsbericht, und X-Y-Koordinaten für eine zweite Wellenform werden berechnet basierend auf ausgewählten Datenpunkten ausgelesen aus einem minimalen ASCII-Zeitsteuerungsbericht. Die berechneten X-Y-Koordinaten der zweiten Wellenform werden um einen Anpassungsfaktor verschoben. Eine kombinierte Zeitsteuerungswellenform wird erzeugt mit den berechneten X-Y-Koordinaten der ersten Wellenform und den verschobenen X-Y-Koordinaten der zweiten Wellenform. Ein minimaler Mehrzyklen-Nachführungspfad (MCP)-Wert und ein maximaler MCP-Wert werden aus der kombinierten Zeitsteuerungswellenform ermittelt.
  • Eine weitere beispielhafte Ausführungsform ist gerichtet auf ein Verfahren zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus maximalen und minimalen Zeitsteuerungsdaten für eine gegebene externe Schnittstelle oder internen Pin eines ASIC, wobei die maximalen und minimalen Zeitsteuerungsdaten in einer Datenbank eines STA Tools gespeichert sind. Bei dem Verfahren werden ausgewählte Zeitsteuerungsdaten, welche zu einem minimalen Pfad der Schnittstelle oder des Pins gehören, aus der Datenbank des STA Tools ausgelesen, und die ausgelesenen Daten werden in X-Y-Koordinaten für eine minimale Zeitsteuerungswellenform umgewandelt. Ausgewählte Zeitsteuerungsdaten, welche zu einem maximalen Pfad der Schnittstelle oder des Pins gehören, werden aus der Datenbank des STA Tools ausgelesen, und die ausgelesenen Daten werden in X-Y-Koordinaten für eine maximale Zeitsteuerungswellenform umgewandelt. Die X-Y-Koordinaten der minimalen Zeitsteuerungswellenform werden um einen Anpassungsfaktor verschoben. Eine kombinierte Zeitsteuerungswellenform wird mit den berechneten X-Y-Koordinaten der maximalen Zeitsteuerungswellenform und den verschobenen X-Y-Koordinaten der minimalen Zeitsteuerungswellenform erzeugt; die kombinierte Zeitsteuerungswellenform dient dabei zur Überprüfung durch einen Entwickler, um auszuwerten, ob die gegebene externe Schnittstelle oder interne Pin des ASIC vorgegebene Zeitsteuerungsspezifikationen erfüllt.
  • Figurenliste
  • Beispielhafte Ausführungsformen wird man vollständiger verstehen anhand der nachstehend gegebenen detaillierten Beschreibung und der begleitenden Zeichnungen, in denen gleiche Elemente durch gleiche Bezugsziffem dargestellt sind, welche Zeichnungen lediglich zur Veranschaulichung angegeben sind und daher nicht beschränkend für die hier enthaltenen beispielshaften Ausführungsformen sind.
    • 1 ist ein Blockdiagramm einer Zeitsteuerungsabschlussschleife eines herkömmlichen ASIC.
    • 2 ist ein Blockdiagramm eines Systems zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus einem maximalen ASCII Zeitsteuerungsbericht und einem minimalen ASCII Zeitsteuerungsbericht für einen ASIC oder FPGA, und/oder zum Umwandeln eines ASCII Zeitsteuerungsberichts in eine Zeitsteuerungswellenform zum Auswerten des Verhaltens eines elektrischen Signals in dem ASIC oder FPGA.
    • 3 ist ein Beispiel eines kollabierten Abschnitts eines vollständigen maximalen Zeitsteuerungsberichts für eine Ausgabeschnittstelle eines ASIC und welcher im Speicher des Systems eingelesen ist, wobei der kollabierte Abschnitt aus dem Speicher ausgelesen worden ist und die Zeitsteuerungspunkte, welche zum Erzeugen der x-y-Koordinaten einer maximalen Zeitsteuerungswellenform verwendet wurden, veranschaulicht.
    • 4 ist ein Zeitsteuerungsdiagramm zur Veranschaulichung eines Beispiels einer maximalen Zeitsteuerungswellenform, welche aus den Zeitsteuerungspunkten in dem kollabierten Bericht aus 3 erzeugt wurde.
    • 5 ist ein Beispiel eines kollabierten Abschnitts eines vollständigen minimalen Zeitsteuerungsberichts für eine Ausgabeschnittstelle eines ASIC und im Speicher eines Systems eingelesen, wobei der kollabierte Abschnitt aus dem Speicher ausgelesen worden ist und die Zeitsteuerungspunkte, welche zur Erzeugung der x-y Koordinaten einer minimalen Zeitsteuerungswellenform verwendet wurden, veranschaulicht.
    • 6 ist ein Zeitsteuerungsdiagramm zur Veranschaulichung eines Beispiels einer minimalen Zeitsteuerungswellenform, erzeugt aus den Zeitsteuerungspunkten in dem kollabierten Bericht gemäß 5.
    • 7 ist Zeitsteuerungsdiagramm zur Veranschaulichung eines Beispiels einer kombinierten Zeitsteuerungswellenform, welche aus den maximalen und minimalen Zeitsteuerungswellenformen gemäß den 4 und 6 erzeugt wurde.
    • 8 ist ein Screenshot eines Abschnitts eines Excel Zusammenfassungsarbeitsblatts von Eingabeschnittstellen für einen gegebenen ASIC mit den berechneten angezeigten kombinierten Zeitsteuerungswellenformen für einen ausgewählten Eingabeschnittstellenhost[7] des ASIC.
    • 9 ist eine vergrößerte Ansicht eines Abschnitts der kombinierten Wellenform gemäß 8, um den Jitter in der kombinierten Wellenform zu veranschaulichen.
    • 10A ist ein Screenshot eines Abschnitts eines Excel-Zusammenfassungsarbeitsblatts von Ausgabeschnittstellen für einen gegebenen ASIC.
    • 10B ist ein vergrößerter Abschnitt einer berechneten angezeigten kombinierten Zeitsteuerungswellenform für eine ausgewählte Ausgabeschnittstelle dex[15] des ASIC gemäß 10A, um einen Außerhalb-der-Zeitsteuerungs-Zustand für die Schnittstelle zu veranschaulichen.
    • 11 ist ein Blockdiagramm, um ein Beispiel von Einzyklus- gegenüber Mehrzyklen-Logikclouds zu veranschaulichen.
    • 12 ist ein Zeitsteuerungsdiagramm, um den Unterschied zwischen dem CLK gegenüber dem langsamen CLK, welcher FF5 gemäß 11 triggert, zu zeigen.
    • 13 ist die kombinierte Zeitsteuerungswellenform gemäß 7, beschriftet mit Daten, welche minimale MCP- und maximale MCP-Determinaten für die Ausgangsschnittstelle mfio(2) eines ASIC widerspiegelt.
    • 14 ist eine kombinierte Zeitsteuerungswellenform für eine Eingabeschnittstelle SFLASH_MISO eines ASIC, in welchem eine Überprüfung des minimalen MCP eine inkorrekte minimale MCP-Definition anzeigt.
    • 15 ist eine kombinierte Zeitsteuerungswellenform für dieselbe Eingangsschnittstelle gemäß 14 nach Ingenieurkorrektur basierend auf einer korrigierten minimalen MCP-Definition.
  • DETAILLIERTE BESCHREIBUNG
  • Im Allgemeinen beschreiben die beispielhaften Ausführungsformen hiernach Verfahren und ein System zum Umwandeln von Zeitsteuerungsberichten in Zeitsteuerungswellenformen. Wie mit weiteren Einzelheiten nachstehend beschrieben werden wird, verfolgen das System und die Verfahrensweisen ASCII-Zeitsteuerungsberichte, um äquivalente Zeitsteuerungswellenformen automatisch zu erzeugen.
  • Gemäß einem Beispiel kann das Verfahren und System eine Programmiersprache, wie zum Beispiel VBA (Visual Basic for Applications by Microsoft) einsetzen, obwohl andere Programmiersprachen, wie zum Beispiel C, C++ oder C# (Cis) eingesetzt werden können. Ein Vorteil von VBA ist, dass nach deren Erzeugung die Zeitsteuerungswellenformen in der Umgebung von Microsoft Excel dargestellt werden können, was es ermöglicht, die Zeitsteuerungswellenformen mittels Excel-Skripten weiter zu verarbeiten, beispielsweise, jedoch nicht begrenzt auf (a) Erzeugen von Verweisen zwischen den Zeitsteuerungswellenformen und den ursprünglichen Zeitsteuerungsberichten; (b) Tabellieren der Zeitsteuerungsberichte; (c) Sortieren der Zeitsteuerungsberichte; und (d) Filtern der Zeitsteuerungsberichte.
  • Die Zeitsteuerungswellenform sollte die exakte Anzahl und Summen, die in den Zeitsteuerungsberichten gezeigt sind, widerspiegeln; anderenfalls wird die Wellenforminformation für den ASIC-Entwicklungsingenieur nutzlos sein. Wie in den nachfolgenden Figuren gezeigt werden soll, werden die Zeitsteuerungswellenformen dem ASIC-Entwicklungsingenieur als elektrische Signale angezeigt, welche wie ein Datenblatt irgendeines elektronischen Geräts aussehen.
  • 2 ist ein Blockdiagramm eines Systems zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus einem maximalen ASCII-Zeitsteuerungsbericht und einem minimalen ASCII-Zeitsteuerungsbericht, welcher mittels eines STA-Tools für ein ASIC oder FPGA erzeugt wurde, und/oder zum Umwandeln einer ASCII-Zeitsteuerungsberichtsausgabe aus dem STA-Tool in eine Zeitsteuerungswellenform, um das Verhalten eines elektrischen Signals in dem ASIC oder FPGA auszuwerten.
  • Bezugnehmend auf 2 ist das System 100 ausgelegt, um Zeitsteuerungsberichte, die für jede beliebige externe Schnittstelle oder internen Pin eines ASCII oder FPGA mittels eines herkömmlichen STA Tools 12, Beispiele sind PRIMETIME™ bei Synopsys®, Encounter® Timing System by Cadence® und TEKTON™ by Magma® Design Automation, unter anderen, zum Beispiel, erzeugt wurden, zu unterstützen. Da jeder Zeitsteuerungspfad in einem ASIC/FPGA mittels maximaler und minimaler Zeitsteuerung beschrieben wird, wird die vollständige (ursprüngliche) maximale ASCII-Zeitsteuerungsberichtausgabe des STA Tool 12 im Speicher 110 eingelesen, wo sie abgespeichert wird. Außerdem wird der vollständige (ursprüngliche) minimale ASCII-Zeitsteuerungsbericht von dem STA Tool 12 ausgegeben und im Speicher 110 eingelesen. Jeder dieser Berichte wird verwendet werden; spezifische Zeitsteuerungspunkte werden aus Speicher 110 mittels eines unter der Kontrolle von Prozessor 120 ablaufenden Software-Programms ausgelesen werden, um X-Y-Koordinaten zu berechnen, um Zeitsteuerungswellenformen zu erzeugen, welche auf einer Anzeige 130 des Systems 100 angezeigt werden sollen. Diese Wellenformen enthalten Informationen, welche visuell von Entwickler/Ingenieur durchgesehen werden können, um auszuwerten, ob eine gegebene externe Schnittstelle/interne Pin des ASIC/FPGA vorgegebene Zeitsteuerungsspezifikationen erfüllt. Mit anderen Worten wird der Entwickler in der Lage sein, das Verhalten eines elektrischen Signals in dem ASIC/FPGA zu sehen, um festzustellen, ob oder nicht Zeitsteuerungsbeschränkungen eingehalten werden.
  • Wie zuvor allgemein oben angemerkt, ist der Prozessor 120, indem er das Software-Programm ausführt, beispielsweise über eine Excel Software Schnittstelle ausgestaltet, um Verweise zwischen den Zeitsteuerungswellenformen und den ursprünglichen Zeitsteuerungsberichten zu erzeugen, um die Zeitsteuerungsberichte zu tabellieren und sortieren, sowie um die Zeitsteuerungsberichte zu filtern, um die Zeitsteuerungspunkte auszulesen, welche bei der Berechnung der X-Y-Koordinaten der Zeitsteuerungswellenformen benutzt werden.
  • Wie in größeren Einzelheiten unten gezeigt werden wird, können die zur Durchsicht angezeigten Zeitsteuerungswellenformen eine maximale Zeitsteuerungswellenform, eine minimale Zeitsteuerungswellenform und eine kombinierte Zeitsteuerungswellenform, welche die X-Y-Koordinaten der maximalen und minimalen Zeitsteuerungswellenformen kombiniert, wobei die X-Y-Koordinaten der minimalen Zeitsteuerungswellenform um einen Anpassungsfaktor, welcher hiernach weiter beschrieben werden wird, verschoben sind, umfassen.
  • Jeder Zeitsteuerungspfad in einem ASIC oder FPGA wird durch maximale und minimale Zeitsteuerung beschrieben. Für jede Art von Zeitsteuerung (maximal oder minimal) erzeugt das typische STA Tool 12 einen Zeitsteuerungsbericht. Die erzeugten Zeitsteuerungsberichte werden vororganisiert in Verzeichnissen und haben spezifische Namensgebungskonventionen, angezeigt durch: (a) Projektname, (b) Funktionsmodus, (c) PVT (Prozess, Spannung, Temperatur)-Ecke, (d) Revisionszahl, und (e) Erzeugungsdatum. Das Software-Programm, welches von Prozessor 120 abgespielt wird, läuft über diese Verzeichnisse und Zeitsteuerungsberichte, ausgewählt von dem Benutzer, öffnet die relevanten Zeitsteuerungsberichte und lädt diese in Excel. Nachdem ein spezifischer Zeitsteuerungsbericht in den Speicher 110 geladen wurde, läuft das Software-Programm unter Leitung des Prozessors 120 durch den Bericht, Zeile für Zeile, und die folgenden Daten werden ausgelesen. Diese Zeitsteuerungspunkte werden benutzt werden, um die X-Y-Koordinaten der maximalen Zeitsteuerungswellenform zu berechnen. Nicht alle der Zeitsteuerungspunkte werden direkt in dem Zeitsteuerungsdiagramm erscheinen, aber die Information darin wird zur Erzeugung der Wellenform benutzt. Um die Durchsicht von trunkierten Folge-Zeitsteuerungsberichten und Zeitsteuerungswellenformen zu erleichtern, sind Elementnummern aus gewählten unter den Zeitsteuerungspunkten zugewiesen worden, soweit möglich in der folgenden Tabelle 1, um die Zuordnung von Zeitsteuerungsbericht zu Wellenform zu zeigen. Tabelle 1 - Ausgewählte Zeitsteuerungspunkte ausgelesen aus ASCII Max/Min Zeitsteuerungsberichten
    Zeitsteuerungspunkt Elementnummer
    Startpunkt 202
    Endpunkt 204
    Taktgebername(n) 206; 207
    Taktgeberauslöseflanke(n) 208
    Taktgeberabtastflanke(n) 219
    Auslösetaktgeberverzögerung (LCD) 212
    Aufnahmetaktgeberverzögerung (CCD) 214
    Externe Verzögerung 216
    Taktgeberunsicherheit 228
    Taktgeberlatenz 229
    CRPR (Taktgeberrekonvergenz Pessimismus Entfernung) Nicht dargestellt in den maximalen/minimalen Berichten
    DAT (Datenankunftszeit) 220
    DRT (Datenbenötigtzeit) 222
    Gesamtzeitsteuerungsleerlauf 224
  • Taktgeberunsicherheit, Taktgeberlatenz und CRPR sind alle Teil des Jitter und, obwohl als Teil der Zeitsteuerungspunkte, welche aus dem ursprünglichen ASCII-Zeitsteuerungsbericht ausgelesen wurden, berücksichtigt, können nicht auf einfache Weise visuell gesehen werden, obwohl Jitter in späteren Figuren in einer vergrößerten Ansicht auf einigen der Zeitsteuerungswellenformen gezeigt werden wird. LCD und CCD werden vom Entwicklungsingenieur berechnet aus ausgelesenen Daten, welche in den trunkierten oder kollabierten maximalen/minimalen ASCII-Zeitsteuerungsberichten enthalten sind, wie hiernach beschrieben.
  • Entsprechend, wie in größeren Einzelheiten nachstehend mit Bezugnahme auf die 3 bis 6 ersichtlich werden wird, wird ein Verfahren zum Umwandeln eines Zeitsteuerungsberichts in eine Zeitsteuerungswellenform beschrieben, bei welcher jeder der obigen Zeitsteuerungspunkte in Tabelle 1 Teil eines trunkierten oder kollabierten Zeitsteuerungsberichts der Zeitsteuerungspunkte, welche aus dem ursprünglichen ASCII-Zeitsteuerungsbericht, welcher in Speicher eingelesen wurde, ausgelesen wurden, bildet. Diese Zeitsteuerungspunkte werden benutzt, um X-Y-Koordinaten zu berechnen, um eine Zeitsteuerungswellenform zu erzeugen, welche das Verhalten eines elektrischen Signals in einem elektronischen Gerät, wie zum Beispiel einem ASIC oder FPGA, wiederspiegelt, wobei visuelle Daten vorgesehen werden, um festzustellen, ob oder nicht das Gerät benötigte Zeitsteuerungsspezifikationen erfüllt.
  • 3 ist ein Beispiel eines kollabierten Abschnitts eines vollständigen maximalen Zeitsteuerungsberichts, welcher von einem STA Tool für eine Ausgangsschnittstelle eines ASIC erzeugt wurde und im Speicher des Systems eingelesen wurde, wobei der kollabierte Abschnitt aus Speicher ausgelesen wurde und die Zeitsteuerungspunkte, welche zur Erzeugung der X-Y-Koordinaten einer maximalen Zeitsteuerungswellenform benutzt wurden, veranschaulicht. 3 stellt einen Screenshot eines Excel-Arbeitsplatz des gefilterten oder kollabierten maximalen ASCII-Zeitsteuerungsberichts für eine Ausgabeschnittstelle dar, MFIO [2] eines ASIC. Der Screenshot enthält lediglich die Zeitsteuerungspunkte, welche aus dem ursprünglichen maximalen ASCII-Zeitsteuerungsbericht ausgelesen wurden, welcher von dem STA Tool 12 erzeugt worden war und in Speicher 110 eingelesen wurde.
  • Bezugnehmend auf 3 wird der Startpunkt 202 mittels einer Zeichenkette beschrieben, in welcher ein durch eine steigende Flanke ausgelöster FF durch einen Taktgeber mit dem Namen „AFERXZK“ getaktet wird. Dies ist der Taktgebername 206 für den Startpunkt 202. Der Endpunkt 204 (Ausgabeschnittstelle MFIO[2]) wird getaktet durch Taktgeber mit Namen „Spick“. Dies ist der Taktgebername 207 für den Endpunkt 204. Man beachte, dass der Pfadtyp „max“ anzeigt, somit sind dies Daten von einem maximalen ASCII-Zeitsteuerungsbericht.
  • Die Taktgeberauslöseflanke 208 ist bezeichnet durch die erste Zeile, Taktgeber AFERXZK (steigende Flanke). In der resultierenden Wellenform wird die Taktgeberauslöseflanke bei 37,5 ns von dem Start des Taktgebers auf dem AFERXZK-Zeitsteuerungsliniendiagramm erfolgen. Die Auslösetaktgeberverzögerung (LCD) berechnet wird, ermittelt als eine Differenz zwischen dem Wert, welcher einer Zeichenkette core/u_xbu/spi_cs_1_0_n_reg/CK (GFSDPRB_1), oder 44.662 (den Auslösetaktgeber 203 darstellend) und der Taktgeberauslöseflanke 208 von 37,5 ns. Dementsprechend ist LCD 212 7,182 ns; dies wird sich in der resultierenden maximalen Zeitsteuerungswellenform niederschlagen. Auf ähnliche Weise hat der Entwickler CCD 214 aus zwei Werten berechnet, der Aufnahmetaktgeber 211 (mfio[9] (inout) = 89,19ns) minus die Aufnahmetaktgeberflanke 219 (siehe Taktgeber Spick (fallende Flanke) = 75,00 ns. Dementsprechend ist der CCD 214 = 14,19 ns; dies wird sich in der resultierenden maximalen Zeitsteuerungswellenform niederschlagen.
  • Die externe Verzögerung 216 beträgt -5,00 ns. Die Datenankunftszeit 220 (DAT) beträgt 53,472 ns, die Daten-benötigt-Zeit 222 (DRT) beträgt 83,990 und die gesamte Leerlaufzeit 224 beträgt 30,518. Jeder dieser Zeitsteuerungspunkte wird umgewandelt in x-y-Koordinaten zur Anzeige als Teil der maximalen Zeitsteuerungswellenform. Zusätzlich wird ein „maximale Aufnahmetaktgeberflanke“-Wert, auch Datenverzögerung 226 (DD) berechnet. Dies ist eine Messung von dem Auslösepunkt 205 (Zeichenkette core/u_xbu/spi_cs_1_0_n_reg/Q (GFSDPRB_1) = 45,127 f (f bezeichnet absteigende Flanke) bis zum Endpunkt 210 (mfio[2] in out = 53,472 f. Die Datenverzögerung 226 (DD = 8,345 ns). Dies wird als „Max“ auf der gezeigten Wellenform bezeichnet.
  • 4 ist ein Zeitsteuerungsdiagramm, um ein Beispiel einer maximalen Zeitsteuerungswellenform zu veranschaulichen, welche von den Zeitsteuerungspunkten in dem kollabierten maximalen Zeitsteuerungsbericht gemäß 3 erzeugt wurde. Mit den Zeitsteuerungspunkten und Daten, die wie in 3 angedeutet ausgelesen wurden, kann eine maximale Zeitsteuerungswellenform erzeugt werden, indem eine Vielzahl von x-y-Koordinaten erzeugt wird, um die Zeitsteuerungspunkte in dem x-y-Raum abzubilden. Bezug nehmend auf 4 ist dort eine Reihe von Zeitsteuerungsdiagrammen einer maximalen Zeitsteuerungswellenform gezeigt. Da diese Wellenform für eine Ausgabeschnittstelle erzeugt wurde, sind der Auslösetaktgebername 206 (aferxck), Endpunkt 204 (mfio[2]) und Aufnahmetaktgebemame (spick (f) auf der rechten Seite aufgelistet; wenn dies eine Eingabeschnittstelle wäre, wären diese auf der linken Seite des Zeitsteuerungsdiagramms gewesen. In 4 bedeutet „Switch to Ideal clocks“ das Zeichnen beider Wellenformen, maximale oberhalb der minimalen (wie in größeren Einzelheiten hiernach diskutiert werden wird), ohne die Wirkung von Taktgeberverzögerungen, daher können die Auslöse- und Aufnahmetaktgeber als ausgerichtet veranschaulicht werden und Flankenunterschiede können händisch auf Sicht gezählt werden. Die Wellenform wird bezeichnet durch den Namen der Schnittstelle, welche ausgewertet wird „mfio[2]“, die Art des Berichts („Max delay(wc)“, welche ein maximale Zeitsteuerungswellenform widerspiegelt. Das wc gibt schlicht eine spezielle PVT-Ecke an, (Ecke „wc“). Da es PVT-Variationen zwischen Chips gibt, ist dies lediglich ein Beispiel für eine spezifische PVT-Ecke eines ASIC.
  • Aus dem maximalen Zeitsteuerungswellenformdiagramm kann der Entwicklungsingenieur visuell die Taktgeberauslöseflanke bei 37,5 ns (bezeichnet durch Pfeil 208 und beschriftet als Flanke 6), LCD 212 (7,162 ns), sowie die Aufnahmetaktgeberverzögerung (CCD) 214 von 14,190 ns erkennen. Die externe Verzögerung 216 wird angezeigt als SODmax (-5 ns) von einer Linie und Richtung, welche die Aufnahmetaktgeber 211 rückwärts nach DRT 222 anzeigt.
  • Zusätzlich kann die Taktgeberperiode des Auslösertaktgebers 213 und die Taktgeberperiode des Aufnahmetaktgebers 215 angegeben werden; diese Daten werden von einem anderen Bericht ausgelesen. Zusätzlich wird die Aufnahmetaktgeberflanke (bezeichnet durch Pfeil 219 bei 75 ns) auf Aufnahmetaktgeber spick (f) angezeigt. Jede der DAT 220 (53,472 ns), DRT 222 (83,99 ns) und Gesamtzeitsteuerungsleerlauf 224 (30,518 ns), welcher Marge zu maximalem Pfad darstellt, wird ebenfalls angezeigt.
  • Daher zeigen und beschreiben 2 bis 4 ein Verfahren zum Umwandeln eines ASCII-Zeitsteuerungsberichts (so wie er zum Beispiel erzeugt und/oder ausgegeben wird von einem STA-Tool) in eine Zeitsteuerungswellenform, um das Verhalten eines elektrischen Signals in einem ASIC oder FPGA auszuwerten. In dem Verfahren wird ein ursprünglicher, vollständiger ASCII-Zeitsteuerungsbericht in den Speicher 110 des Systems 100 eingelesen. Unter Steuerung des Prozessors 120 wird ein Softwareprogramm ausgeführt, um ausgewählte Zeitsteuerungspunkte aus dem gespeicherten Bericht auszulesen. In einem Beispiel kann dies in einer Excel-Arbeitsblattumgebung angezeigt und bearbeitet werden. Die Zeitsteuerungspunkte, welche ausgelesen werden, werden anschließend verwendet, um eine Zeitsteuerungswellenform zur Anzeige auf der Anzeige 130 zu erzeugen, zur Durchsicht durch einen Entwickler, um auszuwerten, ob eine gegebene externe Schnittstelle oder ein interner Pin des ASIC oder FPGA vorgegebene Zeitsteuerungsspezifikationen erfüllt.
  • Auf diese Weise können das Verfahren und das System, welche zuvor beschrieben wurden, die Möglichkeit bieten, eine Zeitsteuerungswellenform zu erzeugen, welche sowohl Auslöse- als auch Aufnahmetaktgeber veranschaulicht. In einem Beispiel wird die Zeitsteuerungswellenform erzeugt durch Parsen eines maximalen ASCII-Zeitsteuerungsberichts und Zeichnen der maximalen Zeitsteuerungswellenform, wie am besten in 4 gezeigt. 4 veranschaulicht dem Entwickler zumindest, dass es eine Zeitmarge in dem Aufnahmefenster von 30,518 ns für den maximalen Pfad gibt, welches Zeitsteuerungsspezifikationen erfüllt. Ferner wird die maximale Aufnahmetaktgeberflanke oder Datenverzögerungs- 226 Wert (Max 8,345 ns) angezeigt. Dieser Wert wird entscheidend sein bei der Ermittlung eines Anpassungsfaktors zum Erzeugen einer kombinierten Wellenform, was unten im Einzelnen diskutiert werden soll.
  • 5 ist ein Beispiel eines kollabierten Abschnitts eines vollständigen minimalen Zeitsteuerungsberichts, wie er, zum Beispiel, durch ein STA-Tool erzeugt wird, für die Ausgangsschnittstelle eines ASIC und in Speicher des Systems eingelesen wird, wobei der kollabierte Abschnitt aus Speicher ausgelesen wurde und die Zeitsteuerungspunkte veranschaulicht, welche zur Erzeugung der x-y-Koordinaten einer minimalen Zeitsteuerungswellenform verwendet wurden. Da dieser kollabierte minimale ASCII-Zeitsteuerungsbericht nahezu identisch zu dem in 3 gezeigten und beschriebenen ist, werden nur die Unterschiede im Einzelnen diskutiert.
  • Die gleichen Zeitsteuerungspunkte werden zur Berechnung der x-y-Koordinaten zum Erzeugen der minimalen Zeitsteuerungswellenform verwendet. Man beachte, dass die Pfadtype als „min“ angegeben ist, somit sind diese Daten von einem minimalen ASCII-Zeitsteuerungsbericht. Die Berechnungen für LCD 212, CCD 214 und Datenverzögerung 226' unterscheiden sich von der minimalen Wellenform. Dies ist zurückzuführen zum Teil auf unterschiedliche Werte des Auslösetaktgebers 203, Aufnahmetaktgebers 211, Aufnahmetaktgeberflanke 219, Auslösepunkt 205 und Endpunkt 210. Ferner unterscheiden sich die Datenankunftszeit 220, Daten-erfordert-Zeit 222 und Gesamtzeitsteuerungsleerlauf 224'-Werte in dem trunkierten minimalen ASCII-Zeitsteuerungsbericht im Vergleich zu dem maximalen Zeitsteuerungsbericht gemäß 3. Die externe Verzögerung 216' hat einen positiven Wert von +5,00 ns. Zusätzlich wird die berechnete Datenverzögerung 206 auch als „ min capturing clock edge“ bezeichnet und als „Min“ auf der minimalen Zeitsteuerungswellenform angegeben. Wie der „Max“-Wert wird dieser Parameter bei der Ermittlung eines Anpassungsfaktors zum Erzeugen einer kombinierten Zeitsteuerungswellenform benutzt.
  • 6 ist ein Zeitsteuerungsdiagramm, um ein Beispiel einer minimalen Zeitsteuerungswellenform veranschaulichen, welche aus den Zeitsteuerungspunkten in dem kollabierten Bericht gemäß 5 erzeugt wurde. 6 ist ähnlich zu 4; somit wird eine detaillierte Erklärung im Interesse der Knappheit weggelassen.
  • Bezug nehmend auf 6 zeigt die minimale Zeitsteuerungswellenform gleichermaßen wie die maximale Zeitsteuerungswellenform ein Zeitsteuerungsdiagramm sowohl für die Auslöse- als auch die Aufnahmetaktgeber. Hier ist der SODmin (216') als +5,00 ns, die Datenverzögerung (Min = 3,581 ns) und die Gesamtzeitsteuerungsleerlaufzeit 224' als 4,173 ns gezeigt. Dieser Leerlauf ist innerhalb des Aufnahmefensters, wobei der Aufnahmetaktgeber eine Periode 215 von 50 ns, eine Aufnahmetaktgeberflanke 219 bei 25 ns mit CCD = 14,390 ns hat. Dementsprechend entnimmt der Entwickler aus dieser Anzeige, dass es eine Margenzeit in dem Aufnahmefenster von 4,173 ns für minimalen Pfad gibt, ohne Zeitsteuerungsanforderungen zu verletzen.
  • Zeitsteuerungswellenform-Darstellungen der ASCII-Zeitsteuerungsberichte, welche erstmalig in den 3 und 5 beschrieben wurden, können daher für den Entwicklungsingenieur inituitiv sein. Dementsprechend können die Zeitsteuerungswellenformen-Darstellungen, die in den 4 und 6 dargestellt sind, auf diese Weise umfassende und schnelle STA liefern.
  • Die alleinstehenden maximalen und minimalen Zeitsteuerungswellenformen, welche in den 4 und 6 gezeigt sind, liefern dem ASIC/FPGA-Entwicklungsingenieur einen relativen Blick unterschiedlicher Elemente in dem Zeitsteuerungspfad, welchen die ASCII-Zeitsteuerungsberichte schlicht nicht bereitstellen können. Zum Beispiel, und Bezug nehmend auf die 4 und 6, liefern die Wellenformen eine visuelle Referenz für den Entwickler für wenigstens dem folgenden: (a) relative Perioden von Auslöse-/Aufnahmetaktgebern (siehe schnellere Auslösetaktgeber/niedrigere Aufnahmetaktgeber); (b) relative Verzögerungen von Auslöse-/Aufnahmetaktgebern (größere Verzögerung bei dem Aufnahmetaktgeber selbst ohne Kenntnis der tatsächlichen Verzögerung, kann diese Verzögerung sehen); (c) relative Werte (basierend auf Länge der Pfeile) von SODmax, SODmin, SIDmax, SIDmin (wobei SID gesetzte Eingabeverzögerung beim Auswerten eines Eingabepins/Schnittstelle anstelle einer Ausgabeschnittstelle darstellt; (d) relative Richtungen von SODmax, SODmin, SIDmax, SIDmin (basierend auf Richtung der Pfeile); und (e) relative Größe von DAT/DRT.
  • 7 ist ein Zeitsteuerungsdiagramm, um ein Beispiel einer kombinierten Zeitsteuerungswellenform zu veranschaulichen, welche aus den maximalen und minimalen Zeitsteuerungswellenformen gemäß 5 und 6 erzeugt wurde. Bislang sind ein System und Verfahren beschrieben worden zum Erzeugen der maximalen und minimalen Zeitsteuerungswellenformen aus jeweiligen maximalen und minimalen ASCII-Zeitsteuerungsberichten. 7 ist angegeben, um ein Verfahren zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus einem maximalen ASCII-Zeitsteuerungsbericht und einem minimalen ASCII-Zeitsteuerungsbericht zu beschreiben, wie sie beispielsweise mittels eines statischen Zeitsteuerungsanalysewerkzeug (STA Tool) für ein elektronisches Gerät, wie zum Beispiel einen applikationsspezifischen integrierten Schaltkreis (ASIC) oder Field Programmable Gate Array (FPGA) erzeugt werden, wobei jeder Zeitsteuerungspfad in dem elektronischen Gerät durch maximale und minimale Zeitsteuerung beschrieben wird.
  • Im Allgemeinen sollen, um die kombinierten Zeitsteuerungswellenformen zu erzeugen, X-Y-Koordinaten für eine erste Wellenform auf Basis von in dem maximalen ASCII-Zeitsteuerungsbericht enthaltenen Daten berechnet werden, und X-Y-Koordinaten für eine zweite Wellenform sollen basierend auf in dem minimalen ASCII-Zeitsteuerungsbericht enthaltenen Daten berechnet werden. Um die kombinierte Zeitsteuerungswellenform zu erzeugen, werden die Koordinaten für beide Wellenformen ausgerichtet werden müssen, das heißt, die berechneten X-Y-Koordinaten der zweiten Wellenform müssen um einen Anpassungsfaktor verschoben werden. Die kombinierte Wellenform wird sodann erzeugt mit den berechneten X-Y-Koordinaten der ersten Wellenform und den verschobenen X-Y-Koordinaten der zweiten Wellenform. Die kombinierte Wellenform sollte das Verhalten eines elektrischen Signals in dem elektronischen Gerät, zum Beispiel ASIC oder FPGA, wiederspiegeln.
  • 3 bis 6 haben die Berechnung von Koordinaten aus Zeitsteuerungspunkten beschrieben, um eine maximale Zeitsteuerungswellenform und eine minimale Zeitsteuerungswellenform zu erzeugen. Dementsprechend können die Daten aus den 3 bis 6 verwendet werden, um die kombinierte Zeitsteuerungswellenform zu erzeugen, welche in 7 veranschaulicht ist.
  • Die kombinierte Zeitsteuerungswellenform beschreibt das exakte Verhalten eines elektrischen Signals in dem elektronischen Gerät, wie zum Beispiel einem ASIC oder FPGA. Dementsprechend, da ja nach Verarbeitungsdaten für sowohl maximale und minimale Pfade des STA Tool vorhanden sind und gefiltert und in visuelle Wellenformdaten umgewandelt werden können, welche dem Entwickler mitteilen können, ob Zeitsteuerungserfordernisse erfüllt werden, um kritische Design- oder Herstellfehler zu vermeiden, kann die kombinierte Zeitsteuerungswellenform von überragendem Wert für den Chip-Designer sein. Dementsprechend zeigt die Anzeige 130 unter Steuerung des Prozessors 120 die kombinierte Zeitsteuerungswellenform gemäß 7 an zur Durchsicht durch einen Entwickler, um auszuwerten, ob eine gegebene externe Schnittstelle oder interner Pin eines ASIC benötigte Zeitsteuerungsspezifikationen erfüllt.
  • Um diese kombinierte Wellenform zu erzeugen, sollten sowohl max. und min. Informationen zur Verfügung stehen. Wie zuvor in den 3 und 5 hervorgehoben, werden lediglich ausgewählte Zeitsteuerungspunkte zur Auswertung von maximalen und minimalen Zeitsteuerungspfaden sowohl für die Auslöse- als auch für die Aufnahmetaktgeber von den ursprünglichen maximalen und minimalen ASCII-Zeitsteuerungsberichten ausgelesen. Sobald die ausgewählten maximalen und minimalen Informationen verfügbar sind, sollen die X-Y-Koordinaten zum Erzeugen der Zeitsteuerungsdiagramme übereinander gezeichnet werden, mit einem Anpassungsfaktor, welcher im Voraus berechnet und auf die X-Y-Koordinaten der minimalen Zeitsteuerungswellenform angewendet wurden, so dass sie mit den Koordinaten der maximalen Zeitsteuerungswellenform ausgerichtet sind.
  • Dieser Anpassungsfaktor ist eine vorausberechnete Anpassung, welche innerhalb des von dem Prozessor 120 iteriertiterierten Software-Programms bestimmt wird. Im Allgemeinen bestimmt ein Algorithmus in dem Programm eine Taktgeberflankendifferenz zwischen einer maximalen Aufnahmetaktgeberflanke und einer minimalen Aufnahmetaktgeberflanke, wobei die Zeitsteuerungsdifferenz den Anpassungsfaktor darstellt, um welchen die X-Y-Koordinaten der minimalen Zeitsteuerungswellenform verschoben werden, um mit den X-Y-Koordinaten der maximalen Zeitsteuerungswellenform ausgerichtet zu sein, um auf diese Weise die kombinierte Wellenform zu erzeugen.
  • Der Anpassungsfaktor wird als ein Aufnahmetaktgeberflankenindifferenz (CCED)-Faktor bezeichnet. CCED ist definiert als die Zeitsteuerungsdifferenz zwischen der maximalen Aufnahmetaktgeberflanke (max) und der minimalen Aufnahmetaktgeberflanke (min):
    • CCED = Maximale Aufnahmetaktgeberflanke (siehe 219, 4) - Minimale Aufnahmetaktgeberflanke (siehe 219, 6), oder
    • CCED= 75 ns - 25ns = 50ns.
  • Insbesondere wird der CCED-Wert addiert, so dass die X-Y-Koordinaten auf der minimalen Zeitsteuerungswellenform durch CCED nach rechts verschoben werden. Auf diese Weise werden die Zeitsteuerungsdiagramme für die Auslöse- und Aufnahmetaktgeber im Wesentlichen ausgerichtet, wenn die verschobenen X-Y-Koordinaten der zweiten (min) Zeitsteuerungswellenform über die X-Y-Koordinaten der ersten (max) Zeitsteuerungswellenform platziert werden.
  • Bezugnehmend nun auf die kombinierte Zeitsteuerungsform gemäß 7 für die Ausgabeschnittstelle mfio [2] sind dort Zeitsteuerungspunktdaten sowohl von den maximalen als auch von den minimalen Zeitsteuerungsberichten gezeigt. Einige der Daten sind ausgelassen, wie zum Beispiel bestimmte berechnete Verzögerungsdaten und berichtsspezifische Verzögerungen für maximale und minimale Pfade. Das Auslösetaktgeber (AFERXCK)-Zeitsteuerungsdiagramm ist so ausgerichtet wie das Aufnahmetaktgeber-Zeitsteuerungsdiagramm an Taktgeberflanken (219). Sowohl Max 226 als auch 226' werden angezeigt, gleichermaßen wie die externen Verzögerungen SODmax (216) und SODmin (216'). Auch angezeigt für den Entwickler ist die Auslösetaktgeberflanke (Pfeil 208 bei Flanke 6) und eine „nächste“ Auslösetaktgeberflanke 208'. Gezeigt durch Pfeil 208' bei Flanke 14, stellt dies die Auslösetaktgeberflanke der minimalen Zeitsteuerungswellenform nach Verschiebung um CCED dar, von wo aus die Min-Verzögerung gemessen wird. Die kombinierte Wellenform zeigt ferner die Aufnahmetaktgeberflanke bei 219 an.
  • Sowohl Gesamtzeitsteuerungsleerlauf für maximalen Pfad (224) und minimalen Pfad (224') werden auf der kombinierten Zeitsteuerungswellenform angezeigt. Diese Werte stellen Margen dar, um akzeptable Zeitsteuerungserfordernisse für den ASIC/FPGA zu erfüllen. Dementsprechend wird diese kombinierte Zeitsteuerungswellenform erzeugt durch Parsen der separaten maximalen und minimalen Zeitsteuerungsberichte und Zeichnen der max/min kombinierten Zeitsteuerungswellenform, wie am besten in 7 gezeigt.
  • In 7 zeigt die kombinierte Wellenform, dass es eine Zeitmarge in dem Aufnahmefenster von 30,518 ns für maximalen Pfad und 4,173 ns für minimalen Pfad gibt. Eine angezeigte Wellenform auf Anzeige 130, wie zum Beispiel 7, ermöglicht es dem Entwicklungsingenieur, augenblicklich festzustellen, ob der Zeitsteuerungspfad die funktionalen Anforderungen über alle PVT-Ecken erfüllt und ob ein elektronisches Gerät, wie zum Beispiel ein ASIC oder FPGA, richtig unter derartigen Bedingungen funktionieren wird. Redundante Information wird von der Max/Min kombinierten Zeitsteuerungswellenform ausgelassen, da die Absicht ist, dass der Entwicklungsingenieur die relevanten Zeitsteuerungswellenformen als komplementären Satz durchsieht, das heißt, jede der maximalen Zeitsteuerungswellenformen, minimalen Zeitsteuerungswellenformen und max/min kombinierten Zeitsteuerungswellenformen.
  • 8 ist ein Screenshot eines Abschnitts eines Excel-Zusammenfassungsarbeitsblatts von Eingabeschnittstellen für einen gegebenen ASIC, mit der berechneten angezeigten kombinierten Zeitsteuerungswellenform für eine ausgewählte Eingabeschnittstelle „host[7]“ des ASICs; und 9 ist eine vergrößerte Ansicht eines Abschnitts der kombinierten Wellenform von 8, um den Jitter in der kombinierten Wellenform zu veranschaulichen.
  • 8 wurde vorgesehen, um zu veranschaulichen, wie Zeitsteuerungswellenformen-Berichte kategorisiert und zur Anzeige innerhalb des Systems 100 abgespeichert werden können. Der obere Abschnitt von 8 zeigt einen Screenshot einer Excel-Dateivon abgespeicherten Zeitsteuerungswellenformen, welche für eine Vielzahl von Eingangsschnittstellen eines gegebenen ASIC erzeugt wurden. Der Zusammenfassungsbericht benennt die Schnittstelle nach Name und gibt Zusammenfassungsdaten an, beinhaltend den maximalen und minimalen Anstieg und Abfall für Eingabeverzögerung, den zugehörigen Taktgeber (Auslösetaktgeber), und gibt die Marge, minimale Zeitsteuerungswellenform (Wh), Min/max kombinierte Zeitsteuerungswellenform ((Whs) für eine Eingabe-Ausgabe-Marge - Minimale Pfadauswertung, an und die Marge, maximale Zeitsteuerungswellenform (Ws), Max/min kombinierte Zeitsteuerungswellen-form (Wsh) für eine Eingabe-Ausgabe-Marge - Maximale Pfadauswertung. Die Werte der Margen entsprechen dem Gesamtzeitsteuerungsleerlauf. Falls diese Werte positiv sind, liegen die Zeitsteuerungen innerhalb einer akzeptablen Zeitsteuerungsanforderung.
  • Ein Entwickler kann eine gewünschte Zeitsteuerungswellenform zur Anzeige auswählen, indem er auf eine ausgewählte Zelle klickt, welche als Hypertextverweis dient, um eine angezeigte Wellenform wie unter dem partiellen Screenshot in 8 angezeigt zu öffnen. In diesem Beispiel klickt der Entwickler auf Wsh für Eingabeschnittstelle „host[7]“. Der Vorgang des Klickens auf die Wsh-Zelle bringt automatisch die kombinierte Max/Min-Zeitsteuerungswellenform für diese Eingabeschnittstelle auf den Bildschirm der Anzeige 130. Da dies eine Eingabeschnittstelle ist, werden der Auslösetaktgebername 206 „mii_tx_clk“, Startpunkt 202 für die Schnittstelle „host[7] und Aufnahmetaktgebemame 207 „mii_clk“ in der linken Seite angezeigt. Hier wird die Datenverzögerung 226 oder Max (maximale Aufnahmetaktgeberflanke) für die maximale Zeitsteuerungswellenform synonym als „Setup“ bezeichnet. Die Min 226' oder minimale Aufnahmetaktgeberflanke wird als „Hold“ bezeichnet. Da dies eine Eingabeschnittstelle ist, existiert keine vorgegebene Ausgabeverzögerung (SOD) für die maximalen und minimalen Zeitsteuerungsberichte, stattdessen ein Satz Eingabeverzögerung (SID) für maximale und minimale Pfade; SIDmax = 25 ns (221) und SIDmin = 0 ns (221'). Der Gesamtzeitsteuerungsleerlauf 224 oder die Marge für den maximalen Pfad beträgt 10,160 ns; der Gesamtzeitsteuerungsleerlauf 224' oder die Marge für den minimalen Pfad beträgt 2,345 ns. Da beide positiv sind, erfüllt die Eingabeschnittstelle host[7] die Zeitsteuerungserfordernisse.
  • 9 ist eine vergrößerte Ansicht, um zu zeigen, dass Jitter ebenfalls in der kombinierten Wellenform enthalten ist. Bei starker Vergrößerung kann Jitter um den Aufnahmetaktgeberflanke-1-Übergang, bezeichnet durch Pfeile 225, gesehen werden.
  • 10A ist ein Screenshot eines Abschnitts eines Excel-Zusammenfassungsarbeitsblatts von Ausgabeschnittstellen für einen gegebenen ASIC; und 10B ist ein vergrößerter Abschnitt einer berechneten angezeigten kombinierten Zeitsteuerungswellenform für eine ausgewählte Ausgabeschnittstelle dex[15] des ASIC gemäß 10A, um einen außerhalb-der-Zeitsteuerung-Zustand für die Schnittstelle zu veranschaulichen. Hier haben, für eine Reihe von „dex“-Ausgangsschnittstellen, die kombinierten Max/Min-Zeitsteuerungswellenformen für den maximalen Pfad Verletzungen in dem Aufnahmefenster für den maximalen Pfad; tatsächlich ist jede außerhalb des Bereichs. Zum Beispiel wurde Ausgangsschnittstelle dex[15] zur Sichtung ausgewählt und die kombinierte Zeitsteuerungswellenform wurde unterhalb des Excel-Zusammenfassungs-Screenshots für einen gegebenen ASIC angezeigt. Wohingegen der gesamte Zeitsteuerungsleerlauf 224' (Marge) für die minimale Wellenform im Bereich ist (1,750 ns), verletzt der Gesamtzeitsteuerungsleerlauf 224 für den maximalen Pfad die Zeitsteuerungsanforderungen (-0,342 ns).
  • Die Zeitsteuerungsverletzung bedeutet, dass der spezifische Zeitsteuerungspfad das zur Verfügung stehende Zeitsteuerungsbudget überschreitet. Die korrektiven Handlungen, die dem Entwickler zur Verfügung stehen, können von verschiedener Art sein; der Entwickler wird zunächst auf jene blicken, welche keine Designänderung erfordern. Eine Möglichkeit könnte sein, dass eine Definition zu dem STA-Tool zu ändern, wobei ein Beispiel dafür ist, SODmax von -1,400 ns auf -1,000 ns zu ändern (was den Aufnahmetaktgeber um 0,400 ns verzögert). Die zusätzliche 0,400 ns Verzögerung wird den gesamten Zeitsteuerungsleerlauf für den maximalen Pfad genau in die Marge bringen (+ 0,058 ns). Diese Veränderung wird lediglich erforderlich machen, das Zeitsteuerungsbegrenzungsmodul 15 in 1 durchzuführen und dann das STA-Tool 12, um einen anderen maximalen und minimalen ASCII-Zeitsteuerungsbericht zu erzeugen. Dies wäre eine vergleichsweise „schmerzärmste“ Änderung, welche keine Designänderung erforderlich machte. Eine andere mögliche Veränderung, um den Zeitsteuerungspfad in das zulässige Zeitsteuerungsbudget zu verbringen, könnte die Einfügung stärkerer Zellen in dem verletzenden Zeitsteuerungspfad oder das Vorstellen des Auslösetaktgebers durch Einfügen stärkerer Zellen in den Auslösetaktgeberpfad sein. Dies wird es erforderlich machen, das ECO-Werkzeug 14 in 1 zu betreiben, gefolgt durch das Layout-Werkzeug 11 und dann Neuerzeugen von Zeitsteuerungsberichten im STA-Tool 12. Wenn irgendeine dieser Lösungen nicht hilft, mag dies zu einer Designänderung führen, welche die „schmerzhafteste“ Möglichkeit für den Designer und die längste für den Zeitplan ist, welche das RTL-Änderungs- und Synthese-Tool 13 in 1 erfordert.
  • 11 ist ein Blockdiagramm, um ein Beispiel eines Einzelzyklus gegenüber mehrzyklus-logischer Clouds zu veranschaulichen; und 12 ist ein Zeitsteuerungsdiagramm, um den Unterschied zwischen dem CLK gegenüber dem Slow CLK, welches in 11 FF5 auslöst, zu veranschaulichen.
  • Standardmäßig führt das STA Tool 12 Zeitsteuerungsberechnungen basierend auf Einzeltaktgeberzyklusverhalten durch. Dies sind Fälle, aufgrund des Vorhandenseins von langsamer Logik innerhalb eines ASIC oder FPGA, in denen ein Mehrfachtaktgeberzyklusverhalten erforderlich ist. Eine Art, Multizyklenverhalten zu erklären, ist, es zu vergleichen gegenüber Einzelzyklusverhalten. Bezugnehmend auf 11 sind dort einige logische Clouds dargestellt, gekennzeichnet „Logic“, zwischen Flip Flops, welche durch einen ähnlichen Zeitgeber angetrieben werden, gekennzeichnet „CLK“. Logische Clouds sollten Zeitsteuerung in einem einzelnen Taktgeberzyklus erfüllen, jedoch erhält die logische Cloud in 11, welche als „Slow Logic“ gekennzeichnet ist, eine entspannte Zeitsteuerung (das heißt ihr wird zugestanden, die Zeitsteuerung in mehr als einem Zyklus zu erreichen), welche sie erfüllen sollte, definiert durch ein Gate-Signal, in der Fig. durch „enable“ gekennzeichnet.
  • Bezugnehmend nun auf 12 „öffnet“ das „enable“-Signal das Tor alle vordefinierte Anzahl von „CLK“-Zyklen und löst Flop FF5 aus, um nur auf dem vordefinierten Zyklus aufzuzeichnen. Dementsprechend liefert die obige Beschreibung von 11 und 12 eine Einleitung in MultizyklusPfad „MCP“-Fragen in elektronischen Geräten wie zum Beispiel ASICs und FPGAs.
  • In dem Falle einer MCP-Analyse, werden bestimmte Zeitsteuerungsdefinitionen, als Zeitsteuerungsausnahmen, benötigt, um das STA Tool über das aktuelle Verhalten der Logik innerhalb des ASIC/FPGA zu „unterrichten“. Basierend auf den MCP-Definitionen erzeugt das STA Tool MCP-Zeitsteuerungsberichte, welche komplexer zu analysieren und vom Entwickler zu verstehen sind als einzelne Taktgeberzyklusberichte, insbesondere minimale MCP. Die minimale MCP-Analyse, da sie im Vergleich zu maximaler NCP gemessen wird, erfordert Überprüfen sowohl maximaler MCP und minimaler MCP, deshalb kann letztere nicht einfach abgeleitet werden.
  • 13 ist die kombinierte Zeitsteuerungswellenform gemäß 7 beschriftet mit Daten, welche min MCP und max MCP wiederspiegeln, welche für die Ausgabeschnittstelle mfio(2) eines ASIC ermittelt wurden. Die kombinierte Zeitsteuerungswellenform für eine gegebene Schnittstelle oder Pin eines ASIC/FPGA kann verwendet werden, um max MCP- und min MCP-Werte zu ermitteln, hier gelegentlich auch als „min MCP- und max MCP-Definitionen“ bezeichnet. Das vom Prozessor 120 iterierte Software-Programm wird weiter ausgestaltet, um den min MCP-Wert, basierend auf CCED, zu berechnen und dem ASIC- oder FPGA-Designer eine klare Visualisierung mittels der kombinierten Wellenform auf der Anzeige 130 anzubieten.
  • Bezugnehmend auf 13 ist die Periode des schnellen Taktgebers (AFERXCK) 6,25 ns, die Periode des langsamen Taktgebers (Spick (f) beträgt 50 ns. Hiervon ausgehend wird der max MCP-Wert als 12-6=6 berechnet, was bedeutet, dass die Logik Cloud zwischen dem Flop, welcher von dem schnellen Taktgeber (Auslösetaktgeber AFERXCK) bei Zeit 37,5 ns (Taktgeberauslöseflanke 6) betrieben wird, ihre Aufgaben innerhalb sechs voller Zyklen (steigende Flanke zu steigender Flanke) des schnellen Taktgebers fertigzustellen, bevor sie von dem Flop, der von dem langsamen Taktgeber (Spick (f)) bei Zeit 75 ns abgefragt wird. Dies führt zu maximaler Marge von 30,518 ns. Anschaulich kann dann der maximale MCP-Wert definiert werden als Taktgeberflankenabstand (in Zyklen) in dem schnellen Taktgeber zwischen Auslösetaktgeberflanke 208 (Flanke 6) und wo die Aufnahmetaktgeberflanke 219 schneiden würden - bezogen auf Zeitsteuerung (bei 75 ns auf AFERXCK, oder Flanke 12), das heißt, wenn der Flop, welcher von dem langsamen Taktgeber (hier Spick (f)), wie zum Beispiel in 12 gezeigt, angetrieben wird, den Flop abfragt, welcher von dem schnellen Taktgeber angetrieben wird.
  • Der min MCP-Wert wird berechnet als Differenz in dem schnellen Taktgeberflanken von AFERXCK (Auslösetaktgeberflanken 208 (Auslösetaktgeberflanke von maximaler Zeitsteuerungswellenform), und 208' (Auslösetaktgeberflanke der minimalen Wellenform verschoben um CCED, oder nächste Auslösetaktgeberflanke)), welche 14-6=8 beträgt. Mit anderen Worten bedeutet dies, dass der durch den schnellen Taktgeber getriggerte Flop in 7 die nächsten Daten lediglich acht schnelle Taktgeberzyklen nachdem die vorherigen Daten ausgelöst wurden, auslösen wird. Dies führt zu minimaler Marge von 4,173 ns. Auf diese Weise kann die min MCP-Definition definiert werden als Taktgeberflankenabstand zwischen Auslösetaktgeberflanke 208 und nächster Auslösetaktgeberflanke 208' (und folgende), somit falls der Entwickler definiert min MCP=8, Auslösetaktgeberflanken für nächste/neue Daten erfolgen bei Flanke 6/37,5 ns, Flanke 14, 87,5 ns, Flanke 22, 122,5 ns etc.
  • 14 ist eine kombinierte Zeitsteuerungswellenform für Eingabeschnittstellendaten eines ASIC bei welchem Verifikation des min MCP eine falsche min MCP-Definition anzeigt. Berechnende MCP-Definition ist im Allgemeinen komplex und führt mit größter Wahrscheinlichkeit zu Definitionsfehlern, welche lediglich durch mehrere Iterationen gelöst werden oder in Schlimmstfällen unentdeckt bleiben, was zu einem sehr teuren Produktionsfehler führen könnte. Insbesondere ist die Berechnung der min MCP-Definitionen der komplexe Teil, da dessen Definition relativ zu dem max MCP-Wert ist. Daher wird eine kombinierte Zeitsteuerungswellenform von max und min benötigt, um die min MCP-Definition zu berechnen und deren Richtigkeit zu bestätigen.
  • 14 zeigt eine fehlerhafte MCP-Definition, dargestellt visuell durch die kombinierte Wellenform, welche ein falsches Bild einer optimistischen Zeitsteuerungsmarge erzeugt. Wie in 14 gezeigt, für die Eingangsschnittstellen „Daten“, wird die min MCP-Definition berechnet aus dem schnellen Taktgeber, hier dem Aufnahmetaktgeber 207. Mit Bezug auf den Aufnahmetaktgeber 207 (schneller Taktgeber), ist der min MCP 11 - 0 = 11 und die min Marge (Gesamtzeitsteuerungsleerlauf 224' des minimalen Zeitsteuerungsberichts) von 19,514 ns ist daher zu optimistisch. Das durch den Prozessor 120 iterierte Software-Programm ist in der Lage, min MCP zu berechnen und den ASIC-oder FPGA-Entwickler zu warnen, dass die min MCP-Definition fehlerhaft definiert wurde.
  • Der CCED in diesem Falle ist: 30,8 ns (219) -0 ns (230) = 30,8. Daher ist die nächste Auslöseflanke (208') verschoben von Auslöseflanke 208) um 30,8 ns, und landet bei 44,8 ns. Solch eine Verschiebung erzeugt einen nicht-periodischen Abstand von 11 schnellen Taktgeberflanken. Diese nicht-periodische Distanz wird realisiert durch Berechnung des Verhältnisses zwischen dem langsamen Taktgeber und schnellen Taktgeber, welche 28 : 2,8 = 10 beträgt. Dies führt zur Detektion des min MCP-Fehlers, welcher 11 - 10 = 1 beträgt. Solch eine Differenz bedeutet, dass der ASIC-Entwickler eine fehlerhafte min MCP-Definition definierte, um 1 größer.
  • Entsprechend ermöglicht die CCED-Kalkulation die visuelle Feststellung, dass max- und min-Auslösetaktgeber nicht präzise auf denselben Flanken überlappen, wie erkennbar aufgrund der gestaffelten oder überlappenden Auslösetaktgeber in 14. Auf diese Weise bildet die visuelle Überprüfung der korrekten Überlappung von max- und min-Idealen (das heißt ohne reale Verzögerungen) Auslösetaktgeberflanken in der kombinierten Wellenform sobald CCED berechnet wurde, Teil der min MCP-Wertverifizierung durch den Entwickler. Der Fehler in der Definition für min MCP ist, dass Aufnahmeflanke 11 (bei 219) analog zu Flanke 1 und nicht Flanke 0 (gezeigt durch Pfeil 230) ist, wie irrtümlich in 14 gezeigt. Dies liegt daran, dass Definitionen für ASIC/FPGA periodisch ausgelegt sind und STA-Messungen zwischen synchronisierten Taktgebern, welche periodisch sind, durchgeführt werden. Auf diese Weise kann der Entwickler, wenn der relative Punkt die Aufnahmeflanke 11 bei 30,8 ns ist, basierend auf dem periodischen Verhältnis oder Beziehung zwischen den Taktgeberperioden (Periode = 28 ns für langsamen Taktgeber, 2,8 ns für schnellen Taktgeber), aus der kombinierten Wellenform ersehen, dass die vorhergehende Aufnahmeflanke in dem schnellen Taktgeber bei Flanke 1 bei 2,8 ns liegen sollte und die nächste Aufnahmeflanke bei Flanke 21 bei 58,8 ns liegen sollte, das heißt, der Abstand muss das Taktgeberverhältnis zwischen den Taktgebern 50 : 2,8 = 10 Taktgeberperioden oder 10*2, 8 = 28 ns sein, da anderenfalls das relative Verhalten nicht periodisch sein wird.
  • Daher kann ein berechneter min MCP-Wert als richtig bestätigt werden basierend auf (a) Berechnung von x-y-Koordinaten von Auslöse-Max- und Min-Taktgebern , (b) Berechnung des Verhältnisses der Auslöse- und Aufnahme-Taktgeberperioden und (b) Überprüfen des korrekten Überlappens von Auslöse-Max- und Min-Ideal- (ohne reale Verzögerungen) Taktgeberflanken der kombinierten Wellenform durch die entwicklerseitige Sichtung der kombinierten Wellenform. Wenn eine Verletzung festgestellt wird, kann der min MCP-Wert (d.h., min MCP Definition an das STA Tool) durch den Entwickler korrigiert werden. Als solche stellt die kombinierte Zeitsteuerungswellenform im Falle eines Multizyklus-Zeitsteuerungspfads in dem ASIC (in einer gegebenen Schnittstelle oder Pin eines ASIC) dem Entwickler Informationen über die Richtigkeit oder Genauigkeit des min MCP Wertes (d.h., min MCP Definition an das STA Tool) zur Verfügung.
  • 15 ist eine kombinierte Zeitsteuerungswellenform für dieselbe Eingangsschnittstelle in 14 nach Ingenieurskorrektur basierend auf einer korrigierten min MCP Definition. Sobald der ASIC/FPGA Designer sich über den Fehler bewusst ist, wird die min MCP Definition angewendet. Zum Beispiel verändert der ASIC/FPGA Entwickler die Definition von min MCP an das STA Tool und betreibt das STA Tool erneut, um richtige maximale und minimale Zeitsteuerungsberichte zu erzeugen, um die kombinierte Zeitsteuerungswellenform für die Eingangsschnittstelle erneut zu erzeugen. 15 zeigt dieselbe Wellenform mit dem korrigierten min MCP. Der korrigierte min MCP beträgt nun 11 - 1 = 10 und die min Marge (korrigiert durch Anpassungen an die min MCP Definition vor der erneuten Ausführung des STA Tools 12) beträgt nur 16,265 ns im Gegensatz zu 19,514 ns.
  • Daher beschreiben die beispielhaften Ausführungsformen Verfahren und ein System zum Umwandeln von Zeitsteuerungsberichten in Zeitsteuerungswellenformen, welche dem ASIC/FPGA Ingenieur die gewünschten Daten zur Verfügung stellen, um jegliche Zeitsteuerungspfade in einfacher aber ausgefeilter Art und Weise analysieren. Die Anzeige von maximalen, minimalen und kombinierten Zeitsteuerungswellenformen stellt eine Vielfalt von relativen Zeitsteuerungsdaten zur Verfügung, um schnell festzustellen, visuell, ob ein gegebener Zeitsteuerungspfad eine Zeitsteuerungsvorgabe erfüllt. Zusätzlich kann die Methodik automatisch den min MCP Wert und max MCP Wert berechnen und die Wellenformdaten können Korrekturen an die min MCP Definition anbieten/vorschlagen, falls Fehler aufgedeckt werden.
  • Obwohl Verfahren und System in Bezug auf den Empfang von Zeitsteuerungsberichtdaten beschrieben wurden, welche von einem STA Tool erzeugt wurden, sind die beispielshaften Ausführungsformen nicht in dieser Weise beschränkt. Da STA Tool Entwickler eine Möglichkeit haben, maximale und minimale ASCII Zeitsteuerungsberichte intern zu erzeugen, könnte die hierin beschriebene Methodik in das STA Tool integriert werden, sodass STA Tool Hersteller die Zeitsteuerungswellenformen aus ASCII Zeitsteuerungsberichtsdaten, welche intern darin erzeugt werden, erzeugen können. Darüber hinaus kann die beispielhafte Methodik statt zum Erzeugen der Zeitsteuerungswellenformen aus ASCII Zeitsteuerungsberichten auf Skripte oder Subroutinen/Algorithmen angewendet werden, welche in die STA Tool Software geschrieben sind, welche spezielle STA Tool Definitionen ansprechen, (wie zum Beispiel ausgewählte Daten für maximale und minimale Zeitsteuerungspfade einer externen Schnittstelle oder internen Pin eines ASIC) von der internen Datenbank oder dem Speicher des STA Tools, und kann die gewünschten x-y-Koordinaten der maximalen, minimalen und kombinierten Wellenformen erzeugen, ohne den Zwischenschritt des Erzeugens von ASCII Zeitsteuerungsberichten, welche in einen internen oder externen Speicher eingelesen und dann auf Zeitsteuerungspunkte geparst werden, um die Wellenformen aufzubauen.
  • Daher umschließen in einer alternativen Ausgestaltung die beispielhaften Ausgestaltungsformen ferner ein Verfahren zum Erzeugen einer kombinierten Zeitsteuerungswellenform von maximalen und minimalen Zeitsteuerungsdaten für eine gegebene externe Schnittstelle oder interne Pin eines ASIC, welche in einer STA Tool-Datenbank abgespeichert ist. Bei dieser Methode und unter Steuerung eines Software-Programms, welches von dem STA Tool-Prozessor oder Prozessormediums iteriert wird, werden ausgewählte Zeitsteuerungsdaten im Zusammenhang mit einem minimalen Pfad der Schnittstelle oder Pin direkt aus der internen Datenbank des STA Tool ausgelesen und in X-Y-Koordinaten für eine minimale Zeitsteuerungswellenform umgewandelt ausgewählte Zeitsteuerungsdaten im Zusammenhang mit einem maximalen Pfad der Schnittstelle oder Pin wird ebenfalls unmittelbar aus der internen Datenbank ausgelesen und in X-Y-Koordinaten für eine maximale Zeitsteuerungswellenform umgewandelt. Die X-Y-Koordinaten der minimalen Zeitsteuerungswellenform werden um den Anpassungsfaktor, CCED, wie oben beschrieben verschoben, und durch einen Algorithmus des Software-Programms, welches zum Beispiel von dem STA Tool-Prozessor ausgelöst wird, berechnet, um mit den X-Y-Koordinaten der maximalen Zeitsteuerungswellenform ausgerichtet zu sein und die kombinierte Zeitsteuerungswellenform zu erzeugen.
  • Diese Methodik kann durch einen Algorithmus oder ein Software-Programm, welches in die STA Tool-Prozessorlogik (wie zum Beispiel STA Tool 12) selber integriert ist, implementiert werden. Beispielsweise kann der STA Tool-Hersteller, mit der Kenntnis über den Inhalt und Ort von Zeitsteuerungspunktdaten innerhalb der internen Datenbank des STA Tool, das Auslesen von gewünschten Datenpunkten in Bezug auf die Taktgeber, Verzögerungen und andere Zeitsteuerungsparameter oder STA Tool-Definitionen, welche zur Berechnung der X-Y-Koordinaten für die Auslöse- und Aufnahmetaktgeber, beispielsweise, die max, min, SODmax, SODmin, (oder SIDmax, SIDmin), Gesamtzeitsteuerungsleerlauf, (Margen), CCED, Taktgeberauslöse- und Abtastflanken, usw. für die in den 4, 6 und/oder 7 gezeigten maximalen, minimalen und kombinierten Zeitsteuerungswellenformen programmieren. Auf diese Definitionen könnte direkt von der internen Datenbank des STA Tool zugegriffen werden, anstatt zunächst maximale und minimale ASCII-Zeitsteuerungsberichte zu erzeugen und diese danach unter Auswahl von Zeitsteuerungspunkten aus den vollständigen Berichten auszulesen, um die X-Y-Koordinaten, wie in den vorhergehenden Ausführungsformen beschrieben, zu berechnen.
  • Das STA Tool kann ausgebildet sein, um eine Anzeigeschnittstelle aufzuweisen. Die kombinierte Zeitsteuerungswellenform wird auf diese Weise mit den X-Y-Koordinaten bei maximalen Zeitsteuerungswellenformen und der verschobenen X-Y-Koordinaten der minimalen Zeitsteuerungswellenformen erzeugt, und kann auf der Anzeigeschnittstelle des STA Tools angezeigt werden. Auf diese Weise kann die angezeigte kombinierte Zeitsteuerungswellenform Gegenstand von visueller Sichtung durch einen Entwickler und/oder STA Tool-Ingenieur sein, um auszuwerten, ob die gegebene externe Schnittstelle oder interne Pin des ASIC benötigte Zeitsteuerungsspezifikationen erfüllt, wie vorhergehend beschrieben.
  • Wie oben mit Bezug auf 13 bis 15 beschrieben, und im Fall eines Multizyklenzeitsteuerungspfads in einem ASIC oder einer gegebenen Schnittstelle oder Pin des ASIC, kann das gleiche Computerprogramm oder -software in dem STA Tool selber zur Erzeugung von kombinierten Zeitsteuerungswellenformen einen weiteren Algorithmus oder Unterprogramm beinhalten, um automatisch die min und max MCP-Definitionen aus kombinierten Wellenformen, wie zuvor beschrieben, zu berechnen. Diese Berechnungen können automatisch durchgeführt werden (basierend auf CCED, Berechnung von X-Y-Koordinaten von Auslösungsmax- und -mintaktgebern, Berechnung von Taktgeberperiodenverhältnis zwischen Auslösungs- und Aufnahmetaktgeberperioden) und anschließend visuell überprüft werden durch die Sichtung des Entwicklers der erzeugten kombinierten Zeitsteuerungswellenformendaten (das heißt, visuelles Überprüfen eines korrekten Überlappens von maximalen und minimalen idealen Auslösetaktgeberflanken in der kombinierten Wellenform), um die Korrektheit des min MCP-Werts zu verifizieren und/oder um Änderungen zu korrigieren/vorzuschlagen, sollte die Definition als falsch ermittelt werden.

Claims (18)

  1. Verfahren zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus einem maximalen ASCII-Zeitsteuerungsbericht und einem minimalen Zeitsteuerungsbericht für einen applikationsspezifischen integrierten Schaltkreis (ASIC), wobei jeder Zeitsteuerungspfad in einem ASIC durch maximale und minimale Zeitsteuerung beschrieben wird, wobei das Verfahren in einem Computer ausgeführt wird, wobei das Verfahren umfasst: Berechnen von X-Y-Koordinaten für eine erste Zeitsteuerungswellenform basierend auf in dem maximalen ASCII-Zeitsteuerungsbericht enthaltenen Daten, Berechnen von X-Y-Koordinaten für eine zweite Zeitsteuerungswellenform basierend auf in dem minimalen ASCII-Zeitsteuerungsbericht enthaltenen Daten, Verschieben der berechneten X-Y-Koordinaten der zweiten Zeitsteuerungswellenform um einen Anpassungsfaktor, weiter umfassend das Iterieren eines Algorithmus, welcher eine Taktgeberflankendifferenz zwischen einer maximalen Aufnahmetaktgeberflanke und einer minimalen Aufnahmetaktgeberflanke ermittelt, wobei die Taktgeberflankendifferenz den Anpassungsfaktor darstellt, um welchen die X-Y-Koordinaten der zweiten Wellenform verschoben werden, um mit den X-Y-Koordinaten der ersten Wellenform ausgerichtet zu sein und Erzeugen einer kombinierten Zeitsteuerungswellenform mit den berechneten X-Y-Koordinaten der ersten Wellenform und den verschobenen X-Y-Koordinaten der zweiten Wellenform, wobei die kombinierte Zeitsteuerungswellenform das Verhalten eines elektrischen Signals in dem ASIC wiederspiegelt.
  2. Verfahren gemäß Patentanspruch 1, wobei das Berechnen von X-Y-Koordinaten für die erste Zeitsteuerungswellenform ferner beinhaltet: Speichern des vollständigen maximalen ASCII-Zeitsteuerungsberichts, und Auslesen bestimmter Zeitsteuerungspunkte aus dem abgespeicherten Bericht, um die X-Y-Koordinaten für die erste Zeitsteuerungswellenform zu berechnen.
  3. Das Verfahren gemäß Patentanspruch 1, wobei das Berechnen der X-Y-Koordinaten für die zweite Zeitsteuerungswellenform ferner beinhaltet: Speichern des vollständigen minimalen ASCII-Zeitsteuerungsberichts, und Auslesen bestimmter Zeitsteuerungspunkte aus dem abgespeicherten Bericht, um die X-Y-Koordinaten für die zweite Zeitsteuerungswellenform zu berechnen.
  4. Das Verfahren gemäß Patentanspruch 1, wobei das Berechnung von X-Y-Koordinaten für entweder die erste oder die zweite Zeitsteuerungswellenform beinhaltet: Laden eines gegebenen aus den maximalen und minimalen ASCII-Zeitsteuerungsberichten im Speicher, Durchlaufen des gegebenen Berichts Zeile für Zeile, und Auslesen bestimmter Zeitsteuerungspunkte aus den Berichten zur Verwendung bei der Berechnung der X-Y-Koordinaten.
  5. Das Verfahren gemäß Patentanspruch 4, wobei das Auslesen ein Auslesen von Startpunkt, Endpunkt und Taktgebernamen beinhaltet.
  6. Das Verfahren gemäß Patentanspruch 4, wobei das Auslesen ein Auslesen von Taktgeberauslöseflanken und Taktgeberabtastflanken beinhaltet.
  7. Das Verfahren gemäß Patentanspruch 4, wobei das Auslesen ein Auslesen von Verzögerungsparametern inklusive Auslösetaktgeberverzögerung, Aufnahmetaktgeberverzögerung und externer Verzögerung beinhaltet.
  8. Das Verfahren gemäß Patentanspruch 4, wobei das Auslesen ein Auslesen Jitter-bezogener Daten inklusive Taktgeberungenauigkeit, Taktgeberlatenz und Taktgeberrekonvergenz-Pessimismus-Entfernung beinhaltet.
  9. Das Verfahren gemäß Patentanspruch 4, worin das Auslesen ein Auslesen von Datenankunftszeit, Datenerforderlichzeit und Gesamtzeitsteuerungsleerlauf beinhaltet.
  10. Das Verfahren gemäß Patentanspruch 1 ferner umfassend: Ermitteln eines minimalen Multizyklenpfads (MCP)-Werts aus der kombinierten Wellenform indikativ für Mehrfach-Taktgeberzyklusverhalten in dem ASIC.
  11. Das Verfahren gemäß Patentanspruch 10, wobei der ermittelte minimale MCP-Wert als richtig verifiziert wird basierend auf Berechnung des Anpassungsfaktors, Berechnung von korrektem Überlappen von maximalen und minimalen idealen Auslösetaktgeberflanken, Berechnung von Taktgeberperiodenintervallen zwischen Auslösetaktgeberperiode und Aufnahmetaktgeberperiode, und visuellem Überprüfen korrekten Überlappens von maximalen und minimalen idealen Auslösetaktgeberflanken in der kombinierten Wellenform, wobei der minimale MCP korrigiert wird, falls verletzend.
  12. Das Verfahren gemäß Patentanspruch 1, ferner umfassend: Bestimmen eines maximalen Multizyklen-Pfad (MCP)-Werts aus der kombinierten Wellenform indikativ für MehrfachtaktgeberzyklusVerhalten indem ASIC.
  13. System zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus einem maximalen ASCII Zeitsteuerungsbericht und einem minimalen ASCII Zeitsteuerungsbericht für einen applikationsspezifischen integrierten Schaltkreis (ASIC), wobei jeder Zeitsteuerungspfad in einem ASIC durch maximale und minimale Zeitsteuerung definiert ist, das System umfassend: Ein Speicher zum Speichern der maximalen und minimalen ASCII Zeitsteuerungsberichte, einen Prozessor zum Berechnen von x-y-Koordinaten für eine Zeitsteuerungswellenform basierend auf in dem maximalen ASCII Zeitsteuerungsbericht enthaltenen Daten, welche der Prozessor aus dem Speicher ausliest, wobei der Prozessor x-y-Koordinaten für eine zweite Zeitsteuerungswellenform basierend auf in dem minimalen ASCII Zeitsteuerungs-bericht enthaltenen Daten, welche der Prozessor aus dem Speicher ausliest, berechnet, wobei der Prozessor die berechneten x-y-Koordinaten der zweiten Zeitsteuerungswellenform um einen Anpassungsfaktor verschiebt, weiter umfassend den Prozessor, iterierend einen Algorithmus, welcher eine Taktgeberflankendifferenz zwischen einer maximalen Aufnahmetaktgeberflanke und einer minimalen Aufnahmetaktgeberflanke ermittelt, wobei die Taktgeberflankendifferenz den Anpassungsfaktor darstellt, um welchen die X-Y-Koordinaten der zweiten Wellenform verschoben werden, um mit den X-Y-Koordinaten der ersten Wellenform ausgerichtet zu sein und eine Anzeige, welche eine kombinierte Zeitsteuerungswellenform erzeugt unter Steuerung eines Prozessors mit den berechneten x-y-Koordinaten der ersten Zeitsteuerungswellenform und den verschobenen x-y-Koordinaten der zweiten Zeitsteuerungswellenform, wobei die kombinierte Zeitsteuerungswellenform das Verhalten eines elektrischen Signals in dem ASIC widerspiegelt.
  14. Ein Verfahren zur Berechnung von Multizyklenpfad (MCP)-Werten für einen gegebenen Zeitsteuerungspfad in einem applikationsspezifischen integrierten Schaltkreis (ASIC) oder field programmable gate array (FPGA), wobei jeder Zeitsteuerungspfad in dem ASIC/FPGA durch maximales und minimales Zeitsteuern beschrieben wird, wobei die MCP Werte indikativ für Multitaktgeberzyklusverhalten in dem ASIC/FPGA sind, wobei das Verfahren in einem Computer ausgeführt wird, wobei das Verfahren umfasst: Berechnen von x-y-Koordinaten für eine erste Zeitsteuerungswellenform basierend auf ausgewählten Datenpunkten, welche aus einem maximalen ASCII Zeitsteuerungsbericht ausgelesen wurden, Berechnen von x-y-Koordinaten für eine zweite Zeitsteuerungswellenform basierend auf ausgewählten Datenpunkten, welche aus minimalen ASCII Zeitsteuerungsbericht ausgelesen wurden, Verschieben der berechneten x-y-Koordinaten der zweiten Zeitsteuerungswellenform um einen Anpassungsfaktor, weiter umfassend das Iterieren eines Algorithmus, welcher eine Taktgeberflankendifferenz zwischen einer maximalen Aufnahmetaktgeberflanke und einer minimalen Aufnahmetaktgeberflanke ermittelt, wobei die Taktgeberflankendifferenz den Anpassungsfaktor darstellt, um welchen die X-Y-Koordinaten der zweiten Wellenform verschoben werden, um mit den X-Y-Koordinaten der ersten Wellenform ausgerichtet zu sein, Erzeugen einer kombinierten Zeitsteuerungswellen mit den berechneten x-y-Koordinaten der ersten Zeitsteuerungswellenform und den verschobenen x-y-Koordinaten der zweiten Zeitsteuerungswellenform, Ermitteln eines minimalen Multizyklenpfad (MCP)-Werts aus der kombinierten Zeitsteuerungswellenform, und Ermitteln eines maximalen Multizykluspfad (MCP)-Werts aus der kombinierten Zeitsteuerungswellenform.
  15. Das Verfahren gemäß Patentanspruch 14, wobei der ermittelte minimale MCP Wert als richtig verifiziert wird basierend auf der Berechnung von x-y-Koordinaten von Auslöse max und min Taktgebern, Überprüfen von korrektem Überlappen von Auslöse max und min Ideal (ohne reale Verzögerungen)-Taktgeberflanken der kombinierten Zeitsteuerungswellenform, Berechnen von Taktgeberperiodenverhältnis zwischen Auslösertaktgeberperiode und Aufnahmetaktgeberperiode, und eine visuelle Sichtung der kombinierten Zeitsteuerungswellenform und korrigiert, falls verletzend.
  16. Ein Verfahren zum Erzeugen einer kombinierten Zeitsteuerungswellenform aus maximalen und minimalen Zeitsteuerungsdaten für eine gegebene externe Schnittstelle oder internen Pin eines ASIC, wobei die maximalen und minimalen Zeitsteuerungsdaten in einer Datenbank eines STA Tools gespeichert werden, wobei das Verfahren in einem Computer ausgeführt wird, wobei das Verfahren umfasst: Auslesen ausgewählter Zeitsteuerungsdaten im Zusammenhang mit einem minimalen Pfad der Schnittstelle oder Pin aus der Datenbank des STA Tools, Umwandeln der ausgelesenen Daten in x-y-Koordinaten für eine minimale Zeitsteuerungswellenform, Auslesen ausgewählter Zeitsteuerungsdaten im Zusammenhang mit einem maximalen Pfad der Schnittstelle oder Pin aus der Datenbank des STA Tools, Umwandeln der ausgelesenen Daten in x-y-Koordinaten für eine maximale Zeitsteuerungswellenform, Verschieben der x-y-Koordinaten der minimalen Zeitsteuerungswellenform um einen Anpassungsfaktor, weiter umfassend das Iterieren eines Algorithmus, welcher eine Taktgeberflankendifferenz zwischen einer maximalen Aufnahmetaktgeberflanke und einer minimalen Aufnahmetaktgeberflanke ermittelt, wobei die Taktgeberflankendifferenz den Anpassungsfaktor darstellt, um welchen die X-Y-Koordinaten der zweiten Wellenform verschoben werden, um mit den X-Y-Koordinaten der ersten Wellenform ausgerichtet zu sein, Erzeugen einer kombinierten Zeitsteuerungswellenform mit den x-y-Koordinaten der maximalen Zeitsteuerungswellenform und der x-y-Koordinaten der minimalen Zeitsteuerungswellenform, und Anzeigen der kombinierten Zeitsteuerungswellenform zur Durchsicht durch einen Entwickler, um auszuwerten, ob die gegebene externe Schnittstelle oder interne Pin des ASIC angefordete Zeitspezifikationen erfüllt.
  17. Das Verfahren gemäß Patentanspruch 16, ferner umfassend: Ermitteln einer minimalen Multizyklenpfad (MCP)-Definition und einer maximalen MCP-Definition aus der kombinierten Zeitsteuerungswellenform, sollte ein Multizykluszeitsteuerungspfad in der gegebenen externen Schnittstelle oder internen Pin des ASIC existieren.
  18. Das Verfahren gemäß Patentanspruch 17, wobei die angezeigte kombinierte Zeitsteuerungswellenform dem Entwickler Informationen über die Richtigkeit der minimalen MCP-Definition liefert.
DE112011102691.9T 2010-08-09 2011-08-09 Verfahren und System zur Umwandlung von Zeitsteuerungsberichten in Zeitsteuerungswellenformen Expired - Fee Related DE112011102691B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37178010P 2010-08-09 2010-08-09
US61/371,780 2010-08-09
PCT/US2011/047082 WO2012039847A2 (en) 2010-08-09 2011-08-09 Method and system of converting timing reports into timing waveforms

Publications (2)

Publication Number Publication Date
DE112011102691T5 DE112011102691T5 (de) 2013-08-29
DE112011102691B4 true DE112011102691B4 (de) 2019-05-09

Family

ID=45556887

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011102691.9T Expired - Fee Related DE112011102691B4 (de) 2010-08-09 2011-08-09 Verfahren und System zur Umwandlung von Zeitsteuerungsberichten in Zeitsteuerungswellenformen

Country Status (3)

Country Link
US (1) US8793639B2 (de)
DE (1) DE112011102691B4 (de)
WO (1) WO2012039847A2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615727B2 (en) * 2010-12-16 2013-12-24 Synopsys, Inc. Simultaneous multi-corner static timing analysis using samples-based static timing infrastructure
US8775855B2 (en) * 2011-04-27 2014-07-08 Synopsys, Inc. Reducing memory used to store totals in static timing analysis
US8930175B1 (en) * 2012-02-08 2015-01-06 Altera Corporation Method and apparatus for performing timing analysis that accounts for rise/fall skew
US9223916B2 (en) * 2014-05-30 2015-12-29 International Business Machines Corporation Timing analysis of asynchronous clock domain crossings
US10204187B1 (en) * 2015-12-28 2019-02-12 Cadence Design Systems, Inc. Method and system for implementing data reduction for waveform data
US10114916B1 (en) 2016-06-30 2018-10-30 Cadence Design Systems, Inc. Method and system to accelerate visualization of waveform data
WO2021044475A1 (ja) * 2019-09-02 2021-03-11 アイマトリックスホールディングス株式会社 文章解析システムおよびこれを用いたメッセージ交換における特徴評価システム
US11892506B2 (en) 2020-11-30 2024-02-06 Mediatek Singapore Pte. Ltd. Method and circuit for at-speed testing of multicycle path circuits

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137090B1 (en) 2003-08-08 2006-11-14 Xilinx, Inc. Path slack phase adjustment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272807B2 (en) * 2005-03-02 2007-09-18 Synopsys, Inc. Determining equivalent waveforms for distorted waveforms
US7523426B2 (en) 2005-03-29 2009-04-21 Lsi Corporation Intelligent timing analysis and constraint generation GUI
US20070089076A1 (en) * 2005-10-14 2007-04-19 Sun Microsystems, Inc. Application of consistent cycle context for related setup and hold tests for static timing analysis
JP4696988B2 (ja) * 2006-03-20 2011-06-08 日本電気株式会社 レイアウト設計装置、方法、及び、プログラム
US7490307B2 (en) 2006-06-29 2009-02-10 Lsi Corporation Automatic generating of timing constraints for the validation/signoff of test structures
US7454731B2 (en) 2006-09-22 2008-11-18 Synopsys, Inc. Generation of engineering change order (ECO) constraints for use in selecting ECO repair techniques
EP2006784A1 (de) * 2007-06-22 2008-12-24 Interuniversitair Microelektronica Centrum vzw Verfahren zur Charakterisierung elektronischer Schaltungen unter Prozessvariabilitätseffekten
US8204730B2 (en) 2008-06-06 2012-06-19 Synopsys, Inc. Generating variation-aware library data with efficient device mismatch characterization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137090B1 (en) 2003-08-08 2006-11-14 Xilinx, Inc. Path slack phase adjustment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WEINER, Nicholas; SANGIOVANNI-VINCENTELLI, Albert. Timing analysis in a logic synthesis environment. In: Design Automation, 1989. 26th Conference on. IEEE, 1989. S. 655 - 661
WEINER, Nicholas; SANGIOVANNI-VINCENTELLI, Albert. Timing analysis in a logic synthesis environment. In: Design Automation, 1989. 26th Conference on. IEEE, 1989. S. 655 - 661. *

Also Published As

Publication number Publication date
WO2012039847A3 (en) 2012-05-10
US8793639B2 (en) 2014-07-29
WO2012039847A2 (en) 2012-03-29
DE112011102691T5 (de) 2013-08-29
US20120036171A1 (en) 2012-02-09

Similar Documents

Publication Publication Date Title
DE112011102691B4 (de) Verfahren und System zur Umwandlung von Zeitsteuerungsberichten in Zeitsteuerungswellenformen
US9934354B1 (en) Methods, systems, and computer program product for implementing a layout-driven, multi-fabric schematic design
CN111290956B (zh) 基于脑图的测试方法、装置、电子设备及存储介质
WO2011107321A1 (de) Verbesserungen der rückwärts-analyse zur bestimmung von fehlermaskierungsfaktoren
DE102015108244A1 (de) Verfahren und system zum generieren eines schaltungsentwurfs, verfahren zum kalibrieren einer inspektionsvorrichtung, und verfahren zur prozesssteuerung und zum ertragsmanagement
US20100250187A1 (en) Method and system for analyzing performance metrics of array type circuits under process variability
US20140059507A1 (en) Defect Injection For Transistor-Level Fault Simulation
US8522182B2 (en) Generation of an end point report for a timing simulation of an integrated circuit
US20130047133A1 (en) Validation of circuit definitions
US9620244B1 (en) Determining categories for memory fail conditions
DE102014118932A1 (de) Charakterisierung einer Zelle unter Verwendung einer Eingangswellenerzeugung unter Berücksichtigung verschiedener Schaltungstopologien
EP3232327B1 (de) Verfahren zum testen eines steuerprogramms eines steuergeräts in einer simulationsumgebung auf einem rechner
DE112013005833T5 (de) Analyse zeitlicher Leitungsengpässe zur Steuerung einer Optimierung mit nützlichem Versatz
DE102012105159A1 (de) Fehlertolerante Speicher
Ourghanlian Evaluation of static analysis tools used to assess software important to nuclear power plant safety
Fiorucci et al. Automated dysfunctional model extraction for model based safety assessment of digital systems
DE10213009A1 (de) Verfahren zum elektronischen Testen von Speichermodulen
DE112013005831T5 (de) Netzlistenabstraktion
DE60026178T2 (de) Modellierung und prüfung einer integrierten schaltung
CN116681030B (zh) 一种签核检查方法、装置、设备及存储介质
DE102005016574B4 (de) Rechnergestütztes Verfahren zur Vorbereitung der messtechnischen Schnittstellen-Charakterisierung eines Halbleiter-Chips
DE102018127910A1 (de) Verfahren und Vorrichtungen zur Schaltungsverifikation
CN114021514B (zh) 一种spice电压或温度扫描仿真筛选瓶颈单元的方法
DE10160513B4 (de) Verfahren zur Verarbeitung von Daten, die Parameter bezüglich einer Anzahl Bauelemente einer elektrischen Schaltung darstellen
CN112699632A (zh) 一种获取电路设计中电路总功耗的方法以及装置

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0001040000

Ipc: G06F0017500000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000

R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee