Logisches Routing-Problem

Gast #954925
Lesenswert?

Hallo Zusammen,

vielleicht betrifft meine Frage doch eher die Mathematiker als die 
Platinen-Router, aber vielleicht findet es ja sonst noch jemand 
interessant.

Im Anhang ist ein Bildchen von einer Situation (oben), die man mit zwei 
Layern problemlos realisieren kann. Wie man im unteren Teil sehen kann, 
geht das auf einem Layer nicht mehr.

Leiterbahnen zwischen den Anschlüssen / unter Bauteilen möchte ich mal 
ausschließen, um das Beispiel einfach zu halten.

Nun die gewagt These: Jede beliebige Anordnung von Bauelementen lässt 
sich auf einer Platine mit höchstens zwei Layern entflechten, wenn man 
annimmt, dass die Bauelemente in beliebigem Abstand zueinander 
positioniert werden können, und nur die verschaltung vorgegeben ist.

Vielleicht kann mir ja jemand sagen, ob das tatsächlich so ist, und wenn 
ja, womit man es beweisen kann.

Peter
Angehängte Dateien:
#954947
Lesenswert?

Das gilt (für alle Layouts) genau dann, wenn die Ausdehnung der 
einzelnen Sachen (Leiterbahnen, Vias, Pins, etc) 0 beträgt. Dann kannst 
du 2 sich kreuzenden Leiterbahnen aus dem Weg gehen, indem du die eine 
kurz auf der anderen Seite verlegst, und das dann für alle Kreuzungen. 
Da die Ausdehnungen 0 sind, kannst du das unendlich oft machen.

In der Praxis hat diese Aussage aber keinen wirklichen Sinn ;)
Gast #955170
Lesenswert?

@spess53

>Das ist ja wohl die gewagtere Aussage.

Mit der Einschränkung nicht zwischen den Pins durchzurouten?
Das will ich sehen.

Bei genügend Platz ist zweiseitig immer komplett zu routen. Eine Lage 
Leiterzüge horizontal, die andere vertikal, viele Vias..
Dafür braucht es keinen mathematischen Beweis.
Gast #955246
Lesenswert?

>Leiterbahnen zwischen den Anschlüssen / unter Bauteilen möchte ich mal 
>ausschließen, um das Beispiel einfach zu halten.

Da sehe ich eher ein oder und nicht ein und.
Wenn beides nicht erlaubt ist, dann ist es afaik nicht moeglich...
Gast #955706
Lesenswert?

eine mathematische betrachtung macht doch recht wenig sinn, wenn man die 
realistische annahme macht, dass im großteil der fälle ein netz nur 
zwischen 2 oder vielleicht 3 bauteilen verläuft. und sogar wenn viele 
leiterbahnen zu einem "punkt" - bauteil mit vielen beinen - laufen, hast 
du trotzdem das problem, dass sie zu einem bestimmten bein müssen. 
eine näherung in der richtung ist also nicht zulässig.
damit hast du einfach nur viele knoten, aber noch lang keine 
starkverzweigten netze, die man mit algorithmen behandeln könnte.
#955842
Lesenswert?

Och ich find schon, dass eine mathematische (bzw. informatorische (<- 
hässliches Wort)) Betrachtung Sinn macht. Man muss allerdings auch 
wirklich alles modellieren, zB. dass zwischen 2 Pins nur eine begrenzte 
Zahl von Leiterbahnen durchpasst.

Und wenn man das als Graph modelliert, ist ein Knoten natürlich kein 
Bauteil, sondern ein Pin.

Einen routingalgorithmus zu entwickeln der sehr gute Relustate liefert 
ist überhauptkein Problem. Das Problem ist nur die Rechenzeit.
Gast #955893
Lesenswert?

>Einen routingalgorithmus zu entwickeln der sehr gute Relustate liefert

gut im sinne von "alles ist verbunden", das gibt aber noch kein Layout!

>Das Problem ist nur die Rechenzeit.

Eagle hat übrigens einen solchen autorouter. (100% bei genügend 
Rechenzeit)
#955903
Lesenswert?

Du musst halt nur alles richtig bewerten. Zb. könntest du alle Varianten 
verwerfen, in denen GND nicht sternförmig verlegt ist.
Dann lässt sich aber kein effektiver Algorithmus mehr finden, der das 
schneller als in ein paar Jahren(zehnten, hunderten) errechnet hat.
Gast #956237
Lesenswert?

Peter wrote:
> Leiterbahnen zwischen den Anschlüssen / unter Bauteilen möchte ich mal
> ausschließen, um das Beispiel einfach zu halten.

und komm jetzt nicht damit, dass das nicht sinnvoll wäre. es ist für den 
ersten anlauf eines autorouters durchaus sinvoll. leiterbahnen zwischen 
pins oder unter bauteilen sind die fallback-lösung, weil da der platz 
stark begrenzt ist, im gegensatz zur unbesetzten fläche.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren