DE10025583A1 - Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen - Google Patents

Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen

Info

Publication number
DE10025583A1
DE10025583A1 DE10025583A DE10025583A DE10025583A1 DE 10025583 A1 DE10025583 A1 DE 10025583A1 DE 10025583 A DE10025583 A DE 10025583A DE 10025583 A DE10025583 A DE 10025583A DE 10025583 A1 DE10025583 A1 DE 10025583A1
Authority
DE
Germany
Prior art keywords
cell
cells
dimensions
network list
layout
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
DE10025583A
Other languages
English (en)
Inventor
Joel Hatsch
Winfried Kamp
Ronald Kuenemund
Eva Lackerschmid
Heinz Soeldner
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 DE10025583A priority Critical patent/DE10025583A1/de
Priority to US09/864,979 priority patent/US6735742B2/en
Publication of DE10025583A1 publication Critical patent/DE10025583A1/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/392Floor-planning or layout, e.g. partitioning or placement
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
    • 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/39Circuit design at the physical level
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • H01L27/118Masterslice integrated circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Die herkömmlichen Syntheseprogramme oder Datenpfadgeneratoren für Halbleiterschaltungen können nicht mit parametrisierbaren Zellen umgehen, insbesondere können sie die Treiberfähigkeit nicht kontinuierlich einstellen, denn sie wurden für feste Zellen entwickelt. Um diesen Nachteil zu überwinden, stellt die Erfindung zur Verfügung ein Verfahren zur Optimierung des Layouts von Zellen einer integrierten Schaltung, mit folgenden Schritten: - Bereitstellen einer zellbasierten Netzliste mit Verweisen auf Zellendefinitionen mit paremetriesierbaren Dimensionen; - Berechnen eines Layouts einer integrierten Schaltung anhand der zellbasierten Netzliste; - Extrahieren einer Primärnetzliste aus dem Layout; - Optimieren der Bauelementdimensionen zumindest eines Teils der Bauelemente der integrierten Schaltung anhand von zumindest einem vorgegebenen Optimierungsparameter und einer Simulation anhand der Primärnetzliste; - Erstellen einer optimierten Sekundärnetzliste anhand der Ergebnisse der Bauelementoptimierung und - Automatisches Modifizieren des Layouts hinsichtlich der Zellendimensionen anhand der Sekundärnetzliste.

Description

Die Erfindung betrifft ein Verfahren zur Optimierung des Zel­ layouts und der Zellenanordnung auf einem integrierten Hal­ bleiter.
Bei der Erstellung integrierter Schaltungen werden üblicher­ weise Schaltungsbeschreibungssprachen verwendet, beispiel­ sweise eine High-Level-Sprache wie VHDL. Eine weitere Möglichkeit der Schaltungserstellung ist die Verwendung eines sogenannten Schematics, einer symbolbasierten Information über die Schaltung, die wiederum aus einer Schal­ tungsbeschreibung erzeugt werden kann. Schließlich besteht auch die Möglichkeit, die Schaltung mit Hilfe eines Datenpfadgenerators zu entwerfen. Die derartig beschriebene Schaltung muß im Anschluß in ein Layout umgesetzt werden, welches die Basis der graphischen Information, welche die für die integrierte Schaltung verwendeten Bauelemente auf einem Halbleiter abbildet, bildet.
Zu diesem Zweck wird zunächst eine zellbasierte Netzliste (ZBN) erstellt. Bei Verwendung einer Schaltungsbeschreibung­ ssprache wie VHDL oder Verilog geschieht dies mit Hilfe eines Syntheseprogramms, bei Verwendung eines Schematics mit Hilfe eines Extraktionsprogramms.
Die ZBN ist eine hierarchisch gegliederte Liste aller für die Schaltung verwendeten Zellen und der Verbindungen der Zellen zueinander. Unter einer Zelle wird eine Einheit von funk­ tional zusammengehörigen Bauelementen oder Zellen verstanden. Eine Zelle kann nämlich aufgrund des hierarchischen Aufbaus der ZBN wiederum aus Einzelzellen aufgebaut sein. Bei der Er­ stellung der ZBN greifen die verwendeten Programme auf eine sogenannte Zellenbibliothek zu, die Informationen über Stan­ dardzellen enthält. Eine Standardzelle ist hierbei eine häufig verwendete, kleinste Einheit von Bauelementen mit einer definierten Funktion. Ein Beispiel für eine Stan­ dardzelle kann ein aus zwei Transistoren gebildeter Inverter sein. In der Standardzellenbibliothek sind verschiedene In­ formationen über die Eigenschaften der Standardzellen abge­ legt. Diese sind zu sogenannten "Views" gruppiert, entspre­ chend ihrer hauptsächlichen Verwendung mit verschiedenen Dar­ stellungs- und Berechnungsprogrammen. Der Layout-View enthält hierbei Informationen über den Aufbau einer Zelle in der flächigen Ausdehnung ihrer Komponenten auf den verschiedenen Belichtungsmasken. Dieser View enthält jeweils Daten zur Definition der verschiedenen, für die Herstellung der Zelle notwendigen Polygone. Der Schematics-View beschreibt das Aussehen der Zelle im Schaltungsbild eines Schematics. Die VHDL- und Verilog Views beschreiben jeweils in diesen Pro­ grammiersprachen die Zelle. Der Timing-View beschreibt das zeitliche Verhalten der Zelle bei Anlegen von Signalen an die Eingänge der Zelle. Der Abstract-View enthält Definitionen zum Umriß der Zelle und den Positionen der einzelnen An­ schlüsse. Bei der konkreten Berechnung einer Bildschirm-, Drucker-, oder Belichterausgabe von Schaltungsdaten greifen die verwendeten Programme auf die Zellenbibliothek zu, um die dort gespeicherten Informationen zur Berechnung einer Ausgabe zu verwenden. Als unterste hierarchische Ebene geben die Standardzellen die Information, wie die Schaltung konkre­ tisiert aussieht. Auch Programme zur Abarbeitung von VHDL- Programmen greifen auf die Zellenbibliothek zurück, um ent­ sprechende Verweise im VHDL-Programm processieren zu können.
Neben Designatoren und Verbindungen enthält die ZBN auch Ver­ weise auf diese Zellenbibliothek, die in späteren Schritten ausgewertet werden. In einer Standardzellenbibliothek liegen viele Standardzellen, beispielsweise ein Inverter, in ver­ schiedenen Ausprägungen vor, welche sich in ihrer Treiber­ fähigkeit und damit auch in der Größe, Zahl und Anordnung der in der Zelle befindlichen Bauelemente unterscheiden. Die Treiberfähigkeit eines Bauelements bzw. seiner Zelle beschreibt seine Fähigkeit, weitere Bauelemente mit Spannung bzw. Strom zu versorgen. Die Programme zur Erzeugung der ZBN sind in der Lage, anhand von Hinweisen in der Schal­ tungsbeschreibung oder immanentem Wissen über Notwendigkeiten von Treiberstärken o. ä. eine der verschiedenen Standardzellen eines Zelltyps auszuwählen und einen entsprechenden Verweis in der ZBN auf diese Standardzelle anzulegen.
Im nächsten Schritt wird ein sogenanntes Layout berechnet. Die verwendeteten Verfahren werden hierbei in sogenannte "full custom" Verfahren, bei denen die Plazierung und Dimen­ sionierung der einzelnen Bauelemente von Hand erfolgt, und "semi custom" Verfahren unterschieden, bei denen die maßgeblichen Schritte automatisiert durchgeführt werden. Im folgenden soll das "semi custom" Verfahren beschrieben wer­ den, welches auch der Erfindung zugrundeliegt. Die Erstellung des Layouts geschieht mittels eines Programms für Placement und Routing, d. h. der Anordnung der in der ZBN definierten Zellen nebeneinander und der Verbindung der Anschlußkontakte der Zellen gemäß den Vorgaben der ZBN. Die verwendeten Pro­ gramme folgen dabei der hierarchischen Gliederung der ZBN und versuchen, zusammengehörige Zellen, die beispielsweise auf einer höheren Hierarchieebene zu einer größeren Zelle zusam­ mengefasst sind, in räumlicher Nähe anzuordnen. Diese Anord­ nung erfolgt mit Hilfe von aus der Zellenbibliothek gewonne­ nen Informationen über den Umriß oder das konkrete Layout der jeweils zu plazierenden Zellen (Abstract- oder Layout-View). Hierfür stehen Algorithmen zur Verfügung, welche im allge­ meinen versuchen, die insgesamt verwendete Fläche zu mini­ mieren und gleichzeitig die Verbindungswege (Verdrahtung) zwischen den einzelnen Zellen zu optimieren. Das Routing de­ finiert diese elektrische Verdrahtung der Zellen miteinander und den Stromversorgungsleitungen. Auch hierfür stehen Algo­ rithmen zur Verfügung, die versuchen, die von der Gesam­ tschaltung verwendete Leiterbahnlänge zu minimieren. Um diesem Ziel möglichst nahe zu kommen, besteht eine übliche Methode der Anordnung der Zellen darin, diese in Reihen zu setzen, welche eine jeweils gleiche Höhe haben oder in Rei­ hen, welche alle die gleiche Höhe haben, um auf diese Weise eine durchgehende, linear verlaufende Stromversorgung der Zellen zu ermöglichen.
Das Ergebnis des Placement/Routing ist das Layout, eine in Binärdaten erstellte Datenbasis mit Informationen über die Anordnung der Zellen der geplanten Schaltung zueinander an­ hand von Koordinaten auf einer Fläche, Designatoren der Zel­ len, Verweisen auf Zellen einer niedrigeren Hierarchie-Ebene oder auf Standardzellen der Zellenbibliothek und Informa­ tionen über den Verlauf der in den Verdrahtungsebenen an­ zuordnenden Leiterbahnen.
Das Layout wird im Anschluß zur Maskenerzeugung für die Be­ lichtung des Halbleiters verwendet.
Um jedoch die tatsächliche Funktionsfähigkeit des so erzeug­ baren Halbleiters bereits vorab und ohne große Kosten testen zu können, sind verschiedene Analyse- und Optimierung­ swerkzeuge entwickelt worden.
Um die Funktionsfähigkeit zu überprüfen, wird im allgemeinen zunächst ein sogenannter Simulator verwendet. Zum Zwecke der Simulation wird aus dem Layout mittels eines Extraktionspro­ gramms eine Netzliste erstellt, welche Informationen über die im Layout verwendeten elektrischen Elemente enthält. Diese Netzliste entspricht im allgemeinen in ihrer Syntax der zell­ basierten Netzliste, ist jedoch erweitert. Die Netzliste um­ faßt Informationen über die Anordnung und das Aussehen der einzelnen Zellen, enthält jedoch auch weitergehende Informa­ tionen, beispielsweise über die in den Zellen verwendeten Bauelemente, zu erwartende kapazitive Kopplungen zwischen zwei oder mehr Leiterbahnen und Informationen über die Beein­ flussung von benachbarten Bauelementen. Die so erstellte Netzliste ist also eine detailiertere Version der ZBN, in die auch solche Informationen einfliessen, die erst nach Erstel­ lung eines konkreten Layouts und damit der Festlegung der Anordnung und Verbindung der Zellen miteinander überhaupt zur Verfügung stehen. Je mehr Informationen über das Layout in die Netzliste einfließen, desto präziser kann die nachfol­ gende Simulation durchgeführt werden. Die Simulation prüft an Hand gegebener physikalischer und elektrischer Gesetze, ob das Layout der integrierten Schaltung und die Schaltung selbst den Anforderungen entspricht. Falls die Anforderungen nicht erfüllt werden, kann die Schaltung durch den Austausch bestimmter Zellen, die beispielsweise eine höhere Treiber­ fähigkeit besitzen, geändert werden. Dies setzt aber voraus, daß solche Ersatzzellen in geeigneter Dimensionierung vorhan­ den sind. Üblicherweise stehen, wie erwähnt, nur wenige Variationen von jeder Zelle in der Zellenbibliothek zur Ver­ fügung. Manchmal sind die eingesetzten Zellen zwar stark genug, um die gesetzten Anforderungen zu erreichen, jedoch oft überdimensioniert, was zur Folge hat, daß die Schaltung zuviel Strom verbraucht und mehr Wärme produziert. Diese Ma­ nipulation der Zellendimensionierung erfordert zudem einen Trial- und Erroransatz, da mitunter nicht klar ist, welche Zellen in welcher Art und Weise geändert werden müssen.
Um hier klarere Aussagen treffen zu können, werden daher zusätzlich Optimierungsprogramme verwendet, welche nach vor­ gegebenen Parametern (Leistung, Fläche, Geschwindigkeit) die Schaltung optimieren. Diese stellen die simulierten Ströme innerhalb des simulierten Halbleiters fest und bestimmen üblicherweise einen sogenannten kritischen Pfad. Der kri­ tische Pfad ist ein elektrischer Leiter- bzw. Signalpfad zwischen einem bestimmten Eingang der Schaltung und einem Ausgang der Schaltung, welcher sich nach vorgegebenen Op­ timierungsparametern als der schlechteste Signalpfad heraus­ stellt. Wenn beispielsweise die Schaltung nach dem Op­ timierungsparameter Geschwindigkeit optimiert werden soll, ist der kritische Pfad derjenige durch die Schaltung hindurch, welcher am langsamsten ist, also die längste Laufzeit vom Eingang eines Signals am Eingang der Schaltung zum Auf­ treten eines Ausgangssignals an einem Ausgang der Schaltung aufweist. Auch Teile oder Bereiche einer Schaltung können auf diese Weise optimiert werden.
Es ist auch möglich, die Schaltung nach anderen Optimierung­ sparametern zu bewerten, beispielsweise nach der Fläche, die möglichst klein sein soll oder nach der Minimierung der Ver­ lustleistung. Auch im Fall der Flächenminimierung kann mit kritischen Pfaden gearbeitet werden, welche dann die Flächen der einzelnen Signalpfade bei vorgegebenen Grenzwerten für andere Parameter, beziehungsweise durch sie entstehende Ver­ lustleistung bewerten.
Nach Feststellung des kritischen Pfads der Schaltung wird eine Kausalitätsfeststellung durchgeführt, bei der die kri­ tischen Zelle(n) in dem kritischen Pfad identifiziert wird bzw. werden. Im nachfolgenden Schritt werden die Dimensionen (Abmessungen) der Bauelemente dieser als kritisch bewerteten Zellen angepaßt, bis der kritische Pfad ein verbessertes Ver­ halten zeigt und nicht mehr derjenige Pfad mit dem schlecht­ esten Verhalten aller möglichen Pfade innerhalb der Schaltung und dem Halbleiter darstellt.
Dieses Optimierungsverfahren wird mehrfach auf die zu unter­ suchende Schaltung beziehungsweise den zu untersuchenden Hal­ bleiter angewendet werden, wobei jeweils ein neuer kritischer Pfad bestimmt und optimiert wird. Nach dem Optimierungsprozeß wird eine neue Netzliste, die im Unterschied zur primären Netzliste als sekundäre Netzliste bezeichnet werden soll, er­ stellt. Diese enthält nunmehr die Informationen, welche der Fachmann benötigen würde, um die Zellen im Layout an die op­ timierten Bedingungen anzupassen, als zusätzliche Dimen­ sionierungsinformationen für die Bauelemente. Übliche Pro­ gramme zur Synthese der ZBN erzeugen jedoch nur ZBNs mit festen Verweisen auf bestimmte Standardzellen, welche stets feste Dimensionierungen aufweisen.
Dieses Problem der flexiblen Anpassung des Layouts könnte mittels parametrisierbarer Zellen gelöst werden. Bei diesen Zellen wäre es möglich, genau die benötigte Treiberfähigkeit einzustellen. Um sich der gegebenen Treiberfähigkeit anzupas­ sen, kann die Zelle praktisch stufenlos wachsen beziehung­ sweise schrumpfen. Die Zellen mit der neuen Treiberfähigkeit wären also nicht unbedingt genauso hoch und breit wie ihre Nachbarzellen, so daß man diese verschieben, größer bezie­ hungsweise kleiner machen müßte, um wieder eine einheitliche Reihenhöhe zu erlangen, sofern diese in dem integrierten Hal­ bleiter wünschenswert ist. Der Einsatz parametrisierbarer Zellen würde zwar das Problem der begrenzten Ausprägungen der Zellen lösen, bringt jedoch zahlreiche Schwierigkeiten mit sich:
  • - Die herkömmlichen Syntheseprogramme oder Datenpfadgenerato­ ren können nicht mit parametrisierbaren Zellen umgehen, ins­ besondere können sie die Treiberfähigkeit nicht einstellen, denn sie wurden für feste Zellen entwickelt.
  • - Die Geometrie der Zellen ändert sich bei der Einstellung an­ derer Treiberfähigkeiten. Dadurch entstehen Lücken beziehung­ sweise Überlappungen zwischen den Zellen. Herkömmliche Pro­ gramme können zwar die Zellen wieder nebeneinander ordnen; sie sind aber unfähig, die Höhe der Zellen in einer Reihe wieder einheitlich zu gestalten.
  • - Diese geometrischen Änderungen benötigen eine neue Ver­ drahtung der Zellen und beeinflussen somit die lokalen Werte und Verhältnisse der Widerstände und Kapazitäten der Ver­ drahtung zwischen den Zellen.
  • - Die Änderungen müssen Zelle für Zelle durchgeführt werden. Da ein üblicher Schaltungsentwurf aus mehreren tausend Zellen besteht, ist dieses Verfahren nicht praktikabel durchführbar.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, die Verwendung parametrisierbarer Zellen einer automatisier­ ten Halbleiterprojektierung (semi custom) zugänglich zu ma­ chen.
Diese Aufgabe wird gelöst durch das Verfahren zur Optimierung der Zellenanordnung auf einem integrierten Halbleiter gemäß dem unabhängigen Patentanspruch 1 und der Vorrichtung zum Entwurf von Halbleitern gemäß dem unabhängigen Patentanspruch 21 und dem Programmobjekt gemäß dem unabhängigen Patentan­ spruch 22.
Weitere vorteilhafte Ausgestaltungen, Aspekte und Details der vorliegenden Erfindung ergeben sich aus den abhängigen Paten­ tansprüchen, der Beschreibung und den beigefügten Zeichnun­ gen.
Der Erfindung liegt der Grundgedanke zugrunde, einen automa­ tisierten Rückweg von den existierenden Optimierungsprogram­ men zur Layout-Erstellung zu schaffen.
Hierzu werden durch Simulation eines Layouts die Dimensionen (Flächenausdehnungen) von in einer Schaltung verwendeten Bauelementen optimiert und die so erhaltenen Dimensionen in das Layout zurückgeschrieben, woraufhin die im Layout de­ finierten Zellen an die veränderten Bauelementdimensionen angepasst und möglicherweise notwendige Änderungen in der Anordnung der Zellen vorgenommen werden.
Die Erfindung ist daher gerichtet auf ein Verfahren zur Op­ timierung des Layouts von Zellen einer integrierten Schaltung mit folgenden Schritten:
  • - Bereitstellen einer zellbasierten Netzliste mit Verweisen auf Zellendefinitionen mit parametrisierbaren Dimensionen;
  • - Berechnen eines Layouts einer integrierten Schaltung anhand der zellbasierten Netzliste;
  • - Extrahieren einer Primärnetzliste aus dem Layout;
  • - Optimieren der Bauelementdimensionen zumindest eines Teils der Bauelemente der integrierten Schaltung anhand von zu­ mindest einem vorgegebenen Optimierungsparameter und einer Simulation anhand der Primärnetzliste;
  • - Erstellen einer optimierten Sekundärnetzliste anhand der Er­ gebnisse der Bauelementoptimierung; und
  • - Automatisches Modifizieren des Layouts hinsichtlich der Zel­ lendimensionen anhand der Sekundärnetzliste.
Unter Bauelement- und Zelldimensionen sind die Abmessungen der Bauelemente und Zellen integrierter Schaltungen zu ver­ stehen, daß heißt üblicherweise ihre flächigen Abmessungen bei Aufsicht, jedoch gegebenenfalls ebenso ihre Tiefenaus­ dehnung in den integrierten Halbleiter hinein, beispielsweise bei Verwendung von Vertikaltransistoren.
Der zumindest eine vorgegebene Optimierungsparameter ist eine physikalische beziehungsweise elektrische Größe, auf die hin der integrierte Halbleiter optimiert werden soll. Unter einem Optimierungsparameter kann gegebenenfalls auch zu verstehen sein, überhaupt eine Funktionsfähigkeit der Schaltung zu er­ reichen.
Wie oben beschrieben, ist eine zellbasierte Netzliste eine textuelle, hierarchische Definition aller in einer integrier­ ten Schaltung verwendeten Zellen. Auf der untersten Hierar­ chieebene verweist die Netzliste auf eine Zellenbibliothek, in der Zellen in ihren Eigenschaften definiert werden. Wäh­ rend häufig auf Standardzellenbibliotheken mit Zelldefinitio­ nen in festen Zelldimensionierungen zurückgegriffen wird, verwendet die vorliegende Erfindung statt dessen eine Zellenbibliothek, in der die Zellen parametrisierbar sind. Zusätz­ lich zu den eigentlichen Verweisen kann die zellbasierte Netzliste also auch Angaben zu den Dimensionen der Bauelemen­ te, auf die verwiesen wird, enthalten. Diese werden beim Auf­ ruf der Zellendefinitionen automatisch errechnet und mit ü­ bergeben, so daß die Zellen entsprechende Angaben zurücklie­ fern können.
Alternativ kann die zellbasierte Netzliste auch Verweise auf eine Standardzellenbibliothek aufweisen, wobei jedoch beim Aufruf der Zellen nicht die entsprechende Standardzellenbib­ liothek aufgerufen wird, sondern lediglich eine Verweisliste, welche jeder der Zellen der Standardbibliothek eine Zelle ei­ ner Zellenbibliothek mit variablen Zellen zuweist, wobei zu­ sätzlich Informationen über die Dimensionen der einzelnen Standardzellen in der Verweisliste enthalten sind und beim Aufruf übergeben werden. Auf diese Weise ist es möglich, bei­ spielsweise alle in einer Standardzellenbibliothek enthalte­ nen Invertertypen auf einen allgemeinen, parametrisierbaren Invertertyp abzubilden, der in Abhängigkeit von Dimensionsan­ gaben unterschiedlich ausgelegt werden kann.
Die Verwendung einer zellbasierten Netzliste mit parametri­ sierten Verweisen der einen oder anderen Art ist notwendig, um mit den herkömmlichen Placement- und Routing-Programmen im Folgeschritt ein Layout erzeugen zu können, in dem die Anga­ ben zu den Dimensionen der Zellen als Parameter vorhanden sind. Auf diese Weise wird die später erfolgende Manipulation der Dimensionsdaten des Layouts ermöglicht.
Das erzeugte Layout ist ein Binärdatenobjekt, welches Infor­ mationen über die räumliche Positionierung der in einer Schaltung verwendeten Zellen, deren Bezeichnungen (Designato­ ren, welche zumeist einfach aus der zellbasierten Netzliste übernommen werden), Verweise auf die für die Zellen zuständi­ gen Zelldefinitionen in der Zellenbibliothek und räumliche Routinginformationen über die Leiterbahnverbindungen zwischen der Kontaktpunkten der Zellen enthält. Das erfindungsgemäß verwendete Layout enthält außerdem Informationen über die Di­ mensionierung der Zellen.
Ein Layout verwendet üblicherweise ein Koordinatensystem mit X und Y Koordinaten, um die Positionierung von Bezugspunkten der Zellen und der Verläufe der Leiterbahnen festzulegen. Hierbei können die Bezugspunkte der Zellen unterschiedlich definiert sein, beispielsweise als einer der Eckpunkte der Zelle oder als ihr Mittelpunkt. Bei einer dreidimensionalen Anordnung von Bauelementen in einem Halbleiter bzw. der Ver­ wendung von Hochkant-Bauelementen wie Vertikaltransistoren kann das Koordinatensystem auch eine senkrecht zu den X und Y Koordinaten stehende Z Koordinate berücksichtigen.
Im nächsten Schritt der erfindungsgemäßen Verfahrens wird mittels einer Extraktion aus dem Layout eine primäre Netzliste erzeugt. Unter einer primären Netzliste ist eine solche Netzliste zu verstehen, in der mit Hilfe beispiel­ sweise eines Extraktionsprogramms alle elektrischen Bauele­ mente und ihre Bedingungen zueinander und alle elektrischen Größen in einer hierarchischen Datenstruktur erfaßt werden.
Erfindungsgemäß wird eine Simulation, die auf der primären Netzliste basiert, durchgeführt, um kritische Aspekte der Schaltung, welche optimiert werden können, herauszufinden und nach erfolgter Optimierung der Bauelementdimensionen den Er­ folg überprüfen zu können. Die erfinderische Leistung des Verfahrens liegt darin, daß eine automatische Kopplung zwis­ chen der erzeugten optimierten sekundären Netzliste und dem Layout erfolgt. Da verwendbare Optimierungsprogramme die Bau­ teildimensionen in einem Kontinuum verändern können, ist es nunmehr möglich, unter Umgehung der herkömmlichen Zellenbib­ liothek das Layout direkt mit dem für optimal befundenen Wert einer Bauelementdimension zu versehen. Hierdurch kann man für das nachfolgende erneute Berechnen der Layoutdaten optimal angepaßte Bauelementdimensionen zugrundelegen.
Die unmittelbare Änderung der Dimensionen von Bauelemente am Layout bringt es mit sich, daß bei der späteren Neuberechnung des Layouts die relativen Positionen der Zellen zueinander bereits vorgegeben sind und somit nicht mehr neu berechnet werden müssen. Das elektrische Verhalten der Schaltung ändert sich damit am wenigsten und der Rechenaufwand ist am gering­ sten. Bei der Verwendung dreidimensional zu bemaßender Struk­ turen wie etwa Vertikaltransistoren, kann auch die Höhe der Zellen bzw. ihrer Komponenten eine Dimension der räumlichen Verteilung der Zellen sein. Wie bereits oben ausgeführt, liegen Bauelemente in Zellen vor, die zusätzliche elektrische Umgebungen der eigentlichen Bauelemente schaffen.
Um die beim ersten Berechnen der Layoutdaten erhaltenen Posi­ tionen nicht unnötig zu stören und damit die erneute Ber­ echnung des Layouts unnötig aufwendig zu gestalten, kann es weiterhin bevorzugt werden, daß die relativen Positionen der Zellen zueinander beim erneuten Berechnen sich nicht we­ sentlich verändern. Dies wird durch die Verwendung des Lay­ outs mit parametrisierbaren Zellen und das Schreiben der Veränderungen direkt in das Layout erreicht.
Das Bereitstellen der zellbasierten Netzliste kann vorzugs­ weise folgende Schritte aufweisen:
  • - Erzeugen einer zellbasierten Basisnetzliste aus einer Schal­ tungsbeschreibung, einem Schematic oder mittels eines Daten­ pfadgenerators, welche Verweise auf Zellendefinitionen einer Standarzellenbibliothek mit festen Dimensionen enthalten;
  • - Identifizieren geeigneter Zellendefinitionen einer Zellen­ bibliothek mit parametrisierbaren Dimensionen für zumindest einen Teil der Zellen der zellbasierten Basisnetzliste; und
  • - Erzeugen der zellbasierten Netzliste aus der zellbasierten Basisnetzliste, bei der anstelle der Verweise auf Zellendefi­ nitionen der Standardbibliothek entsprechende Verweise auf geeignete Zellendefinitionen der Zellbibliothek mit parametrisierbaren Dimensionen eingesetzt sind, wobei in der zellba­ sierten Netzliste die Verweise zusätzliche Angaben über die Dimensionen der Bauelemente enthalten, welche als Parameter den Zellendefinitionen übergeben werden könnnen und die den jeweiligen Dimensionen der Bauelemente der Standardzellenbib­ liothek entsprechen, auf welche die Verweise der zellbasier­ ten Basisnetzliste verweisen.
