DE10104233B4 - Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen - Google Patents

Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen Download PDF

Info

Publication number
DE10104233B4
DE10104233B4 DE10104233A DE10104233A DE10104233B4 DE 10104233 B4 DE10104233 B4 DE 10104233B4 DE 10104233 A DE10104233 A DE 10104233A DE 10104233 A DE10104233 A DE 10104233A DE 10104233 B4 DE10104233 B4 DE 10104233B4
Authority
DE
Germany
Prior art keywords
wiring
lines
levels
level
assignment
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
DE10104233A
Other languages
English (en)
Other versions
DE10104233A1 (de
Inventor
Walter Dr. Stechele
Armin Windschiegl
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.)
Technische Universitaet Muenchen
Original Assignee
Technische Universitaet Muenchen
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 Technische Universitaet Muenchen filed Critical Technische Universitaet Muenchen
Priority to DE10104233A priority Critical patent/DE10104233B4/de
Publication of DE10104233A1 publication Critical patent/DE10104233A1/de
Application granted granted Critical
Publication of DE10104233B4 publication Critical patent/DE10104233B4/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Verfahren zur verlustleistungsgünstigen Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte digitale Halbleiterschaltungsanordnungen mit mehreren Verdrahtungsebenen mit den folgenden Schritten:
(a) Ermittlung einer Schalthäufigkeit der Signale auf den Leitungen, und
(b) Zuordnung der Leitungen zu den Verdrahtungsebenen, beginnend mit der Zuordnung der Leitung mit der größten Schalthäufigkeit zur obersten Verdrahtungsebene und in abnehmender Reihenfolge der Schalthäufigkeiten, oder beginnend mit der Zuordnung der Leitung mit der kleinsten Schalthäufigkeit zur untersten Verdrahtungsebene und in zunehmender Reihenfolge der Schalthäufigkeiten.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen mit einem günstigen Zeit- oder Verlustleistungsverhalten für integrierte Halbleiterschaltungsanordnungen.
  • Digitale Halbleiterschaltungsanordnungen großer Komplexität werden üblicherweise mit Hilfe eines halbkundenspezifischen Entwurfsverfahrens (Semicustom Design Flow) entwickelt. Viele Entwurfsaufgaben werden dabei von den Schaltungsentwicklern mit Hilfe von halbautomatischen Entwurfswerkzeugen (Design Tools) rechnergestützt durchgeführt. Bei der rechnergestützten Logiksynthese wird aus einer RTL(Register Trnsfer Level)-Beschreibung, z.B. in der Schaltungsbeschreibungssprache VHDL oder Verflog, eine Schaltung in Form einer Gatternetzliste erzeugt. Dabei wird die Schaltung bereits auf eine Zieltechnologie abgebildet; die sowohl eine Standardzell, eine Embedded Array als auch eine Gate Array Technologie darstellen kann. Bei der anschließenden Layout-Synthese wird die Gatternetzliste in ein Layout, also die physikalisch-geometrischen Abmessungen einer integrierten Halbleiterschaltungsanordnung, überführt.
  • Eine integrierte Halbleiterschaltungsanordnung dieser Art ist üblicherweise aus mehreren Zellen aufgebaut, die in Reihen angeordnet sind, wobei jede dieser Zellen beispielsweise ein logisches Gatter, ein speicherndes Element (Flip-Flop, Latch), eine arithmetische Einheit (Halbaddierer, Volladdierer) o. ä. darstellt. Die Verdrahtungsfläche für integrierte Halbleiterschaltungsanordnungen ist in Form mehrerer Verdrahtungsebenen vorgesehen, wobei die Anschlüsse der Zellen in der Verdrahtungsfläche so miteinander verbunden werden, daß verschiedene Schaltungen entstehen. Die Anschlüsse der Zellen befinden sich gewöhnlich auf der untersten Ebene. Zur Verbindung der Zellen werden Leitungen auf geeigneten Verdrahtungsebenen geführt.
  • Zur Verifikation der Gatternetzliste werden Verdrahtungslastmodelle (Wire Load Models) verwendet, mit denen versucht wird, die Einflüsse der Leiterbahnen der Verdrahtung auf das Timing und die Verlustleistung nachzubilden, bevor die zeitaufwendige Layout-Synthese durchgeführt wird. Nach dem jetzigen Stand der Technik wird zunächst eine Leitungslängenabschätzung nach der Größe einer Schaltung (Anzahl der Gatteräquivalente) und nach der Anzahl der Abzweigungen an einem Netzknoten (Fanout) vorgenommen. Die Verdrahtungslastmodelle werden dann als gewichteter Mittelwert der Kapazitäten und der Widerstände über alle Verdrahtungsebenen erzeugt. Die vom Halbleiterhersteller gelieferten Verdrahtungslastmodelle werden speziell für die verwendete Technologie generiert und basieren auf statistischen Daten aus einer Vielzahl von Schaltungen und Teststrukturen. Aufgrund der Mittelungen und Statistiken stellen sie jedoch nur ein ungenaues Modell der Verdrahtungslasten dar.
  • Eine weitere Möglichkeit Leitungseinflüsse zu berücksichtigen besteht darin, daß nach einem ersten Floorplanning-Schritt, d.h. erste Flächenabschätzung und Festlegen der Größe einer Floorplan-Partition (Boundary Box), eventuell in Verbindung mit einer zusätzlichen Zellplazierung, eine vorläufige Verdrahtungslängen-, Verdrahtungskapazitäts- und Widerstandsabschätzung vorgenommen wird.
  • In "Low-Power Digital CMOS Design (A. P. Chandrakasan, R. W. Brodersen, 1995)", S. 256 und in "Low-Power Digital VLSI Design (A. Bellaouar; M. I. Elmasry, 1995)", S. 490 werden Platzierungs- und Verdrahtungsverfahren für eine verlustleistungsgünstige Layout-Synthese sehr allgemein angesprochen, indem Signale mit hoher Schaltaktivität möglichst kurzen Leitungen zugeordnet werden und Signalen mit niedrigerer Schaltaktivität längere Leitungen zugeordnet werden können.
  • Viele Verdrahtungsalgorithmen für Technologien mit mehr als drei Verdrahtungsebenen (Multilayer Technologien) beginnen in der Regel auf der untersten Verdrahtungsebene und füllen die Ebenen von unten beginnend nach oben auf (z.B. in DAC, Institute of Electrical and Electronics Engineers, New York, und Association for Computing Machinery, New York, Seite 298 – 302, 1977).
  • In der DE 413284 A1 hingegen wird ein Verfahren zur Verdrahtung in einer integrierten Halbleiterschaltungsanordnung gezeigt, das kurze Leitungen auf unteren Ebenen und lange Leitungen auf oberen Ebenen verlegt, was zu einer besseren Ausnutzung aller verfügbaren Verdrahtungsebenen führt. Als Bewertungskriterium wird dazu eine Leitungslängenabschätzung anhand der globalen Verdrahtungswege herangezogen.
  • Die US 5,212,107 A beschreibt ein Verfahren, bei dem, um unterschiedliche Laufzeiten in Leitungen auszugleichen, die entsprechenden Leitungen identifiziert und bevorzugten Verdrahtungsebenen zugeordnet werden. Des Weiteren schlägt die US 5,212,107 A vor, die Zuordnung der Leitungen zu den einzelnen Verdrahtungsebenen anhand der jeweiligen Anzahl der Kreuzungen der einzelnen Leitungen vorzunehmen.
  • Beim Entwurf und der Verifikation einer Schaltung, während und nach jedem der oben genannten Entwurfsschritte, ergeben sich für den Schaltungsentwickler eine Reihe von Problemen. Einerseits benötigt der Schaltungsentwickler bereits nach einer ersten Logiksynthese Informationen, die eine möglichst genaue Analyse des Zeitverhaltens und der Verlustleistung der integrierten Schaltung ermöglichen, um damit auf eventuelle Verletzungen der Entwurfsziele, beispielsweise des Zeitverhaltens oder der Verlustleistung, reagieren zu können und den Schaltungsentwurf entsprechend zu ändern oder die Logiksynthese zu modifizieren. Andererseits ist die dazu notwendige genaue Analyse des Zeitverhaltens und der Verlustleistung erst möglich, wenn exakte Daten aus dem Layout zur Verfügung stehen. Genaue Leitungslängen und Leitungsverläufe sind erst nach der. Layout-Synthese bekannt. Die Verdrahtungen (On-Chip Leiterbahnen) verursachen beträchtliche Laufzeiten sowie Verlustleistung in der Schaltung. Verdrahtungslaufzeiten sind bei Techno logien ab einer gezeichneten Gate-Länge von ca. 0,5 μm bereits dominant gegenüber den Gatterlaufzeiten. Dies führt dazu, daß die Timing-Zielvorgaben nach der Layout-Synthese, bei der erst die genauen Leitungslaufzeiten bekannt werden, nicht mehr eingehalten werden können. Auch die Verlustleistung der Schaltung erhöht sich beträchtlich unter dem Einfluß der Leiterbahnen.
  • Da jedoch der exakte Verlauf einer Leitung vor dem vollständigen Layout nicht bekannt ist, insbesondere auf welcher Verdrahtungsebene sie verläuft, von welchen Leiterbahnen sie umgeben ist (Koppeleffekte) und auf welchem Weg sie verläuft (Topologie), sind herkömmliche Leitungsmodelle mit dem späteren Layout nicht konsistent, was zu beträchtlichen Fehlern bei der Timing- und Verlustleistungsanalyse führt. Um eine Schaltung genau analysieren zu können, müßte zunächst eine Layout-Synthese durchgeführt und aus dem Layout anschließend die Kapazitäts- und Widerstandswerte der Signal- und Taktleitungen extrahiert und der Analyse (Timing- oder Power-Analyse) zugeführt werden. Aus Gründen des beträchtlichen Zeitaufwandes, der dafür erforderlich ist, würde man dies gerne vermeiden.
  • Aufgabe der Erfindung ist es ein Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen mit mehreren Verdrahtungsebenen zu schaffen, das auf einfache Weise einen optimierten Entwurf der Halbleiterschaltungsanordnung ermöglicht.
  • Die Aufgabe wird durch die Merkmale der unabhängigen Patentansprüche gelöst. Die abhängigen Patentansprüche zeigen vorteilhafte Ausführungsformen und Weiterentwicklungen der Erfindung auf.
  • Das erfindungsgemäße Verfahren zur verlustleistungsgünstigen Zuordnung von Leitungen auf Verdrahtungsebenen für eine integrierte Halbleiterschaltungsanordnung mit mehreren Verdrahtungsebenen, die in Form einer Gatter-Netzliste vorliegen kann, weist zumindest die folgenden Schritte auf:
    Ermittlung einer Schalthäufigkeit, im folgenden auch Schaltaktivität genannt, der Signale auf den Leitungen. Dies kann beispielsweise durch eine Simulation der Schaltung anhand der vorgegebenen Gatter- Netzliste und vorgegebener Testmuster sowie einer Protokollierung der Schaltaktivitäten der Signale erfolgen.
  • Zuordnung der Leitungen zu den Verdrahtungsebenen, beginnend mit der Zuordnung der Leitung mit der größten Schaltaktivität zur obersten Verdrahtungsebene und in abnehmender Reihenfolge der Schaltaktivitäten, oder beginnend mit der Zuordnung der Leitung mit der kleinsten Schaltaktivität zur untersten Verdrahtungsebene und in zunehmender Reihenfolge der Schaltaktivitäten.
  • Beispielsweise können die Leitungen nach den ermittelten Schaltaktivitäten der Signale sortiert werden. Nach der Sortierung können die Leitungen in einer Reihenfolge abnehmender Schaltaktivitäten vorliegen und in dieser Reihenfolge den Verdrahtungsebenen zugeordnet werden.
  • Jede Leitung der Halbleiterschaltungsanordnung wird einer der Verdrahtungsebenen zugeordnet. Die Zuordnung der Leitungen zu einer Verdrahtungsebene kann solange erfolgen, wie die Verdrahtungsebene die Leitungen aufnehmen kann. Die Zuordnung kann auch in umgekehrter Reihenfolge von unten nach oben, beginnend mit der Zuordnung der Leitungen mit der kleinsten Schaltaktivität erfolgen.
  • Die Häufigkeit des Schattens der Signale auf den Verdrahtungen beeinflußt wesentlich die Verlustleistung auf den Leiterbahnen der Verdrahtung. und somit der gesamten Schaltung. Da bei den meisten Technologien für integrierte Halbleiterschaltungsanordnungen der Widerstand und/oder die Kapazität pro Längeneinheit einer Leiterbahn auf den oberen Verdrahtungsebenen geringer als auf den unteren Verdrahtungsebenen ist, kann durch eine entsprechende Zuordnung der Verdrahtungen mit hoher Schaltaktivität zu den oberen Verdrahtungsebenen die Verlustleistung der Verdrahtung zwischen den Zellen und somit auch die gesamte Verlustleistung der integrierten Halbleiterschaltungsanordnung minimiert werden.
  • Die integrierte Halbleiterschaltung kann beispielsweise Zellen mit Schaltungselementen und Anschlüssen aufweisen, wobei die Zellen mit zuvor festgelegten Verdrahtungen, die zumindest einen Leitungsabschnitt aufweisen, verbunden werden, um die gewünschte Funktion der Halbleiterschaltung zu realisieren. Unter einer Verdrahtung ist eine Verbindung zwischen Zellen zu verstehen, die aus mehreren Leitungen oder Leitungsabschnitten bestehen kann. Weiterhin kann eine Verdrahtung auch als ein allgemeines Netzwerk oder Netz ausgebildet sein, das beispielsweise Abzweigungen oder Knoten enthält.
  • Beispielsweise kann mit der Zuordnung der Leitungen, die die Verdrahtung von Zellen mit der größten Schaltaktivität bilden, zur obersten Verdrahtungsebene begonnen werden. Weitere Leitungen können in abnehmender Reihenfolge ihrer Schaltaktivitäten den Verdrahtungsebenen von oben nach unten zugeordnet werden.
  • Die einzelnen Verdrahtungsebenen können auch Leitungen (Leitungsabschnitte oder -Segmente) in unterschiedliche Richtungen aufnehmen. Beispielsweise kann eine Verdrahtungsebene Leitungen in einer horizontalen Verdrahtungsrichtung und eine andere Verdrahtungsebene Leitungen in einer vertikalen Verdrahtungsrichtung aufnehmen. Die Richtungen können zueinander orthogonal sein und in einer Ebene liegen. Die einzelnen Verdrahtungsebenen können parallel zu der Richtungsebene und übereinander angeordnet sein.
  • Die Zuordnung der einzelnen Leitungen der Verdrahtungen kann zu Paaren oder Triplets von Verdrahtungsebenen in Abhängigkeit ihrer Schaltaktivität erfolgen. Der horizontale und der vertikale Anteil einer Verdrahtung kann jeweils einer Verdrahtungsebene eines Verdrahtungsebenenpaares oder -Triplets zugeordnet werden. Die Verteilung der Leitungslänge auf einen horizontalen und vertikalen Anteil kann beispielsweise durch ein statistisches Modell erfolgen.
  • Die Anschlüsse der Zellen können mit den Leitungen auf einer untersten Verdrahtungsebene verbunden werden. Die Leitungen jeder Ebene können mit denjenigen der nächsten Ebene über Durchkontaktierungen (Vias) verbunden werden. Vorteilhafterweise weist eine integrierte Halbleiterschaltungsanordnung drei oder mehr Verdrahtungsebenen auf, wobei die unterste Verdrahtungsebene die Ebene ist, von der aus die Anschlüsse der Zellen mit den Leitungen verbunden werden.
  • Die Untersuchung der vorliegenden Schaltung und/oder der vorgegebenen Gatter-Netzliste zur Ermittlung der Schaltaktivitäten kann durch eine RTL- und/oder eine Gattersimulation erfolgen. Die Schaltaktivitäten an den Ein- und Ausgängen der Schaltung und an den Leitungen innerhalb der Schaltung können aufgezeichnet werden und als Kenngrößen für die Zuordnung der Leitungen zu den Verdrahtungsebenen verwendet werden.
  • Bei der Untersuchung der vorliegenden Schaltung und/oder der vorgegebenen Gatter-Netzliste für die Ermittlung der Schaltaktivitäten der Signale können verschiedene Testmuster verwendet und aus den Ergebnissen der verschiedenen Testmuster die Schaltaktivitäten ermittelt werden. Die Testmuster, die an die Schaltung angelegt werden, können aus Schaltaktivitäten/Datenfolgen einer oder mehrerer Benchmarktestumgebungen oder einem oder mehreren eigenen Testmustern stammen. Zur Ermittlung und Bewertung der Schaltaktivitäten an den Eingängen und auf den Leitungen können die Schaltaktivitäten eines einzelnen Benchmarks oder Mittelwerte der Schaltaktivitäten mehrerer Benchmarks, die Schaltaktivitäten eines einzelnen Testmusters oder Mittelwerte der Schaltaktivitäten mehrerer Testmuster verwendet werden. Weiterhin können die Schaltaktivitäten durch statistische Verfahren, insbesondere unter Verwendung von Hamming-Abständen, aus den Schaltaktivitäten einzelner Testmuster ermittelt werden.
  • Das erfindungsgemäße Verfahren kann sowohl für Taktleitungen als auch für Signalleitungen verwendet werden. Beispielsweise können Taktleitungen und Signalleitungen in einem gemeinsamen Verfahren zugeordnet werden. Da Taktleitungen meist eine hohe Schaltfrequenz besitzen, werden diese von, dem erfindungsgemäßen Verfahren automatisch den günstigen oberen Verdrahtungsebenen zugeordnet. Es ist aber auch möglich Takt- und Signalleitungen in getrennten Verfahren den Verdrahtungsebenen zuzuordnen. Sowohl bei dem gleichzeitigen Verdrahten von Takt- und Signalleitungen, als auch bei separater Verdrahtung kann auf die Symmetrie des Taktbaumes besonderer Wert gelegt werden, d.h. ein minimaler Taktflankenversatz (clock skew) wird gefordert. Bei Bedarf, z.B. im Falle hochfrequenter und/oder sehr zeitkritischer Taknetze kann die Symmetrie des Taktnetzes Vorrang haben, so daß das Taknetz auf beliebigen Ebenen verdrahtet werden kann. Für zeitkritische Signalleitungen gilt ebenfalls, dass die Gewährleistung des Timing-Verhaltens bzw. der Funktionalität einer Schaltung Vorrang vor der Verlustleistungsoptimierung haben kann.
  • Die Leitungen zur Verdrahtung der Schaltung können nach den Werten der ermittelten Schaltaktivitäten in Gruppen eingeteilt werden, die jeweils einen bestimmten Anteil an der Gesamtzahl der Leitungen aufweisen. Die Gruppen können untereinander nach den Werten der Schaltaktivitäten der zugeordneten Leitungen geordnet sein. Die Zuordnung der Leitungen zu den Verdrahtungsebenen oder Verdrahtungsebenenpaaren/-triplets kann gruppenweise erfolgen, beginnend mit der Zuordnung der Leitungen der Gruppe mit den größten Schaltaktivitäten zur obersten Verdrahtungsebene oder Verdrahtungsebenenpaar/-triplet und in abnehmender Reihenfolge der Gruppen, oder beginnend mit der Zuordnung der Leitungen der Gruppe mit den kleinsten Schaltaktivitäten zur untersten Verdrahtungsebene oder Verdrahtungsebenenpaar/-triplet und in zunehmender Reihenfolge der Gruppen.
  • Die Leitungen können beispielsweise nach der Sortierung in mehrere Gruppen eingeteilt werden, die jeweils einen bestimmten Anteil der Leitungen an der Gesamtzahl der Leitungen aufweisen. Beispielsweise kann eine erste Gruppe 20% von der Gesamtzahl aller in der Schaltung vorkommenden Leitungen mit der höchsten Schaltaktivität und eine zweite und dritte Gruppe jeweils 40% von der Gesamtzahl aller in der Schaltung vorkommenden Leitungen mit den nächst höheren Schaltaktivitäten enthalten. Die Gruppen sind untereinander nach der Größe der Schaltaktivitäten der zugeordneten Leitungen geordnet. Die Zuordnung der Leitungen zu den Verdrahtungsebenen kann gruppenweise erfolgen, beginnend mit der Zuordnung der Leitungen der Gruppe mit den größten Schaltaktivitäten zur obersten Verdrahtungsebene und in abnehmender Reihenfolge der Gruppen, oder beginnend mit der Zuordnung der Leitungen der Gruppe mit den kleinsten Schaltaktivitäten zur untersten Verdrahtungsebene und in zunehmender Reihenfolge der Gruppen. Die Zuordnung der Leitungen in Gruppen kann das Verfahren wesentlich vereinfachen und die Durchführung besonders bei sehr vielen Leitungen beschleunigen.
  • Innerhalb der Gruppen können die Leitungen auch nach einem anderen Kriterium, beispielsweise ihrer Länge, geordnet und in dieser Reihenfolge der der jeweiligen Gruppe zugeordneten Verdrahtungsebene zugeordnet und/oder auf dieser ausgeführt werden.
  • Für jede Leitung kann ein Verdrahtungslastmodell unter Berücksichtigung der für die entsprechende Verdrahtungsebene und sämtlicher Durchkontaktierungen zwischen Verdrahtungsebenen spezifischen physikalischen-technischen Daten und Charakteristika bestimmt werden. Die Verdrahtungslastmodelle der einzelnen Leitungen können zur Bestimmung von Verdrahtungslastmodellen der aus den Leitungen zusammengesetzten Verdrahtungen und zur Nachbildung der Einflüsse der Leiterbahnen auf die Verlustleistung der Schaltung verwendet werden. Die so ermittelten Verdrahtungslastmodelle sind sehr viel genauer wie die üblicherweise verwendeten, da die unterschiedlichen physikalisch-technischen Eigenschaften, insbesondere Leitungswiderstände und/oder -kapazitäten, der verschiedenen Verdrahtungsebenen berücksichtigt werden.
  • Die Verlustleistung der Halbleiterschaltung oder die Verlustleistung von Teilen der Schaltung kann anhand der ermittelten Verdrahtungslastmodelle und/oder der ermittelten Schaltaktivitäten bestimmt werden. Durch die Verwendung der genauen Verdrahtungslastmodelle läßt sich eine genaue Abschätzung der von der Schaltung aufgenommenen Leistung durchführen.
  • Bei Überschreiten eines vorbestimmten Werts für die Verlustleistung kann die RTL-Beschreibung der Schaltung, die Parameter der Logiksynthese und/oder die Anordnung der Zellen verändert werden. Die Einhaltung dieses Entwurfskriteriums kann durch eine Untersuchung der vorliegenden Schaltung, unter Berücksichtigung der Verdrahtungslastmodelle zur Ermittlung der Einflüsse der Verdrahtungen auf die Verlustleistung der Schaltung, überprüft werden und die RTL-Beschreibung der vorliegenden Schaltung, die Logiksynthese und/oder die Anordnung der Zellen sowie deren Treiberstärke können modifiziert werden, falls das Entwurfskriterium nicht erfüllt wird. Dabei kann die Einhaltung von Vorgaben für die Verlustleistung der Schaltung geprüft werden, ohne daß eine zeitaufwendige Layout-Synthese durchgeführt werden muß. Eventuelle Verletzungen von Entwurfszielen können durch eine Modifikation der vorliegenden RTL-Beschreibung der Schaltung, der Parameter der Logiksynthese und/oder der Anordnung der Zellen und/oder deren Treiberstärke korrigiert werden.
  • Anschließend können die obigen Schritte für die modifizierte RTL-Beschreibung der Schaltung und/oder eine modifizierte Gatternetzliste wiederholt werden. Es kann ein iterativer Entwurfsprozeß entstehen, in dem ein Entwurfskriterium berücksichtigt und die Einhaltung der Entwurfsziele für die integrierte Halbleiterschaltungsanordnung sichergestellt wird.
  • Die Ausführung der Leitungen der integrierten Halbleiterschaltungsanordnung kann auf der durch das obige Verfahren zugeordneten Verdrahtungsebenen oder Verdrahtungsebenenpaaren/-triplets erfolgen. Die tatsächliche Realisierung der Leiterbahnen für die Verdrahtungen auf den Verdrahtungsebenen stimmt mit den Verdrahtungslastmodellen besser überein als beim jetzigen Stand der Technik. Die Zuordnungen der Leitungen zu den Verdrahtungsebenen werden der Layout-Synthese in Form von Zwängen (Constranits) für die Realisierung der Leitungen übergeben. Die Layout-Synthese berücksichtigt diese Zwänge bei der Plazierung und Verdrahtung der Zellen. Die Verdrahtungslastmodelle können spezifische physikalisch-technische Daten und Charakteristika der einzelnen Verdrahtungsebenen und der Durchkontaktierungen verwenden. Die Verdrahtungslastmodelle können sehr detailliert aufgebaut werden und stimmen deshalb gut mit den Eigenschaften der tatsächlichen Realisierung der Leitungen überein.
  • Eine Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens zur verlustleistungsgünstigen Zuordnung von Leitungen auf Verdrahtungsebenen kann zumindest die folgenden Schritte ausführen: Ermittlung jeweils einer Schaltaktivität für eine Leitung, und Zuordnung der Leitungen zu den Verdrahtungsebenen, beginnend mit der Zuordnung der Leitung mit der größten Schaltaktivität zur obersten Verdrahtungsebene und in abnehmender Reihenfolge der Schaltaktivitäten, oder beginnend mit der Zuordnung der Leitung mit der kleinsten Schaltaktivität zur untersten Verdrahtungsebene und in zunehmender Reihenfolge der Schaltaktivitäten.
  • Ein erfindungsgemäßes Verfahren für die Zuordnung von Leitungen auf Verdrahtungsebenen mit günstigem Zeitverhalten für integrierte Halbleiterschaltungsanordnungen mit mehreren Verdrahtungsebenen weist zumindest folgende Schritte auf:
    Ermittlung einer ersten Signallaufzeit für Pfade, die mindestens eine Verdrahtung aufweisen, von jeweils einem Eingang zu einem Ausgang der Halbleiterschaltung.
  • Ein Pfad kann beispielsweise mehrere Zellen oder Gatter und die zugehörigen Verdrahtungen mit Leitungen zum Verbinden der Zellen enthalten. Die erste Signallaufzeit auf einem Pfad kann die gesamte Zeit vom Anliegen eines Signals an einem Eingang der Halbleiterschaltung bis zum Vorliegen eines entsprechenden Ausgangssignals an einem Ausgang der Schaltung umfassen.
  • Ermittlung jeweils einer Leitungslänge für die Verdrahtungen der einzelnen Pfade der Reihe nach, beginnend mit dem Pfad mit der längsten ersten Laufzeit. Für jeden Pfad werden die Leitungslängen der zugehörigen Verdrahtungen, beispielsweise durch eine Leitungslängenabschätzung, ermittelt. Der Pfad mit der längsten ermittelten ersten Laufzeit wird dabei zuerst betrachtet, da dieser Pfad kritisch für das Zeitverhalten der Schaltung sein kann, und die Leitungslängen der zugehörigen Verdrahtungen werden bestimmt.
  • Zuordnung der Leitungen der einzelnen Verdrahtungen zu der Verdrahtungsebene mit der kürzesten zweiten Signallaufzeit für die ermittelte Leitungslänge der jeweiligen Verdrahtung, beginnend mit der Verdrahtung mit der längsten ermittelten Leitungslänge und in abnehmender Reihenfolge der Leitungslängen der Verdrahtungen eines Pfades. Die Leitungen der einzelnen Verdrahtungen eines Pfades werden in der Reihenfolge der ermittelten Leitungslängen den Verdrahtungsebenen zugeordnet. Zuerst werden Verdrahtungen mit großen Leitungslängen den Verdrahtungsebenen mit den jeweils kürzesten zweiten Signallaufzeiten für diese Leitungslänge zugeordnet und anschließend werden Verdrahtungen mit kürzeren Leitungslängen den Verdrahtungsebenen zugeordnet. Verdrahtungen mit großen Leitungslängen können bevorzugt günstigen Verdrahtungsebenen zugeordnet werden, um die zweiten Signallaufzeiten auf diesen Verdrahtungen zu reduzieren.
  • Fortsetzung des Verfahrens für den nächsten Pfad in Reihenfolge abnehmender erster Signallaufzeiten der Pfade mit der Ermittlung der Leitungslängen des nächsten Pfades. Nach der vollständigen Zuordnung der Verdrahtungen eines Pfades wird mit der Zuordnung der Verdrahtungen des Pfades mit der nächst kürzeren ersten Laufzeit fortgefahren. Die Pfade werden in Reihenfolge abnehmender erster Laufzeiten der Signale auf den Pfaden jeweils vollständig bearbeitet, d.h. die zu den Pfaden gehörenden Verdrahtungen werden zugeordnet.
  • Signallaufzeiten und Leitungslängen sind die wesentlichen Größen, die das zeitliche Verhalten (Timing) einer Schaltung bestimmen und sollten möglichst früh in der Schaltungsentwicklung berücksichtigt werden, um eine korrekte Funktion der Schaltung zu gewährleisten.
  • Die Ermittlung der ersten Signallaufzeiten der Signale auf den Pfaden durch die Schaltung kann durch eine Zeitanalyse der Schaltung erfolgen. Die Signallaufzeiten können beispielsweise durch eine Simulation und/oder eine Logik-Synthese mit oder ohne Plazierung der Zellen und eine Timing-Analyse ermittelt werden. Beispielsweise können für die Ermittlung der ersten Signallaufzeiten die Laufzeiten auf den Verdrahtungen vernachlässigt und nur die reinen Gatterlaufzeiten berücksichtigt werden.
  • Eine Leitungslängenabschätzung kann anhand von globalen Verdrahtungswegen oder mit Hilfe von Näherungsverfahren, insbesondere Steinerbaum, Minimalgerüst, halber Rechteckumfang, erfolgen. Beispielsweise kann die Länge der Verdrahtungen zwischen den Zellen abgeschätzt werden. Durch eine Berücksichtigung der Signallaufzeiten und/oder der abgeschätzten Verdrahtungslängen bei der Zuordnung der Leitungen zu den Verdrahtungsebenen kann das Zeitverhalten der Schaltung verbessert werden. Verdrahtungen mit zeitkritischen Signalen können günstigen Verdrahtungsebenen zugewiesen werden, die die Laufzeit auf den Leitungen minimiert. Dabei kann neben den für eine Verdrahtungsebene charakteristischen Größen Widerstand und Kapazität pro Längeneinheit einer Leiterbahn insbesondere auch der Widerstand der Vias berücksichtigt werden.
  • Die zweiten Signallaufzeiten der einzelnen Verdrahtungen für die jeweilige Leitungslänge auf den verschiedenen Verdrahtungsebenen können anhand der Widerstände und/oder Kapazitäten der Leiterbahnen auf den verschiedenen Verdrahtungsebenen und/oder den benötigten Durchkontaktierungen (Vias) ermittelt werden. Durch die Berücksichtigung der für die entsprechende Verdrahtungsebene und sämtlicher Durchkontaktierungen zwischen den Verdrahtungsebenen spezifischen physikalischen-technischen Daten und Charakteristika kann die Bestimmung der zweiten Signallaufzeiten sehr genau durchgeführt werden.
  • Die Zuordnung der einzelnen Leitungen der Verdrahtungen zu Verdrahtungsebenen kann vorteilhafterweise anhand der technologieabhängigen kritischen Leitungslängen der Verdrahtungsebenen erfolgen. Die technologieabhängige kritische Leitungslänge einer Verdrahtungsebene gibt für jede Verdrahtungsebene eine Leitungslänge an, oberhalb der die Zuordnung einer Leitung zu dieser Verdrahtungsebene zu einer geringeren Signallaufzeit als eine Zuordnung auf eine darunter liegende Verdrahtungsebene führt. Die technologieabhängige kritische Leitungslänge einer Verdrahtungsebene gibt einen Grenzlänge an, für die eine Zuordnung von Leitungen mit einer größeren Länge als diese Grenzlänge zu dieser Verdrahtungsebene zu einer geringeren zweiten Signallaufzeit als eine Zuordnung zu den unter dieser Verdrahtungsebene liegenden Verdrahtungsebenen führt. Für Leitungslängen oberhalb der technologieabhängigen kritischen Leitungslänge sind der geringere Leitungswiderstand und die geringere Leitungskapazität der oberen Verdrahtungsebenen günstiger als die zusätzlichen Widerstände der Vias, die für die Durchkontaktierung bis zu den oberen Verdrahtungsebenen benötigt werden. Verdrahtungen mit einer bestimmten Leitungslänge, können der Verdrahtungsebene mit der größten kritischen Leitungslänge zugeordnet werden, die gerade noch kleiner als die bestimmte Leitungslänge der Verdrahtung ist.
  • Die technologieabhängige kritische Leitungslänge einer Verdrahtungsebene faßt die physikalischen-technischen Daten und Charakteristika einer Verdrahtungsebene im Hinblick auf die Laufzeit von Signalen zusammen und ermöglicht eine vereinfachte Zuordnung der Leitungen. Anstatt für jede Leitung einer bestimmten Länge die Laufzeit für alle Verdrahtungsebenen zu bestimmen und das Minimum der Laufzeiten zu ermitteln, kann eine einfache Zuordnung der Leitungen zu Verdrahtungsebenen durch eine Tabelle der technologieabhängigen kritischen Leitungslängen der Verdrahtungsebenen erfolgen. Diese Tabelle der technologieabhängigen kritischen Leitungslängen kann beispielsweise durch einen paarweisen Vergleich der Signallaufzeiten der Verdrahtungsebenen in Abhängigkeit der Leitungslänge erstellt werden. Für jedes Paar von Verdrahtungsebenen kann eine Grenzleitungslänge durch Gleichsetzen der Signallaufzeiten bestimmt werden. Durch Auswertung der Grenzleitungslängen wird dann die Tabelle der technologieabhängigen kritischen Leitungslängen für jede Verdrahtungsebene erstellt.
  • Die einzelnen Verdrahtungsebenen können auch Leitungen (Leitungsabschnitte oder -Segmente) in unterschiedliche Richtungen aufnehmen. Beispielsweise kann eine Verdrahtungsebene Leitungen in einer horizontalen Verdrahtungsrichtung und eine andere Verdrahtungsebene Leitungen in einer vertikalen Verdrahtungsrichtung aufnehmen. Die Richtungen können zueinander orthogonal sein und in einer Ebene liegen. Die einzelnen Verdrahtungsebenen können parallel zu der Richtungsebene und übereinander angeordnet sein.
  • Die Zuordnung der einzelnen Leitungen der Verdrahtungen kann zu Paaren oder Triplets von Verdrahtungsebenen mit den kürzesten Signallaufzeiten für die jeweilige Leitungslänge der entsprechenden Verdrahtung erfolgen. Der horizontale und der vertikale Anteil einer Verdrahtung kann jeweils einer Verdrahtungsebene eines Verdrahtungsebenenpaares oder -Triplets zugeordnet werden. Die Paare oder Triplets können so ausgewählt werden, daß die Signallaufzeiten für Leitungen einer bestimmten Länge minimal werden. Die Verteilung der Leitungslänge auf einen horizontalen und vertikalen Anteil kann beispielsweise durch ein statistisches Modell erfolgen. Vorteilhafterweise können die technologieabhängigen kritischen Leitungslängen der Verdrahtungsebenen zur Ermittlung des optimalen Verdrahtungsebenenpaares oder -Triplets verwendet werden.
  • Die Ermittlung der Leitungslängen der zu einem Pfad gehörenden Verdrahtungen und die Zuordnung der zugehörigen Leitungen kann vorteilhafterweise nur für die Pfade mit den längsten Laufzeiten ausgeführt werden. Die Verdrahtungen der restlichen Pfade können nach einem anderen Kriterium den Verdrahtungsebenen zugeordnet werden. Vor der Zuordnung der Leitungen zu den Verdrahtungsebenen können beispielsweise die kritischen Pfade der Schaltung ermittelt werden. Die kritischen Pfade sind die Signalpfade der Schaltung mit den längsten Laufzeiten. Sie können aus mehreren miteinander verdrahteten Zellen bestehen und durch eine Analyse des Zeitverhaltens ermittelt werden. Es kann beispielsweise ein bestimmter Anteil der Pfade mit den längsten Laufzeiten ausgewählt und eine Zuordnung der in diesen Pfaden enthaltenen Leitungen zu den Verdrahtungsebenen durchgeführt werden. Die restlichen Leitungen können in einem getrennten Verfahren, beispielsweise anhand der Schaltaktivitäten, den Verdrahtungsebenen zugeordnet werden.
  • Die Leitungen der kritischen Pfade werden beispielsweise nach der Laufzeit der Signale auf dem entsprechenden kritischen Pfad und/oder der Länge des kritischen Pfads sortiert. Nach der Sortierung der kritischen Pfade werden wiederum die in einem kritischen Pfad enthaltenen Netze untereinander nach ihrer abgeschätzten Länge oder nach globaler Leitungslänge sortiert und der Reihe nach den Verdrahtungsebenen zugeordnet. Beispielsweise werden beidem timing-günstigen Verfahren Verdrahtungen oder Netze eines kritischen Pfades mit einer Länge oberhalb der für eine Verdrahtungsebene oder ein Verdrahtungsebenenpaar typischen kritischen Leitungslänge der entsprechenden Verdrahtungsebene oder dem entsprechenden Verdrahtungsebenenpaar zugeordnet.
  • Weiterhin kann die Zuordnung der Leitungen der kritischen Pfade zu der Verdrahtungsebene/dem Verdrahtungsebenenpaar mit minimaler Signallaufzeit für die jeweilige Leitung erfolgen. Die kritischen Pfade werden in abnehmender Reihenfolge der ersten Signallaufzeiten behandelt. Für jede Verdrahtung kann eine abgeschätzte Länge ermittelt werden und das Verdrahtungsebenenpaar/die Verdrahtungsebene mit minimaler Laufzeit für die Signale auf dieser Verdrahtung kann beispielsweise durch eine Näherung ermittelt werden. Dabei können sowohl die Bahnwiderstände der metallischen Leiterbahnen (Sheet Resistances), als auch die Widerstände der Durchkontaktierungen berücksichtigt werden. Koppel- und Abschirmeffekte können mit Hilfe statistischer Methoden in die Kapazität pro Längeneinheit einbezogen werden. In jedem Fall können die Leitungen der Signalpfade der Schaltung mit den längsten ersten Laufzeiten den jeweils laufzeitgünstigsten Verdrahtungsebenen zugeordnet werden.
  • Für jede Leitung kann ein Verdrahtungslastmodell unter Berücksichtigung der für die entsprechende Verdrahtungsebene und sämtlicher Durchkontaktierungen zwischen Verdrahtungsebenen spezifischen physikalischen-technischen Daten und Charakteristika bestimmt werden. Die Verdrahtungslastmodelle der einzelnen Leitungen können zur Bestimmung von Verdrahtungslastmodellen der aus den Leitungen zusammengesetzten Verdrahtungen und zur Nachbildung der Einflüsse der Leiterbahnen auf das Zeitverhalten und die Verlustleistung der Schaltung verwendet werden.
  • Die ersten Laufzeiten der Signale auf Pfaden der Halbleiterschaltung können anhand der ermittelten Verdrahtungslastmodelle erneut bestimmt werden. Vorteilhafterweise kann die Einhaltung des Entwurfskriteriums durch eine Untersuchung der vorliegenden Schaltung unter Berücksichtigung der Verdrahtungslastmodelle zur Ermittlung der Einflüsse der Verdrahtungen auf das Zeitverhalten der Schaltung überprüft werden. Die RTL-Beschreibung der vorliegenden Schaltung, die Parameter der Logiksynthese und/oder die Anordnung der Zellen sowie deren Treiberstärke können modifiziert werden, falls das Entwurfskriterium nicht erfüllt wird. Dabei kann die Einhaltung von Vorgaben für das Zeitverhalten der Schaltung geprüft werden, ohne daß eine zeitaufwendige Layout-Synthese durchgeführt werden muß. Eventuelle Verletzungen von Entwurfszielen können durch eine Modifikation der vorliegenden RTL-Beschreibung der Schaltung, der Logiksynthese und/oder der Anordnung der Zellen und/oder deren Treiberstärke korrigiert werden.
  • Bei Überschreiten von vorbestimmten Werten für die ersten Laufzeiten der Signale können die RTL-Beschreibung der Schaltung, die Parameter der Logiksynthese und/oder die Anordnung der Zellen verändert wird. Anschließend können die obigen Schritte für die modifizierte RTL-Beschreibung der Schaltung und/oder eine modifizierte Gatternetzliste wiederholt werden. Es kann ein iterativer Entwurfsprozeß entstehen, der die Einhaltung der Entwurfsziele für die integrierte Halbleiterschaltungsanordnung sicherstellt.
  • Die Ausführung der Leitungen der integrierten Halbleiterschaltungsanordnung kann auf der durch das obige Verfahren zugeordneten Verdrahtungsebenen oder Verdrahtungsebenenpaare/-triplets erfolgen. Die tatsächliche Realisierung der Leiterbahnen für die Verdrahtungen auf den Verdrahtungsebenen stimmt mit den Verdrahtungslastmodellen besser überein als beim jetzigen Stand der Technik. Die Zuordnungen der Leitungen zu den Verdrahtungsebenen werden der Layout-Synthese in Form von Zwängen (Constraints) für die Realisierung der Leitungen übergeben. Die Layout-Synthese berücksichtigt diese Zwänge bei der Plazierung und Verdrahtung der Zellen. Die Verdrahtungslastmodelle können spezifische physikalisch-technische Daten und Charakteristika der einzelnen Verdrahtungsebenen und der Durchkontaktierungen verwenden. Die Verdrahtungslastmodelle können sehr detailliert aufgebaut werden und stimmen deshalb gut mit den Eigenschaften der tatsächlichen Realisierung der Leitungen überein.
  • Eine Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens zur Zuordnung von Leitungen auf Verdrahtungsebenen mit günstigem Zeitverhalten kann zumindest die folgenden Schritte ausführen: Ermittlung einer ersten Signallaufzeit für Pfad von einem Eingang zu einem Ausgang der Halbleiterschaltung, Ermittlung jeweils einer Leitungslänge Verdrahtungen der einzelnen Pfade der Reihe nach, beginnend mit dem Pfad mit der längsten ersten Signallaufzeit, Zuordnung der Leitungen der einzelnen Verdrahtungen zu den Verdrahtungsebenen mit der kürzesten zweiten Signallaufzeit für die ermittelte Leitungslänge der jeweiligen Verdrahtung, beginnend mit der Verdrahtung mit der längsten ermittelten Leitungslänge und in abnehmender Reihenfolge der Leitungslängen der Verdrahtungen eines Pfades, und Fortstzung des Verfahrens für den nächsten Pfad in Reihenfolge abnehmender erster Signallaufzeiten mit der Ermittlung der Leitungslängen.
  • Das erfindungsgemäße Verfahren ermöglicht es, bestimmte Entwurfsziele für eine integrierte Halbleiteranordnung, beispielsweise für die Verlustleistung der Schaltung oder das Zeitverhalten von Signalen, frühzeitig im Entwurfsprozeß zu berücksichtigen, noch bevor eine aufwendige Layout-Synthese zur Ermittlung der physikalisch-geometrischen Abmessungen der integrierten Halbleiteranordnung durchgeführt wird. Probleme bei der Einhaltung von Entwurfszielen können frühzeitig erkannt und behoben werden. Die verwendeten Verdrahtungslastmodelle sind durch die Berücksichtigung der Zwänge für die Realisierung der Leitungen in der Layout-Synthese konsistent mit der tatsächlichen Realisierung der Leitungen in der integrierten Halbleiterschaltungsanordnung.
  • Die folgende Beschreibung von Ausführungsbeispielen erfolgt anhand von beigefügten schematischen Figuren und Ablaufdiagrammen. Es zeigen:
  • 1 den Einfluß von parallelen Leitungen auf die Gesamtkapazität einer Leitung;
  • 2 ein Flußdiagramm zur Erläuterung eines Ausführungsbeispiels des Verfahrens;
  • 3 ein Flußdiagramm zur Erläuterung eines weiteren Ausführungsbeispiels des Verfahrens;
  • 4 Beispiele für die Zuordnung von Leitungen zu Verdrahtungsebenen; und
  • 5 ein Flußdiagram zur Erläuterung des erfindungsgemäßen Verfahrens zur Zuordnung von Leitungen auf Verdrahtungsebenen mit günstigem Zeitverhalten.
  • Die 1 erläutert den Einfluß von parallelen Leitungen auf die Gesamtkapazität einer Leitung und zeigt verschiedenen Fälle, die in einem detaillierten Verdrahtungslastmodel zu berücksichtigen sind.
  • Bei neueren Technologien für integrierte Halbleiterschaltungsanordnungen (mehr als drei Verdrahtungsebenen; Strukturgröße: 0,35 μm gezeichnete Gate-Läge oder kleiner) wirkt die Koppelkapazität zwischen benachbarten Leiterbahnen dominant gegenüber den Seitenflächen und Boden-/Deckflächenkapazitäten, da Leitungen, die auf der selben Verdrahtungsebene verlegt sind unter Umständen über weite Strecken parallel verlaufen. Zudem ist der Abstand zwischen unmittelbar benachbarten, auf der selben Verdrahtungsebene verlaufenden Leiterbahnen (Pitch) kleiner, als der Abstand zwischen Leiterbahnen, die unmittelbar übereinander auf verschiedenen Verdrahtungsebenen verlaufen. Aus technologischen Gründen ist der Abstand (Pitch) zwischen benachbarten Leiterbahnen auf den oberen Verdrahtungsebenen größer als auf unteren Verdrahtungsebenen. Dadurch ist die Koppelkapazität auf diesen Ebenen niedriger als auf den anderen Verdrahtungsebenen und somit ist auch die Gesamtkapazität pro Längeneinheit einer Leiterbahn auf diesen Ebenen geringer als auf anderen Verdrahtungsebenen.
  • Die Gesamtkapazität pro Längeneinheit kann durch folgende Näherungen ermittelt werden:
    • a) einzelne Leitung: Cges = Ca + 2 Cf0 (Gl. 1)
    • b) zwei parallele Leitungen: Cges = Ca + Cf0 + Cf1 + Cc (Gl. 2)
    • c) drei parallele Leitungen: Cges = Ca + 2 Cf1 + 2 Cc (Gl. 3)
  • Hierbei bezeichnet Ca eine Boden-/Deckflächenkapazität, Cf0 eine Seitenflächenkapazität ohne benachbarte Leitungen, Cf1 eine Seitenflächenkapazität mit benachbarten parallelen Leitungen und Cc eine Koppelkapazität paralleler Leitungen.
  • Im weiteren wird ein erstes Ausführungsbeispiel der vorliegenden Erfindung zur Erzeugung eines Verdrahtungslayouts mit minimaler Verlustleistung anhand der 2 beschrieben. Die Erzeugung eines verlustleistungsgünstigen Verdrahtungslayouts erfolgt durch das erfindungsgemäße Verfahren zur verlustleistungsgünstigen Zuordnung von Leitungen auf Verdrahtungsebenen und die Generierung eines zugehörigen Verdrahtungslastmodells, wobei die Schaltaktivitäten von Signal- und Taktleitungen als Bewertungskriterium verwendet werden.
  • In Schritt 90 wird mit Hilfe einer Schaltungsbeschreibungssprache wie z.B. VHDL oder Verflog eine RTL-Beschreibung einer Schaltung erstellt.
  • In Schritt 100 wird mit einem Logik-Synthese-Verfahren mit Hilfe von Synthese-Constraints und Synthese-Parameter aus einem RTL-Modell, beispielsweise in VHDL, eine Gatternetzliste erzeugt.
  • Ausgehend von dem vorliegenden RTL-Modell und der Gatternetzliste wird in Schritt 110 eine Simulation mit Aufzeichnung der Schaltaktivitäten bzw. der Umschaltwahrscheinlichkeiten durchgeführt. Es kann beispielsweise eine Register transferebenen- (RTL) und/oder eine Gattersimulation durchgeführt werden, wobei die Schaltaktivitäten an den Ein- und Ausgängen der Schaltung sowie der Netze (Verbindungen zwischen Zellen bestehend aus einer oder mehrerer Leitungen) innerhalb der Schaltung aufgezeichnet werden. Die Stimuli bzw. Testmuster, die an die Eingänge der Schaltung angelegt werden, können aus Schaltaktivitäten/Datenfolgen einer oder mehrerer Benchmarktestumgebungen oder einem oder mehreren eigenen Testmustern (selbst erstellten Testbenches) stammen. Zur Ermittlung und Bewertung der Schaltaktivitäten an den Eingängen und auf den Netzen können die Schaltaktivitäten eines einzelnen Benchmarks oder Mittelwerte der Schaltaktivitäten mehrerer Benchmarks, die Schaltaktivitäten eines einzelnen Testmusters oder Mittelwerte der Schaltaktivitäten mehrerer eigener Testmuster oder Kombinationen aus einigen oder allen der oben genannten Verfahren zur Generierung der Testmuster verwendet werden. Weiterhin können die Schaltaktivitäten durch statistische Verfahren, insbesondere unter Verwendung von Hamming-Abständen, aus den Schaltaktivitäten von Testmustern ermittelt werden.
  • Die Netze (Verbindungsleitungen) werden in Schritt 120 nach abnehmender Schaltaktivität sortiert. Die Netze können auch in Gruppen eingeteilt werden, wobei sich jeweils in einer Gruppe eine Anzahl von Netzen befinden, die einem prozentualen Anteil der Gesamtzahl aller in der Netzliste vorkommenden Netze entspricht, wobei die Gruppen untereinander wiederum eine Sortierung nach der Schaltaktivität darstellen.
  • Beispielsweise werden
    • – Netze mit der höchsten Schaltaktivität (20% von der Gesamtzahl aller in der Schaltung vorkommenden Netze) zu einer Gruppe zusammengefaßt;
    • – Netze mit mittlerer Schaltaktivität (40% von der Gesamtzahl aller in der Schaltung vorkommenden Netze) zu einer Gruppe zusammengefaßt; und
    • – Netze mit niedriger Schaltaktivität (40% von der Gesamtzahl aller in der Schaltung vorkommenden Netze) zu einer Gruppe zusammengefaßt.
  • Das hier vorgestellte Verfahren ist auch auf Technologien mit mehr als 6 Verdrahtungsebenen anwendbar, deshalb ist auch die Bildung von mehr als drei Gruppen denkbar. Durch die Gruppenbildung wird die anschließende Zuordnung der Netze zu den Verdrahtungsebenen vereinfacht.
  • In Schritt 130 werden die Leitungen den Verdrahtungsebenen zugeordnet und die Zuordnungen als Zwänge (Constraints) für die Layout-Synthese festgelegt. Dazu werden die Netze nach abnehmender Schaltaktivität (Umschaltwahrscheinlichkeit, toggle count), ggf. auch gruppenweise, den Verdrahtungsebenen von oben nach unten zugeordnet. Innerhalb der Gruppen können die Netze ebenfalls nach abnehmender Schaltaktivität sortiert werden, was sich darauf auswirkt, in welcher Reihenfolge die Netze bei dem später durchzuführenden Verdrahtungsschritt 170 verlegt werden. Alternativ können die Netze nach ansteigender Schaltaktivität, ggf. auch gruppenweise, den Verdrahtungsebenen von unten nach oben zugeordnet werden.
  • Die Zuordnung der Leitungen der einzelnen Netze kann auch zu Paaren oder Triplets von Verdrahtungsebenen erfolgen, wenn die einzelnen Verdrahtungsebenen bevorzugt Leitungen in verschiedene Richtungen (horizontal/vertikal) aufnehmen. Der horizontale und der vertikale Anteil eines Netzes kann jeweils einer Verdrahtungsebene eines Verdrahtungsebenenpaares zugeordnet werden. Die Bestimmung der Verteilung der Leitungslänge auf einen horizontalen und vertikalen Anteil kann beispielsweise durch ein statistisches Modell erfolgen.
  • Eine gruppenweise Zuordnung kann beispielsweise wie folgt aussehen:
    • – Netze mit der höchsten Schaltaktivität (20% von der Gesamtzahl aller in der Schaltung vorkommenden Netze) werden den Verdrahtungsebenen 5 (horizontal) und 6 (vertikal) zugeordnet.
    • – Netze mit mittlerer Schaltaktivität (40% von der Gesamtzahl aller in der Schaltung vorkommenden Netze) werden den Verdrahtungsebenen 3 (horizontal) und 4 (vertikal) zugeordnet.
    • – Netze mit niedriger Schaltaktivität (40% von der Gesamtzahl aller in der Schaltung vorkommenden Netze) werden den Verdrahtungsebenen 1 (horizontal) und 2 (vertikal)zugeordnet.
  • In der Regel wird das Taktnetz als erstes, also vor den Signalleitungen verlegt. Das erfindungsgemäße Verfahren kann Taktleitungen und Signalleitungen in einem gemeinsamen Verfahren zuordnen. Da Taktleitungen meist eine hohe Schaltfrequenz besitzen, werden diese automatisch den günstigen oberen Verdrahtungsebe nen zugeordnet. Bei Verwendung mehrerer Taktnetze können Signalleitungen eine höhere Schaltaktivität als ein Taktnetz mit niedriger Taktfrequenz haben und können deshalb ggf. vor dem Taktnetz mit niedriger Taktfrequenz verlegt werden. Insbesondere bei zeitkritischen Schaltungen kann jedoch die Symmetrie des Taktbaumes vorrang vor dem Verlustleistungsaspekt haben, so daß die Taktnetze als erste in der Reihenfolge ihrer Taktfrequenz, beginnend mit dem Taktnetz mit der höchsten Frequenz, verdrahtet werden.
  • Die auf diese Weise gewonnenen Informationen bezüglich der Verdrahtung der integrierten Halbleiterschaltungsanordnung werden zur Generierung des Verdrahtungslastmodells herangezogen. Die Kapazität pro Längeneinheit und damit die Gesamtkapazität eines Netzes (Leitung) kann aufgrund der Einschränkungen (Zwänge, Constrains) genauer berechnet bzw. vorhergesagt werden als dies mit herkömmlichen Verfahren möglich ist. Bei den herkömmlichen Verfahren wird die Kapazität pro Längeneinheit eines Netzes (Leitung) auf Statistiken basierend bzw. als gewichteter Mittelwert der Kapazität pro Längeneinheit über alle Verdrahtungsebenen ermittelt.
  • In Schritt 140 wird das Verdrahtungslastmodell für jedes Netz (Verbindungsleitung) durch einen Kapazitäts- und ggf. auch einen Widerstandswert berechnet. Bei der Berechnung der Kapazitäts- und Widerstandswerte wird die für eine Verdrahtungsebene typische Kapazität pro Längeneinheit bzw. der typische Widerstandswert pro Längeneinheit verwendet. Die Kapazität pro Längeneinheit kann auch aus einzelnen für eine Verdrahtungsebene spezifischen Kapazitätskomponenten (Boden-/Deckflächenkapazität, Seitenflächenkapazität, Koppelkapazität) berechnet werden (siehe 1). Weiterhin kann die Kapazität pro Längeneinheit auch aus dem Mittelwert der spezifischen Werte zweier benachbarter Verdrahtungsebenen (z.B. Ebene 5 horizontal/Ebene 6 vertikal, Ebene 3 horizontal/Ebene 4 vertikal, Ebene 1 horizontal/Ebene 2 vertikal) der oben genannten spezifischen Kapazitäts-, Widerstands- oder Induktivitätskomponentenwerte bestimmt werden. Die statistische Verteilung der drei Fälle "einzelne Leitung", "zwei benachbarte Leitungen" oder "drei benachbarte Leitungen" kann beispielsweise durch ein Modell nachgebildet werden.
  • Bevor die zeitaufwendige Layout-Synthese und eine Leitungsparasitätsextraktion (Leitungskapazitäten, -widerstände, -induktivitäten) aus dem Layout durchgeführt wird, kann dieses relativ schnell erzeugte layoutnahe Verdrahtungslastmodell in Schritt 150 einer Verlustleistungsanalyse zugeführt werden. Die Vorhersage der Leistungsaufnahme im Layout wird dadurch gewährleistet, daß in Schritt 170 eine Verdrahtung der Schaltung durchgeführt wird, die auf den selben Zwängen (Constraints) basiert, die auch zur Generierung des Verdrahtungslastmodells herangezogen wurden. Konkret heißt das, daß Leitungen auf jenen Verdrahtungsebenen verlegt werden, die durch die Zwänge (Constraints) in Schritt 130 festgelegt wurden. Das Leitungsmodell ist somit konsistent zu dem zu einem späteren Zeitpunkt erstellten Layout.
  • In Schritt 160 werden die Ergebnisse der Verlustleistungsanalyse mit dem Entwurfskriterium für die Schaltung verglichen. Können diese Entwurfsvorgaben mit der vorliegenden Schaltung und den ermittelten Zwängen, d.h. mit der Verdrahtung der Zellen durch die Zuordnung zu den Verdrahtungsebenen, nicht erfüllt werden, so wird zurück zu Schritt 90 verzweigt und Modifikationen an der Schaltung durchgeführt. Das ermittelte Verdrahtungslastmodell kann auch in einem Resyntheseschritt (Logik-Synthese) dazu verwendet werden, Treiberstärken in der ursprünglichen Netzliste anzupassen oder eine totale Resynthese durchzuführen und verzweigt zurück zu Schritt 100. Außerdem können bei einer gleichzeitigen Synthese/Plazierung sowie bei der Layout-Synthese/Zellplazierung die Treiberstärken angepaßt werden (in place optimization).
  • Ist das Entwurfskriterium mit dem vorliegenden Verdrahtungslayout erfüllt, so wird in Schritt 170 die aufwendige Layout-Synthese unter Berücksichtigung der ermittelten Zwänge (Constrains) durchgeführt. Dabei wird folgendes Verdrahtungsverfahren angewendet: Netze werden auf den Verdrahtungsebenen verlegt (ausgeführt), denen sie in Schritt 130 zugeordnet wurden.
  • Beispielsweise werden
    • – Netze mit der höchsten Schaltaktivität auf den Verdrahtungsebenen 5 und 6 verlegt;
    • – Netze mit mittlerer Schaltaktivität auf den Verdrahtungsebenen 3 und 4 verlegt; und
    • – Netze mit niedriger Schaltaktivität auf den Verdrahtungsebenen 1 und 2 verlegt.
  • Der tatsächliche Verlauf der Leitungen auf den Verdrahtungsebenen kann von einem Routingalgorithmus festgelegt werden. Die Ausführung der Leitungen auf den zugeordneten Verdrahtungsebenen erfolgt solange, wie der Routingalgorithmus den entsprechenden Platzbedarf der Leitungen auf diesen Verdrahtungsebenen erfüllen kann, sonst muß eine Leitung ggf. auf einer anderen Verdrahtungsebene realisiert werden.
  • Im folgenden wird ein weiteres Ausführungsbeispiel der vorliegenden Erfindung zur Erzeugung einer timing-günstigen Verdrahtung anhand der 3 beschrieben. Dabei wird als Bewertungskriterium für die Zuordnung der Verdrahtungen (Leitungen) auf den kritischen Pfaden zu den Verdrahtungsebenen die Laufzeit τ der Signale auf den Verdrahtungen herangezogen. Die Laufzeit τ kann aus dem Produkt aus Widerstand und Kapazität einer Leitung bestimmt werden, wobei die Leitungslänge beispielsweise durch den Einsatz von Floorplanner, Plazierer, anhand der globalen Verdrahungswege oder durch ein anderes Verfahren (Steinerbaum, Minimalgerüst, halber Rechteckumfang o.ä.) abgeschätzt werden kann.
  • In Schritt 190 wird mit Hilfe einer Schaltungsbeschreibungssprache wie z.B. VHDL oder Verflog eine RTL-Beschreibung einer Schaltung erstellt und in Schritt 200 wird mit einem Logik-Synthese-Verfahren mit Hilfe von Synthese-Constraints und Synthese-Parameter aus dem RTL-Modell eine Gatternetzliste erzeugt.
  • In Schritt 210 des Verfahrens werden zuerst die zeitkritischen Pfade der Schaltung aus der in Schritt 200 erzeugten Gatternetzliste ermittelt. Dies kann auf verschiedenen Wegen mit mehr oder weniger Aufwand erfolgen.
  • Bei der einfachsten Variante wird anhand der synthetisierten Gatternetzliste direkt eine Timing-Analyse durchgeführt und die Pfade mit den längsten Laufzeiten (kritische Pfade) werden protokolliert. Hierbei werden im wesentlichen nur die Gatterlaufzeiten auf den Pfaden betrachtet. Kritische Pfade mit vielen Gattern können schnell ermittelt werden.
  • Eine genauere Zeitanalyse kann erfolgen, indem eine synthetiserte Gatternetzliste innerhalb des physikalischen Synthese-Tools einer Zellplazierung unterzogen wird und die globalen Verdrahtungswege zur Leitungslängenabschätzung ermittelt werden (gleichzeitige Synthese und Plazierung). Anschließend wird eine Timing-Analyse unter Berücksichtigung der Zellplazierung und der abgeschätzten globalen Verdrahtungswege durchgeführt und die Pfade mit den längsten Laufzeiten (kritische Pfade) werden protokolliert.
  • Alternativ kann mit Hilfe eines Logiksynthese-Tools eine Gatternetzliste erzeugt und diese anschliessend in einem Layout-Tool einer Zellplazierung unterzogen werden, wobei die Timing-Abschätzung in dem Layout-Tool erfolgt. Dabei wird eine synthetiserte Gatternetzliste einer Zellplazierung zugeführt und die globalen Verdrahtungswege zur Leitungslängenabschätzung werden ermittelt (Floorplanner). Anschließend wird eine Timing-Analyse durchgeführt und die Pfade mit den längsten Laufzeiten (kritische Pfade) werden protokolliert.
  • Der Anteil der kritischen Pfade, die im weiteren berücksichtigt werden, kann frei gewählt werden, z.B. die 15% Pfade mit den längsten Laufzeiten. Selbstverständlich können auch alle Pfade in der Reihenfolge ihrer ermittelten Laufzeiten bei der Zuordnung von Verdrahtungsebenen berücksichtigt werden.
  • In Schritt 220 werden die Netze (Leitungen) auf den kritischen Pfaden ermittelt. Dazu werden die kritischen Pfade dahingehend untersucht, welche Netze (Verbindungsleitungen zwischen zwei Zellanschlüssen) in einem kritischen Pfad enthalten sind und die Leitungslängen der Netze werden abgeschätzt.
  • In Schritt 230 werden die Zuordnungen der Leitungen der Netze zu den Verdrahtungsebenen festgelegt und diese als Zwänge festgehalten. Dazu wird jedes Netz dem unten beschriebenen Zuordnungsverfahren zugeführt und der Verdrahtungsebene zugeordnet für die eine entsprechende Leitungslänge die kürzeste Signallaufzeit aufweist.
  • Beispielsweise werden Netze, die Bestandteil der kritischen Pfade sind, mit einer Leitungslänge oberhalb einer bestimmten Netzlänge, der technologieabhängigen kritischen Leitungslänge, den Ebenen mit der geringsten Kapazität pro Längeneinheit (in der Regel die obersten Verdrahtungsebenen 5 und 6 oder 6 und 7) zugeordnet. Netze der kritischen Pfade mit einer Leitungslänge unterhalb der kritischen Leitungslänge werden auf andere Ebenen verlegt. Die kritische Leitungslänge ist dabei jene Länge, ab der die Nachteile durch stacked vias (hoch resistiv ⇒ R steigt) kompensiert werden durch die niedrigere Kapazität pro Längeneinheit auf oberen Verdrahtungsebenen (niedrige C/1 ⇒ C sinkt). Die restlichen Netze können beispielsweise auf die übrigen Ebenen verteilt werden.
  • In Schritt 240 erfolgt die Generierung des Verdrahtungslastmodells anhand der unter Schritt 230 ermittelten Zwänge (Constraints). Für jeden Netzzweig, der zu einem Netz gehört, das auf einem kritischen Pfad liegt, wird ein Widerstands- und ein Kapazitätswert berechnet. Netzzweige sind Leitungsabschnitte von Pin zu Knoten, von Knoten zu Pin, und ggf. von Pin zu Pin (vgl. Elmore Delay Model, Leitungsmodell mit verteilten RC-Gliedern, abgehend von einem Netzknoten). Bei der Berechnung werden die für eine Verdrahtungsebene spezifischen Kapazitäts- und Widerstandswerte pro Längeneinheit berücksichtigt. Die Leitungslänge wird entweder abgeschätzt (Steinerbaum, Minimalgerüst, halber Rechteckumfang o.ä.) oder anhand der globalen Verdrahtungswege ermittelt.
  • Bevor die zeitaufwendige Layout-Synthese und eine Leitungsparasitätsextraktion (Leitungskapazitäten, -widerstände, -induktivitäten) aus dem Layout durchgeführt wird, kann dieses relativ schnell erzeugte layoutnahe Verdrahtungslastmodell in Schritt 250 einer erweiterten Timing-Analyse zugeführt werden. Die Vorhersage der Timing-Verhältnisse im Layout wird dadurch gewährleistet, daß in Schritt 270 eine Verdrahtung der Schaltung durchgeführt wird, die auf den selben Zwängen (Constraints) basiert, die auch zur Generierung des Verdrahtungslastmodells herangezogen wurden. Konkret heißt das, daß Leitungen auf jenen Verdrahtungsebenen verlegt werden, die durch die Zwänge (Constraints) unter Schritt 230 festgelegt wurden. Das Leitungsmodell ist somit konsistent zu dem zu einem späteren Zeitpunkt erstellten Layout.
  • In Schritt 260 werden die Ergebnisse der Verlustleistungs- und Timing-Analyse mit dem Entwurfskriterium für die Schaltung verglichen. Können diese Entwurfsvorgaben mit der vorliegenden Schaltung und den ermittelten Zwängen, d.h. mit der Verdrahtung der Zellen durch die Zuordnung zu den Verdrahtungsebenen, nicht erfüllt werden, so wird zurück zu Schritt 190 verzweigt und Modifikationen an der Schaltung und/oder dem Layout werden durchgeführt.
  • Das ermittelte Verdrahtungslastmodell kann auch in einem Resyntheseschritt (Logik-Synthese) dazu verwendet werden, Treiberstärken in der ursprünglichen Netzliste anzupassen oder eine komplette Resynthese durchzuführen (Schritt 200), bei einer gleichzeitigen Synthese/ Plazierung verwendet werden oder in Layout-Tools zur Treiberstärkenanpassung verwendet werden (in place optimization).
  • Ist das Entwurfskriterium mit dem vorliegenden Verdrahtungslayout erfüllt, so wird in Schritt 270 die aufwendige Layout-Synthese unter Berücksichtigung der ermittelten Zwänge durchgeführt. Dabei wird folgendes Verdrahtungsverfahren angewendet:
    Netze werden auf den Verdrahtungsebenen verlegt, denen sie unter Schritt 230 zugeordnet wurden, solange dies für die jeweiligen Verdrahtungsebenen möglich ist.
  • Die 4 zeigt Beispiele für die Zuordnung von Leitungen zu Verdrahtungsebenen. In 4a wird eine Leitungsführung auf den Verdrahtungsebenen 1 und 2 dargestellt. Mit M1 sind die Leitungen auf der Verdrahtungsebene (Metall) 1, die zur Aufnahme von vertikalen Leitungsabschnitten vorgesehen ist, und mit M2 sind die Leitungen auf der Verdrahtungsebene (Metall) 2, die zur Aufnahme von horizontalen Leitungsabschnitten vorgesehen ist, gekennzeichnet. V 12 bezeichnet die Durchkontaktierung von Verdrahtungsebene 1 nach Verdrahtungsebene 2.
  • In 4b wird eine Leitungsführung auf den Verdrahtungsebenen 5 und 6 dargestellt. Mit M5 sind die Leitungen auf der Verdrahtungsebene (Metall) 5, die zur Aufnahme von vertikalen Leitungsabschnitten vorgesehen ist, und mit M6 sind die Leitungen auf der Verdrahtungsebene (Metall) 6, die zur Aufnahme von horizontalen Leitungsabschnitten vorgesehen ist, gekennzeichnet. Weiterhin werden ver schiedene Durchkontaktierungen (Vias) V12, V23, V34, V45 und V56 zwischen den Verdrahtungsebenen gezeigt.
  • Die Zuordnung der Leitungen zu den Verdrahtungsebenen kann durch ein Näherungsverfahren erfolgen. Dieses wird in Bezug auf 5 für alle Pfade einer Schaltung erläutert. Selbstverständlich kann das Verfahren leicht abgewandelt auch nur für die Netze der oben erläuterten kritischen Pfade angewandt werden.
  • In Schritt 300 werden die Pfade einer Schaltung nach ihrer ersten Signallaufzeit in fallender Reihenfolge sortiert. Die Ermittlung der Signallaufzeiten erfolgt wie ausführlich in Schritt 210 der 3 erläutert.
  • In Schritt 310 wird zuerst der Pfad mit der längsten Signallaufzeit zum Start des Zuordnungsverfahrens ausgewählt.
  • Die in dem ausgewählten Pfad enthaltenen Netze (Verdrahtungen) werden in Schritt 320 in fallender Reihenfolge ihrer Länge sortiert. Dazu werden, ähnlich wie in Schritt 220 der 3, die in einem Pfad enthaltenen Netze und deren Leitungslänge ermittelt.
  • Die Zuordnung der Netze zu den Verdrahtungsebenen beginnt mit der Auswahl des Netzes mit der größten ermittelten Leitungslänge in Schritt 330.
  • In Schritt 340 wird das in Schritt 330 ausgewählte Netz der Verdrahtungsebene zugeordnet, die für ein Netz mit entsprechender Leitungslänge die kürzesten Signallaufzeit aufweist.
  • Dabei kann angenommen werden, daß jedes Netz aus (Leitungs-) Segmenten besteht, die auf mehreren verschiedenen Verdrahtungsebenen liegen können. Es kann ein Gewichtungsfaktor eingeführt werden, der angibt wieviel Prozent einer Leitungslänge auf der horizontalen und auf der vertikalen Verdrahtungsebene z.B. eines Ebenenpaares verlegt werden sollen. Beispielsweise werden auf Ebene 5 (vertikal) 40% der Leitungslänge, Ebene 6 (horizontal) 60% der entsprechenden Leitungslänge verlegt. Diese Gewichtung kann sich beispielsweise aus der Klasse des Verdrahtungs-Tools/-algorithmus und/oder aus dem Typ der Schaltung ergeben und modelliert die Verteilung von Netzsegmenten auf verschiedene Verdrahtungsebenen. Zudem ist für ein Semicustom-Layout charakteristisch, daß die Richtung der Leitungsführung von Verdrahtungsebene zu Verdrahtungsebene jeweils um einen bestimmten Winkel, in der Regel 90 Grad, verdreht ist. Die so gewonnenen Längen der einzelnen Leitungssegmente werden beim folgenden Berechnungsverfahren für die Zuordnung berücksichtigt.
  • Allgemein gilt für die Aufladezeit einer Kapazität und damit auch für die Laufzeit von Signale für Verdrahtungslasten: τ = RC (Gl. 4)
  • Die Laufzeit eines Signals auf einer Leiterbahn ist umso kürzer, je kleiner τ ist. Bei der Berechnung des Widerstandes kann sowohl der Widerstand der Vias, also der Durchkontaktierungen zwischen Verdrahtungsebenen, als auch der Bahnwiderstand pro Längeneinheit der metallischen Leiterbahnen berücksichtigt werden. Bei der Berechnung der Kapazität pro Längeneinheit c' wird durch statistische Verfahren modelliert, ob eine Leiterbahn von keiner, einer oder zwei parallelen Leiterbahnen auf der selben Ebene umgeben ist und zu diesen eine Koppelkapazität aufweist. Ebenso werden Koppel und Abschirmeffekte zu darunter oder darüber liegenden Layern in Form einer Statistik berücksichtigt.
  • Für eine Leitung, die beispielsweise auf den Verdrahtungsebenen 1 und 2 (siehe 4a) verlegt wird, berechnet sich der Widerstand also nach folgender Näherungsformel R = (2RVia12 + Rsheet m·1m1/wm1 + Rsheet m2·1m2/wm2) (Gl. 5)und die Kapazität nach folgender Näherung: C = c'm1 1m1 + c'm21m2 (Gl. 6)
  • RVia ist dabei der technologiespezifische Widerstand einer Durchkontaktierung, Rsheet ist die Sheet Resistance, also der für eine Verdrahtungsebene spezifische Widerstand pro Leiterbahnhöhe, 1 die Länge des Leitungssegments auf der betref fenden Verdrahtungsebene und w die Leiterbahnbreite. In Gl. 6 bedeutet c' die Kapazität pro Längeneinheit der betreffenden Verdrahtungsebene. c' setzt sich wiederum aus den einzelnen Kapazitätskomponenten nach 1 zusammen.
  • Für eine Leitung, die auf den Verdrahtungsebenen 5 und 6 (siehe 4 b) verlegt wird, berechnet sich der Widerstand nach folgender Näherungsformel: R = (2RVia12 + 2RVia23 + 2RVia34 + 2RVia45 + 2RVia56 + Rsheet m5·1m5/wm5 + Rsheet m6·1m6/wm6) (Gl. 7)und die Kapazität nach folgender Näherung: C = c'm51m5 + c'm61m6 (Gl. 8)
  • Allgemein ausgedrückt wird eine timing-günstige Verdrahtung erreicht, wenn die Laufzeit τ (= Bewertungskriterium) eines Netzes möglichst klein wird.
  • Bei einer Leitungsverlegung auf den Verdrahtungsebenen 5 und 6 wirkt sich die niedrigere Kapazität pro Längeneinheit günstig auf τ aus. Allerdings haben die vier übereinander liegenden Vias (stacked vias, siehe auch 4 b) einen ungünstigen Einfluß auf τ, da dadurch der Widerstand dieser Netze ansteigt. Der timinggünstigste Leiterbahnweg ist dadurch gekennzeichnet, daß τ in diesem Fall (z.B. Verdrahtung auf den Ebenen 5 und 6) kleiner ist als für alle anderen Fälle (Verdrahtungsebenen 1/2, Verdrahtungsebenen 2/3, Verdrahtungsebenen 3/4, Verdrahtungsebenen 4/5). Dies ist bei Leitungen ab einer bestimmten, technologiespezifischen Länge der Fall (abhängig von Leitermaterial, Leiterbahnbreite und – höhe der unteren Ebenenoberen Ebenen, Oxiddicke zwischen Ebenen, Pitch, Abmessungen der Vias, Material der Vias). Die technologiespezifischen kritischen Leitungslängen der Verdrahtungsebenen können durch einen paarweisen Vergleich der Laufzeiten für die Verdrahtungsebenen bestimmt werden. Durch Gleichsetzen der Laufzeiten für jeweils zwei Verdrahtungsebenen kann eine Grenzlänge für eine Leitung bestimmt werden, oberhalb der eine Zuordnung der Leitung zu einer der Verdrahtungsebenen zu einer geringeren Signallaufzeit führt.
  • Bei der Ermittlung der günstigsten Verdrahtungsebene für eine Verdrahtung können auch verschiedene Vereinfachungen getroffen werden. Es kann beispielsweise angenommen werden, daß eine Leiterbahn an allen Seiten von benachbarten Leiterbahnen umgeben ist und in alle Richtungen koppelt. Auch Abschirmeffekte können unberücksichtigt bleiben.
  • Unter Umständen wird bei der automatischen Verdrahtung ein kurzer Teil einer Verbindungsleitung zwischen zwei Pins, die eingentlich auf den Ebenen 2 und 3 geführt werden soll auf der Ebene 1 verlegt. Da zur Verdrahtung auf Ebene 1 häufig ein Material mit relativ hohem Widerstand (Wolfram) verwendet wird, gibt der Halbleiterhersteller meist Entwurfsregeln vor, daß diese Ebene nur für kurze Verbindungen verwendet werden soll. Diese kurzen Strecken auf Ebene 1 werden unter Umständen vernachlässigt.
  • In Schritt 350 wird geprüft, ob alle Verdrahtungen eines Pfades zugeordnet wurden. Falls noch nicht alle Verdrahtungen (Netze) eines Pfades zugeordnet wurden, verzweigt das Verfahren zurück zu Schritt 330 und wählt die nächste Verdrahtung, d.h. die Verdrahtung mit der nächst kleineren Leitungslänge aus der sortierten Liste der Verdrahtungen für den aktuellen Pfad aus.
  • Nachdem alle Verdrahtungen eines Pfades zugeordnet wurden, wird das Verfahren mit Schritt 360 fortgesetzt, in dem geprüft wird, ob bereits alle Pfade abgearbeitet wurden. Falls noch weitere Pfade zu bearbeiten sind, wird der nächste Pfad mit der nächst kleineren Laufzeit ausgewählt und zu Schritt 310 verzweigt, anderenfalls das Verfahren in Schritt 370 beendet.

Claims (22)

  1. Verfahren zur verlustleistungsgünstigen Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte digitale Halbleiterschaltungsanordnungen mit mehreren Verdrahtungsebenen mit den folgenden Schritten: (a) Ermittlung einer Schalthäufigkeit der Signale auf den Leitungen, und (b) Zuordnung der Leitungen zu den Verdrahtungsebenen, beginnend mit der Zuordnung der Leitung mit der größten Schalthäufigkeit zur obersten Verdrahtungsebene und in abnehmender Reihenfolge der Schalthäufigkeiten, oder beginnend mit der Zuordnung der Leitung mit der kleinsten Schalthäufigkeit zur untersten Verdrahtungsebene und in zunehmender Reihenfolge der Schalthäufigkeiten.
  2. Verfahren nach Anspruch 1, wobei die integrierte Halbleiterschaltung Zellen mit Schaltungselementen und Anschlüssen aufweist und die Zellen mit zuvor festgelegten Verdrahtungen, die zumindest eine Leitung aufweisen, verbunden werden.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Verbindung der Anschlüsse der Zellen mit den Leitungen auf einer untersten Verdrahtungsebene erfolgt und die Leitungen jeder Ebene mit denjenigen der nächsten Ebene über Durchkontaktierungen verbunden werden.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Ermittlung der Schalthäufigkeiten der Signale in Schritt (a) durch eine RTL- und/oder Gattersimulation erfolgt.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei bei der Ermittlung der Schalthäufigkeiten der Signale in Schritt (a) verschiedene Testmuster verwendet und aus den Ergebnissen der verschiedenen Testmuster die Schalthäufigkeiten ermittelt werden.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die zu verdrahtenden Leitungen nach den Werten der ermittelten Schalthäufigkeiten in Gruppen eingeteilt werden, die jeweils einen bestimmten Anteil an der Gesamtzahl der Leitungen aufweisen und die Gruppen untereinander nach den Werten der Schalthäufigkeiten der zugeordneten Leitungen geordnet sind, und die Zuordnung der Leitungen zu den Verdrahtungsebenen in Schritt (b) gruppenweise erfolgt, beginnend mit der Zuordnung der Leitungen der Gruppe mit den größten Schalthäufigkeiten zur obersten Verdrahtungsebene und in abnehmender Reihenfolge der Gruppen, oder beginnend mit der Zuordnung der Leitungen der Gruppe mit den kleinsten Schalthäufigkeiten zur untersten Verdrahtungsebene und in zunehmender Reihenfolge der Gruppen.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei für jede Leitung ein Verdrahtungslastmodell unter Berücksichtigung der für die entsprechende Verdrahtungsebene und sämtliche Durchkontaktierungen zwischen Verdrahtungsebenen spezifischen physikalischen-technischen Daten und Charakteristika bestimmt wird.
  8. Verfahren nach Anspruch 7, wobei die Verlustleistung der Schaltung anhand der ermittelten Verdrahtungslastmodelle und/oder der ermittelten Schalthäufigkeiten bestimmt wird.
  9. Verfahren nach Anspruch 8, wobei bei Überschreiten eines vorbestimmten Werts der Verlustleistung die RTL-Beschreibung der Schaltung, die Parameter der Logiksynthese und/oder die Anordnung der Zellen verändert wird.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei die Ausführung der Leitungen in der integrierten Halbleiterschaltungsanordnung auf den zugeordneten Verdrahtungsebenen erfolgt.
  11. Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen mit mehreren Verdrahtungsebenen, wobei die integrierte Halbleiterschaltung Zellen mit Schaltungselementen und Anschlüssen aufweist und die Zellen mit zuvor festgelegten Verdrahtungen, die mindestens eine Leitung aufweisen, verbunden werden, mit folgenden Schritten: (a) Ermittlung einer ersten Signallaufzeit für Pfade, die mindestens eine Verdrahtung aufweisen, von jeweils einem Eingang zu einem Ausgang der Halbleiterschaltung und Auswahl des Pfades mit der längsten ersten Laufzeit, (b) Ermittlung der Leitungslänge für die Verdrahtungen des Pfads, (c) Zuordnung der Leitungen der einzelnen Verdrahtungen zu der günstigsten Verdrahtungsebene, wobei die günstigste Verdrahtungsebene für eine bestimmte Leitungslänge diejenige Verdrahtungsebene ist, die für die ermittelte Leitungs länge eine kürzeste zweite Signallaufzeit aufweist, beginnend mit der Verdrahtung mit der längsten ermittelten Leitungslänge und in abnehmender Reihenfolge der Leitungslängen der Verdrahtungen eines Pfades, und (d) Fortsetzung des Verfahrens für den nächsten Pfad in Reihenfolge abnehmender erster Signallaufzeiten mit der Ermittlung der Leitungslängen gemäß Schritt (b) und der Zuordnung der Leitungen zu den günstigsten Verdrahtungsebenen gemäß Schritt (c).
  12. Verfahren nach Anspruch 11, wobei die Anschlüsse der Zellen mit den Leitungen auf einer untersten Verdrahtungsebene verbunden werden und die Leitungen jeder Ebene mit denjenigen der nächsten Ebene über Durchkontaktierungen verbunden werden.
  13. Verfahren nach Anspruch 11 oder 12, wobei die Ermittlung der ersten Signallaufzeiten in Schritt (a) durch eine Zeitanalyse der Schaltung erfolgt.
  14. Verfahren nach einem der Ansprüche 11 bis 13, wobei die Leitungslängen in Schritt (b) anhand der globalen Verdrahtungswege oder mit Hilfe von Näherungsverfahren, insbesondere Steinerbaum, Minimalgerüst, halber Rechteckumfang, abgeschätzt werden.
  15. Verfahren nach einem der Ansprüche 12 bis 14, wobei die zweiten Signallaufzeiten der einzelnen Verdrahtungen für die verschiedenen Verdrahtungsebenen in Schritt (c) anhand der Widerstände und/oder Kapazitäten der Leiterbahnen auf den verschiedenen Verdrahtungsebenen und/oder den benötigten Durchkontaktierungen zwischen den Verdrahtungsebenen ermittelt werden.
  16. Verfahren nach einem der Ansprüche 11 bis 15, wobei die Zuordnung der Leitungen der einzelnen Verdrahtungen in Schritt (c) zu Verdrahtungsebenen anhand der technologieabhängigen kritischen Leitungslängen der Verdrahtungsebenen erfolgt.
  17. Verfahren nach einem der Ansprüche 11 bis 16, wobei die Zuordnung der Leitungen der einzelnen Verdrahtungen in Schritt (c) zu Paaren oder Triplets von Verdrahtungsebenen mit der kürzesten zweiten Signallaufzeit für die Leitungslänge der jeweilige Verdrahtung erfolgt und die einzelnen Verdrahtungsebenen eines Paars oder Triplets Leitungen in unterschiedlichen Richtungen, insbesondere zur horizontalen und vertikalen Verdrahtung, aufnehmen.
  18. Verfahren nach einem der Ansprüche 11 bis 17, wobei die Schritte (b) bis (d) nur für die Pfade mit den längsten ersten Signallaufzeiten ausgeführt werden und die Leitungen der restlichen Pfade nach einem anderen Kriterium den Verdrahtungsebenen zugeordnet werden.
  19. Verfahren nach einem der Ansprüche 11 bis 18, wobei für jede Leitung ein Verdrahtungslastmodell unter Berücksichtigung der für die entsprechende Verdrahtungsebene und sämtliche Durchkontaktierungen zwischen Verdrahtungsebenen spezifischen physikalischen-technischen Daten und Charakteristika bestimmt wird.
  20. Verfahren nach Anspruch 19, wobei die ersten Signallaufzeiten für Pfade der Halbleiterschaltung unter Berücksichtigung der ermittelten Verdrahtungslastmodelle bestimmt werden.
  21. Verfahren nach Anspruch 20, wobei die RTL-Beschreibung der Schaltung, die Parameter der Logiksynthese und/oder die Anordnung der Zellen verändert werden, wenn vorbestimmte Werte für die ersten Signallaufzeiten überschritten werden.
  22. Verfahren zur Ausführung der Verdrahtung einer Halbleiterschaltungsanordnung, wobei die Leitungen der integrierten Halbleiterschaltungsanordnung auf Verdrahtungsebenen ausgeführt werden, die durch das Verfahren nach einem der Ansprüche 11 bis 21 den Leitungen zugeordnet werden.
DE10104233A 2001-01-31 2001-01-31 Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen Expired - Fee Related DE10104233B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10104233A DE10104233B4 (de) 2001-01-31 2001-01-31 Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10104233A DE10104233B4 (de) 2001-01-31 2001-01-31 Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen

Publications (2)

Publication Number Publication Date
DE10104233A1 DE10104233A1 (de) 2002-08-22
DE10104233B4 true DE10104233B4 (de) 2006-08-03

Family

ID=7672287

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10104233A Expired - Fee Related DE10104233B4 (de) 2001-01-31 2001-01-31 Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen

Country Status (1)

Country Link
DE (1) DE10104233B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10353926A1 (de) * 2003-11-18 2005-06-02 Infineon Technologies Ag Verfahren zur Anordnung von Verbindungsleitungen in Halbleiterbauelementen

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6457736A (en) * 1987-08-28 1989-03-06 Toshiba Corp Semiconductor integrated circuit
DE4132849A1 (de) * 1990-10-02 1992-04-09 Hitachi Ltd Verfahren zur automatischen verdrahtung in einer halbleiterschaltungsanordnung
US5212107A (en) * 1991-01-31 1993-05-18 Hitachi, Ltd. Wiring method for semiconductor integrated circuits
JPH1154628A (ja) * 1997-06-06 1999-02-26 Matsushita Electron Corp Lsi回路パターンの設計方法
US5981987A (en) * 1997-12-02 1999-11-09 Nurlogic Design, Inc. Power ground metallization routing in a semiconductor device
JP2000031288A (ja) * 1997-06-06 2000-01-28 Matsushita Electron Corp Lsi回路パタ―ンの設計方法
US6205570B1 (en) * 1997-06-06 2001-03-20 Matsushita Electronics Corporation Method for designing LSI circuit pattern

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6457736A (en) * 1987-08-28 1989-03-06 Toshiba Corp Semiconductor integrated circuit
DE4132849A1 (de) * 1990-10-02 1992-04-09 Hitachi Ltd Verfahren zur automatischen verdrahtung in einer halbleiterschaltungsanordnung
US5212107A (en) * 1991-01-31 1993-05-18 Hitachi, Ltd. Wiring method for semiconductor integrated circuits
JPH1154628A (ja) * 1997-06-06 1999-02-26 Matsushita Electron Corp Lsi回路パターンの設計方法
JP2000031288A (ja) * 1997-06-06 2000-01-28 Matsushita Electron Corp Lsi回路パタ―ンの設計方法
US6205570B1 (en) * 1997-06-06 2001-03-20 Matsushita Electronics Corporation Method for designing LSI circuit pattern
US5981987A (en) * 1997-12-02 1999-11-09 Nurlogic Design, Inc. Power ground metallization routing in a semiconductor device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BELLAOUAR, A. u.a.: Low-Power Digital VLSI Design. Kluwer, Boston 1995, S. 490 *
CHANDRAKASAN, A.P. u.a. Low-Power Digital CMOS Design. Kluwer, Boston, 1995, S. 256 *
CHEN, K.A. et al.: The Chip Layout Problem: An Automatic Wiring Procedure, In: Design Automation Conference (DAC) 1977, S. 298-302, IEEE *

Also Published As

Publication number Publication date
DE10104233A1 (de) 2002-08-22

Similar Documents

Publication Publication Date Title
DE69724245T2 (de) Verfahren zur plazierung von taktpuffern in einem taktverteilungssystem
DE102012200822B4 (de) Verfahren zum Analysieren von Zellen einer Zellenbibliothek
KR100201979B1 (ko) 배선경로 처리방법과 배선경로 처리시스템 및 반도체집적회로 장치
US6598206B2 (en) Method and system of modifying integrated circuit power rails
DE69738556T2 (de) Interaktiver cad-apparat zum entwerfen des zusammenbaus von logischen schaltungen
DE602004000228T2 (de) Integrierte Halbleiterschaltungsanordnung mit Signalregenerator für Prüfsignale und dazugehörige automatische Entwurfs-Vorrichtung, -Verfahren und -Programme
EP0855662B1 (de) Elektrische Analyse integrierter Schaltungen
DE102015200694A1 (de) Verfahren, computersystem und computerlesbares speichermedium zum erzeugen eines layouts eines integrierten schaltkreises
DE60005670T2 (de) Aktualisierung der platzierung während der technologieabbildung
DE202016008735U1 (de) Integrierter Schaltkreis und Masken zur Herstellung eines integrierten Schaltkreises
DE102016118811A1 (de) Integrierte schaltung mit versetzten leitenden merkmalen
DE10205559B4 (de) Integrierte Schaltung und Verfahren und Vorrichtung zum Entwurf einer integrierten Schaltung
DE19630927A1 (de) Verfahren zur Berechnung einer Störlast in einer integrierten Halbleiterschaltung
US7962320B2 (en) Method, apparatus and program for creating a power pin model of a semiconductor integrated circuit
DE102019124928A1 (de) Integriertes schaltungsdesign unter verwendung von fuzzy-maschinenlernen
DE19900980C1 (de) Verfahren und Anordnung zur Verifikation eines Layouts einer integrierten Schaltung mit Hilfe eines Rechners sowie dessen Anwendung zur Herstellung einer integrierten Schaltung
JP2004128436A (ja) 半導体集積回路及び半導体集積回路の設計方法
DE102015221479A1 (de) Polymorphes schaltungssimulationssystem
DE10104233B4 (de) Verfahren zur Zuordnung von Leitungen auf Verdrahtungsebenen für integrierte Halbleiterschaltungsanordnungen
DE102016111337A1 (de) Verfahren zur Steigerung der Entkoppelungs-Kapazität in einer mikroelektronischen Schaltung
DE10035358A1 (de) Logikteilungsverfahren, Logikteilungssystem und Aufzeichnungsmedium zum Speichern des Logikteilungsprogramms
DE602004012696T2 (de) Verfahren zum Analysieren elektrischer Bauteile, Vorrichtung zum Analysieren elektronischer Bauteile und elektrische Bauteile welche diese verwenden
DE10394299T5 (de) Design eines integrierten Schaltkreises zur Optimierung der Herstellbarkeit
US5825659A (en) Method for local rip-up and reroute of signal paths in an IC design
DE10206658B4 (de) Verfahren zum Überprüfen einer integrierten elektrischen Schaltung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee