PCI Express??IP????? ??????? PCI Express 用の IP コンパイラ ユーザーガイド 101 Innovation Drive San Jose, CA 95134 www.altera.com UG-PCI10605-3.0 Altera Complete Design Suite の最新バージョン : ドキュメントのリリース日 : 11.0 2011 年 5 月 © 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. PCI Express 用の IP コンパイラの ユーザーガイド 2011 年 5 月 Altera Corporation 目次 第 1章 . データシート .............................................................................................1 特長 .................................................................................................................................................. 1 リリース情報 ................................................................................................................................... 5 デバイス・ファミリのサポート...................................................................................................... 5 概要 .................................................................................................................................................. 7 PCI Express ハード IP 用の IP コンパイラ付きのデバイス・ファミリ..................................... 8 外部 PHY サポート .................................................................................................................... 12 デバッグ機能 ............................................................................................................................ 12 IP コアの検証 ................................................................................................................................. 13 シミュレーション環境.............................................................................................................. 13 互換性テスト環境 ..................................................................................................................... 13 パフォーマンスおよびリソース使用率 ......................................................................................... 13 推奨スピード・グレード ............................................................................................................... 15 OpenCore Plus 評価 (ハード IP に必要なし)............................................................................. 17 第 2 章 . 使用法 PCI Express 用の IP コンパイラのパラメータ化 ............................................................................. 1 生成されたファイルの表示 ............................................................................................................. 8 デザインのシミュレーション ........................................................................................................ 10 デザインの制約 .............................................................................................................................. 14 デバイスおよびピン割り当ての指定 ........................................................................................ 15 QSF 制約の指定 ......................................................................................................................... 17 デザインのコンパイル ................................................................................................................... 17 デザイン例の再使用 ...................................................................................................................... 18 第 3 章 . パラメータの設定 Qsys デザイン・フローのパラメータ ............................................................................................. 1 システムの設定 ........................................................................................................................... 2 PCI ベース・アドレスのレジスタ .............................................................................................. 2 デバイス識別レジスタ................................................................................................................ 4 リンク機能 .................................................................................................................................. 4 エラー報告 .................................................................................................................................. 4 バッファ・コンフィギュレーション ......................................................................................... 5 Avalon-MM 設定......................................................................................................................... 7 アドレス変換 ............................................................................................................................... 8 アドレス変換のテーブルの内容................................................................................................. 8 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ .............................. 9 システム設定 ............................................................................................................................... 9 PCI レジスタ ............................................................................................................................. 14 Capabilities パラメータ ........................................................................................................... 16 バッファ設定 ............................................................................................................................. 20 Altera Corporation コンパイラ・バージョン 8.0 iii 目次 消費電力管理 ............................................................................................................................. 23 Avalon-MM コンフィギュレーション ..................................................................................... 25 第 4 章 . IP コア・アーキテクチャ アプリケーション・インタフェース .............................................................................................. 2 Avalon-ST のアプリケーション・インタフェース ................................................................... 2 Avalon-MM インタフェース ...................................................................................................... 8 トランザクション層 ........................................................................................................................ 9 バーチャル・チャネルのアービトレーションの送信 ............................................................. 11 コンフィギュレーション・スペース 11 データ・リンク層 .......................................................................................................................... 12 物理層 ............................................................................................................................................. 14 物理層のアーキテクチャ .......................................................................................................... 15 リバース・パラレル・ループバック ....................................................................................... 17 PCI Express Avalon-MM ブリッジ ................................................................................................ 17 コンプリータ専用の PCI Express エンドポイント・シングル DWord ........................................ 27 第 5 章 . IP コア・インタフェース Avalon-ST インタフェース ............................................................................................................. 1 64 ビットまたは 128 ビットの Avalon-ST RX ポート ............................................................... 6 64 ビットまたは 128 ビットの Avalon-ST TX ポート ............................................................. 16 PCI Express の TLP への Avalon-ST パケットのマッピング ................................................... 20 ルート・ポート・モードのコンフィギュレーション・リクエスト ........................................ 25 ECRC 転送 ................................................................................................................................. 25 クロック信号 ̶ ハード IP 実装 ............................................................................................... 26 クロック信号 ̶ ソフト IP 実装 ............................................................................................... 26 リセットおよびリンク・トレーニング信号 ............................................................................ 27 ECC エラー信号......................................................................................................................... 30 エンドポイント用の PCI Express 割り込み .............................................................................. 31 ルート・ポート用の PCI Express 割り込み .............................................................................. 33 コンフィギュレーション・スペース信号 ̶ ハード IP 実装 .................................................. 33 コンフィギュレーション・スペース信号 ̶ ソフト IP 実装 .................................................. 40 LMI の信号 ̶ ハード IP 実装 ................................................................................................... 41 IP コアのリコンフィギュレーション・ブロック信号 ̶ ハード IP 実装 ............................... 43 パワー・マネージメントの信号 ............................................................................................... 44 コンプリーション側波帯信号 ................................................................................................... 46 Avalon-MM アプリケーション・インタフェース ........................................................................ 49 32 ビットのノン・バーストの Avalon-MM CRA スレーブ信号.............................................. 54 RX Avalon-MM のマスタ信号 ................................................................................................... 55 64 ビットのバーストの TX Avalon-MM スレーブ信号 ............................................................ 56 クロック信号 ............................................................................................................................. 58 リセットおよびステータス信号 ............................................................................................... 58 物理層のインタフェース信号 ........................................................................................................ 60 トランシーバ・コントロール信号 ........................................................................................... 60 シリアル・インタフェース信号 ............................................................................................... 62 PIPE インタフェース信号 ......................................................................................................... 64 テスト信号 ..................................................................................................................................... 66 iv コンパイラ・バージョン 8.0 PCI Express 用の IP コンパイラのユーザー・ガイド Altera Corporation 目次 テスト・インタフェース信号 ̶ ハード IP 実装..................................................................... 68 テスト・インタフェース信号 ̶ ソフト IP 実装 ..................................................................... 70 Avalon-ST のテスト信号 .......................................................................................................... 71 第 6 章 . レジスタの説明 コンフィギュレーション・スペース・レジスタの内容 ................................................................. 1 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 ...................................... 6 Avalon-MM から PCI Express への割り込みレジスタ ............................................................... 8 PCI Express メールボックス・レジスタ .................................................................................... 9 Avalon-MM から PCI Express へのアドレス変換テーブル ..................................................... 10 PCI Express から Avalon-MM への割り込みステータスおよびイネーブル・レジスタ......... 11 Avalon-MM のメールボックス・レジスタ .............................................................................. 12 コンフィギュレーション・スペース・レジスタおよび PCIe 仕様レビジョン 2.0 の間の包括的な 対応関係 ......................................................................................................................................... 14 第 7 章 . リセットおよびクロック リセット・ハード IP の実装 ............................................................................................................ 1 <variant>_plus.v または .vhd ................................................................................................... 1 <variant>.v または .vhd ............................................................................................................ 4 リセット・ソフト IP の実装 ............................................................................................................ 5 クロック ........................................................................................................................................... 6 Avalon-ST インタフェース ̶ ハード IP の実装 ....................................................................... 6 Avalon-ST インタフェース ̶ ソフト IP の実装 ....................................................................... 8 Avalon-MM インタフェース ‒ ハード IP およびソフト IP の実装 .......................................... 12 第 8 章 .TLP(トランザクション・レイヤ・プロトコル)の詳細 サポートされるメッセージ・タイプ .............................................................................................. 1 トランザクション層のルーティング・ルール ................................................................................ 3 受信バッファの順序変更 ................................................................................................................. 4 第 9 章 . オプションの機能 ECRC................................................................................................................................................. 1 RX パス上の ECRC ....................................................................................................................... 1 TX パス上の ECRC ....................................................................................................................... 2 ASPM(アクティブ・ステート・パワーの管理)........................................................................... 3 終了レイテンシ........................................................................................................................... 4 許容レイテンシ........................................................................................................................... 5 レーンの初期化と反転 .................................................................................................................... 5 PCI Express インスタンス用の複数の IP コンパイラのインスタンス化 ........................................ 6 トランシーバ付きのデバイスのクロック要件と信号要件 ........................................................ 6 複数の Tcl スクリプトの読み込み .............................................................................................. 7 第 10 章 . 割り込み エンドポイントの PCI Express 割り込み ........................................................................................ 1 MSI 割り込み .................................................................................................................................... 1 MSI-X ................................................................................................................................................ 3 Altera Corporation コンパイラ・バージョン 8.0 v PCI Express 用の IP コンパイラのユーザー・ガイド 目次 レガシー割り込み ............................................................................................................................ 3 ルート・ポートの PCI Express 割り込み ........................................................................................ 4 第 11 章 . フロー・コントロール ポステッド・ライトのスループット .............................................................................................. 1 ノン・ポステッド・リードのスループット ................................................................................... 4 第 12 章 . エラー処理 フィジカル・レイヤのエラー .......................................................................................................... 2 データ・リンク層のエラー ............................................................................................................. 2 トランザクション層のエラー .......................................................................................................... 3 エラーの報告およびデータのポイゾン ........................................................................................... 5 訂正不可能と訂正可能のエラー · ステータス · ビット .................................................................. 6 第 13 章 . リコンフィギュレーションおよびオフセット・キャンセレーション ダイナミック・リコンフィギュレーション ................................................................................... 1 トランシーバのオフセット・キャンセレーション ...................................................................... 10 第 14 章 . 外部 PHY 外部 PHY のサポート ....................................................................................................................... 1 16 ビット SDR モード ................................................................................................................. 2 ソース・シンクロナス TXClk による 16 ビット SDR モード .................................................... 3 8 ビット DDR モード .................................................................................................................. 3 ソース・シンクロナス TXClk による 8 ビット DDR.................................................................. 5 8 ビット SDR モード................................................................................................................... 6 ソース・シンクロナス TXClk による 8 ビット SDR .................................................................. 7 16 ビット PHY インタフェース信号 .......................................................................................... 8 8 ビット PHY インタフェース信号 .......................................................................................... 10 外部 PHY の選択 ............................................................................................................................ 11 外部 PHY 制約のサポート ............................................................................................................. 12 第 15 章 . テストベンチおよびデザイン例 エンドポイント・テストベンチ ...................................................................................................... 3 ルート・ポート・テストベンチ ...................................................................................................... 4 チェイニング DMA デザイン例 ....................................................................................................... 6 デザイン例の BAR/ アドレス・マップ ..................................................................................... 15 チェイニング DMA コントロールおよびステータス・レジスタ ............................................ 15 チェイニング DMA ディスクリプタ・テーブル ...................................................................... 19 テスト・ドライバ・モジュール .................................................................................................... 20 ルート・ポートのデザイン例 ........................................................................................................ 24 ルート・ポート BFM ..................................................................................................................... 28 BFM メモリ・マップ ................................................................................................................ 30 コンフィギュレーション・スペース・バスおよびデバイス・ナンバリング......................... 30 ルート・ポートおよびエンドポイントのコンフィギュレーション ........................................ 30 アプリケーション層へのリードおよびライト・トランザクションの発行 ............................ 36 BFM プロシージャおよびファンクション .................................................................................... 37 vi コンパイラ・バージョン 8.0 PCI Express 用の IP コンパイラのユーザー・ガイド Altera Corporation 目次 BFM リードおよびライトのプロシージャ ............................................................................... 37 BFM コンフィギュレーション・プロシージャ........................................................................ 42 BFM 共用メモリ・アクセスのプロシージャ ........................................................................... 43 BFM ログおよびメッセージ・プロシージャ ........................................................................... 46 VHDL フォーマッティング・ファンクション ......................................................................... 50 Verilog HDL フォーマッティング・ファンクション............................................................... 50 チェイニング DMA デザイン例に固有のプロシージャおよびファンクション ...................... 54 第 16 章 . SOPC Builder のデザイン例 ............................................................................................................ 1 Quartus II プロジェクトの作成 ....................................................................................................... 2 SOPC Builer の実行 .......................................................................................................................... 3 PCI Express 用の IP コンパイラのパラメータ化 ............................................................................ 4 残りのコンポーネントの SOPC Builder システムへの追加 ........................................................... 5 SOPC Builder 内の接続の完了 ........................................................................................................ 6 コンポーネントの接続................................................................................................................ 6 クロックおよびアドレス・アサインメントの指定 ................................................................... 7 SOPC Builder システムの生成 ......................................................................................................... 8 SOPC Builder システムのシミュレーション .................................................................................. 9 デザインのコンパイル ................................................................................................................... 13 デバイスのプログラム ................................................................................................................... 13 第 17 章 .Qsys のデザイン例 Quartus II プロジェクトの作成 ....................................................................................................... 2 Qsys の実行 ...................................................................................................................................... 3 PCI Express 用の IP コンパイラのパラメータ化 ............................................................................. 5 残りのコンポーネントの Qsys システムへの追加 .......................................................................... 7 Qsys 内の接続の完了 ....................................................................................................................... 8 エクスポート・インタフェースの指定 ......................................................................................... 10 アドレス・アサインメントの設定 ................................................................................................ 11 Qsys システムの生成 ..................................................................................................................... 12 Qsys システムのシミュレーション ............................................................................................... 13 PIPE モードからシリアル・モードへの変更 ........................................................................... 14 シミュレーションの実行 .......................................................................................................... 15 コンパイルのためのデザインの準備 ............................................................................................ 17 デザイン例のラッパ・ファイル............................................................................................... 17 Quartus II プロジェクトへのファイルの追加.......................................................................... 18 デザインのコンパイル ................................................................................................................... 19 デバイスのプログラム ................................................................................................................... 19 第 18 章 . デバッグ ハードウェア立ち上げでの問題 ...................................................................................................... 1 リンク・トレーニング ................................................................................................................ 1 BIOS 列挙の問題 ......................................................................................................................... 3 コンフィギュレーション・スペースの設定 .............................................................................. 3 リンクおよびトランシーバのテスト .............................................................................................. 4 Altera Corporation コンパイラ・バージョン 8.0 vii PCI Express 用の IP コンパイラのユーザー・ガイド 目次 付録 . TLP(トランザクション・レイヤ・パケット)のヘッダ・フォーマット データ・ペイロードなしの TLP パケットのフォーマット ............................................................. 1 データ・ペイロードありの TLP パケットのフォーマット ............................................................. 4 付録 . ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース .................................................................................... 1 受信データパス・インタフェース信号 ...................................................................................... 3 送信動作のインタフェース信号 ............................................................................................... 14 ディスクリプタ / データ・インタフェースのためのコンプリーション・インタフェース信号 . 31 ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 ...................... 32 ICM の特長 ................................................................................................................................ 33 ICM 機能の説明 ......................................................................................................................... 33 推奨されるインクリメンタル・コンパイル・フロー ................................................................... 40 付録 . ソフト IP 実装のパフォーマンスおよびリソース使用率 Avalon-ST インタフェース ............................................................................................................. 1 Arria GX デバイス ....................................................................................................................... 1 Arria II GX デバイス .................................................................................................................... 2 Stratix II GX デバイス ................................................................................................................. 2 Stratix III ファミリ ...................................................................................................................... 3 Stratix IV ファミリ ..................................................................................................................... 3 Avalon-MM インタフェース ........................................................................................................... 3 Arria GX デバイス ....................................................................................................................... 4 Cyclone III ファミリ ................................................................................................................... 5 Stratix II GX デバイス ................................................................................................................. 5 Stratix III ファミリ ...................................................................................................................... 5 Stratix IV ファミリ ..................................................................................................................... 6 ディスクリプタ / データ・インタフェース .................................................................................... 6 Arria GX デバイス ....................................................................................................................... 7 Cyclone III ファミリ ................................................................................................................... 7 Stratix II GX デバイス ................................................................................................................. 8 Stratix III ファミリ ..................................................................................................................... 8 Stratix IV ファミリ ..................................................................................................................... 9 追加情報 改訂履歴........................................................................................................................................... 1 アルテラへのお問い合わせ ............................................................................................................. 9 表記規則 ........................................................................................................................................... 9 viii コンパイラ・バージョン 8.0 PCI Express 用の IP コンパイラのユーザー・ガイド Altera Corporation 1. このコンパイラについて May 2011 EMI_DG_002-5.0 このドキュメントでは、PCI Express 用の Altera® IP コンパイラについて説明します。 PCI Express は、ネットワーク・アダプタ、ストレージ・エリア・ネットワーク、エ ンベデッド・コントローラ、グラフィック・アクセラレータ・ボード、およびオー ディオ・ビデオ製品などのさまざまなアプリケーションで使用するための高パ フォーマンスのインターコネクト・プロトコルです。PCI Express のプロトコルは、従 来の PCI および PCI-X プロトコルとの後方互換性のあるソフトウェアですが、その先 行とは大きく異なります。これは、2 つのデバイス間のパケット・ベース、シリア ル、およびポイント・ツー・ポイント相互接続です。パフォーマンスは、レーンと 実装される世代の数に基づくスケーラブルです。アルテラは、Gen1 のための PCI Express Base Specification 1.0a or 1.1、そして Gen1 または Gen2 のための PCI Express Base Specification 2.0 に準拠するエンド・ポイントおよびルート・ポートの両方を提 供しています。両方のエンド・ポイントおよびルート・ポートは、重要な FPGA リ ソースを節約し、プログラマブル・ロジックではなく、設定可能なハード IP ブロッ クとして実装することができます。PCI Express 用の IP コンパイラは ×1、×2、×4、×8 のコンフィギュレーションで使用可能です。表 1‒1 は 1、2、4、および 8 レーンの PCI Express 用の Gen1 および Gen2 IP コンパイラのための PCI Express リンクの合計帯 域幅を示します。プロトコルは、Gen1 のための毎秒 2.5 のギガ転送、そして Gen2 の ための毎秒 5 ギガ転送を指定します。PCI Express のプロトコルが 8B/10B エンコー ディングを使用するため、表 1‒1 での値に示される 20%のオーバーヘッドがありま す。表 1‒1 は単一の TX または RX のチャネルの帯域幅を提供し、二重動作のために 表 1‒1 での値が倍増されるようになります。 表 1‒1. PCI Express のスループット用の IP コンパイラ リンク幅 ×1 ×2 ×4 ×8 PCI Express Gen1 Gbps (1.x 対応) 2 4 8 16 PCI Express Gen2 Gbps (2.0 対応) 4 8 16 32 f Stratix® IV GX および Arria® II GX デバイスのハードIP の実装のための帯域幅番号の「PCI Express High Performance Reference Design」を参照してください。 特長 PCI Express 用のアルテラの IP コンパイラは、複数のデバイス・ファミリ間での広範 なサポートを提供しています。それは、次の主要機能をサポートしています。 ■ ハード IP 実装 —PCI Express Base Specification 1.1 or 2.0。トランザクション、デー タ・リンク・レイヤ、およびフィジカル・レイヤを含む PCI Express プロトコル・ スタックはデバイスで強化されています。 © 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 Registered PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Feedback Subscribe 第 1 章 : このコンパイラについて 特長 1–2 ■ ■ ソフト IP 実装 : ■ PCI Express Base Specification 1.0a or 1.1. ■ 対応デバイス。表 1‒4 を参照してください。 ■ トランザクション、データ・リンク、およびフィジカル・レイヤを含む PCI Express プロトコル・スタックは、FPGA ファブリック・ロジック・エレメント を使用して実装されます。 特長 ■ ×1、×2、×4、および ×8 コンフィギュレーション対応。ダウン ×4 の構成を設定せ ずに Cyclone® IV GX デバイスの ×2 コンフィギュレーションを選択することが できます。 ■ 頼性の高いアプリケーションのためのオプションの ECRC(End-to-end Cyclic Redundancy Code)の生成とチェック、および AER(Advanced Error Reporting)。 ■ 大規模な最大ペイロード・サイズのサポート Stratix IV GX ハード IP— 最大 2 K バイト(128、256、512、1,024、または 2,048 バイト) Arria II GX、Arria II GZ、および Cyclone IV GX ハード IP— 最大 256 バイト(128 または 256 バイト) ソフト IP 実装 — 最大 2 K バイト(128、256、512、1,024、または 2,048 バイ ト) ■ 使いやすさ ■ 簡単なパラメータ化。 ■ PCI Express 用の IP コンパイラのハード IP の実装 を使用する実質的なオンチッ プ・リソースの節約および保証されたタイミング・クロージャ。 ■ ハード IP の実装のためのライセンス要件なしで容易な採用。 ■ 開始するためのデザイン例。 ■ Qsys および SOPC Builder のサポート。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 1 章 : このコンパイラについて 特長 ■ 1–3 11.0 リリースの新機能 ■ ■ 次の機能を備えたバリエーションを生成する Qsys デザイン・フローのサポー ト ■ Arria II GX、Cylone IV GX、HardCopy IV GX、および Stratix IV GX ハード IP の実 装のサポート ■ エンド・ポイント・モード(ルート・コンプレックス・ポートではなく) のサポート ■ Gen1 のサポート : ×1、×2、×4、および ×8、そして Gen2 のサポート : ×1 および ×4. ■ Verilog HDL シミュレーション・サポート ■ Verilog テストベンチ・パートナ ■ Avalon-MM インタフェース仕様に準拠するアプリケーション・レイヤへの インタフェース ■ 新たにデザインされたブリッジは、SOPC Builder のデザイン・フローで使用 可能なブリッジよりもはるかに少ない FPGA リソースを使用します。 Stratix V サポートは、新しいIP コアの PCI Express 用の Stratix V ハード IP で提供さ れています。 ■ Stratix V サポートは、PCI Express 用の IP コンパイラに準拠していません。 ■ マイグレーション・パスは、10.1 ソフトウェアで生成された Stratix V のバリ エーションに提供されていません。新しい PCI Express 用の Stratix V ハード IP でバリエーションを再作成する必要があります。 ■ TPCI Express 用の Stratix V ハード IP は、 Stratix V ハード IP for PCI Express User Guide で説明されております。 さまざまな機能は、ソフトとハード IP の実装、そして 3 つのデザイン・フローに適 用されます。表 1‒2 は、これらのさまざまな機能を概説します。 表 1‒2. PCI Express 用の IP コンパイラの機能 ( その1 ) ハード IP の実装 ソフト IP の実装 MegaWizard Plug-In Manager デ ザイン・フ ロー SOPC Builder デザイン・フ ロー 無料 必須 必須 サポートされ ていない サポートされ ていない サポートされ サポートされ ていない ていない ×1, ×2, ×4, ×8 ×1, ×2, ×4 ×1, ×2, ×4, ×8 ×1, ×4, ×8 ×1, ×4 Gen2 ×1, ×4, ×8 ×1 ×1, ×4 使用不可 使用不可 Avalon Memory-Mapped (Avalon-MM) インタフェー ス サポートされ ていない サポートされ る サポートされ る サポートされ サポートされ ていない る 64 ビット Avalon Streaming (Avalon-ST) インタフェース サポートされ る サポートされ ていない サポートされ ていない サポートされ サポートされ る ていない MegaWizard Plug-In Manager デザ イン・フロー SOPC Builder デザイン・フ ロー MegaCore ライセンス 無料 無料 ルート・ポート サポートされ る Gen1 機能 2011 年 5 月 Altera Corporation Qsys デザイ ン・フロー PCI Express 用の IP コンパイラのユーザー・ガイド 第 1 章 : このコンパイラについて 特長 1–4 表 1‒2. PCI Express 用の IP コンパイラの機能 ( その2 ) ハード IP の実装 MegaWizard Plug-In Manager デザ イン・フロー ソフト IP の実装 MegaWizard Plug-In Manager デ ザイン・フ ロー SOPC Builder デザイン・フ ロー SOPC Builder デザイン・フ ロー Qsys デザイ ン・フロー 128 ビット Avalon-ST インタ サポートされ フェース る サポートされ ていない サポートされ ていない サポートされ サポートされ ていない ていない ディスクリプタ / データイ ンタフェース (1) サポートされ ていない サポートされ ていない サポートされ ていない サポートされ サポートされ る ていない レガシー・エンドポイント サポートされ る サポートされ ていない サポートされ ていない サポートされ サポートされ る ていない 機能 トランザクション・レイ ヤ・パケット (TLP) タイ プ (2) ■ メモリ・ リード・リ クエスト ■ メモリ・ リード・リ クエスト ■ メモリ・ラ イト・リク エスト ■ メモリ・ラ イト・リク エスト データの有 無にかかわ らず完成 ■ すべて ■ 128 バイト –2 K バイト (Stratix IV GX, HardCopy IV GX, Arria II GZ), 128 バイト –256 バイト (Arria II GX and Cyclone IV GX) メモリ・ リード・リ クエスト ■ メモリ・ラ イト・リク エスト ■ データの有 無にかかわ らず完成 全て データの有 無にかかわ らず完成 128–256 バイ ト 128 バイト –2 K バイト 128–256 バイ ト 2 (Stratix IV GX, HardCopy IV GX) 1 (Arria II GX, 1 Arria II GZ, Cyclone IV GX) 1 1–2 1 サポートされ ていない サポートされ る サポートされ る サポートされ サポートされ ていない る 4K バイトのアドレス・バウ ンダリを越えるリクエスト サポートされ (アプリケーション・レイ ていない ヤへの透過) サポートされ る サポートされ る サポートされ サポートされ ていない る 16 16 4–256 サポートされ ていない サポートされ ていない サポートされ サポートされ ていない ていない 最大ペイロード・サイズ バーチャル・チャネル (VC)数 アウト・オブ・オーダー・ コンプリーションのオーダ リング(アプリケーショ ン・レイヤへの透過) ポーストされていないリク エスト用の サポートされる 32 or 64 タグ数 RX と TX の ECRC 転送 サポートされ る PCI Express 用の IP コンパイラのユーザー・ガイド 128–256 バイ ト ■ 2011 年 5 月 16 Altera Corporation 第 1 章 : このコンパイラについて リリース情報 1–5 表 1‒2. PCI Express 用の IP コンパイラの機能 ( その3 ) ハード IP の実装 機能 MSI-X ソフト IP の実装 MegaWizard Plug-In Manager デザ イン・フロー SOPC Builder デザイン・フ ロー Qsys デザイ ン・フロー サポートされ る サポートされ ていない サポートされ ていない MegaWizard Plug-In Manager デ ザイン・フ ロー SOPC Builder デザイン・フ ロー サポートされ サポートされ ていない ていない 表 1‒2 の注 : (1) 新規デザインには推奨されません。 (2) TLP ヘッダのレイアウトについて詳しくは、 付録 A, TLP(トランザクション・レイヤ・パケット)のヘッダ・フォーマッ トを参照してください。 リリース情報 表 1‒3 には、PCI Express 用の IP コンパイラのこのリリース情報を提供します。 表 1‒3. PCI Express 用の IP コンパイラのリリース情報 項目 バージョン リリース・デート オーだリング・コード 説明 11.0 May 2011 IP-PCIE/1 IP-PCIE/4 IP-PCIE/8 IP-AGX-PCIE/1 IP-AGX-PCIE/4 ハード IP の実装にはオーダーリング・コードが必要 ではない。 ID 製品 ■ ハード IP の実装 ■ ソフト IP の実装 FFFF ×1–00A9 ×4–00AA ×8–00AB ベンダ ID ■ ハード IP の実装 6AF7 ■ ソフト IP の実装 6A66 アルテラは、Quartus® II ソフトウェアの現在のバージョンは、各 IP コアの以前の バージョンをコンパイルしていることを確認します。この検証のすべての例外は、 MegaCore IP Library Release Notes and Errata で報告されます。アルテラは、1 リリース より古い IP コアのバージョンでコンパイルを確認しません。 デバイス・ファミリのサポート IP コアは、ターゲットのアルテラ・デバイス・ファミリに対し、フル・サポートあ るいは暫定サポートを提供しています。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 1 章 : このコンパイラについて デバイス・ファミリのサポート 1–6 ■ ファイナル・サポート — このデバイスの最終的なタイミング・モデルで検証され ています。 ■ 暫定サポート — このデバイス用の暫定的なタイミング・モデルで検証されていま す。 ■ HardCopy コンパニオン —HardCopy コンパニオン・デバイスの暫定的なタイミン グ・モデルで検証されています。 ■ HardCopy コンパイル —HardCopy デバイスの最終的なタイミング・モデルで検証さ れています。 表 1‒4 に、それぞれのアルテラ・デバイス・ファミリの PCI Express 用の IP コンパイ ラによって提供されるサポートのレベルを示します。 表 1‒4. デバイス・ファミリのサポート デバイス・ファミリ サポート Arria GX (1) 最終サポート Arria II GX (1) 最終サポート Arria II GZ (1) 最終サポート Cyclone II 最終サポート Cyclone III 最終サポート Cyclone III LS 最終サポート Cyclone IV GX 最終サポート HardCopy II Hardcopy コンパイル HardCopy III Hardcopy コンパイル HardCopy IV Hardcopy コンパイル Stratix II 最終 Stratix II GX 最終 Stratix III 最終 Stratix IV E, GX 最終 Stratix IV GT 最終 他のデバイス・ファミリ サポート無し 表 1‒4: の注 (1) 正常に Quartus II ソフトウェアを使用して IP コアをコンパイルするには、Arria GX または Arria II GX デバイス・ファミリを選択した場合でも、Stratix II GX ファミリのサポートをインストールする必要 があります。 f Quartus II の 11.0 リリースでは、Stratix V デバイスのサポートは、 PCI Express 用の IP のコ ンパイラではなく、PCI Express 用の Stratix V のハード IP で提供されております。詳 細については、「Stratix V ハード IP for PCI Express User Guide」を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 1 章 : このコンパイラについて 概要 1–7 概要 PCI Express 用の IP コンパイラでは、単一のアルテラ・デバイスの PCI Express の変動 用の複数の IP コンパイラを組み合わせて、非透過的なブリッジ、またはユニークな デザインを含む PCI Express のルート・ポートまたはエンド・ポイントのデザインに 使用するカスタマイズのバリエーションを生成します。PCI Express 用の IP コンパイ ラは、トランザクション、データ・リンク、およびフィジカル・レイヤのための PCI Express 仕様のすべての必須の機能およびほとんどのオプション機能を実装します。 ハード IP の実装は、トランザクション、データリンクとフィジカル・レイヤの仕様 の必須の機能とオプション機能のほとんどのすべてが含まれています。選択したデ バイスに応じて、PCI Express 用の IP コンパイラのハード実装 のいずれかに 4 つのイ ンスタンスが適用可能です。これらのインスタンスは、システムの要件を満たすた めに、ルート・ポートおよびエンド・ポイントのデザインの任意の組み合わせを含 むように構成することができます。単一のデバイスは、PCI Express 用の IP コンパイ ラのソフトとハードの実装のインスタンスを使用することができます。図 1‒1 に、 ハード IP の実装の上位レベルのブロック図を提供します。 図 1‒1. PCI Express ハード IP の IP コンパイラ の実装の上位レベルのブロック図 (1) (2) FPGA Fabric PCIe Hard IP Block Transceivers PCS PMA PIPE Interface PCI Express Protocol Stack Retry Buffer TL Interface Adapter LMI Virtual Channel RX Buffer PCIe Reconfig FPGA Fabric Interface Clock & Reset Selection Application Layer Test, Debug & Configuration Logic PCIe Hard IP Block Reconfiguration 図 1‒1 の注 : (1) Stratix IV GX デバイスは、2 つのバーチャル・チャネルがあります。 (2) LMI は Local Management Interface の略です。 このユーザー・ガイドでは、デザイン例とするルート・ポート(RP)またはエン ド・ポイント(EP)として設定可能なテストベンチが含まれています。自身のルー ト・ポートおよびエンド・ポイント・デザインの作成およびテストするための出発 点としてこれらのデザイン例を使用することができます。 f PCI Express 用の IP コンパイラのユーザーガイドの目的は、 PCI Express プロトコルを説 明するわけではなく、PCI Express の IP コンパイラの使用方法を説明することです。 二つの資料の間に必然的な重なりがありますが、この資料は、次の PCI Express 仕様 の理解と組み合わせて使用する必要があります:PHY インタフェース for the PCI Express Architecture PCI Express 3.0 と PCI Express Base Specification 1.0a, 1.1, or 2.0。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 1 章 : このコンパイラについて 概要 1–8 PCI Express ハード IP 用の IP コンパイラ付きのデバイス・ファミリ Arria II GX、Arria II GZ、Cyclone IV GX、HardCopy IV GX、または Stratix IV GX デバイスを ターゲットにする場合は、次のレイヤを含む PCI Express のスタックのフル・ハード IP の実装を含むように IP コアをパラメータ化することができます。 ■ フィジカル(PHY) ■ フィジカル・メディア・アタッチメント(PMA) ■ フィジカル・コーディング・サブレイヤ(PCS) ■ メディア・アクセス・コントロール(MAC) ■ データ・リンク ■ トランザクション ハード IP の実装はアルテラ・デバイス用に最適化され、すべてのメモリ、I/O、コン フィギュレーション、およびメッセージ・トランザクションをサポートします。IP コアは、最大実効スループットを達成するために高度に最適化されたアプリケー ション・インタフェースがあります。コンパイラはパラメータ化することができる ので、デザイン要件を満たすために IP コアをカスタマイズすることができます。 表 1‒5 に、PCI Express 用の IP コンパイラのハード実装で使用可能なコンフィギュ レーションを示します。 表 1‒5. Quartus II ソフトウェア・バージョン 11.0 での PCI Express 用の IP コンパイラのためハード IP コン フィギュレーション ( その1 ) デバイス リンク・レート (Gbps) ×1 ×2 (1) ×4 ×8 MegaWizard Plug-In Manager デザイン・フローを使用する Avalon Streaming (Avalon-ST) インタフェース Arria II GX Arria II GZ Cyclone IV GX HardCopy IV GX Stratix IV GX 2.5 使用可 使用不可 使用可 使用可 (2) 5.0 使用不可 使用不可 使用不可 使用不可 2.5 使用可 使用不可 使用可 使用可 (2) 5.0 使用可 使用不可 使用可 (2) 使用不可 2.5 使用可 使用可 使用可 使用不可 5.0 使用不可 使用不可 使用不可 使用不可 2.5 使用可 使用不可 使用可 使用可 5.0 使用可 使用不可 使用可 使用可 2.5 使用可 使用不可 使用可 使用可 5.0 使用可 使用不可 使用可 使用可 SOPC Builder デザイン・フローを使用する Avalon-MM インタフェース (3) Arria II GX Cyclone IV GX HardCopy IV GX Stratix IV GX 2.5 使用可 使用不可 使用可 使用不可 5.0 使用不可 使用不可 使用不可 使用不可 2.5 使用可 使用可 使用可 使用不可 5.0 使用不可 使用不可 使用不可 使用不可 2.5 使用可 使用不可 使用可 使用不可 5.0 使用可 使用不可 使用不可 使用不可 2.5 使用可 使用不可 使用可 使用不可 5.0 使用可 使用不可 使用不可 使用不可 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 1 章 : このコンパイラについて 概要 1–9 表 1‒5. Quartus II ソフトウェア・バージョン 11.0 での PCI Express 用の IP コンパイラのためハード IP コン フィギュレーション ( その2 ) デバイス リンク・レート (Gbps) ×1 ×2 (1) ×4 ×8 Qsys デザイン・フローを使用する Avalon-MM インタフェース (3) Arria II GX 2.5 使用可 使用不可 使用可 使用不可 Cyclone IV GX 2.5 使用可 使用可 使用可 使用不可 2.5 使用可 使用不可 使用可 使用可 5.0 使用可 使用可 使用可 使用不可 2.5 使用可 使用不可 使用可 使用可 5.0 使用可 使用不可 使用可 使用不可 HardCopy IV GX Stratix IV GX 表 1‒5 の注 : (1) ×2 初期設定を提供していないデバイスでは、デバイス・ピンに接続されていない左上 2 レーンの ×4 のコンフィギュレー ションを使用することができます。接続デバイスが ×2 ネイティブまたは ×2 にネゴシエーション可能であればリンクは ×2 に ネゴシエートします。 (2) ×8 のサポートは、125 MHz で 128 ビット・バスを使用しています。 (3) Qsys および SOPC Builder デザイン・フローは、エンドポイントのバリエーションの生成をサポートしています。 表 1‒6 に、ハード IP の実装を含むデバイス・ファミリの Total RX buffer space、Retry buffer size、および Maximum Payload size を示します。パラメータ・エディタの Buffer Setup ページにこれらのパラメータで調べられます。 表 1‒6. PCI Express 用の IP コンパイラのバッファおよびペイロードの情報 全 RX バッファ・ス ペース 再試行バッファ 最大ペイーロード・サ イズ Arria II GX 4 K バイト 2 K バイト 256 バイト Arria II GZ 16 K バイト 16 K バイト 2 K バイト Cyclone IV GX 4 K バイト 2 K バイト 256 バイト Stratix IV GX (1) 16 K バイト 16 K バイト 2 K バイト HardCopy IV GX–Gen2 ×8 8 K バイト 8 K バイト 1 K バイト HardCopy IV GX– 他の全ての モード 16 K バイト 16 K バイト 2 K バイト デバイス・ファミリ 表 1‒6 の注 : (1) 「PHY type (1)」のパラメータを選択しての HardCopy IV GX と互換性のバッファ・サイズで動作する Stratix IV GX の Gen2 の ×8 のデザインを制限することができます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 1 章 : このコンパイラについて 概要 1–10 PCI Express 用の IP コンパイラはルート・ポートまたはエンド・ポイント・アプリ ケーションのいずれかかに適用可能な ×1、×2、×4、および ×8 バリエーションをサ ポートします。IP コアをカスタマイズするために、MegaWizard™ Plug-In Manager、 SOPC Builder、または Qsys を使用することができます。SOPC Builder および Qsys のデ ザイン・フローは、ルート・ポートのバリエーションをサポートしていません。 図 1‒2 に、2 つの PCI Express 用の IP コンパイラ:それぞれルート・ポートおよびエ ンド・ポイントとして構成される比較的単純なアプリケーションを示します。 図 1‒2. シングル・ルート・ポートおよびエンド・ポイント付きの PCI Express アプリケーション Altera FPGA with Embedded PCIe Hard IP Block Altera FPGA with Embedded PCIe Hard IP Block PCIe Hard IP Block User Application Logic PCIe Hard IP Block PCI Express Link RP PCI Express 用の IP コンパイラのユーザー・ガイド EP User Application Logic 2011 年 5 月 Altera Corporation 第 1 章 : このコンパイラについて 概要 1–11 図 1‒3 には、2 つの PCIe ハード IP ルート・ポートを搭載したアルテラ・デバイスを 含む異種トポロジを示します。1 つのルート・ポートは、ハード IP の IP コアを使用 して実装されるエンド・ポイントを含む 2 番目の FPGA に直接接続します。第 2 番目 のルート・ポートは、3 つの PCI Express のエンド・ポイントに多重化するスイッチ に接続します。 図 1‒3. 2 つのルート・ポート付きの PCI Express のアプリケーション Altera FPGA with Embedded PCIe Hard IP Blocks Altera FPGA with Embedded PCIe Hard IP Blocks PCIe Hard IP Block PCIe Hard IP Block User Application Logic RP PCIe Link User Application Logic EP PCIe Link PCIe Hard IP Block Switch RP IP Compiler for PCI Express Soft IP Implementation PCIe Link User Application Logic EP PCIe Link PCIe Hard IP Block Altera FPGA Supporting IP Compiler for PCI Express Soft IP Implementation User Application Logic PIPE Interface PCIe Link PHY Altera FPGA with Embedded PCIe Hard IP Blocks EP IP Compiler for PCI Express Soft IP Implementation User Application Logic 内部トランシーバを含むデバイスをターゲットにする場合、PHY、MAC、PCS、およ び PMA レイヤを含む完全なレイヤを含むように PCI Express 用の IP コンパイラをパ ラメータ化することができます。他のデバイス・アーキテクチャをターゲットにす る場合、PCI Express 用の IP コンパイラは他の PIPE 準拠の外部 PHY デバイスと IP コ アを使用可能になって、Intel でデザインされる PIPE インタフェースで IP コアを生成 します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 1 章 : このコンパイラについて 概要 1–12 表 1‒7 には、HSSI トランシーバを含むデバイスのためのプロトコル・サポートを示 します。 表 1‒7. HSSI トランシーバ付きのデバイスでの動作 (1) デバイス・ファミリ ×1 ×4 ×8 Stratix IV GX ハード IP–Gen1 使用可 使用可 使用可 Stratix IV GX ハード IP–Gen 2 使用可 (2) 使用可 (2) 使用可 (3) Stratix IV ソフト IP–Gen1 使用可 使用可 使用不可 Cyclone IV GX ハード IP–Gen1 使用可 使用可 使用不可 Arria II GX–Gen1 ハード IP の実装 使用可 使用可 使用可 Arria II GX–Gen1 ソフト IP の実装 使用可 使用可 使用不可 Arria II GZ–Gen1 ハード IP の実装 使用可 使用可 使用可 Arria II GZ–Gen2 ハード IP の実装 使用可 使用可 使用不可 Arria GX 使用可 使用可 使用不可 Stratix II GX 使用可 使用可 使用可 表 1‒7 の注 : (1) 別の実装とデザイン・フローで使用可能な機能のリストについては、 1‒3 ページの表 1‒2 を参照 してください。 (2) -4 スピード・グレードでは使用不可能です。-2 または -3 スピード・グレードを必要とします。 (3) Gen2 の ×8 は -2 と I3 のスピード・グレードでのみ使用可能です。 1 内部トランシーバを含むアルテラの FPGA のデバイス名と部品番号は、常に文字の GX、GT、または GZ が含まれています。内部トランシーバが含まれていないデバイ スを選択した場合は、外部 PHY に接続する PIPE インタフェースを使用することがで きます。3‒9 ページの表 3‒9 に、使用可能な外部 PHY の種類を示します。 ペイロード・サイズ、バッファ・サイズ、およびコンフィギュレーション・スペー ス(ベース・アドレスのレジスタ・サポートと他のレジスタ)をカスタマイズでき ます。さらに、PCI Express 用の IP コンパイラは ×1、×2、×4、および ×8 コンフィ ギュレーションするための End-to-end Cyclic Redundancy Code(ECRC)と高度なエ ラー・レポートをサポートします。 外部 PHY サポート アルテラの PCI Express 用の IP コンパイラのバリエーションは、PHY の広い範囲をサ ポートしています。それは、8 ビットの DDR/SDR モードまたは 16 ビット SDR モー ドの TI XIO1100 PHY;8 ビット SDR モードの NXP PX1011A、シリアル PHY、および ソース同期の送信クロック・モードの有無での 8 ビット /16 ビットの SDR を使用す るカスタムの PHY の範囲とソース同期の送信クロック・モードの有無での 8 ビット の DDR が含まれています。パラメータ・エディタで Fast Output Enable Register オプ ションをオンにするか、Quartus II Settings File (.qsf)でこの設定を編集することに よって、TX I/O を制限することができます。この制約は、最速の tCO のタイミングを 確実にします。 デバッグ機能 また、PCI Express 用の IP コンパイラは、システム・レベルの問題の迅速なデバッグ のために IP コアの観察と制御を可能にするデバッグ機能が含まれています。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 1 章 : このコンパイラについて IP コアの検証 1–13 f デバッギングについて詳しくは、第 18 章 , デバッグを参照してください。 IP コアの検証 PCI Express 仕様への準拠を確保するために、アルテラは、PCI Express 用の IP コンパ イラの広範な検証を実行します。検証は、シミュレーションおよびハードウェア・ テストの両方が含まれています。 シミュレーション環境 PCI Express 用の IP コンパイラのためのアルテラの検証のシミュレーション環境は、 PCI Express リンク・インタフェースを駆動する業界標準の BFM で構成され、複数の テストベンチを使用します。カスタム BFM は、アプリケーション側のインタフェー スに接続されています。 アルテラは、シミュレーション環境で次のテストを実行します。 ■ すべてのトランザクション・レイヤ・パケットのタイプとサイズ、およびすべて のコンフィギュレーション・スペースのビットをテストする管理されたテスト ■ リンク、トランザクション・レイヤ・パケット、およびデータ・リンク・レイヤ のパケットにエラーを注入し、IP コアから適切な応答を確認するエラー・イン ジェクション・テスト ■ 具体的にリスト内の項目をテストする PCI-SIG® Compliance Checklist のテスト ■ 1 つまたは複数のバーチャル・チャネル間でのトラフィック・パターンの広い範 囲をテストするランダム・テスト 互換性テスト環境 アルテラは、信頼性の高いソリューションを確実にするために PCI Express 用の IP コ ンパイラの重要なハードウェア・テストを実行しました。IP コアは、Arria GX、 Arria II GX、Cyclone IV GX、Stratix II GX、Stratix IV GX デバイス、および様々な外部 PHY で 2005 年から 2009 年の様々な PPCI-SIG PCI Express Compliance Workshop でテストさ れます。彼らは、マザー・ボードおよびテスト機器の幅広い選択を持つすべての PCI-SIG ゴールド・テストと相互運用性テストに合格しました。さらに、アルテラ は、内部でさまざまなメーカからマザー・ボードやスイッチ・チップを搭載したす べてのリリースをテストします。すべての PCI-SIG のコンプライアンス・テストは、 各 IP コアのリリースで実行されます。 パフォーマンスおよびリソース使用率 PCI Express 用の IP コンパイラのハード IP の実装では、Arria II GX、Arria II GZ、 Cyclone IV GX、HardCopy IV GX、および Stratix IV GX デバイスで使用可能です。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 1 章 : このコンパイラについて パフォーマンスおよびリソース使用率 1–14 表 1‒8 に、最大 256 バイトのペイロードおよび Avalon-ST の 32 のタグと Avalon-MM の 16 のタグを備えた、Avalon-ST あるいは Avalon-MM インタフェースのいずれかを使 用するハード IP の実装 のリソース使用率を示します。 表 1‒8. Arria II GX、Arria II GZ、Cyclone IV GX、および Stratix IV GX デバイスでの性能 とリソース使用率 パラメータ レー ン幅 内部クロッ ク (MHz) サイズ バー チャル・ ALUT 組み合 チャネ わせ ル 専用レジスタ メモリ・ブロッ ク M9K Avalon-ST インタフェース ‒MegaWizard Plug-In Manager デザイン・フロー ×1 125 1 100 100 0 ×1 125 2 100 100 0 ×4 125 1 200 200 0 ×4 125 2 200 200 0 ×8 250 1 200 200 0 ×8 250 2 200 200 0 Avalon-MM インタフェース ‒SOPC Builder デザイン・フロー (1) ×1 125 1 4300 3500 17 ×4 125 1 4200 3400 17 Avalon-MM インタフェース –SOPC Builder デザイン・フロー - コンプリータのみ ×1 125 1 4200 3100 14 ×4 125 1 3800 2800 14 Avalon-MM インタフェース –SOPC Builder デザイン・フロー - コンプリータのみ Single Dword ×1 125 1 ×4 125 1 ×1 125 1 ×4 125 1 ×8 250 1 250 230 0 Avalon-MM インタフェース ‒Qsys デザイン・フロー 1600 1600 18 Avalon-MM インタフェース –Qsys デザイン・フロー - コンプリータのみ ×1 125 1 ×4 125 1 1000 1150 10 Avalon-MM インタフェース –Qsys デザイン・フロー - コンプリータのみ ( シングル・ ワード) ×1 125 1 ×4 125 1 ×4 250 1 430 450 0 表 1‒8 の注 : (1) Avalon-MM 実装のトランザクション・レイヤは、レイテンシを改善するために、プログラマブル・ ロジックで実装されています。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 1 章 : このコンパイラについて 推奨スピード・グレード 1–15 f ソフト IP の実装の性能およびリソース使用率について詳しくは、 「付録 C, ソフト IP 実装 のパフォーマンスおよびリソース使用率」 を参照してください。 推奨スピード・グレード 表 1‒9 に、サポートされるリンク幅と内部クロック周波数の各デバイス・ファミリの 推奨スピード・グレードを示します。PCI Express 用の IP コンパイラのソフト IP の実 装については、表では、タイミングを満たす可能性があるのスピード・グレードを 示します。それはより遅いスピード・グレードでタイミングをクローズすることが できます。ハード IP の実装の場合、記載されるスピード・グレードは、タイミング をクローズするスピード・グレードしかありません。内部クロック周波数が 125 MHz または 250 MHz の場合には、Quartus II Analysis & Synthesis Settings の Optimization Technique を Speed に設定することを推奨します。 f この設定について詳しくは、「Quartus II ヘルプ」の「分析と合成のための設定と実 行」、そして「Quartus II ハンドブック Volume 2 」の「面積 & タイミングの最適化」 の章 を参照してください。 表 1‒9. デバイス・ファミリの推奨スピード・グレード ( その1 ) デバイス・ファミリ リンク幅 内部クロック の 周波数 (MHz) 推奨 スピード・グ レード Avalon-ST ハード IP の実装 ECC サポート付きの Arria II GX Gen1 (1) ECC サポート付きの Arria II GZ Gen1 ECC サポート付きの Arria II GZ Gen 2 ×1 62.5 (2) –4,–5,–6 ×1 125 –4,–5,–6 ×4 125 –4,–5,–6 ×8 125 –4,–5,–6 ×1 125 -3, -4 ×4 125 -3, -4 ×8 125 -3, -4 ×1 125 -3 ×4 125 -3 ×1 62.5 (2) すべてのス ピード・グ レード 125 すべてのス ピード・グ レード ECC サポート付きの Cyclone IV GX Gen1 ×1, ×2, ×4 ×1 62.5 (2) –2, –3 (3) ×1 125 –2, –3, –4 ×4 125 –2, –3, –4 ×8 250 –2, –3, –4 (3) ECC サポート付きの Stratix IV GX Gen2 (1) ×1 125 –2, –3 (3) ×4 250 –2, –3 (3) ECC サポートなし Stratix IV GX Gen2 ×8 500 –2, I3 (4) ECC サポート付きの Stratix IV GX Gen1 (1) 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 1 章 : このコンパイラについて 推奨スピード・グレード 1–16 表 1‒9. デバイス・ファミリの推奨スピード・グレード ( その2 ) デバイス・ファミリ リンク幅 内部クロック の 周波数 (MHz) 推奨 スピード・グ レード Avalon‒MM インタフェース ‒SOPC Builder フロー Arria GX ×1, ×4 125 –6 Arria II GX ×1, ×4 125 –4, –5, –6 Cyclone IV GX Gen1 ECC サポート付 きの ×1, ×2, ×4 125 -6 (5) ×1 62.5 -6, -7, -8 (5) Stratix II GX ×1, ×4 125 –3, –4, –5 (5) Stratix IV GX Gen1 ×1, ×4 125 -2, -3, -4 Stratix IV GX Gen2 ×1 125 -2, -3 Avalon‒MM インタフェース ‒Qsys フロー Arria II GX Cyclone IV GX Stratix IV GX Gen1 Stratix IV GX Gen2 ×1, ×4 125 –6 ×1, ×2, ×4 125 –6, –7 ×1 62.5 –6, –7, –8 ×1, ×4 125 –2, –3, –4 ×8 250 –2, –3 ×1 125 –2, –3 ×4 250 –2, –3 Avalon-ST またはディスクリプタ / データの インタフェースのソフト IP の実装 Arria GX ×1, ×4 125 –6 Arria II GX ×1, ×4 125 –4. –5 (5) ×1, ×4 125 –6 (5) Cyclone II, Cyclone III Cyclone IV GX Stratix II Stratix II GX Stratix III ×1 62.5 –6, –7, –8 (5) ×1 125 –6, –7 (5) ×1, ×4 125 –3, –4, –5 ×1 62.5 –3, –4, –5 (5) ×1, ×4 125 –3, –4, –5 (5) ×8 250 –3 (5) (6) ×1, ×4 125 –2, –3, –4 ×1 62.5 –2, –3, –4 ×1 62.5 全てのスピー ド・グレード ×1, ×4 125 全てのスピー ド・グレード Stratix IV E Gen1 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 1 章 : このコンパイラについて OpenCore Plus 評価 (ハード IP に必要なし) 1–17 表 1‒9. デバイス・ファミリの推奨スピード・グレード ( その3 ) 内部クロック の 周波数 (MHz) 推奨 スピード・グ レード ×1 62.5 全てのスピー ド・グレード ×4 125 全てのスピー ド・グレード デバイス・ファミリ リンク幅 Stratix IV GX Gen1 表 1‒9 の注 : (1) RX Buffer と Retry Buffer ECC オプションはハード IP の実装でのみ使用可能です。 (2) これは動作の省電力モードです。 (3) スピード・グレード -2、-3、および -4 のために、アルテラによって特性評価の保留中の最終的な結 果。Quartus II ソフトウェアで生成された .fit.rpt ファイルを参照してください。 (4) 提供のエンド・ポイントのデザイン例での -3 スピード・グレードのクローズ・タイミングは、 シード・スィープが必要です。 (5) これらのスピード・グレードとバリエーションのタイミング・クロージャを達成するために、 Quartus II のフィッタ設定で以下のフィジカル・シンセシスの設定をオンにする必要があります: Perform physical synthesis for combinational logic、Perform register duplication、および Perform register retiming。さらに、Quartus II デザイン・スペース・エクスプローラ、または Quartus II のシード・ スィープ手法を使用することができます。これらのオプションを設定する方法について詳しくは、 「Quartus II ハンドブック Volume 2」の「ネットリストおよびフィジカル・シンセシスの最適化」 の章を参照してください。 (6) この機能を含むことがより困難タイミングをクローズできるようになりますので、×8 ソフト IP の 実装の OpenCore Plus 機能をディセーブルすることを推奨します。 OpenCore Plus 評価 (ハード IP に必要なし) ライセンスを購入する前に、シミュレーションとハードウェアの IP コアを評価する ためにアルテラの無償 OpenCore Plus 評価機能を使用することができます。その機能 と性能に満足された後、PCI Express 用の IP コンパイラのハード IP の実装 のライセ ンスを購入する必要があり、生産にデザインを活用するようになります。 PCI Express 用の IP コンパイラのライセンスを購入した後は、アルテラのライセンス ウェブサイト(www.altera.com/licensing)からライセンス・ファイルをリクエスト し、それをコンピュータにインストールすることができます。ライセンス・ファイ ルをリクエストしたときに、ユーザーに license.dat ファイルを電子メールで送信し ます。インターネットをご利用いただけないお客様は、アルテラの販売代理店にお 問い合わせください。 アルテラの無償 OpenCore Plus 評価機能を使用すると、次のアクションを実行するこ とができます。 ■ ユーザーのシステムの IP コア(アルテラの IP コアまたは AMPPSM メガファンクショ ン)の動作をシミュレーションする。 ■ デザインの機能を検証したり、サイズやスピードを迅速かつ簡単に評価する。 ■ IP コアを含むデザインに対し、実行時間に制限のあるデバイス・プログラミン グ・ファイルを生成する。 ■ デバイスをプログラムし、デザインを実機上で検証する。 OpenCore Plus ハードウェア評価は、PCI Express 用の IP コンパイラのハード IP の実装 には適用されません。別々のライセンスがなくてもこの IP コアのハード IP の実装を 使用することができます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 1 章 : このコンパイラについて OpenCore Plus 評価 (ハード IP に必要なし) 1–18 f OpenCore Plus 評価機能を使用して、IP コアの検証、インストール、ライセンス、およ び評価についてくわしくは、OpenCore Plus Evaluation of Megafunctions を参照してくだ さい。 f インストールおよびライセンスについて詳しくは、Altera Software Installation and Licensing Manual を参照してください。 OpenCore Plus ハードウェア評価機能は、以下の 2 種類の動作モードでメガファンク ションの実機評価をサポートします。 ■ Untethered— デザインは限定時間のみ実行されます。 ■ Tethered— ボードとホスト・コンピュータ間に接続が必要です。デザイン内のす べてのメガファンクションが Tethered モードをサポートしている場合、デバイス はより長時間または無制限に動作できます。 最も限定的な評価時間に達すると、デバイス内のすべての IP コアが同時にタイムア ウトします。デザイン内に複数のメガファンクションがある場合、特定の IP コアの タイムアウト動作は、他の IP コアのタイムアウト動作によってマスクされることが あります。 IP コアの場合、アンテザード・タイムアウトは 1 時間、テザード・タイムアウト値 は無制限です。ハードウェア評価期限経過後にデザインは動作を停止します。タイ ムアウト時に、リンク・トレーニングおよびステータス・ステート・マシン (LTSSM)はリセット状態に保持されています。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 2. 使用法 May 2012 EMI_DG_002-5.0 この項では、迅速に PCI Express テストベンチ用の IP コンパイラをセットアップおよ びシミュレートするステップごとの操作方法を提供します。PCI Express 用 IP コンパ イラは、多数の設定オプションが用意されています。この章で選択したパラメータ は、アルテラのウェブサイトで使用可能な PCI Express High-Performance Reference Design に選択されたものと同じです。この章で指定されたパラメータを選択すると、 第 15 章 , テストベンチおよびデザイン例に含まれるすべてのテストを実行することができ ます。次の項では、以下の手順を実行して、PCI Express 用 IP コンパイラをインスタ ンス化する方法を示します。 1. 「PCI Express 用の IP コンパイラのパラメータ化」 2. 「生成されたファイルの表示」 3. 「デザインのシミュレーション」 4. 「デザインの制約」 5. 「デザインのコンパイル」 PCI Express 用の IP コンパイラのパラメータ化 この項では、第 15 章 , テストベンチおよびデザイン例で選択されるのと同じオプションを 使用して、エンド・ポイントとしての PCI Express の IP コンパイラのパラメータ化プ ロセスを解説します。パラメータを指定するには、以下のステップを実行します。 1. Tools メニューの MegaWizard Plug-In Manager をクリックします。MegaWizard Plug-In Manager が表示されます。 2. Create a new custom megafunction variation を選択して、Next をクリックします。 3. Which device family will you be using? での Stratix IV デバイス・ファミリを選択しま す。 4. ディレクトリ名の左の + アイコンをクリックして Installed Plug-Ins の下の Interfaces ディレクトリを展開します。そして、PCI Express を展開し、IP Compiler for PCI Express <version_number> をクリックします。 5. デザインの出力ファイルのタイプを選択します。この IP コアは、VHDL および Verilog HDL をサポートしています。この例では、Verilog HDL を選択します。 6. <working_dir>\top.v. 出力ファイルの <working_dir>\<variation name> のバリエーショ ン名を指定します。この実習では、IP コア・ファイルの名前の <working_dir>\top.v を指定します。 7. PCI Express 用 IP コンパイラの Parameter Settings ページを表示するには、Next を クリックします。 © 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 Registered PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Feedback Subscribe 第 2 章 : 使用法 PCI Express 用の IP コンパイラのパラメータ化 2–2 1 ダイアログボックスの下部にある Next または Back をクリックして、 MegaWizard Plug-In Manager では表示されているページを変更することがで きます。Parameter Settings、EDA、または Summary タブをクリックして名 前のページに直接移動することができます。 f パラメータの設定について詳しくは、第 3 章 , パラメータの設定を参照してく ださい。 8. Parameter Settings タブをクリックします。System Settings が表示されます。 Parameter Settings、EDA、および Summary のラベルが付いた 3 つのタブがあるこ とに注意してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 2 章 : 使用法 PCI Express 用の IP コンパイラのパラメータ化 2–3 9. 図 2‒1 は、テストベンチを実行するには、パラメータを指定します。 図 2‒1. システム設定 Parameters, EDA Tools and Summary Tabs 表 2‒1 は、適切な System Settings を提供します。 表 2‒1. システム設定のパラメータ パラメータ PCIe Core Type PHY type PHY interface Configure transceiver block Lanes Xcvr ref_clk Application interface Port type PCI Express version Application clock Max rate Test out width HIP reconfig 2011 年 5 月 Altera Corporation 値 PCI Express ハード IP Stratix IV GX シリアル デフォールト設定を使用する ×8 100 MHz Avalon-ST 128 ビット Native Endpoint 2.0 250 MHz Gen 2 (5.0 Gbps) 64 ビット ディセーブル PCI Express 用の IP コンパイラのユーザー・ガイド 第 2 章 : 使用法 PCI Express 用の IP コンパイラのパラメータ化 2–4 10. PCI Registers を表示するには、Next をクリックします。提供するテストベンチと チェイニング DMA デザイン例のテストのすべてをイネーブルするには、図 2‒2 で 示されるベース・アドレス・レジスタ(BAR)の割り当てを行います。BAR2 また は BAR3 が必要です。 図 2‒2. BAR 設定 図 2‒2 の注 : (1) エンド・ポイントのチェイニング DMA デザイン例の DMA コントローラは BAR2 または BAR3 を使用する必要があります。 表 2‒2 に、表形式で BAR の割り当てを提供します。 表 2‒2. PCI レジスタ ( その1 ) PCI ベース・レジスタ ( タイプ 0 コンフィギュレーション・スペース ) BAR BAR TYPE BAR サイズ 0 32 ビットのプリフェッチ不可 能メモリ 256 M バイト - 28 ビット 1 32 ビットのプリフェッチ不可 能メモリ 256 K バイト - 18 ビット 2 32 ビットのプリフェッチ不可 能メモリ 256 K バイト -18 ビット PCI 読み込み専用レジスタ レジスタ名 値 Device ID 0xE001 Subsystem ID 0x2801 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 2 章 : 使用法 PCI Express 用の IP コンパイラのパラメータ化 2–5 表 2‒2. PCI レジスタ ( その2 ) PCI ベース・レジスタ ( タイプ 0 コンフィギュレーション・スペース ) Revision ID 0x01 Vendor ID 0x1172 Subsystem vendor ID 0x5BDE Class code 0xFF0000 11. Capabilities を表示するには、Next をクリックします。表 2‒3 に、Capabilities パラ メータの正しい設定を提供します。 表 2‒3. Capabilities パラメータ パラメータ 値 デバイスの機能 Tags supported 32 Implement completion timeout disable このオプションを On にしてく ださい。 Completion timeout range ABCD エラー報告 Implement advanced error reporting Off Implement ECRC check Off Implement ECRC generation Off Implement ECRC forwarding Off MSI の機能 MSI messages requested 4 MSI message 64–bit address capable On リンクの機能 Link common clock On Data link layer active reporting Off Surprise down reporting Off Link port number 0x01 スロットの機能 Enable slot capability Off Slot capability register 0x0000000 MSI-X の機能 Implement MSI-X Off Table size 0x000 Offset 0x00000000 BAR indicator (BIR) 0 Pending Bit Array (PBA) 2011 年 5 月 Offset 0x00000000 BAR Indicator 0 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 2 章 : 使用法 PCI Express 用の IP コンパイラのパラメータ化 2–6 12. Buffer Setup を表示するには、Buffer Setup タブをクリックします。表 2‒4 は、この ページの正しい設定を提供します。 表 2‒4. バッファ・セットアップのパラメータ パラメータ 1 値 Maximum payload size 512 バイト Number of virtual channels 1 Number of low-priority VCs 無し Auto configure retry buffer size オン Retry buffer size 16 K バイト Maximum retry packets 64 Desired performance for received requests 最大値 Desired performance for received completions 最小値 PCI Express ハード IP の実装では、RX Buffer Space Allocation は、最大のパフォーマンス に固定されています。この設定は、ポステッド・ヘッダ・クレジット、ポステッド・ データ・クレジット、ノン・ポステッド・ヘッダ・クレジット、コンプリーション・ ヘッダ・クレジット、コンプリーション・データ・クレジット、トータル・ヘッダ・ クレジットおよびトータル RX バッファ・スペースの数をリストする読み出し専用の テーブルに対する値を決定します。図 2‒3 に、クレジット割り当てテーブルを示しま す。 図 2‒3. クレジット割り当てテーブル ( 読み出し専用 ) Fixed according to the device chosen for hard IP implementation PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 2 章 : 使用法 PCI Express 用の IP コンパイラのパラメータ化 2–7 13. Next をクリックし、Power Management を表示します。表 2‒5 に、このページの正 しい設定について説明します。 表 2‒5. Power Management パラメータ パラメータ 値 L0s Active State Power Management (ASPM) Idle threshold for L0s entry 8,192 ns Endpoint L0s acceptable latency < 64 ns Number of fast training sequences (N_FTS) Common clock Gen2: 255 Separate clock Gen2: 255 Electrical idle exit (EIE) before FTS 4 L1s Active State Power Management (ASPM) Enable L1 ASPM Off Endpoint L1 acceptable latency < 1 µs L1 Exit Latency Common clock > 64 µs L1 Exit Latency Separate clock > 64 µs 14. シミュレーションのセットアップ・ページを表示するには Next(あるいは EDA ページ)をクリックします。 15. EDA タブで、IP コアの IP 機能シミュレーション・モデルを生成するために Generate simulation model をオンにします。IP 機能シミュレーション・モデルは、 Quartus II ソフトウェアによって生成されたサイクル精度の VHDL または Verilog HDL のモデルです。 c シミュレーション・モデルは、合成やその他の目的のためではなく、シ ミュレーションのみに使用します。これらのモデルを合成に使用すると、 非機能的なデザインを作成します。 16. Summary タブで、生成するファイルを選択します。グレーのチェック・マークは 自動的に生成されるファイルを示しています。他のすべてのファイルはオプショ ンです。 17. IP コア、テストベンチ、およびサポート・ファイルを生成するために Finish をク リックします。 1 レポート・ファイルの <variation name>.html はプロジェクト・ディレクトリ に生成された各ファイルのリストとその内容の説明を提供します。 18. プロジェクトに Quartus II IP File (.qip )を追加するメッセージが表示されると、 Yes をクリックします。 .qip は、Quartus II コンパイラのコアまたはシステムを処理するために、すべての 必要な割り当てと情報が含まれるパラメータ・エディタで生成されたファイルで す。一般に、単一の .qip ファイルは、各 IP コアが生成されます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 2 章 : 使用法 生成されたファイルの表示 2–8 生成されたファイルの表示 図 2‒4 に、PCI Express の IP コンパイラが生成した後に、このデザイン用に作成され たディレクトリ構造を示します。ディレクトリには、次のファイルが含まれていま す。 ■ <working_dir> に格納されている PCI Express のデザイン・ファイル用の IP コンパイ ラ。 ■ <working_dir>\top_examples\chaining_dma ディレクトリに格納されているチェイニ ング DMA デザイン例のファイル。このデザイン例では、PCI Express のバリエー ションでの生成された IP コンパイラをテストします。このデザイン例について 詳しくは、第 15 章 , テストベンチおよびデザイン例を参照してください。 ■ <working_dir>\top_examples\chaining_dma\testbench ディレクトリに格納されている チェイニング DMA デザイン例用のシミュレーション・ファイル。PCI Express 用の IP コンパイラを生成する際には、EDA タブ上の Generate simulation model をオン にする場合、Quartus II ソフトウェアは、テストベンチ・ファイルを生成します。 0 図 2‒4. PCI Express およびテストベンチ用の IP コンパイラのディレクトリ構造 IP Compiler for PCI Express Files <working_dir> <variation>.v = top.v, the parameterized PCI Express IP Core <variation>.sdc = top.sdc, the timing constraints file <variation>.tcl = top.tcl, general Quartus II settings ip_compiler_for_pci_express-library contains local copy of the pci express library files needed for simulation, or compilation, or both <variation>_examples = top_examples Simulation and Quartus II Compilation common Includes testbench and incremental compile directories Testbench and Design Example Files chaining_dma, files to implement the chaining DMA top_example_chaining_top.qpf, the Quartus II project file top_example_chaining_top.qsf, the Quartus II settings file <variation>_plus.v = top_plus.v, the parameterized PCI Express IP Core including reset and calibration circuitry (1) (2) testbench, scripts to run the testbench runtb.do, script to run the testbench <variation>_chaining_testbench = top_chaining_testbench.v altpcietb_bfm_driver_chaining.v , provides test stimulus 図 2‒4 の注 : (1) chaining_dma ディレクトリには、Quartus II プロジェクトと設定ファイルが含まれています。 (2) <variation>_plus.v はハード IP の実装のためにのみ使用可能です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 2 章 : 使用法 生成されたファイルの表示 2–9 図 2‒5 に、このデザインのトップ・レベル・モジュールを示します。この図が示すよ うに、PCI Express 用 IP コンパイラは、基本的なルート・ポート・バス機能モデル (BFM)とアプリケーション層の高性能 DMA エンジンに接続します。PCI Express 用 IP コンパイラでこれらの 2 つのモジュールを組み合わせたことにより、完全なデザイ ン例を構成します。テスト刺激は altpcietb_bfm_driver_chaining.v に含まれています。 テストを実行するスクリプトが runtb.do です。このデザイン例の詳細な説明につい ては、第 15 章 , テストベンチおよびデザイン例を参照してください。 図 2‒5. チェイニング DMA デザイン例用のテストベンチ Root Port BFM Root Port Driver x8 Root Port Model PCI Express Link Endpoint Example IP Compiler for PCI Express Endpoint Application Layer Example Traffic Control/Virtual Channel Mapping Request/Completion Routing RC Slave (Optional) DMA Write DMA Read Endpoint Memory (32 KBytes) f このデザイン例で使用されるデザイン・ファイルは、PCI Express High-Performance Reference Design に使用されるファイルと同じです。PCI Express High-Performance Reference Design 製品ページで必要なファイルをダウンロードすることができます。 この製品ページには、様々なデバイス用のデザイン・ファイルが含まれています。 このドキュメントの中の例では、Stratix IV GX ファイルを使用します。Quartus II ソフ トウェアおよび IP のインストールで提供されるファイルや機能を備えたデザイン例 を生成、シミュレート、およびコンパイルすることができます。ただし、デバイス の例を構成するには、またデザイン例が使用するソフトウェア・ドライバが含まれ る altpcie_demo.zip を PCI Express High-Performance Reference Design からダウンロード する必要があります。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 2 章 : 使用法 デザインのシミュレーション 2–10 Stratix IV の .zip ファイルには、Gen1 および Gen2×1、×4、×8 バリアントのためのファ イルが含まれています。このドキュメントの中のの例では、Gen2 ×8 バリアントを示 しています。この .zip ファイルをダウンロードして解凍したら、このバリアントの ファイルをプロジェクト・ディレクトリの <working_dir>. にコピーすることができま す。このドキュメントの例のファイルは hip_s4gx_gen2x8_128 ディレクトリに含まれ ています。Quartus II プロジェクト・ファイルの top.qsf は、<working_dir に含まれてい ます。自身のデザインで .qsf ファイルの参照としてこのプロジェクト・ファイルを 使用することができます。 デザインのシミュレーション 図 2‒4 が示すように、シミュレーション・ファイルを実行するためのスクリプトは <working_dir>\top_examples\chaining_dma\testbench に配置されています。チェイニン グ DMA テストベンチを実行するには、次の手順に従ってください。 1. シミュレーション・ツールを起動します。この例では、ModelSim® ソフトウェア を使用しています。 1 エンド・ポイント・チェイニング DMA デザイン例の DMA コントローラは BAR2 または BAR3 を使用する必要があります。 2. テストベンチ・ディレクトリの <working_dir>\top_examples\chaining_dma\testbench で、次のコマンドを入力します。 do runtb.do r このスクリプトは、シミュレーション用のテストベンチをコンパイルし、チェイ ニング DMA のテストが実行されます。 例 2‒1 に成功したシミュレーションからの部分的なトランスクリプトを示します。こ のトランスクリプトに示すように、シミュレーションでは、次のステージが含まれ ています。 ■ リンク・トレーニング ■ コンフィギュレーション ■ DMA リードおよびライト PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 2 章 : 使用法 デザインのシミュレーション ■ 2–11 エンドポイントのメモリ・リードおよびライトへのルート・ポート 例 2‒1. 成功したシミュレーションの実行のトランスクリプトからの抜粋 Time: 56000 Instance: top_chaining_testbench.ep.epmap.pll_250mhz_to_500mhz. altpll_component.pll0 # INFO: 464 ns Completed initial configuration of Root Port. # INFO: Core Clk Frequency: 251.00 Mhz # INFO: 3608 ns EP LTSSM State: DETECT.ACTIVE # INFO: 3644 ns EP LTSSM State: POLLING.ACTIVE # INFO: 3660 ns RP LTSSM State: DETECT.ACTIVE # INFO: 3692 ns RP LTSSM State: POLLING.ACTIVE # INFO: 6012 ns RP LTSSM State: POLLING.CONFIG # INFO: 6108 ns EP LTSSM State: POLLING.CONFIG # INFO: 7388 ns EP LTSSM State: CONFIG.LINKWIDTH.START # INFO: 7420 ns RP LTSSM State: CONFIG.LINKWIDTH.START # INFO: 7900 ns EP LTSSM State: CONFIG.LINKWIDTH.ACCEPT # INFO: 8316 ns RP LTSSM State: CONFIG.LINKWIDTH.ACCEPT # INFO: 8508 ns RP LTSSM State: CONFIG.LANENUM.WAIT # INFO: 9004 ns EP LTSSM State: CONFIG.LANENUM.WAIT # INFO: 9196 ns EP LTSSM State: CONFIG.LANENUM.ACCEPT # INFO: 9356 ns RP LTSSM State: CONFIG.LANENUM.ACCEPT # INFO: 9548 ns RP LTSSM State: CONFIG.COMPLETE # INFO: 9964 ns EP LTSSM State: CONFIG.COMPLETE # INFO: 11052 ns EP LTSSM State: CONFIG.IDLE # INFO: 11276 ns RP LTSSM State: CONFIG.IDLE # INFO: 11356 ns RP LTSSM State: L0 # INFO: 11580 ns EP LTSSM State: L0 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 2–12 第 2 章 : 使用法 デザインのシミュレーション 例 2‒1.(続き) ## INFO: 12536 ns # INFO: 15896 ns EP PCI Express Link Status Register (1081): # INFO: 15896 ns Negotiated Link Width: x8 # INFO: 15896 ns Slot Clock Config: System Reference Clock Used # INFO: 16504 ns RP LTSSM State: RECOVERY.RCVRLOCK # INFO: 16840 ns EP LTSSM State: RECOVERY.RCVRLOCK # INFO: 17496 ns EP LTSSM State: RECOVERY.RCVRCFG # INFO: 18328 ns RP LTSSM State: RECOVERY.RCVRCFG # INFO: 20440 ns RP LTSSM State: RECOVERY.SPEED # INFO: 20712 ns EP LTSSM State: RECOVERY.SPEED # INFO: 21600 ns EP LTSSM State: RECOVERY.RCVRLOCK # INFO: 21614 ns RP LTSSM State: RECOVERY.RCVRLOCK # INFO: 22006 ns RP LTSSM State: RECOVERY.RCVRCFG # INFO: 22052 ns EP LTSSM State: RECOVERY.RCVRCFG # INFO: 22724 ns EP LTSSM State: RECOVERY.IDLE # INFO: 22742 ns RP LTSSM State: RECOVERY.IDLE # INFO: 22846 ns RP LTSSM State: L0 # INFO: 22900 ns EP LTSSM State: L0 # INFO: 23152 ns Current Link Speed: 5.0GT/s # INFO: 27936 ns --------# INFO: 27936 ns TASK:dma_set_header READ # INFO: 27936 ns Writing Descriptor header # INFO: 27976 ns data content of the DT header # INFO: 27976 ns # INFO: 27976 ns Shared Memory Data Display: # INFO: 27976 ns Address Data # INFO: 27976 ns ------- ---# INFO: 27976 ns 00000900 00000003 00000000 00000900 CAFEFADE # INFO: 27976 ns --------# INFO: 27976 ns TASK:dma_set_rclast # INFO: 27976 ns Start READ DMA : RC issues MWr (RCLast=0002) # INFO: 27992 ns --------# INFO: 28000 ns TASK:msi_poll Polling MSI Address:07F0---> Data:FADE...... # INFO: 28092 ns TASK:rcmem_poll Polling RC Address0000090C current data (0000FADE) expected data (00000002) # INFO: 29592 ns TASK:rcmem_poll Polling RC Address0000090C current data (00000000) expected data (00000002) # INFO: 31392 ns TASK:rcmem_poll Polling RC Address0000090C current data (00000002) expected data (00000002) # INFO: 31392 ns TASK:rcmem_poll ---> Received Expected Data (00000002) # INFO: 31440 ns TASK:msi_poll Received DMA Read MSI(0000) : B0FC # INFO: 31448 ns Completed DMA Read # INFO: 31448 ns --------# INFO: 31448 ns TASK:chained_dma_test # INFO: 31448 ns DMA: Write # INFO: 31448 ns --------# INFO: 31448 ns TASK:dma_wr_test # INFO: 31448 ns DMA: Write # INFO: 31448 ns --------# INFO: 31448 ns TASK:dma_set_wr_desc_data # INFO: 31448 ns --------INFO: 31448 ns TASK:dma_set_msi WRITE # INFO: 31448 ns Message Signaled Interrupt Configuration # INFO: 1448 ns msi_address (RC memory)= 0x07F0 # INFO: 31760 ns msi_control_register = 0x00A5 # INFO: 32976 ns msi_expected = 0xB0FD PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 2 章 : 使用法 デザインのシミュレーション 2–13 式 2-1(続き) # INFO: 32976 ns msi_capabilities address = 0x0050 # INFO: 32976 ns multi_message_enable = 0x0002 # INFO: 32976 ns msi_number = 0001 # INFO: 32976 ns msi_traffic_class = 0000 # INFO: 32976 ns --------# INFO: 26416 ns TASK:chained_dma_test # INFO: 26416 ns DMA: Read # INFO: 26416 ns --------# INFO: 26416 ns TASK:dma_rd_test # INFO: 26416 ns --------# INFO: 26416 ns TASK:dma_set_rd_desc_data # INFO: 26416 ns --------# INFO: 26416 ns TASK:dma_set_msi READ # INFO: 26416 ns Message Signaled Interrupt Configuration # INFO: 26416 ns msi_address (RC memory)= 0x07F0 # INFO: 26720 ns msi_control_register = 0x0084 # INFO: 27936 ns msi_expected = 0xB0FC # INFO: 27936 ns msi_capabilities address = 0x0050 # INFO: 27936 ns multi_message_enable = 0x0002 # INFO: 27936 ns msi_number = 0000 # INFO: 27936 ns msi_traffic_class = 0000 # INFO: 32976 ns TASK:dma_set_header WRITE # INFO: 32976 ns Writing Descriptor header # INFO: 33016 ns data content of the DT header # INFO: 33016 ns # INFO: 33016 ns Shared Memory Data Display: # INFO: 33016 ns Address Data # INFO: 33016 ns ------- ---# INFO: 33016 ns 00000800 10100003 00000000 00000800 CAFEFADE # INFO: 33016 ns --------# INFO: 33016 ns TASK:dma_set_rclast # INFO: 33016 ns Start WRITE DMA : RC issues MWr (RCLast=0002) # INFO: 33032 ns --------# INFO: 33038 ns TASK:msi_poll Polling MSI Address:07F0---> Data:FADE...... # INFO: 33130 ns TASK:rcmem_poll Polling RC Address0000080C current data (0000FADE) expected data (00000002) # INFO: 34130 ns TASK:rcmem_poll Polling RC Address0000080C current data (00000000) expected data (00000002) # INFO: 35910 ns TASK:msi_poll Received DMA Write MSI(0000) : B0FD # INFO: 35930 ns TASK:rcmem_poll Polling RC Address0000080C current data (00000002) expected data (00000002) # INFO: 35930 ns TASK:rcmem_poll ---> Received Expected Data (00000002) # INFO: 35938 ns --------# INFO: 35938 ns Completed DMA Write # INFO: 35938 ns --------# INFO: 35938 ns TASK:check_dma_data # INFO: 35938 ns Passed : 0644 identical dwords. # INFO: 35938 ns --------# INFO: 35938 ns TASK:downstream_loop # INFO: 36386 ns Passed: 0004 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 36826 ns Passed: 0008 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 37266 ns Passed: 0012 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 37714 ns Passed: 0016 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 38162 ns Passed: 0020 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 38618 ns Passed: 0024 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 39074 ns Passed: 0028 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 39538 ns Passed: 0032 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 40010 ns Passed: 0036 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 40482 ns Passed: 0040 same bytes in BFM mem addr 0x00000040 and 0x00000840 # SUCCESS: Simulation stopped due to successful completion! 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 2 章 : 使用法 デザインの制約 2–14 デザインの制約 チェイニング DMA デザイン例用の Quartus プロジェクトのディレクトリが <working_dir>\top_examples\chaining_dma\ にあります。Quartus II ソフトウェアでデザ インをコンパイルする前に、タイミング制約などの適切なデザインの制約を適用す る必要があります。PCI Express 用の IP コンパイラを生成するときに、Quartus II ソフ トウェアは自動的に制約ファイルを生成します。 表 2‒1 には、これらの制約ファイルについて説明します。 表 2‒1. 自動的に生成された制約ファイル 制約 ディレクトリ 説明 一般 <working_dir>/<variation>.tcl (top.tcl) このファイルには、さまざまな Quartus II の制約 が含まれています。特に、それは仮想ピン・ア サインメントが含まれています。シミュレート 中、またハードウェアにデザインをマップする ことがまだできていないときにトップレベルの 信号に対して特定のピン割り当てをしないよう に、仮想ピン割り当てを使用します。 タイミング <working_dir>/<variation>.sdc (top.sdc) このファイルには、タイミング制約を含む Synopsys Design Constraints File (.sdc) です。 特定のボードのピン割り当てを作成せずに潜在的な問題を確認するために初期コンパ イルを実行するには、チェイニング DMA デザイン例を制約する次の 2 つのステップ を実行した後に実行することができます。 1. Quartus II の制約ファイルを適用するには、Tcl コンソールのコマンド・プロンプ トで次のコマンドを入力します。 source ../../top.tcl r 1 Quartus II Tcl Console を表示するには、View メニューの Utility Windows をポイ ントし、Tcl Console をクリックします。 2. デザインに Synopsys タイミング制約を追加するには、次のステップに従います。 a. メニューの Settings をクリックします。 b. TimeQuest Timing Analyzer をクリックします。 c. SDC files to include in the project の下の Browse ボタンをクリックします。を追 加するには、ご使用の <working_dir> を閲覧します。 d. Add をクリックします。 e. OK をクリックします。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 2 章 : 使用法 デザインの制約 2–15 例 2‒1 に、Synopsys のタイミング制約を示します。 例 2‒1. Synopsys タイミング制約 derive_pll_clocks derive_clock_uncertainty create_clock -period "100 MHz" -name {refclk} {refclk} set_clock_groups -exclusive -group [get_clocks { refclk*clkout }] -group [get_clocks { *div0*coreclkout}] set_clock_groups -exclusive -group [get_clocks { *central_clk_div0* }] -group [get_clocks { *_hssi_pcie_hip* }] -group [get_clocks { *central_clk_div1* }] <The following 4 additional constraints are for Stratix IV ES Silicon only> set_multicycle_path -from [get_registers *delay_reg*] -to [get_registers *all_one*] hold -start 1 set_multicycle_path -from [get_registers *delay_reg*] -to [get_registers *all_one*] setup -start 2 set_multicycle_path -from [get_registers *align*chk_cnt*] -to [get_registers *align*chk_cnt*] -hold -start 1 set_multicycle_path -from [get_registers *align*chk_cnt*] -to [get_registers *align*chk_cnt*] -setup -start 2 デバイスおよびピン割り当ての指定 ボードにデザインをダウンロードする場合、チェイニング DMA デザイン例用のデバ イスとピンの割り当てを指定する必要があります。デバイスとピンの割り当てを実 行するには、次のステップに従います。 1. デバイスを選択するには、Assignments メニューの Device をクリックします。 2. Family リストの Stratix IV (GT/GX/E) を選択します。 3. EP4SGX230KF40C2 を選択するために Available devices をスクロールします。 4. EP4SGX230KF40C2 デバイスのピン割り当てを追加するには、プロジェクトの .qsf ファイルにチェイニング DMA デザイン例 .qsf ファイル(<working_dir>\ top_examples\ chaining_dma\ top_example_chaining_top.qsf)は例 2‒3 に含まれるすべ てのテキストをコピーします。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 2 章 : 使用法 デザインの制約 2–16 1 .qsf で提供されるピン割り当ては、Stratix IV GX FPGA 開発ボードと EP4SGX230KF40C デバイスに対して有効です。別のハードウェアを使用す る場合は、正しいピン割り当てを決定する必要があります。 例 2‒3. Stratix IV GX FPGA 開発ボードのピン割り当て (EP4SGX230KF40C2) set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_instance_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_location_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment set_instance_assignment PIN_AK35 -to local_rstn_ext PIN_R32 -to pcie_rstn PIN_AN38 -to refclk PIN_AU38 -to rx_in0 PIN_AR38 -to rx_in1 PIN_AJ38 -to rx_in2 PIN_AG38 -to rx_in3 PIN_AE38 -to rx_in4 PIN_AC38 -to rx_in5 PIN_U38 -to rx_in6 PIN_R38 -to rx_in7 -name INPUT_TERMINATION DIFFERENTIAL -to free_100MHz -disable PIN_AT36 -to tx_out0 PIN_AP36 -to tx_out1 PIN_AH36 -to tx_out2 PIN_AF36 -to tx_out3 PIN_AD36 -to tx_out4 PIN_AB36 -to tx_out5 PIN_T36 -to tx_out6 PIN_P36 -to tx_out7 PIN_AB28 -to gen2_led PIN_F33 -to L0_led PIN_AK33 -to alive_led PIN_W28 -to comp_led PIN_R29 -to lane_active_led[0] PIN_AH35 -to lane_active_led[2] PIN_AE29 -to lane_active_led[3] PIN_AL35 -to usr_sw[0] PIN_AC35 -to usr_sw[1] PIN_J34 -to usr_sw[2] PIN_AN35 -to usr_sw[3] PIN_G33 -to usr_sw[4] PIN_K35 -to usr_sw[5] PIN_AG34 -to usr_sw[6] PIN_AG31 -to usr_sw[7] -name IO_STANDARD "2.5 V" -to local_rstn_ext -name IO_STANDARD "2.5 V" -to pcie_rstn -name INPUT_TERMINATION OFF -to refclk -name IO_STANDARD "1.4-V PCML" -to rx_in0 -name IO_STANDARD "1.4-V PCML" -to rx_in1 -name IO_STANDARD "1.4-V PCML" -to rx_in2 -name IO_STANDARD "1.4-V PCML" -to rx_in3 -name IO_STANDARD "1.4-V PCML" -to rx_in4 -name IO_STANDARD "1.4-V PCML" -to rx_in5 -name IO_STANDARD "1.4-V PCML" -to rx_in6 -name IO_STANDARD "1.4-V PCML" -to rx_in7 -name IO_STANDARD "1.4-V PCML" -to tx_out0 -name IO_STANDARD "1.4-V PCML" -to tx_out1 -name IO_STANDARD "1.4-V PCML" -to tx_out2 -name IO_STANDARD "1.4-V PCML" -to tx_out3 -name IO_STANDARD "1.4-V PCML" -to tx_out4 -name IO_STANDARD "1.4-V PCML" -to tx_out5 -name IO_STANDARD "1.4-V PCML" -to tx_out6 -name IO_STANDARD "1.4-V PCML" -to tx_out7 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 2 章 : 使用法 デザインのコンパイル 2–17 例 2‒3.(続き) set_instance_assignment -name IO_STANDARD "2.5 V" -to usr_sw[0] set_instance_assignment -name IO_STANDARD "2.5 V" -to usr_sw[1] set_instance_assignment -name IO_STANDARD "2.5 V" -to usr_sw[2] set_instance_assignment -name IO_STANDARD "2.5 V" -to usr_sw[3] set_instance_assignment -name IO_STANDARD "2.5 V" -to usr_sw[4] set_instance_assignment -name IO_STANDARD "2.5 V" -to usr_sw[5] set_instance_assignment -name IO_STANDARD "2.5 V" -to usr_sw[6] set_instance_assignment -name IO_STANDARD "2.5 V" -to usr_sw[7] set_instance_assignment -name IO_STANDARD "2.5 V" -to lane_active_led[0] set_instance_assignment -name IO_STANDARD "2.5 V" -to lane_active_led[2] set_instance_assignment -name IO_STANDARD "2.5 V" -to lane_active_led[3] set_instance_assignment -name IO_STANDARD "2.5 V" -to L0_led set_instance_assignment -name IO_STANDARD "2.5 V" -to alive_led set_instance_assignment -name IO_STANDARD "2.5 V" -to comp_led # Note reclk_free uses 100 MHz input # On the S4GX Dev kit make sure that # SW4.5 = ON # SW4.6 = ON set_instance_assignment -name IO_STANDARD LVDS -to free_100MHz set_location_assignment PIN_AV22 -to free_100MHz QSF 制約の指定 この項では、特定のケースでパフォーマンスを向上させるために 2 つの追加の制約 について説明します。 ■ Stratix IV GX ES シリコンの制約 –.qsf ファイルに次の制約を追加します。 set_instance_assignment -name GLOBAL_SIGNAL "GLOBAL CLOCK" -to *wire_central_clk_div*_coreclkout この制約は ×8 バリアントのクロック・スキューを低減するために、各クワッド からの PIPE クロック(core_clk_outt)を揃えます。 ■ 250 MHz 以上の周波数で動作するデザインの制約: set_global_assignment -name PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING ON この制約は非常に高速なクロック・ドメイン内の非同期信号が十分に高速で長い 間、グローバル・ネットワークの遅延のため、FPGA に分散できないデザインの ためのパフォーマンスを向上させます。挿入されたレジスタの合計数を最小限に しようとしたときに、この最適化は、これらの信号の自動パイプライン処理を実 行します。 デザインのコンパイル ハードウェアで PCI Express 用の IP コンパイラをテストするには、最初の Quartus II のコンパイルでは、完全にカスタマイズしたデザインをテストした後、図 2‒4 で示さ れるすべてのディレクトリが含まれており、Quartus II のコンパイルからテストベン チのディレクトリを除外することができます。 Processing メニューで、デザインをコンパイルするために Start Compilation をクリッ クします。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 第 2 章 : 使用法 デザイン例の再使用 2–18 デザイン例の再使用 独自のデザインの基礎としてこのデザイン例を使用するには、独自のアプリケー ション層のデザインと図 2‒5 に示すように、エンドポイントのアプリケーション層の 例に置き換えます。その後、BFM ドライバは、アプリケーション層をテストするた めに必要なトランザクションを生成するように変更します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 3. パラメータの設定 May 2011 EMI_DG_002-5.0 MegaWizard Plug-In Manager、SOPC Builder、または Quartus II ソフトウェアの Qsys シス テム統合ツールからアクセスする PCI Express 用の IP コンパイラのパラメータ・エ ディタでのパラメータを指定することにより PCI Express 用の IP コンパイラをカスタ マイズすることができます。 PCI Express のバリエーションの一部の IP コンパイラはデザイン・フローの 1 つまた は 2 つのみでサポートされています。ソフト IP の実装は MegaWizard Plug-In Manager のデザイン・フローのみでサポートされています。別のデザイン・フローで使用可 能なハード IP の実装のバリエーションのについて詳しくは、1‒8 ページの表 1‒5 を参 照してください。 この章では、パラメータおよび各パラメータが IP コアの動作にどのように影響する かについて説明します。 Qsys のフローで表示された PCI Express 用の IP コンパイラのパラメータ・エディタは 他の 2 つのデザイン・フローに表示された PCI Express 用の IP コンパイラのパラメー タ・エディタとは異なります。Qsys のデザイン・フローは、他の二つのフローでサ ポートされているバリエーションのサブセットのみをサポートし、特定の特性を持 つハード IP の実装のみを生成するので、Qsys のフローのパラメータ・エディタは、 この章で説明するパラメータのサブセットのみをサポートしています。 Qsys デザイン・フローのパラメータ 次の項では、Qsys のデザイン・フローで使用可能な PCI Express のパラメータの IP コ ンパイラについて説明します。別の項では、PCI Express 用の IP コンパイラのパラ メータ・エディタの別の項で使用可能なパラメータについて説明します。 使用可能なパラメータは、Qsys のデザイン・フローが次の機能のみをサポートして いるという事実を反映しています。 ■ ハード IP 実装 ■ 以下のためのサポートなしのネイティーブ・エンドポイント ■ I/O スペース BAR ■ 32 ビットのプリフェッチ可能なメモリ ■ 16 タグ ■ 1 Message Signaled Interrupt (MSI) ■ 1 本のバーチャル・チャネル ■ 最大 256 バイトのペイロード © 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 Registered PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Feedback Subscribe 3‒2 第 3 章 : パラメータの設定 Qsys デザイン・フローのパラメータ システムの設定 Qsys フロー内の PCI Express 用の IP コンパイラのパラメータ・エディタの最初のパラ メータ・項には、システム全体の設定のためのパラメータが含まれています。表 3‒1 に、これらの設定について説明します。 表 3‒1. Qsys フローのシステム設定パラメータ パラメータ 値 説明 Gen2 Lane Rate Mode Off/On リンクが動作可能な最大データレートを指定します。Gen2 Lane Rate Mode をオンにすると、Gen2 のレートを設定し、オフに回 すと Gen1 のレートを設定します。完全 Gen1 のリストおよび Gen2 サポートのために 1‒8 ページの表 1‒5 を参照してください。 Number of Lanes ×1, ×2, ×4, ×8 サポートされるレーンの最大数を指定します。レーン数のデバ イス・サポートの完全なリストについては、1‒8 ページの表 1‒5 を参照してください。 Reference clock frequency 100 MHz, 125 MHz Gen1 の動作のいずれかの 100 MHz または 125 MHz の基準クロッ クを選択することができます。Gen2 は 100 MHz のクロックを必 要とします。 Use 62.5 MHz application clock Off/On アプリケーション・インタフェース・クロックは省電力をサ ポートするためにより遅い 62.5 MHz の周波数で動作するかどう かを指定します。このパラメータは、いくつかの Gen1 ×1 のバ リエーションをオンにすることができます。異なるデバイス・ ファミリでサポートされているアプリケーション・インタ フェース・クロック周波数のリストについては、4‒5 ページの 表 4‒1 を参照してください。 Test out width None, 9 bits, または 64 bits test_out 信号の幅を示します。ほとんどの信号が予約されてい ます。詳細については、5‒68 ページの表 5‒33 を参照してくださ い。 64 ビット幅を設定することを推奨します。 PCI ベース・アドレスのレジスタ ×1 および ×4 の IP コアは、128 バイトから 32 ビットまたは 64 ビットの BAR で許容 される最大値までの範囲のメモリスペース BAR をサポートしています。×8 IP コアは、 4K バイトから 32 ビットまたは 64 ビット BAR で許容される最大値までのメモリ・ス ペース BAR をサポートしています。 使用可能な BAR は Qsys のデザイン・フローが I/O スペース BAR または 32 ビットの プリフェッチ可能メモリのサポートなしで、ネイティブのエンドポイントをサポー トしているという事実を反映しています。 Avalon-MM アドレスは、PCI Express リンクから受信したリクエストの BAR ヒットに 対応する変換されるベース・アドレスです。 Qsys のデザイン・フローでは、PCI Base Address Registers (Type 0 Configuration Space) Bar Size および Avalon Base Address 情報は Qsys から移入されます。PCI Express 用の IP コンパイラのパラメータ・エディタでこの情報を入力することはできません。自 動または手動で Qsys でのベース・アドレスにそれらを入力して設定した後、パラ メータ・エディタを再度開いたときに値が表示されます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 Qsys デザイン・フローのパラメータ 3‒3 アルテラは、Qsys のオプションを使用することを推奨します。System メニューで、 自動的にベース・アドレスを設定する Assign Base Addresses をクリックします。 ユーザーが手動でアドレス変換エントリを入力することを決定した場合、他のコン ポーネントを追加して、相互接続を作成して、またベース・アドレスを割り当てる ときには、アドレス割り当ての競合を回避する必要があります。 表 3‒2 には、PCI レジスタのパラメータについて説明します。前の BAR が設定される 場合にのみ Not used 以外の値を指定して BAR を設定することができます。偶数の BAR が 64 bit Prefetchable に設定されている場合は、次の BAR が Occupied に標識さ れ、Not used 値に強制されます。 表 3‒2. PCI レジスタ (1), (2) パラメータ 値 説明 PCI ベース・アドレスのレジスタ (0x10, 0x14, 0x18, 0x1C, 0x20, 0x24) BAR Table (BAR0) BAR Type BAR0 サイズおよびタイプ・マッピング(メモリ・スペー 64 bit Prefetchable ス)。BAR0 と BAR1 は、64 ビットのプリフェッチ可能 BAR を 32 but Non-Prefetchable 形成するために組み合わせることができます。BAR0 と BAR1 Not used は、32 ビットのプリフェッチ不可能メモリとして個別に設 定できます。(2) BAR Table (BAR1) BAR Type BAR1 サイズおよびタイプ・マッピング(メモリ・スペー 32 but Non-Prefetchable ス)。BAR0 と BAR1 は、64 ビットのプリフェッチ可能 BAR を 形成するために組み合わせることができます。BAR0 と BAR1 Not used は、32 ビットのプリフェッチ不可能メモリとして個別に設 定できます。 BAR Table (BAR2) BAR Type BAR2 サイズおよびタイプ・マッピング(メモリ・スペー 64 bit Prefetchable ス)。BAR2 と BAR3 は、64 ビットのプリフェッチ可能 BAR を 32 but Non-Prefetchable 形成するために組み合わせることができます。BAR2 と BAR3 Not used は、32 ビットのプリフェッチ不可能メモリとして個別に設 定できます。(2) BAR Table (BAR3) BAR Type BAR3 サイズおよびタイプ・マッピング(メモリ・スペー 32 but Non-Prefetchable ス)。BAR2 と BAR3 は、64 ビットのプリフェッチ可能 BAR を 形成するために組み合わせることができます。BAR2 と BAR3 Not used は、32 ビットのプリフェッチ不可能メモリとして個別に設 定できます。 BAR Table (BAR4) BAR Type BAR4 サイズおよびタイプ・マッピング(メモリ・スペー 64 bit Prefetchable ス)。BAR4 と BAR5 は、64 ビットのプリフェッチ可能 BAR を 32 but Non-Prefetchable 形成するために組み合わせることができます。BAR4 と BAR5 Not used は、32 ビットのプリフェッチ不可能メモリとして個別に設 定できます。(2) BAR Table (BAR5) BAR Type BAR5 サイズおよびタイプ・マッピング(メモリ・スペー 32 but Non-Prefetchable ス)。BAR4 と BAR5 は、64 ビットのプリフェッチ可能 BAR を 形成するために組み合わせることができます。BAR4 と BAR5 Not used は、32 ビットのプリフェッチ不可能メモリとして個別に設 定できます。 表 3‒2 の注 : (1) プリフェッチ可能 64 ビット BAR がサポートされています。典型的なシステムでは、タイプ 1 のルート・ポート・コンフィ ギュレーション・レジスタは最大プリフェッチ不可能メモリ・ウィンドウを 32 ビットに設定されるため、プリフェッチ不可 能 64 ビット BAR がサポートされていません。 (2) Qsys のデザイン・フローでは、BAR タイプのマッピングのための I/O スペースをサポートしていません。I/O スペースは、レ ガシー・エンドポイントのポート・タイプではサポートされています。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 3‒4 第 3 章 : パラメータの設定 Qsys デザイン・フローのパラメータ デバイス識別レジスタ デバイス識別レジスタは、PCI Type 0 コンフィギュレーション・スペース・ヘッダの 一部です。デバイス・コンフィギュレーションでのみこれらのレジスタの値を設定 することができます。表 3‒3 には PCI の読み出し専用デバイス識別レジスタについて 説明します。 表 3‒3. PCI レジスタ パラメータ Vendor ID 「0x000」 Device ID 「0x000」 Revision ID 「0x008」 Class code 「0x008」 Subsystem ID 「0x02C」 Subsystem vendor ID 「0x02C」 値 説明 0x1172 ベンダ ID レジスタの読み出し専用値を設定します。このパ ラメータは、PCI Express の仕様に従って 0xFFFF に設定する ことはできません。 0x0004 デバイス ID レジスタの読み出し専用値を設定します。 0x01 リビジョン ID レジスタの読み出し専用値を設定します。 0xFF0000 クラス・コード・レジスタの読み出し専用値を設定します 0x0004 サブシステム・デバイス ID レジスタの読み出し専用値を設 定します。 0x1172 サブシステム・ベンダ ID レジスタの読み出し専用値を設定 します。このパラメータは、「PCI Express Base Specification 1.1 or 2.0」に従って 0xFFFF に設定することはできません。 リンク機能 表 3‒4 には、Qsys のデザイン・フローの PCI Express 用の IP コンパイラのパラメー タ・エディタの Link Capabilities 項で使用可能な機能のパラメータを説明します。 表 3‒4. Link Capabilities パラメータ パラメータ Link port number 値 1 説明 リンク機能でポート番号フィールドの読み出し専用の値は レジスタの設定を設定します。(PCI Express 機能構造または PPCI Express Capability List レジスタでのオフセット 「0x08C」) 。 エラー報告 Error Reporting 項のパラメータは、 「0x800」 ~「0x834」 のバイト・オフセットで拡張 機能構造を報告する PCI Express の高度なエラーでの設定をコントロールします。 表 3‒5 には、Qsys のデザイン・フローで使用可能なエラー報告のパラメータをを示 します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 Qsys デザイン・フローのパラメータ 3‒5 表 3‒5. Error Reporting Capabilities パラメータ パラメータ Implement advanced error reporting Implement ECRC check Implement ECRC generation 値 説明 On/Off 高度なエラー報告(AER)機能を実装します。 On/Off ECRC はチェック機能をイネーブルします。高度なエラー機能と制御レジ スタの ECRC チェック可能ビットの読み出し専用値を設定します。このパ ラメータを使用すると、高度なエラー報告機能を実装する必要がありま す。 On/Off ECRC はチェック機能をイネーブルします。高度なエラー機能と制御レジ スタの ECRC チェック可能ビットの読み出し専用値を設定します。このパ ラメータを使用すると、高度なエラー報告機能を実装する必要がありま す。 バッファ・コンフィギュレーション Qsys のデザイン・フローでの PCI Express 用の IP コンパイラのパラメータ・エディタ のバッファ・コンフィギュレーションの項では、受信バッファおよび再試行バッ ファのパラメータが含まれています。PCI Express 用の IP コンパイラのパラメータ・ エディタは、読み出し専用の RX バッファ・スペースの割り当て情報を表示します。 表 3‒6 に、Qsys のデザイン・フローにおけるパラメータ・エディタのこの項内のパ ラメータおよび情報について説明します。 表 3‒6. Buff er Configuration パラメータ ( その1 ) パラメータ Maximum payload size 値 128 バイト 256 バイト 「0x084」 RX buffer credit allocation – performance for received requests Maximum、 High、 Medium、Low 説明 サポートされる最大ペイロード・サイズを指定します。このパラメータ は、デバイス機能レジスタ(0x084[2:0])の最大ペイロード・サイズがサ ポートされるフィールドの読み出し専用の値を設定し、このペイロード・ サイズの IP コアを最適化します。デバイスに応じて、最大ペイロード・ サイズは 128 バイトまたは 256 バイトです。 Low— 必要なトラフィックのための最小限のスペースを提供していま す。受信リクエストのスループットはシステム・デザインにとってク リティカルではないとき、このオプションを選択します。この設定で は、デバイスのリソース使用率を最小限に抑えることができます。 Arria II GX および Stratix IV のハード IP の実装が固定 RX バッファ・サイ ズがあるため、これらのデバイスでのみ使用可能値は Maximum です。 この設定を変更すると、ヘッダとデータ・クレジットの読み出し専用 の値が更新されることに注意してください。 詳細については、Chapter 11, フロー・コントロールに参照してください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 3‒6 第 3 章 : パラメータの設定 Qsys デザイン・フローのパラメータ 表 3‒6. Buff er Configuration パラメータ ( その2 ) パラメータ 値 説明 これらの値は、RX バッファ・サイズの設定に基づいて、各フロー制御タ イプの割り当てられたクレジットやスペースを示します。すべてのバー チャル・チャネルは同じ RX バッファ・スペースの割り当てを使用しま す。 Posted header credit Posted data credit Non-posted header credit Completion header credit Completion data credit Read-only entries エントリはポストされる RX(メモリ・ライト)およびコンプリーショ ン・リクエスト用のヘッダとデータ・クレジットおよびノン・ポステッ ド・リクエスト(メモリ・リード)用のヘッダ・クレジットを示します。 IP コアは常に無限のノン・ポステッドのデータ・クレジットを通知し、自 動的に各ノン・ポステッド・ヘッダに関連付けるデータの dword の最大数 のためのルームがあるので、テーブルはノン・ポステッドのデータ・クレ ジットを表示しません。 完成ヘッダとコンプリーション・データに対して表示される数値は、どの ぐらい RX バッファの補完のために必要なスペースが予約されることを示 します。しかし、無限のコンプリーション・クレジットはエンドポイント に対してリクエストされるように、PCI Express リンク上でアドバタイズさ れます。アプリケーション層は、RX バッファ・コンプリーション・ス ペースがオーバーフローしないことを保証するためにノン・ポステッド・ リクエストのレートを管理する必要があります。ハード IP RX バッファ は、Stratix IV GX デバイスの場合は 16 K バイトに、そして Arria II GX デバイ スの場合は 4 K バイトに固定されます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 Qsys デザイン・フローのパラメータ 3‒7 Avalon-MM 設定 PCI Express パラメータ・エディタのための Qsys のデザイン・フローの IP コンパイラ の Avalon-MM Settings 項では、PCI Express Avalon-MM ブリッジのコンフィギュレー ション設定が含まれています。表 3‒7 には、これらのパラメータを説明します。 表 3‒7. Avalon-MM コンフィギュレーション設定 パラメータ 値 説明 PCI Express のコンポーネントの IP コンパイラはアップスト リームの PCI Express デバイスにリクエストを送信すること、 そして着信リクエストがパイプライン化されることを指定し ます。 Requester/Completer, Peripheral Mode Completer-Only, Completer-Only single dword Requester/Completer—PCI Express TX リンク上と同様の PCI Express RX リンク上のリクエストパケットを受信するの と同様に PCI Express TX 上のリクエストパケットを送信する ための PCI Express 用の IP コンパイラをイネーブルします。 Completer-Only— このモードでは、PCI Express 用の IP コン パイラはリクエストを受信することができますが、アップ ストリームのリクエストを開始することができません。し かし、それは PCI Express TX リンクにコンプリーション・パ ケットを送信することができます。このモードでは、 Avalon-MM スレーブの TX ポートを削除することにより、ロ ジック使用率を減らすことができます。 Completer-Only single dword—Completer-Only モードの非パイ プラインバージョンされたバージョン。どの時点でもただ 一つのリクエストは傑出していることができます。 Completer-Only single dword は Completer-Only よりも少ない リソースを使用します。 Control Register Access (CRA) Avalon slave port (Qsys flow) Auto Enable PCIe Interrupt (enabled at power-on) 2011 年 5 月 Off/On 特殊なスレーブ・ポートを使用して、Avalon インタコネクト・ ファブリックからブリッジ・レジスタへのリード / ライトの アクセスを提供します。Completer-Only のシングルの dword バ リエーションを除いて、このオプションを指定すると、ブ リッジのレジスタへのリード / ライトのアクセスが横切され ます。 Off/On このオプションをオンにすると、電源投入時に PCI Express の 割り込みレジスタの IP コンパイラをイネーブルします。それ をオフにすると、電源投入時に割込みレジスタをディセーブ ルします。設定は、割り込みイネーブル・レジスタのランタ イムのコンフィギュレーション可能には影響を与えません。 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 3‒8 第 3 章 : パラメータの設定 Qsys デザイン・フローのパラメータ アドレス変換 Qsys デザイン・フローの PCI Express 用の IP コンパイラのパラメータ・エディタの Address Translation の項では、PCI Express の Avalon-MM ブリッジのアドレス変換のた めのパラメータ設定が含まれています。表 3‒8 にはこれらのパラメータについて説明 します。 表 3‒8. Avalon-MM アドレス変換の設定 パラメータ 値 説明 ダイナミックまたは固定の Avalon-MM-to-PCI Express のアドレ ス変換方式を設定します。 Address Translation Table Configuration Dynamic translation table, Fixed translation table Dynamic translation table— コントロール・レジスタ・アク セス・スレーブ・ポートを使用してアドレス変換テーブル の内容を書き込むアプリケーションソフトをイネーブルし ます。オンチップ・メモリでは、テーブルに格納します。 Avalon-MM CRA Port がイネーブルであることが必要です。 未処理のリクエストが完了する前にテーブルのエントリを 更新しないようにするためにいくつかのアドレス変換テー ブル・エントリを使用します。このオプションは、最大 512 アドレス・ページをサポートしています。 Fixed translation table— システム生成時にハードワイヤー固 定値にアドレス変換テーブルの内容を設定します。このオ プションは、最大 16 アドレス・ページをサポートします。 Number of address pages 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 ブリッジがアクセスできるメモリの PCI Express ベース・アド レスのページ数を指定します。この値は、アドレス変換テー ブル内のエントリの数に対応します。Avalon のアドレス範囲 は、個々に PCI Express のアドレスにマッピングされる 1 つ以 上の同じサイズのページに分割されます。アドレス・ページ の数とサイズを選択してください。Dynamic translation table を 選択した場合、未処理のリクエストが完了する前にテーブ ル・エントリを更新しないようにするためにいくつかのアド レス変換のテーブル・エントリを使用します。ダイナミック 変換テーブルは、最大 512 アドレス・ページをサポートし、 固定的な変換テーブルは、最大 16 アドレス・ページをサポー トします。 Size of address pages 4 Kbyte–4 Gbytes ブリッジによってアクセス可能な各 PCI Express メモリ・セグ メントのサイズを指定します。この値は、すべてのアドレス 変換エントリのために共通です。 アドレス変換のテーブルの内容 PCI Express パラメータ・エディタのための Qsys のデザイン・フローの IP コンパイラ のアドレス変換テーブルには、固定的な変換テーブル・コンフィギュレーションの 場合に有効です。テーブルには、PCI Express のアドレスへの Avalon-MM アドレスを 変換するための情報を提供します。テーブル内の使用可能なアドレスのページ数は、 パラメータ・エディタの Address Translation 項で指定されたアドレスのページ数で す。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒9 テーブル・エントリはブリッジがアクセスできるメモリの PCI Express ベース・アド レスを指定します。Avalon-MM アドレスから PCI Express のアドレスへの変換では、 Avalon-MM アドレスの上位ビットは、特定のエントリの一部に置き換えられます。 Avalon-MM アドレスのインデックス・テーブルの最上位ビットは、アドレスのページ を選択すると、各リクエストに対して使用します。Avalon-MM アドレスの上位ビット は各リクエストに使用するアドレス・ページを選択して、テーブルにインデックス を付けます。 PCIe アドレス・フィールドは二つのパラメータが含まれています:ビット [31:0] と ビット [63:32] のアドレス。パラメータ・エディタの Address Translation 項で指定す るアドレス・ページのサイズは、着信の Avalon-MM アドレスの下位ビットと置き換 えられるアドレスの最下位ビットの数を決定します。 しかし、PCIe Address 31:0 のビット 0 には次の特別の重要性があります : ■ PCIe Address 31:0 のビット 0 の値は 0 の場合、このアドレス・ページによってアク セスされた PCI Express メモリは 32 ビット・アドレス可能です。 ■ PCIe Address 31:0 のビット 0 に値は 1 の場合、このアドレス・ページによってアク セスされた PCI Express メモリは 64 ビットアドレス可能です。 MegaWizard Plug-In Manager および SOPC Builder フローでの パラメータ 以下の項では、MegaWizard Manager および SOPC Builder デザイン・フローのプラグイ ンで使用可能な PCI Express 用の IP コンパイラのパラメータについて説明します。別 の項では、PCI Express のパラメータ・エディタの IP コンパイラの Parameter Settings タブの別のページで使用可能なパラメータについて説明します。 システム設定 Parameter Settings タブの最初のページには、システム全体の設定のためのパラメー タが含まれています。表 3‒9 にはこれらの設定について説明します。 Qsys のフローで表示された PCI Express 用の IP コンパイラのパラメータ・エディタ は、Gen2 Lane Rate Mode、Number of lanes、Reference clock frequency、Use 62.5 MHz application clock、および Test out width のシステム設定パラメータを提供します。詳 細については、3‒1 ページの「Qsys デザイン・フローのパラメータ」 を参照してください。 表 3‒9. System Settings パラメータ ( その1 ) パラメータ 値 説明 ハード IP の実装では、物理層、データ・リンク層、およびトラ ンザクション層を含む PCI Express プロトコル・スタックを実装 するためにエンべデッド専用ロジックを使用します。 PCIe Core Type Hard IP for PCI Express ソフト IP の実装では、物理層、データ・リンク層、およびトラ Soft IP for PCI Express ンザクション層を含む PCI Express プロトコル・スタックを実装 するために最適化された PLD ロジックを使用します。 SOPC Builder および Qsys のデザイン・フローは、ハード IP の実 装をサポートします。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 3‒10 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 表 3‒9. System Settings パラメータ ( その2 ) パラメータ 値 説明 PCIe System パラメータ PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒11 表 3‒9. System Settings パラメータ ( その3 ) パラメータ PHY type (1) 2011 年 5 月 値 説明 Custom 外部 PHY インタフェースのすべてのタイプ(シリアルを除く) を許可します。レーン数は、×1、×4 とすることができます。こ のオプションは、ソフト IP の実装でのみ使用できます。 Stratix II GX Stratix II GX デバイスは、Stratix II GX デバイス・ファミリの組み 込みトランシーバを使用するシリアル・インタフェースを備え ています。この PHY を選択すると、レーン・コンフィギュレー ションは Gen1 ×1、×4、×8 に設定するシリアル PHY インタ フェースのみ許可します。 Stratix IV GX Stratix IV GX は、PCI Express Gen1 および Gen2 ×1、×4、×8 をサ ポートするために、Stratix IV GX デバイス・ファミリの組み込み トランシーバを使用するシリアル・インタフェースを備えてい ます。HardCopy IV GX がターゲットとするデザインの場合、当 初の Stratix IV GX デバイス用にコンパイルしたときでも HardCopy IV GX の設定を使用する必要があります。この手順で は、唯一の Stratix IV GX の実装の HardCopy IV GX の互換性設定を 適用することを保証します。 Cyclone IV GX Cyclone IV GX デバイスは、Cyclone IV GX デバイス・ファミリの 組み込みトランシーバを使用するシリアル・インタフェースを 備えています。この PHY を選択すると、レーン・コンフィギュ レーションは Gen1 ×1、×2、または ×4 に設定するシリアル PHY インタフェースのみ許可します。 HardCopy IV GX HardCopy IV GX は、PCI Express Gen1 および Gen2 ×1、×4、×8 を サポートする HardCopy IV GX デバイス・ファミリの組み込みト ランシーバを使用するシリアル・インタフェースを備えていま す。HardCopy IV GX がターゲットとするデザインの場合、当初 の Stratix IV GX デバイス用にコンパイルしたときでも HardCopy IV GX の設定を使用する必要があります。この手順では、Stratix IV GX の実装の HardCopy IV GX の互換性のある設定を確実にしま す。Gen2 ×8 バリエーションについては、この手順では、 HardCopy IV GX の互換性のある実装の RX Buffer と Retry Buffer を 8K バイトに設定します。 Arria GX Arria GX デバイスは、Arria GX デバイス・ファミリの組み込みト ランシーバを使用するシリアル・インタフェースを備えていま す。この PHY を選択すると、レーン・コンフィギュレーション が Gen1 ×1 または ×4 に設定されるシリアル PHY インタフェー スを許可します。 Arria II GX Arria II GX デバイスは、PCI Express Gen1 ×1、×4、×8 をサポート するように、Arria II GX デバイス・ファミリの組み込みトラン シーバを使用するシリアル・インタフェースを備えています。 Arria II GZ Arria II GZ は、PCI Express Gen1 ×1、×4、×8、Gen2 ×1、および Gen2 ×4 をサポートするように、Arria II GZ のデバイス・ファミ リの組み込みトランシーバを使用するシリアル・インタフェー スを備えています。 TI XIO1100 TI の XIO1100 は、トランスミッタ・クロック PHY インタフェー ス付きの TXCLK または 16 ビット SDR と 8 ビットの DDR/SDR を 使用します。これらのオプションの両方は ×1 のレーンの数を 制限します。このオプションは、ソフト IP の実装でのみ使用で きます。 NXP PX1011A Philips NPX1011A は TXClk および PHY インタフェースを備えた 8 ビット SDR を使用しています。このオプションは、×1 にレー ン数を制限します。このオプションは、ソフト IP の実装でのみ 使用できます。 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 3‒12 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 表 3‒9. System Settings パラメータ ( その4 ) パラメータ PHY interface 値 16-bit SDR, 16-bit SDR w/TxClk, 8-bit DDR, 8-bit DDR w/TxClk, 8-bit DDR/SDR w/TXClk, 8 bit SDR, 8-bit SDR w/TxClk, serial 説明 インタフェースのデータパス幅とロッキング・モードに基づい て、外部 PHY インタフェースの特定のタイプを選択します。特 定の PHY モードの追加について詳しくは、Chapter 14, 外部 PHY を参照してください。 PHY interface の設定は、ソフト IP の実装に適用されます。 このボタンをクリックすると、以前のリリースで提供されてい たよりも、トランシーバのパラメータのはるかに大きいサブ セットにアクセスすることができ、トランシーバのパラメー タ・エディタを起動します。アクセス可能なパラメータには、 PCI Express 用の IP コンパイラのソフトおよびハード IP のバー ジョンごとに異なりますし、リリースごとに変更されることが あります。 Configure transceiver block Arria II GX、Cyclone IV GX、Stratix II GX、および Stratix IV GX の トランシーバの場合、これらの設定の説明については、「ALTGX Transceiver Setup Guide」での「PCI Express(PIPE)用のプロトコ ルの設定」を参照してください。 Lanes Xcvr ref_clk PHY pclk ×1, ×2, ×4, ×8 100 MHz, 125 MHz サポートされるレーンの最大数を指定します。×8 ソフト IP コン フィギュレーションが唯一の Stratix II GX デバイスでサポートさ れています。ハード IP コンフィギュレーションで ×8 サポート について詳しくは、1‒8 ページの表 1‒5 を参照してください。 Arria II GX、Cyclone IV GX、HardCopy IV GX、および Stratix IV GX では、Gen1 の動作の場合、100 MHz または 125 MHz の基準ク ロックを選択することができます ; Gen2 の場合、100 MHz のク ロックを必要とします。Arria GX デバイスおよび Stratix II GX デ バイスは、100 MHz のクロックを必要とします。PIPE インタ フェース(また、PHY type は Arria GX、Arria II GX、 Cyclone IV GX、HardCopy IV GX、Stratix II GX、または Stratix IV GX ではない場合)を使用する場合、refclk は必要あ りません。 Custom および TI X101100 の PHY では、PHY pclk の周波数は 125 MHz です。NXP PX1011A の PHY では、pclk 値は 250 MHz で す。 Application Interface 64-bit Avalon-ST, 128-bit Avalon-ST, Descriptor/Data, Avalon-MM PCI Express トランザクション層とアプリケーション層の間のイ ンタフェースを指定します。MegaWizard Plug-In Manager のフ ローを使用する場合、このパラメータは、Avalon-ST または Descriptor/Data を設定することができます。アルテラは、すべ ての新しいデザインに Avalon-ST のオプションを推奨します。 ハード IP の実装を使用する場合、128 ビットの Avalon-ST にの み使用可能です。 SOPC Builder デザイン・フローを使用する場合、このパラメー タは読み出し専用であり、Avalon-MM に設定されています。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒13 表 3‒9. System Settings パラメータ ( その5 ) パラメータ 値 Native Endpoint Legacy Endpoint Root Port Port type 説明 ポート・タイプを指定します。アルテラは、すべての新しいエ ンドポイント・デザインの Native Endpoint を推奨します。互換 性のために、I/O トランザクションのサポートを必要とする場 合にのみ Legacy Endpoint を選択します。SOPC Builder および Qsys のデザイン・フローは、ユーザー・アプリケーションに Native Endpoint および Avalon-MM インタフェースをサポートし ています。Root Port のオプションは、MegaWizard Plug-In Manager のハード IP 実装で使用可能です。 エンドポイントは、6‒2 ページの表 6‒2 に概説される Type 0 のコ ンフィギュレーション・スペース内のパラメータを格納しま す。6‒2 ページの表 6‒2 に概説される Type 1 のコンフィギュレー ション・スペースにあるルート・ポートはパラメータを格納し ます。 PCI Express version 1.0A, 1.1, 2.0 62.5 MHz Application clock 125 MHz 250 MHz Gen 1 (2.5 Gbps) Gen 2 (5.0 Gbps) Max rate バリエーションと互換性のある PCI Express の仕様を選択しま す。選択したデバイスに応じて、PCI Express 用の IP コンパイラ のハード IP 実装は、PCI Express バージョン 1.1 および 2.0 をサ ポートしています。PCI Express 用の IP コンパイラのソフト IP 実装は、PCI Express バージョン 1.0a および 1.1 をサポートして います。 アプリケーション・インタフェース・クロックが動作する周波 数を指定します。この周波数は一部のみ Gen1 ×1 のバリエー ションの 62.5 MHz または 125 MHz に設定することができます。 すべての他のバリエーションについては、このフィールドは、 レーン、アプリケーション・インタフェース幅と最大レートの 設定数によって制御される動作周波数を表示します。サポート される組み合わせのリストについては、4‒5 ページの表 4‒1 を参 照してください。 リンクが動作可能な最大データ・レートを指定します。Gen2 の レートがハード IP の実装でのみサポートされています。ハード IP の実装での完全 Gen1 および Gen2 のリストのサポートについ て詳しくは、1‒8 ページの表 1‒5 を参照してください。 test_out 信号の幅を示します。以下の幅が適用可能です。 ハード IP test_out 幅 : None、9 bits、または 64 bits Test out width 0, 9, 64, 128 or 512 bits ソフト IP ×1 or ×4 test_out 幅 : None、9 bits、または 512 bits ソフト IP ×8 test_out 幅 : None、9 bits、または 128 bits これらの信号のほとんどが予約されています。詳細について は、5‒68 ページの表 5‒33 を参照してください。 アルテラは、ハード IP の実装の 64 ビット幅を推奨します。 HIP reconfig Enable/Disable ハード IP PCI Express の読み出し専用コンフィギュレーション・ レジスタのリコンフィギュレーションをイネーブルします。こ のパラメータは、MegaWizard Plug-In Manager のデザイン・フ ローにおけるハード IP の実装でのみ使用できます。 表 3‒9 の注 : (1) Stratix IV GT デバイスをターゲットとした PCI Express の IP コンパイラを指定するには、PHY type としての Stratix IV GX を選択 して、トランシーバのパラメータ・エディタで指定した任意のトランシーバ設定は、Stratix IV GT デバイスのために有効であ ることを確認する必要があります。それ以外の場合は、Quartus II のコンパイル時にエラーが発生します。 (2) Arria GX デバイスのための ALT2GXB トランシーバをコンフィギュレーションするときは、Currently selected device family のエ ントリは Stratix II GX です。しかし、ALT2GX のパラメータ・エディタで適用されたすべてのトランシーバ設定が Arria GX デバ イスのために有効であることを確認する必要があります。それ以外の場合は、Quartus II のコンパイル時にエラーが発生しま す。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 3‒14 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ PCI レジスタ ×1 および ×4 IP コアは、128 ビットから 32 ビットまたは 64 ビットの BAR で最大許容 値までの範囲のサイズのメモリ・スペース BAR をサポートしています。 レガシー・エンドポイント・モードでの ×1 および ×4 IP コアは、16 バイトから 4K バイトの I/O スペース BAR をサポートしています。 ×8 IP コアは、4 K バイトの I/O スペース BAR のみサポートしています。 SOPC Builder のデザイン・フローでは、次の機能をサポートしています。 ■ 以下のためのサポートなしネイティブ・エンドポイント ■ I/O スペース BAR ■ 32 ビットのプリフェッチ可能メモリ ■ 16 タグ ■ 1 Message Signaled Interrupts (MSI) ■ 1 バーチャル・チャネル ■ 最大 256 バイトのペイーロード SOPC Builder のデザイン・フローでは、SOPC Builder が自動的に BAR のサイズとの Avalon-MM のベース・アドレスを計算するか、または手動で値を入力できるようにす るかを選択できます。Avalon-MM アドレスは、PCI Express リンクから受信したリクエ ストの BAR ヒットに対応する変換されるベース・アドレスです。アルテラは、Auto の設定を使用することを推奨します。しかし、アドレス変換エントリを入力するこ とにした場合、他のコンポーネントを追加するときにアドレス割り当てに競合を避 け、相互接続を作成し、SOPC Builder でベース・アドレスを割り当てる必要がありま す。このプロセスは、アドレス競合を解決するための SOPC Builder アドレス割り当て および MegaWizard アドレスの割り当ての間に数回の反復がかかる場合があります。 表 3‒10 には、PCI レジスタ・パラメータを示します。 表 3‒10. PCI レジスタ ( その1 ) パラメータ 値 説明 PCI ベース・アドレスのレジスタ (0x10, 0x14, 0x18, 0x1C, 0x20, 0x24) BAR Table (BAR0) BAR Table (BAR1) BAR Table (BAR2) (3) BAR type and size BAR0 サイズおよびタイプ・マッピング(I/O スペース (1)、 メモリ・スペース。BAR0 と BAR1 は、64 ビットのプリ フェッチ BAR を形成するために組み合わせることができま す。BAR0 と BAR1 は、32 ビットのプリフェッチ不可能メモ リとして別個に設定することができます。)(2) BAR type and size BAR0 サイズおよびタイプ・マッピング(I/O スペース (1)、 メモリ・スペース。BAR0 と BAR1 は、64 ビットのプリ フェッチ BAR を形成するために組み合わせることができま す。BAR0 と BAR1 は、32 ビットのプリフェッチ不可能メモ リとして別個に設定することができます。) BAR type and size BAR2 サイズおよびタイプ・マッピング(I/O スペース (1)、 メモリ・スペース。BAR2 と BAR3 は、64 ビットのプリ フェッチ BAR を形成するために組み合わせることができま す。BAR2 と BAR3 は、32 ビットのプリフェッチ不可能メモ リとして別個に設定することができます。)(2) PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒15 表 3‒10. PCI レジスタ ( その2 ) BAR Table (BAR3) (3) BAR Table (BAR4) (3) BAR Table (BAR5) (3) BAR Table (EXP-ROM) (4) BAR type and size BAR3 サイズおよびタイプ・マッピング(I/O スペース (1)、 メモリ・スペース。BAR2 と BAR3 は、64 ビットのプリ フェッチ BAR を形成するために組み合わせることができま す。BAR2 と BAR3 は、32 ビットのプリフェッチ不可能メモ リとして別個に設定することができます。) BAR type and size BAR4 サイズおよびタイプ・マッピング(I/O スペース (1)、 メモリ・スペース。BAR4 と BAR5 は、64 ビットのプリ フェッチ BAR を形成するために組み合わせることができま す。BAR4 と BAR5 は、32 ビットのプリフェッチ不可能メモ リとして別個に設定することができます。)(2) BAR type and size BAR5 サイズおよびタイプ・マッピング(I/O スペース (1)、 メモリ・スペース。BAR4 と BAR5 は、64 ビットのプリ フェッチ BAR を形成するために組み合わせることができま す。BAR4 と BAR5 は、32 ビットのプリフェッチ不可能メモ リとして別個に設定することができます。) Disable/Enable 拡張 ROM BAR サイズおよびタイプ・マッピング(I/O スペー ス、メモリ・スペース、プリフェッチ不可能)。 PCIe 読み出し専用のレジスタ Device ID 「0x000」 Subsystem ID 「0x02C」 (3) Revision ID 「0x008」 Vendor ID 「0x000」 Subsystem vendor ID 「0x02C」 (3) Class code 「0x008」 0x0004 デバイス ID レジスタの読み出し専用値を設定します。 0x0004 サブシステム・デバイス ID レジスタの読み出し専用値を設 定します。 0x01 ビジョン ID レジスタの読み出し専用値を設定します。 0x1172 ベンダ ID レジスタの読み出し専用値を設定します。このパ ラメータは、PCI Express Specification に従って 0xFFFF に設定 することはできません。 0x1172 サブシステム・ベンダ ID レジスタの読み出し専用値を設定 します。このパラメータは、PCI Express Base Specification 1.1 or 2.0 に従って 0xFFFF に設定することはできません。 0xFF0000 クラス・コード・レジスタの読み出し専用値を設定します。 Base and Limit のレジスタ Input/Output (5) 2011 年 5 月 Disable 16-bit I/O addressing 32-bit I/O addressing Altera Corporation IO base と IO limit レジスタ用にサポートされるアドレス幅 を指定します。 PCI Express 用の IP コンパイラのユーザー・ガイド 3‒16 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 表 3‒10. PCI レジスタ ( その3 ) Prefetchable memory (5) Disable 32-bit I/O addressing 64-bit I/O addressing prefetchable memory base レジスタとレジスタ prefetchable memory limit でサポートされるアドレス幅が を指定します。 表 3‒10 の注 : (1) プリフェッチ可能 64 ビット BAR がサポートされています。典型的なシステムでは、タイプ 1 のルート・ポート・コンフィ ギュレーション・レジスタは最大プリフェッチ不可能メモリ・ウィンドウを 32 ビットに設定されるため、プリフェッチ不可 能 64 ビット BAR がサポートされていません。 (2) SOPC Builder および Qsys のデザイン・フローでは、バータイプのマッピングのための I/O スペースをサポートしていません。 I/O スペースは、レガシー・エンドポイントのポート・タイプではサポートされています。 (3) ヘッダ・タイプ 0 の PCI コンフィギュレーション・レジスタの使用を必要とし、EP のデザインでのみ使用可能です。 (4) SOPC Builder および Qsys のデザイン・フローでは、拡張 ROM をサポートしていません。 (5) ヘッダ・タイプ 1 の PCI コンフィギュレーション・レジスタを使用する必要がある RP のデザインでのみ使用可能です。した がって、このオプションは、SOPC Builder および Qsys のデザイン・フローでは使用できません。 Capabilities パラメータ Capabilities ページでは、IP コアのさまざまな機能のプロパティを設定するパラメー タが含まれています。これらのパラメータの一部は「共通のコンフィギュレーション・ス ペース・ヘッダ」 に格納される表 3‒11 に記載されています。 「共通のコンフィギュレーショ ン・スペース・ヘッダ」 内のバイト・オフセットは、パラメータのアドレスを示しま す。 1 SOPC Builder で表示されるCapabilities ページでは Simulation Mode と Summary タブが含 まれていません。 Qsys のフローで表示された PCI Express 用の IP コンパイラのパラメータ・エディタで のみ Link port number、Implement advance error reporting、Implement ECRC check、およ び Implement ECRC generation の Capabilities パラメータについて詳しくは、3‒1 ページ の「Qsys デザイン・フローのパラメータ」 を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒17 表 3‒11. Capabilities パラメータ ( その1 ) パラメータ 値 説明 デバイス機能 「0x084」 アプリケーション層によって送信されたノン・ポステッド・リクエストに 対してサポートされるタグの数を示します。次のオプションが使用可能で す。 ハード IP: ×1、×4、および ×8 に 32 または 64 タグ Soft IP: ×1 および ×4 に 4–256 タグ ;×8 に 4–32 タグ SOPC Builder および Qsys デザイン・フロー : 16 タグ このパラメータは 6‒4 ページの表 6‒7 に記載される PCI Express 機能構造の Device Control レジスタ(0x088)の値を設定します。 Tags supported Implement completion timeout disable 4–256 On/Off 「0x0A8」 2011 年 5 月 Altera Corporation トランザクション層は、アプリケーションによって行われたノン・ポス テッド・リクエストに対するすべての傑出した補完を追跡します。このパ ラメータは、最大数を追跡するためのトランザクション層をコンフィギュ レーションします。アプリケーション層は、この値未満になるようにすべ てのノン・ポステッド PCI Express のヘッダでタグ値を設定する必要があ ります。32 より大きい値は、コンフィギュレーション・レジスタ・スペー スのデバイスの機能で拡張タグ・フィールドでサポートされるビットを設 定します。コンフィギュレーション・ソフトウェアは拡張タグ・フィール ドがデバイス制御レジスタのビットを有効に設定した場合、アプリケー ションによっては、31 よりも大きいタグ番号を使用することができます。 このビットは cfg_devcsr[8] としてアプリケーションに使用可能です。 このオプションは、PCI Express バージョン 2.0 およびそれ以降のルート・ ポートに選択できます。PCI Express バージョン 2.0 およびそれ以降のエン ドポイントの場合、このオプションは On に強制されます。PCI Express バージョン 1.0a および 1.1 のバリエーションについては、このオプション は Off に強制されます。タイムアウト範囲は選択可能です。このオプショ ンが On にされるとき、コアは PCI Express Device Control Register 2 を介して 終了のタイムアウトのディセーブル・メカニズムをサポートしています。 アプリケーション層ロジックは、必要な範囲のための実際の終了のタイム アウトのメカニズムを実装する必要があります。 PCI Express 用の IP コンパイラのユーザー・ガイド 3‒18 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 表 3‒11. Capabilities パラメータ ( その2 ) パラメータ 値 説明 Ranges A–D このオプションは、PCI Express のバージョン 2.0 で使用可能と高くなって います。これはオプションの終了のタイムアウト・プログラマビリティ・ メカニズムのデバイスの機能のサポートを示します。このメカニズムは、 システム・ソフトウェアが終了のタイムアウト値を変更することができま す。このフィールドには、リクエストが発行されるルート・ポートおよび エンドポイントにのみ適用されます。終了のタイムアウトが指定されてお り、6‒5 ページの表 6‒8 に記載される PCI Express Capability Structure バー ジョン 2.0 の Device Control 2 レジスタ(0x0A8)を経由してイネーブルさ れます。他のすべての関数の場合、このフィールドは予約されており、 0x0 に配線される必要があります。4 つの時間値の範囲が定義されていま す。 Completion timeout range 範囲 A: 50 µs ~ 10 ms 範囲 B: 10 ms ~ 250 ms 範囲 C: 250 ms ~ 4 s 範囲 D: 4 s ~ 64 s ビットがサポートされたタイムアウト値の範囲を表示するには、以下のリ ストに応じて設定されます。0x0 の終了のタイムアウト・プログラミング がサポートされていません。また、機能は 50 s ~ 50 ms の範囲にタイム アウト値を実装する必要があります。 Completion timeout range 各範囲は、全範囲の値を指定するためにオンまたはオフにれています。 ビット 0 は範囲 A、ビット 1 は範囲 B、ビット 2 は範囲 C、および 3 ビッ トは範囲 D を制御します。以下の値がサポートされています。 ( 続き ) 0x1: 範囲 A 0x2: 範囲 B 0x3: 範囲 A および B 0x6: 範囲 B および C 0x7: 範囲 A、B、および C 0xE: 範囲 B、C、および D 0xF: 範囲 A、B、C、および D 他の値はすべて予約されています。このパラメータは、PCIe のバージョン 1.0 には使用できません。 終了のタイムアウト・メカニズムが少なくとも 10 ms で終了するよう推奨 します エラー報告 「0x800」 –「0x834」 Implement advanced error reporting Implement ECRC check Implement ECRC generation On/Off 高度なエラー報告(AER)機能を実装します。 On/Off ECRC のチェック機能をイネーブルします。高度なエラー機能とコント ロール・レジスタの ECRC チェック機能のビットの読み出し専用値を設定 します。このパラメータを使用すると、高度なエラー報告機能を実装する 必要があります。 On/Off ECRC のチェック機能をイネーブルします。高度なエラー機能とコント ロール・レジスタの ECRC チェック機能のビットの読み出し専用値を設定 します。このパラメータを使用すると、高度なエラー報告機能を実装する 必要があります。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒19 表 3‒11. Capabilities パラメータ ( その3 ) パラメータ 値 Implement ECRC forwarding On/Off 説明 唯一のハード IP の実装のために使用可能です。アプリケーション層に ECRC を転送します。Avalon-ST 受信パスには、着信 TLP は ECRC dword が含 まれており、ECRC が存在する場合は、TD ビットが設定されます。AvalonST 送信パスでは、アプリケーションからの TLP は ECRC dword を含め、TD ビット・セットを持っている必要があります。 MSI 機能 「0x050」 –「0x05C」 MSI messages requested MSI message 64–bit address capable 1, 2, 4, 8, 16, 32 メッセージの数がアプリケーションのリクエストを示します。メッセー ジ・コントロール・レジスタの 0x050[31:16] 複数のメッセージ可能な フィールドの値を設定します。SOPC Builder および Qsys のデザイン・フ ローは 1 MSI のみサポートします。 On/Off MSI 機能メッセージ・コントロール・レジスタが 64 ビットのアドレッシ ング可能であるかどうかを示します。PCI Express ネイティブのエンドポイ ントは常に MSI の 64 ビット・アドレッシングをサポートしています。 Link 機能 「0x090」 On/Off システムによって提供される共通の基準クロックが PHY の基準クロック として使用されているかどうかを示します。このパラメータは、リンク・ ステータス・レジスタ内のスロット・クロックの設定ビットの読み出し専 用値を設定します。 On/Off コンポーネントは Data Link Control and Management State Machine の DL_Active 状態を報告するためのオプション機能をサポートする場合、ダ ウン・ストリーム・ポートのためにこのオプションを On にします。ホッ トプラグ対応のダウンストリーム・ポート(Slot Capabilities レジスタ の Hot-Plug Capable フィールドで示されるように)の場合、このオプ ションをオンにする必要があります。このオプション機能をサポートして いないアップストリーム・ポートおよびコンポーネントの場合、このオプ ションを Off にします。エンドポイントでは、このオプションをサポート していません。 Surprise down reporting On/Off このオプションが On の場合、ダウンストリーム・ポートが検出し、エ ラー状態ダウンの報告のオプションの機能をサポートしています。 Link port number 0x01 リンク機能レジスタでポート番号フィールドの読み出し専用の値を設定し ます。 Link common clock Data link layer active reporting 「0x094」 Slot 機能 「0x094」 Enable slot capability 2011 年 5 月 On/Off Altera Corporation スロットがポート上で実装される場合、スロット機能にはルート・ポート が必要です。スロットの状態は、PCI Express Capabilities レジスタに記 録されます。この機能は、ルート・ポートでのみ使用可能です。したがっ て、このオプションは、SOPC Builder および Qsys のデザイン・フローでは 使用できません。 PCI Express 用の IP コンパイラのユーザー・ガイド 3‒20 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 表 3‒11. Capabilities パラメータ ( その4 ) パラメータ 値 説明 スロットの特性を定義します。Enable slot capability を選択してこのオプ ションをオンにします。様々なビットは次のように定義されています。 31 19 18 17 16 15 14 7 6 5 4 3 2 1 0 Physical Slot Number Slot capability register 0x00000000 No Command Completed Support Electromechanical Interlock Present Slot Power Limit Scale Slot Power Limit Value Hot-Plug Capable Hot-Plug Surprise Power Indicator Present Attention Indicator Present MRL Sensor Present Power Controller Present Attention Button Present MSI-X 機能 (0x68, 0x6C, 0x70) Implement MSI-X On/Off MSI-X の機能はハード IP の実装でのみ利用可能です。SOPC Builder および Qsys のデザイン・フローは、MSI-X 機能をサポートしていません。 10:0 システム・ソフトウェアは、<N-1> でエンコードされる MSI-X Table サイズ <N> を決定するためにこのフィールドを読み込みます。例えば、 10'b00000000011 の戻り値は 4 テーブル・サイズを示します。このフィー ルドは読み出し専用です。 MSI-X Table size 「0x068」 [26:16] MSI-X Table Offset MSI-X Table BAR Indicator 31:3 <5–1>:0 MSI-X の表のベースをポイントします。テーブル BAR のインジケータ (BIR)の下位 3 ビットは、32 ビットの qword アラインメントされたオフ セットを形成するために、ソフトウェアでゼロに設定されます。この フィールドは読み出し専用です。 メモリ・スペースに MSI-X のテーブルをマップするために使用されるベー ス・アドレス・レジスタは、コンフィギュレーション・スペース内の 0x10 の始めで位置される関数のいずれかを示します。このフィールドは 読み出し専用です。 Pending Bit Array (PBA) Offset BAR Indicator (BIR) 31:3 MSI-X PBA のベースを指すように、関数のベース・アドレス・レジスタの 一つに含まれているアドレスからのオフセットとして使用されます。 PBA BIR の下位 3 ビットは、32 ビット qword アラインメントされたオフ セットを形成するために、ソフトウェアでゼロに設定されます。この フィールドは読み出し専用です。 <5–1>:0 メモリ・スペースに MSI-X のテーブルをマップするために使用されるベー ス・アドレス・レジスタは、コンフィギュレーション・スペース内の 0x10 の始めで位置される関数のいずれかを示します。このフィールドは 読み出し専用です 表 3‒11 の注 : (1) PCI Express のユーザー・ガイドでは、用語のワードの dword と qword は彼らが PCI Express Base Specification Revision 1.0a,、 1.1、または 2.0 にあると同じ意味があります。ワードは 16 ビット、dword は 32 ビット、そして qword は 64 ビットです。 バッファ設定 Buffer Setup ページには、受信バッファおよび再試行バッファのためのパラメータが 含まれています。表 3‒12 には、このページで設定可能なパラメータについて説明し ます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒21 Qsys のフローで表示された PCI Express 用の IP コンパイラのパラメータ・エディタの み Maximum payload size と RX buffer credit allocation – performance for received requests バッファ設定パラメータを提供します。このパラメータ・エディタは、スペースの 使用率や合計情報なしで読み出し専用の RX バッファ・スペースの割り当て情報を表 示します。詳細については、3‒1 ページの「Qsys デザイン・フローのパラメータ」 を参照し てください。 表 3‒12. Buff er Setup パラメータ ( その1 ) パラメータ 値 128 bytes, 256 bytes, 512 bytes, 1 KByte, 2 KBytes Maximum payload size 「0x084」 Number of virtual channels 1–2 説明 サポートされる最大ペイロード・サイズを指定します。このパラメータ は、デバイス機能レジスタ(0x084[2:0])の最大ペイロード・サイズがサ ポートされるフィールドの読み出し専用の値を設定し、このサイズのペイ ロードの IP コアを最適化します。SOPC Builder フローは 128 バイトと 256 バイトの唯一の最大ペイロード・サイズをサポートします。最大ペイロー ド・サイズは、デバイスごとに異なります。 サポートされるバーチャル・チャネルの数を指定します。このパラメータ は、ポートのバーチャル・チャネル機能レジスタ 1 の読み出し専用の拡張 されたバーチャル・チャネル・カウント・フィールドを設定し、実装され るバーチャル・チャネル・トランザクション層インタフェースの数を制御 します。次のようにサポートされるバーチャル・チャネルの数は、設定に よって異なります。 ハード IP: tratix IV GX デバイスの場合は 1 ~ 2 チャネル、Arria II GX、 Arria II GZ、Cyclone IV GX、および HardCopy IV GX デバイスの場合は 1 チャネル 「0x104」 ソフト IP: 2 チャネル SOPC Builder および Qsys: 1 チャネル None, 1 低いアービトレーション・プライオリティのグループ内のバーチャル・ チャネルの数を指定します。この値よりも小さいバーチャル・チャネル は、低い優先度です。この値以上のバーチャル・チャネルまたはこの値よ り大きいバーチャル・チャネルは優先順位です。詳細については、4‒11 ページの「バーチャル・チャネルのアービトレーションの送信」 を参照してくだ さい。このパラメータは、ポートのバーチャル・チャネル機能レジスタ 1 の読み出し専用の低優先度の拡張されたバーチャル・チャネル・カウン ト・フィールドを設定します。 Auto configure retry buffer size On/Off 最大ペイロード・サイズに基づいて再試行バッファの自動コンフィギュ レーションを制御します。ハード IP の実装については、これは On に設定 されます Retry buffer size 256 Bytes– 16 KBytes (powers of 2) 承認されるまで送信された PCI Express パケットを格納するためのリトラ イバッファ・サイズを設定します。Auto configure retry buffer size をオンに しない場合にのみ、このオプションが使用可能です。ハード IP の再試行 バッファは、Arria II GX または Cyclone IV GX デバイスの場合は 4 K バイト であり、そして Stratix IV GX デバイスの場合は 16K バイトでです。 Maximum retry packets 4–256 (powers of 2) 再試行バッファに格納できるパケットの最大数を設定します。ハード IP の実装の場合、このパラメータは 64 に設定されています。 Number of low-priority VCs 「0x104」 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 3‒22 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 表 3‒12. Buff er Setup パラメータ ( その2 ) パラメータ 値 説明 Low— 必要なトラフィックのための最小限のスペースを提供していま す。受信したリクエストのスループットはシステム・デザインにとっ て重要ではないときにこのオプションを選択します。この設定では、 デバイスのリソース使用率を最小限に抑えることができます。 Desired performance for received requests Maximum, High, Medium, Low Arria II GX および Stratix IV のハード IP が固定 RX バッファのサイズがあ るため、このパラメータの選択肢は、これらの値のサブセットに制限 されています。512 バイト以下の Max payload size については、唯一の 可能な値は Maximum です。1 K バイトまたは 2 K バイトの Max payload size のためにトレードオフがリクエスト対補完に割り当てられているど のくらいのスペースの間でなされなければならない。1 K バイトおよび 2 K バイトの Max payload size では、この設定の下限値を選択すると、 Desired performance for received completions の高い設定を強制します。 この設定を変更すると、ヘッダとデータ・クレジットの読み出し専用 の値が更新されないことに注意してください。 詳細については、Chapter 11, フロー・コントロールを参照してください。 この分析では、選択した Maximum payload size および Desired performance for received completions がフロー・コントロール・クレジッ トの配分にどのように影響するかを説明します。 RX バッファのサイズとフロー・コントロール・クレジットを設定する方 法を指定します。 Maximum— 追加の外部遅延(リンク側とアプリケーション側)を許可 するために追加のスペースを提供し、まだ完全なスループットを実現 できます。 このパラメータの電源よりもより多くのバッファ・スペースが必要な 場合は、より大きなペイロード・サイズとこの設定を選択します。最 大設定はバッファ・サイズを増加させ、わずかに使用されるよりも大 きなペイロード・サイズをサポートするために、ロジック・エレメン ト(LE)数が増加します。これは、ハード IP の実装のデフォルト設定 です。 Desired performance for received completions Maximum, High, Medium, Low Medium— 受信補完のためのスペースの適度な量を提供します。受信コ ンプリーション・トラフィックが完全リンク帯域幅を使用する必要が ない場合、このオプションを選択しますが、時折最大サイズのペイ ロード・パケットの短いバーストを使用すると予想されます。 Low— 受信補完のために最小限のスペースを提供します。受信補完のス ループットはシステム・デザインにとって重要ではないが、このオプ ションを選択します。これは、アプリケーションが PCI Express リンク 上の読み出しリクエストを開始するために期待していなかった場合に 使用されます。このオプションを選択すると、デバイス・リソースの 使用率を最小限に抑えることができます。 ハード IP の実装では、このパラメータは直接調整することはできませ ん。設定される値は Max payload size および Desired performance for received requests パラメータの値から導出されます。 詳細については、Chapter 11, フロー・コントロールを参照してください。 この分析では、選択した Maximum payload size および Desired performance for received completions がフロー・コントロール・クレジッ トの配分にどのように影響するかを説明します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒23 表 3‒12. Buff er Setup パラメータ ( その3 ) パラメータ 値 説明 RX バッファ・サイズの設定に基づいて、各フロー制御タイプのために割 り当てられたクレジットやスペースを示しています。すべてのバーチャ ル・チャネルは同じ RX バッファ・スペースの割り当てを使用します。 RX Buffer Space Allocation (per VC) 表には、ポストされた RX(メモリ書き込み)および完成リクエストのた めのヘッダとデータ・クレジットを示します。また、ノン・ポステッド・ リクエスト(メモリ読み込み)のためのヘッダ・クレジットを示します。 IP コアがノン・ポステッド・データ・クレジットを常に広告し、各ノン・ ポステッド・ヘッダに関連付けることができるデータの dwords の最大数 の余地が自動的にあるので、表がノン・ポステッド・データ・クレジット を示しません。 Read-Only table 完成ヘッダとコンプリーション・データに対して表示される数値は、RX バッファの補完に予約されるスペースを示します。しかし、無限のコンプ リーション・クレジットはエンドポイントに対してリクエストされるよう に、PCI Express リンク上でアドバタイズされます。アプリケーション層 は、RX バッファ・コンプリーション・スペースがオーバーフローしない ことを保証するためにノン・ポステッド・リクエストのレートを管理する 必要があります。ハード IP の RX バッファは、Stratix IV GX デバイスの場 合は 6 K バイト、また Arria II GX デバイスの場合は 4 K バイトに固定され ています。 消費電力管理 Power Management ページには、IP コアのさまざまな電源管理プロパティを設定する ためのパラメータが含まれています。これらのパラメータは、Qsys のデザイン・フ ローでは使用できません。 1 SOPC BuilderフローでのPower ManagementページはSimulation ModeとSummaryタブが 含まれていません。 表 3‒13 には、このページで設定可能なパラメータについて説明します。 表 3‒13. Power Management パラメータ ( その1 ) パラメータ 値 説明 L0 Active State Power Management (ASPM) Idle threshold for L0s entry 2011 年 5 月 256 ns–8,192 ns (in 256 ns increments) Altera Corporation このデザイン・パラメータは、L0 からエントリのアイドル・ス レッショルドを示します。このパラメータは、トランスミッタの 遷移状態を L0 にする前に、リンクがアイドル状態でなければなら ない時間の長さを指定します。PCI Express 仕様は、この時が高々 7 μs であるべきであると述べます。しかし、正確な値は実装固有 です。Arria GX、Arria II GX、Cyclone IV GX、Stratix II GX、または Stratix IV GX の PHY を選択した場合、このパラメータは無効にな り、その最大値に設定されます。外部 PHY を使用する場合は、こ のパラメータの正しい値を決定するための PHY ベンダのドキュメ ントを参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 3‒24 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 表 3‒13. Power Management パラメータ ( その2 ) パラメータ Endpoint L0s acceptable latency 値 < 64 ns – > 4 µs 説明 このデザイン・パラメータは、デバイス機能レジスタの許容エン ドポイント L0 レイテンシを示します。エンドポイントの読み出し 専用の値は、デバイス機能レジスタ(0x084)の許容レイテンシ・ フィールドを L0 設定します。この値は、アプリケーション層が容 認できるレイテンシに基づくべきです。この設定は、ルート・ ポートでディセーブルされます。 Number of fast training sequences (N_FTS) Common clock Gen1: 0–255 Gen2: 0–255 Separate clock Electrical idle exit (EIE) before FTS Gen1: 0–255 Gen2: 0–255 共通のクロック・モードで必要な高速トレーニング・シーケンス の数を示します。必要な高速トレーニング · シーケンス数はリン ク初期化中にリンクのもう一方の端に送信され、また、デバイス 機能レジスタ(0x084)の L0 から出口レイテンシ・フィールドの 計算に使用されます。Arria GX、Arria II GX、Cyclone IV GX、 Stratix II GX、または Stratix IV GX の PHY を選択した場合、このパ ラメータは無効になり、その最大値に設定されます。外部 PHY を 使用する場合は、このパラメータの正しい値を決定するための PHY ベンダのドキュメントを参照してください。 シングル・クロック・モードで必要な高速トレーニング・シーケ ンスの数を示します。必要な高速トレーニング · シーケンス数は リンク初期化中にリンクのもう一方の端に送信され、また、デバ イス機能レジスタ(0x084)の L0 から出口レイテンシ・フィール ドの計算に使用されます。Arria GX、Arria II GX、Cyclone IV GX、 Stratix II GX、または Stratix IV GX の PHY を選択した場合、このパ ラメータは無効になり、その最大値に設定されます。外部 PHY を 使用する場合は、このパラメータの正しい値を決定するための PHY ベンダのドキュメントを参照してください。 N_FTS・シーケンスを送信する前に送信された EIE シンボルの数を 設定します。有効な値は 4 ~ 8 であす。Arria II GX および Stratix IV GX デバイスでディせースブルされる N_FTS は、デバイス特性評価 後に決定されます。 3:0 L1s Active State Power Management (ASPM) Enable L1 ASPM Endpoint L1 acceptable latency On/Off リンク機能レジスタ(0x08C)の L1 アクティブ・ステート・パ ワー・マネジメント・サポート・ビットを設定します。Arria GX、 Arria II GX、Cyclone IV GX、Stratix II GX、または Stratix IV GX の PHY を選択した場合、このオプションはオフにしてディセーブルされ ます。 < 1 µs to > 64 µs この値は、エンドポイントが L1 から L0 状態への遷移に耐えるこ とができる許容レイテンシを示しています。これは、エンドポイ ントの内部バッファの間接的な測定です。この設定は、ルート・ ポートでディセーブルされます。デバイス機能レジスタのエンド ポイント L1 許容レイテンシ・フィールドの読み出し専用の値を設 定します。それは、Enable L1 ASPM オプションが On になっている 他のデバイスに情報を提供します。Arria GX、Arria II GX、 Cyclone IV GX、Stratix II GX、または Stratix IV GX の PHY を選択した 場合、このオプションはオフにしてディセーブルされます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒25 表 3‒13. Power Management パラメータ ( その3 ) パラメータ L1 Exit Latency Common clock L1 Exit Latency Separate clock 値 説明 < 1µs to > 64 µs シングル・クロックの L1 終了レイテンシを示します。デバイス機 能レジスタ(0x084)の L1 終了レイテンシ・フィールドの値を計 算するために使用されます。Arria GX、Arria II GX、Cyclone IV GX、 Stratix II GX、または Stratix IV GX の PHY を選択した場合、このパ ラメータはディセーブルされ、その最大値に設定されています。 外部 PHY を使用する場合は、このパラメータの正しい値を決定す るための PHY ベンダのドキュメントを参照してください。 < 1µs to > 64 µs 共通のクロックの L1 終了レイテンシを示します。デバイス機能レ ジスタ(0x084)の L1 終了レイテンシ・フィールドの値を計算す るために使用されます。Arria GX、Arria II GX、Cyclone IV GX、 Stratix II GX、または Stratix IV GX の PHY を選択した場合、このパ ラメータはディセーブルされ、その最大値に設定されています。 外部 PHY を使用する場合は、このパラメータの正しい値を決定す るための PHY ベンダのドキュメントを参照してください。 Avalon-MM コンフィギュレーション Avalon Configuration ページでは、PCI Express の Avalon-MM ブリッジのパラメータ設定 が含まれています。ブリッジは SOPC Builder および Qsys のデザイン・フローにのみ 適用されます。Qsys デザイン・フローでの Avalon-MM 設定パラメータについて詳し くは、3‒1 ページの「Qsys デザイン・フローのパラメータ」 を参照してください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 3‒26 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 表 3‒14 には、SOPC Builder デザイン・フローで PCI Express 用の IP コンパイラのパラ メータ・エディタ内の Avalon Configuration ページのパラメータについて説明します。 表 3‒14. Avalon コンフィギュレーション設定 ( その1 ) パラメータ 値 説明 アプリケーションのための 1 つまたは 2 つのクロック・ドメイ ン、および PCI Express 用の IP コンパイラのを指定することが できます。シングル・クロック・ドメインが必要とするクロッ ク・クロシング・ロジックを回避するため、単一のクロック・ ドメインは、より高い性能があります。 Avalon Clock Domain Use PCIe core clock Use separate clock Use PCIe core clock— このモードで、PCI Express 用の IP コン パイラはクロック出力の clk125_out または pcie_clk_out を提供して、PCI Express 用の IP コンパイラおよび SOPC Builder のシステム・アプリケーション・クロック二シング ル・クロックとして使用することができます。 Use separate clock— このモードでは、PCI Express 用の IP コ ンパイラのプロトコル層は、内部で生成されたクロックで 動作します。PCI Express 用の IP コンパイラは clk125_out を 輸出しますが、このクロックは、SOPC Builder には表示され なく、SOPC Builder コンポーネントを駆動することはできま せん。PCI Express 用の IP コンパイラの Avalon-MM ブリッ ジ・ロジックは、SOPC Builder を使用して指定された異なる クロックで動作します。 これら二つのモードについて詳しくは、7‒12 ページの「AvalonMM インタフェース ‒ ハード IP およびソフト IP の実装」 に参照し てください。 PCI Express 用の IP コンパイラのコンポーネントはアップスト リームの PCI Express デバイスにリクエストを送信し、着信リ クエストがパイプライン化されているかどうかを指定します。 Requester/Completer—PCI Express の TX リンク上と同様に、 PCI Express RX のリンクをリクエストパケットを受信するよ うにリクエストパケットを送信するための PCI Express 用の IP コンパイラをイネーブルします。 Requester/Completer, Completer-Only, PCIe Peripheral Mode Completer-Only single dword Completer-Only— このモードでは、PCI Express 用の IP コン パイラはリクエストを受信することができますが、アップ ストリームのリクエストを開始することはできません。し かし、それは PCI Express TX リンクにコンプリーション・パ ケットを送信することができます。このモードでは、 Avalon-MM スレーブの TX ポートを削除することにより、ロ ジック使用率を低減することができます。このオプション を選択すると、消費されたデバイスのリソースを最小限に 抑えるために Buffer Setup ページに Desired performance for received completions オプションでの Low を選択する必要が あります。Completer-Only は、ハード IP の実装でのみ使用 可能です。 Completer-Only single dword—Completer-Only モードの非パイ プライン・バージョンです。いつでも、ただ一つの未処理 のリクエストしか許可されません。Completer-Only single dword は Completer-Only よりも少ないリソースを使用してお り、ハード IP の実装にのみ使用可能です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 3‒27 表 3‒14. Avalon コンフィギュレーション設定 ( その2 ) パラメータ 値 説明 ダイナミックまたは固定に AAvalon-MM-to-PCI Express のアドレ ス変換方式を設定します。 Address translation table configuration Dynamic translation table, Fixed translation table Dynamic translation table— コントロール・レジスタ・アクセ ス・スレーブ・ポートを使用してアドレス変換テーブルの 内容を記述するアプリケーション・ソフトウェアをイネー ブルします。オンチップ・メモリではテーブルを格納しま す。Avalon-MM CRA ポートがイネーブルであることが必要で す。未処理のリクエストが完了する前にテーブルのエント リを更新しないようにいくつかのアドレス変換テーブル・ エントリを使用します。 Fixed translation table— システム生成時にハードワイヤー固 定値にアドレス変換テーブルの内容を設定します。 Address translation table size Number of address pages Size of address pages 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 ブリッジがアクセス可能なメモリの PCI Express ベース・アド レスのページ数を指定します。この値は、アドレス変換テーブ ル内のエントリの数に対応しています。Avalon のアドレス範囲 は、個々に PCI Express のアドレスにマッピングされる 1 つ以 上の同じサイズのページに分割されます。アドレス・ページの 数とサイズを選択します。Dynamic translation table 選択した場 合、未処理のリクエストが完了する前にテーブルのエントリを 更新しないようにいくつかのアドレス変換テーブル・エントリ を使用します。 1 MByte–2 GBytes ブリッジによってアクセス各 PCI Express メモリ・セグメント のサイズを指定します。この値は、すべてのアドレス変換エン トリのために共通です。 Fixed Address Translation Table Contents PCIe base address Avalon-MM CRA port 2011 年 5 月 32-bit 64-bit 32-bit Memory 64-bit Memory Type セットの AAvalon-MM-to-PCI Express のアドレス変換のウィンド ウとサイズを設定します。 Enable/Disable Altera Corporation タイプおよびブリッジがアクセス可能なメモリの PCI Express ベース・アドレスを指定します。Avalon-MM アドレスの上位 ビットは、特定のエントリの一部に置き換えられます。テーブ ルを索引付けする Avalon-MM アドレスの MSB は、それぞれの リクエストに使用するエントリを選択します。このテーブルに 入力された下位ビット(アドレス・ページのパラメータのサイ ズで指定されたタイプ)の値は無視されます。それらの下位 ビットが受信されるの Avalon-MM アドレスの下位ビットに置き 換えられます。 特殊なスレーブ・ポートを使用して、Avalon からブリッジ・レ ジスタへのリード / ライトのアクセスを許可します。このオプ ションをディセーブルすると、ブリッジ・レジスタへのリード / ライトにアクセスできません。 PCI Express 用の IP コンパイラのユーザー・ガイド 3‒28 PCI Express 用の IP コンパイラのユーザー・ガイド 第 3 章 : パラメータの設定 MegaWizard Plug-In Manager および SOPC Builder フローでのパラメータ 2011 年 5 月 Altera Corporation 4. IP コア・アーキテクチャ May 2011 EMI_DG_002-5.0 この章では、PCI Express 用の IP コンパイラのアーキテクチャについて説明します。 ハード IP の実装では、Avalon-ST インタフェースまたは Avalon-MM インタフェース、 または Avalon-ST インタフェースを使用して、ルート・ポートを使用してエンドポイ ントをデザインすることができます。ソフト IP の実装では、Avalon-ST、Avalon-MM またはディスクリプタ / データ・インタフェースを使用してエンドポイントをデザイ ンすることができます。すべてのコンフィギュレーションでは、トランザクション 層、データ・リンク層、および以下の機能を持つ PHY 層が含まれています。 ■ Transaction Layer— トランザクション層、アプリケーション層との通信を管理する コンフィギュレーション・スペースが含まれています:送受信チャネル、受信 バッファ、およびフロー・コントロール・クレジット。MegaWizard Plug-In Manager のデザイン・フローからのアプリケーション層のインタフェースは、以 下の 2 つのオプションのいずれかを選択できます。 ■ Avalon-ST インタフェース ■ ディスクリプタ / データ・インタフェース(新しいデザインには推奨されませ ん) SOPC Builder または Qsys フローから Avalon-MM インタフェースを選択することが できます。 ■ ■ 1 データ・リンク層 — 物理層およびトランザクション層の間に位置するデータ・リ ンク層は、パケットの送信を管理し、リンク・レベルでデータ・インテグリティ を維持します。具体的には、データ・リンク層では、次のタスクを実行します。 ■ データ・リンク層 パケットの送受信を管理する ■ すべての CRC(Cyclic Redundancy Code)の値を生成し、受信時にすべての CRC をチェックする ■ 受信した ACK/NAK データ・リンク層のパケットに応じて再試行バッファおよび 再試行メカニズムを管理する ■ データ・リンク層のパケットのためのフロー・コントロール・メカニズムを 初期化して、トランザクション層へ(またはトランザクション層から)のフ ロー・コントロール・クレジットを配線する 物理層 — 物理層は、上位層から受信したリンクと指令から受信したパケットによ る PCI Express リンクのスピード、レーン番号、、およびレーン幅を初期化します。 PCI Express用のIPコンパイラのソフトIPエンドポイントはPCI Express Base Specification 1.0a, or 1.1 に準拠されています。IPCI Express 用の IP コンパイラのハード IP エンドポ イントおよびルート・ポートは PCI Express Base Specification 1.1. 2.0, or 2.1 に準拠され ています。 © 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 Registered PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Feedback Subscribe 4‒2 第 4 章 : IP コア・アーキテクチャ アプリケーション・インタフェース 図 4‒1 には、広義に PCI Express IP コアの各層の役割について説明します。 図 4‒1. PCI Express 層用の IP コンパイラ To Application Layer To Link IP Compiler for PCI Express Tx Tx Port Avalon-ST Interface or With information sent by the application layer, the transaction layer generates a TLP, which includes a header and, optionally, a data payload. The data link layer ensures packet integrity, and adds a sequence number and link cyclic redundancy code (LCRC) check to the packet. The physical layer encodes the packet and transmits it to the receiving device on the other side of the link. The transaction layer disassembles the transaction and transfers data to the application layer in a form that it recognizes. The data link layer verifies the packet's sequence number and checks for errors. The physical layer decodes the packet and transfers it to the data link layer. Avalon-MM Interface Rx Port or Data/Descriptor Interface Application Interfaces Transaction Layer Data Link Layer Rx Physical Layer この章では、PCI Express 用のアルテラ IP コンパイラのアーキテクチャの概要を示し ます。この章には次の項が含まれています。 ■ 「アプリケーション・インタフェース」 ■ 「トランザクション層」 ■ 「データ・リンク層」 ■ 「物理層」 ■ 「PCI Express Avalon-MM ブリッジ」 ■ 「コンプリータ専用の PCI Express エンドポイント・シングル DWord」 アプリケーション・インタフェース 次のアプリケーション・インタフェースを備えた PCI Express 用の IP コンパイラを生 成することができます。 ■ 「Avalon-ST のアプリケーション・インタフェース」 ■ 「Avalon-MM インタフェース」 Appendix B にはディスクリプタ / データのインタフェースを説明します。 Avalon-ST のアプリケーション・インタフェース Avalon-ST インタフェースを指定する MegaWizard Plug-In Manager を使用した PCI Express のルート・ポートまたはエンドポイントの IP コンパイラを作成することがで きます。それは、3 つの PCI Express 層に加えて PCI Express の Avalon-ST のアダプタ・ モジュールが含まれています。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ アプリケーション・インタフェース 4‒3 PCI Express Avalon-ST のアダプタはユーザー・アプリケーションの RX および TX バス に PCI Express トランザクション層パケット(TLP)をマッピングします。図 4‒2 に は、このインタフェースを示します。 図 4‒2. PCI Express Avalon-ST のインタフェース・アダプタ付きの IP コア To Application Layer To Link IP Compiler for PCI Express Avalon-ST Tx Port Avalon-ST Adapter Avalon-ST Rx Port With information sent by the application layer, the transaction layer generates a TLP, which includes a header and, optionally, a data payload. The data link layer ensures packet integrity, and adds a sequence number and link cyclic redundancy code (LCRC) check to the packet. The physical layer encodes the packet and transmits it to the receiving device on the other side of the link. The transaction layer disassembles the transaction and transfers data to the application layer in a form that it recognizes. The data link layer verifies the packet's sequence number and checks for errors. The physical layer decodes the packet and transfers it to the data link layer. Transaction Layer Data Link Layer Tx Rx Physical Layer PCI Express 用のハード IP とソフト IP の実装の両方で、アダプタはユーザー・アプリ ケーションの Avalon-ST インタフェースを PCI Express TLP にマッピングします。ハー ド IP とソフト IP の実装は、以下の点で異なります。 2011 年 5 月 ■ ハード IP の実装は PHYMAC とデータ・リンク層の間に専用のクロック・ドメイン のクロッシング・ロジックが含まれています。ソフト IP の実装では、IP コアの 1 つまたは 2 つのクロック・ドメインを指定することができます。 ■ ハード IP の実装では、コンフィギュレーション・スペース・レジスタにアクセス するには、次のインタフェースが含まれています。 ■ LMI インタフェース ■ 読み出し専用のコンフィギュレーション・スペース・レジスタにアクセスで きるの Avalon-MM PCIe のリコンフィギュレーション・バス ■ また、ルート・ポートのコンフィギュレーションでは、Avalon-ST インタ フェースを使用して、コンフィギュレーション・タイプ TLP でコンフィギュ レーション・スペース・レジスタをアクセスすることができます。タイプ 0 のコンフィギュレーション TLP は RP のコンフィギュレーション・スペース・ レジスタにアクセスするために使用され、タイプ 1 のコンフィギュレーショ ン TLP は、リンクの反対側の典型的にはダウンすとリール・ノードのエンド ポイントのコンフィギュレーション・スペース・レジスタをアクセスするた めに使用されます。 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒4 第 4 章 : IP コア・アーキテクチャ アプリケーション・インタフェース 図 4‒3 および図 4‒4 には、Avalon-ST インタフェースを搭載した PCI Express 用のハー ド IP およびソフト IP の IP コンパイラの実装を示します。 図 4‒3. ユーザー・アプリケーションへの Avalon-ST インタフェースにおける PCI Express ハード IP の実装 Clock & Reset Selection IP Compiler for PCI Express Hard IP Implementation PIPE Transceiver PHYMAC Data Link Layer (DLL) Clock Domain Crossing (CDC) Transaction Layer (TL) Avalon-ST Tx Adapter Configuration Space Side Band LMI LMI Reconfig Block To Application Layer Avalon-ST Rx PCIe Reconfig (Avalon-MM) 図 4‒4. ユーザー・アプリケーションへの Avalon-ST インタフェースにおける PCI Express ソフト IP の実装 Clock & Reset Selection Avalon-ST Rx PIPE Transceiver PHYMAC Data Link Layer (DLL) Adapter Avalon-ST Tx Transaction Layer (TL) Side Band Test PCI Express 用の IP コンパイラのユーザー・ガイド To Application Layer IP Compiler for PCI Express Soft IP Implementation Test_in/Test_out 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ アプリケーション・インタフェース 4‒5 表 4‒1 には、ハード IP とソフト IP の実装のためのアプリケーション・クロック周波 数を提供します。この表が示すように、Avalon-ST インタフェースは、ハード IP の実 装のための 64 ビットまたは 128 ビットのいずれかを指定できます。ソフト IP の実 装の場合、Avalon-ST インタフェースは 64 ビットです。 表 4‒1. アプリケーション・クロック周波数 ハード IP の実装 ̶ Stratix IV GX および Hardcopy IV GX デバイス レーン Gen1 Gen2 62.5 MHz @ 64 ビット (1) or 125 MHz @ 64 ビッ 125 MHz @ 64 ビット ト ×1 ×4 250 MHz @ 64 ビットまた は 125 MHz @ 64 ビット 125 MHz @ 128 ビット ×8 250 MHz @ 64 ビット or 125 MHz @ 128 ビット 250 MHz @ 128 ビット ハード IP の実装 ̶Arria II GX デバイス レーン Gen1 Gen2 ×1 62.5 MHz @ 64 ビット (1) または125 MHz @ 64 ビット — ×4 125 MHz @ 64 ビット — ×8 125 MHz @ 128 ビット — ハード IP の実装 ̶Arria II GZ デバイス レーン Gen1 Gen2 ×1 62.5 MHz @ 64 ビット (1) または125 MHz @ 64 ビット 125 MHz @ 64 ビット ×4 125 MHz @ 64 ビット 125 MHz @ 128 ビット ×8 125 MHz @ 128 ビット — ハード IP の実装 ̶Cyclone IV GX デバイス レーン Gen1 Gen2 ×1 62.5 MHz @ 64 ビットまたは 125 MHz @ 64 ビット — ×2 125 MHz @ 64 ビット — ×4 125 MHz @ 64 ビット — ソフト IP の実装 レーン 2011 年 5 月 Gen1 Gen2 ×1 62.5 MHz @ 64 ビット (2) または 125 MHz @64 ビット — ×4 125 MHz @ 64 ビット — Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒6 第 4 章 : IP コア・アーキテクチャ アプリケーション・インタフェース 表 4‒1. アプリケーション・クロック周波数 ×8 — 250 MHz @ 64 ビット 表 4‒1 の注 : (1) 62.5 MHz のアプリケーション・クロックは、すべてのデバイスでの MegaWizard Plug-In Manager で生 成された Gen1:×1 ハード IP の実装、そして Cyclone IV GX デバイスをターゲットする SOPC Builder で 生成された Gen1:×1 ハード IP の実装で使用可能です。62.5 MHz のアプリケーション・クロックは、 Cyclone IV GX ではないデバイスをターゲットする Qsys および SOPC Builder で生成された Gen1:×1 ハード IP の実装では使用できません。 (2) 62.5 MHz のアプリケーション・クロックは、SOPC Builder で生成された Gen1:×1 ソフト IP で使用可 能ですが、MegaWizard Plug-In Manager で生成された Gen1:×1 ソフト IP の実装では使用できません。 以下の項では、図 4‒3 及び図 4‒4 に示すように、インタフェースの機能を紹介しま す。詳細については、5‒6 ページの「64 ビットまたは 128 ビットの Avalon-ST RX ポート」 お よび 5‒16 ページの「64 ビットまたは 128 ビットの Avalon-ST TX ポート」 を参照してくださ い。 RX データパス RX データパスは、トランザクション層から Avalon-ST インタフェースにデータを転 送します。FIFO は、ストリーミング・インタフェースが RX データを受信するまで、 トランザクション層からその RX データをバッファリングします。アダプタは、自律 的に PCI Express IP コアから受信するすべてのパケットを確認応答します。トランザ クション層のインタフェースの rx_abort と rx_retry 信号が使用されていません。 ノン・ポステッド・リクエストのマスキングは、部分的にサポートされています。 マスキングについて詳しくは、rx_st_mask<n> 信号の説明を参照してください。 TX データパス TX データパスは、アプリケーションの Avalon-ST インタフェースからトランザク ション層にデータを転送します。ハード IP の実装で、FIFO は、トランザクション層 がそれを受け入れるまで Avalon-ST のデータをバッファリングします。 必要な場合、TLP の順序はアプリケーション層で実装する必要があります。TX デー タパスが使用可能なクレジットの数を反映し TX のクレジット(tx_cred)ベクタを 提供します。ノン・ポステッド・リクエストの場合、Avalon-ST のアダプタで係属ク レジットのためにこのベクトルを考慮します。たとえば、tx_cred 値が 5 の場合、ア プリケーション層には、使用可能な 5 クレジットを持っています。補完とポステッ ド・リクエストについては、tx_cred ベクトルは、PCI Express の IP コンパイラのト ランザクション層で使用可能なクレジットを反映します。例えば、補完とポステッ ド・リクエストには tx_cred が 5 である場合、アプリケーションで使用可能なクレ ジットの実際の数は 5(アダプタ内のクレジットの数)です。Avalon-ST のアダプタ で保留になっている補完とポステッド・クレジットのを考慮する必要があります。 アダプタの FIFO からポップされ、トランザクション層に転送されるパケットを追跡 するためにリードとライト FIFO ポインタ、および FIFO エンプティ・フラグを使用す ることができます。 TLP リオーダーリング ノン・ポステッド tx_cred 信号を使用するアプリケーションは、tx_cred より多く のパケットを送信しないようにする必要があります。IP コアは常に PCI Express のフ ロー制御のルールに従い、与信限度に違反している場合、tx_cred 信号自体の動作は 保証されません。tx_cred を評価するときに、アプリケーションがフライトにある TLP を考慮し、tx_cred にまだ反映されていない必要があります。アプリケーション が特別な TLP を発行していない状態から始めて、アプリケーションは、次の手順を 実装することを推奨します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ アプリケーション・インタフェース 4‒7 1. キャリブレーションの場合は、このアプリケーションが TLP を発行しないように 確認してください。 2. クレジットが使用可能であることを示すために tx_cred を待機します。 3. tx_cred によって許可されているように多くの TLP を送信します。たとえば、 tx_cred がノン・ポステッド・ヘッダの 3 クレジットが使用可能であることを示し ている場合、アプリケーションは 3 ノン・ポステッド TLP を送信して停止ます。 このステップでは、アプリケーションは自由に、より多くのクレジットを待機す る前に tx_cred が排気されます。このステップは必須です。 4. Avalon-ST の TX インタフェースを横断する TLP を待機します。 5. 消費されたクレジットを反映する tx_cred には最低 3 クロック・サイクル以上を 待機します。 6. 手順 2 から繰り返します。 1 ノン・ポステッド tx_cred の値は、使用可能なクレジットの少なくともその数がある ことを表しています。表示されたノン・ポステッド・クレジットは、実際に IP コア で得られるものより少ないこともあります。 LMI インタフェース ( ハード IP のみ ) LMI のバスはトランザクション層の PCI Express コンフィギュレーション・スペース へのアクセスを提供します。LMI について詳しくは、5‒41 ページの「LMI の信号 ̶ ハー ド IP 実装」 を参照してください。 PCI Express リコンフィギュレーション・ブロック・インタフェース ( ハード IP のみ ) PCI Express のリコンフィギュレーション・バスを使用すると、動的にコンフィギュ レーション・レジスタに格納された読み出し専用の値を変更することができます。 詳細については、5‒43 ページの「IP コアのリコンフィギュレーション・ブロック信号 ̶ ハー ド IP 実装」 を参照してください。 MSI (Message Signal Interrupt) データパス MSI のデータパスは MSI の境界インクリメンタル・コンパイルのためのレジスタが あります。インタフェースは、トランザクション層のリクエスト・アクノリッジの ハンドシェイク・プロトコルを使用します。 TX/ MSI の同期のために TX データパス FIFO から TX FIFO のエンプティ・フラグを使 用します。IP コアは、このインタフェースを絞るように、送信ブロック・アプリ ケーションは Avalon-ST のアダプタにパケットを駆動する場合、パケットは TX デー タパス FIFO に残っています。特定の TX パケットの後、MSI リクエストを送信する必 要がある場合、IP コアは、TX パケットを受信したときに決定するために TX FIFO エ ンプティ・フラグを使用することができます。 たとえば、すべての TX パケットはトランザクション層に発行された後にのみ、MSI のリクエストを送信する場合があります。あるいは、MSI を同期させるためにトラ フィック・フローを中断することができなければ、TX パケットが MSI リクエストを 発行する前に、トランザクション層のインタフェースがパケットを受信することを 保証するために、FIFO(あるいは FIFO が空になるまで)に書き込まれた後、16 ライ ト(FIFO の深さ)を計算するためにカウンタを使用することができます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒8 第 4 章 : IP コア・アーキテクチャ アプリケーション・インタフェース 図 4‒5 には、Avalon-ST TX および MSI データパスを示します。 図 4‒5. Avalon-ST TX および MSI データパス tx_cred0 for Completion and Posted Requests (from Transaction Layter) tx_cred0 for Non-Posted Requests Non-Posted Credits Registers tx_st_data0 To Application Layer To Transaction Layer FIFO Buffer tx_fifo_empty0 tx_fifo_wrptr0 tx_fifo_rdptr0 app_msi_req インクリメンタル・コンパイル Avalon-ST インタフェースを持つ IP コアは、ユーザー・アプリケーションおよび PCI Express トランザクション層の間に完全にレジスタされたインタフェースを備えてい ます。ソフト IP の実装では、変更内容がアプリケーションを行っている間に、配置 とタイミングを維持するため、Avalon-ST インタフェースを搭載した PCI Express 用の IP コンパイラの配置配線をロック・ダウンするためにインクリメンタル・コンパイ ルを使用することができます。 1 インクリメンタル・コンパイルは、PCI Express 用のハード IP の実装には必要はありま せん。この実装が固定されています。ハード IP の実装 でのすべての信号は完全にレ ジスタされています。 Avalon-MM インタフェース SOPC Builder システムまたは Qsys のデザイン・フローで生成された PCI Express 用の IP コンパイラのバリエーションは PCI Express Avalon-MM ブリッジです:アプリケー ション層への Avalon-MM インタフェースを搭載した PCI Express エンドポイント。 PHYMAC とデータ・リンク層のハード IP の実装では、Avalon-MM プロトコル用に最 適化されたトランザクション層のソフト IP の実装と通信します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ トランザクション層 4‒9 図 4‒6 には、Avalon-MM インタフェースを備えた PCI Express 用の IP コンパイラのブ ロック図を示します。 図 4‒6. Avalon-MM インタフェース付きの PCI Express 用の IP コンパイラ To Application Layer To Link IP Compiler for PCI Express Avalon-MM Master Port Avalon-MM Slave Port (Control Register Access) Avalon-MM Slave Port SOPC Builder or Qsys component controls the upstream PCI Express devices. SOPC Builder or Qsys component controls access to internal control and status registers. Root port controls the downstream SOPC Builder or Qsys component. IP Compiler for PCI Express Avalon-MM Interface With information sent by the application layer, the transaction layer generates a TLP, which includes a header and, optionally, a data payload. The data link layer ensures packet integrity, and adds a sequence number and link cyclic redundancy code (LCRC) check to the packet. The physical layer encodes the packet and transmits it to the receiving device on the other side of the link. The transaction layer disassembles the transaction and transfers data to the application layer in a form that it recognizes. The data link layer verifies the packet's sequence number and checks for errors. The physical layer decodes the packet and transfers it to the data link layer. Transaction Layer Data Link Layer Tx Rx Physical Layer PCI Express Avalon-MM ブリッジは、システム・インタコネクト・ファブリック全体で PCI Express トランザクション層と他の SOPC Builder コンポーネント間のインタフェー スを提供します。 トランザクション層 トランザクション層、アプリケーション層とデータ・リンク層の間に位置します。 これは、トランザクション層のパケットを生成し、受信します。図 4‒7 には、2 つの 初期化バーチャル・チャネル(VC)を持つコンポーネントのトランザクション層を 示します。トランザクション層は、図 4‒7 における垂直括弧で示されている 3 つの一 般的なサブブロックが含まれています:送信データパス、コンフィギュレーション・ スペース、および受信データパス。 1 1 つまたは 2 つのバーチャル・チャネルを含めるように Stratix IV GX の IP コアをパラ メータ化することができます。Arria II GX および Cyclone IV GX の実装は、シングルの バーチャル・チャネルが含まれています。 次のステップを実行して、受信データパスを介してトランザクションをトレースし ます。 1. トランザクション層はデータ・リンク層から TLP を受信します。 2. コンフィギュレーション・スペースはトランザクション層のパケットが整形され ているかどうかを判断し、トラフィック・クラス(TC)/ バーチャル・チャネル (VC)のマッピングに基づいて適切なバーチャル・チャネルにパケットを転送し ます。 3. 各バーチャル・チャネル内で、トランザクション層のパケット(ポステッド、ノ ン・ポステッド、またはコンプリーション・トランザクション)のトランザク ションの種類に応じて、受信バッファの特定の部分に格納されています。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒10 第 4 章 : IP コア・アーキテクチャ トランザクション層 4. トランザクション層のパケットの FIFO ブロックは、バッファリングされたトラン ザクション層のパケットのアドレスを格納します。 5. シーケンシングの受信およびリオーダリング・ブロックは、必要に応じて、トラ ンザクション層のパケットの順番待ちリストをシャッフルして、トランザクショ ン層のパケットの FIFO ブロックから優先トランザクション層のパケットのアドレ スを取得し、アプリケーション層にトランザクション層のパケットの転送を開始 します。 図 4‒7. トランザクション層のアーキテクチャ:専用バーチャル・チャネルごとの受信バッファ Towards Application Layer Towards Data Link Layer Interface Established per Virtual Channel Interface Established per Component Virtual Channel 1 Tx1 Data Tx1 Descriptor Tx1 Control Tx Transaction Layer Packet Description & Data Tx1 Request Sequencing Flow Control Check & Reordering Rx Flow Control Credits Virtual Channel 0 Tx0 Data Transmit Data Path Tx0 Descriptor Virtual Channel Arbitration & Tx Sequencing Tx0 Control Tx0 Request Sequencing Flow Control Check & Reordering Configuration Space Type 0 Configuration Space Virtual Channel 0 Receive Buffer Rx0 Data Rx0 Descriptor Posted & Completion Non-Posted Rx0 Control & Status Transaction Layer Packet FIFO Rx0 Sequencing & Reordering Flow Control Update Receive Data Path Virtual Channel 1 Receive Buffer Rx1 Data Tx Flow Control Credits Rx1 Descriptor Posted & Completion Non-Posted Rx1 Control & Status Rx1 Sequencing & Reordering PCI Express 用の IP コンパイラのユーザー・ガイド Transaction Layer Packet FIFO Flow Control Update Rx Transaction Layer Packet 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ トランザクション層 4‒11 次のステップを実行して、データパスの送信を介してトランザクションをトレース します。 1. IP コアは十分なフロー・コントロール・クレジットがトランザクションの特定の タイプのために存在することをアプリケーション層に通知します。IP コアはソフ ト IP の実装に tx_cred[21:0] を使用しますが、ハード IP の実装に tx_cred[35:0] を使用します。この情報を無視することもできます。 2. アプリケーション層は、トランザクション層のパケットの送信をリクエストしま す。アプリケーション層は、PCI Express トランザクションを提供する必要があ り、連続したサイクルで全体のデータ・ペイロードを提供するために準備しなけ ればなりません。 3. IP コアは十分なフロー・コントロール・クレジットが存在することを確認し、そ してリクエストをを確認または延期します。 4. アプリケーション層は、トランザクション層のパケットを転送します。トランザ クション層は、バーチャル・チャネルを調停し、データ・リンク層に優先的にト ランザクション層のパケットを転送します。 バーチャル・チャネルのアービトレーションの送信 Stratix IV GX デバイスの場合、PCI Express 用の IP コンパイラの MegaWizard Plug-In の デザイン・フローでは、PCI Express Base Specification 1.0a、1.1、または 2.0 の第 6 章で 指定されている高および低優先順位のバーチャル・チャネルを指定することができ ます。バーチャル・チャネルの数を指定するには、Parameter Settings タブからアク セスできる Buffer Setup ページの設定を使用することができます。 コンフィギュレーション・スペース コンフィギュレーション・スペースは、次のコンフィギュレーション・レジスタお よび関連する機能を実装しています: ■ Header Type 0 Configuration Space for Endpoints ■ Header Type 1 Configuration Space for Root Ports ■ PCI Power Management Capability Structure ■ Message Signaled Interrupt (MSI) Capability Structure ■ Message Signaled Interrupt–X (MSI–X) Capability Structure ■ PCI Express Capability Structure ■ Virtual Channel Capabilities コンフィギュレーション・スペースは、スロットの電力制限メッセージを除き、 ルート・コンプレックスの方向のフローでコンフィギュレーション・リクエストか らすべてのメッセージ(PME#、INT、エラー、スロットの電力制限など) 、MSI リク エスト、およびコンプリーション・パケットを生成します(ここで、PCI Express リ ンクの方向にダウンストリーム・ポートで生成される)。PCI Express Base Specification 1.0a、1.1、または 2.0 で説明したようにすべてのそのように、PCI Express コンフィ ギュレーション・スペースのコンテンツに依存しています。 f これらのレジスタについて詳しくは、PCI Express Base Specification 1.0a, 1.1, または 2.0 の 6‒1 ページの「コンフィギュレーション・スペース・レジスタの内容」 または第 7 章を参照 してください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒12 第 4 章 : IP コア・アーキテクチャ データ・リンク層 データ・リンク層 データ・リンク層、トランザクション層と物理層の間に位置されています。これは、 パケットの整合性を維持するため、そして PCI Express のリンク・レベル(インター コネクト・ファブリック内のトランザクション層パケットの送信によりコンポーネ ント間のコミュニケーションではなく)での通信(データ・リンク層のパケット送 信による)を担当しています。 データ・リンク層では、次の機能があります。 ■ 以下の機能のために使用されるデータ・リンク層パケットの受信と送信を介して のリンク管理: ■ 各バーチャル・チャネルごとにフロー・コントロール・クレジットを初期化 および更新する ■ 各バーチャル・チャネルごとにフロー・コントロール・クレジットを初期化 および更新する ■ ACK/NACK のパケットを送受信するのため ■ トランザクション層パケットとデータ・リンク層のパケットのための CRC の生成 とチェックを介したデータの整合性 ■ 再試行バッファを使用する NAK データ・リンク層パケット再受信の場合でのトラ ンザクション層パケット ■ 再試行バッファの管理 ■ 物理層の LTSSM を通じてエラーの場合のリンク・リトレーニング・リクエスト 図 4‒8 には、データ・リンク層のアーキテクチャを示します。 図 4‒8. データ・リンク層 To Physical Layer To Transaction Layer Tx Transaction Layer Packet Description & Data Transaction Layer Packet Generator Retry Buffer Tx Packets DLLP Generator Transmit Data Path Tx Arbitration Ack/Nack Packets Configuration Space Tx Flow Control Credits Rx Flow Control Credits Transaction Layer Packet Checker Power Management Function Data Link Control Control & Management & Status State Machine DLLP Checker Receive Data Path Rx Packets Rx Transation Layer Packet Description & Data PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ データ・リンク層 4‒13 データ・リンク層では、以下のサブブロックがあります。 ■ Data Link Control and Management State Machine— このステート・マシンは、物理層 の LTSSM ステート・マシンと同期され、また、コンフィギュレーション・ス ペース・レジスタに接続されています。これは、コンフィギュレーション・ス ペースへのリンクおよびバーチャル・チャネル・フロー・コントロール・クレ ジットとレポート・ステータスを初期化します。(バーチャル・チャネル 0 は、 物理的にイネーブルされて、ソフトウェアがそれを可能にすると 2 番目のバー チャル・チャネルとしてデフォルトで初期化されます。) ■ Power Management— この機能は、低電力モードに入るようにハンドシェイクを処 理します。このような遷移は、コンフィギュレーション・スペースおよび受信 PM DLLP 内のレジスタ値に基づいています。 ■ Data Link Layer Packet Generator and Checker— このブロックは、データ・リンク層パ ケットの 16 ビット CRC に関連付けられ、送信たパケットの整合性を維持してい ます。 ■ Transaction Layer Packet Generator— このブロックは、シーケンス番号と 32 ビット CRC を生成する送信パケットを生成します。パケットは、内部ストレージ用の再 試行バッファに送信されます。再試行モードでは、トランザクション層パケッ ト・ジェネレータは、再試行バッファからパケットを受信し、送信パケットの CRC を生成します。 ■ Retry Buffer— 再試行バッファは、トランザクション層パケットを格納して、NAK DLLP 受信の場合にすべての未確認応答パケットを再送信します。ACK DLLP 受信 の場合、再試行バッファはすべて確認応答されたパケットを破棄します。 ■ ACK/NAK Packets—ACK/NAK ブロックは、ACK/NAK データ・リンク層パケットを処理 し、送信されたパケットのシーケンス番号を生成します。 ■ Transaction Layer Packet Checker— このブロックは、受信したトランザクション層パ ケットの整合性をチェックし、ACK/NAK データ・リンク層パケットの送信リクエ ストを生成します。 ■ TX Arbitration— このブロックは、次の順序で優先順位を基づかせ、トランザク ションを調停します。 1.FC データ・リンク層パケットを初期化する 2.ACK/NAK データ・リンク層パケット(高い優先度) 3.FC データ・リンク層パケット(高い優先度)を更新する 4.PM データ・リンク層パケット 5.再試行バッファ・トランザクション層パケット 6.トランザクション層パケット 7.FC データ・リンク層パケット(低い優先度)を更新する 8.ACK/NAK FC データ・リンク層パケット(低い優先度) 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒14 第 4 章 : IP コア・アーキテクチャ 物理層 物理層 物理層は、IP コアの最低レベルです。それはリンクに最も近い層です。これは、エ ンコードして、リンクを介してパケットを送信します。また、受信パケットを送信 してデコードします。物理層は、Gen1 の実装のために 2.5 Gbps で動作する高速 SERDES インタフェースを介してリンクに接続しますが、2.5 または 5.0 Gbps でリン クに接続します。5.0 Gbps の Gen2 レートはハード IP の実装にのみサポートされてい ます。 物理層は、次の操作を担当します。 ■ ■ ■ リンクの初期化 スクランブルおよびディスクランブル、また 8B/10B レーンあたり 2.5 Gbps の (Gen1)または 5.0 Gbps(Gen2)の 8B/10B の符号化と復号化 データをシリアル化およディシリアル化 ハード IP の実装 は、次の追加機能が含まれています。 ■ PIPE2.0 インタフェース Gen1/Gen2:8 ビット @250/500 MHz(固定幅、可変クロッ ク) ■ 自動速度ネゴシエーション(Gen2) ■ トレーニング・シーケンスの送信および復号化 ■ ハードウェア自律速度制御 ■ 自動レーン反転 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ 物理層 4‒15 物理層のアーキテクチャ 図 4‒9 は、物理層のアーキテクチャを示しています。 図 4‒9. 物理層 To Data Link Layer To Link MAC Layer PIPE Interface PHY layer Lane n Lane 0 8B10B Encoder Scrambler SKIP Generation PIPE Emulation Logic LTSSM State Machine Lane n 8B10B Decoder Descrambler Multilane Deskew Rx Packets Link Serializer for an x8 Link Control & Status Elastic Buffer Rx MAC Lane Lane 0 8B10B Decoder Descrambler Elastic Buffer Device Transceiver (per Lane) with 2.5 or 5.0 Gbps SERDES & PLL Link Serializer for an x8 Link Tx Packets Tx+ / Tx- 8B10B Encoder Scrambler Transmit Data Path Tx+ / Tx- Rx+ / Rx- Receive Data Path Rx+ / Rx- Rx MAC Lane 物理層は、2 層(図 4‒9 で水平に囲まれた)に PIPE インタフェース仕様によって細 分類されます。 ■ Media Access Controller (MAC) Layer—MAC 層は、Link Training および Status State Machine(LTSSM)とスクランブル / デスクランブルおよびマルチレーン・デス キュー機能が含まれています。 ■ PHY Layer—PHY 層は、8B/10B のエンコード / デコード機能、弾性バッファリング、 およびシリアライゼーション / デシリアライゼーション機能が含まれています。 物理層は、デジタルとアナログの両方の要素を統合しています。Intel は、PHY から MAC を分離するために PIPE インタフェースをデザインしました。IP コアは他の PIPE 準拠外部 PHY デバイスとの統合を可能にする PIPE インタフェースに準拠していま す。 Arria II GX、Arria II GZ、Cyclone IV GX、HardCopy IV GX、Stratix II GX デバイス、または Stratix IV GX デバイスをターゲットとする場合は、パラメータ・エディタで設定した パラメータに応じて、IP コアは自動的に完全な PHY レイヤのインスタンスを作成で きます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒16 第 4 章 : IP コア・アーキテクチャ 物理層 PHYMAC ブロックは、サブブロックの 4 メインに分かれています。 ■ ■ ■ MAC Lane— 受信と送信パスの両方は、このブロックを使用します。 ■ 受信側では、ブロックは物理層パケット(PLP)をデコードして、LTSSM が現 在の状態に入ってからの受信される TS1/TS2 のタイプおよび受信される TS1 の数を LTSSM にレポートします。また、LTSSM は FTSSKIP および IDL のオー ダ・セットの受信、および 8 つの連続した D0.0 シンボルの受信をレポートし ます。 ■ 送信側では、ブロックはデータ・リンク層と LTSTX サブブロックからのデータ を多重化します。また、レーン番号および LTSSM は、初期化時にレーン数お よび強制 PAD の値を含む固有の情報を追加します。 LTSSM— このブロックは、各レーン上に受信されるものおよび送信されるものを 追跡する LTSSM とロジックを実装します。 ■ 送信側では、特定の物理層パケットを生成するには、グローバル単位および 車線制御ビットの両方をアサートすることによって、各 MAC レーンのサブブ ロックと、LTSTX サブブロックと交信します。 ■ 受信パスでは、それは各 MAC レーンのサブブロックによってレポートされた PLP を受信します。また、マルチレーン・デスキュー・ブロックと TX アライ メント・サブブロックがリカバリまたは低消費電力ステートに移行する前に 必要な遅延をイネーブルします。上位層は、単純なリクエストを通じてリカ バリ、ディセーブル、ホット・リセットまたは低消費電力ステートにリクエ スト / アクノリッジ・プロトコルにこのブロックを指示することができます。 このブロックは、より高い層に物理層の状態をレポートします。 LTSTX (Ordered Set and SKP Generation)— このサブブロックは、物理層パケット (PLP)を生成します。それは LTSSM ブロックから制御信号を受信して、コアの 各レーンの PLP を生成します。それは対応する TS1/TS2 フィールド内のリンクま たはレーン番号のすべてのレーンと PAD シンボルの同じ PLP を生成します。 ブロックには、事前定義された PIPE の信号をアサートし、その結果を待つこと で、PCS 副層にレシーバ検出操作を処理します。また、すべての事前定義された タイムスロットで SKIP オーダ・セットを生成し、パケットの途中で SKIP オー ダ・セットの挿入を防止するために TX アライメント・ブロックと交信します。 ■ Deskew— このサブブロックは、初期化レーン数と 64 ビット・データ・パス間での マルチレーン・デスキュー機能および RX アライメントを実行します。 マルチレーン・デスキューはシンボルを格納するために、各レーンの 8 ワードの FIFO を実装します。各シンボルは 8 データ・ビットと 1 つの制御ビットが含ま れています。FTS、COM、および SKP シンボルは FIFO によって破棄され、PAD と IDL は D0.0 データで置き換えられます。すべての 8 つの FIFO はデータが含まれ ている場合は、リードが発生する可能性があります。 マルチレーン・レーン・デスキュー・ブロックが最初にイネーブルされると、各 FIFO は最初の COM が検出された後の書き込みを開始します。すべてのレーンが 7 クロック・サイクル後に COM のシンボルを検出していない場合、それらがリ セットされ、再同期プロセスが再起動します。そうでないと、他の RX アライメ ント機能は、データ・リンク層に送信される 64 ビット・データ・ワードを再作 成します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ 4‒17 リバース・パラレル・ループバック Arria II GX、Arria II GZ、Cyclone IV GX、および Stratix IV GX デバイスは、PCI Express 用 の IP コンパイラの ハード IP の実装では、PCI Express ルート・コンプレックスから PCI Express のエンドポイント・リンクの実装のための IP コンパイラをテストするた めに使用可能な RPL のパスをサポートしています。このパスがイネーブルされた場 合、PCI Express 用 IP コンパイラのエンドポイントが PCI Express リンクの上で受信し たデータは、通常通り、RX PMA および RX PCS 内のワード・アライナーとレート・ マッチング FIFO バッファによって通過されます。レート・マッチング FIFO バッファ から、それは、次の 2 つのパスの両方に沿って渡します。 ■ PCI Express ハード IP ブロックの IP コンパイラを通じて通常のデータ・パス。 ■ PCI Express リンクに TX PMA ブロックと外にリバース・パラレル・ループバック・ パス。TX PMA への入力パスは、TX PMA が TX の PCS からまたはリバース・パラレ ル・ループバック・パスからのデータを受信するかどうかを制御するマルチプレ クサによってゲートされる。 f リバース・パラレル・ループバック・モードと例示的ブロック図について詳しくは、 「Arria II デバイス・ハンドブック」の 「 Transceiver Architecture in Arria II デバイス」 の 章、「Cyclone IV デバイス・ハンドブック」の 「Cyclone IV トランシーバ・アーキテク チャ」 の章、または「Stratix IV デバイス・ハンドブック」の「Stratix IV ランシーバ・ アーキテクチャ」を参照してください コンフィギュレーションおよびテストのためにリバース・パラレル・ループバック・ パスを使用する方法について詳しくは、18‒4 ページの「リンクおよびトランシーバのテス ト」 を参照してください。 PCI Express Avalon-MM ブリッジ SOPC Builder または Qsys のデザイン・フローを使用してコンフィギュレーションさ れた PCI Express 用の IP コンパイラは、システム・インタコネクト・ファブリックへ の PCI Express リンクを接続するための PCI Express Avalon-MM ブリッジ・モジュール の IP コンパイラを使用します。ブリッジは、SOPC Builder または Qsys のコンポーネ ントを含む PCI Express エンドポイントの設計を容易にします。 フル機能を備えた PCI Express Avalon-MM ブリッジは、次の 3 つの Avalon-MM ポート を提供します:バースト・マスタ、オプションのバースト・スレーブ、およびオプ ションのノン・バースト・スレーブ。PCI Express Avalon-MM ブリッジは、次の 3 つの モジュールから構成されています。 2011 年 5 月 ■ TX Slave Module— このオプションの 64 ビット・バーストの Avalon-MM ダイナミッ ク・アドレッシング・スレーブ・ポートは、システム・インタコネクト・ファブ リックから PCI Express リンクにサイズが 4 バイトまでのリードおよびライト・リ クエストを伝播します。ブリッジは、インターコネクト・ファブリックから PCI Express のリクエストパケットへのリクエストに変換します。 ■ RX Master Module— この 64 ビットのバーストの Avalon-MM マスタ・ポートは、シス テム・インタコネクト・ファブリックへのリードおよびライト・リクエストの バーストに変換し、PCI Express のリクエストを伝播します。 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒18 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ ■ Control Register Access (CRA) Slave Module— このオプションの32ビットAvalon-MMダ イナミック・アドレッシング・スレーブ・ポートは、アップストリームの PCI Express デバイスと外部 Avalon-MM マスタから内部的なコントロールとステータ ス・レジスタへのアクセスを提供します。MSI または動的アドレス変換を使用す る実装では、このポートが必要になります。 図 4‒10 には、フル機能を備えた PPCI Express Avalon-MM ブリッジのブロック図を示し ます。 図 4‒10. PCI Express Avalon-MM ブリッジ PCI Express MegaCore Function PCI Express Avalon-MM Bridge Avalon Clock Domain Control Register Access Slave PCI Express Clock Domain Control & Status Reg (CSR) Sync MSI or Legacy Interrupt Generator CRA Slave Module PCI Express Tx Controller Avalon-MM Tx Read Response Tx Slave Module Physical Layer Clock Domain Crossing Data Link Layer System Interconnect Fabric Avalon-MM Tx Slave Clock Domain Boundary Transaction Layer Address Translator PCI Link Address Translator Avalon-MM Rx Master Clock Domain Crossing PCI Express Rx Controller Avalon-MM Rx Read Response Rx Master Module PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ 4‒19 PCI Express Avalon-MM ブリッジは、次の TLP をサポートしています。 1 ■ メモリ・ライト・リクエスト ■ 最大 512 バイトまでの受信アップストリーム・メモリ・リード・リクエスト ■ 最大 256 バイトまでの送信アップストリーム・メモリ・リード・リクエスト ■ 補完 PCI Express Avalon-MM ブリッジは、ネイティブ PCI Express エンドポイントをサポート していますが、レガシーの PCI Express エンドポイントをサポートしていません。し たがって、ブリッジは I/O スペース BAR をサポートしていないし、また I/O スペース リクエストを生成することができません。 ブリッジは、次の特性があります。 ■ タイプ 0 とタイプ 1 ベンダー定義の受信メッセージは破棄されます ■ Completion-to-a-flush リクエストが生成されますが、システム・インタコネク ト・ファブリックには反映されません トランザクション層の各 PCI Express ベース・アドレス・レジスタ(BAR)は、特定 の固定の Avalon-MM アドレス範囲にマップします。RX マスタ・ポートに接続された 各種の Avalon-MM スレーブにマップするために別個のバーを使用することができま す。 以下の項では、次の動作モードについて説明します。 ■ 「Avalon-MM-to-PCI Express ライト・リクエスト」 ■ 「Avalon-MM-to-PCI Express アップストリームのリード・リクエスト」 ■ 「PCI Express-to-Avalon-MM リード・コンプリーション」 ■ 「PCI Express-to-Avalon-MM ダウンストリーム・ライト・リクエスト」 ■ 「PCI Express-to-Avalon-MM ダウンストリームのびリード・リクエスト」 ■ 「PCI Express-to-Avalon-MM リード・コンプリーション」 ■ 「Avalon-MM-to-PCI Express のアドレス変換」 ■ 「PCI Express 割り込みの生成」 ■ 「Avalon-MM 割り込みの生成」 Avalon-MM-to-PCI Express ライト・リクエスト SOPC Builder で生成された PCI Express Avalon-MM ブリッジは、Avalon-MM バーストの ライト・リクエストが Avalon-MM TX のスレーブ・インタフェースでの最大 4 K バイ トまでのバースト・サイズを受け入れます。Qsys が生成された PCI Express Avalon-MM ブリッジは、Avalon-MM バーストのライト・リクエストの最大 512 バイトまでのバー スト・サイズを受け入れます。 PCI Express Avalon-MM ブリッジはアドレス変換のコンフィギュレーション、リクエス ト・アドレス、および最大ペイロード・サイズに基づいて、32 ビットまたは 64 ビッ ト・アドレスを持つ 1 つ以上の PCI Express ライト・パケットにライト・リクエスト に変換します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒20 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ Avalon-MM ライト・リクエストは、PCI Express のアドレス・テーブルのパラメータで 定義された範囲内の任意のアドレスで開始することができます。ブリッジは、着信 バーストが少なくとも 2 つの独立した PCI Express パケットに 4 K バイト境界を越え るライトを分割します。また、ブリッジは必要に応じてパケットを分割することに より、PCI Express の側の最大ペイロードのルート複雑な要件を考慮します。 ブリッジは、次のバイト・イネーブルのルールに付着する 1 より大きいのバースト・ カウントとの Avalon-MM ライト・リクエストを必要とします。 1 ■ Avalon-MM のバイト・イネーブルは、バーストの最初の qword にアサートする必要 があります。 ■ バイト・イネーブルをディアサートするまで、後続のすべてのバイト・イネーブ ルをアサートする必要があります。 ■ Avalon-MM バイト・イネーブルのバーストの最後の qword だけディアサートしま す。 PCI Express のスループットを改善するために、アルテラはどのバイト・イネーブル制 限なしの Avalon-MM バースト・マスタを使用することを推奨します。 Avalon-MM-to-PCI Express アップストリームのリード・リクエスト PCI Express Avalon-MM ブリッジは、32 ビットまたは 64 ビットのアドレスで PCI Express リード・リクエストにシステム・インタコネクト・ファブリックからリー ド・リクエストに変換するアドレス変換のコンフィギュレーション、リクエスト・ アドレス、および最大リード・サイズに基づいて対処しています。 SOPC Builder で生成された PCI Express Avalon-MM ブリッジの Avalon-MM TX のスレー ブ・インタフェースは、アドレスに送信された最大 4 K バイトまでのバースト・サ イズでリード・リクエストを受信することができます。また、Qsys が生成された PCI Express Avalon-MM ブリッジの Avalon-MM TX のスレーブ・インタフェースは、ア ドレスに送信された最大 512 バイトまでのバースト・サイズでリード・リクエスト を受信することができます。ただし、ブリッジは最大 256 バイトまでの PCI Express リンクに送信されたリード・リクエストが制限されます。また、ブリッジは 4 K バ イトのアドレス境界をまたぐから各 PCI Express リード・リクエストパケットを防ぐ 必要があります。したがって、ブリッジはアドレスとリード・リクエストのサイズ に基づいて、複数の PCI Express リード・パケットへの Avalon-MM リード・リクエス トを分割することがあります。 1 より大きいバースト・カウント付きの Avalon-MM のリード・リクエストの場合は、 すべてのバイトがアサートされる必要があります。1 のバースト・カウント付きの Avalon-MM リード・リクエストに対してバイト・イネーブルに制限はありません。無 効の Avalon-MM リクエストは中断ステータス・セットを備えた完成になり、システ ム機能性に悪影響を及ぼすことができます。無効のリクエストの一例は正しくない アドレスを備えた一つです。 PCI Express-to-Avalon-MM リード・コンプリーション PCI Express Avalon-MM ブリッジは、発行の順序で開始するの Avalon-MM マスタにリー ド・コンプリーション・パケットをリターンします。ブリッジは複数またアウト・ オブ・オーダのコンプリーション・パケットをサポートしています。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ 4‒21 PCI Express-to-Avalon-MM ダウンストリーム・ライト・リクエスト PCI Express Avalon-MM ブリッジは、PCI Express のライト・リクエストを受信すると き、それらがシステム・インタコネクト・ファブリックに送信する前にライト・リ クエストのバーストに変換します。ブリッジは、IP コアのパラメータ設定時に設定 した BAR ヒット情報およびアドレス変換テーブルの値に基づく Avalon-MM アドレ ス・スペースに PCI Express のアドレスを変換します。不正な形式のライト・パケッ トは廃棄されるため、Avalon-MM インタフェースには表示されません。 ダウンストリームのライトおよびリード・リクエストのために複数のバイト・イ ネーブルがアサートされた場合、バイト・レーンは隣接している必要があります。 また、バイトがリードおよびライト・リクエストのサイズに合わせなければなりま せん。 PCI Express-to-Avalon-MM ダウンストリームのびリード・リクエスト PCI Express Avalon-MM ブリッジは、バーストが最大バースト・サイズの 512 バイトで バースト・リードとしてのシステム・インタコネクト・ファブリックに PCI Express リード・パケットを送信します。ブリッジは、BAR ヒット情報とアドレス変換ルッ クアップ・テーブルの値に基づいて、Avalon-MM アドレス・スペースに PCI Express のアドレスを変換します。アドレス変換ルックアップ・テーブルの値はユーザー設 定可能です。サポートされていないリード・リクエストはコンプリータ異常終了応 答を生成します。 1 Avalon-ST インタフェースを使用した PCI Express 用の IP コンパイラのバリエーション は、指定された Maximum Payload Size までバースト・リードを処理できます。 たとえば、表 4‒2 には、ビット・データのためのバイト・イネーブルをリストしま す。 表 4‒2. 有効なバイト・イネーブルのコンフィギュレーション バイト・イネーブ ルの値 説明 4’b1111 フル 32 ビットの書き込み 4’b0011 下位 2 バイトの書き込み 4’b1100 上位 2 バイトの書き込み 4’b0001 バイト 0 のみの書き込み 4’b0010 バイト 1 のみの書き込み 4’b0100 バイト 2 のみの書き込み 4’b1000 バイト 3 のみの書き込み バースト・モードで、PCI Express 用の IP コンパイラは、連続したデータ・バースト に対応するバイト・イネーブルの値だけがサポートされています。32 ビットのデー タ幅の例については、最初のデータ・フェーズで有効な値は 4'b1111、4'b1100、と 4'b1000 であり、バーストの最終データ・フェーズで有効な値は 4'b1111、4'b0011、 と 4'b0001 です。バースト内の中間データ・フェーズはただのバイト・イネーブルの 値の 4'b1111 を持つことができます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒22 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ Avalon-MM-to-PCI Express リード・コンプリーション PCI Express Avalon-MM ブリッジは、外部の Avalon-MM スレーブからの PCI Express コ ンプリーション・パケットにリード応答データを変換して、トランザクション層に 送信します。 単一のリード・リクエストは、Maximum Payload Size および受信したリード・リクエ ストのサイズに基づいて、複数のコンプリーション・パケットを生成することがあ ります。リードは 512 バイトですが、Maximum Payload Size は 128 バイトである場 合、ブリッジは 128 バイトごとに 4 つのコンプリーション・パケットを生成します。 ブリッジは、out-of-order コンプリーションを生成しません。PCI Express 用の IP コン パイラのパラメータ・エディタの Buffer Setup ページに最大ペイロード・サイズ・パ ラメーターを指定することができます。3‒20 ページの「バッファ設定」 を参照してくだ さい。 PCI Express-to-Avalon-MM のアドレス変換 リクエストがシステム・インタコネクト・ファブリックに送信される前に受信した リクエストパケットの PCI Express アドレスは、Avalon-MM アドレスに変換されます。 このアドレスは、ビット PCI Express アドレスの特定の変換テーブル・エントリの値 に MSB を置き換えることにより、変換を続行しますが、LSB ビットは変更されてい ません。置き換える MSB ビット数は、RX マスタ・モジュール・ポートに接続された すべての Avalon-MM スレーブの合計メモリ割り当てから計算されます。アドレス変 換テーブル内の 6 つの可能なアドレス変換エントリは手動でコンフィギュレーショ ンされる、または SOPC Builder や Qsys によってコンフィギュレーションすることが できます。各エントリには、PCI Express のバーに対応します。リクエストヘッダか ら BAR のヒット情報がアドレス変換に使用されている項目を決定します。 図 4‒11 には、PCI Express Avalon-MM ブリッジのアドレス変換プロセスを示していま す。 図 4‒11. PCI Express Avalon-MM ブリッジのアドレス 変換 (1) Low address bits unchanged (BAR-specific number of bits) PCI Express Address High P-1 Avalon-MM Address Low N N-1 High 0 M-1 Low N N-1 0 Hard-coded BAR-specific Avalon-MM Addresses BAR0 (or 0:1) BAR1 BAR2 Matched BAR selects Avalon-MM address Avalon Address B0 Avalon Address B1 Avalon Address B2 BAR3 Avalon Address B3 BAR4 Avalon Address B4 BAR5 Avalon Address B5 BAR-specific Number of High Avalon-MM Bits Inside IP Compiler for PCI Express 図 4‒11 の注 : (1) N は(BAR 特定)ビットのパス・スルーの数です。M は、Avalon-MM アドレス・ビットの数です。P は、PCI Express のアドレス・ ビット(32 または 64)の数です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ 4‒23 Avalon-MM RX マスタ・モジュールのポートは、8 バイトのデータパスがあります。 SOPC Builder で生成されたコア IP は、この 8 バイト幅のデータパスは RX のマスタ・ モジュールのポートに接続されている Avalon-MM スレーブが PCI Express のアドレ ス・スペース内の 8 バイト間隔でそれらの内部レジスタを持つネイティブのアドレ ス・アライメントを意味します。ネイティブ・アドレス・アライメントの Avalon-MM スレーブ(SOPC Builder の DMA コントローラ・コアなど)を読み書きするとき、 PCI Express アドレスはネイティブ・アドレス・スレーブの中のそれぞれの連続した レジスタにアクセスするために 8 バイトずつ増加する必要があります。 Qsys インタコネクト・ファブリックは、ネイティブのアドレスをサポートしていま せん。代わりに、それはダイナミック・バス・サイジングをサポートしています。 この方法では、インターコネクト・ファブリックは透過的にミスマッチのポート幅 を処理します。 f ネイティブ・アドレッシングについて詳しくは、「 SOPC Builder User Guide」 の 「System Interconnect Fabric for Memory-Mapped Interfaces」の章の「Dynamic Bus Sizing and Native Address Alignment」項を参照してください。ネイティブ・アドレッシングと ダイナミック・バス・サイジングの両方について詳しくは、「 Avalon Interface Specifications」 の「Avalon Memory-Mapped Interfaces」の章の「Address Alignment」項を 参照してください。 Avalon-MM-to-PCI Express のアドレス変換 TX のスレーブ・モジュールのポートで受信したリクエストの Avalon-MM アドレス は、リクエストパケットがトランザクション層に送信される前に PCI Express のアド レスに変換されます。このアドレス変換処理の Avalon-MM アドレスの特定の変換 テーブル・エントリ(LSB ビットのまま変わらず)からの値に MSB ビットを置き換 えることによって進行されます。交換する MSB ビット数は、PCI Express 用の IP コン パイラがアクセスすることができるアップストリーム PCI Express デバイスの全アド レス・スペース間に基づいて計算されます。 アドレス変換テーブルには、設定可能な 512 の可能なアドレス変換エントリにまで 含まれています。各エントリには、特定のサイズの PCI Express メモリ・セグメント のベース・アドレスに対応しています。各エントリのセグメント・サイズは同一で なければなりません。すべてのメモリ・セグメントの合計サイズは、MSB はビット 交換するアドレスの数を決定するために使用されます。また、各エントリは、2 ビッ 、それが 32 ビットまたは 64 ビットの PCI Express トのフィールドがあり(Sp[1:0]) は、変換アドレスのアドレッシングを指定します。4‒24 ページの図 4‒12 を参照してく ださい。Avalon-MM アドレスの最上位のビットは、スレーブ・ポートを選択するシス テム・インタコネクト・ファブリックで使用され、スレーブでは使用できません。 Avalon-MM アドレスの次の最上位ビットはアドレス変換エントリをインデックスし て、MSB 交換の変換処理のために使用されます。 たとえば、コアは次の属性を持つアドレス変換テーブルで構成されている場合: ■ Number of Address Pages—16 ■ Size of Address Pages—1 M バイト ■ PCI Express Address Size—64 ビット 図 4‒12 での値は: 2011 年 5 月 ■ N = 20(1 M バイトのページ・サイズのため) ■ Q = 16(ページ数) Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒24 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ ■ M = 24 (20 + 4 ビットのページ選択) ■ P = 64 このケースでは、Avalon アドレスは次のように解釈されます。 ビット [31:24] は、システム・インタコネクト・ファブリックによって同じマスタに 接続された他のスレーブの中から TX のスレーブ・モジュールのポートを選択しま す。デコードは、SOPC Builder または Qsys 内の割り当てられたベース・アドレスに 基づいています。 ■ ビット [23:20] はアドレス変換 テーブル・エントリを選択します。 ■ アドレス変換 テーブル・エントリのビット [63:20] は PCI Express アドレス・ビッ ト [63:20] になります。 ■ ビット [19:0] が通過され、PCI Express アドレス・ビット [19:0] になります。 アドレス変換テーブルは、実行時にハードワイヤードまたは動的にコンフィギュ レーションすることができます。IP コアは、ダイナミック・アドレス変換のために パラメータ化される場合、アドレス変換テーブルは、メモリ内に実装されており、 CRA のスレーブ・モジュールを介してアクセスできます。このアクセス・モードは、 アドレス割り当てが BIOS の初期化した後に発生する一般的な PCI Express システムに 有用です。 アクセス・スレーブのコントロール・レジスタを介して動的アドレス変換テーブル にアクセスする方法について詳しくは、6‒10 ページの「Avalon-MM から PCI Express への アドレス変換テーブル」 を参照してください。 図 4‒12 には、Avalon-MM-to-PCI Express アドレス変換プロセスを示します。 図 4‒12. Avalon-MM-to-PCI Express アドレス変換 (1) (2) (3) (4) (5) Low address bits unchanged Avalon-MM Address Slave Base High Low Address 31 M M-1 N N-1 0 PCI Express Address Avalon-MM-to-PCI Express Address Translation Table (Q entries by P-N bits wide) PCIe Address 0 Sp0 PCIe Address 1 Sp1 High Avalon-MM Address Bits Index table High P-1 Low N N-1 0 PCI Express address from Table Entry becomes High PCI Express address bits Table updates from control register port Space Indication PCIe Address Q-1 SpQ-1 図 4‒12 の注 : (1) N は通過されるビットです。 (2) M は Avalon-MM アドレス・ビットの数です。 (3) P は PCI Express アドレス・ビットの数です。 (4) Q は変換 テーブル・エントリの数です。 (5) Sp[1:0] は各エントリのスペース 表示です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ 4‒25 PCI Express 割り込みの生成 PCI Express Avalon-MM ブリッジは、MSI またはレガシー割り込みをサポートしていま す。コンプリータは唯一、単一の DWORD バリアントは割込み発生モジュールが含ま れています。Avalon-MM インタフェースを持つ他のバリアントの場合、割り込みサ ポートは割り込みレジスタとコントロール・ロジックが実装されている CRA のス レーブ・モジュールのインスタンシエーションを必要とします。 SOPC Builder で生成された PCI Express Avalon-MM ブリッジは、Avalon-MM 優先エン コード割り込みスキームをサポートしています:単一の着信割り込みラインは、割 り込みリクエストの有無を示しており、システム・インタコネクト・ファブリック は着信番号(RXmIrqNum_i[5:0])を提供しています。それが一意の Avalon-MM コン ポーネントが現在の割り込みリクエストを行っている最高の優先順位を識別します。 Qsys が生成された PCI Express Avalon-MM ブリッジは、Avalon-MM 個々の割り込みの リクエストスキームをサポートしています。複数の入力信号は、受信割り込みリク エストを示しており、ソフトウェアは Avalon-MM インタフェースで受信したサービ ス同時割り込み用の PCI Express 用の IP コンパイラの優先順位を決める必要がありま す。 SOPC Builder で生成された PCI Express 用の IP コンパイラでは、RX マスタ・モジュー ルポートは、単一ビット Avalon-MM 割り込み(RXmIrq_i)入力を備えています。イ ネーブルされた場合、この信号または PCI Express メールボックス・レジスタのライ ト・アクセスのアサーションは、PCI Express の割り込みステータス・レジスタの ビットをセットし、PCI Express の割り込みを生成すします。 Qsys が生成された PCI Express 用の IP コンパイラでは、RX マスタ・モジュール・ ポートは、最大 16 個の Avalon-MM の割り込み入力信号を持っています (RXmirq_irq[<n>:0]、<n> ≤ 15 の場合))。各割り込み信号は、個別の割り込みソース を示します。これらの信号のいずれかのアサーション、または PCI Express メール ボックス・レジスタのライト・アクセスのアサーションは、PCI Express 割り込みス テータス・レジスタのビットをセットします。複数ビットを同時に設定することが できますが、ソフトウェアの修理が同時着信割り込みリクエストの優先順位を決定 します。イネーブルされた場合、PCI Express の割り込みステータス・レジスタの各 セット・ビットは、ソフトウェアがその順番を決定する際に、PCI Express の割り込 みを生成します。 ソフトウェアは、CRA スレーブを介して PCI Express 用の IP コンパイラの 6‒12 ページ の「PCI Express から Avalon-MM への割り込みイネーブル・レジスタ アドレス : 0x3070」 に書き 込むことによって、個々の割り込みをイネーブルすることができます。 SOPC Builder で生成されたシステムでは、IRQ 入力がアサートされたとき、6‒8 ページ の「Avalon-MM から PCI Express への割り込みステータス・レジスタ アドレス : 0x0040」 で書き 込まれたビットでの RXmIrqNum_i[5:0] の値は、CRA のスレーブによりアクセスが決 定されます。 Qsys が生成されたシステムでは、任意の割り込み入力信号がアサートされたときに、 対応するビットは 6‒8 ページの「Avalon-MM から PCI Express への割り込みステータス・レジ スタ アドレス : 0x0040」 で書き込まれます。ソフトウェアはこのレジスタを読み出し て、サービスリクエストされた割り込みに優先順位を決定します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒26 第 4 章 : IP コア・アーキテクチャ PCI Express Avalon-MM ブリッジ 割り込み処理が完了すると、ソフトウェアは、適切なサービスを提供する割り込み status ビットがクリアされ、他の割り込みが保留されていないことを確認する必要 があります。「Avalon-MM から PCI Express への割り込みステータス・レジスタ アドレス : 0x0040」 のメールボックス・ライトによって引き起こされる割り込みでは、ステー タス・ビットは、「Avalon-MM から PCI Express への割り込みステータス・レジスタ アドレス : 0x0040」 でクリアする必要があります。Avalon-MM インタフェース上の着信割込み信 号による割り込みでは、割り込みステータスが割り込みをソースする Avalon-MM コ ンポーネントでクリアする必要があります。このシーケンスは、割り込み処理中に 失われてからの割り込みリクエストを防ぎます。 図 4‒13 には、全体の PCI Express の割り込み生成プロセスのロジックを示します。 図 4‒13. PCI Express リンクへの PCI Express 用の IP コンパイラの Avalon-MM 割り込み伝播 Interrupt Disable (Configuration Space Command Register [10]) Avalon-MM-to-PCI-Express Interrupt Status and Interrupt Enable Register Bits PCI Express Virtual INTA signalling (When signal rises ASSERT_INTA Message Sent) (When signal falls DEASSERT_INTA Message Sent) A2P_MAILBOX_INT7 A2P_MB_IRQ7 A2P_MAILBOX_INT6 A2P_MB_IRQ6 A2P_MAILBOX_INT5 A2P_MB_IRQ5 A2P_MAILBOX_INT4 A2P_MB_IRQ4 A2P_MAILBOX_INT3 A2P_MB_IRQ3 A2P_MAILBOX_INT2 A2P_MB_IRQ2 SET D Q A2P_MAILBOX_INT1 A2P_MB_IRQ1 A2P_MAILBOX_INT0 A2P_MB_IRQ0 Q MSI Request CLR AV_IRQ_ASSERTED AVL_IRQ MSI Enable (Configuration Space Message Control Register[0]) PCI Express Avalon-MM ブリッジは自動的に PCI Express のコンフィギュレーション・ スペース・レジスタ内の標準割込みコントロールに基づいて、MSI またはレガシー 割り込みのどちらかを選択します。Interrupt Disable ビットはレガシー割り込みを ディセーブルするために使用することができます。ここで、Command レジスタ(コン フィギュレーション・スペースのオフセット 0x4 に)はビット 10 です。MSI 機能レ ジスタ(コンフィギュレーション・スペースのビットのオフセット 0x50 で 16 ビッ ト)で MSI Control Status レジスタののビット 0 である MSI Enable ビットは、MSI 割り込みをイネーブルするために使用することができます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 4 章 : IP コア・アーキテクチャ コンプリータ専用の PCI Express エンドポイント・シングル DWord 4‒27 一度にたった 1 つのタイプの割り込みだけイネーブルできます。しかし、運転中に MSI またはレガシー割り込みの選択を変更すると、ソフトウェアは割り込みリクエ ストがドロップされていないことを確認する必要があります。したがって、ソフト ウェアは、最初に新しい選択をイネーブルしてから、古い選択をディセーブルする 必要があります。レガシー割り込みを設定するには、ソフトウェアは最初の Interrupt Disable ビットをクリアして、そして MSI enable ビットをクリアする必要 があります。MSI 割り込みを設定するには、ソフトウェアは最初に MSI enable ビッ トを設定して、そして Interrupt Disable を設定する必要があります。 Avalon-MM 割り込みの生成 Avalon-MM 割り込みの発生は割り込みレジスタと制御ロジックが実装される CRA の スレーブ・モジュールのインスタンス化を必要とします。CRA のスレーブ・ポート は、Avalon-MM 割り込み(SOPC Builder システムでの CraIrq_o または Qsys システム での CraIrq_irq in)出力信号があります。イネーブルされた場合、Avalon-MM メー ルボックス・レジスタへの書き込みアクセスは、6‒12 ページの「PCI Express から Avalon-MM への割り込みステータス・レジスタ アドレス : 0x3060」 での P2A_MAILBOX_INT<n> ビットの 1 つを設定し、CraIrq_o または CraIrq_irq 出力をア サートします。ソフトウェアは、CRA スレーブを通して 6‒12 ページの「PCI Express か ら Avalon-MM への割り込みイネーブル・レジスタ アドレス : 0x3070」 に書き込むことで割り 込みをイネーブルすることができます。割り込み処理が完了すると、ソフトウェア は、PCI-Express-to-Avalon-MM Interrupt Status レジスタで適切なサービスを提供す る割り込み status ビットをクリアして保留中の他の割り込みがないことを確認する 必要があります。 コンプリータ専用の PCI Express エンドポイント・シングル DWord コンプリータ専用シングル dword エンドポイントは、ホスト CPU からの単純なレジ スタのリードおよびライト・レジスタ・アクセスを実行するために PCI Express のプ ロトコルを使用するアプリケーションを対象としています。コンプリータ専用シン グル dword エンドポイントは、SOPC Builder および Qsys のシステムのための使用可 能なハード IP の実装であり、アプリケーション層への Avalon-MM インタフェースを 備えています。このバリエーションの Avalon-MM インタフェース接続は 32 ビット幅 です。このエンドポイントはパイプライン化されていません。いつでもただ一つの リクエストは傑出していることができます。 ココンプリータ専用シングル dword エンドポイントは、以下のリクエストをサポー トします。 ■ ルート・コンプレックスからのシングル dword (32 ビット ) のリードおよびライ ト・リクエスト ■ ノン・ポステッド・リクエストは、他のタイプのコンプリータ・アボート・ス テータスの生成と終了 ■ 2011 年 5 月 Avalon-MM 割り込みソース付きの INTX または MSI サポート Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 4‒28 第 4 章 : IP コア・アーキテクチャ コンプリータ専用の PCI Express エンドポイント・シングル DWord 図 4‒14 にはコンプリータ専用シングル dword の PCI Express 用 IP コンパイラ が含ま れる SOPC Builder システムを示します。 図 4‒14. コンプリータ専用シングル DWord の PCI Express 用 IP コンパイラが含まれる SOPC Builder SOPC Builder System IP Compiler for PCI Express Endpoint, Completer Only Single DWord SOPC Builder Component Avalon-MM Slave to Host CPU Bridge Avalon-MM System Interconnect Fabric Avalon-MM Slave Avalon-MM Master RX Interrupt Handler IP Compiler for PCI Express RX Block PCIe Link PCI Express Hard IP Block PCI Express Root Complex IP Compiler for PCI Express TX Block . . . この図が示すように、PCI Express 用の IP コンパイラは PCI Express ルート・コンプ レックスにリンクします。PCI Express 用の IP コンパイラのブリッジ・コンポーネン トは、PCI Express 用の IP コンパイラの TX と RX ブロック、Avalon-MM RX マスタ、お よび割り込みハンドラが含まれています。ブリッジは、Avalon-MM インタフェースを 使用して FPGA ファブリックに接続されます。以下の項では、ブリッジの各ブロック の概要を提供します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 5. IP コア・インタフェース May 2011 <edit Part Number variable in chapter> この章では、以下の主要な各コンフィギュレーションのための PCI Express 用の IP コ ンパイラの一部である信号を示します。 1 ■ Avalon-ST インタフェース信号を使用したハード IP 実装のルート・ポートでの信号 ■ Avalon-ST インタフェースを使用したハード IP 実装のエンドポイントでの信号 ■ Avalon-ST インタフェースを使用したソフト IP 実装での信号 ■ Avalon-MM インタフェースを持つソフトまたはハードのフル機能 IP コアの SOPC Builder での信号 ■ Avalon-MM インタフェースを持つハードのフル機能 IP コアの Qsys での信号 ■ Avalon-MM インタフェースを持つ IP コアの単一 Dword、コンプリタのみの SOPC Builder での信号 ■ Avalon-MM インタフェースを持つ IP コアの単一 Dword、コンプリタのみの Qsys での 信号 アルテラは、新しいデザインに対してディスクリプタ / データ・インタフェースを推 奨しません。 Avalon-ST インタフェース Avalon-ST インタフェースを使用したハード IP およびソフト IP 実装の間の主な機能 の違いは、コンフィギュレーションとクロッキング方式です。さらに、ハード IP 実 装は、いくつかのコンフィギュレーション用の 128 ビットの Avalon-ST バスを提供し ます。128 ビット・モードでは、ストリーミング・インタフェース・クロックの pld_clk は、コア・クロックの core_clk の半分の周波数であり、ストリーミング・ データ幅は 128 ビットです。64 ビット・モードでは、ストリーミング・インタ フェース・クロックの pld_clk は、コア・クロックの core_clk と同じ周波数であ り、ストリーミング・データ幅は 64 ビットです。 図 5–1、図 5–2、および図 5–3 は、Avalon-ST インタフェースを使用する IP コア用の トップレベル信号を示しています。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒2 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 図 5‒1. Avalon-ST インタフェース信号を使用したハード IP 実装のルート・ポートでの信号 Avalon-ST Rx Port (Path to Virtual Channel <n>) Component Specific Avalon-ST Avalon-ST RxTxPort Port to to (Path (Path Virtual Virtual Channell0)<n>) Channel Component Component Specific Specific Clocks Avalon-ST Tx Port (Path to Virtual <variant>_plus Channel 0) Reset & Component Link Specific Training <variant> Clocks Reset Reconfiguration Block (optional) Interrupt ECC Error Power Mnmt Completion Interrupts Interface Clocks Simulation Power OnlyMnmt (2) Completion Interface IP Compiler for PCI Express Hard IP Implementation rx_st_ready<n> (1) reconfig_fromgxb[<n>:0] rx_st_valid<n> (2) reconfig_togxb[<n>:0] rx_st_data<n>[63:0], [127:0] reconfig_clk rx_st_sop<n> cal_blk_clk rx_st_eop<n> fixedclk_serdes rx_st_empty<n> busy_altgxb_reconfig rx_st_err<n> reset_reconfig_altgxb_reconfig gxb_powerdown rx_st_mask<n> rx_st_bardec<n>[7:0] tx_out0 rx_st_be<n>[7:0], [15:0]Hard IP MegaCore Function Signals in the PCI Express tx_out1 tx_out2 tx_st_ready<n> rx_st_ready0 reconfig_fromgxb[1:0] tx_out3 tx_st_valid<n> rx_st_valid0 reconfig_clk tx_out4 tx_st_data<n>[63:0], [127:0] rx_st_data0[63..0], [127:0] (1) reconfig_togxb[2:0] tx_st_sop<n> tx_out5 cal_blk_clk rx_st_sop0 tx_st_eop<n> tx_out6 rx_st_eop0 tx_st_empty<n> tx_out0 tx_out7 rx_st_empty tx_st_err<n> tx_out1 rx_in0 rx_st_err0 tx_fifo_full<n> tx_out2 rx_in1 tx_fifo_empty<n> rx_st_mask0 tx_out3 rx_in2 tx_fifo_rdptr<n>[3:0] rx_st_bardec0[7:0] tx_out4 rx_in3 tx_fifo_wrptr<n>[3:0] rx_st_be0[7:0], [15:0] (1) tx_cred<n>[35:0] tx_out5 rx_in4 rx_fifo_full0 nph_alloc_1cred_vc0 tx_out6 rx_in5 rx_fifo_empty0 npd_alloc_1cred_vc0 tx_out7 rx_in6 npd_cred_vio_vc0 rx_in0 rx_in7 nph_cred_vio_vc0 tx_st_ready0 rx_in1 pipe_mode tx_st_valid0 refclk rx_in2rate_ext (1) tx_st_data0[63..0], [127:0] pld_clk rx_in3 txdata0_ext[7:0] tx_st_sop0 core_clk_out rx_in4 txdatak0_ext tx_st_eop0 rx_in5 pcie_rstn txdetectrx0_ext tx_st_empty rx_in6 local_rstn txelecidle0_ext tx_st_err0 suc_spd_neg rx_in7 txcompl0_ext tx_fifo_full0 dl_ltssm[4:0] rxpolarity0_ext tx_fifo_empty0 npor pipe_mode powerdown0_ext[1:0] srst tx_fifo_rdptr0[3:0] rate_ext tx_pipemargin crst tx_fifo_wrptr0[3:0] txdata0_ext[7:0] tx_pipedeemph l2_exit tx_cred0[35..0] txdatak0_ext hotrst_exit rxdata0_ext[7:0] txdetectrx0_ext dlup_exit refclk rxdatak0_ext txelecidle0_ext reset_status pld_clk rxvalid0_ext txcompl0_ext rc_pll_locked core_clk_out phystatus0_ext rxpolarity0_ext rxelecidle0_ext nporavs_pcie_reconfig_address[7:0]powerdown0_ext[1:0] rxstatus0_ext[2:0] srst avs_pcie_reconfig_byteenable[1:0] rxdata0_ext[7:0] pipe_rstn crst avs_pcie_reconfig_chipselect rxdatak0_ext avs_pcie_reconfig_write pipe_txclk rxvalid0_ext l2_exit avs_pcie_reconfig_writedata[15:0] phystatus0_ext pclk_in hotrst_exit avs_pcie_reconfig_waitrequest rxelecidle0_ext dlup_exit clk250_out avs_pcie_reconfig_read rxstatus0_ext[2:0] clk500_out app_msi_req avs_pcie_reconfig_readdata[15:0] app_msi_ack avs_pcie_reconfig_readdatavalid tl_cfg_add[3:0] tl_cfg_add[3:0] avs_pcie_reconfig_clk app_msi_tc [2:0] tl_cfg_ctl[31:0] tl_cfg_ctl[31:0] avs_pcie_reconfig_rstn app_msi_num [4:0] tl_cfg_ctl_wr tl_cfg_ctl_wr pex_msi_num [4:0] tl_cfg_sts[52:0] derr_cor_ext_rcv[1:0] tl_cfg_sts[52:0] app_int_sts derr_rpl tl_cfg_sts_wr tl_cfg_sts_wr app_int_ack derr_cor_ext_rpl hpg_ctrler[4:0] lmi_dout[31:0] r2c_err0 pme_to_cr r2c_err1 lmi_dout[31:0] lmi_rden pme_to_sr aer_msi_num[4:0] lmi_wrenlmi_rden lmi_wren pex_msi_num[4:0] cpl_err [6:0] lmi_ack int_status[4:0] cpl_pending0 lmi_addr[11:0]lmi_ack serr_out lmi_addr[11:0] lmi_din[31:0] pclk_in lmi_din[31:0] pme_to_cr clk250_out test_out[64:0] pme_to_sr clk500_out test_in[15:0] test_out[63:0] pm_data pm_auxpwr test_in[39:0] lane_act[3:0] cpl_err[6:0] rx_st_fifo_full<n> cpl_pending<n> rx_st_fifo_empty<n> Transceiver Control These signals are internal for <variant>_plus.v or .vhd) Transceiver Control Serial IF to PIPE Serial IF to PIPE for internal PHY for internal PHY 8-bit PIPE PIPE Interface Simulation Only Repeated for Lanes 1-7 8-bit PIPE PIPE Interface Simulation Only (2) Clocks Simulation Only Config Config LMI LMI Test Interface Test Interface 図 5–1 の注: (1) Arria GX、Arria II GX、Arria II GZ、Cyclone IV GX、HardCopy IV GX、Stratix II GX、および Stratix IV G デバイスで使用可能。 reconfig_fromgxb は、Stratix II GX および Arria GX デバイス用の単一配線。Stratix IV GX デバイスの ×1 および ×4 の IP コアでは <n> = 16、×8 の IP コアでは <n> = 33。 (2) Arria II GX、Arria II GZ、Cyclone IV GX、HardCopy IV GX、Stratix II GX、および Stratix IV GX デバイスで使用可能。Stratix II GX および Arria GX では reconfig_togxb は <n> = 2、Stratix IV GX では reconfig_togxb は <n> = 3。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒3 図 5‒2. Avalon-ST インタフェースを使用したハード IP 実装のエンドポイントでの信号 Avalon-ST Rx Port (Path to Virtual Channel <n>) Component Specific Avalon-ST Tx Port (Path to Virtual Channel <n>) Component Specific Clocks <variant>_plus Reset & Link Training <variant> Reconfiguration Block (optional) ECC Error IP Compiler for PCI Express Hard IP Implementation rx_st_ready<n> (1) reconfig_fromgxb[<n>:0] rx_st_valid<n> (2) reconfig_togxb[<n>:0] rx_st_data<n>[63:0], [127:0] reconfig_clk rx_st_sop<n> cal_blk_clk rx_st_eop<n> fixedclk_serdes rx_st_empty<n> rx_st_err<n> busy_altgxb_reconfig rx_st_mask<n> pll_powerdown rx_st_bardec<n>[7:0] gxb_powerdown rx_st_be<n>[7:0], [15:0] tx_out0 tx_st_ready<n> tx_out1 tx_st_valid<n> tx_out2 tx_st_data<n>[63:0], [127:0] tx_out3 tx_st_sop<n> tx_st_eop<n> tx_out4 tx_st_empty<n> tx_out5 tx_st_err<n> tx_out6 tx_fifo_full<n> tx_out7 tx_fifo_empty<n> rx_in0 tx_fifo_rdptr<n>[3:0] tx_fifo_wrptr<n>[3:0] rx_in1 tx_cred<n>[35:0] rx_in2 nph_alloc_1cred_vc0 rx_in3 npd_alloc_1cred_vc0 rx_in4 npd_cred_vio_vc0 rx_in5 nph_cred_vio_vc0 rx_in6 rx_in7 refclk pld_clk pipe_mode core_clk_out rate_ext txdata0_ext[7:0] pcie_rstn txdatak0_ext local_rstn txdetectrx0_ext suc_spd_neg ltssm[4:0] txelecidle0_ext npor txcompl0_ext srst rxpolarity0_ext crst powerdown0_ext[1:0] l2_exit tx_pipemargin hotrst_exit dlup_exit tx_pipedeemph reset_status rxdata0_ext[7:0] rc_pll_locked rxdatak0_ext rxvalid0_ext phystatus0_ext avs_pcie_reconfig_address[7:0] rxelecidle0_ext avs_pcie_reconfig_byteenable[1:0] rxstatus0_ext[2:0] avs_pcie_reconfig_chipselect pipe_rstn avs_pcie_reconfig_write pipe_txclk avs_pcie_reconfig_writedata[15:0] avs_pcie_reconfig_waitrequest pclk_in avs_pcie_reconfig_read clk250_out avs_pcie_reconfig_readdata[15:0] clk500_out avs_pcie_reconfig_readdatavalid avs_pcie_reconfig_clk tl_cfg_add[3:0] avs_pcie_reconfig_rstn tl_cfg_ctl[31:0] derr_cor_ext_rcv[1:0] tl_cfg_ctl_wr derr_rpl tl_cfg_sts[52:0] derr_cor_ext_rpl tl_cfg_sts_wr r2c_err0 hpg_ctrler r2c_err1 Interrupt app_msi_req app_msi_ack app_msi_tc[2:0] app_msi_num[4:0] pex_msi_num[4:0] app_int_sts app_int_ack Power Mnmt pme_to_cr pme_to_sr pm_event pm_data pm_auxpwr Completion Interface cpl_err[6:0] cpl_pending<n> lmi_dout[31:0] lmi_rden lmi_wren lmi_ack lmi_addr[11:0] lmi_din[31:0] test_out[63:0] test_in[39:0] lane_act[3:0] rx_st_fifo_full<n> rx_st_fifo_empty<n> Transceiver Control These signals are internal for <variant>_plus.v or .vhd) Serial IF to PIPE for internal PHY 8-bit PIPE PIPE Interface Simulation Only (4) Clocks Simulation Only Config LMI Test Interface 図 5–2 の注: (1) Stratix II GX、Stratix IV GX、Arria GX、および HardCopy IV GX デバイスで使用可能。reconfig_fromgxb は、Stratix II GX および Arria GX デバイス用の単一配線。Stratix IV GX デバイスの ×1 および ×4 の IP コアでは <n> = 16、×8 の IP コアでは <n> = 33。 (2) Stratix II GX、Stratix IV GX、Arria GX、および HardCopy IV GX で使用可能。Stratix II GX および Arria GX では econfig_togxb は <n> = 2、Stratix IV GX では reconfig_togxb は <n> = 3。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒4 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 図 5‒3. Avalon-ST インタフェースを使用したソフト IP 実装での信号 IP Compiler for PCI Express Soft IP Implementation Rx Port (Path to Virtual Channel 0) Avalon-ST Component Specific Avalon-ST Tx Port (Path to Virtual Channel 0) Component Specific rx_st_ready0 rx_st_valid0 rx_st_data0[63:0] rx_st_sop0 rx_st_eop0 rx_st_err0 rx_st_mask0 rx_st_bardec0[7:0] rx_st_be0[7:0] Clock Reset npor srst - x1 and x4 crst - x1 and x4 rstn - x8 l2_exit hotrst_exit dlup_exit dl_ltssm[4:0] app_msi_req app_msi_ack app_msi_tc [2:0] app_msi_num [4:0] pex_msi_num [4:0] app_int_sts app_int_ack - x1 and x4 Power Mnmt pme_to_cr pme_to_sr cfg_pmcsr[31:0] Config cfg_tcvcmap [23:0] cfg_busdev [12:0] cfg_prmcsr [31:0] cfg_devcsr [31:0] cfg_linkcsr [31:0] cfg_msicsr [15:0] Completion Interface reconfig_clk cal_blk_clk gxb_powerdown tx_st_ready0 tx_st_valid0 tx_st_data0[63:0] tx_st_sop0 tx_st_eop0 tx_st_err0 tx_cred0[35..0] ×1 and ×4 only tx_fifo_empty0 tx_fifo_rdptr0[3:0] tx_fifo_wrptr0[3:0] tx_fifo_full0 refclk clk250_in - x8 clk250_out - x8 clk125_in - x1 and x4 clk125_out - x1 and x4 Interrupt (1) reconfig_fromgxb[<n>:0] (2) reconfig_togxb[<n>:0] tx_out0 tx_out1 tx_out2 tx_out3 tx_out4 tx_out5 tx_out6 tx_out7 rx_in0 rx_in1 rx_in2 rx_in3 rx_in4 rx_in5 rx_in6 rx_in7 pipe_mode pipe_rstn pipe_txclk rate_ext xphy_pll_areset xphy_pll_locked txdetectrx_ext txdata0_ext[15:0] txdatak0_ext[1:0] txelecidle0_ext txcompl0_ext rxpolarity0_ext rxdata0_ext[15:0] rxdatak0_ext[1:0] rxvalid0_ext rxelecidle0_ext rxstatus0_ext[2:0] phystatus_ext powerdown_ext[1:0] txdetectrx_ext txdata0_ext[7:0] txdatak0_ext txelecidle0_ext txcompl0_ext rxpolarity0_ext powerdown_ext[1:0] rxdata0_ext[7:0] rxdatak0_ext rxvalid0_ext phystatus_ext rxelecidle0_ext rxstatus0_ext[2:0] cpl_err[6:0] cpl_pending err_desc_func0 [127:0]- x1, x4 test_in[31:0] test_out[511:0] ( user specified, up to 512 bits) tx_st_fifo_empty0 tx_st_fifo_full0 Transceiver Control Serial IF to PIPE for internal PHY 16-bit PIPE for x1 and x4 Repeated for Lanes 1-3 in x4 MegaCore for external PHY 8-bit PIPE for x8 Repeated for Lanes 1-7 in x8 MegaCore Test Interface 図 5–3 の注: (1) Stratix II GX、Stratix IV GX、Arria GX、および HardCopy IV GX デバイスで使用可能。reconfig_fromgxb は、Stratix II GX および Arria GX デバイス用の単一配線。Stratix IV GX デバイスの ×1 および ×4 の IP コアでは <n> = 16、×8 の IP コアでは <n> = 33。 (2) Stratix II GX、Stratix IV GX、Arria GX、および HardCopy IV GX で使用可能。Stratix II GX および Arria GX では reconfig_togxb は <n> = 2、Stratix IV GX では reconfig_togxb は <n> = 3。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒5 表 5–1 に、ハード IP およびソフト IP 実装のインタフェースを、各インタフェースを 説明している以降の項へのリンクと共に示します。 表 5‒1. Avalon-ST インタフェースを使用した PCI Express 用の IP コンパイラでの信号グループ ハード IP 信号グループ エンド ルート・ ソフト IP ポイン ポート ト 説明 論理 Avalon-ST RX v v v 5–6 ページの「64 ビットまたは 128 ビットの AvalonST RX ポート」 Avalon-ST TX v v v 5–16 ページの「64 ビットまたは 128 ビットの AvalonST TX ポート」 クロック v v — 5–26 ページの「クロック信号 — ハード IP 実装」 クロック — — v 5–26 ページの「クロック信号 — ソフト IP 実装」 リセットおよびリン ク・トレーニング v v v 5–27 ページの「リセットおよびリンク・トレーニン グ信号」 ECC エラー v v — 5–30 ページの「ECC エラー信号」 割り込み v — v 5–31 ページの「エンドポイント用の PCI Express 割り 込み」 割り込みおよびグロー バル・エラー — v — 5–33 ページの「ルート・ポート用の PCI Express 割り 込み」 コンフィギュレーショ ン・スペース v v — 5–33 ページの「コンフィギュレーション・スペース 信号 — ハード IP 実装」 コンフィギュレーショ ン・スペース — — v 5–40 ページの「コンフィギュレーション・スペース 信号 — ソフト IP 実装」 LMI v v — 5–41 ページの「LMI の信号 — ハード IP 実装」 PCI Express のリコン フィギュレーション・ ブロック v v — 5–43 ページの「IP コアのリコンフィギュレーショ ン・ブロック信号 — ハード IP 実装」 パワー・マネージメン ト v v v 5–44 ページの「パワー・マネージメントの信号」 コンプリーション v v v 5–46 ページの「コンプリーション側波帯信号」 物理 トランシーバ・コント ロール v v v 5–60 ページの「トランシーバ・コントロール信号」 シリアル v v v 5–62 ページの「シリアル・インタフェース信号」 PIPE (1) (1) v 5–64 ページの「PIPE インタフェース信号」 テスト テスト v v テスト — — 2011 年 5 月 Altera Corporation 5–68 ページの「テスト・インタフェース信号 — ハー ド IP 実装」 v 5–70 ページの「テスト・インタフェース信号 — ソフ ト IP 実装」 PCI Express 用の IP コンパイラのユーザー・ガイド 5‒6 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5‒1. Avalon-ST インタフェースを使用した PCI Express 用の IP コンパイラでの信号グループ ハード IP エンド ルート・ ソフト IP ポイン ポート ト 信号グループ v テスト v 説明 v 表 5–1 の注: (1) シミュレーションのみに与えられます。 64 ビットまたは 128 ビットの Avalon-ST RX ポート 表 5–2 に、Avalon-ST RX データパスを構成する信号を示します。 表 5‒2. 64 ビットまたは 128 ビットの Avalon-ST RX のデータパス ( その 1 ) 信号 幅 rx_st_ready<n> (1) (2) rx_st_valid<n> (2) 1 1 Di r I O Avalon-ST タイプ 説明 ready アプリケーションがデータを受け取る準備ができてい ることを示します。アプリケーションは、データ・ス トリームを抑制するためにこの信号をデアサートしま す。 valid rx_st_data<n> をアプリケーションに送信します。 rx_st_ready<n> のデアサートの 3 クロック以内にデア サートします。さらに多くのデータが送信に使用可能 である場合、rx_st_ready<n> のアサートの 3 クロック 以内に再びアサートします。rx_st_ready がアサートさ れている場合でも、rx_st_sop および rx_st_eop の間に rx_st_valid をアサートすることができます。 rx_st_data<n> 64、 128 O data 受信データ・バス。rx_st_data へのトランザクショ ン・レイヤの TLP 情報のマッピングについては、図 5–5 ~図 5–13 を参照してください。タイミングについて は、図 5–15 を参照してください。最初のペイロード dword の位置は、TLP アドレスが qword アラインメント されているかどうかという点に依存することに注意し てください。メッセージ TLP のマッピングは、4 つの dword ヘッダを持つトランザクション・レイヤ TLP の マッピングと同じです。64 ビットの Avalon-ST バスを使 用する場合、rx_st_data<n> の幅は 64 です。128 ビッ トの Avalon-ST バスを使用する場合、rx_st_data<n> の 幅は 128 です。 rx_st_sop<n> 1 O start of packet rx_st_valid<n> と共にアサートされる場合、これが TLP の最初のサイクルである、ということを示しています。 rx_st_eop<n> 1 O end of packet rx_st_valid<n> と共にアサートされる場合、これが TLP の最後のサイクルである、ということを示しています。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒7 表 5‒2. 64 ビットまたは 128 ビットの Avalon-ST RX のデータパス ( その 2 ) 信号 幅 Di r Avalon-ST タイプ 説明 TLP が rx_st_data の下位 64 ビットで終わることを示し ています。rx_st_eop<n> がアサートされる場合のみ有 効です。この信号は、ハード IP 実装での 128 ビット・ モードのみに適用されます。 rx_st_empty<n> 1 O empty rx_st_eop<n>がアサートされてrx_st_empty<n>が値1を 持つ場合、rx_st_data[63:0] は有効なデータを保持し ますが rx_st_data[127:64] は有効なデータを保持しま せん。 rx_st_eop<n>がアサートされてrx_st_empty<n>が値0を 持つ場合、rx_st_data[127:0] は有効なデータを保持し ます。 訂正不可能な誤り訂正コード(ECC)のエラーが、関連 する VC のコアの内部 RX バッファにあることを示して います。この信号は、ECC がイネーブルされる場合、 ハード IP 実装のみにアクティブです。ECC は、Gen2 ×8 を除くすべてのハード IP のバリアント用に、メモリ・ ブロック、再試行バッファ、RX バッファの中で Quartus II アセンブラによって自動的にイネーブルされ ます。ECC は、バイト単位で単一ビットのエラーを訂正 し、ダブル・ビットのエラーを検出します。 rx_st_err<n> 1 O error 訂正不可能な ECC エラーが検出される場合、 rx_st_valid がアサートされている間 rx_st_err は少な くとも 1 サイクルでアサートされます。TLP ペイロード の終了以前にエラーが発生する場合、eop の後のサイク ルで rx_st_eop および rx_st_valid デアサートを使用 して、パケットが早期に終了することがあります。 アルテラは、訂正不可能な(ダブル・ビットの)ECC エ ラーが検出されて TLP が早期に終了できない場合、PCI Express 用の IP コンパイラをリセットすることを推奨し ます。リセットは、コンフィギュレーション・スペー ス・レジスタが不正なパケットによって破壊されない ということを保証します。 この信号は、Arria II GX デバイスのハード IP 実装には使 用不可能です。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒8 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5‒2. 64 ビットまたは 128 ビットの Avalon-ST RX のデータパス ( その 3 ) 信号 幅 Di r Avalon-ST タイプ 説明 コンポーネント特有の信号 rx_st_mask<n> 1 I component specific アプリケーションは、IP コアがノン・ポステッド・リ クエストの送信を停止するよう指示するために、この 信号をアサートします。この信号は、トランザクショ ン・レイヤから Avalon-ST アダプタ・モジュールにすで に送信されたノン・ポステッド・リクエストには影響 しません。この信号は、いつでもアサートすることが できます。rx_st_mask がアサートされた後にアプリ ケーションへ送信できるノン・ポステッド・リクエス トの総数は、128 ビット・モードでは 26 以下、64 ビッ ト・モードでは 14 以下です。 一定のポステッド・リクエストまたはコンプリーショ ンを受け取るまで rx_st_mask のアサートの状態を維持 するために、ユーザーのアプリケーション・レイヤの ロジックはデザインしないでください。正しく機能さ せるために、rx_st_mask は、最終的にはポステッド・ リクエストまたはコンプリーションを待たずにデア サートされます。 rx_st_bardec<n> 8 O component specific PCI Express 用の IP コンパイラのユーザー・ガイド TLP 用にデコードされた BAR のビット。それらはトラ ンザクション・レイヤの rx_desc[135:128] と対応しま す。MRd、MWr、IOWR、および IORD の TLP に対して有効 です。CPL またはメッセージの TLP の場合は無視しま す。それらは、64 ビット・データパス用の rx_st_data<n> の 2 番目のサイクルで有効です。128 ビッ トのデータパスでは、rx_st_bardec<n> は最初のサイク ルで有効です。図 5–8 および図 5–10 に、64 ビットおよ び 128 ビットのそれぞれのデータに対するこの信号の タイミングを示します。 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒9 表 5‒2. 64 ビットまたは 128 ビットの Avalon-ST RX のデータパス ( その 4 ) 信号 幅 rx_st_be<n> 8, 16 Di r O Avalon-ST タイプ component specific 説明 これらは、トランザクション・レイヤの rx_be に対応 するバイト・イネーブルです。バイト・イネーブル信 号は、PCI Express の TLP ペイロード・フィールドのみ に適用します。64 ビットの Avalon-ST バスを使用する場 合、rx_st_be の幅は 8 です。128 ビットの Avalon-ST バ スを使用する場合、rx_st_be の幅は 16 です。この信号 はオプションです。ユーザーは、TLP ヘッダの FBE およ び LBE フィールドをデコーディングしている同じ情報 を生成することができます。バイト・イネーブルと データの対応は、データがアラインメントされている 場合、以下のようになります。 rx_st_data[63:56] = rx_st_be[7] rx_st_data[55:48] = rx_st_be[6] rx_st_data[47:40] = rx_st_be[5] rx_st_data[39:32] = rx_st_be[4] rx_st_data[31:24] = rx_st_be[3] rx_st_data[23:16] = rx_st_be[2] rx_st_data[15:8] = rx_st_be[1] = rx_st_be[0] rx_st_data[7:0] 表 5–2 の注: (1) Stratix IV GX デバイスでは、<n> はバーチャル・チャネル番号であり、0 または 1 です。 (2) RX インタフェースは、ハード IP 実装用の 2 サイクルおよびソフト IP 実装用の 3 サイクルの readyLatency をサポートしま す。 64 ビットのメモリへのインタフェースの実行を容易にするために、IP コアは常に データを qword または 64 ビットへアラインメントします。その結果、ヘッダが qword アラインメントされていないアドレスを提示する場合、IP コアは適切なアラ インメントを実現するために qword 内のデータをシフトします。図 5–4 に、qword ア ラインメントされていないアドレスである 0x4 が、どのようにメモリに格納される か示します。バイト・イネーブルは、書き込まれたデータのみを認定します。これ は、バイト・イネーブルが 0x0 ~ 0x3 のためには定義されない、ということを意味 します。この例は、5–11 ページの 図 5–5 に対応します。Qword アラインメントは、 オフにできない IP コアの機能です。Qword アラインメントは、メモリ・ライト、コ ンフィギュレーション・ライト、および I/O ライトを含むすべてのタイプのデータあ りリクエスト TLP に適用します。リクエスト TLP のアラインメントは、リクエス ト・アドレスのビット 2 に依存します。データありコンプリーション TLP では、ア ラインメントは lower address フィールドのビット 2 に依存します。このビットは、 コンフィギュレーション・リードまたは I/O リード・リクエストへのデータ TLP あり コンプリーションのために、常に 0 です(qword 境界にアラインメントされた)。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒10 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 図 5‒4. Qword アラインメント PCB Memory 64 bits . . . 0x18 0x10 0x8 Valid Data Valid Data 0x0 Header Addr = 0x4 f すべての TLP のフォーマットについて詳しくは、Appendix A, TLP(トランザクショ ン・レイヤ・パケット)のヘッダ・フォーマットを参照してください。 表 5–3 に、ヘッダのバイト・オーダリング、および図 5–5 ~図 5–13 でのデータ・パ ケットを示します。 表 5‒3. PCI Express の TLP への Avalon-ST パケットのマッピング パケット TLP ヘッダ 0 pcie_hdr_byte0、pcie_hdr _byte1、pcie_hdr _byte2、pcie_hdr _byte3 ヘッダ 1 pcie_hdr _byte4、pcie_hdr _byte5、pcie_hdr byte6、pcie_hdr _byte7 ヘッダ 2 pcie_hdr _byte8、pcie_hdr _byte9、pcie_hdr _byte10、pcie_hdr _byte11 ヘッダ 3 pcie_hdr _byte12、pcie_hdr _byte13、header_byte14、pcie_hdr _byte15 データ 0 pcie_data_byte3、pcie_data_byte2、pcie_data_byte1、pcie_data_byte0 データ 1 pcie_data_byte7、pcie_data_byte6、pcie_data_byte5、pcie_data_byte4 データ 2 pcie_data_byte11、pcie_data_byte10、pcie_data_byte9、pcie_data_byte8 データ <n> pcie_data_byte<n>、pcie_data_byte<n-1>、pcie_data_byte<n>-2、pcie_data_byte<n-3> 図 5–5 は、64 ビット・バスを持つ qword アラインメントされていないアドレスの 3 dword ヘッダ用の PCI Express の TLP に対する Avalon-ST RX パケットのマッピングを 示しています。この例では、最初のデータを rx_st_data[63:32] に対応させること で、バイト・アドレスはアラインメントされておらず、0x4 で終了します。 f Avalon-ST のプロトコルについて詳しくは、Avalon Interface Specifications を参照してく ださい。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 1 5‒11 Avalon-ST のプロトコルは、Avalon Interface Specifications で定義されるようにビッグ・ エンディアンですが、PCI Express 用の IP コンパイラはリトル・エンディアン形式の ワードにシンボルをパックします。その結果、Avalon-ST インタフェースを使用する PCI Express 用の IP コンパイラのバリエーションを持つ、SOPC Builder で使用可能な 標準的なデータ・フォーマット・アダプタを使用することはできません。 図 5‒5. QWord アラインメントされていないアドレスを持つ 3 DWord ヘッダ TLP 用の 64 ビットの Avalon ST rx_st_data<n> のサイクル定義 clk rx_st_data[63:32] Header1 Data0 Data2 rx_st_data[31:0] Header0 Header2 Data1 rx_st_sop rx_st_eop F rx_st_be[7:4] F F rx_st_be[3:0] 図 5–6 は、qword アラインメントされたアドレスを持つ 3 dword ヘッダのための PCI Express の TLP に対する Avalon-ST RX パケットのマッピングを示しています。バ イト・イネーブルは、データの最初のバイトが無効でデータの最後の dword が単一 の有効なバイトを持つことを示すことに注意してください。 図 5‒6. QWord アラインメントされたアドレスを持つ 3 DWord ヘッダ TLP 用の 64 ビットの Avalon-ST rx_st_data<n> のサイクル定義 ( 注 1) clk rx_st_data[63:32] Header 1 rx_st_data[31:0] Header 0 Header2 Data1 Data3 Data0 Data2 rx_st_sop rx_st_eop rx_st_be[7:4] F 1 rx_st_be[3:0] E F 図 5–6 の注: (1) rx_st_be[7:4] は rx_st_data[63:32] に対応します。rx_st_be[3:0] は rx_st_data[31:0] に対応します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒12 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 図 5–7 に、64 ビット・バスを持つ qword アラインメントされたアドレスのある 4 dword 用の PCI Express の TLP に対する Avalon-ST RX パケットのマッピングを示しま す。 図 5‒7. QWord アラインメントされたアドレスを持つ 4 DWord ヘッダ TLP 用の TLP のための 64 ビットの Avalon-ST rx_st_data<n> のサイクル定義 clk rx_st_data[63:32] header1 header3 data1 rx_st_data[31:0] header0 header2 data0 rx_st_sop rx_st_eop rx_st_be[7:4] F rx_st_be[3:0] F 図 5–8 に、64 ビット・バスを持つノン qword アドレスのある 4 dword ヘッダ用の TLP のための PCI Express の TLP に対する Avalon-ST RX パケットのマッピングを示します。 最初の dword のアドレスが 0x4 であることに注意してください。最初のイネーブル されたバイトのアドレスは、0x6 です。この例は、rx_st_be 信号で示されるように、 最初の dword の中で 1 つの有効なワードを示しています。 図 5‒8. ノン QWord アドレスを持つ 4 DWord ヘッダ TLP 用の 64 ビットの Avalon-ST rx_st_data<n> のサイ クル定義 ( 注 1) clk rx_st_data[63:32] header1 header3 rx_st_data[31:0] header0 header2 data0 data2 data1 rx_st_sop rx_st_eop rx_st_bardec[7:0] rx_st_be[7:4] rx_st_be[3:0] 10 C F F 図 5–8 の注: (1) rx_st_be[7:4] は rx_st_data[63:32] に対応します。rx_st_be[3:0] は rx_st_data[31:0] に対応します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒13 図 5–9 に、rx_st_ready のデアサートによってアプリケーションが PCI Express 用の IP コンパイラにバックプレッシャをかける場合の RX インタフェースのタイミングを 示します。rx_st_valid 信号は、rx_st_ready がデアサートされた後の 3 サイクル以 内にデアサートする必要があります。この例では、rx_st_valid は次のサイクルでデ アサートされます。rx_st_data は、アプリケーションがそれを受け取ることができ るようになるまで維持されます。 図 5‒9. 64 ビットのアプリケーション・レイヤがトランザクション・レイヤにバックプレッシャをかける様子 clk rx_st_data[63:0] 000 . 010 . CCCC0002CCCC0001 CC . CC . CC . CC . CC . CC . rx_st_sop rx_st_eop rx_st_ready rx_st_valid rx_st_err 図 5–10 に、3 dword ヘッダヘッダおよび qword アラインメントされたアドレスを持 つ TLP 用の PCI Express の TLP に対する 128 ビットの Avalon-ST RX パケットのマッピ ングを示します。 図 5‒10. QWord アラインメントされたアドレスを持つ 3 DWord ヘッダの TLP 用の 128 ビットの Avalon-ST rx_st_data<n> のサイクル定義 clk rx_st_valid data3 rx_st_data[127:96] rx_st_data[95:64] header2 data2 rx_st_data[63:32] header1 data1 data<n> rx_st_data[31:0] header0 data0 data<n-1> rx_st_bardec[7:0] 01 rx_st_sop rx_st_eop rx_st_empty 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒14 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 図 5–11 に、3 dword ヘッダおよび qword アラインメントされていないアドレスを持 つ TLP 用の PCI Express の TLP に対する 128 ビットの Avalon-ST RX パケットのマッピ ングを示します。 図 5‒11. QWord アラインメントされていないアドレスを持つ 3 DWord ヘッダ TLP 用の 128 ビットの Avalon-ST rx_st_data<n> のサイクル定義 clk rx_st_valid rx_st_data[127:96] Data0 Data 4 rx_st_data[95:64] Header 2 Data 3 rx_st_data[63:32] Header 1 Data 2 Data (n) rx_st_data[31:0] Header 0 Data 1 Data (n-1) rx_st_sop rx_st_eop rx_st_empty 図 5–12 に、qword アラインメントされていないアドレスを持つ 4 dword ヘッダ用の PCI Express の TLP に対する 128 ビットの Avalon-ST RX パケットのマッピングを示し ます。この例では、データが rx_st_data の上位 64 ビットで終了するために、 rx_st_empty は Low になっています。 図 5‒12. QWord アラインメントされていないアドレスを持つ 4 DWord ヘッダ TLP 用の 128 ビットの Avalon-ST rx_st_data のサイクル定義 clk rx_st_valid rx_st_data[127:96] Header 3 Data 2 rx_st_data[95:64] Header 2 Data 1 Data n rx_st_data[63:32] Header 1 Data 0 Data n-1 rx_st_data[31:0] Header 0 Data n-2 rx_st_sop rx_st_eop rx_st_empty PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒15 図 5–13 に、qword アラインメントされたアドレスを持つ 4 dword ヘッダ用の PCI Express の TLP に対する 128 ビットの Avalon-ST RX パケットのマッピングを示し ます。 図 5‒13. QWord アラインメントされたアドレスを持つ 4 DWord ヘッダ TLP 用の 128 ビットの Avalon-ST rx_st_data のサイクル定義 clk rx_st_valid rx_st_data[127:96] Header3 Data3 Data n rx_st_data[95:64] Header 2 Data 2 Data n-1 rx_st_data[63:32] Header 1 Data 1 Data n-2 rx_st_data[31:0] Header 0 Data 0 Data n-3 rx_st_sop rx_st_eop rx_st_empty f TLP パケット・ヘッダのフォーマットの説明について詳しくは、Appendix A, TLP(ト ランザクション・レイヤ・パケット)のヘッダ・フォーマットを参照してください。 図 5–14 は、rx_st_ready のデアサートによってアプリケーションが PCI Express 用の IP コンパイラにバックプレッシャをかけるときの RX インタフェースのタイミングを 示しています。rx_st_valid 信号は、rx_st_ready がデアサートされた後の 3 サイク ル以内にデアサートしなければなりません。この例では、rx_st_valid は次のサイク ルでデアサートされます。rx_st_data は、アプリケーションがそれを受け取ること ができるようになるまで維持されます。 図 5‒14. 128 ビットのアプリケーション・レイヤがハード IP のトランザクション・レイヤにバックプレッ シャをかける様子 clk rx_st_data[127:0] 0000 . rx_st_sop rx_st_eop rx_st_empty rx_st_ready rx_st_valid rx_st_err 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒16 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 図 5–15 は、Avalon-ST RX インタフェースのタイミングを示しています。このインタ フェースで、アプリケーションからの rx_st_ready のデアサートに対応して、コア は rx_st_valid をデアサートします。 図 5‒15. Avalon-ST RX インタフェースのタイミング 1 2 3 4 5 6 7 8 9 10 11 clk rx_st_ready 3 cycles max latency rx_st_valid rx_st_data[63:0] h1 h2 data0 data1 data2 data3 data4 data5 data6 rx_st_sop rx_st_eop 64 ビットまたは 128 ビットの Avalon-ST TX ポート 表 5–4 に、Avalon-ST TX のデータパスを構成する信号を示します。 表 5‒4. 64 ビットまたは 128 ビットの Avalon-ST TX のデータパス ( その 1 ) 信号 幅 Di r Avalon-ST タイプ 説明 PCIe コアは送信用のデータを受け取る準備ができている ことを示します。コアは、データ・ストリームを抑制す るためにこの信号をデアサートします。ハード IP 実装 では、リセット中に tx_st_ready<n> がアサートされる 可能性があります。Avalon-ST TX インタフェースでパ ケットを発行する前にリセットがリリースされた後、ア プリケーションは少なくとも 2 クロック・サイクル待つ 必要があります。また、reset_status 信号は IP コアが リセットから抜け出した場合にモニタするために使用す ることができます。 tx_st_ready<n> (1) (2) 1 O ready tx_st_ready<n>、tx_st_valid<n> および tx_st_data<n> がレジスタされる場合(標準的な場合)、 アルテラはタイミング・クロージャを容易に実行するた めに、1 サイクルの readyLatency が可能ですが、2 サイ クルの readyLatency を推奨します。 タイミング・クロージャを容易に実行するために、アル テラはユーザーが tx_st_ready および tx_st_valid 信号 の両方をレジスタすることを推奨します。他の遅延が既 存の有効なレイテンシに追加されていない場合、この値 は 2 の readyLatency に対応しています。 tx_st_valid<n> (2) 1 I valid PCI Express 用の IP コンパイラのユーザー・ガイド tx_st_data<n> をコアに送信。tx_st_ready<n> がアサー トされる場合、tx_st_sop<n> および tx_st_eop<n> の間 にアサートされる必要があります。tx_st_ready<n> が デアサートする場合、この信号は、ソフト IP 実装では 1、2、または 3 のクロック・サイクル以内にデアサート する必要があり、ハード IP では 1 または 2 のクロック・ サイクル以内にデアサートする必要があります。 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒17 表 5‒4. 64 ビットまたは 128 ビットの Avalon-ST TX のデータパス ( その 2 ) 信号 tx_st_valid<n> 幅 (2) 1 Di r I Avalon-ST タイプ valid 説明 実装。tx_st_ready<n> が再アサートして tx_st_data<n> が mid-TLP にある場合、この信号はソフト IP では 3 サイ クル以内に再アサートする必要があり、ハード IP 実装 では 2 サイクル以内に再アサートする必要があります。 この信号のタイミングについては、5–24 ページ の 図 5–24 を参照してください。 タイミング・クロージャを容易に実行するために、アル テラはユーザーが tx_st_ready 信号および tx_st_valid 信号の両方をレジスタすることを推奨します。他の遅延 が既存の有効なレイテンシに追加されていない場合、こ の値は 2 の readyLatency に対応しています。 tx_st_data<n> 64, 128 I data 送信用のデータ。送信データ・バス。tx_st_data<n> へ の TLP パケットのマッピングについて詳しくは、 図 5–18 ~図 5–23 を参照してください。このインタ フェースのタイミングについて詳しくは、図 5–24 を参 照してください。64 ビットの Avalon-ST バスを使用する 場合、tx_st_data の幅は 64 です。128 ビットの AvalonST バスを使用する場合、tx_st_data の幅は 128 です。 アプリケーション・レイヤは、TX インタフェース上で 適切にフォーマットされた TLP を提供する必要がありま す。メッセージ TLP のマッピングは、4 dword ヘッダを 持つトランザクション・レイヤ TLP のマッピングと同じ です。データ・サイクルの数は、ヘッダでの長さおよび アドレス・フィールドに対して正しい必要があります。 正しくないデータ・サイクルの数を持つパケットの発行 は、TX インタフェース内でハングアップが発生し、そ の後のリクエストを受け取ることができない状態になり ます。 tx_st_sop<n> 1 I start of packet tx_st_valid<n> と共にアサートされる場合、TLP の最初 のサイクルであることを示します。 tx_st_eop<n> 1 I end of packet tx_st_valid<n> と共にアサートされる場合、TLP の最後 のサイクルであることを示します。 TLP が tx_st_data<n> の下位 64 ビットで終了すること を示します。tx_st_eop<n> がアサートされる場合のみ 有効です。この信号は、ハード IP 実装の 128 ビット・ モードのみに適用します。 tx_st_empty<n> 2011 年 5 月 Altera Corporation 1 I empty tx_st_eop<n> がアサートされて tx_st_empty<n> が値 1 を 持つ場合、tx_st_data[63:0] は有効なデータを保持し ますが tx_st_data[127:64] は有効なデータを保持しま せん。 tx_st_eop<n> がアサートされて tx_st_empty<n> が値 0 を 持つ場合、tx_st_data[127:0] は有効なデータを保持し ます。 PCI Express 用の IP コンパイラのユーザー・ガイド 5‒18 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5‒4. 64 ビットまたは 128 ビットの Avalon-ST TX のデータパス ( その 3 ) 信号 tx_st_err<n> 幅 1 Di r I Avalon-ST タイプ error 説明 送信された TLP でのエラーを示します。この信号は、パ ケットを無効にするために使用されます。これは、ペイ ロードと共にポステッド TLP およびコンプリーション TLP のみに適用されます。パケットを無効にするには、 この信号を SOP の後かつ EOP の前の 1 サイクル間にア サートします。パケットが無効にされる場合、次のク ロック・サイクルまで次のパケットを送信しないでくだ さい。この信号は、×8 のソフト IP では使用不可能です。 tx_st_err は、1 または 2 サイクル長のパケットには使用 不可能です。 エラー信号の使用を示したタイミング図については、 5–22 ページの 図 5–21 を参照してください。有効な信号 がアサートされている間にそれがアサートされる必要が あることに注意してください。 コンポーネント特有の信号 tx_fifo_full<n> 1 O component specific アダプタ TX FIFO がほぼフルであることを示します。 tx_fifo_empty<n> 1 O component specific アダプタ TX FIFO が空であることを示します。 tx_fifo_rdptr<n>[3:0] 4 O component specific これは、アダプタ TX FIFO 用の読み出しポインタです。 tx_fifo_wrptr[3:0] 4 O component specific これは、アダプタ TX FIFO 用の書き込みポインタです。 このベクタは、TLP の各タイプ(コンプリーション、ノ ン・ポステッド、およびポステッド TLP)に使用可能な ヘッダおよびデータ・クレジットを含みます。各デー タ・クレジットは、PCI Express Base Specification に基づ く 4 dword または 16 バイトです。信号の使用はオプショ ンです。 tx_cred<n> (3) (4) (5) (6) 36 O component specific tx_cred バスが表示できる数よりも多くの TX クレジット が使用可能な場合、tx_cred は特定の TLP タイプに使用 可能なビット数として与えられる最大の数を表示しま す。tx_cred は飽和バスであり、与えられた TLP タイプ 用です。tx_cred が表示できる範囲内に収まるように十 分なクレジットが消費されるまで、それは変化しませ ん。 この信号でのフィールドのレイアウトについて詳しく は、図 5–16 を参照してください。 フロー・コントロールを最適化するための tx_cred 信号 の使用方法について詳しくは、4–6 ページの「TX データ パス」を参照してください。 Arria II GX、Arria II GZ、HardCopy IV、および Stratix IV デバイス用のコンポーネント特有の信号 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒19 表 5‒4. 64 ビットまたは 128 ビットの Avalon-ST TX のデータパス ( その 4 ) 信号 幅 nph_alloc_1cred_vc0 (5) (6) 1 npd_alloc_1cred_vc0 (5) ( 1 6) npd_cred_vio_vc0 (5) (6) nph_cred_vio_vc0 (5) (6) 1 1 Di r O O O O Avalon-ST タイプ 説明 component specific オプションの tx_cred<n> 信号と組み合わせて使用され ます。1 の場合、ノン・ポステッド・ヘッダ・クレジッ トの制限が 1 クレジットのみに初期化されていることを 示します。この信号は、FC の初期化の後にアサートさ れ、リンクが再初期化されるまでアサートの状態が維持 されます。 component specific オプションの tx_cred<n> 信号と組み合わせて使用され ます。1 の場合、ノン・ポステッド・ヘッダ・クレジッ トの制限は 1 クレジットのみに初期化されています。こ の信号は、FC の初期化の後にアサートされ、リンクが再 初期化されるまでアサートの状態が維持されます。 component specific オプションの tx_cred<n> 信号と組み合わせて使用され ます。1 の場合、tx_cred が通知したよりも多くのクレ ジットが消費されたために、ノン・ポステッド・デー タ・クレジット・フィールドが有効ではなくなることを 意味します。一度違反が検出されると、この信号は IP コアがリセットされるまで High の状態です。 component specific オプションの tx_cred<n> 信号と組み合わせて使用され ます。1 の場合、ノン・ポステッド・ヘッダ・クレジッ ト・フィールドが有効ではなくなることを意味します。 これは、tx_cred 信号が通知したよりも多くのクレジッ トを消費したことを示します。一度違反が検出される と、この信号は IP コアがリセットされるまで High の状 態です。 表 5–4 の注: (1) すべての信号で <n> はバーチャル・チャネル番号であり、0 または 1 です。 (2) Avalon-ST に準拠させるには、ハード IP 実装では 1 または 2 の readyLatency を使用する必要があり、ソフト IP 実装では 1 または 2 もしくは 3 の readyLatency を使用する必要があります。タイミング・クロージャを容易に実行するために、アル テラはユーザーが tx_st_ready 信号および tx_st_valid 信号の両方をレジスタすることを推奨します。他の遅延が既存の有 効なレイテンシに追加されていない場合、この値は 2 の readyLatency に対応しています。 (3) completion header、posted header、non-posted header、および non-posted data フィールドでは、7 の値は使用可能なクレ ジットが 7 以上あることを示します。 (4) これらの信号は、Arria II GX、HardCopy IV GX、および Stratix IV GX デバイスのハード IP 実装のみに適用します。 (5) Stratix IV、HardCopy、および Arria II GX のハード IP 実装では、ノン・ポステッド TLP クレジット・フィールドは 2 以上のノ ン・ポステッド・クレジットをサポートするシステムに有効です。1 つのみのノン・ポステッド・クレジットを割り当てる システムでは、コンプリーションの受信はクレジットのリリースを検出するために使用されます。 (6) これらの信号は、Arria II GX、HardCopy IV、および Stratix IV デバイスのハード IP 実装のみに適用します。 図 5–16 に、tx_cred バスの TLP フィールドを示します。コンプリーション・ヘッダ、 ノン・ポステッド・ヘッダ、ノン・ポステッド・データおよびポステッド・ヘッダ のフィールドでは、7 の飽和値は、使用可能な送信クレジットが 7 以上であることを 示します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒20 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース Arria II GX、Arria II GZ、HardCopy IV GX および Stratix IV GX デバイスのハード IP 実装で は、ノン・ポステッド・ヘッダおよびノン・ポステッド・データに 6 以上の飽和値 が使用される必要があります。システムが単一のノン・ポステッド・クレジットを 割り当てる場合、ノン・ポステッド・ライト用のクレジットのリリースを検出する ために、ユーザーはコンプリーションの受信を使用することができます。 図 5‒16. TX クレジット信号 35 24 Completion Data (1) 23 21 20 Comp Hdr 18 NPData 17 15 14 NP Hdr 3 2 0 Posted Header (1) Posted Data 図 5–16 の注: (1) 無数のクレジットが使用可能な場合、対応するクレジット・フィールドはすべて 1 です。 PCI Express の TLP への Avalon-ST パケットのマッピング 図 5–17 ~図 5–24 は、Avalon-ST パケットおよび PCI Express の TLP の間のマッピング を示しています。これらのマッピングは、ポステッド TLP、ノン・ポステッド TLP およびコンプリーション TLP を含む TLP のすべてのタイプに適用します。メッセー ジ TLP は、4 dword ヘッダ用に示されるマッピングを使用します。TLP データは、 ヘッダの下位 dword が TLP タイプ(データ・ペイロードを持つメッセージ・リクエ スト)を持つ場合として有効なアドレスを含むかどうか、常に Avalon-ST インタ フェース上にアドレス・アラインメントされます。 f TLP パケット・ヘッダについて詳しくは、Appendix A, TLP(トランザクション・レイ ヤ・パケット)のヘッダ・フォーマットおよび PCI Express Base Specification 2.0 の Section 2.2.1 Common Packet Header Fields を参照してください。 図 5–17 に、Avalon-ST TX パケットおよび 64 ビットのバス付きの qword アラインメン トされていないアドレスを持つ 3 dword ヘッダ TLP 用の PCI Express の TLP の間の マッピングを示します。( 5–10 ページの 図 5–4 に qword アラインメントされていな いデータのストレージを示します。) 図 5‒17. QWord アラインメントされていないアドレスを持つ 3 DWord ヘッダの TLP 用の 64 ビットの Avalon-ST tx_st_data のサイクル定義 1 2 3 clk tx_st_data[63:32] Header1 Data0 Data2 tx_st_data[31:0] Header0 Header2 Data1 tx_st_sop tx_st_eop PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒21 図 5‒17. QWord アラインメントされていないアドレスを持つ 3 DWord ヘッダの TLP 用の 64 ビットの Avalon-ST tx_st_data のサイクル定義 図 5–17 の注: (1) ヘッダ 0 ={pcie_hdr_byte0、pcie_hdr _byte1、pcie_hdr _byte2、pcie_hdr _byte3} (2) ヘッダ 1 = {pcie_hdr_byte4、pcie_hdr _byte5、header pcie_hdr byte6、pcie_hdr _byte7} (3) ヘッダ 2 = {pcie_hdr _byte8、pcie_hdr _byte9、pcie_hdr _byte10、pcie_hdr _byte11} (4) データ 0 = {pcie_data_byte3、pcie_data_byte2、pcie_data_byte1、pcie_data_byte0} (5) データ 1 = {pcie_data_byte7、pcie_data_byte6、pcie_data_byte5、pcie_data_byte4} (6) データ 2 = {pcie_data_byte11、pcie_data_byte10、pcie_data_byte9、pcie_data_byte8}. 図 5–18 に、Avalon-ST TX パケットおよび 64 ビットのバス付きの qword アラインメン トされたアドレスを持つ 4 dword ヘッダ用の PCI Express の TLP の間のマッピングを 示します。 図 5‒18. QWord アラインメントされたアドレスを持つ 4 DWord の TLP 用の 64 ビットの Avalon-ST tx_st_data のサイクル定義 1 2 3 clk tx_st_data[63:32] Header1 Header3 Data1 tx_st_data[31:0] Header0 Header2 Data0 tx_st_sop tx_st_eop 図 5–18 の注: (1) ヘッダ 0 = {pcie_hdr_byte0、pcie_hdr _byte1、pcie_hdr _byte2、pcie_hdr _byte3} (2) ヘッダ 1 = {pcie_hdr _byte4、pcie_hdr _byte5、pcie_hdr byte6、pcie_hdr _byte7} (3) ヘッダ 2 = {pcie_hdr _byte8、pcie_hdr _byte9、pcie_hdr _byte10、pcie_hdr _byte11} (4) ヘッダ 3 = pcie_hdr _byte12、pcie_hdr _byte13、header_byte14、pcie_hdr _byte15}、4 dword ヘッダのみ (5) データ 0 = {pcie_data_byte3、pcie_data_byte2、pcie_data_byte1、pcie_data_byte0} (6) データ 1 = {pcie_data_byte7、pcie_data_byte6、pcie_data_byte5、pcie_data_byte4} 図 5–19 に、Avalon-ST TX パケットおよび 64 ビットのバス付きの qword アラインメン トされていないアドレスを持つ 4 dword ヘッダ用の PCI Express の TLP の間のマッピ ングを示します。 図 5‒19. QWord アラインメントされていないアドレスを持つ 4 DWord ヘッダの TLP 用の 64 ビットの Avalon-ST tx_st_data のサイクル定義 clk tx_st_data[63:32] Header 1 Header3 tx_st_data[31:0] Header 0 Header2 Data0 Data2 Data1 tx_st_sop tx_st_eop 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒22 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 図 5–20 に、qword アラインメントされたアドレスを持つ 3 dword ヘッダ用の PCI Express の TLP に対する 128 ビットの Avalon-ST TX パケットのマッピングを示し ます。 図 5‒20. QWord アラインメントされたアドレスを持つ 3 DWord ヘッダ TLP 用の 128 ビットの Avalon-ST tx_st_data のサイクル定義 clk tx_st_valid Data3 tx_st_data[127:96] tx_st_data[95:64] Header2 Data 2 tx_st_data[63:32] Header1 Data1 Data(n) tx_st_data[31:0] Header0 Data0 Data(n-1) tx_st_sop tx_st_eop tx_st_empty 図 5–21 に、qword アラインメントされていないアドレスを持つ 3 dword ヘッダ用の PCI Express の TLP に対する 128 ビットの Avalon-ST TX パケットのマッピングを示し ます。 図 5‒21. QWord アラインメントされていないアドレスを持つ 3 DWord ヘッダ TLP 用の 128 ビットの Avalon-ST tx_st_data のサイクル定義 clk tx_st_valid tx_st_data[127:96] Data0 Data 4 tx_st_data[95:64] Header 2 Data 3 tx_st_data[63:32] Header 1 Data 2 Data (n) tx_st_data[31:0] Header 0 Data 1 Data (n-1) tx_st_sop tx_st_err tx_st_eop tx_st_empty PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒23 図 5–22 に、qword アラインメントされたデータを持つ 4 dword ヘッダ TLP 用の PCI Express の TLP に対する 128 ビットの Avalon-ST TX パケットのマッピングを示します。 図 5‒22. QWord アラインメントされたアドレスを持つ 4 DWord ヘッダ TLP 用の 128 ビットの Avalon-ST tx_st_data のサイクル定義 clk tx_st_data[127:96] Header 3 Data 3 tx_st_data[95:64] Header 2 Data 2 tx_st_data[63:32] Header 1 Data 1 tx_st_data[31:0] Header 0 Data 0 Data 4 tx_st_sop tx_st_eop tx_st_empty 図 5–23 に、qword アラインメントされていないアドレスを持つ 4 dword ヘッダ TLP 用の PCI Express の TLP に対する 128 ビットの Avalon-ST TX パケットのマッピングを 示します。この例では、データが tx_st_data の上位 64 ビットで終了するために、 tx_st_empty は Low です。 図 5‒23. QWord アラインメントされていないアドレスを持つ 4 DWord ヘッダ TLP 用の 128 ビットの Avalon-ST tx_st_data のサイクル定義 clk tx_st_valid tx_st_data[127:96] Header 3 Data 2 tx_st_data[95:64] Header 2 Data 1 Data n tx_st_data[63:32] Header 1 Data 0 Data n-1 tx_st_data[31:0] Header 0 Data n-2 tx_st_sop tx_st_eop tx_st_empty 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒24 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 図 5–24 に、Avalon-ST TX インタフェースのタイミングを示します。コアは、ソース のアプリケーションを抑制するために tx_st_ready<n> をデアサートすることができ ます。 図 5‒24. Avalon-ST TX インタフェースのタイミング 1 2 3 4 5 6 7 8 9 10 11 12 13 clk tx_st_ready response_time tx_st_valid tx_st_data0[63:0] cycle 1 cycle 2 cycle 3 cycle 4 ... cycle n tx_st_sop tx_st_eop 図 5–24 の注: (1) 最大の許容応答時間は、ソフト IP 実装では 3 クロック・サイクル、ハードト IP 実装では 2 クロック・サイクルです。 図 5–25 に、tx_st_ready のデアサートによって PCI Express 用の IP コンパイラがア プリケーションにバックプレッシャをかけるときの 64 ビットの TX インタフェース のタイミングを示します。readyLatency が 2 サイクルであるため、アプリケーショ ンは 2 サイクル後に tx_st_valid をデアサートし、tx_st_ready が再アサートされ た後の 2 サイクルまでの間 tx_st_data を維持します。 図 5‒25. 64 ビットのトランザクション・レイヤがアプリケーションにバックプレッシャをかける様子 coreclkout tx_st_data[63:0].. . BB.... BB... BB .... BB ... . 00. . 00 .... BB.... BB .... BBBB0306BBB0305 . BB .... BB.... BB ... tx_st_sop tx_st_eop tx_st_ready readyLatency tx_st_valid tx_st_err PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒25 図 5–26 に、tx_st_ready のデアサートによって PCI Express 用の IP コンパイラがア プリケーションにバックプレッシャをかけるときの 128 ビットの TX インタフェース のタイミングを示します。readyLatency が 2 サイクルであるため、アプリケーショ ンは 2 サイクル後に tx_st_valid をデアサートし、tx_st_ready がアサートされた 後の 2 サイクルまでの間 tx_st_data を維持します。 図 5‒26. 128 ビットのトランザクション・レイヤがアプリケーションにバックプレッシャをかける様子 clk tx_st_data[127:0] . 000 . CC . CC . CC . CCCC021 . CC . CC . CC . CC . CC . CC . CC . tx_st_sop tx_st_eop tx_st_empty tx_st_ready tx_st_valid tx_st_err ルート・ポート・モードのコンフィギュレーション・リクエスト ルート・ポート・モードで CFG0 トランザクションを送信する場合に動作を正しく行 うには、アプリケーションは Avalon-ST TX ポートで他のパケットが発行される前に CFG0 が IP コアのコンフィギュレーション・スペースに送信されるのを待機する必要 があります。Avalon-ST で CFG0 SOP が発行されてから少なくとも 10 クロック待機し て、次のパケットが送信される前に tx_fifo_empty0==1 をチェックすることで、こ れを実行することができます。 ユーザーのアプリケーションが ECRC 転送を実装する場合、アプリケーションは ECRC 転送を Avalon-ST で発行する CFG0 パケットに適用してはいけません。TLP に付 加した ECRC は存在してはならず、TLP ヘッダの TD ビットは 0 に設定される必要が あります。これらのパケットは IP コアによって内部で消費され、PCI Express リンク に送信されません。 ECRC 転送 Avalon-ST インタフェース上で、ECRC フィールドはペイロード・データと同じアライ ンメントのルールに従います。ペイロードを持つパケットでは、ECRC はペイロード の余分な dword としてデータに付加されます。ペイロードのないパケットでは、 ECRC フィールドは 1 dword ペイロードであるかのようにアドレス・アラインメント に従います。5–12 ページの 図 5–7 ~ 5–15 ページの 図 5–13 に、アドレス・アライン メントに応じた EX データ用の ECRC データの位置を示します。5–20 ページの 図 5–17 ~ 5–23 ページの 図 5–23 は、TX データ用の ECRC データの位置を示しています。ペ イロード・データのないパケットでは、ECRC はこれらの図の中の Data0 に対応しま す。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒26 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース クロック信号 ̶ ハード IP 実装 表 5–5 に、ハード IP 実装で使用されるクロック・インタフェースを構成するクロッ ク信号を示します。 表 5‒5. ハード IP 実装でのクロック信号 ( 注 1) 信号 I/ O 説明 refclk I IP コア用の基準クロック。これは、パラメータ・エディタを使用して Parameter Settings のタブからアクセス可能な System Settings ページで指定された周波数であ る必要があります。 pld_clk I アプリケーション・レイヤおよびアダプタの一部を送信。ユーザーは、 core_clk_out からこの信号をドライブする必要があります。 core_clk_out O これは、データ・リンクおよびトランザクション・レイヤによって使用される固定 周波数クロックです。PCI Express リンクのバンド幅の制約を満たすために、7–8 ページの 表 7–1 にまとめた最小周波数の要件があります。 pclk_in I これは、シミュレーションのみに使用され、refclk から得られます。これは、PIPE モード・シミュレーションで使用される PIPE インタフェース・クロックです。 clk250_out O これは、シミュレーションのみに使用されます。テストベンチは、pclk_in を生成 するためにこの信号を使用します。 clk500_out O これは、シミュレーションのみに使用されます。テストベンチは、pclk_in を生成 するためにこの信号を使用します。 表 5–5 の注: (1) これらのクロック信号は、7–7 ページの 図 7–5 に示されています。 PCI Express 用の IP コンパイラの各バリエーションに対するクロック・インタフェー スについて詳しくは、Chapter 7, リセットおよびクロックを参照してください。 クロック信号 ̶ ソフト IP 実装 表 5‒6. ソフト IP 実装でのクロック信号 ( 注 1) I/ O 説明 I IP コア用の基準クロック。これは、パラメータ・エディタを使用して Parameter Settings のタブからアクセス可能な System Settings ページで指定された周波数であ る必要があります。 clk125_in I ×1 および ×4 IP コア用の入力クロック。すべての IP コアの I/O 信号(refclk、 clk125_out、および npor は除く)は、このクロック信号に同期します。この信号 は、clk125_out 信号に接続される必要があります。この信号は、×8 IP コアには存 在しません。 clk125_out O ×1 および ×4 IP コア用の出力クロック。refclk 入力から得られる 125 MHz のク ロック出力。この信号は、×8 IP コアには存在しません。 clk250_in I ×8 IP コア用の入力クロック。すべての IP コアの I/O 信号(refclk、clk250_out、 および npor は除く)は、このクロック信号に同期します。この信号は、 clk250_out 信号に接続される必要があります。 clk250_out O ×8 IP コア用の出力クロック。refclk 入力から得られる 250 MHz のクロック出力。 この信号は、×8 IP コアのみに存在します。 信号 refclk 表 5–6 の注: (1) 7–10 ページの 図 7–6 を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒27 リセットおよびリンク・トレーニング信号 表 5–7 に、Avalon-ST インタフェースまたはディスクリプタ / データ・インタフェー スを使用したコンフィギュレーションで使用可能なリセット信号を示します。 表 5‒7. リセットおよびリンク・トレーニング信号 ( その 1 ) I/ O 信号 説明 <variant>_plus.v または .vhd pcie_rstn I pcie_rstn は、PCI Express 用の IP コンパイラのすべてのスティッキー・コンフィギュ レーション・レジスタを直接リセットします。スティッキー・レジスタとは、L2 の Low パワー・モードでのリセットに失敗したレジスタ、または基本的なリセットに成 功したレジスタです。これは、非同期リセットです。 local_rstn I reset_n は、pcie_rstn によって影響されずにすべての PCI Express 用の IP コンパイラの 回路をリセットするシステム・ワイド・リセットです。これは、非同期リセットです。 <variant>_plus.v または .vhd および <variant>.v または .vhd suc_spd_neg O アサートされる場合、Gen2 へのスピード・ネゴシエーションの成功を示します。 LTSSM の状態:LTSSM ステート・マシーン・エンコーディングは、以下の状態を定義 します。 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ltssm[4:0] O ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 2011 年 5 月 00000: detect.quiet 00001: detect.active 00010: polling.active 00011: polling.compliance 00100: polling.configuration 00101: polling.speed 00110: config.linkwidthstart 00111: config.linkaccept 01000: config.lanenumaccept 01001: config.lanenumwait 01010: config.complete 01011: config.idle 01100: recovery.rcvlock 01101: recovery.rcvconfig 01110: recovery.idle 01111: L0 10000: disable 10001: loopback.entry 10010: loopback.active 10011: loopback.exit 10100: hot.reset 10110: L1.entry 10111: L1.idle 11000: L2.idle 11001: L2.transmit.wake 11010: speed.recovery Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒28 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5‒7. リセットおよびリンク・トレーニング信号 ( その 2 ) 信号 reset_status I/ O 説明 O リセット・ステータス信号。アサートされる場合、この信号は IP コアがリセット中で あることを示します。この信号は、ハード IP 実装のみに使用可能です。npor 信号がア サートされる場合、reset_status は 0 にリセットされます。reset_status 信号は、 pld_clk に同期し、pld_clk が良好な場合のみデアサートされます。 <variant>.v または .vhd のみ I コンフィギュレーション・スペースおよびデータパス・ロジックの非同期リセット。 アクティブ Low。この信号は、×8 IP コアのみに使用可能です。×8 ソフト IP 実装のみ に使用されます。 npor I パワー・オン・リセット。この信号は、非同期のアクティブ Low のパワー・オン・リ セット信号です。このリセット信号は、すべてのコンフィギュレーション・スペース のスティッキー・レジスタ、PLL、および SERDES 回路を初期化するために使用されま す。これは、データパスおよびコントロール・レジスタもリセットします。 srst I 同期のデータパス・リセット。この信号は、IP コアのデータパス・ステート・マシー ンの同期リセットです。これはアクティブ High です。この信号は、ハード IP 実装お よびソフト IP の ×1 と ×4 の実装のみに使用可能です。 I 同期のコンフィギュレーション・リセット。この信号は、ノン・スティッキー・コン フィギュレーション・スペース・レジスタの同期リセットです。これはアクティブ High です。この信号は、ハード IP 実装およびソフト IP の ×1 と ×4 の実装のみに使用 可能です。 O L2 出力。PCI Express 仕様は、基本的なホット・リセット、ウォーム・リセット、およ びコールド・リセットの状態を定義します。コールド・リセット(ハード IP 実装およ び ×1 と ×4 のソフト IP 実装での crst および srst のアサート、または ×8 のソフト IP 実装での rstn のアサート)は、LTSSM が L2 状態を出力する場合になされる必要があ ります(この信号のアサートによって通知される)。この信号は、アクティブ Low で あり、それ以外の場合は High の状態を維持します。検出のための l2_idl からの LTSSM 送信の後に 1 サイクル(1 から 0 へ行って 1 に戻ってくる)の間にアサートされます。 O ホット・リセット出力。この信号は、LTSSM がホット・リセット・ステートを出力す る場合に 1 クロック・サイクルの間にアサートされます。これは、アプリケーショ ン・レイヤに対してグローバル・リセットが必要であることを通知します(ハード IP 実装および ×1 と ×4 のソフト IP 実装では crst および srst、×8 のソフト IP 実装では rstn)。この信号はアクティブ Low であり、それ以外の場合は High の状態を維持します。 Gen1 および Gen2 では、hotrst_exit 信号は、ltssm 信号がホット・リセット・ステー トを出力する 1 ms 後にアサートされます。 dlup_exit O IP コアが DLCSM DLUP ステートを出力する場合、この信号は 1 つの pld_clk サイクル の間アクティブです。エンドポイントでは、この信号によってアプリケーションがグ ローバル・リセットをアサートするようになります(ハード IP 実装および ×1 と ×4 の ソフト IP 実装では crst および srst、×8 のソフト IP 実装では rstn)。ルート・ポート では、この信号によってアプリケーションは srst をアサートするようになりますが、 crst はアサートしません。この信号はアクティブ Low であり、それ以外の場合は High の 状態を維持します。 rc_pll_locked O SERDES レシーバ PLL が、基準クロックを持つロックされたモードであることを示し ます。pipe シミュレーション・モードでは、この信号は常にアサートされます。 rstn crst l2_exit hotrst_exit PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒29 リセットの詳細 ハード IP 実装(×1、×4、および ×8)またはソフト IP 実装(×1 および ×4)は、 npor、srst、および crst の 3 つのリセット入力を持っています。npor は、L2 の Low パ ワー・モードまたは基本的なリセットではリセットされない可能性のあるすべての スティッキー・レジスタ用に内部で使用されます。npor は、通常、PCI Express Card Electromechanical Specification で指定されているように、パワー・オン・リセット・ ジェネレータのロジック OR およびコネクタからの perst 信号によって生成されま す。srst 信号は、データパス・ステート・マシーンの同期リセットです。crst 信号 は、ノン・スティッキー・コンフィギュレーション・スペース・レジスタの同期リ セットです。エンドポイントでは、l2_exit、hotrst_exit、dlup_exit、または他の パワー・オン・リセット信号がアサートされる場合、必ず、srst および crst は、ソ フト IP 実装では 1 つ以上のサイクルの間にアサートされる必要があり、ハード IP 実 装では少なくとも 2 クロック・サイクルの間にアサートされる必要があります。 図 5–27 に、リセット信号によって制御されるロジックの簡略化を示します。 図 5‒27. リセット信号のドメイン <variant>.v or .vhd <variant>_core.v or .vhd altpcie_hip_pipen1b.v or .vhd npor SERDES Reset State Machine Configuration Space Sticky Registers crst Configuration Space Non-Sticky Registers srst Datapath State Machines of MegaCore Fucntion ルート・ポートでは、l2_exit、hotrst_exit、dlup_exit、およびパワー・オン・リ セット信号がアサートされる場合には、srst がアサートされる必要があります。 ルート・ポートの crst 信号は、l2_exit、hotrst_exit および他のパワー・オン・リ セット信号がアサートされる場合はアサートされる必要があります。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒30 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース PCI Express 用の IP コンパイラのソフト IP 実装(×8)は、npor および rstn の 2 つの リセット入力を持っています。npor リセットは、L2 の Low パワー・モードまたは基 本的なリセットによってリセットされない可能性のあるすべてのスティッキー・レ ジスタに対して内部で使用されます。npor は、通常、PCI Express Card Electromechanical Specification で指定されているように、パワー・オン・リセット・ ジェネレータのロジック OR およびコネクタからの perst# 信号によって生成されま す。 rstn 信号は、データパス・ステート・マシーンおよびノン・スティッキー・コン フィギュレーション・スペース・レジスタの非同期リセットです。l2_exit、 hotrst_exit、dlup_exit、または他のパワー・オン・リセット信号がアサートされ る場合は、rstn が 1 つ以上のサイクルの間にアサートされる必要があります。 perst# コネクタ信号がアサートされる場合、ルート・コンプレックスを安定させて リンク・トレーニングの準備を整えるために、rstn はより長い時間アサートされる 必要があります。 ECC エラー信号 表 5–8 に、ハード IP 実装用の ECC エラー信号を示します。 表 5‒8. ハード IP 実装用の ECC エラー信号 ( 注 1) ( 注 2) 信号 I/O 説明 derr_cor_ext_rcv[1:0] (3) O 対応するバーチャル・チャネルの RX バッファ内の訂正可能なエ ラーを示します。 derr_rpl (3) O 再試行バッファ内の訂正不可能なエラーを示します。 derr_cor_ext_rpl (3) O 再試行バッファ内の訂正可能なエラーを示します。 O VC0 上の訂正不可能な ECC エラーを示します。アルテラは、訂正 不可能な ECC エラーが検出されてパケットを早期に終了できない 場合、PCI Express 用の IP コンパイラをリセットすることを推奨 します。リセットは、コンフィギュレーション・スペース・レジ スタが誤った TLP によって壊れないことを保証します。 O VC1 上の訂正不可能な ECC エラーを示します。アルテラは、訂正 不可能な ECC エラーが検出されてパケットを早期に終了できない 場合、PCI Express 用の IP コンパイラをリセットすることを推奨 します。リセットは、コンフィギュレーション・スペース・レジ スタが誤った TLP によって壊れないことを保証します。 r2c_err0 r2c_err1 表 5–8 の注: (1) これらの信号は、Arria II GX デバイスのハード IP 実装には使用不可能です。 (2) 5–6 ページの 表 5–2 に示された Avalon-ST rx_st_err<n> は、RX バッファ内の訂正不可能なエラーを示しています。 (3) この信号は、いくつかのハード IP コンフィギュレーションで ECC がイネーブルされる場合のみに適用されます。詳しくは、 1–15 ページの 表 1–9 を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒31 エンドポイント用の PCI Express 割り込み 表 5–9 に、エンドポイント用の IP コアの割り込み信号を示します。 表 5‒9. エンドポイント用の割り込み信号 I/ O 信号 説明 app_msi_req I アプリケーションの MSI リクエスト。アサートによって、MSI コンフィギュ レーション・レジスタ値および app_msi_tc と app_msi_num の入力ポートに基 づいて、MSI のポステッド・ライト TLP が生成されるようになります。 app_msi_ack O アプリケーションの MSI 確認。の信号は、MSI 割り込み用のアプリケーション のリクエストを確認するために IP コアによって送信されます。 app_msi_tc[2:0] I アプリケーションの MSI トラフィック・クラス。この信号は、MSI を送信する ために使用されるトラフィック・クラスを示します(INTX 割り込みとは異な り、どのようなトラフィック・クラスも MSI を送信するために使用することが できます)。 app_msi_num[4:0] I アプリケーションの MSI オフセットの数。この信号は、ベース・メッセージ・ データおよび送信する MSI の間のオフセットを表示するためにアプリケーショ ンによって使用されます。 cfg_msicsr[15:0] O コンフィギュレーションの MSI コントロール・ステータス・レジスタ。このバ スは、MSI のソフトウェア・コントロールを提供します。詳しくは、表 5–10 お よび表 5–11 を参照してください。 I パワー・マネージメントの MSI の数。この信号は、MSI を経由して送信される ベース・メッセージ割り込み数およびメッセージ割り込み数の間のオフセット を決定するためにパワー・マネージメントおよびホット・プラグによって使用 されます。 I レガシー割り込みの制御。app_int_sts のアサートによって、Assert_INTA の メッセージ TLP が生成されアップストリームに送信されるようになります。 app_int_sts のデアサートによって、Deassert_INTA のメッセージ TLP が生成され アップストリームに送信されるようになります。 O この信号は、app_int_sts の確認です。この信号は、Assert_INTA メッセージ TLP が app_int_sts 信号のアサートに対する応答として送信される場合、また は Deassert_INTA メッセージ TLP が app_int_sts 信号のデアサートに対する応 答として送信される場合、少なくとも 1 サイクルの間にアサートされます。こ れは、ハード IP 実装および ×1 と ×4 のソフト IP 実装での Avalon-ST インタ フェースに含まれています。タイミングについて詳しくは、10–4 ページ の 図 10–5 および 10–4 ページの 図 10–6 を参照してください。 pex_msi_num[4:0] app_int_sts app_int_ack 表 5–10 に、コンフィギュレーションの MSI コントロール・ステータス・レジスタの レイアウトを示します。 . 表 5‒10. コンフィギュレーションの MSI コントロール・ステータス・レジスタ フィールドおよびビット・マップ 15 9 reserved 2011 年 5 月 8 7 mask capability 64-bit address capability Altera Corporation 6 4 multiple message enable 31 multiple message capable 0 MSI enable PCI Express 用の IP コンパイラのユーザー・ガイド 5‒32 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5–11 に、コンフィギュレーションの MSI コントロール・ステータス・レジスタの さまざまなフィールドの使用について一覧を示します。 表 5‒11. コンフィギュレーションの MSI コントロール・ステータス・レジスタ・フィールドの説明 ビット [15:9] フィールド 説明 — Reserved [8] mask capability [7] 64-bit address capability 可能なパー・ベクタ・マスキング。IP コアが PCI Local Bus Specification, Rev. 3.0 で定義された Mask_Bits および Pending_Bits レジスタを使用し てオプションの MSI パー・ベクタ・マスキングをサポートしないため、 このビットは、0 に固定接続されています。パー・ベクタ・マスキング は、アプリケーション・レイヤ・レジスタを使用して実装できます。 可能な 64 ビット・アドレス ■ 1: 64 ビットのメッセージ・アドレスを送信可能な IP コア ■ 0: 64 ビットのメッセージ・アドレスを送信不可能な IP コア イネーブルされた複数のメッセージ。このフィールドは、MSI 信号の許容 値を示します。例えば、このフィールドに「100」が書き込まれる場合、 16 の MSI 信号が割り当てられます。 [6:4] multiple message enable ■ 000: 1 MSI 割り当て ■ 001: 2 MSI 割り当て ■ 010: 4 MSI 割り当て ■ 011: 8 MSI 割り当て ■ 100: 16 MSI 割り当て ■ 101: 32 MSI 割り当て ■ 110: 予約 ■ 111: 予約 可能な複数のメッセージ。このフィールドは、リクエストされた MSI メッセージの数を決定するためにシステム・ソフトウェアによって読み 出されます。 [3:1] [0] multiple message capable MSI Enable ■ 000: 1 MSI リクエスト ■ 001: 2 MSI リクエスト ■ 010: 4 MSI リクエスト ■ 011: 8 MSI リクエスト ■ 100: 16 MSI リクエスト ■ 101: 32 MSI リクエスト ■ 110: 予約 0 に設定される場合、この IP コアでは MSI の使用は許容されません。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒33 ルート・ポート用の PCI Express 割り込み 表 5–12 に、割り込みを処理するためにルート・ポートに使用可能な信号を示しま す。 表 5‒12. ルート・ポート用の割り込み信号 信号 I/ O 説明 これらの信号は、次のようなタイプ・メッセージ割り込みの TLP を使用して、 アプリケーション・レイヤに対してレガシー割り込みをドライブします。 int_status[3:0] aer_msi_num[4:0] pex_msi_num[4:0] serr_out O ■ int_status[0]: 割り込み信号 A ■ int_status[1]: 割り込み信号 B ■ int_status[2]: 割り込み信号 C ■ int_status[3]: 割り込み信号 D I アドバンスト・エラー・レポート(AER)の MSI の数。この信号は、ベース・ メッセージ・データおよび送信される MSI の間のオフセットを決定するため に、AER によって使用されます。この信号は、ルート・ポート・モードのみに 使用可能です。 I パワー・マネージメントの MSI の数。この信号は、MSI を経由して送信される ベース・メッセージ割り込み数およびメッセージ割り込み数の間のオフセット を決定するために、パワー・マネージメントおよび / またはホット・プラグに よって使用されます。 O システム・エラー。この信号は、イネーブルされた適切なビットがルート・コ ントロール・レジスタおよびデバイス・コントロール・レジスタにアサートさ れると仮定して、IP コアによって検出される各システム・エラーを報告する ハード IP ルート・ポートのデザインのみに適用します。イネーブルされる場 合、システム・エラーが起きるときに serr_out は単一のクロック・サイクル の間にアサートされます。システム・エラーは、ルート・コントロール・レジ スタの PCI Express Base Specification 1.1 or 2.0 で説明されます。 コンフィギュレーション・スペース信号 ̶ ハード IP 実装 コンフィギュレーション・スペース信号のハード IP 実装は、PCI Express 用の IP コン パイラのハード IP 実装をサポートするすべてのデバイスで同じです。 コンフィギュレーション・スペース信号は、コンフィギュレーション・スペース・ レジスタで使用可能ないくつかのコントロールおよびステータス情報へのアクセス を可能にします。これらの信号は、PCI Express Base Specification Revision 2.0 で予約済 みのラベルが付けられた使用されないレジスタへのアクセスを可能にします。この インタフェースは、core_clk に同期します。アプリケーション・レイヤからコン フィギュレーション・スペースにアクセスするには、ユーザーはアプリケーション・ レイヤ・クロックに同期させる必要があります。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒34 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5–13 に、ハード IP 実装で使用可能なコンフィギュレーション・スペース・イン タフェースおよびホット・プラグ信号を示します。ホット・プラグ信号について詳 しくは、PCI Express Base Specification Revision 2.0 の第 6 章を参照してください。 表 5‒13. コンフィギュレーション・スペース信号(ハード IP 実装) ( その 1 ) 信号 幅 Di r 説明 tl_cfg_add 4 0 更新されたレジスタのアドレス。このアドレス・スペースは、5–37 ページ の 表 5–14 に示されています。情報は、tl_cfg_ctl と共に、core_clks の 8 サイ クル毎に更新されます。 tl_cfg_ctl 32 0 tl_cfg_ctl 信号は、多重化されており、5–37 ページの 表 5–14 に示されるコン フィギュレーション・スペース・レジスタの内容を含みます。このレジスタ は、core_clk の 8 サイクル毎に更新するデータを転送します。 0 ライト信号。この信号は、tl_cfg_ctl が(core_clk の 8 サイクル毎に)更新 されている場合にトグルします。トグル・エッジは、tl_cfg_ctl データが変 化するところをマークします。データがサンプルに対して安全かどうかを決定 する基準として、このエッジを使用することができます。 tl_cfg_ctl_wr 1 コンフィギュレーション・ステータス・ビット。この情報は、core_clk の 8 サイクル毎に更新されます。cfg_sts グループは、以下が含まれています (MSB から LSB まで)。 tl_cfg_sts[52:49]= cfg_devcsr[19:16] 以下のようなエラー検出信号。 [correctable error reporting、enable、non-fatal error reporting enable、fatal error reporting enable、unsupported request reporting enable] tl_cfg_sts[48] = cfg_slotcsr[24] データ・リンク・レイヤ・ステートの変 更 tl_cfg_sts[47]= cfg_slotcsr[20] コマンドの完了 tl_cfg_sts[46:31] = cfg_linkcsr[31:16] リンク・ステータス・ビット tl_cfg_sts 53 0 tl_cfg_sts[30] = cfg_link2csr[16] 現在のディエンファシス・レベル cfg_link2csr[31:17] は PCIe 仕様に対して予約されており、tl_cfg_sts バス では使用不可能です。 tl_cfg_sts[29:25] = cfg_prmcsr[31:27]5 番目のプライマリ・コマンド・ステータ ス・エラー・ビット tl_cfg_sts[24] = cfg_prmcsr[24]6 番目の一次コマンド・ステータス・エラー・ ビット tl_cfg_sts[23:6] = cfg_rootcsr[25:8]PME ビット tl_cfg_sts[5:1]= cfg_seccsr[31:27] 5 番目のセカンダリ・コマンド・ス テータス・エラー・ビット tl_cfg_sts[0] = cfg_seccsr[24] 6 番目のセカンダリ・コマンド・ステータ ス・エラー・ビット tl_cfg_sts_wr 1 0 ライト信号。この信号は、tl_cfg_sts が(core_clk の 8 サイクル毎に)更新 されている場合にトグルします。トグルは、tl_cfg_sts データが変化する部 分のエッジをマークします。ユーザーは、データがサンプルに対して安全かど うかを決定する基準として、このエッジを使用することができます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒35 表 5‒13. コンフィギュレーション・スペース信号(ハード IP 実装) ( その 2 ) 信号 幅 Di r 説明 hpg_ctrler 信号は、ルート・ポート・モード、および Enable slot capability のパ ラメータが On に設定されているときのみに使用可能です。3–17 ページ の 表 3–11 の Enable slot capability および Slot capability register のパラメータを参 照してください。エンドポイント・バリエーションでは、hpg_ctrler 入力は 0 に固定接続される必要があります。それぞれのビットには、以下の意味があり ます。 hpg_ctrler 5 [0] アテンション・ボタンが押されたことを意味します。この信号は、アテ ンション・ボタンが押される場合にアサートされる必要があります。ス ロットにアテンション・ボタンが存在しない場合、このビットは 0 に固 定接続される必要があり、Slot capability register パラメータの Attention Button Present ビット(ビット [0])は 0 に設定される必要があります。 [1] 存在の検出。この信号は、slot 内で存在検出回路を介して存在検出の変更 が検出される場合にアサートされる必要があります。 手動操作された保持ラッチ(MRL)センサの変更。この信号は、MRL セ ンサが MRL が Open であることを表示する場合にアサートされる必要が [2] あります。MRL センサがスロットに存在しない場合、このビットは 0 に 固定接続される必要があり、Slot capability register の MRL Sensor Present ビット(ビット [2])は 0 に設定される必要があります。 I [3] 電源故障の検出。この信号は、電源コントローラがこのスロットの電源 故障を検出する場合に、アサートされる必要があります。このスロット に電源コントローラが存在しない場合、このビットは 0 に固定接続され る必要があり、Slot capability register パラメータの Power Controller Present ビット(ビット [1])は 0 に設定される必要があります。 電源コントローラ・ステータス。この信号は、Slot Status レジスタのコ マンド・コンプリーション・ビットを設定するために使用されます。電 源コントローラ・ステータスは、電源コントローラのコントロール信号 [4] と同じです。このスロットに電源コントローラがない場合、このビット は 0 に固定接続される必要があり、Slot capability register パラメータの Power Controller Present ビット(ビット [1])は 0 に設定される必要があ ります。 コンフィギュレーション・スペース・レジスタのアクセス・タイミング 図 5–28 に、64 ビットのインタフェースを使用する場合の Arria II GX、Cyclone IV GX、 HardCopy IV、および Stratix IV GX デバイス用の tl_cfg_ctl インタフェースのタイミ ングを示します。 図 5‒28. tl_cfg_ctl のタイミング(ハード IP 実装) core_clk pld_clk 64-bit mode tl_cfg_ctl[31:0] data0 data1 tl_cfg_add[3:0] addr0 addr1 tl_cfg_ctl_wr 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒36 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 図 5–29 に、128 ビットのインタフェースを使用する場合の Arria II GX、Cyclone IV GX、 HardCopy IV、および Stratix IV GX デバイス用の tl_cfg_ctl インタフェースのタイミ ングを示します。 図 5‒29. tl_cfg_ctl のタイミング(ハード IP 実装) core_clk pld_clk 128-bit mode tl_cfg_ctl[31:0] data0 data1 tl_cfg_add[3:0] addr0 addr1 tl_cfg_ctl_wr 図 5–30 に、64 ビットのインタフェースを使用する場合の Arria II GX、Cyclone IV GX、 HardCopy IV、および Stratix IV GX デバイス用の tl_cfg_sts インタフェースのタイミ ングを示します。 図 5‒30. tl_cfg_sts のタイミング(ハード IP 実装) core_clk pld_clk 64-bit mode tl_cfg_sts[52:0] data0 data1 tl_cfg_sts_wr 図 5–31 に、128 ビットのインタフェースを使用する場合の Arria II GX、Cyclone IV GX、 HardCopy IV、および Stratix IV GX デバイス用の tl_cfg_sts インタフェースのタイミ ングを示します。 図 5‒31. tl_cfg_sts のタイミング(ハード IP 実装) core_clk pld_clk 128-bit mode tl_cfg_sts[52:0] data0 data1 tl_cfg_sts_wr PCI Express 用の IP コンパイラで生成されたデザイン例では、ユーザーは、コンフィ ギュレーション・スペース信号をサンプリングするために、altpcierd_tl_cfg_sample.v ファイルを含む Verilog HDL モジュールまたは altpcierd_tl_cfg_sample.vhd ファイルを 含む VHDL エンティティを使用することができます。このモジュールまたはエンティ ティでは、tl_cfg_ctl_wr および tl_cfg_sts_wr 信号は 2 度レジスタされ、その後 に tl_cfg_ctl および tl_cfg_sts バスのサンプリングをイネーブルするために遅延 信号のエッジが使用されます。 ハード IP の core_clk は pld_clk よりもはるかに早期であるため、ホールド・タイ ム違反を回避するために Quartus II ソフトウェアは遅延をこれらの信号に加えようと 試みます。この遅延は、tl_cfg_ctl_wr および tl_cfg_sts_wr のみに必要です。 図 5–28 および図 5–30 に示すロジックが使用される場合、タイミングの問題を回避 するために、マルチサイクル・セットアップおよび 3 サイクルのホールド制約をそ れらに配置することができます。マルチサイクル・セットアップおよびホールド制 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒37 約には、ハード IP バリエーションで生成された <variation_name>.sdc ファイルが自動 的に含まれています。場合によっては、pld_clk に使用される正確なデバイス、ス ピード・グレード、およびグローバル配線のリソースに対応して、Quartus II ソフト ウェアは tl_cfg_ctl_wr および tl_cfg_sts_wr 信号上のホールド・タイム違反を回 避することが困難な場合があります。デザイン内でホールド・タイム違反が発生す る場合、ユーザーはこれらの信号のマルチサイクル・セットアップ・タイムを 0 に 低減させることができます。信号が送信される正確な時間は、デザインにとって重 要ではなく、信号が確実にサンプリングされるのみです。これらの変更について、 <variation_name>.sdc ファイルに命令コメントがあります。 コンフィギュレーション・スペース・レジスタ・アクセス tl_cfg_ctl 信号は、表 5–13 に示されるコンフィギュレーション・スペース・レジス タの内容を含む多重化バスです。コンフィギュレーション・スペースに格納された 情報は、アクセスされるレジスタを表示する tl_cfg_add のラウンド・ロビンの順序 でアクセスされます。表 5–14 に、tl_cfg_ctl で多重化されたコンフィギュレーショ ン情報のレイアウトを示します。 表 5‒14. tl_cfg_ctl で使用可能な多重化されたコンフィギュレーション・レジスタ情報 ( 注 1) アドレス 31:24 23:16 15:8 7:0 cfg_dev2csr[15:0] cfg_devcsr[15:0] 0 cfg_devcsr[14:12]= Max Read Req Size (2) cfg_devcsr[7:5]= Max Payload (2) 1 cfg_slotcsr[31:16] cfg_slotcsr[15:0] 2 cfg_linkscr[15:0] cfg_link2csr[15:0] 3 8’h00 4 cfg_prmcsr[15:0] cfg_seccsr[15:0] cfg_rootcsr[7:0] cfg_secbus[7:0] cfg_subbus[7:0] 5 12’h000 cfg_io_bas[19:0] 6 12’h000 cfg_io_lim[19:0] 7 8h’00 cfg_np_bas[11:0] 8 cfg_np_lim[11:0] cfg_pr_bas[31:0] 9 20’h00000 A cfg_pr_bas[43:32] cfg_pr_lim[31:0] B 20’h00000 C cfg_pr_lim[43:32] cfg_pmcsr[31:0] D cfg_msixcsr[15:0] E 8’h00 F cfg_msicsr[15:0] cfg_tcvcmap[23:0] 16’h0000 3’b000 cfg_busdev[12:0] 表 5–14 の注: (1) 青字の項目は、ルート・ポートのみに使用可能です。 (2) このフィールドは、PCI Express Base Specification の Section 7.8.4 で指定されるようにエンコードされます(3’b000–3b101 は 128–4096 バイトに対応します) 。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒38 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5–15 に、表 5–13 および表 5–14 で参照されるコンフィギュレーション・スペー ス・レジスタを示します。 表 5‒15. コンフィギュレーション・スペース・レジスタの説明 ( その 1 ) レジスタ cfg_devcsr 幅 32 Dir O cfg_dev2csr cfg_slotcsr cfg_linkcsr 16 32 O O レジスタの 参照先 説明 cfg_devcsr[31:16] は PCI Express の機能構造用のステータ 6–4 ページ スであり、cfg_devcsr[15:0] は PCI Express の機能構造用 の 表 6–7 0x088 (Gen1) のデバイス・コントロールです。 cft_dev2csr[31:16]はPCI Expressの機能構造用のステータ 6–5 ページ ス 2 であり、cfg_dev2csr[15:0] は PCI Express の機能構 の 表 6–8 0x0A8 (Gen2) 造用のデバイス・コントロール 2 です。 6–4 ページ の 表 6–7 cfg_slotcsr[31:16] は PCI Express の機能構造のスロット・ 0x098 (Gen1) コントロールであり、cfg_slotcsr[15:0] は PCI Express の機能構造のスロット・ステータスです。このレジスタ 6–5 ページ は、ルート・ポート・モードのみに使用可能です。 の 表 6–8 0x098 (Gen2) cfg_linkcsr[31:16] は PCI Express の機能構造の一次リン ク・ステータスであり、cfg_linkcsr[15:0] は PCI Express の機能構造のプライマリ・リンク・コントロールです。 6–4 ページ の 表 6–7 0x090 (Gen1) 6–5 ページ の 表 6–8 0x090 (Gen2) cfg_link2csr[31:16] は Gen2 に追加された PCI Express の機 能構造のセカンダリ・リンク・ステータスであり、 cfg_link2csr[15:0]はGen2に追加されたPCI Expressの機能 構造のセカンダリ・リンク・コントロールです。 tl_cfg_addr=2 の場合、tl_cfg_ctl はプライマリおよびセ 6–5 ページ カンダリのリンク・コントロール・レジスタ の 表 6–8 (cfg_linkcsr[15:0]、cfg_lin2csr[15:0])にリターンし 0x0B0 (Gen2 ます。また、プライマリ・リンク・ステータス・レジスタ のみ ) の cfg_linkcsr[31:16] は、tl_cfg_sts[46:31] で使用可 能です。 cfg_link2csr Gen1 のバリアントでは、リンクのバンド幅の通知ビット は常に 0 に設定されます。Gen2 のバリアントでは、この ビットは 1 に設定されます。 cfg_prmcsr cfg_rootcsr 16 8 O O PCI コンフィギュレーション・スペース用のベース / 一次 のコントロールおよびステータス・レジスタ。 PCI-Express 機能のルート・コントロールおよびステータ ス・レジスタ。このレジスタは、ルート・ポート・モード のみに使用可能です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 6–2 ページ の 表 6–2 0x004 (Type 0) 6–3 ページ の 表 6–3 0x004 (Type 1) 6–4 ページ の 表 6–7 0x0A0 (Gen1) 6–5 ページ の 表 6–8 0x0A0 (Gen2) Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒39 表 5‒15. コンフィギュレーション・スペース・レジスタの説明 ( その 2 ) レジスタの 参照先 レジスタ 幅 Dir 説明 cfg_seccsr 16 O PCI-Express 機能のセカンダリ・バス・コントロールおよ 6–3 ページ びステータス・レジスタ。このレジスタは、ルート・ポー の 表 6–3 0x01C ト・モードのみに使用可能です。 cfg_secbus 8 O 6–3 ページ セカンダリ・バスの数。ルート・ポート・モードのみに使 の 表 6–3 用可能。 0x018 cfg_subbus 8 O 6–3 ページ 従属バスの数。ルート・ポート・モードのみに使用可能。 の 表 6–3 0x018 cfg_io_bas 20 O タイプ 1 のコンフィギュレーション・スペースの IO ベー 6–3 ページ ス・ウィンドウ。このレジスタは、ルート・ポート・モー の 表 6–3 0x01C ドのみに使用可能です。 cfg_io_lim 20 O タイプ 1 のコンフィギュレーション・スペースの IO リ 6–5 ページ ミット・ウィンドウ。このレジスタは、ルート・ポート・ の 表 6–8 0x01C モードのみに使用可能です。 cfg_np_bas 12 O タイプ 1 のコンフィギュレーション・スペースのプリ 3–14 ページ フェッチ不能ベース・ウィンドウ。このレジスタは、ルー の 表 3–10 EXP ROM ト・ポート・モードのみに使用可能です。 cfg_np_lim 12 O タイプ 1 のコンフィギュレーション・スペースのプリ フェッチ不能リミット・ウィンドウ。このレジスタは、 ルート・ポート・モードのみに使用可能です。 O 6–3 ページ の 表 6–3 0x024 タイプ 1 のコンフィギュレーション・スペースのプリ フェッチ可能ベース・ウィンドウ。このレジスタは、ルー 3–14 ページ ト・ポート・モードのみに使用可能です。 の 表 3–10 プリフェッチ 可能メモリ O タイプ 1 のコンフィギュレーション・スペースのプリ フェッチ可能リミット・ウィンドウ。ルート・ポート・ モードのみに使用可能。 6–3 ページ の 表 6–3 0x024 3–14 ページ の 表 3–10 プリフェッチ 可能メモリ 6–4 ページ の 表 6–6 0x07C cfg_pr_bas cfg_pr_lim 44 12 3–14 ページ の 表 3–10 EXP ROM cfg_pmcsr 32 O cfg_pmcsr[31:16] はパワー・マネージメント・コント ロールであり、cfg_pmcsr[15:0] はパワー・マネージメン ト・ステータス・レジスタです。このレジスタは、ルー ト・ポート・モードのみに使用可能です。 cfg_msixcsr 16 O MSI-X メッセージ・コントロール。MSI-X を実装している 各ファンクションのために複製されます。 6–4 ページ の 表 6–5 0x068 cfg_msicsr 16 O MSI メッセージ・コントロール。MSI を実装している各 ファンクションのために複製されます。 6–3 ページ の 表 6–4 0x050 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒40 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5‒15. コンフィギュレーション・スペース・レジスタの説明 ( その 3 ) レジスタ 幅 Dir レジスタの 参照先 説明 コンフィギュレーション・トラフィック・クラス(TC)/ バーチャル・チャネル(VC)のマッピング。アプリケー ション・レイヤは、パケットのトラフィック・クラスに基 づいて、適切なバーチャル・チャネルにマッピングされた トランザクション・レイヤ・パケットを生成するために、 この信号を使用します。 cfg_tcvcmap 24 O cfg_busdev 13 O 6–5 ページ の 表 6–9 cfg_tcvcmap[2:0]: TC0 用のマッピング(常に 0) 。 cfg_tcvcmap[5:3]: TC1 用のマッピング。 cfg_tcvcmap[8:6]: TC2 用のマッピング。 cfg_tcvcmap[11:9]: TC3 用のマッピング。 cfg_tcvcmap[14:12]: TC4 用のマッピング。 cfg_tcvcmap[17:15]: TC5 用のマッピング。 cfg_tcvcmap[20:18]: TC6 用のマッピング。 cfg_tcvcmap[23:21]: TC7 用のマッピング。 A–2 ページ コアによってキャプチャされた、またはコアでプログラミ の 表 A–6 ングされたバス / デバイスの数。 0x08 コンフィギュレーション・スペース信号 ̶ ソフト IP 実装 表 5–16 の信号は、アプリケーション・レイヤがアクセスするのに必要となる可能性 のあるいくつかのコンフィギュレーション・スペース・レジスタの現在の値を反映 します。これらの信号は、Avalon-ST インタフェース(ソフト IP 実装)またはディス クリプタ / データ・インタフェースを使用するコンフィギュレーションで使用可能で す。 表 5‒16. コンフィギュレーション・スペース信号(ソフト IP 実装)( その 1 ) 信号 I/ O 説明 コンフィギュレーション・トラフィック・クラス / バーチャル・チャネルの マッピング。アプリケーション・レイヤは、パケットのトラフィック・クラス に基づいて適切なバーチャル・チャネルにマップされたトランザクション・レ イヤ・パケットを生成するためにこの信号を使用します。 cfg_tcvcmap[23:0] cfg_busdev[12:0] O O cfg_tcvcmap[2:0]: TC0 用のマッピング(常に 0)。 cfg_tcvcmap[5:3]: TC1 用のマッピング。 cfg_tcvcmap[8:6]: TC2 用のマッピング。 cfg_tcvcmap[11:9]: TC3 用のマッピング。 cfg_tcvcmap[14:12]: TC4 用のマッピング。 cfg_tcvcmap[17:15]: TC5 用のマッピング。 cfg_tcvcmap[20:18]: TC6 用のマッピング。 cfg_tcvcmap[23:21]: TC7 用のマッピング。 コンフィギュレーション・バス・デバイス。この信号は、各トランザクショ ン・レイヤ・パケット用のトランザクション ID を生成し、IP コアのバスおよ びデバイスの数を表示します。IP コアは 1 つのファンクションのみを実装する ため、トランザクション ID のファンクションの数は 000b に設定される必要が あります。 cfg_busdev[12:5]: バスの数。 cfg_busdev[4:0]: デバイスの数。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒41 表 5‒16. コンフィギュレーション・スペース信号(ソフト IP 実装)( その 2 ) I/ O 信号 説明 cfg_prmcsr[31:0] O コンフィギュレーションのプライマリ・コントロール・ステータス・レジス タ。このレジスタの内容は、PCI ステータスを制御します。 cfg_devcsr[31:0] O コンフィギュレーションのデバイス・コントロール・ステータス・レジスタ。 詳しくは、PCI Express Base Specification を参照してください。 cfg_linkcsr[31:0] O コンフィギュレーションのリンク・コントロール・ステータス・レジスタ。詳 しくは、PCI Express Base Specification を参照してください。 LMI の信号 ̶ ハード IP 実装 LMI は、AER ヘッダのログ・レジスタにログ・エラー・ディスクリプタの情報を書き 込みます。これらのライトは、5–47 ページの「Avalon-ST インタフェース用のコンプ リーション信号」に示されるようにコンプリーション・エラーを記録します。 アルテラは、以下の理由により、他のコンフィギュレーション・スペース・レジス タにアクセスするために LMI バスを使用することを推奨しません。 ■ LMI ライト —LMI ライトは、キャプチャされたバスおよびデバイス数を内部で不正 確に更新します。しかし、PCIe リンクから受信されるコンフィギュレーション・ ライトは、正しいバスおよびデバイス数を提供します。 ■ LMI リード — 他のコンフィギュレーション・スペース・レジスタでは、LMI リクエ ストがコンフィギュレーション・リクエストの RX バッファからの処理と同時に 発生する場合、LMI リクエストは確認されない可能性があります。同時リクエス トは、コンフィギュレーション・スペース・レジスタに格納されたデータの破壊 という衝突を引き起こす可能性があります。 図 5–32 に LMI のインタフェースを示します。 図 5‒32. ローカル・マネージメント・インタフェース lmi_dout IP Compiler for PCI Express 32 lmi_ack LMI lmi_rden lmi_wren lmi_addr 12 lmi_din 32 Configuration Space 128 32-bit registers (4 KBytes) pld_clk 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒42 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース LMI のインタフェースは、pld_clk に同期され、最大 250 MHz の周波数で動作しま す。LMI のアドレスは、PCIe のコンフィギュレーション・スペース・アドレスと同 じです。リード・データおよびライト・データは、常に 32 ビットです。LMI のイン タフェースは、コンフィギュレーション TLP リクエストと同じコンフィギュレー ション・スペース・レジスタへのアクセスを提供します。LMI のインタフェースか らのアクセスおよびコンフィギュレーション TLP リクエストからのアクセスでは、 レジスタ・ビットは同じ属性(リード専用、リード / ライト、など)を持っていま す。 表 5–17 に、LMI のインタフェースを構成する信号を示します。 表 5‒17. LMI のインタフェース 信号 幅 Dir 説明 lmi_dout 32 O データ出力。 lmi_rden 1 I リード・イネーブル入力。 lmi_wren 1 I ライト・イネーブル入力。 lmi_ack 1 O ライト実行コンプリーション / リード・データ・ バリッド。 lmi_addr 12 I アドレス入力、[1:0] は不使用。 lmi_din 32 I データ入力。 LMI のリード動作 図 5–33 に、リード動作を示します。リード・データは、次のローカル・リードまた はシステムのリセットまで使用可能な状態を維持します。 図 5‒33. LMI リード pld_clk lmi_rden lmi_addr[11:0] lmi_dout[31:0] lmi_ack LMI のライト動作 図 5–34 に、LMI のライトを示します。書き込み可能なコンフィギュレーション・ ビットのみ、この動作によって上書きされます。読み出し専用のビットは影響され ません。LMI のライト動作は、AER ヘッダ・ログを除く通常の動作中での使用は推奨 されません。 図 5‒34. LMI ライト pld_clk lmi_wren lmi_din[31:0] lmi_addr[11:0] lmi_ack PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒43 IP コアのリコンフィギュレーション・ブロック信号 ̶ ハード IP 実装 PCI Express 用の IP コンパイラのリコンフィギュレーション・ブロック・インタ フェースは、8 ビット・アドレスおよび 16 ビット・データを持つ Avalon-MM のス レーブ・インタフェースを使用して実装されます。このインタフェースは、PCI Express 用の IP コンパイラのパラメータ・エディタの System Settings ページの PCIe Reconfig オプションで Enable を選択する場合に使用可能です。ユーザーは、実行時 に読み出し専用となっているコンフィギュレーション・レジスタの値を変更するた めにこのインタフェースを使用することができます。このインタフェースを経由し て使用可能なレジスタについて詳しくは、Chapter 13, リコンフィギュレーションおよ びオフセット・キャンセレーションを参照してください。 f Avalon-MM プロトコルについて詳しくは、Avalon Interface Specifications の Avalon Memory-Mapped Interfaces の章を参照してください。 表 5‒18. リコンフィギュレーション・ブロック信号(ハード IP 実装) 信号 I/ O 説明 avs_pcie_reconfig_address[7:0] I 8 ビットのアドレス。 avs_pcie_reconfig_byteeenable[1:0] I バイト・イネーブル、現在は不使用。 avs_pcie_reconfig_chipselect I チップセレクト。 avs_pcie_reconfig_write I ライト信号。 avs_pcie_reconfig_writedata[15:0] I 16 ビットのライト・データ・バス。 avs_pcie_reconfig_waitrequest O read または write リクエストに応答できない場合にア サートされます。アサートされる場合、スレーブへのコ ントロール信号は一定に維持されます。waitrequest は、アイドル・サイクルの間にアサートできます。 Avalon-MM マスタは、waitrequest がアサートされる場 合、トランザクションを初期化する可能性があります。 avs_pcie_reconfig_read I リード信号。 avs_pcie_reconfig_readdata[15:0] O 16 ビットのリード・データ・バス。 avs_pcie_reconfig_readdatavalid O リード・データ有効信号。 avs_pcie_reconfig_clk I ハード IP 実装用のリコンフィギュレーション・クロッ ク。このクロックは、50 MHz を上回らないようにする 必要があります。 I アクティブ Low の Avalon-MM リセット。すべてのダイ ナミック・リコンフィギュレーション・レジスタを 13–2ページの 表 13–1に示されるようにデフォルト値に リセットします。 avs_pcie_reconfig_rstn 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒44 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース パワー・マネージメントの信号 表 5–19 に、IP コアのパワー・マネージメントの信号を示します。これらの信号は、 Avalon-ST インタフェースまたはディスクリプタ / データ・インタフェースを使用す るコンフィギュレーションで使用可能です。 表 5‒19. パワー・マネージメントの信号 ( その 1 ) 信号 I/ O 説明 コントロール・レジスタをオフにするパワー・マネージメント。 pme_to_cr I ルート・ポート — この信号がアサートされる場合、ルート・ポートは PME_turn_off メッセージを送信します。 エンドポイント — この信号は、ルート・ポートに pme_to_ack を送信すること によって PME_turn_off メッセージを確認するためにアサートされます。 ステータス・レジスタをオフにするパワー・マネージメント。 ルート・ポート — この信号は、ルート・ポートが pme_turn_off 確認メッセー ジを受信する場合に 1 クロック・サイクルの間にアサートされます。 pme_to_sr cfg_pmcsr[31:0] O O エンドポイント — この信号は、エンドポイントが PME_turn_off メッセージを ルート・ポートから受信する場合にアサートされます。ソフト IP 実装では、 pme_to_cr がアサートされるまでアサートされます。ハード IP 実装では、1 サイク ルの間アサートされます。 パワー・マネージメント機能のレジスタ。この信号は、読み出し専用であり、 特有のファンクションのためのパワー・マネージメントに関連する情報を提供 します。追加情報については、表 5–20 を参照してください。この信号は、ソフ ト IP 実装のみに存在します。ハード IP 実装では、この情報はコンフィギュレー ション・インタフェースを経由してアクセスされます。5–33 ページの「コン フィギュレーション・スペース信号 — ハード IP 実装」を参照してください。 パワー・マネージメント・イベント。この信号は、ハード IP のエンドポイント 実装のみに使用可能です。 pm_event I エンドポイント — ルート・ポートに送信される power_management_event メッ セージ(PM_PME)を初期化します。IP コアが Low のパワー・ステートの場合、 そのメッセージを送信するためにリンクが Low のパワー・ステートから存在し ます。この信号は、ポジティブ・エッジ・センシティブです。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒45 表 5‒19. パワー・マネージメントの信号 ( その 2 ) I/ O 信号 説明 パワー・マネージメント・データ。この信号は、ハード IP 実装のみに使用可能 です。 このバスは、コンポーネントの消費電力の見積もりを表示します。このバスは、 AUX_power(パワー・マネージメントの機能構造の一部)の 3 つすべてのバスが 0 に設定される場合のみに実装されます。このバスには次のビットが含まれてい ます。 pm_data[9:0] ■ pm_data[9:2]: データ・レジスタ。このレジスタは、コンポーネントによって 見積もられる消費電力に関連付けられた値を維持するために使用されます。 (以下の例を参照してください。) ■ pm_data[1:0]: データ・スケール。このレジスタは、特定のコンポーネントに よって見積もられる消費電力を調べるために使用されるスケールを維持する ために使用され、以下の値を含めることができます。 I b’00: 不明 b’01: 0.1 × b’10: 0.01 × b’11: 0.001 × 例えば、2 つのレジスタは次の値を持つ可能性があります。 ■ pm_data[9:2]: b’1110010 = 114 ■ pm_data[1:0]: b’10、0.01 の係数をエンコードするもの このコンポーネントによって見積もられる最大消費電力を調べるには、データ 値をデータ・スケールで乗算します(114 × .01 = 1.14)。1.14 ワットは、 data_select フィールドによって選択されたパワー・ステートの中でこのコン ポーネントによって割り当てられた最大消費電力です。 pm_auxpwr I パワー・マネージメントの補助消費電力。この信号は、ハード IP 実装のみに使 用可能です。L2 のパワー・ステートがサポートされていないため、この信号を 0 に接続することができます。 表 5–20 に、パワー・マネージメント機能のレジスタのさまざまなフィールドの使用 について一覧を示します。 表 5‒20. パワー・マネージメント機能レジスタのフィールドの説明 ( その 1 ) ビット フィールド 説明 このフィールドは、パワー・ステートの中でファンクションが PME# メッセー ジをアサートできることを表示します。 [31:24] Data register [22:16] reserved [15] PME_status この信号が 1 に設定されている場合、ファンクションが PME_en ビットのス テートとは独立に通常 PME# メッセージをアサートすることを表示します。 [14:13] data_scale このフィールドは、データ・レジスタから取得した値として解釈する場合に スケーリングの係数を表示します。このフィールドは読み出し専用です。 [12:9] data_select このフィールドは、どのデータがデータ・レジスタおよび data_scale フィー ルドを経由して通知されるべきか表示します。 [8] PME_EN 1: ファンクションが PME# をアサートできることを示します。 0: ファンクションが PME# をアサートできないことを示します。 2011 年 5 月 Altera Corporation — PCI Express 用の IP コンパイラのユーザー・ガイド 5‒46 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5‒20. パワー・マネージメント機能レジスタのフィールドの説明 ( その 2 ) ビット [7:2] フィールド 説明 — reserved 表示されている動作条件のパワー・マネージメント・ステートを指定します。 定義されたエンコーディングは、以下の通りです。 [1:0] PM_state ■ 2b’00 D0 ■ 2b’01 D1 ■ 2b’10 D2 ■ 2b’11 D デバイスは、D3-Cold PM ステートを指定するために、このフィールドに 2b’11 を返し、タイプ・レジスタに Aux または PME Aux を返します。2b’11 のエン コーディングと他のタイプ・レジスタ値を組み合わせることで、D3-Hot ス テートが指定されます。 図 5–35 に、エンドポイントでの pme_to_sr および pme_to_cr の動作を示します。ま ず、IP コアは、pme_to_sr のアサートが発生する PME_turn_off メッセージを受信し ます。次に、アプリケーションは、pme_to_cr のアサートによって PME_to_ack メッ セージをルート・ポートへ送信します。 図 5‒35. IP コアのエンドポイントでの pme_to_sr および pme_to_cr clk soft IP hard IP pme_to_sr pme_to_cr pme_to_sr pme_to_cr コンプリーション側波帯信号 表 5–21 に、Avalon-ST インタフェース用のコンプリーション側波帯信号を構成する信 号を示します。IP コアは、アプリケーションがプログラミング・モデル・エラーな どのエラーをそれに通知するために使用することができるコンプリーション・エ ラー・インタフェースを提供します。アプリケーションがエラーを検出する場合、 記録するエラーの種類を IP コアに示すために、適切な cpl_err ビットをアサートす ることができます。独立したリクエストで 2 つのエラーが発生する場合、両方とも 記録されます。例えば、コンプリタ・アボートおよびコンプリーション・タイム・ アウトが発生する場合、1 サイクルの間に cpl_err[2] および cpl_err[0] の両方が アサートされます。IP コアは、コンフィギュレーション・スペース内でのエラーの ために適切なステータス・ビットを設定し、PCI Express Base Specification に従って自 動的にエラー・メッセージを送信します。 アプリケーションは、ノン・ポステッド・リクエスト用の適切なコンプリーション・ ステータス値を持つコンプリーションを送信する必要があります。IP コアによって 自動的に検出されて処理されるエラーについて詳しくは、Chapter 12, エラー処理を参 照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 5‒47 f コンプリーション・ルール、コンプリーション・ヘッダ・フォーマット、コンプ リーション・ステータス・フィールド値について詳しくは、PCI Express Base Specification, Rev. 2.0 の Section 2.2.9 を参照してください。 表 5‒21. Avalon-ST インタフェース用のコンプリーション信号 ( その 1 ) 信号 I/O 説明 コンプリーション・エラー。この信号は、コンプリーション・エラー をコンフィギュレーション・スペースに通知します。エラーが発生す る場合、適切な信号は 1 サイクルの間にアサートされます。 cpl_err[6:0] 2011 年 5 月 Altera Corporation ■ cpl_err[0]: リカバリのあるコンプリーション・タイム・アウト・エ ラー。この信号は、エラーが訂正可能なとき、50 ms のタイム・ア ウト期間の後に対応するコンプリーション・トランザクションを決 して受信しないノン・ポステッド・リクエストをマスタのようなイ ンタフェースが既に実行した場合にアサートされる必要があります。 IP コアは、ルート・コンプレックスに送信されるアドバイザリ・エ ラー・メッセージを自動的に生成します。 ■ cpl_err[1]: リカバリのないコンプリーション・タイム・アウト・エ ラー。この信号は、エラーが訂正不能なとき、50 ms のタイム・ア ウト期間の後に対応するコンプリーション・トランザクションを決 して受信しないノン・ポステッド・リクエストをマスタのようなイ ンタフェースが既に実行した場合にアサートされる必要があります。 IP コアは、ルート・コンプレックスに送信されるノン・アドバイザ リ・エラー・メッセージを自動的に生成します。 ■ cpl_err[2]: コンプリタ・アボート・エラー。アプリケーションは、 コンプリタ・アボート(CA)コンプリーションを持つポステッド・ リクエストまたはノン・ポステッド・リクエストに応答するために この信号をアサートします。ノン・ポステッド・リクエストの場合、 アプリケーションはコンプリタ・アボート(CA)ステータスを持つ コンプリーション・パケットを生成して、リクエスタに送信し、そ の後にこのエラー信号を IP コアにアサートします。IP コアは、コン フィギュレーション・スペース・レジスタの中でエラー・ステータ ス・ビットを自動的に設定し、 PCI Express Base Specification に従っ てエラー・メッセージを送信します。 I ■ cpl_err[3]: 予期しないコンプリーション・エラー。この信号は、ア プリケーション・レイヤのマスタ・ブロックが予期しないコンプ リーション・トランザクションを検出する場合にアサートされる必 要があります。予期しないコンプリーションの多くのケースは、IP コアのトランザクション・レイヤによって内部で検出されて通知さ れます。これらのケースのリストについて詳しくは、12–3 ページの 「トランザクション層のエラー」を参照してください。 ■ cpl_err[4]: ポステッド TLP 用の非サポート・リクエスト・エラー。 アプリケーションは、ポステッド・リクエストを非サポート・リク エスト(UR)として扱うためにこの信号をアサートします。IP コア は、コンフィギュレーション・スペース・レジスタの中でエラー・ ステータス・ビットを自動的に設定し、 PCI Express Base Specification に従ってエラー・メッセージを送信します。非サポー ト・リクエストの多くのケースは、IP コアのトランザクション・レ イヤによって内部で検出されて通知されます。これらのケースのリ ストについて詳しくは、12–3 ページの「トランザクション層のエ ラー」を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 5‒48 第 5 章 : IP コア・インタフェース Avalon-ST インタフェース 表 5‒21. Avalon-ST インタフェース用のコンプリーション信号 ( その 2 ) 信号 I/O 説明 ■ cpl_err[5]: ノン・ポステッド TLP 用の非サポート・リクエスト・エ ラー。アプリケーションは、非サポート・リクエスト(UR)のコン プリーションを持つノン・ポステッド・リクエストに応答するため にこの信号をアサートします。この場合、アプリケーションは、リ クエスタから返ってくる非サポート・リクエスト・ステータスを持 つコンプリーション・パケットを送信し、このエラー信号を IP コア にアサートします。IP コアは、コンフィギュレーション・スペー ス・レジスタの中でエラー・ステータス・ビットを自動的に設定し、 PCI Express Base Specification に従ってエラー・メッセージを送信し ます。非サポート・リクエストの多くのケースは、IP コアのトラン ザクション・レイヤによって内部で検出されて通知されます。これ らのケースのリストについて詳しくは、12–3 ページの「トランザク ション層のエラー」を参照してください。 ■ cpl_err[6]: ログ・ヘッダ。アサートされる場合、err_desc_func0 ヘッダを記録します。Avalon-ST インタフェースを使用するソフト IP およびハード IP の両方の実装で使用されます。 I アサートされる場合、最初のエラー検出のときに TLP ヘッダは AER ヘッダ・ログ・レジスタにログインされます。使用される場合、こ の信号は対応する cpl_err エラー・ビット(2、3、4、または 5)と 同時にアサートされる必要があります。 cpl_err[6:0] (continued) ソフト IP 実装では、アプリケーションは TLP ヘッダを err_desc_func0 バス上の IP コアに提示します。ハード IP 実装では、 アプリケーションは、cpl_err[6] のアサートの前に LMI を使用して 以下の値を 4 つのレジスタに書き込むことで、ヘッダを IP コアに提 示します。 ■ lmi_addr: 12'h81C, lmi_din: err_desc_func0[127:96] ■ lmi_addr: 12'h820, lmi_din: err_desc_func0[95:64] ■ lmi_addr: 12'h824, lmi_din: err_desc_func0[63:32] ■ lmi_addr: 12'h828, lmi_din: err_desc_func0[31:0] LMI の信号伝達について詳しくは、5–41 ページの「LMI の信号 — ハー ド IP 実装」を参照してください。 ×8 のソフト IP では、cpl_err のビット [3:1] のみ使用可能です。×1 と ×4 のソフト IP 実装、およびハード IP 実装のすべての幅では、すべて のビットが使用可能です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 5‒49 表 5‒21. Avalon-ST インタフェース用のコンプリーション信号 ( その 3 ) 信号 I/O err_desc_func0 [127:0] I 説明 cpl_err に対応する TLP ヘッダ。cpl_err[6] がアサートされる場合に IP コアによって記録されます。この信号は、×1 および ×4 のソフト IP 実 装のみに使用可能です。ハード IP 実装では、この情報は LMI インタ フェースを経由して AER ヘッダ・ログ・レジスタに書き込むことがで きます。AER がユーザーのバリエーションに実装されていない場合、 このバスはすべて 0 に接続される必要があります。 err_desc_func0 での dword ヘッダの [3:0] の順序は、{ ヘッダ 0、ヘッダ 1、 ヘッダ 2、ヘッダ 3} となります。 I cpl_pending コンプリーション待ち。アプリケーション・レイヤは、マスタ・ブ ロックがコンプリーションを待っている場合、例えばトランザクショ ン・レイヤが待ち状態の場合に、この信号をアサートする必要があり ます。この信号がアサートされて Low パワー・モードがリクエストさ れる場合、IP コアは Low パワー・ステートへの遷移の前のこの信号の デアサートを待ちます。 Avalon-MM アプリケーション・インタフェース SOPC Builder のデザイン・フローを使用する場合、PCI Express 用の IP コンパイラの ソフトまたはハードの IP 実装のいずれかを選択することができます。Qsys デザイ ン・フローでは、ハード IP 実装のみ使用可能です。両方のデザイン・フローで、 ハード IP 実装は、フル機能のエンドポイントとして、またはコンプリタのみの単一 dword のエンドポイントとして使用可能です。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒50 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 図 5–36 に、SOPC Builder のデザイン・フローで使用可能なフル機能の PCI Express 用 の IP コンパイラのすべての信号を示します。ユーザーのパラメータ設定は、いくつ かのポートを含んでいない可能性があります。Avalon-MM の信号は、この図の左側に 示されています。 図 5‒36. Avalon-MM インタフェースを持つソフトまたはハードのフル機能 IP コアの SOPC Builder での信号 Signals in the IP Compiler for PCI Express with Avalon-MM Interface (SOPC Builder) 32-Bit Avalon-MM CRA Slave Port 64-Bit Avalon-MM Rx Master Port 64-Bit Avalon-MM Tx Slave Port Clock Reset & Status CraIrq_o CraReadData_o[31:0] CraWaitRequest_o CraAddress_i[11:0] CraByteEnable_i[3:0] CraChipSelect_i CraRead_i CraWrite_i CraWriteData_i[31:0] (1) reconfig_fromgxb[<n>:0] (2) reconfig_togxb[<n>:0] reconfig_clk cal_blk_clk gxb_powerdown busy_altgxb_reconfig fixedclk_serdes Transceiver Control rc_pll_locked Transceiver Status tx_out0,...,tx_out3 rx_in0,...,rx_in3 pipe_mode xphy_pll_areset xphy_pll_locked txdata<n>_ext[15:0] txdatak<n>_ext[1:0] txdetectrx_ext txelectidle<n>_ext txcompl<n>_ext rxpolarity<n>_ext powerdown<n>_ext[1:0] rxdata<n>_ext[15:0] rxdatak<n>_ext[1:0] rxvalid<n>_ext phystatus_ext rxelectidle<n>_ext rxstatus0_ext[2:0] RxmWrite_o RxmRead_o RxmAddress_o[31:0] RxmWriteData_o[63:0] RxmByteEnable_o[7:0] RxmBurstCount_o[9:0] RxmWaitRequest_i RxmReadDataValid_i RxmReadData_i[63:0] RxmIrq_i RxmIrqNum_i[5:0] RxmResetRequest_o TxsChipSelect_i TxsRead_i TxsWrite_i TxsAddress_i[WIDTH-1:0] TxsBurstCount_i[9:0] TxsWriteData_i[63:0] TxsByteEnable_i[7:0] TxsReadDataValid_o TxsReadData_o[63:0] TxsWaitRequest_o txdata0_ext[7:0] txdatak0_ext txdetectrx_ext txelectidle0_ext txcompl0_ext rxpolarity0_ext powerdown0_ext[1:0] rxdata0_ext[7:0] rxdatak0_ext rxvalid0_ext phystatus_ext rxelectidle0_ext rxstatus0_ext[2:0] rate_ext refclk clk125_out clk250_out clk500_out AvlClk_i reset_n pcie_rstn suc_spd_neg reset_status tl_cfg_{add, ctl, ctl_wr, sts, sts_wr} test_in[31:0] test_out[511 or 127 or 63 or 8:0] (test_out is optional) 1-Bit Serial Soft IP Implementation 16-Bit PIPE for x1 and x4 (Repeat for lanes 1-3 in x4) Hard IP Implementation 8-Bit PIPE Simulation Only (3) Test Interface 図 5–36 の注: (1) Stratix II GX、Stratix IV GX、Arria GX、および HardCopy IV GX デバイスで使用可能。reconfig_fromgxb は、Stratix II GX および Arria GX デバイス用の単一配線です。Stratix IV GX デバイスでは、×1 および ×4 の IP コアのとき <n> = 16、×8 の IP コアのとき <n> = 33 です。 (2) Stratix II GX、Stratix IV GX、Arria GX、および HardCopy IV GX デバイスで使用可能。Stratix II GX および Arria GX の reconfig_togxb では、<n> = 2 です。Stratix IV GX の reconfig_togxb では、<n> = 3 です。 (3) 青字の信号は、シミュレーションのみに使用される信号です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 5‒51 図 5–37 に、Qsys のデザイン・フローで使用可能なフル機能の PCI Express 用の IP コ ンパイラのすべての信号を示します。ユーザーのパラメータ設定は、いくつかの ポートを含んでいない可能性があります。Avalon-MM 信号は、この図の左側に示され ています。 1 Qsys のデザイン・フローで使用可能な PCI Express 用の IP コンパイラは、外部 PHY の使 用をサポートしません。 図 5‒37. Avalon-MM インタフェースを持つハードのフル機能 IP コアの Qsys での信号 Signals in the IP Compiler for PCI Express with Avalon-MM Interface (Qsys) 32-Bit Avalon-MM CRA Slave Port 64-Bit Avalon-MM Rx Master Port 64-Bit Avalon-MM Tx Slave Port CraIrq_irq Cra_readdata[31:0] Cra_waitrequest Cra_address[11:0] Cra_byteenable[3:0] Cra_chipselect Cra_read Cra_write Cra_writedata[31:0] Bar<a>_<b>_read<n> Bar<a>_<b>_write<n> Bar<a>_<b>_address<n>[<w>-1:0] Bar<a>_<b>_writedata<n>[63:0] Bar<a>_<b>_byteenable<n>[7:0] Bar<a>_<b>_burstcount<n>[6:0] Bar<a>_<b>_waitrequest<n> Bar<a>_<b>_readdatavalid<n> Bar<a>_<b>_readdata<n>[63:0] RxmIrq[N:0], N < 16 Txs_chipselect Txs_read Txs_write Txs_address[19:0] Txs_burstcount[6:0] Txs_writedata[63:0] Txs_byteenable[7:0] Txs_readdatavalid Txs_readdata[63:0] Txs_waitrequest Clock refclk_export pcie_core_clk_clk pcie_core_reset_reset_n avalon_clk_clk Reset & Status avalon_reset_reset pcie_rstn_export suc_spd_neg reconfig_fromgxb_data[<n>:0] reconfig_togxb_data[<n>:0] reconfig_gxbclk_clk cal_blk_clk_clk pipe_ext_gxb_powerdown fixedclk_serdes Transceiver Control tx_out_tx_dataout[3:0] rx_in_rx_datain[3:0] pipe_mode 1-Bit Serial txdata0_ext[7:0] txdatak0_ext txdetectrx_ext txelectidle0_ext txcompl0_ext rxpolarity0_ext powerdown0_ext[1:0] rxdata0_ext[7:0] rxdatak0_ext rxvalid0_ext phystatus_ext rxelectidle0_ext rxstatus0_ext[2:0] rate_ext clocks_sim_clk125_export clocks_sim_clk500_export clocks_sim_clk250_export test_in_test_in[39:0] test_out_test_out[63:0] (test_out is optional) Hard IP Implementation 8-Bit PIPE Simulation Only (1) Test Interface 図 5–37 の注: (1) 青字の信号は、シミュレーションのみに使用される信号です。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒52 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 図 5–38 に、PCI Express 用の IP コンパイラでの単一 dword、コンプリタのみの信号を 示します。 図 5‒38. Avalon-MM インタフェースを持つ IP コアの単一 Dword、コンプリタのみの SOPC Builder での信号 Signals in the Completer Only Single Dword IP Compiler for PCI Express (1) (SOPC Builder Generated) reconfig_fromgxb[<n>:0] reconfig_togxb[<n>:0] reconfig_clk cal_blk_clk gxb_powerdown 32-Bit Avalon-MM Rx Master Port tx[3:0] rx[3:0] pipe_mode xphy_pll_areset xphy_pll_locked RxmWrite_o RxmRead_o RxmAddress_o[31:0] RxmWriteData_o[31:0] RxmByteEnable_o[3:0] RxmWaitRequest_i RxmReadDataValid_i RxmReadData_i[31:0] RxmIrq_i RxmResetRequest_o Clock refclk clk125_out AvlClk_i Reset & Status reset_n pcie_rstn suc_spd_neg txdata0_ext[7:0] txdatak0_ext txdetectrx_ext txelectidle0_ext txcompl0_ext rxpolarity0_ext powerdown0_ext[1:0] rxdata0_ext[7:0] rxdatak0_ext rxvalid0_ext phystatus_ext rxelectidle0_ext rxstatus0_ext[2:0] test_in[31:0] test_out[511:0], [63:0], or [9:0] (test_out is optional) Transceiver Control 1-Bit Serial Hard IP Implementation 8-Bit PIPE Simulation Only (2) Test Interface 図 5–38 の注: (1) このバリアントは、ハード IP 実装のみに使用可能です。 (2) 青字の信号は、シミュレーションのみに使用される信号です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 5‒53 図 5–39 に、PCI Express 用の IP コンパイラでの単一 dword、コンプリタのみの信号を 示します。 図 5‒39. Avalon-MM インタフェースを持つ IP コアの単一 Dword、コンプリタのみの Qsys での信号 Signals in the Completer Only Single Dword IP Compiler for PCI Express (1) (Qsys Generated) reconfig_fromgxb[<n>:0] reconfig_togxb[<n>:0] reconfig_clk cal_blk_clk gxb_powerdown Bar<a>_<b>_write<n> Bar<a>_<b>_read<n> Bar<a>_<b>_address<n>[31:0] Bar<a>_<b>_writedata<n>[31:0] Bar<a>_<b>_byteenable<n>[3:0] Bar<a>_<b>_waitrequest Bar<a>_<b>_readdatavalid Bar<a>_<b>_readdata_i[31:0] RxmIrq 32-Bit Avalon-MM Rx Master Port Clock refclk clk125_out fixedclk_serdes Reset & Status reset_n pcie_rstn suc_spd_neg Transceiver Control tx[3:0] rx[3:0] pipe_mode xphy_pll_areset xphy_pll_locked 1-Bit Serial txdata0_ext[7:0] txdatak0_ext txdetectrx_ext txelectidle0_ext txcompl0_ext rxpolarity0_ext powerdown0_ext[1:0] rxdata0_ext[7:0] rxdatak0_ext rxvalid0_ext phystatus_ext rxelectidle0_ext rxstatus0_ext[2:0] Hard IP Implementation 8-Bit PIPE Simulation Only (2) test_in[31:0] test_out[511:0], [63:0], or [9:0] (test_out is optional) Test Interface 図 5–39 の注: (1) このバリアントは、ハード IP 実装のみに使用可能です。 (2) 青字の信号は、シミュレーションのみに使用される信号です。 表 5–22 に、これらの IP コア用のインタフェースを、それらが説明されている項へ のリンクと共に示します。 表 5‒22. Avalon-MM インタフェース付きの PCI Express バリエーションを持つ IP コンパイラでの AvalonMM の信号グループ ( その 1 ) 信号グループ フル 機能 コンプリ タのみ 説明 論理 Avalon-MM CRA スレーブ v — 5–54 ページの「32 ビットのノン・バーストの Avalon-MM CRA スレーブ信号」 Avalon-MM RX マスタ v v 5–55 ページの「RX Avalon-MM のマスタ信号」 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒54 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 表 5‒22. Avalon-MM インタフェース付きの PCI Express バリエーションを持つ IP コンパイラでの AvalonMM の信号グループ ( その 2 ) フル 機能 コンプリ タのみ Avalon-MM TX スレーブ v — 5–56 ページの「64 ビットのバーストの TX Avalon-MM ス レーブ信号」 クロック v v 5–58 ページの「クロック信号」 リセットおよびステータス v v 5–58 ページの「リセットおよびステータス信号」 トランシーバ・コントロール v v 5–60 ページの「トランシーバ・コントロール信号」 シリアル v v 5–62 ページの「シリアル・インタフェース信号」 Pipe v v 5–64 ページの「PIPE インタフェース信号」 テスト v v 5–66 ページの「テスト信号」 信号グループ 説明 物理およびテスト f Avalon-MM インタフェースを持つ PCI Express 用の IP コンパイラのバリエーションは、 Avalon Interface Specifications に説明されている Avalon-MM プロトコルを実装します。 タイミング図を含む Avalon-MM プロトコルについて詳しくは、この仕様を参照して ください。 32 ビットのノン・バーストの Avalon-MM CRA スレーブ信号 フル機能 IP コア用のこのオプションのポートによって、アップストリーム PCI Express デバイスおよび外部 Avalon-MM マスタが、内部コントロールおよびス テータス・レジスタにアクセスできるようになります。 表 5–23 に、CRA スレーブ・ポートを示します。 表 5‒23. Avalon-MM CRA スレーブ・インタフェース信号 ( その 1 ) SOPC Builder/Qsys での 信号名 I/O タイプ 説明 CraIrq_o/CraIrq_irq O Irq 割り込みリクエスト。Avalon-MM 割り込み用のポート・リクエ スト。 CraReadData_o[31:0]/ Cra_readdata[31:0] O Readdata リード・データ・ライン。 CraWaitRequest_o/ Cra_waitrequest O Waitrequest 更なるリクエストをオフに保持するためのウェイト・リクエス ト。 CraAddress_i[11:0]/ Cra_address[11:0] I Address 16,384 バイトのアドレス・スペースは、コントロール・レジス タに割り当てられます。Avalon-MM のスレーブ・アドレスは、 スレーブ・データ・バスの幅に落ち着くアドレス解決を提供し ます。すべてのアドレスがバイト・アドレスであるため、この アドレスは論理的にビット 2 に落ち着きます。ビット 1 および 0 は 0 に落ち着きます。 CraByteEnable_i[3:0]/ Cra_byteenable[3:0] I Byteenable バイト・イネーブル。 CraChipSelect_i/ Cra_chipselect I Chipselect このスレーブへのチップ・セレクト信号。 CraRead_i/Cra_read I Read リード・イネーブル。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 5‒55 表 5‒23. Avalon-MM CRA スレーブ・インタフェース信号 ( その 2 ) SOPC Builder/Qsys での 信号名 I/O タイプ 説明 CraWrite_i/Cra_write I Write ライト・リクエスト。 CraWriteData_i[31:0]/ Cra_writedata[31:0] I Writedata ライト・データ。 RX Avalon-MM のマスタ信号 この Avalon-MM のマスタ・ポートは、PCI Express のリクエストを SOPC Builder または Qsys インタコネクト・ファブリックに伝えます。フル機能の IP コアでは、リクエス トをバースト・リードまたはバースト・ライトとして伝えます。コンプリタのみの IP コアでは、リクエストは単一 dword です。表 5–24 に、RX マスタ・インタフェー スのポートを一覧にして示します。 表 5‒24. Avalon-MM の RX マスタ・インタフェース信号 ( その 1 ) SOPC Builder/Qsys での信号名 I/O 説明 RxmRead_o/ Bar<a>_<b>_read<n> O リードをリクエストするためにコアによってアサートされます。 RxmWrite_o/ Bar<a>_<b>_write<n> O ライトをリクエストするためにコアによって Avalon-MM スレーブ に対してアサートされます。 RxmAddress_o[31:0]/ Bar<a>_<b>_address<n>[11:0] O Avalon-MM スレーブがアクセスされているアドレス。 RxmWriteData_o[<n>:0]/ Bar<a>_<b>_writedata<n>[63:0] O スレーブに書き込まれている RX データ。フル機能の IP コアでは <n>= 63。コンプリタのみ、単一 dword の IP コアでは <n> = 31。 RxmByteEnable_o[<n>:0]/ Bar<a>_<b>_byteenable<n>[7:0] O ライト・データ用のバイト・イネーブル。フル機能の IP コアでは <n>= 63。コンプリタのみ、単一 dword の IP コアでは <n> = 31。 RxmBurstCount_o[9:0]/ Bar<a>_<b>_burstcount<n>[6:0] O RX ライト・リクエストまたはリード・リクエストの qwords 単位 で表されたバースト・カウント。幅は、リクエストできる最大 データを表します。SOPC Builder のバリエーションでは、バース トの最大データは 4 K バイトです。Qsys バリエーションでは、 バーストの最大データは 512 バイトです。 RXmWaitRequest_i/ Bar<a>_<b>_waitrequest<n> I データ転送を維持するために外部 Avalon-MM スレーブによってア サートされます。 RxmReadData_i[<n>:0]/ Bar<a>_<b>_readdatavalid<n> I リード・リクエストに対応して Avalon-MM スレーブからリターン されたリード・データ。このデータは、TX インタフェースを経由 して IP コアに送られます。フル機能の IP コアでは <n>= 7。コン プリタのみ、単一 dword の IP コアでは <n> = 3。 RxmReadDataValid_i/ Bar<a>_<b>_readdata<n>[63:0] I リード・データが有効であることを示すために、システム・イン タコネクト・ファブリックによってアサートされます。 I システム・インタコネクト・ファブリックからアサートされる割 り込みリクエストを示します。この信号は、コントロール・レジ スタ・アクセス・ポートがイネーブルされる場合のみ使用可能で す。Qsys で生成されたバリエーションは、16 の個別の割り込み信 号を持っています(<n> ≤ 15)。 RxmIrq_i/RxmIrq[<n>:0] 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒56 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 表 5‒24. Avalon-MM の RX マスタ・インタフェース信号 ( その 2 ) SOPC Builder/Qsys での信号名 RXmIrqNum_i[5:0] /Qsys では使用不可能 RxmResetRequest_o/Qsys では使用 不可能 I/O 説明 I アサートされている割り込みリクエストの ID を示します。この信 号は、コントロール・レジスタ・アクセス・ポートなしのコンプ リタのみの単一 dword のバリエーションで使用可能です。しかし、 コントロール・レジスタ・アクセス・ポートがイネーブルされる バリエーションの中では、他の SOPC Builder で生成されたバリ エーションのみに使用可能です。Qsys バリエーションが AvalonMM の個々のリクエストの割り込み方式を実装するため、この信 号は、Qsys で生成されたバリエーションでは使用不可能です。 O このリセット信号は、以下のいずれかの状態の場合にアサートさ れます。npor、l2_exit、hotrst_exist、dlup_exit、または reset_n がアサートされる、または ltssm == 5’h10。SOPC Builder で PCI Express 用の IP コンパイラを使用する場合のリセット・ロ ジックの回路図について詳しくは、5–59 ページの 図 5–40 を参照 してください。 64 ビットのバーストの TX Avalon-MM スレーブ信号 このオプションの Avalon-MM のバースト・スレーブ・ポートは、リクエストをイン タコネクト・ファブリックからフル機能の PCI Express 用の IP コンパイラに送りま す。インタコネクト・ファブリックからのリクエストは、PCI Express のリクエスト・ パケットに変換されます。受信されるリクエストは、SOPC Builder システムのサイズ としては最大 4 K バイトまで可能で、Qsys システムのサイズとしては最大 512 バイ トまで可能です。性能を向上させるために、アルテラはより小さなリード・リクエ スト・サイズ(最大 512 バイト)を使用することを推奨します。 表 5–25 に、TX スレーブ・インタフェース・ポートを一覧にして示します。 表 5‒25. Avalon-MM TX スレーブ・インタフェース信号 ( その 1 ) SOPC Builder/Qsys での信号名 I/O 説明 TxsChipSelect_i/Txs_chipselect I システム・インタコネクト・ファブリックは、TX スレー ブ・ポートを選択するためにこの信号をアサートします。 TxsRead_i/Txs_read I リードをリクエストするためにシステム・インタコネク ト・ファブリックによってアサートされるリード・リク エスト。 ライトをリクエストするためにシステム・インタコネク ト・ファブリックによってアサートされるライト・リク エスト。 TxsWrite_i/Txs_write PCI Express 用の IP コンパイラのユーザー・ガイド I PCI Express 用の IP コンパイラは、Avalon-MM マスタが バーストの最初のデータ・フェーズから最後のデータ・ フェーズまでこの信号を連続してアサートすることをリ クエストします。Avalon-MM マスタ・アプリケーション・ ソフトウェアは、データがインタコネクト・ファブリッ クに停止することなく渡されることを保証する必要があ ります。この動作は、Avalon-MM マスタで最も容易にス トア・アンド・フォワード・バッファで実装されます。 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 5‒57 表 5‒25. Avalon-MM TX スレーブ・インタフェース信号 ( その 2 ) SOPC Builder/Qsys での信号名 I/O 説明 I 外部 Avalon-MM マスタからのリード・リクエストまたは ライト・リクエストのアドレス。このアドレスは、変換 テーブルに基づいて 64 ビットまたは 32 ビットの PCI Express のアドレスに変換します。システムが生成される 場合、TXS_ADDR_WIDTH の値が決定されます。 TxsBurstCount_i[9:0]/ Txs_burstcount[9:0] I リクエストされたデータの量を表すシステム・インタコ ネクト・ファブリックによってアサートされます。カウ ント単位は、単一データ・フェーズで変換されたデータ の量、つまりバスの幅です。リクエストされるデータの 量は、PCI Express プロトコルによってサポートされる最 大のデータ・ペイロードの 4 K バイトに制限されます。 Qsys システムでは、バースト・カウントは 512 バイトに 制限されます。 TxsWriteData_i[63:0]/ Txs_writedata[63:0] I 外部 Avalon-MM マスタによって TX スレーブ・ポートに送 信されるライト・データ。 TxsByteEnable_i[7:0]/ Txs_byteenable[7:0] I データ用にイネーブルされるライト・バイト。バースト は連続である必要があります。そのため、バーストのす べての中間データ・フェーズは、バイト・イネーブル値 0xFF を持つ必要があります。バーストの最初および最後 のデータ・フェーズは、他の有効な値をとることができ ます。 TxsReadDataValid_o/Txs_readdatavalid O リード・データが有効であることを示すために、ブリッ ジによってアサートされます。 TxsReadData_o[63:0]/ Txs_readdata[63:0] O リード用の RX リード・コンプリーションが既に受信さ れて内部バッファに格納された場合、ブリッジは、この バスにリード・データを返します。 O バッファ・スペースが不足する場合、ライト・データを オフに保持するためにブリッジによってアサートされま す。この信号が動作中にアサートされる場合、マスタは TxsWaitRequest がデアサートされる後まで TxsRead_i 信 号(または TxsWrite_i および TxsWriteData_i)を安定 した状態に維持する必要があります。 TxsAddress_i[TXS_ADDR_WIDTH-1:0]/ Txs_address[TXS_ADDR_WIDTH-1:0] TxsWaitRequest_o/Txs_waitrequest 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒58 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース クロック信号 表 5–26 に、SOPC Builder または Qsys で生成された PCI Express 用の IP コンパイラの バリエーションのためのクロック信号を示します。 表 5‒26. Avalon-MM クロック信号 SOPC Builder/Qsys での信号名 I/O 説明 I 外部クロック・ソース。Avalon Configuration ページの Use separate clock オプションをオンにする場合、PCI Express プロトコル・レイヤは refclk から生成された内部クロッ クによってドライブされます。このオプションは、Qsys では使用不可能です。 clk125_out/pcie_core_clk O このクロックは、PCI Express 用の IP コンパイラによって エクスポートされます。IP コアの外部ロジック用に使用 することができます。これは SOPC Builder には表示され ず、システムの他の Avalon-MM コンポーネントをドライブ するために使用することはできません。 pcie_core_reset_reset_n(Qsys のみ) O これは、Qsys の中の pcie_core_clk_clk ドメイン用のリ セット信号です。 I Avalon-MM グローバル・クロック。clk は、SOPC Builder シ ステムのメイン・クロック・ソースである AvlClk_i に接 続します。clk はユーザー指定です。これは PCB で生成す ることができ、あるいはシステムの他のロジックから得る ことができます。 refclk/refclk_export AvlClk_i/ 使用不可能 クロッキング方式について詳しくは、7–12 ページの「Avalon-MM インタフェース – ハード IP およびソフト IP の実装」を参照してください。 リセットおよびステータス信号 表 5–27 に、SOPC Builder および Qsys で生成される PCI Express 用の IP コンパイラの バリエーションのためのリセットおよびステータス信号を示します。 表 5‒27. Avalon-MM のリセットおよびステータス信号 Signal I/O Description pcie_rstn/ pcie_rstn_export I Pcie_rstn は、PCI Express 用の IP コンパイラのすべてのスティッキーなコン フィギュレーション・レジスタを npor 入力を経由して直接リセットします。 スティッキーなレジスタとは、L2 の Low パワー・モードまたは基本的なリ セット時のリセットに失敗したレジスタのことです。 reset_n/ avalon_reset I reset_n は、 pcie_rstn/pcie_rstn_export によって影響されない PCI Express の IP コアのすべての回路をリセットするシステム・ワイド・リセットです。 suc_spd_neg/ suc_spd_neg O suc_spd_neg は、アサートされた場合、Gen2 へのスピード・ネゴシエーショ ンの成功を示すステータス信号です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース Avalon-MM アプリケーション・インタフェース 5‒59 図 5–40 に、SOPC Builder および Qsys システムでの PCI Express 用の IP コンパイラの リセット・ロジックを示します。 Reset Synchronizer (to Avalon-MM clock) 図 5‒40. PCI Express の SOPC Builder でのリセット図 IP Compiler for PCI Express PCI Express Avalon-MM Bridge Reset_n_pcie Rstn_i Transaction Layer Data Link Layer Physical Layer System Interconnect Fabric npor Reset Synchronizer (to IP Compiler for PCI Express Clock) Reset_request Reset Request Module Reset_n RxmResetRequest_o npor srst crst l2_exit hotrst_exit dlup_exit dl_ltssm[4:0] PCIe_rstn 図の注: (1) reset_n/avalon_reset のシステム・ワイド・リセットは、PCIe_rstn/pcie_rstn_export に影響されない PCI Express 用の IP コ ンパイラのすべての回路を、reset_n_pcie 信号およびリセット・シンクロナイザ・モジュールを使用して間接的にリセットし ます。 (2) ltssm[4:0] バスの説明については、表 5–7 を参照してください。 また、Pcie_rstn は以下の同期化のプロセスの後のみに、PCI Express 用 IP の IP コンパ イラの残りをリセットします。 1. pcie_rstn をアサートする場合、リセット・リクエスト・モジュールは AvalonMM クロックに同期して reset_request をリセット・シンクロナイザ・ブロック にアサートします。 2. リセット・シンクロナイザ・ブロックは、リセット・パルスの reset_n_pcie を Avalon-MM クロックに同期して PCI Express 用の IP コンパイラに送信します。 3. リセット・シンクロナイザは、PCI Express の Avalon-MM ブリッジおよび srst と crst を持つ 3 つの PCI Express 用の IP コンパイラのレイヤをリセットするために、 reset_n_pcie を PCI Express 用の IP コンパイラのクロック(pcie_core_clk または clk125_out)に再同期させます。 4. reset_request 信号は、Reset_n_pcie のアサート後にデアサートします。 reset_n のシステム・ワイド・リセットは、Pcie_rstn に影響されない PCI Express 用の IP コンパイラのすべての回路をリセットします。しかし、リセット・ロジックは最 初に非同期 reset_n を傍受してそれを Avalon-MM クロックに同期させ、リセット・ パルスの Reset_n_pcie を PCI Express 用の IP コンパイラに送信します。リセット・ シンクロナイザは、PCI Express の Avalon-MM ブリッジおよび srst と crst を持つ 3 つの PCI Express 用の IP コンパイラのレイヤをリセットするために、Reset_n_pcie を PCI Express 用の IP コンパイラのクロックに再同期させます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒60 第 5 章 : IP コア・インタフェース 物理層のインタフェース信号 物理層のインタフェース信号 この項では、Arria GX、Arria II GX、Arria II GZ、Cyclone IV GX、HardCopy IV GX、Stratix II GX、または Stratix IV GX デバイスをターゲットとして統合された PHY を使用するバ リエーションのみに提供されるグローバル PHY サポート信号を説明します。統合さ れた PHY を選択する場合、MegaWizard Plug-In Manager は IP コアのバリエーション・ ファイルの <variation>.<v または vhd> に加えて SERDES バリエーション・ファイルの <variation>_serdes.<v または vhd > を生成します。 トランシーバ・コントロール信号 表 5–28 に、トランシーバ・サポート信号を示します。 表 5‒28. トランシーバ・コントロール信号 ( その 1 ) SOPC Builder/Qsys での信号名 (1) cal_blk_clk /cal_blk_clk_clk gxb_powerdown/ pipe_ext_gxb_powerdown I/O 説明 I cal_blk_clk 入力信号は、トランシーバのキャリブレーション・ブ ロック・クロック(cal_blk_clk)入力に接続します。同じデバイ スでのトランシーバのすべてのインスタンスは、デバイスごとに 1 つのみキャリブレーション・ブロックが存在するために、同じ信 号に接続された cal_blk_clk 入力を持つ必要があります。この入 力は、Arria II GX Device Handbook の volume 2 の Stratix II GX Transceiver User Guide、Stratix IV Transceiver Architecture、または Arria II GX Transceiver Architecture の章で推奨されるようにクロック動作 に接続する必要があります。また、接続の情報は 7–6 ページ の 図 7–4、7–10ページの 図 7–6、および 7–11ページの 図 7–7で提 供されます。 I gxb_powerdown 信号は、トランシーバのキャリブレーション・ブ ロックの gxb_powerdown 入力に接続します。この入力は、 Stratix II GX Device Handbook または Stratix IV Device Handbook の volume 2 で推奨されるように接続する必要があります。キャリブ レーション・クロックが使用されない場合、この入力はグラウン ドに接続する必要があります。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース 物理層のインタフェース信号 5‒61 表 5‒28. トランシーバ・コントロール信号 ( その 2 ) SOPC Builder/Qsys での信号名 (1) I/O reconfig_fromgxb[16:0] (Stratix IV GX ×1 and ×4) reconfig_fromgxb[33:0] O (Stratix IV GX ×8) reconfig_fromgxb (Stratix II GX, Arria GX) O reconfig_togxb[3:0] I (Stratix IV GX) reconfig_togxb[2:0] (Stratix II GX, Arria GX) I reconfig_clk (Arria II GX, Arria II GZ, Cyclone IV GX)/ reconfig_gxbclk_clk fixedclk_serdes busy_altgxb_reconfig I 説明 これらは、トランシーバのダイナミック・リコンフィギュレー ション信号です。トランシーバのダイナミック・リコンフィギュ レーションは、通常、Stratix II GX または Arria GX デバイスでの PCI Express 用の IP コンパイラのデザインには必要ありません。こ れらの信号は、PCI Express 用の IP コンパイラがダイナミック・リ コンフィギュレーションをサポートする他のプロトコルと共にト ランシーバのクワッドを共有するケースで使用される可能性があ ります。また、トランシーバ・アナログ・コントロール(VOD、プ リエンファシス、および手動イコライゼーション)がケーブルの ような拡張 PCI Express インタコネクトを補償するために修正の必 要があるケースで使用される可能性があります。これらのケース では、これらの信号は Stratix II GX Device Handbook に示されるよう に接続する必要があります。それ以外のとき、つまり使用しない 場合、reconfig_clk 信号は Low に、reconfig_togxb は b'010 に接 続する必要があり、reconfig_fromgxb はオープンにしておく必要 があります。 Arria II GX および Stratix IV GX デバイスでは、ダイナミック・リコン フィギュレーションはプロセス、電圧および温度のためにバリ エーションを補償するために PCI Express 用の IP コンパイラのデザ インに必要です。ALTGX_RECONFIG インスタンスは、これらの信号 を使用してデザイン内のレシーバ・チャネルと共に ALTGX インス タンスに接続する必要があります。reconfig_clk の最大周波数は 50 MHz です。デザイン内の ALTGX_RECONFIG メガファンクション のインスタンス化について詳しくは、13–10 ページの「トランシー バのオフセット・キャンセレーション」を参照してください。 I トランシーバの固定クロックへの入力として提供する必要のある 125 MHz のフリー・ランニング・クロック。fixedclk_serdes およ び 50 MHz の reconfig_clk は、フリー・ランニングである必要が あり、refclk から得てはいけません。この信号は、Arria II GX、 Arria II GZ、Cyclone IV GX、HardCopy IV GX, および Stratix IV GX デバ イスでのハード IP 実装に使用されます。 I アサートされる場合、オフセット・キャリブレーションがトラン シーバをキャリブレーションしているということを示します。こ の信号は、Arria II GX、Arria II GZ、Cyclone IV GX、HardCopy IV GX、 および Stratix IV GX デバイスでのハード IP 実装に使用されます。 表 5–28 の注: (1) 2 つの信号名は、SOPC Builder および Qsys の信号名が異なる場合のみにリストされます。 offset_cancellation_reset 入力信号は、reconfig_clk および fixedclk_serdes ク ロックが安定するまで altgxb_reconfig ブロックのリセットを保持します。この信 号は、現在デフォルトではインタフェースで表示されません。詳しくは、7–2 ページ の 図 7–1 を参照してください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒62 第 5 章 : IP コア・インタフェース 物理層のインタフェース信号 表 5–29 に示す入力信号は、ユーザーのアプリケーションから直接トランシーバ・イ ンスタンスに接続します。 表 5‒29. トランシーバ・コントロール信号の使用 SOPC Builder/Qsys で の信号名 (1) Arria GX デバイス Arria II GX、Arria II GZ、Cyclone IV GX、HardCopy IV GX、 Stratix II GX、および Stratix IV GX デバイス 使用可 使用可 reconfig_clk/ reconfig_gxbclk_clk 動作しない 使用可 reconfig_togxb 動作しない 使用可 reconfig_fromgxb 動作しない 使用可 cal_blk_clk/ cal_blk_clk_clk 表 5–29 の注: (1) 2 つの信号名は、SOPC Builder および Qsys の信号名が異なる場合のみにリストされます。 f 詳しくは、Stratix II GX ALT2GXB_RECONFIG Megafunction User Guide、Stratix IV Device Handbook の volume 3 の Transceiver Configuration Guide または AN 558: Implementing Dynamic Reconfiguration in Arria II GX Devices を必要に応じて参照してください。 以下の項では、フィジカル・インタフェースの 3 つの可能なタイプ(1 ビット、20 ビット、または PIPE)の信号を説明します。すべての PCI Express 用の IP コンパイラ のバリエーションのピン配置図について詳しくは、5–2 ページの 図 5–1、5–3 ページ の 図 5–2、5–4 ページの 図 5–3、および 5–50 ページの 図 5–36 を参照してください。 シリアル・インタフェース信号 表 5–30 に、シリアル・インタフェース信号を示します。これらの信号は、 Arria GX PHY、Arria II GX PHY、Stratix II GX PHY、または Stratix IV GX PHY を使用する場 合、使用可能です。 表 5‒30. 1 ビットのインタフェース信号 ( その 1 ) SOPC Builder/Qsys での信号名 I/O tx_out[0:7]/ tx_out_tx_dataout[0:7] 説明 O 送信入力。これらの信号は、レーン 0 ~ 7 のシリアル出力です。 I 受信入力。これらの信号は、レーン 0 ~ 7 のシリアル入力です。 pipe_mode/pipe_mode I pipe_mode は、IP コアが PIPE インタフェースまたは 1 ビットのインタ フェースのどちらを使用するのか選択します。pipe_mode が 1 に設定 されていると PIPE インタフェースが選択され、0 に設定されていると 1 ビットのインタフェースが選択されます。シミュレーションする場 合、インタフェースがシミュレーションに使用されることを表示する ために、ユーザーはこの信号を設定することができます。アルテラの デバイス用のデザインをコンパイルする場合、この信号を 0 に設定し ます。 xphy_pll_areset/ 使用不可能 I PCI Express 用の IP コンパイラに関連付けられている PLL をリセットす るためのリセット信号。この信号は、Qsys ではサポートされません。 (1) rx_in<0:7>/ rx_in_rx_datain[0:7] (1) PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース 物理層のインタフェース信号 5‒63 表 5‒30. 1 ビットのインタフェース信号 ( その 2 ) SOPC Builder/Qsys での信号名 I/O 説明 IP コアの PLL が既にロックしたことを示すためにアサートされます。 PCI Express 用の IP コンパイラがリセットされる前に外部 PHY および PLL が安定であることを保証するために、オプションのリセット・コ ントローラを実装するために使用される可能性があります。PLL を必 要とする PCI Express 用の IP コンパイラのバリエーションでは、イベ ントの以下のシーケンスは IP コアがリセット状態を終了することを保 証します。 xphy_pll_locked/ 使用不可能 O a. xphy_pll_areset を PCI Express 用の IP コンパイラの PLL にデア サートします。 b. xphy_pll_locked がアサートされるのを待ちます。 c. リセット信号を PCI Express 用の IP コンパイラにデアサートしま す。 Qsys が外部 PHY の使用をサポートしないために、この信号は Qsys で は使用不可能です。 表 5–30 の注: (1) ×1 の IP コアは、レーン 0 のみを持っています。×4 の IP コアは、レーン 0 ~ 3 のみを持っています。 ×1 の IP コアのソフト IP 実装では、任意のトランシーバ・ブロックの任意のチャネ ルは、シリアル入力信号およびシリアル出力信号に割り当てることができます。×1 の IP コアのハード IP 実装では、シリアル入力信号およびシリアル出力信号は、ハー ド IP ブロックに関連付けられているマスタ・トランシーバ・ブロックのチャネル 0 を使用する必要があります。 ×4 の IP コアでは、シリアル入力(rx_in[0-3])およびシリアル出力(tx_out[0-3]) は、トランシーバ・ブロックの所望番号のチャネルに関連付けられているピンに割 り当てられる必要があります。rx_in[0]/tx_out[0] の信号は、トランシーバ・ブ ロックのチャネル 0 に関連付けられているピンに割り当てられる必要があり、 rx_in[1]/tx_out[1] はトランシーバ・ブロックのチャネル 1 に関連付けられているピ ンに割り当てられる必要がある、などとなります。更に、×4 のハード IP 実装は、 ハード IP ブロックに関連付けられているマスタ・トランシーバ・ブロックの 4 つの チャネルを使用する必要があります。 ×8 の IP コアでは、シリアル入力(rx_in[0-3])およびシリアル出力(tx_out[0-3]) は、トランシーバ・ブロックの所望番号のチャネルに関連付けられているピンに割 り当てられる必要があります。rx_in[0]/tx_out[0] の信号は、トランシーバ・ブ ロックのチャネル 0 に関連付けられているピンに割り当てられる必要があり、 rx_in[1]/tx_out[1] はトランシーバ・ブロックのチャネル 1 に関連付けられているピ ンに割り当てられる必要がある、などとなります。シリアル入力(rx_in[4-7])お よびシリアル出力(tx_out[4-7])は、スレーブ・トランシーバ・ブロックのチャネ ル 0 ~ 3 に関連付けられているピンのように割り当てられる必要があります。 rx_in[4]/tx_out[4] の信号は、スレーブ・トランシーバ・ブロックのチャネル 0 に関 連付けられているピンに割り当てられる必要があり、rx_in[5]/tx_out[5] はスレー ブ・トランシーバ・ブロックのチャネル 1 に関連付けられているピンに割り当てら れる必要がある、などとなります。図 5–41 に、この接続を示します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒64 第 5 章 : IP コア・インタフェース 物理層のインタフェース信号 図 5‒41. 4 つのトランシーバ・ブロック・デバイスの 2 つの PCI Express の ×8 リンク Stratix IV GX Device Transceiver Block GXBL1 (Slave) Transceiver Block GXBR1 (Slave) PCI Express Lane 7 Channel3 Channel3 PCI Express Lane 7 PCI Express Lane 6 Channel2 Channel2 PCI Express Lane 6 PCI Express Lane 5 Channel1 Channel1 PCI Express Lane 5 PCI Express Lane 4 Channel0 Channel0 PCI Express Lane 4 Transceiver Block GXBL0 (Master) Second PCI Express (PIPE) x8 Link First PCI Express (PIPE) x8 Link Transceiver Block GXBR0 (Master) PCI Express Lane 3 Channel3 Channel3 PCI Express Lane 3 PCI Express Lane 2 Channel2 Channel2 PCI Express Lane 2 PCI Express Lane 1 Channel1 Channel1 PCI Express Lane 1 PCI Express Lane 0 Channel0 Channel0 PCI Express Lane 0 図 5–41 の注: (1) この接続は、<variation>_serdes.<v または vhd> に指定されます。 1 ユーザーは、PCI Express 用の IP コンパイラのハード IP 実装のためのピン・アサインメ ントを生成する前に、マスタ・トランシーバ・ブロックの位置を指定する必要があ ります。 f .pdf、.txt、および .xls のフォーマットで表されるすべてのアルテラ・デバイス用のピ ン配置テーブルについて詳しくは、Pin-out Files for Altera Devices を参照してください。 f トランシーバ・ブロックについて詳しくは、Arria GX Device Handbook の Volume 2、 Arria II Device Handbook の Volume 2、Stratix II GX Transceiver User Guide、または Stratix IV Device Handbook の Volume 2 を参照してください。 PIPE インタフェース信号 IP コアの ×1 および ×4 のソフト IP 実装は、外部 PHY の使用をイネーブルして、PIPE インタフェースの 16 ビットのバージョンに準拠しています。IP コアの ×8 のソフト IP 実装は、PIPE インタフェースの 8 ビットのバージョンに準拠しています。1 ビッ トおよび PIPE インタフェースの両方を使用してシミュレーションできるように、こ れらの信号は、内部 PHY を持つデバイスを選択する場合でも使用可能です。通常、 シミュレーションははるかに高速の PIPE インタフェースを使用しています。ハード IP 実装では、8 ビットの PIPE インタフェースはシミュレーション用にも使用可能で す。しかし、実際のデバイスではハード IP の PIPE インタフェースを使用することは 不可能です。表 5–31 に、標準的な 16 ビットの SDR または 8 ビットの SDR インタ フェース用に使用される PIPE インタフェース信号を示します。これらのインタ フェースは、内部トランシーバを使用するバリエーション用の PIPE インタフェース PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース 物理層のインタフェース信号 5‒65 のシミュレーションに使用されます。表 5–31 にマークしたように、レーン番号 0 を 含む信号はレーン 1 ~ 7 のためにも存在します。特有の外部 PHY と共に使用するた めに若干修正した PIPE インタフェースのシグナリングについて詳しくは、 Chapter 14, 外部 PHY を参照してください。修正点には、DDR シグナリングおよび TX 方向のソースの同期クロッキングが含まれています。 表 5‒31. PIPE インタフェース信号 ( その 1 ) I/ O 説明 O データ <n> の送信(レーン <n> 上に 2 つのシンボル)。このバ スは、データをレーン <n> 上に送信します。送信される最初の シンボルは txdata_ext[7:0] であり、2 番目のシンボルは txdata0_ext[15:8] です。8 ビットの PIPE モードでは、 txdata<n>_ext[7:0] のみ使用可能です。 txdatak<n>_ext[1:0]/ pipe_ext_txdatak<n>_ext[1:0] (1) O データ・コントロール <n> の送信(レーン <n> 上に 2 つのシ ンボル)。この信号は、txdata<n>_ext 用のコントロール・ ビットとして機能します。txdatak<n>_ext[0] は送信される最 初のシンボル用であり、txdatak<n>_ext[1] は 2 番目のシンボ ル用です(8B/10B エンコード)。8 ビットの PIPE モードでは、 単一のビット信号 txdatak<n>_ext のみ使用可能です。 txdetectrx<n>_ext/ pipe_ext_txdetectrx<n>_ext (1) O 検出受信 <n> の送信。この信号は、PHY レイヤに対して、受信 検出動作を開始することまたはループバックを開始することを 通知します。 txelecidle<n>_ext/ pipe_ext_txelecidle<n>_ext (1) O 電気的アイドル <n> の送信。この信号は、電気的アイドルに送 信出力を強制します。 txcompl<n>_ext/ pipe_ext_txcompl<n>_ext (1) O 準拠 <n> の送信。この信号は、ランニング・ディスパリティを 準拠モードでの負に強制します(負の COM キャラクタ)。 rxpolarity<n>_ext/ pipe_ext_rxpolarity<n>_ex (1) O 極性 <n> の受信。この信号は、PHY レイヤに対して、8B/10B のレシーバ・デコーディング・ブロックで極性反転をするよう に指示します。 powerdown<n>_ext[1:0]/ pipe_ext_powerdown<n>_ext[1:0] (1) O パワー・ダウン <n>。この信号は、PHY に対して、パワー・ス テートを規定のステート(P0、P0s、P1、または P2)に変更す るようにリクエストします。 O VOD のマージン選択の送信。PCI Express 用の IP コンパイラの ハード IP は、リンク・コントロール 2 レジスタからの値に基 づいてこの信号用の値を設定します。シミュレーションのみに 使用可能です。 SOPC Builder/Qsys での信号名 txdata<n>_ext[15:0]/ pipe_ext_txdata0_ext[15:0] (1) tx_pipemargin/Qsys では内部信号 ディエンファシス選択の送信。PCI Express の Gen2(5 Gbps) モードでは、トランスミッタ・デイエンファシスを選択しま す。 tx_pipedeemph/Qsys では内部信号 O ■ 1'b0: -6 dB ■ 1'b1: -3.5 dB PCI Express の IP コアのハード IP は、トレーニング・シーケン ス(TS)の間にリンクの他端から受信する指示に基づいてこの 信号用の値を設定します。ユーザーは、この値を変更する必要 はありません。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒66 第 5 章 : IP コア・インタフェース テスト信号 表 5‒31. PIPE インタフェース信号 ( その 2 ) I/ O 説明 I データ <n> の受信(レーン <n> 上に 2 つのシンボル)。このバ スは、データをレーン <n> 上で受信します。受信される最初の シンボルは rxdata<n>_ext[7:0] であり、2 番目のシンボルは rxdata<n>_ext[15:8] です。8 ビットの PIPE モードでは、単一の ビット信号 rxdata<n>_ext[7:0] のみ使用可能です。 rxdatak<n>_ext[1:0]/ pipe_ext_rxdatak<n>_ext[1:0] (1) (2) I データ・コントロール <n> の受信(レーン <n> 上に 2 つのシ ンボル)。この信号は、コントロールとデータのシンボルを分 離します。最初の受信シンボルは rxdatak<n>_ext[0] に一致 し、2 番目の受信シンボルは rxdata<n>_ext[1] に一致します。 8 ビットの PIPE モードでは、単一のビット信号の rxdatak<n>_ext のみ使用可能です。 rxvalid<n>_ext (1) (2) I 有効 <n> の受信。このシンボルは、rxdata<n>_ext および rxdatak<n>_ext 上のシンボル・ロックと有効データを表示し ます。 phystatus<n>_ext/ pipe_ext_phystatus<n>_ext (1) (2) I PHY ステータス <n>。この信号は、いくつかの PHY リクエスト のコンプリーションを通知します。 rxelecidle<n>_ext/ pipe_ext_rxelecidle<n>_ext (1) (2) I 電気的アイドル <n> の受信。この信号は、電気的アイドルに受 信出力を強制します。 rxstatus<n>_ext[2:0]/ pipe_ext_rxstatus<n>_ext[2:0] (1) (2) I ステータス <n> の受信。この信号は、受信データ・ストリーム 用およびレシーバ検出用の受信ステータスおよびエラー・コー ドをエンコードします。 pipe_rstn/ 使用不可能 O 外部 PHY への非同期リセット。この信号は、High に接続され て、ボード上でのプルダウン抵抗を前提として動作します。 FPGA コンフィギュレーションの間、プルダウン抵抗は PHY を リセットします。その後、FPGA はリセット状態から PHY をド ライブします。この信号は、外部 PHY 用に IP コア上のみでコ ンフィギュレーションされます。 pipe_txclk/ 使用不可能 O データパス・クロックの外部 PHY への送信。このクロックは、 refclk から得られて、PHY の送信データのソース同期クロック を提供します。 rate_ext/rate_ext O アサートされる場合、インタフェースが 5.0 Gbps のレートで動 作していることを示します。この信号は、ハード IP 実装での シミュレーション目的のみに使用可能です。 SOPC Builder/Qsys での信号名 rxdata<n>_ext[15:0]/ pipe_ext_rxdata<n>_ext[15:0] (1) (2) 表 5–31 の注: (1) <n> は、0 ~ 7 の範囲のレーン番号です。 (2) 内部トランシーバを用いるバリアントでは、これらの信号はシミュレーションのみに使用可能です。Quartus II のソフトウェ アのコンパイルでは、これらの pipe 信号はフロートの状態に維持できます。 テスト信号 test_in および test_out のバスは、のランタイム・コントロールおよび IP コアの内部 ステートのモニタリングを提供します。Avalon-ST インタフェースを使用する PCI Express 用の IP コンパイラのバリエーションでの追加の信号は、Avalon-ST インタ フェースでのステータスを提供します。表 5–33 に、ハード IP 実装用のテスト信号 を示します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース テスト信号 5‒67 c アルテラは、デバッグまたは PCIe リンク・ステータスの LED 表示などのノン・クリ ティカル・ステータスのモニタリングを目的として、test_out および test_in 信号 を使用することを推奨します。これらの信号は、デザイン・ファンクションの目的 に使用してはいけません。これらの信号の使用は、デザインでタイミングをクロー ズすることがさらに困難になってしまう恐れがあります。それらの信号は厳密に検 証されているわけではなく、いくつかのコーナー・ケースでドキュメント化されて いるようには機能しません。 test_out で与えられるデバッグ信号は、test_in[11:8] の設定に依存します。 表 5–32 に、test_in 用のエンコードを示します。 表 5‒32. test_in[11:8] のデコーディング test_in[11:8] の値 2011 年 5 月 信号グループ 4’b0011 PIPE インタフェース信号 他のすべての値 予約 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒68 第 5 章 : IP コア・インタフェース テスト信号 テスト・インタフェース信号 ̶ ハード IP 実装 表 5‒33. テスト・インタフェース信号 ̶ ハード IP 実装 ( その 1 ) 信号 I/ O 説明 test_in バスは、特定の IP コア機能用にランタイム・コントロールを提供 します。通常の動作では、このバスをすべて 0 にドライブすることができ ます。以下のビットは定義されます。 [0]– シミュレーション・モード。多くの初期化カウントを変更することで 初期化を加速化させるために、この信号を 1 に設定することができます。 [2:1]– 予約。 [3]–FPGA モード。FPGA 実装ではこの信号を 1 に設定します。 [2:1]– 予約。 [6:5] 準拠テスト・モード。ディセーブル / 強制準拠モード。 test_in[39:0](ハード IP) I ■ ビット 0– 設定する場合、LTSSM が準拠モードになるのを防ぎます。この ビットのトグルは、Gen1 および Gen2 の準拠パターンの送信をイネーブ ルして、準拠ステートからの出入りを制御します。 ■ ビット 1– 準拠モードに強制します。タイム・アウトがポーリング・アク ティブ・ステートに達している場合、エントリを準拠モードに強制しま す(レーンのすべてが終了状態であることを検出しているわけではあり ません)。 [7]–Low パワー・ステート・ネゴシエーションをディセーブルします。ア サートされる場合、この信号はすべての Low パワー・ステート・ネゴシ エーションをディセーブルします。このビットは、SOPC Builder および Qsys では 1 に設定されます。 [11:8]– これらの信号を Low に接続する必要があります。 [15:13]– レーン選択。 [31:16, 12]– 予約。 [32] 準拠モード・テスト・スイッチ。1 に設定する場合、IP コアは、準拠 ベース・ボード(CBB)テストで使用される準拠モードです。0 に設定す る場合、IP コアは通常の動作をします。準拠モードのオンおよびオフを切 り替えるためには、この信号をスイッチに接続します。CBB テストを指定 する実際のコーディング例について詳しくは、PCI Express High Performance Reference Design を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース テスト信号 5‒69 表 5‒33. テスト・インタフェース信号 ̶ ハード IP 実装 ( その 2 ) 信号 I/ O 説明 test_out バスは、PIPE インタフェースの表示を可能にします。(1) (2) 9 ビッ トの test_out のバス幅を選択する場合、64 ビットのテスト・バスのサブ セットは次のようになります。 ■ ビット [8:5] = test_out[28:25]– 予約 ■ ビット [4:0] = test_out[4:0]–txdata[3:0] 以下のビットは定義されます。 test_out[63:0] or [8:0] O ■ [7:0]–txdata ■ [8]–txdatak ■ [9]–txdetectrx ■ [10]–txelecidle ■ [11]–txcompl ■ [12]–rxpolarity ■ [14:13]–powerdown ■ [22:15]–rxdata ■ [23]–rxdatak ■ [24]–rxvalid ■ [63:25]– 予約。 表 5–33 の注: (1) すべての信号はレーンごとです。 (2) PIPE インタフェース信号の定義について詳しくは、5–65 ページの「PIPE インタフェース信号」を参照してください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒70 第 5 章 : IP コア・インタフェース テスト信号 テスト・インタフェース信号 ̶ ソフト IP 実装 表 5–34 に、ソフト IP 実装用のテスト信号を示します。 表 5‒34. テスト・インタフェース信号 ̶ ソフト IP 実装 ( その 1 ) 信号 I/ O 説明 test_in バスは、特定の IP コア機能用にランタイム・コント ロールを提供します。通常の動作では、このバスをすべて 0 にドライブすることができます。以下のビットは定義されま す。 [0]— シミュレーション・モード。多くの初期化カウントを 変更することで初期化を加速化させるために、この信号を 1 に設定することができます。 [2:1]— 予約。 [3]–FPGA モード。FPGA 実装ではこの信号を 1 に設定します。 [4]— 予約。 [6:5] 準拠テスト・モード。ディセーブル / 強制準拠モード。 test_in[31:0] I ■ ビット 0— 完全に準拠モードをディセーブルします。決し て準拠モードになりません。 ■ ビット 1— 準拠モードを強制します。タイム・アウトが ポーリング・アクティブ・ステートに達している場合、エ ントリを準拠モードに強制します(レーンのすべてが終了 状態であることを検出しているわけではありません)。 [7]–Low パワー・ステート・ネゴシエーションをディセーブ ルします。アサートされる場合、この信号はすべての Low パ ワー・ステート・ネゴシエーションをディセーブルします。 このビットは、SOPC Builder および Qsys では 1 に設定されま す。 [11:8]— これらの信号を Low に接続する必要があります。 [15:13]— レーンを選択します。 [32:16, 12]— 予約。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 5 章 : IP コア・インタフェース テスト信号 5‒71 表 5‒34. テスト・インタフェース信号 ̶ ソフト IP 実装 ( その 2 ) 信号 I/ O 説明 test_out バスは、9 ビットの test_out バスの幅を選択する場 合に PIPE インタフェースを表示することが可能となり、 test_out 信号は以下のようになります。 test_out[511:0] or [8:0] for ×1 or ×4 test_out[127:0] or [8:0] for ×8 ■ ×8 の IP コアでは、ビット [4:0] = test_out[4:0]。 ×4/×1 の IP コアでは、ビット [4:0] = test_out[324:320]。 ■ ×8 の IP コアでは、ビット [8:5] = test_out[91:88]。 ×4/×1 の IP コアでは、ビット [8:5] = test_out[411:408]。 O 更に大きなバスを選択する場合、ビットは以下のように定義 されます。 ■ [7:0]—txdata. ■ [8]—txdatak. ■ [9]—txdetectrx. ■ [10]—txelecidle. ■ [11]—txcompl. ■ [12]—rxpolarity. ■ [14:13]—powerdown. ■ [22:15]—rxdata. ■ [23]—rxdatak. ■ [24]—rxvalid. ■ [63:25]— 予約。 Avalon-ST のテスト信号 Avalon-ST のテスト信号は、ハード IP およびソフト IP の両方の実装用の Avalon-ST イ ンタフェースを持つ PCI Express 用の IP コンパイラにおいて、Avalon-ST RX アダプタ の FIFO バッファのステータスを運びます。これらの信号はデバッグ目的のみであり、 ユーザーのデザインは通常の動作のためにそれらを使用する必要はありません。 表 5‒35. Avalon-ST のテスト信号 I/ O 説明 rx_st_fifo_full0 O Avalon-ST のアダプタ RX FIFO がほぼフルの状態であることを 示します。この信号はデバッグ用のみに使用され、データの 検証には使用されません。 rx_st_fifo_empty0 O Avalon-ST のアダプタ RX FIFO がほぼ空の状態であることを示 します。この信号はデバッグ用のみに使用され、データの検 証には使用されません。 信号 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 5‒72 第 5 章 : IP コア・インタフェース テスト信号 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 6. レジスタの説明 May 2011 <edit Part Number variable in chapter> この章では、PCI Express のコンフィギュレーション・スペースおよび Avalon-MM ブ リッジ・コントロール・レジスタでアクセス可能なレジスタについて説明します。 ■ コンフィギュレーション・スペース・レジスタの内容 ■ PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 ■ コンフィギュレーション・スペース・レジスタおよび PCIe 仕様レビジョン 2.0 の間 の包括的な対応関係 コンフィギュレーション・スペース・レジスタの内容 表 6–1 に、共通のコンフィギュレーション・スペース・ヘッダを示します。更に詳 しい内容については、以降の表にまとめます。 f これらのレジスタについて詳しくは、MegaWizard インタフェースの System Setting ページでの設定に応じて PCI Express Base Specification Revision 1.0a, 1.1 or 2.0 の第 7 章 を参照してください。 1 これらのPCI Express用のIPコンパイラのレジスタについて追加情報の検索を容易にす るために、PCI Express Base Specification Revision 2.0 の関連するセクション名を以降の 表に併記します。 表 6‒1. 共通のコンフィギュレーション・スペース・ヘッダ ( その 1 ) バイト・オフ セット 31:24 23:16 15:8 7:0 0x000:0x03C PCI タイプ 0 のコンフィギュレーション・スペース・ヘッダ(詳しくは表 6–2 を参照) 0x000:0x03C PCI タイプ 1 のコンフィギュレーション・スペース・ヘッダ(詳しくは表 6–3 を参照) 0x040:0x04C 予約 0x050:0x05C MSI の機能構造、バージョン 1.0a および 1.1(詳しくは表 6–4 を参照) 0x068:0x070 MSI–X の機能構造、バージョン 2.0(詳しくは表 6–5 を参照) 0x070:0x074 予約 0x078:0x07C 消費電力管理の機能構造(詳しくは表 6–6 を参照) 0x080:0x0B8 PCI Express の機能構造(詳しくは表 6–7 を参照) 0x080:0x0B8 PCI Express の機能構造(詳しくは表 6–8 を参照) 0x0B8:0x0FC 予約 0x094:0x0FF ルート・ポート 0x100:0x16C バーチャル・チャネルの機能構造(詳しくは表 6–9 を参照) 0x170:0x17C 予約 0x180:0x1FC バーチャル・チャネルのアービトレーション・テーブル 0x200:0x23C ポート VC0 のアービトレーション・テーブル(予約) 0x240:0x27C ポート VC1 のアービトレーション・テーブル(予約) 0x280:0x2BC ポート VC2 のアービトレーション・テーブル(予約) 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 6‒2 第 6 章 : レジスタの説明 コンフィギュレーション・スペース・レジスタの内容 表 6‒1. 共通のコンフィギュレーション・スペース・ヘッダ ( その 2 ) バイト・オフ セット 31:24 23:16 15:8 0x2C0:0x2FC ポート VC3 のアービトレーション・テーブル(予約) 0x300:0x33C ポート VC4 のアービトレーション・テーブル(予約) 0x340:0x37C ポート VC5 のアービトレーション・テーブル(予約) 0x380:0x3BC ポート VC6 のアービトレーション・テーブル(予約) 0x3C0:0x3FC ポート VC7 のアービトレーション・テーブル(予約) 0x400:0x7FC 予約 0x800:0x834 Implement advanced error reporting(オプション) 0x838:0xFFF 予約 7:0 表 6–2 に、タイプ 0 のコンフィギュレーション設定を示します。 1 以降の表では、パラメータ・エディタのパラメータによって定義されたフィールド 名は、そのパラメータの説明へのリンクです。それらのリンクは、緑字で示されてい ます。 表 6‒2. PCI タイプ 0 のコンフィギュレーション・スペース・ヘッダ(エンドポイント)、仕様レビジョン 2: タイプ 0 のコンフィギュレーション・スペース・ヘッダ バイト・オフ セット 31:24 23:16 15:8 7:0 0x000 Device ID Vendor ID 0x004 Status Command 0x008 Class code 0x00C Header Type (Port type) 0x00 0x010 BAR Table (BAR0) 0x014 BAR Table (BAR1) 0x018 BAR Table (BAR2) 0x01C BAR Table (BAR3) 0x020 BAR Table (BAR4) 0x024 BAR Table (BAR5) 0x028 0x00 Cache Line Size 予約 0x02C Subsystem ID 0x030 拡張 ROM のベース・アドレス 0x034 予約 0x038 予約 0x03C Revision ID Subsystem vendor ID 機能ポインタ 0x00 0x00 割り込みピン 割り込みライン 表 6–2 の注: (1) コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 の対応関係については、6–14 ページ の 表 6–23 を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 6 章 : レジスタの説明 コンフィギュレーション・スペース・レジスタの内容 6‒3 表 6–3 に、タイプ 1 のコンフィギュレーション設定を示します。 表 6‒3. PCI タイプ 1 のコンフィギュレーション・スペース・ヘッダ(ルート・ポート)、仕様レビジョン 2: タイプ 1 のコンフィギュレーション・スペース・ヘッダ バイト・オフ セット 31:24 23:16 0x0000 Device ID 0x004 Status 0x008 15:8 7:0 Vendor ID Command Class code 0x00C BIST Revision ID Primary Latency Timer Header Type 0x010 BAR Table (BAR0) 0x014 BAR Table (BAR1) Secondary Latency Timer 0x018 Subordinate Bus Number Cache Line Size Secondary Bus Number Primary Bus Number I/O Limit I/O Base 0x01C Secondary Status 0x020 Memory Limit Memory Base 0x024 Prefetchable Memory Limit Prefetchable Memory Base 0x028 Prefetchable Base Upper 32 Bits 0x02C Prefetchable Limit Upper 32 Bits 0x030 I/O Limit Upper 16 Bits I/O Base Upper 16 Bits Capabilities Pointer 0x034 予約 0x038 拡張 ROM のベース・アドレス 0x03C Bridge Control Interrupt Pin Interrupt Line 表 6–3 の注: (1) コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 の対応関係については、6–14 ページ の 表 6–23 を参照してください。 表 6–4 に、MSI の機能構造を示します。 表 6‒4. MSI の機能構造、仕様レビジョン 2:MSI および MSI-X の機能構造 バイト・オフセット 31:24 23:16 Message Control コンフィギュレーションの MSI コント ロール・ステータス・レジスタ・フィー ルドの説明 0x050 15:8 7:0 Next Cap Ptr Capability ID 0x054 Message Address 0x058 Message Upper Address 0x05C Reserved Message Data 表 6–4 の注: (1) コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 の対応関係については、6–14 ページ の 表 6–23 を参照してください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 6‒4 第 6 章 : レジスタの説明 コンフィギュレーション・スペース・レジスタの内容 表 6–5 に、MSI-X の機能構造を示します。 表 6‒5. MSI-X の機能構造、仕様レビジョン 2:MSI および MSI-X の機能構造 バイト・オフセット 31:24 23:16 15:8 Message Control MSI-X Table size[26:16] 0x068 0x06C 7:3 Next Cap Ptr 2:0 Capability ID BAR Indicator (BIR) MSI-X Table Offset 表 6–5 の注: (1) コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 の対応関係については、6–14 ページ の 表 6–23 を参照してください。 表 6–6 に、消費電力管理の機能構造を示します。 表 6‒6. 消費電力管理の機能構造、仕様レビジョン 2:消費電力管理の機能構造 バイト・オフセット 31:24 23:16 0x078 機能レジスタ 0x07C データ 15:8 ネクスト・キャップ PTR PM コントロール / ステー タス・ブリッジ拡張子 7:0 キャップ ID 消費電力管理のステータス & コント ロール 表 6–6 の注: (1) コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 の対応関係については、6–14 ページ の 表 6–23 を参照してください。 表 6–7 に、仕様レビジョン 1.0a および 1.1 用の PCI Express 機能構造を示します。 表 6‒7. バージョン 1.0a および 1.1 の PCI Express 機能構造 ( 注 1)、仕様レビジョン 2:PCI Express 機能レジ スタおよび PCI Express 機能リスト・レジスタ バイト・オフセット 0x080 31:24 23:16 PCI Express 機能レジスタ 0x084 0x088 7:0 ネクスト・キャップ・ ポインタ PCI Express キャップ ID デバイス機能 デバイス・ステータス 0x08C 0x090 15:8 デバイス・コントロール Link 機能 リンク・ステータス 0x094 リンク・コントロール Slot 機能 0x098 スロット・ステータス スロット・コントロール 0x09C 予約 ルート・コントロール 0x0A0 ルート・ステータス 表 6–7 の注: (1) 予約済みおよび保存済みです。PCI Express Base Specification 1.1 に従って、今後の RW 実装のためにこのレジスタが予約され ます。レジスタが読み出し専用であり、読み出す場合には 0 に戻る必要があります。ソフトウェアは、ビットへの書き込み 用の読み出し値を保存する必要があります。 (2) コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 の対応関係については、6–14 ページ の 表 6–23 を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 6 章 : レジスタの説明 コンフィギュレーション・スペース・レジスタの内容 6‒5 表 6–8 に、仕様レビジョン 2.0 用の PCI Express 機能構造を示します。 表 6‒8. 仕様レビジョン 2.0 の PCI Express 機能構造、仕様レビジョン 2:PCI Express 機能レジスタおよび PCI Express 機能リスト・レジスタ バイト・オフ セット 0x080 31:16 15:8 7:0 PCI Express 機能レジスタ ネクスト・キャップ・ ポインタ PCI Express キャップ ID 0x084 デバイス機能 0x088 デバイス・ステータス デバイス・コントロール 2 0x08C Link 機能 0x090 リンク・ステータス リンク・コントロール 0x094 Slot 機能 0x098 スロット・ステータス 0x09C ルート機能 スロット・コントロール ルート・コントロール 0x0A0 ルート・ステータス 0x0A4 デバイス機能 2 0x0A8 デバイス・コントロール 2 Implement completion timeout disable デバイス・ステータス 2 0x0AC リンク機能 2 0x0B0 リンク・ステータス 2 0x0B4 リンク・コントロール 2 スロット機能 2 0x0B8 スロット・ステータス 2 スロット・コントロール 2 表 6–8 の注: (1) デバイスに適用不可能なレジスタは予約済みです。 (2) コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 の対応関係については、6–14 ページ の 表 6–23 を参照してください。 表 6–9 に、バーチャル・チャネルの機能構造を示します。 表 6‒9. バーチャル・チャネルの機能構造、仕様レビジョン 2:バーチャル・チャネルの機能 ( その 1 ) バイト・オフセット 31:24 23:16 0x100 ネクスト・キャップ PTR 0x104 予約 P 0x108 VAT オフセット 0x10C ポート VC ステータス 0x110 PAT オフセット 0 (31:24) Vers. 15:8 拡張キャップ ID ポート VC キャップ 1 Number of low-priority VCs VC アービトレー ション・キャップ 予約 P ポート VC コントロール VC リソース機能レジスタ(0) 0x114 VC リソース・コントロール・レジスタ(0) 0x118 VC リソース・ステータス・レジスタ(0) 予約 P 0x11C 0x120 2011 年 5 月 PAT オフセット 1 (31:24) 7:0 VC リソース機能レジスタ(1) VC リソース・コントロール・レジスタ(1) Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 6‒6 第 6 章 : レジスタの説明 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 表 6‒9. バーチャル・チャネルの機能構造、仕様レビジョン 2:バーチャル・チャネルの機能 ( その 2 ) バイト・オフセット 0x124 31:24 23:16 15:8 7:0 VC リソース・ステータス・レジスタ(1) 予約 P ... 0x164 0x168 PAT オフセット 7 (31:24) VC リソース機能レジスタ(7) VC リソース・コントロール・レジスタ(7) 表 6–9 の注: (1) コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 の対応関係に ついては、6–14 ページの 表 6–23 を参照してください。 表 6–10 に、PCI Express のアドバンスト・エラー・レポートの拡張機能構造を示しま す。 表 6‒10. PCI Express のアドバンスト・エラー・レポートの拡張機能構造、仕様レビジョン 2:アドバンス ト・エラー・レポートの機能 バイト・オフセット 31:24 23:16 15:8 0x800 PCI Express のエンハンスト機能ヘッダ 0x804 訂正不可能なエラー・ステータス・レジスタ 0x808 訂正不可能なエラー・マスク・レジスタ 0x80C 訂正不可能なエラー重要度レジスタ 0x810 訂正可能なエラー・ステータス・レジスタ 0x814 訂正可能なエラー・マスク・レジスタ 0x818 アドバンスト・エラー機能およびコントロール・レジスタ 0x81C ヘッダ・ログ・レジスタ 0x82C ルート・エラー・コマンド 0x830 ルート・エラー・ステータス 0x834 エラー・ソース ID レジスタ 7:0 訂正可能なエラー・ソース ID レジスタ 表 6–10 の注: (1) コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 の対応関係については、6–14 ページ の 表 6–23 を参照してください。 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 PCI Express の Avalon-MM ブリッジでのコントロールおよびステータス・レジスタは、 CRA スレーブ・モジュールの中で実装されます。コントロール・レジスタは、CRA スレーブ・モジュールの Avalon-MM スレーブ・ポートを経由してアクセス可能です。 このモジュールはオプションですが、レジスタにアクセスするには必須です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 6 章 : レジスタの説明 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 6‒7 コントロールおよびステータス・レジスタ・スペースは、16 K バイトです。各 4 K バイトのサブ領域では、PCI Express ルート・コンプレックスのみからのアクセス、 Avalon-MM プロセッサのみからのアクセス、両方のタイプのプロセッサからのアクセ ス、それぞれに特有の可能性のある特定の機能セットが含まれています。全てのア クセスはシステム・インタコネクト・ファブリックに伝えられるため、PCI Express 用の IP コンパイラからのリクエストはインタコネクト・ファブリックに配線され、 ハードウェアは、個々のプロセッサの特定の領域へのアクセスを制限するために制 限を課しません。しかし、それらの領域は、簡単な施行をイネーブルするためにプ ロセッサ・ソフトウェアによってデザインされます。 4 つのサブ領域を表 6–11 に示します。 表 6‒11. Avalon-MM のコントロールおよびステータス・レジスタのアドレス・スペース アドレス範囲 アドレス・スペースの使用 0x0000-0x0FFF 通常 PCI Express のプロセッサのみのアクセス用として想定されたレジスタです。これは、 PCI Express の割り込みイネーブル・コントロール、PCI Express Avalon-MM ブリッジ・メー ルボックス・レジスタへのライト・アクセス、および Avalon-MM から PCI Express への メールボックス・レジスタへのリード・アクセスを含みます。 0x1000-0x1FFF Avalon-MM から PCI Express へのアドレス変換テーブルです。システム・デザインによっ て、これらは PCI Express プロセッサ、Avalon-MM プロセッサ、または両方によってアク セスされる可能性があります。 0x2000-0x2FFF 予約です。 0x3000-0x3FFF 通常 Avalon-MM のプロセッサのみのアクセス用として想定されたレジスタです。これら は、Avalon-MM の割り込みイネーブル・コントロール、PCI Express から Avalon-MM への ブリッジ・メールボックス・レジスタへのライト・アクセス、および PCI Express AvalonMM ブリッジ・メールボックス・レジスタへのリード・アクセスを含みます。 1 この範囲内の不定アドレスに発行されるリード用に返されるデータは、予測不能で す。 PCI Express Avalon-MM ブリッジ・レジスタの完全なマップは表 6–12 に示されていま す。 表 6‒12. PCI Express Avalon-MM ブリッジ・レジスタのマップ アドレス範囲 レジスタ 0x0040 PCI Express 割り込みステータス・レジスタ 0x0050 PCI Express 割り込みイネーブル・レジスタ 0x0800-0x081F PCI Express Avalon-MM ブリッジ・メールボックス・レジスタ、リード / ライト 0x0900-0x091F Avalon-MM から PCI Express へのメールボックス・レジスタ、リードのみ 0x1000-0x1FFF Avalon-MM から PCI Express へのアドレス変換テーブル 0x3060 Avalon-MM 割り込みステータス・レジスタ 0x3070 Avalon-MM 割り込みイネーブル・レジスタ 0x3A00-0x3A1F Avalon-MM から PCI Express へのメールボックス・レジスタ、リード / ライト 0x3B00-0x3B1F PCI Express Avalon-MM ブリッジ・メールボックス・レジスタ、リードのみ 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 6‒8 第 6 章 : レジスタの説明 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 Avalon-MM から PCI Express への割り込みレジスタ この項でのレジスタには、PCI Express Avalon-MM ブリッジ・ロジックのさまざまな信 号のステータスが含まれており、イネーブルされる場合に PCI Express 割り込みのア サートを可能にします。これらのレジスタは、他の PCI Express ルート・コンプレッ クスのみによるアクセスを可能にします。しかし、ハードウェアは他の Avalon-MM マスタのアクセスを防ぐことはありません。 表 6–13 に、PCI Express 割り込みがアサートされることがある全ての状態のステータ スを示します。 表 6‒13. Avalon-MM から PCI Express への割り込みステータス・レジスタ ビット 信号名 アドレス : 0x0040 アクセス 説明 — — [31:24] 予約 [23] A2P_MAILBOX_INT7 RW1C A2P_MAILBOX7 が書き込まれる場合は 1 です。 [22] A2P_MAILBOX_INT6 RW1C A2P_MAILBOX6 が書き込まれる場合は 1 です。 [21] A2P_MAILBOX_INT5 RW1C A2P_MAILBOX5 が書き込まれる場合は 1 です。 [20] A2P_MAILBOX_INT4 RW1C A2P_MAILBOX4 が書き込まれる場合は 1 です。 [19] A2P_MAILBOX_INT3 RW1C A2P_MAILBOX3 が書き込まれる場合は 1 です。 [18] A2P_MAILBOX_INT2 RW1C A2P_MAILBOX2 が書き込まれる場合は 1 です。 [17] A2P_MAILBOX_INT1 RW1C A2P_MAILBOX1 が書き込まれる場合は 1 です。 [16] A2P_MAILBOX_INT0 RW1C A2P_MAILBOX0 が書き込まれる場合は 1 です。 [15:14] (SOPCB) [13:8] (SOPCB) [7] (SOPCB) 予約 AVL_IRQ_INPUT_VECTOR AVL_IRQ_ASSERTED — RO RO — Avalon-MM の割り込み入力ベクタです。AvalonMM IRQ が通知されている最中 (AVL_IRQ_ASSERTED = 1)、このレジスタは現在の 最も高優先度の Avalon-MM IRQ がアサートされて いることを示します。更に高い優先度の割り込 みがアサートおよびディアサートされる場合、 この値は変化します。このレジスタは、 RXmIrqNum_i 入力信号の値を格納します。 ユーザーの SOPC Builder システム内の Avalon-MM RX マスタ・ポートへの Avalon-MM 割り込み (IRQ)入力ポートの現在の値です。フィールド の値には以下の意味があります。 0 – Avalon-MM IRQ は通知されていません。 1 – Avalon-MM IRQ は通知されています。 [6:0] (SOPCB) 予約 — — Avalon-MM RX マスタ・ポートへの Avalon-MM 割 り込み(IRQ)入力ポートの現在の値です。 0 – Avalon-MM IRQ は通知されていません。 [15:0] (Qsys) AVL_IRQ_ASSERTED[15:0] RO 1 – Avalon-MM IRQ は通知されています。 Qsys 生成の PCI Express 用の IP コンパイラは、個 別の IRQ 入力ポートを最大 16 個持っています。 AVL_IRQ_ASSERTED[] の各ビットは、IRQ 入力ポー トに対応する値を反映します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 6 章 : レジスタの説明 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 6‒9 PCI Express 割り込みは、Avalon-MM から PCI Express への割り込みイネーブル・レジ スタ(表 6–14)に対応するビットの設定によって、PCI Express 割り込みステータ ス・レジスタでレジスタされたいかなる状態に対してもイネーブルすることができ ます。MSI またはレガシー割り込みのいずれかは、4–25 ページの「PCI Express 割り込 みの生成」の項で説明しているように生成することができます。 PCI Express メールボックス・レジスタ 表 6‒14. Avalon-MM から PCI Express への割り込みイネーブル・レジスタ ビット アクセス 説明 予約 — — [23:16] A2P_MB_IRQ RW 指定されたメールボックスが外部 Avalon-MM マス タによって書き込まれる場合、PCI Express 割り込 みの生成をイネーブルします。 [15:8] (SOPCB) 予約 — — [7] (SOPCB) AVL_IRQ RW SOPC Builder システムに RXmlrq_i がアサートさ れる場合、PCI Express 割り込みの生成をイネーブ ルします。 [6:0] (SOPCB) 予約 — — RW 指定された Avalon-MM 割り込み信号がアサートさ れる場合、PCI Express 割り込みの生成をイネーブ ルします。ユーザーの Qsys システムは、個別の 入力割り込み信号を最大 16 個持っている可能性 があります。 [31:24] [15:0] (Qsys) 信号名 アドレス : 0x0050 AVL_IRQ[15:0] SOPC Builder 生成の PCI Express 用の IP コンパイラでは、単一の入力割り込み信号は 使用可能であり、単一の割り込みイネーブル・ビットのみ要求されます。しかし、 Qsys 生成の PCI Express 用の IP コンパイラは個別の受信割り込み信号を最大 16 個持 つことができて、各信号用に独立した割り込みイネーブルを必要とします。 PCI Express のルート・コンプレックスは、通常、ライト・アクセスを PCI Express か ら Avalon-MM へのメールボックス・レジスタのセットに、リードのみのアクセスを Avalon-MM から PCI Express へのメールボックス・レジスタに要求します。8 つのメー ルボックス・レジスタが使用可能です。 PCI Express から Avalon-MM へのメールボックス・レジスタは、表 6–15 に示すアドレ スで書き込み可能です。これらのレジスタの 1 つに書き込むことで、Avalon-MM 割り 込みステータス・レジスタの中の対応するビットが 1 に設定されます。 表 6‒15. PCI Express から Avalon-MM へのメールボックス・レジスタ、リード / ライト アドレス範囲 : 0x800-0x0815 ( その 1 ) アドレス 信号名 アクセス 説明 0x0800 P2A_MAILBOX0 RW PCI Express から Avalon-MM へのメールボックス 0 です。 0x0804 P2A_MAILBOX1 RW PCI Express から Avalon-MM へのメールボックス 1 です。 0x0808 P2A_MAILBOX2 RW PCI Express から Avalon-MM へのメールボックス 2 です。 0x080C P2A_MAILBOX3 RW PCI Express から Avalon-MM へのメールボックス 3 です。 0x0810 P2A_MAILBOX4 RW PCI Express から Avalon-MM へのメールボックス 4 です。 0x0814 P2A_MAILBOX5 RW PCI Express から Avalon-MM へのメールボックス 5 です。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 6‒10 第 6 章 : レジスタの説明 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 表 6‒15. PCI Express から Avalon-MM へのメールボックス・レジスタ、リード / ライト アドレス範囲 : 0x800-0x0815 ( その 2 ) アドレス 信号名 アクセス 説明 0x0818 P2A_MAILBOX6 RW PCI Express から Avalon-MM へのメールボックス 6 です。 0x081C P2A_MAILBOX7 RW PCI Express から Avalon-MM へのメールボックス 7 です。 Avalon-MM から PCI Express へのメールボックス・レジスタは、表 6–16 に示すアドレ スで読み出されます。PCI Express ルート・コンプレックスは、PCI Express 割り込み イネーブル・レジスタの中の対応するビットによって通知された後にメールボック スの情報を読み出すためにこれらのアドレスを使用する必要があります。 表 6‒16. Avalon-MM から PCI Express へのメールボックス・レジスタ、リードのみ アドレス範囲 : 0x0900-0x091F アドレス 信号名 アクセス 説明 0x0900 A2P_MAILBOX0 RO Avalon-MM から PCI Express へのメールボックス 0 です。 0x0904 A2P_MAILBOX1 RO Avalon-MM から PCI Express へのメールボックス 1 です。 0x0908 A2P_MAILBOX2 RO Avalon-MM から PCI Express へのメールボックス 2 です。 0x090C A2P_MAILBOX3 RO Avalon-MM から PCI Express へのメールボックス 3 です。 0x0910 A2P_MAILBOX4 RO Avalon-MM から PCI Express へのメールボックス 4 です。 0x0914 A2P_MAILBOX5 RO Avalon-MM から PCI Express へのメールボックス 5 です。 0x0918 A2P_MAILBOX6 RO Avalon-MM から PCI Express へのメールボックス 6 です。 0x091C A2P_MAILBOX7 RO Avalon-MM から PCI Express へのメールボックス 7 です。 Avalon-MM から PCI Express へのアドレス変換テーブル Avalon-MM から PCI Express へのアドレス変換テーブルは、ダイナミック変換がイ ネーブルされている場合、CRA スレーブ・ポートを使用して書き込み可能です。 PCI Express のアドレス変換テーブル(表 6–17)の各エントリは、現在の PCI Express のアドレス幅のパラメータ値にかかわらず 8 バイトの幅です。そのため、レジスタ・ アドレスは、PCI Express 用の IP コンパイラのアドレス幅にかかわらず常に同じ幅で す。 表 6‒17. Avalon-MM から PCI Express へのアドレス変換テーブル ( その 1 ) アドレス ビット 信号名 アクセス 説明 [1:0] A2P_ADDR_SPACE0 RW RW エントリ 0 用のアドレス・スペース表示です。 これらのビットの定義については、表 6–18 を参 照してください。 [31:2] A2P_ADDR_MAP_LO0 RW Avalon-MM から PCI Express へのアドレス・マップ のエントリ 0 の下位ビットです。 [31:0] A2P_ADDR_MAP_HI0 RW Avalon-MM から PCI Express へのアドレス・マップ のエントリ 0 の上位ビットです。 0x1000 0x1004 アドレス幅 : 0x1000-0x1FFF PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 6 章 : レジスタの説明 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 6‒11 表 6‒17. Avalon-MM から PCI Express へのアドレス変換テーブル ( その 2 ) アドレス ビット [1:0] 信号名 A2P_ADDR_SPACE1 アクセス 説明 RW エントリ 1 用のアドレス・スペース表示です。こ れらのビットの定義については、表 6–18 を参照 してください。 0x1008 [31:2] 0x100C [31:0] A2P_ADDR_MAP_LO1 A2P_ADDR_MAP_HI1 アドレス幅 : 0x1000-0x1FFF RW RW Avalon-MM から PCI Express へのアドレス・マップ のエントリ 1 の下位ビットです。 このエントリは、テーブル・エントリ数が 1 より 大きい場合のみに実装されます。 Avalon-MM から PCI Express へのアドレス・マップ のエントリ 1 の上位ビットです。 このエントリは、テーブル・エントリ数が 1 より 大きい場合のみに実装されます。 表 6–17 の注: (1) これらのテーブル・エントリは、Number of address pages のパラメータで指定された各アドレス用に繰り返されます(3–26 ページの 表 3–14) 。Number of address pages が 512 の最大値に設定される場合、0x1FF8 は A2P_ADDR_MAP_LO511 を含み、 0x1FFC は A2P_ADDR_MAP_HI511 を含みます。 アドレス変換テーブル・エントリのアドレス・スペース領域(A2P_ADDR_SPACEn) のフォーマットは、表 6–18 に示されています。 表 6‒18. PCI Express Avalon-MM ブリッジ・アドレス・スペース・ビットのエンコーディング 値 ( ビット 1:0) 説明 32 ビットの PCI Express アドレスのメモリ・スペースです。32 ビットのヘッダが生成されます。 00 変換テーブル・エントリのアドレス・ビット 63:32 は無視されます。 01 64 ビットの PCI Express アドレスのメモリ・スペースです。64 ビットのアドレス・ヘッダが生 成されます。 10 予約 11 予約 PCI Express から Avalon-MM への割り込みステータスおよびイネー ブル・レジスタ この項でのレジスタには、PCI Express Avalon-MM ブリッジ・ロジックのさまざまな信 号のステータスが含まれており、イネーブルされる場合に Avalon 割り込みのアサー トを可能にします。Avalon-MM 割り込みを処理するシステム・インタコネクト・ファ ブリックへのプロセッサ・ローカルは、これらのレジスタにアクセスすることがで きます。これらのレジスタは、PCI Express Avalon-MM ブリッジ・マスタ・ポートに よってアクセスしてはいけませんが、これを回避する方法はハードウェアにはあり ません。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 6‒12 第 6 章 : レジスタの説明 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 割り込みステータス・レジスタ(表 6–19)は、Avalon-MM 割り込みがアサートされ る可能性のある全ての状態のステータスを記録します。 表 6‒19. PCI Express から Avalon-MM への割り込みステータス・レジスタ ビット 信号名 アドレス : 0x3060 アクセス 説明 — — [15:0] 予約 [16] P2A_MAILBOX_INT0 RW1C P2A_MAILBOX0 が書き込まれる場合、1 です。 [17] P2A_MAILBOX_INT1 RW1C P2A_MAILBOX1 が書き込まれる場合、1 です。 [18] P2A_MAILBOX_INT2 RW1C P2A_MAILBOX2 が書き込まれる場合、1 です。 [19] P2A_MAILBOX_INT3 RW1C P2A_MAILBOX3 が書き込まれる場合、1 です。 [20] P2A_MAILBOX_INT4 RW1C P2A_MAILBOX4 が書き込まれる場合、1 です。 [21] P2A_MAILBOX_INT5 RW1C P2A_MAILBOX5 が書き込まれる場合、1 です。 [22] P2A_MAILBOX_INT6 RW1C P2A_MAILBOX6 が書き込まれる場合、1 です。 [23] P2A_MAILBOX_INT7 RW1C P2A_MAILBOX7 が書き込まれる場合、1 です。 [31:24] 予約 — — Avalon-MM 割り込みは、割り込みイネーブル・レジスタ(表 6–20)に対応するビッ トの設定によって、Avalon-MM 割り込みステータス・レジスタで通知されたいかなる 状態に対してもアサートすることができます。 PCI Express 割り込みもまた、表示される全てのエラー状態に対してイネーブルする ことができます。しかし、与えられたビットに対してイネーブルできるのは AvalonMM または PCI Express の割り込みのうちどちらか 1 つだけの可能性があります。通 常、割り込みによって通知される状態の処理を担う PCI Express または Avalon-MM ド メインのいずれかのプロセスがあります。 表 6‒20. PCI Express から Avalon-MM への割り込みイネーブル・レジスタ ビット 信号名 アドレス : 0x3070 アクセス 説明 [15:0] 予約 — — [23:16] P2A_MB_IRQ RW ルート・コンプレックスによって指定されたメールボック スに書き込まれる場合、Avalon-MM 割り込みの CraIrq_o 信号のアサーションをイネーブルします。 [31:24] 予約 — — Avalon-MM のメールボックス・レジスタ システム・インタコネクト・ファブリックへのプロセッサ・ローカルは、通常、ラ イト・アクセスを Avalon-MM から PCI Express へのメールボックス・レジスタのセッ トに、そしてリードのみのアクセスを PCI Express から Avalon-MM へのメールボック ス・レジスタに要求します。8 つのメールボックス・レジスタが使用可能です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 6 章 : レジスタの説明 PCI Express の Avalon-MM ブリッジ・コントロール・レジスタの内容 6‒13 Avalon-MM から PCI Express へのメールボックス・レジスタは、表 6–21 に示されるア ドレスで書き込み可能です。Avalon-MM プロセッサがこれらのレジスタのうち 1 つに 書き込む場合、PCI Express 割り込みステータス・レジスタの対応するビットは 1 に 設定されます。 表 6‒21. Avalon-MM から PCI Express へのメールボックス・レジスタ、リード / ライト アドレス幅 : 0x3A00-0x3A1F アドレス 信号名 アクセス 説明 0x3A00 A2P_MAILBOX0 RW Avalon-MM から PCI Express へのメールボックス 0 です。 0x3A04 A2P _MAILBOX1 RW Avalon-MM から PCI Express へのメールボックス 1 です。 0x3A08 A2P _MAILBOX2 RW Avalon-MM から PCI Express へのメールボックス 2 です。 0x3A0C A2P _MAILBOX3 RW Avalon-MM から PCI Express へのメールボックス 3 です。 0x3A10 A2P _MAILBOX4 RW Avalon-MM から PCI Express へのメールボックス 4 です。 0x3A14 A2P _MAILBOX5 RW Avalon-MM から PCI Express へのメールボックス 5 です。 0x3A18 A2P _MAILBOX6 RW Avalon-MM から PCI Express へのメールボックス 6 です。 0x3A1C A2P_MAILBOX7 RW Avalon-MM から PCI Express へのメールボックス 7 です。 Avalon-MM から PCI Express へのメールボックス・レジスタは、表 6–22 に示されるア ドレスで読み出し専用です。Avalon-MM プロセッサは、Avalon-MM 割り込みステータ ス・レジスタの対応するビットが 1 に設定されている場合、これらのレジスタを読 み出します。 表 6‒22. Avalon-MM から PCI Express へのメールボックス、リードのみ アドレス 信号名 アクセス・ モード アドレス幅 : 0x3800-0x3B1F 説明 0x3B00 P2A_MAILBOX0 RO PCI Express から Avalon-MM へのメールボックス 0 です。 0x3B04 P2A_MAILBOX1 RO PCI Express から Avalon-MM へのメールボックス 1 です。 0x3B08 P2A_MAILBOX2 RO PCI Express から Avalon-MM へのメールボックス 2 です。 0x3B0C P2A_MAILBOX3 RO PCI Express から Avalon-MM へのメールボックス 3 です。 0x3B10 P2A_MAILBOX4 RO PCI Express から Avalon-MM へのメールボックス 4 です。 0x3B14 P2A_MAILBOX5 RO PCI Express から Avalon-MM へのメールボックス 5 です。 0x3B18 P2A_MAILBOX6 RO PCI Express から Avalon-MM へのメールボックス 6 です。 0x3B1C P2A_MAILBOX7 RO PCI Express から Avalon-MM へのメールボックス 7 です。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 6‒14 第 6 章 : レジスタの説明 コンフィギュレーション・スペース・レジスタおよび PCIe 仕様レビジョン 2.0 の間の包括的な対応関係 コンフィギュレーション・スペース・レジスタおよび PCIe 仕様 レビジョン 2.0 の間の包括的な対応関係 表 6–23 に、コンフィギュレーション・スペース・レジスタおよび PCI Express Base Specification 2.0 での説明の間の包括的な対応関係を示します。 表 6‒23. コンフィギュレーション・スペース・レジスタおよび PCIe ベース仕様レビジョン 2.0 の説明の間の 対応関係 ( その 1 ) バイト・ア ドレス コンフィギュレーション・レジスタ・オフセット 31:24 23:16 15:8 7:0 0x000:0x03C PCI ヘッダのタイプ 0 コンフィギュレーション・ レジスタ タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x000:0x03C PCI ヘッダのタイプ 1 コンフィギュレーション・ レジスタ タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 0x040:0x04C 予約 PCIe 仕様での対応する項 表 6-1. 共通のコンフィギュレーション・スペース・ヘッダ 0x050:0x05C MSI の機能構造 MSI および MSI-X の機能構造 0x068:0x070 MSI の機能構造 MSI および MSI-X の機能構造 0x070:0x074 予約 0x078:0x07C 消費電力管理の機能構造 PCI の消費電力管理の機能構造 0x080:0x0B8 PCI Express の機能構造 PCI Express の機能構造 0x080:0x0B8 PCI Express の機能構造 PCI Express の機能構造 0x0B8:0x0FC 予約 0x094:0x0FF ルート・ポート 0x100:0x16C バーチャル・チャネルの機能構造 0x170:0x17C 予約 0x180:0x1FC バーチャル・チャネルのアービトレーション・ テーブル バーチャル・チャネル機能 VC のアービトレーション・テーブル 0x200:0x23C ポート VC0 のアービトレーション・テーブル (予約) ポート・アービトレーション・テーブル 0x240:0x27C ポート VC1 のアービトレーション・テーブル (予約) ポート・アービトレーション・テーブル 0x280:0x2BC ポート VC2 のアービトレーション・テーブル (予約) ポート・アービトレーション・テーブル 0x2C0:0x2FC ポート VC3 のアービトレーション・テーブル (予約) ポート・アービトレーション・テーブル 0x300:0x33C ポート VC4 のアービトレーション・テーブル (予約) ポート・アービトレーション・テーブル 0x340:0x37C ポート VC5 のアービトレーション・テーブル (予約) ポート・アービトレーション・テーブル 0x380:0x3BC ポート VC6 のアービトレーション・テーブル (予約) ポート・アービトレーション・テーブル 0x3C0:0x3FC ポート VC7 のアービトレーション・テーブル (予約) ポート・アービトレーション・テーブル 0x400:0x7FC 予約 PCI Express 用の IP コンパイラのユーザー・ガイド PCIe 仕様の対応するセクション名 2011 年 5 月 Altera Corporation 第 6 章 : レジスタの説明 コンフィギュレーション・スペース・レジスタおよび PCIe 仕様レビジョン 2.0 の間の包括的な対応関係 6‒15 表 6‒23. コンフィギュレーション・スペース・レジスタおよび PCIe ベース仕様レビジョン 2.0 の説明の間の 対応関係 ( その 2 ) バイト・ア ドレス コンフィギュレーション・レジスタ・オフセット 31:24 23:16 15:8 7:0 PCIe 仕様での対応する項 0x800:0x834 アドバンスト・エラー・レポート AER(オプショ ン) アドバンスト・エラー・レポート機能 0x838:0xFFF 予約 表 6-2. PCI タイプ 0 のコンフィギュレーション・スペース・ヘッダ(エンドポイント)、仕様レビジョン 2: タイプ 0 のコンフィギュレーション・スペース・ヘッダ 0x000 デバイス ID ベンダ ID タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x004 ステータス・コマンド タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x008 クラス・コード・レビジョン ID タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x00C 0x00 ヘッダ・タイプ 0x00 キャッシュ・ライン・サイズ タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x010 ベース・アドレス 0 ベース・アドレス・レジスタ(オフセット 10h - 24h) 0x014 ベース・アドレス 1 ベース・アドレス・レジスタ(オフセット 10h - 24h) 0x018 ベース・アドレス 2 ベース・アドレス・レジスタ(オフセット 10h - 24h) 0x01C ベース・アドレス 3 ベース・アドレス・レジスタ(オフセット 10h - 24h) 0x020 ベース・アドレス 4 ベース・アドレス・レジスタ(オフセット 10h - 24h) 0x024 ベース・アドレス 5 ベース・アドレス・レジスタ(オフセット 10h - 24h) 0x028 予約 タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x02C サブシステム・デバイス ID サブシステム・ベンダ ID タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x030 拡張 ROM ベース・アドレス タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x034 予約済み機能 PTR タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x038 予約 タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 0x03C 0x00 0x00 割り込みピン割り込みライン タイプ 0 のコンフィギュレーション・ス ペース・ヘッダ 表 6-3. PCI タイプ 1 のコンフィギュレーション・スペース・ヘッダ(ルート・ポート)、仕様レビジョン 2: タイプ 1 のコンフィギュレーション・スペース・ヘッダ 0x000 デバイス ID ベンダ ID タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 0x004 ステータス・コマンド タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 6‒16 第 6 章 : レジスタの説明 コンフィギュレーション・スペース・レジスタおよび PCIe 仕様レビジョン 2.0 の間の包括的な対応関係 表 6‒23. コンフィギュレーション・スペース・レジスタおよび PCIe ベース仕様レビジョン 2.0 の説明の間の 対応関係 ( その 3 ) バイト・ア ドレス コンフィギュレーション・レジスタ・オフセット 31:24 23:16 15:8 7:0 PCIe 仕様での対応する項 0x008 クラス・コード・レビジョン ID タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 0x00C BIST ヘッダ・タイプ一次レイテンシ・タイマー・ タイプ 1 のコンフィギュレーション・ス キャッシュ・ライン・サイズ ペース・ヘッダ 0x010 ベース・アドレス 0 ベース・アドレス・レジスタ(オフセット 10h/14h) 0x014 ベース・アドレス 1 ベース・アドレス・レジスタ(オフセット 10h/14h) 0x018 副次レイテンシ・タイマー従属バス数 副次バス数 一次バス数 副次レイテンシ・タイマー(オフセット 1Bh)/ タイプ 1 のコンフィギュレーショ ン・スペース・ヘッダ / 一次バス数(オフ セット 18h) 0x01C 副次ステータス I/O 制限 I/O ベース 副次ステータス・レジスタ(オフセット 1Eh)/ タイプ 1 のコンフィギュレーショ ン・スペース・ヘッダ 0x020 メモリ制限メモリ・ベース タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 0x024 プリフェッチ可能メモリ制限 プリフェッチ可能メモリ・ベース / 制限 プリフェッチ可能メモリ・ベース (オフセット 24h) 0x028 プリフェッチ可能ベース上位 32 ビット タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 0x02C プリフェッチ可能制限上位 32 ビット タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 0x030 I/O 制限上位 16 ビット I/O ベース上位 16 ビット タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 0x034 予約済み機能 PTR タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 0x038 拡張 ROM ベース・アドレス タイプ 1 のコンフィギュレーション・ス ペース・ヘッダ 0x03C ブリッジ・コントロール割り込みピン 割り込みライン ブリッジ・コントロール・レジスタ(オフ セット 3Eh) 表 6-4. MSI の機能構造、仕様レビジョン 2:MSI および MSI-X の機能構造 0x050 メッセージ・コントロール・ネクスト・キャップ Ptr 機能 ID MSI および MSI-X の機能構造 0x054 メッセージ・アドレス MSI および MSI-X の機能構造 0x058 メッセージ上位アドレス MSI および MSI-X の機能構造 0x05C 予約済みメッセージ・データ MSI および MSI-X の機能構造 表 6-5. MSI-X の機能構造、仕様レビジョン 2:MSI および MSI-X の機能構造 0x68 メッセージ・コントロール・ネクスト・キャップ Ptr 機能 ID MSI および MSI-X の機能構造 0x6C MSI-X テーブル・オフセット BIR MSI および MSI-X の機能構造 0x70 ペンディング・ビット配列(PBA)オフセット BIR MSI および MSI-X の機能構造 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 6 章 : レジスタの説明 コンフィギュレーション・スペース・レジスタおよび PCIe 仕様レビジョン 2.0 の間の包括的な対応関係 6‒17 表 6‒23. コンフィギュレーション・スペース・レジスタおよび PCIe ベース仕様レビジョン 2.0 の説明の間の 対応関係 ( その 4 ) バイト・ア ドレス コンフィギュレーション・レジスタ・オフセット 31:24 23:16 15:8 7:0 PCIe 仕様での対応する項 表 6-6. 消費電力管理の機能構造、仕様レビジョン 2:消費電力管理の機能構造 0x078 機能レジスタ・ネクスト・キャップ PTR キャッ プ ID PCI 消費電力管理の機能構造 0x07C データ PM コントロール / ステータス・ブリッジ 拡張消費電力管理ステータス & コントロール PCI 消費電力管理の機能構造 表 6-7. バージョン 1.0a および 1.1 の PCI Express 機能構造 ( 注 1)、仕様レビジョン 2:PCI Express 機能レジス タおよび PCI Express 機能リスト・レジスタ 0x080 PCI Express 機能レジスタ・ネクスト・キャップ PTR 機能 ID PCI Express 機能レジスタ /PCI Express 機能 リスト・レジスタ 0x084 デバイス機能 デバイス機能レジスタ 0x088 デバイス・ステータス デバイス・コントロール デバイス・ステータス・レジスタ / デバイ ス・コントロール・レジスタ 0x08C リンク機能 リンク機能レジスタ 0x090 リンク・ステータス リンク・コントロール リンク・ステータス・レジスタ / リンク・ コントロール・レジスタ 0x094 スロット機能 スロット機能レジスタ 0x098 スロット・ステータス スロット・コントロール スロット・ステータス・レジスタ / スロッ ト・コントロール・レジスタ 0x09C 予約済みルート・コントロール ルート・コントロール・レジスタ 0x0A0 ルート・ステータス ルート・ステータス・レジスタ 表 6-8. 仕様レビジョン 2.0 の PCI Express 機能構造、仕様レビジョン 2:PCI Express 機能レジスタおよび PCI Express 機能リスト・レジスタ 0x080 PCI Express 機能レジスタ・ネクスト・キャップ PTR PCI Express キャップ ID PCI Express 機能レジスタ /PCI Express 機能 リスト・レジスタ 0x084 デバイス機能 デバイス機能レジスタ 0x088 デバイス・ステータス デバイス・コントロール デバイス・ステータス・レジスタ / デバイ ス・コントロール・レジスタ 0x08C リンク機能 リンク機能レジスタ 0x090 リンク・ステータス リンク・コントロール リンク・ステータス・レジスタ / リンク・ コントロール・レジスタ 0x094 スロット機能 スロット機能レジスタ 0x098 スロット・ステータス スロット・コントロール スロット・ステータス・レジスタ / スロッ ト・コントロール・レジスタ 0x09C ルート機能 ルート・コントロール ルート機能レジスタ / ルート・コントロー ル・レジスタ 0x0A0 ルート・ステータス ルート・ステータス・レジスタ 0x0A4 デバイス機能 2 デバイス機能 2 レジスタ 0x0A8 デバイス・ステータス 2 デバイス・コントロール 2 デバイス・ステータス 2 レジスタ / デバイ ス・コントロール 2 レジスタ 0x0AC リンク機能 2 リンク機能 2 レジスタ 0x0B0 リンク・ステータス 2 リンク・コントロール 2 リンク・ステータス 2 レジスタ / リンク・ コントロール 2 レジスタ 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 6‒18 第 6 章 : レジスタの説明 コンフィギュレーション・スペース・レジスタおよび PCIe 仕様レビジョン 2.0 の間の包括的な対応関係 表 6‒23. コンフィギュレーション・スペース・レジスタおよび PCIe ベース仕様レビジョン 2.0 の説明の間の 対応関係 ( その 5 ) バイト・ア ドレス コンフィギュレーション・レジスタ・オフセット 31:24 23:16 15:8 7:0 PCIe 仕様での対応する項 0x0B4 スロット機能 2 スロット機能 2 レジスタ 0x0B8 スロット・ステータス 2 スロット・コントロール 2 スロット・ステータス 2 レジスタ / スロッ ト・コントロール 2 レジスタ 表 6-9. バーチャル・チャネルの機能構造、仕様レビジョン 2:バーチャル・チャネルの機能 0x100 ネクスト・キャップ PTR バージョン拡張キャッ プ ID バーチャル・チャネル・エンハンスト機能 ヘッダ 0x104 予約 P ポート VC キャップ 1 ポート VC 機能レジスタ 1 0x108 VAT オフセット予約 P VC アービトレーション ポート VC 機能レジスタ 2 0x10C ポート VC ステータス ポート VC コントロール ポート VC ステータス・レジスタ / ポート VC コントロール・レジスタ 0x110 PAT オフセット 0(31:24)VC リソース機能レジ スタ(0) VC リソース機能レジスタ 0x114 VC リソース・コントロール・レジスタ(0) VC リソース・コントロール・レジスタ 0x118 VC リソース・ステータス・レジスタ(0)予約 P VC リソース・ステータス・レジスタ 0x11C PAT オフセット 1(31:24)VC リソース機能レジ スタ(1) VC リソース機能レジスタ 0x120 VC リソース・コントロール・レジスタ(1) VC リソース・コントロール・レジスタ 0x124 VC リソース・ステータス・レジスタ(1)予約 P VC リソース・ステータス・レジスタ 0x164 PAT オフセット 7(31:24)VC リソース機能レジ スタ(7) VC リソース機能レジスタ 0x168 VC リソース・コントロール・レジスタ(7) VC リソース・コントロール・レジスタ 0x16C VC リソース・ステータス・レジスタ(7)予約 P VC リソース・ステータス・レジスタ 表 6-10. PCI Express のアドバンスト・エラー・レポートの拡張機能構造、仕様レビジョン 2:アドバンスト・ エラー・レポートの機能 0x800 PCI Express エンハンスト機能ヘッダ アドバンスト・エラー・レポート・エンハ ンスト機能ヘッダ 0x804 訂正不可能エラー・ステータス・レジスタ 訂正不可能エラー・ステータス・レジスタ 0x808 訂正不可能エラー・マスク・レジスタ 訂正不可能エラー・マスク・レジスタ 0x80C 訂正不可能エラー重要度レジスタ 訂正不可能エラー重要度レジスタ 0x810 訂正可能エラー・ステータス・レジスタ 訂正可能エラー・ステータス・レジスタ 0x814 訂正可能エラー・マスク・レジスタ 訂正可能エラー・マスク・レジスタ 0x818 アドバンスト・エラー機能およびコントロール・ レジスタ アドバンスト・エラー機能およびコント ロール・レジスタ 0x81C ヘッダ・ログ・レジスタ ヘッダ・ログ・レジスタ 0x82C ルート・エラー・コマンド ルート・エラー・コマンド・レジスタ 0x830 ルート・エラー・ステータス ルート・エラー・ステータス・レジスタ 0x834 訂正可能エラー・ソース ID レジスタ エラー・ソース ID レジスタ エラー・ソース ID レジスタ PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 7. リセットおよびクロック 5? 2011? <edit Part Number variable in chapter> この章では、MegaWizard Plug-In Manager のデザイン・フローを使用して作成された PCI Express バリエーション用の IP コンパイラのリセットおよびクロック回路の機能 について説明します。ここでは、以下の項で構成されています。 ■ リセット・ハード IP の実装 ■ リセット・ソフト IP の実装 ■ クロック 使用可能なリセットおよびクロック信号について詳しくは、5–27 ページの「リセッ トおよびリンク・トレーニング信号」 、5–26 ページの「クロック信号 — ハード IP 実 装」 、および 5–26 ページの「クロック信号 — ソフト IP 実装」の項を参照してくだ さい。 リセット・ハード IP の実装 アルテラは、MegaWizard Plug-In Manager-PCI Express ハード IP の実装で生成した IP コ ンパイラでリセット回路の 2 つのオプションを提供します。両方のオプションが自 動的に IP コアを生成するときに作成されます。これらのオプションは、以下のファ イルによって実装されます。 ■ <variant>_plus.v または .vhd— バリアントは、IP コアの一部としてリセットやトラン シーバ・キャリブレーションのロジックが含まれ、ある程度の柔軟性を犠牲にし てシステム開発を簡素化します。このファイルは <install_dir>/chaining_dma/ ディ レクトリに格納されます。 ■ <variant>.v または .vhd— このファイルには、リセットまたはキャリブレーショ ン・ロジックが含まれていないため、要件を満たす回路をデザインする柔軟性を 与えます。この方法を選択すると、単一のクワッド内でのチャネルとリセット・ ロジックを _plus オプションでは不可能である他のプロトコルと共有することが できます。しかし、信頼性の高いソリューションをデザインするのは困難の場合 があります。このファイルは <working_dir> ディレクトリに格納されます。 これらのバリアントの両方のリセット・ロジックは、図 7–1 に示されています。 2–8 ページの図 2–4 には、MegaWizard Plug-In Manager を使用して IP コアを生成する 時に作成されたディレクトリとファイルを示します。 1 SOPC Builder または Qsys を使用して PCI Express 用の IP コンパイラを生成する時に、リ セットおよびキャリブレーション・ロジックが IP コアのバリアントに含まれていま す。 <variant>_plus.v または .vhd このオプションは、2 つのプレーン・テキスト・ファイル間のリセット・ロジックを パーティションします。 ■ 2011 年 5 月 <working_dir>/ip_compiler_for_pci_express-library/altpcie_rs_serdes.v または .vhd— こ のファイルには、トランシーバをリセットするロジックが含まれています。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 7 章: リセットおよびクロック リセット・ハード IP の実装 7–2 ■ <working_dir>/<variation>_examples/chaining_dma/<variation>_rs_hip.vまたは.vhd—こ のファイルには、PCI Express 用の IP コンパイラをリセットするロジックが含ま れています。 _plus バリアントには、PCI Express 用の IP コンパイラを初期化するために、以下のロ ジックを含めてすべての必要なロジックが含まれています。 ■ リセット回路 ■ ALTGXB リコンフィギュレーション IP コア ■ test_in の設定 図 7–1 に、<variant>_plus.v または .vhd 、および <variant>.v または .vhd オプションの リセット・ロジックを示します。 図 7‒1. ハード IP の実装における内部リセット・モジュール <variant>_example_chaining_pipen1b.v or .vhd IP Compiler for PCI Express Hard IP Implementation with Reset and Calibration Logic Included <variant>_plus.v or .vhd <variant>.v or .vhd Note (1) pld_clk 125 MHz dl_up, hotrst_exit, l2_exit, ltssm crst Transceiver Reset srst <variant>_rs_hip.v or .vhd app_rstn coreclk_out 125 MHz IP Compiler for PCI Express Hard IP Implementation Transceiver PHY IP Core Hip_txclk 250 or 500 MHz Transceiver Reset <variant>_core.v or .vhd <variant>_serdes.v or .vhd altpcie_rs_serdes.v or .vhd pcie_rstn busy_altgxb_reconfig local_rstn Refclk 100 MHz altgxb_reconfig altpcie_reconfig_ <device>.v or .vhd cal_blk_clk 50 MHz fixedclk_serdes pll_locked free_running_clock 100 MHz PLL altpcierd_reconfig_pll_clk.v reconfig_clk 50 MHz fixedclk 125 MHz 図 7‒1 の注: (1) このバリアントについては、図 7–2 を参照してください。 図 7–1 では、汎用 PLL は、トランシーバ基準クロック refclk とは独立してフリー・ ランニング・クロック・ソースを受信し、125MHz の fixedclk と reconfig_clk を出 力します。オフセット・キャンセレーションを実行する前に altgxb_reconfig ブ ロックは、2 つの PLL 出力クロックの安定するまでに待機します。pll_locked 信号 は 2 つのクロックが安定するかどうかを表示します。トランシーバへの fixedclk_serdes 入力は、フリー・ランニング・クロックでなければなりません。ブ ロック図に、独立した PLL によるフリー・ランニングの入力クロックから派生して PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 7 章: リセットおよびクロック リセット・ハード IP の実装 7–3 いるので fixedclk は、フリー・ランニングであることを示します。 altgxb_reconfig ブロックは、PCI Express トランシーバ・リセット・コントローラ用 の IP コンパイラの busy_altgxb_reconfig 入力ポートに接続する busy 信号を出力し ます。オフセット・キャンセレーションが完了した後、ALTGXB_Reconfig は busy 信 号をデアサートします。リセット・コントローラは、この信号の最初の立ち下がり エッジを待機します。 pll_locked 信号の逆は、offset_cancellation_reset 信号です。PCI Express 用の IP コ ンパイラの外部では表示されないため、信号は図 7–1 にラベルされていません。し かし、次のコマンドを使用することにより、offset_cancellation_reset 信号を表 示することができます。 qmegawiz -silent -wiz_override=”offset_cancellation_reset” <altgx_reconfig_filename.v> この信号は PCI Express ハード IP のバリエーション用の IP コンパイラで表示された 後、ここで説明された用件を満たすために、fixedclk、reconfig_clk、および pll_locked 信号を生成する汎用 PLL をコンフィギュレーションすることができます。 アルテラでは _plus ファイルを使用し、内部リセット・ロジックの使用をサポートす る PLL をコンフィギュレーションすることを推奨します。 f Stratix IV デバイスのリセット・シーケンスを示すタイミング図については、 「Stratix IV デバイス・ハンドブック Volume 2」の 「リセット・コントロールおよびパワーダウ ン」の章の「PCI Express (PIPE) リセット・シーケンス」を参照してください。 1 2011 年 5 月 リセット・シーケンスを詳細に理解するには、altpcie_rs_serdes.v ファイルも確認す ることができます。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 7 章: リセットおよびクロック リセット・ハード IP の実装 7–4 <variant>.v または .vhd 独自のリセット回路を実装する場合、図 7–1 に示すトランシーバ・リセットのモ ジュールを交換するためにロジックをデザインする必要があります。 図 7–2 に、<variant>.v または .vhd のリセット・ロジックにおけるリセット信号の詳 細を提供します。 図 7‒2. ハード IP の実装の外部リセットおよびキャリブレーション・ロジックに提供されるリセット信号 <variant>.v or .vhd pld_clk 125 or 250 MHz PCI Express Hard IP Hip_txclk 125 or 250 MHz Transceiver PHY IP Core rx_freqlocked pll_locked rx_pll_locked Transceiver Reset dl_ltssm[4:0] <variant>_core.v or .vhd tx_digitalreset rx_analogreset rx_digitalreset altpcie_rs_serdes.v or .vhd <variant>_serdes.v or .vhd npor busy_altgxb_reconfig PCI Express 用の IP コンパイラ・ユーザーガイド fixedclk cal_blk_clk Refclk 125 MHz 50 MHz 100 MHz 2011 年 5 月 Altera Corporation 第 7 章: リセットおよびクロック リセット・ソフト IP の実装 7–5 リセット・ソフト IP の実装 図 7–3 に、ソフト IP の実装における ×1 および ×4 のエンドポイントのグローバル・ リセット信号を示します。このバリアントを使用するには、リセットおよびキャリ ブレーションを実装するロジックをデザインする必要があります。内部 ALTGX トラ ンシーバを使用するデザインの場合は、PIPE インタフェースは透過的です。独自の 回路のデザインに、ハード IP の実装向の <variant>_rs_hip.v または .vhd を基準とし て、提供されるリセット・シーケンスを使用することができます。更に、各リセッ ト信号のドメインを理解するには、5–29 ページの「リセットの詳細」を参照してく ださい。 図 7‒3. ソフト IP の実装における ×1 および ×4 エンドポイントのグローバル・リセット信号 <variant>.v or .vhd <variant>_core.v or .vhd Reset Synchronization Circuitry from Design Example Note (1) Other Power On Reset perst# altpcie_hip_pipen1b.v or .vhd Note (1) srst crst rx_freqlocked l2_exit hotrst_exit Note (2) dlup_exit dl_ltssm[4:0] npor SERDES Reset Controller pll_locked rx_pll_locked tx_digitalreset rx_analogreset rx_digitalreset <variant>_serdes.v or .vhd tx_digitalreset rx_analogreset rx_digitalreset pll_powerdown gxb_powerdown rx_freqlocked Note (3) pll_locked rx_pll_locked Note (4) 図 7‒3 の注: (1) Gen1 ×8 では、crst signal が含まれていません。ソフト IP の実装で、rstn は srst を置き換えます。 (2) dlup_exit 信号によって、アプリケーションは crst ではなく、srst をアサートすることになります。 (3) gxb_powerdown は、ハード IP 実装の core_clk_out 、およびソフト IP 実装の clk125_out の生成を停止します。 (4) rx_freqlocked 信号は、PCI Express バリエーションの Gen2 ×4 および Gen2 ×8 の IP コンパイラでのみ使用されます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 7 章: リセットおよびクロック クロック 7–6 クロック この項では、PCI Express 用の IP コンパイラのクロッキングについて説明します。そ れは、以下の項で構成されています。 ■ Avalon-ST インタフェース — ハード IP の実装 ■ Avalon-ST インタフェース — ソフト IP の実装 ■ 汎用 PIPE PHY およびシミュレーション・テストベンチのクロッキング ■ Avalon-MM インタフェース – ハード IP およびソフト IP の実装 Avalon-ST インタフェース ̶ ハード IP の実装 ×1 または ×4 コンフィギュレーションで Arria II GX、Cyclone IV GX、HardCopy IV GX、 または Stratix IV GX PHY に実装する時に、100 MHz の基準クロックは直接にトラン シーバに接続されます。core_clk_out は、トランシーバの出力によって駆動されま す。core_clk_out は、また pld_clk 入力クロックに接続する必要があり、可能であ れば特定のアプリケーションで必要なクロック分配回路を介して接続します。ユー ザー・アプリケーション・インタフェースは、pld_clk 入力に同期しています。 図 7–4 には、クロッキング・コンフィギュレーションを示します。 図 7‒4. Arria II GX、Arria II GZ、Cyclone IV GX、HardCopy IV GX、Stratix IV GX ×1、×4、または ×8 100 MHz の基準クロック <variant>.v or .vhd 100-MHz Clock Source Note (1) refclk Calibration Clock Source Reconfig Clock Source <variant>_serdes.v or .vhd (ALTGX or ALT2GX Megafunction) rx_cruclk pll_inclk cal_blk_clk reconfig_clk fixedclk tx_clk_out Fixed Clock Source <variant>_core.v or .vhd (PCIe MegaCore Function) pld_clk Application Clock core_clk_out (2) 62.5 MHz - x1 125 MHz - x1,x4,x8 250 MHz - x8 図 7‒4 の注: (1) 異なるデバイス・ファミリは、キャリブレーションとリコンフィギュレーション・クロックに異なる周波数範囲を必要としま す。デバイスの周波数範囲を決定するには、次のデバイス・ハンドブックのいずれかを参照してください:「Arria II デバイス・ ハンドブック Volume II」の 「トランシーバ・アーキテクチャ」、「Cyclone IV デバイス・ハンドブック Volume 2」の 「トラン シーバ」、または「Arria II デバイス・ハンドブック Volume 2」の 「トランシーバ・アーキテクチャ」。 (2) 異なるデバイス・ファミリとバリエーションの core_clk_out 周波数については、4–2 ページの図 4–1 を参照してください。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 7 章: リセットおよびクロック クロック 7–7 IP コアは、PHY / MAC と DLL の層の間のインタフェースでクロック・ドメイン・ク ロッシング(CDC)シンクロナイザが含まれています。これによって、データ・リン クおよびトランザクション層は、PHY/ MAC の独立した周波数で動作することが可能 になり、IP コアへのユーザー・クロック・インタフェースの柔軟性を提供します。 システム要件に応じて、レイテンシの最適化の高周波数、または電力の節約の低周 波数で実行することによってパフォーマンスを向上させるために、この追加の柔軟 性を使用することができます。 図 7–5 に、クロック・ドメインを示します。 図 7‒5. PCI Express クロック・ドメイン用の IP コンパイラ Stratix IV GX Device IP Compiler for PCI Express Hard IP Implementation - Clock Domains Adapter pld_clk Data Link Layer (DLL) Transaction Layer (TL) Clock Domain Crossing (CDC) PHY MAC Transceiver p_clk refclk 100 MHz (1) core_clk (128-bit mode only) PLL PLL /2 core_clk_out User Clock Domain User Application 図 7‒5 の注: (1) 100 MHz の refclk は、トランシーバのみドライブします。 (2) core_clk_out 周波数が 125 MHz の場合、cal_blk_clk 信号をドライブするためにこのクロック信号を使用することができます。 図 7–5 に示すように、3 つのクロック・ドメインがあります。 ■ p_clk ■ core_clk, core_clk_out ■ pld_clk p_clk トランシーバは、デバイスに提供する必要がある 100MHz の refclk 信号から p_clk を派生させます。Gen1 のシステムの p_clk の周波数は、250 MHz であり、Gen2 のシ ステムの場合は 500 MHz です。PCI Express の仕様によって、クロック周波数上で +/300 ppm のバリエーションが可能です。 CDC モジュールは、PHY/MAC の p_clk ドメインとデータ・リンク層の core_clk ドメ インの間の非同期クロック・ドメイン・クロッシングを実装します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 7 章: リセットおよびクロック クロック 7–8 core_clk, core_clk_out core_clk 信号は p_clk から派生します。core_clk_out 信号は core_clk から派生しま す。アダプタの非同期 FIFO が core_clk および pld_clk のクロック・ドメインを分 離します。 表 7–1 に、PCI Express リンクの帯域幅の制約を満たすために core_clk と core_clk_out の周波数要件を示します。これらの要件はすべての 3 つのデザイン・フ ローで生成された PCI Express のバリエーション用の IP コンパイラに適用されます。 表 7‒1. すべてのパラメータ化の core_clk_out の値 リンク幅 最大リンク・ レート Avalon-ST 幅 core_clk core_clk_out ×1 Gen1 64 125 MHz 125 MHz ×1 Gen1 64 62.5 MHz 62.5 MHz (1) ×4 Gen1 64 125 MHz 125 MHz ×8 Gen1 64 250 MHz 250 MHz ×8 Gen1 128 250 MHz 125 MHz ×1 Gen2 64 125 MHz 125 MHz ×4 Gen2 64 250 MHz 250 MHz ×4 Gen2 128 250 MHz 125 MHz ×8 Gen2 128 500 MHz 250 MHz 表 7‒1 の注: (1) このモードでは、電力を節約します。 表 7–1 で指定された周波数と幅は、動作全体で維持されます。モードが設定された 後、オート・ネゴシエーションのリンク幅で結果が低くなる場合、PCI Express 用の IP コンパイラは、元の設定の core_clk_out 周波数を維持します。オート・ネゴシ エーションで Gen2 から Gen1 に変更する場合、PCI Express 用の IP コンパイラは、元 の設定の core_clk_out 周波数を維持します。すべてのケースで、PCI Express 用の IP コンパイラは、元のデータパス幅も維持します。 pld_clk アプリケーション層とアダプタの一部はこのクロックを使用します。理想的には、 pld_clk は PCI Express 用の IP コンパイラとメモリ・インターフェイスの他のインスタ ンスを含むアプリケーション層内ですべてのユーザー・ロジックを駆動します。通 常、pld_clk 入力クロック・ピンは core_clk_out 出力クロック・ピンに接続されま す。 Avalon-ST インタフェース ̶ ソフト IP の実装 PCI Express 用の IP コンパイラのソフト IP 実装では、PHY(外部 PHY、Arria GX、 Arria II GX、Cyclone IV GX、HardCopy IV GX、Stratix II GX、または Stratix IV GX)と基準 クロック周波数に応じていくつかの可能なクロッキング・コンフィギュレーション を使用します。2 つのクロック入力信号があります:refclk、と x1 または ×4 バリ エーションの clk125_in、または ×8 バリエーションの clk250_in のいずれです。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 7 章: リセットおよびクロック クロック 7–9 ×1 および ×4 の IP コアでは、125 MHz のトランシーバ・クロックである出力クロッ ク、clk125_out があります。外部 PHY のバリエーションで、clk125_out は refclk 入力からドライブされます。×8 の IP コアでは、250 MHz のトランシーバ・クロック 出力である出力クロック clk250_out があります。 入力クロックは、以下の機能に使用されます。 ■ refclk— 汎用の PIPE PHY 実装では、refclk は clk125_out に直接駆動されます。 ■ clk125_in— 内部 PHY の実装に回復されたクロックによってクロックされた小さ な部分の受信 PCS 層を除いて、この信号はすべての ×1 と ×4 の IP コア・レジス タのためのクロックです。すべての同期アプリケーション層のインタフェース信 号は、125MHz のクロックに同期しています。汎用の PIPE PHY 実装では、 clk125_in は、PHY からの pclk 信号に接続する必要があります。 ■ clk250_in – この信号は、すべての ×8 の IP コア・レジスタのためのクロックです。 すべての同期アプリケーション層のインタフェース信号はこのクロックに同期し ています。clk250_in は 250 MHz で、clk250_out と同じ周波数でなければなりま せん。 100 MHz の基準クロックと 125 MHz のアプリケーション・クロック ×1 または ×4 のバリエーションで Arria GX、Arria II GX、Cyclone IV GX、 HardCopy IV GX、Stratix II GX、または Stratix IV GX デバイスをコンフィギュレーション する時に、100 MHz のクロックはトランシーバに直接接続されます。clk125_out は、 トランシーバの出力によって駆動されます。 clk125_out は、また clk125_in 入力クロックに接続する必要があり、可能であれば特 定のアプリケーションで必要なクロック分配回路を介して接続ます。ユーザー・ア プリケーション・インタフェースは、clk125_in 入力に同期しています。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 7 章: リセットおよびクロック クロック 7–10 このクロッキング・コンフィギュレーションの詳細は、図 7–6 を参照してください。 図 7‒6. 100 MHz の基準クロックを使用した Arria GX、Arria II GX、Stratix II GX、または Stratix IV GX PHY の ×1 または ×4 および Cyclone IV GX の ×1 <variant>.v or .vhd 100-MHz Clock Source Note (1) refclk Calibration Clock Source Reconfig Clock Source <variant>_serdes.v or .vhd (ALTGX or ALT2GX Megafunction) clk62.5_out or clk125_out (2) rx_cruclk pll_inclk cal_blk_clk reconfig_clk fixedclk tx_clk_out Application Clock <variant>_core.v or .vhd (PCIe MegaCore Function) pld_clk 図 7‒6 の注: (1) 異なるデバイス・ファミリは、キャリブレーションとリコンフィギュレーション・クロックに異なる周波数範囲を必要としま す。デバイスの周波数範囲を決定するには、次のデバイス・ハンドブックのいずれかを参照してください:「Arria II デバイス・ ハンドブック Volume II」の 「トランシーバ・アーキテクチャ」、「Cyclone IV デバイス・ハンドブック Volume 2」の 「トラン シーバ」、または「Arria II デバイス・ハンドブック Volume 2」の 「トランシーバ・アーキテクチャ」。 (2) 異なるデバイス・ファミリとバリエーションの core_clk_out 周波数については、4–2 ページの図 4–1 を参照してください。 100 MHz の基準クロックと 250 MHz のアプリケーション・クロック ×8 のバリエーションが HardCopy IV GX、Stratix II GX PHY、または Stratix IV GX デバイ スでコンフィギュレーションされる時に、100 MHz のクロックはトランシーバに直接 接続されます。clk250_out は、トランシーバの出力によって駆動されます。 clk250_out は、また clk250_in 入力クロックに接続する必要があり、可能であれば特 定のアプリケーションで必要なクロック分配回路を介して接続ます。ユーザー・ア プリケーション・インタフェースは、clk250_in 入力に同期しています。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 7 章: リセットおよびクロック クロック 7–11 このクロッキング・コンフィギュレーションの詳細は、図 7–7 を参照してください。 図 7‒7. 100 MHz 基準クロックを使用した HardCopy IV GX、Stratix II GX、または Stratix IV GX ×8 <variant>.v or .vhd 100-MHz refclk Clock Source refclk Note (1) <variant>_serdes.v or .vhd (ALTGX or ALT2GX Megafunction) clk250_out rx_cruclk pll_inclk cal_blk_clk reconfig_clk fixed_clk Calibration Clock Source core_clk_out 1/2 Note (2) Reconfig Clock Source Application Clock <variant>_core.v or .vhd (PCIe MegaCore Function) clk250_in pld_clk 図 7‒7 の注: (1) 異なるデバイス・ファミリは、キャリブレーションとリコンフィギュレーション・クロックに異なる 周波数範囲を必要とします。デバイスの周波数範囲を決定するには、次のデバイス・ハンドブックの いずれかを参照してください: 「Arria II デバイス・ハンドブック Volume II」の 「トランシーバ・アー キテクチャ」、 「Cyclone IV デバイス・ハンドブック Volume 2」の 「トランシーバ」、または「Arria II デ バイス・ハンドブック Volume 2」の 「トランシーバ・アーキテクチャ」。 (2) fixedclk の 125 MHz のクロック・ソースを作成するために 2 分周のロジックを提供する必要があり ます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 7 章: リセットおよびクロック クロック 7–12 汎用 PIPE PHY およびシミュレーション・テストベンチのクロッキング 図 7–8 に、PIPE インタフェースを使用する時のクロッキングを示します。同じコン フィギュレーションは、シミュレーションに使用されます。この図には、100 MHz の 基準クロックが PLL への入力を駆動することを示すため、PCI Express 用の IP コンパ イラとアプリケーション・ロジックの両方の 125 MHz のクロックを作成します。 図 7‒8. 汎用 PIPE PHY およびシミュレーション・テストベンチのクロッキング(すべて のデバイス・ファミリ) <variant>.v or .vhd - For Simulation PLL 100-MHz Clock Source refclk pll_inclk core_clk_out clk125_out <variant>_core.v or .vhd (IP Compiler for PCI Express) Application Clock pld_clk Avalon-MM インタフェース ‒ ハード IP およびソフト IP の実装 SOPC Builder または Qsys デザイン・フローで Avalon-MM のアプリケーション・イン タフェースとの PCI Express 用の IP コンパイラを使用する場合は、クロッキングはソ フト IP とハード IP の実装の両方で同じです。前の項で説明したクロッキング要件が 有効のままです。Avalon-MM インタフェースを持つ PCI Express 用の IP コンパイラは、 2 つのクロッキング・モードをサポートします。 ■ 別の PCI Express と Avalon クロック・ドメイン ■ Avalon-MM クロック・ドメインのシステム・クロックとして、単一の PCI Express コ ア・クロック SOPC Builder では、Parameter Editor の「Avalon-MM コンフィギュレーション」のペー ジで Use separate clock のオプションをオンにすると、図 7–9 に、ref_clk のラベルが 付いたシステム・クロック・ソースは、PCI Express 用の IP コンパイラの外部にあり ます。IP コアのプロトコル層は、基準クロック、ref_clk から生成された内部ク ロックにより駆動されます。PCI Express 用の IP コンパイラは、IP コアの外部ロジッ クに使用可能な 125 MHz クロック、clk125_out をエクスポートします。このクロッ クは、SOPC Builder または Qsys インタには表示されないため、システム内の他の Avalon-MM のコンポーネントを駆動することはできません。 Qsys デザイン・フローでは、クロッキング・モードを選択することはできません。 生成された Qsys の PCI Express 用の IP コンパイラは、単一のクロック・ドメイン・ モードを実装します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 7 章: リセットおよびクロック クロック 7–13 システム・インタコネクト・ファブリックは、PCI Express 用の IP コンパイラに 図 7–9 の追加の入力クロック、clk を駆動します。一般的には、clk は、SOPC Builder システムのメイン・クロックであり、外部クロック・ソースから生成します。 Avalon-MM Component Avalon-MM Component clk System Interconnec Fabric 図 7‒9. SOPC Builder - Separate Clock Domains clk clk125_out IP Compiler for PCI Express with Avalon-MM Interface ref_clk 図 7‒9 の注: (1) clk は、Avalon-MM のグローバル・クロック、AvlClk_L に接続します。 Avalon クロック・ドメインで Use PCIe core clock」のオプションをオンにすると、す べての Avalon-MM コンポーネントの SOPC Builder で適切なクロック・アサインメン トを行う必要があります。図 7–10 は、単一のクロック・ドメインを使用するシステ ムを示します。 図 7‒10. 単一のクロック・ドメインを持つ PCI Express の IP コンパイラの接続 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 7 章: リセットおよびクロック クロック 7–14 表 7–2 に、2 つの SOPC Builder で生成された Avalon クロック・モード間の違いを示し ます。 表 7‒2. SOPC Builder デザイン・フローの Avalon クロック・ドメインの選択 Avalon クロック・ ドメイン 説明 Use PCIe core clock このクロッキング・モードでは、PCI Express 用の IP コンパイラ は、システム・クロックとして使用する 125 MHz のクロック出 力、および同じクロックで動作する IP コアのプロトコル層を提供 します。このクロックは、SOPC Builder に表示され、システム内 の任意の Avalon-MM コンポーネントのクロック・ソースとして選 択することができます。クロックは、pcie_core_clk です。 Use separate clock このクロッキング・モードでは、IP コアのプロトコル層が内部で 生成されたクロックで動作しながら、PCI Express の Avalon-MM ロ ジックの IP コンパイラは、外部クロック・ソースで動作します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 8. TLP(トランザクション・レイヤ・ プロトコル)の詳細 5? 2011? <edit Part Number variable in chapter> この章では、PCI Express TLP の処理のための IP コンパイラについて詳細に説明しま す。それは、以下の項で構成されています。 ■ サポートされるメッセージ・タイプ ■ トランザクション層のルーティング・ルール ■ 受信バッファの順序変更 サポートされるメッセージ・タイプ 表 8–1 に、IP コアでサポートされているメッセージ・タイプについて説明します。 表 8‒1. サポートされるメッセージ・タイプ ( その1 ) ( 注 1) 生成される先 ルー エンド ト・ ポイン ポート ト メッセージ アプリ ケー ション 層 コア コア (AL 入 力付 き) INTX Mechanism メッセージ Assert_INTA 受信 送信 サポー サポー サポー トなし トあり トなし Assert_INTB 受信 送信 サポー サポー サポー トなし トなし トなし Assert_INTC 受信 送信 サポー サポー サポー トなし トなし トなし Assert_INTD 受信 送信 サポー サポー サポー トなし トなし トなし Deassert_INTA 受信 送信 サポー サポー サポー トなし トあり トなし 送信 サポー サポー サポー トなし トなし トなし Deassert_INTB 受信 Deassert_INTC 受信 送信 サポー サポー サポー トなし トなし トなし Deassert_INTD 受信 送信 サポー サポー サポー トなし トなし トなし コメント エンドポイントの場合、唯一の INTA メッ セージが生成されます。 ルート・ポートの場合、レガシ割り込み はタイプ Message Interrupt の TLP に変換さ れます。これにより、アプリケーション 層に int_status[3:0] 信号をトリガーし ます。 ■ int_status[0]: 割り込み信号 A ■ int_status[1]: 割り込み信号 B ■ int_status[2]: 割り込み信号 C ■ int_status[3]: 割り込み信号 D Power Management メッセージ PM_Active_State_Nak 送信 送信 サポー サポー サポー トなし トあり トなし PM_PME 受信 送信 サポー サポー サポー トなし トなし トあり 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 8 章: TLP(トランザクション・レイヤ・プロトコル)の詳細 サポートされるメッセージ・タイプ 8–2 表 8‒1. サポートされるメッセージ・タイプ ( その2 ) ( 注 1) 生成される先 ルー エンド ト・ ポイン ポート ト メッセージ アプリ ケー ション 層 コア コア (AL 入 力付 き) コメント pme_to_cr 信号は、このメッセージを送信 し、確認応答を実行します。 PME_Turn_Off 送信 PME_TO_Ack 受信 送信 送信 ■ ルート・ポート:pme_to_cr がアサー トされると、ルート・ポートは PME_turn_off メッセージを送信します。 ■ エンドポイント:pme_to_cr は、ルー ト・ポートに pme_to_ack を送信するこ とにより、PME_turn_off メッセージを 確認するためにアサートされます。 サポー サポー サポー トなし トなし トあり サポー サポー サポー トなし トなし トあり Error Signaling メッセージ エラーを検出することに加えて、ルート・ ポートは ERR_COR、ERR_NONFATAL、およ び ERR_FATAL のエラー・メッセージを介 してダウンストリーム・コンポーネント によってエラーを収集し管理します。 ルート・ポート・モードでは、アプリ ケーション層にエラーの発生を報告する メカニズムが 2 つあります。 ERR_COR 受信 送信 サポー サポー サポー トなし トあり トなし ERR_NONFATAL 受信 送信 サポー サポー トなし トあり ERR_FATAL 受信 送信 サポー サポー サポー トなし トあり トなし ■ serr_out 出力信号。設定すると、エ ラーが AER 機能構造に記録されたこと をアプリケーション層に示します。 ■ aer_msi_num 入力信号。Implement advanced error reporting オプションがオ ンになると、エラーが AER 機能構造に 記録された時にルート・コンプレック スに送信される MSI を示すために aer_msi_num を設定することができま す。 サポー トなし Locked Transaction メッセージ Unlock Message 送信 受信 サポー サポー サポー トあり トなし トなし Slot Power Limit メッセージ Set Slot Power Limit ( 注 1) 送信 受信 サポー サポー サポー トなし トあり トなし ルート・ポート・モードでは、ソフト ウェアを通じます。( 注 1) Vendor-defined メッセージ PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 8 章: TLP(トランザクション・レイヤ・プロトコル)の詳細 トランザクション層のルーティング・ルール 8–3 表 8‒1. サポートされるメッセージ・タイプ ( その3 ) ( 注 1) 生成される先 ルー エンド ト・ ポイン ポート ト メッセージ Vendor Defined Type 0 送信 受信 送信 送信 送信 受信 受信 Vendor Defined Type 1 受信 アプリ ケー ション 層 コア コア (AL 入 力付 き) コメント サポー サポー サポー トあり トなし トなし サポー サポー サポー トあり トなし トなし Hot Plug メッセージ Attention_indicator On 送信 受信 サポー サポー サポー トなし トあり トなし Attention_Indicator Blink 送信 受信 サポー サポー サポー トなし トあり トなし Attention_indicator_ Off 送信 受信 サポー サポー サポー トなし トあり トなし Power_Indicator On 送信 受信 サポー サポー サポー トなし トあり トなし Power_Indicator Blink 送信 受信 サポー サポー サポー トなし トあり トなし Power_Indicator Off 送信 受信 サポー サポー サポー トなし トあり トなし Attention Button_Pressed ( 注 2) 受信 送信 サポー サポー サポー トなし トなし トあり 「PCI Express Base Specification Revision 1.1 or 2.0」で推奨されるように、これら のメッセージは、ハード IP の実装ではア プリケーション・レイヤに送信されませ ん。 PCI Express Specification 1.0a に従って、ソ フト IP の実装では、これらのメッセージ は、アプリケーション層に送信されます。 表 8‒1 の注: (1) 「PCI Express Base Specification Revision 1.1 or 2.0」 では、このメッセージはリンク・トレーニング後の必須はなくなりました。 (2) エンドポイント・モードです。 トランザクション層のルーティング・ルール トランザクションは、次のルーティングルールに従ってください。 2011 年 5 月 ■ 受信の方向(PCI Express リンクから)では、メモリおよび I/O は、受信インタ フェースへのルート・データ付きまたはルート・データなしで定義されたベー ス・アドレス・レジスタ(BAR)の内容およびベンダ定義のメッセージを一致さ せるリクエストを受け取ります。アプリケーション層のロジックは、リクエスト を処理し、必要に応じて、読み出しコンプリーションを生成します。 ■ エンドポイント・モードでは、受信されたタイプ 0 のコンフィギュレーションは、 内部コンフィギュレーション空間に PCI Express のアップストリーム・ポートの ルートからリクエストします。IP コアは、コンプリーションを生成し、送信しま す。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 8 章: TLP(トランザクション・レイヤ・プロトコル)の詳細 受信バッファの順序変更 8–4 ■ ルート・ポート・モードでは、アプリケーションは、Avalon-ST TX バスのタイプ 0、またはタイプ 1 のコンフィギュレーション TLP を発行することができます。 ■ タイプ 1 のコンフィギュレーション TLP は、送信パケットにコンプリータ ID の セットに一致するエンドポイントに向けて PCI Express リンク上でダウンスト リームに送信されます。タイプ 1 のコンフィギュレーション TLP は、ルート・ ポートのコンフィギュレーション空間の Subordinate Bus Number レジスタの値 と一致した場合、TLP はタイプ 0 の TLP に変換されます。 ■ タイプ 0 のコンフィギュレーション TLP は、ルート・ポートとしてコンフィ ギュレーションされている IP コアのコンフィギュレーション空間にルーティ ングされ、PCI Express リンク上のダウンストリームは送信されません。 ■ IP コアは、内部的にサポートされ、受信したメッセージ・トランザクション(パ ワー・マネージメントおよびスロットの電力制限)を処理します。 ■ ベンダ定義メッセージ TLP が、アプリケーション層に渡されます。 ■ トランザクション層は、サポートされていないリクエストとして他のすべての受 信されたトランザクション(定義されている BAR に一致しないメモリや I/O リク エストを含む)を扱います。必要に応じて、トランザクション層は、適切なエ ラー・ビットを設定し、コンプリーションを送信します。これらのサポートされ ていないリクエストは、アプリケーション層に見えるようにされず、ヘッダと データは破棄されます。 ■ メモリが 4G バイト以下のアドレスを使用してリード・リクエストおよびライト・ リクエストの場合は、リクエスタは 32 ビット・フォーマットを使用する必要が あります。トランザクション層は、4G バイト以下のアドレスの 64 ビット・ フォーマットを使用するリクエストを不正なパケットとして解釈し、アプリケー ション層にそれらを送信することはありません。AER オプションがオンになる場 合、エラー・メッセージ TLP がルート・ポートに送信されます。 ■ トランザクション層は、アプリケーション層で生成され、送信インタフェースに 渡される補完と同様に、すべてのメモリや I/O リクエストを PCI Express リンクに 送信します。 ■ IP コアは、自動的に、専用の信号の制御でパワー・マネージメント、割り込み、 およびエラー・シグナリングのメッセージを生成し送信することができます。更 に、IP コアは専用の信号の制御下にある MSI リクエストを生成することができま す。 受信バッファの順序変更 受信データパスは、受信バッファの順序変更の機能を実装します。これによって、 アプリケーション層が追加のノン・ポステッド・トランザクションを受け入れるこ とができない時に、ポステッドおよびコンプリーションのトランザクションはノン・ ポステッド・トランザクション(PCI Express の順序ルールで利用可能のように)を 渡すことができます。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 8 章: TLP(トランザクション・レイヤ・プロトコル)の詳細 受信バッファの順序変更 8–5 アプリケーション層は、動的に rx_mask 信号をアサートすることによって、RX バッ ファの順序変更をイネーブルにします。rx_mask 信号は、アプリケーションにポス テッドとコンプリーションのトランザクションのみ提示されるように、作成された ノン・ポステッドのリクエスト・トランザクションをアプリケーション・インタ フェースにマスクします。表 8–2 に、トランザクションの順序ルールを示します。 表 8‒2. トランザクションの順序ルール ( 注 1)‒ ( 注 12) ロー・パス・カラム ポステッド・リク エスト Memory Write or Message Request コンプリーション ノン・ポステッド ポステッド 仕様 N ( 注 1) コア ノン・ポステッド・リクエ スト Read Request 仕様 コア Memory Write or Message Request Y/N ( 注 2) Read Request なし なし Y/N I/O or Configuration Write Request なし なし Y/N なし ( 注 1) なし ( 注 1) Y/N ( 注 2) なし ( 注 2) Y/N なし Read Completion I/O or Configuration Write Completion N ( 注 1) N ( 注 2) あり あり I/O or Cfg Write Request 仕様 あり コンプリーション Read Completion コア 仕様 あり Y/N ( 注 1) コア I/O or Cfg Write Completion 仕様 コア なし ( Y/N ( 注 注 1) N ( 注 1) 1) N ( 注 2) なし ( Y ( 注 2) Y ( 注 2) 注 2) あり ( Y/N 注 1) あり ( Y/N 注 2) なし Y/N なし あり ( Y/N あり ( Y/N 注 4) なし Y/N なし Y/N なし Y/N なし 注 3) あり あり あり あり あり あり あり あり Y/N ( 注 1) 注 1) なし ( 注 2) なし ( 注 2) Y/N なし なし ( 表 8‒2 の注: (1) CfgRd0 は、IORd または MRd を渡すことができます。 (2) CfgWr0 は、IORd または MRd を渡すことができます。 (3) CfgRd0 は、IORd または MRd を渡すことができます。 (4) CfrWr0 は、IOWr を渡すことができます。 (5) Relaxed Ordering 属性のビット・クリア (b’0) を持つ Memory Write or Message Request は、他の Memory Write or Message Request を渡すことはできません。 (6) Relaxed Ordering 属性のビット・クリア (b’1) を持つ Memory Write or Message Request は、他の Memory Write or Message Request を渡すことが許可されます。 (7) エンドポイント、スイッチ、およびルート・コンプレックスは、Memory Write or Message Request が Completion を渡したり、 Completion によってブロックされる可能性があります。 (8) Memory Write or Message Request は、デッドロックを回避するために、PCI 方向に PCI Express の移動する Completion を渡すこ とができます。 (9) Relaxed Ordering 属性が設定されない場合、Read Completion は、以前にエンキューされた Memory Write or Message Request を渡 すことはできません。 (10) Relaxed Ordering 属性が設定される場合、Read Completion は、以前にエンキューされた Memory Write or Message Request を渡す ことが許可されます。 (11) 異なる Read Requests に関連付けられた Read Completion は、お互いをブロックされ、渡すことが許可されます。 (12) Read Completions for Request の Read Completions(同じ Transaction ID 持つ場合)は、アドレスの順序で返す必要があります。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 8 章: TLP(トランザクション・レイヤ・プロトコル)の詳細 受信バッファの順序変更 8–6 1 MSI のリクエストは、PCI Express のメモリ・ライト・リクエストと同じ方法で伝え、 フロー制御、順序、およびデータ・インテグリティの面でそれらと区別することは できません。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 9. オプションの機能 5? 2011? <edit Part Number variable in chapter> この章では、いくつかの他のトピックについての情報を提供します。それには、次 の項で構成されています。 ■ ECRC ■ ASPM(アクティブ・ステート・パワーの管理) ■ レーンの初期化と反転 ■ PCI Express インスタンス用の複数の IP コンパイラのインスタンス化 ECRC ECRC は、高い信頼性を必要とするシステムにエンド・ツー・エンドのデータ整合性 を保証します。MegaWizard Plug-In Manager の「Capabilities」のページでこのオプショ ンを指定することができます。ECRC 機能は、PCI Express のバリエーション用のすべ ての IP コンパイラの ECRC をチェックして、生成する機能が含まれています。ハー ド IP の実装では、アプリケーション層の受信ポートに ECRC 付きの TLP を転送する ことができます。ハード IP の実装では、アプリケーション層の送信ポートから ECRC 付きの TLP を送信します。ECRC 転送モードを使用する場合、ECRC チェックと 生成は、アプリケーション層で行われます。 ECRC 転送、ECRC チェックと ECRC 生成をイネーブルにするために、パラメータ・エ ディタを使用して、「Capabilities」のページに「Implement advanced error reporting」 を選択する必要があります。アプリケーションは ECRC エラーを検出した時に、その エラーを報告するために、PCI Express 用の IP コンパイラに ERR_NONFATAL メッセー ジ TLP を送信する必要があります。 f エラーの処理について詳しくは、「PCI Express Base Specification, Rev. 2.0」の「Section 6.2」の「Error Signaling and Logging 」を参照してください。 RX パス上の ECRC ECRC オプションがオンになっている場合、不良 ECRC で TLP を受信した時に、エ ラーが検出されます。ECRC オプションがオフになっている場合、エラーの検出は行 われません。ECRC 転送オプションがオンになっている場合、ECRC 値は TLP 付きのア プリケーション層に転送されます。ECRC の転送オプションがオフになっている場 合、ECRC 値は転送されません。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 9 章: オプションの機能 ECRC 9–2 表 9–1 に、可能なすべての条件の RX ECRC 機能を示します。 表 9‒1. RX パス上の ECRC 動作 ECRC Check Enable (1) ECRC 転送 なし なし あり なし あり あり ECRC ス テータス エラー なし なし 転送 良好 なし その ECRC なしで転送 不良 なし その ECRC なしで転送 なし なし 転送 良好 なし その ECRC なしで転送 不良 あり 転送されない なし なし 転送 良好 なし その ECRC で転送 不良 なし その ECRC で転送 なし なし 転送 良好 なし その ECRC で転送 不良 あり 転送されない アプリケーションへの転送 TLP 表 9‒1 の注: (1) ECRC Check Enable は、コンフィギュレーション空間の高度なエラー機能およびコントロール・レジ スタにあります。 TX パス上の ECRC 3–4 ページの「エラー報告」および 3–16 ページの「Capabilities パラメータ」で説明さ れたように、パラメータ・エディタの Implement ECRC generation オプションをオン にすることができます。このオプションがオンになっている場合、TX パスは ECRC を生成します。Implement ECRC forwarding をオンにすると、ECRC 値はトランザク ション層パケットで転送されます。表 9–2 に、TX ECRC の生成と転送を示します。こ の表では、TD が 1 の時、TLP に ECRC が含まれています。「付録 A, TLP(トランザク ション・レイヤ・パケット)のヘッダ・フォーマット」で説明されたように、TD は TL パケットの TL ダイジェスト・ビットです。 表 9‒2. TX パス上の ECRC の生成と転送 ( 注 1) ECRC 転送 ECRC Generation Enable (2) なし なし あり PCI Express 用の IP コンパイラ・ユーザーガイド アプリケーション 上の TLP リンク上の TLP TD=0、ECRC なし TD=0、ECRC なし TD=1、ECRC なし TD=0、ECRC なし TD=0、ECRC なし TD=1、ECRC 付き TD=1、ECRC なし TD=1、ECRC 付き コメント ECRC が生成されます。 2011 年 5 月 Altera Corporation 第 9 章: オプションの機能 ASPM(アクティブ・ステート・パワーの管理) 9–3 表 9‒2. TX パス上の ECRC の生成と転送 ( 注 1) ECRC 転送 ECRC Generation Enable (2) なし あり あり アプリケーション 上の TLP リンク上の TLP TD=0、ECRC なし TD=0、ECRC なし TD=1、ECRC 付き TD=1、ECRC 付き TD=0、ECRC なし TD=0、ECRC なし TD=1、ECRC 付き TD=1、ECRC 付き コメント コアは ECRC を転送しま す。 表 9‒2 の注: (1) すべての指定されていないケースはサポートされないで、IP コアの動作は不明です。 (2) ECRC Generation Enable は、コンフィギュレーション空間の高度なエラー機能およびコントロール・ レジスタにあります。 ASPM(アクティブ・ステート・パワーの管理) PCI Express プロトコルは、デバイスがソフトウェアによって低消費電力状態に配置 されなくても、リンク・パワーの保全がリクエストされます。ASPM はソフトウェア によって開始されますが、その後、ハードウェアによって処理されます。IP コアは 電力を節約するために自動的に 2 つの低電力状態のいずれかにシフトさせます。 ■ L0 ASPM—PCI Express プロトコルは、L0 への自動移行を指定します。この状態で は、IP コアは、電気的アイドルを送信しますが、リンク全体で 1 つだけのコン ポーネントが低消費電力状態に移行するため、アクティブな受信インタフェース を維持することができます。主電源とリファレンス・クロックが維持されます。 1 ■ Arria GX、Cyclone IV GX、HardCopy IV GX、Stratix II GX、または Stratix IV GX の 内部 PHY 使用する場合、L0 ASPM は、必要に応じてイネーブルにすること ができます。それは、接続された外部 PHY デバイスで許可される範囲に他 のデバイス・ファミリでサポートされます。 L1 ASPM—L1 への移行はオプションであり、L0 よりもさらに電力を節約します。 この状態では、両側のリンクは一緒にパワーダウンするため、どちらの側が最初 に L0 に戻って移行せずに送信または受信することができます。 1 Arria GX、Cyclone IV GX、HardCopy IV GX、Stratix II GX、または Stratix IV GX の 内部 PHY 使用する場合、L1 ASPM はサポートされません。それは、接続さ れた外部 PHY デバイスで許可される範囲に他のデバイス・ファミリでサ ポートされます。 エンドポイントはルート・コンプレックスに送信された power_management_event メッセージを開始するために pm_pme 信号をアサートすることができます。IP コアは L0 または L1 状態にある場合、リンクはこのメッセージを送信するために低消費電力 状態を終了します。pm_pme 信号はエッジ・センシティブです。リンクが L2 状態にあ る場合、コアが power_management_event メッセージを生成する前にリンクを再初期 化するために Beacon(または Wake#)が生成されます。Wake# は、ルート・ポートを 0 に固定されます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 9 章: オプションの機能 ASPM(アクティブ・ステート・パワーの管理) 9–4 コンポーネントがどのように迅速に低電力状態からパワーアップすること、最初に 低電力状態への遷移の権利があるかどうかのことは、Link Capabilities レジスタに記録 される L1 Exit Latency、Device Capabilities レジスタに記録される Endpoint L0s acceptable latency、および Link Control レジスタの ASPM Control に依存します。 終了レイテンシ コンポーネントの終了レイテンシは、L0 に低電力状態から出るコンポーネントに要 する時間として定義され、SERDES PLL の同期時間とソフトウェアによってプログラ ムされた共通のクロック・コンフィギュレーションに依存します。一般に、SERDES はすべてのレーンに 1 つの送信 PLL を持って、レーンごとに 1 つの受信 PLL があり ます。 ■ Transmit PLL— 送信の時に、送信 PLL がロックされる必要があります。 ■ Receive PLL— 基準クロックにトレーニングする PLL を受信します。レーンが電気 的アイドルを終了する時に、各受信 PLL は受信データ(クロック・データ・リカ バリ動作)に同期させます。受信データがスロットのリファレンス・クロックで 生成される場合、および各受信 PLL が同じ基準クロックにトレーニングする場 合、受信 PLL の同期時間は、基準クロックがすべてのスロットに同じでない場合 よりも低くなっています。 スロットの基準クロックを使用する場合、各コンポーネントはコンフィギュレー ション空間に報告する必要があります。次に、ソフトウェアは各コンポーネントの 基準クロックに応じて、共通のクロック・レジスタをプログラムします。ソフト ウェアは、各終了レイテンシを更新するために、共通のクロック・レジスタの値を 変更した後、リンクを再トレーニングします。表 9–3 には、L0 および L1 の終了レイ テンシを説明します。各コンポーネントは、L0 と L1 の終了レイテンシの 2 つの値を 保持します:1 つは共通のクロック・コンフィギュレーションの用であり、もう 1 つ は別のクロック・コンフィギュレーションの用です。 表 9‒3. L0 および L1 の終了レイテンシ パワー・ ステート L0 L1 説明 L0 終了レイテンシは、MegaWizard Plug-In Manager の Power Management ページで指定された高速 トレーニング・シーケンス数に基づいて、IP コアによって計算されます。それは、コンフィギュ レーション空間のレジストリに保持されます。主電源とリファレンス・クロックが存在するまま です。PHY は、迅速にデータを受信するために再同期する必要があります。 再同期は接続されたコンポーネントによって送信された高速トレーニング順序セットを介して実 行されます。コンポーネントは、初期化プロセスのため、送信するセットの数を計算できます。 その時点で、セットの必要な数は、トレーニング・シーケンスの順序セット(TS1 と TS2)によ り決定されます。 L1 終了レイテンシは、MegaWizard Plug-In Manager の Power Management ページで指定されます。 それは、コンフィギュレーション空間のレジストリに保持されます。リンク間の両方のコンポー ネントが L1 低消費電力状態に一緒に遷移する必要があります。L1 の状態にある場合、コンポー ネントの PHY は、追加の電力の節約の P1 低電力状態にもあります。主電源とリファレンス・ク ロックはまだ存在しますが、PHY は追加の電力を節約するために、すべての PLL をシャットダウ ンすることができます。しかし、PLL をシャットダウンすると L0 に遷移時間がながくなります。 L1 の終了レイテンシは L0 終了レイテンシより高いです。送信 PLL がロックされている場合、 LTSSM は回復に移動し、両方のコンポーネントが正常に回復状態を交渉した後、L0 に戻ります。 したがって、正確な L1 終了レイテンシは、各コンポーネントの終了レイテンシ(2 つのコン ポーネントのうち、大きい方の値)に依存しています。すべての計算は、ソフトウェアによって 実行されていますが、各コンポーネントには独自の L1 の終了レイテンシを報告します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 9 章: オプションの機能 レーンの初期化と反転 9–5 許容レイテンシ 許容レイテンシは、システムのパフォーマンスを損なわずに、低消費電力状態から L0 への遷移のコンポーネントに対して許可される最大レイテンシとして定義されま す。許容レイテンシの値は、コンポーネントの内部バッファリングに依存し、コン フィギュレーション空間のレジストリに保持されます。ソフトウェアは、特定の電 源状態を使用することが許可されているかどうかを判断するために、リンクの終了 レイテンシをエンドポイントの許容レイテンシと比較します。 ■ L0 については、接続されたコンポーネントおよびルート・ポートとエンドポイン ト間の各コンポーネントの終了レイテンシは、エンドポイントの許容レイテンシ と比較します。例えば、ルート・ポートに接続されたエンドポイントについて は、ルート・ポートの L0 終了レイテンシは 1 µs であり、エンドポイントの L0 許 容レイテンシは 512 ns である場合、ソフトウェアはエンドポイントの L0 にエン トリをイネーブルにしない場合があります。 ■ L1 については、ソフトウェアはエンドポイントとルート・ポート間の各リンクの L1 終了レイテンシを計算し、エンドポイントの許容レイテンシで最大値を比較し ます。例えば、ルート・ポートに接続されたエンドポイントについては、ルー ト・ポートの L1 終了レイテンシは 1.5 µs です。また、エンドポイントの L1 終了 レイテンシは 4 µs である場合、そしてエンドポイントの許容レイテンシは 2 µs の場合、リンクの正確な L1 終了レイテンシは、4 µs です。また、ソフトウェア は L1 へのエントリをイネーブルにしない場合があります。 1 つ以上のスイッチはエンドポイントとルート・ポート間に配置されている場合、い くつかの時間調整が必要になる場合があります。 1 パフォーマンスを最大化するために、アルテラは L0 および L1 許容レイテンシの値を 最小値に設定することを推奨します。 レーンの初期化と反転 接続される PCI Express コンポーネントは、レーンの同じ数をサポートする必要はあ りません。ソフトおよびハードのバリエーションの両方での ×4 と ×8 の IP コアは、 1、2、または 4 レーンを持つコンポーネントとの初期化および動作をサポートしま す。ソフトとハードの両方のバリエーションでの ×8 IP コアは、1、2、4、または 8 レーンを持つコンポーネントとの初期化および動作をサポートします。 ハード IP の実装では、×1、×2、×4、および ×8 のコンフィギュレーションにレーン 番号の論理反転を可能にするレーン反転が含まれています。ソフト IP の実装では、 レーン反転をサポートしませんが、レーン反転を実装している他の PCI Express エン ドポイントまたはルート・ポートと相互運用します。レーン反転は、PCB のルー ティング時に互いを渡る必要があるの信号の数を減らし、ボード・レイアウトをよ り柔軟にすることができます。 表 9–4 は、通常のコンフィギュレーションのレーンの割り当てを示します。 表 9‒4. 反転なしのレーン割り当て レーン数 7 6 5 4 3 2 1 0 ×8 IP コア 7 6 5 4 3 2 1 0 ×4 IP コア — — — — 3 2 1 0 ×1 IP コア — — — — — — — 0 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 9 章: オプションの機能 PCI Express インスタンス用の複数の IP コンパイラのインスタンス化 9–6 表 9–5 は、レーン反転付きのレーンの割り当てを示します。 表 9‒5. 反転付きのレーンの割り当て コア・コン フィギュ レーション スロート・ サイズ レーンの割 り当て 8 8 4 4 7:0,6:1,5:2,4:3,3:4, 3:4,2:5, 2:5,1:6,0:7 1:6,0:7 2 1:6, 0:7 1 0:7 8 1 4 2 7:0,6:1, 3:0,2:1, 3:0, 5:2,4:3 1:2,0:3 2:1 1 8 4 2 1 3:0 7:0 3:0 1:0 0:0 図 9–1 に、2 つの ×4 IP コア、ルート・ポート、および PCB の上面側のエンドポイン トを使用して PCI Express カードを示します。レーン反転なしのレーンを接続すると、 ルーティングの問題が発生します。レーン反転を使用して、問題を解決します。 図 9‒1. レーン反転を使用して PCB ルーティングの問題を解決 With Lane Reversal Signals Route Easily No Lane Reversal Results in PCB Routing Challenge PCI Express Endpoint PCI Express Root Port 0 1 2 3 3 2 1 0 no lane reversal PCI Express Endpoint PCI Express Root Port 0 1 2 3 0 1 2 3 lane reversal PCI Express インスタンス用の複数の IP コンパイラのインスタンス化 デザインで PCI Express のインスタンス用の複数の IP コンパイラをインスタンス化す る場合、いくつかの追加手順が必要です。次の項では、これらの手順を説明します。 トランシーバ付きのデバイスのクロック要件と信号要件 デザインは Arria GX のまたは Stratix II GX トランシーバ(ALTGX または ALT2GXB)メ ガファンクションまたは Arria II GX、Cyclone IV GX、または Stratix IV GX トランシーバ (ALTGX)メガファンクションを使用する複数の IP コアが含まれている場合、 cal_blk_clk 入力と gxb_powerdown 信号が正しく接続されていること確認する必要が あります。 MegaWizard Plug-In Manager のデザイン・フロー、SOPC Builder のデザイン・フロー、 または Qsys のデザインフローを使用するかどうかは、PCI Express 用の各 IP コンパイ ラ(または、ALTGX または ALT2GXB を使用する他のメガファンクションまたはユー ザー・ロジック)への cal_blk_clk 入力は、同じキャリブレーション・クロック・ ソースによって駆動されることを確認する必要があります。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 9 章: オプションの機能 PCI Express インスタンス用の複数の IP コンパイラのインスタンス化 9–7 複数の PCI Express IP コアのバリエーションでシステムを作成するために SOPC Builder または Qsys を使用する時に、16–7 ページの手順 2 と 3 で説明したように、ク ロック接続を表示するには、System Contents タブの信号をフィルタする必要があり ます。クロック接続を表示した後、その cal_blk_clk およびトランシーバを使用す るシステム内の他の IP コアのバリエーションは、PCI Express バリエーション用の IP コンパイラ上の cal_blk_clk ポートに接続されていることを確認します。 MegaWizard Plug-In Manager または SOPC Builder フローのいずれかは、単一のトラン シーバ・ブロック内で PCI Express インスタンス用の複数の IP コンパイラを統合する 時に、同じ信号は、PCI Express インスタンス用の各 IP コンパイラ、および ALTGX ま たは ALT2GXB IP コアを使用する他の IP コアとユーザー・ロジックに gxb_powerdown を駆動する必要があります。 正常に同じクワッド内の複数の高速トランシーバ・チャネルを組み合わせるために、 同じダイナミック・リコンフィギュレーションの設定が必要です。Arria II GX、 Stratix II GX、および Stratix IV GX デバイスでは、別ではなく 1 つのトランシーバのイ ンスタンシエーションにダイナミック・リコンフィギュレーション機能を使用する には、reconfig_clk を 0 に設定し、また reconfig_togxb を 3’b010(Stratix II GX デ バイスの場合)または 4’b0010(Arria II GX または Stratix IV GX デバイスの場合)に設 定する必要があります。それは、ダイナミック・リコンフィギュレーション機能を 使用しないすべてのトランシーバに対応します。 IP コアの両方がダイナミック・リコンフィギュレーションを実装する場合、 Stratix II GX デバイスで、ALT2GXB_RECONFIG メガファンクションのインスタンスは同 一である必要があります。 ダイナミック・リコンフィギュレーション・ブロックをサポートするには、ALTGX または ALT2GXB MegaWizard Plug-In Manager で「Reconfig」タブで「Analog controls」 をオンにします。 Arria GX デバイスは、ダイナミック・リコンフィギュレーションをサポートしませ ん。しかし、reconfig_clk と reconfig_togxb ポートは、Arria GX デバイスをター ゲットとするバリエーションに表示されるため、reconfig_clk を 0 に設定し、また reconfig_togxb を 3’b010 に設定する必要があります。 複数の Tcl スクリプトの読み込み IP コアの制約を指定するためにアルテラ提供の Tcl スクリプトを使用する場合、 PCI Express 用の生成された各 IP コンパイラに関連付けられている Tcl スクリプトを 実行する必要があります。例えば、システムは pcie1 と pcie2 の IP コアのバリエー ションがあり、pcie_compiler.tcl 制約ファイルを使用する場合、生成後の Tcl コン ソールから順番に両方の IP コアの制約を読み込みする必要があります。 2011 年 5 月 1 一度デザインをコンパイルした後は、解析と合成を抑制し、開発時のターンアラウ ンド時間を減少するために、-no_compile オプションを使用して pcie_constraints.tcl コマンドを実行することができます。 1 MegaWizard Plug-In Manager フローでは、スクリプトはデバイスの I/O ピン数を超えて いないことを確認するために PCI Express 用の IP コンパイラのほとんどの I/O ポート の仮想ピンが含まれています。これらの仮想ピン・アサインメントは、PCI Express インスタンス用の各 IP コンパイラへの接続に使用される名前を反映する必要があり ます。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 9–8 PCI Express 用の IP コンパイラ・ユーザーガイド 第 9 章: オプションの機能 PCI Express インスタンス用の複数の IP コンパイラのインスタンス化 2011 年 5 月 Altera Corporation 10. 割り込み 5? 2011? <edit Part Number variable in chapter> この章では、エンドポイントおよびルート・ポートの割り込みについて説明します。 エンドポイントの PCI Express 割り込み PCI Express 用の IP コンパイラは、エンドポイント・モードに設定された時に、PCI Express レガシー割り込み、MSI 割り込み、および MSI-X 割り込みをサポートします。 MSI-X 割り込みは、ハード IP の実装のエンドポイント・バリエーションでのみ使用 できます。MSI、MSI-X、およびレガシーは相互排他的です。パワー・アップ後、ソ フトウェアがパラメータ・エディタを使用して Capabilities のページに Implement MSI-X をオンにする場合に、MSI が 1 または MSI-X モードに MSI message control レ ジスタ(0x050 のビット [16])の MSI Enable ビットをプログラミングすることに よって、MSI モードに切り替えるかどうかを決定した後、IP コアは INTX モードで起 動します。Implement MSI-X をオンにすると、BAR で指されたメモリ・スペースでの MSI-X のテーブル構造を実装する必要があります。 該当する場合、動作中に割り込みモードを切り替えるには、まず、ソフトウェアは 新しいモードをイネーブルして、以前のモードをディセーブルする必要があります。 現在の割込みモードは MSI の時にレガシー割り込みをイネーブルするには、まず、 ソフトウェアは Disable Interrupt ビット(コンフィギュレーション・スペース・ オフセット 0x4 での Command レジスタのビット [10])をオフにして、MSI Enable ビットをオフにする必要があります。MSI 割り込みをイネーブルにするには、まず ソフトウェアは MSI enable ビットを設定し、Interrupt Disable ビットを設定する 必要があります。 f エンドポイントの PCI Express の割り込みサポートの一般的な説明については、「PCI Express 2.0 Base Specification」を参照してください。 MSI 割り込み MSI 割り込みは PCI Express 用の IP コンパイラによって内部で生成した単一の dword メモリ・ライト TLP を使用した PCI Express リンク上で通知されます。app_msi_req 入力ポートは MSI 割り込みの生成を制御します。入力ポートは app_msi_req をア サートする場合、MSI ポステッド・ライト TLP が MSI コンフィギュレーション・レ ジスタ値および app_msi_tc と app_msi_num 入力ポートに基づいて生成されます。 図 10–1 に、MSI ハンドラ・ブロックのアーキテクチャを示します。 図 10‒1. MSI ハンドラ・ブロック app_msi_req app_msi_ack app_msi_tc app_msi_num pex_msi_num app_int_sts MSI Handler Block cfg_msicsr[15:0] 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 10 章: 割り込み MSI 割り込み 10–2 図 10–2 に、各ベクトル・イネーブル・ビットで MSI ハンドラ・ブロックの可能な実 装を示します。また、グローバル・アプリケーションの割り込みイネーブルは、こ の各ベクタ MSI の代わりに実装することができます。 図 10‒2. MSI ハンドラ・ブロックの実装の例 app_int_sts Vector 0 app_int_en0 msi_enable & Master Enable app_msi_req0 R/W app_int_sts0 MSI Arbitration Vector 1 app_int_en1 app_msi_req app_msi_ack app_msi_req1 R/W app_int_sts1 32 の可能な MSI メッセージがあります。特定のコンポーネントによってリクエスト されたメッセージの数は、必ずしも割り当てられたメッセージの数に対応しません。 例えば、図 10–3 に、エンドポイントは 8 の MSI がリクエストされますが、2 つだけ 割り当てられます。このケースでは、2 つだけ割り当てられたメッセージを使用する ために、アプリケーション層をデザインする必要があります。 図 10‒3. MSI リクエストの例 Root Complex Endpoint 8 Requested 2 Allocated Root Port CPU Interrupt Block Interrupt Register PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 10 章: 割り込み MSI-X 10–3 図 10–4 は、図 10–3 のルート・ポートの MSI 割り込み信号間の相互作用を示します。 app_msi_req と app_msi_ack 間の可能な最小のレイテンシは 1 クロック・サイクルで す。 図 10‒4. MSI 割り込み信号の波形 1 2 3 4 5 6 clk app_msi_req app_msi_tc[2:0] valid app_msi_num[4:0] valid app_msi_ack 図 10‒4 の注: (1) Avalon-ST インタフェースを使用するバリアントの場合は、app_msi_req はデアサートする前に app_msi_ack を超えて拡張することができます。ディスクリプタ / データ・バリアントの場合は、 app_msi_req は app_msi_ack の次のサイクルで朝ートする必要があります。 MSI-X パラメータ・エディタで Capabilities のページに Implement MSI-X をオンにして MSI-X 割り込みをイネーブルすることができます。Implement MSI-X オプションをオンにす ると、アプリケーションの一部として BAR で指されるメモリ・スペースでの MSI-X のテーブル構造を実装する必要があります。 MSI-X の TLP は、アプリケーションによって生成され、送信インタフェースを介し て送信されます。単一の dword メモリ・ライトがあるため、TLP ヘッダの Last DW Byte Enable は 4b'0000 に設定する必要があります。MSI-X TLP は、MSI-X コンフィギュ レーション・レジスタのメッセージ・コントロール内の MSI-X イネーブルと関数マ スク・ビットによってイネーブルされる時にのみ送信する必要があります。ハード IP の実装では、これらのビットは tl_cfg_ctl 出力バス上で使用可能です。 f MSI-X の機能構造を実装する方法について詳しくは、「PCI Local Bus Specification, Revision 3.0」の Section 6.8.2 を参照してください。 レガシー割り込み レガシーの割り込みは、PCI Express 用の IP コンパイラによって内部で生成される メッセージの TLP を使用した PCI Express リンク上で通知されます。app_int_sts 入 力ポートは割り込みの発生を制御します。入力ポートが app_int_sts をアサートす る時に、Assert_INTA メッセージ TLP が生成され、アップストリームに送信されま す。app_int_sts 入力ポートをデアサートする時に、Deassert_INTA メッセージ TLP が生成され、アップストリームに送信されます。図 10–5 および図 10–6 を参照して ください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 10 章: 割り込み ルート・ポートの PCI Express 割り込み 10–4 図 10–5 には、レガシー・インタフェースの割り込みタイミングを示します。この図 では、app_int_ack のアサーションは Assert_INTA メッセージ TLP が送信されたこ とを示します。 図 10‒5. レガシー割り込みのアサーション clk app_int_sts app_int_ack 図 10–6 に、レガシー割り込みのデアサートのタイミングを示します。app_int_ack アサーションは Deassert_INTA メッセージ TLP が送信されたことを示します。 図 10‒6. レガシー割り込みのデアサート clk app_int_sts app_int_ack 表 10–1 には、3 つの実装の例を示します。1 つはすべての 32 MSI メッセージが割り 当てられ、もう 2 つは 4 MSI メッセージだけ割り当てられます。 表 10‒1. MSI メッセージのリクエスト、割り当て、およびマップ 割り当てられる MSI 32 4 4 システム・エラー 31 3 3 ほっと・プラグおよび電源管理イベント 30 2 3 29:0 1:0 2:0 アプリケーション ホットプラグ、電源管理イベント、およびシステム・エラーを生成された MSI 割り 込みは常に TC0 を使用します。アプリケーション層で生成された MSI 割り込みは、 任意のトラフィック・クラスを使用することができます。例えば、送信の終了時に MSI を生成する DMA がデータを転送するために使用されたのと同じトラフィック制 御を使用することができます。 ルート・ポートの PCI Express 割り込み ルート・ポート・モードでは、PCI Express IP コアは、2 つの異なるメカニズムを介し て割り込みを受信ます。 ■ MSI— ルート・ポートはタイプ MWR の Avalon-ST RX TLP を通じて MSI 割り込みを受 信します。これは、メモリ・マップのメカニズムです。 ■ レガシー — レガシー割り込みは、int_status[3:0] ピンを使用してアプリケー ション層に送信されたタイプの Message Interrupt の TLP に変換されます。 通常は、ルート・ポートのサービスは、割り込みを送信します。しかし、以下の 2 つの状況でルート・ポートがエラー条件を記録するためにそれ自体に割り込みを送 信することができます。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 10 章: 割り込み ルート・ポートの PCI Express 割り込み 10–5 ■ AER オプションがイネーブルになっている場合、aer_msi_num[4:0] 信号は、エ ラーが AER の機能構造に記録されたときにルート・コンプレックスに送信されて いる MSI を示します。このメカニズムは serr_out 信号の別の方法です。 aer_msi_num[4:0] は、ルート・ポートにのみ使用され、一定の値に設定する必要 があります。これは、動作中に切り替えることはできません。 ■ ルート・ポートは、電源管理イベントを検出ます。pex_msi_num[4:0] 信号は、 ベース・メッセージ割り込み番号と MSI を介して送信するメッセージ割り込み番 号の間のオフセットを決定するために、電源管理やホット・プラグで使用されま す。ユーザーは pex_msi_num[4:0] を固定値に設定する必要があります。 Root Error Status レジスタは、エラー・メッセージのステータスを報告します。 root error status レジスタは、PCI Express AER 拡張機能の構造の一部です。それ は、コンフィギュレーション空間のレジスタのオフセット 0x830 に位置されます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 10–6 PCI Express 用の IP コンパイラ・ユーザーガイド 第 10 章: 割り込み ルート・ポートの PCI Express 割り込み 2011 年 5 月 Altera Corporation 11. フロー・コントロール 5? 2011? <edit Part Number variable in chapter> スループット解析は、11–2 ページの「フロー・コントロール更新ループ」に示すフ ロー・コントロール・ループを理解する必要があります。この項では、フロー・コン トロール・ループおよびスループットを向上させるための戦略について説明します。 それは、次のトピックスについて説明します。 ■ ポステッド・ライトのスループット ■ ノン・ポステッド・リードのスループット ポステッド・ライトのスループット ポステッド・ライトのスループットは、図 11–1 に示すように、フロー・コントロー ル更新ループによって制限されます。ライト・リクエスタが可能な限りで迅速に データをソースし、そしてライト・コンプリータが可能な限り迅速にデータを消費 する場合、フロー・コントロール更新は、リンクの帯域幅の次のライト・スルー プットの最大の決定要因となる可能性があります。 図 11–1 は、2 つの通信の PCI Express ポートを備えたフロー・コントロール更新ルー プの主要なコンポーネントを示します。 ■ ライト・リクエスタ ■ ライト・コンプリータ PCI Express の仕様で説明したように、各トランスミッタでは、このケースのライト・ リクエスタは、credit limit レジスタと credits consumed レジスタを保持します。 credit limit レジスタは、レシーバ(このケースのライト・コンプリータ)よって 発行されたすべてのクレジットの合計です。credit limit レジスタは、リンク初期 化のフロー・コントロールの初期化フェーズ中に初期化され、フロー・コントロー ル(FC)の更新 DLLP による動作中に更新されます。credits consumed レジスタは送 信されたパケットによって消費されるすべてのクレジットの合計です。別の credit limit と credits consumed レジスタはフロー・コントロールの 6 種類のそれぞれのた めに存在します。 2011 年 5 月 ■ ポステッド・ヘッダ ■ ポステッド・データ ■ ノン・ポステッド・ヘッダ ■ ノン・ポステッド・データ ■ コンプリーション・ヘッダ ■ コンプリーション・データ Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 11 章: フロー・コントロール ポステッド・ライトのスループット 11–2 各レシーバは、RX バッファの合計使用可能な空間(特定のフロー・コントロールの クラスのため)に初期化された credit allocated カウンタを保持し、そして、パ ケットがアプリケーション層で RX バッファから引き出されるようにインクリメント されます。このレジスタの値は、FC アップデート DLLP 値として送信されます。 図 11‒1. フロー・コントロール更新ループ Flow Control Gating Logic Credit Limit Credits Consumed Counter (Credit Check) FC Update DLLP Decode FC Update DLLP 6 FC Update DLLP Generate Credit Allocated Incr 5 7 4 3 1 Allow 2 Incr Rx Buffer Data Packet App Layer Transaction Layer Data Link Layer Data Source Physical Layer PCI Express Link Physical Layer Data Link Layer Data Packet Transaction Layer App Layer Data Sink 以下の手順の番号は、フロー・コントロール更新ループの各ステップについて説明 します。図 11–1 に対応する数字は、対応する一般的な領域を示します。 1. アプリケーション層は送信するパケットがある場合、必要なクレジット数が計算 されます。消費クレジット限度マイナス・クレジットの現在の値が必要なクレ ジットにより大きいまたは等しい場合、パケットはすぐに送信することができま す。しかし、消費クレジット限度マイナス・クレジットが必要なクレジットより 小さい場合、クレジット限度は、FC 更新 DLLP で十分な値に増加されるまで、パ ケットが保持する必要があります。このチェックは、ヘッダおよびデータ・クレ ジットに対して個別に実行されます。単一のパケットは、単一のヘッダ・クレ ジットを消費します。 2. パケットは送信のために選択された後、credits consumed レジスタは、このパ ケットによって消費されるクレジット数でインクリメントされます。この増分 は、ヘッダとデータの credit consumed クレジットの両方に発生します。 3. パケットは、リンクの他端で受信され、RX バッファに格納されます。 4. いくつかの時点でパケットがアプリケーション層で RX バッファから読み出され ます。パケット全体が RX バッファから読み出された後、credit allocated レジ スタは、パケットが使用したクレジット数によってインクリメントされることが できます。ヘッダとデータのクレジットごとに個別の credit allocated レジス タがあります。 5. credit allocated レジスタの値は、FC 更新 DLLP を作成するのに使用されます。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 11 章: フロー・コントロール ポステッド・ライトのスループット 11–3 6. FC 更新 DLLP が作成された後、PCI Express リンクへのアクセスのために調整しま す。通常、FC 更新 DLLP は低い優先順位でスケジュールされています。そのた め、アプリケーション層の TLP がまたは他の DLLP(ACK など)の連続したスト リームは、長い間で FC 更新 DLLP を遅らせることができます。付属のトランス ミッタのスタービングを防ぐために、FC 更新 DLLP は、次の 3 つの状況下で高い 優先度に引き上げられます。 a. 受信したデータの量を引いた最後の送信の credit allocated カウンタの値が MAX_PAYLOAD よりも小さくて、現在の credit allocated カウンタが最後に 送られたクレジット・カウンタよりも大きい場合。本質的に、これはデータ・ シンクが、データ・ソースはクレジットのフル MAX_PAYLOAD の価値よりも小 さいため、スタービングになる状態を把握することを意味します。 b. 内部タイマが再送 FC 更新 DLLP 用の「PCI Express Base Specification」 を満たすた めに 30 µs に設定される最後の FC 更新 DLLP が送信された時から、期限切れ になった時。 c. credit allocated カウンタが最後の送信の credit allocated カウンタを引い た値は、RX バッファ内の使用可能な合計クレジットにより大きいか、または 25%に等しい場合、FC 更新 DLLP リクエストは、高優先度に引き上げられま す。 調停した後、次の項目であるアービトレーションに勝った FC 更新 DLLP が送信さ れます。ワースト・ケースでは、FC 更新 DLLP は、現在、それを送信する前に完 了するために送信される最大サイズの TLP を待つ必要の場合があります。 7. FC 更新 DLLP は、元のライト・リクエスタに戻って受信され、credit limit の値 が更新されます。パケットがクレジットを待って停止された場合、現在送信する ことができます。 ライト・リクエスタが連続してパケットの送信を可能にするには、credit allocated および credit limit カウンタは、非常に最初の送信された TLP からのクレジットの 解放に対応する FC 更新 DLLP を待っている間に、複数の TLP が送信できるように、 十分なクレジットを使って初期化する必要があります。 表 11–1 は、PCI Express 用の IP コンパイラは Stratix II GX デバイスに実装される時に、 FC 更新ループの遅延コンポーネントを示します。遅延コンポーネントは、パケット 長に独立しています。ループの合計遅延は、パケット長で増加します。 表 11‒1. Stratix II GX のナノ秒単位のコンポーネントで FC アップデートのループ遅延 ( その1 ) ( 注 1), ( 注 2) ×8 ファンクション ×4 ファンクション ×1 ファンクション 遅延パス 最小 最大 最小 最大 最小 最大 消費されたデクリメント・クレジットの カウンタから PCI Express リンクまで。 60 68 104 120 272 288 PCI Express リンクからパケットがアプリ ケーション層インタフェースで使用可能 になるまで。 124 168 200 248 488 536 アプリケーション層の排出パケットから PCI Express リンク上のフロー・コント ロール(FC)更新 DLLP の生成と送信ま で。 60 68 120 136 216 232 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 11 章: フロー・コントロール ノン・ポステッド・リードのスループット 11–4 表 11‒1. Stratix II GX のナノ秒単位のコンポーネントで FC アップデートのループ遅延 ( その2 ) ( 注 1), ( 注 2) ×8 ファンクション ×4 ファンクション ×1 ファンクション 遅延パス PCI Expressリンク上の FC 更新 DLLP の受領 からトランスミッタのクレジット限度レ ジスタの更新まで。 最小 最大 最小 最大 最小 最大 116 160 184 232 424 472 表 11‒1 の注: (1) 他の Gen1 PHY の数は似ています。 (2) Gen2 の数は決定されます。 上記の FC 更新ループ遅延および追加のアービトレーションとパケット長の遅延に基 づいて、表 11–2 に、遅延をカバーするために広告を出す必要があるフロー・コント ロール・クレジットの数を示します。RX のバッファ・サイズは、全帯域幅を維持す るためにこのクレジット数をサポートする必要があります。 表 11‒2. パケット・サイズによる必要なデータ・クレジット ×8 ファンクション ×4 ファンクション ×1 ファンクション 最小 最大 最小 最大 最小 最大 最大のパケット・サイズ 128 64 96 56 80 40 48 256 80 112 80 96 64 64 512 128 160 128 128 96 96 1024 192 256 192 192 192 192 2048 384 384 384 384 384 384 これらの数値は、PCI Express リンクの両端のデバイスの遅延を考慮します。リンク の反対側の端にある別のデバイスが必要なクレジット数の最小値に影響を与えるた めに、小さい、または大きい遅延を持つことがあります。更に、アプリケーション層 はすべてのケースですぐに受信したパケットを排出できない場合は、それはこの遅 延をカバーするために追加のクレジットを提供する必要の場合があります。 パラメータ・エディタを使用して Parameter Settings タブの Buffer Setup ページで High に Desired performance for received requests を設定すると、上記の必要クレジッ トを満たすために十分なスペースで RX バッファを設定します。RX バッファ・サイ ズが遅延とリクエスト性能に合わせて、High 設定から Desired performance for received request の上下を調整することができます。 ノン・ポステッド・リードのスループット リード・データの高スループットをサポートするには、アプリケーション層がリー ド・リクエストを発行する時からすべてのコンプリーション・データが返されるま での全体の遅延を分析する必要があります。アプリケーションがリード・リクエス トを十分に発行する必要があります。また、リード・コンプリータは、この遅延を カバーするためにこれらのリード・リクエストを十分迅速に(あるいは少なくとも 十分なノン・ポステッド・ヘッダ・クレジットを提供する)処理できる必要があり ます。 しかし、このループ内で多くの発生した遅延は、PCI Express 用の IP コンパイラの外 にあると見積もることは非常に困難です。PCI Express のスイッチは、このループに 挿入することが可能であり、遅延の結合を決定することは困難になります。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 11 章: フロー・コントロール ノン・ポステッド・リードのスループット 11–5 それにもかかわらず、コンプリーション・データ・パケットの最大スループットを 維持することが重要です。PCI Express のエンドポイントがコンプリーション・クレ ジット数を無限に提供する必要があります。PCI Express 用の IP コンパイラは、アプ リケーションが処理できるまで、RX バッファ内のこのデータをバッファリングする 必要があります。PCI Express 用の IP コンパイラがフロー・コントロール機構を介し て RX バッファを管理しなくなったので、アプリケーションはリード・リクエストを 発行する時のレートによって RX バッファを管理する必要があります。 RX バッファの完了を予約されたスペースの量の適切な設定を決定するには、リー ド・コンプリーションが返されるまで、時間の長さに関する仮定を行う必要があり ます。11–1 ページの「ポステッド・ライトのスループット」で説明したように、こ の仮定は、FC 更新ループ遅延を超えて、追加の遅延の点で推定することがでます。 リード・リクエストやコンプリーションのパスが正確に PCI Express のロジックの IP コンパイラのポステッド・ライトと FC 更新用のものと同じではありません。しか し、遅延の違いは、完了の遅延に外部リードの推定に誤差と比べて恐らく小さいで す。 リード・リクエスタとリード・コンプリータ間に PCI Express スイッチがあると仮定 し、ルート・ポートの典型的なリード・コンプリーション時間を想定して、表 11–3 に、リード・トランザクションのラウンド・トリップ遅延をカバーするために必要 な推定コンプリーション空間を示します。 表 11‒3. リード・ラウンドのトリップ遅延のコンプリーション・データ・スペース(クレ ジットの単位で) 1 最大のパケット・ サイズ ×8 ファンクション 標準 ×4 ファンクション 標準 ×1 ファンクション 標準 128 120 96 56 256 144 112 80 512 192 160 128 1024 256 256 192 2048 384 384 384 4096 768 768 768 コンプリーションは小さいパケット・サイズの複数のコンプリーションが分割可能 なことに注意してください。 複数のコンプリーションで、コンプリーション・ヘッダの使用可能なクレジットの 数が最大パケット・サイズで割ったコンプリーション・データ・スペースよりも大 きくなければなりません。その代わりに、これが可能な最小のリード・コンプリー ション境界であるので、ヘッダのクレジット・スペースは、64 で割ったコンプリー ション・データ・スペース(バイト単位)でなければなりません。IP コアのパラ メータ設定を指定する時に、Buffer Setup ページで High に Desired performance for received completions を設定すると、上記の要件を満たすのに十分なスペースで RX バッファを設定します。RX バッファ・サイズが遅延とリクエスト性能に合わせて、 High 設定から Desired performance for received request の上下を調整することができま す。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 11 章: フロー・コントロール ノン・ポステッド・リードのスループット 11–6 また、優れたリード・リクエストデータの最大量を制御することができます。この 量は、アプリケーションで発行可能なヘッダ・タグ値の数、および発行可能なリー ド・リクエストの最大サイズにより制限されます。使用できるのヘッダ・タグ値の 数は、PCI Express 用の IP コンパイラによって制限されます。×8 ファンクションの場 合、32 のタグを指定することができます。コンフィギュレーション・ソフトウェア は 32 のタグを使用するようにアプリケーションを制限しますが、×1 と ×4 ファンク ションの場合は、最大 256 のタグを指定することができます。コマーシャル PC シス テムでは、通常、32 タグは最適なリード・スループットを維持するのに十分です。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 12. エラー処理 5? 2011? <edit Part Number variable in chapter> 各 PCI Express 準拠のデバイスは、エラー管理の基本的なレベルを実装する必要があ り、オプションで高度なエラー管理を実装することができます。PCI Express 用のア ルテラの IP コンパイラは、基本および高度の両方のエラー報告を実装します。ファ ブリック内での位置と役割を与えられると、ルート・ポートのエラー処理はエンド ポイントのそれよりも複雑になります。 表 12–1 で説明したように、PCI Express の仕様はエラーの 3 つのタイプを定義しま す。 表 12‒1. エラーの分類 タイプ 担当エージェント 説明 Correctable ハードウェア 訂正可能なエラーはシステムのパフォーマンスに影響を与える場合が ありますが、データの整合性が維持されます。 Uncorrectable、 non-fatal デバイス・ソフト ウェア 訂正不可能な、非致命的なエラーは、データが失われるエラーとして 定義されますが、システムの整合性が維持されます。例えば、ファブ リックは、特定の TLP が失われる可能性がありますが、それでも問題 なく動作します。 Uncorrectable、 fatal システム・ソフト ウェア データとシステム障害の損失によって発生したエラーは、訂正不可能 な、致命的と見なされます。ソフトウェアは、エラーを処理する方法 を決定する必要があります:リンクをリセットしたり、問題を最小限 に抑えるために他の手段を実装するかどうかを指定します。 次の項では、PCI Express プロトコルの 3 層によって検出されたエラー、およびエ ラー・ロギングについて説明します。それには、以下の項で構成されています。 2011 年 5 月 ■ フィジカル・レイヤのエラー ■ データ・リンク層のエラー ■ トランザクション層のエラー ■ エラーの報告およびデータのポイゾン ■ 訂正不可能と訂正可能のエラー · ステータス · ビット Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 12 章: エラー処理 フィジカル・レイヤのエラー 12–2 フィジカル・レイヤのエラー 表 12–2 に、フィジカル・レイヤで検出されたエラーを示します。 表 12‒2. フィジカル・レイヤで検出されたエラー ( 注 1) エラー タイプ 説明 このエラーは、次の 3 つの潜在的な原因があります。 Receive port error ■ L0 状態にある時、フィジカル・コーディング・サブレイヤの エラーです。これらのエラーは、次のエンコーディングを使 用して、rxstatus<lane_number>_ext[2:0] の当たりレー ン PIPE インタフェースの入力受信ステータス信号を介して、 コアに報告されます: 100:8B/10B デコード・エラー 101:エラスティック・バッファ・オーバーフロー 110:エラスティック・バッファ・アンダーフロー 111:ディスパリティ・エラー ■ マルチレーン・デスキュー FIFO のオーバーフローによって引 き起こされるデスキュー・エラー。 ■ 間違ったレーンで受信されたコントロール記号。 Correctable 表 12‒2 の注: (1) PCI Express 仕様ではオプションとみなされます。 データ・リンク層のエラー 表 12–3 に、データ・リンク層で検出されたエラーを示します。 表 12‒3. データ・リンク層で検出されたエラー エラー タイプ 説明 Bad TLP Correctable LCRC 検証が失敗した場合、またはシーケンス番号エラーが発生 した場合、このエラーが発生します。 Bad DLLP Correctable CRC 検証が失敗した場合、このエラーが発生します。 Replay timer Correctable 再生タイマがタイム・アウトの時、このエラーが発生します。 Replay num rollover Correctable 再生数がロール・オーバーの時、このエラーが発生します。 Data link layer protocol Uncorrectable (fatal) AckNak_Seq_Numで指定されたシーケンス番号は未確認のTLPに対 応していない場合、このエラーが発生します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 12 章: エラー処理 トランザクション層のエラー 12–3 トランザクション層のエラー 表 12–4 に、トランザクション層で検出されたエラーを示します。Poisoned TLP が検 出されます。 表 12‒4. トランザクション層で検出されたエラー ( その1 ) エラー タイプ 説明 受信したトランザクション・レイヤ・パケットは EP poison ビット・ セットがある場合、このエラーが発生します。 Poisoned TLP received Uncorrectable (non-fatal) 受信した TLP はアプリケーションに渡され、アプリケーション層のロ ジックは poisoned TLP に応じて適切な行動を取る必要があります。PCI Express 1.1 では、このエラーがアドバイザリ・エラーとして扱われま す。Poisoned TLP について詳しくは、「PCI Express Base Specification 2.0」の「2.7.2.2 Rules for Use of Data Poisoning」を参照してください。 このエラーは、トランザクション・レイヤ・パケットが不正ではなく、 LCRC チェックが有効であるという事実にもかかわらず、失敗の ECRC チェックによって引き起こされます。 ECRC check failed (1) Uncorrectable (non-fatal) IP コアは、自動的にこのトランザクション・レイヤ・パケットを処理 します。TLP は、ノン・ポステッド・リクエストである場合、IP コアは コンプリータ中止状態でコンプリーションを生成します。すべての ケースで TLP は、IP コアに削除され、アプリケーション層に提示され ません。 コンポーネントは、次のサポートされていないリクエストのいずれか を受信する時に、このエラーが発生します。 ■ 非既存のファンクションのタイプ 0 のコンフィギュレーションリクエ スト。 ■ リクエスタ ID がバス / デバイスと一致しないコンプリーション・トラ ンザクション。 ■ サポートされていないメッセージ。 ■ PCIe リンクから TLP のタイプ 1 コンフィギュレーションリクエストの トランザクション・レイヤ・パケット。 ■ Unsupported request for endpoints Uncorrectable (non-fatal) ネイティブ・エンドポイント上のロックされたメモリ・リード (MEMRDLK)。 ■ ロックされたコンプリーション・トランザクション。 ■ アドレスの 32 MSBが 0に設定されている 64 ビットのメモリ・トランザ クション。 ■ BAR マッチが存在しない時のメモリや I/O トランザクション。 ■ Memory Space Enable ビット(コンフィギュレーション・スペース・ オフセット 0x4 で PCI コマンド・レジスタのビット [1])が 0 に設定 される時のメモリ・トランザクション。 ■ ポイゾンされたコンフィギュレーション・ライト・リクエスト (CfgWr0)。 TLP がノン・ポステッド・リクエストの場合、IP コアはサポートされて いないリクエストのステータスでコンプリーションを生成します。す べてのケースで TLP は、IP コアに削除され、アプリケーション層に提 示されません。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 12 章: エラー処理 トランザクション層のエラー 12–4 表 12‒4. トランザクション層で検出されたエラー ( その2 ) エラー タイプ 説明 コンポーネントは、次を含むサポートされていないリクエストを受信 するたびにこのエラーが発生します。 Unsupported requests for root port Uncorrectable fatal ■ サポートされていないメッセージ。 ■ タイプ 0 のコンフィギュレーションリクエスト TLP。 ■ アドレスの 32 MSBが 0に設定されている 64 ビットのメモリ・トランザ クション。 ■ Memory Space Enable ビット(コンフィギュレーション・スペース・ オフセット 0x4 で PCI コマンド・レジスタのビット [1])が 0 に設定 される時のメモリ・トランザクション。 ■ Windows アドレスと一致しないメモリ・トランザクション。 Completion timeout Uncorrectable (non-fatal) アプリケーション層から発信されたリクエストが確立された時間内に 対応するコンプリーション・トランザクション・レイヤ・パケットを 生成していない場合、このエラーが発生します。それがコンプリー ションのタイム・アウト・メカニズムを提供するアプリケーション層 ロジックの責任です。コンプリーションのタイム・アウトは cpl_err[0] 信号を使用してトランザクション・レイヤから報告される 必要があります。 Completer abort (1) Uncorrectable (non-fatal) アプリケーション層は、トランザクション・レイヤ・パケットの受信 を中止した時に、cpl_err[2] 信号を使用してこのエラーを報告します。 このエラーは、予期しないコンプリーション・トランザクションに よって引き起こされます。IP コアは、以下の条件を処理します。 Unexpected completion Uncorrectable (non-fatal) ■ コンプリーション・パケットのリクエスタ ID はエンドポイントのコ ンフィギュレーションされた ID と一致しません。 ■ コンプリーション・パケットは無効なタグ番号を持っています。一 般的に、コンプリーション・パケットで使用されるタグは指定され たタグの数を超えています。 ■ コンプリーション・パケットは未処理のリクエストと一致しないた ぐがあります。 ■ I/O またはコンフィギュレーション・スペースへのリクエストのコン プリーション・パケットの長さは 1 dword より大きい。 ■ コンプリーション・ステータスは、コンフィギュレーション・ス ペースになかったリクエストに対応する CRS(コンフィギュレー ション再試行ステータス)。 上記のすべてのケースで TLP は、アプリケーション層に提示されませ ん。IP コアは TLP を削除します。 その他の予期しない完了条件は、アプリケーション層で検出され、 cpl_err[2] 信号の使用を介して報告することができます。例えば、ア プリケーション層は、受信成功したコンプリーションの合計の長さが 元のリード・リクエストの長さと一致しないケースを報告することが できます。 Receiver overflow (1) Uncorrectable (fatal) コンポーネントがトランザクション・レイヤ・パケットのこのタイプ に割り当てられた FC クレジットに違反するトランザクション・レイ ヤ・パケットを受信した時に、このエラーが発生します。すべての ケースで、TLP は IP コアに削除され、アプリケーション層に提示され ません。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 12 章: エラー処理 エラーの報告およびデータのポイゾン 12–5 表 12‒4. トランザクション層で検出されたエラー ( その3 ) エラー Flow control protocol error (FCPE) (1) タイプ Uncorrectable (fatal) 説明 レシーバは、累積的にトランスミッタに 2047 の未処理の未使用デー タ・クレジットより大きいまたは 127 ヘッダのクレジットを発行して はなりません。 無限クレジットが初期化中に特定の TLP タイプ(ポステッド、ノン・ ポステッド、コンプリーション)にアドバタイズされた場合、更新の FC DLLP は TLP タイプの無限クレジットを送信し続ける必要があります。 このエラーは、以下のいずれかの条件によって引き起こされます。 Malformed TLP Malformed TLP (continued) Uncorrectable (fatal) ■ 受信したトランザクション・レイヤ・パケットのデータ・ペイロー ドが最大ペイロード・サイズを超えています。 ■ TD フィールドがアサートされますが、トランザクション・レイヤ・ パケット・ダイジェストが存在しません。あるいは、トランザク ション・レイヤ・パケット・ダイジェストが存在しますが、PCI Express のリクエスト・ヘッダ・パケットの TD ビットがアサートさ れません。 ■ トランザクション・レイヤ・パケットは、バイト・イネーブルの ルールに違反します。IP コアは、PCI Express 仕様でオプションとみ なされ、この違反をチェックします。 ■ タイプと長さフィールドはトランザクション・レイヤ・パケットの 長さの合計と一致しないトランザクション・レイヤ・パケット。 ■ フォーマットとタイプの組み合わせは PCI Express 仕様で指定されて いないトランザクション・レイヤ・パケット。 ■ リクエストは、メモリ空間のアクセスが 4 K バイトの境界を超えるよ うに、アドレス / 長さの組み合わせを指定します。IP コアは、PCI Express 仕様でオプションと見なされ、この違反をチェックします。 ■ Assert_INTX、パワー・マネジメント、エラー・シグナリング、ロッ ク解除および Set_Slot_power_limit などのメッセージは、デフォル トのトラフィック・クラスを介して送信する必要があります。 ■ 初期化されていない仮想チャネルを使用するトランザクション・ レーヤ・パケット。 Uncorrectable (fatal) IP コアは、不正な TLP を削除します。TLP はアプリケーション層に提示さ れません。 表 12‒4 の注: (1) 「PCI Express Base Specification Revision 1.0a, 1.1 or 2.0」 では、オプションと見なされます。 エラーの報告およびデータのポイゾン エンドポイントは、デバイスのコンフィギュレーション・レジスタに応じて特定の エラーを処理します。 f デバイスのシグナリングおよびエンドポイントのロギングについて詳しくは、「PCI Express Base Specification 1.0a, 1.1 or 2.0」を参照してください。 IP コアは、トランザクションに関連付けられたデータが破損していることを示すメ カニズムであるデータのポイゾンを実装しています。ポイゾンされたトランザク ション・レイヤ・パケットは、1 に設定するヘッダのエラー / ポイゾン・ビットを 持っており、以下の規則に従います。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 12 章: エラー処理 訂正不可能と訂正可能のエラー · ステータス · ビット 12–6 ■ 受信したポイゾンされたトランザクション・レイヤ・パケットは、アプリケー ション層に送信され、ステータス・ビットは自動的にコンフィギュレーション・ スペース内で更新されます。PCI Express1.1 では、これはアドバイザリー・エラー として扱われます。 ■ 受信したポイゾンされたコンフィギュレーション・ライト・トランザクション・ レイヤ・パケットはコンフィギュレーション・スペース内に書き込まれません。 ■ コンフィギュレーション・スペースは、ポイゾンされたトランザクション・レイ ヤ・パケットを生成することはありません。ヘッダのエラー / ポイゾン・ビット は、常に 0 に設定されています。 ポイゾンされたトランザクション・レイヤ・パケットは、PCI コンフィギュレーショ ン・スペースのステータス・レジスタでパリティ・エラー・ビットを設定すること ができます。表 12–5 に、パリティ・エラーを引き起こす条件を示します。 表 12‒5. パリティ・エラーの条件 ステータス・ビット 検出されたパリティ・エラー(ステー タス・レジスタ・ビット 15) マスタ・データのパリティ・エラー (ステータス・レジスタ・ビット 8) 条件 任意の受信したトランザクション・レイヤ・パケットがポイゾン された時に設定されます。 コマンド・レジスタのパリティ・イネーブル・ビットが設定され た時、または以下のいずれか条件が当てはまる時に、このビット は設定されます。 ■ ポイゾンされたビットは、ライト・リクエストのトランザク ション・レイヤ・パケットの送信の時に設定されます。 ■ ポイゾンされたビットは、受信したコンプリーション・トラン ザクション・レイヤ・パケット上に設定されます。 IP コアで受信されたポイゾン・パケットはアプリケーション層に渡されます。ポイ ゾンされた送信トランザクション・レイヤ・パケットは同様にリンクに送信されま す。 訂正不可能と訂正可能のエラー · ステータス · ビット 次の項では、PCI-SIG の許可を得て転載されています。Copyright 2010 PCI-SIGR。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 12 章: エラー処理 訂正不可能と訂正可能のエラー · ステータス · ビット 12–7 図 12–1 に、訂正不能なエラー・ステータス・レジスタを示します。このレジスタの すべてのビットのデフォルト値は 0 です。設定されているエラー・ステータス・ ビットは、それが表すエラー状態が検出されたことを示します。ソフトウェアは適 切なビットに 1 を書き込むことによって、エラー状態をクリアすることができます。 図 12‒1. 訂正不可能なエラー · ステータス · レジスタ 31 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 Rsvd 6 5 Rsvd 4 3 1 0 Rsvd TLP Prefix Blocked Error Status AtomicOp Egress Blocked Status MC Blocked TLP Status Uncorrectable Internal Error Status ACS Violation Status Unsupported Request Error Status ECRC Error Status Malformed TLP Status Receiver Overflow Status Unexpected Completion Status Completer Abort Status Completion Timeout Status Flow Control Protocol Status Poisoned TLP Status Surprise Down Error Status Data Link Protocol Error Status Undefined 図 12–2 に、訂正能なエラー・ステータス・レジスタを示します。このレジスタのす べてのビットのデフォルト値は 0 です。設定されるエラー・ステータス・ビットは、 それが表すエラー状態が検出されたことを示します。ソフトウェアは適切なビット に 1 を書き込むことによって、エラー状態をクリアすることができます。 図 12‒2. 訂正可能なエラー · ステータス · レジスタ 31 16 15 14 13 12 11 9 Rsvd Rsvd 8 7 6 5 1 0 Rsvd Header Log Overflow Status Corrected Internal Error Status Advisory Non-Fatal Error Status Replay Timer Timeout Status REPLAY_NUM Rollover Status Bad DLLP Status Bad TLP Status Receiver Error Status 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 12–8 PCI Express 用の IP コンパイラ・ユーザーガイド 第 12 章: エラー処理 訂正不可能と訂正可能のエラー · ステータス · ビット 2011 年 5 月 Altera Corporation 13. リコンフィギュレーションおよび オフセット・キャンセレーション 5? 2011? <edit Part Number variable in chapter> この章では、パワーアップ後にコアをリコンフィギュレーションするために、使用 できる PCI Express 用の IP コンパイラの機能について説明します。それには、次の項 で構成されています。 ■ ダイナミック・リコンフィギュレーション ■ トランシーバのオフセット・キャンセレーション ダイナミック・リコンフィギュレーション PCI Express 用の IP コンパイラのリコンフィギュレーション・ブロックは、実行時に 動的に読み取り専用のコンフィギュレーション・レジスタの値を変更することがで きます。PCI Express 用の IP コンパイラのリコンフィギュレーション・ブロックは、 Arria II GX、Arria II GZZ、Cyclone IV GX、HardCopy IV GX および Stratix IV GX デバイスの ハード IP の実装でのみ使用可能です。パラメータ・エディタを使用して、System Settings ページの PCIe Reconfig オプションで Enable を選択した時に、PCI Express 用 の IP コンパイラのリコンフィギュレーション・ブロックへのアクセスが可能です。 このブロックの Avalon-MM スレーブ・インタフェースを使用して、このブロックに アクセスすることができます。このインタフェースの信号の完全な説明については、 5–43 ページの「IP コアのリコンフィギュレーション・ブロック信号 — ハード IP 実 装」を参照してください。 PCI Express 用の IP コンパイラのリコンフィギュレーション・ブロックは、コンフィ ギュレーション・スペース、リンク設定、MSI と MSI-X 機能、パワー・マネジメン ト、および高度なエラー報告を含む読み出し専用のコンフィギュレーション・レジ スタへのアクセスを提供します。 動的にこれらのレジスタを再プログラムする手順は、次の 3 つの手順が含まれてい ます。 1. リンクがすでにある場合は、pcie_reconfig_rstn リセット信号をアサートする ことによって、PCI Express のリンクをダウンさせます。(リンクが確立される前 にリコンフィギュレーションが発生する可能性があります。 ) 2. Avalon-MM スレーブの PCIe リコンフィギュレーション・インタフェースを使用し てコンフィギュレーション・レジスタを再プログラムします。 3. npor リセット信号を解除します。 1 2011 年 5 月 実行時に read/write のコンフィギュレーション・レジスタの値を変更するために LMI イ ンタフェースを使用することができます。LMI インタフェースについて詳しくは、 5–41 ページの「LMI の信号 — ハード IP 実装」を参照してください。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション ダイナミック・リコンフィギュレーション 13–2 表 13–1 に、PCI Express 用の IP コンパイラのリコンフィギュレーション・ブロック・ インタフェースを使用して更新することができるすべてのレジスタを示します。 表 13‒1. ハード IP の実装におけるダイナミック・リコンフィギュレーション可能なレジスタ ( その1 ) アドレス 0x00 ビット 説明 0 の時、PCIe リコンフィギュレーション・モード はイネーブルされます。1 の時、PCIe リコンフィ ギュレーション・モードはディせーブルされ、デ 0 バイスをコンフィギュレーションするためにプロ グラミング・ファイルに設定される元の読み出し 専用のレジスタ値が復元されます。 0x01-0x88 デフォルト 値 追加情報 — b’1 予約。 — 0x89 15:0 ベンダ ID。 0x1172 6–2 ページの表 6–2, 6–3 ページの表 6–3 0x8A 15:0 デバイス ID。 0x0001 6–2 ページの表 6–2, 6–3 ページの表 6–3 0x01 6–2 ページの表 6–2, 6–3 ページの表 6–3 — 6–2 ページの表 6–2, 6–3 ページの表 6–3 — 6–2 ページの表 6–2 0x8B 7:0 リビジョン ID。 15:8 クラス・コード [7:0]。 0x8C 15:0 クラス・コード [23:8]。 0x8D 15:0 サブシステム・ベンダ ID。 0x1172 6–2 ページの表 6–2 0x8E 15:0 サブシステム・デバイス ID。 0x0001 6–2 ページの表 6–2 0x8F 0x90 予約。 — 0 高度なエラー・レポート。 b’0 3:1 優先順位の低い VC (LPVC) 。 b’000 7:4 15:8 VC アービトレーション機能。 拒否スノープ・トランザクション。 b’00001 b’00000000 2:0 PCI Express 用の IP コンパイラ・ユーザーガイド 6–5ページの表 6–9 の VC リソースの機能レ ジスタ 6–5 ページの表 6–9, のデバイス機能レジ スタ 最大ペイロード・サイズがサポートされます。次 は、定義されたエンコーディングです。 000:128 バイトの最大ペイロード・サイズ。 001:256 バイトの最大ペイロード・サイズ。 010:512 バイトの最大ペイロード・サイズ。 011:1024 バイトの最大ペイロード・サイズ 。 100:2048 バイトの最大ペイロード・サイズ 。 101:4096 バイトの最大ペイロード・サイズ 。 110:予約。 111:予約。 6–5 ページの表 6–9 のポート VC コンデン サ1 b’010 2011 年 5 月 Altera Corporation 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション ダイナミック・リコンフィギュレーション 13–3 表 13‒1. ハード IP の実装におけるダイナミック・リコンフィギュレーション可能なレジスタ ( その2 ) アドレス ビット 説明 デフォルト 値 追加情報 b’0 6–5 ページの表 6–8 の リンク機能レジスタ b’0 6–5 ページの表 6–8 の リンク機能レジスタ b’0 6–5 ページの表 6–8 の デバイス機能レジス タ b’000 6–5 ページの表 6–8 の デバイス機能レジス タ b’000 6–5 ページの表 6–8 の デバイス機能レジス タ Surprise Down エラーのレポート機能。 (PCI Express Base Specification Revision 1.1 準拠のコ アでのみ使用できます。) Downstream Port。コンポーネントが Surprise Down エラーの状態の検出およびレポートのオプション 3 機能をサポートする場合、このビットは 1 に設定 する必要があります。 Upstream Port。このオプション機能をサポートし ていないアップストリーム・ポートおよびコン ポーネントの場合、このビットは 0 に固定する必 要があります。 データ・リンク・レイヤのアクティブ・レポート 機能。 (PCI Express Base Specification Revision 1.1 準拠のコ アでのみ使用できます。) Downstream Port:コンポーネントがデータ・リン ク・コントロールおよびマネジメント・ステート・ 4 マシンの DL_Active ステートをレポートするオプ ション機能をサポートする場合、このビットは 1 に設定する必要があります。 Upstream Port:このオプション機能をサポートし ていないアップストリーム・ポートおよびコン ポーネントの場合、このビットは 0 に固定する必 要があります。 5 拡張 TAG フィールドがサポートされています。 エンドポイント L0 の許容レイテンシ。次のエン コーディングが定義されます。 8:6 b’000 – 64 ns の最大。 b’001 – 128 ns の最大。 b’010 – 256 ns の最大。 b’011 – 512 ns の最大。 b’100 – 1 µs の最大。 b’101 – 2 µs の最大。 b’110 – 4 µs の最大。 b’111– 制限なし。 エンドポイント L1 の許容レイテンシ。次のエン コーディングが定義されます。 11:9 2011 年 5 月 b’000 – 1 µs の最大。 b’001 – 2 µs の最大。 b’010 – 4 µs の最大。 b’011 – 8 µs の最大。 b’100 – 16 µs の最大。 b’101 – 32 µs の最大。 b’110 – 64 µs の最大。 b’111 – 制限なし。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション ダイナミック・リコンフィギュレーション 13–4 表 13‒1. ハード IP の実装におけるダイナミック・リコンフィギュレーション可能なレジスタ ( その3 ) アドレス ビット 説明 デフォルト 値 追加情報 b’000 6–5 ページの表 6–8 の スロート機能レジス タ Role-Based エラーのレポート。(PCI Express Base Specification Revision 1.1 の準拠のコア でのみ使用で 15 きます。)1.1 準拠のコアでは、このビットを 1 に 設定する必要があります。 b’1 6–6 ページの表 6–10 の訂正可能エラー・ マスク・レジスタ 1:0 スロット・パワー制限スケール。 b’00 6–5 ページの表 6–8 の スロート機能レジス タ b’000100 6–5 ページの表 6–8 の リンク機能レジスタ b’01 6–5 ページの表 6–8 の リンク機能レジスタ b’000000 6–5 ページの表 6–8 の リンク機能レジスタ これらのビットは、アテンションとパワー・イン ジケータの存在または不在をレコードします。 14:12 0x91 [0]: デバイス上のアテンション・ボタンの存在。 [1]: エンドポイントのアテンション・インジケー タの存在。 [2]: エンドポイントのパワー・インジケータの存 在。 7:2 最大のリンク幅。 L0 アクティブ・ステートのパワー・マネージメン ト・サポート 9:8 L1 アクティブ・ステートのパワー・マネージメン ト・サポート L1 終了レイテンシのコモン・クロック。 L1 終了レイテンシの個別のクロック。次のエン コーディングは定義されます。 0x92 15:10 b’000 – 1 µs 未満。 b’001 – 1 µs ~ 2 µs 未満。 b’010 – 2 µs ~ 4 µs 未満。 b’011 – 4 µs ~ 8 µs 未満。 b’100 – 8 µs ~ 16 µs 未満。 b’101 – 16 µs ~ 32 µs 未満。 b’110 – 32 µs ~ 64 µs。 b’111 – 64 µs より大きい。 [0]:シャーシ上で実装されたアテンション・ボタ ン。 [1]:パワー・コントローラが存在します。 [2]:手動動作保持ラッチ(MRL)のセンサが存在 します。 [3]:ルート・ポート、スイッチ、またはブリッジ のアテンション・インジケータが存在します。 0x93 b’0000000 [4]:ルート・ポート、スイッチ、またはブリッジ のパワー・インジケータが存在します。 6–5 ページの表 6–8 の スロート機能レジス タ [5]:ホット・プラグ驚き:このビットが 1 に設定 すると、デバイスは事前の通知なしに、このス ロットから削除することができます。 6:0 [6]:ホット・プラグ対応。 9:7 予約。 15:10 スロット・パワー制限値。 PCI Express 用の IP コンパイラ・ユーザーガイド b’000 b’00000000 2011 年 5 月 Altera Corporation 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション ダイナミック・リコンフィギュレーション 13–5 表 13‒1. ハード IP の実装におけるダイナミック・リコンフィギュレーション可能なレジスタ ( その4 ) アドレス ビット 説明 デフォルト 値 1:0 予約。 0x94 0x95 追加情報 — エレクトロメカニカル・インターロックが存在し 2 ます(PCI Express Base Specification Revision 1.1 の準 拠の IP コア でのみ使用できます。) b’0 フィジカル・スロット番号(スロットが実装され ている場合)。この信号はこのポートに関連付けら 15:3 れているフィジカル・スロット番号を示します。 それは、ファブリック内でユニックである必要が あります。 b’0 7:0 NFTS_SEPCLK。個別のクロックの高速トレーニン グ・シーケンスの数。 b’10000000 15:8 NFTS_COMCLK。コモン・クロックの高速トレーニ ング・シーケンスの数。 b’10000000 6–5 ページの表 6–8 の スロート機能レジス タ — コンプリーションのタイムアウト範囲。次のエン コーディングは定義されます。 3:0 b’0001:範囲 A。 b’0010:範囲 B。 b’0011:範囲 A&B。 b’0110:範囲 B&C。 b’0111:範囲 A、B&C。 b’1110 範囲 B、C&D。 b’1111:範囲 A、B、C&D。 他のすべての値が予約されています。 b’0000 6–5 ページの表 6–8 の デバイス機能レジス タ2 b’0 6–5 ページの表 6–8 の デバイス機能レジス タ2 b’0 — b’0 6–6 ページの表 6–10 の高度なエラー機能 およびコントロー ル・レジスタ b’0 6–6 ページの表 6–10 の高度なエラー機能 およびコントロー ル・レジス b’0 6–5 ページの表 6–8 の スロート機能レジス タ コンプリーションのタイムアウトがサポートされ ます。 4 0:コンプリーションのタイムアウト・ディセー ブルはサポートされていません。 1:コンプリーションのタイムアウト・ディセー ブルがサポートされています。 7:5 予約。 8 ECRC 生成。 9 ECRC チェック。 コマンドなしの完了されたサポート。 (PCI Express 10 Base Specification Revision 1.1 の準拠のコア でのみ使 用できます。) 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション ダイナミック・リコンフィギュレーション 13–6 表 13‒1. ハード IP の実装におけるダイナミック・リコンフィギュレーション可能なレジスタ ( その5 ) アドレス ビット 説明 対応するファンクション MSI の数。 13:11 デフォルト 値 b’010 b’000:1 MSI に対応。 b’001:2 MSI に対応。 b’010:4 MSI に対応。 b’011:8 MSI に対応。 b’100:16 MSI に対応。 b’101:32 MSI に対応。 6–3 ページの表 6–4 の メッセージ・コント ロール・レジスタ MSI 32/64 ビットのアドレッシング・モード。 14 0x96 b’0:32 ビットのみ。 b’1:32 ビットまたは 64 ビット。 15 ビットあたりの MSI ベクトル・マスキング(リー ド専用フィールド)。 3:1 割り込みピン。 b’001 — 5:4 予約。 b’00 15:7 MSI-X のテーブル・サイズ。 b’0 b’0 1:0 予約。 — 4:2 MSI-X テーブル BIR。 b’0 15:5 MIS-X のテーブル・オフセット。 0x99 b’0 b’1 6 MSI-X をサポートするファンクション。 0x98 b’1 6–3 ページの表 6–4 の MSI のメッセージ・ コントロール・レジ スタ 0 MSI をサポートするファンクション。 0x97 追加情報 15:10 MSI-X PBA オフセット。 b’0 15:0 予約。 b’0 0x9B 15:0 予約。 b’0 0x9C 15:0 予約。 b’0 0x9D 15:0 予約。 b’0 0x9E 3:0 予約。 7:4 NFTS 前の EIE シンボル数。 PCI Express 用の IP コンパイラ・ユーザーガイド 6–4 ページの表 6–5 の MSI-X 機能構造 6–4 ページの表 6–5 の MSI-X 機能構造 b’0 0x9A 15:8 Gen2 レートにおける個別クロックの NFTS 数。 6–3 ページの表 6–4 の MSI のメッセージ・ コントロール・レジ スタ — b’0100 b’11111111 2011 年 5 月 Altera Corporation 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション ダイナミック・リコンフィギュレーション 13–7 表 13‒1. ハード IP の実装におけるダイナミック・リコンフィギュレーション可能なレジスタ ( その6 ) アドレス ビット 説明 デフォルト 値 7:0 Gen2 レートにおけるコモン・クロックの NFTS 数。 b’11111111 8 選択可能なディエンファシス。 b’0 追加情報 6–5 ページの表 6–8 の リンク・コントロー ル・レジスタ 2 PCIe 機能のバージョン。 12:9 0x9F b’0000:コアは PCIe 仕様 1.0a または 1.1 に準拠し ます。 b’0001:コアは PCIe 仕様 1.0a または 1.1 に準拠し ます。 b’0010:コアは PCIe 仕様 2.0 に準拠します。 b’0010 6–5 ページの表 6–8 の PCI Express 機能レジ スタ b’110 6–5 ページの表 6–8 の リンク機能レジスタ コモン・クロックの L0 終了レイテンシ。 15:13 Gen1:(N_FTS (個別クロック)+ 1 (SKIPOS の 場合) )* 4 * 10 * UI (UI = 0.4 ns)。 Gen2:[ (N_FTS2(個別クロック)+ 1 SKIPOS の 場合) )* 4 + 8 (受信した EIE の最大数)] * 10 * UI (UI = 0.2 ns)。 個別クロックの L0 終了レイテンシ。 Gen1:(N_FTS (個別クロック)+ 1 (SKIPOS の 場合) )* 4 * 10 * UI(UI = 0.4 ns)。 Gen2:[ (N_FTS2(個別クロック)+ 1 SKIPOS の 場合))* 4 + 8 (受信した EIE の最大数)] * 10 * UI (UI = 0.2 ns)。 0xA0 2:0 b’000 – 64 ns 未満。 b’001 – 64 ns ~ 128 ns 未満。 b’010 – 128 ns ~ 256 ns 未満。 b’011 – 256 ns ~ 512 ns 未満。 b’100 – 512 ns ~ 1 µs 未満。 b’101 – 1 µs ~ 2 µs 未満。 b’110 – 2 µs ~ 4 µs。 b’111 – 4 µs より大きい。 15:3 予約。 2011 年 5 月 Altera Corporation b’110 6–5 ページの表 6–8 の リンク機能レジスタ 0x0000 PCI Express 用の IP コンパイラ・ユーザーガイド 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション ダイナミック・リコンフィギュレーション 13–8 表 13‒1. ハード IP の実装におけるダイナミック・リコンフィギュレーション可能なレジスタ ( その7 ) アドレス ビット 説明 デフォルト 値 追加情報 BAR0[31:0]。 0 BAR0[0]:I/O スペース。 2:1 BAR0[2:1]:メモリ・スペース。 3 BAR0[3]:プリフェッチ可能。 BAR0[31:4]:バー・サイズ・マスク。 b’0 b’0 BAR1[63:32]。 b’0 2:1 b’0 BAR1[34:33]:メモリ・スペース(BAR0 について は、ビット設定を参照)。 b’0 BAR1[35]:プリフェッチ可能。 b’0 BAR1[63:36]:バー・サイズ・マスク。 b’0 15:4 BAR1[47:36]。 b’0 b’0 BAR2[95:64]: b’0 2:1 3 0xA6 BAR1[32]:I/O スペース。 15:0 BAR1[63:48]。 0 0xA5 0xFFFFFFF 15:4 BAR0[15:4]。 3 0xA4 b’1 15:0 BAR0[31:16]。 0 0xA3 b’10 10:64 ビット・アドレス。 00:32 ビット・アドレス。 0xA1 0xA2 b’0 BAR2[64]:I/O スペース。 b’0 BAR2[66:65]:メモリ・スペース(BAR0 について は、ビット設定を参照)。 b’0 BAR2[67]:プリフェッチ可能。 b’0 BAR2[95:68]:バー・サイズ・マスク。 b’0 15:4 BAR2[79:68]。 b’0 15:0 BAR2[95:80]。 b’0 BAR3[127:96]。 0 2:1 3 b’0 BAR3[96]:I/O スペース。 b’0 BAR3[98:97]:メモリ・スペース(BAR0 について は、ビット設定を参照)。 b’0 BAR3[99]:プリフェッチ可能。 b’0 BAR3[127:100]:バー・サイズ・マスク。 b’0 0xA7 15:4 BAR3[111:100]。 b’0 0xA8 15:0 BAR3[127:112]。 b’0 BAR4[159:128]。 b’0 0 0xA9 2:1 3 BAR4[128]:I/O スペース。 b’0 BAR4[130:129]:メモリ・スペース(BAR0 につい ては、ビット設定を参照)。 b’0 BAR4[131]:プリフェッチ可能。 b’0 BAR4[159:132]:バー・サイズ・マスク。 b’0 15:4 BAR4[143:132]。 PCI Express 用の IP コンパイラ・ユーザーガイド 6–2 ページの表 6–2, 6–3 ページの表 6–3 6–2 ページの表 6–2 6–2 ページの表 6–2 b’0 2011 年 5 月 Altera Corporation 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション ダイナミック・リコンフィギュレーション 13–9 表 13‒1. ハード IP の実装におけるダイナミック・リコンフィギュレーション可能なレジスタ ( その8 ) アドレス 0xAA ビット b’0 BAR5[191:160]。 b’0 BAR5[160]:I/O スペース。 b’0 2:1 3 0xAC デフォルト 値 15:0 BAR4[159:144]。 0 0xAB 説明 BAR5[162:161]:メモリ・スペース(BAR0 につい ては、ビット設定を参照)。 b’0 BAR5[163]:プリフェッチ可能。 b’0 BAR5[191:164]:バー・サイズ・マスク。 b’0 15:4 BAR5[175:164]。 b’0 15:0 BAR5[191:176]。 b’0 Expansion BAR[223:192]:バー・サイズ・マスク。 追加情報 b’0 0xAD 15:0 Expansion BAR[207:192]。 b’0 0xAE 15:0 Expansion BAR[223:208]。 b’0 IO。 1:0 0xAF 00:IO ウィンドウなし。 01:IO 16 ビット。 11:IO 32 ビット。 b’0 6–3 ページの表 6–3 プリフェッチ可能。 3:2 00:未実装。 01:プリフェッチ可能 32。 11:プリフェッチ可能 64。 b’0 15:4 予約。 — 5:0 予約。 — — 選択可能なディエンファシス。5.0GT/s レートで動 作する時に、「PCI Express Base Specification」で規定 されたように動作します。 6 1:3.5 dB 0:-6 dB. 2.5GT/s レートで動作している時に、この設定は効 果がありません。 B0 マージンを送信します。直接にトランシーバ tx_pipemargin ビットをドライブします。VOD 設定 は次のように使用できるかを判断するための適切 なデバイス・ハンドブックのトランシーバのマ ニュアルを参照してください。 9:7 Arria II デバイス・ハンドブック Volume 3 の 「Arria II Device Data Sheet and Addendum」、Cyclone IV デバイス・ハンドブック Volume 3 の 「Cyclone IV Device Datasheet」、または Stratix IV ハン ドブック Volume 3 の 「Stratix IV ダイナミック・リ コンフィギュレーション」。 0xB1-FF 2011 年 5 月 予約。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション トランシーバのオフセット・キャンセレーション 13–10 トランシーバのオフセット・キャンセレーション シリコン・プロセス・ノードの微細化が進むにつれて、回路性能は、プロセス、電 圧、および温度(PVT)に起因する変動により多くの影響を受けます。このようなプ ロセス変動によって、アナログ電圧がリクエスト範囲から外れる可能性があります。 内部 PHY を使用する Arria II GX、Arria II GZ、HardCopy IV GX、Cyclone IV GX、または Stratix IV GX で PCI Express 用の IP コンパイラを実装する場合、デザインに ALTGX_RECONFIG メガファンクションを含めることにより、この変動を補償する必要 があります。ALTGX_RECONFIG モジュールを生成するとき、Offset cancellation for receiver channels のオフセットは、デフォルトで On になっています。この機能は、 トランシーバが必要な範囲内で動作することを保証するためにすべて必要です。し かし、システムがこれを必要とする場合、このような Analog controls オプションと して他の機能をイネーブルにすることができます。図 13–1 に示すように、 reconfig_fromgxb と reconfig_togxb バス、および必要なクロックを ALTGX インスタ ンスと ALTGX_RECONFIG インスタンスの間に接続する必要があります。 オフセット・キャンセレーション回路は、次の 2 つのクロックが必要です。 ■ fixedclk_serdes — これは、125 MHz の周波数を持つ必要があるフリー・ランニ ング・クロックです。これは、refclk から生成することはできません。 ■ reconfig_clk— このクロックの正確な周波数はデバイスによって決まります。 f デバイスの周波数範囲を決定するために、次の適切なデバイス・ハンドブックを参 照してください:Arria II デバイス・ハンドブック Volume II の「トランシーバ・アー キテクチャ」、Cyclone IV デバイス・ハンドブック Volume 2 の 「トランシーバ」、ま たは Stratix IV デバイス・ハンドブック Volume 2 の「トランシーバ・アーキテク チャ」。 1 PCI Express 用の IP コンパイラのエンドポイント・ハード IP 実装の <variant>_plus は、自 動的に、オフセット・キャンセレーションに回路を含めます。手動でこの回路を追 加する必要はありません。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション トランシーバのオフセット・キャンセレーション 13–11 チェイニング DMA デザイン例は、<variation name_example_pipen1b>.<v または .vhd> ファイルのオフセット・キャセレーション回路をインスタンス化します。図 13–1 は、 ALTGX_RECONFIG インスタンスと ALTGX インスタンス間の接続を示します。この図の Verilog HDL ファイルの名前は、第 15 章:テストベンチおよびデザイン例で説明した チェイニング DMA デザイン例の名前と一致しています。 図 13‒1. ALTGX_RECONFIG の接続 ( 注 1) <variant>.v or .vhd altpcie_reconfig_4sgx.v or .vhd ALTGX_RECONFIG Megafunction busy reconfig_fromgxb[16:0] reconfig_togxb[3:0] reconfig_clk Reconfig Clock Source reconfig_clk <variant>_serdes.v or .vhd (ALTGX or ALT2GX Megafunction ) busy reconfig_fromgxb[16:0] reconfig_togxb[3:0] reconfig_clk cal_blk_clk fixedclk tx_clk_out Reconfig Clock Source Fixed Clock Source <variant>_core.v or .vhd (IP Compiler for PCI Express) pld_clk 図 13‒1 の注: (1) reconfig_togxb および reconfig_fromgxb バスのサイズは、レーン数によって異なります。詳細は、5–60 ページの「トラン シーバ・コントロール信号」を参照してください。 f ALTGX_RECONFIG メガファンクションについて詳しくは、「AN 558:Arria II GX デバイ スにおけるダイナミック・リコンフィギュレーションの実装」を参照してください。 ALTGX メガファンクションについて詳しくは、「Arria II GX デバイス・ハンドブック」 の Volume 2、または 「Stratix IV デバイス・ハンドブック」の Volume 2 を参照してく ださい。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 13–12 PCI Express 用の IP コンパイラ・ユーザーガイド 第 13 章: リコンフィギュレーションおよびオフセット・キャンセレーション トランシーバのオフセット・キャンセレーション 2011 年 5 月 Altera Corporation 14. 外部 PHY 5? 2011? <edit Part Number variable in chapter> 外部 PHY のサポート この章では、表 14–1 に示すように、外部 PHY とのインタフェース・モードを含む外 部 PHY のサポートについて説明します。外部 PHY は、ハード IP の実装には適用され ません。 表 14‒1. 外部 PHY のインタフェース・モード PHY のインタフェース・モード クロック周波数 説明 125 MHz この汎用 16 ビット PIPE インタフェースでは、TX と RX の両方のデータは、PHY から pclk である refclk 入力によってクロックされます。 125 MHz 汎用 PIPE インタフェースへのこの拡張機能は、同 期して外部 PHY への TXData ソースをクロックする ために TXClk を追加します。TIXIO1100 PHY はこの モードを使用します。 125 MHz このダブル・データ・レートのバージョンは、ク ロック周波数を増加させずに、I/O ピンを節約でき ます。それは両方向でデータをクロックするため に、単一の refclk 入力(PHY からの pclk である) を使用します。 125 MHz このダブル・データ・レートのバージョンは、ク ロック周波数を増加させずに、I/O ピンを節約でき ます。TXClk は、送信方向に同期してデータ・ソー スをクロックします。 125 MHz DDR I/O レジスタよりも SDR I/O レジスタを使用し てラッチされた rxelecidle、rxstatus、 phystatus、および rxvalid のコントロール信号を 除いて、これは 8 ビット DDR モードと同じモード です。TIXIO1100 PHY はこのモードを使用します。 8 ビットの SDR 250 MHz これは汎用 8 ビット PIPE インタフェースです。TX と RX の両方のデータは、PHY から pclk である refclk 入力によってクロックされます。 NXP PX1011A PHY はこのモードを使用します。 8 ビットの SDR モード(ソース・シ ンクロナス送信クロックあり) 250 MHz 汎用 PIPE インタフェースへのこの拡張機能は、同 期して外部 PHY への TXData ソースをクロックする ために TXClk を追加します。 16 ビット SDR 16 ビット SDR モード(ソース・シ ンクロナス送信クロックあり) 8 ビット DDR 8 ビット DDR モード(8 ビットの ソース・シンクロナス送信クロック あり) 8 ビットの DDR/SDR モード(8 ビッ トのソース・シンクロナス送信ク ロックあり) 外部 PHY を選択すると、外部 PHY に直接接続するために必要な追加のロジックが <variation name> のモジュールまたはエンティティに含まれています。 ユーザー・ロジックは、デザインのこのモジュールまたはエンティティをインスタ ンス化する必要があります。各モードの実装の詳細は、次の項で説明されています。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 14 章: 外部 PHY 外部 PHY のサポート 14–2 16 ビット SDR モード この 16 ビット SDR モード PHY サポートの実装では、図 14–1 に示され、 <variation name>.v または <variation name>.vhd ファイルに含まれて、そして PLL を含 みます。PLL の inclock は、refclk によってドライブされ、以下の出力を持っていま す。 1 refclk は、外部 PHY によって提供されたパラレル・クロックの pclk と同じです。こ のドキュメントでは、「refclk 」と「pclk」という用語を同義で使用します。 ■ clk125_out は 125 MHz の出力であり、refclk と同じフェーズ・オフセットがあり ます。図 14–1 に示すように、clk125_out はユーザー・ロジックで clk125_in 入 力をドライブする必要があります。clk125_in は、送受信データをキャプチャす るために使用され、IP コアの clk125_in 入力をドライブするために使用されま す。 ■ clk125_early は、フェーズ・シフトである 125 MHz の出力です。このフェーズ・ シフト出力は、送信データの出力レジスタをクロックします。ボード遅延に基づ いて、この出力のフェーズ・シフトを調整する必要があります。フェーズ・シフ トを変更するには、<path>/ip/ip_compiler_for_pci_express/lib ディレクトリから参 照される PLL ソース・ファイルをプロジェクト・ディレクトリにコピーします。 ここで、<path> は PCI Express 用の IP コンパイラをインストールしたディレクト リです。次に、Quartus II ソフトウェアの MegaWizard Plug In Manager を使用して PLL ソース・ファイルを編集し、必要なフェーズ・シフトを設定します。そし て、Quartus II プロジェクトに変更された PLL ソース・ファイルを追加します。 ■ tlp_clk62p5 は、PCI Express 用の IP コンパイラの内部クロック周波数が 62.5 MHz の 場合、IP コアの tlp_clk 入力をドライブする 62.5 MHz の出力です。 図 14‒1. 送信クロックなしの 125 MHz の 16 ビットの SDR モード IP Compiler for PCI Express rxdata clk125_in A Q1 A Q1 D Q4 D Q4 ENB txdata Q1 A Q4 D ENB ENB clk125_in clk125_out refclk (pclk) Mode 1 PLL clk125_early tlp_clk_62p5 tlp_clk refclk clk125_out External connection in user logic PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 14 章: 外部 PHY 外部 PHY のサポート 14–3 ソース・シンクロナス TXClk による 16 ビット SDR モード ソース・シンクロナス TXClk による 16 ビット SDR モードの実装は図 14–2 に示さ れ、<variation name>.v または <variation name>.vhd ファイルに含まれています。この モードでは、次のクロッキング方式が使用されます。 ■ refclk は、コアの clk125_in として使用されます。 ■ refclk は、着信の受信データに対する単一のデータ・レート・レジスタにクロッ クを供給します。 ■ refclk は、直接に送信データ・レジスタ(txdata)をクロックします。 ■ また、refclk は中央揃え TXClk を作成するために使用される DDR レジスタにク ロックを供給します。 これは、PLL を必要としない唯一の外部 PHY モードです。しかし、低速 tlp_clk 機 能はこの PIPE インタフェース・モードで使用されている場合、PLL が低速 tlp_clk を作成するために必要です。低速 tlp_clk のケースでは、回路は図 14–1 に示される 16 ビット SDR と同じですが、TXClk 出力が追加されます。 図 14‒2. 125 MHz のソース・シンクロナス送信クロックによる 16 ビット SDR モード rxdata clk125_in A Q1 D Q4 IP Compiler for PCI Express ENB txdata Q1 A Q4 D ENB clk125_in DDIO txclk (~refclk) Q 1 A Q4 D tlp_clk refclk (pclk) ENB refclk clk125_out clk125_out External connection in user logic 8 ビット DDR モード 図 14–3 に示す 8 ビット DDR モードの実装は、<variation name>.v または <variation name>.vhd ファイルに含まれ、PLL を備えています。PLL の inclock は refclk (外部 PHY からの pclk )によってドライブされ、次の出力を持っています。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 14 章: 外部 PHY 外部 PHY のサポート 14–4 ■ 125 MHz refclk のゼロ遅延コピーです。ゼロ遅延 PLL 出力は、コアの clk125_in と して使用され、受信データを着信するためにダブル・データ・レート・レジスタ にクロックを供給します。 ■ 250 MHz の早期出力です。これは 125 MHz の refclk から乗算され、refclk の関係で 早期です。8 ビット SDR の送信データ出力レジスタにクロックを供給するために 250 MHz の早期クロック PLL 出力を使用します。Cyclone II I/O ブロックの SDR 出 力レジスタが使用できるため、250 MHz の単一のデータ・レート・レジスタは、 125 MHz の DDR 出力に使用されます。早期クロックは、PHY のコモン refclk の アウト・タイムに必要なクロックを満たすために必要です。特定の PHY および ボード遅延に対するフェーズ・シフトを調整する必要があります。フェーズ・シ フトを変更するには、<path>/ip/ip_compiler_for_pci_express/lib ディレクトリから 参照される PLL ソース・ファイルをプロジェクト・ディレクトリにコピーしま す。ここで、<path> は、PCI Express 用の IP コンパイラをインストールしたディレ クトリです。次に、Quartus II ソフトウェアの MegaWizard Plug In Manager を使用し て PLL ソース・ファイルを編集し、必要なフェーズ・シフトを設定します。そし て、Quartus II プロジェクトに変更された PLL ソース・ファイルを追加します。 ■ オプションの 62.5 MHz TLP 低速クロックは ×1 の実装で提供されます。 エッジ検出回路は、8 ビットの出力レジスタに 16 ビットのデータを正しくシーケン スするために、125 MHz のクロックと 250 MHz の立ち上がりエッジ間の関係を検出し ます。 図 14‒3. 送信クロックなしの 8 ビットの DDR モード DDIO rxdata A Q1 D Q4 IP Compiler for PCI Express out txclk clk125_in ENB Edge Detect & Sync clk125_in clk125_out refclk (pclk) clk250_early Mode 3 PLL tlp_clk txdata External connection in user logic tlp_clk txdata_h Q1 A Q1 A Q4 D Q4 D ENB txdata_l ENB refclk PCI Express 用の IP コンパイラ・ユーザーガイド clk125_out 2011 年 5 月 Altera Corporation 第 14 章: 外部 PHY 外部 PHY のサポート 14–5 ソース・シンクロナス TXClk による 8 ビット DDR 図 14–4 に、ソース・シンクロナス送信クロック(TXClk)付きの 8 ビット DDR モー ドの実装を示します。これは、<variation name>.v または <variation name>.vhd ファイ ルに含まれ、PLL を備えています。refclk (外部 PHY からの pclk )は PLL inclock を ドライブします。PLL inclock では、次の出力があります。 ■ 125 MHz refclk のゼロ遅延コピーです。これは、IP コアの clk125_in として使用 され、RX データとステータス信号の DDR 入力レジスタにクロックを供給します。 ■ 250 MHz の早期出力です。この PLL 出力は、8 ビット SDR の送信データ出力レジス タにクロックを供給します。これは 125 MHz の refclk から乗算され、refclk の 関係で早期です。125 MHz の DDR 出力の 250 MHz の単一のデータ・レート・レジ スタは、Cyclone II I/O ブロックで SDR 出力レジスタを使用することができます。 ■ オプションの 62.5 MHz TLP 低速クロックは ×1 の実装で提供されます。 エッジ検出回路は、8 ビットの出力レジスタに 16 ビットのデータを正しくシーケン スするために、125 MHz のクロックと 250 MHz の立ち上がりエッジ間の関係を検出し ます。 図 14‒4. ソース・シンクロナス送信クロックによる 8 ビット DDR モード DDIO rxdata A Q1 D Q4 IP Compiler for PCI Express clk125_in ENB Edge Detect & Sync clk125_in clk125_out refclk (pclk) clk250_early Mode 3 PLL tlp_clk txdata External connection in user logic tlp_clk txdata_h Q1 A Q1 A Q4 D Q4 D ENB txdata_l ENB refclk txclk Q1 A Q4 D clk125_out ENB 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 14 章: 外部 PHY 外部 PHY のサポート 14–6 8 ビット SDR モード 図 14–5 に、8 ビット SDR モードの実装を示します。これは、<variation name>.v また は <variation name>.vhd ファイルに含まれており、PLL を備えています。refclk (外 部 PHY からの pclk )は PLL inclock をドライブします。PLL inclock では、次の出力が あります。 ■ 250 MHz の refclk から派生した 125 MHz の出力は、コアの clk125_in として使用さ れます。また、ロジックの残りでは、16 ビット・レジスタへの着信 8 ビットの データの遷移にも使用されます。 ■ 8 ビット SDR の送信データ出力レジスタにクロックを供給するために使用される refclk への関係で偏っている 250 MHz の早期出力です。早期クロック PLL 出力は送 信データ出力レジスタにクロックを供給します。早期クロックは、共通のクロッ クに指定されたの clock-to-out タイムを満たすために必要です。特定の PHY およ びボード遅延に対するフェーズ・シフトを調整する必要があります。フェーズ・ シフトを変更するには、<path>/ip/ip_compiler_for_pci_express/lib ディレクトリか ら参照される PLL ソース・ファイルをプロジェクト・ディレクトリにコピーしま す。ここで、<path> は、PCI Express 用の IP コンパイラをインストールしたディレ クトリです。次に、Quartus II ソフトウェアの MegaWizard Plug In Manager を使用し て PLL ソース・ファイルを編集し、必要なフェーズ・シフトを設定します。そし て、Quartus II プロジェクトに変更された PLL ソース・ファイルを追加します。 ■ オプションの 62.5 MHz TLP 低速クロックは ×1 の実装で提供されます。 エッジ検出回路は、8 ビットの出力レジスタに 16 ビットのデータを正しくシーケン スするために、125 MHz のクロックと 250 MHz の立ち上がりエッジ間の関係を検出し ます。 図 14‒5. 250 MHz の 8 ビット SDR モード rxdata refclk (pclk) 250 MHz A Q1 A Q1 A Q1 D Q4 D Q4 D Q4 ENB ENB Edge Detect & Sync IP Compiler for PCI Express rxdata_h ENB A Q1 A Q1 D Q4 D Q4 ENB rxdata_l ENB clk125_in clk125_in clk250_early Mode 4 PLL tlp_clk clk125_out txdata Q1 A Q1 A Q4 D Q4 D ENB External connection in user logic PCI Express 用の IP コンパイラ・ユーザーガイド txdata_h txdata_l ENB refclk 2011 年 5 月 Altera Corporation 第 14 章: 外部 PHY 外部 PHY のサポート 14–7 ソース・シンクロナス TXClk による 8 ビット SDR 図 14–6 に、ソース・シンクロナス TXClk による 8 ビット SDR モードの実装を示し ます。これは、<variation name>.v または <variation name>.vhd ファイルに含まれてお り、PLL を備えています。refclk (外部 PHY からの pclk )は PLL inclock をドライブ します。PLL inclock では、次の出力があります。 ■ 250 MHz の refclk から派生した 125 MHz の出力です。この 125 MHz の PLL 出力は、IP コアの clk125_in として使用されます。 ■ refclk への関係で偏っている 250 MHz の早期出力です。250 MHz の早期クロック PLL 出力は 8 ビット SDR の送信データ出力レジスタにクロックを供給します。 ■ オプションの 62.5 MHz TLP 低速クロックは ×1 の実装で提供されます。 エッジ検出回路は、8 ビットの出力レジスタに 16 ビットのデータを正しくシーケン スするために、125 MHz のクロックと 250 MHz の立ち上がりエッジ間の関係を検出し ます。 図 14‒6. 250 MHz のソース・シンクロナス送信クロックによる 8 ビット SDR モード rxdata refclk (pclk) 250 MHz A Q1 A Q1 A Q1 D Q4 D Q4 D Q4 ENB ENB Edge Detect & Sync IP Compiler for PCI Express rxdata_h ENB A Q1 A Q1 D Q4 D Q4 ENB rxdata_l ENB clk125_in clk125_zero clk250_early Mode 4 PLL tlp_clk clk125_out txdata External connection in user logic txdata_h Q1 A Q1 A Q4 D Q4 D ENB txdata_l ENB refclk txclk (~refclk) Q1 A Q4 D clk250_early ENB 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 14 章: 外部 PHY 外部 PHY のサポート 14–8 16 ビット PHY インタフェース信号 表 14–2 に、16 ビット PIPE インタフェース・モードでの外部 I/O 信号を示します。選 択されたレーン数および PHY モードが TXClk を持っているかどうかに応じて、信号 の一部が利用できない場合があります。 表 14‒2. 16 ビットの PHY インタフェース信号 ( その1 ) 信号名 入力 / 出力 説明 可用性 pcie_rstn I PCI Express 用の IP コンパイラのリセット信号。アクティブ Low。 常時 phystatus_ext I PIPE インタフェース phystatus 信号。リクエストされた動作の完了 を通知します。 常時 powerdown_ext[1: 0] O PIPE インタフェース・パワーダウン信号。PHY は指定されたパ ワー・ステートを入力することをリクエストするために使用されま 常時 す。 refclk I PHY から PIPE インタフェース pclk 信号に接続された入力クロッ ク。すべてのステータスとデータ信号にクロックを供給する 125 MHz のクロック。 常時 pipe_txclk O PHY への TX データおよびコントロール信号をクロッキングするた めのソース・シンクロナス送信クロック信号。 TXClk を 持ってい るモード でのみ rxdata0_ext[15:0 ] I Pipe インタフェース・レーン 0 RX データ信号。パラレル受信デー タを運びます。 常時 rxdatak0_ext[1:0 ] I Pipe インタフェース・レーン 0 RX データの K キャラクタ・フラグ。 常時 rxelecidle0_ext I Pipe インタフェース・レーン 0 RX の電気的アイドル表示。 常時 rxpolarity0_ext O Pipe インタフェース・レーン 0 RX の極性反転制御。 常時 rxstatus0_ext[1: 0] I Pipe インタフェース・レーン 0 RX のステータス・フラグ。 常時 rxvalid0_ext I Pipe インタフェース・レーン 0 RX の有効な表示。 常時 txcompl0_ext O Pipe インタフェース・レーン 0 TX の準拠制御。 常時 txdata0_ext[15:0 ] O Pipe インタフェース・レーン 0 TX データ信号。パラレル送信データ 常時 を運びます。 txdatak0_ext[1:0 ] O Pipe インタフェース・レーン 0 TX データの K キャラクタ・フラグ。 常時 txelecidle0_ext O Pipe インタフェース・レーン 0 TX の電気的アイドル・コントロー ル。 常時 rxdata1_ext[15:0 ] I Pipe インタフェース・レーン 1 RX データ信号。パラレル受信デー タを運びます。 ×4 のみ rxdatak1_ext[1:0 ] I Pipe インタフェース・レーン 1 RX データの K キャラクタ・フラグ。 ×4 のみ rxelecidle1_ext I Pipe インタフェース・レーン 1 RX の電気的アイドル表示。 ×4 のみ rxpolarity1_ext O Pipe インタフェース・レーン 1 RX の極性反転制御。 ×4 のみ rxstatus1_ext[1: 0] I Pipe インタフェース・レーン 1 RX のステータス・フラグ。 ×4 のみ rxvalid1_ext I Pipe インタフェース・レーン 1 RX の有効な表示。 ×4 のみ PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 14 章: 外部 PHY 外部 PHY のサポート 14–9 表 14‒2. 16 ビットの PHY インタフェース信号 ( その2 ) 信号名 入力 / 出力 説明 可用性 txcompl1_ext O Pipe インタフェース・レーン 1 TX の準拠制御。 txdata1_ext[15:0 ] O Pipe インタフェース・レーン 1 TX データ信号。パラレル送信データ ×4 のみ を運びます。 txdatak1_ext[1:0 ] O Pipe インタフェース・レーン 1 TX データの K キャラクタ・フラグ。 ×4 のみ txelecidle1_ext O Pipe インタフェース・レーン 1 TX の電気的アイドル・コントロー ル。 ×4 のみ rxdata2_ext[15:0 ] I Pipe インタフェース・レーン 2 RX データ信号。パラレル受信デー タを運びます。 ×4 のみ rxdatak2_ext[1:0 ] I Pipe インタフェース・レーン 2 RX データの K キャラクタ・フラグ。 ×4 のみ rxelecidle2_ext I Pipe インタフェース・レーン 2 RX の電気的アイドル表示。 ×4 のみ rxpolarity2_ext O Pipe インタフェース・レーン 2 RX の極性反転制御。 ×4 のみ rxstatus2_ext[1: 0] I Pipe インタフェース・レーン 2 RX のステータス・フラグ。 ×4 のみ rxvalid2_ext I Pipe インタフェース・レーン 2 RX の有効な表示。 ×4 のみ txcompl2_ext O Pipe インタフェース・レーン 2 RX の準拠制御。 ×4 のみ txdata2_ext[15:0 ] O Pipe インタフェース・レーン 2 TX データ信号。パラレル送信データ ×4 のみ を運びます。 txdatak2_ext[1:0 ] O Pipe インタフェース・レーン 2 TX データの K キャラクタ・フラグ。 ×4 のみ txelecidle2_ext O Pipe インタフェース・レーン 2 TX の電気的アイドル・コントロー ル。 ×4 のみ rxdata3_ext[15:0 ] I Pipe インタフェース・レーン 3 RX データ信号。パラレル受信デー タを運びます。 ×4 のみ rxdatak3_ext[1:0 ] I Pipe インタフェース・レーン 3 RX データの K キャラクタ・フラグ。 ×4 のみ rxelecidle3_ext I Pipe インタフェース・レーン 3 RX の電気的アイドル表示。 ×4 のみ rxpolarity3_ext O Pipe インタフェース・レーン 3 RX の極性反転制御。 ×4 のみ rxstatus3_ext[1: 0] I Pipe インタフェース・レーン 3 RX のステータス・フラグ。 ×4 のみ rxvalid3_ext I Pipe インタフェース・レーン 3 RX の有効な表示。 ×4 のみ txcompl3_ext O Pipe インタフェース・レーン 3 RX の準拠制御。 ×4 のみ txdata3_ext[15:0 ] O Pipe インタフェース・レーン 2 TX データ信号。パラレル送信データ ×4 のみ を運びます。 txdatak3_ext[1:0 ] O Pipe インタフェース・レーン 3 TX データの K キャラクタ・フラグ。 ×4 のみ txelecidle3_ext O Pipe インタフェース・レーン 3 TX の電気的アイドル・コントロー ル。 2011 年 5 月 Altera Corporation ×4 のみ ×4 のみ PCI Express 用の IP コンパイラ・ユーザーガイド 第 14 章: 外部 PHY 外部 PHY のサポート 14–10 8 ビット PHY インタフェース信号 表 14–3 に、8 ビット PIPE インタフェース・モードでの外部 I/O 信号を示します。選 択されたレーン数および PHY モードが TXClk を持っているかどうかに応じて、信号 の一部が利用できない場合があります。 表 14‒3. 8 ビット PHY インタフェース信号 ( その1 ) 信号名 入力 / 出力 説明 可用性 pcie_rstn I PCI Express 用の IP コンパイラのリセット信号。アクティブ Low。 phystatus_ext I PIPE インタフェース phystatus 信号。リクエストされた動作の完了を 常時 通知します。 powerdown_ext[1: 0] O PIPE インタフェース・パワーダウン信号。PHY は指定されたパ ワー・ステートを入力することをリクエストするために使用されま す。 常時 I PHY から PIPE インタフェース pclk 信号に接続された入力クロッ ク。すべてのステータスとデータ信号にクロックを供給します。こ れが SDR または DDR インタフェースであるかどうかに応じてこの クロックは 250 MHz または 125 MHz のいずれかになります。 常時 pipe_txclk O PHY への TX データおよびコントロール信号をクロッキングするた めのソース・シンクロナス送信クロック信号。 TXClk を 持ってい るモード のみ rxdata0_ext[7:0] I Pipe インタフェース・レーン 0 RX データ信号。パラレル受信データ を運びます。 常時 rxdatak0_ext I Pipe インタフェース・レーン 0 RX データの K キャラクタ・フラグ。 常時 rxelecidle0_ext I Pipe インタフェース・レーン 0 RX の電気的アイドル表示。 常時 rxpolarity0_ext O Pipe インタフェース・レーン 0 RX の極性反転制御。 常時 rxstatus0_ext[1: 0] I Pipe インタフェース・レーン 0 RX のステータス・フラグ。 常時 rxvalid0_ext I Pipe インタフェース・レーン 0 RX の有効な表示。 常時 txcompl0_ext O Pipe インタフェース・レーン 0 TX の準拠制御。 常時 txdata0_ext[7:0] O Pipe インタフェース・レーン 0 TX データ信号。パラレル送信データ を運びます。 常時 txdatak0_ext O Pipe インタフェース・レーン 0 TX データの K キャラクタ・フラグ。 常時 txelecidle0_ext O Pipe インタフェース・レーン 0 TX の電気的アイドル・コントロー ル。 常時 rxdata1_ext[7:0] I Pipe インタフェース・レーン 1 RX データ信号。パラレル受信データ を運びます。 ×4 のみ rxdatak1_ext I Pipe インタフェース・レーン 1 RX データの K キャラクタ・フラグ。 ×4 のみ rxelecidle1_ext I Pipe インタフェース・レーン 1 RX の電気的アイドル表示。 ×4 のみ rxpolarity1_ext O Pipe インタフェース・レーン 1 RX の極性反転制御。 ×4 のみ rxstatus1_ext[1: 0] I Pipe インタフェース・レーン 1 RX のステータス・フラグ。 ×4 のみ rxvalid1_ext I Pipe インタフェース・レーン 1 RX の有効な表示。 ×4 のみ txcompl1_ext O Pipe インタフェース・レーン 1 TX の準拠制御。 ×4 のみ refclk PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 常時 Altera Corporation 第 14 章: 外部 PHY 外部 PHY の選択 14–11 表 14‒3. 8 ビット PHY インタフェース信号 ( その2 ) 信号名 入力 / 出力 説明 txdata1_ext[7:0] O Pipe インタフェース・レーン 1 TX データ信号。パラレル送信データ を運びます。 txdatak1_ext O Pipe インタフェース・レーン 1 TX データの K キャラクタ・フラグ。 ×4 のみ txelecidle1_ext O Pipe インタフェース・レーン 1 TX の電気的アイドル・コントロー ル。 ×4 のみ rxdata2_ext[7:0] I Pipe インタフェース・レーン 2 RX データ信号。パラレル受信データ を運びます。 ×4 のみ rxdatak2_ext I Pipe インタフェース・レーン 2 RX データの K キャラクタ・フラグ。 ×4 のみ rxelecidle2_ext I Pipe インタフェース・レーン 2 RX の電気的アイドル表示。 ×4 のみ rxpolarity2_ext O Pipe インタフェース・レーン 2 RX の極性反転制御。 ×4 のみ rxstatus2_ext[1: 0] I Pipe インタフェース・レーン 2 RX のステータス・フラグ。 ×4 のみ rxvalid2_ext I Pipe インタフェース・レーン 2 RX の有効な表示。 ×4 のみ txcompl2_ext O Pipe インタフェース・レーン 2 RX の準拠制御。 ×4 のみ txdata2_ext[7:0] O Pipe インタフェース・レーン 2 TX データ信号。パラレル送信データ を運びます。 ×4 のみ txdatak2_ext O Pipe インタフェース・レーン 2 TX データの K キャラクタ・フラグ。 ×4 のみ txelecidle2_ext O Pipe インタフェース・レーン 2 TX の電気的アイドル・コントロー ル。 ×4 のみ rxdata3_ext[7:0] I Pipe インタフェース・レーン 3 RX データ信号。パラレル受信データ を運びます。 ×4 のみ rxdatak3_ext I Pipe インタフェース・レーン 3 RX データの K キャラクタ・フラグ。 ×4 のみ rxelecidle3_ext I Pipe インタフェース・レーン 3 RX の電気的アイドル表示。 ×4 のみ rxpolarity3_ext O Pipe インタフェース・レーン 3 RX の極性反転制御。 ×4 のみ rxstatus3_ext[1: 0] I Pipe インタフェース・レーン 3 RX のステータス・フラグ。 ×4 のみ rxvalid3_ext I Pipe インタフェース・レーン 3 RX の有効な表示。 ×4 のみ txcompl3_ext O Pipe インタフェース・レーン 3 RX の準拠制御。 ×4 のみ txdata3_ext[7:0] O Pipe インタフェース・レーン 2 TX データ信号。パラレル送信データ を運びます。 ×4 のみ txdatak3_ext O Pipe インタフェース・レーン 3 TX データの K キャラクタ・フラグ。 ×4 のみ txelecidle3_ext O Pipe インタフェース・レーン 3 TX の電気的アイドル・コントロー ル。 可用性 ×4 のみ ×4 のみ 外部 PHY の選択 MegaWizard Plug-In Manager フローまたは SOPC Builder フローでは外部 PHY を選択し 適切なオプションプを設定することができますが、使用可能なオプションは、異な る場合があります。次の説明では、MegaWizard Plug-In Manager フローを使用します。 MegaWizard インタフェースの System Settings ページで、次の PHY オプションのいず れかを選択することができます。 ■ 2011 年 5 月 特定の PHY を選択します。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 14 章: 外部 PHY 外部 PHY 制約のサポート 14–12 ■ PHY type リストの Custom の選択によって PHY のインタフェース・タイプを選択し ます。いくつかの PHY は複数のインタフェース・モードがあります。 表 14–4 に、PHY のサポート・マトリックスを示します。すべてのサポートされてい る PHY タイプとインタフェースについては、次の表に許容されるレーン幅を示しま す。 表 14‒4. 外部 PHY のサポート・マトリックス PHY タイプ 許容されるインタフェースとレーン 16 ビット 16 ビット 8 ビット 8 ビット SDR SDR DDR DDR (pclk のみ ) (w/TXClk) (pclk のみ ) (w/TXClk) 8 ビット DDR/SDR (w/TXClk) 8 ビット 8 ビット SDR SDR (pclk のみ ) (w/TXClk) シリアル・ インタ フェース Arria GX - - - - - - - ×1, ×4 Stratix II GX - - - - - - - ×1, ×4, ×8 Stratix IV GX - - - - - - - ×1, ×4, ×8 TI XIO1100 - ×1 - - ×1 - - - NXP PX1011A - - - - - - ×1 - ×1, ×4 ×1, ×4 ×1, ×4 ×1, ×4 - ×1, ×4 ×1, ×4 - Custom TI XIO1100 デバイスは、デザインによってドライブされる必要があるいくつかの追加 の制御信号があります。追加の柔軟性はデザインで必要とされる場合、そしてアル テラのデバイスからこれらの信号をドライブする場合を除き、これらの信号はボー ド・デザインで静的に High または Low にすることができます。これらの信号は、次 のリストに示されています。 ■ P1_SLEEP が Low にする必要があります。PCI Express 用の IP コンパイラは、refclk (XIO1100 から RX_CLK)が P1 のパワーダウン状態でアクティブのままにする必要 があります。 ■ PCI Express 用の IP コンパイラのバリエーションは 8 ビットの DDR(w/TXClk)モー ドを使用する場合、DDR_EN が High にする必要があります。16 ビットの SDR (w/TXClk)モードが使用される場合は、それが Low にする必要があります。 ■ CLK_SEL は、XIO1100 に提供される基準クロックに基づいて正しく設定する必要が あります。具体的な推奨事項について詳しくは、XIO1100 のデータ・シートを参 照してください。 外部 PHY 制約のサポート PCI Express 用の IP コンパイラは、さまざまな場所やタイミング制約をサポートして います。IP コアをパラメータ化し生成するときに、Quartus II ソフトウェアはデザイ ンのコンパイル時に実行される Tcl ファイルを作成します。Tcl ファイルには、パラ メータ化の間にパラメータ化および生成するときに指定した次の制約が組み込まれ ています。 ■ refclk (PHY からの pclk )の周波数制約(125 MHz または 250 MHz) ■ 入力信号のセットアップおよびホールド制約 ■ 出力信号の clock-to-out 制約 ■ I/O インタフェース規格 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 14 章: 外部 PHY 外部 PHY 制約のサポート 14–13 また、アルテラは同じ制約を持つ SDC ファイルを提供します。TimeQuest タイミン グ・アナライザは SDC ファイルを使用します。 1 外部 PHY およびボード・デザインの特定の制約を考慮するためにタイミング制約を変 更する必要になる場合があります。 1 Cyclone III ファミリの外部 PHY のタイミングを満たすためには、兼用 VREF ピンの使用を 避ける必要があります。 Cyclone II デバイスをターゲットにしないデザインで外部 PHY を使用している場合、 正しく機能するためにいくつかの外部 PHY で必要とされる PLL インスタンスを変更 する必要があります。 PLL インスタンスを変更するには、次の手順に従います。 1. フェーズ・シフトを変更するには、<path>/ip/ip_compiler_for_pci_express/lib ディ レクトリからバリエーション・ファイルの参照される PLL ソース・ファイルをプ ロジェクト・ディレクトリにコピーします。ここで、<path> は PCI Express 用の IP コンパイラをインストールしたディレクトリです。 2. MegaWizard Plug-In Manager を使用して PLL を編集し、PLL が使用するデバイスを 指定します。 3. Quartus II プロジェクトに変更された PLL ソース・ファイルを追加します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 14–14 PCI Express 用の IP コンパイラ・ユーザーガイド 第 14 章: 外部 PHY 外部 PHY 制約のサポート 2011 年 5 月 Altera Corporation 15. テストベンチおよびデザイン例 5? 2011? <edit Part Number variable in chapter> この章では、ルート・ポートやテストベンチ、BFM、およびテスト・ドライバ・モ ジュールを含むエンドポイントのデザイン例を紹介します。第 2 章:使用法で説明 したように MegaWizard Plug-In Manager フローを使用した PCI Express 用の IP コンパイ ラのバリエーションを作成するときに、PCI Express 用の IP コンパイラは、バリエー ションにカスタマイズされたデザイン例およびテストベンチを生成します。SOPC Builder または Qsys デザイン・フローを使用するときに、このデザイン例は生成され ません。 エンドポイントのバリエーションとして設定された場合、テストベンチは、デザイ ン例とルート・ポート BFM をインスタンス化し、以下の機能を提供します。 ■ エンドポイントですべての基本的なコンフィギュレーション・レジスタを設定す るコンフィギュレーション・ルーチンです。このコンフィギュレーションでは、 エンドポイントのアプリケーションは、PCI Express トランザクションのターゲッ トとイニシエータにすることができます。 ■ エンドポイントに PCI Express トランザクションを開始するための VHDL/Verilog HDL のプロシージャ・インタフェースです。 デザイン例のチェイニング DMA を行使するために、テストベンチは、 altpcietb_bfm_driver_chaining のテスト・ドライバ・モジュールを使用します。パラ メータ・エディタを使用して指定されたパラメータに関連付けることができるよう に、テスト・ドライバ・モジュールは、エンドポイントのコンフィギュレーション・ スペース・レジスタからの情報を表示します。 ルート・ポートとしてコンフィギュレーションされる場合は、テストベンチは、 ルートポートのデザイン例とエンドポイント・モデルをインスタンス化し、以下の 機能を提供します。 ■ ルート・ポートおよびエンドポイント BFM ですべての基本的なコンフィギュレー ション・レジスタを設定するコンフィギュレーション・ルーチンです。このコン フィギュレーションでは、エンドポイントのアプリケーションは、PCI Express ト ランザクションのターゲットとイニシエータにすることができます。 ■ エンドポイントBFMにPCI Expressのトランザクションを開始するためのVerilog HDL プロシージャ・インタフェースです。 エンドポイントの BFM のターゲット・メモリと DMA チャネルを行使するために、テ ストベンチは、altpcietb_bfm_driver_rp のテスト・ドライバ・モジュールを使用しま す。パラメータ・エディタを使用して指定されたパラメータに関連付けることができ るように、テスト・ドライバ・モジュールは、ルート・ポートのコンフィギュレー ション・スペース・レジスタからの情報を表示します。エンドポイントのモデルは、 上述したチェイニング DMA のアプリケーションと組み合わせて、エンドポイントの バリエーションで構成されます。 PCI Express のリンク監視およびエラー・インジェクション機能は、IP コアの test_in と test_out 信号によって提供されたものに限定されています。以下の項で は、テストベンチ、デザイン例、ルート・ポートおよびエンドポイント BFM を詳細 に説明します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 15–2 1 アルテラのテストベンチおよびルート・ポートまたはエンドポイント BFM は、バリ エーションへのインタフェースするアプリケーション・レイヤ・ロジックの基本的 なテストを行うために単純な方法を提供します。しかし、テストベンチおよびルー ト・ポート BFM は、完全な検証環境に代わるものではありません。徹底的にアプリ ケーションをテストするために、アルテラでは、市販の PCI Express の検証 IP やツー ルを入手するか、独自の広範なハードウェアのテスト、またはその両方を行うこと を推奨します。 アプリケーション層のデザインは、アルテラのテストベンチとルート・ポート BFM を作成することはありません、少なくとも以下のシナリオを処理する必要になる場 合があります。 ■ これは、ベンダ定義のメッセージを生成または受信することができません。一部 のシステムでは、ベンダ定義のメッセージを生成し、アプリケーション層は、そ れらを処理するようにデザインされる必要があります。IP コアは、アプリケー ション層にこれらのメッセージを渡しますが(ほとんどの場合、それらを無視す べきである) 、ディスクリプタまたはデータ・インタフェースを使用するすべて のケースで、RX バッファからメッセージをクリアするために rx_ack を発行する 必要があります。 ■ それは、パラメータ・エディタを使用して、Buffer Setup ページで指定され、現在 設定されている Maximum payload size オプションの以下に設定されるリード・リ クエストを処理することができます。多くのシステムでは、後で複数のコンプ リーションに返される大規模のリード・リクエストを処理することができます。 ■ それは、常にすべてのリード・リクエストに対して単一のコンプリーションを返 します。一部のシステムではすべての 64 バイト・アドレス境界にコンプリー ションを分割します。 ■ それは常にリード・リクエストが発行されたのと同じ順序でコンプリーションを 返します。一部のシステムでは、out-of-order のコンプリーションを生成します。 ■ フラッシュがいくつかのライト・トランザクションに従うことをリクエストする ため、いくつかのシステムで生成されるゼロ長さのリード・リクエストを生成す ることができません。アプリケーション層は、ゼロ長さのリード・リクエストに コンプリーションを生成することができる必要があります。 ■ それは固定クレジットの割り当てを使用します。 提供するテストベンチは、すべての上記の行動をテストすることはできませんにも かかわらず、IP コアと共に提供されるチェイニング DMA デザイン例では、それらを 処理します。 1 Gen1 のデータ・レートでテストベンチを実行するには、Stratix II GX デバイス・ファ ミリをインストールする必要があります。Gen2 のデータ・レートでテストベンチを 実行するには、Stratix IV GX デバイス・ファミリをインストールする必要がありま す。 更に、PCI Express のリンク監視およびエラー・インジェクション機能は、IP コアの test_in と test_out 信号によって提供されたものに限定されています。テストベン チおよびルート・ポート BFM はすべてのトランザクションを NAK しません。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 エンドポイント・テストベンチ 15–3 エンドポイント・テストベンチ テストベンチは、プロジェクト・ディレクトリ内のサブディレクトリ <variation_name>_examples/chaining_dma/testbench で提供されます。テストベンチの トップ・レベルは <variation_name>_chaining_testbench の名前が付けられます。 このテストベンチは、ルート・ポートおよびエンドポイントの PIPE インタフェー ス、またはシリアル・インタフェースのいずれかを使用して、×8 の PCI Express リン クまでシミュレートします。テストベンチ・デザインでは、複数の PCI Express リン クは、一度にシミュレートすることはできません。図 15–1 に、テストベンチの上位 レベルのビューを示します。 図 15‒1. エンドポイント・デザインのテストベンチ・トップ・レベル・モジュール Testbench Top Level (<variation name>_testbench) Endpoint Example Design <variation name>_example_ chaining_pipen1b.v PIPE Interconnection Module (x8) (altpcierd_pipe_phy) Root Port BFM (altpcietb_bfm_rp_top_x8_pipen1b) Chaining DMA Test Driver Module (altpcietb_bfm_driver_chaining) テストベンチのトップ・レベルは、4 つの主要モジュールをインスタンス化します。 ■ <variation name>_example_chaining_pipen1b— これは IP コアのバリエーションを含 むエンドポイント・デザイン例です。このモジュールについて詳しくは、15–6 ページの「チェイニング DMA デザイン例」を参照してください。 ■ altpcietb_bfm_rp_top_x8_pipen1b— これはルート・ポート PCI Express BFM です。こ のモジュールについて詳しくは、15–28 ページの「ルート・ポート BFM」を参照 してください。 ■ altpcietb_pipe_phy— このモジュールには各レーンに 1 つずつ、8 つのインスタンス があります。これらのモジュールは、ルート・ポートおよびエンドポイントの PIPE MAC 層のインタフェースを相互接続します。モジュールは、MAC の両方のイ ンタフェースに PIPE PHY 層の動作を模倣します。 ■ altpcietb_bfm_driver_chaining— このモジュールはルート・ポート BFM にトランザク ションをドライブします。これは、エンドポイントのデザイン例や独自のデザイ ンに送られるトランザクションの変化を変更するモジュールです。このモジュー ルについて詳しくは、15–24 ページの「ルート・ポートのデザイン例」を参照し てください。 更に、テストベンチでは、次のタスクを実行するルーチンがあります。 2011 年 5 月 ■ 必要な周波数でエンドポイント用の基準クロックを生成します。 ■ 起動時にリセットを提供します。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 ルート・ポート・テストベンチ 15–4 テストベンチは、テストベンチの動作全体を制御するいくつかの VHDL のジェネリッ クまたは Verilog HDL のパラメータがあります。これらのジェネリックは、表 15–1 に 記載されています。 表 15‒1. テストベンチ VHDL のジェネリック /Verilog HDL のパラメータ ジェネリック / パラメータ 使用可能 な値 0 または 1 PIPE_MODE_SIM NUM_CONNECTED_LANES 1、2、4、 8 デフォ ルト値 1 8 説明 シミュレーションで PIPE インタフェース (PIPE_MODE_SIM=1)またはシリアル・インタフェース (PIPE_MODE_SIM= 0)を選択します。通常、PIPE インタ フェースはシリアル・インタフェースより高速にシミュ レートします。バリエーション名ファイルが PIPE インタ フェースのみ実装する場合、0 に PIPE_MODE_SIM を設定 しても効果はありません。また、PIPE インタフェースは 常に使用されます。 テストベンチによって相互接続されたレーン数を制御し ます。低い数値にこのジェネリック値を設定すると、最 大値よりも狭い PCI Express インタフェース上で動作する エンドポイントをシミュレートします。 バリエーションが ×1 の IP コアのみ実装する場合、この 設定は効果がありませんし唯一のレーンが使用されます。 FAST_COUNTERS 0 または 1 1 このパラメータを 1 に設定すると、PCI Express 用の IP コ ンパイラの多くのタイミング・カウンタは PCI Express 仕 様で指定されたタイミング・カウンタよりも高速に動作 することにより、シミュレーションをスピードアップし ます。このパラメータは、常に 1 に設定する必要があり ますが、真のタイム・アウト値をシミュレートする必要 がある場合、0 に設定することができます。 ルート・ポート・テストベンチ ルート・ポート・テストベンチは、プロジェクト・ディレクトリ内のサブディレク トリ <variation_name>_examples/root_port/testbench で提供されます。テストベンチの トップ・レベルは <variation_name>_rp_testbench の名前が付けられます。図 15–2 に、 テストベンチの上位レベルのビューを示します。 図 15‒2. ルート・ポート・デザインにおけるテストベンチ・トップ・レベル・モジュール Testbench Top-Level (<variation_name>_testbench) Root Port DUT (<variation_name>_example_rp_pipen1b) PIPE Interconnection Module x8 EP Model (altpcietb_bfm_ep_example_chaining_pipen1b) (altpcierd_pipe_phy) Root Port BFM (altpcietb_bfm_driver_rp) PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 ルート・ポート・テストベンチ 15–5 このテストベンチは、ルート・ポートおよびエンドポイントの PIPE インタフェー ス、またはシリアル・インタフェースのいずれかを使用して、×8 の PCI Express リン クまでシミュレートします。テストベンチ・デザインでは、複数の PCI Express リン クは、一度にシミュレートすることはできません。テストベンチのトップ・レベル は、4 つの主要モジュールをインスタンス化します。 ■ <variation name>_example_rp_pipen1b— これは IP コアのバリエーションを含むルー ト・ポート・デザイン例です。このモジュールについて詳しくは、15–24 ページ の「ルート・ポートのデザイン例」を参照してください。 ■ altpcietb_bfm_ep_example_chaining_pipen1b— これはエンドポイント PCI Express モ デルです。15–6 ページの「チェイニング DMA デザイン例」で説明されたように、 EP BFM はチェイニング DMA デザイン例に接続された Gen2 ×8 の IP コア・エンド ポイントで構成されています。表 15–2 に、Gen2 ×8 の IP コア・エンドポイント のパラメータ化を示します。 表 15‒2. Gen2 ×8 IP コア・エンドポイントのパラメータ化 パラメータ 値 Lanes 8 Port Type Native Endpoint Max rate Gen2 BAR Type BAR1:0—64 ビットのプリフェッチ可能なメモリ、256 M バ イト –28 ビット Bar 2:—32 ビットのプリフェッチ不可能、256 K バイト –18 ビット Device ID 0xABCD Vendor ID 0x1172 Tags supported 32 MSI messages requested 4 Error Reporting Implement ECRC check, Implement ECRC generations Implement ECRC generate and forward Maximum payload size 128 バイト Number of virtual channels 1 ■ altpcietb_pipe_phy— このモジュールには各レーンに 1 つずつ、8 つのインスタンス があります。これらのモジュールは、ルート・ポートおよびエンドポイントの PIPE MAC 層のインタフェースを接続します。モジュールは、MAC の両方のインタ フェースに PIPE PHY 層の動作を模倣します。 ■ altpcietb_bfm_driver_rp— このモジュールはルート・ポート BFM にトランザクショ ンをドライブします。これは、エンドポイントのデザイン例や独自のデザインに 送られるトランザクションの変化を変更するモジュールです。このモジュールに ついて詳しくは、15–20 ページの「テスト・ドライバ・モジュール」を参照して ください。 テストベンチでは、次のタスクを実行するルーチンがあります。 2011 年 5 月 ■ 必要な周波数でエンドポイント用の基準クロックを生成します。 ■ 起動時にリセットを提供します。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–6 テストベンチは、テストベンチの動作全体を制御するいくつかの Verilog HDL のパラ メータがあります。これらのパラメータは、表 15–3 に記載されています。 表 15‒3. ルート・ポート・テストベンチにおけるテストベンチ Verilog HDL パラメータ 使用可 能な値 パラメータ 0 また は1 PIPE_MODE_SIM NUM_CONNECTED_LANES 1、2、 4、8 デフォ ルト値 説明 1 シミュレーションで PIPE インタフェース(PIPE_MODE_SIM=1)ま たはシリアル・インタフェース(PIPE_MODE_SIM= 0)を選択しま す。通常、PIPE インタフェースはシリアル・インタフェースよ り高速にシミュレートします。バリエーション名ファイルが PIPE インタフェースのみ実装する場合、0 に PIPE_MODE_SIM を 設定しても効果はありません。また、PIPE インタフェースは常 に使用されます。 8 テストベンチによって相互接続されたレーン数を制御します。低 い数値にこのジェネリック値を設定すると、最大値よりも狭い PCI Express インタフェース上で動作するエンドポイントをシミュ レートします。 バリエーションが ×1 の IP コアのみ実装する場合、この設定は効 果がありませんし、唯一のレーンが使用されます。 0 また は1 FAST_COUNTERS 1 このパラメータを 1 に設定すると、PCI Express 用の IP コンパイ ラの多くのタイミング・カウンタは PCI Express 仕様で指定され たタイミング・カウンタよりも高速に動作することにより、シ ミュレーションをスピードアップします。このパラメータは、常 に 1 に設定する必要がありますが、真のタイム・アウト値をシ ミュレートする必要がある場合、0 に設定することができます。 チェイニング DMA デザイン例 このデザイン例は、同時 DMA リードおよびライトのトランザクションをサポートす るチェイニング DMA ネイティブ・エンドポイントを作成するために MegaWizard Plug-In Manager フローを使用する方法を示しています。ライト DMA モジュールは、 エンドポイント・メモリからルート・コンプレックス(RC)メモリへのライト動作 を実装します。リード DMA は RC メモリからエンドポイント・メモリへのリード動 作を実装します。 ハードウェア・プラットフォーム上で動作している場合、DMA は通常、ルート・コ ンプレックス・プロセッサ上で動作するソフトウェア・アプリケーションによって 制御されます。シミュレーションでは、PCI Express 用の IP コンパイラによって生成 されたテストベンチは、このデザイン例と一緒に、DMA 動作を制御する Verilog HDL または VHDL で BFM ドライバ・モジュールを提供します。例では PCI Express のリン クより他のハードウェア・インタフェースに依存するため、システムの初期ハード ウェア検証にデザイン例を使用することができます。 デザイン例は、次の 2 つの主要コンポーネントが含まれています。 ■ IP コア・バリエーション ■ アプリケーション層のデザイン例 MegaWizard Plug-In Manager フローを使用する時、両方のコンポーネントが自動的に テストベンチと一緒に生成されます。すべてのコンポーネントは、バリエーション・ ファイル用に選択した言語(Verilog HDL または VHDL)で生成されます。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 1 15–7 チェイニング DMA デザイン例では、256 バイトの最小値に BAR2 または BAR3 を設定す る必要があります。MSI を使用して DMA テストを実行するには、Capabilities ページ の MSI messages requested を少なくとも 2 に設定する必要があります。 チェイニング DMA デザイン例は、すべてのメモリ・ブロックの DMA レジスタをア クセスせずに断片化された大量のメモリを転送することができるアーキテクチャを 採用します。転送されるメモリの各ブロックについては、チェイニング DMA デザイ ン例では、以下の情報を含むディスクリプタ・テーブルを使用します。 ■ 転送の長さ ■ ソースのアドレス ■ デスティネーションのアドレス ■ ソフトウェア・アプリケーションまたは BFM ドライバとチェイニング DMA モ ジュールとの間のハンドシェイクの動作を設定するビットの制御 BFM ドライバは、チェイニング DMA デザイン・エンジンが連続して DMA リード、 DMA ライト、またはその両方のディスクリプタ・テーブルを収集することから、 BFM 共有メモリにディスクリプタ・テーブルを書き込みます。転送の開始時に、 BFM は、エンドポイント・チェイニング DMA コントロール・レジスタをプログラム します。チェイニング DMA コントロール・レジスタは、ディスクリプタ・テーブル の合計数および最初のディスクリプタ・テーブルの BFM 共有メモリのアドレスを示 します。チェイニング DMA コントロール・レジスタをプログラムした後、チェイニ ング DMA エンジンは、連続して DMA リードと DMA ライトの両方の BFM 共有メモリ からディスクリプタをフェッチし、各ディスクリプタのデータ転送を行います。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–8 図 15–3 に、外部 RC CPU に接続されたデザイン例のブロック図を示します。 図 15‒3. シミュレーション用のトップ・レベル・チェニング DMA デザイン例 ( 注 1) Root Complex Chaining DMA Memory Endpoint Memory Avalon-MM interfaces Avalon-ST DMA Write Write Descriptor Table Read Descriptor Table IP Compiler for PCI Express Data DMA Read PCI Express Root Port DMA Control/Status Register DMA Wr Cntl (0x0-4) Configuration CPU DMA Rd Cntl (0x10-1C) RC Slave 図 15‒3 の注: (1) DMA ライトおよびリード・レジスタについて詳しくは、15–15 ページの表 15–5 を参照してください。 ブロック図は、次の要素が含まれています。 ■ エンドポイント DMA ライトおよびリードのリクエスタ・モジュール。 ■ チェイニング DMA デザイン例では、Avalon-ST モードの時に PCI Express 用の IP コン パイラの Avalon-ST インタフェースに接続します。あるいは、ディスクリプタま たはデータ・モードの時に、ICM に接続します。 ( 付録 B, ディスクリプタ / デー タ・インタフェースを使用した PCI Express 用の IP コンパイラのコアを参照して ください)。接続には、次のインタフェースで構成されています。 ■ Avalon-ST RX は、PCI Express 用の IP コンパイラから TLP ヘッダとデータ情報を受 信する 。 ■ Avalon-ST TX は、 PCI Express 用の IP コンパイラに TLP ヘッダとデータ情報を送信 する。 ■ Avalon-ST MSI ポートは、PCI Express 用の IP コンパイラから MSI 割り込みをリク エストする。 ■ サイドバンド信号バスは、コンフィギュレーション情報などの静的な情報を 運ぶ。 ■ DMA リードと DMA ライトのディスクリプタ・テーブルは、BFM 共用メモリに配置 されます。 ■ ルート・ポートと North/South ブリッジを使用する RC CPU およびエンドポイント・ デザイン例に関連付けられている PCI Express PHY リンク。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–9 ■ 3–16 ページの「Capabilities パラメータ」の Implement advanced error reporting およ び ECRC forwarding を On に設定するバリエーションを使用してハード IP 実装を ターゲットとする時に、デザイン例では、オプションの ECRC モジュールをテス トします。 ■ System Settings ページで PCIe Reconfig を選択した場合、MegaWizard Plug-In Manager を使用して作成したハード IP 実装をターゲットとする時に、デザイン例では、 オプションの PCI Express 用の IP コンパイラのりコンフィギュレーション・ブ ロックをテストします。図 15–4 に、テスト環境を示します。 図 15‒4. シミュレーション用のトップ・レベル・チェイニング DMA 例 ̶PCIE リコンフィギュレーション・ ブロックによるハード IP の実装 to test_in[5,32] altpcierd_compliance_test.v Root Complex Chaining DMA CBB Test Driver <variant>_plus Memory Endpoint Memory Avalon-ST IP Compiler for PCI Express Read Write Descriptor Descriptor Table Table Configuration (Hard IP Implementation) Data Avalon-MM interfaces DMA Write DMA Read Control Register PCIE Reconfig Driver Avalon-MM PCI Express Root Port Reset CPU RC Slave Calibration エンドポイント・デザイン・アプリケーション層の例は、次の目標を達成します。 ■ Avalon-ST モード、または ICM を介してディスクリプタ / データ・モードで PCI Express 用の IP コンパイラへのインタフェースする方法を示します。付録 B, ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパ イラのコアを参照してください。 ■ PCI Express リンク上でメモリ・ライトおよびリードのトランザクションを開始し たチェイニング DMA チャネルを提供します。 ■ ECRC 転送機能がイネーブルになっている場合は、Avalon-ST RX パスから ECRC dword をチェックし、Avalon-ST TX パスの ECRC を生成するための CRC コンパイラ IP コアを提供します。 ■ PCI Express 用の IP コンパイラのリコンフィギュレーション・ブロック機能がイ ネーブルになっている場合は、Vendor ID レジスタをインクリメントするテストを 提供し、この機能を実証します。 テストベンチのシミュレーションにエンドポイント・デザイン例を使用して、アル テラ・デバイス用の完全なデザインをコンパイルすることができます。バリエー ション・ファイルを使用してデザイン例を実装するために必要なすべてのモジュー ルは、使用する言語に基づいて、次のいずれかのファイルに含まれています。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–10 <variation name>_examples/chaining_dma/example_chaining.vhd または <variation name>_examples/chaining_dma/example_chaining.v これらのファイルはファイルが生成された時に、プロジェクト・ディレクトリ内に 作成されます。 以下のモジュールは、デザイン例に含まれており、サブディレクトリ <variation name>_example/chaining_dma に配置されます。 ■ <variation name>_example_pipen1b— このモジュールは、シミュレーションに使用 するエンドポイント・デザイン例のトップ・レベルです。このモジュールは、 MegaWizard インタフェースによって生成された以下のファイルに含まれていま す。 <variation name>_example_chaining_top.vhd、および <variation name>_example_chaining_top.v このモジュールは、シミュレーション環境のための PIPE とシリアル・インタ フェースの両方を提供します。このモジュールは、test_out_icm と test_in の 2 つのデバッグ・ポートがあります。test_out_icm は、ディスクリプタ / データの デザイン例でインクリメンタル・コンパイル・モジュールからの test_out_icm 信号、または Avalon-ST のデザイン例の IP コアからの test_out 信号のいずれか です。IP コアの内部ステートをモニタおよび制御できるように、5–68 ページの 「テスト・インタフェース信号 — ハード IP 実装」を参照してください。 合成については、トップ・レベル・モジュールは <variation_name>_example_chaining_top です。このモジュールは、モジュール <variation name>_example_pipen1b をインスタンス化し、外部 I/O にテスト・ポー トの小さなサブセットのみ伝播します。これらのテスト・ポートはユーザー・デ ザインで使用できます。 ■ <variation name>.v または <variation name>.vhd—MegaWizard インタフェースは設定し たパラメータに基づいてファイルを生成するときに、このバリエーション名のモ ジュールを作成します。シミュレーションの目的については、MegaWizard インタ フェースによって生成された IP 機能シミュレーション・モデルが使用されます。 IP 機能シミュレーション・モデルは <variation name>.vho または <variation name>.vo ファイルのいずれかです。Quartus II ソフトウェアは、コンパ イル時に関連する <variation name>.vhd または <variation name>.v を使用します。機 能シミュレーション・モデルを生成する方法について詳しくは、第 2 章:使用法 を参照してください。 チェイニング DMA デザイン例の階層は、これらのコンポーネントで構成されます。 ■ ■ DMA リードおよび DMA ライトのモジュール ■ 各エンジンに 2 つの Avalon-MM インタフェースを使用するオンチップ・エンド ポイント・メモリ(Avalon-MM スレーブ)です。 RC スレーブ・モジュールは、エンドポイント・オンチップ・バッファ・メモリを 対象とするダウンストリーム・トランザクションに主に使用されます。これらの ターゲット・メモリ・トランザクションは、DMA エンジンをバイパスします。更 に、RC スレーブ・モジュールは、パフォーマンスをモニタし、着信メッセージ TLP を確認します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–11 各 DMA モジュールは、これらのコンポーネントから構成されています。 2011 年 5 月 ■ コントロール・レジスタ・モジュール —RC は、DMA を起動するコントロー ル・レジスタ(4 dwords)をプログラムします。 ■ ディスクリプタ・モジュール —DMA エンジンは、チェイニング DMA ディスク リプタ・テーブルをホストする BFM 共有メモリから 4 dword ディスクリプタ をフェッチします。 ■ リクエスタ・モジュール — 与えられたディスクリプタについては、DMA エン ジンは、エンドポイント・メモリと BFM 共有メモリ間のメモリ転送を実行し ます。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–12 次のモジュールは Verilog HDL と VHDL の両方で提供されており、各階層レベルを反 映しています。 ■ altpcierd_example_app_chaining— このトップ・レベル・モジュールは、サイド バンドバスに関連するロジックだけでなく、Avalon-ST インタフェースに関連 するロジックが含まれています。このモジュールは、完全に規定されたレジ スタであり、Quartus II コンパイル・フローのインクリメンタル・リコンパイ ル・パーティションとして使用することができます。 ■ altpcierd_cdma_ast_rx, altpcierd_cdma_ast_rx_64, altpcierd_cdma_ast_rx_128— こ れらのモジュールは、チェイニング DMA 用の Avalon-ST の受信ポートを実装 します。Avalon-ST の受信ポートは、チェイニング DMA サブモジュールによっ て使用されるディスクリプタまたはデータ・インタフェースに IP コアの Avalon-ST インタフェースを変換します。altpcierd_cdma_ast_rx はディスクリプ タまたはデータ IP コア(ICM 経由)で使用されます。altpcierd_cdma_ast_rx_64 は 64 ビットの Avalon-ST IP コアで使用されます。altpcierd_cdma_ast_rx_128 は 128 ビットの Avalon-ST IP コアで使用されます。 ■ altpcierd_cdma_ast_tx, altpcierd_cdma_ast_tx_64, altpcierd_cdma_ast_tx_128— こ れらのモジュールは、チェイニング DMA 用の Avalon-ST の送信ポートを実装 します。Avalon-ST の送信ポートは、IP コアの Avalon-ST インタフェースに チェイニング DMA サブモジュールのディスクリプタまたはデータ・インタ フェースを変換します。altpcierd_cdma_ast_tx はディスクリプタまたはデータ IP コア(ICM 経由)で使用されます。altpcierd_cdma_ast_tx_64 は 64 ビットの Avalon-ST IP コアで使用されます。altpcierd_cdma_ast_tx_128 は 128 ビットの Avalon-ST IP コアで使用されます。 ■ altpcierd_cdma_ast_msi— このモジュールは、チェイニング DMA サブモジュー ルから Avalon-ST のストリーミング・データに MSI のリクエストを変換しま す。このモジュールは、ディスクリプタまたはデータ IP コア(ICM 経由)で のみ使用されます。 ■ alpcierd_cdma_app_icm— このモジュールは、モジュール altpcierd_dma_dt (リードまたはライト)と altpcierd_rc_slave の PCI Express パケットを調停しま す。alpcierd_cdma_app_icm は DMA 読み出しと DMA 書込みの送信に使用され るエンドポイントのメモリをインスタンス化します。 ■ altpcierd_compliance_test.v— このモジュールは、プッシュ・ボタンを介して CBB を実行するためのロジックを提供します。 ■ altpcierd_rc_slave— このモジュールは、すべてのダウンストリーム・アクセス に対してコンプリータ関数が用意されます。それは、 altpcierd_rxtx_downstream_intf および altpcierd_reg_access モジュールをインス タンス化します。ダウンストリームリクエストは、DMA をバイパスすること で、チェイニング DMA コントロール・レジスタのプログラミング、DMA ス テータス・レジスタの読み込み、およびエンドポイント・ターゲット・メモ リへの直接リードアクセスとライトアクセスで構成されています。 ■ altpcierd_rx_tx_downstream_intf— このモジュールは、すべてのダウンストリー ムのリード・リクエストおよびライト・リクエストを処理し、コンプリー ションの転送を処理します。リクエストは BAR 0、1、4、および 5 にアドレス されたリクエストは、チェイニング DMA ターゲット・メモリ・スペースにア クセスします。リクエストは BAR 2 および 3 にアドレスされたリクエストは、 altpcierd_reg_access モジュールを使用してチェイニング DMA コントロールお よびステータス・レジスタのスペースにアクセスします。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 2011 年 5 月 15–13 ■ altpcierd_reg_access— このモジュールは、すべてのチェイニング DMA コント ロール・レジスタとステータス・レジスタ(BAR 2 と 3 のアドレス・スペー ス)へのアクセスを提供します。それがコンプリーション・データに対する すべてのリクエストおよび多重化用のアドレス・デコードを提供します。す べてのレジスタは 32 ビット幅です。コントロール・レジスタとステータス・ レジスタは、その他の様々なステータス・レジスタのように、 altpcierd_dma_prog_reg モジュールのコントロール・レジスタ、 altpcierd_read_dma_requester および altpcierd_write_dma_requester モジュール のステータス・レジスタが含まれています。 ■ altpcierd_dma_dt— このモジュールは、サブモジュール altpcierd_dma_prg_reg、 altpcierd_read_dma_requester、altpcierd_write_dma_requester および altpcierd_dma_descriptor によって発行された PCI Express パケットをを調停し ます。 ■ altpcierd_dma_prg_reg— このモジュールは、ソフトウェア・アプリケーション または BFM ドライバによってプログラムされたチェイニング DMA コントロー ル・レジスタが含まれています。 ■ altpcierd_dma_descriptor— このモジュールは BFM 共有メモリから DMA のリード またはライトのディスクリプタを取得し、ディスクリプタ FIFO に格納します。 このモジュールは、タイプ Mrd のアップストリーム PCI Express TLP を発行し ます。 ■ altpcierd_read_dma_requester、altpcierd_read_dma_requester_128— altpcierd_descriptor FIFO にある各ディスクリプタに対して、このモジュールは MRd PCI Express トランザクション・レイヤ・パケットを発行することによっ て、BFM 共有メモリからエンドポイント・メモリにデータを転送します。 altpcierd_read_dma_requester は 64 ビットの Avalon-ST IP コアで使用されます。 altpcierd_read_dma_requester_128 は 128 ビットの Avalon-ST IP コアで使用され ます。 ■ altpcierd_write_dma_requester、altpcierd_write_dma_requester_128— altpcierd_descriptor FIFO にある各ディスクリプタに対して、このモジュールは MWr PCI Express トランザクション・レイヤ・パケットを発行することによっ て、エンドポイント・メモリから BFM 共有メモリにデータを転送します。 altpcierd_write_dma_requester は 64 ビットの Avalon-ST IP コアで使用されます。 altpcierd_write_dma_requester_128 は 128 ビットの Avalon-ST IP コアで使用され ます。 ■ altpcierd_cpld_rx_buffer— このモジュールは、RX バッファの使用可能なスペー スをモニタします。それは、アプリケーションで発行されたメモリ・リード・ リクエストを調停することによって RX バッファのオーバーフローを防ぎま す。 ■ altpcierd_cdma_ecrc_check_64、altpcierd_cdma_ecrc_check_128— このモジュー ルは、チェイニング DMA の Avalon-ST インタフェースで受信された TLP 上の PCI Express ECRC エラーをチェックし、フラグします。 altpcierd_cdma_ecrc_check_64 は 64 ビットの Avalon-ST IP コアで使用されます。 altpcierd_cdma_ecrc_check_128 は 128 ビットの Avalon-ST IP コアで使用されま す。 ■ altpcierd_cdma_rx_ecrc_64.v、altpcierd_cdma_rx_ecrc_64_altcrc.v、 altpcierd_cdma_rx_ecrc_64.vo— これらのモジュールは altpcierd_ecrc_check_64 モジュールで使用される CRC32 チェック・メガファンクションが含まれてい ます。.v ファイルは、合成用です。.vo ファイルはシミュレーション用です。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–14 ■ ■ altpcierd_cdma_ecrc_gen— このモジュールは、PCI Express ECRC を生成し、チェ イニング DMA の Avalon-ST TX インタフェース上で送信された TLP の末尾に追 加します。このモジュールは altpcierd_cdma_gen_ctl_64、 altpcierd_cdma_gen_ctl_128、および altpcierd_cdma_gen_datapath モジュールを インスタンス化します。 altpcierd_cdma_ecrc_gen_ctl_64, altpcierd_cdma_ecrc_gen_ctl_128— このモ ジュールは、ECRC 計算用 altpcierd_cdma_tx_ecrc モジュールに送られるデー タ・ストリームを制御して、メイン・データパスのコントロール (altpcierd_cdma_ecrc_gen_datapath)を生成します。 ■ altpcierd_cdma_ecrc gen_datapath— このモジュールは、TLP の末尾が Avalon-ST インタフェースを介して送信される時に、ECRC が使用可能であることを確認 するために、IP コアに Avalon-ST インタフェースを通過する Avalon-ST データ を送信する前に、遅延パイプを介してそのデータをルートします。 ■ altpcierd_cdma_ecrc_gen_calc— このモジュールは TX ECRC コアをインスタンス 化します。 ■ altpcierd_cdma_tx_ecrc_64.v、altpcierd_cdma_tx_ecrc_64_altcrc.v、 altpcierd_cdma_tx_ecrc_64.vo— これらのモジュールは、altpcierd_ecrc_gen モ ジュールで使用される CRC32 生成メガファンクションが含まれています。.v ファイルは合成用です。.vo ファイルはシミュレーション用です。 ■ altpcierd_tx_ecrc_data_fifo, altpcierd_tx_ecrc_ctl_fifo, altpcierd_tx_ecrc_fifo— これ らは、altpcierd_cdma_ecrc_gen の ECRC ジェネレータ・モジュールで使用され る FIFO です。 ■ altpcierd_pcie_reconfig—System SettingsページのPCIE reconfigオプションがオン になっている場合には、このモジュールがインスタンス化されます。これは、 テストでデバイスの PCIE のリコンフィギュレーション Avalon-MM スレーブを ドライブする Avalon-MM マスタから構成されます。モジュールには、事前の 任意の PCI Express 用の IP コンパイラのコンフィギュレーション・シーケンス への Avalon-MM インタフェースを使用して以下の順序で実行します。 a. PCIE のリコンフィギュレーション・アドレス 0x0 に 0x2 を書き込み、リセッ ト信号、npor をアサートすることによって、ハード IP 実装では、PCIE リコン フィギュレーション・モードをオンにして、リコンフィギュレーション回路 をリセットします。 b. PCIE のリコンフィギュレーション・アドレス 0x89 に PCIE のベンダ ID レジス タを読み出します。 c. 増分は、ベンダ ID レジスタは 1 でインクリーメントし、PCIE のリコンフィ ギュレーション・アドレス 0x89 にそれを再書き込みます。 d. npor をデアサートすることで、リセット状態からハード IP リコンフィギュ レーション回路および SERDES を削除します。 ■ altpcierd_cplerr_lmi— このモジュールは、LMI インターフェイスを使用して、 アプリケーションから PCE Express ハード IP に err_desc_func0 を転送します。 また、アプリケーションからハード IP に cpl_err ビットをリタイミングしま す。このモジュールは、IP コアのハード IP 実装にのみ使用されます。 ■ altpcierd_tl_cfg_sample— このモジュールは、ハード IP からの tl_cfg_ctl バス からコンフィグレーション・スペース信号を多重化し、ユーザー・クロック (pld_clk)ドメインへの tl_cfg_sts バスと一緒に、この情報を同期します。 このモジュールは、ハード IP 実装にのみ使用されます。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–15 デザイン例の BAR/ アドレス・マップ デザイン例は、受信したメモリ・トランザクションがどの BAR に一致したかに基づ いて、そのトランザクションをターゲット・メモリ・ブロックまたはコントロール・ レジスタ・ブロックのいずれかにマップします。異なるバリエーションのファイル との相互運用性を最大にするために、これらの各ブロックにマップする複数の BAR があります。表 15–4 に、マッピングを示します。 表 15‒4. デザイン例の BAR マップ メモリ BAR マッピング 32 ビット BAR0 32 K バイト・ターゲット・メモリ・ブロックにマップします。rc_slave モジュール を使用して、チェイニング DMA をバイパスします。 32 ビット BAR1 64 ビット BAR1:0 32 ビット BAR2 最小の 256 バイトで DMA リードおよび DMA ライトのコントロールとステータス・ レジスタにマップします。 32 ビット BAR3 64 ビット BAR3:2 32 ビット BAR4 32 K バイト・ターゲット・メモリ・ブロックにマップします。32 K バイト・ター ゲット・メモリ・ブロックにマップします。 32 ビット BAR5 64 ビット BAR5:4 拡張 ROM BAR デザイン例では実装されておらず、動作は予測不能です。 I/O 領域 BAR(いずれか) デザイン例では実装されておらず、動作は予測不能です。 チェイニング DMA コントロールおよびステータス・レジスタ ソフトウェア・アプリケーションは、エンドポイント・アプリケーションにある チェイニング DMA コントロール・レジスタをプログラムします。表 15–5 に、DMA ライトの 4 dword、および DMA リードの 4 dword で構成されるコントロール・レジス タについて説明します。DMA コントロール・レジスタはリードまたはライトです。 表 15‒5. チェイニング DMA コントロール・レジスタの定義 ( その1 ) ( 注 1) Add r (2) レジスタ名 3124 2316 コントロール・フィールド(表 15–6 を参照) 150 ディスクリプタ・テーブル内のディス クリプタ数 0x0 DMA Wr Cntl DW0 0x4 DMA Wr Cntl DW1 RC メモリ – 上位 DWORD でライト・ディスクリプタ・テーブルのベース・ア ドレス(BDT) 0x8 DMA Wr Cntl DW2 RC メモリ – 下位 DWORD でライト・ディスクリプタ・テーブルのベース・ア ドレス(BDT) 0xC DMA Wr Cntl DW3 0x10 DMA Rd Cntl DW0 予約済み コントロール・フィールド(表 15–6 を参照) 処理するための最後のディスクリプタ の RCLAST–Idx ディスクリプタ・テーブル内のディス クプリプタの数 0x14 DMA Rd Cntl DW1 RC メモリ – 上位 DWORD でリード・ディスクリプタ・テーブルのベース・ア ドレス(BDT) 0x18 DMA Rd Cntl DW2 RC メモリ – 下位 DWORD で(リード・ディスクリプタ・テーブルのベース・ アドレス(BDT) 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–16 表 15‒5. チェイニング DMA コントロール・レジスタの定義 ( その2 ) ( 注 1) Add r (2) レジスタ名 0x1C DMA Rd Cntl DW3 3124 2316 予約済み 150 処理するための最後のディスクリプタ の RCLAST–Idx 表 15‒5 の注: (1) これらのレジスタを示すチェイニング DMA デザイン例のブロック図は、15–8 ページの図 15–3 を参照してください。 (2) これは BAR2 または BAR3 からのエンドポイント・バイト・アドレス・オフセットです。 表 15–6 に、DMA リードおよび DMA ライトのコントロール・レジスタのコントロー ル・フィールドについて説明します。 表 15‒6. DMA ライト・コントロール・レジスタと DMA リード・コントロール・レジスタのコントロール・ フィールドのビット定義 ビット 16 17 18 [24:20] [30:28] 31 フィールド 説明 予約済み — MSI_ENA すべてのディスクリプタの割り込みをイネーブルにします。1 の時、エン ドポイント DMA モジュールは、各ディスクリプタが完了したときに RC への MSI を使用して割り込みを発行します。ソフトウェア・アプリケー ションまたは BFM ドライバは、DMA 転送ステータスをモニタするため に、この割り込みを使用することができます。 EPLAST_ENA ディスクリプタ・テーブル内の EPLAST フィールドに各ディスクリプタ の番号を再書き込みするためにエンドポイント DMA モジュールをイネー ブルにします。表 15–10 は、ディスクリプタ・テーブルについて説明し ます。 MSI Number RC はエンドポイントの MSI 機能を読み出し時に、これらのレジスタ・ ビットは PCI Express 用の IP コンパイラのバックエンド MSI 信号 app_msi_num [4:0] にマップします。複数の MSI がある場合、MSI が利用可 能な時に、デフォルト・マッピングは次の通りです。 ■ MSI 0 = リード ■ MSI 1 = ライト MSI Traffic Class RC のアプリケーション・ソフトウェアはエンドポイントの MSI 機能を 読み出し時に、この値はデフォルトで MSI トラフィック・クラス 0 に割 り当てられます。これらのレジスタ・ビットは PCI Express 用の IP コンパ イラのバックエンド信号 app_msi_tc[2:0] にマップします。 DT RC Last Sync 0 の時、DMA エンジンは最後のディスクリプタが実行された後で転送を 停止します。1 の時、DMA エンジンは無限に最後のディスクリプタが完 了した後で、最初のディスクリプタで再起動しループします。無限ルー プを停止するには、このビットを 0 似設定します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–17 表 15–7 は、DMA ステータス・レジスタを定義します。これらのレジスタは読み出し 専用です。 表 15‒7. チェイニング DMA ステータス・レジスタの定義 Addr (2) 0x20 レジスタ名 DMA Wr Status Hi 0x24 DMA Wr Status Lo 0x28 DMA Rd Status Hi 0x2C 0x30 DMA Rd Status Lo 3124 2316 150 フィールドの定義については、表 15–8 を参照してください。 ターゲット Mem ア ドレス幅 ライト DMA パフォーマンス・カウンタ。DMA ヘッダがプログラムされた時点から最後のディ スクリプタが完了するまで(ディスクリプタを フェッチすための時間を含む)の時間のクロッ ク・サイクルです。 フィールドの定義については、表 15–9 を参照してください。 最大のタッグ数 リード DMA パフォーマンス・カウンタ。DMA ヘッダがプログラムされた時点から最後のディ スクリプタが完了するまで(ディスクリプタを フェッチすための時間を含む)の時間のクロッ ク数です。 エラー・カウンタ。アプリ ケーションによって検出 された不良 ECRC の数で す。ECRC 転送がイネーブ ルされた時にのみ有効で す。 予約済み Error Status 表 15‒7 の注: (1) これは BAR2 または BAR3 からのエンドポイント・バイト・アドレス・オフセットです。 表 15–8 に、DMA ライト・ステータス・レジスタのフィールドについて説明します。 これらすべてのフィールドは、読み出し専用です。 表 15‒8. DMA ライト・ステータス・ハイ・レジスタ内のフィールド ビット [31:28] フィールド CDMA バージョン 説明 チェイニング DMA デザイン例のバージョンを識別します。 コア・インタフェースを識別します。以下のエンコーディング は定義されます。 [27:26] [25:24] コア・タイプ ■ 01 ディスクリプタ / データ・インタフェース ■ 10 Avalon-ST のソフト IP 実装 ■ 00 その他の — 予約済み 以下のエンコーディングは定義されます。 [23:21] [20:17] 2011 年 5 月 最大のペイロード・サイズ 予約済み Altera Corporation ■ 001 128 バイト ■ 001 256 バイト ■ 010 512 バイト ■ 011 1024 バイト ■ 100 2048 バイト — PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–18 表 15‒8. DMA ライト・ステータス・ハイ・レジスタ内のフィールド ビット フィールド 説明 16 ライト DMA ディスクリプタ FIFO ライト DMA で保留しないディスクリプタがあることを示しま 空 す。 [15:0] ライト DMA EPLAST ライト DMA によって完了された最後のディスクリプタの数を示 します。 表 15–9 は、DMA リード・ステータス・ハイ・レジスタ内のフィールドについて説明 します。すべてのフィールドは読み出し専用です。 表 15‒9. DMA リード・ステータスのハイ・レジスタのフィールド ビット フィールド 説明 ソフトウェア・アプリケーションに使用されているボードを示します。 以下のエンコーディングは定義されます。 [31:25] 24 ボード数 ■ 0 Altera Stratix II GX ×1 ■ 1 Altera Stratix II GX ×4 ■ 2 Altera Stratix II GX ×8 ■ 3 Cyclone II ×1 ■ 4 Arria GX ×1 ■ 5 Arria GX ×4 ■ 6 カスタム PHY ×1 ■ 7 カスタム PHY ×4 — 予約済み 以下のエンコーディングは定義されます。 [23:21] 最大のリード・リクエス トサイズ ■ 001 128 バイト ■ 001 256 バイト ■ 010 512 バイト ■ 011 1024 バイト ■ 100 2048 バイト 以下のエンコーディングは定義されます。 [20:17] ネゴシエートされたリン ク幅 ■ 0001 ×1 ■ 0010 ×2 ■ 0100 ×4 ■ 1000 ×8 16 リード DMA ディスクリ プタ FIFO 空 リード DMA で保留しないディスクリプタがあることを示します。 [15:0] リード DMA EPLAST リード DMA によって完了された最後のディスクリプタの数を示します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 チェイニング DMA デザイン例 15–19 チェイニング DMA ディスクリプタ・テーブル 表 15–10 は、BFM 共有メモリに格納されたチェイニング DMA ディスクリプタ・テー ブルについて説明します。それは 4 dword のディスクリプタ・ヘッダと <n> 4 dword のディスクリプタの連続したリストで構成されます。エンドポイントのチェイニン グ DMA アプリケーションは、2 つの理由でチェイニング DMA ディスクリプタ・テー ブルにアクセスします。 ■ DMA を起動するために繰り返し 4 dword のディスクリプタを取得する ■ RP へのアップデート・ステータスを送信する(例えば、ディスクリプタ・ヘッダ に完了されたディスクリプタの数を記録する) 後続の各ディスクリプタは、最小の 4 dword のデータで構成され、1 回の DMA 転送 に対応します。(dword は 32 ビットに相当します)。 1 チェイニング DMA ディスクリプタ・テーブルは 4 K バイト境界を越えないするように 注意してください。 表 15‒10. チェイニング DMA ディスクリプタ・テーブル ベース・ソースへの バイト・アドレス・ オフセット ディスクリプタ・ タイプ 説明 0x0 予約済み 0x4 予約済み 0x8 予約済み ディスクリプタ・ ヘッダ 0xC EPLAST - コントロール・レジスタまたは ディスクリプタで EPLAST_ENA ビットでイ ネーブルにした時、このロケーションは チェイニング DMA モジュールによって完 了された最後のディスクリプタの数を記録 します。 0x10 コントロール・フィールド、DMA レング ス 0x14 ディスクリプタ 0 エンドポイント・アドレス 0x18 RC アドレスの上位 dword 0x1C RC アドレスの下位 dword 0x20 コントロール・フィールド、DMA レング ス 0x24 ディスクリプタ 1 エンドポイント・アドレス 0x28 RC アドレスの上位 dword 0x2C RC アドレスの下位 dword ... コントロール・フィールド、DMA レング ス 0x ..0 0x ..4 2011 年 5 月 ディスクリプタ <n> エンドポイント・アドレス 0x ..8 RC アドレスの上位 dword 0x ..C RC アドレスの下位 dword Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 テスト・ドライバ・モジュール 15–20 表 15–11 に、ディスクリプタ・ヘッダに続いてディスクリプタ・フィールドのレイ アウトを示します。 表 15‒11. チェイニング DMA ディスクリプタ・フォーマット・マップ 3122 21 16 150 コントロール・フィールド (表 15–12 を参照) 予約済み DMA レングス エンドポイント・アドレス RC アドレスの上位 DWORD RC アドレスの下位 DWORD 表 15‒12. チェイニング DMA ディスクリプタ・フォーマット・マップ (コントロール・フィールド) 2118 予約済み 17 16 EPLAST_ENA MSI 各ディスクリプタは、1 回の DMA 転送のハードウェア情報を提供します。表 15–13 は、各ディスクリプタ・フィールドについて説明します。 表 15‒13. チェイニング DMA のディスクリプタ・フィールド エンド ポイン ト・ア クセス RC アクセ ス 説明 エンドポイン ト・アドレス R R/W エンドポイント・サイトでのメモリ転送のベース・アドレスを指定 する 32 ビットのフィールド。 RC アドレスの 上位 DWORD R R/W RC サイトでのメモリ転送の上位ベース・アドレスを指定します。 RC アドレスの 下位 DWORD R R/W RC サイトでのメモリ転送の下位ベース・アドレスを指定します。 DMA レングス R R/W 転送する DMA DWORD の数を指定します。 ディスクリプ タ・フィールド EPLAST_ENA R R/W このビットはコントロール・レジスタの EPLAST_ENA ビットと OR さ れます。EPLAST_ENA が設定されると、エンドポイント DMA モ ジュールは <0 – n> のフォームで最後のコンプリーション・ディス クリプタの数とディスクリプタ・テーブルの EPLAST フィールドを 更新します。(表 15–10 を参照。) MSI_ENA R R/W このビットはディスクリプタ・ヘッダの MSI ビットと OR されます。 このビットが設定されると、エンドポイント DMA モジュールは ディスクリプタが完了するときに割り込みを送信します。 テスト・ドライバ・モジュール 生成ステップの間に MegaWizard インタフェースによって生成された BFM ドライバ・ モジュールは、チェイニング DMA のエンドポイント・デザイン例をテストするため に設定されます。BFM ドライバ・モジュールは、エンドポイント・コンフィギュ レーション・スペース・レジスタを構成し、エンドポイント・チェイニング DMA チャネルの例をテストします。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 テスト・ドライバ・モジュール 15–21 このファイルのエンドポイント VHDL バージョンについては、以下を参照してくださ い。 <variation_name>_examples/chaining_dma/testbench/ altpcietb_bfm_driver_chaining.vhd エンドポイント Verilog HDL ファイルについては、以下を参照してください。 <variation_name>_examples/chaining_dma/testbench/ altpcietb_bfm_driver_chaining.v ルート・ポートの Verilog HDL ファイルについては、以下を参照してください。 <variation_name>_examples/rootport/testbench/altpcietb_bfm_driver_rp.v BFM テスト・ドライバ・モジュールは、以下のステップを順に実行します。 1. ルート・ポートおよびエンドポイント・コンフィギュレーション・スペースをコ ンフィギュレーションします。これは BFM テスト・ドライバ・モジュールが、 altpcietb_bfm_configure の一部である ebfm_cfg_rp_ep プロシージャを呼び出して 行います。 2. エンドポイント・デザイン例のコントロール・レジスタ領域へのアクセスに適し た BAR を検索します。DMA チャネル・テストを実行するには、BAR 2 または 3 の 1 つは最低 256 バイトのメモリ BAR でなければなりません。 altpcietb_bfm_driver_chaining の find_mem_bar プロシージャがこれを行います。 3. 前のステップで適した BAR が見つかった場合、ドライバは以下のステップを実行 します。 ■ DMA リード — ドライバは、エンドポイント・メモリに BFM 共有メモリからの データを読み出すようにチェイニング DMA をプログラムします。チェイニン グ DMA が転送完了を示すために、次の手順を完了するように、ディスクリプ タ・コントロール・フィールド(表 15–6)は指定されます。 a. 最初と最後のディスクリプタのデータ転送を完了した後、チェイニング DMA は 15–19 ページの「チェイニング DMA ディスクリプタ・テーブル」の EPLast ビットを書き込みます。 b. チェイニング DMA は最後のディスクリプタが完了した後、MSI を発行しま す。 ■ DMA ライト — ドライバは、BFM 共有メモリにエンドポイント・メモリからの データを書き込むようにチェイニング DMA をプログラムします。チェイニン グ DMA が転送完了を示すために、次の手順を完了するように、ディスクリプ タ・コントロール・フィールド(表 15–6)は指定されます。 c. 最初と最後のディスクリプタのデータ転送を完了した後、チェイニング DMA は 15–19 ページの「チェイニング DMA ディスクリプタ・テーブル」の EPLast ビットを書き込みます。 d. チェイニング DMA は最後のディスクリプタが完了した後、MSI を発行しま す。 e. BFM に書き戻すデータは、BFM から読み出されたデータと照合されます。 f. ドライバは、チェイニング DMA エンドポイント・メモリのダウンストリー ム・アクセスのテストを実行するためのチェイニング DMA をプログラムしま す。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 テスト・ドライバ・モジュール 15–22 DMA ライト・サイクル DMA ライトに使用される dma_wr_test プロシージャは、以下のステップを使用しま す。 1. BFM 共用メモリのコンフィギュレーション。コンフィギュレーションは、以下の 3 つのディスクリプタ・テーブルで達成されます(表 15–14、表 15–15、および 表 15–16)。 表 15‒14. ライト・ディスクリプタ 0 BFM 共用メモリ のオフセット 値 説明 DW0 0x810 82 DWORDS およびコントロール・ビットの転送長(15–16 ページの表 15–6 で説明) DW1 0x814 3 エンドポイント・アドレス DW2 0x818 0 BFM 共有メモリのデータ・バッファ 0 の上位アドレス値 DW3 0x81c 0x1800 BFM 共有メモリのデータ・バッファ 1 の下位アドレス値 Data Buffer 0 0x1800 0x1515_0001 から 1 アドレスからの BFM 共用メモリのデータ内容: 0x01800–0x1840 ずつ増加 表 15‒15. ライト・ディスクリプタ 1 BFM 共用メモリの オフセット 値 説明 DW0 0x820 1,024 DWORDS およびコントロール・ビットの転送長(15–20 ページの表 15–13 で説明) DW1 0x824 0 エンドポイント・アドレス DW2 0x828 0 BFM 共有メモリのデータ・バッファ 1 の上位アドレス値 DW3 0x82c 0x2800 BFM 共有メモリのデータ・バッファ 1 の下位アドレス値 Data Buffer 1 0x02800 0x2525_0001 から 1 ずつ増加 アドレスからの BFM 共用メモリのデータ内容:0x02800 表 15‒16. ライト・ディスクリプタ 2 BFM 共用メモリの オフセット 値 説明 DW0 0x830 644 DWORDS およびコントロール・ビットの転送長(15–16 ページの表 15–6 で説明) DW1 0x834 0 エンドポイント・アドレス DW2 0x838 0 BFM 共有メモリのデータ・バッファ 2 の上位アドレス値 DW3 0x83c 0x057A0 BFM 共有メモリのデータ・バッファ 2 の下位アドレス値 Data Buffer 2 0x057A0 0x3535_0001 から 1 アドレスからの BFM 共用メモリのデータ内容:0x057A0 ずつ増加 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 テスト・ドライバ・モジュール 15–23 2. チェイニング DMA ディスクリプタ・ヘッダを設定し、エンドポイント・メモリ から BFM 共有メモリにデータ転送を開始します。転送はプロシージャ dma_set_header を呼び出します。それは、DMA ライト・レジスタ・モジュールに 4 dword、DW0:DW3(表 15–17)を書き込みます。 表 15‒17. DMA ライトに対する DMA コントロール・レジスタ・セットアップ DMA コントロー ル・レジスタのオ フセット(BAR2) 値 説明 DW0 0x0 3 ディスクリプタおよびコントロール・ビットの数(15–15 ページの 表 15–5 で説明) DW1 0x4 0 BFM 共用メモリのディスクリプタ・テーブルの上位アドレス値 DW2 0x8 0x800 BFM 共用メモリのディスクリプタ・テーブルの下位アドレス値 DW3 0xc 2 最後の有効なディスクリプタ ディスクリプタ・ヘッダの DW3 の最後の dword を書き込んだ後、DMA ライトは 3 以降のデータ転送を開始します。 3. BFM 共有メモリ位置 0x80c をポーリングするによって DMA ライト・コンプリー ションを待ちます。ここで、DMA エンジンは完成したディスクリプタ数の値を更 新しています。DMA ライト転送が完了したら、プロシージャ rcmem_poll と msi_poll を決定するために呼び出します。 DMA リード・サイクル DMA リードに使用される dma_rd_test プロシージャは、以下のステップを使用しま す。 1. 3 つのディスクリプタ・テーブル(表 15–18、表 15–19、および表 15–20)を設定 するプロシージャ dma_set_rd_desc_data への呼び出しで BFM 共用メモリをコン フィギュレーションします。 表 15‒18. リード・ディスクリプタ 0 BFM 共用メモ リのオフセット 値 説明 DW0 0x910 82 DWORDS およびコントロール・ビットの転送長(15–20 ペー ジの表 15–13 で説明) DW1 0x914 3 エンドポイント・アドレス値 DW2 0x918 0 BFM 共有メモリのデータ・バッファ 0 の上位アドレス値 DW3 0x91c 0x8DF0 BFM 共有メモリのデータ・バッファ 0 の下位アドレス値 データ・ 0x8DF0 バッファ 0 0xAAA0_0001 か アドレスからの BFM 共用メモリのデータ内容:0x89F0 ら 1 ずつ増加 表 15‒19. リード・ディスクリプタ 1 BFM 共用メモリ のオフセット 値 説明 DW0 0x920 1,024 DWORDS およびコントロール・ビットの転送長(15–20 ページの表 15–13 で説明) DW1 0x924 0 エンドポイント・アドレス値 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 ルート・ポートのデザイン例 15–24 表 15‒19. リード・ディスクリプタ 1 DW2 0x928 10 BFM 共有メモリのデータ・バッファ 1 の上位アドレス値 DW3 0x92c 0x10900 BFM 共有メモリのデータ・バッファ 1 の下位アドレス値 0xBBBB_0001 か ら 1 ずつ増加 アドレスからの BFM 共用メモリのデータ内容:0x10900 データ・ 0x10900 バッファ 1 表 15‒20. リード・ディスクリプタ 2 BFM 共用メモ リのオフセット 値 説明 DW0 0x930 644 DWORDS およびコントロール・ビットの転送長(15–20 ペー ジの表 15–13 で説明) DW1 0x934 0 エンドポイント・アドレス値 DW2 0x938 0 BFM 共有メモリの上位アドレス値 DW3 0x93c 0x20EF0 BFM 共有メモリの下位アドレス値 データ・ 0x20EF0 バッファ 2 0xCCCC_0001 か アドレスからの BFM 共用メモリのデータ内容:0x20EF0 ら 1 ずつ増加 2. チェイニング DMA ディスクリプタ・ヘッダを設定し、BFM 共有メモリからエン ドポイント・メモリにデータ転送を開始します。転送はプロシージャ dma_set_header を呼び出します。それは、DMA リード・レジスタ・モジュールに 4 dword、DW0:DW3(表 15–21)を書き込みます。 表 15‒21. DMA リードに対する DMA コントロール・レジスタ・セットアップ DMA コントロール・レジス タのオフセット(BAR2) 値 説明 DW0 0x0 3 ディスクリプタおよびコントロール・ビットの数(15–15 ページの表 15–5 で説明) DW1 0x14 0 BFM 共有メモリの上位アドレス値 DW2 0x18 0x900 BFM 共有メモリの下位アドレス値 DW3 0x1c 2 最後の書き込まれたディスクリプタ ディスクリプタ・ヘッダ(DW3)の最後の dword を書き込んだ後、DMA リードは 3 以降のデータ転送を開始します。 3. BFM 共有メモリ位置 0x90c をポーリングするによって DMA リード・コンプリー ションを待ちます。ここで、DMA エンジンは完成したディスクリプタ数の値を更 新しています。DMA リード転送が完了したら、プロシージャ rcmem_poll と msi_poll を決定するために呼び出します。 ルート・ポートのデザイン例 デザイン例は、以下の主要コンポーネントが含まれています。 ■ ■ PCI Express 用の IP コンパイラのルート・ポート・バリエーション (<variation_name>.v)。 VC0:1 Avalon-ST インタフェース(altpcietb_bfm_vc_intf_ast)—Avalon-ST インタ フェースを使用して PCI Express バリエーション用の IP コンパイラへの、または からの PCI Express リクエストとコンプリーションの転送を処理します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 ルート・ポートのデザイン例 15–25 ■ ルート・ポート BFM タスク — テスト・ドライバで呼び出される上位レベル・タス ク、altpcietb_bfm_vc_intf_ast から PCI Express 転送をリクエストする低レベル、 ルート・ポート・メモリ・スペース、およびメッセージの表示とシミュレーショ ンの停止などのシミュレーション機能が含まれています。 ■ テスト・ドライバ(altpcietb_bfm_driver_rp.v)—DMA 転送のルート・ポートとエ ンドポイントをコンフィギュレーションし、データの転送が成功したかどうかを チェックするチェイニング DMA エンドポイントのテスト・ドライバです。詳細 は、15–20 ページの「テスト・ドライバ・モジュール」を参照してください。 図 15‒5. ルート・ポートのデザイン例 <var>_example_rp_pipen1b.v Root Port BFM Tasks and Shared Memory BFM Shared Memory (altpcietb_bfm_shmem) BFM Read/Write Shared Request Procedures (altpcietb_bfm_rdwr) BFM Configuration Procedures (altpcietb_bfm_configure) Test Driver (altpcietb_bfm_ driver_rp.v) BFM Log Interface (altpcietb_bfm_log) BFM Request Interface (altpcietb_bfm_req_intf) Avalon-ST VC1 Avalon-ST Interface (altpcietb_bfm_vcintf_ast) Config Bus (altpcietb_tl_ cfg_sample.v) VC0 Avalon-ST Interface (altpcietb_bfm_vcintf_ast) IP Compiler for PCI Express Root Port Variation (variation_name.v) PCI Express Avalon-ST Verilog HDL のシミュレーションにルート・ポートのデザイン例を使用することがで きます。バリエーション・ファイルでデザイン例を実装するために必要なすべての モジュールは <variation_name>_example_rp_pipen1b.v に含まれています。このファイ ルは、PCI Express バリエーション用の IP コンパイラが生成される時に、プロジェク トの <variation_name>_examples/root_port のサブディレクトリに作成されます。 MegaWizard インタフェースは、以下のファイルを含めて、プロジェクトのトップ・ レベル・ディレクトリにあるバリエーション・ファイルを作成します。 2011 年 5 月 ■ <variation_name>.v—PCI Express バリエーション用の IP コンパイラのトップ・レベ ル・ファイル。ファイルは、SERDES と PIPE のインタフェース、およびパラメー タ化コア(<variation_name>_core.v)をインスタンス化します。 ■ <variation_name>_serdes.v —SERDES を含む。 ■ <variation_name>_core.v—<variation_name>.v の合成に使用される。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 ルート・ポートのデザイン例 15–26 ■ <variation_name>_core.vo—<variation_name>.v の合成に使用される。 以下のモジュールは、サブディレクトリ <variation_name>_examples/root_port におけ るデザイン例のために生成されます。 ■ <variation_name>_example_rp_pipen1b.v— シミュレーションに使用するルート・ ポートのデザイン例のトップ・レベルです。このモジュールは、PCI Express のバ リエーション用の IP コンパイラのルート・ポート、<variation_name>.v、および ルート・ポート・アプリケーション altpcietb_bfm_vc_intf_ast をインスタンス化し ます。このモジュールは、シミュレーション環境のための PIPE とシリアル・イ ンタフェースの両方を提供します。このモジュールは、test_out_icm(IP コアか ら test_out と信号である)、と test_in(PCI Express のバリエーション用の IP コ ンパイラの内部状態を監視および制御することができる)という名前の 2 個のデ バッグ・ポートを備えています。 (5–66 ページの「テスト信号」を参照。) ■ <variation_name>_example_rp_top.v— 合成に使用するルート・ポートのデザイン例 のトップ・レベルです。ファイルが <variation_name>_example_rp_pipen1b.v をイ ンスタンス化します。合成したデザインは、アプリケーション層、 altpcietb_bfm_vc_intf_ast ではなく、唯一の IP PCI Express のバリエーション用の IP コンパイラが含まれていることを注意してください。代わりに、アプリケーショ ンは、バリアントのアプリケーション・インタフェースを維持するためにダミー 信号に置き換えられます。Quartus II ソフトウェアのバリエーションをコンパイル できるように、このモジュールが提供されます。 ■ altpcietb_bfm_vc_intf_ast.v— 生成される Avalon-ST インタフェースの種類に基づい て altpcietb_vc_intf_ast_64 または altpcietb_vc_intf_ast_128 のいずれかをインスタ ンス化するラッパー・モジュールです。また、ECRC 転送が有効になっていると きに使用される altpcierd_cdma_ecrc_check と altpcierd_cdma_ecrc_gen の ECRC モ ジュールをインスタンス化します。 ■ altpcietb_vc_intf_ast_64.v and altpcietb_vc_intf_ast_128.v—PCI Express のバリエー ション用の IP コンパイラとルート・ポート BFM のタスク間のインタフェースを 提供します。彼らは、altpcietb_vc_intf.v モジュールと同じ機能を提供して、PCI Express のリクエストを送信し、コンプリーションを処理します。この機能の完 全な説明については、15–28 ページの「ルート・ポート BFM」を参照してくださ い。このバージョンは、PCI Express バリエーション用の IP コンパイラに 64 ビッ トまたは 128 ビットのデータバス で Avalon-ST のシグナリングを使用します。仮 想チャネルごとに 1 つの VC インタフェースがあります。 ■ altpcietb_bfm_vc_intf_ast_common.v—altpcietb_vc_intf_ast_64.v および altpcietb_vc_intf_ast_128.v によって呼び出されるタスクが含まれています。 ■ altpcierd_cdma_ecrc_check.v—PCI Express のバリエーション用の IP コンパイラの Avalon-ST インタフェースで受信した TLP から ECRC をチェックし、削除します。 以下のサブモジュールが含まれています。 altpcierd_cdma_ecrc_check_64.v、altpcierd_rx_ecrc_64.v、altpcierd_rx_ecrc_64.vo、 altpcierd_rx_ecrc_64_altcrc.v、altpcierd_rx_ecrc_128.v, altpcierd_rx_ecrc_128.vo、 altpcierd_rx_ecrc_128_altcrc.v。これらのサブモジュールの詳細は、15–6 ページの 「チェイニング DMA デザイン例」を参照してください。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 ルート・ポートのデザイン例 ■ 15–27 altpcierd_cdma_ecrc_gen.v—PCI Express のバリエーション用の IP コンパイラの Avalon-ST インタフェースで送信した TLP に ECRC を生成し、追加します。以下の サブモジュールが含まれています。 altpcierd_cdma_ecrc_gen_calc.v、altpcierd_cdma_ecrc_gen_ctl_64.v、 altpcierd_cdma_ecrc_gen_ctl_128.v、altpcierd_cdma_ecrc_gen_datapath.v、 altpcierd_tx_ecrc_64.v、altpcierd_tx_ecrc_64.vo、altpcierd_tx_ecrc_64_altcrc.v、 altpcierd_tx_ecrc_128.v、altpcierd_tx_ecrc_128.vo、altpcierd_tx_ecrc_128_altcrc.v、 altpcierd_tx_ecrc_ctl_fifo.v、altpcierd_tx_ecrc_data_fifo.v、altpcierd_tx_ecrc_fifo.v。 これらのサブモジュールの詳細は、15–6 ページの「チェイニング DMA デザイン 例」を参照してください。 ■ altpcierd_tl_cfg_sample.v— バリアントからコンフィギュレーション・スペース信 号にアクセスします。このモジュールの詳細は、15–6 ページの「チェイニング DMA デザイン例」を参照してください。 サブディレクトリ <variation_name>_example/common/testbench のファイルは、以下の 通りです。 2011 年 5 月 ■ altpcietb_bfm_ep_example_chaining_pipen1b.vo—チェイニングDMAエンドポイント 用のシミュレーション・モデル。 ■ altpcietb_bfm_shmem.v, altpcietb_bfm_shmem_common.v— ルート・ポート・メモ リ・スペースです。このモジュールの詳細は、15–28 ページの「ルート・ポート BFM」を参照してください。 ■ altpcietb_bfm_rdwr.v— PCI Express リードおよびライトをリクエストします。この モジュールの詳細は、15–28 ページの「ルート・ポート BFM」を参照してくださ い。 ■ altpcietb_bfm_configure.v— ルート・ポイントおよびエンドポイントの PCI Express コンフィギュレーション・スペース・レジスタをコンフィギュレーションしま す。このモジュールの詳細は、15–28 ページの「ルート・ポート BFM」を参照し てください。 ■ altpcietb_bfm_log.v、および altpcietb_bfm_log_common.v— シミュレーション・ メッセージを表示し、ログします。このモジュールの詳細は、15–28 ページの 「ルート・ポート BFM」を参照してください。 ■ altpcietb_bfm_req_intf.v、および altpcietb_bfm_req_intf_common.v— altpcietb_bfm_rdwr から altpcietb_vc_intf_ast へのリクエストを管理するために使用 されるタスクが含まれています。このモジュールの詳細は、15–28 ページの 「ルート・ポート BFM」を参照してください。 ■ altpcietb_bfm_constants.v— ルート・ポート BFM によって使用されるグローバル定 数が含まれています。 ■ altpcietb_ltssm_mon.v—LTSSM ステートの遷移を表示します。 ■ altpcietb_pipe_phy.v、altpcietb_pipe_xtx2yrx.v、および altpcie_phasefifo.v—PHY のシ ミュレーションおよび回路のサポートのために使用されます。 ■ altpcie_pll_100_125.v、altpcie_pll_100_250.v、altpcie_pll_125_250.v、 altpcie_pll_phy0.v、altpcie_pll_phy1_62p5.v、altpcie_pll_phy2.v、 altpcie_pll_phy3_62p5.v、altpcie_pll_phy4_62p5.v、altpcie_pll_phy5_62p5.v— シ ミュレーション用の PLL です。バリアント用の選択された PHY インタフェースの 種類は、使用される PLL を決定します。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 ルート・ポート BFM 15–28 ■ altpcie_4sgx_alt_reconfig.v— シミュレーション用のトランシーバ・リコンフィ ギュレーション・モジュールです。 ■ altpcietb_rst_clk.v— PCI Express および基準クロックを生成します。 ルート・ポート BFM 基本的なルート・ポート BFM は、PCI Express リンクに発行されたトランザクション をリクエストするために VHDL プロシージャ・ベースまたは Verilog HDL タスク・ ベースのインタフェースを提供します。また、ルート・ポート BFM は PCI Express リ ンクから受信したリクエストを処理します。図 15–6 は、ルート・ポート BFM の概要 について説明します。 図 15‒6. ルート・ポート BFM Root Port BFM BFM Shared Memory (altpcietb_bfm_shmem) BFM Read/Write Shared Request Procedures (altpcietb_bfm_rdwr) BFM Configuration Procedures (altpcietb_bfm_configure) BFM Log Interface (altpcietb_bfm_log) BFM Request Interface (altpcietb_bfm_req_intf) Root Port RTL Model (altpcietb_bfm_rp_top_x8_pipen1b) IP Functional Simulation Model of the Root Port Interface (altpcietb_bfm_rpvar_64b_x8_pipen1b) VC0 Interface (altpcietb_bfm_vcintf) VC1 Interface (altpcietb_bfm_vcintf) 図 15–6 に含まれる各モジュールの機能を以下に説明します。 ■ BFM 共用メモリ(altpcietb_bfm_shmem VHDL パッケージ、または Verilog HDL インク ルード・ファイル))— ルート・ポート BFM は、以下の目的で使用される BFM メモリに基づいています。 ■ PCI Express リンクからすべての完了で受信したデータを保存。 ■ PCI Express リンクから受信したすべてのライト・トランザクションで受信した データを保存。 ■ PCI Express リンクから受信したリード・トランザクションに応答して、すべて の完了のデータをソーシング。 ■ PCI Express リンクに発行されたほとんどのライト・トランザクションのデータ をソーシング。唯一の例外は、呼び出しで渡されたライト・データの 4 バイ トのフィールドを持っている特定の BFM のライト・プロシージャです。 ■ サイズとエンドポイントの BAR でプログラムされた値を含むデータ構造を格 納。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 ルート・ポート BFM 15–29 プロシージャのセットは、BFM ドライバからの共用メモリを読み取り、書き込み、 塗りつぶし、およびチェックするために提供されます。これらのプロシージャの詳 細は、15–43 ページの「BFM 共用メモリ・アクセスのプロシージャ」を参照してくだ さい。 2011 年 5 月 ■ BFM リード / ライト・リクエストプロシージャ / ファンクション (altpcietb_bfm_rdwr VHDL パッケージまたは Verilog HDL インクルード・ファイ ル)— このパッケージは PCI Express のリードおよびライト・リクエストを呼び 出す基本的な BFM プロシージャを提供します。これらのプロシージャについて詳 しくは、15–37 ページの「BFM リードおよびライトのプロシージャ」を参照して ください。 ■ BFM コンフィギュレーション・プロシージャ / ファンクション (altpcietb_bfm_configure VHDL パッケージまたは Verilog HDL インクルード・ファ イル)— これらのプロシージャおよびファンクションは、PCI Express リンクおよ びエンドポイント・コンフィギュレーション・スペース・レジスタのコンフィ ギュレーションをリクエストするために呼び出す BFM を提供します。これらのプ ロシージャおよびファンクションについて詳しくは、15–42 ページの「BFM コン フィギュレーション・プロシージャ」を参照してください。 ■ BFM ログ・インタフェース(altpcietb_bfm_log VHDL パッケージまたは Verilog HDL インクルード・ファイル)—BFM ログ・インタフェースは、ログ・ファイルに応 じてシミュレータ標準出力に一般的にフォーマットされたメッセージを書き込む ためのルーチンを提供します。また、エラー時にシミュレーションを停止するコ ントロールを提供します。これらのプロシージャについて詳しくは、15–46 ペー ジの「BFM ログおよびメッセージ・プロシージャ」を参照してください。 ■ BFM リクエスト・インタフェース(altpcietb_bfm_req_intf VHDL パッケージまたは Verilog HDL インクルード・ファイル)— このインタフェースは、 altpcietb_bfm_rdwr と altpcietb_bfm_configure プロシージャまたはファンク ションとルート・ポート RTL モデル間の低レベル・インタフェースを提供しま す。このインタフェースは、内部 BFM の管理に使用されるその他の重要なデータ のように、エンドポイントの BAR レジスタでプログラムされたサイズと値を含む 書き込み保護されたデータ構造を格納します。エンドポイント・アプリケーショ ンをテストするためのテストベンチを適応させるためにこれらのファイルを直接 アクセスする必要はありません。 ■ PCI Express 用の IP コンパイラに付属しているルート・ポート BFM は、一度に PCI Express 用の IP コンパイラをテストするためにデザインされます。SOPC Builder デザイン・フローを使用している場合、正しくシミュレートするには、 SOPC Builder で生成されたシステム・ファイルでは、<variation_name>_testbench と いう PCI Express 用の IP コンパイラのテストベンチ・モジュールののいずれかを コメント・アウトする必要があります。これらのモジュールは、システム・ファ イルの終わり近くにインスタンス化されます。任意の実行するシミュレーション に使用するいずれかを選択することができます。 ■ ルート・ポート RTL モデル(altpcietb_bfm_rp_top_x8_pipen1b VHDL エンティティま たは Verilog HDL モジュール)— これは、モデルの RTL(レジスタ転送レベル)の 部分です。このモデルは、上記のモジュールからリクエストを受け取り、PCI Express リンクへのインタフェースに RTL レベルでそれらを処理します。エンドポ イント・アプリケーションをテストするためのテストベンチを適応させるために このモジュールに直接アクセスする必要はありません。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 ルート・ポート BFM 15–30 ■ VC0:3 インタフェース(altpcietb_bfm_vc_intf)— これらのインタフェース・モ ジュールがルート・ポート・インタフェース・モデル上で VC 固有のインタ フェースを処理します。BFM リクエスト・インタフェースからのリクエストを取 り込み、必要な PCI Express トランザクションを生成します。これらは PCI Express リンクから受け取ったコンプリーションを処理し、リクエストが完了したら BFM リクエスト・インタフェースに通知します。さらに、PCI Express リンクから受け 取ったすべてのリクエストを処理し、リクエストされるコンプリーションが生成 される前に、共有メモリからのデータを保存またはフェッチします。 ■ ルート・ポート・インタフェース・モデル (altpcietb_bfm_rpvar_64b_x8_pipen1b)— これは、特別にルート・ポート動作をサ ポートするために変更された IP コアのバージョンの IP 機能シミュレーション・ モデルです。そのアプリケーション層インタフェースは、エンドポイント・モー ドで使用される IP コアのアプリケーション層インタフェースと同じです。 BFM のすべてのファイルは、<variation name>_examples/common/testbench ディレクト リに MegaWizard インタフェースによって生成されます。 BFM メモリ・マップ BFM 共有メモリは 2 M バイトのように構成されます。BFM 共有メモリは、I/O スペー スの最初の 2 M バイトと、メモリ・スペースの最初の 2 M バイトにマッピングされ ます。エンドポイント・アプリケーションがこの範囲内で I/O やメモリ・トランザク ションを生成する場合、BFM は共有メモリを読み出し、書き込みます。共有メモリ や I/O アドレス・スペースの図については、15–34 ページの図 15–7 – 15–36 ページの 図 15–9 を参照してください。 コンフィギュレーション・スペース・バスおよびデバイス・ナンバ リング ルート・ポート・インタフェースは、内部バス番号 0 上のデバイス番号 0 になるよ うに割り当てられます。エンドポイントは、プロシージャ ebfm_cfg_rp_ep への呼び 出しを介して任意のバス番号上の任意のデバイス番号(0 より大きい)になるように 割り当てることができます。指定されたバス番号は、ルート・ポート・コンフィ ギュレーション・スペース内のセカンダリ・バスになるように割り当てられます。 ルート・ポートおよびエンドポイントのコンフィギュレーション エンドポイントにトランザクションを発行する前に、ルート・ポートおよびエンド ポイント・コンフィギュレーション・スペース・レジスタを設定する必要がありま す。これらのレジスタをコンフィギュレーションするには、altpcietb_bfm_configure の一部であるプロシージャ ebfm_cfg_rp_ep を呼び出します。 1 コンフィギュレーション・プロシージャおよびファンクションは、 altpcietb_bfm_configure_common.v を使用する VHDL パッケージ・ファイル altpcietb_bfm_configure.vhd または Verilog HDL インクルード・ファイル altpcietb_bfm_configure.v にあります。 ebfm_cfg_rp_ep は、コンフィギュレーション・スペースを初期化するには、次の手 順を実行します。 1. ルート・ポートは、PCI Express リンク上でトランザクションを送信できるように ルート・ポート・コンフィギュレーション・スペースを設定します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 ルート・ポート BFM 15–31 2. ルート・ポートおよびエンドポイント PCI Express 機能デバイス・コントロール・ は次のように設定します。 a. ルート・ポートおよびエンドポイントの両方の Error Reporting をディセー ブルにします。BFM は、エラー処理機能を持っていません。 b. ルート・ポートおよびエンドポイントの両方の Relaxed Ordering をイネーブ ルにします。 c. エンドポイントが可能であれば、エンドポイントの Extended Tags をイネー ブルにします。 d. ルート・ポートおよびエンドポイントの両方の Phantom Functions、Aux Power PM、および No Snoop をディセーブルにします。 e. ルート・ポートは最大ペイロード・サイズをサポートするので、エンドポイ ントがサポートするものに Max Payload Size を設定します。 f. エンドポイント・デザイン例は必要なだけ多くリードのコンプリーションに 分割することをサポートするので、4 K バイトにルート・ポート Max Read Request Size を設定します。 g. ルート・ポートはリード・リクエストを複数のコンプリーションに分割するこ とをサポートしていないため、エンドポイント Max Read Request Size を Max Payload Size に等しく設定します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 ルート・ポート BFM 15–32 3. すべてのエンドポイント BAR レジスタに値を割り当てます。BAR アドレスは、以 下に概説するアルゴリズムによって割り当てられます。 a. I/O BAR には、I/O 領域内の BFM 共有メモリの終了アドレスのすぐ上から開始 し、必要に応じて 32 ビット I/O 領域全体にわたって継続する、最小値から最 大値までのアドレスが割り当てられます。詳細は、15–36 ページの図 15–9 を 参照してください。 b. 32 ビット・プリフェッチ不能メモリ BAR には、メモリ領域内の BFM 共有メモ リの終了アドレスのすぐ上から開始し、必要に応じて 32 ビット・メモリ領域 全体にわたって継続する、最小値から最大値までのアドレスが割り当てられ ます。 c. 32 ビットのプリフェッチおよび 64 ビットのプリフェッチ可能メモリ BAR の 割り当ては ebfm_cfg_rp_ep への addr_map_4GB_limit 入力の値に基づいてい ます。addr_map_4GB_limit のデフォルト値は 0 です。 ebfm_cfg_rp_ep への addr_map_4GB_limit 入力が 0 に設定されている場合、32 ビットのプリフェッチ可能メモリ BAR には、32 ビット・メモリ領域のトップ から開始し、必要に応じて最後の 32 ビット・プリフェッチ不能 BAR の終了ア ドレスに継続する、最大値から最小値までのアドレスが割り当てられます。 しかし、addr_map_4GB_limit 入力が 1 に設定されている場合、アドレス・ マップが 4 G バイトに制限されます。また、32 ビットおよび 64 ビットのプリ フェッチ可能メモリ BAR には、32 ビット・メモリ領域のトップから開始し、 必要に応じて最後の 32 ビット・プリフェッチ不能 BAR の終了アドレスに継続 する、最大値から最小値までのアドレスが割り当てられます。 d. ebfm_cfg_rp_ep への addr_map_4GB_limit 入力が 0 に設定されている場合、 64 ビット・プリフェッチ可能メモリ BAR には、4 G バイト・アドレスから開 始し、フル 64 ビット・メモリ領域にわたって 4 G バイトの制限を超えて上昇 するメモリを割り当てる最小値から最大値までのアドレスが割り当てられま す。15–35 ページの図 15–8 を参照してください。 ebfm_cfg_rp_ep への addr_map_4GB_limit 入力が 1 に設定されている場合、32 ビットおよび 64 ビットのプリフェッチ可能メモリ BAR には、4 G バイト・ア ドレスから開始し、必要に応じて最後の 32 ビット・プリフェッチ不能 BAR の 終了アドレスまでアドレス・メモリに 4 G バイト・アドレスの下の降順に よって、メモリを割り当てる最大値から最小値までのアドレスが割り当てら れます。15–34 ページの図 15–7 を参照してください。 非常に大きい 32 ビット BAR(1 G バイト以上)はいくつかがある場合、上記のア ルゴリズムは、常にすべての BAR に値を割り当てることはできません。すべての BAR にアドレスを割り当てることは可能ですが、より複雑なアルゴリズムが効果 的にこれらのアドレスを割り当てるために必要とされることがあります。しか し、このようなコンフィギュレーションは、実際のシステムで役に立ちそうには ありません。プロシージャは BAR を割り当てることができない場合は、エラー・ メッセージを表示し、シミュレーションを停止します。 4. 上の BAR の割り当てに基づいて、ルート・ポート・コンフィギュレーション・ス ペース・アドレスのウィンドウは有効な BAR アドレス範囲を包含するように割り 当てられます。 5. エンドポイントの PCI コントロール・レジスタは、マスタのトランザクション、 メモリ・アドレスのデコード、および I/O アドレスのデコードを可能にするため に設定されます。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 ルート・ポート BFM 15–33 また、ebfm_cfg_rp_ep プロシージャは、すべてのエンドポイント BAR のサイズと割 り当てられたアドレスをリストする BFM 共有メモリ内で bar_table データ構造を設 定します。BFM 共有メモリのこの領域は、ライト保護です。これは、任意のユー ザーはこの領域にライト・アクセスすると、致命的なシミュレーション・エラーが 発生することを意味します。その後、このデータ構造は BAR からの特定のオフセッ トへのライト・リクエストおよびリード・リクエストのフル PCI Express アドレスを 生成するために、以降の BFM プロシージャの呼び出しによって使用されます。この プロシージャでは、BAR からのオフセットを使用して、BAR に割り当てられた固有 のアドレスを追跡する必要がないように書き込まれるように、エンドポイントのア プリケーション層にアクセスするテストベンチ・コードが可能になります。表 15–22 に、それらのオフセットが使用されている方法を示します。 表 15‒22. BAR テーブルの構造 オフセット (バイト) 説明 +0 BAR0 の PCI Express アドレス +4 BAR1 の PCI Express アドレス +8 BAR2 の PCI Express アドレス +12 BAR3 の PCI Express アドレス +16 BAR4 の PCI Express アドレス +20 BAR5 の PCI Express アドレス +24 拡張 ROM BAR の PCI Express アドレス +28 予約済み +32 すべての 1 で書き込まれた後の BAR0 リード・バック値(サイズを計 算するために使用) +36 すべての 1 で書き込まれた後の BAR1 リード・バック値 +40 すべての 1 で書き込まれた後の BAR2 リード・バック値 +44 すべての 1 で書き込まれた後の BAR3 リード・バック値 +48 すべての 1 で書き込まれた後の BAR4 リード・バック値 +52 すべての 1 で書き込まれた後の BAR5 リード・バック値 +56 すべての 1 で書き込まれた後の拡張 ROM BAR リード・バック値 +60 予約済み コンフィギュレーション・ルーチンは、仮想チャネル機能や高度なエラー報告機能 などの任意の高度な PCI Express 機能をコンフィギュレーションしていません。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 ルート・ポート BFM 15–34 altpcietb_bfm_configure の ebfm_cfg_rp_ep プロシージャに加えて、直接にリードお よびライトのエンドポイント・コンフィギュレーション・スペースのルーティンは、 altpcietb_bfm_rdwr VHDL パッケージまたは Verilog HDL インクルード・ファイルで使 用可能です。ebfm_cfg_rp_ep プロシージャを実行した後、次の 3 つの図で説明した ように PCI Express I/O およびメモリ・スペースはレイアウトがあります。メモリ・ス ペース・レイアウトは addr_map_4GB_limit 入力パラメータの値に依存します。 addr_map_4GB_limit が 1 の場合、メモリ・スペース・マップの結果は図 15–7 に示さ れています。 図 15‒7. メモリ・スペース・レイアウト ̶4 G バイトの制限 Addr 0x0000 0000 Root Complex Shared Memory 0x001F FF80 Configuration Scratch Space Used by BFM routines , not writable by user calls or endpoint 0x001F FFC0 BAR Table Used by BFM routines , not writable by user calls or endpoint 0x0020 0000 Endpoint Non Prefetchable Memory Space BARs Assigned Smallest to Largest Unused Endpoint Memory Space BARs (Prefetchable 32 -bit and 64-bit) Assigned Smallest to Largest 0xFFFF FFFF PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 ルート・ポート BFM 15–35 addr_map_4GB_limit が 0 の場合、メモリ・スペース・マップの結果は、図 15–8 に示 されています。 図 15‒8. メモリ・スペース・レイアウト ̶ 制限なし Addr 0x0000 0000 Root Complex Shared Memory 0x001F FF80 0x001F FFC0 Configuration Scratch Space Used by BFM routines not writable by user calls or endpoint BAR Table Used by BFM routines not writable by user calls or endpoint 0x0020 0000 BAR size dependent Endpoint Non Prefetchable Memory Space BARs Assigned Smallest to Largest Unused BAR size dependent 0x0000 0001 0000 0000 Endpoint Memory Space BARs (Prefetchable 32 bit) Assigned Smallest to Largest Endpoint Memory Space BARs (Prefetchable 64 bit) Assigned Smallest to Largest BAR size dependent Unused 0xFFFF FFFF FFFF FFFF 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 ルート・ポート BFM 15–36 図 15–9 に、I/O アドレス・スペースを示します。 図 15‒9. I/O アドレス・スペース Addr 0x0000 0000 Root Complex Shared Memory 0x001F FF80 0x001F FFC0 Configuration Scratch Space Used by BFM routines not writable by user calls or endpoint BAR Table Used by BFM routines not writable by user calls or endpoint 0x0020 0000 Endpoint /O Space BARs Assigned Smallest to Largest BAR size dependent Unused 0xFFFF FFFF アプリケーション層へのリードおよびライト・トランザクションの 発行 リードおよびライト・トランザクションは altpcietb_bfm_rdwr の ebfm_bar プロシー ジャのいずれかを呼び出すことにより、エンドポイント・アプリケーション層に発 行されます。下記のプロシージャとファンクションは、VHDL パッケージ・ファイル の altpcietb_bfm_rdwr.vhd または Verilog HDL インクルード・ファイルの altpcietb_bfm_rdwr.v で使用可能です。使用できるプロシージャとファンクションの 完全なリストは、次の通りです。 ■ ebfm_barwr— 特定のエンドポイント BAR からのオフセットに BFM 共有メモリから のデータを書き込みます。このプロシージャは、送信のために VC インタフェー ス・モジュールにリクエストが渡されるとすぐに戻ります。 ■ ebfm_barwr_imm— 特定のエンドポイント BAR からのオフセットに最大 4 バイトの の即時データ(プロシージャ・コールに渡された)を書き込みます。このプロ シージャは、送信のために VC インタフェース・モジュールにリクエストが渡さ れるとすぐに戻ります。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–37 ■ ebfm_barrd_wait— 特定のエンドポイント BAR のオフセットからデータを読み取 り、BFM 共有メモリに格納します。このプロシージャは、呼び出し元に制御を戻 す前に返されるコンプリーション・データのウェイティングをブロックします。 ■ ebfm_barrd_nowt— 特定のエンドポイント BAR のオフセットからデータを読み取 り、BFM 共有メモリに格納します。このプロシージャは、送信のために VC イン タフェース・モジュールにリクエストが渡されるとすぐに戻り、その間に以降の リードが発行することが可能です。 これらのルーチンは、ebfm_cfg_rp_ep プロシージャによって設定された bar_table データ構造のメモリ・スペースと BFM 共有メモリ・アドレスにアクセスするために、 パラメータとして BAR 番号を受け取ります。(15–30 ページの「ルート・ポートおよ びエンドポイントのコンフィギュレーション」を参照)。これらのパラメータを使用 すると、特定の BAR からのオフセットにアクセスする BFM テスト・ドライバ・ルー チンを簡素化し、指定された BAR に割り当てられたアドレスの計算を排除します。 ルート・ポート BFM は、エンドポイントの I/O 領域 BAR へのアクセスをサポートし ていません。 これらのプロシージャ・コールの詳細については、15–37 ページの「BFM リードおよ びライトのプロシージャ」の項を参照してください。 BFM プロシージャおよびファンクション この項では、BFM ドライバがエンドポイント・アプリケーションのテストをドライ ブするために使用するすべての BFM プロシージャ、ファンクションおよびタスクへ のインタフェースについて説明します。 1 最後のサブセクションでは、チェイニング DMA デザイン例に固有のプロシージャに ついて説明します。 この項では、適用可能な箇所で VHDL プロシージャおよびファンクションと Verilog HDL のファンクションおよびタスクの両方について説明します。ほとんどの VHDL の プロシージャは Verilog HDL のタスクとして実装されていますが、いくつかの VHDL のプロシージャは、これらのファンクションは他の Verilog HDL のファンクションか ら呼び出すことができるように Verilog HDL のファンクションではなく、Verilog HDL のタスクとして実装されています。明示的に指定しない限り、次の項でのすべてのプ ロシージャも Verilog HDL のタスクとして実装されています。 1 他のプロシージャによって呼び出されるいくつかの基本的な Verilog HDL のプロシー ジャやファンクションは、通常 VHDL パッケージに隠されています。これらの文書化 されていないプロシージャを呼び出す必要はありません。 BFM リードおよびライトのプロシージャ この項では、BFM 共有メモリ、エンドポイント BAR、および指定されたコンフィ ギュレーション・レジスタの間のデータを読み書きするために使用するプロシー ジャについて説明します。 次のプロシージャおよびファンクションは、VHDL パッケージ altpcietb_bfm_rdwr.vhd または Verilog HDL インクルード・ファイル altpcietb_bfm_rdwr.v に使用可能です。こ れらのプロシージャおよびファンクションは、PCI Express リンク上で発行するメモ リおよびコンフィギュレーション・トランザクションをサポートしています。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–38 すべての VHDL 引数は、特に記述がない限りサブタイプ natural で入力専用です。 すべての Verilog HDL 引数は整数型であり、特に指定のない限り、入力専用です。す べての Verilog HDL 引数は、特に記述がない限り integer 型で入力専用です。 ebfm_barwr プロシージャ ebfm_barwr プロシージャは、指定されたエンドポイント BAR からのオフセットに BFM 共有メモリからのデータのブロックを書き込みます。長さはコンフィギュレーショ ンされた MAXIMUM_PAYLOAD_SIZE より長くなる場合があるため、プロシージャは必要 に応じてリクエストを複数のトランザクションに分割します。このルーティンは、 最後のトランザクションが VC インタフェース・モジュールによって受け入れられる とすぐに戻ります。 表 15‒23. ebfm_barwr プロシージャ 位置 altpcietb_bfm_rdwr.v または altpcietb_bfm_rdwr.vhd 構文 ebfm_barwr(bar_table, bar_num, pcie_offset, lcladdr, byte_len, tclass) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。ドライバ・ コードは BAR からのアプリケーション特定のオフセットのみを注意して、実 際の割り当てアドレスを注意する必要はないので、bar_table 構造は各 BAR に割り当てアドレスを格納します。 bar_num PCI Express アドレスを決定するために pcie_offset で使用される BAR の番号。 pcie_offset BAR ベースからのアドレス・オフセット。 lcladdr 書き込まれるデータの BFM 共有メモリ・アドレス。 byte_len 書き込まれるデータの長さ(バイト数)。BAR 領域または BFM 共有メモリ内の 残りの最小バイト数は 1 からになります。 tclass PCI Express トランザクションに使用するトラフィック・クラス。 ebfm_barwr_imm プロシージャ bfm_barwr_imm プロシージャは、指定されたエンドポイント BAR からのオフセットに 最大 4 バイトのデータを書き込みます。 表 15‒24. ebfm_barwr_imm プロシージャ ( その1 ) 位置 altpcietb_bfm_rdwr.v または altpcietb_bfm_rdwr.vhd 構文 ebfm_barwr_imm(bar_table, bar_num, pcie_offset, imm_data, byte_len, tclass) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。ドライバ・ コードは BAR からのアプリケーション特定のオフセットのみを注意して、実 際の割り当てアドレスを注意する必要はないので、bar_table 構造は各 BAR に割り当てアドレスを格納します。 bar_num PCI Express アドレスを決定するために pcie_offset で使用される BAR の番号。 pcie_offset BAR ベースからのアドレス・オフセット。 書き込まれるデータ。VHDL では、この引数は std_logic_vector(31 downto 0) です。Verilog HDL では、この引数は reg [31:0] です。両言語では、書き込ま れるビットは次のように長さにイゾンします。 書き込まれる長さビット imm_data 4 31 downto 0 3 23 downto 0 2 15 downto 0 1 7 downto 0 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–39 表 15‒24. ebfm_barwr_imm プロシージャ ( その2 ) byte_len 書き込まれるデータの長さ(バイト数)。長さは最大 4 バイトです。 tclass PCI Express トランザクションに使用するトラフィック・クラス。 ebfm_barrd_wait プロシージャ ebfm_barrd_wait プロシージャは、指定されたエンドポイント BAR のオフセットから データのブロックを読み出し、BFM 共有メモリに格納します。長さはコンフィギュ レーションされた最大読み出しリクエストサイズより長くなる場合があるため、プ ロシージャは必要に応じてリクエストを複数のトランザクションに分割します。こ のプロシージャは、すべてのコンプリーション・データが返されるまで待機し、共 有メモリに格納します。 表 15‒25. ebfm_barrd_wait プロシージャ 位置 altpcietb_bfm_rdwr.v または altpcietb_bfm_rdwr.vhd 構文 ebfm_barrd_wait(bar_table, bar_num, pcie_offset, lcladdr, byte_len, tclass) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。ドライ バ・コードは BAR からのアプリケーション特定のオフセットのみを注意 して、実際の割り当てアドレスを注意する必要はないので、bar_table 構造は各 BAR に割り当てアドレスを格納します。 bar_num PCI Express アドレスを決定するために pcie_offset で使用される BAR の 番号。 pcie_offset BAR ベースからのアドレス・オフセット。 lcladdr リード・データが格納されている BFM 共用メモリ・アドレス。 byte_len 読み出されるデータの長さ(バイト数)。BAR 領域または BFM 共有メモ リ内の残りの最小バイト数は 1 からになります。 tclass PCI Express トランザクションに使用するトラフィック・クラス。 ebfm_barrd_nowt プロシージャ ebfm_barrd_nowt プロシージャは、指定されたエンドポイント BAR のオフセットから データのブロックを読み出し、BFM 共有メモリに格納します。長さはコンフィギュ レーションされた最大読み出しリクエストサイズより長くなる場合があるため、プ ロシージャは必要に応じてリクエストを複数のトランザクションに分割します。こ のルーチンは、最後のリード・トランザクションが VC インタフェース・モジュール によって受け入れられるとすぐに戻り、以降のリードがすぐに発行することができ ます。 表 15‒26. ebfm_barrd_nowt プロシージャ 位置 altpcietb_bfm_rdwr.v または altpcietb_bfm_rdwr.vhd 構文 ebfm_barrd_nowt(bar_table, bar_num, pcie_offset, lcladdr, byte_len, tclass) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 bar_num PCI Express アドレスを決定するために pcie_offset で使用される BAR の番号。 pcie_offset BAR ベースからのアドレス・オフセット。 lcladdr リード・データが格納されている BFM 共用メモリ・アドレス。 byte_len 読み出されるデータの長さ(バイト数) 。BAR 領域または BFM 共有メ モリ内の残りの最小バイト数は 1 からになります。 tclass PCI Express トランザクションに使用するトラフィック・クラス。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–40 ebfm_cfgwr_imm_wait プロシージャ ebfm_cfgwr_imm_wait プロシージャは、指定されたコンフィギュレーション・レジス タにデータの 4 バイトまで書き込みます。このプロシージャでは、ライト・コンプ リーションが返されるまで待機します。 表 15‒27. ebfm_cfgwr_imm_wait プロシージャ 位置 altpcietb_bfm_rdwr.v または altpcietb_bfm_rdwr.vhd 構文 ebfm_cfgwr_imm_wait(bus_num, dev_num, fnc_num, imm_regb_ad, regb_ln, imm_data, compl_status 引数 bus_num ターゲット・デバイスの PCI Express バス番号。 dev_num ターゲット・デバイスの PCI Express デバイス番号。 fnc_num アクセスするターゲット・デバイスのファンクション番号。 regb_ad 書き込まれるレジスタのバイト固有アドレス。 regb_ln 書き込まれるデータの長さ(バイト数)。長さは最大 4 バイトです。regb_ln および regb_ad の引数は、DWORD の境界を越えることはできません。 書き込まれるデータ。 VHDL では、この引数は std_logic_vector(31 downto 0) です。 Verilog HDL では、この引数は reg [31:0] です。 両言語では、書き込まれたビットは長さによって異なります。 imm_data 長さ 書き込まれたビット 4 31 downto 0 3 23 downto 0 2 5 downto 0 1 7 downto 0 VHDL では、この引数は std_logic_vector(2 downto 0) であり、戻りのプロ シージャで設定されています。 Verilog HDL では、この引数は reg [2:0] です。 両言語では、この引数は PCI Express 仕様で指定されたコンプリーション・ス テータスです。 compl_status Compl_Status 定義 000SC— 正常な完了 001UR— サポートされていないリクエスト 010CRS — コンフィギュレーションリクエストの再試行ステータス 100CA — コンプリータのアボート ebfm_cfgwr_imm_nowt プロシージャ ebfm_cfgwr_imm_nowt プロシージャは、指定されたコンフィギュレーション・レジス タに最大 4 バイトのデータを書き込みます。このプロシージャは、VC インタフェー ス・モジュールがトランザクションを受け入れるとすぐに戻り、その間に他のライ トが発行されることが可能です。正常に完了したというステータスが期待されてい る場合にのみ、このプロシージャを使用します。 表 15‒28. ebfm_cfgwr_imm_nowt プロシージャ ( その1 ) 位置 altpcietb_bfm_rdwr.v or altpcietb_bfm_rdwr.vhd 構文 ebfm_cfgwr_imm_nowt(bus_num, dev_num, fnc_num, imm_regb_adr, regb_len, imm_data) PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–41 表 15‒28. ebfm_cfgwr_imm_nowt プロシージャ ( その2 ) bus_num ターゲット・デバイスの PCI Express バス番号。 dev_num ターゲット・デバイスの PCI Express デバイス番号。 fnc_num アクセスするターゲット・デバイスのファンクション番号。 regb_ad 書き込まれるレジスタのバイト固有アドレス。 regb_ln 書き込まれるデータの長さ(バイト数)。長さは最大 4 バイトです。regb_ln お よび regb_ad の引数は、DWORD の境界を越えることはできません。 書き込まれるデータ。 VHDL では、この引数は std_logic_vector(31 downto 0) です。 引数 Verilog HDL では、この引数は reg [31:0] です。 両言語では、書き込まれるビットは長さによって異なります。 imm_data 長さ 書き込まれるビット数 4 [31:0] 3 [23:0] 2 [15:0] 1 [7:0] ebfm_cfgrd_wait プロシージャ ebfm_cfgrd_wait プロシージャは、指定されたコンフィギュレーション・レジスタ に最大 4 バイトのデータを読み出し、BFM 共用メモリに格納します。このプロシー ジャは、リード・コンプリーションが返されるまで待機します。 表 15‒29. ebfm_cfgrd_wait プロシージャ 位置 altpcietb_bfm_rdwr.v または altpcietb_bfm_rdwr.vhd 構文 ebfm_cfgrd_wait(bus_num, dev_num, fnc_num, regb_ad, regb_ln, lcladdr, compl_status) bus_num ターゲット・デバイスの PCI Express バス番号。 dev_num ターゲット・デバイスの PCI Express デバイス番号。 fnc_num アクセスするターゲット・デバイスのファンクション番号。 regb_ad 書き込まれるレジスタのバイト固有アドレス。 regb_ln 読み出されるデータの長さ(バイト数) 。長さは最大 4 バイトです。regb_ln および regb_ad の引数は、DWORD の境界を越えることはできません。 lcladdr リード・データはどこに配置するかの BFM 共用メモリ・アドレス。 コンフィギュレーション・トランザクションのコンプリーション・ステータ ス。 引数 VHDL では、この引数は std_logic_vector(2 downto 0) であり、戻りのプロ シージャで設定されています。 Verilog HDL では、この引数は reg [2:0] です。 compl_status 両言語では、この引数は PCI Express 仕様で指定されたコンプリーション・ス テータスです。 Compl_Status 定義 000SC— 正常な完了 001UR— サポートされていないリクエスト 010CRS — コンフィギュレーションリクエストの再試行ステータス 100CA — コンプリータのアボート 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–42 ebfm_cfgrd_nowt プロシージャ ebfm_cfgrd_nowt プロシージャは、指定されたコンフィギュレーション・レジスタに 最大 4 バイトのデータを読み出し、BFM 共用メモリに格納します。このプロシー ジャは、VC インタフェース・モジュールがトランザクションを受け入れるとすぐに 戻り、その間に他のライトが発行されることが可能です。正常に完了したというス テータスが期待されている場合、およびウェイトを持つ以降のリードまたはライト がこの動作の完了を保証するために使用できる場合にのみ、このプロシージャを使 用します。 表 15‒30. ebfm_cfgrd_nowt プロシージャ 位置 altpcietb_bfm_rdwr.v または altpcietb_bfm_rdwr.vhd 構文 ebfm_cfgrd_nowt(bus_num, dev_num, fnc_num, regb_ad, regb_ln, lcladdr) 引数 bus_num ターゲット・デバイスの PCI Express バス番号。 dev_num ターゲット・デバイスの PCI Express デバイス番号。 fnc_num アクセスするターゲット・デバイスのファンクション番号。 regb_ad 書き込まれるレジスタのバイト固有アドレス。 regb_ln 書き込まれるデータの長さ(バイト数)。長さは最大 4 バイトです。regb_ln および regb_ad の引数は、DWORD の境界を越えることはできません。 lcladdr リード・データはどこに配置するかの BFM 共用メモリ・アドレス。 BFM コンフィギュレーション・プロシージャ 次のプロシージャは、altpcietb_bfm_configure で使用できます。これらのプロシー ジャは、ルート・ポートとエンドポイントのコンフィギュレーション・スペース・ レジスタのコンフィギュレーションをサポートします。 すべての VHDL 引数は、特に記述がない限りサブタイプ natural で入力専用です。 すべての Verilog HDL 引数は、特に記述がない限り integer 型で入力専用です。 ebfm_cfg_rp_ep プロシージャ ebfm_cfg_rp_ep プロシージャは、動作のルート・ポートおよびエンドポイント・コ ンフィギュレーション・スペース・レジスタをコンフィギュレーションします。こ のプロシージャの引数の詳細は、表 15–31 を参照してください。 表 15‒31. ebfm_cfg_rp_ep プロシージャ ( その1 ) 位置 altpcietb_bfm_configure.v または altpcietb_bfm_configure.vhd 構文 ebfm_cfg_rp_ep(bar_table, ep_bus_num, ep_dev_num, rp_max_rd_req_size, display_ep_config, addr_map_4GB_limit) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。この ルーティンは bar_table 構造を移入します。bar_table 構造は、各 BAR のサイズおよび各 BAR に割り当てられるアドレス値を格納しま す。bar_table 構造のアドレスは、すべての以降のリードとライト・ プロシージャの呼び出しに渡され、特定の BAR からのオフセットにア クセスします。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–43 表 15‒31. ebfm_cfg_rp_ep プロシージャ ( その2 ) ep_bus_num ターゲット・デバイスの PCI Express バス番号。この番号は、0 より大 きい任意の値を指定できます。ルート・ポートはセカンダリ・バス番 号としてこれを使用します。 ep_dev_num ターゲット・デバイスの PCI Express デバイス番号。この番号は、任意 の値を指定できます。それが最初のコンフィギュレーション・トラン ザクションを受信した時に、エンドポイントは自動的にこの値を割り 当てられます。 rp_max_rd_req_size ルート・ポートで発行されるリードの最大リード・リクエストサイズ (バイト数)。このパラメータはエンドポイント・アプリケーション・ 例やでサポートされる最大の値に設定する必要があります。アプリ ケーション・レイヤは MAXIMUM_PAYLOAD_SIZE のリードのみサポート する場合、このパラメータを 0 に設定することができ、リード・リク エストサイズは最大のペイロード・サイズに設定されます。この引数 の有効な値は 0、128、256、512、1,024、2,048 および 4,096 です。 display_ep_config 1 に設定すると、多くのエンドポイント・コンフィギュレーション・ スペース・レジスタは初期化された後に表示されます。それによって、 通常、デバイス ID とベンダ ID などのコンフィギュレーション・プロ セス中にアクセスできないいくつかの追加のレジスタのリードを引き 起こします。 addr_map_4GB_limit 1 に設定すると、シミュレーション・システムのアドレス・マップが 4 G バイトに制限されます。任意の 64 ビット BAR は 4 G バイトの制限 の下に割り当てられます。 ebfm_cfg_decode_bar プロシージャ ebfm_cfg_decode_bar プロシージャは、指定された BAR 用の BAR テーブルの情報を解 析し、BAR 属性に関する詳細を返します。 表 15‒32. ebfm_cfg_decode_bar プロシージャ 位置 altpcietb_bfm_configure.v または altpcietb_bfm_configure.vhd 構文 ebfm_cfg_decode_bar(bar_table, bar_num, log2_size, is_mem, is_pref, is_64b) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 bar_num 分析する BAR 番号。 log2_size この引数は、プロシージャによって BAR のサイズのログ・ベース 2 に設定されま す。BAR がイネーブルになっていない場合、この引数は 0 に設定されます。 is_mem プロシージャは、BAR がメモリ・スペース BAR (1) または I/O スペース BAR (0) で あるかどうかを示すためにこの引数を設定します。 is_pref プロシージャは、BAR がプリフェッチ可能 BAR (1) またはプリフェッチ不能 BAR (0) であるかどうかを示すためにこの引数を設定します。 is_64b プロシージャは、BAR が 64 ビットの BAR (1) または 32 ビットの BAR (0) であるか どうかを示すためにこの引数を設定します。ペアの小さい番号の BAR の場合、1 に設定されます。 BFM 共用メモリ・アクセスのプロシージャ 次のプロシージャおよびファンクションは、テストベンチのトップ・レベルでイン スタンス化されたモジュール altpcietb_bfm_shmem_common.v を使用して VHDL ファ イル altpcietb_bfm_shmem.vhd または Verilog HDL インクルード・ファイル altpcietb_bfm_shmem.v で提供されます。これらのプロシージャおよびファンクショ ンは、BFM 共有メモリへのアクセスをサポートします。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–44 すべての VHDL 引数は、特に記述がない限りサブタイプ natural で入力専用です。 すべての Verilog HDL 引数は、特に記述がない限り integer 型で入力専用です。 共用メモリ定数 以下の定数は、BFM 共有メモリ・パッケージで定義されています。彼らは shmem_fill と shmem_chk_ok ルーチン内のデータ・パターンを選択します。これらの 共有メモリ定数はすべて VHDL のサブタイプ natural または Verilog HDL の integer 型です。 表 15‒33. 定数:VHDL サブタイプ NATURAL または Verilog HDL の INTEGER 型 定数 説明 SHMEM_FILL_ZEROS すべての 0 のデータ・パターンを指定します。 SHMEM_FILL_BYTE_INC 増加する 8 ビット・バイトのデータ・パターンを指定します (0×00、0×01、 0×02、など。) SHMEM_FILL_WORD_INC 増加する 16 ビット・ワードのデータ・パターンを指定します(0x0000、 0x0001、0x0002、など)。 SHMEM_FILL_DWORD_INC 増加する 32 ビット dword のデータ・パターンを指定します(0x00000000、 0x00000001、0x00000002、など)。 SHMEM_FILL_QWORD_INC 増加する 64 ビット qword のデータ・パターンを指定します (0x0000000000000000、0x0000000000000001、0x0000000000000002、など)。 SHMEM_FILL_ONE すべての 1 のデータ・パターンを指定します。 shmem_write shmem_write プロシージャは BFM 共用メモリにデータを書き込みます。 表 15‒34. shmem_write VHDL プロシージャまたは Verilog HDL タスク 位置 altpcietb_bfm_shmem.v または altpcietb_bfm_shmem.vhd 構文 shmem_write(addr, data, leng) 引数 addr データを書き込む用の BFM 共用メモリ開始アドレス。 BFM 共用メモリに書き込まれるデータ。 data leng VHDL では、この引数は制約されていない std_logic_vector です。このベクトル は leng の長さの 8 倍でなければなりません。Verilog では、このパラメータは 64 ビット・ベクトルとして実装されます。leng は 1 ~ 8 バイトです。両言語では、 ビット 7 downto 0 は addr で指定された場所に書き込まれます。ビット 15 downto 8 は addr+1 場所に書き込まれ、続きます。 書き込まれるデータの長さ(バイト数) 。 shmem_read ファンクション shmem_read ファンクションは BFM 共用メモリへのデータを読み出します。 表 15‒35. shmem_read ファンクション 位置 構文 引数 altpcietb_bfm_shmem.v または altpcietb_bfm_shmem.vhd data:= shmem_read(addr, leng) addr データを読み出す用の BFM 共用メモリ開始アドレス。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–45 表 15‒35. shmem_read ファンクション 読み出されるデータの長さ(バイト数)。 leng BFM 共用メモリから読み出されるデータ。 戻り値 VHDL では、この引数は制約されていない std_logic_vector です。このベクトル は leng の長さの 8 倍でなければなりません。Verilog では、このパラメータは 64 ビット・ベクトルとして実装されます。leng は 1 ~ 8 バイトです。leng が 8 バイ ト未満の場合、返されるデータに対応する最下位ビットのみ有効です。 data 両言語では、ビット 7 downto 0 は addr で指定された場所に読み出されます。ビッ ト 15 downto 8 は addr+1 場所に読み出され、続きます。 shmem_display VHDL プロシージャまたは Verilog HDL ファンクション shmem_display VHDL プロシージャまたは Verilog HDL ファンクションは BFM 共用メモ リからのデータのブロックを表示します。 表 15‒36. shmem_display VHDL プロシージャまたは Verilog ファンクション 位置 altpcietb_bfm_shmem.v または altpcietb_bfm_shmem.vhd VHDL: shmem_display(addr, leng, word_size, flag_addr, msg_type) 構文 Verilog HDL: dummy_return:=shmem_display(addr, leng, word_size, flag_addr, msg_type); 引数 addr データを表示する用の BFM 共用メモリ開始アドレス。 leng 表示するデータの長さ(バイト数)。 word_size 表示するワードのサイズ。ワードに個別のバイトをグループします。有効な値は 1、2、4、および 8 です。 flag_addr このアドレスを含む表示ラインの終了に <== フラグを追加します。特定のデータ をマーキングするのに便利です。フラグを抑制するために 2 **21(BFM 共有メモ リのサイズ)より大きい値に設定します。 msg_type 各行の先頭に表示されるメッセージ・タイプを指定します。メッセージ・タイプ の詳細は、15–46 ページの「BFM ログおよびメッセージ・プロシージャ」を参照 してください。15–47 ページの表 15–39 で定義された定数のうちに設定します。 shmem_fill プロシージャ shmem_fill プロシージャは、特定のデータ・パターンで BFM 共用メモリのブロック を入れ込みます。 表 15‒37. shmem_fill プロシージャ 位置 altpcietb_bfm_shmem.v または altpcietb_bfm_shmem.vhd 構文 shmem_fill(addr, mode, leng, init) 引数 addr データを入れ込む用の BFM 共有メモリ開始アドレス。 mode データを入れ込む用のデータ・パターン。データ・パターンは、15–44 ページの「共用メモ リ定数」で定義されている定数のいずれかでなければなりません。 leng 入れ込まれるデータの長さ(バイト数) 。長さが増加するデータ・パターン幅の倍数ではな い場合、最後のデータ・パターンを適合させるように切り捨てられます。 init VHDL で増加しているデータ・パターン・モードに使用される初期データ値です。この引数 はタイプ std_logic_vector(63 downto 0) です。Verilog HDL では、この引数は reg [63:0] です。 両言語とも、必要な最下位ビットは 64 ビットより小さいデータ・パターンに使用されます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–46 shmem_chk_ok ファンクション shmem_chk_ok ファンクションは、指定されたデータ・パターンに対して BFM 共有メ モリのブロックをチェックします。 表 15‒38. shmem_chk_ok ファンクション 位置 altpcietb_bfm_shmem.v または altpcietb_bfm_shmem.vhd 構文 result:= shmem_chk_ok(addr, mode, leng, init, display_error) addr データをチェックする用の BFM 共用メモリ開始アドレス。 mode データをチェックする用のデータ・パターン。15–44 ページの「共用メモリ定数」 で定義された定数のいずれかでなければなりません。 leng チェックするデータの長さ(バイト数)。 init VHDL では、この引数はタイプ std_logic_vector(63 downto 0) です。Verilog HDL では、この引数は reg [63:0] です。両言語とも、必要な最下位ビットは 64 ビッ トより小さいデータ・パターンに使用されます。 display_error 1 に設定すると、この引数はシミュレータ標準出力に誤比較データが表示されま す。 引数 戻り値 Result 結果は VHDL タイプ Boolean です。 TRUE— データ・パターンは正常に比較。 FALSE— データ・パターンは正常に比較できない。 Verilog HDL の結果は 1 ビットです。 1’b1 — データ・パターンは正常に比較。 1’b0 — データ・パターンは正常に比較できない。 BFM ログおよびメッセージ・プロシージャ 次のプロシージャおよびファンクションは、テストベンチのトップ・レベルでイン スタンス化された altpcietb_bfm_log_common.v モジュールを使用して VHDL パッケー ジ・ファイル altpcietb_bfm_log.vhd または Verilog HDL インクルード・ファイル altpcietb_bfm_log.v で提供されます。 これらのプロシージャは、一般的なフォーマットで情報メッセージの表示、情報 メッセージの抑制、および特定のメッセージ・タイプでシミュレーションの停止の サポートを提供しています。 ログ定数 以下の定数は、BFM Log パッケージで定義されています。彼らは、メッセージのタイ プを定義し、それらの値は、メッセージが表示されるか、シミュレーションが特定 のメッセージの後に停止しているかどうかを決定します。それぞれの表示される メッセージは、表 15–39 のメッセージ・タイプに基づいて特定のプリフィックスを 持っています。 特定のメッセージ・タイプの表示を抑制することができます。メッセージ・タイプ が表示されているかどうかを決定するデフォルト値は、表 15–39 で定義されていま す。デフォルトのメッセージ表示を変更するには、プロシージャ・コールを使用し て ebfm_log_set_suppressed_msg_mask に表示のデフォルト値を変更します。 特定のメッセージ・タイプは、メッセージが表示された後、シミュレーションを停 止します。表 15–39 に、メッセージ・タイプはシミュレーションを停止するかどう かを決定するデフォルト値を示します。シミュレーションがプロシージャ ebfm_log_set_stop_on_msg_maskを持つ特定のメッセージのために停止したかどうか を指定できます。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–47 これらのログ・メッセージのすべての定数は、VHDL サブタイプ natural または Verilog HDL の integer 型です。 表 15‒39. VHDL 定数 - サブタイプ Natural を使用したログ・メッセージ 定数(メッセージ・タイプ) 説明 マス ク・ ビッ ト数 デフォ ルトで の表示 デフォル トでシ ミュレー ションの 停止 メッセー ジ・プリ フィック ス EBFM_MSG_DEBUG デバッグ・メッセージを指定し ます。 0 なし なし DEBUG: EBFM_MSG_INFO コンフィギュレーション・レジ スタ値、テストの開始、および テストの終了などの情報メッ セージを指定します。 1 あり なし INFO: EBFM_MSG_WARNING 特定のコンフィギュレーション の原因でテストがスキップされ るように警告のメッセージを指 定します。 2 あり なし WARNING: EBFM_MSG_ERROR_INFO エラーの追加情報を指定します。 シミュレーションを指定するエ 3 ラー・メッセージの前に暫定情 報を表示するためにこのメッ セージを使用します。 あり なし ERROR: EBFM_MSG_ERROR_CONTINUE シミュレーションを断続するこ とができるように復元可能なエ 4 ラーを指定します。データの不 比較にこのエラーを使用します。 あり No ERROR: EBFM_MSG_ERROR_FATAL テストベンチがシミュレーショ ンを継続できない状態を引き起 こし、シミュレーションを停止 するエラーを指定します。 N/A EBFM_MSG_ERROR_FATAL_TB_ERR BFM テスト・ドライバまたは ルート・ポート BFM の致命的な エラーに使用されます。テスト ベンチがシミュレーションを継 続できない状態を引き起こし、 シミュレーションを停止するエ ラーを指定します。テストされ ているエンドポイントのアプリ ケーション層の原因でないで、 BFM テスト・ライバ・モジュー ルまたはルート・ポート BFM の 問題で発生したエラーは、この エラー・メッセージを使用しま す。 N/A あり 抑制不 可 Y 抑制不 可 あり 抑制不可 FATAL: Y 抑制不可 FATAL: ebfm_display VHDL プロシージャまたは Verilog HDL ファンクション ebfm_log_open が呼び出された場合、ebfm_display プロシージャまたはファンクショ ンは、シミュレーション標準出力およびログ・ファイルに指定されたタイプのメッ セージを表示します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–48 下記のプロシージャが呼び出された場合、メッセージ・タイプのデフォルト設定お よびビット・マスクの値に基づいて、メッセージの抑制、シミュレーションをの停 止またはその両方を行うことができます。メッセージはどのようなに表示するか、 または特定のメッセージを停止するためのシミュレーションをするかどうかに基づ いて、これらのプロシージャのいずれかまたは両方を呼び出すことができます。 ■ ebfm_log_set_suppressed_msg_mask が呼び出されると、メッセージの表示はビッ ト・マスクの値に基づいて抑制される可能性があります。 ■ ebfm_log_set_stop_on_msg_mask が呼び出されると、メッセージが表示された 後、シミュレーションはビット・マスクの値に基づいて停止させることができま す。 表 15‒40. ebfm_display プロシージャ 位置 altpcietb_bfm_log.v または altpcietb_bfm_log.vhd 構文 VHDL: ebfm_display(msg_type, message) Verilog HDL: dummy_return:=ebfm_display(msg_type, message); 引数 msg_type メッセージのメッセージ・タイプです。15–47 ページの表 15–39 で定義されている 定数のいずれかでなければなりません。 VHDL では、この引数は VHDL タイプ string であり、表示されるメッセージ・テキ ストを含みます。 戻り値 message Verilog HDL では、メッセージ文字列は最大 100 文字に制限されます。また、 Verilog HDL が可変長文字列を許可しないため、このルーティンはメッセージを表示 する前に 8'h00 の先頭の文字列をストリップ・オフします。 always 0 唯一の Verilog HDL ルーチンにのみ適用されます。 ebfm_log_stop_sim VHDL プロシージャまたは Verilog HDL ファンク ション ebfm_log_stop_sim プロシージャはシミュレーションを停止します。 表 15‒41. ebfm_log_stop_sim プロシージャ 位置 altpcietb_bfm_log.v または altpcietb_bfm_log.vhd 構文 VHDL: ebfm_log_stop_sim(success) Verilog VHDL: return:=ebfm_log_stop_sim(success); 引数 success 戻り値 常に 0 1 に設定すると、メッセージが正常に完了したことを表示してこのプロセスはシ ミュレーションを停止します。メッセージは SUCCESS: が付けられています。 それ以外の場合、メッセージが正常に完了しなかったことを表示して、このプロセ スはシミュレーションを停止します。メッセージは FAILURE: が付けられています。 この値は、Verilog HDL ファンクションにのみ適用されます。 ebfm_log_set_suppressed_msg_mask プロシージャ ebfm_log_set_suppressed_msg_mask プロシージャは、抑制されたメッセージ・タイ プを制御します。 表 15‒42. ebfm_log_set_suppressed_msg_mask プロシージャ 位置 altpcietb_bfm_log.v または altpcietb_bfm_log.vhd PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–49 表 15‒42. ebfm_log_set_suppressed_msg_mask プロシージャ 構文 bfm_log_set_suppressed_msg_mask (msg_mask) VHDL では、この引数は std_logic_vector のサブタイプ、EBFM_MSG_MASK です。 このベクトルは EBFM_MSG_ERROR_CONTINUE downto EBFM_MSG_DEBUG から範囲を持っ ています。 引数 msg_mask Verilog HDL では、この引数は reg [EBFM_MSG_ERROR_CONTINUE: EBFM_MSG_DEBUG] です。 両言語では、msg_mask の特定のビット位置の 1 は、ビット位置に対応するタイプ のメッセージが抑制されるようになります。 ebfm_log_set_stop_on_msg_mask プロシージャ ebfm_log_set_stop_on_msg_mask プロシージャは、シミュレーションを停止するメッ セージ・タイプを制御します。15–47 ページの表 15–39 で説明されたように、このプ ロシージャでは、エラーが発生するときにシミュレーションのデフォルト動作を変 更します。 表 15‒43. ebfm_log_set_stop_on_msg_mask プロシージャ 位置 altpcietb_bfm_log.v または altpcietb_bfm_log.vhd 構文 ebfm_log_set_stop_on_msg_mask (msg_mask) VHDL では、この引数は std_logic_vector のサブタイプ、EBFM_MSG_MASK です。こ のベクトルは EBFM_MSG_ERROR_CONTINUE downto EBFM_MSG_DEBUG. からの範囲を 持っています。 引数 msg_mask Verilog HDL では、この引数は reg [EBFM_MSG_ERROR_CONTINUE:EBFM_MSG_DEBUG] です。 両言語では、msg_mask の特定のビット位置の 1 は、メッセージが表示された後に シミュレーションを停止するためのビット位置に対応するタイプのメッセージが発 生します。 ebfm_log_open プロシージャ ebfm_log_open プロシージャは、指定した名前のログ・ファイルを開きます。表示さ れたすべてのメッセージが ebfm_display によって呼び出され、シミュレータ標準出 力としてこのログ・ファイルに書き込まれます。 表 15‒44. ebfm_log_open プロシージャ 位置 altpcietb_bfm_log.v または altpcietb_bfm_log.vhd 構文 ebfm_log_open (fn) 引数 fn この引数は string 型であり、オーペンするログ・ファイルのファイル名を提供します。 ebfm_log_close プロシージャ ebfm_log_close プロシージャは、ebfm_log_open の前回の呼び出しによって開かれ たログ・ファイルを閉じます。 表 15‒45. ebfm_log_close プロシージャ 位置 altpcietb_bfm_log.v または altpcietb_bfm_log.vhd 構文 ebfm_log_close 引数 NONE 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–50 VHDL フォーマッティング・ファンクション 次のプロシージャおよびファンクションは VHDL パッケージ・ファイル altpcietb_bfm_log.vhd で使用可能です。この項では、VHDL のみで使用されている フォーマット・ファンクションの概要を説明します。彼らは、数値を取り、値を表 示する文字列を返します。 himage (std_logic_vector) ファンクション himage ファンクションは、std_logic_vector 引数の 16 進文字列表現を返すユーティ リティ・ルーチンです。文字列は、4(切り上げる)で割った std_logic_vector の 長さです。必要に応じて、引数をパディングまたは切り捨てることによって、文字 列の長さを制御することができます。 表 15‒46. himage (std_logic_vector) ファンクション 位置 altpcietb_bfm_log.vhd 構文 string:= himage(vec) 引数 vec この引数は 16 進文字列に変換される std_logic_vector です。 戻り値 string 引数を 16 進文字列形式で表したものです。 himage (integer) ファンクション himage ファンクションは、整数の引数の 16 進数の文字列表現を返すユーティリ ティ・ルーチンです。文字列は hlen 引数で指定された長さです。 表 15‒47. himage (integer) ファンクション 位置 altpcietb_bfm_log.vhd 構文 string:= himage(num, hlen) 引数 num 16 進数文字列に変換される integer 型の引数です。 hlen 返される文字列の長さです。必要に応じて、文字列が右側の 0 で切り捨てられ たり、パディングされます。 string 引数を 16 進文字列形式で表したものです。 戻り値 Verilog HDL フォーマッティング・ファンクション 次のプロシージャおよびファンクションは altpcietb_bfm_log_common.v モジュールを 使用する Verilog HDL インクルード・ファイル altpcietb_bfm_log.v で使用可能であり、 テストベンチのトップ・レベルでインスタンス化されます。この項では、唯一の Verilog HDL で使用されるフォーマット・ファンクションの概要を説明します。すべ てのこれらのファンクションは、指定された長さの引数を 1 つ取り、指定された長 さのベクトルを返します。 himage1 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 1 桁の 16 進文字列を作成します。 表 15‒48. himage1 位置 altpcietb_bfm_log.v 構文 string:= himage(vec) PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–51 表 15‒48. himage1 引数 vec 範囲が 3 ~ 0 の reg 型入力データ。 戻り値の範囲 string 入力引数の 1 桁の 16 進文字列が返されます。戻りデータは範囲が 8 ~ 1 の reg 型です。 himage2 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 2 桁の 16 進文字列を作成します。 表 15‒49. himage2 位置 altpcietb_bfm_log.v 構文 string:= himage(vec) 引数範囲 vec 範囲が 7 ~ 0 の reg 型入力データ。 戻り値の範囲 string それらが必要とされる場合、先頭 0 でパディングされ、入力引数の 2 桁の 16 進数の表示を返します。戻りデータは範囲が 16 ~ 1 の reg 型です。 himage4 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 4 桁の 16 進文字列を作成します。 表 15‒50. himage4 位置 altpcietb_bfm_log.v 構文 string:= himage(vec) 引数範囲 vec 範囲が 15 ~ 0 の reg 型入力データ。 それらが必要とされる場合、先頭 0 でパディングされ、入力引数の 4 桁の 16 進 数の表示を返します。戻りデータは範囲 32 ~ 1 の reg 型です。 戻り値の範囲 himage8 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 8 桁の 16 進文字列を作成します。 表 15‒51. himage8 位置 altpcietb_bfm_log.v 構文 string:= himage(vec) 引数範囲 vec 範囲が 31 ~ 0 の reg 型入力データ。 戻り値の範囲 string それらが必要とされる場合、先頭 0 でパディングされ、入力引数の 8 桁の 16 進 数の表示を返します。戻りデータは範囲 64 ~ 1 の reg 型です。 himage16 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 16 桁の 16 進文字列を作成します。 表 15‒52. himage16 位置 altpcietb_bfm_log.v 構文 string:= himage(vec) 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–52 表 15‒52. himage16 引数範囲 vec 範囲が 63 ~ 0 の reg 型入力データ。 戻り値の範囲 string それらが必要とされる場合、先頭 0 でパディングされ、入力引数の 16 桁の 16 進数の表示を返します。戻りデータは範囲 128 ~ 1 の reg 型です。 dimage1 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 1 桁の 10 進文字列を作成します。 表 15‒53. dimage1 位置 altpcietb_bfm_log.v 構文 string:= dimage(vec) 引数範囲 vec 範囲が 31 ~ 0 の reg 型入力データ。 戻り値の範囲 string 必要とされる場合、先頭 0 でパディングされ、入力引数の 1 桁の 10 進数の表 示を返します。戻りデータは範囲 8 ~ 1 の reg 型です。 値を表現できない場合は、文字 U が返されます。 dimage2 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 2 桁の 10 進文字列を作成します。 表 15‒54. dimage2 位置 altpcietb_bfm_log.v 構文 string:= dimage(vec) 引数範囲 vec 範囲が 31 ~ 0 の reg 型入力データ。 戻り値の範囲 string 必要とされる場合、先頭 0 でパディングされ、入力引数の 2 桁の 10 進数の表 示を返します。戻りデータは範囲 16 ~ 1 の reg 型です。 値を表現できない場合は、文字 U が返されます。 dimage3 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 3 桁の 10 進文字列を作成します。 表 15‒55. dimage3 位置 altpcietb_bfm_log.v 構文 string:= dimage(vec) 引数範囲 vec 範囲が 31 ~ 0 の reg 型入力データ。 戻り値の範囲 string 必要とされる場合、先頭 0 でパディングされ、入力引数の 3 桁の 10 進数の表 示を返します。戻りデータは範囲 24 ~ 1 の reg 型です。 値を表現できない場合は、文字 U が返されます。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–53 dimage4 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 4 桁の 10 進文字列を作成します。 表 15‒56. dimage4 位置 altpcietb_bfm_log.v 構文 string:= dimage(vec) 引数範囲 vec 範囲が 31 ~ 0 の reg 型入力データ。 戻り値の範囲 string 必要とされる場合、先頭 0 でパディングされ、入力引数の 4 桁の 10 進数の表 示を返します。戻りデータは範囲 32 ~ 1 の reg 型です。 値を表現できない場合は、文字 U が返されます。 dimage5 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 5 桁の 10 進文字列を作成します。 表 15‒57. dimage5 位置 altpcietb_bfm_log.v 構文 string:= dimage(vec) 引数範囲 vec 範囲が 31 ~ 0 の reg 型入力データ。 戻り値の範囲 string 必要とされる場合、先頭 0 でパディングされ、入力引数の 5 桁の 10 進数の表 示を返します。戻りデータは範囲 40 ~ 1 の reg 型です。 値を表現できない場合は、文字 U が返されます。 dimage6 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 6 桁の 10 進文字列を作成します。 表 15‒58. dimage6 位置 altpcietb_bfm_log.v 構文 string:= dimage(vec) 引数範囲 vec 範囲が 31 ~ 0 の reg 型入力データ。 戻り値の範囲 string 必要とされる場合、先頭 0 でパディングされ、入力引数の 6 桁の 10 進数の表 示を返します。戻りデータは範囲 48 ~ 1 の reg 型です。 値を表現できない場合は、文字 U が返されます。 dimage7 このファンクションは、より大きなサイズのメッセージ文字列に連結し、 ebfm_display に渡すことができる入力引数の 7 桁の 10 進文字列を作成します。 表 15‒59. dimage7 位置 altpcietb_bfm_log.v 構文 string:= dimage(vec) 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–54 表 15‒59. dimage7 引数範囲 vec 範囲が 31 ~ 0 の reg 型入力データ。 戻り値の範囲 string 必要とされる場合、先頭 0 でパディングされ、入力引数の 7 桁の 10 進数の 表示を返します。戻りデータは範囲 56 ~ 1 の reg 型です。 値を表現できない場合は、文字 U が返されます。 チェイニング DMA デザイン例に固有のプロシージャおよびファン クション この項では、チェイニング DMA デザイン例に固有のプロシージャについて説明しま す。これらのプロシージャは、VHDL エンティティ・ファイル altpcietb_bfm_driver_chaining.vhd または Verilog HDL モジュール・ファイル altpcietb_bfm_driver_chaining.v に配置されます。 chained_dma_test プロシージャ chained_dma_test プロシージャは、チェイニング DMA リードおよびチェイニング DMA ライトを実行するトップ・レベルのプロシージャです。 表 15‒60. chained_dma_test プロシージャ 位置 altpcietb_bfm_driver_chaining.v または altpcietb_bfm_driver_chaining.vhd 構文 chained_dma_test (bar_table, bar_num, direction, use_msi, use_eplast) bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 bar_num 分析する BAR 番号。 direction 引数 0 のとき、方向はリードです。 1 のとき、方向はライトです。 Use_msi 設定すると、ルート・ポートが DMA コンプリーションを検出するために、ネ イティブ PCI Express MSI を使用します。 Use_eplast 設定すると、ルート・ポートが DMA コンプリーションを検出するために、 BFM 共有メモリ・ポーリングを使用します。 dma_rd_test プロシージャ DMA はエンドポイント・メモリから BFM 共用メモリに読み出すために dma_rd_test プロシージャを使用します。 表 15‒61. dma_rd_test プロシージャ 位置 altpcietb_bfm_driver_chaining.v または altpcietb_bfm_driver_chaining.vhd 構文 dma_rd_test (bar_table, bar_num, use_msi, use_eplast) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 bar_num 分析する BAR 番号。 Use_msi 設定すると、ルート・ポートが DMA コンプリーションを検出するために、ネ イティブ PCI Express MSI を使用します。 Use_eplast 設定すると、ルート・ポートが DMA コンプリーションを検出するために、 BFM 共有メモリ・ポーリングを使用します。 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–55 dma_wr_test プロシージャ DMA はエンドポイント・メモリから BFM 共用メモリに書き込むために dma_wr_test プロシージャを使用します。 表 15‒62. dma_wr_test プロシージャ 位置 altpcietb_bfm_driver_chaining.v または altpcietb_bfm_driver_chaining.vhd 構文 dma_wr_test (bar_table, bar_num, use_msi, use_eplast) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 bar_num 分析する BAR 番号。 Use_msi 設定すると、ルート・ポートが DMA コンプリーションを検出するために、ネ イティブ PCI Express MSI を使用します。 Use_eplast 設定すると、ルート・ポートが DMA コンプリーションを検出するために、 BFM 共有メモリ・ポーリングを使用します。 dma_set_rd_desc_data プロシージャ DMA リードの BFM 共用メモリをコンフィギュレーションするために dma_set_rd_desc_data プロシージャを使用します。 表 15‒63. dma_set_rd_desc_data プロシージャ 位置 altpcietb_bfm_driver_chaining.v または altpcietb_bfm_driver_chaining.vhd 構文 dma_set_rd_desc_data (bar_table, bar_num) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 bar_num 分析する BAR 番号。 dma_set_wr_desc_data プロシージャ DMA ライトの BFM 共用メモリをコンフィギュレーションするために dma_set_wr_desc_data プロシージャを使用します。 表 15‒64. dma_set_wr_desc_data_header プロシージャ 位置 altpcietb_bfm_driver_chaining.v または altpcietb_bfm_driver_chaining.vhd 構文 dma_set_wr_desc_data_header (bar_table, bar_num) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 bar_num 分析する BAR 番号。 dma_set_header プロシージャ DMA リードまたは DMA ライトの BFM ディスクリプタ・テーブルをコンフィギュ レーションするために dma_set_header プロシージャを使用します。 表 15‒65. dma_set_header プロシージャ 位置 altpcietb_bfm_driver_chaining.v または altpcietb_bfm_driver_chaining.vhd 構文 dma_set_header (bar_table, bar_num, Descriptor_size, direction, Use_msi, Use_eplast, Bdt_msb, Bdt_lab, Msi_number, Msi_traffic_class, Multi_message_enable) 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–56 表 15‒65. dma_set_header プロシージャ bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 bar_num 分析する BAR 番号。 Descriptor_size ディスクリプタの数。 direction 引数 0 のとき、方向はリードです。 1 のとき、方向はライトです。 Use_msi 設定すると、ルート・ポートが DMA コンプリーションを検出する ために、ネイティブ PCI Express MSI を使用します。 Use_eplast 設定すると、ルート・ポートが DMA コンプリーションを検出する ために、BFM 共有メモリ・ポーリングを使用します。 Bdt_msb BFM 共有メモリの上位アドレス値。 Bdt_lsb BFM 共有メモリの下位アドレス値。 Msi_number use_msi が設定されている場合、この引数のより dma_set_msi プロ シージャで設定する MSI 番号を指定します。 Msi_traffic_class use_msi が設定されている場合、この引数により dma_set_msi プロ シージャで設定する MSI トラフィック・クラスを指定します。 Multi_message_enable use_msi が設定されている場合、この引数により dma_set_msi プロ シージャで設定する MSI トラフィック・クラスを指定します。 rc_mempoll プロシージャ 与えられた BFM 共用メモリ位置で与えられた DWORD をポーリングするために rc_mempoll プロシージャを使用します。 表 15‒66. rc_mempoll プロシージャ 位置 altpcietb_bfm_driver_chaining.v または altpcietb_bfm_driver_chaining.vhd 構文 rc_mempoll (rc_addr, rc_data, rc_mask) 引数 rc_addr ポーリングされている BFM 共有メモリのアドレス。 rc_data ポーリングされているデータの期待値。 rc_mask rc_data と比較される前に共用メモリ・データで論理積をとるマス クです。 msi_poll プロシージャ msi_poll プロシージャは、エンドポイントから MSI コンプリーションを追跡します。 表 15‒67. msi_poll プロシージャ 位置 altpcietb_bfm_driver_chaining.v または altpcietb_bfm_driver_chaining.vhd 構文 msi_poll(max_number_of_msi,msi_address,msi_expected_dmawr,msi_expected_dmard,dma_wri te,dma_read) PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–57 表 15‒67. msi_poll プロシージャ 引数 max_number_of_msi MSI 割り込みの数を待機するように指定します。 msi_address MSI メッセージが書き込まれる共有メモリ・ロケーションです。 msi_expected_dmawr dma_write が設定されている場合、この引数により dma_set_msi プロ シージャで設定するライト DMA 割り込みの MSI データの期待値を 指定します。 msi_expected_dmard dma_read が設定されている場合、この引数により dma_set_msi プロ シージャで設定するリード DMA 割り込みの MSI データの期待値を 指定します。 Dma_write 設定すると、DMA ライト・モジュールからの MSI をポーリングしま す。 Dma_read 設定すると、DMA リード・モジュールからの MSI をポーリングしま す。 dma_set_msi プロシージャ dma_set_msi プロシージャは、 DMA リードまたは DMA ライト用に PCI Express ネイティ ブ MSI を設定します。 表 15‒68. dma_set_msi プロシージャ 位置 altpcietb_bfm_driver_chaining.v または altpcietb_bfm_driver_chaining.vhd 構文 dma_set_msi(bar_table, bar_num, bus_num, dev_num, fun_num, direction, msi_address, msi_data, msi_number, msi_traffic_class, multi_message_enable, msi_expected) bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 bar_num 分析する BAR 番号。 Bus_num コンフィギュレーション・バス番号を設定します。 dev_num コンフィギュレーション・デバイス番号を設定します。 Fun_num コンフィギュレーション・ファンクション番号を設定します。 Direction 引数 2011 年 5 月 0 のとき、方向はリードです。 1 のとき、方向はライトです。 msi_address MSI のメッセージ・データが格納される共有メモリ内の位置を 指定します。 msi_data MSI メッセージが送信されたときに格納される 16 ビットのメッ セージ・データ。メッセージ・データの下位ビットは、PCI 仕様 に従ってメッセージ番号で変更されます。 Msi_number これらの割り込みに使用する MSI 数を返します。 Msi_traffic_class MSI のトラフィック・クラス値を返します。 Multi_message_enable MSI の複数のメッセージ・イネーブル・ステータスを返します。 msi_expected msi_data が選択された msi_number によって変更される MSI デー タの期待値を返します。 Altera Corporation PCI Express 用の IP コンパイラ・ユーザーガイド 第 15 章: テストベンチおよびデザイン例 BFM プロシージャおよびファンクション 15–58 find_mem_bar プロシージャ find_mem_bar プロシージャは、与えられたメモリスペースの要件を満たしている BAR を配置します。 表 15‒69. find_mem_bar プロシージャ 位置 altpcietb_bfm_driver_chaining.v 構文 Find_mem_bar(bar_table,allowed_bars,min_log2_size, sel_bar) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 allowed_bars One Hot 6 ビット BAR 選択。 min_log2_size 指定されたアドレス・スペースに必要なビット数。 sel_bar 使用する BAR 番号。 dma_set_rclast プロシージャ dma_set_rclast プロシージャは、エンドポイント DMA レジスタにプロセス(RCLast) への最後のディスクリプタの値を書き込むことで、DMA 動作を開始します。 表 15‒70. dma_set_rclast プロシージャ 位置 altpcietb_bfm_driver_chaining.v 構文 Dma_set_rclast(bar_table, setup_bar, dt_direction, dt_rclast) 引数 bar_table BFM 共有メモリのエンドポイント bar_table 構造のアドレス。 setup_bar 使用する BAR 番号。 dt_direction 0 のとき、方向はリードです。1 のとき、方向はライトです。 dt_rclast 最後のディスクリプタ数。 ebfm_display_verb プロシージャ ebfm_display_verb プロシージャは、グローバル変数 DISPLAY_ALL が 1 に設定されて いるとき、プロシージャ ebfm_display を呼び出します。 表 15‒71. ebfm_display_verb プロシージャ 位置 altpcietb_bfm_driver_chaining.v 構文 ebfm_display_verb(msg_type, message) msg_type メッセージのメッセージ・タイプです。15–47 ページの表 15–39 で定義 されている定数のいずれかでなければなりません。 message VHDL では、この引数は VHDL タイプ string であり、表示されるメッ セージ・テキストを含みます。Verilog HDL では、メッセージ文字列は 最大 100 文字に制限されています。また、Verilog HDL は可変長文字列 を許容できないため、このルーティンはメッセージを表示する前に 8'h00 の先頭の文字列をストリップ・オフします。 引数 PCI Express 用の IP コンパイラ・ユーザーガイド 2011 年 5 月 Altera Corporation 16. SOPC Builder のデザイン例 May 2011 <edit Part Number variable in chapter> このデザイン例では、以下のコンポーネントを含む SOPC Builder システムを生成する ための操作方法を、ステップごとに詳細に説明します。 ■ PCI Express 用 ×4 IP コンパイラ ■ オンチップ・メモリ ■ DMA コントローラ SOPC Builder のデザイン・フローでは、コンポーネントとしての PCI Express 用の IP コンパイラを選択すると、それが自動的に PCI Express の Avalon-MM ブリッジ・モ ジュールを自動的にインスタンス化します。このコンポーネントは、PCI Express パ ケットを Avalon-MM トランザクションへ、またその逆方向へ変換するために、ブ リッジ・ロジック付きの ×1 または ×4 エンド・ポイント・アプリケーションの PCI Express 用の IP コンパイラに対応しています。図 16–1 に、SOPC Builder デザイン・フ ローを使用することで作成される 3 つの異なるエンド・ポイントを含む PCI Express システム図を示します。同図は、エンベデッド・トランシーバを使用したソフト IP バリアントと、PIPE インタフェースを外部 PHY へ接続したものによる、ソフトと ハード両方の IP 実装を示しています。この章でのデザイン例はエンベデッド・トラ ンシーバを使用した単一のハード IP 実装の使用について示します。 図 16‒1. 複数の PCI Express 用の IP コンパイラ・インスタンスを使用した SOPC Builder システムの例 Root Complex PCI Express Link PCI Express Link Switch External PHY PCI Express Link PIPE Interface Embedded Transceiver Device Embedded Transceiver Device Endpoint (SOPC Builder System) Endpoint Endpoint (SOPC Builder System) Endpoint (SOPC Builder System) IP Compiler for PCI Express (Soft IP) IP Compiler for PCI Express (Soft IP) System Interconnect Fabric System Interconnect Fabric IP Compiler for PCI Express IP Compiler for PCI Express (Hard IP) (Soft IP) System Interconnect Fabric Memory 2011 年5月 Nios II Memory Altera Corporation Memory Nios II Memory Memory Custom Logic Nios II Memory PCI Express 用の IP コンパイラのユーザー・ガイド 16‒2 第 16 章 : SOPC Builder のデザイン例 Quartus II プロジェクトの作成 図 16–2 に、SOPC Builder がシステム・インタコネクト・ファブリックを使用して、 コンポーネントと PCI Express 用の IP コンパイラを統合する仕組みを示します。この デザイン例は、Avalon-MM 側に配置されたオンチップ・メモリ・バッファおよびルー ト・コンプレックス側に配置された PCI Express メモリ・バッファとの間でデータを 転送します。データ転送は、ルート・コンプレックス・プロセッサ上で動作するソ フトウェア・アプリケーションでプログラムされた DMA コンポーネントを使用しま す。 図 16‒2. エンド・ポイントが生成された SOPC Builder On-Chip Memory DMA 1 System Interconnect Fabric SOPC Builder Generated Endpoint IP Compiler for PCI Express PCI Express Avalon-MM Bridge Transaction, Data Link, and PHY Layers PCI Express Link このデザイン例は Verilog HDL を使用します。 Verilog HDL の代わりに VHDL を使用するこ とも可能です。 このデザイン例は、以下のステップで構成されています。 1. Quartus II プロジェクトの作成 2. SOPC Builer の実行 3. PCI Express 用の IP コンパイラのパラメータ化 4. 残りのコンポーネントの SOPC Builder システムへの追加 5. SOPC Builder 内の接続の完了 6. SOPC Builder システムの生成 7. SOPC Builder システムのシミュレーション 8. デザインのコンパイル Quartus II プロジェクトの作成 ユーザーは、New Project Wizard を使用して、Quartus II プロジェクトを新規作成する 必要があります。これにより、プロジェクトの作業ディレクトリを指定し、プロ ジェクト名をつけ、トップレベル・デザイン・エンティティを指定することができ ます。新規プロジェクトを作成するには、以下のステップを実行します。 1. Windows スタート・メニューから Programs > Altera > Quartus II><version_number> を選択して、QuartusII ソフトウェアを実行します。代わりに、Quartus II Web Edition ソフトウェアを使用することもできます。 2. Quartus II File メニューの New Project Wizard をクリックします。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年5月 Altera Corporation 第 16 章 : SOPC Builder のデザイン例 SOPC Builer の実行 16‒3 3. New Project Wizard の Introduction で Next をクリックします(イントロダクション を以前にオフにしている場合は表示されません)。 4. Directory、Name、および Top-Level Entity ページで、以下の情報を入力します: a. プロジェクトの作業ディレクトリを指定します。このデザイン例では \sopc_pcie を使用します。 b. プロジェクトの名前を指定します。このデザイン例では pcie_top を使用しま す。プロジェクトとトップレベル・デザイン・エンティティには、同じ名前 を指定する必要があります。 1 Quartus II ソフトウェアは、プロジェクトと同じ名前のトップレベル・デザイン・エ ンティティが自動的に指定されます。この名前を変更しないでください。 1 新しいディレクトリを作成するプロンプトが表示された場合には、Yes をクリックし てください。 5. Next をクリックして Add Files ページを表示します。 6. デフォルト以外のライブラリがある場合には、以下のステップを実行してそれら を追加します。 a. User Libraries をクリックします。 b. Library name ボックスに <path>\ip を入力します(ここで <path> は PCI Express 用の IP コンパイラをインストールしたディレクトリ)。 c. Add をクリックして、Quartus II プロジェクトのパスを追加します。 d. OK をクリックして、プロジェクトにライブラリのパスを保存します。 7. Next をクリックして、Family & Device Settings ページを表示します。 8. Family & Device Settings ページで、以下のターゲットのデバイス・ファミリとオ プションを選択します。 a. Family リストで、Stratix IV GT、GX、E を選択します。 1 このデザイン例は、Stratix IV GX デバイス・ファミリをターゲットとするデ ザインを作成します。サポートされる他のデバイス・ファミリにも、以下 の手順を使用できます。 b. Target device ボックスで、Auto device selected by the Fitter を選択します。 9. Next をクリックしてこのページを閉じ、EDA Tool Settings ページを表示します。 10. Next をクリックして Summary ページを表示します。 11. Summary ページで、すべての情報を正しく入力していることを確認します。 12. Finish をクリックして、Quartus II プロジェクトを完了します。 SOPC Builer の実行 SOPC Builder の PCI Express 用の IP コンパイラのパラメータ・エディタを起動するに は、以下のステップを実行します。 1. Tools メニューの SOPC Builder をクリックします。SOPC Builder が表示されます。 2011 年5月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 16‒4 第 16 章 : SOPC Builder のデザイン例 PCI Express 用の IP コンパイラのパラメータ化 f SOPC Builder の使用方法について詳しくは、SOPC Builder User Guide を参照してくださ い。 2. System Name ボックスで pcie_top を入力し、Target HDL で Verilog を選択し、OK をクリックします。 1 このデザイン例では、SOPC Builder システムの名前としてトップレベル・プロジェク ト・ファイルと同じ名前を指定する必要があります。ただし、この命名はユーザー 独自のデザインには不要です。システム・ファイルに異なる名前をつける場合は、 プロジェクトのトップレベルと同じ名前のラッパー HDL ファイルを作成して生成さ れたシステムをインスタンス化する必要があります。 3. System Contents タブからモジュールを追加するには、PCI フォルダの Interface Protocols で、IP Compiler for PCI Express をハイライトし、Add をクリックします。 PCI Express 用の IP コンパイラのパラメータ化 SOPC Builder の PCI Express 用の IP コンパイラをパラメータ化するには、以下のス テップを実行します。 1. System Settings ページで、表 16–1 のように指定します。 表 16‒1. システム設定のパラメータ パラメータ 値 PCIe Core Type PCI Express 用のハード IP PHY type Stratix IV GX Lanes ×4 PCI Express version 1.1 Test out width 9 ビット 2. PCI Registers ページで、表 16–2 のように指定します。 表 16‒2. PCI レジスタのパラメータ PCI ベース・アドレス・レジスタ ( タイプ 0 コンフィギュレーション・スペース ) バー・サイズ Avalon ベース・ア ドレス バー バー・タイプ 1:0 64 ビットのプリフェッチ可能メモリ オート オート 2 32 ビットのプリフェッチ不可能メモ リ オート オート デバイス ID 0xE001 ベンダ ID 0x1172 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年5月 Altera Corporation 第 16 章 : SOPC Builder のデザイン例 残りのコンポーネントの SOPC Builder システムへの追加 16‒5 3. Avalon ページをクリックし、表 16–3 のように指定します。 表 16‒3. Avalon のパラメータ パラメータ 値 Avalon Clock Domain それぞれ別のクロックを使用する PCIe Peripheral Mode リクエスタ / コンプリータ Address Translation Table Size ダイナミック変換テーブル アドレス変換テーブルのサイズ Number of address pages 2 Size of address pages 1 M バイト - 20 ビット Avalon クロック・ドメイン用 PCI Express core clock として使用されるシステムの 一例を 7–13 ページの図 7–10 に示します。 4. Capabilities、Buffer Setup、および Power Management のページでは、すべてのパ ラメータはデフォルト値の状態で構いません。 5. Finish をクリックして、使用している SOPC Builder システムに PCI Express 用の IP コンパイラ・バリエーションを追加します。 1 この段階では、使用しているシステムは未完成であるため、SOPC Builder が生成する エラー・メッセージは無視しても構いません。 残りのコンポーネントの SOPC Builder システムへの追加 このセクションでは、使用するシステムに DMA コントローラとオンチップ・メモリ を追加する方法を説明しています。 1. Bridges and Adapters の System Contents タブで、Memories and Memory Controllers フォルダの DMA サブフォルダの中にある DMA Controller をハイライトし、Add を クリックします。このコンポーネントには、マスタ・リード・ポート、マスタ・ ライト・ポート、およびコントロール・スレーブ・ポートがあります。 2. DMA Controller パラメータ・エディタで、パラメータまたは条件を表 16–4 のよう に指定します。 表 16‒4. DMA コントローラのパラメータ パラメータ 値 Width of the DMA length register 13 Enable burst transfers このオプションをオン にする Maximum burst size 1024 を選択する Data transfer FIFO depth 32 を選択する Construct FIFO from embedded memory blocks このオプションをオン にする 3. Finish をクリックします。これにより、ユーザーの SOPC Builder システムに DMA コントローラ・モジュールが追加されます。 2011 年5月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 16‒6 第 16 章 : SOPC Builder のデザイン例 SOPC Builder 内の接続の完了 4. System Contents タブで、Memory and Memory Controllers フォルダの On-Chip サブ フォルダの中にある On-Chip Memory (RAM or ROM) をハイライトし、Add をクリッ クします。このコンポーネントにはスレーブ・ポートがあります。 表 16‒5. オンチップ・メモリのパラメータ パラメータ 値 Memory type RAM (Writeable) を選択する Block type Auto を選択する Data width 64 ビットを選択する Total memory size 4096 バイトを選択する Initialize memory content このオプションをオフにする 5. ほかのすべてのオプションはデフォルト設定の状態で、Finish をクリックします。 6. これにより、ユーザーの SOPC Builder システムにオンチップ・メモリ・コンポー ネントが追加されます。 SOPC Builder 内の接続の完了 SOPC Builder 内の、各 SOPC Builder コンポーネントのすべてのインタフェースを表示 するには、まず、Filters ダイアログ・ボックスを表示するために、System Contents タブの中の Filters ボタンをクリックします。Filter リストにおいて、All Interfaces を 選択します。次に Filters ダイアログ・ボックスを閉じます。これによりすべてのイン タフェースおよびクロックが表示され、またそれらを接続できるようになります。 コンポーネントの接続 Connections カラム上にマウスを置くと、接続することができるコンポーネント間で、 接続ワイヤのところにドットが表示されます。塗りつぶされたドットは接続が確立 したことを示し、白抜きのドットは接続できることを示します。ドットをクリック すると、接続状態を切り替えることができます。このデザインを完了するには、次 の接続を作成します。 1. 以下の手順を使用して、pcie_compiler_0 bar1_0_Prefetchable Avalon マスタ・ ポートと onchip_mem s1 Avalon スレーブ・ポートを接続します。 a. bar1_0_Prefetchable ポートをクリックして Connections カラムにマウスを置 き、適用可能な接続を表示します。 b. onchip_mem s1 ポートと pcie_compiler_0 bar1_0_Prefetchable ポートの交差 点に表示されている白抜きのドットをクリックして、接続を作成します。 2. ステップ 1 を繰り返して、表 16–6 に示す接続を作成します。 表 16‒6. SOPC Builder の接続 ( その 1 ) 接続元 接続先 pcie_compiler_0 bar2_Non_Prefetchable Avalon マス タ・ポート dma control_port_slave Avalon スレーブ・ポート pcie_compiler_0 bar2_Non_Prefetchable Avalon マス タ・ポート pcie_compiler_0 Control_Register_access Avalon ス レーブ・ポート dma irq 割り込みセンダ pcie_compiler_0 RxmIrq 割り込みレシーバ PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年5月 Altera Corporation 第 16 章 : SOPC Builder のデザイン例 SOPC Builder 内の接続の完了 16‒7 表 16‒6. SOPC Builder の接続 ( その 2 ) 接続元 接続先 dma read_master Avalon マスタ・ポート onchip_mem s1 Avalon スレーブ・ポート dma read_master Avalon マスタ・ポート pcie_compiler_0 TX_Interface Avalon スレーブ・ポート dma write_master Avalon マスタ・ポート onchip_mem s1 Avalon スレーブ・ポート dma write_master Avalon マスタ・ポート pcie_compiler_0 TX_Interface Avalon スレーブ・ポート クロックおよびアドレス・アサインメントの指定 システムを完了させるために、以下の説明にしたがってクロックおよびアドレス・ アサインメントを指定してください。 1. Clock Settings で MHz ボックスをダブルクリックして 125 と入力し、Enter キーを 押します。 2. キャリブレーション用の 2 番目の外部クロック cal_clk を追加するために、次の ステップに従います。 a. Clock Settings で Add をクリックします。Name ボックスに新しいクロック clk_1 が表示されます。 b. clk_1 をダブルクリックして cal_clk と入力し、Enter キーを押します。 c. 周波数を指定するために、MHz ボックスをダブルクリックして目的の周波数 を入力します。cal_clk は 10-125 MHz の範囲の周波数を使用することができ ます。 3. cal_clk に接続するために、次のステップに従います。 a. cal_blk_clk ポートの横の Clock カラムをクリックします。利用可能なクロッ ク信号のリストが表示されます。 b. リスト中の cal_clk をクリックして、pcie_compiler_0 のキャリブレーション・ クロック(cal_blk_clk)に接続します。 1 トランシーバに使用するすべてのコンポーネントは、同一のクロック・ ソースに接続された cal_blk_clk を持つ必要があります。 4. DMA 割り込みセンダの割り込み番号である irq を指定するために、irq ポートの 横にある IRQ カラムに 0 を入力します。 5. Base カラムで、使用しているシステムのすべてのスレーブ・ポートに表 16–7 に 示したベース・アドレスを入力します。 表 16‒7. スレーブ・ポートのベース・アドレス ポート アドレス pcie_compiler_0 Control_Register_Access 0x80004000 pcie_compiler_0 TX_Interface 0x00000000 dma_0 control_port_slave 0x80001000 onchip_memory2_0 s1 0x80000000 実際の PCI BAR 設定を示す情報メッセージが SOPC Builder で生成されます。 2011 年5月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 16‒8 第 16 章 : SOPC Builder のデザイン例 SOPC Builder システムの生成 この例では、BAR1:0 が 4K バイトまたは 12 ビットに設定されており、この BAR に一 致する PCI Express のリクエストは 0x80000000 ~ 0x80000FFF の Avalon アドレスにア クセスできます。BAR2 は 32K バイトまたは 15 ビットに設定されており、これに一 致する PCI Express のリクエストは 0x8000000 ~ 0x80007FFF の Avalon アドレスにアク セスできます。DMA の control_port_slave は、プログラムされた BAR2 ベース・ア ドレスから、オフセットの 0x1000 から 0x103F までアクセス可能です。 pcie_compiler_0 Control_Register_Access スレーブ・ポートは、プログラムされた BAR2 ベース・アドレスから、オフセットの 0x4000 から 0x7FFF までアクセス可能で す。このアドレス・マッピングについて詳しくは、4–22 ページの「PCI Express-toAvalon-MM のアドレス変換」を参照してください。 Avalon-MM が pcie_compiler_0 TX_interface ポートへ直接アクセスする場合、1 M バ イトまたは 20 ビットのアドレスのページ・サイズが選択されるために、Avalon-MM アドレスの 19 から 0 ビットは変更されずに PCI Express アドレスに受け渡されます。 ビット 20 は 2 つのアドレス変換テーブルのエントリのいずれかが PCI Express のアド レスの上位ビットを提供するために使用されるかを選択するために使用されます。 Avalon アドレス・ビット [31:21] は TX_interface スレーブ・ポートを選択するため に使用されます。このアドレス・マッピングについて詳しくは、4–23 ページの 「Avalon-MM-to-PCI Express のアドレス変換」の項を参照してください。 表 16–6 に、必要な接続を示します。 図 16‒3. システム・ポートの接続 SOPC Builder システムの生成 SOPC Builder システムを生成するために、以下のステップを実行します。 1. System Generation タブで、Simulation をオンにします。プロジェクト・シミュ レータ・ファイルを作成し、Generate をクリックします。 2. 使用中の SOPC Builder システムを保存するように求められたら、Save をクリック して pcie_top.sopc ファイルを指定します。 数分後、システムが正しく生成されたことが SOPC Builde によって通知されます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年5月 Altera Corporation 第 16 章 : SOPC Builder のデザイン例 SOPC Builder システムのシミュレーション 16‒9 これで、アルテラがサポートしているすべてのサードパーティ・シミュレータを使 用してシステムをシミュレーションすることができます。Quartus II ソフトウェアで システムをコンパイルして、アルテラ・デバイスをコンフィギュレーションするこ とができます。 SOPC Builder システムのシミュレーション SOPC Builder は、生成されたシステムのシミュレーション環境を自動的に設定しま す。SOPC Builder は、プロジェクト・ディレクトリに pcie_top_sim サブディレクトリ を作成し、PCI Express システムのシミュレーションに必要なファイルとモデルを生 成します。 このセクションでのデザイン例では、以下のコンポーネントを使用します。 1 ■ SOPC Builder で使用するユーザーが作成したシステム ■ \sopc_pcie\pcie_top_sim ディレクトリで SOPC Builder によって生成されたシミュ レーション・スクリプト ■ ModelSim-Altera Edition ソフトウェア また、サポートされた他のサードパーティ・シミュレータを使用して、デザインを シミュレーションすることもできます。 PCI Express 用の IP コンパイラのテスト・ベンチ・ファイルは、 \sopc_pci\pcie_compiler_0_examples\sopc\testbench ディレクトリにあります。 SOPC Builder は、すべてのシステム・コンポーネントの IP 機能シミュレーション・ モデルを生成します。IP 機能シミュレーション・モデルは、プロジェクト・ディレ クトリの中にある SOPC Builder により作成された .vo または .vho ファイルです。 f IP 機能シミュレーション・モデルについて詳しくは、Quartus II Handbook volume 3 の Simulating Altera Designs の章を参照してください。 SOPC Builder で生成されたトップ・レベル・ファイルはまた、システム・コンポーネ ントのシミュレーション・モジュールとテスト・ベンチが使用可能な場合、PCI Express 用の IP コンパイラのテスト・ベンチを含めて統合します。アルテラが提供す る PCI Express 用の IP コンパイラのテスト・ベンチは、一度に 1 本のリンクをシミュ レーションします。このテスト・ベンチを使用して、ご使用の PCI Express 用の IP コ ンパイラのシステムの基本的な機能を確認することができます。PCI Express 用の IP コンパイラのテスト・ベンチのデフォルト・コンフィギュレーションは、PCI Express 用の IP コンパイラに PCI Express の基本的なコンフィギュレーション・トランザク ションを実行するために、あらかじめ定義されています。PCI Express 用の IP コンパ イラのテスト・ベンチ altpcietb_bfm_driver.v または altpcietb_bfm_driver.vhd ファイル を編集して、ほかの PCI Express トランザクションをメモリ・リード(MRd)やメモ リ・ライト(MWr)などとして追加することができます。 PCI Express BFM について詳しくは、第 15 章 , テストベンチおよびデザイン例を参照 してください。 このデザイン例をシミュレーションするには、以下のステップを実行します。 2011 年5月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 16‒10 第 16 章 : SOPC Builder のデザイン例 SOPC Builder システムのシミュレーション 1. システムをシミュレーションする前に Verilog HDL デザイン例を実行している場合 には、c:\sopc_pci\pcie_compiler_0_examples\sopc\testbench ディレクトリにある altpcietb_bfm_driver.v ファイルを編集し、ターゲットと DMA テストをイネーブル します。いずれかのファイルに次のパラメータを設定します。 ■ parameter RUN_TGT_MEM_TST = 1; ■ parameter RUN_DMA_MEM_TST = 1; VHDL デザイン例を実行している場合には、 c:\sopc_pci\pcie_compiler_0_examples\sopc\testbench ディレクトリにある altpcietb_bfm_driver.vhd を編集し、いずれかに次のパラメータを設定します。 ■ RUN_TGT_MEM_TST : std_logic := '1'; ■ RUN_DMA_MEM_TST : std_logic := '1'; 1 これらのパラメータによってイネーブルされたaltpcietb_bfm_driver.vファイ ルのターゲット・メモリおよび DMA メモリは、この章で規定されたもの として SOPC Builder システムと共にのみ機能します。アプリケーションを デザインする場合は、ご使用のシステムに合わせてこれらのテストを修正 してください。 2. Windows のスタート・メニューで Programs > ModelSim-Altera><ver> ModelSim を 選択し、ModelSim-Altera シミュレータを開始します。シミュレータにおいて、作 業ディレクトリを c:\sopc_pcie\pcie_top_sim に変更します。 3. スクリプトを実行するために、シミュレータのコマンド・プロンプトに以下のコ マンドを入力します。 source setup_sim.do r 4. すべてのファイルをコンパイルしてデザインをロードするために、シミュレー タ・プロンプトに以下のコマンドを入力します。 s r 5. シミュレーションの波形出力を生成するために、シミュレータのコマンド・プロ ンプトに以下のコマンドを入力します。 do wave_presets.do r 1 ModelSim SE のいくつかのバージョンでは、デフォルトでデザインの最適化をオンに します。最適化では、wave_presets.do ファイルで参照されているデザイン・ノード が削除されることがあります。この場合、w エイリアスは失敗しています。最適化 されたシミュレーションを実行する場合には、この失敗を無視しても構いません。 しかし、シミュレーション信号を確認する場合には、modelsim.ini ファイルで VoptFlow = 0 に設定し、最適化コンパイルをディセーブルすることができます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年5月 Altera Corporation 第 16 章 : SOPC Builder のデザイン例 SOPC Builder システムのシミュレーション 16‒11 6. デザインをシミュレーションするために、シミュレータ・プロンプトで以下のコ マンドを入力します。 run -all r PCI Express 用の IP コンパイラのテスト・ドライバは、ModelSim シミュレーショ ンのメッセージ・ウィンドウに表示されたトランザクションのステータスを表示 すると、次のトランザクションを実行します。 ■ リンクの初期化後、システム内の PCI Express 用の IP コンパイラへの各種コン フィギュレーションのアクセス ■ DMA コンポーネントからきているリクエストのためのアドレス変換テーブル のセットアップ ■ ルート・ポート BFM の共有メモリからのデータ 4 K バイトを読み込むための DMA コントローラのセットアップ ■ ルート・ポート BFM の共有メモリへ戻る同一のデータ 4 K バイトを書き込むた めの DMA コントローラのセットアップ ■ データ比較とミスマッチの通知 7. 正常に完了したことが通知された後、ModelSim ツールを終了します。 2011 年5月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 16‒12 第 16 章 : SOPC Builder のデザイン例 SOPC Builder システムのシミュレーション 例 16–1 は、正常なシミュレーションで得られるトランスクリプトの一部です。 例 16‒1. リクエスタ/コンプリータ PCI Express ハード IP 実装のシミュレーションによるトランスクリプト # INFO: 464 ns Completed initial configuration of Root Port. # INFO: 3641 ns EP LTSSM State: DETECT.ACTIVE # INFO: 3657 ns RP LTSSM State: DETECT.ACTIVE # INFO: 3689 ns EP LTSSM State: POLLING.ACTIVE # INFO: 6905 ns RP LTSSM State: POLLING.ACTIVE # INFO: 9033 ns RP LTSSM State: POLLING.CONFIG # INFO: 9353 ns EP LTSSM State: POLLING.CONFIG # INFO: 10441 ns EP LTSSM State: CONFIG.LINKWIDTH.START # INFO: 10633 ns RP LTSSM State: CONFIG.LINKWIDTH.START # INFO: 11273 ns EP LTSSM State: CONFIG.LINKWIDTH.ACCEPT # INFO: 11801 ns RP LTSSM State: CONFIG.LINKWIDTH.ACCEPT # INFO: 12121 ns RP LTSSM State: CONFIG.LANENUM.WAIT # INFO: 12745 ns EP LTSSM State: CONFIG.LANENUM.WAIT # INFO: 12937 ns EP LTSSM State: CONFIG.LANENUM.ACCEPT # INFO: 13081 ns RP LTSSM State: CONFIG.LANENUM.ACCEPT # INFO: 13401 ns RP LTSSM State: CONFIG.COMPLETE # INFO: 13849 ns EP LTSSM State: CONFIG.COMPLETE # INFO: 14937 ns EP LTSSM State: CONFIG.IDLE # INFO: 15129 ns RP LTSSM State: CONFIG.IDLE # INFO: 15209 ns RP LTSSM State: L0 # INFO: 15465 ns EP LTSSM State: L0 # INFO: 21880 ns EP PCI Express Link Status Register (1041): # INFO: 21880 ns Negotiated Link Width: x4 # INFO: 21880 ns Slot Clock Config: System Reference Clock Used # INFO: 22769 ns RP LTSSM State: RECOVERY.RCVRLOCK # INFO: 23177 ns EP LTSSM State: RECOVERY.RCVRLOCK # INFO: 23705 ns EP LTSSM State: RECOVERY.RCVRCFG # INFO: 23873 ns RP LTSSM State: RECOVERY.RCVRCFG # INFO: 25025 ns RP LTSSM State: RECOVERY.IDLE # INFO: 25305 ns EP LTSSM State: RECOVERY.IDLE # INFO: 25385 ns EP LTSSM State: L0 # INFO: 25537 ns RP LTSSM State: L0 # INFO: 26384 ns Current Link Speed: 2.5GT/s # INFO: 27224 ns EP PCI Express Link Control Register (0040): # INFO: 27224 ns Common Clock Config: System Reference Clock Used # INFO: 28256 ns EP PCI Express Capabilities Register (0001): # INFO: 28256 ns Capability Version: 1 # INFO: 28256 ns Port Type: Native Endpoint # INFO: 28256 ns EP PCI Express Link Capabilities Register (0103F441): # INFO: 28256 ns Maximum Link Width: x4 # INFO: 28256 ns Supported Link Speed: 2.5GT/s # INFO: 28256 ns L0s Entry: Supported # INFO: 28256 ns L1 Entry: Not Supported # INFO: 33008 ns BAR1:0 4 KBytes 00000001 00000000 Prefetchable # INFO: 33008 ns BAR2 32 KBytes 00200000 Non-Prefetchable # INFO: 34104 ns Completed configuration of Endpoint BARs. # INFO: 35064 ns Starting Target Write/Read Test. # INFO: 35064 ns Target BAR = 0 # INFO: 35064 ns Length = 004096, Start Offset = 000000 # INFO: 47272 ns Target Write and Read compared okay! # INFO: 47272 ns Starting DMA Read/Write Test. # INFO: 47272 ns Setup BAR = 2 # INFO: 47272 ns Length = 004096, Start Offset = 000000 # INFO: 55761 ns Interrupt Monitor: Interrupt INTA Asserted # INFO: 55761 ns Clear Interrupt INTA # INFO: 56737 ns Interrupt Monitor: Interrupt INTA Deasserted # INFO: 66149 ns MSI recieved! #INFO: 66149 ns DMA Read and Write compared okay! PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年5月 Altera Corporation 第 16 章 : SOPC Builder のデザイン例 デザインのコンパイル 1 16‒13 ドライバ・ファイルの設定を変えることで、Completer-Only single dword IP コアをシ ミュレーションする上でも同じテスト・ベンチを使用することができます。Verilog HDL デザイン例では、c:\sopc_pci\pcie_compiler_0_examples\sopc\testbench ディレクト リの altpcietb_bfm_driver.v ファイルを編集して、ターゲット・メモリ・テストをイ ネーブルして completer-only single dword タイプを指定します。いずれかのファイルに 以下のパラメータを設定します。 ■ parameter RUN_TGT_MEM_TST = 1; ■ parameter RUN_DMA_MEM_TST = 0; ■ parameter AVALON_MM_LITE = 1; VHDL デザイン例を実行する場合には、 c:\sopc_pci\pcie_compiler_0_examples\sopc\testbench ディレクトリの altpcietb_bfm_driver.vhd ファイルを編集して、いずれかに以下のパラメータを設 定します。 ■ RUN_TGT_MEM_TST : std_logic := '1'; ■ RUN_DMA_MEM_TST : std_logic := '0'; ■ AVALON_MM_LITE : std_logic := '1'; デザインのコンパイル Quartus II ソフトウェアを使用して、SOPC Builder で生成されたシステムをコンパイル することができます。 デザインをコンパイルするには、以下のステップを実行します。 1. Quartus II ソフトウェアで pcie_top.qpf プロジェクトを開きます。 2. View メニューの Utility Windows をポイントし、Tcl Console をクリックします。 3. 必要な制約を設定するスクリプトをソースするために、Tcl Console ウィンドウに 以下のコマンドを入力します。 source pcie_compiler_0.tcl r 4. Processing メニューの Start Compilation をクリックします。 5. コンパイル後、コンパイル・レポートの TimeQuest Timing Analyzer フォルダを拡 張します。タイミング制約が達成されているかどうかコンパイル・レポートで確 認してください。 デザインがタイミング制約を満たしていない場合、最適な Fitter 設定をデザイン・ スペース・エクスプローラで見つけることができます。デザイン・スペース・エ クスプローラを使用するには、Tools メニューの Launch Design Space Explorer をク リックします。 デバイスのプログラム デザインをコンパイルした後、ターゲットのアルテラ・デバイスをプログラムする ことができます。また、ハードウェア内でデザインを検証することができます。 2011 年5月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 16‒14 PCI Express 用の IP コンパイラのユーザー・ガイド 第 16 章 : SOPC Builder のデザイン例 デバイスのプログラム 2011 年5月 Altera Corporation 17. Qsys のデザイン例 May 2011 <edit Part Number variable in chapter> 本章の Qsys のデザイン例では、Qsys システムを生成するためのステップごとの操作 方法について詳しく説明します。この Qsys のデザイン・フローは、以下の PCI Express 用の IP コンパイラの機能をサポートします。 ■ ハード IP の実装 ■ Arria II GX、Cyclone IV GX、HardCopy IV GX、および Stratix IV GX デバイス ■ 64 ビットのインタフェースを備えた 125 MHz Gen1 ×1 および ×4、64 ビットのインタ フェースを備えた 250 MHz Gen2 ×1 ■ ネイティブ・アドレッシングに対するダイナミック・バス・サイジング PCI Express 用の IP コンパイラは、以下の2つの PCI Express 用の IP コンパイラ・バ リエーションをサポートするデザイン例のためのサポート・ファイルとともにイン ストールします。 ■ Stratix IV GX デバイスをターゲットにした Gen1:×8 PCI Express 用の IP コンパイラの ハード IP の実装 ■ Cyclone IV GX デバイスをターゲットにした Gen1:×4 PCI Express 用の IP コンパイラの ハード IP の実装 この章では、Gen1:×8 のデザイン例について述べます。Gen1:×4 デザイン例について は、本章の説明でのターゲット・デバイス、レーン数、およびフォルダ置換を Gen1:×4 に適切なものに置き換えることで実行できます。 このデザイン例の手引きでは、以下のコンポーネントを含む Qsys システムが生成さ れます。 ■ Stratix IV GX デバイスをターゲットにした Gen1:×8 PCI Express 用の IP コンパイラの ハード IP の実装 ■ オンチップ・メモリ ■ DMA コントローラ Qsys デザイン・フローでは、PCI Express 用の IP コンパイラをコンポーネントとして 選択します。このコンポーネントは、PCI Express パケットを Avalon-MM トランザク ションへ、またその逆へ変換するために、ブリッジ・ロジック付きの ×1、×2、×4 ま たは ×8 エンド・ポイント・アプリケーションの PCI Express に対応しています。この 章でのデザイン例は、エンベデッド・トランシーバを使用した単一ハード IP 実装の 使用を示します。この Qsys デザイン・フローは、外部トランシーバには対応してい ません。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 17‒2 第 17 章 : Qsys のデザイン例 Quartus II プロジェクトの作成 図 17–1 に、Qsys がコンポーネントと PCI Express 用の IP コンパイラを統合する仕組 みを示します。このデザイン例は、Avalon-MM 側に位置するオンチップ・メモリ・ バッファとルート・コンプレックス側に位置するシステム・メモリ・バッファとの 間で、データが転送されます。データ転送には、ルート・コンプレックス・プロ セッサ上で動作する PCI Express ソフトウェア・アプリケーションでプログラムされ た DMA コンポーネントが使用されます。 図 17‒1. エンドポイントが生成された Qsys Qsys Generated Endpoint On-Chip Memory Interconnect IP Compiler for PCI Express PCI Express Avalon-MM Bridge Transaction, Data Link, and PHY Layers PCI Express Link DMA このデザイン例は、以下のステップから構成されています。 1. Quartus II プロジェクトの作成 2. Qsys の実行 3. PCI Express 用の IP コンパイラのパラメータ化 4. 残りのコンポーネントの Qsys システムへの追加 5. Qsys 内の接続の完了 6. エクスポート・インタフェースの指定 7. アドレス・アサインメントの設定 8. Qsys システムの生成 9. Qsys システムのシミュレーション 10. コンパイルのためのデザインの準備 11. デザインのコンパイル 12. デバイスのプログラム Quartus II プロジェクトの作成 ユーザーは New Project Wizard を使用して、Quartus II プロジェクトを新規作成する必 要があります。このウィザードでは、プロジェクトの作業ディレクトリを指定し、 プロジェクト名を割り当てて、トップレベル・デザイン・エンティティを指定しま す。新規プロジェクトを作成するには、以下のステップに従います。 1. Windows の Start メニューで Programs > Altera > Quartus II><version_number> を選択 し、Quartus II ソフトウェアを実行します。あるいは、Quartus II Web Edition ソフト ウェアを使用することもできます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 17 章 : Qsys のデザイン例 Qsys の実行 17‒3 2. Quartus II File メニューの New Project Wizard をクリックします。 3. New Project Wizard の Introduction で Next をクリックします(以前に introduction を オフにしている場合は表示されません) 。 4. Directory、Name、および Top-Level Entity のページで、以下の情報を入力します。 a. プロジェクトの作業ディレクトリを指定します。このデザイン例では C:\projects\s4gx_gen1x8_qsys ディレクトリを使用します。 b. プロジェクトの名前を指定します。このデザイン例では s4gx_gen1x8_qsys_top を使用します。プロジェクトとトップレベル・デザイン・エンティティには、 同じ名前を指定する必要があります。 1 Quartus II ソフトウェアは、トップレベル・デザイン・エンティティの名前 にプロジェクトと同じ名前を自動的に設定します。この名前は変更しない でください。 5. Next をクリックして、Add Files ページを表示します。 1 Yes が表示された場合にはクリックし、新しいディレクトリを作成します。 6. Next をクリックして、Family & Device Settings ページを表示します。 7. Family & Device Settings ページで、以下のターゲット・デバイス・ファミリとオ プションを選択します。 a. Family リストで、Stratix IV (GT, GX, E)を選択します。 1 このデザイン例では、Stratix IV GX デバイス・ファミリをターゲットとした デザインを作成します。サポートされた他のデバイス・ファミリについて も、これらの手順を使用することができます。 b. Target device ボックスで、Auto device selected by the Fitter を選択します。 8. Next をクリックしてこのページを閉じると、EDA Tool Settings ページが表示され ます。 9. Next をクリックして Summary ページを表示します。 10. Summary ページで、すべての情報が正しく入力されていることを確認します。 11. Finish をクリックして Quartus II プロジェクトを完了します。 Qsys の実行 Qsys システムを設定するために以下のステップに従います。 1. Tools メニューの Qsys をクリックします。Qsys が表示されます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 17‒4 第 17 章 : Qsys のデザイン例 Qsys の実行 2. グローバル設定を構築するために、Project Settings のタブで表 17–1 のように設定 します。 表 17‒1. プロジェクトの設定 パラメータ 値 Device Family Stratix IV Clock Crossing Adapter Type FIFO Limit interconnect pipeline stages to 2 Generation ID 0 f Project Settings タブに関する情報を含めて Qsys の使用方法について詳しくは、Quartus II Handbook の volume 1 の Creating a System with Qsys を参照してください。Qsys メ ニュー項目の説明について詳しくは、Quartus II ヘルプの About Qsys を参照してくだ さい。 3. Qsys システムに名前をつけるには、以下のステップに従います。 a. File メニューの Save をクリックします。 b. File name に hip_s4gx_gen1x8_qsys と入力します。 c. Save をクリックします。Qsys システムは、プロジェクト・ディレクトリの新 しいファイル hip_s4gx_gen1x8_qsys.qsys に保存されます。 1 このデザイン例では、システムに Qsys コンポーネントとしては使用できない追加ブ ロックをコンフィギュレーションする必要がありますので、トップレベル・プロ ジェクト・ファイルのように Qsys システムに同じ名前を指定しないことが必要で す。そして、プロジェクトと同じ名前のラッパ HDL ファイルを作成し、生成された Qsys システムとラッパ HDL ファイルにあるこれらの追加ブロックをインスタンス化 します。 4. Qsys システムからデフォルト・クロック clk_0 を削除するために、System Contents タブでコンポーネントをハイライトし、System Contents タブの左端にあ る赤色の X をクリックします。同期デザインのすべてのモジュールは、PCI Express 用の IP コンパイラのコア・クロックを使用します。 5. システムに PCI Express 用の IP コンパイラのコンポーネントを追加するために、 System Contents タブから PCI フォルダの Interface Protocols へ進み、IP Compiler for PCI Express コンポーネントをダブルクリックします。これにより、PCI Express 用 の IP コンパイラのパラメータ・エディタが表示されます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 17 章 : Qsys のデザイン例 PCI Express 用の IP コンパイラのパラメータ化 17‒5 PCI Express 用の IP コンパイラのパラメータ化 PCI Express 用の IP コンパイラのパラメータ・エディタにおいて、太字の見出しに なっているものは、パラメータ・リストがセクションごとに分割されています。右 側にあるスクロール・バーを使用してパラメータ全体を確認することができます。 PCI Express 用の IP コンパイラをパラメータ化するには、以下のステップに従いま す。 1. System Settings の見出しで、表 17–2 のように設定します。 表 17‒2. PCI Express 用 IP コンパイラのシステムの設定 パラメータ 値 Device Family Stratix IV GX Gen2 Lane Rate Mode このオプションをオフのままにする Number of Lanes ×8 Reference clock frequency 100 MHz Use 62.5 MHz application clock このオプションをオフのままにする Test out width 64 バイト 2. PCI Base Address Registers (Type 0 Configuration Space)の見出しで、表 17–3 のよ うに設定します。 表 17‒3. PCI ベース・アドレス・レジスタ(タイプ 0 コンフィギュレーション・スペー ス) 1 バー バー・タイプ 0 64 ビットのプリフェッチ可能メモリ 1 使用しない 2 32 ビットのプリフェッチ不可能メモ リ 3–5 使用しない バー・サイズ Avalon ベース・ア ドレス オート オート — — オート オート — — PCI Express 用の IP コンパイラのパラメータ・エディタでは、Bar Size または Avalon Base Address に書き込むことはできません。Qsys は、BAR が接続された Avalon-MM スレーブ・ポートのサイズをもとに Bar Size を計算します。コンポーネントを Qsys システムに追加した後、システム・メニューの Auto-Assign Base Addresses 機能を使 用してアドレス・マップを定義することができます。 3. Device Identification Registers の見出しで、表 17–4 の値に設定します。ユーザーの デバイスをコンフィギュレーションした後、パラメータ・エディタで設定した値 は、ソフトウェアによって読み込みのみのレジスタから読み込まれます。 表 17‒4. デバイス識別レジスタ ( その 1 ) 2011 年 5 月 パラメータ 値 Vendor ID 0x00001172 Device ID 0x00000004 Revision ID 0x00000001 Class code 0x00FF0000 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 17‒6 第 17 章 : Qsys のデザイン例 PCI Express 用の IP コンパイラのパラメータ化 表 17‒4. デバイス識別レジスタ ( その 2 ) パラメータ 値 Subsystem vendor ID 0x00001172 Subsystem ID 0x00000004 4. Link Capabilities の見出しで、Link port number を 1 のデフォルト値のままにしま す。 5. Error Reporting の見出しで、エラー・レポートのすべてのタイプをオフのままに します。 6. Buffer Configuration の見出しで、表 17–5 のように設定します。 表 17‒5. バッファ・コンフィギュレーションの設定 パラメータ 値 Maximum payload size 256 バイト RX buffer credit allocation – performance for received requests 高い 1 Posted header credit、Posted data credit、Non-posted header credit、 Completion header credit、および Completion data credit で表示される値は、 読み込みのみです。これらの値は、Maximum payload size と RX buffer credit allocation–performance に設定した値に基づいて計算されます。 7. Avalon-MM Settings の見出しで、表 17–6 のように設定します。 表 17‒6. Avalon-MM の設定 パラメータ 値 Peripheral Mode リクエスタ / コンプリータ Control Register Access (CRA) Avalon slave port このオプションをオンにする Auto Enable PCIe Interrupt (enabled at power-on) このオプションをオフにする 8. Address Translation の見出しで、表 17–7 のように設定します。. 表 17‒7. アドレス変換の設定 パラメータ 値 Address Translation Table Configuration ダイナミック変換テーブル Number of address pages 2 Size of address pages 1 M バイト - 20 ビット Address Translation Table Contents は Fixed translation table コンフィギュレーション に対してのみ有効であるので、ここではそれらを無視しても構いません。 9. Finish をクリックして、Qsys システムに PCI Express 用の IP コンパイラのコン ポーネント pcie_hard_ip_0 を追加します。 1 システムはまだ完成していないため、この段階で Qsys により生成されるエラー・ メッセージは無視しても構いません。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 17 章 : Qsys のデザイン例 残りのコンポーネントの Qsys システムへの追加 17‒7 残りのコンポーネントの Qsys システムへの追加 このセクションでは、DMA コントローラおよびオンチップ・メモリの Qsys システム への追加について説明します。 1. システムに DMA コントローラのコンポーネントを追加するには、System Contents タブから DMA フォルダの Bridges and Adapters へ進み、DMA Controller コンポーネ ントをダブルクリックします。このコンポーネントは、リードとライトのマス タ・ポートおよびコントロール・ポート・スレーブを含みます。 2. DMA コントローラのパラメータ・エディタで、表 17–8 のように設定します。 表 17‒8. DMA コントローラのパラメータ パラメータ 値 Width of the DMA length register 13 Enable burst transfers このオプションをオン にする Maximum burst size 128 Data transfer FIFO depth 32 Construct FIFO from embedded memory blocks このオプションをオン にする 3. Finish をクリックします。これで DMA コントローラのモジュール dma_0 は Qsys システムに追加されました。 4. システムにオンチップ・メモリを追加するには、On-Chip フォルダにある Memories and Memory Controllers で、On-Chip Memory (RAM or ROM)のコンポーネ ントをダブルクリックします。 5. オンチップ・メモリのパラメータ・エディタで、表 17–9 に示したパラメータに 設定します。 表 17‒9. オンチップ・メモリのパラメータ パラメータ 値 メモリ・タイプ Type RAM (Writeable) Dual-port access このオプションをオフにする Block type オート サイズ Data width 64 Total memory size 4096 バイト Minimize memory block usage (may impact fMAX) 適用されない リード・レイテンシ Slave s1 latency 1 メモリ初期化 Initialize memory content 2011 年 5 月 Altera Corporation このオプションをオフにする PCI Express 用の IP コンパイラのユーザー・ガイド 17‒8 第 17 章 : Qsys のデザイン例 Qsys 内の接続の完了 6. Finish をクリックします。これでオンチップ・メモリが Qsys システムに追加され ました。 7. 新しいコンポーネントの名前を変更するために、コンポーネント名を右クリック して Rename を選択します。 8. 新しい名前 onchip_memory_0 を入力します。 Qsys 内の接続の完了 Qsys において、Connections カラムの上にマウスを置くと、接続することができるコ ンポーネント間で、接続ワイヤのところにドットが表示されます。塗りつぶされた ドットは接続が確立したことを示し、白抜きのドットは接続できることを示します。 ドットをクリックすると、接続状態を切り替えることができます。Qsys システムを 完成させるには、次のステップに従います。 1. クロックや割り込みインタフェースを含めてすべてのコンポーネント・インタ フェースを表示するために、System Contents タブの左端にあるフィルタ・アイコ ンをクリックし、Filter メニューの All Interfaces を選択します。図 17–2 に、フィ ルタ・アイコンを示します。 2. 以下の手順によって、pcie_hard_ip_0 bar1_0 Avalon-MM マスタ・ポートと onchip_memory_0 s1 Avalon-MM スレーブ・ポートを接続します。 a. bar1_0 ポートをクリックして Connections カラムにカーソルを置き、接続可能 な部分を表示します。 b. onchip_memory_0 s1 ポートと pcie_hard_ip_0 bar1_0 の交差点にある白抜き のドットをクリックし、接続を確立します。 図 17–2 は Connections パネルを示しており、pcie_hard_ip_0.bar1_0 と onchip_memory_0.s1 の接続が確立されていない状態、つまり白抜きのドットが表 示されています。接続を生成すると、ドットは塗りつぶされます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 17 章 : Qsys のデザイン例 Qsys 内の接続の完了 17‒9 図 17‒2. システムにおける接続の確立:フィルタ・アイコンと最初の接続 Filter Icon 3. ステップ 2 を繰り返して、表 17–10 に示された残りの接続を確立します。 表 17‒10. Qsys 接続の全リスト 接続元 接続先 pcie_hard_ip_0 pcie_core_clk クロック・アウトプット onchip_memory_0 clk1 クロック・インプット pcie_hard_ip_0 pcie_core_clk クロック・アウトプット dma_0 clk クロック・インプット pcie_hard_ip_0 pcie_core_reset リセット onchip_memory_0 reset1 リセット pcie_hard_ip_0 pcie_core_reset リセット dma_0 reset リセット pcie_hard_ip_0 bar1_0 Avalon-MM マスタ ( ステップ ) onchip_memory_0 s1 Avalon-MM スレーブ ( ステップ ) pcie_hard_ip_0 bar2 Avalon-MM マスタ dma_0 control_port_slave Avalon-MM スレーブ pcie_hard_ip_0 bar2 Avalon-MM マスタ pcie_hard_ip_0 cra Avalon-MM スレーブ dma_0 irq 割り込みセンダ pcie_hard_ip_0 rxm_irq 割り込みレシーバ dma_0 read_master Avalon-MM マスタ onchip_memory_0 s1 Avalon-MM スレーブ dma_0 read_master Avalon-MM マスタ pcie_hard_ip_0 txs Avalon-MM スレーブ dma_0 write_master Avalon-MM マスタ onchip_memory_0 s1 Avalon-MM スレーブ dma_0 write_master Avalon-MM マスタ pcie_hard_ip_0 txs Avalon-MM スレーブ 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 17‒10 第 17 章 : Qsys のデザイン例 エクスポート・インタフェースの指定 4. IRQ パネルで、dma_0.irq から pcie_hard_ip_0.rxm_irq への接続をクリックして 0 を入力します。 Qsys で生成された PCI Express 用の IP コンパイラは個々の割り込み方式を実装す るので、各割り込みが接続する rxm_irq インタフェースに固有のビットを設定す る必要があります。この場合、DMA コントローラの割り込みセンダ信号は、PCI Express 用の IP コンパイラの入力割り込みバスのビット 0 に接続します。 エクスポート・インタフェースの指定 Qsys システムの外部にそれらを表示するには、PCI Express 用の IP コンパイラの Qsys コンポーネント pcie_hard_ip_0 の残りのインタフェースをエクスポートする必要が あります。インタフェースをエクスポートした後、Qsys システムの外部モジュール に接続できるようになります。 インタフェースをエクスポートするために、次のステップに従います。 1. エクスポートしたいインタフェースのロウで、Export カラムをクリックします。 2. セルの外側をクリックして Export カラムに表示されるデフォルト名を、テキスト を変更することなくそのまま使用します。 表 17–11 に示された pcie_hard_ip_0 インタフェースをエクスポートします。 表 17‒11. pcie_hard_ip_0 でエクスポートするインタフェース インタフェース名 エクスポートされた名前 cal_blk_clk pcie_hard_ip_0_cal_blk_clk refclk pcie_hard_ip_0_refclk test_in pcie_hard_ip_0_test_in pcie_rstn pcie_hard_ip_0_pcie_rstn clocks_sim pcie_hard_ip_0_clocks_sim reconfig_busy pcie_hard_ip_0_reconfig_busy pipe_ext pcie_hard_ip_0_pipe_ext test_out pcie_hard_ip_0_test_out rx_in pcie_hard_ip_0_rx_in tx_out pcie_hard_ip_0_tx_out reconfig_togxb pcie_hard_ip_0_reconfig_togxb reconfig_gxbclk pcie_hard_ip_0_reconfig_gxbclk reconfig_fromgxb_0 pcie_hard_ip_0_reconfig_fromgxb_0 reconfig_fromgxb_1 (1) pcie_hard_ip_0_reconfig_fromgxb_1 fixedclk pcie_hard_ip_0_fixedclk 表 17–11 の注 (1) PCI Express 用の IP コンパイラの Qsys コンポーネントのうち ×8 バリエーションのみ reconfig_fromgxb_1 ポートを持っています。PCI Express 用の IP コンパイラ ×8 バリエーションを持つ システムでは、このポートが altgxb_reconfig ブロック 34 ビット reconfig_fromgxb ポートの上 位 17 ビットに接続します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 17 章 : Qsys のデザイン例 アドレス・アサインメントの設定 17‒11 アドレス・アサインメントの設定 Qsys では、システム内すべての Avalon-MM スレーブ・インタフェースのベース・ア ドレスを解決する必要があります。ユーザーは、自動割り当て機能を使用するか、 または手動でベース・アドレスを設定することができます。自動割り当て機能を使 用するには、System メニューの Assign Base Addresses をクリックします。このデザ イン例では、ベース・アドレスを手動で割り当てます。 PCI Express 用の IP コンパイラは、ベースアドレスを BAR に保存します。PCI Express 用の IP コンパイラのスレーブ BAR でサポートされる最大のサイズは、1 G バイトで す。したがって、システム内のすべての Avalon-MM スレーブ・ベース・アドレスを 0x20000000 未満にしなければなりません。この制約は、PCI Express 用の IP コンパイ ラのマスタ・ポートに接続されたすべての Avalon-MM スレーブ・ポートに適用され ます。 以下のステップに従って、手動で Avalon-MM スレーブ・インタフェースにベース・ アドレスを割り当てます。 1. エクスポートするインタフェースのロウで、Base カラムをクリックします。 2. インタフェースに所望のベース・アドレスを入力します。 表 17–12 に示されたベース・アドレスを割り当てます。 表 17‒12. Avalon-MM スレーブ・インタフェースのベース・アドレスの割り当て インタフェース名 エクスポートされた名前 pcie_hard_ip_0 txs 0x00000000 pcie_hard_ip_0 cra 0x00000000 dma_0 control_port_slave 0x00004000 onchip_memory_0 s1 0x00200000 これらの割り当てを完成させた後、アドレス範囲のオーバーラップに関する Qsys エ ラー・メッセージが Messages タブから消えます。アドレス範囲に関するエラー・ メッセージが消えない場合、この章の前述のステップを確認してください。ご使用 のデザインがこれらのステップに従っていれば、エラー・メッセージは消えるはず です。 表 17–12 のようにベース・アドレスを割り当てた後、Qsys システムの Address Map タブは図 17–3 のようになります。 図 17‒3. Qsys システムのアドレス・マップ BAR1:0 に割り当てられた範囲のアドレスに対する PCI Express のリクエストは、 onchip_memory_0 への Avalon-MM リード転送およびライト転送に変換されます。BAR2 に割り当てられた範囲のアドレスに対する PCI Express のリクエストは、PCI Express 用の IP コンパイラの cra スレーブ・ポートへの、または DMA コントローラの control_port_slaveポートへのAvalon-MMリード転送およびライト転送に変換されま す。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 17‒12 第 17 章 : Qsys のデザイン例 Qsys システムの生成 pcie_hard_ip_0 cra スレーブ・ポートは、プログラムされた BAR2 ベース・アドレス からのオフセットの 0x0000000 から 0x0003FFF までアクセス可能です。DMA の control_port_slave は、プログラムされた BAR2 ベース・アドレスからのオフセット の 0x00004000 から 0x0000403F までアクセス可能です。このアドレス・マッピング について詳しくは、4–22 ページの「PCI Express-to-Avalon-MM のアドレス変換」を参 照してください。 Avalon-MM から pcie_hard_ip_0 txs Avalon-MM スレーブ・ポートへ直接アクセスす る場合、1 M バイトまたは 20 ビットのアドレス・ページ・サイズを選択しているた めに、Avalon-MM アドレス・ビット 19-0 は変化することなく PCI Express へ受け渡さ れます。ビット 20 では、PCI Express アドレスにおいて上位ビットを提供する 2 つの アドレス変換テーブル・エントリのうち 1 つが選択されます。Avalon-MM アドレス・ ビット [31:21] は、txs Avalon-MM スレーブ・ポートを選択します。このアドレス・ マッピングについて詳しくは、4–23 ページの「Avalon-MM-to-PCI Express のアドレス 変換」を参照してください。 図 17–4 に、完成した Qsys システムを示します。 図 17‒4. Qsys システムにおいて完成した PCI Express 用の IP コンパイラのデザイン例 Qsys システムの生成 Qsys システムを生成するには、以下の手順に従います。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 17 章 : Qsys のデザイン例 Qsys システムのシミュレーション 17‒13 1. Generation タブの Simulation セクションで、以下のオプションを設定します。 ■ Create simulation model を Verilog にします。 ■ Create testbench Qsys system を Standard、および BFMs for standard Avalon interfaces にします。 ■ Create testbench simulation model を Verilog にします。 2. Synthesis セクションで、Create HDL design files for synthesis をオンにします。 3. タブの下方にある Generate ボタンをクリックします。 4. Qsys が Generate プログレス・ボックス・タイトルに Generate Completed と通知し た後に、Close をクリックします。 5. File メニューの Save をクリックします。 表 17–13 に、Quartus II プロジェクト・ディレクトリ内に生成されるファイルを示し ます。このデザイン例では、プロジェクト・ディレクトリは C:\projects\s4gx_gen1x8_qsys、Qsys システム・ディレクトリは hip_s4gx_gen1x8_qsys です。 表 17‒13. Qsys システムで生成されるディレクトリ ディレクトリ 位置 Qsys system <project_dir>/hip_s4gx_gen1x8_qsys Synthesis <project_dir>/hip_s4gx_gen1x8_qsys/synthesis Simulation <project_dir>/hip_s4gx_gen1x8_qsys/simulation Testbench <project_dir>/hip_s4gx_gen1x8_qsys/testbench Qsys システムのシミュレーション Qsys は、<project_dir>/hip_s4gx_gen1x8_qsys/testbench/hip_s4gx_gen1x8_qsys_tb.qsys と 名づけられたトップレベルのテストベンチを生成します。このテストベンチは、エ クスポートされた各インタフェースに適切な BFM を接続します。PCI Express 用の IP コンパイラをシミュレーションするために、Qsys はリクエストされたファイルとモ デルを生成します。 このセクションのデザイン例では、以下のファイルとソフトウェアを使用します。 1 ■ Qsys で作成したシステム ■ Qsys によって <project_dir>/hip_s4gx_gen1x8_qsys/testbench ディレクトリ内に生成さ れたテストベンチ。Qsys 内のこのテストベンチは、 <project_dir>/hip_s4gx_gen1x8_qsys/testbench/hip_s4gx_gen1x8_qsys_tb.qsysのファイ ルを開くことで確認することができます。 ■ ModelSim-Altera Edition ソフトウェア その他のサポートされたサード・パーティ・シミュレータを使用してデザインをシ ミュレーションすることもできます。 Qsys は、すべてのシステム・コンポーネントの IP 機能シミュレーション・モデルを 生成します。IP 機能シミュレーション・モデルは、Qsys によってプロジェクト・ ディレクトリ内に作成された .vo または .vho ファイルにあります。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 17‒14 第 17 章 : Qsys のデザイン例 Qsys システムのシミュレーション f IP 機能シミュレーション・モデルについて詳しくは、Quartus II Handbook の Simulating Altera Designs volume 3 を参照してください。 図 17–5 に、Qsys が <project_dir>/hip_s4gx_gen1x8_qsys/testbench/hip_s4gx_gen1x8_qsys_tb.qsys の中に生成 したテストベンチを示します。 図 17‒5. PCI Express 用の IP コンパイラのデザイン例での Qsys のテストベンチ <Quartus II installation directory>/ip/altera/altera_pcie/altera_pcie_avmm/example_designs/s4gx_gen1x8 は、同 じ .qsys ファイルの事前に生成されたバージョンを含みます。 PIPE モードからシリアル・モードへの変更 デフォルトの状態では、シミュレーションは PIPE モードで実行されます。シミュ レーションをシリアル・モードで実行するには、Qsys のテストベンチを実行する前 に、以下のステップに従います。 1. ディレクトリをプロジェクト・ディレクトリのサブディレクトリ hip_s4gx_gen1x8_qsys/testbench/hip_s4gx_gen1x8_qsys_tb/simulation に変更します。 2. hip_s4gx_gen1x8_qsys_tb.v ファイルをテキスト・エディタで開きます。 3. busy_altgxb_reconfig シグナルを生成するモジュール・インスタンスを見つけ ます。このシグナルはファイル内に長いプリフィックスを持ち、以下のコードに よってインスタンス化されます。 hip_s4gx_gen1x8_qsys_tb_hip_s4gx_gen1x8_qsys_inst_pcie_hard_ip_0_reconfig_busy_bfm hip_s4gx_gen1x8_qsys_inst_pcie_hard_ip_0_reconfig_busy_bfm ( .sig_busy_altgxb_reconfig (hip_s4gx_gen1x8_qsys_inst_pcie_hard_ip_0_reconfig_busy_bfm_conduit_busy_altgxb_reconfig) ); 4. このモジュール・インスタンスを次のアサインメントで置き換えます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 17 章 : Qsys のデザイン例 Qsys システムのシミュレーション 17‒15 assign hip_s4gx_gen1x8_qsys_inst_pcie_hard_ip_0_reconfig_busy_bfm_conduit_busy_altgxb_reconfig \ = 0; 5. 保存してファイルを閉じます。 6. ディレクトリを submodules に変更します。 7. テキスト・エディタで altera_pcie_bfm.v ファイルを開きます。 8. 次の行のコード parameter PIPE_MODE_SIM = 1’b1; を、次の置換コードで置き換えます。 parameter PIPE_MODE_SIM = 1’b0. 9. 保存してファイルを閉じます。 Qsys デザイン・フローでは、altgxb_reconfig ブロックは Qsys システムの外部でイ ンスタンス化されなければなりません。したがって、このデザイン例の Qsys システ ムは altgxb_reconfig ブロックを含みません。Qsys システムをシリアル・シミュ レーション・コードでシミュレーションする場合、リセット・コントローラが busy_altgxb_reconfig シグナルの立ち下がりエッジを決して検出することがないよ うに、busy_altgxb_reconfig シグナルをゼロに強制する必要があります。トラン シーバのリコンフィギュレーション・ブロックはインスタンス化されていないため に、リセット・コントローラの後続の動作に障害が生じる可能性があるのです。 PIPE モードの場合、altgxb_reconfig シグナルは無視されます。完全なデザイン例 の場合、altgxb_reconfig モジュールは Qsys システムの外部でインスタンス化されま す。 シミュレーションの実行 Qsys のテストベンチを実行するには、以下のステップに従います。 1. ModelSim シミュレータを起動します。 2. ModelSim シミュレータで、ディレクトリをテストベンチ・ディレクトリ <project_dir>/hip_s4gx_gen1x8_qsys/testbench に変更します。このディレクトリを <testbench directory> と呼びます。 3. シミュレータのコマンド・プロンプトに次のコマンドを入力し、セットアップ・ スクリプトを実行します。 do mti_setup.tcl r 4. Modelsim ですべてのファイルをコンパイルしてデザインをロードするには、シ ミュレータのプロンプトに次のうちいずれかを入力します。 ■ 波形を使用してデバックする場合、以下のコマンドを入力します。 ld_debug r ■ 最適化されたモードでシミュレーションする場合、以下のコマンドを入力し ます。 ld r 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 17‒16 第 17 章 : Qsys のデザイン例 Qsys システムのシミュレーション 5. 波形のファイルが設定されていない場合は、次のステップに従います。 a. ModelSim の Objects タブで、シミュレーション波形に表示したいファイルを ハイライトします。 b. 選択した信号のところで右クリックし、Add > To Wave を選択して Selected Signals をクリックします。Wave タブには、選択した信号が表示されます。 c. ファイル・メニューの Save Format をクリックします。Save Format のダイアロ グ・ボックスが表示されます。 d. Pathname を <testbench directory>/wave_presets.do に変更します。 e. OK をクリックします。 これで、シミュレーションの実行がこれらの信号によって表示されるように設定 されました。以降のシミュレーションの実行では、ステップ 5 を抜かすことがで きます。 6. 前回のシミュレーションの実行のために設定した波形ファイルを使用するには、 波形のセットアップ・ファイルを明示的に呼び出す必要があります。波形ファイ ルの名前が wave_presets.do である場合、シミュレータのプロンプトに次のコマ ンドを入力します。 do wave_presets.do r 7. Qsys システムをシミュレーションするには、シミュレータのプロンプトに次のコ マンドを入力します。 run -all r PCI Express 用の IP コンパイラのテスト・ドライバは、一連のトランザクションを実 行します。これらのトランザクションのステータスは、ModelSim シミュレーション のメッセージ・ウィンドウに表示されます。このテスト・ドライバは次のトランザ クションを実行します。 ■ リンクの初期化後に、システム内の PCI Express 用の IP コンパイラへの各種コン フィギュレーションのアクセス ■ DMA コンポーネントからのリクエストに対応するアドレス変換テーブルのセット アップ ■ ルート・ポート BFM の共有メモリからのデータ512 バイトを読み込むための DMA コ ントローラのセットアップ ■ ルート・ポート BFM の共有メモリへ戻る同一のデータ 512 バイトを書き込むための DMA コントローラのセットアップ ■ データの比較とミスマッチの通知 シミュレーションが正常に完了した後、ModelSim のプロンプトに quit と入力して ModelSim シミュレータを閉じます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 17 章 : Qsys のデザイン例 コンパイルのためのデザインの準備 17‒17 コンパイルのためのデザインの準備 前のセクションにおいてユーザーが作成してシミュレーションした Qsys デザイン は、Quartus II プロジェクトのサブシステムです。ハードウェアでコンフィギュレー ションして実行するためには、Quartus II プロジェクトでは、PCI Express 用の IP コン パイラをサポートする追加モジュールが必要となります。図 17–6 に、デバイスでコ ンパイル、コンフィギュレーション、および実行することができる完全な Quartus II プロジェクトのブロック図を示します。 図 17‒6. Quartus II プロジェクトのブロック図 Wrapper File Qsys Generated Endpoint On-Chip Memory Interconnect IP Compiler for PCI Express PCI Express Avalon-MM Bridge Transaction, Data Link, and PHY Layers PCI Express Link DMA reconfig_fromgxb reconfig_togxb reconfig_busy fixedclk PLL altgxb_reconfig pll_locked reconfig_clk デザイン例のラッパ・ファイル アルテラは、このデザイン例に必要な接続と機能を含んだラッパ・ファイル s4gx_gen1x8_qsys_top.v を提供しています。このファイルは、Quartus II のインストー ル・ディレクトリの /ip/altera/altera_pcie/altera_pcie_avmm/example_designs/s4gx_gen1x8 の中にあります。 ハードウェアでコンフィギュレーションして実行する Quartus II プロジェクトを作成 するために、それをデザイン例とともにプロジェクトに追加することができます。 PLL と altgxb_reconfig ブロックを接続する方法、および PCI Express 用の IP コンパ イラとの動作について詳しくは、7–1 ページの「リセット・ハード IP の実装」を参 照してください。これらのモジュールは、PCI Express 用の IP コンパイラへの 125 MHz の fixedclk と 50 MHz の reconfig_clk インプット・クロックを生成することが 必要とされます。 Qsys デザイン・フローでは、Qsys システムの外部で altgxb_reconfig ブロックをイ ンスタンス化することがリクエストされます。ユーザー独自のデザインを生成する 場合、デザイン例のラッパ・ファイルを、独自のラッパファイルを書き込むときの 基準として使用することができます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 17‒18 第 17 章 : Qsys のデザイン例 コンパイルのためのデザインの準備 Quartus II プロジェクトへのファイルの追加 デザイン例を完成させるためには、プロジェクトにラッパ・ファイルを追加する必 要があります。プロジェクトがハードウェアで正しくコンフィギュレーションして 実行することを確認するために、ご使用のプロジェクトには FPGA ピン・アサインメ ントとトップレベル信号のタイミング制約が必要です。アルテラは、 EP4SGX230KF40C2 デバイスに対応したこれらのアサインメントを含む Synopsys Design Constraints ファイル(.sdc)と Tcl ファイル(.tcl)を提供しています。さら に、altgxb_reconfig と GPLL ファイルも含める必要があります。これら 2 つのファイ ルは、MegaWizard Plug-In Manager で altgxb_reconfig インスタンスおよび GPLL インス タンスを生成することによって作成することが可能です。あるいは、アルテラ提供 のラッパ・ファイルに接続するための正しい名前がつけられて生成されたアルテラ 提供の Verilog HDL ファイルを使用することも可能です。 Quartus II プロジェクトにファイルを追加するには、以下のステップに従います。 1. <installation_directory>/ip/altera/altera_pcie/ altera_pcie_avmm/example_designs/s4gx_gen1x8 からプロジェクト・ディレクトリ へ、以下のファイルをコピーします。 ■ altgxb_reconfig.v ■ gpll.v ■ s4gx_gen1x8_qsys_top.sdc ■ s4gx_gen1x8_qsys_top.tcl ■ s4gx_gen1x8_qsys_top.v 2. Quartus II ソフトウェアで、デザイン例の Qsys システムを作成した s4gx_gen1x8_qsys_top.qpf プロジェクトを開きます。 3. Assignments メニューの Settings をクリックします。 4. Category パネルの Files をクリックします。 5. 以下の各ファイルを Quartus II プロジェクトのディレクトリに移動して、Add をク リックします。 ■ altgxb_reconfig.v ■ gpll.v ■ s4gx_gen1x8_qsys_top.sdc ■ s4gx_gen1x8_qsys_top.tcl ■ s4gx_gen1x8_qsys_top.v ■ hip_s4gx_gen1x8_qsys/synthesis/hip_s4gx_gen1x8_qsys.qip ■ hip_s4gx_gen1x8_qsys/synthesis/submodules/altera_pci_express.sdc 6. Apply をクリックします。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 17 章 : Qsys のデザイン例 デザインのコンパイル 17‒19 7. ラッパ・ファイルがプロジェクトに追加されたことを確認するには、以下のス テップに従います。 a. Quartus II ソフトウェアの Project Navigator パネルで、s4gx_en1x8_qsys_top エ ンティティをクリックします。Verilog HDL のコードが Quartus II のテキスト・ エディタに表示されます。 b. テキスト・エディタで s4gx_gen1x8_qsys_top.v ファイルを開きます。 c. Quartus II のテキスト・エディタのコードが s4gx_gen1x8_qsys_top.v ファイル のコードであることを確認します。 8. Settings ウィンドウの Category パネルで、Libraries をクリックします。 9. Project libraries で、表 17–14 に示されたディレクトリを移動して追加します。 表 17‒14. ライブラリの検索パス ディレクトリ・パス 説明 <project directory> プロジェクトのトップレベル・ファイルの ための現在のプロジェクト・ディレクト リ、altgxb_reconfig ファイル、および PLL ファイル。 hip_s4gx_gen1x8_qsys/synthesis Qsys のトップレベル・ファイルへのパス。 hip_s4gx_gen1x8_qsys/synthesis/submodules デザイン内の他のモジュールへのパス。 10. Apply をクリックします。 11. OK をクリックします。 デザインのコンパイル デザインをコンパイルするには、以下のステップに従います。 1. s4gx_gen1x8_qsys_top.qpf プロジェクトを開いていなければ、Quartus II ソフト ウェアでそれを開きます。 2. Processing メニューの Start Compilation をクリックします。 3. コンパイル後、コンパイル・レポートの TimeQuest Timing Analyzer フォルダを拡 張します。タイミング制約が達成されているかどうかコンパイル・レポートで確 認してください。 デザインがタイミング制約を満たしていない場合、最適な Fitter 設定をデザイン・ スペース・エクスプローラで見つけることができます。デザイン・スペース・エ クスプローラを使用するには、Tools メニューの Launch Design Space Explorer をク リックします。 デバイスのプログラム デザインをコンパイルした後、ターゲットのアルテラ・デバイスをプログラムする ことができます。また、ハードウェア内でデザインを検証することができます。 f デバイスのプログラムについて詳しくは、Quartus II Handbook volume 3 の Device Programming セクションを参照してください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 17‒20 PCI Express 用の IP コンパイラのユーザー・ガイド 第 17 章 : Qsys のデザイン例 デバイスのプログラム 2011 年 5 月 Altera Corporation 18. デバッグ May 2011 <edit Part Number variable in chapter> PCI Express システムを立ち上げるとき、ユーザーは FPGA コンフィギュレーション、 リンク・トレーニング、BIOS の列挙、データ転送などに関係した多くの問題に直面 する可能性があります。この章では、ハードウェアを立ち上げるときに起こる一般 的な問題を解決するための対策を提示します。 ハードウェア立ち上げでの問題 通常、PCI Express のハードウェアの立ち上げは、以下のステップを含みます。 1. システム・リセット 2. リンク・トレーニング 3. BIOS の列挙 以下のセクションでは、ハードウェアの立ち上げフローのデバッグの方法について 説明します。アルテラは、立ち上げの問題を診断するために、図 18–1 に示すような システマティックな手法を推奨します。 図 18‒1. リンク・トレーニングの問題のデバッグ Does Link Train Correctly? system reset Successful OS/BIOS Enumeration? Yes No Check PIPE Interface Check LTSSM Status Yes Check Configuration Space No Use PCIe Analyzer Soft Reset System to Force Enumeration リンク・トレーニング 物理層は、リンク・トレーニングと初期化をソフトウェアの介入なしに自動的に行 います。これは、PCIe パケットが送信できるように、デバイスの物理層とリンクを コンフィギュレーションして初期化するために明確に定義されたプロセスです。リ ンク・トレーニングの問題が発生した場合、ハードウェアの実際のデータを確認す ることは根本的な原因を特定するのに役立ちます。ハードウェアの機能を確認する には、以下のツールを使用することができます。 2011 年 5 月 ■ アルテラの SignalTap® II エンベデッド・ロジック・アナライザ ■ サード・パーティの PCIe アナライザ Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 18‒2 第 18 章 : デバッグ ハードウェア立ち上げでの問題 Quartus II SignalTap II ロジック・アナライザを使用したリンク・ト レーニング問題のデバッグ PIPE インタフェースで発生する LTSSM の状態遷移を診断するために、SignalTap II エ ンベデッド・ロジック・アナライザを使用することができます。 リンク・トレーニングおよびステータス・ステート・マシーン(ltssm[4:0])の確認 PCI Express 用の IP コンパイラの ltssm[4:0] バスは、LTSSM のステータスをエン コードします。LTSSM ステート・マシーンには、リンク・トレーニングのプロセスを 通して物理層が反映されます。これらの信号のエンコードについて詳しくは、5–27 ページの「リセットおよびリンク・トレーニング信号」を参照してください。リン ク・トレーニングが完全に完了した上でリンクがアップする場合、LTSSM は L0 状態 で安定して留まっている必要があります。 リンクの問題が発生した場合、L0 状態に達する前にリンク・トレーニングが失敗し たのか、または最初にリンクが (L0) に設定されたにもかかわらず後の追加のリン ク・トレーニングの問題によって失ったのか、ということを ltssm[4:0] でモニタす ることができます。リンク・トレーニングの問題がある場合、SignalTap II ロジック・ アナライザを使用して、ハードウェアの実際のリンク・ステータスを確認すること ができます。LTSSM のエンコーディングは、リンク・トレーニングのプロセスを介 して進行するとき物理層の LTSSM 状態を示します。 f リンク・トレーニングについて詳しくは、「Link Training and Status State Machine (LTSSM) Descriptions」の PCI Express Base Specification 2.0 のセクションを参照してくだ さい。 f SignalTap II ロジック・アナライザについて詳しくは、Quartus II Handbook volume 3 の Design Debugging Using the SignalTap II Embedded Logic Analyzer を参照してください。 PIPE インタフェースの確認 LTSSM の信号は PCI Express のリンクの片側の動作を反映するため、それらの信号を モニタするのみでは根本的な問題を決定するのが困難な場合があります。ltssm バス に加えて PIPE インタフェースの信号をモニタすることで、より優れたハードウェア 機能の確認が得られます。 PIPE インタフェースは Intel によって指定されます。このインタフェースは、 MAC/PCS の機能パーティショニングを定義します。また、これら 2 つのサブレイヤ のインタフェース信号も定義します。PIPE インタフェースの信号をモニタするため に SignalTap II ロジック・アナライザを使用することで、リンクを形成するデバイス に関するより多くの情報が得られます。 リンク・トレーニングおよび初期化の間、異なる定義済み物理層パケット (PLPs) (オーダ・セットと呼ばれる)は、すべてのレーン上の 2 つのデバイス間で交換され ます。これらのオーダ・セットはすべて、接続された 2 つのデバイス間でリンクの 幅、リンクのデータ・レート、レーン反転などの機能を交換可能にするために、重 要な情報を運ぶ特殊記号(K コード)を持っています。リンクの初期化およびリン ク・トレーニングの両側でオーダ・セットを追跡して、リンクの問題を診断するこ とができます。また、SignalTap II ロジック・アナライザを使用して、問題の動作を 決定することができます。以下の信号は、立ち上げの問題を診断するためにもっと も重要な信号の一部です。 ■ txdata<n>_ext[15:0]/txdatak<n>_ext[1:0]— これらの信号は、アルテラの PCI Express 用の IP コンパイラから他のデバイスにデータとコントロールが送信中で あることを示しています。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 第 18 章 : デバッグ ハードウェア立ち上げでの問題 ■ 18‒3 rxdata<n>_ext[15:0]/rxdatak<n>_ext[1:0]— これらの信号は、アルテラの PCI Express 用の IP コンパイラが他のデバイスからデータとコントロールを受信した ことを示しています。 ■ phystatus<n>_ext— この信号は、いくつかの PHY リクエストのコンプリーション を通知しています。 ■ rxstatus<n>_ext[2:0]— この信号は、受信データ・ストリームと受信検出に関 する受信ステータスおよびエラー・コードをエンコードします。 PCI Express 用の IP コンパイラのソフト IP 実装を使用している場合、デバイスのピン で PIPE インタフェースを確認することができます。ハード IP 実装を使用している場 合、test_out バスを介して PIPE 信号をモニタすることができます。 f 「PHY Interface for PCI Express Architecture」の仕様は、Intel のウェブサイト (www.intel.com)で提供されています。 サード・パーティの PCIe アナライザの使用 サード・パーティの PCI Express ロジック・アナライザは物理リンク上でトラフィッ クを記録およびデコードするため、記号を自分で翻訳する手間が省けます。サード・ パーティの PCI Express ロジック・アナライザは、様々な要件に対応した様々なレベ ルで双方向トラフィックを表示することができます。ハイレベルの診断では、アナ ライザは並列のリンク両側のデバイスに対する LTSSM フローを示します。この表示 により、リンク・トレーニングのハンドシェイク動作を確認することができます。 また、どこでトラフィックがはまり込んでいるか特定することができます。PCIe ト ラフィック・アナライザはパケット内容を表示することができ、ユーザーはその内 容を検証することができます。詳細は、サード・パーティの文書を参照してくださ い。 BIOS 列挙の問題 FPGA のプログラム(コンフィギュレーション)および PCIe のリンク初期化には、い ずれも時間がかかります。OS/BIOS がデバイス・ツリーの列挙を開始するとき、PCI Express 用の IP コンパイラを含めアルテラの FPGA の準備ができていない可能性があ ります。OS/BIOS が列挙を開始するときに FPGA のプログラムが未完成である場合、 OS は PCI Express 用の IP コンパイラのモジュールをデバイス・マップに含めていま せん。この問題を解消するには、強制的に OS/BIOS に列挙を繰り返させながら FPGA のプログラムを保持するために、システムのソフト・リセットを行うことができま す。 コンフィギュレーション・スペースの設定 ハードウェアの実際のコンフィギュレーション・スペースの設定が正しいことを検 証するために、それらを確認します。以下の方法のいずれかを使用してそれを実行 することができます。 ■ 2011 年 5 月 PCItree(Windows)- PCItree は、PCIe デバイスの実際のハードウェア・コンフィ ギュレーション・スペースを確認することができるサード・パーティのツールで す。これは PCI Tree のウェブサイト(www.pcitree.de/index.html)で提供されてい ます。 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド 18‒4 第 18 章 : デバッグ リンクおよびトランシーバのテスト ■ lspci(Linux)- lspci は、PCIe デバイスの実際のハードウェア・コンフィギュレー ション・スペースを確認することができる Linux のコマンドです。最初に、64 バ イトおよびデバイスの拡張コンフィギュレーション・スペースの両方が記載され ています。使用オプションについて詳しくは、lspci Linux man ページ (linux.die.net/man/8/lspci)を参照してください。このコマンドは /sbin ディレクト リにあります。 リンクおよびトランシーバのテスト Arria II GX、Arria II GZ、Cyclone IV GX、および Stratix IV GX において、PCI Express 用の IP コンパイラのハード IP 実装は、リバース・パラレル・ループバック・パスをサ ポートします。このループバック・パスは、作業中の PCI Express ルート・コンプ レックスから PCI Express 用の IP コンパイラのエンドポイント・リンク実装をテスト するために使用することができます。このループバック・パスについて詳しくは、 4–17 ページの「リバース・パラレル・ループバック」を参照してください。 このセクションでは、PCI Express 用の IP コンパイラ・システムでリバース・パラレ ル・ループバック・パスをコンフィギュレーションする方法および使用する方法を 説明します。 テストでリバース・パラレル・ループバック・パスを使用しているときにデータの 完全性をサポートするには、システムが PCI Express リンク上のルート・コンプレッ クス TX ピンとエンドポイント RX ピンの間で AC 結合を含んでいることを確認しま す。 このループバック・モードでトランシーバをコンフィギュレーションし、PMA テス トを実行するには、AC 結合されたシステムが以下のステップに従う必要がありま す。 1. リンク・トレーニングの間、Configuration.LinkWidth.Start サブステートで、TS1 お よび TS2 のオーダ・セットのループバック・ビット(記号 5 のビット [2])を ルート・コンプレックスでアサートします。 2. エンドポイントが正常にループバック状態に入った後、エンドポイントで tx_detectrxloopback 信号をアサートし、txelecidle 信号をディアサートします。 エンドポイント・トランシーバは、tx_detectrxloopback 信号のアサーションを 検出した後、自動的にリバース・パラレル・ループバック・パスをイネーブルし ます。 3. ルート・コンプレックスは、PCI Express の仕様によって規定された間隔で、SKP オーダ・セットに散在する 8B/10B エンコード・パターンをエンドポイントに送 信します。SKP オーダ・セットの送信は、レート・マッチングの FIFO バッファが アンダーフローまたはオーバーフローしないことを確認するために必要です。 4. ルート・コンプレックスは、PCI Express の仕様に従って SKP オーダ・セットを無 視し、ループバック TX データをエンドポイントに送信された元のデータと比較 します。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation A. TLP(トランザクション・レイヤ・ パケット)のヘッダ・フォーマット May 2011 <edit Part Number variable in chapter> データ・ペイロードなしの TLP パケットのフォーマット 表 A–2 から A–3 ページは、データ・ペイロードなしのヘッダ・フォーマットを示し ています。これらのヘッダが IP コアへ、または IP コアから tx_desc および rx_desc として転送される場合は、表 A–1 に示されたマッピングを使用します。 表 A‒1. ヘッダのマッピング ヘッダのバイト数 tx_desc/rx_desc のビット数 バイト 0 127:120 バイト 1 119:112 バイト 2 111:104 バイト 3 103:96 バイト 4 95:88 バイト 5 87:80 バイト 6 79:72 バイト 7 71:64 バイト 8 63:56 バイト 9 55:48 バイト 10 47:40 バイト 11 39:32 バイト 12 31:24 バイト 13 23:16 バイト 14 15:8 バイト 15 7:0 表 A‒2. メモリのリード・リクエスト、32 ビットのアドレス +0 +1 +2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 バイト 4 0 0 0 0 0 0 0 0 0 6 0 0 0 0 TD EP Requestor ID バイト 8 5 4 Attr Tag Address[31:2] バイト 12 2011 年 5 月 TC +3 3 2 1 0 7 6 5 0 0 4 3 2 1 0 Length Last BE First BE 0 0 予約 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド A‒2 付録 A: TLP(トランザクション・レイヤ・パケット)のヘッダ・フォーマット データ・ペイロードなしの TLP パケットのフォーマット 表 A‒3. メモリのリード・リクエスト、32 ビット・ロックのアドレス +0 +1 +2 +3 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 0 0 0 0 0 0 1 0 TC バイト 4 0 0 0 0 TD 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP Attr Requestor ID バイト 8 0 0 Length Tag Last BE First BE 0 0 Address[31:2] バイト 12 予約 表 A‒4. メモリのリード・リクエスト、64 ビットのアドレス +0 +1 +2 +3 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 0 1 0 0 0 0 0 0 バイト 4 TC 0 0 0 0 TD 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP Att r Requestor ID 0 0 Length Tag バイト 8 Address[63:32] バイト 12 Address[31:2] Last BE First BE 0 0 \ 表 A‒5. メモリのリード・リクエスト、64 ビット・ロックのアドレス +0 +1 +2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 0 1 0 0 0 0 1 0 バイト 4 TC +3 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP Att r 0 0 0 0 T Requestor ID 0 0 Length Tag バイト 8 Address[63:32] バイト 12 Address[31:2] Last BE First BE 0 0 表 A‒6. コンフィギュレーションのリード・リクエストのルート・ポート(タイプ 1) +0 +1 +2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 TD バイト 4 バイト 8 +3 6 Requestor ID Bus Number Device No バイト 12 PCI Express 用の IP コンパイラのユーザー・ガイド 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 First BE Tag Func 0 0 0 0 Ext Reg Register No 0 0 予約 2011 年 5 月 Altera Corporation 付録 A: TLP(トランザクション・レイヤ・パケット)のヘッダ・フォーマット データ・ペイロードなしの TLP パケットのフォーマット A‒3 表 A‒7. I/O のリード・リクエスト +0 バイト 0 +1 +2 +3 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 TD EP 0 0 0 0 0 0 0 0 0 0 0 0 0 1 バイト 4 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Requestor ID 0 0 0 0 First BE Tag バイト 8 0 0 Address[31:2] バイト 12 予約 表 A‒8. データなしメッセージ +0 +1 7 6 5 4 3 2 1 0 +2 7 6 5 4 3 2 1 0 7 バイト 0 0 0 1 1 0 r2 r1 r0 0 TC バイト 4 +3 6 0 0 0 0 TD 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Requestor ID Tag バイト 8 ベンダ定義またはすべてゼロ バイト 12 ベンダ定義またはすべてゼロ Message Code 表 A–8 の注 : (1) Avalon-MM ではサポートされていません。 表 A‒9. データなしコンプリーション +0 バイト 0 +1 +2 +3 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 0 0 0 0 1 0 1 0 0 TC EP Attr 0 0 0 0 0 0 TD バイト 4 Completer ID バイト 8 Requestor ID Status 3 2 1 0 7 6 5 4 3 2 1 0 B Byte Count 0 Tag バイト 12 Length Lower Address 予約 表 A‒10. データなしロック・コンプリーション +0 +1 +2 +3 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 0 0 0 1 0 1 1 0 TC バイト 4 Completer ID バイト 8 Requestor ID バイト 12 2011 年 5 月 0 0 0 0 TD 6 5 4 EP Attr 0 0 Status B Tag 3 2 1 0 7 6 5 4 3 2 1 0 Length Byte Count 0 Lower Address 予約 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド A‒4 付録 A: TLP(トランザクション・レイヤ・パケット)のヘッダ・フォーマット データ・ペイロードありの TLP パケットのフォーマット データ・ペイロードありの TLP パケットのフォーマット 表 A–11 から A–5 ページは、データ・ペイロードありのトランザクション・レイヤ・ パケットの内容を示しています。 表 A‒11. メモリのライト・リクエスト、32 ビットのアドレス +0 +1 +2 +3 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 1 0 0 0 0 0 0 0 TC バイト 4 0 0 0 0 TD 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP Attr 0 0 Requestor ID バイト 8 Length Tag Last BE First BE 0 0 Address[31:2] バイト 12 予約 表 A‒12. メモリのライト・リクエスト、64 ビットのアドレス +0 +1 +2 +3 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 1 1 0 0 0 0 0 0 バイト 4 TC 0 0 0 0 TD 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP Attr 0 0 Requestor ID Length Tag バイト 8 Address[63:32] バイト 12 Address[31:2] Last BE First BE 0 0 表 A‒13. コンフィギュレーションのライト・リクエストのルート・ポート(タイプ 1) +0 +1 +2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 TD バイト 4 +3 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 Requestor ID バイト 8 Bus Number Device No バイト 12 0 0 0 0 First BE Tag 0 Ext Reg Register No 0 0 予約 表 A‒14. I/O のライト・リクエスト +0 +1 +2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 TD バイト 4 +3 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Requestor ID バイト 8 バイト 12 PCI Express 用の IP コンパイラのユーザー・ガイド Tag 0 0 0 0 First BE 0 0 Address[31:2] 予約 2011 年 5 月 Altera Corporation 付録 A: TLP(トランザクション・レイヤ・パケット)のヘッダ・フォーマット データ・ペイロードありの TLP パケットのフォーマット A‒5 表 A‒15. データありコンプリーション +0 +1 +2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 1 0 0 1 0 1 0 0 0 0 0 0 TD TC バイト 4 Completer ID バイト 8 Requestor ID +3 6 5 4 EP Attr 0 0 Status 3 2 1 0 B Length Byte Count 0 Tag バイト 12 7 6 5 4 3 2 1 0 Lower Address 予約 表 A‒16. データありロック・コンプリーション +0 +1 +2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 1 0 0 1 0 1 1 0 0 0 0 0 TD TC バイト 4 Completer ID バイト 8 Requestor ID +3 6 5 4 EP Attr 0 0 Status 3 2 1 0 7 6 5 4 3 2 1 0 B Tag バイト 12 Length Byte Count 0 Lower Address 予約 表 A‒17. データありメッセージ +0 +1 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 バイト 0 0 1 1 1 0 r2 r1 r0 0 バイト 4 +2 Requestor ID TC 0 0 0 0 TD +3 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 EP 0 0 0 0 Tag バイト 8 ベンダ定義またはスロット電力制限のためにすべてゼロ バイト 12 ベンダ定義またはスロット電力制限のためにすべてゼロ 2011 年 5 月 Altera Corporation Length Message Code PCI Express 用の IP コンパイラのユーザー・ガイド A‒6 PCI Express 用の IP コンパイラのユーザー・ガイド 付録 A: TLP(トランザクション・レイヤ・パケット)のヘッダ・フォーマット データ・ペイロードありの TLP パケットのフォーマット 2011 年 5 月 Altera Corporation B. ディスクリプタ / データ・インタ フェースを使用した PCI Express 用の IP コンパイラのコア May 2011 <edit Part Number variable in chapter> この章では、レガシー・ディスクリプタ / データ・インタフェースを持つ PCI Express 用の IP コンパイラのバリエーションについて説明します。この章は、以下の項から 構成されています。 1 ■ ディスクリプタ / データ・インタフェース ■ ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 アルテラは、PCI Express 用の IP コンパイラがハード IP 実装との互換性を保つために、 すべての新しいデザインに Avalon-ST または Avalon-MM インタフェースを使用するこ とを推奨します。 ディスクリプタ / データ・インタフェース ディスクリプタ / データ・インタフェースを使用して PCI Express 用の IP コンパイラ のエンドポイントを生成するために MegaWizard Plug-In Manager を使用する場合、パ ラメータ・エディタがトランザクション、データ・リンク、および PHY 層を生成し ます。図 B–1 に、このインタフェースを示します。 図 B‒1. ディスクリプタ / データ・インタフェースを使用した PCI Express の IP コア To Application Layer To Link IP Compiler for PCI Express Tx tx_desc tx_data rx_desc rx_data With information sent by the application layer, the transaction layer generates a TLP, which includes a header and, optionally, a data payload. The data link layer ensures packet integrity, and adds a sequence number and link cyclic redundancy code (LCRC) check to the packet. The physical layer encodes the packet and transmits it to the receiving device on the other side of the link. The transaction layer disassembles the transaction and transfers data to the application layer in a form that it recognizes. The data link layer verifies the packet's sequence number and checks for errors. The physical layer decodes the packet and transfers it to the data link layer. Transaction Layer Data Link Layer Rx Physical Layer RX および TX ポートは、データ / ディスクリプタ形式のインタフェースを使用しま す。このインタフェースは、TLP ヘッダを含むディスクリプタ・バスと TLP ペイ ロードを含むデータ・バスにより、アプリケーション・レイヤに接続されます。シ ングル・サイクル・ターンアラウンドのハンドシェイク・プロトコルは、データの 転送を制御します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒2 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 図 B–2 に、ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのすべての信号を示します。 図 B‒2. ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラ Signals in the IP Compiler for PCI Express with Descriptor/Data Interface Receive Data Path (for VC<n>) Transmit Data Path (for VC<n>) rx_req<n> rx_desc<n>[135:0] rx_ack<n> rx_abort<n> rx_retry<n> rx_mask<n> rx_dfr<n> rx_dv<n> rx_data<n>[63:0] rx_be<n>[7:0] rx_ws<n> tx_req<n> tx_desc<n> tx_ack<n> tx_dfr<n> tx_dv<n> tx_data<n>[63:0] tx_ws<n> tx_cred<n>[21:0] tx_err<n> (x1 and x4 only) Clock refclk clk125_in (1) clk125_out (2) Reset npor srst (3) crst (3) 12_exit hotrst_exit dlup_exit Interrupt (5) reconfig_fromgxb[<n>:0] (6) reconfig_togxb[<n>:0] reconfig_clk cal_blk_clk gxb_powerdown app_msi_req app_msi_ack ack_msi_tc[2:0] msi_num[4:0] pex_msi_num[4:0] app_int_sts app_int_ack Power Management pme_to_cr pme_to_sr cfg_pmcsr[31:0] Completion Interface cpl_err[2:0] cpl_pending ko_cpl_spc_vcn[19:0] Configuration cfg_tcvcmap[23:0] cfg_busdev[12:0] cfg_prmcsr[31:0] cfg_devcsr[31:0] cfg_linkcsr[31:0] cfg_msicsr[15:0] Test Interface test_in[31:0] (4) test_out[511:0] tx[7:0] rx[7:0] pipe_mode xphy_pll_areset xphy_pll_locked txdata0_ext[15:0] txdatak0_ext[1:0] txdetectrx0_ext txelecidle0_ext txcompliance0_ext rxpolarity0_ext powerdown0_ext[1:0] rxdata0_ext[15:0] rxdatak0_ext[1:0] rxvalid0_ext phystatus0_ext rxelecidle0_ext rxstatus0_ext[2:0] txdata0_ext[7:0] txdatak0_ext txdetectrx0_ext txelecidle0_ext txcompliance0_ext rxpolarity0_ext powerdown0_ext[1:0] rxdata0_ext[7:0] rxdatak0_ext rxvalid0_ext phystatus0_ext rxelecidle0_ext rxstatus0_ext[2:0] Transceiver Control 1-Bit Serial 16-Bit PIPE for x1 and x4 (Repeated for Lanes 1 - 3 in the x4 MegaCore Function) 8-Bit PIPE for x8 (Repeated for Lanes 1 - 7 in the x8 MegaCore Function) 図 B–2 の注: (1) ×8 IP コアでは、clk125_in を clk250_in で置き換えられます。 (2) ×8 IP コアでは、clk125_out を clk250_out で置き換えられます。 (3) ×8 IP コアでは、srst および crst は削除されます。 (4) ×8 IP コアでは、test_out[511:0] を test_out[127:0] で置き換えられます。 (5) Stratix II GX、Stratix IV GX、Arria GX、および HardCopy IV GX で使用可能です。Stratix II GX および Arria GX デバイスでは、 reconfig_fromgxb はシングル・ワイヤです。Stratix IV GX の場合、×1 および ×4 IP コアでは <n> = 16、×8 IP コアでは <n> = 33 です。 (6) Stratix II GX、Stratix IV GX、Arria GX、および HardCopy IV GX で使用可能です。Stratix II GX および Arria GX の reconfig_togxb では <n> = 2 です。Stratix IV GX の reconfig_togxb では <n> = 3 です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒3 図 B–2 において、コンフィギュレーションおよびグローバル信号はリンク上のすべ てのバーチャル・チャネルに共通なので、送受信信号は実装されたそれぞれのバー チャル・チャネルに適用します。 表 B–1 に、この PCI Express 用の IP コンパイラで使用されるインタフェースと、それ らの各インタフェースを説明しているセクションへのリンクを示します。 表 B‒1. ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパ イラの信号グループ 信号グループ 説明 論理 ディスクリプタ RX B–3 ページの「受信データパス・インタフェース信号」 ディスクリプタ TX B–14 ページの「送信動作のインタフェース信号」 クロック 5–26 ページの「クロック信号 — ソフト IP 実装」 リセット 5–27 ページの「リセットおよびリンク・トレーニング信号」 割り込み 5–31 ページの「エンドポイント用の PCI Express 割り込み」 コンフィギュレー ション・スペース 5–40 ページの「コンフィギュレーション・スペース信号 — ソ フト IP 実装」 電源管理 5–43 ページの「IP コアのリコンフィギュレーション・ブロッ ク信号 — ハード IP 実装」 コンプリーション B–31 ページの「ディスクリプタ / データ・インタフェースの ためのコンプリーション・インタフェース信号」 物理 トランシーバ制御 5–60 ページの「トランシーバ・コントロール信号」 シリアル 5–62 ページの「シリアル・インタフェース信号」 Pipe 5–64 ページの「PIPE インタフェース信号」 テスト テスト 5–70 ページの「テスト・インタフェース信号 — ソフト IP 実 装」 受信データパス・インタフェース信号 受信インタフェースは、送信インタフェースのように 2 つの独立したバスから構成 されます。1 つはディスクリプタ・フェーズ(rx_desc[135:0])、もう 1 つはデー タ・フェーズ(rx_data[63:0])のためのものです。すべてのトランザクションには ディスクリプタが含まれています。ディスクリプタは、2 つの例外を含んで PCI Express Base Specification 1.0a, 1.1 or 2.0 により定義された標準的なトランザクション・ レイヤ・パケット・ヘッダです。ビット 126 および 127 は、トランザクション・レ イヤ・パケット・グループを示します。また、ビット 135:128 は、BAR およびアドレ ス・デコーディング情報を示します。詳しくは、表 B–2 の rx_desc[135:0] を参照し てください。 受信データパス信号は、以下の 2 つのグループに分割できます。 2011 年 5 月 ■ ディスクリプタ・フェーズ信号 ■ データ・フェーズ信号 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒4 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 1 以下の表で <n> のサフィックスを持つ送信インタフェース信号名は、バーチャル・ チャネル <n> のためのものです。IP コアが複数のバーチャル・チャネルを実装する 場合、各バーチャル・チャネル番号のための追加の信号セットがあります。 表 B–2 は、標準的な RX ディスクリプタの・フェーズ信号です。 表 B‒2. RX ディスクリプタのフェーズ信号 ( その 1 ) 信号 rx_req<n> (1) I/O 説明 O 受信リクエスト。この信号は、パケット転送をアプリケーション・インタ フェースに要求するために IP コアによってアサートされます。これは、ト ランザクション・レイヤ・パケット・ヘッダの最初の 2 つの DWORDS が有 効であるときにアサートされます。この信号は、少なくとも 2 クロック・サ イクルの間アサートされます;rx_abort、rx_retry、および rx_ack は、こ の信号と同時にはアサートされません。完成したディスクリプタは、この信 号がアサートされる 2 番目のクロック・サイクルで有効です。 受信ディスクリプタ・バス。ビット [125:0] は、PCI Express Base Specification Revision 1.0a, 1.1 or 2.0 で定義された標準的なトランザクション・レイヤ・パ ケット・ヘッダと同じ意味を持ちます。ヘッダのバイト 0 は rx_desc バスの ビット [127:120] を占有し、ヘッダのバイト 1 はビット [119:112], を占有しま す。このようにして、バイト 15 はビット [7:0] を占有します。ヘッダ・ フォーマットについて詳しくは、付録 A, TLP(トランザクション・レイヤ・ パケット)のヘッダ・フォーマットを参照してください。 ビット [135:128](ディスクリプタおよび BAR デコーディング)について、 表 B–3 を参照してください。エンドポイントによって受信されるコンプリー ション・トランザクションは、アサートされたビットを 1 つも持たず、アプ リケーション・レイヤのマスタ・ブロックにルーティングされる必要があり ます。 rx_desc<n>[135:0] O rx_desc[127:64] は、プリコーディングとアービトレーションが可能な限り 迅速に開始できるように、rx_req がアサートされるのと同じクロック・サイ クルで送信を開始します。rx_desc の他のビットは、以下の図に示されるよ うに、以下のクロック・サイクルまで有効ではありません。 1 2 3 4 clk rx_req rx_ack rx_desc[135:128] rx_desc[127:64] rx_desc[63:0] valid valid valid ディスクリプタのビット 126 は、トランジットのトランザクション・レイ ヤ・パケットのタイプを示します。 ■ rx_desc[126] を 0 に設定したとき:データなしのトランザクション・レイ ヤ・パケット ■ rx_desc[126] を 1 に設定したとき:データありのトランザクション・レイ ヤ・パケット PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒5 表 B‒2. RX ディスクリプタのフェーズ信号 ( その 2 ) 信号 rx_ack<n> rx_abort<n> rx_retry<n> rx_mask<n> I/O 説明 I 受信確認。この信号は、アプリケーション・インタフェースがディスクリプ タ・フェーズを確認してデータ・フェーズがある場合にそれを開始したと き、1 クロック・サイクルの間にアサートされます。rx_req 信号は次のク ロック・サイクルでアサートされます。また、rx_desc は次の送信が可能な 状態になります。rx_ack は rx_dv および rx_data から独立しています。こ れは、rx_data をバックプレッシャするのに使用することはできません。 ウェイト・ステートを挿入するために rx_ws を使用することができます。 I アボートの受信。この信号は、アプリケーションが要求されたディスクリプ タを受け取れない場合、アプリケーション・インタフェースによってアサー トされます。この場合、ディスクリプタが受信バッファ・スペースから削除 され、フロー制御クレジットが更新されます。また、必要な場合、アプリ ケーション・レイヤは送信側でサポートされないリクエスト(UR)ステータ スを持つコンプリーション・トランザクションを生成します。 I 受信の再試行。アプリケーション・インタフェースは、ノン・ポステッド・ リクエストを受け取れない場合にこの信号をアサートします。この場合、ポ ステッド・トランザクションおよびコンプリーション・トランザクションの みが rx_mask<n> の継続時間に受信インタフェースに表示されるようにする ために、アプリケーション・レイヤは rx_mask<n> と共に rx_retry<n> をア サートしなければなりません。 I 受信マスク(ノン・ポステッド・リクエスト)。この信号は、ポステッド・ トランザクションおよびコンプリーション・トランザクションのみを表示す るために、アプリケーション・インタフェースに加えられたすべてのノン・ ポステッド・リクエストのトランザクションをマスクするために使用されま す。この信号は、rx_retry<n> とアサートされなければならず、IP コアが再 びノン・ポステッド・リクエストを受け取ることができるときにはディア サートされなければなりません。 表 B–2 の注: (1) すべての信号において <n> はバーチャル・チャネル番号で、0 または 1 です。 IP コアは、BAR デコーディング情報を使用してこの信号の 8 つの MSB を生成しま す。表 B–3 を参照してください。 表 B‒3. rx_desc[135:128]:ディスクリプタおよび BAR デコーディング ( 注 1) ビット タイプ 0 コンポーネント 128 = 1: デコードされた BAR 0 129 = 1: デコードされた BAR 1 130 = 1: デコードされた BAR 2 131 = 1: デコードされた BAR 3 132 = 1: デコードされた BAR 4 133 = 1: デコードされた BAR 5 134 = 1: デコードされた拡張 ROM 135 予約 表 B–3 の注: (1) 一度に [135:128] のうち 1 ビットだけがアサートされます。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒6 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 表 B–4 は、データ・フェーズ信号を示しています。 表 B‒4. RX データ・フェーズ信号 信号 I/O 説明 rx_dfr<n> (1) O 受信データ・フェーズのフレーミング。この信号は、rx_req がデータ・ フェーズ(データ・フェーズが必要な場合)を要求するのと同じクロック・ サイクルまたはその後のサイクルでアサートされます。これは、アプリケー ション・レイヤにデータ・フェーズの終了を通知するために、最後のデー タ・フェーズの前のクロック・サイクルでディアサートされます。このアプ リケーション・レイヤは、データ・フェーズ・カウンタの実装を必要としま せん。 rx_dv<n> (1) O 受信データ・バリッド。この信号は、rx_data[63:0] がデータを含むことを 示すために、IP コアによってアサートされます。 受信データ・バス。このバスは、リンクからアプリケーション・レイヤに データを転送します。これは 2 つの DWORDS の幅であり、rx_desc のビット 2 に応じて次のうちいずれかの方法でアドレスに必然的にアラインメントさ れます。 rx_data<n>[63:0] (1) O ■ rx_desc[2](64 ビット・アドレス)が 0 のとき:最初の DWORD は、 rx_data[31:0] にあります。 ■ rx_desc[34](32 ビット・アドレス)が 0 のとき:最初の DWORD は、ビット bits rx_data[31:0] に位置しています。 ■ rx_desc[2](64 ビット・アドレス)が 1 のとき:最初の DWORD は、ビット rx_data[63:32] に位置しています。 ■ rx_desc[34](32 ビット・アドレス)が 1 のとき:最初の DWORD は、ビット rx_data[63:32] に位置しています。 この必然的なアラインメントにより、rx_data[63:0] が直接、QW アドレス上 にアラインメントされた 64 ビットのデータパスに接続できるようになりま す(リトル・エンディアン規則で)。 ビット 2 が 1 に設定(5 DWORD トランザクション) 図 B‒3. 1 2 3 4 5 6 clk rx_data[63:32] DW 0 rx_data[31:0] DW 2 DW 4 DW 1 DW 3 ビット 2 が 0 に設定(5 DWORD トランザクション) 図 B‒4. 1 2 3 4 5 6 clk rx_data[63:32] DW 1 DW 3 rx_data[31:0] DW 0 DW 2 DW 4 rx_be<n>[7:0] O 受信バイト・イネーブル。これらの信号は rx_data[63:0] 上のデータを規 定します。信号の各ビットは、rx_data[63:0] 上のデータの対応するバイト が有効かどうか示します。これらの信号は、×8 IP コアでは使用不可能です。 rx_ws<n> I 受信ウェイト・ステート。この信号を使用して、アプリケーション・レイヤ はデータ転送を抑制するためにウェイト・ステートを挿入することができま す。 表 B–4 の注: (1) すべての信号において、<n> はバーチャル・チャネル番号で、0 または 1 です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒7 受信信号を使用したトランザクション例 このセクションでは、トランザクション信号の交信の方法について、以下の項目に 従って詳しく説明します。 ■ データ・ペイロードなしのトランザクション ■ 再試行トランザクションおよびマスクされたノン・ポステッド・トランザクショ ン ■ アボートされたトランザクション ■ データ・ペイロードありのトランザクション ■ データ・ペイロードおよびウェイト・ステートありのトランザクション ■ 受信信号間の依存 データ・ペイロードなしのトランザクション IP コアが連続した 3 つのトランザクション(いずれもデータ・ペイロードを持たな い)を受信する様子を、図 B–5 に示します。 ■ メモリ・リード・リクエスト(64 ビット・アドレス・モード) ■ メモリ・リード・リクエスト(32 ビット・アドレス・モード) ■ I/O リード・リクエスト IP コアは、各トランザクション・レイヤー・パケットが確認したかアボートした後 に、クロック・サイクル 4、7、および 12 でフロー制御クレジットを更新します。必 要な場合、IP コアはフロー制御クレジット・レベルを通知するためにフロー・コン トロール DLLP を生成します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒8 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース クロック・サイクル 8 で初期化された I/O リード・リクエストは、rx_ack がアサー トされるクロック・サイクル 11 まで確認されません。確認が比較的遅くなるのは、 起きうる範囲での過密が原因かもしれません。 図 B‒5. RX のデータ・ペイロードなしの 3 つのトランザクションの波形 1 2 3 4 5 6 7 8 9 10 11 12 clk rx_req rx_ack rx_desc[135:128] Descriptor Signals rx_desc[127:64] valid MEMRD64 rx_desc[63:0] valid valid MEMRD32 valid I/O RD valid valid rx_abort rx_retry rx_mask rx_dfr rx_dv Data Signals rx_ws rx_data[63:32] rx_data[31:0] rx_be[7:0] 再試行トランザクションおよびマスクされたノン・ポステッド・トランザクション アプリケーション・レイヤがノン・ポステッド・リクエストをしばらく受け取るこ とができない場合、アプリケーション・レイヤがパケットを再送信するよう要求す るか、アプリケーション・レイヤが rx_mask を挿入するか、どちらか一方が発生し ます。rx_mask の継続時間に、IP コアはポステッド・トランザクションおよびコン プリーション・トランザクションを選んで、すべてのノン・ポステッド・トランザ クションをマスクして待ちトランザクションを再度優先順位付けします。アプリ ケーション・レイヤがノン・ポステッド・トランザクションを再度受け取ることが できる場合、rx_mask はアサートされ、優先順位は受信バッファに蓄積したすべての ノン・ポステッド・トランザクションに与えられます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒9 各バーチャル・チャネルは、専用のデータパスと関連するバッファを持ち、それら は互いにバーチャル・チャネル間での順序関係はありません。仮に 1 つのバーチャ ル・チャネルが一時的にブロックされた場合、データ・フローは影響を受けること なく他のバーチャル・チャネルを通って継続されます。バーチャル・チャネル内で は、順序変更はデッドロックを避けるためにノン・ポステッド・トランザクション のみに必須です。順序変更は、以下の場合には実装されません。 ■ 同一のバーチャル・チャネルにマップされたトラフィック・クラスの間 ■ ポステッド・トランザクション、およびコンプリーション・トランザクショ ンの間 ■ トランザクション・レイヤ・パケットのリラックス順序変更ビットにかかわ らず同じタイプのトランザクションの間 図 B–6 に、すぐに受け入れることができない 4 つの DWORD のメモリ・リード・リ クエスト・トランザクションを IP コアが受信する様子を示します。2 番目のトラン ザクション(1 つの DWORD のメモリ・ライト・トランザクション)は受信バッファ で待機しています。メモリ・ライト・リクエストのための rx_data[63:0] のビット 2 は 1 に設定されています。 クロック・サイクル 3 で、rx_mask がアサートされている間、ノン・ポステッド・ト ランザクションの送信は許可されません。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒10 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース フロー制御クレジットは、トランザクション・レイヤ・パケットが受信バッファか ら検出された後のみ、およびディスクリプタ・フェーズとデータ・フェーズ(ある 場合)が終了した後のみに更新されます。この更新は、図 B–6 のクロック・サイク ル 8 および 12 で起きます。 図 B‒6. RX の再試行されたトランザクションおよびマスクされたノン・ポステッド・トランザクションの波形 1 2 3 4 5 6 7 8 9 10 11 12 clk rx_req rx_ack Descriptor Signals rx_desc[135:128] valid valid rx_desc[127:64] MEMRD 4 DW MEMWR 1DW rx_desc[63:0] valid valid valid MEMRD 4DW valid rx_abort rx_retry rx_mask rx_dfr rx_dv Data Signals rx_ws rx_data[63:32] DW 0 rx_data[31:0] rx_be[7:0] 0x00 0xF0 0x00 アボートされたトランザクション 図 B–7 に、16 の DWORD のメモリ・リードがアプリケーション・レイヤに送られる 様子を示します。トランザクション・レイヤ・パケットを受け取ることができない とみなされた場合、アプリケーション・レイヤは rx_abort をアサートすることに よってそれを破棄します。すべてのトランザクション・レイヤのパケットを受信し、 確認後にアプリケーション・レイヤにてそのパケットを削除する、rx_abort の代わ りのデザインを実装することもできるでしょう。rx_abort をアサートする利点は、 データ・ペイロードのあるトランザクション・レイヤ・パケットが 1 つのクロック・ サイクルの間に破棄されることです。 最初のトランザクション・レイヤ・パケットをアボートした場合、IP コアは、この ケースの 3 つの DWORD コンプリーションの次のトランザクションを送信することが できます。IP コアはアボートされたトランザクション・レイヤパケットをエラーと して扱わず、トランザクションが確認されたかのようにフロー制御クレジットを更 新します。この場合、アプリケーション・レイヤはコンプリータ・アボート・ス テータスでのコンプリーションの生成および送信を行います。また、cpl_err のア サートを通してコンプリータ・アボート・イベントを IP コアのコンフィギュレー ション・スペースに通知することも行います。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒11 クロック・サイクル 6 で rx_abort がアサートされ、次のトランザクションの送信が クロック・サイクル 10 で開始します。 図 B‒7. RX のアボートされたトランザクションの波形 1 2 3 4 5 6 7 8 10 9 11 12 clk rx_req rx_ack rx_desc[135:128] Descriptor Signals rx_desc[127:64] rx_desc[63:0] valid valid MEMRD 16 DW CPL 3 DW valid valid rx_abort rx_retry rx_mask rx_dfr rx_dv rx_ws Data Signals rx_data[63:32] DW 1 rx_data[31:0] DW 0 DW 2 rx_be[7:0] 0xFF 0x0F データ・ペイロードありのトランザクション 図 B–8 に、IP コアが 8 つの DWORD のコンプリーション・トランザクションと、2 番 目として 3 つの DWORD のメモリ・ライト・リクエストを受信する様子を示します。 rx_data[63:0] のビット 2 は、コンプリーション・トランザクションには 0 に設定し、 メモリ・ライト・リクエスト・トランザクションには 1 に設定します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒12 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 通常、rx_dfr は rx_req のクロック・サイクルと同じかまたは次のクロック・サイク ルでアサートされます。しかし、このケースでは、最初のトランザクションの送信 の終了を通知するために、その信号はクロック・サイクル 7 までにはすでにアサー トされます。2 番目のトランザクションのデータ・フェーズを要求するために、その 信号はすぐにクロック・サイクル 8 で再びアサートされます。 図 B‒8. RX のデータ・ペイロードありのトランザクションの波形 1 2 3 4 5 6 7 8 9 10 11 12 clk rx_req rx_ack rx_desc[135:128] Descriptor Signals rx_desc[127:64] valid valid MEMWR/AD 3 DW CPLD 8 DW rx_desc[63:0] valid valid rx_abort rx_retry rx_mask rx_dfr rx_dv Data Signals rx_ws rx_data[63:32] DW 1 DW 3 DW 5 DW 7 rx_data[31:0] DW 0 DW 2 DW 4 DW 6 rx_be[7:0] 0xFF DW 0 DW 2 DW 1 0x0F 0xFF データ・ペイロードおよびウェイト・ステートありのトランザクション アプリケーション・レイヤは、制約なく rx_ws をアサートすることができます。 図 B–9 に、IP コアが 4 つの DWORD のコンプリーション・トランザクションを受信 する様子を示します。rx_data[63:0] のビット 2 は、1 に設定されています。アプリ ケーション・レイヤおよび IP コアは、ウェイト・ステートを挿入します。通常、 rx_data[63:0] はクロック・サイクル 4 にデータを含みますが、rx_dv のディアサート によって IP コアがウェイト・ステートを挿入しています。 クロック・サイクル 11 で、次の両方の条件と合致するまでデータ送信は再開されま せん。 ■ IP コアで発生されたウェイト・ステートの終了によって、IP コアがクロック・サ イクル 10 で rx_dv をアサートすること PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース ■ B‒13 アプリケーション・インタフェースで発生されたウェイト・ステートの終了に よって、アプリケーション・レイヤがクロック・サイクル 11 で rx_ws をディア サートすること 図 B‒9. RX のデータ・ペイロードおよびウェイト・ステートありのトランザクションの波形 1 2 3 4 5 6 7 8 9 10 11 12 clk rx_req rx_ack rx_desc[135:128] Descriptor Signals valid rx_desc[127:64] CPLD 4 DW rx_desc[63:0] valid rx_abort rx_retry rx_mask rx_dfr rx_dv rx_ws Data Signals rx_data[63:32] DW 0 rx_data[31:0] rx_be[7:0] 0xF0 DW 2 DW 1 DW 3 0xFF 0x0F 受信信号間の依存 表 B–5 は、クロック・サイクルにおける様々な受信信号間でのレイテンシの最小値 および最大値を示しています。 表 B‒5. RX のクロック・サイクルでの受信信号間のレイテンシ最小値および最大値 信号 1 信号 2 最小値 標準値 最大値 説明 rx_req rx_ack 1 1 N — rx_req rx_dfr 0 0 0 データ・ペイロードがある場合、前回のデータ転送がまだ進 行中であるときを除いて、常に同じクロック・サイクルでア サートされます。B–12 ページの 図 B–8 を参照してください。 rx_req rx_dv 1 1-2 N 仮定のデータが送られたと見なします。 rx_retry rx_req 1 2 N rx_req は次のトランザクション・リクエストを参照します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒14 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 送信動作のインタフェース信号 送信インタフェースは、初期化されたバーチャル・チャネルごとに構築されます。 また、そのインタフェースは、2 つの独立したバス、つまりディスクリプタ・フェー ズ(tx_desc[127:0])およびデータ・フェーズ(tx_data[63:0])に基づいていま す。すべてのトランザクションは、ディスクリプタを含みます。ディスクリプタは、 ビット 126 および 127 を除いて PCI Express Base Specification 1.0a, 1.1 or 2.0 によって定 義された、標準的なトランザクション・レイヤ・パケット・ヘッダです。これは、 以下のセクションで示すように、トランザクション・レイヤ・パケット・グループ を表示します。通常のデータ・ペイロードを持つトランザクション・レイヤ・パ ケットのみは、1 つ以上のデータ・フェーズを含みます。 送信データパス・インタフェース信号 IP コアは、アプリケーション・レイヤによって送られたトランザクション・レイ ヤ・パケットが正しい形式であることを前提とします。つまり IP コアは、アプリ ケーション・レイヤによって送られたトランザクション・レイヤ・パケットが正し くない形式であるとき、それを検出しません。 送信データパスの信号は、以下の 2 つのグループに分割することができます。 1 ■ ディスクリプタ・フェーズの信号 ■ データ・フェーズの信号 以下の表では、接尾辞 <n> が付けられた名前の送信インタフェース信号は、バーチャ ル・チャネル <n> に対応しています。IP コアが追加のバーチャル・チャネルを実装 する場合、それらのバーチャル・チャネル番号に対応するそれぞれの接尾辞を持っ た追加セットの信号があります。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒15 表 B–6 は、標準的な TX ディスクリプタ・フェーズ信号を示しています。 表 B‒6. 標準的な TX ディスクリプタ・フェーズ信号 信号 tx_req<n> (1) I/O 説明 I 送信リクエスト。この信号は、それぞれのリクエストに対してアサートされ なければなりません。この信号は常に tx_desc[127:0] と共にアサートされ、 tx_ack がアサートされるまでアサートされたままにしておかなければなりま せん。この信号は、バック・ツー・バックのディスクリプタ・パケットの間 でディアサートされる必要はありません。 送信ディスクリプタ・バス。この送信ディスクリプタ・バスはトランザク ションのビット [127:0] であり、3 つまたは 4 つの DWORD の PCI Express トラ ンザクション・ヘッダを含みます。ビットは、PCI Express Base Specification Revision 1.0a, 1.1 or 2.0 で定義される標準的なトランザクション・レイヤ・パ ケット・ヘッダと同じ意味を持ちます。ヘッダのバイト 0 は tx_desc バスの ビット [127:120] を占有し、ヘッダのバイト 1 はビット [119:112] を占有しま す。このようにして、バイト 15 はビット [7:0]. となります。ヘッダ・フォー マットについては、付録 A, TLP(トランザクション・レイヤ・パケット)の ヘッダ・フォーマットを参照してください。 tx_desc<n>[127:0] 以下のビットには、特別な重要性があります。 I ■ tx_desc[2] または tx_desc[34] は、 tx_data のデータのアラインメントを示 します。 ■ tx_desc[2](64 ビット・アドレス)が 0 のとき:最初の DWORD は tx_data[31:0] に位置しています。 ■ tx_desc[34](32 ビット・アドレス)が 0 のとき:最初の DWORD はビット tx_data[31:0] に位置しています。 ■ tx_desc[2](64 ビット・アドレス)が 1 のとき:最初の DWORD はビット tx_data[63:32] に位置しています。 ■ tx_desc[34](32 ビット・アドレス)が 1 のとき:最初の DWORD は tx_data[63:32] に位置しています。 ディスクリプタのビット 126 は、トランジットのトランザクション・レイ ヤ・パケットのタイプを示します。 tx_desc<n>[127:0] (cont.) I ■ tx_desc[126] が 0 のとき:データなしのトランザクション・レイヤ・パ ケット ■ tx_desc[126] が 1 のとき:データありのトランザクション・レイヤ・パ ケット 以下のリストは、このバスのビット・フィールドのいくつかの例です。 O tx_ack<n> ■ tx_desc[105:96]: length[9:0] ■ tx_desc[126:125]: fmt[1:0] ■ tx_desc[126:120]: type[4:0] 送信確認。この信号は、tx_req 信号でアプリケーションによって要求された ディスクリプタ・フェーズを IP コアが確認したとき、1 クロック・サイクル 間にアサートされます。以降のクロック・サイクルで、新しいディスクリプ タは tx_req 信号(アサートされた状態)および tx_desc によって送信の要 求を受けることができます。 表 B–6 の注: (1) すべての信号で、<n> はバーチャル・チャネル番号であり、0 または 1 です。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒16 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 表 B–7 に、標準的な TX データ・フェーズ信号を示します。 表 B‒7. 標準的な TX データ・フェーズ信号 ( その 1 ) 信号 tx_dfr<n> (1) tx_dv<n> I/O 説明 I 送信データ・フェーズのフレーミング。この信号は、データ・フェーズ(デー タ・フェーズが必要であると仮定する)を要求するために、tx_req と同じク ロック・サイクルでアサートされます。この信号は、最後のデータ・フェーズ に先行するクロック・サイクルまでアサートされた状態を保たれなければなり ません。 I 送信データ有効。この信号は、tx_data[63:0] 信号が有効であることを示すた めに、ユーザー・アプリケーション・インタフェースによってアサートされま す。この信号は、次の tx_dfr のアサートから送信の最後のデータ・フェーズ までのクロック・サイクルでアサートされなければなりません。IP コアは、こ の信号がアサートされたとき、tx_ws がアサートされない限りデータのみ受け 取ることができます。 アプリケーション・インタフェースは、ディスクリプタ・フェーズが(tx_ack のアサートを通して)確認される前に最初のデータ・フェーズが発生すること は決してありえないという事実に依存することができます。しかし、トランザ クション・レイヤ・パケット・ヘッダが 3 つの DWORD のみの場合、最初の データ・フェーズを tx_ack のアサートに一致させることができます。 送信ウェイト・ステート。IP コアは、データ損失を避けるためにこの信号を使 用してウェイト・ステートを挿入します。この信号は、以下の状況で使用され る可能性があります。 tx_ws<n> O ■ DLLP 送信優先度を与えるため。 ■ リンクにより認められたレーンより少ないレーンによってリンクが初期化さ れたとき、高優先度のバーチャル・チャネル、または再試行バッファ送信優 先度を与えるため。 IP コアがディスクリプタ・フェーズ(次のサイクルの tx_ack のアサートによ る)を確認する準備ができていない場合、送信を抑制するために自動的に tx_ws がアサートされます。tx_dv がアサートされないとき、tx_ws は無視される はずです。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒17 表 B‒7. 標準的な TX データ・フェーズ信号 ( その 2 ) 信号 I/O 説明 送信データバス。この信号は、アプリケーション・インタフェースからリンク へのデータを転送します。これは 2 つの DWORD 幅で、tx_desc のビット 2 また は 34(tx_desc 信号の 3 つまたは 4 つの DWORD のトランザクション・レイ ヤ・パケット・ヘッダのビット 125 に依存している)に位置するトランザク ション・レイヤ・パケット・アドレスのビット 2 に依存して、以下の 2 つの方 法のいずれかによって必然的にアドレスとともに調整されます。 tx_data<n>[63:0] I ■ tx_desc[2](64 ビット・アドレス)が 0 のとき:最初の DWORD は、 tx_data[31:0] に位置しています。 ■ tx_desc[34](32 ビット・アドレス)が 0 のとき:最初の DWORD は、ビット tx_data[31:0] に位置しています。 ■ tx_desc[2](64 ビット・アドレス)が 1 のとき:最初の DWORD は、ビット tx_data[63:32] に位置しています。 ■ tx_desc[34](32 ビット・アドレス)が 1 のとき:最初の DWORD は、ビット tx_data[63:32] に位置しています。 この必然的なアラインメントにより、tx_data[63:0] が直接、QWORD アドレス 上に(リトル・エンディアン規則で)アラインメントされた 64 ビットのデータ パスに接続できるようになります。 図 B‒10. ビット 2 は 1 に設定(5 つの DWORD のトランザクション) 1 2 3 4 5 6 7 clk tx_data[63:32] DW 0 tx_data[31:0] DW 2 DW 4 DW 1 DW 3 図 B‒11. ビット 2 は 0 に設定(5 つの DWORD のトランザクション) 1 2 3 4 5 6 7 clk tx_data[63:32] DW 1 DW 3 tx_data[31:0] DW 0 DW 2 DW 4 アプリケーション・レイヤは、TX データ・インタフェース上で適切にフォー マットされた TLP を供給する必要があります。データ・サイクル数は、ヘッダ の中で正しい長さおよびアドレスである必要があります。誤ったデータ・サイ クル数のパケットの発行は、TX インタフェースのハングアップを引き起こし、 それ以上のリクエストを受け取れなくなります。 表 B–7 の注: (1) すべての信号において、<n> はバーチャル・チャネル番号であり、0 または 1 です。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒18 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 表 B–8 に、アドバンスト・データ・フェーズ信号を示します。 表 B‒8. アドバンスト TX データ・フェーズ信号 信号 tx_cred<n>[65:0] (1) I/O O 説明 送信クレジット。この信号は、使用可能なフロー制御クレジットに基づいて、 アプリケーション・レイヤによる特定のタイプのトランザクション・レイヤ・ パケットの送信を制御します。IP コアは常に要求確認の前に十分なクレジット を確認するため、この信号はオプションです。しかし、この信号を使用して使 用可能なクレジットを確認することによって、アプリケーションは大規模なト ランザクション・レイヤ・パケットをより小規模に分割することでシステム性 能を改善することができます。このシステム性能の改善は、使用可能なクレ ジットに基づいているか、または使用可能なクレジットを通知する特定のトラ ンザクション・レイヤ・パケットをバーチャル・チャネルをまたいで送ること によるトランザクション・レイヤ・パケットの異なるタイプ間の調停に基づい ています。各データ・クレジットは、PCI Express Base Specification に基づいて、 4 つの dword または 16 バイトです。ビットについて詳しくは、表 B–9 を参照し てください。トランザクション・レイヤ・パケットが IP コアに一度確認される と、対応するフロー制御クレジットが消費され、この信号が tx_ack のアサー ションの後の 1 クロック・サイクルに更新されます。 初期化のときに無数のクレジットを受信したコンポーネントでは、この信号の 各フィールドは、その最高のポテンシャル値に設定されます。 アプリケーション・レイヤが使用可能なクレジットの確認を容易に行うことが できるように、×1 および ×4 の IP コアでは、この信号は使用可能なクレジット のいくつかのエンコードを持つ 22 ビット幅となります。詳しくは、表 B–9 を参 照してください。 ×8 の IP コアでは、この信号は 66 ビット幅で、各フロー制御タイプに使用可能 なクレジットの正確な数を提供します。詳しくは、表 B–10 を参照してくださ い。 この信号のフィールドのレイアウトについて詳しくは、表 B–9 を参照してくだ さい。 送信エラー。この信号は、トランザクション・レイヤ・パケットを破棄または 無効にするために使用されます。また、この信号はデータ・フェーズの間の 1 つのクロック・サイクルでアサートされます。IP コアはその動作をメモリへ自 動的に登録し、データ・フェーズの終了を待ちます。 tx_err<n> I tx_err のアサートに応じて、アプリケーション・インタフェースは tx_dfr およ び tx_dv のディアサートによりトランザクション・レイヤ・パケットの送信を 停止する必要があります。 この信号は、リンクに送られたトランザクション・レイヤ・パケットにのみ適 用します(コンフィギュレーション・スペースに送られたトランザクション・ レイヤ・パケットとは対照的に)。使用しない場合は、この信号を 0 に接続させ ることができます。この信号は、×8 IP コアでは使用不可能です。 表 B–8 の注: (1) すべての信号において、<n> はバーチャル・チャネル番号であり、0 または 1 です。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒19 表 B–9 に、×1 および ×4 の IP コアのための tx_cred<n>[21:0] のビット情報を示し ます。 表 B‒9. ×1 および ×4 の IP コアの tx_cred0[21:0] ビット ビット 値 説明 ■ 0:使用不可能なクレジット ■ 1:少なくとも 1 つのトランザク ション・レイヤ・パケットに使用 可能な十分なクレジット ポステッド・ヘッダ。 ■ 0:使用不可能なクレジット ■ 1-256:使用可能なクレジットの数 ■ 257-511:予約 ポステッド・データ:9 ビットは、最大ペイロード・サイ ズの 4 K バイトに対応する 256 クレジットの通知を許可し ます。 ■ 0:使用不可能なクレジット ■ 1:少なくとも 1 つのトランザク ション・レイヤ・パケットに使用 可能な十分なクレジット ■ 0:使用不可能なクレジット ■ 1:少なくとも 1 つのトランザク ション・レイヤ・パケットに使用 可能な十分なクレジット ■ 0:使用不可能なクレジット [12] ■ 1:少なくとも 1 つのトランザク ション・レイヤ・パケットに使用 可能な十分なクレジット [21:13] 9 ビットは、最大ペイロード・サイズ の 4 K バイトに対応する 256 クレジッ トの通知を許可します。 [0] [9:1] [10] [11] ノン・ポステッド・ヘッダ。 ノン・ポステッド・データ。 コンプリーション・ヘッダ。 コンプリーション・データ、ポステッド・データ。 表 B–10 に、×8 の IP コアのための tx_cred<n>[65:0] のビット情報を示します。 表 B‒10. ×8 の IP コアの tx_cred[65:0] ( その 1 ) ビット tx_cred[7:0] tx_cred[19:8] tx_cred[27:20] tx_cred[39:28] 2011 年 5 月 値 ■ 0-127:使用可能なクレジットの数 ■ >127:使用不可能なクレジット ■ 0-2047:使用可能なクレジットの数 ■ >2047:使用不可能なクレジット ■ 0-127:使用可能なクレジットの数 ■ >127:使用不可能なクレジット ■ 0-2047:使用可能なクレジットの数 ■ >2047:使用不可能なクレジット Altera Corporation 説明 ポステッド・ヘッダ。ポステッド・ヘッ ダ・クレジット tx_cred[60] の値が 1 に 設定されている場合は、このフィールド を無視してください。 ポステッド・データ。ポステッド・ヘッ ダ・クレジット tx_cred[61] の値が 1 に 設定されている場合は、このフィールド を無視してください。 ノン・ポステッド・ヘッダ。ポステッ ド・ヘッダ・クレジット tx_cred[62] の 値が 1 に設定されている場合は、この フィールドを無視してください。 ノン・ポステッド・データ。ポステッ ド・ヘッダ・クレジット tx_cred[63] の 値が 1 に設定されている場合は、この フィールドを無視してください。 PCI Express 用の IP コンパイラのユーザー・ガイド B‒20 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 表 B‒10. ×8 の IP コアの tx_cred[65:0] ( その 2 ) ビット tx_cred[47:40] tx_cred[59:48] 値 ■ 0–127:使用可能なクレジットの数 ■ >127:使用不可能なクレジット ■ 0-2047:使用可能なクレジットの数 ■ >2047:使用不可能なクレジット ■ tx_cred[60] ■ ■ tx_cred[61] ■ ■ tx_cred[62] ■ ■ tx_cred[63] ■ ■ tx_cred[64] ■ ■ tx_cred[65] ■ 説明 コンプリーション・ヘッダ。CPL ヘッダ・ クレジット tx_cred[64] の値が 1 に設定 されている場合は、このフィールドを無 視してください。 コンプリーション・データ。CPL データ・ クレジット tx_cred[65] の値が 1 に競っ てされている場合は、このフィールドを 無視してください。 0:ポステッド・ヘッダ・クレジットは無限 ではない 1 に設定されているとき、ポステッド・ 1:ポステッド・ヘッダ・クレジットは無限 ヘッダ・クレジットは無限です。 である 0:ポステッド・データ・クレジットは無限 ではない 1 に設定されているとき、ポステッド・ 1:ポステッド・データ・クレジットは無限 ヘッダ・クレジットは無限です。 である 0:ノン・ポステッド・ヘッダ・クレジット は無限ではない 1 に設定されているとき、ノン・ポス 1:ノン・ポステッド・ヘッダ・クレジット テッド・ヘッダ・クレジットは無限です。 は無限である 0:ノン・ポステッド・データ・クレジット は無限ではない 1 に設定されているとき、ノン・ポス 1:ノン・ポステッド・データ・クレジット テッド・ヘッダ・クレジットは無限です。 は無限である 0:コンプリーション・クレジットは無限で はない 1 に設定されているとき、コンプリー 1:コンプリーション・クレジットは無限で ション・ヘッダ・クレジットは無限です。 ある 0:コンプリーション・データ・クレジット は無限ではない 1 に設定されているとき、コンプリー 1:コンプリーション・データ・クレジット ション・データ・クレジットは無限です。 は無限である 送信信号を使用したトランザクションの例 このセクションでは、トランザクション信号がどのように交信するか、以下の例に 従って説明します。 ■ 理想的なケースの送信 ■ パケットを受け取る準備ができていないトランザクション・レイヤ ■ 可能なウェイト・ステートの挿入 ■ 送信リクエストはトランザクション・レイヤ・パケット間にアサートされたまま にできる ■ 他の場所で与えられた優先度 ■ 送信リクエストはトランザクション・レイヤ・パケット間にアサートされたまま にできる PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース ■ 複数のウェイト・ステートがデータ送信を抑制する ■ エラーのアサートおよび送信は無効にされる B‒21 理想的なケースの送信 理想的なケースでは、ディスクリプタおよびデータ転送は互いに独立していますが、 それらが同時に起こることもあります。図 B–12 を参照してください。IP コアは、8 つの dword のコンプリーション・トランザクションを送信します。アドレス・ビッ ト 2 は、0 に設定されています。 クロック・サイクル 4 で、ディスクリプタの転送と同時に最初のデータ・フェーズ が確認されます。 図 B‒12. 8 つの DWORD のデータ・トランザクションを持つ TX64 ビットのコンプリーションの波形 1 2 3 4 5 6 7 8 9 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] CPLD tx_dfr tx_dv Data Signals tx_data[63:32] DW1 DW3 DW5 DW7 tx_data[31:0] DW0 DW2 DW4 DW6 tx_ws tx_err 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒22 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 図 B–13 に、IP コアが 1 つの DWORD のメモリ・ライトを送信している様子を示しま す。 図 B‒13. 単一 DWORD ライトの TX 転送 1 2 3 4 5 6 7 8 9 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] MEMWR32 tx_dfr tx_dv Data Signals tx_data[63:32] tx_data[31:0] DW0 tx_ws tx_err パケットを受け取る準備ができていないトランザクション・レイヤ この例では、アプリケーションは 6 つの DWORD の 64 ビットのメモリ・リード・ト ランザクションを送信します。アドレス・ビット 2 は、0 に設定されています。 図 B–14 を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒23 IP コアのトランザクション・レイヤ・ステート・マシンが前のパケット送信でビ ジー中の場合、この例の場合のように、データ転送を開始することができません。 図 B‒14. TX ステート・マシンが前のトランザクション・レイヤ・パケットでビジー中のときの波形 1 2 3 4 5 6 7 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] MEMWR64 tx_dfr tx_dv tx_data[63:32] Data Signals tx_data[31:0] tx_ws tx_err 図 B–15 は、ライト・データが転送可能になる前にアプリケーション・レイヤが確認 を受信するために待機しなければならないことを示しています。トランザクション (例えば tx_req がアサートされること)の開始前に、tx_ws 信号が ×1 または ×4 コン フィギュレーションでは Low に設定されていること、×8 コンフィギュレーションで は High に設定されていることを確認してください。 図 B‒15. パケットを受け取る準備ができていない TX トランザクション・レイヤ 1 2 3 4 5 6 7 8 9 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] MEMWR32 tx_dfr tx_dv tx_data[63:32] Data Signals tx_data[31:0] DW0 tx_ws tx_err 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒24 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース 可能なウェイト・ステートの挿入 IP コアが最大ポテンシャル・レーンを使用して初期化されていない場合、データ転 送は必ず妨げられます。図 B–17 を参照してください。アプリケーションは、8 つの dword の 32 ビットのメモリ・ライト・トランザクションを送信します。アドレス・ ビット 2 は、0 に設定されています。 クロック・サイクル 3 で、データ転送は転送バッファがフルにならないうちにすぐ に開始できます。 クロック・サイクル 5 で、バッファが一度フルになって IP コアが送信を抑制するた めにウェイト・ステートを実装した場合、IP コアが実装レーンの可能な最大数でコ ンフィギュレーションされていないので、転送ごとに 1 つのクロック・サイクルの 代わりに、4 つのクロック・サイクルが必要とされます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒25 図 B–16 に、ウェイト・ステート信号をアサートすることによってトランザクショ ン・レイヤがどのようにデータ・フェーズを拡張するのか示します。 図 B‒16. 単一の DWORD ライトのために挿入されたウェイト・ステートのある TX 転送 1 2 3 4 5 6 7 clk tx_req Descriptor Signals tx_ack MEMWR32 tx_desc[127:0] tx_dfr tx_dv tx_data[63:32] Data Signals DW0 tx_data[31:0] tx_ws tx_err 図 B‒17. IP コアが最大ポテンシャル・レーンより少ないポテンシャル・レーンを持つ場合の TX 信号アクティ ビティの波形 1 2 3 4 5 6 7 8 9 10 11 12 13 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] MEMWR32 tx_dfr tx_dv Data Signals tx_data[63:32] DW 1 DW 3 DW 5 DW 7 tx_data[31:0] DW 0 DW 2 DW 4 DW 6 tx_ws tx_err 4 つの Dword ヘッダのためトランザクション・レイヤがウェイト・ステートを挿入 する この例では、アプリケーションは 64 ビットのメモリ・ライト・トランザクションを 送信します。アドレス・ビット 2 は、1 に設定されています。図 B–18 を参照してく ださい。IP コアはバック・ツー・バックのトランザクション・レイヤ・パケットの 送信の間に最大性能を与えるために小さいバッファを実装しているため、ウェイト・ ステートは最初の 2 つのデータ・フェーズの間に挿入されません。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒26 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース クロック・サイクル 3 で、メモリ・ライト 64 ビットのトランザクション・レイヤ・ パケット・リクエストが 4 の DWORD ヘッダを持つために、IP コアはウェイト・ス テートを挿入します。この場合では、tx_dv は 1 クロック・サイクル後に送られてき た可能性があります。 図 B‒18. 4 の DWORD ヘッダのため TX がウェイト・ステートを挿入したときの波形 1 2 3 4 5 6 7 8 9 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] tx_dfr tx_dv tx_data[63:32] Data Signals tx_data[63:32] DW 0 DW 2 DW 4 DW 6 DW 1 DW 3 DW 5 DW 7 tx_ws tx_err 他の場所で与えられた優先度 この例では、アプリケーションは 8 つの DWORD の 64 ビットのメモリ・ライト・ト ランザクションを送信します。アドレス・ビット 2 は、0 に設定されています。送信 パスは、バック・ツー・バックのトランザクション・パケットをできる限り速く処 理するために、デプス 3、64 ビットのバッファを持ちます。また、tx_desc および最 初の tx_data を遅延なしに受け取ります。図 B–19 を参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒27 クロック・サイクル 5 で、優先度がこのバーチャル・チャネルにすぐに与えられな いため、IP コアはデータの流れを抑制するために 2 回目に tx_ws をアサートします。 優先度は、保留中のデータ・リンク・レイヤ・パケット、コンフィギュレーション・ コンプリーション、または他のバーチャル・チャネルのいずれかに与えられました。 tx_err は、×8 の IP コアでは使用不可能です。 図 B‒19. TX64 ビット・メモリ・ライト・リクエストの波形 1 2 3 4 5 6 7 8 9 10 11 12 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] MEMWR64 tx_dfr tx_dv Data Signals tx_data[63:32] DW 1 DW 3 DW 5 DW 7 tx_data[31:0] DW 0 DW 2 DW 4 DW 6 tx_ws tx_err 送信リクエストはトランザクション・レイヤ・パケット間にアサートされたままに できる この例では、アプリケーションは 64 ビットのメモリ・ライト・トランザクションに 続く 64 ビットのメモリ・リード・トランザクションを送信します。アドレス・ビッ ト 2 は、0 に設定されています。図 B–20 を参照してください。 クロック・サイクル 4 で、トランザクション・レイヤ・パケットの間に tx_req は ディアサートされません。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒28 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース クロック・サイクル 5 で、別の番号や LCRC などの 64 ビット・アドレスに関連付け られた追加のオーバーヘッドのために、2 番目のトランザクション・レイヤ・パケッ トはすぐには確認されません。この状況は、2 つの連続したトランザクション・レイ ヤ・パケットの間の余分なクロック・サイクルにつながります。 図 B‒20. TX の 64 ビットのメモリ・リード・リクエストの波形 1 2 3 4 5 6 7 8 10 9 11 12 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] MEMRD64 MEMWR64 tx_dfr tx_dv Data Signals tx_data[63:32] DW 1 DW 3 DW 5 DW 7 tx_data[31:0] DW 0 DW 2 DW 4 DW 6 tx_ws tx_err 複数のウェイト・ステートがデータ送信を抑制する この例では、アプリケーションは 32 ビットのメモリ・ライト・トランザクションを 送信します。アドレス・ビット 2 は、0 に設定されています。図 B–21 を参照してく ださい。IP コアはバック・ツー・バックのトランザクション・レイヤ・パケットの 送信の間に最大性能を与えるために小さいバッファを実装しているため、ウェイト・ ステートは、最初の 2 つのデータ・フェーズの間に挿入されません。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒29 クロック・サイクル 5、7、9、および 11 で、IP コアは、送信のフローを抑制するた めにウェイト・ステートを挿入します。 図 B‒21. TX のデータ送信を抑制する複数のウェイト・ステートの波形 1 2 3 4 5 6 7 8 9 10 11 12 13 14 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] MEMWR64 tx_dfr tx_dv Data Signals tx_data[63:32] DW 1 DW 3 DW 5 DW 7 DW 9 DW 11 tx_data[31:0] DW 0 DW 2 DW 4 DW 6 DW 8 DW 10 tx_ws tx_err エラーのアサートおよび送信は無効にされる この例では、アプリケーションは 14 の DWORD の 64 ビットのメモリ・ライト・トラ ンザクションを送信します。アドレス・ビット 2 は、0 に設定されています。 図 B–22 を参照してください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒30 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース クロック・サイクル 12 で、リンク上のトランザクション・レイヤ・パケットの送信 を無効にする tx_err がアサートされます。無効にされたパケットは、計算値から逆 算した LCRC を持ち、通常の END の制御文字の代わりにエンド不良パケット(EDB) の制御文字を使用します。 図 B‒22. TX のエラー・アサートの波形 1 2 3 4 5 6 7 8 9 10 11 12 13 14 clk tx_req Descriptor Signals tx_ack tx_desc[127:0] MEMWR64 tx_dfr tx_dv Data Signals tx_data[63:32] DW 1 DW 3 DW 5 DW 7 DW 9 DW B DW D DW F tx_data[63:32] DW 0 DW 2 DW 4 DW 6 DW 8 DW A DW C DW E tx_ws tx_err PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データ・インタフェース B‒31 ディスクリプタ / データ・インタフェースのためのコンプリーショ ン・インタフェース信号 表 B–11 に、ディスクリプタ / データ・インタフェースのためのコンプリーション・ インタフェースから構成されている信号を示します。 表 B‒11. コンプリーション・インタフェース信号 ( その 1 ) 信号 I/ O 説明 コンプリーション・エラー。この信号は、1 サイクル間にパルス生成す ることで、コンフィギュレーションにコンプリーション・エラーを通知 します。アプリケーション・レイヤが通知しなければならないエラーの タイプは 3 つあり、以下の通りです。 cpl_err[2:0] ■ cpl_err[0]:コンプリーション・タイム・アウト・エラー。50 ms の タイム・アウト周期の後に、対応するコンプリーション・トランザク ションを受信することのないノン・ポステッド・リクエストをマスタ のようなインタフェースが実行したとき、この信号がアサートされる 必要があります。IP コアは、ルート・コンプレックスに送られるエ ラー・メッセージを自動的に生成します。 ■ cpl_err[1]:コンプリタ・アボート・エラー。この信号は、ターゲッ ト・ブロックがノン・ポステッド・リクエストを処理できないときに アサートされる必要があります。この場合、ターゲット・ブロックは コンプリーション・パケットを生成し、コンプリタ・アボート(CA) ステータスと共にリクエスタに送信します。その後、このエラー信号 が IP コアにアサートされます。このブロックは、自動的にエラー・ メッセージを生成してルート・コンプレックスに送ります。 ■ cpl_err[2]:予期しないコンプリーション・エラー。この信号は、マ スタ・ブロックが予期しないコンプリーション・エラーを検出したと き(例えば特別なパケットを待っているコンプリーション・リソース がないなど)、アサートされる必要があります。 I ×1 および ×4 では、ラッパ出力は、以下のフォーマットを使用して 7 ビットの信号です。 {3’h0, cpl_err[2:0], 1’b0} cpl_pending 2011 年 5 月 Altera Corporation I コンプリーション待ち。マスタ・ブロックがコンプリーションを待って いるとき、例えばトランザクションが保留されているときなど、アプリ ケーション・レイヤはこの信号をアサートする必要があります。この信 号がアサートされて低消費電力モードが要求された場合、トランザク ションが低消費電力ステートに遷移する前に、IP コアはこの信号のディ アサートを待ちます。 PCI Express 用の IP コンパイラのユーザー・ガイド B‒32 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 表 B‒11. コンプリーション・インタフェース信号 ( その 2 ) I/ O 信号 説明 このスタティック信号は、コンプリーション・ヘッダおよびコンプリー ション・データ用に予約された RX バッファ・スペースの量を反映しま す。これは、MegaWizard インタフェースの Buffer Setup のページにある RF バッファ・スペース割り当ての表と同じ情報を与えます( 3–20 ペー ジの「バッファ設定」を参照してください) 。この信号へのビット・ フィールドの割り当ては、以下の通りです。 ko_cpl_spc_vc<n>[19:0] (1) O ■ ko_cpl_spc_vc<n>[7:0]:RX バッファの中に格納できるコンプリー ション・ヘッダの数。 ■ ko_cpl_spc_vc<n>[19:8]:RX バッファの中に格納できる 16 バイトの コンプリーション・データ・セグメントの数。 アプリケーション・レイヤ・ロジックは、コンプリーション・バッ ファ・スペースがオーバーフローしないことの確認を担当します。これ を確実にするためには、未処理のノン・ポステッド・リクエストの数と サイズを制限する必要があります。(2) 表 B–11 の注: (1) ここで <n> は、×1 または ×4 コアでは 0 ~ 3、×8 コアでは 0 ~ 1 です。 (2) 受信バッファ・サイズの考慮事項:受信バッファ・サイズは、PCI Express 用の IP コンパイラのソフト IP バリエーションに 応じてさまざまであり、ハード IP バリエーションに対しては 1 つの VC ごとに 16 K バイトに固定されます。RX バッファ・ サイズは、PCIe リンクの最適なスループットに対応するように設定されます。受信バッファは、PCIe リンクから受信される すべての TLP(ポステッド TLP およびノン・ポステッド TLP から構成されている)を収集します。エンドポイントとしてコ ンフィギュレーションされた場合、エンドポイント・バリエーションが PCI Express Base Specification Revision 1.1 or 2.0 ごとに コンプリーションに関する無数のクレジットを通知するため、メカニズムを通知する PCI Express 用の IP コンパイラのクレ ジットは、受信されるコンプリーション TLP パケットを除くすべての TLP パケットで RX バッファがオーバーフローするの を防ぎます。 したがってエンドポイント・バリエーションには、RX バッファにオーバーフローを起こしうるいくつかの稀な TLP コンプ リーション・シーケンスがあるかもしれません。例えば、qword のアラインメントされたアドレスを使用する 3 つの dword のコンプリーション TLP のシーケンスは、RX バッファに書き込まれるために経過時間として 6 つの dword が必要な場合があ ります。つまり、3 つの dword は TLP ヘッダのため、1 つの dword は TLP データのため、そして 2 つの dwords は PHY MAC お よびデータ・リンク・レイヤのオーバーヘッドとなります。Avalon-ST の 128 ビット・インタフェースを使用する場合、この TLP を RX バッファから読み取るに経過時間として 8 つの dword が必要とされます。したがって、理論的には、DLLP、更新 FC、またはスキップの文字によって発生するギャップを含まずに、そのようなコンプリーション TLP がバック・ツー・バッ クで送られる場合、リード周波数はライト周波数をオフセットしていないために、RX バッファはオーバーフローします。実 際にこれは極端な場合で、このようなシーケンスが発生するのは非常に低い確率です。しかし、コンプリーション TLP に よって RX バッファが決してオーバーフローすることがないように確認してください。アルテラは、コンプリーション・ バッファ内で使用可能なスペースに基づいて、アップストリーム・メモリ・リクエスト TLP を調停する回路をアプリケー ション・レイヤの中に構築することを推奨します。 ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 デイスクリプタ / データの PCI Express 用の IP コンパイラが生成される場合、デザイ ン例はインクリメンタル・コンパイル・モジュールで生成されます。このモジュー ルは、Quartus II のインクリメンタル・コンパイルを使用してタイミング・クロー ジャを容易にします。また、これは下位互換性のみのために提供されています。ICM は、ユーザー・アプリケーションと PCI Express トランザクション・レイヤの間に完 全に登録されたインタフェースの提供によって、インクリメンタル・コンパイルを 容易にします。(図 B–23 を参照)ユーザーは、アプリケーションに変更が発生して いる間、タイミングを維持するために ICM を使用して PCI Express 用の IP コンパイラ の配置および配線をロック・ダウンすることができます。そのカスタマイズを可能 にするために、必要な場合、アルテラは ICM をクリア・テキストとして提供してい ます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 1 B‒33 ICM は、下位互換性のみに提供されます。Avalon-ST インタフェースを使用した新しい デザインは、代わりに Avalon-ST の PCI Express 用の IP コンパイラを使用する必要が あります。 図 B‒23. ICM を使用したデザイン例 PCI Express Link Stratix IV, Stratix III, Stratix II, Stratix II GX, Cyclone II, Cyclone III, Arria GX, or Stratix GX Device Endpoint <variation_name>_icm IP Compiler for PCI Express - Desc/Data IF ICM Chaining DMA/ User Application ICM の特長 ICM は、以下の特長を提供します。 ■ ■ インクリメンタル・コンパイルのためのデザイン・パーティション作成をサポー トするために、アプリケーションに完全に登録された境界 Avalon-ST インタフェースを使用したデザインのための RX、TX、および割り込み (MSI)インタフェースでのアプリケーション用の Avalon-ST プロトコル・インタ フェース ■ トランザクション・レイヤから受信した PCI Express メッセージ・パケットのため のオプション・フィルタおよび ACK’s ■ TX および MSI の Avalon-ST インタフェースの間のパケット・オーダリングの維持 ■ デッドロック防止のためのノン・ポステッド PCI Express パケットの TX バイパス ICM 機能の説明 このセクションでは、以下のトピックの中で ICM について詳細に説明します。 2011 年 5 月 ■ 「<variation_name>_icm のパーティション」 ■ 「ICM のブロック図」 ■ 「ICM ファイル」 ■ 「ICM のアプリケーション側のインタフェース」 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒34 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 <variation_name>_icm のパーティション PCI Express 用の IP コンパイラを作成する場合、パラメータ・エディタは、IP コアお よび ICM モジュールを含むラッパ・ファイルとして、サブディレクトリ <variation_name>_examples\common\incremental_compile_module の中にモジュール <variation_name>_icm を生成します。(図 B–23 を参照。 )ユーザーのアプリケーショ ンは、このラッパ・ファイルに接続します。このラッパ・インタフェースは、 PCI Express 用の IP コンパイラのインタフェースに似ていますが、Avalon-ST インタ フェースに置き換えます。(表 B–12 を参照。) 1 ラッパ・インタフェースでは、パーティション境界を越えて回路の最適化を最大限 にするために、IP コアからのいくつかの信号を省略します。しかし、すべての IP コ アの信号は、まだ IP コアのインスタンスで使用可能であり、<variation_name>_icm ファイルを要求されるとおりに編集することでラッパ・インタフェースに直結させ ることができます。 このラッパ・モジュールをデザイン・パーティションとして設定することで、イン クリメンタル合成フローを使用して IP コアのタイミングを維持することができま す。 表 B–12 は、<variation_name>_icm インタフェースを示しています。 表 B‒12. <variation_name>_icm インタフェースの説明 ( その 1 ) 信号グループ 説明 送信データパス ICM Avalon-ST TX インタフェース。これらの信号は、tx_stream_valid0、 tx_stream_data0、tx_stream_ready0、tx_stream_cred0、および tx_stream_mask0 を 含みます。詳しくは、B–39 ページの 表 B–15 を参照してください。 受信データパス ICM インタフェース。これらの信号は、rx_stream_valid0、rx_stream_data0、 rx_stream_ready0、および rx_stream_mask0 を含みます。詳しくは、B–38 ページ の 表 B–14 を参照してください。 コンフィギュレー ション () ICM サイドバンド・インタフェースの一部。これらの信号は、cfg_busdev_icm、 cfg_devcsr_icm、および cfg_linkcsr_icm を含みます。 コンプリーション・ インタフェース ICM サイドバンド・インタフェースの一部。これらの信号は、cpl_pending_icm、 cpl_err_icm、pex_msi_num_icm、および app_int_sts_icm を含みます。詳しくは、 B–43 ページの 表 B–17 を参照してください。 割り込み ICM Avalon-ST MSI インタフェース。これらの信号は、msi_stream_valid0、 msi_stream_data0、および msi_stream_ready0 を含みます。詳しくは、B–42 ページ の 表 B–16 を参照してください。 テスト・インタ フェース ICM サイドバンド・インタフェースの一部で、test_out_icm を含みます。詳しくは、 B–43 ページの 表 B–17 を参照してください。 グローバル・インタ フェース IP コアの信号で、refclk、clk125_in、clk125_out、npor、srst、crst、ls_exit、 hotrst_exit、および dlup_exit を含みます。詳しくは、Chapter 5, IP コア・インタ フェースを参照してください。 PIPE インタフェース IP コアの信号で、以下を含みます。tx、rx、pipe_mode、txdata0_ext、 txdatak0_ext、txdetectrx0_ext、txelecidle0_ext、txcompliance0_ext、 rxpolarity0_ext、powerdown0_ext、rxdata0_ext、rxdatak0_ext、rxvalid0_ext、 phystatus0_ext、rxelecidle0_ext、rxstatus0_ext、txdata0_ext、txdatak0_ext、 txdetectrx0_ext、txelecidle0_ext、txcompliance0_ext、rxpolarity0_ext、 powerdown0_ext、rxdata0_ext、rxdatak0_ext、rxvalid0_ext、phystatus0_ext、 rxelecidle0_ext、および rxstatus0_ext。詳しくは、Chapter 5, IP コア・インタ フェースを参照してください。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 B‒35 表 B‒12. <variation_name>_icm インタフェースの説明 ( その 2 ) 信号グループ 説明 最大コンプリーショ ン・スペース信号 この信号は ko_cpl_spc_vc<n> であり、<variation_name>_icm ポート () では使用不可 能です。そのかわり、このスタティック信号は、<variation_name>_example_pipen1b モ ジュールの中で再生成されます。 表 B–12 の注: (1) Cfg_tcvcmap は ICM モジュールから使用可能ですが、<variation_name>_icm ポートに直結されません。詳しくは、 B–43 ページ の 表 B–17 を参照してください。 ICM のブロック図 図 B–24 に、ICM のブロック図を示します。 図 B‒24. ICM のブロック図 To PCI Express Transaction Layer Incremental Compile Module (ICM) To user application (streaming interface ) ICM Rx Reg rx_stream_ready0 Avalon-ST Rx Conversion rx_stream_valid0 rx_stream_data0 Msg Handler (ack & drop messages) 1'b0 Reg rx_stream_mask0 ICM Tx Reg tx_stream_ready0 tx_stream_valid0 Avalon-ST Tx Conversion tx_stream_data0 tx_stream_mask0 tx_stream_mask0 tx_stream_cred0 F I F O NP Bypass Read Control Arbitration msi_stream_valid0 Instantiate one per virtual channel Reg cfg_busdev_icm cfg_devcsr_icm cfg_linkcsr_icm cfg_tcvcmap_icm cfg_msicsr_icm test_out_icm rx_retry0 rx_abort0 rx_mask0 tx_req0 tx_desc0 tx_dfr0 tx_dv0 tx_data0 tx_err0 cpl_err0 cpl_pending0 tx_cred0 app_msi_num app_msi_req app_msi_tc app_msi_ack msi_stream_data0 cpl_pending_icm cpl_err_icm pex_msi_num_icm app_int_sts_icm app_int_sts_ack_icm rx_ack0 rx_ws0 tx_ack0 tx_ws0 Avalon-ST MSI Conversion msi_stream_ready0 rx_req0 rx_desc0 rx_dfr0 rx_dv0 rx_data0 ICM Sideband cpl_pending cpl_err pex_msi_num app_int_sts app_int_sts_ack cfg_msicsr cfg_busdev cfg_devcsr cfg_linkcsr cfg_tcvcmap test_out ICM は、4 つの主要なセクションを構成します。 ■ 2011 年 5 月 「RX データパス」 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒36 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 ■ 「TX データパス」 ■ 「MSI データパス」 ■ 「サイドバンド・データパス」 PCI Express 用の IP コンパイラとユーザーのアプリケーションの間にあるすべての信 号は、ICM によって登録されます。このデザイン例は、1 つのバーチャル・チャネル を持つ ICM インタフェースを実装します。複数のバーチャル・チャネルの場合、RX および TX Avalon-ST インタフェースを各バーチャル・チャネル用に複製します。 RX データパス RX データパスは、PCI Express 用の IP コンパイラのインタフェースから Avalon-ST の インタフェースにデータを転送するために、RX 境界レジスタ(インクリメンタル・ コンパイル用)とブリッジを含みます。ブリッジは、PCI Express 用の IP コンパイラ から受信したすべてのパケットを自律的に確認応答します。簡単にするために、IP コアの rx_abort および rx_retry は使用されず、RX_mask は粗くサポートされます。 (詳しくは、B–38 ページの 表 B–14 を参照してください。)RX データパスはまた、デ フォルトでイネーブルされるオプションのメッセージ・ドロップ機能を提供します。 この機能は、PCI Express 用の IP コンパイラからの PCI Express メッセージ・パケット を確認しますが、ユーザーのアプリケーションには受け渡しません。ユーザーは、 altpcierd_icm_rxbridge.v to 1’b0 の DROP_MESSAGE パラメータを設定することで、 メッセージをアプリケーションに受け渡すことができます。ICM RX データパスを介 するレイテンシは、約 4 クロック・サイクルです。 TX データパス TX データパスは、Avalon-ST のインタフェースから PCI Express 用の IP コンパイラの インタフェースにデータを転送するために、TX 境界レジスタ(インクリメンタル・ コンパイル用)とブリッジを含みます。データ FIFO は、PCI Express 用の IP コンパイ ラが Avalon-ST データを受け取るまで、ユーザーのアプリケーションから Avalon-ST データをバッファします。TX データパスはまた、デッドロックを防止するための NP バイパス機能を実装しています。PCI Express 用の IP コンパイラがノン・ポステッド (NP)クレジットを使い切った場合、クレジットが使用可能になるまで、ICM は、コ ンプリーション・リクエストおよびポステッド・リクエストが NP リクエストをバイ パスできるようにします。クレジットがなくなって NP リクエストの送信を停止すべ きことを示す tx_mask 信号がユーザーのアプリケーションにアサートされた場合、 ICM は、自身の中で待機している NP リクエストを処理します。ICM TX データパスを 介するレイテンシは、約 5 クロック・サイクルです。 MSI データパス MSI データパスは、Avalon-ST のインタフェースから PCI Express 用の IP コンパイラの インタフェースにデータを転送するために、MSI 境界レジスタ(インクリメンタル・ コンパイル用)とブリッジを含みます。ICM は、TX および MSI のデータパスの間の パケット・オーダリングを維持します。このデザイン例では、MSI インタフェース は狭帯域幅の MSI リクエストをサポートします。例えば、1 つ以下の MSI リクエス トは、1 つの TX パケットに一致させることができます。MSI インタフェースは、PCI Express 用の IP コンパイラの中の MSI 機能がイネーブルであることを前提とします。 そのほかのアプリケーションでは、内部バッファリング、アプリケーションでの MSI 抑制などを含めるためにこのモジュールの修正が必要な場合があります。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 B‒37 サイドバンド・データパス サイドバンド・インタフェースは、コンフィギュレーション信号などの非タイミン グのクリティカルな信号用の境界レジスタを含みます。(詳しくは、B–43 ページ の 表 B–17 を参照してください。) ICM ファイル このセクションでは、ICM ファイルについてリストを示して簡潔に説明します。 PCI Express 用の IP コンパイラのパラメータ・エディタは、これらすべての ICM ファ イルを生成し、<variation name>_examples\common\incremental_compile_module ファイ ルに格納します。 Quartus II ソフトウェアを使用する場合、表 B–13 に示すファイルをデザインに含めま す。 表 B‒13. ICM ファイル ( その 1 ) ファイル名 説明 altpcierd_icm_top.v または altpcierd_icm_top.vhd これは、ICM インタフェース用のトップ・レベルのモジュールです。 これは、以下のカラム 1 に示されるモジュールをすべて含みます。 altpcierd_icm_rx.v または altpcierd_icm_rx.vhd このモジュールは、ICM RX データパスを含みます。これは、 altpcierd_icm_rxbridge およびインタフェース FIFO をインスタンス化し ます。 altpcierd_icm_rxbridge.v または altpcierd_icm_rxbridge.vhd このモジュールは、アプリケーションのインタフェースを PCI Express のトランザクション・レイヤに接続するために必要なブリッジを実装 しています。 altpcierd_icm_tx.v または altpcierd_icm_tx.vhd このモジュールは、ICM TX および MSI データパスを含みます。これ は、altpcierd_icm_msibridge、altpcierd_icm_txbridge_withbypass、およ びインタフェース FIFO をインスタンス化します。 altpcierd_icm_msibridge.v または altpcierd_icm_msibridge.vhd このモジュールは、アプリケーションの Avalon-ST MSI インタフェー スを PCI Express のトランザクション・レイヤに接続するために必要な ブリッジを実装します。 altpcierd_icm_txbridge_withbypass.v または altpcierd_icm_txbridge_withbypass.vhd このモジュールは、altpcierd_icm_txbridge および altpcierd_icm_tx_pktordering モジュールをインスタンス化します。 altpcierd_icm_txbridge.v または altpcierd_icm_txbridge.vhd このモジュールは、アプリケーションの Avalon-ST TX インタフェース を IP コアの TX インタフェースに接続するために必要なブリッジを実 装しています。 altpcierd_icm_tx_pktordering.v または altpcierd_icm_tx_pktordering.vhd このモジュールは、NP バイパス機能を含みます。これは、NP バイパ ス FIFO および altpcierd_icm_npbypassctl をインスタンス化します。 altpcierd_icm_npbypassctl.v または altpcierd_icm_npbypassctl.vhd IP コアが PCI Express のノン・ポステッド・リクエストを受け取るのに 十分なクレジットを持つまで、PCI Express のノン・ポステッド・リク エストは IP コアに転送されるのか、それともバイパス FIFO に保持さ れるのか、ということをこのモジュールが制御します。アービトレー ションは、IP コアによって示された使用可能なノン・ポステッド・ ヘッダおよびデータ・クレジットに基づいています。 altpcierd_icm_sideband.v または altpcierd_icm_sideband.vhd このモジュールは、IP コアに送信、および IP コアから受信する非タ イミングのクリティカルなサイドバンド信号のために、インクリメン タル・コンパイル境界レジスタを実装します。 altpcierd_icm_fifo.v または altpcierd_icm_fifo.vhd これは、MegaWizard Plug-In Manager 生成の RAM ベースの FIFO です。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒38 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 表 B‒13. ICM ファイル ( その 2 ) ファイル名 説明 altpcierd_icm_fifo_lkahd.v または altpcierd_icm_fifo_lkahd.vhd これは、MegaWizard Plug-In Manager 生成の RAM ベースの先読み FIFO です。 altpcierd_icm_defines.v または altpcierd_icm_defines.vhd このファイルは、Verilog ICM モジュールによって使用されるグローバ ル define を含みます。 ICM のアプリケーション側のインタフェース このセクションでの表およびタイミング図は、以下の ICM のアプリケーション側の インタフェースを示しています。 ■ RX ポート ■ TX ポート ■ MSI ポート ■ サイドバンド・インタフェース RX ポート 表 B–14 に、アプリケーション側の ICM RX 信号を示します。 表 B‒14. アプリケーション側の RX 信号 ( その 1 ) 信号 ビット サブ信号 説明 インタフェース信号 rx_st_data をアプリケーションへ送信。 rx_st_valid が High の場 合、アプリケーションはデータを受け取る必要があります。 rx_st_valid0 rx_st_data0 [81:74] バイト・イ ネーブルの ビット バイト・イネーブルのビット。これらは、パケットのデータ・ サイクル(3 番目から最後まで)で有効です。 [73] rx_sop_flag アサートされた場合、これがパケットの最初のサイクルである ことを表示します。 [72] rx_eop_flag アサートされた場合、これがパケットの最後のサイクルである ことを表示します。 [71:64] バー・ビット バー・ビット。これらは、パケットの 2 番目のサイクルで有効 です。 多重 rx_desc/rx_data バス 最初のサイクル – rx_desc0[127:64] [63:0] rx_desc/rx_data 2 番目のサイクル – rx_desc0[63:0] 3 番目のサイクル – rx_data0(ある場合) rx_desc0とrx_data0について詳しくは、B–3 ページの 表 B–1を 参照してください。 rx_st_ready0 PCI Express 用の IP コンパイラのユーザー・ガイド アプリケーションは、さらに多くのデータを受け取ることがで きることを示すために、この信号をアサートします。ICM は、 rx_st_valid をディアサートすることによって 3 サイクル後に応 答します。 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア ディスクリプタ / データのインクリメンタル・コンパイル・モジュールの例 B‒39 表 B‒14. アプリケーション側の RX 信号 ( その 2 ) 信号 ビット サブ信号 説明 他の RX インタフェース信号 アプリケーションは、IP コアが ICM へのノン・ポステッド・リ クエストの送信を停止するようこの信号をアサートします。 注:これは、IP コアがすでに ICM に受け渡したノン・ポステッ ド・リクエストには影響しません。 rx_stream_mask0 図 B–25 に、アプリケーション側の RX インタフェースのタイミング図を示します。 図 B‒25. RX インタフェースのタイミング図 1 2 3 4 5 6 7 8 9 10 11 12 13 14 clk rx_stream_ready0 source throttles data ICM_response_time rx_stream_data0 rx_stream_valid0 rx_desc0 rx_data0 desc_hi desc_lo data0 data1 last data rx_sop_flag rx_eop_flag TX ポート 表 B–15 は、アプリケーション側の TX 信号を示しています。 表 B‒15. アプリケーション側の TX 信号 ( その 1 ) 信号 ビット サブ信号 説明 Avalon-ST TX インタフェース信号 tx_st_data0 を ICM へ送信。tx_st_valid0 が High の場合、ICM はデータを受け取ります。 tx_st_valid0 多重 tx_desc0/tx_data0 バス。 最初のサイクル – tx_desc0[127:64] 63:0 tx_desc/tx_data 3 番目のサイクル – tx_data0 (if any) tx_desc0 および tx_data0 について詳しくは、B–15 ページ の 表 B–6 を参照してください。 tx_st_data0 71:64 2011 年 5 月 2 番目のサイクル – tx_desc0[63:0] 使用されないビット 72 tx_eop_flag パケットの最後のサイクルでアサートする 73 tx_sop_flag パケットの最初のサイクルでアサートする 74 tx_err IP コア定義と同じ。詳しくは、B–18 ページの 表 B–8 を参照 してください。 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒40 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア 推奨されるインクリメンタル・コンパイル・フロー 表 B‒15. アプリケーション側の TX 信号 ( その 2 ) 信号 ビット サブ信号 説明 ICM は、さらに多くのデータを受け取ることができ場合、こ の信号をアサートします。ICM は、データを抑制するために この信号をディアサートします。ICM がこの信号をディア サートする場合、ユーザーのアプリケーションは 3 クロッ ク・サイクル以内に tx_st_valid0 もディアサートする必要 があります。 tx_st_ready0 他の TX インタフェース信号 tx_stream_cred0 65:0 IP コアの使用可能なクレジット(クレジット制限と消費クレ ジットの差)。この信号は、1 システム・クロック・サイクル 遅れて PCI Express 用の IP コンパイラから tx_cred0 に対応し ています。この情報は、使用可能なクレジットに基づいてパ ケットを送信するために、アプリケーションによって使用す ることができます。この信号は ICM で消費されるクレジット を考慮しないことに注意してください。tx_cred0 について詳 しくは、B–18 ページの 表 B–8 を参照してください。 アプリケーションからのノン・ポステッド・リクエストを抑 制するために ICM によってアサートされます。設定した場 合、HOL ブロッキングを防ぐために、アプリケーションはノ ン・ポステッド・リクエストの発行を停止するはずです。 tx_stream_mask0 推奨されるインクリメンタル・コンパイル・フロー インクリメンタル・コンパイル・フローを使用する場合、アルテラは、完全に登録 された境界をユーザーのアプリケーションに含めることを推奨します。信号を登録 することで、アプリケーションと PCI Express 用の IP コンパイラの間のタイミング見 積もり全体が配線のために予約されます。 f Quartus II Handbook の volume 1 の Quartus II Incremental Compilation for Hierarchical and Team-Based Design を参照してください。 以下は、推奨されるインクリメンタル・コンパイル・フローです。ここでのインス トラクションは、Avalon-ST およびディスクリプタ / データ・インタフェース両方へ のインクリメンタル・コンパイルをカバーしています。 1 このフローでコンパイルする場合、アルテラは OpenCore Plus 機能をディセーブルす ることを推奨します。(Assignments メニューの Settings をクリックします。 Compilation Process Settings で More Settings をクリックします。Disable OpenCore Plus hardware evaluation で On を選択します。) 1. Quartus II プロジェクトを開きます。 2. トップレベル・デザインで初期のロジック合成を実行するためには、Processing メニューの Start をポイントし、その後に Start Analysis & Synthesis をクリックし ます。このデザインの階層は、Project Navigator に表示されます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア 推奨されるインクリメンタル・コンパイル・フロー B‒41 3. 以下のステップのうち 1 つを実行します。 a. Avalon-ST デザインでは、次に示す手順によって、Project Navigator で <variation_name>_icm モジュールを拡張します。<variation_name>_example_top -> <variation_name>_example_pipen1b:core。<variation_name>:epmap を右クリッ クして Set as Design Partition をクリック。 b. ディスクリプタ / データのインタフェース・デザインでは、次に示す手順に よって、Project Navigator で <variation_name>_icm モジュールを拡張します。 <variation_name>_example_top -> <variation_name>_example_pipen1b:core -> <variation_name>_icm:icm_epmap。<variation_name>_icm を右クリックして Set as Design Partition をクリック。 4. Assignments メニューの Design Partitions Window をクリックします。ディスクリ プタ / データのデザインのためのデザイン・パーティションである Partition_<variation_name>_ または Partition_<variation_name>_icm が表示されます。 Netlist Type の Post-Synthesis を右クリックおよびクリックします。 5. インクリメンタル・コンパイルをオンにするために、以下のステップに従いま す。 a. Assignments メニューの Settings をクリックします。 b. Category リストの Compilation Process Settings を拡張します。 c. Incremental Compilation をクリックします。 d. Incremental Compilation の Full incremental compilation を選択します。 6. フル・コンパイルを実行するために、Processing メニューの Start Compilation をク リックします。タイミング・リクエストを達成するように求められる場合、デザ イン・スペース・エクスプローラ(DSE)を実行します。(Tools メニューの Launch Design Space Explorer をクリックします。) 7. タイミングが満たされた後、次の手順を使用することで、以降のコンパイルで パーティションのタイミングを維持することができます。 a. Assignments メニューの Design Partition Window をクリックします。 b. Top デザイン・パーティションのための Netlist Type で、Post-Fit をダブルク リックして選択します。 c. 追加のデザイン・パーティション・オプションを立ち上げるために Partition Name のカラムを右クリックして、Fitter Preservation Level を選択します。 d. Fitter Preservation level の Placement And Routing をダブルクリックして選択し ます。 1 2011 年 5 月 パーティションのネットリストの情報は、db フォルダに保存されます。このフォル ダを削除しないでください。 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒42 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア 推奨されるインクリメンタル・コンパイル・フロー 図 B–26 に、アプリケーション側の TX インタフェースのタイミング図を示します。 図 B‒26. TX インタフェースのタイミング図 2 1 3 4 5 6 7 8 9 10 11 12 13 14 clk allowed response time 0 - 3 clocks tx_stream_ready0 source throttles data tx_stream_data0 tx_stream_valid0 tx_desc0 desc_hi desc_lo data0 data1 last data tx_data0 tx_sop_flag tx_eop_flag 表 B–16 に MSI TX 信号を示します。 表 B‒16. MSI TX 信号 信号 ビット サブ信号 説明 msi_st_data を ICM へ送信。 msi_stream_valid0 msi_stream_data0 63:8 msi データ。 7:5 IP コア上の app_msi_tc 信号に対応。詳しくは、5–31 ページ の 表 5–9 を参照してください。 4:0 IP コア上の app_msi_num 信号に対応。詳しくは、5–31 ページ の 表 5–9 を参照してください。 ICM は、さらに多くの MSI リクエストを受け取ることができる 場合、この信号をアサートします。ディアサートされる場合、 アプリケーションは 3 クロック・サイクル以内に msi_st_valid を ディアサートする必要があります。 msi_stream_ready0 図 B–27 に、アプリケーション側の MSI インタフェースのタイミング図を示します。 図 B‒27. MSI インタフェースのタイミング図 1 2 3 4 5 6 7 8 9 10 11 12 13 clk msi_stream_ready0 allowed response time 0 - 3 clocks msi_stream_valid0 msi_stream_data0 PCI Express 用の IP コンパイラのユーザー・ガイド msi1 msi2 2011 年 5 月 Altera Corporation 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア 推奨されるインクリメンタル・コンパイル・フロー B‒43 サイドバンド・インタフェース 表 B–17 に、アプリケーション側のサイドバンド信号を示します。 表 B‒17. サイドバンド信号 ビッ ト 説明 app_int_sts_icm — IP コアのインタフェース上の app_int_sts と同じ。ICM は、1 クロックでこの 信号を遅らせます。(3) cfg_busdev_icm — IP コアのインタフェース上の cfg_busdev の遅延バージョン。(2) cfg_devcsr_icm — IP コアのインタフェース上の cfg_devcsr の遅延バージョン。(2) cfg_linkcsr_icm — IP コアのインタフェース上の cfg_linkcsr の遅延バージョン。ICM は、1 ク ロックでこの信号を遅らせます。(2) cfg_tcvcmap_icm — IP コアのインタフェース上の cfg_tcvcmap の遅延バージョン。(2) cpl_err_icm — IP コアのインタフェース上の cpl_err_icm と同じ (1)。ICM は、1 クロックで この信号を遅らせます。 pex_msi_num_icm — IP コアのインタフェース上の pex_msi_num と同じ (3)。ICM は、1 クロックで この信号を遅らせます。 cpl_pending_icm — IP コアのインタフェース上の cpl_pending と同じ (1)。ICM は、1 クロックで この信号を遅らせます。 app_int_sts_ack_ic m — IP コアのインタフェース上の app_int_sts_ack の遅延バージョン。ICM は、1 クロックでこれを遅らせます。この信号は、×1 および ×4 IP コアのみに適用し ます。×8 では、この信号は Low に接続されます。 cfg_msicsr_icm — IP コアのインタフェース上の cfg_msicsr の遅延バージョン。ICM は、1 ク ロックでこの信号を遅らせます。 信号 test_out_icm [8:0] これは、IP コアからの test_out 信号のサブセットです。test_out の説明につ いては、付録 B を参照してください。 [4:0] 「ltssm_r」デバッグ信号。×8 IP コアのインタフェース上の test_out[4:0] の遅 延バージョン。×4 または ×1 IP コアのインタフェース上の test_out[324:320] の遅延バージョン。 [8:5] 「lane_act」デバッグ信号。×8 IP コアのインタフェース上の test_out[91:88] の遅延バージョン。×4 または ×1 IP コアのインタフェース上の test_out[411:408] の遅延バージョン。 表 B–17 の注: (1) 詳しくは、 B–31 ページの 表 B–11 を参照してください。 (2) 詳しくは、 5–40 ページの 表 5–16 を参照してください。 (3) 詳しくは、 5–31 ページの 表 5–9 を参照してください。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド B‒44 付録 B: ディスクリプタ / データ・インタフェースを使用した PCI Express 用の IP コンパイラのコア 推奨されるインクリメンタル・コンパイル・フロー PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation C. ソフト IP 実装のパフォーマンス およびリソース使用率 May 2011 <edit Part Number variable in chapter> この付録では、PCI Express 用の IP コンパイラのソフト IP 実装のリソース使用率を示 します。この付録では、以下のアプリケーション・インタフェースのパフォーマン スおよびリソース使用率の数が含まれています。 ■ Avalon-ST インタフェース ■ Avalon-MM インタフェース ■ ディスクリプタ / データ・インタフェース f ハード IP 実装のパフォーマンスおよびリソース使用率について詳しくは、Chapter 1, このコンパイラについてのパフォーマンスおよびリソース使用率を参照してくださ い。 Avalon-ST インタフェース このセクションでは、以下のデバイス・ファミリのソフト IP 実装でのパフォーマン スおよびリソース使用率について説明します。 ■ Arria GX デバイス ■ Arria II GX デバイス ■ Stratix II GX デバイス ■ Stratix III ファミリ ■ Stratix IV ファミリ Arria GX デバイス 表 C–1 は、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメータ を持っている最大 256 バイトのペイロード用の Arria GX (EP1AGX60DF780C6)デバイ スの標準的な期待パフォーマンスおよびリソース使用率を示しています。 表 C‒1. Avalon-ST インタフェース− Arria GX デバイスのパフォーマンスおよびリソー ス使用率 ( 注 1) パラメータ ×1/ ×4 サイズ 内部クロック バーチャル・ 組み合わせ (MHz) チャネル ALUT 数 ロジック・ レジスタ数 メモリ・ブロック数 M512 M4K ×1 125 1 5900 4100 2 13 ×1 125 2 7400 5300 3 17 ×4 125 1 7400 5100 6 17 ×4 125 2 9000 6200 7 25 表 C–1 の注: (1) このコンフィギュレーションは、Gen1 のみをサポートします。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド C‒2 付録 C: ソフト IP 実装のパフォーマンスおよびリソース使用率 Avalon-ST インタフェース Arria II GX デバイス 表 C–2 は、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメータ を持っている最大 256 バイトのペイロード用の Arria II GX (EP2AGX125EF35C4)デバ イスの標準的な期待パフォーマンスおよびリソース使用率を示しています。 表 C‒2. Avalon-ST インタフェース− Arria II GX デバイスのパフォーマンスおよびリソー ス使用率 ( 注 1) パラメータ サイズ ×1/ ×4 内部クロック (MHz) バーチャル・ 組み合わせ ALUT 数 チャネル ロジック・ レジスタ数 ×1 125 1 5300 4000 9 ×1 125 2 6800 5200 14 ×4 125 1 6900 5000 11 ×4 125 2 8400 6200 18 M9K 表 C–2 の注: (1) このコンフィギュレーションは、Gen1 のみをサポートします。. Stratix II GX デバイス 表 C–3 は、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメータ を持っている最大 256 バイトのペイロード用の Stratix II および Stratix II GX (EP2SGX130GF1508C3)デバイスの標準的な期待パフォーマンスおよびリソース使用 率を示しています。 表 C‒3. Avalon-ST インタフェース− Stratix II および Stratix II GX デバイスのパフォー マンスおよびリソース使用率 パラメータ サイズ ×1/ ×4 ×8 内部クロック (MHz) ×1 125 1 5400 ×1 125 2 ×4 125 ×4 ×8 ×8 バーチャル・ 組み合わせ チャネル ALUT 数 ロジック・ レジスタ数 メモリ・ブロック数 M512 M4K 4000 2 13 7000 5200 3 19 1 6900 4900 6 17 125 2 8500 6100 7 27 250 1 6300 5900 10 15 250 2 7600 7000 10 23 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 C: ソフト IP 実装のパフォーマンスおよびリソース使用率 Avalon-MM インタフェース C‒3 Stratix III ファミリ 表 C–4 は、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメータ を持っている最大 256 バイトのペイロード用の Stratix III(EP3SL200F1152C2)デバイ スの標準的な期待パフォーマンスおよびリソース使用率を示しています。 表 C‒4. Avalon-ST インタフェース− Stratix III ファミリのパフォーマンスおよびリソース使用率 パラメータ サイズ ×1/ ×4 内部クロック (MHz) バーチャル・ チャネル 組み合わせ ALUT 数 ロジック・ レジスタ数 M9K メモリ・ ブロック M144K メモ リ・ブロック ×1 125 1 5300 4500 5 0 ×1 125 2 6800 5900 9 0 ×1 (1) 62.5 1 5500 4800 5 0 ×1 (2) 62.5 2 6800 6000 11 1 ×4 125 1 7000 5300 8 0 ×4 125 2 8500 6500 15 0 表 C–4 の注: (1) C4 デバイスが使用されます。 (2) C3 デバイスが使用されます。 Stratix IV ファミリ 表 C–5 は、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメータ を持っている最大 256 バイトのペイロード用の Stratix IV GX(EP3SGX290FH29C2X)デ バイスの標準的な期待パフォーマンスおよびリソース使用率を示しています。 表 C‒5. Avalon-ST インタフェース− Stratix IV ファミリのパフォーマンスおよびリソース使用率 パラメータ サイズ ×1/ ×4 内部クロック (MHz) バーチャル・ チャネル 組み合わせ ALUT 数 ロジック・ レジスタ数 M9K メモリ・ ブロック M144K ×1 125 1 5500 4100 9 0 ×1 125 2 6900 5200 14 0 ×4 125 1 7100 5100 10 1 ×4 125 2 8500 6200 18 0 Avalon-MM インタフェース このセクションでは、SOPC Builder デザイン・フローを使用して Avalon-MM インタ フェースおよび以下のパラメータ設定とともにデザインを生成するときのさまざま なパラメータでのソフト IP 実装の標準的な期待パフォーマンスおよびソース使用率 を表にまとめて示します。 ■ 2011 年 5 月 Buffer Setup ページで、×1 および ×4 のコンフィギュレーションのとき。 ■ 特に記述がない限り、Maximum payload size を 256 Bytes に設定します。 ■ 特に記述がない限り、Desired performance for received requests および Desired performance for completions を Medium に設定します。 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド C‒4 付録 C: ソフト IP 実装のパフォーマンスおよびリソース使用率 Avalon-MM インタフェース ■ 16 のタグ 以下のデバイス・ファミリでのサイズおよびパフォーマンスの表をここに示します。 ■ Arria GX デバイス ■ Cyclone III ファミリ ■ Stratix II GX デバイス ■ Stratix III ファミリ ■ Stratix IV ファミリ Arria GX デバイス 表 C–6 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメータ を持っている最大 256 バイトのペイロード用の Arria GX(EP1AGX60CF780C6)の標準 的な期待パフォーマンスおよびリソース使用率を示します。 表 C‒6. Avalon-MM インタフェース− Arria GX デバイスのパフォーマンスおよびリソー ス使用率 ( 注 1) パラメータ サイズ バーチャル・ 組み合わせ チャネル ALUT 数 ロジック・ メモリ・ブロック数 レジスタ数 M512 M4K ×1/ ×4 内部クロック (MHz) ×1 125 1 6600 5000 3 32 ×4 125 1 8200 5900 7 62 (35) 表 C–6 の注: (1) これらの値は暫定仕様です。 複雑なデザインでは、Arria GX デバイスをターゲットとした 125 MHz 周波数を実現す るのが困難な場合があります。タイミングを達成させるために、アルテラは以下の 対策を推奨します。 ■ Avalon-MM および PCI Express モジュール用の独立したクロック・ドメインを使用す ること ■ Quartus II Analysis & Synthesis Settings の Optimization Technique を Speed に設定する こと ■ 非バースト・パイプライン・ブリッジを Avalon-MM マスタ・ポートに追加するこ と ■ Quartus II のシード・スィープの方法を使用すること PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 C: ソフト IP 実装のパフォーマンスおよびリソース使用率 Avalon-MM インタフェース C‒5 Cyclone III ファミリ 表 C–7 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメータ を持っている最大 256 バイトのペイロード用の Cyclone III(EP3C80F780C6)の標準的 な期待パフォーマンスおよびリソース使用率を示します。 . 表 C‒7. Avalon-MM インタフェース− Cyclone III ファミリのパフォーマンスおよびリ ソース使用率 パラメータ サイズ 内部クロック (MHz) ×1/ ×4 ロジック・ エレメント M9K メモリ・ ブロック 専用レジスタ ×1 125 10300 4500 27 ×1 (1) 62.5 10800 4800 32 ×4 125 12700 5400 37 表 C–7 の注: (1) 128 バイトの最大ペイロード、C8 デバイスが使用されます。 Stratix II GX デバイス 表 C–8 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメータ を持っている最大 256 バイトのペイロード用の Stratix II および Stratix II GX (EP2SGX130GF1508C3)の標準的な期待パフォーマンスおよびリソース使用率を示し ます。 表 C‒8. Avalon-MM インタフェース− Stratix II GX デバイスのパフォーマンスおよびリ ソース使用率 パラメータ サイズ メモリ・ブロック数 内部クロック (MHz) 組み合わせ ALUT 数 専用レジスタ ×1 125 6600 ×4 125 8100 ×1/ ×4 M512 M4K 5000 2 33 5800 7 32 Stratix III ファミリ 表 C–9 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメータ を持っている最大 256 バイトのペイロード用の Stratix III(EPSL200F1152C2)の標準 的な期待パフォーマンスおよびリソース使用率を示します。 表 C‒9. Avalon-MM インタフェース− Stratix III ファミリのパフォーマンスおよびリ ソース使用率 パラメータ 2011 年 5 月 サイズ ×1/ ×4 内部クロック (MHz) 組み合わせ ALUT 数 専用レジスタ M9K メモリ・ ブロック ×1 125 6900 5200 17 ×1 (1) 62.5 7100 5500 22 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド C‒6 付録 C: ソフト IP 実装のパフォーマンスおよびリソース使用率 ディスクリプタ / データ・インタフェース 表 C‒9. Avalon-MM インタフェース− Stratix III ファミリのパフォーマンスおよびリ ソース使用率 パラメータ サイズ ×1/ ×4 内部クロック (MHz) 組み合わせ ALUT 数 専用レジスタ M9K メモリ・ ブロック ×4 125 8700 6500 17 表 C–4 の注: (1) C4 デバイスが使用されます。 Stratix IV ファミリ 表 C–10 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメー タを持っている最大 256 バイトのペイロード用の Stratix IV(EP4SGX230KF40C2)の標 準的な期待パフォーマンスおよびリソース使用率を示します。 表 C‒10. Avalon-MM インタフェース− Stratix IV ファミリのパフォーマンスおよびリ ソース使用率 パラメータ サイズ ×1/ ×4 内部クロック (MHz) 組み合わせ ALUT 数 専用レジスタ M9K メモリ・ ブロック ×1 125 6800 4700 25 ×4 125 8300 5600 25 ディスクリプタ / データ・インタフェース このセクションでは、ディセーブルされた OpenCore Plus 評価機能および以下のパラ メータ設定で、ディスクリプタ / データ・インタフェースを使用して MegaWizard Plug-In Manager のデザイン・フローを使用したときの標準的な期待パフォーマンス およびリソース使用率を表にまとめて示します。 ■ ■ Buffer Setup ページで、×1、×4、×8 のコンフィギュレーションの場合: ■ 特に記述がない限り、Maximum payload size を 256 Bytes に設定します。 ■ 特に記述がない限り、Desired performance for received requests および Desired performance for completions を Medium に設定します。 特に記述がない限り、Capabilities ページの Tags supported 数をすべてのコンフィ ギュレーションに対して 16 に設定します。 以下のデバイス・ファミリでのサイズおよびパフォーマンスの表をここに示します。 ■ Arria GX デバイス ■ Cyclone III ファミリ ■ Stratix II GX デバイス ■ Stratix III ファミリ ■ Stratix IV ファミリ PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 C: ソフト IP 実装のパフォーマンスおよびリソース使用率 ディスクリプタ / データ・インタフェース C‒7 Arria GX デバイス 表 C–11 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメー タを持っている最大 256 バイトのペイロード用の Arria GX(EP1AGX60DF780C6)の標 準的な期待パフォーマンスおよびリソース使用率を示します。 表 C‒11. ディスクリプタ / データ・インタフェース− Arria GX デバイスのパフォーマン スおよびリソース使用率 パラメータ サイズ ×1/ ×4 内部クロック (MHz) バーチャル・ 組み合わせ チャネル ALUT 数 ×1 125 1 5200 ×1 125 2 ×4 125 ×4 125 ロジック・ レジスタ数 メモリ・ブロック数 M512 M4K 3600 1 21 6400 4400 2 13 1 6800 4600 6 12 2 8210 5400 6 19 Cyclone III ファミリ 表 C–12 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、Cyclone III (EP3C80F780C6)の標準的な期待パフォーマンスおよびリソース使用率を示します。 表 C‒12. ディスクリプタ / データ・インタフェース− Cyclone III ファミリのパフォーマ ンスおよびリソース使用率 パラメータ サイズ バーチャル・ ロジック・ 専用レジスタ数 チャネル エレメント M9K メモ リ・ブロッ ク ×1/ ×4 内部クロック (MHz) ×1 125 1 8200 3600 6 ×1 125 2 10100 4500 9 ×1 (1) 62.5 1 8500 3800 25 ×1 62.5 2 10200 4600 ×4 125 1 10500 4500 12 ×4 125 2 122000 5300 17 28 表 C–12 の注: (1) Max payload を 128 bytes に設定、Tags supported 数を 4 に設定、Desired performance for received requests および Desired performance for completions を Low に設定します。 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド C‒8 付録 C: ソフト IP 実装のパフォーマンスおよびリソース使用率 ディスクリプタ / データ・インタフェース Stratix II GX デバイス 表 C–13 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメー タを持っている最大 256 バイトのペイロード用の Stratix II および Stratix II GX (EP2SGX130GF1508C3)の標準的な期待パフォーマンスおよびリソース使用率を示し ます。 表 C‒13. ディスクリプタ / データ・インタフェース− Stratix II および Stratix II GX デバ イスのパフォーマンスおよびリソース使用率 パラメータ ×1/ ×4 サイズ 内部クロック バーチャル・ 組み合わせ (MHz) チャネル ALUT 数 ロジック・ レジスタ数 メモリ・ブロック数 M512 M4K ×1 125 1 5000 3500 1 9 ×1 125 2 6200 4400 2 13 ×4 125 1 6600 4500 5 13 ×4 125 2 7600 5300 6 21 ×8 250 1 6200 5600 10 16 ×8 250 2 6900 6200 8 16 Stratix III ファミリ 表 C–14 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメー タを持っている最大 256 バイトのペイロード用の Stratix III(EP3SL200F1152C2)の標 準的な期待パフォーマンスおよびリソース使用率を示します。 表 C‒14. ディスクリプタ / データ・インタフェース− Stratix III ファミリのパフォーマ ンスおよびリソース使用率 パラメータ ×1/ ×4 サイズ 内部クロック バーチャル・ (MHz) チャネル 組み合わせ ALUT 数 専用レジスタ M9K メモリ・ ブロック ×1 125 1 5100 3800 3 ×1 125 2 6200 4600 7 ×1 (1) 62.5 1 5300 3900 8 ×1 (2) 62.5 2 6200 4800 7 ×4 125 1 6700 4500 9 ×4 125 2 7700 5300 12 表 C–14 の注: (1) C4 デバイスが使用されます。 (2) C3 デバイスが使用されます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 付録 C: ソフト IP 実装のパフォーマンスおよびリソース使用率 ディスクリプタ / データ・インタフェース C‒9 Stratix IV ファミリ 表 C–15 に、Quartus II ソフトウェアのバージョン 11.0 を使用して、異なるパラメー タを持っている最大 256 バイトのペイロード用の Stratix IV(EP4SGX290FH29C2X)の 標準的な期待パフォーマンスおよびリソース使用率を示します。 表 C‒15. ディスクリプタ / データ・インタフェース− Stratix IV ファミリのパフォーマンスおよびリソース使 用率 パラメータ サイズ ×1/ ×4 内部クロック (MHz) バーチャル・ チャネル 組み合わせ ALUT 数 専用レジスタ M9K メモリ・ ブロック ×1 125 1 5200 3600 5 ×1 125 2 6200 4400 8 ×4 125 1 6800 4600 7 ×4 125 2 7900 5500 10 2011 年 5 月 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド C‒10 PCI Express 用の IP コンパイラのユーザー・ガイド 付録 C: ソフト IP 実装のパフォーマンスおよびリソース使用率 ディスクリプタ / データ・インタフェース 2011 年 5 月 Altera Corporation 追加情報 この章では、このドキュメントとアルテラの追加の情報について説明します。 改訂履歴 以下の表に、このユーザー・ガイドの改訂履歴を示します。 日付 バージョン 2011 年 5 月 2011 年 5 月 変更内容 ■ IP コア名を PCI Express 用の IP コンパイラに変更。 ■ Stratix V デバイスのサポートを削除。 ■ Qsys のサポートを追加。 ■ 第 17 章 Qsys のデザイン例を追加。 ■ PCI Express 用の IP コンパイラのバリエーションが Cyclone II、Cyclone III、Stratix II、または Stratix III をターゲットにできない Avalon-MM インタフェースを含 むことを示すために、1–15 ページの 表 1–9 を修正。 ■ 7–12 ページの「汎用 PIPE PHY およびシミュレーション・テストベンチのク ロッキング」の PIPE モードでのクロックに関する説明を変更。セクションの 階層を修正。 ■ 修正可能および修正不可能なステータス・レジスタの説明を第 12 章エラー処 理に追加。 ■ リバース・パラレル・ループバック・パスをイネーブルするためのシーケン スを第 18 章デバッグに記載。 ■ 12–3 ページの 表 12–4 の非サポート・リクエストのコンプリーション・ス テータスの基準を更新。 ■ 7–6 ページの 図 7–4 のクロック図を修正(前回まで Figure 7-6 として掲載して いた図)。 ■ 5–6 ページの 表 5–2 の rx_st_mask の定義を更新。 ■ 5–67 ページの 表 5–32 で、test_in[7] 信号への定義を追加し、test_in[3] お よび test_in[11:8] に対してデザイン例を示しながら期待される入力値を列 挙。 ■ 図 7–6 のタイトルを訂正。また、この図は Cyclone IV GX ×1 には適用し、×8 に は適用しません。 ■ 62.5 MHz のアプリケーション・クロックをサポートするバリエーションを明 確にするために、4–5 ページの 表 4–1 を更新。 ■ Arria II GX での Gen2 のサポートを示した 4–5 ページの 表 4–1 を訂正。Arria II GX は、Gen2 をサポートしません。Arria II GZ が Gen2 をサポートします。 ■ 5–6 ページの 表 5–2 での rx_st_err 信号の定義を明確化。ECC のチェックは、 Gen2 ×8 を除いてハード IP の種類では常にオンです。 ■ 5–27 ページの 表 5–7 の ltssm の定義に 0x1A speed.recovery ステートを追加。 ■ 5–34 ページの 表 5–13 に tl_cfg_sts[0] の定義を追加。 11.0 Altera Corporation PCI Express 用の IP コンパイラのユーザー・ガイド SPR インフォ 2 日付 追加情報 改訂履歴 バージョン 変更内容 ■ 2010 年 12 月 2010 年 7 月 10.1 SPR Stratix V デバイスでの以下の新しい機能のサポートを追加。 ■ 256 ビットのインタフェース ■ シミュレーション・サポート ■ Avalon-STインタフェースを使用したCyclone IV GXでのPCI Express IPコアのソフ ト IP 実装のサポートを追加。 ■ Avalon-ST インタフェースを使用した Arria II GZ のサポートを追加。 ■ 実装での変更点を反映させるために、リセット・ロジックの説明を改訂。 Arria II GX、Arria II GZ、Cyclone IV GX、HardCopy IV GX、および Stratix IV GX での ハード IP 実装に対して、新しい自走式の fixedclk、 busy_reconfig_altgxb_reconfig、および reset_reconfig_altgxb_reconfig 信号を追加。 ■ 押しボタンによる CBB テストへのアクセスを与えるために、テストベンチに CBB モジュールを追加。 ■ ECC エラー信号である derr_*、r2c_err0、および rx_st_err<0> は、Arria II GX デ バイス用の PCI Express IP コアのハード IP 実装では使用不可能です。 ■ A–4 ページの表 A–13 のコンフィギュレーション・ライト・ヘッダのタイプ・ フィールドを訂正。値は 5’b00101 にすべきで、5’b00010 ではありません。 ■ 6–7 ページの表 6–13 の AVL_IRQ_INPUT_VECTOR の説明を改善。 ■ 5–4 ページの図 5–3 で、ソフト IP 実装の tx_cred 信号のサイズを訂正。そのサイ ズは 36 ビットであり、22 ビットではありません。 ■ 5–3 ページの図 5–2 で、Arria II GX、Cyclone IV GX、HardCopy、および Stratix IV GX デバイスのハード IP 実装での rx_st_valid 信号の動作を明確化。 ■ 5–12 ページの表 5–4 に、tx_st_err が 1 または 2 サイクル長のパケットでは使用 不可能である、という事実を追加。 ■ 64 ビットおよび 128 ビットのモードでの pld_clk を含めるために、 5–29 ページ の図 5–26 および 5–30 ページの図 5–28 を更新。tl_cfg_ctl_wr および tl_cfg_sts_wr のための .sdc のタイミング制約の説明も追加。 ■ 5–31 ページの表 5–14 で、最大ペイロードおよび最大リード・リクエスト・サ イズのビット定義を訂正。 ■ 第 13 章リコンフィギュレーションおよびオフセット・キャンセレーションに、 ダイナミック・リコンフィギュレーションの説明を訂正。リンクは、npor で はなく pcie_reconfig_rstn のアサートによってダウンされます。 ■ Stratix V GX および GT デバイスに対するサポートを追加。 ■ 2 つの新しい種類を追加。 10.0 ■ すべてのリセットおよびキャリブレーション・ロジックが含まれる、統合 された PCI Express のハード IP エンドポイントのサポート。 ■ 単一のdwordの固定転送サイズを持つ基本的なPCI Expressコンプリータのみ のエンドポイントのサポート。キャリブレーションおよびリコンフィギュ レーションのクロックとして推奨される周波数を削除。適切なデバイス・ ハンドブックを読者に提示。 ■ Stratix V GX デバイスでのパリティ保護を追加。 ■ Cyclone IV GX のスピード・グレードの情報を 1–13 ページの表 1–9 に追加し、 62.5 MHz で実行する Cyclone IV GX のセカンド・エントリを追加。 ■ Avalon-ST インタフェースへのリクエストおよびコンプリーション TLP の qword アラインメントを明確化。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 追加情報 改訂履歴 インフォ 3 日付 バージョン 2010 年 7 月 2010 年 2 月 2011 年 5 月 10.0 9.1 SP1 Altera Corporation 変更内容 ■ ハード IP 実装を含むデバイスの Total RX buffer space、RX Retry buffer size、およ び Maximum payload size を指定する表を追加。 ■ 最終的に指定したデザインは HardCopy IV GX デバイスをターゲットにするた め、互換性を確保するために PHY タイプとしてこのデバイスを指定すること を推奨。 ■ hpg_ctrler 信号への定義を改善。このバスは、ルート・ポート・モードのみ で使用可能です。さまざなまビットの定義で、「この信号は○○です」という 表現を「この信号は○○する必要があります」と変更。 ■ Stratix GX デバイスについての情報を削除。PCI Express コンパイラは、Stratix GX をサポートしなくなります。 ■ test_in/test_out バスについて記載している付録を削除。サポートされた ビットは、第 5 章 IP コア・インタフェースに記載されています。 ■ ディスクリプタ/データ・インタフェースの情報を付録に移動。このインタ フェースは、新しいデザインには推奨されません。 ■ ノン・ポステッド、ポステッド、およびコンプリーションの TLP に対する tx_cred の使用を明確化。 ■ 12–2 ページの表 12–2 の受信ポート・エラーの定義を訂正。 ■ PCI Express アドバイザの参考資料を削除。それはサポートされなくなります。 ■ より多くの内容をハイライトするため、また、MegaWizard Plug-In Manage デザ イン・フローを使用して生成された各種デザインに対して完全な解説を提供 するために、ユーザー・ガイド全体を再編成。 ■ Cyclone IV GX ×2 のサポートを追加。 ■ Avalon-ST インタフェースを使用したハード IP 実装用の、修正不可能な ECC エ ラーを通知するための r2c_err0 および r2c_err1 信号を追加。 ■ Gen2 速度へのネゴシエーション成功を示す、すべてのハード IP 実装用の suc_spd_neg 信号を追加。 ■ Arria II GX、Cyclone IV GX、HardCopy IV GX、および Stratix IV GX デバイスでの Gen1 用の(100 MHz の入力基準クロックに加えて)125 MHz 入力基準クロッ クに対するサポートを追加。 ■ 1–13 ページの表 1–9 に新しい入力を追加。Avalon-MM インタフェースを使用し た Stratix IV GX Gen2 ×1 用のハード IP 実装は、-2 および -3 のスピード・グ レードで使用可能です。 ■ 9–2 ページの表 9–2 の入力を次のように訂正。Assert_INTA および Deassert_INTA はコアによってアプリケーション・レイヤを使用して生成されます。PCI Base Specification 1.1 または 2.0 では、ホット・プラグ・メッセージはアプリケー ション・レイヤに送信されません。 ■ メッセージ TLP のマッピングを明確化。 すべての TLP には、標準的な 4 dword の フォーマットが使用されます。 ■ 13–2 ページの表 13–1 の device_id および revision_id 用のフィールド・アサインメ ントを訂正。 ■ テストベンチの章で、BFM パフォーマンス・カウントに関する資料を削除。 それらの手順はリリースに含まれていません。 ■ rx_st_bardec<n>の信号もまたメッセージTLPで無視されることを明記するた めに、rx_st_bardec<n> の定義を更新。この信号のタイミングを示すために、 5–10 ページの図 5–8 および 5–10 ページの図 5–9 を更新。 PCI Express 用の IP コンパイラのユーザー・ガイド SPR インフォ 4 日付 2009 年 11 月 2009 年 3 月 追加情報 改訂履歴 バージョン 9.1 9.0 変更内容 SPR ■ Cyclone IV GX および HardCopy IV GX のサポートを追加。 ■ PCI Express IPコアからALTGXメガファンクションをパラメータ化するための説 明を追加。 ■ ハード IP 実装の 62.5 MHz での Gen1 ×1 アプリケーション・クロックを実行する ため、あるいは消費電力を節約するための説明を追加。 ■ IP コアへの以下の信号を追加。xphy_pll_areset、xphy_pll_locked、 nph_alloc_1cred_vc0、npd_alloc_1cred_vc1、npd_cred_vio_vc0、および nph_cred_vio_vc1。 ■ 第 5 章 IP コア・インタフェースで、TLP 用の qword アラインメントの使用を明確 化。 ■ 適切な PCI Express コンフィギュレーション・レジスタの表との相互参照を追 加するため、またさまざまなフィールドに関するさらなる情報を提供するた めに、5–32 ページの表 5–15 を更新。 ■ 5–32 ページの表 5–15 の cfg_devcsr[31:0] の定義の定義を訂正。 cfg_devcsr[31:16] は、デバイス・ステータスです。cfg_devcsr[15:0] は、 デバイス制御です。 ■ 12–3 ページの表 12–4 のコンプリータ・アボートの定義を訂正。エラーは、 cpl_error[2] に報告されます。 ■ 12–3 ページの表 12–4 に、2 つの予期しないコンプリーションを追加。 ■ clk および AvlClk_L を示すために 7–11 ページの図 7–9 を更新。 ■ tx_cred<n> 信号の詳細な説明を追加。 ■ 3–6 ページの表 3–2 を訂正。拡張 ROM は、プリフェッチ不能です。 ■ 5–53 ページの “Serial Interface Signals” の説明を拡張。 ■ 1–13 ページの表 1–9 を明確化。すべてのコアは、Gen2 ×8 の拡張を使用して ECC をサポートします。×8 コアの内部クロックは、500 MHz で実行されます。 ■ test_out および test_in バスの使用に関する警告を追加。 ■ デバッグ信号の rx_st_fifo_full0 および rx_st_fifo_empty0 をテスト・バス に移動。これらの信号に関する資料を Signals の章から付録 B テスト・ポー ト・インタフェース信号に移動。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 追加情報 改訂履歴 インフォ 5 日付 バージョン 変更内容 ■ 1–11 ページの表 1–8 および 1–13 ページの表 1–9 を更新。tx_swing 信号を削除。 ■ ハードおよびソフト IP 実装の両方での Arria II GX 用のデバイス・サポートを追 加。HardCopy III および HardCopy IV E の暫定サポートを追加。 ■ SOPC Builder デザイン・フローでのハード IP エンドポイントのサポートを追 加。 ■ コンフィギュレーション・スペース・レジスタのダイナミック・リコンフィ ギュレーション用の PCI Express リコンフィギュレーション・ブロックを追 加。このブロックを示すための図を更新。 ■ RC スレーブ・モジュールのデフォルト・インスタンス化、ECRC のテスト、お よび PCI Express のダイナミック・リコンフィギュレーションを含めるため に、「第 15 章テストベンチおよびデザイン例」を向上。 ■ 割り込みの使用を実証するために「第 16 章 SOPC Builder のデザイン例」を変 更。 ■ MSI のドキュメントを向上。 ■ 「第 15 章テストベンチおよびデザイン例」に、DMA リードおよびライト・ス テータス・レジスタの定義を追加。 2009 年 2 月 ■ MegaWizard Plug-In Manager のデザイン・フローを使用したルート・ポートお よびエンドポイントのハード IP 実装に、以下の信号を追加。tx_pipemargin、 tx_pipedeemph、tx_swing(PIPE インタフェース) 、ltssm[4:0]、および lane_act[3:0](テスト・インタフェース) 。 ■ Avalon コンフィギュレーションが dynamic translation table を選択したとき、未 処理のリクエストが完了する前にテーブルのエントリを更新しないように複 数のアドレス変換テーブルのエントリを使用する、という推奨内容を 3–15 ページの「Avalon コンフィギュレーション設定」に追加。 ■ ECC サポートはハード IP 実装のみで使用可能であることを明確化。 ■ タイプ 0 のコンフィギュレーション・スペース・レジスタおよびすべてのバー チャル・チャネルの間の接続を示すために、4–9 ページの図 4–7 を更新。 9.0 ■ 「第 2011 年 5 月 Altera Corporation 3 章パラメータ設定」の説明で、以下の点を訂正。 ■ イネーブル・レート・マッチ FIFO は、Stratix IV GX で使用可能である。 ■ コンプリーション・タイムアウトは、v2.0 で使用可能である。 ■ MSI-X テーブル・バー・インディケータ(BIR)は、バー設定に依存して 1:0–5:0 の範囲をとることができる。 ■ 3–13 ページの「パワー・マネージメント・パラメータ」を変更。L0 許容レ イテンシは< 4 µs ではなく≦ 4 µs、L1 許容レイテンシは< 64 µs ではなく ≦ 64 µs、L1 出力レイテンシの共通クロックは< 64 µs ではなく≦ 64 µs、 L1 出力レイテンシの独立クロックは< 64 µs ではなく≦ 64 µs である。 ■ N_FTS 制御は、デバイスの特性評価中の Stratix IV GX でディセーブルされる。 PCI Express 用の IP コンパイラのユーザー・ガイド SPR インフォ 6 日付 2008 年 11 月 追加情報 改訂履歴 バージョン 8.1 変更内容 SPR ■ ルート・ポートは Stratix IV GX デバイスでのハード IP 実装に使用可能である、 という新しい内容を追加。 ■ Stratix IV GX デバイスでの Gen2 ×8 のサポートを補完。 ■ Stratix IV GX デバイス用のトランシーバのダイナミック・リコンフィギュレー ションの説明を追加。表 5-29 を参照。 ■ Quartus II 8.1 ソフトウェアのリソース使用量およびパフォーマンス数を更新。 ■ TX I/O がどこで制約されるか説明した文章を追加(第 1 章)。 ■ 表 3–6 のアドレス・ページの数を訂正。 ■ 9–2 ページの表 9–2 を改訂。以下のメッセージ・タイプ、つまり Assert_INTB、 Assert_INTC、Assert_INTD、Deassert_INTB、Deassert_INTC および Deassert_INTD は、コアによって生成されません。 ■ rx_ack の定義を明確化。バックプレッシャをかけるために rx_data を使用す ることはできません。 ■ 説明内容が逆になっていた cpl_err[4] および cpl_err[5] を訂正。1 サイクル の間に cpl_err がパルスされるという事実を追加。 ■ 図 5–9、図 5–10、図 5–11、図 5–12、図 5–18、図 5–19、および図 5–20 の 128 ビッ ト RX データ・レイアウトを訂正。 ■ tx_cred ポート、completion header、posted header、non-posted header お よび non-posted data フィールドについて、7 の値は使用可能クレジットが 7 266573 以上あるという旨の説明を追加。 ■ 外部 PHY を使用した Cyclone III のデザインには、兼用 VREF ピンを使用してはい 278539 けないという警告を追加。 ■ 図 14–6 を改訂。8.1 では、txclk はフリップ・フロップを経由し、反転されませ ん。 ■ 表 15–12 の SMI および EPLAST_ENA ビットの位置を訂正 (両者の位置を入れ替 え)。 ■ 第 15 章テストベンチおよびデザイン例の中でデフォルトで初期化されていな い RC スレーブ・モジュールは、インタフェースからコマーシャル BIOS への デザインのデッドラインを避けるために初期化される必要がある、という注 を追加。 ■ ハード IP 実装での test_out の定義を追加。 ■ PCI Express Specifications 1.1、2.0 または 1.0a ではサポートされないトレーニン グ・エラー・ビットの説明を削除。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 追加情報 改訂履歴 インフォ 7 日付 バージョン 2008 年 5 月 2007 年 10 月 8.0 7.2 変更内容 ■ PCI Express のハード IP コアの情報を追加。 ■ 信号の説明のセクションを独立した章に移動。 ■ cpl_err 信号の説明を訂正。 ■ SOPC Builder システムの接続を示す 16–8 ページの図 16–3 を訂正。このシステム 263992 は、割り込みをリクエストしなくなります。 ■ 第 15 章テストベンチおよびデザイン例の説明を向上。モジュール名の訂正、 264302 および追加モジュールの説明を追加。 260449 ■ Type 0 および Type 1 のコンフィギュレーションのリード/ライト・リクエスト 259190 は PCI Express エンドポイントで使用されないため、それらの説明を削除。 ■ Avalon-ST インタフェース用の信号のうち欠落していた説明を追加。 ■ 5-24 ページの図 5-25 の npor 用の接続を補完。 257867 ■ Quartus II .qip ファイルの定義を拡張。 255634 ■ PCI Express コンパイラのキャリブレーション・クロックの接続についての説 明を追加。 ■ 外部 PHY のクロッキングの説明を更新。 ■ 単一の DMA のデザイン例を削除。 ■ MegaWizard Plug-In Manager フローに Avalon-ST インタフェースのサポートを追 加。 ■ SOPC Builder フローに単一クロック・モードを追加。 ■ コアの導入情報を追加してデザイン例を簡素化し、デザイン例の詳細情報を 独立した章に移動して、ドキュメントを再構成。 ■ ×1、×4 および ×8 の IP コアのリセットの説明を訂正。 ■ データ・ペイロードありのトランザクションのタイミング図を訂正。 ■ Arria GX デバイス・ファミリのサポートを追加。 ■ ×1 および ×4 の SOPC Builder のサポートを追加。 263470 2007 年 5 月 7.1 ■ インクリメンタル・コンパイル・モジュール(ICM)を追加。 2006 年 12 月 7.0 ■ メンテナンス・リリース。バージョン番号を更新。 2006 年 4 月 2.1.0 rev 2 ■ ユーザー・ガイド全体のマイナー・フォーマットを変更。 ■ Arria GX デバイス・ファミリのサポートを追加。 ■ ×1 および ×4 の SOPC Builder のサポートを追加。 ■ インクリメンタル・コンパイル・モジュール(ICM)を追加。 ■ Cyclone III デバイス・ファミリのサポートを追加。 ■ Stratix III デバイス・ファミリのサポートを追加。 ■ バージョンおよび性能情報を更新。 ■ 内容を再配置。 ■ 性能情報を更新。 ■ ×8 のサポートを追加。 ■ Stratix® II GX および Cyclone® II のデバイスサポートを追加。 ■ 性能情報を更新。 ■ 初版。 2007 年 5 月 7.1 2006 年 12 月 7.0 2006 年 12 月 6.1 2006 年 4 月 2.1.0 2005 年 10 月 2005 年 6 月 2011 年 5 月 2.0.0 1.0.0 Altera Corporation SPR PCI Express 用の IP コンパイラのユーザー・ガイド 249078 インフォ 8 追加情報 改訂履歴 日付 バージョン 2007 年 5 月 7.1 2006 年 10 月 6.1 変更内容 SPR ■ SOPC Builder のデザイン・フローの手引きを追加。 ■ MegaWizard Plug-In Manager デザイン・フローの手引きを改訂。 ■ スクリーン・ショットおよびバージョン番号を更新。 ■ 新しい MegaWizard インタフェースに対応させるためにテキストを修正。 ■ インストール図を更新。 ■ 新しい MegaWizard インタフェースに対応させるために手引きを更新。 ■ スクリーン・ショットおよびバージョン番号を更新。 ■ コンパイル中に Tcl 制約ファイルをソースする手順をセクションの手引きに追 加。 2006 年 4 月 2.1.0 ■ インストール情報をリリース・ノートに移動。 2005 年 10 月 2.0.0 ■ スクリーン・ショットおよびバージョン番号を更新。 2005 年 6 月 1.0.0 ■ 初版。 2007 年 5 月 7.1 ■ SOPC Builder に関するセクションを追加。 ■ 2006 年 12 月 6.1 新しい MegaWizard インタフェースのスクリーン・ショットおよびパラメータ を更新。 ■ タイミング図を訂正。 ■ 第 11 章フロー・コントロールのセクションを追加。 ■ スクリーン・ショットおよびバージョン番号を更新。 ■ システム設定、機能、バッファ・セットアップ、およびパワー・マネージメ ント・ページとそれらのパラメータを更新。 ■ 3 の波形図を追加。 ■ 単一ライトの転送 ■ パケット受信の準備ができていないトランザクション・レイヤ 2006 年 4 月 2.1.0 ■ 単一 DWORD 間にウェイト・ステート挿入を伴う転送 2005 年 10 月 2.0.0 ■ スクリーン・ショットおよびバージョン番号の更新。 2005 年 6 月 1.0.0 ■ 初版。 2007 年 5 月 7.1 ■ マイナー修正およびフォーマットを訂正。 ■ 2006 年 12 月 6.1 新しいプロジェクト・ディレクトリの構成に対応させるためにファイル名を 修正。 ■ 高性能のチェーン DMA 例のための参考資料を追加。 2.1.0 ■ 外部 PHY サポートについて、新しい章の「第 14 章外部 PHY」を追加。 2007 年 5 月 7.1 ■ インクリメンタル・コンパイル・モジュール(ICM)のセクションを追加。 2006 年 12 月 6.1 ■ 高性能のチェーン DMA 例を追加。 ■ 章番号を第 5 章に更新。 ■ セクションを追加。 ■ 2 つの BFM リード/ライトの手順を追加。 ■ ebfm_start_perf_sample の手順 ■ ebfm_disp_perf_sample の手順 2006 年 4 月 2006 年 4 月 2.1.0 2005 年 10 月 2.0.0 ■ スクリーン・ショットおよびバージョン番号を更新。 2005 年 6 月 1.0.0 ■ 初版。 2006 年 4 月 2.1.0 ■ ×8 ECRC の制約を削除。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation 追加情報 アルテラへのお問い合わせ インフォ 9 日付 バージョン 2005 年 6 月 1.0.0 変更内容 ■ 初版。 2007 年 5 月 7.1 ■ データ・ペイロードなしの隠しコンテンツの表を回復。 2005 年 10 月 2.1.0 ■ マイナー訂正。 2005 年 6 月 1.0.0 ■ 初版。 4月 2.1.0 ■ ×8 用の ECRC サポートを含めるために ECRC を更新。 2005 年 10 月 1.0.0 ■ ×8 用の非サポートの ECRC の注を更新。 ■ 初版。 2005 年 6 月 SPR アルテラへのお問い合わせ Altera 製品に関する最新情報については、次の表を参照してください。 お問い合わせ先 (1) 技術的なご質問 技術トレーニング 製品資料 お問い合わせ方法 アドレス ウェブサイト www.altera.com/support ウェブサイト www.altera.com/training [email protected] 電子メール ウェブサイト www.altera.com/literature 一般的なお問い合わせ 電子メール [email protected] ソフトウェア・ライセンス に関するお問い合わせ 電子メール [email protected] 表の注: (1) 詳しくは、日本アルテラまたは販売代理店にお問い合わせください。 表記規則 以下の表に、本資料で使用している表記規則を示します。 書体 意味 太字かつ頭文字が大文字 コマンド名、ダイアログ・ボックス・タイトル、ダイアログ・ボックス・ オプション、およびその他の GUI ラベルを表します。例えば、Save As ダイ アログ・ボックス。GUI エレメントの場合、大文字は GUI と一致します。 太字 ディレクトリ名、プロジェクト名、ディスク・ドライブ名、ファイル名、 ファイルの拡張子、ソフトウェア・ユーティリティ名および GUI ラベルを 表します。例:\qdesigns ディレクトリ、D: ドライブ、および chiptrip.gdf ファイル。 斜体かつ頭文字が大文字 資料のタイトルを表します。例:AN 519: Stratix IV デザイン・ガイドライン。 変数を表します。例:n + 1。 斜体 変数の名は、ヤマ括弧(< >)に入れて表します。例:<file name> および <project name>.pof ファイル。 頭文字が大文字 「小見出しタイトル」 2011 年 5 月 Altera Corporation キーボード・キーおよびメニュー名を表します。例:Delete キーおよび Options メニュー。 かぎ括弧(引用符「」)は、資料および Quartus II Help トピックのタイトル 内のセクションへの参照を示します。例:「表記規則」。 PCI Express 用の IP コンパイラのユーザー・ガイド インフォ 10 追加情報 表記規則 書体 意味 信号名、ポート名、レジスタ名、ビット名、ブロック名、およびプリミ ティブ名を表します。例:data1、tdi、および input。アクティブ Low 信 号は、サフィックス(接尾辞)n で表されています。例:resetn。 Courier フォント コマンド・ラインのコマンド、および表示されているとおりに入力する必 要があるものを表します。例:c:\qdesigns\tutorial\chiptrip.gdf。 また、Report ファイルなどの実際のファイルのセクション、ファイルの構 、ロジック・ファン 成要素への参照(例:AHDL キーワードの SUBDESIGN) クション名(例:TRI)も Courier フォントで表記されています。 r 矢印は、Enter キーを押すことを示しています。 1.、2.、3.、および a.、b.、c.、など 手順など項目の順序が重要なものは、番号が付けられリスト形式で表記さ れています。 ■ ■ ■ 箇条書きの黒点などは、項目の順序が重要ではないものに付いています。 1 指差しマークは、要注意箇所を表しています。 h 疑問符は、関連情報を持つソフトウェア・ヘルプ・システムを案内してい ます。 f 足跡マークは、詳細情報の参照先を示しています。 c 注意は、製品または作業中のデータに損傷を与えたり、破壊したりするお それのある条件や状況に対して注意を促します。 w 警告は、ユーザーに危害を与えるおそれのある条件や状況に対して注意を 促します。 エンベロープは、アルテラ・ウェブサイトの Email Subscription Management Center ページへのリンクです。ここでは、アルテラの文書の更新通知を受 け取るためにサインアップすることができます。 PCI Express 用の IP コンパイラのユーザー・ガイド 2011 年 5 月 Altera Corporation
© Copyright 2025 Paperzz