Pi.MX8 プロジェクト - ボードレイアウト パート3

Lukas Henkel
|  投稿日 六月 21, 2024  |  更新日 七月 1, 2024
Pi.MX8_Chapter_V

チャプター

1
Introduction and Overview
| Created: January 18, 2024
2
Component placement and layout planning
| Created: February 06, 2024
3
Board Layout Part 1
| Created: February 22, 2024
4
Board Layout Part 2
| Created: March 21, 2024
5
Board Layout Part 3
| Created: June 24, 2024
6
Board Layout Part 4
| Created: July 23, 2024
7
PCB Assembly
| Coming soon

Pi.MX8オープンソースコンピュータモジュールプロジェクトの新しいインストールメントへようこそ!このシリーズでは、NXPのi.MX8Mプラスプロセッサを基にしたシステムオンモジュールの設計とテストについて詳しく説明します。

前回のアップデートでは、レイアウト準備を完了しました。これには、インピーダンスプロファイルの作成、ボード製造業者の仕様に従った設計ルールの追加、特別な設計ルールを適用すべきエリアの定義が含まれます。また、LPDDR4インターフェースのルーティングも完了しましたが、長さ調整は(今のところ)行っていません。

Test of button

DRAMインターフェースの長さ調整を始める前に、Pi.MX8モジュール上の残りのインターフェースのルーティングを見ていきます。ボード上には、多くの高速および低速バスがあり、その中には多くのルーティングスペースを必要とする広い並列バスもあります。各インターフェースに十分なスペースを割り当てるために、まずモジュールの各ルーティング層について大まかなフロアプランを作成します。

ルーティング計画

ルーティングプランは、利用可能な信号層全体に高速および低速インターフェースをどのように分配するかを決定するのに役立ちます。あらかじめ大まかなガイドを設定することで、現在作業している層に十分なルーティング用の不動産が利用可能であることを確認できます。これにより、層の移行を最小限に抑え、ルーティングプロセス中に行う再作業の量を減らすことができます。

レイアウト計画を設定する方法はいくつかあり、主に利用可能なツールに依存します。私たちに必要なのは、既存の画像の上にスケッチを描くことができる基本的な描画ツールです。この例では、Inkscapeを使用します。

Inkscapeでは、背景画像を追加して、配置されたコンポーネントと未ルーティングのインターフェースをカラーのエアワイヤとして表示できます。このスクリーンショットでは、信号層でルーティングされるネットにのみ焦点を当てるため、電源ネットは非表示になっています。回路図では、各電源ネットにネットクラス指令を配置しており、レイアウトエディターで関連するネットクラスを有効にするか非表示にすることで、どのネットがプレーン層でルーティングされるかを簡単に識別できます。

実際のルーティングには、Inkscapeで線を追加して、対応するレイヤー上でルートしたいインターフェースを表します。これらの線の幅を調整して、インターフェースでルーティングされる信号の数を表現できます。線の色は、背景画像から選択して、どのインターフェースが表されているかを識別しやすくすることができます。

レイヤー間の移行にもすべてのレイヤーにスペースが割り当てられる必要があるため、各線の末端にブロックを追加してレイヤー移行を詳細にします。

Layout planning in Inkscape with an Alum Designer screenshot as a background image

Inkscapeでのレイアウト計画、背景画像としてAltium Designerのスクリーンショットを使用

上記のプロセスを各ルーティングレイヤーで繰り返した後、実際のルーティングプロセスを開始できます。

トップレイヤーのルーティング

ルーティング戦略を確立したので、まずはトップレイヤーのインターフェースのルーティングから始めましょう。トップレイヤーのコンポーネントのファンアウトルーティングは既に完了しているため、残りのスペースをすべてシグナルルーティングに使用できます。残されたスペースは多くありませんが、内部シグナルレイヤーのルーティングを後で容易にするために、内部レイヤーのルーティングに干渉しない領域に戦略的にVIAを配置することで、まだ利用可能です。これは、あらかじめレイアウトを計画することのもう一つの利点であり、そうでなければこれらの領域はこの段階で定義されていません。

Top layer routing of the PiMX8 module

トップレイヤーのPiMX8モジュールのルーティング

トップレイヤーにトレースを配置する際には、フィデューシャルやラベルなどの機能をトップレイヤーに追加するためのスペースが必要であることも考慮する必要があります。レーザーエッチングされたデータマトリックスコードは、均一なコントラストを提供するために、固体の銅領域またはトレースのない領域を必要とする場合があり、これらの領域はルーティングに使用できません。

内部シグナルレイヤーのルーティング

ほとんどの接続は、レイヤースタックマネージャーで定義した2つの内部信号層に配置されます。まず、すべての高速同期インターフェースのルーティングから始めましょう。この場合、MIPI-CSI、MIPI-DSI、LVDSインターフェースなどが該当します。これらのインターフェースはすべて低電圧差動信号を使用し、専用のクロックラインと少なくとも2つのデータラインを持っています。各データラインの長さは、一定のタイミングマージン内でクロックラインに合わせる必要があるため、多くのルーティングスペースが必要です。複数の差動ペアの長さを合わせるには、かなりのスペースが必要になることがあります。なぜなら、インターフェース内の1つ以上のペアが、考慮しなければならない大きな遅延を引き起こす可能性が非常に高いからです。これらのインターフェースを最初にルーティングすることで、後で長さ調整のために十分なスペースが確保できるようになります。

これらの高速差動ペアの層間遷移の近くにリターンパスVIAを配置することも、信号の整合性を確保するために重要です。リターンパスVIAは複数の層にわたってスペースを取ることができるので、信号の遷移が配置されたらすぐにこれらのVIAを配置するべきです。

次に、PCIe、USB、HDMI、Ethernetなどの他の高速インターフェースをルーティングできます。これらのインターフェースは、ペア間の長さの一致に関してはそれほど厳格な要件を持っていないため、長さの一致に多くのスペースを割く必要はありません。ただし、これらの信号に対しては、しっかりとしたリターンパス管理と基本的な高速設計アプローチが非常に重要ですが、ルーティング優先リストでこれらを二番目に配置します。

最後に、SDIO、GPIO、RGMII、その他の雑多なバス(UARTやI2C、SPIなど)などの残りの低速インターフェースをルーティングできます。これらのインターフェースは依然として高いエッジレートで動作するため、高速信号として扱う必要があります。

Routing inner signal layer 1

内部信号層1のルーティング

Routing inner signal layer 2

内部信号層2のルーティング

ボトムレイヤーのルーティング

PiMX8ボードの場合、利用可能なスペースの観点からボトムレイヤーを内部ルーティング層として扱うことができます。モジュールのトップレイヤーにはほとんどのアクティブコンポーネントが配置されており、ボトムレイヤーには電圧レギュレータやデカップリングキャパシタ、設定用抵抗などの受動部品のみがわずかに残っています。

ボトムレイヤーのルーティング優先順位は内部レイヤーと同じであるため、MIPI-CSI、MIPI-DSI、LVDSインターフェースから始めます。PiMX8モジュールでは、高速マルチプレクサーがDSIポートとLVDSポートの間で選択できます。このコンポーネントは、ボード間コネクタに近いボトムレイヤーに配置されます。マルチプレクサーのピン配置のため、muxに接続された信号線の1つには大きな遅延があります。長さのマッチングプロセス中にこれをより詳しく見ていく必要がありますが、より大きな遅延を許容するためにボトムレイヤーにいくらかのスペースを確保する必要があります。

Multiplexer pinout with one long line in the interface

インターフェース内の1つの長いラインを持つマルチプレクサーのピン配置

Bottom layer routing PiMX8 module

ボトムレイヤールーティング PiMX8モジュール

PiMX8モジュールには、遅延調整中に特別な注意が必要なシナリオがいくつかあります。これらの課題を克服するために、X-シグナルを広範囲に使用します。これらの課題が具体的に何であり、複数のインターフェースで共有されるコンポーネントに対して正確な遅延調整を提供するためにX-シグナルをどのように実装できるかは、次のアップデートの一部となります。お楽しみに!

筆者について

筆者について

Lukas is a passionate hardware designer with more than 10 years of experience in the electronics industry. As a co-founder of his own engineering services company, he has had the privilege of working on many exciting projects, taking on challenges ranging from precision analogue design to high-speed PCB layout and power electronics.

As a strong supporter of the open-source philosophy, Lukas has made it his goal to give anyone interested an insight into the construction and functioning of modern electronic devices. Driven by that goal, he has founded the company Open Visions Technology (OV Tech GmbH), which aims to bring highly repairable, fully documented state-of-the-art consumer hardware to the market.

Lukas firmly believes that with today's online access to know-how and tools, anyone with an idea, drive, and passion can create extraordinary things. He is looking forward to being part of an enthusiastic community and is excited to see how people bring their ideas to life.

関連リソース

関連する技術文書

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