Hochgeschwindigkeits-Signalrouting: Die 10 wichtigen PCB-Design-Beschränkungen

Zachariah Peterson
|  Erstellt: April 29, 2020  |  Aktualisiert am: Oktober 1, 2026
At a Glance

Ihre Strategie für das Routing von Hochgeschwindigkeitssignalen erfordert Aufmerksamkeit für Randbedingungen und eine durchdachte, kreative Platzierungsplanung. So routen Sie Hochgeschwindigkeitssignale richtig.

Go Deeper with AI:
High-Speed-Signal-Routing: Die 10 wichtigen PCB-Design-Einschränkungen

Ihre moderne digitale Leiterplatte arbeitet mit hoher Wahrscheinlichkeit als Hochgeschwindigkeits-Digitalsystem – unabhängig davon, ob dies beabsichtigt war oder nicht. Natürlich hängen die Auswirkungen und der erforderliche Bewertungsaufwand von der Anstiegszeit Ihrer Signale ab, und dies schränkt häufig ein, wie und wo Sie bestimmte Signale auf der Leiterplatte routen. Diese Einschränkungen können als PCB-Designregeln in Ihrem PCB-Projekt definiert werden, und dieser Artikel behandelt einige der gängigen Einschränkungen in Hochgeschwindigkeitsdesigns, um ein erfolgreiches Routing sicherzustellen.

10 wichtige Routing-Einschränkungen für High-Speed-PCBs

Leiterbahnbreitenwerte nach Layer

Die standardmäßigen Schnittstellen zur Übertragung hochgeschwindiger digitaler Daten sind allesamt impedanzkontrollierte Schnittstellen. Der an eine Leiterbahn angeschlossene Treiber erwartet, dass die Leiterbahn einen bestimmten Impedanzwert aufweist, und Ihre ECAD-Software muss diesen beibehalten, sobald Sie mit dem Routing beginnen. Ebenso sind Empfänger auf eine bestimmte Eingangsimpedanz oder Lastkapazität terminiert und funktionieren nur dann wie spezifiziert, wenn die Impedanz der angeschlossenen Leiterbahn stimmt.

Sobald Sie ein Impedanzmodell für Ihr Design erstellt haben, sollten die Leiterbahnbreitenbeschränkung und die zulässigen Abweichungen für jede Signallage festgelegt und anschließend auf verschiedene Netzklassen angewendet werden. Dies erfordert eine Berechnung der Leiterbahnimpedanz in unterschiedlichen Geometrien.

In Altium Designer werden Berechnungen der Leitungsimpedanz im selben Werkzeug durchgeführt, das auch zur Definition des PCB-Lagenaufbaus verwendet wird.

  1. Öffnen Sie Design » Layer Stack Manager und konfigurieren Sie den Stackup, einschließlich Kupferdicken, Dielektrikumsdicken und Materialeigenschaften des Dielektrikums.
  2. Wählen Sie die Registerkarte Impedance und klicken Sie auf Add Impedance Profile oder auf die Schaltfläche zum Hinzufügen, wenn bereits ein Profil vorhanden ist.
  3. Wählen Sie im Bereich Properties den Profiltyp aus und geben Sie die Target Impedance sowie die Target Tolerance ein.
  4. Aktivieren Sie die Signallagen, die dieses Profil verwenden sollen, und weisen Sie dann in den Spalten Top Ref und Bottom Ref die Referenzlagen zu.
  5. Wählen Sie jede aktivierte Signallage aus und prüfen Sie die berechnete Leiterbahnbreite. Sperren Sie bei einem differentiellen Profil entweder Width oder Trace Gap, damit der Solver den jeweils anderen Wert für die Zielimpedanz berechnet.
  6. Speichern Sie den Lagenaufbau. Das resultierende Profil kann dann in der entsprechenden Width- oder Differential Pairs Routing-Regel ausgewählt werden.

Impedanzkontrollierte Netzklassen

Um sicherzustellen, dass das Routing bei bestimmten Schnittstellen mit der korrekten Impedanz beibehalten wird, verwenden wir einen einfachen Prozess: Netze werden gruppiert und netzspezifische Designregeln erstellt, um die Leiterbahnbreite durchzusetzen. Das Gruppieren von Netzen mit derselben Impedanz in Netzklassen ist der schnellste Weg, mehrere Einschränkungen auf Netzgruppen anzuwenden. Dazu gehören auch die wichtigsten High-Speed-Einschränkungen wie Leiterbahnbreite und abgestimmte Signallaufzeiten in Parallelbussen und differentiellen Paaren.

  1. Fügen Sie im Schaltplan an jedes Netz, das zur Gruppe gehört, eine Net Class directive an und geben Sie bei jeder Direktive denselben Klassennamen ein. Ein Blanket mit angehängtem Parametersatz kann ebenfalls mehrere Netze gruppieren.
  2. Öffnen Sie Project » Project Options » Class Generation und aktivieren Sie die Erzeugung benutzerdefinierter Netzklassen. Aktualisieren Sie das PCB und führen Sie die klassenbezogenen Änderungen im Engineering Change Order aus.
  3. Alternativ können Sie die Klasse direkt im PCB-Editor über Design » Classes erstellen. Fügen Sie unter Net Classes eine neue Klasse hinzu, benennen Sie sie und verschieben Sie die erforderlichen Netze von Non-Members nach Members.
  4. Öffnen Sie Design » Rules und erstellen Sie die erforderliche Regel, zum Beispiel Routing » Width.
  5. Legen Sie den Geltungsbereich der Regel auf InNetClass('ClassName') fest und ersetzen Sie ClassName durch den tatsächlichen Klassennamen.
  6. Konfigurieren Sie die Einschränkungen. Aktivieren Sie für impedanzkontrolliertes Routing Use Impedance Profile und wählen Sie das im Layer Stack Manager erstellte Profil aus.
  7. Geben Sie der klassenspezifischen Regel eine höhere Priorität als allgemeineren Regeln desselben Typs und übernehmen Sie dann die Änderungen.

Wie sieht es mit der Impedanzabweichung aus? Wie sollten Sie diese berücksichtigen, wenn Sie die Leiterbahnbreite ändern möchten? Dies ist durch Neck-Down möglich, also durch das Ändern der Leiterbahnbreite, wenn die Leiterbahn beispielsweise in einen Raum eintritt, etwa in einem BGA-Footprint. Wenn Sie solche Routing-Anforderungen vorhersehen können, sollten Sie die Änderung der Leiterbahnbreite in Ihren PCB-Designregeln berücksichtigen.

Einschränkung des Rückstrompfads

Prüfungen zur Einschränkung des Rückstrompfads verifizieren, dass eine Leiterbahn keine Grenze einer Referenzfläche kreuzt, beispielsweise die Lücke zwischen zwei Schienen in einer Versorgungslage. Das Überqueren dieser Lücke unterbricht den nahegelegenen Rückstrompfad und zwingt den Rückstrom zu einem Umweg. In Altium Designer verwendet eine Return-Path-Regel das zugewiesene Impedanzprofil, um Referenzlagen zu identifizieren und die Kupferkontinuität unterhalb des Routings zu prüfen.

Timing-Skew

Skew zwischen Signalen in Parallelbussen oder innerhalb eines differentiellen Paars muss minimiert werden, wenn die Anforderungen an die Laufzeitanpassung sehr streng sind. Es gibt drei Kategorien von Timing-Skew, die in einem PCB-Layout eingeschränkt werden müssen:

  • Signallaufzeitanpassung innerhalb eines differentiellen Paars
  • Laufzeitanpassung zwischen mehreren differentiellen Paaren
  • Längenanpassung in gemischten Bussen (Single-Ended und differentielle Paare)

Deshalb definieren wir gerne Netzklassen; dadurch werden Timing-Einschränkungen wesentlich einfacher, da sie für alle Netze in dieser Netzklasse umgesetzt werden können.

Bei Schnittstellen wie PCIe und DDR sind die Timing-Einschränkungen so eng, dass die Signallaufzeit im Pin-Gehäuse benötigt wird, um genau sicherzustellen, dass Signale ihr Ziel innerhalb des erforderlichen Zeitfensters erreichen. Informationen können vom Komponentenhersteller bereitgestellt werden, um die betreffende Hochgeschwindigkeitsschnittstelle zu modellieren. Wenn Sie ein Schaltplansymbol für die Bibliothekskomponente erstellen, können die Pin-Verzögerungsinformationen in die Pin-Definitionen an beiden Enden der Verbindung aufgenommen werden, und diese Verzögerungswerte werden während des Routings in das Delay-Tuning-Werkzeug einbezogen.

Um Pin-Gehäuse-Verzögerungen während des Routings in Altium Designer in die Delay-Tuning-Berechnung einzubeziehen, müssen die Netze der betreffenden Schnittstelle in xSignals enthalten sein. Dieses Werkzeug berücksichtigt alle Verzögerungen Punkt-zu-Punkt zwischen zwei integrierten Schaltungen, und diese werden in der Delay-Tuning-Berechnung verwendet.

Einschränkungen für Routing-Lagen

Bei Leiterplatten mit vielen Lagen ist es häufig so, dass bestimmte Netzklassen oder Klassen differentieller Paare nur bestimmten Lagen zugewiesen werden. Dafür gibt es zwei Hauptgründe:

  • Unterschiedliche Lagen werden nach Impedanz getrennt, was Tests für kontrollierte Impedanz unterstützt
  • Einige Verbindungen benötigen größere Abstände, um geringes Übersprechen sicherzustellen, wodurch nur wenig Platz für andere Signalroutings bleibt

Beispielsweise ist es üblich, unterschiedliche Schnittstellen wie DDR, differentielle 90-Ohm-Paare (z. B. USB), differentielle 100-Ohm-Paare und andere impedanzkontrollierte Busse auf eigenen Lagen mit gemeinsamem Pair-Design zu trennen. Diese Trennung kann auch über Leiterbahnbreiten-/Abstandswerte erfolgen, da dies Herstellern das Austauschen gegen gleichwertige Materialien bei Bedarf erleichtert.

Eine Routing-Layers-Regel legt fest, welche Signallagen von der Ziel-Netzklasse oder der Klasse differentieller Paare verwendet werden dürfen. Klassenspezifische Regeln erlauben es jeder Schnittstelle, ihre zugewiesenen Lagen zu nutzen, während gleichzeitig eine allgemeinere Regel für anderes Routing beibehalten wird.

  1. Öffnen Sie Design » Rules und erstellen Sie eine neue Regel unter Routing » Routing Layers.
  2. Legen Sie den benutzerdefinierten Geltungsbereich für eine Netzklasse auf InNetClass('ClassName') oder für eine Klasse differentieller Paare auf InDifferentialPairClass('PairClass') fest.
  3. Aktivieren Sie in der Lagenliste Allow Routing für die zulässigen Lagen und deaktivieren Sie es für die übrigen Lagen.
  4. Geben Sie dieser Regel eine höhere Priorität als jeder allgemeineren Routing-Layers-Regel, die auf dieselben Netze abzielt.
  5. Übernehmen Sie die Regel und führen Sie eine Design-Rule-Prüfung aus, um vorhandenes Routing auf unzulässigen Lagen zu identifizieren.

Abstände zu allen anderen Objekten nach Lage

Abstandswerte unterscheiden sich normalerweise zwischen Innen- und Außenlagen aufgrund des Beschichtungsprozesses der Außenlagen. Da viele High-Speed-Designs jedoch auch hochdichte Designs sind, ist es üblich, dass unterschiedliche Innenlagen unterschiedliche Abstandswerte erfordern. Dies ergibt sich aus der Verwendung von Teillaminaten, die einen zusätzlichen Beschichtungsprozess erfordern und zu einer höheren galvanisch abgeschiedenen Kupferdicke als beim Grundkupfer führen.

In Altium Designer können die Abstände nach Lage mithilfe des Abfragesystems definiert werden:

  1. Öffnen Sie Design » Classes im PCB-Editor und erstellen Sie unter Layer Classes eine neue Lagenklasse.
  2. Benennen Sie die Klasse und fügen Sie die Lagen hinzu, die dieselben Abstandsanforderungen haben. Wiederholen Sie dies für jede Gruppe, die einen anderen Abstand erfordert.
  3. Öffnen Sie Design » Rules und erstellen Sie für jede Lage oder Lagenklasse eine neue Regel unter Electrical » Clearance.
  4. Wählen Sie für den Geltungsbereich des ersten Objekts eine benutzerdefinierte Abfrage. Verwenden Sie OnLayer('Top Layer') für eine einzelne Lage oder InLayerClass('LayerClass') für eine Lagenklasse, wobei Sie den tatsächlichen Lagen- oder Klassennamen einsetzen.
  5. Setzen Sie den Geltungsbereich des zweiten Objekts auf All, damit die Regel den Abstand zu anderen Kupferobjekten auf der betreffenden Lage prüft.
  6. Wählen Sie Different Nets Only und geben Sie den erforderlichen Mindestabstand ein. Verwenden Sie die Abstandsmatrix, wenn unterschiedliche Objektkombinationen unterschiedliche Werte erfordern.
  7. Geben Sie den lagenspezifischen Regeln eine höhere Priorität als der allgemeinen Abstandregel, übernehmen Sie die Änderungen und führen Sie eine Design-Rule-Prüfung aus.

Stellen Sie sicher, dass Sie die Abstandsanforderungen nach Kupfergewicht (innen und außen) von Ihrem Anbieter für PCB-Fertigungsdienstleistungen erhalten.

Es ist auch möglich, Abstände nach Lage mit dem neuen Constraint Manager zu definieren. Dies bietet einen matrixbasierten Ansatz für Abstandsdefinitionen, der Entwicklern aus anderer ECAD-Software deutlich vertrauter vorkommen wird. Erfahren Sie im folgenden Video mehr über den Constraint Manager:

Netzspezifische Via-Größen oder Vorlagen

Ich habe an anderer Stelle im Altium-Blog erläutert, wie die Via-Impedanz funktioniert und bei welchen Frequenzen Vias auf eine bestimmte Eingangsimpedanz ausgelegt werden müssen. Diese Via-Größen und Anti-Pad-Größen sind für einen bestimmten Lagenaufbau und Lagenübergang netzspezifisch, und die Einschränkung der Via-/Pad-Größe kann mithilfe von PCB-Designregeln definiert werden.

Via-Größen können auf zwei Arten eingeschränkt werden:

  • Durch Definieren der zulässigen Größen für bestimmte Netze/Netzklassen
  • Durch Zuweisen einer Via-Vorlage zu bestimmten Netzen/Netzklassen

Die Bestimmung der richtigen Via-Größe ist nicht so einfach, wie einen Online-Rechner zur Ermittlung von Via-Größen zu verwenden. Dafür ist eine 3D-Simulation des elektromagnetischen Feldes oder zumindest ein empirisches Modell erforderlich, das aus Simulationsdaten entwickelt wurde. Sobald die Via-Größen und Anti-Pad-Größen festgelegt sind, sollten diese als Designregeln durchgesetzt werden, damit die wichtigen High-Speed-Netze auf die richtigen Via-Größen beschränkt werden.

Via-Anti-Pad

Das Via-Anti-Pad ist ein weiterer Bestandteil des impedanzgerechten Via-Designs, da der Abstand zur Lage die Kapazität entlang des Via-Barrels anpasst. In allen Designs gibt es bereits eine Mindestabstandsanforderung zwischen Via-Pads und dem benachbarten Kupfer auf Flächenzügen oder großen Versorgungsflächen. Der Abstand zwischen Via und Kupfer kann für bestimmte Netze mithilfe einer PCB-Designregel auf Netz- oder Netzklassenbasis angepasst werden.

Bei Differenzialnetzen kann die Form des Anti-Pads länglich oder elliptisch sein, anstatt kreisförmig um einzelne Vias. Dieses gemeinsame Anti-Pad wird am besten definiert, indem die Anti-Pad-Form gezeichnet wird, entweder als Plane-Cutout oder Polygon-Cutout. Ein Beispiel ist unten dargestellt.

Via-in-Pad-Zulässigkeit

Ein Merkmal moderner High-Speed-PCBs ist, dass sie in der Regel auch High-Density-PCBs sind. Das liegt daran, dass die meisten Prozessoren heute in BGA-Gehäusen geliefert werden, und bei kleinem Pitch ist Via-in-Pad erforderlich, um das Fanout-Routing zu vervollständigen. Selbst bei BGA-Gehäusen mit grobem Pitch und Dog-Bone-Fanout befindet sich die optimale Platzierung von Bypass-Kondensatoren auf der Rückseite des BGA unter Verwendung von Via-in-Pad.

Standardmäßig prüft ECAD-Software auf Via-in-Pad und kennzeichnet dies als DRC-Verletzung, wenn es vorhanden ist. Via-in-Pad kann jedoch innerhalb der Designregeln zugelassen werden, um das BGA-Fanout-Routing zu unterstützen.

Öffnen Sie Design » Rules und erstellen Sie eine Regel High Speed » Via Under SMD. Aktivieren Sie Allow Vias under SMD Pads und begrenzen Sie die Regel auf die vorgesehenen Pads, indem Sie IsPad AND WithinRoom('BGA_Fanout') für einen definierten Fanout-Bereich verwenden. Geben Sie dieser Regel eine höhere Priorität als der allgemeinen Regel. Konfigurieren Sie außerdem eine passende Same Net Only Clearance-Regel mit null Abstand zwischen SMD-Pad und Via sowie zwischen Pad und Via-Bohrung für die freigegebenen Vias.

Stellen Sie sicher, dass die relevanten Vias mithilfe der Option für IPC-4761-Via-Typen im Eigenschaftenfenster als gefüllt und verschlossen angegeben sind. Dies kann auch durch manuelle Auswahl der spezifischen Via-Gruppe erfolgen, die metallisiert und verschlossen werden soll, oder durch Hinzufügen einer Fertigungsnotiz zu Ihrer Masterzeichnung, falls alle Vias gefüllt und verschlossen werden sollen.

Entkoppelte Länge von Differenzialpaaren

Die entkoppelte Länge eines Differenzialpaars trägt zum Rückflussdämpfungsverlust in einem Differenzialkanal bei, daher ist es in einigen Anwendungen wichtig, eine geeignete entkoppelte Länge zu bestimmen. Der entkoppelte Bereich entsteht meist beim Routing aus einem dichten Pin-Feld in einem BGA, wo sich die Leiterbahnen voneinander trennen müssen, um um Vias herum geroutet zu werden.

Die Berechnung der entkoppelten Länge ist keine einfache Berechnung, da sie auf einer korrekten kritischen Längenberechnung basierend auf Ihrer Kanalbandbreite beruht. Eine brauchbare Strategie ist, das Differenzialpaar von Anfang an mit loser Kopplung zu entwerfen, wenn Sie wissen, dass Ihre Differenzialpaare im Fanout-Routing einen entkoppelten Bereich haben werden. Dadurch wird die Impedanzfehlanpassung im entkoppelten Bereich reduziert und die Modenkonversion verringert.

Wenn Sie mehr über das PCB-Designregelsystem in Altium Designer erfahren möchten, sehen Sie sich das folgende Video an.

 

Ganz gleich, ob Sie zuverlässige Leistungselektronik oder fortschrittliche digitale Systeme entwickeln müssen – nutzen Sie Altiums vollständigen Satz an PCB-Designfunktionen und CAD-Tools der Spitzenklasse. Altium bietet die weltweit führende Plattform für die Entwicklung elektronischer Produkte – komplett mit den besten PCB-Designtools der Branche und Funktionen für die interdisziplinäre Zusammenarbeit in fortschrittlichen Entwicklungsteams. Kontaktieren Sie noch heute einen Experten bei Altium!

 

Häufig gestellte Fragen

Wie kann ich prüfen, ob PCB-Leiterbahnen Lücken in ihren Referenzlagen kreuzen?

Erstellen Sie in Altium Designer eine Regel High Speed » Return Path und begrenzen Sie sie auf die relevanten Netze oder die betreffende Netzklasse. Wählen Sie das Impedanzprofil aus, das ihre Referenzlagen definiert, konfigurieren Sie den Mindestabstand von der Leiterbahn zu den Referenzkupfergrenzen und führen Sie eine Stapelprüfung der Designregeln durch. Die Prüfung erkennt Routing über Diskontinuitäten im Referenzkupfer, einschließlich Lücken zwischen Versorgungsflächen.

Wie beschränke ich eine Netzklasse oder Differenzialpaar-Klasse auf bestimmte Routing-Lagen?

Erstellen Sie unter Design » Rules eine Regel Routing » Routing Layers und begrenzen Sie sie mit InNetClass('ClassName') oder InDifferentialPairClass('PairClass'). Aktivieren Sie Allow Routing nur für die zulässigen Signallagen und geben Sie der Regel eine höhere Priorität als allgemeineren Routing-Layers-Regeln. Diese Einstellungen beschränken das Routing und ermöglichen es den Design Rule Checks, vorhandene Leiterbahnen auf unzulässigen Lagen zu erkennen.

Wie weise ich bestimmten Netzen und Netzklassen Via-Größen oder Via-Vorlagen zu?

Erstellen Sie eine Regel Routing » Routing Via Style und begrenzen Sie sie mit InNet('NetName') oder InNetClass('ClassName') auf das Zielnetz oder die Zielnetzklasse. Definieren Sie den minimalen, bevorzugten und maximalen Via-Durchmesser sowie die Bohrungsgröße, oder konfigurieren Sie die Regel so, dass freigegebene Via-Vorlagen verwendet werden. Geben Sie der Regel eine höhere Priorität als der allgemeinen Via-Regel. Via-Lagenspannen werden separat im Layer Stack Manager definiert.

Wie erstelle ich Netzklassen und weise High-Speed-PCB-Routingregeln zu?

Netzklassen können mit Net-Class-Direktiven im Schaltplan oder direkt über Design » Classes im PCB-Editor erstellt werden. Bei im Schaltplan definierten Klassen aktivieren Sie in den Project Options die Generierung benutzerdefinierter Netzklassen und übertragen anschließend die Änderungen auf die PCB. Unter Design » Rules begrenzen Sie jede anwendbare Routing- oder Timing-Regel mit InNetClass('ClassName'), konfigurieren ihre Einschränkungen und geben ihr Priorität gegenüber allgemeineren Regeln desselben Typs.

Über den Autor / über die Autorin

Über den Autor / über die Autorin

Zachariah Peterson verfügt über einen umfassenden technischen Hintergrund in Wissenschaft und Industrie. Vor seiner Tätigkeit in der Leiterplattenindustrie unterrichtete er an der Portland State University. Er leitete seinen Physik M.S. Forschung zu chemisorptiven Gassensoren und sein Ph.D. Forschung zu Theorie und Stabilität von Zufallslasern. Sein Hintergrund in der wissenschaftlichen Forschung umfasst Themen wie Nanopartikellaser, elektronische und optoelektronische Halbleiterbauelemente, Umweltsysteme und Finanzanalysen. Seine Arbeiten wurden in mehreren Fachzeitschriften und Konferenzberichten veröffentlicht und er hat Hunderte von technischen Blogs zum Thema PCB-Design für eine Reihe von Unternehmen verfasst. Zachariah arbeitet mit anderen Unternehmen der Leiterplattenindustrie zusammen und bietet Design- und Forschungsdienstleistungen an. Er ist Mitglied der IEEE Photonics Society und der American Physical Society.

Related Technical Documentation

Ähnliche Resourcen

Zur Startseite
Thank you, you are now subscribed to updates.