In einer zu dieser Ausführungsform alternativen Aus­ führungsform wird nicht die zellbasierte Netzliste verändert, sondern die Standardzellenbibliothek ausgetauscht. Die Ver­ weise in der ZBN ändern sich mithin nicht, sie verweisen jedoch nicht mehr auf eine tatsächliche Standardzellenbiblio­ thek, sondern auf eine Bibliothek, die ihrerseits wiederum für jede der Standardzellen nur Verweise auf entsprechend geeignete Zellen in einer variablen Zellenbibliothek und In­ formationen über die Dimensionierungen der einzelnen Bauele­ mente der Standardzellen enthalten, welche als Parameter an die parametrisierbaren Zellen in der variablen Zellenbiblio­ thek weitergegeben werden können.
Besonders bevorzugt wird es, daß in das Layout auch Angaben über die parametrisierbaren Dimensionen von Zellen übernommen werden. Auf diese Weise können die Angaben über die Dimensio­ nen der Zellen später besonders einfach verändert werden.
Insbesondere können die Zellen in Reihen angeordnet sein, wo­ bei sich die Abfolge der Zellen in einer Reihe beim erneuten Berechnen nicht verändert. Zudem wird es bevorzugt, daß die Zellen in dem Layout in Reihen angeordnet sind, bei denen alle zu einer Reihe gehörenden Zellen die gleiche Höhe auf­ weisen.
Wie bereits oben angesprochen, können verschiedene Op­ timierungsparameter zur Optimierung des Halbleiters verwendet werden. Diese können beispielsweise die Schaltgeschwindigkeit der integrierten Schaltung, der Flächenbedarf der Schaltung oder die Verlustleistung der Schaltung sein, wobei auch mehr als ein Optimierungsparameter gleichzeitig verwendet werden kann und eine Gewichtung bei der Berücksichtigung der Op­ timierungsparameter vorgenommen werden kann.
Das Optimieren selbst weist vorzugsweise folgende Schritte auf:
  • - Simulieren der integrierten Schaltung anhand der Primärnetzliste;
  • - Auffinden eines kritischen Signalspfads in der simulierten Schaltung; und
  • - Optimieren des Verhaltens des kritischen Signalpfads durch Variation der Bauelementdimensionen der in ihm enthaltenen Zellen.
Die Schritte des Optimierungsvorgangs können auch mehrfach durchlaufen werden. Hierdurch ist es möglich, nicht nur den kritischsten Signalpfad zu erfassen. Übliche Optimierungspro­ gramme durchlaufen den Optimierungsschritt ohnedies für alle Signalpfade, so daß das Ergebnis einer mit ihnen durchge­ führten Optimierung eine insgesamt optimierte Schaltung ist. Es ist zudem möglich, das Optimierungsprogramm mehrfach auf die Schaltung anzuwenden und eine Optimierung nach verschie­ denen Kriterien hintereinander durchzuführen
Das automatische Modifizieren der Datenbasis kann folgende Schritte aufweisen:
  • - Vergleichen der Sekundärnetzliste mit der Primärnetzliste;
  • - Auffinden von Bauelementen, deren Dimensionierung sich durch die Optimierung geändert hat;
  • - Feststellen von Designatoren der geänderten Bauelemente;
  • - Auffinden der Bauelemente mit den festgestellten Designa­ toren im Layout; und
  • - Verändern der Bauelementgröße der aufgefundenen Bauele­ mente entsprechend den Werten der Sekundärnetzliste in das modifizierte Layout.
Unter einem Designator ist eine eindeutige Bezeichnung eines bestimmten Bauelements zu verstehen, beispielsweise eine Num­ mer oder eine andere Art von Bezeichnung. An Hand dieser Des­ ignatoren, die in der Netzliste und im Layout gleich sind bzw durch eine Referenzliste miteinander korreliert werden kön­ nen, so daß jedenfalls eine eindeutige Zuweisung besteht, ist es möglich, alle geänderten Bauelemente auch in dem Layout wieder aufzufinden und sie entsprechend zu modifizieren.
Schließlich weist das automatische Modifizieren des Layouts vorzugsweise den folgenden, zusätzlichen Schritt auf:
  • - Anpassen der Zelleigenschaften von Zellen mit veränderten Bauteildimensionen an die veränderten Bauteildimensionen.
Die gängigen Simulations- und Optimierungsprogramme verwenden für ihre Optimierung eine Netzliste (hier als Primärnetzliste bezeichnet), welche Einträge für alle in einer Schaltung vor­ kommenden Elemente wie Zellen, Bauelemente Leiterbahnen, Kopplungskapazitäten etc enthalten kann. Die eigentliche Op­ timierung findet dabei auf dem Niveau des einzelnen Bauele­ ments statt, welches neu dimensioniert wird, um den vorgege­ benen Optimierungskriterien besser zu genügen. Bei der Dimen­ sionierung der Bauelemente kann es vorkommen, daß die Zelle, zu der das Bauelement gehört, nicht mehr angemessen dimensio­ niert ist; sei es, daß durch Vergrößerung des Bauelements die der Zelle eigene Fläche nicht mehr zur Aufnahme des Bauele­ ments ausreicht, sei es, daß durch Schrumpfung des Bauele­ ments Platz auf der Fläche der Zelle ungenutzt bleibt. Im ersten Fall muß eine Anpassung der Zelle erfolgen, im zweiten Fall ist sie vom ökonomischen Standpunkt aus sinnvoll. Die Anpassung der Zelle kann in der Fläche, aber auch in die Tie­ fe erfolgen, beispielsweise bei der Verwendung von Vertikal­ transistoren.
Auch kann es nötig sein, andere Eigenschaften der Zellen als nur ihre reine Größe zu ändern. Auch kann es durch Änderungen anderer Eigenschaften zu nachfolgenden Größenänderungen der Zellen kommen. Es ist eine wichtige Eigenschaft der erfin­ dungsgemäß verwendeten, neu entwickelten parametrisierbaren Zellen, daß beim Modifizieren der Zelldimensionen die Zellen selbst berechnen können, welche Änderungen vorgenommen werden müssen, um die Zelle an die veränderten Bauteildimensionen anzupassen. Beim Aufruf der Zelldefinition in der Zellenbib­ liothek durch das Programm, welches das Layout berechnet bzw. anpasst, werden als Parameter Dimensionen derjenigen (oder auch aller) Bauelemente übergeben, welche in der Optimie­ rungsphase verändert wurden. Bei Auruf der Views "Abstract" oder "Layout" werden anhand dieser Parameter intern in der Zellendefinition Anpasssungen der Zelle vorgenommen, welche beispielsweise als Dimensionsänderung der Gesamtzelle oder als ein verändertes Layout der in der Zelle enthaltenen Bau­ elemente an das aufrufende Programm zurückgegeben werden. Die derart verwendeten Zellen unterscheiden sich mithin von her­ kömmlichen Zellen darin, daß sie über eine eingebaute "Eigen­ intelligenz" verfügen, die es ermöglichen, Dimensionierung und selbst das interne Layout einer Zelle selbständig zu mo­ difizieren.
Somit können die veränderten Bauteildimensionierungen be­ wirken, daß manche Zellen größer oder kleiner werden, so daß Lücken beziehungsweise Überlappungen zwischen den Zellen ent­ stehen. Dadurch würden elektrische Verbindungen unterbrochen, beziehungsweise es entstehen Kurzschlüsse. Daher sollte die Veränderung der Zelldimensionierung so durchgeführt werden, daß die einzelnen Zellen der integrierten Schaltung so modi­ fiziert und platziert werden, daß die Fläche wiederum voll­ ständig von Zellen bedeckt ist, ohne daß es zu Überlappungen kommt. Auf diese Weise ist beispielsweise eine einfache Stromversorgung möglich.
In besonders vorteilhafter Weise kann dies dadurch geschehen, daß die Form der Zelle in ihren beiden Ausdehnungen solange variiert wird, bis sie wieder in ihr Umfeld, das heißt zwis­ chen die sie umgebenden Zellen, optimal hineinpaßt.
Sollte eine Einpassung auf Grund einer besonders starken Größenzunahme einer Zelle nicht mehr möglich sein, besteht zudem die Möglichkeit, daß die Zellen an die veränderte Di­ mensionierung durch Aufteilen der Ausgangszelle in mehrere Zielzellen angepaßt werden, welche zusammengeschaltet diesel­ ben elektrischen Eigenschaften aufweisen wie die Ausgang­ szelle.
Alternativ oder zusätzlich können Zellen an die veränderten Bauelementdimensionen durch Aufteilen eines veränderten Ur­ sprungsbauelements in mehrere Zielbauelemente angepasst wer­ den, welche zusammengeschaltet dieselben elektrischen Eigen­ schaften aufweisen wie die Ursprungsbauelemente. Hierbei bleiben die neu angelegten Bauelemente, beispielsweise mehre­ re parallel geschaltete Transistoren, in einer Zelle zusam­ men, bilden jedoch innerhalb der Zelle eine neue Struktur.
Sofern die Zellen in Reihen angeordnet sind oder während des erneuten Layouts angeordnet werden, in denen alle Zellen die gleiche Höhe aufweisen, können die Zellen vorteilhafterweise an die veränderte Bauelementdimension durch Änderung ihrer Breite angepaßt werden. Bei dieser bevorzugten Aus­ führungsform der Erfindung ist es wiederum in besonders ein­ facher Weise möglich, die elektrische Verbindung mit der Außenwelt herzustellen. Es ist demnach nötig, alle Zellen einer Reihe auf eine einheitliche Höhe zu bringen. Diese Höhe kann jedoch im Gegensatz zum aus dem Stand der Technik bekannten Verfahren, bei dem die Standardzellen in der Regel einheitliche Höhen haben, von Reihe zu Reihe unterschiedlich sein, so daß die Flächenausnutzung optimiert werden kann. Hierbei paßt ein Programm die Höhen und Breiten dieser Zellen automatisch an, wobei ein Optimierungskriterium vorgegeben werden kann, wie beispielsweise die minimale oder eine fest­ gelegte Höhe, die Breite, die Fläche der Zellenzeile etc. Dadurch wird auch versucht, die Gesamtfläche der Schaltung weiter zu optimieren.
Die in der Zellenbibliothek gespeicherten Zelldefinitionen umfassen entsprechende Entscheidungsalgorithmen, welche in der Lage sind, anhand vorgegebener Kriterien zu entscheiden, welche Art der Modifikation der Zelle im Rahmen der gegebenen optimierten Bauelementdimensionen die beste Variante ist und ggfs. auch in Abhängigkeit weiterer, vom ausführenden Layout- Programm an die Zelldefinition übergebener Gegebenheiten wie beispielsweise dem Versuch des Layout-Programm, innerhalb einer Zellen-Reihe eine einheitliche Zellhöhe herzustellen, und damit der Vorgabe einer festen Zellhöhe als weiterer Pa­ rameter neben den Bauelementdimensionen, ist eine Beeinflus­ sung der neuartigen, parametrisierbaren Zelle hinsichtlich deren Kalkulation der Zelldimensionierung und des internen Aufbaus der Zelle möglich.
Das erfindungsgemäße Verfahren kann weiterhin dadurch gekenn­ zeichnet sein, daß das automatische Modifizieren des Layouts folgende weitere Schritte aufweist:
  • - Platzieren der Zellen auf der integrierten Schaltung; und
  • - Verdrahten der Zellen.
Wie oben beschrieben, könnten die veränderten Zelldimensionen zu Lücken oder Überlappungen auf der für die Schaltung zur Verfügung stehenden Fläche führen, da die veränderten Beuele­ mentdimensionen und damit deren Wirkung auf die Zellen zunächst in ein unverändertes Layout eingetragen werden, bei dem die Bezugskoordinaten der Zellen zunächst unverändert geblieben sind. Daher erfolgt vorzugsweise ein Re-Platzieren der Zellen, die zunächst aufgerufen werden (z. B. über den View Abstract), um ihre veränderten Dimensionen zu erfragen, Daraufhin werden die Bezugspunkte der Zellen gegebenenfalls verschoben, um Lücken und Überlappungen aufzulösen. Da sich bei diesem Vorgang auch die Kontaktstellen der Zellen ver­ schieben, ist es danach notwendig, auch die Verdrahtung duch ein neues Routing anzupassen.
Es muß betont werden, daß durch die direkte Änderung der Zelldimensionen im Layout kein komplett neues Place­ ment/Routing nötig wird, sondern lediglich kleinere Anpassun­ gen mittels eines geeignetes Programms durchgeführt werden, so daß das rechenintensive Layouterzeugen weitgehend ent­ fällt. Dies weist den weiteren Vorteil auf, daß nicht das Er­ gebnis des Optimierungsvorgangs durch komplett erneuertes Layout in Frage gestellt wird.
Daher kann das erfindungsgemäße Verfahren dadurch gekenn­ zeichnet sein, daß das Platzieren der Zellen lückenlos er­ folgt, indem Bezugskoordinaten der Zellen an die veränderten Zelldimensionen angepasst werden, wobei die relativen Posi­ tionen der Zellen zueinander unverändert bleiben.
Das Verfahren wird üblicherweise in Form eines Datenverarbei­ tungsprogramms vorliegen und mit einer Datenverarbeitungsan­ lage durchgeführt werden. Hierbei können die Schritte des Verfahrens zu Programmen gruppiert werden, welche unter­ schiedliche Funktionsbereiche des Verfahrens bündeln. Diese Programme können beispielsweise mittels Skripten koordiniert aufgerufen werden. Dies ermöglicht es, auch sehr komplexe Schaltungen ohne menschlichen Eingriff zu bearbeiten, bei denen mit derzeitig verfügbaren Rechnerleistungen jede Phase des Verfahrens Stunden oder Tage dauern kann.
Die Erfindung ist weiterhin gerichtet auf eine Vorrichtung zum Entwurf von Halbleitern mit einer Recheneinheit und einem Speicher zur Speicherung einer Datenbasis, einer Primärnetzliste, einer Sekundärnetzliste und eines auf der Recheneinheit ablauffähigen Programms, welches das er­ findungsgemäße Verfahren durchführen kann oder durchführt.
Wie schon beschrieben, ist ein wichtiger Aspekt der vorlieg­ enden Erfindung die Verwendung von parametrisierbaren Zellen, welche gegenüber bekannten parametrisierbaren Zellen er­ weiterte Fähigkeiten zur Beeinflussung ihrer internen Struk­ tur aufweisen. Daher ist die Erfindung schließlich gerichtet auf ein Programmobjekt für eine parametrisierbare Zelle für eine Zellenbibliothek zum Entwerfen integrierter Schaltungen; wobei das Programmobjekt funktionell zusammenhängende, in ihrer Dimensionierung variable Bauelemente repräsentiert, mit einer Eingangsschnittstelle zur Eingabe der Dimensionen von Bauelementen der Zelle; einem Programmbereich zum Berechnen der Struktur der Bauelemente und der Aussenabmessungen der Gesamtzelle in Abhängigkeit von den eingegebenen Dimensionen der Bauelemente; und einer Ausgangsschnittstelle zur Ausgabe von Informationen über die Struktur der Bauelemente und die Aussenabmessung der Zelle.
Der eigentliche Programmbereich ist ein Algorithmus, der beispielsweise in einer der typischen Programmiersprachen zur Erzeugung von Zelldefinitionen verwendet werden kann und auch der Beschreibung der für eine Zelle anzulegenden Polygone di­ ent. Hier geht jedoch die Funktion über die vorbekannte, ein­ fache Definition von Polygonen hinaus, da der Programmbereich anhand der eingehenden Parameter auch entscheidet, wie die Struktur der Zelle aussehen soll und dementsprechend die Definition der zu verwendenden Polygone auswählt.
Im folgenden soll die Erfindung näher erläutert werden, wobei auf die beigefügten Zeichnungen Bezug genommen wird, in denen folgendes dargestellt ist.
Fig. 1 zeigt, wie in einem Verband von Bauelementen und den sie umgebenden Zellen durch erfindungsgemäße Veränderung der Zellgröße und Bauelementgröße Lücken oder Überlappungen ent­ stehen können;
Fig. 2 zeigt als Ausführungsbeispiel einen möglichen Ablauf­ plan der Durchführung des erfindungsgemäßen Verfahrens (De­ sign-Flow); und
Fig. 3a bis 3d zeigen die verschiedenen Stufen des Op­ timierungsverfahrens an Hand von einer beispielhaften Zelle­ nanordnung.
Fig. 1 zeigt Beispiele der Größenänderung von Bauelementen und ihrer Zellen bei der erfindungsgemäßen Änderung ihrer Treibereigenschaften. Hierbei handelt es sich um einen Ausschnitt aus einer reihenförmigen Anordnung 1 von Zellen mit zwei Reihen dargestellter Zellen, von denen die Zelle 2 durch die Optimierung verkleinert wird, die Zelle 3 hingegen vergrößert. Daher kommt es im Bereich zwischen der verklein­ erten Zelle 2 und Zelle 4 zu einer Lücke 6; hingegen im Über­ gangsbereich der Zelle 3 mit der Zelle 5 zu einer Überlappung 7. Durch die Replatzierung gemäß der Erfindung werden solche Überlappungen und Lücken eliminiert.
Fig. 2 zeigt als Flußdiagramm ein Ausführungsbeispiel der vorliegenden Erfindung. Hierbei wird eine VHDL oder Verilog- Beschreibung (10) der zu optimierenden integrierten Schaltung erstellt und in Schritt A einer Synthese unterzogen, das heißt der Erstellung einer zellbasierten Netzliste 13. Alter­ nativ kann von einem Schematics 11, dessen Informationen durch die Extraktion des Schritts B gewonnen wird, bzw. mit­ tels eines Datenpfadgenerators 12 eine zellbasierte Netzliste 13 erzeugt werden. Da übliche Werkzeuge zur Erzeugung einer solchen zellbasierten Netzliste 13 nur mit festen Zellgrößen, d. h. vorgegebenen Zelldefinitionen arbeiten können, enthält diese zellbasierte Netzliste Verweise auf eine Standardzel­ lenbibliothek 14.
Das eigentliche erfinderische Verfahren beruht auf der Ver­ wendung einer zellbasierten Netzliste mit Verweisen auf parametrisierbare Zellen. Bei Verwendung beispielsweise eines normalen Synthese-Programms ist es mithin notwendig, die in der Synthese erzeugte Netzliste parametrisierbar zu machen. Dies geschieht durch die Umsetzung in Schritt C der Fig. 2. Hierbei wird entweder, ohne Änderungen an der eigentlichen ZBN 13, lediglich die Standardzellenbibliothek gegen eine Verweisbibliothek 17 ausgetauscht, welche wiederum Verweise und Parameter enthält, welche auf eine variable Zellenbiblio­ thek 18 mit Definitionen parametrisierbarer Zellen verweist. Alternativ kann die ZBN 16 so modifiziert werden, daß jeder Verweis auf eine Zelle der Standardzellenbibliothek 14 ausge­ tauscht wird gegen einen Verweis auf eine parametrisierbare Zelle einer variablen Zellenbibliothek 15, wobei in die ZBN 16 die Dimensionierungsparameter der vormaligen Standardzelle mit aufgenommen werden.
Das Placement in Schritt D bestimmt die Anordnung der Zellen auf der integrierten Schaltung, während das Routing die elek­ trische Verbindung der einzelnen Zellen miteinander durch Leiterbahnen bewirkt. Das Ergebnis des Placement/Routing- Schritts ist ein Layout 19 mit parametrisierbaren Zellen.
Aus diesem Layout wird mit Hilfe eines Extraktionsprogramms in Schritt E ein simulierbarer Prototyp in Form einer Primärnetzliste 20 erzeugt. Diese wird in Schritt F einer Simulation unterworfen, um zu überprüfen, ob die derartig ge­ plante Schaltung den Anforderungen genügt. Sind die Anforderungen nicht erfüllt, wird mit Hilfe eines Optimierungspro­ gramms das Verhalten der Schaltung optimiert. Diese Op­ timierung führt zu einer optimierten Sekundärnetzliste 21, welche durch Abgleich der Designatoren in Schritt G wiederum den Zellen des Layouts 19 zugeordnet werden kann. Die veränderten Dimensionsparameter veränderter Bauelemente wer­ den in das Layout eingetragen, so daß ein Layout 22 mit veränderten Bauelementdimensionen entsteht.
In Schritt H wird die erfindungsgemäße Layoutadaption vorge­ nommen, welche zu einem Layout 23 mit veränderten Zellendi­ mensionen führt, bei dem durch Neurechnen der nunmehr not­ wendigen Zellendimensionen aufgrund der veränderten Bauele­ mentdimensionen Passungsfehler der Zellen wie Überlappungen oder Lücken auftreten können.
Daher wird in Schritt I ein weiteres, einfacheres Placement und Routing vorgenommen, welches mit Hilfe speziell entwick­ elter Programme eines geringeren Komplexitätsgrades als bei herkömmlichen Placement/Routing-Programmen durchgeführt wer­ den kann. Dieses Placement und Routing erzeugt ein op­ timiertes Layout 24 mit den gewünschten optimierten Verhal­ tensweisen und einer modifizierten Anordnung der veränderten Zellen. Der Ablauf muß gegebenenfalls mehrfach durchlaufen werden, um die Anforderung an die Schaltung erfüllen zu kön­ nen, wie durch die Schleife in Schritt K angedeutet wird. Das optimierte Layout 24 entspricht in seinem Format dem Ur­ sprungslayout 19, so daß es unmittelbar für eine Extraktion und nachfolgende Simulation verwendet werden kann.
Im nachfolgenden soll das erfindungsgemäße Verfahren an Hand eines Beispiels eines Designs mit variablen Standardzellen erläutert werden. Eine solche Schaltung hat die Eigenschaft, daß alle Zellen in einer Reihe dieselbe Höhe haben müssen, damit die Stromversorgungsbahnen miteinander elektrisch ver­ bunden sind.
Wie in Fig. 3a gezeigt, werden die Zellen a bis m beispiel­ sweise entsprechend der Vorgaben der VHDL-Beschreibung der Schaltung plaziert und verdrahtet. Die Stromversorgungen 30 und die Verdrahtungen 31 zwischen den Zellen sind exem­ plarisch eingezeichnet. Die Fig. 3a zeigt eine graphische Wiedergabe des Layouts, wie sie mit entsprechenden Ausga­ beprogrammen erzeugt werden kann. Dargestellt sind hier beispielhaft lediglich die Umrisse der einzelnen Zellen, wie sie bei Auswahl des Views "Abstract" erhältlich sind. Die Anordnung der Zellen erfolgt im Layout durch Zuweisung von Koordinaten zu den Bezugspunkten 32A, 32B etc. der Zellen a bis m, welche im dargestellten Beispiel die untere linke Ecke der Zellen sind. Die Bezugspunkte können jedoch innerhalb der Zellen beliebig gewählt werden, beispielsweise eine der an­ deren Ecken oder der Mittelpunkt der Zellen.
Aus diesem Layout wird eine primäre Netzliste 20 generiert. Diese wird erfindungsgemäß simuliert und optimiert. Die sich ergebenden, gegebenenfalls veränderten Bauelementdimen­ sionierungen werden aus der Sekundärnetzliste ausgelesen und den einzelnen Zellen des Layouts zugewiesen. Diese passen sich dementsprechend an und werden kleiner oder größer, wie in Fig. 3b gezeigt ist. Hierbei kommt es sowohl zu Überlap­ pungen als auch zu Lücken im Layout, da sich zwar die Dimen­ sionierungen der Zellen verändert haben, nicht jedoch die Koordinaten ihrer Bezugspunkte 32A, 32B etc. Ein geeignetes Adaptions- und Placement/Routing Programm berechnet die Zelldimensionierung nunmehr neu, so daß die Zellen jeder Reihe auf eine einheitliche Höhe gebracht werden, wodurch si­ chergestellt ist, daß die Stromversorgungsbahnen miteinander verbunden werden können. Dadurch werden einige Zellen bre­ iter, andere schmaler, wie in Fig. 3c für die dritte Reihe der Beispielschaltung gezeigt ist. Anschließend werden die Zellen nebeneinander platziert, so daß die Stromversor­ gungsbahnen wirklich verbunden sind. Zu diesem Zweck werden auch die Koordinaten der Bezugspunkte 32A, 32B . . . verschoben. Zuletzt werden die Zellen, wie in Fig. 3d gezeigt, miteinander verdrahtet. Falls die Simulation ergeben hat, daß die Schaltung den Anforderungen noch immer nicht entspricht, wird der ganze Vorgang noch einmal oder mehrmals wiederholt.
Die Erfindung verwendet ein Layout mit Verweisen auf paramet­ risierbare Zellen, in daß veränderte Dimensionen optimierter Bauelemente, die durch Simulation/Optimierung des Layouts er­ halten wurden, eingetragen werden. Das so modifizierte Layout wird neu gerechnet, wobei die relative Anordnung der Zellen erhalten bleibt, ihre Größe und Dimensionierung sowie ihre Bezugspunkte jedoch den veränderten Bauelement-dimensionien angepasst werden. Das neue Layout weist z. B. eine optimierte Schaltung auf, in der die Zellen einer Reihe gleiche Höhe, aber unterschiedliche Breiten aufweisen.

