I/O ポート配置ガイドライン

ドキュメント内 FPGA HW Design GL (Page 37-40)

5.2.1 基本的な考慮事項

ユーザ回路の実装時にI/Oポート(ピン)配置として考慮すべき事項としては以下が挙げられます。

・I/Oタイプなど

各I/OバンクのVCCIO電圧値との整合性、差動ドライバ/レシーバの配置、DDR1/2メモリイ ンターフェイスの場合はDQSの配置とDQSバス対DQ、参照電圧を必要とする場合のVREF

配置、などデバイスのサポート/実装ルールを良く理解する必要があります。

・同時スイッチング(SSO)

後述のように、双方向や出力に設定するピンが多数かつ同時にスイッチングする際には注意 が必要です。一般にパッケージタイプ、デバイスによって大きく特性が異なります。

ispLEVER7.1以降では、デザインプランナの一機能であるSSOアナライザを用いての事前

チェックが可能です。SSOアナライザの使い方は日本語ユーザーガイドを参照してください。

・PLLやSERDES用端子に対する配慮

デジタル回路の固まりであるFPGAでも、こうしたアナログ的な或いは高周波信号を扱うブ ロックが集積されています。こうした機能用のピン、即ち電源・グランドや、入出力(信号 やクロック)、付加するコンデンサなどには特に注意が必要です。周囲には高速信号や、特に アクティビティの高い出力やドライブ強度の大きい出力を配置することは避ける事を推奨し ます。

・デュアル用途のコンフィグレーション用ピン

デバイスには通常、コンフィグレーション用のみでなくユーザ I/O としても使用できるデュ アル用途(Dual Purpose)のポートがあります。ユーザI/Oとして使用する場合は、インター フェイスという観点と共に、コンフィグレーション中や供給電源の過渡時の振る舞いで問題 が生じないことも確認する必要があります。これらピンの状態・振る舞いは個々のデバイス やピンによって通常異なります。基本的な注意事項がテクニカルノートに記述されています ので参照してください。事情が許す限りデュアル用途のピンは使用しない方が望ましいと言 えます。

・直流電流許容値

どのファミリのデータシートでもsysI/O Single-Ended DC Electrical Characteristics仕 様表の脚注には、いかなる一組のGND ピンに対しても、その間にあるI/O に流れる平均直 流電流値は、8mAを超えてはならない”と規定しています。解釈によっては、特定のピンは これ以上流しても問題ないようにも捉えることができますが、それは推奨しません。背景は 信頼性の観点(エレクトロマイグレーション)から来ています。

いずれにしろ、平均 8mA 流すようなことはせず、相当数のポートに対して数mA 以上の シンクやドライブをする必要がある場合は、外部トランジスタなどの付加で対応することが 望まれます。やむを得ない場合は、それぞれ数mA 以下に押さえることが妥当で、また強い て言えばソースする(ドライブする)よりもシンクする(流し込む)方が良いでしょう。

- 38 -

一般的に、FPGAへの論理回路のフィッティング試行・完了を待たずに、I/Oの配置決めを行いPCB 設計する場合が尐なくありませんが、ラティスは基本的にこうした手順は勧めていません。タイミング 要件の厳しい場合や、デバイス内部のハードマクロを使用する場合、クロッキングなど特定の設計仕様 を満たすことが求められる場合は、特に当てはまります。フィッティングを行う段になり、非常に苦労 することもあり得ます。まずI/Oポートの配置を含めて論理回路の実装に問題がないことを確認した後、

PCB設計に着手または確定することを推奨します。

代替え手段としては、完全ではありませんが、ある程度簡易な手順としては ispLEVER のサポート するIO Assistant フローを実行することです。これはチェック機能(DRC)としてI/Oに関する配置ルー ルを殆どすべて含んでいます。またこの場合に最低限必要なものは

・トップモジュールのRTL

・各ポートのアサイン情報、I/Oの属性(I/Oタイプ、電圧、ドライブ電流、等々)

のみで、トップモジュールの本体記述はブランク(最低ダミー一行)で構いません。但し、以下の点に ついてはチェックに限界があることを理解する必要があります。

(A) PLLやクロックネットワーク、LatticeSCのMacoブロックなど、FPGAの特定内部リソースと の接続性という観点からのピン配置の妥当性は難しい。

(B) PIC(I/O 4本の組)内での配置ルールの適合性で、メモリインターフェイスのDQSや差動ドラ

イバの配置についてはチェックされるが、LatticeSC/SCM の場合、AIL 使用の入力ポートに関し ては、ブランクモジュールではルールチェックできない。

(C) I/Oとの接続やFPGA内部論理の動作という観点で、タイミング制約の厳しい実装の場合は、ポー

ト配置が固定されていて変更できない場合、論理回路のフィッティングする段になって、タイミン グクロージャに困難が生じる可能性がある。

これらは RTL 記述がある程度実デザインを想定したものでないと現実的には網羅的なチェックはで きません。IO Assistantの使い方の詳細は日本語ユーザーガイドを参照してください。

5.2.2 SSOの観点からのI/Oポート配置

ispLEVER 7.1では業界初となるSSOアナライザというサポートツールが、LatticeECP2/M対象に 提供されています。LatticeXP2とLatticeSC/SCMはSP1(Service Pack 1)以降のサポートです。ラティ スとしては設計者がこれを有効活用することを強く推奨します。特に多ビットのソースシンクロナス・

インターフェイスやバス信号などを扱う用途では、慎重なポート配置が必要です。ともすると、こうし たグループの信号をまとめて配置する傾向がありますが、SSO的な観点からは好ましくありません。

SSOを考慮した場合の I/Oポート配置における推奨手順は、①SSO アナライザでバンクベースの解 析を行い、各ポートのバンク単位の配置を決定する、②マッピングと配置配線を行い、ツールにポート 配置を決定させる、③再度 SSO アナライザでその配置結果を基にピンベースの解析を行い、問題がな いことを確認し確定する、④それ以降にフィッティングを繰り返し実施する場合にこの配置結果をもと にする、⑤その後のマイナーなポート配置修正では適宜ピンベースの SSO チェックを行う、といった ものになります。

これら手順の全般をやや詳細に記述すると以下のようになります。

① 設計仕様から定まる各I/Oポートの属性を決定し、合わせて各出力ポートの容量負荷(pF)、PCB 設計上想定されるノイズマージン(mV)を(想定・見積もりし)決定する

② それぞれの同時スイッチング・グループを明らかにする(非同期関係にある任意の2クロックに よって出力されるポートは同一グループに属するものとして定義する)

③ 各信号について、望ましいバンクを決定する

④ 特定のグループに属するポート数が多数(目安例;16本以上)の場合、複数バンクに分割する

- 39 -

⑤ Pre-MAP Design Plannerを立ち上げ、上記情報を全て入力した後、SSOアナライザでチェック を行う(バンクベースの解析=最悪条件下での推測)

⑥ Failとレポートされたバンクについてはその条件を緩和する対策(次項で記述)を実施し、全て Passするまで行う

⑦ その後マッピング、配置配線を実施し、ツールにポート配置処置を実行させる

ここで、ステップ5以降を実施するためには、最低限トップモジュールのRTLが必要です。

なお、バンクベースでFailしてもピンベースではバンクを変えることなくPassする可能性は十分に あります。これは、前者は最悪の配置関係を前提に見積もっているためです。また、PCBノイズマージ ンとは、PCB 設計上グランドや電源がプレーンであっても理想的なクリーンな状態にはなりませんの で、リップルや直流的ポテンシャルを持ってしまう場合を想定して、その値を解析時に反映させるため に用いられます。

可能な対策としては、例えば以下が考えられます。全て対応する必要はありませんが、実現性や効果 高いと考えられる順に示します。

(1) スルーレートをSlowにする。

(2) ドライブ電流を許容できる程度まで小さくする。

(3) 同一SSOグループの信号を集中配置しないで、バンク内で分散させる、また、なるべく複数バン クに分割して配置する。

(4) 同期関係にあるクロック間の位相(タイミング)をずらす。

(5) 出力ポートに付加される容量性負荷を減らす。

(6) Aggressorをグランドや電源ピン(VCCAUX、VCCPLL、SERDES用各電源ピンを除く)の近傍に配置 する。

(7) 影響を受けては困る信号の周囲に配置する信号に特に配慮する。

(8) 非同期の信号インターフェイス方式を避け、入力側デバイスではクロックで同期化する仕組みに して、非影響ピンのレベルの変動(グランドバウンスや電源ドロップによる入力閾値を瞬間的に超 える状態)がそのまま論理回路動作の誤動作につながらないようにする。

(9) 出力ポート近傍に10Ω~数十Ωの直列ダンピング抵抗を挿入する。

前述のようにSERDESやPLL用電源などの特に留意を要するピンがあります。これらは可能な限り 使用しないか、やむを得ない場合はトグル頻度の尐ない信号、或いは入力信号に限定することを推奨し ます。この場合のラティスの考え方として、BGA系パッケージ(csBGA、ftBGA、fpBGA)では3x3ルー ルとか5x5ルールと呼んでいるものがあります。

図 5-1 BGA系パッケージのピン配置3x3 / 5x5ルール

ドキュメント内 FPGA HW Design GL (Page 37-40)