-
Diese
Erfindung bezieht sich auf einen Entwurf für integrierte Schaltungen.
Insbesondere bezieht sich die Erfindung auf ein Verfahren zum Auflösen fehlender
graphischer Symbole bei einem rechnergestützten Entwurf integrierter
Schaltungen.
-
Viele
integrierte Schaltungen werden unter Verwendung von CAD-Programmen
(CAD = computer-aided design, rechnergestützter Entwurf), die auf einer
Arbeitsstation laufen, entworfen. Der Entwerfer wählt üblicherweise
elektronische Komponenten für die
integrierte Schaltung durch eine graphische Benutzerschnittstelle
(„GUI" – graphical user Interface) aus,
die einen graphischen Anzeigebildschirm und eine Computermaus oder
eine ähnliche
Zeigevorrichtung aufweist, mit denen Fachleute vertraut sind.
-
Die
elektronischen Komponenten werden durch das CAD-Programm auf dem graphischen Anzeigebildschirm
graphisch dargestellt. Um die elektronische Komponente in demjenigen
Teil des Schemas der integrierten Schaltung zu positionieren, der auf
dem Bild angezeigt ist, „zeichnet" der Entwerfer das
graphische Symbol für
die Komponente unter Verwendung der Maus zu einer Position auf dem Bildschirm.
Der Entwerfer „läßt" das graphische Symbol
für die
elektronische Komponente an der gewünschten Position auf dem Bildschirm „fallen" und verbindet die
graphische Darstellung der Anschlüsse der elektronischen Komponente
mit den Anschlüssen
anderer elektronischer Komponenten, die auf dem Bildschirm angezeigt
werden. Ein Verbinden der graphischen Darstellung der Anschlüsse in der
GUI stellt eine Herstellung einer elektrischen Verbindung zwischen
den Komponenten auf der entworfenen integrierten Schaltung dar.
-
Auf
das Abschließen
oder Editieren des Schemas für
den Teil der integrierten Schaltung, der gerade entworfen wird,
kann der Entwerfer das Schema als einen Schaltungsblock sichern.
Der Schaltungsblock konsolidiert die Komponenten in dem Schema zu
einer einzigen Entität
zur Verwendung in dem CAD-Programm.
Der Entwerfer weist den Eingängen
und Ausgängen
des Schaltungsblocks alphanumerische Zeichenfolgen zu, um die Eingänge/Ausgänge zu identifizieren,
und weist ferner dem Schaltungsblock eine alphanumerische Zeichenfolge als
einen Namen zu, der den Schaltungsblock identifiziert. Der Schaltungsblock
kann zu einer Bibliothek von Schaltungsblöcken hinzugefügt, durch
die zugewiesenen alphanumerischen Namen katalogisiert und als Schaltungsblock
auf der GUI dargestellt werden. Danach kann der Entwerfer die Schaltungsblöcke unter
Verwendung der GUI auf dieselbe Weise wie bei einzelnen Komponenten
verbinden, indem er die Eingänge
und Ausgänge
der Schaltungsblöcke miteinander
verbindet.
-
Schaltungsblöcke können kombiniert
werden, um Schaltungsblöcke
einer höheren
Ebene zu bilden, was dazu führt,
daß dem
Entwerfer eine Hierarchie von Schaltungsblöcken zur Verfügung steht. Beispielsweise
kann ein Schaltungsblock eines arithmetischen Prozessors zumindest
einen Schaltungsblock eines binären
Addierers umfassen. Der Schaltungsblock des binären Addierers wiederum kann mehrere
XOR-Logikgatterkomponenten
umfassen. Die XOR-Logikgatterkomponenten
können
mehrere NAND-Logikgatterkomponenten
umfassen, die wiederum mehrere CMOS-Transistoren (CMOS = complementary metal
oxide semiconductor, komplementärer
Metalloxid-Halbleiter) umfassen. Der Entwerfer speichert die Hierarchie
von Schaltungsblöcken üblicherweise
in einer Schemadatenbank.
-
Das
CAD-Programm kann auch eine graphische Darstellung der Masken erzeugen,
die bei der Projektionslithographie verwendet werden, um die. Transistoren
und Verbindungen der Schaltungsblöcke untereinander auf einem
Substrat für
die integrierte Schaltung planmäßig anzuordnen.
Alternativ dazu kann das CAD-Programm eine lithographische Elektronenstrahlvorrichtung
so steuern, um die Masken direkt auf das Substrat der integrierten
Schaltung zu zeichnen. Die Masken bilden nacheinander Schichten
der Halbleiterstrukturen der einzelnen Transistoren auf dem Substrat.
-
Während sich
die Herstellungstechnologie weiterentwickelt, kann eine Schaltung,
die ursprünglich
in einer älteren
Technologie entworfen wurde, in der neueren Technologie als Schaltung
wiederverwendet werden. Ein Importieren des Schemas von einer Datenbank
zu einer anderen erspart einen völligen
Neubeginn beim Entwerfen des Schemas in der neuen Technologie. Beim
Entwerfen eines arithmetischen Prozessors für eine integrierte Schaltung,
der gemäß einer
140nm-CMOS-Technologie
gebaut werden soll, kann der Entwerfer das Schema für den Prozessor
beispielsweise aus der Schemadatenbank für 170nm-CMOS-Technologie wiederverwenden.
(Die Angaben 140 nm und 170 nm beziehen sich auf die minimale Merkmalsgröße bei den
jeweiligen Technologien.) Die Schemadatenbanken für eine 140nm- und
eine 170nm-Technologie können
sich in verschiedener Weise unterscheiden, nicht zuletzt darin, daß die graphischen
Darstellungen der Masken für eine
140nm-Technologie in der Regel kleinere Halbleiterstrukturen umfassen
als die jeweiligen Strukturen bei der 170nm-Technologie.
-
Überdies
können
manche integrierte Schaltungen CMOS-Strukturen gemäß beider Technologien umfassen.
Beispielsweise kann eine integrierte Schaltung eventuell in den
meisten Schaltungsblöcken
140nm-CMOS-Transistoren verwenden, für Komponenten, die bei einer
höheren
Spannung arbeiten müssen
als die 140nm-Transistoren, jedoch 170nm-CMOS-Transistoren verwenden. Die Schemata
für derartige
Schaltungsblöcke
erfordern unterscheidbare graphische Symbole für die Komponenten jeder Strukturgröße, um die
140nm-Komponenten
und die 170nm-Komponenten klar zu identifizie ren. Somit kann jede
Strukturgröße unterscheidbare graphische
Symbole und den Symbolen zugeordnete Parameter aufweisen, beispielsweise
die Transistorgatedicke oder die maximale Drain-Zu-Source-Spannung.
-
Eine Übertragung
eines Entwurfs für
einen elektronischen Schaltungsblock von den Schemadatenbanken für eine Technologie
auf die Schemadatenbank für
eine andere Technologie kann zu Fehlanpassungen zwischen den Symbolen
und/oder Parametern führen.
Zusätzlich
können
unterschiedliche Teams, die denselben Entwurf gemeinsam entwickeln,
unterschiedliche Schemadatenbanken verwenden, was zu weiteren Fehlanpassungen
führt, wenn
Entwürfe
zwischen den Schemadatenbanken übertragen
werden. Der Prozeß des Übertragens
von Entwürfen
zwischen unterschiedlichen Schemadatenbanken wird von Fachleuten
als „Schemamigration" bezeichnet. Ferner
enthält
eine Schemadatenbank vielleicht kein graphisches Symbol für eine bestimmte
Komponente, was die effektive Übertragung eines
Entwurfs auf diese Schemadatenbank behindert, falls der Entwurf
die jeweilige Komponente umfaßt.
Deshalb besteht ein Bedarf an einem Verfahren zum Auflösen fehlender
graphischer Symbole bei CAD-Programmen während einer Schemamigration.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren, ein Medium
und ein System zu schaffen, die ein Auflösen fehlender graphischer Symbole
bei einem rechnergestützten
Entwurfssystem für
integrierte Schaltungen ermöglichen.
-
Diese
Aufgabe wird durch Verfahren gemäß Anspruch
1, durch ein Medium gemäß Anspruch
9 sowie durch ein System gemäß Anspruch
10 gelöst.
-
Gemäß einem
Aspekt der Erfindung wird ein Verfahren zum Auflösen fehlender graphischer Symbole
bei einem rechnergestützten
Entwurfssystem für integrierte
Schaltungen präsentiert.
Das Verfahren umfaßt
ein Lesen eines Quellenschaltungsgrundelements von einer Quellenschemadatenbank
und ein Bestimmen, ob das Quellenschaltungsgrundelement einem Zielschaltungsgrundelement
in einer Zielschemadatenbank entspricht. Das Verfahren umfaßt ferner
ein Zuordnen des Quellenschaltungsgrundelements zu einem Ersatzzielschaltungsgrundelement, falls
das Quellenschaltungsgrundelement dem Zielschaltungsgrundelement
nicht entspricht.
-
Ein
weiterer Aspekt der Erfindung ist ein System zum Auflösen fehlender
graphischer Symbole bei einem rechnergestützten Entwurfssystem für integrierte
Schaltungen. Das System umfaßt
eine Einrichtung zum Lesen eines Quellenschaltungsgrundelements
von einer Quellenschemadatenbank und eine Einrichtung zum Bestimmen,
ob das Quellenschaltungsgrundelement einem Zielschaltungsgrundelement
in einer Zielschemadatenbank entspricht. Das System umfaßt ferner
eine Einrichtung zum Zuordnen des Quellenschaltungsgrundelements
zu einem Ersatzzielschaltungsgrundelement, falls das Quellenschaltungsgrundelement
dem Zielschaltungsgrundelement nicht entspricht.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein Blockdiagramm, das
eine bevorzugte Konfiguration eines rechnergestützten Entwurfssystems für integrierte
Schaltungen veranschaulicht;
-
2 ein Blockdiagramm, das
eine Schemamigration von einer Quellenschemadatenbank zu einer Zielschemadatenbank
bei dem rechnergestützten
Entwurfssystem für
integrierte Schaltungen der 1 veranschaulicht;
-
3 ein Blockdiagramm, das
ein beispielhaftes Quellenschaltungsgrundelement und ein beispielhaftes
Zielschaltungsgrundelement bei dem rechnerge stützten Entwurfssystem für integrierte Schaltungen
der 1 veranschaulicht;
-
4 ein Blockdiagramm, das
einen Schemamigrationsprozeß von
einem Quellenschema zu einem Zielschema veranschaulicht, bei dem
das graphische Zielsymbol fehlt;
-
5 ein Flußdiagramm,
das ein bevorzugtes Verfahren zum Auflösen fehlender graphischer Symbole
bei dem rechnergestützten
Entwurfssystem für
integrierte Schaltungen der 1 veranschaulicht;
-
6 ein Flußdiagramm,
das ein Ausführungsbeispiel
des Zuordnungsschritts des Verfahrens der 5 veranschaulicht;
-
7 eine exemplarische Anzeige
zumindest eines Austauschzielschaltungsgrundelements;
-
8 ein Flußdiagramm,
das ein weiteres bevorzugtes Verfahren zum Auflösen fehlender graphischer Symbole
bei dem rechnergestützten
Entwurfssystem für
integrierte Schaltungen der 1 veranschaulicht;
-
9 ein Blockdiagramm, das
ein Pseudo- bzw. Dummyzielschaltungsgrundelement veranschaulicht;
-
10 ein Diagramm, das den
Aufbau des graphischen Pseudozielsymbols der 9 veranschaulicht;
-
11 ein Diagramm, das ein
Ausführungsbeispiel
des graphischen Pseudozielsymbols der 10 veranschaulicht.
-
Aufgrund
ihrer Komplexität
werden integrierte Schaltungen in der Regel unter Verwendung von CAD-Hilfsmitteln
entwor fen, die Computerprogramme sind, die es dem Entwerfer ermöglichen,
das schematische Layout für
die interne Schaltungsanordnung der integrierten Schaltung zu konstruieren, das
elektronische Verhalten von Abschnitten der Schaltungsanordnung
zu simulieren und photolithographische Masken zum Konstruieren der
Schaltungen auf dem Substrat der integrierten Schaltung zu erzeugen.
Beispiele von CAD-Hilfsmitteln
umfassen die Cadence-Hilfsmittel, die von Cadence Design Systems,
Inc., San Jose, Kalifornien, hergestellt werden, und diejenigen,
die auf Programmiersprachen beruhen, einschließlich der C++-Programmiersprache
und der „Perl"-Programmiersprache
(Practical Extraction and Reporting Language – praktische Extraktions- und
Meldesprache). Informationen über C++
finden sich in dem ANSI-Standard (ANSI = American National Standards
Institute) ISO/IEC 14882 mit dem Titel „Programming languages – C++" aus dem Jahre 1998,
und Informationen über
Perl finden sich auf der Perl-Webseite. Perl Homepage [online]. O'Reilly, 1999 [am
20.09.2002 wiedergewonnen] vom Internet wiedergewonnen; <URL: http:/www.perl.com>.
-
1 ist ein Blockdiagramm,
das eine bevorzugte Konfiguration eines rechnergestützten Entwurfssystems
für integrierte
Schaltungen 10 veranschaulicht. Der Entwerfer wählt elektronische
Komponenten für
die integrierte Schaltung in der Regel unter Verwendung einer GUI
aus, die auf einer Arbeitsstation 12 läuft. Beispielsweise kann das
System 10 eine Computerarbeitsstation 12 umfassen, die
von Silicon Graphics, Incorporated, Mountain View, Kalifornien,
hergestellt wird. Eine Schemadatenbank 14 befindet sich
in Kommunikation mit der Arbeitsstation 12 und speichert
Informationen über die
graphischen Symbole für
die elektronischen Komponenten des Entwurfs. Bei einem Ausführungsbeispiel
umfaßt
die GUI einen graphischen Anzeigebildschirm 18 und eine
Computermaus 16, mit denen Fachleute vertraut sind. Die
Arbeitsstation 12 befindet sich in Kommunikation mit der
Maus 16 oder einer anderen graphischen Eingabevorrichtung
und interagiert mit der Maus 16 und dem Anzeigebildschirm durch
ein GUI-Programm, das auf der Arbeitsstation 12 läuft.
-
Der
Entwerfer verwendet die Maus 16, um eine elektronische Komponente
aus der Schemadatenbank 14 auszuwählen. Der Entwerfer zeichnet das
graphische Symbol für
die elektronischen Komponenten zu einer gewünschten Position in einem Schema,
die auf einem Anzeigebildschirm 18 der Arbeitsstation 12 angezeigt
ist, und läßt das graphische Symbol
an dieser Position fallen. Der Entwerfer verbindet die Anschlüsse der
ausgewählten
elektronischen Komponente mit Anschlüssen anderer Komponenten in
dem Schema mit Hilfe der Maus 16, indem er zwischen den
graphischen Symbolen, die durch die GUI auf dem Anzeigebildschirm 18 der
Arbeitsstation 12 angezeigt werden, Linien zeichnet.
-
Der
Entwerfer kann das CAD-System 10 ferner anweisen, eine
graphische Darstellung der Masken zu erstellen, die verwendet werden,
um die Transistoren und Verbindungen der elektronischen Schaltungsblöcke untereinander
auf einem Substrat für
die integrierte Schaltung planmäßig anzuordnen.
Das CAD-System 10 gewinnt eine Darstellung der geometrischen
Struktur jedes Halbleiterbauelements, das einer elektronischen Komponente
entspricht, von der Schemadatenbank wieder und ordnet die geometrischen
Strukturen, die dem Schema entsprechen, auf dem Substrat der integrierten
Schaltung planmäßig an.
Eine weitere Verarbeitung durch das CAD-System 10 und die
Arbeitsstation 12 erzeugt die graphischen Darstellungen
der Masken, die verwendet werden, um die geometrischen Strukturen
unter Verwendung der photolithographischen Prozesse, die die integrierte
Schaltung erzeugen, sequentiell aufzubauen. Die graphischen Darstellungen
der Masken können
an der Arbeitsstation 12 angezeigt oder an eine lithographische
Vorrichtung 20 ausgegeben werden, die, wie Fachleuten bekannt
ist, die Maske wie bei der optischen Lithographie entweder auf eine
Glasplatte zeichnet oder die Maske direkt auf das integrierte Schaltungs substrat
zeichnet, wie bei der Elektronenstrahllithographie.
-
Eine
Betriebsumgebung für
das CAD-System 10 umfaßt
ein Verarbeitungssystem mit zumindest einer zentralen Verarbeitungseinheit
(CPU – central
processing unit) und einem Speichersystem. Vorzugsweise steuert
die zumindest eine CPU die Operationen der Arbeitsstation 12.
Gemäß den Praktiken
von Fachleuten auf dem Gebiet der Computerprogrammierung werden
die bevorzugten Verfahren hierin unter Bezugnahme auf Handlungen
und symbolische Darstellungen von Operationen beschrieben, die durch
das Verarbeitungssystem durchgeführt
werden, es sei denn, es ist etwas anderes angegeben.
-
Man
wird erkennen, daß die
Handlungen und symbolisch dargestellten Operationen die Manipulation
von elektrischen Signalen durch die CPU umfassen. Die elektrischen
Signale stellen Datenbits dar, die eine resultierende Transformation
oder Reduktion der Darstellung von elektrischen Signalen bewirken. Die
Arbeitsstation 12 und andere Vorrichtungen des CAD-Systems 10 können Datenbits
an Speicherplätzen
in ihren jeweiligen Speichersystemen aufrechterhalten, um den Betrieb
ihrer CPU sowie eine andere Verarbeitung von Signalen neu zu konfigurieren
oder auf andere Weise zu ändern,
oder sie können
Datenbits auf der Schemadatenbank 14 aufrechterhalten. Die
Speicherplätze,
beispielsweise ein Direktzugriffsspeicher (RAM) oder das Medium
der Schemadatenbank 14, sind physische Orte, die bestimmte
elektrische, magnetische oder optische Eigenschaften aufweisen,
die den Datenbits entsprechen, je nach dem verwendeten Speichertyp.
Beispielsweise kann das Medium der Schemadatenbank 14 eine
magnetische Festplatte und/oder ein Compact-Disk-Nur-Lese-Speicher (CD-ROM)
sein, auf die bzw. den Datenstrukturen und/oder Datendateien geschrieben
sind, wie Fachleuten bekannt ist.
-
Die
Datenbits können
auch auf einem computerlesbaren Medium aufrechterhalten werden,
das magnetische Platten, optische Platten und jegliches andere flüchtige oder
nicht-flüchtige
Massenspeichersystem, das durch die CPU lesbar ist, umfaßt. Das
computerlesbare Medium umfaßt
zusammenwirkende oder miteinander verbundene computerlesbare Medien,
die ausschließlich
in dem CAD-System 10 existieren oder unter vielen miteinander
verbundenen Verarbeitungssystemen verteilt sind, die sich in dem
CAD-System 10 befinden oder von demselben entfernt sein
können.
-
2 ist ein Blockdiagramm,
das eine Schemamigration 30 von einer Quellenschemadatenbank 32 zu
einer Zielschemadatenbank 34 bei dem rechnergestützten Entwurfssystem
für integrierte
Schaltungen der 1 veranschaulicht.
Die Schemadatenbanken 32, 34 umfassen Darstellungen
von elektronischen Schaltungsblöcken,
die aus Schaltungsgrundelementen gebaut sind. Ein Schaltungsgrundelement
stellt eine Komponente eines elektronischen Entwurfs dar, mit dem
der Entwerfer ein Schema 38, 40 konstruiert. Beispiele
von Schaltungsgrundelementen umfassen Transistoren, Inverter, NAND-Logikgatter, NOR-Logikgatter
und Flipflops. Schaltungsgrundelemente sind in jeweiligen Schaltungsgrundelementbibliotheken
in den Schemadatenbanken 32, 34 gespeichert. Ein
Eintrag für
ein Schaltungsgrundelement in einer Schaltungsgrundelementbibliothek
ist als eine Datenstruktur in dem computerlesbaren Medium gespeichert,
das die Schemadatenbank 32, 34 beherbergt.
-
Wie
Fachleuten auf dem Gebiet des Schaltungsentwurfs bekannt ist, kann
ein Entwerfer eine analoge Schaltung gemäß einem Schema entwerfen, das
Transistoren, diskrete Komponenten, Operationsverstärker und
andere analoge Schaltungsgrundelemente umfaßt. Ferner kann der Entwerfer
eine digitale Schaltung gemäß einem
Schema, das Logikgatter umfaßt,
entwerfen. Im letztgenannten Fall sind die Schaltungsgrundelemente
die grundlegenden Logikgatter. Es gibt jedoch eine Vielzahl von
Transistorentwürfen
für beispielsweise
ein NAND-Logikgatter. Überdies
kann das NAND-Logikgatter gepuffert sein, um ein besseres Ausgangssignal
zu liefern, wenn es in Verbindung mit einer zusätzlichen Schaltungsanordnung
arbeitet. Der Entwerfer kann somit aus einer Vielzahl von Schaltungsgrundelementen,
die die übliche
NAND-Logikfunktion
bereitstellen, auswählen.
-
Ferner
kann der Entwerfer eine spezialisierte Schaltung, die die NAND-Logikfunktion
durchführt, von
Grund auf als eine Schaltung entwerfen, die die Transistorschaltungsgrundelemente
umfaßt.
Der Entwerfer kann die spezialisierte Schaltung in ihrer transistorisierten
Form in der Schemadatenbank 32, 34 speichern.
Alternativ dazu kann der Entwerfer die spezialisierte Schaltung
als ein neues Schaltungsgrundelement für ein NAND-Logikgatter definieren.
-
Eine
Schaltungsgrundelementdatenstruktur kann ein graphisches Symbol
für das
Schema, Parameter, die dem CAD-System 10 die Funktion des Schaltungsgrundelements
beschreiben, Parameter, die die geometrische Struktur der jeweiligen
elektronischen Komponente auf dem Substrat der integrierten Schaltung
beschreiben, und Parameter, die dem CAD-System 10 die elektrischen
Charakteristika des elektronischen Schaltungsblocks oder der elektronischen
Komponente für
die Zwecke des Simulierens des elektrischen Verhaltens des Schemas
beschreiben, umfassen. Man sollte verstehen, daß diese Parameter lediglich
Veranschaulichungszwecken dienen und die Schaltungsgrundelementdatenstrukturen
und die Schemadatenbanken 32, 34 von CAD-Systemen 10 nicht
auf die oben beschriebenen Parameter beschränken. Beispielsweise ermöglichen
es manche CAD-Systeme 10 dem Entwerfer, zusätzliche
Parameter zu erzeugen und dem Schaltungsgrundelement zuzuordnen,
wobei diese Parameter als Teil einer erweiterten Schaltungsgrundelementdatenstruktur
in der Schemadatenbank 32, 34 gespeichert werden.
-
Bei
der Quellenschemadatenbank 32 umfaßt ein Quellenschema 38 Quellenschaltungsgrundelemente,
die der Quellenschemadatenbank 32 zugeordnet sind, sowie
Verbindungen zwischen den Quellenschaltungsgrundelementen. Bei einem
bevorzugten Aus führungsbeispiel
ist das Quellenschema 38 in der Quellenschemadatenbank 32 als
separat identifizierte Einträge
für die
Quellenschaltungsgrundelemente oder elektronischen Schaltungsblöcke mit Identifizierern
für die
Anschlüsse
jedes Quellenschaltungsgrundelements oder jedes elektronischen Schaltungsblocks
identifiziert. Die Quellenschemadatenbank 32 umfaßt ferner
eine Liste von Anschlüssen,
die miteinander verbunden werden sollen. Beispielsweise können die
Quellenschaltungsgrundelemente oder elektronischen Schaltungsblöcke als Knoten
in einer Wurzel-Und-Baum-Datenbankstruktur
gespeichert werden, wie Fachleuten bekannt ist, und die Verbindungen
können
als Verknüpfungen zwischen
den Knoten gespeichert werden.
-
Der
Schemamigrationsprozeß 36 wandelt das
Quellenschema 38, das Quellenschaltungsgrundelemente aufweist,
in das Zielschema 40 um, das Zielschaltungsgrundelemente
aufweist. Bei dem Cadence-CAD-System wird der Schemamigrationsprozeß 36 beispielsweise
durch ein Hilfsprogramm durchgeführt,
das in der SKILL-Computersprache geschrieben ist, die von Cadence
Design Systems, Inc., San Jose, Kalifornien, entwickelt wurde. Bei
dem Schemamigrationsprozeß 36 versucht
das CAD-System 10,
jedes Quellenschaltungsgrundelement einem entsprechenden Zielschaltungsgrundelement zuzuordnen.
Das CAD-System 10 versucht
ferner, Anschlüsse
für das
Zielschaltungsgrundelement jeweiligen Anschlüssen für das entsprechende Quellenschaltungsgrundelement
zuzuordnen. Das CAD-System 10 konstruiert
das Zielschema 40, indem es die Auswahl von Schaltungsgrundelementen und
Verbindungen, die bei dem Quellenschema 38 verwendet werden,
zurückhält, jedoch
die jeweiligen Quellenschaltungsgrundelemente und Anschlüsse durch
die Zielschaltungsgrundelemente und Anschlüsse ersetzt. Das CAD-System 10 speichert
das konstruierte Zielschema 40 in der Zielschemadatenbank 34.
-
Zuordnen von
Schaltungsgrundelementen
-
Ein
Schritt des Schemamigrationsprozesses 36 besteht darin,
ein Zielschaltungsgrundelement einem Quellenschaltungsgrundelement
zuzuordnen. 3 ist ein
Blockdiagramm, das ein beispielhaftes Quellenschaltungsgrundelement 50 und
ein beispielhaftes Zielschaltungsgrundelement 52 bei dem
rechnergestützten
Entwurfssystem für
integrierte Schaltungen 10 der 1 veranschaulicht. Das Quellenschaltungsgrundelement 50 kann
als Datenstruktur in der Quellenschaltungsgrundelementbibliothek,
die ein Teil der Quellenschemadatenbank 32 ist, gespeichert
sein. Das Zielschaltungsgrundelement 52 kann als Datenstruktur
in der Zielschaltungsgrundelementbibliothek, die ein Teil der Zielschemadatenbank 34 ist,
gespeichert sein. Jede Datenstruktur umfaßt binäre Informationen für Objekte,
die zusammengruppiert sind, wobei die Gruppierung hier durch die
gestrichelten Linien der Schaltungsgrundelemente 50, 52 dargestellt
ist. Jede Datenstruktur kann Objekte variierender Typen gruppieren,
beispielsweise eine binäre
Darstellung eines graphischen Symbols, numerischer Daten und Textzeichenfolgen
oder Zeiger auf diese Objekte.
-
Die
Quellenschemadatenbank 32 kann von einem externen Verkäufer stammen,
der seine firmeneigenen Schemata an den Entwerfer verkauft. Alternativ
dazu kann die Quellenschemadatenbank 32 von einem anderen
Entwurfsteam stammen, das an dem Entwerfen der integrierten Schaltung
mitarbeitet, dessen Schemadatenbank 32 sich jedoch von der
durch den Entwerfer verwendeten Zielschemadatenbank 34 unterscheidet.
Während
sich die Herstellungstechnologie weiterentwickelt, kann ferner ein Quellenschema 38,
das ursprünglich
in einer älteren Technologie
entworfen wurde, als Basis für
das Zielschema 40 in der neueren Technologie verwendet werden.
Beispielsweise kann der Entwerfer das Quellenschema 38 von
der Quellenschemadatenbank für
eine 170nm-CMOS-Technologie als Basis für Zielschemata 40 für 140nm-
oder 110nm-Zieltechnologien
wiederverwenden. Die Schemadatenbanken für 170nm-, 140nm- und 110nm-Technologien können sich
in verschiedener Weise unterscheiden. Beispielsweise können Schaltungsgrundelemente
für 110nm-Transistoren
im Vergleich zu 140nm- oder 170nm-Transistoren mehr Parametern zugeordnet sein,
da das Verhalten von 110nm-Transistoren empfänglicher für Schwankungen bei Parametern
bezüglich
Dotierung, Struktur und Komponententrennung auf der integrierten
Schaltung ist.
-
Das
exemplarische Quellenschaltungsgrundelement 50 ist das
Schaltungsgrundelement für
ein NAND-Logikgatter von der Quellenschaltungsgrundelementbibliothek
A. Die Datenstruktur für
das NAND-Logikgatter wird in der Quellenschaltungsgrundelementbibliothek
A als „prim
A" bezeichnet. Die
Datenstruktur kann ein graphisches Symbol 54 für das NAND-Logikgatter und Parameter
umfassen, die physische und/oder elektrische Charakteristika der
elektronischen Komponentenquelle, die dem Quellenschaltungsgrundelement 50 entspricht,
beschreiben. Wenn das CAD-System 10 einen Auftretensfall
von prim A aus dem Quellenschema 38 liest, zeichnet das
CAD-System 10 das graphische Symbol 54 für das NAND-Logikgatter
durch die GUI auf die Anzeige 18 der Arbeitsstation 12.
Ferner kann das CAD-System 10 die kombinierten physischen und/oder
elektrischen Charakteristika einer Gruppe von Schaltungsgrundelementen 50 in
einem Schema 38 berechnen. Die Parameter 57 in
dem Grundelement 50 sind die Namen von Computerprogrammvariablen,
die verwendet werden, um die kombinierten Charakteristika eines
Schemas 38 als Funktion der Werte der Variablen zu berechnen.
-
Desgleichen
ist das beispielhafte Zielschaltungsgrundelement 52 das
Schaltungsgrundelement für
ein NAND-Logikgatter aus der Zielschaltungsgrundelementbibliothek
B. Die Datenstruktur für
das NAND-Logikgatter wird in der Zielschaltungsgrundelementbibliothek
B als „prim
B" bezeichnet. Die
Datenstruktur kann ein graphisches Symbol 56 für das NAND-Logikgatter und Parameter 58 für die dem Schaltungsgrundelement 52 zugeordnete
elektronische Komponente umfassen.
-
Während des
Schemamigrationsprozesses 36 ordnet das CAD-System 10 Quellenschaltungsgrundelemente 50 entsprechenden
Zielschaltungsgrundelementen 52 zu. Die Zuordnung kann
durch ein Hilfsprogramm, das auf dem CAD-System 10 läuft, durchgeführt werden.
Das Quellenschema 38 wird zu dem Zielschema 40 umgewandelt,
indem die Quellenschaltungsgrundelemente 50 durch die Zielschaltungsgrundelemente 52 ersetzt
werden. Beispielsweise ersetzt das CAD-System 10 Auftretensfälle von
prim A in dem Quellenschema 38 durch prim B aus der Zielschaltungsgrundelementbibliothek
B.
-
In
der Regel wird die Zuordnung eines bestimmten Quellenschaltungsgrundelements 50 zu
einem entsprechenden Zielschaltungsgrundelement 52 dadurch
bestimmt, ob die Quellengrundelemente 50 und die Zielgrundelemente 52 dieselbe
Schriftzeichenfolge für
den Typ von Schaltungsgrundelement umfassen. Alternativ dazu konsultiert
das Schemamigrationshilfsprogramm eine Datei, bei der der Name „prim A" der Quellenschaltungsgrundelementbibliothek
A in der Quellenschemadatenbank 32 zuvor dem Namen „prim B" der Zielschaltungsgrundelementbibliothek
B in der Zielschemadatenbank 34 zugeordnet wurde. Als weitere
Alternative kann das Schemamigrationshilfsprogramm auch die zwei Schaltungsgrundelemente 50, 52 zuordnen,
die die größte Zahl
von Parametern 57, 58 gemeinsam haben. Die Schaltungsgrundelemente 50, 52 können ferner
aufgrund anderer gemeinsamer Eigenschaften, beispielsweise aufgrund
der Impedanzen von Eingängen
oder Ausgängen,
Versorgungsspannungsbandbreiten oder der Schaltgeschwindigkeit durch
das CAD-System 10 zugeordnet werden.
-
Das
Quellenschaltungsgrundelement 50 ist jedoch eventuell keinem
Zielschaltungsgrundelement zugeordnet. Mit anderen Worten fehlt
das Zielschaltungsgrundelement. 4 ist
ein Blockdiagramm, das einen Schemamigrationsprozeß 36 von einem
Quellenschema 60 zu einem Zielschema 62 veranschaulicht,
bei dem das graphische Zielsymbol fehlt. Bei dem Quellenschema 60 ist
das graphische Symbol 54 für das Quel lenschaltungsgrundelement 50 durch
Verbindungslinien 66 mit den graphischen Quellensymbolen 64 für andere
Komponenten in dem Quellenschema 60 verbunden. Während des Schemamigrationsprozesses 36 ersetzt
das CAD-System 10 die graphischen Quellensymbole 64 durch
die entsprechenden graphischen Zielsymbole 70. Das Zielschema 62 umfaßt jedoch
eventuell kein graphisches Zielsymbol, das einem graphischen Quellensymbol 54 entspricht,
falls das Quellenschaltungsgrundelement 50 keinem Zielschaltungsgrundelement 52 entspricht.
Folglich, wie in 4 gezeigt ist,
kann das Zielschema 62 einen leeren graphischen Bereich 72 aufweisen,
der normalerweise durch ein entsprechendes graphisches Zielsymbol 52 besetzt
wäre.
-
Eine
Konsequenz des fehlenden graphischen Zielsymbols 70 kann
eine freie Leitung 68 in dem Zielschema 62 sein.
Freie Leitungen 68 sind Leitungen, die nicht mit einem
graphischen Zielsymbol für
eine elektronische Komponente auf dem graphischen Anzeigebildschirm 18 des
CAD-Systems 10 verbunden zu sein scheinen. Ferner können manche CAD-Systeme 10 die
freien Leitungen 68 als Nichtvorhandensein einer elektrischen
Verbindung zwischen den Komponenten in dem Zielschema 62 interpretieren.
Das Nichtvorhandensein von elektrischen Verbindungen kann durch
das CAD-System 10 so interpretiert werden, daß es auf
ein elektrisch unvollständiges
Zielschema 62 zurückzuführen ist,
was das CAD-System 10 veranlassen kann, eine einem ungültigen Zielschema 62 zugeordnete
Fehlermeldung auszugeben.
-
5 ist ein Flußdiagramm,
das ein bevorzugtes Verfahren 80 zum Auflösen fehlender graphischer Symbole 70 bei
dem CAD-System 10 der 1 veranschaulicht.
Das Verfahren 80 umfaßt
ein Lesen eines Quellenschaltungsgrundelements 50 von einer
Quellenschemadatenbank 32 bei Schritt 82. Bei
Schritt 84 bestimmt das CAD-System 10, ob das
Quellenschaltungsgrundelement 50 einem Zielschaltungsgrundelement 52 in
einer Zielschemadatenbank 34 entspricht. Falls das Quellenschaltungsgrundelement 50 dem
Zielschaltungsgrundelement 52 nicht entspricht, ordnet
das CAD-System 10 das Quellenschaltungsgrundelement 50 bei
Schritt 86 einem Ersatzzielschaltungsgrundelement zu.
-
Bei
Schritt 82 liest das CAD-System 10 ein Quellenschaltungsgrundelement 50 von
der Quellenschemadatenbank 32. Das CAD-System 10 kann
die Quellenschemadatenbank 32 oder die Quellengrundelementbibliothek
in derselben nach der Datenstruktur durchsuchen, die dem Quellenschaltungsgrundelement 50 entspricht.
Das CAD-System 10 findet eine Adresse in dem Speicher für die Datenstruktur,
die dem Quellenschaltungsgrundelement 50 entspricht, und
lädt die
binären
Informationen, die der Datenstruktur entsprechen, in einen RAM.
-
Bei
Schritt 84 bestimmt das CAD-System 10, ob das
Quellenschaltungsgrundelement 50 einem Zielschaltungsgrundelement 52 in
einer Zielschemadatenbank 34 entspricht. Wie oben erörtert, kann
das Schemamigrationshilfsprogramm, das den Schemamigrationsprozeß 36 an
dem CAD-System 10 durchführt eine Datei konsultieren,
die scheinbar Quellenschaltungsgrundelemente 50 in der
Quellenschemadatenbank 32 entsprechenden Zielschaltungsgrundelementen 52 in
der Zielschemadatenbank 34 zuordnet. Alternativ dazu kann
das CAD-System 10 im Rahmen einer Suche nach einer identischen
Schriftzeichenfolge für
den Namen des Quellenschaltungsgrundelements 50 den Namen
des Quellenschaltungsgrundelements 50 mit den Namen von
Zielschaltungsgrundelementen 52 in der Zielschemadatenbank 34 vergleichen.
-
Falls
kein Zielschaltungsgrundelement 52 vorliegt, das dem Quellenschaltungsgrundelement 50 entspricht,
ordnet das CAD-System 10 das Quellenschaltungsgrundelement 50 bei
Schritt 86 einem Ersatzzielschaltungsgrundelement zu. Bei einem Ausführungsbeispiel
des Schrittes 86, in 6 gezeigt,
präsentiert
das CAD-System 10 bei Schritt 88 dem Entwerfer auf der
Benutzerschnittstelle des CAD-System 10 zumindest ein Austauschzielschaltungsgrundelement.
Beispielsweise kann das CAD-System 10 die graphischen Symbole, die
den möglichen
Austauschzielschaltungsgrundelementen zugeordnet sind, auf dem graphischen
Anzeigebildschirm 18 anzeigen. 7 ist eine exemplarische Anzeige zumindest
eines Austauschzielschaltungsgrundelements. Auf dem graphischen
Anzeigebildschirm 18 kann das CAD-System 10 das
graphische Quellensymbol 54 und die graphischen Symbole 100 der
möglichen
Austauschzielschaltungsgrundelemente anzeigen. Ferner kann das CAD-System 10 die
Quellenparameter 57 und ihre Werte für das Quellenschaltungsgrundelement 50 und,
zum Vergleich, die Werte äquivalenter
Parameter für
die möglichen
Austauschzielschaltungsgrundelemente anzeigen.
-
Bei
Schritt 90 empfängt
das CAD-System 10 zumindest ein Austauschschaltungsgrundelement. Bei
einem Ausführungsbeispiel
verwendet der Entwerfer die Maus 16, um ein Austauschzielschaltungsgrundelement
auszuwählen,
indem er den Zeiger über
dem ausgewählten
graphischen Zielsymbol 100 positioniert und klickt. Die
GUI erkennt die Position des Zeigers und ordnet die Position dem
ausgewählten
Austauschzielschaltungsgrundelement zu.
-
Bei
Schritt 92 ordnet das CAD-System 10 das ausgewählte Austauschzielschaltungsgrundelement
dem Quellenschaltungsgrundelement 50 zu. Beispielsweise
kann das CAD-System die Datei aktualisieren, die Quellenschaltungsgrundelemente 50 in
der Quellenschemadatenbank 32 entsprechenden Zielschaltungsgrundelementen 52 in
der Zielschemadatenbank 34 zuordnet. Ferner fügt das CAD-System 10 das
graphische Symbol 100 des Austauschzielschaltungsgrundelements
in dem Zielschema 62 ein, wobei der leere graphische Bereich 72 gefüllt wird und
wobei eine Verbindung mit den anderen graphischen Zielsymbolen 70 in
dem Zielschema 62 erfolgt.
-
Bei
einem weiteren Ausführungsbeispiel
des Schritts 86 erzeugt das CAD-System 10 ein Pseudozielschaltungsgrundelement. 8 ist ein Flußdiagramm,
das ein weiteres Verfahren 110 zum Auflösen fehlender graphischer Symbole
bei ei nem rechnergestützten
Entwurfssystem für
integrierte Schaltungen veranschaulicht. Das Verfahren umfaßt ein Lesen
eines Quellenschaltungsgrundelements 50 von einer Quellenschemadatenbank 32 bei
Schritt 112. Das Quellenschaltungsgrundelement 50 umfaßt eine
Darstellung eines Quellensatzes von Anschlüssen. Bei Schritt 114 bestimmt
das CAD-System 10, ob das Quellenschaltungsgrundelement 50 einem
Zielschaltungsgrundelement in einer Zielschemadatenbank 34 entspricht.
Falls das Quellenschaltungsgrundelement 50 dem Zielschaltungsgrundelement
nicht entspricht, ordnet das CAD-System 10 das Quellenschaltungsgrundelement 50 bei
Schritt 116 einem Pseudozielschaltungsgrundelement zu. Das Pseudozielschaltungsgrundelement
umfaßt
eine Darstellung eines Zielanschlußsatzes, der dem Quellenanschlußsatz entspricht,
und umfaßt
ferner ein graphisches Pseudosymbol. Der Zielanschlußsatz ist
untereinander elektrisch verbunden. Ferner weist das graphische
Pseudosymbol graphische Darstellungen des Zielanschlußsatzes
auf.
-
9 ist ein Blockdiagramm,
das ein Pseudozielschaltungsgrundelement 120 veranschaulicht. Bei
einem bevorzugten Ausführungsbeispiel
erzeugt das CAD-System 10 ein graphisches Pseudozielsymbol 122,
das dieselbe Anzahl von Anschlüssen aufweist
wie das graphische Quellensymbol 54. Bei dem Verfahren 110 der 8 können andere Objekte in dem
Zielschaltungsgrundelement 52 leer sein. Wie in 8 gezeigt ist, können beispielsweise
die Zielparameter 124 des Pseudozielschaltungsgrundelements 120 abwesend
sein. Alternativ dazu können die
Zielparameter 124 Kopien der Quellenparameter 57 sein.
-
Um
das Pseudozielschaltungsgrundelement 120 von dem Zielschaltungsgrundelement 52 zu
unterscheiden, kann die Datenstruktur, die dem Pseudozielschaltungsgrundelement 120 entspricht,
neu benannt werden. Um beispielsweise dem CAD-System 10 gegenüber anzugeben,
daß das
Pseudozielschaltungsgrundelement 120 ein graphisches Pseudozielsymbol 122 umfaßt, kann
das Pseudozielschaltungsgrundelement 120 als „prim B
dum" (dummy target
circuit primitive = Pseudozielschaltungsgrundelement) bezeichnet
werden, um anzuzeigen, daß das
Pseudozielschaltungsgrundelement 120 ein Angehöriger der
Schaltungsgrundelementbibliothek B ist. Während des Schemamigrationsprozesses 36 ersetzt
das CAD-System 10 nun Auftretensfälle von prim A in dem Quellenschema 60 durch
prim B dum von der Zielschaltungsgrundelementbibliothek B.
-
10 ist ein Diagramm, das
den Aufbau des graphischen Pseudozielsymbols 122 der 9 veranschaulicht. Das CAD-System 10 erkennt,
daß das
graphische Quellenzielsymbol 54 drei Anschlüsse 130 aufweist,
und versieht ferner das graphische Pseudozielsymbol 122 mit
derselben Anzahl von Anschlüssen 132.
Wenn es die Datenstruktur erzeugt, die dem Pseudozielschaltungsgrundelement 120 entspricht,
bringt das CAD-System 10 Objekte ein, die die Anschlüsse 132 darstellen.
Das CAD-System 10 verbindet die Anschlüsse 132 des graphischen Pseudozielsymbols 122 mit
den anderen Komponenten 70 in dem Zielschema 60 der 4. Auf diese Weise ersetzt
das CAD-System 10 das fehlende graphische Zielsymbol 70 durch
das graphische Pseudozielsymbol 122 und eliminiert die
freien Leitungen 68. Mit dem Einschluß des graphischen Pseudozielsymbols 122 interpretiert
das CAD-System 10 das Zielschema 62 nicht als
elektrisch unvollständig.
-
11 ist ein Diagramm, das
ein Ausführungsbeispiel 134 des
graphischen Pseudozielsymbols 122 der 10 veranschaulicht. Bei einem Ausführungsbeispiel
erzeugt das CAD-System 10 das Pseudozielschaltungsgrundelement 120 als Äquivalent
zu einem Widerstandsnetzwerk 134. Jeder Anschluß 132 des
Pseudozielschaltungsgrundelements 120 ist durch einen Widerstand 138 mit
einem gemeinsamen elektrischen Punkt 136 verbunden. Die Widerstände 138 erhalten
die elektrische Verbindbarkeit zwischen den Anschlüssen 132 und
durch das Zielschema 62 aufrecht. Bei einem Ausführungsbeispiel
ist der gemeinsame elektrische Punkt 136 eine Masse- oder
Nullspannung für
die integrierte Schaltung. In diesem Fall ist jeder Anschluß 132 durch
einen jeweiligen Widerstand 138 geerdet. Deshalb ist jede
der freien Leitungen 68 durch die Widerstände 138 geerdet,
was wiederum ein elektrisch vollständiges Zielschema 62 liefert.
Die Werte der Widerstände 138 können durch
das CAD-System 10 auf große Werte, z.B. Megaohm, eingestellt
sein, da ein Zweck der Widerstände 138 darin
besteht, die elektrische Schaltung des Zielschemas 62 zu
vervollständigen, und
nicht eine aktive Rolle in dem Zielschema 62 zu spielen.
-
Man
sollte jedoch verstehen, daß das
obige Ausführungsbeispiel
eines Transistors vom p-Typ lediglich Veranschaulichungszwecken
dient und daß die
Erfindung alle Typen von anderen Komponenten umfaßt. Ferner
dienen auch die Form der Datenstruktur für die Quellenschaltungsgrundelemente 50 und die
Pseudozielschaltungsgrundelemente 120 lediglich Veranschaulichungszwecken,
und es sind viele Formen und Anordnungen der Schaltungsgrundelemente 50, 120 möglich.
-
Während des
Prozesses der Schemamigration erkennt das Verfahren 80 zum Auflösen fehlender graphischer
Symbole, daß das
Quellenschaltungsgrundelement 50 einem Zielschaltungsgrundelement 52 nicht
entspricht, und ordnet das Quellenschaltungsgrundelement 50 einem
Austauschzielschaltungsgrundelement 100 oder einem Pseudozielschaltungsgrundelement 120 zu.
Bei einem bevorzugten Ausführungsbeispiel
erzeugt das CAD-System 10 eine Protokolldatei von Aktionen,
die während des
Verfahrens 80 zum Auflösen
fehlender graphischer Symbole während
des Schemamigrationsprozesses 36 durchgeführt wurden.
Beispielsweise kann das CAD-System 10 eine ASCII-Datei
erzeugen, wenn das Schemamigrationshilfsprogramm in einen RAM geladen
und auf der CPU der Arbeitsstation 12 betrieben wird. Während das
CAD-System 10 jedes Quellenschaltungsgrundelement 50 in
der Quellenschemadatenbank 32 identifiziert, führt das CAD-System 10 das
oben beschriebene Auflösungsverfahren 80 durch.
Falls das CAD-System 10 bei Schritt 84 fehlende
graphische Symbole erfaßt, schreibt
das CAD-System 10 den Namen des Quellenschaltungsgrundelements 50 als
eine Schriftzeichenfolge in die Protokolldatei. Das CAD-System 10 kann
auch die Namen, falls vorhanden, des Objekts, das dem graphischen
Quellensymbol 54 entspricht, in die Protokolldatei schreiben.
Falls das CAD-System 10 ferner das graphische Quellensymbol
54 dem graphischen Austauschzielsymbol 100 oder dem graphischen
Pseudozielsymbol 122 zuordnet, kann das CAD-System 10 auch
den Namen des Austauschzielschaltungsgrundelements 100 oder
des Pseudozielschaltungsgrundelements 120 in die Protokolldatei
schreiben, oder eine Beschreibung der vorgenommenen Handlung: Zuordnen
des Austauschzielschaltungsgrundelements 100 oder des Pseudozielschaltungsgrundelements 120.