Claims (22)

1. Verfahren zur Optimierung des Layouts (24) von Zellen einer integrierten Schaltung mit folgenden Schritten:
  • - Bereitstellen einer zellbasierten Netzliste (16) mit Verwei­ sen auf Zellendefinitionen mit parametrisierbaren Dimensio­ nen;
  • - Berechnen eines Layouts (19) einer integrierten Schaltung anhand der zellbasierten Netzliste (16);
  • - Extrahieren einer Primärnetzliste (20) aus dem Layout (19);
  • - Optimieren der Bauelementdimensionen zumindest eines Teils der Bauelemente der integrierten Schaltung anhand von zu­ mindest einem vorgegebenen Optimierungsparameter und einer Simulation anhand der Primärnetzliste (19);
  • - Erstellen einer optimierten Sekundärnetzliste (21) anhand der Ergebnisse der Bauelementoptimierung; und
  • - Automatisches Modifizieren des Layouts (24) hinsichtlich der Zellendimensionen anhand der Sekundärnetzliste (21).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Bereitstellen der zellbasierten Netzliste (16) folgende Schritte aufweist:
  • - Erzeugen einer zellbasierten Basisnetzliste (13) aus einer Schaltungsbeschreibung (10), einem Schematic (11) oder mit­ tels eines Datenpfadgenerators (12), welche Verweise auf Zellendefinitionen einer Standarzellenbibliothek (14) mit festen Dimensionen enthalten;
  • - Identifizieren geeigneter Zellendefinitionen einer Zellen­ bibliothek (15, 18) mit parametrisierbaren Dimensionen für zumindest einen Teil der Zellen der zellbasierten Basisnetz­ liste (13); und
  • - Erzeugen der zellbasierten Netzliste (16) aus der zellba­ sierten Basisnetzliste(13), bei der anstelle der Verweise auf Zellendefinitionen der Standardbibliothek (14) entsprechende Verweise auf geeignete Zellendefinitionen der Zellbibliothek (15, 17, 18) mit parametrisierbaren Dimensionen eingesetzt sind,
wobei in der zellbasierten Netzliste (16) die Verweise zu­ sätzliche Angaben über die Dimensionen der Bauelemente ent­ halten, welche als Parameter den Zellendefinitionen übergeben werden könnnen und die den jeweiligen Dimensionen der Zellen­ definitionen der Standardzellenbibliothek (14) entsprechen, auf welche die Verweise der zellbasierten Basisnetzliste (13) verweisen.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß in das Layout (19) auch Angaben über die parametrisierba­ ren Dimensionen von Zellen übernommen werden.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gek­ ennzeichnet, daß die Zellen in dem Layout (19) in Reihen angeordnet sind, bei denen alle zu einer Reihe gehörenden Zellen die gleiche Höhe aufweisen.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gek­ ennzeichnet, daß der zumindest eine Optimierungsparameter die Schaltgeschwindigkeit der integrierten Schaltung, der Flächenbedarf der Schaltung oder die Verlustleistung der Schaltung oder eine gewichtete Kombination der Optimierung­ sparameter ist.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gek­ ennzeichnet, daß das Optimieren folgende Schritte aufweist:
  • - Simulieren der integrierten Schaltung anhand der Primärnetzliste;
  • - Auffinden eines kritischen Signalspfads in der simulierten Schaltung; und
  • - Optimieren des Verhaltens des kritischen Signalpfads durch Variation der Bauelementdimensionen der in ihm enthaltenen Zellen.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch ge­ kennzeichnet, daß das Erstellen der optimierten Sekundärnetz­ liste (21) folgende Schritte aufweist:
  • - Anlegen einer mit der Primärnetzliste (20) identischen Se­ kundärnetzliste (21); und
  • - Modifizieren von Bauteildimensionen in der Sekundärnetzliste (21) anhand der Ergebnisse der Optimierung.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gek­ ennzeichnet, daß die Schritte des Optimierens mehrfach dur­ chlaufen werden.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gek­ ennzeichnet, daß das automatische Modifizieren des Layouts (19) folgende Schritte aufweist:
  • - Vergleichen der Sekundärnetzliste (21) mit der Primärnetzliste (20);
  • - Auffinden von Bauelementen, deren Dimensionierung sich durch die Optimierung geändert hat;
  • - Feststellen von Designatoren der geänderten Bauelemente;
  • - Auffinden der zu den Bauelementen mit den festgestellten Designatoren gehörigen Zellen im Layout (19); und
  • - Eintragen der Bauelementdimensionen der aufgefundenen Bauelemente entsprechend den Werten der Sekundärnetzliste (21) in das modifizierte Layout (22).
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gek­ ennzeichnet, daß das automatische Modifizieren des Layouts (19) den folgenden, zusätzlichen Schritt aufweist:
  • - Anpassen der Zelleigenschaften von Zellen mit veränderten Bauteildimensionen an die veränderten Bauteildimensionen.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß Zellen an die veränderten Bauelementdimensionen durch Verändern der Höhe und/oder der Breite der Zellen angepasst werden.
12. Verfahren nach Anspruch 10 oder 11, dadurch gekennzeich­ net, daß Zellen an die veränderten Bauelementdimensionen durch Aufteilen einer Ursprungszelle in mehrere Zielzellen angepasst werden, welche zusammengeschaltet dieselben elek­ trischen Eigenschaften aufweisen wie die Ursprungszelle.
13. Verfahren nach einem der Ansprüche 10 bis 12, dadurch ge­ kennzeichnet, daß Zellen an die veränderten Bauelementdimen­ sionen durch Aufteilen eines veränderten Ursprungsbauelements in mehrere Zielbauelemente angepasst werden, welche zusammen­ geschaltet dieselben elektrischen Eigenschaften aufweisen wie die Ursprungsbauelemente.
14. Verfahren nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, daß die Zellen in Reihen angeordnet werden, in denen alle Zellen die gleiche Höhe aufweisen und daß die Zellen an die veränderten Bauelementdimensionen durch Änderung ihrer Breite angepasst werden.
15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gek­ ennzeichnet, daß das automatische Modifizieren des Layouts (24) folgende weitere Schritte aufweist:
  • - Platzieren der Zellen auf der integrierten Schaltung; und
  • - Verdrahten der Zellen.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß das Platzieren der Zellen ohne weitere Lücken erfolgt, indem Bezugskoordinaten der Zellen an die veränderten Zelldimen­ sionen angepasst werden, wobei die relativen Positionen der Zellen zueinander unverändert bleiben, sofern keine äußeren Randbedingungen des Gesamtlayouts verletzt werden.
17. Verfahren nach einem der Ansprüche 1 bis 16, dadurch gek­ ennzeichnet, daß das Verfahren in Form eines Datenverarbei­ tungsprogramms vorliegt.
18. Verfahren nach einem der Ansprüche 1 bis 17, dadurch gek­ ennzeichnet, daß das Verfahren mit einer Datenverarbeitung­ sanlage durchgeführt wird.
19. Verfahren nach einem der Ansprüche 1 bis 18, dadurch gek­ ennzeichnet, daß die Schritte des Verfahrens zu Datenverar­ beitungsrogrammen gruppiert sind, welche verschiedene Funk­ tionsbereiche des Verfahrens bündeln.
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß die Programme mittels Skripten koordiniert aufgerufen werden.
21. Vorrichtung zum Entwurf von Halbleitern
mit mindestens einer Recheneinheit;
einem Speicher zur Speicherung einer Datenbasis, einer Primärnetzliste, einer Sekundärnetzliste und eines auf der Recheneinhei ablauffähigen Programms, welches das Verfahren nach einem der Ansprüche 1 bis 20 durchführen kann oder durchführt.
22. Programmobjekt für eine parametrisierbare Zelle für eine Zellenbibliothek zum Entwerfen integrierter Schaltungen;
wobei das Programmobjekt funktionell zusammenhängende, in ihrer Dimensionierung variable Bauelemente repräsentiert,
mit einer Eingangsschnittstelle zur Eingabe der Dimensionen von Bauelementen der Zelle;
einem Programmbereich zum Berechnen der Struktur der Bauele­ mente und der Aussenabmessungen der Gesamtzelle in Abhängig­ keit von den eingegebenen Dimensionen der Bauelemente;
und einer Ausgangsschnittstelle zur Ausgabe von Informationen über die Struktur der Bauelemente und die Aussenabmessung der Zelle.
DE10025583A 2000-05-24 2000-05-24 Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen Withdrawn DE10025583A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10025583A DE10025583A1 (de) 2000-05-24 2000-05-24 Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen
US09/864,979 US6735742B2 (en) 2000-05-24 2001-05-24 Method for optimizing a cell layout using parameterizable cells and cell configuration data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10025583A DE10025583A1 (de) 2000-05-24 2000-05-24 Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen

Publications (1)

Publication Number Publication Date
DE10025583A1 true DE10025583A1 (de) 2001-12-06

Family

ID=7643303

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10025583A Withdrawn DE10025583A1 (de) 2000-05-24 2000-05-24 Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen

Country Status (2)

