DE10205559B4 - Integrierte Schaltung und Verfahren und Vorrichtung zum Entwurf einer integrierten Schaltung - Google Patents

Integrierte Schaltung und Verfahren und Vorrichtung zum Entwurf einer integrierten Schaltung Download PDF

Info

Publication number
DE10205559B4
DE10205559B4 DE10205559A DE10205559A DE10205559B4 DE 10205559 B4 DE10205559 B4 DE 10205559B4 DE 10205559 A DE10205559 A DE 10205559A DE 10205559 A DE10205559 A DE 10205559A DE 10205559 B4 DE10205559 B4 DE 10205559B4
Authority
DE
Germany
Prior art keywords
connections
connection
integrated circuit
capacity
miller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10205559A
Other languages
English (en)
Other versions
DE10205559A1 (de
Inventor
Brian C. Fort Collins Miller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Avago Technologies General IP Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avago Technologies General IP Singapore Pte Ltd filed Critical Avago Technologies General IP Singapore Pte Ltd
Publication of DE10205559A1 publication Critical patent/DE10205559A1/de
Application granted granted Critical
Publication of DE10205559B4 publication Critical patent/DE10205559B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

Abstract

Integrierte Schaltung, wobei die integrierte Schaltung Funktionsblöcke und wenigstens vier Verbindungen (202, 204, 206, 208) zum Koppeln der Funktionsblöcke aufweist, und wobei die integrierte Schaltung folgende Merkmale aufweist:
(a) einen ersten Satz von Verbindungen (202, 206) mit parallelen Leitungsabschnitten, die konfiguriert sind, um Signale (210, 214) in einer ersten Richtung von einem ersten Funktionsblock zu einem zweiten Funktionsblock auszubreiten; und
(b) einen zweiten Satz von Verbindungen (204, 208) mit parallelen Leitungsabschnitten, die konfiguriert sind, um Signale in einer zweiten Richtung entgegengesetzt zu der ersten Richtung auszubreiten,
wobei die Verbindungen (202, 204, 206, 208) derart angeordnet sind, dass zwischen je zwei Verbindungen eines der beiden Sätze eine Verbindung des anderen Satzes liegt, so dass die Richtungen der Signalausbreitung in benachbarten Verbindungen entgegengesetzt zueinander sind, wodurch Miller-Kapazitäten zwischen den Verbindungen reduziert sind.

Description

  • 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.

Claims (10)

  1. Integrierte Schaltung, wobei die integrierte Schaltung Funktionsblöcke und wenigstens vier Verbindungen (202, 204, 206, 208) zum Koppeln der Funktionsblöcke aufweist, und wobei die integrierte Schaltung folgende Merkmale aufweist: (a) einen ersten Satz von Verbindungen (202, 206) mit parallelen Leitungsabschnitten, die konfiguriert sind, um Signale (210, 214) in einer ersten Richtung von einem ersten Funktionsblock zu einem zweiten Funktionsblock auszubreiten; und (b) einen zweiten Satz von Verbindungen (204, 208) mit parallelen Leitungsabschnitten, die konfiguriert sind, um Signale in einer zweiten Richtung entgegengesetzt zu der ersten Richtung auszubreiten, wobei die Verbindungen (202, 204, 206, 208) derart angeordnet sind, dass zwischen je zwei Verbindungen eines der beiden Sätze eine Verbindung des anderen Satzes liegt, so dass die Richtungen der Signalausbreitung in benachbarten Verbindungen entgegengesetzt zueinander sind, wodurch Miller-Kapazitäten zwischen den Verbindungen reduziert sind.
  2. Integrierte Schaltung gemäß Anspruch 1, bei der die relative Platzierung des ersten Funktionsblocks bezüglich des zweiten Funktionsblocks ausgewählt ist auf der Basis, ob die Gesamtverbindungslänge für die integrierte Schaltung reduziert ist im Vergleich zu einer alternativen relativen Platzierung des ersten Funktionsblocks bezüglich des zweiten Funktionsblocks.
  3. Verfahren zum automatisierten Entwerfen einer integrierten Schaltung, wobei die integrierte Schaltung verbundene Funktionsblöcke aufweist, mit folgenden Schritten: (a) Identifizieren von wenigstens vier Verbindungen (202, 204, 206, 208) mit parallelen Leitungsabschnitten, die erforderlich sind, um einen ersten Funktionsblock mit einem zweiten Funktionsblock zu koppeln; (b) Bestimmen einer Richtung der Signalausbreitung entlang der Verbindungen (202, 204, 206, 208); und (c) Anordnen der Verbindungen (202, 204, 206, 208) derart, dass zwischen je zwei Verbindungen eines ersten Satzes von Verbindungen eine Verbindung eines zweiten Satzes von Verbindungen liegt, so dass die Richtungen der Signalausbreitung in benachbarten Verbindungen entgegengesetzt zueinander sind, wodurch Miller-Kapazitäten zwischen den Verbindungen reduziert werden.
  4. Verfahren gemäß Anspruch 3, bei dem die Schritte des Identifizierens, des Bestimmens und des Anordnens in einem oder mehreren Sätzen von ausführbaren Befehlen enthalten sind.
  5. Verfahren gemäß Anspruch 3 oder 4, bei dem der erste und der zweite Funktionsblock Zustandsmaschinen umfassen.
  6. Verfahren gemäß einem der Ansprüche 3 bis 5, bei dem der Schritt des Platzierens der Verbindungen (202, 204, 206, 208) den Schritt des Auswertens einer Kostenfunktion aufweist, die eine Verbindungs-zu-Verbindungs-Kapazität eines Entwurfs aufgrund der Miller-Kapazität berücksichtigt.
  7. System zum Entwerfen einer integrierten Schaltung, wobei die integrierte Schaltung Funktionsblöcke aufweist und entworfen ist, um ein Ziel zu erreichen, wobei das System folgende Merkmale aufweist: (a) eine Einrichtung zum Identifizieren von wenigstens vier Verbindungen (202, 204, 206, 208) mit parallelen Leitungsabschnitten an der Schnittstelle von einem ausgewählten der Funktionsblöcke; (b) eine Einrichtung zum Bestimmen der Richtung der Signalausbreitung auf den Verbindungen (202, 204, 206, 208); und (c) eine Einrichtung zum Anordnen der Verbindungen (202, 204, 206, 208), derart, dass zwischen je zwei Verbindungen eines ersten Satzes von Verbindungen eine Verbindung eines zweiten Satzes von Verbindungen liegt, so dass die Richtungen der Signalausbreitung in benachbarten Verbindungen entgegengesetzt zueinander sind, wodurch die Miller-Kapazitäten zwischen den Verbindungen reduziert sind.
  8. System gemäß Anspruch 7, bei dem die Einrichtung zum Identifizieren, die Einrichtung zum Bestimmen und die Einrichtung zum Anordnen in einem oder mehreren Sätzen von ausführbaren Befehlen enthalten sind.
  9. System gemäß Anspruch 7 oder 8, bei dem der Funktionsblock eine Zustandsmaschine umfasst.
  10. System gemäß einem der Ansprüche 7 bis 9, bei dem die Einrichtung zum Auswählen eine Einrichtung zum Auswerten einer Kostenfunktion aufweist, die eine Verbindungs-zu-Verbindungs-Kapazität eines Entwurfs aufgrund der Miller-Kapazität berücksichtigt.
DE10205559A 2001-02-14 2002-02-11 Integrierte Schaltung und Verfahren und Vorrichtung zum Entwurf einer integrierten Schaltung Expired - Fee Related DE10205559B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/783,434 2001-02-14
US09/783,434 US6567966B2 (en) 2001-02-14 2001-02-14 Interweaved integrated circuit interconnects

Publications (2)

Publication Number Publication Date
DE10205559A1 DE10205559A1 (de) 2002-08-29
DE10205559B4 true DE10205559B4 (de) 2007-05-10

Family

ID=25129237

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10205559A Expired - Fee Related DE10205559B4 (de) 2001-02-14 2002-02-11 Integrierte Schaltung und Verfahren und Vorrichtung zum Entwurf einer integrierten Schaltung

Country Status (3)

Country Link
US (1) US6567966B2 (de)
JP (1) JP2002318827A (de)
DE (1) DE10205559B4 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103863B2 (en) * 2001-06-08 2006-09-05 Magma Design Automation, Inc. Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system
US6640331B2 (en) * 2001-11-29 2003-10-28 Sun Microsystems, Inc. Decoupling capacitor assignment technique with respect to leakage power
US6938234B1 (en) * 2002-01-22 2005-08-30 Cadence Design Systems, Inc. Method and apparatus for defining vias
US7218491B2 (en) * 2002-12-23 2007-05-15 Intel Corporation Electrostatic discharge protection unit including equalization
US7823112B1 (en) 2003-05-30 2010-10-26 Golden Gate Technology, Inc. Method, software and system for ensuring timing between clocked components in a circuit
US7992122B1 (en) * 2005-03-25 2011-08-02 Gg Technology, Inc. Method of placing and routing for power optimization and timing closure
JP4850566B2 (ja) * 2006-04-12 2012-01-11 三菱電機株式会社 伝送特性解析装置及びプログラム
US7577933B1 (en) * 2006-11-17 2009-08-18 Sun Microsystems, Inc. Timing driven pin assignment
US8751999B2 (en) * 2011-07-05 2014-06-10 Fujitsu Limited Component placement tool for printed circuit board
US8935559B2 (en) * 2012-01-27 2015-01-13 Nvidia Corporation System and method for reducing crosstalk in on-chip networks using a contraflow interconnect and offset repeaters
JP6089849B2 (ja) * 2013-03-22 2017-03-08 富士通株式会社 プログラム、情報処理装置および設計検証方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5306967A (en) * 1992-05-29 1994-04-26 Integrated Device Technology, Inc. Apparatus for improving signal transmission along parallel lines
US5481695A (en) * 1993-10-26 1996-01-02 Cadence Design Systems, Inc. System and method for estimating crosstalk between signal lines in a circuit
US5535133A (en) * 1995-02-09 1996-07-09 Unisys Corporation Method of fabricating IC chips with table look-up estimated crosstalk voltages being less than noise margin
US5687088A (en) * 1993-05-19 1997-11-11 Matsushita Electric Industrial Co., Ltd. Net list for use in logic simulation and back annotation method of feedbacking delay information obtained through layout design to logic simulation
US6185726B1 (en) * 1998-06-03 2001-02-06 Sony Corporation System and method for efficiently designing integrated circuit devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS607147A (ja) * 1983-06-24 1985-01-14 Mitsubishi Electric Corp 半導体装置
JP2753263B2 (ja) * 1988-05-13 1998-05-18 株式会社日立製作所 半導体集積回路の自動配線方法
US5123107A (en) * 1989-06-20 1992-06-16 Mensch Jr William D Topography of CMOS microcomputer integrated circuit chip including core processor and memory, priority, and I/O interface circuitry coupled thereto
US5287528A (en) * 1990-07-03 1994-02-15 National Instruments Corporation IEEE 488 interface for message handling method
JP3608832B2 (ja) * 1995-02-28 2005-01-12 富士通株式会社 自動配線方法および自動配線装置
GB9723440D0 (en) * 1997-11-06 1998-01-07 Int Computers Ltd Simulation model for a digital system
US6253359B1 (en) * 1998-01-29 2001-06-26 Texas Instruments Incorporated Method for analyzing circuit delays caused by capacitive coupling in digital circuits
US6175947B1 (en) * 1998-04-20 2001-01-16 International Business Machines Corporation Method of extracting 3-D capacitance and inductance parasitics in sub-micron VLSI chip designs using pattern recognition and parameterization
JP4560846B2 (ja) * 1998-07-23 2010-10-13 日本テキサス・インスツルメンツ株式会社 クロストーク防止回路
US6363516B1 (en) * 1999-11-12 2002-03-26 Texas Instruments Incorporated Method for hierarchical parasitic extraction of a CMOS design

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5306967A (en) * 1992-05-29 1994-04-26 Integrated Device Technology, Inc. Apparatus for improving signal transmission along parallel lines
US5687088A (en) * 1993-05-19 1997-11-11 Matsushita Electric Industrial Co., Ltd. Net list for use in logic simulation and back annotation method of feedbacking delay information obtained through layout design to logic simulation
US5481695A (en) * 1993-10-26 1996-01-02 Cadence Design Systems, Inc. System and method for estimating crosstalk between signal lines in a circuit
US5535133A (en) * 1995-02-09 1996-07-09 Unisys Corporation Method of fabricating IC chips with table look-up estimated crosstalk voltages being less than noise margin
US6185726B1 (en) * 1998-06-03 2001-02-06 Sony Corporation System and method for efficiently designing integrated circuit devices

Also Published As

Publication number Publication date
US6567966B2 (en) 2003-05-20
JP2002318827A (ja) 2002-10-31
DE10205559A1 (de) 2002-08-29
US20020112220A1 (en) 2002-08-15

Similar Documents

Publication Publication Date Title
DE69724245T2 (de) Verfahren zur plazierung von taktpuffern in einem taktverteilungssystem
EP1425638B1 (de) Verfahren zur validierung von simulationsergebnissen eines systems sowie darauf aufbauender äquivalenzvergleich digitaler schaltungen
DE68929518T2 (de) Verfahren zur Verwendung einer elektronisch wiederkonfigurierbaren Gatterfeld-Logik und dadurch hergestelltes Gerät
DE60005670T2 (de) Aktualisierung der platzierung während der technologieabbildung
DE102015200694A1 (de) Verfahren, computersystem und computerlesbares speichermedium zum erzeugen eines layouts eines integrierten schaltkreises
EP0855662B1 (de) Elektrische Analyse integrierter Schaltungen
DE19903633A1 (de) Implementierung von Boolescher Erfüllbarkeit mit nichtchronologischer Rückwärtsverarbeitung in rekonfigurierbarer Hardware
DE10205559B4 (de) Integrierte Schaltung und Verfahren und Vorrichtung zum Entwurf einer integrierten Schaltung
DE10127337A1 (de) Verfahren und Vorrichtung zum Erzeugen von beim Testen von Halbleiter-ICs verwendeten Testmustern
DE4425552A1 (de) Wafermaßstabsarchitektur für programmierbare Logikschaltungen
DE102013106541A1 (de) System zum Entwerfen einer Halbleitervorrichtung, die hergestelle Vorrichtung und Verfahren zur Verwendung des Systems
DE102006020186A1 (de) Vorrichtung und Verfahren von Verzögerungsberechnung für strukturierte ASIC
DE112021002870T5 (de) Halbleiterschaltungs-entwurf und einheits-pin-anordnung
DE69533567T2 (de) Vorrichtung und Verfahren zum Auffinden von False-Timing-Paths in digitalen Schaltkreisen
DE69718134T2 (de) Verfahren zur Herstellung einer hochintegrierten Schaltung
DE102012220715B4 (de) Gitterebenen mit wechselnden Abständen von Gitterleitungen für mehrschichtige Keramikpackungen sowie deren Entwurf
DE19704658A1 (de) Entwurfshilfsvorrichtung und -verfahren zum Entwerfen eines Halbleiterbauelements
DE102019124928A1 (de) Integriertes schaltungsdesign unter verwendung von fuzzy-maschinenlernen
DE4327652C2 (de) Integrierte Halbleiterschaltungsvorrichtung und Verfahren zum Entwerfen einer integrierten Halbleiterschaltungsvorrichtung
DE102022106423A1 (de) Verfahren zur Aufteilung von Simulationsmodellen zwischen einem Prozessor und einem FPGA
DE4327660C2 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE60116972T2 (de) Verfahren zum Entwerfen von Zeitablaufbudgets
DE102015221479A1 (de) Polymorphes schaltungssimulationssystem
EP1661048A2 (de) Verfahren zum entwurf von integrierten schaltkreisen mit ersatz-logikgattern
DE4124877C2 (de) Verfahren zum Anordnen und Verdrahten von Standardzellen einer integrierten Halbleiterschaltungsvorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 17/50

8127 New person/name/address of the applicant

Owner name: AVAGO TECHNOLOGIES GENERAL IP ( SINGAPORE) PTE. LT

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee