DE10338745A1 - Verfahren und Vorrichtung zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei, Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung, sowie computerlesbare Speichermedien - Google Patents

Verfahren und Vorrichtung zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei, Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung, sowie computerlesbare Speichermedien Download PDF

Info

Publication number
DE10338745A1
DE10338745A1 DE10338745A DE10338745A DE10338745A1 DE 10338745 A1 DE10338745 A1 DE 10338745A1 DE 10338745 A DE10338745 A DE 10338745A DE 10338745 A DE10338745 A DE 10338745A DE 10338745 A1 DE10338745 A1 DE 10338745A1
Authority
DE
Germany
Prior art keywords
switching element
switching elements
arrival
clock
arrival time
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.)
Withdrawn
Application number
DE10338745A
Other languages
English (en)
Inventor
Thomas Dr. Zettler
Heinz Endres
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10338745A priority Critical patent/DE10338745A1/de
Priority to US10/922,791 priority patent/US20050091623A1/en
Publication of DE10338745A1 publication Critical patent/DE10338745A1/de
Withdrawn 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/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

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

Abstract

Ein Verfahren zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei für eine integrierte Halbleiterschaltung, die eine Vielzahl synchron angesteuerter Schaltelement und eine Vielzahl von Signalverbindungen aufweist, weist die folgenden Schritte auf: Es wird ein erstes Referenzschaltelement aus der Vielzahl synchron angesteuerter Schaltelemente ausgewählt. Für das Referenzschaltelement wird eine Referenzankunftszeit eines Taktsignals festgelegt. Für wenigstens ein Schaltelement aus der Vielzahl der synchron angesteuerten Schaltelemente, das mit dem Referenzschaltelement über wenigstens eine Signalverbindung gekoppelt ist, wird ein Taktsignalankunftsintervall bestimmt. Für das Schaltelement wird eine Ankunftszeit innerhalb des Taktsignalankunftsintervalls festgelegt, die im Wert von der Referenzankunftszeit verschieden ist. Die Referenzankunftszeit und die Ankunftszeit werden in der Taktbaumstruktur-Datei gespeichert.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei für eine Vielzahl synchron angesteuerter Schaltelemente und eine Vielzahl von Signalverbindungen aufweisende integrierte Halbleiterschaltung, ein Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung sowie computerlesbare Speichermedien.
  • Die stetig zunehmende Komplexität von integrierten Halbleiterschaltungen führt zu einer Reihe von Herausforderungen beim Entwerfen einer Schaltungsarchitektur. Bei mobilen Anwendungen, wie beispielsweise Mobiltelefonen, PDAs, etc., gilt es beispielsweise, den Stromverbrauch zu minimieren. Mit der Anzahl der Schaltelemente – wie logische Gatter, Flip-Flops, etc. – treten ohne spezielle Vorkehrungen erhöhte Spitzenströme in der Spannungsversorgung der integrierten Halbleiterschaltung auf. In den meisten Fällen ragen die maximalen Stromspitzen deutlich aus dem durchschnittlichen Stromprofil und erfordern daher eine entsprechende Überdimensionierung der Spannungsversorgungseinheit.
  • Diese Problematik wird insbesondere dadurch verschärft, dass bei der Bildung von Taktbaumstrukturen innerhalb der integrierten Halbleiterschaltung aus funktionaler Sicht darauf abgezielt wird, minimale Laufzeitunterschiede der Taktsignale an den Schaltelementen herzustellen. Die Erzeugung einer solchen Taktbaumstruktur ist beispielsweise aus [1] bekannt.
  • Ein Grund dafür, die absolute Synchronität der Schaltelemente anzustreben, liegt an Umschaltvoraussetzungen, die an jedem Schaltelement eingehalten werden müssen. Diese Umschaltvoraussetzungen können in zwei Kategorien unterteilt werden. Die Setup-Zeit legt fest, wie lange Eingangssignale an einem Schaltelement vor Einschalten des folgenden Taktimpulses stabil sein müssen. Die Haltezeit oder der "Hold" legt dagegen fest, wie lange nach einem Taktimpuls, also beispielsweise nach einer steigenden oder fallenden Flanke des Taktimpulses, die Eingangssignale am Schaltelement stabil bleiben müssen. Eine Verletzung der Umschaltvoraussetzungen würde einen metastabilen Zustand des Schaltelements hervorrufen.
  • Werden in Erfüllung der Funktionssicherheit alle Schaltelemente gleichzeitig getaktet, so führt dies zu einer Summation der an den Schaltelementen auftretenden Umlade-Stromspitzen. Durch die Existenz von Umladestromspitzen wird eine Reihe von Aufwendungen am und im Chip erforderlich.
  • Um eine ausreichende Versorgung sämtlicher Komponenten und Schaltelemente zu gewährleisten, sind die Metallzuleitungen auf den Strombedarf ausgelegt. Dieser ergibt sich maximal aus der Summe der Umlade-Stromspitzen. Die notwendige Verbreiterung der Metallzuleitungen führt zu einem zusätzlichen Flächenverbrauch auf dem Chip und damit zu erhöhten Kosten bei der Herstellung desselben. Ebenso ist eine erhöhte Zahl von Versorgungspads und Bond-Verbindungen auf dem Chip erforderlich, die zu einer weiteren Steigerung der Herstellungskosten führt.
  • Aufgrund eines erhöhten Strombedarfs sind ebenso die Spannungsregler der integrierten Halbleiterschaltung entsprechend überdimensioniert ausgelegt. Nur so ist eine stabile Versorgung während einer maximalen Stromspitze garantiert.
  • Über die Spannungsversorgungsleitung werden hochfrequente Spannungsschwankungen auf die übrigen Bauteile einer Platine übertragen, auf der sich die integrierte Halbleiterschaltung befindet. Als Konsequenz ist die elektromagnetische Verträglichkeit (EMV) des Bausteins verringert.
  • In dem eingangs genannten Dokument [1] ist zur Glättung des Stromaufnahmeprofils der Einsatz von Pufferkapazitäten bekannt. Damit ist wiederum der Nachteil verbunden, dass ein erhöhter Flächenbedarf für die Pufferkapazitäten zu erhöhten Herstellungskosten führt. Zudem vermindert sich die Ausbeute bei der Herstellung durch zusätzliche defektsensitive Bereiche aufgrund der Implementierung der Pufferkapazitäten in der integrierten Halbleiterschaltung.
  • Der vorliegenden Erfindung liegt das Problem zugrunde, die oben genannten Aufwendungen bei synchron getakteten Halbleiterschaltungen zu vermeiden, und ein Verfahren und eine Vorrichtung anzugeben, mit dem beim Erstellen einer Taktbaumstruktur in einer integrierten Halbleiterschaltung die so gering wie möglich gehalten werden können, sowie ein Verfahren anzugeben, mit dem ein Layout für eine Halbleiterschaltung erstellt wird, die einen Taktbaum mit den genannten Eigenschaften aufweist.
  • Das Problem wird durch ein Verfahren zum rechnergestützten Erstellen einer Taktbaumstruktur-Datei, einem Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung und durch eine Vorrichtung zum Erstellen einer Taktbaumstruktur-Datei mit den Merkmalen gemäß der unabhängigen Patentansprüche gelöst.
  • Ein Verfahren zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei für eine eine Vielzahl von synchron angesteuerten Schaltelementen und eine Vielzahl von Signalverbindungen aufweisende Halbleiterschaltung weist die folgenden Schritte auf:
    • a) Auswählen eines ersten Referenzschaltelements aus der Vielzahl synchron angesteuerter Schaltelemente,
    • b) Festlegen einer ersten Referenzankunftszeit eines Taktsignals für das erste Referenzschaltelement,
    • c) Bestimmen eines Taktsignalankunftsintervalls für wenigstens ein Schaltelement aus der Vielzahl synchron gesteuerter Schaltelemente, das mit dem ersten Referenzschaltelement über wenigstens eine Signalverbindung gekoppelt ist,
    • d) Festlegen einer Ankunftszeit des Taktsignals für das Schaltelement innerhalb des Taktsignalankunftsintervalls, die von der ersten Referenzankunftszeit im Wert verschieden ist, und
    • e) Speichern der ersten Referenzankunftszeit und der Ankunftszeit in der Taktbaumstruktur-Datei.
  • Bei einem Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung wird das Verfahren zum rechnergestützten Erstellen einer Taktbaumstruktur-Datei verwendet und auf Grundlage der Taktbaumstruktur-Datei die Platzierung und der Aufbau eines Taktbaums innerhalb der Halbleiterschaltung festgelegt.
  • Bei einer Vorrichtung zum Erstellen einer Taktbaumstruktur-Datei ist ein Prozessor vorgesehen, der derart eingerichtet ist, dass Verfahrensschritte gemäß des Verfahrens zum rechnergestützten Erstellen einer Taktbaumstruktur-Datei durchführbar sind.
  • Weiterhin sind computerlesbare Speichermedien vorgesehen, in dem ein Computerprogramm zum Erstellen einer Taktbaumstruktur-Datei bzw. zum Erstellen eines Layouts für eine Halbleiterschaltung gespeichert ist, das, wenn es von einem Prozessor ausgeführt wird, Verfahrensschritte eines erfindungsgemäßen Verfahrens aufweist.
  • Ein grundlegender Gedanke der Erfindung besteht darin, das Entstehen von Stromspitzen in der Spannungsversorgung einer Halbleiterschaltung bereits beim Entwurf der Taktbaumstruktur für die Halbleiterschaltung weitgehend zu vermeiden. Die An kunftszeiten des Taktsignals an den Schaltelementen werden dazu zueinander verschoben, wobei die Funktionalität der Schaltung nicht beeinträchtigt wird.
  • Die Taktbaumstruktur verteilt über Taktverbindungen ein Taktsignal an die synchron angesteuerten bzw. synchron getakteten Schaltelemente. Sie kann in Form einer nicht bzw. kaum verzweigten Takt-Verteilstruktur (Clock Trunk) oder in Form einer baumartigen Struktur (Clock Tree) ausgeführt sein. Die Länge der Taktverbindungen bestimmt die Laufzeit des Taktsignals und damit die Ankunftszeit des Taktsignals am Schaltelement. Die Taktbaumstruktur kann zusätzlich in die Taktverbindungen geschaltete Verzögerungselemente umfassen, die zur Verzögerung der Laufzeit des Taktsignals dienen, wodurch die Ankunftszeiten genau festgelegt werden können.
  • Bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Patentansprüchen.
  • Die im Weiteren beschriebenen Ausgestaltungen beziehen sich sowohl auf die Verfahren, die Vorrichtung als auch das computerlesbare Speicherelement.
  • In einer Ausgestaltung wird das Taktsignalankunftsintervall unter Berücksichtigung der ersten Referenzankunftszeit und von einer Setup-Zeit und/oder einer Halte-Zeit des ersten Referenzschaltelements bestimmt wird.
  • Dadurch wird sichergestellt, dass eine Verschiebung der Ankunftszeit nur durchgeführt wird, wenn an den Schaltelementen weiterhin die entsprechenden Umschaltvoraussetzungen erfüllt sind oder zumindest wiederhergestellt werden können.
  • In einer weiteren Ausgestaltung wird der Schritt c) wenigstens für ein weiteres Schaltelement aus der Vielzahl synchron angesteuerter Schaltelemente wiederholt, das mit dem ersten Referenzschaltelement über wenigstens eine Signalverbindung gekoppelt ist, wobei die Ankunftszeit innerhalb des Taktsignalankunftsintervalls festgelegt wird und in der Taktbaumstruktur-Datei gespeichert wird.
  • Dabei werden bei allen denjenigen Schaltelementen die Ankunftszeiten des Taktsignals verschoben, die mittelbar oder unmittelbar mit dem ersten Referenzschaltelement gekoppelt sind. Diese Schaltelemente bilden einen logischen Cluster innerhalb der integrierten Halbleiterschaltung. Als unmittelbar miteinander gekoppelte Schaltelemente werden diejenigen Schaltelemente bezeichnet, die über eine Signalverbindung miteinander verbunden sind. Bei mittelbar miteinander gekoppelten Schaltelementen wird ein Signalpfad zwischen ihnen über Signalverbindungen und wenigstens ein weiteres Schaltelement geführt.
  • In einer Weiterbildung der Schritt c) für alle Schaltelemente aus der Vielzahl synchron angesteuerter Schaltelemente wiederholt, die mit dem ersten Referenzschaltelement über wenigstens eine Signalverbindung gekoppelt sind, wobei die Ankunftszeit innerhalb des Taktsignalankunftsintervalls festgelegt wird und in der Taktbaumstruktur-Datei gespeichert wird.
  • Somit werden möglichst alle Schaltelemente bei einer Verschiebung der Ankunftszeiten des Taktsignals berücksichtigt und für die Senkung des Summenstroms wird ein möglichst optimales Ergebnis angestrebt.
  • In einer weiteren Weiterbildung wird ein Taktsignalankunftsintervall unter Berücksichtigung der Ankunftszeiten und von Setup-Zeiten und Halte-Zeiten der Schaltelemente bestimmt, deren Ankunftszeiten bereits festgelegt sind.
  • Vorteilhafterweise wird die Ankunftszeit innerhalb des Taktsignalankunftsintervalls derart festgelegt, dass ein aus den Ankunftszeiten ermittelter erster Optimierungswert minimal bestimmt ist.
  • Ein besonderer Vorteil besteht dabei in der Berechnung einer einzigen globalen Optimierungsgröße, die als eine Maß für die Qualität der durchgeführten Verfahrensschritte dient. Damit bietet sich die Möglichkeit einer schnellen Bewertung der Verteilung der Ankunftszeiten bei einer Veränderung von mehr als einer Ankunftszeit.
  • In einer Ausgestaltung ist der erste Optimierungswert derart gewählt, dass ein minimaler erster Optimierungswert einer maximalen Varianz einer statistischen Verteilungsfunktion der Ankunftszeiten entspricht.
  • Dabei wird eine möglichst breite Verteilungsfunktion der Stromaufnahme der synchron angesteuerten Schaltelemente erreicht. Der Spitzenstrom ist gegenüber dem Fall einer synchronen Stromaufnahme wesentlich verringert.
  • In einer weiteren Ausgestaltung wird die Ankunftszeit innerhalb des Taktsignalankunftsintervalls derart festgelegt, dass der erste Optimierungswert minimal bestimmt ist, und die Ankunftszeit anschließend derart innerhalb des Taktsignalankunftsintervalls verschoben wird, dass ein aus den Ankunftszeiten ermittelter zweiter Optimierungswert minimal bestimmt ist.
  • Das zweistufige Anpassen der Ankunftszeiten erlaubt es zunächst die Verteilungsfunktion der Ankunftszeiten bereits möglichst flach zu gestalten. Die dabei ermittelte optimale Verteilung, die die Ankunftszeiten innerhalb der entsprechenden Taktsignalankunftsintervalle dient als Ausgangspunkt für einen weiteren Optimierungsschritt, der eine zusätzliche Reduzierung von gleichzeitig umschaltenden Schaltelementen oder eine spezifische Eigenschaft der Verteilungsfunktion der Ankunftszeiten ermöglicht.
  • In einer Weiterbildung ist der zweite Optimierungswert derart gewählt, dass ein minimaler zweiter Optimierungswert einer maximalen Abweichung des vierten Moments der statistischen Verteilungsfunktion der Ankunftszeiten von der vierten Potenz des Mittelwerts entspricht.
  • Durch die Optimierung der Verteilungsfunktion der Ankunftszeiten hinsichtlich eines höheren Moments der Verteilungsfunktion wird diese möglichst flach erzeugt. Es können aber auch andere zweite Optimierungswerte gewählt sein, die bspw. dafür sorgen, dass die Verteilungsfunktion der Ankunftszeiten stark fluktuiert.
  • In einer bevorzugten Weiterbildung werden sämtliche Verfahrensschritte jeweils für Schaltelementgruppen aus der Vielzahl synchron angesteuertes Schaltelemente durchgeführt werden, die voneinander entkoppelt sind.
  • Vorteilhaft ist hier insbesondere, dass das Verfahren durch die Entkoppelung parallel ausgeführt werden kann. Dieses kann schneller durchgeführt werden. Bei einer Anzahl von Schaltelementen, die im Bereich von 100 Millionen innerhalb einer Halbleiterschaltung liegen kann, wird der rechnerische Aufwand wesentlich verringert und sinkt entsprechend mit der Anzahl von entkoppelten Schaltelementgruppen.
  • In einer Weiterbildung werden vor dem Schritt c) die folgenden Schritte durchgeführt:
    • – Auswählen eines zweiten Referenzschaltelements aus der Vielzahl synchron angesteuertes Schaltelemente, das mit dem ersten Referenzschaltelement wenigstens über eine Signalverbindung gekoppelt ist, und
    • – Festlegen einer zweiten Referenzankunftszeit des Taktsignals für das zweite Referenzschaltelement.
  • Vorteilhafterweise wird dabei das zweite Referenzschaltelement nur aus der Gruppe der mittelbar mit dem ersten Referenzschaltelement gekoppelten Schaltelemente gewählt.
  • In einer Weiterbildung wird der Schritt c) jeweils für die mit dem ersten Referenzschaltelement gekoppelten Schaltelemente und für die mit dem zweiten Referenzschaltelement gekoppelten Schaltelemente unter Außerachtlassung der Schaltelemente, für die eine Ankunftszeit festgelegt wurde, durchgeführt.
  • Dadurch wird das Verfahren iterativ durchgeführt. Ausgehend von einem ersten Referenzschaltelement werden nach und nach alle benachbarten und wenigstens mittelbar gekoppelten Schaltelementen Ankunftszeiten des Taktsignals zugeordnet.
  • Bevorzugterweise ist wenigstens ein Schaltelement aus einem Einzelschaltelement oder aus einer Gruppe von Einzelschaltelementen gebildet.
  • Die Ansammlung mehrerer Einzelschaltelemente in einem Schaltelement entspricht einem Cluster von bspw. Gattern, die gemeinsam in einer Schaltung wirken. Hier kann ein synchrones Schaltverhalten erwünscht sein. Oft ist es daher nicht möglich, die Ankunftszeiten unter Beibehaltung der Umschaltvoraussetzungen zu verschieben. Zudem ermöglicht ein solches Ansammeln, dass das Verfahren erheblich schneller durchgeführt werden kann.
  • Die Erfindung wird nachfolgend an mehreren Ausführungsbeispielen anhand der Zeichnung näher erläutert.
  • Dabei zeigen:
  • 1 ein Ablaufdiagramm für ein Verfahren zum Erstellen eines Layouts für eine Halbleiterschaltung,
  • 2a eine schematische Darstellung von Stromprofilen von Schaltelementen und der Summe aller Stromprofile in einer synchron getakteten Halbleiterschaltung,
  • 2b eine schematische Darstellung von Stromprofilen von Schaltelemente und der Summe aller Stromprofile in einer erfindungsgemäß getakteten Halbleiterschaltung,
  • 3 eine Halbleiterschaltung mit in Reihe geschalteter Schaltelementen,
  • 4 beispielhaft eine Verteilung der Anzahl von innerhalb eines Teilintervalls gleichzeitig umschaltender Schaltelementen,
  • 5 beispielhaft eine weiter Verteilung der Anzahl von innerhalb eines Teilintervalls gleichzeitig umschaltender Schaltelementen,
  • 6 eine schematische Darstellung von Profilen des Summenstrom und lokaler Spannungsverläufe bei einer idealen und einer realen Last an der Spannungsversorgung, und
  • 7 eine weitere schematische Darstellung von Stromprofilen mit einer realen Last an der Spannungsversorgung.
  • 1 zeigt ein Ablaufdiagramm für ein Verfahren zum Erstellen eines Layouts für eine Halbleiterschaltung. Ist die Halbleiterschaltung als Layout erstellt, wird sie in Hardware als Chip realisiert. Das Erstellen eines Layouts für eine Halbleiterschaltung erfolgt in Schritten, die schematisch in 1 dargestellt sind. Der Ablauf erfolgt zunächst durch einen Schritt 1, in dem eine Gatterlevel-Netzliste bereitgestellt wird. In einem nachfolgenden Schritt 2 wird auf Grundlage der Gatterlevel-Netzliste ein Flurplan für Schaltelemente und Signalverbindungen der Halbleiterschaltung erstellt. In einem nachfolgenden Schritt 3 wird eine Taktbaumstruktur- Datei erstellt, so dass in einem folgenden Schritt 4 der Verlauf der Signalverbindungen festgelegt und die Taktbaumstruktur in dem Layout platziert wird. Danach kann das Layout der Halbleiterschaltung, das die Lage der Schaltelemente, der Signalverbindungen und der Taktbaumstruktur in einer monolithischen Halbleiterstruktur angibt, ausgegeben werden. Das Layout wird dazu genutzt, die Halbleiterstruktur als Chip zu realisieren.
  • Das Erstellen des Layouts geht von einer Gatter-Level Eingangsnetzliste aus, aus der die der Halbleiterschaltung zugrunde liegende logische Schaltung bekannt ist. Die Gatter-Level Eingangsnetzliste beschreibt alle Signalverbindungen zwischen verwendeten Schaltelementen. Verfahrenschritte für das Erstellen einer solche Gatter-Level Eingangsnetzliste sind dem Fachmann bekannt. Zusätzlich sind für das Entwerfen des Layouts Laufzeitanforderungen an komplexen Einheiten aus mehreren Schaltelementen erforderlich, so genannte „high-level timing constraints". Diese geben unter anderem die Taktfrequenz und Anforderungen an Sende- und Ankunftszeiten von Ein- und Ausgangssignalen am Schaltungsrand an.
  • In einer Schaltelement-Bibliothek können Schaltzeiten und Layoutinformationen der Schaltelemente enthalten sein. Die Eingangsdaten umfassen in der Regel auch eine Bibliothek der Signalverbindungen zwischen den Schaltelementen mit zugehörigen Verdrahtungsparametern wie beispielsweise Kapazitätsbeläge oder Widerstandsbeläge der Signalverbindungen.
  • Ausgehend von den Eingangsdaten werden bei Erstellung eines Flurplans für das Layout die Schaltelemente, d.h. Einzelschaltelemente oder Schaltelementegruppen, innerhalb der Halbleiterschaltung platziert. Die Platzierung der Schaltelemente erfolgt nach Verdrahtungs- und Laufzeitkriterien an den Signalverbindungen, wobei zunächst davon ausgegangen werden kann, dass die Schaltelemente synchron angesteuert werden.
  • Vor dem Festlegen des endgültigen Verlaufs der Signalverbindungen und dem Platzieren eines Taktbaums in der Halbleiterschaltung werden die Ankunftszeiten eines Taktsignals an den Schaltelementen optimiert und in einer Taktbaumstruktur-Datei gespeichert. Der Taktbaum kann dabei in Form einer nicht bzw. kaum verzweigten Takt-Verteilstruktur (Clock Trunk) oder in Form einer baumartigen Struktur (Clock Tree) ausgeführt sein. In den Taktbaum geschaltete Verzögerungselemente dienen zur Verzögerung der Laufzeit des Taktsignals, damit dieses dem entsprechenden Schaltelement zu der in der Taktbaumstruktur-Datei festgelegten Ankunftszeit zugeführt wird.
  • Die Ankunftszeit des Taktsignals an einem Schaltelement muss innerhalb eines Taktsignalankunftsintervalls des Schaltelements liegen, damit an diesem die Setup- und Halte-Bedingungen erfüllt sind. Im Folgenden wird beispielhaft dargestellt, wie die Taktsignalankunftsintervalle des Schaltelements und den Schaltelements bestimmt werden, falls eine Referenzankunftszeit für ein Referenzschaltelement bereits festgelegt ist.
  • Durch die Referenzankunftszeit ist ein erste Flankenwert T21 als Zeitpunkt der ersten steigenden Flanke des Taktsignals am Referenzschaltelement bekannt. Ein zweiter Flankenwert T22 gibt den Zeitpunkt der nachfolgenden steigenden Flanke des Taktsignals am Referenzschaltelement, der dem um eine Taktperiodendauer Tdk verschobenen ersten Flankenwert T21 entspricht.
  • Für ein im Signalpfad unmittelbar vorgeschaltetes Schaltelement wird ein zulässiges Zeitintervall für einen dritten Flankenwert T11 als Zeitpunkt der ersten steigenden Flanke des Taktsignals am vorgeschalteten Schaltelement bestimmt. Berücksichtigt wird dabei eine maximale Signallaufzeit max12 und eine minimale Signallaufzeit min12 in der Signalverbindung zwischen dem Referenzschaltelement und dem vorgeschalteten Schaltelement. Eine Setupzeit set2 und eine Haltezeit hold2 des Referenzschaltelements sind in der Schaltelement-Bibliothek hinterlegt. Die Setupvorrausetzung am Referenzschaltelement führt zu der Ungleichung max12 + set2 ≤ T22 – T11. (1)
  • Die Halte-Bedingung am Referenzschaltelement führt dagegen zu der Ungleichung min12 ≥ T21 – T11 + hold2. (2)
  • Damit wird das Taktsignalankunftsintervall des vorgeschalteten Schaltelements durch T21 + hold2 – min12 ≤ T11 ≤ T21 + Tdk – max12 – set2 (3)angegeben.
  • Gleichermaßen wird für ein unmittelbar im Signalpfad nachgeschaltetes Schaltelement ein zulässiges Zeitintervall für einen vierten Flankenwert T31 als Zeitpunkt der ersten steigenden Flanke des Taktsignals am nachgeschalteten Schaltelement bestimmt. Ein fünfter Flankenwert T32 gibt den Zeitpunkt der nachfolgenden steigenden Flanke des Taktsignals am nachgeschalteten Schaltelement, der dem um eine Taktperiodendauer Tdk verschobenen ersten Flankenwert T31 entspricht.
  • Berücksichtigt wird eine maximale Signallaufzeit max23 und eine minimale Signallaufzeit min23 in der Signalverbindung zwischen Referenzschaltelement und nachgeschaltetes Schaltelement. Eine Setupzeit set3 und eine Haltezeit hold3 des nachgeschalteten Schaltelements sind in der Schaltelement-Bibliothek hinterlegt. Die Setupvorrausetzung am nachgeschalteten Schaltelement führt zu der Ungleichung max23 + set3 ≤ T32-T21. (4)
  • Die Halte-Bedingung am Referenzschaltelement führt dagegen zu der Ungleichung min23 ≥ T31-T21 + hold3 (5)
  • Damit wird das Taktsignalankunftsintervall des nachgeschalteten Schaltelements durch T21 + max23 + set3 – Tdk ≤ T31 ≤ min23 + T21 – hold3 (6)angegeben.
  • Halte- und Setupzeiten sind Eigenschaften der Schaltelemente und sind im Allgemeinen zusätzlich von Signallaufzeiten des Taktsignals und von Datensignalen in den Schaltelementen abhängig. Diese Abhängigkeit kann in der Schaltelement-Bibliothek hinterlegt und ebenfalls in der Berechnung berücksichtigt werden.
  • 2a und 2b zeigen mit ihren ersten drei Kurven jeweils Stromprofile I an Spannungsversorgungseingängen dreier Schaltelemente. Die im Einzelnen dargestellten Kurven zeigen in der Ordinate das Stromprofil I, das über eine Zeitachse T in der Abszisse aufgetragen ist.
  • 3 zeigt beispielhaft eine Halbleiterschaltung mit drei in Reihe geschalteten Schaltelemente 101, 102, 103. Das Schaltelement 101 ist über eine Signalverbindung 104 mit einem Eingangssignal verbunden und über eine Signalverbindung 105 an das Schaltelement 102 gekoppelt. Das Schaltelement 102 ist mittels der Signalverbindung 106 an das Schaltelement 103 gekoppelt, die ihrerseits über eine Signalverbindung 107 mit einem Signalausgang verbunden ist. Die drei Schaltelemente 101, 102, 103 weisen jeweils einen Takteingang auf, an dem über einen Taktbaum 108 eine Taktsignal 110 zugeführt wird. Der Taktbaum 108 weist ein Verzögerungselement 109 auf, das die Laufzeit des Taktsignals 110 um einen bestimmten Zeitwert verzögert.
  • Auf eine Darstellung einer Spannungsversorgung der drei Schaltelemente 101, 102, 103 wurde aus Gründen der Übersichtlichkeit verzichtet. Üblicherweise werden alle Schaltelemente 101, 102, 103 aus einer gemeinsamen Spannungsversorgungseinheit mit einer jeweiligen Betriebsspannung versorgt. Während der Signalverarbeitung fließt am Ausgang dieser Spannungsversorgungseinheit ein Summenstrom, der sich aus der Summe von Betriebsströmen der einzelnen Schaltelemente 101, 102, 103 ergibt.
  • Ein Stromprofil I an einem Spannungsversorgungseingang eines Schaltelements weist Umlade-Stromspitzen auf, wenn ein Signalausgang des Schaltelements das Ausgangspotential wechselt. Im dargelegten Beispiel sei zur Vereinfachung angenommen, dass nur bei einem Wechsel von einem „low"- auf „high"-Potential eine Umlade-Stromspitze auftritt. Das auf die Umlade-Stromspitze folgende, im wesentlichen flache Plateau des Stromprofils I entspricht in seiner Höhe einem Strom, der für eine Umladung von Logik-Stufen erforderlich sind, die im Signalpfad hinter dem Schaltelement geschaltet sind. Die Umlade-Stromspitze entsteht bei einem Schalten des Schaltelements. Ein verändertes Signal am Signalausgang setzt sich sequentiell durch folgende Logik-Stufen fort und erzeugt so Umladeströme an den einzelnen Logik-Stufen.
  • Unterhalb der gezeigten Stromprofile I der Schaltelemente ist in beiden Figuren ein Summenstrom IΣ aufgezeigt. Dieser fließt an der gemeinsamen Spannungsversorgung der Schaltelemente und ist jeweils die Superposition der darüber dargestellten Stromprofile I.
  • In dem in 2a dargestellten Fall sind alle Schaltelemente exakt synchron angesteuert. Dadurch wird der maximale Summen strom IΣ aus der Summation der einzelnen Spitzenströme der Stromprofile I gebildet.
  • Die in 2b dargestellten Stromprofile I unterscheiden sich von denen in 2a gezeigten darin, dass die betrachteten Schaltelemente quasi-synchron angesteuert sind. Das Taktsignal erreicht die Takteingänge der Schaltelemente zu unterschiedlichen Ankunftszeiten, die kleiner als die Periodendauer Tdk sind. Dadurch wird das Profil des Summenstroms IΣ geglättet und über einen breiteren Zeitraum verteilt. Dadurch weist der Summenstrom IΣ keine ausgeprägten Stromspitzen auf. Die gemeinsame Spannungsversorgung der Schaltelemente kann somit für einen geringeren maximalen Strombedarf als im Fall der 2a ausgelegt sein. Der geringe Strombedarf ist gerade in Halbleiterschaltungen für mobile Anwendungen, wie beispielsweise Mobiltelefone, von Bedeutung.
  • Ankunftszeiten des Taktsignals 110 an den Schaltelementen 101, 102, 103 werden festgelegt, indem zunächst ein Referenzschaltelement 102 ausgewählt wird, an dem eine Referenzankunftszeit festgelegt wird. Ausgehend von diesem Referenzpunkt können beispielsweise zunächst für diejenigen nächsten Nachbarn des Referenzschaltelements 102 die Taktsignalankunftsintervalle bestimmt werden, die unmittelbar über Signalverbindungen 104, 105, 106, 107 mit dem ersten Referenzschaltelement 102 verbunden sind. Innerhalb der Taktsignalankunftsintervalle kann eine Ankunftszeit für die entsprechenden Schaltelemente 101, 102, 103 festgelegt werden. Die Schaltelemente 101, 102, 103 dienen als Ausgangspunkt für die Bestimmung der Taktsignalankunftsintervalle ihrer nächsten Nachbarn. Das Verfahren wird so iterativ fortgeführt, bis für ein Netzwerk aus sämtlich mittelbar oder unmittelbar mit dem ersten Referenzschaltelement 102 gekoppelten Schaltelementen 101, 103 eine Ankunftszeit festgelegt wurde. Idealerweise wird dabei bereits versucht, die Verteilung der Ankunftszeiten innerhalb einer Taktperiodendauer Tdk möglichst breit zu wählen. Dieselben Verfahrensschritte werden für weitere Netz werke von Schaltelementen durchgeführt, die von dem ersten Referenzschaltelement 102 völlig entkoppelt sind. Hier wird jeweils ein Schaltelement 102 als dem Netzwerk zugeordnetes Referenzschaltelement gewählt. Dabei können die Verfahrensschritte für jedes Netzwerk von Schaltelementen parallel ausgeführt werden oder aber auch in einer sequentiellen Folge.
  • Um eine schnelle Konvergenz des Verfahrens zu erhalten, ist es möglich, zwei oder mehr Schaltelemente 101, 102, 103 innerhalb eines Netzwerks als Referenzschaltelement zu wählen und für sie am Anfang des Verfahrens jeweils eine Referenzankunftszeit festzulegen. Ausgehend von ihnen können jeweils für die nächsten Nachbarn die Taktsignalankunftszeitintervalle bestimmt werden. Auch dieses Verfahren kann somit parallel durchgeführt werden, wobei darauf geachtet werden kann, dass die Ankunftszeit eines Schaltelements 101, 102, 103 innerhalb des Netzwerks nur einmal festgelegt wird.
  • Es ist dabei von Vorteil, wenn die Referenzschaltelemente nicht unmittelbar über Signalverbindungen 104, 105, 106, 107 verbunden sind, sondern auf den sie verbindenden Signalpfaden weitere Schaltelemente 101, 102, 103 angeordnet sind.
  • Sind sämtliche Ankunftszeiten eines oder mehrerer Netzwerke festgelegt, so können diese erneut innerhalb der Taktsignalankunftszeitintervalle verschoben werden, um sie optimal zu verteilen. Dabei kann wahlweise nach jedem Verfahrensschritt eine Neuberechnung der Taktsignalankunftszeitintervalle erfolgen.
  • Die Verteilung der Ankunftszeiten des Taktsignals 110 an den Schaltelementen 101, 102, 103 innerhalb der bestimmten Taktsignalankunftsintervalle wird durch die Minimierung eines Optimierungswertes erreicht.
  • In einer Ausgestaltung geschieht die Optimierung durch eine versuchsweise Verschiebung einer Anzahl von Ankunftszeiten.
  • Von mehreren durchgeführten Versuchen werden diejenigen Ankunftszeiten in der Taktbaumstruktur-Datei gespeichert, die einer Bedingung eines minimalen Optimierungswertes am nächsten kommen.
  • Zu Bestimmung des Optimierungswertes wird ein Zeitintervall einer Taktperiodendauer Tdk betrachtet. Das Zeitintervall wird in kmax gleichlange Teilintervalle mit Startzeiten tk unterteilt, wobei k = 1, ..., kmax. Mit der Größe Nk wird die Anzahl der Schaltelemente 101, 102, 103 angegeben, die innerhalb des Zeitintervalls (tk, tk+1) schalten. Der Erwartungswert <N> der innerhalb eines Teilintervalls schaltenden Schaltelemente 101, 102, 103 ist dabei bestimmt durch die Gleichung
    Figure 00180001
  • Zunächst kann ein Verfahren zur Beschleunigung des Ereichens eines minimalen Optimierungswerts eingesetzt werden. Dazu werden in der Verteilung Nk die Bereiche mit Nk > <N> in eine erste Liste PLUS und die Bereiche mit Nk < <N> in eine zweite Liste MINUS eingetragen. Die erste Liste PLUS kann weiter in eine erste Subliste PLUS1 und in eine zweite Subliste PLUS2 aufgeteilt werden, wobei in der ersten Subliste PLUS1 die Teilintervalle k mit den höchsten Abweichungen (Nk – <N>) sind. Analog kann mit der Liste MINUS verfahren werden, und diese wird in eine dritte Subliste MINUS1 und eine vierte Subliste MINUS2 aufgeteilt. Zunächst werden die Bereiche der stärksten Abweichungen ausgeglichen, wobei stets Ankunftszeiten so verändert werden, dass aus Überschuss-Bereichen innerhalb der ersten Liste PLUS, Unterschuss-Bereiche innerhalb der Subliste MINUS gefüllt werden. Eine Bewertung des Resultates kann vorzugsweise mit einem Optimierungswert erfolgen.
  • In einer Ausgestaltung ist ein erste Optimierungswert M durch die Größe M = <N2> – <Nk>2 (8)definiert. Dieser erste Optimierungswert M ist im Fall einer breiten Verteilung der Größe Nk mit der Varianz VAR der Verteilungsfunktion verknüpft
    Figure 00190001
    Offensichtlich wird mit einer Verteilung der Größe Nk die beste Wirkung erreicht, bei der der Erwartungswert <N> den Wert 1 annimmt und somit in jedem Teilintervall möglichst nur ein Schaltelement 101, 102, 103 schaltet. Dies setzt voraus, dass gleichzeitig der erste Optimierungswert M einen minimalen Wert annimmt. Zum Erreichen dieses Ziels sind allerdings viele Rechenschritte notwendig. Im Allgemeinen wird der Erwartungswert <N> >> 1 gewählt.
  • In einer weiteren Ausgestaltung ist ein zweiter Optimierungswert M2 definiert als
    Figure 00190002
  • Der zweite Optimierungswert M2 kann damit auch von höheren Momenten, in dem oben gezeigten Fall bis zum vierten Moment, der Verteilung der Größe Nk ab. Der zweite Optimierungswert M2 betont im Vergleich zum ersten Optimierungswert M1 Verteilungsspitzen und ist daher ein bevorzugtes Maß für die Qualität der Verteilungsfunktion.
  • In 4 werden Verteilungen der Größe Nk über einer Taktperiodendauer Tdk dargestellt. Wie in 3 gezeigt beiden Kurven weisen dabei unterschiedlich starke Schwankungen der Größe Nk um den Erwartungswert <N> auf. Sowohl der erste Optimierungswert M1 als auch der zweite Optimierungswert M2 bezeichnen die obere Kurve mit starken Fluktuationen um den als schlechter Konstellation im Vergleich zu der unteren nicht derartig stark fluktuierenden Kurve.
  • 5 zeigt zwei Verläufe der Größe Nk über einer Taktperiodendauer Tdk, die innerhalb unterschiedlicher Zeitskalen mit gleicher Amplitude um den Erwartungswert <N>, für die der erste Optimierungswert M1 wie auch der zweite Optimierungswert M2 den gleichen Zahlenwert liefern. Dieses Ergebnis ist allerdings nicht wünschenswert, da die Amplitude der Stromspitze in realen Schaltungen durch Kapazitäten in Versorgungsleitungen der Spannungsversorgung geglättet wird.
  • In einer alternativen Ausgestaltung ist ein dritter Optimierungswert M3 definiert als
    Figure 00200001
  • Eine Minimierung des dritten Optimierungswertes M3 entspricht einer Verteilungsfunktion, die in der Größe Nk von Teilintervall zu Teilintervall möglichst unterscheidet. Durch dieses Optimierungsverfahren wird bevorzugt eine Verteilung, bei der sich die Größe Nk um den Erwartungswert <N> stark fluktuiert, bevorzugt ausgewählt.
  • Der Vorteil einer Wahl des dritten Optimierungswert M3 ist in den Eigenschaften realer Halbleiterschaltungen begründet. In einem realen Schaltkreis werden die maximalen Amplituden der Stromspitzen durch Kapazitäten in Zuleitungen der Spannungsversorgung geglättet.
  • In 6 ist schematisch gezeigt, wie der Summenstrom an der Spannungsversorgung bei einer vorgegebenen lokalen Laständerung durch reale Zuleitungen der Spannungsversorgung für die Schaltelemente 101, 102, 103 mittels Widerständen und Kapazitäten geglättet ist. Die einzelnen dargestellten Kurven zeigen in der Ordinate jeweils unterschiedliche Größen, wie die Größe Nk, einen Strom oder eine Spannung, deren Nullpunkte zueinander verschoben sind. Auf der Abszisse ist die Zeit aufgetragen. Es wird eine gesamte Taktperiodedauer Tdk dargestellt Dabei zeigt die obere Kurve die Verteilungsfunktion der Größe Nk. Diese Verteilungsfunktion ist im Wesentlichen proportional zu dem darunter dargestellten Stromprofil des Summenstroms für den idealen Fall, dass nur eine ohmsche Last an der Spannungsversorgung anliegt. Ein entsprechendes lokales Spannungsprofil an einem Schaltelement ist von oben gesehen als dritte Kurve dargestellt. Es verhält sich reziprok zu dem Stromprofil des Spitzenstroms.
  • Die unterste Kurve stellt das Stromprofil des Summenstroms IΣ für eine reale Halbleiterschaltung dar. Hier ist der Verlauf der Kurve an steilen Kanten des idealen Stromprofils durch vorhandene Kapazitäten geglättet. Die darüber liegende Kurve stellt die an einem Schaltelement anliegende lokale Spannung in diesem realen Fall dar.
  • 7 zeigt Stromprofile I für die in 4 gezeigten Verläufe der Größe Nk über einer Taktperiodendauer Tdk in einer realen Halbleiterschaltung. Es zeigt sich, dass der maximale Spitzenstrom in der oberen Kurve geringer ausfällt als in der unteren Kurve.
  • Um eine optimale Verteilung der Größe Nk zu erzielen, kann ein zweistufiges Verfahren angewendet werden, bei dem die Ankunftszeiten zunächst derart innerhalb der Taktsignalankunftsintervalle verschoben werden, dass der erste Optimie rungswert M1 oder der zweite Optimierungswert M2 minimiert wird. Dabei wird es verschiedene Konfigurationen der Ankunftszeiten geben, die dieselben minimalen Werte für den ersten Optimierungswert M1 bzw. den zweiten Optimierungswert M2 ergeben. Für diese Konfigurationen wird jeweils der dritte Optimierungswert M3 berechnet und eine der Konfigurationen ausgewählt, bei denen der Optimierungswert M3 minimal ist.
  • Nach der Optimierung der Ankunftszeiten wird die finale Verdrahtung für den Taktbaum 108 festgelegt. Damit ist das Layout der Halbleiterschaltung bezüglich der Taktbaumstruktur entworfen.
  • Beispielhaft seien im Folgenden für das oben beschriebene Verfahren zwei unterschiedliche Ausführungsformen als Verfahrensablauf angegeben.
  • Ein erster Verfahrensablauf basiert auf dem Ansatz ein Schaltelement mit dem Taktbaum zu verbinden, und dann sukzessive vorwärts und rückwärts weitere Schaltelemente einzubeziehen. Er weist die folgenden Verfahrensschritte auf:
    • 1.) Vorplatzieren der Schaltelemente und Herstellung von vorläufigen in einem Schaltungs-Layout; die vorläufigen Signalverbindungen sind dabei dazu geeignet, Laufzeitverzögerungen für Datensignal zu berechnen, aber ordnen in der Regel keine Detailformen z.B. der Metallebenen zu,
    • 2.) Verbinden eines initialen Schaltelements mit dem Taktbaum, gegebenenfalls können notwendige Veränderungen der vorläufigen Signalverbindungen durchgeführt werden; in die Signalverbindungen können vorsorglich Treiber bzw. Verzögerungselemente eingebaut sein, welche nachträglich wieder entfernt werden können,
    • 3.) Bestimmen der zulässigen Ankunftszeiten für die über Signalverbindungen verbundenen Vorgänger- und Nachfolger-Schalelemente,
    • 4.) Zuführen des Taktsignals zu den bestimmten Ankunftszeiten an das Vorgänger- und/oder Nachfolger-Schaltelement unter Beachtung der Taktsignalankunftsintervalle und eines Optimierungskriteriums, wie einer Minimierung des ersten oder zweiten Optimierungswerts,
    • 5.) Wiederholen ab 3.) für benachbarte Schaltelemente.
  • Ein zweiter Verfahrensablauf beruht auf einem wiederholten Optimierungsschritt. Er weist die folgenden Verfahrensschritte auf:
    • 1.) Vorplatzieren der Schaltelemente und Herstellung von vorläufigen in einem Schaltungs-Layout; die vorläufigen Signalverbindungen sind dabei dazu geeignet, Laufzeitverzögerungen für Datensignal zu berechnen, aber ordnen in der Regel keine Detailformen z.B. der Metallebenen zu,
    • 2.) Verbinden eines initialen Schaltelements mit dem Taktbaum gegebenenfalls können notwendige Veränderungen der vorläufigen Signalverbindungen durchgeführt werden; in die Signalverbindungen können vorsorglich Treiber bzw. Verzögerungselemente eingebaut sein, welche nachträglich wieder entfernt werden können,
    • 3.) Bestimmen der Ankunftszeiten für die über Signalverbindungen verbundenen Vorgänger- und Nachfolger-Schalelemente, wobei die Taktsignalankunftszeiten verletzt werden dürfen,
    • 4.) Zuführen des Taktsignals zu den bestimmten Ankunftszeite an das Vorgänger- und/oder Nachfolger- Schaltelement unter Beachtung der Taktsignalankunftsintervalle und eines Optimie rungskriteriums, wie einer Minimierung des ersten oder zweiten Optimierungswerts,
    • 5.) Wiederherstellung der zulässigen Bereiche für die Ankunftszeiten aus 3.) durch Entfernen und oder Hinzufügen von Verzögerungselementelementen in den Signalverbindungen und oder im Taktbaum – falls das nicht möglich sein sollte, Rücknahme der Verbindung nach 4.),
    • 6.) Wiederholen der Verfahrensschritte ab 3.).
  • Die oben angegebenen Verfahren können als Computerprogramm implementiert werden. Damit können sie durch einen Prozessor beispielsweise in einem Computer ausgeführt werden. Das Computerprogramm kann in einem computerlesbaren Speichermedium gespeichert sein.
  • In diesem Dokument sind folgende Veröffentlichungen zitiert:
    • [1] Neil H.E. Weste und Kamram Eshragian; "Principles of CMOS VLSI Design", Seite 239, ISBN 0-201-53376-6

Claims (18)

  1. Verfahren zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei für eine eine Vielzahl von synchron angesteuerten Schaltelementen (101, 102, 103) und eine Vielzahl Signalverbindungen (104, 105, 106, 107) aufweisende Halbleiterschaltung, welches folgende Schritte aufweist: a) Auswählen eines ersten Referenzschaltelements (102) aus der Vielzahl. synchron angesteuerter Schaltelemente (101 102, 103), b) Festlegen einer ersten Referenzankunftszeit eines Taktsignals für das erste Referenzschaltelement (102), c) Bestimmen eines Taktsignalankunftsintervalls für wenigstens ein Schaltelement (101) aus der Vielzahl synchron angesteuerter Schaltelemente (101, 102, 103), das mit dem ersten Referenzschaltelement (102) über wenigstens eine Signalverbindung (105) gekoppelt ist, d) Festlegen einer Ankunftszeit des Taktsignals für das Schaltelement (101) innerhalb des Taktsignalankunftsintervalls, die von der ersten Referenzankunftszeit im Wert verschieden ist, und e) Speichern der ersten Referenzankunftszeit und der Ankunftszeit in der Taktbaumstruktur-Datei.
  2. Verfahren gemäß Anspruch 1, wobei das Taktsignalankunftsintervall unter Berücksichtigung der ersten Referenzankunftszeit und von einer Setup-Zeit und/oder einer Halte-Zeit des ersten Referenzschaltelements (102) bestimmt wird.
  3. Verfahren gemäß einem der vorangehenden Ansprüche, wobei der Schritt c) wenigstens für ein weiteres Schaltelement (103) aus der Vielzahl synchron angesteuerter Schaltelemente (101, 102, 103) wiederholt wird, das mit dem ersten Referenzschaltelement (102) über wenigstens eine Signalverbindung (106) gekoppelt ist, wobei die Ankunftszeit innerhalb des Taktsignalankunftsintervalls festgelegt wird und in der Taktbaumstruktur-Datei gespeichert wird.
  4. Verfahren gemäß einem der vorangehenden Ansprüche, wobei der Schritt c) für alle Schaltelemente (101, 103) aus der Vielzahl synchron angesteuerter Schaltelemente (101, 102, 103) wiederholt wird, die mit dem ersten Referenzschaltelement (102) über wenigstens eine Signalverbindung (105, 106) gekoppelt sind, wobei die Ankunftszeit innerhalb des Taktsignalankunftsintervalls festgelegt wird und in der Taktbaumstruktur-Datei gespeichert wird.
  5. Verfahren gemäß einem der Ansprüche 3 oder 4, wobei ein Taktsignalankunftsintervall unter Berücksichtigung der Ankunftszeiten und von Setup-Zeiten und Halte-Zeiten der Schaltelemente (101, 102, 103) bestimmt wird, deren Ankunftszeiten bereits festgelegt sind.
  6. Verfahren gemäß einem der Ansprüche 3 bis 5, wobei die Ankunftszeit innerhalb des Taktsignalankunftsintervalls derart festgelegt wird, dass ein aus den Ankunftszeiten ermittelter erster Optimierungswert minimal bestimmt ist.
  7. Verfahren gemäß Anspruch 6, wobei der erste Optimierungswert derart gewählt ist, dass ein minimaler erster Optimierungswert einer maximalen Varianz einer statistischen Verteilungsfunktion der Ankunftszeiten entspricht.
  8. Verfahren gemäß einem der Ansprüche 3 bis 7, wobei die Ankunftszeit innerhalb des Taktsignalankunftsintervalls derart festgelegt wird, dass der erste Optimierungswert minimal bestimmt ist, und die Ankunftszeit anschließend derart innerhalb des Taktsignalankunftsintervalls verschoben wird, dass ein aus den Ankunftszeiten ermittelter zweiter Optimierungswert minimal bestimmt ist.
  9. Verfahren gemäß Anspruch 8, wobei der zweite Optimierungswert derart gewählt ist, dass ein minimaler zweiter Optimierungswert einer maximalen Abweichung des vierten Moments der statistischen Verteilungsfunktion der Ankunftszeiten von der vierten Potenz des Mittelwerts entspricht.
  10. Verfahren gemäß einem der vorangehenden Ansprüche, wobei sämtliche Verfahrensschritte jeweils für Schaltelementgruppen aus der Vielzahl synchron angesteuerter Schaltelemente (101, 102, 103) durchgeführt werden, die voneinander entkoppelt sind.
  11. Verfahren gemäß einem der vorangehenden Ansprüche, wobei vor dem Schritt c) die folgenden Schritte durchgeführt werden: – Auswählen eines zweiten Referenzschaltelements aus der Vielzahl synchron angesteuerter Schaltelemente (101, 102, 103), das mit dem ersten Referenzschaltelement (102) wenigstens über eine Signalverbindung gekoppelt ist, und – Festlegen einer zweiten Referenzankunftszeit des Taktsignals für das zweite Referenzschaltelement.
  12. Verfahren gemäß Anspruch 11, wobei das zweite Referenzschaltelement nur aus der Gruppe der mittelbar mit dem ersten Referenzschaltelement (102) gekoppelten Schaltelemente gewählt wird.
  13. Verfahren gemäß einem der Ansprüche 11 oder 12, wobei der Schritt c) jeweils für die mit dem ersten Referenzschaltelement gekoppelten Schaltelemente und für die mit dem zweiten Referenzschaltelement gekoppelten Schaltelemente unter Außerachtlassung der Schaltelemente, für die eine Ankunftszeit festgelegt wurde, durchgeführt wird.
  14. Verfahren gemäß einem der vorangehenden Ansprüche, wobei wenigstens ein Schaltelement aus einem Einzelschaltelement oder aus einer Gruppe von Einzelschaltelementen gebildet ist.
  15. Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung, das beim Erstellen einer Taktbaumstruktur-Datei ein Verfahren gemäß einem der vorangehenden Ansprüche verwendet und auf Grundlage der Taktbaumstruktur-Datei die Platzierung und den Aufbau eines Taktbaums innerhalb der Halbleiterschaltung festlegt.
  16. Vorrichtung zum Erstellen einer Taktbaumstruktur-Datei mit einem Prozessor, der derart eingerichtet ist, dass die Verfahrensschritte gemäß einem der Ansprüche 1 bis 14 durchführbar sind.
  17. Computerlesbares Speichermedium, in dem ein Computerprogramm zum Erstellen einer Taktbaumstruktur-Datei gespeichert ist, das, wenn es von einem Prozessor ausgeführt wird, die Verfahrensschritte gemäß einem der Ansprüche 1 bis 15 aufweist.
  18. Computerlesbares Speichermedium, in dem ein Computerprogramm zum Erstellen eines Layouts für eine Halbleiterschaltung gespeichert ist, das, wenn es von einem Prozessor ausgeführt wird, die Verfahrensschritte gemäß Anspruch 15 aufweist.
DE10338745A 2003-08-22 2003-08-22 Verfahren und Vorrichtung zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei, Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung, sowie computerlesbare Speichermedien Withdrawn DE10338745A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10338745A DE10338745A1 (de) 2003-08-22 2003-08-22 Verfahren und Vorrichtung zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei, Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung, sowie computerlesbare Speichermedien
US10/922,791 US20050091623A1 (en) 2003-08-22 2004-08-19 Method and apparatus for computer-aided creation of a clock tree structure file, a method for computer-aided creation of a layout for a semiconductor circuit, and a computer-readable storage media

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10338745A DE10338745A1 (de) 2003-08-22 2003-08-22 Verfahren und Vorrichtung zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei, Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung, sowie computerlesbare Speichermedien

Publications (1)

Publication Number Publication Date
DE10338745A1 true DE10338745A1 (de) 2005-03-17

Family

ID=34201892

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10338745A Withdrawn DE10338745A1 (de) 2003-08-22 2003-08-22 Verfahren und Vorrichtung zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei, Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung, sowie computerlesbare Speichermedien

Country Status (2)

Country Link
US (1) US20050091623A1 (de)
DE (1) DE10338745A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278120B2 (en) * 2004-07-23 2007-10-02 Synplicity, Inc. Methods and apparatuses for transient analyses of circuits
US8904336B1 (en) * 2013-06-29 2014-12-02 Synopsys, Inc. Determination of meta-stable latch bias voltages

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5980092A (en) * 1996-11-19 1999-11-09 Unisys Corporation Method and apparatus for optimizing a gated clock structure using a standard optimization tool
US6559701B1 (en) * 2001-06-26 2003-05-06 Lsi Logic Corporation Method to reduce power bus transients in synchronous integrated circuits
JP4118536B2 (ja) * 2001-07-03 2008-07-16 株式会社東芝 クロック遅延設定方法
US6647540B2 (en) * 2001-11-08 2003-11-11 Telefonaktiebolaget Lm Ericsson(Publ) Method for reducing EMI and IR-drop in digital synchronous circuits
US6754877B1 (en) * 2001-12-14 2004-06-22 Sequence Design, Inc. Method for optimal driver selection
US6807660B1 (en) * 2002-10-01 2004-10-19 Sequence Design, Inc. Vectorless instantaneous current estimation

Also Published As

Publication number Publication date
US20050091623A1 (en) 2005-04-28

Similar Documents

Publication Publication Date Title
DE10045568B4 (de) Ereignisgestütztes Halbleiterprüfsystem
DE69724245T2 (de) Verfahren zur plazierung von taktpuffern in einem taktverteilungssystem
DE10235739B4 (de) Register, das auf einem Speichermodul montiert ist sowie Verwendung eines Registers in einem Speichermodul
DE102005016299A1 (de) Tastverhältniskorrektur
DE10235740A1 (de) Register, das zum Korrespondieren mit einem Breitfrequenzband geeignet ist, und Signalerzeugungsverfahren, das dasselbe verwendet
DE102008023681B4 (de) Verfahren und Vorrichtung zum Regeln eines Versorgungsstroms für eine Schaltung oder eine Mehrzahl von Schaltungsblöcken
EP1661048B1 (de) Verfahren zum entwurf von integrierten schaltkreisen mit ersatz-logikgattern
DE10338745A1 (de) Verfahren und Vorrichtung zur rechnergestützten Erstellung einer Taktbaumstruktur-Datei, Verfahren zum rechnergestützten Erstellen eines Layouts für eine Halbleiterschaltung, sowie computerlesbare Speichermedien
DE19612701A1 (de) Variable Verzögerungsschaltung
DE102012016610B4 (de) Echtzeit-Schaltungssimulation
DE102008039120A1 (de) Selbstabstimmendes Filter
DE10331801B4 (de) Schaltung zum kontinuierlichen Überwachen und Einstellen eines analogen Signals sowie Verfahren zum Betreiben einer Schaltung
EP1396801A1 (de) Verfahren zum Entwickeln eines elektronischen Bausteins
DE602005004652T2 (de) Signal Generator
DE10301696A1 (de) Integrierte Halbleiterschaltung mit einer Taktbaumstruktur und Verfahren zum Erstellen einer solchen, sowie Computerprogrammprodukt zum Erzeugen einer Taktbaumstruktur in einer integrierten Halbleiterschaltung
DE102004044668B4 (de) Verfahren und Vorrichtung zum Überprüfen einer Schaltung auf Einhaltung von Setup- und Holdzeiten
DE102019207959A1 (de) Schaltung und verfahren zur erzeugung einer linearen verzögerung
DE102012203038A1 (de) System und Verfahren zur Verteilungsanalyse von integrierten Stapel-Die-Schaltungen
WO2002019089A2 (de) Verfahren zum erzeugen einer folge von zufallszahlen eines 1/f-rauschens
DE102004044407B4 (de) Schaltung zur Bereitstellung eines Selektionssignals für einen Regelwert einer Regelgröße
DE102004014178B4 (de) Rechnergestütztes, automatisiertes Verfahren zur Verifikation analoger Schaltungen
EP0927400B1 (de) Verfahren zur optimierten plazierung technischer komponenten in einer vorgebbaren topologie, durch einen rechner
DE102018222290A1 (de) Steuereinheit für eine Wandlerschaltung mit mehreren Schaltwandlerblöcken
DE10218404A1 (de) Verfahren zur numerischen Simulation einer elektrischen Schaltung
WO1999063664A2 (de) Vorrichtung und verfahren zur synchronisation eines asynchronen signals in synthese und simulation einer getakteten schaltung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee