353
7 Series FPGAs Integrated Block for PCI Express v3.0 Vivado Design Suite 製品ガ イ ド PG054 2013 12 18

7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series FPGAs Integrated Block for PCI Express v3.0

Vivado Design Suite 製品ガイド

PG054 2013 年 12 月 18 日

Page 2: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 2

PG054 2013 年 12 月 18 日

目次IP の概要

第 1章 : 概要機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

アプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

ラ イセンスおよび注文情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

第 2章 : 製品仕様規格準拠 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

リ ソースの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

小デバイス要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

使用可能な PCIe 用統合ブロッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

コア インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

ト ランザクシ ョ ン インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

PCI コンフ ィギュレーシ ョ ン空間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

第 3章 : コアを使用するデザイン一般的なデザイン ガイ ド ライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

タンデム コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

ク ロ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

リセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

プロ ト コル レイヤー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

共有ロジッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

FPGA コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

第 4章 : コアのカスタマイズおよび生成Vivado 統合設計環境 (IDE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

出力生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

第 5章 : コアの制約必要な制約の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

デバイス、 パッケージ、 およびスピード グレードの選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

コア I/O 割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

コアの物理制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

コアのタイ ミ ング制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

統合ブロッ ク コアの移動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

サポート されているコアのピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

第 6章 : シミ ュレーシ ョ ンタンデム コンフ ィギュレーシ ョ ンを使用したシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

PIPE モード シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

Page 3: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 3

PG054 2013 年 12 月 18 日

第 7章 : 合成およびインプリ メンテーシ ョ ン

第 8章 : サンプル デザインの詳細統合ブロッ ク エンドポイン ト コンフ ィギュレーシ ョ ンの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

PIO : エンドポイン ト サンプル デザイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

コンフ ィギュレーター サンプル デザイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

コアの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

サンプル デザインのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

サンプル デザインの合成およびインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

ディ レク ト リおよびファイルの内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

第 9章 : テストベンチエンドポイン ト用ルート ポート モデルのテス トベンチ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

ルート ポート用のエンドポイン ト モデル テス トベンチ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

付録 A : 移行およびアップグレードVivado Design Suite への移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

Vivado Design Suite でのアップグレード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

付録 B : デバッグザイ リ ンクス ウェブサイ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

デバッグ ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

シ ミ ュレーシ ョ ンのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

ハードウェア デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

付録 C : 受信される完了に対する受信バッファー スペースの管理一般的な注意事項と概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

完了スペースの管理方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

付録 D : PCIE_2_1 ポートの説明ク ロ ッ クおよびリセッ ト インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

ト ランザクシ ョ ン層インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

ブロ ッ ク RAM インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

GTX ト ランシーバーのインターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

TL2 インターフェイス ポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

付録 E : その他のリソースザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352Notice of Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

Page 4: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4

PG054 2013 年 12 月 18 日 製品仕様

概要7 Series FPGAs Integrated Block for PCI Express® コアは、 ザイリ ンクス Zynq®-7000 All Programmable SoC および 7 シ リーズFPGA ファ ミ リで使用する、 スケーラブルで、 高帯域、 信頼性の高いシ リ アル インターコネク ト を構築するブロ ッ クです。このソ リ ューシ ョ ンは、PCI Express Base Specification v2.1に準拠した 1 レーン、 2 レーン、 4 レーン、 8 レーンのエンドポイン ト およびルー ト ポー ト コンフ ィ ギュ レーシ ョ ンを5Gb/s (Gen2) までサポート し、 また、 カスタマーのユーザーインターフェイスに対し AMBA® AXI4-Stream インターフェイスをサポート します。

ピンごとの帯域が高く、低レイテンシで、 シグナル インテグリ テ ィの問題が低減された、 CDR アーキテクチャであるため、 このコアは、 ハイ パフォーマンスでコス ト高効率の第 3世代の I/O ソ リ ューシ ョ ンと して、業界標準となっています。

機能• ハイ パフォーマンス、 スケーラブル、 で、 柔軟性と信

頼性が高い、 汎用 I/O コア

• ク リ ティカル タイ ミ ングを満たすためザイ リ ンクス Smart-IP テク ノ ロジを採用

• 7 シ リーズ FPGA ファ ミ リに対し GTXE2 または GTPE2 ト ランシーバーを使用

° 2.5 GT/s および 5.0 GT/s のライン スピード

° 1 レーン、 2 レーン、 4 レーン、 8 レーン操作をサポート

° エラスティ ッ ク バッファーおよびクロ ッ ク補正

° 自動クロ ッ ク データ リ カバリ

• エンドポイン トおよびルート ポート コンフ ィギュレーシ ョ ンをサポート

• 8B/10B エンコードおよびデコード

• PCI Express 仕様要件に従い、 レーン反転およびレーン極性反転をサポート

• 標準ユーザー インターフェイス

• PCI/PCI Express の電力管理機能、 およびト ランザクシ ョン順序付けルールに準拠

• ト ランザクシ ョ ン ペイロードを 大 1024 バイ ト までサポート

• 高 32 ベクターまでのマルチベクター MSI および MSI-X をサポート

• アップ コンフ ィギュレーシ ョ ン機能によ り、 アプリケーシ ョ ン ド リブンの帯域幅のスケーラビ リティが有効

IP の概要

LogiCORE IP

コアの内容

サポート される

デバイス ファ ミ

リ (1)Zynq-7000、 Virtex®-7、 Kintex®-7、 Artix®-7

サポート される

ユーザー イン

ターフェイス

AXI4-Stream

リ ソース 詳細は、 表 2-2を参照して ください。

コアに含まれるもの

デザイン ファ イル

Verilog/VHDL(2) RTL ソース

およびシ ミ ュレーシ ョ ン モデル

サンプル デザイン

Verilog、 VHDL

テス トベンチ Verilog、 VHDL

制約ファイル XDC

シ ミ ュレーシ ョ

ン モデルVerilog、 VHDL

サポート される

ソフ ト ウェア ド ラ イバー

該当なし

サポート されるデザイン  フロー (3)

デザイン入力Vivado® Design Suite

Vivado IP インテグレーター

シ ミ ュレー

シ ョ ン

サポート されるシ ミ ュレータについてはザイ リ

ンクス デザイン ツールを参照して ください。

合成 Vivado 合成

サポート

japan.xilinx.com/support で提供

注記 :1. このコアのサポート デバイスの一覧については、 Vivado IP カタロ

グを参照して ください。

2. GTX ラ ッパーの RTL ソースは Verilog のみです。 VHDL プロジェ

ク トには混合言語モードのシ ミ ュレータが必要です。

3. サポー ト されている ツールのバージ ョ ンについては、 『VivadoDesign Suite ユーザー ガイ ド : リ リース ノート、インス トールおよ

びライセンス』 を参照して ください。

Page 5: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 5

PG054 2013 年 12 月 18 日

第 1章

概要ザイ リ ンクスの 7 シ リーズ FPGA には 3 つの FPGA ファ ミ リがあ り、すべて低電力用に設計されており、 適な消費電力、パフォーマンス、コス ト を得るため、3 つのファ ミ リの共有デザインを作成できるよ うになっています。Artix®-7ファ ミ リは量産アプリ ケーシ ョ ン用に も低いコス トおよび消費電力に 適化されたデバイスで、 Virtex®-7 ファ ミリは 高のシステム パフォーマンス と高集積度に 適化されています。 また、 Kintex®-7 ファ ミ リはパフォーマンスに対してベス ト な価格が得られるよ うに 適化された革新的な FPGA です。 この資料には、 7 Series FPGAs IntegratedBlock for PCI Express® の機能および操作方法 (設計、 カスタマイズ、 インプ リ メン ト ) が説明されています。

7 Series FPGAs Integrated Block for PCI Express コアは信頼性が高く、 高帯域で、 スケーラブルなシ リ アル インターコネク ト を構築するブロ ッ クです。 このコアは 7 Series FPGA にある PCI Express 用 7 Series 統合ブロッ クをインスタンシエート し、 Verilog および VHDL の両方をサポート しています。 またこのコアはデザイン プロセスを簡素化しタイム ト ゥ マーケッ ト を短縮します。 さ らにエンドポイン トおよびルート ポート アプ リ ケーシ ョ ン用にコンフ ィギュレーシ ョ ン可能で、通信、マルチメディア、サーバーおよびモバイル プラ ッ ト フォームで使用できるだけでなく、高度医療画像処理、 グラフ ィ ッ クス多用のビデオ ゲーム、 DVD レベルの高画質ス ト リーミ ング ビデオ (デスク ト ップ上) などのアプリ ケーシ ョ ン、 10 ギガビッ ト イーサネッ ト インターフェイス カード用にも使用できます。

このコアは完全検証されたソ リ ューシ ョ ンですが、アプリ ケーシ ョ ンのコンフ ィギュレーシ ョ ンおよび機能によっては、 完全デザインをインプ リ メン トするにあたり課題に直面するこ と もあ り ます。

推奨 : ベス ト な結果を得るには、ザイ リ ンクス インプリ メンテーシ ョ ン ソフ ト ウェアおよび制約ファイルを使用してハイ パフォーマンスのパイプライン化された FPGA デザインを構築した経験が望まれます。

機能概要

7 Series Integrated Block for PCIe は、 『PCI Express Base Specification rev. 2.1』 [参照 2] のレイヤー モデルに従っており、物理層、データ リ ンク層、 ト ランザクシ ョ ン層から構成されています。 このプロ ト コルはレイヤー間の情報交換にパケッ ト を使用します。パケッ トは ト ランザクシ ョ ン層およびデータ リ ンク層で生成され、送信コンポーネン トから受信コンポーネン トへと情報を伝送します。特定の層でパケッ ト を処理するのに必要な情報が送信されるパケッ トに追加されます。

Page 6: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 6

PG054 2013 年 12 月 18 日

第 1 章 : 概要

プロ ト コルのレイヤーの機能は次のとおりです。

• TLP の生成および処理

• フロー制御管理

• 初期化およびパワー マネージメン ト機能

• データ保護

• エラー チェッ クおよび再試行

• 物理的な リ ンク インターフェイス初期化

• メ ンテナンスおよびステータス追跡

• シ リアライゼーシ ョ ン、 デシ リ アライゼーシ ョ ン、 およびインターフェイス操作用のほかの回路

アプリケーシ ョ ンザイ リ ンクス 7 series FPGAs Integrated Block for PCI Express のアーキテクチャはパフォーマンス、コス ト、スケーラビリティ、 機能拡張性、 高信頼性に秀で、 広範なコンピューティングや通信用のアプリ ケーシ ョ ン用に利用されています。 一般的なアプリ ケーシ ョ ンには次のよ うなものがあ り ます。

• データ通信ネッ ト ワーク

• テレコ ミ ュニケーシ ョ ン ネッ ト ワーク

• ブロードバンド アプリ ケーシ ョ ン (有線および無線)

• ク ロスコネク ト

• ネッ ト ワーク インターフェイス カード

• チップ間およびバッ クプレーンのインターコネク ト

• ク ロスバー スイ ッチ

• 無線基地局

ライセンスおよび注文情報このザイ リ ンクス LogiCORE IP モジュールは、 ザイ リ ンクス エンド ユーザー ラ イセンス規約のも とザイ リ ンクスVivado® Design Suite を使用し追加コス ト なしで提供されています。 この IP およびその他のザイ リ ンクス LogiCOREIP モジュールは、 ザイ リ ンクス IP コア ページから入手できます。 その他のザイ リ ンクス LogiCORE IP モジュールおよびソフ ト ウェアの価格や利用状況に関する詳細については、お近くのザイ リ ンクス営業担当者にお問い合わせください。

詳細は 7 Series FPGAs Integrated Block for PCI Express 製品ページをご覧ください。

Page 7: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 7

PG054 2013 年 12 月 18 日

第 2章

製品仕様7 Series FPGAs Integrated Block for PCI Express® では 2.5Gb/s および 5.0Gb/s の PCI Express エンドポイン トおよびルート ポー ト コンフ ィギュレーシ ョ ンがサポート されています。 8.0 Gb/s (Gen3) サポート に関しては、 『Virtex-7 FPGAGen3 Integrated Block for PCI Express 製品ガイ ド』 (PG023)[参照 4] を参照して ください。Virtex®-7 FPGA Gen3 IntegratedBlock for PCI Express のデバイス サポート などの情報も記載されています。

表 2-1 は Integrated Block for PCIe® ソ リ ューシ ョ ンを定義しています。

ザイ リ ン ク ス 7 Series FPGAs Integrated Block for PCI Express コ アは 7 Series FPGAs Integrated Block for PCI Express(PCIE_2_1) を内部でインスタンシエート します。 この統合ブロ ッ クは PCI Express Base Specification のレイヤー モデルに従い、 物理層、 データ リ ンク層、 ト ランザクシ ョ ン層から構成されおり、 『PCI Express Base Specification v2.1』[参照 2]に準拠しています。

図 2-1 では 7 Series FPGAs Integrated Block for PCI Express コアのインターフェイスを図説しています。

• システム (SYS) インターフェイス

• PCI Express (PCI_EXP) インターフェイス

• コンフ ィギュレーシ ョ ン (CFG) インターフェイス

• ト ランザクシ ョ ン インターフェイス (AXI4-Stream)

• 物理層制御およびステータス (PL) インターフェイス

このコアはモジュール間の情報交換にパケッ ト を使用します。パケッ トは ト ランザクシ ョ ン層およびデータ リ ンク層で生成され、送信コンポーネン トから受信コンポーネン トへと情報を伝送します。必要な情報が送信パケッ トに追加されますが、 これらの層でパケッ ト を処理するのに必要なものです。 受信エレ メン トの各層は、 入力パケッ ト を処理し、 関連情報を受け取り、 そのパケッ ト を次の層に送信します。

この結果、 受信されたパケッ トは物理層からデータ リ ンク層およびト ランザクシ ョ ン層へと送信されていきます。

表 2‐1 :製品概要

製品名ユーザー インターフェイス

幅 サポート されるレーン幅

1 レーン (2.5Gb/s、 5.0Gb/s) 64 X1

2 レーン (2.5Gb/s、 5.0Gb/s) 64 x1、 x2(1)

4 レーン (2.5Gb/s、 5.0Gb/s) 64、 128 x1、 x2、 x4(1),(2)

8 レーン (2.5Gb/s、 5.0Gb/s) 64、 128 x1、 x2、 x4、 x8(1),(3)

注記 :1. 詳細は、 126 ページの 「リ ンク ト レーニング : 2 レーン、 4 レーン、 8 レーン コンポーネン ト 」 を参照してください。 2. Vivado® IP カタログの 「x4、 2.5Gb/s」 とい うオプシ ョ ンは 64 ビッ ト幅のインターフェイスのみで利用可能です。

3. 「x8、 5.0Gb/s」 は 128 ビッ ト幅でのみ利用可能です。

Page 8: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 8

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

規格準拠

7 Series FPGAs Integrated Block for PCI Express は 『PCI Express Base Specification rev. 2.1』 に準拠しています。 [参照 2].

さ らに 『PCI Express Card Electromechanical (CEM) v2.0』 や 『PCI Industrial Computer Manufacturers Group (PICMG) 3.4』などの業界規格に準拠しています。

X-Ref Target - Figure 2-1

図 2‐1 : ト ップ レベルのファンクシ ョ ン  ブロックおよびインターフェース

LogiCORE IP 7 Series FPGAs Integrated Block for PCI Express

7 Series FPGAs Integrated Block for

PCI Express (PCIE_2_1)

Transceivers

Optional Debug

System(SYS)

User Logic

PCIExpressFabric

ClockandReset

PCI Express(PCI_EXP)

UserLogic

Physical LayerControl and Status

HostInterface

AXI4-StreamInterface

UserLogic

Optional Debug(DRP)

Physical(PL)

Configuration(CFG)

TX Block RAM

RX Block RAM

Page 9: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 9

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

リ ソースの使用

表 2-2 は Vivado Design Suite インプ リ メンテーシ ョ ンで使用されるコアのリ ソースをま とめたものです。

表 2‐2 :使用されるリソース 

製品インター

フェイス幅GTXE1 LUT(1)

フリ ップ

フロップ(1)

受信バッ

ファー 

サイズ (KB)

送信バッ

ファー

サイズ (KB)

CMPS(2)

(バイ ト )ブロックRAM

MMCMクロック  

バッ

ファー

1 レーン Gen1/Gen2(3) 64 ビッ ト 1 400 575

4 および 32(4) 4-32 128-1024 2-16 1 5

2 レーン Gen1/Gen2 64 ビッ ト 2 525 750

4 レーン Gen1 64 ビッ ト 4 800 1100

4 レーン Gen2 64 ビッ ト 、

128 ビッ ト4 800 1300

8 レーン、 Gen1 64 ビッ ト 、

128 ビッ ト8 1350 2275

8 レーン、 Gen2 128 ビッ ト 8 1450 2600

注記 :1. 数値はデフォルトのコア コンフ ィギュレーシ ョ ン用です。 実際の LUT およびフ リ ップフロ ップの数はコンフ ィギュレーシ ョ ンによ り異

な り ます。

2. CMPS とは Capability Maximum Payload Size の略で、 機能 大ペイロード サイズのこ と。

3. Gen1 の速度は 2.5Gb/s、 Gen2 の速度は 5.0Gb/s です。

4. 大ペイロード サイズ (MPS) が 128 および 256 の場合は、 4KB および 8KB 、 512 MPS の場合は 8KB および 16KB、 1024 MPS の場合は

16KB および 32 KBです。

表 2‐3 : スタンドアロン  PCIe コアの BUFG 使用量

リンク  スピード  (Gb/s) レーン幅

インターフェイス幅 (ビッ ト数)

AXI ‐ ST インターフェイス周波数 (MHz)

BUFG 使用量

2.5 X1 64 62.5 3/32

2.5 X1 64 125 2/32

5 X1 64 125 3/32

2.5 x2 64 125 2/32

2.5 x2 64 250 4/32

5 x2 64 125 3/32

5 x2 64 250 4/32

2.5 x4 64 125 2/32

2.5 x4 64 250 4/32

5 x4 64 250 4/32

5.0 x4 128 125 4/32

2.5 x8 64 250 4/32

2.5 x8 128 125 3/32

5.0 x8 128 250 5/32

Page 10: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 10

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

小デバイス要件

表 2-4 には7 Series Integrated Block for PCIe コンフ ィギュレーシ ョ ンの 小デバイス要件がま とめられています。

2.5 x1 64 250 4/32

5.0 x1 64 250 4/32

表 2‐3 : スタンドアロン  PCIe コアの BUFG 使用量 (続き)

リンク  スピード  (Gb/s) レーン幅

インターフェイス幅 (ビッ ト数)

AXI ‐ ST インターフェイス周波数 (MHz)

BUFG 使用量

表 2‐4 : コア コンフ ィギュレーシ ョ ン

Zynq®‐7000 デバ

イスVirtex®‐7 FPGA Kintex®‐7 FPGA

Artix®‐7 FPGA(2)

ZC7030ZC7045

XC7VX485T XC7V585T XC7V2000T

XC7K480T 

XC7K420 XC7K410T 

XC7K355T 

XC7K325T XCK7160T(1) 

XC7K70T(1)

XC7A100TXC7A200T

PCIe 用統合ブロ ッ ク数

(表 2-5 を参照)1 4 3 4 1 1

レーン数

Gen1 (2.5Gb/s) 1-4 または 1-8(4) 1-8 1-8 1-8 1-8 1-4

Gen2 (5.0Gb/s) 1-4 または 1-8(4) 1-8 1-8 1-8 1-8 1-4

Gen3 (8.0Gb/s)(3) — — — — — —

[Speed grade]

x1–x4 Gen1 -1、 -2、 -3、-2L

-1、 -2、 -3、-2L

-1、 -2、 -3、-2L -1、 -2、 -2L

-1、 -2、 -3、-2L

-1、 -2、 -3、-2L

x8 Gen1 -1、 -2、 -3、-2L

-1、 -2、 -3、-2L

-1、 -2、 -3、-2L -1、 -2、 -2L

-1、 -2、 -3、-2L なし

x1–x4 Gen2 -1、 -2、 -3、-2L

-1、 -2、 -3、-2L

-1、 -2、 -3、-2L -1、 -2、 -2L

-1、 -2、 -3、-2L -2、 -3

x8 Gen2 -2、 -3、 -2L (1V)

-2、 -3、 -2L (1V)

-2、 -3、 -2L (1V) -2、 -2L (1V)

-2、 -3、 -2L (1V) なし

Page 11: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 11

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

使用可能な PCIe 用統合ブロック

表 2-5 には、 複数のブロ ッ クを含む FPGA で使用可能な 7 シ リーズ統合ブロ ッ クがま とめられています。 場合によっては統合ブロ ッ クに近接する ト ランシーバー サイ トがボンディングされていないため、すべてのブロ ッ クを使用できないこ と もあ り ます。

大ペイロー

ド サイズ MPS (バイ ト )

Gen11024

1024 1024 1024 1024 10241024

x1–x4 Gen2 1024 1024 1024 1024 1024 1024

x8 Gen2512 (-3)

256 (-2、 -2L)

512 (-3)256 (-2、 -2L)

512 (-3)256 (-2、 -2L)

512 (-3)256 (-2、 -2L)

512 (-3)256 (-2、 -2L)

なし

注記 :1. Kintex-7 FPGA FBG484 パッケージは x1、 x2、 x4 のみをサポート しています。

2. Artix-7 デバイスは x1、 x2、 x4 のみをサポート しています。

3. 7 Series FPGAs Integrated Block for PCI Express は Gen3 をサポート していません。Virtex-7 FPGA Gen3 Integrated Block for PCI Express のデバ

イス サポート などの情報については、『Virtex-7 FPGA Gen3 Integrated Block for PCI Express 製品ガイ ド』 (PG023) [参照 4] を参照して くださ

い。

4. 7030 デバイスの場合は 1-4 レーン、 7045 デバイスの場合は 1-8 レーンです。

5. すべての SSI デバイスの PCIe/MMCM サイ ト ペアがタイ ミ ング スキュー チェッ クをパスするわけではあ り ません。

表 2‐4 : コア コンフ ィギュレーシ ョ ン (続き)

Zynq®‐7000 デバ

イスVirtex®‐7 FPGA Kintex®‐7 FPGA

Artix®‐7 FPGA(2)

ZC7030

ZC7045XC7VX485T XC7V585T XC7V2000T

XC7K480T XC7K420 

XC7K410T 

XC7K355T XC7K325T 

XCK7160T(1) 

XC7K70T(1)

XC7A100T

XC7A200T

表 2‐5 :使用可能な PCIe 用統合ブロック

デバイスの選択 PCIe 用統合ブロックのロケーシ ョ ン

デバイス パッケージ X0Y0 X0Y1 X0Y2 X1Y0 X1Y1

Zynq-7000

ZC7030 3

ZC7045 3

ZC7100 3

Virtex-7

XC7VX485T

FFG1157FFG1761FFG1930

3 3

FFG1158FFG1927

3 3 3 3

XC7V585TFFG1157 3 3

FFG1761 3 3 3

XC7V2000TFHG1761 3 3 3

FLG1925 3 3

Page 12: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 12

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

コア インターフェイス

7 Series FPGAs Integrated Block for PCI Express には 上位信号インターフェイスが含まれており、 その中に受信方向、送信方向、 双方向の 3 つのサブグループがあ り ます。

システム インターフェイス

システム (SYS) インターフェイスは、システム リセッ ト信号 (sys_rst_n) およびシステム ク ロ ッ ク信号 (sys_clk)から構成されています。 その詳細は 表 2-6 に説明されています。

7 シ リーズ デバイスの中には 3.3V の I/O が使用できないものがあ り ます。 このため、 1.8V バンクのみが含まれているデバイスで操作するには適切なレベル シフ トが必要です。

システム リセッ ト信号は非同期入力です。sys_rst_n をアサートする と コア全体がハード リセッ ト されます。システム リセッ ト信号は 3.3V の信号です。

Vivado® IP カタ ログで選択されている ク ロ ッ クおよび基準信号によ り ますが、 システム入力ク ロ ッ クは 100MHz、125MHz、 または 250MHz に設定する必要があ り ます。

Kintex-7

XC7K480T 3

XC7K420 3

XC7K410T 3

XC7K355T 3

XC7K325T 3

XCK7160T 3

XC7K70T 3

Artix-7

XC7A100T 3

XC7A200T 3

XC7A35T 3

XC7A50T 3

XC7A75T 3

表 2‐5 :使用可能な PCIe 用統合ブロック  (続き)

デバイスの選択 PCIe 用統合ブロックのロケーシ ョ ン

デバイス パッケージ X0Y0 X0Y1 X0Y2 X1Y0 X1Y1

表 2‐6 : システム インターフェイスの信号

関数 信号名 方向 説明

システム リセッ ト sys_rst_n 入力 非同期信号。 sys_rst_n は、 パワーオンおよびウォーム リ セッ ト 中に少な く と も 1500ns 間アサートする必要があ り ます。

システム ク ロ ッ ク sys_clk 入力 基準クロ ッ ク。 100MHz、 125MHz、 250MHz の周波数を選択できます。

Page 13: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 13

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

PCI Express インターフェイス 

PCI Express (PCI_EXP) インターフェイスは、複数のレーンにまとめられた送受信の差動信号ペアから構成されています。 1 つの PCI Express レーンは、 送信の差動信号ペア 1 組 (pci_exp_txp、 pci_exp_txn) および受信の差動信号ペア 1 組 (pci_exp_rxp、 pci_exp_rxn) から構成されています。 1 レーン コアはレーン 0、 2 レーン コアはレーン0-1、 4 レーン コアはレーン 0-3、 8 レーン コアはレーン 0-7 をサポート しています。 PCI_EXP インターフェイスの送受信信号は表 2-7 に定義されています。

表 2‐7 : PCI Express インターフェイス信号 (1、 2、 4、 および 8 レーン  コア)

レーン 番号

名前 方向 説明

1 レーン コア

0 pci_exp_txp0 出力 PCI Express 送信 (正)シ リ アル差動出力 0 (+)

pci_exp_txn0 出力 PCI Express 送信 (負)シ リ アル差動出力 0 (-)

pci_exp_rxp0 入力 PCI Express 受信 (正)シ リ アル差動入力 0 (+)

pci_exp_rxn0 入力 PCI Express 受信 (負)シ リ アル差動入力 0 (-)

2 レーン コア

0 pci_exp_txp0 出力 PCI Express 送信 (正)シ リ アル差動出力 0 (+)

pci_exp_txn0 出力 PCI Express 送信 (負)シ リ アル差動出力 0 (-)

pci_exp_rxp0 入力 PCI Express 受信 (正)シ リ アル差動入力 0 (+)

pci_exp_rxn0 入力 PCI Express 受信 (負)シ リ アル差動入力 0 (-)

1 pci_exp_txp1 出力 PCI Express 送信 (正)シ リ アル差動出力 1 (+)

pci_exp_txn1 出力 PCI Express 送信 (負)シ リ アル差動出力 1 (-)

pci_exp_rxp1 入力 PCI Express 受信 (正)シ リ アル差動入力 1 (+)

pci_exp_rxn1 入力 PCI Express 受信 (負)シ リ アル差動入力 1 (-)

4 レーン コア

0 pci_exp_txp0 出力 PCI Express 送信 (正)シ リ アル差動出力 0 (+)

pci_exp_txn0 出力 PCI Express 送信 (負)シ リ アル差動出力 0 (-)

pci_exp_rxp0 入力 PCI Express 受信 (正)シ リ アル差動入力 0 (+)

pci_exp_rxn0 入力 PCI Express 受信 (負)シ リ アル差動入力 0 (-)

1 pci_exp_txp1 出力 PCI Express 送信 (正)シ リ アル差動出力 1 (+)

pci_exp_txn1 出力 PCI Express 送信 (負)シ リ アル差動出力 1 (-)

pci_exp_rxp1 入力 PCI Express 受信 (正)シ リ アル差動入力 1 (+)

pci_exp_rxn1 入力 PCI Express 受信 (負)シ リ アル差動入力 1 (-)

2 pci_exp_txp2 出力 PCI Express 送信 (正)シ リ アル差動出力 2 (+)

pci_exp_txn2 出力 PCI Express 送信 (負)シ リ アル差動出力 2 (-)

pci_exp_rxp2 入力 PCI Express 受信 (正)シ リ アル差動入力 2 (+)

pci_exp_rxn2 入力 PCI Express 受信 (負)シ リ アル差動入力 2 (-)

Page 14: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 14

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

3 pci_exp_txp3 出力 PCI Express 送信 (正)シ リ アル差動出力 3 (+)

pci_exp_txn3 出力 PCI Express 送信 (負)シ リ アル差動出力 3 (-)

pci_exp_rxp3 入力 PCI Express 受信 (正)シ リ アル差動入力 3 (+)

pci_exp_rxn3 入力 PCI Express 受信 (負)シ リ アル差動入力 3 (-)

8 レーン コア

0 pci_exp_txp0 出力 PCI Express 送信 (正)シ リ アル差動出力 0 (+)

pci_exp_txn0 出力 PCI Express 送信 (負)シ リ アル差動出力 0 (-)

pci_exp_rxp0 入力 PCI Express 受信 (正)シ リ アル差動入力 0 (+)

pci_exp_rxn0 入力 PCI Express 受信 (負)シ リ アル差動入力 0 (-)

1 pci_exp_txp1 出力 PCI Express 送信 (正)シ リ アル差動出力 1 (+)

pci_exp_txn1 出力 PCI Express 送信 (負)シ リ アル差動出力 1 (-)

pci_exp_rxp1 入力 PCI Express 受信 (正)シ リ アル差動入力 1 (+)

pci_exp_rxn1 入力 PCI Express 受信 (負)シ リ アル差動入力 1 (-)

2 pci_exp_txp2 出力 PCI Express 送信 (正)シ リ アル差動出力 2 (+)

pci_exp_txn2 出力 PCI Express 送信 (負)シ リ アル差動出力 2 (-)

pci_exp_rxp2 入力 PCI Express 受信 (正)シ リ アル差動入力 2 (+)

pci_exp_rxn2 入力 PCI Express 受信 (負)シ リ アル差動入力 2 (-)

3 pci_exp_txp3 出力 PCI Express 送信 (正)シ リ アル差動出力 3 (+)

pci_exp_txn3 出力 PCI Express 送信 (負)シ リ アル差動出力 3 (-)

pci_exp_rxp3 入力 PCI Express 受信 (正)シ リ アル差動入力 3 (+)

pci_exp_rxn3 入力 PCI Express 受信 (負)シ リ アル差動入力 3 (-)

4 pci_exp_txp4 出力 PCI Express 送信 (正)シ リ アル差動出力 4 (+)

pci_exp_txn4 出力 PCI Express 送信 (負)シ リ アル差動出力 4 (-)

pci_exp_rxp4 入力 PCI Express 受信 (正)シ リ アル差動入力 4 (+)

pci_exp_rxn4 入力 PCI Express 受信 (負)シ リ アル差動入力 4 (-)

5 pci_exp_txp5 出力 PCI Express 送信 (正)シ リ アル差動出力 5 (+)

pci_exp_txn5 出力 PCI Express 送信 (負)シ リ アル差動出力 5 (-)

pci_exp_rxp5 入力 PCI Express 受信 (正)シ リ アル差動入力 5 (+)

pci_exp_rxn5 入力 PCI Express 受信 (負)シ リ アル差動入力 5 (-)

6 pci_exp_txp6 出力 PCI Express 送信 (正)シ リ アル差動出力 6 (+)

pci_exp_txn6 出力 PCI Express 送信 (負)シ リ アル差動出力 6 (-)

pci_exp_rxp6 入力 PCI Express 受信 (正)シ リ アル差動入力 6 (+)

pci_exp_rxn6 入力 PCI Express 受信 (負)シ リ アル差動入力 6 (-)

表 2‐7 : PCI Express インターフェイス信号 (1、 2、 4、 および 8 レーン  コア) (続き)

レーン 番号

名前 方向 説明

Page 15: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 15

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

PCI Express のクロ ッ ク供給およびリセッ トについては、 『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイド』 (UG476) の第 6 章 「PCI Express Clocking and PCI Express Reset」 を参照してください。 [参照 10]

ト ランザクシ ョ ン  インターフェイス

ト ランザクシ ョ ン インターフェイスは、 ユーザー デザインが TLP を生成および使用する メカニズムを提供しています。 このインターフェイスの信号名および説明は、 表 2-8、 表 2-10、 表 2-11 にまとめられています。

共通インターフェイス

表 2-8 では共通インターフェイス信号について説明しています。

7 pci_exp_txp7 出力 PCI Express 送信 (正)シ リ アル差動出力 7 (+)

pci_exp_txn7 出力 PCI Express 送信 (負)シ リ アル差動出力 7 (-)

pci_exp_rxp7 入力 PCI Express 受信 (正)シ リ アル差動入力 7 (+)

pci_exp_rxn7 入力 PCI Express 受信 (負)シ リ アル差動入力 7 (-)

表 2‐8 :共通ト ランザクシ ョ ン  インターフェイスの信号

名前 方向 説明

user_clk_out 出力 ト ランザクシ ョ ン ク ロ ッ ク。 ト ランザクシ ョ ン、 コンフ ィギュレーシ ョン、 物理層制御およびステータス インターフェイスの操作は、 このクロ ックの立ち上がりエッジを基準にし同期しています。 この信号はパワーオンの後にアクティブになり、 sys_rst_n の影響は受けません。 この信号は user_reset_out がディアサート された後に初めて選択した動作周波数で安定するよ うになっています。 user_clk_out ク ロ ッ ク出力は CORE Generator ツールで設定された固定周波数になり ます。 リ ンク リ カバリ またはト レーニング ダウンが発生しても この信号は周波数を変更しません。

推奨およびオプシ ョ ンの周波数については表 2-9 を参照して ください。

user_reset_out 出力 ト ランザクシ ョ ン リ セッ ト 。 ト ランザクシ ョ ンおよびコンフ ィ ギュレーシ ョ ン インターフェイス と通信するユーザー ロジッ クは静止ステート に戻るのに user_reset_out を使用する必要があ り ます。この信号は user_clk_outに同期してディアサート され、 sys_rst_n のアサートに対し非同期にディアサートおよびアサート されます。ホッ ト リセッ トやリ ンク ディ スエーブルなどのコアのインバンド イベン トに対し、 この信号はアサート されます。

user_lnk_up 出力 ト ランザクシ ョ ン リ ンク アップ。 コアおよび接続されているアップス トリーム リ ンク パートナーのポートが準備完了になっていて、データパケット を交信できるよ うになっている と きに、 ト ランザクシ ョ ン リ ンク アップはアサート されます。 コアおよびリ ンク パートナーが通信を確立しよ う としている と き、 または リ ン ク パー ト ナーとの通信が送信チャネル上のエラーが原因で失われたと き、 ト ランザクシ ョ ン リ ンク アップはディアサート されます。 また、 リ ンク パートナーによ りホッ ト リセッ ト またはリ ンクディ スエーブル ステートにコアが駆動されていて、 コアに格納されているTLP すべてが失われたと きにも、 この信号はディアサート されます。 この信号がリ カバリ ステートにある と きはディアサート されませんが、 リ カバリにエラーが発生したと きにはディアサート されます。

表 2‐7 : PCI Express インターフェイス信号 (1、 2、 4、 および 8 レーン  コア) (続き)

レーン 番号

名前 方向 説明

Page 16: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 16

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

送信インターフェイス

表 2-10は送信 (TX) インターフェイスの信号を定義しています。 バス s_axis_tx_tuser は関連していない信号から構成されています。ニーモニッ クおよび TSUSER 信号の両方がこの資料で使用されています。たとえば、送信ソース中断信号は (tsrc_dsc) s_axis_tx_tuser[3] と して参照されています。

fc_ph[7:0] 出力 ポステッ ド ヘッダ フロー制御クレジッ ト :選択されたフロー制御 (FC) タイプに対するポステッ ド ヘッダー FC クレジッ ト数です。

fc_pd[11:0] 出力 ポステッ ド データ フロー制御クレジッ ト :選択されたフロー制御 (FC) タイプに対するポステッ ド データ FC クレジッ ト数です。

fc_nph[7:0] 出力 ノンポステッ ド ヘッダ フロー制御クレジッ ト :選択されたフロー制御 (FC)タイプに対する ノンポステッ ド ヘッダー FC クレジッ ト数です。

fc_npd[11:0] 出力 ノンポステッ ド データ フロー制御クレジッ ト :選択されたフロー制御 (FC)タイプに対する ノンポステッ ド データ FC クレジッ ト数です。

fc_cplh[7:0] 出力 完了ヘッダ フロー制御クレジッ ト :選択されたフロー制御 (FC) タイプに対する完了ヘッダー FC クレジッ ト数です。

fc_cpld[11:0] 出力 完了データ フロー制御クレジッ ト :選択されたフロー制御 (FC) タイプに対する完了データ FC クレジッ ト数です。

fc_sel[2:0] 入力 フロー制御情報選択 :fc_* 信号のフロー制御情報のタイプを選択します。

値 :• [000] :受信バッファーの使用可能なスペース

• [001] : リ ンク パートナーに与えられる受信クレジッ ト

• [010] :消費された受信クレジッ ト

• [100] :使用可能な送信ユーザー クレジッ ト

• [101] :送信クレジッ トの制限

• [110] :消費された送信クレジッ ト

表 2‐9 :推奨およびオプシ ョ ンのト ランザクシ ョ ン  クロック  (user_clk_out) 周波数

製品リンク  スピード  

(Gb/s)インターフェイス幅(1) 

(ビッ ト数)推奨周波数 (MHz)

オプシ ョ ンの周波数 (MHz)

1 レーン 2.5 64 62.5 125、 250

1 レーン 5 64 62.5 125、 250

2 レーン 2.5 64 62.5 125、 250

2 レーン 5 64 125 250

4 レーン 2.5 64 125 250

4 レーン 5 64 250 -

4 レーン 5 128 125 -

8 レーン 2.5 64 250 -

8 レーン 2.5 128 125 250

8 レーン 5 128 250 -

注記 :1. インターフェイス幅はリ ンク スピードの変化に合わせてダイナミ ッ クには変更しません。

表 2‐8 :共通ト ランザクシ ョ ン  インターフェイスの信号 (続き)

名前 方向 説明

Page 17: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 17

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

表 2‐10 :送信インターフェイス信号

名前 ニーモニック 方向 説明

s_axis_tx_tlast 入力 フレームの終わり (End-ofFrame - EOF) の送信 :パケッ トの終わり を示します。 s_axis_tx_tvalid がアサート されている と きにのみ有効です。

s_axis_tx_tdata[W-1:0] 入力 データ送信 :送信されるパケッ ト データ

s_axis_tx_tkeep[7:0] (64 ビッ ト インターフェイス)

s_axis_tx_tkeep[15:0] (128ビ ッ ト イン ターフェ イス)

入力 データ ス ト ローブ送信。 s_axis_tx_tvalid および s_axis_tx_treadyの両方がアサート されている と き s_axis_tx_tdata[W-1:0] でどのデータ バイ トが有効であるかを決定します。

ビッ ト 0 は s_axis_tx_tdata の 下位バイ ト に対応し、 ビッ ト 7(64 ビッ ト ) およびビッ ト 15 (128 ビッ ト ) は 上位バイ トに対応しています。 たとえば、 次のよ うにな り ます。

• s_axis_tx_tkeep[0] == 1b、 s_axis_tx_tdata[7:0] は有効

• s_axis_tx_tkeep[7] ==0b、 s_axis_tx_tdata[63:56] は無効

s_axis_tx_tlast がアサート されていない場合、 有効な値は 0xFF(64 ビッ ト ) または 0xFFFF (128 ビッ ト ) のみです。 s_axis_tx_tlast がアサー ト されている と き有効な値は次のとおりです。

• 64 ビッ トの場合、 0x0F および 0xFF のみが有効

• 128 ビッ トの場合、 0x000F、 0x00FF、 0x0FFF、および 0xFFFFが有効

s_axis_tx_tvalid 入力 ソース準備完了の送信 :ユーザー アプ リ ケーシ ョ ンがs_axis_tx_tdata に有効なデータを出力しているこ とを示します。

s_axis_tx_tready 出力 デステ ィネーシ ョ ン準備完了の送信 :コアの s_axis_tx_tdata でデータ受信準備が完了したこ とを示します。 s_axis_tx_tvalid および s_axis_tx_tready が同時にアサー ト する と、 s_axis_tx_tdataのデータが送信されたこ とを示します。

s_axis_tx_tuser[3] t_src_dsc 入力 ソース非継続の送信 :SOF 後の 初のサイ クルからアサートできます。 s_axis_tx_tlast を (tx_src_dsc)s_axis_tx_tuser[3] と同時にアサート します。

tx_buf_av[5:0] 出力 使用可能な送信バッファ :コアにある空き送信バッファー数を示します。 各空き送信バッファーはサポート されている 大ペイロード サイズ (MPS) まで 1 つの TLP を受信できます。 送信バッファー 大数は、サポート されている MPS および選択されているブロ ッ ク RAM によって変わ り ます(84 ページの 「コアバッファーおよびフロー制御」 )。

tx_err_drop 出力 エラー ド ロ ップの送信 :長さ制限違反のため、 またはス ト リーミ ング中に連続する ク ロ ッ ク サイ クルでデータが出力されなかったと き、コアによ りパケッ トが却下されたこ とを示します。

製品  データ  バス幅 (W)

1 レーン (2.5Gb/s および 5.0Gb/s) 64

2 レーン (2.5Gb/s および 5.0Gb/s) 64

4 レーン (2.5Gb/s および 5.0Gb/s) 64 または 128

8 レーン (2.5Gb/s および 5.0Gb/s) 64 または 128

Page 18: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 18

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

受信インターフェイス

表 2-11 は受信 (RX) インターフェイスの信号を定義しています。バス m_axis_tx_tuser は関連していない信号から構成されています。 TUSER 信号名の代わりにニーモニッ クがこの資料では使用されています。

s_axis_tx_tuser[2] tx_str 入力 ス ト リームの送信 :連続したクロ ッ ク サイ クルでパケッ トが出力され、 パケッ ト全体がコアに書き込まれる前にリ ンクの送信が開始するこ とを示します。一般的には送信カッ ト スルー モード と呼ばれます。

tx_cfg_req 出力 コンフ ィギュレーシ ョ ン要求の送信 :コアでコンフ ィギュレーシ ョ ン完了またはその他の内部生成された TLP の送信準備完了したと きアサート されます。

tx_cfg_gnt 入力 コンフ ィ ギュレーシ ョ ン許可の送信 :tx_cfg_req に応答しユーザー アプリ ケーシ ョ ンによってアサート され、 コアが内部生成された TLP を送信できるよ うにな り ます。別のリ クエス トが出力 さ れ る 前に コ ア生成 さ れたパケ ッ ト が処理 さ れた後、tx_cfg_req 信号は常にデ ィ アサー ト されます。 このため、tx_cfg_gnt のアサート タイ ミ ングを決めるため、tx_cfg_req の立ち上がりエッジをユーザー デザインは検索します。 tx_cfg_reqの後に tx_cfg_gnt を保持する と、 ユーザー TLP の送信優先順位がコア生成された TLP よ り高くな り ます。また tx_cfg_req がアサート されたと きに tx_cfg_gnt を 1 ク ロ ッ ク サイクル間アサートする と、 次のパケッ ト出力はコアの内部生成されたパケッ トにな り ます。 内部パケッ ト を格納する空きバッファーがない場合、tx_cfg_gnt がアサート された後でも tx_cfg_req はアサート されたままにな り ます。 初のアサートが取り込まれているため、ユーザー デザインが tx_cfg_gnt をも う 1 度アサートする必要はあ り ません。 内部生成された TLP の送信優先順序を変更する必要がない場合は、 この信号を継続的にアサート します。

s_axis_tx_tuser[1] tx_err_fwd 入力 エラー転送の送信 :進捗中の現在のパケッ ト にエラーがあったこ とを示し、 SOF から EOF の間 (SOF および EOF を含む)、 いつでもアサートできます。(tx_str)s_axis_tx_tuser[2] がアサート されている場合は tx_err_fwd 信号をアサート しないでください。

s_axis_tx_tuser[0] tx_ecrc_gen 入力 ECRC 生成の送信 :ECRC ( 後から 後までの冗長チェッ ク ) のダイジェス トが追加されます。 TLP の 初にアサートする必要があ り ます。

表 2‐10 :送信インターフェイス信号 (続き)

名前 ニーモニック 方向 説明

Page 19: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 19

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

表 2‐11 :受信インターフェイスの信号

名前 ニーモニック 方向 説明

m_axis_rx_tlast 出力 フレームの終わり (End-ofFrame - EOF) の受信 :パケッ ト の終わり を示します。 m_axis_rx_tvalid もアサート されている場合にのみ有効です。

m_axis_rx_tdata[W-1:0] 出力 データ受信 :受信されているパケッ ト データ。m_axis_rx_tvalid もアサート されている場合にのみ有効です。

エンドポイン トからレガシ割り込みが送信される場合、ENABLE_MSG_ROUTE を 11'b00000001000 に設定する必要があ り ます。 これは、 この信号が m_axis_rx_tdata、m_axis_rx_tkeep、 m_axis_rx_tuser と と もに ト グルするよ うにするためです。

128 ビッ ト インターフェイスのみ : 送信インターフェイスの s_axis_tx_tdata[127:0] とは異なり、バスの上位 QWORD である m_axis_rx_tdata[127:64]、 または下位 QWORD であるm_axis_rx_tdata[63:0] で受信された TLP は開始できます。詳細は is_sof および rx_is_sof[4:0]) m_axis_rx_tuser[14:10]m_axis_rx_tuser[21:17] を参照してください。

m_axis_rx_tkeep[7:0](64 ビ ッ ト イ ン ターフェイスのみ)

出力 受信データ ス ト ローブ。 m_axis_rx_tvalid および m_axis_rx_tready の両方がアサートされている と き m_axis_rx_tdata[63:0] でどのデータ バイ トが有効であるかを決定します。

ビッ ト 0 は m_axis_rx_tdata の 下位バイ トに対応し、 ビット 7 は 上位バイ トに対応しています。 たとえば、 次のようにな り ます。

• m_axis_rx_tkeep[0] == 1b、 m_axis_rx_tdata[7:0] は有効

• m_axis_rx_tkeep[7] == 0b、 m_axis_rx_tdata[63:56] は無効

m_axis_rx_tlast がアサート されていない場合、唯一の有効値は 0xFF です。

m_axis_rx_tlast がアサー ト されている と き有効な値は次のとおりです。

• 64 ビッ トの場合、 0x0F および 0xFF のみが有効

m_axis_rx_tuser[14:10]

(128 ビッ ト インターフェイスのみ)

rx_is_sof[4:0] 出力 m_axis_rx_tdata の新パケッ ト ヘッダーの開始を示します。 ビッ ト 4 :新パケッ トが出力される とアサート されます。

ビッ ト 0-3 :新パケッ トの開始バイ ト ロケーシ ョ ンを示します。 エンコード されたバイナリです。

有効値 :• 5'b10000 = AXI バイ ト 0 (DWORD 0) m_axis_rx_tdata[7:0]

で SOF• 5'b00000 = AXI バイ ト 8 (DWORD 2)

m_axis_rx_tdata[71:64] で SOF• 5'b00000 = SOF なし

製品  データ  バス幅 (W)

1 レーン (2.5Gb/s および 5.0Gb/s) 64

2 レーン (2.5Gb/s および 5.0Gb/s) 64

4 レーン (2.5Gb/s および 5.0Gb/s) 64 または 128

8 レーン (2.5Gb/s および 5.0Gb/s) 64 または 128

Page 20: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 20

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

m_axis_rx_tuser[21:17]

(128 ビッ ト インターフェイスのみ)

rx_is_eof[4:0] 出力 m_axis_rx_tdata のパケッ トの終わり を示します。 ビッ ト 4 :新パケッ トが終了する とアサート されます。

ビ ッ ト 0-3 :パケッ ト の終了バイ ト ロケーシ ョ ンを示します。 エンコード されたバイナリです。

有効値 :• 5'b10011 = AXI バイ ト 3 (DWORD 0)

m_axis_rx_tdata[31:24] で EOF• 5'b10111 = AXI バイ ト 7 (DWORD 1) m_axis_rx_tdata[63:56]

で EOF• 5'b11011 = AXI バイ ト 11 (DWORD 2)

m_axis_rx_tdata[95:88] で EOF• 5'b11111 = AXI バイ ト 15 (DWORD 3)

m_axis_rx_tdata[127:120] で EOF• 5'b00011 = SOF なし

m_axis_rx_tuser[1] rx_err_fwd 出力 エラー転送の受信 :

64 ビッ ト インターフェイス : これがアサート される と現在処理中のパケッ ト がエラー位置にな り ます。 パケッ ト全体の長さ分コアによ りアサート されます。

128 ビッ ト インターフェイス : これがアサート される と現在処理中のパケッ ト がエラー位置にな り ます。 パケッ ト全体の長さ分コアによ り アサート されます。 データ伝送中にアサート される場合は、 開始し始めたパケッ ト に適用されます。

m_axis_rx_tuser[0] rx_ecrc_err 出力 ECRC エラーの受信 :現在のパケッ トに ECRC エラーがあるこ とを示します。 パケッ ト EOF でアサート されます。

m_axis_rx_tvalid 出力 ソース準備完了の受信 : コ アが m_axis_rx_tdata に有効なデータを出力しているこ とを示します。

m_axis_rx_tready 入力 デスティネーシ ョ ン準備完了の受信 :ユーザー アプリ ケーシ ョ ンの m_axis_rx_tdata でデータ受信準備が完了したこ とを示します。 m_axis_rx_tvalid および m_axis_rx_tready が同時にアサートする と、 s_axis_tx_tdata のデータが送信されたこ とを示します。

ルート ポート コンフ ィギュレーシ ョ ンの場合、 エンドポイン トからレガシ割り込みが送信される と、ENABLE_MSG_ROUTE を 11'b00000001000 に設定する必要があ り ます。 これは、 この信号が m_axis_rx_tdata、m_axis_rx_tkeep、 m_axis_rx_tuser と と もに ト グルするよ うにするためです。

表 2‐11 :受信インターフェイスの信号 (続き)

名前 ニーモニック 方向 説明

Page 21: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 21

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

物理層インターフェイス

物理層 (PL) インターフェイスは、 ユーザー デザインがリ ンクおよびリ ンク パートナーのステータスを確認し、 リ ンク ステート を制御できるよ うにします。 表 2-12 には PL インターフェイスの信号が説明されています。

rx_np_ok 入力 ノンポステッ ド OK の受信 :ノ ンポステッ ド要求 TLP の受信準備が完了するたびにユーザー アプリ ケーシ ョ ンによ りアサート されます。 ユーザー アプリ ケーシ ョ ンで受信されたノンポステッ ド TLP が処理できない場合は、 コアの受信キュー内でこれらの TLP がバッファー化されるよ うにするため、 rx_np_ok をディアサートする必要があ り ます。 この場合、 ノンポステッ ド TLP がブロ ッ ク された TLP をバイパスした後、 ポステッ ドおよび完了 TLP が受信されます。

ノ ンポステッ ド要求に応える こ とができないステー ト にユーザー アプ リ ケーシ ョ ンが達する と、 ユーザー アプ リケーシ ョ ンが受け入れるこ とができる 後から 2 番目のノンポステッ ド TLP の m_axis_rx_tlast をコアが出力する前に、2 ク ロ ッ ク サイ クル間 rx_np_ok をディアサートする必要があ り ます。

rx_np_req 入力 受信ノンポステッ ド要求。これがアサート される と、user_clkサイ クルごとにコアから ノンポステッ ド TLP が 1 つ要求されます。 ユーザー アプリ ケーシ ョ ンが受信されたノンポステッ ド TLP をライン レートで処理できる場合は、 この信号は常にアサート されます。 ユーザー アプリ ケーシ ョ ンがノンポステッ ド TLP を要求していない場合は、 受信されたポステッ ドおよび完了 TLP が待機中のノンポステッ ド TLP をバイパスします。

m_axis_rx_tuser[9:2] rx_bar_hit[7:0] 出力 BAR ヒ ッ ト の受信 :現在の受信 ト ラ ンザクシ ョ ンでターゲッ トになっている BAR を示します。パケッ トの開始からm_axis_rx_tlast までアサート されます。• (rx_bar_hit[0])m_axis_rx_tuser[2]:BAR0• (rx_bar_hit[1])m_axis_rx_tuser[3]: BAR1• (rx_bar_hit[2])m_axis_rx_tuser[4]:BAR2• (rx_bar_hit[3])m_axis_rx_tuser[5]: BAR3• (rx_bar_hit[4])m_axis_rx_tuser[6]: BAR4• (rx_bar_hit[5])m_axis_rx_tuser[7]: BAR5

• (rx_bar_hit[6])m_axis_rx_tuser[8]: 拡張 ROMアドレス

2 つの BAR が 1 つの 64 ビ ッ ト ア ド レスにコンフ ィ ギュレーシ ョ ンされている場合は、その両方の rx_bar_hit ビッ トがアサート されます。

m_axis_rx_tuser[8:4] はルート ポート コンフ ィギュレーシ ョンには適用できません。

m_axis_rx_tuser[9] は将来的に使用できるよ うに予約されています。

m_axis_rx_tuser[16:15] 予約済み

表 2‐11 :受信インターフェイスの信号 (続き)

名前 ニーモニック 方向 説明

Page 22: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 22

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

表 2‐12 :物理層インターフェイスの信号

名前 方向 説明

pl_initial_link_width[2:0] 出力 初期ネゴシエート された リ ンク幅です。 PCI Express ポートが 初のリ ンク ト レーニングを完了した後のリ ンク幅を示します。 これはリンクの標準動作中で も広いリ ンク幅を表し、 リ ンク パートナーでサポート されている機能リ ンク幅と同じかそれよ り も狭い幅にな ります (小さいほうの値)。 コアがリセッ ト されたと き、 または LTSSMが検出ステート を遷移する と きにこの値はリセッ ト されます。 それ以外のと きは値は変わり ません。

• [000] : リ ンクが ト レインしていない

• [001] : 1 レーン リ ンク

• [010] : 2 レーン リ ンク

• [011] : 4 レーン リ ンク

• [100] : 8 レーン リ ンク

pl_phy_lnk_up 出力 物理層リ ンク アップ ステータス。 物理層リ ンク アップ ステータスを示します。

pl_lane_reversal_mode[1:0] 出力 レーン反転モード。 現在のレーン反転モードを示します。 • [00] : 反転なし

• [01] : レーン 1:0 反転

• [10] : レーン 3:0 反転

• [11] : レーン 7:0 反転

pl_link_gen2_cap 出力 リ ンク Gen2 対応。 PCI Express リ ンクが 5.0Gb/s (Gen 2) に対応しているこ とを示します ( リ ンク パートナーとデバイスの両方が Gen2 対応)。• [0] : リ ンクが Gen2 対応でない

• [1] : リ ンクが Gen2 対応

pl_link_partner_gen2_supported 出力 リ ン ク パー ト ナー Gen2 対応。 PCI Express リ ン ク パー ト ナーが5.0Gb/s (Gen2) 対応であるかど うかを示します。user_lnk_up がアサート された場合にのみ有効です。

• [0] : リ ンク パートナーが Gen2 対応でない

• [1] : リ ンク パートナーが Gen2 対応

pl_link_upcfg_cap 出力 リ ンク アップ コンフ ィギュレーシ ョ ン対応。 PCI Express リ ンクがア ップコンフ ィ ギュ レーシ ョ ン対応であるかど う かを示し ます。user_lnk_up がアサート された場合にのみ有効です。

• [0] : リ ンクがアップ コンフ ィギュレーシ ョ ン対応でない

• [1] : リ ンクがアップ コンフ ィギュレーシ ョ ン対応

pl_sel_lnk_rate 出力 現在の リ ン ク レー ト。 現在の リ ン ク スピード をレポー ト し ます。user_lnk_up がアサート された場合にのみ有効です。[0] : 2.5Gb/s[1] : 5.0Gb/s

pl_sel_lnk_width[1:0] 出力 現在のリ ンク幅。 現在のリ ンク幅をレポート します。 user_lnk_up がアサート された場合にのみ有効です。

[00] : 1 レーン リ ンク

[01] : 2 レーン リ ンク

[10] : 4 レーン リ ンク

[11] : 8 レーン リ ンク

Page 23: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 23

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

pl_ltssm_state[5:0] 出力 LTSSM ステート。 現在の LTSSM ステート を表示します (16 進数)。0、 1 : 検出が非アクティブ

2、 3 : 検出がアクティブ

4 : ポーリ ングがアクティブ

5 : ポーリ ング コンフ ィギュレーシ ョ ン 6 : ポーリ ング準拠、 Pre_Send_EIOS 7 : ポーリ ング準拠、 Pre_Timeout 8 : ポーリ ング準拠、 Send_Pattern 9 : ポーリ ング準拠、 Post_Send_EIOSA : ポーリ ング準拠、 Post_Timeout B : コンフ ィギュレーシ ョ ン リ ンク幅、 ステート 0 C : コンフ ィギュレーシ ョ ン リ ンク幅、 ステート 1 D : コンフ ィギュレーシ ョ ン リ ンク幅、 承認 0 E : コンフ ィギュレーシ ョ ン リ ンク幅、 承認 1 F : コンフ ィギュレーシ ョ ン レーン番号、 待機 10 : コンフ ィギュレーシ ョ ン レーン番号、 承認 11 : コンフ ィギュレーシ ョ ン完了 x1 12 : コンフ ィギュレーシ ョ ン完了 x213 : コンフ ィギュレーシ ョ ン完了 x3 14 : コンフ ィギュレーシ ョ ン完了 x4 15 : コンフ ィギュレーシ ョ ン アイ ドル 16 : L0 17 : L1 Entry0 18 : L1 Entry1

19 : L1 エン ト リ 2 (L2/L3 準備完了擬似ステートにも使用される )1A : L1 Idle 1B : L1 Exit

1C : リ カバリ Rcvrlock 1D : リ カバリ Rcvrcfg

表 2‐12 :物理層インターフェイスの信号 (続き)

名前 方向 説明

Page 24: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 24

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

pl_ltssm_state[5:0] (続き ) 出力 1E : リ カバリ Speed_0 1F : リ カバリ Speed_1 20 : リ カバリ アイ ドル 21 : ホッ ト リセッ ト 22 : ディ スエーブルになったエン ト リ 0 23 : ディ スエーブルになったエン ト リ 1 24 : ディ スエーブルになったエン ト リ 2 25 : ディ スエーブルになったアイ ドル 26 : ルート ポート、 コンフ ィギュレーシ ョ ン、 リ ンク幅ステート 0 27 : ルート ポート、 コンフ ィギュレーシ ョ ン、 リ ンク幅ステート 128 : ルート ポート、 コンフ ィギュレーシ ョ ン、 リ ンク幅ステート 229 : ルート ポート、 コンフ ィギュレーシ ョ ン、 リ ンク幅承認 0 2A : ルート ポート、 コンフ ィギュレーシ ョ ン、 リ ンク幅承認 1 2B : ルート ポート、 コンフ ィギュレーシ ョ ン、 レーン番号待機 2C : ルート ポート、 コンフ ィギュレーシ ョ ン、 レーン番号承認 2D : 検出までのタイムアウ ト 2E : ループバッ ク エン ト リ 0 2F : ループバッ ク エン ト リ 1 30 : ループバッ ク アクティブ 0 31 : ループバッ ク終了 0 32 : ループバッ ク終了 1 33 : ループバッ ク マスター エン ト リ 0

pl_rx_pm_state[1:0] 出力 受信パワー マネージメン ト ステート。 受信パワー マネージメン トステート を示します。

[00] : 受信は L0 でない

[01] : 受信 L0 エン ト リ

[10] : 受信 L0 アイ ドル

[11] : 受信 L0 FTS

pl_tx_pm_state[2:0] 出力 受信パワー マネージメン ト ステート。 受信パワー マネージメン トステート を示します。

000 : 送信は L0 でない 001 : 送信 L0 エン ト リ 0 010 : 送信 L0 エン ト リ 1 011 : 送信 L0 エン ト リ 2 100 : 送信 L0 アイ ドル 101 : 送信 L0 FTS0 110 : 送信 L0 FTS1 111 : 送信 L0 FTS2

pl_directed_link_auton 入力 自律リ ンク変更。 リ ンク幅および速度の変更理由を指定します。 これ は、 pl_directed_link_change[1:0]、 pl_directed_link_speed、 お よ びl_directed_link_width[1:0] 入力と と もに使用する必要があ り ます。

• 0 : リ ンク信頼性のため

• 1 : アプリ ケーシ ョ ン要件のため (自律)

表 2‐12 :物理層インターフェイスの信号 (続き)

名前 方向 説明

Page 25: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 25

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

pl_directed_link_change[1:0] 入力 リ ンク変更制御。 PCI Express ポートが リ ンク幅および速度を変更するよ うに指定します。 リ ンク変更は user_lnk_up がアサート されている と きに行う必要があ り ます。 ルート ポートの場合は、 属性 RP_AUTO_SPD = 11 でない限り pl_directed_link_change を 10 または 11 に設定しないでください。

• 00 :変更なし

• 01 : リ ンク幅

• 10 : リ ンク スピード

• 11 : リ ンク幅および速度 (レベル切り替え)

pl_directed_link_speed 入力 ターゲッ ト リ ンク スピードの指定。 pl_directed_link_change[1:0] 入力と と もに指定した リ ンク変更操作に対し リ ンク スピードを指定します。 pl_link_gen2_capable 出力が High でない限り ターゲッ ト リ ンク スピードは High に設定しないでください。• 0 : 2.5Gb/s• 1 : 5.0Gb/s

pl_directed_link_width[1:0] 入力 ターゲッ ト リ ンク幅の指定。 pl_directed_link_change[1:0] 入力と と もに指定した リ ンク変更操作に対し リ ンク幅を指定します。

ターゲッ ト リ ンク幅のエンコーディング :• 00 : 1 レーン リ ンク

• 01 : 2 レーン リ ンク

• 10 : 4 レーン リ ンク

• 11 : 8 レーン リ ンク

pl_directed_change_done 出力 リ ンク変更完了。 指定のリ ンク スピードまたはリ ンク幅の変更が完了したこ とを示します。

pl_upstream_prefer_deemph 入力 エンドポイン トで設定される ト ランス ミ ッ ター デエンファシス。 エンドポイン トが 5.0Gb/s でリ ンクのデエンファシスを制御できるようにします。 データ レート を2.5Gb/s から 5.0Gb/s に変更する と きは、 pl_upstream_prefer_deemph を pl_directed_link_speed および pl_directed_link_change[1:0] の入力と共に変更します。pl_upstream_prefer_deemph の値は使用されている PCI Express の物理インターコネク ト チャネルのプロパティにによ り異な り ます。 • 0 : 短く、 反射の多いチャネルには –6dB デエンファシスを推奨。

• 1 : 長く、損失の多いチャネルには -3.5dB デエンファシスを推奨。

表 2‐12 :物理層インターフェイスの信号 (続き)

名前 方向 説明

表 2‐13 :機能別の物理層インターフェイスの信号 : Endpoint

名前 方向 説明

pl_received_hot_rst 出力 ホッ ト リセッ トの受信。 インバンド ホッ ト リセッ ト コマンドが受信されたこ とを示します。

Page 26: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 26

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

コンフ ィギュレーシ ョ ン  インターフェイス

コンフ ィギュレーシ ョ ン (CFG) インターフェイスを介し、 ユーザー デザインが PCIe コンフ ィギュレーシ ョ ン空間のエンドポイン トのステート を確認します。ユーザー デザインが 10 ビッ トのコンフ ィギュレーシ ョ ン アドレスを 1 つ提供し、 このアドレスが 1024 のコンフ ィギュレーシ ョ ン空間ダブルワード (DWORD) レジスタの 1 つを選択します。エン ドポイン トは 32 ビッ ト の データ出力ポート を介し選択されたレジスタのステート を返します。 表 2-15はコンフ ィギュレーシ ョ ン インターフェイスの信号を定義しています。使用方法については95 ページの「コンフ ィギュレーシ ョ ン空間レジスタおよびコンフ ィギュレーシ ョ ン インターフェイスを使用したデザイン」 を参照して ください。

表 2‐14 :機能別の物理層インターフェイスの信号 : Root Port

名前 方向 説明

pl_transmit_hot_rst 入力 ホッ ト リ セッ ト の送信。 アクテ ィブ High。 PCI Expressポートがインバンド ホッ ト リセッ ト を送信します。

pl_downstream_deemph_source 入力 ルート ポートが設定する ト ランス ミ ッ ター デエンファシス。 ルート ポートが 5.0Gb/s でリ ンクのデエンファシスを制御できるよ うにします。

• 0 : アップス ト リーム リ ンク パートナーのデエンファシスを使用。

• 1 : リ ンク制御 2 レジスタから選択可能なデエンファシスを使用。

表 2‐15 : コンフ ィギュレーシ ョ ン  インターフェイスの信号

名前 方向 説明

cfg_mgmt_do[31:0] 出力 コンフ ィギュレーシ ョ ン データ出力。 読み出しデータをコア内のコンフ ィギュレーシ ョ ン空間から受信するための 32 ビットのデータ出力ポート

cfg_mgmt_rd_wr_done 出力 コンフ ィギュレーシ ョ ンの読み出し ・書き込み完了。ユーザーコンフ ィギュレーシ ョ ン レジスタ アクセスが正常に完了したこ とを示します。 • ユーザー コンフ ィギュレーシ ョ ン レジスタの読み出し操作

の場合、 cfg_mgmt_do[31:0] データ バスの値が有効であることが確認されます。

• ユーザー コンフ ィギュレーシ ョ ン レジスタの書き込み操作の場合は、 この信号がアサート される と書き込み操作が完了したこ とになり ます。

cfg_mgmt_di[31:0] 入力 コンフ ィギュレーシ ョ ン データ入力。 書き込みデータをコア内のコンフ ィギュレーシ ョ ン空間に出力するための 32 ビッ トのデータ入力ポートです。

cfg_mgmt_dwaddr[9:0] 入力 コンフ ィ ギュ レーシ ョ ン DWORD ア ド レス。 コンフ ィ ギュレーシ ョ ン レジスタ アクセス中にコンフ ィ ギュレーシ ョ ンレジスタ DWORD アドレスを提供する 10 ビッ ト アドレス入力ポートです。

cfg_mgmt_byte_en[3:0] 入力 コンフ ィ ギュレーシ ョ ン バイ ト イネーブル。 コンフ ィ ギュレーシ ョ ン レジスタの書き込みアクセスのバイ ト イネーブルです。

cfg_mgmt_wr_en 入力 コンフ ィ ギュレーシ ョ ン ラ イ ト イネーブル。 コンフ ィ ギュレーシ ョ ン レジスタ アクセスのライ ト イネーブルです。

cfg_mgmt_rd_en 入力 コンフ ィ ギュレーシ ョ ン リード イネーブル。 コンフ ィ ギュレーシ ョ ン レジスタ アクセスのリード イネーブルです。

Page 27: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 27

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

cfg_mgmt_wr_readonly 入力 マネージメン ト ライ ト ランダム ビッ ト 。 RW ビッ ト と して現在のマネージメン ト ラ イ トの読み出し専用ビッ ト を処理するためのライ ト イネーブルで、属性によ り設定されるビッ ト 、予約ビッ ト 、 ステータス ビッ トは含まれません。

cfg_status[15:0] 出力 コンフ ィギュレーシ ョ ン ステータス。 コンフ ィギュレーシ ョン空間ヘッダーからのステータス レジスタですが、 サポートされていません。

cfg_command[15:0] 出力 コンフ ィギュレーシ ョ ン コマンド。 コンフ ィギュレーシ ョ ン空間ヘッダーからのコマンド レジスタです。

cfg_dstatus[15:0] 出力 コンフ ィギュレーシ ョ ン デバイス ステータス。PCI Express 機能構造からのデバイス ステータス レジスタです。

cfg_dcommand[15:0] 出力 コンフ ィギュレーシ ョ ン デバイス コマンド。PCI Express 機能構造からのデバイス制御レジスタです。

cfg_dcommand2[15:0] 出力 コンフ ィギュレーシ ョ ン デバイス コマンド 2。 PCI Express 機能構造からのデバイス制御レジスタ 2 です。

cfg_lstatus[15:0] 出力 コンフ ィギュレーシ ョ ン リ ンク ステータス。PCI Express 機能構造からのリ ンク ステータス レジスタです。

cfg_lcommand[15:0] 出力 コンフ ィギュレーシ ョ ン リ ンク コマンド。PCI Express 機能構造からのリ ンク制御レジスタです。

cfg_aer_ecrc_gen_en 出力 コンフ ィギュレーシ ョ ン AER - ECRC 生成イネーブル。 AER機能および制御レジスタ ビッ ト 6 です。 このビッ トがアサート されている場合、 ECRC 生成がホス ト によ り イネーブルになっているこ とを示します。

cfg_aer_ecrc_check_en 出力 コンフ ィギュレーシ ョ ン AER - ECRC チェ ッ ク イネーブル。AER 機能および制御レジスタ ビッ ト 8 です。 このビッ トがアサート されている場合、ECRC チェッ クがホス トによ り イネーブルになっているこ とを示します。

cfg_pcie_link_state[2:0] 出力 PCI Express リ ンク ステート :エンコード されたバスによ り PCIExpress リ ンク ステート情報が報告されます。• [000] : L0• [001] : PPM L1

• [010] : PPM L2/L3 準備完了• [011] : PM_PME

• [100] : ASPM L0 への遷移、 または ASPM L0 からの遷移

• [101] : PPM L1 への遷移、 または PPM L1 からの遷移

• [110] : PPM L2/L3 準備完了への遷移

• [111] : 予約済み

cfg_trn_pending 入力 ユーザー ト ランザクシ ョ ンの保留 :アサート されている場合、デバイス ステータス レジスタの ト ランザクシ ョ ン保留ビッ トを設定します。 注記 : ユーザー アプリ ケーシ ョ ンがアップス ト リームの要求に対する完了を受信していない場合にこの入力をアサートする必要があ り ます。

cfg_dsn[63:0] 入力 コンフ ィギュレーシ ョ ン デバイス シ リ アル番号 :デバイスシリ アル番号の拡張機能のシ リ アル番号レジスタ フ ィールドです。

表 2‐15 : コンフ ィギュレーシ ョ ン  インターフェイスの信号 (続き)

名前 方向 説明

Page 28: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 28

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

cfg_pmcsr_pme_en 出力 PMCSR PME イネーブル。 パワー マネージメン ト制御/ステータス レジスタの PME_En ビッ ト (ビッ ト 8) です。

cfg_pmcsr_pme_status 出力 PMCSR PME_Status。 パワー マネージメ ン ト制御/ステータスレジスタの PME_Status ビッ ト (ビッ ト 15) です。

cfg_pmcsr_powerstate[1:0] 出力 PMCSR PowerState。パワー マネージメン ト制御/ステータス レジスタの PowerState ビッ ト (ビッ ト 1:0) です。

cfg_pm_halt_aspm_l0s 入力 ASPM L0 の停止。これがアサート される と コアが ASPM L0 に遷移しなくな り ます。コアが既に L0 に遷移している場合は L0に戻り ますが、 この入力よ り も cfg_pm_force_state が優先されます。

cfg_pm_halt_aspm_l1 入力 ASPM L1 の停止。これがアサート される と コアが ASPM L1 に遷移しなくな り ます。 (1)コアが既に L1 に遷移している場合はL0 に戻り ますが、この入力よ り も cfg_pm_force_state が優先されます。

cfg_pm_force_state[1:0] 入力 PM ステートに強制。 パワー マネージメン ト ステート マシンを目的のステートに残留または遷移させます。

• [00] : L0 に残留または遷移します。 • [01] : PPM L1 に移行または PPM L1 を維持

• [10] : ASPM L0 に残留または遷移します。

• [11] : ASPM L1 に残留または遷移します。 (1)

cfg_pm_force_state_en 入力 PM ステート遷移の強制。cfg_pm_force_state で指定されているよ うに所望のパワー マネージメン ト ステートに遷移または残留 し ます。 所望ス テー ト に遷移 し よ う と し てい る 場合、cfg_pcie_link_state がそのステート に遷移したこ と を示すまでcfg_pm_force_state_en をアサートする必要があ り ます。

cfg_received_func_lvl_rst 出力 ファンクシ ョ ン レベル リセッ トの受信。ファンクシ ョ ン レベルの リ セッ ト が受信されたと き (FLR コンフ ィギュレーシ ョンレジスタがセッ ト されたと き ) を示します。

注記 : この機能はこのコアではサポート されていません。DEV_CAP_FUNCTION_LEVEL_RESET_CAPABLE は常に FALSE に設定されていおり、 このポートは未使用になり ます。

cfg_vc_tcvc_map[6:0] 出力 コンフ ィギュレーシ ョ ン VC リ ソース制御の TC/VC マップ。TC の 1 から 7 が VC0 に対し有効であるかど うかを示します。

cfg_msg_received 出力 メ ッセージ受信。 アクティブ High。 メ ッセージ TLP がリ ンクで受信されたこ とをユーザーに知らせます。

cfg_msg_data[15:0] 出力 メ ッセージ要求者 ID。メ ッセージの要求者 ID が受信されたことを示します。 cfg_msg_received がアサート されている と きにのみ有効です。

注記 :1. ASPM L1 は 7 Series Integrated Block for PCIe ではサポート されません。

表 2‐15 : コンフ ィギュレーシ ョ ン  インターフェイスの信号 (続き)

名前 方向 説明

Page 29: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 29

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

表 2‐16 :機能別のコンフ ィギュレーシ ョ ン  インターフェイスの信号 :エンドポイン ト

名前 方向 説明

cfg_bus_number[7:0] 出力 コンフ ィギュレーシ ョ ン バス番号。デバイスに割り当てられたバス番号です。ユーザー アプリ ケーシ ョンでは出力 TLP リ クエス ト のバス番号フ ィールドにこの情報が必要です。 リセッ ト後のデフォルト値は 00h です。 タイプ 0 のコンフ ィギュレーシ ョ ン書き込みパケッ ト が受信される と常に リ フレ ッシュされます。

cfg_device_number[4:0] 出力 コンフ ィギュレーシ ョ ン デバイス番号。デバイスに割り当てられたデバイス番号です。ユーザー アプリケーシ ョ ンでは出力 TLP リ クエス ト のデバイス番号フ ィールドにこの情報が必要です。 リセッ ト後のデフォル ト値は 00000b です。 タイプ 0 のコンフ ィギュレーシ ョ ン書き込みパケッ ト が受信される と常にリ フレッシュされます。

cfg_function_number[2:0] 出力 コンフ ィギュレーシ ョ ン ファンクシ ョ ン番号。デバイ スに割 り 当てられたフ ァ ン クシ ョ ン番号です。ユーザー アプ リ ケーシ ョ ンでは出力 TLP リ クエスト のフ ァン クシ ョ ン番号フ ィールドにこの情報が必要です。 ファンクシ ョ ン番号は 000b に固定されています。

cfg_to_turnoff 出力 コンフ ィ ギュレーシ ョ ンから電源オフへの切り替え。 PME_TURN_Off メ ッセージが受信されたこ と、CMM が cfg_turnoff_ok 入力を受信し始めたこ と を知らせます。 cfg_turnoff_ok がアサー ト された らCMM は PME_To_Ack メ ッセージをアップス ト リーム デバイスに送信します。

cfg_turnoff_ok 入力 電源オフ OK。 ユーザー アプリ ケーシ ョ ンはこれをアサート し、 エンドポイン トに電源を切っても安全であるこ とを通知します。

cfg_pm_wake 入力 コンフ ィ ギュ レーシ ョ ン パワー マネージ メ ン トウェーク。 1 ク ロ ッ ク サイ クル間アサートする と、コアによ りパワー マネージメン ト ウェーク イベント (PM_PME) メ ッセージ TLP が生成され、アップスト リームのリ ンク パートナーに送信されます。 注記 : cfg_pcie_link_state[2:0] バスに示される安定した リ ンク コンディシ ョ ンのも とでのみ、ユーザー アプ リ ケーシ ョ ンはこの入力をアサー ト する必要があ り ます。PCI Express リ ンクが遷移中にこの信号をアサートする と このリ ンクは誤動作になり ます。

cfg_msg_received_pm_as_nak 出力 パワー マネージメン ト アクティブ ステートの NAKメ ッセージの受信。 PM_AS_NAK メ ッセージがリ ンクで受信されたこ とを示します。

cfg_msg_received_setslotpowerlimit 出力 スロ ッ ト電源制限設定メ ッセージの受信。 スロ ッ ト電源制限設定メ ッセージが リ ン クで受信されたことを示します。 スロ ッ ト電源制限設定メ ッセージのデータは cfg_msg_data 出力に供給されます。

Page 30: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 30

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

表 2‐17 :機能別のコンフ ィギュレーシ ョ ン インターフェイスの信号 :ルート  ポート

名前 方向 説明

cfg_ds_bus_number[7:0] 入力 コンフ ィギュレーシ ョ ン ダウンス ト リーム バス番号 :ダウンス ト リーム ポート のバス番号 (要求者 ID) です。これはコア内で生成された TLP で使用され、AXI4-Stream インターフェイスでの TLP には影響しません。

cfg_ds_device_number[4:0] 入力 コンフ ィギュレーシ ョ ン ダウンス ト リーム デバイス番号 :ダウンス ト リーム ポート のデバイス番号 (要求者 ID) です。これはコア内で生成された TLP で使用され、 ト ランザクシ ョ ン インターフェイスでの TLP には影響しません。

cfg_ds_function_number[2:0] 入力 コンフ ィギュレーシ ョ ン ダウンス ト リーム ファンクシ ョ ン番号 :ダウンス ト リーム ポート のファンクシ ョ ン番号 (要求者ID) です。 これはコア内で生成された TLP で使用され、 ト ランザクシ ョ ン インターフェイスでの TLP には影響しません。

cfg_wr_rw1c_as_rw 入力 RW と してのコンフ ィギュレーシ ョ ン書き込み RW1C ビッ ト 。現在の書き込み操作は RW ビッ ト と して任意の RW1C ビッ トを処理する必要があるこ とを示します。 通常 1 を書き込むとRW1C ビ ッ ト はク リ アにな り、 内部コア コンディ シ ョ ンによってのみ設定できます。しかし、この信号がアサート された状態でコンフ ィ ギュレーシ ョ ン レジスタ アクセスがある間は、cfg_di のすべてのビッ ト (つま り 1) に対し、対応する RW1Cコンフ ィギュレーシ ョ ン レジスタ ビ ッ ト は 1 に設定されます。 この操作中 cfg_di の値が 0 であれば影響はなく、 cfg_di の値に関係な く RW1C ビ ッ ト 以外のビ ッ ト は影響を受けません。

cfg_msg_received_err_cor 出力 ERR_COR メ ッセージの受信。 ア ク テ ィ ブ High。 ERR_CORメ ッセージを受信したこ とを示します。 cfg_msg_received がアサート されている と きにのみ有効です。 このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_err_non_fatal 出力 ERR_NONFATAL メ ッセージの受信。 アクティブ High。ERR_NONFATAL メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_err_fatal 出力 ERR_FATAL メ ッセージの受信。 アクティブ High。ERR_FATAL メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_pm_send_pme_to 入力 コンフ ィギュレーシ ョ ン オフの送信。 このアクティブ Low 入力をアサートする と、 Root Port から Turn Off メ ッセージが送信されます。 リ ンクが Turn Off Ack で応答する と、cfg_msg_received_pme_to_ack に報告され、 L3 Ready への 終遷移が cfg_pcie_link_state に報告されます。 エンドポイン トの場合は 1 に設定します。

cfg_msg_received_err_pme_to_ack 出力 PME_TO_Ack メ ッセージの受信。 アクティブ High。 コアが PME_TO_Ack メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

Page 31: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 31

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

cfg_msg_received_assert_inta 出力 Assert_INTA メ ッセージの受信。 アクティブ High。 コアが Assert_INTA メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_assert_intb 出力 Assert_INTB メ ッセージの受信。 アクティブ High。 コアが Assert_INTB メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_assert_intc 出力 Assert_INTC メ ッセージの受信。 アクティブ High。 コアが Assert_INTC メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_assert_intd 出力 Assert_INTD メ ッセージの受信。 アクティブ High。 コアが Assert_INTD メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_deassert_inta 出力 Assert_INTD メ ッセージの受信。 アクティブ High。 コアが Assert_INTD メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_deassert_intb 出力 Deassert_INTB メ ッセージの受信。 アクティブ High。 コアが Deassert_INTB メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_deassert_intc 出力 Deassert_INTC メ ッセージの受信。 アクティブ High。 コアが Deassert_INTC メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_deassert_intd 出力 Deassert_INTD メ ッセージの受信。 アクティブ High。 コアが Deassert_INTD メ ッセージを受信したこ とを示します。cfg_msg_received がアサート されている と きにのみ有効です。このメ ッセージ ト ランザクシ ョ ンの要求者 ID は cfg_msg_data[15:0] に出力されます。

cfg_msg_received_pm_pme 出力 PME メ ッセージの受信。パワー マネージメン ト イベン ト メ ッセージがリ ンクで受信されたこ とを示します。

表 2‐17 :機能別のコンフ ィギュレーシ ョ ン インターフェイスの信号 :ルート  ポート  (続き)

名前 方向 説明

Page 32: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 32

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

割り込みインターフェイスの信号

表 2-18 は割り込みインターフェイスの信号を定義しています。

表 2‐18 : コンフ ィギュレーシ ョ ン  インターフェイスの信号 :割り込みインターフェイス ‐ エンドポイン トのみ

名前 方向 説明

cfg_interrupt 入力 コンフ ィギュレーシ ョ ン割り込み : 割り込みリ クエス ト信号です。 ユーザー アプリ ケーシ ョ ンがこの入力をアサートすると、 選択された割り込みメ ッセージ タイプがコアによ り送信されます。 この信号は cfg_interrupt_rdy がアサート されるまでHigh に保持する必要があ り ます。

cfg_interrupt_rdy 出力 コンフ ィギュレーシ ョ ン割り込み準備完了 : 割り込み許可信号です。 cfg_interrupt_rdy および cfg_interrupt が同時にアサート される と、 コアが要求された割り込みメ ッセージを正し く送信したこ とにな り ます。

cfg_interrupt_assert 入力 コンフ ィギュレーシ ョ ンの古い割り込みアサート /ディアサート選択 : cfg_interrupt がアサート される とレガシ割り込みに対しアサート /ディアサート メ ッセージを選択します。 MSI 割り込みには使用されません。

値 メ ッセージ タイプ

1 アサート

0 ディアサート

cfg_interrupt_di[7:0] 入力 コンフ ィギュレーシ ョ ン割り込みデータ入力 : MSI の場合、マルチベクター割り込みがイネーブルになっている と、 MSI ベクター番号を示すためエンドポイン トはメ ッセージ データのこの部分を駆動する必要があ り ます。cfg_interrupt_mmenable[2:0] で示される値は、 エンドポイン トが供給する メ ッセージ データの下位ビッ ト を決定します。cfg_interrupt_di[7:0] の残りの上位ビッ トは使用されません。シングル ベクター割り込みの場合、 cfg_interrupt_di[7:0] は使用されません。 レガシ割り込みメ ッセージ (Assert_INTx、Deassert_INTx) に対しては INTA (00h) のみがサポート されています。

cfg_interrupt_do[7:0] 出力 コンフ ィギュレーシ ョ ン割り込みデータ出力 :エンドポイン トの MSI 機能構造のメ ッセージ データ フ ィールドの 8 つの 下位ビッ ト の値です。 この値は情報と下位互換性のために提供されています。

cfg_interrupt_mmenable[2:0] 出力 コンフ ィギュレーシ ョ ン割り込みマルチ メ ッセージ イネーブル :これはマルチ メ ッセージ イネーブル フ ィールドの値で、マルチ ベクター MSI に対しシステムが使用できるベクター数を定義します。 値の範囲は 000b から 101b までです。 値 000bはシングル ベクター MSI がイネーブルの状態を示し、 その他の値は cfg_interrupt_di[7:0] で上書き可能な下位ビッ ト の数を示します。

• [000] : 0 ビッ ト

• [001] : 1 ビッ ト

• [010] : 2 ビッ ト

• [011] : 3 ビッ ト

• [100] : 4 ビッ ト

• [101] : 5 ビッ ト

Page 33: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 33

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

エラー レポート信号

表 2-19 はユーザー アプリ ケーシ ョ ン エラー レポート信号を定義しています。

cfg_interrupt_msienable 出力 コンフ ィギュレーシ ョ ン割り込み MSI イネーブル :MSI メ ッセージがイネーブルになっているこ とを示します。

• [0] : レガシ割り込み (INTX) または MSI-X 割り込みのみを送信できます。

• [1] : MSI 割り込みのみを送信できます。

cfg_interrupt_msixenable 出力 コンフ ィギュレーシ ョ ン割り込み MSI-X イネーブル。 MSI-Xメ ッセージがイネーブルになっているこ とを示します。

• [0] : レガシ割り込み (INTX) または MSI 割り込みのみを送信できます。

• [1] : MSI-X 割り込みのみを送信できます。

cfg_interrupt_msixfm 出力 コンフ ィギュレーシ ョ ン割り込み MSI-X ファンクシ ョ ン マスク。 MSIX メ ッセージ制御フ ィールドのファンクシ ョ ン マスク ビッ クのステート を示します。 0 の場合は各ベク ターのマスク ビッ トがマスキングを決定します。1 の場合は、ベクターごとのマスク ビッ ト ステートに関わらずすべてのベクターがマスク されます。

cfg_pciecap_interrupt_msgnum[4:0] 入力 コンフ ィギュレーシ ョ ン PCIe 機能 - 割り込みメ ッセージ番号。 PCI Express 機能レジスタのメ ッセージ番号フ ィールドを設定します。 MSI のみがイネーブルになっていて、 現在値を無効にするよ うに複数メ ッセージ イネーブル フ ィールドをホス トが調節する場合、 この入力値を調節する必要があ り ます。

cfg_interrupt_stat 入力 コンフ ィギュレーシ ョ ン割り込みステータス。 割り込みインターフェイス入力に基づいて割り込みステータス ビッ トの自動設定がディ スエーブルになっている と き、 この割り込みステータス ビッ トが設定またはク リ アになり ます。

表 2‐19 :ユーザー アプリケーシ ョ ン  エラー レポート信号

ポート名 方向 説明

cfg_err_ecrc 入力 ECRC エラー レポート : ECRC (end-to-end CRC) エラーを報告するためにユーザーがこの信号をアサートできます。

cfg_err_ur 入力 コンフ ィギュレーシ ョ ン エラー サポート されていない要求 :サポー ト されていない要求が受信されたこ と を報告するため に ユ ー ザ ー が こ の 信 号 を ア サ ー ト で き ま す。cfg_err_cpl_rdy がディアサート されている場合は無視されます。

cfg_err_cpl_timeout(1)入力 コンフ ィギュレーシ ョ ン エラー完了タイムアウ ト :完了がタ

イムアウ ト したこ と を報告するためにユーザーがこの信号をアサートできます。

cfg_err_cpl_unexpect 入力 コンフ ィギュレーシ ョ ン エラー予期しない完了 :サポート されない要求が受信されたこ と を報告するためにユーザーがこの信号をアサートできます。

表 2‐18 : コンフ ィギュレーシ ョ ン  インターフェイスの信号 :割り込みインターフェイス ‐ エンドポイン トのみ (続き)

名前 方向 説明

Page 34: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 34

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

cfg_err_cpl_abort 入力 コンフ ィギュレーシ ョ ン エラー完了中止 :完了が中断したこと を報告するためにユーザーがこの信号をアサー ト できます。 cfg_err_cpl_rdy がディアサート されている場合は無視されます。

cfg_err_posted 入力 コンフ ィギュレーシ ョ ン エラーのポス ト :cfg_err_* 入力信号を条件付けるために使用します。 この入力がその他の信号の1 つと同時にアサート される場合、 エラーの発生した ト ランザクシ ョ ンはポス ト されているこ とを示します。

cfg_err_cor(1)入力 コンフ ィギュレーシ ョ ン エラー修正可能エラー :完了が中止

されたこ と を報告するためにユーザーがこの信号をアサートできます。

cfg_err_atomic_egress_blocked 入力 コンフ ィギュレーシ ョ ン エラー AtomicOp Egress のブロ ック。ア ト ミ ッ ク TLP がブロ ッ ク されたこ とを報告するためにユーザーがこの信号をアサートできます。

cfg_err_internal_cor 入力 コンフ ィギュレーシ ョ ン エラー訂正 (内部)。内部エラーが訂正されたこ と を報告するためにユーザーがこの信号をアサートできます。 この入力は AER がイネーブルの場合にのみサンプルされます。

cfg_err_internal_uncor 入力 コンフ ィギュレーシ ョ ン エラー訂正不可能 (内部)。訂正不可能な内部エラーが発生したこ と を報告するためにユーザーがこの信号をアサートできます。 この入力は AER がイネーブルの場合にのみサンプルされます。

cfg_err_malformed 入力 コンフ ィギュレーシ ョ ン エラー不正エラー。不正エラーを報告するためにユーザーがこの信号をアサートできます。

cfg_err_mc_blocked 入力 コンフ ィ ギュレーシ ョ ン エラー マルチキャス ト のブロ ック。マルチキャス ト TLP がブロ ッ ク されたこ とを報告するためにユーザーがこの信号をアサートできます。

cfg_err_poisoned 入力 コンフ ィギュレーシ ョ ン エラー ポイズンド TLP。 ポイズンド TLP が受信されたこ とを報告するためにユーザーがこの信号をアサートできます。 通常属性が DISABLE_RX_POISONED_RESP=TRUE の場合にのみ使用されます。

cfg_err_no_recovery 入力 コンフ ィギュレーシ ョ ン エラー回復不可能。cfg_err_poisonedまたは cfg_err_cpl_timeout 入力信号を条件付けるために使用します。 この入力がこれらの信号の 1 つと同時にアサート されている場合、エラーを引き起こした ト ランザクシ ョ ンは回復できないこ とを示します。完了タイムアウ トの場合は要求を再試行しないよ う選択できます。受信したポイズンド TLPに対しては、 操作を続行できません。 いずれのケースでも、この入力がアサート される と対応するエラーは ANFE とは見なされません。

表 2‐19 :ユーザー アプリケーシ ョ ン  エラー レポート信号 (続き)

ポート名 方向 説明

Page 35: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 35

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

cfg_err_tlp_cpl_header[47:0] 入力 コンフ ィギュレーシ ョ ン エラー TLP 完了ヘッダ : エラー通知があった場合ヘッダー情報を受諾します。 コアが正しい情報を出力するためにこの情報は必要です。

この情報は受信されたエラー TLP から抽出され、次のフォーマッ トである必要があ り ます。

[47:41] 下位アドレス

[40:29] バイ ト カウン ト[28:26] TC

[25:24] 属性

[23:8] 要求者 ID[7:0] タグ

cfg_err_cpl_rdy 出力 コンフ ィギュレーシ ョ ン エラー完了レディ。 この信号がアサート される と、 ノ ンポステッ ド ト ランザクシ ョ ンに対しcfg_err_ur および cfg_err_cpl_abort のアサー ト をコアが受諾できる状態であるこ とを示します。 cfg_err_cpl_rdy がディアサート される と、cfg_err_ur および cfg_err_cpl_abort のアサートは無視されます。

cfg_err_locked 入力 コンフ ィギュレーシ ョ ン エラーのロ ッ ク :cfg_err_* 入力信号を条件付けるために使用します。 この入力がこれらの信号の1 つと同時にアサート されている場合、 エラーの発生した トランザクシ ョ ンはロ ッ ク されているこ とを示します。

このコマンドはレガシ モードで使用します。ロ ッ ク された トランザクシ ョ ンに対しサポー ト されない要求または中断された完了を送信するには、この信号を使用して UR または CAステータスの完了のロ ッ クを返すこ とができます。

注記 : レガシ モードでない場合は、コアは適宜完了のロッ クを自動的に返します。

cfg_err_aer_headerlog[127:0] 入力 コンフ ィギュレーシ ョ ン エラー AER ヘッダ ログ :通知されたエラーに対する AER ヘッダー ログです。

cfg_err_aer_headerlog_set 出力 コンフ ィギュレーシ ョ ン エラー AER ヘッダー ログのセット。 これがアサート されている と、 エラーの AER ヘッダーログがシングル ヘッダー インプ リ メ ンテーシ ョ ンの場合はセッ ト、 マルチ ヘッダー インプ リ メ ンテーシ ョ ンの場合はフルである こ と を示し、 ユーザーがレポー トするエラーのヘッダーは不要です。

cfg_aer_interrupt_msgnum[4:0] 入力 コンフ ィギュレーシ ョ ン AER 割り込みメ ッセージ番号。 この入力は AER 機能 - ルート エラー ステータス レジスタのAER 割り込みメ ッセージ (ルート ポートのみ) 番号フ ィールドを設定します。

AER がイネーブルの場合、MSI または MSIx モードのどちらかイネーブルになっている方に適った値にこの入力を駆動する必要があ り ます。 MSI のみがイネーブルになっていて、現在値を無効にする よ う に複数 メ ッ セージ イネーブルフ ィールドをホス トが調節する場合、 この入力値を調節する必要があ り ます。

表 2‐19 :ユーザー アプリケーシ ョ ン  エラー レポート信号 (続き)

ポート名 方向 説明

Page 36: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 36

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

表 2-20 はルート ポート と してコンフ ィギュレーシ ョ ンされている場合の 7 Series Integrated Block for PCIe のエラーおよびアドバンス エラー レポート ステータスを定義しています。

cfg_err_acs 入力 コンフ ィギュレーシ ョ ン エラー ACS 違反。 ACS 違反が発生したこ と を報告するためにユーザーがこの信号をアサー トできます。

注記 :1. デバイス パワー ステートが D0 である場合にのみこれらの信号をアサート して ください。 D0 以外のパワー ステートでこれら

の信号をアサートする と、PCIe リ ンクでの操作が間違ったものになる可能性があ り ます。詳細は、『PCI Express Base Specificationrev. 2.1』 のセクシ ョ ン 5.3.1.2 を参照して ください。 [参照 2]

表 2‐20 : エラー レポート  インターフェイス ‐ ルート  ポートのみ

名前 方向 説明

cfg_bridge_serr_en 出力 コンフ ィギュレーシ ョ ン ブリ ッジ制御 - SERR イネーブル。 アサート される と、 ブ リ ッジ制御レジスタ ビッ ト 1 で設定されている とおりに、訂正可能なエラー、 非致命的なエラー、 致命的なエラーの送信がイネーブルになり ます。 これらのエラーの送信を必ず行ってください。

cfg_slot_control_electromech_il_ctl_pulse 出力 電気機械的なインターロ ッ クの制御。 スロ ッ ト制御コンフ ィ ギュレーシ ョ ン レジスタの電機械的インターロ ッ ク制御ビッ トが 1 で書き込まれたことを示します。

cfg_root_control_syserr_corr_err_en 出力 訂正可能なエラー イネーブルでのシステム エラー。ルート制御コンフ ィギュレーシ ョ ン レジスタにある訂正可能なエラー イネーブル ビッ ト のシステム エラーのステータスを示します。 これによ りユーザー ロジッ クによってレポー ト された訂正可能なエラーに対しシステム エラーが生成されます。

cfg_root_control_syserr_non_fatal_err_en 出力 非致命的なエラー イネーブルでのシステム エラー。ルート制御コンフ ィギュレーシ ョ ン レジスタにある非致命的なエラー イネーブル ビッ ト のシステム エラーのステータスを示します。 これによ りユーザー ロジッ クによってレポー ト された非致命的なエラーに対しシステム エラーが生成されます。

cfg_root_control_syserr_fatal_err_en 出力 致命的なエラー イネーブルでのシステム エラー。ルー ト制御コンフ ィ ギュレーシ ョ ン レジスタにある致命的なエラー イネーブル ビッ ト のシステム エラーのステータスを示します。 これによ りユーザー ロジッ クによってレポー ト された致命的なエラーに対しシステム エラーが生成されます。

cfg_root_control_pme_int_en 出力 PME 割り込みイネーブル。 ルー ト制御コンフ ィギュレーシ ョ ン レジスタにある PME 割り込みイネーブル ビッ トのステータスを示します。 これによ りユーザー ロジッ クによって受信された PMEメ ッセージに対する割り込みが生成されます。

表 2‐19 :ユーザー アプリケーシ ョ ン  エラー レポート信号 (続き)

ポート名 方向 説明

Page 37: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 37

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

ダイナミ ッ ク  リコンフ ィギュレーシ ョ ン  ポート  インターフェイス

ダイナ ミ ッ ク リ コンフ ィ ギュレーシ ョ ン ポー ト (DRP) インターフェ イスでは、 7 Series FPGAs Integrated Block forPCI Express コアの FPGA コンフ ィギュレーシ ョ ン メモ リ ビッ ト をダイナミ ッ クに変更できます。 これらのコンフ ィギュレーシ ョ ン ビッ トは、このコアの一部と してインスタンシエート される PCIE_2_1 ライブラ リ プリ ミ ティブの属性と して指定し ます。 表 2-21 は DRP インターフェ イ スの信号を定義しています。 使用方法の詳細については、128 ページの 「ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート インターフェイスの使用」 を参照して ください。

cfg_aer_rooterr_corr_err_reporting_en 出力 AER 訂正可能エラーのレポート イネーブル。AERルート エラー コマンド コンフ ィギュレーシ ョ ンレジスタにある AER 訂正可能エラー レポート イネーブル ビッ トのステータスを示します。 これによ りユーザー ロジッ クによってレポー ト された訂正可能なエラーに対し割り込みが生成されます。

cfg_aer_rooterr_non_fatal_err_reporting_en 出力 AER 非致命的エラーのレポート イネーブル。AERルート エラー コマンド コンフ ィギュレーシ ョ ンレジスタにある AER 非致命的エラー レポート イネーブル ビッ トのステータスを示します。 これによ りユーザー ロジッ クによってレポー ト された非致命的なエラーに対し割り込みが生成されます。

cfg_aer_rooterr_fatal_err_reporting_en 出力 AER 致命的エラーのレポー ト イネーブル。 AERルート エラー コマンド コンフ ィギュレーシ ョ ンレジスタにある AER 致命的エラー レポー ト イネーブル ビッ トのステータスを示します。 これによ りユーザー ロジッ クによってレポー ト された致命的なエラーに対し割り込みが生成されます。

cfg_aer_rooterr_corr_err_received 出力 AER 訂正可能エラー メ ッ セージの受信。 AERルート エラー ステータス コンフ ィギュレーシ ョン レジスタにある AER 訂正可能エラー メ ッセージ受信ビッ トのステータスを示します。 このビットは訂正可能なエラーのメ ッセージが受信されたこ とを示します。

cfg_aer_rooterr_non_fatal_err_received 出力 AER 非致命的エラー メ ッ セージの受信。 AERルート エラー ステータス コンフ ィギュレーシ ョン レジスタにある AER 非致命的エラー メ ッセージ受信ビッ トのステータスを示します。 このビットは非致命的なエラーのメ ッセージが受信されたこ とを示します。

cfg_aer_rooterr_fatal_err_received 出力 AER 致命的エラー メ ッセージの受信。 AER ルート エラー ステータス コンフ ィギュレーシ ョ ン レジスタにある AER 致命的エラー メ ッセージ受信ビッ トのステータスを示します。 このビッ トは致命的なエラーのメ ッセージが受信されたこ とを示します。

表 2‐20 : エラー レポート  インターフェイス ‐ ルート  ポートのみ (続き)

名前 方向 説明

Page 38: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 38

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

PCI コンフ ィギュレーシ ョ ン空間

PCI コンフ ィギュレーシ ョ ン空間は表 2-22 に説明するよ うに 3 つの主な要素から構成されています。 これには、次の内容が含まれます。

• レガシ PCI v3.0 タイプ 0/1 コンフ ィギュレーシ ョ ン空間ヘッダー

° エンドポイン ト アプリ ケーシ ョ ンによ り使用されるタイプ 0 コンフ ィギュレーシ ョ ン空間ヘッダー (表 2-23 を参照)

° ルート ポート アプリ ケーシ ョ ンによ り使用されるタイプ 1 コンフ ィギュレーシ ョ ン空間ヘッダー (表 2-24を参照)

• レガシ拡張機能アイテム

° PCIe 機能アイテム

表 2‐21 : ダイナミ ック  リコンフ ィギュレーシ ョ ン  ポート  インターフェイスの信号

?? ?? ??

pcie_drp_clk 入力 PCI Express DRP ク ロ ッ ク。 ほかの DRP 信号すべてのタイ ミ ングはこの信号の立ち上がりエッジを基準と しています。通常、drp_clkhaグローバル ク ロ ッ ク バッファーを使用して駆動されます。 大周波数は該当する7 シ リーズ FPGA データシート に定義されています。

pcie_drp_en 入力 PCI Express DRP データ イネーブル。 この信号がアサート されると、 読み出し または書き込み操作が イ ネーブルにな り ます。drp_dwe がディアサート される と読み出し操作にな り ますが、 そうでない場合は書き込み操作になり ます。ある drp_clk サイクルに対し drp_den が非アクテ ィブの場合、 ほかのすべての入力信号はこの影響は受けません。

pcie_drp_we 入力 PCI Express DRP ライ ト イネーブル。アサート される と、ポートへの書き込み操作がイネーブルになり ます (drp_den を参照)。

pcie_drp_addr[8:0] 入力 PCI Express DRP アドレス バス。 このバスの値は、 書き込まれる /読み出されるセルを指定します。 そのアド レスは drp_den がアテク ィブであるサイクルで示されます。

pcie_drp_di[15:0] 入力 PCI Express DRP データ入力。このバスの値はアドレス指定されたセルに書き込まれるデータです。データは drp_den および drp_dweがアクテ ィブであるサイ クルで現れます。 このデータは、 そのサイ クルの 後にレジスタに取り込まれますが、 実際の書き込みはdrp_drdy が戻される前の不特定の時間に実行されます。

pcie_drp_rdy 出力 PCI Express DRP レディ。 drp_den に対応する信号であ り、 DRP サイ クルが完了し、 次の DRP サイ クルを開始できる こ と を示します。 DRP 読み出しの場合、 drp_drdy がアクティブなサイクルにおいて、drp_clk の立ち上がりエッジで drp_do バスをキャプチャする必要があ り ます。 drp_den がアクティブにな り次のポート サイ クルを開始できる 初のサイ クルは、 drp_drdy がアクティブになるクロ ッ ク サイ クルと同じです。

pcie_drp_do[15:0] 出力 PCI Express DRP データ出力。 drp_den がアクティベート されている と きに drp_dwe が非アクテ ィ ブである場合、 drp_drdy がアクティブになる と きのこのバスの値はアドレス指定されたバスから読み出されるデータです。それ以外の場合、 drp_do[15:0] 上の値は定義されません。

Page 39: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 39

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

° パワー マネージメン ト機能アイテム

° メ ッセージ信号割り込み (MSI) 機能アイテム

° MSI-X 機能アイテム (オプシ ョ ン)

• PCIe 拡張機能

° デバイス シ リ アル番号拡張機能構造 (オプシ ョ ン)

° 仮想チャネル拡張機能構造 (オプシ ョ ン)

° ベンダー別拡張機能構造 (オプシ ョ ン)

° アドバンス エラー レポート拡張機能構造 (オプシ ョ ン)

° サイズ調整可能 BAR 拡張機能構造 (オプシ ョ ン)

コアはレガシ拡張機能アイテムを 4 つまでインプ リ メ ン ト します。 アドレス 0xA8 から 0xFF までの残りのレガシ拡張機能空間は予約されるか、ユーザーが定義できます (エンドポイン ト コンフ ィギュレーシ ョ ンのみ)。 また、 インプリ メン ト されていないオプシ ョ ンの機能構造のロケーシ ョ ンも予約されます。 この空間を使用しない場合、 アドレス範囲が読み出される と きにコアは 0x00000000 を返します。 0xA8 から 0xFF までの範囲にあるユーザー定義可能なロケーシ ョ ンにレジスタをインプ リ メン トする場合、この空間はユーザー アプリ ケーシ ョ ンでインプリ メン トする必要があ り ます。 また、 ユーザー アプ リ ケーシ ョ ンにインプ リ メ ン ト されていないこの範囲内の任意アド レスに対し0x00000000 を返す必要があ り ます。

この機能の使用方法については、第 4 章 「コアのカスタマイズおよび生成」 を参照してください。 この機能を使用した設計については、95 ページの「コンフ ィギュレーシ ョ ン空間レジスタおよびコンフ ィギュレーシ ョ ン インターフェイスを使用したデザイン」 を参照してください。

重要 : オプシ ョ ンで、 コアは PCI Express 拡張機能を 3 つまでインプ リ メン トできます。 残りの PCI Express 拡張機能空間はインプ リ メン ト用に使用できます。

この空間の開始アドレスは、5 つあるオプシ ョ ンの PCIe 拡張機能のどれがインプリ メン ト されているかによって変わり ます。 この空間にレジスタをインプ リ メ ン トする場合は、 空間の開始ロケーシ ョ ンを選択でき、 またこの空間をユーザー アプ リ ケーシ ョ ンにインプ リ メ ン トする必要があ り ます。 この機能の使用方法については、 196 ページの「拡張機能」 を参照して ください。 この機能を使用した設計については、 第 3 章の 「コンフ ィギュレーシ ョ ン空間レジスタおよびコンフ ィギュレーシ ョ ン インターフェイスを使用したデザイン」 を参照して ください。

Page 40: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 40

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

表 2‐22 :一般的な PCI コンフ ィギュレーシ ョ ン空間ヘッダー

31 16 15 0

Device ID Vendor ID 000h

Status コマンド 004h

ク ラス コード リ ビジ ョ ン ID 008h

BIST ヘッダ- ラ ッチ タイマー キャ ッシュ レーン 00Ch

ヘッダー タイプ別

(表 2-23および表 2-24を参照)

010h

014h

018h

01Ch

020h

024h

028h

02Ch

030h

CapPtr 034h

038h

Intr Pin Intr Line 03Ch

PM 機能 NxtCap PM Cap 040h

データ BSE PMCSR 044h

カスタマイズ可能(1)

MSI 制御 NxtCap MSI Cap 048h

メ ッセージ アドレス (下位) 04Ch

メ ッセージ アドレス (上位) 050h

予約済み メ ッセージ データ 054h

マスク ビッ ト 058h

保留ビッ ト 05Ch

PE 機能 NxtCap PE Cap 060h

PCI Express デバイス機能 064h

デバイス ステータス デバイス制御 068h

PCI Express リ ンク機能 06Ch

リ ンク ステータス リ ンク制御 070h

ルート ポートのみ(2)

スロ ッ ト機能 074h

スロ ッ ト ステータス ?????? 078h

ルート機能 ????? 07Ch

ルート ステータス 080h

PCI Express デバイス機能 2 084h

デバイス ステータス 2 デバイス制御 2 088h

PCI Express リ ンク機能 2 08Ch

Page 41: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 41

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

リ ンク ステータス 2 リ ンク制御 2 090h

インプ リ メン ト されていないコンフ ィギュレーシ ョ ン空間 (0x00000000 を返す)

094h-098h

オプシ ョ ン MSlx 制御 NxtCap MSlx Cap 09Ch

テーブル オフセッ ト テーブル

BIR0A0h

PBA オフセッ ト PBABIR

0A4h

予約されたレガシ コンフ ィギュレーシ ョ ン空間 (0x00000000 を返す)

0A8h-0FFh

オプシ ョ ン(3) Next Cap Cap.Ver.

PCI Express 拡張機能 - DSN 100h

PCI Express デバイス シ リ アル番号 (1 番目) 104h

PCI Express デバイス シ リ アル番号 (2 番目) 108h

オプシ ョ ン(3) Next Cap Cap.Ver.

PCI Express 拡張

機能 - VC10Ch

ポート VC 機能レジスタ 1 110h

ポート VC 機能レジスタ 2 114h

ポート VC ステータス ポート VC 制御 118h

VC リ ソース機能レジスタ 0 11Ch

VC リ ソース制御レジスタ 0 120h

VC リ ソース ステータス レジスタ 0 124h

オプシ ョ ン(3) Next Cap Cap.Ver.

PCI Express 拡張機能 - VSEC 128h

ベンダー別ヘッダー 12Ch

ベンダー別 - ループバッ ク コマンド 130h

ベンダー別 - ループバッ ク ステータス 134h

ベンダー別 - エラー カウン ト #1 138h

ベンダー別 - エラー カウン ト #2 13Ch

表 2‐22 :一般的な PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 42: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 42

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

オプシ ョ ン(3)

Next Cap Cap.Ver. PCI Express 拡張機能ID (AER) 140h

訂正不可能エラー ステータス レジスタ 144h

訂正不可能エラー マスク レジスタ 148h

訂正不可能エラー重要度レジスタ 14Ch

訂正可能エラー ステータス レジスタ 150h

訂正可能エラー マスク レジスタ 154h

アドバンス エラー機能および制御レジスタ 158h

ヘッダー ログ レジスタ 1 15Ch

ヘッダー ログ レジスタ 2 160h

ヘッダー ログ レジスタ 3 164h

ヘッダー ログ レジスタ 4 168h

オプシ ョ ン、 ルー

ト ポートのみ(3)

ルート エラー コマンド レジスタ 16Ch

ルート エラー ステータス レジスタ 170h

エラー ソース ID レジスタ 174h

オプシ ョ ン(3)

Next Cap Cap.Ver. PCI Express 拡張機能ID (RBAR) 178h

サイズ調整可能 BAR 機能レジスタ (0) 17Ch

予約済み サイズ調整可能 BAR 制御 (0) 180h

サイズ調整可能 BAR 機能レジスタ (1) 184h

予約済み サイズ調整可能 BAR 制御 (1) 188h

サイズ調整可能 BAR 機能レジスタ (2) 18Ch

予約済み サイズ調整可能 BAR 制御 (2) 190h

サイズ調整可能 BAR 機能レジスタ (3) 194h

予約済み サイズ調整可能 BAR 制御 (3) 198h

サイズ調整可能 BAR 機能レジスタ (4) 19Ch

予約済み サイズ調整可能 BAR 制御 (4) 1A0h

サイズ調整可能 BAR 機能レジスタ (5) 1A4h

予約済み サイズ調整可能 BAR 制御 (5) 1A8h

予約された拡張コンフ ィギュレーシ ョ ン空間 (0x00000000と と もに完了を返す) 1ACh-FFFh

注記 :1. MSI 機能構造は Vivado 統合設計環境 (IDE) での選択内容によって異なり ます。

2. エンドポイン ト コンフ ィギュレーシ ョ ン用に予約 (0x00000000 を返す)

3. PCI Express 拡張コンフ ィギュレーシ ョ ン スペースのレイアウ ト (100h-FFFh) はどのオプシ ョ ン機能がイネーブルになってい

るかによって異な り ます。 この表は 5 つのすべてのオプシ ョ ン拡張機能構造がイネーブルになっている と きの拡張コンフ ィ

ギュレーシ ョ ン空間レイアウ ト を表しています。 詳細は、 102 ページの 「オプシ ョ ンの PCI Express 拡張機能」 を参照してくだ

さい。

表 2‐22 :一般的な PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 43: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 43

PG054 2013 年 12 月 18 日

第 2 章 : 製品仕様

表 2‐23 : タイプ 0 PCI コンフ ィギュレーシ ョ ン空間ヘッダー

31 16 15 0

Device ID Vendor ID 00h

Status コマンド 04h

ク ラス コード リ ビジ ョ ン ID 08h

BIST ヘッダ- ラ ッチ タイマー キャ ッシュ レーン 0Ch

基本アドレス レジスタ 0 10h

基本アドレス レジスタ 1 14h

基本アドレス レジスタ 2 18h

基本アドレス レジスタ 3 1Ch

基本アドレス レジスタ 4 20h

基本アドレス レジスタ 5 24h

カードバス CIS ポインター 28h

Subsystem ID Subsystem Vendor ID 2Ch

拡張 ROM 基本アドレス 30h

予約済み CapPtr 34h

予約済み 38h

Max Lat Min Gnt Intr Pin Intr Line 3Ch

表 2‐24 : タイプ 1 PCI コンフ ィギュレーシ ョ ン空間ヘッダー

31 16 15 0

Device ID Vendor ID 00h

Status コマンド 04h

ク ラス コード リ ビジ ョ ン ID 08h

BIST ヘッダ- ラ ッチ タイマー キャ ッシュ レーン 0Ch

基本アドレス レジスタ 0 10h

基本アドレス レジスタ 1 14h

2 番目のラ ッチ タイ

マー

サブ バス番号 セカンダ リ バス番号 プライマ リ バス番号 18h

セカンダ リ ステータス I/O 制限 I/O ベース 1Ch

メモ リ制限 メモ リ ベース 20h

プリ フェ ッチ可能なメモ リ制限 プリ フェ ッチ可能なメモ リ ベース 24h

プリ フェ ッチ可能なベース上位 32 ビッ ト 28h

プリ フェ ッチ可能な制限上位 32 ビッ ト 2Ch

I/O 制限上位 16 ビッ ト I/O ベース上位 16 ビッ ト 30h

予約済み CapPtr 34h

拡張 ROM 基本アドレス 38h

ブリ ッジ制御 Intr Pin Intr Line 3Ch

Page 44: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 44

PG054 2013 年 12 月 18 日

第 3章

コアを使用するデザインこの章では、 コアを使用してよ り簡単に設計するためのガイ ド ラ インおよび追加情報を紹介します。 7 Series FPGAs IntegratedBlock for PCI Express® のユーザー インターフェ イスの設計手順を説明しますが、 PCI Express ト ランザクシ ョ ン層パケッ ト(TLP) ヘッダー フ ィールドの知識があるこ とを前提と しています。ヘッダー フ ィールドは 『PCI Express Base Specification v2.1』[参照 2]の 「Transaction Layer Specification」 の章で定義されています。

一般的なデザイン  ガイド ライン

ト ランザクシ ョ ン層インターフェイスを使用したデザイン

このセクシ ョ ンでは、64 ビッ トおよび 128 ビッ トの ト ランザクシ ョ ン層インターフェイスを使用したデザインのガイ ド ラインを説明します。

64 ビッ ト  ト ランザクシ ョ ン層インターフェイスを使用したデザイン

AXI4‐Stream インターフェイスでの TLP フォーマッ ト

データは 『PCI Express Base Specification』 [参照 2]で定義されているよ うにビッグ エンディアンの順序で送受信されます。 TLPパケッ トの順序についての詳細は、 『PCI Express Base Specification』 の 「Transaction Layer Specification」 の章を参照してください。 図 3-1 は典型的な 32 ビ ッ ト のア ド レ ス指定可能な メ モ リ 書き込み要求 TLP を説明し ています ( 「Transaction LayerSpecification」 での説明と同様)。

.X-Ref Target - Figure 3-1

図 3‐1 : PCI Express 基本仕様のバイ ト順序

+0

Byte 0 > R Fmtx 0 Type R TC T

DTH

EP AttrAttr AT Length

Byte 4 > Requester ID Tag Last DWBE

1st DWBE

Byte 8 >

Byte 12 >

Address[31:2] R

Data 0

Byte 16 >

Byte 20 >

Data 1

Data 2

Byte 24 > TLP Digest

7 6 5 4 3 2 1 0

+1

7 6 5 4 3 2 1 0

+2

7 6 5 4 3 2 1 0

+3

7 6 5 4 3 2 1 0

R R

Page 45: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 45

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

AXI4-Stream インターフェイスを使用する場合、 パケッ トは 64 ビッ ト データパス全体に配列されます。 図 3-2 は AXI4-Streamインターフェイスの同じパケッ ト例を示しています。 パケッ トのバイ ト 0 は 初の QWORD の s_axis_tx_tdata[31:24] (送信) または m_axis_rx_tdata[31:24] (受信) に、 バイ ト 1 は s_axis_tx_tdata[23:16] または m_axis_rx_tdata[23:16] に出力されます。 パケットのバイ ト 8 は 2 番目の QWORD の s_axis_tx_tdata[31:24] または m_axis_rx_tdata[31:24] に出力されます。 パケッ トのヘッダーセクシ ョ ンは 3 つまたは 4 つの DWORD から構成されていますが、 これは 『PCI Express Base Specification』 のセクシ ョ ン 2.2に説明されているよ うに、 TLP フォーマッ トおよびタイプによって決定されます。

重要 : コアに送信されるパケッ トは、 『PCI Express Base Specification』 の 「Transaction Layer Specification」 の章で指定されているよ うに TLP のフォーマッ ト規則に従う必要があ り ます。

ユーザー アプリ ケーシ ョ ンがそのパケッ トが有効であるこ とを確認しますが、コアはパケッ トが正し く構成されているかど うかをチェッ ク しないため、不正な TLP が送信される可能性があ り ます。TLP の正確なフ ィールドは送信されているパケッ トのタイプによって異なり ます。

出力パケッ トの送信

基本的な TLP 送信操作

7 Series FPGAs Integrated Block for PCI Express コアは次のタイプのパケッ ト を自動的に送信します。

• コンフ ィギュレーシ ョ ン空間要求に対する リモート デバイスへの完了

• 不正に構成されている入力要求、 またはコアで認識されない入力要求に対するエラー メ ッセージ

注記 :認識されない要求の一部、たとえば予期しない完了などは、適切な応答を生成するユーザー アプリ ケーシ ョ ンによってのみ検出されます。

ユーザー アプリ ケーシ ョ ンは次のタイプの出力パケッ ト を生成します。

• メモ リ、 ア ト ミ ッ ク Op、 およびリモート デバイスに対する I/O 要求

• メモ リ読み出し要求など、 ユーザー アプリ ケーシ ョ ンへの要求に対する応答と しての完了

• ユーザーがインプリ メン ト したコンフ ィギュレーシ ョ ン空間要求への応答と しての完了 (イネーブルになっている場合)。これらの要求にはアドレス BFh を超える PCI™ レガシ機能レジスタ、およびアドレス 1FFh を超える PCI Express 拡張機能レジスタが含まれます。

注記 :低電力ステートでのユーザーがインプ リ メン ト したコンフ ィギュレーシ ョ ン空間へのアクセスについては、121 ページの 「パワー マネージメン ト 」 を参照してください。

コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされている場合、 コアは tx_cfg_req をアサートするこ とによ り (1b)、 送信データパスを仲介する内部生成された TLP を保留するこ とをユーザー アプリ ケーシ ョ ンに伝えます。 ユーザー アプリ ケーシ ョ ンには、 tx_cfg_req とは無関係に、 tx_cfg_gnt をアサートするこ とによ り (1b)、 コア生成された TLP を優先させる選択肢があ り ます。 優先させるこ とで、 コア生成された TLP が保留されている間、 ユーザー アプリ ケーシ ョ ンで生成された TLP が送信されなくな り ます。 あるいは、 ユーザー ト ランザクシ ョ ンが完了するまで tx_cfg_gnt をディアサートするこ とによ り (0b)、ユーザー アプ リ ケーシ ョ ンがユーザー アプ リ ケーシ ョ ンで生成された TLP をそのまま優先させる とい う選択肢もあ り ます。ユーザー ト ランザクシ ョ ンが完了する と、 ユーザー アプリ ケーシ ョ ンは 低 1 ク ロ ッ ク サイ クル間 tx_cfg_gnt をアサート し(1b)、 保留されているコア生成された TLP を送信する こ とができます。 要求者側で完了タイムアウ ト になる こ とがあるので

X-Ref Target - Figure 3-2

図 3‐2 : エンドポイン ト統合ブロックのバイ ト順序

AXI Bit 63 32 31 0 AXI Byte

PCIe Byte7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

Clock 0 x 0

Clock 1

+2 +1 +0 +7 +6 +5 +4 +3 +3 +4 +5 +6 +7 +0 +1

Data[31:0] Address [31:2] R

Requester ID Tag Last DW BE Length 1st DW

BE R Fmt Type R TC R T

D E P Attr R

+2

Page 46: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 46

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

tx_cfg_gnt のアサートは無制限に遅らせないでください。完了タイムアウ トについては 『PCI Express Base Specification』 [参照 2]を参照して ください。

統合ブロ ッ クは基本/制限レジスタ上ではフ ィルターを実行しません (ルート ポートのみ)。 フ ィルタ リ ングが必要がど うかはユーザーが決定します。 これらのレジスタは、 コンフ ィギュレーシ ョ ン インターフェイスを介してタイプ 1 コンフ ィギュレーシ ョ ン ヘッダー空間から読み出すこ とができます (95 ページの 「コンフ ィギュレーシ ョ ン空間レジスタおよびコンフ ィギュレーシ ョ ン インターフェイスを使用したデザイン」 を参照)。

17 ページの表 2-10は送信ユーザー アプリ ケーシ ョ ンの信号を定義しています。TLP を送信するには、ユーザー アプリ ケーシ ョンが送信ト ランザクシ ョ ン インターフェイス上で次のイベン ト シーケンスを実行する必要があ り ます。

1. ユーザー アプリ ケーシ ョ ン ロジッ クは s_axis_tx_tvalid をアサート し、 s_axis_tx_tdata[63:0] に 初の TLP QWORD を出力します。 コアが s_axis_tx_tready をアサート している場合は、 QWORD がすぐに受け入れられます。 そ うでない場合は、 コアが s_axis_tx_tready をアサートするまでユーザー アプリ ケーシ ョ ンはこの QWORD を保持する必要があ り ます。

2. ユーザー アプリ ケーシ ョ ンは s_axis_tx_tvalid をアサート し、 この後のクロ ッ ク サイクルで s_axis_tx_tdata[63:0] に 残りのTLP QWORD を出力します (このクロ ッ ク サイ クル中にコアは s_axis_tx_tready をアサート )。

3. ユーザー アプリ ケーシ ョ ンは s_axis_tx_tvalid および s_axis_tx_tlast を 終の QWORD データ と と もにアサート します。終伝送の 8 データ バイ トすべてが有効である場合は、s_axis_tx_tdata[63:0] にこれらが出力され、s_axis_tx_tkeep は 0xFF に駆動されます。 そ うでない場合は、 残り 4 データ バイ トが s_axis_tx_tdata[31:0] に出力され、 s_axis_tx_tkeep は 0x0F に駆動されます。

4. 次のクロ ッ ク サイクルでユーザー アプリ ケーシ ョ ンは s_axis_tx_tdata[63:0] での有効な伝送の終わり を知らせるためにs_axis_tx_tvalid を ディアサート します。

図 3-3 はデータ ペイロードのない 3-DW TLP ヘッダーを図説したもので、32 ビッ トのアドレス指定可能なメモリ読み出し要求を例にしています。 ユーザー アプ リ ケーシ ョ ンが s_axis_tx_tlast をアサー ト する と、 s_axis_tx_tkeep の値が 0x0F にな り、s_axis_tx_tdata[31:0] にのみ有効なデータが含まれているこ とをコアに知らせます。

図 3-4 はデータ ペイロードのない 4-DW TLP ヘッダーを図説したもので、64 ビッ トのアドレス指定可能なメモリ読み出し要求を例にしています。 ユーザー アプ リ ケーシ ョ ンが s_axis_tx_tlast をアサー ト する と、 s_axis_tx_tkeep の値が 0xFF にな り、s_axis_tx_tdata[63:0] に有効なデータが含まれているこ とをコアに知らせます。

X-Ref Target - Figure 3-3

図 3‐3 : ペイロードのない 3‐DW TLP ヘッダー

user_clock_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(tx_err_fwd)s_axis_tx_tuser[1]

(tx_str)s_axis_tx_tuser[2]

(tx_src_dsc)s_axis_tx_tuser[3]

tx_terr_drop

H1H0 --H2

FFh 0Fh

Page 47: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 47

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

図 3-5 はデータ ペイロードのある 3-DW TLP ヘッダーを図説したもので、32 ビッ トのアドレス指定可能なメモリ書き込み要求を例にしています。 ユーザー アプ リ ケーシ ョ ンが s_axis_tx_tlast をアサー ト する と、 s_axis_tx_tkeep の値が 0xFF にな り、s_axis_tx_tdata[63:0] に有効なデータが含まれているこ とをコアに知らせます。

図 3-6 はデータ ペイロードのある 4-DW TLP ヘッダーを図説したもので、64 ビッ トのアドレス指定可能なメモリ書き込み要求を例にしています。 ユーザー アプ リ ケーシ ョ ンが s_axis_tx_tlast をアサー ト する と、 s_axis_tx_tkeep の値が 0x0F にな り、s_axis_tx_tdata[31:0] にのみ有効なデータが含まれているこ とをコアに知らせます。

X-Ref Target - Figure 3-4

図 3‐4 : ペイロードのない 4‐DW TLP ヘッダー

X-Ref Target - Figure 3-5

図 3‐5 : ペイロードのある 3‐DW TLP ヘッダー

user_clk_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(tx_err_fwd)s_axis_tx_tuser[1]

(tx_str)s_axis_tx_tuser[2]

(tx_src_dsc)s_axis_tx_tuser[3]

tx_terr_drop

H1H0 H3H2

FFh

user_clock_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(terr_fwd)s_axis_tx_tuser[1]

(str)s_axis_tx_tuser[2]

(src_dsc)s_axis_tx_tuser[3]

tx_terr_drop

H1H0 D0H2 D2D1 Dn-2Dn-3 DnDn-1

FFh FFh

Page 48: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 48

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

送信インターフェイスでの連続ト ランザクシ ョ ンの出力

帯域幅の利用率を 大限にするため、ユーザー アプリ ケーシ ョ ンは送信 AXI4-Stream インターフェイスで連続して TLP を出力するこ とができます。図 3-7 は送信インターフェイスで出力される連続 TLP を説明しています。ユーザー アプリ ケーシ ョ ンはs_axis_tx_tvalid をアサート した状態のまま、 前の TLP に対する s_axis_tx_tlast をアサート した後の次のクロ ッ ク サイ クルで新しい TLP を出力します。

送信データパスでのソース スロッ トル

ト ランザクシ ョ ン インターフェイスでは、 s_axis_tx_tdata[63:0] に出力するデータがユーザー アプ リ ケーシ ョ ンにない場合、ユーザー アプリ ケーシ ョ ンをスロ ッ トルさせます。この状態が発生する とユーザー アプリ ケーシ ョ ンは s_axis_tx_tvalid をディアサート します。 これはコアの AXI4-Stream インターフェイスに s_axis_tx_tdata[63:0] に出力されているデータを破棄するよ うに指示するものです。図 3-8 はこのソース スロ ッ トルを説明したものです。 この例では、ユーザー アプリ ケーシ ョ ンには各クロ ッ ク サイクルで出力するデータがないため、 これらのサイ クル中に s_axis_tx_tvalid をディアサートする必要があ り ます。

X-Ref Target - Figure 3-6

図 3‐6 : ペイロードのある 4‐DW TLP ヘッダー

X-Ref Target - Figure 3-7

図 3‐7 :送信インターフェイスでの連続ト ランザクシ ョ ン

user_clk_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(terr_fwd)s_axis_tx_tuser[1]

(str)s_axis_tx_tuser[2]

(src_dsc)s_axis_tx_tuser[3]

tx_terr_drop

H1H0 H3H2 D1D0 D3D2 Dn-1Dn-2 --Dn

FFh 0Fh

user_clk_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

H1H0 D0H2 D2D1 D4D3 H1H0 D0H2 D2D1

FFh FFh

TLP1 TLP2

Page 49: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 49

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

送信データパスでのデスティネーシ ョ ン スロッ トル

新しい TLP 用に送信バッファーに空きがない場合、コアの AXI4-Stream インターフェイスは送信ユーザー アプリ ケーシ ョ ンをスロ ッ トルさせます。 ユーザー アプリ ケーシ ョ ンが TLP を出力している速度以上のレートで リ ンク パートナーが入力パケット を処理していない場合にこの状態が発生します。図 3-9 はコアの内部送信バッファーがいっぱいのと きユーザー アプリ ケーシ ョ ンをスロ ッ トルさせる s_axis_tx_tready のディアサート を説明しています。 コアがユーザー アプ リ ケーシ ョ ンをスロ ッ トルさせる必要がある場合は、 現在のパケッ トが完了した後にそれが行われます。 現在のパケッ トの直後に別のパケッ ト を開始する場合は、 tlast の直後にスロ ッ トル状態になり ます。

s_axis_tx_tready をアサー ト する こ とによ り コアの送信 AXI4-Stream インターフェ イ スが TLP の開始を受諾する場合、 PCIExpress デバイス機能レジスタの Max_Payload_Size フ ィールドに含まれている値まで (オフセッ ト 04H) のサイズの完全な TLPを受け入れるこ とができます。 『PCI Express Base Specification』 [参照 2]に準拠した状態を保つには、 PCI Express デバイス制御コン ト ロール レジス タの Max_Payload_Size フ ィールド (オフセッ ト 08H) に違反しないよ う にして く ださい。 コアの送信AXI4-Stream インターフェイスは次のコンディシ ョ ンでのみ s_axis_tx_tready をディアサート します。

• リ ンク パートナーで使用可能なクレジッ ト数がないこ とが原因でパケッ トが送信されていない場合は、コアに十分なバッファーがない。

• tx_cfg_gnt のアサートによ り、 ユーザー アプリ ケーシ ョ ンによ り送信データパスの使用が認められた後、 コアが内部生成された TLP を送信する場合 (コンフ ィ ギュレーシ ョ ン読み出しまたは書き込みのため完了 TLP が送信される、 またはcfg_err インターフェイス上でユーザー アプリ ケーシ ョ ンによ り要求されたよ うにエラー メ ッセージ TLP またはエラー応答がある )。 この後、 コアは内部生成された TLP を送信した後に s_axis_tx_tready をアサートする。

• PCI パワー マネージメン ト機能構造のパワー マネージメン ト制御/ステート レジスタ (オフセッ ト 0x4) のパワー ステートフ ィールドが D0 以外のステートに変更された場合。 この状況が発生する と、 出力中の TLP は完全に受け入れられ、 その後 s_axis_tx_tready がディアサート される。 これによ り コアが D0 以外のパワー ステートにある間はユーザー アプ リ ケーシ ョ ンが新たな ト ランザクシ ョ ンを開始できな くなる。

X-Ref Target - Figure 3-8

図 3‐8 :送信インターフェイスでのソース スロッ トル

X-Ref Target - Figure 3-9

図 3‐9 :送信インターフェイスでのデスティネーシ ョ ン  スロッ トル

user_clk_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_asix_tx_tkeep[7:0] FFh

user_clock_out

s_axis_tx_tdata [63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

tx_buf_av[5:0] 0d 1d 0d 1d 0d

TLP1 TLP2

New Buffer Available New Buffer Available

Page 50: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 50

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

コアによ り s_axis_tx_tready がディアサート される と、 ユーザー アプリ ケーシ ョ ンはコアが s_axis_tx_tready をアサートするまで、 すべての制御およびデータ信号を保持する必要があ り ます。

ソースによる ト ランザクシ ョ ン送信の停止

コアの AXI4-Stream インターフェイスは s_axis_tx_tuser[3](tx_src_dsc) をアサートするこ とによ りユーザー アプリ ケーシ ョ ンのTLP の送信を停止します。停止する TLP の tx_src_dsc と と もに s_axis_tx_tvalid と s_axis_tx_tready の両方をアサートする必要があ り ます。 信号 tx_src_dsc を新しいパケッ トの先頭でアサート しないでください。 これは、 コアによ り新しいパケッ トの 初のビートが受信された後、s_axis_tx_tlast をアサートするまで (アサート時を含めて)、どのサイ クルでもアサートできます。TLPト ラ ンザクシ ョ ンが送信インターフェ イ スで処理されていない場合は、 src_dsc をアサー ト しても何の影響もあ り ません。図 3-10 は tx_src_dsc を使用してユーザー アプ リ ケーシ ョ ンがパケ ッ ト を停止する状態を説明しています。 オプシ ョ ンでs_axis_tx_tlast を使用して src_dsc をアサートできます。

ス ト リーミ ング モードが使用されておらず、 s_axis_tx_tuser[2] = 0b (tx_str) で、パケッ トが停止されている場合は、 シ リ アル リンクで送信される前にこのパケッ トは破棄されます。 ス ト リーミ ング モードが使用されている と (tx_str = 1b)、 パケッ トはシリ アル リ ンクで EDB シンボルと と もに送信されます。

X-Ref Target - Figure 3-10

図 3‐10 :送信インターフェイスでのソース ド リブンのト ランザクシ ョ ンの停止

user_clock_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(tx_src_dsc) s_axis_tx_tuser[3]

H1H0 D0H2 D2D1 D4D3

FFh

Page 51: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 51

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

デステ ィネーシ ョ ンによる ト ランザクシ ョ ンの破棄

次の 3 つの理由からコア送信 AXI4-Stream インターフェイスは TLP を破棄します。

• PCI Express リ ンクがダウンする。

• 出力された TLP が PCI Express デバイス機能レジスタの Max_Payload_Size フ ィールドで違反になる (オフセッ ト 04H)。 デバイス機能レジスタの Max_Payload_Size フ ィールドで違反が発生しないよ うにして ください (オフセッ ト 08H)。

• s_axis_tx_tuser[2](tx_str) がアサート されていて、 それに続く クロ ッ ク サイクルでデータが出力されていない。 つま り TLP送信の真っ 中に s_axis_tx_tvalid がディアサート される。

上記のコンディシ ョ ンのいずれかが発生する と、送信 AXI4-Stream インターフェイスは出力された TLP の残り を受け入れ続け、破棄された TLP の s_axis_tx_tlast に続く 2 番目のクロ ッ ク サイクルの前に tx_err_drop をアサート します。図 3-11 は tx_err_dropを使用してパケッ トが破棄されたこ とをコアに知らせている状態を説明したものです。

送信 AXI4-Stream インターフェイスでのパケッ ト データ ポイズン

送信された TLP のデータ ペイロードをポイズンドにマークするためユーザー アプリ ケーシ ョ ンは次のいずれかのアプローチを取り ます。

• TLP ヘッダーで EP = 1 と設定する。AXI4-Stream インターフェイス上でヘッダーの 初の DWORD がコアに出力されたとき、 ペイロードがポイズンド状態である と分かっている場合は、 この方法が採用されます。

• 図 3-12 にあるよ うに、 パケッ ト送信中の任意時に有効なデータ送信サイ クルの 低 1 サイ クル間、s_axis_tx_tuser[1](tx_err_fwd) をアサートする。 これで、 コアが PCI Express デバイスにパケッ ト を送信する と きに TLP ヘッダーが EP = 1 に設定されます。 パケッ ト送信開始時にパケッ トがポイズンドになっているかど うかユーザー アプリケーシ ョ ンでは確認できない場合、 この方法が採用されます。 s_axis_tx_tuser[2](tx_str) がアサート されている場合は (送信パケッ トがス ト リームされている状態)、 terr_fwd の使用はサポート されていません。 ス ト リーミ ング モードでは、 パケッ トが破損した場合にパケッ ト を中断するオプシ ョ ンがあ り ます。 パケッ トの中断については、 50 ページの 「ソースによる ト ランザクシ ョ ン送信の停止」 を参照して ください。

ECRC が使用されている場合は、エラー転送に TLP の EP ビッ ト を設定する代わりに、TLP に対し src_dsc(s_axis_tx_tuser[3]) ブロ ッ ク入力をアサートするこ とによ り、エラーのある TLP を無効にし、cfg_err インターフェイスを使用してエラーをレポートする必要があ り ます。

X-Ref Target - Figure 3-11

図 3‐11 :送信インターフェイスのデスティネーシ ョ ンによる ト ランザクシ ョ ンの破棄

user_clk_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(tx_src_dsc)s_axis_tx_tuser[3]

tx_terr_drop

H1H0 D0H2 --D1 H1H0 D0H2 --D1

FFh 0Fh FFh 0Fh

Dropped TLP Valid TLP

Page 52: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 52

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

送信インターフェイスでのト ランザクシ ョ ンのスト リーミング モード

7 Series FPGAs Integrated Block for PCI Express コアでは、操作のレイテンシを低減するため、TLP 送信にス ト リーミ ング モードをユーザー アプリ ケーシ ョ ンで使用できます。 この機能を使用するには、 TLP が送信されている間中ずっと、 ユーザー アプリ ケーシ ョ ンは s_axis_tx_tuser[2](tx_str) をアサート した状態を保持する必要があ り ます。 また、 ユーザー アプリ ケーシ ョ ンは有効なフレームを TLP の 終サイ クルまで毎クロ ッ ク サイ クル出力する必要があ り ます。 つま り、 TLP が出力されている間ユーザー アプリ ケーシ ョ ンは s_axis_tx_tvalid をディアサート してはいけないとい う こ とです。 ス ト リーミ ング モードで操作している間ト ランザクシ ョ ンがソース スロ ッ トルになる と、 その ト ランザクシ ョ ンは破棄され (tx_err_drop がアサート される)、 無効になった TLP が PCI Express リ ンク上で通知されます。 図 3-13 はス ト リーミ ング モードで 初の TLP がス ト リームされ、 2 番目の TLP がソース スロ ッ トルのために破棄される状態を説明したものです。

ECRC 生成の使用

統合ブロ ッ クでは ECRC 生成がサポート されています。 この機能を使用するには、 送信 AXI4-Stream インターフェイス上でTLP の先頭でユーザー アプリ ケーシ ョ ンが s_axis_tx_tuser[0](tx_ecrc_gen) をアサートする必要があ り ます。 必要であればこのパケッ トが送信される間はこの信号をアサートするこ とができます。出力 TLP にダイジェス トがない場合は、 コアがそれを生成・追加して、 TD ビッ ト を設定します。 パケッ トの 後に s_axis_tx_tready を 1 ク ロ ッ ク サイ クル ディアサートする と、 ダイジェス トが挿入されます。 図 3-14 では ECRC 生成が説明されています。

X-Ref Target - Figure 3-12

図 3‐12 :送信インターフェイスでのパケッ ト  データ  ポイズン

X-Ref Target - Figure 3-13

図 3‐13 :送信インターフェイスでのスト リーミング モード

user_clk_out

s_axis_tx_tdata[63:0]

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(tx_err_fwd)s_axis_tx_tuser[1]

FFh FFh 0Fh

Poisoned TLP

user_clk_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(tx_str)s_axis_tx_tuser[2]

tx_terr_drop

FFh FFh FFh

TLP1 TLP2

Page 53: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 53

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

入力パケッ トの受信

基本的な TLP 受信操作

19 ページの表 2-11は受信 AXI4-Stream インターフェイスの信号を定義しています。 エンドポイン ト コアがユーザー アプ リケーシ ョ ン ロジッ クに TLP を出力するよ うにするには、受信 AXI4-Stream インターフェイス上で次のシーケンスでイベン トが発生する必要があ り ます。

1. ユーザー アプリ ケーシ ョ ンでデータ受信の準備が完了する と、ユーザー アプリ ケーシ ョ ンが m_axis_rx_tready をアサートします。

2. コアでデータ送信の準備が完了する と、 コアは m_axis_rx_tvalid をアサート し、 m_axis_rx_tdata[63:0] に 初の完全な TLPQWORD を出力します。

3. コアは m_axis_rx_tvalid をアサート した状態を保ち、 後続のクロ ッ ク サイ クルで m_axis_rx_tdata[63:0] に TLP QWORD を出力します (ユーザー アプリ ケーシ ョ ン ロジッ クが m_axis_rx_tready をアサートする場合)。

4. この後、 コアは m_axis_rx_tlast と と もに m_axis_rx_tvalid をアサート し、 s_axis_tx_tdata[63:0] に 終 QWORD、m_axis_rx_tkeep に 0xFF を出力するか、 または s_axis_tx_tdata[31:0] に 終 DWORD 、 m_axis_rx_tkeep に 0x0F を出力します。

5. 次のクロ ッ ク サイ クルで TLP がない場合、 m_axis_rx_tdata[63:0] での有効な伝送の終わり を知らせるため、 コアがm_axis_rx_tvalid をディアサート します。

注記 : m_axis_rx_tvalid が同時にアサート されていない限り、 ユーザー アプ リ ケーシ ョ ンは m_axis_rx_tlast、 m_axis_rx_tkeep、m_axis_rx_tdata のアサート をすべて無視する必要があ り ます。 m_axis_rx_tvalid がパケッ トの途中でディアサート されるこ とはあ り ません。

図 3-15 はデータ ペイロードのない 3-DW TLP ヘッダーを図説したもので、 32 ビッ トのアドレス指定可能なメモリ読み出し要求を例にしています。 コアが m_axis_rx_tlast をアサートする と、 m_axis_rx_tkeep の値が 0x0F になり、 m_axis_rx_tdata[31:0] にのみ有効なデータが含まれているこ とをユーザー アプリ ケーシ ョ ンに知らせます。

X-Ref Target - Figure 3-14

図 3‐14 : ECRC 生成

user_clk_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(tx_ecrc_gen) s_axis_tx_tuser[0]

H1H0 D0H2 D2D1 D4D3 H1H0 D0H2 D2D1

FFh FFh

TLP1 TLP2

Page 54: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 54

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

図 3-16 はデータ ペイロードのない 4-DW TLP ヘッダーを図説したもので、 64 ビッ トのアドレス指定可能なメモリ読み出し要求を例にしています。 コアが m_axis_rx_tlast をアサートする と、 m_axis_rx_tkeep の値が 0xFF になり、 m_axis_rx_tdata[63:0] に有効なデータが含まれているこ とをユーザー アプリ ケーシ ョ ンに知らせます。

図 3-17 はデータ ペイロードのある 3-DW TLP ヘッダーを図説したもので、 32 ビッ トのアドレス指定可能なメモリ書き込み要求を例にしています。 コアが m_axis_rx_tlast をアサートする と、 m_axis_rx_tkeep の値が 0xFF になり、 m_axis_rx_tdata[63:0] に有効なデータが含まれているこ とをユーザー アプリ ケーシ ョ ンに知らせます。

X-Ref Target - Figure 3-15

図 3‐15 :ペイロードのない 3‐DW TLP ヘッダー

X-Ref Target - Figure 3-16

図 3‐16 :ペイロードのない 4‐DW TLP ヘッダー

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

m_axis_rx_tkeep[7:0]

(rx_err_fwd) m_axis_rx_tuser[1]

(rx_bar_hit[7:0]) m_axis_rx_tuser[9:2]

H1H0 --H3

FFh 0Fh

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

m_axis_rx_tkeep[7:0]

(rx_err_fwd) m_axis_rx_tuser[1]

(rx_bar_hit[7:0]) m_axis_rx_tuser[9:2]

H1H0 H3H2

FFh

Page 55: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 55

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

図 3-18 はデータ ペイロードのある 4-DW TLP ヘッダーを図説したもので、 64 ビッ トのアドレス指定可能なメモリ書き込み要求を例にしています。 コアが m_axis_rx_tlast をアサートする と、 m_axis_rx_tkeep の値が 0x0F になり、 m_axis_rx_tdata[31:0] にのみ有効なデータが含まれているこ とをユーザー アプリ ケーシ ョ ンに知らせます。

受信 AXI4-Stream インターフェイスでのデータパスのスロッ トル

ユーザー アプリ ケーシ ョ ンは m_axis_rx_tready をディアサートするこ とによ り、 任意時にコアからのデータ伝送を中断できます。伝送処理中ではないと きにユーザー アプリ ケーシ ョ ンが m_axis_rx_tready をディアサート し、 また TLP が利用可能になったら、 コアは m_axis_rx_tvalid をアサート し、 m_axis_rx_tdata[63:0] に 初の TLP QWORD を出力します。 m_axis_rx_tdata[63:0]に出力されたデータを受け入れる準備ができたこ とを知らせるためユーザー アプリ ケーシ ョ ンが m_axis_rx_tready をアサートするまで、 コアはこのステートに留ま り ます。 この時点で、 m_axis_rx_tready がアサート された状態である限り、 コアは後続のTLP QWORD を続けて出力します。データ伝送中にユーザー アプリ ケーシ ョ ンが m_axis_rx_tready をディアサートする と、ユーザー アプ リ ケーシ ョ ンが再び m_axis_rx_tready をアサートするまで、 コアはデータ伝送を中止します。 ユーザー アプ リ ケーシ ョ ンが m_axis_rx_tready をディアサート した状態を保つサイ クル数に制限はあ り ません。 ユーザー アプリ ケーシ ョ ンが再びTLP を受信できる準備が整う までコアは停止します。

図 3-19 は m_axis_rx_tdata[63:0] にデータを出力しながら m_axis_rx_tvalid をアサートするコアを説明しています。 ユーザー アプリ ケーシ ョ ン ロジッ クは、 m_axis_rx_tready をディアサートするこ とで待機ステート を挿入します。 コアは m_axis_rx_treadyのアサート を検出するまで、 次の TLP QWORD を出力しません。 ユーザー アプリ ケーシ ョ ン ロジッ クは、 ロジッ ク内の TLPデータ処理速度と次の TLP 伝送の受信とのバランスを取るこ とが必要なため、m_axis_rx_tready をアサート した り、ディアサート します。

X-Ref Target - Figure 3-17

図 3‐17 : ペイロードのある  3‐DW TLP ヘッダー

X-Ref Target - Figure 3-18

図 3‐18 :ペイロードのある  4‐DW TLP ヘッダー

user_clock_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

m_axis_rx_tkeep[7:0]

(rx_err_fwd)m_axis_rx_tuser[1]

(rx_bar_hit[7:0])m_axis_rx_tuser[9:2]

H1H0 D0H2 D2D1 D4D3

FFh

00000010b

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

m_axis_rx_tkeep[7:0]

(rx_err_fwd)m_axis_rx_tuser[1]

(rx_bar_hit[7:0])m_axis_rx_tuser[9:2]

rx_np_ok

H1H0 H3H2 D1D0 --D2

FFh 0Fh

00110000b

Page 56: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 56

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

受信インターフェイスでの連続ト ランザクシ ョ ンの受信

ユーザー アプリ ケーシ ョ ン ロジッ クは、 コアによ り受信 AXI4-Stream インターフェイスで連続 TLP を出力できるよ うに設計する必要があ り ます。 コアは、 前の TLP に対する m_axis_rx_tlast のアサートの後のクロ ッ ク サイ クルで新しい TLP に対するm_axis_rx_tvalid をアサートできます。 図 3-20 は受信インターフェイスで出力される連続 TLP を説明しています。

ユーザー アプリ ケーシ ョ ンが連続パケッ ト を受信できない場合は、 「受信 AXI4-Stream インターフェイスでのデータパスのスロ ッ トル」で説明したよ うに、m_axis_rx_tready をディアサートするこ とによ り、TLP の伝送を停止するこ とができます。図 3-21は 2 番目の TLP の受信を停止するための m_axis_rx_tready の使用例です。

受信インターフェイスでのパケッ トの再順序付け

コア レシーバーでのト ランザクシ ョ ン処理は 『PCI Express Base Specification』 [参照 2]の第 2 章で説明されている PCI ト ランザクシ ョ ン順序ルールに完全に準拠しています。 この順序ルールによ り、 ポステッ ド TLP および完了 TLP がブロ ッ ク されている ノンポステッ ド TLP をバイパスできるよ うになっています。

X-Ref Target - Figure 3-19

図 3‐19 :受信 TLP をスロッ トルさせるユーザー アプリケーシ ョ ン

X-Ref Target - Figure 3-20

図 3‐20 :連続ト ランザクシ ョ ンの受信

X-Ref Target - Figure 3-21

図 3‐21 :連続 TLP をスロッ トルさせるユーザー アプリケーシ ョ ン

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

TLP1 TLP2

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

m_axis_rx_tkeep[7:0] FFh 0Fh

TLP1 TLP2

Page 57: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 57

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ユーザー アプリ ケーシ ョ ンが受信側のノンポステッ ド バッファーの空きを管理できるよ うに、このコアは 2 つの管理方法を提供しています。

1. 受信ノンポステッ ド スロ ッ トル : rx_np_ok を使用し、 この信号がディアサート された後ノンポステッ ド要求が 3 つ以上コアから出力されないよ うにします。

2. ノンポステッ ドに対する受信要求 : rx_np_req を使用し、 ノンポステッ ド キューのユーザー制御されたフロー コン ト ロールを可能にします。

受信ノンポステッ ド スロ ッ トルによる管理方法では、 ノンポステッ ド TLP に対しユーザー アプリ ケーシ ョ ンのレシーバーに空きがあ り、ユーザー アプリ ケーシ ョ ンがノンポステッ ド要求に対しコアをスロ ッ トルさせます。 ノンポステッ ドに対する受信要求による管理方法は、 ユーザー アプ リ ケーシ ョ ンのレシーバーに空きがある と きに、 ノンポステッ ド TLP をコアが出力するよ うにユーザー アプリ ケーシ ョ ンが要求します。 この 2 つの方法は相互排他的で、デザインに対しどちらか 1 つだけを選択し、 コアを生成 ・ カスタマイズする と きに選択する必要があ り ます。 [Receive Non-Posted Request] のオプシ ョ ンを [AdvancedSettings] で選択する と、 ノンポステッ ドに対する受信要求の方法が有効となり、 rx_np_ok のアサート /ディアサートは無視されます。 逆もまた同じです。 この 2 つの方法については続くセクシ ョ ンで詳細に説明します。

• 受信ノンポステッ ド スロ ッ トル (ノンポステッ ドに対する受信要求が無効になっている状態)

ユーザー アプ リ ケーシ ョ ンがコアからのポステッ ドおよび完了ト ランザクシ ョ ンを受信できる状態であるが、 ノンポステ ッ ド ト ラ ンザクシ ョ ンを受信する準備が整っていない場合、 ユーザー アプ リ ケーシ ョ ンは図 3-22 にある よ う にrx_np_ok をディ アサー ト できます。 ユーザー アプ リ ケーシ ョ ンは、 受信可能な 後から 2 番目のノ ンポステ ッ ドのm_axis_rx_tlast の前、 低 2 ク ロ ッ ク サイ クルで rx_np_ok をディアサートする必要があ り ます。 rx_np_ok がディアサートされている間、 受信されたポステッ ドおよび完了ト ランザクシ ョ ンはノンポステッ ド ト ランザクシ ョ ンをバイパスします。 ユーザー アプリ ケーシ ョ ンがノンポステッ ド ト ランザクシ ョ ンの受信準備完了状態になったら、 rx_np_ok を再びアサートする必要があ り ます。前にバイパスしたノンポステッ ド ト ランザクシ ョ ンは、ほかの受信された TLP よ り先にユーザー アプ リ ケーシ ョ ンに出力されます。 rx_np_ok のディアサート時間に制限はあ り ませんが、 rx_np_ok を長時間ディアサート しないよ う注意が必要です。 長くディアサートする と要求者側で完了タイムアウ トが発生する可能性があるからです。 完了タイムアウ トについては 『PCI Express Base Specification』 を参照してください。

パケッ トの再順序付けによ り、 ユーザー アプリ ケーシ ョ ンは、非ブロ ッキング形式でポステッ ドおよび完了 TLP の受信・処理を継続しながら、 ノンポステッ ド TLP が処理される速度を 適化できるよ うにな り ます。 rx_np_ok 信号に対し制限があ り、 ユーザー アプリ ケーシ ョ ンは少な く と も 3 つのノンポステッ ド TLP を受信しバッファー化できなければな り ません。 次のアルゴ リズムは、 ノンポステッ ド TLP の管理プロセスを記述しています。

Non-Posted_Buffers_Available は、ユーザー アプリ ケーシ ョ ンに対する ノンポステッ ド バッファーの空き容量を示しています。ノンポステッ ド バッファーのサイズはノンポステッ ド TLP 3 つ分よ り も大き くな り ます。Non-Posted_Buffers_Availableは、ノンポステッ ド TLP がコアの処理用に受信される とデク リ メン ト し、ノンポステッ ド TLP がユーザー アプリ ケーシ ョンの処理用に送信される と インク リ メン ト します。

For every clock cycle do {if (Non-Posted_Buffers_Available <= 3) {if (Valid transaction Start-of-Frame accepted by user application) {Extract TLP Format and Type from the 1st TLP DWif (TLP type == Non-Posted) {

X-Ref Target - Figure 3-22

図 3‐22 :受信インターフェイスのノンポステッ ド  スロッ トル

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

rx_np_ok

H1H0 H3H2 H1H0 H3H2 H1H0 D0H2

Non-Posted TLP1 Non-Posted TLP2 Posted/Cpl TLP3

Page 58: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 58

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

Deassert rx_np_ok on the following clock cycle- or -Other optional user policies to stall NP transactions

} else {}

}} else { // Non-Posted_Buffers_Available > 3Assert rx_np_ok on the following clock cycle.

}}

• ノンポステッ ドに対する受信要求 (ノンポステッ ドに対する受信要求のオプシ ョ ンが有効になっている場合)

7 Series FPGAs Integrated Block for PCI Express では、 ユーザー アプ リ ケーシ ョ ンが rx_np_req を使用してノンポステッ ドキューに対しフロー制御クレジッ ト を返すこ とができます。ユーザー アプリ ケーシ ョ ンのレシーバーにノンポステッ ド トランザクシ ョ ンを受信するスペースがある場合、ユーザー アプリ ケーシ ョ ンで受信可能なノンポステッ ド ト ランザクシ ョンそれぞれに対し 1 ク ロ ッ クサイ クル間 rx_np_req をアサートする必要があ り ます。 これによ り、 統合ブロ ッ クはレシーバーからのノンポステッ ド ト ランザクシ ョ ンをコア ト ランザクシ ョ ン インターフェイスに出力でき (図 3-23 を参照)、 接続されている リ ンク パートナーへノンポステッ ド クレジッ ト を返すこ とができるよ うにな り ます。

ユーザー アプリ ケーシ ョ ンからのノンポステッ ド要求は 高 12 個までコアに記録されます。 つま り、 受信バッファーにノンポステッ ド TLP がなくてもコアは rx_np_req のアサート を記憶しており、 またユーザー アプリ ケーシ ョ ンが前に要求を出していた場合はユーザー アプ リ ケーシ ョ ンで受信された ノ ンポステッ ド TLP を出力します。 ユーザー アプ リ ケーシ ョ ンからの要求で未処理のものがコアにあ り、 受信されたノンポステッ ド TLP が受信バッファーで待機中である場合、受信されたポステッ ドおよび完了ト ランザクシ ョ ンが待機中のノンポステッ ド ト ランザクシ ョ ンを飛び越して送信されます。

ユーザー アプリ ケーシ ョ ンがノンポステッ ド TLP の受信準備完了状態になる と、 rx_np_req を 1 ク ロ ッ ク サイクル以上アサートする と、 待機中のノンポステッ ド TLP が次の TLP 境界で送信されます。 つま り、 待機中のノンポステッ ド TLP がユーザー アプリ ケーシ ョ ンに出力される前に、 ユーザー アプリ ケーシ ョ ン インターフェイスにあるポステッ ド または完了 TLP は完了します。 ポステッ ドまたは完了 TLP がなく、 ノンポステッ ド TLP が待機中であれば、 rx_np_req をアサートする と、 そのノンポステッ ド TLP がユーザー アプリ ケーシ ョ ンに出力されます。 ノンポステッ ド TLP がスロ ッ トルしている場合を除き、 TLP は順番どおりにユーザー アプリ ケーシ ョ ンに送信され、 ポステッ ドおよび完了 TLP が飛び越して送信されるよ うにな り ます。 ユーザー アプ リ ケーシ ョ ンが再びノンポステッ ド TLP を受信できるよ うになったら、 後続のポステッ ド または完了 TLP は順番どおりに送信されます。 ユーザー アプ リ ケーシ ョ ンが受信した順序でノンポステッド ト ランザクシ ョ ンをすべて受信でき、またノンポステッ ド キューに対しフロー制御クレジッ ト を返さない場合は、この信号をアサート した状態を維持します。

X-Ref Target - Figure 3-23

図 3‐23 : ノンポステッ ド  ト ランザクシ ョ ンに対する受信インターフェイス要求

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

rx_np_req

H1H0 D0H2 D2D1 D4D3 H1H0 --H2 H1H0 D0H2 D2D1 H1H0 --H2 H1H0 --H2

Posted TLP1 Non-Posted TLP2 Posted/Cpl TLP3 Non-Posted TLP4 Non-Posted TLP5

Page 59: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 59

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

64 ビッ ト受信 AXI4-Stream インターフェイスでのパケッ ト データ ポイズンとおよび TLP ダイジェスト

ユーザー アプリ ケーシ ョ ン内のロジッ クを簡素化するため、受信された TLP のTLP ダイジェス ト (TD) およびデータ ポイズン(EP) ヘッダー ビッ ト フ ィールドの値に基づいて、 コアは自動的に前処理を実行します。

ヘッダーのデータ ポイズン ビッ トが EP=1 に設定された状態で受信された TLP すべてがユーザー アプリ ケーシ ョ ンに出力されます。 図 3-24 にあるよ うに、 各ポイズンド TLP の伝送中にコアは (rx_err_fwd) m_axis_rx_tuser[1] をアサート します。

TLP ヘッダーの TLP ダイジェス ト フ ィールドが TD=1 に設定されている場合、 その TLP には ECRC (End-to-End CRC) が含まれています。コア生成時のコア コンフ ィギュレーシ ョ ン方法に基づいて、コアはこれらの操作を実行します。[Trim TLP Digest]のオプシ ョ ン :

• オンの場合、 コアは受信された TLP から ECRC フ ィールドを削除 ・ 破棄し、 TLP ヘッダーの TLP ダイジェス ト ビッ ト をク リ アにします。

• オフの場合、 コアは受信された TLP から ECRC フ ィールドを削除せず、 TLP ダイジェス ト ビッ ト を含む TLP 全体をユーザー アプリ ケーシ ョ ンの受信インターフェイスに出力します。

コア生成中に [Trim TLP Digest] オプシ ョ ンをオンにする方法については、 198 ページの 「ECRC」 を参照してください。

64 ビッ ト受信 AXI4-Stream インターフェイスでの ECRC エラー

7 Series FPGAs Integrated Block for PCI Express コアで ECRC チェッ クが有効になっている と、 コアは入力ト ランザクシ ョ ン パケッ トに対し ECRC を実行します。 ト ランザクシ ョ ン パケッ トに ECRC エラーが検出される と、 図 3-25 にあるよ うに、 コアは m_axis_rx_tuser[0] (rx_ecrc_err) および m_axis_rx_tlast を同時にアサート してこのエラーを知らせます。

X-Ref Target - Figure 3-24

図 3‐24 :受信ト ランザクシ ョ ン  ‐ データ  ポイズン

X-Ref Target - Figure 3-25

図 3‐25 : 64 ビッ ト受信 AXI4‐Stream インターフェイスでの ECRC エラー

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

m_axis_rx_tkeep[7:0]

(rx_err_fwd) m_axis_rx_tuser[1]

FFh FFh

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

m_axis_rx_tkeep[7:0]

(rx_ecrc_err) m_axis_rx_tuser[0]

FFh FFh

Page 60: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 60

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

受信 AXI4-Stream インターフェイスでのパケッ ト基本アドレス レジスタ ヒ ッ ト

ルート ポート コンフ ィギュレーシ ョ ンの7 Series FPGAs Integrated Block for PCI Express では BAR デコード /フ ィルタ リ ングは実行されません。

エン ドポイン ト コンフ ィギュレーシ ョ ンでは、 コアのタ イプ 0 コンフ ィギュレーシ ョ ン空間のどの基本アド レス レジスタ(BAR) がターゲッ トになっているかを判断するため、 入力メモ リおよび I/O TLP 要求をコアがデコード します。 デコード された基本アドレスは (rx_bar_hit[7:0]) m_axis_rx_tuser[9:2] に出力されます。 受信されたメモ リ または I/O TLP のそれぞれに対し、低 1 ビッ ト 、 高 2 ビッ ト (隣接したビッ ト ) が 1b に設定されます。受信された TLP が 32 ビッ トのメモ リ または I/O BAR を

ターゲッ トにしている場合は、 1 ビッ トのみがアサート されます。 64 ビッ トのメモ リ または I/O BAR をターゲッ トにしている場合は、 隣接した 2 ビッ トがアサート されます。 BAR でデコード されていない TLP (つま り不正処理された TLP) をコアが受信する と、 それを知らせずに破棄し、 サポート されてない要求のメ ッセージを自動的に生成します。 コアが 64 ビッ トの BAR用にコンフ ィギュレーシ ョ ンされていても、 システムが常に 64 ビッ ト アドレスを割り当てる とは限り ません。 割り当てられていない場合は、 rx_bar_hit[7:0] 信号 1つのみがアサート されます。 BAR の開口部の重複は認められていません。

表 3-1 は、 rx_bar_hit[7:0] と BAR のマッピング、およびコアのタイプ 0 コンフ ィギュレーシ ョ ン ヘッダーでの対応バイ ト オフセッ ト を表しています。

受信インターフェイスのメモ リおよび I/O ト ランザクシ ョ ンの場合、図 3-26 に示すよ うに、m_axis_rx_tvalid のアサート開始から TLP 全体に対し (rx_bar_hit[7:0]) m_axis_rx_tuser[9:2] は有効です。 非メモリおよび非 I/Oのト ランザクシ ョ ンを受信する場合は、 rx_bar_hit[7:0] 信号は未定義とな り ます。

(rx_bar_hit[7:0]) m_axis_rx_tuser[9:2] 信号によ り、受信されたメモ リおよび I/O のト ランザクシ ョ ンは、ユーザー アプリ ケーシ ョン内の該当するデスティネーシ ョ ンに送信されます。 rx_bar_hit[7:0] を使用するこ とによ り、 デコーディング ロジッ クを簡素化するため、 アプリ ケーシ ョ ン ロジッ クは空きアドレス内のメモ リおよび I/O の下位アドレス ビッ トのみを検査します。

表 3‐1 : (rx_bar_hit[7:0]) m_axis_rx_tuser[9:2] と基本アドレス レジスタ  (BAR) のマッピング

rx_bar_hit[x] m_axis_rx_tuser[x] BAR バイ ト  オフセッ ト

0 2 0 10h

1 3 1 14h

2 4 2 18h

3 5 3 1Ch

4 6 4 20h

5 7 5 24h

6 8 拡張 ROM BAR 30h

0 9 予約済み –

X-Ref Target - Figure 3-26

図 3‐26 : rx_bar_hit を使用したターゲッ トの BAR 判断

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

(rx_bar_hit[7:0])m_axis_rx_tuser[9:2] 0000010b 0001100b

TLP1 TLP2

Page 61: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 61

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

受信 AXI4-Stream インターフェイスでのリンク ダウン イベン ト中のパケッ ト伝送

user_lnk_up がディアサート される と リ ンク パートナーの通信が失われたこ とを示します。 この user_lnk_up のディアサートは実質コア全体へのホッ ト リセッ トの役割を果たします。 このため、 コア内に格納されている TLP すべて、 または受信インターフェイスに出力されている TLP すべては失われ回復不可能な状態となり ます。受信 AXI4-Stream インターフェイスで処理中のTLP は TLP ヘッダーの長さフ ィールドで指定されている長さで出力されます。 しかし、 この TLP は破損しており、 ユーザーアプリ ケーシ ョ ンで破棄されるべきです。 図 3-27 はパケッ ト伝送が中断されるシナリオを説明しています。

128 ビッ ト  ト ランザクシ ョ ン層インターフェイスを使用したデザイン

注記 : ト ランザクシ ョ ン インターフェイスの幅および周波数はレーン幅/速度が上下しても変わり ません。

AXI4‐Stream インターフェイスでの TLP フォーマッ ト

データは 『PCI Express Base Specification』 [参照 2]で定義されているよ うにビッグ エンディアンの順序で送受信されます。 TLPパケッ トの順序についての詳細は、 『PCI Express Base Specification』 の第 2 章を参照してください。 図 3-28 は典型的な 32 ビットのアドレス指定可能なメモ リ書き込み要求 TLP を説明しています (第 2 章での説明と同様)。

ト ランザクシ ョ ン インターフェイスを使用する場合、 パケッ トは 128 ビッ ト データパス全体に配列されます。 図 3-29 は同じパケ ッ ト 例を AXI4-Stream イ ン ターフ ェ イ スで表し た ものです。 パケ ッ ト の PCIe バイ ト 0 は 初の DWORD のs_axis_tx_tdata[31:24] (送信) または m_axis_rx_tdata[31:24] (受信) に、 バイ ト 1 は s_axis_tx_tdata[23:16] またはm_axis_rx_tdata[23:16] に出力されます。 パケッ トのヘッダー セクシ ョ ンは 3 つまたは 4 つの DWORD から構成されています

X-Ref Target - Figure 3-27

図 3‐27 :受信ト ランザクシ ョ ンの中断

X-Ref Target - Figure 3-28

図 3‐28 : PCI Express 基本仕様のバイ ト順序

user_clk_out

user_lnk_up

m_axis_rx_tdata[63:0]

m_axis_rx_tready

m_axis_rx_tvalid

m_axis_rx_tlast

H1H0 D0H2 D2D1 PAD PAD

original TLP data was lost

+0

Byte 0 > R Fmtx 0 Type R TC Rsvd T

DEP Attr R Length

Byte 4 > Requester ID Tag Last DWBE

1st DWBE

Byte 8 >

Byte 12 >

Address[31:2] R

Data 0

Byte 16 >

Byte 20 >

Data 1

Data 2

Byte 24 > TLP Digest

7 6 5 4 3 2 1 0

+1

7 6 5 4 3 2 1 0

+2

7 6 5 4 3 2 1 0

+3

7 6 5 4 3 2 1 0

Page 62: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 62

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

が、 これは 『PCI Express Base Specification』 のセクシ ョ ン 2.2 に説明されているよ うに、 TLP フォーマッ トおよびタイプによって決定されます。

重要 : 送信のためコアに送信されるパケッ トは、『PCI Express Base Specification』の第 2 章で指定されているよ うに TLP のフォーマッ ト規則に従う必要があ り ます。

ユーザー アプリ ケーシ ョ ンがそのパケッ トが有効であるこ とを確認しますが、コアはパケッ トが正し く構成されているかど うかをチェッ ク しないため、不正な TLP が送信される可能性があ り ます。TLP の正確なフ ィールドは送信されているパケッ トのタイプによって異なり ます。

出力パケッ トの送信

基本的な TLP 送信操作

7 Series FPGAs Integrated Block for PCI Express コアは次のタイプのパケッ ト を自動的に送信します。

• コンフ ィギュレーシ ョ ン空間要求に対する リモート デバイスへの完了

• 不正に構成されている入力要求、 またはコアで認識されない入力要求に対するエラー メ ッセージ

注記 :認識されない要求の一部、たとえば予期しない完了などは、適切な応答を生成するユーザー アプリ ケーシ ョ ンによってのみ検出されます。

ユーザー アプリ ケーシ ョ ンは次のタイプの出力パケッ ト を生成します。

• メモ リ、 ア ト ミ ッ ク Op、 およびリモート デバイスに対する I/O 要求

• メモ リ読み出し要求など、 ユーザー アプリ ケーシ ョ ンへの要求に対する応答と しての完了

コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされている場合、コアは tx_cfg_req をアサートするこ とによ り (1b)、送信データパスを仲介する内部生成された TLP を保留するこ とをユーザー アプリ ケーシ ョ ンに伝えます。 ユーザー アプリ ケーシ ョ ンには、 tx_cfg_req とは無関係に、 tx_cfg_gnt をアサートするこ とによ り (1b)、 コア生成された TLP を優先させる選択肢があ り ます。 優先させるこ とで、 コア生成された TLP が保留されている間、 ユーザー アプリ ケーシ ョ ンで生成された TLP が送信されなくな り ます。 あるいは、 ト ランザクシ ョ ンが完了するまで tx_cfg_gnt をディアサートするこ とによ り (0b)、 ユーザー アプリ ケーシ ョ ンがユーザー アプリ ケーシ ョ ンで生成された TLP をそのまま優先させる という選択肢もあ り ます。 ト ランザクシ ョ ンが完了する と、ユーザー アプリ ケーシ ョ ンは 低 1 ク ロ ッ ク サイクル間 tx_cfg_gnt をアサート し (1b)、保留されているコア生成された TLP を送信するこ とができます。要求者側で完了タイムアウ トになるこ とがあるので tx_cfg_gnt のアサー ト は無制限に遅らせないで く ださい。 完了タ イムアウ ト については 『PCI Express BaseSpecification』 を参照してください。

• 統合ブロッ クは基本/制限レジスタ上ではフ ィルターを実行しません (ルート ポートのみ)。フ ィルタ リ ングが必要がど うかはユーザーが決定します。 これらのレジスタは、 コンフ ィギュレーシ ョ ン インターフェイスを介してタイプ 1 コンフ ィギュレーシ ョ ン ヘッダー空間から読み出すこ とができます (95 ページの 「コンフ ィギュレーシ ョ ン空間レジスタおよびコンフ ィギュレーシ ョ ン インターフェイスを使用したデザイン」 を参照)。

17 ページの表 2-10は送信ユーザー アプリ ケーシ ョ ンの信号を定義しています。TLP を送信するには、ユーザー アプリ ケーシ ョンが送信 AXI4-Streamインターフェイス上で次のイベン ト シーケンスを実行する必要があ り ます。

X-Ref Target - Figure 3-29

図 3‐29 : エンドポイン ト統合ブロックのバイ ト順序

Clock 0

Clock1

Data DW 0

TLP Digest Data DW2

[127:96] [95:64] [63:32] [31:0]

Data DW 1

Header DW 2 Header DW 1 Header DW 0

PCIe Byte

AXI ByteAXI Bit

+12 +13 +14 +15 +8 +9 +10 +11 +4 +5 +6 +7 +0 +1 +2 +3

+15 +14 +13 +12 +11 +10 +9 +8 +7 +6 +5 +4 +3 +2 +1 +0

Page 63: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 63

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

1. ユーザー アプリ ケーシ ョ ン ロジッ クは s_axis_tx_tvalid をアサート し、s_axis_tx_tdata[127:0] に 初の TLP ダブル クワ ッ ドワード (DQWORD = 128 ビッ ト ) を出力します。コアが s_axis_tx_tready をアサート している場合は、DQWORD がすぐに受け入れられます。 そ う でない場合は、 コアが s_axis_tx_tready をアサー ト する までユーザー アプ リ ケーシ ョ ンはこのDQWORD を保持する必要があ り ます。

2. ユーザー アプリ ケーシ ョ ンは s_axis_tx_tvalid をアサート し、この後のクロ ッ ク サイクルで s_axis_tx_tdata[127:0] に 残りのTLP DQWORD を出力します (このク ロ ッ ク サイクル中にコアは s_axis_tx_tready をアサート )。

3. ユーザー アプリ ケーシ ョ ンは s_axis_tx_tvalid および s_axis_tx_tlast を 終の DQWORD データ と と もにアサート します。パケッ ト ヘッダーの長さフ ィールド と同じ長さのパケッ ト を作成するため、 終データ サイ クルでス ト ローブ フ ィールドが選択されているこ とを確認する必要があ り ます。 s_axis_tx_tkeep[15:0] の詳細については表 3-2 および表 3-3 を参照してください。

4. 次のクロ ッ ク サイクルでユーザー アプリ ケーシ ョ ンは s_axis_tx_tdata[127:0] での有効な伝送の終わり を知らせるためにs_axis_tx_tvalid を ディアサート します。

このセクシ ョ ンでは、 ヘッダー QWn を 「Hn」 、 データ QWn を 「Dn」 と表記します。 表 3-2 には s_axis_tx_tlast が同じサイクルでアサート されるシングル サイクル パケッ トが リ ス ト されています。

表 3-3 にはマルチサイクル パケッ トの終わり を知らせる信号がリ ス ト されています。パケッ トがデータ バスの下位 QW で終了する場合、次のパケッ トはその上位 QW から開始するこ とはできません。パケッ トはすべて新しいビートのデータ バスの下位DW で開始する必要があ り ます。 s_axis_tx_tkeep[15:0] 信号はデータ バスのどの DWORD が EOF を含んでいるかを示します。

図 3-30 はデータ ペイロードのない 3-DW TLP ヘッダーを図説したもので、 32 ビッ トのアドレス指定可能なメモリ読み出し要求を例にしています。ユーザー アプリ ケーシ ョ ンが s_axis_tx_tlast をアサートする と、s_axis_tx_tkeep[15:0] の値が 0x0FFF になり、 s_axis_tx_tdata[95:0] にのみ有効なデータが含まれているこ とをコアに知らせます。

表 3‐2 : TX :EOF シナリオ (シングル サイクル)

s_axis_tx_tdata[127:0]

H3 H2 H1 H0  ‐‐ H2 H1 H0 D0 H2 H1 H0

s_axis_tx_tlast 1 1 1

s_axis_tx_tkeep[15:0] 0xFFFF 0x0FFF 0xFFFF

表 3‐3 : TX :EOF シナリオ (マルチサイクル)

s_axis_tx_tdata[127:0]

D3 D2 D1 D0 ‐‐ D2 D1 D0 ‐‐ ‐‐ D1 D0 ‐‐ ‐‐ ‐‐ D0 

s_axis_tx_tlast 1 1 1 1

s_axis_tx_tkeep[15:0] 0xFFFF 0x0FFF 0x00FF 0x000F

Page 64: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 64

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

図 3-31 はデータ ペイロードのない 4-DW TLP ヘッダーを図説したもので、 64 ビッ トのアドレス指定可能なメモリ読み出し要求を例にしています。 ユーザー アプリ ケーシ ョ ンが s_axis_tx_tlast をアサートする と、 s_axis_tx_tkeep[15:0] の値が 0xFFFF になり、 s_axis_tx_tdata[127:0] に有効なデータが含まれているこ と、 および 上位 DW に EOF が発生しているこ とをコアに知らせます。

図 3-32 はデータ ペイロードのある 3-DW TLP ヘッダーを図説したもので、 32 ビッ トのアドレス指定可能なメモリ書き込み要求を例にしています。ユーザー アプリ ケーシ ョ ンが s_axis_tx_tlast をアサートする と、s_axis_tx_tkeep[15:0] の値が 0x0FFF になり、 s_axis_tx_tdata[95:0] に有効なデータが含まれているこ と、および DWROD 2 で EOF が発生しているこ とをコアに知らせます。

X-Ref Target - Figure 3-30

図 3‐30 :ペイロードのない 3‐DW TLP ヘッダー

X-Ref Target - Figure 3-31

図 3‐31 :ペイロードのない 4‐DW TLP ヘッダー

user_clock_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[15:0]

(tx_err_fwd) s_axis_tx_tuser[1]

(tx_str) s_axis_tx_tuser[2]

(tx_src_dsc) s_axis_tx_tuser[3]

tx_terr_drop

--H2H1H0

0FFFh

user_clock_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[15:0]

(tx_err_fwd) s_axis_tx_tuser[1]

(tx_str) s_axis_tx_tuser[2]

(tx_src_dsc) s_axis_tx_tuser[3]

H3H2H1H0

FFFFh

Page 65: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 65

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

図 3-33 はデータ ペーロードのある 4-DW TLP ヘッダーを説明しています。 ユーザー アプ リ ケーシ ョ ンが s_axis_tx_tlast をアサートする と、 s_axis_tx_tkeep[15:0] の値が 0x00FF にな り、 s_axis_tx_tdata[63:0] にのみ有効なデータが含まれているこ とをコアに知らせます。

送信インターフェイスでの連続ト ランザクシ ョ ンの出力

帯域幅の利用率を 大限にするため、ユーザー アプリ ケーシ ョ ンは送信 AXI4-Stream インターフェイスで連続して TLP を出力するこ とができます。 図 3-34 は送信インターフェイスに出力されている連続 TLP を説明していますが、 すべての TLP がデータ バス [31:0] の 下位 DW で開始しなければならない と い う 制限が設けられています。 ユーザー アプ リ ケーシ ョ ンはs_axis_tx_tvalid をアサート した状態のまま、 前の TLP に対する s_axis_tx_tlast をアサート した後の次のクロ ッ ク サイ クルで新しい TLP を出力します。

X-Ref Target - Figure 3-32

図 3‐32 :ペイロードのある  3‐DW TLP ヘッダー

X-Ref Target - Figure 3-33

図 3‐33 :ペイロードのある  4‐DW TLP ヘッダー

user_clk_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[15:0]

(tx_err_fwd)s_axis_tx_tuser[1]

(tx_str)s_axis_tx_tuser[2]

(tx_src_dsc)s_axis_tx_tuser[3]

tx_terr_drop

D0H2H1H0 D4D3D2D1 --D7D6D5

FFFFh 0FFFh

user_clock_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[15:0]

(terr_fwd) s_axis_tx_tuser[1]

(str) s_axis_tx_tuser[2]

(src_dsc) s_axis_tx_tuser[3]

H3H2H1H0 D3D2D1D0 ----DnDn-1

FFFFh 00FFh

Page 66: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 66

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

送信データパスでのソース スロッ トル

AXI4-Stream インターフェイスでは、 s_axis_tx_tdata[127:0] に出力するデータがユーザー アプ リ ケーシ ョ ンにない場合、 ユーザー アプリ ケーシ ョ ンをスロ ッ トルさせます。 この状態が発生する とユーザー アプリ ケーシ ョ ンは s_axis_tx_tvalid をディアサート します。 これはコアの AXI4-Stream インターフェイスに s_axis_tx_tdata[127:0] に出力されているデータを破棄するよ うに指示するものです。 図 3-35 はこのソース スロ ッ トルを説明したものです。 この例では、 ユーザー アプリ ケーシ ョ ンには各クロ ッ ク サイクルで出力するデータがないため、 これらのサイ クル中に s_axis_tx_tvalid をディアサートする必要があ り ます。

送信データパスでのデスティネーシ ョ ン スロッ トル

新しい TLP 用に送信バッファーに空きがない場合、コアの AXI4-Stream インターフェイスは送信ユーザー アプリ ケーシ ョ ンをスロ ッ トルさせます。 ユーザー アプリ ケーシ ョ ンが TLP を出力している速度以上のレートで リ ンク パートナーが入力パケット を処理していない場合にこの状態が発生します。図 3-36 はコアの内部送信バッファーがいっぱいのと きユーザー アプリ ケーシ ョ ンをスロ ッ トルさせる s_axis_tx_tready のディアサート を説明しています。 コアがユーザー アプ リ ケーシ ョ ンをスロ ッ トルさせる必要がある場合は、 現在のパケッ トが完了した後にそれが行われます。 現在のパケッ トの直後に別のパケッ ト を開始する場合は、 s_axis_tx_tlast の直後にスロ ッ トル状態になり ます。

X-Ref Target - Figure 3-34

図 3‐34 :送信インターフェイスでの連続ト ランザクシ ョ ン

X-Ref Target - Figure 3-35

図 3‐35 :送信データパスでのソース スロッ トル

user_clk_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[15:0]

H4H2H1H0 --D2D1D0 H3H2H1H0 ------D0

FFFFh 0FFFh FFFFh 000Fh

TLP1 TLP2

user_clock_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[15:0]

H3H2H1H0 D3D2D1D0 D7D6D5D4 D11D10D9D8

FFFFh

Page 67: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 67

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

s_axis_tx_tready をアサー ト する こ とによ り コアの送信 AXI4-Stream インターフェ イ スが TLP の開始を受諾する場合、 PCIExpress デバイス機能レジスタの Max_Payload_Size フ ィールドに含まれている値まで (オフセッ ト 04H) のサイズの完全な TLPを受け入れるこ とができます。 『PCI Express Base Specification』 [参照 2]に準拠した状態を保つには、 PCI Express デバイス制御コン ト ロール レジス タの Max_Payload_Size フ ィールド (オフセッ ト 08H) に違反しないよ う にして く ださい。 コアの送信AXI4-Stream インターフェイスは次のコンディシ ョ ンでのみ s_axis_tx_tready をディアサート します。

• TLP を完全に受け入れ、 新しい TLP に対してバッファーに空きがない状態。

• tx_cfg_gnt のアサートによ り、 ユーザー アプリ ケーシ ョ ンで送信データパスの使用が認められた後、 コアが内部生成された TLP を送信する場合 (コンフ ィギュレーシ ョ ン読み出しまたは書き込みのため完了 TLP が送信される、または cfg_err インターフェイス上でユーザー アプリ ケーシ ョ ンによ り要求されたよ うにエラー メ ッセージ TLP またはエラー応答がある)、 コアが内部生成された TLP を送信した後に s_axis_tx_tready をアサートする。

• PCI パワー マネージメン ト機能構造レジスタのパワー マネージメン ト制御/ステータス レジスタ (オフセッ ト 0x4) のパワー ステート フ ィールドが D0 以外のステートになる と、 任意の出力 TLP は完全に受信され、 その後 s_axis_tx_tready がディアサート される。 これによ り、 コアが D0 以外のステートにある間はユーザー アプリ ケーシ ョ ンは新しい ト ランザクシ ョ ンを開始できな くなる。

コアによ り s_axis_tx_tready がディアサート される と、 ユーザー アプリ ケーシ ョ ンはコアが s_axis_tx_tready をアサートするまで、 すべての制御およびデータ信号を保持する必要があ り ます。

ソースによる ト ランザクシ ョ ン送信の停止

コアの AXI4-Stream インターフェイスは (tx_src_dsc) s_axis_tx_tuser[3] をアサートするこ とによ りユーザー アプリ ケーシ ョ ンのTLP の送信を停止します。停止する TLP の tx_src_dsc と と もに s_axis_tx_tvalid と s_axis_tx_tready の両方をアサートする必要があ り ます。 信号 tx_src_dsc をパケ ッ ト の先頭でアサー ト しないで く ださい。 これは、 新しい TLP の 初のビー ト の後、s_axis_tx_tlast をアサートするまで (アサート時を含めて) どのサイ クルでもサイ クルでアサートできます。TLP ト ランザクシ ョンが送信イ ンターフェ イ スで処理されていない場合は、 tx_src_dsc をアサー ト して も何の影響もあ り ません。 図 3-37 はtx_src_dsc を使用し てユーザー アプ リ ケーシ ョ ンがパケ ッ ト を停止する状態を説明し ています。 tx_src_dsc と と もにs_axis_tx_tlast をアサートするのはオプシ ョ ンです。

ス ト リーミ ング モードが使用されておらず、 s_axis_tx_tuser[2] = 0b で、 パケッ トが停止されている場合は、 シ リ アル リ ンクで送信される前にこのパケッ トは破棄されます。 ス ト リーミ ング モードが使用されている と (tx_str = 1b)、 パケッ トはシ リ アルリ ンクで EDB シンボルと と もに送信されます。

X-Ref Target - Figure 3-36

図 3‐36 : エンドポイン ト送信インターフェイスでのデスティネーシ ョ ン  スロッ トル

user_clk_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[15:0]

tx_buf_av

H3H2H1H0 D3D2D1D0 ----D5D4 D0H2H1H0 ------D1

FFFFh 00FFh FFFFh 000Fh

00h 02h 00h 02h 00h

TLP 1 TLP 2

Page 68: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 68

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

デステ ィネーシ ョ ンによる ト ランザクシ ョ ンの破棄

次の 3 つの理由からコア送信 AXI4-Stream インターフェイスは TLP を破棄します。

• PCI Express リ ンクがダウンする。

• 出力された TLP がデバイス機能レジスタの Max_Payload_Size フ ィールドで違反になる (オフセッ ト 04H)。デバイス機能レジスタの Max_Payload_Size フ ィールドで違反が発生しないよ うにしてください (オフセッ ト 08H)。

• s_axis_tx_tuser[2](tx_str) がアサート されていて、 それに続く クロ ッ ク サイクルでデータが出力されていない。 つま り TLP送信の真っ 中に s_axis_tx_tvalid がディアサート される。

上記のコンディシ ョ ンのいずれかが発生する と、送信 AXI4-Stream インターフェイスは出力された TLP の残り を受け入れ続け、破棄された TLP の EOF に続く 3 番目のクロ ッ ク サイ クルの前に tx_err_drop をアサート します。 図 3-38 は tx_err_drop を使用してパケッ トが破棄されたこ とをコアに知らせている状態を説明したものです。

送信 AXI4-Stream インターフェイスでのパケッ ト データ ポイズン

送信された TLP のデータ ペイロードをポイズンドにマークするためユーザー アプリ ケーシ ョ ンでは次のいずれかのアプローチが取られます。

• TLP ヘッダーで EP = 1 と設定する。AXI4-Stream インターフェイス上でヘッダーの 初の DWORD がコアに出力されたとき、 ペイロードがポイズンド状態である と分かっている場合は、 この方法が採用されます。

• 図 3-39 にあるよ うに、 パケッ ト送信中の任意時に有効なデータ送信サイ クルの 低 1 サイクル間、s_axis_tx_tuser[1](tx_err_fwd) をアサートする。 これで、コアが PCI Express デバイスにパケッ ト を送信する と きに TLP ヘッダーが EP = 1 に設定されます。 パケッ ト送信開始時にパケッ トがポイズンドになっているかど うかユーザー アプ リ ケーシ ョ ンでは確認できない場合、 この方法が採用されます。 s_axis_tx_tuser[2](tx_str) がアサート されている場合は (送信パケッ トがス ト リームされている状態)、 tx_err_fwd の使用はサポート されていません。 ス ト リーミ ング モードでは、 パケッ

X-Ref Target - Figure 3-37

図 3‐37 :送信インターフェイスでのソース ド リブンのト ランザクシ ョ ンの停止

X-Ref Target - Figure 3-38

図 3‐38 :送信インターフェイスのデスティネーシ ョ ンによる ト ランザクシ ョ ンの破棄

user_clock_out

s_axis_tx_tdata[63:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[7:0]

(tx_src_dsc) s_axis_tx_tuser[3]

H1H0 D0H2 D2D1 D4D3

FFh

user_clk_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

tx_terr_drop

TLP1 TLP2

Page 69: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 69

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

トが破損した場合にパケッ ト を中断するオプシ ョ ンがあ り ます。 パケッ トの中断については、 50 ページの 「ソースによるト ランザクシ ョ ン送信の停止」 を参照して ください。

送信インターフェイスでのト ランザクシ ョ ンのスト リーミング モード

7 Series FPGAs Integrated Block for PCI Express コアでは、操作のレイテンシを低減するため、TLP 送信にス ト リーミ ング モードをユーザー アプリ ケーシ ョ ンで使用できます。 この機能を使用するには、 TLP が送信されている間中ずっと、 ユーザー アプリ ケーシ ョ ンは s_axis_tx_tuser[2](tx_str) をアサートする必要があ り ます。 また、 ユーザー アプリ ケーシ ョ ンは有効なフレームを TLP の 終サイクルまで毎クロ ッ ク サイ クル出力する必要があ り ます。 つま り、 TLP が出力されている間ユーザー アプリケーシ ョ ンは s_axis_tx_tvalid をディアサート してはいけないという こ とです。ス ト リーミ ング モードで操作している間ト ランザクシ ョ ンがソース スロ ッ トルになる と、 その ト ランザクシ ョ ンは破棄され (tx_err_drop がアサート される )、 無効になったTLP が PCI Express リ ンク上で通知されます。 図 3-40 はス ト リーミ ング モードで 初の TLP がス ト リームされ、 2 番目の TLPがソース スロ ッ トルのために破棄される状態を説明したものです。

ECRC 生成の使用 (128 ビッ ト インターフェイス)

統合ブロ ッ クでは ECRC 生成がサポート されています。 この機能を使用するには、 送信 AXI4-Stream インターフェイス上でTLP の先頭でユーザー アプリ ケーシ ョ ンが (tx_ecrc_gen) s_axis_tx_tuser[0] をアサートする必要があ り ます。 必要であればこのパケッ トが送信される間はこの信号をアサートするこ とができます。出力 TLP にダイジェス トがない場合は、 コアがそれを生成・追加して、 TD ビッ ト を設定します。 パケッ トの 後に s_axis_tx_tready を 1 ク ロ ッ ク サイ クル ディアサートする と、 ダイジェス トが挿入されます。 図 3-41 では ECRC 生成が説明されています。

X-Ref Target - Figure 3-39

図 3‐39 :送信インターフェイスでのパケッ ト  データ  ポイズン

X-Ref Target - Figure 3-40

図 3‐40 :送信インターフェイスでのスト リーミング モード

user_clock_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[15:0]

(tx_err_fwd) s_axis_tx_tuser[1]

H3H2H1H0 D3D2D1D0 D7D6D5D4 ----D9D8

FFFFh 00FFh

user_clk_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

(tx_str) s_axis_tx_tuser[2]

tx_terr_drop

TLP1 TLP2

Page 70: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 70

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

入力パケッ トの受信

基本的な TLP 受信操作

19 ページの表 2-11は受信 AXI4-Stream インターフェイスの信号を定義しています。 エンドポイン ト コアがユーザー アプ リケーシ ョ ン ロジッ クに TLP を出力するよ うにするには、受信 AXI4-Stream インターフェイス上で次のシーケンスでイベン トが発生する必要があ り ます。

1. ユーザー アプリ ケーシ ョ ンでデータ受信の準備が完了する と、ユーザー アプリ ケーシ ョ ンが m_axis_rx_tready をアサートします。

2. コアでデータ送信の準備が完了する と、 コアは (rx_is_sof[4]) m_axis_rx_tuser[14] をアサート し、 m_axis_rx_tdata[127:0] に初の完全な TLP DQWORD を出力します。

3. コアは (rx_is_sof[4]) m_axis_rx_tuser[14] をアサート し、 m_axis_rx_tvalid アサート した状態を維持し、 後続のクロ ッ ク サイクルで m_axis_rx_tdata[127:0] に TLP DQWORD を出力します (ユーザー アプリ ケーシ ョ ン ロジッ クが m_axis_rx_tready をアサートする場合)。 (rx_is_eof[4]) m_axis_rx_tuser[21] を TLP の終わり を知らせるためアサート します。

4. 次のクロ ッ ク サイクルで TLP がない場合、 m_axis_rx_tdata[127:0] での有効な伝送の終わり を知らせるため、 コアがm_axis_rx_tvalid をディアサート します。

注記 : m_axis_rx_tvalid が同時にアサート されていない限り、ユーザー アプリ ケーシ ョ ンは rx_is_sof、 rx_is_eof、m_axis_rx_tdataのアサート をすべて無視する必要があ り ます。 m_axis_rx_tvalid がパケッ トの途中でディアサート されるこ とはあ り ません。

(rx_is_sof[4:0]) m_axis_rx_tuser[14:10] は新しいパケッ トがデータ ス ト リームで開始しているかど うかを示し、 開始しているならば、 新しいパケッ トの先頭バイ トの場所を示します。 PCI Express の場合、 新しいパケッ トの長さは 低 DWORD 3 つになるため、 128 ビッ ト インターフェイスでは 1 ク ロ ッ ク サイクルに対し、 常に新しいパケッ トが 1 つ開始するこ とにな り ます。

rx_is_sof[2:0] は 128 ビッ ト インターフェイスに対し常にディ アサー ト されます。 EOF が発生する DWORD を判断するためrx_is_sof[3:2] をデコードできます。

• rx_is_sof = 5'b10000 - バイ ト 0 にある SOF (DWORD 0)

• rx_is_sof =5'b11000 - バイ ト 8 にある SOF (DWORD 2)

• rx_is_sof = 5'b0XXXX - SOF がない

X-Ref Target - Figure 3-41

図 3‐41 : ECRC 生成の波形 (128 ビッ ト  インターフェイス)

表 3‐4 : rx_is_sof 信号の説明

ビッ ト 説明

rx_is_sof[3:0] SOF のバイナリ エンコード されたバイ ト :4'b0000 = バイ ト 0、 4'b1111 = バイ ト 15

rx_is_sof[4] アサート した場合現在の RX データで新しいパケッ トが開始したこ とを示します。

user_clk_out

s_axis_tx_tdata[127:0]

s_axis_tx_tready

s_axis_tx_tvalid

s_axis_tx_tlast

s_axis_tx_tkeep[15:0]

(tx_ecrc_gen) s_axis_tx_tuser[0]

H4H2H1H0 --D2D1D0 H3H2H1H0 ------D0

FFFFh 0FFFh FFFFh 000Fh

TLP1 TLP2

Page 71: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 71

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

(rx_is_eof[4:0]) m_axis_rx_tuser[21:17] は現在のパケッ トがデータ ス ト リームで終了しているかど うかを示し、 開始しているならば、現在パケッ トの 終バイ トの場所を示します。PCI Express の場合、パケッ トの長さは 低 DWORD 3 つになるため、 128ビッ ト インターフェイスでは 1 ク ロ ッ ク サイ クルに対し、 常にパケッ トが 1 つ終了するこ とにな り ます。

rx_is_eof[1:0] は 128 ビ ッ ト イ ン ターフ ェ イ スに対し常にアサー ト されます。 EOF が発生する DWORD を判断するためrx_is_eof[3:2] をデコードできます。 PCI Express に対しては次の rx_is_eof の値が有効です。

• rx_is_eof = 5'b10011 - バイ ト 3 にある EOF (DWORD 0)

• rx_is_eof = 5'b10111 - バイ ト 7 にある EOF (DWORD 1)

• rx_is_eof = 5'b11011 - バイ ト 11 にある EOF (DWORD 2)

• rx_is_eof = 5'b11111 - バイ ト 15 にある EOF (DWORD 3)

• rx_is_eof = 5'b0XXXX - EOF がない

表 3-6 から表 3-9 までは、 ヘッダー DWORD n を 「Hn」、 データ DWORD n を 「Dn」 と表記します。 表 3-6 には 1 つのビート(シングル サイクル TLP) 内でパケッ トが開始および終了する有効なケースすべてに対する信号がリ ス ト されています。

表 3-7 には、 マルチサイ クル、 非ス ト ラ ドル TLP SOF シナリオすべてに対する信号がリ ス ト されています。

表 3-8 にはマルチサイクル パケッ トの終わり を知らせる信号がリ ス ト されています。パケッ トがデータ バスの下位 QWORD で終了する場合、 次のパケッ トはその上位 QWORD から開始できます (ス ト ラ ドル データの場合は表 3-9 を参照)。 rx_is_eof[3:2]は EOF が発生する DW を示します。

表 3‐5 : rx_is_eof 信号の説明

ビッ ト 説明

rx_is_eof[3:0] EOF のバイナリ エンコード されたバイ ト 4'b0000 = バイ ト 0、 4'b1111 = バイ ト 15

rx_is_eof[4] アサート した場合現在の RX データでパケッ トが終了したこ とを示します。

表 3‐6 : シングル サイクル SOF および EOF のシナリオ (ヘッダーおよびデータ付きヘッダー )

m_axis_rx_tdata[127:0]

H3 H2 H1 H0 ‐‐ H2 H1 H0 D0 H2 H1 H0

rx_is_sof[4] 1b 1b 1b

rx_is_sof[3:0] 0000b 0000b 0000b

rx_is_eof[4] 1b 1b 1b

rx_is_eof[3:0] 1111b 1011b 1111b

表 3‐7 : マルチサイクル、 非スト ラ ドル SOF シナリオ

m_axis_rx_tdata[127:0]

H3 H2 H1 H0(1) D0 H2 H1 H0(2) H1 H0 ‐‐ ‐‐(3)

rx_is_sof[4] 1b 1b 1b

rx_is_sof[3:0] 0000b 0000b 1000b

rx_is_eof[4] 0b 0b 0b

rx_is_eof[3:0] xxxxb xxxxb xxxxb

注記 :1. 次のクロ ッ ク サイ クルでデータが開始します。

2. 次のクロ ッ ク サイ クルでもデータが継続します。

3. 次のクロ ッ ク サイ クルでヘッダーの残りおよび可能なデータ。

Page 72: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 72

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

表 3-9 には、 ス ト ラ ドル データ伝送に対する信号がリ ス ト されています。 あるパケッ トが下位 QWORD で終了し、同じサイクルの上位 QWORD で新しいパケッ トが開始する と きに、 ス ト ラ ドル データ伝送が行われます。 ス ト ラ ドル データの伝送は受信方向でのみ行われます。

図 3-42 はデータ ペイロードのない 3 DWORD TLP ヘッダーを図説したもので、 32 ビッ トのアドレス指定可能なメモリ読み出し要求を例にしています。 コアが rx_is_eof[4] をアサートする と、 rx_is_eof[3:0] の値も 1011b になり、 バイ ト 2 で EOF が発生する (DWORD 2) こ と、 m_axis_rx_tdata[95:0] のみが有効なデータを含んでいるこ とを知らせます。

図 3-43 はデータ ペーロードのない 4 DWORD TLP ヘッダーを説明しています。 コアが (rx_is_eof[4]) m_axis_rx_tuser[21] をアサートする と、 (rx_is_eof[3:0]) m_axis_rx_tuser[20:17] の値も 1111b になり、 バイ ト 15 で EOF が発生する (DWORD 3) こ と、m_axis_rx_tdata[127:0] のみが有効なデータを含んでいるこ とを知らせます。

表 3‐8 :受信 ‐ EOF シナリオ (データ )

m_axis_rx_tdata[127:0]

D3 D2 D1 D0 ‐‐ D2 D1 D0  ‐‐ ‐‐ D1 D0 ‐‐ ‐‐ ‐‐ D0

rx_is_sof[4] 0b 0b 0b 0b

rx_is_sof[3:0] 0000b 0000b 0000b 0000b

rx_is_eof[4] 1b 1b 1b 1b

rx_is_eof[3:0] 1111b 1011b 0111b 0011b

表 3‐9 :受信 ‐ スト ラ ドルの場合の SOF および EOF

m_axis_rx_tdata[127:0]

H1 H0 Dn Dn–1 H1 H0 ‐‐ Dn

rx_is_sof[4] 1b 1b

rx_is_sof[3:0] 1000b 1000b

rx_is_eof[4] 1b 1b

rx_is_eof[3:0] 0111b 0011b

X-Ref Target - Figure 3-42

図 3‐42 :ペイロードのない 3 DWORD TLP ヘッダー

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_err_fwd)m_axis_rx_tuser[1]

(rx_bar_hit[7:0])m_axis_rx_tuser[9:2]

(rx_is_sof[4:0])m_axis_rx_tuser[14:10]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

rx_np_ok

--H2H1H0

10000b

11011b

SOF H0

EOF H2

Page 73: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 73

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

図 3-44 はデータ ペイロードのある 3-DW TLP ヘッダーを図説したもので、 32 ビッ トのアドレス指定可能なメモリ書き込み要求を例にしています。 コアが (rx_is_eof[4]) m_axis_rx_tuser[21] をアサートする と、 (rx_is_eof[3:0]) m_axis_rx_tuser[20:17] の値も1111b になり、 バイ ト 15 で EOF が発生する (DWORD 3) こ と、 m_axis_rx_tdata[127:0] が有効なデータを含んでいるこ とを知らせます。

図 3-45 はデータ ペイロードのある 4 DWORD TLP ヘッダーを図説したもので、 64 ビッ トのアドレス指定可能なメモリ書き込み要求を例にしています。 コアが (rx_is_eof[4]) m_axis_rx_tuser[21] をアサートする と、 (rx_is_eof[3:0]) m_axis_rx_tuser[20:17] の値も 0011b になり、バイ ト 3 で EOF が発生する (DWORD 0) こ と、m_axis_rx_tdata[31:0] のみが有効なデータを含んでいるこ とを知らせます。

X-Ref Target - Figure 3-43

図 3‐43 :ペイロードのない 4 DWORD TLP ヘッダー

X-Ref Target - Figure 3-44

図 3‐44 :ペイロードのある  3 DWORD TLP ヘッダー

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_err_fwd) m_axis_rx_tuser[1]

(rx_bar_hit[7:0]) m_axis_rx_tuser[9:2]

(rx_is_sof[4:0]) m_axis_rx_tuser[14:10]

(rx_is_eof[4:0]) m_axis_rx_tuser[21:17]

H3H2H1H0

10000b

11111b

SOF H0

EOF H3

user_clock_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_err_fwd) m_axis_rx_tuser[1]

(rx_bar_hit[7:0]) m_axis_rx_tuser[9:2]

(rx_is_sof[4:0]) m_axis_rx_tuser[14:10]

(rx_is_eof[4:0]) m_axis_rx_tuser[21:17]

D0H2H1H0 D4D3D2D1

10000b 00000b

00000b 11111b

SOF H0

EOF D4

Page 74: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 74

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

受信インターフェイスでのデータパスのスロッ トル

ユーザー アプリ ケーシ ョ ンは m_axis_rx_tready をディアサートするこ とによ り、 任意時にコアからのデータ伝送を中断できます。伝送処理中ではないと きにユーザー アプリ ケーシ ョ ンが m_axis_rx_tready をディアサート し、 また TLP が利用可能になった ら、 コ アは m_axis_rx_tvalid および (rx_is_sof[4]) m_axis_rx_tuser[14] をアサー ト し、 m_axis_rx_tdata[127:0] に 初の TLPDQWORD を出力します。 m_axis_rx_tdata[127:0] に出力されたデータを受け入れる準備ができたこ とを知らせるためユーザーアプリ ケーシ ョ ンが m_axis_rx_tready をアサートするまで、 コアはこのステートに留ま り ます。 この時点で、 m_axis_rx_treadyがアサート された状態である限り、 コアは後続の TLP DQWORD を続けて出力します。 データ伝送中にユーザー アプ リ ケーシ ョ ンが m_axis_rx_tready をディアサートする と、ユーザー アプリ ケーシ ョ ンが再び m_axis_rx_tready をアサートするまで、コアはデータ伝送を中止します。 ユーザー アプリ ケーシ ョ ンが m_axis_rx_tready をディアサート した状態を保つサイクル数に制限はあ り ません。 ユーザー アプリ ケーシ ョ ンが再び TLP を受信できる準備が整う までコアは停止します。

図 3-46 は m_axis_rx_tdata[127:0] にデータを出力しながら m_axis_rx_tvalid および (rx_is_sof[4]) m_axis_rx_tuser[14] をアサートするコアを説明しています。 ユーザー アプリ ケーシ ョ ン ロジッ クは、 m_axis_rx_tready をディアサートするこ とで待機ステート を挿入します。 コアは m_axis_rx_tready のアサート を検出するまで、 次の TLP DQWORD を出力しません。 ユーザー アプリケーシ ョ ン ロジッ クは、 ロジッ ク内の TLP データ処理速度と次の TLP 伝送の受信とのバランスを取る こ とが必要なため、m_axis_rx_tready をアサート した り、 ディアサート します。

X-Ref Target - Figure 3-45

図 3‐45 :ペイロードのある  4 DWORD TLP ヘッダー

X-Ref Target - Figure 3-46

図 3‐46 :受信 TLP をスロッ トルさせるユーザー アプリケーシ ョ ン

user_clock_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_err_fwd)m_axis_rx_tuser[1]

(rx_bar_hit[7:0])m_axis_rx_tuser[9:2]

(rx_is_sof[4:0])m_axis_rx_tuser[14:10]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

rx_np_ok

H3H2H1H0 D3D2D1D0 ------D4

00000110b

10000b 00000b

00000b 10011b

SOF H0

EOF D4

user_clock_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_is_sof[4:0])m_axis_rx_tuser[14:10]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

H3H2H1H0 D3D2D1D0 D7D6D5D4 ----D9D8

10000b 00000b

00000b 10111b

SOF H0

EOF D9

Page 75: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 75

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

受信インターフェイスでの連続ト ランザクシ ョ ンの受信

ユーザー アプリ ケーシ ョ ン ロジッ クは、 コアによ り受信 AXI4-Stream インターフェイスで連続 TLP を出力できるよ うに設計する必要があ り ます。 コアは、前の TLP に対する (rx_is_eof[4]) m_axis_rx_tuser[21] のアサートの後のクロ ッ ク サイクルで新しい TLP に対する (rx_is_sof[4]) m_axis_rx_tuser[14] をアサートできます。図 3-47 は受信インターフェイスで出力される連続 TLPを説明しています。

ユーザー アプリ ケーシ ョ ンが連続パケッ ト を受信できない場合は、 「受信インターフェイスでのデータパスのスロ ッ トル」 で説明したよ うに、 m_axis_rx_tready をディアサートするこ とによ り、 TLP の伝送を停止するこ とができます。 図 3-48 は 2 番目の TLP の受信を停止するための m_axis_rx_tready の使用例です。

受信 AXI4-Stream インターフェイスでのスト ラ ドル パケッ トの受信

ユーザー アプリ ケーシ ョ ン ロジッ クは、 コアによ り受信 AXI4-Stream インターフェイスでス ト ラ ドル TLP を出力できるよ うに設計する必要があ り ます。前の TLP が下位 QWORD で終了する と き、前の TLP に対する (rx_is_eof[4]) m_axis_rx_tuser[21] と同じ クロ ッ ク サイクルで、新しい TLP に対する (rx_is_sof[4]) m_axis_rx_tuser[14] をコアはアサートできます。図 3-49 は受信インターフェイスで出力されるス ト ラ ドル TLP を説明しています。

X-Ref Target - Figure 3-47

図 3‐47 :連続ト ランザクシ ョ ンの受信

X-Ref Target - Figure 3-48

図 3‐48 :連続 TLP をスロッ トルさせるユーザー アプリケーシ ョ ン

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_is_sof[4:0])m_axis_rx_tuser[14:10]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

D0H2H1H0 D4D3D2D1 --D7D6D5 D0H2H1H0 D4D3D2D1 ------D5

00000b 10000b 00000b 10000b 00000b

00000b 11011b 00000b 10011b 00000b

TLP1 TLP2

SOF H0 SOF H0

EOF D7 EOF D5

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_is_sof[4:0])m_axis_rx_tuser[14:10]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

D0H2H1H0D4D3D2D1 H3H2H1H0 D3D2D1D0

00000b 10000b 00000b 10000b 00000b 00000b

00000b 11111b 00000b 11111b 00000b

TLP1 TLP2

SOF H0 SOF H0

EOF D4 EOF D3

Page 76: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 76

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

図 3-49 では、 1 番目のパケッ トは 64 ビッ ト データの 3 DWORD パケッ トで、 2 番目のパケッ トはバスの下位 QWORD で開始する 3 DWORD パケ ッ ト です。 この図では、 (rx_is_eof[4]) m_axis_rx_tuser[21] のアサー ト および (rx_is_eof[3:0])m_axis_rx_tuser[20:17] = 0011b で、 ビッ ト [31:0] で前の TLP の EOF が発生するこ とを示しています。

受信 AXI4-Stream インターフェイスでのパケッ トの再順序付け

コア レシーバーでの ト ランザクシ ョ ン処理は PCI ト ランザクシ ョ ン順序ルールに完全準拠しています。 この順序ルールにより、 ポステッ ド TLP および完了 TLP がブロッ ク されている ノンポステッ ド TLP をバイパスできるよ うになっています。

7 Series FPGAs Integrated Block for PCI Express には、 ユーザー アプリ ケーシ ョ ンがレシーバーのノンポステッ ド バッファー スペースを管理するための方法が 2 つあり ます。 1 つの方法は受信ノンポステッ ド スロ ッ トルで、 rx_np_ok を使用し、 この信号がディアサート された後ノンポステッ ド 要求が 3 つ以上コアから出力されないよ うにします。も う 1 つはノンポステッ ドに対する受信要求で、 rx_np_req 信号を使用してノンポステッ ド キューのフロー制御をユーザーがコン ト ロールできるよ うにします。

受信ノンポステッ ド スロ ッ トルによる管理方法では、 ノンポステッ ド TLP に対しユーザー アプリ ケーシ ョ ンのレシーバーに空きがあ り、ユーザー アプリ ケーシ ョ ンがノンポステッ ド要求に対しコアをスロ ッ トルさせます。 ノンポステッ ドに対する受信要求による管理方法は、 ユーザー アプ リ ケーシ ョ ンのレシーバーに空きがある と きに、 ノンポステッ ド TLP をコアが出力するよ うにユーザー アプリ ケーシ ョ ンが要求します。 この 2 つの方法は相互排他的で、デザインに対しどちらか 1 つだけを選択し、 コアを生成 ・ カスタマイズする と きに選択する必要があ り ます。 [Receive Non-Posted Request] のオプシ ョ ンを [AdvancedSettings] で選択する と、 ノンポステッ ドに対する受信要求の方法が有効となり、 rx_np_ok のアサート /ディアサートは無視されます。 逆もまた同じです。 この 2 つの方法については続くセクシ ョ ンで詳細に説明します。

• 受信ノンポステッ ド スロ ッ トル (ノンポステッ ドに対する受信要求が無効になっている状態)

ユーザー アプ リ ケーシ ョ ンがコアからのポステッ ドおよび完了ト ランザクシ ョ ンを受信できる状態であるが、 ノンポステ ッ ド ト ラ ンザクシ ョ ンを受信する準備が整っていない場合、 ユーザー アプ リ ケーシ ョ ンは図 3-50 にある よ う にrx_np_ok をディ アサー ト できます。 ユーザー アプ リ ケーシ ョ ンは、 受信可能な 後から 2 番目のノ ンポステ ッ ドの(rx_is_eof[4]) m_axis_rx_tuser[21] の前、 低 1 ク ロ ッ ク サイ クルで rx_np_ok をディアサートする必要があ り ます。rx_np_okがディアサート されている間、受信されたポステッ ドおよび完了ト ランザクシ ョ ンはノンポステッ ド ト ランザクシ ョ ンをバイパス し ます。 ユーザー アプ リ ケーシ ョ ンが ノ ンポステ ッ ド ト ラ ンザクシ ョ ンの受信準備完了状態になったら、rx_np_ok を再びアサートする必要があ り ます。前にバイパスしたノンポステッ ド ト ランザクシ ョ ンは、ほかの受信されたTLP よ り先にユーザー アプリ ケーシ ョ ンに出力されます。

X-Ref Target - Figure 3-49

図 3‐49 : スト ラ ドル ト ランザクシ ョ ンの受信

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_is_sof[4:0]) m_axis_rx_tuser[14:10]

(rx_is_eof[4:0]) m_axis_rx_tuser[21:17]

D0H2H1H0 H1H0--D1 ------H2

10000b 11000b 00000b

00011b 10011b 10011b

SOF H0 SOF H0

EOF D1 EOF H2

Page 77: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 77

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

パケッ トの再順序付けによ り、 ユーザー アプリ ケーシ ョ ンは、非ブロ ッキング形式でポステッ ドおよび完了 TLP の受信・処理を継続しながら、 ノンポステッ ド TLP が処理される速度を 適化できるよ うにな り ます。 rx_np_ok 信号に対し制限があ り、 ユーザー アプリ ケーシ ョ ンは少な く と も 3 つのノンポステッ ド TLP を受信しバッファー化できなければな り ません。 次のアルゴ リズムは、 ノンポステッ ド TLP の管理プロセスを記述しています。

Non-Posted_Buffers_Available は、ユーザー アプリ ケーシ ョ ンに対する ノンポステッ ド バッファーの空き容量を示しています。ノンポステッ ド バッファーのサイズはノンポステッ ド TLP 3 つ分よ り も大き くな り ます。Non-Posted_Buffers_Availableは、ノンポステッ ド TLP がコアの処理用に受信される とデク リ メン ト し、ノンポステッ ド TLP がユーザー アプリ ケーシ ョンの処理用に送信される と インク リ メン ト します。

For every clock cycle do {if (Non-Posted_Buffers_Available <= 3) {if (Valid transaction Start-of-Frame accepted by user application) {Extract TLP Format and Type from the 1st TLP DWif (TLP type == Non-Posted) {Deassert rx_np_ok on the following clock cycle- or -Other optional user policies to stall NP transactions

} else {}

}} else { // Non-Posted_Buffers_Available > 3Assert rx_np_ok on the following clock cycle.

}}

• ノンポステッ ドに対する受信要求 (ノンポステッ ドに対する受信要求のオプシ ョ ンが有効になっている場合)

7 Series FPGAs Integrated Block for PCI Express では、 ユーザー アプ リ ケーシ ョ ンが rx_np_req を使用してノンポステッ ドキューに対しフロー制御クレジッ ト を返すこ とができます。ユーザー アプリ ケーシ ョ ンのレシーバーにノンポステッ ド トランザクシ ョ ンを受信するスペースがある場合、ユーザー アプリ ケーシ ョ ンで受信可能なノンポステッ ド ト ランザクシ ョンそれぞれに対し 1 ク ロ ッ クサイ クル間 rx_np_req をアサートする必要があ り ます。 これによ り、 統合ブロ ッ クはレシーバーからのノンポステッ ド ト ランザクシ ョ ンをコア ト ランザクシ ョ ン インターフェイスに出力でき (図 3-51 を参照)、 接続されている リ ンク パートナーへノンポステッ ド クレジッ ト を返すこ とができるよ うにな り ます。

X-Ref Target - Figure 3-50

図 3‐50 :受信インターフェイスのノンポステッ ド  スロッ トル

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_is_sof[4:0])m_axis_rx_tuser[14:0]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

rx_np_ok

H3H2H1H0 H3H2H1H0 D0H2H1H0

10000b 10000b 10000b

11111b 11111b 11111b

Non-Posted TLP1 Non-Posted TLP2 Posted/Cpl TLP3

SOF H0 SOF H0 SOF H0

EOF H3 EOF H3 EOF D0

Page 78: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 78

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ユーザー アプリ ケーシ ョ ンからのノンポステッ ド要求は 高 12 個まで 7 Series Integrated Block for PCIe で管理されます。つま り、 受信バッファーにノンポステッ ド TLP がなくてもコアは rx_np_req のアサート を記憶しており、 またユーザー アプリ ケーシ ョ ンが前に要求を出していた場合はユーザー アプリ ケーシ ョ ンで受信された ノンポステッ ド TLP を出力します。 ユーザー アプ リ ケーシ ョ ンからの要求で未処理のものがコアにあ り、 受信されたノンポステッ ド TLP が受信バッファーで待機中である場合、 受信されたポステッ ドおよび完了ト ランザクシ ョ ンが待機中のノンポステッ ド ト ランザクシ ョ ンを飛び越して送信されます。 ユーザー アプ リ ケーシ ョ ンがノ ンポステッ ド TLP の受信準備完了状態になる と、rx_np_req を 1 ク ロ ッ ク サイクル以上アサートする と、 待機中のノンポステッ ド TLP が次の TLP 境界で送信されます。 つま り、 待機中のノンポステッ ド TLP がユーザー アプ リ ケーシ ョ ンに出力される前に、 ユーザー アプ リ ケーシ ョ ン インターフェイスにあるポステッ ド または完了 TLP は完了します。 ポステッ ド または完了 TLP がな く、 ノンポステッ ド TLPが待機中であれば、 rx_np_req をアサートする と、そのノンポステッ ド TLP がユーザー アプリ ケーシ ョ ンに出力されます。ノンポステッ ド TLP がスロ ッ トルしている場合を除き、 TLP は順番どおりにユーザー アプ リ ケーシ ョ ンに送信され、 ポステッ ドおよび完了 TLP が飛び越して送信されるよ うにな り ます。 再びノンポステッ ド TLP を受信できるよ うになったら、 後続のポステッ ド または完了 TLP は順番どおりに送信されます。 ユーザー アプ リ ケーシ ョ ンが受信した順序でノンポステッ ド ト ランザクシ ョ ンをすべて受信でき、またノンポステッ ド キューに対しフロー制御クレジッ ト を返さない場合は、 この信号をアサート した状態を維持します。

X-Ref Target - Figure 3-51

図 3‐51 : ノンポステッ ド  ト ランザクシ ョ ンに対する受信インターフェイス要求

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_is_sof[4:0]) m_axis_rx_tuser[14:10]

(rx_is_eof[4:0]) m_axis_rx_tuser[21:17]

rx_np_req

D0H2H1H0D4D3D2D1--H2H1H0D0H2H1H0 ----D2D1 H3H2H1H0--H2H1H0

10000b 00000b 10000b 10000b 00000b 00000b 10000b 10000b

00011b 11111b 11011b 00011b 10111b 00011b 11111b 11011b

Posted TLP1 Posted/Cpl TLP3 Non-Posted TLP5

Non-Posted TLP2 Non-Posted TLP4

SOF H0 SOF H0 SOF H0 SOF H0 SOF H0

EOF D4 EOF H2 EOF D2 EOF H3 EOF H2

Page 79: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 79

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

128 ビッ ト受信 AXI4-Stream インターフェイスでのパケッ ト データ ポイズンとおよび TLP ダイジェスト

ユーザー アプリ ケーシ ョ ン内のロジッ クを簡素化するため、受信された TLP のTLP ダイジェス ト (TD) およびデータ ポイズン(EP) ヘッダー ビッ ト フ ィールドの値に基づいて、 コアは自動的に前処理を実行します。

ヘッダーのデータ ポイズン ビッ トが EP=1 に設定された状態で受信された TLP すべてが出力されます。図 3-52 にあるよ うに、各ポイズンド TLP の伝送中にコアは (rx_err_fwd) m_axis_rx_tuser[1] をアサート します。

TLP ヘッダーの TLP ダイジェス ト フ ィールドが TD=1 に設定されている場合、 その TLP には ECRC (End-to-End CRC) が含まれています。コア生成時のコア コンフ ィギュレーシ ョ ン方法に基づいて、コアはこれらの操作を実行します。[Trim TLP Digest]のオプシ ョ ン :

• [on] : オンの場合、コアは受信された TLP から ECRC フ ィールドを削除・破棄し、TLP ヘッダーの TLP ダイジェス ト ビット をク リ アにします。

• オフの場合、 コアは受信された TLP から ECRC フ ィールドを削除せず、 TLP ダイジェス ト ビッ ト を含む TLP 全体をユーザー アプリ ケーシ ョ ンの受信インターフェイスに出力します。

コア生成中に [Trim TLP Digest] オプシ ョ ンをオンにする方法については、 198 ページの 「ECRC」 を参照してください。

128 ビッ ト受信 AXI4-Stream インターフェイスでの ECRC エラー

7 Series FPGAs Integrated Block for PCI Express コアで ECRC チェッ クが有効になっている と、 コアは入力ト ランザクシ ョ ン パケッ トに対し ECRC を実行します。 ト ランザクシ ョ ン パケッ トに ECRC エラーが検出される と、 図 3-53 にあるよ うに、 コアは m_axis_rx_tuser[0] (rx_ecrc_err) および m_axis_rx_tuser[21:17] (rx_is_eof[4:0]) を同時にアサート して、 このエラーを知らせます。

X-Ref Target - Figure 3-52

図 3‐52 :受信ト ランザクシ ョ ン ‐ データ  ポイズン

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_err_fwd)m_axis_rx_tuser[1]

(rx_is_sof[4:0])m_axis_rx_tuser[14:10]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

D0H2H1H0 D4D3D2D1 --D7D6D5

00000b 10000b 00000b

00000b 11011b 00000b

SOF H0

EOF D7

Page 80: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 80

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

受信 AXI4-Stream インターフェイスでのパケッ ト基本アドレス レジスタ ヒ ッ ト

コアのタイプ 0 コンフ ィギュレーシ ョ ン空間のどの基本アドレス レジスタ (BAR) がターゲッ トになっているかを判断するため、 入力 メ モ リ および I/O TLP 要求を コ アがデコー ド し ます。 デコー ド された基本ア ド レ スは (rx_bar_hit[7:0])m_axis_rx_tuser[8:2] に出力されます。受信されたメモ リ または I/O TLP のそれぞれに対し、 低 1 ビッ ト 、 高 2 ビッ ト (隣接したビッ ト ) が 0 に設定されます。 受信された TLP が 32 ビッ ト のメモ リ または I/O BAR をターゲッ トにしている場合は、 1ビッ トのみがアサート されます。 64 ビッ トのメモ リ または I/O BAR をターゲッ トにしている場合は、 隣接した 2 ビッ トがアサート されます。 BAR でデコード されていない TLP をコアが受信する と、 それを出力せずに破棄しサポート されない要求のメ ッセージを自動的に生成します。 コアが 64 ビッ トの BAR 用にコンフ ィギュレーシ ョ ンされていても、 システムが常に 64ビッ ト アドレスを割り当てる とは限り ません。割り当てられていない場合は、rx_bar_hit[7:0] 信号 1 つのみがアサート されます。

表 3-10 は、 rx_bar_hit[7:0] と BAR のマッピング、 およびコアのタイプ 0 コンフ ィギュレーシ ョ ン ヘッダーでの対応バイ ト オフセッ ト を表しています。

受信インターフェイスのメモ リおよび I/O ト ランザクシ ョ ンの場合、図 3-54 に示すよ うに、(rx_is_sof[4]) m_axis_rx_tuser[14] のアサート開始から TLP 全体に対し rx_bar_hit[7:0] は有効です。ス ト ラ ドル データ伝送の場合は、rx_bar_hit[7:0] は新しいパケット (rx_is_sof[4] に対応するパケ ッ ト ) に対応しています。 非 メ モ リ および非 I/Oの ト ラ ンザク シ ョ ンを受信する場合は、rx_bar_hit[7:0] 信号は未定義とな り ます。

X-Ref Target - Figure 3-53

図 3‐53 : 128 ビッ ト受信 AXI4‐Stream インターフェイスでの ECRC エラー

表 3‐10 : rx_bar_hit と基本アドレス レジスタのマッピング

rx_bar_hit[x] m_axis_rx_tuser[x] BAR バイ ト  オフセッ ト

0 2 0 10h

1 3 1 14h

2 4 2 18h

3 5 3 1Ch

4 6 4 20h

5 7 5 24h

6 8 拡張 ROM BAR 30h

7 9 予約済み –

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_ecrc_err)m_axis_rx_tuser[0]

(rx_is_sof)m_axis_rx_tuser[14:10]

(rx_is_eof)m_axis_rx_tuser[21:17]

D0H2H1H0 D4D3D2D1 --D7D6D5

00000b 10000b 00000b

00000b 11011b 00000b

SOF H0

EOF D7

Page 81: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 81

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

(rx_bar_hit[7:0]) m_axis_rx_tuser[9:2] 信号によ り、受信されたメモ リおよび I/O のト ランザクシ ョ ンは、ユーザー アプリ ケーシ ョン内の該当するデスティネーシ ョ ンに送信されます。 rx_bar_hit[7:0] を使用するこ とによ り、 デコーディング ロジッ クを簡素化するため、 アプリ ケーシ ョ ン ロジッ クは空きアドレス内のメモ リおよび I/O の下位アドレス ビッ トのみを検査します。

受信 AXI4‐Stream インターフェイスでのパケッ ト送信の中断

user_lnk_up がディアサート される と リ ンク パートナーの通信が失われたこ とを示します。 user_lnk_up がディアサート されると、 これは実質コア全体へのホッ ト リ セッ ト の役割を果たし、 コア内部に格納されている TLP すべて、 または受信インターフェイスに出力されている TLP すべてが回復不可能となり失われます。受信 AXI4-Stream インターフェイスで処理中の TLP はTLP ヘッダーの長さフ ィールドで指定されている長さで出力されます。 しかし、 この TLP は破損しており、 ユーザー アプリケーシ ョ ンで破棄されるべきです。 図 3-55 はパケッ ト伝送が中断されるシナリオを説明しています。

受信 AXI4‐Stream インターフェイスでのト ランザクシ ョ ン処理

7 Series FPGAs Integrated Block for PCI Express での ト ランザクシ ョ ン処理は、 『PCI Express Base Specification』 v2.1[参照 2] にあるよ うに PCI Express 受信 TLP 処理ルールに完全準拠しています。

コアは受信された ト ランザクシ ョ ン層パケッ ト (TLP) をチェッ ク し、有効な TLP をユーザー アプリ ケーシ ョ ンに渡します。またエラーのある TLP は表 3-11 および表 3-12 に説明されている方法で処理されます。コアがチェッ ク しない TLP に関連付けら

X-Ref Target - Figure 3-54

図 3‐54 : rx_bar_hit を使用したターゲッ トの BAR 判断

X-Ref Target - Figure 3-55

図 3‐55 :受信ト ランザクシ ョ ンの中断

user_clk_out

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_is_sof[4:0])m_axis_rx_tuser[14:10]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

(rx_bar_hit[7:0])m_axis_rx_tuser[9:2]

H3H2H1H0 D3D2D1D0 D7D6D5D4 D0H2H1H0 D4D3D2D1 D8D7D6D5

10000b 00000b 10000b 00000b

00011b 11111b 00011b 11111b

0000010b 0001100b

TLP1 TLP2

SOF H0 SOF H0

EOF D7 EOF D8

user_clk_out

user_lnk_up

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_is_sof[4:0])m_axis_rx_tuser[14:10]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

D0H2H1H0 D4D3D2D1 D8D7D6D5 PAD PAD

10000b 00000b

00000b 11111b

original TLP data was lost

Page 82: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 82

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

れているエラーでユーザー アプリ ケーシ ョ ンに出力されているものは、 cfg_err_* インターフェイスを使用してユーザー アプリ ケーシ ョ ン ロジッ クが通知する必要があ り ます。

表 3-11 および表 3-12 では、エンドポイン トおよびルート ポート コンフ ィギュレーシ ョ ンに対し、受信された TLP タイプおよびコア/TLP のコンディシ ョ ンに基づいて、 コアでインプリ メン ト されているパケッ ト処理について説明されています。

表 3‐11 :受信 AXI4‐Stream インターフェイスでの TLP 処理 : エンドポイン ト

TLP タイプコアまたは TLP エラーの

コンディシ ョ ンTLP へのコアの応答

メモ リ読み出し

メモ リ書き込み

ア ト ミ ッ ク OpI/O 読み出し

I/O 書き込み

BAR がない サポート されない要求

D0 以外の PM ステート のと き受信

サポート されない要求

上記のいずれのコンディ シ ョ ンでもない

ユーザー アプリ ケーシ ョ ンに TLP を出力

メモ リの読み出しロ ッ ク

非レガシ PCI Express エンドポイン トで受信

サポート されない要求

レガシ エンドポイン ト

BAR がない サポート されない要求

D0 以外の PM ステートのと き受信

サポート されない要求

上記のいずれのコンディ シ ョ ンでもない

ユーザー アプリ ケーシ ョ ンに TLP を出力

コンフ ィギュレーシ ョ ン読み出し /書き込みタイプ 0

内部コンフ ィ ギュ レーシ ョ ン空間

内部コンフ ィ ギュレーシ ョ ン空間の読み出し /書き込みのためコアで TLP が使用され、完了者ID/完了が生成される

ユーザー定義の コ ン フ ィ ギ ュレーシ ョ ン空間

ユーザー アプリ ケーシ ョ ンに TLP を出力

コンフ ィギュレーシ ョ ン読み出し /書き込みタイプ 1

エンドポイン トで受信 サポート されない要求

コンプ リーシ ョ ン要求

完了のロッ ク

要求者 ID がない 予期しないコンプリーシ ョ ン

D0 以外の PM ステート のと き受信

予期しないコンプリーシ ョ ン

上記のいずれのコンディ シ ョ ンでもない

ユーザー アプリ ケーシ ョ ンに TLP を出力

Page 83: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 83

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

[Messages]セクシ ョ ン

スロ ッ ト電源制限設定 エンドポイン トで受信デバイス機能レジスタの取り込まれたスロ ッ ト電源制限スケール/値フ ィールド をプログラムするため TLP はコアで使用される

PM_PMEPME_TO_Ack エンドポイン トで受信 サポート されない要求

PM_Active_State_NAKPME_Turn_Off エンドポイン トで受信

パワー マネージ メ ン ト を制御するためコアでTLP が使用される

アンロ ッ ク非レガシ エンドポイン トで受信 無視

レガシ エンドポイン トで受信 ユーザー アプリ ケーシ ョ ンに TLP を出力(1)

INTX エンドポイン トで受信 致命的なエラー

致命的なエラー

非致命的エラー

修正可能なエラー

エンドポイン トで受信 サポート されない要求

ベンダー定義のタイプ 0ベンダー定義のタイプ 1

エンドポイン トで受信 ユーザー アプリ ケーシ ョ ンに TLP を出力(1)

ホッ ト プラグ メ ッセージ

エンドポイン トで受信 コアによ り TLP が破棄

注記 :1. TLP は cfg_msg* インターフェイスおよび m_axis_rx_* に出力されます。

表 3‐12 :受信 AXI4‐Stream インターフェイスでの TLP 処理 : ルート  ポート

TLP タイプコアまたは TLP エラーの

コンディシ ョ ンTLP へのコアの応答

メモ リ読み出し

メモ リ書き込み

ア ト ミ ッ ク OpI/O 読み出し

I/O 書き込み

BAR がないルート ポート コンフ ィギュレーシ ョ ンでは BARフ ィルタ リ ングはなし :ユーザー アプリ ケーシ ョンに TLP を出力

D0 以外の PM ステー ト のと き受信

サポート されない要求

上記のいずれのコンディシ ョ ンでもない

ユーザー アプリ ケーシ ョ ンに TLP を出力

メモ リの読み出しロ ッ ク ルート ポートで受信 ユーザー アプリ ケーシ ョ ンに TLP を出力

コンフ ィ ギュ レーシ ョ ン読み出し /書き込みタイプ 0

ルート ポートで受信 サポート されない要求

コンフ ィ ギュ レーシ ョ ン読み出し /書き込みタイプ 1

ルート ポートで受信 サポート されない要求

コンプ リーシ ョ ン要求

完了のロッ クルート ポートで受信 ユーザー アプリ ケーシ ョ ンに TLP を出力

表 3‐11 :受信 AXI4‐Stream インターフェイスでの TLP 処理 : エンドポイン ト  (続き)

TLP タイプコアまたは TLP エラーの

コンディシ ョ ンTLP へのコアの応答

Page 84: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 84

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ア ト ミ ッ ク操作

7 Series FPGAs Integrated Block for PCI Express では、『PCI Express Base Specification v2.1』 で定義されているよ うにア ト ミ ッ ク操作 (ア ト ミ ッ ク Op) の送受信がサポート されています。 この仕様では、 複数のベンダーおよびユーザーの間でアドバンス同期化が使用できる 3 つの TLP タイプが定義されています。 統合ブロ ッ クはア ト ミ ッ ク Op TLP をノンポステッ ド メモ リ ト ランザクシ ョ ンと して処理します。 この 3 つの TLP タイプは次のとおりです。

• FetchAdd

• Swap

• CAS (Compare And Set)

ア ト ミ ッ ク Op を要求するアプリ ケーシ ョ ンは、 ユーザー アプリ ケーシ ョ ンでその TLP を作成し、 送信 AXI4-Stream インターフェイスを介して送信する必要があ り ます。 ア ト ミ ッ ク Op に応答する (ア ト ミ ッ ク Op への完了) アプリ ケーシ ョ ンは、 受信AXI4-Stream イ ン ターフ ェ イ スからその TLP を受信し、 ユーザー アプ リ ケーシ ョ ンで適切な完了 TLP を作成し、 送信AXI4-Stream インターフェイスを介してその完了を送信する必要があ り ます。

コア バッファーおよびフロー制御

サポート される 大ペイロード  サイズ

TLP のサイズは両方のリ ンク パートナーの機能によって制限されます。 リ ンクが ト レインされた後、 ルート コンプレッ クスがデバイス制御レジスタの MAX_PAYLOAD_SIZE 値を設定します。 この値は、 コアのデバイス機能レジスタによ り設定されている値以下になり ます。 統合ブロ ッ ク コアのデバイス機能レジスタで設定されている値は、 128、 256、 512、 または 1024 バイ トで、 Vivado 統合設計環境 (IDE) の設定によ り異な り ます (1024 は 8 レーン、 5.0Gb/s、 128 ビッ ト コアではサポート されていません).。 これらのレジスタの詳細は、 『PCI Express Base Specification』 [参照 2]のセクシ ョ ン 7.8 を参照してください。 コアのデバイス制御レジスタの値は、 cfg_dcommand[15:0] 出力のユーザー アプリ ケーシ ョ ンに供給されます。 この出力については95 ページの 「コンフ ィギュレーシ ョ ン空間レジスタおよびコンフ ィギュレーシ ョ ン インターフェイスを使用したデザイン」 を参照して ください。

[Messages]セクシ ョ ン

スロ ッ ト電源制限設定 ルート ポートで受信 サポート されない要求

PM_PMEPME_TO_Ack ルート ポートで受信 ユーザー アプリ ケーシ ョ ンに TLP を出力(1)

PM_Active_State_NAK ルート ポートで受信 サポート されない要求

PME_Turn_Off ルート ポートで受信 致命的なエラー

アンロ ッ ク ルート ポートで受信 致命的なエラー

INTX ルート ポートで受信 ユーザー アプリ ケーシ ョ ンに TLP を出力(1)

致命的なエラー

非致命的エラー

修正可能なエラー

ルート ポートで受信 ユーザー アプリ ケーシ ョ ンに TLP を出力(1)

ベンダー定義のタイプ 0ベンダー定義のタイプ 1

ルート ポートで受信 ユーザー アプリ ケーシ ョ ンに TLP を出力(1)

ホ ッ ト プラグ メ ッセージ

ルート ポートで受信 コアによ り TLP が破棄

注記 :1. TLP は cfg_msg* インターフェイスに出力され、 Vivado 統合設計環境 (IDE) で有効になっている場合にのみm_axis_rx*にも出力されます。

表 3‐12 :受信 AXI4‐Stream インターフェイスでの TLP 処理 : ルート  ポート  (続き)

TLP タイプコアまたは TLP エラーの

コンディシ ョ ンTLP へのコアの応答

Page 85: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 85

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

送信バッファー

Integrated Block for PCI Express の送信 AXI4-Stream インターフェイスは tx_buf_av を提供します。 これは送信バッファーで使用可能な Max_Payload_Size バッファー数を即時に示すものです。 表 3-13 には、 コアに対して使用可能な送信バッファー数およびサポート されている 大ペイロード サイズがまとめられています。

各バッファーは 大サイズの TLP を 1 つ格納できます。 大サイズの TLP とは、4 DWORD ヘッダー、コアの Max_Payload_Sizeに等しいデータ ペイロード (デバイス機能レジスタで定義)、TLP ダイジェス ト を足したものです。リ ンクが ト レインされた後、ルート コンプレッ クスがデバイス制御レジスタの Max_Payload_Size 値を設定します。 この値は、 コアのデバイス機能レジスタによ り設定されている値以下になり ます。 これらのレジスタの詳細は、 『PCI Express Base Specification』 のセクシ ョ ン 7.8 を参照して ください。 リ ンク パートナーがパケッ トの受信を承認するまでコアの送信バッファーに TLP は一時保存され、 バッファーが解放される と、 新しい TLP がユーザー アプリ ケーシ ョ ンによって読み込まれます。

たとえば、 エンドポイン ト コアに対し選択されている機能 大ペイロード サイズが 256 バイ トで、 パフォーマンス レベルがHigh の場合、 送信バッファーは合計 29 個あ り ます。 これらのバッファーそれぞれで 大、 64 ビッ ト メモ リ 要求 (4 DWORDヘッダー )、 256 バイ トのデータ (64 DWORD)、 TLP ダイジェス ト (1 DWORD) を足した、 合計 69 ワードを一時保存できます。この例ではデバイス制御レジスタの MAX_PAYLOAD_SIZE レジスタを 256 に設定します。 この値はこのコアで設定可能な大値です。 このため、 任意時にこのコアでは 69 の DWORD TLP のうち 29 の TLP が送信用に待機できます。 複数の TLP 間でバッファーが共有されるこ とはないため、 TLP ダイジェス トがなく TLP ごとに合計 3 DWORD しかない 32 ビッ ト メモ リ読み出し要求など、 小さな TLP をユーザーが送信する場合であっても、 各送信バッファーは任意時に 1 つの TLP しか一時保存できません。

内部送信バッファーはユーザー アプリ ケーシ ョ ンと コアのコンフ ィギュレーシ ョ ン管理モジュール (CMM) との間で共有されます。 このため、 ユーザー アプリ ケーシ ョ ンがパケッ ト を送信していない場合でも tx_buf_av バスは変動する可能性があ り ます。 コンフ ィギュレーシ ョ ン読み出しまたは書き込み、 ユーザー アプ リ ケーシ ョ ンの要求による割り込み TLP、 およびメ ッセージ TLP への応答と して随時 CMM は完了 TLP を生成します。

利用可能な送信バッファー数の表示によ り、 ユーザー アプ リ ケーシ ョ ンがコア ト ランス ミ ッ タの PCI ト ランザクシ ョ ン順序付け機能をフルに活用できます。 この順序ルールによ り、 ポステッ ド TLP および完了 TLP がノンポステッ ド TLP をバイパスできるよ うになっています。 パケッ ト順序ツールについての詳細は、 『PCI Express Base Specification』 [参照 2]のセクシ ョ ン 2.4を参照して ください。

コアは ト ランザクシ ョ ン順序ルールをサポート しており、 ブロ ッ ク されたノンポステッ ド TLP よ りポステッ ドおよび完了パケッ ト を優先させます。 ノンポステッ ド TLP は、 リ ンク パートナーでノンポステッ ド受信バッファーが一時的に使用できない場合に、 ブロ ッ ク されます。 この状態はフロー制御アップデート を介して通知されます。 このケースでは、 コアはノンポステッ ド TLP よ り も完了およびポステッ ド TLP をします。 しかし、 この状態は完了またはポステッ ド TLP がユーザー アプ リケーシ ョ ンによ り コアに読み込まれた場合にのみ発生します。 tx_buf_av を監視するこ とによ り、 ユーザー アプリ ケーシ ョ ンは、任意の完了またはポステッ ド TLP に対して 低 1 つの空きバッファーがあるこ とを確認するこ とができます。完了およびポステッ ド TLP が優先されるのはノンポステッ ド TLP がブロ ッ ク されている場合にのみです。 それ以外の場合は、 ユーザーアプリ ケーシ ョ ンから受信された順番でリ ンク上でパケッ トは送信されます。

表 3‐13 :使用可能な送信バッファー

機能 大 ペイロード  サイズ (

バイ ト )

パフォーマンス レベル(1)

Good (ブロック  RAM の使用を 小限) High (パフォーマンスを 大限)

128 26 32

256 14 29

512 15 30

1024(2) 15 31

注記 :1. パフォーマンス レベルは Vivado IDE の選択で決定します。 2. 1024 iは 8 レーン、 5.0Gb/s、 128 ビッ ト コアではサポート されていません。

Page 86: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 86

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

利用可能なレシーバー フロー制御クレジッ ト

コアはレシーバーのバッファーのキューの状態をユーザー アプリ ケーシ ョ ンに知らせます。 この情報は、 ポステッ ド、 ノンポステッ ド、 完了キューに対し現在の利用可能空きスペースを表します。

1 ヘッダー クレジッ トは 3 または 4 DWORD TLP ヘッダーに等し く、 1 データ クレジッ トは 16 バイ トのペイロード データ と同じです。 表 3-14 には、 user_lnk_up のアサート直後、 任意の TLP の受信前に利用可能なクレジッ トの値がまとめられています。 上記のタイプのキューに対し利用可能な空きスペースがない場合は、 それに対応するクレジッ トが 0 になり ます。 利用可能なクレジッ ト、 すべての TLP がレシーバーからなくなった後に初期値に戻り ます。

ユーザー アプリ ケーシ ョ ンは、コアおよびコア アプリ ケーシ ョ ンで利用可能なレシーバーのバッファー空きスペースを効率よく使用 ・管理するため、 fc_ph[7:0]、 fc_pd[11:0]、 fc_nph[7:0]、 fc_npd[11:0]、 fc_cplh[7:0]、 fc_cpld[11:0]、 および fc_sel[2:0] を使用できます。 詳細は、 「フロー管理クレジッ ト情報」 を参照して ください。

エンドポイン ト コアには、 アップス ト リーム コンポーネン トから ノンポステッ ド読み出し要求があった場合にバッファーがオーバーフローするのを避けるためのアドバンス措置をユーザー アプ リ ケーシ ョ ンが取らなければならないとい う要件があり ます。 この仕様によれば、 PCI Express エンドポイン トは、 そのレシーバーでの完了ト ランザクシ ョ ンに対し、 無限ス ト レージ クレジッ ト を設定する必要があ り ます。つま り、エンドポイン トはアップス ト リームから送信されたメモリ読み出し要求を内部で管理し、対応する完了が受信された場合にレシーバーがオーバーフローしないよ うにする必要があ り ます。ユーザー アプリ ケーシ ョ ンの送信ロジッ クは、 コア レシーバーで即時使用可能な完了スペース内に留まるため、出力された完了クレジット情報を使用して、 メモ リ読み出し要求のレートおよびサイズをモジュレートする必要があ り ます。 詳細は、 付録 C 「受信される完了に対する受信バッファー スペースの管理」 を参照してください。

フロー管理クレジッ ト情報

フロー制御クレジッ ト信号の使用

統合ブロ ッ クは、 ト ランザクシ ョ ン層の送信および受信バッファーにある クレジッ トの状態に関する情報をユーザー アプ リケーシ ョ ンに提供します。 現在利用可能なスペース、 ポステッ ド、 ノンポステッ ド、 完了に対するクレジッ トの 「制限 (limit)」や 「使用済み (consumed)」 といった情報が提供されます。

表 3‐14 : ト ランザクシ ョ ン レシーバー クレジッ トの初期値

クレジッ ト  タイプPerformance (パフォーマンス)

レベル

機能 大ペイロード  サイズ

128 バイ ト 256 バイ ト 512 バイ ト 1024 バイ ト

ノンポステッ ド ヘッダー 良12

ノンポステッ ド データ 良12

ポステッ ド ヘッダー 良32

ポステッ ド データ 良 77 77 154 308

高 154 154 308 616

完了ヘッダー 良36

完了データ 良 77 77 154 308

高 154 154 308 616

Page 87: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 87

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

15 ページの表 2-8にはフロー制御クレジッ ト信号がまとめられています。次の信号に対するクレジッ ト ステータス情報が記載されています。

• fc_ph[7:0]

• fc_pd[11:0]

• fc_nph[7:0]

• fc_npd[11:0]

• fc_cplh[7:0]

• fc_cpld[11:0]

これらの信号をま とめて 「fc_*」 と呼びます。

fc_* 信号は 『PCI Express Base Specification』 の 「Header and Data Credits for Each of Posted, Non-Posted, and Completion.」 に定義されている 6 つのクレジッ トぞれぞれの情報を提示します。

フロー制御情報の 6 つのタイプはユーザー アプリ ケーシ ョ ンが読み出すこ とができます。 fc_sel[2:0] 入力は fc_* 出力によ り表されているフロー制御のタイプを選択します。 フロー制御情報タイプは表 3-15 にまとめられています。

異なるフロー制御情報タイプを示すため、 fc_sel[2:0] 入力は毎クロ ッ ク サイクル変わり ます。 64 ビッ トおよび 128 ビッ ト インターフェイスの両方に対し、 fc_sel[2:0] の値が変わってから対応するフロー制御情報が fc_* 出力に現れるまで 2 ク ロ ッ ク サイクルの遅延があ り ます。 図 3-56 はフロー制御クレジッ ト信号のタイ ミ ングを説明しています。

fc_* 信号の出力値は 『PCI Express Base Specification』 [参照 2]で定義されているクレジッ ト値を表します。 1 ヘッダー クレジットは 3 または 4 DWORD TLP ヘッダーに等し く、1 データ クレジッ トは 16 バイ トのペイロード データ と同じです。user_lnk_upのアサート直後、 任意の TLP の受信前にクレジッ トの初期値は使用可能です。 表 3-16 には fc_* 信号の出力値が定義されています。 初期クレジッ ト情報は、 統合ブロ ッ クおよびリ ンク パートナー内の受信バッファーのサイズによって異なり ます。

表 3‐15 : フロー制御情報タイプ

fc_sel[2:0]  フロー制御情報タイプ

000 受信クレジッ ト空きスペース

001 受信クレジッ ト数の制限

010 使用された受信クレジッ ト数

011 予約済み

100 送信クレジッ ト空きスペース

101 送信クレジッ ト数の制限

110 使用された送信クレジッ ト数

111 予約済み

X-Ref Target - Figure 3-56

図 3‐56 : 64 ビッ トおよび 128 ビッ ト  インターフェイスのフロー制御クレジッ ト

user_clk_out

fc_sel[2:0]

fc_*

000b 001b 110b

RX Avail RX Limit TX Consumed

Page 88: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 88

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

受信クレジッ ト フロー制御情報

受信クレジッ ト フロー制御情報は、 fc_sel[2:0] を 000b、 001b、 または 010b に設定するこ とで取得できます。 この情報は統合ブロッ ク内の受信バッファーの現在のステータスを示します。

受信クレジッ ト使用可能スペース : fc_sel[2:0] = 000b

受信クレジッ ト使用可能スペースは、 各クレジッ ト プールに対する統合ブロ ッ クの ト ランザクシ ョ ン層のローカル受信バッファーで使用可能なクレジッ ト スペースを表します。クレジッ ト プールに対し利用可能な空きスペースがない場合は、それに対応する fc_* 信号の値が 0 になり ます。 ユーザー アプリ ケーシ ョ ンが統合ブロ ッ クからすべての TLP を出し切ったら、 受信クレジッ ト使用可能スペースはその初期値に戻り ます。

特定のクレジッ ト プールに対し リ ンク パートナーに、エンドポイン トに対する完了クレジッ ト などの無限クレジッ トが送信された場合、 ユーザー アプリ ケーシ ョ ンは、 完了バッファー オーバーフローを避けるため、 付録 C 「受信される完了に対する受信バッファー スペースの管理」 で説明されている方法でこの値を使用する必要があ り ます。

表 3‐16 : fc_* 値の定義

ヘッダー クレジッ ト値 データ  クレジッ ト値 説明

00 – 7F 000 – 7FF ユーザー クレジッ ト

FF-80 FFF-800 使用可能な負のクレジッ ト (1)

7F 7FF 使用可能な無限クレジッ ト (1)

注記 :1. 使用可能な送信クレジッ トのみが使用可能な負または無限のクレジッ ト を表します。

Page 89: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 89

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

受信クレジッ ト数制限 : fc_sel[2:0] = 001b

受信クレジッ ト数制限は、 リ ンク パートナーに許可されているクレジッ ト数を示します。 fc_* の値はフロー制御初期化中に統合ブロッ クによ り送信される値で初期化され、また TLP は AXI4-Stream インターフェイスを介して ト ランザクシ ョ ン層の受信バッファーから読み出されるたびに累積カウン ト と してアップデート されます。 この値は 『PCI Express Base Specification』 では 「CREDITS_ALLOCATED」 と して言及されています。

無限クレジッ トが特定クレジッ ト プールに対して出力された場合、そのプールの受信バッファー クレジッ ト数制限は常に 0 クレジッ ト とな り ます。

使用された受信クレジッ ト数 : fc_sel[2:0] = 010b

使用された受信バッファー クレジッ ト数は、 リ ンク パートナーで使用された (および統合ブロ ッ クで受信された) クレジッ ト数を示します。 fc_* の初期値は常にゼロで、 パケッ トが ト ランザクシ ョ ン層の受信バッファーで受信されるたびに累積カウント と してアップデート されます。 この値は 『PCI Express Base Specification』 では 「CREDITS_RECEIVED」 と して言及されています。

送信クレジッ ト フロー制御情報

送信クレジッ ト フロー制御情報は、 fc_sel[2:0] を 100b、 101b、 または 110b に設定するこ とで取得できます。 この情報はリ ンク パートナー内の送信バッファーの現在のステータスを示します。

送信クレジッ ト使用可能スペース : fc_sel[2:0] = 100b

送信クレジッ ト使用可能スペースは、各クレジッ ト プールに対し リ ンク パートナーの受信バッファー内で使用可能なクレジット スペースを示します。 クレジッ ト プールに対し利用可能な空きスペースがない場合は、 それに対応する fc_* 信号の値が 0または負の値にな り ます。 統合ブロ ッ クが リ ンク パートナーに TLP をすべて問題なく送信した後、 送信クレジッ ト使用可能スペースはその初期値に戻り ます。

値が負の値である場合、 リ ンク パートナーが現時点で使用できる量を超えたヘッダーまたはデータが統合ブロ ッ クのローカル送信バッファーに書き込まれています。 ポステッ ド パケッ トが完了を飛び越えるこ とはブロ ッ クでは許可されていないため、クレジッ ト を待っている完了が書き込まれたポステッ ドの前にある場合、 そのポステッ ド パケッ トは送信されません (値は 0または負の値になっている )。同様に、 クレジッ ト を待っているポステッ ドが書き込まれた完了の前にある場合、 その完了は送信されません。 ユーザー アプリ ケーシ ョ ンは送信クレジッ ト使用可能スペースを監視しますが、 その目的は、 こ う した一時的なブロ ッキング状態が発生しないこ と、PCI Express リ ンクの帯域幅がリ ンク パートナーの受信バッファー内に十分なスペースを持つ統合ブロッ クにパケッ ト を書き込むこ とのみに使用されるこ とを確認するためです。 統合ブロ ッ ク内ではノンポステッド パケッ ト を常にバイパスできるため、書き込まれたポステッ ドまたは完了パケッ トはクレジッ ト を待っている ノンポステッド パケッ ト を飛び越します。

リ ンク パート内はこれら 3 つのト ラフ ィ ッ ク タイプの 1 つまたは複数に対し無限クレジッ ト を送信できます。無限クレジッ トを示すには、 ヘッダーおよびデータのクレジッ ト出力を表 3-16 にあるよ うに 大値に設定します。

送信クレジッ ト数制限 : fc_sel[2:0] = 101b

送信クレジッ ト数の制限は、 各クレジッ ト プールに対する リ ンク パートナーの受信バッファー制限値を表します。 fc_* の値はフロー制御初期化中にリ ンク パートナーによ り送信される値で初期化され、 また リ ンク パートナーからフロー制御アップデートが受信されるたびに累積カウン ト と してアップデート されます。 この値は 『PCI Express Base Specification』 [参照 2]では「CREDITS_LIMIT」 と して言及されています。

無限クレジッ トが特定クレジッ ト プールに対して出力された場合、そのプールの送信バッファー クレジッ ト数制限は常に 0 クレジッ ト とな り ます。

使用された送信クレジッ ト数 : fc_sel[2:0] = 110b

使用された送信クレジッ ト数は、統合ブロッ クによ り使用された リ ンク パートナーの受信バッファーのクレジッ ト数を表します。 fc_* の初期値は常にゼロで、 パケッ トが リ ンク パートナーに送信されるたびに累積カウン ト と してアップデート されます。 この値は 『PCI Express Base Specification』 では 「CREDITS_CONSUMED」 と して言及されています。

Page 90: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 90

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

物理層制御およびステータス インターフェイスを使用したデザイン

物理層制御およびステータスを使用し、ユーザー アプリ ケーシ ョ ンは、データ スループッ トおよび電源要件に合わせて リ ンク幅および速度を変更するこ とができます。

リンク変更指示に関する設計注意事項

リ ンク変更指示に関しては次の点に注意して ください。

• pl_ltssm_state[5:0] 信号で示されるよ うに、 user_lnk_up がアサート され、 コアが L0 ステートの場合にのみ、 リ ンク変更操作を開始できます。

• リ ンク反転がイネーブルになっている場合はリ ンク幅変更を行わないでください。

• リ ンク幅変更操作のターゲッ ト リ ンク幅は pl_initial_link_width 出力で示される値以下である必要があ り ます。

• pl_link_upcfg_cap が 1b に設定されている場合、PCI Express リ ンクはアップコンフ ィギュレーシ ョ ンに対応しています。 これでリ ンク幅は、初期ネゴシエート された リ ンク幅と、 ポートおよびリ ンク パートナーの両方でサポート されている小さいほうのリ ンク幅の間で変動可能になり ます (これはリ ンクの信頼性またはアプリ ケーシ ョ ン上の理由による )。

• リ ンクがアップコンフ ィギュレーシ ョ ン対応でない場合は、ネゴシエート された リ ンク幅は、 リ ンク パートナーおよびデバイスの両方でサポート されているネゴシエート された リ ンク幅よ り も低い値にのみ変動できます。

• リ ンク スピードを 2.5Gb/s から 5.0Gb/s へと変更する前に、ユーザー アプリ ケーシ ョ ンで リ ンクが 5.0Gb/s (Gen2) 対応である こ と (pl_link_gen2_cap = 1b であ る と い う こ と )、 また リ ン ク パー ト ナーも Gen2 対応であ る こ と(pl_link_partner_gen2_capable = 1b) を確認する必要があ り ます。

• アプリ ケーシ ョ ンに有利となる リ ンク幅変更は、 cfg_lcommand[9] (ハードウェア自律幅ディ スエーブル ビッ ト ) が 0b の場合にのみ行って く だ さ い。 ま た、 アプ リ ケーシ ョ ンのニーズに応じ て リ ン ク 速度および幅を変更する場合は、pl_directed_link_auton を (1b) に駆動する必要があ り ます。 リ ンク幅およびスピードを元の (値が大きいほうの) 幅および速度に戻すには、 pl_link_upcfg_cap を 1b に設定します。

• リ ンク パートナーではサポート されていない幅にユーザー アプリ ケーシ ョ ンがリ ンクを変更指示する場合、 その結果値は、 相互にサポート されている リ ンク幅の中の次に狭い幅になり ます。 たとえば、 8 レーン リ ンクが 4 レーンへと変更が指示されていても、 リ ンク パートナーでは 1 レーンの ト レイン ダウン操作のみがサポート されています。つま り、 リ ンク幅は 1 レーンとな り ます。

• デバイスが D0 のパワー ステートにある場合のみ (cfg_pmcsr_powerstate[1:0] = 00b)、エンドポイン トはリ ンク変更指示を実行する必要があ り ます。

• cfg_pcie_link_state = 101b (PPM L1 への遷移/PPM L1 からの遷移) または cfg_pcie_link_state = 110b (PPM L2/L3 準備完了への遷移) の場合、 リ ンク変更指示ピンを使用して (ルート またはエンドポイン ト )、 またはリ ト レイン ビッ ト を設定して (ルートのみ)、 リ ト レインを開始しないでください。

• タイ ミ ング ク ロージャーを簡単にするため、 リ ンク変更指示を開始する前 高 16 ユーザー ク ロ ッ ク サイ クル間、上記のコンディシ ョ ンをすべて TRUE に設定してチェッ クするこ とができます。 これらのコンディシ ョ ンは次のとおりです。

° user_lnk_up == 1'b1

° pl_ltssm_state[5:0] == 6'h16

° cfg_lcommand[9] == 1'b0

° cfg_pmcsr_powerstate[1:0] == 2'b00

° cfg_pcie_link_state[2:0] != either 3'b101 or 3'b110

リンク幅変更指示

図 3-57 には、ユーザー アプリ ケーシ ョ ンによ り インプリ メン トする必要のある リ ンク幅変更指示プロセスが示されています。こ こでは target_link_width[1:0] はアプリ ケーシ ョ ンによる新しいリ ンク幅要求です。

Page 91: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 91

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

X-Ref Target - Figure 3-57

図 3‐57 : リンク幅変更指示

target_link_width[1:0] != pl_sel_lnk_width[1:0]

Yes

Yes

pl_link_upcfg_cap == 1b

target_link_width[1:0] <= (pl_initial_link_width[2:0] -1)

target_link_width[1:0] < pl_sel_lnk_width[1:0]

Unsupported Operation

No No

pl_directed_lnk_width[1:0] = target_link_width[1:0]pl_directed_link_change[1:0] = 01b

Yes Yes

((pl_directed_change_done == 1b) ||(user_lnk_up == 0b))

No

pl_directed_link_change[1:0] = 00b

Change Complete

No

Assign target_link_width[1:0]

Yes

No

usr_lnk_up = 1band

pl_ltssm_state[5:0] = L0

Yes

No

Page 92: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 92

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

リンク  スピード変更指示

図 3-58 には、 ユーザー アプリ ケーシ ョ ンによ り インプリ メ ン トする必要のある リ ンク スピード変更指示プロセスが示されています。 target_link_speed はアプリ ケーシ ョ ンによる新しいリ ンク スピードの要求です。

注記 :属性 RP_AUTO_SPD = 11 でない場合、pl_directed_link_change ピンを 10 または 11 に駆動するこ とによ り、ルート ポートで リ ンク スピードを変更しないでください。

X-Ref Target - Figure 3-58

図 3‐58 : リンク  スピード変更指示

target_link_speed != pl_sel_link_rate

No

Yes

pl_directed_lnk_speed = target_link_speedpl_directed_link_change[1:0] = 10b

((pl_directed_change_done == 1b) ||(user_lnk_up == 0b))

No

pl_directed_link_change[1:0] = 00b

Change Complete

Assign target _link_speed

Yes

Yes

No user_lnk_up = 1band

pl_ltssm_state[5:0] = L0

Page 93: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 93

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

リンク幅およびスピード変更指示

図 3-59 には、 ユーザー アプリ ケーシ ョ ンによ り インプ リ メ ン トする必要のある リ ンク幅およびスピード変更指示プロセスが示されています。 target_link_width[1:0] はアプリ ケーシ ョ ンによる新しい リ ンクの幅要求、 target_link_speed はアプ リ ケーシ ョンによる新しいリ ンク スピードの要求です。

注記 :属性 RP_AUTO_SPD = 11 でない場合、pl_directed_link_change ピンを 10 または 11 に駆動するこ とによ り、ルート ポートで リ ンク スピードを変更しないでください。

Page 94: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 94

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

X-Ref Target - Figure 3-59

図 3‐59 : リンク幅およびスピード変更指示

(target_link_width[1:0] != pl_sel_lnk_width[1:0])&&

(target_link_speed != pl_sel_lnk_rate)

No

Yes

Yes

pl_link_upcfg_capable == 1b

target_link_width[1:0] <= (pl_initial_link_width[2:0] -1)

target_link_width[1:0] < pl_sel_lnk_width[1:0]

Unsupported Operation

No No

pl_directed_lnk_width[1:0] = target_link_width[1:0]pl_directed_lnk_speed = target_link_speed

pl_directed_link_change[1:0] = 11b

Yes Yes

((pl_directed_change_done == 1b) ||(user_lnk_up == 0b))

No

pl_directed_link_change[1:0] = 00b

Change Complete

No

Assign target_link_width[1:0]Assign target _link_speed

Yes

Yes

user_lnk_up = 1band

pl_ltssm_state[5:0] = L0

No

Page 95: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 95

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

コンフ ィギュレーシ ョ ン空間レジスタおよびコンフ ィギュレーシ ョ ン  インターフェイスを使用したデザイン

統合ブロッ ク コアの一部である PCI Express コンフ ィギュレーシ ョ ン空間タイプ 0 またはタイプ 1 のレジスタにアクセスするためのコンフ ィギュレーシ ョ ン インターフェイスの使用について、 このセクシ ョ ンでは説明します。 コンフ ィギュレーシ ョ ンインターフェイスにはこれらのレジスタへのアクセス用に読み出し /書き込みコンフ ィギュレーシ ョ ン ポートが含まれています。 さ らに、利便性を高めるため一般的に使用されるレジスタの一部がこのコンフ ィギュレーシ ョ ン インターフェイスに直接マップされています。

コンフ ィギュレーシ ョ ン  インターフェイスに直接マップされたレジスタ

統合ブロッ ク コアを使用するこ とによ り、コンフ ィギュレーシ ョ ン空間でコマンドおよびステータス レジスタを直接選択するこ とができます。 エンドポイン トの場合、 これらのレジスタの値は通常ルート コンプレッ クスから受信されたコンフ ィギュレーシ ョ ン書き込みによって変更されます。しかし、コンフ ィギュレーシ ョ ン ポート を使用してユーザー アプリ ケーシ ョ ンもこれらの値を変更できます。ルート ポート コンフ ィギュレーシ ョ ンでは、これらの値を変更するにはコンフ ィギュレーシ ョ ンポート を常に使用する必要があ り ます。表 3-17 にはコンフ ィギュレーシ ョ ン ポートにマップされているコマンドおよびステータス レジスタがま とめられています。

デバイス制御およびステータス レジスタの定義

cfg_bus_number[7:0]、 cfg_device_number[4:0]、 cfg_function_number[2:0]

コア ID はこれら 3 つの値を合わせて構成されています。入力されるタイプ 0 のコンフ ィギュレーシ ョ ン書き込みの対応フ ィールドからコアはこの ID を取り込みます。ユーザー アプリ ケーシ ョ ンは、 コアが送信する リ クエス トの要求者 ID と してこのコ

表 3‐17 : コンフ ィギュレーシ ョ ン  ポートにマップされているコマンドおよびステータス レジスタ

ポート名 方向 説明

cfg_bus_number[7:0] 出力 バス番号。 リセッ ト後のデフォルト値は 00h です。 タイプ 0 のコンフ ィ ギュレーシ ョ ン書き込みパケッ ト が受信される と常にリ フレッシュされます。

cfg_device_number[4:0] 出力 デバイス番号。 リ セッ ト後のデフォル ト値は 00000b です。 タイプ 0 のコンフ ィギュレーシ ョ ン書き込みパケッ トが受信される と常にリ フレッシュされます。

cfg_function_number[2:0] 出力 ファンクシ ョ ン番号。 ファンクシ ョ ン番号は 000b に固定されています。

cfg_status[15:0] 出力 ステータス レジスタ。コンフ ィギュレーシ ョ ン空間ヘッダーからのステータス レジスタですが、 サポート されていません。

cfg_command[15:0] 出力 コマンド レジスタ。コンフ ィギュレーシ ョ ン空間ヘッダーからのコマンド レジスタです。

cfg_dstatus[15:0] 出力 デバイス ステータス レジスタ。 PCI Express 機能構造からのデバイス ステータス レジスタです。

cfg_dcommand[15:0] 出力 デバイス コマンド レジスタ。 PCI Express 機能構造からのデバイス制御レジスタです。

cfg_dcommand2[15:0] 出力 デバイス コマンド 2 レジスタ。 PCI Express 機能構造からのデバイス制御レジスタ 2 です。

cfg_lstatus[15:0] 出力 リ ンク ステータス レジスタ。 PCI Express 機能構造からのリ ンク ステータス レジスタです。

cfg_lcommand[15:0] 出力 リ ンク コマンド レジスタ。 PCI Express 機能構造からのリ ンク制御レジスタです。

Page 96: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 96

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ア ID を使用し、 またコアが送信する完了応答の完了者 ID と してこれを使用します。 このコアでは 1 つのファンクシ ョ ンしかサポート されていないため、 ファンクシ ョ ン番号は 000b に固定されています。

cfg_status[15:0]

この出力バスはサポー ト されていません。 コンフ ィ ギュレーシ ョ ン ポー ト を使用し 7 Series FPGAs Integrated Block for PCIExpress のコンフ ィギュレーシ ョ ン空間の読み出しアクセスによ り情報は取り込むこ とができます。

cfg_command[15:0]

このバスは、PCI コンフ ィギュレーシ ョ ン空間ヘッダーのコマンド レジスタに格納されている値を反映します。表 3-18 はこのバスの各ビッ ト を定義しています。 詳細は 『PCI Express Base Specification』 [参照 2]を参照してください。

ユーザー アプリ ケーシ ョ ンはバス マスター イネーブル ビッ ト (cfg_command[2]) を監視する必要があ り、 このビッ トが設定されていない間は要求を送信できません。 この要件は要求のみを対象と し、 完了はこのビッ トに関わらず送信できます。

メモ リ アド レス空間デコーダー イネーブル ビッ ト (cfg_command[1]) または I/O アド レス空間デコーダー イネーブル ビッ ト(cfg_command[0]) は、 メモ リ または I/O 要求を受信するために設定する必要があ り ます。 これらのビッ トは、 システム ホス トからのコンフ ィギュレーシ ョ ン書き込み要求によ り設定されます。

cfg_dstatus[15:0]

このバスは、 PCI Express 機能構造のデバイス ステータス レジスタに格納されている値を反映します。 表 3-19 は cfg_dstatus バスの各ビッ ト を定義しています。 詳細は 『PCI Express Base Specification』 [参照 2]を参照してください。

表 3‐18 : コマンドヘッダー コマンド  レジスタのビッ ト  マッピング

ビッ ト 名前

cfg_command[15:11] 予約済み

cfg_command[10] 割り込みディ スエーブル

cfg_command[9] 高速連続ト ランザクシ ョ ン イネーブル (0 に固定)

cfg_command[8] SERR イネーブル

cfg_command[7] IDSEL ステッピング/待機サイクル制御 (0 に固定)

cfg_command[6] パリティ エラー イネーブル (サポート されていません)

cfg_command[5] VGA パレッ ト スヌープ (0 に固定)

cfg_command[4] メモ リ書き込みおよび無効 (0 に固定)

cfg_command[3] 特別サイクル イネーブル (0 に固定)

cfg_command[2] バス マスター イネーブル

cfg_command[1] メモ リ アドレス空間デコーダー イネーブル

cfg_command[0] I/O アドレス空間デコーダー イネーブル

表 3‐19 : PCI Express デバイス ステータス レジスタのビッ ト  マッピング

??? ??

cfg_dstatus[15:6] 予約済み

cfg_dstatus[5] ト ランザクシ ョ ン保留

cfg_dstatus[4] AUX 電源検出 (0 に固定)

cfg_dstatus[3] サポート されない要求の検出

cfg_dstatus[2] 致命的なエラーの検出

Page 97: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 97

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

cfg_dcommand[15:0]

このバスは、 PCI Express 機能構造のデバイス機能レジスタに格納されている値を反映します。表 3-20 は cfg_dcommand バスの各ビッ ト を定義しています。 詳細は 『PCI Express Base Specification』 を参照してください。

cfg_lstatus[15:0]

このバスは、 PCI Express 機能構造のリ ンク ステータス レジスタに格納されている値を反映します。 表 3-21 は cfg_lstatus バスの各ビッ ト を定義しています。 詳細は 『PCI Express Base Specification』 を参照してください。

cfg_lcommand[15:0]

このバスは、 PCI Express 機能構造のリ ンク機能レジスタに格納されている値を反映します。 表 3-22 は cfg_lcommand バスの各ビッ ト を定義しています。 詳細は 『PCI Express Base Specification rev. 2.1』 を参照してください。

cfg_dstatus[1] 致命的でないエラーの検出

cfg_dstatus[0] 訂正可能なエラーの検出

表 3‐20 : PCI Express デバイス制御レジスタのビッ ト  マッピング

??? ??

cfg_dcommand[15] 予約済み

cfg_dcommand[14:12] Max_Read_Request_Size

cfg_dcommand[11] ノー スヌープ イネーブル

cfg_dcommand[10] 補助電源 PM イネーブル

cfg_dcommand[9] ファン ト ム ファンクシ ョ ン イネーブル

cfg_dcommand[8] 拡張タグ フ ィールド イネーブル

cfg_dcommand[7:5] Max_Payload_Size

cfg_dcommand[4] 緩和型順序付けイネーブル

cfg_dcommand[3] サポート されない要求のレポートのイネーブル

cfg_dcommand[2] 致命的エラーのレポート イネーブル

cfg_dcommand[1] 非致命的エラーのレポート イネーブル

cfg_dcommand[0] 訂正可能なエラーのレポート イネーブル

表 3‐21 : PCI Express リンク  ステータス レジスタのビッ ト  マッピング

??? ??

cfg_lstatus[15] リ ンク自律帯域幅ステータス

cfg_lstatus[14] リ ンク帯域幅管理ステータス

cfg_lstatus[13] データ リ ンク層リ ンク アクティブ

cfg_lstatus[12] スロ ッ ト ク ロ ッ ク コンフ ィギュレーシ ョ ン

cfg_lstatus[11] リ ンク ト レーニング

cfg_lstatus[10] 予約済み

cfg_lstatus[9:4] ネゴシエート された リ ンク幅

cfg_lstatus[3:0] 現在のリ ンク スピード

表 3‐19 : PCI Express デバイス ステータス レジスタのビッ ト  マッピング (続き)

??? ??

Page 98: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 98

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

cfg_dcommand2[15:0]

このバスは、 PCI Express 機能構造のデバイス制御 2 レジスタに格納されている値を反映します。 表 3-23 は cfg_dcommand バスの各ビッ ト を定義しています。 詳細は 『PCI Express Base Specification』 [参照 2]を参照してください。

コマンド  レジスタ設定へのコアの反応

表 3-24 および表 3-25 はエンドポイン ト またはルート ポート と してコンフ ィギュレーシ ョ ンされている場合のコマンド レジスタ設定に基づいたコアの動作について説明しています。

表 3‐22 : PCI Express リンク制御レジスタのビッ ト  マッピング

??? ??

cfg_lcommand[15:12] 予約済み

cfg_lcommand[11] リ ンク自律帯域幅割り込みイネーブル

cfg_lcommand[10] リ ンク帯域幅管理割り込みイネーブル

cfg_lcommand[9] ハードウェア自律幅ディ スエーブル

cfg_lcommand[8] ク ロ ッ ク パワー マネージメン ト イネーブル

cfg_lcommand[7] 拡張同期

cfg_lcommand[6] 一般的なクロ ッ ク コンフ ィギュレーシ ョ ン

cfg_lcommand[5](1)リ ンク リ ト レイン (エンドポイン ト デバイス用に予約)

cfg_lcommand[4] リ ンク ディ スエーブル

cfg_lcommand[3] 読み出しコンプ リーシ ョ ン バウンダ リ

cfg_lcommand[2] 予約済み

cfg_lcommand[1:0] アクティブ ステート リ ンク PM 制御

注記 :1. L1 ネゴシエーシ ョ ンの間、 cfg_lcommand[5] に 1 を書き込むこ とで リ ンク ト レインを実行しないでください。 L1 ネゴシエー

シ ョ ンは cfg_pcie_link_state ポート を監視して確認します。

表 3‐23 : PCI Express デバイス制御 2 レジスタのビッ ト  マッピング

??? ??

cfg_dcommand2[15:5] 予約済み

cfg_dcommand2[4] 完了タイムアウ ト ディ スエーブル

cfg_dcommand2[3:0] 完了タイムアウ ト値

表 3‐24 : コマンド  レジスタ  (0x004) : エンドポイン ト

ビッ ト 名前 属性 エンドポイン ト  コアの動作

0 I/O 空間イネーブル RW これがイネーブルになっていない場合は I/O 空間の BAR ヒ ッ トは認められません。

1 メモ リ空間イネーブル RW これがイネーブルになっていない場合はメモ リ空間の BAR ヒ ッ トは認められません。

2 バス マスター イネーブル RW エンドポイン トはこれを強化しません。 ユーザーは AXI4-Stream インターフェイスを介して TLP を送信できます。

5:3 予約済み RO 0 に接続されています。 PCI Express には適用されません。

Page 99: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 99

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

6 パリティ エラー応答 RW マスター データ パリ ティ エラー (Status[8]) が設定できるよ うになり ます。

7 予約済み RO 0 に接続されています。 PCI Express には適用されません。

8 SERR# イネーブル RW 非致命的エラー /致命的エラー メ ッセージが生成され、 Status[14] (システム エラーの通知) がイネーブルになり ます。

9 予約済み RO 0 に接続されています。 PCI Express には適用されません。

10 割り込みディ スエーブル RW 1 に設定されている場合、 cfg_interrupt* インターフェ イ スからはINITx メ ッセージを送信できません。

15:11 予約済み RO 0 に接続されています。 PCI Express には適用されません。

表 3‐25 : コマンド  レジスタ  (0x004) : ルート  ポート

ビッ ト 名前 属性 ルート  ポート  コアの動作

0 I/O 空間イネーブル RW ルート ポートはこの設定を無視します。ディ スエーブルになっていても、 ユーザー側からの I/O TLP を受信し、 ダウンス ト リームに伝送します。 これが設定されていない場合は、 ユーザー アプ リ ケーシ ョ ン ロジッ クは I/O TLP のダウンス ト リーム伝送を強化しません。

1 メモ リ空間イネーブル RW ルート ポートはこの設定を無視します。ディ スエーブルになっていても、ユーザー側からのメモ リ TLP を受信し、ダウンス ト リームに伝送します。 これが設定されていない場合は、ユーザー アプリ ケーシ ョ ン ロジッ クはメモ リ TLP のダウンス ト リーム伝送を強化しません。

2 バス マスター イネーブル RW 0 に設定されている場合、 ルート ポートはアップス ト リームのメモリおよび I/O TLP などのターゲッ ト ト ランザクシ ョ ンに UR と して応答します (つま り、イネーブルまたは Cpl w の場合は UR ビッ トは設定される /TLP がノンポステッ ドであった場合は UP パケッ トが送信される )。 1 に設定されている場合は、 すべてのターゲッ ト ト ランザクシ ョ ンがユーザーに渡されます。

5:3 予約済み RO 0 に接続されています。 PCI Express には適用されません。

6 パリティ エラー応答 RW マスター データ パリ ティ エラー (Status[8]) が設定できるよ うになり ます。

7 予約済み RO 0 に接続されています。 PCI Express には適用されません。

8 SERR# イネーブル RW イネーブルの場合は、 致命的エラー /非致命的エラー メ ッセージがAXI4-Stream インターフェイスまたは cfg_err* から送信されるか内部生成されます。 このビッ トが設定されていない場合、 リ ンクで受信された致命的エラー /非致命的エラー メ ッセージは送信されないよ うにルート ポートは強化しません。 ユーザー ロジッ クがこれを実行する必要があ り ます。

注記 : ルー ト ポー ト 内部で検出されたエラー コンディ シ ョ ンはcfg_msg* インターフェイスにあらわれます。

9 予約済み RO 0 に接続されています。 PCI Express には適用されません。

10 割り込みディ スエーブル RW ルート ポートには適用されません。

15:11 予約済み RO 0 に接続されています。 PCI Express には適用されません。

表 3‐24 : コマンド  レジスタ  (0x004) : エンドポイン ト

ビッ ト 名前 属性 エンドポイン ト  コアの動作

Page 100: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 100

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

エラー コンディシ ョ ンへのステータス レジスタの反応

表 3-26 から表 3-28 では、 エンドポイン ト またはルート ポート と してコンフ ィギュレーシ ョ ンされている場合、 コアでステータス レジスタ ビッ トが設定されるコンディシ ョ ンを説明しています。

表 3‐26 : ステータス レジスタ  (0x006) : エンドポイン ト

ビッ ト 名前 属性 エンドポイン トでの動作

2:0 予約済み RO 0 に接続されています。 PCI Express には適用されません。

3 割り込みステータス RO • ユーザーによ り割り込みが送信される と設定されます。

• 割り込みが割り込みハンド ラーによ り処理される と ク リ アにな り ます。

4 機能リ ス ト RO 1 に接続されています。

7:5 予約済み RO 0 に接続されています。 PCI Express には適用されません。

8 マスタ データ パリティ エラー RW1C パリティ エラー応答が設定されポイズンド完了 TLP がリ ンクで受信される場合、 またはポイズンド書き込み TLP が送信される場合、 設定されます。

10:9 予約済み RO 0 に接続されています。 PCI Express には適用されません。

11 ターゲッ ト中止の送信 RW1C 完了者の中止のステータ スで完了がダウ ン ス ト リ ームにcfg_err* インターフェイスを介してユーザー アプリ ケーシ ョンによ り送信される場合、 設定されます。

12 ターゲッ ト中止の受信 RW1C 完了者中止のステータスで完了が受信される場合、 設定されます。

13 マスター中止の受信 RW1C サポー ト されない要求のステータスで完了が受信される場合、 設定されます。

14 システム エラーの送信 RW1C 非致命的エラー /致命的エラー メ ッセージが送信され、SERR#イネーブル (Command[8]) が設定される場合、 設定されます。

15 パリティ エラーの検出 RW1C ポイズンド TLP がリ ンクで受信される場合設定されます。

表 3‐27 : ステータス レジスタ  (0x006) : ルート  ポート

ビッ ト 名前 属性 ルート  ポートでの動作

2:0 予約済み RO 0 に接続されています。 PCI Express には適用されません。

3 割り込みステータス RO ルート ポートには機能があ り ません。

4 機能リ ス ト RO 1 に接続されています。

7:5 予約済み RO 0 に接続されています。 PCI Express には適用されません。

8 マスタ データ パリティ エラー RW1C パリティ エラー応答が設定されポイズンド完了 TLP がリ ンクで受信される場合設定されます。

10:9 予約済み RO 0 に接続されています。 PCI Express には適用されません。

11 ターゲッ ト中止の送信 RW1C ルート ポートによ り設定されるこ とはあ り ません。

12 ターゲッ ト中止の受信 RW1C ルート ポートによ り設定されるこ とはあ り ません。

13 マスター中止の受信 RW1C ルート ポートによ り設定されるこ とはあ り ません。

Page 101: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 101

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

コンフ ィギュレーシ ョ ン  ポート を介したレジスタへのアクセス

ユーザー インターフェイスに直接マップされていないコンフ ィギュレーシ ョ ン レジスタには、 26 ページの表 2-15にあるポート を使用し、 コンフ ィギュレーシ ョ ン空間アドレスでアクセスできます。 ルート ポートは、 コンフ ィギュレーシ ョ ン空間を設定するためコンフ ィギュレーシ ョ ン ポート を使用する必要があ り ます。エンドポイン ト も読み出しおよび書き込みのためコンフ ィギュレーシ ョ ン ポート を使用できますが、 システム上の悪影響を避けるため注意が必要です。

ユーザー アプリ ケーシ ョ ンは、 バイ ト アドレスではなく DWORD アドレスでアドレスを指定する必要があ り ます。 レジスタに対し DWORD アドレスを計算するには、 バイ ト アドレスを 4 で割り ます。 たとえば次のよ うにな り ます。

• PCI コンフ ィギュレーシ ョ ン空間ヘッダーのコマンド /ステータス レジスタの DWORD アドレスは 01h です (バイ ト アドレスは 04h)。

• BAR0 の DWORD アドレスは 04h です (バイ ト アドレスは 10h)。

40 ページの表 2-22にあるよ うに、 コンフ ィギュレーシ ョ ン空間のレジスタを読み出すには、 ユーザー アプ リ ケーシ ョ ンはcfg_dwaddr[9:0] にジレスタの DWORD アドレスを駆動します。 コアは cfg_do[31:0] にアドレス指定されたレジスタの値を駆動

14 システム エラーの送信 RW1C ルート ポートが次の場合に設定されます。

• 非致命的エラー/致命的エラー メ ッセージを受信し、SERR#イネーブルおよびセカンダ リ SERR# イネーブルの両方が設定された場合。

• 非致命的エラー /致命的エラー メ ッセージがアップス トリームで生成される必要があ り、 SERR#イネーブルが設定されている こ とが cfg_msg* インターフェスに示される場合。

15 パリティ エラーの検出 RW1C ポイズンド TLP がダウンス ト リームに送信される場合に設定されます。

表 3‐28 : セカンダリ  ステータス レジスタ  (0x01E) : ルート  ポート

ビッ ト 名前 属性 ルート  ポートでの動作

7:0 予約済み RO 0 に接続されています。 PCI Express には適用されません。

8 セカンダ リ マスター データ パリ テ ィ エラー

RW1C ルート ポートが次の場合に設定されます。

ポイズン ド完了 TLP を受信し、 セカンダ リ パ リティ エラー応答==1 の場合 ポイズンド書き込み TLP を送信し、 セカンダ リ パリティ エラー応答==1 の場合

10:9 予約済み RO 0 に接続されています。 PCI Express には適用されません。

11 セカンダ リ ターゲッ ト中止の送信 RW1C cfg_err_cpl_abort を介して完了者中止をユーザーアプリ ケーシ ョ ンが示す場合に設定されます。

12 セカンダ リ ターゲッ ト中止の受信 RW1C 完了者中止のステータスでルー ト ポー ト が完了TLP を受信する場合に設定されます。

13 セカンダ リ マスター中止の受信 RW1C 完了者中止のステータスでルート ポートがサポート されない要求を受信する場合に設定されます。

14 セカンダ リ システム エラーの受信 RW1C ルート ポー ト が致命的/非致命的エラー メ ッセージを受信する場合に設定されます。

15 セカンダ リ パリティ エラーの検出 RW1C ルート ポートがポイズンド TLP を受信する場合に設定されます。

表 3‐27 : ステータス レジスタ  (0x006) : ルート  ポート

ビッ ト 名前 属性 ルート  ポートでの動作

Page 102: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 102

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

します。 cfg_do[31:0] の値は、 cfg_rd_wr_done での信号アサートによ り条件付けられます。 図 3-60 にはコンフ ィギュレーシ ョン空間からの 2 つの連続した読み出しを使用した例が説明されています。

『PCI Local Bus Specification』 および 『PCI Express Base Specification』 で RW と して定義されているコンフ ィギュレーシ ョ ン空間レジスタは、 コンフ ィギュレーシ ョ ン管理インターフェイスを介して書き込み可能です。 このアドレスにレジスタを書き込むには、 ユーザー アプリ ケーシ ョ ンはレジスタの DWORD アドレスを cfg_dwaddr[9:0] に駆動し、データを cfg_di[31:0] に駆動します。 このデータはさらに cfg_byte_en[3:0] によって条件付けられます。 これは cfg_di[31:0]. に出力されるデータのバイ ト を検証します。これらの信号は cfg_rd_wr_done がアサート されるまでアサート したまま保持する必要があ り ます。図 3-61 はコンフ ィギュレーシ ョ ン空間への 2 つの連続書き込みを使用した例について説明しています。 初の書き込みはユーザー アプ リケーシ ョ ンがデータの 32 ビッ トすべてに書き込み、 2 番目はユーザー アプリ ケーシ ョ ンがビッ ト [23:26] にのみ書き込んでいます。

注記 : コンフ ィギュレーシ ョ ン空間への書き込みによ りシステム上に悪影響が出る可能性があ り ます。 これらの書き込みにより、 システム全体の機能に悪影響がないよ うに確認して ください。

オプシ ョ ンの PCI Express 拡張機能

オプシ ョ ンで、 コアは PCI Express 拡張機能を 5 つまで次の順番でインプリ メン トできます。

1. デバイス シ リ アル番号 (DSN) 機能

2. 仮想チャネル (VC) 機能

3. ベンダー別 (VSEC) 機能

4. アドバンス エラー レポート (AER) 機能

5. サイズ調整可能 BAR (RBAR) 機能

どの機能をイネーブルにするかは Vivado IDE で選択できます。

選択されている機能の組み合わせによって、 この 5 つの機能構造の開始アドレス (基本ポインター アドレス) は異なり ます。

X-Ref Target - Figure 3-60

図 3‐60 : コンフ ィギュレーシ ョ ン空間読み出しアクセスの例

X-Ref Target - Figure 3-61

図 3‐61 : コンフ ィギュレーシ ョ ン空間書き込みアクセスの例

user_clk_out

cfg_mgmt_dwaddr[9:0]

cfg_mgmt_do[31:0]

cfg_mgmt_wr_en

cfg_mgmt_rd_en

cfg_mgmt_rd_wr_done

A0 A1

D0 D1

user_clk_out

cfg_mgmt_dwaddr[9:0]

cfg_mgmt_di[31:0]

cfg_mgmt_byte_en[3:0]

cfg_mgmt_wr_en

cfg_mgmt_rd_en

cfg_mgmt_rd_wr_done

A A

D

0

D

1

1111b 0100b

Page 103: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 103

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

表 3-29 から表 3-33 には、選択されている PCI Express 拡張機能の組み合わせに基づいた拡張機能構造の開始アドレスがま とめられています。

表 3‐29 : DSN 基本ポインター

DSN 基本ポインター

機能が選択されていない -

DSN がイネーブル 100h

表 3‐30 : VC 機能基本ポインター

VC 機能基本ポインター

機能が選択されていない -

VC 機能のみがイネーブル 100h

DSN および VC 機能がイネーブル 10Ch

表 3‐31 : VSEC 機能基本ポインター

VSEC 機能基本ポインター

機能が選択されていない -

VSEC 機能のみがイネーブル 100h

DSN および VSEC 機能がイネーブル 10Ch

DSN、 VC、 および VSEC 機能がイネーブル 128h

表 3‐32 : AER 機能基本ポインター

AER 機能基本ポインター

機能が選択されていない -

AER 機能のみがイネーブル 100h

DSN および AER 機能がイネーブル 10Ch

VC および AER 機能がイネーブル 11Ch

VSEC および AER 機能がイネーブル 118h

DSN、 VC、 および AER 機能がイネーブル 128h

DSN、 VSEC、 および AER 機能がイネーブル 124h

VC 、 VSEC、 および AER 機能がイネーブル 134h

DSN、 VC、 VSEC、 および AER 機能がイネーブル 140h

表 3‐33 : RBAR 機能基本ポインター

RBAR 機能基本ポインター

機能が選択されていない -

RBAR 機能のみがイネーブル 100h

Page 104: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 104

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

残りの PCI Express 拡張コンフ ィギュレーシ ョ ン空間はオプシ ョ ンでインプリ メン トできます。

ザイリンクス定義のベンダー別機能

ルート ポートおよびエンドポイン トの両方のコンフ ィギュレーシ ョ ンに対し、 ループバッ ク マスター ファンクシ ョ ンの制御およびステータスを提供する、 ザイ リ ンクス定義のベンダー別機能がコアでサポート されています。

推奨 : アプ リ ケーシ ョ ンがアクテ ィブでない場合は、 物理リ ンクのインシステム テス トの実行目的にのみループバッ ク マスター機能を使用して ください。

ユーザー ロジッ クでは、 コンフ ィギュレーシ ョ ン空間から VSEC 構造にアクセスしてループバッ ク マスター機能を制御する必要があ り ます。

図 3-62 は統合ブロッ クにインプリ メン ト されている PCIe 拡張コンフ ィギュレーシ ョ ン空間の VSEC 構造を説明しています。

DSN および RBAR 機能がイネーブル 10Ch

VC および RBAR 機能がイネーブル 11Ch

VSEC および RBAR 機能がイネーブル 118h

AER および RBAR 機能がイネーブル 138h

DSN、 VC、 および RBAR 機能がイネーブル 128h

DSN、 VSEC、 および RBAR 機能がイネーブル 124h

DSN、 AER、 および RBAR 機能がイネーブル 144h

VC、 VSEC 、 および RBAR 機能がイネーブル 134h

VC 、 AER、 および RBAR 機能がイネーブル 154h

VSEC、 AER、 および RBAR 機能がイネーブル 150h

DSN、 VC、 VSEC、 および RBAR 機能がイネーブル 140h

DSN、 VC、 AER、 および RBAR 機能がイネーブル 160h

DSN、 VSEC、 AER、 および RBAR 機能がイネーブル 15Ch

VC、 VSEC、 AER、 および RBAR 機能がイネーブル 16Ch

DSN、 VC、 VSEC、 AER、 および RBAR 機能がイネーブル 178h

表 3‐33 : RBAR 機能基本ポインター (続き)

RBAR 機能基本ポインター

Page 105: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 105

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

X-Ref Target - Figure 3-62

図 3‐62 :ザイリンクス定義のベンダー別機能構造

ループバック制御レジスタ  (オフセッ ト  08h)

ループバッ ク制御レジスタはザイ リ ンクス定義のループバッ ク パラ メーターを制御します。 表 3-34 はそのビッ ト位置と定義をま とめています。

310 バイ ト

オフセッ ト

次の機能オフセッ ト 機能バージ ョ ン = 1h PCI Express 拡張機能 = 000Bh 00h

VSEC 長さ = 24 バイ ト VSEC リ ビジ ョ ン = 0h VSEC ID = 0h 04h

ループバッ ク制御レジスタ 08h

ループバッ ク ステータス レジスタ 0Ch

ループバッ ク エラー カウン ト レジスタ 1 10h

ループバッ ク エラー カウン ト レジスタ 2 14h

表 3‐34 :ループバック制御レジスタ

ビッ ト位置 レジスタ 属性

0 ループバッ クの開始。 1b に設定されていて、 pl_ltssm_state[5:0] が L0 になっている(16H) の場合、ブロッ クはループバッ ク マスター ステートへ遷移し、ループバッ クテス ト を開始します。 0b に設定されている場合は、 ブロ ッ クはループバッ ク マスター モードを終了します。

注記 : リ ンク スピードが変更している間はループバッ クの開始ビッ ト を 1b に設定しないでください。

RW

1 ループバッ クの強制。 このループバッ クの強制ビッ ト を 1b に設定するこ とによ り、指定のリ ンク スピードおよびディエンファシス レベルでシンボル ロ ッ クを取得できないスレーブを、 ループバッ ク マスターはループバッ ク アクティブ ステートに遷移させるこ とができます。 ループバッ クの強制ビッ トが 1b の場合は、 開始ビット を 1b に設定する必要があ り ます。

RW

3:2 ループバッ ク リ ンク スピード。ループバッ ク ビッ ト を 1b にした状態でマスターによ り送信された TS1 のリ ンク スピードです。これらのビッ ト を適切に制御して、マスターはループバッ ク リ ンク スピードを制御できます。

RW

4 ループバッ ク ディエンファシス。マスターによ り送信された TS1 でのディエンファシス。 これもループバッ ク スレーブのディエンファシスを設定します。

RW

5 ループバッ ク変更されるコンプライアンス。ループバッ ク モードで else コンプライアンス パターンが生成される と、 ループバッ ク マスターが変更されたコンプライアンス パターンを生成します。変更コンプライアンスでは SKP OS が 2 つではなく1 つだけ生成されます。

RW

6 ループバッ クで無視される SKP OS。 このビッ トが 1b に設定されている場合、 SKPOS はループバッ ク マスターによって送信されません。 send_modified_compliance パターンが 0b に設定されている場合このビッ トは無視されます。

RW

15:7 予約済み RO

23:16 予約済み RO

31:24 予約済み RO

Page 106: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 106

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ループバック  ステータス レジスタ  (オフセッ ト  0Ch)

ループバッ ク ステータス レジスタはザイ リ ンクス定義のループバッ ク パラ メーターの情報を提供します。表 3-35 はそのビット位置と定義をま とめています。

ループバック  エラー カウン ト  レジスタ  1 (オフセッ ト  10h)

ザイ リ ンクス定義のループバッ ク制御テス トでテス ト されているよ うに、物理レーン 0 から 3 のエラー カウン ト をループバックエラー カウン ト レジスタ 1 は提示します。 レーンがループバッ クでテス ト されなかった場合、 そのレーンのエラー カウントはゼロ とレポート されます。そのレーンがコンフ ィギュレーシ ョ ンされているポートの一部ではない、または反対側のレシーバーが検出されなかった可能性があ り ます。 表 3-36 はそのビッ ト位置と定義をま とめています。

表 3‐35 :ループバック  ステータス レジスタ

ビッ ト位置 レジスタ 属性

0 ループバッ ク スレーブ。 デバイスがループバッ ク スレーブ モードにある場合は、このビッ トはハード ウェアによって設定されます。 このビッ トが 1b に設定されている場合、 ループバッ ク開始ビッ ト を 1b に設定するこ とはできません。

RO

1 ループバッ ク スレーブ エラー。 ループバッ クが 1b に設定され、 「Loopback.Active」の100ms 以内にある と きにマスターが TS1 を受信しない場合、 このビッ トはループバッ ク マスター ハード ウェアによって設定されます。 ループバッ ク強制ビッ トが1b に設定されている場合、 このビッ トが 1b に設定されるこ とはあ り ません。 ループバッ ク開始ビッ ト を 1b に設定する と、 このビッ トが 0b になり ます。

RO

7:2 予約済み RO

15:8 ループバッ クのテス トループバッ ク開始ビッ トが 1b に設定されている場合、 このビッ トが 0b に設定されます。 レーンでループバッ ク テス トが実行されていて、 対応レーンの Loopback_Err_count_n が有効な場合、 これらのビッ トは 1b に設定されます。

ビッ ト位置 レーン

8 レーン 0 テス ト済み 9 レーン 1 テス ト済み 10 レーン 2 テス ト済み 11 レーン 3 テス ト済み 12 レーン 4 テス ト済み 13 レーン 5 テス ト済み 14 レーン 6 テス ト済み 15 レーン 7 テス ト済み

RO

31:16 予約済み RO

表 3‐36 :ループバック  エラー カウン ト  レジスタ  1

ビッ ト位置 レジスタ 属性

7:0 ループバッ ク エラー カウン ト 0。 これはレーン 0 のエラー カウン ト を示します。レーンに 8B/10B エラーまたはディ スパリ ティエラーがある場合にエラーが発生したという こ とにな り ます。 ループバッ ク開始ビッ ト を 1b に設定する と このエラーカウン トはク リ アされ 0h にな り ます。 ループバッ クのテス トが実行された後にのみこれは有効です。 テス ト されたレーン 0 は 1b に設定されます。

RO

15:8 ループバッ ク エラー カウン ト 1。 これはレーン 1 のエラー カウン ト を示します。レーンに 8B/10B エラーまたはディ スパリ ティエラーがある場合にエラーが発生したという こ とにな り ます。 ループバッ ク開始ビッ ト を 1b に設定する と このエラーカウン トはク リ アされ 0h にな り ます。 ループバッ クのテス トが実行された後にのみこれは有効です。 テス ト されたレーン 1 は 1b に設定されます。

RO

Page 107: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 107

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ループバック  エラー カウン ト  レジスタ  2 (オフセッ ト  14h)

ザイ リ ンクス定義のループバッ ク制御テス トでテス ト されているよ うに、物理レーン 7 から 4 のエラー カウン ト をループバックエラー カウン ト レジスタ 2 は提示します。 レーンがループバッ クでテス ト されなかった場合、 そのレーンのエラー カウントはゼロ とレポート されます。そのレーンがコンフ ィギュレーシ ョ ンされているポートの一部ではない、または反対側のレシーバーが検出されなかった可能性があ り ます。 表 3-37 はそのビッ ト位置と定義をま とめています。

アドバンス エラー レポート  (AER) 機能

『PCI Express Base Specification rev. 2.1』 [参照 2]で定義されているよ うに、このコアはアドバンス エラー レポート (AER) 機能構造をインプリ メン ト します。 この仕様で規定されているオプシ ョ ンのビッ トはすべてサポート されています。複数ヘッダー ログはサポート されていません。

AER がイネーブルになっている と、 『PCI Express Base Specification rev. 2.1』 で説明されている方法でコアは該当コンフ ィギュレーシ ョ ン空間ビッ ト を設定し、 また該当エラー メ ッセージを送信して、 エラー コンディシ ョ ンに応答します。

AER がイネーブルになっている場合の追加信号要件については、 116 ページの 「AER 要件」 を参照してください。

23:16 ループバッ ク エラー カウン ト 2。 これはレーン 2 のエラー カウン ト を示します。レーンに 8B/10B エラーまたはディ スパリ ティエラーがある場合にエラーが発生したという こ とにな り ます。 ループバッ ク開始ビッ ト を 1b に設定する と このエラーカウン トはク リ アされ 0h にな り ます。 ループバッ クのテス トが実行された後にのみこれは有効です。 テス ト されたレーン 2 は 1b に設定されます。

RO

31:24 ループバッ ク エラー カウン ト 3。 これはレーン 3 のエラー カウン ト を示します。レーンに 8B/10B エラーまたはディ スパリ ティエラーがある場合にエラーが発生したという こ とにな り ます。 ループバッ ク開始ビッ ト を 1b に設定する と このエラーカウン トはク リ アされ 0h にな り ます。 ループバッ クのテス トが実行された後にのみこれは有効です。 テス ト されたレーン 3 は 1b に設定されます。

RO

表 3‐37 :ループバック  エラー カウン ト  レジスタ  2

ビッ ト位置 レジスタ 属性

7:0 ループバッ ク エラー カウン ト 4。 これはレーン 4 のエラー カウン ト を示します。レーンに 8B/10B エラーまたはディ スパリ ティエラーがある場合にエラーが発生したという こ とにな り ます。 ループバッ ク開始ビッ ト を 1b に設定する と このエラーカウン トはク リ アされ 0h にな り ます。 ループバッ クのテス トが実行された後にのみこれは有効です。 テス ト されたレーン 4 は 1b に設定されます。

RO

15:8 ループバッ ク エラー カウン ト 5。 これはレーン 5 のエラー カウン ト を示します。レーンに 8B/10B エラーまたはディ スパリ ティエラーがある場合にエラーが発生したという こ とにな り ます。 ループバッ ク開始ビッ ト を 1b に設定する と このエラーカウン トはク リ アされ 0h にな り ます。 ループバッ クのテス トが実行された後にのみこれは有効です。 テス ト されたレーン 5 は 1b に設定されます。

RO

23:16 ループバッ ク エラー カウン ト 6。 これはレーン 6 のエラー カウン ト を示します。レーンに 8B/10B エラーまたはディ スパリ ティエラーがある場合にエラーが発生したという こ とにな り ます。 ループバッ ク開始ビッ ト を 1b に設定する と このエラーカウン トはク リ アされ 0h にな り ます。 ループバッ クのテス トが実行された後にのみこれは有効です。 テス ト されたレーン 6 は 1b に設定されます。

RO

31:24 ループバッ ク エラー カウン ト 7。 これはレーン 7 のエラー カウン ト を示します。レーンに 8B/10B エラーまたはディ スパリ ティエラーがある場合にエラーが発生したという こ とにな り ます。 ループバッ ク開始ビッ ト を 1b に設定する と このエラーカウン トはク リ アされ 0h にな り ます。 ループバッ クのテス トが実行された後にのみこれは有効です。 テス ト されたレーン 7 は 1b に設定されます。

RO

表 3‐36 :ループバック  エラー カウン ト  レジスタ  1 (続き)

ビッ ト位置 レジスタ 属性

Page 108: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 108

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

サイズ調整可能 BAR (RBAR) 機能

『PCI Express Base Specification rev. 2.1』 で定義されているよ うに、 このコアはサイズ調整可能 BAR (RBAR) 機能構造をインプリ メ ン ト します。 統合ブロ ッ クの調整可能 BAR 機能についての詳細は、 116 ページの 「サイズ変更可能な BAR のインプリ メンテーシ ョ ン に関する情報 (エンドポイン トのみ)」 を参照してください。

ユーザー インプリ メン トのコンフ ィギュレーシ ョ ン空間

このコアを使用し、 ユーザーがPCI コンフ ィギュレーシ ョ ン空間、 PCI Express 拡張コンフ ィギュレーシ ョ ン空間、 またはその両方のレジスタをユーザー アプリ ケーシ ョ ンにオプシ ョ ンでインプリ メン トするこ とができます。ユーザー アプリ ケーシ ョ ンは、 この空間内のすべてのアドレスに対しコンフ ィギュレーシ ョ ン完了を返す必要があ り ます。 この機能の使用およびカスタマイズ方法については、 第 4 章 「コアのカスタマイズおよび生成」 を参照してください。

PCI コンフ ィギュレーシ ョ ン空間

PCI コンフ ィギュレーシ ョ ン空間の 0xA8 から 0xFF までのレジスタをインプリ メン トする場合、 インプリ メン ト しよ う と しているアドレス領域の開始アドレスはコア生成プロセス中に定義できます。

ユーザー アプリ ケーシ ョ ンは、 ユーザー定義の開始アドレスから PCI コンフ ィギュレーシ ョ ン空間の終わり (0xFF) までのコンフ ィギュレーシ ョ ン読み出しおよび書き込みに対し完了をすべて生成します。 この範囲内のインプリ メン ト されていないレジスタに対するコンフ ィギュレーシ ョ ン読み出しはデータ と して 0x00000000 の完了で応答し、コンフ ィギュレーシ ョ ン書き込みは完了で応答する必要があ り ます。

たとえば、 0xC0 から 0xCF までのアドレス範囲をインプ リ メン トするには、 定義されているアドレス範囲はいくつかあ り、 アクセス次第で異なった処理をする必要があ り ます。 詳細については、 表 3-38を参照してください。

PCI Express 拡張コンフ ィギュレーシ ョ ン空間

オプシ ョ ンでインプリ メン トできる PCI Express 拡張コンフ ィギュレーシ ョ ン空間の領域の開始アドレスは、ユーザーがコアでイネーブルにしている PCI Express 拡張機能によって異なり ます。

ユーザー インプ リ メ ン トの PCI Express 拡張コンフ ィギュレーシ ョ ン空間の開始アドレスは、 コアを生成およびカスタマイズする と きにユーザーが選択できるよ うになっています。この空間はユーザー アプリ ケーシ ョ ンでインプリ メン トする必要があり ます。 ユーザー アプリ ケーシ ョ ンは、 ユーザー アプ リ ケーシ ョ ンではインプ リ メ ン ト されていない選択範囲内のアドレスに、 コンフ ィギュレーシ ョ ン読み出しの場合は 0x00000000 の CplD を生成し、 コンフ ィギュレーシ ョ ン書き込みの場合は完了を生成する必要があ り ます。

ユーザーは、 コアによってインプ リ メ ン ト された別の機能構造に続いてはいない開始アドレスでユーザー コンフ ィギュレーシ ョ ン空間をインプリ メン トするよ う選択できます。 その場合は、 ユーザーがインプリ メン ト しないと選択した領域へのコンフ ィギュレーシ ョ ン アクセスに対し、コアは 0x00000000 で完了を返します。表 3-39 はこのシナリオを詳し く説明しています。

表 3‐38 :例 : 0xC0 から  0xCF までのユーザー インプリ メン トの空間

コンフ ィギュレーシ ョ ン書き込み コンフ ィギュレーシ ョ ン読み出し

0x00 から 0xBF コアは自動的に応答 コアは自動的に応答

0xC0 から 0xCF ユーザー アプリ ケーシ ョ ンは完了で応答 ユーザー アプ リ ケーシ ョ ンはレジスタの内容で応答

0xD0 から 0xFF ユーザー アプリ ケーシ ョ ンは完了で応答 ユーザー アプリ ケーシ ョ ンは 0x00000000 で応答

表 3‐39 :例 : コンフ ィギュレーシ ョ ン空間のユーザー定義開始アドレス

コンフ ィギュレーシ ョ ン空間 バイ ト  アドレス

DSN 機能 100h - 108h

VSEC 機能 10Ch - 120h

Page 109: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 109

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

表 3-39 では、 次の設定の PCI Express 拡張コンフ ィギュレーシ ョ ン空間のコンフ ィギュレーシ ョ ン例を説明しています。

• DSN 機能をイネーブル

• VSEC 機能をイネーブル

• ユーザー インプリ メン トの PCI Express 拡張コンフ ィギュレーシ ョ ン空間をイネーブル

• ユーザー インプリ メン トの PCI Express 拡張コンフ ィギュレーシ ョ ン空間の開始アドレスが 168h

このコンフ ィギュレーシ ョ ンでは、DSN 機能は 100h から 108h までのアドレスのレジスタを占め、VSEC 機能が 10Ch から 120hまでのレジスタを占めます。

残りの PCI Express 拡張コンフ ィギュレーシ ョ ン空間はアドレス 124h からインプリ メン トできるよ うになっています。 この例の場合、 168h から始まるアドレス領域のレジスタがインプリ メン ト用に選択されていました。 124h から 164h までのレジスタへのコンフ ィギュレーシ ョ ン アクセスに対し 0x00000000 でコアは完了を返します。 また、表 3-39 では 168h から 47Ch までのレジスタのみがインプリ メン ト されるケースを説明しています。このケースでは、480h から FFFh までのコンフ ィギュレーシ ョン アクセスに対し、 ユーザーは 0x00000000 で完了を返します。

追加パケッ ト処理要件

プロ ト コルに準拠しているこ とを確認するため、このセクシ ョ ンで説明されている メカニズムをユーザー アプリ ケーシ ョ ンが管理する必要があ り ます。 コアではこの管理が自動的には行われないためです。

完了の生成

リ モート デバイスによる メモ リ読み出しまたは I/O 要求に対し、 コアは完了を生成しません。 ユーザーが 『PCI Express BaseSpecification』 [参照 2]で規定されているルールに沿ってこ う した完了を生成する必要があ り ます。

ノンポステッ ド要求および完了の追跡

統合ブロッ クは、 送信された I/O 要求またはメモ リ読み出しで完了で応答する必要のあるものを追跡しません。 ユーザー アプリ ケーシ ョ ンがこ う した要求をタグ ID やほかの情報を使用して追跡する必要があ り ます。

1 回のメモ リ読み出しは複数の完了パケッ トで応答するこ とが可能です。 ユーザー アプリ ケーシ ョ ンは、 要求されたデータがすべて受信されるまで、 元のメモ リ読み出しに関連付けられている完了をすべて受諾する必要があ り ます。

『PCI Express Base Specification』の規定では、レシーバーと してエンドポイン トは無限完了フロー制御クレジッ ト を送信します。後続の完了を受信するのに十分な空きがある場合にのみエンドポイン トはメモ リ読み出しおよび I/O 要求を送信できる というこ とになっています。

統合ブロ ッ クは完了に対し受信バッファーに十分な空きがあるかど うかを追跡しません。 代わりに、 完了に対し一定量のバッファー スペースを確保します。ユーザー アプリ ケーシ ョ ンは、完了応答を必要とする要求を送信できるかど うかを判断するため、 このバッファー スペースを確認しておく必要があ り ます。 詳細は、 付録 C 「受信される完了に対する受信バッファー スペースの管理」 を参照して ください。

メ ッセージ TLP の処理

デフォルトでは、 7 Series FPGAs Integrated Block for PCI Express は AXI4-Stream インターフェイスには受信されたメ ッセージを転送せず、 cfg_msg_* インターフェイスでメ ッセージの受信を知らせます。 しかし、 これらのメ ッセージを受信するには、 こ

予約された拡張コンフ ィギュレーシ ョ ン空間

(コアは 0x00000000 で完了を返す)124h - 164h

ユーザー インプ リ メン トの PCI Express 拡張コンフ ィギュレーシ ョ ン空間 168h - 47Ch

ユーザー インプ リ メン トの予約された PCI Express 拡張コンフ ィギュレーシ ョ ン空間

(ユーザー アプリ ケーシ ョ ンは 0x00000000 で完了を返す)480h - FFFh

表 3‐39 :例 : コンフ ィギュレーシ ョ ン空間のユーザー定義開始アドレス (続き)

コンフ ィギュレーシ ョ ン空間 バイ ト  アドレス

Page 110: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 110

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

のインターフェイスでメ ッセージの受信通知だけでな く Vivado IDE を使用してコアをカスタマイズする際にこの機能をイネーブルにします。

ルート  ポート  コンフ ィギュレーシ ョ ン

スロ ッ ト電源制限設定メ ッセージなど内部生成されたメ ッセージは AXI4-Stream インターフェイスから送信できるのですが、PCI Express ルート コンプレッ クスのルート ポートは、 これらのメ ッセージを PCI Express リ ンクでは送信しません。 ルートポート コンフ ィギュレーシ ョ ンでの統合ブロ ッ クによ り検出されるエラーでエラー メ ッセージを送信する可能性のあるものは、 このため、 cfg_msg_* インターフェイスでユーザー アプリ ケーシ ョ ンに送信されます。

ルート ポート コンフ ィギュレーシ ョ ンでは、コアはまた受信されたメ ッセージをデコード し、それをこのインターフェイスを介してユーザー アプリ ケーシ ョ ンに送信します。ルート ポート と してコンフ ィギュレーシ ョ ンされている場合、統合ブロ ッ クは受信されたメ ッセージと、 cfg_msg_received 信号をアサートするこ とによって内部検出されたエラー コンディシ ョ ンを区別します。

ユーザー エラー コンディシ ョ ンのレポート

ユーザー アプリ ケーシ ョ ンは、コア インターフェイスで専用エラー信号を使用し完了処理を行っている間に発生するエラーをレポートする必要があ り、またコアにエラーを通知する前にデバイス電源ステート を監視する必要があ り ます。デバイスが D0以外のステートにプログラムされている間に、 ユーザー アプリ ケーシ ョ ンが完了タイムアウ ト などのエラーを検出する場合、デバイスが D0 ステートに再びプログラムされる前に、 ユーザー アプリ ケーシ ョ ンはそのエラーを知らせます。

ユーザー アプリ ケーシ ョ ンがエラーを通知した後、 コアは PCI Express リ ンクでエラーをレポート し、 またコンフ ィギュレーシ ョ ン空間で該当するステータス ビッ ト を設定します。ステータス ビッ トは該当するコンフ ィギュレーシ ョ ン空間レジスタで設定する必要があるため、 ユーザー アプリ ケーシ ョ ンは送信インターフェイスでエラー レポート パケッ ト を生成するこ とはできません。送信されるエラー レポート パケッ トのタイプは、エラーがポステッ ドまたはノンポステッ ド要求に起因するものなのか、また AER がイネーブルになっているかど うかによって異なり ます。デバイス制御エラー レポート ビッ トおよびステータス SERR イネーブル ビッ ト 、 AER マスク ビッ ト (AER がイネーブルの場合) を使用してイネーブルになっている場合、 ユーザー レポートのポステッ ド エラーがある と、ルート コンプレッ クスにメ ッセージ パケッ トが送信されます。ユーザー レポートのノンポステッ ド エラーがある と、 そのエラーが勧告と しての非致命的エラーと見なされなければ、 不成功 (non-successful)のステータスの完了パケッ トがルート コンプレッ クスに送信されます。 AER がイネーブルになっている (AER マスク ビッ トによ り イネーブルになっている ) 場合、ユーザー レポートのノンポステッ ド エラーがある と メ ッセージ パケッ ト も送信されます。 勧告と しての非致命的エラーの詳細は、 『PCI Express Base Specification』 の第 6 章を参照してください。 ノンポステッ ド要求のエラーがある と、ルート コンプレッ クスへのメ ッセージ、 またはステータスが不成功となっている完了パケッ トが元の要求者に送信されます。

エラー タイプ

ユーザー アプリ ケーシ ョ ンは、33 ページの表 2-19で定義されている信号を使用し、 さまざまなタイプのエラーを出力します。

• エンド ツー エンド CRC ECRC エラー

• サポート されない要求エラー

• 完了タイムアウ ト エラー

• 予期しない完了エラー

• 完了者中断エラー

• 訂正可能なエラー

• ア ト ミ ッ ク送信ブロ ッ ク エラー

• マルチキャス ト ブロッ ク エラー

• 訂正可能な内部エラー

• 不正構成エラー

• ポイズンド エラー

• 訂正不可能な内部エラー

Page 111: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 111

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

同じ受信パケッ ト で複数のエラーを検出する こ とが可能です。 たとえば、 同じパケッ ト がサポート されない要求で、 それにECRC エラーがある という こ とがあ り ます。 この状態が発生した場合、 エラーは 1 つだけレポート されます。 ユーザー レポートのエラーの重要度はすべて同じであるため、ユーザー アプリ ケーシ ョ ン デザインはどのエラーをレポートするか判断することができます。 cfg_err_posted 信号に適切なエラー レポート信号を併せ、 どのタイプのエラー レポート パケッ トが送信されるかがわかり ます。 ユーザー アプリ ケーシ ョ ンが送信できるのはクロ ッ ク サイ クルごとに 1 エラーだけです。図 3-63、図 3-64、図 3-65、 表 3-40、 表 3-41 を参照してください。

ユーザー アプリ ケーシ ョ ンは、 cfg_err_ インターフェイスでエラーがレポート される前に、 デバイスが D0 電源ステートになっているこ とを確認する必要があ り ます。 これは、 PMCSR 電源ステート (cfg_pmcsr_pme_powerstate[1:0]) が 2'b00 に設定されているこ とをチェッ クするこ とで確認できます。 この電源ステートが 2'b00 (コアがD0 電力ステート以外のステートになっている ) に設定されていて、 PME_EN の cfg_pmcsr_pme_en がアサート されている (1'b1) 場合、 ユーザーは cfg_pm_wake をアサート し、 ルートが PMCSR 電源ステート ビッ ト を 2'b00 に設定するまで待機するこ とができます。 電源ステート (cfg_pmcsr_pme_powerstate) が 2'b00 ではなく、 PME_EN の cfg_pmcsr_pme_en がディアサート されている (1'b0) 場合、 ユーザーはルートが電源ステート を 2'b00 に設定するのを待つ必要があ り ます。

表 3‐40 :ユーザー レポートのエラー信号

ユーザー レポート  エラー 内部的な起因 AER がイネーブル 操作

None None どちらでも構わない

処置なし

cfg_err_ur &&

cfg_err_posted = 0

RX :

• Bar なし (NP TLP) • TLP のロ ッ ク

• タイプ 1 コンフ ィギュレーシ ョ ン

• PM モードでの非完了TLP

• 害のある TLP

いいえステータスがサポー ト されない要求の完了が送信される。

はい

ステータスがサポー ト されない要求の完了が送信される。 イネーブルの場合は、 訂正可能なエ ラ ーメ ッセージが送信される。

cfg_err_ur&&

cfg_err_posted = 1

RX :

• Bar なし (ポステッ ド )TLP

• TLP のロ ッ ク (ポステッ ド )

• PM モードでのポステッ ド TLP

いいえイネーブルの場合は、 非致命的エラー メ ッセージが送信される。

はいAER の重要度レジスタ次第で、 非致命的または致命的エラー メ ッセージが送信される。

cfg_err_cpl_abort&&

cfg_err_posted = 0害のある TLP

いいえ

ステータスが完了者中断要求の完了が送信される。 イネーブルの場合は、 非致命的エラー メ ッセージが送信される。

はい

ステータスが完了者中断要求の完了が送信される。 イネーブルの場合は、 訂正可能なエラー メ ッセージが送信される。

cfg_err_cpl_abort&&

cfg_err_posted = 1ECRC エラー

いいえ

ステータスが完了者中断要求の完了が送信される。 イネーブルの場合は、 非致命的エラー メ ッセージが送信される。

はいAER の重要度レジスタ次第で、 非致命的または致命的エラー メ ッセージが送信される。

cfg_err_cpl_timeout&&

cfg_err_no_recovery = 0害のある TLP

いいえな し (勧告と し ての非致命的エラーとみなされる )

はいイネーブルの場合は、 訂正可能なエラー メ ッセージが送信される。

Page 112: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 112

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

cfg_err_cpl_timeout&&

cfg_err_no_recovery = 1ECRC エラー

いいえイネーブルの場合は、 非致命的エラー メ ッセージが送信される。

はいAER の重要度レジスタ次第で、 非致命的または致命的エラー メ ッセージが送信される。

cfg_err_ecrc ECRC エラー

いいえイネーブルの場合は、 非致命的エラー メ ッセージが送信される。

はいAER の重要度レジスタ次第で、 非致命的または致命的エラー メ ッセージが送信される。

cfg_err_corRX :

• PLM MGT エラー

• TO 中継

• 中継繰り越し

• 不良な DLLP• 不正 TLP (crc/seq#)• ヘッダー ログ オー

バーフロー (1)

どちらでも構わない

イネーブルの場合は、 訂正可能なエラー メ ッセージが送信される。

cfg_err_internal_cor はい

cfg_err_cpl_unexpect 害のある TLP

いいえな し (勧告と し ての非致命的エラーとみなされる )

はいイネーブルの場合は、 訂正可能なエラー メ ッセージが送信される。

cfg_err_atomic_egress_blocked 害のある TLP

いいえな し (勧告と し ての非致命的エラーとみなされる )

はいイネーブルの場合は、 訂正可能なエラー メ ッセージが送信される。

cfg_err_malformed

RX :

• 範囲外の ACK/NAK• 不正な TLP• バッファー オーバー

フロー

• FC エラー

いいえイ ネーブルの場合は、 致命的エラー メ ッセージが送信される。

はいAER の重要度レジスタ次第で、 非致命的または致命的エラー メ ッセージが送信される。

cfg_err_mc_blocked ECRC エラー

いいえイネーブルの場合は、 非致命的エラー メ ッセージが送信される。

はいAER の重要度レジスタ次第で、 非致命的または致命的エラー メ ッセージが送信される。

cfg_err_poisoned&&

cfg_err_no_recovery = 0害のある TLP

いいえな し (勧告と し ての非致命的エラーとみなされる )

はいイネーブルの場合は、 訂正可能なエラー メ ッセージが送信される。

表 3‐40 :ユーザー レポートのエラー信号 (続き)

ユーザー レポート  エラー 内部的な起因 AER がイネーブル 操作

Page 113: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 113

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ノンポステッ ド要求でエラーが検出されるたびに、 ユーザー アプリ ケーシ ョ ンは cfg_err_posted をディアサート し、 エラーがレポー ト されたのと同じ ク ロ ッ ク サイ クルで cfg_err_tlp_cpl_header[47:0] のヘッダー情報を提供します (図 3-63 を参照)。 ステータスが不成功の必須完了を構成するにはこの追加ヘッダー情報が必要です。cfg_err_posted のアサート またはディアサートのタイ ミ ングについては、 このセクシ ョ ンの後半で説明します。

ポステッ ド要求でエラーが検出された場合、 ユーザー アプリ ケーシ ョ ンは cfg_err_posted をアサート しますが、 そ うでない場合は同じプロ ト コルに従います。 この結果、 イネーブルの場合は非致命的エラー メ ッセージが送信されます (図 3-64 を参照)。

短時間で cfg_err_ur または cfg_err_cpl_abort でノンポステッ ド エラーが複数あった場合は、 コアがそれらをすべてバッファー化できない可能性があ り ます。 その場合は、 cfg_err_cpl_rdy がディアサート され、 同じサイ クルでこれらのタイプのエラーを通知するのをユーザーは停止する必要があ り ます。 cfg_err_cpl_rdy が再度アサート されるまで、 ユーザーはこれらのタイプのエラーの通知を再開するこ とはできません (図 3-65 を参照)。

コアのエラー メ ッセージ生成機能はルート コンプレッ クスによってディ スエーブルにできます。 これはエンドポイン ト コアのデバイス制御レジスタおよび PCI コマンド レジスタへのコンフ ィギュレーシ ョ ン書き込みを実行し、該当するビッ ト を 0 にするこ とでディ スエーブルにできます。 これらのレジスタの詳細は、 『PCI Express Base Specification』 [参照 2]の第 7 章を参照してください。 しかし、 これらのメ ッセージがディ スエーブルになっているかど うかにかかわらず、 エラー レポートのステータス ビッ トは常にコンフ ィギュレーシ ョ ン空間で設定されます。

AER がイネーブルになっている場合、 ルート コンプレッ クスは、 エンドポイン ト コアで生成されるエラー メ ッセージの機能およびタイプに関して、AER 機能構造で重要度およびマスク レジスタを設定するこ とで細かく制御します。これらのレジスタの詳細は、 『PCI Express Base Specification rev. 2.1』 の第 7 章を参照してください。

cfg_err_poisoned&&

cfg_err_no_recovery = 1ECRC エラー

いいえイネーブルの場合は、 非致命的エラー メ ッセージが送信される。

はいAER の重要度レジスタ次第で、 非致命的または致命的エラー メ ッセージが送信される。

注記 :1. AER がイネーブルの場合のみ

表 3‐41 :ユーザー アプリケーシ ョ ンで受信した TLP のエラー コンディシ ョ ン

受信

 TLP タ

イプ

エラー コンディシ ョ ン エラー条件付け信号ステータス

サポート されな

い要求 (cfg_err_ur)

完了中止 (cfg_err_cpl_

abort)

訂正可能

なエラー (cfg_err_cor)

ECRC エラー (cfg_err_ecrc)

予期しない完了 (cfg_err_cpl_unexpect)

駆動値 (cfg_err_posted)

駆動データ  (cfg_err_tlp_

cpl header[47:0])

メモリ

書き込み3 X 該当なし 3 X 1 なし

メモリ

読み出し3 3 該当なし 3 X 0 あ り

I/O 3 3 該当なし 3 X 0 あ り

コンプリー

シ ョ ン要求X X 該当なし 3 3 1 なし

注記 :1. TLP タイプに対し可能なエラー コンディシ ョ ンにはチェッ クマークが印されています。 たとえば、 エラーが検出された場合、 メモ リ書き

込み TLP に対してはサポート されない要求または ECRC エラーをユーザーは送信するこ とができます。TLP タイプに対し無効なエラー コンディシ ョ ンには X が印されています。 たとえば、 メモ リ書き込み TLP に対しては完了中止応答を送信するこ とができません。

表 3‐40 :ユーザー レポートのエラー信号 (続き)

ユーザー レポート  エラー 内部的な起因 AER がイネーブル 操作

Page 114: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 114

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

X-Ref Target - Figure 3-63

図 3‐63 : ノンポステッ ド  TLP に対するサポート されない要求

X-Ref Target - Figure 3-64

図 3‐64 :ポステッ ド  TLP に対するサポート されない要求

user_clk_out

cfg_err_cpl_rdy

cfg_err_tlp_cpl_header[47:0]

cfg_err_ur

cfg_err_posted

cfg_err_locked

cfg_dcommand[3]

tx_data[63:0]* Cpl UR

Completion with Status Unsupported Request sent on link

* Internal signal not appearing on User Interface

user_clk_out

cfg_err_cpl_rdy

cfg_err_ur

cfg_err_posted

cfg_dcommand[1]

tx_data[63:0]* Message

Non-Fatal Error Message sent on link

* Internal signal not appearing on User Interface

Page 115: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 115

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

完了タイムアウト

統合ブロッ ク コアは完了タイマーをインプリ メン ト しません。このため、ユーザー アプリ ケーシ ョ ンが保留中のノンポステッド要求が 1 つの完了に対して待機している時間を把握し、 それに沿ってタイムアウ ト を出力する必要があ り ます。 コアにはこう したタイムアウ トがいつ発生したか判断する術がないため、 期限切れ要求に対する完了をフ ィルターしません。

要求がタイムアウ トになる と、 ユーザー アプリ ケーシ ョ ンは cfg_err_cpl_timeout をアサートする必要があ り、 エラー メ ッセージがルート コンプレッ クスに送信されます。要求がタイムアウ ト した後に完了を受信した場合、ユーザー アプリ ケーシ ョ ンはそれを予期しない完了と して処理する必要があ り ます。

予期しない完了

コアは、 完了の要求者 ID がコンフ ィギュレーシ ョ ン空間でプログラムされているエンドポイン ト ID と異なる場合、 予期しない完了を自動的にレポート します。こ う した完了はユーザー アプリ ケーシ ョ ンには渡されません。現在のバージ ョ ンのコアは、予期しない完了を勧告と しての非致命的エラー (ANFE) とみなし、 メ ッセージは送信されません。

コンプリーターの中断

ユーザー アプリ ケーシ ョ ンが受信する ノンポステッ ド要求への応答と して標準完了を送信できない場合、ユーザー アプリ ケーシ ョ ンは cfg_err_cpl_abort を出力する必要があ り ます。 cfg_err_tlp_cpl_header[47:0] のノンポステッ ドおよび該当要求情報を示すため、同時に cfg_err_posted 信号を 1 に設定するこ と もできます。これでステータスが不成功の完了が元の要求者に送信されますが、 エラー メ ッセージは送信されません。 レガシ モードで、 cfg_err_locked 信号が 0 (エラーが発生している ト ランザクシ ョ ンがロ ッ ク された ト ランザクシ ョ ンであるこ とを示す) に設定されている場合、 ステータスが不成功の完了のロ ッ クが送信されます。 cfg_err_posted 信号が 0 (ポステッ ド ト ランザクシ ョ ンであるこ とを示す) に設定されている場合、完了は送信されませんが、 非致命的エラー メ ッセージが送信されます (イネーブルの場合)。

サポート されない要求

ユーザー アプリ ケーシ ョ ンがサポート しないまたは認識しない要求を受信した場合、ユーザー アプリ ケーシ ョ ンはサポート されない要求であるこ とを知らせるため cfg_err_ur をアサートする必要があ り ます。 また、 そのパケッ トがポステッ ドであるかノンポステッ ドであるかによ り、 cfg_err_posted 信号をアサート またはディアサートする必要があ り ます。パケッ トがポステッドの場合は非致命的エラー メ ッセージが送信され (イネーブルの場合)、 ノンポステッ ドの場合はステータスが不成功の完了が元の要求者に送信されます。 レガシ モードで、 cfg_err_locked 信号が 0 (エラーが発生している ト ランザクシ ョ ンがロ ッ ク された ト ランザクシ ョ ンであるこ とを示す) に設定されている場合、 ステータスがサポート されない要求の完了のロ ッ クが送信されます。

サポート されない要求のコンディシ ョ ンは次のよ うないくつかの理由で発生します。

X-Ref Target - Figure 3-65

図 3‐65 : ロックされたノンポステッ ド  TLP に対するサポート されない要求のロック

user_clk_out

cfg_err_cpl_rdy

cfg_err_tlp_cpl_header[47:0]

cfg_err_ur

cfg_err_posted

cfg_err_locked

cfg_dcommand[3]

tx_data[63:0]* Cpl UR

Completion with Status Unsupported Request sent on link

* Internal signal not appearing on User Interface

Page 116: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 116

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

• メモ リ書き込みパケッ トがユーザー アプリ ケーシ ョ ンのプログラ ミ ング モデルに違反している。 たとえば、 ユーザー アプ リ ケーシ ョ ンが 4KB のアドレス空間を割り当てているにもかかわらず、 3KB しか使用されておらず、 パケッ トがその未使用部分を使用する。

注記 : この状態が ノ ンポステ ッ ド要求で発生し た場合、 ユーザー アプ リ ケーシ ョ ンはエラーを フ ラ グするためcfg_err_cpl_abort を使用する必要があ り ます。

• 入力パケッ トがユーザー アプリ ケーシ ョ ンではサポート されていないパケッ ト タイプの場合。たとえば、 メモ リ専用デバイスへの I/O 要求など。

ECRC エラー

イネーブルに設定されている場合、 コアは自動的に検証のため ECRC フ ィールドをチェッ ク します。 ECRC エラーが検出される と、 コンフ ィギュレーシ ョ ン空間で設定されている場合は、 該当ステータス ビッ ト を設定するこ とでコアは応答し、該当エラー メ ッセージが送信されます。

自動 ECRC チェ ッ クがディ スエーブルになっていても、 ユーザー アプ リ ケーシ ョ ンは cfg_err_ecrc をアサート して ECRC エラーを通知できます。ユーザー アプリ ケーシ ョ ンは AER がディ スエーブルになっていなければ cfg_err_ecrc をアサートできません。

AER 要件

ユーザー アプリ ケーシ ョ ンが cfg_err_* 入力の 1 つを使用してエラーを通知する場合 (cfg_err_ecrc_n など)、 そのエラーの原因である TLP のヘッダーも記録する必要があ り ます。ユーザー アプリ ケーシ ョ ンはエラーがレポート されているのと同じクロ ック サイ クルで cfg_err_aer_headerlog[127:0] にヘッダー情報を提供しますが、cfg_err_aer_headerlog_set がアサート されるまでヘッダー情報を保持する必要があ り ます。 初のエラー ポインターに対応する訂正不可能なエラー ステータス レジスタ ビッ トがク リ アになるまで、 cfg_err_aer_headerlog_set はアサート されたままにな り ます (通常システム ソフ ト ウェアを介して行われます。詳細は 『PCI Express Base Specification v2.1』 [参照 2]を参照してください。 )cfg_err_aer_headerlog_set が既にアサート されている場合は、 ヘッダーは既に記録されています。 図 3-66 はAER ヘッダー ログについて説明しています。

サイズ変更可能な BAR のインプリ メンテーシ ョ ン に関する情報 (エンドポイン トのみ)

統合ブロッ クはサイズ調整可能な BAR を 6 つまでサポートできますが、 この サイズ調整可能 BAR 機能レジスタ (0 から 5) のBAR インデッ クス フ ィールドは昇順になっている必要があ り ます。 たとえば、 BAR インデッ クス (0) が 4 に設定されている場合 (BAR[4] ポイン ト している )、 BAR インデッ クス (1) は 5 に設定でき、 BAR インデッ クス (2 - 5) は使用できずディ スエーブルになり ます。この例では、BAR[4] が 64 ビッ トの BAR である場合 (上位 32 ビッ トに BAR5 を使用)、BAR インデッ クス (1)は使用できません。

サイズ調整可能 BAR 機能の BAR サイズがプログラムされている場合、 対応する BAR で前回プログラムされた値はク リ アにな り、 その BAR で書き込み可能なビッ ト数は新しいサイズを反映させるためすぐに変更されます。

エラー検出

『PCI Express Base Specification』 では、PCIe ポートでチェッ クすべきエラーおよびオプシ ョ ンのチェッ ク項目が多数規定されています。

X-Ref Target - Figure 3-66

図 3‐66 : AER ヘッダー ログ

user_clk

cfg_err_<condition>

cfg_err_aer_headerlog[127:0]

cfg_err_aer_headerlog_set

H0H1H2[H3]

Cleared by Software

Header of TLP with Error

Page 117: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 117

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

必須のチェッ クの大部分 (オプシ ョ ンのチェッ クの一部も含む) は統合ブロッ クで実行されます。ただしインプリ メン トする必要があるものもあ り ます。統合ブロ ッ クは受信された TLP にのみチェッ クを実行するため、送信 TLP のチェッ クはすべてユーザーが実行する必要があ り ます。 統合ブロ ッ クまたはユーザーによるエラー チェッ クの詳細は、 表 3-42 にま とめられています。 この表は、 『PCI Express Base Specification』 にあるチェッ ク実行方法を説明するセクシ ョ ンに沿って大まかにですが整理されています。

表 3‐42 : エラー チェ ックのまとめ

PCI Express 仕様のセクシ ョ ン

必須/オプシ ョ ン

チェ ックがインプリ メン ト

される場所

データ ペイロードのある TLP に対し実行されるチェッ ク

TLP のデータ ペイロードが Max_Payload_Size を超えないこ と。 このルールに違反した場合、 TLP は不正に構成されている と判断される。

2.2.2 必須 統合ブロッ ク

TLP にデータが含まれる場合、データの実際の量は、長さフ ィールドの値に一致するこ と。 このルールに違反した場合、TLP は不正に構成されている と判断される。

2.2.2 必須 統合ブロッ ク

TLP ダイジェス トに関して実行されるチェッ ク

ダイジェス トの有無が TD フ ィールドの設定を正し く反映しているこ と。 このルールに違反した場合、 TLP は不正に構成されている と判断される。

2.2.3 必須 統合ブロッ ク

初または 後の DW バイ ト イネーブル (1 DWORD = 32 ビッ ト ) に対するチェッ ク

• 長さが 1 DWORD を越える場合、 初の DWORD バイ ト イネーブルは0000 にならない。

• 長さが 1 DWORD に等しい場合、 後の DWORD バイ ト イネーブルは0000 になる。

• 長さが 1 DWORD を越える場合、 初の DWORD バイ ト イネーブルは0000 にならない。

• 長さが 3 DWORD のパケッ ト 、 または QWORD に揃えられていない 2DWORD パケッ トに対し、 バイ ト イネーブルは不連続でない。

このルールに違反した場合、 TLP は不正に構成されている と判断される。

2.2.5 オプシ ョ ン ユーザー

メモリ、 I/O、 およびコンフ ィギュレーシ ョ ン要求に関するチェッ ク

タグ フ ィールド長が、現在のコンフ ィギュレーシ ョ ンに対して正しいこ と。受信および送信された メモ リおよび I/O 要求に対し、 タグ フ ィールド をチェッ クする必要がある。

2.2.6.2 オプシ ョ ン 統合ブロッ ク

メモ リ書き込み要求が、 メモ リ空間のアクセスが 4KB の境界を越えてしまう アドレス と長さの組み合わせを指定しない。 このルールに違反した場合、TLP は不正に構成されている と判断される。 メモ リ読み出し要求の場合、 このオプシ ョ ンのチェ ッ クは必要であれば FPGA ロジッ クにインプ リ メ ン トする。

2.2.7 オプシ ョ ン 統合ブロッ ク

I/O 要求が次の制約に従っているこ と。

• TC[2:0] は 000b• Attr[1:0] は 00b• AT[1:0] は 00b • Length[9:0] は 00 0000 0001b• 後の DW BE[3:0] は 000bこのルールに違反した I/O 要求は、 不正に構成された TLP と して処理される。

2.2.7 オプシ ョ ン 統合ブロッ ク

Page 118: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 118

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

コンフ ィギュレーシ ョ ン要求が次の制約に従っているこ と。

• TC[2:0] は 000b• Attr[1:0] は 00b• AT[1:0] は 00b • Length[9:0] は 00 0000 0001b• 後の DW BE[3:0] は 000bこのルールに違反する コンフ ィ ギュレーシ ョ ン要求は不正に構成されたTLP と して処理される。

2.2.7 オプシ ョ ン 統合ブロッ ク

コンフ ィギュレーシ ョ ン要求で有効なファンクシ ョ ン番号フ ィールドが指定されているこ と。

7.3.2 必須 統合ブロッ ク

メ ッセージ要求のチェッ ク

Assert_INTx/Deassert_INTx メ ッセージは、アップス ト リーム ポートのみから発行されるこ と。このルールに違反する Assert_INTx/Deassert_INTx メ ッセージは不正に構成された TLP と して処理される。

2.2.8.1 オプシ ョ ン 統合ブロッ ク

Assert_INTx/Deassert_INTx メ ッセージでは TC0 が使用されるこ と。このルールに違反する Assert_INTx/Deassert_INTx メ ッセージは不正に構成されたTLP と して処理される。

2.2.8.1 必須 統合ブロッ ク

パワー マネージメン ト メ ッセージでは TC0 が使用されるこ と。 このルールに違反するパワー マネージメン ト メ ッセージは不正に構成された TLP と して処理される。

2.2.8.2 必須 統合ブロッ ク

エラー通知メ ッセージでは TC0 が使用されるこ と。 このルールに違反するエラー通知メ ッセージは不正に構成された TLP と して処理される。

2.2.8.3 必須 統合ブロッ ク

アンロ ッ ク メ ッセージでは TC0 が使用されるこ と。 このルールに違反するアンロ ッ ク メ ッセージは不正に構成された TLP と して処理される。

2.2.8.4 必須 統合ブロッ ク

すべての Set_Slot_Power_Limit メ ッセージで TC0 が使用される こ と。 このルールに違反するSet_Slot_Power_Limit メ ッセージは不正に構成された TLPと して処理される。

2.2.8.5 必須 統合ブロッ ク

サポート されていないタイプ 0 のベンダー定義メ ッセージ。サポート されない要求と して報告されます。

注記 :タイプ 1 のベンダー定義メ ッセージは無視される。

2.2.8.6 必須 ユーザー

サポート されないメ ッセージ、 つま り次のメ ッセージ以外のもの。

• サポート されているタイプ 0 のベンダー定義メ ッセージ (メ ッセージコードは 01111110)

• タイプ 1 のベンダー定義のメ ッセージ (メ ッセージ コードは 01111111)• 無視される メ ッセージ (メ ッセージ コードは 01000000、 01000001、

01000011、 01000100、 01000101、 01000111、 01001000)サポート されない要求と して報告されます。

2.2.8.6、 2.2.8.7 必須 ユーザー

レイテンシ耐性レポート メ ッセージは TC0 を使用するこ と。 このルールに違反するレイテンシ耐性レポート メ ッセージは不正に構成された TLP と して処理される。

2.2.8.8 オプシ ョ ン ユーザー

TLP 接頭部を含む TLP には基本 TLP ヘッダーが必要。 このルールに違反した場合、 この TLP は不正に構成された TLP と して処理される。

2.2.10 オプシ ョ ン ユーザー

表 3‐42 : エラー チェ ックのまとめ (続き)

PCI Express 仕様のセクシ ョ ン

必須/オプシ ョ ン

チェ ックがインプリ メン ト

される場所

Page 119: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 119

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ローカルおよび End-to-End の TLP 接頭部の組み合わせを含む TLP で、 すべてのローカル TLP の接頭部は End-to-End TLP の接頭部の先にく るこ と。 このルールに違反した場合、 この TLP は不正に構成された TLP と して処理される。

2.2.10 オプシ ョ ン ユーザー

レシーバーでサポート されていないローカル TLP 接頭部のある TLP を受信するのはエラー。拡張 Fmt フ ィールドでサポート されるビッ トが設定されている場合、 このルールに違反する TLP は不正に構成された TLP と して処理される。

2.2.10.1 オプシ ョ ン ユーザー

1 つの TLP の End-to-End 接頭部の 大数は 4 であるこ と。 このルールに違反した場合、 この TLP は不正に構成された TLP と して処理される。

2.2.10.2 オプシ ョ ン ユーザー

End-to-End TLP 接頭部のある TLP をこのタイプの接頭部をサポート しないレシーバーで受信するのはエラー。 このルールに違反した場合、 この TLPは不正に構成された TLP と して処理される。

2.2.10.2 オプシ ョ ン ユーザー

TLP 処理に関するチェッ ク

拡張 Fmt フ ィールドでサポート されるビッ トが設定されている場合、Emt エンコーディングを使用する受信された TLP と受信されたタイプは、 不正に構成された TLP と して処理される。

2.3 オプシ ョ ン ユーザー

Fmt[2] ク リ アがあ り、 未定義のタイプ フ ィールドの値を使用する TLP は不正に構成された TLP と して処理される。

2.3 オプシ ョ ン ユーザー

受信された TLP は、 必須およびインプ リ メ ン ト されたオプシ ョ ンの TLPフォーマッ ト チェ ッ クをパスする こ と。 このルールに違反した場合、 TLPは不正に構成されている と判断される。 ユーザーは、 適切な完了 TLP を生成するこ と。

2.3 必須 統合ブロッ ク

メモ リ読み出し要求のロ ッ ク (MRdLk) のリ クエス トにはペイロードを含めないこ と。 ペイロードのある MRdLk 要求は破棄し、 TLP が不正に構成されているこ とを知らせる必要がある。

2.3 必須 ユーザー

データ (CplID) のある完了には 3DW ヘッダーがあるこ と。 4DW ヘッダーのある CplID は破棄し、TLP が不正に構成されているこ とを知らせる必要がある。

2.3 必須 ユーザー

I/O 要求に 3DW ヘッダーがあるこ と。 4DW ヘッダーのある I/O 要求は破棄し、 TLP が不正に構成されているこ とを知らせる必要がある。

2.2.7 必須 ユーザー

受信されたメモ リ読み出しのバイ ト イネーブル ルールに従っているこ と。そ うでない場合は、 TLP が不正に構成されている こ とを知らせる必要がある。

2.2.5 必須 ユーザー

要求処理のチェッ ク

サポート されない要求のタイプは、サポート されない要求と して報告されます。 ユーザーは、 適切な完了 TLP を生成するこ と。

2.3.1 必須 統合ブロッ ク

デバイスのプログラム モデルに違反する要求。 コンプ リータの中断と して報告されます。 ユーザーは、 適切な完了 TLP を生成するこ と。

2.3.1 オプシ ョ ン ユーザー

デバイス特定のエラー条件によ り、処理できない要求は、 コンプリータの中断と して報告されます。 ユーザーは、 適切な完了 TLP を生成するこ と。

2.3.1 必須 ユーザー

完了は Max_Payload_Size での許容量を越えたデータを含まないこ と。 このルールに違反した場合、 この TLP は不正に構成された TLP と して処理される。

2.3.1.1 必須 統合ブロッ ク

表 3‐42 : エラー チェ ックのまとめ (続き)

PCI Express 仕様のセクシ ョ ン

必須/オプシ ョ ン

チェ ックがインプリ メン ト

される場所

Page 120: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 120

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

RCB 違反。 RCB 違反の完了は、 不正に構成された TLP と して処理される。 2.3.1.1 オプシ ョ ン ユーザー

コンプリーシ ョ ン処理のチェッ ク

予期しないコンプ リーシ ョ ン 2.3.2 必須 ユーザー

コンフ ィギュレーシ ョ ン要求以外の要求に対する リ ト ラ イ ステータスのコンプ リーシ ョ ン。 不正に構成された TLP と して処理される。

2.3.2 オプシ ョ ン ユーザー

サポート されない要求または完了者中断で、完了のステータスが完了になっている。 従来の PCI レポート機能を使用して報告される。

2.3.2 必須 ユーザー

仮想チャネル メカニズムに関するチェッ ク

VC 機能構造をサポート しない要求は TC0 でのみ動作するこ と。 TC1 からTC7 で受信された要求は通常どおりに処理され (エラーなし )、完了は要求が受信されたのと同じ TC で返す必要があ り ます。

2.5 オプシ ョ ン ユーザー

各 TLP に関連した TC は入力ポートでイネーブルになっている VC にマップされる。 このルールに違反した場合、 この TLP は不正に構成された TLP として処理される。

2.5.3 必須 統合ブロッ ク

フロー制御のチェッ ク

フロー制御の初期値が 小値以上であるこ と。違反した場合は、フロー制御プロ ト コル エラーと して報告される。 デバイスおよびリ ンクの反対側の大ペイ ロード サイズ設定がどのよ う になっているかを把握する必要がある。

2.6.1 オプシ ョ ン ユーザー

未使用のデータ クレジッ ト の累計が 2047 を越えないこ と、 未使用のヘッダー クレジッ トは 127 を越えないこ と。 違反した場合は、 フロー制御プロト コル エラーと して報告される。

2.6.1 オプシ ョ ン 統合ブロッ ク

初期化中に無制限クレジッ トが通知された場合、アップデート もすべて無制限であるこ と。 違反した場合は、 フロー制御プロ ト コル エラーと して報告される。ヘッダーのみまたはデータのみが無制限と して設定された場合にも適用される。

2.6.1 オプシ ョ ン 統合ブロッ ク

TLP で使用される VC はイネーブルである こ と。 このルールに違反した場合、 この TLP は不正に構成された TLP と して処理される。

2.6.1 必須 統合ブロッ ク

レシーバ オーバーフロー 『PCI Express Base Specification』 では、 TLP の数がCREDITS_ALLOCATED を超えた場合に発生する と規定されている。

2.6.1.2 オプシ ョ ン 統合ブロッ ク

アップデート FCP は指定された間隔で送信されるよ うにスケジュールされているこ と。

2.6.1.2 オプシ ョ ン 統合ブロッ ク

データ整合性のチェッ ク

スイ ッチで受信、転送される メ ッセージの TD ビッ トの整合性。ECRC チェックのエラーはすべて報告される。

2.7.1 必須 統合ブロッ ク (1)

ポイズンド TLP の受信 2.7.2.2 必須 ユーザー

コンプリーシ ョ ン タイムアウ トのチェッ ク

完了タイムアウ ト タイマーは 50µs 以上経過するまで無効にならないが、 要求が 50ms 以内に完了しなければ無効になる。

2.8 必須 ユーザー

LCRC およびシーケンス番号に関するチェッ ク (TLP ト ランス ミ ッ ター )

REPLAY_NUM が 11b から 00b になる と、 ト ランス ミ ッ タで(a) エラーが報告される (b) リ ンクを保持するために信号が物理層に送信される

3.5.2.1 必須 統合ブロッ ク

表 3‐42 : エラー チェ ックのまとめ (続き)

PCI Express 仕様のセクシ ョ ン

必須/オプシ ョ ン

チェ ックがインプリ メン ト

される場所

Page 121: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 121

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

パワー マネージメン ト

コアは次のモードのパワー マネージメン ト をサポート します。

• アクティブ ステート パワー マネージメン ト (ASPM)

• プログラムされたパワー マネージメン ト (PPM)

PCI Express デザインの一部と してこれらのパワー マネージメン ト機能をインプ リ メン トする と、 PCI Express の階層でシステム電力節約のため電力管理に関する メ ッセージがスムーズに交信できるよ うにな り ます。 電力管理メ ッセージ ID 機能はすべてインプ リ メ ン ト されています。 次のセクシ ョ ンでは、 上記のパワー マネージメン ト モードをサポートするためのユーザーロジッ ク定義を説明します。

ASPM および PPM インプ リ メ ンテーシ ョ ンに関する追加情報については、 『PCI Express Base Specification』 PCI[参照 2]を参照してください。

アクテ ィブ ステート  パワー マネージメン ト  (ASPM) 

アクティブ ステート パワー マネージメン ト (ASPM) の機能は、 ユーザー ロジッ ク機能の観点からいえば自律していて ト ランスペアレン トです。 コアは ASPM に必要なコンディシ ョ ンをサポート しており、 統合ブロ ッ クは ASPM L0 をサポート しています。

Ack または Nak DLLP のない TLP を含む再試行バッファーが、指定された大時間を越えて受信されている場合、 ト ランス ミ ッ タで(a) エラーが報告される (b) 再生が開始される

3.5.2.1 必須 統合ブロッ ク

受信された DLLP すべての CRC フ ィールドの値を計算結果と比較し、 等しくなければ(a) DLLP は破損している と見なされ破棄される (b) エラーが報告される

3.5.2.1 必須 統合ブロッ ク

AckNak_Seq_Num で指定されたシーケンス番号を、 認識されない TLP のシーケンス番号および ACKD_SEQ の値と比較し、 一致するものが見つからなければ(a) DLLP は破棄される (b) DLLP エラーが報告される

3.5.2.1 必須 統合ブロッ ク

LCRC およびシーケンス番号に関するチェッ ク (TLP レシーバー )

受信された TLP の LCRC フ ィールドを計算結果と比較し、 等し くなければ(a) TLP は破損している と見なされ破棄される (b) エラーが報告される

3.5.3.1 必須 統合ブロッ ク

TLP 終了フレームシンボルが EDB の場合、受信された TLP の LCRC フ ィールドを計算された結果の論理 NOT と比較し、一致しなければ(a) TLP は破損している と見なされ破棄される (b) エラーが報告される

3.5.3.1 必須 統合ブロッ ク

TLP シーケンス番号を NEXT_RCV_SEQ に格納された値と比較し、等し くなければ、 エラーが報告されます。

3.5.3.1 必須 統合ブロッ ク

レシーバー エラーに関するチェッ ク

実行ディ スパリティを考慮した、受信された 8B/10B シンボルの検証。エラーはレシーバ エラーと して報告される。

4.2.1.3 必須 統合ブロッ ク

フレーミ ング エラー、 シンボル ロ ッ クの損失、 レーン デスキュー エラー、およびエラスティ ッ ク バッファーのオーバーフロー /アンダーフローエラーはレシーバー エラーと して報告される。

4.2.2.1 オプシ ョ ン ユーザー

注記 :1. カスタマイズ可能な ECRC チェッ クの設定次第で、 統合ブロ ッ クは ECRC をチェ ッ ク します。

表 3‐42 : エラー チェ ックのまとめ (続き)

PCI Express 仕様のセクシ ョ ン

必須/オプシ ョ ン

チェ ックがインプリ メン ト

される場所

Page 122: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 122

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

プログラムされたパワー マネージメン ト  (PPM)

PCI Express の階層で大幅に電力を節約するため、 コアはプログラムされたパワー マネージメン ト (PPM) に対し次のリ ンク ステート をサポート しています。

• L0 : アクティブ ステート (データ交信ステート )

• L1 : レイテンシが高く、 デイ電力のスタンドバイ ステート

• L3 : リ ンク オフ ステート

PPM プロ ト コルはダウンス ト リーム コンポーネン ト /アップス ト リーム ポートによって開始されます。

PPM L0 ステート

L0 ステートは標準操作を表し、ユーザー ロジッ クに対し ト ランスペアレン トです。初期化および、プロ ト コルに基づいた PCIExpress リ ンクの ト レーニングの後、 コアは L0 (アクティブ ステート ) に達します。

PPM L1 ステート

コアから PPM L1 ステートへの遷移は次の順序で発生します。

1. 低電力の PPM L1 ステートへの遷移はアップス ト リーム デバイスによって開始されます。PCI Express デバイスのパワー ステート を D3-hot (サポート されていない場合は D1 または D2) にプログラ ミ ングする と遷移が開始します。

2. デバイスのパワー ステートは cfg_pmcsr_powerstate[1:0] 出力を介してユーザー ロジッ クに伝送されます。

3. この後、 コアは s_axis_tx_tready をディアサート し、 ユーザー ロジッ クがユーザー インターフェイスで新たな ト ランザクシ ョ ンを開始しないよ うに、 ユーザー ロジッ クをスロ ッ トル/中断させます。 しかし、 ユーザー インターフェイスでの保留ト ランザクシ ョ ンは完全に受信され、 後で完了するこ とができます。

このルールには例外が 2 つあり ます。

° コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされていて、ユーザー コンフ ィギュレーシ ョ ン空間がイネーブルになっている場合。 この状況では、 cfg_pmcsr_powerstate[1:0] が D0 以外の場合は、 新しい要求 TLP を送信しないようにします。 しかしユーザー コンフ ィギュレーシ ョ ン空間をターゲッ トにしたコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンに完了を返すこ とは可能です。

° コアがルート ポート と してコンフ ィギュレーシ ョ ンされている場合。 この状況で準拠を保つには、cfg_pmcsr_powerstate[1:0] が D0 以外の場合は新しい要求を送信しないよ うにします。

4. リ ンクが低電力 PPM L1 ステートに遷移するには、コアは該当パワー マネージメン ト DLLP を リ ンク パートナーと交信します。 これはユーザー ロジッ クにはト ランスペアレン トです。

5. ステップ 3 で説明されている例外を除き、デバイスのパワー ステートが D0 以外になっている間は、すべてのユーザー トランザクシ ョ ンが中断されます。

注記 :デバイスのパワー ステートが D0 以外であるこ とを確認した後、デバイスをD0 のパワー ステートに戻すため、ユーザーロジッ クは cfg_pm_wake を介してアップス ト リームの リ ンク パートナーへの要求を開始します。 アップス ト リームの リ ンクパー ト ナーが、 デバイスで PM_PME メ ッセージを生成でき る よ う にデバイスをコンフ ィ ギュレーシ ョ ンしていない場合(cfg_pmcsr_pme_en = 0)、 cfg_pm_wake のアサートはコアで無視されます。

PPM L3 ステート

PCI Express のエンドポイン トから PPM L3 ステートへの遷移は次の順序で発生します。

1. アップス ト リームのリ ンク パートナーから PME_Turn_Off メ ッセージを受信する と、コアは L23 準備完了のリ ンク ステートへの遷移を交渉します。

2. PME_Turn_Off メ ッセージを受信する と、 コアは cfg_to_turnoff を介してユーザー ロジッ ク とのハンドシェークを開始し (表 3-43 を参照)、 ユーザー ロジッ クから cfg_turnoff_ok の応答を期待します。

3. ハンドシェークが成功する と、パワー マネージメン ト をオフする承認メ ッセージ (PME-turnoff_ack) がコアによ りアップスト リーム リ ンク パートナーに送信されます。

Page 123: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 123

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

4. コアはインターフェイスをすべて閉じ、 物理層/データ リ ンク層/ ト ランザクシ ョ ン層をディ スエーブルにし、 コアに対するパワー オフの準備を整えます。

このルールには例外が 2 つあり ます。

° コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされていて、ユーザー コンフ ィギュレーシ ョ ン空間がイネーブルになっている場合。 この状況では、 cfg_pmcsr_powerstate[1:0] が D0 以外の場合は、 新しい要求 TLP を送信しないようにします。 しかしユーザー コンフ ィギュレーシ ョ ン空間をターゲッ トにしたコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンに完了を返すこ とは可能です。

° コアがルート ポート と してコンフ ィギュレーシ ョ ンされている場合。 この状況で準拠を保つには、cfg_pmcsr_powerstate[1:0] が D0 以外の場合は新しい要求を送信しないよ うにします。

パワーダウン交渉は次の順番で行われます。

1. 電源と クロ ッ クがオフになる前に、 ダウンス ト リーム スイ ッチのルート コンプレッ クスまたはホッ トプラグ コン ト ローラーが PME_Turn_Off 通知メ ッセージを出力します。

2. コアがこの TLP を受信する と、 ユーザー アプリ ケーシ ョ ンに cfg_to_turnoff をアサート し、 cfg_turnoff_ok 入力を受信し始めます。

3. cfg_to_turnoff のアサート をユーザー アプリ ケーシ ョ ンが検出する と、処理中のパケッ ト を完了し、新しいパケッ トの生成を停止する必要があ り ます。 ユーザー アプリ ケーシ ョ ンがオフになる準備が整った後、 コアに cfg_turnoff_ok をアサートします。 cfg_turnoff_ok のアサート後、 ユーザー アプリ ケーシ ョ ンのオフが確約されます。

4. コアは cfg_turnoff_ok のアサート を検出する と、 図 3-67 (64 ビッ ト ) にあるよ うに PME_TO_Ack を送信します。

割り込み要求の生成

注記 : このセクシ ョ ンは 7 Series FPGAs Integrated Block for PCI Express コアのエンドポイン ト コンフ ィギュレーシ ョ ンのみを対象にしています。

コアは割り込み要求をレガシ、 メ ッセージ MSI、 または MSI-X 割り込みと して送信します。 MSI 機能構造のメ ッセージ制御レジスタの MSI イネーブル ビッ トおよび MSI-X 機能構造の MSI-X メ ッセージ制御レジスタの MSI-X イネーブル ビッ ト を使用してモードはプログラムされます。 MSI および MSI-X 機能構造の詳細については、 『PCI Local Base Specification v3.0』 [参照 2]のセクシ ョ ン 6.8 を参照して ください。

表 3‐43 :パワー マネージメン ト  ハンドシェーク信号

ポート名 方向 説明

cfg_to_turnoff 出力 パワーダウン要求 TLP がアップス ト リーム デバイスから受信されるとアサート されます。アサート後、ユーザーが cfg_turnoff_ok をアサートするまで cfg_to_turnoff はアサート された状態になり ます。

cfg_turnoff_ok 入力 安全にパワーダウンできる状態になる とユーザー アプ リ ケーシ ョ ンによ りアサート されます。

X-Ref Target - Figure 3-67

図 3‐67 :パワー マネージメン ト  ハンドシェーク信号 (64 ビッ ト )

user_clk_out

rx_data[63:0]*

cfg_to_turnoff

cfg_turnoff_ok

tx_data[63:0]*

PME_Turn_Off

PME_TO_ACK

* Internal signal not appearing on User Interface

Page 124: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 124

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

MSI イネーブルおよび MSI-X イネーブル ビッ トのステートは cfg_interrupt_msienable 出力、 cfg_interrupt_msixeable 出力によ りそれぞれ反映されます。表 3-44 は、コアの cfg_interrupt_msienable 出力および cfg_interrupt_msixenable 出力に基づいてプログラムされている割り込みモードを説明しています。

MSI 制御レジスタの MSI イネーブル ビッ ト、 MSI-X 制御レジスタの MSI-X イネーブル ビッ ト 、 PCI コマンド レジスタの割り込みディ スエーブル ビッ トはルート コンプレッ ク スによってプログラムされます。 ユーザー アプ リ ケーシ ョ ンがこれらのビッ トに対し直接に影響を与えるこ とはあ り ません。

コアの内部割り込みコン ト ローラーはレガシ割り込みおよび MSI 割り込みのみを生成します。 MSI-X 割り込みはユーザー アプリ ケーシ ョ ンによって生成され、 送信 AXI4-Stream インターフェイスで伝送される必要があ り ます。 cfg_interrupt_msienableのステータスは、 内部割り込みコン ト ローラーにとって生成される割り込みのタイプを決定します。

MSI イネーブル ビッ トが 1 に設定されている場合、コアはメモ リ書き込み TLP を送信して MSI 要求を生成します。MSI イネーブル ビッ トが 0 に設定されている場合、 PCI コマンド レジスタの割り込みディ スエーブル ビッ トが 0 に設定されている限り、コアはレガシ割り込みメ ッセージを生成します。

• cfg_command[10] = 0 : INTx 割り込みがイネーブル

• cfg_command[10] = 1 : INTx 割り込みがディ スエーブル (コアによ り要求はブロ ッ ク される )

• cfg_interrupt_msienable = 0 : レガシ割り込み

• cfg_interrupt_msienable = 1 : MSI

使用されている割り込みタイプに関わらず (レガシまたは MSI)、 cfg_interrupt および cfg_interrupt_rdy を介して割り込み要求は表 3-45 にあるよ うに開始します。

ユーザー アプリ ケーシ ョ ンは 2 つある方法のいずれかの方法で割り込みを要求しますが、それぞれの方法は次のセクシ ョ ンで説明します。

レガシ割り込みモード

• 図 3-68 にあるよ うに、 割り込みをアサートするには、 ユーザー アプリ ケーシ ョ ンはまず cfg_interrupt および cfg_interrupt_assert をアサート します。 ユーザー アプリ ケーシ ョ ンは、 表 3-46 にあるよ うに cfg_interrupt_di[7:0] を使用して特定の割り込み (INTA) を選択する必要があ り ます。

表 3‐44 :割り込みモード

cfg_interrupt_msixenable=0 cfg_interrupt_msixenable=1

cfg_interrupt_msienable=0

レガシ割り込み (INTx) モード。

cfg_interrupt は INTx メ ッセージのみを送信します。

MSI-X モード。 送信 AXI4-Stream インターフェイスで MWr TLP を構成するこ とで MSI-X 割り込みはユーザーによ り生成される必要があ り ます。 cfg_interrupt インターフェイスを使用しないでください。

cfg_interrupt インターフェ イ スはア クテ ィ ブでINTx メ ッセージを送信しますが、 そ う しないでください。

cfg_interrupt_msienable=1

MSI モード。 cfg_interrupt インターフェイスは MSI 割り込み (MWr TLP) のみを送信します。

未定義。 システム ソフ ト ウェアはこれを実行できません。 しかし、 cfg_interrupt イ ン ターフェ イ スはア クテ ィ ブで、 選択をすれば MSI 割 り 込み (MWrTLP) を送信します。

表 3‐45 :割り込み信号

ポート名 方向 説明

cfg_interrupt 入力 割り込みを要求するためアサート。割り込みが出力されるまでアサートの状態にしておきます。

cfg_interrupt_rdy 出力 コアが割り込み要求を受信したらアサート されます。

Page 125: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 125

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

• この後、 コアは割り込みが受け入れられたこ とを示すため cfg_interrupt_rdy をアサート します。次のクロ ッ ク サイクルで、ユーザー アプリ ケーシ ョ ンは cfg_interrupt をディアサート し、また PCI コマンド レジスタの割り込みディ スエーブル ビットが 0 に設定されている場合は、 アサート割り込みメ ッセージ (Assert_INTA) をコアが送信します。

• 割り込みが実行されたこ とをユーザー アプリ ケーシ ョ ンが確認したら、 その割り込みをディアサートするため cfg_interrupt_assert をディアサート しながら cfg_interrupt をアサート します。 該当する割り込みは cfg_interrupt_di[7:0] により提示されます。

• この後、 コアは割り込みがディアサート されたこ とを示すため cfg_interrupt_rdy をアサート します。 次のクロ ッ ク サイクルで、 ユーザー アプ リ ケーシ ョ ンは cfg_interrupt をデ ィ アサー ト し、 コ アがデ ィ アサー ト 割 り 込み メ ッ セージ(Deassert_INTA) を送信します。

MSI モード

• 図 3-68 にあるよ うに、ユーザー アプリ ケーシ ョ ンはまず cfg_interrupt をアサート します。 さ らに、マルチベクター MSI がイネーブルになっている場合、 ユーザー アプリ ケーシ ョ ンは cfg_interrupt_di[7:0] に値を供給します。

• 割り込みが受け入れられたこ とを知らせるためコアは cfg_interrupt_rdy をアサート し、 MSI メモ リ書き込み TLP を送信します。 次のクロ ッ ク サイクルで、 これ以上送信される割り込みがない場合は、 ユーザー アプリ ケーシ ョ ンが cfg_interruptをディアサート します。

MSI 要求は 32 ビッ ト または 64 ビッ トのアドレス指定可能なメモ リ書き込み TLP です。 アドレスは MSI 機能構造のメ ッセージ アドレスおよびメ ッセージ上位アドレス フ ィールドからのもの、 そしてペイロードはメ ッセージ データ フ ィールドからの値です。 これらの値は、 MSI 機能構造へのコンフ ィギュレーシ ョ ン書き込みによ り、 システム ソフ ト ウェアでプログラムされます。 コアがマルチベクター MSI 用にコンフ ィギュレーシ ョ ンされている場合、 複数メ ッセージ イネーブル フ ィールドにゼロ以外の値をプログラムするこ とで、 システム ソフ ト ウェアはマルチベクター MSI メ ッセージを許可するこ とができます。

送信される MSI TLP のタイプ (32 ビッ ト または 64 ビッ トのアドレス指定可能なもの) は、MSI 機能構造の上位アドレス フ ィールドの値によって変わり ます。 デフォルトでは MSI メ ッセージは 32 ビッ トのアドレス指定可能なメモ リ書き込み TLP と して送信されます。上位アドレス レジスタにゼロ以外の値がシステム ソフ ト ウェアによってプログラムされている場合のみ、 MSIメ ッセージは 64 ビッ トのアドレス指定可能なメモ リ書き込み TLP を使用します。

X-Ref Target - Figure 3-68

図 3‐68 :割り込み要求 : MSI およびレガシ モード

表 3‐46 : レガシ割り込みのマッピング

cfg_interrupt_di[7:0] value レガシ割り込み

00h INTA

01h - FFh サポート なし

user_clk_out

cfg_interrupt_msienable

cfg_interrupt

cfg_interrupt_di

cfg_interrupt_assert

cfg_interrupt_rdy

cfg_interrupt_msienable

cfg_interrupt

cfg_interrupt_di

cfg_interrupt_rdy

INTA

01h

Page 126: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 126

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

マルチベクター MSI メ ッセージがイネーブルになっている場合、 アップス ト リームに送信された MSI メ ッセージを区別するため、 送信された MSI TLP それぞれのメ ッセージ データ フ ィールドの下位ビッ トの 1 つまたは複数をユーザー アプ リ ケーシ ョ ンが上書きするこ とができます。 メ ッセージ データ フ ィールドにあるユーザー アプリ ケーシ ョ ンで使用可能な下位ビット数は、 Vivado IDE で設定されている値、 複数メ ッセージ イネーブル フ ィールドの値、 システム ソフ ト ウェアで設定されている値、 cfg_interrupt_mmenable[2:0] コア出力で使用できる値の中の、 複数メ ッセージ対応フ ィールドの小さいほうの値によって決定されます。 コアは cfg_interrupt_di[7:0] にあるビッ ト をマスク しますが、 これらは複数メ ッセージ イネーブルを介してシステム ソフ ト ウェアによってコンフ ィギュレーシ ョ ンされません。

必要なプロセスを示したサンプル コードは次のとおりです。

// Value MSI_Vector_Num must be in range:0 £ MSI_Vector_Num £ (2^cfg_interrupt_mmenable)-1

if (cfg_interrupt_msienable) { // MSI Enabledif (cfg_interrupt_mmenable > 0) { // Multi-Vector MSI Enabledcfg_interrupt_di[7:0] = {Padding_0s, MSI_Vector_Num};

} else { // Single-Vector MSI Enabledcfg_interrupt_di[7:0] = Padding_0s;

}} else {

// Legacy Interrupts Enabled}

例 :

1. cfg_interrupt_mmenable[2:0] == 000b の場合、 1 つの MSI ベクターがイネーブルになり ます。 そして cfg_interrupt_di[7:0] = 00h; です。

2. cfg_interrupt_mmenable[2:0] == 101b の場合、 32 個のMSI ベクターがイネーブルになり ます。 そして cfg_interrupt_di[7:0] = {{000b}, {MSI_Vector#}};です。

MSI_Vector# が 5 ビッ ト値ならば、 00000b £ MSI_Vector# £ 11111b となるこ とが可能です。

ベクターごとのマスキングがイネーブルになっている場合は、送信されているべクターがマスク レジスタでマスク されていないこ とをまず確認する必要があ り ます。コンフ ィギュレーシ ョ ン インターフェイスでこのレジスタを読み出すこ とでこの確認はできます (コアはマスク レジスタを確認しないため)。

MSI‐X モード

オプシ ョ ンでコアは MSI-X 機能構造をサポート します。 MSI-X ベクター表および MSI-X 保留ビッ ト アレイはロジッ クの一部と して BAR の開口部を使用してインプリ メン トする必要があ り ます。

コアの cfg_interrupt_msixenable 出力がアサート された場合、 ユーザー アプリ ケーシ ョ ンは送信 AXI4-Stream インターフェイスで MSI-X 割り込みを構成し送信する必要があ り ます。

リンク  ト レーニング : 2 レーン、 4 レーン、 8 レーン  コンポーネン ト

2 レーン、 4 レーン、 8 レーンのコアは、 『PCI Express Base Specification』 [参照 2]で規定されている 大レーン幅未満で動作するこ とが可能です。 次のセクシ ョ ンで定義されているよ うに、 指定されている 大レーン幅未満でコアが動作するケースが 2つあり ます。

リンク  パートナーが少ないレーン数をサポートする場合

2 レーン コアが 1 レーンのみをインプ リ メン トするデバイスに接続されている場合、 このコアはレーン 0 を使用し、 1 レーンデバイス と して ト レインし動作します。

4 レーン コアが 1 レーンのみをインプリ メン トするデバイスに接続されている場合、図 3-69 にあるよ うにこのコアはレーン 0を使用し、1 レーン デバイス と して ト レインし動作します。同様に、4 レーン コアが 2 レーン デバイスに接続されている場合、このコアはレーン 0 および 1 を使用して 2 レーン デバイス と して ト レインし動作します。

Page 127: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 127

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

8 レーン コアが 4 レーンのみをインプ リ メ ン トするデバイスに接続されている場合、 このコアはレーン 0 から 3 を使用し、 4レーン デバイス と して ト レインし動作します。 また、接続されているデバイスが 1 または 2 レーンのみをインプリ メン トする場合は、 8 レーン コアは 1 レーンまたは 2 レーン デバイス と して ト レインし動作します。

レーンにエラーが発生した場合

コアおよびリ ンク パートナー デバイスでサポート されている 大レーン幅にト レイン後、 リ ンクにエラーが発生する と、コアは回復を試み、 可能であれば小さいレーン幅にト レインしよ う と します。 レーン 0 にエラーが発生した場合、 リ ンクは回復不可能とな り失われます。 レーン 1 から 7 のいずれか、 またはすべてにエラーが発生した場合、 リ ンクは回復モードになり、 まだ動作しているレーンを使用して回復可能な 大レーンを回復しよ う と します。

たとえば、8 レーン コアを使用する場合、レーン 1 が損失する と回復措置が取られレーン 0 で 1 レーン操作になり ますが、レーン 6 が損失する とレーン 0 から 3 で 4 レーン操作になり ます。 回復措置後、 エラーの発生したレーンが再び動作可能な状態になる と、 コアは大きいリ ンク幅へと回復措置を取ろ う とはしな くな り ます。 値の大きいほうのリ ンク幅へ回復措置が取られるのは、 リ ンクがダウンし 初から再ト レインを試行する場合のみです。

user_clk_out ク ロ ッ ク出力は Vivado IDE で設定された固定周波数になり ます。 リ ンク リ カバリ またはト レーニング ダウンが発生しても user_clk_out は周波数をシフ ト しません。

レーン反転

統合エンドポイン ト ブロッ クは、限定的にレーン反転機能をサポート しているため、 リ ンク パートナーに対するボードのデザインに柔軟性を提供しています。 リ ンク パートナーは反転されたレーン番号でボードをレイアウ トするよ う選択でき、統合エンドポイン ト ブロ ッ クはリ ンク ト レインを継続し、 通常どおりに動作します。 レーン反転をサポートするコンフ ィギュレーシ ョ ンは x8 および x4 です (ダウンシフ ト モードを除く )。ダウンシフ ト とは、 リ ンク パートナーそれぞれが異なる リ ンク幅機能を持っている場合に発生する リ ンク幅交渉プロセスを指します。 リ ンク幅交渉の結果、 リ ンク パートナーは 2 つのレーン幅のうち値の小さいほうに交渉を成立させます。 表 3-47 には、 ダウンシフ ト モードを含むさまざま組み合わせ、 およびレーン反転サポートの有無がまとめられています。

X-Ref Target - Figure 3-69

図 3‐69 : 4 レーンから  1 レーンまでの 4 レーン エンドポイン ト  ブロックの動作

表 3‐47 : レーン反転サポート

エンドポイン ト  ブロックの可能な

レーン幅

交渉されたレーン幅

レーン番号のマッピング(エンドポイン ト  リンク  パートナー )

レーン反転

サポートエンドポイン ト リンク  パートナー

x8 x8 レーン 0 ...レーン 7 レーン 7 ...レーン 0 あ り

x8 x4 レーン 0 ...レーン 3 レーン 7 ...レーン 4 なし (1)

x8 x2 レーン 0 ...レーン 3 レーン 7 ...レーン 6 なし (1)

x4 x4 レーン 0 ...レーン 3 レーン 3 ...レーン 0 あ り

x4 x2 レーン 0 ...レーン 1 レーン 3 ...レーン 2 なし (1)

Lane 0 Lane 3Lane 2Lane 1

4-lane Downstream Port

Note: Shaded blocks indicate disabled lanes.

Lane 0 Lane 3Lane 2Lane 1

Lane 0 Lane 3Lane 2Lane 1

1-lane Downstream Port

Lane 0 Lane 3Lane 2Lane 1

4-lane Integrated Block 4-lane Integrated Block

Upstream DeviceUpstream Device

Page 128: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 128

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ダイナミ ック  リコンフ ィギュレーシ ョ ン  ポート  インターフェイスの使用

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート (DRP) インターフェイスを使用する と、 コアの一部と してインスタンシエート されている統合ブロ ッ クの FPGA コンフ ィギュレーシ ョ ン メモ リ ビッ トへの読み出しおよび書き込みアクセスが可能です。これらのコンフ ィギュレーシ ョ ン メモ リ ビッ トは、 PCIE_2_1 ライブラ リ エレ メン トの属性と して表されます。

DRP インターフェイスはザイ リ ンクス デバイスの多くの統合 IP ブロ ッ クの標準インターフェイスです。 このインターフェイスがどのよ うに FPGA コンフ ィギュレーシ ョ ン メモ リ と動作するのかについては、 『『7 シ リーズ FPGA コンフ ィギュレーシ ョン ユーザー ガイ ド』 (UG470)』 [参照 7]を参照してください。

DRP インターフェイスの書き込みおよび読み出し

このインターフェイスはプロセッサとの併用が容易な同期インターフェイスで、 1 つのアドレス バス (drp_addr) と、 PCIE_2_1ブロ ッ クへのコンフ ィギュレーシ ョ ン データの読み出し (drp_do) 用および書き込み (DI) 用に別々のデータ バスを備えています。 イネーブル信号 (drp_en)、 読み出し /書き込み信号 (drp_we)、 および Ready/Valid 信号 (drp_rdy) は、 読み出し と書き込み操作をインプ リ メ ン トする制御信号であ り、 処理の完了やデータの有無を示します。 図 3-70 は書き込みサイ クルを、 図 3-71 は読み出しサイクルを説明しています。

x2 x2 レーン 0 ...レーン 1 レーン 1...レーン 0 あ り

x2 X1 レーン 0 ...レーン 1 レーン 1 なし (1)

注記 :1. レーンがボード レイアウ トで反転され、 ダウンシフ ト アダプタ カードがエンドポイン ト と リ ンク パートナーの間に挿入され

ている場合、 リ ンク パートナーのレーン 0 は接続されないまま とな り (表 3-47 のレーン マッピングを参照)、 リ ンク ト レインしません。

X-Ref Target - Figure 3-70

図 3‐70 : DRP インターフェイス書き込みサイクル

表 3‐47 : レーン反転サポート  (続き)

エンドポイン ト  ブロックの可能な

レーン幅

交渉されたレーン幅

レーン番号のマッピング(エンドポイン ト  リンク  パートナー )

レーン反転

サポートエンドポイン ト リンク  パートナー

pcie_drp_clk

pcie_drp_en

pcie_drp_we

pcie_drp_addr[8:0]

pcie_drp_di[15:0]

pcie_drp_rdy

pcie_drp_do[15:0]

addr

data

data

Page 129: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 129

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

DRP インターフェイスに対するその他注意事項

DRP ポート を介して属性値をアップデートするのは、 sys_rst_n がアサート されていてコアがリセッ ト状態の間のみにサポートされています。 sys_rst_n がディアサート された状態で属性が即時アップデート される場合は、 コアの動作は定義されていません。 DRP ポート を介した属性の読み出しは sys_rst_n とは無関係です。

16 ビッ ト を越える属性は 2 つの drp_daddr アドレスを占めます。 たとえば、 BAR0[31:0] には属性の読み出しまたは書き込みに2 回アクセスが必要です。 さ らに、属性の中には 1 つの drp_daddr アドレスを共有するものがあ り ます。 アドレスを共有する属性が意図反して変更されないよ うにするには、 読み出し ・ 変更 ・書き込みのアプローチを利用して ください。

デザインのほかの部分とアラインするよ うにこ う した属性を設定する必要があるため、DRP を介して変更すべきではない属性は数多くあ り ます。たとえば、ブロ ッ ク RAM に接続されているパイプライン レジスタの実際の数を変更せずに、 PCIE_2_1 ブロ ッ クのメモ リ レイテンシ属性を変更する と、 論理エラーが発生します。 こ う した属性は次のカテゴ リに含まれています。

• DEV_CAP_MAX_PAYLOAD_SUPPORTED

• VC0_TX_LASTPACKET

• TL_TX_RAM_RADDR_LATENCY

• TL_TX_RAM_RDATA_LATENCY

• TL_TX_RAM_WRITE_LATENCY

• VC0_RX_LIMIT

• TL_RX_RAM_RADDR_LATENCY

• TL_RX_RAM_RDATA_LATENCY

• TL_RX_RAM_WRITE_LATENCY

DRP アドレス マップ

表 3-48 は、 PCIE_2_1 ライブラ リ エレ メン ト属性の DRP アドレス マップを定義しています。 一部の属性は BAR0 など 2 つのアド レスにまたがっています。 さ らに、 一部のアド レスには複数の属性が含まれています。 たとえば、 アド レス 0x004 にはAER_CAP_NEXTPTR[11:0] および AER_CAP_ON の両方が含まれています。

X-Ref Target - Figure 3-71

図 3‐71 : DRP インターフェイス読み出しサイクル

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

AER_CAP_ECRC_CHECK_CAPABLE 0x000 [0]

AER_CAP_ECRC_GEN_CAPABLE 0x000 [1]

AER_CAP_ID[15:0] 0x001 [15:0]

pcie_drp_clk

pcie_drp_en

pcie_drp_we

pcie_drp_addr[8:0]

pcie_drp_di[15:0]

pcie_drp_rdy

pcie_drp_do[15:0]

addr

data

Page 130: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 130

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

AER_CAP_PERMIT_ROOTERR_UPDATE 0x002 [0]

AER_CAP_VERSION[3:0] 0x002 [4:1]

AER_BASE_PTR[11:0] 0x003 [11:0]

AER_CAP_NEXTPTR[11:0] 0x004 [11:0]

AER_CAP_ON 0x004 [12]

AER_CAP_OPTIONAL_ERR_SUPPORT[15:0] 0x005 [15:0]

AER_CAP_OPTIONAL_ERR_SUPPORT[23:16] 0x006 [7:0]

AER_CAP_MULTIHEADER 0x006 [8]

BAR0[15:0] 0x007 [15:0]

BAR0[31:16] 0x008 [15:0]

BAR1[15:0] 0x009 [15:0]

BAR1[31:16] 0x00a [15:0]

BAR2[15:0] 0x00b [15:0]

BAR2[31:16] 0x00c [15:0]

BAR3[15:0] 0x00d [15:0]

BAR3[31:16] 0x00e [15:0]

BAR4[15:0] 0x00f [15:0]

BAR4[31:16] 0x010 [15:0]

BAR5[15:0] 0x011 [15:0]

BAR5[31:16] 0x012 [15:0]

EXPANSION_ROM[15:0] 0x013 [15:0]

EXPANSION_ROM[31:16] 0x014 [15:0]

CAPABILITIES_PTR[7:0] 0x015 [7:0]

CARDBUS_CIS_POINTER[15:0] 0x016 [15:0]

CARDBUS_CIS_POINTER[31:16] 0x017 [15:0]

CLASS_CODE[15:0] 0x018 [15:0]

CLASS_CODE[23:16] 0x019 [7:0]

CMD_INTX_IMPLEMENTED 0x019 [8]

CPL_TIMEOUT_DISABLE_SUPPORTED 0x019 [9]

CPL_TIMEOUT_RANGES_SUPPORTED[3:0] 0x019 [13:10]

DEV_CAP2_ARI_FORWARDING_SUPPORTED 0x019 [14]

DEV_CAP2_ATOMICOP_ROUTING_SUPPORTED 0x019 [15]

DEV_CAP2_ATOMICOP32_COMPLETER_SUPPORTED 0x01a [0]

DEV_CAP2_ATOMICOP64_COMPLETER_SUPPORTED 0x01a [1]

DEV_CAP2_CAS128_COMPLETER_SUPPORTED 0x01a [2]

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ (続き)

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

Page 131: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 131

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

DEV_CAP2_NO_RO_ENABLED_PRPR_PASSING 0x01a [3]

DEV_CAP2_LTR_MECHANISM_SUPPORTED 0x01a [4]

DEV_CAP2_TPH_COMPLETER_SUPPORTED[1:0] 0x01a [6:5]

DEV_CAP2_EXTENDED_FMT_FIELD_SUPPORTED 0x01a [7]

DEV_CAP2_ENDEND_TLP_PREFIX_SUPPORTED 0x01a [8]

DEV_CAP2_MAX_ENDEND_TLP_PREFIXES[1:0] 0x01a [10:9]

ENDEND_TLP_PREFIX_FORWARDING_SUPPORTED 0x01a [11]

DEV_CAP_ENABLE_SLOT_PWR_LIMIT_SCALE 0x01a [12]

DEV_CAP_ENABLE_SLOT_PWR_LIMIT_VALUE 0x01a [13]

DEV_CAP_ENDPOINT_L0S_LATENCY[2:0] 0x01b [2:0]

DEV_CAP_ENDPOINT_L1_LATENCY[2:0] 0x01b [5:3]

DEV_CAP_EXT_TAG_SUPPORTED 0x01b [6]

DEV_CAP_FUNCTION_LEVEL_RESET_CAPABLE 0x01b [7]

DEV_CAP_MAX_PAYLOAD_SUPPORTED[2:0] 0x01b [10:8]

DEV_CAP_PHANTOM_FUNCTIONS_SUPPORT[1:0] 0x01b [12:11]

DEV_CAP_ROLE_BASED_ERROR 0x01b [13]

DEV_CAP_RSVD_14_12[2:0] 0x01c [2:0]

DEV_CAP_RSVD_17_16[1:0] 0x01c [4:3]

DEV_CAP_RSVD_31_29[2:0] 0x01c [7:5]

DEV_CONTROL_AUX_POWER_SUPPORTED 0x01c [8]

DEV_CONTROL_EXT_TAG_DEFAULT 0x01c [9]

DSN_BASE_PTR[11:0] 0x01d [11:0]

DSN_CAP_ID[15:0] 0x01e [15:0]

DSN_CAP_NEXTPTR[11:0] 0x01f [11:0]

DSN_CAP_ON 0x01f [12]

DSN_CAP_VERSION[3:0] 0x020 [3:0]

EXT_CFG_CAP_PTR[5:0] 0x020 [9:4]

EXT_CFG_XP_CAP_PTR[9:0] 0x021 [9:0]

HEADER_TYPE[7:0] 0x022 [7:0]

INTERRUPT_PIN[7:0] 0x022 [15:8]

INTERRUPT_STAT_AUTO 0x023 [0]

IS_SWITCH 0x023 [1]

LAST_CONFIG_DWORD[9:0] 0x023 [11:2]

LINK_CAP_ASPM_SUPPORT[1:0] 0x023 [13:12]

LINK_CAP_CLOCK_POWER_MANAGEMENT 0x023 [14]

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ (続き)

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

Page 132: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 132

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

LINK_CAP_DLL_LINK_ACTIVE_REPORTING_CAP 0x023 [15]

LINK_CAP_L0S_EXIT_LATENCY_COMCLK_GEN1[2:0] 0x024 [2:0]

LINK_CAP_L0S_EXIT_LATENCY_COMCLK_GEN2[2:0] 0x024 [5:3]

LINK_CAP_L0S_EXIT_LATENCY_GEN1[2:0] 0x024 [8:6]

LINK_CAP_L0S_EXIT_LATENCY_GEN2[2:0] 0x024 [11:9]

LINK_CAP_L1_EXIT_LATENCY_COMCLK_GEN1[2:0] 0x024 [14:12]

LINK_CAP_L1_EXIT_LATENCY_COMCLK_GEN2[2:0] 0x025 [2:0]

LINK_CAP_L1_EXIT_LATENCY_GEN1[2:0] 0x025 [5:3]

LINK_CAP_L1_EXIT_LATENCY_GEN2[2:0] 0x025 [8:6]

LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP 0x025 [9]

LINK_CAP_MAX_LINK_SPEED[3:0] 0x025 [13:10]

LINK_CAP_ASPM_OPTIONALITY 0x025 [14]

LINK_CAP_RSVD_23 0x025 [15]

LINK_CAP_SURPRISE_DOWN_ERROR_CAPABLE 0x026 [0]

LINK_CONTROL_RCB 0x026 [1]

LINK_CTRL2_DEEMPHASIS 0x026 [2]

LINK_CTRL2_HW_AUTONOMOUS_SPEED_DISABLE 0x026 [3]

LINK_CTRL2_TARGET_LINK_SPEED[3:0] 0x026 [7:4]

LINK_STATUS_SLOT_CLOCK_CONFIG 0x026 [8]

MPS_FORCE 0x026 [9]

MSI_BASE_PTR[7:0] 0x027 [7:0]

MSI_CAP_64_BIT_ADDR_CAPABLE 0x027 [8]

MSI_CAP_ID[7:0] 0x028 [7:0]

MSI_CAP_MULTIMSG_EXTENSION 0x028 [8]

MSI_CAP_MULTIMSGCAP[2:0] 0x028 [11:9]

MSI_CAP_NEXTPTR[7:0] 0x029 [7:0]

MSI_CAP_ON 0x029 [8]

MSI_CAP_PER_VECTOR_MASKING_CAPABLE 0x029 [9]

MSIX_BASE_PTR[7:0] 0x02a [7:0]

MSIX_CAP_ID[7:0] 0x02a [15:8]

MSIX_CAP_NEXTPTR[7:0] 0x02b [7:0]

MSIX_CAP_ON 0x02b [8]

MSIX_CAP_PBA_BIR[2:0] 0x02b [11:9]

MSIX_CAP_PBA_OFFSET[15:0] 0x02c [15:0]

MSIX_CAP_PBA_OFFSET[28:16] 0x02d [12:0]

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ (続き)

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

Page 133: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 133

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

MSIX_CAP_TABLE_BIR[2:0] 0x02d [15:13]

MSIX_CAP_TABLE_OFFSET[15:0] 0x02e [15:0]

MSIX_CAP_TABLE_OFFSET[28:16] 0x02f [12:0]

MSIX_CAP_TABLE_SIZE[10:0] 0x030 [10:0]

PCIE_BASE_PTR[7:0] 0x031 [7:0]

PCIE_CAP_CAPABILITY_ID[7:0] 0x031 [15:8]

PCIE_CAP_CAPABILITY_VERSION[3:0] 0x032 [3:0]

PCIE_CAP_DEVICE_PORT_TYPE[3:0] 0x032 [7:4]

PCIE_CAP_NEXTPTR[7:0] 0x032 [15:8]

PCIE_CAP_ON 0x033 [0]

PCIE_CAP_RSVD_15_14[1:0] 0x033 [2:1]

PCIE_CAP_SLOT_IMPLEMENTED 0x033 [3]

PCIE_REVISION[3:0] 0x033 [7:4]

PM_BASE_PTR[7:0] 0x033 [15:8]

PM_CAP_AUXCURRENT[2:0] 0x034 [2:0]

PM_CAP_D1SUPPORT 0x034 [3]

PM_CAP_D2SUPPORT 0x034 [4]

PM_CAP_DSI 0x034 [5]

PM_CAP_ID[7:0] 0x034 [13:6]

PM_CAP_NEXTPTR[7:0] 0x035 [7:0]

PM_CAP_ON 0x035 [8]

PM_CAP_PME_CLOCK 0x035 [9]

PM_CAP_PMESUPPORT[4:0] 0x035 [14:10]

PM_CAP_RSVD_04 0x035 [15]

PM_CAP_VERSION[2:0] 0x036 [2:0]

PM_CSR_B2B3 0x036 [3]

PM_CSR_BPCCEN 0x036 [4]

PM_CSR_NOSOFTRST 0x036 [5]

PM_DATA_SCALE0[1:0] 0x036 [7:6]

PM_DATA_SCALE1[1:0] 0x036 [9:8]

PM_DATA_SCALE2[1:0] 0x036 [11:10]

PM_DATA_SCALE3[1:0] 0x036 [13:12]

PM_DATA_SCALE4[1:0] 0x036 [15:14]

PM_DATA_SCALE5[1:0] 0x037 [1:0]

PM_DATA_SCALE6[1:0] 0x037 [3:2]

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ (続き)

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

Page 134: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 134

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

PM_DATA_SCALE7[1:0] 0x037 [5:4]

PM_DATA0[7:0] 0x037 [13:6]

PM_DATA1[7:0] 0x038 [7:0]

PM_DATA2[7:0] 0x038 [15:8]

PM_DATA3[7:0] 0x039 [7:0]

PM_DATA4[7:0] 0x039 [15:8]

PM_DATA5[7:0] 0x03a [7:0]

PM_DATA6[7:0] 0x03a [15:8]

PM_DATA7[7:0] 0x03b [7:0]

RBAR_BASE_PTR[11:0] 0x03c [11:0]

RBAR_CAP_NEXTPTR[11:0] 0x03d [11:0]

RBAR_CAP_ON 0x03d [12]

RBAR_CAP_ID[15:0] 0x03e [15:0]

RBAR_CAP_VERSION[3:0] 0x03f [3:0]

RBAR_NUM[2:0] 0x03f [6:4]

RBAR_CAP_SUP0[15:0] 0x040 [15:0]

RBAR_CAP_SUP0[31:16] 0x041 [15:0]

RBAR_CAP_SUP1[15:0] 0x042 [15:0]

RBAR_CAP_SUP1[31:16] 0x043 [15:0]

RBAR_CAP_SUP2[15:0] 0x044 [15:0]

RBAR_CAP_SUP2[31:16] 0x045 [15:0]

RBAR_CAP_SUP3[15:0] 0x046 [15:0]

RBAR_CAP_SUP3[31:16] 0x047 [15:0]

RBAR_CAP_SUP4[15:0] 0x048 [15:0]

RBAR_CAP_SUP4[31:16] 0x049 [15:0]

RBAR_CAP_SUP5[15:0] 0x04a [15:0]

RBAR_CAP_SUP5[31:16] 0x04b [15:0]

RBAR_CAP_INDEX0[2:0] 0x04c [2:0]

RBAR_CAP_INDEX1[2:0] 0x04c [5:3]

RBAR_CAP_INDEX2[2:0] 0x04c [8:6]

RBAR_CAP_INDEX3[2:0] 0x04c [11:9]

RBAR_CAP_INDEX4[2:0] 0x04c [14:12]

RBAR_CAP_INDEX5[2:0] 0x04d [2:0]

RBAR_CAP_CONTROL_ENCODEDBAR0[4:0] 0x04d [7:3]

RBAR_CAP_CONTROL_ENCODEDBAR1[4:0] 0x04d [12:8]

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ (続き)

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

Page 135: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 135

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

RBAR_CAP_CONTROL_ENCODEDBAR2[4:0] 0x04e [4:0]

RBAR_CAP_CONTROL_ENCODEDBAR3[4:0] 0x04e [9:5]

RBAR_CAP_CONTROL_ENCODEDBAR4[4:0] 0x04e [14:10]

RBAR_CAP_CONTROL_ENCODEDBAR5[4:0] 0x04f [4:0]

ROOT_CAP_CRS_SW_VISIBILITY 0x04f [5]

SELECT_DLL_IF 0x04f [6]

SLOT_CAP_ATT_BUTTON_PRESENT 0x04f [7]

SLOT_CAP_ATT_INDICATOR_PRESENT 0x04f [8]

SLOT_CAP_ELEC_INTERLOCK_PRESENT 0x04f [9]

SLOT_CAP_HOTPLUG_CAPABLE 0x04f [10]

SLOT_CAP_HOTPLUG_SURPRISE 0x04f [11]

SLOT_CAP_MRL_SENSOR_PRESENT 0x04f [12]

SLOT_CAP_NO_CMD_COMPLETED_SUPPORT 0x04f [13]

SLOT_CAP_PHYSICAL_SLOT_NUM[12:0] 0x050 [12:0]

SLOT_CAP_POWER_CONTROLLER_PRESENT 0x050 [13]

SLOT_CAP_POWER_INDICATOR_PRESENT 0x050 [14]

SLOT_CAP_SLOT_POWER_LIMIT_SCALE[1:0] 0x051 [1:0]

SLOT_CAP_SLOT_POWER_LIMIT_VALUE[7:0] 0x051 [9:2]

SSL_MESSAGE_AUTO 0x051 [10]

VC_BASE_PTR[11:0] 0x052 [11:0]

VC_CAP_NEXTPTR[11:0] 0x053 [11:0]

VC_CAP_ON 0x053 [12]

VC_CAP_ID[15:0] 0x054 [15:0]

VC_CAP_REJECT_SNOOP_TRANSACTIONS 0x055 [0]

VSEC_BASE_PTR[11:0] 0x055 [12:1]

VSEC_CAP_HDR_ID[15:0] 0x056 [15:0]

VSEC_CAP_HDR_LENGTH[11:0] 0x057 [11:0]

VSEC_CAP_HDR_REVISION[3:0] 0x057 [15:12]

VSEC_CAP_ID[15:0] 0x058 [15:0]

VSEC_CAP_IS_LINK_VISIBLE 0x059 [0]

VSEC_CAP_NEXTPTR[11:0] 0x059 [12:1]

VSEC_CAP_ON 0x059 [13]

VSEC_CAP_VERSION[3:0] 0x05a [3:0]

USER_CLK_FREQ[2:0] 0x05a [6:4]

CRM_MODULE_RSTS[6:0] 0x05a [13:7]

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ (続き)

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

Page 136: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 136

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

LL_ACK_TIMEOUT[14:0] 0x05b [14:0]

LL_ACK_TIMEOUT_EN 0x05b [15]

LL_ACK_TIMEOUT_FUNC[1:0] 0x05c [1:0]

LL_REPLAY_TIMEOUT[14:0] 0x05d [14:0]

LL_REPLAY_TIMEOUT_EN 0x05d [15]

LL_REPLAY_TIMEOUT_FUNC[1:0] 0x05e [1:0]

PM_ASPML0S_TIMEOUT[14:0] 0x05f [14:0]

PM_ASPML0S_TIMEOUT_EN 0x05f [15]

PM_ASPML0S_TIMEOUT_FUNC[1:0] 0x060 [1:0]

PM_ASPM_FASTEXIT 0x060 [2]

DISABLE_LANE_REVERSAL 0x060 [3]

DISABLE_SCRAMBLING 0x060 [4]

ENTER_RVRY_EI_L0 0x060 [5]

INFER_EI[4:0] 0x060 [10:6]

LINK_CAP_MAX_LINK_WIDTH[5:0] 0x061 [5:0]

LTSSM_MAX_LINK_WIDTH[5:0] 0x061 [11:6]

N_FTS_COMCLK_GEN1[7:0] 0x062 [7:0]

N_FTS_COMCLK_GEN2[7:0] 0x062 [15:8]

N_FTS_GEN1[7:0] 0x063 [7:0]

N_FTS_GEN2[7:0] 0x063 [15:8]

ALLOW_X8_GEN2 0x064 [0]

PL_AUTO_CONFIG[2:0] 0x064 [3:1]

PL_FAST_TRAIN 0x064 [4]

UPCONFIG_CAPABLE 0x064 [5]

UPSTREAM_FACING 0x064 [6]

EXIT_LOOPBACK_ON_EI 0x064 [7]

DNSTREAM_LINK_NUM[7:0] 0x064 [15:8]

DISABLE_ASPM_L1_TIMER 0x065 [0]

DISABLE_BAR_FILTERING 0x065 [1]

DISABLE_ID_CHECK 0x065 [2]

DISABLE_RX_TC_FILTER 0x065 [3]

DISABLE_RX_POISONED_RESP 0x065 [4]

ENABLE_MSG_ROUTE[10:0] 0x065 [15:5]

ENABLE_RX_TD_ECRC_TRIM 0x066 [0]

TL_RX_RAM_RADDR_LATENCY 0x066 [1]

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ (続き)

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

Page 137: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 137

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

TL_RX_RAM_RDATA_LATENCY[1:0] 0x066 [3:2]

TL_RX_RAM_WRITE_LATENCY 0x066 [4]

TL_TFC_DISABLE 0x066 [5]

TL_TX_CHECKS_DISABLE 0x066 [6]

TL_RBYPASS 0x066 [7]

DISABLE_PPM_FILTER 0x066 [8]

DISABLE_LOCKED_FILTER 0x066 [9]

USE_RID_PINS 0x066 [10]

DISABLE_ERR_MSG 0x066 [11]

PM_MF 0x066 [12]

TL_TX_RAM_RADDR_LATENCY 0x066 [13]

TL_TX_RAM_RDATA_LATENCY[1:0] 0x066 [15:14]

TL_TX_RAM_WRITE_LATENCY 0x067 [0]

VC_CAP_VERSION[3:0] 0x067 [4:1]

VC0_CPL_INFINITE 0x067 [5]

VC0_RX_RAM_LIMIT[12:0] 0x068 [12:0]

VC0_TOTAL_CREDITS_CD[10:0] 0x069 [10:0]

VC0_TOTAL_CREDITS_CH[6:0] 0x06a [6:0]

VC0_TOTAL_CREDITS_NPH[6:0] 0x06a [13:7]

VC0_TOTAL_CREDITS_NPD[10:0] 0x06b [10:0]

VC0_TOTAL_CREDITS_PD[10:0] 0x06c [10:0]

VC0_TOTAL_CREDITS_PH[6:0] 0x06d [6:0]

VC0_TX_LASTPACKET[4:0] 0x06d [11:7]

RECRC_CHK[1:0] 0x06d [13:12]

RECRC_CHK_TRIM 0x06d [14]

TECRC_EP_INV 0x06d [15]

CFG_ECRC_ERR_CPLSTAT[1:0] 0x06e [1:0]

UR_INV_REQ 0x06e [2]

UR_PRS_RESPONSE 0x06e [3]

UR_ATOMIC 0x06e [4]

UR_CFG1 0x06e [5]

TRN_DW 0x06e [6]

TRN_NP_FC 0x06e [7]

USER_CLK2_DIV2 0x06e [8]

RP_AUTO_SPD[1:0] 0x06e [10:9]

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ (続き)

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

Page 138: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 138

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

RP_AUTO_SPD_LOOPCNT[4:0] 0x06e [15:11]

TEST_MODE_PIN_CHAR 0x06f [0]

SPARE_BIT0 0x06f [1]

SPARE_BIT1 0x06f [2]

SPARE_BIT2 0x06f [3]

SPARE_BIT3 0x06f [4]

SPARE_BIT4 0x06f [5]

SPARE_BIT5 0x06f [6]

SPARE_BIT6 0x06f [7]

SPARE_BIT7 0x06f [8]

SPARE_BIT8 0x06f [9]

SPARE_BYTE0[7:0] 0x070 [7:0]

SPARE_BYTE1[7:0] 0x070 [15:8]

SPARE_BYTE2[7:0] 0x071 [7:0]

SPARE_BYTE3[7:0] 0x071 [15:8]

SPARE_WORD0[15:0] 0x072 [15:0]

SPARE_WORD0[31:16] 0x073 [15:0]

SPARE_WORD1[15:0] 0x074 [15:0]

SPARE_WORD1[31:16] 0x075 [15:0]

SPARE_WORD2[15:0] 0x076 [15:0]

SPARE_WORD2[31:16] 0x077 [15:0]

SPARE_WORD3[15:0] 0x078 [15:0]

SPARE_WORD3[31:16] 0x079 [15:0]

表 3‐48 : PCIE_2_1 ライブラリ  エレメン トの DRP アドレス マップ (続き)

制約名アドレス 

drp_daddr[8:0]

データ  ビッ ト  drp_di[15:0] または 

drp_do[15:0]

Page 139: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 139

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

タンデム コンフ ィギュレーシ ョ ン7 Series Integrated Block for PCIe ソ リ ューシ ョ ンには、 PCI Express 仕様で規定されているタイ ミ ング要件を満たすため、 さ らにコンフ ィギュレーシ ョ ン方法が 2 つあり ます。 PCI Express には、 システムの電源安定 (poor good) した後 100ms で PERST# をアサート し、また PCI Express ポートは PERST# がディアサート された後 20ms 以内でリ ンク ト レインができるよ うに準備が完了している必要がある、 と規定されています。 これは 「100ms ブート タイ ミ ング要件」 と一般的に呼ばれます。 この 2 つのコンフ ィギュレーシ ョ ン方法は、 タンデム PROM、 タンデム PCI Express (PCIe) とそれぞれ呼ばれています。 これらのソ リ ューシ ョ ンはこの具体的目標に特化してデザインされてます。 ユーザー アプリ ケーシ ョ ンのダイナミ ッ ク フ ィールド アップデート などのほかのコンフ ィギュレーシ ョ ンの柔軟性が必要な場合は、 タンデム コンフ ィギュレーシ ョ ンではな く一般的なパーシャル リ コンフ ィギュレーシ ョ ンを使用するよ うにしてください。

タンデム PROM およびタンデム PCIe はどちら も 2 段階のコンフ ィギュレーシ ョ ン方法を採用します。 タンデム PROM およびタンデム PCIe では、 PCI Express 操作に重要な 1 番目のコンフ ィギュレーシ ョ ン メモ リ セルはローカル PROM を使用して読み込まれます。 これらのセルが読み込まれる と、 1 番目のビッ ト ス ト リームの終わりに、 FPGA スター ト アップ コマン ドがFPGA コンフ ィギュレーシ ョ ン コン ト ローラーに出力されます。このパーシャル リ コンフ ィギュレーシ ョ ンされた FPGA はこの 1 番目のビッ ト ス ト リームの内容でアクティブになり ます。1 番目のビッ ト ス ト リームには完全機能の PCI Express ポートが含まれていて、 2 番目のビッ ト ス ト リームが FPGA に読み込まれている間、 PCI Express 列挙中に受信される ト ラフ ィ ッ クに応答します。 1 番目のビッ ト ス ト リームに含まれているものは、 PCI Express ハード ブロ ッ ク、 ギガビッ ト ト ランシーバー、 ブロ ッ ク RAM、 ク ロ ッキング リ ソース、 FPGA ロジッ ク、 配線リ ソースで、 PCI Express ポート全体を機能させるのに必要なものです。 2 番目のビッ ト ス ト リームには、 ユーザー アプリ ケーシ ョ ン、 残りのク ロ ッキングおよび I/O リ ソースが含まれ、 基本的には残りの FPGA デザインが含まれています。 2 番目のビッ ト ス ト リームが読み込まれる メカニズムはタンデム PROM とタンデム PCIe とでは異なり ます。

このセクシ ョ ンでは、 次について説明します。

• 「サポート デバイス」

• 「タンデム ツール フローの概要」

• 「タンデム PROM」

• 「タンデム PCIe」

• 「ユーザー アプリ ケーシ ョ ンでのタンデムの使用」

• 「タンデム コンフ ィギュレーシ ョ ンの RTL デザイン」

• 「タンデム コンフ ィギュレーシ ョ ンの詳細」

• 「タンデム PROM/PCIe のリ ソース制限」

• 「PCIe リセッ ト ピンの移動」

• 「非プロジェク ト フロー」

• 「タンデム IP コアのシ ミ ュレーシ ョ ン」

• 「タンデム コンフ ィギュレーシ ョ ンのビッ ト ス ト リーム読み込み時間の計算」

Page 140: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 140

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

サポート  デバイス

7 Series Integrated Block for PCIe コアおよび Vivado ツール フローはザイ リ ンクス リ ファレンス ボードおよび特定のパーツ/パッケージの組み合わせをターゲッ トにしたインプリ メンテーシ ョ ンをサポート します。

Vivado Design Suite 2013.4 では、 タンデムコンフ ィギュレーシ ョ ンはプロダクシ ョ ン ステータスの特定デバイスおよびパッケージに対してのみサポート されています。 タンデム コンフ ィギュレーシ ョ ンは、 表 3-49 にあるコンフ ィギュレーシ ョ ンをサポート しています。

タンデム ツール フローの概要

タンデム PROM およびタンデム PCIe ソ リ ューシ ョ ンは Vivado Design Suite でのみサポート されています。両方のソ リ ューシ ョンのツール フローは次のよ うになっています。

1. 表 3-49 からさポート されているデバイスおよび、タンデム PROM またはタンデム PCIe のコンフ ィギュレーシ ョ ンを選択して、 コアをカスタマイズします。

2. コアを生成します。

3. サンプル デザインを開き、 それをインプリ メン ト します。

4. プロジェク トでサンプル デザインからの IP および XDC を使用し、 コアをインスタンシエート します。

5. デザインを合成し、 インプリ メン ト

6. ビッ ト ファ イルおよび PROM ファ イルを生成します。

タンデム フローの一部と して、 PCIe コア ロジッ ク外部にあるエレ メン トの一部も 1 番目ビッ ト ス ト リームに含める必要があり ます。 これは、 コア生成中に生成される Tcl ファ イルを使用してインプリ メン ト されます。 プロジェク ト ベース フロー全体を実行する場合、この Tcl ファ イルはデザイン 適化 (opt_design) の前に自動的に起動されます。このファイルは build_stage1.tclと呼ばれ、 サンプル デザインの IP ソース ディ レク ト リの下にあ り ます。

<project_name>.srcs\sources_1\ip\<core_name>\<core_name>\source

デザインの階層が変更になっても クロ ッキングおよびリセッ ト構造は変わらず同じであるこ とが重要です。サンプル デザイン配布時と構造が変わっていなければ、 Tcl スク リプ トは該当クロ ッ クおよびリセッ ト ネッ ト を検索 ・ 検出し、 それを 1 番目のブート ロジッ クに追加します。

ビッ ト ス ト リーム生成の前に、create_bitstreams.tcl という Tcl ファ イルが実行され、タンデム フローに必要なビッ ト ス ト リームオプシ ョ ンが設定されます。 このファイルにも、 BPI や SPI などのフラ ッシュ デバイスに対するオプシ ョ ン設定方法の例が含まれています。 これらのオプシ ョ ンはユーザー ファ イルにコピーし保存するこ とができます。 create_bitstreams.tcl は PCIe コアが再生成される と上書きされるため、 変更しないでください。

表 3‐49 : タンデム PROM/PCIe がサポート されているコンフ ィギュレーシ ョ ン

HDL Verilog のみ

PCIe コンフ ィギュレーシ ョ ン 全コンフ ィギュレーシ ョ ン ( 大 : X8Gen2)

ザイリンクス リファレンス ボード  サポート

Kintex®-7 FPGA 用 KC705 評価ボード Virtex®-7 FPGA 用 VC707 評価ボード

デバイス サポート

サポート されているパーツ/パッケージの組み合わせ

パーツ  Package PCIe ロケーシ ョン

Status

XC7K325T すべて すべて Production

XC7VX485T すべて すべて (X1Y0 推奨)

Production

XC7K160T すべて すべて Production

XC7K410T すべて すべて Production

Page 141: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 141

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

重要 : 2013.3 よ り、create_bitstreams.tcl および build_stage1.tcl は変更しないでください。create_bitstreams.tcl ファ イルには SPI とBPI 両方のコンフ ィギュレーシ ョ ン オプシ ョ ン設定方法例が含まれていますが、 これらのサンプルはそれぞれのスク リプ ト またはデザイン制約ファイルに含め、 ビッ ト ス ト リーム生成前に実行する必要があ り ます。

既知の問題 :タンデム コンフ ィギュレーシ ョ ンを使用するにはターゲッ ト言語を Verilog に設定する必要があ り ます。 これはプロジェク ト作成中に設定するか、 または [Tools] → [Project Setting] → [General] をク リ ッ ク して設定します。 タンデム PROM またはタンデム PCIe が選択されたと き、前述の Tcl ファ イルが表示されない場合は、ターゲッ ト言語の設定を確認してください。

タンデム コンフ ィギュレーシ ョ ンは AXI stream バージ ョ ンのコアに対してのみサポート されており、 IP カタログを使用して生成する必要があ り ます。 IP インテグレーター フローはまだサポート されていません。

タンデム PROM 

タンデム PROM ソ リ ューシ ョ ンは、 1 つのビッ ト ス ト リームを 2 つに分けますが、 両方と もオンボードのローカル コンフ ィギュレーシ ョ ン メモ リ (通常は PROM またはフラ ッシュ デバイス) から読み込まれます。 初のビッ ト ス ト リームはデザインの PCI Express 部分をコンフ ィギュレーシ ョ ンし、 2 番目のビッ ト ス ト リームは残りの FPGA をコンフ ィギュレーシ ョ ンします。図 3-72 にあるよ うにデザインは 2 段階に分かれているよ うに見えますが、結果ファイルの BIT ファ イルは 1 つだけで、 これに 1 番目と 2 番目両方のビッ ト ス ト リームが含まれています。

タンデム PROM KC705 サンプル ツール フロー 

このセクシ ョ ンでは、 KC705 リ ファレンス ボードをターゲッ トにした場合の Vivado ツール フローを 初から 後まで説明します。 このフローの説明にあるパスおよびポインター名にはデフォルトのコンポーネン ト名である 「pcie_7x_0」 が使用されているものと想定します。

1. Vivado プロジェク ト を作成する際に、 表 3-49 にあるサポート されているパーツ/パッケージを選択し、 Vivado 統合設計環境 (IDE) 内でタンデム コンフ ィギュレーシ ョ ンをアクティベート します。 ターゲッ ト言語に Verilog が選択されていることを確認します。

2. Vivado IP カタログで [Standard Bus Interfaces] → [PCI Express] を展開し、 [7 Series Integrated Block for PCI Express] をダブルク リ ッ ク して、 [Customize IP] ダイアログ ボッ クスを開きます。

X-Ref Target - Figure 3-72

図 3‐72 : タンデム PROM ビッ トス ト リームの読み込み手順

Page 142: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 142

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

3. [Customize IP] ダイアログ ボッ クスの [Basic] タブで次のよ うにオプシ ョ ンが選択されているこ とを確認します。

° [Silicon Revision] : [GES and Production]

注記 : タンデム コンフ ィギュレーシ ョ ンは GES (General Engineering Sample) およびプロダクシ ョ ン シ リ コンでのみサポート されています。

° [Tandem Configuration] : [Tandem PROM]

X-Ref Target - Figure 3-73

図 3‐73 : Vivado IP カタログ

Page 143: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 143

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

4. 追加の PCIe カスタマイズを実行し、 [OK] をク リ ッ ク してコアを生成します。

5. どの出力ファイルを設定するかを訪ねるポップアップが表示されたら、 [Generate] をク リ ッ ク します。

6. [Sources] タブでコアを右ク リ ッ ク し、 [Open IP Example Design] を選択します。

Vivado の新しいインスタンスが開き、 サンプル デザインが自動的に Vivado IDE に読み込まれます。

7. 合成およびインプリ メンテーシ ョ ンを実行します。

Flow Navigator で [Run Implementation] をク リ ッ ク します。合成を先に実行するには [OK] をク リ ッ ク します。ツール フロー全体を通してデザインが実行され、 タンデム PROM をサポートする完全に配線されたデザインが作成されます。

8. PROM またはフラ ッシュを設定します。

PROM またはフラ ッシュ デバイスのビッ ト ス ト リームを生成するため設定します。 詳細は、 154 ページの 「デバイスのプログラム」 を参照して ください。

9. ビッ ト ス ト リームを生成します。

合成およびインプ リ メ ンテーシ ョ ンが完了したら、 Flow Navigator で [Generate Bitstream] をク リ ッ ク します。 タンデム コン フ ィ ギ ュ レーシ ョ ンをサポー ト する ビ ッ ト ス ト リ ームが runs デ ィ レ ク ト リ に生成されます。 た と えば、 ./pcie_7x_0_example.runs/impl/xilinx_pcie_2_2_ep_7x.bit に生成されます。

注記 : 1 番目と 2 番目のビッ ト ス ト リームを個別に生成するオプシ ョ ンがあ り ます。 このフローでは、テス ト用に JTAG インターフェイスを使用して各段階のビッ ト ス ト リームを読み込むこ とができるよ うになっています。 ビッ ト ス ト リームの生成に必要なコマンドがあ り ます。 このコマンドは create_bitstreams.tcl ファ イルにあ り、 別の Tcl スク リプ ト ファ イルに

X-Ref Target - Figure 3-74

図 3‐74 : タンデム PROM

Page 144: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 144

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

追加したり、 ビッ ト ス ト リームの書き込み段階の tcl.pre ファイルと して含めるこ とができます。 これは [Bitstream Settings]ダイアログ ボッ クスの tcl.pre 設定の中で指定できます。

set_property bitstream.config.tandem_writebitstream separate [current_design]

作成されるビッ ト ファ イルの名前は xilinx_pcie_2_2_ep_7x_tandem1.bit および xilinx_pcie_2_2_ep_7x_tandem2.bit とな り ます。

10. PROM ファ イルを生成します。

コマンド ラインで次のコマンドを実行し、 KC705 開発ボードでサポート される PROM ファ イルを作成します。

promgen -w -p mcs -spi -u 0x0 xilinx_pcie_2_2_ep_7x.bit

タンデム PROM のまとめ

タンデム PROM を使用するこ とによ り、 7 シ リーズ FPGA デザインの PCIe 箇所をコンフ ィギュレーシ ョ ンするのに必要な時間を大幅に短縮するこ とができます。7 Series Integrated Block for PCI Express コアがデザインの詳細の多くを管理するため、ユーザーはユーザー アプリ ケーシ ョ ンに集中するこ とができます。

タンデム PCIe

タンデム PCIe はタンデム PROM と類似しています。1 番目のビッ ト ス ト リームで、PCI Express 操作に必要なコンフ ィギュレーシ ョ ン メモ リ セルのみが PROM から読み込まれます。 1 番目のビッ ト ス ト リームが読み込まれた後、 PCI Express ポートは列挙ト ラフ ィ ッ クに応答できるよ うにな り ます。 これに続いて、 2 番目のビッ ト ス ト リームが PCI Express リ ンクから送信されます。 図 3-75 はビ ッ ト ス ト リームの読み込みフローを説明しています。

タンデム PCIe は、 ツール フローおよびビッ ト ス ト リーム生成に関していえば、 今使用されている標準モデルに類似しています。 2 つのビッ ト ス ト リームはビッ ト ス ト リーム生成が実行される と生成されます。 ユーザー アプリ ケーシ ョ ンを表すビッ トファ イル (2 番目のビッ ト ス ト リーム) が ICAP (Internal Access Configuration) ポート を使用して FPGA の残りの部分をコンフ ィギュレーシ ョ ンしている間、 1 番目のビッ ト ス ト リームのビッ ト ファ イルは PROM に読み込まれます。

注記 : 2 番目のビッ ト ス ト リームのフ ィールド アップデート、 つま り不変の 1 番目のビッ ト ス ト リーム に対する複数のユーザー アプリ ケーシ ョ ン イ メージには、 パーシャル リ コンフ ィギュレーシ ョ ンが必要ですが、 このフローはまだサポート されていません。 この機能が必要な場合は、ブラ ッ クボッ クス コンフ ィギュレーシ ョ ンおよび圧縮を使用し、標準パーシャル リ コンフ ィギュレーシ ョ ン フローを使用してください。

タンデム PCIe KC705 サンプル ツール フロー

このセクシ ョ ンでは、 KC705 リ ファレンス ボードをターゲッ トにした場合の Vivado ツール フローを 初から 後まで説明します。 このフローの説明にあるパスおよびポインター名にはデフォルトのコンポーネン ト名である 「pcie_7x_0」 が使用されているものと想定します。

X-Ref Target - Figure 3-75

図 3‐75 : タンデム PCIe ビッ トス ト リームの読み込み手順

Page 145: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 145

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

1. Vivado プロジェク ト を作成する際に、 表 3-49 にあるサポート されているパーツ/パッケージを選択し、 Vivado 統合設計環境 (IDE) 内でタンデム コンフ ィギュレーシ ョ ンをアクティベート します。 ターゲッ ト言語に Verilog が選択されていることを確認します。

2. Vivado IP カタログで [Standard Bus Interfaces] → [PCI Express] を展開し、 [7 Series Integrated Block for PCI Express] をダブルク リ ッ ク して、 [Customize IP] ダイアログ ボッ クスを開きます。

3. [Customize IP] ダイアログ ボッ クスの [Basic] タブで次のよ うにオプシ ョ ンが選択されているこ とを確認します。

° [Silicon Revision] : [GES and Production]

注記 : タンデム コンフ ィギュレーシ ョ ンは GES (General Engineering Sample) およびプロダクシ ョ ン シ リ コンでのみサポート されています。

° [Tandem Configuration] : [Tandem PCIe]

X-Ref Target - Figure 3-76

図 3‐76 : Vivado IP カタログ

Page 146: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 146

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

4. タンデム PCIeのメモ リの開口部を [BAR] タブで選択します。

° [BAR0] を選択します。

注記 :高速 PCIe コンフ ィギュレーシ ョ ン (FPC) モジュールでは 2 番目のビッ ト ス ト リームが BAR0 で受信されるものと想定しています。

° [Size Unit] : 128 バイ トのメモリ

X-Ref Target - Figure 3-77

図 3‐77 : タンデム PCIe

Page 147: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 147

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

5. サンプル デザインのソフ ト ウェアはベンダー ID およびデバイス ID を使用してデバイスに接続します。 ベンダー ID は16'h10EE、 デバイス ID は 16'h7024 である必要があ り ます。 [ID] タブで次のよ うに設定します。

° [Vendor ID] : 10EE

° [Device ID] : 7024

注記 :別のソ リ ューシ ョ ンの場合はベンダー ID およびデバイス ID を変更し、 新しい値に一致させるよ う ソフ ト ウェアをアップデート します。

X-Ref Target - Figure 3-78

図 3‐78 : [BAR] タブ

Page 148: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 148

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

6. 追加の PCIe カスタマイズを実行し、 [OK] をク リ ッ ク してコアを生成します。

コア生成後に Vivado IDE の [Sources] タブにコアの階層が表示されます。

7. [Sources] タブでコアを右ク リ ッ ク し、 [Open IP Example Design] を選択します。

Vivado の新しいインスタンスが開き、 サンプル デザイン プロジェク トが自動的に Vivado IDE に読み込まれます。

8. 合成およびインプリ メンテーシ ョ ンを実行します。

Flow Navigator で [Run Implementation] をク リ ッ ク します。合成を先に実行するには [OK] をク リ ッ ク します。ツール フロー全体を通してデザインが実行され、 タンデム PCIe をサポートする完全に配線されたデザインが作成されます。

X-Ref Target - Figure 3-79

図 3‐79 : [ID] タブ

Page 149: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 149

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

9. PROM またはフラ ッシュを設定します。

PROM またはフラ ッシュ デバイスのビッ ト ス ト リームを生成するため設定します。 詳細は、 154 ページの 「デバイスのプログラム」 を参照して ください。

10. ビッ ト ス ト リームを生成します。

合成およびインプ リ メ ンテーシ ョ ンが完了したら、 Flow Navigator で [Generate Bitstream] をク リ ッ ク します。 次の 4 つのファイルが作成され、 runs ディ レク ト リに保存されます。

xilinx_pcie_2_2_ep_7x_tandem1.bit|xilinx_pcie_2_2_ep_7x_tandem2.bit|xilinx_pcie_2_2_ep_7x_tandem1.bin|xilinx_pcie_2_2_ep_7x_tandem2.bin

注記 : このフローでは、 JTAG インターフェイスを使用して各段階のビッ ト ス ト リーム (.bit) を読み込むこ とができるよ うになっています。 2 番目の BIN ファ イルは 32 ビッ ト ワードにアラインされており、 PCIe インターフェイスを介して 2 番目のコンフ ィギュレーシ ョ ンを読み込むのに使用して ください。

11. 1 番目の PROM ファ イルを生成します。

コマンド ラインで次のコマンドを実行し、 KC705 開発ボードでサポート される PROM ファ イルを作成します。

promgen -w -p mcs -spi -u 0x0 xilinx_pcie_2_2_ep_7x_tandem1.bit

PCI Express を使用した 2 番目の読み込み

サンプルのカーネル モード ド ラ イバーおよびユーザー空間のアプリ ケーシ ョ ンが IP と と もに提供されています。 ソフ ト ウェアおよび資料の入手方法についてはザイ リ ンクス アンサー 51950 を参照して ください。 japan.xilinx.com/support/answers/51950.htm.

タンデム PCIe のまとめ

タンデム PCIe を使用するこ とによ り、 7 シ リーズ FPGA デザインの PCIe 箇所をコンフ ィギュレーシ ョ ンするのに必要な時間を大幅に短縮でき、 またビ ッ ト ス ト リームのフラ ッシュ格納要件を下げる こ とができます。 7 Series Integrated Block for PCIExpress コアがデザインの詳細の多く を管理するため、 ユーザーはユーザー アプリ ケーシ ョ ンに集中するこ とができます。

ユーザー アプリケーシ ョ ンでのタンデムの使用

ユーザー デザインにタンデム フローを適用するには 2 つの方法があ り ます。1 番目はコアと と もに配布されるサンプル デザインを使用する方法です。 2 番目は、既存デザインに PCIe IP をインポート して、必要であればデザインの階層を変更する方法です。

どちらの方法を利用するにしても、 タンデム ソ リ ューシ ョ ンに必要なサンプルのクロ ッ ク供給構造、 タイ ミ ング制約、および物理ブロ ッ ク (Pblock) 制約を得るために PCIe サンプル デザインを作成する必要があ り ます。

方法 1 – 既存 PCI Express サンプル デザインの使用

PCI Express コアでやらなければならないこ と という観点から見る と、 これが も簡単な方法ですが、 どのケースにも実現可能というわけではあ り ません。 このアプローチがデザイン構造上のニーズに見合う場合は、 次の手順に従ってください。

1. サンプル デザインを作成します。

「タンデム PROM KC705 サンプル ツール フロー」 および 「タンデム PCIe KC705 サンプル ツール フロー」 で説明されているよ うにサンプル デザインを生成します。

2. ユーザー アプリ ケーシ ョ ンを挿入します。

Page 150: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 150

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

PIO サンプル デザインをユーザー デザインに置き換えます。 I/O およびグローバル ク ロ ッキングなどのグローバルおよび上位エレ メン トは、 上位デザインに挿入するよ うにして ください。

3. create_bitstream.tcl ファ イルから該当する SPI または BPI をコピーし、 新しい Tcl ファ イルに貼り付けます。

ビッ ト ス ト リーム生成前にこの Tcl ファ イルが実行されるよ うに Vivado 設定をアップデート します。

4. 通常通りにデザインをインプリ メン ト します。

方法 2 – PCIe デザインを新しい Vivado プロジェク トに移行

方法 1 を利用するこ とができない場合は、次の手順に従って PCIe コアおよび目的のタンデム フロー (PROM または PCIe) を新しいプロジェク トで使用します。 サンプル デザインには ユーザー デザインに移行する必要のある RTL およびスク リプ トが数多くあ り ます。

1. サンプル デザインを作成します。

「タンデム PROM KC705 サンプル ツール フロー」 および 「タンデム PCIe KC705 サンプル ツール フロー」 で説明されているよ うにサンプル デザインを生成します。

2. ク ロ ッ ク モジュールを移行します。

pipe_clock_i clock モジュールはサンプル デザインの 上位にインスタンシエート されています。このクロ ッ ク モジュールをユーザー デザインに移行し、 必要な PCIe ク ロ ッ クを供給する必要があ り ます。

注記 : これらのクロ ッ クは必要であればユーザー デザインのほかの箇所に使用できます。

3. 上位制約を移行します。

サンプルのザイ リ ンクス デザイン制約 (XDC) ファ イルには、 PCIe コア用のタイ ミ ング制約、 ロケーシ ョ ン制約、 およびPblock 制約が含まれています。 これらの制約はすべて (I/O ロケーシ ョ ンおよび I/O 規格制約を除く ) ユーザー デザインに移行させる必要があ り ます。制約の中には、デザインの階層がサンプル デザインのものとは異なる場合にアップデートする必要のある階層参照を含むものがあ り ます。 たとえば、 大遅延およびフォルス パス制約は 、 次のよ うに PCIe コアのデザイン階層に <path> を一致させるためアップデートする必要があ り ます。

set_max_delay -from [get_ports sys_rst_n] -to [get_pins <path>/inst/inst/sys_rst_n_int_reg/D] 3set_false_path -from [get_pins <path>/inst/inst/sys_rst_n_int_reg/C]

4. 上位 Pblock 制約を移行します。

次の制約は忘れやすいため、 この手順で特筆しています。 Pblock 制約は PCIe コアの 上位にポイン ト している必要があり ます。

add_cells_to_pblock [get_pblocks main_pblock_boot] [get_cells -quiet [<path>]]

重要 : 物理制約はデバイスに依存しているため、 XDC ファ イルで定義されている物理制約を変更しないでください。

5. Vivado プロジェク トにタンデム PCIe IP を追加します。

Flow Navigator で [Add Sources] をク リ ッ ク します。 Add Source ウ ィザードで [Add Existing IP] を選択してから、 タンデムPCIe のサンプル デザインを作成するのに使用した XCI ファ イルを参照します。

6. create_bitstream.tcl ファ イルから該当する SPI または BPI をコピーし、 新しい Tcl ファ イルに貼り付けます。

ビッ ト ス ト リーム生成前にこの Tcl ファ イルが実行されるよ うに Vivado 設定をアップデート します。

7. 通常通りにデザインをインプリ メン ト します。

Page 151: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 151

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

タンデム コンフ ィギュレーシ ョ ンの RTL デザイン

タンデム コンフ ィギュレーシ ョ ンの場合、 タンデム以外の PCI Express 製品から若干の変更が必要になり ます。 このセクシ ョンでは、 コア内に統合されている追加ロジッ ク と、 タンデム PROM ソ リ ューシ ョ ンをインプ リ メ ン トするためのユーザー アプリ ケーシ ョ ンの追加の役割について説明します。

クリテ ィ カル入力のマルチプレクサ化

コアへの入力ポートの一部は、 2 番目のコンフ ィギュレーシ ョ ン プロセス中にディ スエーブルになるよ うに、 マルチプレクサ化されます。 これらのマルチプレクサは 上位ファイルにあ り、 user_app_rdy 信号で制御されます。

これらの入力は、 2 番目のビッ ト ス ト リームが読み込まれている間ディアサート状態に保たれます。 これで、 第 2 段階のド ライバーがないために不要なグ リ ッチが発生するのを防ぎ、 PCIe コアは有効な状態に保たれます。 user_app_rdy がアサート される と、 マルチプレクサは切り替わり、 すべてのインターフェイス信号がこの資料で説明されているよ うに動作します。

タンデム コンプリーター

コンフ ィギュレーシ ョ ン要求パケッ ト を受信するだけでなく、 PCI Express エンドポイン トは、 PCI Express ハード ブロ ッ ク内では処理されない TLP 要求を受信する可能性があ り ます。 受信される TLP 要求は通常ベンダー定義メ ッセージおよび読み出し要求です。PCI Express IP とのロ ッ クアップを避けるため、TLP 要求はコアから出してコンフ ィギュレーシ ョ ン要求が完了できるよ うにする必要があ り ます。

コンプ リーター モジュールはこれらのパケッ ト を処理するのにタンデム モードが選択されている場合にインプ リ メ ン ト されます。タンデム高速 PCIe コンフ ィギュレーシ ョ ン (FPC) モジュールはこれらのパケッ ト を処理するためにインプリ メン ト されます。すべての読み出し要求は 1DW になるものと予期され、 CPLD は 32’h0 のペイロードで返されます。すべてのベンダー定義メ ッセージ要求はコアの受信バッファーから消去され、 これ以上処理は実行されません。 BAR1 をターゲッ トにした各メモリ書き込み要求は FPC によって処理され、 2 番目のビッ ト ス ト リーム データである と見なされます。 ペイロードは ICAP に転送されます。 2 番目のビッ ト ス ト リームが読み込まれ、 user_app_rdy がアサート された後、 タンデム FPC モジュールは非アクティブになり ます。

タンデム コンフ ィギュレーシ ョ ン ロジック

コアおよびサンプル デザインには、 タンデム コンフ ィギュレーシ ョ ンに特化したポート (信号) が含まれています。 これらの信号は第 1 段階 (コア) と第 2 段階 (ユーザー ロジッ ク ) との間のハンドシェークを提供します。 ハンドシェークはコアとユーザー ロジッ ク間の通信に必要なものです。 表 3-50 にはコアのハンドシェーク ポートが定義されています。

これらの信号は、 「タンデム コンフ ィギュレーシ ョ ンの詳細」 に説明されている出力ト ラ イステート バッファーのリ リースなどの、 ユーザー アプリ ケーシ ョ ンでのイベン ト を調整します。 これらの信号に関する追加情報は次のとおりです。

• user_clk は PCIe IP コアのメ インの内部クロ ッ クです。 コアと直接通信するユーザー ロジッ ク と同期化させるには、 このクロ ッ クを使用します。

• user_reset も同様に、 コア自体がリセッ トする と きにコアと通信するロジッ クを リセッ トするのに使用します。

表 3‐50 :ハンドシェーク  ポート

名前 方向 極性 説明

user_app_rdy 出力 ア ク テ ィ ブHigh

第 2 段階のユーザー ロジッ クへのスイ ッチが完了したこ とを示します。

user_reset 出力 ア ク テ ィ ブHigh

PCIe コアが リ セッ ト された と きに PCIe インターフェ イ ス ロジッ ク を リセッ トするのに使用できます。 user_clock と同期します。

user_clock 出力 該当なし PCIe インターフェイス ロジッ クによ り使用されるクロ ッ ク。

user_lnk_up 出力 ア ク テ ィ ブHigh

PCIe インターフェイス ロジッ クがホス ト デバイスに リ ンク アップしたことを示します。

Page 152: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 152

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

• user_app_rdy は user_reset に関連しています。 user_reset が 初に出力され、 user_reset がディアサート してから 2 ク ロ ッ クサイ クルから 12 サイ クル後に user_app_rdy がアサート します。 この遅延によ り、 user_app_rdy が PCIe ト ランザクシ ョ ンの真っ 中にアサートするのを避けるこ とができます。

• その名が示すよ うに user_lnk_up は、 確立された リ ンクで PCIe コアが実行しているこ とを示します。

これらのインターフェイス信号に加え、PCIe IP モジュール インターフェイスは ICAP (タンデム PCIe のみ) および STARTUP ブロ ッ クに対してポート を複製します。その理由はこれらのブロ ッ クはこの IP コア内でインスタンシエート されるからです。 これらのブロ ッ クにユーザー アプリ ケーシ ョ ンを接続するため icap_* および startup_* を検索します。唯一の要件は、user_app_rdyがアサート されるまで、つま りデザインが完全に動作するまで、ユーザー アプリ ケーシ ョ ンはこれらのポートにアクセスしないという こ とです。

ユーザー アプリケーシ ョ ン  ハンドシェーク

タンデム ソ リ ューシ ョ ンが PCI Express ブロ ッ クのコア制御とユーザー アプ リ ケーシ ョ ン と を切り替えるよ うにするには、FPGA 内に内部完了イベン トが存在する必要があ り ます。「ク リ テ ィカル入力のマルチプレクサ化」 はこの切り替えが必要な理由を説明しています。 タンデム ソ リ ューシ ョ ンは STARTUP ブロ ッ クおよび専用の EOS (End Of Startup) 信号を使用し、第 2 段階のプログラ ミ ングの完了を検出してから、 PCI Express ブロ ッ クの制御をユーザー アプリ ケーシ ョ ンに切り替えます。 この切り替えが生じる と、 user_app_rdy がアサート されます。

デザインのほかの機能用に STARTUP ブロ ッ クが必要な場合は、PCIe IP インスタンシエーシ ョ ンを介してこのプリ ミ ティブに接続します。STARTUPE2 の13 のポートは、IP の startup_* ポート を介して使用できます (タンデム PROM およびタンデム PCIe)。ポートが icap_* と名付けられている ICAPE2 プリ ミ ティブの 5 つのポートに対しても同じこ とが言えます (タンデム PCIe のみ)。

タンデム コンフ ィギュレーシ ョ ンの詳細

I/O 動作

タンデム コンフ ィギュレーシ ョ ン デザインの ト ランシーバーの第 1 段階に必要な各 I/O の場合、その I/O のあるバンク全体を1 番目のビ ッ ト ス ト リームでコンフ ィ ギュレーシ ョ ンする必要があ り ます。 PCI Express の場合、 第 1 段階で必要な信号はsys_rst_n 入力ポートのみです。このため、sys_rst_n と同じ I/O バンクにある第 2 段階の I/O も第 1 段階でコンフ ィギュレーシ ョンされます。 sys_rst_n と同じ I/O バンクにあるピンは内部接続されないので、 この内部接続が 2 番目のコンフ ィギュレーシ ョンによ り完了するまで、出力ピンの動作は予期しないものになり ます。また、第 2 段階での機能に対し初期化が必要なコンポーネン トは、 PCI Express からの user_reset 信号でリセッ ト されない限り、 これらの I/O バンクには配置しないでください。

出力ピンを sys_rst_n ピンと同じバンクに配置する必要があ り、その値を 2 番目の完了の前にフロート させるこ とができない場合は、 次の措置を取るこ とが可能です。 1 番目の完了 (出力がアクティブになる と き ) から 2 番目の完了 (ド ラ イバー ロジッ クがアクテ ィブになる と き ) までの間、 ト ラ イステー ト状態に保持される OBUFT を使用します。 イネーブル ピンの制御にはuser_app_rdy 信号を使用するこ とができ、 ハンドシェーク イベン トが完了する と きにその出力を リ リースします。

ヒン ト : 上位デザインで OBUFT を自動推論またはインスタンシエート して ください。 user_app_rdy でイネーブル (ポート名は T) を制御しますが、 このと き極性に注意してください。

OBUFT test_out_obuf (.O(test_out), .I(test_internal), .T(!user_app_rdy));

以下の構文を例と して使用し、 リセッ ト ピン ロケーシ ョ ンを含めるため Pblock を作成します。 この Pblock には PCIe IP のほかの部分と同じ BOOT_BLOCK プロパティが設定されている必要があ り ます。 build_stage1.tcl で、 第 1 段階の一部である と認識されている Pblock にこれらの I/O コンポーネン ト を追加する必要があ り ます。 これらのコンポーネン トは第 1 段階のバンクに存在するためです。 これで、 PCIe IP ブロ ッ クからの user_app_rdy の接続が第 1 段階後にアクティブになり、第 2 段階の読み込みが行われている間イネーブルがアクティブに保持されるよ うにな り ます。 I/O コンポーネン トは Pblock にいっし ょにま とめておく こ とを推奨します。 次は、 test_out_obuf という名前の出力ポートの例です。

# Create a new Pblock create_pblock IO_pblock

Page 153: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 153

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

# Range the Pblock to just the I/O to be targeted. # These XY coordinates can be found by calling get_sites on the requested I/O. resize_pblock -add {IOB_X0Y49:IOB_X0Y49} [get_pblocks IO_pblock]

# Add components and routes to first stage external Pblock add_cells_to_pblock [get_pblocks IO_pblock] [get_cells test_out_obuf]

# Add this Pblock to the set of Pblocks to be included in the first stage bitstream.# This ensures the route for user_app_rdy is included in stage one.set_property BOOT_BLOCK 1 [get_pblocks IO_pblock]

コンフ ィギュレーシ ョ ン  ピンの動作

DONE ピンは標準アプローチでのコンフ ィギュレーシ ョ ンの完了を示します。このピンはタンデム コンフ ィギュレーシ ョ ンにも使用されますが、 その動作は少し異なり ます。 DONE は、 スタート アップ シーケンスが実行される と き、 1 番目のコンフ ィギュレーシ ョ ンの 後に High になり、 2 番目の読み込みが始まる と Low に戻り ます。 タンデム PROM の場合、 2 番目が同じビッ ト ファ イルにあるので、 この動作がすぐに開始します。 タンデム PCIe の場合、 2 番目のビッ ト ス ト リームが ICAP に転送される と きにこの動作が発生します。 DONE ピンは 2 番目のコンフ ィギュレーシ ョ ンの 後に High にな りその状態を維持します。

コンフ ィギュレーシ ョ ン  パーシスト  (タンデム PROM のみ)

タンデム PROM コンフ ィギュレーシ ョ ンにはコンフ ィギュレーシ ョ ン パーシス ト (Persist) が必要です。 1 番目と 2 番目のコンフ ィギュレーシ ョ ンで使用される多目的 I/O は、2 番目のコンフ ィギュレーシ ョ ンが完了した後はユーザー I/O と して使用するこ とはできません。

重要 : PERSIST 設定の例は、 タンデム IP で生成される create_bitstreams.tcl スク リプ トにあ り ます。 PERSIST、 CONFIGRATE、そしてオプシ ョ ンで SPI_BUSWIDTH プロパティをデザイン XDC ファ イルにコピーし、必要に合わせて値を変更する必要があり ます。 これで、 デザインに必要な PERSIST 設定が、 IP コアがアップデート されても上書きされなくな り ます。

必要なコンフ ィギュレーシ ョ ン モードに対し PERSIST オプシ ョ ンが正し く設定されているが、 必要な多目的 I/O ピンがユーザー I/O で使用されている場合、 write_bitstream 実行中に各インスタンスに対して次のよ うなエラーが出力されます。

ERROR:[Designutils 12-1767] Cannot add persist programming for site IOB_X0Y151.ERROR:[Designutils 12-1767] Cannot add persist programming for site IOB_X0Y152.

これらのサイ ト を占めているユーザー I/O はタンデム PROM を使用するために別の場所に移す必要があ り ます。

PROM の選択

コンフ ィギュレーシ ョ ン PROM には、 タンデム コンフ ィギュレーシ ョ ンに対する要件とい うのは特にあ り ません。 しかし、100ms 仕様を満たすには、 次の 3 つの条件を満たす PROM を選択する必要があ り ます。

1. ザイ リ ンクス コンフ ィギュレーシ ョ ンでサポート されているこ と。

2. 1 番目と 2 番目の両方のコンフ ィギュレーシ ョ ンに合わせてサイズ調整されているこ と。 つま り、 ビッ ト ス ト リーム全体が入るだけのサイズの PROM であるこ と。

° タンデム PROM の場合、 1 番目と 2 番目の両方のビッ ト ス ト リームがこ こに格納されます。 このビッ ト ス ト リームは標準ビッ ト ス ト リームよ り も若干サイズが大き くな り ます (4.5% 大きい)。

° タンデム PCIe の場合、 ビッ ト ス ト リームのサイズは通常標準ビッ ト ス ト リームの 15% から 20% ですが、 デザインによって変動します。

Page 154: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 154

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

3. 1 番目のビッ ト ス ト リームおよびビッ ト ス ト リームの読み込み時間予測に基づき、 PCI Express のコンフ ィギュレーシ ョ ン時間要件を満たすこ と。 詳細は、 「タンデム コンフ ィギュレーシ ョ ンのビッ ト ス ト リーム読み込み時間の計算」 を参照してください。

サポート されている PROM およびデバイス ビッ ト ス ト リーム サイズのリ ス トは、 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ンユーザー ガイ ド』 (UG470) [Ref 7] を参照して ください。

デバイスのプログラム

タンデム ビッ ト ス ト リームを PROM にプログラムするにあたり、 標準ビッ ト ス ト リームと PROM にプログラムする場合と比較して特に注意事項とい うのはあ り ません。 タンデム ビッ ト ス ト リームは、 JTAG、 スレーブおよびマスターの SelectMAP、SPI、 BPI など、 すべての標準プログラ ミ ング方法でプログラムできます。 どのプログラ ミ ング方法を利用する場合でも、 1 番目のビッ ト ス ト リームが読み込まれ操作が開始した後に DONE ピンがアサート されます。

SPI または BPI のフラ ッシュ プログラ ミ ングの準備を整えるには、 ビッ ト ス ト リーム生成の前に該当設定をしておく必要があり ます。 これは、 次に示すよ うにデザイン XDC に特定フラ ッシュ デバイスの設定を追加する こ とで、 設定できます。 例はcreate_bitstreams.tcl スク リプ トに含まれています。使用しているボードおよびフラ ッシュ プログラ ミ ング要件を満たすよ う、既存のオプシ ョ ン (コマンド ) をコピーします。

タンデム PROM の例は次のよ うになっています。

set_property BITSTREAM.CONFIG.CONFIGRATE 3 [current_design] # This can vary up to 66MHzset_property BITSTREAM.CONFIG.PERSIST BPI16 [current_design] # Set this option to match your flash device requirements set_property BITSTREAM.CONFIG.TANDEM_DEASSERT_PERSIST yes [current_design] # This removes the persist setting after stage two completes

内部生成された CCLK と外部から供給される EMCCLK の両方が、 SPI および BPI プログラ ミ ングでサポート されています。EMCCLK はコンフ ィギュレーシ ョ ン ク ロ ッ クの耐性がよ り厳しいため、 高速なコンフ ィギュレーシ ョ ン レート を提供するために使用できます。 EMCCLK 使用の詳細については、 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470)[Ref 7] を参照してください。

Vivado Design Suite でのコンフ ィギュレーシ ョ ンについての詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 18]を参照してください。

タンデム PROM/PCIe のリソース制限

PCIe IP は、 2 番目のビッ ト ス ト リームの FPGA への読み込みが完了した直後に発生するグローバル チップ リセッ ト (GSR) からは隔離しておく必要があ り ます。 このため、 1 番目と 2 番目のロジッ クは同じコンフ ィギュレーシ ョ ン フレームに存在するこ とができません。 PCIe IP で使用されるコンフ ィギュレーシ ョ ン フレームは、 シ リ アル ト ランシーバー、 I/O、 FPGA ロジック、 ブロ ッ ク RAM、 またはクロ ッキングから構成されていて、 1 つのクロ ッ ク領域を垂直方向に占めます。 リ ソース制限は次のよ うにな り ます。

• PCIe IP は必要なクロ ッ クの生成に MMCM を 1 つ、 関連 BUFG を使用します。 これらのフレーム内の未使用リ ソースはユーザー アプ リ ケーシ ョ ンには使用できません (第 2 段階)ク ロ ッキング フレーム内の追加 リ ソースは PLL、 位相器、INOUT FIFO です。

• 1 つの GT クワ ッ ドには 4 つのシ リ アル ト ランシーバーが含まれています。 X1 または X2 デザインでは、 この GT クワ ッド全体が使用され、未使用のシ リ アル ト ランシーバーはユーザー アプリ ケーシ ョ ンでは使用できません。現在のインプ リメンテーシ ョ ンでは、 リ ンク幅コンフ ィギュレーシ ョ ンに関わらず GT クワ ッ ドが 2 つ必要です。

• 第 1 段階の I/O バンク と、 第 2 段階の I/O バンク との間の DCI カスケードはサポート されていません。

PCIe リセッ ト  ピンの移動

一般的に、 1 番目のビッ ト ス ト リームのサイズをベス ト ( 小) にするには、 第 1 段階でコンフ ィギュレーシ ョ ンする予定の I/O のロケーシ ョ ンを検討する必要があ り ます。 コアから物理的に離れたと ころに I/O が配置されている と、 第 1 段階で余分な

Page 155: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 155

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

コンフ ィギュレーシ ョ ン フレームが含められてしまいます。 これは、 第 1 段階でこれらの I/O を含めるのにさらに配線リ ソースが必要だからです。

build_stage1.tcl ファ イルは自動的に リ セッ ト パスを入力ピンまで ト レースし、 ロジッ クを適宜追加します。 リ セッ ト が PCIExpress サンプル デザインにあるよ うに、 1 つのピンから供給されているこ とを確認してください。

非プロジェク ト  フロー

非プロジェク ト環境ではプロジェク ト環境と同じ基本アプローチが取られますが、 合成およびインプリ メンテーシ ョ ンの個々のステップは直接 Tcl から実行されます。 まず、 「タンデム PCIe KC705 サンプル ツール フロー」 に示すよ うに、 IP カタログを使用して IP を作成します。コア生成の出力ファイルの 1 つは XCI ファ イルで、 コアの詳細がすべて リ ス ト されています。 このファイルはすべての必要なデザイン リ ソースを再生成するのに使用されます。

次は非プロジェク ト環境のサンプル フローです。

1. サンプル デザインまたはユーザーのデザインのデザイン ソースを読み込みます。

read_verilog <verilog_sources>read_vhdl <vhdl_sources>read_xdc <xdc_sources>

2. ターゲッ ト デバイスを定義します。

set_property PART <part> [current_project]

注記 : これは非プロジェク ト フローですが、 バッ クグラウンドにプロジェク トがあ り ます。 IP を読み込む前にデバイスを明示的に指定するために、 この作業が必要です。

3. PCIe IP を読み込みます。

read_ip pcie_7x_0.xci

4. デザインを合成します。 このステップで XCI から IP ソースが生成されます。

synth_design -top <top_level>

注記 : build_stage1.tcl および create_bitstreams.tcl を含む IP 全体のソースが毎回作成されます。

5. persist ピンを設定するコンフ ィギュレーシ ョ ン モードの指定などデザインのカスタマイズは、 デザイン XDC ファ イルで行ってください。

6. デザインをインプリ メン ト します。 opt_design の前に build_stage1.tcl が自動的に呼び出されます。

opt_designplace_designroute_design

7. ビッ ト ファ イルを生成します。 create_bitstreams.tcl が自動的に呼び出されます。 タンデム PCIe の場合、ビッ ト ファ イルの名前は段階を区別するため 「_tandem1」、 「_tandem2」 が付けられます。 -bin_file オプシ ョ ンはタンデム PCIe の場合のみ必要です。

write_bitstream -bin_file <file>.bit

タンデム IP コアのシミ ュレーシ ョ ン

タンデム PROM またはタンデム PCIe コアの機能は STARTUP モジュールに依存しているため、 シ ミ ュレーシ ョ ン中にこの点を考慮する必要があ り ます。

PCI Express コアは、 2 番目のビッ ト ス ト リームがデバイスにいつ読み込まれたかを認識するため、 EOS 出力信号のアサートにSTARTUP ブロ ッ クを利用します。第 2 段階のロジッ ク と機能させるため PCIe コアを リ リースするのに、この STARTUP ブロ ックをシ ミ ュレートする必要があ り ます。 これを実行するには STARTUP ブロ ッ クに EOS 信号を強制するため階層参照を使用します。 次のコード例はその方法を示したものです。

Page 156: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 156

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

// Initialize EOS at time 0force board.EP.pcie_7x_0_support_i.pcie_7x_0_i.inst.inst.pcie_7x_0_fast_cfg_init_cntr_i.startup_inst.EOS = 1'b1;

<delay until after PCIe reset is released>

// De-assert EOS to simulate the starting of the 2nd stage bitstream loadingforce board.EP.pcie_7x_0_support_i.pcie_7x_0_i.inst.inst.pcie_7x_0_fast_cfg_init_cntr_i.startup_inst.EOS = 1'b0;

<delay a minimum of 4 user_clk cycles>

// Re-assert EOS to simulate that 2nd stage bitstream completed loadingforce board.EP.pcie_7x_0_support_i.pcie_7x_0_i.inst.inst.pcie_7x_0_fast_cfg_init_cntr_i.startup_inst.EOS = 1'b1;// Simulate as normal from this point on.

上記行の PCIe コアへの階層はユーザー デザインのものと一致させるため変更する必要があ り ます。 この行はコアと と もに配布されているサンプル シ ミ ュレーシ ョ ンの board.v という ファ イルにもあ り ます。

タンデム コンフ ィギュレーシ ョ ンのビッ トス ト リーム読み込み時間の計算

コンフ ィギュレーシ ョ ンの読み込み時間は、 コンフ ィギュレーシ ョ ン ク ロ ッ ク周波数と精度、 コンフ ィギュレーシ ョ ン インターフェイスのデータ幅、 およびビッ ト ス ト リーム サイズによって変わり ます。 この計算は次の 3 つの手順で行われます。

1. 標準クロ ッ ク周波数に基づいて 小クロ ッ ク周波数を計算し、 標準値からの変動値を差し引きます。

小クロ ッ ク周波数 = 標準クロ ッ ク - ク ロ ッ ク変動分

2. 小 PROM 帯域幅を計算します。 これはデータ バス幅、 クロ ッ ク周波数、PROM タイプによって変わり ます。 この PROM帯域幅は、 小クロ ッ ク周波数にバス幅を合わせたものです。

PROM 帯域幅 = 小クロック周波数 * バス幅

3. 1 番目のビッ ト ス ト リームの読み込み時間を計算します。 これは手順 2 からの 小 PROM 帯域幅を write_bitstream でレポート される 1 番目のビッ ト ス ト リーム サイズで割ったものです。

1 番目の読み込み時間 = (PROM 帯域幅) / (1 番目のビッ ト ス ト リーム サイズ)

write_bitstream でレポート される 1 番目のビッ ト ス ト リーム サイズは、 ターミナルからまたはログ ファ イルから直接読み出すこ とができます。

次は write_bitstream ログからの抜粋で、 1 番目のビッ ト ス ト リームのサイズを表しています。

Creating bitstream...Tandem stage1 bitstream contains 13852352 bits.Tandem stage2 bitstream contains 77690816 bits.Writing bitstream ./xilinx_pcie_2_1_ep_7x.bit...

これらの値は、 2 段階に分かれたビッ ト ス ト リームのサイズを段階ごとに表しています。 ビッ ト ス ト リームの圧縮はこれらの値に反映されています。

例 1

例 1 のコンフ ィギュレーシ ョ ンは次のとおりです。

• QSPI (x4)、 66MHz ± 200ppm で動作

• 第 1 段階のサイズ = 12003648 ビッ ト

Page 157: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 157

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

コンフ ィギュレーシ ョ ン読み込み時間の計算手順は次のとおりです。

1. 小クロ ッ ク周波数を計算します。

66MHz * (1 - 0.0002) = 65.98MHz

2. 小 PROM 帯域幅を計算します。

4 ビッ ト * 65.98MHz = 263.92Mb/s

3. 1 番目のビッ ト ス ト リームの読み込み時間を計算します。

12.004Mb / 263.92Mb/s = ~0.0455s または 45.5ms

例 2

例 2 のコンフ ィギュレーシ ョ ンは次のとおりです。

• BPI (x16) 同期モード、 50MHz ± 100ppm で動作

• 第 1 段階のサイズ = 12003648 ビッ ト

コンフ ィギュレーシ ョ ン読み込み時間の計算手順は次のとおりです。

1. 小クロ ッ ク周波数を計算します。

50 MHz * (1 - 0.0001) = 49.995 MHz

2. 小 PROM 帯域幅を計算します。

16 ビッ ト * 49.995 MHz = 799.92Mb/s

3. 1 番目のビッ ト ス ト リームの読み込み時間を計算します。

12.004 (Mb) / 799.92 (Mb/s) = ~0.015s または 15ms

ビッ トス ト リーム圧縮の使用

1 番目のビッ ト ス ト リームのサイズを 小限に抑えるこ とはタンデム コンフ ィギュレーシ ョ ンでは 重要であるため、 ビッ トス ト リーム圧縮を利用します。 このオプシ ョ ンでは、 マルチフレーム書き込みテクニッ クを利用してビッ ト ス ト リームのサイズを縮小するため、 そのコンフ ィギュレーシ ョ ン時間を短縮するこ とができます。 圧縮量は各デザインで異なり ます。 ビッ トス ト リーム圧縮を使用するため、 create_bitstreams.tcl スク リプ トに次のプロパティがデフォルトで追加されています。

set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]

ビッ トス ト リーム読み込み時間に関するその他の注意事項

ビッ ト ス ト リーム コンフ ィギュレーシ ョ ン時間も次の要素の影響を受けます。

• 電源のランプ時間 (レギュレータによる遅延を含む)

• TPOR (パワーオン リセッ ト )

電源のランプ時間はデザインによって異なり ます。ランプ時間の長いデザインや遅延の多いデザインは避けてください。FPGAコンフ ィギュレーシ ョ ンを開始するために必要な FPGA 電源は、『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』(UG470) [参照 7]にリ ス ト されています。

多くの場合、 FPGA の電源はシステム電源と同時またはその少し前にランプアップします。 こ う したケースでは、 システム電源が安定するまで 100ms はカウン ト されないため、 タイ ミ ング マージンを得るこ とができます。 しかしこれもまたデザインによって異なり ます。 FPGA 電源とシステム電源との関係を理解するには、 システムを特性化する必要があ り ます。

Page 158: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 158

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

TPOR は、標準電源ランプ レートの場合は 50ms、7 シ リーズ デバイスの高速ランプ レートの場合は 35ms です。詳細は、『Virtex-7FPGA データシート : DC および AC スイ ッチ特性』 (DS183)[参照 6] および『Kintex-7 FPGA データシート : DC および AC スイ ッチ特性』 (DS182)[参照 5] を参照して ください。

「タンデム コンフ ィギュレーシ ョ ンのビッ ト ス ト リーム読み込み時間の計算」 の例 1 (QSPI [x4]、 66MHz ± 200ppm で動作) の 2つのケースを例に挙げて説明します。

• 「ケース 1 : ATX 供給がない場合」

• 「ケース 2 : ATX 供給がある場合」

3.3V および 12V のシステム電源の後、 FPGA 電源は安定レベル (2ms) にランプアップする ものと仮定します。 この時間差はTFPGA_PWR と呼ばれます。 このケースでは、 システム電源の後に FPGA 電源がランプアップするため、 電源のランプ時間は100ms のマージンを縮めるこ とにな り ます。

テス トする式は次のよ うにな り ます。

TPOR + ビッ トス ト リーム読み込み時間 + TFPGA_PWR < ATX のない場合 100ms

TPOR + ビッ トス ト リーム読み込み時間 + TFPGA_PWR - 100 ms < ATX のない場合 100ms

ケース 1 : ATX 供給がない場合

ATX 供給がないため、3.3V および 12 V のシステム電源が公称電圧の 9% および 8% 内にそれぞれ達する と、100ms がカウン トされ始めます ( 『PCI Express Card Electromechanical Specification』 [参照 2] を参照)。

50ms (TPOR) + 45.5ms (ビッ ト ス ト リーム時間) + 2ms (ランプ時間) = 97.5ms

97.5ms < 100ms PCIe 標準 (okay)

このケースではマージンは 2.5ms になり ます。

ケース 2 : ATX 供給がある場合

ATX 供給は、 システム電源が安定している と きを示す PWR_OK 信号を供給します。 この信号は実際の電源が安定してから低 100ms 後にアサート されます。 つま り、 タイ ミ ング マージンにこの 100ms が追加される可能性がある という こ とです。

50ms (TPOR) + 45.5ms (ビッ ト ス ト リーム時間) + 2ms (ランプ時間) - 100ms = -2ms

-2.5ms < 100ms PCIe 標準 (okay)

このケースではマージンは 102.5ms になり ます。

Page 159: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 159

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

サンプル ビッ トス ト リーム サイズ

1 番目のビッ ト ス ト リームの 終的なサイズは次のよ うな多くの要素の影響を受け変動します。

• IP : 第 1 段階の Pblock のサイズおよび形が第 1 段階に必要なフレーム数を決定します。

• デバイス : デバイスの幅が広いほど、 IP をクロ ッ ク供給およびコンフ ィギュレーシ ョ ン リ ソースに接続するのに必要な配線フレーム数が多くな り ます。

• デザイン : リセッ ト ピンの位置は、 ユーザー アプリ ケーシ ョ ンを追加するこ とによ り影響を受ける要素の 1 つです。

• タイプ : ICAP への 32 ビッ ト接続があるためタンデム PCIe はタンデム PROM よ り も少し長くなっています。

• 圧縮 : デバイス使用率が高くなる と、 圧縮の効果は低くなり ます。

ベースラ インと して、 PCIe IP と と もに生成されるサンプル (PIO) デザインのサンプルのビッ ト ス ト リーム サイズおよびコンフ ィギュレーシ ョ ン時間をいくつか挙げてみます。

Tandem PCIe 手法を使用して 2 段階目のビッ ト ス ト リームをロードするのにかかる時間は、 次の 2 つの追加要因によって異なり ます。

• PCI Express リ ンクの幅と速度

• ICAP をプログラムするのに使用されたクロ ッ ク周波数

これら 2 つの要因の低い方の帯域幅によって、 2 段階目のビッ ト ス ト リームのロード される速度が決ま り ます。

クロック

統合ブロ ッ クの入力システム ク ロ ッ ク信号は sys_clk と呼ばれます。 コアには、 100MHz、 125MHz、 250MHz のクロ ッ ク入力が必要です。 使用されるクロ ッ ク周波数は、 Vivado IDE で選択されるクロ ッ ク周波数と一致している必要があ り ます。

一般的な PCI Express ソ リ ューシ ョ ンでは、PCI Express 基準クロ ッ クはスペク ト ラム拡散クロ ッ ク (SSC) で、100MHz で供給されます。 ほとんどのコマーシャル用の PCI Express システムでは、 SSC をディ スエーブルにするこ とはできません。 SSC および PCI Express の詳細は、 『PCI Express Base Specification』 [参照 2]のセクシ ョ ン 4.3.1.1.1 を参照してください。

同期および非同期のクロック供給

PCI Express システムへのクロ ッ ク供給方法は 2 つあり ます。

表 3‐51 :サンプル ビッ トス ト リーム サイズおよびコンフ ィギュレーシ ョ ン時間(1)

Device タイプフル ビッ トス ト

リーム

[Full] :BPI16 (50MHz)

タンデム第 1 段階(2)

タンデム :BPI16(50MHz)

7K325Tタンデム PROM 87.3Mb 109.1ms 15.2Mb 19.0ms

タンデム PCIe 87.3Mb 109.1ms 21.4Mb 26.8ms

7VX485Tタンデム PROM 154.7Mb 193.3ms 25.3Mb 31.7ms

タンデム PCIe 154.7Mb 193.3ms 32.4Mb 40.5ms

注記 :1. こ こに示すコンフ ィギュレーシ ョ ン時間には TPOR は含まれていません。

2. PIO デザインは非常に小さいため、 ビッ ト ス ト リーム サイズを小さ くするのに圧縮は非常に効果的です。 これらの数値は、 フ

ル デザインを使用した場合によ り正確な見積ができるよ うに、 圧縮なしで得たものです。

Page 160: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 160

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

• 同期クロ ッ ク供給を使用する場合、 1 つの共有クロ ッ ク ソースがすべてのデバイスに対して使用されます。

• 非同期クロ ッ ク供給では、各デバイスにそれぞれクロ ッ ク ソースがあ り ます。非同期クロ ッ ク供給を用いたシステムではASPM を使用しないでください。 このモードを使用する場合は、 PCIE_ASYNC_EN を TRUE に設定します。 詳細については、 アンサー 52400 を参照してください。 japan.xilinx.com/support/answers/52400.html.

推奨 : このコアを使用する場合は、同期クロ ッ ク供給を使用してください。すべてのアド イン カード デザインは、供給される基準クロ ッ クの特性のため、同期クロ ッ ク供給を使用する必要があ り ます。スロ ッ ト ク ロ ッ クを使用しているデバイスの場合、リ ンク ステータス レジスタのスロ ッ ト ク ロ ッ ク コンフ ィギュレーシ ョ ンを Vivado IDE でイネーブルにする必要があ り ます。基準クロ ッ クの要件については、 『7 Series FPGAs GTX Transceivers User Guide』 (UG476)およびデバイスのデータシート を参照してください。

同期クロ ッ ク供給されているシステムの場合、各リ ンク パートナー デバイスは同じ クロ ッ ク ソースを共有します。図 3-80および図 3-82 は 100MHz の基準クロ ッ クを使用するシステムを表しています。125MHz または 250MHz の基準クロ ッ ク オプシ ョ ンを使用している場合、 図 3-81 および図 3-83 で説明されている よ う に、 100MHz ク ロ ッ ク を 125MHz または250MHz に変換するため 5/4 または 5/2 でそれぞれ計算するよ うに、 外部 PLL を使用する必要があ り ます。

さ らに、 デバイスがエンベデッ ド システムの一部であったと しても、 システムがコマーシャル版の PCI Express ルート コンプレッ クスまたはスイ ッチを一般的なマザーボード ク ロ ッ ク供給で使用する場合は、 図 3-80 および図 3-81 で示すよ うに、 同期クロ ッ ク供給をやはり使用する必要があ り ます。

図 3-80 から図 3-83 まではボード レイアウ ト を概説しています。ボード レイアウ ト時には適切なカップリ ングおよび終端を使用しているこ とを確認して ください。

X-Ref Target - Figure 3-80

図 3‐80 : 100MHz の基準クロックを使用したエンベデッ ド  システム

UG477_c5_67_092110

Embedded System Board

7 Series FPGAEndpoint

GTX

PCIe Link

PCIe LinkPCI Express

Switch or Root Complex

Device

PCI ExpressClock Oscillator

100 MHz

100 MHz

Page 161: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 161

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

X-Ref Target - Figure 3-81

図 3‐81 : 125/250MHz の基準クロックを使用したエンベデッ ド  システム

X-Ref Target - Figure 3-82

図 3‐82 : 100MHz の基準クロックを使用したオープン  システム アドイン  カード

UG477_c5_68_092110

Embedded System Board

PCIe Link

PCIe LinkPCI Express

Switch or Root Complex

Device

PCI ExpressClock Oscillator External PLL

125/250 MHz

100 MHz

100 MHz

GTX

7 Series FPGAEndpoint

UG477_c5_69_092110

PC

Ie L

ink P

CIe

Lin

kP

CIe

Lin

k

PC

Ie L

ink

PCI Express Connector

7 Series FPGAEndpoint

GTXTransceivers

100 MHz with SSCPCI Express Clock

PCI Express Add-In Card

+ _

Page 162: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 162

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

リセッ ト

7 Series FPGAs Integrated Block for PCIExpress コアは sys_rst_n を使用して、PCI Express 基本リセッ ト中にアサート されたシステム、 非同期、 アクティブ High のリセッ ト信号を リセッ ト します。 この信号をアサートする と、 GTX ト ランシーバーを含むコア全体がハード リセッ トになり ます。 この リセッ ト を リ リースした後、 コアはリ ンク ト レインを試み、 また通常操作を再開しよ う と します。 アド イン カードなど一般的なエンドポイン ト アプリ ケーシ ョ ンでは、 サイ ドバンドのリセッ ト信号があって、sys_rst_n に接続しておく必要があ り ます。 サイ ドバンド システム リ セッ ト信号がないエンドポイン ト アプリ ケーシ ョ ンの場合は、初期ハードウェア リセッ ト をローカルに生成する必要があ り ます。PCI Express では 3 つのリセッ ト イベン トがあ り ます。

• コールド リセッ ト :電源を投入する と実行される基本的な リセッ ト 。 sys_rst_n 信号をアサートする と コアがコールド リセッ トにな り ます。

• ウォーム リセッ ト :電源を切って再投入せずにハードウェアによ り実行される基本的な リセッ ト 。 sys_rst_n 信号をアサートする と コアがウォーム リセッ トになり ます。

• ホッ ト リセッ ト : プロ ト コルを介して PCI Express リ ンク上のバンド内で実行する リセッ ト 。 この場合は sys_rst_n は使用されません。 ホッ ト リセッ トの場合は、 リセッ トのソースを示すため received_hot_reset 信号がアサート されます。

コアのユーザー アプ リ ケーシ ョ ン インターフェ イ スには user_reset_out と呼ばれる出力信号があ り ます。 この信号はuser_clk_out に同期してディアサート されます。user_reset_out 信号は次のコンディシ ョ ンが発生する とアサート されます。

• 基本リセッ ト : sys_rst_n がアサート される と発生します (コールドまたはウォーム)。

• コア ラ ッパーのある PLL : ロ ッ クが失われる と、 ク ロ ッ ク入力の安定性に問題があるこ とを示します。

• ト ランシーバー PLL ロ ッ クの損失 : ト ランシーバーがロ ッ クを失う と、 PCI Express リ ンクに問題があるこ とを示します。

上記すべてのコンディシ ョ ンが解決した後、 user_reset_out は user_reset_out と同期してディアサート し、 コアが ト レインを試み、 平常操作が再開されます。

X-Ref Target - Figure 3-83

図 3‐83 : 125/250MHz の基準クロックを使用したオープン  システム アドイン  カード

UG477_c5_70_092110

PC

Ie L

ink P

CIe Link

PCI Express Connector

7 Series FPGAEndpoint

GTXTransceivers

100 MHz with SSCPCI Express Clock

External PLL 125/250 MHz

PCI Express Add-In Card

+

-

+ -

PC

Ie L

inkP

CIe

Lin

k

Page 163: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 163

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

重要 : PCI Express の電気機械的上の仕様に沿って設計されたシステムはサイ ドバンド リセッ ト信号を供給します。これは 3.3Vの信号レベルを使用します。 こ う した信号とのインターフェイス要件については、 FPGA デバイスのデータシート を参照してください。

プロ ト コル レイヤー

『PCI Express Base Specification』 [参照 2]で規定されているプロ ト コル レイヤーの機能には、 ト ランザクシ ョ ン レイヤー パケット (TLP) の生成および処理、 フロー制御管理、 初期化、 パワー マネージメン ト、 データ保護、 エラー チェッ クおよび再試行、物理的な リ ンク インターフェイス初期化、 メンテナンスおよびステータスの追跡、 シ リ アライゼーシ ョ ン、デシ リ アライゼーシ ョ ン、 インターフェイス操作のほかの回路などがあ り ます。 各層は次のセクシ ョ ンで定義されています。

ト ランザクシ ョ ン層

ト ランザクシ ョ ン層は PCI Express アーキテクチャの上位層で、 その主な機能は、 ト ランザクシ ョ ン レイヤー パケッ ト (TLP)の受信、 バッファー化、 送信です。 TLP はメモ リ、 I/O、 コンフ ィギュレーシ ョ ン、 およびメ ッセージ ト ランザクシ ョ ンを使用して情報を伝えます。 デバイス間の通信効率を 大限にするため、 ト ランザクシ ョ ン層は、 PCI 準拠の ト ランザクシ ョ ン順序付けルールを強化し、 クレジッ ト ベースのフロー制御を利用して TLP バッファー スペースを管理します。

データ  リンク層

データ リ ンク層は、 ト ランザクシ ョ ン層と物理層の中間に位置します。その主な機能は、1 つのリ ンク上にある 2 つのコンポーネン ト間で TLP を交信するための信頼性の高いメカニズムを提供するこ とです。

データ リ ンク層によ り提供されるサービスには、 データ交信 (TLP)、 エラー検出およびリ カバリ、 初期化サービス、 データ リンク層パケッ ト (DLLP) の生成および使用です。 DLLP は同じ リ ンク上で直接接続されている 2 つのコンポーネン トのデータリ ンク層間で情報を伝送するために使用されます。 DLLP はパワー マネージメン ト、 フロー制御、 TLP 承認などの情報を伝えます。

物理層

物理層は、 リ ンク データ交信用の信号技術を利用してデータ リ ンク層と インターフェイスし、論理サブブロ ッ ク と電気的サブブロ ッ クに分けられます。

• 論理サブブロ ッ クは TLP および DLLP をフレームに含めたり、 除外したり します。 また、 リ ンク初期化、 ト レーニング、メンテナンスを処理する、リ ンク ト レーニングおよびステータス ステート マシン (LTSSM) も インプリ メン ト します。データのスク ランブル、デスク ランブル、8B/10B エンコーディングおよびデコーディングも このサブブロッ クで実行されます。

• 電気的サブブロ ッ クは、デバイスを PCIe® リ ンクへインターフェイスさせる入力および出力バッファーの特性を定義します。

また、 『PCI Express Base Specification, rev. 2.1』 [参照 2] 要件にあるよ うに、 物理層はレーン反転 (マルチレーン デザインの場合) およびレーン極性反転をサポート します。

コンフ ィギュレーシ ョ ン管理層

コンフ ィギュレーシ ョ ン管理層は PCI™ タイプ 0 のエンドポイン ト コンフ ィギュレーシ ョ ン空間を管理し、次の機能をサポート します。

• PCI コンフ ィギュレーシ ョ ン空間のインプリ メン ト

Page 164: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 164

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

• コンフ ィギュレーシ ョ ン空間アクセスのサポート

• パワー マネージメン ト機能

• エラーレポートおよびステータス機能のインプリ メン ト

• パケッ ト処理機能のインプリ メン ト

° 受信

- コンフ ィギュレーシ ョ ン読み出しおよび書き込み

° 送信

- データあ り またはデータなしの完了

- TLM エラー メ ッセージ

- ユーザー エラー メ ッセージ

- パワー マネージメン ト メ ッセージ/ハンドシェーク

• MSI および INTx 割り込みエミ ュレーシ ョ ンのインプリ メン ト

• PCI コンフ ィギュレーシ ョ ン空間に MSIx 機能構造をオプシ ョ ンでインプリ メン ト

• PCI Express 拡張機能空間にデバイス シ リ アル番号機能をオプシ ョ ンでインプリ メン ト

• PCI Express 拡張機能空間に仮想チャネル機能 (VC0 でのみサポート ) をオプシ ョ ンでインプリ メン ト

• ループバッ ク制御およびステータスを提供するため、PCI Express 拡張機能空間にザイ リ ンクス定義のベンダー別機能構造をオプシ ョ ンでインプリ メン ト

• PCI Express 拡張機能空間にアドバンス エラー レポート (AER) 機能構造をオプシ ョ ンでインプリ メン ト

• PCI Express 拡張機能空間にサイズ調整可能な BAR (RBAR) 機能構造をオプシ ョ ンでインプ リ メン ト

共有ロジック

この新機能によ り、 PCIe ブロッ クの複数のインスタンス間で共通ロジッ クを共有したり、 または制限事項はあ り ますがほかのコアと共通ロジッ クを共有するこ とができます。この共有ロジッ ク機能によ り、デザインの 上位モジュールに共有するロジックを追加するのに必要な HDL の変更を 小限に抑えるこ とができ、また 上位モジュールの追加ポート をイネーブルにし、共有を可能にするこ とができます。 この機能はエンドポイン ト モードに対してのみ利用でき、 ルート ポート モードでは使用できません。

Vivado Design Suite ではコアをカスタマイズする と きの [Shared Logic] ページでこのオプシ ョ ンを設定するこ とができます。

ロジッ ク共有には 4 つのタイプがあ り ます。

• 「ク ロ ッ ク供給の共有」

• 「GT_COMMON の共有」

• 「GT_COMMON およびクロ ッ ク供給の共有」

• 「GT_COMMON およびクロ ッ ク供給の内部共有」

重要 : ク ロ ッ ク供給の共有オプシ ョ ンであ る [Include Shared Logic (Clocking) in example design] (デフ ォル ト モード )、GT_COMMON の共有オプシ ョ ンである [Include Shared Logic (Transceiver GT_COMMON) in example design]、 GT_COMMON およびクロ ッ ク供給の共有を選択して、該当するモジュールが support ディ レク ト リに生成されるよ うにする場合、出力ファイルの生成後に [Open IP Example Design] を実行する必要があ り ます。 [Include Shared Logic in Core] オプシ ョ ンを選択する と、 これらのモジュールが source ディレク ト リに生成されます。

Page 165: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 165

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

クロック供給の共有

共有クロ ッ ク供給を使用するには、 [Shared Logic] タブにある [Include Shared Logic (Clocking) in example design] をオンにします(図 3-84 を参照)。

この機能が選択されている と、 MMCM (混合モード ク ロ ッ ク マネージャー ) のインスタンスがパイプ ラ ッパーから削除され、サンプル デザインのサポート ラ ッパーに移動します。 また、 ク ロ ッ クを共有するため 上位に追加ポートが追加されます。

MMCM の未使用出力を変更 ・ 使用するオプシ ョ ンもあ り ます。

MMCM は PCIe ソ リ ューシ ョ ン ラ ッパーに対し、 次のクロ ッ クを生成します。

• clk_125mhz - 125MHz ク ロ ッ ク

• clk_250mhz - 250MHz ク ロ ッ ク

X-Ref Target - Figure 3-84

図 3‐84 : クロック供給の共有

Page 166: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 166

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

• userclk - 62.5MHz / 125MHz / 250MHz ク ロ ッ ク。選択されている PCIe コア レーン幅、 リ ンク スピード、 AXI インターフェイス幅によって異なり ます。

• userclk2 – 250MHz / 500MHz ク ロ ッ ク。 選択されている PCIe コアのリ ンク スピードによって異なり ます。

• oobclk – 50MHz ク ロ ッ ク。

ユーザー デザインにあるその他のコア/ロジッ クは、 上記の MMCM 出力をどれでも使用できます。

PCIe サンプル デザインでインスタンシエート されている MMCM には、CLKOUT5 および CLKOUT6 の 2 つの未接続の出力があ り ます。 これらの出力を使用して、 MMCM に対し適切な CLKOUT5_DIVIDE および CLKOUT6_DIVIDE パラ メーターを設定し、 ほかの必要なクロ ッ ク周波数を生成できます。

ヒン ト : デザインにある PCIe とほかのコアとで MMCM を共有する と FPGA リ ソースを節約でき、出力クロ ッ ク パス配線が楽になり ます。

制限

• ほとんどの使用ケースで MMCM への基準クロ ッ ク入力は 100MHz に制限されています。

° 125MHz または 250MHz の基準クロ ッ クを選択するオプシ ョ ンがあ り ますが、 これは一般的な使用ケースではあ り ません。

• MMCM リセッ トは 上位モジュールのスタティ ッ ク値に接続されています。 システム デザインの要件に従い MMCM をリセッ トするこ とができます。MMCM リセッ トは、基準クロ ッ クがリ カバリ され安定した後にのみアサートできます。また、MMCM リセッ トは PCIe コア リセッ トに間接的に接続されていて、MMCM リセッ ト をアサートする と PCIe コアがリセッ ト されます。

• Userclk1 および Userclk2 出力は、 [PCIe Lane Width]、 [Link Speed]、 [AXI width] の値に基づいて選択されます (詳細は第 4 章「コアのカスタマイズおよび生成」 を参照)。 コアの共有は、 これらの要件に従っている必要があ り ます。

GT_COMMON の共有

GT_COMMON のクワ ッ ド位相ロ ッ ク ループ (QPLL) は GT_CHANNEL インスタンスのクワ ッ ドに使用できます。 PCIe コアがX1 または X2 と してコンフ ィギュレーシ ョ ンされていて QPLL を使用している場合、 残りの GT_CHANNEL インスタンスは、同じ QPLL および GT_COMMON を共有するこ とで、 ほかのコアで使用できます。

共有 GT_COMMON インスタンスを使用するには、 [Shared Logic] タブにある [Include Shared Logic (Transceiver GT_COMMON)in example design] をオンにします (図 3-85 を参照)。

この機能が選択されている と、 GT_COMMON インスタンスがパイプ ラ ッパーから削除され、 サンプル デザインのサポートラ ッパーに移動します。 また、 GT_COMMON を共有するため 上位に追加ポートが追加されます。

GT_COMMON の共有ロジッ ク機能を使用するこ とによ り、 FPGA リ ソースを節約でき、 また 1 つの GT ク ワ ッ ド内の専用クロ ッ ク配線が楽になり ます。

Page 167: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 167

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

GTX および GTP で GT_COMMON を共有するケース

制限

• PCIe ブロ ッ クがレート を変更する と、パイプ ラ ッパーのリセッ ト ロジッ クは QPLL を リセッ ト します。共有が有効になっている と、 QPLL を共有しているコア/ロジッ クはこの リセッ ト を処理し、 リセッ トから回復できなければなり ません。

• GT_COMMON の設定は PCIe コア用に 適化されているため、 変更するこ とはできません。

表 3‐52 :共有 GT_COMMON の使用ケース

GT – PCIe  大リンク  スピード

デバイス –  大リンク  スピード 共有 GT_COMMON

GTX Kintex-7、 Virtex-7 (485T) – PCIe Gen2 PCIe デザインが GT_COMMON をインスタンシエート し、 そのインスタンスを使用します。共有IP は、同じ QPLL ク ロ ッ ク周波数を使用している限り、 GT_COMMON を使用できます。

GTP Artix-7 – PCIe Gen2 GTP_COMMON には 2 つの QPLL があ り ます。PCIe デザインは QPLL を 1 つだけ使用します。もう 1 つは共有 IP コアで使用できます。

Page 168: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 168

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

GT_COMMON およびクロック供給の共有

[Shared Logic] タブで [Include Shared Logic (Clocking) in example design] および [Include Shared Logic (Transceiver GT_COMMON)in example design] を選択する と、 GT_COMMON およびクロ ッ クの両方を共有できます (図 3-86 を参照)。

X-Ref Target - Figure 3-85

図 3‐85 : GT_COMMON の共有

Page 169: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 169

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

GT_COMMON およびクロック供給の内部共有

この機能を使用する と、 GT_COMMON およびクロ ッ クをコア内部で共有するこ とができます (サポート ラ ッパーに接続しない)。 [Shared Logic] タブで [Include Shared Logic in Core] を選択する と、 この機能を使用できます (図 3-87 を参照)。

X-Ref Target - Figure 3-86

図 3‐86 : GT_COMMON およびクロック供給の共有

Page 170: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 170

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

X-Ref Target - Figure 3-87

図 3‐87 : ロジックの内部共有

Page 171: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 171

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

クロッキング インターフェイス

表 3-53 はクロ ッキング インターフェイスの信号を定義しています。

ク ロ ッキング アーキテクチャの詳細は、『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』 (UG476) の使用モデルの章を参照して ください。 [参照 10]

FPGA コンフ ィギュレーシ ョ ン

このセクシ ョ ンでは、 デバイスが リ ンク アップし、 システムによ り認識されるよ うに 7 series FPGA をコンフ ィギュレーシ ョンする方法について説明します。 これは、 システムに適した FPGA コンフ ィギュレーシ ョ ン方法を選択し、 それが予期どおりに機能するこ とを検証するための情報です。

このセクシ ョ ンでは、 『PCI Express Base Specification』 および 『PCI Express Card Electromechanical Specification』 [参照 2]の基本要件がどのよ うに FPGA コンフ ィギュレーシ ョ ンに適用されるのかを説明します。

推奨 : 必要な場合は実際の仕様を読み詳細を確認するこ とを推奨します。

表 3‐53 : クロッキング インターフェイスの信号

名前 方向 説明

pipe_pclk_in 入力 GTX ト ランシーバーのパラレル インターフェイス全体でデータ伝送を同期化させるために使用するパラレル ク ロ ッ ク

pipe_rxusrclk_in 入力 内部 RX PCS データパスのクロ ッ クを供給します。

pipe_rxoutclk_in 入力 FPGA ロジッ クへの推奨クロ ッ ク出力

pipe_dclk_in 入力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ク ロ ッ ク

pipe_userclk1_in 入力 オプシ ョ ンのユーザー ク ロ ッ ク

pipe_userclk2_in 入力 オプシ ョ ンのユーザー ク ロ ッ ク

pipe_mmcm_lock_in 入力 MMCM がソース CLK にロッ ク されているこ とを示します。

pipe_txoutclk_out 出力 FPGA ロジッ クへの推奨クロ ッ ク出力

pipe_rxoutclk_out 出力 FPGA ロジッ クへの推奨クロ ッ ク出力

pipe_pclk_sel_out 出力 パラレル ク ロ ッ ク セレク ト

pipe_gen3_out 出力 PCI Express の動作速度を示します。

pipe_mmcm_rst_n MMCM リ セッ ト ポート。 エラー リ カバリが必要な場合 MMCM を リセ ッ ト する ため上位層が こ のポー ト を使用する こ と ができ ます。MMCM ロ ッ クがディアサート されたこ とがシステムで検出された場合、 この MMCM を リ セッ トする こ と を推奨します。 MMCM 入力クロ ッ クが回復した後、 MMCM を リ セ ッ ト する よ う にして く ださい(MMCM リ セッ ト が入力基準クロ ッ クが回復する前にリセッ ト される場合は、 MMCM はロッ ク しない可能性があ り ます)。 MMCM がリセット されたら、 MMCM がロ ッ ク されるまで待機し、 その後パイプ ラ ッパーを通常通りにリセッ ト します。現在このポートは High に接続されています。

Page 172: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 172

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

このセクシ ョ ンを読まれた後にコンフ ィギュレーシ ョ ン要件を満たすための詳細を確認する必要がある場合は、 141 ページの「タンデム PROM」 を参照して ください。

このセクシ ョ ンでは、 次の内容が説明されています。

• 「コンフ ィギュレーシ ョ ンに関する用語」 このセクシ ョ ンで使用する用語を定義しています。

• 「コンフ ィギュレーシ ョ ン アクセスのタイ ミ ング」ホス ト (ルート コンプレッ クス) からコンフ ィギュレーシ ョ ン アクセスを受信する準備がエンドポイン ト デバイスで整う タイ ミ ングに関していくつか要件があ り ます。

• 「実際のシステムでのボード電源」 ボード電源に関連した実際のシステムの制限事項および、その仕様要件への影響について説明します。

• 「推薦事項」 FPGA コンフ ィギュレーシ ョ ンのさまざまな方法を説明し、 FPGA コンフ ィギュレーシ ョ ンのタイ ミ ング問題のサンプル分析を紹介します。

コンフ ィギュレーシ ョ ンに関する用語

このセクシ ョ ンでは、 FPGA コンフ ィギュレーシ ョ ンと PCI Express® デバイスのコンフ ィギュレーシ ョ ンを区別するために使用される用語ついて説明します。

• FPGA のコンフ ィギュレーシ ョ ン : 「FPGA コンフ ィギュレーシ ョ ン」 が使用されます。

• PCI Express デバイスのコンフ ィギュレーシ ョ ン : リ ンクがアクティブになった後、「コンフ ィギュレーシ ョ ン」 が使用されます。

コンフ ィギュレーシ ョ ン  アクセスのタイ ミング

PCI Express 用の標準システムでは、システムがパワーアップする と、プロセッサ上で実行しているコンフ ィギュレーシ ョ ン ソフ ト ウェアが、 その トポロジを確認するためPCI Express バスをスキャンし始めます。

ト ポロジを確認するためのこの PCI Express 階層のスキャン プロセスは列挙プロセス と呼ばれます。 ルート コンプレッ クスがトポロジをスキャンして判断するため、デバイスへのコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンを開始するこ とでこのプロセスを実行します。

この列挙プロセス中に、 すべての PCI Express デバイスがリ ンク パートナーと リ ンクを確立し、 コンフ ィギュレーシ ョ ン要求を受け入れる準備ができているものと されます。 このため、 パワーアップ後にデバイスがコンフ ィギュレーシ ョ要求を受け入れる準備が整う タイ ミ ングに関していくつか要件があ り ます。 要件が満たされていない場合は、 次のこ とが発生します。

• デバイスの準備が整っておらず、 コンフ ィギュレーシ ョ ン要求に応答しない場合、ルート コンプレッ クスはデバイスを検出せず、 デバイスがないものと して処理します。

• OS はデバイスの存在をレポートせず、 またユーザー アプリ ケーシ ョ ンはデバイス と通信できません。

リ ンクアップし、コンフ ィギュレーシ ョ ン アクセスに応答するためデバイスがシステムと通信できているこ とを確実にするには、 適切な FPGA コンフ ィギュレーシ ョ ン方法を選ぶこ とが重要です。

コンフ ィギュレーシ ョ ン  アクセスに関する仕様要件

コンフ ィギュレーシ ョ ン アクセスに関連した PCI Express 要件は 2 項目あり ます。

1. 『PCI Express Base Specification, rev 1.1』 のセクシ ョ ン 6.6 には、 「A system must guarantee that all components intended to besoftware visible at boot time are ready to receive Configuration Requests within 100 ms of the end of Fundamental Reset at the RootComplex. (ブート時にソフ ト ウェアで認識可能にしなっているはずのすべてのコンポーネン トは、 ルート コンプレッ クスでの基本リセッ トの 後の 100ms 以内にコンフ ィギュレーシ ョ ン要求を受信する準備ができているこ とをシステムは確認する必要がある )」 とい う記述があ り ます。 この確認方法についての詳細は、 本書の及ぶと ころではないため、仕様を参照して ください。

この仕様にザイ リ ン ク スが準拠している こ とは PCI Express-CV テス ト で検証されています。 PCI Special Interest Group(PCI-SIG) は、 基本リセッ トの 後の 100ms 以内にコンフ ィギュレーシ ョ ン アクセスを受信できるよ うになっている とい

Page 173: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 173

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

う要件をデバイスが満たしているこ とを確認する、 PCI Express コンフ ィギュレーシ ョ ン テス ト ソフ ト ウェアを提供しています。このソフ ト ウェアは PCI-SIG 会員に提供されており、インバンド リセッ ト メカニズムおよび PERST# ト グルを利用した リセッ ト を複数生成し、 その堅牢さ と この仕様への準拠を検証します。

2. 『PCI Express Base Specification v1.1』 [参照 2] のセクシ ョ ン 6.6 には電源と PERST# が供給される場合に必要な 3 つのパラメーターを規定しています。 パラ メーター TPVPERL は FPGA コンフ ィギュレーシ ョ ンのタイ ミ ングに適用されm次のよ うに定義されています。

TPVPERL - PERST# は少なく と も電源が有効になるまでアクティブの状態を保つ必要があ り ます。

『PCI Express Base Specification』 では TPVPERL の特定値は定義されていません。 その意味が規定されているのみです。 コアで使用される も一般的なフ ォーム フ ァ ク ターは ATX ベースのものです。 『PCI Express Card ElectromechanicalSpecification』 [参照 2] は ATX ベースのフォーム ファ ク ターの要件が規定されています。これは、標準デスク ト ップやサーバー タイプのマザーボードをターゲッ トにしているデザインを一番対象にしています。図 3-88 は電源の安定と PERST# との関係を説明しています。

『PCI Express Card Electromechanical Specification v1.1』 [参照 2] のセクシ ョ ン 2.6.2 には、 小値 100ms と して TPVPREL が定義されており、 電源が安定した時点から 低 100ms 間システム リセッ トがアサート されるこ とを示しています (表 3-54を参照)。

 

図 3-88 および表 3-54を基に、 次のよ うな FPGA コンフ ィギュレーシ ョ ン時間を定義する単純式を得るこ とが可能です。

FPGA コンフ ィギュレーシ ョ ン時間 £ TPWRVLD + TPVPERL 式 3‐1

TPVPERL は 小値 100ms と定義されている と した場合、 次のよ うになり ます。

FPGA コンフ ィギュレーシ ョ ン時間 £ TPWRVLD + 100 ms 式 3‐2

注記 : TPWRVLD は式 3-2 に含まれていますが、 使用しているシステムのタイプによるため、 こ こで定義しておく必要があ り ます。 「実際のシステムでのボード電源」 のセクシ ョ ンでは、 ATX ベースおよびそれ以外のシステムの両方に対し TPWRVLD が定義されています。

FPGA コンフ ィギュレーシ ョ ン時間はコールド ブート にのみ関連しており、 その後のウォームまたはホッ ト リ セッ ト ではFPGA のリ コンフ ィギュレーシ ョ ンは行われません。 FPGA コンフ ィギュレーシ ョ ンが原因でデザインに問題があるよ うな場合、 単純なテス ト と してウォーム リ セッ ト を出力して ください。 これは PCI Expres リ ンクを含めシステムを リセッ ト します

X-Ref Target - Figure 3-88

図 3‐88 :パワーアップ

表 3‐54 : TPVPERL 仕様

シンボル パラメーター 小値 大値 単位

TPVPERL 電源安定から PERST# 非アクティブまで

100 ms

3.3 VAUX

3.3V/12V

PERST#

PCI Express Link Inactive Active

Power Stable

100 ms

TPVPERL

Page 174: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 174

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

が、 ボードの電源は入った状態を保ちます。 これで問題がなければ、 その問題は FPGA コンフ ィギュレーシ ョ ン時間に関連している可能性があ り ます。

実際のシステムでのボード電源

PCI Express システムではい くつかのボードが使用されます。 インテル社によ り推薦されている 『ATX Power Supply Designspecification』 はガイ ド ラ イン と して使用され、 大半のマザーボードはこの仕様に従っており、 またインテル ベースのマザーボードである場合は、 100% この仕様に従っています。 電源レールと電源有効信号との関係は 『 ATX 12V Power Supply DesignGuide』 で説明されています。 図 3-89 はFPGA コンフ ィギュレーシ ョ ンに関連した情報を示すためこ こに単純化して描かれたものですが、 この図は 『ATX 12V Power Supply Design Guide』 のセクシ ョ ン 3.3 にある情報および図を基にしています。 この図全体およびすべてのパラ メーターの定義については、 『ATX 12V Power Supply Design Guide』 を参照してください。

図 3-89 は PCI Express システムに対し図 3-88 にある電力安定が PWR_OK のアサートによって示されているこ とを説明しています。 PWR_OK は、 電源が公称値の 95% に達したと きある程度の遅延の後 High にアサート されます。

図 3-89 は PWR_OK が High にアサート される前に電源が有効になっているこ とを示しています。 これは T3 で表されており、PWR_OK 遅延です。『ATX 12V Power Supply Design Guide』 では、PWR_OK は 100ms < T3 < 500ms と定義されており、PWR_OKがアサート される前、 電源が公称値の 95% に達した時点から 低 100ms、 500ms 未満の遅延があるこ とを示しています。 『PCIExpress Card Electromechanical Specification』 [参照 2] による と、 PWR_OK のアサートによ り ATX システムで示されているよ うに、 電源が安定してから 低 100ms で PERST# がアサート される と規定されているこ とを前に述べました。

すなわち、 FPGA コンフ ィギュレーシ ョ ン時間の式は次のよ うになり ます。

FPGA コンフ ィギュレーシ ョ ン時間 £ TPWRVLD + 100ms 式 3‐3

TPWRVLD は PWR_OK 遅延時間と して定義されています。 つま り、 TPWRVLD は PWR_OK がアサート される前にシステムで電源が有効である時間を表しています。 この時間は、 FPGA のコンフ ィギュレーシ ョ ンに必要な時間に追加できます。 T2 およびT4 の 小値は僅かであるため、 この計算上ではゼロ と考えます。 ATX ベースのマザーボードの場合、 実際に使用されているマザーボードの多数を占めているので、 TPWRVLD は次のよ うに定義するこ とができます。

100ms £ TPWRVLD £ 500ms 式 3‐4

これで、 ATX ベースおよびそれ以外のマザーボードの両方での FPGA コンフ ィギュレーシ ョ ン時間の要件が決ま り ます。

• FPGA コンフ ィギュレーシ ョ ン時間 £ 200ms (ATX ベースのマザーボードの場合)

X-Ref Target - Figure 3-89

図 3‐89 : ATX 電源

VAC

PS_ON#

O/Ps

PWR_OK

+12 VDC

+5 VDC+3.3 VDC

T1

T2T3

T4T1 = Power On Time (T1 < 500 ms)T2 = Rise Time (0.1 ms <= T2 <= 20 ms)T3 = PWR_OK Delay (100 ms < T3 < 500 ms)T4 = PWR_OK Rise Time (T4 <= 10 ms)

95%

10%

Page 175: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 175

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

• FPGA コンフ ィギュレーシ ョ ン時間 £ 100ms (ATX 以外のマザーボードの場合)

ATX 以外のマザーボードの場合の 2 つ目の式は、 TPWRVLD の値がこ こでは定義されていないため 0ms である と想定しています。 ATX 以外のマザーボードを使用する場合は、 TPWRVLD の値を得るため、 その電源を検討する必要があ り ます。

このセクシ ョ ンでは、 PWR_OK がアサート される前またはアサート されたと きに FPGA 電源 (VCCINT) が安定しているものと想定しています。 そ うではない場合、 FPGA コンフ ィギュレーシ ョ ンに利用できる時間から追加時間を差し引く必要があ り ます。

重要 : 長い遅延で段階的に電圧を調整するレギュレータでアド イン カードを設計するこ とは避けてください。

ホッ トプラグ システム

ホッ トプラグ システムは、システム マザーボードにあるホッ トプラグ電源コン ト ローラーを通常使用します。多くのホッ トプラグ電源コン ト ローラーによ り、 TPVPERL は 小値の 100ms を越える こ とができます。 アド イン カードを設定する場合は、TPVPERL の値を決定するため、 ホッ トプラグ電源コン ト ローラーのデータシート を参照してください。 ホッ トプラグ電源コント ローラーが使用されているか不明な場合は、 TPVPERL の値は 100ms である と想定する必要があ り ます。

推薦事項

推奨 : FPGA コンフ ィギュレーシ ョ ン時間を 小限にするため、高速同期読み出しをサポートする、パラレル NOR フラ ッシュを使用した BPI コンフ ィギュレーシ ョ ン モードを推奨します。

さ らに、すべてのコンディシ ョ ンに対し一定したコンフ ィギュレーシ ョ ン ク ロ ッ ク周波数を得るため、外部クロ ッ ク ソースを外部マスター コンフ ィギュレーシ ョ ン ク ロ ッ ク (EMCCLK) ピンに供給する こ とができます。 BPI コンフ ィギュレーシ ョ ンモードおよび EMCCLK ピンの詳細については、『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470)[参照 7]を参照して ください。 このセクシ ョ ンでは、 こ う した推奨事項を説明し、 また FPGA コンフ ィギュレーシ ョ ン中に発生する可能性のある問題の解析例が含まれています。

7 Series デバイスの FPGA コンフ ィギュレーシ ョ ン時間

パワーアップ中、 FPGA コンフ ィギュレーシ ョ ン シーケンスは次の 4 つのステップで実行されます。

1. FPGA でのすべての電圧 (VCCINT、 VCCAUX、および VCCO_0) がト リ ップするよ うパワーオン リセッ ト (POR) を待ちます。これは POR ト リ ップ タイムと呼ばれます。

2. ビッ ト ス ト リーム伝送を受け入れる前に FPGA が初期化できるよ う、 INIT_B の完了 (ディアサート ) を待ちます。

注記 :一般的に、 ステップ 1 および 2 には £50ms 必要です。

3. DONE のアサート を待ちます。 ビッ ト ス ト リーム伝送に実際に必要な時間は次のものによって異なり ます。

° ビッ ト ス ト リーム サイズ

° ク ロ ッ ク (CCLK) 周波数

° フラ ッシュ デバイスからの伝送モード (およびデータ バス幅)

- SPI = シ リ アル ペリ フェラル インターフェイス (x1、 x2、 または x4)

- BPI = バイ ト ペリ フェラル インターフェイス (x8 または x16)

ビッ ト ス ト リーム伝送時間は次の式をしよ う して予測できます。

Page 176: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 176

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

ビッ トス ト リーム伝送時間 = (ビッ ト数でのビッ トス ト リーム サイズ)/(CCLK 周波数)/ (ビッ ト数でのデータ バス幅  式 3‐5

コンフ ィギュレーシ ョ ン プロセスの詳細は、『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470) [参照 7] を参照して ください。

問題の分析例

このセクシ ョ ンでは、 電源有効、 FPGA コンフ ィギュレーシ ョ ン、 および PERST# の関係を説明するため、 ASUS PL5 システムのデータを使用します。 図 3-90 は、 FPGA コンフ ィギュレーシ ョ ン時間に問題が発生したため、 エンドポイン トが認識されなかったケースを表しています。 図 3-91 は、 FPGA コンフ ィギュレーシ ョ ン時間には問題がなく、 エンドポイン トがシステムによ り認識されたケースを表しています。

FPGA を認識できないケース

図 3-90 は、ホス トがザイ リ ンクス FPGA を認識できなかったコールド ブートの例です。2 番目の PERST# が FPGA がコンフ ィギュレーシ ョ ンできるよ うに時間に余裕を持たせているのですが、 FPGA がコンフ ィギュレーシ ョ ン ク ロ ッ クの速度が 2MHzと遅く、 この 2 番目のディアサートのかなり後にコンフ ィギュレーシ ョ ンが完了します。 この間、 システムはバスを列挙しましたが、 FPGA を認識するこ とができませんでした。

FPGA を認識ができるケース

図 3-91 は、同じシステムでコールド ブート テス トが成功したケースを示しています。 このテス トでは、 CCLK は 50MHz で実行しており、 列挙と認識が行われてている間に FPGA がコンフ ィギュレーシ ョ ンできました。 この図は、 PWR_OK の前、 約250ms で FPGA が初期化を開始したこ と を示しています。 DONE が High になったこ とで、 PWR_OK がアサート される前にFPGA がコンフ ィギュレーシ ョ ンされたこ とを示しています。

X-Ref Target - Figure 3-90

図 3‐90 : コンフ ィギュレーシ ョ ンに時間がかかりすぎ、 ホストが FPGA を認識できないケース

Page 177: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 177

PG054 2013 年 12 月 18 日

第 3 章 : コアを使用するデザイン

クロースド  システムに対する回避策

ク ローズド システム、 または動作が確定されているシステムでの FPGA コンフ ィギュレーシ ョ ンにエラーが発生している場合、 その問題を回避できるこ とがあ り ます。 このオプシ ョ ンは、 ターゲッ トのエンド システムがはっき り していない製品には利用しないでください。

1. マザーボードおよび BIOS がスタート アップで複数の PERST# パルスを生成していないか確認してください。 オシロスコープを使用し、ボード上でこの信号をキャプチャするこ とでこの確認ができます。 これは図 3-90 で示しているものと類似しています。 複数の PERST# パルスが生成されている場合、 FPGA コンフ ィギュレーシ ョ ンにさ らに時間の余裕ができます。

TPERSTPERIOD を PERST# のパルス幅および次の PERST# パルスが到達するまでのディアサート時間の合計値と して定義します。 FPGA の電源サイクルが終了していないか、 追加の PERST# アサートで FPGA がリ コンフ ィギュレーシ ョ ンされているため、 TPERSTPERIOD の値は FPGA コンフ ィギュレーシ ョ ンの式に追加できます。

FPGA コンフ ィギュレーシ ョ ン時間 £ TPWRVLD + TPERSTPERIOD + 100ms 式 3‐6

2. ク ローズド システムでは、 初期パワーアップ シーケンス後 FPGA がコンフ ィギュレーシ ョ ンされた後にウォーム リセット をシステムが実行するよ うに、 スク リプ ト を作成するこ とが可能な場合があ り ます。 これで、 PCI Express サブシステムと と もにシステムがリセッ ト され、 デバイスがシステムによ り認識されるよ うにな り ます。

X-Ref Target - Figure 3-91

図 3‐91 : ホストが FPGA を認識できたケース

Page 178: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 178

PG054 2013 年 12 月 18 日

第 4章

コアのカスタマイズおよび生成この章では、 コアの生成およびカスタマイズにあたっての Vivado® Design Suite 使用方法について説明します。

Vivado IP インテグレーターでコアをカスタマイズおよび生成している場合は、 『Vivado Design Suite ユーザー ガイ ド :IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 20] を参照して ください。IP インテグレーターは、デザインの検証または生成時に一部のコンフ ィギュレーシ ョ ン値を自動的に計算する場合があ り ます。値が変わるかど うかを確認するには、 本章のパラ メーターの説明を参照して ください。 またパラ メーター値を確認するには、Tcl コンソールで validate_bd_design コマンドを実行します。

Vivado 統合設計環境 (IDE)

7 Series FPGAs Integrated Block for PCI Express® コアはフル コンフ ィギュレーシ ョ ン可能で、またカスタマイズ可能なソ リ ューシ ョ ンです。Vivado 統合設計環境 (IDE) では、 IP コアに関連付けられているさまざまなパラ メーターの値を指定し、 デザインで使用するために IP をカスタマイズできます。 カスタマイズは次の手順に従って行います。

1. IP カタログから IP を選択します。

2. 選択した IP をダブルク リ ッ クするか、ツールバーまたはポップアップ メニューから [Customize IP] コマンドをクリ ッ ク します。

7 Series FPGAs Integrated Block for PCI Express の [Customize IP] ダイアログ ボッ クスには、 「基本モード」 および 「アドバンス モード」 という 2 つのモードがあ り ます。 モードを選択するには、 [Customize IP] ダイアログ ボッ クスの初のページにある [Mode] ド ロ ップダウン リ ス ト を使用します。

詳細は、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)[参照 16] の IP の基礎および IP のカスタマイズに関するセクシ ョ ン、 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910)[参照 15] の Vivado IDE の概要についてのセクシ ョ ンを参照してください。

注記 : この章の図には Vivado IDE のスク リーンシ ョ ッ トが使用されていますが、現在のバージ ョ ンとはレイアウ トが異なる場合があ り ます。

基本モード

このセクシ ョ ンでは基本モードについて説明します。

Page 179: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 179

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[Basic] 

図 4-1 に示す初期カスタマイズ ページはコアの基本パラ メーターを定義するのに使用します。 こ こでは、 コンポーネン ト名、 レーン幅、 リ ンク スピードなどを指定します。

コアに対して生成される出力ファイルの基本名になり ます。 この名前の 初の文字はアルファベッ トで始める必要があ り、 名前には a ~ z、 0 ~ 9 の英数字とアンダースコア文字 (_) を使用するこ とができます。

モード  

コアのコンフ ィギュレーシ ョ ン モードに [Basic] または [Advanced] のいずれかを選択します。

[Device Port Type]

PCI Express のロジッ ク デバイス タイプを指定します。

[PCIe Block Location]

ロケーシ ョ ン別の制約ファイルおよびピン配置を生成するよ う、対象となる統合ブロ ッ クの中から選択します。X0Y0および X0Y1 または X0Y2 および X0Y3 のオプシ ョ ンを選択する と、両方の統合ブロ ッ クのロケーシ ョ ンに対する制約ファイルが生成され、 X0Y0 または X0Y3 ロケーシ ョ ンの制約ファイルが使用されます。

ザイ リ ンクス開発ボードが選択されている場合は、 このオプシ ョ ンは利用できません。

[Xilinx Development Board]

ザイ リ ンクス開発ボードに特化した制約ファイルを生成するには、 [Xilinx Development Board] を選択します。

X-Ref Target - Figure 4-1

図 4‐1 :基本パラメーター

Page 180: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 180

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[Silicon Revision]

シ リ コン リ ビジ ョ ンを選択します。 [Initial_ES] または [GES_and_Production] のいずれかを選択します。

[Number of Lanes]

7 Series FPGAs Integrated Block for PCI Express では初期レーン幅を選択する必要があ り ます。表 4-1 は選択可能なレーン幅とそれに対応したコアを定義しています。レーン幅の広いコアがそれよ り も狭いレーン幅のデバイスに接続されている場合は、 狭いほうのレーン幅に ト レーニング ダウンするこ とができます。 詳細は、 126 ページの 「リ ンク トレーニング : 2 レーン、 4 レーン、 8 レーン コンポーネン ト 」 を参照してください。

[Maximum Link Speed]

7 Series FPGAs Integrated Block for PCI Express では、 デバイスでサポート されている 大リ ンク スピードを選択できます。 表 4-2 はデバイスでサポート されているレーン幅およびリ ンク スピードを定義しています。 高速な リ ンクスピードのコアがそれよ り低い リ ンク スピードのデバイスに接続されている場合、 低いほ うの リ ンク スピードに トレーニングするこ とができます。

[AXI Interface Width]

7 Series FPGAs Integrated Block for PCI Express では表 4-3 に定義されているよ うにインターフェイス幅を選択するこ とができます。 も狭い幅がデフォルトのインターフェイス幅です。

表 4‐1 : レーン幅および生成されるコア

レーン幅 生成されるコア

X1 1 レーン 7 Series FPGAs Integrated Block for PCI Express

x2 2 レーン 7 Series FPGAs Integrated Block for PCI Express

x4 4 レーン 7 Series FPGAs Integrated Block for PCI Express

x8 8 レーン 7 Series FPGAs Integrated Block for PCI Express

表 4‐2 : レーン幅およびリンク  スピード

レーン幅 リンク  スピード

X1 2.5Gb/s、 5Gb/s

x2 2.5Gb/s、 5Gb/s

x4 2.5Gb/s、 5Gb/s

x8 2.5Gb/s、 5Gb/s

表 4‐3 : レーン幅、 リンク  スピード、 およびインターフェイス幅

レーン幅 リンク  スピード  (Gb/s) インターフェイス幅 (ビッ ト数)

x1 2.5、 5.0 64

x2 2.5、 5.0 64

x4 2.5 64

x4 5.0 64、 128

X8 2.5 64、 128

X8 5.0 128

Page 181: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 181

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[AXI Interface Frequency]

コア ユーザー インターフェスのク ロ ッ ク周波数を選択するこ とができます。 各レーン幅に複数の周波数の選択肢があ り、 デフォルト周波数および表 4-4 に定義されている周波数の中から選択できます。

推奨 : 可能な限りデフォルト周波数を使用してください。

デフォルト以外の周波数を選択してもコアのスループッ トに違いはあ り ませんが、異なるスピードでユーザー アプリケーシ ョ ンを実行できるよ うになり ます。

[Reference Clock Frequency]

sys_clk に供給される基準クロ ッ クの周波数を選択します。 コアのクロ ッ ク供給の詳細は、 「ク ロ ッ ク」 および第 3 章の 「リセッ ト 」 を参照してください。

[Additional Transceiver Control and Status Ports]

ポートについては付録 B の 「追加の ト ランシーバー制御およびステータス ポート 」 で説明されています。

[Enable External GT Channel DRP]

外部 GT チャネル DRP ポートがコア 上位に接続されます。

• ext_ch_gt_drpdo[15:0]

• ext_ch_gt_drpdi[15:0]

• ext_ch_gt_drpen[0:0]

• ext_ch_gt_drwe[0:0]

• ext_ch_gt_drprdy[:0]

• ext_ch_gt_drpaddr[8:0]

gt_ch_drp_rdy は、 外部 GT チャネル DRP の使用準備が整っており、 内部ロジッ クでは使用されていないこ とを示します。

表 4‐4 :推奨およびオプシ ョ ンのト ランザクシ ョ ン  クロック  (user_clk_out) 周波数

製品リンク  スピード  

(Gb/s)インターフェイス幅(1) 

(ビッ ト数)推奨周波数 (MHz)

オプシ ョ ンの周波数 (MHz)

1 レーン 2.5 64 62.5 125、 250

1 レーン 5 64 62.5 125、 250

2 レーン 2.5 64 62.5 125、 250

2 レーン 5 64 125 250

4 レーン 2.5 64 125 250

4 レーン 5 64 250 -

4 レーン 5 128 125 -

8 レーン 2.5 64 250 -

8 レーン 2.5 128 125 -

8 レーン 5 128 250 -

注記 :1. インターフェイス幅はリ ンク スピードの変更に合わせてダイナミ ッ クには変化しません。

Page 182: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 182

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[Enable Pipe Simulation]

このオプシ ョ ンが選択されている場合、 PIPE インターフェイスが接続された状態でコアが生成されシ ミ ュレート されます。

[Enable External PIPE interface]

これはサードパーティ PIPE シ ミ ュレーシ ョ ン サポートのためのものです。 詳細は、 第 6 章の 「PIPE モード シ ミ ュレーシ ョ ン」 を参照してください。

[PCIe DRP Ports]

デフォルトで PCIe DRP ポートはイネーブルになっており使用可能です。

[Tandem Configuration] 

[None]、 [Tandem PROM]、 [Tandem PCIe] の 3 つのラジオ ボタンを使用してタンデム コンフ ィギュレーシ ョ ンを設定するこ とができます。 サポート されているデバイスは、 K325T、 K410T、 および K160T です。

ID パラメーター (ID)

「」図 4-2に示す [IDs] ページでは、IP の初期値、ク ラス コード、および Cardbus CIS ポインターをカスタマイズします。

ID の初期値

• [Vendor ID] : デバイスまたはアプリ ケーシ ョ ンの製造者 ID です。 各 ID の重複を避けるため PCI Special InterestGroup によって有効な ID が割り当てられています。デフォルト値 「10EEh」 はザイ リ ンクスのベンダー ID です。こ こにベンダー ID を入力します。 「FFFFh」 は予約されています。

X-Ref Target - Figure 4-2

図 4‐2 : ID パラメーター

Page 183: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 183

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• [Device ID] : アプリ ケーシ ョ ンの ID です。デフォルト値は選択されているコンフ ィギュレーシ ョ ンによ り異なりますが、 「70<link speed><link width>h」 とな り ます。 このフ ィールドには任意の値を入力できます。 アプ リ ケーシ ョ ンに合わせて変更してください。

• [Revision ID] : デバイスまたはアプリ ケーシ ョ ンのリ ビジ ョ ンを指し、 デバイス ID に付随するものです。 デフォルト値は 「00h」 です。 アプリ ケーシ ョ ンに合った値を入力して ください。

• [Subsystem Vendor ID] : デバイスまたはアプリ ケーシ ョ ンの製造者をさらに細分化させるための ID です。 こ こにサブシステム ベンダー ID を入力します。 デフォルト値は 「10EE」 です。 通常、 この値はベンダー ID と同じです。 この値を 「0000h」 に設定する と準拠テス ト問題が発生します。

• [Subsystem ID] : デバイスまたはアプリ ケーシ ョ ンの製造者をさ らに細分化させるための ID です。 この値は通常デバイス ID と同じです。 デフォルト値は選択されているレーン幅およびリ ンク スピードによ り異な り ます。 この値を 「0000h」 に設定する と準拠テス ト問題が発生します。

[Class Code]

ク ラス コードは、 デバイスの一般的な機能を識別するもので、 3 つのバイ ト サイズ フ ィールドに分かれています。

• [Base Class] : デバイスによ り実行される機能のタイプを広義に識別します。

• [Sub-Class] : デバイス機能をさらに細かく識別します。

• [Interface] : デバイスに依存したソフ ト ウェアがデバイス と インターフェイスできるよ うにするレジスタ レベルのプログラ ミ ング インターフェイスを定義します。

ク ラス コードのエンコードについては www.pcisig.com を参照してください。

[Class Code Look‐up Assistant]

選択されているデバイスの一般機能に対するベース ク ラス、サブク ラス、 インターフェイスの値を検索できます。 この検索ツールは、選択されている機能に対し 3 つの値を表示するだけのもので、 これらの値は 「[Class Code]」 にユーザー自身が入力する必要があ り ます。

[Cardbus CIS Pointer]

Cardbus システムおよび Cardbus カードのカード情報構造のポンイ トに使用します。 このフ ィールドの値がゼロ以外の値である場合、該当するカード情報構造は正しい位置に存在している必要があ り ます。デフォルト値は 0000_0000hで、 値の範囲は 0000_0000h から FFFF_FFFFh までです。

基本アドレス レジスタ  (BAR)

図 4-3 に示す基本アドレス レジスタ (BAR) のページでは、 エンドポイン ト コンフ ィギュレーシ ョ ンの基本アドレスレジスタ空間を設定します。 各 BAR (0 ~ 5) はそれぞれ 32 ビッ トのパラ メーターを表します。

Page 184: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 184

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

基本アドレス レジスタの概要

エンドポイン ト コンフ ィギュレーシ ョ ンの 7 Series FPGAs Integrated Block for PCI Express では、 高 6 つの 32 ビッ トBAR または 3 つの 64 ビッ ト BAR、および拡張 ROM BAR がサポート されます。ルート ポート コンフ ィギュレーシ ョンの 7 Series FPGAs Integrated Block for PCI Express では、 高 2 つの 32 ビッ ト BAR または 1 つの 64 ビッ ト BAR、および拡張 ROM BAR がサポート されます。

BAR は次のいずれかのサイズに設定できます。

• 32 ビッ ト BAR : アドレス空間は 16 バイ トから 2 ギガ バイ ト までです。 メモ リ または I/O に使用します。

• 64 ビッ ト BAR : アドレス空間は 128 バイ トから 8 ギガバイ ト までです。 メモ リのみに使用します。

すべての BAR レジスタに次のオプシ ョ ンがあ り ます。

• チェッ クボッ クス : BAR をイネーブルにするにはチェッ クボッ クスをク リ ッ ク します。 BAR をディ スエーブルにするにはこのチェッ クボッ クスをオフにします。

• [Type] : BAR は I/O またはメモ リにな り ます。

° [I/O] : I/O BAR は 32 ビッ トのみです。 I/O BAR はプリ フェ ッチ対応ではあ り ません。 I/O BAR はレガシ PCIExpress エンドポイン ト コアに対してのみ使用できます。

° [Memory] :メモ リ BAR は 64 ビッ ト または 32 ビッ トに設定でき、 プ リ フェッチ可能です。 BAR が 64 ビッ トに設定されている場合、拡張アドレス空間用に次の BAR が使用され、その BAR にはアクセスできなくな ります。

• [Size] : 使用可能なサイズ範囲は、 選択されている PCIe® デバイス /ポート タイプおよび BAR の種類によって異なり ます。 表 4-5 にはその範囲がまとめられています。

X-Ref Target - Figure 4-3

図 4‐3 : BAR パラメーター

Page 185: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 185

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• [Prefetchable] :メモ リ空間をプリ フェ ッチ可能にするかど うかを設定します。

• [Value] :現在の選択内容に基づいて BAR に値が割り当てられます。

基本アドレス レジスタ (BAR) 設定の管理については、 「基本アドレス レジスタの設定の管理」 を参照して ください。

[Expansion Rom Enabled]

このオプシ ョ ンが選択されている場合、 拡張 ROM がアクティベート され、 2KB から 4GB までの値を指定するこ とができます。 『PCI 3.0 Local Bus Specification』 [参照 2]による と、 拡張 ROM BAR のサイズは 16MB 以下に抑える必要があ り ます。 16MB よ り も大きなアドレス空間を選択する と、 コアが規格に準拠しなくなる可能性があ り ます。

基本アドレス レジスタの設定の管理

目的の基本アドレス レジスタに対し該当値を入力して、 メモ リ または I/O のタイプの指定、プリ フェッチの設定を行います。

メモ リか I/O かの設定値を確認する と、 そのアドレス空間がメモ リ または I/O と して定義されているこ とが分かり ます。 基本アドレス レジスタはそのアドレス空間にアクセスするコマンドのみに応答します。 一般的には、 4KB 未満のメモ リ空間は避けてください。 I/O 空間の 小値は 16 バイ トで、 I/O 空間の使用は新しいデザインではすべて避けてください。

プ リ フェッチのオプシ ョ ンは、 メモ リ空間をプリ フェ ッチ可能にするかど うかを指定します。読み出しに影響がない場合 (つま り RAM からの読み出しのよ うに、 読み出しによってデータが破損するなどの影響がない場合)、 メモ リ空間はプリ フェッチ可能です。また、複数のバイ ト書き込み操作を 1 つのダブル ワード書き込みにまとめるこ と もできます。

PCIe (レガシでないもの) に対しコアをエンドポイン ト と してコンフ ィギュレーシ ョ ンする場合、 プ リ フェ ッチ可能ビッ トが設定されているすべての BAR (BAR5 を除く ) に対し、 64 ビッ ト アドレス指定がサポート されている必要があ り ます。 プ リ フェッチ可能ビッ トが設定されていない BAR すべてに対して、 32 ビッ ト アドレス指定は可能です。プ リ フェッチ ビッ トに関連した要件はレガシ エンドポイン トには適用されません。 BAR でサポート されている 小メモ リ アドレスは、 PCI Express エンドポイン トの場合は 128 バイ トで、 レガシPCI Express エンドポイン トの場合は16 バイ トです。

未使用リソースのディスエーブル

ベス ト な結果を得るには、未使用の基本アドレス レジスタをディ スエーブルにし、 システム リ ソースを節約します。使用されていない BAR のチェッ クボッ クスをオフにする と、 その BAR はディ スエーブルになり ます。

コア機能

図 4-4に示すコア機能パラ メーターは、 IP の初期値、 ク ラス コード、 および Cardbus CIS ポインターをカスタマイズするのに使用します。

表 4‐5 :デバイス コンフ ィギュレーシ ョ ン別の BAR サイズ範囲

デバイス ポート  タイプ タイプ BAR サイズ範囲

PCI Express エンドポイン ト32 ビッ ト メモ リ 128 バイ ト~ 2 ギガバイ ト

64 ビッ ト メモ リ 128 バイ ト~ 8 ギガバイ ト

レガシ PCI Express エンドポイン ト

32 ビッ ト メモ リ 16 バイ ト~ 2 ギガバイ ト

64 ビッ ト メモ リ 16 バイ ト~ 8 ギガバイ ト

I/O 16 バイ ト~ 2 ギガバイ ト

Page 186: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 186

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[Capabilities Register]

• [Capability Version] : PCI-SIG® によって規定されている PCI Express 機能構造バージ ョ ン番号を示します。 この値は変更できません。

• [Device Port Type] : PCI Express のロジッ ク デバイス タイプを指定します。

• [Slot Implemented] : このポートに関連付けられている PCI Express リ ンクがスロ ッ トに接続されているこ とを示します。 PCI Express ルート コンプレッ クスのルート ポート、 または PCI Express スイ ッチのダウンス ト リームポートに対してのみ有効です。

• [Capabilities Register] : 統合ブロッ クによって指定されている機能レジスタの値が表示されます。 これは変更できません。

[Device Capabilities Register]

• [Max Payload Size] : TLP に対しデバイス /ファンクシ ョ ンがサポートできる 大ペイロード サイズです。

• [Device Capabilities Register] : 統合ブロッ クによって指定されているデバイス機能レジスタの値が表示されます。これは変更できません。

[Block RAM Configuration Options]

• [Buffering Optimized for Bus Mastering Applications] : バス マスタ リ ング アプリ ケーシ ョ ン用に 適化されているリ ンク パートナー クレジッ ト設定がデバイスから出力されます。

• [Performance Level] : レシーバーおよびト ランス ミ ッ ターのサイズを決定するパフォーマンス レベルを選択します。 こ こでは、選択されている 大ペイロード サイズに合わせ、各パフォーマンス レベルに対し、 ト ランス ミ ッターでバッファー化される TLP 数、レシーバー サイズ、コアから リ ンク パートナーへ出力されるクレジッ ト数、

X-Ref Target - Figure 4-4

図 4‐4 : コア機能パラメーター

Page 187: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 187

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

コンフ ィギュレーシ ョ ンに必要なブロ ッ ク RAM 数といった、 レシーバーおよびト ランス ミ ッ ターの設定をします。

• [Finite Completions] : このオプシ ョ ンが選択されている場合、レシーバーで完了用に使用可能な空間がデバイスから リ ンク パートナーに出力されます。エンドポイン トの場合は、無限の完了空間を出力する必要があるため、 この設定は 『PCI Express Base Specification, rev. 2.1』 に準拠していません。

[Device Capabilities 2 Register]

このセクシ ョ ンはデバイス機能 2 レジスタを設定します。

• [Completion Timeout Disable Supported] : 完了タイムアウ ト ディ スエーブルがサポート されているこ とを示します。

• [Completion Timeout Ranges Supported] : オプシ ョ ンの完了タイムアウ トに対するデバイス ファンクシ ョ ン サポートがあるこ とを示します。

推奨 : 10ms 未満で完了タイムアウ ト させないでください。

• [Device Capabilities 2 Register] : コアに送信されるデバイス機能 2 レジスタの値が表示されます。 これは変更できません。

割り込み 

図 4-5 に示す割り込みパラ メーターは、 レガシ割り込み設定および MSI 機能を設定します。

X-Ref Target - Figure 4-5

図 4‐5 :割り込み機能

Page 188: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 188

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[Legacy Interrupt Settings]

• [Enable INTX] : PCI Express ファンクシ ョ ンの INTx 割り込み生成機能をイネーブルにします。

• [Interrupt PIN] : レガシ割り込みメ ッセージのマッピングを示します。 [None] はレガシ割り込みが使用されていないこ とを示します。

注記 : INT A のみがサポート されます。

[MSI Capabilities]

• [Enable MSI Capability Structure] : MSI 機能構造がイネーブルになっています。

• [64 bit Address Capable] : ファンクシ ョ ンが 64 ビッ トのメ ッセージ アドレス送信に対応しています。

• [Multiple Message Capable] : ルート コンプレッ クスから要求する MSI ベクターの数を選択します。

• [Per Vector Masking Capable] : ファンクシ ョ ンで MSI ベクターごとのマスキングがサポート されています。

アドバンス モード

このセクシ ョ ンではアドバンス モードについて説明します。

[Basic] タブ

図 4-6 に示すアドバンス モードの基本パラ メーターは、基本モードに PCIe DRP ポート パラ メーターを追加したのものと同じです。 基本モードのパラ メーターの詳細は、 179 ページの 「[Basic]」 を参照してください。

• [PCIe DRP Ports] :このチェッ クボッ クスをオンにする と、 PCIe ハード ブロッ クの DPR ポート を生成でき、 PCIeハード ブロ ッ クの属性をダイナミ ッ クに制御できるよ うにな り ます。 この設定はアドバンス デバッグを実行するのに使用できます。 PCIe のデフォルト属性の変更は、 ザイ リ ンクス テクニカル サポートからの指示があった場合にのみに行ってください (285 ページの 「テクニカル サポート 」 を参照)。

Page 189: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 189

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

ID パラメーター (ID)

アドバンス モードのこのパラ メーターは基本モードのものと同じです。詳細は、182 ページの「ID パラ メーター (ID)」を参照してください。

基本アドレス レジスタ  (BAR)

アドバンス モードのこのパラ メーターは基本モードのものと同じです。詳細は、 183 ページの 「基本アドレス レジスタ (BAR)」 を参照してください。

コア機能

図 4-7 に示すアドバンス モードのコア機能パラ メーターは、基本モードに次のパラ メーターを追加したものと同じです。 基本モードのパラ メーターの詳細は、 189 ページの 「コア機能」 を参照してください。

X-Ref Target - Figure 4-6

図 4‐6 :基本パラメーター (アドバンス モード )

Page 190: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 190

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[Device Capabilities Register]

• [Extended Tag Field] : 要求者と してタグ フ ィールドのサポート されている 大サイズを示します。 これがオンの場合は、 8 ビッ トのタグ フ ィールドがサポート されていて、 オフの場合は、 5 ビッ トのタグ フ ィールドがサポート されています。

• [Extended Tag Default] : このオプシ ョ ンがオンになっている場合は、 拡張タグ イネーブル デフォルト ECN をサポートするため、 デバイス制御レジスタのビッ ト 8 のデフォルト値が 1 に設定されています。

• [Phantom Functions] : タグ ID と未使用のファンクシ ョ ン番号 (ファン ト ム ファンクシ ョ ンと呼ぶ) を論理的にまとめるこ とで、未使用のト ランザクシ ョ ン番号を増やすため、 ファン ト ム ファンクシ ョ ンが使用されます。 タグ拡張の詳細については、 『PCI Express Base Specification, rev. 2.1』 [参照 2]のセクシ ョ ン 2.2.6.2 を参照して ください。 このフ ィールドは、 タグ ID と論理的にまとめられた要求者 ID のファンクシ ョ ン番号部分の 上位ビッ ト数を示します。

• [Acceptable L0s Latency] : L0s から L0 への遷移のため、エンドポイン トが許容できるレイテンシ合計を示します。

• [Acceptable L1 Latency] : L1 から L0 への遷移のため、 エンドポイン トが許容できるレイテンシを示します。

[PCIe 2.1 Specific] 

• [UR Atomic] : このオプシ ョ ンがオンになっている場合、サポート されていない要求のあるア ト ミ ッ ク操作要求にコアが自動的に応答します。 オフの場合は、 コアはア ト ミ ッ ク操作 TLP をユーザーにパスします。

• [32-bit AtomicOp Completer Support] : 32 ビッ トのア ト ミ ッ ク操作コンプリーターがサポート されています。

• [64-bit AtomicOp Completer Support] : 64 ビッ トのア ト ミ ッ ク操作コンプリーターがサポート されています。

• [128-bit AtomicOp Completer Support] : 128 ビッ トの比較 ・ スワ ップ コンプリーターがサポート されています。

• [TPH Completer Supported] : TPH コンプリーターのサポート レベルを示します。

[Link Registers]

[Link Registers] ページはアドバンス モードでのみ使用できます。

X-Ref Target - Figure 4-7

図 4‐7 : コア機能 (アドバンス モード )

Page 191: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 191

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[Link Capabilities Register]

このセクシ ョ ンはリ ンク機能レジスタを設定します。

• [Supported Link Speed] : PCI Express リ ンクでサポート されている リ ンク スピードを示します。 この値は、「[Basic]タブ」 で指定されている リ ンク スピードに設定されており、 変更できません。

• [Maximum Link Width] :この値は、「[Basic] タブ」で指定されている初期レーンに設定されており、変更できません。

• [ASPM Optionality] : このオプシ ョ ンがオンになっている場合は、 ASPM がオプシ ョ ンでイネーブルになり ます。

• [DLL Link Active Reporting Capability] : データ リ ンク制御および管理ステート マシンの DL_Active ステート を知らせるオプシ ョ ン機能です。

• [Link Capabilities Register] : コアに送信される リ ンク機能レジスタの値が表示されます。 これは変更できません。

[Link Control Register]

• [Hardware Autonomous Speed Disable] : このオプシ ョ ンがオンになっている場合、 リ ンク スピードを低下させることで信頼性の低いリ ンク操作を修正しよ う とする場合を除き、デバイス上の理由でハードウェアがリ ンク スピードを変更できなくな り ます。

• [Read Completion Boundary] : ルート ポートの読み出し完了バウンダ リ を示します。

• [Target Link Speed] : リ ンク動作スピードの上限を設定します。 これは、 ターゲッ トの準拠モードのスピードを設定するために使用されます。この値はサポート されている リ ンク スピードに設定され、リ ンク スピードが 5.0Gb/s に設定されている場合にのみ変更可能になり ます。

• [Compliance De-emphasis] : リ ンクが 5.0Gb/s で動作している場合、 アップス ト リーム コンポーネン トのディエンファシス レベルを設定します。 これは変更できません。

• [Link Control Register 1] : コアに送信される リ ンク制御レジスタの値が表示されます。 これは変更できません。

• [Link Control Register 2] : コアに送信される リ ンク制御 2 レジスタの値が表示されます。 これは変更できません。

X-Ref Target - Figure 4-8

図 4‐8 : リンク  レジスタ  (アドバンス モード )

Page 192: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 192

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[Link Status Register]

• [Enable Slot Clock Configuration] : コネクタで使用可能な、 プラ ッ ト フォームから供給される物理的な基準クロ ックがエンドポイン トで使用されるこ とを示します。 エンドポイン トで独立基準クロ ッ クが使用される場合は、 これを消去する必要があ り ます。

コンフ ィギュレーシ ョ ン  レジスタ  (ルート  ポート  コンフ ィギュレーシ ョ ンの場合のみ)

[Configuration Register] ページは、 アドバンス モードで、 ルート ポート コンフ ィギュレーシ ョ ンが選択されている場合にのみ使用できます。

重要 : これらの設定はルート ポート コンフ ィギュレーシ ョ ンに対してのみ有効です。

[Root Capabilities Register] 

• [CRS Software Visibility] : コンフ ィギュレーシ ョ ン要求再試行ステータス (CRS) をソフ ト ウェアに返すルートポートの機能です。このオプシ ョ ンがオンになっている場合、ルート ポートは CRS 完了ステータスをソフ ト ウェアに返すこ とができます。

• [Root Capabilities Register] : デバイスのルート機能レジスタを指定します。

[Slot Control Capabilities Register] 

• [Attention Button Present] : 注意ボタンがインプリ メン ト されているこ とを示します。このオプシ ョ ンがオンになっている場合、 このスロ ッ トに対し注意ボタンが筐体にインプリ メン ト されているこ とを示します。 このオプシ ョンは、 [Device_Port_Type] が [Root Port of PCI Express Root Complex] でない場合は使用できなくなっています。 こ

X-Ref Target - Figure 4-9

図 4‐9 : コンフ ィギュレーシ ョ ン  レジスタ

Page 193: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 193

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

れは、 [Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Attention Indicator Present] : 注意インジケーターがインプ リ メン ト されているこ とを示します。このオプシ ョ ンがオンになっている場合、 このスロ ッ トに対し注意インジケーターが筐体にインプリ メン ト されているこ とを示します。 このオプシ ョ ンは、 [Device_Port_Type] が [Root Port of PCI Express Root Complex] でない場合は使用できなくなっています。 これは、 [Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Power Controller Present] : 電源コン ト ローラーがインプリ メン ト されているこ とを示します。 このオプシ ョ ンがオンになっている場合、 ソフ ト ウェアでプログラム可能な電源コン ト ローラーがこのスロ ッ トにインプリ メン トされているこ とを示します。 このオプシ ョ ンは、 [Device_Port_Type] が [Root Port of PCI Express Root Complex] でない場合は使用できなくなっています。 これは、 [Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Power Indicator Present] : 電源インジケーターがインプリ メン ト されているこ とを示します。このオプシ ョ ンがオンになっている場合はこのスロ ッ ト に電源インジケーターが筐体にインプ リ メ ン ト されます。 このオプシ ョ ンは、 [Device_Port_Type] が [Root Port of PCI Express Root Complex] でない場合は使用できなくなっています。 これは、 [Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Hot-Plug Surprise] : このオプシ ョ ンがオンになっている場合、 このスロ ッ トにあるアダプターは通知なしにシステムから除去される可能性があ り ます。 このオプシ ョ ンは、 [Device_Port_Type] が [Root Port of PCI Express RootComplex] でない場合は使用できな くなっています。これは、[Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Hot-Plug Capable] : このオプシ ョ ンがオンになっている場合、 スロ ッ トがホッ トプラグ対応であるこ とを示します。 このオプシ ョ ンは、 [Device_Port_Type] が [Root Port of PCI Express Root Complex] でない場合は使用できなくなっています。 これは、 [Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [MRL Sensor Present] : MRL (Manually operated Retention Latch) センサーがインプリ メン ト されているこ とを示します。 このオプシ ョ ンがオンになっている場合、 MRL センサーがこのスロ ッ トに対して筐体にインプ リ メ ン トされているこ とを示します。 このオプシ ョ ンは、 [Device_Port_Type] が [Root Port of PCI Express Root Complex] でない場合は使用できなくなっています。 これは、 [Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Electromechanical Interlock Present] : このオプシ ョ ンがオンになっている場合は、 このスロ ッ トに電気機械インターロ ッ クが筐体にインプ リ メン ト されているこ とを示します。 このオプシ ョ ンは、 [Device_Port_Type] が [RootPort of PCI Express Root Complex] でない場合は使用できなくなっています。これは、[Core Capabilities] タブで [SlotImplemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [No Command Completed Support] : このオプシ ョ ンがオンになっている場合は、 出力コマンドがホッ トプラグ コン ト ローラーによ り完了されたと きに、 スロ ッ ト がソフ ト ウェア通知を生成しないこ とを示します。 このオプシ ョ ンは、[Device_Port_Type] が [Root Port of PCI Express Root Complex] でない場合は使用できなくなっています。これは、 [Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Slot Power Limit Value] : [Slot Power Limit Scale] の値と合わせ、 スロ ッ トへ供給される電源の上限を指定します。このオプシ ョ ンは、 [Device_Port_Type] が [Root Port of PCI Express Root Complex] でない場合は使用できなくなっています。 これは、 [Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Slot Power Limit Scale] : スロ ッ ト電源制限値に使用されるスケールを指定します。 このオプシ ョ ンは、[Device_Port_Type] が [Root Port of PCI Express Root Complex] でない場合は使用できな くなっています。 これは、[Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Physical Slot Number] : このポートに接続されている物理スロ ッ ト番号を指定します。 このフ ィールドはハードウェアで初期化される必要があ り、その初期化値によ り、スロ ッ トに関連付けられているフォーム ファ ク ターに関係なく、筐体内で重複するこ とのないスロ ッ ト番号が割り当てられます。このオプシ ョ ンは、[Device_Port_Type]が [Root Port of PCI Express Root Complex] でない場合は使用できなくなっています。これは、[Core Capabilities] タブで [Slot Implemented] パラ メーターが選択されている場合にのみ有効です (図 4-4を参照)。

• [Slot Capabilities Register] : デバイスのスロ ッ ト機能レジスタを指定します。

Page 194: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 194

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

割り込み

アドバンス モードの割り込みパラ メーターは、 基本モードに MSIx パラ メーターを追加したものと同じです。 基本モードのパラ メーターの詳細は、 187 ページの 「割り込み」 を参照してください。

[MSI‐X Capabilities]

• [Enable MSIx Capability Structure] : MSI-X 機能構造がイネーブルになっています。

注記 : この機能構造では、 低 1 つのメモ リ BAR をコンフ ィギュレーシ ョ ンする必要があ り ます。

• [MSIx Table Settings] : MSI-X のテーブル構造を定義します。

° [Table Size] : MSI-X のテーブル サイズを指定します。

° [Table Offset] : MSI-X テーブルのベースにポイン トする基本アドレス レジスタからのオフセッ ト を指定します。

° [BAR Indicator] : MSI-X テーブルをメモ リ空間にマップするのに使用されるコンフ ィギュレーシ ョ ン空間の基本アドレス レジスタを示します。 64 ビッ トの基本アドレス レジスタの場合は、 これは下位 DWORD を指します。

• [MSIx Pending Bit Array (PBA) Settings] : MSI-X 保留ビッ ト アレイ (PBA) 構造を定義します。

° [PBA Offset] : MSI-X PBA のベースにポイン トする基本アドレス レジスタからのオフセッ ト を指定します。

° [PBA BAR Indicator] : MSI-X PBA を メモ リ空間にマップするのに使用されるコンフ ィギュレーシ ョ ン空間の基本アドレス レジスタを示します。

パワー マネージメン ト

図 4-11 に示す [Power Management] ページでは、 パワー マネージメン ト レジスタ、 電力消費、 および電力消失に関する設定を行います。

X-Ref Target - Figure 4-10

図 4‐10 :割り込みパラメーター (アドバンス モード )

Page 195: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 195

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• [Device Specific Initialization] : これは、ジェネ リ ッ ク ク ラスのデバイス ド ラ イバーがこのビッ ト を使用する前に、このファンクシ ョ ンの特別初期化が必要であるこ と (標準 PCI コンフ ィギュレーシ ョ ン ヘッダーに続く部分) を示します。 このオプシ ョ ンがオンになっている場合、 D0 の初期化されていないステートへの遷移の後に、 デバイ ス別の初期化シーケン スがこのフ ァ ン ク シ ョ ンに必要であ る こ と を示し ます。 詳細は 『PCI Bus PowerManagement Interface Specification Revision 1.2』 [参照 2]のセクシ ョ ン 3.2.3 を参照してください。

• [D1 Support] : このオプシ ョ ンがオンになっている場合、 ファンクシ ョ ンで D1 パワー マネージメン ト ステートがサポート されているこ とを示します。詳細は 『PCI Bus Power Management Interface Specification Revision 1.2』 のセクシ ョ ン 3.2.3 を参照してください。

• [D2 Support] : このオプシ ョ ンがオンになっている場合、 ファンクシ ョ ンで D2 パワー マネージメン ト ステートがサポート されているこ とを示します。詳細は 『PCI Bus Power Management Interface Specification Revision 1.2』 のセクシ ョ ン 3.2.3 を参照してください。

• [PME Support From] : このオプシ ョ ンがオンになっている場合、 ファンクシ ョ ンが cfg_pm_wake をアサートできるパワー ステート を示します。詳細は 『PCI Bus Power Management Interface Specification Revision 1.2』 のセクシ ョン 3.2.3 を参照してください。

• [No Soft Reset] : このオプシ ョ ンがオンの場合、 パワー ステート コマンドに従って D3Hot から D0 へデバイスが遷移する場合、デバイスは内部リセッ ト を実行せず、 またコンフ ィギュレーシ ョ ンのコンテキス トが保存されるこ とを示します。 このオプシ ョ ンをオフにするこ とはサポート されていません。

[Power Consumption]

7 Series FPGAs Integrated Block for PCI Express は常に 0W の消費電力見積をレポート します。 詳細は 『PCI Bus PowerManagement Interface Specification Revision 1.2』 のセクシ ョ ン 3.2.6 を参照してください。

[Power Dissipated]

7 Series FPGAs Integrated Block for PCI Express は常に 0W の電力消失を レポー ト し ます。 詳細は 『PCI Bus PowerManagement Interface Specification Revision 1.2』 のセクシ ョ ン 3.2.6 を参照してください。

X-Ref Target - Figure 4-11

図 4‐11 :パワー マネージメン ト  レジスタ

Page 196: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 196

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

拡張機能

図 4-12 に示す [PCIe Extended Capabilities] ページはアドバンス モードでのみ使用できます。こ こではデバイス シ リアル番号機能、仮想チャネル機能、ベンダー別機能、およびユーザー定義のコンフ ィギュレーシ ョ ン機能を設定します。

[Device Serial Number Capability]

• [Enable DSN Capability] : デバイス シ リ アル番号 (DSN) を含むオプシ ョ ンの PCIe 拡張機能です。 この機能がオンになっている場合、DSN はポートのデバイス シ リ アル番号入力ピンに出力されている必要があ り ます。また、仮想チャネルおよびベンダー別機能をイネーブルにするにはこの機能をオンにする必要があ り ます。

[Virtual Channel Capability]

• [Enable VC Capability] : オプシ ョ ンの PCIe 拡張機能で、 ユーザー アプリ ケーシ ョ ンを TCn/VC0 モードで実行できるよ うにします。 これをオンにする と、 ト ラフ ィ ッ ク ク ラス フ ィルター機能がサポート されます。

• [Reject Snoop Transactions] (ルート ポート コンフ ィギュレーシ ョ ンのみ) : このオプシ ョ ンがオンの場合、 NoSnoop 属性が適用可能で、 TLP ヘッダーでは設定されていない ト ランザクシ ョ ンは、 サポート されていない要求と して拒否される可能性があ り ます。

[Vendor Specific Capability]

• [Enable VSEC Capability] : オプシ ョ ンの PCIe 拡張機能で、 PCI Express コンポーネン ト ベンダーがベンダー別レジスタを顕在化させるこ とができます。 このオプシ ョ ンがオンになっている場合、ザイ リ ンクスのループバッ ク制御がイネーブルになり ます。

[User‐Defined Configuration Capabilities] :エンドポイン ト  コンフ ィギュレーシ ョ ンのみ

• [PCI Configuration Space Enable] : ユーザー アプリ ケーシ ョ ンが、 PCI レガシ機能レジスタを追加/インプリ メン トできるよ うになり ます。ユーザー アプリ ケーシ ョ ンがレガシ機能コンフ ィギュレーシ ョ ン空間をインプリ メン トする場合は、 このオプシ ョ ンを選択する必要があ り ます。 このオプシ ョ ンを使用する と、 ビルト イン PCI 互換コ

X-Ref Target - Figure 4-12

図 4‐12 : PCIe 拡張機能

Page 197: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 197

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

ンフ ィギュレーシ ョ ン空間アドレス範囲外のアドレスへ、 AXI4-Stream インターフェイスへのコンフ ィギュレーシ ョ ン要求を送るこ とができるよ うになり ます。

• [PCI Configuration Space Pointer] : ユーザー定義可能な PCI 互換コンフ ィギュレーシ ョ ン空間の DWORD にアラインされた開始アドレスを設定します。 DWORD アドレスの範囲は 2Ah ~ 3Fh までです。

• [PCI Express Extended Configuration Space Enable] : ユーザー アプリ ケーシ ョ ンが、 PCI Express 拡張機能レジスタを追加/インプ リ メ ン トできるよ うにな り ます。 ユーザー アプリ ケーシ ョ ンが拡張機能コンフ ィギュレーシ ョ ン空間をインプ リ メ ン トする場合は、 このオプシ ョ ンを選択する必要があ り ます。 このオプシ ョ ンを使用する と、ビル ト イン PCI Express 拡張コンフ ィギュレーシ ョ ン空間アド レス範囲外のアド レスへ、 ユーザー アプ リ ケーシ ョ ンへのコンフ ィギュレーシ ョ ン要求を送るこ とができるよ うになり ます。

• [PCI Express Extended Configuration Space Pointer] : ユーザー アプリ ケーシ ョ ンによ り インプリ メン ト される PCIExpress 拡張コンフ ィギュレーシ ョ ン空間の DWORD にアラインされた開始アドレスを設定します。これで、ユーザー アプリ ケーシ ョ ンで設定された値以上の DWORD アドレスのコンフ ィギュレーシ ョ ン要求を送るこ とができるよ うになり ます。 このアドレス範囲は、選択されている PCIe 拡張機能によって異なり ます。詳細は、第 3 章「コアを使用するデザイン」 を参照してください。

拡張機能 2

[Extended Capabilities 2] ページはアドバンス モードでのみ使用できます。

AER 機能

• [Enable AER Capability] : アドバンス エラー レポート を使用できるよ うにするオプシ ョ ンの PCIe 拡張機能です。

• [Multiheader] : AER ヘッダー ログ フ ィールドに対しマルチ ヘッダー バッファ リ ングがサポート されているこ とを示します (7 Series FPGAs Integrated Block for PCI Expressではサポート されていません)。

X-Ref Target - Figure 4-13

図 4‐13 : PCIe 拡張機能 : AER 機能

Page 198: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 198

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• [Permit Root Error Update] : これがオンに設定されている場合、AER ルート ステータスおよびエラー ソース ID レジスタがアップデート されます。 FALSE の場合、 これらのレジスタは 0 になり ます。

• [ECRC Check Capable] : コアが ECRC を実行できるこ とを示します。

• [Optional Error Support] : 訂正不可能および訂正可能なエラー マスク /重要度レジスタで、 どのオプシ ョ ン エラーコンディシ ョ ンがサポート されているかを示します。 エラーのチェ ッ クボッ クスがすべてオフになっている場合、 マスク /重要度レジスタの対応ビッ トは 0 になり ます。

RBAR 機能

• [Enable RBAR Capability] : サイズ調整可能な BAR を使用できるよ うにするオプシ ョ ンの PCIe 拡張機能です。

• [Number of RBARs] : 機能構造でのサイズ調整可能な BAR の数です。これはイネーブルになっている BAR の数によって変わり ます。

• [Size Supported] : RBAR 機能レジスタに対しサポート されている RBAR サイズです (0 から 5 まで)。

• [Index Value] : イネーブルになっている BAR の中からサイズ調整可能な BAR のインデッ クスを設定します。

• [Init Value] : RBAR 制御 BAR サイズ フ ィールドの RBAR の初期値です。

ECRC

• [Receive ECRC Check] : 受信された TLP の ECRC チェッ クを実行します。

° 0 = チェッ ク しない

° 1 = 常にチェッ クする

° 3 = AER 機能構造の ECRC チェッ ク イネーブル ビッ トによ り イネーブルになっている場合はチェッ クする

• [Trim TLP Digest] : 受信された TLP の TD ビッ ト ク リ アおよび ECRC ト リ ムをイネーブルにします。

• [Disable RX Poisoned Resp] : ポイズンド TLP を受信したため、 コアがメ ッセージの送信およびステータス ビッ トの設定を実行しなくな り ます。 このチェッ クボッ クスがオンになっている場合のコアの動作は次のよ うになり ます。

° 勧告と しての非致命的エラー : 1 (デフォルト )。 コアがポイズンド CfgWr を受信する と、 パリティ エラーを設定し、 サポート されない要求のある完了を送信します。 コアがポインズンド MemWr を受信する と、 パリティ エラーを設定し、 TLP は送信されません。

° 勧告と しての非致命的エラー : 0.DISABLE_RX_POISONED_RESP が FALSE に設定され、 ポインズンドMemWr を受信する と、 コアはエラー メ ッセージを自動的に送信します。 DISABLE_RX_POISONED_RESP

X-Ref Target - Figure 4-14

図 4‐14 : PCIe 拡張機能 : RBAR 機能

X-Ref Target - Figure 4-15

図 4‐15 : PCIe 拡張機能 : ECRC

Page 199: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 199

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

が TRUE に設定され、 ポインズン ド MemWr を受信する と、 コアはエラー メ ッセージを送信し ません。cfg_err_poisoned をアサートする と、 コアはエラー メ ッセージを送信します。

TL 設定

[Transaction Layer (TL)] ページはアドバンス モードでのみ使用できます。

ト ランザクシ ョ ン層 (TL) モジュール 

• [Enable Message Routing] : AXI4-Stream インターフェイスでメ ッセージ TLP も受信するかど うかを制御します。

• [Endpoint] :

° [Unlock] および [PME_Turn_Off] があ り ます。

• [Root Port] :

° エラー メ ッセージ - [Error Correctable]、 [Error Non-Fatal]、 [Error Fatal]

° INIT メ ッセージのアサート /ディアサート - [INTA]、 [INTB]、 [INTC]、 [INTD]

° パワー マネージメン ト メ ッセージ - [PM_PME]、 [PME_TO_ACK]

• [Receive Non-Posted Request] (ノンポステッ ド フロー制御)

° rx_np_req 信号によ り、 ユーザー アプリ ケーシ ョ ンがノンポステッ ド TLP をバッファー化できなくな り ます。 rx_np_req がアサート される と、 統合ブロ ッ クから 1 つのノンポステッ ド TLP が要求されます。 この信号は rx_np_ok と合わせて使用するこ とはできません。rx_np_req がアサート されるたびに、受信インターフェイスで 1 つの TLP が出力され、 rx_np_ok がディアサート されるたびに、 ユーザー アプリ ケーシ ョ ンは 高2 つまでの追加ノンポステッ ド TLP をバッファー化する必要があ り ます。

• [Pipeline Registers for Transaction Block RAM Buffers] : ト ランザクシ ョ ン バッファーに対しイネーブルにするパイプライン レジスタを選択します。 パイプライン レジスタは、 ト ランザクシ ョ ン ブロ ッ ク RAM バッファーの書き込みパスで、 またはその読み出し と書き込みの両方のパスでイネーブルにするこ とができます。

X-Ref Target - Figure 4-16

図 4‐16 : TL 設定

Page 200: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 200

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• ATS

° [UR_INV_REQ] : このチェッ クボッ クスがオンになっている場合、受信された ATS 無効要求メ ッセージはサポート されていない要求と してコアによ り処理されます。 このチェッ クボッ クスがオフになっている場合、受信された ATS 無効要求メ ッセージはコアによ りパスされます。

° [UR_PRS_RESPONSE] : このチェッ クボッ クスがオンになっている場合、受信された ATS ページ要求グループ応答メ ッセージはサポート されていない要求と してコアによ り処理されます。 このチェッ クボッ クスがオフになっている場合、 受信された ATS ページ要求グループ応答メ ッセージはコアによ りパスされます。

DL および PL の設定

[DL & PL Settings] ページはアドバンス モードでのみ使用できます。

リンク層モジュール

• [Override ACK/NAK Latency Timer] : このチェッ クボッ クスがオンになっている場合、デバイスで設定されているACK/NAK レイテンシ タイマー値を上書きできます。この機能を使用する と ACK タイムアウ ト値が『PCI ExpressBase Specification, rev. 2.1』 [参照 2]に準拠しな くな り ます。 この設定はアドバンス デバッグを実行するのに使用できます。

注意 : ザイ リ ンクス テクニカル サポートから指示があった場合にのみ、 デフォルト属性を変更してください。

• レイテンシ タイマーの [Override Function] : デバイスの ACK/NAK レイテンシ タイマー値に関して、 上書きされた値がどのよ うにデバイスによって使用されるかを指定します。 オプシ ョ ンは [Absolute]、 [Add]、 [Subtract] です。 初の 2 つを設定する と ACK タイムアウ ト値が 『PCI Express Base Specification, rev. 2.1』 に準拠しなくな ります。

• レイテンシ タイマーの [Override Value] : ACK レイテンシ タイマーの [Override Function] がオンになっているかど うかによ り、 ACK/NAK レイテンシ タイマー値がどのよ うにデバイスによって使用されるのかを指定します。ビルト インされているテーブル値はデバイスの交渉された リ ンク幅およびプログラムされた MPS によって変わり ます。

X-Ref Target - Figure 4-17

図 4‐17 : DL および PL の設定

Page 201: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 201

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• [Override Replay Timer] : このチェッ クボッ クスがオンになっている場合、 デバイスで設定されている再生タイマー値を上書きできます。 この機能を使用する と再生タイムアウ ト値が 『PCI Express Base Specification, rev. 2.1』に準拠しなくな り ます。 この設定はアドバンス デバッグを実行するのに使用できます。

注意 : ザイ リ ンクス テクニカル サポートから指示があった場合にのみ、 デフォルト属性を変更してください。

• 再生タイマーの [Override Function] : デバイスの再生タイマー値に関して、上書きされた値がどのよ うにデバイスによって使用されるかを指定します。 オプシ ョ ンは [Absolute]、 [Add]、 [Subtract] です。 初の 2 つを設定する と再生タイムアウ ト値が 『PCI Express Base Specification, rev. 2.1』 に準拠しなくな り ます。

• 再生タイマーの [Override Value] : 再生タイマーの [Override Function] がオンになっているかど うかによ り、 再生タイマー値がどのよ うにデバイスによって使用されるのかを指定します。ビルト インされているテーブル値はデバイスの交渉された リ ンク幅およびプログラムされた MPS によって変わり ます。

重要 : 終タイムアウ ト値が 15 ビッ トのタイムアウ ト値をオーバーフローさせないよ うに必ず確認してください。

アドバンス物理層

• [Enable Lane Reversal] : このチェッ クボッ クスがオンになっている場合、 レーン反転機能が有効になり ます。

• [Force No Scrambling] : テス ト診断用にのみ使用します。実際のデザインでは使用しないでください。 このビッ トを設定する と、 シ リ アル データ ス ト リームが解析できるよ う、 データ スク ランブラーがオフになり ます。

• [Upconfigure Capable] : このチェッ クボッ クスがオフになっている場合、 リ ンク ト レーニング中、 ポートは 「NotUpconfigure Capable」 にな り ます。

• [Disable TX ASPM L0s] : このチェッ クボッ クスがオンになっている場合、 デバイス ト ランス ミ ッ ターが L0s ステートに遷移しなくな り ます。

推奨 : 7 series FPGA を任意のザイ リ ンクス コンポーネン トにインターコネク トする リ ンクに対しては、TX ASPM L0sをディ スエーブルにします。

• [Link Number] : リ ンク ト レーニング中に TS1 および TS2 の順序づけられているビッ トでデバイスによ り出力される リ ンク番号を指定します。 ダウンス ト リーム方向モードのみに使用。

共有ロジック

このページのオプシ ョ ンを 1 つ、 または複数選択し、複数のインスタンシエーシ ョ ンで共通ロジッ クを共有するこ とができます。 共有ロジッ クの詳細は、 第 3 章の 「共有ロジッ ク」 を参照してください。

コア インターフェイス パラメーター

使用するコア インターフェイス パラ メーターを選択できます。 デフォルトでは、 すべてのポートが接続されています。 一部のインターフェイスが使用されていない場合は、 それらをディ スエーブルにするこ と も可能です。 ディ スエーブルに設定される と、 そのインターフェイス (ポート ) はコアの 上位から削除されます。

推奨 : 通常の使用ケースの場合は、インターフェイスをディ スエーブルにしないでください。特別なケースでのみポート をディ スエーブルにしてください。

Page 202: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 202

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

[PL Interface]

物理層 (PL) インターフェイスのオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。 このオプシ ョ ンを使用し、 リ ンクおよびリ ンク パートナーのステータスをチェッ ク し、 リ ンク ステート を制御するこ とができます。

• pl_sel_lnk_rate

• pl_sel_lnk_width

• pl_ltssm_state

• pl_lane_reversal_mode

• pl_phy_lnk_up

• pl_directed_link_change

• pl_directed_link_width

• pl_directed_link_speed

• pl_directed_link_auton

• pl_tx_pm_state

X-Ref Target - Figure 4-18

図 4‐18 : コア インターフェイス パラメーター 

Page 203: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 203

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• pl_rx_pm_state

• pl_link_upcfg_cap

• pl_link_gen2_cap

• pl_link_partner_gen2_supported

• pl_initial_link_width

• pl_upstream_prefer_deemph

• pl_downstream_deemph_source

• pl_directed_change_done

• pl_transmit_hot_rst

• pl_received_hot_rst

エラー レポート

エラー レポートのオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。 これらの信号は、 PCIe Gen2 コアのユーザー アプリ ケーシ ョ ンエラー レポート インターフェイスに関連づけられています。

• cfg_err_malformed

• cfg_err_cor

• cfg_err_ur

• cfg_err_ecrc

• cfg_err_cpl_timeout

• cfg_err_cpl_abort

• cfg_err_cpl_unexpect

• cfg_err_poisoned

• cfg_err_acs

• cfg_err_atomic_egress_blocked

• cfg_err_mc_blocked

• cfg_err_internal_uncor

• cfg_err_internal_cor

• cfg_err_posted

• cfg_err_locked

• cfg_err_norecovery

• cfg_err_cpl_rdy

• cfg_err_tlp_cpl_header

• cfg_err_aer_headerlog

• cfg_aer_interrupt_msgnum

• cfg_err_aer_headerlog_set

• cfg_aer_ecrc_check_en

• cfg_aer_ecrc_gen_en

[Config Management Interface]

コンフ ィギュレーシ ョ ン管理インターフェイスのオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。これらの信号は、 コンフ ィギュレーシ ョ ン空間レジスタの読み出しおよび書き込みを実行するために使用されます。

Page 204: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 204

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• cfg_mgmt_do

• cfg_mgmt_di

• cfg_mgmt_byte_en

• cfg_mgmt_dwaddr

• cfg_mgmt_wr_rw1c_as_rw

• cfg_mgmt_wr_readonly

• cfg_mgmt_wr_en

• cfg_mgmt_rd_en

• cfg_mgmt_rd_wr_done

[Config CTRL Interface]

コンフ ィギュレーシ ョ ン制御 (CTRL) インターフェイスのオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。 これらの信号によ り、 ユーザー アプリ ケーシ ョ ンと コアの間で幅広くデータ通信が行われます。

• cfg_trn_pending

• cfg_pm_halt_aspm_l0s

• cfg_pm_halt_aspm_l1

• cfg_pm_force_state_en

• cfg_pm_force_state

• cfg_dsn

• tx_cfg_gnt

• rx_np_ok

• rx_np_req

• cfg_turnoff_ok

• cfg_pm_wake

• cfg_pm_send_pme_to

• cfg_ds_bus_number

• cfg_ds_device_number

• cfg_ds_function_number

[Config Status Interface]

コンフ ィギュレーシ ョ ン ステータス インターフェイスのオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。 これらの信号は、 PCIe Gen2 コアのコンフ ィギュレーシ ョ ン方法に関する情報を提供します。

• cfg_status

• cfg_command

• cfg_dstatus

• cfg_dcommand

• cfg_lstatus

• cfg_lcommand

• cfg_dcommand2

• cfg_pcie_link_state

• cfg_pmcsr_powerstate

Page 205: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 205

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• cfg_pmcsr_pme_en

• cfg_pmcsr_pme_status

• cfg_received_func_lvl_rst

• cfg_to_turnoff

• cfg_bus_number

• cfg_device_number

• cfg_function_number

• cfg_bridge_serr_en

• cfg_slot_control_electromech_il_ctl_pulse

• cfg_root_control_syserr_corr_err_en

• cfg_root_control_syserr_non_fatal_err_en

• cfg_root_control_syserr_fatal_err_en

• cfg_root_control_pme_int_en

• cfg_aer_rooterr_corr_err_reporting_en

• cfg_aer_rooterr_non_fatal_err_reporting_en

• cfg_aer_rooterr_fatal_err_reporting_en

• cfg_aer_rooterr_corr_err_received

• cfg_aer_rooterr_non_fatal_err_received

• cfg_aer_rooterr_fatal_err_received

• cfg_vc_tcvc_map

• tx_buf_av

• tx_err_drop

• tx_cfg_req

[Receive Msg Interface]

受信メ ッセージ インターフェイスのオプシ ョ ンをオフにする と、次のポートがコアから削除されます。これらの信号は、 リ ンク、 データに関連付けられているパラ メーター、 および受信されたメ ッセージのタイプからのデコード可能なメ ッセージを示します。

• cfg_msg_received

• cfg_msg_data

• cfg_msg_received_err_cor

• cfg_msg_received_err_non_fatal

• cfg_msg_received_err_fatal

• cfg_msg_received_assert_int_a

• cfg_msg_received_deassert_int_a

• cfg_msg_received_assert_int_b

• cfg_msg_received_deassert_int_b

• cfg_msg_received_assert_int_c

• cfg_msg_received_deassert_int_c

• cfg_msg_received_assert_int_d

• cfg_msg_received_deassert_int_d

Page 206: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 206

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

• cfg_msg_received_pm_pme

• cfg_msg_received_pme_to_ack

• cfg_msg_received_unlock

• cfg_msg_received_pm_as_nak

[Config FC Interface]

コンフ ィギュレーシ ョ ン フロー制御 (FC) インターフェイスのオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。 これらの信号は、 PCIe Gen2 コアのコンフ ィギュレーシ ョ ン フロー制御に関連づけられています。

• cfg_fc_ph

• cfg_fc_pd

• cfg_fc_nph

• cfg_fc_npd

• cfg_fc_cplh

• cfg_fc_cpld

• cfg_fc_sel

出力生成

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 [参照 16] (UG896) の IP 出力ファ イルの生成に関するセクシ ョ ンを参照してください。

エンドポイン ト  コンフ ィギュレーシ ョ ン

このセクシ ョ ンは、 生成されたコアのエンドポイン ト コンフ ィギュレーシ ョ ン用のディ レク ト リ構造を説明します。各ディ レク ト リの詳細は、 第 8 章 「サンプル デザインの詳細」 を参照してください。

Page 207: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 207

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

X-Ref Target - Figure 4-19

図 4‐19 : エンドポイン ト  コンフ ィギュレーシ ョ ンのディ レク ト リ構造

Page 208: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 208

PG054 2013 年 12 月 18 日

第 4 章 : コアのカスタマイズおよび生成

ルート  ポート  コンフ ィギュレーシ ョ ン

このセクシ ョ ンは、生成されたコアのルート ポート コンフ ィギュレーシ ョ ン用のディ レク ト リ構造を説明します。各ディ レク ト リの詳細は、 第 8 章 「サンプル デザインの詳細」 を参照してください。

X-Ref Target - Figure 4-20

図 4‐20 :ルート  ポート  コンフ ィギュレーシ ョ ンのディ レク ト リ構造

Page 209: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 209

PG054 2013 年 12 月 18 日

第 5章

コアの制約7 Series FPGAs Integrated Block for PCI Express® ソ リ ューシ ョ ンでは、PCI Express に対し指定されているパフォーマンス要件を満たすため、 タイ ミ ングおよび物理的なインプリ メンテーシ ョ ン制約を指定する必要があ り ます。 これらの制約は、 エンドポイン トおよびルート ポートの両方のソ リ ューシ ョ ンで、 ザイ リ ンクス デザイン制約 (XDC) ファ イルで提供されています。 生成される XDC ファ イルにあるピン配置および階層の名前は、 配布されているサンプル デザインのものに一致しています。

一貫したインプ リ メンテーシ ョ ン結果を得るには、ザイ リ ンクス ツールでデザインを実行する と きに、変更されていない元の制約を含んだ XDC ファ イルを使用します。 XDC ファ イルの定義および使用方法、 また特定の制約についての詳細は、『Vivado ライブラ リ ガイ ド』 [参照 11]および 『コマンド ライン ツール ユーザー ガイ ド』 [参照 13] (UG628)を参照してください。

統合ブロ ッ ク ソ リ ューシ ョ ンで提供されている制約は、 ハード ウェア上でテス ト済みで、 一貫した結果を提供します。 制約は変更可能ですが、 各制約をよ く理解した上で変更してください。 また、 提供されている制約を規定から逸脱した形で使用したデザインに対してはサポートは提供されませんので、 ご了承ください。

各コアに対して生成される XDC ファ イルの全体的な構造および情報の並びは同じですが、 その内容は各コアによって異なり ます。 次に説明するセクシ ョ ンは、 一般的な XDC ファ イルの構造および情報の並びを規定します。

必要な制約の変更

XDC で提供されている制約の中には、 統合ブロ ッ ク内のエレ メン トへの階層パスを使用するものがあ り ます。 これらの制約には、core という インスタンス名が使用されるものと想定します。別のインスタンス名が使用される場合は、この 「core」 をすべての階層制約で実際のインスタンス名に置き換えます。

次に例を示します。

xilinx_pcie_ep という インスタンス名を使用する場合 :

set_property LOC GTXE2_CHANNEL_X0Y7 [get_cells {core/inst/inst/gt_top_i/pipe_wrapper_i/pipe_lane[0].gt_wrapper_i/gtx_channel.gtxe2_channel_i}]

上記のものは、 次のよ うになり ます。

set_property LOC GTXE2_CHANNEL_X0Y7 [get_cells {xilinx_pcie_ep/inst/inst/gt_top_i/pipe_wrapper_i/pipe_lane[0].gt_wrapper_i/gtx_channel.gtxe2_channel_i}]

提供されている XDC には、 ユーザー インプ リ メ ン ト ロジッ クに制約を設定するための空白のセクシ ョ ンがあ り ます。提供されている制約はコア自体に制約を設定するには十分ですが、コアと インターフェイスしているユーザー インプ リ メン ト ロジッ クに制約をつけるには十分ではあ り ません。 追加制約をインプリ メン トする必要があ り ます。

Page 210: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 210

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

デバイス、 パッケージ、 およびスピード  グレードの選択

XDC の 初のセクシ ョ ンは、 インプリ メンテーシ ョ ン ツールがターゲッ トにするデバイスを正確に指定します。 特定パーツ、 パッケージ、 スピード グレード も含まれます。 デバイスに特化したオプシ ョ ンが含まれる場合もあ り ます。 XDC のデバイスは、 Vivado® Design Suite プロジェク トで選択されているデバイスが反映されています。

ユーザー タイ ミング制約

ユーザー タイ ミ ング制約のセクシ ョ ンは自動的には記述されていません。 こ こにユーザー インプ リ メン ト ロジッ クのタイ ミ ング制約をユーザーが指定します。

ユーザー物理制約

ユーザー物理制約のセクシ ョ ンは自動的には記述されていません。 こ こにユーザー インプ リ メ ン ト ロジッ クの物理制約をユーザーが指定します。

コアのピン配置および I/O 制約

コアのピン配置および I/O 制約のセクシ ョ ンには、 コアのシステム (SYS) イ ン ターフェ イ スおよび PCI Express(PCI_EXP) インターフェイスに属する I/O に対する制約が含まれています。 こ こには、 ピン、 I/O ロジッ ク、および I/O 規格のロケーシ ョ ン制約が含まれます。

コアの物理制約

コアの物理制約は、デバイスの特定エリ アにコアを制限し、またクロ ッ ク バッファ リ ングおよびコアによってインスタンシエート されるロジッ クのロケーシ ョ ンを指定するために使用されます。

コアのタイ ミング制約

コアのタイ ミ ング制約のセクシ ョ ンでは、 コアに対するクロ ッ ク周波数要件を定義し、 またタイ ミ ング解析ツールで無視するネッ ト を指定します。

デバイスの選択

XDC のデバイス選択セクシ ョ ンには、 ターゲッ トにするパーツ、パッケージ、 スピード グレードが記述されており、この情報がインプ リ メンテーシ ョ ン ツールに渡されます。

重要 : コアは特定のパーツとパッケージの組み合わせに対して設計されているため、 このセクシ ョ ンは変更しないでください。

このセクシ ョ ンには常にパーツを選択する行が含まれていますが、パーツまたはパッケージ別のオプシ ョ ンも含まれている場合があ り ます。 たとえば、 次のよ うになり ます。

CONFIG PART = XC7V585T-FFG1761-1

Page 211: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 211

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

コア I/O 割り当て

このセクシ ョ ンは、 コアのシステム (SYS) インターフェイスおよび PCI Express (PCI_EXP) インターフェイスに属する I/O の配置およびオプシ ョ ンを制御します。 このセクシ ョ ンの set_property 制約は、 SYS グループの信号のピン ロケーシ ョ ンおよび I/O オプシ ョ ンを制御します。 使用しているコアのバージ ョ ンによ り、 このロケーシ ョ ン とオプシ ョ ンは異なり ます。 また、 システム要件を十分に理解せずにこれを変更するのは避けてください。

次に例を示します。

set_property IOSTANDARD LVCMOS18 [get_ports sys_rst_n]set_property LOC IBUFDS_GTE2_X0Y3 [get_cells refclk_ibuf]

リセッ トおよびクロ ッ クの要件については、 「ク ロ ッ ク」 および第 3 章の 「リセッ ト 」 を参照してください。

GTX ト ランシーバーのピン配置については、『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』[参照 10](UG476) の付録 「Placement Information by Package」 を参照してください。

INST 制約は、 PCI_EXP グループに属す信号の配置を制御するのに使用されます。 これらの制約は使用されている トランシーバーのロケーシ ョ ンを制御します。つま り、送信および受信の差動ペアのピン ロケーシ ョ ンを黙示的に制御します。

次に例を示します。

set_property LOC GTXE2_CHANNEL_X0Y7 [get_cells {pcie_7x_v2_1_0_i/inst/inst/gt_top_i/pipe_wrapper_i/pipe_lane[0].gt_wrapper_i/gtx_channel.gtxe2_channel_i}]

コアの物理制約

コアの物理制約は制約ファイルに含まれていて、 ク ロ ッキングおよびその他のエレ メン トのロケーシ ョ ンを制御し、また、 FPGA ロジッ クの特定エリ アにコアを制約するために使用します。

重要 : サポート されているデバイス とパッケージの各組み合わせに合わせて特定の物理制約が選択されています。 これらの制約を変更しないでください。

注記 :デザインのタイ ミ ングをクローズするこ とができない状況においては、XDC に次の AREA_GROUP 制約を追加できます。

INST "core/*" AREA_GROUP = "AG_core" ;AREA_GROUP "AG_core" RANGE = SLICE_X136Y147:SLICE_X155Y120 ;

コアのタイ ミング制約

タイ ミ ング制約はすべての統合ブロ ッ ク ソ リ ューシ ョ ンに対して提供されていますが、コアのコンフ ィギュレーシ ョンによって異なり ます。 いかなる場合においても、 タイ ミ ング制約は重要であるため、 上位の階層名を指定する目的以外に変更はしないでください。 タイ ミ ング制約は次の 2 つのグループに分けられます。

• set_false_path 制約 :遅延が重要ではないパスに使用され、 制約のないパスについての警告メ ッセージがタイ ミ ング解析ツールで出力されないよ うにします。

• 周波数制約 :ク ロ ッ ク ネッ ト をタイム グループにまとめ、 プロパティおよび要件をそのグループに割り当てます。

Page 212: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 212

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

set_false_path 制約の例を次に示します。

set_false_path -from [get_ports sys_rst_n]

ク ロ ッ ク制約の例 :

まず、入力基準クロ ッ クの周期を指定します。これは Vivado 統合設計環境 (IDE) で選択されている値、つま り 100MHz、125MHz、 250MHz のいずれかの値になり ます。

create_clock -name sys_clk -period 10 [get_pins refclk_ibuf/O]

次に、 内部生成されたクロ ッ ク ネッ トおよび周期を、 100MHz、 125MHz、 または 250MHz に指定します。

注記 :両方のクロ ッ ク制約を 100MHz、 125MHz、 または 250MHz に指定する必要があ り ます。

create_generated_clock -name clk_125mhz -source [get_pins refclk_ibuf/O] -edges {1 2 3} -edge_shift {0 -1 -2} [get_pins ext_clk.pipe_clock_i/mmcm_i/CLKOUT0]

create_generated_clock -name clk_userclk -source [get_pins refclk_ibuf/O] -edges {1 2 3} -edge_shift {0 3 6} [get_pins ext_clk.pipe_clock_i/mmcm_i/CLKOUT2]

統合ブロック  コアの移動

システム ク ロ ッ ク入力、 GTXE ト ランシーバー、 またはブロ ッ ク RAM のロケーシ ョ ンが提供されているサンプルとは異なるデザインに対しては、ザイ リ ンクスはテクニカル サポート を提供しませんが、 FPGA 内でコアを移動させるこ とは可能です。 サンプルで選択されているロケーシ ョ ンは推奨ピン配置です。 これらのロケーシ ョ ンは、 PCIe® ブロ ッ ク との近さに基づいて選択されていて、 250MHz のタイ ミ ングを満たすこ とができます。 またこれらのロケーシ ョ ンによ り、 アド イン カード デザインのレイアウ ト要件を満たすこ とができます。 コアを移動した場合は、 ト ランシーバーおよびクロ ッキング リ ソースすべての相対位置を維持し、 タイ ミ ング ク ロージャーが達成できるよ うにしてください。

サポート されているコアのピン配置

Virtex®-7 FPGA には複数のブロッ クがあ り ます。表 5-1 には、 これらの FPGA で使用可能なブロ ッ クがリ ス ト されています。 Kintex®-7 および Artix®-7 デバイスにはブロ ッ クは 1 つしかあ り ません。 Virtex-7 ファ ミ リの一部では、 統合ブロ ッ クに近接する ト ランシーバー サイ トがボンディングされていないため、すべてのブロ ッ クを使用できるわけではあ り ません。 表 5-1 にリ ス ト されている FPGA の統合ブロ ッ クは、 高 Gen2 (5.0GT/s) までの動作をサポート します。Gen 3 (8.0 GT/s) の場合は、『Virtex-7 FPGA Gen3 Integrated Block for PCI Express 製品ガイ ド』 [参照 4] (PG023) を参照してください。

表 5‐1 :使用可能な PCIe 用統合ブロック

デバイスの選択 PCIe 用統合ブロックのロケーシ ョ ン

デバイス パッケージ X0Y0 X0Y1 X0Y2 X1Y0 X1Y1

Zynq®-7000

ZC7030 3

ZC7045 3

ZC7100 3

Page 213: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 213

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

表 5-2 から表 5-7 までは、 利用可能な Zynq-7000 SoC および 7 シ リーズ FPGA のパーツとパッケージの組み合わせに対しサポート されているコアのピン配置を規定しています。Vivado ツールは、選択されているツールおよびパッケージに対し、 この表のデータに一致する XDC ファ イルを提供します。

Virtex-7

XC7VX485T

FFG1157FFG1761FFG1930

3 3

FFG1158FFG1927

3 3 3 3

XC7V585TFFG1157 3 3

FFG1761 3 3 3

XC7V2000TFHG1761 3 3 3

FLG1925 3 3

Kintex-7

XC7K480T 3

XC7K420 3

XC7K410T 3

XC7K355T 3

XC7K325T 3

XCK7160T 3

XC7K70T 3

Artix-7XC7A100T 3

XC7A200T 3

表 5‐1 :使用可能な PCIe 用統合ブロック  (続き)

デバイスの選択 PCIe 用統合ブロックのロケーシ ョ ン

デバイス パッケージ X0Y0 X0Y1 X0Y2 X1Y0 X1Y1

表 5‐2 : Artix 7 コア ピン配置

デバイス パッケージ統合ブロック  ロケーシ ョ ン

レーン x1 x2 x4 X8

XC7A200T FBG484、 FBG676、FFG1156、 SBG484

X0Y0

レーン 0 X0Y7 X0Y7 X0Y7

サポート なし レーン 1 X0Y6 X0Y6

XC7A100T FGG484、 FGG676 レーン 2 X0Y5

XC7A75T FGG484 レーン 3 X0Y4

XC7A35T FGG484X0Y0

レーン 0 X0Y3 X0Y3 X0Y3

サポート なし レーン 1 X0Y2 X0Y2

レーン 2 X0Y1

XC7A50T FGG484 レーン 3 X0Y0

Page 214: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 214

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

表 5‐3 : Zynq‐7000 コア ピン配置

デバイス パッケージ統合ブロック  ロケーシ ョ ン

レーン x1 x2 x4 X8

XC7Z030 FBG484、 FBG676、FFG676、 SBG485

X0Y0

レーン 0 X0Y3 X0Y3 X0Y3

サポート なし レーン 1 X0Y2 X0Y2

レーン 2 X0Y1

レーン 3 X0Y0

XC7Z045 FBG676、 FFG676、FFG900

X0Y0

レーン 0 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

XC7Z100 FFG900、 FFG1156

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

表 5‐4 : Kintex‐7 コア ピン配置

デバイス パッケージ統合ブロック  ロケーシ ョ ン

レーン x1 x2 x4 X8

XC7K70T

FBG 484 X0Y0

レーン 0 X0Y3 X0Y3 X0Y3

サポート なし レーン 1 X0Y2 X0Y2

レーン 2 X0Y1

レーン 3 X0Y0

FBG676 X0Y0

レーン 0 X0Y7 X0Y7 X0Y7 X0Y7

レーン 1 X0Y6 X0Y6 X0Y6

レーン 2 X0Y5 X0Y5

レーン 3 X0Y4 X0Y4

レーン 4 X0Y3

レーン 5 X0Y2

レーン 6 X0Y1

レーン 7 X0Y0

Page 215: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 215

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

XC7K160T

FBG484 X0Y0

レーン 0 X0Y3 X0Y3 X0Y3

サポート なし レーン 1 X0Y2 X0Y2

レーン 2 X0Y1

レーン 3 X0Y0

FBG676、 FFG676 X0Y0

レーン 0 X0Y7 X0Y7 X0Y7 X0Y7

レーン 1 X0Y6 X0Y6 X0Y6

レーン 2 X0Y5 X0Y5

レーン 3 X0Y4 X0Y4

レーン 4 X0Y3

レーン 5 X0Y2

レーン 6 X0Y1

レーン 7 X0Y0

XC7K325T FBG676、 FBG900、FFG676、 FFG900

X0Y0

レーン 0 X0Y7 X0Y7 X0Y7 X0Y7

レーン 1 X0Y6 X0Y6 X0Y6

レーン 2 X0Y5 X0Y5

レーン 3 X0Y4 X0Y4

レーン 4 X0Y3

レーン 5 X0Y2

レーン 6 X0Y1

レーン 7 X0Y0

XC7K355T FFG901 X0Y0

レーン 0 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

表 5‐4 : Kintex‐7 コア ピン配置 (続き)

デバイス パッケージ統合ブロック  ロケーシ ョ ン

レーン x1 x2 x4 X8

Page 216: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 216

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

XC7K410T FBG676、 FBG900、FFG676、 FFG900

X0Y0

レーン 0 X0Y7 X0Y7 X0Y7 X0Y7

レーン 1 X0Y6 X0Y6 X0Y6

レーン 2 X0Y5 X0Y5

レーン 3 X0Y4 X0Y4

レーン 4 X0Y3

レーン 5 X0Y2

レーン 6 X0Y1

レーン 7 X0Y0

XC7K420TXC7K480T FFG901、 FFG1156 X0Y0

レーン 0 X0Y19 X0Y19 X0Y19 X0Y19

レーン 1 X0Y18 X0Y18 X0Y18

レーン 2 X0Y17 X0Y17

レーン 3 X0Y16 X0Y16

レーン 4 X0Y15

レーン 5 X0Y14

レーン 6 X0Y13

レーン 7 X0Y12

表 5‐4 : Kintex‐7 コア ピン配置 (続き)

デバイス パッケージ統合ブロック  ロケーシ ョ ン

レーン x1 x2 x4 X8

Page 217: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 217

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

表 5‐5 : Virtex 7 XC7VX485T コア ピン配置

パッケージ統合ブロック  ロ

ケーシ ョ ンレーン x1 x2 x4 X8

FFG1158、 FFG1927

X0Y0

レーン 0 X0Y11 X0Y11 X0Y11 X0Y11

レーン 1 X0Y10 X0Y10 X0Y10

レーン 2 X0Y9 X0Y9

レーン 3 X0Y8 X0Y8

レーン 4 X0Y7

レーン 5 X0Y6

レーン 6 X0Y5

レーン 7 X0Y4

X0Y1

レーン 0 X0Y23 X0Y23 X0Y23 X0Y23

レーン 1 X0Y22 X0Y22 X0Y22

レーン 2 X0Y21 X0Y21

レーン 3 X0Y20 X0Y20

レーン 4 X0Y19

レーン 5 X0Y18

レーン 6 X0Y17

レーン 7 X0Y16

FFG1157、 FFG1761、 FFG1930

X1Y0

レーン 0 X1Y11 X1Y11 X1Y11 X1Y11

レーン 1 X1Y10 X1Y10 X1Y10

レーン 2 X1Y9 X1Y9

レーン 3 X1Y8 X1Y8

レーン 4 X1Y7

レーン 5 X1Y6

レーン 6 X1Y5

レーン 7 X1Y4

X1Y1

レーン 0 X1Y23 X1Y23 X1Y23 X1Y23

レーン 1 X1Y22 X1Y22 X1Y22

レーン 2 X1Y21 X1Y21

レーン 3 X1Y20 X1Y20

レーン 4 X1Y19

レーン 5 X1Y18

レーン 6 X1Y17

レーン 7 X1Y16

Page 218: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 218

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

表 5‐6 : Virtex‐7 XC7V585T コア ピン配置

パッケージ統合ブロック  ロ

ケーシ ョ ンレーン x1 x2 x4 X8

FFG1157

X0Y1

レーン 0 X0Y19 X0Y19 X0Y19 X0Y19

レーン 1 X0Y18 X0Y18 X0Y18

レーン 2 X0Y17 X0Y17

レーン 3 X0Y16 X0Y16

レーン 4 X0Y15

レーン 5 X0Y14

レーン 6 X0Y13

レーン 7 X0Y12

X0Y2

レーン 0 X0Y31 X0Y31 X0Y31 X0Y31

レーン 1 X0Y30 X0Y30 X0Y30

レーン 2 X0Y29 X0Y29

レーン 3 X0Y28 X0Y28

レーン 4 X0Y27

レーン 5 X0Y26

レーン 6 X0Y25

レーン 7 X0Y24

Page 219: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 219

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

FFG1761

X0Y0

レーン 0 X0Y7 X0Y7 X0Y7 X0Y7

レーン 1 X0Y6 X0Y6 X0Y6

レーン 2 X0Y5 X0Y5

レーン 3 X0Y4 X0Y4

レーン 4 X0Y3

レーン 5 X0Y2

レーン 6 X0Y1

レーン 7 X0Y0

X0Y1

レーン 0 X0Y19 X0Y19 X0Y19 X0Y19

レーン 1 X0Y18 X0Y18 X0Y18

レーン 2 X0Y17 X0Y17

レーン 3 X0Y16 X0Y16

レーン 4 X0Y15

レーン 5 X0Y14

レーン 6 X0Y13

レーン 7 X0Y12

X0Y2

レーン 0 X0Y31 X0Y31 X0Y31 X0Y31

レーン 1 X0Y30 X0Y30 X0Y30

レーン 2 X0Y29 X0Y29

レーン 3 X0Y28 X0Y28

レーン 4 X0Y27

レーン 5 X0Y26

レーン 6 X0Y25

レーン 7 X0Y24

表 5‐6 : Virtex‐7 XC7V585T コア ピン配置 (続き)

パッケージ統合ブロック  ロ

ケーシ ョ ンレーン x1 x2 x4 X8

Page 220: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 220

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

表 5‐7 : Virtex‐7 XC7V2000T コア ピン配置

パッケージ統合ブロック  ロケーシ ョ ン

レーン x1 x2 x4 X8

FHG1761

X0Y0

レーン 0 X0Y7 X0Y7 X0Y7 X0Y7

レーン 1 X0Y6 X0Y6 X0Y6

レーン 2 X0Y5 X0Y5

レーン 3 X0Y4 X0Y4

レーン 4 X0Y3

レーン 5 X0Y2

レーン 6 X0Y1

レーン 7 X0Y0

X0Y1

レーン 0 X0Y19 X0Y19 X0Y19 X0Y19

レーン 1 X0Y18 X0Y18 X0Y18

レーン 2 X0Y17 X0Y17

レーン 3 X0Y16 X0Y16

レーン 4 X0Y15

レーン 5 X0Y14

レーン 6 X0Y13

レーン 7 X0Y12

X0Y2

レーン 0 X0Y31 X0Y31 X0Y31 X0Y31

レーン 1 X0Y30 X0Y30 X0Y30

レーン 2 X0Y29 X0Y29

レーン 3 X0Y28 X0Y28

レーン 4 X0Y27

レーン 5 X0Y26

レーン 6 X0Y25

レーン 7 X0Y24

Page 221: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 221

PG054 2013 年 12 月 18 日

第 5 章 : コアの制約

FLG1925

X0Y0

レーン 0 X1Y11 X1Y11 X1Y11 X1Y11

レーン 1 X1Y10 X1Y10 X1Y10

レーン 2 X1Y9 X1Y9

レーン 3 X1Y8 X1Y8

レーン 4 X1Y7

レーン 5 X1Y6

レーン 6 X1Y5

レーン 7 X1Y4

X0Y1

レーン 0 X0Y19 X0Y19 X0Y19 X0Y19

レーン 1 X0Y18 X0Y18 X0Y18

レーン 2 X0Y17 X0Y17

レーン 3 X0Y16 X0Y16

レーン 4 X0Y15

レーン 5 X0Y14

レーン 6 X0Y13

レーン 7 X0Y12

表 5‐7 : Virtex‐7 XC7V2000T コア ピン配置 (続き)

パッケージ統合ブロック  ロケーシ ョ ン

レーン x1 x2 x4 X8

Page 222: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 222

PG054 2013 年 12 月 18 日

第 6章

シミ ュレーシ ョ ン本章では、 Vivado® Design Suite 環境でのシ ミ ュレーシ ョ ンについて説明します。

• Vivado シ ミ ュレーシ ョ ン コンポーネン トについて、 またサードパーティ ツールでサポート されているものについては、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 [参照 17] (UG900) を参照して ください。

• サンプル デザインのシ ミ ュレーシ ョ ンについては、 第 8 章の 「サンプル デザインのシ ミ ュレーシ ョ ン」 を参照してください。

タンデム コンフ ィギュレーシ ョ ンを使用したシミ ュレーシ ョ ン

タンデム コンフ ィギュレーシ ョ ンを使用したシ ミ ュレーシ ョ ンの特定要件については、 第 3 章の 「タンデム IP コアのシ ミ ュレーシ ョ ン」 を参照してください。

PIPE モード  シミ ュレーシ ョ ン

このセクシ ョ ンでは、サンプル デザインを使用した PIPE モード シ ミ ュレーシ ョ ンについて説明します。サードパーティのバス ファンクシ ョナル モデル サポートに関しては、『PIPE Mode Simulation Using Integrated Endpoint PCI ExpressBlock in Gen2 x8 Configurations Application Note 』 [参照 21] (XAPP1184) を参照してください。

PIPE モード シ ミ ュレーシ ョ ン モデルを利用する と、シ ミ ュレーシ ョ ンをスピードアップさせるためのシ リ アル ト ランシーバー ブロ ッ クを使用せずにシ ミ ュレーシ ョ ンを実行できます。

シ ミ ュレーシ ョ ンをスピードアップさせるため PIP インターフェイスを使用するには、[Customize IP] ダイアログ ボック スの [Basic] タブにある [Enable PIPE Simulation] を選択した後に、 コアを生成します (182 ページの 「[Enable PipeSimulation]」 を参照)。 このモードでは、 コア 上位モジュールの PIPE インターフェイス、 PCIe® サンプル デザインがモデルの PIPE インターフェイスに接続されています。 この機能は Verilog 版のコアにのみ使用できます。

重要 : PIPE モード シ ミ ュレーシ ョ ンの場合は、 新しい <component_name>_gt_top_pipe.v ファ イルがソース ディ レクト リに作成され、 シ リ アル ト ランシーバー ブロ ッ クを置換します。

同じコアを使用し、 シ リ アル ト ランシーバー ブロ ッ クを使用したシ ミ ュレーシ ョ ンを実行するには、 ランタイム中に ENABLE_GT を定義します。 これでコアの 上位モジュールに元のシ リ アル ト ランシーバー ブロ ッ クがインスタンシエート され、 このブロ ッ クを使用してシ ミ ュレーシ ョ ンが実行されます。 シ リ アル ト ランシーバー ブロ ッ クを使用してシ ミ ュレーシ ョ ンを実行するため有効にする必要のあるパラ メーターを定義するため、シ ミ ュレーシ ョ ン スク リプ トにコ メン トが含まれています。 シ リ アル ト ランシーバー モードでシ ミ ュレーシ ョ ンを実行するには、 このコ メン ト を削除する必要があ り ます。

Page 223: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 223

PG054 2013 年 12 月 18 日

第 6 章 : シミ ュレーシ ョ ン

ヒン ト : インプ リ メンテーシ ョ ンは常にシ リ アル ト ランシーバー ブロ ッ クを使用して実行されます。 PIPE モードはシ ミ ュレーシ ョ ン専用です。

[Enable External PIPE interface] が選択されている場合、 サードパーティ シ ミ ュレーシ ョ ン サポートでは次のポートが使用されます。

pcie_top に接続される PIPE ポートの場合、表 6-1 に示すよ うに、各レーンに独立した出力および入力バス信号があ ります。

表 6-2、 表 6-3、 表 6-4 は PIPE ポートおよびその入力と出力バス信号へのマッピングが説明されています。

表 6‐1 : PIPE_PORTS バス信号

pcie_top への方向(入力/出力)

サイズ I/O バス信号

入力 [3:0] common_commands_in

入力 [24:0] pipe_rx_0_sigs

入力 [24:0] pipe_rx_1_sigs

入力 [24:0] pipe_rx_2_sigs

入力 [24:0] pipe_rx_3_sigs

入力 [24:0] pipe_rx_4_sigs

入力 [24:0] pipe_rx_5_sigs

入力 [24:0] pipe_rx_6_sigs

入力 [24:0] pipe_rx_7_sigs

出力 [11:0] common_commands_out

出力 [22:0] pipe_tx_0_sigs

出力 [22:0] pipe_tx_1_sigs

出力 [22:0] pipe_tx_2_sigs

出力 [22:0] pipe_tx_3_sigs

出力 [22:0] pipe_tx_4_sigs

出力 [22:0] pipe_tx_5_sigs

出力 [22:0] pipe_tx_6_sigs

出力 [22:0] pipe_tx_7_sigs

表 6‐2 :制御およびステータス ポートのマッピング

入力および出力バス信号 ポート

common_commands_in[0] pipe_clk

common_commands_in[0] user_clk

common_commands_in[0] user_clk2

common_commands_in[0] phy_rdy_n

common_commands_out[5:0] pl_ltssm_state

common_commands_out[6] pipe_tx_rcvr_det_gt

common_commands_out[7] pipe_tx_rate_gt

Page 224: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 224

PG054 2013 年 12 月 18 日

第 6 章 : シミ ュレーシ ョ ン

注記 : レーン 1 から 7 は同様の信号定義を使用します。

注記 : レーン 1 から 7 は同様の信号定義を使用します。

common_commands_out[8] pipe_tx_deemph_gt

common_commands_out[11:9] pipe_tx_margin_gt

表 6‐3 : TX 信号マッピング

入力および出力バス信号 ポート

pipe_tx_0_sigs[15:0] pipe_tx0_data_gt

pipe_tx_0_sigs[17:16] pipe_tx0_char_is_k_gt

pipe_tx_0_sigs[18] pipe_tx0_polarity_gt

pipe_tx_0_sigs[19] pipe_tx0_compliance_gt

pipe_tx_0_sigs[20] pipe_tx0_elec_idle_gt

pipe_tx_0_sigs[22:21] pipe_tx0_powerdown_gt

表 6‐4 : RX 信号マッピング

入力および出力バス信号 ポート

pipe_rx_0_sigs[15:0] pipe_rx0_data_gt

pipe_rx_0_sigs[17:16] pipe_rx0_char_is_k_gt

pipe_rx_0_sigs[18] pipe_rx0_valid_gt

pipe_rx_0_sigs[10] pipe_rx0_chanisaligned_gt

pipe_rx_0_sigs[22:20] pipe_rx0_status_gt

pipe_rx_0_sigs[23] pipe_rx0_phy_status_gt

pipe_rx_0_sigs[24] pipe_rx0_elec_idle_gt

表 6‐2 :制御およびステータス ポートのマッピング

入力および出力バス信号 ポート

Page 225: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 225

PG054 2013 年 12 月 18 日

第 7章

合成およびインプリ メンテーシ ョ ン本章には、 Vivado® Design Suite 環境の合成およびインプリ メンテーシ ョ ンに関する情報が含まれます。

• 合成およびインプ リ メンテーシ ョ ンの詳細については、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 16] を参照してください。

• サンプル デザインの合成およびインプリ メンテーシ ョ ンに関する詳細は、 第 8 章の 「サンプル デザインの合成およびインプ リ メンテーシ ョ ン」 を参照してください。

Page 226: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 226

PG054 2013 年 12 月 18 日

第 8章

サンプル デザインの詳細このセクシ ョ ンでは、7 Series FPGAs Integrated Block for PCI Express® のサンプル デザインの概要と、コアの生成手順について説明します。

統合ブロック  エンドポイン ト  コンフ ィギュレーシ ョ ンの概要

統合ブロッ クのエンドポイン ト コンフ ィギュレーシ ョ ンのサンプル シ ミ ュレーシ ョ ン デザインは、 次の 2 つのものから構成されています。

• ルート ポート モデル :PCI Express のバス ト ラフ ィ ッ クを生成、 使用、 チェッ クするテス トベンチです。

• PIO (Programmed Input/Output) サンプル デザイン :PCI Express のコンプリーター アプリ ケーシ ョ ンです。 PIO サンプル デザインは、そのメモ リ空間への読み出しおよび書き込み要求に応答し、ハード ウェアでのテス ト用に合成するこ とができます。

シミ ュレーシ ョ ン  デザインの概要

シ ミ ュレーシ ョ ン デザインの場合、 ト ランザクシ ョ ンはルート ポート モデルからコア (エンドポイン ト と してコンフ ィギュレーシ ョ ン) に送信され、 PIO サンプル デザインによって処理されます。 図 8-1 は、 統合ブロ ッ ク コアで提供されているシ ミ ュレーシ ョ ン デザインについて説明しています。ルート ポート モデルの詳細は、Chapter 9の 「RootPort Model Test Bench for Endpoint」 を参照してください。

Page 227: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 227

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

インプリ メンテーシ ョ ン  デザインの概要

図 8-2 にあるよ うに、 インプ リ メンテーシ ョ ン デザインは、読み出しおよび書き込みト ランザクシ ョ ンを受理し、要求に応答できる、 簡単な PIO サンプル デザインから構成されています。 このサンプルのソース コードはコアと と もに提供されています。 PIO サンプル デザインのシ ミ ュレーシ ョ ンについては、 Chapter 9 「Example Design and ModelTest Bench for Endpoint Configuration」 を参照してください。

X-Ref Target - Figure 8-1

図 8‐1 : シミ ュレーシ ョ ン  サンプル デザインのブロック図

dsport

PCI Express Fabric

Endpoint Corefor PCI Express

PIO Design

usrapp_txusrapp_rx

Endpoint DUT for PCI Express

usrapp_comOutputLogs

TestProgram

Root PortModel TPI forPCI Express

Page 228: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 228

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

サンプル デザインのエレメン ト

PIO サンプル デザインには次のエレ メン トがあ り ます。

• コア ラ ッパー

• サンプルの Verilog HDL または VHDL ラ ッパー (コアおよびサンプル デザインをインスタンシエートする )

• サンプル デザインをシ ミ ュレートするためのカスタマイズ可能なデモ用テス トベンチ

このサンプル デザインは、 次のシ ミ ュレータを使用して Vivado® Design Suite でテス トおよび検証されています。

• Mentor Graphics Questa® SIM

• Vivado シ ミ ュレータ

• Cadence IES

• Synopsys VCS

サポート されているツールのバージ ョ ンについては、 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、 インス トールおよびライセンス』 (3)を参照してください。

X-Ref Target - Figure 8-2

図 8‐2 : インプリ メンテーシ ョ ン  サンプル デザインのブロック図

7 Series FPGAs Integrated Block for PCI Express (Configured as Endpoint)

EP_TX EP_RX

ep_mem0

ep_mem1

ep_mem2

ep_mem3

EP_MEM

PIO_EP

PIO

PIO_TO_CTRL

Page 229: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 229

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

PIO : エンドポイン ト  サンプル デザイン

通常、 PIO (Programmed Input/Output) ト ランザクシ ョ ンは PCI Express® システムのホス ト CPU が PCI Express ロジック内の MMIO (Memory Mapped Input Output) および CMIO (Configuration Mapped Input Output) アドレスにアクセスするために使用します。 PCI Express のエンドポイン トは、 メモ リおよび I/O 書き込みト ランザクシ ョ ンを受理し、 またメモ リおよび I/O 読み出し ト ランザクシ ョ ンに対してはデータ付きの完了で応答します。

PIO サンプル デザイン (PIO デザイン) は、 Vivado 統合設計環境 (IDE) によって生成されるエンドポイン ト コンフ ィギュレーシ ョ ンのコアに含まれています。

ヒン ト : 検証済みの実際のデザインである PIO デザインを使用し、システム ボードを起動し、ボードのリ ンクおよび機能を検証するこ とができます。

注記 : PIO デザイン ポート モデルは、7 Series FPGAs Integrated Block for PCI Express、Endpoint Block Plus for PCI Express、Endpoint PIPE for PCI Express ソ リ ューシ ョ ンの両方にあ り ます。 本章では、 通常、 Endpoint for PCI Express (またはEndpoint for PCIe®) を使用したソ リ ューシ ョ ンすべてが説明されています。

システムの概要

PIO デザインは、 簡単な、 ターゲッ ト専用のアプ リ ケーシ ョ ンで、 PCIe コア用エンドポイン トの ト ランザクシ ョ ン(AXI4-Stream) インターフェイス と交信します。 またこれを手掛かりにしてカスタマー自身がデザインを構築できるよ うに提供されています。 次の機能が含まれています。

• 内部ザイ リ ンクス FPGA ブロッ ク RAM を使用した、 ト ランザクシ ョ ンごとに 2KB のターゲッ ト領域が 4つ。ターゲッ ト空間の合成は 8192 バイ トにな り ます。

• 完了 TLP のサポートのある 32 ビッ ト /64 ビッ トのアドレス メモ リ空間および I/O 空間への、 ペイロードが 1DWORD の読み出しおよび書き込み PCI Express ト ランザクシ ョ ンをサポート。

• TLP デスティネーシ ョ ンの基本アドレス レジスタをそれぞれ差別化するため、 コアの (rx_bar_hit[7:0])m_axis_rx_tuser[9:2] 信号を使用。

• 32 ビッ ト 、 64 ビッ ト 、 128 ビッ トの AXI4-Stream インターフェイス用に個別に 適化されたインプリ メンテーシ ョ ンを提供。

図 8-3 は、ルート コンプレッ クス、PCI Express スイ ッチ デバイス、PCIe 用エンドポイン トから成る PCI Express システム アーキテクチャ コンポーネン トについて説明しています。 PIO 操作は、 ルート コンプレッ クス (CPU レジスタ )からエンドポイン トへと下方向 (ダウンス ト リーム) にデータを移動、 またエンドポイン トからルート コンプレッ クス (CPU レジスタ ) へと上方向 (アップス ト リーム) にデータを移動させます。 どちらの場合も、 データを移動させるPCI Express プロ ト コル要求は、 ホス ト CPU が開始します。

Page 230: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 230

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

CPU が MMIO アドレス コマンドに格納レジスタを出力する と、データはダウンス ト リームに移動します。ルート コンプレッ クスは通常、 適切な MMIO ロケーシ ョ ン アドレス、 バイ ト イネーブル、 およびレジスタの内容で、 メモ リ書き込み TLP を生成します。 エンドポイン ト がこのメモ リ書き込み TLP を受信し、 対応するローカル レジスタをアップデートする と、 ト ランザクシ ョ ンは終了します。

CPU が MMIO アドレス コマンドからロード レジスタを出力する と、データはアップス ト リームに移動します。ルート コンプレッ クスは通常、適切な MMIO ロケーシ ョ ン アドレスおよびバイ ト イネーブルのある メモ リ読み出し TLPを生成します。 エンドポイン トはこのメモ リ読み出し TLP を受信した後に、 データ TLP のある完了を生成します。この完了はルート コンプレッ クスに送信され、ペイロードがターゲッ ト レジスタに読み込まれる と、ト ランザクシ ョンは完了です。

PIO ハードウェア

PIO デザインは、 PCIe の裏で FPGA ブロ ッ ク RAM に 8192 バイ トのターゲッ ト空間をインプ リ メン ト します。 この32 ビッ トのターゲッ ト空間は 1 DWORD の I/O 読み出し、 I/O 書き込み、 メモ リ読み出し 64、 メモ リ書き込み 64、 メモ リ読み出し 32、 およびメモ リ書き込み 32 の TLP を介してアクセス可能です。

有効なメモ リ読み出し 32 TLP、 メモ リ読み出し 64 TLP、 またはコアによ り出力された I/O 読み出し要求に応答して、1 DWORD のペイロードのある完了を PIO デザインは生成します。 さ らに、 PIO デザインは、 I/O 書き込み TLP 要求がう ま くいったこ とを示すステータス情報と と もに、 データなしの完了を返します。

PIO デザインは FPGA ブロ ッ ク RAM 空間のターゲッ ト アドレスにペイロードをアップデート して、 1 DWORD のペイロードのある メモ リ または I/O の書き込み TLP を処理します。

基本アドレス レジスタのサポート

PIO デザインでは 4 つのターゲッ ト空間がサポート されていて、それぞれ、別の基本アドレス レジスタ (BAR) によって表されている 2KB のメモ リ ブロ ッ クから構成されています。 デフォルトのパラ メーターを使用し、 次のものから成る PIO デザインと機能するよ うにコンフ ィギュレーシ ョ ンされたコアが Vivado IDE によって生成されます。

X-Ref Target - Figure 8-3

図 8‐3 : PCI Express システムの概要

MainMemory

PCI_BUS_X

PCI_BUS_1

PCI_BUS_0

CPU

MemoryController

Device

PCIePort

PCIeSwitch

PCIeEndpoint

PCIeRoot Complex

Page 231: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 231

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

• 64 ビッ トのアドレス指定可能なメモ リ空間 BAR 1 つ

• 32 ビッ トのアドレス指定可能なメモ リ空間 BAR 1 つ

PIO デザインで使用されるデフォルト パラ メーターは変更できますが、場合によっては、使用されているシステム次第で、バッ クエンドのユーザー アプリ ケーシ ョ ンを変更する必要がある可能性もあ り ます。デフォルト パラ メーターの変更およびその PIO デザインへの影響については、 「デフォルトの BAR 設定の変更」 を参照してください。

BAR で表されているこの 4 つの 2KB のアドレス空間はそれぞれ PIO デザインの 4 つの 2KB のアドレス領域の 1 つに対応しています。2KB の領域はそれぞれ 2KB のデュアル ポートブロ ッ ク RAM を使用してインプ リ メ ン ト されます。 コアが ト ランザクシ ョ ンを受信する と、 アド レスを解読し、 4つの領域のうちどれがターゲッ トになっているのかを判別します。コアは TLP を PIO デザインに出力し、表 8-1 に定義されているよ うに、 (rx_bar_hit[7:0]) m_axis_rx_tuser[9:2] の該当ビッ ト をアサート します。

デフォルトの BAR 設定の変更

選択されている BAR 設定に一致するよ うにカスタマイズされた Verilog または VHDL ソースを作成するため、 パラメーターを変更し、 PIO デザインを使用し続けるこ とができます。 しかし、 PIO デザインのパラ メーターは、 コアのパラ メーターよ り も限られているため、デフォルトのパラ メーターを変更する場合は、次のサンプル デザインの制限事項を考慮してください。

• サンプル デザインでは、 I/O 空間 BAR が 1 つ、 32 ビッ トのメモ リ空間が 1 つ (拡張 ROM 空間には使用できない)、 64 ビッ トのメモ リ空間が 1 つサポート されています。 この制限数を越える と、 任意タイプの 初の空間だけがアクティブになり、 残りの空間にアクセスがあっても完了しません。

• 各空間は 2KB のメモリでインプリ メン ト されます。対応する BAR がよ り幅の広い開口部にコンフ ィギュレートされる と、 この 2KB 制限を越えたアクセスは折り返し、 この 2KB メモ リ空間はオーバーラ ップします。

• PIO デザインでは、 I/O 空間 BAR が 1 つサポート されています。 これはデフォルトではディ スエーブルになっていますが、 必要であれば変更するこ とができます。

ヒン ト : PIO デザインには制限事項があ り ますが、ユーザーのニーズに合わせてサンプル デザインを変更できるよ う、Verilog または VHDL のソース コードが提供されています。

TLP データ  フロー

このセクシ ョ ンでは、 PIO デザインで処理される TLP のデータ フローについて説明します。 PIO デザインのサブブロ ッ ク内のインターフェイス信号についての詳細は、 235 ページの 「受信パス」 および236 ページの 「送信パス」 を参照してください。

PIO デザインは、ペイロードが 1 DWORD のメモ リ読み出しおよび書き込み TLP および I/O 読み出しおよび書き込みTLP を処理します。1 DWORD よ り も長いメモ リ読み出しまたはメモ リ書き込み TLP は PIO デザインでは正し く処理されませんが、 コアがこれらの TLP を受理し、 PIO デザインに渡します。 PIO デザインはコアから 1 DWORD よ り も長い TLP を受信しますが、 破棄します。 それに対応する完了は生成されません。

表 8‐1 : TLP ト ラフ ィ ック  タイプ

ブロック  RAM TLP ト ランザクシ ョ ン  タイプ デフォルト  BAR rx_bar_hit[7:0]

ep_mem0 I/O TLP ト ランザクシ ョ ン ディ スエーブル ディ スエーブル

ep_mem1 32 ビッ ト のアド レス メモ リ TLP ト ランザクシ ョ ン

0 0000_0001b

ep_mem2 64 ビッ ト のアド レス メモ リ TLP ト ランザクシ ョ ン

ディ スエーブル ディ スエーブル

ep_mem3 EROM 向けの 32 ビ ッ ト のア ド レ ス メ モ リTLP ト ランザクシ ョ ン

拡張 ROM 0100_0000b

Page 232: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 232

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

メモリおよび I/O 書き込み TLP の処理

PCIe 用エンドポイン トがメモ リ または I/O の書き込み TLP を受信する と、 TLP デスティネーシ ョ ン アドレスおよびト ランザクシ ョ ン タイプが、 コアの BAR の値と比較されます。 TLP がこの比較チェッ クをパスする と、 コアが PIOデザインの受信 AXI4-Stream インターフェイスへ TLP を渡します。 PIO デザインは、 メモ リ書き込みと I/O TLP 書き込みを異なる方法で処理します。 I/O 書き込みには、 データなしの完了 (clp) を生成して PIO デザインは応答します。これは PCI Express 仕様で規定されています。

また、 パケッ トの開始、 パケッ トの終了、 準備完了のハンドシェーク信号と と もに、 受信 AXI4-Stream インターフェイ スは、 入力される TLP と 一致し たデステ ィ ネーシ ョ ン BAR を PIO デザイ ンに知らせるため、 該当する(rx_bar_hit[7:0]) m_axis_rx_tuser[9:2] 信号をアサート します。 それが受信される と、 PIO デザインの RX ステート マシンが、 入力してく る書き込み TLP を処理し、 また TLP データ と関連アドレス フ ィールドを抽出して、 PIO デザインの内部ブロ ッ ク RAM の書き込み要求コン ト ローラーへ、 これを渡すこ とができるよ うにします。

アサート された rx_bar_hit[7:0] 信号に基づいて、 RX ステート マシンが、 内部書き込みコン ト ローラーに、 ライ ト イネーブル要求をアサートする前に使用する 2KB ブロ ッ ク RAM を知らせます。 たとえば、 BAR0 をターゲッ トにするコアがメモ リ書き込み 32 要求を受信した場合、コアは TLP を PIO デザインに渡して rx_bar_hit[0] をアサート します。RX ステート マシンは、 メモ リ書き込み 32 要求 TLP から、 下位アドレス ビッ トおよびデータ フ ィールドを抽出し、内部メモ リ書き込みコン ト ローラーに対し、 ブロ ッ ク RAM への書き込み操作を開始するよ う指示します。

この例では、 rx_bar_hit[0] のアサートによ り、 PIO のメモ リ書き込みコン ト ローラーが access ep_mem1 (デフォルトでは Mem32 の 2KB を表す) にアクセスします。書き込みが FPGA のブロ ッ ク RAM に行われている間、PIO デザインのRX ステー ト マシンは m_axis_rx_tready をディ アサー トするので、 内部メモ リ書き込みコン ト ローラーがブロ ッ クRAM への書き込み操作を完了させるまで、 受信 AXI4-Stream インターフェイスが TLP の受信を停止します。 この方法で m_axis_rx_tready をディアサートするこ とは、 コアを使用したデザインすべてに対し必須というわけではあ り ません。 PIO デザインでは RX ステート マシンの制御ロジッ クを簡略化するために、 この方法が採用されています。

メモリおよび I/O 読み出し  TLP の処理

PCIe 用エンドポイン トがメモ リ または I/O の読み出し TLP を受信する と、 TLP デスティネーシ ョ ン アドレスおよびト ランザクシ ョ ン タイプが、 コアの BAR にプログラムされた値と比較されます。 TLP がこの比較チェッ クをパスする と、 コアが PIO デザインの受信 AXI4-Stream インターフェイスへ TLP を渡します。

また、 パケッ トの開始、 パケッ トの終了、 準備完了のハンドシェーク信号と と もに、 受信 AXI4-Stream インターフェイ スは、 入力される TLP と 一致し たデステ ィ ネーシ ョ ン BAR を PIO デザイ ンに知らせるため、 該当するrx_bar_hit[7:0] 信号をアサート します。 それが受信される と、 PIO デザインのステート マシンが、 入力して く る読み出し TLP を処理し、 また関連 TLP 情報を抽出して、 PIO デザインの内部ブロ ッ ク RAM の読み出し要求コン ト ローラーへこれを渡します。

アサート された rx_bar_hit[7:0] 信号に基づいて、 RX ステート マシンが、 内部読み出しコン ト ローラーに、 リード イネーブル要求をアサートする前に使用する 2KB ブロ ッ ク RAM を知らせます。たとえば、デフォルトの MEM32 BAR2をターゲッ トにするコアがメモ リ読み出し 32 要求を受信した場合、コアは TLP を PIO デザインに渡して rx_bar_hit[0]をアサート します。 RX ステート マシンはメモ リ 32 読み出し TLP から下位アドレス ビッ ト を抽出し、 内部メモ リ読み出し要求コン ト ローラーに読み出し操作を開始するよ う指示します。

この例では、 rx_bar_hit[0] のアサートによ り、 PIO のメモ リ読み出しコン ト ローラーが、 デフォルトでは 2KB のメモリ空間である Mem32 空間にアクセスします。 メモ リ書き込みと読み出し TLP の処理における大きな違いは、 メモ リまたは I/O 読み出し要求があった場合に、 受信デバイスがデータのある完了を返す必要がある という点です。

読み出しが処理されている間、 PIO デザインの RX ステート マシンは m_axis_rx_tready をディアサートするので、 内部メモ リ読み出しコン ト ローラーがブロ ッ ク RAM への読み出しアクセスを完了させ、 完了を生成するまで、 受信AXI4-Stream インターフェイスが TLP の受信を停止します。この方法で m_axis_rx_tready をディアサートするこ とは、コアを使用したデザインすべてに対し必須というわけではあ り ません。PIO デザインでは RX ステート マシンの制御ロジッ クを簡略化するために、 この方法が採用されています。

Page 233: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 233

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

PIO ファイルの構造

表 8-2 は PIO デザイン ファイルの構造を定義しています。Vivado 統合設計環境 (IDE) で配布されるすべてのファイルが必要といわけではなく、 どのコアがターゲッ トになっているかによ り ますが、 配布されないファ イルもあ り ます。PCIe 用エンドポイン ト ソ リ ューシ ョ ンには、 64 ビッ トのユーザー データパスを使用するものと、 128 ビッ ト データパスを使用するものがあ り ますが、 PIO デザインではどちらでも使用できます。 データパスの幅は、 どのコアがターゲッ トになっているかによって異なり ます。

PIO デザインのコンフ ィギュレーシ ョ ンには、 PIO_64、 PIO_128 (64 および 128 ビッ トの AXI4-Stream インターフェイス) の 3 種類があ り ます。 生成される PIO コンフ ィギュレーシ ョ ンは、 選択されているエンドポイン ト タイプ (つま り 7 series FPGAs Integrated Block)、 および PCI Express のレーン数、 インターフェイス幅によ り ます。 表 8-3 には、ユーザーの選択に基づいて生成される PIO コンフ ィギュレーシ ョ ンがま とめられています。

図 8-4 は、 PIO デザインの様々なコンポーネン ト を示しています。 PIO デザインは、 TX エンジン、 RX エンジン、 メモ リ アクセス コン ト ローラー、パワーマネージメン ト ターンオフ コン ト ローラーという 4 つの主なパーツに分かれています。

表 8‐2 : PIO デザイン  ファイルの構造

ファイル 説明

pcie_app_7vx.v 上位デザイン ラ ッパー

PIO.v PIO デザイン ラ ッパー

PIO_EP.v PIO アプリ ケーシ ョ ン モジュール

PIO_TO_CTRL.v PIO ターンオフ コン ト ローラー モジュール

PIO_RX_ENGINE.v 64 ビッ ト /128 ビッ トの受信エンジン

PIO_TX_ENGINE.v 64 ビッ ト /128 ビッ トの送信エンジン

PIO_EP_MEM_ACCESS.v エンドポイン ト メモ リ アクセス モジュール

PIO_EP_MEM.v エンドポイン ト メモ リ

表 8‐3 : PIO コンフ ィギュレーシ ョ ン

コア X1 x2 x4 x8

7 Series FPGAs Integrated Block PIO_64 PIO_64 PIO_64、PIO_128

PIO_64、PIO_128

Page 234: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 234

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

PIO アプリケーシ ョ ン

図 8-5 および図 8-6 は、128 ビッ トおよび 64 ビッ トの PIO アプリ ケーシ ョ ンの 上位のコネクティビティをそれぞれ説明しています。 データパス幅 (32、 64、 または 128 ビッ ト ) は、 使用している PCIe 用エンドポイン トによって異なり ます。 PIO_EP モジュールには、 PIO FPGA ブロ ッ ク RAM モジュールと、 送信および受信のエンジンが含まれています。 PIO_TO_CTRL モジュールはエンドポイン ト ターンオフ コン ト ローラー ユニッ ト で、 ホス ト CPU からのパワー ターンオフ メ ッセージに承認応答します。

PIO_EP モジュールはエンドポイン トの AXI4-Stream およびコンフ ィギュレーシ ョ ン (cfg) インターフェイスに接続します。

X-Ref Target - Figure 8-4

図 8‐4 : PIO デザイン コンポーネン ト

7 Series FPGAs Integrated Block for PCI Express Core (Configured as an Endpoint)

PIO

PIO_TO_CTRL

PIO_EP

EP_TX EP_RX

EP_MEM

ep_mem0

ep_mem1

ep_mem2

ep_mem3

X-Ref Target - Figure 8-5

図 8‐5 : PIO 128 ビッ ト  アプリケーシ ョ ン

Page 235: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 235

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

受信パス

図 8-7 は PIO_RX_ENGINE モジュールを説明しています。モジュールのデータパスは、使用しているコアのデータパス と一致する必要があ り ます。これらのモジュールは、PCIe 用エンドポイン トの受信インターフェイス と接続します。

PIO_RX_ENGINE モジュールは入力される読み出しおよび書き込み TLP を受信 ・ 解析します。

X-Ref Target - Figure 8-6

図 8‐6 : PIO 64 ビッ ト  アプリケーシ ョ ン

X-Ref Target - Figure 8-7

図 8‐7 : RX エンジン  

UG477_aA_05_020311

PIO_RX_ENGINE

EP_RX

clk

rst_n

m_axis_rx_tdata

m_axis_rx_tstrb

m_axis_rx_tlast

m_axis_rx_tvalid

m_axis_rx_tuser

compl_done

wr_busy

m_axis_rx_tready

req_compl

req_td

requ_ep

wr_en

req_tc[2:0]

req_attr[1:0]

req_len[9:0]

req_rid[15:0]

req_tag[7:0]

req_be[7:0]

req_addr[12:0]

wr_addr[10:0]

wr_be[7:0]

wr_data[31:0]

Page 236: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 236

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

RX エンジンは、 1 DWORD 32 ビッ トおよび 1 DWORD 64 ビッ トのアドレス指定可能なメモ リ と I/O 読み出しの要求を解析します。 RX ステート マシンは、 表 8-4 で定義されているよ うに、 TLP から必要な情報を抽出し、 メモ リ コント ローラーに渡します。

RX エンジンは、 1 DWORD 32 ビッ トおよび 1 DWORD 64 ビッ トのアドレス指定可能なメモ リ と I/O 書き込みの要求を解析します。 RX ステート マシンは、 表 8-5 で定義されているよ うに、 TLP から必要な情報を抽出し、 メモ リ コント ローラーに渡します。

アプ リ ケーシ ョ ンが現在の TLP を処理している と きに、読み出しデータパスはコアからの新たな ト ランザクシ ョ ンの受信を停止します。 これは m_axis_rx_tready をディアサート して実行します。 処理中のメモ リ または I/O 書き込みのト ランザクシ ョ ンは wr_busy_i がディアサート される と完了したと見なされますが、 処理中のメモ リ または I/O 読み出しの ト ランザクシ ョ ンの場合は、 次の TLP を受信する前に compl_done_i 入力がアサート されるまでモジュールは待機します。

送信パス

図 8-8 は PIO_TX_ENGINE モジュールを説明しています。モジュールのデータパスは、使用しているコアのデータパス と一致する必要があ り ます。 これらのモジュールはコアの送信インターフェイス と接続します。

表 8‐4 : RX エンジン : 読み出し出力

ポート   説明

req_compl 完了要求

req_compl_wd データ付きの完了要求

req_td TLP ダイジェス ト ビッ トの要求

req_ep エラー ポイズン ビッ トの要求

req_tc[2:0] ト ラフ ィ ッ ク ク ラスの要求

req_attr[1:0] 属性の要求

req_len[9:0] 長さの要求

req_rid[15:0] 要求者 ID の要求

req_tag[7:0] タグの要求

req_be[7:0] バイ ト イネーブルの要求

req_addr[12:0] アドレスの要求

表 8‐5 : RX エンジン : 書き込み出力

ポート   説明

wr_en 書き込みの受信

wr_addr[10:0] 書き込みアドレス

wr_be[7:0] ライ ト バイ ト イネーブル

wr_data[31:0] データを書き込む

Page 237: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 237

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

PIO_TX_ENGINE モジュールは受信したメモ リおよび I/O 読み出し TLP に対し完了を生成します。 PIO デザインは出力用の読み出しまたは書き込み要求は生成しません。しかし、デザインをカスタマイズしてこの機能は追加できます。

PIO_TX_ENGINE モジュールは、 1 DWORD 32 ビッ トおよび 1 DWORD 64 ビッ トのアドレス指定可能なメモ リ と I/O読み出しの要求に対し、 完了を生成します。 完了の生成に必要な情報は、 表 8-6 にあるよ うに、 TX エンジンに渡されます。

X-Ref Target - Figure 8-8

図 8‐8 : TX エンジン 

表 8‐6 : TX エンジン入力

ポート   説明

req_compl 完了要求 (アクティブ High)

req_td TLP ダイジェス ト ビッ トの要求

req_ep エラー ポイズン ビッ トの要求

req_tc[2:0] ト ラフ ィ ッ ク ク ラスの要求

req_attr[1:0] 属性の要求

req_len[9:0] 長さの要求

req_rid[15:0] 要求者 ID の要求

req_tag[7:0] タグの要求

req_be[7:0] バイ ト イネーブルの要求

req_addr[12:0] アドレスの要求

clk

rst_n

s_axis_rx_tready

requ_compl

req_td

req_ep

cfg_bus_mstr_enable

req_tc[2:0]

req_attr[1:0]

req_len[9:0]

req_rid[15:0]

req_tag[7:0]

req_be[7:0]

req_addr[12:0]

rd_data[31:0]

completer_id[15:0]

s_axis_tx_tdata

s_axis_tx_tstrb

s_axis_tx_tlast

s_axis_tx_tvalid

tx_src_dsc

compl_done

rd_addr[10:0]

rd_be[3:0]

PIO_TX_ENGINE

EP_TX

Page 238: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 238

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

完了が送信された後、 TX エンジンは compl_done_i 出力をアサート し、 RX エンジンに対し、 m_axis_rx_tready がアサート可能で、 TLP の受信を続行できるこ とを示します。

エンドポイン ト  メモリ

図 8-9 は PIO_EP_MEM_ACCESS モジュールを説明しています。このモジュールにはエンドポイン ト メモ リ空間があり ます。

PIO_EP_MEM_ACCESS モジュールは、 メモ リおよび I/O 書き込み TLP から メモ リへデータを書き込み、 またメモ リおよび I/O 読み出し TLP に応答してメモリからデータを読み出します。

表 8-7 に定義されているよ うに、 RX エンジンから k受信した情報に基づいて、 EP_MEM モジュールは 1 DWORD の32 ビッ トおよび 64 ビッ ト アドレス指定可能なメモ リおよび I/O 書き込み要求を処理します。メモ リ コン ト ローラーがこの書き込みを処理している間、 ビジー状態であるこ とを示すため、 コン ト ローラーは wr_busy_o 出力をアサートします。

表 8-8 に定義されている入力に基づいて、 1 DWORD の 32 ビッ トおよび 64 ビッ トのメモ リおよび I/O 読み出し要求の両方が処理されます。 読み出し要求が処理された後、 データは rd_data_o[31:0] に戻されます。

X-Ref Target - Figure 8-9

図 8‐9 : EP メモリ  アクセス

表 8‐7 : EP メモリ  : 書き込み入力

ポート   説明

wr_en_i 書き込みの受信

wr_addr_i[10:0] 書き込みアドレス

wr_be_i[7:0] ライ ト バイ ト イネーブル

wr_data_i[31:0] データを書き込む

表 8‐8 : EP メモリ  : 読み出し入力 

ポート   説明

req_be_i[7:0] バイ ト イネーブルの要求

req_addr_i[31:0] アドレスの要求

clk

rst_n

wr_en_i

rd_addr_i[10:0]

rd_be_i[3:0]

wr_addr_i[10:0]

wr_be_i[7:0]

wr_data_i[31:0]

wr_busy_o

rd_data_o[31:0]

PIO_EP_MEM_ACCESS

EP_MEM

Page 239: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 239

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

PIO 操作

PIO 読み出し ト ランザクシ ョ ン

図 8-10 は PIO デザインへの連続したメモリ読み出し要求を説明しています。 受信エンジンは、 初の TLP が完全に受信される とすぐに m_axis_rx_tready をディアサート します。送信エンジンによ り compl_done_o がアサート された後にのみ、 その次の読み出し ト ランザクシ ョ ンは受理されますが、 これは 初の要求の完了がきちんと送信されたこ とを示します。

PIO 書き込みト ランザクシ ョ ン

図 8-11 は PIO デザインへの連続したメモ リ書き込みを説明しています。 メモ リ アクセス ユニッ トによ り wr_busy_oがディアサート された後にのみ、 その次の書き込みト ランザクシ ョ ンは受理されますが、 これは 初の要求に関連付けられているデータがメモ リの空き部分にきちんと書き込まれたこ とを示します。

X-Ref Target - Figure 8-10

図 8‐10 :連続した読み出し ト ランザクシ ョ ン

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tkeep[7:0]

m_axis_rx_tlast

m_axis_rx_tvalid

m_axis_rx_tready

(rx_bar_hit[7:0])m_axis_rx_tuser[9:2]

compl_done_o

s_axis_tx_tdata[63:0]

s_axis_tx_tkeep[7:0]

s_axis_tx_tlast

s_axis_tx_tvalid

(src_dsc)s_axis_tx_tuser[3]

s_axis_tx_tready

H1H0 --H2 H1H0 --H3

FFh 0Fh FFh 0Fh FFh

00h 01h 00h 01h 00h

H1H0 D0H2

FF

TLP1 TLP2

Page 240: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 240

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

デバイスの使用量

表 8-9 には、 PIO デザインで使用可能な FPGA リ ソースの数がまとめられています。

まとめ

PIO デザインは、 PCIe 用エンドポイン トおよびそのインターフェイス機能を実際に確認するためのデザインです。 さらに、 このデザインを利用し、エンド ユーザーのエンドポイン ト アド イン カード FPGA ハードウェアを PCI Expressプラ ッ ト フォームですばやく起動させたり、基本的な検証を行う こ とができます。 また、標準のオペレーティング システム ユーティ リ ティ を活用して、 リ ファレンス デザインのターゲッ ト空間に読み出しおよび書き込みト ランザクシ ョ ンを生成するこ とができます。

X-Ref Target - Figure 8-11

図 8‐11 :連続した書き込みト ランザクシ ョ ン

user_clk_out

m_axis_rx_tdata[63:0]

m_axis_rx_tkeep[7:0]

m_axis_rx_tlast

m_axis_rx_tvalid

m_axis_rx_tready

(rx_bar_hit[7:0])m_axis_rx_tuser[9:2]

wr_busy_o

compl_done_o

s_axis_tx_tdata[63:0]

s_axis_tx_tkeep[7:0]

s_axis_tx_tlast

s_axis_tx_tvalid

(src_dsc)s_axis_tx_tuser[3]

s_axis_tx_tready

H1H0 D0H2 H1H0 D0H3

FFh FFh FFh FFh FFh

00h 01h 00h 01h 00h

TLP1 TLP2

表 8‐9 : PIO デザインで使用可能な FPGA リソース数

リソース 使用率

ルッ クアップ テーブル 300

フ リ ップフロ ップ 500

ブロ ッ ク RAM 4

Page 241: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 241

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

コンフ ィギュレーター サンプル デザイン

Vivado IDE で生成されるルート ポート コンフ ィギュレーシ ョ ンの 7 Series FPGAs Integrated Block for PCI Express® に含まれている、 コンフ ィギュレーター サンプル デザインは合成可能の軽いデザインです。 これは、 エンドポイン トとのアプ リ ケーシ ョ ン レベルの ト ランザクシ ョ ンを開始するため、 ルート ポート コンフ ィギュレーシ ョ ンの統合ブロ ッ クに必要な 小限のセッ ト アップを説明するためのものです。

システムの概要

PCI Express デバイスの場合、 システムのデバイスが相互にアプリ ケーシ ョ ン レベルの通信を開始するこ とができるよ うになる前に、パワーオンの後セッ ト アップが必要です。PCI Express リ ンクで接続されている 低 2 つのデバイスのコンフ ィギュレーシ ョ ン空間を初期化し、 列挙しておく必要があ り ます。

ルー ト ポー トは、 エン ドポイン トやスイ ッチなどのダウンス ト リーム デバイスのコンフ ィギュレーシ ョ ン空間をセッ ト アップするため、 これらのデバイスにコンフ ィギュレーシ ョ ン読み出し (CfgRd) と書き込み (CfgWr) の TLP を送信して、 PCI Express 列挙およびコンフ ィギュレーシ ョ ンを行います。 このプロセスが完了する と、 メモ リ読み出し(MemRd TLPs) や書き込み (MemWr TLPs) などの高位操作が PCI Express システム内で実行可能になり ます。

こ こで説明するコンフ ィギュレーター サンプル デザインは、接続されている 1 つの PCI Express エンドポイン トのコンフ ィギュレーシ ョ ン空間を列挙しコンフ ィギュレート し、またアプリ ケーシ ョ ン別のインタラ クシ ョ ンが発生するのに必要な、 コンフ ィギュレーシ ョ ン ト ランザクシ ョ ンを実行します。

コンフ ィギュレーター サンプル デザイン  ハードウェア

コンフ ィギュレーター サンプル デザインには次の 4 つの高位ブロッ クがあ り ます。

• ルート ポート : ルート ポート コンフ ィギュレーシ ョ ンの 7 series FPGA 統合ブロッ クです。

• コンフ ィギュレーシ ョ ン ブロッ ク : ルート ポートに接続されている PCI Express エンドポイン ト デバイスのコンフ ィギュレーシ ョ ン空間と対話する論理ブロ ッ クです。

• コンフ ィギュレーター ROM :読み出し専用メモ リで、 こ こからコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンがコンフ ィギュレーター ブロ ッ クへ送信されます。

• PIO マスター :データ パケッ ト を交信し、 受信データの有効性をチェッ ク して、 エンドポイン トに接続されているユーザー ロジッ ク と対話する論理ブロッ クです。 データ パケッ トは 1 DWORD に制限されており、 CPU で生成される ト ラフ ィ ッ ク タイプを表します。

注記 : コンフ ィギュレーター ブロッ ク、コンフ ィギュレーター ROM、およびルート ポートは、コンフ ィギュレーターラ ッパーと呼ばれるラ ッパー ファイル内の RTL コードに論理的にまとめられています。

配布された状態のコンフ ィギュレーター サンプル デザインは、 ザイ リ ンクス エンドポイン ト コアに含まれているPIO スレーブ サンプルと使用するよ うに設計されており、Chapter 9 「Example Design and Model Test Bench for EndpointConfiguration」 にその詳細が説明されています。PIO マスターは簡単な起動やデバッグ用に便利で、コンフ ィギュレーター ラ ッパーとのインタラ クシ ョ ンを確認するためのものです。 コンフ ィギュレーター サンプル デザインは、 ほかのエンドポイン ト を使用するよ うに変更可能です。

図 8-12 はコンフ ィギュレーター サンプル デザインのさまざまなコンポーネン ト を説明しています。

Page 242: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 242

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

図 8-13 はシステム全体でブロ ッ クがどのよ うに接続されているかを示しています。

X-Ref Target - Figure 8-12

図 8‐12 : コンフ ィギュレーター サンプル デザイン  コンポーネン ト

ConfiguratorPIO Master

DataChecker

Controller

PacketGenerator

Controller

CompletionDecoder

PacketGenerator

5.0 Gb/s(Gen2)Enabler

TX Mux

7 Series FPGAsIntegrated Blockfor PCI Express(Configured as

Root Port)

Page 243: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 243

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

コンフ ィギュレーシ ョ ン  ブロック

コンフ ィギュレーター ブロ ッ クは CfgRd と CfgWr TLP を生成し、これをルート ポート コンフ ィギュレーシ ョ ンの統合ブロ ッ クの AXI4-Stream インターフェイスに送信します。 コンフ ィギュレーター ブロ ッ クが生成する TLP は コンフ ィギュレーター ROM の内容によって決ま り ます。

生成されるコンフ ィギュレーシ ョ ン ト ラフ ィ ッ クは、システム要件に合致するよ うに、ユーザーによってあらかじめ決定されます。コンフ ィギュレーシ ョ ン ト ラフ ィ ッ クは、コンフ ィギュレーターの一部と して合成される メモリ初期化ファイル (コンフ ィギュレーター ROM) にエンコード されています。 コンフ ィギュレーターとそれに接続されているコンフ ィギュレーター ROM は実際のエンベッ ド デザインの一部と して使用可能なよ うになっています。

コンフ ィギュレーター ブロ ッ クは コンフ ィギュレーシ ョ ン ROM ファ イルを処理して、その中で指定されている TLPを送信します。サポート されている TLP タイプは、 メ ッセージ、データのある メ ッセージ、 コンフ ィギュレーシ ョ ン書き込み (タイプ 0)、 およびコンフ ィギュレーシ ョ ン読み出し (タイプ 0) です。 コンフ ィギュレーシ ョ ン パケッ トの場合、 コンフ ィギュレーター ブロ ッ クは次の TLP を送信する前に完了が返されるのを待ちます。 完了 TLP フ ィール

X-Ref Target - Figure 8-13

図 8‐13 : コンフ ィギュレーター サンプル デザイン

PIO Master

ConfiguratorWrapper

ConfiguratorBlock

ConfiguratorROM

Integrated Root Port

PCI Express Fabric

IntegratedEndpoint

Model

PIO SlaveEndpointDesign

Configurator Example Design

AXI4-Stream Interface Pass-Through

Root PortDUT for

PCI Express

AXI4-Stream Interface

Page 244: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 244

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

ドが期待値に一致しない場合、 PCI Express コンフ ィギュレーシ ョ ンはエラーになり ます。 しかし、 完了 TLP のデータ フ ィールドは無視され、 チェッ ク されません。

注記 : コンフ ィギュレーター ブロッ クには完了タイムアウ トのメカニズムはなく、完了が返されない場合、 コンフ ィギュレーター ブロ ッ クは恒久的に待機状態になり ます。

コンフ ィギュレーター ブロ ッ クにはユーザーが変更できる次のパラ メーターがあ り ます。

• TCQ : デザインのすべてのレジスタによ りモデル化された Clock-to-out 遅延。

• EXTRA_PIPELINE : タイ ミ ングのため、 受信 AXI4-Stream インターフェイスで追加パイプライン段を挿入します。

• ROM_FILE : 実行するコンフ ィギュレーシ ョ ン ステップを含むファイル名。

• ROM_SIZE : データを含む ROM_FILE の行数 (送信する TLP 数の半分に等しい数)。

• REQUESTER_ID : 出力 TLP の要求者 ID フ ィールドの値。

コンフ ィギュレーター ブロ ッ ク デザインが使用されている場合、 すべての TLP ト ラフ ィ ッ クはこのブロ ッ クを通過する必要があ り ます。 ユーザー デザインは、 コアが user_lnk_up をアサートする と きコンフ ィギュレーシ ョ ン プロセスを開始するため、 start_config 入力を (1 ク ロ ッ ク サイ クル間) アサート します。 start_config に続き、 コンフ ィギュレーシ ョ ン ROM で指定されているコンフ ィギュレーシ ョ ン ステップをコンフ ィギュレーター ブロ ッ クが実行します。 コンフ ィギュレーシ ョ ン中、 コンフ ィギュレーター ブロッ クはコアの AXI4-Stream インターフェイスを制御します。 コンフ ィギュレーシ ョ ンの後、 AXI4-Stream ト ラフ ィ ッ クはすべてユーザー アプ リ ケーシ ョ ンへ、 またはユーザー アプリ ケーシ ョ ンから転送されます。 このサンプル デザインの場合は PIO マスターがユーザー アプリ ケーシ ョンです。 finished_config がアサート される と コンフ ィギュレーシ ョ ン終了とな り ます。 何らかの理由でコンフ ィギュレーシ ョ ンに問題が発生した場合は、 failed_config もアサート されます。

PCIe® v2.2 5.0Gb/s リ ンクをサポートするシステムで使用される場合、 コンフ ィギュレーター ブロ ッ クはリ ンク速度を 2.5Gb/s から 5.0Gb/s に引き上げよ う と してプロセスを開始します。 この機能は、 コンフ ィギュレーター ラ ッパーの LINK_CAP_MAX_LINK_SPEED パラ メーターの設定次第でイネーブルになり ます。

コンフ ィギュレーターは、受信 AXI4-Stream インターフェイスで受信されたデータのユーザー スロ ッ トルをサポートしません。 このため、 スロ ッ トルを制御するルート ポート入力はコンフ ィギュレーター ラ ッパーには含まれていません。 これらの信号は、 m_axis_rx_tready と rx_np_ok です。 これはコンフ ィギュレーター サンプル デザインの制限事項であ り、ルート ポート コンフ ィギュレーシ ョ ンのコアにこの制限があるわけではあ り ません。つま り、コンフ ィギュレーター サンプル デザインと インターフェイスするユーザー デザインは、ライン レートで受信データを受理する必要があ り ます。

コンフ ィギュレーター ROM

コンフ ィギュレーター ROM は、PCI Express エンドポイン ト をコンフ ィギュレーシ ョ ンするのに必要なコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンを格納します。 この ROM はコンフ ィギュレーター ブロ ッ ク と インターフェイスし、PCI Express リ ンクを介してこれらの ト ランザクシ ョ ンを送信します。

このデザインに含まれているサンプルの ROM ファ イルは、 7 Series FPGAs Integrated Endpoint Block for PCI Express および PIO サンプル デザインをコンフ ィギュレーシ ョ ンするのに必要な操作を示しています。

コンフ ィギュレーター ROM はほかのエンドポイン トおよび PCI Express システム ト ポロジ用にカスタマイズ可能です。 必要なコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンは、 ルート ポート と インターフェイスするエンドポイン トによって異なり ます。 これについては、 エンドポイン ト と と もに配布されている資料を参照してください。

ROM ファ イルは、RAM または ROM にデータをプリ ロードするための $readmemb ファンクシ ョ ンの使用方法が規定されている、Verilog 仕様 (IEEE 1364-2001) のセクシ ョ ン 17.2.8 で指定されているフォーマッ トに従います。 コ メン トは Verilog 形式のものが使用できます。

このファ イルはシ ミ ュレータまたは合成ツールによって読み込まれ、各メモ リ値はメモ リの 1 ロケーシ ョ ンと して使用されます。 桁はアンダースコア (_) を使用して区切るこ とができ、 新たにロケーシ ョ ンを指定しなくても明確にロケーシ ョ ンを指定できます。

各コンフ ィギュレーシ ョ ン ト ランザクシ ョ ンは 2 つの連続したメモ リ ロケーシ ョ ンを使用します。

Page 245: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 245

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

• 初のロケーシ ョ ンはヘッダー フ ィールドを指定します。 ヘッダー フ ィールドは偶数のアドレスにあ り ます。

• 2 番目のロケーシ ョ ンは 32 ビッ トのデータ ペイロードを指定します。(データなしの CfgRd TLP およびメ ッセージの場合は、 データ ロケーシ ョ ンは使用されませんが、 場所そのものはあ り ます)。 データ ペイロードは奇数のアドレスにあ り ます。

ヘッダーに対しては、 メ ッセージおよび CfgRd/CfgWr TLP は異なるフ ィールドを使用します。 すべての TLP に対して、 2 ビッ トで TLP タイプを指定します。 メ ッセージの場合、 メ ッセージ転送およびメ ッセージ コードは指定されます。 CfgRd/CfgWr TLP の場合、 ファンクシ ョ ン番号、 レジスタ番号、 1 番目の DWORD バイ ト イネーブルが指定されます。 特定のビッ ト レイアウ トはサンプルの ROM ファ イルに示されています。

PIO マスター

PIO マスターは、 ユーザー アプリ ケーシ ョ ン デザインがコンフ ィギュレーター ブロ ッ ク とどのよ うにインタラ ク トするかを示します。 適切なタイ ミ ングで リ ンク パートナーを起動するよ うにコンフ ィギュレーター ブロ ッ クに指示をした後、 リ ンク パートナーが起動したら、 バス ト ラフ ィ ッ クを生成 ・使用します。 PIO マスターは、 エンドポイン ト コアからの PIO スレーブ サンプル デザインに対し、PCI Express リ ンクを介して書き込みおよび読み出しを実行し、 リ ンクおよびエンドポイン トの基本操作を確認します。

ルート ポー ト が user_lnk_up をアサートするまで、 PIO マスターは待機します。 その後、 コンフ ィギュレーター ブロ ッ クに start_config をアサート します。 コンフ ィギュレーター ブロ ッ クが finished_config をアサートする と、PIO スレーブ デザインの各 BAR に対し、 PIO マスターは書き込みおよび読み出しを実行します。 リードバッ ク されたデータが書き込まれたものと一致する場合は、PIO マスターは pio_test_finished 出力をアサート します。データが一致しなかった り、 コンフ ィギュレーター ブロ ッ クがエンドポイン ト をコンフ ィギュレーシ ョ ンできない場合は、 PIO マスターは pio_test_failed 出力をアサート します。PIO マスターの操作は、pio_test_restart 入力を 1 ク ロ ッ ク サイクル間アサートするこ とで再開できます。

コンフ ィギュレーター ファイルの構造

表 8-10 はコンフ ィギュレーター サンプル デザイン ファ イルの構造を定義しています。

コンフ ィギュレーター サンプル デザインの階層は次のよ うになっています。

• xilinx_pcie_2_1_rport_7xtopdirectory

表 8‐10 :サンプル デザイン ファイルの構造

ファイル 説明

xilinx_pcie_2_1_rport_7x.v コンフ ィギュレーター サンプル デザインの 上位ラ ッパー ファ イル

cgator_wrapper.v コンフ ィギュレーターおよびルート ポートのラ ッパー

cgator.v コンフ ィギュレーターのサブブロ ッ クのラ ッパー

cgator_cpl_decoder.v 完了デコーダー

cgator_pkt_generator.v 完了 TLP ジェネレーター

cgator_tx_mux.v 送信 AXI4-Stream マルチプレクサ ロジッ ク

cgator_gen2_enabler.v 5.0Gb/s のスピード変更モジュール

cgator_controller.v コンフ ィギュレーター送信エンジン

cgator_cfg_rom.data コンフ ィギュレーター ROM ファ イル

pio_master.v PIO マスターのラ ッパー

pio_master_controller.v PIO マスターの TX および RX エンジン

pio_master_checker.v 入力ユーザー アプリ ケーシ ョ ンの完了 TLP のチェッ ク

pio_master_pkt_generator.v ユーザー アプリ ケーシ ョ ン TLP の生成

Page 246: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 246

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

° cgator_wrapper

- pcie_2_1_rport_7x (ソース ディ レク ト リ内)このディ レク ト リには、 ルート ポート コンフ ィギュレーシ ョ ンのコアのソース ファ イルが含まれています。

- cgator

- cgator_cpl_decoder

- cgator_pkt_generator

- cgator_tx_mux

- cgator_gen2_enabler

- cgator_controllerこのディ レク ト リには、 <cgator_cfg_rom.data> (ROM_FILE で指定)* が含まれています。

° pio_master

- pio_master_controller

- pio_master_checker

- pio_master_pkt_generator

注記 : cgator_cfg_rom.data は ROM データ ファ イルのデフォルトのファ イル名です。 ROM_FILE パラ メーターの値を変更する と、 この名前を変更するこ とができます。

まとめ

コンフ ィギュレーター サンプル デザインは合成可能なデザインで、 7 Series FPGAs Integrated Block for PCI Express がルート ポート と してコンフ ィギュレーシ ョ ンされている場合の機能を示します。 このサンプルは Vivado IDE を介して配布され、 PCI Express の列挙およびコンフ ィギュレーシ ョ ン用のターゲッ ト と してエンドポイン ト PIO サンプルを使用します。 このデザインは、 ROM ファ イルの内容を変更して、 ほかのエンドポイン ト をターゲッ トにするよ う変更するこ とができます。

コアの生成 

Vivado IDE でデフォルト値を使用してコアを生成するには、 次の手順に従ってください。

1. Vivado IP カタログを起動します。

2. [File] → [New Project] をク リ ッ ク します。

3. プロジェク ト名およびプロジェク ト を保存するディ レク ト リ を入力し、 [Next] をク リ ッ ク します。 この例では、「project_name.cpg」 と 「project_dir」 をそれぞれ入力します。

4. New Project ウ ィザードでは、 ソース、 既存 IP、 制約を追加しないでください。

5. [Part] タブで次のオプシ ョ ンを選択します (図 8-14を参照)。

° [Family] : Virtex7

° [Device] : xc7v485t

° [Package] : ffg1157

° [Speed Grade] : -3

Page 247: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 247

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

注記 : サポート されていないシ リ コン デバイスが選択される と、 コアはグレー表示になり ます。

6. 終のプロジェク ト サマリ ページで [OK] をク リ ッ ク します。

7. Vivado IP カタログで、 [Standard Bus Interfaces] → [PCI Express] を順に展開表示させ、 [7 Series Integrated Block forPCI Express] をダブルク リ ッ ク し、 [Customize IP] ダイアログ ボッ クスを開きます。

8. [Component Name] にコアの名前を入力します。

注記 : この例では <component_name> を使用します。

X-Ref Target - Figure 8-14

図 8‐14 :デフォルトのパーツ

Page 248: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 248

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

9. [Device/Port Type] ド ロ ップダウン メニューから、 該当するデバイス /ポート タイプを選択します ([Endopoint] または [Root Port])。

10. デフォルトのパラ メーターを使用してコアを生成するには [OK] をク リ ッ ク します。

11. デザイン ソースのタブで、 XCI ファ イルを右ク リ ッ ク し、 [Generate] をク リ ッ ク します。

12. デフォルトのパラ メーターを使用してコアを生成するには [All] をク リ ッ ク します。

サンプル デザインのシミ ュレーシ ョ ン

Vivado Design Suite を使用して生成した PCI Express エン ドポイン トおよびルート ポート のサンプル デザイン プロジェク トに対し、 コアのビヘイビアーを簡単にシ ミ ュレート し確認するには、 サンプル デザインを使用します。

サポート されるシ ミ ュレータは次のとおりです。

• Vivado シ ミ ュレータ (デフォルト )

• ModelSim Questa SIM

シ ミ ュレータは、 両方のコンフ ィギュレーシ ョ ンのサンプル デザインと と もに提供されているサンプル デザインのテス トベンチおよびテス ト ケースを使用します。

デフォルトで生成されるプロジェク ト (PCI Express コア) の場合は、 シ ミ ュレーシ ョ ンを次のよ うに実行できます。

1. [Source] ウ ィンド ウで、 サンプル プロジェク ト ファ イル (.xci) を右ク リ ッ ク し、 [Open IP Example Design] を選択します。

X-Ref Target - Figure 8-15

図 8‐15 :統合ブロック  コア コンフ ィギュレーシ ョ ンのパラメーター

Page 249: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 249

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

サンプル プロジェク トが作成されます。

2. 画面左側にある Flow Navigator の [Simulation] の下にある [Run Simulation] を右ク リ ッ ク し、 [Run BehavioralSimulation] を選択します。

注記 :合成後およびインプリ メンテーシ ョ ン後のシ ミ ュレーシ ョ ン オプシ ョ ンは、PCI Express ブロ ッ クに対してはサポート されていません。

[Run Behavioral Simulation] を実行した後、 Tcl コンソールおよび [Log] ウ ィンド ウの [Simulation] タブで、 コンパイルおよびエラボレーシ ョ ンが実行されているのを確認します。

3. Tcl コンソールで 「run all」 と コマンドを入力し、 Enter キーを押します。 これで、 サンプル デザインのテス トベンチで提供されているテス ト ケースごとにシ ミ ュレーシ ョ ンが実行されます。

シ ミ ュレーシ ョ ンが完了したら、 結果は Tcl コンソールで確認できます。

シ ミ ュレーシ ョ ンを変更する場合は、 次の手順に従います。

1. Flow Navigator の [Simulation] の下にある [Simulation Settings] をク リ ッ ク します。

2. [Simulation] ダイアログ ボッ クスの [Project Settings] で、 [Target Simulator] フ ィールドを変更します。

3. プロンプ トが表示されたら、 変更するため [Yes] をク リ ッ ク し、 シ ミ ュレータを実行します。

重要 : シ リ コン リ ビジ ョ ンのオプシ ョ ンが [Initial_ES] に設定されているコンフ ィギュレーシ ョ ンではシ ミ ュレーシ ョ ンはサポート されていません。 インプリ メンテーシ ョ ンのみがサポート されています。 シ ミ ュレーシ ョ ンが実行される と、 DRP モニター エラーになり ます。

エンドポイン ト  コンフ ィギュレーシ ョ ン

エン ドポイン ト コンフ ィギュレーシ ョ ンの 7 Series FPGAs Integrated Block for PCI Express コアで提供されているシミ ュレーシ ョ ン環境では、 PIO サンプル デザインに対して簡単なメモ リ アクセス テス トが実行されます。 ト ランザクシ ョ ンはルート ポート モデルによ り生成され、 PIO サンプル デザインがそれに応答します。

• PCI Express ト ランザクシ ョ ン層パケッ ト (TLP) はテス トベンチの送信ユーザー アプリ ケーシ ョ ン (pci_exp_usrapp_tx) によって生成されます。 これが TLP を送信する と、 ログ ファ イル (tx.dat) も生成されます。

• PCI Express TLP はテス トベンチの受信ユーザー アプリ ケーシ ョ ン (pci_exp_usrapp_rx) が受信します。 ユーザーアプリ ケーシ ョ ンが TLP を受信する と、 ログ ファ イル (rx.dat) も生成されます。

テス トベンチの詳細は、 Chapter 9の 「Root Port Model Test Bench for Endpoint」 を参照して ください。

サンプル デザインの合成およびインプリ メンテーシ ョ ン

デザインを合成しインプ リ メン トするには、 次の手順に従います。

1. XCI ファ イルを右ク リ ッ ク し、 [Open IP example design] を選択します。

新しい Vivado ツールのウ ィンド ウに、 プロジェク ト ディレク ト リにある example_project という名前のプロジェク トが開きます。

2. Flow Navigator で [Run Synthesis] または [Run Implementation] をク リ ッ ク します。

Page 250: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 250

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

ヒン ト : 合成と インプリ メンテーシ ョ ンの両方を実行するには、 [Run Implementation] をク リ ッ ク します。 合成、 インプ リ メンテーシ ョ ン、 ビッ ト ス ト リーム生成を実行するには、 [Generate Bitstrem] をク リ ッ ク します。

ディレク ト リおよびファイルの内容

7 Series FPGAs Integrated Block for PCI Express サンプル デザインのディ レク ト リ とその関連ファイルについては、 次のセクシ ョ ンで説明します。 後で説明するよ うに、 コアが Vivado IDE で生成される場合、 エンドポイン ト デザインとルート ポート デザインとでは生成されるディ レク ト リ構造は異なり ます。

プロジェク ト名およびコンポーネン ト名はカスタマイズ可能ですが、デフォルト プロジェク ト名は project_1、デフォルトのコンポーネン ト名は pcie_7x_0 です。

重要 : このセクシ ョ ンの説明には、 これらのデフォルト名が使用されています。

エンドポイン ト  ソリューシ ョ ン

エンドポイン ト ソ リ ューシ ョ ンのディ レク ト リ構造は図 8-16 に示されています。

注記 : [vhd] と印されているファ イルは、 VHDL 版のコアも生成できるこ とを示し、 ファ イルの拡張子は .vhd です。

project_1/project_1.src/sources_1/ip/pcie_7x_0

これはすべてのディ レク ト リのメ イン ディ レク ト リです。 ディ レク ト リの名前はデフォルトで project_1 に設定されています。

X-Ref Target - Figure 8-16

図 8‐16 :サンプル デザイン : エンドポイン ト  ソリューシ ョ ン ディレク ト リ

Page 251: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 251

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

pcie_7x_0

これは指定されているコンポーネン ト名に基づいて作成されるディ レク ト リです。 デフォル トでは pcie_7x_0 です。このディ レク ト リには、 source、 simulation、 example_design という 3 つの下位ディ レク ト リがあ り ます。 これらについては次のセクシ ョ ンで説明します。

source

このディ レク ト リにはコアの 上位モジュール定義が含まれています。 このモジュールは、 Vivado Design Suite で生成される 上位ラ ッパー ファ イルでインスタンシエート されます。 このラ ッパー ファ イルは、 この source ディ レクト リ と平行する sim および synth という 2 つのディ レク ト リにあ り ます。

ファ イル名 (Verilog フォーマッ ト ) : pcie_7x_<version_number>_top.v 例 : pcie_7x_v2_1_top.v

ファ イル名 (VHDL フォーマッ ト ) : pcie_7x_<version_number>_top.vhd 例 : pcie_7x_v2_1_top.vhd

sim

このディ レク ト リには、 Vivado Design Suite で生成される、 シ ミ ュレーシ ョ ン用の 上位ラ ッパー ファ イルが含まれています。 指定したコンポーネン ト名を基にしたファ イル名が付いています。 デフォルト名は pcie_7x_0.v です。 このファ イルには、 pcie_7x_<version_number>_top.v または pcie_7x_<version_number>_top.vhd をインスタンシエートする、 コアの 上位モジュール定義が含まれています。

synth

このディ レク ト リには、 Vivado Design Suite で生成される、 合成用の 上位ラ ッパー ファ イルが含まれています。 指定したコンポーネン ト名を基にしたファ イル名が付いています。 デフォルト名は pcie_7x_0.v です。 このファ イルには、 pcie_7x_<version_number>_top.v または pcie_7x_<version_number>_top.vhd をインスタンシエートする、 コアの上位モジュール定義が含まれています。

pcie_7x_0/source

このディ レク ト リには PCI Express コアのすべてのソース ファ イルが含まれています。

表 8‐11 : pcie_7x_0/source ディレク ト リ

名前  説明

pcie_7x_0_core_top.v [vhd] PCIe コア 上位ファイル。pcie_top および gt_top のインスタンスが含まれています。

pcie_7x_0_axi_basic_rx_null_gen.v [vhd]

7 Series FPGA Integrated Block for PCI Express の AXI-4 Stream インターフェイス モジュール

pcie_7x_0_axi_basic_rx_pipeline.v [vhd]

pcie_7x_0_axi_basic_rx.v [vhd]

pcie_7x_0_axi_basic_top.v [vhd]

pcie_7x_0_axi_basic_tx_pipeline.v [vhd]

pcie_7x_0_axi_basic_tx_thrtl_ctl.v [vhd]

pcie_7x_0_axi_basic_tx.v [vhd]

Page 252: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 252

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

pcie_7x_0_gt_top.v [vhd]

7 Series FPGA Integrated Block for PCI Express の GTX および GTPラ ッパー ファ イル

pcie_7x_0_gtp_pipe_drp.v

pcie_7x_0_gtp_pipe_rate.v

pcie_7x_0_gtp_pipe_reset.v

pcie_7x_0_gt_rx_valid_filter_7x.v

pcie_7x_0_gt_wrapper.v

pcie_7x_0_pipe_clock.v

pcie_7x_0_pipe_drp.v

pcie_7x_0_pipe_eq.v

pcie_7x_0_pipe_rate.v

pcie_7x_0_pipe_reset.v

pcie_7x_0_pipe_sync.v

pcie_7x_0_pipe_user.v

pcie_7x_0_pipe_wrapper.v

pcie_7x_0_qpll_drp.v

pcie_7x_0_qpll_reset.v

pcie_7x_0_qpll_wrapper.v

pcie_7x_0_rxeq_scan.v

pcie_7x_0_pcie_bram_7x.v [vhd]

7 Series FPGA Integrated Block for PCI Express のブロ ッ ク RAM モジュール

pcie_7x_0_pcie_brams_7x.v [vhd]

pcie_7x_0_pcie_bram_top_7x.v [vhd]

pcie_7x_0_pcie_top.v [vhd]PCIe コア ラ ッパー ファ イル

pcie_7x_0_pcie_7x.v [vhd]

pcie_7x_0_pcie_pipe_lane.v [vhd]

7 Series FPGA Integrated Block for PCI Express の PIPE モジュールpcie_7x_0_pcie_pipe_misc.v [vhd]

pcie_7x_0_pcie_pipe_pipeline.v [vhd]

pcie_7x_0_clocks.xdc OOC (Out-Of-Context) フローに必要なクロ ッ ク制約すべてが含まれています。

pcie_7x_0_ooc.xdc OOC の XDC ファ イル

pcie_7x_0-PCIE_X0Y0.xdc PCIe core-level XDC file.

ト ップへ

表 8‐11 : pcie_7x_0/source ディレク ト リ  (続き)

名前  説明

Page 253: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 253

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

pcie_7x_0/example_design

このディ レク ト リには example_design に必要なサンプル デザイン ファ イルがすべて含まれています。

pcie_7x_0/simulation 

このディ レク ト リにはシ ミ ュレーシ ョ ン関係のファ イルがすべて含まれています。 このディ レク ト リには、 dsport、functional、 tests という 3 つの下位ディ レク ト リがあ り ます。

pcie_7x_0/hierarchy.txt 

このテキス ト ファ イルには、 階層の中に含まれているファ イル名がリ ス ト されていて、 サンプル デザイン全体の階層を説明しています。

表 8‐12 : pcie_7x_0/example_design ディレク ト リ

名前 説明

EP_MEM.v [vhd] PIOサンプル デザイン ファ イル

pcie_app_7x.v [vhd]

PIO_EP_MEM_ACCESS.v [vhd]

PIO_EP.v [vhd]

PIO_RX_ENGINE.v [vhd]

PIO_TO_CTRL.v [vhd]

PIO_TX_ENGINE.v [vhd]

PIO.v [vhd]

xilinx_pcie_2_1_ep_7x.v [vhd] ザイ リ ンクス サンプル デザインの 上位ファイル。 pipe_clockブロ ッ クの PIO デザイン 上位モジュールと、コアの 上位モジュールのインスタンスが含まれています (Vivado Design Suiteで生成されるラ ッパー )。

xilinx_pcie_7x_ep_x8g2.xdc サンプル デザインの XDC ファ イル。 ファ イル名には、 VivadoIDE で設定された リ ンク幅とスピードが反映されています。

ト ップへ

Page 254: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 254

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

pcie_7x_0/simulation/dsport

このディ レク ト リには dsport モデル ファ イルが含まれています。

pcie_7x_0/simulation/functional

このディ レク ト リには 上位テス トベンチおよびクロ ッ ク生成モジュールが含まれています。

pcie_7x_0/simulation/tests

このディ レク ト リにはテス ト ケースが含まれています。

ルート  ポート  ソリューシ ョ ン

ルート ポート ソ リ ューシ ョ ンのディ レク ト リ構造は図 8-17 に示されています。 このファイル ディ レク ト リ構造は、シ ミ ュレーシ ョ ン ディレク ト リ を除いて、 エンドポイン ト ソ リ ューシ ョ ンのものと同じです。

注記 : [vhd] と印されているファ イルは、 VHDL 版のコアも生成できるこ とを示し、 ファ イルの拡張子は .vhd です。

表 8‐13 : pcie_7x_0/simulation/dsport ディレク ト リ

名前 説明

pcie_2_1_rport_7x.v [vhd]

ルート ポート モジュール ファ イル

pcie_axi_trn_bridge.v [vhd]

pci_exp_expect_tasks.vh

pci_exp_usrapp_cfg.v [vhd]

pci_exp_usrapp_com.v [vhd]

pci_exp_usrapp_pl.v [vhd]

pci_exp_usrapp_rx.v [vhd]

pci_exp_usrapp_tx.v [vhd]

xilinx_pcie_2_1_rport_7x.v [vhd]

ト ップへ

表 8‐14 : pcie_7x_0/simulation/functional ディレク ト リ

名前 説明

board_common.vh テス トベンチ定義が記述されています。

board.v [vhd] 上位テス トベンチ ファ イル

sys_clk_gen_ds.v [vhd] システム差動クロ ッ ク ソース

sys_clk_gen.v [vhd] システム ク ロ ッ ク ソース

ト ップへ

表 8‐15 : pcie_7x_0/simulation/tests ディレク ト リ

名前 説明

sample_tests.vhサンプル テス トベンチのテス ト定義

tests.vh

ト ップへ

Page 255: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 255

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

project_1/project_1.src/sources_1/ip/pcie_7x_0

これはすべてのディ レク ト リのメ イン ディ レク ト リです。 ディ レク ト リの名前はデフォルトで project_1 に設定されています。

pcie_7x_0

これは指定されているコンポーネン ト名に基づいて作成されるディ レク ト リです。 デフォル トでは pcie_7x_0 です。このディ レク ト リには、 source、 simulation、 example_design という 3 つの下位ディ レク ト リがあ り ます。 これらについては次のセクシ ョ ンで説明します。

source

このディ レク ト リにはコアの 上位モジュール定義が含まれています。 このモジュールは、 Vivado Design Suite で生成される 上位ラ ッパー ファ イルでインスタンシエート されます。 このラ ッパー ファ イルは、 この source ディ レクト リ と平行する sim および synth という 2 つのディ レク ト リにあ り ます。

ファ イル名 (Verilog フォーマッ ト ) : pcie_7x_<version_number>_top.v 例 :pcie_7x_v2_1_top.v

ファ イル名 (VHDL フォーマッ ト ) : pcie_7x_<version_number>_top.vhd 例 :pcie_7x_v2_1_top.vhd

sim

このディ レク ト リには、 Vivado Design Suite で生成される、 シ ミ ュレーシ ョ ン用の 上位ラ ッパー ファ イルが含まれています。 指定したコンポーネン ト名を基にしたファ イル名が付いています。 デフォルト名は pcie_7x_0.v です。 このファ イルには、 pcie_7x_<version_number>_top.v または pcie_7x_<version_number>_top.vhd をインスタンシエートする、 コアの 上位モジュール定義が含まれています。

X-Ref Target - Figure 8-17

図 8‐17 :サンプル デザイン  : ルート  ポート  ソリューシ ョ ンのディ レク ト リ構造

Page 256: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 256

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

synth

このディ レク ト リには、 Vivado Design Suite で生成される、 合成用の 上位ラ ッパー ファ イルが含まれています。 指定したコンポーネン ト名を基にしたファ イル名が付いています。 デフォルト名は pcie_7x_0.v です。 このファ イルには、 pcie_7x_<version_number>_top.v または pcie_7x_<version_number>_top.vhd をインスタンシエートする、 コアの上位モジュール定義が含まれています。

pcie_7x_0/source

このディ レク ト リには PCI Express コアのすべてのソース ファ イルが含まれています。

表 8‐16 : pcie_7x_0/source ディレク ト リ

名前  説明

pcie_7x_0_core_top.v [vhd] PCIe コア 上位ファイル。pcie_top および gt_top のインスタンスが含まれています。

pcie_7x_0_axi_basic_rx_null_gen.v [vhd]

7 Series FPGA Integrated Block for PCI Express の AXI-4 Stream インターフェイス モジュール

pcie_7x_0_axi_basic_rx_pipeline.v [vhd]

pcie_7x_0_axi_basic_rx.v [vhd]

pcie_7x_0_axi_basic_top.v [vhd]

pcie_7x_0_axi_basic_tx_pipeline.v [vhd]

pcie_7x_0_axi_basic_tx_thrtl_ctl.v [vhd]

pcie_7x_0_axi_basic_tx.v [vhd]

pcie_7x_0_gt_top.v [vhd]

7 Series FPGA Integrated Block for PCI Express の GTX および GTPラ ッパー ファ イル

pcie_7x_0_gtp_pipe_drp.v

pcie_7x_0_gtp_pipe_rate.v

pcie_7x_0_gtp_pipe_reset.v

pcie_7x_0_gt_rx_valid_filter_7x.v

pcie_7x_0_gt_wrapper.v

pcie_7x_0_pipe_clock.v

pcie_7x_0_pipe_drp.v

pcie_7x_0_pipe_eq.v

pcie_7x_0_pipe_rate.v

pcie_7x_0_pipe_reset.v

pcie_7x_0_pipe_sync.v

pcie_7x_0_pipe_user.v

pcie_7x_0_pipe_wrapper.v

pcie_7x_0_qpll_drp.v

pcie_7x_0_qpll_reset.v

pcie_7x_0_qpll_wrapper.v

pcie_7x_0_rxeq_scan.v

Page 257: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 257

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

pcie_7x_0/example_design

このディ レク ト リには example_design に必要なサンプル デザイン ファ イルがすべて含まれています。

pcie_7x_0_pcie_bram_7x.v [vhd]

7 Series FPGA Integrated Block for PCI Express のブロ ッ ク RAM モジュール

pcie_7x_0_pcie_brams_7x.v [vhd]

pcie_7x_0_pcie_bram_top_7x.v [vhd]

pcie_7x_0_pcie_top.v [vhd]PCIe コア ラ ッパー ファ イル

pcie_7x_0_pcie_7x.v [vhd]

pcie_7x_0_pcie_pipe_lane.v [vhd]

7 Series FPGA Integrated Block for PCI Express の PIPE モジュールpcie_7x_0_pcie_pipe_misc.v [vhd]

pcie_7x_0_pcie_pipe_pipeline.v [vhd]

pcie_7x_0_clocks.xdc OOC (Out-Of-Context) フローに必要なクロ ッ ク制約すべてが含まれています。

pcie_7x_0_ooc.xdc OOC の XDC ファ イル

pcie_7x_0-PCIE_X0Y0.xdc PCIe core-level XDC file.

ト ップへ

表 8‐17 : pcie_7x_0/example_design ディレク ト リ

名前 説明

cgator_cfg_rom.data

コンフ ィギュレーター ブロッ ク ファ イル

cgator_controller.v [vhd]

cgator_cpl_decoder.v [vhd]

cgator_gen2_enabler.v [vhd]

cgator_pkt_generator.v [vhd]

cgator_tx_mux.v [vhd]

cgator.v [vhd]

cgator_wrapper.v [vhd]

pio_master_checker.v [vhd]

PIOサンプル デザイン ファ イルpio_master_controller.v [vhd]

pio_master_pkt_generator.v [vhd]

pio_master.v [vhd]

xilinx_pcie_2_1_rport_7x.v [vhd] サンプル デザインの 上位ファ イル。 PIO マスターのインスタンス と コアの 上位ファイルから構成されています。

xilinx_pcie_7x_rp_x8g2.xdc サンプル デザイ ンの XDC フ ァ イル。 フ ァ イル名には、Vivado IDE で設定された リ ンク幅と スピードが反映されています。

ト ップへ

表 8‐16 : pcie_7x_0/source ディレク ト リ  (続き)

名前  説明

Page 258: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 258

PG054 2013 年 12 月 18 日

第 8 章 : サンプル デザインの詳細

pcie_7x_0/simulation/ep

このディ レク ト リにはエンドポイン ト (EP) モデル ファ イルが含まれています。

pcie_7x_0/simulation/functional

このディ レク ト リには 上位テス トベンチおよびクロ ッ ク生成モジュールが含まれています。

表 8‐18 : pcie_7x_0/simulation/ep ディレク ト リ

名前 説明

EP_MEM.v [vhd]

EP モデル ファ イル

pcie_2_1_ep_7x.v [vhd]

pcie_app_7vx.v[vhd]

PIO_EP_MEM_ACCESS.v[vhd]

PIO_EP.v[vhd]

PIO_RX_ENGINE.v[vhd]

PIO_TO_CTRL.v[vhd]

PIO_TX_ENGINE.v[vhd]

PIO.v[vhd]

xilinx_pcie_2_1_ep_7x.v[vhd] EP モデルの 上位モジュール

ト ップへ

表 8‐19 : pcie_7x_0/simulation/functional ディレク ト リ

 名前 説明

board.v[vhd] 上位テス トベンチ ファ イル

sys_clk_gen.v[vhd] システム ク ロ ッ ク ジェネレーター ファ イル

ト ップへ

Page 259: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 259

PG054 2013 年 12 月 18 日

第 9章

テス トベンチ本章では、 Vivado® Design Suite 環境で提供されているテス トベンチについて説明します。

エンドポイン ト用ルート  ポート  モデルのテストベンチ

PCI Express ルート ポート モデルは、 提供されている PIO デザインまたはユーザー デザインを使用できるインターフェイスをテス ト プログラム インターフェイスを提供する、 テス トベンチ環境です。 ルート ポート モデルは、 デザインをシ ミ ュレートするため、 ダウンス ト リームの PCI Express TLP ト ラフ ィ ッ クを生成するソースを提供し、 また、シ ミ ュレーシ ョ ン環境でデザインからアップス ト リームの PCI Express TLP ト ラフ ィ ッ クを受信するデステ ィネーシ ョ ンを提供します。

テス トベンチを簡単に作成できるよ う、 ルート ポート モデルのソースコートが含まれています。 コンフ ィギュレーシ ョ ン空間の初期化、 TLP ト ランザクシ ョ ンの作成、 TLP ログの生成、 テス トの作成 ・検証のためのインターフェイスの提供といった大きな作業はすべて完了していて、エンドポイン ト コアのテス トベンチのインフラス ト ラ クチャの開発に時間を費やすのではな く、 デザインの機能性が正しいこ とを検証する こ とに時間が割けるよ うになっています。

ルート ポート モデルは次のものから構成されています。

• テス ト プログラ ミ ング インターフェイス (TPI)。 PCI Express 用のエンドポイン ト デバイスをシ ミ ュレートするこ とができます。

• テス ト プログラム TPI の使用方法を確認できるサンプル テス ト。

• すべてのルート ポート モデル コンポーネン トに対する Verilog または VHDL ソース コード。 テス トベンチをカスタマイズできます。

図 9-1 は PIO デザインと併用したルート ポート モデルを説明しています。

Page 260: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 260

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

アーキテクチャ

ルート ポート モデルは、 図 9-1 で説明されているよ うに、 次のブロ ッ クから構成されています。

• dsport (ルート ポート )

• usrapp_tx

• usrapp_rx

• usrapp_com (Verilog のみ)

usrapp_tx および usrapp_rx ブロ ッ クは、 エン ドポイン ト DUT (Design Under Test) への TLP の送受信のため dsport ブロ ッ ク と インターフェイスします。 このエンドポイン ト DUT は、 PCIe 用エンドポイン ト と PIO デザイン (表示)、 またはカスタマー デザインから構成されています。

usrapp_tx ブロッ クは、PCI Express リ ンクからエンドポイン ト DUT までの伝送のため dsport ブロ ッ クに TLP を送信します。 これを受けて、 エンドポイン ト DUT デバイスは、 PCI Express リ ンクから dsport ブロ ッ クまで TLP を送信します。 これらの TLP はこの後 usrapp_rx ブロ ッ クに送信されます。 PCI Express ロジッ ク上で交信する場合、 dsport およびコアはデータ リ ンク層および物理リ ンク層の処理を行います。 usrapp_tx と usrapp_rx の両方が、 TLP 処理やログファイルの出力などの共有ファンクシ ョ ンのため usrapp_com ブロ ッ クを使用します。 ト ランザクシ ョ ン シーケンス

X-Ref Target - Figure 9-1

図 9‐1 :ルート  ポート  モデルよび 上位エンドポイン ト

TestProgram

Endpoint DUT for PCI Express

PCI Express Fabric

Endpoint Core forPCI Express

PIODesign

dsport

usrapp_tx

usrapp_com

usrapp_rx

OutputLogs

Root Port Model TPI forPCI Express

Page 261: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 261

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

またはテス ト プログラムは、 エン ドポイン ト デバイ スのロジッ ク インターフェ イ スをシ ミ ュ レー ト するため、usrapp_tx ブロ ッ クが開始します。 エン ドポイン ト デバイスからの TLP 応答は、 usrapp_rx ブロ ッ クが受信します。usrapp_tx と usrapp_rx との間の通信によ り、 usrapp_rx ブロッ クがエンドポイン ト デバイスからの TLP を受信する と、usrapp_tx ブロッ クは正しいビヘイビアーを検証し、 適宜処理するこ とができるよ うにな り ます。

サンプル デザインのシミ ュレーシ ョ ン

デザインをシ ミ ュレートするには、 248 ページの 「サンプル デザインのシ ミ ュレーシ ョ ン」 を参照して ください。

係数により細かく設定したシミ ュレーシ ョ ン  タイムアウト

7 Series FPGAs Integrated Block for PCI Express のシ ミ ュレーシ ョ ン モデルでは、 シ ミ ュレーシ ョ ン中に妥当な時間内でリ ンクが ト レインできるよ う、 係数を利用してタイムアウ ト を設定できます。 『PCI Express Specification, rev. 2.1』[参照 2]による と、 リ ンク ト レーニングおよびステータス ステート マシン (LTSSM) のステートに関連付けられたさまざまなタ イムアウ ト があ り ます。 7 series FPGA 統合ブロ ッ クは、 タ イムアウ ト を係数で設定できない RecoverySpeed_1 LTSSM ステート を除いて、 シ ミ ュレーシ ョ ンで 256 の係数でこれらのタイムアウ ト を設定します。

テストの選択

表 9-1 はルート ポート モデルで提供されているテス トについて説明し、またテス トに VHDL または Verilog のどちらが選択できるかが記載されています。

出力のログ

サンプル デザインまたはカスタマー デザインでテス ト エラーが発生する と、それをデバッグします。通常は、シ ミ ュレーシ ョ ン用の波形ファ イルをチェッ ク して、 標準出力に対し表示されている メ ッセージと これを相互比較します。しかし、 このアプローチは非常に時間がかかるため、 ルート ポート モデルには、 エラーの発生しているテス ト ケースのデバッグ プロセスをスピードアップさせるための出力ログ機能が含まれています。

ルート ポート モデルは、 tx.dat、 rx.dat、 error.dat とい う 3 つのファ イルを各シ ミ ュレーシ ョ ン run で生成します。 ログ ファ イルの tx.dat および rx.dat には、ルート ポート モデルで送信・受信された TLP がすべて詳細にそれぞれのファイルに記録されています。 特定テス ト ケースの TLP 伝送が理解できればエラーを隔離しやすくなり ます。

ログ ファ イル error.dat は、 予期タスク と併用して使用します。 予期タスクを利用するテス ト プログラムは、 標準出力に一般的なエラー メ ッセージを生成します。 予期エラーが原因で発生した比較エラーについての詳細は、 error.datに記述されています。

表 9‐1 :ルート  ポート  モデルで提供されるテスト

テスト名VHDL/Verilogでの

テスト説明

sample_smoke_test0 Verilog およびVHDL

PCI タイプ 0 のコンフ ィギュレーシ ョ ン読み出し TLP を出力し、完了TLP を待ちます。 その後、 返された値とデバイス /ベンダー ID を比較します。

sample_smoke_test1 Verilog sample_smoke_test0 と同じ操作を実行しますが、 予期タスクを使用します。 このテス トでは 2 つのテス ト プログラム スレッ ドが用いられます。1 つは PCI タイプ 0 のコンフ ィギュレーシ ョ ン読み出し TLP を出力し、 も う 1 つはデータ TLP 予期タスクのある完了を出力します。このテス トは予期タスクを利用するパラレル テス ト です。 ユーザーデザインからの TLP の受信を確認するこ とができます。また、TLP の順序が重要出ない場合の TLP の受信確認用にも使用できます。

Page 262: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 262

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

パラレル テスト  プログラム

ルート ポート モデルでサポート されているテス トには 2 つのタイプがあ り ます。

• 順次テス ト : 1 つのプロセス内に存在し、 順次プログラムと似たよ うな動作をします。 263 ページの 「テス ト プログラム : pio_writeReadBack_test0」 で説明されているテス トが順次テス トの例です。順次テス トは、 イベン トの順序がわかっている場合の動作を検証するのに非常に便利です。

• パラレル テス ト : 2 つ以上のプロセス スレッ ドのあるテス トです。 sample_smoke_test1 テス トはプロセス スレッドが 2 つあるパラレル テス トの例です。 パラレル テス トは、 イベン トの順序が不明の、 ま と まったイベン ト を検証するのに非常に便利です。

一般的なパラレル テス トには、 コマンド スレッ ドが 1 つ、 予期スレッ ドが 1 つ以上あり ます。 これらのスレッ ドはと もに機能して、 デバイス機能を検証します。 コマンド スレッ ドの役割は、 デバイスが TLP を受信 ・ 生成できるように必要な TLP ト ランザクシ ョ ンを作成するこ とです。予期スレッ ドのほうは、予期 TLP の受信を検証します。ルート ポート モデルの TPI には、 パラレル テス ト と併用する予期タスクがすべて揃っています。

サンプル デザインはターゲッ ト専用デバイスであるため、 PIO デザインを使用している間はパラレル テス ト プログラムは完了 TLP のみを期待します。 しかし、 ユーザー デザインで使用する場合は、 どの TLP タイプも期待できる予期タスクの完全ライブラ リ を使用するこ とができます (バス マスター機能も含めるこ とが可能)。 現時点では、 VHDL版のルート ポート モデル テス トベンチではパラレル テス トはサポート されていません。

テストの説明

ルート ポート モデルにはテス ト プログラム インターフェイス (TPI) があ り ます。 TPI を使用するこ とによ り、 一連の Verilog タスクを起動するこ とでテス ト を作成できます。 すべてのルート ポート モデル テス トは、 次の 6 つのステップに従う必要があ り ます。

1. 各テス ト名に対し条件付比較を実行します。

2. シ ミ ュレーシ ョ ンが停止した場合のマスター タイムアウ ト を設定します。

3. リセッ トおよびリ ンク アップを待ちます。

4. エンドポイン トのコンフ ィギュレーシ ョ ン空間を初期化します。

5. ルート ポート モデルとエンドポイン ト DUT 間の TLP を送受信します。

6. テス トが問題なく完了したこ とを確認します。

Page 263: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 263

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

テス ト  プログラム : pio_writeReadBack_test0

ルート  ポート  モデルの拡張

ルート ポート モデルは PIO デザインと と もに機能するよ う作成されており、 PIO デザインの制限事項に基づいて特定チェッ クを実行し、 警告を出力するよ うに設計されています。 これらのチェ ッ クおよび警告は、 ルート ポート モデルが Vivado IDE で生成されたと きにデフォル トでイネーブルになっています。 しかし、 デザインに影響が出ないよ うにこれをディ スエーブルにするこ とができます。

PIO デザインは、 I/O BAR 1 つ、 Mem64 BAR 1 つ、 Mem32 BAR を 2 つ (そのうち 1 つは EROM 空間である必要がある ) サポートするよ う作成されているため、 デフォルトでは、 コアがこの要件を満たすよ う コンフ ィギュレーシ ョ ンされているこ とを確認するデバイス コンフ ィギュレーシ ョ ン中に、 ルート ポート モデルがチェッ クを実行するよ うになっています。 このチェッ クで違反が検出される と、 警告メ ッセージが表示され、 エラーのある BAR がテス トベンチでディ スエーブルにな り ます。 このチェ ッ クは、 pci_exp_usrapp_tx.v ファ イルで pio_check_design 変数をゼロに設定する と、 ディ スエーブルになり ます。

ルート  ポート  モデル TPI タスク  リス ト

ルート ポート モデル TPI タスクは次の表で定義されています。

• 表 9-2 「テス ト セッ ト アップ タスク」

1. else if(testname == "pio_writeReadBack_test1"2. begin3. // This test performs a 32 bit write to a 32 bit Memory space and performs a read back4. TSK_SIMULATION_TIMEOUT(10050);5. TSK_SYSTEM_INITIALIZATION;6. TSK_BAR_INIT;7. for (ii = 0; ii <= 6; ii = ii + 1) begin 8. if (BAR_INIT_P_BAR_ENABLED[ii] > 2'b00) // bar is enabled 9. case(BAR_INIT_P_BAR_ENABLED[ii])10. 2'b01 :// IO SPACE11. begin 12. $display("[%t] :NOTHING: to IO 32 Space BAR %x", $realtime, ii);13. end 14. 2'b10 :// MEM 32 SPACE15. begin 16. $display("[%t] :Transmitting TLPs to Memory 32 Space BAR %x",17. $realtime, ii);18. //------------------------------------------------------------------------19. // Event :Memory Write 32 bit TLP20. //------------------------------------------------------------------------21. DATA_STORE[0] = 8'h04;22. DATA_STORE[1] = 8'h03;23. DATA_STORE[2] = 8'h02;24. DATA_STORE[3] = 8'h01;25. P_READ_DATA = 32'hffff_ffff; // make sure P_READ_DATA has known initial value 26. TSK_TX_MEMORY_WRITE_32(DEFAULT_TAG, DEFAULT_TC, 10'd1, BAR_INIT_P_BAR[ii][31:0] , 4'hF, 4'hF, 1'b0);27. TSK_TX_CLK_EAT(10);28. DEFAULT_TAG = DEFAULT_TAG + 1;29. //------------------------------------------------------------------------30. // Event :Memory Read 32 bit TLP31. //------------------------------------------------------------------------32. TSK_TX_MEMORY_READ_32(DEFAULT_TAG, DEFAULT_TC, 10'd1, BAR_INIT_P_BAR[ii][31:0], 4'hF, 4'hF);33. TSK_WAIT_FOR_READ_DATA;34. if (P_READ_DATA != {DATA_STORE[3], DATA_STORE[2], DATA_STORE[1], DATA_STORE[0] }) 35. begin36. $display("[%t] :Test FAILED --- Data Error Mismatch, Write Data %x != Read Data %x", $realtime,{DATA_STORE[3], DATA_STORE[2],

DATA_STORE[1], DATA_STORE[0]}, P_READ_DATA);37. end38. else39. begin40. $display("[%t] :Test PASSED --- Write Data:%x successfully received", $realtime, P_READ_DATA);41. end

Page 264: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 264

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

• 表 9-3 「TLP タスク」

• 表 9-4 「BAR 初期化タスク」

• 表 9-5 「サンプル PIO デザイン タスク」

• 表 9-6 「予期タスク」

表 9‐2 : テスト  セッ トアップ タスク

名前 入力 説明

TSK_SYSTEM_INITIALIZATION なし ト ラ ンザク シ ョ ン イ ン ターフ ェ イ スの リセッ ト 、 およびルート ポート モデルとエンドポイン ト DUT 間のリ ンク アップを待ちます。 このタスクはエンドポイン ト コア初期化前に起動する必要があ り ます。

TSK_USR_DATA_SETUP_SEQ なし グローバルの 4096 バイ ト の DATA_STOREアレイ エン ト リ を 0 から 4095 までの順次値に初期化します。

TSK_TX_CLK_EAT ク ロ ッ ク カウン ト

31:30 clock_count ト ランザクシ ョ ン インターフェイス ク ロ ッ クを待ちます。

TSK_SIMULATION_TIMEOUT タイムアウ ト 31:0 ト ランザクシ ョ ン インターフェイス ク ロ ックの単位でマスター シ ミ ュレーシ ョ ン タイムアウ ト値を設定します。 このタスクは、すべての DUT テス トが完了しているこ とを確認するのに使用します。

表 9‐3 : TLP タスク

名前 入力 説明

TSK_TX_TYPE0_CONFIGURATION_READ tag_reg_addr_first_dw_be_

7:011:03:0

ト ランザクシ ョ ン インターフェイスの リセッ ト 、およびルー ト ポー ト モデルとエン ドポイン トDUT 間のリ ンク アップを待ちます。 このタス クはエンドポイン ト コア初期化前に起動する必要があ り ます。

TSK_TX_TYPE1_CONFIGURATION_READ tag_reg_addr_first_dw_be_

7:011:03:0

ルー ト ポー ト モデルからのタ イプ 1 の PCIExpress コ ンフ ィ ギュ レーシ ョ ン読み出し TLPを、 tag_ および first_dw_be_ 入力のある、 エンドポイン ト DUT の reg_addr_ に送信します。 エンドポイン ト DUT から返された CplD は、完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

TSK_TX_TYPE0_CONFIGURATION_WRITE tag_reg_addr_reg_data_first_dw_be_

7:011:031:03:0

ルー ト ポー ト モデルからのタ イプ 0 の PCIExpress コ ンフ ィ ギュ レーシ ョ ン書き込み TLPを、 tag_ および first_dw_be_ 入力のある、 エンドポイン ト DUT の reg_addr_ に送信します。 エンドポイン ト DUT から返された Cpl は、 完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

Page 265: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 265

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

TSK_TX_TYPE1_CONFIGURATION_WRITE tag_reg_addr_reg_data_first_dw_be_

7:011:031:03:0

ルー ト ポー ト モデルからのタ イプ 1 の PCIExpress コ ンフ ィ ギュ レーシ ョ ン書き込み TLPを、 tag_ および first_dw_be_ 入力のある、 エンドポイン ト DUT の reg_addr_ に送信します。 エンドポイン ト DUT から返された Cpl は、 完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

TSK_TX_MEMORY_READ_32 tag_tc_len_addr_last_dw_be_first_dw_be_

7:02:09:031:03:03:0

ルート ポートからの PCI Express メモ リ読み出しTLP を、 エンドポイン ト DUT の 32 ビッ ト メモリ アドレス addr_ に送信します。

エンドポイン ト DUT から返された CplD は、完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

TSK_TX_MEMORY_READ_64 tag_tc_len_addr_last_dw_be_first_dw_be_

7:02:09:063:03:03:0

ルート ポート モデルからの PCI Express メモ リ読み出し TLP を、 エンドポイン ト DUT の 64 ビット メモ リ アドレス addr_ に送信します。

エンドポイン ト DUT から返された CplD は、完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

TSK_TX_MEMORY_WRITE_32 tag_tc_len_addr_last_dw_be_first_dw_be_ep_

7:02:09:031:03:03:0–

ルート ポート モデルからの PCI Express メモ リ書き込み TLP を、 エンドポイン ト DUT の 32 ビット メモ リ アドレス addr_ に送信します。

エンドポイン ト DUT から返された CplD は、完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

グローバルな DATA_STORE バイ ト アレイは、書き込みデータをタス クに渡すために使用されます。

TSK_TX_MEMORY_WRITE_64 tag_tc_len_addr_last_dw_be_first_dw_be_ep_

7:02:09:063:03:03:0–

ルート ポート モデルからの PCI Express メモ リ書き込み TLP を、 エンドポイン ト DUT の 64 ビット メモ リ アドレス addr_ に送信します。 エンドポイン ト DUT から返された CplD は、完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

グローバルな DATA_STORE バイ ト アレイは、書き込みデータをタス クに渡すために使用されます。

TSK_TX_COMPLETION tag_tc_len_comp_status_

7:02:09:02:0

グローバル COMPLETE_ID_CFG を完了 ID と して使用し、 PCI Express 完了 TLP をルート ポートモデルからエンドポイン ト DUT に送信します。

TSK_TX_COMPLETION_DATA tag_tc_len_byte_countlower_addrcomp_statusep_

7:02:09:011:06:02:0–

グローバル COMPLETE_ID_CFG を完了 ID と して使用し、 PCI Express のデータ付き完了 TLP をルー ト ポー ト モデルからエン ドポイン ト DUTに送信します。

グローバルな DATA_STORE バイ ト アレイは、完了データをタスクに渡すために使用されます。

表 9‐3 : TLP タスク  (続き)

名前 入力 説明

Page 266: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 266

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

TSK_TX_MESSAGE tag_tc_len_datamessage_rtgmessage_code

7:02:09:063:02:07:0

PCI Express メ ッセージ TLP をルート ポート モデルからエンドポイン ト DUT に送信します。

エンドポイン ト DUT から返された完了は、 完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

TSK_TX_MESSAGE_DATA tag_tc_len_datamessage_rtgmessage_code

7:02:09:063:02:07:0

PCI Express のデータ付メ ッセージ TLP をルートポート モデルからエンドポイン ト DUT に送信します。

グ ローバルな DATA_STORE バイ ト アレ イは、メ ッセージ データをタス クに渡すために使用されます。

エンドポイン ト DUT から返された完了は、 完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

TSK_TX_IO_READ tag_addr_first_dw_be_

7:031:03:0

PCI Express I/O TLP 読み出しを、ルート ポート モデルからエン ド ポイ ン ト DUT の I/O ア ド レ スaddr_[31:2] に送信します。

エンドポイン ト DUT から返された CplD は、完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

TSK_TX_IO_WRITE tag_addr_first_dw_be_data

7:031:03:031:0

PCI Express I/O TLP 書き込みを、ルート ポート モデルからエン ド ポイ ン ト DUT の I/O ア ド レ スaddr_[31:2] に送信します。

エンドポイン ト DUT から返された CplD は、完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

TSK_TX_BAR_READ bar_indexbyte_offsettag_tc_

2:031:07:02:0

PCI Express の 1 DWORD のメモ リ 32、メモ リ 64、または I/O 読み出し TLP をルート ポート モデルから、 エンドポイン ト DUT の BAR bar_index からの byte_offset に対応するターゲッ ト アド レスに送信します。 このタスクは、 BAR bar_index が初期化中にどのよ う にコンフ ィ ギュレーシ ョ ンされているかに基づいて、該当する読み出し TLPを送信します。 このタスクは、TSK_BAR_INIT が完了した後にのみ呼び出すこ とができます。

エンドポイン ト DUT から返された CplD は、完了ID と してグローバル COMPLETE_ID_CFG の内容を使用します。

表 9‐3 : TLP タスク  (続き)

名前 入力 説明

Page 267: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 267

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

TSK_TX_BAR_WRITE bar_indexbyte_offsettag_tc_data_

2:031:07:02:031:0

PCI Express の 1 DWORD のメモ リ 32、メモ リ 64、または I/O 書き込み TLP をルート ポートから、エン ド ポ イ ン ト DUT の BAR bar_index からのbyte_offset に対応するターゲッ ト ア ド レスに送信します。 このタスクは、 BAR bar_index が初期化中にどのよ うにコンフ ィ ギュレーシ ョ ンされているかに基づいて、 該当する書き込み TLP を送信します。このタスクは、TSK_BAR_INIT が完了した後にのみ呼び出すこ とができます。

TSK_WAIT_FOR_READ_DATA None エンドポイン ト DUT が送信したデータ付きの次の完了 TLP を待ちます。 完了する と、 CpID からのデータの 初の DWORD がグ ローバルP_READ_DATA に格納されます。 このタスクは、レース コンディシ ョ ンを避けるため、データ付きの完了を要求する TPI での任意の読み出しタスクの直後に呼び出す必要があ り ます。

デフォルトでは、このタスクはローカルにタイムアウ ト し、 ト ランザクシ ョ ン インターフェイスク ロ ッ クが 1000 サイ クルした後にシ ミ ュ レーシ ョ ンを終了させます。ローカル タイムアウ トが呼び出し中のテス ト の実行に戻り、 シ ミ ュレーシ ョ ン タイムアウ トにならないよ うに、グローバル cpld_to_finish をゼロに設定する こ とができます。 グローバル cpld_to が 1 に設定されている場合は、 このタスクがタイムアウ トになっており、P_READ_DATA の内容が無効である こ と を示すので、このケースのテス ト プログラムはグローバル cpld_to をチェッ クする必要があ り ます。

表 9‐3 : TLP タスク  (続き)

名前 入力 説明

表 9‐4 : BAR 初期化タスク

名前 入力 説明

TSK_BAR_INIT None PCI Express ロジッ クを使用したエンドポイン ト デバイスへの基本アド レス レジスタ初期化タスクの標準シーケンスを実行します。エンドポイン ト PCI BAR 範囲要件のスキャンを実行し、必要なメモ リおよび I/O 空間マッピング計算を実行し、 後に、 アクセス準備可能になるよ うにエン ドポイン ト をプログラムにします。 完了後、テス ト プログラムはデバイスへのメモ リおよび I/O ト ランザクシ ョ ンを開始できます。 このファンクシ ョ ンは、 このエンドポイン トがどのよ うに初期化されたかを示すメモ リおよび I/Oテーブルを標準出力に表示します。 このタスクは、ルート ポートモデル内のテス ト プログラムで使用可能なグローバル変数も初期化します。 このタスクは、 TSK_SYSTEM_INITIALIZATION の後に呼び出します。

TSK_BAR_SCAN None エンドポイン トに対する メモ リおよび I/O 要件を判断するため、PCI Express ロジッ クを使用し、 PCI タイプ 0 のコンフ ィギュレーシ ョ ン書き込みおよびコンフ ィギュレーシ ョ ン読み出しのシーケンスを実行します。 このタスクはこの情報を BAR_INIT_P_BAR_RANGE[] という グローバル アレイに保存します。 このタスクは、TSK_SYSTEM_INITIALIZATION の後に呼び出します。

Page 268: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 268

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

TSK_BUILD_PCIE_MAP None メモ リおよび I/O マッピング アルゴ リズムを実行し、エンドポイン ト要件に基づいて、 メモ リ 32、 メモ リ 64、および I/O 空間を割り当てます。 このタス クは PIO デザインの制限事項に合わせて機能するよ うにカスタマイズされており、 TSK_BAR_SCAN が完了した後に呼び出します。

TSK_DISPLAY_PCIE_MAP None エンドポイン ト コアの PCI 基本アドレス レジスタのメモ リ マッピング情報を表示します。 各 BAR に対し、 BAR 値、 BAR 範囲、BAR タイプが指定されています。 このタスクは、TSK_BUILD_PCIE_MAP の完了後に呼び出します。

表 9‐4 : BAR 初期化タスク  (続き)

名前 入力 説明

表 9‐5 :サンプル PIO デザイン タスク

名前 入力 説明

TSK_TX_READBACK_CONFIG None PCI Express ロジッ クを使用して、 エンドポイン ト デバイスの基本アドレス レジスタへの PCI タイプ 0 のコンフ ィギュレーシ ョ ンよみだし、 PCI コマンド レジスタ、 PCIe デバイス制御レジスタのシーケンスを実行します。 このタスクは、 TSK_SYSTEM_INITIALIZATION の後に呼び出します。

TSK_MEM_TEST_DATA_BUS bar_index 2:0 入力 bar_index がポイン ト している I/O またはメモ リ アドレスに対し 32 ビッ トのデータ テス ト を実行して、PIO デザインのFPGA ブロ ッ ク RAM データ バス インターフェイスが正し く接続されているかど うかをテス ト します。 しっかり とテス ト を実行するには、PIO デザインで使用されている各ブロ ッ ク RAM に対し 1 回ずつ、このタスクを 4 回呼び出します。

TSK_MEM_TEST_ADDR_BUS bar_indexnBytes

2:031:0

入力 bar_index がポイン ト している I/O またはメモ リ アドレスで開始するアドレス テス ト を実行して、PIO デザインの FPGAブロ ッ ク RAM アドレス バス インターフェイスが正し く接続されているかど うかをテス ト します。 しっかり とテス ト を実行するには、PIO デザインで使用されている各ブロ ッ ク RAM に対し 1 回ずつ、このタスクを 4 回呼び出します。 さ らに、 nBytes 入力で個々のブロ ッ ク RAM の全体的なサイズを指定する必要があ り ます。

TSK_MEM_TEST_DEVICE bar_indexnBytes

2:031:0

入力 nBytes で指定された範囲で、入力 bar_index によ りポイント されているブロ ッ ク RAM で始まるすべてのビッ トに対し、インク リ メ ン ト /デク リ メ ン ト テス ト を実行する こ とによ り、PIO デザインの FPGA ブロッ ク RAM の各ビッ トの整合性をテス ト します。 しっかり とテス ト を実行するには、PIO デザインで使用されている各ブロ ッ ク RAM に対し 1 回ずつ、このタスクを 4 回呼び出します。 さ らに、 nBytes 入力で個々のブロ ッ ク RAM の全体的なサイズを指定する必要があ り ます。

Page 269: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 269

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

表 9‐6 :予期タスク

名前 入力 出力 説明

TSK_EXPECT_CPLD traffic_classtdepattrlengthcompleter_idcompleter_statusbcmbyte_countrequester_idtagaddress_low

2:0--

1:09:0

15:02:0-

11:015:07:06:0

ステータスを予期します。

traffic_class、 td、 ep、 attr、 length、payload が一致するデータ付きの完了 TLP を待ちます。 正し く完了する と 1 が返り、それ以外の場合は 0 が返り ます。

TSK_EXPECT_CPL traffic_classtdepattrcompleter_idcompleter_statusbcmbyte_countrequester_idtagaddress_low

2:0--

1:015:02:0-

11:015:07:06:0

ステータスを予期

traffic_class、 td、 ep、 attr、 length が一致するデータなしの完了 TLP を待ちます。 正し く完了する と 1 が返り、それ以外の場合は 0 が返り ます。

TSK_EXPECT_MEMRD traffic_classtdepattrlengthrequester_idtaglast_dw_befirst_dw_be

アドレス

2:0--

1:09:0

15:07:03:03:0

29:0

ステータスを予期

ヘッダー フ ィールドが一致する 32ビ ッ ト のア ド レス メモ リ読み出しTLP を待ちます。 正し く完了する と 1 が返り、それ以外の場合は 0 が返り ます。 このタスクは、 バス マスター デザイン と併用する場合にのみ使用できます。

TSK_EXPECT_MEMRD64 traffic_classtdepattrlengthrequester_idtaglast_dw_befirst_dw_be

アドレス

2:0--

1:09:0

15:07:03:03:0

61:0

ステータスを予期

ヘッダー フ ィールドが一致する 64ビ ッ ト のア ド レス メモ リ読み出しTLP を待ちます。正し く完了する と1 が返り、 それ以外の場合は 0 が返り ます。 このタス クは、 バス マスター デザイン と併用する場合にのみ使用できます。

Page 270: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 270

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

ルート  ポート用のエンドポイン ト  モデル テストベンチ

ルート ポート コンフ ィギュレーシ ョ ンの 7 Series FPGAs Integrated Block for PCI Express コアのエンドポイン ト モデルテス トベンチは、簡単なサンプル テス トベンチで、コンフ ィギュレーター デザインと PCI Express エンドポイン ト モデルを接続して、 物理的なシステムでの 2 つのデバイスであるかのよ うに操作するこ とができます。 自己初期化し、バス ト ラフ ィ ッ クを生成 ・ 使用するロジッ クからコンフ ィギュレーター サンプル デザインは構成されているため、システム動作をモニターしシ ミ ュレーシ ョ ンを終了させるロジッ クをこのサンプル テス トベンチはインプ リ メ ン トするだけです。

このエンドポイン ト モデル テス トベンチは次のものから構成されています。

• すべてのエンドポイン ト モデル コンポーネン トに対する Verilog または VHDL のソース コード

• PIO スレーブ デザイン

243 ページの図 8-13は、 コンフ ィギュレーター サンプル デザインと接続しているエンドポイン ト モデルを説明ししています。

TSK_EXPECT_MEMWR traffic_classtdepattrlengthrequester_idtaglast_dw_befirst_dw_be

アドレス

2:0--

1:09:0

15:07:03:03:0

29:0

ステータスを予期

ヘッダー フ ィールドが一致する 32ビ ッ ト のア ド レス メモ リ書き込みTLP を待ちます。正し く完了する と1 が返り、 それ以外の場合は 0 が返り ます。 このタス クは、 バス マスター デザイン と併用する場合にのみ使用できます。

TSK_EXPECT_MEMWR64 traffic_classtdepattrlengthrequester_idtaglast_dw_befirst_dw_be

アドレス

2:0--

1:09:0

15:07:03:03:0

61:0

ステータスを予期

ヘッダー フ ィールドが一致する 64ビ ッ ト のア ド レス メモ リ書き込みTLP を待ちます。正し く完了する と1 が返り、 それ以外の場合は 0 が返り ます。 このタス クは、 バス マスター デザイン と併用する場合にのみ使用できます。

TSK_EXPECT_IOWR tdeprequester_idtagfirst_dw_be

アドレスdata

--

15:07:03:0

31:031:0

ステータスを予期

ヘッダー フ ィールドが一致する I/O書き込み TLP を待ちます。正し く完了する と 1 が返り、それ以外の場合は 0 が返り ます。

このタス クは、 バス マスター デザイン と併用する場合にのみ使用できます。

表 9‐6 :予期タスク  (続き)

名前 入力 出力 説明

Page 271: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 271

PG054 2013 年 12 月 18 日

第 9 章 : テストベンチ

アーキテクチャ

エンドポイン ト モデルは次のブロ ッ クから構成されています。

• PCI Express エンドポイン ト (エンドポイン ト コンフ ィギュレーシ ョ ンの 7 Series FPGAs Integrated Block forPCI Express) モデル

• 次のものから構成されている PIO スレーブ デザイン

° PIO_RX_ENGINE

° PIO_TX_ENGINE

° PIO_EP_MEM

° PIO_TO_CTRL

PIO_RX_ENGINE および PIO_TX_ENGINE ブロ ッ クは、 ルート ポート DUT (Design Under Test) への TLP の送受信のため epブロ ッ ク と インターフェイスします。 ルート ポート と してコンフ ィギュレーシ ョ ンされているコア、 およびコンフ ィギュレーター サンプル デザイン (コンフ ィギュレーター ブロ ッ ク と PIO マスター デザインまたはカスタマー デザインから成る ) から、 ルート ポート DUT は構成されています。

PIO スレーブ デザインについては256 ページの 「Programmed Input/Output: Endpoint Example Design」 .を参照してください。

サンプル デザインのシミ ュレーシ ョ ン

デザインをシ ミ ュレートするには、 248 ページの 「サンプル デザインのシ ミ ュレーシ ョ ン」 を参照して ください。

注記 : Cadence IES の場合、作業コンス ト ラ ク ト DEFINE WORK WORK を手動で cds.lib ファ イルに挿入する必要があり ます。

係数により細かく設定したシミ ュレーシ ョ ン  タイムアウト

コアのシ ミ ュレーシ ョ ン モデルには、シ ミ ュレーシ ョ ン中に妥当な時間内でリ ンクが ト レインできるよ う、係数を利用してタイムアウ ト を設定できます。 『PCI Express Specification, rev. 2.1』 [参照 2]による と、 リ ンク ト レー人およびステータス ステート マシン (LTSSM) のステートに関連付けられたさまざまなタイムアウ トがあ り ます。 コアは、 タイムアウ ト を係数で設定できない Recovery Speed_1 LTSSM ステート を除いて、 シ ミ ュレーシ ョ ンで 256 の係数でこれらのタイムアウ ト を設定します。

出力のログ

テス トベンチはメ ッセージを出力し、シ ミ ュレーシ ョ ン ログに記録されます。このログには次のものが発生した時間が記録されています。

• user_reset がディアサート された時間

• user_lnk_up がアサート された時間

• cfg_done がコンフ ィギュレーターによ りアサート された時間

• pio_test_finished が PIO マスターによ りアサート された時間

• シ ミ ュレーシ ョ ン タイムアウ ト (pio_test_finished または pio_test_failed がアサート されなかった場合)

Page 272: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 272

PG054 2013 年 12 月 18 日

付録 A

移行およびアップグレードこの付録には、 デザインを ISE® Design Suite から Vivado® Design Suite に移行する際の情報、 新版の IP コアへのアップグレードについての情報が記載されています。 Vivado Design Suite でアップグレードする場合のポート変更およびユーザー ロジッ クへの影響といった重要な情報もこ こに記載されています。

Vivado® Design Suite への移行方法については、 『Vivado Design Suite 移行手法ガイ ド』 (UG911)[参照 19] を参照してください。

Vivado Design Suite への移行

このセクシ ョ ンでは、 次の内容について説明します。

• 「7 シ リーズ デバイスへの移行」

• 「TRN から AXI への移行に関する注意事項」

Vivado® Design Suite への移行方法については、 『Vivado Design Suite 移行手法ガイ ド』 (UG911)[参照 19] を参照してください。

7 シリーズ デバイスへの移行

Virtex®-6 FPGA Integrated Block for PCI Express から 7 Series FPGAs Integrated Block for PCI Express® に移行する場合は、7 Series FPGAs Integrated Block for PCI Express コ ア と Virtex-6 FPGA Integrated Block for PCI Express コ ア (v2.x、AXI4-Stream インターフェイスを含む) の動作およびオプシ ョ ンの違いがこのセクシ ョ ンで説明されています。

コア機能の違い

• ルート ポート コンフ ィギュレーシ ョ ン用の 8 レーン、 5.0Gb/s (Gen2) : 7 Series FPGAs Integrated Block for PCIExpress では、 8 レーンのルート ポート コンフ ィギュレーシ ョ ン用に 5.0Gb/s の動作もサポート されます。

• 128 ビッ ト インターフェイス : 7 Series Integrated Block for PCIe では、8 レーンの 2.5Gb/s コンフ ィギュレーシ ョ ンおよび 4 レーンの 5.0Gb/s コンフ ィギュレーシ ョ ン用に 128 ビッ ト インターフェイスがサポート されます。

コンフ ィギュレーシ ョ ン  インターフェイス

表 A-1 は、 名前の変更されたコンフ ィギュレーシ ョ ン インターフェイス信号の一覧です。

表 A‐1 : コンフ ィギュレーシ ョ ン インターフェイスの変更点

名前Virtex‐6 FPGA Integrated Block for PCI 

Express の信号名

 7 Series FPGAs Integrated Block for 

PCI Express の信号名

コンフ ィギュレーシ ョ ン データ出力 cfg_do cfg_mgmt_do

コンフ ィギュレーシ ョ ン読み出し /書き込み Done

cfg_rd_wr_done cfg_mgmt_rd_wr_done

Page 273: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 273

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

表 A-2 は、新しいコンフ ィギュレーシ ョ ン インターフェイス信号の一覧です。詳細は、第 3 章の 「コンフ ィギュレーシ ョ ン空間レジスタおよびコンフ ィギュレーシ ョ ン インターフェイスを使用したデザイン」 を参照して ください。

エラー レポート信号

7 Series FPGAs Integrated Block for PCI Express コアでは、 さ らに次のエラー レポート信号もサポート されます。 詳細は、第 3 章の 「コンフ ィギュレーシ ョ ン空間レジスタおよびコンフ ィギュレーシ ョ ン インターフェイスを使用したデザイン」 を参照してください。

• cfg_err_poisoned

• cfg_err_malformed

• cfg_err_acs

• cfg_err_atomic_egress_blocked

コンフ ィギュレーシ ョ ン データ入力 cfg_di cfg_mgmt_di

コンフ ィギュレーシ ョ ン DWORD アド レス

cfg_dwaddr cfg_mgmt_dwaddr

コンフ ィギュレーシ ョ ン バイ ト イネーブル

cfg_byte_en cfg_mgmt_byte_en

コンフ ィ ギュレーシ ョ ン書き込みイネーブル

cfg_wr_en cfg_mgmt_wr_en

コンフ ィ ギュレーシ ョ ン読み出し イネーブル

cfg_rd_en cfg_mgmt_rd_en

表 A‐2 :新規コンフ ィギュレーシ ョ ン インターフェイス信号

信号 説明

cfg_mgmt_wr_rw1c_as_rw コアの新規コンフ ィギュレーシ ョ ン書き込み信号

cfg_mgmt_wr_readonly

cfg_pm_halt_aspm_l0s コアの新規パワー マネージメン ト信号

cfg_pm_halt_aspm_l1(1)

cfg_pm_force_state[1:0]

cfg_pm_force_state_en

cfg_err_aer_headerlog[127:0] 新規 AER インターフェイス信号

cfg_err_aer_headerlog_set

cfg_aer_interrupt_msgnum[4:0]

cfg_aer_ecrc_gen_en

cfg_aer_ecrc_check_en

cfg_pciecap_interrupt_msgnum[4:0] 新規割り込みインターフェイス信号

cfg_interrupt_stat

cfg_vc_tcvc_map[6:0] 新規 TC/VC マップ信号

注記 :1. ASPM L1 は 7 Series Integrated Block for PCIe ではサポート されません。

表 A‐1 : コンフ ィギュレーシ ョ ン インターフェイスの変更点 (続き)

名前Virtex‐6 FPGA Integrated Block for PCI 

Express の信号名

 7 Series FPGAs Integrated Block for 

PCI Express の信号名

Page 274: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 274

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

• cfg_err_mc_blocked

• cfg_err_internal_uncor

• cfg_err_internal_cor

• cfg_err_norecovery

ID 初期値

ID 初期値 (ベンダー ID、デバイス ID、 リ ビジ ョ ン ID、サブシステム ベンダー ID およびサブシステム ID) は、Virtex-6FPGA Integrated Block for PCI Express では属性でしたが、 7 Series FPGAs Integrated Block for PCI Express では入力ポート に変更されています。 これらの値は Vivado® 統合設計環境 (IDE) で設定され、 7 Series FPGAs Integrated Block forPCI Express でこれらのポートの駆動に使用されます。 これらのポートは、 ラ ッパーのコア バウンダ リでは使用できませんが、 7 Series FPGAs Integrated Block for PCI Express の 上位ラ ッパー内では使用できます。 表 A-3 には、 ID 値とそれに対応するポートが リ ス ト されています。

物理層インターフェイス

表 A-4 および 表 A-5 には、 7 Series FPGAs Integrated Block for PCI Express での物理層インターフェイスの変更点を リス ト しています。

ダイナミ ック  リコンフ ィギュレーシ ョ ン  ポート  インターフェイス

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート インターフェイスの信号名の中には、7 Series FPGAs Integrated Blockfor PCI Express で変更されているものがあ り ます。 表 A-6 は、 このインターフェイスで変更された信号を示しています。

表 A‐3 : ID 値と対応ポート

ID 値 入力ポート

ベンダー ID cfg_vend_id[15:0]

デバイス ID cfg_dev_id[15:0]

リ ビジ ョ ン ID cfg_rev_id[7:0]

サブシステム ベンダー ID cfg_subsys_vend_id[15:0]

サブシステム ID cfg_subsys_id[15:0]

表 A‐4 :物理層信号名の変更点

Virtex‐6 FPGA Integrated Block for PCI Express コアでの名前 7 Series FPGAs Integrated Block for PCI Express コアでの名前

pl_link_gen2_capable pl_link_gen2_cap

pl_link_upcfg_capable pl_link_upcfg_cap

pl_sel_link_rate pl_sel_lnk_rate

pl_sel_link_width pl_sel_lnk_width

表 A‐5 :新しい物理層信号

信号 説明

pl_directed_change_done 指定した変更が終了したこ とを示す

pl_phy_lnk_up 物理層リ ンク アップ ステータスを示す

pl_rx_pm_state RX パワー マネージメン ト ステート を示す

pl_tx_pm_state TX パワー マネージメン ト ステート を示す

Page 275: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 275

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

TRN から  AXI への移行に関する注意事項

このセクシ ョ ンでは、 Virtex-6 FPGA Integrated Block for PCI Express コア (v1.x、 TRN インターフェイス) から 7 SeriesFPGAs Integrated Block for PCI Express® コアにアップグレードする場合の、 信号名および動作の変更点について説明します。

概要

7 Series FPGAs Integrated Block for PCI Express では、 メ イン ユーザー インターフェイスが TRN から標準 AXI4-Streamへと変り、 その信号名および動作にアップデート されています。 また、 アクティブ Low であったすべての制御信号がアクティブ High に変更されています。 コアの主な変更点は次のとおりです。

• 信号名の変更

• データパス DWORD の順序

• すべての制御信号をアクティブ High に変更

• SOF (Start-of-frame) 信号は暗示

• 余り信号はス ト ローブ信号に置換

詳細な移行手順

このセクシ ョ ンでは、 TRN をベースにした既存のユーザー アプリ ケーシ ョ ンを AXI4-Stream インターフェイスに移行する方法について説明します。

1. 表 A-7 で 「名前の変更のみ」 と記述されている信号の場合は、 該当ユーザー アプリ ケーシ ョ ン信号を新しい名前のコア信号に接続します。

2. 表 A-7 で 「名前の変更、 極性」 と記述されている信号の場合は、 インバーターを追加し、 該当ユーザー アプリケーシ ョ ン信号を新しい名前のコア信号に接続します。

3. データパス信号の DWORD 順序の入れ替えについては、 「データパス DWORD の順序」 を参照してください。

4. 元々 trn_tsof_n に接続されていたユーザー アプリ ケーシ ョ ン信号は未接続のままにしておきます。

5. 「SOF (Start-Of-Frame) 信号」での説明に従い trn_rsof_n を作成し直し、元々接続されていたよ うにユーザー アプリ ケーシ ョ ンに接続します。

6. 「余り信号/ス ト ローブ信号」 での説明に従い、 必要な変更を加えます。

7. 元のデザインで trn_rsrc_dsc_n を使用していた場合は、 「受信でのパケッ ト転送の中断」 での説明に従って変更してください。 そ うでないと未接続のままになってしまいます。

8. 「受信でのパケッ トの並べ替え」 での説明に従い、 変更を加えます。

信号の変更

表 A-7 には、 TRN Local-Link と AXI4-Stream での信号の主な違いがまとめられています。

表 A‐6 : ダイナミ ック  リ コンフ ィギュレーシ ョ ン ポート名の変更

Virtex‐6 FPGA Integrated Block for PCI Express 

での名前 

7 Series FPGAs Integrated Block for PCI Express 

での名前

pcie_drp_den pcie_drp_en

pcie_drp_dwe pcie_drp_we

pcie_drp_daddr pcie_drp_addr

pcie_drp_drdy pcie_drp_rdy

Page 276: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 276

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

表 A‐7 : インターフェイスの変更点

TRN での名前 AXI4‐Stream での名前 相違点

共通インターフェイス

sys_reset_n sys_rst_n 変更なし

trn_clk user_clk_out 名前の変更、 極性

trn_reset_n user_reset_out 名前の変更、 極性

trn_lnk_up_n user_lnk_up 名前の変更、 極性

trn_fc_ph[7:0] fc_ph[7:0] 名前の変更のみ

trn_fc_pd[11:0] fc_pd[11:0] 名前の変更のみ

trn_fc_nph[7:0] fc_nph[7:0] 名前の変更のみ

trn_fc_npd[11:0] fc_npd[11:0] 名前の変更のみ

trn_fc_cplh[7:0] fc_cplh[7:0] 名前の変更のみ

trn_fc_cpld[11:0] fc_cpld[11:0] 名前の変更のみ

trn_fc_sel[2:0] fc_sel[2:0] 名前の変更のみ

送信インターフェイス

trn_tsof_n 32 および 64 ビッ ト バージ ョ ンに相当するものなし (資料参照)

trn_teof_n s_axis_tx_tlast 名前の変更、 極性

trn_td[W-1:0]

(W = 32、 64、 または 128)s_axis_tx_tdata[W-1:0] 名前の変更、 DWORD の順序 (資料参照)

trn_trem_n

(64 ビッ ト インターフェイス)

s_axis_tx_tkeep[7:0] 名前の変更、 機能の違い (資料参照)

trn_trem_n[1:0]

(128 ビッ ト インターフェイス)

s_axis_tx_tkeep[15:0] 名前の変更、 機能の違い (資料参照)

trn_tsrc_rdy_n s_axis_tx_tvalid 名前の変更、 極性

trn_tdst_rdy_n s_axis_tx_tready 名前の変更、 極性

trn_tsrc_dsc_n s_axis_tx_tuser[3] 名前の変更、 極性

trn_tbuf_av[5:0] tx_buf_av[5:0] 名前の変更

trn_terr_drop_n tx_err_drop 名前の変更、 極性

trn_tstr_n s_axis_tx_tuser[2] 名前の変更、 極性

trn_tcfg_req_n tx_cfg_req 名前の変更、 極性

trn_tcfg_gnt_n tx_cfg_gnt 名前の変更、 極性

trn_terrfwd_n s_axis_tx_tuser[1] 名前の変更、 極性

受信インターフェイス

trn_rsof_n 32 および 64 ビッ ト バージ ョ ンに相当するものなし

trn_reof_nm_axis_rx_tlast (64b)

is_eof[4] (128b) 名前の変更、 極性

trn_rd[W-1:0]

(W = 32、 64、 または 128)m_axis_rx_tdata[W-1:0] 名前の変更、 DWORD の順序

Page 277: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 277

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

trn_rrem_n (64 ビッ ト インターフェイ

ス)m_axis_rx_tkeep 名前の変更、 機能の違い (資料参照)

trn_rrem_n[1:0] (128 ビッ ト インターフェイ

ス)

m_axis_rx_tuser[14:10], m_axis_rx_tuser[21:17] 名前の変更、 機能の違い (資料参照)

trn_rerrfwd_n m_axis_rx_tuser[1] 名前の変更、 極性

trn_rsrc_rdy_n m_axis_rx_tvalid 名前の変更、 極性

trn_rdst_rdy_n m_axis_rx_tready 名前の変更、 極性

trn_rsrc_dsc_n 相当なし

trn_rnp_ok_n rx_np_ok 名前の変更、 極性、 追加遅延 (資料参照)

trn_rbar_hit_n[7:0] m_axis_rx_tuser[9:2] 名前の変更、 極性

コンフ ィギュレーシ ョ ン  インターフェイス

cfg_rd_wr_done_n cfg_mgmt_rd_wr_done 名前の変更、 極性

cfg_byte_en_n[3:0] cfg_mgmt_byte_en[3:0] 名前の変更、 極性

cfg_wr_en_n cfg_mgmt_wr_en 名前の変更、 極性

cfg_rd_en_n cfg_mgmt_rd_en 名前の変更、 極性

cfg_pcie_link_state_n[2:0] cfg_pcie_link_state[2:0] 名前の変更のみ

cfg_trn_pending_n cfg_trn_pending 名前の変更、 極性

cfg_to_turnoff_n cfg_to_turnoff 名前の変更、 極性

cfg_turnoff_ok_n cfg_turnoff_ok 名前の変更、 極性

cfg_pm_wake_n cfg_pm_wake 名前の変更、 極性

cfg_wr_rw1c_as_rw_n cfg_mgmt_wr_rw1c_as_rw 名前の変更、 極性

cfg_interrupt_n cfg_interrupt 名前の変更、 極性

cfg_interrupt_rdy_n cfg_interrupt_rdy 名前の変更、 極性

cfg_interrupt_assert_n cfg_interrupt_assert 名前の変更、 極性

cfg_err_ecrc_n cfg_err_ecrc 名前の変更、 極性

cfg_err_ur_n cfg_err_ur 名前の変更、 極性

cfg_err_cpl_timeout_n cfg_err_cpl_timeout 名前の変更、 極性

cfg_err_cpl_unexpect_n cfg_err_cpl_unexpect 名前の変更、 極性

cfg_err_cpl_abort_n cfg_err_cpl_abort 名前の変更、 極性

cfg_err_posted_n cfg_err_posted 名前の変更、 極性

cfg_err_cor_n cfg_err_cor 名前の変更、 極性

cfg_err_cpl_rdy_n cfg_err_cpl_rdy 名前の変更、 極性

cfg_err_locked_n cfg_err_locked 名前の変更、 極性

表 A‐7 : インターフェイスの変更点 (続き)

TRN での名前 AXI4‐Stream での名前 相違点

Page 278: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 278

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

データパス DWORD の順序

TRN インターフェイス と比べる と、AXI4-Stream インターフェイスでは DWORD の位置が入れ替えられますが、バイト順序は個々の DWORD 内で保持されます。 この変更は、 64 ビッ トおよび 128 ビッ ト バージ ョ ンのコアにのみ影響します。図 A-1 および 図 A-2 は、 TRN と AXI4-Stream での、 64 ビッ トおよび 128 ビッ トの両方の DWORD 入れ替え順序を示しています。

64 ビッ トおよび 128 ビッ トの TRN ベースの既存デザインを移行する場合は、 s_axis_tx_tdata[W-1:0] およびs_axis_rx_rdata[W-1:0] バスの DWORD 位置を、 コアに出入力する際に入れ替える必要があ り ます。

たとえば、 次のよ うな既存のユーザー アプリ ケーシ ョ ン擬似コードがある と します。

usr_trn_rd[127:0] = trn_rd[127:0];

これを次のよ うに変更する必要があ り ます。

usr_trn_rd[127:96] = s_axis_rx_rdata[31:0]usr_trn_rd[95:64] = s_axis_rx_rdata[63:32]usr_trn_rd[63:32] = s_axis_rx_rdata[95:64]usr_trn_rd[31:0] = s_axis_rx_rdata[127:96]

SOF (Start‐Of‐Frame) 信号

AXI4-Stream には、 32 ビッ トおよび 64 ビッ ト バージ ョ ンの SOF (trn_tsof_n および trn_rsof_n) に該当する信号はあ り ません。送信側では、既存の TRN デザインのユーザーの trn_tsof_n 接続を未接続のままにしておく こ とができますが、 受信側では、 必要に応じて簡単なロジッ クを使用して trn_rsof_n を作成し直すこ とができます。

32 および 64 ビッ ト  インターフェイス

まず、 in_packet_reg とい うシーケンシャル (ク ロ ッ ク付き ) 信号を作成します。次に、 コアからの既存信号を使用した組み合わせロジッ ク ファンクシ ョ ンを使用する と、 次の擬似コードで示すよ うに trn_rsof_n を作成し直すことができます。

For every clock cycle (user_clk_out) do { if(reset)in_packet_reg = 0

else if (m_axis_rx_tvalid and m_axis_rx_tready)in_packet_reg = !m_axis_rx_tlast

}

X-Ref Target - Figure A-1

図 A‐1 : TRN と  AXI のデータ  バスでの DWORD 順序 (64 ビッ ト )

X-Ref Target - Figure A-2

図 A‐2 : TRN と  AXI のデータ  バスでの DWORD 順序 (128 ビッ ト )

trn_td[63:0]trn_rd[63:0]

s_axis_tx_tdata[63:0]m_axis_rx_rdata[63:0]

DW0 DW1

DW1 DW0

trn_td[127:0]trn_rd[127:0]

s_axis_tx_tdata[127:0]m_axis_rx_rdata[127:0]

DW0 DW1 DW2 DW3

DW3 DW2 DW1 DW0

Page 279: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 279

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

trn_rsof_n = !(m_axis_rx_tvalid & !in_packet_reg)

128 ビッ ト  インターフェイス

128 ビッ ト インターフェイスは SOF 信号を提供します。ユーザーは (rx_is_sof[4]) m_axis_rx_tuser[14] を反転させる と、 trn_rsof_n を作成し直すこ とができます。

余り信号/スト ローブ信号

このセクシ ョ ンでは、余り信号である trn_trem_n[1:0] および trn_rrem_n[1:0] への変更点について説明します。

AXI4-Stream インターフェイスでは、 余り信号の代わりにス ト ローブ信号 (バイ ト イネーブル) が使用されます。 スト ローブ信号と余り信号の違いは、 表 A-8 に示すよ うに主に 3 つあり ます。 また、 コアの 64 ビッ ト バージ ョ ンと 128 ビッ ト バージ ョ ンでも違いがあ り ます。 128 ビッ ト RX バージ ョ ンでは、 ス ト ローブ信号の代わりに、trn_rrem[1:0] が (rx_is_sof[4:0]) m_axis_rx_tuser[14:10] および (rx_is_eof[4:0]) m_axis_rx_tuser[21:17] に置き換えられます。 便宜上、 このセクシ ョ ンでは 64 ビッ トおよび 128 ビッ トの送信および受信動作を別々に扱って説明します。

64 ビッ ト送信 

既存の TRN デザインでは、 trn_trem 信号から s_axis_tx_tkeep[7:0] 信号へ簡単に変換ができます。 trn_trem入力を駆動する信号が 「user_trn_trem」 とい う名前になっている と して、 次のコードでは s_axis_tx_tkeep[7:0]へ変換が行われます。tvalid がアサート されるすべてのクロ ッ ク サイ クルで s_axis_tx_tkeep[7:0] を駆動する必要があ り ます。

if s_axis_tx_tlast == 1 //in a packet at EOFs_axis_tx_tkeep[7:0] = user_trn_trem_n ?0Fh :FFh

else //in a packet but not EOF, or not in a packets_axis_tx_tkeep = FFh

64 ビッ ト受信

既存の TRN デザインは、 m_axis_rx_tkeep[7:0] を簡単に変換し、組み合わせロジッ クを使用して trn_rrem 信号を作成し直すこ とができます。 次は、 その変換を実行するコード例です。

if (C_DATA_WIDTH == 64)begin assign trn_rrem = m_axis_rx_tlast ?(m_axis_rx_tkeep == 8'hFF) ?1'b1 :1'b0:1'b1;end

128 ビッ ト送信

既存の TRN デザインでは、 trn_trem[1:0] 信号から s_axis_tx_tkeep[15:0] 信号へ簡単に変換ができます。trn_trem[1:0] 入力を駆動する信号が 「user_trn_trem[1:0]」 と い う 名前になっている と し て、 次のコー ド ではs_axis_tx_tkeep[15:0] へ変換が行われます。 すべてのクロ ッ ク サイ クルで s_axis_tx_tkeep[15:0] を駆動する必要があ り ます。

表 A‐8 :余り信号の違い

TRN の余り信号64 ビッ ト  : trn_trem_n、 trn_rrem_n

128 ビッ ト  : trn_trem_n[1:0]、 trn_rrem_n[1:0]

AXI4‐Stream のストローブ信号64 ビッ ト  : s_axis_tx_tkeep[7:0]、 m_axis_rx_tkeep[7:0]

128 ビッ ト  : s_axis_tx_tkeep[15:0]、 rx_is_sof[4:0]、 rx_is_eof[4:0]

アクティブ Low アクティブ High

DWORD で動作 バイ トで動作

EOF (End-of-Frame) サイクルでのみ有効 tvalid および tready がアサート されるすべてのサイクルで有効

Page 280: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 280

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

if s_axis_tx_tlast == 1 //in a packet at EOF if user_trn_trem_n[1:0]==00b

s_axis_tx_tkeep[15:0] = FFFFh else if user_trn_trem_n[1:0] = 01b

s_axis_tx_tkeep[15:0] = 0FFFh else if user_trn_trem_n[1:0] = 10b

s_axis_tx_tkeep[15:0] = 00FFh else if user_trn_trem_n[1:0] = 11b

s_axis_tx_tkeep[15:0] = 000Fh

else //in a packet but not EOF, or not in a packets_axis_tx_tkeep =FF FFh

128 ビッ ト受信

128 ビ ッ ト の受信余 り信号の trn_rrem[1:0] には、 AXI4-Stream 用に同等のス ト ローブ信号がな く、 代わ り に(is_sof[4:0]) m_axis_rx_tuser[14:10] および (is_eof[4:0]) m_axis_rx_tuser[21:17] が使用されます。 既存の TRN デザインでは、 rx_is_sof および rx_is_eof 信号を変換し、 組み合わせロジッ クを使用してtrn_rrem[1:0] を作成し直すこ とができます。 次は、 その変換を実行するコード例です。 このコードでは、 ユーザーが AXI4-Stream インターフェイスから DWORD 位置を入れ替えたと想定しています (usr_trn_rd[127:0] 信号のコード例を参照)。

trn_rrem[1] = ( (rx_is_sof[4] && rx_is_eof[4] && rx_is_eof[3]) || (!rx_is_sof[4] && rx_is_eof[4] && rx_is_eof[3]) || (rx_is_sof[4] && !rx_is_eof[4] && !rx_is_sof[3]) )

trn_rrem_n[0] = !rx_is_eof[2]

注記 : 128 ビッ ト インターフェイスでは、 m_axis_rx_tlast 信号がまった く使用されず (Low に接続)、 代わりにm_axis_rx_tuser 信号が使用されます。

受信でのパケッ ト転送の中断

TRN インターフェイスでは、 trn_rsrc_dsc_n 信号がアサート される と、 受信したパケッ トが中断されたこ とを意味します。AXI4-Stream インターフェイスには、 これに相当する信号はあ り ません。ただし、TRN および AXI4-Streamコアの両方で、 リ ンク接続が失われる と、 パケッ トが受信インターフェイスで中断されるだけなので、 受信パケッ トの中断状態を判断するため user_lnk_up 信号を監視するこ とができます。

TRN インターフェイスでは、データ インターフェイスのパケッ ト送信 (trn_rd) が trn_rsrc_dsc_n のアサート直後に停止し、 trn_reof_n はその後アサート されな くなるこ とがあ り ます。 AXI4-Stream インターフェイスでは、 適切な長さの TLP になる よ うパディ ングされ、 データが破損していても m_axis_rx_tlast がアサー ト されます。図 A-3 および 図 A-4 は、パケッ ト中断を知らせるTRN および AXI4-Stream の信号を示しています。trn_rsrc_dsc_n信号を作成し直すには、 user_lnk_up を反転して、 1 ク ロ ッ ク サイクルの遅延を追加します。

Page 281: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 281

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

受信でのパケッ トの並べ替え

TRN インターフェイスでは、trn_rnp_ok_n 信号を使用して受信インターフェイスの TLP ト ラフ ィ ッ クが並べ替えられます。 AXI4-Stream インターフェイスには、 rx_np_ok に相当する信号はあ り ません。 表 A-9 で説明されているAXI4-Stream インターフェイスでの 2 つの違いに対処する必要があ り ます。 これらの違いは、 カスタム ロジッ クで処理する必要があ り ます。 ユーザー アプリ ケーシ ョ ンでパケッ ト を並べ替えない場合は、 rx_np_ok を 1b に接続しておきます。

X-Ref Target - Figure A-3

図 A‐3 : TRN インターフェイスの受信中断

X-Ref Target - Figure A-4

図 A‐4 : AXI4‐Stream インターフェイスの受信中断

表 A‐9 : AXI4‐Stream インターフェイスでの相違点

TRNtrn_rnp_ok_n

AXI4‐Streamrx_np_ok

アクティブ Low アクティブ High

ユーザーが受け入れるこ とができる 後から 2 番目のノンポステッ ド TLP である trn_reof_n の少なく と も 1ク ロ ッ ク サイ クル前にディアサート します。

ユーザーが受け入れるこ とができる 後から 2 番目のノンポステッ ド TLP である is_eof[4] の、 少なく と も 1ク ロ ッ ク サイクル前にディアサート します。

trn_clk

trn_lnk_up_n

trn_rd[127:0]

trn_sof_n

trn_eof_n

trn_rsrc_rdy_n

trn_rdst_rdy_n

trn_rrem_n[1]

trn_rrem_n[0]

trn_rsrc_dsc_n

user_clk_out

user_lnk_up

m_axis_rx_tdata[127:0]

m_axis_rx_tready

m_axis_rx_tvalid

(rx_is_sof[4:0])m_axis_rx_tuser[14:10]

(rx_is_eof[4:0])m_axis_rx_tuser[21:17]

D0H2H1H0 D4D3D2D1 D8D7D6D5 PAD PAD

10000b 00000b

00000b 11111b

original TLP data was lost

Page 282: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 282

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

システム リセッ ト

システム リセッ トは、 通常アクティブ Low 信号である PERST# で提供されます。

Vivado Design Suite でのアップグレード

このセクシ ョ ンでは、Vivado Design Suite でこの IP コアの 新版にアップグレードする際の、ユーザー ロジッ クおよびポートの変更について説明します。

パラメーターの変更点 

表 A-10 には現在のバージ ョ ンのコアでのパラ メーター変更がまとめられています。

ポートの変更点 

Enable External Startup Primitive が FALSE に設定されていて、[Tandem PROM] または [Tandem PCIe] のいずれかが選択されている と、 表 A-11 のポートはイネーブルにな り ます。 だたし、 例外があ り、 Enable External Startup Primitive がTRUE に設定されていて、 [Tandem PROM] または [Tandem PCIe] のいずれかが選択されている場合にのみ、 ポー トstartup_eos_in はイネーブルになり ます。

表 A‐10 :パラメーターの変更

ユーザー パラメーター名  表示名新規/変更/削

除 詳細  デフォルト値

en_ext_startup Enable External STARTUP primitive

新規 STARTUP イ ン ターフ ェ イ スをイネーブルにします。

チ ェ ッ ク さ れていません (FALSE)

表 A‐11 : 上位インターフェイス ポート

ポート   方向 (I/O)  幅 

startup_cfgmclk O 1 ビッ ト

startup_usrcclko I 1 ビッ ト

startup_usrdoneo I 1 ビッ ト

startup_clk I 1 ビッ ト

startup_pack I 1 ビッ ト

startup_gsr I 1 ビッ ト

startup_keyclearb I 1 ビッ ト

startup_gts I 1 ビッ ト

startup_usrcclkts I 1 ビッ ト

startup_eos O 1 ビッ ト

startup_preq O 1 ビッ ト

startup_cfgclk O 1 ビッ ト

Page 283: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 283

PG054 2013 年 12 月 18 日

付録 A : 移行およびアップグレード

表 A-12 のポートは [Tandem PCIe] が選択されている と イネーブルになり ます。

表 A-13 のポートは、 既存の ト ランシーバー デバッグ インターフェイスに追加されます。 このインターフェイスは、前のバージ ョ ンのコアでは pcie_pipe_debug と呼ばれていたものです。 これらのポー ト も、 [Additional TransceiverControl and Status Ports] が TRUE に設定される と イネーブルになり ます。

startup_usrdonets I 1 ビッ ト

stratup_eos_in I 1 ビッ ト

表 A‐12 : ICAP インターフェイス ポート

ポート   方向 (I/O)  幅 

icap_csib I 1 ビッ ト

icap_o O 32 ビッ ト

icap_rdwrb I 1 ビッ ト

icap_clk I 1 ビッ ト

icap_i I 32 ビッ ト

表 A‐13 : ト ランシーバー デバッグ インターフェイス

ポート   方向 (I/O)  幅 

pipe_rxstatus O [LINK_CAP_MAX_LINK_WIDTH-1:0]

pipe_dmonitorout O [(LINK_CAP_MAX_LINK_WIDTH*3)-1:0]

pipe_eyescandataerror O [(LINK_CAP_MAX_LINK_WIDTH*15)-1:0]

pipe_cpll_lock O [(LINK_CAP_MAX_LINK_WIDTH)-1:0]

pipe_qpll_lock O [(LINK_CAP_MAX_LINK_WIDTH-1)>>2:0]

pipe_rxpmaresetdone O [(LINK_CAP_MAX_LINK_WIDTH)-1:0]

pipe_rxbufstatus O [(LINK_CAP_MAX_LINK_WIDTH*3)-1:0]

pipe_txphaligndone O [(LINK_CAP_MAX_LINK_WIDTH)-1:0]

pipe_txphinitdone O [(LINK_CAP_MAX_LINK_WIDTH)-1:0]

pipe_txdlysresetdone O [(LINK_CAP_MAX_LINK_WIDTH)-1:0]

pipe_rxphaligndone O [(LINK_CAP_MAX_LINK_WIDTH)-1:0]

pipe_rxdlysresetdone O [(LINK_CAP_MAX_LINK_WIDTH)-1:0]

pipe_rxsyncdone O [(LINK_CAP_MAX_LINK_WIDTH)-1:0]

pipe_rxdisperr O [(LINK_CAP_MAX_LINK_WIDTH*8)-1:0]

pipe_rxnotintable O [(LINK_CAP_MAX_LINK_WIDTH*8)-1:0]

pipe_rxcommadet O [(LINK_CAP_MAX_LINK_WIDTH)-1:0]

表 A‐11 : 上位インターフェイス ポート  (続き)

ポート   方向 (I/O)  幅 

Page 284: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 284

PG054 2013 年 12 月 18 日

付録 B

デバッグこの付録では、 ザイ リ ンクスのサポート ウェブサイ トにある リ ソースを紹介し、 デバッグ ツールについて説明します。

ザイリンクス ウェブサイ ト

7 series FPGA を使用し た設計およびデバッ グ プロセスについては、 ザイ リ ン ク ス サポー ト ウ ェブサイ ト(japan.xilinx.com/support) に含まれる製品ガイ ド、 リ リース ノー ト、 アンサー レコードなどを参照するか、 テクニカル サポートでケースを開いてください。

資料

本書は、 7 Series Integrated Block for PCIe に関する主な資料で、設計プロセスを支援するすべての製品に関連した資料と共に、ザイ リ ンクス サポート ウェブページ (www.xilinx.com/support)、またはザイ リ ンクスの Documentation Navigatorから入手できます。

Documentation Navigator は、ダウンロード ページ (japan.xilinx.com/download) の [デザイン ツール] タブからダウンロードできます。このツールおよび使用可能な機能についての詳細は、インス トール後にオンライン ヘルプを参照してください。

ソリューシ ョ ン  センター

デバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 デザイン アシスタン ト 、 アドバイザリ、 ト ラブルシュート ヒ ン ト といった項目があ り ます。

7 Series Integrated Block for PCIe コアに関するソ リ ューシ ョ ン センターは、 PCI Express のソ リ ューシ ョ ン センターを参照してください。

アンサー レコード

アンサー レコードには、 よ く発生する問題についてや、その解決方法、およびザイ リ ンクス製品に関する既知の問題についての情報が記載されています。ユーザーが も正確な情報にアクセスできるよ う、アンサー レコードは毎日作成、 管理されています。

このコアのアンサー レコードはザイ リ ンクス サポート ウェブページの検索ボッ クスから検索できます。 よ り的確な検索結果を得るには、 次のよ うな適切なキーワードを使用してください。

• 製品名

• ツールで表示される メ ッセージ

• 問題の概要

検索結果が表示された後さらにフ ィルター検索もできます。

Page 285: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 285

PG054 2013 年 12 月 18 日

付録 B : デバッグ

7 Series Integrated Block for PCIe のマスター アンサー レコード

アンサー レコード : 54643

テクニカル サポート  

ザイ リ ンクスでは、 本書に記述されているよ うに、 japan.xilinx.com/support から この LogiCORE™ IP 製品のテクニカル サポート を提供しています。マニュアルで定義されていないデバイスにインプリ メン ト した り、製品マニュアルで記述されている範囲を超えてカスタマイズした り、 「DO NOT MODIFY」 と記述されているデザイン セクシ ョ ンに変更を加えたり した場合、 タイ ミ ング、 機能、 製品サポートは保証されません。

テクニカル サポートへのお問い合わせ方法は、 次のとおりです。

1. japan.xilinx.com/support にアクセスします。

2. 「その他のリ ソース」 の下のウェブケースを作成リ ンクをク リ ッ ク して、 ウェブケースを開きます。

ウェブケースを作成する際には、 次の情報を含めてください。

• パッケージおよびスピード グレードを含むターゲッ ト FPGA

• 該当するザイ リ ンクス デザイン ツールすべてとシ ミ ュレータのソフ ト ウェア バージ ョ ン

• これ以外にも、 その問題に関するファイルが必要な場合もあ り ます。 ウェブケースに含める特定ファイルについては、 本書の関連セクシ ョ ンを参照してください。

注記 :すべてのケースでウェブケースにアクセスできる というわけではあ り ません。 ウェブケースにログインしてサポート オプシ ョ ンを確認してください。

デバッグ ツール

PCI Express デザイン問題をデバッグできるツールは多くあ り ます。 このセクシ ョ ンでは、 さまざまな状況をデバッグするのに 適なツールを紹介します。

Vivado ラボ ツールVivado® ラボ ツールは、 Logic Analyzer (ILA) および Virtual I/O (VIO) コアをデザインに直接挿入します。 Vivado ラボツールを使用する と、 ト リガー条件を設定して、 アプリ ケーシ ョ ンおよび統合ブロ ッ クのポート信号をハード ウェアに取り込むこ とができます。取り込まれた信号は、 この後解析できます。 この機能は Vivado 統合設計環境 (IDE) で使用でき、ハード ウェア上のザイ リ ンクス FPGA デバイスで実行されるデザインの論理デバッグおよび検証に使用されます。

Vivado ロジッ ク アナライザーは次の LogiCORE IP ロジッ ク デバッグ コアに使用されます。

• ILA 2.0 (およびそれ以降のバージ ョ ン)

• VIO 2.0 (およびそれ以降のバージ ョ ン)

詳し くは、『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』[参照 18] (UG908) を参照してください。

リファレンス ボード

さまざまなザイ リ ンクス開発ボードで 7 Series Integrated Block for PCIe がサポート されています。 これらのボードは、デザインのプロ ト タイプを作成し、 コアがシステムと通信できるよ うにするために使用できます。

• 7 シ リーズ評価ボード

Page 286: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 286

PG054 2013 年 12 月 18 日

付録 B : デバッグ

° KC705

° KC724

° VC707

° AC701

リンク  アナライザー

サードパーティの リ ンク アナライザーには、 リ ンク ト ラフ ィ ッ クがグラフ ィ ッ クカルにまたはテキス ト形式で表示されます。 よ く使用されるアナライザーは、 Lecroy 社、 Agilent 社、 Vmetro 社などから提供されています。 これらのツールを使用する と、 リ ンク問題をデバッグしやすくな り、 またザイ リ ンクスのサポート担当者がリ ンク動作を理解できるよ うにデータを取り込むこ とができます。

サードパーティ  ツール

このセクシ ョ ンでは、 デバッグに便利なサードパーティ ソフ ト ウェア ツールについて説明します。

LSPCI (Linux)

LSPCI は Linux プラ ッ ト フォームで使用可能で、 PCI Express のデバイス コンフ ィギュレーシ ョ ン空間を確認することができます。 LSPCI は、 通常 /sbin ディレク ト リにあ り ます。 LSPCI では、 システム内の PCI バスのデバイス リス トが表示されます。 コマンド オプシ ョ ンについては、 LSPCI のマニュアルを参照してください。デバッグに便利なコマンドには、 次のよ うなものがあ り ます。

• lspci -x -d [<vendor>]:[<device>]

これは、 ベンダーとデバイス ID を指定して、 コンフ ィギュレーシ ョ ン空間の 初の 64 バイ ト を 16 進数形式で表示するコマンドです。すべてのデバイスの情報を表示する場合は、 -d オプシ ョ ンは使用しません。 ザイ リ ンクス コアのデフォルトのベンダー ID は 10EE です。 次は、 ザイ リ ンクス デバイスのコンフ ィギュレーシ ョ ン空間が読み出された例です。

> lspci -x -d 10EE:702881:00.0 Memory controller:Xilinx Corporation:Unknown device 702800: ee 10 28 70 07 00 10 00 00 00 80 05 10 00 00 0010 :00 00 80 fa 00 00 00 00 00 00 00 00 00 00 00 0020 :00 00 00 00 00 00 00 00 00 00 00 00 ee 10 6f 5030 :00 00 00 00 40 00 00 00 00 00 00 00 05 01 00 00

コンフ ィギュレーシ ョ ン空間のこのセクシ ョ ンには、 デバイス ID、 ベンダー ID、 ク ラス コード、 ステータス、コマンドおよびベース アドレス レジスタが含まれます。

• lspci -xxxx -d [<vendor>]:[<device>]

これは、デバイスの拡張されたコンフ ィギュレーシ ョ ン空間を表示するコマンドで、ルートの拡張コンフ ィギュレーシ ョ ン空間を読み出し、 アドバンス エラー レポート (AER) レジスタを検索するのに便利です。 これらのレジスタから、 デバイスがエラーをフラグした理由の詳細が確認できます。 たとえば、 再生タイマーのタイムアウトが発生する と修正可能なエラーがレポート されたり します。

• lspci -k

デバイスごとにカーネル ド ラ イバーとそれを処理できるカーネル モジュールを表示します (カーネル 2.6 またはそれ以降で使用できます)。

PCItree (Windows)

PCItree は、 www.pcitree.de からダウンロードできます。 これを使用し、 PCI Express デバイスのコンフ ィギュレーシ ョン空間を表示して、 開口部への 1 DWORD メモ リ書き込みおよび読み出しが実行できます。

Page 287: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 287

PG054 2013 年 12 月 18 日

付録 B : デバッグ

コンフ ィギュレーシ ョ ン空間は、 デバイスを選択する と、 図 B-1 のよ うに右下にデフォルトで表示されます。

PCI‐SIG ソフ トウェア

PCIE-CV のよ うな PCI-SIG® ソフ ト ウェアは、 仕様に準拠しているかど うかをテス トするために使用できます。 このソフ ト ウェアは、 www.pcisig.com からダウンロードできます。

X-Ref Target - Figure B-1

図 B‐1 : PCItree で表示されるコンフ ィギュレーシ ョ ン空間

Page 288: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 288

PG054 2013 年 12 月 18 日

付録 B : デバッグ

シ ミ ュレーシ ョ ンのデバッグ

Questa® SIM のシ ミ ュレーシ ョ ン デバッグ フローが図 B-2 に説明されています。

注記 :図 B-2 でグレー表示されているエンドポイン トは、 このセクシ ョ ンで説明されています。

X-Ref Target - Figure B-2

図 B‐2 : Questa SIM のデバッグ フロー図 

Page 289: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 289

PG054 2013 年 12 月 18 日

付録 B : デバッグ

PIO シミ ュレータの予期出力

PIO デザイン シ ミ ュレーシ ョ ンは、 次のよ うな出力になり ます。

# Running test {pio_writeReadBack_test0}......# [ 0] :System Reset Asserted...# [ 4995000] :System Reset De-asserted...# [ 48743324] :Transaction Reset Is De-asserted...# [ 50471408] :Transaction Link Is Up...# [ 50535337] :TSK_PARSE_FRAME on Transmit# [ 53799296] :TSK_PARSE_FRAME on Receive# [ 58535316] : Check Max Link Speed = 2.5GT/s - PASSED# [ 58535316] :Check Negotiated Link Width = 01x - PASSED# [ 58583267] :TSK_PARSE_FRAME on Transmit# [ 60967220] :TSK_PARSE_FRAME on Receive# [ 66583220] : Check Device/Vendor ID - PASSED# [ 66631220] :TSK_PARSE_FRAME on Transmit# [ 69031328] :TSK_PARSE_FRAME on Receive# [ 74631328] : Check CMPS ID - PASSED# [ 74631328] :SYSTEM CHECK PASSED# [ 74631328] :Inspecting Core Configuration Space...# [ 74679316] :TSK_PARSE_FRAME on Transmit# [ 76327322] :TSK_PARSE_FRAME on Transmit# [ 77031308] :TSK_PARSE_FRAME on Receive# [ 78727272] :TSK_PARSE_FRAME on Receive# [ 84375277] :TSK_PARSE_FRAME on Transmit# [ 86023267] :TSK_PARSE_FRAME on Transmit# [ 86727220] :TSK_PARSE_FRAME on Receive# [ 88423220] :TSK_PARSE_FRAME on Receive# [ 94071220] :TSK_PARSE_FRAME on Transmit# [ 95719220] :TSK_PARSE_FRAME on Transmit# [ 96423288] :TSK_PARSE_FRAME on Receive# [ 98119322] :TSK_PARSE_FRAME on Receive# [ 103767322] :TSK_PARSE_FRAME on Transmit# [ 105415337] :TSK_PARSE_FRAME on Transmit# [ 106119316] :TSK_PARSE_FRAME on Receive# [ 107815316] :TSK_PARSE_FRAME on Receive# [ 113463267] :TSK_PARSE_FRAME on Transmit# [ 115111308] :TSK_PARSE_FRAME on Transmit# [ 115815207] :TSK_PARSE_FRAME on Receive# [ 117511220] :TSK_PARSE_FRAME on Receive# [ 123159220] :TSK_PARSE_FRAME on Transmit# [ 124807220] :TSK_PARSE_FRAME on Transmit# [ 125511308] :TSK_PARSE_FRAME on Receive# [ 127207296] :TSK_PARSE_FRAME on Receive# [ 132855337] :TSK_PARSE_FRAME on Transmit# [ 134503288] :TSK_PARSE_FRAME on Transmit# [ 135207316] :TSK_PARSE_FRAME on Receive# [ 136903316] :TSK_PARSE_FRAME on Receive# [ 142503316] PCI EXPRESS BAR MEMORY/IO MAPPING PROCESS BEGUN...# BAR 0:VALUE = 00000000 RANGE = fff00000 TYPE = MEM32 MAPPED# BAR 1:VALUE = 00000000 RANGE = 00000000 TYPE = DISABLED# BAR 2:VALUE = 00000000 RANGE = 00000000 TYPE = DISABLED# BAR 3:VALUE = 00000000 RANGE = 00000000 TYPE = DISABLED# BAR 4:VALUE = 00000000 RANGE = 00000000 TYPE = DISABLED# BAR 5:VALUE = 00000000 RANGE = 00000000 TYPE = DISABLED# EROM :VALUE = 00000000 RANGE = 00000000 TYPE = DISABLED# [ 142503316] :Setting Core Configuration Space...

Page 290: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 290

PG054 2013 年 12 月 18 日

付録 B : デバッグ

# [ 142551308] :TSK_PARSE_FRAME on Transmit# [ 144199316] :TSK_PARSE_FRAME on Transmit# [ 144903193] :TSK_PARSE_FRAME on Receive# [ 145847316] :TSK_PARSE_FRAME on Transmit# [ 146567204] :TSK_PARSE_FRAME on Receive# [ 147495316] :TSK_PARSE_FRAME on Transmit# [ 148199270] :TSK_PARSE_FRAME on Receive# [ 149143316] :TSK_PARSE_FRAME on Transmit# [ 149863267] :TSK_PARSE_FRAME on Receive# [ 150791328] :TSK_PARSE_FRAME on Transmit# [ 151495316] :TSK_PARSE_FRAME on Receive# [ 152439322] :TSK_PARSE_FRAME on Transmit# [ 153159316] :TSK_PARSE_FRAME on Receive# [ 154087296] :TSK_PARSE_FRAME on Transmit# [ 154791316] :TSK_PARSE_FRAME on Receive# [ 155735315] :TSK_PARSE_FRAME on Transmit# [ 156455316] :TSK_PARSE_FRAME on Receive# [ 158087322] :TSK_PARSE_FRAME on Receive# [ 171735277] :Transmitting TLPs to Memory 32 Space BAR 0# [ 171783193] :TSK_PARSE_FRAME on Transmit# [ 171991308] :TSK_PARSE_FRAME on Transmit# [ 174247296] :TSK_PARSE_FRAME on Receive# [ 179943316] :Test PASSED --- Write Data:01020304 successfully received# [ 180103267] :Finished transmission of PCI-Express TLPs# ** Note:$finish :../tests/sample_tests1.v(317)# Time:180103267 ps Iteration:6 Instance:/board/RP/tx_usrapp

シミ ュレーシ ョ ン  ライブラリのコンパイル

シ ミ ュレーシ ョ ン ラ イブラ リ をコンパイルするには、 compxlib コマンドを使用します。 このツールは、 ザイ リ ンクス ソフ ト ウェアの一部と して提供されています。 compxlib の詳細は、 『コマンド ラ イン ツール ユーザー ガイ ド』(UG688)[参照 13] を参照してください。

ザイ リ ンクスおよび Questa Sim 環境が正し く設定されているものと想定して、 Verilog の SecureIP および UNISIM ライブラ リ を現在のディ レク ト リにコンパイルするには、 次のよ うにコマンドを使用します。

compxlib -s mti_se -arch virtex7 -l verilog -lib secureip -lib unisims -dir ./

compxlib を実行する と、 ライブラ リ マップを含む modelsim.ini ファ イルが作成されます。 Questa SIM で現在のライブラ リ マップ タイプを表示するには、 プロンプ トに vmap と入力します。 このマッピングは INI ファ イルでアップデートできます。 または Questa SIM プロンプ トで次のよ うにコマンドを入力してライブラ リ をマップします。

vmap [<logical_name>] [<path>]

例 :

Vmap unisims_ver C:\my_unisim_lib

次の手順

前述のデバッグ方法を試しても問題が解決できない場合は、サポート ケースを開くか、ザイ リ ンクス ユーザー コ ミ ュニティ フォーラムにアクセスし、 ザイ リ ンクス サポート担当者に問題について連絡をしてください。

ウェブケースからテクニカル サポート ケースを作成するには、次のザイ リ ンクス ウェブサイ ト を参照してください。

japan.xilinx.com/support/clearexpress/websupport.htm

ケースを作成する際に必要なもの :

Page 291: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 291

PG054 2013 年 12 月 18 日

付録 B : デバッグ

° 問題の詳細な説明と、 前述のデバッグ手順の結果

° シ ミ ュレーシ ョ ンの VCD または WLF ダンプの添付

ソ リ ューシ ョ ンについての話し合いには、 ザイ リ ンクス ユーザー コ ミ ュニティをご利用ください。

forums.xilinx.com/xlnx/

ハードウェア デバッグ

ハードウェア問題は、デバイス コンフ ィギュレーシ ョ ン問題から何時間ものテス ト後に発生する問題までさまざまです。 このセクシ ョ ンでは、 よ く発生する問題のデバッグ フローを図で示します。 グレーの部分の詳細は、図 B-3 の後のセクシ ョ ンを参照してください。

Page 292: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 292

PG054 2013 年 12 月 18 日

付録 B : デバッグ

X-Ref Target - Figure B-3

図 B‐3 : デザインがハードウェアでエラーになる場合のデバッグ フロー図

No

No

Y es

Y es

Y es

Y es x1 動作を強制

Y es

No

No

NoY es

Page 293: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 293

PG054 2013 年 12 月 18 日

付録 B : デバッグ

FPGA コンフ ィギュレーシ ョ ン時間のデバッグ

デバイスの初期化およびコンフ ィギュレーシ ョ ンに関する問題は、FPGA がリ ンク ト レーニングに入ってシステムに認識されるまでの時間が長過ぎる と発生するこ とがあ り ます。『PCI Express Base Specification』 (rev. 2.1)[参照 2]のセクシ ョ ン 6.6 には、 FPGA コンフ ィギュレーシ ョ ン時間に影響する可能性のある 2 つのルールが記述されています。

• コンポーネン トは基礎リセッ トの終わりの 20ms 以内に LTSSM 検出ステートになる必要があ り ます。

• システムは、ブート時にソフ ト ウェアで表示されるすべてのコンポーネン トがルート コンプレッ クスでの従来リセッ トの終わりの 100ms 以内にコンフ ィギュレーシ ョ ン要求を受信できるよ うになっている必要があ り ます。

これらのルールは、基本的に FPGA を特定時間内にコンフ ィギュレーシ ョ ンする必要があ り、 これらの要件を満たさないと、 リ ンク ト レーニングおよびデバイス認識で問題が発生する可能性があ り ます。

コンフ ィギュレーシ ョ ンは、 オンボード PROM を使用するか、 JTAG をダイナミ ッ クに使用して行います。 デバイスのコンフ ィギュレーシ ョ ンに JTAG を使用する場合、 チップセッ ト が各ペリ フェラルを列挙した後にコンフ ィギュレーシ ョ ンが通常発生します。 FPGA をコンフ ィギュレーシ ョ ンした後は、 列挙とデバイスのコンフ ィギュレーシ ョンを再開するのにソフ ト ウェア リ セッ ト が必要です。 Windows ベースの PC のソフ ト リ セッ トは、 [スター ト ] → [シャ ッ ト ダウン] → [再起動] をク リ ッ クする と実行されます。

FPGA コンフ ィギュレーシ ョ ンが原因であるかど うかを確認するには、システムのソフ ト リセッ ト を実行します。システムのソフ ト リセッ ト を実行する と、 電源を供給した状態を保ちながらデバイスの列挙をし直すこ とができます。ソフ ト リ セッ ト後にデバイスが リ ンク アップして認識されれば、 FPGA コンフ ィギュレーシ ョ ンが問題の原因である可能性が高くなり ます。一般的なシステムでは、 この 100ms の期間が始まる前に電源供給が通常有効になっているため、この期間にある程度のマージンを追加できる ATX 電源が使用されています。FPGA コンフ ィギュレーシ ョ ンの詳細は、 第 3 章の 「FPGA コンフ ィギュレーシ ョ ン」 を参照してください。

リンク  ト レーニングのデバッグ

図 B-4 は、 リ ンク ト レーニングのデバッグのフローチャート を示しています。

Page 294: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 294

PG054 2013 年 12 月 18 日

付録 B : デバッグ

FPGA コンフ ィギュレーシ ョ ン時間のデバッグ

デバイスの初期化およびコンフ ィギュレーシ ョ ンに関する問題は、FPGA がリ ンク ト レーニングに入ってシステムに認識されるまでの時間が長過ぎる と発生するこ とがあ り ます。『PCI Express Base Specification』 (rev. 2.1)[参照 2]のセクシ ョ ン 6.6 には、 FPGA コンフ ィギュレーシ ョ ン時間に影響する可能性のある 2 つのルールが記述されています。

• コンポーネン トは基礎リセッ トの終わりの 20ms 以内に LTSSM 検出ステートになる必要があ り ます。

X-Ref Target - Figure B-4

図 B‐4 : リンク  ト レーニングのデバッグ フロー図

(user_lnk_up = 1)

No

Yes

Yes

No

No

No

Yes

Yes

Yes

No

Page 295: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 295

PG054 2013 年 12 月 18 日

付録 B : デバッグ

• システムは、ブート時にソフ ト ウェアで表示されるすべてのコンポーネン トがルート コンプレッ クスでの従来リセッ トの終わりの 100ms 以内にコンフ ィギュレーシ ョ ン要求を受信できるよ うになっている必要があ り ます。

これらのルールは、基本的に FPGA を特定時間内にコンフ ィギュレーシ ョ ンする必要があ り、 これらの要件を満たさないと、 リ ンク ト レーニングおよびデバイス認識で問題が発生する可能性があ り ます。

コンフ ィギュレーシ ョ ンは、 オンボード PROM を使用するか、 JTAG をダイナミ ッ クに使用して行います。 デバイスのコンフ ィギュレーシ ョ ンに JTAG を使用する場合、 チップセッ ト が各ペリ フェラルを列挙した後にコンフ ィギュレーシ ョ ンが通常発生します。 FPGA をコンフ ィギュレーシ ョ ンした後は、 列挙とデバイスのコンフ ィギュレーシ ョンを再開するのにソフ ト ウェア リ セッ ト が必要です。 Windows ベースの PC のソフ ト リ セッ トは、 [スター ト ] → [シャ ッ ト ダウン] → [再起動] をク リ ッ クする と実行されます。

FPGA コンフ ィギュレーシ ョ ンが原因であるかど うかを確認するには、システムのソフ ト リセッ ト を実行します。システムのソフ ト リセッ ト を実行する と、 電源を供給した状態を保ちながらデバイスの列挙をし直すこ とができます。ソフ ト リ セッ ト後にデバイスが リ ンク アップして認識されれば、 FPGA コンフ ィギュレーシ ョ ンが問題の原因である可能性が高くなり ます。一般的なシステムでは、 この 100ms の期間が始まる前に電源供給が通常有効になっているため、この期間にある程度のマージンを追加できる ATX 電源が使用されています。FPGA コンフ ィギュレーシ ョ ンの詳細は、 第 3 章の 「FPGA コンフ ィギュレーシ ョ ン」 を参照してください。

クロックのデバッグ

user_reset_out 信号をディアサート しない理由には、 デバイスの PLL (MMCM) およびト ランシーバーの PLL が、 入ってく るク ロ ッ クにロ ッ ク されていないこ とが 1 つ挙げられます。 ロ ッ ク されているこ とを確認するには、 ト ランシーバーの RXPLLLKDET 出力および MMCM の LOCK 出力を監視します。 PLL がロ ッ ク されない場合は、供給される基準クロ ッ クが 『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』 [参照 10] の要件を満たしているかど うか確認する必要があ り ます。REFCLK 信号をシ リ アル ト ランシーバーの専用基準クロ ッ ク入力ピンに配線して、ユーザー デザインに IBUFDS_GTE2 プリ ミ ティブを配線する必要があ り ます。 基準クロ ッ クの要件も含めた PCB レイアウ ト要件に関する詳細は、 『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』 を参照してください。

基準クロ ッ クのジッ ターは、 位相ジッ ターの周波数部によ り ますが、 TX および RX アイの両方を閉じてしま う可能性があ り ます。 このためできる限り基準クロ ッ クをク リーンに維持する必要があ り ます。 ク ロ ッ ク信号を付近の高速ト レースから離して、 REFCLK のク ロス トークを削減します。 も近い位置にある問題の信号からは少な く と も 25ミ リ秒間は離します。 PCI の分科会 (SIG) からは、基準クロ ッ クを 『PCI Express Specification』 の要件に準拠させるためのツールが提供されています。 www.pcisig.com/specifications/pciexpress/compliance/compliance_library

PCI コンフ ィギュレーシ ョ ン空間のパラメーターのデバッグ

ユーザー アプリ ケーシ ョ ンがシステムで認識されないのに、 ザイ リ ンクス PIO サンプル デザインは動作する場合がよ く あ り ます。 こ ういった場合、 ユーザー アプ リ ケーシ ョ ンは PCI コンフ ィギュレーシ ョ ン空間の設定を使用しているこ とが多く、 この設定が原因で、 システムがリ ソースを認識してカードに割り当てるのを妨げられています。

PCI Express のザイ リ ンクス ソ リ ューシ ョ ンは、 すべてのコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンを内部処理し、入ってく るコンフ ィギュレーシ ョ ン要求に対して正しい応答を生成します。チップセッ トには、割り当て可能なシステム リ ソースの数に制限があるので、 コアはこの制限を超えないよ うにコンフ ィギュレーシ ョ ンする必要があ り ます。

エン ドポイン ト によって要求される リ ソースは、 エン ドポイン ト のコンフ ィギュレーシ ョ ン空間内の BAR 設定によって識別されます。 各 BAR で要求されている リ ソースがチップセッ トによ り割り当てられているかど うかを確認してください。 I/O BAR は特に限られているため、 サイズの大きな I/O BAR をコンフ ィギュレーシ ョ ンする と、 チップセッ トがデバイスをコンフ ィギュレーシ ョ ンできなくなるこ とがよ くあ り ます。 これが問題の根本的な原因であるかど うかを見極めるには、 小容量のメモ リ (約 2 KB) をインプリ メン トするコアを生成して ください。

Vivado IDE で選択されているク ラス コード設定もコンフ ィギュレーシ ョ ンに影響します。 ク ラス コードはエンドポイン トがどのタイプのデバイスであるかをチップセッ トに知らせるためのものです。チップセッ トは特定タイプのデバイスが PCI Express のスロ ッ トに挿入されるものと予測するので、 予期しないク ラス コードが読み出される と、 コンフ ィギュレーシ ョ ンがエラーになるこ とがあ り ます。 この問題を回避するには BIOS をコンフ ィギュレーシ ョ ンします。

Page 296: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 296

PG054 2013 年 12 月 18 日

付録 B : デバッグ

PIO デザインをデフォルト設定で使用する と、 デバイス割り当ての問題が原因であるかど うかを確認できます。 PIOデザインのデフォルト設定は、問題をデバッグする際にすべてのシステムで動作するこ とが確認されています。 このデフォルト設定でデバイスが認識できる場合は、 Vivado IDE で PIO コンフ ィギュレーシ ョ ンを変更して、 PIO デザイン設定を目的のユーザー アプリ ケーシ ョ ンに一致するよ うに変更します。 リ ンク アナライザーが使用できない場合は、 問題を判別するために試行錯誤が必要なこ と もあ り ます。

リ ンク アナライザーを使用する と、 リ ンク ト ラフ ィ ッ クを監視して、 列挙およびコンフ ィギュレーシ ョ ン プロセス中に問題が発生するタイ ミ ングを見極めるこ とができる可能性があ り ます。

アプリケーシ ョ ン要件

列挙中は、 コアからバッ クエンド アプリ ケーシ ョ ンに渡される TLP ト ラフ ィ ッ クをチップセッ トが出力するこ とが可能です。カスタムのバッ クエンド アプリ ケーシ ョ ンを設計する際には、どのタイプの要求でも処理するロジッ クを含めるこ とを見落と してしま う こ とがよ くあ り ます。 この結果、 応答が作成されず、 問題が発生します。 PIO デザインには、入ってく る要求に正し く応答する必要なバッ クエンド ファンクシ ョ ンがあ り ます。正しい応答を生成するのはアプリ ケーシ ョ ンの役目です。 次のパケッ ト タイプがアプリ ケーシ ョ ンに送られます。

• 拡張 ROM がイネーブルになっている場合は、 それをターゲッ トにする要求

• メ ッセージ TLP

• BAR をターゲッ トにする メモ リ または I/O 要求

• すべての完了パケッ ト

こ ういったタイプの問題が除外するには PIO デザインを使用できます。ホス トが正しい応答を受信して、システムが先に進むこ とができるよ うに、PIO デザインがユーザー アプリ ケーシ ョ ンへのすべての ト ランザクシ ョ ンに対して何らかの方法で応答するからです。 PIO デザインが動作してもカスタム アプリ ケーシ ョ ンが動作しない場合は、一部のト ランザクシ ョ ンが正し く処理されません。

Vivado ラボ ツールは、 ラ ッパーの受信 AXI4-Stream インターフェイスにインプ リ メ ン ト して、 バッ クエンド アプリケーシ ョ ンをターゲッ トにする要求が送信され、問題なく完了したかど うかを確認するのに使用します。Vivado ラボツールでプローブする必要のある AXI4-Stream インターフェイス信号は、 298 ページの表 B-1で定義されています。

リンク  アナライザーを使用したデバイス認識に関する問題のデバッグ

リ ンク アップ (user_lnk_up = 1) になってもデバイスがシステムで認識されない場合は、リ ンク アナライザーを利用して問題を解決できます。 FPGA がある種のアクセスに正し く応答していないこ とが考えられます。 リ ンク ビューを使用して ト ラフ ィ ッ クを解析し、 異常がないかど うかを確認します。

問題に集中するために、 さまざまな ト リガーを試す必要がある場合もあ り ます。 次はその ト リガー例です。

• 初の INIT_FC1 および UPDATE_FC でいずれかの方向にト リガー。 これによ り、 アナライザーがリ ンク アップ後キャプチャを開始できるよ うになり ます。

• エンドポイン トに通常送信される 初の TLP は、 セッ ト スロ ッ ト電源制限メ ッセージです。 これは、 通常コンフ ィギュレーシ ョ ン ト ラフ ィ ッ クの開始前に送信され、 ト リガー ポイン ト と しては効果的かもしれません。

• コンフ ィギュレーシ ョ ン TLP での ト リガー

• メモ リ読み出しまたはメモ リ書き込み TLP での ト リガー

データ転送エラーのデバッグ

図 B-5 は、 データ転送のデバッグのフローチャート を示しています。

Page 297: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 297

PG054 2013 年 12 月 18 日

付録 B : デバッグ

エラーの識別

システム ロ ッ クアップ問題が発生する と、 システムが停止したり、 青い画面 (PC システムの場合) が表示されたり します。 『PCI Express Base Specification』 rev. 2.1 [参照 2] では、 レシーバーにエラー検出機能をインプリ メン トするよ う

X-Ref Target - Figure B-5

図 B‐5 : データ転送のデバッグ フロー図

No

Y es

Y es

No

No

NoNo

Y es

Receive Transmit

Page 298: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 298

PG054 2013 年 12 月 18 日

付録 B : デバッグ

規定されています。 システム ロ ッ クアップまたはシステムの停止は一般的に致命的エラーの結果と して発生し、 レシーバーのデバイス ステータス レジスタのビッ ト 2 でレポート されます。 Vivado ラボ ツールを使用する と、 コアのデバイス ステータス レジスタを監視して、 致命的エラーがレポート されているかど うかを確認できます。

ルート コンプレッ クスでレポート される致命的エラーは、 EP の送信側に問題があるこ とを示します。 ルート コンプレッ クスのデバイス ステータス レジスタは、 PCITree (Windows) または LSPCI (Linux) を使用して確認できます。 致命的エラーが検出される場合は、 「送信」 セクシ ョ ンを参照してください。 ルート コンプレッ クスが AER (AdvancedError Reporting) をインプ リ メ ン ト しますが、 これによ り レポート されるエラー タイプを詳細に区別できます。 AERは、特定のエラーがフラグされる理由に関して貴重な情報を提供し、 またデバイスのコンフ ィギュレーシ ョ ン空間内の拡張機能と して提供されています。AER レジスタの詳細については、『PCI Express Base Specification』 rev. 2.1 のセクシ ョ ン 7.10 を参照してください。

送信

ルートまたはリンク  パートナーで検出された致命的エラー

TLP が正し く生成されているこ と、ペイロードがヘッダーの長さフ ィールドの値と同じであるこ とを確認します。エンドポイン トのデバイス ステータス レジスタは、 送信チャネルの ト ラフ ィ ッ クで作成されたエラーをレポート しません。

次の信号を送信インターフェイスで監視して、開始されたすべての ト ラフ ィ ッ クが正しいこ とを確認する必要があ ります。 信号の詳細は、 17 ページの表 2-10を参照してください。

• user_lnk_up

• s_axis_tx_tlast

• s_axis_tx_tdata

• s_axis_tx_trb

• s_axis_tx_tvalid

• s_axis_tx_tready

致命的エラーが検出されない

TLP ヘッダーのアドレスが有効であるこ とを確認します。 デバイスに接続されたカーネル モード ド ラ イバーは、 デバイスに割り当てられたシステム リ ソースを取得する役目があ り ます。バス マスター デザインでは、アプリ ケーシ ョンに有効なアドレス範囲を提供する役目もあ り ます。 デバイスに対し指定されているアド レス範囲外のアドレスがTLP に含まれている と、 システムが停止したり、 青い画面になる可能性があ り ます。

受信

PCI Express のザイ リ ンクス ソ リ ューシ ョ ンでは、 CFG_DSTATUS[3:0] でアプリ ケーシ ョ ンにデバイス ステータス レジスタが提供されます。

PCI Express コアの受信チャネルの問題が原因で発生するシステム ロ ッ クアップ コンディシ ョ ンは、 ルートに向かってエラー メ ッセージがアップス ト リームに送信された結果であるこ とがよ くあ り ます。エラー メ ッセージは、エラーレポートがデバイス制御レジスタでイネーブルになっている場合にのみ送信されます。

表 B‐1 : CFG_DSTATUS[3:0] の説明

CFG_DSTATUS[3:0] 説明

CFG_DSTATUS[0] 訂正可能なエラーの検出

CFG_DSTATUS[1] 致命的でないエラーの検出

CFG_DSTATUS[2] 致命的なエラーの検出

CFG_DSTATUS[3] UR の検出

Page 299: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 299

PG054 2013 年 12 月 18 日

付録 B : デバッグ

次のイベン トのいずれかが発生する と、 致命的コンディシ ョ ンがレポート されます。

• ト レーニング エラー

• DLL プロ ト コル エラー

• フロー制御プロ ト コル エラー

• 不正な TLP

• レシーバー オーバーフロー

初の 4 つは、 PCI Express のザイ リ ンクス ソ リ ューシ ョ ンおよび接続されるコンポーネン トはシ ミ ュレーシ ョ ンおよびハード ウェアでしっかり とテス ト されているので、 ハード ウェアではあま り発生しませんが、 レシーバー オーバーフローは発生する可能性があ り ます。 メモ リ読み出しを出力する場合は、 第 3 章の 「利用可能なレシーバー フロー制御クレジッ ト 」 の要件に従う必要があ り ます。

致命的でないエラー

このセクシ ョ ンでは、致命的でない (Non-Fatal) エラーと してレポート されるコンディシ ョ ンを リ ス ト しています。詳細は、 『PCI Express Base Specification』 rev. 2.1 を参照してください。

エラーがルートによ り レポート される場合は、AER レジスタを読み出すと、エラーを引き起こしたコンディシ ョ ンを判別できます。 286 ページの 「サードパーティ ツール」 で説明されている HWDIRECT などのツールを使用する と、ルートの AER レジスタを読み出すこ とができます。 AER レジスタについては、 『PCI Express Base Specification』 の第7 章で定義されています。 エラーがエンドポイン トから通知される場合は、デバッグ ポート を使用してエラーの原因を判別するこ とができます。

訂正可能な致命的でないエラーは次のとおりです。

• レシーバー エラー

• 不正 TLP

• 不正 DLLP

• 再生タイムアウ ト

• 再生 NUM 繰り越し

上記の 初の 3 つのエラーは、 レシーバーで検出されるもので、 ハード ウェア システムでは一般的ではあ り ません。再生エラーは、 ト ランス ミ ッ ターによって知ら されます。 許容された時間内にパケッ トに対する ACK が受信されない場合は、 ト ランス ミ ッ ターによ り再生されます。多くのパケッ トが再生されている場合はスループッ トの削減が可能で、 また リ ンク アナライザーや Vivado ラボ ツールで取り込まれたデータを確認するこ とによ り、 そのソースが通常判別できます。

訂正不可能な致命的でないエラーは次のとおりです。

• ポイズンド TLP

• 受信した ERCR チェッ ク エラー

• サポート されていない要求 (UR)

• 完了タイムアウ ト

• コンプ リーターの中断

• 予期しない完了

• ACS 違反

サポート されていない要求は通常、 TLP のアドレスが BAR に割り当てられたアドレス空間内にないこ とを示しています。一般的に、 これはド ライバーによ り実行されたアドレス変換に問題があるこ とを示しています。 また、 BAR が起動時にルートで正し く割り当ているこ と も確認してください。 286 ページの 「サードパーティ ツール」 で説明されている LSPCI または PCItree を使用する と、 各デバイスの BAR 値を読み出すこ とができます。

Page 300: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 300

PG054 2013 年 12 月 18 日

付録 B : デバッグ

完了タイムアウ トは、送信された TLP に対して完了が返されなかったこ とを示し、また要求者によってレポート されます。 これによ りシステムが停止するこ とがあ り ます (Windows の場合は青い画面になるこ と もあ り ます)。通常はデバイスの 1 つがロッ ク して、入ってく る TLP に対して応答しなくなる と、 この状態が発生します。ルートが完了タイムアウ ト をレポートする場合は、 Vivado ラボ ツールを使用して、 ユーザー アプリ ケーシ ョ ンが TLP に応答しなかった理由 (ユーザー アプリ ケーシ ョ ンがビジー状態である、 使用可能な送信バッファーがない、 s_axis_tx_tready がディアサート されないなどの理由) を調べるこ とができます。エンドポイン トが完了タイムアウ ト をレポートする場合は、リ ンク アナライザーでエラー発生時のト ラフ ィ ッ ク パターンを表示できるので、 根本的原因を判断するのに役立ちます。

次の手順

前述のデバッグ方法を試しても問題が解決できない場合は、サポート ケースを開くか、ザイ リ ンクス ユーザー コ ミ ュニティ フォーラムにアクセスし、 ザイ リ ンクス サポート担当者に問題について連絡をしてください。

ウェブケースからテクニカル サポート ケースを作成するには、次のザイ リ ンクス ウェブサイ ト を参照してください。

japan.xilinx.com/support/clearexpress/websupport.htm

ケースを作成する際に必要なもの :

° 問題の詳細な説明と、 前述のデバッグ手順の結果

° Vivado ラボ ツールが取り込んだ、 上記の手順でのデータ

ソ リ ューシ ョ ンについての話し合いには、 ザイ リ ンクス ユーザー コ ミ ュニティをご利用ください。

forums.xilinx.com/xlnx/

追加のト ランシーバー制御およびステータス ポート

表 B-2 は、 ト ランシーバー関連の問題をデバッグするために使用するポートについて説明しています。

推奨 : ト ランシーバー関連の問題のデバッグは上級ユーザーが行う こ とを推奨します。

表 B‐2 :追加のト ランシーバー制御およびステータス ポート

ポート 方向 (I/O) 説明

pipe_txprbssel I 3 PRBS input

pipe_rxprbssel I 3 PRBS input

pipe_rxprbsforceerr I 1 PRBS input

pipe_rxprbscntrreset I 1 PRBS input

pipe_loopback I 1 PIPE loopback.

pipe_rxprbserr O 1 PRBS 出力

pipe_rst_fsm O PIPE_RST_IDLE が 0 のままになっていないか確認する必要があ り ます。

pipe_qrst_fsm O PIPE_RST_IDLE が 0 のままになっていないか確認する必要があ り ます。

pipe_sync_fsm_tx O

PIPE_RST_FSM が 11'b10000000000 のままになっていないか、 または PIPE_RATE_FSM が 24'b000100000000000000000000 のままになっていないか確認する必要があ り ます。

Page 301: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 301

PG054 2013 年 12 月 18 日

付録 B : デバッグ

pipe_sync_fsm_rx O 廃止

pipe_drp_fsm O PIPE_RATE_FSM が 100000000. のままになっていないか確認する必要があ り ます。

pipe_rst_idle O PIPE_RST_IDLE が High の場合はラ ッパーが IDLE ステートにあ り ます。

pipe_qrst_idle O PIPE_QRST_IDLE が High の場合はラ ッパーが IDLE ステートにあ り ます。

pipe_rate_idle O PIPE_RATE_IDLE が High の場合はラ ッパーが IDLE ステートにあ り ます。

PIPE_DEBUG_0/gt_txresetdone O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

PIPE_DEBUG_1/gt_rxresetdone O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

PIPE_DEBUG_2/gt_phystatus O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

PIPE_DEBUG_3/gt_rxvalid O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

PIPE_DEBUG_4/gt_txphaligndone O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

PIPE_DEBUG_5/gt_rxphaligndone O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

表 B‐2 :追加のト ランシーバー制御およびステータス ポート  (続き)

ポート 方向 (I/O) 説明

Page 302: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 302

PG054 2013 年 12 月 18 日

付録 B : デバッグ

PIPE_DEBUG_6/gt_rxcommadet O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

PIPE_DEBUG_7/gt_rdy O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

PIPE_DEBUG_8/user_rx_converge O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

PIPE_DEBUG_9/PIPE_TXELECIDLE

O

デバッグを援助するジェネ リ ッ ク デバッ ク ポート。 これらは ロー GT 信号など内部 PIPE ラ ッパー信号を出力するジェネ リ ッ ク ポートです。 DEBUG_0 から DEBUGT_9 は各レーンの信号用です。 これらのジェネ リ ッ ク ポートのバス幅は、ラ ッパーで設定されているレーン数によ り ます。

表 B‐2 :追加のト ランシーバー制御およびステータス ポート  (続き)

ポート 方向 (I/O) 説明

Page 303: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 303

PG054 2013 年 12 月 18 日

付録 C

受信される完了に対する受信バッファー スペースの管理

『PCI Express Base Specification』 [参照 2] では、 すべてのエンドポイン トは受信した完了に対して無限のフロー制御クレジッ ト を リ ンク パートナーに出力するこ とが規定されています。これは、エンドポイン トが完了応答を受け入れるスペースがある場合にのみ、 ノンポステッ ド要求を送信する、 という こ とです。 こ こでは、 この要件を満たすために、ユーザー アプリ ケーシ ョ ンで 7 Series Integrated Block for PCIe コアの受信バッファー スペースを管理する方法について説明します。

一般的な注意事項と概念

完了スペース

表 C-1 では、 コアによって予約されている受信バッファーの完了スペースが定義されています。 これらの値は、 コアの機能 大ペイロード サイズの設定と選択されたパフォーマンス レベルによって異なり ます。 入って く るパケッ トス ト リームから TLP ダイジェス ト (ECRC) を取り除かないよ うに選択している場合は、この TLP ダイジェス ト をデータ ペイロードの一部と して処理する必要があ り ます。 値はクレジッ ト数で、 10 進数で表記されます。

大要求サイズ

メモ リ読み出しは、 Max_Request_Size で指定された値を超える値は要求できません。 これは、表 C-2 で定義されるよう に、 コ ンフ ィ ギ ュ レーシ ョ ン ビ ッ ト cfg_dcommand[14:12] で指定されます。 ユーザー アプ リ ケーシ ョ ンがMax_Request_Size 値を読み出さない場合は、 デフォルト値の 128 バイ トが使用されます。

表 C‐1 :受信バッファーの完了スペース

機能 大ペイロード  サイズ (バイ ト )

パフォーマンス レベル : 良 パフォーマンス レベル : 高

完了ヘッダー(Total_CplH)

完了データ(Total_CplD)

完了ヘッダー(Total_CplH)

完了データ(Total_CplD)

128 36 77 36 154

256 36 77 36 154

512 36 154 36 308

1024 36 308 36 616

表 C‐2 : Max_Request_Size 設定

cfg_dcommand[14:12]Max_Request_Size

バイ ト DW QW クレジッ ト

000b 128 32 16 8

Page 304: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 304

PG054 2013 年 12 月 18 日

付録 C : 受信される完了に対する受信バッファー スペースの管理

読み出し完了バウンダリ

メモ リ読み出しには複数の完了で応答できます。これらの完了をま とめる と、要求されたデータがすべて返されます。パケッ ト ヘッダー オーバーヘッ ドを避けるのに余裕を持たせるため、 ユーザー アプリ ケーシ ョ ンは、 戻される可能性のある完了の 大数分、 スペースを用意しておく必要があ り ます。

このプロセスを簡単にするため、それぞれが自然にアライ メン ト された読み出し完了バウンダ リ (RCB) で開始・終了するよ うに、 『PCI Express Base Specification』 では、 すべての完了パケッ トの長さを量子化しています。 RCB の値は、表 C-3 で定義されるよ うに、 コンフ ィギュレーシ ョ ン ビッ ト cfg_lcommand[3] によ り決ま り ます。 ユーザー アプ リケーシ ョ ンが RCB 値を読み出さない場合は、 デフォルト値の 64 バイ トが使用されます。

ノンポステッ ド要求に必要な完了クレジッ ト数を計算する際は、 完了応答が必要になる可能性のある RCB ブロ ッ ク数を決定します。 これは、 必要な完了ヘッダー クレジッ トの数と同じです。

完了スペースの管理方法

ユーザー アプリ ケーシ ョ ンには、表 C-4 に示す、受信バッファーの完了スペースを管理する 5 つの方法の中から 1 つを選択できます。こ こでは、これらの方法を便宜上 IMIT_FC、PACKET_FC、RCB_FC、DATA_FC、および STREAM_FCと呼ぶこ とにします。 これらの方法には、それぞれメ リ ッ ト とデメ リ ッ トがあ り、ユーザー アプリ ケーシ ョ ンを開発する際に考慮する必要があ り ます。

001b 256 64 32 16

010b 512 128 64 32

011b 1024 256 128 64

100b 2048 512 256 128

101b 4096 1024 512 256

110b–111b 予約済み

表 C‐3 :読み出し完了バウンダリの設定

cfg_lcommand[3]読み出し完了バウンダリ

バイ ト DW QW クレジッ ト

0 64 16 8 4

1 128 32 16 8

表 C‐4 :受信完了スペースの管理方法

方法 説明 メ リ ッ ト デメ リ ッ ト

LIMIT_FC 未処理のノ ンポステッ ド要求の合計数を制限します。

ユーザー ロジッ ク をインプ リ メ ン ト する も単純な方法です。

多 く の完了スペースが使用されません。

PACKET_FC 未処理の CplH および CplD ク レジッ ト の数を追跡し、 各パケッ トご とにそれを振り分けた り、 振り分けを取り消した り します。

比較的シンプルなユーザー ロジッ クで、LIMIT_FC よ り も よ り細やかに振り分けが行われるため、 よ り多くのスペースが使用されます。

LIMIT_FC と同様、 ノンポステ ッ ド要求のク レジ ット は要求が完全に満たされる までは使用されません。

表 C‐2 : Max_Request_Size 設定

Page 305: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 305

PG054 2013 年 12 月 18 日

付録 C : 受信される完了に対する受信バッファー スペースの管理

LIMIT_FC

LIMIT_FC は、 インプリ メン トするのが も簡単な方法です。 ユーザー アプリ ケーシ ョ ンは 1 度に処理可能なノンポステッ ド (NP) 要求の 大数である MAX_NP を見積も り ます。 この値を計算するには、 次の手順に従います。

1. Max_Request_Size パケッ トで要求される CplH クレジッ ト数を決定します。

Max_Header_Count = ceiling(Max_Request_Size / RCB)

2. CplD クレジッ ト グループでサポート される 大サイズの完了の 大数を決定します。

Max_Packet_Count_CplD = floor(CplD / Max_Request_Size)

3. CplH クレジッ ト グループでサポート される 大サイズの完了の 大数を決定します。

Max_Packet_Count_CplH = floor(CplH / Max_Header_Count)

4. 未処理のノンポステッ ド要求の 大数を決めるため、手順 2 と 3 で得られた 2 つの値のうち小さい方を使用します。

MAX_NP = min(Max_Packet_Count_CplH, Max_Packet_Count_CplD)

MAX_NP がわかっていれば、 ユーザー アプリ ケーシ ョ ンは NP_PENDING レジスタに リセッ トで 0 を読み込んで、 0~ MAX_NP の範囲に常に留まるよ うにできます。 ノンポステッ ド要求が送信される と、 NP_PENDING が 1 ずつデクリ メ ン ト します。 未処理のノンポステッ ド要求に対する完了がすべて受信される と、 NP_PENDING が 1 ずつインクリ メン ト します。

この方法はインプ リ メン トするのが も簡単ですが、完了クレジッ トの Max_Request_Size ブロ ッ ク全体が、実際の要求サイズに関係なく、各ノンポステッ ド要求に割り当てられるので、 レシーバーのスペースの無駄が も多くな り ます。 ユーザー アプリ ケーシ ョ ンが短いメモ リ読み出し (1 つの DWORD 命令)、 I/O 読み出し、 および I/O 書き込みの大部分を出力する と、 さ らに無駄が多くなり ます。

PACKET_FC

PACKET_FC は、 LIMIT_FC よ り も クレジッ トブロ ッ クをさ らに細やかに割り当て、 ユーザー ロジッ クで受信完了スペースを少し増やし、 それをもっと効率よ く使用できるよ うにする方法です。

RCB_FC 未処理の CplH および CplD ク レジッ トの数を追跡し、 各 RCB こ とにそれを振り分けた り、 振り分けを取り消した り します。

ク レジ ッ ト を使用できない時間が PACKET_FC より も短くな り ます。

LIMIT_FC や PACKET_FCよ り も複雑なユーザー ロジッ クになり ます。

DATA_FC 未処理の CplH および CplD ク レジッ トの数を追跡し、 各 RCB こ とにそれを振り分けた り、 振り分けを取り消した り します。

スペースを も無駄な く使用できます。

LIMIT_FC、 PACKET_FC、RCB_FC よ り も複雑なユーザー ロジッ クにな ります。

STREAM_FC ラ イン レートでコアからパケッ トをス ト リーム出力します。

非常にハイ パフォーマンスになり ます。

ユーザー アプ リ ケーシ ョンが、ライン レートでダウンス ト リ ーム完了およびポステ ッ ド ト ラ ンザ クシ ョ ンを受理する必要あり、 も複雑なユーザー ロジッ クになり ます。

表 C‐4 :受信完了スペースの管理方法 (続き)

方法 説明 メ リ ッ ト デメ リ ッ ト

Page 306: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 306

PG054 2013 年 12 月 18 日

付録 C : 受信される完了に対する受信バッファー スペースの管理

CPLH_PENDING および CPLD_PENDING の 2 つのレジスタ ( リセッ トで 0 をロード ) を開始したら、 次の手順に沿って作業を行います。

1. ユーザー アプリ ケーシ ョ ンがノンポステッ ド (NP) 要求を送信する必要がある場合は、必要だと思われる CplH および CplD クレジッ トの数を決定します。

NP_CplH = ceiling[((Start_Address mod RCB) + Request_Size) / RCB]

NP_CplD = ceiling[((Start_Address mod 16 bytes) + Request_Size) /16 bytes](0 データを返す I/O 書き込みを除く )

モジュロ (mod) および ceiling 関数を使用する と、 小数点の RCB またはクレジッ ト ブロ ッ クが丸められます。 たとえば、 メモ リ読み出しがアドレス 7Ch から 8 バイ トのデータを要求する と、 戻されるデータは 2 つの完了パケッ ト と して返される可能性があ り ます (7Ch-7Fh に続いて 80h-83h)。 これには、 2 つの RCB ブロ ッ ク と 2 つのデータ クレジッ トが必要になり ます。

2. 次を確認してください。

CPLH_PENDING + NP_CplH < Total_CplH (表 C-1)

CPLD_PENDING + NP_CplD < Total_CplD (表 C-1)

3. どちらの不等号式も真である場合、 ノンポステッ ド (NP) 要求を送信し、 CPLH_PENDING を NP_CplH 分、CPLD_PENDING を NP_CplD 分増やします。 送信される NP 要求それぞれに対し、 NP_CplH および NP_CplD を後で使用するために残しておきます。

4. NP 要求に対しすべての完了データが戻されたら、CPLH_PENDING および CPLD_PENDING をそれぞれデク リ メン ト します。

この方法だと LIMIT_FC よ り も無駄が少なくな り ますが、 NP 要求の完了スペースは要求全体が満たされるまで使用できません。 RCB_FC および DATA_FC を使用する と、 ロジッ クがさ らに必要になり ますが、 さ らに細かく振り分けができます。

RCB_FC

RCB_FC では、 RCB ごとにクレジッ トのブロ ッ クを振り分けるこ とができます。 クレジッ トは RCB ごとに解放されます。

PACKET_FC と同様、 CPLH_PENDING および CPLD_PENDING の 2 つのレジスタ ( リセッ トで 0 を読み込む) で開始します。

1. RCB ごとのデータ クレジッ ト数を計算します。

CplD_PER_RCB = RCB / 16 バイ ト

2. ユーザー アプリ ケーシ ョ ンが NP 要求を送信する必要がある場合は、 必要だと思われる CplH クレジッ トの数を決定します。 これを使用して、 RCB ごとに CplD クレジッ ト を割り当てます。

NP_CplH = ceiling[((Start_Address mod RCB) + Request_Size) / RCB]

NP_CplD = NP_CplH × CplD_PER_RCB

3. 次を確認してください。

CPLH_PENDING + NP_CplH < Total_CplH

CPLD_PENDING + NP_CplD < Total_CplD

4. どちらの不等号式も真である場合は、 ノンポステッ ド (NP) 要求を送信し、 CPLH_PENDING を NP_CplH 分、CPLD_PENDING を NP_CplD 分増やします。

Page 307: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 307

PG054 2013 年 12 月 18 日

付録 C : 受信される完了に対する受信バッファー スペースの管理

5. 入ってく る各完了の始め、 または完了が RCB で開始あるいはその RCB で終わらずに RCB をまたぐ と き、CPLH_PENDING を 1 デク リ メン ト 、 CPLD_PENDING を CplD_PER_RCB 分デク リ メン ト します。 どの完了も複数の RCB をまたぐこ とができます。 この RCB をまたぐ数は、 次のよ うに計算できます。

RCB_CROSSED = ceiling[((Lower_Address mod RCB) + Length) / RCB]

Lower_Address および Length は、 完了ヘッダーから解析可能なフ ィールドです。 また、 入ってく る各完了の始めで CUR_ADDR レジスタへ Lower_Address を読み込み、 必要に応じて DW または QW ごとにインク リ メン ト し、CUR_ADDR が繰り越すたびに RCB をカウン トするこ と もできます。

この方法だと PACKET_FC よ り も無駄が少なくな り ますが、振り分ける単位はやはり RCB です。ユーザー アプリ ケーシ ョ ンが I/O 要求を送信する場合は、ユーザー アプリ ケーシ ョ ンは、各 I/O 読み出しで 1 CplD クレジッ ト 、各 I/O 書き込みで 0 CplD クレジッ トのみを割り当てるこ とが可能です。 ユーザー アプリ ケーシ ョ ンは、 入ってく る各完了のタグを元の NP 要求のタイプ (メモ リ書き込み、 I/O 読み出し、 I/O 書き込み) と一致させる必要があ り ます。

DATA_FC

DATA_FC の方法では、 ロジッ クは増えますが、 も細かく割り当てができます。

PACKET_FC および RCB_FC と同様、CPLH_PENDING および CPLD_PENDING の 2 つのレジスタ ( リセッ トで 0 を読み込む) で開始します。

1. ユーザー アプリ ケーシ ョ ンがノンポステッ ド (NP) 要求を送信する必要がある場合は、必要だと思われる CplH および CplD クレジッ トの数を決定します。

NP_CplH = ceiling[((Start_Address mod RCB) + Request_Size) / RCB]

NP_CplD = ceiling[((Start_Address mod 16 bytes) + Request_Size) / 16 bytes] (0 データを返す I/O 書き込みを除く )

2. 次を確認してください。

CPLH_PENDING + NP_CplH < Total_CplH

CPLD_PENDING + NP_CplD < Total_CplD

3. どちらの不等号式も真である場合は、 ノンポステッ ド (NP) 要求を送信し、 CPLH_PENDING を NP_CplH 分、CPLD_PENDING を NP_CplD 分増やします。

4. 入ってく る各完了の始め、 または完了が RCB で開始またはその RCB で終わらずに RCB をまたぐ と き、CPLH_PENDING を 1 デク リ メン ト します。 この RCB をまたぐ数は、 次のよ うに計算できます。

RCB_CROSSED = ceiling[((Lower_Address mod RCB) + Length) / RCB]

Lower_Address および Length は、 完了ヘッダーから解析可能なフ ィールドです。 また、 入ってく る各完了の始めで CUR_ADDR レジスタへ Lower_Address を読み込み、 必要に応じて DW または QW ごとにインク リ メン ト し、CUR_ADDR が繰り越すたびに RCB をカウン トするこ と もできます。

5. 入ってく る各完了の始め、または自然にアライ メン ト されたクレジッ ト バウンダ リで完了が開始あるいかそのバウンダ リ をまたぐ場合、 CPLH_PENDING を 1 デク リ メン ト します。 クレジッ ト バウンダ リ を越える数は、 次のよ うに計算できます。

DATA_CROSSED = ceiling[((Lower_Address mod 16 B) + Length) / 16 B]

または、 入ってく る完了の始めで CUR_ADDR レジスタに Lower_Address を読み込み、 必要に応じて DW またはQW ごとにインク リ メン ト し、CUR_ADDR が 16 バイ ト アドレス バウンダ リ を繰り越すたびに RCB をカウン トするこ と もできます。

この方法だと も無駄が少なくな り ますが、ユーザー ロジッ クを も多く必要と します。さ らに細かな割り当てが求められる場合は、 完了 QWORD または DWORD の数を得るのに Total_CplD 値を係数 2 または 4 で計算し、 それに合わせてデータ計算を調節します。

Page 308: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 308

PG054 2013 年 12 月 18 日

付録 C : 受信される完了に対する受信バッファー スペースの管理

STREAM_FC

エンドポイン ト と してコンフ ィギュレーシ ョ ンされている場合、 ユーザー アプ リ ケーシ ョ ンはダウンス ト リーム (ルート コンプレッ クスから離れる方向) のデータ スループッ ト を 大限にするこ とができますが、 これは、 統合ブロ ッ ク ト ランザクシ ョ ン送信インターフェイスで許容される 高レートでメモ リ読み出し ト ランザクシ ョ ンをアップス ト リーム (ルート コンプレッ クスに向かう方向) にス ト リーミ ングするこ とで 大限にします。 メモ リ読み出しのス ト リーミ ングは、 m_axis_rx_tready がアサート された状態を保持できる場合にのみ可能なので、 ダウンス ト リーム完了ト ランザクシ ョ ンは、ポステッ ド ト ランザクシ ョ ンと一緒に、統合ブロ ッ クの受信ト ランザクシ ョ ン インターフェイスに出力でき、ライン レートで処理できます。この方法で m_axis_rx_tready をアサートする と、受信バッファー内の完了スペースが許容量を越えて使用されるのを防ぐこ とができます (つま り、 レシーバー オーバーフローが発生しない)。

Page 309: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 309

PG054 2013 年 12 月 18 日

付録 D

PCIE_2_1 ポートの説明7 Series FPGAs Integrated Block のソフ ト ウェア プリ ミ ティブの PCIE_2_1 で表示可能な物理インターフェイスについて説明します。

この付録ではセクシ ョ ンに分けて説明します。

• 「ク ロ ッ クおよびリセッ ト インターフェイス」

• 「 ト ランザクシ ョ ン層インターフェイス」

• 「ブロ ッ ク RAM インターフェイス」

• 「GTX ト ランシーバーのインターフェイス」

• 「コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス」

• 「ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート インターフェイス」

• 「TL2 インターフェイス ポート 」

クロックおよびリセッ ト  インターフェイス

表 D-1 は、 クロ ッ クおよびリセッ ト インターフェイスのポート を定義しています。

表 D‐1 : クロックおよびリセッ ト  インターフェイスのポートの説明

ポート 方向クロック  ド メイ

ン説明

CMRSTN 入力 USERCLK コンフ ィギュレーシ ョ ン マネージメン ト リセッ ト (アクティブ Low)。統合ブロ ッ クの PCI™ コンフ ィギュレーシ ョ ン空間を リセッ ト します。

CMSTICKYRSTN 入力 USERCLK スティ ッキー コンフ ィギュレーシ ョ ン リセッ ト (アクティブLow)。統合ブロ ッ クの PCI™ コンフ ィギュレーシ ョ ン空間のスティ ッキー レジスタを リセッ ト します。

DLRSTN 入力 USERCLK データ リ ンク層リセッ ト (アクティブ Low)。統合ブロッ クのデータ リ ンク層 (DLL) を リセッ ト します。

FUNCLVLRSTN 入力 USERCLK サポート されていません。 この入力は High に接続する必要があ り ます。

PIPECLK 入力 PIPECLK PIPE インターフェイス ク ロ ッ ク。

PLRECEIVEDHOTRST 出力 PIPECLK ホッ ト リセッ トの受信。 これがアサート される と、 インバンド ホッ ト リセッ トが受信されたこ とを示します。

PLRSTN 入力 PIPECLK 物理層リセッ ト (アクティブ Low)。 統合ブロッ クの物理層をリセッ ト します。

PLTRANSMITHOTRST 入力 PIPECLK ホッ ト リ セッ ト の送信。 これがアサー ト される と、 統合ブロッ クがインバンド ホッ ト リセッ ト を送信します。

Page 310: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 310

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

ト ランザクシ ョ ン層インターフェイス

パケッ トは、 ト ランザクシ ョ ン層インターフェイスを介して統合ブロ ッ クの ト ランザクシ ョ ン層に送受信されます。表 D-2 は、 ト ランザクシ ョ ン層インターフェイスのポート を規定しています。

RECEIVEDFUNCLVLRSTN 出力 USERCLK サポート されていません。

SYSRSTN 入力 NONE 非同期システム リセッ ト (アクティブ Low)。これがアサートされる と、 統合ブロ ッ クが リセッ ト されます。

TLRSTN 入力 USERCLK ト ランザクシ ョ ン層リセッ ト (アクティブ Low)。 統合ブロックの ト ランザクシ ョ ン層を リセッ ト します。

USERCLK 入力 USERCLK ユーザー インターフェイス ク ロ ッ ク。

USERCLK2 入力 USERCLK ユーザー インターフェイス ク ロ ッ ク 2。

USERRSTN 出力 USERCLK ユーザー インターフェイス リセッ ト (アクティブ Low)。ユーザー デザイン ロジッ クを リセッ トするために使用します (統合ブロッ クが リセッ ト される と きにアサート される )。

表 D‐1 : クロックおよびリセッ ト  インターフェイスのポートの説明 (続き)

ポート 方向クロック  ド メイ

ン説明

表 D‐2 : ト ランザクシ ョ ン層インターフェイスのポートの説明

ポート 方向クロック  ド メイン

説明

TRNFCCPLD[11:0] 出力 USERCLK 完了データ フロー制御クレジッ ト。選択されたフロー制御 (FC) タイプに対する完了データ FC クレジッ ト数が含まれます。

TRNFCCPLH[7:0] 出力 USERCLK 完了ヘッダー フロー制御クレジッ ト。選択されたフロー制御 (FC) タイプに対する完了ヘッダー FC クレジッ ト数が含まれます。

TRNFCNPD[11:0] 出力 USERCLK ノンポステッ ド データ フロー制御クレジッ ト。選択されたフロー制御(FC) タイプに対する ノンポステッ ド データ FC クレジッ ト数が含まれます。

TRNFCNPH[7:0] 出力 USERCLK ノンポステッ ド ヘッダー フロー制御クレジッ ト。選択されたフロー制御 (FC) タイプに対する ノンポステッ ド ヘッダー FC クレジッ ト数が含まれます。

TRNFCPD[11:0] 出力 USERCLK ポステッ ド データ フロー制御クレジッ ト。選択されたフロー制御 (FC)タイプに対するポステッ ド データ FC クレジッ ト数が含まれます。

TRNFCPH[7:0] 出力 USERCLK ポステッ ド ヘッダー フロー制御クレジッ ト 。 選択されたフロー制御(FC) タイプに対するポステッ ド ヘッダー FC クレジッ ト数が含まれます。

TRNFCSEL[2:0] 入力 USERCLK フロー制御情報選択。 TRNFC* 信号に出力されるフロー制御情報のタイプを選択します。 有効な値は次のとおりです。 • 000b : 受信バッファーの使用可能な空間 • 001b : リ ンク パートナーに与えられる受信クレジッ ト • 010b : 消費された受信クレジッ ト • 100b : 使用可能な送信ユーザー クレジッ ト • 101b : 送信クレジッ トの制限 • 110b : 消費された送信クレジッ ト

Page 311: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 311

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

TRNLNKUP 出力 USERCLK リ ンク ステータス出力 (アクティブ High)。 これがアサート される と、DLCMSM (Data Link Control and Management State Machine) がDLACTIVE ステートになり ます。

TRNRBARHIT[6:0] 出力 USERCLK 受信 BAR ヒ ッ ト (アクテ ィブ High)。 現在の受信ト ランザクシ ョ ンでターゲッ トになる BAR を示します。• TRNRBARHIT[0] : BAR0 • TRNRBARHIT[1] : BAR1 • TRNRBARHIT[2] : BAR2 • TRNRBARHIT[3] : BAR3 • TRNRBARHIT[4] : BAR4 • TRNRBARHIT[5] : BAR5

• TRNRBARHIT[6] : 拡張 ROM アドレス • TRNRBARHIT[7] : 将来使用するために予約。

2 つの BAR が 1 つの 64 ビッ ト アドレスにコンフ ィギュレーシ ョ ンされる場合、 該当する TRNRBARHITN ビッ トが両方アサート されます。

TRNRD[127:0] 出力 USERCLK 受信データ。 このバスには、 受信されているパケッ ト データが含まれます。

TRNRDSTRDY 入力 USERCLK 受信デスティネーシ ョ ン準備完了 (アクティブ High)。 ユーザー アプリケーシ ョ ンが TRNRD にデータを受け入れる準備ができたこ とを示すためにアサート されます。 TRNRSRCRDY および TRNRDSTRDY が同時にアサート される と TRNRD のデータが問題なく送信されたこ とを示します。

TRNRECRCERR 出力 USERCLK 受信 ECRC エラー (アクティブ High)。 これがアサート される と、 現在処理中のパケッ トに ECRC エラーがあるこ とを示します。 統合ブロ ックによ りパケッ トの EOF でアサート されます。

TRNREOF 出力 USERCLK 受信 EOF (End-of-Frame) (アクティブ High)。 これがアサート される と、パケッ トの終わり を意味します。

TRNRERRFWD 出力 USERCLK 受信エラー転送 (アクティブ High)。 現在処理中のパケッ トにエラーがあったこ とを示し、パケッ ト全体の長さ分、統合ブロ ッ クによ りアサート されます。

TRNRFCPRET 入力 USERCLK2 受信ポステッ ド フロー制御クレジッ ト リ ターン。 1 サイクル間アサート される と、ポステッ ド クレジッ トが リ ンク パートナーに送信可能になる条件が設定されます。 ポステッ ド フロー制御クレジッ トが送信される と、 条件は削除されます。

TRNRNPOK 入力 USERCLK ノンポステッ ドの受信 OK (アクテ ィブ High)。 ノンポステッ ド要求パケッ トの受信準備が完了するたびにユーザー アプリ ケーシ ョ ンによ りアサート されます。 ユーザー アプリ ケーシ ョ ンで必要な場合は、 ポステッ ドおよび完了パケッ トが入力キューのノンポステッ ド パケッ ト をバイパスできるよ うにします。 ノンポステッ ド要求を処理できないステートにユーザー アプリ ケーシ ョ ンが達する と きは、ユーザー アプリケーシ ョ ンで受け入れ可能な 終ノンポステッ ド TRNREOF を統合ブロ ッ クが出力する前に、 1 ク ロ ッ ク サイ クル間 TRNRNPOK をディアサートする必要があ り ます。

TRNRNPREQ 入力 USERCLK2 ノンポステッ ッ ド要求の受信。 これがアサート される と、 統合ブロ ックから ノンポステッ ド TLP を 1 つ要求します。

表 D‐2 : ト ランザクシ ョ ン層インターフェイスのポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 312: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 312

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

TRNRREM[1:0] 出力 USERCLK2 受信データ ワード イネーブル。 TRNREOF および TRNRDSTRDY の両方がアサート される場合にのみ有効です。 ビッ ト 1 は、 データパスが128 ビッ トの場合にのみ有効です。

この出力を TRNREOF および TRNRSOF と組み合わせる と、TRNRD のどのワードが有効であるかを示します。

• 64 ビッ ト インターフェイス : TRNRREM[0] = 1、 すべての TRNRD[63:0] にパケッ ト データ

TRNRREM[0] = 0、 TRNRD[63:32] のみにパケッ ト データ

• 128 ビッ ト インターフェイス : TRNRREM[1] :TRNRSRCRDY および TRNRDSTRDY の両方がアサート されている場合のみ有効です。TRNRSOF または TRNREOF と一緒にアサー ト される と、 ビー ト 内の SOF (Start of Frame) と EOF(End of Frame) の位置を示します。

° TRNRREM[1] = 1: TRNRD[127:64] に SOF、TRNRD[63:0] に EOF が含まれるこ とを示します。

° TRNRREM[1] = 0: TRNRD[127:64] に EOF、TRNRD[63:0] に SOF が含まれるこ とを示します。

TRNRREM[0]:TRNREOF、TRNRSRCRDY、および TRNRDSTRDY のすべてがアサート されている場合のみ有効です。

TRNRREM[1] = 1 の場合 :

° TRNRREM[0] = 1、 TRNRD[127:0] すべてのパケッ ト データ

° TRNRREM[0] = 0、 TRNRD[127:32] のみにパケッ ト データ

TRNRREM[1] = 0 の場合 :

° TRNRREM[0] = 1、 すべての TRNRD[127:64] にパケッ ト データ

° TRNRREM[0] = 0、 TRNRD[127:96] のみにパケッ ト データ

TRNRSOF 出力 USERCLK 受信 SOF (Start-of-Frame) (アクティブ High)。 これがアサート される と、パケッ トの始ま り を示します。

TRNRSRCDSC 出力 USERCLK 受信ソース中断 (アクティブ High)。 これがアサート される と、 統合ブロ ッ クが現在のパケッ トの転送を中止したこ とを意味します。 これは、物理リ ンクがリセッ ト される とアサート されます。

TRNRSRCRDY 出力 USERCLK 受信ソース準備完了 (アクティブ High)。 これがアサート される と、 統合ブロ ッ クが TRNRD に有効なデータを提供しているこ とを意味します。

TRNTBUFAV[5:0] 出力 USERCLK 使用可能な送信バッファー。 この出力は、 統合ブロ ッ クで使用可能な送信バッファーの数を知らせるもので、 大数は 32 です。 各送信バッファーはサポート されている 大ペイロード サイズまで 1 つの TLP を提供できます。

TRNTCFGGNT 入力 USERCLK 送信コンフ ィギュレーシ ョ ン許可 (アクティブ High)。 ユーザー アプリケーシ ョ ンは、TRNTCFGREQ に応答してこの入力をアサート し、統合ブロ ッ クで内部生成された TLP が送信できるよ うにします。 ユーザーが内部生成された TLP を延期させる必要がなければ、 この信号は継続してアサートできます。

TRNTCFGREQ 出力 USERCLK 送信コンフ ィギュレーシ ョ ン要求 (アクティブ High)。 統合ブロ ッ クでコンフ ィギュレーシ ョ ン完了またはその他の内部生成 TLP を送信する準備が整う と、 アサート されます。

TRNTD[127:0] 入力 USERCLK 送信データ。 このバスには、送信されるパケッ ト データが含まれます。

表 D‐2 : ト ランザクシ ョ ン層インターフェイスのポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 313: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 313

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

TRNTDSTRDY[3:0] 出力 USERCLK 送信デスティネーシ ョ ン準備完了 (アクティブ High)。 これがアサートされる と、 統合ブロ ッ クで TRNRD にデータを受信する準備が整ったこ とを意味します。 TRNTSRCRDY および TRNTDSTRDY が同時にアサート される と TRNTD のデータが問題な く送信されるこ とを示します。

TRNTECRCGEN 入力 USERCLK 送信 ECRC 生成 (アクティブ High)。 これがアサート される と、 TLP ダイジェス トがある場合はそれが計算し直され、 ない場合は追加されます。 この入力は、 パケッ ト SOF と一緒にアサート される必要があ り ます。

TRNTEOF 入力 USERCLK 送信 EOF (End-of-Frame) (アクテ ィブ High)。 パケッ トの終わり を示します。

TRNTERRDROP 出力 USERCLK 送信エラー ド ロ ップ (アクティブ High)。 これがアサート される と、 長さ制限違反のため、 またはス ト リーミ ング中に連続するクロ ッ ク サイクルでデータが出力されなかったために、 統合ブロ ッ クによ りパケットが却下されたこ とを示します。 長さ制限違反には、 サポート されている長さ を越えている場合と、 ペイ ロードが TLP ヘッ ダーの長さフ ィールドで使用されているものと一致しない場合があ り ます。

TRNTERRFWD 入力 USERCLK 送信エラー転送 (アクティブ High)。 現在処理中のパケッ トにエラーがあったこ とを示し、 SOF から EOF の間 (SOF および EOF を含む)、 いつでもアサートできます。

TRNTREM[1:0] 入力 USERCLK2 送信データ余り。 TRNTEOF、 TRNTSRCRDY、 および TRNTDSTRDYのすべてがアサート されている場合のみ有効です。

• 64 ビッ ト インターフェイス

有効な値は次のとおりです。

° TRNTREM = 1、 TRNTD[63:0] にパケッ ト データ

° TRNTREM = 0、 TRNTD[63:32] にパケッ ト データ

• 128 ビッ ト インターフェイス

TRNTREM[1:0] は 128 ビッ ト インターフェイスに使用されます。 有効な値は次のとおりです。

° TRNTREM[1:0] = 11、 TRNTD[127:0] にパケッ ト データ

° TRNTREM[1:0] = 10、 TRNTD[127:32] にパケッ ト データ

° TRNTREM[1:0] = 01、 TRNTD[127:64] にパケッ ト データ

° TRNTREM[1:0] = 00、 TRNTD[127:96] にパケッ ト データ

TRNTSOF 入力 USERCLK 送信 SOF (Start-of-Frame) (アクティブ High)。 この入力がアサート される と、 パケッ トの始ま り を意味します。

TRNTSRCDSC 入力 USERCLK 送信ソース中断 (アクティブ High)。これがアサート される と、ユーザーアプリ ケーシ ョ ンが現在のパケッ ト を中止したこ とを意味します。

TRNTSRCRDY 入力 USERCLK 送信ソース準備完了 (アクティブ High)。これがアサート される と、ユーザー アプリ ケーシ ョ ンが TRNTD に有効なデータを出力しているこ とを意味します。

TRNTSTR 入力 USERCLK 送信ス ト リーム (アクティブ High)。 これがアサート される と、 連続したク ロ ッ ク サイ クルでパケッ ト が出力され、 パケッ ト全体が統合ブロ ッ クに書き込まれる前にリ ンクの送信が開始するこ とを示します。

表 D‐2 : ト ランザクシ ョ ン層インターフェイスのポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 314: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 314

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

ブロック  RAM インターフェイス

送信 (TX) バッファーおよび受信 (RX) バッファーは、 ブロ ッ ク RAM にインプリ メン ト されます。 表 D-3 は、 ブロ ック RAM インターフェイスの TX バッファーおよび RX バッファー ポート を定義しています。

表 D‐3 : ブロック  RAM インターフェイス ポートの説明

ポート 方向 クロック  ド メイン 説明

MIMRXRADDR[12:0] 出力 USERCLK RX バッファーの読み出しアドレス

MIMRXRDATA[67:0] 入力 USERCLK RX バッファーの読み出しデータ

MIMRXREN 出力 USERCLK RX バッファーの読み出しイネーブル

MIMRXWADDR[12:0] 出力 USERCLK RX バッファーの書き込みアドレス

MIMRXWDATA[67:0] 出力 USERCLK RX バッファーの書き込みデータ

MIMRXWEN 出力 USERCLK RX バッファーの書き込みイネーブル

MIMTXRADDR[12:0] 出力 USERCLK TX バッファーの読み出しアドレス

MIMTXRDATA[68:0] 入力 USERCLK TX バッファーの読み出しデータ

MIMTXREN 出力 USERCLK TX バッファーの読み出しイネーブル

MIMTXWADDR[12:0] 出力 USERCLK TX バッファーの書き込みアドレス

MIMTXWDATA[68:0] 出力 USERCLK TX バッファーの書き込みデータ

MIMTXWEN 出力 USERCLK TX バッファーの書き込みイネーブル

Page 315: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 315

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

GTX ト ランシーバーのインターフェイス

GTX ト ランシーバーのインターフェイスには、 次の信号グループが含まれます。

• 「GTX ト ランシーバーのポート 」

• 「レーン ポート ごとの PIPE」

GTX ト ランシーバーのポート

表 D-4 は、 GTX ト ランシーバー インターフェイス内の ト ランシーバー ポート を定義しています。

表 D‐4 : GTX ト ランシーバーのポートの説明

ポート 方向クロック  ド メイン

説明

PLSELLNKRATE 出力 PIPECLK 現在の リ ンク レー ト (PIPECLK BUFGMUX を制御するために別のフ リ ップフロ ップで駆動) がレポート されます。• 0b :2.5 GB/s • 1b :5.0 GB/s

PLSELLNKWIDTH[1:0] 出力 PIPECLK 現在のリ ンク幅がレポート されます。• 00b : x1• 01b : x2• 10b : x4• 11b : x8

PLLTSSMSTATE[5:0] 出力 PIPECLK 現在の TSSM ステート を示します。• 000000b : Det Quiet• 000001b : Det Quiet Gen2• 000010b : Det Active• 000011b : Det Active Second• 000100b : Pol Active• 000101b : Pol config• 000110b : Pol Comp Pre Send Eios• 000111b : Pol Comp Pre Timeout• 001000b : Pol Comp Send Pattern• 001001b : Pol Comp Post Send Eios• 001010b : Pol Comp Post Timeout• 001011b : Cfg Lwidth St0• 001100b : Cfg Lwidth St1• 001101b : Cfg Lwidth Ac0• 001110b : Cfg Lwidth Ac1• 001111b : Cfg Lnum Wait• 010000b : Cfg Lnum Acpt• 010001b : Cfg Complete1• 010010b : Cfg Complete2• 010011b : Cfg Complete4• 010100b : Cfg Complete8• 010101b : Cfg Idle

Page 316: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 316

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

PLLTSSMSTATE[5:0] (続く ) 出力 PIPECLK 現在の TSSM ステート を示します。• 010110b : L0• 010111b : L1 Entry0• 011000b : L1 Entry1• 011001b : L1 Entry2• 011010b : L1 Idle• 011011b : L1 Exit• 011100b : Rec Rcvrlock• 011101b : Rec Rcvrcfg• 011110b : Rec Speed 0• 011111b : Rec Speed 1• 100000b : Rec Idle• 100001b : Hot Rst• 100010b : Disabled Entry0• 100011b : Disabled Entry1• 100100b : Disabled Entry2• 100101b : Disabled Idle• 100110b : Dp Cfg Lwidth St0• 100111b : Dp Cfg Lwidth St1• 101000b : Dp Cfg Lwidth St2• 101001b : Dp Cfg Lwidth Ac0• 101010b : Dp Cfg Lwidth Ac1• 101011b : Dp Cfg Lnum Wait• 101100b : Dp Cfg Lnum Acpt• 101101b : To 2 Detect• 101110b : Lpbk Entry0• 101111b : Lpbk Entry1• 110000b : Lpbk Active0• 110001b : Lpbk Exit0• 110010b : Lpbk Exit1• 110011b : Lpbkm Entry0

• 110100b - 111111b : Reserved (予約済み)

PLLANEREVERSALMODE[1:0] 出力 PIPECLK 現在のレーン反転モードを表示します。

• 00b : 反転なし

• 01b : レーン 1:0 反転

• 10b : レーン 3:0 反転

• 11b : レーン 7:0 反転

PLPHYLNKUPN 出力 PIPECLK このアクティブ Low 出力は、物理層のリ ンクアップステータスを示します。

PLDIRECTEDLINKCHANGE[1:0] 入力 PIPECLK この入力によ り、LTSSM にリ ンク幅およびスピード変更が開始されます。

• 00b : 変更なし

• 01b : リ ンク幅の変更

• 10b : リ ンク スピードの変更

• 11b : リ ンク幅およびスピードの変更 (レベル トリ ガー )

表 D‐4 : GTX ト ランシーバーのポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 317: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 317

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

PLDIRECTEDLINKWIDTH[1:0] 入力 PIPECLK 指定した リ ンク変更操作用のターゲッ ト リ ン ク幅を指定します (DIRECTEDLINKCHANGE[0] が 1b の場合にのみ動作)。• 00b : x1• 01b : x2• 10b : x4• 11b : x8

PLDIRECTEDLINKSPEED 入力 PIPECLK 指定した リ ンク変更操作用のターゲッ ト リ ンク スピード を指定し ます (DIRECTEDLINKCHANGE[1]が 1b の場合にのみ動作)。• 0b : 2.5GB/s• 1b : 5.0GB/s

PLDIRECTEDLTSSMNEW[5:0] 入力 PIPECLK 000000 に接続

PLDIRECTEDLTSSMNEWVLD 入力 PIPECLK 0 に接続

PLDIRECTEDLTSSMSTALL 入力 PIPECLK 0 に接続

PLDIRECTEDCHANGEDONE 出力 PIPECLK 指定したスピード変更または リ ン ク幅の変更が終了したこ とを示します。

PLDIRECTEDLINKAUTON 入力 PIPECLK 指定した リ ン ク変更操作に対する リ ン クの信頼性または自律性を指定します。

• 0b : リ ンク信頼性

• 1b : 自律性

PLTXPMSTATE[2:0] 出力 PIPECLK TX パワー マネージメン ト ステート を示します。• 000b : TXNOTINL0S• 001b : TXL0SENTRY• 010b : TXL0SIDLE• 011b : TXL0SFTS

• 100b - 111b : 予約済み

PLRXPMSTATE[1:0] 出力 PIPECLK RX パワー マネージメン ト ステート を示します。• 00b : RXNOTINL0S• 01b : RXL0SENTRY• 10b : RXL0SIDLE• 11b : RXL0SFTS

PLLINKUPCFGCAP 出力 PIPECLK この出力が High の場合、 リ ンクがアップコンフ ィギュレーシ ョ ン対応可能です ( リ ンク パートナーはConfig.Complete ステー ト中 TS2 でアップコンフ ィギュレーシ ョ ン機能 [symbol 4, bit 6] を通知し、デバイスがアップコンフ ィ ギュレーシ ョ ン対応可能になり ます)。

PLLINKGEN2CAP 出力 PIPECLK この出力が High の場合、 リ ンクが 5.0GB/s 対応可能であ る こ と を示し ます ( リ ン ク パー ト ナーは、Recovery.RcvrCfg または Config.Complete ステートから L0 ステートへの 後の遷移中に 5.0GB/s データレート を通知して、 デバイスが 5.0GB/s になり ます)。

表 D‐4 : GTX ト ランシーバーのポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 318: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 318

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

PLLINKPARTNERGEN2SUPPORTED 出力 PIPECLK この出力は、 リ ン ク パー ト ナーが 5.0GB/s データレート をサポートする場合に High に駆動されます(Recovery.RcvrCfg または Config.Complete から L0 ステートへ遷移している と き、 遷移が終了する と、 少なく と も 5.0GB/s データ レートが検出された後)。

PLINITIALLINKWIDTH[2:0] 出力 PIPECLK この出力は 初に交渉された リ ン ク幅を指定します (検出から Config.Idle への 初のエン ト リが正しく完了される場合)。• 000b : リ ンクはまだ ト レーニングしていない • 001b : x1 • 010b : x2 • 011b : x4 • 100b : x8

PLUPSTREAMPREFERDEEMPH 入力 PIPECLK エン ドポイン ト の優先ディエンフ ァシスを示します。この入力は、UPSTREAM_FACING 属性が TRUEの場合のみに使用されます。• 0b : –6dB• 1b : -3.5dB

PLDOWNSTREAMDEEMPHSOURCE 入力 PIPECLK ダウンス ト リームのルート ポートが 5.0GB/s のリ ンクで使用されるディエンファシスを選択します。 • 0b : アップス ト リームのリ ンク パートナーの優

先ディエンファシスを使用します。

• 1b : リ ンク制御 2 レジスタからの 選択可能なデ ィ エ ン フ ァ シ ス 値 を 使 用 し ま す(UPSTREAM_FACING 属性が FALSE に設定される場合にのみ使用)。

PIPETXRCVRDET 出力 PIPECLK これがアサート される と、 レシーバー検出操作を初期化するか (パワー ステート P1)、ループバッ クが開始されます (パワー ステート P0)。

PIPETXRESET 出力 PIPECLK アサート される と、 GTX ト ランシーバーの PCS 部分がリセッ ト されます。

PIPETXRATE 出力 PIPECLK リ ンク シグナリ ング レー ト を制御します (GTX トランシーバーを接続します)。• 0b : 2.5GB/s シグナリ ング レート を使用します。

• 1b : 5.0GB/s シグナリ ング レート を使用します。

表 D‐4 : GTX ト ランシーバーのポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 319: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 319

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

レーン  ポートごとの PIPE

表 D-5 は、 GTX ト ランシーバー インターフェイス内のレーン ポート ごとの PIPE を定義しています。 レーン ポートごとの PIPE にはそれぞれのポートに 1 つずつ、 合計 8 つのコピーがあ り ます (n = 0 ~ 7)。

PIPETXDEEMPH 出力 PIPECLK ト ラ ンス ミ ッ ターのディエンフ ァシスを選択します。

• 0b : –6dB ディエンファシス

• 1b : -3.5dB ディエンファシス

PIPETXMARGIN[2:0] 出力 PIPECLK ト ランス ミ ッ ターの電圧レベルを選択します。

• 000b : 通常動作範囲 • 001b : 1200mV (フル スイング) または 400-700mV

(ハーフ スイング)• 010b : 必須。 ベンダー定義

• 011b : 必須。 ベンダー定義

• 100b : 必須。 後の値またはベンダー定義の場合は、200-400mV (フル スイング) または 100-200mV(ハーフ スイング)

• 101b : オプシ ョ ン。 後の値またはベンダー定義の場合は、 200-400mV (フル ス イ ング) または100-200mV (ハーフ ス イング)、 その他の値がサポート されない場合は Reserved。

• 110b : オプシ ョ ン。 200-400mV (フル スイング) または 100-200mV (ハーフ スイング)

• 111b : オプシ ョ ン。 後の値の場合は、200-400mV (フル ス イ ング) または 100-200mV (ハーフ スイング)、 その他の値がサポート されない場合は Reserved。

表 D‐4 : GTX ト ランシーバーのポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

表 D‐5 : レーン ポートごとの PIPE の説明

ポート 方向クロック  ド メイン

説明

PIPERXnCHANISALIGNED 入力 PIPECLK これがアサート される と、 データス ト リームのチャネル ボンディング シーケンスに従って、 チャネルがマスター ト ランシーバーに適切にアラインされているこ とを示します。

PIPERXnCHARISK[1:0] 入力 PIPECLK 受信データの制御ビッ ト を決定します。

• 0b : データ バイ ト

• 1b : 制御バイ ト

下位ビ ッ ト は PIPERXnDATA[15:0] の下位バイ ト に、 上位ビッ トは上位バイ トに対応します。

PIPERXnDATA[15:0] 入力 PIPECLK 受信データを提供します。

PIPERXnELECIDLE 入力 PIPECLK この非同期入力は、 RX の電気的アイ ドルを示します。

PIPERXnPHYSTATUS 入力 PIPECLK これは、 パワー マネージメン ト ステートの遷移およびレーン n でのレシーバー検出などの GTX ト ランシーバー ファンクシ ョ ンの完了を示します。PIPERXnPHYSTATUS が 1 サイクル アサート される と、 この完了が確認できます。

Page 320: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 320

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

コンフ ィギュレーシ ョ ン マネージメン ト  インターフェイス

コンフ ィギュレーシ ョ ン マネージメン ト インターフェイスには、 次の 3 つの信号グループが含まれます。

• 「マネージメン ト インターフェイス ポート 」

• 「エラー レポート ポート 」

• 「割り込み生成およびステータス ポート 」

• 「ルート ポート専用ポート 」

PIPERXnPOLARITY 出力 PIPECLK これが High の場合、 GTX ト ランシーバー が極性 (RX 差動ペア上の) を反転させます。

PIPERXnSTATUS[2:0] 入力 PIPECLK 受信データ ス ト リームのレシーバー ステータスおよびエラー コード、 およびレーン およびレーン n 上のレシーバー検出をエンコード します。

• 000b : データを正常に受信

• 001b : 1 SKP 追加

• 010b : 1 SKP 削除

• 011b : レシーバーの検出

• 100b : 8B/10B デコード エラー

• 101b : エラスティ ッ ク バッファ オーバーフロー

• 110b : エラスティ ッ ク バッファ アンダーフロー

• 111b : 受信ディ スプレイ エラー

PIPERXnVALID 入力 PIPECLK PIPERX0DATA および PIPERX0CHARISK にシンボル ロ ック と有効データがあるこ とを示します。

PIPETXnCHARISK[1:0] 出力 PIPECLK 送信データの制御ビッ ト を定義します。

• 0b : データ バイ ト

• 1b : 制御バイ ト

下位ビ ッ ト は PIPETXnDATA[15:0] の下位バイ ト に、 上位ビッ トは上位バイ トに対応します。

PIPETXnCOMPLIANCE 出力 PIPECLK これがアサート される と ランニング ディ スパリ ティが負の値にな り ます。 コンプラ イアンス パターンが送信される場合にのみ使用されます。

PIPETXnDATA[15:0] 出力 PIPECLK 送信データが含まれます。

PIPETXnELECIDLE 出力 PIPECLK 送信出力をすべてのパワー ステートで電気的アイ ドル状態にします。

PIPETXnPOWERDOWN[1:0] 出力 PIPECLK レーン n の ト ランス ミ ッ ターのパワー マネージメン ト信号です。

• 00b : P0 (通常動作)• 01b : P0 ( リ カバリ時間の少ない節電ステート )• 10b : P1 ( リ カバリ時間の長い電力ステート )• 11b : 予約済み

表 D‐5 : レーン ポートごとの PIPE の説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 321: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 321

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

• 「受信メ ッセージの TLP ステータス ポート 」

• 「パワー マネージメン ト ポート 」

• 「受信コンフ ィギュレーシ ョ ンの TLP ステータス ポート 」

• 「コンフ ィギュレーシ ョ ン専用レジスタ ポート 」

• 「その他のコンフ ィギュレーシ ョ ン マネージメン ト ポート 」

マネージメン ト  インターフェイス ポート

表 D-6 は、コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス内のマネージメン ト インターフェイス ポートを定義しています。 これらのポートは、 コンフ ィギュレーシ ョ ン空間レジスタの読み出しおよび書き込みに使用されます。

表 D‐6 : マネージメン ト  インターフェイス ポートの説明

ポート 方向クロック  ド メイン

説明

CFGMGMTBYTEENN[3:0] 入力 USERCLK マネージ メ ン ト アクセス バイ ト イネーブル (アクテ ィ ブ Low)。 この 4ビッ ト入力は、コンフ ィギュレーシ ョン レジス タ アクセス信号にバイ トイネーブルを提供します。

CFGMGMTDI[31:0] 入力 USERCLK マネージメン ト データ入力。 この 32ビッ ト データ入力は、 統合ブロ ッ ク内のコンフ ィギュレーシ ョ ン空間に書き込みデータを提供します。

CFGMGMTDO[31:0] 出力 USERCLK マネージメン ト データ出力。 この 32ビッ ト データ出力は、 統合ブロ ッ ク内のコンフ ィギュレーシ ョ ン空間に読み出しデータを提供します。

CFGMGMTDWADDR[9:0] 入力 USERCLK マネージ メ ン ト DWORD ア ド レス。この 10 ビッ ト アドレスの入力は、コンフ ィギュレーシ ョ ン レジスタ アクセス中にコンフ ィギュレーシ ョ ン レジスタ DWORD アドレスを指定します。

CFGMGMTRDENN 入力 USERCLK マネージ メ ン ト読み出し イネーブル(アクティブ Low)。コンフ ィギュレーシ ョ ン レジスタ アクセスの読み出しイネーブルです。

CFGMGMTRDWRDONEN 出力 USERCLK マネージ メ ン ト読み出しまたは書き込みの終了 (アクテ ィブ Low)。 ユーザー コンフ ィギュレーシ ョ ン レジスタのアクセスが正常に完了したこ とを示します。 ユーザー コンフ ィギュレーシ ョ ン レジスタの読み出しの場合は、 CFGMGMTDO[31:0] データ バスの値が有効である こ とが確認されます。

CFGMGMTWRENN 入力 USERCLK マネージ メ ン ト書き込みイネーブル(アクティブ Low)。コンフ ィギュレーシ ョ ン レジスタ アクセスの書き込みイネーブルです。

Page 322: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 322

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

エラー レポート  ポート

表 D-7 は、 コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス内のエラー レポート ポート を定義しています。

CFGMGMTWRREADONLYN 入力 USERCLK マネージメ ン ト書き込み/読み出し専用ビッ ト (アクティブ Low)。これがアサート される と、現在の書き込みが読み出し専用 (RO) ビ ッ ト を読み出し /書き込み (RW) ビ ッ ト と して扱 う ことを意味します。 属性、 予約ビッ ト、ステータスを反映するビ ッ ト で設定されるビ ッ ト は含まれません。 これで、 ユーザーが RO ビッ ト ( リ ンク側アクセスの間、 ビッ トは RO のまま)を変更できるよ うになり ます。

CFGMGMTWRRW1CASRWN 入力 USERCLK マネージメン ト書き込み RW1C ビット の RW 処理 (アクテ ィブ Low)。 これがアサート される と、現在の書き込みで RW1C ビッ トがすべて RW ビット と して扱われるべきである こ と を示します。 RW1C ビッ トは、 1 を書き込むと一掃され、 通常は内部の 統合ブロ ッ クの条件によってのみ設定できます。この信号はビッ ト を 1 に設定するために使用します。

表 D‐6 : マネージメン ト  インターフェイス ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

表 D‐7 : エラー レポート  ポートの説明

ポート 方向クロック  ド メイン

説明

CFGERRACSN 入力 USERCLK コンフ ィギュレーシ ョ ン エラー アクセス制御サービス (ACS) 違反 (アクティブ Low)。 この信号をアサートする と、ACS 違反がレポート されます。

CFGERRAERHEADERLOG[127:0] 入力 USERCLK コンフ ィギュレーシ ョ ン エラー AERヘッダー ログ。 この 128 ビッ トの入力は、 エラー信号が送られたと きに、ユーザーから AER ヘッダー ログのヘッダー情報を受信します。

0 に接続

CFGERRAERHEADERLOGSETN 出力 USERCLK 使用されません。

CFGERRATOMICEGRESSBLOCKEDN 入力 USERCLK2 コ ンフ ィ ギ ュ レーシ ョ ン エラーAtomicOp 送信ブロ ッ ク (アクテ ィブLow)。 ユーザー アプリ ケーシ ョ ンはAtomic TLP がブロ ッ ク されたこ とをレポー ト する ために こ の信号をアサート します。

Page 323: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 323

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGERRCORN 入力 USERCLK コンフ ィギュレーシ ョ ン エラー修正可能エラー (アクテ ィブ Low)。 ユーザー アプ リ ケーシ ョ ンは修正可能なエラーをレポー トするためにこの信号をアサート します。

CFGERRCPLABORTN 入力 USERCLK コンフ ィギュレーシ ョ ン エラー完了中止 (アクティブ Low)。 ユーザー アプ リ ケーシ ョ ンは完了が中止されたこ と を報告するためにこの信号をアサ ー ト し ま す。 こ の 信 号 はCFGERRCPLRDYN がデ ィ アサー トされる場合は無視されます。

CFGERRCPLRDYN 出力 USERCLK コンフ ィギュレーシ ョ ン エラー TLP 完了ヘッダー FIFO 準備完了 (アクティブ Low)。 これがアサート されると、 CFGERRTLPCPLHEADER[47:0] からヘッダーをバッファーする内部 FIFO でエン ト リが受信できます。ディアサート される と、 統合ブロ ックで CFGERRURN および CFGERRCPLABORTN が無視されます。

CFGERRCPLTIMEOUTN 入力 USERCLK コンフ ィギュレーシ ョ ン エラー 完了タイムアウ ト (アクティブ Low)。ユーザー アプ リ ケーシ ョ ンは完了タイムアウ ト をレポー トするためにこの信号をアサート します。

CFGERRCPLUNEXPECTN 入力 USERCLK コンフ ィギュレーシ ョ ン エラー : 予期しない完了 (アクティブ Low)。ユーザー アプ リ ケーシ ョ ンは予期しない完了が受信されたこ と をレポー トするためにこの信号をアサート します。

CFGERRECRCN 入力 USERCLK ECRC エラー レポー ト (アクテ ィブLow)。 ユーザー アプリ ケーシ ョ ンはエン ド ト ゥ エン ド CRC (ECRC) エラーをレポー トするためにこの信号をアサート します。

CFGERRINTERNALCORN 入力 USERCLK2 コンフ ィギュレーシ ョ ン エラー : 内部エラーの修正 (ア ク テ ィ ブ Low)。ユーザー アプ リ ケーシ ョ ンは内部エラーが発生して、修正されたこ とをレポー トするためにこの信号をアサート します。

CFGERRINTERNALUNCORN 入力 USERCLK2 コンフ ィギュレーシ ョ ン エラー : 修正不可能な内部エラー (アクテ ィ ブLow)。 ユーザー アプリ ケーシ ョ ンは修正不可能な内部エラーが発生したこ と をレポー トするためにこの信号をアサート します。

表 D‐7 : エラー レポート  ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 324: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 324

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGERRLOCKEDN 入力 USERCLK コンフ ィギュレーシ ョ ン エラー ロ ック (ア ク テ ィ ブ Low)。 CFGERRURNまたは CFGERRCPLABORTN 入力信号に条件を追加するために使用されます。この入力がこの 2 つの信号のいずれかと同時にアサート される場合、エラーの発生した ト ランザクシ ョ ンは MRd ではなく MRdLk であるこ とを示します。正しい応答によ り完了が送信されるよ うになっている場合は、統合ブロ ッ クで Cpl ではな く CplLkが生成されます。

CFGERRMALFORMEDN 入力 USERCLK2 コンフ ィギュレーシ ョ ン エラー : 不正エラー (アクティブ Low)。ユーザーア プ リ ケ ーシ ョ ン は不正エ ラ ー(Malformed Error) をレポー ト するためにこの信号をアサート します。

CFGERRMCBLOCKEDN 入力 USERCLK2 コンフ ィギュレーシ ョ ン エラー : マルチキャス ト ブロ ッ ク (アクテ ィブLow)。 ユーザー アプリ ケーシ ョ ンはマルチキャス ト TLP がブロ ッ ク されたこ と をレポー トするためにこの信号をアサート します。

CFGERRNORECOVERYN 入力 USERCLK2 復元不可能なコンフ ィギュレーシ ョン エラー (アクティブ Low)。CFGERRPOISONEDN および CFGERRCPLTIMEOUTN 入力に条件を追加するために使用されます。 この入力がこれらの入力の 1 つと同時にアサート される場合、 エラーの発生した ト ランザクシ ョ ンが復元不可能なこ とを示します。 このため、 完了タイムアウ トの場合は、 要求が再試行されないよ うに選択できます。受信したポイズンド TLP に対しては、 操作を続行できません。

CFGERRPOISONEDN 入力 USERCLK2 コンフ ィギュレーシ ョ ン エラー : ポイズンド TLP (アクティブ Low)。ユーザー アプリ ケーシ ョ ンはポイズンド TLP が受信されたこ とをレポートするためにこの信号をアサート します。 この信号は、DISABLE_RX_POISONED_RESP 属性が 1 の場合にのみ使用できます。

CFGERRPOSTEDN 入力 USERCLK コンフ ィギュレーシ ョ ン エラー ポスト (アクティブ Low)。 CFGERR* 入力信号に条件を追加するために使用されます。この入力がその他の信号の 1つと同時にアサー ト される場合、 エラーの発生した ト ランザクシ ョ ンはポス ト されているこ とを示します。

表 D‐7 : エラー レポート  ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 325: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 325

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

割り込み生成およびステータス ポート

表 D-8 は、 コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス内の割り込み生成およびステータス ポート を定義しています。

CFGERRTLPCPLHEADER[47:0] 入力 USERCLK コンフ ィギュレーシ ョ ン エラー TLP完了ヘッダー )。 この 48 ビッ ト の入力は、 エラー信号が送られたと きに、ユーザーからヘッダー情報を受信します。 この情報は 統合ブロ ッ クが正しい完了を出力できるよ う にするために必要です。 この情報は、 受信エラー TLP から抽出され、次のよ うな リ ス ト形式で表示されるはずです。

[47:41] Lower Address [40:29] Byte Count [28:26] TC [25:24] Attr [23:8] Requester ID [7:0] Tag

CFGERRURN 入力 USERCLK コンフ ィギュレーシ ョ ン エラー : サポー ト されていない要求 (アクテ ィブ Low)。ユーザー アプリ ケーシ ョ ンはサポート されていない要求 (UR) が受信されたこ と をレポー トするためにこの信号をアサート します。この信号は CFGERRCPLRDYN がデ ィ アサート される場合は無視されます。

表 D‐7 : エラー レポート  ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 326: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 326

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

表 D‐8 :割り込み生成およびステータス ポートの説明

ポート 方向クロック  ド メイン

説明

CFGINTERRUPTASSERTN 入力 USERCLK コンフ ィギュレーシ ョ ン レガシー割り 込みアサー ト /デ ィ アサー ト の選択。 CFGINTERRUPTN がアサート される場合、古い割り込みに対しアサート /ディ アサー ト を選択します。 MSI割り込みには使用されません。 メ ッセージ タイプの値 : • 0b : アサート • 1b : ディアサート

CFGINTERRUPTDI[7:0] 入力 USERCLK コンフ ィギュレーシ ョ ン割り込みデータ入力。 MSI (Message Signaling Interrupts) の場合、 マルチ ベクターがイネーブルになっていれば、 MSI ベクター番号を示すため、 エンドポイン トが駆動する必要のある メ ッセージ データ部分を提供します。CFGINTERRUPTMMENABLE[2:0] で示される値は、 エンドポイン トが提供する メ ッセージ データの下位ビット を決定します。 CFGINTERRUPTDI[7:0] の残りの上位ビッ トは使用されません。 シングル ベクター割り込みの場合、CFGINTERRUPTDI[7:0] は使用されません。 レガシー割り込みメ ッセージ (ASSERTINTX、 DEASSERTINTX) の場合は、 どのメ ッセージ タイプが送信されたかを示します。 値は次のようにな り ます。• 00h : INTA • 01h : INTB • 02h : INTC • 03h : INTD

CFGINTERRUPTDO[7:0] 出力 USERCLK コ ン フ ィ ギ ュ レーシ ョ ン割 り 込みデータ出力。 エン ドポイン ト の MSI機能構造のメ ッセージ データ フ ィール ド の下位 8 ビ ッ ト の値です。CFGINTERRUPTMMENABLE[2:0] と共に CFGINTERRUPTDI[7:0] を駆動するために使用されます。

CFGINTERRUPTMMENABLE[2:0] 出力 USERCLK コンフ ィギュレーシ ョ ン割り込み複数メ ッセージ のイネーブル。000b から 101b までのマルチ メ ッセージ イネーブル フ ィールドの値が含まれます。000b 値は、シングル ベクターのMSI がイネーブルになっている こ とを示します。その他の値は、マルチベクターの MSI に使用可能なビッ ト数を示します。

Page 327: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 327

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

ルート  ポート専用ポート

表 D-9 は、 コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス内のルート ポート専用ポート を定義しています。

CFGINTERRUPTMSIENABLE 出力 USERCLK コ ン フ ィ ギ ュ レーシ ョ ン割 り 込みMSI イネーブル。 • [0] : レガシ (INTx) 割り込みのみ

が送信可能• [1] : MSI (Message Signaling

Interrupt) メ ッセージがイネーブル

CFGINTERRUPTMSIXENABLE 出力 USERCLK コ ン フ ィ ギ ュ レーシ ョ ン割 り 込みMSIX イネーブル。これがアサート される と、 MSI-X (Message SignalingInterrupt) メ ッセージがイネーブルになっているこ とを示します。

CFGINTERRUPTMSIXFM 出力 USERCLK コ ン フ ィ ギ ュ レーシ ョ ン割 り 込みMSIX ファンクシ ョ ン マスク。MSI-Xメ ッセージ制御フ ィールドのファンクシ ョ ン マスク ビッ トのステート を示します。

CFGINTERRUPTN 入力 USERCLK コンフ ィギュレーシ ョ ン割り込み要求 (アクティブ Low)。 アサート される と、 選択した割り込みメ ッセージ タイプが 統合ブロッ クによ り送信されます。 この信号は CFGINTERRUPTRDYN がアサート されるまでアサート しておく必要があり ます。

CFGINTERRUPTRDYN 出力 USERCLK コンフ ィギュレーシ ョ ン割り込み準備完了 (アクティブ Low)。割り込み許可信号です。 CFGINTERRUPTRDYNおよび CFGINTERRUPTN が同時にアサート される と、統合ブロ ッ クが要求された割り込みメ ッセージを正しく送信したこ とを示します。

CFGINTERRUPTSTATN 入力 USERCLK2 コンフ ィギュレーシ ョ ン割り込みステータス。 INTERRUPT_STAT_AUTO属性が 0 に設定される場合 : • アサート される と、 ステータス レ

ジスタの割り込みステータス ビット (ビッ ト 3) が設定されます。

• ディ アサー ト される と、 ステータス レジスタの割り込みステータスビッ ト (ビッ ト 3) の設定が解除されます。

表 D‐8 :割り込み生成およびステータス ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 328: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 328

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

受信メ ッセージの TLP ステータス ポート

表 D-10 は、 コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス内の受信メ ッセージの TLP ステータス ポート を定義しています。

表 D‐9 :ルート  ポート専用ポートの説明

ポート 方向クロック  ド メイ

ン説明

CFGDSBUSNUMBER[7:0] 入力 USERCLK コンフ ィギュレーシ ョ ン ダウンス トリーム バス番号。 この 8 ビッ ト入力は、 ルート ポートの要求者 ID (RID)のバス番号部分を提供します。この部分は UR 完了およびパワー マネージメン ト メ ッセージなどの統合ブロ ック内で生成される TLP で使用されます。 TRN イ ン ターフ ェ イ スにあ るTLP には影響しません。

エンドポイン トの場合は、0 に設定します。

CFGDSDEVICENUMBER[4:0] 入力 USERCLK コンフ ィギュレーシ ョ ン ダウンス トリーム デバイス番号。 この 5 ビッ ト入力は、 ルー ト ポー ト の 要求者 ID(RID) のデバイ ス番号部分を提供します。 この部分は UR 完了およびパワー マネージメン ト メ ッセージなどの統合ブロ ッ ク内で生成される TLPで使用されます。 TRN インターフェイスにある TLP には影響しません。

エンドポイン トの場合は、0 に設定します。

CFGDSFUNCTIONNUMBER[2:0] 入力 USERCLK コンフ ィギュレーシ ョ ン ダウンス トリーム ファンクシ ョ ン番号。 この 3ビッ ト入力は、 ルート ポート の要求者 ID (RID) のファンクシ ョ ン番号部分を提供します。これは UR 完了およびパワー マネージメン ト メ ッセージなどの統合ブロ ッ ク内で生成されるTLP で使用されます。 TRN インターフェイスにある TLP には影響しません。

エンドポイン トの場合は、0 に設定します。

CFGPORTNUMBER[7:0] 入力 USERCLK コンフ ィギュレーシ ョ ン ルート ポート番号。この 8 ビッ ト入力は、 リ ンク機能レジスタのポー ト番号フ ィールドを提供します。

エンドポイン トの場合は、0 に設定します。

Page 329: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 329

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

表 D‐10 :受信メ ッセージの TLP ステータス ポートの説明

ポート 方向クロック  ド メイン

説明

CFGMSGDATA[15:0] 出力 USERCLK メ ッセージ要求者 ID/セッ ト ス ロ ッ トデータ /バス、 ファンクシ ョ ン番号。 エンドポイン ト : • CFGMSGRECEIVED = 0 の場合、 エン

ドポイン トの取り込まれたバス /デバイス /ファンクシ ョ ン数が含まれます。

• CFGMSGRECEIVED = 1 & CFGMSGRECEIVEDSETSLOTPOWERLIMIT = 1 の場合、 電源値およびスケール フ ィールドが含まれます。

• CFGMSGRECEIVED = 1 & CFGMSGRECEIVEDSETSLOTPOWERLIMIT = 0 の場合、 メ ッセージの要求者 ID が含まれます。

ルート ポート : • CFGMSGRECEIVED* 信号が出力され

る場合、 メ ッセージの要求者 ID が含まれます。

• それ以外の場合は未定義とな り ます。

CFGMSGRECEIVED 出力 USERCLK デコード可能なメ ッセージの受信。 メ ッセージが リ ン クで受信された場合にのみアサート されます。 アップス ト リームに伝送される メ ッセージがルー ト ポート によ り内部で生成される場合は (適切な CFGMSGRECEIVEDERR* がアサートされていても ) アサート されません。

CFGMSGRECEIVEDASSERTINTA 出力 USERCLK これは、 INTA のアサート メ ッセージがリ ンクで受信されるたびに 1 回出力します。 メ ッセージの要求者 ID は cfg_msg_data に表示されます。 エンドポイン トには使用されません。

CFGMSGRECEIVEDASSERTINTB 出力 USERCLK これは、 INTB のアサート メ ッセージがリ ンクで受信されるたびに 1 回出力します。 メ ッセージの要求者 ID は cfg_msg_data に表示されます。 エンドポイン トには使用されません。

CFGMSGRECEIVEDASSERTINTC 出力 USERCLK これは、 INTC のアサート メ ッセージがリ ンクで受信されるたびに 1 回出力します。 メ ッセージの要求者 ID は cfg_msg_data に表示されます。 エンドポイン トには使用されません。

CFGMSGRECEIVEDASSERTINTD 出力 USERCLK これは、 INTD のアサート メ ッセージがリ ンクで受信されるたびに 1 回出力します。 メ ッセージの要求者 ID は cfg_msg_data に表示されます。 エンドポイン トには使用されません。

Page 330: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 330

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGMSGRECEIVEDDEASSERTINTA 出力 USERCLK これは、 INTA のディアサート メ ッセージがリ ンクで受信されるたびに 1 回出力し ます。 メ ッ セージの要求者 ID はcfg_msg_data に表示されます。 エンドポイン トには使用されません。

CFGMSGRECEIVEDDEASSERTINTB 出力 USERCLK これは、 INTB のディアサート メ ッセージがリ ンクで受信されるたびに 1 回出力し ます。 メ ッ セージの要求者 ID はcfg_msg_data に表示されます。 エンドポイン トには使用されません。

CFGMSGRECEIVEDDEASSERTINTC 出力 USERCLK これは、 INTC のディアサート メ ッセージがリ ンクで受信されるたびに 1 回出力し ます。 メ ッ セージの要求者 ID はcfg_msg_data に表示されます。 エンドポイン トには使用されません。

CFGMSGRECEIVEDDEASSERTINTD 出力 USERCLK これは、 INTD のディアサート メ ッセージがリ ンクで受信されるたびに 1 回出力し ます。 メ ッ セージの要求者 ID はcfg_msg_data に表示されます。 エンドポイン トには使用されません。

CFGMSGRECEIVEDERRCOR 出力 USERCLK 修正可能エラー メ ッセージが リ ンクで受信、またはルート ポートで内部生成されるたびに (アップス ト リームに向けてバッ クエン ド ロジッ クがメ ッセージを生成する目的で)、 1 回出力します。 メ ッセージの要求者 ID は cfg_msg_data に表示されます。 エンドポイン トには使用されません。

CFGMSGRECEIVEDERRFATAL 出力 USERCLK 致命的エラー メ ッセージが リ ン クで受信、またはダウンス ト リーム コアで内部生成されるたびに (アップス ト リームに向けてバッ ク エン ド ロ ジ ッ ク が メ ッセージを生成する目的で)、 1 回出力します。 メ ッ セージの要求者 ID はcfg_msg_data に表示されます。

エンドポイン トには使用されません。

CFGMSGRECEIVEDERRNONFATAL 出力 USERCLK 非致命的エラー メ ッセージが リ ン クで受信、またはダウンス ト リーム コアで内部生成されるたびに (アップス ト リームに向けてバッ クエン ド ロジッ クがメ ッセージを生成する目的で)、 1 回出力します。 メ ッ セージの要求者 ID はcfg_msg_data に表示されます。

エンドポイン トには使用されません。

CFGMSGRECEIVEDPMASNAK 出力 USERCLK パワー マネージ メ ン ト ア クテ ィ ブ ステート NAK メ ッセージの受信。 PM ASNAK メ ッセージを リ ンクで受信するたびに 1 回出力します。 メ ッセージの要求者 ID は CFGMSGDATA に表示されます。

表 D‐10 :受信メ ッセージの TLP ステータス ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 331: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 331

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

パワー マネージメン ト  ポート  

表 D-11 は、 コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス内のパワー マネージメン ト ポート を定義しています。

CFGMSGRECEIVEDPMETO 出力 USERCLK PM Turn Off メ ッセージの受信。 PM TurnOff メ ッセージを リ ンクで受信するたびに 1 回出力します。 メ ッセージの要求者ID は CFGMSGDATA に表示されます。

CFGMSGRECEIVEDPMETOACK 出力 USERCLK PM Turn Off Ack メ ッセージを リ ンクで受信するたびに 1 回出力し ます。 メ ッセージの要求者 ID は cfg_msg_data に表示されます。

エンドポイン トには使用されません。

CFGMSGRECEIVEDPMPME 出力 USERCLK パワー マネージ メ ン ト イベン ト メ ッセージを リ ンクで受信するたびに 1 回出力し ます。 メ ッ セージの要求者 ID はcfg_msg_data に表示されます。

エンドポイン トには使用されません。

CFGMSGRECEIVEDSETSLOTPOWERLIMIT 出力 USERCLK セッ ト スロ ッ ト電源制限メ ッセージの受信。セッ ト スロ ッ ト電源制限メ ッセージを リ ンクで受信するたびに 1 回出力します。 メ ッセージのデータ (値、 スケール) は CFGMSGDATA に表示されます。

CFGMSGRECEIVEDUNLOCK 出力 USERCLK ロ ッ ク解除メ ッセージの受信。 ロ ッ ク解除メ ッセージが リ ン クで受信されるたびに 1 回出力します。 メ ッセージの要求者 ID は CFGMSGDATA に表示されます。

表 D‐10 :受信メ ッセージの TLP ステータス ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

表 D‐11 :パワー マネージメン ト  ポートの説明

ポート 方向クロック  ド メイン

説明

CFGPMCSRPMEEN 出力 USERCLK2 PMCSR PME_En。PMCSR レジスタのPME_En ビッ ト (ビッ ト 08) を設定します。

CFGPMCSRPMESTATUS 出力 USERCLK2 PMCSR PME_Status。 PMCSR レジスタの PME_Status ビ ッ ト (ビ ッ ト 15)を設定します。

Page 332: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 332

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGPMCSRPOWERSTATE 出力 USERCLK2 PMCSR PowerState[1:0]。 この 2 ビ ット出力は、 ポート ファンクシ ョ ンの現在のパワー ステー ト を決定し ます。この出力のエンコードは次のとおりです。• 00b : D0• 01b : D1• 10b : D2• 11b : D3hot

この出力は PMCSR レジス タのパワー ステー ト ビッ ト [01:00] に該当します。

CFGPMFORCESTATE 入力 USERCLK2 PM ステートの強制。CFGPMFORCEENN と併用される と、PMSM (Power Management State Machine) は目的のステートに留まるか、 そのステートに移行しよ う と します。 このバスの次の値を駆動して、ステート を示します。

• 00b : L0 に移行または L0 を維持 (または、 イネーブルの場合は L0s/ASPM L1)

• 01b : PPM L1 に移行または PPM L1 を維持

• 10b : ASPM L0s に移行または ASPM L0s を維持 (ASPM または L0 の場合にのみサンプリ ング)

• 11b : ASPM L1 に移行または ASPM L1 を維持 (ASPM または L0 の場合にのみサンプリ ング)

CFGPMFORCESTATEENN 入力 USERCLK2 PM ステート遷移イネーブルの強制 (アクティブ Low)。 これを CFGPMFORCESTATE と併用する と、PM SM は目的のステートに留まるか、 そのステートに移行しよ う と します。 コアが目的のステートに移行しよ うする場合、CFGPCIELINKSTATE でこのコアがそのステートに移行しているこ とが示されるまで、 この入力をアサートしたままにしておく必要があ り ます。

CFGPMHALTASPML0SN 入力 USERCLK2 ASPM L0s の停止 (アクティブ Low)。こ れがアサー ト さ れる と、 コ アがASPM L0s ステー ト にならないよ うにな り ます。この入力がアサート されたと きにコアが既に L0s ステー ト にある場合は、L0 ステートに戻り ます。CFGPMFORCESTATE によ り コ アがL0s ステー ト に遷移ずべきである ことが示される と、この信号は上書きされます。

表 D‐11 :パワー マネージメン ト  ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 333: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 333

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGPMHALTASPML1N 入力 USERCLK2 ASPM L1 の停止 (アクティブ Low)。• エンドポイン ト

これがアサー ト される と、 エン ドポイン ト コアが ASPM L1 ステート にならないよ うにな り ます。 この入力がアサート されたと きにコアが既に ASPM L1 ステー ト にある場合は、L0 ステートに戻り ます。CFGPMFORCESTATE によ り コ アが ASPM L1 ステー ト になるべきである こ とが示される と、 この信号は上書きされます。

• ルート ポート

これがアサー ト される と、 リ ンクパー ト ナーが ASPM L1 ステー トにな る よ う に要求されている場合、ルート ポート コアは ASPM L1要求に対して否定応答 (NAK) を戻します。 (1)

CFGPMRCVASREQL1N 出力 USERCLK 使用されません。

CFGPMRCVENTERL1N 出力 USERCLK 使用されません。

CFGPMRCVENTERL23N 出力 USERCLK PM_Enter_L23 DLLP を受信するたびに出力されます。PM_Enter_L23 DLLPは、 PME_Turn_Off メ ッセージの送信後、 ルー ト ポー ト で受信されます。ルート ポートは自動的に応答するため、ユーザー側のアクシ ョ ンは不要です。

エンドポイン トには使用されません。

CFGPMRCVREQACKN 出力 USERCLK PMREQUESTACK DLLP の受信 (アクティブ Low)。 これがアサート されると、PMENTERL1、a PMENTERL23、または PM AS Req L1 の送信後にPMREQUESTACK DLLP がエン ド ポイン トで受信されたこ とを示します。統合ブロ ッ クは自動的に応答するため、ユーザー側のアクシ ョ ンは不要です。

CFGPMSENDPMETON 入力 USERCLK このアクティブ Low 入力をアサートする と、 ルート ポートから Turn Off メ ッセージが送信されます。 リ ンクが Turn Off Ack で応答する と、CFGMSGRECEIVEDPMETOACK でレポート され、 L3 Ready への 終遷移が cfg_pcie_link_state でレポート されます。

エンドポイン トの場合は、 1 に設定します。

表 D‐11 :パワー マネージメン ト  ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 334: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 334

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

受信コンフ ィギュレーシ ョ ンの TLP ステータス ポート

表 D-12 は、 コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス内の受信コンフ ィギュレーシ ョ ンの TLP ステータス ポート を定義しています。

CFGPMTURNOFFOKN 入力 USERCLK コンフ ィギュレーシ ョ ン ターンオフ OK、 PPM L3 (アクティブ Low)。ユーザー アプリ ケーシ ョ ンでこの信号がアサート される と、 エンドポイン トに電源を切っても安全であることが通知されます。CFGMSGRECEIVEDPMETO が出力しているサイクル中またはその後に、この入力はサンプリ ングされます。

CFGPMWAKEN 入力 USERCLK PMPME メ ッセージの送信 (アクティブ Low)。 これが 1 ク ロ ッ ク サイクル間アサート される と、統合ブロ ッ クによ り アップス ト リームの リ ンク パートナにパワー マネージメン ト ウェイク イベン ト (PMPME) メ ッ セージTLP が送信されます。

注記 :1. ASPM L1 は 7 Series Integrated Block for PCIe ではサポート されません。

表 D‐11 :パワー マネージメン ト  ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

表 D‐12 :受信コンフ ィギュレーシ ョ ンの TLP ステータス ポートの説明 (コンフ ィギュレーシ ョ ン  マネージメン ト  インターフェイス)

ポート 方向クロック  ド メイン

説明

CFGTRANSACTION 出力 USERCLK コンフ ィギュレーシ ョ ン ト ランザクシ ョ ンの受信。 有効なコンフ ィ ギュレーシ ョ ン読み出しまたは書き込みが 0 から 7Fh (DWORD# 0 ~ 127) の範囲で受信されるこ とを示します。

CFGTRANSACTIONADDR[6:0] 出力 USERCLK コンフ ィギュレーシ ョ ン ト ランザクシ ョ ン アドレス。 この 7 ビッ ト出力には、 ア ド レス指定された DWORDオフセッ ト が含まれます (0 - 7Fh)。CFGTRANSACTION が出力される場合にのみ有効になり ます。

CFGTRANSACTIONTYPE 出力 USERCLK コンフ ィギュレーシ ョ ン ト ランザクシ ョ ン タ イプ。 CFGTRANSACTIONが出力される と き コンフ ィ ギュレーシ ョ ン ト ランザクシ ョ ンのタイプを示します。

• [0] : 読み出し

• [1] : 書き込み

Page 335: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 335

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

コンフ ィギュレーシ ョ ン専用レジスタ  ポート

表 D-13 は、 コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス内のコンフ ィギュレーシ ョ ン専用レジスタポート を定義しています。 これらのポートは、PCI Express コンフ ィギュレーシ ョ ン空間内のよ く使用されるレジスタの内容を直接反映します。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート

ポート 方向クロック  ド メイン

説明

CFGAERROOTERRFATALRERRRECEIVED 出力 USERCLK2 コンフ ィギュレーシ ョ ン AER、 致命的エラー メ ッセージの受信。ERR_FATAL メ ッセージが受信されたこ とを示します。

CFGAERROOTERRFATALERRREPORTINGEN 出力 USERCLK2 コンフ ィギュレーシ ョ ン AER、 致命的エラー レポート イネーブル。このレジスタ ビッ トはユーザー ロジッ クをイネーブルにして、 レポート された致命的エラーに対して割り込みを生成します。

CFGAERROOTERRNONFATALRERRRECEIVED 出力 USERCLK2 コンフ ィギュレーシ ョ ン AER、 非致命的エラー メ ッセージの受信。AER_Root_Error_Status[5].このレジスタ ビッ トは ERR_NFE メ ッセージが受信されたこ とを示します。

CFGAERROOTERRNONFATALERRREPORTINGEN 出力 USERCLK2 コンフ ィギュレーシ ョ ン AER、 非致命的エラー レポート イネーブル。このレジスタ ビッ トはユーザー ロジッ クをイネーブルにして、 レポート された非致命的エラーに対して割り込みを生成します。

CFGAERINTERRUPTMSGNUM[4:0] 入力 USERCLK2 コンフ ィギュレーシ ョ ン AER、 割り込みメ ッセージ番号。 AER Root Error Status Register[31:27] (割り込みメ ッセージ番号) の値を駆動します。

CFGBRIDGESERREN 出力 USERCLK2 コンフ ィギュレーシ ョ ン ブリ ッジ制御、 SERR イネーブル。 Bridge Ctrl[1]。 これがアサート されている場合、 修正可能なエラー、 非致命的エラーおよび致命的エラーの転送がイネーブルになり ます。

Page 336: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 336

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGCOMMANDBUSMASTERENABLE 出力 USERCLK コンフ ィギュレーシ ョ ン コマンド、バス マスター イネーブル、Command[2]。 この設定に基づいた統合ブロ ッ クのアクシ ョ ンはあ り ません。 ユーザー ロジッ クのアクシ ョ ンが必要です。 エンドポイン ト :

これがアサー ト される と、 ユーザー ロジッ クがメモ リ または I/O要求 (MSI/X 割り込みを含む) を出力します。 アサート されない場合は出力されません。

ルート ポート : これがアサート される と、受信したメモ リ または I/O 要求がアップス ト リ ームに転送でき ます。 アサート されない場合は、 これらの要求を UR と して処理する必要があ り ます。 ノンポステッ ド要求の場合、 UR 完了ステータスの完了が返される必要があ り ます。

CFGCOMMANDINTERRUPTDISABLE 出力 USERCLK コンフ ィギュレーシ ョ ン コマンド、割 り 込 み デ ィ ス エ ー ブ ル、Command[10]。 これがアサート される と、 統合ブロ ッ クは INTx 割り込みをアサートできなくな り ます。

CFGCOMMANDIOENABLE 出力 USERCLK コンフ ィギュレーシ ョ ン コマンド、I/O 空間イネーブル、 Command[0]。 • エンドポイン ト : [0] : 統合ブロッ クは、UR のあるこれらのア クセス と応答をフ ィルターします。

[1] : デバイスが I/O 空間のアクセスを受信できます。

• ルート ポート : [0] : ユーザー ロジッ クで TPLPダウンス ト リ ームが生成されません。

[1] : この設定に基づいた 統合ブロ ッ ク側のア クシ ョ ンはあ り ません。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 337: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 337

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGCOMMANDMEMENABLE 出力 USERCLK コンフ ィギュレーシ ョ ン コマンド、メ モ リ 空 間 イ ネ ー ブ ル、Command[1]。 • エンドポイン ト : [0] : 統合ブロッ クは、UR のあるこれらのア クセス と応答をフ ィルターします。 [1] : デバイスがメモ リ空間のアクセスを受信できます。

• ルート ポート : [0] : ユーザー ロジッ クで TLP ダウンス ト リ ームが生成されません。

[1] : この設定に基づいた統合ブロ ッ ク側のア クシ ョ ンはあ り ません。

CFGCOMMANDSERREN 出力 USERCLK コンフ ィギュレーシ ョ ン コマンド、SERR イネーブル (ア ク テ ィ ブLow)、 Command[8]。 これがアサート される と、 非致命的および致命的エラーのレポートがイネーブルになり ます。 イネーブルになっている場合、 このビッ ト またはデバイ ス制御レジス タの PCIExpress のビッ ト を介して、エラーが報告されます。 また、ルート ポートアプリ ケーシ ョ ンの場合、 このビットによ り、セカンダ リ インターフェイ ス か ら 転 送 さ れ たERRNONFATAL および ERRFATALエラー メ ッセージのプラ イマ リ インターフェイスによる送信が制御されます。

CFGDEVCONTROL2ARIFORWARDEN 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン デバイス制御 2、 ARI 転送イネーブル。 このレジスタ ビッ トが設定される と、タイプ 1 のコンフ ィギュレーシ ョ ン要求がタ イプ 0 のコンフ ィ ギュ レーシ ョ ン要求に変わる際に、 ダウンスト リ ーム ポー ト は従来のデバイス番号フ ィールド を 0 にする機能をディ スエーブルにします。 これにより、ポートのすぐ下の ARI デバイスの拡張機能にアクセスできるよ うにな り ます。 このビッ トのデフォルトは 0b です。 ARI 転送サポート ビットが 0b の場合、 これは 0b に固定できます。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 338: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 338

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGDEVCONTROL2ATOMICEGRESSBLOCK 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン デバイス制御 2、ア ト ミ ッ ク送信ブロ ッ ク。このレジスタ ビッ ト が設定される と、こ の送信ポー ト か ら 出力 さ れ るAtomicOp 要求がブロ ッ ク されます。このビッ ト のデフォル ト値は 0b です。

CFGDEVCONTROL2ATOMICREQUESTEREN 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン デバイス制御 2、 ア ト ミ ッ ク要求者イネーブル。 このビッ ト と、 コマンド レジスタのバス マスター イネーブル ビットの両方を設定する と、AtomicOp 要求のみを開始できます。 エンドポイン ト または ルー ト ポー ト がAtomicOp 要求を開始できる場合は、このビッ ト を RW にする必要があ ります。それ以外の場合は 0b に固定できます。 このビッ トは、 機能ビッ トと し て は 使 用 で き な い の で、AtomicOp 要求機能がエン ドポイント またはルー ト ポー ト でサポー トされない場合でも RW にできます。このビッ ト のデフォル ト値は 0b です。

CFGDEVCONTROL2CPLTIMEOUTDIS 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイス制御 2、 完了タ イ ムアウ ト ディ スエーブル、 DEVICECTRL2[4]。 これがアサート される場合、 ユーザーは完了タ イ ムア ウ ト カ ウ ン ターをディ スエーブルにする必要があ り ます。

CFGDEVCONTROL2CPLTIMEOUTVAL[3:0] 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイス制御 2、 完了タ イ ムア ウ ト 値、DEVICECTRL2[3:0]。 この 4 ビ ッ ト出力は、ユーザー ロジッ クが要求の保留完了を完了タイムアウ ト と見なすまでの時間です。 この設定に基づいた統合ブロ ッ ク側のアクシ ョ ンはあ り ません。

• 0000b : 50µs ~ 50ms (デフォルト )• 0001b : 50µs ~ 100µs• 0010b : 1ms ~ 10ms• 0101b : 16ms ~ 55ms• 0110b : 65ms ~ 210ms• 1001b : 260ms ~ 900ms• 1010b : 1s ~ 3.5s• 1101b : 4s ~ 13s• 1110b : 17s ~ 64s

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 339: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 339

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGDEVCONTROL2IDOCPLEN 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン デバイス制御 2、 IDO 完了イネーブル。 このレジス タ ビ ッ ト が設定される と、ファンクシ ョ ンで ID ベースの順序(IDO) ビッ ト を設定できるよ うになり ます。要求に IDO 属性が設定されたこ とがない場合、このビッ トは 0bに固定でき ます。 このビ ッ ト のデフォルト値は 0b です。

CFGDEVCONTROL2IDOREQEN 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン デバイス制御 2、 IDO 要求イネーブル。 このレジスタ ビッ トが設定される と、要求の IDO ビ ッ ト が開始される よ うに設定されます。要求内で IDO 属性が設定されたこ とがない場合、 このビ ッ ト は 0b に固定できます。 このビッ トのデフォルト値は 0b です。

CFGDEVCONTROL2LTREN 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン デバイス制御 2、LTR メカニズム イネーブル。このレジス タ ビ ッ ト が設定されると、 IDO ビッ トが設定できます。 要求内で IDO 属性が設定されたこ とがない場合、このビッ トは 0b に固定できます。 このビッ トのデフォルト値は 0b です。

CFGDEVCONTROL2TLPPREFIXBLOCK 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン デバイス制御 2、 エン ド ト ゥ エンド TLP プリ フ ィ ッ クス ブロ ッ ク。配線ファンク シ ョ ンでエン ド ト ゥ エン ド のTLP プ リ フ ィ ッ ク スを含む TLP を転送するかど うかが制御されます。値は次のとおりです。

• 0b : 転送はイネーブルになり、 エン ド ト ゥ エン ド の TLP プ リフ ィ ッ ク スを含む TLP が送信できます。

• 1b : 転送はブロ ッ ク されるので、エン ド ト ゥ エン ド の TLP プ リフ ィ ッ ク スを含む TLP は送信できません。

ブロ ッ ク された TLP は、 TLP プ リフ ィ ッ ク ス ブロ ッ ク エラーと してレポート されます。 このビッ トのデフォルト値は 0b です。

CFGDEVCONTROLAUXPOWEREN 出力 USERCLK 使用されません。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 340: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 340

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGDEVCONTROLCORRERRREPORTINGEN 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイス制御、修正可能なエラー レポート イネーブル、DEVICECTRL[0]。ほかのビ ッ ト と 共に使用され、 ERRCORメ ッ セージの送信を制御し ます。ルー ト ポー ト の場合、 修正可能エラーの報告はルー ト内部で行われ、外部エラー メ ッセージは生成されません。

CFGDEVCONTROLENABLERO 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイス制御、 緩 和順 序 の イ ネ ー ブ ル、DEVICECTRL[4]。これがアサート される と、ユーザー ロジッ クは、厳しい書き込み順序を必要と しない ト ランザクシ ョ ンの属性フ ィールドで緩和順序ビッ ト を設定できます。

CFGDEVCONTROLEXTTAGEN 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイス制御、 タグ フ ィールド イネーブル、DEVICECTRL[8]。これがアサート される と、ユーザー ロジッ クが 8 ビット のタグ フ ィールド を要求者と して使用できます。 ディアサート される と、ユーザー ロジッ クは 5 ビッ トのタグ フ ィールドに制限されます。要求 TLP を出力する場合または完了を受信する場合のどちらにおいても、 統合ブロ ッ クは使用されるタグビッ ト数を指定しません。

CFGDEVCONTROLFATALERRREPORTINGEN 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイス制御、致命的エラー レポート イネーブル、DEVICECTRL[2]。ほかのビット と 一緒に使用 し て、 ERRFATALメ ッ セージの送信を制御し ます。ルー ト ポー ト の場合、 修正可能エラーのレポートはルート内部で行われ、外部 ERRFATAL メ ッセージは生成されません。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 341: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 341

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGDEVCONTROLMAXPAYLOAD[2:0] 出力 USERCLK コンフ ィギュレーシ ョ ン デバイス制御、 MAXPAYLOADSIZE、DEVICECTRL[7:5]。 このフ ィールドは 大 TLP ペイロード サイズを設定します。 レシーバーと して、ユーザー ロジッ クは設定値と同じサイズの TLP を処理する必要があり ます。 ト ランス ミ ッ ターと しては、 ユーザー ロジッ クは設定値を超える TLP は生成しません。 • 000b : 128 バイ トの 大ペイロー

ド サイズ • 001b : 256 バイ トの 大ペイロー

ド サイズ • 010b : 512 バイ トの 大ペイロー

ド サイズ • 011b : 1024 バイ トの 大ペイ

ロード サイズ

CFGDEVCONTROLMAXREADREQ[2:0] 出力 USERCLK コンフ ィギュレーシ ョ ン デバイス制御、 MAXREADREQUESTSIZE、DEVICECTRL[14:12]。 このフ ィールドは、 要求者と してのユーザー ロジッ クの 大読み出し要求サイズを設定します。 ユーザー ロジッ クは、 この設定値を超えるサイズの読み出し要求を生成できません。 • 000b : 128 バイ トの読み出し要求

サイズ • 001b : 256 バイ トの読み出し要求

サイズ • 010b : 512 バイ トの読み出し要求

サイズ • 011b : 1024 バイ トの読み出し要

求サイズ • 100b : 2048 バイ トの読み出し要

求サイズ

• 101b : 4096 バイ トの読み出し要求サイズ

CFGDEVCONTROLNONFATALREPORTINGEN 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイス制御、 非致命的エラー レポー ト イネーブル、DEVICECTRL[1]。ほかのビ ッ ト と使用して ERRNONFATALメ ッ セージの送信を制御し ます。ルー ト ポー ト の場合、 修正可能エラーの報告はルー ト内部で行われ、外部 ERRNONFATAL メ ッセージは生成されません。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 342: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 342

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGDEVCONTROLNOSNOOPEN 出力 USERCLK コンフ ィギュレーシ ョ ン デバイス制御、 No Snoop イネーブル、DEVICECTRL[11]。 これがアサートされる場合、 ユーザー ロジッ クで、ハード ウェアのキャ ッシュ コ ヒーレンスを必要と しない TLP の No Snoop ビッ ト を設定できます。

CFGDEVCONTROLPHANTOMEN 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイス制御、ファン ト ム ファンクシ ョ ン イネーブル、DEVICECTRL[9]。 これがアサート される と、ユーザー ロジックが未使用のファンクシ ョ ンをファン ト ム フ ァン クシ ョ ン と して使用し、 ト ランザクシ ョ ン識別子の数を増やすこ とができます。 ディアサート される と、 ユーザー ロジ ッ クがフ ァン ト ム フ ァン クシ ョ ンを使用するこ とはできません。

CFGDEVCONTROLURERRREPORTINGEN 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイス制御、 UR レポー ト イネーブル、DEVICECTRL[3]。ほかのビッ ト と併用し、エラー メ ッセージを送信するこ と でサポー ト されていない要求(UR) を制御します。

CFGDEVSTATUSCORRERRDETECTED 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイスステータス、修正可能なエラー検出、DEVICESTATUS[0]。修正可能エラーが検出されたこ とを示します。 デバイ ス制御レジスタでエラー レポートが有効になっているかど うかにかかわらず、 このレジスタにエラーが記録されます。

CFGDEVSTATUSFATALERRDETECTED 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイスス テータ ス、 致命的エ ラ ー検出、DEVICESTATUS[2]。致命的エラーが検出されたこ とを示します。 デバイス制御レジスタでエラー レポー トが有効になっているかど うかにかかわらず、 このレジスタにエラーが記録されます。

CFGDEVSTATUSNONFATALERRDETECTED 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイスステータス、 非致命的エラー検出、DEVICESTATUS[1]。非致命的エラーが検出されたこ とを示します。 デバイ ス制御レジスタでエラー レポートが有効になっているかど うかにかかわらず、 このレジスタにエラーが記録されます。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 343: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 343

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGDEVSTATUSURDETECTED 出力 USERCLK コンフ ィ ギュレーシ ョ ン デバイスステータス、 サポート されない要求検出、 DEVICESTATUS[3]。 統合ブロ ッ クが UR を受信したこ とを示します。 デバイ ス制御レジス タでエラー レポー ト が有効になっているかど うかにかかわらず、 このレジスタにエラーが記録されます。

CFGLINKCONTROLASPMCONTROL[1:0] 出力 USERCLK コンフ ィ ギュレーシ ョ ン リ ン ク制御、ASPM 制御、LINKCTRL[1:0]。この 2 ビッ ト出力は、 サポート されるASPM レベルを示します。 • 00b : ディ スエーブル

• 01b : L0s エン ト リのイネーブル

• 10b : 未使用

• 11b : 未使用

CFGLINKCONTROLAUTOBANDWIDTHINTEN 出力 USERCLK コンフ ィ ギュレーシ ョ ン リ ン ク制御、 リ ンク自律バンド幅割り込みイネーブル、 LINKCTRL[11]。 これがアクテ ィブ Low にアサー ト されると、 割り込みが生成され、 リ ンク自律バン ド幅ステータス ビ ッ ト が設定されているこ とを示します。 この設定に基づいたコア側のアクシ ョ ンはあ り ませんが、ユーザー ロジッ クが割り込みを作成する必要があ り ます。

エン ド ポイ ン ト には使用されません。

CFGLINKCONTROLBANDWIDTHINTEN 出力 USERCLK コンフ ィ ギュレーシ ョ ン リ ン ク制御、 リ ンク バンド幅管理割り込みイネーブル、 LINKCTRL[10]。 これがアクテ ィブ Low にアサー ト されると、割り込みが生成され、 リ ンク バン ド幅管理ステータス ビ ッ ト が設定されているこ とを示します。 この設定に基づいたコア側のアクシ ョ ンはあ り ませんが、ユーザー ロジッ クが割り込みを作成する必要があ り ます。

エン ド ポイ ン ト には使用されません。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 344: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 344

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGLINKCONTROLCLOCKPMEN 出力 USERCLK コンフ ィ ギュレーシ ョ ン リ ン ク制御、ク ロ ッ ク電力管理のイネーブル、LINKCTRL[8]。 CLKREQ# メ カニズムをサポートするエンドポイン トの場合 : • 0b : ク ロ ッ ク電力管理をディ ス

エーブル

• 1b : デバイスで CLKREQ# の使用を許可

統合ブロッ クではこのビッ トの設定に基づいたア クシ ョ ンはあ り ません。 このフ ァ ン ク シ ョ ンは外部ロジッ クにインプリ メン ト される必要があ り ます。

CFGLINKCONTROLCOMMONCLOCK 出力 USERCLK コンフ ィ ギュレーシ ョ ン リ ン ク制御、共通クロ ッ ク コンフ ィギュレーシ ョ ン、 LINKCTRL[6]。 こ れが アサート される と、 このコンポーネントおよびこのリ ンクの向こ う端にあるコンポーネン トが分配された共通基準クロ ッ クで動作しているこ とを示します。 ディアサート されと、 非同期の基準クロ ッ クで動作しているこ とを示します。

CFGLINKCONTROLEXTENDEDSYNC 出力 USERCLK コンフ ィ ギュレーシ ョ ン リ ン ク制御、 拡張同期、 LINKCTRL[7]。 これがアサート される と、 L0s ステートが終了されて リ カバ リ ステー ト になったと きに、 追加で順序セッ トが送信されます。

CFGLINKCONTROLHWAUTOWIDTHDIS 出力 USERCLK コンフ ィ ギュレーシ ョ ン リ ン ク制御、 ハード ウェア自律幅ディ スエーブル、 LINKCTRL[9]。 これがアサート される と、 統合ブロ ッ クは、 リ ンク幅を削減するこ とで信頼性の高くないリ ンク操作を修正しよ う とする場合を除き、 リ ンク幅を変更できなくな り ます。

CFGLINKCONTROLLINKDISABLE 出力 USERCLK コンフ ィギュレーシ ョ ン リ ンク制御、 リ ンク ディ スエーブル、LINKCTRL[4]。 これがアサート される と、 リ ンクがディ スエーブルになり、 LTSSM が Disabled ステートにな り ます。

エンドポイン トには使用されません。

CFGLINKCONTROLRCB 出力 USERCLK コンフ ィ ギュレーシ ョ ン リ ン ク制御、 RCB、 LINKCTRL[3]。 読み出し完了バウンダ リ値を示します。• [0] : 64B• [1] : 128B

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 345: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 345

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGLINKCONTROLRETRAINLINK 出力 USERCLK コンフ ィギュレーシ ョ ン リ ンク制御、 リ ンク リ ト レイン ビッ ト LINKCTRL[5]。 1b をルート ポートのタイプ 1 コンフ ィギュレーシ ョ ン空間へ向かう このビッ トに書き込むと、 物理層の LTSSM を リ カバリ ステートにするこ とで リ ンクのリ ト レインが開始します。 このビッ トのコンフ ィギュレーシ ョ ン読み出しは常に 0 ですが、 この信号は 1 が書き込まれる と 1 サイ クル間出力します。

エンドポイン トには使用されません。

CFGLINKSTATUSAUTOBANDWIDTHSTATUS 出力 USERCLK コンフ ィギュレーシ ョ ン リ ン ク ステータ ス、 リ ン ク自律バン ド幅ステータ ス、 LINKSTATUS[15]。 信頼性の高くないリ ンク操作を修正するために、 ポート が DL_Down ステータスにならずに、 リ ンク速度または幅がコアによ り自動的に変更されたこ とを示します。 速度または幅の変更がダウンス ト リーム コンポーネン トによって行われ、 それが自律変更であった場合、 それを物理層で報告するかど うかをこのビッ トで設定します。

エン ド ポイ ン ト には使用されません。

CFGLINKSTATUSBANDWIDTHSTATUS 出力 USERCLK コンフ ィギュレーシ ョ ン リ ン ク ステータ ス、 リ ン ク バン ド幅管理ステータ ス、 LINKSTATUS[14]。 ポートが DL_Down ステータスにならずに次のいずれかが発生したこ とを示します。

• 1b がリ ンク リ ト レイン ビッ トに書き込まれた後に リ ン ク リ ト レインが完了。注記 : このビッ トは、リ ン クがほかの理由で リ ト レ イン プロセスにある と きも含め、リト レイン リ ンク ビッ トに 1b が書き込まれた後に設定されます。

• LTSSM タイムアウ ト または高位プロセスによ り、信頼性の高くない リ ンク操作を修正し よ う と し、ハード ウ ェアが リ ン ク スピードまたは幅を変更。速度または幅の変更がダウ ン ス ト リ ーム コ ンポーネン トによって行われ、 それが自律変更でなかった場合、 それを物理層で報告するかど う かをこのビッ トで設定します。

エン ド ポイ ン ト には使用されません。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 346: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 346

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGLINKSTATUSCURRENTSPEED[1:0] 出力 USERCLK コンフ ィギュレーシ ョ ン リ ン ク ステータス、 現在の リ ンク スピード、LINKSTATUS[1:0]。 PCI Express リ ンクの交渉された リ ン ク スピード を示します。

• 01b : 2.5GB/s PCI Express リ ンク • 10b : 5.0GB/s PCI Express リ ンク

CFGLINKSTATUSDLLACTIVE 出力 USERCLK 使用されません。

CFGLINKSTATUSLINKTRAINING 出力 USERCLK 使用されません。

CFGLINKSTATUSNEGOTIATEDWIDTH[3:0] 出力 USERCLK コンフ ィギュレーシ ョ ン リ ン ク ステータ ス、 交渉 さ れた リ ン ク 幅、LINKSTATUS[7:4]。 PCI Express リ ンクの交渉された幅 ( 大 x8 までのみを表示) を示します。 • 0001b : x1 • 0010b : x2 • 0100b : x4 • 1000b : x8

CFGROOTCONTROLPMEINTEN 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン ルー ト 制御、 PME 割り込みイネーブル。ユーザー ロジッ クで受信した PME メ ッセージに対して割り込みが生成されるよ うにな り ます。

CFGROOTCONTROLSYSERRCORRERREN 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン ルー ト 制御、 修正可能なエラーでのシステムエラーのイネーブル。 ユーザー ロジッ クでレポート された修正可能なエラーに対してシステム エラーが生成されるよ うにな り ます。

CFGROOTCONTROLSYSERRFATALERREN 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン ルー ト 制御、 致命的エラーでのシステム エラーのイネーブル。ユーザー ロジックでレポート された致命的エラーに対してシステム エラーが生成されるよ うにな り ます。

CFGROOTCONTROLSYSERRNONFATALERREN 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン ルー ト 制御、非致命的エラーでのシステム エラーのイネーブル。ユーザー ロジックでレポート された非致命的エラーに対してシステム エラーが生成されるよ うにな り ます。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

Page 347: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 347

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

その他のコンフ ィギュレーシ ョ ン  マネージメン ト  ポート

表 D-14 は、コンフ ィギュレーシ ョ ン マネージメン ト インターフェイス内のその他のコンフ ィギュレーシ ョ ン マネージメン ト ポート を定義しています。

CFGSLOTCONTROLELECTROMECHILCTLPULSE 出力 USERCLK 使用されません。

CFGTRNPENDINGN 入力 USERCLK ユーザー ト ランザクシ ョ ン保留 (アクティブ Low)。これがアサート される と、デバイス ステータス レジスタ(Device_Status[5]) の ト ランザクシ ョン保留ビッ トが設定されます。 注記 : ユーザー アプリ ケーシ ョ ンが要求に対する完了を受信していない場合は、 この入力をアサートする必要があ り ます。

表 D‐13 : コンフ ィギュレーシ ョ ン専用レジスタ  ポート  (続き)

ポート 方向クロック  ド メイン

説明

表 D‐14 : その他のコンフ ィギュレーシ ョ ン マネージメン ト  ポートの説明

ポート 方向クロック  ド メイン

説明

CFGAERECRCCHECKEN 出力 USERCLK 使用されません。

CFGAERECRCGENEN 出力 USERCLK 使用されません。

CFGDEVID[15:0] 入力 USERCLK2 コ ンフ ィ ギュ レーシ ョ ン デバイ スID。 PCI 機能構造デバイス ID フ ィールドに送信される値を示します。

CFGDSN[63:0] 入力 USERCLK コンフ ィギュレーシ ョ ン デバイス シリ アル番号。 この 64 ビ ッ ト入力は、デバイス シ リ アル番号機能に伝送される値です。 ビッ ト [31:0] は 初の (下位の) DWORD (機能のバイ ト オフセッ ト 0x4h) に、 ビ ッ ト [63:32] は 2番目の (上位の) DWORD (機能のバイト オフセッ ト 0x8h) に転送されます。

CFGFORCECOMMONCLOCKOFF 入力 USERCLK2 共通ク ロ ッ クの強制オフ。 これがアサート される と、コアは共通クロ ッ クがオフになっているかのよ うに動作します (ただし、Link Ctrl[7] は設定されません)。

CFGFORCEEXTENDEDSYNCON 入力 USERCLK2 延長同期の強制オン。これがアサートされる と、 コアは延長同期がオンになっているかよ う に動作し ます (ただし、Link Ctrl[7] は設定されません)。

Page 348: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 348

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

CFGFORCEMPS[2:0] 入力 USERCLK2 大ペイロード サイズの強制。ATTR_MPS_FORCE=1 の場合、 コアは受信した TLP のペイロード サイズをチェッ クするため、 またはタイムアウ ト を再生/ACKNAK (肯定応答、否定応答) するため、 Device Ctrl[7:5] の代わりにこの MPS 値を使用します。 Device Ctrl[7:5] は変更されません。

CFGPCIECAPINTERRUPTMSGNUM[4:0] 入力 USERCLK2 コンフ ィギュレーシ ョ ン PCIE 機能、割 り 込 み メ ッ セ ー ジ 番 号。 PCIeCapabilities Register[29:25] (割 り 込みメ ッセージ番号) の値を駆動します。

CFGPCIELINKSTATE[2:0] 出力 USERCLK PCI Express リ ン ク ステー ト。 エンコード されたバスによ り PCIe リ ンクのステー ト情報がユーザーにレポート されます。

• 000b : L0 ステート

• 001b : PPM L1 ステート

• 010b : PPM L2/L3Ready ステート

• 011b : PMPME ステート

• 100b : ASPM L0s ステート、 または ASPM L0s ステー ト への遷移/ASPM L0s ステートからの遷移

• 101b : PPM L1 ステートへの遷移/PPM L1 ステートからの遷移

• 110b : PPM L2/L3Ready ステートへの遷移

• 111b : ASPM L1 ステート、 またはASPM L1 ステートへの遷移/ASPML1 ステートからの遷移

CFGREVID[7:0] 入力 USERCLK2 コンフ ィギュレーシ ョ ン リ ビジ ョ ンID。 PCI 機能構造 リ ビジ ョ ン IDフ ィールドに送信される値を示します。

CFGSUBSYSID[15:0] 入力 USERCLK2 コンフ ィギュレーシ ョ ン サブシステム ID。 タイプ 0 の PCI 機能構造サブシステム ID フ ィールドに送信される値を示します。

CFGSUBSYSVENDID[15:0] 入力 USERCLK2 コンフ ィギュレーシ ョ ン サブシステム ベンダー ID。 タイプ 0 の PCI 機能構造サブシステム ベンダー IDフ ィールドに送信される値を示します。

表 D‐14 : その他のコンフ ィギュレーシ ョ ン マネージメン ト  ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

Page 349: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 349

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

ダイナミ ック  リコンフ ィギュレーシ ョ ン  ポート  インターフェイス

表 D-15 は、 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート (DRP) について説明しています。

TL2 インターフェイス ポート

TL2 インターフェイスは使用されませんが、 こ こにリ ス ト しておきます (表 D-16)。

CFGCFGVCTCVCMAP[6:0] 出力 USERCLK2 コンフ ィ ギュレーシ ョ ン VC リ ソース制御、 TC/VC マ ッ プ。VC_Resource_Ctrl[7:1].TC 1-7 が VC0に対し有効であるかど うかを示します。信号のインデッ クスは、レジスタのインデッ ク スに対し 1 つシフ ト されます (cfg_vc_tcvc_map[0] =VC_Resource_Ctrl[1] など)。

CFGVENDID[15:0] 入力 USERCLK2 コ ンフ ィ ギュ レーシ ョ ン デバイ スID。 PCI 機能構造ベンダー ID フ ィールドを送信するための値を示します。

表 D‐14 : その他のコンフ ィギュレーシ ョ ン マネージメン ト  ポートの説明 (続き)

ポート 方向クロック  ド メイン

説明

表 D‐15 : DRP ポートの説明

ポート 方向 クロック  ド メイン 説明

DRPCLK 入力 DRP ク ロ ッ ク入力

DRPADDR[8:0] 入力 DRPCLK DRP アドレス バス

DRPDI[15:0] 入力 DRPCLK DRP 入力データ バス

DRPDO[15:0] 出力 DRPCLK DRP データ出力

DRPEN 入力 DRPCLK DRP ト ランザクシ ョ ン イネーブル

DRPRDY 出力 DRPCLK DRP ト ランザクシ ョ ン終了

DRPWE 入力 DRPCLK DRP ライ ト イネーブル

表 D‐16 : TL2 インターフェイス ポートの説明

ポート 方向 クロック  ド メイン 説明

LL2BADDLLPERR 出力 USERCLK 使用されません。

LL2BADTLPERR 出力 USERCLK 使用されません。

LL2LINKSTATUS 出力 USERCLK2 使用されません。

LL2PROTOCOLERR 出力 USERCLK 使用されません。

Page 350: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 350

PG054 2013 年 12 月 18 日

付録 D : PCIE_2_1 ポートの説明

LL2RECEIVERERR 出力 USERCLK2 使用されません。

LL2REPLAYROERR 出力 USERCLK 使用されません。

LL2REPLAYTOERR 出力 USERCLK 使用されません。

LL2SENDASREQL1 入力 USERCLK 0 に接続

LL2SENDENTERL1 入力 USERCLK 0 に接続

LL2SENDENTERL23 入力 USERCLK 0 に接続

LL2SENDPMACK 入力 USERCLK2 0 に接続

LL2SUSPENDNOW 入力 USERCLK 0 に接続

LL2SUSPENDOK 出力 USERCLK 使用されません。

LL2TFCINIT1SEQ 出力 USERCLK 使用されません。

LL2TFCINIT2SEQ 出力 USERCLK 使用されません。

LL2TLPRCV 入力 USERCLK 0 に接続

LL2TXIDLE 出力 USERCLK2 使用されません。

PL2DIRECTEDLSTATE[4:0] 入力 USERCLK 0 に接続

PL2L0REQ 出力 USERCLK2 使用されません。

PL2LINKUP 出力 USERCLK 使用されません。

PL2RECEIVERERR 出力 USERCLK 使用されません。

PL2RECOVERY 出力 USERCLK 使用されません。

PL2RXELECIDLE 出力 USERCLK 使用されません。

PL2RXPMSTATE[1:0] 出力 USERCLK2 使用されません。

PL2SUSPENDOK 出力 USERCLK 使用されません。

TL2ASPMSUSPENDCREDITCHECK 入力 USERCLK 0 に接続

TL2ASPMSUSPENDCREDITCHECKOK 出力 USERCLK 使用されません。

TL2ASPMSUSPENDREQ 出力 USERCLK 使用されません。

TL2ERRFCPE 出力 USERCLK2 使用されません。

TL2ERRHDR[63:0] 出力 USERCLK2 使用されません。

TL2ERRMALFORMED 出力 USERCLK2 使用されません。

TL2ERRRXOVERFLOW 出力 USERCLK2 使用されません。

TL2PPMSUSPENDOK 出力 USERCLK 使用されません。

TL2PPMSUSPENDREQ 入力 USERCLK 0 に接続

TRNRDLLPDATA[31:0] 出力 USERCLK 使用されません。

TRNRDLLPSRCRDY[1:0] 出力 USERCLK 使用されません。

TRNTDLLPDATA[63:0] 入力 USERCLK 0 に接続

TRNTDLLPDSTRDY 出力 USERCLK 使用されません。

TRNTDLLPSRCRDY 入力 USERCLK 0 に接続

表 D‐16 : TL2 インターフェイス ポートの説明 (続き)

ポート 方向 クロック  ド メイン 説明

Page 351: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 351

PG054 2013 年 12 月 18 日

付録 E

その他のリソース

ザイリンクス リソース

アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 次のザイ リ ンクス サポート サイ ト を参照してください。

http://japan.xilinx.com/support

ザイ リ ンクス資料で使用される用語集は、 次を参照してください。

http://japan.xilinx.com/company/terms.htm

参考資料

このガイ ドの補足情報は、 次の資料を参照してください。

1. 『AMBA AXI4-Stream Protocol Specification』

2. 『PCI-SIG Specifications』

3. PCI Express アーキテクチャのインテル開発者フォーラム

4. 『Virtex-7 FPGA Gen3 Integrated Block for PCI Express 製品ガイ ド』 (PG023)

5. 『Kintex-7 FPGA データシート : DC 特性および AC のスイ ッチ特性』 (DS182)

6. Virtex-7 T および XT FPGA データシート : DC 特性およびスイ ッチ特性』 (DS183)

7. 『7 シ リーズ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470)

8. 『7 シ リーズ FPGA SelectIO リ ソース ユーザー ガイ ド』 (UG471)

9. 『7 シ リーズ ク ロ ッキング リ ソース ユーザー ガイ ド』 (UG472)

10. 『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』 (UG476)

11. ザイ リ ンクス ライブラ リ ガイ ド

12. 『制約ガイ ド』 (UG625)

13. 『コマンド ライン ツール ユーザー ガイ ド』 (UG628)

14. 『合成/シ ミ ュレーシ ョ ン デザイン ガイ ド』 (UG626)

15. 『Vivado Design Suite ユーザー ガイ ド :入門』 (UG910)

16. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)

17. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900)

18. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)

19. 『Vivado Design Suite 移行手法ガイ ド 』 (UG911)

Page 352: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 352

PG054 2013 年 12 月 18 日

付録 E : その他のリソース

20. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994)

21. 『Gen2 x8 コンフ ィギュレーシ ョ ンの Integrated Endpoint PCI Express ブロ ッ クを使用する PIPE モード シ ミ ュレーシ ョ ン』 (XAPP1184)

改訂履歴

次の表に、 この文書の改訂履歴を示します。

 

日付 バージョ ン 改訂内容

2012/07/25 1.0 初版。v1.6 のコアに対する Vivado Design Suite v2012.2 および ISE Design Suite v14.2のサポー ト について記載。 この資料は、 『7 Series FPGAs Integrated Block for PCIExpress ユーザー ガイ ド』 (UG477) および 『LogiCORE IP 7 Series FPGAs IntegratedBlock for PCI Express データシート 』 (DS821) を置き換えるために作成。

2012/10/16 1.1 • コアのバージ ョ ンを 1.7 へ、ソフ ト ウェアのバージ ョ ンを ISE Design Suite to 14.3および Vivado Design Suite to 2012.3 へアップデート。

• Zynq®-7000 デバイス ファ ミ リ サポート を追加。

• XC7V1500T および XC7A350T を削除。

• 第 3 章に新たなセクシ ョ ンを追加。

• 第 4 章に新たなスク リーンシ ョ ッ トおよび記述を追加。

• 第 6 章および第 15 章を追加。

2012/12/18 1.2 • コアのバージ ョ ンを 1.8 へ、ソフ ト ウェアのバージ ョ ンを ISE Design Suite to 14.4および Vivado Design Suite to 2012.4 へアップデート。

• 表 2-5 および 表 5-1 に利用可能な PCIe 用統合ブロッ クを追加更新。

• 第 3 章の 「タンデム コンフ ィギュレーシ ョ ン」 を大幅に変更。

• 第 4 章 「コアのカスタマイズおよび生成」 を更新。

2013/03/20 2.0 • コアのバージ ョ ンを 2.0 にアップデート し、 Vivado Design Suite のみのサポートと変更。

• PIPE_MMCM_RST_N ク ロ ッキング インターフェイス信号を追加。

• 第 3 章の 「タンデム コンフ ィギュレーシ ョ ン」 を更新。

2013/06/19 2.1 • コアのバージ ョ ンを 2.1 にアップデート。

• 第 3 章のタンデム コンフ ィギュレーシ ョ ンのセクシ ョ ンを大幅に変更。

• 第 8 章のディレク ト リおよびファイルについてのセクシ ョ ンを更新。

• 第 8 章にシ ミ ュレーシ ョ ン手順を追加。

Page 353: 7 Series FPGAs Integrated Block for PCI Express …...7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 4 PG054 2013 年 12 月 18 日 製品仕様 概要 7 Series FPGAs Integrated

7 Series Integrated Block for PCIe v3.0 japan.xilinx.com 353

PG054 2013 年 12 月 18 日

付録 E : その他のリソース

Notice of Disclaimer

The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available “AS IS” and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical Applications:http://www.xilinx.com/warranty.htm#critapps.© Copyright 2012 - 2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.PCI, PCIe and PCI Express are trademarks of PCI-SIG and used under license.All other trademarks are the property of their respective owners.

本資料は英語版 (v3.0) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあ り ます。日本語版は参考用と してご使用の上、 新情報につきましては、 必ず 新英語版をご参照ください。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] までお知らせください。いただきましたご意見を参考に早急に対応させていただきます。なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめご了承ください。

2013/10/02 2.2 • コアのバージ ョ ンを 2.2 にアップデート。 • Vivado IP インテグレーターのサポート を追加。

• BUFG リ ソース使用可能数を追加。

• 共有ロジッ ク機能、 および Vivado IDE の新しい共有ロジッ クおよびコア インターフェイス パラ メーターのオプシ ョ ンについての情報を追加。

• 「タンデム コンフ ィギュレーシ ョ ン」 のセクシ ョ ンを更新。

• シ ミ ュレーシ ョ ン、 合成およびインプ リ メ ンテーシ ョ ン、 テス トベンチについての章を追加。

• テス トベンチの情報を、 サンプル デザインの章からテス トベンチの章に移動、コア シ ミ ュレーシ ョ ンの記述をシ ミ ュレーシ ョ ンの章に移動して、構成を変更。

• サンプル デザインに関する記述を更新。

• ト ランシーバー制御およびステータス ポートのセクシ ョ ンをデバッグの付録に追加。

• コア パラ メーターおよびポートの変更を、 移行およびアップグレードに関する付録に追加。

2013/12/18 3.0 • コアのバージ ョ ンを 3.0 にアップデート。

• 「製品仕様」 にある Artix-7 の統合ブロ ッ クの表を更新。

• 「コアを使用した設計」 でロジッ クの共有に関する情報を更新。

• 「コアの制約設定」 でサポート されているコアのピン配置を更新。

• 移行およびアップグレードに関する付録でパラ メーターおよびポートに関する情報を更新。

日付 バージョ ン 改訂内容