Country Link
US (1) US6735742B2 (de)
DE (1) DE10025583A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10326716A1 (de) * 2003-06-06 2005-01-05 Infineon Technologies Ag Verfahren zum automatischen Entwurf einer modifizierten Standardzelle für ein Halbleiterbauelement
US7979828B2 (en) 2007-01-05 2011-07-12 Infineon Technologies Ag Integrated circuit and method for determining an integrated circuit layout

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829750B2 (en) * 2001-06-15 2004-12-07 Science & Technology Corporation @ Unm Pass-transistor very large scale integration
DE10159699A1 (de) * 2001-12-05 2003-06-26 Infineon Technologies Ag Verfahren zur Herstellung einer integrierten Halbleiterschaltung
US7350173B1 (en) * 2002-06-11 2008-03-25 Synplicity, Inc. Method and apparatus for placement and routing cells on integrated circuit chips
US7146594B1 (en) * 2003-12-15 2006-12-05 Ugs Corp. System, method, and computer program product for schematic generation
US7543256B1 (en) * 2004-03-01 2009-06-02 Advanced Micro Devices, Inc. System and method for designing an integrated circuit device
US7313769B1 (en) * 2004-03-01 2007-12-25 Advanced Micro Devices, Inc. Optimizing an integrated circuit layout by taking into consideration layout interactions as well as extra manufacturability margin
US7448012B1 (en) 2004-04-21 2008-11-04 Qi-De Qian Methods and system for improving integrated circuit layout
US7346879B2 (en) * 2004-06-29 2008-03-18 Agere Systems Inc. Symmetric signal distribution through abutment connection
DE102004038063A1 (de) * 2004-07-30 2006-03-23 Infineon Technologies Ag Verfahren zur Herstellung einer Standardzellenanordnung und eine Vorrichtung zur Durchführung des Verfahrens
US7669158B2 (en) * 2004-09-30 2010-02-23 Cadence Design Systems, Inc. Method and system for semiconductor design hierarchy analysis and transformation
US7386814B1 (en) 2005-02-10 2008-06-10 Xilinx, Inc. Translation of high-level circuit design blocks into hardware description language
DE102005051417A1 (de) * 2005-10-27 2007-05-03 X-Fab Semiconductor Foundries Ag Simulations- bzw. Layoutverfahren für vertikale Leistungstransistoren mit variierbarer Kanalweite und variierbarer Gate-Drain-Kapazität
US7343570B2 (en) * 2005-11-02 2008-03-11 International Business Machines Corporation Methods, systems, and media to improve manufacturability of semiconductor devices
US7461366B2 (en) * 2005-11-21 2008-12-02 Intersil Americas Inc. Usage of a buildcode to specify layout characteristics
US20080077889A1 (en) * 2006-09-21 2008-03-27 International Business Machines Corporation Parameterized semiconductor chip cells and optimization of the same
US7594203B2 (en) * 2007-01-24 2009-09-22 Prolific, Inc. Parallel optimization using independent cell instances
US7971175B2 (en) * 2007-06-27 2011-06-28 Cadence Design Systems, Inc. Method and system for implementing cached parameterized cells
US7865864B2 (en) * 2008-02-01 2011-01-04 International Business Machines Corporation Electrically driven optical proximity correction
US8024695B2 (en) 2008-02-05 2011-09-20 Nangate A/S Optimization of integrated circuit design and library
JP5127935B2 (ja) * 2008-02-05 2013-01-23 ナンゲート・アクティーゼルスカブ 集積回路設計およびライブラリの最適化
US7949987B1 (en) * 2008-02-08 2011-05-24 Cadence Design Systems, Inc. Method and system for implementing abstract layout structures with parameterized cells
US8364656B2 (en) * 2008-10-31 2013-01-29 Cadence Design Systems, Inc. Method and system for implementing multiuser cached parameterized cells
TWI398789B (zh) * 2009-06-05 2013-06-11 Askey Computer Corp 電路輔助設計方法及系統
CN105702673A (zh) * 2014-11-28 2016-06-22 刘邦俊 集成电路的布局结构及方法
CN104503202B (zh) * 2014-12-25 2018-10-16 上海华虹宏力半导体制造有限公司 重复设计单元的区分方法
US10346573B1 (en) * 2015-09-30 2019-07-09 Cadence Design Systems, Inc. Method and system for performing incremental post layout simulation with layout edits
CN110199279B (zh) * 2016-12-23 2023-08-04 谷歌有限责任公司 集成电路设计***
US10572615B2 (en) * 2017-04-28 2020-02-25 Synopsys, Inc. Placement and routing of cells using cell-level layout-dependent stress effects
DE102017127276A1 (de) * 2017-08-30 2019-02-28 Taiwan Semiconductor Manufacturing Co., Ltd. Standardzellen und abwandlungen davon innerhalb einer standardzellenbibliothek
WO2023123068A1 (zh) * 2021-12-29 2023-07-06 华为技术有限公司 用于设计布局的方法、装置、设备、介质以及程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666288A (en) * 1995-04-21 1997-09-09 Motorola, Inc. Method and apparatus for designing an integrated circuit
DE19639431A1 (de) * 1996-09-25 1998-04-02 Siemens Ag Verfahren zur Herstellung von integrierten Schaltungen mit Standardzellen
US5824570A (en) * 1995-03-15 1998-10-20 Kabushiki Kaisha Toshiba Method for designing a semiconductor integrated circuit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384710A (en) * 1990-03-13 1995-01-24 National Semiconductor Corporation Circuit level netlist generation
CA2126265A1 (en) * 1993-09-27 1995-03-28 Michael Robert Cantone System for synthesizing field programmable gate array implementations from high level circuit descriptions
US6058252A (en) * 1995-01-19 2000-05-02 Synopsys, Inc. System and method for generating effective layout constraints for a circuit design or the like
US5633807A (en) * 1995-05-01 1997-05-27 Lucent Technologies Inc. System and method for generating mask layouts
US5764533A (en) * 1995-08-01 1998-06-09 Sun Microsystems, Inc. Apparatus and methods for generating cell layouts
US5896300A (en) * 1996-08-30 1999-04-20 Avant| Corporation Methods, apparatus and computer program products for performing post-layout verification of microelectronic circuits by filtering timing error bounds for layout critical nets
US6249901B1 (en) * 1996-12-13 2001-06-19 Legend Design Technology, Inc. Memory characterization system
US6289412B1 (en) * 1998-03-13 2001-09-11 Legend Design Technology, Inc. Layout synopsizing process for efficient layout parasitic extraction and circuit simulation in post-layout verification
US6292925B1 (en) * 1998-03-27 2001-09-18 Xilinx, Inc. Context-sensitive self implementing modules
US6216258B1 (en) * 1998-03-27 2001-04-10 Xilinx, Inc. FPGA modules parameterized by expressions
US6260182B1 (en) * 1998-03-27 2001-07-10 Xilinx, Inc. Method for specifying routing in a logic module by direct module communication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5824570A (en) * 1995-03-15 1998-10-20 Kabushiki Kaisha Toshiba Method for designing a semiconductor integrated circuit
US5666288A (en) * 1995-04-21 1997-09-09 Motorola, Inc. Method and apparatus for designing an integrated circuit
DE19639431A1 (de) * 1996-09-25 1998-04-02 Siemens Ag Verfahren zur Herstellung von integrierten Schaltungen mit Standardzellen

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10326716A1 (de) * 2003-06-06 2005-01-05 Infineon Technologies Ag Verfahren zum automatischen Entwurf einer modifizierten Standardzelle für ein Halbleiterbauelement
US7979828B2 (en) 2007-01-05 2011-07-12 Infineon Technologies Ag Integrated circuit and method for determining an integrated circuit layout

Also Published As

Publication number Publication date
US20020006695A1 (en) 2002-01-17
US6735742B2 (en) 2004-05-11

Similar Documents

Publication Publication Date Title
DE10025583A1 (de) Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen
DE69233037T2 (de) Automatisiertes neues Layout mit dimensionaler Verknüpfung
EP0441810B1 (de) Verfahren zur plazierung von modulen auf einem träger
DE69532307T2 (de) Ausdrucks-Propagierung für hierarchisches Netzlisten
DE112007002221B4 (de) Graphikanordnungslayout mit maximaler Seitenbedeckung und minimaler Beseitigung von Inhalt
DE3900750A1 (de) Wissensbasis - verfahren - vorrichtung zum entwerfen integrierter schaltungen mittels funktionaler spezifikationen
DE69738556T2 (de) Interaktiver cad-apparat zum entwerfen des zusammenbaus von logischen schaltungen
DE69533467T2 (de) System und verfahren zur erzeugung von modellen elektrischer bauelemente
DE4303071A1 (de) Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung
EP2945083B1 (de) Verfahren zur automatisierten erstellung einer netzliste eines fpga-programms
DE102017005933A1 (de) Bearbeitungsprogrammeditiervorrichtung, Verfahren und Speichermedium
DE4128568A1 (de) Mehrschichten-verdrahtungsverfahren zur modifikation am chip fuer einen hochintegrierten halbleiterschaltkreis (lsi)
DE112014006829T5 (de) Anzeigevorrichtung und Anzeigeverfahren
WO2006029882A2 (de) Verfahren zur suche nach einem ähnlichen konstruktionsmodell
DE102015221479A1 (de) Polymorphes schaltungssimulationssystem
EP1146393B1 (de) Verfahren zur Herstellung von Masken für die Fertigung von Halbleiterstrukturen
DE102004003092A1 (de) Verfahren zum Auflösen nicht richtig angepaßter Parameter bei einem rechnergestützten Entwurf für integrierte Schaltungen
DE102004055898B4 (de) Verfahren für das Packen einer Vielzahl von Kabeln und Vorrichtung, die dieses verwendet
EP3869380A1 (de) Verfahren, computerbasiertes system und computerprogramm-produkt zum floorplanning für eine programmierbare gatteranordnung mit nicht-rechteckigen blockgrenzen
DE10313949A1 (de) Schaltungsentwurfsduplizierungssystem
DE102004020869A1 (de) System und Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene in einem hierarchischen VLSI-Entwurf
DE10245452A1 (de) Verfahren zum Bestimmen der Anordnung von Kontaktflächen auf der aktiven Oberseite eines Halbleiterchips
DE102004003100A1 (de) Verfahren zum Auflösen nicht richtig angepaßter graphischer Symbole bei einem rechnergestützten Entwurf integrierter Schaltungen
EP1516234A2 (de) Informationserzeugungssystem für die produktentstehung
DE112013005760T5 (de) Musterbasierende Versorgungs-und-Masse(PG)-Verdrahtung und Durchkontakterzeugung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal