xSignals での高速設計

現在、バージョン 15.1. をご覧頂いています。最新情報については、バージョン xSignals での高速設計 の 24 をご覧ください。
Applies to Altium Designer version: 15.1

難題

デバイスのスイッチング スピードが絶えず増加するとともに、信号性能を維持し、信号のタイミング要件を満たす必要があります。シグナルインテグリティは、controlled impedance routing (これは、PCB スタックアップと、各レイヤで使用する配線幅から行えます。)によって管理できます。

タイミング要件を満たすには、信号経路の配線長を一致させることです。1 組の 2 ピンの信号経路に関して、出力ピンから 1 つの入力ピンへ接続する経路で、計算し配線長を比較するのは容易な方法です。これは、一般的な解決策ではありませんが、信号経路で直列にコンポーネントが配置されている場合、またはその信号で 2 ピン以上ある場合、Balanced T、または Fly-By 配線トポロジーを使用して配線できました。

balanced T (matched tree とも言います) の欠点は、信号が 1 つの経路で開始し、同じ配線長で 2 つに分岐している場合、各分岐点が他の分岐点までのスタブとして働くと言うことです。この結果、反射し信号が歪むことがありました。

配線長の計算は、最短経路の中心線に沿って正確に

Balanced T トポロジーを使用して配線された 4 つの DDR2 RAM チップ。##

Fly-by 配線トポロジーは、daisy-chain トポロジーです。それぞれの信号が出力され、あるデバイスから次のデバイスへ連続して配線される場合、最後のデバイスで終端されます。このトポロジーでは反射はありませんが、欠点は、信号の遅延がチェーンの連続した各デバイスで増加することです。このトポロジーは、signal leveling と言う手法を使用して、出力デバイスがこの信号の歪みを補える時に使用します。

解決策

設計者の仕事は、設計要件(例えば、タイミング制約を満たすことができる最大配線長)をデザインルール(例えば、タイミングを満たすための Length ルールや、潜在的なタイミングのずれを検出するための Matched Length ルール)へ移行することです。

設計者は、これを行うためにその信号を確認します。ここでは、その信号はアドレス信号で、コネクタから各メモリデバイスへ配線する必要があります。終端抵抗を付加した fly-by トポロジーを使用して配線します。source で、直列に終端する必要があるかもしれません。たとえ、アドレス A0 が終端抵抗を通過しても、設計者にとって、その信号は抵抗の反対側で A0 のままです。

しかし、PCB エディタでは、接続されているピン(一般的にネットと呼びます)として各信号を確認します(Net A0 は、コネクタピンからメモリ コンポーネントピンへ、それからメモリ コンポーネントピン等へ接続されています)。直列の終端抵抗を追加すると、アドレスラインは、2 つの個々のネットになります。これにより、重要な設計要件(例えば、Length や Matched Length ルール)を指定することが難しくなります。

Altium Designer 15 では、xSignals と言う新しい機能でこれを管理できます。この機能により、高速信号経路(終端コンポーネントや分岐点を通る、source と destination 間の信号経路)を正しく処理できます。

 

xSignal は、設計者が定義する 2 つのノード間(ネットの 2 つのノード、またはコンポーネントで分割されたネットの 2 つのノード)の信号経路です。また、xSignal はデザインルール(例えば、Length や Matched Length)のスコープに使用できます。これは、設計(例えば、インタラクティブ配線長チューニング)中に反映できます。

以下は、xSignal 機能の概要です。この機能は、ベータテスト中に拡張、調整する場合があります。

新しい xSignal の作成

xSignal は、設計者が定義する 2 つのノード間(同じネットの 2 つのノード、または異なるネットの 2 つのノード)の信号経路です。

xSignal は、以下のいずれかの方法を使用して定義します:

  1. Create xSignals Between Components ダイアログを使用します。xSignal Wizard とも言い、このダイアログでは、選択したネットを解析し xSignals を識別できます。それから、設計者はそれを保存できます。これは、xSignals を作成する一般的な方法で、以下で詳細を説明します。Design » xSignals » Create xSignals を選択し、ダイアログを開きます。

    あるいは、始めに目的のオブジェクトを選択してから以下の方法を使用します。それから、適切なコマンドを選択します:

  2. PCB パネルで Nets モードに設定し、Nets 欄で目的のネットを、Primitives 欄で目的のパッドを選択します。それから、右クリックし、メニューから Create xSignal を選択します。xSignal が作成されます。
  3. ワークスペースで 2 つのピン(コンポーネントパッド)をセレクトします。それから、右クリックし、メニューから xSignal » Create xSignal from Selected Pins コマンドを選択します。xSignal が作成されます。
  4. ソースコンポーネントをセレクトします。それから、右クリックし、メニューから xSignal » Create xSignals between Components コマンドを選択します。Create xSignals Between Components ダイアログが表示され、そのコンポーネントが選択されます。
  5. ワークスペースで 1 つ、または複数の直列に配置されているコンポーネントをセレクトします。それから、右クリックし、メニューから xSignal » Create xSignals from Connected Nets コマンドを選択します。Create xSignals From Connected Nets ダイアログが表示されます。ソースコンポーネントや、そのコンポーネントに接続されているネットが選択されます。
  6. 既存の xSignal 内で xSignal を作成したい場合があるかもしれません。この場合、PCB パネルの xSignal モードを使用できます。パネルの上部で、Select オプションが有効であることを確認します。現在、設定されている xSignal が表示され、パネルの xSignal Primitives 欄で目的のパッドを選択します。それから、ワークスペースのセレクトされているパッド上で右クリックし、1.で記述した方法を実行します。

