Altium Designerを使用したPCBレイアウトでの差動ペアのルーティング

Zachariah Peterson
|  投稿日 2018/12/21 金曜日  |  更新日 2024/04/5 金曜日
Altium Designerで差動ペアのルーティング

高速デバイスを扱っている場合、コンポーネント間で差動ペアをルーティングする必要があることがよくあります。多くの高速PCBには、特定の奇数モード/差動インピーダンス値を必要とする差動インターフェースが含まれており、PCBレイアウト設計者は、トレースが正しいインピーダンス値を持つように、PCBエディタ内でこれらのジオメトリ制約を指定する必要があります。

これを行う最も速くて正確な方法は、インピーダンス計算と設計ルール設定を単一のワークフローに統合することです。Altium Designerは、Layer Stack Manager機能を使用してこれを支援し、その計算結果をPCBルールおよび制約エディタに渡します。その他の機能には、デカップリング長さ制限、トレース全長制限、長さ/遅延ミスマッチ制限などがあります。

回路図での差動ペアの定義

デバイスで差動ペアを使用する必要がある場合、どのネットがコンポーネントとのインターフェースに差動信号を使用するかを定義する必要があります。単にネットを配置するだけでは不十分で、ネットは差動信号の一部として特に指定される必要があります。Altium Designer®の回路図およびレイアウトエディタにはネット定義機能が含まれており、信号ネット内で差動ペアを定義できます。まず、互いに通信するいくつかのコンポーネントを選択し、それらを回路図に配置し、どのポートが差動信号を使用するかを定義する必要があります。

ここでは、3つの目標があります:

  1. 回路図で差動ペアを定義する;
  2. 差動ペアのためのインピーダンスとルーティングルールを設定する;
  3. PCBレイアウトで差動ペアルーティングを開始する。

始めるために、以下の回路図を見て、差動信号を作成するために必要な差動ペアを定義します。この回路図には、Microchip LAN9514I-JZX USB/イーサネットコントローラー、エッジコネクター、およびいくつかのシールドされたUSBコネクターが含まれています。これらのコンポーネントは、Altium Designer内のManufacturer Part Search panelで見つけることができます。簡潔にするために、このピンリストから「パートA」のみを見てみましょう。これは回路図上で「U1A」という指定子でラベル付けされています。一部の出力はボードエッジコネクターに接続され、他のネットはUSBコネクターにルーティングされます。

A simple schematic for differential pair routing in Altium Designer

Altium Designer内のUSB/イーサネットコントローラーといくつかの接続

クラス最高のインタラクティブ配線

どんなに複雑なプロジェクトでも手動による配線時間を短縮できます。

この回路図では、USB出力を特別な指令記号を使って差動ペアとして定義しました。差動ペアとしてどの接続を指定するかは、「Place」メニューをクリックして指定できます。「Directives」オプションをハイライトし、「Differential Pair」を選択します。差動ペアとして機能させたい接続に指令記号を配置できます。差動ペアの一部になるすべてのネットを単純に選択します。

次に、差動ペアの各半分は、そのネット名を使用して正または負として定義されます。正の端はネットラベルの末尾に「_P」を使用して名付けられ、負の端は「_N」を使用して名付けられる必要があります。上記の回路図でUSB1-USB3ラインに対してこれを行いました。U1Aの左下部分のRXラインに対しても同じことができます。通常、これらはRJ45コネクタにルーティングされる前に磁気回路とボブ・スミス終端回路に接続されますが、差動ペアルーティングを説明するために上記の単純な状況を使用します。

どのクラスを定義するか?

差動ペアを成功させるためには、差動ペアクラスとネットクラスを設定する必要があります。ここでの目標は、同じ設計ルールをグループ内のすべてのペアに適用できるように、複数のペアをまとめることです。このグループは差動ペアクラスであり、設計ルールエディターで幾何学的要件と長さの一致要件を適用します。

差動ペアクラスを定義する必要があるため、各ディレクティブにこれを追加します。私は、回路図に示されている各接続に対してUSB1からUSB3までのクラスを定義しました。 ディレクティブ記号をダブルクリックすると、差動ペアの接続に対してクラスと設計ルールを定義できます。また、ディレクティブ記号を右クリックして「プロパティ」をクリックすると、ラベル、クラス、および差動ペアのルールを指定できるダイアログが表示されます。ここでは、各ペアに「Diff. Pair Net Class」を追加し、このネットにクラス名を割り当てます。これは、USB1_Pについて以下に示されています。

Defining differential pair design rules and constraints in Altium Designer

差動ペアネットクラスの定義

Unparalleled Schematic Capture

Easily design schematics of any complexity.

このディレクティブには、設計ルールを追加する必要があります。これは、上記のダイアログ内で行うことができ、個別のネットに設計ルールを適用することができます。もし、差動ペアの長さ調整や、差動ペアのグループに対して何かを行いたい場合は、PCBエディタで行う方が良いでしょう。上記のダイアログからルールを作成すると、このネットにのみ適用される新しい設計ルールが作成されます。USB1からUSB3の接続に個別に長さマッチングを適用したいのであれば、上記に示されているように差動ペアクラスを定義し、回路図がキャプチャされるまでこれらのネットに対する設計ルールを設定するまで待つことができます。

レイアウトでの差動ペアのルーティング

インピーダンスプロファイルを定義する

スキーマティックをキャプチャしてルーティングを開始する前に、差動ペア用のインピーダンスプロファイルを含む新しいPcbDocを作成する必要があります。この簡単な例では、単端インピーダンスプロファイル(50オーム、S50と命名)と差動ペアインピーダンスプロファイル(90オーム、D90と命名)を持つ4層PCBを作成しました。差動ペアインピーダンスプロファイルは、定義された差動インピーダンスを必要とするUSBラインに使用されます。これは、PCBエディタ内のレイヤースタックマネージャーを通じて行うことができます。私のスタックアップとインピーダンスプロファイルは以下に示されています。

差動ペアのトレース間のスペーシングをデフォルト値の5ミルに設定したことに注意してください。しかし、これを変更することを検討するかもしれません。差動ペアトレースのスペーシングを設定するためのガイダンスについては、この記事を読んでください

Impedance profile in differential pair routing

差動ペアルーティングのためのインピーダンスプロファイルの定義

設計ルールの定義:個々のペア

この時点で、定義した差動ペアを含むレイアウトをキャプチャし、ルーティングすることができます。FPGAとコネクタの間の残りの接続に対して差動ペアを定義しました。まず、プロジェクトに新しいPCBを追加し、回路図をキャプチャします。これは、空のPCBを開いて「Design」メニューをクリックし、「Import Changes From…」を選択することで行えます。Roomはデフォルトで作成されますただし、Engineering Change Orderダイアログでオプションのチェックを外さない限りです。

Easy, Powerful, Modern

The world’s most trusted PCB design system.

ルーティングする前に、回路図内の差動ペアネットに対する設計ルールを定義する必要があります。これは、PCBエディタのDesign -> Rulesダイアログを開いて行います。ここで、これらのネットがUSB仕様に準拠するために、以下のルールを定義する必要があります:

  1. 長さ許容誤差:2ミル(High Speed -> Matched Lengthsエントリで見つかります)
  2. 差動ペアルーティング制約:インピーダンスプロファイルによって定義されます(Routing -> Differential Pair Routingエントリで見つかります)

これらのペアの設計ルールを定義するとき、各ネットに対してルールを作成し、使用したいインピーダンスプロファイルを選択できます。これは以下に示されています。

Defining differential pair rules in Altium Designer

個々のネットの設計ルールの定義

設計ルールの定義:複数ペア

複数の差動ペアを扱っており、すべてに同じ設計ルールが必要な場合、差動ペアクラスに適用される単一の設計ルールを作成する方が良い選択です。クラスを確認および作成するには、PCBエディタで「設計 -> クラス」ダイアログを開きます。差動ペアクラスエントリまで下にスクロールし、右クリックして新しいクラスを作成します。回路図で差動ペアを正しく定義している限り、これらのペアを新しいクラスに追加できます。これは下の画像で示されています。

Classes in differential pair routing

USB差動ペアのグループに対するクラスの定義

Easy, Powerful, Modern

The world’s most trusted PCB design system.

これで、設計ルールエディタに移動し、長さの許容誤差とルーティング制約のために作成したばかりのネットクラスを選択できます。個々のネットに対して行ったのと同じようにします。設計ルールウィンドウの「オブジェクトが一致する場所」エントリで、上のウィンドウで定義した差動ペアクラスを選択します。設計ルールは、クラス内のすべてのネット(USB1、USB2、およびUSB3)に適用されます。これは、設計ルールウィンドウでオプションを選択する限り、レイヤースタックマネージャで定義したインピーダンスプロファイルを適用します。

追加の設計ルールの設定

追加の設計ルールには、一貫したインピーダンスを確保し、信号の整合性を維持するために必要とされるものがあります。

  • 総配線長:これは主に、差動ペアに沿って許容される総挿入損失に関連しています。
  • 最大不一致長:長さの不一致はモード変換に影響を与え、高帯域幅インターフェースではモード変換に制限が必要になります。長さの不一致は、ネットに沿ったスキューのためのマージンを作成するためにも必要です。
  • ネット上の最大ビア数:各ビアはインピーダンスの不一致による追加のリターンロスを生じる可能性があるため、ビアの数を制限することが望ましい場合があります。
  • ルーティング層の制限:差動インピーダンスプロファイルはすべての信号層に対して定義され、任意の信号層に適用されます。必要に応じて、差動ペアのルーティングを特定の層に制限することができます。
  • 最大スタブ長:最大スタブ長は、マルチGHz帯域幅を持つインターフェース/チャネルでより重要です。
  • リターンパス:隣接するGNDネットからの許容される偏差は設定され、ルーティング中に検出されます。

これらのルール設定のほとんどは、PCB設計ルールおよび制約エディタの高速セクションの下で見つけることができます。

PCBエディタでの差動ペアのルーティング

これで、回路図からの変更をインポートして、PCBレイアウトを開始する時が来ました。PCBレイアウトを作成する前にフロントエンドで多くの作業を行い、制約を設定しましたが、今では設定した設計ルールが、ペアがルーティングされる際に必要なインピーダンス、間隔、および長さのマッチングルールを保証します。コンポーネントを希望の配置にしたら、PCBエディタウィンドウの上部にあるインタラクティブ差動ペアルーティングオプションを選択してください。

下の画像は、途中で作業したいコンポーネントを示しています。インタラクティブルーターを使用する場合、ネットの一方の端をクリックするだけで、ボードを移動するにつれて両方のトレースが同時にルーティングされます。

Mid differential pair routing in a PCB layout.

 

理想的ではありませんが、差動ペアのトレース間に障害物が落ち込むことを許す場合、ルーターはルーティング中にトレースを障害物の周りに自動的に移動させることができます。例を挙げると、下記のようにルーティングパスに抵抗器が配置されています。トレースがコンポーネントに近づくと、可能な限り狭いクリアランスでコンポーネントの周りに自動的に移動されます。その後、コンポーネントの反対側をクリックして、コンポーネントの周りにルーティングを設定し、目的地に向かってルーティングを続けることができます。

これにより、最大非結合長に関する設計ルールエラーが発生する可能性がありますが、一般的にはコンポーネントの周りを移動する際には障害物回避がここでも優先されます。

Differential pair routing around an obstacle.

 

より複雑なコンポーネント、例えばボール数が多いBGAやピンピッチが狭いSMDコネクターの場合、トレースの接続を作成するためにファンアウト戦略を使用する必要があります。これらのコンポーネントへの追加のルーティング設定は、コンポーネントの周りにRoomオブジェクトを作成することで制御できます。その後、デザインルールを定義する際に「Within Room」カスタムクエリを使用して、この領域内でクリアランスなどの特定の制約を指定できます。これにより、ピン間のネックダウン、デカップリング長、平行セグメント、およびクリアランスをルーム領域内でのみ制御でき、コンポーネントのピンアウトを見る際のインピーダンスの不一致を最小限に抑えることができます。

次のステップ: 長さ調整と信号整合性

下の画像は、2つのルーティングされた差動ペアを示しています。これはAltium Designerのインタラクティブなルーティングツールのおかげで、迅速かつ簡単なプロセスです。この時点で、各ペアに長さ調整を適用するか、複数のペアにわたって適用できます。差動ペアに長さ調整を適用する方法を見るには、この記事をご覧ください

Finished differential pair routing

Altium Designerでの差動ペアルーティングの完成

xSignalsパッケージを使用して、これらのネットやネットのグループの信号整合性を調べることもできます。ネットのグループを調べるには、Design -> ClassesダイアログからxSignalsクラスを定義する必要があります。これは、差動ペアクラスを作成するのと同じ方法で行われます。これにより、信号の立ち上がりエッジと立ち下がりエッジ、およびオーバーシュート/アンダーシュートを調べることができます。他の高速設計ルールも、長さの許容誤差や差動インピーダンスに対して行われたのと同じ方法で、このレイアウトに適用することができます。ここで示された設計ルールは、迅速かつ簡単な差動ペアルーティングの鍵です。

Altium Designerは、設計内の情報をルーティングツールと統合し、次のデバイスが意図した通りに機能することを保証します。Altium Designerの統合環境により、すべてのツールが同じルール駆動型設計エンジンを使用して通信できます。最高の回路図、CAD、シミュレーション、およびルーティングツールは、最高のPCBを作成するために必要なものです。

今日、Altium Designerの専門家に相談して、Altium Designerについてもっと学びましょう。

筆者について

筆者について

Zachariah Petersonは、学界と産業界に広範な技術的経歴を持っています。PCB業界で働く前は、ポートランド州立大学で教鞭をとっていました。化学吸着ガスセンサーの研究で物理学修士号、ランダムレーザー理論と安定性に関する研究で応用物理学博士号を取得しました。科学研究の経歴は、ナノ粒子レーザー、電子および光電子半導体デバイス、環境システム、財務分析など多岐に渡っています。彼の研究成果は、いくつかの論文審査のある専門誌や会議議事録に掲載されています。また、さまざまな企業を対象に、PCB設計に関する技術系ブログ記事を何百も書いています。Zachariahは、PCB業界の他の企業と協力し、設計、および研究サービスを提供しています。IEEE Photonics Society、およびアメリカ物理学会の会員でもあります。

関連リソース

関連する技術文書

ホームに戻る
Thank you, you are now subscribed to updates.
Altium Need Help?