Definieren von High-Speed-Signalpfaden mit xSignals
Auf einen Blick
- Verstehen Sie, warum sich Timing- und Signalintegritätsanforderungen bei High-Speed-Designs mit Standardnetzen allein nur schwer verwalten lassen.
- Erfahren Sie, wie Sie mit xSignals Signalpfade durch Bauteile und Verzweigungen definieren, damit Designregeln die tatsächliche Routing-Absicht widerspiegeln.
- Machen Sie sich mit wichtigen xSignal-Abfrageschlüsselwörtern und den Begriffen vertraut, die Sie für die Einrichtung von Regeln und die Verwaltung von Signalpfaden benötigen.
Die Herausforderung
Mit den stetig steigenden Schaltgeschwindigkeiten von Bauelementen wächst die Herausforderung, die Signalintegrität aufrechtzuerhalten und die Timing-Anforderungen der Signale zu erfüllen. Die Signalintegrität lässt sich durch impedanzkontrolliertes Routing sicherstellen. Dies erfordert eine sorgfältige Auslegung sowohl des Leiterplatten-Lagenaufbaus als auch der Leiterbahnbreiten auf den einzelnen Lagen.
Die Timing-Anforderungen werden durch den Längenabgleich der gerouteten Signalpfade erfüllt. Bei Signalpfaden mit jeweils zwei Pins, die von einem Ausgangspin zu einem einzelnen Eingangspin verlaufen, lassen sich die Längen einfach berechnen und vergleichen. Bei vielen typischen Designlösungen ist dies jedoch nicht der Fall: Im Signalpfad kann sich ein Serienterminierungsbauteil befinden, oder das Signal umfasst mehr als zwei Pins. In diesem Fall kann eine Balanced-T- oder Fly-By-Routingtopologie verwendet werden, wie in der folgenden Abbildung dargestellt.

Vier DDR2-RAM-Chips, die mit einer Balanced-T-Topologie geroutet wurden. ##
Die Lösung
Die Aufgabe des Entwicklers besteht darin, die Designanforderungen – etwa die maximal zulässige Leiterbahnlänge zur Einhaltung des Timing-Budgets – in einen Satz von Designregeln zu übertragen. Dazu gehören beispielsweise eine Length-Regel zur Sicherstellung der Timing-Einhaltung und eine Matched Lengths-Regel zur Erkennung möglicher Timing-Abweichungen.
Der Entwickler betrachtet die Signale aus funktionaler Sicht (z. B.: „Dieses Adresssignal muss von diesem Steckverbinder zu jedem Speicherbaustein geroutet werden. Dafür verwende ich eine Fly-By-Topologie mit einem Abschlusswiderstand am Ende. Möglicherweise benötige ich auch eine Serienterminierung an der Quelle.“). Auch wenn die Adressleitung A0 durch einen Abschlusswiderstand führt, bleibt dieses Signal für den Entwickler auf der anderen Seite des Widerstands weiterhin A0.
Der PCB-Editor hingegen betrachtet jedes Signal lediglich als eine Gruppe miteinander verbundener Pins (üblicherweise als Netz bezeichnet): Das Netz A0 verläuft von diesem Steckverbinder-Pin zu diesem Pin eines Speicherbausteins, dann zu diesem Pin eines weiteren Speicherbausteins und so weiter. Sobald ein Serienabschlusswiderstand hinzugefügt wird, wird diese Adressleitung zu zwei getrennten Netzen. Dadurch wird es für den Entwickler schwierig, wesentliche Designanforderungen wie die Designregeln Length und Matched Lengths festzulegen.
Dies lässt sich mit einer Funktion namens xSignals (oder extended Signal) handhaben. Diese Funktion ermöglicht es, einen High-Speed-Signalpfad korrekt als das zu behandeln, was er ist: ein Pfad, auf dem sich ein Signal zwischen Quelle und Ziel ausbreitet – auch durch Terminierungsbauteile und über Verzweigungen.
xSignal-Abfrageschlüsselwörter
Der PCB-Editor enthält eine leistungsstarke und ausgereifte filtering engine. Diese Engine dient dazu, Objekte zu identifizieren: bei der Suche nach Objekten im Designbereich, beim Anwenden von Regeln während interaktiver und automatischer Designaufgaben sowie beim Prüfen der Regeleinhaltung. Der Entwickler teilt der Filter-Engine mit, welche Objekte relevant sind, indem er eine Abfrage mit Schlüsselwörtern formuliert, die von der Filter-Engine erkannt werden.
Die folgenden xSignal-Abfrageschlüsselwörter wurden zur Verwendung in Designregeln und Designbereichsfiltern hinzugefügt:
Schlüsselwörter zur Prüfung der Zugehörigkeit
-
InxSignal – Befindet sich das Objekt im angegebenen xSignal, z. B.
InxSignal('DRAM_A0_PP1') -
InxSignalClass – Befindet sich das Objekt in der angegebenen xSignal-Klasse, z. B.
InxSignalClass('PCIE') -
IsxSignal – Ist das Objekt ein xSignal mit dem angegebenen Namen, z. B.
IsxSignal('DRAM_A0_PP1')
Schlüsselwort zur Attributprüfung
InAnyxSignal – Befindet sich das Objekt in einem beliebigen xSignal, z. B. InAnyxSignal
Netzbezogene Terminologie
Im PCB-Editor werden die folgenden Begriffe verwendet:
- Net – eine Gruppe von Bauteil-Pins (Knoten), die miteinander verbunden sind. Die Anordnung der Verbindungen zwischen diesen Knoten wird als Topologie bezeichnet; die Standardtopologie ist die kürzeste Verbindung.
- From-To – konzeptionell verläuft ein From-To zwischen zwei Knoten in einem Netz. From-Tos können so erstellt werden, dass sie der Topologie bzw. der Anordnung der Knoten in diesem Netz folgen. Beispielsweise könnte die Netztopologie von R1-1 über U1-5 und U3-2 zu R5-2 verlaufen. Dieses Netz könnte drei From-Tos enthalten: R1-1 zu U1-5, U1-5 zu U3-2 und U3-2 zu R5-2. Wird die Topologie geändert, ändern sich auch die möglichen From-Tos. From-Tos werden im Modus From-To des Panels PCB erstellt: entweder durch Klicken auf die Schaltfläche Generate, um sie anhand einer Topologie zu erstellen, oder durch Auswahl zweier Pads in einem Netz und anschließendes Klicken auf die Schaltfläche Add From To.
- xSignal – eine benutzerdefinierte Gruppe von Knoten, typischerweise eine Teilmenge eines Netzes (von diesem Knoten zu jenem Knoten) oder eine Kombination aus zwei Netzen, die ein Serienbauteil, etwa einen Abschlusswiderstand, einschließen.