xSignal が定義され、デザインルールのスコープで使用できます。

パネルの Nets モードで 2 つのパッドを選択してから右クリックし、Create xSignal を選択します。それらのパッドは、異なるネットであることに注意してください。

Create xSignals Between Components ダイアログ

Main article: Create xSignals Between Components Dialog

多くの xSignals を定義する必要がある場合、Create xSignals Between Components ダイアログ (xSignal Wizard とも言います) を使用するのがより効率的です。このダイアログは、Design » xSignals » Create xSignals コマンドから表示できます(左にSource Components やそれらの Source Nets、右に Destination Components が表示されます)。そして、1 つの操作で xSignals を作成できます。以下の手順を実行します:

  1. Source コンポーネントを選択します。
  2. Destination コンポーネントを選択します。
  3. 目的の Source ネットを選択します。
  4. Analyze ボタンをクリックします。選択したネット、コンポーネント間で、全ての xSignals が識別され、xSignals 領域にそれらがリスト表示されます。全ての xSignals は選択されます。解析アルゴリズムは、選択したネットの現在のトポロジーに従い、指定した xSignals に影響を及ぼすことに注意してください。詳細については、以下の ”ネットトポロジーの役割” の項を参照してください。
  5. ダイアログの下にある class を選択、または名称を入力し新しいクラスを作成します。クラスを選択しない場合、後で Classes ダイアログ (Design » Classes) の xSignal クラスでクラスを追加できます。
  6. OK をクリックして xSignals を作成します。

ダイアログは閉じ、ワークスペースに戻ります。新しい xSignals は、PCB パネルの xSignals モードでリスト表示されます。

 

各リストの上部のフィルタを使用して、目的のコンポーネント、またはネットを素早く検索できます(ワイルドカードを対応)。

 

ダイアログを使用して、複数の xSignals を素早く識別、作成し、xSignal クラスへ追加。

Create xSignals From Connected Nets ダイアログ

Main article: Create xSignals From Connected Nets Dialog

直列終端コンポーネントを含む xSignals を作成する場合、Create xSignals from Connected Nets コマンドを使用するのが良い方法です。このコマンドは、コンポーネントをセレクトした後に Design » xSignals サブメニューから、または xSignals サブメニューを右クリックして利用できます。

このコマンドは、選択した直列終端コンポーネント(例えば、抵抗、またはコンデンサ)から外側で xSignals を構築しようとします。これは、ディスクリート コンポーネントや、複数のシンボルをまとめたコンポーネント(例えば、集合抵抗)を対応しています。

ダイアログを使用して、選択した直列終端コンポーネントに渡る xSignals を作成。この例では、R39は、4 つの抵抗がある集合抵抗です。

ネットトポロジーの役割

xSignal を定義する時、2 つのノード、またはパッド間で行います。しかし、PCB パネルの xSignal モードで xSignal を選択する時、2 つのパッド間を通るコネクションラインの経路(これは、xSignal が配線されると仮定する経路を示します)に従います。これは、そのネットに定義したトポロジーに従っているためです。ネットトポロジーは、Routing Topology デザインルールで定義され、デフォルトのトポロジーは Shortest です。

動画は、4 つの DDR3 メモリチップへ接続された(fly-by 配線ストラテジを使用して配線されます)CPU を示します。DRAM_A2 xSignal クラスには、4 つの xSignals が含まれています。クラスを選択すると、各 xSignal が表示されます。xSignal の経路が、どのようにネットのトポロジー(現在、デフォルトの Shortest に設定されています)に従っているか確認できます。

ネットトポロジーが shortest に設定されているため、xSignals はプロセッサからメモリチップへの経路に従いません。

 

Create xSignals Between Components ダイアログを使用する場合、配線された xSignal の経路を認識する xSignal 解析アルゴリズムとなるように、ネットのトポロジーを設定する必要があります。

xSignal を作成するコマンド

Design » xSignals » Create xSignals コマンド以外に、xSignal を作成するその他のコマンド(ある条件が合う時、xSignal サブメニューで表示されます)があります。

以下は、コマンドの概要です:

コマンド内容説明
Create xSignal from selected pins1 つの xSignal を作成します。このコマンドは、2 つ、またはそれ以上のパッドをワークスペースでセレクトした時、利用できます。また、複数のセレクトしたパッドのいずれかを右クリックした時、同じコマンドが表示されます。
Create xSignals between componentsこのコマンドは、コンポーネントをワークスペースでセレクトした時、利用できます。これを実行すると、Create xSignals Between Components ダイアログが表示されます。正しい Source と Designation コンポーネントを選択し、解析/作成 を完了します。
Create xSignals from connected netsxSignals を作成するための直列の終端コンポーネントがある時に、このコマンドを使用します。終端コンポーネントをセレクトしてから、このコマンドを実行しCreate xSignal from Selected Nets ダイアログを表示します(xSignals を作成できる状態です)。
Create xSignalsCreate xSignals Between Components ダイアログを表示します。このコマンドは、常に利用できます。

Balanced T パターンの分岐点を定義

Balanced T 配線ストラテジーの 1 つは、主要部分と T 分岐の長さを等しくする方法です。利用できるノードは、パッドのみです。そのため、主要部分や、分岐点から各分岐の最後までを別々の xSignals として定義することは不可能です。下図で、分岐点は赤色のドットで示しています。

この問題を解決する唯一の方法は、シングルピンのコンポーネントをそのネットへ追加することです。シングルパッド(デザインで使用されているビアサイズに等しい)のコンポーネントを作成してください。分岐点のコンポーネントパッドが単一レイヤの場合、それをビアのスタート、またはストップレイヤ上に配置して、ブラインド、またはベリードビアと組み合わせて使用できます(柔軟に配線できます)。PCB でのみ分岐点のコンポーネントを含めたい場合、そのコンポーネントの Type を Mechanical(BOM へ含めないで、回路図と同期する問題を防ぐために)に設定します。回路図で分岐点のコンポーネントを含める場合、コンポーネントの Type は Standard (no BOM) に設定します。

Balanced T 配線は、分岐点から配線長を等しくする必要があります。

分岐点は、ネット内のノードであるため、必要に応じて、主要部分、主要分岐、副分岐の xSignals を定義できます。これらは、matched length デザインルールのスコープに使用できます(設計者は、配線長を一致させる方法を細かくコントロールできます)。

xSignal パネルでの作業

Main article: PCB Panel

PCB パネルには、xSignal モードが含まれており、上部にあるドロップダウンから選択します。xSignal ClassesxSignalsPrimitives が表示されます。このパネルの xSignal モードは、既存の xSignals を調査、管理するために使用します。

パネルの各項目で右クリックすると、以下のような xSignal に関連した編集作業を行えます:

  • xSignal クラスのメンバーを追加削除編集 - xSignals のクラスは、正しいデザインルールを作成するために使用します。xSignals をどのようにクラスにまとめるかは、どの信号の配線長を一致させる必要があるか(選択した配線トポロジーで決まります)に依存します。AddDelete コマンドは、右クリックメニューで利用できます。既存のクラスを編集するには、それをダブルクリックします。
  • xSignal の色を変更(xSignal のコネクションラインの色を変更)。これは、クラス、またはセレクトした xSignals で行えます。色を使用することで、密集した PCB で容易に作業できます。ラッツネストの色だけでなく、配線の色も変更できます(配線中、そのネットを識別できます)。

xSignal ラインの表示、非表示

パネルで xSignal をクリックすると、パネル上部にあるオプション設定に基づいて、ワークスペースが dim、select、zoom 表示されます。xSignal を既に配線している場合、薄いラインが表示されます(ソフトウェアが、xSignal の配線長を計算するために使用する経路に従って)。

xSignal の削除

パネルで xSignal を選択し、xSignals のリストの下にある Delete ボタンをクリックします。あるいは、右クリックメニューから Delete を選択、またはキーボードの Delete を押します。

xSignal クエリ キーワード

PCBエディタには、高性能な フィルタエンジン が含まれています。このエンジンは、ワークスペースでオブジェクトを検索、インタラクティブ配線・自動配線中にルールを適用、ルールが遵守されているか確認する時、オブジェクトを識別するために使用します。設計者は、クエリを記述して(フィルタエンジンで認識するクエリキーワードを使用して)、どのオブジェクトを指定するかフィルタエンジンに認識させます。

デザインルールやワークスペース フィルタで使用するために、以下の xSignal に関するクエリキーワードを追加しました:

Membership Check に関するキーワード

  • InxSignal - 指定した xSignal 内のオブジェクト。例えば、 InxSignal('DRAM_A0_PP1')
  • InxSignalClass - 指定した xSignal class 内のオブジェクト。例えば、InxSignalClass('PCIE')
  • IsxSignal - 指定した名称の xSignal オブジェクト。例えば、IsxSignal('DRAM_A0_PP1')。

Attribute Check に関するキーワード

  • InAnyxSignal - 全ての xSignal 内のオブジェクト。例えば、InAnyxSignal

xSignals に対応するデザインルール

デザインルールは、設計者の要件を PCB エディタで認識できるように指令する方法です。ルールは、オブジェクトを配置中(Online DRC)、または配置後(Batch DRC)にチェックできます。デザインルールの詳細については、Design Rules を参照してください。

Matched Length ルール

Matched Length ルールは、指定したネットの配線長を、指定した範囲内にするために使用します。このルールは、高速設計で必須です。信号が到達するまでどれぐらいの時間がかかるか(全体の配線長によって決まります)だけでなく、指定した信号が同時に到達することも重要です。信号のスイッチング速度、信号の機能、基板で使用した材料に依存して、許容差は 500mil ほど、またはわずか 1mil になります。

下図は、xSignal class PCIE の xSignals を指定した Matched Length デザインルールの例を示します。これらの信号には、0.025mm (~1mil) のきつい許容差が設定されています。

Matched Length デザインルールには、Check Between xSignals の制約モードが含まれていることに注意してください。

下図は、パネルで PCIE_TX xSignal class が選択され、それらの xSignals がワークスペースでセレクトされている状態を示します。

PCIE クラス、TX や RX のペアに定義したクラスがあります。TX xSignals の 1 つが、matched length ルールに反していることに注意してください。##

Length ルール

Length ルールは、全体の配線長を、指定した範囲内にするために使用します。このルールは、通常、ターゲットのネットを、指定した配線長より長くならないようにするために(例えば、回路のタイミング要件を満たすように)使用します。length ルールでは、上記に記載した xSignal に関するクエリが重要視されます。

正確な配線長の計算

Main article: Accurate Route Length Calculation

high speed デザインルールを定義する時の重要な要件は、配線長の正確な計算です。配線長を計算するための従来の方法は、配線で使用した全てのセグメントの中心線の長さや、ビアの高さ(縦)の距離(基板の厚みで決まります)を合計することでした。

この方法は、高速設計では以下の理由により不十分です:

  • 重なっているオブジェクト - ネットの全てのオブジェクトに対する中心線の長さを足すアルゴリズムは、重なっているオブジェクトを考慮しません。
  • オブジェクト内の配線経路 - パッド、またはビア内に配線オブジェクトが存在する場合があります。これは、左下の図のように、誤って配線長に追加されます。右下の図は、フィルオブジェクトが配線の一部である時、正しく配線長を計算するための方法を示します。
  • ビアの配線長 - ブラインド、ベリードビアは、基板の全てのレイヤを通りません。そのため、基板の厚さでは、縦の長さを決めるために正確ではありません。銅箔やビアが通る絶縁体の厚さを考慮して、実際のビアの高さを使用する必要があります。

PCB エディタの新しい配線長の計算機能により、正確な配線長を考慮できます。

配線長の計算は、最短経路の中心線に沿って正確に計算されます。

ネットに関する用語

PCB エディタで、以下の用語を使用します:

  • Net - 互いに接続されるコンポーネントピン(ノード)の集まり。それらのノードを互いに接続するための配列方法は、トポロジーと呼ばれます。デフォルトのトポロジーは、shortest です。
  • From-To - From-To の概念は、ネットの 2 つのノード間を接続する方法です。From-Tos は、ネットのトポロジー、またはノードの配列に従って作成できます。例えば、ネットトポロジーは、R1-1 から U1-5、U3-2、R5-2 までになります。このネットには、3 つの From-Tos(R1-1 から U1-5 まで; U1-5 から U3-2 まで; U3-2 からR5-2 まで)があります。トポロジーを変更した場合、可能な From-Tos も変わります。From-Tos は、PCB パネルの From-To モードで作成します(トポロジーに基づいた From-Tos を作成するために Generate ボタンをクリックするか、またはネットの 2 つのパッドをセレクトしてから Add From To ボタンをクリックして)。
  • xSignal - ユーザ定義のノードのセット、一般的にネットのサブセット(このノードからそのノードまで)、または終端抵抗のような、直列に配置されたコンポーネントを含む 2 つのネットの組み合わせ。

 

このページ (http://www.imx6rex.com/) にある iMX6 Rex 開発基板を使用した画像を提供して頂き、FEDEVEL Academy (www.fedevel.com) のRobert Feranec 氏に感謝しています。

 

注記

利用できる機能は、Altium Designer ソフトウェア サブスクリプション のレベルによって異なります。

Content