DE69527338T2 - Leitungswegesuchverfahren und -vorrichtung - Google Patents

Leitungswegesuchverfahren und -vorrichtung

Info

Publication number
DE69527338T2
DE69527338T2 DE69527338T DE69527338T DE69527338T2 DE 69527338 T2 DE69527338 T2 DE 69527338T2 DE 69527338 T DE69527338 T DE 69527338T DE 69527338 T DE69527338 T DE 69527338T DE 69527338 T2 DE69527338 T2 DE 69527338T2
Authority
DE
Germany
Prior art keywords
routing
information
placement
program
automatic
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.)
Expired - Lifetime
Application number
DE69527338T
Other languages
English (en)
Other versions
DE69527338D1 (de
Inventor
Masato Ariyama
Hirofumi Hamamura
Kazuyuki Iida
Kazufumi Iwahara
Akira Katsumata
Hiroshi Miura
Naoki Murakami
Masaharu Nishimura
Mitsunobu Okano
Hiroyuki Orihara
Toshiyasu Sakata
Ryouji Yamada
Atsushi Yamane
Yasuhiro Yamashita
Mitsuru Yasuda
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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
Priority claimed from JP29646994A external-priority patent/JP3192057B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE69527338D1 publication Critical patent/DE69527338D1/de
Application granted granted Critical
Publication of DE69527338T2 publication Critical patent/DE69527338T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • 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

Landscapes

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

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und Gerät, die eine Leitungsführungs- oder Routing-Verarbeitungsprozedur (Algorithmus) auf der Basis vorbestimmter Routing-Entwurfsdaten (Routing-Problem) bilden oder zusammenzustezen, um ein Routing-Programm zu erzeugen.
  • Bei der Herstellung von neueren Halbleitern (LSIs), Multichip-Modulen (MCMs), Leiterplatten oder dergleichen gibt es Forderungen nach einer Packung und Bestückung oder Plazierung mit hoher Dichte und einer Leitungsführung oder einem Routing, das innerhalb einer kurzen Zeitspanne auf der geringeren Zahl von Signalschichten durchgeführt wird. Mit der Verringerung des Spielraums (eines Freiheitsgrades) infolge eines Trends in Richtung auf hohe Dichte und hohe Leistung wie oben wird es schwierig, verschiedene Routing- Probleme und Plazierungsprobleme mit einem festen Algorithmus zu lösen. Deshalb ist es nun notwendig, eine Technik eines automatischen Routing oder eine Automatisches- Routing-Technik mit hoher Leistung und eine Technik einer automatischen Plazierung oder eine Automatische- Plazierungs-Technik einzurichten.
  • In der Automatisches-Routing-Technik richtet sich ein universelles Program für automatisches Routing oder Automatisches-Routing-Programm 101, das eine vorbestimmte Routing-Verarbeitungsprozedur beschreibt, nach Routing- Problemen (Routing-Entwurfsdaten) verschiedener Arten von Leiterplatten (oder Halbleitern wie z.B. LSIs oder dergleichen) 100A, 100B, ..., 100Z, wie in Fig. 33 gezeigt ist.
  • In der Automatische-Plazierungs-Technik richtet sich gleichfalls ein universelles Automatische-Plazierungs-Programm 102, das eine vorbestimmte Plazierungs-Verarbeitungsprozedur beschreibt, nach Problemen einer Komponentenbestückung oder -plazierung auf verschiedenen Arten von Leiterplatten (oder Halbleitern wie z.B. LSIs oder dergleichen) 100A, 100B, ..., 100Z, wie in Fig. 34 gezeigt ist.
  • Ein Leitungssuchverfahren oder Labyrinth- oder Maze- Verfahren ist z.B. als allgemeines Automatisches-Routing- Mittel wohlbekannt, um Routing-Bahnen zu bestimmen, um Routing-Muster auf einer Leiterplatte mit mehreren Komponentenstiften automatisch zu routen oder Leiterbahnen zu trassieren.
  • Im Leitungssuchverfahren wird, falls zwei, mit dem Routing-Muster auf der Leiterplatte 110 miteinander zu verbindende Punkte als Startpunkt (Komponentenstift) 111 und Endpunkt (Komponentenstift) 112 wie in Fig. 35 gezeigt gegeben sind, die Routing-Bahn vom Startpunkt 111 zum Endpunkt 112 in der folgenden Weise bestimmt.
  • Zuerst wird auf der Leiterplatte 110 eine geeignete Richtung, um sich vom Startpunkt 111 aus dem Endpunkt 112 zu nähern, ausgewählt, und die erste Suchleitung oder Suchlinie 113 wird vom Startpunkt aus in dieser Richtung (in einem in Fig. 35 gezeigten Beispiel nach rechts) gezeichnet.
  • Die erste Suchlinie 113 kann den Endpunkt 112 nicht erreichen, so dass die zweite Suchlinie 114 in einer geeigneten Richtung unter rechten Winkeln zur ersten Suchlinie 113 gezeichnet wird, um sich dem Endpunkt 112 (im in Fig. 35 gezeigten Beispiel nach unten) zu nähern.
  • Die zweite Suchlinie 114 kann den Endpunkt 112 wegen eines für Routing verbotenen Bereichs (ein durch Markierungen X in Fig. 35 angegebener Teil) auch nicht erreichen, so daß die dritte Suchlinie 115 unter rechten Winkeln zur zweiten Suchlinie 114, die vierte Suchlinie 116 unter rechten Winkeln zur dritten Suchlinie 115, die fünfte Suchlinie 117 unter rechten Winkeln zur vierten Suchlinie 117 von geeigneten Punkten auf unmittelbar vorhergehenden Linien in der gleichen Weise sukzessiv gezeichnet werden. Schließlich erreicht die fünfte Suchlinie 117 den Endpunkt 112.
  • Die ersten bis fünften Suchlinien 113-117, die in der obigen Weise gezeichnet wurden, bestimmen eine Routing-Bahn (angegeben durch eine Strichpunktlinie) 118 eines gewünschten Routing-Musters vom Startpunkt 111 zum Endpunkt 112 auf der Leiterplatte 110.
  • Auf der anderen Seite wird im Labyrinth- oder Maze- Verfahren, falls zwei, zu routende oder mit Leiterbahnen zu trassierende Punkte eines Routing-Musters als Startpunkt (Komponentenstift) 121 und Endpunkt (Komponentenstift) 122 auf einer Leiterplatte 120 wie in Fig. 36 gezeigt gegeben sind, eine Routing-Bahn vom Startpunkt 121 zum Endpunkt 122 in der folgenden Weise bestimmt.
  • In dem Maze-Verfahren werden Maschen mit jeweils einer Musterbreite des Routing-Musters als Basiseinheit auf der Leiterplatte 120 abgebildet, und eine Welle wird vom Startpunkt 121 aus erzeugt und in Richtung auf den Endpunkt fortgepflanzt, wie in Fig. 36 gezeigt ist.
  • Wie als eingekreiste Zahl in jeder Masche in Fig. 36 dargestellt ist, sind Maschen, die einer Masche benachbart sind, in der die Startnummer 121 liegt, mit (1) etikettiert, und die den mit (1) etikettierten Maschen benachbarten Maschen sind mit 2 etikettiert. In der gleichen Weise sind die Nummern den Maschen sukzessiv so zugeordnet, dass die vom Startpunkt 121 aus beginnende Routing-Bahn den Endpunkt 122 erreichen kann.
  • In einem in Fig. 36 gezeigten Beispiel ist eine Masche, in der sich der Endpunkt 122 befindet, die vom Startpunkt 121 aus gezählte achte Masche, die mit einer Nummer (8) etikettiert ist. Die Maschen, die die Welle vom Startpunkt 121 aus zum Endpunkt 122 passiert hat, werden sukzessiv gespeichert. Wenn die Welle den Endpunkt 122 erreicht, werden die Positionen der Maschen, durch die die Welle gelangt ist, vom Endpunkt 122 aus zum Startpunkt 121 zurückverfolgt, so dass die Routing-Bahn 123 des Routing-Musters bestimmt ist.
  • Nebenbei bemerkt repräsentieren mit Markierungen X etikettierte Maschen einen für Routing verbotenen Bereich in Fig. 36.
  • Physikalische, elektrische Entwurfsbedingungen werden jedoch aufgrund von sich in den letzten Jahren schnell entwickelnden Trends zu einer Packung mit höherer Dichte, geringen Kosten und hoher Geschwindigkeit immer strenger. Deshalb wird es schwierig, eine geeignete Lösung zu finden, wie vom Konstrukteur erwartet wird, falls ein automatisches Routing für eine lange Zeit ausgeführt wird, was zur Folge hat, dass viele Teile nicht geroutet oder mit Leiterbahnen trassiert bleiben.
  • Die Automatisches-Routing-Technik, die das universelle Automatisches-Routing-Programm 101 wie in Fig. 33 gezeigt verwendet, weist ein Problem auf, daß das Programm 101 zum Lösen von Problemen nur eine bestimmte beschränkte Routing- Verarbeitungsprozedur (Algorithmus) beschreibt, so dass es schwierig ist, eine optimale Lösung für jedes Routing- Problem herauszufinden, obgleich es verschiedene Routing- Probleme (Routing-Entwurfsdaten) gibt.
  • Wie oben dargestellt ist die gegenwärtige Situation, dass es schwer ist, den Abschluss des Routing-Prozesses innerhalb einer gegebenen Zeitspanne abzusehen, selbst wenn auf nicht gerouteten Teilen oder nicht mit Leiterbahnen trassierten Teilen ein manuelles Routing ausgeführt wird, so dass schließlich alle Teile manuell trassiert sind. Daher nimmt eine Anwendungsrate des automatischen Routing Jahr um Jahr ab.
  • Entsprechend beschreibt in der Automatische- Plazierungs-Technik, die das universelle Automatische- Plazierungs-Programm 102 wie in Fig. 34 gezeigt verwendet, das Programm 102 zum Lösen von Problemen nur eine gegebene beschränkte Routing-Verarbeitungsprozedur (Algorithmus), obgleich sich neuere Substrate wie oben bemerkt diversifiziert haben. Deshalb ist die gegenwärtige Situation, daß die Komponentenbestückung oder -plazierung oft entgegen den Erwartungen des Konstrukteurs ausfällt.
  • Die entgegen den Erwartungen des Konstrukteurs ausgefallene Komponentenplazierung erfordert daher eine manuelle Änderung. Die gegenwärtige Situation ist jedoch, dass es schwer ist, den Abschluss des Routing-Prozesses innerhalb einer gegebenen Zeitspanne abzusehen, selbst wenn eine manuelle Änderung in der Komponentenplazierung ausgeführt wird, so dass die gesamte Komponentenplazierung manuell ausgeführt werden muss. Daher nimmt die Anwendungsrate der automatischen Plazierung Jahr um Jahr ab.
  • Auf der anderen Seite ist in dem oben erwähnten, in Fig. 35 dargestellten Leitungssuchverfahren das Routing- Muster als Folge gerader Linien (siehe die Suchlinien 133- 117 und die Routing-Bahn 118) dargestellt. Wenn eine Beurteilung diesbezüglich vorgenommen wird, ob das Muster annehmbar ist oder nicht, sind graphische Operationen notwendig, um die Positionsbeziehung der geraden Linien zu beurteilen, welche graphische Operationen eine enorme Zeitspanne beanspruchen. Aus diesem Grund war eine ausreichende Suche der Routing-Bahnen im Routing-Muster schwierig.
  • In dem in Fig. 36 gezeigten oben erwähnten Maze- Verfahren wird, da die Musterbreite als eine Basiseinheit der Masche bestimmt ist, somit ein Volumen der Daten enorm, wenn die Fläche der Leiterplatte 120 zunimmt und die Breite des Musters abnimmt. Dies bewirkt eine Zunahme in der Zahl von Maschen, die verwendet werden, um eine annehmbare Route zu suchen. Dies hat eine enorme Zeitspanne, um eine Bahn zu suchen, zur Folge.
  • Daher müssen Suchvorgänge, um eine annehmbare Bahn zu bestimmen, auf vielen Bahnen und an vielen Kombinationen vorgenommen werden, um das Routing-Muster in der hohen Dichte zu trassieren. Eine Suche mit einer ungenügenden Geschwindigkeit bewirkt jedoch, daß Bahnen auftreten, die nicht abgesucht worden sind, was ein Routing mit hoher Dichte stört.
  • Ein Artikel von Liao et al. mit dem Titel "Routing Considerations in Symbolic Layout Synthesis", Proceedings of the 29th ACM/IEEE Design Automation Conference, Juni 1992, offenbart die Auswahl von einer oder zwei Routing-Ausführungen aus vier möglichen Routing-Ausführungen. Die darin offenbarten Techniken ermöglichen nicht, dass auf spezifische Routing-Probleme zugeschnittene Routing-Programme erzeugt werden.
  • Artikel von Setliff et al. mit den Titeln "On the Feasibility of Synthesizing CAD Software from Specifications: Generation Maze Router Tools in ELF", IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 10 (1991) Juni, Nr. 6, Seiten 783-801 und "Knowledge Representation and Reasoning in a Software Synthesis Architecture", IEEE Transactions on Software Engineering, 18 (1992) Juni, Nr. 6, offenbaren ein vollautomatisches Software- Synthesesystem, in welchem ein kundenspezifisches Routing- Programm aus mehreren Kandidatensätzen erzeugt wird. Die Zahl von Kandidatensätzen ist jedoch beschränkt, und daher ist es für das System schwierig, mit einer großen Vielfalt an verschiedenen Routing-Problemen zurechtzukommen. Überdies ermöglicht solch ein System nicht, dass sich das Knowhow des Designers in der Erzeugungsprozedur vollständig widergespiegelt wird.
  • Es ist wünschenswert, ein Routing-Programm-Erzeugungsverfahren und ein Gerät dafür zu schaffen, welche ein individuelles Routing-Programm und ein Routing-Ergebnis leicht erhalten können, die für jedes von verschiedenen Routing- Problemen geeignet sind, um eine optimale Lösung in einem automatischen Routing sicher und mit hoher Geschwindigkeit sogar unter erschwerten Bedingungen zu finden, die auferlegt sind, um Forderungen nach einer Packung mit hoher Dichte und geringen Kosten zu erfüllen, wodurch eine Routing-Rate verbessert wird.
  • Gemäß einem ersten Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren zum Erzeugen eines kundenspezifischen Routing-Programms geschaffen, das beim Entwerfen eines Layout einer Schaltung verwendet werden soll, welches Programm eine Routing-Prozedur beschreibt, die an Routing- Entwurfsdaten der Schaltung ausgeführt werden soll, welches Verfahren auf einem Computer ausgeführt wird und die Schritte aufweist:
  • Auswählen einer geeigneten Routing-Fundamentalfunktion aus mehreren Routing-Fundamentalfunktionen;
  • Bezeichnen von Einzelheiten der ausgewählten Routing-Fundamentalfunktion in Termen oder Begriffen einer Routing-Steuersprache;
  • Auswerten einer Routing-Effizienz der ausgewählten Routing-Fundamentalfunktion oder der bezeichneten Einzelheiten auf der Basis der Routing-Entwurfsdaten;
  • worin die Auswahl in dem Auswahlschritt und die Bezeichnung in dem Bezeichnungsschritt interaktiv ausgeführt werden, wobei ein Design- oder Entwurfsbediener ein Ergebnis der Auswertung zu Rate zieht, die im Auswertungsschritt ausgeführt wurde,
  • welches Verfahren ferner umfaßt:
  • Zusammensetzen der Routing-Prozedur basierend auf der in dem Auswahlschritt ausgewählten Routing-Fundamentalfunktion mit den im Bezeichnungsschritt bezeichneten Einzelheiten; und
  • Erzeugen des kundenspezifischen Routing-Programms aus der im Zusammensetzungsschritt zusammengesetzten Routing- Prozedur.
  • Gemäß einem zweiten Gesichtspunkt der vorliegenden Erfindung wird ein Gerät zum Erzeugen eines kundenspezifischen Routing-Programms geschaffen, das beim Entwerfen eines Layout einer Schaltung verwendet werden soll, welches Programm eine Routing-Prozedur beschreibt, die an Routing- Entwurfsdaten der Schaltung ausgeführt werden soll, welches Gerät aufweist:
  • ein Speichermittel zum Speichern mehrerer Routing- Fundamentalfunktionen;
  • ein Auswahlmittel zum Auswählen einer geeigneten Routing-Fundamentalfunktion aus dem Speichermittel;
  • ein Bezeichnungsmittel zum Bezeichnen von Einzelheiten der ausgewählten Routing-Fundamentalfunktion in Begriffen einer Routing-Steuersprache;
  • ein Routing-Effizienz-Auswertungsmittel zum Auswerten einer Routing-Effizienz der durch das Auswahlmittel ausgewählten Routing-Fundamentalfunktion oder der durch das Bestimmungsmittel bezeichneten Einzelheiten auf der Basis der Routing-Entwurfsdaten; und
  • ein Anzeigemittel zum Anzeigen von Daten, die die durch das Routing-Effizienz-Auswertungsmittel ausgewertete Routing-Effizienz darstellen;
  • worin das Gerät so angeordnet ist, daß im Betrieb die Auswahl durch das Auswahlmittel und die Bezeichnung durch das Bezeichnungsmittel interaktiv ausgeführt werden, wobei ein Entwurfsbediener das Ergebnis einer Auswertung zu Rate zieht, das durch das Anzeigemittel angezeigt wird, um die für die Routing-Entwurfsdaten geeignete Routing-Prozedur zusammenzusetzen und dadurch das kundenspezifische Routing- Programm gemäß den Routing-Entwurfsdaten zu erzeugen.
  • Bei solch einem Verfahren zur Programmerzeugung und Gerät dafür wird eine Routing-Fundamentalfunktion ausgewählt, und Einzelheiten der ausgewählten Routing-Funktion werden interaktiv bestimmt oder bezeichnet (d.h. eine bestimmte Routing-Verarbeitungsprozedur wird in Termen einer Routing- Steuersprache eingegeben), wobei ein Entwurfsbediener ein Ergebnis einer Auswertung zu Rate zieht, um eine Routing- Verarbeitungsprozedur zusammenzusetzen, um ein exklusives Routing-Programm zu erzeugen, das die Routing-Verarbeitungsprozedur entsprechend jedem von verschiedenen Routing- Problemen von zu routenden oder mit Leiterbahnen zu trassierenden Objekten beschreibt. Ein automatisches Routen gemäß solch einem Routing-Programm ist hilfreich, um eine optimale Lösung beim automatischen Routen sicher und mit hoher Geschwindigkeit sogar unter erschwerten Bedingungen zu finden, die auferlegt sind, um Forderungen nach einer Packung mit hoher Dichte und geringen Kosten zu erfüllen, was zu einer Verbesserung in der Routing-Rate und Leistung von elektronischen Computern beiträgt.
  • Ausführungsformen werden mit Verweis auf die beiliegenden Zeichnungen beschrieben, in welchen:
  • Fig. 1 ein Blockdiagramm ist, das einen Gesichtspunkt eines Routing-Programm-Erzeugungsverfahrens gemäß dieser Erfindung zeigt;
  • Fig. 2 ein Blockdiagramm ist, das einen Gesichtspunkt eines Routing-Programm-Erzeugungsgerätes gemäß dieser Erfindung zeigt;
  • Fig. 3 ein Blockdiagramm ist, das ein Plazierungsprogramm-Erzeugungsverfahren zeigt;
  • Fig. 4 ein Blockdiagramm ist, das ein Plazierungsprogramm-Erzeugungsgerät zeigt;
  • Fig. 5 eine Veranschaulichung ist, die ein Automatisches-Routing-Verfahren zeigt;
  • Fig. 6 ein Blockdiagramm ist, das ein Automatisches- Routing-Gerät zeigt;
  • Fig. 7 ein Blockdiagramm eines Routing-Programm- Erzeugungsgeräts gemäß einer ersten Ausführungsform dieser Erfindung ist;
  • Fig. 8 ein Flußdiagramm ist, um eine Operation des Routing-Programm-Erzeugungsgerätes gemäß der ersten Ausführungsform zu veranschaulichen;
  • Fig. 9 ein Flußdiagramm ist, um die Operation des Routing-Programm-Erzeugungsgerätes gemäß der ersten Ausführungsform zu veranschaulichen;
  • Fig. 10 eine Veranschaulichung eines Beispiels ist, um Informationen über geroutete oder trassierte Objekte (Wer), Informationen über geroutete oder trassierte Plätze oder Stellen (Wo) und Routing-Bedingungs-Informationen (Wie) in dieser Reihenfolge in der ersten Ausführungsform zu bezeichnen;
  • Fig. 11 eine Veranschaulichung eines anderen Beispiels ist, um die Informationen über geroutete Objekte (Wer), die Informationen über geroutete Stellen (Wo) und die Routing- Bedingungs-Informationen (Wie) in dieser Reihenfolge in der ersten Ausführungsform zu bezeichnen;
  • Fig. 12 eine Veranschaulichung noch eines anderen Beispieles ist, um die Informationen über geroutete Objekte (Wer), die Informationen über geroutete Stellen (Wo) und die Routing-Bedingungs-Informationen (Wie) in dieser Reihenfolge in der ersten Ausführungsform zu bezeichnen;
  • Fig. 13 eine Veranschaulichung einer Operation ist, um ein Routing-Programm gemäß der ersten Ausführungsform zu erzeugen;
  • Fig. 14 ein Blockdiagramm eines Mittels zum Erzeugen eines Automatisches-Routing-Programms in einer Ausführen- Form gemäß der ersten Ausführungsform ist;
  • Fig. 15 ein detailliertes Blockdiagramm des Mittels zum Erzeugen eines Automatisches-Routing-Programms in einer Ausführen-Form gemäß der ersten Ausführungsform ist;
  • Fig. 16 ein Blockdiagramm einer Modifikation des Mittels zum Erzeugen eines Automatisches-Routing-Programms in einer ausführbaren Form gemäß der ersten Ausführungsform ist;
  • Fig. 17 ein detailliertes Blockdiagramm der Modifikation des Mittels zum Erzeugen eines Automatisches-Routing- Programms in einer ausführbaren Form gemäß der ersten Ausführungsform ist;
  • Fig. 18 ein Blockdiagramm einer anderen Modifikation des Mittels zum Erzeugen des Automatisches-Routing- Programms in einer ausführbaren Form gemäß der ersten Ausführungsform ist;
  • Fig. 19 ein Blockdiagramm noch einer anderen Modifikation des Mittels zum Erzeugen eines Automatisches-Routing- Programms in einer ausführbaren Form gemäß der ersten Ausführungsform ist;
  • Fig. 20 eine Veranschaulichung ist, die grundlegende Verarbeitungsprozeduren des Mittels von vier Typen zum Erzeugen eines Automatisches-Routing-Programms in einer Ausführen-Form gemäß der ersten Ausführungsform zeigt, um Unterschiede der Mittel zu verdeutlichen;
  • Fig. 21 ein Blockdiagramm eines Plazierungsprogramm- Erzeugungsgerätes ist;
  • Fig. 22 eine Veranschaulichung eines Beispiels ist, um Informationen über Gruppierungen plazierter Komponenten, plazierte Bereiche bezeichnende Informationen und Plazierungsbedingungs-Informationen in dieser Reihenfolge zu bezeichnen;
  • Fig. 23 eine Veranschaulichung eines anderen Beispiels ist, um die Informationen über Gruppierungen plazierter Komponenten, die plazierte Bereiche bezeichnende Informationen und die Plazierungsbedingungs-Informationen in dieser Reihenfolge zu bezeichnen;
  • Fig. 24 eine Veranschaulichung noch eines anderen Beispiels ist, um die Informationen über Gruppierungen plazierter Komponenten, die plazierte Bereiche bezeichnenden Informationen und die Plazierungsbedingungs-Informationen in dieser Reihenfolge zu bezeichnen;
  • Fig. 25 eine Veranschaulichung einer Operation ist, um ein Plazierungsprogramm zu erzeugen;
  • Fig. 26 ein Blockdiagramm eines Automatisches-Routing- Gerätes ist;
  • Fig. 27 eine Veranschaulichung ist, die eine Operation des Automatisches-Routing-Geräts zeigt;
  • Fig. 28(A) und 28(B) Veranschaulichungen sind, die die Operation des Automatisches-Routing-Gerätes zeigen;
  • Fig. 29 eine Veranschaulichung ist, die die Operation des Automatisches-Routing-Geräts zeigt;
  • Fig. 30 eine Veranschaulichung ist, die eine Operation des Automatisches-Routing-Geräts zeigt;
  • Fig. 31 eine Veranschaulichung ist, die eine Operation des Automatisches-Routing-Geräts zeigt;
  • Fig. 32(A) und 32(B) Veranschaulichungen sind, die die Operation des Automatisches-Routing-Geräts zeigen;
  • Fig. 33 eine Veranschaulichung ist, die eine allgemeine Automatisches-Routing-Technik zeigt;
  • Fig. 34 eine Veranschaulichung ist, die eine allgemeine Automatische-Plazierungs-Technik zeigt;
  • Fig. 35 eine Veranschaulichung ist, die ein allgemeines Leitungssuchverfahren zeigt; und
  • Fig. 36 eine Veranschaulichung ist, die ein Maschen verwendendes allgemeines Labyrinth- oder Maze-Verfahren zeigt.
  • (A) Überblick
  • Fig. 1 ist ein Blockdiagramm, das ein Verfahren zum Erzeugen eines Routing-Programms zeigt.
  • In Fig. 1 sind Bezugsziffern 10A bis 10Z darauf zu routende Objekte, auf denen geroutet oder Leiterbahnen trassiert werden sollen und welche verschiedene Routing- Entwurfsdaten aufweisen (Routing-Probleme basierend auf Entwurfsinformationen von Leiterplatten für verschiedene Systeme, die miteinander inkompatibel sind). Bezugsziffern 11A bis 11Z sind gemäß diesem Verfahren erzeugte Routing- Programme, von denen jedes eine Routing-Verarbeitungsprozedur entsprechend einem Routing-Problem eines entsprechenden gerouteten Objekts 10A-10Z beschreibt.
  • Gemäß dem in Fig. 1 gezeigten Programmerzeugungsverfahren wird, wenn eine Routing-Verarbeitungsprozedur auf der Basis vorbestimmter Routing-Entwurfsdaten zusammengesetzt wird, um ein Routing-Programm 11A-11Z zu erzeugen, die Routing-Verarbeitungsprozedur gebildet oder zusammengesetzt, indem ein Routing-Lösungsweg in einem Dialogmodus ausgewählt wird, während eine Routing-Effizienz von jedem verschiedener Routing-Probleme (die gerouteten Objekte 10A -10Z) ausgewertet wird, um das Routing-Programm 11A-11Z entsprechend den jeweiligen verschiedenen Routing-Problemen zu erzeugen.
  • Es ist möglich, den Routing-Lösungsweg in der Stufe eines Packungsentwurfs auf der Basis der vorbestimmten Routing-Entwurfsdaten auszuwählen, um ihn als Ergebnis des Montageentwurfs zusammenzusetzen. Es ist alternativ dazu möglich, den Routing-Lösungsweg vorher als mehrere Arten von Routing-Fundamentalfunktionen vorzubereiten.
  • Es ist ebenfalls möglich, die Routing-Verarbeitungsprozedur in einer Routing-Steuersprache zu bestimmen, wenn der Routing-Lösungsweg ausgewählt wird. In diesem Fall werden Informationen über geroutete Objekte, Informationen über geroutete Plätze oder Stellen, und Routing-Reihenfolge- Informationen als die Routing-Steuersprache bestimmt.
  • Fig. 2 ist ein Blockdiagramm, das ein Routing-Programm- Erzeugungsgerät zeigt.
  • In Fig. 2 bezeichnet Bezugsziffer 1 ein Routing- Programm-Erzeugungsgerät, um eine Routing-Verarbeitungsprozedur (Algorithmus) auf der Basis vorbestimmter Routing- Entwurfsdaten (Routing-Problem) zusammenzusetzen, um das Routing-Programm 11A-11Z (siehe Fig. 1) zu erzeugen. Das Routing-Programm-Erzeugungsgerät 1 ist mit einem Routing- Effizienz-Auswertungsmittel 2, einem Anzeigemittel 3 und einem Auswahlmittel 4 konfiguriert.
  • Das Routing-Effizienz-Auswertungsmittel 2 wertet die Routing-Effizienz gemäß dem Routing-Lösungsweg auf der Basis der vorbestimmten Routing-Entwurfsdaten aus. Das Anzeigemittel 3 zeigt ein Ergebnis einer Auswertung an, die von dem Routing-Effizienz-Auswertungsmittel 2 vorgenommen wurde. Das Auswahlmittel 4 wählt den Routing-Lösungsweg aus.
  • In dem Routing-Programm-Erzeugungsgerät 1 wählt das Auswahlmittel 4 den Routing-Lösungsweg in einem Dialogmodus aus, während auf die auf dem Anzeigemittel 3 angezeigten Ergebnisse der Auswertung durch das Routing-Effizienz- Auswertungsmittel 2 Bezug genommen wird, um die Routing- Verarbeitungsprozedur zusammenzusetzen, wodurch das Routing-Programm 11A-11Z (Verweis auf Fig. 1) erzeugt wird.
  • Es ist möglich, daß das Auswahlmittel 4 den Routing- Lösungsweg in der Stufe eines Packungsentwurfs basierend auf den vorbestimmten Routing-Entwurfsdaten auswählt, um die Routing-Verarbeitungsprozedur als Ergebnis des Packungsentwurfs zusammenzusetzen. Oder der oben erwähnte Routing-Lösungsweg wird vorher als mehrere Arten von Routing-Fundamentalfunktionen in dem Routing-Programm- Erzeugungsgerät 1 vorbereitet.
  • Ansonsten ist es möglich, ein Bezeichnungsmittel vorzusehen, das die Routing-Verarbeitungsprozedur in einer Routing-Steuersprache bezeichnet, wenn das Auswahlmittel 4 den Routing-Lösungsweg auswählt. In diesem Fall bezeichnet das Bezeichnungsmittel die Routing-Verarbeitungsprozedur durch Bezeichnen von Informationen über geroutete Objekte, Informationen über geroutete Stellen, Routing-Bedingungs-Informationen und Routing-Reihenfolge-Informationen als die Routing-Steuersprache.
  • In dem oben erwähnten Routing-Programm-Erzeugungsverfahren und -gerät, die in Fig. 1 und 2 dargestellt sind, wählt das Auswahlmittel 4 den Routing-Lösungsweg in einem Dialogmodus aus, während auf ein auf dem Anzeigemittel 3 angezeigtes Ergebnis der Auswertung, die vom Auswertungsmittel 2 vorgenommen wurde, Bezug genommen wird, um die Routing-Verarbeitungsprozedur so zusammenzusetzen, daß das kundenspezifische exklusive Routing-Programm 11A-11Z erzeugt wird, das die Routing-Verarbeitungsprozedur entsprechend jedem von verschiedenen Routing-Problemen der gerouteten Objekte 10A-10Z beschreibt.
  • Die Auswahl des Routing-Lösungsweges durch das Auswahlmittel 4 in der Stufe des Packungsentwurfs auf der Basis der vorbestimmten Routing-Entwurfsdaten ermöglicht, daß dies Routing-Verarbeitungsprozedur parallel mit dem Packungsentwurf zusammengesetzt wird und das kundenspezifische exklusive Routing-Programm 11A-11Z entsprechend jedem von verschiedenen Routing-Problemen des Routing-Objekts 10A-10Z gleichzeitig mit einem Entwurf der Packung erzeugt wird, ohne daß der Routing-Designer besondere Aufmerksamkeit aufbringt.
  • Die Vorbereitung der Art und Weise eines Routing als mehrere Arten von Routing-Fundamentalfunktionen vorher ermöglicht, daß das kundenspezifische exklusive Routing- Programm 11A-11Z einfach erzeugt wird, indem die Routing- Fundamentalfunktionen in Abhängigkeit einer individuellen Komponentenplazierung oder Spezifizierung der Entwurfsanforderungen ausgewählt und kombiniert werden.
  • Das Bezeichnungsmittel bezeichnet ferner die Routing- Verarbeitungsprozedur, indem eine Routing-Steuersprache bezeichnet wird [Informationen über geroutete Objekte (Wer), Informationen über geroutete Stellen (Wo), Routing- Bedingungs-Informationen (Wie) und Routing-Reihenfolge- Informationen (Wann)], wenn das Auswahlmittel 4 die Art und Weise eines Routing so auswählt, daß ein optimales Routing- Programm 11A-11Z für solch einen Bereich erzeugt werden kann, wo ein Routing besonders schwierig ist und ein automatisches Routing nicht ausgeführt werden kann, indem die Routing-Fundamentalfunktionen nur ausgewählt oder kombiniert werden.
  • Das Routing-Programm-Erzeugungsverfahren und -gerät wählen den Routing-Lösungsweg in einem Dialogmodus aus, während auf ein Ergebnis einer Auswertung Bezug genommen wird, um eine Routing-Verarbeitungsprozedur zu kombinieren, wodurch das exklusive Routing-Programm 11A-11Z erzeugt wird, das die Routing-Verarbeitungsprozedur entsprechend jedem von Routing-Problemen der gerouteten Objekte 10A- 10Z beschreibt, um ein automatisches Routing gemäß der Routing-Verarbeitungsprozedur durchzuführen. Dies ist effektiv, um eine optimale Lösung in einem automatischen Routing sogar unter harten Entwurfsbedingungen zu finden, die auferlegt werden, um Anforderungen wie z.B. Packung mit hoher Dichte und niedrige Kosten zu erfüllen, was zu einer Verbesserung in der Routing-Rate oder in der Leistungsfähigkeit eines elektronischen Computers beiträgt.
  • Der Route-Designer bildet die Routing-Verarbeitungsprozedur nicht nur direkt, sondern eine Routing-Verarbeitungsprozedur, die in der Routing-Steuersprache beschrieben ist, wird automatisch erzeugt, wenn eine Auswertung an der Komponentenplazierung im Packungsentwurf vorgenommen wird. Ohne Beachtung durch den Route-Designer kann die Routing- Verarbeitungsprozedur gleichzeitig mit einem Abschluß des Packungsentwurfs zusammengesetzt werden, und die für verschiedene Routing-Probleme kundenspezifizierten exklusiven Routing-Programme 11A-11Z können innerhalb einer extrem kurzen Zeitspanne erzeugt werden.
  • Da die Art und Weise eines Routing als mehrere Arten von Routing-Fundamentalfunktionen vorbereitet wird, ist es möglich, das exklusive Routing-Programm 11A-11Z ohne weiteres zu erzeugen, indem die Routing-Fundamentalfunktionen gemäß der individuellen Komponentenplazierung oder Entwurfs-Forderungsspezifizierung nur ausgewählt und kombiniert werden.
  • Bei Auswahl der Art und Weise eines Routing wird eine Routing-Steuersprache (Informationen über geroutete Objekte, Informationen über geroutete Stellen, Routing- Bedingungs-Informationen, Routing-Reihenfolge-Informationen) bezeichnet, um eine Routing-Verarbeitungsprozedur so zu bezeichnen, daß ein optimales Routing-Programm 11A- 11Z für einen Bereich erzeugt werden kann, wo ein Routing sehr schwierig ist und ein automatisches Routing allein durch Auswahl und Kombination der Routing-Fundamentalfunktionen unmöglich ist.
  • (B) Beschreibung eines Beispiels eines Routing- Programm-Erzeugungsverfahrens
  • Fig. 7 ist ein Blockdiagramm eines Beispiels eines Routing-Programm-Erzeugungsgeräts.
  • In Fig. 7 bildet das Routing-Programm-Erzeugungsgerät 31 eine Routing-Verarbeitungsprozedur (Algorithmus) auf der Basis vorbestimmter Routing-Entwurfsdaten (Routing- Problem), um ein Automatisches-Routing-Programm zu erzeugen (siehe Bezugsziffern 41A-41Z in Fig. 15). Das Routing- Programm-Erzeugungsgerät 31 weist eine Routing-Effizienz- Auswertungseinheit 32, eine Anzeigeeinheit 33, eine Auswahleinheit 34, eine Bezeichnungseinheit 35 und eine Speichereinheit 36 auf.
  • Die Routing-Effizienz-Auswertungseinheit 32 wertet eine Routing-Effizienz entsprechend einem Routing-Lösungsweg auf der Basis vorbestimmter Routing-Entwurfsdaten aus. Die Anzeigeeinheit 33 zeigt ein Ergebnis einer von der Routing- Effizienz-Auswertungseinheit 32 vorgenommenen Auswertung an. Die Auswahleinheit 34 wählt den Routing-Lösungsweg (Routing-Fundamentalfunktionen) aus. In dieser Ausführung wird vorher in der Speichereinheit 36 der Routing- Lösungsweg (z.B. allgemeines Routing, Stromquellenrouting, Routing mit spezifizierten Längen, Einschicht-Routing, Mehrschicht-Routing, Bündel-Routing, etc.) als mehrere Arten von Routing-Fundamentalfunktionen vorbereitet.
  • Die Bezeichnungseinheit 35 bezeichnet die Routing- Verarbeitungsprozedur durch Bezeichnen von 3W1H, d.h. Informationen über geroutete Objekte (Wer), Informationen über geroutete Stellen (Wo), Routing-Bedingungs-Informationen (Wie) und Routing-Reihenfolge-Informationen (Wann) als Routing-Steuersprache, wenn die Auswahleinheit 34 den Routing-Lösungsweg auswählt.
  • In dem Routing-Programm-Erzeugungsgerät 31 wählt der Designer (Bediener) über die Auswahleinheit 34 den Routing- Lösungsweg aus oder bezeichnet die Informationen über geroutete Objekte (Wer), die Informationen über geroutete Stellen (Wo), die Routing-Bedingungs-Informationen (Wie) und die Routing-Reihenfolge-Informationen (Wann) als die Routing-Steuersprache über die Bezeichnungseinheit 35 in einem Dialogmodus, während auf ein auf der Anzeigeeinheit 33 angezeigtes Ergebnis der von der Routing-Effizienz- Auswertungseinheit 32 vorgenommenen Auswertung Bezug genommen, um die Routing-Verarbeitungsprozedur zusammenzusetzen, während sie als Ergebnis eines Grundrisses gespeichert wird, in einer Phase des Packungsentwurfs (Grundriß) basierend auf vorbestimmten Routing-Entwurfsdaten, um so das Automatisches-Routing-Programm (siehe Bezugsziffern 41A-41Z in Fig. 13) zu erzeugen, wie später unter Bezugnahme Fig. 8 und 9 beschrieben wird.
  • Das Routing-Programm-Erzeugungsgerät 31, das oben erwähnt wurde, wird mit einem allgemeinen Personalcomputer oder dergleichen realisiert. Die Anzeigeeinheit 33, die oben erwähnt wurde, wird mit einer Anzeige wie z.B. einer CRT oder dergleichen realisiert, und die Auswahleinheit 34 und die Bezeichnungseinheit 35 werden mit einer Tastatur realisiert, die Speichereinheit 36 wird mit einem RAM, ROM oder dergleichen realisiert, und die Routing-Effizienz- Auswertungseinheit 32 wird mit einer Operation einer CPU gemäß einem in einem ROM oder dergleichen gespeicherten Programm realisiert.
  • Ein Routing-Programm-Erzeugungsverfahren, das in dem Routing-Programm-Erzeugungsgerät 31 mit der obigen Konfiguration ausgeführt wird, wird als nächstes unter Bezugnahme auf die Flußdiagramme in Fig. 8 und 9 und Fig. 10 bis 15 beschrieben.
  • Wenn die Routing-Entwurfsdaten (ein Routing-Problem, eine Netzliste) gegeben sind, (Schritt S11 in Fig. 8) wird die Routing-Steuersprache gespeichert, um die Routing- Verarbeitungsprozedur (Algorithmus) im Verlauf einer Verarbeitung eines Grundrisses basierend auf den Routing- Entwurfsdaten wie folgt zusammenzusetzen (Schritte S12 bis S17 in Fig. 8).
  • Falls das Objekt, auf dem geroutet werden soll oder Leiterbahnen trassiert werden sollen, eine Leiterplatte ist (siehe Bezugsziffern 40A-40Z in Fig. 13), wird eine anfängliche Plazierung von Komponenten auf der Basis der Routing-Entwurfsdaten ausgeführt (Schritt S12 in Fig. 8), wird eine geroutete Fläche in Blöcke geteilt (Schritt S13 in Fig. 8). Während eine Entwurfsauswertung an verschiedenen Parametern (Grad einer Routenverdichtung oder -häufung, eine Substratfläche, eine erforderliche Zahl von Schichten, eine Verzögerungszeit, Wärmeverteilung, etc.) vorgenommen wird (Schritt S14 in Fig. 8), werden danach eine Änderung in einer Komponentenplazierung (Schritt S12 in Fig. 8) und das Blockieren oder Sperren der gerouteten Fläche (Schritt S13 in Fig. 8) wiederholt, um die Plazierung verschiedener Komponenten zu verbessern, um eine optimale Entwurfsauswertung zu erhalten.
  • Im Verlauf solch eines Prozesses zur Plazierungsverbesserung bei der Grundplanung ermöglicht diese Technik, eine Routing-Verarbeitungsprozedur (Algorithmus) für das gesamte trassierte Substrat (Leiterplatte) zusammenzusetzen (zu programmieren), während der Grundriß gebildet wird, indem ein Lösungsweg (Tool oder Programmierwerkzeug), das für die Bedingung am geeignetsten ist, unter Programmierwerkzeugen (Routing-Fundamentalfunktionen) ausgewählt wird, die verschiedenen Routing-Lösungswegen entsprechen, die vorher für ein geroutetes Netz oder eine geroutete Gruppe vorbereitet wurden, die in Schritt S13 blockiert worden ist, oder indem das Routing oder die Plazierung der Komponenten, die mit dem oben erwähnten 3W1H (Routing-Steuersprache) bezeichnet wurde, für einen gegebenen Bereich geändert wird, wo das Routing schwierig ist (Schritt S15 in Fig. 8).
  • Die Prozeß bei Schritt S15 wird hier bezugnehmend auf Fig. 9 ausführlicher beschrieben. Wenn die Auswahleinheit 34 den Routing-Lösungsweg (Routing-Fundamentalfunktionen) auswählt (Schritt S31), wertet die Routing-Effizienz- Auswertungseinheit 32 die Routing-Effizienz des Routing- Lösungsweges aus, der durch die Auswahleinheit 34 ausgewählt worden ist (Schritt S32).
  • Ein Ergebnis der von der Routing-Effizienz-Auswertungseinheit 32 vorgenommenen Auswertung wird beurteilt (Schritt: S33). Falls das Ergebnis annehmbar ist, geht die Prozedur zu Schritt S16 in Fig. 8 weiter. Falls das Ergebnis nicht annehmbar ist, wird eine Beurteilung diesbezüglich vorgenommen, ob es notwendig ist, die Komponentenplazierung zu ändern (Schritt S35).
  • Falls die Änderung in der Komponentenplazierung oder -bestückung notwendig ist, kehrt die Prozedur zum oben beschriebenen Schritt S12 in Fig. 8 zurück (Schritt S36).
  • Falls die Änderung nicht notwendig ist, bezeichnet die Bezeichnungseinheit 35 3W1H (Routing-Steuersprache), um das Routing zu ändern, oder die Auswahleinheit 34 führt eine Änderung in der Auswahl und Kombination des Routing- Lösungsweges (Routing-Fundamentalfunktionen) aus (Schritt S37).
  • In einer allgemeinen Automatisches-Routing-Technik werden auf der Basis eines Routing-Knowhows der Vergangenheit 3W1H eingerichtet (programmiert) [Informationen über geroutete Objekte (Wer): welche Netzgruppe, Informationen über geroutete Stellen (Wo): in welcher Schicht oder welchem Bereich; Routing-Bedingungs-Informationen (Wie): unter welchen Routing-Bedingungen; Routing-Reihenfolge-Informationen (Wann): in welcher Reihenfolge]. Es gibt jedoch einige Fälle in speziellen Leiterplatten, wo die obige festgelegte Anordnung kein optimales Ergebnis ergibt.
  • Gemäß dieser Technik gestattet eine Bezeichnung des obigen 3W1H durch die Bezeichnungseinheit 35 eine einfache Änderung im Routing, so daß eine optimale Neuanordnung in Abhängigkeit von einer Eigenschaft jeder Leiterplatte (siehe Bezugsziffern 40A-40Z in Fig. 13) verfügbar ist. Konkreter wird die allgemeine Automatisches-Routing-Technik vorher in 3W1H eingebaut, dessen Inhalte nur Datenelemente sind, die nicht auf den Inhalten einzelner Routing- Entwurfsdaten beruhen. Diese Technik ermöglicht jedoch eine Bezeichnung und Änderung mit 3W1H sogar in den Informationen, die auf Inhalten der einzelnen Routing-Entwurfsdaten beruhen, um ein optimales Ergebnis des Routing leicht zu erzielen.
  • Praktische Inhalte (Datenelemente) von 3W1H, das durch die Bezeichnungseinheit 35 bezeichnet wird, lauten wie folgt:
  • (a) bezeichnete Datenelemente Wer (Informationen über geroutete Objekte: Wer: welche Netzgruppe):
  • - Netzname;
  • - ein Teil eines Netznamens;
  • - mehrere Netze;
  • - Seite in der Schaltungseinheit;
  • - Bezeichnung eines spezifischen Blocks im Schaltungsdiagramm;
  • - Name einer Packungsposition einer auf der Leiterplatte getragenen Komponente;
  • - Typen von Komponenten, die auf einem Teil der Leiterplatte mit dem Namen der Packungsposition der auf der Leiterplatte getragenen Komponente (LSI, Widerstand, Verbinder, etc.) getragen werden;
  • - Formen von Komponenten, die auf der Leiterplatte getragen werden (QFP, SOP, DIP, etc.);
  • - Anzahl von Pins oder Stiften der Komponenten, die auf der Leiterplatte getragen werden (2 Stifte, 16 Stifte, 256 Stifte, etc.);
  • - Positionen (Koordinaten) der Komponentenstifte, die auf der Leiterplatte getragen werden;
  • - die Zahl von Signalstiften, die zu einem Netz gehören;
  • - Netz(e), das (die) zu einem Bereich einer Leitungslänge auf einer logischen Leitungslängenbasis gehört (gehören);
  • - Attribute von Signalen (z.B. Taktsystem, allgemeines Signalsystem, Testsignalsystem, etc.);
  • - Routing-Beschränkung (z.B. ein Routing mit bezeichneteter Länge, Bezeichnung von Routing-Schichten, etc.);
  • (b) bezeichnete Datenelemente Wo (Informationen über geroutete Plätze oder Stellen: Wo: in welcher Schicht oder in welchem Bereich)
  • - geroutete Schicht;
  • - routbarer oder trassierbarer Bereich;
  • - für Routing verbotener Bereich;
  • (c) bezeichnete Datenelemente Wie (Routing-Bedingungs- Informationen: Wie: unter welchen Bedingungen)
  • - Länge einer Kurve oder eines Verlaufs (roundabout);
  • - falls eine maximale Leitungslänge bezeichnet ist, innerhalb der maximalen Leitungslänge;
  • - falls eine minimale Leitungslänge bezeichnet ist, innerhalb eines Bereichs, der nicht geringer als die minimale Leitungslänge ist;
  • - falls eine maximale Leitungslänge und eine minimale Leitungslänge bezeichnet sind, innerhalb eines Bereichs dieser Leitungslängen;
  • (d) Wann (Routing-Reihenfolge-Informationen: Wann: in welcher Reihenfolge)
  • die Reihenfolge, in der die in Wer bezeichneten Netzgruppen erscheinen.
  • Gemäß dieser Technik ist es möglich, alle Datenelemente des obigen 3W1H durch die Bezeichnungseinheit 35 unabhängig zu bezeichnen. Es ist auch möglich, mehreren der Datenelemente eine ODER-Bedingung oder UND-Bedingung aufzuerlegen. Daher macht diese Technik eine Bezeichnung einer Routing- Verarbeitungsprozedur für jede mögliche Entwurfsbedingung am geeignetsten.
  • Diese Technik hat keine besondere Beschränkung auf die Anordnung der Informationen über geroutete Objekte (Wer), der Informationen über geroutete Stellen (Wo) und der Routing-Bedingungs-Informationen (Wie), die durch die Bezeichnungseinheit 35 bezeichnet werden, was eine Routing- Verarbeitungsprozedur für jede mögliche Entwurfsinformation ebenfalls am geeignetsten macht.
  • Fig. 10 bis 12 zeigen praktische Beispiele einer Bezeichnung der Informationen über geroutete Objekte (Wer), der Informationen über geroutete Stellen (Wo), und Routing- Bedingungs-Informationen (Wie), worin die Routing-Reihenfolge-Informationen (Wann) als die Reihenfolge des Erscheinens der in den Informationen über geroutete Objekte (Wer) bezeichneten Netzgruppen bezeichnet ist.
  • In einem in Fig. 10 gezeigten Beispiel einer Bezeichnung wird die Bezeichnung in der Reihenfolge der Informationen über geroutete Objekte (Wer), der Informationen über geroutete Stellen (Wo) und der Routing-Bedingungs-Informationen (Wie) vorgenommen. Dies ist ein Beispiel einer Routing-Anforderung, bei der den Informationen über geroutete Objekte oberste Priorität gegeben ist. Dieses Beispiel ist eine Entwurfsanforderung, die eine Betonung oder das Gewicht darauf legt, das Netz im Taktsystem vor dem allgemeinen Signalsystem zu vervollständigen, und ist eine Routing- Verarbeitungsprozedur, die diese Anforderung auch erfüllt.
  • In einem in Fig. 11 gezeigten Beispiel einer Bezeichnung wird eine Bezeichnung in der Reihenfolge der Routing- Bedingungs-Informationen (Wie), der Informationen über geroutete Objekte (Wer), der Informationen über geroutete Stellen (Wo) vorgenommen. Dies ist ein Beispiel einer Routing-Anforderung, bei der den Routing-Bedingungs- Informationen (Wie) oberste Priorität gegeben ist. In diesem Beispiel ist eine Routing-Anforderung dargestellt, um die Kurve (roundabout) strenger zu begrenzen, um eine Vielfalt oder Differenz zwischen einer logischen Leitungslänge und einer tatsächlichen Leitungslänge zu vermeiden, um das Routing in der Reihenfolge von den Netzen im Taktsignal zu den Netzen im allgemeinen Signalsystem zu implementieren und diese Kurvenbegrenzung zu vereinfachen, falls auf irgendeine Weise ein nicht gerouteter Teil übrig bleibt, und ist eine Routing-Verarbeitungsprozedur, die diese Anforderung auch erfüllt.
  • Ein Beispiel einer Bezeichnung in Fig. 12 repräsentiert eine Routing-Anforderung, bei der die Bezeichnung in der Reihenfolge der Informationen über geroutete Stellen (Wo), die Routing-Bedingungs-Informationen (Wie) und der Informationen über geroutete Objekte (Wer) vorgenommen wird und der Information über geroutete Stellen (Wo) oberste Priorität gegeben ist. Dieses Beispiel ist eine Entwurfsanforderung, bei der die Oberflächenschicht bevorzugt verwendet wird und die innere Schicht nur für einen nicht gerouteten oder trassierten Teil verwendet wird, und ist eine Routing- Verarbeitungsprozedur, die diese Anforderung genauso erfüllt.
  • Als eine Kombination in den Routing-Verarbeitungsprozeduren werden die Routing-Reihenfolge-Informationen den Informationen über geroutete Stellen (Wo), den Routing- Reihenfolge-Informationen (Wie) und den Informationen über geroutete Objekte (Wer) hinzugefügt. Falls eine ODER- Bedingung und UND-Bedingung für jedes Datenelement festgelegt werden (z.B. 15 Typen in Wer, wie oben erwähnt wurde), ist die Zahl der Kombinationen unendlich.
  • Im Gegensatz zur allgemeinen Automatisches-Routing- Technik, in der das Routing in nur wenigen festgelegten Prozeduren aus der unendlichen Anzahl von Kombinationen ausgeführt wird, ermöglicht diese Technik eine flexible Kombination in der Routing-Verarbeitungsprozedur gemäß verschiedenen Arten von Routing-Entwurfsdaten, indem 3W1H durch die Bezeichnungseinheit 35 bezeichnet wird, folglich ein Automatisches-Routing-Programm, das für jede Entwurfsanforderung am geeignetsten ist (siehe Bezugsziffern 41A- 41Z in Fig. 13).
  • Nach Implementierung oder Ausführung der Komponentenplazierung bei Schritt S12, der Bezeichnung grober oder ungefährer Routen (Blockieren) bei Schritt S13 und der Auswahl des Routing-Lösungsweges bei Schritt S15, während verifiziert wird, daß jeder von verschiedenen Parametern innerhalb seines eigenen annehmbaren Bereichs der Entwurfsauswertung bei Schritt S14 liegt, wie oben beschrieben wurde, werden Routing-Parameter (Leitungslänge, Typ der Leitung, etc.) gemäß der Spezifizierung der Entwurfsanforderungen (Routing-Entwurfsdaten) festgelegt (Schritt S16 in Fig. 8), und im obigen Grundriß gespeicherte Ergebnisse werden als Routing-Verarbeitungsprozedur (Algorithmus) zusammengesetzt (Schritt S17 in Fig. 8). Danach geht die Prozedur weiter zu einer folgenden Routing-Entwurfsphase.
  • In dem Routing-Programm-Erzeugungsgerät 31 wird ein Routing-Lösungsweg in einem Dialogmodus im Verlauf eines Fortgangs des Grundrisses gemäß der oben beschriebenen Prozedur bis zum in Fig. 8 dargestellten Schritt S17 ausgewählt, während jede Routing-Effizienz ausgewertet wird. Zum Beispiel wird eine in einer Routing-Steuersprache beschriebene Routing-Verarbeitungsprozedur (Algorithmus) 42A-42Z für jede von verschiedenen Leiterplatten 40A-40Z zusammengesetzt, um ein Automatisches-Routing-Programm 41A-41Z entsprechend jedem von verschiedenen Routing-Problemen zu erzeugen, um das Routing gemäß der Routing-Verarbeitungsprozedur 42A-42Z auszuführen, wie in Fig. 13 gezeigt ist.
  • In Fig. 13 weisen die Leiterplatten 40A-40Z Routing- Entwurfsdaten auf, die voneinander verschieden sind (Probleme, die auf einer Entwurfsinformation verschiedener Systeme basieren, die miteinander inkompatibel sind).
  • In dem Routing-Programm-Erzeugungsgerät 31 gibt es eine Phase, um die Routing-Verarbeitungsprozedur 42A-42Z in einer Routing-Steuersprache für jede der verschiedenen Leiterplatten 40A-40Z zu beschreiben (siehe Schritte S11- S17 in Fig. 8), und eine Phase, um ein Automatisches- Routing-Programm 41A-41Z gemäß der Routing-Verarbeitungsprozedur 42A-42Z zu erzeugen, die in ihrer Routing- Steuersprache beschrieben ist, und um ein automatisches Routing auszuführen (Schritte S18-S21 in Fig. 8), wie in Fig. 13 gezeigt ist.
  • Gemäß dieser Technik wird jede der Routing-Verarbeitungsprozeduren 42A-42A, die in der im Prozeß des Grundrisses automatisch erzeugten Routing-Steuersprache ausgedrückt sind, an einen maßgeschneiderten Router 43 (ein bestimmtes Programm) gegeben, so daß ein Automatisches- Routing-Programm 41A-41Z, das für eine individuelle Entwurfsanforderung am geeignetsten ist, erzeugt werden kann, indem in einem Unterprogramm 44 (Speichereinheit 36) gespeicherte Routing-Fundamentalfunktionen ausgelesen werden und auf diese verwiesen wird, um ein automatisches Routing auszuführen, wie in Fig. 14 und 15 dargestellt ist.
  • Der oben erwähnte maßgeschneiderte Router 43 hat funktionell, wie in Fig. 15 gezeigt ist, eine Sprachinterpretiereinheit 45, eine Routing-Steuerung-Ausführungseinheit 46, eine Dateneinstelleinheit 47, eine Routing-Fundamentalfunktionen lesende Einheit 48, eine Routing-Ausführungseinheit 49 und eine Datenschreibeinheit 50.
  • Die Sprachinterpretiereinheit 45 interpretiert (übersetzt) die Routing-Steuersprache, die jede der Routing- Verarbeitungsprozeduren 42A-42Z ausdrückt, um repetitive Daten der kleinsten Einheiten der Informationen über geroutete Objekte (Wer), der Informationen über geroutete Stellen (Wo) und der Routing-Bedingungs-Informationen (Wie) zu bilden.
  • Die Routing-Steuerungs-Ausführungseinheit 46 führt die Steuerung auf der Basis der repetitiven Daten von der Sprachinterpretiereinheit 45 mit einer DO-Anweisung von Eins bis zum maximalen Wert (max) aus.
  • Die Dateneinstelleinheit 47 wird durch die Routing- Steuerungs-Ausführungseinheit 46 aktiviert, um sukzessiv die repetitiven Daten einzustellen.
  • Die Routing-Fundamentalfunktionen lesende Einheit 48 wählt Routing-Fundamentalfunktionen entsprechend den durch die Dateneinstelleinheit 47 sukzessiv eingestellten repetitiven Daten aus dem Unterprogramm 44 aus, um sie auszulesen.
  • Die Routing-Ausführungseinheit 49 führt ein automatisches Routing auf der Basis der Routing-Fundamentalfunktion aus, die durch die Routing-Fundamentalfunktionen lesende Einheit 48 ausgelesen wurden.
  • Die Datenschreibeinheit 50 schreibt Daten, die durch die Routing-Steuerungs-Ausführungseinheit 46 ausgeführt wurden, in eine (nicht dargestellte) Routing-Datenbank.
  • Der maßgeschneiderte Router 43 mit der obigen Konfiguration erzeugt das Automatisches-Routing-Programm 41A-41Z in einer Ausführen-Form (Schritt S20 in Fig. 8), während die Sprachinterpretiereinheit 45 die Routing-Steuersprache interpretiert, die jede der Routing-Verarbeitungsprozeduren 41A-42Z ausdrückt (Schritt S19 in Fig. 8), und die Routing-Steuerungs-Ausführungseinheit 46, die Dateneinstelleinheit 47, die Routing-Fundamentalfunktionen lesende Einheit 48 und die Routing-Ausführungseinheit 49 führen ein automatisches Routing gemäß einer interpretierten Bezeichnung aus (Schritt S21 in Fig. 8).
  • Der oben erwähnte maßgeschneiderte Router 43 kann verschiedenen Typen von Leiterplatten 40A-40Z entsprechen, die durch Verwenden des gleichen Programms geroutet werden sollen. Gemäß dieser Technik muß für jede Leiterplatte 40A -40Z nur die in der Routing-Steuersprache beschriebene Routing-Verarbeitungsprozedur 42A-42Z gebildet werden.
  • In der Technik eines allgemeinen automatischen Routing geht die Prozedur direkt von der Komponentenplazierung bei Schritt S12 zur Ausführung des Routing bei Schritt S21, wenn der Prozeß von einer Phase des Packungsentwurfs in eine Phase des Routing-Entwurfs eintritt, wie durch eine doppelt punktierte gestrichelte Linie L1 in Fig. 8 angegeben ist. Dies bedeutet, dass der Entwurf eines automatischen Routing ohne Garantie für die Routing-Effizienz (Grundriß) ausgeführt wird. Gemäß dieser Technik wird die Routing- Steuersprache auf der Basis einer Information, daß die Garantie für die Routing-Effizienz sichergestellt ist, wie bei Schritten S12 bis S17 in Fig. 8 beschrieben ausgedrückt und gespeichert, und dadurch wird das automatische Routing ausgeführt. Folglich ist es möglich, ein Ergebnis des Routing zu erhalten, das für die Spezifizierung der Entwurfsanforderungen (Routing-Entwurfsdaten, Routing-Problem) geeignet ist.
  • Das Routing-Programm-Erzeugungsverfahren und -gerät, die oben beschrieben wurden, ermöglichen eine Erzeugung der individuellen (exklusiven) Automatisches-Routing-Programme 41A-41Z, die jeweils kundenspezifisch sind und eine Routing-Verarbeitungsprozedur entsprechend jedem von verschiedenen Routing-Problemen der Leiterplatten 40A-40Z beschreiben, wodurch auf der Basis aller Automatisches- Routing-Programme 41A-41Z ein automatisches Routing ausgeführt werden kann. Dies macht es möglich, eine optimale Lösung in einem automatischen Routing sicher und mit hoher Geschwindigkeit sogar unter harten Entwurfsbedingungen herauszufinden, die auferlegt werden, um Anforderungen nach einer Montage bei hoher Dichte und niedrigen Kosten zu erfüllen, um die Routing-Effizienz weitgehend zu verbessern und um ferner zu einer Verbesserung in der Leistungsfähigkeit eines elektronischen Computers beizutragen.
  • Gemäß dieser Technik bildet der Routing-Designer die Routing-Steuersprache (Routing-Verarbeitungsprozedur) nicht direkt, sondern wenn eine Auswertung an der Komponentenplazierung bei der Erstellung des Grundrisses (Packungsentwurf) vorgenommen wird, wird die in der Routing-Steuersprache beschriebene Routing-Verarbeitungsprozedur 42A- 42Z (als Ergebnis) automatisch erzeugt. Folglich ist es möglich, die Routing-Verarbeitungsprozedur 42A-42Z gleichzeitig mit Abschluß des Grundrisses ohne besondere Beachtung durch den Routing-Designer zusammenzusetzen und das Automatisches-Routing-Programm 41A-41Z, das für jedes von verschiedenen Routing-Problemen exklusiv und zugeschnitten ist, innerhalb einer extrem kurzen Zeitspanne zu erzeugen, indem nur die Routing-Verarbeitungsprozedur in den maßgeschneiderten Router 43 eingegeben wird.
  • Ferner wird der Routing-Lösungsweg vorher als mehrere Arten von Routing-Fundamentalfunktionen in der Speichereinheit 36 vorbereitet, so daß das kundenspezifische oder zugeschnittene exklusive Automatisches-Routing-Programm 41A- 41Z leicht und vorteilhaft erzeugt werden kann, indem nur die Routing-Fundamentalfunktionen in Abhängigkeit von einer individuellen Komponentenplazierung oder Spezifizierung der Entwurfsanforderungen ausgewählt und kombiniert werden.
  • Wenn die Auswahleinheit 34 den Routing-Lösungsweg auswählt, bezeichnet ferner noch die Bezeichnungseinheit 35 die Routing-Steuersprache [Informationen über geroutete Objekte (Wer), Informationen über geroutete Stellen (Wo), Routing-Bedingungs-Informationen (Wie), Routing-Reihenfolge-Informationen (Wann)], um eine Routing-Verarbeitungsprozedur zu bezeichnen. Dies macht es möglich, ein optimales Automatisches-Routing-Programm 41A-41Z in vorteilhafter Weise für einen Bereich zu erzeugen, der besonders schwierig zu routen oder mit Leiterbahnen zu trassieren ist und in welchem ein automatisches Routing allein durch Auswählen und Kombinieren der Routing-Fundamentalfunktionen schwierig ist.
  • (C) Beschreibung von Modifikationen des Routing- Programm-Erzeugungsverfahrens
  • Im obigen ersten Beispiel wird die Routing-Steuersprache, die während der Erstellung des Grundrisses gespeichert wird, wie sie ist als die Routing-Verarbeitungsprozedur (Algorithmus) 42A-42Z verwendet, und die Sprachinterpretiereinheit 45 im maßgeschneiderten Router 43 interpretiert sie jedesmal, um das Automatisches-Routing- Programm 41A-41Z in einer Ausführen-Form zu bilden, die in Verbindung mit Fig. 14 und 15 beschrieben ist. In dem Routing-Programm-Erzeugungsgerät 31 ist es auch möglich, das Automatisches-Routing-Programm 41A-41Z in einer Ausführen-Form auf der Basis der Routing-Steuersprache zu bilden, die während der Erstellung des Grundrisses durch Mittel wie unten beschrieben, dargestellt in Fig. 16 bis 19, zu bilden.
  • In einem in Fig. 16 und 17 gezeigten Beispiel interpretiert beispielsweise ein Sprachumwandlungsprogramm 51 vorher die Routing-Verarbeitungsprozedur 42A-42Z, die in der Steuersprache beschrieben ist, um sie in eine Liste von Routing-Anweisungen umzuwandeln, um zwei Punkte zu routen (Informationen, die Koordinaten der beiden Punkte und Routing-Bedingungen enthalten), d.h. repetitive Daten (Routing-Befehlssequenz) der kleinsten Einheit der Routing- Objektinformationen (Wer), der Informationen über geroutete Stellen (Wo) und der Routing-Bedingungs-Informationen (Wie), so daß das Automatisches-Routing-Programm 41A-41Z ein Routing zwischen den beiden Punkten wie angewiesen ausführt.
  • In Fig. 16 und 17 bezeichnet Bezugsziffer 52 eine Speichereinheit, die die repetitiven Daten speichert, die durch das Sprachumwandlungsprogramm 51 umgewandelt wurden, und 53 bezeichnet einen maßgeschneiderten Router (ein bestimmtes Programm), das ein automatisches Routing auf der Basis der in der Speichereinheit 52 gespeicherten repetitiven Daten tatsächlich ausführt.
  • Der maßgeschneiderte Router 53 weist funktional, wie in Fig. 17 gezeigt ist, eine Routing-Steuerungs-Ausführungseinheit 46, eine Dateneinstelleinheit 47, eine Routing- Fundamentalfunktionen lesende Einheit 48, eine Routing- Ausführungseinheit 49 und eine Datenschreibeinheit 50 auf, die im wesentlichen dieselben wie diejenigen in Fig. 15 sind, worin die in dem Unterprogramm 44 (Speichereinheit 36) gespeicherten Routing-Fundamentalfunktionen auf der Basis der repetitiven Daten (Routing-Befehlssequenz) in der Speichereinheit 52 ausgelesen werden und auf diese Bezug genommen wird, wodurch ein Automatisches-Routing-Programm 41A-41Z erzeugt wird, das für individuelle Entwurfsanforderungen am geeignetsten ist, um ein automatisches Routing auszuführen.
  • Mit anderen Worten interpretiert in dem in Fig. 16 und 17 gezeigten Beispiel das Sprachumwandlungsprogramm 51 die Routing-Steuersprache, die die Routing-Verarbeitungsprozedur 42A-42Z ausdrückt, um sie in Routing-Befehlssequenzen umzuwandeln, wodurch der maßgeschneiderte Router 53 das Automatisches-Routing-Programm 41A-41Z in einer Ausführen- Form direkt aus den Routing-Befehlssequenzen erzeugen kann.
  • Der maßgeschneiderte Router 53 benötigt nicht die Sprachinterpretiereinheit 45, wie sie im in Fig. 15 gezeigten maßgeschneiderten Router 43 vorgesehen ist, sondern kann unter Verwendung eines extrem einfachen Programms, das nur ein automatisches Routing gemäß einer Routing-Anweisung für jede einzelne Sektion ausführt, damit zurechtkommen. In dem in Fig. 16 und 17 gezeigten Beispiel muß für jede Leiterplatte 40A-40Z nur die in der Routing-Steuersprache beschriebene Routing-Verarbeitungsprozedur 42A-42Z gebildet werden.
  • In einem in Fig. 18 gezeigten Beispiel wird die Routing-Verarbeitungsprozedur 42A-42Z in einer Routing- Steuersprache wie z.B. der Sprache C gemäß einer Standardsprachspezifizierung auf dem technischen Gebiet beschrieben, um ein Automatisches-Routing-Programm 41A-41Z zu bilden.
  • Konkreter führt in Fig. 18 das Automatisches-Routing- Programm 41A-41Z ein automatisches Routing gemäß der Routing-Verarbeitungsprozedur 42A-42Z aus, wie in der Standardsprache auf dem Gebiet der Technik wie z.B. der Sprache C beschrieben, einschließlich einer C-Kompilierer/ Verknüpfungseinheit 54, welche Daten interpretiert, die in der Standardsprache auf dem Gebiet der Technik wie z.B. der Sprache C geschrieben sind, um sie mit Routing-Fundamentalfunktionen in einer Teilbibliothek 55 zu verknüpfen. Über die C-Kompilierer/Verknüpfungseinheit 54 wird ein in jeder Routing-Steuersprache existierender reiner oder absolut (sheer) maßgeschneiderte Router 56 verfügbar.
  • In dem in Fig. 18 gezeigten Beispiel sind, falls die zu routenden Leiterplatten 40A-40Z von verschiedenen Typen sind, die C-Kompilierer/Verknüpfungseinheit 54 und die Teilbibliothek 55 dieselben. Für jede Leiterplatte 40A- 40Z muß nur die in der Sprache C beschriebene Routing- Verarbeitungsprozedur 42A-42Z gebildet werden, und der maßgeschneiderte Router 56 wird dadurch automatisch erzeugt.
  • In einem in Fig. 19 gezeigten Beispiel interpretiert ein Sprachumwandlungsprogramm 57 vorher die Routing- Steuersprache, die die Routing-Verarbeitungsprozedur 42A- 42Z beschreibt, wandelt sie automatisch in die Standardsprachspezifizierung auf dem Gebiet der Technik wie z.B. die Sprache C um, um so auf der Basis seines Quellcodes das Automatisches-Routing-Programm 41A-41Z zu bilden.
  • Konkreter weist das Automatisches-Routing-Programm 41A -41Z in Fig. 19 ein Sprachumwandlungsprogramm 57 auf, das die die Routing-Verarbeitungsprozedur 42A-42B beschreibende Routing-Steuersprache in eine Standard-Sprachspezifikation auf dem Gebiet der Technik wie z.B. die Sprache C umwandelt, und führt ein automatisches Routing gemäß einer Routing-Verarbeitungsprozedur 58 aus, die in der Routing- Steuersprache in Übereinstimmung mit der Sprache C oder dergleichen beschrieben ist, die durch das Sprachumwandlungsprogramm 57 erhalten wird.
  • Eine C-Kompilierer/Verknüpfungseinheit 54 und eine Teilbibliothek 55 ähnlich den in Fig. 18 gezeigten sind ebenfalls vorgesehen, um einen reinen (sheer) maßgeschneiderten Router 59 effektiv auszuführen, der in jeder Routing-Steuersprache über die C-Kompilierer/Verknüpfungseinheit 54 existiert.
  • In dem in Fig. 19 gezeigten Beispiel sind, falls die zu routenden Leiterplatten 40A-40Z von verschiedenen Typen sind, das Sprachumwandlungsprogramm 57, die C-Kompilierer/Verknüpfungseinheit 54 und die Teilbibliothek dieselben. Für jede Leiterplatte 40A-40Z muß nur eine in der Sprache C beschriebene Routing-Verarbeitungsprozedur 42A, 42Z gebildet werden, und der maßgeschneiderte Router 59 wird dadurch automatisch erzeugt.
  • Nachdem vier Typen von Prozeduren beschrieben worden sind, um das Automatisches-Routing-Programm 41A-41Z in einer Ausführen-Form aus der Routing-Steuerprozedur 42A- 42Z zu bilden, die in der Routing-Steuersprache beschrieben ist, siehe Fig. 14 bis 19, sind in Fig. 20(A) bis 20(D) zum Zwecke der Veranschaulichung fundamentale Verarbeitungsprozeduren für jedes der Mittel zusammen dargestellt.
  • Fig. 20(A) entspricht den in Fig. 14 und 15 gezeigten Mitteln, 20(B) den in Fig. 16 und 17 gezeigten Mitteln, und Fig. 20(C) und 20(D) den in Fig. 18 bzw. 19 gezeigten Mitteln. In Fig. 20(A) bis 20(D) bezeichnen gleiche Bezugszeichen die in Fig. 14 bis 19 oben erwähnten entsprechenden Teile, deren ausführliche Beschreibungen übersprungen werden.
  • Obwohl Ausführungsformen der Erfindung mit Verweis auf das Beispiel eines automatischen Routing auf Leiterplatten beschrieben worden sind, sollte besonders erwähnt werden, daß diese Erfindung nicht auf das obige Beispiel beschränkt ist. Diese Erfindung ist auch anwendbar auf einen Routing- Entwurf auf integrierten Halbleiterschaltungen, beispielsweise LSI und dergleichen. In diesem Fall ist es selbstverständlich, daß diese Erfindung die gleichen Vorteile und Effekte wie die obigen Ausführungsformen liefern kann.
  • (D) Beschreibung von Plazierungsprogramm-Erzeugungsverfahren
  • Fig. 3 ist ein Blockdiagramm, das ein Plazierungsprogramm-Erzeugungsverfahren zeigt.
  • In Fig. 3 sind Bezugsziffern 5A bis 5Z zu plazierende Objekte, welche verschiedene Entwurfsdaten (Plazierungsprobleme basierend auf Entwurfsinformationen von Leiterplatten für verschiedene Systeme, die miteinander inkompatibel sind), sind 6A bis 6Z Plazierungsprogramme, die gemäß diesem Verfahren erzeugt wurden. Jedes der Plazierungsprogramme 6A-6Z beschreibt eine Routing-Verarbeitungsprozedur, die einem Plazierungsproblem des entsprechenden gerouteten Objekts 5A-5Z entspricht.
  • Konkreter bezeichnet das in Fig. 3 gezeigte Plazierungsprogramm-Erzeugungsverfahren eine Komponentenplazierungs-Verarbeitungsprozedur gemäß Plazierungssteuerinformationen für jedes von verschiedenen Plazierungsproblemen (plazierte Objekte 5A-5Z) in Abhängigkeit von vorbestimmten Entwurfsdaten und einen bei Plazierung mehrerer Komponenten zu plazierenden Bereich innerhalb des plazierten Bereichs auf der Basis vorbestimmter Entwurfsdaten und setzt die bezeichnete Komponentenplazierungs-Verarbeitungsprozedur zusammen, um das Plazierungsprogramm 6A-6Z zum automatischen Plazieren mehrerer Komponenten innerhalb des plazierten Bereichs zu erzeugen.
  • Als Plazierungssteuerinformationen gibt es bezeichnete Informationen über Gruppierungen plazierter Komponenten, plazierte Bereiche bezeichnende Informationen, Plazierungsbedingungs-Informationen und Informationen über die Reihenfolge der Gruppenplazierung.
  • Fig. 4 ist ein Blockdiagramm, das ein Plazierungsprogramm-Erzeugungsgerät zeigt.
  • In Fig. 4 bezeichnet Bezugsziffer 7 ein Plazierungsprogramm-Erzeugungsgerät, welches Plazierungsverarbeitungsprozeduren auf der Basis vorbestimmter Entwurfsdaten (Plazierungsproblem) zusammensetzt, um ein Plazierungsprogramm 5A-5Z (siehe Fig. 3) zu erzeugen. Das Plazierungsprogramm-Erzeugungsgerät 7 hat ein Bezeichnungsmittel 8, das eine Komponentenplazierungs-Verarbeitungsprozedur gemäß einer Plazierungssteuerinformation in Abhängigkeit von vorbestimmten Entwurfsdaten und einen plazierten Bereich bezeichnet.
  • Das Plazierungsprogramm-Erzeugungsgerät 7 setzt die Komponentenplazierungs-Verarbeitungsprozedur, die durch das Bezeichnungsmittel 8 bezeichnet wurde, zusammen, um ein Plazierungsprogramm 6A-6Z (siehe Fig. 8) zum automatischen Plazieren mehrerer Komponenten innerhalb eines plazierten Bereichs zu erzeugen.
  • Zu dieser Zeit bezeichnet das Bezeichnungsmittel 8 Informationen über Gruppierungen plazierter Komponenten, plazierte Bereiche bezeichnende Informationen, Plazierungsbedingungs-Informationen und Informationen über die Reihenfolge der Gruppenplazierung als Plazierungssteuerinformationen.
  • Das Plazierungsprogramm-Erzeugungsverfahren und -gerät dafür, die in Fig. 3 und 4 gezeigt sind, kombinieren die Komponentenplazierungs-Verarbeitungsprozeduren, die vom Bezeichnungsmittel 8 bezeichnet wurden, um ein kundenspezifisches exklusives Plazierungsprogramm 6A-6Z zu erzeugen, das eine Komponentenplazierungs-Verarbeitungsprozedur beschreibt, die einem Plazierungsproblem von jedem der plazierten Objekte 5A-5Z entspricht.
  • Zu dieser Zeit bezeichnet das Bezeichnungsmittel 8 Plazierungssteuerinformationen (Informationen über Gruppierungen plazierter Komponenten, plazierte Bereiche bezeichnende Informationen, Plazierungsbedingungs-Informationen und Informationen über die Reihenfolge der Gruppenplazierung), um eine Komponentenplazierungs-Verarbeitungsprozedur zu bezeichnen, wodurch immer ein optimales Plazierungsprogramm 6A-6Z erzeugt wird.
  • Im oben beschriebenen Plazierungsprogramm-Erzeugungsverfahren und -gerät wird eine Komponentenplazierungs- Verarbeitungsprozedur auf der Basis einer Plazierungssteuerinformation in Abhängigkeit von vorbestimmten Entwurfsdaten und einem plazierten Bereich bezeichnet, um ein exklusives Plazierungsprogramm 6A-6Z zu erzeugen, das die Komponentenplazierungs-Verarbeitungsprozedur beschreibt, die jedem von Plazierungsproblemen der plazierten Objekte 5A-5Z entspricht. Eine gemäß jedem der Plazierungsprogramme 6A-6Z ausgeführte automatische Plazierung ermöglicht, eine optimale Lösung sicher und mit hoher Geschwindigkeit herauszufinden, ohne auf menschliche Arbeit angewiesen zu sein, sogar unter strengeren Entwurfsbedingungen, die auferlegt werden, um Anforderungen nach einer Packung mit hoher Dichte und geringen Kosten zu erfüllen.
  • Zu dieser Zeit wird die Routing-Steuersprache (Informationen über Gruppierungen plazierter Komponenten, plazierte Bereiche bezeichnende Informationen, Plazierungsbedingungs- Informationen und Informationen über die Reihenfolge der Gruppenplazierung) bezeichnet, um eine Komponentenplazierungs-Verarbeitungsprozedur zu bezeichnen, wodurch ein für jedes der plazierten Objekte geeignetstes Routing-Programm 6A-6Z erzeugt wird.
  • Ein Automatische-Plazierungs-Programm (siehe Bezugsziffern 39A-39Z in Fig. 25), das durch z.B. ein in Fig. 21 dargestelltes Plazierungsprogramm-Erzeugungsgerät 37 erzeugt wurde, wird auf eine anfängliche Plazierung von Komponenten hin verwendet, die bei Schritt S12 in Fig. 8 ausgeführt wird, um eine Komponentenplazierung auf einer Leiterplatte auszuführen (siehe Bezugsziffern 40A-40Z in Fig. 13 und 25), die ein Objekt der Komponentenplazierung ist.
  • Fig. 21 ist ein Blockdiagramm eines Plazierungsprogramm-Erzeugungsgeräts.
  • Das in Fig. 21 gezeigte Plazierungsprogramm-Erzeugungsgerät 37 einschließlich einer Anzeigeeinheit 33A, einer Bezeichnungseinheit 35A und einer Speichereinheit 36A dient dazu, eine Plazierungsverarbeitungsprozedur (Algorithmus) auf der Basis vorbestimmter Entwurfsdaten (Plazierungsproblem) zusammenzusetzen, um ein Automatische-Plazierungs- Programm zu erzeugen.
  • Die Anzeigeeinheit 33A zeigt verschiedene Informationen wie z.B. den Fortschritt einer Erzeugung eines Automatische-Plazierungs-Programms und dergleichen an. Die Bezeichnungseinheit 35A bezeichnet eine Komponenten-Routing- Verarbeitungsprozedur, indem Informationen über Gruppierungen plazierter Komponenten, plazierte Bereiche bezeichnende Informationen, Plazierungsbedingungs-Informationen und Informationen über eine Reihenfolge der Gruppenplazierung etc. bezeichnet werden. Diese verschiedenen Informationen werden in der Speichereinheit 36A gespeichert. Aus der Speichereinheit 36A werden die Informationen ausgelesen, wenn sie durch die Bezeichnungseinheit 35A bezeichnet werden.
  • Auf eine anfängliche Plazierung der Komponenten hin, die bei Schritt S12 in Fig. 8 wie oben beschrieben ausgeführt wird, bezeichnet der Designer (Bediener) die Informationen über Gruppierungen plazierter Komponenten, die plazierte Bereiche bezeichnenden Informationen, die Plazierungsbedingungs-Informationen, die Informationen über die Reihenfolge der Gruppenplazierung etc. als Plazierungssteuerinformationen durch die Bezeichnungseinheit 35A, um die Komponentenplazierungs-Verarbeitungsprozedur zusammenzusetzen, wodurch das Automatische-Plazierungs-Programm in dem Plazierungsprogramm-Erzeugungsgerät 37 erzeugt wird.
  • Das obige Plazierungsprogramm-Erzeugungsgerät 37 kann mit einem allgemeinen Personalcomputer oder dergleichen in der gleichen Weise wie das oben in Verbindung mit Fig. 7 beschriebene Routing-Programm-Erzeugungsgerät 31 realisiert werden. Das Plazierungsprogramm-Erzeugungsgerät 37 kann separat von dem Routing-Programm-Erzeugungsgerät 31 konfiguriert werden oder kann sowohl als das Routing-Programm- Erzeugungsgerät 31 als auch das Plazierungsprogramm- Erzeugungsgerät 37 dienen.
  • Die allgemeine Technik für eine automatische Plazierung richtet (programmiert) Datenelemente gegebener Plazierungsinformationen, d.h. (1) Gruppierung (Informationen über Gruppierungen plazierter Komponenten), (2) Bezeichnung eines plazierten Bereichs (plazierte Bereiche bezeichnende Informationen), (3) in welcher Reihenfolge die Gruppen plaziert werden (Informationen über die Reihenfolge der Gruppenplazierung) und (4) unter welcher Bedingung die Gruppen plaziert werden (Plazierungsbedingungs-Informationen) auf der Grundlage des Routing-Knowhows der Vergangenheit ein. Es gibt jedoch einige Fälle, bei denen die obige festgelegte Prozedur dabei scheitert, ein optimales Ergebnis für bestimmte Leiterplatten zu erzielen.
  • Diese Technik macht es möglich, das Routing ohne weiteres zu ändern, indem die obigen Informationen (1) bis (4) durch die Bezeichnungseinheit 35A bezeichnet werden, wodurch eine Neu- oder Rekombination ermöglicht wird, die für die Eigenschaft jeder Leiterplatte am geeignetsten ist (siehe Bezugsziffern 40A-40Z in Fig. 13 und 25). Konkreter sind in der allgemeinen Technik eines automatischen Routing nur die obigen Informationen (1) bis (4) enthalten, aber ihre Inhalte sind nur Datenelemente, die von den Inhalten individueller Entwurfsdaten unabhängig sind. Diese Technik macht es möglich, die Informationen in Abhängigkeit von den Inhalten individueller Entwurfsdaten mit den obigen Informationen (1) bis (4) zu bezeichnen und zu ändern, um ein optimales Ergebnis in der Plazierung einfach zu erhalten.
  • Praktische Inhalte (Datenelemente) der obigen Informationen (1) bis (4), die durch die Bezeichnungseinheit 35A bezeichnet werden, lauten wie folgt:
  • (a) Bezeichnen der Datenelemente von Informationen über Gruppierungen plazierter Komponenten:
  • - Namen bestimmter Komponenten;
  • - Schaltungssymbole;
  • - Typen von Komponenten;
  • - Formen von Komponenten;
  • - spezifiziertes Stromquellennetz;
  • - Seite eines Schaltungsdiagramms;
  • - Bezeichnung eines bestimmten Blocks im Schaltungsdiagramm;
  • (b) Bezeichnen der Datenelemente von plazierte Bereiche bezeichnenden Informationen:
  • - für Plazierung zugelassener Bereich;
  • - für Plazierung gesperrter Bereich;
  • - auf der Oberseite oder der Unterseite eines Substrats ?;
  • (c) Informationen über die Reihenfolge der Gruppenplazierung:
  • - Bezeichnung der Reihenfolge der Gruppen, die in den oben erwähnten Informationen über Gruppierungen plazierter Komponenten bezeichnet sind;
  • (d) Bezeichnen der Datenelemente von Plazierungsbedingungs-Informationen:
  • - Größen der Formen von Komponenten;
  • - Größe von Stiften;
  • - die Präferenzreihenfolge zwischen der Oberseite und Unterseite;
  • - Menge des Stromverbrauchs;
  • - Richtig oder Falsch über eine Plazierung ausgerichteter Komponenten;
  • - Richtig oder Falsch über eine Plazierung mit gleichen Abständen;
  • - die Anzahl von Verbindungen mit früher plazierten Komponenten;
  • - Anzeigen optimaler Plazierungsstellen und, dem Designer, Überlassen der Ergebnisse (Navigationsplazierung).
  • In dieser Ausführungsform ist es möglich, ausschließlich durch die Bezeichnungseinheit 35A die obigen Datenelemente zu bezeichnen. Alternativ dazu ist es möglich, eine ODER-Bedingung oder UND-Bedingung für mehrere Datenelemente einzustellen. Es ist daher möglich, eine Komponentenplazierungs-Verarbeitungsprozedur zu erzeugen, die für individuelle Entwurfsbedingungen am geeignetsten ist.
  • Es gibt keine besondere Beschränkung der Anordnung der Informationen über Gruppierungen plazierter Komponenten, der plazierte Bereiche bezeichnenden Informationen und der Plazierungsbedingungs-Informationen, die durch die Bezeichnungseinheit 35A in dieser Ausführungsform bezeichnet werden. Es ist möglich, eine optimale Komponentenplazierungs- Verarbeitungsprozedur zu bezeichnen, die für eine individuelle Entwurfsinformation am geeignetsten ist.
  • Indem die obigen verschiedenen Datenelemente (a) bis (d) bezeichnet werden, werden die folgenden optimalen Plazierungslösungswege (1) bis (19) möglich:
  • (1) optimaler Plazierungslösungsweg für bestimmte Komponenten;
  • (2) optimaler Plazierungslösungsweg durch Gruppieren der zu plazierenden Komponenten;
  • (3) optimaler Plazierungslösungsweg durch Gruppieren bestimmter Komponenten, die mit anderen bestimmten Komponenten verbunden werden sollen;
  • (4) optimaler Plazierungslösungsweg durch Gruppieren gemäß den Typen von Komponenten;
  • (5) optimaler Plazierungslösungsweg durch Gruppieren gemäß einem bestimmten Stromquellennetz;
  • (6) optimaler Plazierungslösungsweg durch Gruppieren gemäß Schaltungssymbolen von Komponenten;
  • (7) optimaler Plazierungslösungsweg durch Gruppieren gemäß den Formen von Komponenten;
  • (8) optimaler Plazierungslösungsweg durch Gruppieren von Komponenten, die zu einer bestimmten Seite des Schaltungsdiagramms gehören;
  • (9) optimaler Plazierungslösungsweg durch Gruppieren von Komponenten, die zu einem bestimmten Block eines Schaltungsdiagramms gehören;
  • (10) optimaler Plazierungslösungsweg durch Anweisen einer Oberfläche der Leiterplatte, worauf die in den obigen (2) bis (9) bezeichnete Gruppe montiert werden soll, wenn eine plazierte Stelle dieser Gruppe bezeichnet wird;
  • (11) optimaler Plazierungslösungsweg durch Anweisen eines montierten Bereichs auf der Leiterplatte, worauf die in den obigen (2) bis (9) bezeichnete Gruppe montiert werden soll, wenn eine plazierte Stelle dieser Gruppe bezeichnet wird;
  • (12) optimaler Plazierungslösungsweg, der die in den obigen (2) bis (9) bezeichnete Gruppe gemäß einer Größe von Komponenten plaziert;
  • (13) optimaler Plazierungslösungsweg, der die in den obigen (2) bis (9) bezeichnete Gruppe gemäß der Größe der Verbindungen plaziert;
  • (14) optimaler Plazierungslösungsweg, der die in den obigen (2) bis (9) bezeichnete Gruppe in einer willkürlichen Reihenfolge plaziert;
  • (15) optimaler Plazierungslösungsweg, der die in den obigen (2) bis (9) bezeichnete Gruppe oder Komponenten in dieser Gruppe gemäß einer Menge des Stromverbrauchs plaziert;
  • (16) optimaler Plazierungslösungsweg, der die in den obigen (2) bis (9) bezeichnete Gruppe gemäß der Zahl von Verbindungen mit früher plazierten Komponenten der Gruppe plaziert;
  • (17) optimaler Plazierungslösungsweg, der die in den obigen (2) bis (9) bezeichneten Gruppen in Ausrichtung plaziert;
  • (18) optimaler Plazierungslösungsweg, der die in den obigen (2) bis (9) bezeichneten Gruppen in einem gleichen Abstand plaziert;
  • (19) optimaler Plazierungslösungsweg, in welchem das System (das Plazierungsprogramm-Erzeugungsgerät 37) die in den obigen (1) bis (18) bezeichnete optimale Plazierung empfiehlt.
  • Fig. 22 bis 24 zeigen praktische Beispiele, um die Informationen über Gruppierungen plazierter Komponenten (zu gruppierender Komponenten), die plazierte Bereiche bezeichnenden Informationen (in welchem Bereich) und die Plazierungsbedingungs-Informationen (Plazierungsbedingungen) zu bezeichnen. Es wird besonders erwähnt, dass die Information über eine Reihenfolge der Gruppenplazierung als die Reihenfolge bezeichnet werden, in der die Netzgruppen erscheinen, die durch die Informationen über Gruppierungen plazierter Gruppen bezeichnet werden.
  • Ein Beispiel einer Bezeichnung in Fig. 22 ist eine Forderung für eine Plazierung, der Gruppierung oberste Priorität zu geben, wobei die Informationen über Gruppierungen plazierter Komponenten, die plazierte Bereiche bezeichnenden Informationen und die Plazierungsbedingungs-Informationen in dieser Reihenfolge bezeichnet werden. Dieses Beispiel ist eine Forderung im Entwurf, die eine Betonung oder ein Gewicht darauf legt, die Plazierung von Verbindern vor allgemeinen Komponenten abzuschließen. Dies ist auch eine Forderung, die Verbinder auf der Oberseite der Leiterplatte (Substrat) in der Reihenfolge von den größer bemessenen aus zu plazieren, dann die Verbinder auf der Unterseite der Leiterplatte (Substrat) in der Reihenfolge von den größer bemessenen aus zu plazieren, und ist auch eine Plazierungsverarbeitungsprozedur dafür.
  • Fig. 23 zeigt ein Beispiel, bei dem die Plazierungsbedingungs-Informationen, die Informationen über Gruppierungen plazierter Komponenten und die plazierte Bereiche bezeichnenden Informationen in dieser Reihenfolge bezeichnet sind, was eine Forderung für eine Plazierung ist, der Plazierungsbedingung oberste Priorität zu geben. Dieses Beispiel ist eine Forderung in einem Entwurf, die Plazierung der Verbinder vor den allgemeinen Komponenten auf der Oberseite einer Leiterplatte (Substrat) in der Reihenfolge von der einen mit der größeren Zahl von Stiften aus abzuschließen, dann auf der Unterseite derselben in der gleichen Reihenfolge, und Komponenten mit dem Stromquellennetz innerhalb eines plazierten Bereichs auf der Oberseite der Leiterplatte (Substrat) zu plazieren, und ist auch eine Plazierungsverarbeitungsprozedur dafür.
  • Ein anderes in Fig. 24 gezeigtes Beispiel ist eine Forderung für eine Plazierung, einem plazierten Bereich oberste Priorität zu geben, wobei die plazierte Bereiche bezeichnende Informationen, die Informationen über Gruppierungen plazierter Komponenten und die Plazierungsbedingungs-Informationen in dieser Reihenfolge bezeichnet werden. Dieses Beispiel ist eine Forderung im Entwurf, die Plazierung von Verbindern auf der Oberseite der Leiterplatte (Substrat) in der Reihenfolge von dem mit der größeren Zahl Stifte aus vor den allgemeinen Komponenten abzuschließen, zweitens Kondensatoren in der Reihenfolge von dem mit der größeren Zahl Stifte aus zu plazieren und drittens Komponenten mit einem Stromquellennetz in der Reihenfolge von dem mit größeren Außenabmessungen zu plazieren, und ist daher auch eine Plazierungsverarbeitungsprozedur.
  • Die Informationen über eine Reihenfolge der Gruppenplazierung wird den Informationen über Gruppierungen plazierter Komponenten, den plazierte Bereiche bezeichnenden Informationen und den Plazierungsbedingungs-Informationen als Kombination der Plazierungsverarbeitungsprozeduren hinzugefügt. Falls jedem der Datenelemente eine ODER-Bedingung und UND-Bedingung hinzugefügt wird, werden mehrere Richtungen möglich.
  • Die allgemeine Automatische-Plazierungs-Technik verwendet wenige feste Prozeduren aus mehreren dieser Kombinationen, um eine automatische Plazierung auszuführen. Gemäß dieser Technik ist es möglich, die Informationen über Gruppierungen plazierter Gruppen, die plazierte Bereiche bezeichnende Informationen, die Plazierungsbedingungs- Informationen und Informationen über eine Reihenfolge der Gruppenplazierungen durch die Bezeichnungseinheit 35A extrem flexibel zu bezeichnen, um so ein Programm für eine automatische Plazierung zu schaffen (siehe Bezugsziffern 39A 39Z in Fig. 25), das für jede Entwurfsforderung am geeignetsten ist.
  • In dem Plazierungsprogramm-Erzeugungsgerät 37 dieser Technik wird auf eine anfängliche Plazierung von Komponenten beim Schritt S12 in Fig. 8 hin eine gemäß einer Plazierungssteuerinformation beschriebene Komponentenplazierungs- Verarbeitungsprozedur z.B. für jede von verschiedenen Leiterplatten 40A-40Z gebildet oder zusammengesetzt, um ein Programm für eine automatische Plazierung 39A-39Z zu erzeugen, das jedem von verschiedenen Plazierungsproblemen entspricht, um die Plazierung gemäß der Komponentenplazierungs-Verarbeitungsprozedur 38A-38Z auszuführen, wie in Fig. 25 gezeigt ist.
  • In Fig. 25 weisen Leiterplatten 40A-40Z voneinander verschiedene Plazierungsentwurfsdaten auf (Plazierungsprobleme, die auf Entwurfsinformationen für Leiterplatten für verschiedene Systeme beruhen, die miteinander inkompatibel sind).
  • Das Plazierungsprogramm-Erzeugungsgerät 37 weist, wie in Fig. 25 gezeigt ist, eine Phase, um die Komponentenplazierungs-Verarbeitungsprozedur 38A-38Z unter Verwendung einer Plazierungssteuerinformation zu bezeichnen und sie zu beschreiben, und eine Phase, um das Automatische- Plazierungs-Programm 39A-39Z gemäß der Komponentenplazierungs-Verarbeitungsprozedur zu erzeugen, die mit der Plazierungssteuerinformation beschrieben wird, um eine automatische Plazierung auszuführen.
  • Das Plazierungsprogramm-Erzeugungsverfahren und Gerät dafür, die oben beschrieben wurden, erlauben eine einfache Erzeugung eines kundenspezifischen individuellen (exklusiven) Automatische-Plazierungs-Programms 39A-39Z, das die Komponentenplazierungs-Verarbeitungsprozedur beschreibt, die einem Plazierungsproblem von jedem von verschiedenen Leiterplatten 40A-40Z entspricht, um eine optimale Plazierung gemäß jedem der Automatische-Plazierungs-Programme 39A-39Z zu ermöglichen. Dieses Merkmal ist hilfreich, um eine optimale Lösung für das Problem sogar unter strengen Entwurfsbedingungen herauszufinden, die auferlegt werden, um Forderungen nach einer Montage mit hoher Dichte und niedrigen Kosten zu erfüllen, ohne auf menschliche Arbeit angewiesen zu sein, und um zu einer Verbesserung in der Leistungsfähigkeit eines elektronischen Computers beizutragen.
  • Diese Technik kann in vorteilhafter Weise das Automatisches-Routing-Programm 39A-39Z, das für jedes Objekt, auf dem geroutet oder trassiert werden soll, am geeignetsten ist, jederzeit erzeugen, indem die Routing-Steuersprache (die Informationen über Gruppierungen plazierter Komponenten, die plazierte Bereiche bezeichnenden Informationen, die Plazierungsbedingungs-Informationen und die Informationen über eine Reihenfolge der Gruppenplazierung) bezeichnet wird, um die Komponentenplazierungs-Verarbeitungsprozedur zu bezeichnen.
  • (E) Beschreibung eines Beispiels eines Verfahrens für automatisches Routing
  • Fig. 5 ist eine Veranschaulichung, die ein Verfahren für automatisches Routing zeigt.
  • In Fig. 5 bezeichnet Bezugsziffer 12 eine Leiterplatte, Bezugsziffern 13, 13A und 13B sind mehrere Komponentenstifte auf der Leiterplatte 12, und die Bezugsziffer 14 ist eine benachbarte Komponentenstifte 13 (13A, 13B) verbindende gerade Linie, die als Sehne definiert ist.
  • Das in Fig. 5 gezeigte Verfahren für automatisches Routing definiert eine die benachbarten Komponentenstifte 13 (13A, 13B) verbindende gerade Linie als die Sehne 14, erzeugt eine Welle für ein Labyrinth- oder Maze-Verfahren, die von einem Startpunkt (Komponentenstift) 13A aus zu einem Endpunkt (Komponentenstift) 13B einer Leiterbahn 15 verläuft, pflanzt die Welle zwischen benachbarten Sehnen 14 fort, speichert Positionen der Sehnen 14, durch die die Welle gelangt, bis sie vom Startpunkt 13A aus den Endpunkt 13B erreicht, verfolgt die Positionen der Sehnen 14, durch die die Welle gelangt ist, vom Endpunkt 13B zurück zum Startpunkt 13A, wenn die Welle den Endpunkt 13B erreicht, und bestimmt die Leiterbahn 15 eines Routing-Musters.
  • Wenn sich die Welle zwischen den benachbarten beiden Sehnen 14 fortpflanzt, ist es möglich, eine Passierbarkeit oder Annehmbarkeit des Routing-Musters auf der Basis einer Kapazität zwischen zwei Komponentenstiften 13 (13A, 13B) zu beurteilen, die die Sehne 14 bilden.
  • Im obigen Fall wird die Gesamtsumme von einer Leitungs- oder Linienbreite eines Routing-Musters, das durch die Sehne 14 in dieser Wellenfortpflanzung verläuft, und Linienbreiten von Routing-Mustern berechnet, denen gestattet wurde, durch diese Sehne 14 zu verlaufen, und die Gesamtsumme der Breiten wird mit einer Distanz zwischen den Komponentenstiften 13 (13A, 13B) verglichen, die diese Sehne 14 bilden. Falls die Gesamtsumme der Breiten kleiner als diese Distanz ist, wird ein Durchgang des Routing-Musters zugelassen.
  • Falls gestattet wird, daß eine Mehrzahl von Routing- Muster durch die Sehne 14 verläuft, wird als relative Position auf dieser Sehne 14 eine Position gespeichert, durch die jedes der Routing-Muster durchgeht. Wenn mindestens zwei Routing-Muster durch benachbarte Sehnen 14 verlaufen, wird ein Kreuzen der Routing-Muster auf der Basis relativer Positionen der jeweiligen Routing-Muster auf diesen benachbarten Sehnen 14 beurteilt.
  • Nachdem alle Routing-Bahnen 15 der Routing-Muster auf einer Leiterplatte 12 entschieden worden sind, ist es möglich, die durch die Sehne 14 in gleichen Abständen zwischen den Komponentenstiften 13 (13A, 13B) durchgehenden Routing- Muster zuzuordnen.
  • Fig. 6 ist ein Blockdiagramm, das ein Gerät für ein automatisches Routing zeigt. In Fig. 6 bezeichnet Bezugsziffer 20 ein Gerät für ein automatisches Routing, welches Routing-Bahnen 15 (siehe Fig. 5) entscheidet, um Routing- Muster auf einer Leiterplatte 12 (siehe Fig. 5) mit mehreren Komponentenstiften 13, 13A und 13B (siehe Fig. 5) automatisch zu routen oder zu trassieren. Das Gerät 20 für ein automatisches Routing hat ein Sehneninformations-Erzeugungsmittel 21 und ein Maze-Routing-Steuermittel 22.
  • Das Sehneninformations-Erzeugungsmittel 21 erzeugt Positionsinformationen über die Sehne 14 (siehe Fig. 5), die eine benachbarte Komponentenstift 13 (13A, 13B) verbindende gerade Linie ist, auf der Basis von Positionsinformationen über die Komponentenstifte 13 (13A, 13B).
  • Das Maze-Routing-Steuermittel 22 erzeugt eine Welle für ein Maze-Verfahren, die von einem Startpunkt 13A in Richtung auf einen Endpunkt 13B einer Routing-Bahn 15 verläuft, pflanzt die Welle zwischen benachbarten Sehnen 14 auf der Basis von Informationen über die Sehnen 14 fort, die durch das Sehneninformations-Erzeugungsmittel 21 erzeugt wurden, speichert Positionen, durch die die Welle gelangt, bis sie vom Startpunkt 13A aus den Endpunkt 13B erreicht, verfolgt die Positionen, durch die die Welle gelangt ist, vom Endpunkt 13B aus zurück zum Startpunkt 13A, wenn die Welle den Endpunkt 13B erreicht, um eine Routing-Bahn 15 des Routing- Musters zu entscheiden.
  • Wenn die Welle zwischen den benachbarten Sehnen 14 durch das Maze-Routing-Steuermittel 22 fortgepflanzt wird, ist es übrigens möglich, ein Mittel zur Beurteilung einer Annehmbarkeit in dem Gerät 20 für ein automatisches Routine vorzusehen, um eine Annehmbarkeit des Routing-Musters auf der Basis einer Kapazität zwischen den benachbarten Komponentenstiften 13 (13A, 13B) zu beurteilen, die diese Sehne 14 bilden.
  • Im obigen Fall ist das eine Annehmbarkeit beurteilende Mittel mit einem Addiermittel konfiguriert, das eine Gesamtsumme aus einer Linienbreite des durch die Sehne 14 in dieser Wellenfortpflanzung verlaufenden Routing-Musters und Linienbreiten von Routing-Mustern berechnet, denen gestattet wurde, durch diese Sehne 14 zu verlaufen, einem Vergleichsmittel, das die Gesamtsumme der Linienbreiten, die durch das Addiermittel berechnet wurde, mit einer Distanz zwischen den benachbarten Komponentenstiften 13 (13A, 13B) vergleicht, die diese Sehne 14 bilden, und einem Beurteilungsmittel, das einen Durchgang des Routing-Musters gestattet, wenn die Gesamtsumme der Linienbreite kleiner als diese Distanz ist.
  • Falls das eine Annehmbarkeit beurteilende Mittel einen Durchgang mehrerer Routing-Muster durch diese Sehne 14 gestattet, wird eine Position, durch die jedes der Routing- Muster durchgeht, als eine relative Position auf dieser Sehne 14 gespeichert. Das Gerät 20 für ein automatisches Routing kann ein Kreuzungsbeurteilungsmittel enthalten, welches, wenn mindestens zwei Routing-Muster durch benachbarte zwei Sehnen 14 durchgehen, eine Kreuzung der Routing- Muster auf der Basis der relativen Positionen der jeweiligen Routing-Muster auf diesen benachbarten Sehnen 14 beurteilt.
  • Das Gerät 20 für ein automatisches Routing kann ferner ein Gleichbeabstandungsmittel enthalten, welches Routing- Muster in gleichen Abständen zwischen zwei Komponentenstiften 13 (13A, 13B) beabstandet, nachdem das Maze- Routing-Steuermittel 22 alle Routing-Bahnen 15 von Routing- Mustern auf der Leiterplatte 12 entschieden hat.
  • In dem Automatisches-Routing-Verfahren und -Gerät, die in Fig. 5 und 6 dargestellt sind, definiert zuerst das Sehneninformations-Erzeugungsmittel 21 eine benachbarte Komponentenstifte 13 (13A, 13B) verbindende gerade Linie als eine Sehne 14. Eine Positionsinformation über diese Sehne 14 wird auf einer Basis von Positionsinformationen über die Komponentenstifte 13 (13A, 13B) erzeugt.
  • Das Maze-Routing-Steuermittel 22 erzeugt eine Welle für ein Maze-Verfahren, die von einem Startpunkt (Komponentenstift) 13A in Richtung auf einen Endpunkt (Komponentenstift) 13B einer Routing-Bahn 15 verläuft, pflanzt die Welle zwischen benachbarten Sehnen 14 fort, speichert sukzessiv Positionen, durch die die Welle gelangt, bis sie vom Startpunkt 13A aus den Endpunkt 13B erreicht, verfolgt die Positionen, durch die die Welle durchgegangen ist, vom Endpunkt 13B zurück zum Startpunkt 13A, wenn die Welle den Endpunkt 13B erreicht, um eine Routing-Bahn 15 des Routing- Musters zu bestimmen.
  • Ohne Verwendung rechteckiger Maschen, die auf einer Breite eines Routing-Musters basieren, ermöglicht die Verwendung der Sehne 14, deren Basiseinheit eine Distanz zwischen zwei Stiften 13 ist, die größer als die Breite eines Routing-Musters ist, daß eine Routing-Bahn 15 eines Routing-Musters innerhalb einer kurzen Zeitspanne entschieden wird.
  • Wenn das Maze-Routing-Steuermittel 22 eine Welle zwischen benachbarten Sehnen 14 fortpflanzt, beurteilt das eine Passierbarkeit oder Annehmbarkeit beurteilende Mittel eine Annehmbarkeit eines Routing-Musters auf der Basis einer Kapazität zwischen Komponentenstiften 13 (13A, 13B), die diese Sehne 14 bilden, wodurch verhindert wird, daß die nicht routbare Anzahl von Routing-Mustern zwischen den Komponentenstiften 13 (durch diese Sehne 14) durchgeht, und eine Beurteilung bezüglich einer Annehmbarkeit dieses Routing-Durchgangs innerhalb einer kurzen Zeitspanne ermöglicht wird.
  • Im obigen Fall berechnet das Addiermittel eine Gesamtsumme aus einer Linienbreite eines Routing-Musters, das durch die Sehne 14 in dieser Wellenfortpflanzung geht, und Linienbreiten von Routing-Mustern, denen gestattet wurde, durch diese Sehne 14 bis zu dieser Wellenfortpflanzung zu gehen, vergleicht das Vergleichsmittel die Gesamtsumme der Linienbreiten mit einer Distanz zwischen den Komponentenstiften 13 (13A, 13B), die diese Sehne 14 bilden, gestattet das Beurteilungsmittel einen Durchgang des Routing-Musters, wenn die Gesamtsumme der Linienbreiten kleiner als diese Distanz ist, wodurch verhindert wird, daß Routing-Muster mit einer größeren Breite als der Distanz zwischen den Komponentenstiften 13 (eine Länge der Sehne 14) durchgehen.
  • Falls das eine Annehmbarkeit beurteilende Mittel einen Durchgang einer Mehrzahl von Routing-Mustern durch die Sehne 14 gestattet, speichert das Automatisches-Routing-Gerät 20 eine Position auf dieser Sehne 14, durch die jedes der Routing-Muster durchgeht, als eine relative Position auf dieser Sehne 14, um so Positionen von Routing-Mustern, denen durchzugehen gestattet wurde, als relative Positionen auf dieser Sehne 14 zu handhaben. Falls zugelassen wird, daß ein neues Routing-Muster zwischen diesen Komponentenstiften 13 (13A, 13B) (durch diese Sehne 14) durchgeht, ist es hilfreich, Positionen bestehender Routing-Muster ohne weiteres zu bewegen oder zu verändern und das neue Routing- Muster ohne weiteres einzufügen.
  • Falls mindestens zwei Routing-Muster durch benachbarte Sehnen 14 durchgehen, kann das Kreuzungsbeurteilungsmittel eine Kreuzung der Routing-Muster ohne irgendwelche komplizierten Operationen auf der Basis von relativen Positionen auf den benachbarten Sehnen 14 von jedem der Routing-Muster einfach beurteilen, indem Positionen auf diesen Sehnen 14, durch die die mehreren Routing-Muster durchgehen, als relative Position gespeichert werden, wie oben bemerkt wurde.
  • Nachdem das Maze-Routing-Steuermittel 22 alle Routing- Bahnen der Routing-Muster auf der Leiterplatte 12 entschieden hat, beabstandet das Gleichbeabstandungsmittel die Routing-Muster, die durch die Sehne 14 durchgehen, automatisch in gleichen Abständen zwischen den Komponentenstiften 13 (13A, 13B).
  • Wie oben definieren das Verfahren und Gerät für automatisches Routing eine benachbarte Komponentenstifte 13 (13A, 13B) verbindende gerade Linie als eine Sehne 14, bilden Positionsinformationen über die Sehne 14 auf der Basis von Positionsinformationen über die Komponentenstifte 13 (13A, 13B), um eine Routing-Bahn 15 des Routing-Musters unter einer Routing-Steuerung in dem Maze-Verfahren mit der Sehne 14 als Objekt zu entscheiden. Es ist daher möglich, die Routing-Bahn 15 des Routing-Musters innerhalb einer kurzen Zeitspanne zu entscheiden, die Zahl von Suchvorgängen zu erhöhen, die innerhalb einer gegebenen Zeitspanne ausgeführt werden, und ein automatisches Routing in einer extrem hohen Dichte zu verwirklichen.
  • Wenn eine Welle für ein Maze-Verfahren-Routing zwischen benachbarten Sehnen 14 fortgepflanzt wird, wird eine Annehmbarkeit eines Routing-Musters auf der Basis einer Kapazität zwischen Komponentenstiften 13 (13A, 13B) beurteilt, die diese Sehne 14 bilden. Dies kann verhindern, dass eine nicht routbare Zahl von Routing-Mustern zwischen den Komponentenstiften 13 (13A, 13B) durchgeht, eine Beurteilung bezüglich einer Annehmbarkeit von Routing-Mustern ermöglichen, die innerhalb einer extrem kurzen Zeitspanne vorgenommen wird, und zu einer weiteren Packung mit hoher Dichte in dem automatischen Routing beitragen.
  • In diesem Fall ist es möglich, eine Annehmbarkeit eines Routing-Musters zu beurteilen, allein indem eine Gesamtsumme aus einer Linienbreite eines in dieser Wellenfortpflanzung durch die Sehne 14 durchgehenden Routing-Musters und Linienbreiten von Routing-Mustern zu berechnen, denen gestattet wurde, bis zu dieser Wellenfortpflanzung durchzugehen, und die Gesamtsumme der Linienbreiten mit einer Länge der Sehne 14 verglichen wird. Dies kann eine Beurteilung bezüglich einer Annehmbarkeit des Routing-Musters vereinfachen und eine Zeitspanne verkürzen, die erforderlich ist, um eine Routing-Bahn 15 zu suchen.
  • Falls eine Mehrzahl Routing-Muster durch die Sehne 14 durchgeht, werden Positionen auf dieser Sehne, durch die die Routing-Muster durchgehen, als relative Positionen auf dieser Sehne gespeichert, um so die Positionen der Routing- Muster, denen durchzugehen gestattet wurde, als relative Positionen auf dieser Sehne 14 zu handhaben. Falls zugelassen wird, daß ein neues Routing-Muster zwischen den Komponentenstiften durchgeht, ist es daher möglich, die Positionen der bestehenden Routing-Muster einfach zu bewegen und das neue Routing-Muster einfach einzufügen. Dies ist hilfreich, um eine Suche nach einer Routing-Bahn 15 innerhalb einer kurzen Zeitspanne durchzuführen.
  • Falls zumindest zwei Routing-Muster durch benachbarte Sehnen 14 durchgehen, ist es möglich, auf der Basis relativer Positionen auf diesen benachbarten Sehnen 14 von jedem Routing-Muster ohne etwaige komplizierte Operationen bezüglich einer Kreuzung der Routing-Muster einfach zu beurteilen. Falls ein Durchgang einer neuen Bahn 15 in der mittleren Stufe des Maze-Routing-Prozesses entschieden wird, ist es ausreichend, eine Position, durch die die Routing-Bahn 15 durchgeht, zu speichern und zusätzlich die neue Routing- Bahn 15 als relative Position bezüglich einer bestehenden Routing-Bahn 15 zu registrieren. In der Endstufe, in der alle Routing-Bahnen 15 auf der Leiterplatte 12 entschieden worden sind, werden die durch die Sehne 14 durchgehenden Routing-Muster zwischen den Komponentenstiften 13 (13A, 13B) automatisch gleich beabstandet, und absolute Positionen der Routing-Muster werden berechnet und entschieden, wodurch eine Suche nach der Routing-Bahn 15 innerhalb einer kürzeren Zeitspanne ausgeführt werden kann.
  • Fig. 26 ist ein Blockdiagramm eines Automatisches- Routing-Geräts gemäß einem zweiten Beispiel.
  • Nun auf Fig. 27 bezugnehmend ist eine Leiterplatte 70 dargestellt, auf der gemäß diesem Beispiel geroutet werden soll. Die Leiterplatte in Fig. 27 weist mehrere Komponentenstifte 71 (71A, 71B) auf. Hier wird angenommen, daß eine Routing-Bahn bestimmt wird, um ein Routing-Muster zwischen einem Startpunkt (Komponentenstift) 71A und einem Endpunkt (Komponentenstift) 71B automatisch zu routen oder zu trassieren.
  • Wie in Fig. 26 gezeigt ist, dient das Automatisches- Routing-Gerät 60 dazu, eine Routing-Bahn zu bestimmen, um ein Routing-Muster auf der Leiterplatte 70 mit einer in Fig. 27 dargestellten Anzahl Komponentenstifte 71 (71A, 71B) automatisch zu routen. Das Automatisches-Routing-Gerät 60 hat eine Datenbank 61, eine Routing-Datenbank 62, eine Sehneninformations-Erzeugungseinheit 63, eine Maze-Routing- Steuereinheit 64, eine Gleichbeabstandungseinheit 65, eine eine Passierbarkeit oder Annehmbarkeit beurteilende Einheit 66, eine Kreuzungsbeurteilungseinheit 67 und eine Durchgangsdaten-Einsetzeinheit 68.
  • Die Datenbank 61 speichert verschiedene Verbindungsinformationen über die Leiterplatte 70, die zum automatischen Routing notwendig sind, Komponentenstiftinformationen oder Routing-Musterinformationen als Ergebnis eines automatischen Routing, das durch das Automatisches-Routing-Gerät 60 ausgeführt wird.
  • Die Routing-Datenbank 62 speichert verschiedene Informationen über die Leiterplatte, die ein Objekt des automatischen Routing ist (Durchgangsinformationen eines Routing- Musters, Positionsinformationen von Sehnen 72, die später beschrieben werden etc.) während eines Automatisches- Routing-Prozesses.
  • Die Sehneninformations-Erzeugungseinheit 63 liest Komponentenstiftinformationen von der Datenbank 61, um Positionsinformationen über eine Sehne 72 (Basisdaten zum Festhalten der Durchgangsinformationen des Routing-Musters) zu erzeugen, d.h. eine gerade Linie, die zwei benachbarten Komponentenstifte 71 (71A, 71B) verbindet, wie in Fig. 27 gezeigt ist, und schreibt sie in die Routing-Datenbank 62.
  • Die Maze-Routing-Steuereinheit 64 erzeugt eine Welle für ein Routing nach dem Maze-Verfahren vom Startpunkt 71A der Routing-Bahn aus in Richtung auf den Endpunkt 71B, pflanzt die Welle zwischen zwei benachbarten Sehnen 72 auf der Basis von Informationen über die Sehne 14 fort, die durch die Sehneninformations-Erzeugungseinheit 63 erzeugt wurden, speichert sukzessiv Positionen von Sehnen 72, durch die die Welle durchgegangen ist, bis sie vom Startpunkt 71A aus den Endpunkt 71B erreicht. Wenn die Welle den Endpunkt 71B erreicht, verfolgt (Rückverfolgung) die Maze-Routing- Steuereinheit 64 die Positionen der Sehnen 72, durch die die Welle durchgegangen ist, vom Endpunkt 71B aus zurück zum Startpunkt 71A, um eine Routing-Bahn des Routing- Musters zu bestimmen.
  • Konkreter erzeugt die Maze-Routing-Steuereinheit 64 eine Welle vom Startpunkt 71A aus in Richtung auf den Endpunkt 71B auf der Leiterplatte 70, die durch die Routing- Datenbank 62 übernommen wurde, wie in Fig. 27 gezeigt ist.
  • Diese Welle beginnt vom Startpunkt 71A aus und erreicht 71B, wie durch eingekreiste Zahlen auf den Sehnen 72 angegeben ist, wie in Fig. 27 dargestellt, wo die Sehne 72, die dem Startpunkt 71A am nächsten liegt, mit 1 etikettiert ist, eine der mit 1 etikettierten Sehne 72 benachbarte Sehne 72 mit 2 etikettiert ist, eine der mit 2 etikettierten Sehne 72 benachbarte Sehne 72 mit 3 etikettiert ist usw.
  • In dem in Fig. 27 gezeigten Beispiel erreicht die Welle den Endpunkt 71B, der der vom Startpunkt aus gezählten dritten Sehne 72 am nächsten liegt. Die Sehnen 72, die die Welle passiert hat, bis sie vom Startpunkt 71A aus den Endpunkt 71B erreicht, werden in der Routing-Datenbank 62 sukzessiv gespeichert. Wenn die Welle den Endpunkt 71B erreicht, ist es möglich, eine Routing-Bahn 73 des Routing- Musters zu bestimmen, indem die Positionen der Sehnen 72, durch die die Welle durchgegangen ist, vom Endpunkt 71B aus zum Startpunkt 71A zurückverfolgt werden.
  • In Fig. 26 routet die Gleichbeabstandungseinheit 65 das durch die Sehne 72 durchgehende Routing-Muster in einem gleichen Abstand zwischen den Komponentenstiften (71A, 71B), nachdem die Maze-Routing-Steuereinheit 64 die Routing-Bahn des Routing-Musters auf der Leiterplatte 70 entschieden hat.
  • Die eine Annehmbarkeit beurteilende Einheit 66 ist in der Maze-Routing-Steuereinheit 64 vorgesehen. Wenn die Maze-Routing-Steuereinheit 64 die Welle zwischen benachbarten Sehnen fortpflanzt, urteilt die eine Annehmbarkeit beurteilende Einheit 66 diesbezüglich, ob das Routing-Muster annehmbar ist oder nicht, auf der Basis einer Kapazität zwischen zwei Komponentenstiften 71 (71A, 71B), die diese Sehne 72 bilden.
  • Die eine Annehmbarkeit beurteilende Einheit 66 ist mit einer Addiereinheit 66A, einer Vergleichseinheit 66B und einer Beurteilungseinheit 66C konfiguriert.
  • Die Addiereinheit 66A berechnet eine Gesamtsumme aus einer Linienbreite des Routing-Musters, das durch die Sehne 72 in dieser Wellenfortpflanzung durchgeht, und Linienbreiten der Routing-Muster, denen zu dieser Wellenausbreitung gestattet wurde, durch diese Sehne 72 bis durchzugehen. Die Vergleichseinheit 66A vergleicht die Gesamtsumme der Linienbreiten, die durch die Addiereinheit 66B berechnet wurde, mit einer Distanz zwischen den Komponentenstiften 71 (71A, 71B) (d.h. bekannten Daten, die von der Datenbank 61 als Komponentenstiftinformationen geliefert wurden), die diese Sehne 72 bilden. Die Beurteilungseinheit 66C gestattet dem Routing-Muster zu passieren, wenn die Beurteilungseinheit 66B in der Beurteilung schlußfolgert, daß die Gesamtsumme kleiner als diese Distanz ist.
  • Wenn die eine Annehmbarkeit beurteilende Einheit 66 gestattet, dass mehrere Routing-Mustern durch die Sehne 72 gehen, speichert die Routing-Datenbank 62 eine Position auf dieser Sehne 72, durch die jedes der Routing-Muster durchgeht, als eine relative Position auf dieser Sehne 72 (die angibt, wo ein Schnittpunkt einer Routing-Bahn des Routing- Musters und der Sehne 72 auf dieser Sehne 72 liegt).
  • Die Kreuzungsbeurteilungseinheit 67 ist in der Maze- Routing-Steuereinheit 64 vorgesehen, um eine Kreuzung der Routing-Muster auf der Basis von relativen Positionen jeweiliger Routing-Muster auf benachbarten Sehnen 72 (festgehalten in der Routing-Datenbank 62) zu beurteilen, wenn mindestens zwei Routing-Muster durch die benachbarten Sehnen 72 durchgehen.
  • Wenn die Maze-Routing-Steuereinheit 64 eine Welle zwischen benachbarten Sehnen 72 fortpflanzt, registriert die Durchgangsdaten-Einsetzeinheit 68 Durchgangsinformationen eines Routing-Musters, wenn dieses Routing-Muster durch die Sehnen 72 durchgeht. Wenn die eine Annehmbarkeit beurteilende Einheit 66 mehreren Routing-Mustern gestattet, durch die Sehne 72 durchzugehen, verschiebt die Durchgangsdaten- Einsetzeinheit 68 nötigenfalls relative Positionen der Routing-Muster auf dieser Sehne 72, denen durchzugehen schon gestattet worden ist, während diejenigen relativen Positionen der Routing-Muster berücksichtigt werden, und registriert eine relative Position eines Routing-Musters auf dieser Sehne 72, das zuletzt durchgeht, als neue Durchgangsinformation eines neuen Routing-Musters in der Routing- Datenbank 62.
  • Ein in dem Automatisches-Routing-Gerät 60 mit der obigen Konfiguration ausgeführtes Automatisches-Routing- Verfahren wird als nächstes unter Bezugnahme auf Fig. 28 bis 32 beschrieben.
  • Man nehme an, daß eine Welle für ein Maze-Routing von einem Punkt p zu einem Punkt q wie in Fig. 28(A) und 28(B) gezeigt fortgepflanzt wird. Falls eine Masche wie in Fig. 28(A) gezeigt in dem Maschen verwendenden Maze-Verfahren festgelegt ist, das vorher in Verbindung mit Fig. 36 beschrieben wurde, muß die Welle mindestens 6 Maschen passieren, um vom Punkt p aus den Punkt q zu erreichen, wie in Fig. 28(A) dargestellt ist. Falls die Maze-Routing-Steuereinheit 64 verwendet wird, kann die Welle den Punkt q auf einer Sehne 72 vom Punkt p auf einer anderen Sehne 72 aus direkt erreichen, wie in Fig. 28(B) gezeigt ist.
  • Gemäß dieser Technik ist es möglich, eine Routing-Bahn eines Routing-Musters innerhalb einer kurzen Zeitspanne zu entscheiden, ohne Maschen zu verwenden, die aus Rechtecken bestehen, die jeweils von einer Breite des Routing-Musters abhängig sind, da ein Objekt der Wellenfortpflanzung nicht eine Masche in Form eines Rechtecks ist, das von einer Breite eines Routing-Musters abhängt, sondern eine Sehne 72, deren Basiseinheit eine Distanz zwischen zwei Komponentenstiften 71 ist, die erheblich länger als eine Breite eines Routing-Musters ist.
  • Übrigens werden in Fig. 28(B) und 29 Markierungen x auf den Sehnen 72 verwendet, um einen Durchgang der Welle durch die Sehnen 72 zu registrieren (Schnittpunkte der Welle und der Sehnen 72), und Bezugsziffer 73 gibt eine Routing-Bahn an, der durchzugehen schon gestattet wurde.
  • In dem Automatisches-Routing-Gerät 60 routet, nachdem die Maze-Routing-Steuereinheit 64 alle Routing-Bahnen der Routing-Muster auf der Leiterplatte 70 entschieden hat, die Gleichbeabstandungseinheit 65 automatisch die Routing- Muster, die durch die Sehne 72 durchgehen, in gleichen Abständen zwischen den Komponentenstiften 71. Eine absolute Position des schließlich entschiedenen Routing-Musters wird in der Datenbank 61 registriert.
  • Man nehme an, daß Routing-Muster in gleichen Abständen zwischen den Komponentenstiften in dem oben erwähnten, in Fig. 36 gezeigten, Maschen verwendenden Maze-Verfahren zugeordnet werden sollen. Wie in Fig. 29 gezeigt ist, ist es, falls eine Bahn eines neuen Routing-Musters in einem Zu stand hinzugefügt wird, in dem schon zwei Routing-Bahnen 73 durch die Sehne 72 zwischen den Komponentenstiften 71 entschieden worden sind, notwendig, Positionen (Koordinaten) der Routing-Bahnen 73 so zu ändern, daß Distanzen unter den drei Routing-Bahnen 73, 74 zwischen den Komponentenstiften 71 gleich sind, wenn ein Durchgang der neuen Routing-Bahn 74 entschieden wird.
  • Im Gegensatz dazu werden in dem Automatisches-Routing- Gerät 60 dieser Konfiguration die Positionen, durch die beiden Routing-Bahnen 73 wie in Fig. 29 gezeigt zwischen den Komponentenstiften 71 (auf der Sehne 72) durchgehen, nur als relative Positionen in der Routing-Datenbank 62 in einer Mittelstufe des Prozesses durch die Maze-Routing- Steuereinheit 64 registriert, wie oben festgehalten wurde.
  • Zu einer Zeit, zu der eine neue Routing-Bahn 74 entschieden wird, legt die Durchgangsdaten-Einsetzeinheit 68 eine Position, durch die die neue Routing-Bahn 74 durchgeht, im untersten Teil auf der Sehne 72 (zwischen der unteren Routing-Bahn 73 und dem unteren Komponentenstift 71 fest und registriert zusätzlich die neue Routing-Bahn 74 in der Routing-Datenbank 62 als relative Position zu denjenigen der anderen beiden Routing-Bahnen 73.
  • Mit anderen Worten besteht keine Notwendigkeit, die Koordinaten neu zu schreiben, wenn die neue Routing-Bahn 74 zwischen den Komponentenstiften 71 (auf der Sehne 72) hinzugefügt wird. Es reicht aus, daß die Gleichbeabstandungseinheit 64 die Koordinaten so festlegt, daß Abstände d der Routing-Bahnen 73, 74 zwischen den Komponentenstiften 71 in der Endstufe gleich sind, in der alle Routing-Bahnen der Routing-Muster auf der Leiterplatte 70 entschieden worden sind.
  • Indem die Routing-Muster zwischen den Komponentenstiften 71 gleich beabstandet werden, ist es möglich, einen elektrischen Effekt der Komponentenstifte 71 auf die Routing-Muster oder einen wechselseitigen elektrischen Effekt auf die Routing-Muster zu minimieren oder eine Ausbeutungsrate der Routing-Muster zu verbessern, um die Kosten zum Routen der Routing-Muster auf der Leiterplatte 70 zu minimieren.
  • In dem Automatisches-Routing-Gerät 60 beurteilt die eine Annehmbarkeit beurteilende Einheit 66 ferner die Annehmbarkeit des Routing-Musters auf der Basis einer Kapazität zwischen den Komponentenstiften 71, die die Sehne 72 bilden, wenn die Maze-Routing-Steuereinheit 64 eine Welle zwischen zwei benachbarten Sehnen 72 fortpflanzt, so daß es möglich ist zu verhindern, daß die nicht routbare Zahl von Routing-Mustern zwischen den Komponentenstiften (auf der Sehne 72) durchgeht, und eine Beurteilung bezüglich der Annehmbarkeit innerhalb einer kurzen Zeitspanne vorzunehmen.
  • In dem oben erwähnten, in Fig. 36 gezeigten, Maschen verwendenden Maze-Verfahren wird, falls eine neue Routing- Bahn 74 hinzugefügt wird, so dass sie durch die Sehne 72 zu verlaufen, zuerst eine Distanz zwischen der neuen Routing- Bahn 74 und dem unteren Komponentenstift 71 berechnet, wenn eine Beurteilung diesbezüglich vorgenommen wird, ob das neue Routing-Muster zwischen den Komponentenstiften 71 durchgeht, wie in Verbindung mit Fig. 29 festgehalten wurde. Falls die Distanz nicht ausreicht, um das neue Routing- Muster durchgehen zu lassen, ist es notwendig, die Positionen der beiden Routing-Bahnen 73, die geroutet worden sind, nach oben zu bewegen oder zu verschieben, um dann eine Distanz zwischen der neuen Routing-Bahn und dem Komponentenstift 71 noch einmal zu untersuchen. Falls beurteilt wird, daß die Distanz nicht ausreicht, um die neue Routing-Bahn 74 durchgehen zu lassen, wird eine Operation der Art ausgeführt, dass die beiden Routing-Bahnen 73, die nach oben bewegt worden sind, zu den Positionen zurückbewegt werden, wo sie waren. Daher erfordert die Routensuche eine beträchtliche Zeitspanne.
  • Gemäß dem Automatisches-Routing-Gerät 60 berechnet die Addiereinheit 66A in der eine Annehmbarkeit beurteilenden Einheit 66 eine Gesamtsumme aus einer Linienbreite eines Routing-Musters (einer neuen Routing-Bahn 74), das durch die Sehne 72 in dieser Wellenfortpflanzung durchgeht, und Linienbreiten von Routing-Mustern (zwei Routing-Bahnen 73), denen bis zu dieser Wellenfortpflanzung gestattet worden ist, durch die Sehnen 72 durchzugehen, vergleicht die Vergleichseinheit 66B die Gesamtsumme der Breiten und eine (bekannte) Distanz zwischen Komponentenstiften 71, und die Beurteilungseinheit 66C untersucht, ob eine Ungleichheit [Distanz zwischen den Komponentenstiften 71] > [Summe von Linienbreiten der Routing-Muster 73] erfüllt ist oder nicht, wie oben festgehalten wurde. Allein durch den obigen Prozeß ist es möglich, eine Annehmbarkeit der neuen Routing-Bahn 74 zu beurteilen, um so zu verhindern, daß Routing-Muster mit größeren Breiten als eine Distanz zwischen den Komponentenstiften 71 (eine Länge der Sehne 72) durchgehen. Folglich kann eine Suche nach einer Routing-Bahn innerhalb einer extrem kurzen Zeitspanne durchgeführt werden.
  • Gemäß dem in Fig. 36 dargestellten, Maschen verwendenden Maze-Verfahren ist es, falls eine neue Routing-Bahn 74 in einem Zustand addiert werden soll, in dem schon die beiden Routing-Bahnen 73 durch die Sehne 72 zwischen den Komponentenstiften 71 entschieden worden sind, notwendig, Distanzen der bestehenden beiden Routing-Bahnen vom oberen Komponentenstift 71 zu entscheiden, wobei Linienbreiten der bestehenden beiden Routing-Muster berücksichtigt werden, wie in Verbindung mit Fig. 29 bemerkt wurde. Im allgemeinen wird jedoch ein Ausprobierverfahren verwendet, um eine Routing-Bahn zu suchen, so daß die neue Routing-Bahn 74, die gesucht wird, hier nicht immer verwendet wird, wie sie ist. Falls die neue Routing-Bahn nicht verwendet wird, ist es notwendig, die bestehenden Routing-Bahnen zu ihren ursprünglichen Positionen zurückzubringen.
  • Gemäß dieser oben beschriebenen Technik legt das Automatisches-Routing-Gerät 60 Positionen der beiden Routing- Bahnen 73 zwischen den Komponentenstiften 71 (auf der Sehne 72) in der Routing-Datenbank 62 als nur relative Positionen fest, wie oben bemerkt wurde. Falls eine neue Routing-Bahn 74 verwendet wird, ist es ausreichend, daß die Durchgangsdaten-Einsetzeinheit 68 ein Vorhandensein der neuen Routing-Bahn 74 zwischen der unteren Routing-Bahn 73 und dem unteren Komponentenstift 71 als ihre relative Position registriert, und die Gleichbeabstandungseinheit 65 berechnet eine tatsächliche Position (eine absolute Position) der neuen Routing-Bahn nur einmal in der Endstufe.
  • Falls die neue Routing-Bahn 74 nicht verwendet wird, reicht es aus auszudrücken, daß die Routing-Bahn zwischen der unteren Routing-Bahn 73 und dem unteren Komponentenstift 71 nicht vorhanden ist. Daher wird kein Effekt auf Positionen der bestehenden Routing-Bahnen 73 ausgeübt, und eine Suche nach Routing-Bahnen kann innerhalb einer extrem kurzen Zeitspanne vorgenommen werden, wie oben bemerkt wurde.
  • Das Automatisches-Routing-Gerät 60 speichert Positionen, in denen eine Mehrzahl von Routing-Mustern die Sehne 72 kreuzt, als relative Positionen in der Routing-Datenbank 62. Falls mindestens zwei Routing-Bahnen 73, 74 von Routing-Mustern durch benachbarte Sehnen 72, 72 in Position p bzw. q durchgehen, wie in Fig. 30 gezeigt ist, beurteilt die Kreuzungsbeurteilungseinheit 67 der Maze-Routing- Steuereinheit 64 ohne weiteres ein Kreuzen der Routing- Bahnen 73, 74 auf der Basis von relativen Positionen der Routing-Bahnen 73, 74 auf den beiden Sehnen 72 in den Positionen p bzw. q, ohne irgendwelche komplexe Operationen auszuführen.
  • Man nehme hier an, daß eine durch Positionen Q1 und Q2 auf den jeweiligen Sehnen 72 in den Positionen p, q durchgehende neue Routing-Bahn 74 in einem Zustand hinzugefügt werden soll, in dem die Routing-Bahnen 73, die durch die Positionen P1 und P4 auf den Sehnen 72 in den Positionen p, q durchgehen, schon entschieden worden sind, wie in Fig. 30 gezeigt ist. Gemäß dem in Fig. 36 gezeigten Maschen, verwendenden Maze-Verfahren ist es, um zu untersuchen, ob die neue Routing-Bahn das bestehende andere Routing-Muster 73 kreuzt oder nicht, notwendig, ein Routing-Muster der Routing-Bahn 73, die von P1 nach P2, von P2 nach P3 und von P3 nach P4 verläuft, unter mehreren Routing-Mustern herauszufinden, die auf der Leiterbahn 70 existieren, um eine Kontinuität des Routing-Musters zu bestätigen, um zu beurteilen, daß eine die Position Q1 und die Position Q2 verbindende Linie das bestehende Routing-Muster 73 kreuzt, und schließlich zu beschließen, daß keine die Position Q2 von der Position Q1 aus erreichende Routing-Bahn 74 zwischen den Positionen p und q existiert.
  • In dem Automatisches-Routing-Gerät 60 beurteilt die Kreuzungsbeurteilungseinheit 67 klar, ob die sich von der Position P1 zu der Position P4 erstreckende bestehende Routing-Bahn 73 die neue Routing-Bahn, die von der Position Q1 zu Position Q2 verläuft, kreuzt oder nicht, aus den folgenden beiden Punkten:
  • (1) Auf der an der Position p gelegenen Sehne 72 existiert die Position P1 oberhalb der Position Q1; und
  • (2) die bestehende Routing-Bahn 73 setzt sich fort bis zur Position P4 unterhalb der Position Q2 auf der in der Position q gelegenen Sehne 72.
  • Wie aus Fig. 30 ersichtlich ist, ist es möglich, sofort zu beurteilen, daß die neue Routing-Bahn 74 die von der Position P1 zur Position P4 verlaufende bestehende Routing- Bahn 73 kreuzen muß, um von der Position Q1 auf der Sehne 72 in der Position p aus die Position Q2 auf der Sehne 72 in der Position q zu erreichen. Daher ist es möglich, eine Zeitspanne zu verkürzen, die erforderlich ist, um Routing- Bahnen zu suchen.
  • In dem in Fig. 35 gezeigten Leitungssuchverfahren werden unterdessen in der Praxis Routing-Muster 81-84 mit als Segmente bezeichnete gerade Linien ausgedrückt, wie in Fig. 32(A) dargestellt ist. Um auf diese geraden Linien effizient zuzugreifen, ist ferner eine Leiterplatte 70 der Länge oder Breite nach in Bänder geteilt, um Verknüpfungen festzulegen. In einem parallel mit den geteilten Bändern verlaufenden Muster (das als Muster in einer Routing- Hauptrichtung bezeichnet wird) wie die Routing-Muster 81- 83 tritt kein Problem auf, sondern ein in einer Richtung unter rechten Winkeln zu den geteilten Bändern verlaufendes Muster (ein Muster in einer Routing-Nebenrichtung), wie ein Routing-Muster 84, muß ausgedrückt werden, indem es in Segmente geteilt wird. Ist einmal eine Routing-Hauptrichtung bezüglich einer bestimmten Schicht entschieden worden, ist es unmöglich, ein zur Routing-Hauptrichtung senkrechtes Muster effizient auszudrücken. Das heißt, es ist notwendig, ein Muster in der Routing-Nebenrichtung in mehrere Segmente zu teilen, um es auszudrücken.
  • Das Automatisches-Routing-Gerät 60 teilt den Bereich nicht in Bänder, wie in Fig. 31 oder 32B gezeigt ist, so daß es möglich ist, ein Routing-Muster (Routing-Bahn 73) ohne Unterscheidung zwischen der Routing-Hauptrichtung und der Routing-Nebenrichtung auszudrücken und Routing-Bahnen ohne Unterscheidung zwischen der horizontalen Richtung und der vertikalen Richtung zu suchen.
  • Das oben beschriebene zweite Beispiel kann eine Zeitspanne außerordentlich verringern, die erforderlich ist, um Routing-Bahnen zu suchen, was somit die Zahl von Suchvorgängen innerhalb einer gegebenen Zeitspanne erhöht und ein automatisches Routing mit extrem hoher Dichte realisiert.
  • Die Automatisches-Routing-Funktion gemäß dem zweiten Beispiel kann als eine der Routing-Fundamentalfunktionen in dem hierin oben bemerkten ersten Beispiel verwendet werden.
  • Da in den obigen Ausführungsformen Beispiele beschrieben worden ist, in denen ein automatisches Routing und eine automatische Plazierung auf einer Leiterplatte implementiert sind, wird besonders erwähnt, daß diese Erfindung nicht auf die obigen Beispiele beschränkt werden sollte, sondern auf Entwürfe von integrierten Halbleiterschaltungen (LSI), Multichipmodulen (MCM) und dergleichen anwendbar ist. In diesem Fall kann die vorliegende Erfindung die gleichen Vorteile wie die obigen Ausführungsformen erbringen.

Claims (9)

1. Verfahren zum Erzeugen eines kundenspezifischen Routing-Programms (11A-11Z), das beim Entwerfen eines Layout einer Schaltung verwendet werden soll, welches Programm eine Routing-Prozedur beschreibt, die an Routing-Entwurfsdaten (10A-10Z) der Schaltung ausgeführt werden soll, welches Verfahren auf einem Computer ausgeführt wird und die Schritte aufweist:
Auswählen einer geeigneten Routing-Fundamentalfunktion aus mehreren Routing-Fundamentalfunktionen;
Bezeichnen von Einzelheiten der ausgewählten Routing- Fundamentalfunktion in Begriffen einer Routing-Steuersprache (42A-42E);
Auswerten einer Routing-Effizienz der ausgewählten Routing-Fundamentalfunktion oder der bezeichneten Einzelheiten basierend auf den Routing-Entwurfsdaten (10A-10Z);
worin die Auswahl in dem Auswahlschritt und die Bezeichnung in dem Bezeichnungsschritt interaktiv mit einem Design-Bediener ausgeführt werden, der ein Ergebnis der im Auswertungsschritt ausgeführten Auswertung zu Rate zieht,
welches Verfahren ferner umfaßt:
Zusammensetzen der Routing-Prozedur basierend auf der in dem Auswahlschritt ausgewählten Routing-Fundamentalfunktion mit den in dem Bezeichnungsschritt bezeichneten Einzelheiten; und
Erzeugen des kundenspezifischen Routing-Programms aus der im Zusammensetzungsschritt zusammengesetzten Routing- Prozedur.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die interaktiven Auswahl-, Bezeichnungs- und Auswertungsschritte in Verbindung mit einem Packungsentwurf der Schaltung basierend auf den Routing-Entwurfsdaten ausgeführt werden und daß im Zusammensetzungsschritt die Routing-Prozedur in Abhängigkeit von dem Packungsentwurf der Schaltung zusammengesetzt wird.
3. Verfahren nach Ansprüchen 1 oder 2, dadurch gekennzeichnet, daß die in den interaktiven Auswahl-, Bezeichnungs- und Auswertungsschritten verwendete Routing- Steuersprache mindestens eine der Informationen über geroutete Objekte, Informationen über geroutete Stellen, Routing-Bedingungs-Informationen und Routing-Reihenfolge- Informationen enthält.
4. Verfahren nach einem der Ansprüche 1 bis 3, ferner mit dem Schritt zum Anzeigen von Daten, die das Ergebnis der im Auswertungsschritt ausgeführten Auswertung darstellen, worin im Auswahlschritt die Routing-Fundamentalfunktion ausgewählt wird, indem die das Ergebnis der Auswertung darstellenden angezeigten Daten zu Rate gezogen werden.
5. Gerät zum Erzeugen eines kundenspezifischen Routing- Programms, das beim Entwerfen eines Layout einer Schaltung verwendet werden soll, welches Programm eine an Routing- Entwurfsdaten der Schaltung auszuführende Routing-Prozedur beschreibt, welches Gerät aufweist:
Speichermittel (36) zum Speichern mehrerer Routing- Fundamentalfunktionen;
Auswahlmittel (4) zum Auswählen einer entsprechenden Routing-Fundamentalfunktion aus dem Speichermittel (36);
Bezeichnungsmittel (35) zum Bezeichnen von Einzelheiten der ausgewählten Routing-Fundamentalfunktion in Begriffen einer Routing-Steuersprache;
Routing-Effizienz-Auswertungsmittel (2) zum Auswerten einer Routing-Effizienz der Routing-Fundamentalfunktion, die durch das Auswahlmittel (4) ausgewählt wurde, oder der durch das Bezeichnungsmittel (35) bezeichneten Einzelheiten basierend auf den Routing-Entwurfsdaten (10A-10Z); und
Anzeigemittel (3) zum Anzeigen von Daten, die die durch das Routing-Effizienz-Auswertungsmittel (2) ausgewertete Routing-Effizienz darstellen;
worin das Gerät so eingerichtet ist, daß im Betrieb die Auswahl durch das Auswahlmittel (4) und die Bezeichnung durch das Bezeichnungsmittel (35) interaktiv mit einem Entwurfsbediener ausgeführt werden, der das Ergebnis einer Auswertung, das durch das Anzeigemittel (3) angezeigt wird, zu Rate zieht, um die für die Routing-Entwurfsdaten (10A- 10Z) geeignete Routing-Prozedur zusammenzusetzen und dadurch das kundenspezifische Routing-Programm (11A-11Z) gemäß den Routing-Entwurfsdaten (10A-10Z) zu erzeugen.
6. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß das Auswahlmittel (4) betreibbar ist, um den Routing- Lösungsweg in Verbindung mit einem Packungsentwurf der Schaltung auszuwählen, um dadurch die Routing-Prozedur in Abhängigkeit von dem Packungsentwurf der Schaltung zusammenzusetzen.
7. Gerät nach Ansprüchen 5 oder 6, dadurch gekennzeichnet, daß die im Bezeichnungsmittel (35) verwendete Routing- Steuersprache zumindest eine der Informationen über geroutete Objekte, Informationen über geroutete Stellen, Routingbedingungs-Informationen und Routing-Reihenfolge- Informationen enthält.
8. Computerprogramm, welches, wenn es auf einem Computer läuft, den Computer veranlaßt, alle Schritte des Verfahrens nach einem der Ansprüche 1 bis 4 auszuführen.
9. Computerprogramm, welches, wenn es in einen Computer geladen ist, bewirkt, daß der Computer ein alle Mittel enthaltendes Gerät nach einem der Ansprüche 5 bis 7 wird.
DE69527338T 1994-11-30 1995-11-22 Leitungswegesuchverfahren und -vorrichtung Expired - Lifetime DE69527338T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29646994A JP3192057B2 (ja) 1994-03-18 1994-11-30 配線プログラム生成方法及びその装置

Publications (2)

Publication Number Publication Date
DE69527338D1 DE69527338D1 (de) 2002-08-14
DE69527338T2 true DE69527338T2 (de) 2002-10-24

Family

ID=17833962

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69527338T Expired - Lifetime DE69527338T2 (de) 1994-11-30 1995-11-22 Leitungswegesuchverfahren und -vorrichtung

Country Status (2)

Country Link
EP (1) EP0715267B1 (de)
DE (1) DE69527338T2 (de)

Also Published As

Publication number Publication date
EP0715267B1 (de) 2002-07-10
DE69527338D1 (de) 2002-08-14
EP0715267A2 (de) 1996-06-05
EP0715267A3 (de) 1996-08-21

Similar Documents

Publication Publication Date Title
DE3650323T2 (de) VLSI-Chip und Verfahren zur Herstellung.
DE68925121T2 (de) Verfahren zur verwendung einer elektronisch wiederkonfigurierbaren gatterfeld-logik und dadurch hergestelltes gerät
DE69521507T2 (de) System und verfahren zur auf einem modell basierender prüfung von lokalen entwurfsregeln
DE69033360T2 (de) Simulation von ausgewählten Logik-Schaltungsentwürfen
DE69722425T2 (de) Verfahren und vorrichtung zum routing von netzen in einem elektronischen gerät
DE3887794T2 (de) System zur Gerätkompatibilitätssicherung.
DE3886137T2 (de) System zum Entwurf von Interkommunikationsnetzwerken.
DE68929212T2 (de) Verfahren zur Zuteilung von Ebenen unter Knoten in einem Netzdiagramm
US5644500A (en) Routing program generating method and apparatus therefor, placement program generating method and apparatus therefor, and automatic routing method and apparatus therefor
DE69724245T2 (de) Verfahren zur plazierung von taktpuffern in einem taktverteilungssystem
EP0441810B1 (de) Verfahren zur plazierung von modulen auf einem träger
DE3856234T2 (de) Hierarchischer Aufstellungsplan
DE69424944T2 (de) Datenreduktion in einem system zur analysierung von geometrischen datenbanken
DE69738556T2 (de) Interaktiver cad-apparat zum entwerfen des zusammenbaus von logischen schaltungen
DE3900750A1 (de) Wissensbasis - verfahren - vorrichtung zum entwerfen integrierter schaltungen mittels funktionaler spezifikationen
DE10025583A1 (de) Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen
DE112021002870T5 (de) Halbleiterschaltungs-entwurf und einheits-pin-anordnung
DE2442850A1 (de) Verfahren zum automatischen design integrierter schaltungen
DE102022106423A1 (de) Verfahren zur Aufteilung von Simulationsmodellen zwischen einem Prozessor und einem FPGA
DE102015221479A1 (de) Polymorphes schaltungssimulationssystem
DE10205559B4 (de) Integrierte Schaltung und Verfahren und Vorrichtung zum Entwurf einer integrierten Schaltung
DE102016111337B4 (de) Verfahren zur Steigerung der Entkoppelungs-Kapazität in einer mikroelektronischen Schaltung
DE69527338T2 (de) Leitungswegesuchverfahren und -vorrichtung
EP0202573A2 (de) In C-MOS-Technik realisierte Basiszelle und Verfahren zur automatischen Generierung einer derartigen Basiszelle
EP1146393B1 (de) Verfahren zur Herstellung von Masken für die Fertigung von Halbleiterstrukturen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE