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 baueinheit

Info

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
Application number
DE4114203A
Other languages
English (en)
Inventor
Manuela Raith
Marc Dr Ing Bartholomeus
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE4114203A priority Critical patent/DE4114203A1/de
Priority to JP4131874A priority patent/JPH05151318A/ja
Publication of DE4114203A1 publication Critical patent/DE4114203A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

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
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
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.
DE4114203A 1991-04-30 1991-04-30 Verfahren zur festlegung eines verbindungsweges zwischen einer startkomponente und einer zielkomponente einer komponenten aufweisenden baueinheit Withdrawn DE4114203A1 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19946607A1 (de) * 1998-10-01 2001-05-10 Ibm Optimierung mit Zerstörung & Wiederaufbau

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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