DE4114203A1 - Verfahren zur festlegung eines verbindungsweges zwischen einer startkomponente und einer zielkomponente einer komponenten aufweisenden baueinheit - Google Patents
Verfahren zur festlegung eines verbindungsweges zwischen einer startkomponente und einer zielkomponente einer komponenten aufweisenden baueinheitInfo
- Publication number
- DE4114203A1 DE4114203A1 DE4114203A DE4114203A DE4114203A1 DE 4114203 A1 DE4114203 A1 DE 4114203A1 DE 4114203 A DE4114203 A DE 4114203A DE 4114203 A DE4114203 A DE 4114203A DE 4114203 A1 DE4114203 A1 DE 4114203A1
- Authority
- DE
- Germany
- Prior art keywords
- blocking
- component
- connections
- island
- starting
- 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
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/394—Routing
Description
Verfahren zur Festlegung eines Verbindungsweges zwischen
einer Startkomponente und einer Zielkomponente einer
Komponenten aufweisenden Baueinheit.
Beim physikalischen Entwurf von elektronischen Schaltungen,
die z. B. auf einer Leiterplatte oder auf einem Halbleiterbau
stein angeordnet werden, erfolgt zunächst die Anordnung der
elektronischen Subschaltungen, im folgenden Komponenten ge
nannt, auf der Baueinheit (Plazierung) und anschließend ist die
Verdrahtung dieser Komponenten durchzuführen. Die Verdrahtung
wird auch Routing genannt. Das Ziel der Verdrahtung besteht
darin, alle logischen Signalverbindungen zwischen den Komponen
ten gemäß vorgegebener Entwurfsregeln kurzschlußfrei als physi
kalische Wege zu realisieren. Hierzu stehen in der Regel mehrere
Verdrahtungsebenen zur Verfügung, die durch Durchkontaktierungen
gewechselt werden können. Die sequentielle Bearbeitung der Sig
nalverbindungen führt jedoch bei komplexen Anforderungen häufig
zu Blockade-Situationen; zuvor gelegte Verbindungen blockieren
ein regelgerechtes Verdrahten noch offener Verbindungen.
Zur Lösung dieses Problems sind bereits sog. automatische Rip-
Up Verfahren und Wiederdrahtungsstrategien entwickelt worden.
Sie arbeiten im wesentlichen in drei Schritten:
- a) es werden eine oder mehrere Verbindungen wieder gelöst, die vorher gelegt worden sind, um die Blockade-Situation zu beseitigen;
- b) dann wird die bisher blockierte Verbindung zwischen den zwei Komponenten verlegt;
- c) anschließend werden die aufgelösten Verbindungen wieder verdrahtet.
Bisherige Verfahren löschen in jedem Iterationsschritt je
weils eine Verbindung, ohne die daraus resultierende Situa
tion im voraus zu berücksichtigen, bis ein Verbindungsweg
für die fehlende Verbindung frei wird. Diese sequentielle
Vorgehensweise beim Rip-Up führt in vielen Blockade-Situa
tionen zu einem Löschen unnötig vieler Verbindungen. Da
alle gelöschten Verbindungen anschließend wieder verdrahtet
werden müssen, kann durch dieses übermäßige Löschen mitunter
sogar das Gesamtergebnis bezüglich der Verdrahtungsrate ver
schlechtert werden. Solche bekannte Verfahren sind z. B. beschrie
ben in Dees, W.A., Kager, G.P. "Automated Rip-Up and Reroute
Techniques" in IEEE Design Automation Conference, 1982, Seiten
432 bis 439; Bollinger, M. "A Mature DA System For PC Layout",
Proceedings, International Printed Circuits Conf., 1979, Sei
ten 85 bis 99; Shin, H. Sangiovanni-Vincentelli-A.; "A Detailed
Router Based on Incremental Routing Modifications: Mighty",
IEEE Transactions on Computer Aided Design, Vol. CAD-6, Nr. 6,
1987, Seiten 942-945; Suzuki, K., Matsunoga, Y., Tachibana M.,
Ohtsuki M., "A Hardware Maze Router with Application to Inter
active Rip-Up and Reroute; IEEE Trans. on Computer-Aided-Design,
Vol. CAD 5, No. 4, 1986, S. 466-476.
Das der Erfindung zugrundeliegende Problem besteht darin, ein
Verfahren anzugeben, bei dem für jedes Blockade-Problem nur eine
notwendige und ausreichende Anzahl von Verbindungen gelöscht
werden müssen. Dieses Problem wird gemäß den Merkmalen des An
spruchs 1 gelöst.
Der Vorteil des Verfahrens besteht darin, daß Rip-Up Kombina
tionen, also Kombinationen von den Verbindungsweg zwischen der
einer Startkomponente und der Zielkomponente blockierenden Ver
bindungen, berechnet werden, die die Blockade-Situation auf
lösen und zusätzlich minimal sind. Die Minimalforderung beinhal
tet, daß keine echte Teilmenge einer Rip-Up Kombination besteht,
die zur Auflösung der Blockade Situation ausreichend ist. Gibt
es mehrere Rip-Up Kombinationen zur Lösung des Blockade-Problems,
so werden alle Rip-Up Kombinationen ermittelt und die kosten
günstigste ausgewählt. Das Verfahren beruht auf zwei Grundsätzen:
- a) es wird das Gebiet zwischen den beiden zu verdrahtenden Komponenten eingegrenzt, das Verbindungen enthält, die den Ver bindungsweg blockieren, hier also für ein Rip-Up in Frage kom men. Dieses Gebiet wird im folgenden kritischer Bereich genannt.
- b) Dieser kritische Bereich wird in Untergebiete, im folgen den Inseln genannt, strukturiert, durch die eine anschließende Berechnung aller Rip-Up Kombinationen möglich wird.
Andere Weiterbildungen der Erfindung ergeben sich den Unter
ansprüchen.
Anhand von Figuren wird das erfindungsgemäße Verfahren aus
führlicher erläutert. Es zeigt
Fig. 1 ein Prinzipbild, das einen Ausschnitt aus einem Bau
stein mit zwei Komponenten und dem kritischen Bereich dar
stellt,
Fig. 2 ein Prinzipbild der Auflösung des kritischen Bereiches
in Inseln,
Fig. 3 eine Darstellung der Situation mit Hilfe eines Gra
phen,
Fig. 4 die Darstellung des Verfahrens, wie bei den Komponen
ten der die Komponenten umgebende erreichbare Bereich ermittelt
wird, in dem keine blockierenden Verbindungen bzw. Schaltkreise
liegen,
Fig. 5 eine graphische Darstellung des Verfahrens, wie die
Rip-Up Kombinationen ermittelt werden,
Fig. 6 einen Ausschnitt aus einem Baustein mit Verbindungen
und darauf angeordneten Komponenten,
Fig. 7 die Strukturierung der Fig. 6 in Inseln,
Fig. 8 die Erzeugung des Graphen für den Fall der Fig. 7
zur Ermittlung der Rip-Up Kombinationen,
Fig. 9 der Ausschnitt aus dem Baustein nach Fig. 6 nach
Wiederverdrahtung.
Fig. 1 zeigt in einem Prinzipbild einen Ausschnitt auf
einer Baueinheit, auf der bereits Komponenten, also Schaltungs
kreise, plaziert sind und Verbindungen bereits gelegt worden
sind. Die Baueinheit kann sowohl eine Flachbaugruppe als auch
ein hochintegrierter Baustein sein. In Fig. 1 sind die
bereits plazierten Komponenten und Verbindungen nicht dar
gestellt. Aus Fig. 1 sind nur entnehmbar eine Startkompo
nente S und eine Zielkomponente T. Zwischen diesen beiden
Komponenten S und T soll ein Verbindungsweg ermittelt werden,
in dem dann die Verbindung gelegt werden kann. Weiterhin gibt
es nicht dargestellte blockierende Komponenten und insbeson
dere blockierende Verbindungen zwischen den Komponenten S
und T, die einen Verbindungsweg blockieren. Zur Lösung des
Blockadeproblems wird zunächst der kritische Bereich ermittelt,
der mit CA bezeichnet ist. Dieser kritische Bereich CA ist der
Bereich zwischen den Komponenten S und T, der weder von der
Komponente S noch von der Komponente T erreichbar ist. Erreich
bare Punkte sind solche Punkte, für die ausgehend von S oder T
eine Verbindung verlegbar wäre. Der erreichbare Bereich oder
der freie Bereich bezogen auf die Komponenten sind somit die
Bereiche, in denen keine blockierenden Strukturen, wie Verbindun
gen, Schaltkreise oder sonstige durch Designregeln gesperrte
Gebiete liegen; diese Bereiche werden im folgenden Inseln ge
nannt. Zunächst wird ausgehend von den Komponenten S bzw.T die
um die Komponenten S bzw.T liegende Startinsel IS bzw. Ziel
insel IT ermittelt. Nach allen Seiten ausgehend von S bzw.T
wird also festgestellt, wann ein blockierender Punkt ISBP oder
ITBP erreicht wird. In Fig. 1 bilden die blockierenden Punkte
ausgehend von der Komponente S die eine Grenze des kritischen
Bereiches CA, die blockierenden Punkte ITBP ausgehend von der
Komponente T eine zweite Grenze zur zweiten Begrenzung des
kritischen Bereiches CA. Wie bereits ausgeführt liegen in dem
kritischen Bereich CA Verbindungen, die den Verbindungsweg
zwischen der Komponente S und T blockieren. Im folgenden wer
den diese Verbindungen blockierende Verbindungen genannt. Um
von der Komponente S zur Komponente T zu gelangen, ist es un
vermeidlich, den kritischen Bereich CA zu durchqueren. Deshalb
müssen die Rip-Up Kombinationen unter den Verbindungen gesucht
werden, die im kritischen Bereich liegen.
Nachdem der kritische Bereich CA ermittelt worden ist, wird
dieser in sog. Inseln I strukturiert. Einer Insel I werden
folgende Punkte zugeordnet:
- a) jeder Punkt muß im kritischen Bereich CA liegen,
- b) jedes Paar von Punkten einer Insel kann sich gegensei tig erreichen,
- c) kein weiterer Punkt erfüllt die Bedingungen a) und b).
Als Insel wird zudem der Zwischenraum zweier benachbarter
Verbindungssegmente bezeichnet, wenn der Zwischenraum zu
schmal ist für eine Anordnung einer Verbindung.
Zunächst werden die freien Bereiche um die Komponenten S und
T ermittelt, das sind die Inseln IS und IT. Wie bereits aus
geführt, liegen in diesen Inseln IS und IT keine blockierenden
Punkte, die zu blockierenden Strukturen gehören. Diese freien
Inseln IS und IT begrenzen den kritischen Bereich CA. Die Grenze
der Startinsel IS ist mit SBC, die Grenze der Zielinsel IT mit
TBC in Fig. 2 bezeichnet. Diese Grenzen werden von blockieren
den Strukturen verursacht. Ausgehend von den Grenzen SBC und
TBC werden nun entsprechend den angegebenen Bedingungen die ein
zelnen Punkte des kritischen Bereiches CA einzelnen Inseln I
zugeordnet. In Fig. 2 ist dies prinzipiell dargestellt. Es sind
z. B. fünf Inseln gezeigt, die jeweils alle Punkte enthalten, die
die oben angegebenen Bedingungen erfüllen. Von den die Grenzen
verursachenden blockierenden Strukturen werden im weiteren nur
die löschbaren Verbindungen betrachtet und mit C angegeben.
Das heißt zwischen der Komponente S mit der Insel IS und der
Insel I1 im kritischen Bereich liegt eine blockierende Verbin
dung C2 oder zwischen der Komponente S und der Insel I4 liegen
blockierende Verbindungen C1, C2, C6. Entsprechendes gilt auch
für die Komponente T; z. B. liegt zwischen der Insel I3 und der
Insel IT der Komponente T eine blockierende Verbindung C4 oder
zwischen der Insel IS und IT eine blockierende Verbindung C7.
Das Ergebnis des Verfahrens bis zu diesem Zeitpunkt besteht
also darin, daß alle Verbindungen ermittelt sind, die die
Kandidaten für das Auflösen, also Rip-Up, sind. Damit sind alle
Verbindungen ausgeschlossen, die innerhalb einer Insel verlau
fen, da deren Auflösung oder Rip-Up keinen Beitrag zur Ermitt
lung eines Verbindungsweges zwischen S und T bringen würde.
Weiterhin sind die blockierenden Verbindungen zwischen den
Inseln ermittelt, die es ermöglichen, von einer Insel zur ande
ren zu gelangen und damit ideale Kandidaten für ein Rip-Up
sind. Wenn z. B. ein Verbindungsweg von der Insel IS zur
Insel I1 gesucht werden soll, dann liegt in diesem Weg
die blockierende Verbindung C2, die daraufhin gelöscht werden
müßte. Wenn der Verbindungsweg zwischen der Insel I1 und der
Insel IT verlaufen sollte, dann liegt die blockierende Verbin
dung C3 in diesem Verbindungsweg und durch deren Löschung
könnte der Verbindungsweg zur Insel IT freigemacht werden.
Entsprechendes gilt auch für die anderen Kombinationen, die
in Fig. 2 dargestellt sind.
Es kann also mehrere Rip-Up Kombinationen zwischen den Kompo
nenten S und T geben, und eine Verbindung kann mehrmals zwi
schen zwei verschiedenen Inseln verlaufen. Deswegen ist es
notwendig, alle die Rip-Up Kombinationen zu finden, die im
Sinne der oben gegebenen Definition minimal sind. Dies kann
graphisch dargestellt werden mit Hilfe des Graphen der Fig. 3.
Hier ist der Fall der Fig. 2 so gezeichnet, daß erkennbar ist,
welche blockierenden Verbindungen C den einzelnen Inseln I zu
geordnet sind. Diese blockierenden Verbindungen C sind als
Kanten gezeichnet. Der Graph ist so gezeichnet, daß die Kante
gerade ist, wenn eine blockierende Verbindung C nur zwischen
zwei Inseln angeordnet ist. Ist eine blockierende Verbindung
mehr als zwei Inseln zugeordnet, dann ist diese Verbindung als
geschlossene Kurve dargestellt. Beim Vergleich der Fig. 2 und
der Fig. 3 ist dieses erkennbar. Die Verbindung C3 liegt aus
schließlich zwischen den Inseln I1 und IT, während die Verbin
dung C2 für die Inseln I1, I2, IS und I4 blockierend ist. Ent
sprechendes gilt auch für die anderen blockierenden Verbindungen.
Wenn eine solche blockierende Verbindung gelöscht wird, dann
wird ein Verbindungsweg frei gemacht, der durch den kritischen
Bereich führt.
Die Rip-Up Kombination kann nun mit Hilfe des Graphen 3 leicht
ermittelt werden. Es werden Sequenzen S aus blockierenden Ver
bindungen C und Inseln I ermittelt, die von der Insel IS zur
Insel IT führen. Fig. 3 enthält dabei folgende Sequenzen:
S1 = IS, C7, IT
S2 = IS, C2, I1, C3, IT
S3 = IS, C1, I4, C5, I3, C4, IT oder S3 = IS, C1, I4, C5, I5, C4, IT
S4 = IS, C2, I4, C5, I5, C4, IT oder S4 = IS, C2, I4, C5, I3, C4, IT
S5 = IS, C6, I4, C5, I3, C4, IT oder S5 = IS, C6, I4, C5, I5, C4, IT
S2 = IS, C2, I1, C3, IT
S3 = IS, C1, I4, C5, I3, C4, IT oder S3 = IS, C1, I4, C5, I5, C4, IT
S4 = IS, C2, I4, C5, I5, C4, IT oder S4 = IS, C2, I4, C5, I3, C4, IT
S5 = IS, C6, I4, C5, I3, C4, IT oder S5 = IS, C6, I4, C5, I5, C4, IT
Als minimale Rip-Up Kombinationen ergeben sich somit fünf
Kombinationen, nämlich:
C7; C2, C3; C2, C5, C4; C1, C5, C4; C6, C5, C4.
Jede dieser Kombinationen ist in einer der Sequenzen S ent
halten.
Zur Auswahl der besten Rip-Up Kombination muß dann noch die
Wiederverdrahtbarkeit berücksichtigt werden. Anhand von Erfah
rungen kann z. B. für jeden Rip-Up Kombination die Wiederver
drahtbarkeit geschätzt werden.
Mit dem beschriebenen Verfahren ist es möglich, alle Rip-Up
Kombinationen zu ermitteln. Um das Verfahren aber abzukürzen,
kann auch folgender Weg gegangen werden. Es werden die einzel
nen Rip-Up Kombinationen der jeweils niedersten Ordnung berech
net und aus diesen Rip-Up Kombinationen der niedersten Ordnung
die ausgewählt, die die beste Wiederverdrahtbarkeit ermöglicht.
Die Ordnung der Rip-Up Kombinationen kann entsprechend der An
zahl der blockierenden Leitungen C festgelegt werden. Im Bei
spiel der Fig. 3 wäre somit zunächst die Folge S1 zu unter
suchen, bei der nur eine blockierende Verbindung C7 besteht.
Durch Löschen dieser Verbindung C7 wird ein Verbindungsweg zwi
schen der Komponente S und der Komponente T geöffnet. Die an
schließende Wiederverdrahtung muß nun einen neuen Weg für die
Verbindung C7 suchen.
Im folgenden wird das Verfahren noch einmal ausführlich
dargestellt.
Zur Feststellung des kritischen Bereiches CA wird zunächst
dessen Grenze ermittelt, also die blockierenden Punkte aus
gehend von den Komponenten S und T festgestellt. Dazu kann z. B.
von Komponenten S und T eine bidirektionale Welle sich ausbrei
ten, die in den Komponenten startet. Dies ist aus Fig. 1 er
kennbar. Die Welle trifft dann auf die blockierenden Punkte,
also die blockierenden Verbindungen und eventuell blockierende
Schaltungen, auf. Die vorher erfaßten Punkte werden als freie
Punkte FP bezeichnet und bilden die Inseln IS und IT. Diese Vor
gehensweise ist in Fig. 4 beispielhaft dargestellt. Hier wird
von der Komponente S ausgegangen und dann punktweise der Be
reich um die Komponente S untersucht. Ein blockierender Punkt
ISBP ist dann erreicht, wenn er einen blockierenden Bereich an
gehört und wenn dieser Punkt zumindest einen erreichbaren Punkt FP
und zumindest einen Punkt des kritischen Bereiches als Nachbar
aufweist. Bei der Feststellung der Grenze des kritischen Be
reiches ist es zweckmäßig, daß von T ausgehend zu der Start-
Komponente S ein rechtwinkliger Strahl STR von T nach S gesandt
wird, der dabei auf einen blockierenden Punkt auftreffen muß,
der dann weiterhin als Startpunkt ST dient. Der umgekehrte Weg
für den Strahl von S nach T ist nicht zweckmäßig, da es möglich
ist, daß ein solcher Strahl auf eine nicht erreichbare Insel
auftrifft, die nicht Teil der Grenze des kritischen Bereiches
ist. Eine solche Insel könnte z. B. ein Schaltkreis sein, der
den Verbindungsweg zwischen S und T nicht blockiert. Ausgehend
von diesem Startpunkt ST werden nun die einzelnen blockierenden
Punkte der Grenze des kritischen Bereiches (z. B. in Pfeilrich
tung) entsprechend Fig. 4 ermittelt, und zwar werden die Nach
barpunkte gesucht, die die oben angegebenen Bedingungen erfüllen.
Es werden dabei alle möglichen Richtungen geprüft, um die
Nachbarpunkte zu finden, die die Bedingungen erfüllen. Nachdem
die Grenze des kritischen Bereiches zur Komponente S festge
stellt worden ist, werden schließlich alle Verbindungen er
mittelt, die diese Grenze bilden, da diese für die späte Er
mittlung der Rip-Up Kombinationen notwendig sind. Die Ermitt
lung der erreichbaren Punkte ausgehend von S und T kann z. B.
der Literaturstelle Lee,C.A., "An Algorithm for Path Connec
tions and its Applications", IEEE Trans. On Electronic Comp.
Sept. 1961, Seite 347 bis 365 entnommen werden.
Anschließend an die Ermittlung des kritischen Bereiches CA er
folgt die Strukturierung in Inseln, um die Rip-Up Kombinatio
nen der Ordnung größer 1 feststellen zu können. Das Ziel ist,
Punkte, die voneinander erreichbar sind, derselben Insel zu
zuordnen. Zu diesem Zweck wird der kritische Bereich abgeta
stet und für jeden noch nicht zugeordneten Punkt eine Welle
gestartet, entweder gegen die Komponente S oder die Komponente
T. Alle Punkte, die von diesem Startpunkt aus erreichbar sind,
bilden eine neue Insel. Außerdem werden die zwischen Verbindun
gen liegenden Inseln festgestellt.
Zur Bildung des Graphen der Fig. 3 und zum Herausfinden
der besten Rip-Up Kombination kann auf folgende Weise vorge
gangen werden. Der Graph wird ausgehend von der Komponente S
und T abwechselnd schrittweise gebildet bis die Rip-Up Kombi
nation der kleinsten Ordnung gefunden ist. Selbstverständlich
ist es auch möglich, auf diese Weise den ganzen Graphen zu
erstellen und damit alle möglichen Rip-Up Kombinationen zu
ermitteln. Fig. 5a-5c zeigt die Vorgehensweise. Ausgehend
z. B. von IS werden gemäß Fig. 2 die nächsten Inseln festge
stellt, dies sind I1, I2, I4 und IT (Fig. 5a). Da die blockie
rende Verbindung C7 zwischen den Inseln IS und IT liegt, ist be
reits eine Rip-Up Kombination der Ordnung 1 festgestellt
worden. Um weitere Rip-Up Kombinationen höherer Ordnung zu er
mitteln, wird nun dasselbe von der Insel IT durchgeführt (Fig. 5b,
gestrichelt). Von IT aus sind direkt erreichbar I1 und
I3 und I5. Damit sind alle Rip-Up Kombinationen der Ordnung 2
gefunden, dies ist C2, C3. Im nächsten Schritt wird nun
wiederum von IS ausgehend untersucht (Fig. 5c, gepunktet), zu
welchen weiteren Inseln man von I4 aus gelangen kann. Diese
sind ausgehend von I4 die Inseln I3 und I5. Damit sind auch die
Rip-Up Kombinationen der Ordnung 3 festgestellt. Diese Rip-Up
Kombinationen sind bereits oben angegeben. Sie werden anhand
der die Insel voneinander blockierenden Verbindungen C gebil
det. Selbstverständlich wäre es auch möglich, von der Insel IS
zunächst zu I2 zu gehen und von dort zu Il und dann wiederum zu
IT. Eine solche Kombination würde aber eine Unterkombination
I1, IT enthalten und wäre somit nicht minimal. Nachdem die Rip-Up
Kombinationen festgestellt worden sind, wird ausgehend von den
Rip Up Kombinationen niedrigster Ordnung untersucht, welche die
günstigste ist; also welche den geringsten Aufwand bei der
Wiederverdrahtung erfordert. Dazu kann untersucht werden, wie
die Verdrahtungsumgebung bei den blockierenden Verbindungen der
Rip-Up Kombinationen ist. Die Umgebung um die erste Komponente
S und die zweite Komponente T wird dabei höher gewichtet, da
das Erreichen dieser Gebiete vordringlich ist, während andere
sehr dichte Verdrahtungsgebiet durch einen Umweg umgangen wer
den können.
Das erfindungsgemäße Verfahren wird noch einmal in Anwendung
auf einen Teil eines Bausteins BS erläutert. Der Anwendungsfall
ist in Fig. 6 bis Fig. 9 dargestellt.
Fig. 6 zeigt einen Ausschnitt aus einem Baustein BS bestehend
aus blockierenden Flächen BF, die z. B. Schaltkreise sein kön
nen oder Verdrahtungen, die nicht gelöscht werden dürfen. Diese
sind durch die vorherige Plazierung auf dem Baustein angeordnet
worden. Weiterhin ist bereits ein Teil der Verbindungen gelegt
worden, und zwar die Verbindungen B, C, D, E und F. Der die Ver
drahtung verlegende Router soll nur noch einen Verbindungsweg
für die Verbindung A suchen, dabei stellt er aber fest, daß
die Verbindung A durch die Verbindungen B, C, D, E, F blockiert
ist. Die blockierenden Flächen BF können nicht angetastet wer
den. Deshalb muß untersucht werden, ob durch Löschen von ein
zelnen Verbindungen B bis F ein Verbindungsweg für die Verbin
dung A gefunden werden kann. Es müssen also Rip-Up Kombina
tionen von blockierenden Verbindungen ermittelt werden, deren
Löschung einen Verbindungsweg für die Verbindung A ermöglicht
und bei denen eine Wiederverdrahtbarkeit der gelöschten Verbin
dungen durchführbar ist.
Nach dem beschriebenen Verfahren werden zunächst Inseln
gebildet. Für die Startkomponente, von der aus die Verbin
dung A zu verlegen ist, wird eine erste Insel I10 gebildet.
Das heißt ausgehend von der Komponente S werden die freien
Punkte und die blockierenden Punkte gesucht. Dabei werden
nur die Verbindungen B bis F untersucht. I10 wird dabei
begrenzt von der Verbindung B und der Verbindung F. Entspre
chend wird von der Komponente T ausgehend die Insel I15 er
mittelt. Diese hat die blockierende Verbindung E als Bloc
kadegrenze. Damit ist der kritische Bereich festgelegt, der
zwischen den Inseln I10 und I15 liegt.
Der kritische Bereich wird nun in einzelne Inseln unterteilt.
Ausgehend von der Verbindung B, die die blockierende Grenze
zur Insel I10 bildet, wird nun entsprechend den oben ange
gebenen Bedingungen die Insel I12 gefunden, die zwischen den
blockierenden Verbindungen C und B liegt. Auf dieselbe Weise
wird die Insel I13 gefunden, die zwischen den blockierenden
Verbindungen B und C liegt. Weiterhin wird die Insel I14 er
mittelt, die zwischen den blockierenden Verbindungen E und D
angeordnet ist. Zwischen der blockierenden Verbindung E und F
ist die Insel I17 angeordnet und die blockierende Verbindung F
ist ursächlich für die Insel I16.
Damit ist der gesamte kritische Bereich in Inseln unterteilt
und es kann der Graph entsprechend Fig. 8 dargestellt werden.
Ausgehend von der Insel I10, die der Startkomponente S zuge
ordnet ist, ist zu sehen, daß diese über die blockierende Ver
bindung B mit der Insel I12 zu verbinden ist, diese über die
blockierende Verbindung C mit der Insel I13 und diese wiederum
über die blockierende Verbindung D mit der Insel I14 zu verbin
den ist. Die Insel I14 ist durch die blockierende Verbindung
E begrenzt, die gleichzeitig die Grenze zur Insel I15, also
die der Zielkomponente T zugeordnete Insel ist. Von der Insel
I10 gibt es weiterhin einen Pfad über die Verbindung F zur
Insel I17 und von dort über die Verbindung E zur Insel I15
bzw. über die Insel I16 zur Insel I17 und von dort zur
Zielinsel I15. Da die Verbindungen I und F mehreren Inseln
zugeordnet sind, werden sie nicht als gerade, sondern als
geschlossene Kurven dargestellt.
Anhand des Graphen der Fig. 8 können nun die einzelnen
Sequenzen gebildet werden:
S11 = I10, F, I17, E, I15
S12 = I10, F, I16, F, I17, E, I15
S13 = I10, B, I12, C, I13, D, I14, E, I15
S12 = I10, F, I16, F, I17, E, I15
S13 = I10, B, I12, C, I13, D, I14, E, I15
Somit ergeben sich folgende Rip-Up Kombinationen: F, E;
B, C, D, E. Die der Sequenz S12 zugeordnete Kombination ist
in der Kombination für die Sequenz S11 enthalten und damit
keine minimale Rip-Up Kombination.
Es ist leicht erkennbar, daß die Rip-Up Kombination der
Folge S11 die mit der minimalsten Ordnung ist. Demgemäß wer
den die Leitungen F und E gelöscht und ein Verbindungsweg
für die Verbindung A frei gemacht. Die Verbindung A kann
somit verlegt werden, z. B. entsprechend Fig. 9. Bei der Wie
derverdrahtung müssen nun die Verbindungen E und F neu ange
ordnet werden, dies kann entsprechend Fig. 9 erfolgen.
Aus der Beschreibung der Fig. 6 bis 9 ist erkennbar, daß
ein Punkt eine durch die Entwurfsregeln und damit die Tech
nologie bedingte Ausdehnung hat. Weiterhin muß darauf hinge
wiesen werden, daß das Beispiel der Fig. 6 aus Übersichtlich
keitsgründen sich auf eine Ebene beschränkt. Das Verfahren ist
jedoch auch dann anwendbar, wenn beliebig viele Ebenen beim
Baustein erlaubt sind. Die Ausdehnung der Inseln erfolgt
dann nicht flächig, sondern vollzieht sich über meherere Ebe
nen.
Claims (9)
1. Verfahren zur Festlegung eines Verbindungsweges zwischen
einer Startkomponente (S) und einer Zielkomponente (T) einer
Komponenten aufweisenden Baueinheit, wenn nach Plazierung von
Komponenten und teilweiser Verdrahtung festgestellt wird, daß
ein Verbindungsweg zwischen den zwei Komponenten durch vorher
verlegte Verbindungen blockiert ist,
- - bei dem von der Startkomponente (S) bzw. der Zielkomponente (T) ausgehend die durch andere Komponenten und bereits ver legte Verbindungen begrenzte freie Startinsel (IS) bzw. Zielinsel (IT) ermittelt wird und damit der durch die Startinsel (IS) und die Zielinsel (IT) begrenzte die Blockierungen enthaltende kritische Bereich (CA) festgestellt wird,
- - bei dem im kritischen Bereich (CA) Inseln (I) dadurch gebildet werden, daß die von bereits verlegten Verbindungen und weiteren Komponentenflächen eingegrenzten Bereiche ermittelt werden,
- - bei dem die zwischen der Startkomponente und der Zielkomponente liegenden Folgen von Inseln und diese begrenzenden blockierenden Verbindungen ermittelt werden,
- - bei dem die Folgen von Inseln und die diese begrenzenden Verbindungen dahingehend untersucht werden, welche Folge bei der Entfernung der zugeordneten begrenzenden Verbindungen eine erneute Verdrahtung ermöglicht.
2. Verfahren nach Anspruch 1, bei dem die einer Insel
zugeordneten Punkte auf folgende Weise gefunden werden:
- a) jeder Punkt muß zum kritischen Bereich (CA) gehören,
- b) die Punkte einer Insel müssen sich gegenseitig erreichen,
- c) kein weiterer Punkt erfüllt die Bedingungen a) und b) bzw. der zwischen zwei benachbarten Verbindungssegmenten liegende Zwischenraum wird festgestellt.
3. Verfahren nach Anspruch 2, bei dem die Folgen gewählt wer
den, die die geringste Anzahl von zugeordneten Verbindungen (C)
enthalten.
4. Verfahren nach Anspruch 3, bei dem aus den Folgen der
geringsten Anzahl von blockierenden Verbindungen (C) die
jenige gewählt wird, die die Wiederverdrahtung mit gering
stem Aufwand ermöglicht.
5. Verfahren nach einem der vorhergehenden Ansprüche,
bei dem ausgehend von der Startkomponente (S) und der
Zielkomponente (T) nach allen Seiten fortschreitend nach
blockierenden Punkten gesucht wird und dies solange getan
wird, bis die die Startkomponente bzw. Zielkomponente be
grenzende blockierende Grenze des kritischen Bereiches er
mittelt ist.
6. Verfahren nach Anspruch 5, bei dem die blockierenden
Punkte der Grenze auf folgende Weise gefunden werden:
- a) es sind keine freien Punkte, die von der Startkomponente (S) bzw. der Zielkomponente (T) erreichbar sind,
- b) die blockierenden Punkte haben mindestens einen erreichba ren Punkt und zumindest einen Punkt des kritischen Bereiches als Nachbar.
7. Verfahren nach Anspruch 6, bei dem zur Feststellung des
kritischen Bereiches (CA) ein blockierender Punkt als Start
punkt gewählt wird, der zwischen der Startkomponente und der
Zielkomponente liegt und dann benachbarte Punkte daraufhin
untersucht werden, ob sie ebenfalls ein blockierender Punkt
sind, der mindestens einen erreichbaren Nachbarpunkt und
mindestens einen blockierenden Nachbarpunkt hat und dies so
lange getan wird, bis eine geschlossene Grenzlinie festge
stellt ist.
8. Verfahren nach einem der vorhergehenden Ansprüche, bei
dem zur Ermittlung der Folgen abwechselnd ausgehend sowohl von
der Startkomponente (S) als auch der Zielkomponente (T) die
nächste Insel gesucht wird, die mit der Startkomponente bzw.
der Zielkomponente eine blockierende Verbindung gemeinsam hat,
und dann ausgehend von diesen gefundenen Inseln weitere Inseln
gesucht werden, die mit den Ausgangsinseln eine blockie
rende Verbindung gemeinsam haben,
und dies solange durchgeführt wird, bis mindestens eine ge
meinsame Insel von beiden Startpunkten ausgehend erreicht
ist.
9. Verfahren nach einem der vorhergehenden Ansprüche, bei
dem die Folge aus mehreren Folgen der gleichen Ordnung aus
gewählt wird, bei der die Verdrahtung der neuen Verbindung
und der gelöschten blockierenden Verbindungen in einem Be
reich erfolgt, indem die geringste Anzahl von Verbindungen
liegen.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4114203A DE4114203A1 (de) | 1991-04-30 | 1991-04-30 | Verfahren zur festlegung eines verbindungsweges zwischen einer startkomponente und einer zielkomponente einer komponenten aufweisenden baueinheit |
JP4131874A JPH05151318A (ja) | 1991-04-30 | 1992-04-24 | 出発構成要素と目的構成要素との間の接続経路の決定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4114203A DE4114203A1 (de) | 1991-04-30 | 1991-04-30 | Verfahren zur festlegung eines verbindungsweges zwischen einer startkomponente und einer zielkomponente einer komponenten aufweisenden baueinheit |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4114203A1 true DE4114203A1 (de) | 1992-11-05 |
Family
ID=6430734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4114203A Withdrawn DE4114203A1 (de) | 1991-04-30 | 1991-04-30 | Verfahren zur festlegung eines verbindungsweges zwischen einer startkomponente und einer zielkomponente einer komponenten aufweisenden baueinheit |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH05151318A (de) |
DE (1) | DE4114203A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19946607A1 (de) * | 1998-10-01 | 2001-05-10 | Ibm | Optimierung mit Zerstörung & Wiederaufbau |
-
1991
- 1991-04-30 DE DE4114203A patent/DE4114203A1/de not_active Withdrawn
-
1992
- 1992-04-24 JP JP4131874A patent/JPH05151318A/ja not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
SUZUKI, K. - MATSUNAGA, Y. - TACHIBANA, M. - OHTSUKI, T.: A Hardware Maze Router with Application to Interactive Rip-Up and Reroute, IEEE Trans. on Computer-Aided-Design, Vol. CAD-5, Nr. 4, S. 466-476, 1986 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19946607A1 (de) * | 1998-10-01 | 2001-05-10 | Ibm | Optimierung mit Zerstörung & Wiederaufbau |
DE19946607C2 (de) * | 1998-10-01 | 2002-11-07 | Ibm | Optimierung mit Zerstörung & Wiederaufbau |
Also Published As
Publication number | Publication date |
---|---|
JPH05151318A (ja) | 1993-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2843144C2 (de) | ||
EP0144078A2 (de) | Verfahren und Anordnung zum Prüfen einer Schaltung nach der Abfragepfad-Technik | |
DE3719017A1 (de) | Verfahren und vorrichtung zur bestimmung einer fahrtroute zwischen einem startpunkt und einem zielpunkt | |
DE112017008044T5 (de) | Vertikale supraleitende kondensatoren für transmon-qubits | |
DE10025583A1 (de) | Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen | |
DE2418906A1 (de) | Verfahren zur verbindung der in einer halbleiterscheibe erzeugten schaltungskreise | |
DE3744258A1 (de) | Verfahren zum verdrahten einer integrierten halbleiterschaltung | |
DE4128568A1 (de) | Mehrschichten-verdrahtungsverfahren zur modifikation am chip fuer einen hochintegrierten halbleiterschaltkreis (lsi) | |
DE60105044T2 (de) | Verfahren zur individualisierung eines elements einer integrierten schaltung | |
DE19704658A1 (de) | Entwurfshilfsvorrichtung und -verfahren zum Entwerfen eines Halbleiterbauelements | |
DE3544539C2 (de) | Halbleiteranordnung mit Metallisierungsmuster verschiedener Schichtdicke sowie Verfahren zu deren Herstellung | |
DE2750400A1 (de) | Schaltungsanordnung fuer das mit dem laden und abrufen von datensaetzen ueberlappende sortieren von datensaetzen | |
DE10138142B4 (de) | Verfahren zur Analyse einer integrierten elektrischen Schaltung | |
DE69833720T2 (de) | Integrierte Halbleiterschaltung mit On-Chip Kondensatoren | |
EP0166027B1 (de) | In C-MOS-Technik realisierte Basiszelle | |
DE4114203A1 (de) | Verfahren zur festlegung eines verbindungsweges zwischen einer startkomponente und einer zielkomponente einer komponenten aufweisenden baueinheit | |
DE4102718C2 (de) | Integrierte Schaltung und Verfahren zur Generierung eines Layouts einer integrierten Schaltung | |
DE10206658B4 (de) | Verfahren zum Überprüfen einer integrierten elektrischen Schaltung | |
DE10393430T5 (de) | Verfahren zur Korrektur eines Maskenmusters | |
DE102005039394A1 (de) | Verfahren zum Suchen potentieller Fehler eines Layouts einer integrierten Schaltung | |
DE2929050A1 (de) | Mehrschichtige gedruckte leiterplatte und verfahren zu ihrer auslegung | |
DE2511673A1 (de) | Logische steuerschaltung zur ausgabe von zusammenhaengenden bitgruppen | |
DE3501051A1 (de) | Verfahren und vorrichtung zur positionsbestimmung | |
DE1549638B1 (de) | Einrichtung zur Untersuchung zweier Vektorfolgen | |
DE2259726A1 (de) | Verfahren zur optimierung einer halbleiterschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |