-
Diese Erfindung bezieht sich auf
einen Entwurf für
integrierte Schaltungen. Insbesondere bezieht sich die Erfindung
auf ein Verfahren zum Auflösen
nicht richtig angepaßter
Parameter 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,
de m 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
enthalten die Schemadatenbanken vielleicht keine ähnlich bemessenen
graphischen Symbole 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 nicht
richtig angepaßter
(fehlangepaßter)
Parameter bei CAD-Programmen während
einer Schemamigration.
-
Es ist die Aufgabe der vorliegenden
Erfindung, Verfahren, ein Medium und ein System zu schaffen, die
ein Auflösen
nicht richtig angepaßter Parameter
bei einem rechnergestützten
Entwurfssystem für
integrierte Schaltungen ermöglichen.
-
Diese Aufgabe wird durch Verfahren
gemäß Anspruch
1, 14 oder 16, durch ein Medium gemäß Anspruch 11 sowie durch ein
System gemäß Anspruch
12 gelöst.
-
Gemäß einem Aspekt der Erfindung
wird ein Verfahren zum Auflösen
nicht richtig angepaßter
Parameter bei einem rechnergestützten
Entwurfssystem für
integrierte Schaltungen bereitgestellt, das ein Lesen eines Quellenparameters
eines Quellenschaltungsgrundelements von einer Quellenschemadatenbank
und ein Lesen eines jeweiligen Zielparameters eines Zielschaltungsgrundelements
von einer Zielschemadatenbank umfaßt. Das Zielschaltungsgrundelement
entspricht dem Quellenschaltungsgrundelement. Das Verfahren umfaßt ein automatisches
Vergleichen des Zielparameters mit dem Quellenparameter und ein
Verändern
des Zielschaltungsgrundelements, falls der Quellenparameter und
der Zielparameter nicht identisch sind.
-
Ein weiterer Aspekt ist ein rechnergestütztes Entwurfssystem
für integrierte
Schaltungen. Das System umfaßt
eine Einrichtung zum Lesen eines Quellenparameters eines Quellenschaltungsgrundelements
von einer Quellenschemadatenbank und eine Einrichtung zum Lesen
eines jeweiligen Zielparameters eines Zielschaltungsgrundelements
von einer Zielschemadatenbank. Das Zielschaltungsgrundelement entspricht
dem Quellenschaltungsgrundelement. Das System umfaßt ferner
eine Einrichtung zum automatischen Vergleichen des Zielparameters mit
dem Quellenparameter und eine Einrichtung zum Verändern des
Zielschaltungsgrundelements, falls der Quellenparameter und der
Zielparameter nicht identisch sind.
-
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 rechnergestützten Entwurfssystem
für integrierte Schaltungen
der 1 veranschaulicht;
-
4 ein
Flußdiagramm,
das ein bevorzugtes Verfahren zum Auflösen nicht richtig angepaßter Parameter
bei dem rechnergestützten
Entwurfssystem für
integrierte Schaltungen der 1 veranschaulicht;
-
5 ein
Blockdiagramm, das ein exemplarisches Zielschaltungsgrundelement
mit einem gelöschten
nicht richtig angepaßten
Parameter bei dem rechnergestützten
Entwurfssystem für
integrierte Schaltungen der 1 veranschaulicht;
-
6 ein
Blockdiagramm, das ein exemplarisches Zielschaltungsgrundelement
mit einem ersetzten nicht richtig angepaßten Parameter bei dem rechnergestützten Entwurfssystem
für integrierte Schaltungen
der 1 veranschaulicht;
und
-
7 ein
Blockdiagramm, das ein exemplarisches Zielschaltungsgrundelement
mit einem modifizierten nicht richtig angepaßten Parameter bei dem rechnergestützten Entwurfssystem
für integrierte Schaltungen
der 1 veranschaulicht.
-
Aufgrund ihrer Komplexität werden
integrierte Schaltungen in der Regel unter Verwendung von CAD-Hilfsmitteln
entworfen, 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 Schaltungssubstrat
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 Transistorschaltungs grundelemente 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 Ausfü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 Quellenschaltungs grundelementbibliothek,
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 Auftre tensfä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 Schaltungsgrundelement-Anpassung kann
jedoch fehlschlagen, da die Parameter 57 für das Quellenschaltungsgrundelement 50 eventuell nicht
auf eine identische Weise wie die Parameter 58 für das entsprechende
Zielschaltungsgrundelement 52 benannt sind. Beispielsweise
entspricht ein Parameter 57, der bei dem Quellenschaltungsgrundelement 50 als „Massen_Kapazität" bezeichnet ist,
einem anders bezeichneten Parameter 58 „Massen_Verbindung" in dem Zielschaltungsgrundelement 52.
Falls das Programm des CAD-Systems 10 zum Berechnen kombinierter
physischer und/oder elektrischer Charakteristika bezüglich des
Parameters 57 des Quellenschaltungsgrundelements 50, „Massen_Kapazität", geschrieben ist,
erkennt das Programm den Parameter des Zielschaltungsgrundelements 52 erst,
nachdem der Prozeß der
Schemamigration 36 das Quellenschaltungsgrundelement 50 gegen
das Zielschaltungsgrundelement 52 ausgetauscht hat. Mit
anderen Worten liegt keine Eins-Zu-Eins-Entsprechung aller Objekte
in den Datenstrukturen für
die zwei Schaltungsgrundelemente 50, 52 vor.
-
4 ist
ein Flußdiagramm,
das ein bevorzugtes Verfahren 60 zum Auflösen nicht
richtig angepaßter
Parameter 57, 58 bei dem rechnergestützten Entwurfssystem
für integrierte
Schaltungen 10 der 1 veranschaulicht.
Das Verfahren 60 umfaßt
ein Lesen eines Quellenparameters 57 eines Quellenschaltungsgrundelements 50 von
einer Quellenschemadatenbank 32 bei Schritt 62. Bei Schritt
64 liest das CAD-System 10 einen jeweiligen Zielparameter 58 eines
Zielschaltungsgrundelements 52 von einer Zielschemadatenbank 34.
Das Zielschaltungsgrundelement 52 entspricht dem Quellenschaltungsgrundelement 50.
Bei Schritt 66 vergleicht das CAD-System 10 automatisch den Zielparameter 58 mit
dem Quellenparameter 57. Falls der Quellenparameter 57 und
der Zielparameter 58 nicht identisch sind, verändert das
CAD-System 10 das Zielschaltungsgrundelement 52 bei
Schritt 68.
-
Bei Schritt 62 liest das CAD-System 10 den Quellenparameter 57 des
Quellenschaltungsgrundelements 50 von der Quellenschemadatenbank 32. Das
CAD-System 10 kann die Quellenschemadatenbank 32,
oder die Quellengrundelementsbibliothek in derselben, nach der Datenstruktur,
die dem Quellenschaltungsgrundelement 50 entspricht, durchsuchen. 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.
Aus der Datenstruktur extrahiert das CAD-System 10 eine
Schriftzeichenfolge, die dem Quellenparameter 57 entspricht.
-
Desgleichen liest das CAD-System 10 bei Schritt
64 den Zielparameter 58 des Zielschaltungsgrundelements 52 von
der Zielschemadatenbank 34. Das CAD-System 10 kann
die Zielschemadatenbank 34, oder die Zielschaltungsgrundelementbibliothek
in derselben, nach der Datenstruktur, die dem Zielschaltungsgrundelement 52 entspricht,
durchsuchen. Das CAD-System 10 findet eine Adresse in dem Speicher
für die
Datenstruktur, die dem Zielschaltungsgrundelement 52 entspricht,
und lädt
die binären
Informationen, die der Daten struktur entsprechen, in einen RAM.
Aus der Datenstruktur extrahiert das CAD-System 10 eine
Schriftzeichenfolge, die dem Zielparameter 58 entspricht.
-
Das CAD-System 10 vergleicht
bei Schritt 66 automatisch die Schriftzeichenfolge, die dem Quellenparameter 57 entspricht,
und die Schriftzeichenfolge, die dem Zielparameter 58 entspricht,
und bestimmt, ob die Schriftzeichenfolgen identisch sind. Der Vergleich
kann XOR-Verknüpfungen
der CPU zwischen den binären
Darstellungen der zwei Schriftzeichenfolgen umfassen. Unter Bezugnahme
auf 3 vergleicht das
CAD-System 10 beispielsweise die Zeichenfolge „Drain_Bereich" des Quellenparameters 57 von
der Datenstruktur, die dem Quellenschaltungsgrundelement 50 entspricht,
mit der Zeichenfolge „Drain_Bereich" des Zielparameters 58 von
der Datenstruktur, die dem Zielschaltungsgrundelement 52 entspricht.
In diesem Fall würde
das CAD-System 10 bestimmen,
daß der
Quellenparameter 57 und der Zielparameter 58 identisch
sind. Ein Vergleichen der Quellenparameterzeichenfolge „Massen_KapazitätKapazität" von der Datenstruktur, die
dem Quellenschaltungsgrundelement 50 entspricht, mit der
Zielparameterzeichenfolge „Massen_Verbindung" von der Datenstruktur,
die dem Zielschaltungsgrundelement 52 entspricht, würde zu einer
Bestimmung durch das CAD-System 10 führen, daß der Quellenparameter 57 und
der Zielparameter 58 nicht identisch sind.
-
Falls der Quellenparameter 57 und
der Zielparameter 58 nicht identisch sind, verändert das CAD-System 10 bei
Schritt 68 das Zielschaltungsgrundelement 52. Bei einem
bevorzugten Ausführungsbeispiel
löscht
das CAD-System 10 den Zielparameter 58 aus dem
Zielschaltungsgrundelement 52. Ein Löschen des Zielparameters 58 aus
dem Zielschaltungsgrundelement 52 entfernt die Schriftzeichenfolge
für den
nicht richtig angepaßten
Zielparameter 58 aus der Datenstruktur, die dem Zielschaltungsgrundelement 52 entspricht.
Folglich ist das Zielschema 40 eine Reproduktion des Quellenschemas 38,
wobei jedoch jedes Quellenschaltungsgrundelement 50 durch
das entsprechende Zielschaltungsgrundelement 52 ersetzt
ist, mit Ausnahme des nicht richtig angepaßten Zielparameters 58.
Beispielsweise ist 5 ein
Blockdiagramm, das ein Zielschaltungsgrundelement 70 veranschaulicht,
bei dem der nicht richtig angepaßte Parameter 57 (Massen_Verbindung)
entfernt ist. Folglich fehlt den Zielparametern 71 des
Zielschaltungsgrundelements 70 der nicht richtig angepaßte Parameter 57,
der für Programme
des CAD-Systems 10 zum
Berechnen kombinierter physischer und/oder elektrischer Charakteristika
nicht zur Verfügung
steht.
-
Bei einem weiteren bevorzugten Ausführungsbeispiel
ersetzt das CAD-System 10 den Zielparameter 58 in
dem Zielschaltungsgrundelement 52 durch den Quellenparameter 57 von
dem Quellenschaltungsgrundelement 50. Folglich ist das
Zielschema 40 eine Reproduktion des Quellenschemas 38,
wobei jedoch jedes Quellenschaltungsgrundelement 50 durch
das entsprechende Zielschaltungsgrundelement 52 ersetzt
ist, mit der Ausnahme, daß der
nicht richtig angepaßte
Zielparameter 58 durch den Quellenparameter 57 ersetzt
ist. Beispielsweise ist 6 ein
Blockdiagramm, das ein Zielschaltungsgrundelement 72 veranschaulicht,
bei dem der nicht richtig angepaßte Parameter 58 (Massen_Verbindung)
durch den Quellenparameter 57 (Massen_Kapazität) ersetzt
ist. Die Zielparameter 73 des Zielschaltungsgrundelements 72 umfassen den
Quellenparameter 57, der dem nicht richtig angepaßten Parameter 58 entspricht.
Falls die Programme des CAD-Systems 10 zum Berechnen kombinierter
physischer und/oder elektrischer Charakteristika also bezüglich des
Quellenparameters 57 geschrieben sind, steht der ersetzte
Zielparameter 73 dem CAD-System 10 folglich zum
Durchführen
dieser Berechnungen zur Verfügung.
Der ersetzte Zielparameter 73 nimmt einen Wert an, der
dem ursprünglichen Zielparameter 58 zugewiesen
wurde, als er zum Durchführen
von Berechnungen verwendet wurde.
-
Bei einem weiteren bevorzugten Ausführungsbeispiel
modifiziert das CAD-System 10 den Zielparameter 58 in
dem Ziel schaltungsgrundelement 52. Folglich ist das Zielschema 40 eine
Reproduktion des Quellenschemas 38, wobei jedoch jedes Quellenschaltungsgrundelement 50 durch
das entsprechende Zielschaltungsgrundelement 52 ersetzt ist,
mit der Ausnahme, daß der
nicht richtig angepaßte
Zielparameter 58 durch den modifizierten Parameter ersetzt
ist. Beispielsweise ist 7 ein
Blockdiagramm, das ein Zielschaltungsgrundelement 74 veranschaulicht,
bei dem der nicht richtig angepaßte Parameter 58 (Massen_Verbindung)
zu „Verbindung" 75 modifiziert
ist. Falls die Programme des CAD-Systems 10 zum Berechnen
physischer und/oder elektrischer Charakteristika also bezüglich des
modifizierten Zielparameters 75 geschrieben sind, steht
der modifizierte Zielparameter 75 dem CAD-System 10 zum
Durchführen
dieser Berechnungen zur Verfügung.
Der modifizierte Zielparameter 75 nimmt einen Wert an,
der dem ursprünglichen
Zielparameter 58 zugewiesen wurde, als er zum Durchführen von
Berechnungen verwendet wurde.
-
Das CAD-System 10 kann den
Zielparameter 75 automatisch verändern, oder der Entwerfer kann
die Veränderung
durch die GUI des CAD-Systems 10 steuern. Bei einem bevorzugten
Ausführungsbeispiel,
benachrichtigt, wenn das CAD-System 10 einen nicht richtig
angepaßten
Parameter 58 während
einer Schemamigration erfaßt,
wie bei Schritt 66 der 4,
das CAD-System 10 den Entwerfer von der Fehlanpassung.
Die Benachrichtigung kann die Form einer Warnung auf der Anzeige 18 der Arbeitsstation 12 annehmen.
Alternativ dazu präsentiert
das CAD-System 10 dem Entwerfer auf dem Anzeigebildschirm 18 einen
interaktiven Dialog und empfängt
Anweisungen von der Maus 16 oder einer anderen Zeigevorrichtung,
der Tastatur der Arbeitsstation 12 oder durch andere Eingabevorrichtungen, beispielsweise
einen berührungsempfindlichen
Bildschirm, der in die Anzeige 18 der Arbeitsstation 12 integriert
ist.
-
Ein Ausführungsbeispiel des interaktiven
Dialogs zeigt dem Entwerfer den nicht richtig angepaßten Quellenparameter 57 und
den Zielparameter 58 an. Der interaktive Dialog fordert
den Entwerfer auf, zwischen einem Satz von Optionen auszuwählen, die dem
Entwerfer auf der Anzeige 18 präsentiert werden. Beispielsweise
können
die präsentierten
Optionen ein Löschen
des nicht richtig angepaßten
Zielparameters 71 aus dem Zielschaltungsgrundelement 70,
ein Ersetzen des nicht richtig angepaßten Zielparameters 58 durch
den Quellenparameter 73 in dem Zielschaltungsgrundelement 72 oder
ein Modifizieren des Zielparameters 75 in dem Zielschaltungsgrundelement 74 umfassen.
Man sollte jedoch verstehen, daß auch
andere Optionen möglich
sind, beispielsweise ein Auswählen
eines Ersatzzielparameters aus einer dritten Schemadatenbank, und
daß die
vorliegende Erfindung nicht auf die oben beschriebenen bevorzugten
Ausführungsbeispiele
beschränkt
ist.
-
Ansprechend darauf wählt der
Entwerfer unter Verwendung der Maus 16 oder einer anderen
Eingabevorrichtung, wie sie oben beschrieben wurde, die gewünschte Option
durch die GUI des CAD-Systems 10 aus. Die GUI erkennt,
daß der
Entwerfer die Option ausgewählt
hat, beispielsweise durch eine Computerunterbrechung, wie sie Fachleuten
bekannt ist, und leitet das Ergebnis an das CAD-System 10, das
die ausgewählte
Option ausführt,
um zu einem veränderten
Zielschaltungsgrundelement 52 zu führen. Wie oben beschrieben
wurde, kann das veränderte
Zielschaltungsgrundelement 52 ein Zielschaltungsgrundelement 70 sein,
dem der nicht richtig angepaßte
Parameter 71 fehlt, es kann ein Zielschaltungsgrundelement 72 sein,
das den Quellenparameter 73 umfaßt, es kann ein Zielschaltungsgrundelement 74 sein,
das einen modifizierten Parameter 75 umfaßt, oder
es kann eine beliebige andere veränderte Form des Zielschaltungsgrundelements 52 sein,
je nach der ausgewählten
Veränderung.
Falls der Entwerfer des weiteren wählt, den Zielparameter 75 zu
modifizieren, kann das CAD-System 10 den Entwerfer auffordern,
eine Schriftzeichenfolge, die dem modifizierten Zielparameter 75 entspricht,
einzugeben, oder kann einen interaktiven Dialog präsentieren,
durch den der Entwerfer den vorhandenen Zielparameter 58 editieren
kann.
-
Das Zielschema 40, das sich
aus der Schemamigration ergibt, kann modifizierte graphische Symbole 56 für die Zielschaltungsgrundelemente 52, die
nicht richtig angepaßte
Parameter 58 aufwiesen, umfassen. Bei einem bevorzugten
Ausführungsbeispiel
blinkt das graphische Symbol 56 für ein Zielschaltungsgrundelement 52 mit
einem nicht richtig angepaßten
Parameter 58, wenn es auf dem Anzeigebildschirm 18 der
Arbeitsstation 12 angezeigt wird. Bei einem weiteren bevorzugten
Ausführungsbeispiel
blinkt das graphische Symbol 56, falls der Entwerfer den
nicht richtig angepaßten
Zielparameter 58 nicht verändert hat, beispielsweise durch
Löschen 71,
Ersetzen 73 oder Modifizieren 75 des Zielparameters,
wie oben beschrieben wurde. Man sollte jedoch verstehen, daß das modifizierte
graphische Symbol 56 nicht auf das oben beschriebene blinkende
graphische Symbol beschränkt
ist, und daß auch andere
Formen des modifizierten graphischen Symbols möglich sind, beispielsweise
ein graphisches Symbol derselben Form und desselben Erscheinungsbildes,
jedoch mit einer anderen Farbe, oder ein unterschiedlich schattiertes
graphisches Symbol derselben Form.
-
Während
des Prozesses der Schemamigration erkennt das Verfahren 60 zum
Auflösen
nicht richtig angepaßter
Parameter die Fehlanpassung und verändert die Parameter entweder
automatisch oder ansprechend auf Auswahlen, die durch den Entwerfer
mittels der GUI getroffen werden, wie oben beschrieben wurde. Bei
einem bevorzugten Ausführungsbeispiel
erzeugt das CAD-System 10 eine Protokolldatei von Aktionen,
die während
des Verfahrens 60 zum Auflösen nicht richtig angepaßter Parameter während des
Schemamigrationsprozesses 36 vorgenommen wurden. Beispielsweise
kann das CAD-System 10 eine ASCII-Datei erzeugen, wenn das
Schemamigrationshilfsprogramm in einen RAM geladen wird und auf
der CPU der Arbeitsstation 12 betrieben wird. Während das
CAD-System 10 jedes Quellenschaltungsgrundelement 50 in
der Quellensche madatenbank 32 identifiziert und das zugeordnete
Zielschaltungsgrundelement 52 in der Zielschemadatenbank 34 findet,
führt das
CAD-System 10 das oben beschriebene Auflösungsverfahren 60 durch.
Falls das CAD-System 10 bei Schritt 66 nicht richtig angepaßte Parameter
erfaßt,
schreibt das CAD-System 10 die
Namen von einem oder von beiden Grundelementen als Schriftzeichenfolge
in die Protokolldatei. Das CAD-System 10 kann
auch die Namen eines oder beider Parameter in die Protokolldatei
schreiben. Ferner, falls das CAD-System 10 den
Zielparameter verändert,
kann das CAD-System 10 auch den veränderten Zielparameter 75 in
die Protokolldatei schreiben, oder eine Beschreibung der durchgeführten Aktion,
beispielsweise eine Löschung 71,
ein Ersatz 73 oder eine Modifikation 75 des nicht
richtig angepaßten
Zielparameters.