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 SchaltungenInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 239000004065 semiconductor Substances 0.000 claims abstract description 16
- 238000013461 design Methods 0.000 claims abstract description 11
- 230000004048 modification Effects 0.000 claims abstract description 11
- 238000012986 modification Methods 0.000 claims abstract description 11
- 238000005457 optimization Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 14
- 238000004088 simulation Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 5
- 238000013515 script Methods 0.000 claims description 2
- 101100400378 Mus musculus Marveld2 gene Proteins 0.000 claims 1
- 238000000605 extraction Methods 0.000 abstract description 5
- 210000004027 cell Anatomy 0.000 description 299
- 230000015572 biosynthetic process Effects 0.000 description 6
- 239000004020 conductor Substances 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 150000001768 cations Chemical class 0.000 description 1
- 210000003850 cellular structure Anatomy 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- MKZGVLPHKXXSSG-UHFFFAOYSA-N ethyl n-[4-[benzyl(2-phenylethyl)amino]-2-[4-(trifluoromethyl)phenyl]-1h-imidazo[4,5-c]pyridin-6-yl]carbamate Chemical compound N=1C(NC(=O)OCC)=CC=2NC(C=3C=CC(=CC=3)C(F)(F)F)=NC=2C=1N(CC=1C=CC=CC=1)CCC1=CC=CC=C1 MKZGVLPHKXXSSG-UHFFFAOYSA-N 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- NQLVQOSNDJXLKG-UHFFFAOYSA-N prosulfocarb Chemical compound CCCN(CCC)C(=O)SCC1=CC=CC=C1 NQLVQOSNDJXLKG-UHFFFAOYSA-N 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices 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/0203—Particular design considerations for integrated circuits
- H01L27/0207—Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices 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/04—Devices 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/10—Devices 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/118—Masterslice 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,
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.
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.
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.
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)
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)
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)
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)
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 |
-
2000
- 2000-05-24 DE DE10025583A patent/DE10025583A1/de not_active Withdrawn
-
2001
- 2001-05-24 US US09/864,979 patent/US6735742B2/en not_active Expired - Lifetime
Patent Citations (3)
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)
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 |