Mobile menu

高速信号配線:PCB設計における10の重要な制約条件

Zachariah Peterson
|  投稿日 2020/04/29 水曜日  |  更新日 2026/10/1 木曜日
At a Glance

高速信号の配線戦略では、制約への十分な配慮と創造的なフロアプランニングが求められます。ここでは、高速信号を適切に配線する方法をご紹介します。

Go Deeper with AI:
高速信号配線:PCB設計における10の重要な制約事項

現代のデジタルPCBは、意図していたかどうかにかかわらず、高速デジタルシステムとして動作している可能性が高いです。もちろん、その影響や必要となる評価レベルは信号の立ち上がり時間に左右され、これによってPCB上で特定の信号をどのように、どこに配線できるかが制約されることがよくあります。こうした制約はPCBプロジェクト内でPCB設計ルールとして定義でき、本記事では、高速設計で課される代表的な制約を取り上げ、確実な配線を実現するためのポイントを解説します。

高速PCB配線における重要な10の制約

層ごとのトレース幅の値

高速デジタルデータの伝送に使われる標準インターフェースは、いずれもインピーダンス制御されたインターフェースです。トレースに接続されるドライバは、そのトレースが特定のインピーダンス値を持つことを前提としており、ECADソフトウェアは配線開始時からこれを維持する必要があります。同様に、レシーバも特定の入力インピーダンスまたは負荷容量で終端されており、接続されたトレースのインピーダンスに基づいてのみ仕様どおりに動作します。

設計用のインピーダンスモデルを確立したら、各信号層ごとにトレース幅の制約と許容変動を設定し、それらを各種ネットクラスに適用する必要があります。そのためには、異なるジオメトリにおけるトレースインピーダンスの計算が必要です。

Altium Designer では、伝送線路のインピーダンス計算はPCBレイヤースタックを定義するのと同じツール内で実行されます。

  1. Design » Layer Stack Manager を開き、銅厚、誘電体厚、誘電体材料特性を含むスタックアップを設定します。
  2. Impedance タブを選択し、Add Impedance Profile をクリックします。すでにプロファイルが存在する場合は追加ボタンを使用します。
  3. Properties パネルでプロファイルタイプを選択し、Target Impedance と Target Tolerance を入力します。
  4. このプロファイルを使用する信号層を有効にし、Top Ref 列および Bottom Ref 列で基準層を割り当てます。
  5. 有効化した各信号層を選択し、計算されたトレース幅を確認します。差動プロファイルの場合は、Width または Trace Gap のいずれかを固定し、ソルバーがもう一方の値を目標インピーダンスに合わせて計算できるようにします。
  6. レイヤースタックを保存します。作成されたプロファイルは、該当する Width ルールまたは Differential Pairs Routing ルールで選択できるようになります。

インピーダンス制御されたネットクラス

特定のインターフェースで配線を正しいインピーダンスに維持するために、ネットをグループ化し、トレース幅を強制するネット固有の設計ルールを作成するというシンプルな方法を用います。同じインピーダンスを持つネットをネットクラスにまとめることは、ネットグループに複数の制約を適用する最も迅速な方法であり、トレース幅や、並列バスおよび差動ペアにおける伝搬遅延整合といった主要な高速制約もこれに含まれます。

  1. 回路図では、グループに属する各ネットにNet Class directiveを付加し、各ディレクティブに同じクラス名を入力します。パラメータセットを付加した blanket を使って複数のネットをグループ化することも可能です。
  2. Project » Project Options » Class Generation を開き、ユーザー定義ネットクラスの生成を有効にします。PCBを更新し、Engineering Change Order でクラス関連の変更を実行します。
  3. あるいは、PCBエディタで Design » Classes から直接クラスを作成することもできます。Net Classes の下に新しいクラスを追加し、名前を付け、必要なネットを Non-Members から Members に移動します。
  4. Design » Rules を開き、Routing » Width など必要なルールを作成します。
  5. ルールスコープを InNetClass('ClassName') に設定し、ClassName を実際のクラス名に置き換えます。
  6. 制約を設定します。インピーダンス制御配線の場合は Use Impedance Profile を有効にし、Layer Stack Manager で作成したプロファイルを選択します。
  7. クラス固有ルールの優先度を、同種のより広範なルールより高く設定してから変更を適用します。

では、インピーダンスの変動はどう扱えばよいのでしょうか。トレース幅を変更する予定がある場合、どのように考慮すべきでしょうか。これはネックダウン、つまり例えばトレースが room に入る際、BGAフットプリント内などでトレース幅を変更することで対応できます。こうした配線要件を事前に見込めるなら、PCB設計ルールの中でそのトレース幅変更を考慮するよう計画しておくべきです。

リターンパスの閉じ込め

リターンパス閉じ込めチェックでは、トレースが基準プレーンの境界、たとえば電源層内の2本のレール間のギャップを横切っていないことを検証します。このギャップを横断すると、近傍のリターンパスが分断され、リターン電流が迂回を強いられます。Altium Designer では、Return Path ルールが割り当てられたインピーダンスプロファイルを使って基準層を特定し、配線下の銅箔の連続性をチェックします。

タイミングスキュー

並列バスの信号間、または差動ペア内のスキューは、遅延整合要件が非常に厳しい場合には最小限に抑える必要があります。PCBレイアウトで制約すべきタイミングスキューには、次の3つのカテゴリーがあります。

  • 差動ペア内での信号遅延整合
  • 複数の差動ペア間での遅延整合
  • 混在バス(シングルエンドと差動ペア)における長さ整合

このためネットクラスを定義しておくことが有効です。ネットクラス内のすべてのネットに対してタイミング制約を適用できるため、設定が大幅に簡単になります。

PCIe や DDR のようなインターフェースでは、タイミング制約が非常に厳しいため、信号が必要な時間ウィンドウ内に目的地へ到達することを正確に保証するには、ピンパッケージ伝搬遅延が必要になります。対象の高速インターフェースをモデル化するための情報は、部品ベンダーから提供される場合があります。ライブラリ部品用の回路図シンボルを作成する際、リンク両端のピン定義にピン遅延情報を組み込むことができ、これらの遅延値は配線時の遅延調整ツールに取り込まれます。

Altium Designer で配線時の遅延調整計算にピンパッケージ遅延を含めるには、対象インターフェース内のネットを xSignals に含める必要があります。このツールは、2つの集積回路間のポイントツーポイントのすべての遅延を考慮し、それらが遅延調整計算に使用されます。

配線層の制約

層数の多い基板では、特定のネットクラスや差動ペアクラスを特定の層にのみ割り当てるケースがよくあります。これには主に2つの理由があります。

  • 層をインピーダンスごとに分離し、制御インピーダンス試験を容易にするため
  • クロストークを低減するために一部の配線でより大きな間隔が必要となり、他の信号配線のための空間がほとんど残らなくなるため

例えば、DDR、90オーム差動ペア(例:USB)、100オーム差動ペア、その他のインピーダンス制御バスといった異なるインターフェースを、それぞれ共通のペア設計に基づいて専用層へ分離するのは一般的です。この分離はトレース幅や間隔値によって行うこともでき、必要に応じて製造業者が同等材料へより容易に置き換えられるようになるという利点もあります。

Routing Layers ルールでは、対象となるネットクラスまたは差動ペアクラスに対して使用可能な信号層を指定します。クラス固有ルールを使えば、各インターフェースに割り当てられた層のみを使用させつつ、その他の配線にはより広範なルールを維持できます。

  1. Design » Rules を開き、Routing » Routing Layers の下に新しいルールを作成します。
  2. カスタムスコープを、ネットクラスなら InNetClass('ClassName')、差動ペアクラスなら InDifferentialPairClass('PairClass') に設定します。
  3. 層リストで、許可する層には Allow Routing を有効にし、それ以外の層では無効にします。
  4. このルールの優先度を、同じネットを対象とするより広範な Routing Layers ルールより高く設定します。
  5. ルールを適用し、設計ルールチェックを実行して、禁止された層上に既存配線がないか確認します。

層ごとの他オブジェクトに対するクリアランス

クリアランス値は通常、外層のめっき工程のため、内層と外層で異なります。しかし、多くの高速設計は高密度設計でもあるため、異なる内層同士でも異なるクリアランス値が必要になることが一般的です。これはサブラミネーションの使用に起因し、追加のめっき工程が必要となり、ベース箔重量よりも厚いめっき銅厚に積み上がるためです。

Altium Designer では、層ごとのクリアランスをクエリシステムを使って定義できます。

  1. PCBエディタで Design » Classes を開き、Layer Classes の下に新しいレイヤークラスを作成します。
  2. クラス名を付け、同じクリアランス要件を共有する層を追加します。異なるクリアランスが必要な各グループについてこれを繰り返します。
  3. Design » Rules を開き、各層またはレイヤークラスごとに Electrical » Clearance の下で新しいルールを作成します。
  4. 第1オブジェクトスコープにはカスタムクエリを選択します。個別の層には OnLayer('Top Layer')、レイヤークラスには InLayerClass('LayerClass') を使用し、実際の層名またはクラス名に置き換えます。
  5. 第2オブジェクトスコープは All に設定し、該当層上の他の銅オブジェクトに対するクリアランスをルールでチェックできるようにします。
  6. Different Nets Only を選択し、必要な最小クリアランスを入力します。異なるオブジェクトの組み合わせで異なる値が必要な場合は、クリアランスマトリクスを使用します。
  7. 層固有ルールの優先度を一般的なクリアランスルールより高く設定し、変更を適用して設計ルールチェックを実行します。

銅重量ごとのクリアランス要件(内層・外層)は、PCB製造サービス提供者から必ず確認してください。

新しい Constraint Manager を使用して層ごとのクリアランスを定義することも可能です。これはクリアランス定義にマトリクスベースのアプローチを提供するため、他のECADソフトウェアに慣れた設計者にはより馴染みやすいでしょう。Constraint Manager の詳細については、以下の動画をご覧ください。

ネット固有のビアサイズまたはテンプレート

Altium ブログの別記事では、ビアインピーダンスの仕組みや、どの周波数帯でビアを特定の入力インピーダンスに合わせて設計する必要があるかについて説明しました。これらのビアサイズおよびアンチパッドサイズは、特定のスタックアップと層スパンに対してネット固有となり、ビア/パッドサイズの制約はPCB設計ルールを使って定義できます。

ビアサイズは、次の2つの方法で制約できます。

  • 特定のネット/ネットクラスに対して許容サイズを定義する
  • 特定のネット/ネットクラスにビアテンプレートを割り当てる

適切なビアサイズの決定は、オンライン計算機でビアサイズを算出するほど単純ではありません。これには3D電磁界シミュレーション、少なくともシミュレーションデータから作成された経験モデルが必要です。ビアサイズとアンチパッドサイズを決定したら、重要な高速ネットが適切なビアサイズに制約されるよう、これらを設計ルールとして適用します。

ビアのアンチパッド

ビアのアンチパッドも、ビアインピーダンス設計における重要な要素の1つです。プレーンに対するクリアランスが、ビアバレルに沿った静電容量を調整するためです。すべての設計において、プレーンレールや大電流電源レール上の近接銅箔とビアパッドの間には、すでに最小クリアランス要件があります。ビアと銅箔のクリアランス値は、ネットまたはネットクラス単位のPCB設計ルールを使って、特定のネットに対して調整できます。

差動ネットでは、アンチパッド形状は個々のビアの周囲を囲む円形ではなく、長円形や楕円形になる場合があります。この共有アンチパッドは、プレーンカットアウトまたはポリゴンカットアウトとしてアンチパッド形状を描画して定義するのが最適です。以下に例を示します。

Via-in-Pad の許容

現代の高速PCBの特徴の1つは、高密度PCBでもある傾向があることです。これは、現在ほとんどのプロセッサがBGAパッケージで提供されており、狭ピッチではファンアウト配線を完了するためにvia-in-padが必要になるためです。粗ピッチのBGAパッケージでドッグボーンファンアウトを使用する場合でも、バイパスコンデンサの最適な配置は、via-in-padを用いたBGA裏面上になります。

デフォルトでは、ECADソフトウェアはvia-in-padをチェックし、存在する場合はDRC違反としてフラグを立てます。ただし、BGAファンアウト配線をサポートするために、via-in-padは設計ルール内で許可できます。

Design » Rules を開き、High Speed » Via Under SMD ルールを作成します。Allow Vias under SMD Pads を有効にし、定義済みのファンアウトルームに対して IsPad AND WithinRoom('BGA_Fanout') を使用して、対象パッドにルールを適用します。一般ルールよりも高い優先順位を設定してください。また、承認済みビアに対して、SMDパッド‐ビア間およびパッド‐ビアホール間クリアランスをゼロにした対応する Same Net Only Clearance ルールも設定します。

Properties パネルの IPC-4761 via types オプションを使って、該当するビアをフィルドかつキャップドとして指定してください。これは、メッキおよびキャップ処理する特定のビアグループを手動で選択することでも実行できます。または、すべてのビアをフィルドかつキャップドにする場合は、マスター図面に製造注記を追加することでも対応できます。

差動ペアの非結合長

差動ペアの非結合長は、差動チャネルのリターンロスに寄与するため、一部のアプリケーションでは適切な非結合長を決定することが重要です。非結合領域は、最も多くの場合、BGAの高密度ピンフィールドから配線を引き出す際に発生します。この場合、ビアを回避して配線するために、トレース同士を互いに離す必要があります。

非結合長の計算は単純ではなく、チャネル帯域幅に基づく適切な臨界長計算に依存します。適切な戦略としては、ファンアウト配線内に差動ペアの非結合領域が生じることが分かっている場合、まずペアを疎結合で設計することです。これにより、非結合領域でのインピーダンス不整合が低減され、モード変換も抑えられます。

Altium Designer のPCB設計ルールシステムについてさらに詳しく知るには、以下の動画をご覧ください。

 

信頼性の高いパワーエレクトロニクスでも、高度なデジタルシステムでも、Altium の完全なPCB設計機能と世界クラスのCADツールをご活用ください。Altium は、業界最高水準のPCB設計ツールと、高度な設計チーム向けの分野横断的なコラボレーション機能を備えた、世界最高峰の電子製品開発プラットフォームを提供します。今すぐ Altium のエキスパートにお問い合わせください。

 

よくある質問

PCBトレースが参照プレーンのギャップを横切っているかどうかは、どのように確認できますか?

Altium Designer では、関連するネットまたはネットクラスに適用される High Speed » Return Path ルールを作成します。参照レイヤーを定義するインピーダンスプロファイルを選択し、トレースから参照銅箔境界までの最小距離を設定して、バッチ設計ルールチェックを実行します。このチェックにより、電源レール間のギャップを含む、参照銅箔の不連続部上の配線が特定されます。

ネットクラスまたは差動ペアクラスを特定の配線レイヤーのみに制限するにはどうすればよいですか?

Design » Rules で Routing » Routing Layers ルールを作成し、InNetClass('ClassName') または InDifferentialPairClass('PairClass') で適用範囲を指定します。許可する信号レイヤーに対してのみ Allow Routing を有効にし、そのルールをより広範な Routing Layers ルールより高い優先順位に設定します。これらの設定により配線が制約され、設計ルールチェックで禁止レイヤー上の既存トレースも特定できます。

特定のネットやネットクラスにビアサイズまたはビアテンプレートを割り当てるにはどうすればよいですか?

Routing » Routing Via Style ルールを作成し、InNet('NetName') または InNetClass('ClassName') を使用して対象のネットまたはネットクラスに適用します。最小、推奨、最大のビア径と穴径を定義するか、承認済みビアテンプレートを使用するようルールを設定します。そのルールを一般的なビアルールより高い優先順位に設定してください。ビアのレイヤースパンは Layer Stack Manager で別途定義します。

ネットクラスを作成し、高速PCB配線ルールを割り当てるにはどうすればよいですか?

ネットクラスは、回路図の Net Class ディレクティブ、またはPCBエディターの Design » Classes から直接作成できます。回路図で定義したクラスについては、Project Options でユーザー定義ネットクラス生成を有効にし、変更をPCBへ転送します。Design » Rules では、該当する各配線ルールまたはタイミングルールに InNetClass('ClassName') を使って適用範囲を指定し、その制約を設定したうえで、同種のより広範なルールより高い優先順位を与えます。

筆者について

筆者について

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

Related Technical Documentation

関連リソース

ホームに戻る
Thank you, you are now subscribed to updates.