PCI Express用のIPコンパイラのユーザーガイド

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