-
Die
vorliegende Erfindung bezieht sich allgemein auf den Entwurf und
die Herstellung von integrierten Schaltungen (ICs; IC = Integrated
Circuit), und insbesondere auf eine integrierte Schaltung und ein
Verfahren und eine Vorrichtung zum Entwurf einer integrierten Schaltung,
um eine Verbindungs-zu-Verbindungs-Kapazität zu reduzieren.
-
Die
gleichbleibenden Ziele auf dem Gebiet des Entwurfs und der Herstellung
von integrierten Schaltungen bestehen darin, schnellere, kleinere, leistungsfähigere und
weniger aufwendige integrierte Schaltungen zu entwerfen und zu bauen.
Sowie Entwickler integrierte Schaltungen gebaut haben, um diese
Ziele zu erreichen, wurden die Entwickler mit einer Vielfalt von
Hindernissen konfrontiert, die sie zum größten Teil überwunden haben. Im allgemeinen besitzt
das Überwinden
eines Hindernisses die Tendenz ein neues Hindernis zu verursachen.
Ein Hindernis, das in der Vergangenheit ohne weiteres ignoriert
werden konnte, wird zu einem kritischen begrenzenden Faktor, wenn
ein vorhergehendes Hindernis überwunden
ist. Aufgrund der Fortschritte auf dem Gebiet ist die Verbindungs-zu-Verbindungs-Kapazität und die
zugeordnete Verbindungsver-zögerung
zu einer kritischen Begrenzung des Entwurfs und der Herstellung
von integrierten Schaltungen herangereift.
-
Eine
integrierte Schaltung ist eine Gruppe von Funktionsblöcken, die
durch Leiter verbunden ist. Die Leiter sind als Verbindungen bzw.
Zwischenverbindungen bekannt. In der Vergangenheit konnte, während man
danach strebte, schnellere integrierte Schaltungen zu bauen, die
Verbindungsverzögerung zum
größten Teil
ignoriert werden, während
die Auf merksamkeit auf das Überwinden
von anderen Hindernissen, wie z. B. das Entwerfen von schnelleren, kleineren
und lei leistungsfähigeren
Funktionsblöcken gerichtet
war. Die Funktionsblöcke
können
Logikgatter, Transistoren, Zustandsmaschinen, algorithmische Einheiten,
Kontakt-stellen, die Daten von dem Chip und in äußere Vorrichtungen treiben,
oder jede beliebige andere Funktionseinheit einer integrierten Schaltung
sein. Funktionsblöcke
können
ferner als jede beliebige Vorrichtung in einer integrierten Schaltung
definiert sein, die an einer Verbindung befestigt ist.
-
Die
Verbindungsverzögerung
ist eine Funktion des Widerstands und der Kapazität, die den
Verbindungen zugeordnet ist. Der Widerstand der Verbindungen ist
proportional zu der Länge
und umgekehrt proportional zu der Querschnittsfläche der Verbindungen. Um das
Ziel des Entwerfens und Bauens von leistungsfähigeren integrierten Schaltungen
zu erreichen, hat die Zahl der Funktionsblöcke in integrierten Schaltungen
zugenommen. Die größere Zahl
von Funktionsblöcken
muß auf
einer kleineren Fläche
oder in einem kleineren Bereich verbunden werden, um das Ziel des
Bauens von kleineren integrierten Schaltungen zu erreichen. Dies
hat zu einer größeren Komplexität in der
integrierten Schaltung und zu einer größeren Verbindungs-Leitungsführungs-Anhäufung geführt. Um
diese Hindernisse zu überwinden,
sind Verbindungen dünner
geworden. Wie es im folgenden offensichtlich werden wird, besitzen
dünnere
Verbindungen Nachteile, wie z. B. einen höheren Widerstand. Entwickler
haben versucht, die ungünstigen
Effekte von dünneren
Verbindungen zu minimieren, indem die Höhe der Verbindungen erhöht wird.
Bei diesen Änderungen
sind die Verbindungen proportional zu ihrer Höhe und Breite länger geworden.
-
Der
erhöhte
Widerstand, der dünneren
Verbindungen zugeordnet ist, hat ferner zu einem Bedarf an Zwischenverstärkern bzw.
Repeatern geführt. Zwischen-verstärker sind
periodisch in der Verbindung beabstandet, um die Leistung des Signals,
das durch die Verbindung getragen wird, anzuheben. Die erhöhte Leistung
verhindert, daß der
Verbindungswiderstand das Signal über einen Regenerierungspunkt
hinaus vor einem Zeitpunkt wegfrißt, zu dem das Signal bei dem
Zielfunktionsblock eintrifft. Die Zwischenverstärker sind oftmals ein Puffer,
der zwei Inverter aufweist. Die Leistungsanhebung, die die Zwischenverstärker dem
Signal liefern, führt
schließlich
zu einer schnelleren Signalgeschwindigkeit. Die Verbindung kann
man sich als in Segmente zerbrochen vorstellen, wobei jedes Segment
einen Zwischenverstärker
enthält.
-
Die Änderung
der Geometrie der Verbindungen hat ungünstigerweise die elektrische
Wechselwirkung zwischen benachbarten Verbindungen erhöht. Die
Verbindungskapazität
ist insbesondere eine wesentlich wichtigere Komponente der Verbindungsverzögerung geworden.
Die Verbindungskapazität geht
hauptsächlich
aus zwei Komponenten hervor. Die Verbindungskapazität weist
eine Verbindungs-zu-Substrat-Komponente und eine Verbindungs-zu-Verbindungs-Komponente
auf. Die Verbindungs-zu-Verbindungs-Komponente ist hauptsächlich ein
Resultat der Plattenkapazität
und der Miller-Kapazität.
Die Plattenkapazität
ist das Resultat der Plattenfläche
und des Abstands zwischen den Seiten von benachbarten Verbindungen.
Die Miller-Kapazität
bezieht sich auf die gleichzeitige Bewegung von Signalen in eng
beabstandeten Verbindungen. Auf die Verbindungs-zu-Verbindungs-Kapazität kann ferner
als eine Koppelkapazität
Bezug genommen werden.
-
Die
Verbindungs-zu-Substrat-Komponente der Verbindungskapazität ist gut
verstanden. Nachdem die integrierten Schaltungen bezüglich der
Größe ausreichend
reduziert sind, so daß die
Verbindungskapazität
eine Begrenzung ist, ist es die Verbindungs-zu-Substrat-Komponente,
die ein dominanter Faktor bei relativ kurzen und dicken Verbindungen ist.
Die Verbindungs-zu-Substrat-Komponente ist relativ leicht zu entwerfen,
da dieselbe nicht von unabhängigen
Variablen, wie z. B. der Verkehrsart, die in benachbarten Verbindungen
getragen wird, abhängt. Da
Verbindungen dünner
und relativ höher
wurden, wurde die Verbindungs-zu-Substrat-Kapazitätskomponente der Verbindungskapazität verringert und
die Verbindungs-zu-Verbindungs-Komponente ist zu der kritischen
Entwurfsgrenze geworden.
-
Wie
im vorhergehenden erwähnt
bezieht sich die Verbindungs-zu-Verbindungs-Plattenkapazitätskomponente
allgemein auf die Geometrie der Verbindungen und den Abstand zu
benachbarten Verbindungen. Dies macht die Plattenkapazitätskomponente
wie die Verbindungs-zu-Substrat-Kapazität zu einer relativ einfach
zu entwerfenden Komponente. Einer der herausfordernden Aspekte der
Miller-Kapazitätskomponente
der Verbindungsverzögerung
bei dem Entwurf von integrierten Schaltungen besteht darin, daß dieselbe
von der Richtung und dem Typ des Signals, das sich in den benachbarten Verbindungen
bewegt, von der Systemarchitektur und der Systemzeitsteuerung abhängt. Daher
kann die Miller-Kapazität
nicht ohne weiteres vorhergesagt oder entworfen werden.
-
Die
Zeitsteuerung des Eintritts eines Signals in eine Verbindung ist
allgemein eine Funktion des Taktes der integrierten Schaltung und
der Architektur der integrierten Schaltung. Die Signaleintrittszeitsteuerung
kann ferner durch ein Verarbeiten, das bei jedem Funktionsblock
durchgeführt
wird, beeinflußt werden.
Diese Signaleintrittszeitsteuerungsfaktoren sind auf dem Gebiet
sehr gut verstanden. Entwickler von integrierten Schaltungen, die
gut bekannte Software verwenden, basieren Computermodelle von integrierten
Schaltungen teilweise auf diesen gut bekannten Signaleintrittszeitsteuerungsfaktoren
bzw. Signaleintritts-Timing-Faktoren.
-
Eine
Unsicherheit und Unvorhersagbarkeit bei einer Komponente einer integrierten
Schaltung führt
zu einem Überentwurf.
Die Unvorhersagbarkeit der Miller-Kapazität hat zu einem Überentwurf
geführt.
Entwickler nehmen typischerweise ein Schlimmster-Fall-Szenario bzw.
Worst-Case-Szenario hinsichtlich der Miller-Kapazität an und
erhöhen den
Abstand zwischen den Verbindungen, um die Worst-Case-Effekte der
Miller-Kapazität
zu reduzieren.
-
Bei
der typischen integrierten Schaltung ist die Richtung der Signalbewegung
in den Verbindungen hauptsächlich
eine Funktion der Architektur der integrierten Schaltung. Der Entwickler
bestimmt typischerweise einfach zwei Knoten in Funktionsblöcken, die
eine Verbindung erfordern, und läßt eine Leitung
zwischen diesen zwei Knoten verlaufen. Obwohl es kein vorbestimmtes
Verfahren zum Plazieren von Verbindungen gibt, die in der gleichen
Richtung nahe zueinander verlaufen, führt die typische Architektur
einer integrierten Schaltung allgemein zu einer Serie von benachbarten
Verbindungen, die Signale aufweisen, die in der gleichen Richtung
laufen. Da sich die Miller-Kapazität auf die gleichzeitige Bewegung
von Signalen in eng beabstandeten Verbindungen bezieht, spielt die
Miller-Kapazität
eine große Rolle
bei der Verbindungsverzögerung
von benachbarten Verbindungen, die Signale aufweisen, die in der
gleichen Richtung laufen.
-
Die
typische integrierte Schaltung ist nicht weiter eine Vorrichtung
bzw. ein Bauelement mit einer einzelnen Schicht. Der proportionale
Effekt der Verbindungs-zu-Verbindungs-Kapazität im Vergleich zu
der Verbindungs-zu-Substrat-Kapazität ist sogar noch
wichtiger, wenn das Schichten von Verbindungsschichten betrachtet
wird. Um die Ziele des Entwicklers zu erreichen, sind integrierte
Schaltungen zunehmend geschichtete Vorrichtungen. Sowie sich obere
Schichten weiter von der Masse wegbewegen, wird die Verbindungs-zu-Verbindungs-Kapazität noch wichtiger
als die Verbindungs-zu-Masse-Kapazität. Aufgrund der Verbindungs-zu-Verbindungs-Kapazität lassen
Entwickler von integrierten Schaltungen typischerweise große Fehlerspielräume beim
Entwerfen von Verbindungs-Layouts bzw. Verbindungsentwürfen zu.
Die Miller-Kapazität
ist eine noch größere Ursache
von großen
Fehlerspielräumen
in oberen Schichten als in unteren Schichten. Daher führen die
Verbindungs-zu-Verbindungs-Kapazität und die
Miller-Kapazitätskomponente
der Verbindungs-zu-Verbindungs-Kapazität unerwünscht zu größeren Ver bindungen, größeren Bussen
und schließlich
größeren und
langsameren integrierten Schaltungen.
-
Ein
Lösungsansatz
für das
Minimieren der ungünstigen
Effekte einer Verbindungs-zu-Verbindungs-Kapazität und zum Erhöhen der
Geschwindigkeit über
einen niedrigeren Widerstand besteht darin, die Querschnittsfläche der
Verbindungen zu erhöhen.
Ein zweiter Lösungsansatz
besteht darin, den Raum zwischen den Verbindungen zu vergrößern. Ein
dritter Lösungsansatz
besteht darin, eine elektromagnetische Abschirmung, beispielsweise
eine zusätzliche
auf Masse gelegte Verbindung, zwischen den Verbindungen zu plazieren.
Alle diese Lösungsansätze reduzieren
jedoch den verfügbaren
Raum in der integrierten Schaltung und beeinflussen daher ungünstig die
dauerhaften Ziele beim Entwurf und der Fertigung von integrierten
Schaltungen nach schnelleren, kleineren, leistungsfähigeren
und weniger aufwendigen integrierten Schaltungen.
-
Die
US-5,306,967 A beschreibt eine Vorrichtung zum Reduzieren von Signalverschlechterungs-, Aufbereitungsverzögerungs-
und elektromagnetischen Abstrahlungsproblemen, die der Übertragung elektrischer
Signale entlang von Verbindungsleitungen inhärent ist. Die Vorrichtung beinhaltet
ein oder mehrere Paare von allgemein parallelen Verbindungsleitungen.
Jede Leitung in jedem Paar umfasst Leitungsabschnitte und ein Invertierer
ist zwischen jedes Paar von benachbarten Abschnitten jeder Leitung
gekoppelt. Die Inverter sind in gestaffelter Art und Weise angeordnet,
so dass die Invertierer, die entlang jeder Leitung eines Leitungspaars
verbunden sind, in Längsrichtung
versetzt sind von den Invertierern, die entlang der anderen Leitungen
des Paars verbunden sind.
-
Die
US-5,535,133 A beschreibt ein Verfahren zur Herstellung von integrierten
Schaltungs-Chips mit Nachschlagtabelle geschätzten Übersprechenspannungen, die
geringer sind als eine Rauschschwelle. Dabei wird ein Prozess beschrieben,
bei dem ein integrierter Schaltungs-Chip physikalisch so bestückt und
aufgebaut wird, dass die gesamte Übersprechenspannung die von
allen "Aggressornetzen" in ein "Opfernetz" gekoppelt wird in einem
akzeptablen Bereich verbleibt. Dieser Prozess beinhaltet einen wiederholten
Zyklus, bei dem während
jedes Zyklus eine zuvor versuchte Bestückung modifiziert wird und
dass Übersprechen,
das in das Opfernetz gekoppelt wird, in der modifizierten Bestückung mittels
der Tabelle geschätzt
wird.
-
Die
US-5,687,088 A beschreibt eine Netzliste für den Einsatz in einer Logiksimulation
und eine Rückanotationsmethode
zum Rückführen von
Verzögerungsinformationen,
die durch einen Bestückungsentwurf
erhalten wurden, an die Logiksimulation. Dabei wird in der Netzliste
für den
Einsatz in der Logiksimulation eine spezifische Knotenverbindung,
die eine gekoppelte Kapazität
mit einer anderen Knotenverbindung hat, mit einer Verzögerungsaddierungseinrichtung
bereitgestellt. Die Verzögerungsaddierungseinrichtung
hat eine Tabelle mit Korrekturwerten um eine Verzögerung zu
korrigieren, die den Verzögerungsveränderungen
entspricht, die durch die gekoppelte Kapazität entstehen. Zu der Verzögerungsaddierungseinrichtung
wird der anfängliche
Zustand, die Übergangsrichtung
und die Übergangszeit eines
logischen Ausgangs einer ersten logischen Zelle übermittelt, um die oben spezifizierte
Knotenverbindung zu betreiben. Zu der Verzögerungsaddierungseinrichtung
wird zudem, mittels einer virtuellen Verbindung der kapazitiven
Kopplung der anfängliche
Status, die Übergangsrichtung
und die Übergangszeit
des logischen Ausgangs einer zweiten logischen Zelle übermittelt,
um die zuvor genannte andere Knotenverbindung zu betreiben. In dieser
Weise wählt
die Verzögerungsaddierungseinrichtung
einen Korrekturwert von der oben genannten Tabelle und addiert eine
Verzögerung,
in der der Einfluss der kapazitiven Kopplung auf den logischen Ausgang
der oben genannten ersten logischen Zelle berücksichtigt wird.
-
Die
US-6,185,726 B1 betrifft ein System und ein Verfahren, um integrierte
Schaltungsgeräte
effizient zu entwerfen. Dabei stellt das System eine Verifikationseinrichtung
zum Verifizieren eines integrierten Schaltungsentwurfs bereit, eine
Syntheseeinrichtung zum Synthetisieren des integrierten Schaltungsentwurfs
und eine "Backend-Einrichtung" um den integrierten
Schaltungsentwurf zu realisieren und einen Prozessor um gleichzeitig
die Verifizierungseinrichtung, die Synthetisierungseinrichtung und
die Backend Einrichtung zu steuern und den integrierten Schaltungsentwurf
zu erzeugen. Das System und die Methode erzeugen eine Serie von
Regressions-Prüfpunkten,
die von der Verifizierungseinrichtung gesteuert werden, und eine
Serie von Zeit-Prüfpunkten, die
von der Synthetisierungseinrichtung gesteuert werden, um die integrierte
Schaltungsentwurf-Prozedur zu erleichtern und zu beschleunigen.
-
Die
US-5,481,695 A beschreibt ein System und eine Methode zum Schätzen von Übersprechen zwischen
Signalleitungen in einer Schaltung. Das Übersprechen-Analysesystem nutzt
automatisch extrahierte Schaltungszeitinformation, um Realbedingungs-Übersprechenabschätzungen
zu berechnen. Das Übersprechenanalysesystem
verbessert die Genauigkeit der Übersprechenkalkulationen
durch das Aufnehmen von automatisch extrahierten Zwischensignal-Zeitinformationen
in die Analyse.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, eine integrierte
Schaltung, ein Verfahren zum Entwerfen einer integrierten Schaltung
und ein System zum Entwerfen einer integrierten Schaltung zu schaffen,
die schnellere, kleinere, leistungsfähigere und/oder weniger aufwendige
integrierte Schaltungen ermöglichen.
-
Diese
Aufgabe wird durch eine integrierte Schaltung gemäß Anspruch
1, ein Verfahren zum Entwerfen einer integrierten Schaltung gemäß Anspruch
3 und ein System zum Entwerfen einer integrierten Schaltung gemäß Anspruch
7 gelöst.
-
Die
vorliegende Erfindung sieht ein System und ein Verfahren zum Verringern
der Effekte der Miller-Kapazität
in be nachbarten Verbindungen in einer integrierten Schaltung vor.
Dies wird durch Verflechten von Verbindungen, die Signale aufweisen,
die in einer Richtung laufen, mit Verbindungen, die Signale aufweisen,
die in der entgegengesetzten Richtung laufen, erreicht. Das System
wird in der Form eines Systems zum Herstellen von integrierten Schaltungen
mit verflochtenen Verbindungen und als ein System einer integrierten
Schaltung mit verflochtenen Verbindungen dargestellt.
-
Kurz
hinsichtlich der Architektur beschrieben kann das System zum Herstellen
von verflochtenen Verbindungen einer integrierten Schaltung wie
folgt implementiert sein. Dort wo die integrierte Schaltung eine
Mehrzahl von Funktionsblöcken
aufweist, ist die integrierte Schaltung entworfen, um ein Ziel zu
erreichen, das System umfaßt
eine Vorrichtung zum Identifizieren einer Mehrzahl von Verbindungen,
die einen Abschnitt der Funktionsblöcke verbinden, eine Vorrichtung
zum Bestimmen der Richtung des Signallaufs in jeder der Mehrzahl
von Verbindungen; und eine Vorrichtung zum Auswählen der Plazierung von jeder
der Mehrzahl von Verbindungen, so daß die Richtung des Signallaufs
in benachbarten Verbindungen bis zu einem Grad abwechselt oder derart
abwechselt, daß die
Verbindungs-zu-Verbindungs-Kapazität reduziert ist, ohne besonders
nachteilhaft das Ziel zu beeinflussen.
-
Kurz
hinsichtlich der Architektur beschrieben kann das System einer integrierten
Schaltung mit verflochtenen Verbindungen wie folgt implementiert sein.
Dort wo die integrierte Schaltung Funktionsblöcke aufweist, umfaßt das System
eine erste Mehrzahl von parallelen Verbindungen, die Signale in
einer ersten Richtung tragen, eine zweite Mehrzahl von parallelen
Verbindungen, die ebenfalls parallel zu der ersten Mehrzahl von
parallelen Verbindungen sind, die Signale in der entgegengesetzten
Richtung tragen. Die Verbindungen der ersten Mehrzahl von parallelen Verbindungen
liegen benachbart und zwischen zwei der Verbindungen der zwei ten
Mehrzahl von parallelen Verbindungen. Die erste Mehrzahl und die
zweite Mehrzahl von parallelen Verbindungen sind aus der Gesamtzahl
von Verbindungen in der integrierten Schaltung ausgewählt, wobei
die Auswahl darauf basiert, ob die Plazierung der Verbindungen der
ersten Mehrzahl von parallelen Verbindungen zwischen zwei der Verbindungen
der zweiten Mehrzahl von parallelen Verbindungen zu einer Reduktion
der Miller-Kapazitätskomponente
der Verbindungs-zu-Verbindungs-Kapazität führt.
-
Die
vorliegende Erfindung kann ferner als ein Verfahren zum Herstellen
von verflochtenen Verbindungen für
integrierte Schaltungen vorsehend betrachtet werden. In dieser Hinsicht
kann das Verfahren allgemein durch die folgenden Schritte zusammengefaßt werden:
Identifizieren einer Mehrzahl von Verbindungen, die einen Abschnitt
der Funktionsblöcke
verbinden; Bestimmen der Richtung des Signallaufs in jeder der Mehrzahl
von Verbindungen; und Plazieren von jeder der Verbindungen derart,
daß sich
die Richtung des Signallaufs in benachbarten Verbindungen bis zu
einem Grad abwechselt oder derart abwechselt, daß die Verbindungs-zu-Verbindungs-Kapazität reduziert
ist, ohne besonders nachteilhaft das Ziel zu beeinflussen. Das Verfahren
zum Herstellen von verflochtenen Verbindungen einer integrierten
Schaltung kann als eine Teilroutine einer Entwurfssoftware für eine integrierte
Schaltung praktiziert werden.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung sind nachfolgend Bezug nehmend auf die
beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
schematisches Diagramm von zwei bekannten Verbindungen zwischen
Funktionsblöcken
und die relevanten Kapazitäts-
und Widerstands-Parameter, die die Verbindungen beeinflussen;
-
2 ein
schematisches Diagramm von vier verflochtenen Verbindungen einer
integrierten Schaltung zwi schen Funktionsblöcken und die relevanten Kapazitäts- und
Widerstands-Parameter, die die verflochtenen Verbindungen einer
integrierten Schaltung beeinflussen;
-
3 ein
Blockdiagramm, das eine mögliche
Implementation in einem Computersystem der Teilroutine für verflochtene
Verbindungen einer integrierten Schaltung zum Herstellen einer integrierten Schaltung,
die entworfen ist, um die Verbindungen neu anzuordnen, so daß Signale
in entgegengesetzten Richtungen in parallelen Verbindungen laufen, wie
z. B. die vier verflochtenen Verbindungen einer integrierten Schaltung
von 2, darstellt; und
-
4 ein
Flußdiagramm
der Teilroutine für verflochtene
Verbindungen einer integrierten Schaltung von 3.
-
Die
folgende Beschreibung umfaßt
die beste derzeit denkbare Art und Weise zum Ausführen der vorliegenden
Erfindung. Diese Beschreibung soll nicht in einem begrenzenden Sinne
aufgefaßt
werden, sondern soll lediglich dem Zweck des Beschreibens der allgemeinen
Prinzipien der Systeme und Verfahren von verflochtenen Verbindungen
einer integrierten Schaltung dienen. Die Systeme und Verfahren von
verflochtenen Verbindungen einer integrierten Schaltung sollen nicht
auf die beschriebene spezielle Implementation oder auf eine beliebige
spezielle Implementation in Software, Firmware, Hardware oder eine
Kombination derselben begrenzt sein. Statt dessen kann die vorliegende
Erfindung ohne weiteres auf beliebige Weisen implementiert sein,
kann jedoch als Software implementiert sein, die in einem computerlesbaren
Medium, wie z. B. einer elektronischen, magnetischen, optischen
oder physischen Vorrichtung, gespeichert ist. Der Schutzbereich
der Erfindung der Systeme und Verfahren von verflochtenen Verbindungen
einer integrierten Schaltung ist unter Bezugnahme auf die beigefügten Ansprüche bestimmt.
-
Integrierte
Schaltungen sind elektrische Schaltungen, die Transistoren, Widerstände, Kondensatoren
und/oder andere Funktionsblöcke
in einem Halbleiter-„Chip„ aufweisen,
bei dem die Funktionsblöcke
verbunden sind, um ein gegebenes Ziel zu erfüllen, beispielsweise, jedoch
nicht darauf begrenzt, ein Mikroprozessor, eine programmierbare
logische Vorrichtung (PLD; PLD = Programmable Logic Device), ein
elektrisch löschbarer
programmierbarer Speicher (EEPROM; EEPROM = Electrically Erasable
Programmable Read Only Memory), ein Direktzugriffsspeicher (RAM;
RAM = Random Access Memory), ein Operationsverstärker oder ein Spannungsregler,
oder um eine große
Zahl von anderen Zielen zu erreichen, die Fachleuten bekannt sind.
Die Technologie der Höchstintegration
(VLSI; VLSI = Very Large Scale Integration) wird oftmals verwendet,
um integrierte Halbleiterschaltungen zu erzeugen, die tausende von
Logikelementfunktionsblöcken
und Verbindungen aufweisen. Höchstintegrierte
Schaltungen werden auf Substraten, wie z. B. Silizium-, Saphir-, Galliumarsenid-
oder Germanium-Wafern bzw. -Scheiben, hergestellt, und die höchstintegrierten Schaltungen
umfassen typischerweise Verbindungen und Logikelementfunktionsblöcke.
-
Die
Logikelementfunktionsblöcke
steuern die Signalverarbeitung und umfassen Elemente, wie beispielsweise,
jedoch nicht darauf begrenzt, Logikgatter, Latches, Speicherarrays
oder Multiplizierer. Diese Logikelementfunktionsblöcke werden
oftmals auf einer integrierten Schaltung in mehreren Schichten aufgebaut.
Dafür,
daß jeder
dieser Logikelementfunktionsblöcke
funktioniert, benötigen
dieselben Eingänge
und Ausgänge.
Diese Eingänge
und Ausgänge
sind üblicherweise
Verbindungen von anderen Logikelementfunktionsblöcken. Diese Datenverbindungen
verlaufen typischerweise horizontal auf einer Schicht oder vertikal
durch eine Schicht. Die Verbindungen, die horizontal in einer Schicht
verlaufen, verlaufen typischerweise ferner orthogonal auf einer Seite der
Schicht im Vergleich zu der gegenüberliegenden Seite der Schicht.
Dies bedeutet, daß beispielsweise
in einem benachbarten Paar von Schichten in der oberen Schicht die
Verbindungen in einer Richtung, wie z. B. Nord-Süd, verlaufen, und die Verbindungen
dann in der unteren Schicht senkrecht sind und Ost-West verlaufen.
Die Verbindungen tragen Steuersignale, Datensignale und Taktsignale.
-
Hinsichtlich
des Erzeugens des Entwurfs von integrierten Schaltungen werden allgemein
Netzlisten durch verschiedene Einrichtungen erzeugt, die die Extraktion
aus Schemata und „Vorlagen„ (detaillierten
Entwürfen
von Funktionsblöcken
und Verbindungen und Knoten) umfassen. Die Netzliste ist eine Liste
von allen Logikelementfunktionsblöcken und der Verbindbarkeit
der Logikelementfunktionsblöcke, die
einen Logikblock aufweisen. Die Netzliste wird in ein Plazierungs-
und Leitungsführungs-Werkzeug gespeist,
das den Entwurf der integrierten Schaltungen daraus erzeugt. Der
resultierende Entwurf bestimmt die tatsächliche Position und Plazierung
der Verbindungen der integrierten Schaltungen. Der Grad, bis zu
dem die Plazierung von jedem Funktionsblock optimiert ist, ist eine
Funktion der Entwurfskriterien des Plazierungs- und Leitungsführungs-Algorithmus,
der durch das Plazierungs- und Leitungsführungs-Werkzeug implementiert
ist, und der Menge der Zeit der Zentralverarbeitungseinheit (CPU;
CPU = Central Processing Unit), die dem Betrieb des Plazierungs-
und Leitungsführungs-Werkzeugs
gewidmet ist.
-
Diese
Algorithmen sind entworfen, um den Leitungsführungs-Widerstand und die Leitungsführungskapazität in den
integrierten Schaltungen zu minimieren, indem allgemein die Leitungsführungslängen zwischen
den Verbindungen minimiert werden. Wenn allgemein die Leitungsführungslängen minimiert
sind, dann ist die kapazitive Verbindungslast minimiert, und die
integrierte Schaltung ist schneller, kleiner (d. h. dichter) und
verbraucht weniger Leistung, was alles wünschenswerte Attribute sind.
Das Verflechten der Verbindun gen kann jedoch die Verbindungs-zu-Verbindungs-Kapazität selbst
auf Kosten längerer
Verbindungen reduzieren. Sehr gewöhnliche Plazierungs- und Leitungsführungs-Algorithmen erreichen
diese Optimierung über
ein iteratives, pseudozufälliges
Plazierungsschema. Nach einer Anfangsplazierung der Funktionsblöcke wird
jeder Funktionsblock hinsichtlich einer Bewegung betrachtet, um
herauszufinden, ob der Entwurf durch die Bewegung optimiert werden
kann. Innerhalb eines Funktionsblockes können nach einer Anfangsplazierung
die Knoten ferner für
eine Bewegung betrachtet werden, um herauszufinden, ob der Entwurf
optimiert werden kann. Der betrachtete Bewegungstyp umfaßt: (1)
das Austauschen der Position eines Funktionsblocks mit einem anderen
Funktionsblock, (2) das Bewegen der Position eines Funktionsblocks
zu einer neuen Position; und (3) das Austauschen der Position eines
Knotens mit einem anderen Knoten. Solche Bewegungen bewirken ferner,
daß sich
die Plazierung von Verbindungen ändert.
Die Bestimmung davon, ob der Entwurf und daher das Erreichen des Zieles
durch die integrierte Schaltung durch die Bewegung verbessert werden
kann oder nicht, basiert auf einer Kostenfunktion. Die vorgeschlagene
Bewegung wird so lange akzeptiert, wie die vorgeschlagene Bewegung
nicht besonders nachteilhaft das Erreichen des Zieles der integrierten
Schaltung beeinflußt.
Die Kostenfunktion kann beispielsweise die Gesamtverbindungslänge des
Entwurfs sein, wodurch der Entwurf um so optimierter ist, je niedriger
die Gesamtverbindungslänge
ist. Die Kostenfunktion für verflochtene
integrierte Schaltungen kann die Verbindungs-zu-Verbindungs-Kapazität aufgrund
der Miller-Kapazität
berücksichtigen.
-
Eine
Berechnung wird durch den Algorithmus für jede Bewegung durchgeführt, um
die Änderung
der Kostenfunktion zu bestimmen, die durch die vorgeschlagene Bewegung
verursacht wird. Wenn die Änderung
negativ ist, wodurch eine neue niedrigere Kostenfunktion erzeugt
wird, dann wird die Bewegung akzeptiert und als eine neue Plazierung
des betrachteten Funktionsblocks für weitere Iterationen des Algorithmus verwendet.
Das Auswählen
von lediglich negativen Kostenfunktionsänderungen wird ein „gieriger„ Algorithmus
genannt.
-
Ein
fortschrittlicherer Plazierungs- und Leitungsführungs-Algorithmus, auf den als „simuliertes Ausheilen
bzw. Annealing„ Bezug
genommen wird, akzeptiert gelegentlich Bewegungen, die eine positive Änderung
der Kostenfunktion erzeugen. In solchen Fällen wird der Algorithmus des
simulierten Ausheilens entweder die vorgeschlagene Bewegung basierend
auf der Größe einer
positiven Änderung, einem
abnehmenden Wert, der die „Temperatur„ genannt
wird und einer Zufallszahl, so daß die Auswahl der Bewegung
eine Wahrscheinlichkeitsauswahl ist, akzeptieren oder ablehnen.
Ein Algorithmus einer Plazierung und Leitungsführung mit einem simulierten
Ausheilen führt
daher eine Entwurfsoptimierung über
mehrere Iterationen eines pseudozufälligen Plazierungsschemas durch,
das durch eine Temperaturkostenfunktion modifiziert ist. Eine detaillierte
Erklärung
der Algorithmen eines simulierten Ausheilens kann beispielsweise
in Carl Sechen, „VLSI
Placement and Global Routing Using Simulated Annealing„, Kapitel
2, Kluwer Academic Publishers, Boston, 1. Ausgabe (1988) vorgefunden
werden, dessen Offenbarung hierin durch Bezugnahme aufgenommen ist.
-
Vor
der weiteren Erörterung
der Herstellungssoftware zeigt 1 bekannte
Verbindungen und 2 zeigt verflochtene Verbindungen
einer integrierten Schaltung. 1 ist ein
schematisches Diagramm von zwei bekannten Verbindungen zwischen
Funktionsblöcken
und relevanten Kapazitäts- und
Widerstands-Parametern, die die Verbindungen beeinflussen. 1 zeigt
eine erste Verbindung 102 zwischen einem Knoten A und einem
Knoten B und eine zweite Verbindung 104 zwischen den Knoten
C und D. Die Knoten A und C können
zwei Knoten des gleichen Funktionsblocks sein. Und die Knoten B
und D können
von einem zweiten Funktionsblock stammen. Die Knoten A, B, C und
D können
ferner von getrennten Funktionsblöcken stammen. 1 zeigt
die erste Verbindung 102 und die zweite Verbindung 104, die
benachbart verlaufen. „Benachbart„ zeigt,
daß die Verbindungen
parallel zueinander sind und es keine weiteren Verbindungen zwischen
den benachbarten Verbindungen gibt. Es ist nicht erforderlich, daß die benachbarten
Verbindungen über
ihre ganze Länge benachbart
sind. Verbindungen können
in lediglich einem Abschnitt ihrer Länge benachbart sein.
-
In 1 läuft ein
erstes Signal 106 von dem Knoten A zu dem Knoten B und
ein zweites Signal 108 läuft von dem Knoten C zu dem
Knoten D. Der Widerstand der ersten Verbindung 102 und
der zweiten Verbindung 104 wird durch die Widerstände 110 gebildet.
Die Verbindungs-zu-Substrat-Kapazität für die erste Verbindung 102 und
die zweite Verbindung 104 wird durch die I-S-Kondensatoren 112 gebildet. Für die Verbindungs-zu-Substrat-Kapazität wirkt
das Substrat der integrierten Schaltung als eine Masse. Die Substratmasse
ist in 1 durch Substrat-Masse-Leitungen 114 gebildet.
Die Verbindungs-zu-Verbindungs-Kapazität ist durch I-I-Kondensatoren 116 gebildet.
In 1 sind ferner Zwischenverstärker 118 gezeigt,
die entlang der ersten Verbindung 102 und der zweiten Verbindung 104 beabstandet
sind.
-
Die
erste Verbindung 102 und die zweite Verbindung 104 können ein
leitfähiges
Material aufweisen. Die erste Verbindung 102 und die zweite
Verbindung 104 sind oftmals aufgebrachtes Aluminium, können jedoch
ein beliebiges Material einer großen Zahl von leitfähigen Materialien
sein, die in der Technik bekannt sind. Ein erstes Signal 106 und
ein zweites Signal 108 können ein Signal einer großen Zahl von
Signalen sein, die in der Technik bekannt sind. Das erste Signal 106 und
das zweite Signal 108 sind oftmals variierende Spannungen,
die Datenbits darstellen.
-
Die
Widerstände 110 stellen
den inhärenten Widerstand
der ersten Verbindung 102 und der zweiten Verbindung 104 dar.
Der inhärente
Widerstand hängt
hauptsächlich
von dem leitfähigen
Material und der Geometrie der Verbindung ab. Die Verbindungs-zu-Substrat-Kapazität wird durch
I-S-Kondensatoren 112 gebildet.
Der Wert der I-S-Kondensatoren 112 hängt hauptsächlich von dem Oberflächenbereich
der Verbindung und dem Abstand der Verbindung von dem Substrat ab.
Die Widerstände 110 von 1,
die I-S-Kondensatoren 112 von 1 und die I-I-Kondensatoren 116 von 1 stellen
elektrische Eigenschaften der integrierten Schaltung und keine Funktionsblöcke der
integrierten Schaltung dar. Die Funktionsblöcke, die mit der ersten Verbindung 102 und
der zweiten Verbindung 104 verbunden sind, können jedoch
Widerstände
und Kondensatoren umfassen.
-
1 zeigt
die erste Verbindung 102 und die benachbarte zweite Verbindung 104,
die in drei Abschnitte, die durch A, B und C bezeichnet sind, geteilt sind.
Die Abschnitte A, B und C umfassen jeweils einen Zwischenverstärker. Wenn
das erste Signal 106 und das zweite Signal 108 in
der gleichen Richtung entlang der ersten Verbindung 102 und
der benachbarten Verbindung 104 laufen, ist es wahrscheinlich, daß die Signale
eine Miller-Kapazität
in den Abschnitten A, B und C hervorrufen. Die Miller-Kapazität ist eine
Komponente der Verbindungs-zu-Verbindungs-Kapazität, die als
I-I-Kondensatoren 116 gebildet
ist. Die integrierten Schaltungen sind typischerweise entworfen,
um das Worst-Case-Szenario
einer Miller-Kapazität
zu ermöglichen,
die die erste Verbindung 102 und die zweite Verbindung 104 über die
gesamten Abschnitte A, B und C beeinflußt.
-
2 ist
ein schematisches Diagramm von vier verflochtenen Verbindungen einer
integrierten Schaltung zwischen Funktionsblöcken und von relevanten Kapazitäts- und
Widerstandswert-Parametern, die die verflochtenen Verbindungen einer
integrierten Schaltung beeinflussen. 2 zeigt
eine erste Verbindung 202 zwischen einem Knoten A und einem
Knoten B, eine zweite Verbindung 204 zwischen einem Knoten
D und einem Knoten C, eine dritte Verbindung 206 zwischen
einem Knoten E und einem Knoten F und eine vierte Verbindung 208 zwischen
einem Knoten H und einem Knoten G. Die Knoten A, D, E und F können Knoten
aus dem gleichen Funktionsblock oder unterschiedlichen Funktionsblöcken sein. Ähnlicherweise
können
die Knoten B, C, F und G aus einem zweiten Funktionsblock oder aus
getrennten Funktionsblöcken
stammen. 2 zeigt die erste Verbindung 202,
die zweite Verbindung 204, die dritte Verbindung 206 und
die vierte Verbindung 208, die benachbart verlaufen.
-
In 2 läuft ein
erstes Signal 210 von dem Knoten A zu dem Knoten B, ein
zweites Signal 212 von dem Knoten C zu dem Knoten D, ein
drittes Signal 214 von dem Knoten E zu dem Knoten F und
ein viertes Signal 216 von dem Knoten G zu dem Knoten H.
Der Widerstandswert der Verbindungen 202, 204, 206 und 208 wird
durch die Widerstände 110 gebildet.
Die Widerstands-zu-Substrat-Kapazität für die erste Verbindung 202 und
die vierte Verbindung 208 werden durch die I-S-Kondensatoren 112 gebildet. Die
Verbindungs-zu-Substrat-Kapazität beeinflußt ferner
die zweite Verbindung 204 und die dritte Verbindung 206,
die Verbindungs-zu-Substrat-Kapazität für die zweite
Verbindung 204 und die dritte Verbindung 206 ist
jedoch nicht in 2 gezeigt. Die Substrat-Masse-Leitungen 114 sind
für die
erste Verbindung 202 und die vierte Verbindung 208 gezeigt
und sind als ebenfalls auf die zweite Verbindung 204 und die
dritte Verbindung 206 anwendbar zu verstehen. In 2 sind
ferner Zwischenverstärker 118 gezeigt, die
entlang der Verbindungen 202, 204, 206 und 208 beabstandet
sind.
-
2 zeigt
benachbarte Verbindungen 202, 204, 206 und 208,
die in drei Abschnitte geteilt sind, die mit A, B und C bezeichnet
sind. Die Abschnitte A, B und C umfassen jeweils einen Zwischenverstärker pro
Verbindung. Die Verbindungs-zu-Verbindungs-Kapazität in den
Abschnitten ist durch die Peripherie-I-I-Kondensatoren 216 und
die Zentral-I-I-Kondensatoren 218 gebildet.
Wenn das erste Signal 210 und das zweite Signal 212 zu
dem gleichen Zeitpunkt übergehen
bzw. den Zustand wechseln und in entgegengesetzten Richtungen entlang der
ersten Verbindung 202 und der benachbarten zweiten Verbindung 204 laufen,
ist es wahrscheinlich, daß die
Signale lediglich in dem Abschnitt B aneinander vorbeilaufen und
daher eine Miller-Kapazität
hervorrufen. Die Miller-Kapazität
ist eine Komponente der Verbindungs-zu-Verbindungs-Kapazität, die als Zentral-I-I-Kondensatoren 218 gebildet
ist. Es ist weniger wahrscheinlich, daß die Peripherie-I-I-Kondensatoren 216 durch
die Miller-Kapazität beeinflußt sind.
Das Verflechten der Verbindungen ermöglicht das Entwerfen von integrierten
Schaltungen, die es ermöglichen,
daß die
Miller-Kapazität
lediglich einen Abschnitt der Verbindungen beeinflußt. Da das
erste Signal 210 und das zweite Signal 212 einander
für eine
kürzere
Zeit beeinflussen, als wenn sich dieselben entlang ihrer Seiten
in der gleichen Richtung bewegen, ist die Gesamt-Miller-Kapazität zwischen der ersten Verbindung 202 und
der zweiten Verbindung 204 reduziert. Eine ähnliche
Reduktion der Miller-Kapazität
findet zwischen der zweiten Verbindung 204 und der dritten
Verbindung 206 statt. Und ähnlicherweise zwischen der
dritten Verbindung 206 und der vierten Verbindung 208.
-
Die
verflochtenen Verbindungen einer integrierten Schaltung liefern
eine verbesserte integrierte Schaltung. Die folgende Erörterung
der verflochtenen Verbindungen einer integrierten Schaltung liefert dementsprechend
ein verbessertes System und ein verbessertes Verfahren zum Erzeugen
eines verbesserten Entwurfs zur Plazierung von Funktionsblöcken und
Verbindungen.
-
3 ist
ein Blockdiagramm eines Computersystems, das eine Teilroutine 320 für verflochtene Verbindungen
einer integrierten Schaltung zum Herstellen einer integrierten Schaltung
enthält,
die entworfen ist, um Verbindungen derart neu anzuordnen, daß Signale
in entgegengesetzten Richtungen in parallelen Verbindungen, wie
z. B. den vier verflochtenen Verbindungen einer integrierten Schaltung
von 2, laufen. 3 zeigt
ein Computersystem 300, das allgemein einen Prozessor 302,
Speicherungseinheiten (nicht gezeigt), wie z. B. ein Festplattenlaufwerk
und ein Floppy-Diskettenlaufwerk,
und einen Speicher 304 mit einem Betriebssystem 306 aufweist.
-
Der
Prozessor 302 ist typischerweise ein kommerziell erhältlicher
Prozessor, wie z. B. ein PENTIUM-Mikroprozessor der INTEL Corporation, ein
POWERPC Mikroprozessor, ein SPARC-Prozessor, ein PA-RISC-Prozessor
oder ein Mikroprozessor der 68000-Serie. Viele andere Prozessoren
stehen zur Verfügung.
Ein solcher Prozessor führt üblicherweise
ein Programm aus, auf das als ein Betriebsystem 306 Bezug
genommen wird, wie z. B. die verschiedenen Versionen des Betriebssystems
WINDOWS der MICROSOFT Corporation, des Betriebssystems NETWARE,
das von der NOVELL, Inc. erhältlich
ist, oder des UNIX-Betriebssystems, das von vielen Händlern,
wie z. B. SUN MICROSYSTEMS, Inc., HEWLETT-PACKARD und AT&T erhältlich ist. Das
Betriebssystem 306 steuert die Ausführung von anderen Computerprogrammen,
wie z. B. eines Herstellungsprogramms 318 für integrierte
Schaltungen, und liefert die zeitliche Planung, die Eingangs-Ausgangs-Steuerung, die Datei-
und Daten-Verwaltung, die Speicherverwaltung und die Kommunikationssteuerung
und verwandte Dienstleistungen. Der Prozessor 302 und das
Betriebssystem 306 definieren eine Computerplattform, für die Anwendungsprogramme
in hohen Programmiersprachen geschrieben sind. Der Prozessor 302 nimmt
Daten von dem Speicher 304 über eine lokale Schnittstelle 308,
wie z. B. einen Bus (Bussen) auf.
-
Der
Benutzer kann das Computersystem 300 lenken, indem derselbe
eine Eingabevorrichtung(en) 310 verwendet. Die Eingabevorrichtungen) 310 kann
beispielsweise, ist jedoch nicht darauf begrenzt, eine Maus 312 und
eine Tastatur 314 sein. Die eingegebene Handlung und die
resultierende Ausgabe können
auf einer Ausgabevorrichtung(en) 316, beispielsweise, jedoch
nicht darauf begrenzt, einem Anzeigeterminal und einem Drucker,
angezeigt werden. Die Eingabevorrichtung(en) und die Ausgabevorrichtung(en)
kommunizieren mit dem Pro zessor 302 und dem Speicher 304 über die
lokale Schnittstelle 308.
-
Der
Speicher 304 kann entweder einer oder eine Kombination
der üblichen
Speichertypen, beispielsweise, jedoch nicht darauf begrenzt, löschbarer programmierbarer
Nur-Lese-Speicher
(EPROM), elektronisch löschbarer
programmierbarer Nur-Lese-Speicher (EEPROM), Flash-Speicher, programmierbarer
Nur-Lese-Speicher (PROM; PROM = Programmable Read Only Memory),
Direktzugriffsspeicher (RAM); Nur-Lese-Speicher (ROM; ROM = Read Only
Memory), Flash-Speicher, dynamischer Direktzugriffsspeicher (DRAM;
DRAM = Dynamic Random Access Memory), statischer Direktzugriffsspeicher (SRAM)
oder dergleichen sein. Der Speicher 304 kann ferner entweder
einen oder eine Kombination eines nicht-flüchtigen Speichers, wie z. B.
Plattenlaufwerke, Bandlaufwerke, CDROM-Laufwerke, Cartridges, Kassetten
oder Speicher umfassen, der in einem Netzwerk-Server positioniert
ist. Die Software, die sich in dem Speicher 304 befindet,
wird durch den Prozessor 302 und allgemein den Computer 300 konfiguriert
und ausgeführt.
Die Software umfaßt
ein Betriebssystem 306 und ein Herstellungsprogramm 318 für eine integrierte
Schaltung, das in Verbindung mit dem Betriebssystem 306 betrieben
wird.
-
In
dem Speicher 304 ist ein Herstellungsprogramm 318 für eine integrierte
Schaltung gespeichert. In dem Speicher ist ferner die Teilroutine 320 für verflochtene
Verbindungen einer integrierten Schaltung gespeichert. Das Herstellungsprogramm 318 für eine integrierte
Schaltung und die Teilroutine 320 für verflochtene Verbindungen
einer integrierten Schaltung werden in Verbindung mit der Netzliste 322 betrieben.
Die Netzliste 322 umfaßt
eine Auflistung von allen Funktionsblöcken und der Verbindungen der
Funktionsblöcke.
Die Teilroutine 320 für
verflochtene Verbindungen einer integrierten Schaltung kann in Hardware,
Software, Firmware oder einer Kombination derselben implementiert
sein. Die Teilroutine 320 für verflochtene Verbindungen
einer integrierten Schaltung kann einer beliebigen Zahl von Herstellungsprogrammen
einer integrierten Schaltung zugeordnet sein, die Fachleuten bekannt
ist, wie z. B. dieselben, die auf SPICE basieren, und dieselben,
die Schema- und Vorlage-Editoren, Stockwerksplaner bzw. Ebenenplanungsvorrichtungen,
Blockplazierer und Leitungsführungsvorrichtungen
umfassen.
-
Die
Teilroutine 320 für
verflochtene Verbindungen einer integrierten Schaltung, die eine
geordnete Auflistung von ausführbaren
Befehlen zum Implementieren von logischen Funktionen aufweist, kann beispielsweise
in einem computerlesbaren Medium zur Verwendung durch oder in Verbindung
mit einem Befehlsausführungssystem,
einer Befehlsausführungsvorrichtung
oder einem Befehlsausführungsgerät, wie z.
B. einem computerbasierten System, einem Prozessor-enthaltenen System
oder einem anderen Systemen, ausgeführt sein, das Befehle von dem
Befehlsausführungssystem,
der Befehlsausführungsvorrichtung
oder dem Befehlsausführungsgerät abrufen
kann und die Befehle ausführen
kann. Im Zusammenhang dieses Dokuments kann ein „computerlesbares Medium„ jede
Einrichtung sein, die das Programm zur Verwendung durch oder in
Verbindung mit dem Befehlsausführungssystem,
der Befehlsausführungs-vorrichtung
oder dem Befehlsausführungsgerät enthalten,
speichern, kommunizieren, verbreiten oder transportieren kann. Das
computerlesbare Medium kann beispielsweise, ist jedoch nicht darauf begrenzt,
ein elektronisches, magnetisches, optisches, elektromagnetisches
System, Infrarotsystem oder Halbleitersystem, Vorrichtung, Gerät oder Ausbreitungsmedium
sein. Spezifischere Beispiele (eine nicht erschöpfende Liste) des computerlesbaren
Mediums umfassen eine elektrische Verbindung (elektronisch), die
eine oder mehrere Drähte
aufweist, eine tragbare Computerdiskette (magnetisch), einen Direktzugriffsspeicher
(RAM) (elektronisch), einen Nur-Lese-Speicher (ROM) (elektronisch),
eine optische Faser (optisch) und einen tragbaren Kompaktplatten-Nur-Lese-Speicher
(CDROM; CDROM = Compact Disc ROM) (optisch). Es sei bemerkt, daß das computerlesbare
Medium sogar Papier oder ein anderes geeignetes Medium sein kann,
auf das das Programm gedruckt ist, da das Programm beispielsweise über ein
optisches Abtasten bzw. Scannen des Papiers oder des anderen Mediums
elektronisch erfaßt,
dann kompiliert bzw. zusammengestellt, interpretiert oder auf eine
andere geeignete Art und Weise, wenn notwendig, verarbeitet und
dann in einem Computerspeicher gespeichert werden kann.
-
4 ist
ein Flußdiagramm
der Teilroutine 320 für
verflochtene Verbindungen einer integrierten Schaltung zum Herstellen
einer integrierten Schaltung, die entworfen ist, um Verbindungen
derart neu anzuordnen, daß Signale
in entgegengesetzten Richtungen in parallelen benachbarten Verbindungen
laufen. Das Flußdiagramm
von 4 zeigt die Architektur, die Funktionalität und den
Betrieb einer möglichen
Implementation der Teilroutine 320 für verflochtene Verbindungen
einer integrierten Schaltung. In dieser Hinsicht stellt jeder Block
ein Modul, Segment oder Abschnitte eines Codes dar, der einen oder
mehrere ausführbare
Befehle zum Implementieren der spezifizierten logischen Funktion(en)
aufweist. Fachleute können
das Flußdiagramm
von 4 an eine Teilroutine für jedes beliebige Programm
für den
Entwurf einer integrierten Schaltung anpassen.
-
Solche
Programme für
den Entwurf von integrierten Schaltungen sind in den folgenden Dokumenten
beschrieben: dem U.S.-Patent
Nr. 6,185,726, erteilt an Chou; „Modeling of High Speed Metal-Insulator-Semiconductor
Interconnections: The Effect of ILD on Slow-Wave Attenuation„, einer
Doktorarbeit von Liyong Wang, die der Graduate Faculty of Renselaer
Polytechnic Institute, vorgelegt wurde, und die bei http://inp.cie.rpi.edu/resarch/mcdonald/frisc/theses/L.Wang
Thesis.html erhältlich
ist; „Investigation
of Interconnect Capacitance using Charge-Based Capacitance Measurement
(CBCM) Technique and 3-D Simulation„, von Sylvester u.a., IEEE
Journal of Solid-State Circuits, März 1998, S. 500–503; „High Frequency
VLSI Interconnect Modeling„,
von Sylvester, erhältlich
bei http://www.device.eecs.berkeley.edu/ ~dennis/ee241/final. html; und „Design
of VLSI Systems„,
erhältlich
bei http://vlsi.wpi.edu/webcourse/toc.htm]; die hierin durch Bezugnahme
vollständig
aufgenommen sind.
-
In 4 tritt
das Programm 318 zur Herstellung einer integrierten Schaltung
in die Teilroutine 320 für verflochtene Verbindungen
einer integrierten Schaltung bei einem Schritt 402 ein.
Bei einem Schritt 404 identifiziert die Teilroutine die
Verbindungen, die Knoten verbinden, die Funktionsblöcken zugeordnet
sind. Bei einem Schritt 406 bestimmt die Teilroutine 320 für verflochtene
Verbindungen einer integrierten Schaltung die Richtung des Signallaufs in
jeder der Verbindungen, die bei dem Schritt 404 identifiziert
werden. Bei einem Schritt 408 plaziert die Teilroutine 320 für Verbindungen
einer integrierten Schaltung jede der identifizierten Verbindungen
in der integrierten Schaltung, derart, daß die Richtung des Signallaufs
in benachbarten Verbindungen abwechselt. Der Schritt 408 umfaßt ferner
den Schritt des Bewertens, ob Änderungen
der integrierten Schaltung, um das Verflechten der identifizierten
Verbindungen durchzuführen,
den Aufwand des Neuentwurfs wert sind.
-
Dies
kann durch eine einfache Prozedur erreicht werden, die die Verbindungen
bestimmt, die zwischen den gleichen zwei Funktionsblöcken verlaufen,
so daß die
Plazierung nicht den Betrieb der Funktionsblöcke beeinflußt. Daher
können
einige benachbarte Verbindungen bei dem Schritt 408 ohne Aufwand
verflochten werden. Wenn beispielsweise mehrere Verbindungen zwischen
zwei Funktionsblöcken
verlaufen, werden im Stand der Technik die mehreren Verbindungen
oftmals in der integrierten Schaltung plaziert, wobei alle Verbindungen
Signale in der gleichen Richtung nahe zueinanderliegend tragen.
Bei diesem Beispiel können
die mehreren Verbindungen ohne Aufwand verflochten werden, wenn die
Funktionsblöcke
die Knotenänderungen
aufnehmen können,
die erforderlich sind, um die Signale in den verflochtenen Verbindungen
zu übertragen.
Die Bewertung kann ferner unter Verwendung einer Kostenfunktion
durchgeführt
werden.
-
Im
anderen Extremfall können
benachbarte Verbindungen in einer Richtung seriell entlang getrennter
Funktionsblöcke,
die nicht ohne weiteres neu positioniert werden können, verlaufen.
Die Neuanordnung der Architektur der integrierten Schaltung kann
nicht ratsam sein, um den Vorteil einer Reduzierung der Miller-Kapazität in benachbarten
Verbindungen zu erlangen. Fachleute erkennen die große Menge
der möglichen
Kombinationen von Funktionsblöcken
und resultierenden Verbindungen, die verwendet werden kann, um eine
integrierte Schaltung zu entwerfen, um ein spezielles Ziel zu erreichen.
Fachleuten sind die Kompromisse bekannt, um die Ziele des Entwurfs
einer integrierten Schaltung zu erreichen, während das Ziel erreicht wird.
Fachleute können
berechnen, ob die Vorteile der reduzierten Miller-Kapazität den Aufwand
des Neupositionierens und/oder Modifizierens der Architektur der
integrierten Schaltung wert sind. Fachleute können eine solche Berechnung
in dem Schritt 408 anwenden. Bei einem Schritt 410 wird
die Teilroutine für
verflochtene Verbindungen einer integrierten Schaltung 320 angeregt
und die Entwurfssoftware der integrierten Schaltung kehrt zu dem
Hauptprogramm zurück.