DE102004020869A1 - System und Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene in einem hierarchischen VLSI-Entwurf - Google Patents

System und Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene in einem hierarchischen VLSI-Entwurf Download PDF

Info

Publication number
DE102004020869A1
DE102004020869A1 DE102004020869A DE102004020869A DE102004020869A1 DE 102004020869 A1 DE102004020869 A1 DE 102004020869A1 DE 102004020869 A DE102004020869 A DE 102004020869A DE 102004020869 A DE102004020869 A DE 102004020869A DE 102004020869 A1 DE102004020869 A1 DE 102004020869A1
Authority
DE
Germany
Prior art keywords
instance
network
current
determining
current network
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.)
Withdrawn
Application number
DE102004020869A
Other languages
English (en)
Inventor
S. Brandon Evans Keller
Gregory Dennis Fort Collins Rogers
George Harold Fort Collins Robbert
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE102004020869A1 publication Critical patent/DE102004020869A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Systeme, Verfahren und Softwareprodukte bestimmen einen Signalnamen höchster Ebene in einem hierarchischen Schaltungsentwurf. Ein Signalweg wird in einer hierarchisch niedrigeren Ebene des Schaltungsentwurfs verfolgt, von einem vorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmten Anschlußinstanz, während Indizes hinzugefügt werden, zu einer Instanzhistorienliste, von jeder nachfolgenden Instanz, die angetroffen wird. Eine Torinstanz wird bei der Anschlußinstanz bestimmt, die einem ausgewählten Netz zugeordnet ist, für das der Signalname höchster Ebene bestimmt werden soll. Das ausgewählte Netz wird als das aktuelle Netz bezeichnet. Für alle gespeicherten Hinweise in der Instanzhistorienliste wird das Netz, das mit dem aktuellen Netz in einem hierarchischen Elternteil der Instanz verbunden ist, identifiziert durch die Hinweise, bestimmt, um ein nächstes aktuelles Netz einzurichten. Wenn eine Bedingung existiert, bei der keine Verbindung von dem aktuellen Netz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, dann wird das aktuelle Netz als der Signalname höchster Ebene für das ausgewählte Netz eingerichtet.

Description

  • Das vorliegende Dokument enthält Material, das sich auf das Material der mitanhängigen, gemeinsam eingereichten U.S.-Patentanmeldungen Anwaltsaktenzeichen 100111221-1 mit dem Titel System And Method For Determining Wire Capacitance For A VLSI Circuit; Anwaltsaktenzeichen 100111227-1 mit dem Titel System And Method For Determining Applicable Configuration Information For Use In Analysis Of A Computer Aided Design; Anwaltsaktenzeichen 10011228-1 mit dem Titel Systems and Methods Utilizing Fast Analysis Information During Detailed Analysis Of A Circuit Design; Anwaltsaktenzeichen 100111230-1 mit dem Titel Systems And Methods For Determining Activity Factors Of A Circuit Design; Anwaltsaktenzeichen 100111233-1 mit dem Titel System And Method For Determining Connectivity Of Nets In A Hierarchical Circuit Design; Anwaltsaktenzeichen 100111234-1 mit dem Titel System And Method Analyzing Design Elements In Computer Aided Design Tools; Anwaltsaktenzeichen 100111235-1 mit dem Titel System And Method For Determining Unmatched Design Elements In A Computer-Automated Design; Anwaltsaktenzeichen 100111236-1 mit dem Titel Computer Aided Design Systems And Methods With Reduced Memory Utilization; Anwaltsaktenzeichen 100111238-1 mit dem Titel System And Method For Iteratively Traversing A Hierarchical Circuit Design; Anwaltsaktenzeichen 100111257-1 mit dem Titel Systems And Methods For Establishing Data Model Consistency Of Computer Aided Design Tools; Anwaltsaktenzeichen 100111259-1 mit dem Titel Systems And Methods For Identifying Data Sources Associated With A Circuit Design; und Anwaltsaktenzeichen 100111260-1 mit dem Titel Systems And Methods For Performing Circuit Analysis On A Circuit Design bezieht, wobei die Offenbarungen derselben hierdurch durch Bezugnahme aufgenommen sind.
  • Ein elektronisches Tool für einen computergestützten Entwurf („E-CAD"; E-CAD = electronic computer-aided design) wird verwendet, um einen Schaltungsentwurf zu erzeugen, der einen VLSI-Schaltungsentwurf umfaßt (VLSI = Very Large Scale Integration = Höchstintegration). Der Schaltungsentwurf umfaßt eine Netzliste, die eine Sammlung von Netzen definiert, die für den Schaltungsentwurf spezifisch sind. Jedes „Netz" ist ein einzelner elektrischer Weg in einer Schaltung, die an allen ihren Punkten dieselben elektrischen Charakteristika aufweist. Zum Beispiel ist eine Sammlung von Drähten, die dasselbe Signal zwischen Komponenten trägt, ein Netz. Wenn die Komponenten ermöglichen, daß das Signal unverändert durchläuft (wie in dem Fall eines Anschlusses), dann setzt sich das Netz auf nachfolgend angeschlossenen Drähten fort. Wenn die Komponente das Signal jedoch modifiziert (wie in dem Fall eines Transistors oder eines Logikgatters), dann endet das Netz bei dieser Komponente und ein neues Netz beginnt auf der anderen Seite. Ein „Netzname" identifiziert ein bestimmtes Netz innerhalb der Netzliste. Komponenten werden innerhalb des Schaltungsentwurfs als „Entwurfselemente" identifiziert.
  • Eine wesentliche Charakteristik einer VLSI und anderer Schaltungsentwurfstypen ist das Vertrauen auf die hierarchische Beschreibung. Ein primärer Grund für das Verwenden einer hierarchischen Beschreibung ist das Verdecken des großen Detailbetrags bei einem Entwurf. Durch Reduzieren der ablenkenden Details auf ein einzelnes Objekt, das niedriger in der Hierarchie ist, können viele E-CAD-Operationen bedeutend vereinfacht werden. Zum Beispiel können Simulation, Verifizierung, Entwurfsregelprüfung und Layouteinschränkungen alle von der hierarchischen Darstellung profitieren, die sie rechentechnisch besser bearbeitbar macht. Da viele Schaltungsentwürfe zu kompliziert sind, um einfach in ihrer Gesamtheit betrachtet zu werden, wird ein vollständiger Entwurf häufig als eine Sammlung von Entwurfselementaggregaten betrachtet, die weiter auf rekursive und hierarchische Weise in Teilaggregate unterteilt werden. Bei VLSI-Schaltungsentwürfen werden diese Aggregate häufig als Entwurfs-Blöcke (oder -Zellen) bezeichnet. Die Verwendung eines Entwurfsblocks auf einer gegebenen Ebene der Hierarchie wird eine „Instanz" genannt. Jeder Entwurfsblock weist eines oder mehrere „Tore" auf, wobei jedes derselben einen Verbindungspunkt zwischen einem Netz innerhalb des Entwurfsblocks und einem Netz außerhalb des Entwurfsblocks liefert. Ein Netz, das mit einem Tor in einem Entwurfsblock verbunden ist, wird als ein „mit einem Tor versehenes" Netz bezeichnet.
  • Ein Signalname höchster Ebene („HLSN"; HLSN = Highest Level Signal Name) ist der eindeutige Signalname, der eine Sammlung von verbundenen Netzen oder „hierarchischen Netzstücken" identifiziert. Zum Beispiel ist ein hierarchisches Netzstück ein mit einem Tor versehenes Netz in einem Entwurfsblock; das mit einem Tor versehene Netz wird mit einem mit einem Tor versehenen Netz eines anderen Entwurfsblocks verbunden, um den HLSN zu bilden. Der HLSN leitet seine Identität aus dem Namen des hierarchischen Netzstücks auf der höchsten hierarchischen Ebene in dem Schaltungsentwurf her.
  • Üblicherweise bestimmt während einer Analyse eines Schaltungsentwurfs ein E-CAD-Analyse-Tool bzw. -Werkzeug (z. B. ein Analyse-Tool, das einen Schaltungsentwurf analysiert, um Feldeffekttransistor-Leckströme („FET"-Leckströme) zu schätzen) einen HLSN für ein bestimmtes Netz in dem Schaltungsentwurf. Konfigurationsbefehle und andere Parameter des Schaltungsentwurfs werden häufig unter Verwendung eines HLSN eines Netzes als Referenz spezifiziert. Es ist daher wichtig, den HLSN für ein gegebenes Netz zu identifizieren, um zu bestimmen, ob ein bestimmter Konfigurationsbefehl auf das Netz anwendbar ist. Bei einem Beispiel erreicht das E-CAD-Analyse-Tool während einer Analyse des Schaltungsentwurfs einen Transistoranschluß (oder einen anderen Vorrich tungsanschluß) auf einer hierarchischen Ebene des Schaltungsentwurfs. Der HLSN von einem oder mehreren Netzen, die mit anderen Anschlüssen des Transistors verbunden sind, wird benötigt, um entsprechende Konfigurationsbefehle anzuwenden. Ferner, bei der Fertigstellung der Analyse, werden die Analyseergebnisse häufig relativ zu jedem HLSN in dem Schaltungsentwurf berichtet, da solche Informationen häufig nützlicher für Entwurfstechniker sind als Informationen, die sich auf individuelle Netze des Schaltungsentwurfs beziehen.
  • Bekannte E-CAD-Analyse-Tools erzeugen üblicherweise eine „Abbildung", die jedes Netz (durch den identifizierenden Netznamen) mit seinem entsprechenden HLSN in Verbindung bringt. Wenn der Schaltungsentwurf Milliarden von Komponenten aufweist, verbraucht dieser Abbildungsprozeß einen beträchtlichen Zeitbetrag und verbraucht einen beträchtlichen Speicherbetrag. Somit wird der Entwurfsprozeß verzögert und Computerressourcen werden an die Abbildung übertragen, wodurch die Ressourcenverfügbarkeit für andere Tools bzw. Werkzeuge und Programme reduziert wird.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene in einem hierarchischen Schaltungsentwurf und ein System und ein Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene für ein ausgewähltes Netz in einem hierarchischen Schaltungsentwurf und ein Softwareprodukt mit Anweisungen mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein Verfahren gemäß Anspruch 3 und 8, ein System gemäß Anspruch 10 und 12 und ein Softwareprodukt gemäß Anspruch 14 gelöst.
  • Bei einem Ausführungsbeispiel bestimmt ein Verfahren einen Signalnamen höchster Ebene in einem hierarchischen Schaltungsentwurf. Ein Signalweg wird in eine hierarchisch niedrigere Ebene des Schaltungsentwurfs von einem vorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmten Anschlußinstanz verfolgt, während Hinweise hinzugefügt werden, zu einer Instanzhistorienliste, von jeder angetroffenen nachfolgenden Instanz. Eine Torinstanz wird an der Anschlußinstanz bestimmt, die einem ausgewählten Netz zugeordnet ist, für das der Signalname höchster Ebene bestimmt werden soll. Das ausgewählte Netz wird als das aktuelle Netz bezeichnet. Für alle gespeicherten Hinweise in der Instanzhistorienliste wird das Netz, das mit dem aktuellen Netz in einem hierarchischen Elternteil der Instanz verbunden ist, identifiziert durch die Hinweise, bestimmt, um ein nächstes aktuelles Netz einzurichten. Wenn eine Bedingung existiert, bei der keine Verbindung von dem aktuellen Netz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, wird das aktuelle Netz als der Signalname höchster Ebene für das ausgewählte Netz eingerichtet.
  • Bei einem anderen Ausführungsbeispiel bestimmt ein Verfahren einen Signalnamen höchster Ebene (HLSN) für ein ausgewähltes Netz bei einem hierarchischen Schaltungsentwurf. Ein Signalweg wird von einem Netz in einer Instanz bei dem Entwurf zu einer Anschlußinstanz auf einer hierarchisch niedrigen Ebene des Entwurfs verfolgt. Hinweise jeder Instanz, die angetroffen werden, werden in einer Instanzhistorienliste gespeichert. Die Schritte des Verfolgens und Speicherns werden wiederholt, bis ein vorbestimmter Spur-Endpunkt angetroffen wird. Eine ausgewählte Torinstanz, für die der HLSN bestimmt werden soll, wird für die ausgewählte Anschlußinstanz bestimmt. Ein aktuelles Netz wird an der ausgewählten Torinstanz bestimmt. Das Tor, das mit dem aktuellen Netz verbunden ist, wird bestimmt. Die zuletzt gespeicherten Indizes werden aus der Instanzhistorienliste entfernt. Die Torinstanz an der Instanz, die durch die zuletzt gespeicherten Indizes identifiziert ist, was eine Instanzierung des Tors ist, das mit dem aktuellen Netz verbunden ist, wird als eine nächste Torinstanz bestimmt. Das Netz, das mit der nächsten Torinstanz verbunden ist, wird als das aktuelle Netz bestimmt. Die vorangehenden vier Schritte werden wiederholt, bis ein Rückverfolgungs-Endpunkt (retrace endpoint) angetroffen wird, um das aktuelle Netz als den HLSN für die ausgewählte Torinstanz einzurichten.
  • Bei einem anderen Ausführungsbeispiel bestimmt ein Verfahren einen Signalnamen höchster Ebene (HLSN) für ein ausgewähltes Netz in einem hierarchischen Schaltungsentwurf. Eine erste Torinstanz an einem ersten Netz wird ausgewählt. Eine Verfolgungs-Operation bestimmt die Eigeninstanz für die erste Torinstanz; speichert Hinweise der Eigeninstanz als eine gespeicherte Instanz in einer Instanzhistorienliste; bestimmt das nächste Netz, das mit dem Tor an dem Beschreibungsblock der Eigeninstanz verbunden ist; verwendet das nächste Netz als das anfängliche Netz für eine nächste Iteration der Verfolgungsoperation; und wählt eine neue erste Torinstanz an dem anfänglichen Netz aus. Die Verfolgungsoperation wird wiederholt, wenn die Eigeninstanz kein vorbestimmter Verfolgungs-Endpunkt ist. Eine ausgewählte Torinstanz wird bestimmt, für die der HLSN bestimmt werden soll. Ein aktuelles Netz wird an der ausgewählten Torinstanz bestimmt. Eine Rückverfolgungsoperation bestimmt dann das Tor, das mit dem aktuellen Netz verbunden ist; entfernt aus der Instanzhistorienliste die zuletzt gespeicherten Hinweise; bestimmt als eine nächste Torinstanz die Torinstanz an der Instanz, die durch den zuletzt gespeicherten Hinweis identifiziert wird, der eine Instanzierung des Tors ist, das mit dem aktuellen Netz verbunden ist; und bestimmt das Netz als das aktuelle Netz, das mit der nächsten Torinstanz verbunden ist. Die Rückverfolgungsoperation wird wiederholt, bis ein Rückverfolgungs-Endpunkt angetroffen wird.
  • Bei einem anderen Ausführungsbeispiel bestimmt das System einen Signalnamen höchster Ebene (HLSN) für ein ausgewähltes Netz in einem hierarchischen Schaltungsentwurf. Ein Prozessor ist mit einer Speicherungseinheit gekoppelt, die den hierarchischen Schaltungsentwurf enthält, und mit einem Computerspeicher. Eine Instanzhistorienliste ist in dem Computerspeicher gespeichert. Ein Weg-Verfolgungs-Modul, das in dem Computerspeicher gespeichert ist, wird durch den Prozessor ausgeführt, um den hierarchischen Schaltungsentwurf zu analysieren, um den HLSN für das ausgewählte Netz zu bestimmen. Durch das Weg-Verfolgungs-Modul wird ein Signalweg in eine hierarchisch niedrigere Ebene des Schaltungsentwurfs verfolgt, von einem vorbestimmten Netz in dem Entwurf zu einer vorbestimmten Anschlußinstanz, während Hinweise zu der Instanzhistorienliste von jeder nachfolgenden Instanz hinzugefügt werden, die während des Verfolgens angetroffen wird; eine Torinstanz, die dem ausgewählten Netz zugeordnet ist, für das der HLSN bestimmt werden soll, wird bestimmt; das ausgewählte Netz wird als das aktuelle Netz bezeichnet; für alle gespeicherten Hinweise in der Instanzhistorienliste wird das Netz bestimmt, das mit dem aktuellen Netz in einem hierarchischen Elternteil der Instanz verbunden ist, identifiziert durch den Hinweis, um ein nächstes aktuelles Netz einzurichten; wenn eine Bedingung besteht, bei der keine Verbindung von dem aktuellen Netz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, wird das aktuelle Netz als der Signalname höchster Ebene für das ausgewählte Netz eingerichtet.
  • Bei einem anderen Ausführungsbeispiel bestimmt ein System einen Signalnamen höchster Ebene in einem hierarchischen Schaltungsentwurf, der folgende Merkmale aufweist: Eine Einrichtung zum Verfolgen eines Signalwegs von einem Netz in einer Instanz in dem Schaltungsentwurf zu einer Anschlußinstanz auf einer hierarchisch niedrigeren Ebene des Entwurfs; eine Einrichtung zum Speichern, in einer Instanzhistorienliste, von Hinweisen jeder Instanz, die durch die Einrichtung zum Verfolgen angetroffen wird, wobei Operationen des Verfolgens und Speicherns wiederholt werden, bis ein vorbestimmter Verfolgungsendpunkt angetroffen wird; eine Einrichtung zum Einrichten einer aktuellen Torinstanz, innerhalb der Anschlußinstanz, für die der HLSN bestimmt werden soll, und zum Bezeichnen des ausgewählten Netzes als das aktuelle Netz; und eine Einrichtung zum Durchführen einer Rückverfolgungsoperation, die folgende Merkmale aufweist: Eine Einrichtung zum Bestimmen des Netzes, das mit dem aktuellen Netz in einem hierarchischen Elternteil der Instanz verbunden ist, die durch den Hinweis identifiziert wird, um ein nächstes aktuelles Netz einzurichten; und eine Einrichtung zum Einrichten des aktuellen Netzes als den Signalnamen höchster Ebene für das ausgewählte Netz. Die Einrichtung zum Durchführen einer Rückverfolgungsoperation wird für alle gespeicherten Hinweise in der Instanzhistorienliste ausgeführt, bis ein Rückverfolgungsendpunkt angetroffen wird.
  • Bei einem anderen Ausführungsbeispiel umfaßt ein Softwareprodukt Anweisungen, die auf einem computerlesbaren Medium gespeichert sind, wobei die Anweisungen, wenn sie durch einen Computer ausgeführt werden, die Schritte zum Bestimmen eines Signalnamens höchster Ebene in einem hierarchischen Schaltungsentwurf durchführen, die folgende umfassen: Anweisungen zum Verfolgen eines Signalwegs in eine hierarchisch niedrigere Ebene des Schaltungsentwurfs von einem vorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmten Anschlußinstanz, während Hinweise zu einer Instanzhistorienliste hinzugefügt werden, von jeder nachfolgenden Instanz, die während des Verfolgens angetroffen wird; Anweisungen zum Bestimmen einer Torinstanz, die einem ausgewählten Netz zugeordnet ist, für das der Signalname höchster Ebene bestimmt werden soll; Anweisungen zum Bestimmen einer Torinstanz, die dem ausgewählten Netz zugeordnet ist, für das der Signalname höchster Ebene bestimmt werden soll; Anweisungen zum Bezeichnen des ausgewählten Netzes als das aktuelle Netz; und für alle gespeicherten Hinweise in der Instanzhistorienliste: Anweisungen zum Bestimmen eines aktuellen Netzes bei der aktuellen Torinstanz; und Anweisungen zum Bestimmen einer nächsten aktuellen Torinstanz bei der letzten Instanz, die eine Instanzierung des Tors ist, das mit dem aktuellen Netz verbunden ist; und wenn eine Bedingung existiert, bei der keine Verbindung von dem aktuellen Netz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, dann Anweisungen zum Einrichten des aktuellen Netzes als den Signalnamen höchster Ebene für das ausgewählte Netz.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein CAD-System zum Bestimmen eines Signalnamens höchster Ebene in einem hierarchischen VLSI-Entwurf;
  • 2 ein Flußdiagramm, das einen Satz von exemplarischen Schritten darstellt, die während einer Operation des Systems aus 1 ausgeführt werden;
  • 3 einen exemplarischen Entwurf, der durch das Verfahren analysiert werden soll, das in 2 gezeigt ist; und
  • 4 einen weiteren exemplarischen Entwurf, der durch das Verfahren analysiert werden soll, das in 2 gezeigt ist; und
  • 5 ein Flußdiagramm, das einen Prozeß zum Bestimmen eines Signalnamens höchster Ebene für ein ausgewähltes Netz in einem hierarchischen Schaltungsentwurf darstellt.
  • 1 zeigt ein exemplarisches Ausführungsbeispiel eines computergestützten Entwurfssystems („CAD"-Systems) 100, das zum Durchqueren hierarchisch verknüpfter Entwurfselemente eines Schaltungsentwurfs 109 konfiguriert ist, um einen Signalnamen höchster Ebene („HLSN" = Highest Level Signal Name) relativ zu einem bestimmten Netz in einem Schaltungsentwurf 109 zu bestimmen. Das CAD-System 100 umfaßt ein Computersystem 101 und ein CAD-Tool 107. Das CAD-Tool 107 ist z. B. ein elektronisches CAD-Tool („E-CAD"-Tool), das zum Analysieren von VLSI-Schaltungsentwürfen geeignet ist. Wie in 1 gezeigt ist, steuert das Computersystem 101 das CAD-Tool 107, um den Schaltungsentwurf 109 zu analysieren. Der Schaltungsentwurf 109 ist z. B. ein hierarchischer VLSI-Schaltungsentwurf. Das Computersystem 101 umfaßt einen Prozessor 102, einen Computerspeicher 104 und eine Speicherungseinheit 106; der Prozessor 102 ist mit dem Computerspeicher 104 und mit der Speicherungseinheit 106 gekoppelt. Bei einem Ausführungsbeispiel liegt das CAD-Tool 107 anfänglich in der Speicherungseinheit 106 als Softwareanweisungen vor. Nach der Initialisierung wird das CAD-Tool 107 in den Computerspeicher 104 geladen. Zumindest ein Teil des Entwurfs 109, der eine Netzliste 110 des Schaltungsentwurfs 109 umfaßt, kann ferner in den Computerspeicher 104 nach der Initialisierung des CAD-Tools 107 geladen werden. Der Prozessor 102 führt dann ein Signalweg-Verfolgungs-Nebentool innerhalb des CAD-Tools 107 aus, um einen oder mehrere HLSNs in einem Abschnitt des Entwurfs 109 zu bestimmen, wie nachfolgend beschrieben wird.
  • Bei einem exemplarischen Ausführungsbeispiel ist das Wegverfolgungsmodul 105 (das ein Neben-Tool des CAD-Tools 107 sein kann) konfiguriert zum Speichern von Hinweisen von Blockinstanzen in den Schaltungsentwurf 109, die angetroffen werden, wenn eine bestimmte hierarchische Verbindung zu niedrigeren Ebenen der Hierarchie verfolgt wird. Genauer gesagt, wenn ein Signal von Netz zu Netz durch zugeordnete Tore und Torinstanzen verfolgt wird (wird nachfolgend erklärt), wird ein Zeiger zu einem Objekt, das die Instanz von Interesse darstellt, zu einer Instanzhistorienliste 108 hinzugefügt. Die Instanzhistorienliste 108 arbeitet als eine Speicherungsvorrichtung (Stapel) vom Typ Last-In-First-Out (zuletzt hinein zuerst heraus) und enthält Zeiger zu Instanzen von Blöcken (hierin einfach „Instanzen"), die hinein verfolgt wurden, während sie der hierarchischen Verbindung folgen. Die Instanzhistorienliste 108 wird dann verwendet, um die hierarchische Verbindung zu höheren Ebenen der Hierarchie zurückzuverfolgen. Der HLSN eines Netzes, das während der Verfolgung erreicht wird, kann gefunden werden, durch entfernen des Zeigers der letzten Instanz aus der Instanzhistorienliste 108, Bestimmen einer zugeordneten Torinstanz und Wiederholen des Prozesses für ein Netz, das mit dieser Torinstanz verbunden ist, bis ein Endpunkt angetroffen wird.
  • 2 ist ein Flußdiagramm, das einen Satz von exemplarischen Schritten darstellt, die während der Operation des Systems 100 aus 1 durchgeführt werden. 3 zeigt einen exemplarischen Schaltungsentwurf 300, der durch das Verfahren analysiert werden kann, das in 2 gezeigt ist. Die Operation des Systems 100 ist am besten verständlich durch Betrachten der 2 und 3 in Verbindung miteinander.
  • Der Schaltungsentwurf 109 kann als eine Sammlung von Komponentenaggregaten betrachtet werden, die weiter in Teilaggregate auf rekursive und hierarchische Weise unterteilt sind. Bei einem VLSI-Schaltungsentwurf werden diese Aggregate üblicherweise als Blöcke oder Zellen bezeichnet. Die Verwendung eines Blockes auf einer gegebenen hierarchischen Ebene wird als „Instanz" bezeichnet. Jeder Block weist eines oder mehrere „Tore" auf, wobei jedes derselben einen Verbindungspunkt zwischen einem Netz innerhalb des Blocks und einem Netz außerhalb des Blocks liefert. Die Ausdrücke „Block", „Instanz", „Tor" und „Torinstanz" werden nachfolgend erklärt, unter Verwendung eines Schaltungsentwurfs 300 in 3 als Referenz. Wie in 3 gezeigt ist, umfaßt die Schaltung 300 Blockinstanzen i0, i1, i2 und i3. Die Instanzen i0 und i1 sind hierarchisch durch Netze „a" und GND (Masse) verbunden. Die Instanzen i1 und i2 sind hierarchisch durch Netze „pass", „up_vdd" und „dn_gnd" verbunden. Instanz i1, wenn sie aus der Perspektive einer oberen Ebene in der Teilhierarchie betrachtet wird, dargestellt durch test_block_i1 und test_block_i2, wird selbst als ein Block betrachtet, d. h., test block_i1, in diesem bestimmten hierarchischen Kontext. In demselben Kontext enthält der Block test_block_i1 die Instanz i2, die, wenn sie aus einer Perspektive innerhalb des „Kastens" betrachtet wird (i2/test_block_i2), der in 3 gezeigt ist, als der Block test_block_i2 bezeichnet werden würde.
  • Es ist somit ersichtlich, daß die Definitionen von „Block" und Block-„Instanz" davon abhängen, ob eine bestimmte „Box" bzw. ein „Kasten" (ein Block oder eine Instanz des Blocks) von einem internen oder externen Standpunkt betrachtet werden, d. h., die entsprechende Nomenklatur hängt von der hierarchischen Perspektive ab, aus der der „Kasten" betrachtet wird. Jeder „Kasten" (Block oder Instanz) weist eine Mehrzahl von „Toren" (ports) und entsprechenden Torinstanzen („portinsts") auf, wobei jedes Paar derselben einen Verbindungspunkt zwischen einem Netz innerhalb des Blocks und einem Netz außerhalb des Blocks liefert. Ein „port/portinst" weist somit zwei angrenzende Teile auf, einen ersten Teil, der eine „portinst" genannt wird, was eine Torinstanz ist, die außerhalb einer Kasten- (oder Instanz-) Grenze angeordnet ist; und einen zweiten Teil, genannt ein „port", das innerhalb der Kasten- (oder Block-) Grenze angeordnet ist.
  • Wie aus 3 ersichtlich ist, sind die portinsts bzw. Torinstanzen die Hälfte von „port/portinst" an der Außenseite eines „Kastens" bzw. einer „Box" (z. B. Artikel 312), und Tore sind die Hälfte der „port/portinst" an der Innenseite einer „Box" (z. B. Artikel 313). Ein Tor nimmt denselben Namen an wie das Netz, mit dem er verbunden ist, und Torinstanzen weisen denselben Namen auf wie ihr beschreibendes Tor (d. h., den selben Namen wie das Netz in dem beschreibenden Block). Wenn eine Netzliste untersucht wird, wie z. B. die Netzliste 110, kann portinst 312 bei dem Entwurf 300 in der Netzliste als „net pass -> port inst in" bei dem Block test_block_i1 beschrieben werden. Dieser Netzlisteneintrag zeigt an, daß das Netz „pass" mit der portinst bzw. Torinstanz „in" 312 bei Instanz „i2" verbunden ist. Das entsprechende Tor bei test_block_i2 ist Tor 313, das den Namen „in" aufweist, da es mit dem Netz „in" bei test_block_i2 verbunden ist. Bei einem exemplarischen Ausführungsbeispiel wird ein hierarchisches Modell, das als Teil des Schaltungsentwurfs 109 gespeichert ist, verwendet, um die Hierarchie des Entwurfs 300 darzustellen, und die Differenz zwischen einer portinst und einem port wird ohne weiteres durch die Verwendung von objektorientierten Techniken bestimmt, bei denen port und portinst unterschiedliche Objekte sind und unterschiedliche Typen von Objekten dieselben besitzen.
  • Wie in 2 gezeigt ist, verfolgt anfänglich bei Schritt 205 das Wegverfolgungsmodul 105 eine Verbindung (einen Signalweg) in eine hierarchisch niedrigere Ebene des Schaltungsentwurfs 109 von einem vorbestimmten Startpunkt, der ein gewünschtes Netz in dem Entwurf sein kann. Bei Schritt 210, wenn das Wegverfolgungsmodul 105 jede neue Instanz antrifft, wird ein Zeiger zu der Instanz (ein „Instanzzeiger") zu der Instanzhistorienliste 108 hinzugefügt. Genauer gesagt können die Schritt 205 und 210 wie folgt beschrieben werden. Die Verfolgung startet bei einem vorbestimmten HLSN oder einem anderen anfänglichen Netz. Die Eigeninstanz für die Torinstanz bei diesem Netz wird dann bestimmt. Wenn die Eigeninstanz kein vorbestimmter Verfolgungsendpunkt ist, wird die Eigeninstanz auf die Instanzhistorienliste 108 gedrückt. Das Netz, das mit dem Tor an dem Beschreibungsblock der Instanz verbunden ist (d. h. das Netz, das mit dem Tor innerhalb der Instanz verbunden ist), wird dann bestimmt und als das anfängliche Netz für die Netziteration des Wegverfolgungsprozesses verwendet.
  • Bei Schritt 215, wenn das Wegverfolgungsmodul 105 auf einen anfänglichen Endpunkt der Verfolgung trifft (d. h. einen vorbestimmten Endpunkt eines bestimmten Netzes), dann fährt die Verarbeitung bei Schritt 217 fort; anderweitig werden die Schritte 205 und 210 für die Netze wiederholt, die mit einer oder mehreren aufeinanderfolgenden hierarchisch niedrigeren Ebenen des Schaltungsentwurfs 109 verbunden sind, bis ein vorbestimmter Verfolgungsendpunkt erreicht wird. Der Verfolgungsendpunkt ist eine ausgewählte Abschlußinstanz oder „Anschlußinstanz", die ein Netz oder mehrere Netze verbinden kann, für die der HLSN bestimmt werden soll. Dieses Netz kann mit einem Anschluß einer Vorrichtung verbunden sein, wie z. B. eines Transistors, für den der HLSN von einem der anderen Anschlüsse dieser Vorrichtung erwünscht ist.
  • Sobald das Wegverfolgungsmodul 105 einen Signalweg zu dem ausgewählten Verfolgungsendpunkt verfolgt hat, kann der HLSN eines beliebigen Netzes innerhalb des Blocks, der analysiert wird, dann bestimmt werden, durch Durchführen des nachfolgenden Rückwärts-Verfolgungs-Verfahrens (Retrace-Verfahrens; Retrace = Reverse-Trace). Zuerst wird eine Torinstanz (einem ausgewählten Netz zugeordnet) ausgewählt, für die der HLSN bestimmt werden soll, bei Schritt 217. Als nächstes wird der Zeiger der letzten Instanz, der in der Instanzhistorienliste 108 gespeichert ist, aus der Instanzhistorienliste 108 bei Schritt 220 „entnommen" (entfernt), durch das Wegverfolgungsmodul 105, um das Netz zu bestimmen, das mit dem aktuellen Netz bei dem hierarchischen Elternteil der letzten (zuletzt) angetroffenen Instanz verbunden ist. Genauer gesagt kann Schritt 220 wie folgt beschrieben werden. Bestimme das aktuelle Netz an der ausgewählten Torinstanz. Dann Bestimmte das Tor, das mit dem aktuellen Netz verbunden ist. Als nächstes, Entnehme die letzte Instanz aus der Instanzhistorienliste 108. Als nächstes, Bestimme die zugeordnete Torinstanz bei dieser letzten Instanz, die eine Instanzierung (d. h. angrenzend an das) des Tors ist, das mit dem aktuellen Netz verbunden ist. Schließlich, Bestimme das Netz, das mit der Torinstanz verbunden ist. Der Prozeß des Bestimmens der zugeordneten Torinstanz und des Wiederholens des Prozesses für das Netz, das mit dieser Torinstanz verbunden ist, wird fortgesetzt, bis ein Rückverfolgungsendpunkt angetroffen wird, wie im Hinblick auf Schritt 225 erklärt wird.
  • Bei Schritt 225 wird eine Prüfung durchgeführt, um zu bestimmen, ob ein Rückverfolgungsendpunkt angetroffen wurde.
  • Ein Endpunkt des Rückverfolgungsprozesses wird angetroffen, wenn eine der nachfolgenden Bedingungen auftritt:
    • – die Instanzhistorienliste 108 ist leer: der obere Block in der Hierarchie wurde erreicht, so daß das aktuelle Netz der Verfolgungsendpunkt ist;
    • – das aktuelle Netz ist nicht mit einem Tor außerhalb eines Blocks versehen, d. h. es liegt kein Signalweg höher in der Hierarchie vor, so daß das aktuelle Netz der Endpunkt ist;
    • – es besteht kein Netz, das mit der Torinstanz verbunden ist, das an der Instanz angeordnet ist, in der das aktuelle Netz existiert. In dieser Situation liegt ein Konnektivitätsfehler vor. Das vorliegende System kann trotzdem das aktuelle Netz als das HLSN-Netz zurücksenden, da dies das Netz höchster Ebene ist, das in der Hierarchie bestimmt werden kann.
  • Das Wegverfolgungsmodul 105 fährt dann mit der Rückverfolgung fort, und führt die Schritte 220 und 225 aus, bis ein Rückverfolgungsendpunkt angetroffen wurde. An diesem Punkt hat die Verfolgung die Instanz in der Hierarchie erreicht, die den HLSN des Netzes enthält, ausgewählt bei Schritt 217. Der HLSN für das ausgewählte Netz (oder das Netz-„Objekt", unter Verwendung einer objektorientierten Technik) wird dann auf der Instanzhistorienliste 108 bei Schritt 230 bestimmt, durch Verkettung mit dem aktuellen Netznamen, den Namen jeder Instanz (auf die gezeigt wird) in der Instanzhistorienliste 108, um den HLSN für das ausgewählte Netz zu bestimmen.
  • Bevor ein spezifisches Beispiel präsentiert wird, das die Operation des vorliegenden Systems zeigt, wird ein exemplarischer Pseudocode nachfolgend ausgeführt, um zu zeigen, wie der Verfolgungs- und Rückverfolgungs-Prozeß codiert werden kann, um die Ausführung durch einen Prozessor zu ermöglichen, wie z. B. den Prozessor 201. Anfänglich wird eine rekursive Funktion („recurse") verwendet, um eine Instanzhistorienliste 108 für den ausgewählten HLSN zu erzeugen:
    Figure 00160001
  • Es wird darauf hingewiesen, daß der „is_primitive"-Ruf für eine Instanz entlang der Hierarchie „true" (wahr) sein kann; dieser Ruf ist eine Funktion, um zu bestimmen, wann eine Instanz, die zum Verarbeiten ausgewählt wurde, gefunden wird. Sobald eine ausgewählte Instanz lokalisiert wurde, kann eine Verarbeitungsfunktion, wie z. B. ProcessInstance(), die nachfolgend gezeigt ist, aufgerufen werden:
    Figure 00160002
    Figure 00170001
  • Um besser zu verstehen, wie die Funktion ReverseTraceHier-Net funktioniert, ist nachfolgend ein exemplarischer Pseudocode für diese Funktion umfaßt:
    Figure 00170002
    Figure 00180001
  • An diesem Punkt wurde das Tor (das "port object" (Torobjekt), unter Verwendung einer objektorientierten Technik) an dem aktuellen Netz bestimmt. Als nächstes wird das Torinstanzobjekt bei der ersten Instanz in der Instanzhistorie, die diesem Tor entspricht, bestimmt:
    Figure 00180002
  • Unter Verwendung von 2 und 3 als eine Referenz, kann eine exemplarische Signalverfolgung ausgeführt werden, beginnend bei dem HLSN "top_GND" in "top_block_1", und weiter bei dem Transistor NFET1 in Instanz i2. Bei dem vorliegenden Beispiel sei daher angenommen, daß Instanz "i2" als die Abschlußverfolgungsinstanz (der Verfolgungsendpunkt) ausgewählt ist. Daher trifft die Verfolgung das Netz "GND" bei Instanz i0, das Netz "dn_gnd" bei Instanz i1 und endet bei dem Netz "gnd" bei Instanz i2.
  • Eine exemplarische Instanzhistorienliste 108 wird erzeugt, durch das Wegverfolgungsmodul 105, für die Verfolgung beginnend bei dem HLSN top GND, auf nachfolgende Weise:
    Erste Iteration der Verfolgungsoperation:
    Für Torinstanz 319 bei Netz top GND, erhalte die Eigeninstanz für die Torinstanz (= Instanz"i0").
    Da die Instanz „i0" kein Verfolgungsendpunkt ist, drücke die Eigeninstanz auf die Instanzhistorienliste 108 (list = [i0]).
    Erhalte das Tor bei dem Beschreibungsblock (test block i0) der Instanz (tor = 318).
    Erhalte das Netz, das mit dem Tor (= GND) verbunden ist.
  • Zweite Iteration:
    Für Torinstanz 317 bei dem Netz GND, erhalte die Eigeninstanz für Torinstanz (= i1).
    Weil die Instanz „i1" kein Verfolgungsendpunkt ist, drücke die Eigeninstanz auf die Instanzhistorienliste 108 (Liste jetzt = [i0, i1]).
    Erhalte das Tor an dem Beschreibungsblock der Instanz (Tor = 316)
    Erhalte das Netz, das mit dem Tor verbunden ist (Netz = dn_gnd).
  • Dritte Iteration:
    Für die Torinstanz 315 bei Netz dn gnd, erhalte die Eigeninstanz für die Torinstanz (= i2).
  • Da die Instanz i2 ein ausgewählter Verfolgungsendpunkt ist, wird eine Rückverfolgungsfunktion („ProcessInstance(instance_list", owning_inst, portinst) bei dem vorliegenden exemplarischen Ausführungsbeispiel) aufgerufen, um die Instanzhistorienliste 108 (die momentan [i0, i1] ist) auf die richtige hierarchische Ebene „abzuwickeln".
  • Die Rückverfolgungsfunktion bestimmt den HLSN für eine ausgewählte Torinstanz oder ein ausgewähltes Netz, das einer bestimmten Torinstanz zugeordnet ist. Die Torinstanzen, die für eine Analyse bei dem vorliegenden Beispiel ausgewählt sind, sind Torinstanzen 312 und 320 (unter der Annahme, daß der Weg, der anfänglich in den aktuellen Block verfolgt wird, ignoriert wird). Der Signalweg wird „aufwärts" in der Hierarchie zurückverfolgt, wodurch er an den Endpunkten HLSNs „top_net_a" bzw. „i0/i1/up_vdd" ankommt, wie nachfolgend detailliert erklärt wird.
  • Bei dem vorliegenden Beispiel beginnt der Rückverfolgungsprozeß bei Instanz „i2", um die HLSNs zu bestimmen, die mit der ausgewählten Instanz verbunden sind. Die Instanzhistorienliste 108 soweit (unter der Annahme, daß die anfängliche Durchquerung mit einer leeren Liste bei „top GND" gestartet wird) ist [i0, i1]. Dann, beginnend bei jeder Torinstanz bei Instanz „i2" navigiert das Wegverfolgungsmodul 105 nach oben durch die Hierarchie, für jede Torinstanz, auf die folgende Weise: Wähle Torinstanz 312 aus. Als nächstes, Erhalte das aktuelle Netz bei der ausgewählten Torinstanz 312 (= Netz „pass" bei test_block_i1). Dann Erstelle eine Kopie der Instanzhistorie, da die rekursive Funktion („recurse") die Inhalte von „instance_hist" ändern wird. Copy_inst_hist = [i0, i1].
  • Erste Iteration der Rückverfolgungs-Operation:
    Erhalte das Tor, das mit dem aktuellen Netz verbunden ist (= Tor 311 bei Netz „pass").
    Entferne die letzte Instanz von dem Objekt copy_instance_hist (= Instanz „i1"; copy_instance_hist jetzt = [i0].
    Erhalte die Torinstanz bei „i1", die eine Instanzierung von Tor 311 ist (= portinst 309).
    Erhalte das Netz, das mit portinst 309 verbunden ist (= Netz „a" bei test_block_i0).
    Dieses Netz wird zu dem „aktuellen Netz" für die nächste Iteration. Recurse („a", copy_instance_hist).
  • Zweite Iteration:
    Erhalte das Tor, das mit dem aktuellen Netz verbunden ist (= Tor 308 bei Netz „a").
    Entferne die letzte Instanz von dem copy instance_– hist_object (= Instanz „i0", copy_instance_hist jetzt = []).
    Erhalte die Torinstanz bei „i0", die eine Instanzierung von Tor 308 ist (= portinst 307).
    Erhalte das Netz, das mit portinst 307 verbunden ist (= „top_net_a" bei top_block_1).
    Recurse („top_net_a", copy_instance_hist).
  • Dritte Iteration:
    Das aktuelle Netz („top_net_a") ist nicht mit einem Tor zu einer höheren hierarchischen Ebene versehen, so daß das aktuelle Netz „top_net_a" mit der leeren Liste von Instanzen in der Kopie der Instanzhistorienliste „copy_instance_hist" verkettet ist, um „top_net_a" als den HLSN des Startnetzes „i0/i1/pass" zu erzeugen.
  • Als nächstes wird der HLSN für das Netz „up_vdd" wie folgt bestimmt:
    Wähle Torinstanz 320.
    Erhalte das Netz bei Torinstanz 320 (bringt „up_vdd" zurück bei test_block_i1).
    Erstelle eine Kopie der Instanzliste, da die rekursive Funktion die Inhalte ändern wird. Copy_inst_hist = [i0, i1].
  • Erste Iteration:
    Erhalte das Tor, das mit diesem Netz verbunden ist (= 323).
    Entferne die letzte Instanz von dem Objekt copy_instance hist (bringt „i1" zurück, copy_instance hist jetzt = [i0]).
    Erhalte die Torinstanz bei „i1", die eine Instanzierung von Tor 323 ist (ein Konnektivitätsfehler wird zurückgesendet, wie angezeigt durch die Abwesenheit einer Verbindung zu Torinstanz ce2).
    Da dieses Netz nicht an dem Elternteil angeschlossen ist (aufgrund des Konnektivitätsfehlers), ist das aktuelle Netz der HLSN, da dieses Netz das Netz höchster Ebene ist, das in der Hierarchie bestimmt werden kann.
    Drücke die Instanz „i1" zurück auf das Objekt copy_instance_hist, da die Rückverfolgung nicht an dieser Instanz vorbei fortgeschritten ist. Copy_instance_hist jetzt = [i0, i1].
    Das aktuelle Netz „up_vdd" wird dann mit der Liste von Instanzen in der Kopie der Instanzhistorienliste verkettet, um „i0/i1/up vdd" als den HLSN für das Netz „up_vdd" zu erzeugen.
  • 4 zeigt einen anderen exemplarischen Entwurf, der durch das Verfahren analysiert werden soll, das in 2 gezeigt ist. Es sei angenommen, für das vorliegende Beispiel, daß die Verfolgungsoperation bei top_net_B in 4 beginnt, und daß die gewünschte Abschlußverfolgungsinstanz (der ausgewählte Verfolgungsendpunkt), die ein Netz oder ein anderes Element in einem Schaltungsentwurf sein kann, FET „F1" ist. Es wird darauf hingewiesen, daß identische Blöcke in den Instanzen i1 und i2 mit demselben Namen vorliegen, d. h. „NFET_1". Somit liegen zwei Verfolgungsendpunkte mit demselben Namen vor. Es ist daher ersichtlich, aus dem nachfolgenden Beispiel, warum die Verfolgungshistorie nützlich ist, um die Rückverfolgungsoperation auszuführen.
  • Erste Iteration der Verfolgungsoperation:
    Für Torinstanz 408 bei Netz top_net_B, erhalte die Eigeninstanz für die Torinstanz (= Instanz „i0").
    Da die Instanz „i0" kein Verfolgungsendpunkt ist, drücke die Eigeninstanz auf die Instanzhistorienliste (Liste = [i0]).
    Erhalte das Tor an dem Beschreibungsblock (Sub_block") der Instanz (Tor = 407).
    Erhalte das Netz, das mit dem Tor verbunden ist (= „out").
  • Zweite Iteration:
    Da zwei portinsts mit dem Netz „out" verbunden sind (406 und 414), muß ferner eine „sub_iteration" (Teiliteration) für die zweite portinst 414 bei dem aktuellen Netz durchgeführt werden, unter der Annahme, daß alle Verbindungen bei dem Schaltungsentwurf aus 4 verfolgt werden müssen. Aufgrund der Einfachheit jedoch stellt das vorliegende Beispiel die Verfolgung nur durch portinst 406 dar. In jedem Fall trifft die Verfolgung auf FET „F1".
    Für Torinstanz 406 bei Netz „out", erhalte die Eigeninstanz für die Torinstanz (= i1)
    Da die Instanz „i1" kein Verfolgungsendpunkt ist, drücke die Eigeninstanz auf die Instanzhistorienliste (Liste jetzt = [i0, i1])
    Erhalte das Tor an dem Beschreibungsblock der Instanz (Tor = 405)
    Erhalte das Netz, das mit dem Tor verbunden ist (Netz = „A4")
    Für Torinstanz 416 bei Netz „A4", erhalte die Eigeninstanz für die Torinstanz (= NFET_1).
    Erhalte das Tor an dem Beschreibungsblock der Instanz (Tor = 415).
    Erhalte das Netz, das mit dem Tor verbunden ist.
  • An diesem Punkt wird FET „F1" angetroffen. Da FET „F1" der ausgewählte Verfolgungsendpunkt ist, wird die Rückverfolgungsfunktion („ProcessInstance (instance_list", owning_inst, portinst) aufgerufen, um die Instanzhistorienliste 108 auf die richtige Ebene der Hierarchie „abzuwickeln", um den HLSN für das ausgewählte Netz zu bestimmen. Bei dem vorliegenden Beispiel sei angenommen, daß der Rückverfolgungsprozeß bei „i0/i1/net_A" gestartet wird, um den HLSN zu bestimmen, der mit diesem ausgewählten Netz verbunden ist. Das aktuelle Netz ist somit „i0/i1/net_A", aber es wird darauf hingewiesen, daß zwei Instanzierungen des aktuellen Blocks (NFET_1) vorliegen, daher muß zuerst die spezifische Torinstanz zur Verwendung für die Rückverfolgung bestimmt werden. Die geeignete Torinstanz, die mit „i0/i1/net_A" verbunden ist, kann nicht bestimmt werden, außer die bestimmte Instanzierung des Tors an dem Netz ist bekannt, um in der Lage zu sein, das Netz auf der nächsten Ebene der Hierarchie zu finden. Daher muß die spezifische Instanzierung von „net_A" bestimmt werden, um ein Verfolgen aus der korrekten Instanzierung heraus zu ermöglichen. Bei dem vorliegenden Fall, da das Netz „A" als der Rückverfolgungsstartpunkt ausgewählt ist, muß die entsprechende Torinstanz (d. h. die Torinstanz, die eine Instanzierung des Tors ist, das mit dem aktuellen Netz „A" verbunden ist), bestimmt werden. Die erste Iteration der Rückverfolgungsoperation (unten) zeigt, daß eine Bezugnahme auf die Instanzhistorie ermöglicht, daß die Rückverfolgung mit net_A1 anstelle von net_A2 beginnt.
  • Die Instanzhistorienliste 108 ist soweit [i0, i1]; daher, die Kopie der Instanzhistorie (copy_inst_hist) = [i0, i1].
  • Erste Iteration der Rückverfolgungsoperation:
    Zuerst, Erhalte das Tor, das mit dem ausgewählten Netz verbunden ist, „net_A" (= Tor 404). Es wird darauf hingewiesen, daß das entsprechende Tor bei Instanz „i2" (sowie alle anderen Tor- und Torinstanz-Namen bei i2) denselben Namen aufweisen wie das entsprechende Tor bei Instanz „i1", da diese Instanzen zwei Instanzierungen desselben Blocks sind, NFET1.
    Entnehme die letzte Instanz aus dem Objekt copy_instance_hist (= Instanz „i0"; copy_instance_hist jetzt = [i1].
    Erhalte die Torinstanz bei „i1", die eine Instanzierung von Tor 404 ist (= portinst 403).
    Erhalte das Netz, das mit portinst 403 verbunden ist (= Netz „net_A1" bei „Sub_Block").
    Dieses Netz wird zu dem „aktuellen Netz" für die nächste Iteration.
    Recurse („net_A1", copy_instance_hist)
  • Zweite Iteration:
    Erhalte das Tor, das mit dem ausgewählten Netz verbunden ist, „net_A1" (= Tor 402).
    Entnehme die letzte Instanz aus dem Objekt copy_instance hist (= Instanz „i0"; copy_instance_hist jetzt = []).
    Erhalte die Torinstanz bei „i1", die eine Instanzierung von Tor 402 ist (= portinst 401).
    Erhalte das Netz, das mit portinst 401 verbunden ist (= Netz „top_net_A1" bei „Top_Block").
    Dieses Netz wird zu dem „aktuellen Netz" für die nächste Iteration.
    Recurse („top_net_A1", copy_instance_hist)
  • Dritte Iteration:
    Das aktuelle Netz („top_net_A1") ist nicht mit einem Tor zu einer höheren hierarchischen Ebene versehen, so daß das aktuelle Netz „top_net_A1" mit der leeren Liste von Instanzen in der Kopie der Instanzhistorienliste verkettet ist, um „top_net_A1" als den HLSN des Startnetzes „i0/i1/net_A" zu erzeugen.
  • 5 ist ein Flußdiagramm, das einen Prozeß 500 zum Bestimmen eines Signalnamens höchster Ebene bei einem hierarchischen Schaltungsentwurf darstellt. Bei Schritt 502 wird ein Signalweg in eine hierarchisch niedrigere Ebene des Schaltungsentwurfs von einem vorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmten Anschlußinstanz verfolgt. Hinweise werden zu einer Instanzhistorienliste für jede nachfolgende Instanz hinzugefügt, die bei Schritt 502 angetroffen wird. Bei Schritt 504 wird eine Torinstanz bei der Anschlußinstanz bestimmt, die einem ausgewählten Netz zugeordnet ist, für das der Signalname höchster Ebene bestimmt werden soll. Bei Schritt 506 wird das ausgewählte Netz als das aktuelle Netz bezeichnet. Bei Schritt 508 wird das Netz, das mit dem aktuellen Netz bei einem hierarchischen Elternteil der Instanz verbunden ist, die durch den Hinweis identifiziert wird, bestimmt, um ein nächstes aktuelles Netz einzurichten. Bei Schritt 510, wenn eine Bedingung existiert, bei der keine Verbindung von dem aktuellen Netz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, wird das aktuelle Netz als der Signalname höchster Ebene für das ausgewählte Netz eingerichtet.
  • Anweisungen, die die Operationen aus 2 und/oder 5 ausführen, können auf einem computerlesbaren Speicherungsmedium gespeichert sein. Diese Anweisungen können wiedergewonnen und durch einen Prozessor ausgeführt werden, wie z. B. Prozessor 102 aus 1, um den Prozessor anzuweisen, gemäß dem vorliegenden System zu arbeiten. Diese Anweisungen können auch in Firmware gespeichert sein. Beispiele eines Speicherungsmediums umfassen Speichervorrichtungen, Bänder, Platten, integrierte Schaltungen und Server.
  • Bestimmte Änderungen können an den oben genannten Verfahren und Systemen durchgeführt werden, ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen. Es wird darauf hingewiesen, daß alle Gegenstände, die in der obigen Beschreibung enthalten oder in den beiliegenden Zeichnungen gezeigt sind, in einem darstellenden und nicht einschränkenden Sinn interpretiert werden sollen. Zum Beispiel können die Artikel, die in 1 gezeigt sind, in anderen Konfigurationen aufgebaut, verbunden, angeordnet und/oder kombiniert werden, und der Satz aus Schritten, der in 2 und/oder 5 dargestellt ist, kann in einer unterschiedlichen Reihenfolge ausgeführt werden, ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen.

Claims (15)

  1. Verfahren (205230, 500) zum Bestimmen eines Signalnamens höchster Ebene in einem hierarchischen Schaltungsentwurf (109, 300), das folgende Schritte aufweist: Verfolgen (205, 502) eines Signalwegs in eine hierarchisch niedrigere Ebene des Schaltungsentwurfs (109, 300) von einem vorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmten Anschlußinstanz, während Hinweise zu einer Instanzhistorienliste (108) hinzugefügt werden (210), von jeder nachfolgenden Instanz, die bei dem Verfolgungsschritt angetroffen wird; Bestimmen (504) einer Torinstanz (307, 309, 312, 315, 317, 319, 320, ce2, ce3, 401, 403, 406, 408, 409, 412, 414, 416, 418) bei der Abschlußinstanz, die einem ausgewählten Netz zugeordnet ist, für das der Signalname höchster Ebene bestimmt werden soll; Bezeichnen des ausgewählten Netzes als das aktuelle Netz, und für alle gespeicherten Hinweise in der Instanzhistorienliste: Bestimmen (220, 508) des Netzes, das mit dem aktuellen Netz in einem hierarchischen Elternteil der Instanz, die durch die Hinweise identifiziert wird, verbunden ist, um ein nächstes aktuelles Netz einzurichten; und wenn (510) eine Bedingung existiert, bei der keine Verbindung von dem aktuellen Netz zu einer Instanz einer hierarchisch höheren Ebene vorliegt, Einrichten des aktuellen Netzes als den Signalnamen höchster Ebene für das ausgewählte Netz.
  2. Verfahren gemäß Anspruch 1, bei dem das aktuelle Netz als der HLSN für das ausgewählte Netz eingerichtet wird, wenn kein Netz vorliegt, das mit der Torinstanz (307, 309, 312, 315, 317, 319, 320, ce2, ce3, 401, 403, 406, 408, 409, 412, 414, 416, 418) verbunden ist, die bei der Instanz angeordnet ist, in der das aktuelle Netz existiert.
  3. Verfahren (205–230) zum Bestimmen eines Signalnamens höchster Ebene (HLSN) für ein ausgewähltes Netz in einem hierarchischen Schaltungsentwurf (109, 300), das folgende Schritte aufweist: Verfolgen (205) eines Signalwegs von einem Netz in einer Instanz in dem Entwurf zu einer Anschlußinstanz in einer hierarchisch niedrigeren Ebene des Entwurfs; Speichern (210) von Hinweisen jeder Instanz, die während des Verfolgungsschrittes angetroffen wird, in einer Instanzhistorienliste (108); Wiederholen der Schritte des Verfolgens (205) und Speicherns (210), bis ein vorbestimmter Verfolgungsendpunkt angetroffen wird; Bestimmen (217) einer ausgewählten Torinstanz, für die der HLSN bestimmt werden soll, für die ausgewählte Anschlußinstanz; Bestimmen eines aktuellen Netzes bei der ausgewählten Torinstanz; Bestimmen des Tors, das mit dem aktuellen Netz verbunden ist; Entfernen der zuletzt gespeicherten Hinweise aus der Instanzhistorienliste; Bestimmen der Torinstanz bei der Instanz, die durch die zuletzt gespeicherten Hinweise identifiziert wird, als eine nächste Torinstanz, die eine Instanzierung des Tors ist, das mit dem aktuellen Netz verbunden ist; Bestimmen des Netzes, das mit der nächsten Torinstanz verbunden ist, als das aktuelle Netz; und Wiederholen der vorangehenden vier Schritte, bis ein Rückverfolgungsendpunkt angetroffen wird, um das aktuelle Netz als den HLSN für die ausgewählte Torinstanz einzurichten.
  4. Verfahren gemäß Anspruch 3, bei dem der Rückverfolgungsendpunkt angetroffen wird, wenn die Instanzhistorienliste (108) leer ist.
  5. Verfahren gemäß Anspruch 3 oder 4, bei dem der Rückverfolgungsendpunkt angetroffen wird, wenn keine Verbindung von dem aktuellen Netz zu einer Instanz auf einer hierarchisch höheren Ebene vorliegt.
  6. Verfahren gemäß einem der Ansprüche 3 bis 5, bei dem der Rückverfolgungsendpunkt angetroffen wird, wenn kein Netz mit der Torinstanz verbunden ist, die bei der Instanz angeordnet ist, in der das aktuelle Netz existiert.
  7. Verfahren gemäß einem der Ansprüche 3 bis 6, das ferner das Erzeugen (230) des HLSN für das ausgewählte Netz durch Verketten der Namen jeder Instanz, die in der Instanzhistorienliste angezeigt ist, mit dem Namen des aktuellen Netzes aufweist.
  8. Verfahren (205, 500) zum Bestimmen eines Signalnamens höchster Ebene (HLSN) für ein ausgewähltes Netz in einem hierarchischen Schaltungsentwurf (109, 300), das folgende Schritte aufweist: Auswählen einer ersten Torinstanz bei einem anfänglichen Netz; Durchführen einer Verfolgungsoperation, die folgende Schritte aufweist: Bestimmen der Eigeninstanz für die erste Torinstanz; Speichern von Hinweisen der Eigeninstanz als eine gespeicherte Instanz in einer Instanzhistorienliste (108); Bestimmen eines nächsten Netzes, das mit dem Tor an dem Beschreibungsblock der Eigeninstanz verbunden ist; Verwenden des nächsten Netzes als das anfängliche Netz für eine nächste Iteration der Verfolgungsoperation; und Auswählen einer neuen ersten Torinstanz bei dem anfänglichen Netz; Wiederholen der Verfolgungsoperation, wenn die Eigeninstanz kein vorbestimmter Verfolgungsendpunkt ist; Bestimmen einer ausgewählten Torinstanz, für die der HLSN bestimmt werden soll; Bestimmen eines aktuellen Netzes bei der ausgewählten Torinstanz; und Durchführen einer Rückverfolgungsoperation, die folgende Schritte aufweist: Bestimmen des Tors, das mit dem aktuellen Netz verbunden ist; Entfernen der zuletzt gespeicherten Hinweise aus der Instanzhistorienliste (108); Bestimmen der Torinstanz bei der Instanz, die durch die zuletzt gespeicherten Hinweise identifiziert wird, als eine nächste Torinstanz, die eine Instanzierung des Tors ist, das mit dem aktuellen Netz verbunden ist; Bestimmen des Netzes, das mit der nächsten Torinstanz verbunden ist, als das aktuelle Netz; und Wiederholen der Rückverfolgungsoperation, bis ein Rückverfolgungspunkt angetroffen wird, wobei: die Instanzhistorienliste (108) leer ist; keine Verbindung von dem aktuellen Netz zu einer Instanz auf hierarchisch höherer Ebene vorliegt; oder kein Netz vorliegt, das mit der Torinstanz verbunden ist, die bei der Instanz angeordnet ist, in der das aktuelle Netz existiert; und Einrichten des aktuellen Netzes als den HLSN für das ausgewählte Netz.
  9. Verfahren gemäß Anspruch 8, das ferner das Erzeugen des HLSN für das ausgewählte Netz aufweist, durch Ver ketten der Namen jeder Instanz, die in der Instanzhistorienliste angezeigt ist, mit dem Namen des aktuellen Netzes.
  10. System (100) zum Bestimmen eines Signalnamens höchster Ebene (HLSN) für ein ausgewähltes Netz in einem hierarchischen Schaltungsentwurf (109, 300), das folgende Merkmale aufweist: einen Prozessor (102), der mit einer Speicherungseinheit (106), die den hierarchischen Schaltungsentwurf (109, 300) aufweist, und mit dem Computerspeicher (104), gekoppelt ist; eine Instanzhistorienliste (108), die in dem Computerspeicher (104) gespeichert ist; ein Wegverfolgungsmodul (105), das in dem Computerspeicher (104) gespeichert ist, der durch den Prozessor (102) ausführbar ist, um den hierarchischen Schaltungsentwurf (109, 300) zu analysieren, um den HLSN für das ausgewählte Netz zu bestimmen durch: Verfolgen eines Signalwegs in eine hierarchisch niedrigere Ebene des Schaltungsentwurfs (109, 300) von einem vorbestimmten Netz in dem Entwurf zu einer vorbestimmten Anschlußinstanz, während Hinweise von jeder nachfolgenden Instanz, die während des Verfolgens angetroffen wird, zu der Instanzhistorienliste (108) hinzugefügt werden; Bestimmen einer Torinstanz (307, 309, 312, 315, 317, 319, 320, ce2, ce3, 401, 403, 406, 408, 409, 412, 414, 416, 418), die dem ausgewählten Netz zugeordnet ist, für das der HLSN bestimmt werden soll; Bezeichnen des ausgewählten Netzes als das aktuelle Netz; und für alle gespeicherten Hinweise in der Instanzhistorienliste: Bestimmen des Netzes, das mit dem aktuellen Netz in einem hierarchischen Elternteil der Instanz verbunden ist, die durch die Hinweise identifiziert wird, um ein nächstes aktuelles Netz einzurichten; und wenn eine Bedingung existiert, bei der keine Verbindung von dem aktuellen Netz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, Einrichten des aktuellen Netzes als den Signalnamen höchster Ebene für das ausgewählte Netz.
  11. System gemäß Anspruch 10, bei dem das aktuelle Netz als der HLSN für das ausgewählte Netz eingerichtet ist, wenn kein Netz vorliegt, das mit der Torinstanz verbunden ist, die bei der Instanz angeordnet ist, in der das aktuelle Netz existiert.
  12. System zum Bestimmen eines Signalnamens höchster Ebene (HLSN) für ein ausgewähltes Netz in einem hierarchischen Schaltungsentwurf (109, 300), das folgende Merkmale aufweist: eine Einrichtung zum Verfolgen eines Signalwegs von einem Netz in einer Instanz in dem Schaltungsentwurf zu einer Anschlußinstanz in einer hierarchisch niedrigeren Ebene des Entwurfs; eine Einrichtung zum Speichern von Hinweisen jeder Instanz, die durch die Einrichtung zum Verfolgen angetroffen wird, in einer Instanzhistorienliste; wobei die Operationen zum Verfolgen und Speichern wiederholt werden, bis ein vorbestimmter Verfolgungsendpunkt angetroffen wird; eine Einrichtung zum Einrichten einer aktuellen Torinstanz, innerhalb der Anschlußinstanz, für die der HLSN bestimmt werden soll, und zum Bezeichnen des ausgewählten Netzes als das aktuelle Netz; und eine Einrichtung zum Durchführen einer Rückverfolgungsoperation, die folgende Schritte aufweist: Bestimmen des Netzes, das mit dem aktuellen Netz in einem hierarchischen Elternteil der Instanz verbunden ist, die durch die Hinweise identifiziert wird, um ein nächstes aktuelles Netz einzurichten; und Einrichten des aktuellen Netzes als den HLSN für das ausgewählte Netz; wobei die Rückverfolgungsoperation für alle gespeicherten Hinweise in der Instanzhistorienliste durchgeführt wird, bis ein Rückverfolgungsendpunkt angetroffen wird.
  13. System gemäß Anspruch 12, bei dem der Rückverfolgungsendpunkt angetroffen wird, wenn die Instanzhistorienliste leer ist, oder wenn eine Bedingung existiert, bei der keine Verbindung von dem aktuellen Netz zu einer Instanz auf hierarchisch höherer Ebene vorliegt.
  14. Softwareprodukt, das Anweisungen aufweist, die auf einem computerlesbaren Medium gespeichert sind, wobei die Anweisungen, wenn sie durch einen Computer ausgeführt werden, die Schritte ausführen zum Bestimmen eines Signalnamens höchster Ebene in einem hierarchi schen Schaltungsentwurf, das folgende Merkmale aufweist: Anweisungen zum Verfolgen eines Signalwegs in eine hierarchisch niedrigere Ebene eines Schaltungsentwurfs von einem vorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmten Anschlußinstanz, während Hinweise von jeder nachfolgenden Instanz, die während des Verfolgens angetroffen wird, zu einer Instanzhistorienliste hinzugefügt werden; Anweisungen zum Bestimmen einer Torinstanz, die einem ausgewählten Netz zugeordnet ist, für das der Signalname höchster Ebene bestimmt werden soll; Anweisen zum Bezeichnen des ausgewählten Netzes als das aktuelle Netz; und für alle gespeicherten Hinweise in der Instanzhistorienliste: Anweisungen zum Bestimmen eines aktuellen Netzes bei der aktuellen Torinstanz; und Anweisungen zum Bestimmen einer nächsten aktuellen Torinstanz bei der letzten Instanz, die eine Instanzierung des Tors ist, das mit dem aktuellen Netz verbunden ist; und wenn eine Bedingung existiert, bei der keine Verbindung von dem aktuellen Netz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, dann Anweisungen zum Einrichten des aktuellen Netzes als den Signalnamen höchster Ebene für das ausgewählte Netz.
  15. Softwareprodukt gemäß Anspruch 14, bei dem das aktuelle Netz als der HLSN für das ausgewählte Netz eingerichtet ist, wenn kein Netz vorliegt, das mit der Tor instanz verbunden ist, die bei der Instanz angeordnet ist, in der das aktuelle Netz existiert.
DE102004020869A 2003-08-25 2004-04-28 System und Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene in einem hierarchischen VLSI-Entwurf Withdrawn DE102004020869A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/647,768 US7073152B2 (en) 2003-08-25 2003-08-25 System and method for determining a highest level signal name in a hierarchical VLSI design
US10/647768 2003-08-25

Publications (1)

Publication Number Publication Date
DE102004020869A1 true DE102004020869A1 (de) 2005-04-07

Family

ID=34216595

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004020869A Withdrawn DE102004020869A1 (de) 2003-08-25 2004-04-28 System und Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene in einem hierarchischen VLSI-Entwurf

Country Status (2)

Country Link
US (1) US7073152B2 (de)
DE (1) DE102004020869A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493578B1 (en) 2005-03-18 2009-02-17 Xilinx, Inc. Correlation of data from design analysis tools with design blocks in a high-level modeling system
US7363599B1 (en) * 2005-10-04 2008-04-22 Xilinx, Inc. Method and system for matching a hierarchical identifier
US7496869B1 (en) 2005-10-04 2009-02-24 Xilinx, Inc. Method and apparatus for implementing a program language description of a circuit design for an integrated circuit
WO2007083380A1 (ja) * 2006-01-20 2007-07-26 Fujitsu Limited 階層型論理回路の信号接続プログラム、方法及び装置
US7761272B1 (en) 2006-03-10 2010-07-20 Xilinx, Inc. Method and apparatus for processing a dataflow description of a digital processing system
US7380232B1 (en) 2006-03-10 2008-05-27 Xilinx, Inc. Method and apparatus for designing a system for implementation in a programmable logic device
US8402409B1 (en) 2006-03-10 2013-03-19 Xilinx, Inc. Method and apparatus for supporting run-time reconfiguration in a programmable logic integrated circuit

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301318A (en) * 1988-05-13 1994-04-05 Silicon Systems, Inc. Hierarchical netlist extraction tool
US5249133A (en) * 1991-04-10 1993-09-28 Sun Microsystems, Inc. Method for the hierarchical comparison of schematics and layouts of electronic components
JPH07334532A (ja) 1994-06-03 1995-12-22 Mitsubishi Denki Semiconductor Software Kk 配線容量値抽出装置
US5815402A (en) * 1996-06-07 1998-09-29 Micron Technology, Inc. System and method for changing the connected behavior of a circuit design schematic
JPH1063707A (ja) * 1996-08-15 1998-03-06 Nec Corp 論理回路検証装置および論理回路検証方法
US6134705A (en) * 1996-10-28 2000-10-17 Altera Corporation Generation of sub-netlists for use in incremental compilation
US6185722B1 (en) * 1997-03-20 2001-02-06 International Business Machines Corporation Three dimensional track-based parasitic extraction
US6836877B1 (en) * 1998-02-20 2004-12-28 Lsi Logic Corporation Automatic synthesis script generation for synopsys design compiler
US6378123B1 (en) * 1998-02-20 2002-04-23 Lsi Logic Corporation Method of handling macro components in circuit design synthesis
US6272671B1 (en) * 1998-09-11 2001-08-07 Lsi Logic Corporation Extractor and schematic viewer for a design representation, and associated method
US6966045B2 (en) * 1999-12-27 2005-11-15 Kabushiki Kaisha Toshiba Method and computer program product for estimating wire loads
WO2002003161A2 (en) * 2000-07-03 2002-01-10 Broadcom Corporation Bis circuit for establishing a plurality of bias voltages
US6801884B2 (en) * 2001-02-09 2004-10-05 Hewlett-Packard Development Company, L.P. Method and apparatus for traversing net connectivity through design hierarchy
US6598211B2 (en) * 2001-03-30 2003-07-22 Intel Corporation Scaleable approach to extracting bridges from a hierarchically described VLSI layout
US6493864B1 (en) * 2001-06-20 2002-12-10 Ammocore Technology, Inc. Integrated circuit block model representation hierarchical handling of timing exceptions
US6564365B1 (en) * 2001-08-03 2003-05-13 Hewlett-Packard Development Company, L.P. Method of simultaneously displaying schematic and timing data
US6571376B1 (en) * 2002-01-03 2003-05-27 Intel Corporation Method and apparatus for analog compensation of driver output signal slew rate against device impedance variation
US7240316B2 (en) * 2002-04-16 2007-07-03 Micron Technology, Inc. Apparatus and method to facilitate hierarchical netlist checking
US20030221173A1 (en) * 2002-05-24 2003-11-27 Fisher Rory L. Method and apparatus for detecting connectivity conditions in a netlist database

Also Published As

Publication number Publication date
US7073152B2 (en) 2006-07-04
US20050050488A1 (en) 2005-03-03

Similar Documents

Publication Publication Date Title
EP1425638B1 (de) Verfahren zur validierung von simulationsergebnissen eines systems sowie darauf aufbauender äquivalenzvergleich digitaler schaltungen
DE69532307T2 (de) Ausdrucks-Propagierung für hierarchisches Netzlisten
DE3900750A1 (de) Wissensbasis - verfahren - vorrichtung zum entwerfen integrierter schaltungen mittels funktionaler spezifikationen
DE69225527T2 (de) Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung
DE10333087A1 (de) Verfahren zum automatischen Zerlegen von dynamischen Systemmodellen in Teilmodelle
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE69433907T2 (de) Autonomes, evolutionsartiges Hardwareentwurfssystem
DE112021002883T5 (de) Automatisierte rückmeldung und kontinuierliches lernen zur abfrageoptimierung
DE102007018622A1 (de) Layout-Zellen, Layout-Zellenanordnung, Verfahren zum Erzeugen einer Layout-Zelle, Verfahren zum Erzeugen einer Layout-Zellenanordnung, Computerprogrammprodukte
DE112018005620T5 (de) Auftragsverwaltung in einem datenverarbeitungssystem
DE102020211679A1 (de) Computer-implementiertes system und verfahren mit einem digitalen zwilling und einer graphen-basierten struktur
DE69609762T2 (de) Verfahren und System zur Erstellung eines technologie-unabhängigen Entwurfs integrierter Schaltungen
DE10043905A1 (de) Stromkopplung bei der gemischten Simulation von Schaltungen
DE69127798T2 (de) Verfahren und Gerät zum Organisieren und Analysieren von Zeitsteuerungsinformationen
DE102009042726A1 (de) Bipolartransistorsimulationsmodell
DE102004020869A1 (de) System und Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene in einem hierarchischen VLSI-Entwurf
DE102015221479A1 (de) Polymorphes schaltungssimulationssystem
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE10138142A1 (de) Verfahren zur Analyse einer integrierten elektrischen Schaltung
DE19626984C1 (de) Verfahren zur rechnergestützten Ermittlung einer Systemzusammenhangsfunktion
DE102006054671A1 (de) Systeme und Verfahren zum Auffinden häufig aufgerufener Unterbäume
DE102004003092A1 (de) Verfahren zum Auflösen nicht richtig angepaßter Parameter bei einem rechnergestützten Entwurf für integrierte Schaltungen
DE10313949A1 (de) Schaltungsentwurfsduplizierungssystem
DE10300699A1 (de) Analyseverfahren für eine integrierte Schaltung und Programmprodukt
DE10303186B4 (de) Verfahren zur Simulation einer elektrischen Schaltung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal