Forum: Platinen Altium: Diff Pairs


von Stephan C. (stephan_c)


Lesenswert?

Guten Morgen!

Gestern habe ich mich nach mehreren Wochen Unterbrechung wieder an mein 
Design gemacht und Altium wollte dann auf einmal meine Diff Pairs nicht 
mehr mit den vorgegebenen Constraints routen.
Stattdessen hat Altium die Leitungen eines Diff Pairs zu einen 
Kurzschluss zusammengeführt.

Altium hat auf jeden Fall erkannt, dass die Leitungen in der 
entsprechenden Diff Pair Netzklasse sind. Wenn ich im "Interactive 
Differentail Pair Routing" Modus auf eine Leitung eines Paares clicke, 
dann kann ich auch das richtige Paar routen aber als Kurzschluss, also 
mit einem viel kleinem Abstand.
Hatte jemand vielleicht schon mal das gleiche Problem?

von Johnny B. (johnnyb)


Lesenswert?

Stephan C. schrieb:
> Guten Morgen!
>
> Gestern habe ich mich nach mehreren Wochen Unterbrechung wieder an mein
> Design gemacht und Altium wollte dann auf einmal meine Diff Pairs nicht
> mehr mit den vorgegebenen Constraints routen.
> Stattdessen hat Altium die Leitungen eines Diff Pairs zu einen
> Kurzschluss zusammengeführt.
>
> Altium hat auf jeden Fall erkannt, dass die Leitungen in der
> entsprechenden Diff Pair Netzklasse sind. Wenn ich im "Interactive
> Differentail Pair Routing" Modus auf eine Leitung eines Paares clicke,
> dann kann ich auch das richtige Paar routen aber als Kurzschluss, also
> mit einem viel kleinem Abstand.
> Hatte jemand vielleicht schon mal das gleiche Problem?

Hast Du die Leitungen richtig benammst? Also eine mit der Endung _P und 
die andere mit _N?

von Stephan C. (stephan_c)


Lesenswert?

Ja habe ich. Sie werden ja auch als Diff Pairs erkannt und gehören auch 
der richtigen Klasse an.

von Der Mitleser (Gast)


Lesenswert?

Na ja, Kurzschluss oder viel zu kleiner Abstand sind zwei 
unterschiedliche Dinge. Entweder greift eine Regel nicht, oder die 
Reihenfolge innerhalb der Regeln ist noch nicht ganz richtig.

von Stephan C. (stephan_c)


Angehängte Dateien:

Lesenswert?

Ich hab die Diff Pairs ja schon richtig geroutet.
Ich verstehe das einfach nicht.
Es ist nur eine Diff Pair Rule im Design definiert.

Das Schutzdiodenarray wurden dem Design hinzugefügt.
Man kann auch wunderbar die schon vorher gerouteten Paare unten sehen.
Oben im Bild ist ein Paar, wie ich es jetzt nur routen kann.

von Andi (Gast)


Lesenswert?

Stephan C. schrieb:
> Das Schutzdiodenarray wurden dem Design hinzugefügt.
> Man kann auch wunderbar die schon vorher gerouteten Paare unten sehen.
> Oben im Bild ist ein Paar, wie ich es jetzt nur routen kann.

Dann hast du jetzt klarerweise vor und nach den Schutzdioden 
unterschiedliche Netze.
Du musst auf beiden Seiten die Netzte mit _N und _P bezeichnen und als 
Diff-Pair kennzeichnen...

von Taz G. (taz1971)


Lesenswert?

Wenn Du nur eine Rule hast, hast Du eine Rule zu wenig.
Es sollte immer eine 'All' bzw. 'All to All' Rule vorhanden sein.
Falls aus irgendwelchen Gründen ein Element mal "durchrutscht" also 
keine Rule greift dann hat man ein Probelm.
So etwas könnte ich mir bei Dir vorstellen. Die Rule ist auf eine 
Netzklasse beschränkt und wenn nun aus irgendwelchen Gründen dieses Pair 
nicht zu dieser Klasse gehört greift keine Rule also passiert irgendwas.
Definier mal eine eine All Rule mit absurden Werten um sehen ob die 
erste Rule überhaupt zum tragen kommt.

von Andi (Gast)


Lesenswert?

Taz G. schrieb:
> Wenn Du nur eine Rule hast, hast Du eine Rule zu wenig.

Natürlich, danke!
Ergänzend zu meinem Posting musst man natürlich die eine Rule erweitern 
oder eine Zweite einführen.

von Stephan C. (stephan_c)


Lesenswert?

Taz G. schrieb:
> Wenn Du nur eine Rule hast, hast Du eine Rule zu wenig.
> Es sollte immer eine 'All' bzw. 'All to All' Rule vorhanden sein.

Soll die Rule auf Diff Pairs bezogen sein, oder wie meinst du das?

von Stephan C. (stephan_c)


Lesenswert?

Andi schrieb:
> Dann hast du jetzt klarerweise vor und nach den Schutzdioden
> unterschiedliche Netze.
> Du musst auf beiden Seiten die Netzte mit _N und _P bezeichnen und als
> Diff-Pair kennzeichnen...

Ja, das habe ich gemacht. Das kannst du sogar im Bild sehen.

von Stephan C. (stephan_c)


Lesenswert?

Nachdem ich alle Diff Pair Netze gelöscht, eine Forward Annotation 
gemacht und die Rule gelöscht habe geht es jetzt wieder, nachdem ich die 
Diff Pairs einfach mit den Standard Diff Pair Parameters Objekt im 
Schematic versehen habe und die Rule für Standard Diff Pairs eingestellt 
habe.

So ganz klar ist es mir aber noch nicht, warum die definierte Rule nicht 
mehr funktioniert hat. Die einzige Änderung im Design war halt das 
Einfügen der Schutzdioden aber keine Änderung an den Rules.

von Andi (Gast)


Lesenswert?

Stephan C. schrieb:
> Ja, das habe ich gemacht. Das kannst du sogar im Bild sehen.

Zeig mal den Schaltplanausschnitt und die Rules...

von Stephan C. (stephan_c)


Angehängte Dateien:

Lesenswert?

Zuerst hatte ich es im Schaltplan so, wie im Bild DIFF100_0.PNG.
Zwischenzeitlich wie im Bild DIFF100.PNG.

Die Rule für Diff Pairs war => InDifferentialPairClass('DIFF100')

von Taz G. (taz1971)


Lesenswert?

Stephan C. schrieb:
> Taz G. schrieb:
>> Wenn Du nur eine Rule hast, hast Du eine Rule zu wenig.
>> Es sollte immer eine 'All' bzw. 'All to All' Rule vorhanden sein.
>
> Soll die Rule auf Diff Pairs bezogen sein, oder wie meinst du das?

Bei allen Rules (naja außer bei leeren/ungenutzen Rules).
Also bei allen Rules, bei denen Altium per Default schon eine All-Rule 
vorgibt, diese nicht ändern sondern nur eine mit höherer Priorität 
einfügen.
Z.B. niemals die All to All Clearance Rule im Geltungsbereich 
einschränken. Gleiches gilt für Short Circuit, Track Widths ... und eben 
auch für DiffPair. Wenn ich es richtig verstanden habe hast Du eh nur 
eine Definition für Diff-Pairs - brauchst also gar nicht die Regel auf 
eine bestimmte Netzklasse festzulegen.

Ohne das PCBDoc File zu sehen ist das Ganze aber nur wildes Spekulieren. 
Wie gesagt ich würde mal eine All Regel anlegen (wenn keine vorhanden 
ist) und große Werte eintragen um zu sehen ob die Regel überhaupt vom 
System angewendet wird. Als zweites dann die Classes überprüfen.

von Taz G. (taz1971)


Lesenswert?

Das Problem bei den Klassen ist, das sie nicht immer im 'Sync' mit dem 
Schaltplan sind. Ich habe z.B. ein Mulitchannel Design nachträglich um 
einen Kanal erweitert aber die Klassen haben sich nicht geändert (beim 
Update PCB). Gerade Änderungen an den Klassen scheint das System nicht 
immer zu erkennen.
Das Löschen der Klassen hilft.

von Wühlhase (Gast)


Lesenswert?

Bei gewissen Änderungen solltest du noch eine Runde kompilieren bevor du 
die Änderungen ins PCB überträgst.

von Stephan C. (stephan_c)


Lesenswert?

Habsch. Hab auch einen Recompile-Vorgang vorgenommen.

von Frankman (Gast)


Lesenswert?

Ist die clearance rule eingeschaltet? Also Häckchen gesetzt bei 
Designrulecheck? Und Häckchen gesetzt im PCB rules und Violations Panel?
Und die Clearance rule nicht aus versehen auf Abstand 0 gesetzt?
Und hat die Clearance Rule die richtige Priorität?

von Stephan C. (stephan_c)


Lesenswert?

Die Clearance Rules waren richtig eingestellt.
Wie schon gesagt: nachdem ich die betreffenden Netze entfernt, eine 
Forward Annotation gemacht habe und dann neue Netznamen und eine neue 
Netzklasse eingeführt habe, lief es wieder.
Die neuen Rules waren dann dieselben, galten dann aber für andere Netze.

Leider konnte ich dann kein Length Tuning einer einzelnen Leitung eines 
Paares machen. An den Werten habe ich lange genug rumgespielt und es 
dann irgendwann aufgegeben.
Beim Length Tuning laufe ich immer wieder in das Problem, dass ich 
überproportional viel Zeit für das Tätigen der Einstellungen für das 
automatisierte Längentuning investieren muß.

von Mac G. (macgyver0815)


Lesenswert?

Stephan C. schrieb:
> Beim Length Tuning laufe ich immer wieder in das Problem, dass ich
> überproportional viel Zeit für das Tätigen der Einstellungen für das
> automatisierte Längentuning investieren muß.


Das lohnt sich i.d.R. zeitlich wirklich erst, wenn man deutlich mehr 
Leitungen zu verlegen hat und das auch häufiger macht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.