ultrascale architecture gen3 integrated block for pci ... · ultrascale architecture gen3...

275
UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガ イ ド Vivado Design Suite PG156 2016 8 18 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資 料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情 報につきましては、必ず最新英語版をご参照ください。

Upload: dangbao

Post on 05-Apr-2019

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1

LogiCORE IP 製品ガイド

Vivado Design Suite

PG156 2016 年 8 月 18 日

本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

Page 2: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 2PG156 2016 年 8 月 18 日

目次

IP の概要

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

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

サポート されていない機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

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

第 2 章 : 製品仕様準拠する規格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

リ ソース使用状況 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

ブロ ッ クの選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

コアのピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

属性の説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

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

第 3 章 : コアを使用するデザイン共有ロジッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Tandem コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

ク ロ ッキング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

リセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

AXI4-Stream インターフェイスの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

ク ロ ッキング要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

インターフェイスの動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

パワー マネージメン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

割り込みリ クエス トの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

コンフ ィギュレーシ ョ ン空間レジスタ と コンフ ィギュレーシ ョ ン インターフェイスを使用するデザイン . . . . 173

リ ンク ト レーニング : 2 レーン、 4 レーン、 および 8 レーン コンポーネン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

レーン反転 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

第 4 章 : デザイン フローの手順コアのカスタマイズおよび生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

コアへの制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

合成およびインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

第 5 章 : サンプル デザインサンプル デザインの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

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

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

Page 3: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 3PG156 2016 年 8 月 18 日

第 6 章 : テストベンチエンドポイン ト用ルート ポート モデル テス ト ベンチ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

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

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

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

7 シ リーズ Gen2 コアから UltraScale アーキテクチャ ベースの Gen3 コアへの移行 . . . . . . . . . . . . . . . . . . . . . . . . 226

UltraScale アーキテクチャ PCI Express デザインのパッケージ移行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

付録 B : コアのピン配置Kintex UltraScale デバイス コアのピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

Virtex UltraScale デバイス コアのピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

付録 C : 受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理一般的な注意事項と概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

コンプリーシ ョ ン空間の管理方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

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

付録 E : その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

Page 4: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 4PG156 2016 年 8 月 18 日 Production 製品仕様

はじめに

ザイ リ ン ク スの UltraScale Architecture Gen3 Integrated Blockfor PCIe コアは、 UltraScale™ アーキテクチャをベースとするデバイスで使用する、 高帯域かつスケーラブルで信頼性の高いシ リ アル インターコネク ト の構築ブロ ッ ク ソ リ ューシ ョンです。 この Integrated Block for PCI Express (PCIe) ソ リ ューシ ョ ンは、 1 レーン、 2 レーン、 4 レーン、 および 8 レーンのエンドポイン ト コンフ ィギュレーシ ョ ンをサポート し、Gen1 (2.5GT/s)、Gen2 (5.0GT/s)、および Gen3 (8GT/s) スピードに対応します。『PCI Express Base Specification、rev. 3.0』[参照 2] に準拠しています。 このソ リ ューシ ョ ンは、 カスタマー ユーザー インターフェイス用の AXI4-Stream インターフェイスをサポート しています。

PCI Express は、 クロ ッ ク データ リ カバリ (CDR) と差動信号を使用するこ とによって、パラレル バス アーキテクチャのさまざまな制約を緩和するシ リ アル アーキテクチャを提供します。CDR の使用 (ソース同期クロ ッキングとは対照的) はピン数を削減できるため、 周波数の大幅な拡張が可能にな り、またデータの同期化が容易になり ます。 次世代 PCI™ と してPCI-SIG® が策定した PCI Express テク ノ ロジは、 既存の PCIソフ ト ウェア モデルと下位互換性を備えています。

1 ピンあたり高帯域幅で低オーバーヘッ ド /低レイテンシ、 さらにシグナル インテグ リ テ ィ問題が小さ く、 CDR アーキテクチャを備えたこの統合ブロ ッ クは、 高性能かつ高効率なPCIe ソ リ ューシ ョ ンの業界標準を確立します。

UltraScale Architecture Gen3 Integrated Block for PCIe ソ リ ューシ ョ ンは、 PCI Express Card Electromechanical (CEM) v3.0 やPCI Industrial Computer Manufacturers Group (PICMG) v3.4 仕様[参照 2] などの業界標準のアプ リ ケーシ ョ ン フォーム ファク ターと互換性があ り ます。

機能の詳細は、 「機能概要」 を参照して ください。

IP の概要

この LogiCORE™ IP について

コアの概要

サポート される

デバイス ファ ミ リ (1)

UltraScale アーキテクチャ

サポート される

ユーザー インターフェイス

AXI4-Stream

リ ソース 表 2-1 を参照してください。

コアに含まれるもの

デザイン ファイル Verilog

サンプル デザイン Verilog

テス トベンチ Verilog

制約ファイル XDC

シ ミ ュレーシ ョ ン モデル

Verilog

サポート される

ソフ ト ウェア ド ラ イバー (2)

なし

テスト済みデザイン フロー (2)

デザイン入力 Vivado® Design Suite

シ ミ ュレーシ ョ ン

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

『Vivado Design Suite ユーザー ガイ ド : リ リー

ス ノート、 インス トールおよびライセンス』

を参照

合成 Vivado 合成

サポート

japan.xilinx.com/support で提供

注記 :1. サポート されているデバイスの一覧は、 Vivado IP カタログを参

照して ください。

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

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

Page 5: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 5PG156 2016 年 8 月 18 日

第 1 章

概要UltraScale Architecture Gen3 Integrated Block for PCIe® コアは、 UltraScale™ FPGA で使用する高帯域幅でスケーラブルなシ リ アル インターコネク トの構築ブロ ッ クであ り、 UltraScale デバイス内の統合ブロッ クをインスタンシエート します。

図 1-1 に、 このコアのインターフェイスを示します。

Page 6: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 6PG156 2016 年 8 月 18 日

第 1 章 : 概要

X-Ref Target - Figure 1-1

図 1-1 : UltraScale Architecture Gen3 Integrated Block for PCIe のインターフェイス

Page 7: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 7PG156 2016 年 8 月 18 日

第 1 章 : 概要

機能概要このコアは、 高帯域幅、 スケーラブル、 高柔軟性の汎用 I/O コアであ り、 ほとんどの UltraScale デバイスで使用できます。 Integrated Block for PCI Express (PCIe®) ソ リ ューシ ョ ンの GTH ト ランシーバーは、 1 レーン、 2 レーン、4 レーン、および 8 レーン動作をサポート し、 ラ イン レートは 2.5GT/s (Gen1)、 5.0GT/s (Gen2)、および 8.0GT/s (Gen3)に対応しています。 またエンドポイン ト コンフ ィギュレーシ ョ ンがサポート されています。

カスタマー ユーザー インターフェイスは、 AMBA® AXI4-Stream インターフェイスに準拠しています。 このインターフェイスでは、 リ クエスター インターフェイス、 コンプ リーシ ョ ン インターフェイス、 およびメ ッセージ インターフェイスを個別にサポート します。 これによって、データ アライ メン ト とパリ ティ チェッ クに柔軟性が備わり ます。データのフロー制御は、 受信および送信方向でサポート されています。 さ らに送信方向では、 進行中ト ランザクシ ョンの中断がサポート されています。 オプシ ョ ンの連続ト ランザクシ ョ ンでは、 ス ト ラ ドルを使用してよ り高いリ ンク帯域幅を提供します。

このコアの主な特長は次のとおりです。

• 高性能、 高い柔軟性、 スケーラブル、 高い信頼性の汎用 I/O コア

° 『PCI Express Base Specification、 rev. 3.0』 [参照 2] に準拠

° 既存の PCI ソフ ト ウェア モデルと互換性がある

• GTH ト ランシーバー

° 2.5GT/s、 5.0GT/s、 および 8.0GT/s ライン レート

° 1 レーン、 2 レーン、 4 レーン、 および 8 レーンの動作

• エンドポイン ト コンフ ィギュレーシ ョ ン

• エンドポイン ト コンフ ィギュレーシ ョ ンでマルチ ファンクシ ョ ンおよびシングル ルート I/O 仮想化 (SR-IOV)

° 2 つの Physical Function (PF)

° 6 つの Virtual Function (VF)

• 標準化されたユーザー インターフェイス

° AXI4-Stream に準拠

° リ クエスター インターフェイス、 コンプ リーシ ョ ン インターフェイス、 およびメ ッセージ インターフェイスを個別にサポート

° 柔軟なデータ アライ メン ト

° AXI4-Stream インターフェイスでパリティ生成とパリティ チェッ ク

° 使用が容易なパケッ ト ベースのプロ ト コル

° 全二重通信

° よ り高いリ ンク帯域幅を可能にするオプシ ョ ンの連続ト ランザクシ ョ ン

° 送信方向において、 データのフロー制御および進行中のト ランザクシ ョ ン中断をサポート

° 受信方向において、 データのフロー制御をサポート

• PCI および PCI Express のパワー マネージメン ト機能に準拠

• オプシ ョ ンの Tag Management (タグ管理) 機能

• 大ト ランザクシ ョ ン ペイロード : 1024 バイ ト

• ECRC (エンド ツー エンド巡回冗長検査)

• AER (Advanced Error Reporting)

• 大 32 ベクターのマルチ ベクター MSI および MSI-X

• ア ト ミ ッ ク操作および TPH (TLP Processing Hint)

Page 8: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 8PG156 2016 年 8 月 18 日

第 1 章 : 概要

アプリケーシ ョ ンこのコアのアーキテクチャは、 性能、 コス ト、 スケーラビ リ ティ、 機能の拡張性、 および絶対的な信頼性を重視し、コンピューティングや通信をターゲッ ト とする多様なアプリ ケーシ ョ ンを可能にします。代表的なアプリ ケーシ ョ ンは次のとおりです。

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

• 電気通信ネッ ト ワーク

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

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

• チップ間およびバッ クプレーン インターフェイス カード

• 多様なアプリ ケーシ ョ ンに対応するためのサーバー アド イン カード

サポート されていない機能この統合ブロ ッ クには、 Address Translation Service が実装されませんが、 外部のソフ ト ロジッ クに実装するこ とは可能です。

スイ ッチ ポートおよび Resizable BAR Extended 機能 (サイズ調整可能 BAR 拡張機能) は、 サポート されていません。

ライセンスおよび注文情報UltraScale Architecture Gen3 Integrated Block for PCIe コアは、 ザイ リ ン ク ス エン ドユーザー ラ イセンス規約のも とVivado Design Suite を使用し て追加コ ス ト な しで提供されています。 この IP およびその他のザイ リ ン ク スLogiCORE™ IP に関する情報は、ザイ リ ンクス IP コアページから入手できます。その他のザイ リ ンクス LogiCORE IPモジュールおよびツールの価格や提供状況については、 ザイ リ ンクス販売代理店にお問い合わせください。

Page 9: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 9PG156 2016 年 8 月 18 日

第 2 章

製品仕様

準拠する規格UltraScale Architecture Gen3 Integrated Block for PCIe ソ リ ューシ ョ ンは、PCI Express® Card Electromechanical (CEM) v3.0 やPCI Industrial Computer Manufacturers Group (PICMG) v3.4 仕様 [参照 2] などの業界標準のアプ リ ケーシ ョ ン フォームファ クターと互換性があり ます。

リソース使用状況Kintex® UltraScale™ デバイスの場合に UltraScale Architecture Gen3 Integrated Block for PCIe コアに必要な リ ソースを見積も り ました (表 2-1)。 これらは、 Vivado® Design Suite を用いて得られた数値です。 表 2-1 に、 デフォルトのコア コンフ ィギュレーシ ョ ンで必要な リ ソース数を示します。

表 2-1 : 使用されるリソースの概算

レーン GTHE3 フリ ップフロップ(1) LUT(1) CMPS(2)

RX のコンプリーシ ョ ン バッファーのサイズ (KB)

RX のリクエスト

バッファーのサイズ (KB)

TX の応答バッファーのサイズ (KB)

ブロック RAM の利用

RAMB18 RAMB36

1 1 566 832

128 ~ 1024

16

8 8

8

3

12

2 2 957 1384 168

12

4 4 1740 2500 168

12

8 8 3399 4818 168

12

注記 :

1. 数値はデフォルトのコア コンフ ィギュレーシ ョ ン用です。 実際の LUT および FF の使用数は、 コンフ ィギュレーシ ョ ンによ り

異な り ます。

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

Page 10: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 10PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

ブロックの選択表 2-2 に、複数の統合ブロッ クを含んでいる FPGA で利用可能な PCI Express 用統合ブロッ クを一覧表示しています。場合によっては、統合ブロ ッ クに隣接してボンディングされた ト ランシーバー サイ トが不足するため、すべての統合ブロ ッ クが使用可能とは限り ません。

表 2-2 : 利用可能な PCI Express 用統合ブロック

デバイスの選択 PCI Express ブロックの場所

デバイス パッケージ X0Y0 X0Y1 X0Y2 X0Y3 X0Y4 X0Y5

XCKU035

FBVA676 可 可 可(1)

FBVA900 可 可 可(1)

FFVA1156 可 可 可(1)

XCKU040

FBVA676 可 可 可(1)

FBVA900 可 可 可(1)

FFVA1156 可 可 可

XCKU060FFVA1156 可 可 可

FFVA1517 可 可 可

XCKU075

FFVA1156 可 可 可 可(1)

FFVA1517 可 可 可 可

FFVB1760 可 可 可 可

XCKU100XCKU115

FLVA1517 可 可 可 可 可 可(1)

FLVB1760 可 可 可 可 可 可

FLVD1924 可 可 可(1) 可 可 可

FLVF1924 可 可 可 可 可 可

FLVD1517 可 可 可 可 可 可

XCKU115FLVA2104 可 可 可 可 可 可

FLVB2104 可 可 可 可 可 可

XCVU065 FFVC1517 可 可

XCVU080

FFVA2104 可 可 可 可

FFVB2104 可 可 可 可

FFVB1760 可 可 可 可

FFVC1517 可 可 可 可(1)

FFVD1517 可 可 可 可

XCVU095

FFVA2104 可 可 可 可

FFVB2104 可 可 可 可

FFVB1760 可 可 可 可

FFVC2104 可 可 可 可

FFVC1517 可 可 可 可(1)

FFVD1517 可 可 可 可

Page 11: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 11PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

コアのピン配置有効な UltraScale ベース アーキテクチャ FPGA のデバイス とパッケージの組み合わせにおいて推奨されるコアのピン配置は、付録 B 「コアのピン配置」 を参照してください。表の内容と一致する選択したデバイス とパッケージの組み合わせに対して、 Vivado Design Suite が XDC を生成します。

デフォルトのコアのピン配置リ ス トは、 次を参照してください。

• 「Kintex UltraScale デバイス コアのピン配置」

• 「Virtex UltraScale デバイス コアのピン配置」

XCVU125

FLVB1760 可 可 可 可

FLVB2104 可 可 可 可

FLVC2104 可 可 可 可

FLVA2104 可 可 可 可

FLVD1517 可 可 可 可

XCVU160FLGB2104 可 可 可 可

FLGC2104 可 可 可 可 可 可

XCVU190

FLGB2104 可 可 可 可

FLGC2104 可 可 可 可 可 可

FLGA2577 可 可 可 可 可 可

XCVU440FLGA2892 可 可 可 可 可 可

FLGB2377 可 可 可 可 可 可

注記 :

1. デバイス /パッケージの移行オプシ ョ ン [Enable GT Quad selection] が選択されている場合のみ利用可能です。 表 A-1 および

「UltraScale アーキテクチャ PCI Express デザインのパッケージ移行」 を参照してください。

2. Gen3 ライン レートは、 x1、 x2、 および x4 リ ンク幅の -1 スピード グレードでサポート されています (このスピード グレード /コンフ ィギュレーシ ョ ン オプシ ョ ンの場合、 core_clk の周波数は 250MHz です。 x8 Gen3 動作は、 -2 スピード グレードまた

はそれよ り高速のスピード グレードが必要です。

注記 : すべてのリ ンク幅での Gen3 動作は、 -1 スピード グレードの UltraScale エンジニア リ ング サンプル (ES) デバイスでサ

ポート されていません。

表 2-2 : 利用可能な PCI Express 用統合ブロック (続き)

デバイスの選択 PCI Express ブロックの場所

デバイス パッケージ X0Y0 X0Y1 X0Y2 X0Y3 X0Y4 X0Y5

Page 12: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 12PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

ポートの説明このセクシ ョ ンでは、 次のインターフェイスのポートについて説明します。

• AXI4-Stream コア インターフェイス

• その他のコア インターフェイス

AXI4-Stream コア インターフェイス

ステータス インターフェイス と制御インターフェイスのほかに、 このコアには ト ランザクシ ョ ンの送信/受信に使用する AXI4-Stream インターフェイスが 4 つ必要です。 このセクシ ョ ンでは、 これらのインターフェイスについて説明します。

コンプリーター リクエスト (CQ) インターフェイス

コンプ リーター リ クエス ト (CQ) インターフェイスを介して、 リ ンクからのすべてのリ クエス トがユーザー アプ リケーシ ョ ンに送信されます。 表 2-3 では、 コアの CQ インターフェイスのポートについて説明します。 [幅] の列にある DW は、 設定したデータ バス幅 (64、 128、 または 256 ビッ ト ) を示します。

表 2-3 : コンプリーター リクエスト インターフェイスのポートの説明

ポート 方向 幅 説明

m_axis_cq_tdata 出力 DW/32

コンプ リーター リ クエス ト インターフェイス (CQ) からの送信データです。

インターフェイス幅が 128 ビッ トの場合は下位 128 ビッ トのみ使用され、インターフェイス幅が 64 ビッ トの場合は下位 64 ビッ トのみ使用されます。

コアは、 インターフェイス幅が 128 ビッ トの場合、 ビッ ト [255:128] を 0 に固定し、 インターフェイス幅が 64 ビッ トの場合、 ビッ ト [255:64] を 0 に固定します。

m_axis_cq_tuser 出力 85

CQ のユーザー データです。

この信号セッ トには、 送信される TLP のサイ ドバンド情報が含まれます。これらの信号は、 m_axis_cq_tvalid が High のと きに有効になり ます。

このセッ トの各信号については、 14 ページの表 2-4 を参照してください。

m_axis_cq_tlast 出力 1

CQ データ用の TLAST を示す信号です。

コアは、 パケッ トの 後のビートでこの信号をアサート して、 パケッ トの後を示します。シングル ビートで TLP が送信される場合、 コアは送信の初のビートでこの信号をセッ ト します。

m_axis_cq_tkeep 出力 DW/32

CQ データ用の TKEEP を示す信号です。

送信中にこのバスのビッ ト i がアサート される と、 m_axis_cq_tdata バスの Dword i に有効なデータが含まれている こ と をユーザー アプ リ ケーシ ョ ンに示します。 コアは、 ディ ス ク リ プターの 初の Dword からペイロードの 後の Dword まですべての Dword に対して、このビッ ト を継続的に 1 にセ ッ ト し ます。 し たがって、 パケ ッ ト のすべてのビー ト で、m_axis_cq_tdata が 1 にセッ ト されます。 ただし、 パケッ トの合計サイズがデータ バス幅の倍数値でない場合の 後のビートは例外です (いずれも Dword 単位)。 これは、 ペイロード送信が Dword アライ メン トかつアドレス アライ メン トの場合に適用されます。

コアは、 インターフェイス幅が 128 ビッ トの場合、 ビッ ト [7:4] を 0 に固定し、インターフェイス幅が 64 ビッ トの場合、ビッ ト [7:2] を 0 に固定します。

Page 13: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 13PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

m_axis_cq_tvalid 出力 1

CQ のデータが有効であるこ とを示します。

m_axis_cq_tdata バス上に有効なデータがある場合、 コアはこの出力をアサート します。パケッ ト送信中、 この Valid 信号はアサート された状態を保持します。 ユーザー アプリ ケーシ ョ ンは、 m_axis_cq_tready 信号を使用してデータ送信を制御できます。

m_axis_cq_tready 入力 22

CQ のデータ Ready 信号です。

ユーザー ロジッ クでこの信号を High にアサートする と、 ユーザー アプリケーシ ョ ンがデータを受信する準備が整っているこ とをコアに示します。同じサイ クルで m_axis_cq_tvalid と m_axis_cq_tready が両方と もアサート される と、 インターフェイスを介してデータが送信されます。

m_axis_cq_tvalid が High のと きにユーザー アプリ ケーシ ョ ンが Ready信号をディアサート した場合、 Ready 信号がアサート されるまで、 コアはバス上のデータを保持し、 また Valid 信号をアサート した状態で保持します。

pcie_cq_np_req 入力 1

CQ のノンポステッ ド リ クエス ト を示します。

この入力は、ユーザー アプリ ケーシ ョ ンがノンポステッ ド リ クエス トの送信を要求する際に使用されます。 コアは、 クレジッ ト ベースのフロー制御メ カニズムを実装して、 ポステッ ド TLP のブロ ッキングを行わずにインターフェイス上でノンポステッ ド リ クエス トの送信を制御します。

この入力信号は、 内部のク レジ ッ ト 数を制御し ます。 ク レジ ッ ト 数は、pcie_cq_np_req が High になる場合の各クロ ッ ク サイクルでインク リ メン ト され、 インターフェイスで各ノンポステッ ド リ クエス トが送信されるとデク リ メン ト されます。クレジッ ト数が 0 になる と、コアは一時的にユーザー アプ リ ケーシ ョ ンへのノンポステッ ド リ クエス ト の送信を停止します。 ノンポステッ ド リ クエス トの送信が一時停止した場合でも、 リ ンクから受信したポステッ ド TLP を継続的に送信します。

ユーザー アプリ ケーシ ョ ンは、ノンポステッ ド リ クエス ト を受信できる状態になるたびに pcie_cq_np_req に 1 サイクルのパルスを提供するか、ノンポステッ ド リ クエス ト に対する選択的なバッ クプレ ッシャーを実行する必要がない場合は永久的にアサート された状態を保持できます。

pcie_cq_np_req 信号のアサートおよびディアサートは、コンプリーターリ クエス ト インターフェイス上のパケッ ト送信と揃える必要はあ り ません。 m_axis_rc_tuser にコンプリーシ ョ ンが現れ、 コンプリーシ ョ ンで返されたタグを再利用するには少なく と も user_clk の 5 サイクル分必要です。

pcie_cq_np_req_count 出力 6

CQ のノンポステッ ド リ クエス ト を示します。

この出力は、ユーザー アプリ ケーシ ョ ンへのノンポステッ ド リ クエス トの送信に関して、 コアが管理するクレジッ ト カウン ト値を提供します。 コアは、 このクレジッ ト カウン ト値が 0 以外の場合のみ、 コンプリーター リ クエス ト インターフェイスを介してノンポステッ ド リ クエス ト を送信します。 このカウンターは 32 が 大値です。

内部パイプラインの遅延が原因とな り、 コアが pcie_cq_np_req 入力でのパルスを受信してから pcie_cq_np_req_count 出力をアップデートするまでの間には数サイ クルの遅延が生じます。

表 2-3 : コンプリーター リクエスト インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 14: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 14PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

表 2-4 : m_axis_cq_tuser のサイドバンド信号の説明

ビッ ト インデックス

名称 幅 説明

3:0 first_be[3:0] 4

ペイロードの 初の Dword 用のバイ ト イネーブル信号です。

このフ ィールドは、TLP の Transaction-Layer ヘッダーの First_BE ビッ トの設定を反映しています。 メモ リ読み出しおよび I/O 読み出しの場合、 これらの 4 ビッ トは 初のDword に読み出される有効なバイ ト を示します。 メモ リ書き込みおよび I/O 書き込みの場合、 これらのビッ トはペイロードの 初の Dword にある有効なバイ ト を示します。ア ト ミ ッ ク操作やペイロードを含むメ ッセージの場合、 これらのビッ トはすべて1 にセッ ト されます。

このフ ィールドは、 パケッ トの 初のビートで有効になり ます。 つま り、 sop と m_axis_cq_tvalid は両方と も High になり ます。

7:4 last_be[3:0] 4

後の Dword 用のバイ ト イネーブル信号です。

このフ ィールドは、 TLP の Transaction-Layer ヘッダーの Last_BE ビッ トの設定を反映しています。 メモ リ読み出しの場合、 これらの 4 ビッ トは、 データ ブロッ クの 後のDword に読み出される有効なバイ ト を示します。メモ リ書き込みの場合、これらのビットはペイロードの 後の Dword にある有効なバイ ト を示します。ア ト ミ ッ ク操作やペイロードを含むメ ッセージの場合、 これらのビッ トはすべて 1 にセッ ト されます。

このフ ィールドは、 パケッ トの 初のビートで有効になり ます。 つま り、 sop と m_axis_cq_tvalid は両方と も High になり ます。

39:8 byte_en[31:0] 32

ユーザー ロジッ クは、 オプシ ョ ンでこれらのバイ ト イネーブル信号を使用して、 送信されるパケッ トのペイロード内で有効なバイ ト を判断できます。送信中にこのバスのビッ ト i がアサート される と、 m_axis_cq_tdata バスのバイ ト i に有効なペイロード バイ トが含まれているこ とを示します。 このビッ トは、 ディ スク リプター バイ トに対してアサート されません。

リ クエス ト ディ ス ク リ プター内の情報 (アド レスおよび長さ ) や first_be およびlast_be 信号の設定から、ユーザー ロジッ クがバイ ト イネーブル信号を生成できますが、ほかのインターフェイス信号からこれらの信号を生成するかわりに、直接これらの信号を使用するこ とができます。

ペイロード サイズが 2 Dword (8 バイ ト ) よ り大きい場合は、ペイロード用のこのバス上の 1 ビッ トは常に連続します。 ペイロード サイズが 2 Dword またはそれよ り小さい場合は、 1 ビッ トは不連続になる場合があ り ます。

特殊な例と して、 PCI Express の仕様で定義されている長さ 0 のメモ リ書き込みト ランザクシ ョ ンでは、 関連する 1 DW ペイロードが送信される間は byte_en ビッ トがすべて 0 とな り ます。

コアは、 インターフェイス幅が 128 ビッ トの場合、 ビッ ト [31:16] を 0 に固定し、 インターフェイス幅が 64 ビッ トの場合、 ビッ ト [31:8] を 0 に固定します。

40 sop 1パケッ トの開始を示します。

コアは、パケッ トの 初のビートでこの信号をアサート して、パケッ トの開始を示します。 この信号の使用はオプシ ョ ンです。

41 Discontinue 1

内部 FIFO メモ リから TLP ペイロードを読み出している間に修正不可能なエラーを検出した場合に、 コアは TLP の 後のビートでこの信号をアサート します。 このよ うなエラーがコアによって検出された場合、ユーザー アプリ ケーシ ョ ンはすべての TLPを破棄する必要があ り ます。

TLP にペイロードがない場合に、 この信号がアサート されるこ とはあ り ません。m_axis_cq_tlast が High になっているサイ クルでのみアサート されます。

コアがエン ドポイン ト と してコンフ ィ ギュレーシ ョ ン される場合、 Advanced ErrorReporting (AER) を使用するこ とで、 コアが接続されているルート コンプレッ クスに対してエラーがレポート されます。

42 tph_present 1このビッ トは、 インターフェイスを介して送信される リ クエス ト TLP の中に Transaction Processing Hint (TPH) があるこ とを示します。 このビッ トは、 sop と m_axis_cq_tvalid の両方が High のと きに有効になり ます。

Page 15: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 15PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

コンプリーター コンプリーシ ョ ン (CC) インターフェイス

コンプ リーター コンプ リーシ ョ ン (CC) インターフェイスを介して、 ユーザー アプ リ ケーシ ョ ンが生成したコンプリーシ ョ ンがコンプ リーター リ クエス トに対応して送信されます。 すべてのノンポステッ ド ト ランザクシ ョ ンをスプ リ ッ ト ト ランザクシ ョ ンと して処理できます。つま り、 1 つのリ クエス トに対してコンプリーシ ョ ンを送信しながら、 リ クエスター コンプリーシ ョ ン インターフェイスで新しいリ クエス ト を連続して受信できます。表 2-5 では、 コアの CC インターフェイスのポートについて説明します。 [幅] の列にある DW は、 設定したデータ バス幅 (64、 128、または 256 ビッ ト ) を示します。

44:43 tph_type[1:0] 2TPH がリ クエス ト TLP 内にある場合、 これらの 2 ビッ トがヒン ト と関連する PH[1:0]フ ィールドの値を提供します。 これらのビッ トは、sop と m_axis_cq_tvalid の両方が High のと きに有効になり ます。

52:45 tph_st_tag[7:0] 8TPH がリ クエス ト TLP 内にある場合、 この出力がヒン ト と関連する 8 ビッ トのステア リ ング タグを提供します。 これらのビッ トは、 sop と m_axis_cq_tvalid の両方が High のと きに有効になり ます。

84:53 parity 32

256 ビッ トの送信データ用の奇数パリティです。

ビッ ト i は、 m_axis_cq_tdata のバイ ト i について計算された奇数パリティを提供します。 インターフェイス幅が 16 ビッ トの場合は下位 128 ビッ トのみ使用され、 インターフェイス幅が 8 ビッ トの場合は下位 64 ビッ トのみ使用されます。 コアは、 インターフェイス幅が 16 ビッ トの場合、 ビッ ト [31:128] を 0 に固定し、 インターフェイス幅が 8 ビッ トの場合、 ビッ ト [31:64] を 0 に固定します。

表 2-4 : m_axis_cq_tuser のサイドバンド信号の説明 (続き)

ビッ ト インデックス

名称 幅 説明

表 2-5 : CC インターフェイス ポートの説明

ポート 方向 幅 説明

s_axis_cc_tdata 入力 DW

コンプ リーター コンプリーシ ョ ンのデータ バスです。

ユーザー アプリ ケーシ ョ ンからコアへ送信されるコンプリーシ ョ ン データです。インターフェイス幅が 128 ビッ ト の場合は下位 128 ビッ ト のみ使用され、 インターフェイス幅が 64 ビッ トの場合は下位 64 ビッ トのみ使用されます。

s_axis_cc_tuser 入力 33

コンプ リーター コンプリーシ ョ ンのユーザー データです。

この信号セッ トには、 送信される TLP のサイ ドバンド情報が含まれます。 これらの信号は、 s_axis_cc_tvalid が High のと きに有効になり ます。

このセッ トの各信号については、 16 ページの表 2-6 を参照してください。

s_axis_cc_tlast 入力 1

コンプ リーター コンプリーシ ョ ン データ用の TLAST を示す信号です。

ユーザー アプリ ケーシ ョ ンは、パケッ トの 後を示すためにパケッ トの 後のサイクルでこの信号をアサートする必要があ り ます。シングル ビートで TLP が送信される場合、 ユーザー アプ リ ケーシ ョ ンは送信の 初のサイ クルでこの信号をセッ ト します。

s_axis_cc_tkeep 入力 DW/32

コンプ リーター コンプリーシ ョ ン データ用の TKEEP を示す信号です。

送信中にこのバスのビッ ト i がアサー ト される と、 s_axis_cc_tdata バスのDword i に有効なデータが含まれているこ とをコアに示します。ディ スク リプターの 初の Dword からペイロードの 後の Dword まですべての Dword に対して、このビッ ト を継続的に 1 にセッ ト します。 したがって、 パケッ トのすべてのビートで、 s_axis_cc_tdata が 1 にセッ ト されます。 ただし、 パケッ トの合計サイズがデータ バス幅の倍数値でない場合の 後のビートは例外です (いずれも Dword単位)。 これは、 ペイロード送信が Dword アライ メン トかつアドレス アライ メントの場合に適用されます。

インターフェイス幅が 128 ビッ トの場合、ビッ ト [7:4] はコアで使用されず、 インターフェイス幅が 64 ビッ トの場合、 ビッ ト [7:2] はコアで使用されません。

Page 16: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 16PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

s_axis_cc_tvalid 入力 1

コンプ リーター コンプリーシ ョ ン データの Valid 信号です。

s_axis_cc_tdata バス上に有効なデータがある場合、ユーザー アプリ ケーシ ョンはこの出力をアサートする必要があ り ます。 パケッ ト送信中、 この Valid 信号をアサート した状態で保持する必要があ り ます。 コアは、 s_axis_cc_tready信号を使用してデータ送信を制御できます。

s_axis_cc_tready 出力 4

コンプ リーター コンプリーシ ョ ン データの Ready 信号です。

コアがこの信号をアサートする と、 データの受信準備が整っているこ とを示します。 同じサイクルで s_axis_cc_tvalid と s_axis_cc_tready が両方と もアサート される と、 インターフェイスを介してデータが送信されます。

Valid 信号が High のと きにコアが Ready 信号をディアサート した場合、 Ready信号がアサート されるまで、ユーザー アプリ ケーシ ョ ンはバス上のデータを保持し、 Valid 信号をアサート した状態で保持する必要があ り ます。

表 2-5 : CC インターフェイス ポートの説明 (続き)

ポート 方向 幅 説明

表 2-6 : s_axis_cc_tuser のサイドバンド信号の説明

ビッ ト インデックス

名称 幅 説明

0 Discontinue 1

送信されているデータ内にエラー (メモ リからペイロードを読み出している間に修正不可能な ECC エラーなど) を検出した場合、 ユーザー アプリ ケーシ ョ ンはこの信号をアサート してパケッ トの送信を中断できます。 コアは、 リ ンク上の対応する TLP を無効にしてデータ破損を回避します。

ユーザー アプリ ケーシ ョ ンは、 送信中の任意のサイ クルでこの信号をアサートできます。エラーが示された場所よ り前のサイクルでパケッ ト を中断、 またはペイロードのすべてのバイ トがコアへ送信されるまで継続できます。後者の場合、ユーザー アプリ ケーシ ョ ンがパケッ トの終了よ り前に Discontinue 信号をディアサート しても、 パケッ トのその後のサイクルではコアはこのエラーをスティ ッキー エラーと して処理します。

Discontinue 信号は、 s_axis_cc_tvalid が High の場合のみアサート されます。 コアは、s_axis_cc_tready 信号が High の場合のみこの信号をサンプルします。したがって、 この信号がアサート された場合は、 s_axis_cc_tready が High になるまでディアサート してはいけません。

コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされる場合、 AER 機能を使用するこ とで、 コアが接続されているルート コンプレッ クスに対してエラーがレポート されます。

32:1 parity 32

256 ビッ ト データ用の奇数パリティです。

コアでパリ ティ チェッ クが有効の場合、 ユーザー ロジッ クはこのバスのビッ ト i を s_axis_cc_tdata のバイ ト i について計算された奇数パリ テ ィに設定する必要があり ます。 インターフェイス幅が 16 ビッ トの場合は下位 128 ビッ トのみ使用され、 インターフェイス幅が 8 ビッ トの場合は下位 64 ビッ トのみ使用されます。

インターフェイス パリティ エラーが検出された場合、 これは修正不可能な内部エラーと して記録され、 そのパケッ トは破棄されます。 PCI Express Base Specification (6.2.9) には、 次のよ うに記述されています。 「修正不可能な内部エラーとは、 コンポーネン ト内に生じるエラーであ り、 コンポーネン ト の不正動作を招きます。 修正不可能な内部エラーから回復する唯一の方法は、 リセッ ト またはハード ウェアの交換となり ます。」

コアでパリティ チェッ クが有効に設定されていない場合は、 パリティ ビッ トが永続的に 0 になり ます。

Page 17: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 17PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

リクエスター リクエスト (RQ) インターフェイス

リ クエスター リ クエス ト (RQ) インターフェイスを介して、ユーザー アプリ ケーシ ョ ンが リモートの PCIe® デバイスへリ クエス ト を生成します。 表 2-7 では、 コアの RQ インターフェイスのポートについて説明します。 [幅] の列にある DW は、 設定したデータ バス幅 (64、 128、 または 256 ビッ ト ) を示します。

表 2-7 : RQ インターフェイス ポートの説明

ポート 方向 幅 説明

s_axis_rq_tdata 入力 DW

リ クエスター リ クエス トのデータ バスです。

この入力には、 ユーザー アプリ ケーシ ョ ンからコアへのリ クエスター側のリ クエス ト データが含まれます。 インターフェイス幅が 128 ビッ トの場合は下位 128 ビッ トのみ使用され、インターフェイス幅が 64 ビッ トの場合は下位 64 ビッ トのみ使用されます。

s_axis_rq_tuser 入力 60

リ クエスター リ クエス トのユーザー データです。

この信号セッ トには、 送信される TLP のサイ ドバンド情報が含まれます。これらの信号は、 s_axis_rq_tvalid が High のと きに有効になり ます。

このセッ トの各信号については、 18 ページの表 2-8 を参照して ください。

s_axis_rq_tlast 入力 1

リ クエスター リ クエス ト データ用の TLAST を示す信号です。

ユーザー アプリ ケーシ ョ ンは、パケッ トの 後を示すために TLP の 後のサイ クルでこの信号をアサー トする必要があ り ます。 シングル ビー ト でTLP が送信される場合、 ユーザー アプリ ケーシ ョ ンは送信の 初のサイ クルでこの信号をセッ トする必要があ り ます。

s_axis_rq_tkeep 入力 DW/32

リ クエスター リ クエス ト データ用の TKEEP を示す信号です。

送信中にこのバスのビッ ト i がアサート される と、 s_axis_rq_tdata バスの Dword i に有効なデータが含まれているこ とをコアに示します。 ユーザー アプリ ケーシ ョ ンは、ディ スク リプターの 初の Dword からペイロードの 後の Dword まですべての Dword に対して、 このビッ ト を継続的に 1にセッ トする必要があ り ます。 したがって、パケッ トのすべてのビートで、s_axis_rq_tdata が 1 にセッ ト されます。 ただし、 パケッ トの合計サイズがデータ バス幅の倍数値でない場合の 後のビートは例外です (いずれも Dword 単位)。 これは、 ペイロード送信が Dword アライ メン トかつアドレス アライ メン トの場合に適用されます。

インターフェイス幅が 128 ビッ トの場合、 ビッ ト [7:4] はコアで使用されず、 インターフェイス幅が 64 ビッ トの場合、 ビッ ト [7:2] はコアで使用されません。

s_axis_rq_tready 出力 4

リ クエスター リ クエス ト データの Ready 信号です。

コアがこの信号をアサートする と、 データの受信準備が整っているこ とを示します。 同じサイ クルで s_axis_rq_tvalid と s_axis_rq_treadyが両方と もアサート される と、 インターフェイスを介してデータが送信されます。

Valid 信号が High のと きにコアが Ready 信号をディアサート した場合、Ready 信号がアサート されるまで、 ユーザー アプリケーシ ョ ンはバス上のデータを保持し、 Valid 信号をアサート した状態で保持する必要があり ます。

ユーザーは、4 つすべてのビッ ト を 1 または 0 に割り当てるこ とができます。

s_axis_rq_tvalid 入力 1

リ クエスター リ クエス ト データの Valid 信号です。

s_axis_rq_tdata バス上に有効なデータがある場合、 ユーザー アプ リケーシ ョ ンはこの出力をアサー トする必要があ り ます。 パケッ ト送信中、この Valid 信号をアサー ト した状態で保持する必要があ り ます。 コアは、s_axis_rq_tready 信号を使用してデータ送信を制御できます。

Page 18: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 18PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

pcie_rq_seq_num 出力 4

リ クエスター リ クエス ト TLP の送信シーケンス番号を示します。

オプシ ョ ンでこの出力を使用する と、 コアの送信パイプライン内にある リク エ ス ト の進み具合を追跡で き ます。 こ の機能を使用する場合は、seq_num[3:0] バスの各リ クエス トに対してシーケンス番号を与えます。ユーザー アプ リ ケーシ ョ ンからコンプ リーシ ョ ン TLP を送信できな くなるパイプラ イ ン内の地点に リ ク エス ト TLP が到達する と、 コ アは、pcie_rq_seq_num[3:0] 出力にこのシーケンス番号を出力します。 このメカニズムによって、 コアのコンプ リーター コンプ リーシ ョ ン インターフェイスへ送信されるコンプ リーシ ョ ン と リ クエスター リ クエス ト インターフェイスに送信されるポステッ ド リ クエス トの順序を管理できます。pcie_rq_seq_num[3:0] 出力のデータは、 pcie_rq_seq_num_vld がHigh の場合に有効になり ます。

pcie_rq_seq_num_vld 出力 1リ クエスター リ クエス ト TLP の送信シーケンス番号の Valid 信号です。

pcie_rq_seq_num[3:0] に有効なデータが配置される と、 コアがこの出力を 1 サイ クル間アサート します。

pcie_rq_tag 出力 6

リ クエスター リ クエス トのノンポステッ ド タグです。

コアでノンポステッ ド リ クエス トのタグ管理が実行される場合(AXISTEN_IF_ENABLE_CLIENT_TAG が 0 の場合)、コアはこの出力を使用し、 受信した各ノンポステッ ド リ クエス トに対して割り当てられたタグを伝えます。 このバスのタグ値は、 pcie_rq_tag_vld が High になる 1 サイクル間有効です。ユーザーは、このタグをコピーして使用し、コンプリーシ ョ ン データ とペンディング リ クエス ト を結び付けるこ とができます。

リ ク エ ス ト に 対 し て 割 り 当 て ら れ た タ グ を 与 え る た め、s_axis_rq_tdata バス上に リ ク エス ト が送信されてから コ アがpcie_rq_tag_vld をアサートするまでの間には数サイ クルの遅延が生じます。 この間、 ユーザー アプリ ケーシ ョ ンは新しいリ クエス ト を継続して送信できます。各リ クエス トのタグは、このバスを使用して FIFO 順序で伝達されるため、 ユーザー アプリ ケーシ ョ ンは送信された リ クエス ト と タグの値を簡単に関連付けるこ とができます。

pcie_rq_tag_vld 出力 1

リ クエスター リ クエス トのノンポステッ ド タグの Valid 信号です。

リ クエスター リ クエス ト インターフェイスから入力される ノンポステッド リ クエス トにタグを割り当てて、 pcie_rq_tag 出力にそれを配置すると、 コアはこの出力を 1 サイ クル間アサート します。

表 2-7 : RQ インターフェイス ポートの説明 (続き)

ポート 方向 幅 説明

表 2-8 : s_axis_rq_tuser のサイドバンド信号の説明

ビッ ト インデックス

名称 幅 説明

3:0 first_be[3:0] 4

初の Dword 用のバイ ト イネーブル信号です。

このフ ィールドは、 リ クエス ト TLP の Transaction-Layer ヘッダーの First_BEビッ トの設定に基づいて設定されます。 メモ リ読み出し、 I/O 読み出し、 およびコンフ ィギュレーシ ョ ン読み出しの場合、これらの 4 ビッ トは 初の Dwordに読み出される有効なバイ ト を示します。 メモ リ書き込み、 I/O 書き込み、 およびコンフ ィギュレーシ ョ ン書き込みの場合、これらのビッ トはペイロードの初の Dword にある有効なバイ ト を示します。

s_axis_rq_tvalid と s_axis_rq_tready が両方と も High になる と、 コアはパケッ トの 初のサイ クルでこのフ ィールドをサンプルします。

Page 19: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 19PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

7:4 last_be[3:0] 4

後の Dword 用のバイ ト イネーブル信号です。

このフ ィールドは、 TLP の Transaction-Layer ヘッダーの Last_BE ビッ トの設定に基づいて設定されます。 2 Dword またはそれ以上のメモ リ読み出しの場合、これらの 4 ビッ トは、 データ ブロ ッ クの 後の Dword に読み出される有効なバイ ト を示します。 2 Dword またはそれ以上のメモ リ書き込みの場合、 これらのビッ トはペイロードの 後の Dword にある有効なバイ ト を示します。

s_axis_rq_tvalid と s_axis_rq_tready が両方と も High になる と、 コアはパケッ トの 初のサイ クルでこのフ ィールドをサンプルします。

10:8 addr_offset[2:0] 3

このインターフェイスでアド レス アラ イ メ ン ト モードを利用している場合、ユーザー アプリ ケーシ ョ ンはペイロード データが開始するデータ バス上のバイ ト レーン番号を提供する必要があ り ます (このサイ ドバンド バスのモジュロ 4)。 これによって、 コアは送信されるデータ ブロ ッ クのアラ イ メン ト を判断できます。

s_axis_rq_tvalid と s_axis_rq_tready が両方と も High になる と、 コアはパケッ トの 初のサイ クルでこのフ ィールドをサンプルします。

リ クエスター リ クエス ト インターフェイスが Dword アラ イ メ ン ト モードでコンフ ィギュレーシ ョ ンされている場合、このフ ィールドは常に 0 にセッ ト されている必要があ り ます。

11 Discontinue 1

送信されているデータ内にエラーを検出した場合、 ユーザー アプ リ ケーシ ョンは送信中にこの信号をアサート してパケッ ト送信を中断できます。 コアは、リ ンク上の対応する TLP を無効にしてデータ破損を回避します。

送信中の任意のサイ クルでこの信号をアサートできます。エラーが示された場所よ り前のサイ クルでパケッ ト を中断、またはペイロードのすべてのバイ トがコアへ送信されるまで継続できます。 後者の場合、 ユーザー アプ リ ケーシ ョンがパケッ ト の終了よ り前に discontinue 信号をディアサート しても、 パケッ トのその後のサイ クルではコアはこのエラーをスティ ッキー エラーと して処理します。

Discontinue 信号は、 s_axis_rq_tvalid が High の場合のみアサート されます。 コアは、 s_axis_rq_tready 信号が High の場合のみこの信号をサンプルします。 したがって、 この信号がアサート された場合は、s_axis_rq_tready が High になる までデ ィ アサー ト してはいけません。Discontinue 信号は、 ノンポステッ ド TLP に対しては有効ではあ り ません。 送信中、 ク ライアン トは、 初のサイ クル以外の任意のサイクルでこの信号をアサートできます。

コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされる場合、 Advanced Error Reporting (AER) を使用するこ とで、 コアが接続されているルート コンプレッ クスに対してエラーがレポート されます。

12 tph_present 1

このビッ トは、 インターフェイスを介して送信される リ クエス ト TLP の中に Transaction Processing Hint (TPH) があるこ とを示します。s_axis_rq_tvalid と s_axis_rq_tready が両方と も High になる と、 コアはパケッ トの 初のサイ クルでこのフ ィールドをサンプルします。

TPH 機能を使用しない場合、このビッ トは常に 0 にセッ ト される必要があ り ます。

14:13 tph_type[1:0] 2

TPH がリ クエス ト TLP 内にある場合、 これらの 2 ビッ トがヒン ト と関連するPH[1:0] フ ィールドの値を提供します。 s_axis_rq_tvalid と s_axis_rq_tready が両方と も High になる と、 コアはパケッ トの 初のサイ クルでこのフ ィールドをサンプルします。

tph_present が 0 にセッ ト されている場合、 これらのビッ トは任意の値に設定できます。

表 2-8 : s_axis_rq_tuser のサイドバンド信号の説明 (続き)

ビッ ト インデックス

名称 幅 説明

Page 20: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 20PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

15 tph_indirect_tag_en 1

このビッ トが 1 の場合、 コアはステア リ ング タグ テーブルへのインデッ クスと して tph_st_tag[7:0] の下位ビ ッ ト を使用し、 送信される リ クエス トTLP にこのロケーシ ョ ンからのタグを挿入します。

このビッ トが 0 の場合、 コアはステア リ ング タグと して tph_st_tag[7:0]の値を直接使用します。

s_axis_rq_tvalid と s_axis_rq_tready が両方と も High になる と、 コアはパケッ トの 初のサイ クルでこのビッ ト をサンプルします。

tph_present が 0 にセッ ト されている場合、 このビッ トは任意の値に設定できます。

23:16 tph_st_tag[7:0] 8

TPH がリ クエス ト TLP 内にある場合、 この出力がヒン ト と関連する 8 ビッ トのステア リ ング タグを提供します。 s_axis_rq_tvalid とs_axis_rq_tready が両方と も High になる と、 コアはパケッ トの 初のサイ クルでこのフ ィールドをサンプルします。

tph_present が 0 にセッ ト されている場合、 これらのビッ トは任意の値に設定できます。

27:24 seq_num[3:0] 4

オプシ ョ ンで、 このフ ィールドに 4 ビッ トのシーケンス番号を提供する と、 コアの送信パイプライン内における リ クエス トの進捗状況を追跡できます。 リ クエス ト TLP がコンプリーシ ョ ン TLP を渡すこ とができなくなるパイプライン内の地点に到達する と、 コアはこのシーケンス番号をpcie_rq_seq_num[3:0] 出力に出力します。

s_axis_rq_tvalid と s_axis_rq_tready が両方と も High になる と、 コアはパケッ トの 初のサイ クルでこのフ ィールドをサンプルします。

ユーザー アプリ ケーシ ョ ンが、 コアの pcie_rq_seq_num[3:0] 出力をモニタ リ ングしていない場合には、 この入力を 0 にハード接続できます。

59:28 parity 32

256 ビッ ト データ用の奇数パリ ティです。

コアでパリ ティ チェッ クが有効の場合、 ユーザー ロジッ クはこのバスのビット i を s_axis_rq_tdata のバイ ト i について計算された奇数パリティに設定する必要があ り ます。 インターフェイス幅が 16 ビッ トの場合は下位 128 ビットのみ使用され、 インターフェイス幅が 8 ビッ トの場合は下位 64 ビッ トのみ使用されます。

インターフェイス パリ ティ エラーが検出された場合、 これは修正不可能な内部エラーと して記録され、 そのパケ ッ ト は破棄されます。 PCI Express BaseSpecification (6.2.9) には、次のよ うに記述されています。 「修正不可能な内部エラーとは、 コンポーネン ト内に生じるエラーであ り、 コンポーネン トの不正動作を招きます。修正不可能な内部エラーから回復する唯一の方法は、 リセッ トまたはハード ウェアの交換となり ます。」

コアでパリ ティ チェッ クが有効に設定されていない場合は、 パリ ティ ビッ トが永続的に 0 になり ます。

表 2-8 : s_axis_rq_tuser のサイドバンド信号の説明 (続き)

ビッ ト インデックス

名称 幅 説明

Page 21: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 21PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

リクエスター コンプリーシ ョ ン (RC) インターフェイス

リ クエスター コンプ リーシ ョ ン (RC) インターフェイスを介して、 リ クエス トに対応して リ ンクから受け取ったコンプ リーシ ョ ンがユーザー アプリ ケーシ ョ ンに送信されます。表 2-9 では、 コアの RC インターフェイスのポートについて説明します。 [幅] の列にある DW は、 設定したデータ バス幅 (64、 128、 または 256 ビッ ト ) を示します。

表 2-9 : RC インターフェイス ポートの説明

ポート 方向 幅 説明

m_axis_rc_tdata 出力 DW

リ クエスター コンプリーシ ョ ンのデータ バスです。

コアの リ クエスター コンプ リーシ ョ ン インターフェイスからユーザー アプリ ケーシ ョ ンへデータを送信します。 インターフェイス幅が 128 ビッ トの場合は下位 128 ビッ トのみ使用され、 インターフェイス幅が 64 ビッ トの場合は下位 64 ビッ トのみ使用されます。

コアは、 インターフェイス幅が 128 ビッ トの場合、 ビッ ト [255:128] を 0 に固定し、 インターフェイス幅が 64 ビッ トの場合、 ビッ ト [255:64] を 0 に固定します。

m_axis_rc_tuser 出力 75

リ クエスター コンプリーシ ョ ンのユーザー データです。

この信号セッ トには、 送信される TLP のサイ ドバンド情報が含まれます。これらの信号は、 m_axis_rc_tvalid が High のと きに有効になり ます。

このセッ トの各信号については、 22 ページの表 2-10 を参照してください。

m_axis_rc_tlast 出力 1

リ クエスター コンプリーシ ョ ン データ用の TLAST を示す信号です。

コアは、 パケッ ト の 後のビート でこの信号をアサート して、 パケッ トの後を示します。 シングル ビートで TLP が送信される場合、 コアは送信の 初のビートでこのビッ ト をセッ ト します。 この出力は、 ス ト ラ ドル オプシ ョ ンが無効に設定されている場合のみ使用されます。 ス ト ラ ドル オプシ ョ ンが有効に設定されている場合 (256 ビッ ト インターフェイスの場合)、常にコアはこの出力を 0 にセッ ト します。

m_axis_rc_tkeep 出力 DW/32

リ クエスター コンプリーシ ョ ン データ用の TKEEP を示す信号です。

送信中にこのバスのビッ ト i がアサート される と、 m_axis_rc_tdata バスの Dword i に有効なデータが含まれている こ と をコアに示します。 コアは、ディ スク リプターの 初の Dword からペイロードの 後の Dword まですべての Dword に対して、 このビッ ト を継続的に 1 にセッ ト します。 したがって、パケッ ト のすべてのビー ト で、 m_axis_rc_tkeep が 1 にセッ ト されます。ただし、 パケッ トの合計サイズがデータ バス幅の倍数値でない場合の 後のビートは例外です (いずれも Dword 単位)。 これは、 ペイロード送信が Dwordアライ メン トかつアドレス アライ メン トの場合に適用されます。

コアは、インターフェイス幅が 128 ビッ トの場合、ビッ ト [7:4] を 0 に固定し、インターフェイス幅が 64 ビッ トの場合、 ビッ ト [7:2] を 0 に固定します。

これらの出力は、 インターフェイス幅が 256 ビッ トでス ト ラ ドル オプシ ョ ンが有効に設定されている場合にすべて 1 とな り ます。 インターフェイスを介して送信されたコンプ リ ーシ ョ ン TLP の開始および終了を判断する場合、ユーザー ロジッ クは m_axis_rc_tuser のこの信号を使用する必要があ ります。

Page 22: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 22PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

m_axis_rc_tvalid 出力 1

リ クエスター コンプリーシ ョ ン データの Valid 信号です。

m_axis_rc_tdata バス上に有効なデータがある場合、 コアはこの出力をアサート します。 パケッ ト送信中、 この Valid 信号はアサート された状態を保持します。 ユーザー アプ リ ケーシ ョ ンは、 m_axis_rc_tready 信号を使用してデータ送信を制御できます。

m_axis_rc_tready 入力 22

リ クエスター コンプリーシ ョ ン データの Ready 信号です。

ユーザー ロジッ クでこの信号を High にアサートする と、ユーザー アプリ ケーシ ョ ンがデータを受信する準備が整っているこ とをコアに示します。 同じサイ クルで m_axis_rc_tvalid と m_axis_rc_tready が両方と もアサートされる と、 インターフェイスを介してデータが送信されます。

Valid が High のと きにユーザー アプリ ケーシ ョ ンが Ready 信号をディアサート した場合、 Ready 信号がアサート されるまで、 コアはバス上のデータを保持し、 また Valid 信号をアサート した状態で保持します。

ユーザーは、 22 すべてのビッ ト を 1 または 0 に割り当てるこ とができます。

表 2-9 : RC インターフェイス ポートの説明 (続き)

ポート 方向 幅 説明

表 2-10 : m_axis_rc_tuser のサイドバンド信号の説明

ビッ ト インデックス

名称 幅 説明

31:0 byte_en 32

ユーザー ロジッ クは、 オプシ ョ ンでこれらのバイ ト イネーブル信号を使用して、 送信されるパケッ トのペイロード内で有効なバイ ト を判断できます。送信中にこのバスのビッ ト i がアサート される と、 m_axis_rc_tdata バスのバイ ト i に有効なペイロード バイ トが含まれているこ とを示します。 このビッ トは、 ディ スク リプター バイ トに対してアサート されません。

リ クエス ト ディ スク リプター内の情報 (アドレスおよび長さ ) から、 ユーザー ロジックがバイ ト イネーブル信号を生成できますが、ほかのインターフェイス信号からこれらの信号を生成するかわりに、 直接これらの信号を使用するオプシ ョ ンがあ り ます。TLP のペイロードに対するこのバスの 1 ビッ トは常に連続します。

コアは、 インターフェイス幅が 128 ビッ トの場合、 ビッ ト [31:16] を 0 に固定し、 インターフェイス幅が 64 ビッ トの場合、 ビッ ト [31:8] を 0 に固定します。

32 is_sof_0 1

初のコンプリーシ ョ ン TLP の開始を示します。

64 ビッ ト と 128 ビッ ト インターフェイス、およびス ト ラ ドルが無効に設定されている256 ビッ ト インターフェイスの場合、 TLP の開始を示すためにパケッ トの 初のビートでコアが is_sof_0 をアサート します。 これらのインターフェイスでは、 1 データビートで 1 TLP のみ開始可能であり、 is_sof_1 は常に 0 にセッ ト されます。 この信号の使用は、 ス ト ラ ドル オプシ ョ ンが無効の場合のみ有効です。

インターフェイス幅が 256 ビッ トでス ト ラ ドル オプシ ョ ンが有効な場合、コアは同じビート内で 2 つのコンプ リーシ ョ ン TLP をス ト ラ ドルできます。 この場合、 コンプリーシ ョ ン TLP は AXI4-Stream パケッ ト と してフォーマッ ト されません。is_sof_0のアサートは、 ビート内におけるコンプ リーシ ョ ン TLP の開始を示します。 以前のTLP が現ビート よ り も前に終了している場合、現コンプ リーシ ョ ン TLP の 初のバイトはバイ ト レーン 0 に含まれ、 また以前の TLP が現ビートで継続している場合、 コンプリーシ ョ ン TLP の 初のバイ トはバイ ト レーン 16 に含まれます。

33 is_sof_1 1

2 つ目のコンプリーシ ョ ン TLP の開始を示します。

インターフェイス幅が 256 ビッ ト でス ト ラ ドル オプシ ョ ンが有効な場合にこの信号が使用され、コアは同じビート内で 2 つのコンプ リーシ ョ ン TLP をス ト ラ ドルできます。 その他の場合、 この出力は常に 0 になり ます。

is_sof_1 のアサートは、 ビート内における 2 つ目のコンプ リーシ ョ ン TLP の開始を示します。 このと き、 初のバイ トはバイ ト レーン 16 に含まれます。 以前の TLPが同じビートの 0 ~15 のいずれかのバイ ト位置で終了している場合のみ、コアはバイト位置 16 で 2 つ目の TLP を開始します。 つま り、 同じビー ト で is_eof_0[0] もセッ ト されている場合に限られます。

Page 23: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 23PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

37:34 is_eof_0[3:0] 4

初のコンプリーシ ョ ン TLP の終了と 後の Dword のオフセッ ト を示します。

これらの出力は、インターフェイス幅が 256 ビッ トでス ト ラ ドル オプシ ョ ンが有効に設定されている場合のみ使用されます。

ビッ ト is_eof_0[0] のアサートは、現ビートにおける 初のコンプリーシ ョ ン TLPの終了を示します。 このビッ トがセッ ト される と、 is_eof_0[3:1] がこの TLP の後の Dword のオフセッ ト を提示します。

41:38 is_eof_1[3:0] 4

2 つ目のコンプリーシ ョ ン TLP の終了と 後の Dword のオフセッ ト を示します。

これらの出力は、 インターフェイス幅が 256 ビッ トでス ト ラ ドル オプシ ョ ンが有効に設定されている場合のみ使用されます。コアは、同じビート内で 2 つのコンプリーシ ョン TLP をス ト ラ ドルできます。 その他の場合、 これらの出力は予約されています。

is_eof_1[0] のアサートは、 同じビートにおける 2 つ目の TLP の終了を示します。is_eof_1 のビッ ト 0 がセッ ト される と、 ビッ ト [3:1] は現ビートで終了する TLP の後の Dword のオフセッ ト を示します。2 つ目の TLP は、バイ ト位置 27 ~ 31 の間で

のみ終了可能なため、 is_eof_1[3:1] は 2 つの値 (6 または 7) のいずれかとな り ます。

2 つ目の TLP の 後のバイ トのオフセッ トは、 TLP の開始アドレス と長さ、 あるいはバイ ト イネーブル信号 byte_en[31:0] から判断できます。

is_eof_1[0] が High の場合、 is_eof_0[0] 信号と is_sof_1 信号も同じビート内で High になり ます。

42 Discontinue 1

内部 FIFO メモ リから TLP ペイロードを読み出している間に修正不可能なエラーを検出した場合に、コアは TLP の 後のビートでこの信号をアサート します。このよ うなエラーがコアによって検出された場合、 ユーザー アプ リ ケーシ ョ ンはすべての TLPを破棄する必要があ り ます。

TLP にペイロードがない場合に、 この信号がアサート されるこ とはあ り ません。この信号は、 ペイロード送信の 後のビートでのみアサート されます (つま り、is_eof_0[0] が High の場合)。ス ト ラ ドル オプシ ョ ンが有効の場合、 コアが Discontinue 信号をアサート している と2 つ目の TLP が開始されません。

コアがエン ドポイン ト と してコンフ ィ ギュレーシ ョ ン される場合、 Advanced ErrorReporting (AER) を使用するこ とで、 コアが接続されているルート コンプレッ クスに対してエラーがレポート されます。

74:43 parity 32

256 ビッ トの送信データ用の奇数パリティです。

ビッ ト i は、 m_axis_rc_tdata のバイ ト i について計算された奇数パリティを提供します。 インターフェイス幅が 16 ビッ トの場合は下位 128 ビッ トのみ使用され、 インターフェイス幅が 8 ビッ トの場合は下位 64 ビッ トのみ使用されます。インターフェイスコアは、 幅が 16 ビッ トの場合、 ビッ ト [31:128] を 0 に固定し、 インターフェイス幅が 8 ビッ トの場合、 ビッ ト [31:64] を 0 に固定します。

表 2-10 : m_axis_rc_tuser のサイドバンド信号の説明 (続き)

ビッ ト インデックス

名称 幅 説明

Page 24: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 24PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

その他のコア インターフェイス

このセクシ ョ ンでは、 その他のコア インターフェイスについて説明します。

送信フロー制御 (Transmit Flow Control) インターフェイス

送信フロー制御インターフェイスは、ユーザー アプリ ケーシ ョ ンが使用するインターフェイスで、コアが提供するフロー制御情報を要求するために使用します。 このインターフェイスは、 コアのフロー制御セレク ト入力の設定に基づいて、ポステッ ド /ノンポステッ ド ヘッダー フロー制御クレジッ ト、コンプ リーシ ョ ン ヘッダー フロー制御クレジット、 およびコンプ リーシ ョ ン データ フロー制御クレジッ ト をユーザー アプリ ケーシ ョ ンへ提供します。

表 2-11 では、 コアの送信フロー制御インターフェイスのポートについて説明します。

表 2-11 : 送信フロー制御インターフェイスのポートの説明

ポート 方向 幅 説明

pcie_tfc_nph_av 出力 2

送信フロー制御の有効なノンポステッ ド ヘッダー クレジッ ト を示します。

この出力は、 コアの送信側においてノンポステッ ド TLP 用に現在有効なヘッダー クレジッ ト を示します。 ユーザー ロジッ クは、 リ クエスター リ クエスト インターフェイスでノンポステッ ド リ クエス ト を送信する前にこの出力をチェ ッ ク して、 ク レジッ ト が利用できない場合のインターフェ イスのブロ ッキングを回避できます。 エンコードは次のとおりです。

• 00 : 使用可能なクレジッ トはない

• 01 : 1 クレジッ トが使用可能

• 10 : 2 クレジッ トが使用可能

• 11 : 3 または複数のクレジッ トが使用可能

パイプライン遅延によ り、 この出力の値には、 後の 2 サイ クルのノンポステッ ド リ クエス トで使用されたクレジッ トが含まれません。ユーザー ロジックは、 前の 2 ク ロ ッ ク サイ クルでノンポステッ ド リ クエス ト を送信した場合、 そこで使用されたクレジッ ト を考慮してこの出力の値を調整する必要があ り ます。

pcie_tfc_npd_av 出力 2

有効な送信フロー制御のノンポステッ ド データ クレジッ ト を示します。

この出力は、 コアの送信側においてノンポステッ ド TLP 用に現在有効なペイロード クレジッ ト を示します。 ユーザー ロジッ クは、 リ クエスター リ クエス ト インターフェイスでノンポステッ ド リ クエス ト を送信する前にこの出力をチェッ ク して、 クレジッ トが利用できない場合のインターフェイスのブロ ッキングを回避できます。 エンコードは次のとおりです。

• 00 : 使用可能なクレジッ トはない

• 01 : 1 クレジッ トが使用可能

• 10 : 2 クレジッ トが使用可能

• 11 : 3 または複数のクレジッ トが使用可能

パイプライン遅延によ り、 この出力の値には、 後の 2 ク ロ ッ ク サイクルでユーザー アプ リ ケーシ ョ ンによって送信されたノンポステッ ド リ クエス トで使用されたクレジッ ト分が考慮されていません。 ユーザー ロジッ クは、 前の 2 ク ロ ッ ク サイクルでノンポステッ ド リ クエス ト を送信した場合、そこで使用されたクレジッ ト を考慮してこの出力の値を調整する必要があ り ます。

Page 25: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 25PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

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

コンフ ィギュレーシ ョ ン マネージメン ト インターフェイスは、 コンフ ィギュレーシ ョ ン空間レジスタに対して書き込みや読み出しを実行する際に使用します。 表 2-12 では、 コアのコンフ ィギュレーシ ョ ン マネージメン ト インターフェイスのポートについて説明します。

表 2-12 : コンフ ィギュレーシ ョ ン マネージメン ト インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_mgmt_addr 入力 19

読み出し /書き込みアドレスを示します。

このアドレスは、コンフ ィギュレーシ ョ ンおよびマネージメン トレジスタ空間内のアドレスであ り、Dword に揃っています。 ローカル マネージメン ト バスからアクセスする場合 : アドレス ビット cfg_mgmt_addr[17:10] には、 コンフ ィギュレーシ ョ ン レジスタ と関係がある PCI ファンクシ ョ ンを選択します。 ビッ トcfg_mgmt_addr[9:0] には、ファンクシ ョ ン内のレジスタを選択します。 PCI または PCI Express コンフ ィギュレーシ ョ ン レジスタへアクセスする場合は、 アドレス ビッ トcfg_mgmt_addr[18] が 0 にセッ ト され、 ローカル マネジメント レジスタへアクセスする場合は、1 にセッ ト される必要があります。

cfg_mgmt_write 入力 1 書き込みイネーブル信号です。

書き込み動作に使用されるアクティブ High 信号です。

cfg_mgmt_write_data 入力 32書き込みデータです。

この書き込みデータを使用して、 コンフ ィギュレーシ ョ ンおよびマネージメン ト レジスタを設定します。

cfg_mgmt_byte_enable 入力 4

バイ ト イネーブル信号です。

書き込みデータ用のバイ ト イネーブル信号であ り、cfg_mgmt_byte_enable[0] は cfg_mgmt_write_data[7:0] に対応します。

cfg_mgmt_read 入力 1 読み出しイネーブル信号です。

読み出し動作に使用されるアクティブ High 信号です。

cfg_mgmt_read_data 出力 32読み出しデータの出力です。

この読み出しデータを使用して、 コンフ ィギュレーシ ョ ンおよびマネージメン ト レジスタを設定します。

cfg_mgmt_read_write_done 出力 1読み出し /書き込み動作の完了を示します。

動作が完了する と、 1 サイ クル間アサート されます。アクティブHigh 信号です。

cfg_mgmt_type1_cfg_reg_access 入力 1

タイプ 1 RO、 書き込みです。

コアがルート ポート モードでコンフ ィギュレーシ ョ ンされている場合、 タイプ 1 の PCI™ コンフ ィギュレーシ ョ ン レジスタへの書き込み動作中にこの入力をアサートする と、 コンフ ィギュレーシ ョ ン レジスタ特定の読み出し専用フ ィールドへの書き込みを強制します (RC モード コンフ ィギュレーシ ョ ン レジスタの説明を参照)。コアがエンドポイン ト モードの場合、 またはタイプ 1 コンフ ィギュレーシ ョ ン レジスタ以外への書き込み動作の場合、 この入力による影響はあ り ません。

Page 26: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 26PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

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

コンフ ィギュレーシ ョ ン ステータス インターフェイスは、 コアのコンフ ィギュレーシ ョ ン状況を示す情報 (ネゴシエート された リ ンク幅やスピード、 コアの電力ステート、 コンフ ィギュレーシ ョ ン エラー ) を提供します。 表 2-13では、 コアのコンフ ィギュレーシ ョ ン ステータス インターフェイスのポートについて説明します。

表 2-13 : コンフ ィギュレーシ ョ ン ステータス インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_phy_link_down 出力 1

コンフ ィギュレーシ ョ ン リ ンクのダウン状態を示します。

物理層 LTSSM に基づく PCI Express リ ンクのステータスです。

• 1b : リ ンクはダウン状態 (LinkUp ステートの変数は 0b)• 0b : リ ンクはアップ状態 (LinkUp ステートの変数は 1b)

注記 : 『PCI Express Base Specification (rev. 3.0)』 [参照 2] による と、LinkUp は、 Recovery、 L0、 L0s、 L1、 および L2 cfg_ltssm ステートの場合に 1b になり ます。 コンフ ィギュレーシ ョ ン ステートの場合には 0b または 1b のいずれかになり ます。 [Detect] → [Polling] → [Configuration] からコンフ ィギュレーシ ョ ン ステートへ遷移する場合は、 常に 0b になり ます。 その他のステート遷移を経てコンフ ィギュレーシ ョ ン ステートへ到達する と、 LinkUp は 1b になり ます。

注記 : リセッ ト信号がアサート された場合は、 リ リースされるまでこの信号の出力は 0b を保持します。

cfg_phy_link_status 出力 2

コンフ ィギュレーシ ョ ン リ ンクのステータスを示します。

PCI Express リ ンクのステータスです。

• 00b : レシーバーの検出なし

• 01b : リ ンク ト レーニング中

• 10b : リ ンク アップ状態。 DL 初期化実行中

• 11b : リ ンク アップ状態。 DL 初期化完了

cfg_negotiated_width 出力 4

コンフ ィギュレーシ ョ ン リ ンクのステータスを示します。

Negotiated Link Width : PCI Express の リ ンク ステータス レジスタのNegotiated Link Width フ ィールドです。 このフ ィールドは、 指定された PCI Express リ ンクのネゴシエート された幅を示し、cfg_phy_link_status[1:0] == 11b (DL 初期化完了) の場合に有効になり ます。

cfg_current_speed 出力 3

現在のリ ンク スピードを示します。

この信号は、リ ンク ステータス レジスタのビッ ト (1-0) から現在のリン ク スピード を出力し ます。 このフ ィールドでは、 指定した PCIExpress リ ンクのネゴシエート されたスピードを示します。

• 001b : 2.5GT/s PCI Express リ ンク

• 010b : 5.0GT/s PCI Express リ ンク

• 100b : 8.0GT/s PCI Express リ ンク

cfg_max_payload 出力 3

Max_Payload_Size を示します。

この信号は、 デバイス制御レジスタのビ ッ ト (7-5) からの 大ペイロード サイズを出力し、 このフ ィールドでは、 大の TLP ペイロード サイズを設定します。 レシーバーと して、 ロジッ クは設定値と同じ規模の TLP に対応する必要があ り ます。ロジッ クは、 ト ランス ミ ッターと して、 設定値を超える TLP を生成できません。

• 000b : 128 バイ トの 大ペイロード サイズ

• 001b : 256 バイ トの 大ペイロード サイズ

• 010b : 512 バイ トの 大ペイロード サイズ

• 011b : 1024 バイ トの 大ペイロード サイズ

• 100b : 2048 バイ トの 大ペイロード サイズ

• 101b : 4096 バイ トの 大ペイロード サイズ

Page 27: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 27PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_max_read_req 出力 3

Max_Read_Request_Size を示します。

この信号は、 デバイス制御レジスタのビッ ト (14-12) からの 大読み出し リ クエス ト サイズを出力し、このフ ィールドでは、 リ クエスターと して機能するロジッ クの 大読み出し リ クエス ト サイズを設定します。 ロジッ クは、設定値を超えるサイズの読み出し リ クエス ト を生成できません。

• 000b : 128 バイ トの 大読み出し リ クエス ト サイズ

• 001b : 256 バイ トの 大読み出し リ クエス ト サイズ

• 010b : 512 バイ トの 大読み出し リ クエス ト サイズ

• 011b : 1024 バイ トの 大読み出し リ クエス ト サイズ

• 100b : 2048 バイ トの 大読み出し リ クエス ト サイズ

• 101b : 4096 バイ トの 大読み出し リ クエス ト サイズ

cfg_function_status 出力 8

コンフ ィギュレーシ ョ ン ファンクシ ョ ン ステータスを示します。

これらの出力は、各ファンクシ ョ ンの PCI コンフ ィギュレーシ ョ ン空間にあるコマンド レジスタ ビッ トのステート を示します。 これらの出力を使用して、 ホス ト ロジッ クからの リ クエス ト やコンプ リーシ ョ ンを有効化します。 これらのビッ ト の割り当ては次のとおりです。

• ビッ ト 0 : Function 0 の I/O 空間は有効

• ビッ ト 1 : Function 0 のメモリ空間は有効

• ビッ ト 2 : Function 0 のバス マスターは有効

• ビッ ト 3 : Function 0 の INTx は無効

• ビッ ト 4 : Function 1 の I/O 空間は有効

• ビッ ト 5 : Function 1 のメモリ空間は有効

• ビッ ト 6 : Function 1 のバス マスターは有効

• ビッ ト 7 : Function 1 の INTx は無効

cfg_vf_status 出力 12

コンフ ィギュレーシ ョ ン Virtual Function ステータスを示します。

これらの出力は、Virtual Function のステータスを 1 つの Virtual Functionに対して 2 ビッ トで出力します。

• ビッ ト 0 : Virtual Function 0 : ソフ ト ウェアでコンフ ィギュレーシ ョン/有効化

• ビッ ト 1 : Virtual Function 0 : PCI コマンド レジスタ、 Bus Master Enable など

cfg_function_power_state 出力 6

コンフ ィギュレーシ ョ ン ファンクシ ョ ンの電力ステート を示します。

これらの出力は、Physical Function の現在の電力ステート を示します。ビッ ト [2:0] は、 Function 0 の電力ステート をキャプチャし、 ビ ッ ト[5:3] は Function 1 の電力ステート をキャプチャします。電力ステートの定義は次のとおりです。• 000 : D0_uninitialized• 001 : D0_active• 010 : D1• 100 : D3_hot

表 2-13 : コンフ ィギュレーシ ョ ン ステータス インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 28: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 28PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_vf_power_state 出力 18

コンフ ィギュレーシ ョ ン Virtual Function の電力ステート を示します。

これらの出力は、 Virtual Function の現在の電力ステート を示します。ビ ッ ト [2:0] は、 Virtual Function 0 の電力ステー ト をキャプチャ し、ビッ ト [5:3] は Virtual Function 1 の電力ステート をキャプチャします。電力ステートの定義は次のとおりです。• 000 : D0_uninitialized• 001 : D0_active• 010 : D1• 100 : D3_hot

cfg_link_power_state 出力 2

PCI Express リ ンクの現在の電力ステート を示します。• 00 : L0• 01 : L0s• 10 : L1

• 11 : L2/予約済み

cfg_err_cor_out 出力 1

修正可能なエラーを検出したこ とを示します。

エンドポイン ト モードの場合、 修正可能なエラーを検出し、 レポート がマスク されていない場合に、 コアはこの出力を 1 サイ クル間アサート します。 マルチファンクシ ョ ン エンドポイン トの場合は、 すべてのファンクシ ョ ンのデバイス ステータス レジスタにある修正可能なエラーのステータス ビッ トの論理 OR とな り ます。

ルート ポート モードの場合、ローカルに修正可能なエラーを検出し、そのレポートがマスク されていない場合に、この出力がアサート されます。 この出力は、 リモート デバイスが PCI Express エラー メ ッセージを使用して示したエラー信号に対して応答しません。 これらのエラー メ ッセージは、 メ ッセージ インターフェイスを介して提供されます。

cfg_err_nonfatal_out 出力 1

非致命的エラーを検出したこ とを示します。

エンドポイン ト モードの場合、非致命的エラーを検出し、そのレポート がマスク されていない場合に、 コアはこの出力を 1 サイ クル間アサート します。 マルチファンクシ ョ ン エンドポイン トの場合は、 すべてのファンクシ ョ ンのデバイス ステータス レジスタにある非致命的エラーのステータス ビッ トの論理 OR とな り ます。

ルート ポート モードの場合、 特定場所に非致命的エラーを検出し、そのレポートがマスク されていない場合に、この出力がアサート されます。 この出力は、 リモート デバイスが PCI Express エラー メ ッセージを使用して示したエラー信号に対して応答しません。 これらのエラー メ ッセージは、 メ ッセージ インターフェイスを介して提供されます。

cfg_err_fatal_out 出力 1

致命的エラーを検出したこ とを示します。

エンドポイン ト モードの場合、 致命的エラーを検出し、 そのレポート がマスク されていない場合に、 コアはこの出力を 1 サイ クル間アサート します。 マルチファンクシ ョ ン エンドポイン トの場合は、 すべてのファンクシ ョ ンのデバイス ステータス レジスタにある致命的エラーのステータス ビッ トの論理 OR とな り ます。

ルート ポート モードの場合、 特定場所に致命的エラーを検出し、 そのレポートがマスク されていない場合に、この出力がアサート されます。 この出力は、 リモート デバイスが PCI Express エラー メ ッセージを使用して示したエラー信号に対して応答しません。これらのエラーメ ッセージは、 メ ッセージ インターフェイスを介して提供されます。

表 2-13 : コンフ ィギュレーシ ョ ン ステータス インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 29: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 29PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_ltr_enable 出力 1

LTR (Latency Tolerance Reporting) 機能のイネーブル信号です。

この出力ステートは、 Physical Function 0 のデバイス制御 2 レジスタにある LRT メカニズムのイネーブル ビッ トの設定を示します。 コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされている場合、ロジッ クはこの出力を使用して LTR メ ッセージの生成を有効にします。コアがルー ト ポー ト と してコンフ ィ ギュレーシ ョ ン されている場合、 この出力は使用されません。

cfg_ltssm_state 出力 6

この信号は、 現在の LTSSM の状態を示します。00 : Detect.Quiet01 : Detect.Active02 : Polling.Active03 : Polling.Compliance04 : Polling.Configuration05 : Configuration.Linkwidth.Start06 : Configuration.Linkwidth.Accept07 : Configuration.Lanenum.Accept08 : Configuration.Lanenum.Wait09 : Configuration.Complete0A : Configuration.Idle0B : Recovery.RcvrLock0C : Recovery.Speed0D : Recovery.RcvrCfg0E : Recovery.Idle10 : L011 : Rx_L0s.Entry12 : Rx_L0s.Idle13 : Rx_L0s.FTS14 : Tx_L0s.Entry15 : Tx_L0s.Idle16 : Tx_L0s.FTS17 : L1.Entry18 : L1.Idle19 : L2.Idle1A : L2.TransmitWake20 : DISABLED21 : LOOPBACK_ENTRY_MASTER22 : LOOPBACK_ACTIVE_MASTER23 : LOOPBACK_EXIT_MASTER24 : LOOPBACK_ENTRY_SLAVE25 : LOOPBACK_ACTIVE_SLAVE26 : LOOPBACK_EXIT_SLAVE27 : HOT_RESET28 : RECOVERY_EQUALIZATION_PHASE029 : RECOVERY_EQUALIZATION_PHASE12A : RECOVERY_EQUALIZATION_PHASE22B : RECOVERY_EQUALIZATION_PHASE3

表 2-13 : コンフ ィギュレーシ ョ ン ステータス インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 30: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 30PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_rcb_status 出力 2

RCB ステータス信号です。

各 Physical Function のリ ンクコンロ トール レジスタにある RCB (ReadCompletion Boundary) ビッ トの設定を示します。 エンドポイン ト モードの場合、 ビッ ト 0 は PF 0 の RCB を示します (ビッ ト 1 は PF1 に対応)。 RC モードの場合、 ビッ ト 0 は RP のリ ンク制御レジスタの RCBの設定を示し、 ビッ ト 1 は予約されています。

各ビッ トで、0 は 64 バイ トの RCB を示し、1 は 128 バイ ト を示します。

cfg_dpa_substate_change 出力 2

Dynamic Power Allocation Substrate の変更を示します。

エンドポイン ト モードの場合、 コンフ ィギュレーシ ョ ン書き込みトランザクシ ョ ンによってダイナミ ッ ク パワー アロケーシ ョ ン制御レジスタに書き込みが実行され、 デバイスの DPA 電力ステートが変更される と、コアはこれらのいずれかの出力で 1 サイクル間パルスします。ビッ ト 0 でのパルスは、PF0 の DPA イベン ト を示し、ビッ ト 1 はPF1 に対応します。 これらの出力は、 ルート ポート モードでは有効ではあ り ません。

cfg_obff_enable 出力 2

OBFF (zed Buffer Flush Fill) のイネーブル信号です。

この出力は、デバイス制御 2 レジスタの OBFF Enable フ ィールドの設定を示します。

• 00 : OBFF は無効

• 01 : メ ッセージ シグナルを使用して OBFF が有効化 (バリエーシ ョン A)

• 10 : メ ッセージ シグナルを使用して OBFF が有効化 (バリエーシ ョン B)

• 11 : WAKE# シグナルを使用して OBFF が有効化

cfg_pl_status_change 出力 1

ルート ポート モードのコアで使用される出力で、 次のいずれかのリンク ト レーニング関連のイベン ト を示します。

(a) リ ンク幅や動作スピードが変更された結果と して リ ンク帯域幅が変更され、 その変更はリ ンク パートナーによってではな く、 ローカルで行われ、 リ ンクは無効になっていません。 この割り込み信号は、リ ン ク制御レジス タの Link Bandwidth Management Interrupt Enableビッ トによって有効化されます。 この割り込み信号のステータスは、リ ンク制御レジスタの Link Bandwidth Management Status ビッ ト から読み出すこ とが可能です。

(b) リ ンク幅や動作スピードが変更された結果と して リ ンク帯域幅が自動的に変更され、その変更はリモートのノードによって実行されています。この割り込み信号は、リ ンク制御レジスタの Link AutonomousBandwidth Interrupt Enable ビッ トによって有効化されます。 この割り込み信号のステータスは、 リ ンク ステータス レジスタの Link Autonomous Bandwidth Status ビッ トから読み出すこ とが可能です。

(c) リ モート ノードから リ ンク イコ ラ イゼーシ ョ ン リ クエス ト を受信したため、 ハード ウェアによって リ ンク ステータス 2 レジスタのLink Equalization Request ビッ トがセッ ト されました。 この割り込み信号は、 リ ンク制御 3 レジスタの Link Equalization Interrupt Enable ビットによって有効化されます。 この割り込み信号のステータスは、 リ ンク ステータス 2 レジスタの Link Equalization Request ビッ トから読み出すこ とが可能です。

コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされている場合、 pl_interrupt 出力は非アクティブとな り ます。

cfg_tph_requester_enable 出力 2

この出力のビッ ト 0 は、 Physical Function 0 の TPH リ クエスターの機能構造体にあ る TPH リ ク エス ター制御レジス タの TPH RequesterEnable ビッ ト [8] の設定を示します。 ビッ ト 1 は、 Physical Function 1に対応します。

表 2-13 : コンフ ィギュレーシ ョ ン ステータス インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 31: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 31PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

コンフ ィギュレーシ ョ ン受信メ ッセージ インターフェイス

コンフ ィギュレーシ ョ ン受信メ ッセージ インターフェイスは、 リ ンクからのデコード可能なメ ッセージ、データに関連するパラ メーター、 メ ッセージ タイプをロジッ クに提示します。 表 2-14 では、 コアのコンフ ィギュレーシ ョ ン受信メ ッセージ インターフェイスのポートについて説明します。

cfg_tph_st_mode 出力 6この出力のビッ ト [2:0] は、Physical Function 0 の TPH リ クエスター制御レジスタにある ST Mode Select ビッ ト の設定を示します。 ビッ ト[5:3] は、 PF 1 の同レジスタ フ ィールドの設定を示します。

cfg_vf_tph_requester_enable 出力 6この出力のビッ ト 0 は、 対応する Virtual Function 0 の TPH リ クエスター機能構造体にあ る TPH リ ク エス ター制御レジス タの TPHRequester Enable ビッ ト 8 の設定を示します。

cfg_vf_tph_st_mode 出力 18この出力のビッ ト [2:0] は、 Virtual Function 0 の TPH リ クエスター制御レジスタにある ST Mode Select ビッ ト の設定を示します。 ビッ ト[5:3] は、 VF 1 の同レジスタ フ ィールドの設定を示します。

表 2-13 : コンフ ィギュレーシ ョ ン ステータス インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

表 2-14 : コンフ ィギュレーシ ョ ン受信メ ッセージ インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_msg_received 出力 1

デコード可能なメ ッセージの受信を示します。

リ ンクからデコード可能なメ ッセージを受信する と、 コアはこの出力を 1 サイ クルまたは複数サイクル連続してアサート します。 アサートされるサイクル数は、 メ ッセージ タイプによって異なり ます。コアは、cfg_msg_received が High を保持する 1 サイクルまたは複数サイクルの間に、cfg_msg_data[7:0] 出力のメ ッセージに関するパラ メーターを送信します。 表 3-12 では、 各メ ッセージ タイプにおける cfg_msg_received 信号のアサート サイクル数、 および各サイクルで cfg_msg_data[7:0] に送信されるパラ メーターについて説明しています。

コアは、 このインターフェイスを介して送信する 2 つの連続メ ッセージの間には、 少なく と も 1 サイクルの間隔を挿入します。

この出力は、 AXISTEN_IF_ENABLE_RX_MSG_INTFC 属性が設定されている場合のみ有効になり ます。

コンフ ィギュレーシ ョ ン受信メ ッセージ インターフェイスは、 VivadoIDE でコアをコンフ ィギュレーシ ョ ンする間、 有効になる必要があ ります。

cfg_msg_received_data 出力 8このバスは、 受信したメ ッセージに関連するパラ メーターを送信する場合に使用します。 各サイ クルで伝搬される メ ッセージ タイプ別の情報については、 表 3-12 を参照してください。

cfg_msg_received_type 出力 5

受信したメ ッセージのタイプを示します。

cfg_msg_received が High の場合、 これらの 5 つのビッ トは、 コア

が送信する メ ッセージ タ イプを示します。 メ ッセージ タ イプの一覧

は、 表 3-11 を参照してください。

Page 32: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 32PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

コンフ ィギュレーシ ョ ン送信メ ッセージ インターフェイス

コンフ ィギュレーシ ョ ン送信メ ッセージ インターフェイスは、 ユーザー アプリ ケーシ ョ ンがコアへメ ッセージを送信するために使用します。 ユーザー アプリ ケーシ ョ ンが送信メ ッセージ タイプとデータ情報をコアへ提供し、 コアが Done 信号で応答します。 表 2-15 では、 コアのコンフ ィギュレーシ ョ ン送信メ ッセージ インターフェイスのポートについて説明します。

表 2-15 : コンフ ィギュレーシ ョ ン送信メ ッセージ インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_msg_transmit 入力 1

コンフ ィ ギュレーシ ョ ン送信におけるエンコード された メ ッセージを示します。

この信号は、 cfg_msg_transmit_type と共にアサート され、 エンコード されたメ ッセージ タイプと cfg_msg_transmit_data を提供します。また、応答信号の cfg_msg_transmit_done がアサート されるまで、メ ッセージに関連する任意の情報を提供します。

cfg_msg_transmit_type 入力 3

コンフ ィギュレーシ ョ ン送信におけるエンコード されたメ ッセージ タ イプを示します。

送信される PCI Express メ ッセージのタイプを示します。サポート されるエンコードは次のとおりです。• 000b : LTR (Latency Tolerance Reporting)• 001b : OBFF (Optimized Buffer Flush/Fill)• 010b : SSPL (Set Slot Power Limit)

• 011b : PM PME (パワー マネージメン ト )• 100b ~ 111b : 予約済み

cfg_msg_transmit_data 入力 32

コンフ ィギュレーシ ョ ン送信におけるエンコード されたメ ッセージ データを示します。

特定のメ ッセージ タイプに関連する メ ッセージ データを示します。

• 000b : LTR - cfg_msg_transmit_data[31] < Snoop Latency の要件cfg_msg_transmit_data[28:26] < Snoop Latency の大きさ cfg_msg_transmit_data[25:16] < Snoop Latency の値 cfg_msg_transmit_data[15] < No-Snoop Latency の要件、cfg_msg_transmit_data[12:10] < No-Snoop Latency の大きさ cfg_msg_transmit_data[9:0] < No-Snoop Latency の値

• 001b : OBFF - cfg_msg_transmit_data[3:0] < OBFF コード • 010b : SSPL - cfg_msg_transmit_data[9:0] < {Slot Power Limit の大

きさ、 Slot Power Limit の値}• 011b : PM_PME - cfg_msg_transmit_data[1:0] < PF1、 PF0。cfg_msg_transmit_data[9:4] < VF5、 VF4、 VF3、 VF2、 VF1、 VF0(複数の PF または VF が同時に PM_PME 信号をパルス可能)

• 100b - 111b : 予約済み

cfg_msg_transmit_done 出力 1

コンフ ィ ギュレーシ ョ ン送信におけるエンコード された メ ッセージの完了を示します。

cfg_mg_transmit のアサートに応答し、 リ クエス ト完了後に 1 サイクル間アサート されます。

Page 33: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 33PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

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

表 2-16 では、 コアのコンフ ィギュレーシ ョ ン フロー制御インターフェイスのポートについて説明します。

表 2-16 : コンフ ィギュレーシ ョ ン フロー制御インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_fc_ph 出力 8

ポステッ ド ヘッダー フロー制御クレジッ ト を示します。

この出力は、 ポステッ ド ヘッダー フロー制御クレジッ トの数を示します。 この多重化された出力を使用して、 コアによって維持されているポステッ ド ヘッダー クレジッ ト に関連する さまざまなフロー制御パラ メーターおよび変数を引き出すことができます。 このコアに使用するフロー制御情報は、 cfg_fc_sel[2:0] 入力で選択されます。

cfg_fc_pd 出力 12

ポステッ ド データ フロー制御クレジッ ト を示します。

この出力は、 ポステッ ド データ フロー制御クレジッ トの数を示します。 この多重化された出力を使用して、コアによって維持されているポステッ ド データ クレジット に関連する さまざまなフロー制御パラ メーターおよび変数を引き出すこ とができます。 このコアに使用するフロー制御情報は、 cfg_fc_sel[2:0] 入力で選択されます。

cfg_fc_nph 出力 8

ノンポステッ ド ヘッダー フロー制御クレジッ ト を示します。

この出力は、 ノンポステッ ド ヘッダー フロー制御クレジッ トの数を示します。 この多重化された出力を使用して、コアによって維持されている ノンポステッ ド ヘッダー クレジッ トに関連する さまざまなフロー制御パラ メーターおよび変数を引き出すこ とができます。 このコアに使用するフロー制御情報は、 cfg_fc_sel[2:0]入力で選択されます。

cfg_fc_npd 出力 12

ノンポステッ ド データ フロー制御クレジッ ト を示します。

この出力は、 ノンポステッ ド データ フロー制御クレジッ トの数を示します。 この多重化された出力を使用して、コアによって維持されている ノンポステッ ド データクレジッ ト に関連する さまざまなフロー制御パラ メーターおよび変数を引き出すこ とができます。 このコアに使用するフロー制御情報は、 cfg_fc_sel[2:0] 入力で選択されます。

cfg_fc_cplh 出力 8

コンプ リーシ ョ ン ヘッダー フロー制御クレジッ ト を示します。

この出力は、 コンプリーシ ョ ン ヘッダー フロー制御クレジッ ト数を示します。 この多重化された出力を使用して、 コアによって維持されているコンプリーシ ョ ン ヘッダー クレジッ トに関連するさまざまなフロー制御パラ メーターおよび変数を引き出すこ とができます。 このコアに使用するフロー制御情報は、 cfg_fc_sel[2:0] 入力で選択されます。

cfg_fc_cpld 出力 12

コンプ リーシ ョ ン データ フロー制御クレジッ ト を示します。

この出力は、 コンプリーシ ョ ン データ フロー制御クレジッ トの数を示します。 この多重化された出力を使用して、 コアによって維持されているコンプリーシ ョ ン データ クレジッ トに関連するさまざまなフロー制御パラ メーターおよび変数を引き出すこ とができます。 このコアに使用するフロー制御情報は、 cfg_fc_sel[2:0] 入力で選択されます。

Page 34: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 34PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

各ファンクシ ョ ン ステータス インターフェイス

ファンクシ ョ ン ステータス インターフェイスは、 選択したファンクシ ョ ンを介してユーザー アプリ ケーシ ョ ンからのリ クエス ト を受けて、 ステータス データを提供します。表 2-17 および表 2-18 では、 コアのファンクシ ョ ン ステータス インターフェイスのポートについて説明します。

cfg_fc_sel 入力 3

フロー制御情報を選択します。

これらの入力でフロー制御のタイプを選択して、 コアの cfg_fc_* 出力に示します。 これらの入力の設定のためにアクセス可能なさまざまなフロー制御パラ メーターおよび変数は、 次のとおりです。

• 000 : リ ンク パートナーが現在利用できる受信クレジッ ト • 001 : 受信クレジッ トの制限

• 010 : 使用した受信クレジッ ト

• 011 : 受信バッファー内の使用可能な空間

• 100 : 使用可能な送信クレジッ ト • 101 : 受信クレジッ トの制限 • 110 : 使用した送信クレジッ ト

• 111 : 予約済み

この値は、 受信 FIFO の未使用クレジッ ト を示します。 この値は、 初に示したクレジッ ト 制限値に対して、 受信 FIFO がどの程度フル状態 (¼ フル、 ½ フル、¾ フル、 フル) であるかを示すための大まかな指標と してのみ使用するこ とを推奨します。

注記 : 使用可能な送信クレジッ トの無限クレジッ ト (cfg_fc_sel == 3'b100) は、ヘッダー クレジッ ト とデータ クレジッ トにそれぞれ 8'h80、12'h800 と して示されます。 その他すべての cfg_fc_sel 選択では、 無限クレジッ トはヘッダー クレジッ ト とデータ クレジッ トにそれぞれ 8'h00、 12'h000 と して示されます。

表 2-16 : コンフ ィギュレーシ ョ ン フロー制御インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

表 2-17 : ファンクシ ョ ン ステータス インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_per_func_status_control 入力 3

コンフ ィギュレーシ ョ ンの各ファンクシ ョ ン制御を示します。

複数ファンクシ ョ ンの出力 cfg_per_func_status_data に提供される情報を制御し ます。 サポー ト されるエンコードは、 000b、001b、 010b、 011b、 100b、 および 101b です。 その他すべてのエンコードは予約されています。

cfg_per_func_status_data 出力 16

コンフ ィギュレーシ ョ ンの各ファンクシ ョ ン ステータス データを示します。

選択したファンクシ ョ ンに対して 16 ビッ トのステータス出力を提供します。cfg_per_func_status_data および cfg_per_function_number の値に基づいて情報が提供されます。

Page 35: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 35PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

表 2-18 : Function Status インターフェイスのポートの説明

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data

[ビッ ト /スライス]ステータス出力 幅 説明

0 0cfg_command_io_enable

1

コンフ ィギュレーシ ョ ン コマンド - I/O Space Enable : Command[0]

エンドポイン ト : 1 の場合、デバイスは I/O 空間へのアクセス リ クエス ト を受けるこ とができます。それ以外の場合、 コアはこれらをフ ィルタ リ ングし、 UR (サポート されないリ クエス ト ) と して処理します。

ルート /スイ ッチ : コアは、 この設定に基づいて動作するわけではあ り ません。 0 の場合、 ロジッ クは TLP ダウンス ト リームを生成できません。

0 1cfg_command_mem_enable

1

コンフ ィギュレーシ ョ ン コマンド - Memory Space Enable : Command[1]

エンドポイン ト : 1 の場合、デバイスはメモリ空間へのアクセス リ クエス ト を受けるこ とができます。 それ以外の場合、 コアはこれらをフ ィルタ リ ングし、 UR (サポートされないリ クエス ト ) と して処理します。

ルート /スイ ッチ : コアは、 この設定に基づいて動作するわけではあ り ません。 0 の場合、 ロジッ クは TLP ダウンス ト リームを生成できません。

0 2cfg_command_bus_master_enable

1

コンフ ィギュレーシ ョ ン コマンド - Bus Master Enable : Command[2]

コアは、 この設定に基づいて動作するわけではあ り ません。 ロジッ クはこれに対応する必要があ り ます。

エンドポイン ト : アサート されている間、 ロジッ クはメモ リ または I/O リ クエス ト (MSI/X 割り込みなど) を発行できます。 アサート されていない場合、 これらのリ クエス ト を発行してはいけません。

ルート /スイ ッチ : アサート されている間、受信したメモリ または I/O リ クエス トはアップス ト リームへ転送されます。 アサート されていない場合、 これらは UR (サポート されない リ クエス ト ) と して処理され、 ノンポステッド リ クエス トの場合には UR コンプ リーシ ョ ン ステータスを示すコンプリーシ ョ ンが返されます。

0 3cfg_command_interrupt_disable

1

コンフ ィギュレーシ ョ ン コマンド - Interrupt Disable :Command[10]

アサート された場合、コアは INTx 割り込みをアサートできません。

0 4cfg_command_serr_en

1

コンフ ィギュレーシ ョ ン コマンド - SERR Enable : Command[8]

アサート されている と、 このビッ トによって非致命的/致命的エラーのレポート機能が有効になり ます。 このビットで、あるいはデバイス制御レジスタの PCI Express 特定ビッ トで有効化されている場合のみ、 エラーがレポートされる こ とに留意して ください。 また、 ルー ト コンプレッ クスやスイ ッチの場合、 このビッ トは、 セカンダ リインターフェイスから転送された ERR_NONFATAL および ERR_FATAL エラー メ ッセージのプライマ リ インターフェイスによる転送を制御します。

Page 36: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 36PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

0 5 cfg_bridge_serr_en 1

コンフ ィギュレーシ ョ ン ブリ ッジ制御 - SERR Enable : Bridge Ctrl[1]

アサート された場合、 このビッ トによって修正可能なエラー、 非致命的エラー、 および致命的エラー (ユーザーが強制する必要がある ) の転送が可能になり ます。

0 6cfg_aer_ecrc_check_en

1

コンフ ィギュレーシ ョ ン AER - ECRC Check Enable : AER_Cap_and_Ctl[8]

アサー ト された場合、 このビ ッ ト は、 ホス ト によってECRC チェッ ク機能が有効化されたこ とを示します。

0 7cfg_aer_ecrc_gen_en

1

コンフ ィギュレーシ ョ ン AER - ECRC Generation Enable : AER_Cap_and_Ctl[6]

アサー ト された場合、 このビ ッ ト は、 ホス ト によってECRC 生成機能が有効化されたこ とを示します。

0 15:8 0 8 予約済み

1 0cfg_dev_status_corr_err_detected

1

コンフ ィギュレーシ ョ ン デバイス ステータス - Correctable Error Detected : Device_Status[0]

検出された修正可能なエラーのステータスを示します。このレジスタには、 デバイス制御レジスタにあるエラーレポート機能の有効/無効とは関係なく、エラーが記録されます。

1 1cfg_dev_status_non_fatal_err_detected

1

コンフ ィギュレーシ ョ ン デバイス ステータス - Non-Fatal Error Detected : Device_Status[1]

検出された非致命的エラーのステータスを示します。 このレジスタには、デバイス制御レジスタにあるエラー レポート機能の有効/無効とは関係なく、エラーが記録されます。

1 2cfg_dev_status_fatal_err_detected

1

コンフ ィギュレーシ ョ ン デバイス ステータス - Fatal Error Detected : Device_Status[2]

検出された致命的エラーのステータスを示します。 このレジスタには、 デバイス制御レジスタにあるエラー レポート機能の有効/無効とは関係なく、エラーが記録されます。

1 3cfg_dev_status_ur_detected

1

コンフ ィギュレーシ ョ ン デバイス ステータス - Unsupported Request Detected : Device_Status[3]

コアが UR (サポート されないリ クエス ト ) を受信したことを示します。 このレジスタには、 デバイス制御レジスタにあるエラー レポー ト 機能の有効/無効とは関係なく、 エラーが記録されます。

1 4cfg_dev_control_corr_err_reporting_en

1

コンフ ィギュレーシ ョ ン デバイス制御 - Correctable ErrorReporting Enable : Device_Ctrl[0]

このビッ トは、 ほかのビッ ト と組み合わせて使用することによって、ERR_COR メ ッセージの送信を制御します。ルート ポートの場合、 修正可能なエラーのレポートは、ルート内部で行われ、 外部に ERR_COR メ ッセージは生成されません。

表 2-18 : Function Status インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data

[ビッ ト /スライス]ステータス出力 幅 説明

Page 37: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 37PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

1 5cfg_dev_control_non_fatal_reporting_en

1

コンフ ィギュレーシ ョ ン デバイス制御 - Non-Fatal Error Reporting Enable : Device_Ctrl[1]

このビッ トは、 ほかのビッ ト と組み合わせて使用して、ERR_NONFATAL メ ッセージの送信を制御します。 ルート ポートの場合、修正可能なエラーのレポートは、ルート内部で行われ、外部に ERR_NONFATAL メ ッセージは生成されません。

1 6cfg_dev_control_fatal_err_reporting_en

1

コンフ ィギュレーシ ョ ン デバイス制御 - Fatal Error Reporting Enable : Device_Ctrl[2]

このビッ トは、 ほかのビッ ト と組み合わせて使用して、ERR_FATAL メ ッセージの送信を制御します。 ルート ポートの場合、 修正可能なエラーのレポートは、 ルート内部で行われ、 外部に ERR_FATAL メ ッセージは生成されません。

1 7cfg_dev_control_ur_err_reporting_en

1

コンフ ィギュレーシ ョ ン デバイス制御 - UR Reporting Enable : Device_Ctrl[3]

このビッ トは、 ほかのビッ ト と組み合わせて使用して、エラー メ ッセージを送信するこ とによって、 UR (サポート されないリ クエス ト ) のシグナルを制御します。

1 10:8cfg_dev_control_max_payload

3

コンフ ィギュレーシ ョ ン デバイス制御 - Max_Payload_Size : Device_Ctrl[7:5]

このフ ィールドでは、 大の TLP ペイロード サイズを設定します。 レシーバーと して、 ロジッ クは設定値と同じ規模の TLP に対応する必要があ り ます。 ロジッ クは、ト ランス ミ ッ ターと して、設定値を超える TLP を生成できません。

• 000b = 128 バイ トの 大ペイロード サイズ

• 001b = 256 バイ トの 大ペイロード サイズ

• 010b = 512 バイ トの 大ペイロード サイズ • 011b = 1024 バイ トの 大ペイロード サイズ • 100b = 2048 バイ トの 大ペイロード サイズ • 101b = 4096 バイ トの 大ペイロード サイズ

1 11cfg_dev_control_enable_ro

1

コンフ ィギュレーシ ョ ン デバイス制御 - Enable Relaxed Ordering : Device_Ctrl[4]

アサート された場合、 ロジッ クは厳しい書き込み順序が必要ない ト ラ ンザク シ ョ ンの属性フ ィ ールド にこのRelaxed Ordering (緩和型順序付け) ビッ ト をセッ ト できます。

1 12cfg_dev_control_ext_tag_en

1

コンフ ィギュレーシ ョ ン デバイス制御 - Tag Field Enable :Device_Ctrl[8]

アサート された場合、 ロジッ クはリ クエスターと して 8ビッ トのタグ フ ィールドを使用できます。ディアサートされる と、ロジッ クは 5 ビッ トのタグ フ ィールドに制限されます。 コアは、送信する リ クエス ト TLP と受信するコンプ リーシ ョ ンのいずれにおいても、 使用する タグビッ ト数を強制しません。

表 2-18 : Function Status インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data

[ビッ ト /スライス]ステータス出力 幅 説明

Page 38: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 38PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

1 13cfg_dev_control_no_snoop_en

1

コンフ ィギュレーシ ョ ン デバイス制御 - Enable No Snoop : Device_Ctrl[11]

アサー ト される と、 ロジッ クは、 ハード ウェア キャ ッシュ コ ヒーレンシを必要と しない場合に、 自身が開始する TLP の No Snoop ビッ ト をセッ トできます。

1 15:14 0 2 予約済み

2 2:0cfg_dev_control_max_read_req

3

コンフ ィギュレーシ ョ ン デバイス制御 - Max_Read_Request_Size : Device_Ctrl[14:12]

このフ ィールドでは、 リ クエスターと して機能する ロジッ クの 大読み出し リ クエス ト サイズを設定します。ロジッ クは、 設定値を超えるサイズの読み出し リ クエスト を生成できません。

• 000b = 128 バイ トの 大読み出し リ クエス ト サイズ

• 001b = 256 バイ トの 大読み出し リ クエス ト サイズ

• 010b = 512 バイ トの 大読み出し リ クエス ト サイズ

• 011b = 1024 バイ トの 大読み出し リ クエス ト サイズ

• 100b = 2048 バイ トの 大読み出し リ クエス ト サイズ

• 101b = 4096 バイ トの 大読み出し リ クエス ト サイズ

2 3cfg_link_status_link_training

1

コンフ ィギュレーシ ョ ン リ ンク ステータス - Link Training : Link_Status[11]

物理層 LTSSM がコンフ ィギュレーシ ョ ンまたはリ カバリ ステートであるこ とを示しているか、あるいは RetrainLink ビッ トに 1b が書き込まれているが、 まだ リ ンク トレーニングが開始されていない状態である こ と を示します。 LTSSM がコンフ ィ ギュレーシ ョ ン/ リ カバ リ ステートから別のステートへ遷移する と、 コアはこのビット をク リ アします。

2 6:4cfg_link_status_current_speed

3

コンフ ィギュレーシ ョ ン リ ンク ステータス - Current Link Speed : Link_Status[1:0]

このフ ィールドでは、 指定した PCI Express リ ンクのネゴシエート されたスピードを示します。

• 001b = 2.5GT/s PCI Express リ ンク

• 010b = 5.0GT/s PCI Express リ ンク

• 100b = 8.0GT/s PCI Express リ ンク

2 10:7cfg_link_status_negotiated_width

4

コンフ ィギュレーシ ョ ン リ ンク ステータス - Negotiated Link Width : Link_Status[7:4]

このフ ィールドは、 指定した PCI Express リ ンクのネゴシエート された幅を示します ( 大 x8 までのリ ンク幅のみ表示)。• 0001b = x1• 0010b = x2• 0100b = x4• 1000b = x8

表 2-18 : Function Status インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data

[ビッ ト /スライス]ステータス出力 幅 説明

Page 39: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 39PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

2 11cfg_link_status_bandwidth_status

1

コンフ ィギュレーシ ョ ン リ ンク ステータス - Link Bandwidth Management Status : Link_Status[14]

ポートが DL_Down ステータスに遷移せずに、 次のいずれかが生じた事を示します。

• 1b を Retrain Link ビッ トへ書き込んだ後にリ ンク リ トレーニングが完了しました。

注記 : このビッ トは、 Retrain Link ビッ トへ 1b を書き込んだ後にセッ ト されます。 また、 何らかの理由で リ ン クが リ ト レーニングを実行中の場合も含みます。

• 信頼性の高くないリ ンク動作を修正するために、 ハード ウェアが LTSSM タイムアウ ト または高いレベルのプロセスを用いて、 リ ンク スピードまたはリ ンク幅を変更しました。 自発的な変更ではなく、 下位コンポーネン トによってスピードまたは幅が変更されたこ とを物理層がレポートするかど うかをこのビッ トで設定します。

2 12cfg_link_status_auto_bandwidth_status

1

コンフ ィギュレーシ ョ ン リ ンク ステータス - Link Autonomous Bandwidth Status : Link_Status[15]

信頼性の高くないリ ンク動作を修正する以外の理由で、ポートが DL_Down ステータスに遷移せずに、 コアがリンク スピード または リ ンク幅を独自に変更したこ と を示します。 自発的な変更で、 下位コンポーネン トによってス ピード または幅が変更された こ と を物理層がレポートするかど うかをこのビッ トで設定します。

2 15:13 0 3 予約済み

3 1:0cfg_link_control_aspm_control

2

コンフ ィ ギュ レーシ ョ ン リ ン ク制御 - ASPM Control :Link_Ctrl[1:0]

サポート される ASPM のレベルを示します。詳細は次のとおりです。

• 00b = 無効

• 01b = L0s への遷移が有効

• 10b = L1 への遷移が有効

• 11b = L0s および L1 への遷移が有効

3 2cfg_link_control_rcb

1

コンフ ィギュレーシ ョ ン リ ンク制御 - RCB : Link_Ctrl[3]読み出しコンプリーシ ョ ン境界の値を示します。• 0=64B• 1=128B

3 3cfg_link_control_link_disable

1

コ ンフ ィ ギ ュ レーシ ョ ン リ ン ク制御 - Link Disable :Link_Ctrl[4]

アサート された場合、 リ ンクが無効である こ と を示し、LTSSM を無効ステートに遷移させます。

表 2-18 : Function Status インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data

[ビッ ト /スライス]ステータス出力 幅 説明

Page 40: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 40PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

3 4cfg_link_control_common_clock

1

コンフ ィギュレーシ ョ ン リ ンク制御 - Common Clock Configuration : Link_Ctrl[6]

アサート された場合、 このコンポーネン ト と この リ ンクの反対側にあるコンポーネン トが、 分配された共通の基準ク ロ ッ ク を使用して動作している こ と を示し ます。ディアサート された場合、 これらは非同期の基準クロ ックで動作しているこ とを示します。

3 5cfg_link_control_extended_sync

1

コンフ ィ ギュレーシ ョ ン リ ン ク制御 - Extended Synch :Link_Ctrl[7]

アサート される と、 L0s ステートから遷移する と き、 およびリ カバリ ステートにいる と きにさ らなる順序セットの転送を強制的に実行します。

3 6cfg_link_control_clock_pm_en

1

コンフ ィギュレーシ ョ ン リ ンク制御 - Enable Clock Power Management : Link_Ctrl[8]

CLKREQ# 機能をサポートするアップス ト リーム ポートでは、 次のよ うに示します。

• 0b = ク ロ ッ クのパワー マネージメン トは無効

• 1b = デバイスは CLKREQ# を使用できる

この設定に基づいたコア側のアクシ ョ ンはあ り ませんが、外部ロジッ クがこの機能を実行する必要があり ます。

3 7cfg_link_control_hw_auto_width_dis

1

コンフ ィギュレーシ ョ ン リ ンク制御 - Hardware Autonomous Width Disable : Link_Ctrl[9]

アサート された場合、 コアはリ ンク幅を減少させて信頼性の高くない リ ンク動作を修正する目的以外の理由で、リ ンク幅を変更できません。

3 8cfg_link_control_bandwidth_int_en

1

コンフ ィギュレーシ ョ ン リ ンク制御 - Link Bandwidth Management Interrupt Enable : Link_Ctrl[10]

アサー ト される と、 Link Bandwidth Management Statusビ ッ ト がセッ ト されたこ と を示す割り込み信号の生成が可能にな り ます。 この設定に基づいたコア側のアクシ ョ ンはあ り ませんが、 ロジッ クが割り込みを生成する必要があ り ます

3 9cfg_link_control_auto_bandwidth_int_en

1

コンフ ィギュレーシ ョ ン リ ンク制御 - Link Autonomous Bandwidth Interrupt Enable : Link_Ctrl[11]

アサー ト される と、 Link Autonomous Bandwidth Statusビ ッ ト がセッ ト されたこ と を示すために割り込み信号の生成を有効にします。 この設定に基づいたコア側のアクシ ョ ンはあ り ませんが、 ロジッ クが割り込みを生成する必要があ り ます

3 10cfg_tph_requester_enable

1

TPH Requester Enable : ファンクシ ョ ンの TPH リ クエスター機能構造にある THP リ クエスター制御レジスタのビッ ト [8] です。

これらのビッ トは、エンドポイン ト モードの場合のみ有効であ り、 ソフ ト ウェアによって、 デバイスが関連するファンクシ ョ ンから TPH ヒ ン ト を含むリ クエス ト を生成できる状態になったこ とを示します。

表 2-18 : Function Status インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data

[ビッ ト /スライス]ステータス出力 幅 説明

Page 41: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 41PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

3 13:11cfg_tph_steering_tag_mode

3

TPH ステア リ ング タグ モードです。

TPH リ クエスター制御レジスタの ST Mode Select ビッ トの設定を示します。 これらのビッ トは、 エンドポイン トモードの場合のみ有効であ り、 対応するファンクシ ョ ンに従って TPH ヒ ン トの生成に有効なモードを示します。

3 15:14 0 2 予約済み

4 3:0cfg_dev_control2_cpl_timeout_val

4

コンフ ィギュレーシ ョ ン デバイス制御 2 - Completion Timeout Value : Device_Ctrl2[3:0]

コンプ リーシ ョ ン タ イムアウ ト と して リ クエス ト がコンプリーシ ョ ンを保留する時間の範囲を示します。 コアは、 この設定に基づいて動作するわけではあ り ません。

• 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

4 4cfg_dev_control2_cpl_timeout_dis

1

コンフ ィギュレーシ ョ ン デバイス制御 2 - Completion Timeout Disable : Device_Ctrl2[4]

コンプ リーシ ョ ン タ イムアウ ト のカウンターを無効にします。

4 5cfg_dev_control2_atomic_requester_en

1

コンフ ィギュレーシ ョ ン デバイス制御 2 - Atomic Requester Enable : Device_Ctrl2[6]

エン ドポイン トおよびルート ポー ト にのみ適用可能であ り、 その他のファン クシ ョ ン タ イプの場合は 0b にハード接続する必要があ り ます。コマンド レジスタのこのビッ ト と Bus Master Enable ビッ トが両方と もセッ ト された場合のみ、 ファンクシ ョ ンは AtomicOp Request (アト ミ ッ ク操作リ クエス ト ) を開始できます。 エンドポイン ト またはルート ポート が AtomicOp Request をサポート している場合、 このビッ トは RW になる必要があ り ます。 サポート していない場合は 0b にハード接続してもかまいません。 このビッ トは、 機能ビッ ト と して使用しません。 エン ド ポ イ ン ト またはルー ト ポー ト でAtomicOp Request 機能がサポー ト されていない場合であっても、 このビッ ト を RW にできます。

このビッ トのデフォルト値は 0b です。 32nm

表 2-18 : Function Status インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data

[ビッ ト /スライス]ステータス出力 幅 説明

Page 42: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 42PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

4 6cfg_dev_control2_ido_req_en

1

コンフ ィギュレーシ ョ ン デバイス制御 2 - IDO Request Enable : Device_Ctrl2[8]

このビッ トがセッ ト される と、 ファンクシ ョ ンは、 開始する リ ク エス ト の ID-Based Ordering (IDO) ビ ッ ト(Attribute[2]) を設定できます (セクシ ョ ン 2.2.6.3 およびセクシ ョ ン 2.4 を参照)。エンドポイン ト (RC インテグレイテッ ド エン ドポイン ト を含む) およびルート ポー トは、 この機能をインプリ メン トできます。 リ クエス トにIDO 属性を設定したこ とがないファンクシ ョ ンは、 このビ ッ ト を 0b にハード接続でき ます。 このビ ッ ト のデフォルト値は 0b です。 32nm

4 7cfg_dev_control2_ido_cpl_en

1

コンフ ィギュレーシ ョ ン デバイス制御 2 - IDO Completion Enable : Device_Ctrl2[9]

このビッ トがセッ ト される と、 ファンクシ ョ ンは、 返すコ ンプ リ ーシ ョ ンの ID-Based Ordering (IDO) ビ ッ ト(Attribute[2]) を設定できます (セクシ ョ ン 2.2.6.3 およびセクシ ョ ン 2.4 を参照)。エンドポイン ト (RC インテグレイテッ ド エン ドポイン ト を含む) およびルート ポー トは、 この機能をインプリ メン トできます。 リ クエス トにIDO 属性を設定したこ とがないファンクシ ョ ンは、 このビ ッ ト を 0b にハード接続でき ます。 このビ ッ ト のデフォルト値は 0b です。 32nm

4 8cfg_dev_control2_ltr_en

1

コンフ ィギュレーシ ョ ン デバイス制御 2 - LTR Mechanism Enable : Device_Ctrl2[10]

このビッ トがセッ ト される と、 ファンクシ ョ ンは、 返すコ ンプ リ ーシ ョ ンの ID-Based Ordering (IDO) ビ ッ ト(Attribute[2]) を設定できます (セクシ ョ ン 2.2.6.3 およびセクシ ョ ン 2.4 を参照)。エンドポイン ト (RC インテグレイテッ ド エン ドポイン ト を含む) およびルート ポー トは、 この機能をインプリ メン トできます。 リ クエス トにIDO 属性を設定したこ とがないファンクシ ョ ンは、 このビ ッ ト を 0b にハード接続でき ます。 このビ ッ ト のデフォルト値は 0b です。 32nm

4 13:9 cfg_dpa_substate 5Dynamic Power Allocation Substate : DPA 制御レジスタのDynamic Power Allocation Substate フ ィールドの設定を示します。

4 15:14 0 1 予約済み

5 0cfg_root_control_syserr_corr_err_en

1

コンフ ィギュレーシ ョ ン ルート制御 - System Error on Correctable Error Enable : Root_Control[0]

このビッ トは、 レポート された修正可能なエラーに対して、 ロジッ クがシステム エラーを生成できるよ うにします。

5 1cfg_root_control_syserr_non_fatal_err_en

1

コンフ ィギュレーシ ョ ン ルート制御 - System Error on Non-Fatal Error Enable : Root_Control[1]

このビッ トは、 レポート された非致命的エラーに対して、 ロジッ クがシステム エラーを生成できるよ うにします。

表 2-18 : Function Status インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data

[ビッ ト /スライス]ステータス出力 幅 説明

Page 43: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 43PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

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

コンフ ィギュレーシ ョ ン制御インターフェイスは、ユーザー アプリ ケーシ ョ ンと コア間でさまざまなデータ通信を可能にします。ユーザー アプリ ケーシ ョ ンは、このインターフェイスを使用してコンフ ィギュレーシ ョ ン空間を設定します (修正可能/修正不可能なエラーの有無。 デバイスのシ リ アル番号の設定。 ダウンス ト リーム バス、 デバイス、ファンクシ ョ ン番号の設定。 ファンクシ ョ ンごとのコンフ ィギュレーシ ョ ン情報の受信)。 また、 このインターフェイスは、電力ステートが変更されたり、ファンクシ ョ ン レベルのリセッ トが生じた場合に、ユーザー アプリ ケーシ ョンと コア間のハンドシェイ クを実行します。

表 2-19 では、 コアのコンフ ィギュレーシ ョ ン制御インターフェイスのポートについて説明します。

5 2cfg_root_control_syserr_fatal_err_en

1

コンフ ィギュレーシ ョ ン ルート制御 - System Error on Fatal Error Enable : Root_Control[2]

このビッ トは、 レポート された致命的エラーに対して、ロジッ クがシステム エラーを生成できるよ うにします。

5 3cfg_root_control_pme_int_en

1

コンフ ィギュレーシ ョ ン ルート制御 - PME Interrupt Enable : Root_Control[3]

このビッ トは、 受信した PME メ ッセージに対して、 ロジッ クが割り込みを生成できるよ うにします。

5 4cfg_aer_rooterr_corr_err_reporting_en

1

コンフ ィギュレーシ ョ ン AER - Correctable Error Reporting Enable : AER_Root_Error_Command[0]

このビッ トは、 レポート された修正可能なエラーに対して、 ロジッ クが割り込みを生成できるよ うにします。

5 5cfg_aer_rooterr_non_fatal_err_reporting_en

1

コンフ ィギュレーシ ョ ン AER - Non Fatal Error Reporting Enable : AER_Root_Error_Command[1]

このビ ッ ト は、 レポー ト された非致命的エラーに対して、 ロジッ クが割り込みを生成できるよ うにします。

5 6cfg_aer_rooterr_fatal_err_reporting_en

1

コンフ ィギュレーシ ョ ン AER - Fatal Error Reporting Enable : AER_Root_Error_Command[2]

このビッ トは、 レポート された致命的エラーに対して、ロジッ クが割り込みを生成できるよ うにします。

5 7cfg_aer_rooterr_corr_err_received

1コンフ ィギュレーシ ョ ン AER - Correctable Error Messages Received : AER_Root_Error_Status[0]

ERR_COR メ ッセージが受信されたこ とを示します。

5 8cfg_aer_rooterr_non_fatal_err_received

1コンフ ィギュレーシ ョ ン AER - Non-Fatal Error Messages Received : AER_Root_Error_Status[5]

ERR_NFE メ ッセージが受信されたこ とを示します。

5 9cfg_aer_rooterr_fatal_err_received

1コンフ ィギュレーシ ョ ン AER - Fatal Error Messages Received : AER_Root_Error_Status[6]

ERR_FATAL メ ッセージが受信されたこ とを示します。

5 15:10 0 6 予約済み

表 2-18 : Function Status インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data

[ビッ ト /スライス]ステータス出力 幅 説明

Page 44: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 44PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

表 2-19 : コンフ ィギュレーシ ョ ン制御インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_hot_reset_in 入力 1コンフ ィギュレーシ ョ ンのホッ ト リセッ ト入力です。

RP モードの場合、 High にアサート される と、 LTSSM がホッ トリセッ ト ステートへ遷移します。

cfg_hot_reset_out 出力 1コンフ ィギュレーシ ョ ンのホッ ト リセッ ト出力です。

EP モードの場合、 High にアサート される と、 EP がホッ ト リセッ ト ステートへ遷移したこ とを示します。

cfg_config_space_enable 入力 1

コンフ ィギュレーシ ョ ン空間イネーブルを示します。

エン ドポイン ト モードでこの入力が 0 の場合、 コンフ ィギュレーシ ョ ン リ クエス トに対してコアは CRS コンプリーシ ョ ンを生成します。属性の変更のため、DRP を介してコア コンフ ィギュレーシ ョ ン レジスタの値がロード される場合、このポートはアサート された状態を保持する必要があ り ます。 これによって、 すべてのレジスタの値がロード されるまで、 コアはコンフ ィギュレーシ ョ ン リ クエス トに対して応答しな くな り ます。コンフ ィ ギュレーシ ョ ン空間のエニュ メ レーシ ョ ン前にコンフ ィギュレーシ ョ ン レジスタのパワーオン デフォルト値を変更する必要がない場合、 この入力を High に接続します。 ルート ポート モードの場合、 この入力は適用されません。

cfg_per_function_update_done 出力 1

コンフ ィ ギュレーシ ョ ンの各ファンクシ ョ ンのアップデート完了を示します。

cfg_per_function_output_request のアサートに応答し、 リ クエス ト完了後に 1 サイクル間アサート されます。

cfg_per_function_number 入力 3

ファンクシ ョ ンごとのターゲッ ト ファンクシ ョ ン番号を示します。

ユーザーがファンクシ ョ ン番号 (0 ~ 7) を選択します。0 ~ 1 は PF0 ~ 1 に対応し、 2 ~ 7 は VF0 ~ 5 に対応します。cfg_per_function_output_request をアサート して、 指定ファンクシ ョ ンの各出力を取得します。

cfg_per_function_output_request 入力 1

コンフ ィ ギュレーシ ョ ンのファンクシ ョ ンご との出力リ クエス ト を示します。

cfg_per_function_number で指定されたフ ァン クシ ョ ン番号の値でこのポートがアサート される と、 コアは各ファンクシ ョ ンのコンフ ィギュレーシ ョ ン出力ピンに情報の提供を開始し、 完了する と cfg_update_done をアサート します。

cfg_dsn 入力 64

コンフ ィギュレーシ ョ ンのデバイス シ リアル番号を示します。

PF0 のデバイス シ リアル番号機能レジスタに反映される値を示します。 ビッ ト [31:0] は、 初の (下位) Dword (機能レジスタのバイ ト オフセッ ト 0x4h)、 ビ ッ ト [63:32] は 2 つ目の (上位)Dword (機能レジスタのバイ ト オフセッ ト 0x8h) に転送されます。 この値が静的に割り当てられない場合、 ユーザー アプ リケーシ ョ ンは安定した後に user_cfg_input_update をパルスする必要があり ます。

cfg_ds_bus_number 入力 8

コンフ ィギュレーシ ョ ンのダウンス ト リーム バス番号を示します。

• ダウンス ト リーム ポート : ダウンス ト リーム ポートの リ クエスター ID (RID) のバス番号部分を提供します。 これは、コア内で生成される UR コンプリーシ ョ ンやパワー マネージメン ト メ ッセージなどの TLP で使用されます。 TRN インターフェイスに現れる TLP には影響を与えません。

• アップス ト リーム ポート : 役割なし

Page 45: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 45PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_ds_device_number 入力 5

コンフ ィギュレーシ ョ ンのダウンス ト リーム デバイス番号を示します。

• ダウンス ト リーム ポート : ダウンス ト リーム ポートの RID のデバイス番号部分を提供します。 これは、 コア内で生成される UR コンプリーシ ョ ンやパワー マネージメン ト メ ッセージなどの TLP で使用されます。 TRN インターフェイスに現れる TLP には影響を与えません。

• アップス ト リーム ポート : 役割なし

cfg_ds_function_number 入力 3

コンフ ィギュレーシ ョ ンのダウンス ト リーム ファンクシ ョ ン番号を示します。

• ダウンス ト リーム ポート : ダウンス ト リーム ポートの RID のファンクシ ョ ン番号部分を提供します。 これは、 コア内で生成される UR コンプリーシ ョ ンやパワー マネージメント メ ッセージなどの TLP で使用されます。 TRN インターフェイスに現れる TLP には影響を与えません。

• アップス ト リーム ポート : 役割なし

cfg_power_state_change_ack 入力 1

コンフ ィギュレーシ ョ ンの電力ステート応答を示します。

コンフ ィ ギュレーシ ョ ン書き込みリ クエス ト を受けて低電力ステートへの遷移の準備が整っている場合、cfg_power_state_change_interrupt のアサー ト に応答して、 コアに対してこの入力を 1 サイ クル間アサートする必要があ り ます。 コンフ ィギュレーシ ョ ン書き込みト ランザクシ ョンのコンプリーシ ョ ン応答を遅延させる必要がない場合、ユーザー アプリ ケーシ ョ ンはこの入力を永久的に High にホールドして、 電力ステート を変更できます。

cfg_power_state_change_interrupt 出力 1

電力ステート変更の割り込みを示します。

パワー マネージメン ト制御レジスタへの書き込みによって、Physical Function または Virtual Function の電力ステートが D1 またはD3 ステートへ変更される場合、コアはこの出力をアサート します。ユーザー アプ リ ケーシ ョ ンが cfg_power_state_change_ack入力をアサートするまで、 コアはこの出力を High にホールドします。 cfg_power_state_change_interrupt が High にホールドされている間、 コアは受信した保留されているすべてのコンフィギュレーション読み出し/書き込みト ランザクションに対してコンプリーションを返しません。この目的は、ユーザー アプリケーションが低電力ステートへ遷移する準備が整うまで、 ステート変更をもたらしたコンフィギュレーション書き込みト ランザクションのコンプリーションを遅延させることです。cfg_power_state_change_interrupt がアサート されると、コンフィギュレーション書き込みト ランザクションに関連するファンクシ ョ ン番号が cfg_snp_function_number[7:0] 出力に提供されます。 ユーザー アプリケーションがcfg_power_state_change_ack をアサートすると、 ステート変更を受け た フ ァ ン ク シ ョ ン の新 し い ス テー ト が コ アのcfg_function_power_state (PF の場合)、 またはcfg_vf_power_state (VF の場合) 出力に反映されます。

表 2-19 : コンフ ィギュレーシ ョ ン制御インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 46: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 46PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_err_cor_in 入力 1

修正可能なエラーを検出したこ とを示します。

ユーザー ロジッ ク内で修正可能なエラーが検出され、 内部エラーと して PCI Express Advanced Error Reporting メカニズムを使用してレポートする必要がある場合、 ユーザー アプリケーシ ョンはこの入力を 1 サイクル間アサート します。これに対応して、コアはすべての有効なファンクシ ョ ンの AER 修正可能エラーステータ ス レジス タの Corrected Internal Error Status ビ ッ ト をセッ ト し、 また可能な場合にはエラー メ ッセージを送信します。 このエラーは、 ファンクシ ョ ンに固有のものではあ り ません。

cfg_err_uncor_in 入力 1

修正不可能なエラーを検出したこ とを示します。

ユーザー ロジッ ク内で修正不可能なエラーが検出され、内部エラーと して PCI Express Advanced Error Reporting メカニズムを使用してレポートする必要がある場合、 ユーザー アプリケーシ ョンはこの入力を 1 サイクル間アサート します。これに対応して、コアはすべての有効なフ ァン クシ ョ ンの AER 訂正不可能エラー ステータス レジスタの Uncorrected Internal Error Status ビット をセッ ト し、 また可能な場合にはエラー メ ッセージを送信します。 このエラーは、 ファンクシ ョ ンに固有のものではあ り ません。

cfg_flr_done 入力 2

ファンクシ ョ ン レベルのリセッ ト完了を示します。

ファンクシ ョ ン i のリセッ ト動作が完了した場合、 このバスのビッ ト i をアサートする必要があ り ます。 これによって、 コアはファンクシ ョ ン i の cfg_flr_in_process をディアサートして、そのファンクシ ョ ンへのコンフ ィギュレーシ ョ ン アクセスを再度有効にします。

cfg_vf_flr_done 入力 6

Virtual Function のファンクシ ョ ン レベルのリセッ ト完了を示します。

Virtual Function i の リ セッ ト動作が完了した場合、 このバスのビッ ト i をアサートする必要があ り ます。 これによって、 コアはフ ァ ン クシ ョ ン i の cfg_vf_flr_in_process をディ アサート して、その Virtual Function へのコンフ ィギュレーシ ョ ンアクセスを再度有効にします。

cfg_flr_in_process 出力 2

ファンクシ ョ ン レベルの リ セッ ト が実行中である こ と を示します。

ホス トがコンフ ィギュレーシ ョ ン空間の FLR ビッ ト を介して、ファンクシ ョ ン i のリセッ ト を開始した場合、 コアはこのバスのビッ ト i をアサート します。コアは、ユーザーが対応するファンクシ ョ ンの cfg_flr_done 入力をセッ ト して リセッ ト動作の完了を示すまで、 この出力を High のままホールド します。

cfg_vf_flr_in_process 出力 6

Virtual Function のファンクシ ョ ン レベルのリセッ トが実行中であるこ とを示します。

ホス トがコンフ ィギュレーシ ョ ン空間の FLR ビッ ト を介して、Virtual Function i のリセッ ト を開始した場合、 コアはこのバスのビッ ト i をアサート します。 コアは、 ユーザーが対応するファンクシ ョ ンの cfg_vf_flr_done 入力をセッ ト して リセッ ト動作の完了を示すまで、 この出力を High のままホールド します。

表 2-19 : コンフ ィギュレーシ ョ ン制御インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 47: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 47PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイス

コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスでは、 ユーザー アプリ ケーシ ョ ンがレガシ PCIe割り込み、 MSI 割り込み、 または MSI-X 割り込みをセッ トできます。 コアは、 送信されるコンフ ィギュレーシ ョ ン割り込みに割り込みステータス とエラー信号を提供します。 表 2-20 では、 コアのコンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートについて説明します。

cfg_req_pm_transition_l23_ready 入力 1

コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされている場合、 ユーザー アプ リ ケーシ ョ ンはこの入力をアサー ト して、コアのパワー マネージメン ト ステート を L23_READY に遷移します (パワー マネージメン トの詳細は、 『PCI Express 仕様』の第 5 章を参照)。 これは、 コア内の PCI ファンクシ ョ ンが D3ステートに遷移し、ユーザー アプリケーシ ョ ンがルート コンプレッ クスからのPME_Turn_Off メ ッセージに対して ACK を送信した後に実行されます。 この入力をアサートする と、 リ ンクが L3 ステートへ遷移します。 動作を再開するには、 ハード リ セッ トが必要です。リ ンクを L3 ステートへ遷移させる必要がない場合は、この入力を 0 にハード接続できます。ルート コンプレッ クス モードの場合、 この入力は使用しません。

cfg_link_training_enable 入力 1

リ ンクを確立するために Link Training Status State Machine (LTSSM) を有効にする場合は、 この入力を 1 にセッ トする必要があ り ます。0 にセッ トする と、LTSSM は強制的に Detect.Quietステートへ遷移します。

表 2-19 : コンフ ィギュレーシ ョ ン制御インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

表 2-20 : コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_interrupt_int 入力 4

コンフ ィギュレーシ ョ ン INTx ベクターです。

コアが EP と してコンフ ィ ギュレーシ ョ ン されている場合、ユーザー アプ リ ケーシ ョ ンはこれらの 4 つの入力を使用し、PCI Express の Legacy PCI Express Interrupt Delivery メカニズムを使用して、任意の PCI ファンクシ ョ ンから RC へ割り込み信号を送信し ます。 これらの 4 つの入力は、 それぞれ INTA、INTB、 INTC、 および INTD に対応します。 これらの信号のいずれかをアサートする と、コアは Assert_INTx メ ッセージを送信します。ディアサートする と コアは Deassert_INTx メ ッセージを送信します。

cfg_interrupt_sent 出力 1

コンフ ィギュレーシ ョ ン INTx の送信を示します。

この出力信号は、 cfg_interrupt_int 入力のいずれかのステートが変更されたこ とに応答して、コアが Assert_INTx メ ッセージまたは Deassert_INTx メ ッセージを送信したこ と を示します。

cfg_interrupt_pending 入力 2

コンフ ィ ギュレーシ ョ ン INTx 割り込みペンディ ング (アクティブ-High) を示します。

ファンクシ ョ ンごとのペンディング割り込みを示します。cfg_interrupt_pending[0] は、Function #0 に対応します。

cfg_interrupt_msi_enable 出力 2

コンフ ィ ギュレーシ ョ ン割り込み MSI フ ァン クシ ョ ンのイネーブルを示します。

各ファンクシ ョ ンに対して、 Message Signaling Interrupt (MSI)メ ッセージが有効であるこ とを示します。

Page 48: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 48PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_interrupt_msi_vf_enable 出力 6

VF のコンフ ィギュレーシ ョ ン割り込み MSI が有効である ことを示します。

各 Virtual Function の MSI メ ッセージが有効であるこ とを示します。

cfg_interrupt_msi_int 入力 32

コンフィギュレーション割り込み MSI ベクターです。

コアがエンドポイン ト としてコンフィギュレーションされ、 MSI割り込みをサポートする場合、 これらの入力を使用して、 ユーザー ロジックからコアへ PCI ファンクシ ョン (Physical/Virtual) に関連する 32 の異なる割り込み条件を示します。 ファンクション番号を cfg_interrupt_msi_function_number 入力に指定する必要があ り ます。 cfg_interrupt_msi_function_number入力にファンクシ ョ ン番号を指定した後、 ユーザー ロジッ クはこれらの信号のいずれか 1 つを 1 サイクル間アクティブにして割り込みを送信する必要があります。 ユーザー ロジッ クは、 同じサイ クル内で複数 (32 の割り込み入力のうち) の信号をアクティブにしてはいけません。コアは、cfg_interrupt_msi_intのあらゆるビッ トの 0 から 1 への遷移における割り込み条件を内部レジスタに格納します。ユーザー ロジッ クは、割り込みを1 つアサート した後、 次に割り込みをアサートする前にコアから cfg_interrupt_msi_sent またはcfg_interrupt_msi_fail 信号が送信されるまで待機する必要があります。

cfg_interrupt_msi_sent 出力 1

コンフ ィギュレーシ ョ ン MSI 割り込みの送信を示します。

コアは、 この出力に 1 サイ クル間パルスを生成し、 リ ンク上に MISI 割り込みメ ッセージが送信されたこ と を示し ます。ユーザー ロジッ クは、 コアへ別の割り込み条件を送信する前に、 このパルスが生成されるまで待機する必要があ り ます。

cfg_interrupt_msi_fail 出力 1

コンフ ィギュレーシ ョ ン割り込みの MSI 割り込み動作エラーを示します。

この出力に 1 サイ クル間のパルスが生成される と、 MSI 割り込みメ ッセージが リ ンク上に送信される前に停止されたこ とを示します。 この場合、 ユーザー アプリ ケーシ ョ ンは MSI 割り込みを再度送信する必要があ り ます。

cfg_interrupt_msi_mmenable 出力 6

コンフ ィ ギュレーシ ョ ン割り込みの MSI フ ァン クシ ョ ンのMultiple Message Enable ビッ トです。

コアがエンドポイン ト モード と してコンフ ィギュレーシ ョ ンされ、 MISI 割り込みをサポー トする場合、 これらの出力は、Physical Function に関連する MSI 制御レジス タの MultipleMessage Enable ビッ トで駆動されます。 これらのビッ トは、対応するファンクシ ョ ンに対して割り当てられた MSI 割り込みベク ター番号をエンコード します。 ビ ッ ト [2:0] は、 PhysicalFunction 0 に対応します。

表 2-20 : コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 49: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 49PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_interrupt_msi_pending_status 入力 64

コンフ ィギュレーシ ョ ン割り込みの MSI ペンディング ステータスを示します。

これらの入力は、Physical Function の MSI ペンディング割り込みステータスを示します。 これらのピンの設定が、 対応するPF の MSI ペンディング ビッ ト レジスタから読み出される値を決定します。 ビッ ト [31:0] は、 PF0 に属し、 ビッ ト [63:32]は PF1 に属します。 MSI ペンディング ビッ ト レジスタには、MSI 割り込みの Pending (保留) ビッ ト が含まれます。 このロケーシ ョ ンを読み出すと、 コアの MSI マスク入力のステートが返ってきます。 これは、 MSI マスク入力のデフォル ト値を含む 32 ビッ ト幅の RO レジスタです。

cfg_interrupt_msi_mask_update 出力 1

コンフ ィギュレーシ ョ ン割り込みの MSI ファンクシ ョ ン マスクの変更を示します。

MSI マスク レジスタ内のいずれかの有効なファンクシ ョ ンが値を変更する と、 1 サイ クル間アサート されます。MSI マスクレジスタには、 MSI 割り込みのマス ク ビッ ト が含まれます。MSI 制御レジスタの Multiple Message Capable フ ィールドが、そのファンクシ ョ ンに対する確実な割り込み数を示し、 これによって有効なマスクビッ ト の数が決定します。 これは、 32ビッ ト幅の RW レジスタで、 デフォルト値は 0 とな り ます。

cfg_interrupt_msi_select 入力 4

コンフ ィギュレーシ ョ ン割り込みの MSI セレク ト を示します。

0000b ~ 0001b の値は PF0 ~ 1 に対応し、 0010b ~ 0111bの値は VF0 ~ 5 に対応します。cfg_interrupt_msi_data[31:0] に、選択したファンクシ ョンの MSI マスク レジスタの値が提示されます。 この入力が 1111b に駆動される と、cfg_interrupt_msi_data[17:0]は、 すべての Virtual Function に関連する MSI 制御レジスタのMultiple Message Enable ビッ ト を示します。これらのビッ トは、対応するファンクシ ョ ンに対して割り当てられた MSI 割り込みベクター番号をエンコード します。cfg_interrupt_msi_data[2:0] は、Virtual Function 0 に対応します。

cfg_interrupt_msi_data 出力 32コンフ ィギュレーシ ョ ン割り込みの MSI データを示します。

この出力に現れる値は、cfg_interrupt_msi_select に依存します。

cfg_interrupt_msix_enable 出力 2

コンフ ィギュレーシ ョ ン割り込みの MSI-X ファンクシ ョ ンが有効であるこ とを示します。

アサート される と、 各ファンクシ ョ ンに対して、 Message Signaling Interrupt (MSI-X) メ ッセージが有効であるこ とを示します。

cfg_interrupt_msix_mask 出力 2

コンフ ィギュレーシ ョ ン割り込みの MSI-X ファンクシ ョ ンのマスクを示します。

ファンクシ ョ ンごとに、 MSI-X Message Control フ ィールドの Function Mask ビッ トのステータスを示します。

cfg_interrupt_msix_vf_enable 出力 6

VF の Configuration Interrupt MSI-X が有効であるこ とを示します。

アサート される と、 各ファンクシ ョ ンに対して、 Message Signaling Interrupt (MSI-X) メ ッセージが有効であるこ とを示します。

表 2-20 : コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 50: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 50PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_interrupt_msix_vf_mask 出力 6

コンフ ィギュレーシ ョ ン割り込みの MSI-X VF マスクを示します。

ファンクシ ョ ンごとに、 MSI-X Message Control フ ィールドの Function Mask ビッ トのステータスを示します。

cfg_interrupt_msix_address 入力 64

コンフ ィギュレーシ ョ ン割り込みの MSI-X アドレスを示します。

コアが MSI-X 割り込みをサポートする場合、ユーザー ロジックはこのバスを使用して、 MSI-X メ ッセージで使用するアドレス情報を伝えます。

cfg_interrupt_msix_data 入力 32

コンフ ィギュレーシ ョ ン割り込みの MSI-X データを示します。

コアが MSI-X 割り込みをサポートする場合、ユーザー ロジックはこのバスを使用して、 MSI-X メ ッセージで使用するデータを伝えます。

cfg_interrupt_msix_int 入力 1

コンフ ィギュレーシ ョ ン割り込みの MSI-X データが有効であるこ とを示します。

この信号は、 cfg_interrupt_msix_address[63:0] および cfg_interrupt_msix_data[31:0] バス上に有効な情報が含まれており、 送信元と なるフ ァ ン クシ ョ ンの番号がcfg_interrupt_msi_function_number[3:0] に含まれているこ とを示します。 コアは、 この Valid 信号の 0 から 1 への遷移において、関連する cfg_interrupt_msix_addressおよび cfg_interrupt_msix_data からのアドレス情報とデータを内部レジスタに格納します。 ユーザー ロジッ クは、割り込みを 1 つアサート した後、 次に割り込みをアサートする前にコアから cfg_interrupt_msix_sent または cfg_interrupt_msix_fail 信号が送信されるまで待機する必要があ り ます。

cfg_interrupt_msix_sent 出力 1

コンフ ィギュレーシ ョ ン割り込みの MSI-X 割り込みが送信されたこ とを示します。

コアは、 cfg_interrupt_msix_address[63:0] および cfg_interrupt_msix_data[31:0] バスに配置された情報を受信し、 MSI-X 割り込みメ ッセージがリ ンク上に送信されたこ とを示すため、 この出力に 1 サイ クル間パルスを生成します。 ユーザー アプリ ケーシ ョ ンは、 コアへ別の割り込み条件を送信する前に、 このパルスが生成されるまで待機する必要があ り ます。

cfg_interrupt_msix_fail 出力 1

コンフ ィ ギュレーシ ョ ン割り込みの MSI-X 割り込み動作エラーを示します。

この出力に 1 サイ クル間パルスが生成される と、 割り込みコン ト ローラーがリ ンク上に MSI-X 割り込みを送信できなかったこ とを示します。 この場合、 ユーザー アプリ ケーシ ョ ンはMSI-X 割り込みを再度送信する必要があ り ます。

cfg_interrupt_msi_attr 入力 3

コンフ ィギュレーシ ョ ン割り込みの MSI/MSI-X TLP 属性を示します。

これらのビッ トは、 MSI/MSI-X 割り込みリ クエス トに使用される Attribute (属性) ビッ トの設定を示します。 ビッ ト 0 は NoSnoop ビッ トで、ビッ ト 1 は Relaxed Ordering ビッ トです。ビット 2 は、 ID-Based Ordering ビッ トです。 コアは、cfg_interrupt_msi_int またはcfg_interrupt_msix_int が 0 から 1 への遷移する際にこれらのビッ ト をサンプルします。

表 2-20 : コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 51: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 51PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

cfg_interrupt_msi_tph_present 入力 1

コンフ ィギュレーシ ョ ン割り込みの MSI/MSI-X TPH を示します。

MSI/MSI-X 割り込み リ クエス ト に Transaction Processing Hint(TPH) が存在するこ とを示します。 MSI または MSI-X ト ランザクシ ョ ンに TPH が含まれている場合、ユーザー アプリ ケーシ ョ ンは cfg_interrupt_msi_int またはcfg_interrupt_msix_int がアサート されている間に、 このビッ ト をセッ トする必要があ り ます。

cfg_interrupt_msi_tph_type 入力 2

コンフ ィギュレーシ ョ ン割り込みの MSI/MSI-X TPH タイプを示します。

cfg_interrupt_msi_tph_present が 1'b1 のと きに、 これらの 2 つのビッ トがヒ ン トに関連する 2 ビッ トのタイプを提供します。 コアは、 cfg_interrupt_msi_int または cfg_interrupt_msix_int が 0 から 1 への遷移する際にこれらのビッ ト をサンプルします。

cfg_interrupt_msi_tph_st_tag 入力 9

コンフ ィギュレーシ ョ ン割り込みの MSI/MSI-X TPH ステア リング タグを示します。

cfg_interrupt_msi_tph_present が 1'b1 のと き、 ヒ ントに関連するステア リ ング タグが cfg_interrupt_msi_tph_st_tag[7:0] に配置されている必要があ り ます。cfg_interrupt_msi_tph_st_tag[8] を 1b に設定すると、 間接タグ モードがアクティブになり ます。 間接タグ モードの場合、 コアは TPH Capability Structure のステア リ ング タグ テーブル (STT) へのインデッ クス (STT は各ファンクシ ョンで 大 64 エン ト リに制限されている ) と して cfg_interrupt_msi_tph_st_tag のビッ ト [5:0] を使用し、 このロケーシ ョ ンのタグを送信された リ クエス ト MSI/X TLP に挿入します。cfg_interrupt_msi_tph_st_tag[8] を 0b に設定すると、 直接タグ モードがアクティブになり ます。 直接タグ モードの場合、 コアは送信された MSI/X TLP にタグと して cfg_interrupt_msi_tph_st_tag[7:0] を直接挿入します。 コアは、 cfg_interrupt_msi_int ビッ ト または cfg_interrupt_msix_int が 0 から 1 への遷移する際にこれらのビッ ト をサンプルします。

cfg_interrupt_msi_function_number 入力 3

コンフ ィギュレーシ ョ ンの MSI/MSI-X 開始ファンクシ ョ ンを示します。

MSI または MSI-X ト ランザクシ ョ ンを開始するエンドポイント ファンクシ ョ ン番号を示します。• 0 : PF0• 1 : PF1• 2 : VF0• 3 : VF1• 4 : VF2

...• 7 : VF5

表 2-20 : コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 52: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 52PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

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

外部にコンフ ィギュレーシ ョ ン レジスタが実装されている場合、コンフ ィギュレーシ ョ ン拡張インターフェイスを使用するこ とによって、 コアがコンフ ィギュレーシ ョ ン情報をユーザー アプ リ ケーシ ョ ンへ送信できるよ うにな り ます。 表 2-21 では、 コアのコンフ ィギュレーシ ョ ン拡張インターフェイスのポートについて説明します。

表 2-21 : コンフ ィギュレーシ ョ ン拡張インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_ext_read_received 出力 1

コンフ ィギュレーシ ョ ン拡張インターフェイスの読み出し リ クエスト受信を示します。

リ ンクからコンフ ィギュレーシ ョ ン読み出し リ クエス ト を受信すると、 コアがこの出力をアサート します。 ユーザーが実装したレガシ コンフ ィギュレーシ ョ ン空間および拡張コンフ ィギュレーシ ョ ン空間のどちら も有効でない場合、 コンフ ィギュレーシ ョ ン読み出し リクエス ト を受信する と、 有効な cfg_ext_register_number と cfg_ext_function_number を伴ってこの信号が 1 サイクル間アサート されます。 ユーザーが実装したレガシ コンフ ィギュレーシ ョン空間、 拡張コンフ ィギュレーシ ョ ン空間、 あるいは両方が有効の場合、cfg_ext_register_number の範囲はそれぞれ 0x10-0x1f または 0x100-0x3ff とな り、 ユーザー ロジッ クが cfg_ext_read_data および cfg_ext_read_data_valid を送信するまでこの信号はアサート されます。cfg_ext_register_number が 0x10-0x1f または 0x100-0x3ff の範囲外である場合、 コンフ ィギュレーシ ョ ン読み出し リ クエス トを受信する と、 常にこの信号が 1 サイクル間アサート されます。

cfg_ext_write_received 出力 1

コンフ ィギュレーシ ョ ン拡張インターフェイスの書き込みリ クエスト受信を示します。

リ ンクから コンフ ィギュレーシ ョ ン書き込みリ クエス ト を受信すると、 コアがこの出力に 1 サイクルのパルスを生成します。

cfg_ext_register_number 出力 10

コンフ ィギュレーシ ョ ン拡張インターフェイスのレジスタ ナンバーを示します。

読み出しまたは書き込みが行われるコンフ ィギュレーシ ョ ン レジスタの 10 ビッ ト アドレスです。 cfg_ext_read_received または cfg_ext_write_received が High のと き、 データは有効です。

cfg_ext_function_number 出力 8

コンフ ィギュレーシ ョ ン拡張インターフェイスのファンクシ ョ ン番号を示します。

コンフ ィギュレーシ ョ ン読み出しまたは書き込みリ クエス ト に対応する 8 ビッ トのファンクシ ョ ン番号です。cfg_ext_read_receivedまたは cfg_ext_write_received が High のと き、 データは有効です。

cfg_ext_write_data 出力 32

コンフ ィギュレーシ ョ ン拡張インターフェイスの書き込みデータを示します。

コンフ ィギュレーシ ョ ン レジスタに書き込まれるデータです。 この出力は、 cfg_snp_write_received が High の場合に有効です。

cfg_ext_write_byte_enable 出力 4

コンフ ィギュレーシ ョ ン拡張インターフェイスの書き込みバイ ト イネーブルです。

コンフ ィ ギュレーシ ョ ン書き込み ト ランザクシ ョ ン用のバイ ト イネーブル信号です。

Page 53: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 53PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

クロックおよびリセッ ト インターフェイス

コアの動作に不可欠なクロ ッ クおよびリセッ ト インターフェイスは、 コア用のシステム レベルのクロ ッ ク / リセッ ト信号、 およびユーザー アプリ ケーシ ョ ン用のクロ ッ ク / リセッ ト信号を提供します。 表 2-22 では、 コアのクロ ッ クおよびリセッ ト インターフェイスのポートについて説明します。

cfg_ext_read_data 入力 32

コンフ ィギュレーシ ョ ン拡張インターフェイスの読み出しデータを示します。

このバスを使用して、 外部に実装したコンフ ィギュレーシ ョ ン レジスタからコアへデータを供給できます。cfg_snp_read_data_valid がセッ ト されている場合は、cfg_snp_read_received を High に設定した後に、 コアはクロ ックの次の立ち上がりエッジでこのデータをサンプルします。

cfg_ext_read_data_valid 入力 1

コンフ ィギュレーシ ョ ン拡張インターフェイスの読み出しデータが有効であるこ とを示します。

ユーザー アプ リ ケーシ ョ ンは、 コアに対してこの入力をアサート して、 外部に実装したコンフ ィギュレーシ ョ ン レジスタからデータを供給します。 コアは、 cfg_snp_read_received を High に設定した後、 クロ ッ クの次の立ち上がりエッジで、 この入力データをサンプルします。

表 2-21 : コンフ ィギュレーシ ョ ン拡張インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

表 2-22 : クロックおよびリセッ ト インターフェイスのポートの説明

ポート 方向 幅 説明

user_clk 出力 1ユーザー ク ロ ッ ク出力 (62.5、 125、 または 250MHz) です。

このク ロ ッ クは、 固定された周波数であ り、 Vivado® IDE (統合設計環境) で設定されます。

user_reset 出力 1 この信号は user_clk に同期してディアサート されます。 sys_reset のアサートに非同期でディアサート /アサート されます。

sys_clk 入力 1基準クロ ッ クです。

このクロ ッ クの周波数は、 100MHz、 125MHz、 または 250MHz から選択できます。

sys_reset 入力 1

コア用の基本リセッ ト入力です (非同期)。この入力は、PCIe エッジ コネクタの リセッ ト極性と一致するよ うに、デフォルトでアクティブ Low とな り ます。Vivado IDE のオプシ ョ ンを使用して、アクティブ High に設定できますが、 この場合、 PCIe エッジ コネク タ との互換性が失われます。

X0Y0 PCIe ロケーシ ョ ンを使用するエンドポイン ト コンフ ィギュレーシ ョ ンの場合、 sys_reset は PERSTN0 パッケージ ピンから直接駆動される必要があ り ます。 別のパッケージ ピンまたはコンフ ィギュレーシ ョ ン ロジッ クから、 X0Y0 PCIe ブロ ッ クの sys_reset を駆動する場合は、 Vivado IDE で配線される専用のリセッ ト信号を無効にします。X0Y0 PCIe ブロ ッ クの sys_resetを駆動する場合は、 常に PERSTN0 パッケージ ピンを使用するこ とを推奨します。エンドポイン ト と してコンフ ィギュレーシ ョ ンされたその他の PCIe ブロ ッ ク の場合は、 可能な限 り PERSTN1 パッ ケージ ピンを使用し てsys_reset を駆動してください。

Page 54: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 54PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

表 2-22 に示す PERSTN0/PERSTN1 パッケージ ピンおよびポートは、 専用の PCIe リセッ ト配線に使用されます。PERSTN これらはパッケージ ピンから PCIe コア (X0Y0) への専用ポートです。 Tandem コンフ ィギュレーシ ョ ンのサポートが必要な方は、 表 2-22 の説明に従ってこれらのピンを使用して ください。 PERSTN0 および PERSTN1 ピンを使用する際の一般的なガイ ド ラインを次に示します。

• PCIe_X0Y* RootPort コンフィギュレーシ ョ ンは、 任意のピンを使用してエッジ コネクタ リセッ ト を駆動できます。

• PCIe_X0Y0 エンドポイン ト コンフ ィギュレーシ ョ ンは、 PCIe エッジ コネク タ リセッ ト入力ピンと して常に PERSTN0 を使用する必要があ り ます。

• PCIe_X0Y (non-zero) エンドポイン ト コンフ ィギュレーシ ョ ンは、 PCIe エッジ コネクタ リセッ ト入力ピンと して PERST1 を優先すべきですが、 必要に応じて任意のピンを使用できます。

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-23 を参照して ください。

pcie_perstn0_out 出力 1

X0Y0 PCIe ブロ ッ クの sys_reset 入力ポート を介す、PERSTN0 パッケージピンからの直接パススルー出力です。 このポートは、 X0Y0 PCIe ブロッ クが選択され、専用配線が有効 (デフォルト ) に設定され、sys_reset が PERSTN0パッケージ ピンで駆動されている場合にのみ使用されます。 その他のコンフ ィギュレーシ ョ ンおよび PCIe ロケーシ ョ ンの場合、このポートは接続する必要があ り ません。 X0Y0 PCIe ロケーシ ョ ンを使用するエンドポイン ト コンフ ィギュレーシ ョ ンの場合は、PERSTN0 を使用して sys_reset 入力を駆動する必要があ り ます。

pcie_perstn1_in 入力 1

PERSTN1 パッケージ ピンから PCIe_X0Y0 pcie_perstn1_out 出力への専用配線の入力です。この入力は、PERSTN1 パッケージ ピンでのみ駆動可能で、X0Y0PCIe ロケーシ ョ ンに対してのみ使用します。 その他すべての PCIe ロケーシ ョ ンで、このポート を使用しない場合は、定数 0 (1'b0) に接続してください。

pcie_perstn1_out 出力 1

X0Y0 PCIe ブロ ッ クの pcie_perstn1_in 入力ポート を介す、 PERSTN1 パッケージ ピンからの直接パススルー出力です。 このポートは、 X0Y0 PCIe ブロ ッ クが選択され、 専用配線が有効 (デフォルト ) に設定され、pcie_perstn1_in が PERSTN1 パッケージ ピンで駆動されている場合にのみ使用されます。 その他のコンフ ィギュレーシ ョ ンおよび PCIe ロケーシ ョンの場合、 このポートは接続する必要があ り ません。 X0Y0 PCIe ロケーシ ョンに設定されていない PCIe エンドポイン ト コンフ ィギュレーシ ョ ンの場合は、 PERSTN1 を使用して sys_reset 入力を駆動する必要があ り ます。

表 2-22 : クロックおよびリセッ ト インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

表 2-23 : PCI Express インターフェイス信号 (1、 2、 3、 および 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 (–)

Page 55: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 55PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

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 (–)

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-23 : PCI Express インターフェイス信号 (1、 2、 3、 および 8 レーン コアの場合) (続き)

レーン 番号

名称 方向 説明

Page 56: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 56PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

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 (–)

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-23 : PCI Express インターフェイス信号 (1、 2、 3、 および 8 レーン コアの場合) (続き)

レーン 番号

名称 方向 説明

Page 57: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 57PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

属性の説明

クライアン ト インターフェイス

表 2-24 には、 コアのク ライアン ト インターフェイスの動作を制御するコンフ ィギュレーシ ョ ン属性を示します。

表 2-24 : 統合ブロックのクライアン ト インターフェイスのコンフ ィギュレーシ ョ ン属性

属性名 タイプ 説明

USER_CLK2_FREQ 整数

• 0 : ユーザー ク ロ ッ クを無効化• 1 : 31.25MHz

• 2 : 62.50MHz (デフォルト )• 3 : 125.00MHz• 4 : 250.00MHz• 5 : 500.00MHz

PL_LINK_CAP_MAX_LINK_SPEED[2:0] ビッ ト ベクター

PCIe リ ンクの 大スピードを定義します。• 001 : 2.5GT/s• 010 : 5.0GT/s• 100 : 8.0GT/s

その他すべてのエンコードは予約されています。

PL_LINK_CAP_MAX_LINK_WIDTH[3:0] ビッ ト ベクター

大リ ンク幅有効な設定は次のとおりです。• 0001b : x1• 0010b : x2• 0100b : x4• 1000b : x8

その他すべてのエンコードは予約されています。 この設定は、コア内のすべての層に伝搬されます。

C_DATA_WIDTH 整数

AXI4-Stream インターフェイスの幅を指定します。

• 64 ビッ ト インターフェイス

• 128 ビッ ト インターフェイス

• 256 ビッ ト インターフェイス

AXISTEN_IF_CQ_ALIGNMENT_MODE 文字列

コンプリーター リ クエス ト インターフェイスにデータ アライメン ト モードを定義します。

• FALSE : Dword アライ メン ト モード

• TRUE : アドレス アライ メン ト モード

AXISTEN_IF_CC_ALIGNMENT_MODE 文字列

コンプ リーター コンプ リーシ ョ ン インターフェイスにデータアライ メン ト モードを定義します。

• FALSE : Dword アライ メン ト モード

• TRUE : アドレス アライ メン ト モード

AXISTEN_IF_RQ_ALIGNMENT_MODE 文字列

リ クエスター リ クエス ト インターフェイスにデータ アライ メン ト モードを定義します。

• FALSE : Dword アライ メン ト モード

• TRUE : アドレス アライ メン ト モード

AXISTEN_IF_RC_ALIGNMENT_MODE 文字列

リ クエスター コンプリーシ ョ ン インターフェイスにデータ アライ メン ト モードを定義します。

• FALSE : Dword アライ メン ト モード

• TRUE : アドレス アライ メン ト モード

Page 58: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 58PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

AXISTEN_IF_RC_STRADDLE 文字列

この属性は、 リ クエスター コンプ リーシ ョ ン インターフェイスのス ト ラ ドル オプシ ョ ンを有効にします。

• FALSE : ス ト ラ ドル オプシ ョ ンは無効

• TRUE : ス ト ラ ドル オプシ ョ ンは有効

AXISTEN_IF_RQ_PARITY_CHECK 文字列

この属性は、 リ クエスター リ クエス ト インターフェイスのパリティ チェッ クを有効にします。

• FALSE : パリティ チェッ クは無効

• TRUE : パリティ チェッ クは有効

AXISTEN_IF_CC_PARITY_CHECK 文字列

この属性は、 コンプ リーター コンプ リーシ ョ ン インターフェイスのパリティ チェッ クを有効にします。

• FALSE : パリティ チェッ クは無効

• TRUE : パリティ チェッ クは有効

AXISTEN_IF_ENABLE_RX_MSG_INTFC 文字列

この属性は、 コアがリ ンクから受信したメ ッセージを送信する方法を管理します。

FALSE に設定されている場合、コアは AXI4-Stream プロ ト コルを使用してコンプ リーター リ クエス ト インターフェイスに受信したメ ッセージ TLP を送信します。 このモードでは、AXISTEN_IF_ENABLE_MSG_ROUTE 属性を使用して受信するメ ッセージ タイプを選択できます。 また、 受信メ ッセージ インターフェイスは非アクティブになり ます。

この属性が TRUE に設定されている場合、コアはリ ンクから受信したメ ッセージを内部でデコード し、 受信メ ッセージ インターフェイス上で cfg_msg_received 信号を High 駆動してユーザー アプリ ケーシ ョ ンへ知らせます。 コアは、 コンプリーターリ クエス ト インターフェイス上にいかなる メ ッセージ TLP も送信しません。 このモードでは、AXISTEN_ENABLE_MSG_ROUTE 属性の設定は、 受信 メ ッセージ インターフェイスの動作に影響を与えません。

AXISTEN_IF_ENABLE_MSG_ROUTE[17:0] ビッ ト ベクター

AXISTEN_IF_ENABLE_RX_MSG_INTFC 属性が 0 にセッ ト されている場合、 これらの属性を使用して、 コンプリーター リ クエス ト インターフェイスで受信する メ ッセージのタイプを選択できます。 1 にセッ ト されている場合、 インターフェイスで対応する メ ッセージ タイプの送信が可能になり、 0 にセッ ト されている場合、 コアがメ ッセージをフ ィルタ リ ングします。

表 2-25 に、この属性のビッ ト と対応するさまざまなメ ッセージタイプを示します。

AXISTEN_IF_ENABLE_CLIENT_TAG 文字列

FALSE に設定されている場合、 リ クエスター リ クエス ト インターフェイスから送信されたノンポステッ ド ト ランザクシ ョンのタグ管理が統合ブロ ッ クによって実行されます。 つま り、コアが各ノンポステッ ド リ クエス ト に対して ト ランザクシ ョン用のタグを割り当てて、それをク ライアン ト インターフェイスへ送信します。

TRUE に設定されている場合、内部タグ管理機能は無効となり、ユーザー ロジッ クが各リ クエス ト で使用されるタグを供給できます。PF0_DEV_CAP_EXT_TAG_SUPPORTED が FALSE に設定されている場合、 ユーザー ロジ ッ クは リ クエス ト ディ ス ク リ プター ヘッ ダーの 0–31 の範囲にタ グ フ ィ ール ド を表示し、PF0_DEV_CAP_EXT_TAG_SUPPORTED が TRUE に設定されている場合には、 0–63 の範囲にタグ フ ィールドを表示できます。

表 2-24 : 統合ブロックのクライアン ト インターフェイスのコンフ ィギュレーシ ョ ン属性 (続き)

属性名 タイプ 説明

Page 59: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 59PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

コンフ ィギュレーシ ョ ン空間PCI コンフ ィギュレーシ ョ ン空間は、表 2-26 に示すよ うに主に 3 つの要素から構成されています。 これらの詳細を次に示します。

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

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

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

• レガシ拡張機能項目

° PCIe 機能項目

° パワー マネージメン ト機能項目

° Message Signal Interrupt (MSI) 機能項目

° MSI-X 機能項目 (オプシ ョ ン)

• PCIe 機能

° Advanced Error Reporting (AER) 拡張機能構造体

° Alternate Requester ID (ARI) (オプシ ョ ン)

° Device Serial Number 機能構造体 (DSN) (オプシ ョ ン)

表 2-25 : AXISTEN_IF_ENABLE_MSG_ROUTE 属性ビッ トの説明

ビッ ト インデックス メ ッセージ タイプ

0 ERR_COR

1 ERR_NONFATAL

2 ERR_FATAL

3 Assert_INTA および Deassert_INTA

4 Assert_INTB および Deassert_INTB

5 Assert_INTC および Deassert_INTC

6 Assert_INTD および Deassert_INTD

7 PM_PME

8 PME_TO_Ack

9 PME_Turn_Off

10 PM_Active_State_Nak

11 Set_Slot_Power_Limit

12 LTR (Latency Tolerance Reporting)

13 OBFF (Optimized Buffer Flush/Fill)

14 アンロ ッ ク

15 Vendor_Defined タイプ 0

16 Vendor_Defined タイプ 1

17 無効な リ クエス ト、 無効なコンプリーシ ョ ン、 無効な PRG 応答

Page 60: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 60PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

° 電力バジェッ ト機能の強化

° Capability Header (PB) (オプシ ョ ン)

° Resizable BAR (RBAR) (オプシ ョ ン)

° Latency Tolerance Reporting (LTR) (オプシ ョ ン)

° Dynamic Power Allocation (DPA) (オプシ ョ ン)

° Single Root I/O Virtualization (SR-IOV) (オプシ ョ ン)

° Transaction Processing Hints (TPH) (オプシ ョ ン)

° Virtual Channel (VC) 拡張機能構造体 (オプシ ョ ン)

• PCIe 拡張機能

° Device Serial Number 拡張機能構造体 (オプシ ョ ン)

° Virtual Channel 拡張機能構造体 (オプシ ョ ン)

° Advanced Error Reporting (AER) 拡張機能構造体 (オプシ ョ ン)

° Medica Configuration Access Port (MCAP) 拡張機能構造体 (オプシ ョ ン)

コアは、 レガシ拡張機能項目を 大 4 つまで実装できます。

この機能の有効化に関する詳細は、 第 4 章の 「コアのカスタマイズおよび生成」 を参照してください。

コアは、 PCI Express 拡張機能を 大 10 まで実装できます。残りの PCI Express 拡張機能空間は、ユーザーが定義できます。ユーザーが利用できるこの空間の開始アドレスは、 3DCh とな り ます。 この空間にレジスタを実装する場合は、この空間の開始アドレスを選択でき、 この空間をユーザー アプリ ケーシ ョ ンに実装する必要があ り ます。

この機能の有効化に関する詳細は、 第 4 章の 「[Extended Capabilities 1] および [Extended Capabilities 2]」 を参照してください。

Page 61: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 61PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

表 2-26 : 共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー

31 16 15 0

デバイス ID ベンダー ID 000h

ステータス コマンド 004h

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

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

ヘッダー タイプ別

(表 2-27 および表 2-28 を参照)

010h

014h

018h

01Ch

020h

024h

028h

02Ch

030h

CapPtr 034h

038h

割り込みピン 割り込みライン 03Ch

予約済み040h-07Ch

PM 機能 NxtCap PM Cap 080h

データ 予約済み PMCSR 084h

予約済み088h-08Ch

カスタマイズ可能(1) MSI 制御 次の Cap MSI Cap 090h

メ ッセージ アドレス (下位) 094h

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

予約済み メ ッセージ データ 09Ch

マスク ビッ ト 0A0h

ペンディング ビッ ト 0A4h

予約済み0A8h-0ACh

Page 62: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 62PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

オプシ ョ ン(3) MSl-X 制御 NxtCap MSl-X Cap 0B0h

テーブル オフセッ ト テーブル BIR 0B4h

PBA オフセッ ト PBA BIR 0B8h

予約済み 0BCh

PE 機能 NxtCap PE Cap 0C0h

PCI Express デバイス機能 0C4h

デバイス ステータス デバイス制御 0C8h

PCI Express リ ンク機能 0CCh

リ ンク ステータス リ ンク制御 0D0h

ルート ポートのみ(2) スロ ッ ト機能 0D4h

スロ ッ ト ステータス スロ ッ ト制御 0D8h

ルート機能 ルート制御 0DCh

ルート ステータス 0E0h

PCI Express デバイス機能 2 0E4h

デバイス ステータス 2 デバイス制御 2 0E8h

PCI Express リ ンク機能 2 0ECh

リ ンク ステータス 2 リ ンク制御 2 0F0h

未実装のコンフ ィギュレーシ ョ ン空間 (0x00000000 を返す)

0F4h-0FCh

常に有効 次の Cap Cap.Ver. PCI Express 拡張機能 ID (AER) 100h

修正不可能エラー ステータス レジスタ 104h

修正不可能エラー マスク レジスタ 108h

修正不可能エラー重要度レジスタ 10Ch

修正可能エラー ステータス レジスタ 110h

修正可能エラー マスク レジスタ 114h

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

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

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

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

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

予約済み 12Ch

オプシ ョ ン、ルート ポートのみ(3)

ルート エラー コマンド レジスタ 130h

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

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

予約済み 13Ch

オプシ ョ ン(3)(4)次の Cap Cap.Ver. PCI Express 拡張機能 - ARI (Alternate

Requester ID)140h

制御 次のファンクシ ョ ンファンクシ ョ ン

グループ

144h

表 2-26 : 共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 63: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 63PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

予約済み148h-14Ch

オプシ ョ ン(3) 次の Cap Cap.Ver. PCI Express 拡張機能 - DSN 150h

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

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

予約済み 15Ch

オプシ ョ ン(3)次の Cap Cap.Ver. PCI Express 拡張機能 - 電力バジェッ ト

拡張機能ヘッダー

160h

予約済み DS 164h

予約済み 電力バジェッ ト データ - ステート D0、 D1、 D3、 ... 168h

電力バジェッ ト機能 16Ch

予約済み 170h-1B4h

オプシ ョ ン(3)次の Cap Cap.Ver. PCI Express 拡張機能 ID - Latency Tolerance

Reporting (LTR)1B8h

No-Snoop Snoop 1BCh

オプシ ョ ン(3)次の Cap Cap.Ver. PCI Express 拡張機能 ID - ダイナミ ッ ク

パワー アロケーシ ョ ン (DPA)1C0h

機能レジスタ 1C4h

レイテンシ インジケーター 1C8h

制御 ステータス 1CCh

パワー アロケーシ ョ ン アレイ レジスタ 0 1D0h

パワー アロケーシ ョ ン アレイ レジスタ 1 1D4h

予約済み1D8h-1FCh

表 2-26 : 共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 64: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 64PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

オプシ ョ ン(3)次の Cap Cap.Ver. PCI Express 拡張機能 ID - Single Root I/O

Virtualization (SR-IOV)200h

機能レジスタ 204h

SR-IOV ステータス (サポート対象外) 制御 208h

トータル VF イニシャル VF 20Ch

Function Dependency Link Number VFs 210h

VF ス ト ラ イ ド 初の VF オフセッ ト 214h

VF デバイス ID 予約済み 218h

サポート されるページ サイズ 21Ch

システム ページ サイズ 220h

VF ベース アドレス レジスタ 0 224h

VF ベース アドレス レジスタ 1 228h

VF ベース アドレス レジスタ 2 22Ch

VF ベース アドレス レジスタ 3 230h

VF ベース アドレス レジスタ 4 234h

VF ベース アドレス レジスタ 5 238h

予約済み 23Ch

予約済み240h-270h

オプシ ョ ン(3)次の Cap Cap.Ver. PCI Express 拡張機能 ID - TPH (Transaction

Processing Hint)274h

機能レジスタ 278h

リ クエスター制御レジスタ 27Ch

予約済み ステア リ ング タグ (上位)

ステア リ ング タグ (下位)

280h

予約済み284h - 2FCh

オプシ ョ ン(3) 次の Cap Cap.Ver. PCI Express 拡張機能 ID - セカンダ リ PCIe 拡張機能

300h

レーン制御 (サポート対象外) 304h

予約済みレーン エラー ステータス

308h

レーン イコラ イゼーシ ョ ン制御レジスタ 0 30Ch

レーン イコラ イゼーシ ョ ン制御レジスタ 1 310h

レーン イコラ イゼーシ ョ ン制御レジスタ 2 314h

レーン イコラ イゼーシ ョ ン制御レジスタ 3 318h

予約済み31Ch-33Ch

表 2-26 : 共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 65: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 65PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

オプシ ョ ン(3) 次の Cap Cap.Ver. PCI Express 拡張機能 ID - MCAP 340h

機能レジスタ 344h

FPGA JTAG ID 348h

FPGA ビッ ト ス ト リーム バージ ョ ン 34Ch

ステータス レジスタ 350h

制御レジスタ 354h

データ書き込みレジスタ 358h

データ読み出しレジスタ 35Ch

予約済み 360h

予約済み 364h

予約済み 368h

予約済み36Ch-3BCh

オプシ ョ ン(3) 次の Cap Cap.Ver. PCI Express 拡張機能 - VC 3C0h

ポート VC 機能レジスタ 1 3C4h

ポート VC 機能レジスタ 2 3C8h

ポート VC ステータス ポート VC 制御 3CCh

VC リ ソース機能レジスタ 0 3D0h

VC リ ソース制御レジスタ 0 3D4h

VC リ ソース ステータス レジスタ 0 3D8h

予約済み400h-FFFh

注記 :

1. MSI 機能構造体は、 Vivado IDE 内での選択内容によって異なり ます。

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

3. PCI Express 拡張コンフ ィギュレーシ ョ ン空間のレイアウ ト (100h-FFFh) は、 有効化されたオプシ ョ ン機能によって変わり ま

す。 この表は、 オプシ ョ ンのすべての拡張機能構造体 (RBAR) が有効な場合での拡張コンフ ィギュレーシ ョ ン空間レイアウ ト

を示しています。

4. SR-IOV オプシ ョ ンが有効に設定されている場合、 デフォルトで有効となり ます。

表 2-26 : 共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 66: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 66PG156 2016 年 8 月 18 日

第 2 章 : 製品仕様

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

31 16 15 0

デバイス ID ベンダー ID 00h

ステータス コマンド 04h

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

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

ベース アドレス レジスタ 0 10h

ベース アドレス レジスタ 1 14h

ベース アドレス レジスタ 2 18h

ベース アドレス レジスタ 3 1Ch

ベース アドレス レジスタ 4 20h

ベース アドレス レジスタ 5 24h

Cardbus CIS ポインター 28h

サブシステム ID サブシステム ベンダー ID 2Ch

拡張 ROM ベース アドレス 30h

予約済み CapPtr 34h

予約済み 38h

Max Lat Min Gnt 割り込みピン 割り込みライン 3Ch

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

31 16 15 0

デバイス ID ベンダー ID 00h

ステータス コマンド 04h

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

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

ベース アドレス レジスタ 0 10h

ベース アドレス レジスタ 1 14h

セカンド ラ ッチ タイマー サブ バス番号 セカンド バス番号 プライマ リ バス番号 18h

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

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

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

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

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

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

予約済み CapPtr 34h

拡張 ROM ベース アドレス 38h

ブリ ッジ制御 割り込みピン 割り込みライン 3Ch

Page 67: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 67PG156 2016 年 8 月 18 日

第 3 章

コアを使用するデザインこの章では、 コアを使用した設計をよ り容易にするためのガイ ド ラインおよび追加情報を紹介します。

共有ロジックこの機能によ り、 PCIe® ブロ ッ クの複数のインスタンス間で共通ロジッ クを共有したり、 または制限事項はあ り ますがほかのコアと共通ロジッ クを共有するこ とができます。 この共有ロジッ クによ り、デザインの 上位モジュールに共有するロジッ クを配置するのに必要な HDL の変更を 小限に抑える こ とができ、 また 上位モジュールの追加ポート を有効にし、 共有を可能にするこ とができます。 共有ロジッ クはエンドポイン ト モードに対してのみ利用でき、 ルート ポート モードでは使用できません。

Vivado® Design Suite ではコアをカスタマイズする と きの [Shared Logic] ページでこのオプシ ョ ンを設定するこ とができます。

ロジッ ク共有には 2 つのタイプがあ り ます。

• コアに含まれた共有ロジッ ク

• サンプル デザインに含まれた共有ロジッ ク

これらの両ケースで GT_COMMON ブロッ クが共有されます。

重要 : [Include Shared Logic in Example Design] オプシ ョ ンをオンにして該当するモジュールがサポート ディレク ト リに生成されるよ うにする場合、 出力ファ イルの生成後に [Open IP Example Design] を実行する必要があ り ます。 [IncludeShared Logic in Core] (デフォルト ) オプシ ョ ンをオンにする と、 これらのモジュールがソース ディレク ト リに生成されます。

Page 68: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 68PG156 2016 年 8 月 18 日

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

コアに含まれた共有ロジック

この機能を使用する と、 GT_COMMON ブロッ クをコア内部で共有するこ とができます (サポート ラ ッパーではない)。[Shared Logic] ページで [Include Shared Logic in Core] をオンにして、 この機能を有効にします。 X-Ref Target - Figure 3-1

図 3-1 : コアに含まれた共有ロジック

Page 69: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 69PG156 2016 年 8 月 18 日

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

共有 GT_COMMONGT_COMMON のクワッ ド位相ロッ ク ループ (QPLL) は GT_CHANNEL インスタンスのクワッ ドに使用できます。PCIeコアが X1 または X2 と してコンフ ィギュレーシ ョ ンされていて QPLL を使用している場合、残りの GT_CHANNEL インスタンスは、 同じ QPLL および GT_COMMON を共有するこ とで、 ほかのコアで使用できます。

共有 GT_COMMON インスタンスを使用するには、 [Shared Logic] タブにある [Include Shared Logic in example design]をオンにします。 この機能が選択されている と、GT_COMMON インスタンスがパイプ ラ ッパーからサンプル デザインのサポート ラ ッパーに移動します。 また、 GT_COMMON の共有を容易にするため 上位にポート を追加するこ とができます。

GT_COMMON の共有ロジッ クを使用するこ とによ り、 FPGA リ ソースを節約でき、 また 1 つの GT ク ワ ッ ド内の専用クロ ッ ク配線を抑えるこ とができます。

GTH で GT_COMMON を共有するケース

制限

• PCIe がレート を Gen3 に変更する と、 GTH パイプ ラ ッパーは QPLL を リセッ ト します。 共有コアはこのよ うな状況に対処できなければなり ません。

• パイプ ラ ッパーは通常、Gen1 または Gen2 の場合は PCIe チャネル位相ロッ ク ループ (CPLL) を、Gen3 の場合はQPLL を使用します。 Gen3 PCIe が低速で動作可能な場合、 パイプ ラ ッパーには QPLL が不要となるこ とがあ ります。

• GT_COMMON の設定は PCIe コア用に 適化されているため、 変更するこ とはできません。

表 3-1 : 共有 GT_COMMON の使用ケース

GT – PCIe 最大リンク スピード デバイス – 最大リンク スピード 共有 GT_COMMON

GTH Kintex UltraScale (040) – PCIe Gen3

PCIe パイプ ラ ッパーは、Gen3 の場合は QPLLを、 Gen1/Gen2 の場合は CPLL を使用します。PCIe が Gen3 対応であるにもかかわらず低速で動作している場合、ほかの IP でこれを使用できます。

Page 70: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 70PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-2

図 3-2 : サンプル デザインに含まれた共有ロジック

Page 71: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 71PG156 2016 年 8 月 18 日

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

Tandem コンフ ィギュレーシ ョ ンUltraScale Architecture Gen3 Integrated Block for PCIe ソ リ ューシ ョ ンは、 PCI Express 仕様のタイ ミ ング要件を満たすために、さ らに 2 つのコンフ ィギュレーシ ョ ン方法を提供しています。PCI Express 仕様では、システムが電源安定 (powergood) 状態になってから 100ms 後に PERST# がディアサート され、 PERST# がディアサート されてから 20ms 以内にPCI Express でリ ンク ト レーニングが確立するよ う定められています。 これは、一般的に 「100ms ブート タイム要件」と呼ばれています。 2 つのコンフ ィギュレーシ ョ ン方法は、 タンデム PROM と タンデム PCI Express (PCIe) とそれぞれが呼ばれています。 これらのソ リ ューシ ョ ンは、 この特定の目標を達成するためにデザインされています。 ユーザー アプリ ケーシ ョ ンのダイナミ ッ ク フ ィールド アップデート など、 その他のコンフ ィギュレーシ ョ ンの柔軟性が必要な場合は、 Tandem コンフ ィギュレーシ ョ ンの代わりに一般的なパーシャル リ コンフ ィギュレーシ ョ ンを使用してください。

タンデム PROM と タンデム PCIe は、 どちら も 2 段階のコンフ ィ ギュ レーシ ョ ン手法を採用し ます。 タンデムPROM と タンデム PCIe では、 PCI Express 動作に重要な第 1 コンフ ィ ギュレーシ ョ ン メモ リ セルは、 ローカルPROM を使用してロード されます。 これらのセルのロードが完了する と、 第 1 ビッ ト ス ト リームの終わりに FPGAスタート アップ コマンドが FPGA コンフ ィギュレーシ ョ ン コン ト ローラーへ送信されます。 部分的にコンフ ィギュレーシ ョ ンされた FPGA は、第 1 ビッ ト ス ト リーム コンテンツでアクティブ状態となり ます。完全機能の PCI Expressポート を含む第 1 ビッ ト ス ト リームは、第 2 ビッ ト ス ト リームが FPGA へロード されている間、PCI Express エニュ メレート中に受信される ト ラフ ィ ッ クに応答します。第 1 ビッ ト ス ト リームには、PCI Express ポート全体を機能させるのに必要となる、 PCI Express 統合ブロッ ク、 ギガビッ ト ト ランシーバー、 ブロ ッ ク RAM、 ク ロ ッキング リ ソース、FPGA ロジッ ク、 および配線リ ソースが含まれます。 第 2 ビッ ト ス ト リームには、 ユーザーが指定するアプ リ ケーシ ョ ンやその他のクロ ッキングおよび I/O リ ソースが含まれ、 基本的には残りの FPGA デザインが含まれます。 第 2ビッ ト ス ト リームをロードするためのメカニズムは、 タンデム PROM と タンデム PCIe 間で異なり ます。

サポート されるデバイス

UltraScale Architecture Gen3 Integrated Block for PCIe コアおよび Vivado ツール フローは、 ザイ リ ンクスの リ ファレンス ボード と特定のデバイス /パッケージの組み合わせをターゲッ トにしたインプ リ メ ンテーシ ョ ンをサポート しています。

Vivado Design Suite 2014.4 リ リースでは、 Tandem コンフ ィギュレーシ ョ ンは、特定デバイスに対してのみソフ ト ウェア専用ベータ版と してサポート されています。エンジニア リ ング サンプル 2 (ES2) (Virtex UltraScale) または Production仕様 (Kintex UltraScale) シ リ コンが リ リースされてソフ ト ウェアでサポート されるまで、 ビッ ト ス ト リームの生成はできません。 それまでは、 デザインを実装して、 サポート されるシ リ コンがリ リースされるまで準備しておく こ とができます。 Tandem コンフ ィギュレーシ ョ ンは、 表 3-2 にあるコンフ ィギュレーシ ョ ンをサポート しています。

表 3-2 : タンデム PROM/PCIe がサポートするコンフ ィギュレーシ ョ ン

HDL Verilog のみ

PCIe コンフ ィギュレーション すべてのコンフ ィギュレーシ ョ ン ( 大 : X8Gen3)

ザイリンクス リファレンス ボードのサポート

KCU105 評価ボード (Kintex Ultrascale FPGA 用)VCU107 評価ボード (Virtex Ultrascale FPGA 用)

Page 72: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 72PG156 2016 年 8 月 18 日

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

デバイス サポート

サポート されるデバイス/パッケージの組み合わせ :

デバイス番号 パッケージ [PCIe Block Location] PCIe リセッ トのロケーション

ステータス

Kintex UltraScale

XCKU035 すべて PCIE_3_1_X0Y0 IOB_X1Y103 まだサポート されていない

XCKU040 すべて PCIE_3_1_X0Y0 IOB_X1Y103 ベータ版(1)

XCKU060 すべて PCIE_3_1_X0Y0 IOB_X2Y103 ベータ版

XCKU075 すべて PCIE_3_1_X0Y0 IOB_X1Y103 まだサポート されていない

XCKU100 すべて PCIE_3_1_X0Y0 IOB_X2Y103 まだサポート されていない

XCKU115 すべて PCIE_3_1_X0Y0 IOB_X2Y103 まだサポート されていない

Virtex UltraScale

XCVU065 すべて PCIE_3_1_X0Y0 IOB_X1Y103 まだサポート されていない

XCVU080 すべて PCIE_3_1_X0Y0 IOB_X1Y103 まだサポート されていない

XCVU095 すべて PCIE_3_1_X0Y0 IOB_X1Y103 ベータ版(2)

XCVU125 すべて PCIE_3_1_X0Y0 IOB_X1Y103 まだサポート されていない

XCVU160 すべて PCIE_3_1_X0Y2(3) IOB_X1Y363 まだサポート されていない

XCVU190 すべて PCIE_3_1_X0Y2 IOB_X1Y363 まだサポート されていない

XCVU440 すべて PCIE_3_1_X0Y2 IOB_X1Y363 まだサポート されていない

注記 :

1. タンデム フローのビッ ト ス ト リーム生成は、 Production 仕様の Kintex UltraScale デバイスでのみサポート されます。

2. タンデム フローのビッ ト ス ト リーム生成は、ES2 または Production 仕様シ リ コンの Virtex UltraScale デバイスでのみサポート さ

れます。

3. このロケーシ ョ ンは、Vivado Design Suite 2014.3 で変更されました。以前のバージ ョ ンでは、PCIE_3_1_X0Y1 となっていました。

表 3-2 : タンデム PROM/PCIe がサポートするコンフ ィギュレーシ ョ ン (続き)

Page 73: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 73PG156 2016 年 8 月 18 日

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

タンデム ツール フローの概要

タンデム PROM およびタンデム PCIe ソ リ ューシ ョ ンは、 Vivado Design Suite でのみサポート されています。 これらのソ リ ューシ ョ ンのツール フローは、 次のとおりです。

1. コアのカスタマイズ : 表 3-2 からサポート されるデバイスを選択し、 コンフ ィギュレーシ ョ ン モードに[Advanced] オプシ ョ ンを選択して、 Tandem コンフ ィギュレーシ ョ ン オプシ ョ ンと して [Tandem PROM] または[Tandem PCIe] のいずれかを選択します。

2. コアを生成します。

3. サンプル プロジェク ト を開いて、 サンプル デザインをインプ リ メン ト します。

4. ユーザー プロジェク トで、 サンプル プロジェク トからの IP や XDC を使用して、 コアをインスタンシエート します。

5. ユーザー デザインを合成してインプリ メン ト します。

6. ビッ ト ファ イルを生成し、 次に prom ファ イルを生成します。

タンデム フローの一環と して、 PCIe コア ロジッ クの外部にある特定エレ メン ト も第 1 ビッ ト ス ト リームに含める必要があ り ます。 Vivado DRC は、 これらの状況を認識し、 問題を解決する方法を指示します。 通常、 デザインの制約を変更したり、 追加して問題を解決します。

サンプル デザインが作成される場合には、 特定の制約を含むサンプルの XDC ファ イルが生成され、 これはユーザーが指定するプロジェク トの XDC ファ イルへコピーされる必要があ り ます。 具体的な制約内容は、 サンプル デザインの XDC ファ イルに記載されています。 また、 このサンプル デザイン XDC ファ イルには、 BPI や SPI などのフラ ッシュ デバイス用のオプシ ョ ンの設定方法の例も含まれています。

Tandem コンフ ィギュレーシ ョ ンは、AXI4-Stream バージ ョ ンのコアに対してのみサポート されており、 IP カタログを使用して生成される必要があ り ます。

タンデム PROM タンデム PROM ソ リ ューシ ョ ンは、 ビッ ト ス ト リームを 2 つに分割していますが、 これらのは両方と もオンボードのローカル コンフ ィギュレーシ ョ ン メモ リ (通常は PROM またはフラ ッシュ デバイス) からロード されます。 初のビッ ト ス ト リームは、デザインの PCI Express 部分をコンフ ィギュレーシ ョ ンし、 2 つ目のビッ ト ス ト リームは FPGAの残りの部分をコンフ ィギュレーシ ョ ンします。 図 3-3 に示すよ うに、 デザインは 2 段階に分けられていますが、 生成される BIT ファ イルは 1 つだけであ り、 1 つ目と 2 つ目を両方含みます。

X-Ref Target - Figure 3-3

図 3-3 : タンデム PROM ビッ トス ト リームのロード手順

Page 74: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 74PG156 2016 年 8 月 18 日

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

タンデム PROM VCU107 サンプル ツール フロー

このセクシ ョ ンでは、 VCU107 リ ファレンス ボードをターゲッ トにした場合の Vivado ツール フローを 初から 後まで説明します。 このフローを説明する上で表示されるパスおよびポインター名には、デフォルトのコンポーネン ト名 「 pcie3_ultrascale_0」 を使用しています。

1. 新規の Vivado プロジェク ト を作成して、 表 3-2 にあるデバイス /パッケージの組み合わせを選択します。

2. Vivado IP カタログで、 [Standard Bus Interfaces] → [PCI Express] を展開表示し、 [Ultrascale FPGA Gen3 Integrated Block for PCI Express] をダブルク リ ッ ク して [Customize IP] ダイアログ ボッ クスを開きます。

3. [Customize IP] ダイアログ ボッ クスの [Basic] タブで、次のよ うにオプシ ョ ンが選択されているこ とを確認します。

° [Mode] : Advanced

° [PCIe Block Location] : X0Y0

° [Tandem Configuration or Partial Reconfiguration] : Tandem PROM

X-Ref Target - Figure 3-4

図 3-4 : Vivado IP カタログ

Page 75: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 75PG156 2016 年 8 月 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 またはフラ ッシュ デバイスのビッ ト ス ト リームを生成するため、適切な設定を行います。詳細は、85 ページの 「デバイスのプログラム」 を参照してください。

X-Ref Target - Figure 3-5

図 3-5 : タンデム PROM

Page 76: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 76PG156 2016 年 8 月 18 日

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

9. ビッ ト ス ト リームを生成します。

合成およびインプ リ メンテーシ ョ ン完了後、 Flow Navigator で [Generate Bitstream] をク リ ッ ク します。 Tandem コンフ ィギュレーシ ョ ンをサポートするビッ ト ス ト リームが runs ディレク ト リに生成されます。例 : ./pcie_ultrascale_0_example.runs/impl/xilinx_pcie3_uscale_ep_tandem.bit

重要 : Tandem コンフ ィギュレーシ ョ ンをサポートするシ リ コンが リ リースされるまでビッ ト ス ト リームの生成はできません。 詳細は、 ザイ リ ンクスまでお問い合わせください。

注記 : 第 1 段階と第 2 段階のビッ ト ス ト リームを個別に生成するオプシ ョ ンがあ り ます。 このフローでは、 テスト用の JTAG インターフェイスを使用して、各段階のビッ ト ス ト リーム ロードを制御できます。ビッ ト ス ト リーム生成に必要なコマンドを次に示します。 このコマンドは、 Tcl スク リプ トに追加した り、 ビッ ト ス ト リームの書き込み段階の tcl.pre ファ イルと して含めるこ とができます。 これは [Bitstream Settings] ダイアログ ボッ クスの tcl.pre 設定の中で指定できます。

set_property HD.SEPARATE_BITSTREAMS TRUE [current_design]

生成されたビッ ト ファイル名は、xilinx_pcie3_uscale_ep_tandem1.bit および xilinx_pcie3_uscale_ep_tandem2.bit とな り ます。

10. PROM ファ イルを生成します。

Vivado の Tcl コンソールで、 次のコマンドを実行して、 VCU107 開発ボードでサポート される PROM ファ イルを作成します。

write_cfgmem -format mcs -interface BPI -size 256 -loadbit "up 0x0 xilinx_pcie3_uscale_ep.bit" xilinx_pcie3_uscale_ep.mcs

タンデム PROM のまとめ

タンデム PROM を使用するこ とによ り、 UltraScale アーキテクチャ デザインの PCIe 部分をコンフ ィギュレーシ ョ ンするのに必要な時間を大幅に短縮できます。 UltraScale Architecture Gen3 Integrated Block for PCIe コアがデザインの詳細の多くを管理するため、 設計者はユーザー アプリ ケーシ ョ ンに集中できます。

タンデム PCIeタンデム PCIe は、 タンデム PROM と類似しています。 第 1 段階のビッ ト ス ト リームには、 PCI Express 動作に必要なコンフ ィギュレーシ ョ ン メモ リ セルのみが PROM からロード されます。 第 1 段階のビッ ト ス ト リームがロード された後、 PCI Express ポートは、 エニュ メ レーシ ョ ン ト ラフ ィ ッ クに応答します。 これに続いて、 第 2 段階のビッ トス ト リームが PCI Express リ ンクから送信されます。 図 3-6 に、 ビッ ト ス ト リームのロード フローを示します。

X-Ref Target - Figure 3-6

図 3-6 : タンデム PCIe ビッ トス ト リームのロード手順

Page 77: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 77PG156 2016 年 8 月 18 日

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

タンデム PCIe は、ツール フローとビッ ト ス ト リーム生成に関して言えば、今使用されている標準モデルに類似しています。 2 つのビッ ト ス ト リームは、ビッ ト ス ト リーム生成が実行される と生成されます。第 1 段階を表す BIT ファイルが PROM にダウンロード される間、 ユーザー アプリ ケーシ ョ ン (第 2 段階) を表すも う一つの BIT ファ イルが MediaConfiguration Access Port (MCAP) を使用して FPGA の残りの部分をコンフ ィギュレーシ ョ ンします。

注記 : 第 2 ビッ ト ス ト リームのフ ィールド アップデート、つま り不変の第 1 ビッ ト ス ト リームの複数のユーザーアプリ ケーシ ョ ン イ メージは、 2014.3 リ リースの時点でまだサポート されていません。

タンデム PCIe VCU107 サンプル ツール フロー

このセクシ ョ ンでは、 VCU107 リ ファレンス ボードをターゲッ トにした場合の Vivado ツール フローを 初から 後まで説明します。 このフローを説明する上で表示されるパスおよびポインター名には、デフォルトのコンポーネン ト名 「 pcie3_ultrascale_0 」 を使用しています。

1. 新規の Vivado プロジェク ト を作成して、 表 3-2 にあるデバイス /パッケージの組み合わせを選択します。

2. Vivado IP カタログで、 [Standard Bus Interfaces] → [PCI Express] を展開表示し、 [Ultrascale FPGA Gen3 IntegratedBlock for PCI Express] をダブルク リ ッ ク して [Customize IP] ダイアログ ボッ クスを開きます。

3. [Customize IP] ダイアログ ボッ クスの [Basic] タブで、次のよ うにオプシ ョ ンが選択されているこ とを確認します。

° [Mode] : Advanced

° [PCIe Block Location] : X0Y0

° [Tandem Configuration or Partial Reconfiguration] : Tandem PCIe

X-Ref Target - Figure 3-7

図 3-7 : Vivado IP カタログ

Page 78: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 78PG156 2016 年 8 月 18 日

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

4. サンプル デザインのソフ ト ウェアは、 ベンダー ID およびデバイス ID を使用してデバイスに接続します。 ベンダー ID は 16'h10EE、 デバイス ID は 16'h8038 とな り ます。 [PFO IDs] タブで次のよ うに設定します。

° [Vendor ID] : 10EE

° [Device ID] : 8038

注記 : 別のソ リ ューシ ョ ンの場合は、 ベンダー ID およびデバイス ID を変更し、 ソフ ト ウェアをアップデート して新しい値と一致させます。

X-Ref Target - Figure 3-8

図 3-8 : タンデム PCIe

Page 79: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 79PG156 2016 年 8 月 18 日

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

5. その他に必要な PCIe カスタマイズを実行し、 [OK] をク リ ッ ク してコアを生成します。

コアが生成される と、 Vivado IDE の [Source] ウ ィンド ウにコアの階層が表示されます。

6. [Sources] ウ ィンド ウでコアを右ク リ ッ ク し、 [Open IP Example Design] をク リ ッ ク します。

Vivado の新しいインスタンスが開き、サンプル デザイン プロジェク トが自動的に Vivado IDE にロード されます。

7. 合成およびインプ リ メンテーシ ョ ンを実行します。

Flow Navigator で [Run Implementation] をク リ ッ ク します。合成を先に実行するには、 [OK] をク リ ッ ク します。完全ツール フローによってデザインが実行され、 タンデム PCIe をサポートする完全に配線されたデザインが作成されます。

8. PROM またはフラ ッシュを設定します。

PROM またはフラ ッシュ デバイスのビッ ト ス ト リームを生成するため、適切な設定を行います。詳細は、85 ページの 「デバイスのプログラム」 を参照してください。

9. ビッ ト ス ト リームを生成します。

合成およびインプ リ メ ンテーシ ョ ン完了後、 Flow Navigator で [Generate Bitstream] をク リ ッ ク します。 次の 2 つのファイルが作成されて、 runs ディレク ト リに保存されます。

xilinx_pcie3_uscale_ep_tandem1.bit|xilinx_pcie3_uscale_ep_tandem2.bit

重要 : Tandem コンフ ィギュレーシ ョ ンをサポートするシ リ コンが リ リースされるまでビッ ト ス ト リームの生成はできません。 詳細は、 ザイ リ ンクスまでお問い合わせください。

X-Ref Target - Figure 3-9

図 3-9 : [PFO IDs] タブ

Page 80: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 80PG156 2016 年 8 月 18 日

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

10. 第 1 段階用の PROM ファ イルを生成します。

Vivado の Tcl コンソールで、 次のコマンドを実行して、 VCU107 開発ボードでサポート される PROM ファ イルを作成します。

write_cfgmem -format mcs -interface BPI -size 256 -loadbit "up 0x0 xilinx_pcie3_uscale_ep_tandem1.bit" xilinx_pcie3_uscale_ep_tandem1.mcs

PCI Express を用いた第 2 ビッ トス ト リームのロード

サンプル カーネル モード ド ラ イバーとユーザー空間アプリ ケーシ ョ ンは、 IP と共に提供されます。 関連するソフ トウェアおよび資料の詳細、 AR 51950 を参照してください。

タンデム PCIe のまとめ

タンデム PCIe を使用するこ とによ り、 UltraScale アーキテクチャ デザインの PCIe 部分をコンフ ィギュレーシ ョ ンするのに必要な時間を大幅に短縮でき、またビッ ト ス ト リーム フラ ッシュ ス ト レージの要件も軽減できます。UltraScaleArchitecture Gen3 Integrated Block for PCIe コアがデザインの詳細の多くを管理するため、設計者はユーザー アプリ ケーシ ョ ンに集中できます。

ユーザー ハードウェア デザインでのタンデムの使用

ユーザー デザインにタンデム フローを適用するには 2 つの方法があ り ます。1 番目はコアと共に配布されるサンプルデザインを使用する方法です。 2 番目は、 既存デザインに PCIe IP をインポート して、 必要に応じてデザインの階層を変更する方法です。

いずれの方法でも、 タンデム ソ リ ューシ ョ ンに必要なサンプルのクロ ッ ク供給構造、 タイ ミ ング制約、および物理ブロ ッ ク (Pblock) 制約を得るために PCIe サンプル デザインを作成する必要があ り ます。

方法 1 - 既存 PCI Express サンプル デザインの使用

PCI Express コアで必要な作業という観点から見る と、 これが も簡単な方法ですが、すべてのユーザーにとって実現可能というわけではあ り ません。 このアプローチがデザイン構造上のニーズに見合う場合は、次の手順に従ってください。

1. サンプル デザインを作成します。

「タンデム PROM VCU107 サンプル ツール フロー」 および 「タンデム PCIe VCU107 サンプル ツール フロー」 で説明されている とおりにサンプル デザインを生成します。

2. ユーザー アプリ ケーシ ョ ンを挿入します。

PIO サンプル デザインをユーザー デザインに置き換えます。I/O やグローバル ク ロ ッキングなどのグローバルおよび 上位エレ メン トは 上位デザインに挿入するこ とを推奨します。

ボード デザインの要件に応じて、SPI または BPI フラ ッシュ プログラ ミ ングの設定についてコ メン ト を外す、または変更します。

3. 通常どおりにデザインをインプ リ メン ト します。

Page 81: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 81PG156 2016 年 8 月 18 日

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

方法 2 - PCIe デザインを新規 Vivado プロジェク トに移行

方法 1 を利用できない場合は、次の手順に従って PCIe コアおよび目的のタンデム フロー (PROM または PCIe) を新しいプロジェク トで使用します。 サンプル デザインにはユーザーデザインに移行する必要のある RTL およびスク リプトが数多くあ り ます。

1. サンプル デザインを作成します。

「タンデム PROM VCU107 サンプル ツール フロー」 および 「タンデム PCIe VCU107 サンプル ツール フロー」 で説明されている とおりにサンプル デザインを生成します。

2. ク ロ ッ ク モジュールを移行します。

コア生成時に [Shared Logic] タブの [Include Shared Logic (Clocking) in the example design] オプシ ョ ンがオンになっている場合、 pipe_clock_i ク ロ ッ ク モジュールはサンプル デザインの 上位にインスタンシエート されます。必要な PCIe ク ロ ッ クを供給するため、 このクロ ッ ク モジュールをユーザー デザインへ移行する必要があ ります。

注記 : これらのクロ ッ クは必要であればユーザー デザインのほかの箇所に使用できます。

3. 上位制約を移行します。

サンプルのザイ リ ンクス デザイン制約 (XDC) ファ イルには、PCIe コア用のタイ ミ ング制約、ロケーシ ョ ン制約、および Pblock 制約が含まれています。 これらの制約はすべて (I/O ロケーシ ョ ンおよび I/O 規格制約を除く ) ユーザーデザインに移行させる必要があ り ます。制約の中には、デザインの階層がサンプル デザインのものとは異なる場合にアップデート しなければならない階層参照を含むものがあ り ます。

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. サンプル デザインの XDC ファ イルから適切な SPI または BPI の設定をコピーして、 ユーザー デザインの XDCファ イルに貼り付けます。

7. 通常どおりにデザインをインプ リ メン ト します。

Page 82: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 82PG156 2016 年 8 月 18 日

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

Tandem コンフ ィギュレーシ ョ ンの RTL デザイン

Tandem コンフ ィギュレーシ ョ ンの場合、 タンデム以外の PCI Express 製品から若干の変更が必要になり ます。 このセクシ ョ ンでは、 コア内に統合されている追加ロジッ ク と、 タンデム PROM ソ リ ューシ ョ ンをインプ リ メ ン トするために追加されるユーザー アプリ ケーシ ョ ンの役割について説明します。

クリテ ィ カル入力の多重化

コアへの入力ポートの一部は、 2 番目のコンフ ィギュレーシ ョ ン プロセス中に無効になるよ うに、 多重化されます。これらのマルチプレクサーは 上位のコア ファ イルにあ り、 mcap_design_switch 信号で制御されます。

これらの入力は、 第 2 段階のビッ ト ス ト リームがロード されている間ディアサート状態に保たれます。 これで、 第 2段階のド ライバーがないために発生する不要なグ リ ッチを防ぎ、 PCIe コアは有効な状態に保たれます。mcap_design_switch がアサート される と、 マルチプレクサーは切り替わり、すべてのインターフェイス信号がこの資料で説明されているよ うに動作します。

TLP リクエスト

コンフ ィギュレーシ ョ ン リ クエス ト パケッ ト を受信するほか、 PCI Express エン ドポイン ト は、 PCI Express ハード ブロ ッ ク内で処理されない TLP リ クエス ト を受信する場合があ り ます。 通常、受信する TLP リ クエス トは、ベンダー定義メ ッセージや読み出し リ クエス ト とな り ます。 第 2 段階のビッ ト ス ト リームがロード される前、 TLP リクエス トは UR (サポート されないリ クエス ト ) を返します。第 2 段階のロードが完了する と、mcap_design_switch出力がアサート されて、 TLP リ クエス トはユーザー デザインで定義されたとおりに機能します。

Tandem コンフ ィギュレーシ ョ ンのロジック

コアおよびサンプル デザインには、 Tandem コンフ ィギュレーシ ョ ンに特化したポート (信号) が含まれています。 これらの信号は第 1 段階 (コア) と第 2 段階 (ユーザー ロジッ ク ) 間にハンドシェイ クを提供します。 ハンドシェイ クはコアとユーザー ロジッ ク間の通信に必要なものです。表 3-3 には、コアのハンドシェイ クポートが定義されています。

これらの信号は、 「Tandem コンフ ィギュレーシ ョ ンの詳細」 に説明されている出力ト ラ イステート バッファーの リリースなど、ユーザー アプリ ケーシ ョ ンでのイベン ト を調整します。これらの信号に関する追加情報は次のとおりです。

• mcap_design_switch は、 第 2 段階がロード された後にアサート されます。

• mcap_eos_out は、 STARTUP プリ ミ ティブからの EOS 信号のパス スルー出力です。 この出力は、 第 1 段階がロード されるまでディアサート状態となり、第 1 と第 2 の間でアサート され、第 2 段階の終わりで再びアサートされます。 FPGA DONE ピンも タンデム ビッ ト ス ト リームをロードする際に同様の動作を示します。

• user_reset も同様に、コア自体がリセッ ト される と きに、コアと通信する任意のロジッ クを リセッ トするために使用できます。

表 3-3 : ハンドシェイク ポート

名称 方向 極性 説明

mcap_design_switch 出力 アクティブ High

第 2 段階のユーザー ロジッ クへの切り換えが完了したこ とを示します。

0 : 第 2 段階のロードは完了していない

1 : 第 2 段階のロードが完了している

mcap_eos_out 出力 アクティブ High STARTUP プリ ミ ティブの End of Startup (EOS) ピンからのパス スルー出力です。

user_reset 出力 アクティブ HighPCIe がリセッ ト される と きに、PCIe インターフェイス ロジッ クを リセッ トするために使用できます。 user_clock と同期します。

user_clk 出力 N/A PCIe インターフェイス ロジッ クで使用されるクロ ッ クです。

user_lnk_up 出力 アクティブ High PCI Express コアがホス ト デバイス と リ ンク アップしたこ とを示します。

Page 83: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 83PG156 2016 年 8 月 18 日

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

• user_clk は、 PCIe IP コアで使用される メ インの内部クロ ッ クにすぎません。 このクロ ッ クを使用して、 コアと直接通信するユーザー ロジッ ク と同期化させます。

• user_lnk_up は、 名前が示すとおり、 確立された リ ンク上で PCIe コアが現在動作しているこ とを示します。

ユーザー アプリケーシ ョ ン ハンドシェイク

タンデム ソ リ ューシ ョ ンが PCI Express ブロッ クのコア制御とユーザー アプリ ケーシ ョ ンとの間で切り換えを行うには、 FPGA 内に内部コンプリーシ ョ ン イベン トが存在する必要があ り ます。 この切り換えメカニズムが必要な理由については、 「ク リティカル入力の多重化」 で説明しています。 タンデム ソ リ ューシ ョ ンは、 STARTUP ブロッ ク と専用の EOS (End Of Startup) 信号を使用して第 2 段階のプログラ ミ ングが完了したこ とを認識し、その後 PCI Express ブロックの制御をユーザー アプリ ケーシ ョ ンに切り替えます。 この切り換えが生じる と、 mcap_design_switch がアサート されます。

デザイン内の別の機能で STARTUP ブロ ッ クが必要な場合は、その IP の外側に STARTUP プリ ミ ティブを含むよ うにIP を生成し、デザイン内の IP mcap_eos_in 入力に EOS 出力を接続してください。IP の外側に STARTUP プリ ミ ティブを生成するには、 Vivado IDE でコアをカスタマイズする際に [Use an external STARTUP primitive] オプシ ョ ンをオンにします。

Tandem コンフ ィギュレーシ ョ ンの詳細

I/O 動作

Tandem コンフ ィギュレーシ ョ ン デザインの ト ランシーバーの第 1 段階に必要な各 I/O については、 その I/O が存在するバンク全体を第 1 段階のビッ ト ス ト リームでコンフ ィギュレーシ ョ ンする必要があ り ます。 このバンクのほかに、 コンフ ィギュレーシ ョ ン バンク (65) も有効とな り、 これら 2 つのバンク (ただし、 リセッ ト ピンがコンフ ィギュレーシ ョ ン バンクの中にある場合は 1 つ) に次の詳細が適用されます。 PCI Express の場合、第 1 段階で必要な信号はsys_reset 入力ポートのみです。このため、 sys_reset と同じ I/O バンクにある第 2 段の I/O も第 1 段階でコンフ ィギュレーシ ョ ンされます。 sys_reset と同じ I/O バンクにあるピンは内部接続されないので、この内部接続が 2 番目のコンフ ィギュレーシ ョ ンで完了するまで、 出力ピンの動作は予期しないものになり ます。 また、 第 2 段階での機能に初期化が必要なコンポーネン トは、第 2 段階がプログラムされた後にそのデザインでリセッ ト されない限り、 これらの I/O バンクには配置しないでください。

出力ピンは、 sys_reset ピンと同じバンクに配置する必要があ り、 それらの値を 2 番目のコンプ リーシ ョ ンの前にフローティング状態にできない場合は、 次の方法で対処できます。 1 番目のコンプ リーシ ョ ン (出力がアクティブになる と き ) から 2 番目のコンプリーシ ョ ン (ド ラ イバー ロジッ クがアクティブになる と き ) までの間、 ト ラ イステート状態に保持される OBUFT を使用します。 イネーブル ピンの制御には mcap_design_switch 信号を使用でき、 ハンドシェイ ク イベン トが完了する と きにその出力を リ リースします。

ヒン ト : 上位デザインで OBUFT を自動推論またはインスタンシエート して ください。 mcap_design_switch でイネーブル (ポート名は T) を制御しますが、 このと き極性に注意してください。

OBUFT test_out_obuf (.O(test_out), .I(test_internal), .T(!mcap_design_switch));

以下の構文を例と して使用し、 リセッ ト ピン ロケーシ ョ ンを含めるため Pblock を作成します。 この Pblock には、 バンク全体の I/O のほかに、関連する XiPhy およびクロ ッキング プリ ミ ティブが含まれています。パーシャル コンフ ィギュレーシ ョ ンの境界と揃う よ うに、 FPGA スライス リ ソースの 初の列も、 この Pblock に含まれる必要があ り ます。 この領域に配置されるべきすべてのロジッ クは、 Pblock に追加する必要があ り、 HD.TANDEM プロパティを使用して第 1 ロジッ ク と特定されます。 このロジッ クは、 第 1 段階がロード された後にアクティブになり ますが、 第 2 段階がロード されるまでロジッ クの駆動はアクティブになり ません。このこ とを踏まえた上で、システム デザインを構築する必要があ り ます。これらは、Pblock 内でグループ化しておく こ とを推奨します。出力ポート 「test_out_obuf」の例を次に示します。

# Create a new Pblock create_pblock IO_pblock

set_property HD.TANDEM 1 [get_cells <my_cell>]

Page 84: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 84PG156 2016 年 8 月 18 日

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

# Range the Pblock to include the entire IO Bank and the associate XiPhy and clocking primitives. resize_pblock [get_pblocks IO_pblock] -add { \ IOB_X1Y52:IOB_X1Y103 \ SLICE_X86Y60:SLICE_X86Y119 \ MMCME3_ADV_X1Y1 \ PLLE3_ADV_X1Y2:PLLE3_ADV_X1Y3 \ PLL_SELECT_SITE_X1Y8:PLL_SELECT_SITE_X1Y15 \ BITSLICE_CONTROL_X1Y8:BITSLICE_CONTROL_X1Y15 \ BITSLICE_TX_X1Y8:BITSLICE_TX_X1Y15 \ BITSLICE_RX_TX_X1Y52:BITSLICE_RX_TX_X1Y103 \ XIPHY_FEEDTHROUGH_X4Y1:XIPHY_FEEDTHROUGH_X7Y1 \ RIU_OR_X1Y4:RIU_OR_X1Y7 \}

# Add components and routes to first stage external Pblock# This constraint should be repeated for each primitive within this pblock region

add_cells_to_pblock [get_pblocks IO_pblock] [get_cells test_out_obuf]

# Identify the logic within this pblock as stage1 logic by applying the HD.TANDEM property.# This constraint should be repeated for each primitive within this pblock region set_property HD.TANDEM 1 [get_cells test_out_obuf]

第 2 段階のコンフ ィギュレーシ ョ ン中、 デザイン内の残りのユーザー I/O は、 デフォルトで High にプルアップされます。 High に保持されている間、 PUDC_B ピンを使用する と、 上述の 3 つを超えるバンク内のすべての I/O がト ライステートにな り ます。 タンデム PCIe の場合、 第 1 段階と第 2 段階の間には相当な時間が生じ、 その時点でこれらのピンはコンフ ィギュレーシ ョ ンされていないため、 各 I/O の内部の弱いプルダウンによって Low に接続されます。

コンフ ィギュレーシ ョ ン ピンの動作

DONE ピンは標準アプローチでのコンフ ィギュレーシ ョ ンの完了を示します。 このピンは Tandem コンフ ィギュレーシ ョ ンにも使用されますが、 その動作は少し異なり ます。 DONE は、 スタート アップ シーケンスが実行される と き、1 番目のコンフ ィギュレーシ ョ ンの 後で High になり、2 番目のロードが始まる と Low に戻り ます。タンデム PROMの場合、 2 番目が同じビッ ト ファ イルにあるので、 この動作がすぐに開始します。 タンデム PCIe の場合、第 2 段階のビッ ト ス ト リームが PCIe MCAP に転送される と きにこの動作が発生します。 DONE ピンは 2 番目のコンフ ィギュレーシ ョ ンの 後に High になりその状態を維持します。

コンフ ィギュレーシ ョ ン パーシスト (タンデム PROM の場合のみ)

UltraScale デバイスでタンデム PROM コンフ ィギュレーシ ョ ンを使用する場合は、 コンフ ィギュレーシ ョ ン パーシス ト (Persist) が必要です。第 1 および第 2 段階コンフ ィ ギュレーシ ョ ンで使用された多目的 I/O は、第 2 段階コンフ ィギュレーシ ョ ンが完了した後ユーザー I/O と して使用できません。

使用するコンフ ィギュレーシ ョ ン モードに対して 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.

タンデム PROM を使用するには、 これらのサイ ト を使用しているユーザー I/O の位置を変更する必要があ り ます。

Page 85: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 85PG156 2016 年 8 月 18 日

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

PROM の選択

コンフ ィギュレーシ ョ ン PROM には、 Tandem コンフ ィギュレーシ ョ ンに対する特定要件はあ り ませんが、 100ms 仕様を満たすには、 次の 3 つの条件を満たす PROM を選択する必要があ り ます。

1. ザイ リ ンクス コンフ ィギュレーシ ョ ンでサポート されているこ と。

2. 1 番目と 2 番目の両方のコンフ ィギュレーシ ョ ンに合わせてサイズ調整されているこ と。つま り、ビッ ト ス ト リーム全体が入るだけのサイズの PROM であるこ と。

° タンデム PROM の場合、 第 1 段階と第 2 段階の両方のビッ ト ス ト リームがこ こに格納されます。 このビット ス ト リームは標準ビッ ト ス ト リームよ り も若干サイズが大き くな り ます (4 ~ 5% 大きい)。

° タンデム PCIe の場合、 ビッ ト ス ト リームのサイズは約 1MB ですが、デザインのインプリ メンテーシ ョ ン結果、 デバイス選択、 および圧縮効果によって多少変わり ます。

3. 第 1 段階のビッ ト ス ト リーム サイズおよびビッ ト ス ト リームのロード時間の予測に基づき、 PCI Express のコンフ ィギュレーシ ョ ン時間要件を満たすこ と。「Tandem コンフ ィギュレーシ ョ ンのビッ ト ス ト リーム ロード時間の計算」 を参照。

サポート されている PROM およびデバイス ビッ ト ス ト リーム サイズの リ ス トは、 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ガイ ド』 (UG570) を参照してください。

デバイスのプログラム

タンデム ビッ ト ス ト リームを PROM にプログラムするにあたり、標準ビッ ト ス ト リームをプログラムする場合と比較して特に注意事項はあ り ません。 タンデム ビッ ト ス ト リームは、 JTAG、 スレーブ/マスター SelectMAP、 SPI、 BPI など、 すべての標準プログラ ミ ング方法でプログラムできます。 いずれのプログラ ミ ング方法を使用した場合でも、 第1 段階のビッ ト ス ト リームがロード されて動作が開始した後に DONE ピンがアサート されます。

SPI または BPI のフラ ッシュ プログラ ミ ングの準備を整えるには、ビッ ト ス ト リーム生成の前に適切な設定を有効にしておく必要があ り ます。 これは、 次に示すよ うにデザインの XDC ファ イルに特定フラ ッシュ デバイスの設定を追加するこ とで完了します。例は、PCI Express サンプル デザインを使用して生成した制約ファイルの中にあ り ます。使用しているボードおよびフラ ッシュ プログラ ミ ング要件を満たすよ う、 既存のオプシ ョ ン (コ メン ト されている ) をコピーします。

タンデム PROM の例を次に示します。

# BPI Flash Programmingset_property CONFIG_MODE BPI16 [current_design]set_property BITSTREAM.CONFIG.BPI_SYNC_MODE Type1 [current_design]set_property BITSTREAM.CONFIG.CONFIGRATE 33 [current_design]set_property CONFIG_VOLTAGE 1.8 [current_design]set_property CFGBVS GND [current_design]

内部生成された CCLK と外部から供給される EMCCLK の両方が、 SPI および BPI プログラ ミ ングでサポート されています。 EMCCLK は、 コンフ ィギュレーシ ョ ン ク ロ ッ クの耐性が低いため、 高速なコンフ ィギュレーシ ョ ン レートを提供するこ と を目的に使用できます。 Design Suite で EMCCLK を使用する場合の詳細は、 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) を参照してください。

Vivado Design Suite でのコンフ ィギュレーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) を参照して ください。

既知の制限事項

ビッ ト ス ト リームの暗号化は、Tandem コンフ ィギュレーシ ョ ンでサポート されていません。第 1 段階がコンフ ィギュレーシ ョ ンされてデバイスがアクティブになる と、 第 2 段階のビッ ト ス ト リーム (暗号されている /暗号化されていない) を転送するには内部のコンフ ィギュレーシ ョ ン ポート (ICAP または MCAP) しか使用できません。 このため、 タンデム PROM は、 暗号化されたビッ ト ス ト リームをサポートできません。 タンデム PCIe に関しては、 今後のリ リースで検討されています。

Page 86: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 86PG156 2016 年 8 月 18 日

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

タンデム PROM/PCIe のリソース制限

PCIe IP は、第 2 段階のビッ ト ス ト リームの FPGA へのロードが完了した直後に発生するグローバル チップ リセッ ト(GSR) からは切り離しておく必要があ り ます。 このため、 1 番目と 2 番目のロジッ クは同じコンフ ィギュレーシ ョ ンフレームに配置できません。 PCIe IP で使用されるコンフ ィギュレーシ ョ ン フレームは、 シ リ アル ト ランシーバー、I/O、 FPGA ロジッ ク、 ブロ ッ ク RAM、 またはクロ ッキングから構成されていて、 1 つのク ロ ッ ク領域を垂直方向に占拠します。 リ ソース制限は次のとおりです。

• 1 つの GT クワ ッ ドには、 4 つのシ リ アル ト ランシーバーが含まれています。 X1 または X2 デザインでは、 このGT ク ワ ッ ド全体が使用され、 未使用のシ リ アル ト ランシーバーはユーザー アプ リ ケーシ ョ ンで使用できません。 使用される GT クワ ッ ド数は、 Vivado IDE でコアをカスタマイズする際に選択した GT クワ ッ ドによって異なり ます。

• 第 1 段階の I/O バンク と第 2 段階の I/O バンク間の DCI カスケード接続はサポート されていません。

PCIe リセッ ト ピンの移動

一般的に、第 1 段階のビッ ト ス ト リームのサイズを 適化 ( 小化) するためには、専用のリセッ ト配線と専用の PCIeリセッ ト パッケージ ピン (PERSTN0) を使用する必要があ り ます。 これらの選択は、 適用可能な場合にはデフォルトで有効になっています。 この専用リセッ ト を使用できないシステム デザインの場合、 Vivado IDE で専用 PERST 配線リ ソースの使用を無効にする必要があ り ます。 リセッ ト ピン用に新しいロケーシ ョ ンを選択する場合は、第 1 段階でコンフ ィギュレーシ ョ ンされる I/O のロケーシ ョ ンを考慮する必要があ り ます。 コアから物理的に離れた場所に I/Oが配置されている と、第 1 段階に余分なコンフ ィギュレーシ ョ ン フレームが含められてしまいます。 これは、第 1 段階にこれらの I/O を含めるには、 多くの配線リ ソースが必要になるためです。

非プロジェク ト フロー

非プロジェク ト環境では、 プロジェク ト環境と同じ基本アプローチが取られます。 まず、 「タンデム PCIe VCU107 サンプル ツール フロー」 に示すよ うに IP カタログを使用して IP を作成します。 コア生成後の出力ファイルの一つに、コアの詳細をすべて示す .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_ip_0.xci

4. デザインを合成します。 このステップで .xci から IP ソースが生成されます。

synth_design -top <top_level>

注記 : コンテキス ト外の合成を実行する場合は、 制約ファイルを使用して、 インプリ メンテーシ ョ ン中にのみ使用される Pblock 制約を適用する必要があるかもしれません。インプ リ メンテーシ ョ ン中にのみ適用されます。これは、 一部の制約は、 結合されているデザイン全体に依存して制約を適用するためです。

5. Persist ピンを設定するためのコンフ ィギュレーシ ョ ン モードの確認など、デザインに対するすべてのカスタマイズは、 デザインの XDC ファ イル内で行われているこ とを確認します。

Page 87: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 87PG156 2016 年 8 月 18 日

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

6. デザインをインプ リ メン ト します。

opt_designplace_designroute_design

7. ビッ ト ファ イルを生成します。 タンデム PCIe には -bin_file オプシ ョ ンを使用してください。 BIN ファ イルは 32 ビッ トの境界に揃い、 PCIe を使用する第 2 段階ビッ ト ス ト リームのソフ ト ウェア ロードを促進します。

write_bitstream -bin_file <file>.bit

タンデム IP コアのシミ ュレーシ ョ ン

タンデム PROM または Tandm PCIe コアの機能は STARTUP モジュールに依存しているため、 シ ミ ュレーシ ョ ン中にこの点を考慮する必要があ り ます。

PCI Express コアは、 第 2 段階のビッ ト ス ト リームがデバイスにいつロード されたかを認識するため、 EOS 出力信号のアサートに STARTUP ブロ ッ クを利用します。PCIe コアを第 2 段階のロジッ ク と機能させるためにリ リースするのに、 この STARTUP ブロ ッ クをシ ミ ュレーシ ョ ンする必要があ り ます。 これを実行するには、 階層参照を使用し、STARTUP ブロ ッ クに EOS 信号を強制します。 次のコード例はその方法を示したものです。

// Initialize EOS at time 0force board.EP.pcie_ip_support_i.pcie_ip_i.inst.startup_i.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_ip_support_i.pcie_ip_i.inst.startup_i.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_ip_support_i.pcie_ip_i.inst.startup_i.EOS = 1'b1;// Simulate as normal from this point on.

上記の行の PCIe コアへの階層は、 ユーザー デザインのものと一致させるため変更する必要があ り ます。 この行はコアと共に配布されているサンプル シ ミ ュレーシ ョ ンの board.v という ファ イルにもあ り ます。

Tandem コンフ ィギュレーシ ョンのビッ トスト リーム ロード時間の計算

コンフ ィギュレーシ ョ ンのロード時間は、コンフ ィギュレーシ ョ ン ク ロ ッ ク周波数と精度、コンフ ィギュレーシ ョ ンインターフェイスのデータ幅、およびビッ ト ス ト リームサイズによって変わり ます。 この計算は次の 3 つの手順で行われます。

1. 標準クロ ッ ク周波数に基づいて 小クロ ッ ク周波数を計算し、 標準値からの変動値を差し引きます。

小クロ ッ ク周波数 = 標準クロ ッ ク - ク ロ ッ ク変動分

2. 小 PROM 帯域幅を計算します。 これはデータ バス幅、 クロ ッ ク周波数、 PROM タイプによって変わり ます。この PROM 帯域幅は、 小クロ ッ ク周波数をバス幅で乗じた値です。

PROM 帯域幅 = 小クロ ッ ク周波数 * バス幅

3. 第 1 段階のビッ ト ス ト リームのロード時間を計算します。 これは手順 2 からの 小 PROM 帯域幅を write_bitstream でレポート される第 1 段階のビッ ト ス ト リーム サイズで割った値です。

第 1 段階のロード時間 = (PROM 帯域幅) / (第 1 段階のビッ ト ス ト リーム サイズ)

Page 88: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 88PG156 2016 年 8 月 18 日

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

write_bitstream でレポート される第 1 段階のビッ ト ス ト リームサイズは、 ターミナルからまたはログ ファイルから直接読み出すこ とができます。

次は write_bitstream ログからの抜粋で、 VU095 デバイスにおける第 1 段階のビッ ト ス ト リームのサイズを表しています。

Creating bitstream...Tandem stage1 bitstream contains 9175424 bits.Tandem stage2 bitstream contains 277708576 bits.Writing bitstream ./xilinx_pcie_ip.bit...

これらの値は、 2 つに分かれた (1 または 2) ビッ ト ス ト リーム段階のサイズを明示しています。 ビッ ト ス ト リームの圧縮効果はこれらの値に反映されています。

例 1

例 1 のコンフ ィギュレーシ ョ ンは次のとおりです。

• Quad SPI フラ ッシュ (x4) 、 66MHz ± 200ppm で動作

• 第 1 段階のサイズ = 9175424 ビッ ト (8.75Mb)

コンフ ィギュレーシ ョ ンのロード時間の計算手順は次のとおりです。

1. 小クロ ッ ク周波数を計算します。

66MHz * (1 - 0.0002) = 65.98MHz

2. 小 PROM 帯域幅を計算します。

4 ビッ ト * 65.98MHz = 263.92Mb/s

3. 第 1 段階のビッ ト ス ト リームのロード時間を計算します。

8.75Mb / 263.92Mb/s = ~ 0.0332 つま り 33.2ms

例 2

例 2 のコンフ ィギュレーシ ョ ンは次のとおりです。

• BPI (x16) 同期モード、 50MHz ± 100ppm で動作

• 第 1 段階のサイズ = 9175424 ビッ ト (8.75Mb)

コンフ ィギュレーシ ョ ンのロード時間の計算手順は次のとおりです。

1. 小クロ ッ ク周波数を計算します。

50MHz * (1 - 0.0001) = 49.995MHz

2. 小 PROM 帯域幅を計算します。

16 ビッ ト * 49.995MHz = 799.92Mb/s

3. 第 1 段階のビッ ト ス ト リームのロード時間を計算します。

8.75Mb / 799.92Mb/s = ~ 0.0109s つま り 10.9ms

Page 89: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 89PG156 2016 年 8 月 18 日

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

ビッ トス ト リーム圧縮の使用

第 1 段階のビッ ト ス ト リームのサイズを 小限に抑えるこ とがタンデム コ ンフ ィギュレーシ ョ ンの 終目的であるため、 ビッ ト ス ト リーム圧縮は非常に有効です。 このオプシ ョ ンでは、 マルチフレーム書き込みテクニッ クを利用してビッ ト ス ト リームのサイズを縮小するため、 その結果コンフ ィギュレーシ ョ ン時間を短縮できます。圧縮量は各デザインで異なり ます。 タンデムが選択されている場合、 IP レベルの制約で圧縮機能が有効になり ます。 これは、必要に応じてユーザー デザイン制約に上書きできます。 次のコマンドを使用して、 ビッ ト ス ト リーム圧縮を有効化/無効化できます。

set_property BITSTREAM.GENERAL.COMPRESS <TRUE|FALSE> [current_design]

ビッ トス ト リームのロード時間に関するその他の注意事項

ビッ ト ス ト リーム コンフ ィギュレーシ ョ ン時間は、 次の要素によっても影響を受けます。

• 電源の立ち上がり時間 (レギュレータによる遅延など)

• TPOR (パワー オン リセッ ト )

電源の立ち上がり時間はデザインによって異なり ます。立ち上がり時間の長いデザインや遅延の多いデザインは避けてください。 FPGA コンフ ィギュレーシ ョ ンを開始するために必要な FPGA 電源については、 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) を参照してください。

通常、 FPGA の電源はシステム電源と同時またはその少し前に立ち上がり ます。 このよ うな場合、システム電源が安定するまで 100ms はカウン ト されないため、 タイ ミ ング マージンを得るこ とができます。 しかしこれもまたデザインによって異なり ます。 FPGA 電源とシステム電源との関係を理解するには、 システムを特性評価する必要があり ます。

TPOR は、標準電源立ち上がり レートの場合は 57ms、 UltraScale デバイスの高速立ち上がり レートの場合は 20ms です。詳細は、 『Kintex UltraScale アーキテクチャ データシート : DC 特性および AC スイ ッチ特性』 (DS892) および 『VirtexUltraScale アーキテクチャ データシート : DC 特性および AC スイ ッチ特性』 (DS893) を参照してください。

「Tandem コンフ ィギュレーシ ョ ンのビッ ト ス ト リーム ロード時間の計算」 の例 1 (Quad SPI フラ ッシュ [x4]、 66MHz± 200ppm で動作) の 2 つのケースを例に挙げて説明します。

• ケース 1 : ATX 供給がない場合

• ケース 2 : ATX 供給がある場合

3.3V および 12V のシステム電源の後、FPGA 電源は安定レベル (2ms) に達するするものと仮定します。この時間差は TFPGA_PWR と呼ばれます。 この場合、 システム電源の後に FPGA 電源が立ち上がるため、 電源の立ち上がり時間は 100ms のマージンを縮めるこ とになり ます。

テス トする式は次のよ うになり ます。

TPOR + ビッ ト ス ト リーム ロード時間 + TFPGA_PWR < 100ms (ATX がない場合)

TPOR + ビッ ト ス ト リーム ロード時間 + TFPGA_PWR - 100ms < 100ms (ATX がある場合)

ケース 1 : ATX 供給がない場合

ATX 供給がないため、3.3V および 12V のシステム電源が公称電圧の 9% および 8% 内にそれぞれ達する と、100ms がカウン ト さ始めます (詳細は、 『PCI Express Card Electromechanical Specification』 を参照)。

50ms (TPOR) + 33.2ms (ビッ ト ス ト リーム時間) + 2ms (立ち上がり時間) = 85.2ms

85.2ms < 100ms PCIe 標準 (okay)

このケースではマージンは 14.8ms になり ます。

Page 90: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 90PG156 2016 年 8 月 18 日

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

ケース 2 : ATX 供給がある場合

ATX 供給は、 システム電源が安定している と きを示す PWR_OK 信号を供給します。 この信号は実際の電源が安定してから 低 100ms 後にアサート されます。 つま り、 タイ ミ ング マージンにこの 100ms が追加される可能性がある という こ とです。

50ms (TPOR) + 33.2ms (ビッ ト ス ト リーム時間) + 2ms (立ち上がり時間) - 100ms = -14.8ms

-14.8ms < 100ms PCIe 標準 (okay)

このケースではマージンは 114.8ms になり ます。

サンプル ビッ トス ト リーム サイズ

第 1 段階のビッ ト ス ト リームの 終的なサイズは次に示すさまざまな要素の影響を受けて変わり ます。

• IP : 第 1 段階の Pblock のサイズおよび形状が、 第 1 段階に必要なフレーム数を決定します。

• デバイス : デバイスの幅が広いほど、IP をクロ ッキング リ ソースに接続するのに必要な配線フレーム数が多くなり ます。

• デザイン : リセッ ト ピンの位置は、ユーザー アプリ ケーシ ョ ンの追加によってもたら される多くの要素のうちの1 つです。

• 変数 : 使用する GT クワ ッ ドの選択によって、 第 1 段階ビッ ト ス ト リームのサイズが変わり ます。 も効率的にリ ソースを使用するには、 PCI Express ハード ブロ ッ クに隣接する GT クワ ッ ドを使用します。

• 圧縮 : デバイス使用率が高くなる と、 圧縮の効果は低くな り ます。

ベースラインと して、 PCIe IP と共に生成されるサンプル (PIO) デザインのビッ ト ス ト リーム サイズおよびコンフ ィギュレーシ ョ ン時間の例をいくつか示します。

タンデム PCIe 手法を使用して第 2 段階のビッ ト ス ト リームをロードするのにかかる時間は、 次の 3 つの追加要因によって異なり ます。

• PCI Express リ ンクの幅と速度

• MCAP をプログラムするのに使用されたクロ ッ ク周波数

• ルート ポート ホス トがエンドポイン ト FPGA デザインへビッ ト ス ト リームを供給できる効率性。 ほとんどのデザインでは、 これらが制限要因となり ます。

これら 3 つの要因の も低い帯域幅によって、 第 2 段階のビッ ト ス ト リームがロード される速度が決定します。

表 3-4 : ビッ トス ト リーム サイズおよびコンフ ィギュレーシ ョ ン時間の例(1)

デバイス 変数フル ビッ トス ト リーム

フル : BPI16 (50MHz)

タンデム 第 1 段階(2)

タンデム : BPI16(50MHz)

KU040Tandem PROM 122.1Mb 152.7ms 7.6Mb 9.5ms

Tandem PCIe 122.1Mb 152.7ms 7.6Mb 9.5ms

KU060Tandem PROM 184.1Mb 230.1ms 7.6Mb 9.5ms

Tandem PCIe 184.1Mb 230.1ms 7.6Mb 9.5ms

VU095Tandem PROM 273.5Mb 341.8ms 8.8Mb 10.9ms

Tandem PCIe 273.5Mb 341.8ms 8.8Mb 10.9ms

注記 :

1. こ こに示すコンフ ィギュレーシ ョ ン時間には TPOR は含まれていません。

2. PIO デザインは非常に小さいため、 ビッ ト ス ト リーム サイズを小さ くするのに圧縮は非常に効果的です。 これらの数値は、 フ

ル デザ インを使用した場合によ り正確な見積も りができるよ うに、 圧縮なしで得たものです。 これらの値は、 Vivado DesignSuite 2014.4 で PCIe Gen3x8 コンフ ィギュレーシ ョ ンを使用して生成されました。

Page 91: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 91PG156 2016 年 8 月 18 日

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

クロッキングコアには、 100MHz の基準クロ ッ ク入力が必要です。 詳細は、 ザイ リ ンクス PCI Express ソ リ ューシ ョ ン センターの各アンサーを参照してください。

一般的な PCI Express ソ リ ューシ ョ ンでは、PCI Express 基準クロ ッ クはスペク ト ラム拡散クロ ッ ク (SSC) で、100MHzで供給されます。 ほとんどのコマーシャル用の PCI Express システムでは、 SSC をディ スエーブルにするこ とはできません。SSC および PCI Express の詳細は、『PCI Express Base Specification Revision 3.0』 [参照 2] のセクシ ョ ン 4.3.7.1.1を参照してください。

重要 : すべてのアド イン カード デザインは、供給される基準クロ ッ クの特性のため、同期クロ ッ ク供給を使用する必要があ り ます。 スロ ッ ト ク ロ ッ クを使用しているデバイスの場合、 リ ンク ステータス レジスタのスロ ッ ト ク ロ ッ クコンフ ィギュレーシ ョ ンを Vivado IP カタログで有効にする必要があ り ます。 基準クロ ッ クの追加情報は、 98 ページの 「ク ロ ッキング要件」 を参照してください。

各リ ンク パートナー デバイスは同じクロ ッ ク ソースを共有します。図 3-10 および図 3-11 は、100MHz の基準クロ ックを使用するシステムを示しています。

デバイスがエンベデッ ド システムの一部であったと しても、システムがコマーシャル版の PCI Express ルート コンプレッ クスまたはスイ ッチを一般的なマザーボード クロ ッ ク供給で使用する場合は、同期クロ ッ ク供給をやはり使用する必要があ り ます。

注記 : 図 3-10 および図 3-11 では、 ボード レイアウ ト を示しています。 ボード レイアウ ト時には、 カップ リ ング、 終端などが適切に使用されているこ とを確認してください。

X-Ref Target - Figure 3-10

図 3-10 : 100MHz の基準クロックを使用したエンベデッ ド システム

Page 92: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 92PG156 2016 年 8 月 18 日

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

リセッ トこのコアは、 PCI Express 基本リセッ ト中にアサート された非同期でアクティブ Low のリセッ ト信号である sys_reset を使用してシステムを リセッ ト します。 この信号をアサートする と、 GTH ト ランシーバーを含むコア全体がハード リセッ トにな り ます。 この リセッ ト を リ リースした後、 コアはリ ンク ト レインを試み、 また通常操作を再開しよ う と します。 アド イン カードなど一般的なエンドポイン ト アプリ ケーシ ョ ンでは、 サイ ドバンドの リセット信号があ り、sys_reset に接続しておく必要があ り ます。サイ ドバンド システム リセッ ト信号がないエンドポイン ト アプリ ケーシ ョ ンの場合は、 初期ハードウェア リセッ ト をローカルに生成する必要があ り ます。 PCI Express では 4 つのリセッ ト イベン トがあ り ます。

• コールド リセッ ト : 電源を投入する と実行される基本的な リセッ トです。 sys_reset 信号をアサートする と コアがコールド リセッ トにな り ます。

• ウォーム リセッ ト : 電源を切って再投入せずにハードウェアによ り実行される基本的な リセッ トです。sys_reset 信号をアサートする と コアがウォーム リセッ トになり ます。

• ホッ ト リセッ ト : プロ ト コルを介して PCI Express リ ンク上のバンド内で実行する リセッ トで、 エンドポイン ト デバイス全体を リセッ ト します。 この場合は sys_reset は使用されません。 ホッ ト リセッ トの場合は、 リセッ トのソースを示すため cfg_hot_reset_out 信号がアサート されます。

• ファンクシ ョ ン レベル リセッ ト : プロ ト コルを介して PCI Express リ ンク上のバンド内で実行する リセッ トで、特定機能のみを リセッ ト します。 この場合、 コアはリセッ ト される機能に対応する cfg_flr_in_process および/または cfg_vf_flr_in_process のいずれかのビッ ト をアサート します。 リセッ ト される機能に関連するロジッ クは、 リセッ ト プロセスが完了したこ とを示すため、 cfg_flr_done または cfg_vf_flr_done の対応するビッ ト をアサートする必要があ り ます。

FLR が開始される前に、 ソフ ト ウェアは、 特定の機能をターゲッ ト にした ト ラフ ィ ッ クを一時的に無効にします。 FLR が開始される と、 エラー ロギングやエラー通知なしで リ クエス トおよびコンプ リーシ ョ ンが破棄されます。

X-Ref Target - Figure 3-11

図 3-11 : 100MHz の基準クロックを使用したオープン システム アドイン カード

Page 93: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 93PG156 2016 年 8 月 18 日

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

Initiate Function Level Reset ビッ トに 1b を書き込んで FLR が開始された後、この機能は 100ms 以内に FLR およびその他機能固有の初期化を完了する必要があ り ます。

コアのユーザー アプリ ケーシ ョ ンには user_reset 出力信号があ り ます。この信号は user_clk に同期してディアサート されます。 user_reset 信号は次のコンディシ ョ ンが発生する とアサート されます。

• 基本リセッ ト : sys_reset アサート される と発生します (コールドまたはウォーム)。

• コア ラ ッパーのある PLL : ロ ッ クが失われる と、 ク ロ ッ ク入力の安定性に問題があるこ とを示します。

• ト ランシーバー PLL ロ ッ クの損失 : ト ランシーバーがロ ッ クを失う と、 PCI Express リ ンクに問題があるこ とを示します。

記載されているすべてのコンディシ ョ ンが解決した後、 user_reset 信号が user_clk と同期してディアサート され、 コアが ト レインを試み、 平常操作が開始されます。

AXI4-Stream インターフェイスの説明こ こでは、 コアのク ライアン ト側のインターフェイスに関連する機能、 パラ メーター、 および信号の詳細について説明します。

機能の概要

図 3-12 に、 コアのク ライアン ト側のインターフェイスを示します。

Page 94: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 94PG156 2016 年 8 月 18 日

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

このインターフェイスは、 PCIe リ ンク とユーザー アプリ ケーシ ョ ン間でのデータ転送を可能にする 4 つの個別のインターフェイス と して構成されています。

• PCIe のコンプリーター リ クエス ト (CQ) インターフェイスを介して、 リ ンクからの リ クエス トがユーザー アプリ ケーシ ョ ンに送信されます。

X-Ref Target - Figure 3-12

図 3-12 : UltraScale FPGA Gen3 Integrated Block のクライアン ト インターフェイスのブロック図

Page 95: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 95PG156 2016 年 8 月 18 日

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

• PCIe のコンプ リーター コンプリーシ ョ ン (CC) インターフェイスを介して、ユーザー アプリ ケーシ ョ ンが CQ に応答を送り返すこ とができます。 ユーザー アプリ ケーシ ョ ンはすべてのノンポステッ ド ト ランザクシ ョ ンをスプ リ ッ ト ト ランザクシ ョ ンと して処理できません。つま り、 リ クエス トのコンプリーシ ョ ンを送信する と同時に新しいリ クエス ト を CQ インターフェイスで受信し続けるこ とができます。

• PCIe のリ クエスター リ クエス ト (RQ) インターフェイスを介して、 ユーザー アプリ ケーシ ョ ンがリ ンクに接続された遠隔の PCIe デバイスにリ クエス ト を生成できます。

• PCIe のリ クエスター コンプリーシ ョ ン (RC) インターフェイスを介して、統合ブロ ッ クがリ ンクから受け取ったコンプ リーシ ョ ンを (PCIe リ クエスターと してユーザー アプ リ ケーシ ョ ン リ クエス トに応えて) ユーザー アプリ ケーシ ョ ンに返します。

4 つの各インターフェイスは、 『AMBA4® AXI4-Stream プロ ト コル仕様』 [参照 1] に基づいています。 選択したレーンの数と PCIe の世代に応じて、 これら インターフェイスの幅を 64、 128、 または 256 バイ トに設定可能で、 ユーザークロ ッ ク周波数については 62.5、 125、 または 250MHz を選択できます。 表 3-5 に、 統合ブロ ッ クでサポート されるリ ンク幅と リ ンク スピードが異なる場合のインターフェイス幅とユーザー ク ロ ッ ク周波数の有効な組み合わせを示します。 4 つの AXI4-Stream インターフェイスはすべて、 いかなる場合においても同じ幅に設定されます。

さ らに、統合ブロ ッ クには 2 つのインターフェイスが含まれ、 これらのインターフェイスを介してステータス情報がユーザー アプリ ケーシ ョ ンの PCIe のマスター側に通知されます。

• フロー制御ステータス インターフェイスを介して現在利用可能な送信クレジッ トに関する情報を提供します。これによ り、ユーザー アプリ ケーシ ョ ンは利用可能なクレジッ トに基づいて リ クエス ト をスケジューリ ングできます。

• タグ可用性ステータス インターフェイスを介してノンポステッ ド リ クエス トへの割り当てに利用可能なタグの数に関する情報を提供します。 これによ り、 PCIe コン ト ローラー内で使用されているすべてのタグによってブロ ッ ク される危険を伴う こ とな く、 ユーザー アプリ ケーシ ョ ンはリ クエス ト をスケジューリ ングできます。

後に、 統合ブロ ッ クには リ ンクから メ ッセージを受信したこ と をユーザー ロジッ クに示す受信メ ッセージ インターフェイスも含まれ、 CQ インターフェイスを介してメ ッセージ全体が転送されるこ とはあ り ません。

表 3-5 : クライアン ト インターフェイス向けのデータ幅とクロック周波数の設定

PCI Express 世代/最大リンク スピード 可能な最大リンク幅

AXI4-Stream インターフェイス幅

ユーザー クロック周波数 (MHz)

Gen1 (2.5GT/s)

X1 64 ビッ ト 62.5、 125、 または 250

x2 64 ビッ ト 62.5、 125、 または 250

x4 64 ビッ ト 125 または 250

x864 ビッ ト 250

128 ビッ ト 125

Gen2 (5.0GT/s)

X1 64 ビッ ト 62.5、 125、 または 250

x2 64 ビッ ト 125 または 250

x464 ビッ ト 250

128 ビッ ト 125

x8128 ビッ ト 250

256 ビッ ト 125

Page 96: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 96PG156 2016 年 8 月 18 日

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

データ アライメン ト オプシ ョ ン

ト ランザクシ ョ ン層パケッ ト (TLP) は、ディ スク リプターと して各 AXI4-Stream インターフェイスを介して転送され、その後 (TLP にペイロードがある場合は) ペイロード データが続きます。ディ スク リプターには、リ クエス ト インターフェイスに 16 バイ ト幅に固定されたものと、コンプリーシ ョ ン インターフェイスに 12 バイ ト幅に固定されたものがあ り ます。 送信側 ( リ ンク方向へ) では、 統合ブロ ッ クは、 ユーザー アプリ ケーシ ョ ンによって提供されたパラ メーターからの TLP ヘッダーをディ スク リプターで構築します。 受信側 (ク ラ イアン ト方向へ) では、 統合ブロ ッ クは受信した TOP のヘッダーからパラ メーターを抽出し、 ユーザー アプリ ケーシ ョ ンへ送信するためにディ スク リプターを構成します。 各 TLP は、 AXI4-Stream インターフェイス プロ ト コルの定義に従ってパケッ ト と して転送されます。

ペイロードが現れる場合、各データパスのペイロードの 初のバイ トに揃えるために、2 つのオプシ ョ ンがあ り ます。

1. Dword アライ メン ト モード : このモードの場合、ペイロード バイ トが送信される際には必ずそのすぐ後の Dword位置にディ スク リプター バイ トが送信されます。

2. アドレス アライ メン ト モード : このモードの場合、ペイロードはデータパス上の任意のバイ ト位置で開始できます。統合ブロ ッ クからユーザー アプリ ケーシ ョ ンへデータが転送される場合、 初のバイ ト位置は次のよ うに判断されます。

n = A mod w

A は、 ディ スク リプターに指定されたメモ リ または I/O アドレス (メ ッセージおよびコンフ ィギュレーシ ョ ン リクエス トの場合、 このアドレスは 0 と して見なされる ) とな り、 w は、 コンフ ィギュレーシ ョ ンされたデータ バス幅 (バイ ト ) とな り ます。ディ スク リプターの終わり とペイロードの 初のバイ トの開始との間にギャップがある場合、 NULL バイ トで埋められます。

統合ブロ ッ クからユーザー アプリ ケーシ ョ ンへのデータ転送の場合、 データ ブロ ッ クが送信されるユーザー メモ リ内の開始アドレスに基づいてデータ アライ メン トが判断されます。 ユーザー アプリ ケーシ ョ ンから統合ブロ ッ クに転送されるデータについては、 アドレス アライ メン ト モードを使用する と き、 ユーザー アプリ ケーシ ョ ンは明示的に tuser サイ ドバンド信号を用いて統合ブロッ クに 初のバイ トの位置を通知する必要があ り ます。

アドレス アライ メン ト モードの場合、ペイロード とディ スク リプターは重複できません。つま り、 ト ランス ミ ッ ターはディ スク リプターを転送した後ペイロードの転送に着手するため新しいビート を開始します。 ト ランス ミ ッ ターは、 ディ スク リプターの 後のバイ ト とペイロードの 初のバイ ト間にあるギャ ップを NULL バイ トで埋めます。

Vivado IP カタログは、 4 つのインターフェイスすべてに対してデータ アライ メン ト オプシ ョ ンをグローバルに適用します。ただし、上級ユーザーは 4 つの AXI4-Stream インターフェイスそれぞれに対してアライ メン ト モードを個別に選択できます。 この選択には、 対応するアライ メン ト モード パラ メーターを設定しますが、 リ クエスター コンプリーシ ョ ン (RC) インターフェイスはアドレス アライ メン ト モードに設定され得る という制約が伴います。アドレスアライ メン トの詳細と図の例は、 98 ページの 「インターフェイスの動作」 を参照してください。

リクエスター コンプリーシ ョ ン インターフェイスのスト ラ ドル オプシ ョ ン

リ クエスター コンプリーシ ョ ン (RC) インターフェイスが 256 ビッ ト幅に設定される と、 インターフェイスのビートごとに開始できるまたは終了できる TLP の数が 大で 1 つの場合、インターフェイスの使用が著し く非効率になるこ

Gen3 (8.0GT/s)

X1 64 ビッ ト 125 または 250

x264 ビッ ト 250

128 ビッ ト 125

x4128 ビッ ト 250

256 ビッ ト 125

x8 256 ビッ ト 250

表 3-5 : クライアン ト インターフェイス向けのデータ幅とクロック周波数の設定 (続き)

PCI Express 世代/最大リンク スピード 可能な最大リンク幅

AXI4-Stream インターフェイス幅

ユーザー クロック周波数 (MHz)

Page 97: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 97PG156 2016 年 8 月 18 日

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

とがあ り ます。 ただし、 これは TLP のタイプとペイロードのサイズによって異なり ます。 レシーバー クレジッ トが無制限である こ とが示される と (Infinite Receiver Credit)、 RC インターフェイスの非効率な使用が原因でコンプ リーシ ョ ン FIFO のオーバーフローが発生する可能性があ り ます。 次に示すいずれかの措置を行う必要があ り ます。

• 受信した合計コンプ リーシ ョ ンを 64 未満に抑え、 指定した FIFO サイズ内に抑えるために、 未処理のノンポステッ ド リ クエス トの数を制限します。

• RC インターフェイス ス ト ラ ドル オプシ ョ ンを使用します。 このオプシ ョ ンを使用した場合の波形を図 3-66 に示しています。

ス ト ラ ドル オプシ ョ ンは、 256 ビッ ト幅の RC インターフェイスでのみ利用可能で、Vivado IP カタログで有効にします。 IP カタログでこのオプシ ョ ンを有効にする手順は、 第 4 章 「デザイン フローの手順」 を参照して ください。 このオプシ ョ ンが有効の場合、 以前の TLP が終了した時点のバイ ト レーン 16 または同じビートのバイ ト レーン 15 で統合ブロ ッ クは新しいコンプ リーシ ョ ン TLP を開始できます。 したがって、 このオプシ ョ ンが有効の場合、 統合ブロ ッ クは RC インターフェイス上の同じビートで 2 つのコンプリーシ ョ ン TLP を送信できます。 ただし、 いずれも 2Dword 以上のペイロードがないこ とが条件です。

ス ト ラ ドル オプシ ョ ンは、 インターフェイス幅が 256 ビッ トに設定されており、RC インターフェイスが Dword アライ メン ト モードに設定されている場合のみ利用可能です。

表 3-6 に、インターフェイス幅、アドレッシング モードおよびス ト ラ ドル オプシ ョ ンの有効な組み合わせを示します。

受信ト ランザクシ ョ ンの順序

TLP がリ ンクから受信され、 コンプ リーター リ クエス ト インターフェイスを介して送信されるよ う、 また リ クエスター コンプリーシ ョ ン インターフェイスが PCI Express ト ランザクシ ョ ン順序の制約を違反しないよ うに、 コアの受信側にはロジッ クが含まれています。 統合ブロ ッ クによる順序付けは、 次の重要な規則に基づいています。

• ポステッ ド リ クエス トはコンプリーター リ クエス ト (CQ) インターフェイスでノンポステッ ド リ クエス ト を追い越すこ とが求められます。 この機能を有効にするために、 統合ブロ ッ クはフロー制御メカニズムを CQ インターフェイスにインプ リ メ ン ト します。 このインターフェイスを介して、 ユーザー ロジッ クはポステッ ド リ クエス ト に影響を及ぼすこ とな く ノ ンポステッ ド リ クエス ト のフローを制御できます。 ユーザー ロジッ クは、pcie_cq_np_req 信号をアサート してノンポステッ ド リ クエス ト を受信するためのバッファーの利用可否を伝えます。

利用可能なクレジッ トが 0 ではない場合にのみ、 統合ブロ ッ クはノンポステッ ド リ クエス ト をユーザー アプリケーシ ョ ンに送信します。クレジッ ト数が不足しているためノンポステッ ド リ クエス トの送信が中断されている間、 統合ブロ ッ クはポステッ ド リ クエス ト を送信し続けます。 ノンポステッ ド リ クエス トの送信に対してクレジッ ト メカニズムによってバッ クプレッシャーが適用されない場合、統合ブロ ッ クはリ ンクから受信した同じ順序でポステッ ド リ クエス トおよびノンポステッ ド リ クエス ト を送信します。 ノンポステッ ド リ クエス ト のフロー制御については、 117 ページの 「ノンポステッ ド リ クエス トの選択的フロー制御」 を参照してください。

表 3-6 : インターフェイス幅、 アライメン ト モードおよびスト ラ ドル オプシ ョ ンの有効な組み合わせ

インターフェイス幅 アライメン ト モード スト ラ ドル オプシ ョ ン 説明

64 ビッ ト Dword アライ メン ト N/A 64 ビッ ト 、 Dword アライ メン ト

64 ビッ ト アドレス アライ メン ト N/A 64 ビッ ト 、 アドレス アライ メン ト

128 ビッ ト Dword アライ メン ト N/A 128 ビッ ト、 Dword アライ メン ト

128 ビッ ト アドレス アライ メン ト N/A 128 ビッ ト、 アドレス アライ メン ト

256 ビッ ト Dword アライ メン ト 無効256 ビッ ト 、 Dword アライ メン ト、

ス ト ラ ドル無効

256 ビッ ト Dword アライ メン ト 有効

256 ビッ ト 、 Dword アライ メン ト、ス ト ラ ドル有効

( リ クエスター コンプリーシ ョ ン インターフェイスでのみ可)

256 ビッ ト アドレス アライ メン ト N/A 256 ビッ ト、 アドレス アライ メン ト

Page 98: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 98PG156 2016 年 8 月 18 日

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

• PCIe の順序付けでは、 次のケースを除き、 コンプリーシ ョ ン TLP はポステッ ド リ クエス ト を越えて送信できないこ とが要件となっています。

° 緩和型順序付け (Relaxed Ordering) 属性ビッ ト セッ ト を使用するコンプリーシ ョ ン TLP は、ポステッ ド リ クエス ト を追い越すこ とができる。

° コンプ リーター ID がポステッ ド リ クエスター ID と異なる場合、 ID ベースの順序付けビッ ト セッ ト を使用するコンプ リーシ ョ ン TLP はポステッ ド リ クエス ト を追い越すこ とができる。

上記の 2 つのルールのうち 1 つが適用されない限り、前に到着したすべてのポステッ ド TLP の転送が完全に完了するまで、 統合ブロ ッ クはリ クエスター コンプリーシ ョ ン (RC) インターフェイスでリ ンクから受信したコンプリーシ ョン TLP の転送を開始しません。

TLP が完全にク ライアン ト側に転送されたら、ユーザー アプリ ケーシ ョ ンは順序の制約を必要に応じて強化する必要があ り ます。

送信ト ランザクシ ョ ンの順序

送信側では、 統合ブロ ッ クは リ クエスター リ クエス ト (RQ) インターフェイス と コンプ リーター コンプ リーシ ョ ン(CC) インターフェイスで TLP を受信します。 統合ブロ ッ クは、 これらの各インターフェイスから受信した ト ランザクシ ョ ンの順序を変更しません。 リ クエスター側のリ クエス ト と コンプ リーター側のコンプ リーシ ョ ンが 1 つのト ラフ ィ ッ ク ス ト リームに多重化された後、統合ブロ ッ クの転送パイプラインでこれらがどのよ うに順序付けされるのか予測するのは難し くな り ます。 コンプ リーシ ョ ン TLP がリ クエス トに対して順序付けを維持しなければならない場合、 ユーザー ロジッ クは、 CC インターフェイスから送信されるコンプリーシ ョ ンに対して厳密な順序付けを維持する必要がある リ クエス ト に 4 ビ ッ ト のシーケンス番号を提供できます。 これには、 s_axis_rq_tuser バス内のseq_num[3:0] 入力を使用します。 ユーザー アプ リ ケーシ ョ ンからの新しいコンプ リーシ ョ ン TLP が リ クエス トTLP を追い越すこ とができない送信パイプラ イン ポイン ト にこの リ クエス ト TLP が到達する と、 統合ブロ ッ クはシーケンス番号を pcie_rq_seq_num[3:0] 出力に提供し、pcie_rq_seq_num_vld をアサート します。 このメカニズムを次の状況で使用する と、 TLP 順序を維持できます。

• ユーザー ロジッ クでは、 リ クエス ト TLP とその後に続く コンプリーシ ョ ン TLP 間の順序付けを維持するこ とが求められます。 この場合、 ターゲッ トのコンプリーシ ョ ン インターフェイスでコンプ リーシ ョ ン TLP の転送を開始する前に、ユーザー ロジッ クは pcie_rq_seq_num[3:0] 出力にリ クエスター リ クエス トのシーケンス番号が現れるのを待機する必要があ り ます。

• ユーザー ロジッ クでは、 リ クエス ト TLP と、 MSI メ ッセージ インターフェイスを介して提示される MSI/MSI-XTLP 間で順序付けを維持するこ とが求められます。 この場合、 MSI メ ッセージ インターフェイスで MSI またはMSI-X を提示する前に、ユーザー ロジッ クは pcie_rq_seq_num[3:0] 出力にリ クエスター リ クエス トのシーケンス番号が現れるのを待機する必要があ り ます。

クロッキング要件コアのク ライアン ト インターフェイス信号はすべてユーザー ク ロ ッ ク (user_clk) と同期が取られ、 設定された リンク スピード と リ ンク幅に応じて 62.5、 125、 または 250MHz の周波数になり ます (表 3-5 を参照)。

インターフェイスの動作こ こでは、 コア インターフェイスのク ライアン ト側における動作について説明します。

Page 99: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 99PG156 2016 年 8 月 18 日

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

コンプリーター インターフェイス

このインターフェイスは、 AXI4-Stream プロ ト コルに基づいて、 PCIe リ ンクから受信した ト ランザクシ ョ ン (メモ リ、I/O の読み出し /書き込み、 メ ッセージ、ア ト ミ ッ ク操作) をコンプリーター リ クエス ト (CQ) インターフェイスの ト ランザクシ ョ ンにマップします。 コンプリーター インターフェイスは、各方向のデータ転送にそれぞれが用いられる 2つの個別のインターフェイスで構成されます。各インターフェイスは AXI4-Stream プロ ト コルに基づき、 64、 128、 または 256 ビッ ト幅に設定できます。 CQ インターフェイスは、 (関連するペイロード データを含む) リ クエス ト をユーザー アプリ ケーシ ョ ンに転送するために用いられ、コンプリーター コンプリーシ ョ ン (CC) インターフェイスはコンプ リーシ ョ ン データ (ノンポステッ ド リ クエス ト向け) をユーザー アプリ ケーシ ョ ンに送信してから リ ンクに転送するために用いられます。 これら 2 つのインターフェイスは独立して動作します。 つま り、 統合ブロッ クは、 前回のリクエス トのコンプ リーシ ョ ンを受信する と同時に CQ インターフェイスを介して新しいリ クエス ト を転送できます。

コンプリーター リクエスト ディスクリプターのフォーマッ ト

統合ブロ ッ クは、 CQ インターフェイスを介して リ ンクから受信した各リ クエス ト TLP を独立した AXI4-Stream パケッ ト と して転送します。各パケッ トはディ スク リプターから始ま り、ディ スク リプターの後にペイロード データが続きます。 ディ ス ク リ プターは必ず 16 バイ ト長とな り、 リ クエス ト パケッ ト の 初の 16 バイ ト で送信されます。ディ スク リプターは、64 ビッ ト インターフェイスでは 初の 2 サイクル間で送信され、128 ビッ ト または 256 ビッ トの場合は 初のサイクルで送信されます。

図 3-13、 図 3-14、 図 3-15、 および図 3-16 に、 ディ スク リプターのフォーマッ ト を リ クエス ト タイプ別に示しています。 図 3-13 に示すフォーマッ トは、 転送されている リ クエス ト TLP がメモ リ読み出し /書き込みリ クエス ト 、 I/O 読み出し /書き込みリ クエス ト、 またはア ト ミ ッ ク操作リ クエス トのと きに適用されます。 図 3-14 に示すフォーマッ トは、ベンダー定義メ ッセージ (タイプ 0 またはタイプ 1) 専用です。図 3-15 に示すフォーマッ トは、すべての ATS メ ッセージ (Invalid Request、 Invalid Completion、Page Request、PRG Response) に使用されます。その他のメ ッセージのディクス リプターについては、 図 3-16 に示すフォーマッ ト とな り ます。

X-Ref Target - Figure 3-13

図 3-13 : メモリ リクエスト、 I/O リクエスト、 ア ト ミ ッ ク操作リクエストのコンプリーター リクエスト ディスクリプター フォーマッ ト

Page 100: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 100PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-14

図 3-14 : ベンダー定義メ ッセージのコンプリーター リクエスト ディスクリプター フォーマッ ト

X-Ref Target - Figure 3-15

図 3-15 : ATS メ ッセージのコンプリーター リクエスト ディスクリプター フォーマッ ト

Page 101: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 101PG156 2016 年 8 月 18 日

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

表 3-7 に、 コンプリーター リ クエス ト ディ スク リプターの個別フ ィールドを示します。

X-Ref Target - Figure 3-16

図 3-16 : その他メ ッセージのコンプリーター リクエスト ディスクリプター フォーマッ ト

表 3-7 : コンプリーター リクエスト ディスクリプターのフ ィールド

ビッ ト インデックス フ ィールド名 説明

1:0Address Type

(アドレス タイプ)

このフ ィールドは、メモ リ ト ランザクシ ョ ンおよびア ト ミ ッ ク操作専用に定義されます。リ クエス トの TL ヘッダーから抽出された ATビッ トが含まれます。

00 : リ クエス ト内のアドレスは変換されない

01 : ト ランザクシ ョ ンは変換リ クエス ト

10 : リ クエス ト内のアドレスは変換される

11 : 予約済み

63:2 Address (アドレス)

このフ ィールドは、 メモ リ、 I/O、 およびア ト ミ ッ ク操作の各リ クエス ト に適用されます。 TLP ヘッダーからのアド レスを提供します。 リ ク エス ト で指定された 初の Dword のア ド レ スです。m_axis_cq_tuser からの First_BE ビッ ト を使用してバイ ト レベルのアドレスを判断する必要があ り ます。

ト ランザクシ ョ ンが 32 ビッ ト アドレスを指定する場合、このフ ィールドのビッ ト [63:32] は 0 になり ます。

74:64Dword Count

(Dword カウン ト )

これらの 11 ビッ トは、 読み出しまたは書き込みの対象となっているブロ ッ クのサイズ (メ ッセージの場合は、 メ ッセージ ペイロードのサイズ) を示します (Dword 単位)。 範囲は 0 ~ 256 Dword です。I/O アクセスの場合、 Dword カウン トは常に 1 です。

メモ リの読み出し /書き込みリ クエス トの長さが 0 の場合、Dword カウン トは 1 になり、 First_BE ビッ トはすべて 0 にセッ ト されます。

78:75Request Type

( リ クエス ト タイプ)ト ランザクシ ョ ン タイプを特定します。 ト ランザクシ ョ ン タイプとそれらのエンコードの詳細は、 表 3-8 に示します。

Page 102: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 102PG156 2016 年 8 月 18 日

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

95:80Requester ID

( リ クエスター ID)

リ クエス トに関連する PCI リ クエスター ID です。 RID のこれまでの解釈で、これらの 16 ビッ トは 8 ビッ トのバス番号 [95:88]、5 ビット のデバイス番号 [87:83]、 および 3 ビッ ト のファンクシ ョ ン番号[82:80] に分割されます、ARI が有効のと き、ビッ ト [95:88] は 8 ビット のバス番号を伝搬し、 [87:80] はファンクシ ョ ン番号を提供します。

リ クエス ト がノンポステッ ド ト ランザクシ ョ ンの場合、 ユーザーコンプリーター アプリ ケーシ ョ ンはこのフ ィールドを格納し、元の統合ブロ ッ クへコンプ リーシ ョ ン データを供給する必要があ り ます。

103:96 Tag (タグ)

リ クエス トに関連する PCIe タグです。 リ クエス トがノンポステッド ト ランザクシ ョ ンの場合、 ユーザー ロジッ クはこのフ ィールドを格納し、元の統合ブロ ッ クへコンプリーシ ョ ン データを供給する必要があ り ます。 メモ リの書き込みおよびメ ッセージの場合、 このフ ィールドを無視しても問題あ り ません。

111:104Target Function (ターゲッ ト

ファンクシ ョ ン)

このフ ィールドは、 メモ リ、 I/O、 およびア ト ミ ッ ク操作の各リ クエス ト専用に定義されます。 リ クエス ト がターゲッ ト と しているファンクシ ョ ン番号を提供し、 BAR チェッ クで指定されます。 ARIを使用する場合、 このフ ィールドのすべての 8 ビッ トが有効です。使用しない場合は、 ビッ ト [106:104] のみが有効です。 PF/VF マップに対するターゲッ ト ファンクシ ョ ンの値を次に示します。• 0 : PF0• 1 : PF1• 64 : VF0• 65 : VF1• 66 : VF2• 67 : VF3• 68 : VF4 • 69 : VF5

114:112 BAR ID

このフ ィールドは、 メモ リ、 I/O、 およびア ト ミ ッ ク操作の各リ クエス ト専用に定義されます。 リ クエス ト内のアドレス向けに一致した BAR 番号を提供します。

• 000 : BAR 0 (VF の場合 VF-BAR 0)• 001 : BAR 1 (VF の場合 VF-BAR 1)• 010 : BAR 2 (VF の場合 VF-BAR 2)• 011 : BAR 3 (VF の場合 VF-BAR 3)• 100 : BAR 4 (VF の場合 VF-BAR 4)• 101 : BAR 5 (VF の場合 VF-BAR 5)• 110 : 拡張 ROM アクセス

64 ビッ ト ト ランザクシ ョ ンの場合、一致する 1 組の BAR の下位アドレス と して BAR 番号が提供されます (つま り 0、 2、 または 4)。

120:115 BAR アパーチャー(空き部分)

この 6 ビッ ト のフ ィールドは、 メモ リ、 I/O、 およびア ト ミ ッ ク操作の各リ クエス ト専用に定義されます。リ クエス ト と一致する BARのアパーチャー設定を提供します。 この情報は、 メモ リ または I/O空間のアドレス指定で使用するビッ ト を決定する際に有用です。たとえば、 12 とい う値は、 一致する BAR のアパーチャーが 4K であるこ とを示します。したがって、ユーザー アプリ ケーシ ョ ンはアドレスのビッ ト [63:12] を無視できます。

VF BAR の場合、 この出力で提供される値は、BAR で記録されている 1 つの VF が使用する メモ リ空間に基づきます。

表 3-7 : コンプリーター リクエスト ディスクリプターのフ ィールド (続き)

ビッ ト インデックス フ ィールド名 説明

Page 103: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 103PG156 2016 年 8 月 18 日

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

123:121 Transaction Class (TC)

リ クエス トに関連する PCIe ト ランザクシ ョ ン ク ラス (TC) です。リクエス トがノンポステッ ド ト ランザクシ ョ ンの場合、 ユーザー コンプリーター アプリ ケーシ ョ ンはこのフ ィールドを格納し、元の統合ブロ ッ クへコンプリーシ ョ ン データを供給する必要があ り ます。

126:124 Attributes (属性)

これらのビッ トは、 リ クエス トに関連する Attribute ビッ トの設定を提供します。ビッ ト 124 は No Snoop ビッ トで、ビッ ト 125 は Relaxed Ordering ビッ トです。 ビッ ト 126 は ID-Based Ordering ビッ トで、 メモ リ リ クエス ト と メ ッセージ専用にセッ トできます。

リ クエス ト がノンポステッ ド ト ランザクシ ョ ンの場合、 ユーザーコンプリーター アプリ ケーシ ョ ンはこのフ ィールドを格納し、元の統合ブロ ッ クへコンプ リーシ ョ ン データを供給する必要があ り ます。

15:0Snoop Latency

(スヌープ レイテンシ)

このフ ィールドは LTR メ ッセージ専用に定義されます。メ ッセージの TLP ヘッダーにある 16 ビッ トの Snoop Latency フ ィールドの値を提供します。

31:16No-Snoop Latency (ノー スヌープ レイテンシ)

このフ ィールドは LTR メ ッセージ専用に定義されます。メ ッセージの TLP ヘッダーにある 16 ビッ トの No-Snoop Latency フ ィールドの値を提供します。

35:32 OBFF コード

このフ ィールドは OBFF メ ッセージ専用に定義されます。 OBFFコード フ ィールドは、さまざまな OBFF ケースを識別するために使用されます。

• 1111b : CPU アクティブ – バス マスタ リ ングや割り込みなど、 すべてのデバイス アクシ ョ ンに対してシステムが完全にアクティブである

• 0001b : OBFF – デバイス メモ リの読み出し /書き込みバス マスターの動作で利用可能なシステム メモ リ パス

• 0000b : アイ ドル – システムがアイ ドル状態で、 低電力ステート

その他すべてのコードは予約されています。

111:104 メ ッセージ コード

このフ ィールドはすべてのメ ッセージ用に定義されます。TLP ヘッダーから抽出された 8 ビッ トのメ ッセージ コードが含まれます。 サポー ト 対象の メ ッ セージ コード の一覧は、 『PCI Express BaseSpecification、rev. 3.0』 [参照 2] の「Appendix F」を参照してください。

114:112Message Routing

(メ ッセージ ルーティング)

このフ ィールドはすべてのメ ッセージ用に定義されます。 これらのビッ トは、 TLP ヘッダーからの 3 ビッ トの配線フ ィールド r[2:0] を提供します。

15:0Destination ID

(デスティネーシ ョ ン ID)

このフ ィールドはベンダー定義メ ッセージにのみ適用されます。メ ッセージが ID によって配線される場合 (つま り、メ ッセージ配線フ ィールドが 010 バイナリ )、 このフ ィールドはメ ッセージのデスティネーシ ョ ン ID を提供します。

63:32

Vendor-Defined Header

(ベンダー定義のヘッダー )

このフ ィールドはベンダー定義メ ッセージにのみ適用されます。TLP ヘッダーの Dword 3 から抽出されたバイ トが含まれます。

63:0ATS Header

(ATS ヘッダー )このフ ィールドは ATS メ ッセージにのみ適用可能です。 TLP ヘッダーの Dword 2 と Dwod 3 から抽出されたバイ トが含まれます。

表 3-7 : コンプリーター リクエスト ディスクリプターのフ ィールド (続き)

ビッ ト インデックス フ ィールド名 説明

Page 104: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 104PG156 2016 年 8 月 18 日

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

表 3-8 : ト ランザクシ ョ ン タイプ

リクエス ト タイプ (バイナリ ) 説明

0000 メモ リ読み出し リ クエス ト

0001 メモ リ書き込みリ クエス ト

0010 I/O 読み出し リ クエス ト

0011 I/O 書き込みリ クエス ト

0100 メモ リのフェッチおよび追加リ クエス ト

0101 メモ リの無条件スワップ リ クエス ト

0110 メモ リの比較およびスワップ リ クエス ト

0111 読み出し リ クエス トのロ ッ ク (レガシ デバイスでのみ可能)

1000 タイプ 0 のコンフ ィギュレーシ ョ ン読み出し リ クエス ト ( リ クエスター側のみ)

1001 タイプ 1 のコンフ ィギュレーシ ョ ン読み出し リ クエス ト ( リ クエスター側のみ)

1010 タイプ 0 のコンフ ィギュレーシ ョ ン書き込みリ クエス ト ( リ クエスター側のみ)

1011 タイプ 1 のコンフ ィギュレーシ ョ ン書き込みリ クエス ト ( リ クエスター側のみ)

1100 ATS およびベンダー定義メ ッセージを除くすべてのメ ッセージ

1101 ベンダー定義メ ッセージ

1110 ATS メ ッセージ

1111 予約済み

Page 105: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 105PG156 2016 年 8 月 18 日

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

コンプリーター リクエスト インターフェイスの動作

図 3-17 に、 コアのコンプリーター リ クエス ト インターフェイスに関連する信号を示します。 コアは、 このインターフェイスを介して各 TLP を AXI4-Stream パケッ ト と して送信します。 パケッ トは 128 ビッ ト ディ スク リプターから始ま り、 TLP にペイロードが含まれる場合はその後をデータが続きます。

コンプ リーター リ クエス ト インターフェイスは、 2 つのデータ アライ メン ト モードをサポート します。 Dword アライ メン ト モードでは、有効なデータの 初のバイ トが n = (16 + A mod 4) mod w から求められるレーンに現れます。この数式の説明を次に示します。

• A は、 転送されるデータ ブロ ッ クのバイ ト レベルの開始アドレスです。

• w は、 インターフェイスのバイ ト幅です。

アドレス アライ メン ト モードでは、 データは必ず、 ディ スク リプターが終了してから新しいビートで開始します。 その 初の有効なバイ トは n = A mod w から求められるレーンにあり ます (w はインターフェイスのバイ ト幅)。 メモ リ、I/O、 およびア ト ミ ッ ク操作の各リ クエス トでは、 アドレス A はリ クエス トに含まれるアドレスです。 メ ッセージの場合、 ペイロードのアライ メン ト を判断する目的でアドレスは常に 0 を取り ます。

X-Ref Target - Figure 3-17

図 3-17 : コンプリーター リクエス ト インターフェイスの信号

Page 106: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 106PG156 2016 年 8 月 18 日

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

コンプリーターを介すメモリ書き込み動作

図 3-18、 図 3-19、 および図 3-20 のタイ ミ ング図は、 コンプ リーター リ クエス ト (CQ) インターフェイスを介して リンクから受信したメモ リ書き込み TLP の Dword アライ メン ト転送を 64、 128、 および 256 ビッ ト別に示しています。図示する目的で、 メモ リに書き込まれるデータの開始 Dword アドレスは、 (m * 32 + 1) と仮定し、整数 m > 0 とな り ます。 サイズは n Dword と仮定し、 n = k * 32 + 29 (k > 0) とな り ます。

Dword アライ メン ト モードおよびアドレス アライ メン トの両モードでは、転送は 16 ディ スク リプター バイ トから始ま り、 その直後にペイロード バイ トが続きます。 m_axis_cq_tvalid 信号は、パケッ トが送信される間アサート されたままにな り ます。 m_axis_cq_tready をディアサート してビート を随時延ばすこ とができます。 AXI4-Streamインターフェイス信号 m_axis_cq_tkeep (各 Dword 位置に 1 つ) は、 ディ クス リプタ、 およびディ スク リプターとペイロード間に挿入される NULL バイ ト を含む、 パケッ トの有効な Dword を示します。 つま り、 ディ スク リプターの 初の Dword からペイロードの 後の Dword まで、 tkeep ビッ トは継続的に 1 にセッ ト されます。 パケッ トの転送中、 インターフェイスの幅全体がパケッ トで埋められないと きは、 パケッ トの 後のビートに限り tkeep ビッ ト を 0にできます。m_axis_cq_tlast 信号は必ずパケッ トの 後のビートでアサート されます。

CQ インターフェイスでは、 m_axis_cq_tuser バスに First Byte Enable ビッ ト と Last Enable ビッ ト も含まれます。これらのビッ トはパケッ トの 初のビートで有効になり、 ペイロードの 初と 後の Dwords の有効バイ ト を指定します。

m_axi_cq_tuser バスは、 インターフェイスのク ライアン ト側に関連するロジッ クを簡潔なものにするため、 または追加の機能をサポートするために利用可能な情報信号をいくつか提供します。ディ スク リプターがこのバス上にある場合、各パケッ トの 初のビートで sop 信号がアサート されます。バイ ト イネーブル出力 byte_en[31:0] (各バイ ト レーンに 1 つ) はペイロードの有効バイ ト を示します。 byte_en のビッ トは有効なペイロード バイ トが対応するレーンに存在する場合にのみアサート されます (つま り、 ディ ス ク リプターおよびパディ ング バイ ト に関してはディ スク リプターとペイロード間にアサート されない)。 ペイロード サイズが 2 Dword 以下の場合を除き、 アサートされたバイ ト イネーブル ビッ トはペイロードの開始から常に連続します。 1 Dword や 2 Dword の書き込みでは、 バイ ト イネーブルは非連続にできます。 その他の特殊なケースと して、 byte_en ビッ トがすべて 0 にセッ ト されて統合ブロ ッ クが 1 Dword のペイロードを転送する と きの、 長さ 0 のメモ リ書き込みが挙げられます。 つま り、 あらゆるケースでユーザー ロジッ クは byte_en 信号を直接使用して、 関連するバイ ト を メモ リへ書き込むこ とができます。

Dword アライ メン ト モードでは、ペイロードの 初の有効バイ トのアドレスに基づいてディ スク リプターの 後と初のペイロード バイ ト間に 0、 1、 2、 または 3 バイ ト位置分のギャップが存在するこ とがあ り ます。 ペイロードにある 初の有効バイ トの実際の位置は、 m_axis_cq_tuser バスの first_be[3:0] または byte_en[31:0] のいずれかを用いて判断できます。

受信した TLB に Transaction Processing Hint が含まれる場合、 統合ブロ ッ クは、 m_axis_cq_tuser バスの信号でヒン ト (TPH ステア リ ング タグおよびステア リ ング タグ タイプ) に関連するパラ メーターを転送します。

Page 107: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 107PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-18

図 3-18 : コンプリーター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (Dword アライメン ト モード、 インターフェイス幅 = 64 ビッ ト )

Page 108: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 108PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-19

図 3-19 : コンプリーター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (Dword アライメン ト モード、 インターフェイス幅 = 128 ビッ ト )

Page 109: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 109PG156 2016 年 8 月 18 日

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

図 3-21、図 3-22、および図 3-23 のタイ ミ ング図は、CQ インターフェイスを介して リ ンクから受信したメモリ書き込み TLP のアドレス アライ メン ト転送を 64、 128、および 256 ビッ ト別に示しています。図示する目的で、 メモ リに書き込まれるデータの開始 Dword アドレスは、 整数 m > 0 のと き (m * 32 + 1) と仮定しています。 サイズは n Dword と仮定し、 n = k * 32 + 29 (k > 0) とな り ます。

X-Ref Target - Figure 3-20

図 3-20 : コンプリーター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (Dword アライメン ト モード、 インターフェイス幅 = 256 ビッ ト )

Page 110: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 110PG156 2016 年 8 月 18 日

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

アドレス アライ メン ト モードでは、 ペイロードの送信は必ず、 ディ スク リプターの 後のバイ トの後に続いて発生するビートで開始します。ペイロードの 初の有効バイ トのアドレスに基づいて、ペイロードの 初のバイ トはどのバイ ト レーンにも出力でき ます。 デ ィ ス ク リ プター と ペイ ロー ド間のギ ャ ッ プにおいて keep 出力のm_axis_cq_tkeep は High に保持されます。ペイロードにある 初の有効バイ トの実際の位置は、ディ スク リプターにあ る ア ド レ スの LSB ( 下位ビ ッ ト ) または m_axis_cq_tuser バスにあ るバイ ト イネーブル ビ ッ トbyte_en[31:0] のいずれかを用いて判断できます。

2 Dword 以下の書き込みの場合、 byte_en にセッ ト されている 1 はペイロードの開始から連続したものにできません。 長さ 0 のメモ リ書き込みの場合、 ペイロード バイ トに対して byte_en ビッ トがすべて 0 にセッ ト されて統合ブロ ッ クが 1 Dword のペイロードを転送します。

X-Ref Target - Figure 3-21

図 3-21 : コンプリーター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (アドレス アライメン ト モード、 インターフェイス幅 = 64 ビッ ト )

Page 111: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 111PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-22

図 3-22 : コンプリーター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (アドレス アライメン ト モード、 インターフェイス幅 = 128 ビッ ト )

Page 112: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 112PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-23

図 3-23 : コンプリーター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (アドレス アライメン ト モード、 インターフェイス幅 = 256 ビッ ト )

Page 113: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 113PG156 2016 年 8 月 18 日

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

コンプリーター メモリ読み出し

AXI4-Stream パケッ トに 16 バイ ト ディ スク リプターしか含まれない場合を除いて、 メモ リ読み出し リ クエス トはメモ リ 書き込み リ クエス ト と同様にコンプ リ ーター リ クエス ト インターフェ イ ス全体で転送されます。 図 3-24、図 3-25、および図 3-26 のタイ ミ ング図は、コンプリーター リ クエス ト (CQ) インターフェイスを介して リ ンクから受信したメモ リ読み出し TLP の転送を 64、128、および 256 ビッ ト別に示しています。パケッ トは、64 ビッ ト インターフェイスについては連続する 2 ビート を使用して転送されますが、 128 ビッ ト または 256 ビッ ト インターフェイスについては 1 ビートで転送されます。m_axis_cq_tvalid 信号は、パケッ トが送信される間アサート されたままになり ます。m_axis_cq_treadyをディアサート してビート を随時延ばすこ とができます。 m_axis_cq_tuser バスの sop 信号は、 初のディ スクリプター バイ トがバスに存在する場合アサート されます。

X-Ref Target - Figure 3-24

図 3-24 : コンプリーター リクエスト インターフェイスでのメモリ読み出し ト ランザクシ ョ ン (インターフェイス幅 = 64 ビッ ト )

Page 114: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 114PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-25

図 3-25 : コンプリーター リクエスト インターフェイスでのメモリ読み出し ト ランザクシ ョ ン (インターフェイス幅 = 128 ビッ ト )

Page 115: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 115PG156 2016 年 8 月 18 日

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

初の Dword と 後の Dword の読み出し リ クエス トに関連するバイ ト イネーブル ビッ トは、m_axis_cq_tuser サイ ドバンド バスの統合ブロ ッ クで提供されます。 初のディ スク リプター バイ トが転送中で、 このバイ ト を使用してバイ ト レベルの開始アドレス と リ クエス トに関連するバイ ト カウン ト を決定しなければならないと き、 これらのビッ トが有効です。 1 Dword や 2 Dword の読み出し といった特殊なケースでは、バイ ト イネーブルは非連続にできます。 それ以外では、 バイ ト イネーブルは連続しています。 Dword カウン ト フ ィールドが 1 にセッ ト され、 初のバイ ト イネーブルと 後のバイ ト イネーブルが 0 にセッ ト された状態で、長さ 0 のメモリ読み出しが CQ インターフェイスで送信されます。

ユーザー アプリ ケーシ ョ ンは、 コンプリーシ ョ ンを用いて各メモ リ読み出し リ クエス トに応答する必要があ り ます。読み出しによって要求されたデータは、1 つのコンプリーシ ョ ンまたは複数のスプリ ッ ト コンプリーシ ョ ンと して送信できます。 これらのコンプ リーシ ョ ンは統合ブロ ッ クのコンプリーター コンプリーシ ョ ン (CC) インターフェイスを介して送信する必要があ り ます。 2 つの異なる リ クエス トに対応するコンプリーシ ョ ンは順序を問わず送信できますが、同じ リ クエス トに対応するスプリ ッ ト コンプリーシ ョ ンについては順序を追って送信する必要があ り ます。CCインターフェイスの動作は、 118 ページの 「コンプリーター コンプ リーシ ョ ン インターフェイスの動作」 を参照してください。

X-Ref Target - Figure 3-26

図 3-26 : コンプリーター リクエスト インターフェイスでのメモリ読み出し ト ランザクシ ョ ン (インターフェイス幅 = 256 ビッ ト )

Page 116: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 116PG156 2016 年 8 月 18 日

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

I/O 書き込み

CQ インターフェイスにおける I/O 書き込みリ クエス トの転送は、1 Dword ペイロードでのメモリ書き込みリ クエス トと同様です。 転送は 128 ビッ ト ディ スク リプターから始ま り、 その後 1 Dword ペイロードが続きます。 Dword アライ メン ト モードを使用する場合、 ディ スク リプターの直後に Dword ペイロードが続きます。 アドレス アライ メン トモードを使用する場合、ディ スク リプターの後に Dword ペイロードが新しいビートで供給され、データパスにおけるそのアライ メン トはディ スク リプターのアドレスに基づきます。 m_axis_cq_tuser 内の First Byte Enable ビッ トはペイロードにおける有効なバイ ト を示します。 バイ ト イネーブル ビッ ト byte_en も この情報を提供します。

I/O 書き込みはノンポステッ ド ト ランザクシ ョ ンであるため、 ユーザー ロジッ クはこれに対してデータ ペイロードを含まないコンプ リーシ ョ ンを用いて応答する必要があ り ます。 I/O リ クエス トに対するコンプ リーシ ョ ンは順序を問わず送信できます。 I/O 書き込みト ランザクシ ョ ンに関連するエラーが発生した場合、 コンプリーシ ョ ン ディ スクリプターにあるコンプリーシ ョ ン ステータス フ ィールドに CA (コンプリーターの中断) または UR (サポート されない リ クエス ト ) を適宜設定して リ クエスターにこのエラーを通知する こ とができます。 コンプ リーター コンプ リーシ ョ ン インターフェイスの動作は、 118 ページの 「コンプ リーター コンプ リーシ ョ ン インターフェイスの動作」 を参照してください。

I/O 読み出し

CQ インターフェイスにおける I/O 読み出し リ クエス トの転送はメモ リ読み出し リ クエス ト と同様で、 そこにはディスク リプターしか含まれません。要求されたデータの長さは常に 1 Dword とな り、m_axis_cq_tuser 内の First ByteEnable ビッ トは読み出し対象の有効バイ ト を示します。

ユーザー ロジッ クは、 1 Dword のコンプリーシ ョ ン (またはエラーの場合はデータを含まないコンプリーシ ョ ン) で I/O 読み出し リ クエス トに応答する必要があ り ます。2 つの異なる I/O 読み出し リ クエス トに対応するコンプリーシ ョンは順序を問わず送信できます。 I/O 読み出し ト ランザクシ ョ ンに関連するエラーが発生した場合、 コンプ リーシ ョン ディ ス ク リプターにあるコンプ リーシ ョ ン ステータス フ ィールドに CA (コンプ リーターの中断) または UR (サポート されないリ クエス ト ) を適宜設定して リ クエスターにこのエラーを通知するこ とができます。 コンプ リーターコンプ リーシ ョ ン インターフェイスの動作は、 118 ページの 「コンプ リーター コンプ リーシ ョ ン インターフェイスの動作」 を参照してください。

コンプリーター リクエス ト インターフェイスでのアト ミ ッ ク操作

コンプ リーター リ クエス ト インターフェイスにおけるア ト ミ ッ ク操作リ クエス トの転送は、 メモ リ書き込みリ クエス ト と同様です。 ア ト ミ ッ ク操作のペイロードの範囲は、 1 Dword から 8 Dword までで、 開始アドレスは必ず Dword境界に揃えられます。転送は 128 ビッ ト ディ スク リプターから始ま り、その後ペイロードが続きます。Dword アライメン ト モードを使用する場合、 ディ スク リプターの直後に 初の Dword ペイロードが続きます。 アドレス アライ メン ト モードを使用する場合、ディ スク リプターの後にペイロードが新しいビートで開始し、そのアライ メン トはディス ク リ プターのア ド レ スに基づき ます。 m_axis_cq_tkeep 出力は、 ペイ ロード の終わ り を示し ます。 また、m_axis_cq_tuser 内の byte_en 信号は、 ペイロード内の有効バイ ト を示します。 m_axis_cq_tuser 内の FirstByte Enable と Last Byte Enable ビッ トはア ト ミ ッ ク操作に使用できません。

ア ト ミ ッ ク操作はノンポステッ ド ト ランザクシ ョ ンであるため、 ユーザー ロジッ クはこれに対して操作結果を含むコンプ リーシ ョ ンを用いて応答する必要があ り ます。操作に関連するエラーが発生した場合、コンプリーシ ョ ン ディスク リプターにあるコンプ リーシ ョ ン ステータス フ ィールドにコンプ リーターの中断 (CA) またはサポート されない リ クエス ト (UR) を適宜設定して リ クエスターにこのエラーを通知する こ とができます。 コンプ リーター コンプリーシ ョ ン インターフェイスの動作は、 118 ページの 「コンプリーター コンプリーシ ョ ン インターフェイスの動作」を参照してください。

コンプリーター リクエス ト インターフェイスでのメ ッセージ リクエスト

ペイロードが常に存在するわけではないこ とを除いて、 CQ インターフェイスにおける メ ッセージの転送はメモ リ書き込みリ クエス ト と同様です。転送は 128 ビッ ト ディ スク リプターから始ま り、ペイロードがある場合はその後ペイロードが続きます。 Dword アライ メン ト モードを使用する場合、 ディ スク リプターの直後にペイロードが続きます。アドレス アライ メン ト モードを使用する場合、 ディ スク リプターの後にペイロードの 初の Dword が新しいビートで供給され、バイ ト レーン 0 で必ず開始します。 m_axis_cq_tlast および m_axis_cq_tkeep 信号のステートからペイロードの終わり を判断できます。 また、 m_axis_cq_tuser 内の byte_en 信号は、 ペイロード内の有効バイト を示します。 m_axis_cq_tuser 内の First Byte Enable と Last Byte Enable ビッ トはメ ッセージ ト ランザクシ ョ ンに使用できません。

Page 117: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 117PG156 2016 年 8 月 18 日

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

転送の中断

関連するペイ ロー ド を含む リ ク エス ト の場合、 転送されたペイ ロー ド にエ ラーがあ る と、 統合ブロ ッ ク はm_axis_cq_tuser バスの Discontinue 信号をパケッ トの 後のビートで (m_axis_cq_tlast と共に) アサート してこのエラーを通知できます。 これは、 内部メモリからデータを読み出す間に統合ブロッ クが訂正不可能なエラーを検出したと きに発生します。パケッ トの 後のビートで Discontinue 信号がアサート されたこ とを検出した場合、ユーザーアプリ ケーシ ョ ンはパケッ ト全体を破棄する必要があ り ます。 これは、 統合ブロ ッ クでは致命的エラーと認識されます。

ノンポステッ ド リクエス トの選択的フロー制御

『PCI Express Base Specification』 [参照 2] では、ユーザー アプリ ケーシ ョ ンがノンポステッ ド ト ランザクシ ョ ンを受信できな くても、 コンプ リーター リ クエス ト インターフェイスはこの ト ランザクシ ョ ンを提供し続けるこ とが規定されています。 この機能を有効にするために、 統合ブロ ッ クはクレジッ ト ベースのフロー制御メカニズムを CQ インターフェイスにインプ リ メ ン ト します。 このインターフェイスを介して、 ユーザー ロジッ クはポステッ ド リ クエスト に影響を及ぼすこ と な く ノ ンポステ ッ ド リ ク エス ト のフ ローを制御でき ます。 ユーザー ロ ジ ッ クは、pcie_cq_np_req 信号を使用してノンポステッ ド リ クエス ト を受信するためのバッファーの利用可否を伝えます。利用可能なクレジッ トが 0 ではない場合にのみ、コアはノンポステッ ド リ クエス ト を送信します。クレジッ ト数が不足しているためノンポステッ ド リ クエス トの送信が中断されている間、 統合ブロ ッ クはポステッ ド リ クエス ト を送信し続けます。 ノンポステッ ド リ クエス トの送信に対してクレジッ ト メカニズムによってバッ クプレッシャーが適用されない場合、 統合ブロ ッ クはリ ンクから受信した同じ順序でポステッ ド リ クエス トおよびノンポステッ ド リ クエス ト を送信します。

統合ブロ ッ クは、 コンプ リーター リ クエス ト インターフェイスでノンポステッ ド リ クエス トに利用可能なクレジット を追跡するための内部クレジッ ト カウンターを備えています。次のアルゴ リズムを使用して利用可能なクレジッ トの追跡を維持します。

• リセッ トでは、 カウンターは 0 にセッ ト されます。

• 統合ブロッ クの リセッ トが解除されたら、 ク ロ ッ ク サイクルごとにカウンターは次のよ うな動作とな り ます。

° pcie_cq_np_req が High で、 ノンポステッ ド リ クエス トがこのサイクルで送信されない場合、 クレジット カウン トが 32 の飽和限界に達していなければ、 1 つずつインク リ メン ト されます。

° pcie_cq_np_req が Low で、 ノンポステッ ド リ クエス トがこのサイクルで送信される場合、 クレジッ トカウン トがまだ 0 になっていなければ、 1 つずつデク リ メン ト されます。

° 上記に該当しない場合、 クレジッ ト カウン トの値は変わり ません。

• クレジッ ト カウン トが 1 以上の場合、 統合ブロ ッ クはノンポステッ ド TLP の送信を開始します。

ユーザー アプリ ケーシ ョ ンは、ノンポステッ ド リ クエス ト を受信できる状態になるたびに pcie_cq_np_req に 1 サイクルのパルスを提供するか、ノンポステッ ド リ クエス トに対する選択的なバッ クプレッシャーを実行する必要がない場合は永久的にアサート された状態に維持します。クレジッ ト カウン トが常に 0 以外の場合、統合ブロ ッ クはリ ンクから受信した同じ順序でポステッ ド リ クエス トおよびノンポステッ ド リ クエス ト を送信します。 カウン トが一定時間 0 の状態が続く と、 ノンポステッ ド リ クエス トは統合ブロッ ク FIFO に保管できます。その後、 クレジッ ト カウン トが 0 以外になる と、統合ブロッ クは既に送信されたポステッ ド リ クエス ト よ り も前に到達して保管していたノンポステッ ド リ クエス ト を先に送信し、 その後リ ンクから受信した順にリ クエス ト を送信します。

pcie_cq_np_req 信号のアサートおよびディアサートは、コンプリーター リ クエス ト インターフェイス上のパケット送信と揃う必要はあ り ません。

出力 (pcie_cq_np_req_count[5:0]) で現在のクレジッ ト カウン ト値をモニタ リ ングできます。 カウンターは 32が 大です。 内部パイプラインの遅延が原因となり、 コアが pcie_cq_np_req 入力でのパルスを受信してから pcie_cq_np_req_count 出力をアップデートするまでの間には数サイクルの遅延が生じます。 このため、ユーザーアプリ ケーシ ョ ンにある程度のバッファー空間がある場合は、 あらかじめクレジッ ト を提供しておく と、 クレジッ ト不足でコアがノンポステッ ド リ クエス ト をホールドするこ とがなくな り ます。

Page 118: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 118PG156 2016 年 8 月 18 日

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

コンプリーター コンプリーシ ョ ン インターフェイスの動作

図 3-27 に、 コアのコンプリーター コンプリーシ ョ ン インターフェイスに関連する信号を示します。 コアは、 このインターフェイスを介して各 TLP を AXI4-Stream パケッ ト と して送信します。

コアは、 コンプ リーター コンプリーシ ョ ン (CC) インターフェイスを介して各 TLP を AXI4-Stream パケッ ト と して送信します。 パケッ トは 96 ビッ ト ディ スク リプターから始ま り、 コンプリーシ ョ ンにペイロードが含まれる場合はその後をデータが続きます。

CC インターフェイスは、 2 つのデータ アライ メン ト モードをサポート します。 Dword アライ メン ト モードの場合、有効なデータの 初のバイ トは、 レーン n = (12 + A mod 4) mod w に現れる必要があ り ます。 この場合の A は、送信されるデータ ブロ ッ クのバイ ト単位の開始アドレス (ディ スク リプターの下位アドレス フ ィールドで伝搬) で、 w は、インターフェイス幅 (8、 16、 または 32) です。 アドレス アライ メン ト モードの場合、 データはディ スク リプターが終了した後の新規ビートで常に開始します。メモ リ または I/O の読み出し リ クエス トに対してコンプリーシ ョ ン ペイロードを送信する場合、 その 初の有効バイ トは、 レーン n = A mod w に現れます。 その他すべてのコンプリーシ ョンの場合、 ペイロードはバイ ト レーン 0 に揃えられます。

コンプリーター コンプリーシ ョ ン ディスクリプターのフォーマッ ト

ユーザー アプリ ケーシ ョ ンは、統合ブロ ッ クの CC インターフェイスに独立した AXI4-Stream パケッ ト と してコンプリーター リ クエス トに対するコンプ リーシ ョ ン データを送信します。 各パケッ トはディ ス ク リプターから始ま り、ディ スク リプターの後にペイロード データが続きます。ディ スク リプターは必ず 12 バイ ト長とな り、コンプリーシ ョン パケッ トの 初の 12 バイ トで送信されます。ディ スク リプターは、64 ビッ ト インターフェイスでは 初の 2 サイクル間で送信され、 128 ビッ ト または 256 ビッ トの場合は 初のサイクルで送信されます。 ユーザー アプリ ケーシ ョンが 1 つのリ クエス トのコンプリーシ ョ ン データを複数のスプリ ッ ト コンプリーシ ョ ンに分割する場合は、 個別にディ スク リプターを備えた AXI4-Stream パケッ ト と して各スプリ ッ ト コンプリーシ ョ ンを送信する必要があ り ます。

コンプ リーター コンプ リーシ ョ ン ディ スク リプターのフォーマッ トは、 図 3-28 を参照して ください。 コンプ リーター リ クエス ト ディ スク リプターの各フ ィールドの詳細は、 表 3-9 で説明しています。

X-Ref Target - Figure 3-27

図 3-27 : コンプリーター コンプリーシ ョ ン インターフェイスの信号

Page 119: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 119PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-28

図 3-28 : コンプリーター コンプリーシ ョ ン ディスクリプターのフォーマッ ト

表 3-9 : コンプリーター コンプリーシ ョ ン ディスクリプターのフ ィールド

ビッ ト インデックス

フ ィールド名 説明

6:0Lower Address

(下位アドレス)

メモ リ読み出しのコンプ リーシ ョ ンの場合、 このフ ィールドは、 送信される メモ リブロ ッ クのバイ ト レベルの開始アドレスの下位 7 ビッ トに設定される必要があ り ます。 その他のコンプ リーシ ョ ンの場合、 この下位アドレスはすべて 0 にセッ ト される必要があ り ます。

9:8Address Type

(アドレス タイプ)

このフ ィールドは、メモ リ ト ランザクシ ョ ンおよびア ト ミ ッ ク操作のコンプリーシ ョン用に定義されます。 これらのコンプリーシ ョ ンの場合、対応する リ クエス トのディス ク リプターの AT ビッ ト をユーザーがこのフ ィールドへコピーする必要があ り ます。 その他のコンプリーシ ョ ンの場合、 このフ ィールドは 0 にセッ ト される必要があり ます。

28:16Byte Count

(バイ ト カウン ト )

これらの 13 ビッ トには、 0 ~ 4096 バイ トの範囲の値が含まれます。 シングル コンプ リーシ ョ ンを使用すしてメモ リ読み出し リ クエス トが完了する場合、 このバイ トカウン ト値がペイロード サイズをバイ ト単位で示します。I/O の読み出しコンプリーシ ョ ンや I/O の書き込みコンプリーシ ョ ンの場合、このフ ィールドは 4 にセッ ト される必要があ り ます。 長さ 0 のメモ リ読み出しに対するコンプ リーシ ョ ンを送信している間、 バイ ト カウン ト値は 1 にセッ ト される必要があ り、 ダ ミーのペイロード として 1 Dword がディ スク リプターの後に送信される必要があ り ます。 各メモ リ読み出しコンプリーシ ョ ンでは、 このバイ ト カウン ト フ ィールドがリ クエス ト を完了するのに必要と なる残り のバイ ト 数を示します (コンプ リ ーシ ョ ンで返ってきたバイ ト数を含む)。 複数のコンプ リーシ ョ ンを使用してメモ リ読み出し リ クエス トが完了する場合、 各コンプ リーシ ョ ンのこのバイ ト カウン ト値は、 先行するコンプ リーシ ョ ンが示す値から先行するコンプ リーシ ョ ンで返ってきたバイ ト数を引いた値とな り ます。 メモリ読み出し リ クエス ト を完了するのに必要な合計バイ ト数の計算式は、121 ページの表 3-10 を参照して ください。

29

Locked Read Completion

(ロ ッ ク された読み出しコンプリーシ ョ ン)

コンプ リーシ ョ ンが Locked Read (ロ ッ ク された読み出し ) リ クエス トに応答する場合、 このビッ ト をセッ トする必要があ り ます。その他のコンプリーシ ョ ンの場合、 このフ ィールドは 0 にセッ ト される必要があ り ます。

Page 120: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 120PG156 2016 年 8 月 18 日

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

42:32Dword Count

(Dword カウン ト )

これらの 11 ビッ トは、 現在のパケッ トのペイロード サイズを示します (Dword)。 範囲は 0 ~ 1000 Dword です。 このフ ィールドは、 I/O 読み出しのコンプリーシ ョ ンには 1 にセッ ト され、 I/O 書き込みのコンプリーシ ョ ンには 1 にセッ ト される必要があり ます。 長さ 0 のメモ リ読み出しに対してコンプ リーシ ョ ンを送信している間、 この Dword カウン ト フ ィールドは 1 にセッ ト されている必要があ り ます。 UR またはCA コンプリーシ ョ ンを送信している間、この Dword カウン ト フ ィールドは 0 にセット されている必要があ り ます。 その他の場合、 この Dword カウン トは、 その時点のパケッ トのペイロードの実際の Dword 数に対応する必要があ り ます。

45:43

Completion Status (コンプリーシ ョ ン ステータス)

これらのビッ トは、 送信されるコンプ リーシ ョ ンのタイプに基づいてセッ ト される必要があ り ます。 有効な設定は次のとおりです。

• 000 : ト ランザクシ ョ ンが正常に完了

• 001 : サポート されないリ クエス ト (UR)• 100 : コンプ リーターの中断 (CA)

46

Poisoned Completion

(ポイズン コンプリーシ ョ ン)

このビッ トは、 送信されるコンプ リーシ ョ ン TLP にポイズニングを適用する場合に使用できます。 ユーザー アプリ ケーシ ョ ンがディ スク リプターの後に続くデータ ブロ ッ ク内にエラーを検出し、 PCI Express のデータ ポイズニング機能を使用してこのエラー情報を伝える場合以外は、このビッ トはすべてのコンプリーシ ョ ンで 0 にセットする必要があ り ます。

63:48Requester ID

( リ クエスター ID)

リ クエス トに関連する PCI リ クエスター ID です ( リ クエス トからコピー )。

71:64 Tag (タグ) リ クエス トに関連する PCIe タグです ( リ クエス トからコピー )。

79:72

Target Function/Device Number

(ターゲッ ト ファンクシ ョ ン/デバイス番号)

コンプ リーター ファンクシ ョ ンのファンクシ ョ ン番号です。 ユーザー アプ リ ケーシ ョ ンは、常にファンクシ ョ ン番号を提供する必要があり ます。 ARI が使用される場合は、このフ ィールドの全 8 ビッ トにターゲッ ト ファンクシ ョ ン番号を設定する必要があり ます。 その他の場合は、 ビッ ト [74:72] をターゲッ ト ファンクシ ョ ン番号に設定する必要があり ます。ユーザー アプリケーシ ョ ンは、対応する リ クエス トのディ スク リプターの Target Function フ ィールドからこの値をコピーする必要があり ます。 その他の場合は、 ビッ ト [74:72] をターゲッ ト ファンクシ ョ ン番号に設定する必要があり ます。

ARI が使用されていない場合で、 統合ブロ ッ クがルート コンプレッ クス と してコンフ ィ ギュレーシ ョ ンされている場合は、 ユーザー アプ リ ケーシ ョ ンがコンプ リーターの 5 ビッ トのデバイス番号をビッ ト [79:75] に提供する必要があ り ます。

ARI が使用されていない場合で、統合ブロ ッ クがエンドポイン ト と してコンフ ィギュレーシ ョ ンされている場合は、 ユーザー アプ リ ケーシ ョ ンがオプシ ョ ンでコンプリーターの 5 ビッ トのデバイス番号をビッ ト [79:75] に提供するこ とが可能です。 デバイス番号がビッ ト [79:75] に提供される場合は、ユーザー アプリ ケーシ ョ ンがディスク リプターの Completer ID Enable ビッ ト をセッ トする必要があ り ます。 この値は、コンプリーシ ョ ン TLP を送信する際に統合ブロッ クで使用されます (提供されない場合は、 統合ブロッ クがコンフィギュレーシ ョ ン リ クエス トから取得して格納したデバイス番号値を使用)。

表 3-9 : コンプリーター コンプリーシ ョ ン ディスクリプターのフ ィールド (続き)

ビッ ト インデックス

フ ィールド名 説明

Page 121: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 121PG156 2016 年 8 月 18 日

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

87:80

Completer Bus Number

(コンプリーター バス番号)

コンプリーター ファンクシ ョ ンに関連するバス番号です。 統合ブロッ クがルート コンプレッ クス と してコンフ ィギュレーシ ョ ンされている場合、 ユーザー アプリ ケーシ ョ ンがこのフ ィールドにコンプ リーターの 8 ビッ トのバス番号を提供する必要があり ます。

統合ブロッ クがエンドポイン ト と してコンフ ィギュレーシ ョ ンされている場合、ユーザー アプリ ケーシ ョ ンはオプシ ョ ンと してこのフ ィールドにバス番号を提供できます。 バス番号がこのフ ィールドに提供される場合は、 ユーザー アプリ ケーシ ョ ンがディ スク リプターの Completer ID Enable ビッ ト をセッ トする必要があり ます。 この値は、 コンプリーシ ョ ン TLP を送信する際に統合ブロッ クで使用されます (提供されない場合は、統合ブロッ クがコンフ ィギュレーシ ョ ン リ クエス トから取得して格納したバス番号値を使用)。

88Completer ID

Enable

このフ ィールドは、Completer ID フ ィールドの構成に使用されるバス番号やデバイス番号をユーザー アプリ ケーシ ョ ンが提供するこ とを可能にします。 このフ ィールドは、 エンドポイン ト コンフ ィギュレーシ ョ ンにのみ適用可能です。

このフ ィールドが 0 の場合、 統合ブロ ッ クはキャプチャしたバス番号やデバイス番号を使用してコンプ リーター ID を構成します。 このフ ィールドが 1 の場合、 統合ブロ ッ クはディ スク リプターに提供されたバス番号やデバイス番号を使用してコンプリーター ID を構成します。

91:89Transaction Class (TC)

リ クエス ト に関連する PCIe ト ランザクシ ョ ン ク ラス (TC) です。 ユーザー アプ リケーシ ョ ンは、関連する リ クエス トのディ スク リプターの TC フ ィールドからこの値をコピーする必要があ り ます。

94:92 Attributes (属性)リ クエス トに関連する PCIe 属性です ( リ クエス トからコピー )。 ビッ ト 92 は No Snoop ビッ ト 、 ビッ ト 93 は Relaxed Ordering ビッ ト 、 ビッ ト 94 は ID-Based Ordering ビッ トです。

95 Force ECRC強制的に ECRC を挿入します。 このビッ ト を 1 にセッ トする と、 コンプリーシ ョ ンを送信するファンクシ ョ ンで ECRC 機能が有効に設定されていない場合でも、 統合ブロ ッ クがコンプ リーシ ョ ン TLP に ECRC を含む TLP Digest を追加します。

表 3-10 : first_be[3:0]、 last_be[3:0]、 および Dword Count[10:0] からのバイ ト カウン ト計算

first_be[3:0] last_be[3:0] 合計バイ ト カウン ト

1xx1 0000 4

01x1 0000 3

1x10 0000 3

0011 0000 2

0110 0000 2

1100 0000 2

0001 0000 1

0010 0000 1

0100 0000 1

1000 0000 1

0000 0000 1

xxx1 1xxx Dword_count*4

xxx1 01xx (Dword_count*4)-1

xxx1 001x (Dword_count*4)-2

表 3-9 : コンプリーター コンプリーシ ョ ン ディスクリプターのフ ィールド (続き)

ビッ ト インデックス

フ ィールド名 説明

Page 122: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 122PG156 2016 年 8 月 18 日

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

Successful Completion (SC : 正常な完了) ステータスのコンプリーシ ョ ン転送

ユーザー アプリ ケーシ ョ ンは、 コンプ リーター リ クエス ト インターフェイスから受信したすべてのノンポステッ ドリ クエス トに対して、 コアの CC インターフェイスにコンプリーシ ョ ンを返す必要があ り ます。 リ クエス トがエラーなしで完了する と、ユーザー アプリ ケーシ ョ ンは Successful Completion (SC) ステータスのコンプリーシ ョ ンを返します。これらのコンプリーシ ョ ンには、 リ クエス ト タイプによってペイロードが含まれる場合と含まれない場合があ ります。 さ らに、 データ ブロ ッ クのサイズが設定した 大ペイロード サイズを超える場合は、 リ クエス トに対応するデータが複数のスプリ ッ ト コンプ リーシ ョ ンに分割されます。 これは、 必要に応じてユーザー ロジッ クがデータ ブロ ッ クを複数のスプリ ッ ト コンプ リーシ ョ ンに分割します。 ユーザー アプリ ケーシ ョ ンは、 コンプ リーター コンプリ ーシ ョ ン インターフ ィ エスを介して各スプ リ ッ ト コンプ リ ーシ ョ ンを 12 バイ ト のディ ス ク リ プターを含むAXI4-Stream パケッ ト と して送信する必要があ り ます。

このセクシ ョ ンのサンプル タイ ミ ングでは、送信されるデータ ブロ ッ クの開始 Dword (ディ スク リプターの下位アドレスのビッ ト [6:2] で伝搬) は (m * 8 + 1) と仮定されています (整数 m)。データ ブロ ッ クのサイズは n Dword と仮定され、 n = k * 32 + 28 (k > 0) とな り ます。

CC インターフェイスは、 2 つのデータ アラ イ メ ン ト モード (Dword アラ イ メ ン ト モード、 アド レス アラ イ メ ン トモード ) をサポート します。図 3-29、図 3-30、および図 3-31 のタイ ミ ング図は、CC インターフェイスを介すユーザーアプリ ケーシ ョ ンからの Dword アライ メン ト転送を、 インターフェイス幅 64、 128、 および 256 ビッ ト別に示しています。 この場合、 ペイロードの 初の Dword がディ スク リプターの直後で開始しています。 データ ブロ ッ クが 4 バイ トの倍数でない場合、またはペイロードの開始が Dword の境界に揃っていない場合は、ペイロードの開始が Dwordの境界に揃う よ うに、 またペイロードが Dword の倍数値となるよ うに、 ユーザー アプリ ケーシ ョ ンは NULL を追加する必要があ り ます。 たとえば、 データ ブロ ッ クがバイ ト アドレス 7 から開始し、 サイズが 3 バイ トの場合は、初のバイ トの前に NULL バイ ト を 3 つ追加し、2 Dword の長さにするためにブロ ッ クの終わりに NULL バイ ト を 2 つ追加する必要があ り ます。 また、不連続な読み出しの場合は、データ ブロ ッ ク内のすべてのバイ トが有効と して返される とは限り ません。 このよ うな場合は、必要に応じて有効バイ トの間にある隙間に NULL バイ ト を追加して、正しい位置にある有効なバイ ト を返す必要があ り ます。 インターフェイスには、ペイロード内の有効なバイ ト を示す信号があ り ません。これは、 リ クエスターがリ クエス ト内のバイ ト イネーブルを追跡してコンプリーシ ョ ンから無効なバイ ト を破棄する役割を果たすため、 必要あ り ません。

Dword アライ メン ト モードでは、転送は 12 ディ スク リプター バイ トから始ま り、その直後にペイロード バイ トが続きます。ユーザー アプリ ケーシ ョ ンは、パケッ トが送信される間、s_axis_cc_tvalid 信号をアサート したままに保持する必要があ り ます。パケッ ト送信中に s_axis_cc_tvalid がディアサート される と、統合ブロ ッ クはこれをエラーと して処理し、 リ ンク上の対応するコンプリーシ ョ ン TLP を無効にしてデータ破損を回避します。

xxx1 0001 (Dword_count*4)-3

xx10 1xxx (Dword_count*4)-1

xx10 01xx (Dword_count*4)-2

xx10 001x (Dword_count*4)-3

xx10 0001 (Dword_count*4)-4

x100 1xxx (Dword_count*4)-2

x100 01xx (Dword_count*4)-3

x100 001x (Dword_count*4)-4

x100 0001 (Dword_count*4)-5

1000 1xxx (Dword_count*4)-3

1000 01xx (Dword_count*4)-4

1000 001x (Dword_count*4)-5

1000 0001 (Dword_count*4)-6

表 3-10 : first_be[3:0]、 last_be[3:0]、 および Dword Count[10:0] からのバイ ト カウン ト計算 (続き)

first_be[3:0] last_be[3:0] 合計バイ ト カウン ト

Page 123: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 123PG156 2016 年 8 月 18 日

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

またユーザー アプリ ケーシ ョ ンは、 パケッ トの 後のビートで s_axis_cc_tlast をアサート します。 統合ブロ ックは、 データの受信準備が整っていない場合に、 任意のサイ クルで s_axis_cc_tready をディアサートできます。統合ブロ ッ クが s_axis_cc_tready をディアサート したクロ ッ ク サイ クル内では、 ユーザー アプリ ケーシ ョ ンはCC インターフェイス上の値を変更できません。

X-Ref Target - Figure 3-29

図 3-29 : コンプリーター コンプリーシ ョ ン インターフェイスでの一般的なコンプリーシ ョ ンの転送 (Dword アライメン ト モード、 インターフェイス幅 = 64 ビッ ト )

X-Ref Target - Figure 3-30

図 3-30 : コンプリーター コンプリーシ ョ ン インターフェイスでの一般的なコンプリーシ ョ ンの転送 (Dword アライメン ト モード、 インターフェイス幅 = 128 ビッ ト )

Page 124: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 124PG156 2016 年 8 月 18 日

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

アドレス アライ メン ト モードでは、 ペイロードの送信は必ず、 ディ スク リプターの 後のバイ トの後に続いて発生するビートで開始します。 メモ リ読み出しのコンプリーシ ョ ンの場合、ペイロードの 初の有効バイ トのアドレスに基づいて、ペイロードの 初のバイ トはどのバイ ト レーンにも出力できます。その他すべてのコンプリーシ ョ ンの場合、 ペイロードはバイ ト レーン 0 で開始する必要があ り ます。

図 3-32、図 3-33、および図 3-34 のタイ ミ ング図は、 コンプリーター コンプリーシ ョ ン インターフェイスを介すメモリ読み出しコンプ リーシ ョ ンのアドレス アライ メン ト転送を 64、 128、 および 256 ビッ ト別に示しています。 図示するこ とを目的と して、 送信されるデータ ブロ ッ クの開始 Dword アドレス (ディ スク リプターの下位アドレス フ ィールドのビッ ト [6:2] で伝搬) は (m * 8 +1 ) と仮定されています (整数 m)。 データ ブロ ッ クのサイズは、 n Dword と仮定され、 n = k * 32 + 28 (k > 0) とな り ます。

X-Ref Target - Figure 3-31

図 3-31 : コンプリーター コンプリーシ ョ ン インターフェイスでの一般的なコンプリーシ ョ ンの転送 (Dword アライメン ト モード、 インターフェイス幅 = 256 ビッ ト )

Page 125: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 125PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-32

図 3-32 : コンプリーター コンプリーシ ョ ン インターフェイスでの一般的なコンプリーシ ョ ンの転送 (アドレス アライメン ト モード、 インターフェイス幅 = 64 ビッ ト )

X-Ref Target - Figure 3-33

図 3-33 : コンプリーター コンプリーシ ョ ン インターフェイスでの一般的なコンプリーシ ョ ンの転送 (アドレス アライメン ト モード、 インターフェイス幅 = 128 ビッ ト )

Page 126: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 126PG156 2016 年 8 月 18 日

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

コンプリーシ ョ ンの転送中断

ユーザー アプリ ケーシ ョ ンは、 s_axis_cc_tuser バスで Discontinue 信号をアサートするこ とによって、 ペイロード転送中にいつでもコンプ リーター コンプ リーシ ョ ン インターフェイス上のコンプ リーシ ョ ン ト ランザクシ ョ ン転送を中断できます。 統合ブロ ッ クが リ ンク上の対応する TLP を無効にしてデータ破損を回避します。

ユーザー アプリ ケーシ ョ ンは、転送されているコンプリーシ ョ ンに関連するペイロードが含まれている場合に、転送中の任意のタイ ミ ングでこの信号をアサートできます。また、エラーが示されたサイ クルでパケッ ト を早期に中断 する (s_axis_cc_tlast をアサート )、またはペイロードのすべてのバイ トが統合ブロ ッ クへ送信されるまで継続してから中断するのいずれかを選択できます。 後者の場合、 ユーザー アプ リ ケーシ ョ ンがパケ ッ ト の終了よ り前にDiscontinue 信号をディアサート した場合でも、 統合ブロ ッ クはパケッ トのその後のサイ クルではエラーをスティ ッキーと して処理します。

Discontinue 信号は、s_axis_cc_tvalid が High の場合のみアサート されます。統合ブロッ クは、s_axis_cc_tvalidと s_axis_cc_tready が両方と もアサート されている場合にこの信号をサンプルします。 したがって、 Discontinue信号がアサート される と、 s_axis_cc_tready がアサート されるまでディアサートできません。

統合ブロ ッ クがエンドポイン ト と してコンフ ィギュレーシ ョ ンされる場合、 Advanced Error Reporting (AER) 機能を使用して訂正不可能な内部エラーと して、 接続される先のルート コンプレッ クスに対して統合ブロ ッ クがエラーをレポート します。

X-Ref Target - Figure 3-34

図 3-34 : コンプリーター コンプリーシ ョ ン インターフェイスでの一般的なコンプリーシ ョ ンの転送 (アドレス アライメン ト モード、 インターフェイス幅 = 256 ビッ ト )

Page 127: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 127PG156 2016 年 8 月 18 日

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

Error ステータス (UA および CA) のコンプリーシ ョ ン

コンプ リーター リ クエス ト インターフェイスで受信した リ クエス トに対して UR (サポート されないリ クエス ト ) または CA (コンプ リーシ ョ ン中断) で応答する場合、 ユーザー アプ リ ケーシ ョ ンは、 図 3-28 に示すフォーマッ トで 3Dword のコンプリーシ ョ ン ディ スク リプターを送信し、その後にコンプリーシ ョ ンを生成した リ クエス トの情報を含む 5 Dword を送信する必要があ り ます。 これらの 5 Dword は、統合ブロ ッ クが AER ヘッダー ログ レジスタにリ クエス トに関する情報を記録するのに不可欠です。

図 3-35 に、 UR または CA ステータスのコンプ リーシ ョ ンを送信する際に転送される情報のシーケンスを示します。この情報は、 合計 8 Dword の AXI4-Stream パケッ ト と してフォーマッ ト され、 次のよ うに組織化されます。

• 初の 3 Dword には、 図 3-28 の形式のコンプ リーシ ョ ン ディ スク リプターが含まれます。

• 4 番目の Dword には、 リ クエス トからコピーされた m_axis_cq_tuser 内の次に示す信号のステータスが含まれます。

° m_axis_cq_tuser の First Byte Enable ビッ ト (first_be[3:0])

° m_axis_cq_tuser の Last Byte Enable ビッ ト (last_be[3:0])

° Transaction Processing Hint の情報を伝搬する信号 :m_axis_cq_tuser の tph_present、tph_type[1:0]、および tph_st_tag[7:0]

• 統合ブロッ クから受信した 4 dword のリ クエス ト ディ スク リプター

パケッ ト全体を送信するには、 64 ビッ ト インターフェイスの場合は 4 サイ クル、 128 ビッ ト インターフェイスの場合は 2 サイクル、 256 ビッ ト インターフェイスの場合は 1 サイ クル必要です。 パケッ トの転送方法は、 Dword アライメン ト モード とアドレス アライ メン ト モードのいずれの場合も同じで、 Dword を 1 つにまとめて送信します。 ユーザー アプリ ケーシ ョ ンは、パケッ トが送信される間、 s_axis_cc_tvalid 信号をアサート したままに保持する必要があ り ます。 また、 パケッ トの 後のビートでは s_axis_cc_tlast をアサートする必要があ り ます。 統合ブロ ックは、 データの受信準備が整っていない場合に、 任意のサイ クルで s_axis_cc_tready をディアサートできます。統合ブロ ッ クが s_axis_cc_tready をディアサート したクロ ッ ク サイ クル内では、 ユーザー アプリ ケーシ ョ ンはCC インターフェイス上の値を変更できません。

X-Ref Target - Figure 3-35

図 3-35 : UR/CA コンプリーシ ョ ンの AXI4-Stream パケッ トの構成

Page 128: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 128PG156 2016 年 8 月 18 日

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

受信メ ッセージ インターフェイス

ユーザー アプリ ケーシ ョ ンは、 コアが提供する独立した受信メ ッセージ インターフェイスを使用して、 リ ンクから受信したメ ッセージ情報を受け取るこ とができます。 受信メ ッセージ インターフェイスが有効に設定されている場合、 統合ブロ ッ クは、 メ ッ セージ タ イプ (表 3-11) を示す cfg_msg_received_type[4:0] 出力を設定し てcfg_msg_received 信号を 1 サイ クルまたは複数サイクル間パルスし、 リ ンクから メ ッセージが到達したこ とを伝達します。 cfg_msg_received のアサート サイクル数は、 受信する メ ッセージ タイプによって異なり ます (表 3-12 を参照)。 cfg_msg_received が High のと き、統合パラ メーターは、 cfg_msg_received_data バス上にメ ッセージに関する任意のパラ メーターを 1 回につき 8 ビッ トで転送します。表 3-12 では、cfg_msg_received がアサート される各サイクルで、このバスに転送されるパラ メーターをメ ッセージ タイプ別に示しています。ベンダーが指定する メ ッセージの場合、統合ブロ ッ クはこのインターフェイスを介して関連するペイロードの 初の Dword のみ転送します。 さ らに大規模なペイロードが使用される場合は、 メ ッセージの転送にコンプ リーター リ クエス ト インターフェイスを使用する必要があ り ます。

表 3-11 : 受信メ ッセージ インターフェイスのメ ッセージ タイプ エンコード

cfg_msg_received_type[4:0] メ ッセージ タイプ

0 ERR_COR

1 ERR_NONFATAL

2 ERR_FATAL

3 Assert_INTA

4 Deassert_ INTA

5 Assert_INTB

6 Deassert_ INTB

7 Assert_INTC

8 Deassert_ INTC

9 Assert_INTD

10 Deassert_ INTD

11 PM_PME

12 PME_TO_Ack

13 PME_Turn_Off

14 PM_Active_State_Nak

15 Set_Slot_Power_Limit

16 LTR (Latency Tolerance Reporting)

17 OBFF (Optimized Buffer Flush/Fill)

18 アンロ ッ ク

19 Vendor_Defined タイプ 0

20 Vendor_Defined タイプ 1

21 ATS 無効な リ クエス ト

22 ATS 無効なコンプリーシ ョ ン

23 ATS ページ リ クエス ト

24 ATS PRG 応答

25 ~ 31 予約済み

Page 129: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 129PG156 2016 年 8 月 18 日

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

表 3-12 : 受信メ ッセージ インターフェイスのメ ッセージ パラメーター

メ ッセージ タイプcfg_msg_received のアサート サイクル数

cfg_msg_received_data[7:0] で転送されるパラメーター

ERR_COR、ERR_NONFATAL、

ERR_FATAL2

サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

Assert_INTx、 Deassert_INTx 2 サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

PM_PME、 PME_TO_Ack、PME_Turn_off、

PM_Active_State_Nak2

サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

Set_Slot_Power_Limit 6

サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

サイクル 3 : ペイロードのビッ ト [7:0]サイクル 4 : ペイロードのビッ ト [15:8]サイクル 5 : ペイロードのビッ ト [23:16]サイクル 6 : ペイロードのビッ ト [31:24]

LTR (Latency Tolerance Reporting)

6

サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

サイクル 3 : スヌープ レイテンシのビッ ト [7:0]サイクル 4 : スヌープ レイテンシのビッ ト [15:8]サイクル 5 : ノースヌープ レイテンシのビッ ト [7:0]サイクル 6 : ノースヌープ レイテンシのビッ ト [15:8]

OBFF (Optimized Buffer Flush/Fill)

3サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

サイクル 3 : OBFF コード

アンロ ッ ク 2 サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

Vendor_Defined タイプ 0

データがない場合は 4 サイ クル、

データがある場合は 8 サイクル

サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

サイクル 3 : ベンダー ID[7:0] サイクル 4 : ベンダー ID[15:8] サイクル 5 : ペイロードのビッ ト [7:0]サイクル 6 : ペイロードのビッ ト [15:8]サイクル 7 : ペイロードのビッ ト [23:16]サイクル 8 : ペイロードのビッ ト [31:24]

Vendor_Defined タイプ 1

データがない場合は 4 サイ クル、

データがある場合は 8 サイクル

サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

サイクル 3 : ベンダー ID[7:0] サイクル 4 : ベンダー ID[15:8] サイクル 5 : ペイロードのビッ ト [7:0]サイクル 6 : ペイロードのビッ ト [15:8]サイクル 7 : ペイロードのビッ ト [23:16]サイクル 8 : ペイロードのビッ ト [31:24]

ATS 無効な リ クエス ト 2 サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

ATS 無効なコンプリーシ ョ ン

2 サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

Page 130: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 130PG156 2016 年 8 月 18 日

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

図 3-36 に、 受信メ ッセージ インターフェイスでの Set_Slot_Power_Limit メ ッセージ例を示すタイ ミ ング図を示します。 このメ ッセージには、 関連する 1 Dword ペイロードが含まれています。 このメ ッセージでは、 連続する 6 サイクル間でパラ メーターが送信されます。 各サイクルで cfg_msg_received_data バスに次の情報が現れます。

• サイクル 1 : リ クエスター ID のバス番号

• サイクル 2 : リ クエスター ID のデバイス番号/ファンクシ ョ ン番号

• サイクル 3 : ペイロード Dword のビッ ト [7:0]

• サイクル 4 : ペイロード Dword のビッ ト [15:8]

• サイクル 5 : ペイロード Dword のビッ ト [23:16]

• サイクル 6 : ペイロード Dword のビッ ト [31:24]

統合ブロッ クは、 cfg_msg_received 出力の有効なパルス間に 1 サイクル以上のギャップを挿入します。 受信メ ッセージ インターフェイスを介して送信される メ ッセージ表示にはバッ クプレッシャーを適用する メカニズムがあ りません。このインターフェイスを使用する場合、ユーザー ロジッ クは常にメ ッセージ表示を受信する準備が整っている必要があ り ます。

受信メ ッセージ インターフェイスのデザイン要件

Endoint と してコンフ ィギュレーシ ョ ンされている場合、 ユーザー アプリ ケーシ ョ ンは次の要件を満たす必要があ ります。

1. ユーザー アプリ ケーシ ョ ンは、RO ビッ トがセッ ト されたコンプリーシ ョ ンをもたらすノンポステッ ド リ クエスト を発行する必要があ り ます。

2. ユーザー アプリ ケーシ ョ ンは、 設定したコンプリーシ ョ ン空間を超えてはいけません。

この要件を満たすこ とで、 RX コンプリーシ ョ ン バッファーのオーバーフローを回避できます。

ATS ページ リ クエス ト 2 サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

ATS PRG 応答 2 サイクル 1 : リ クエスター ID、 バス番号

サイクル 2 : リ クエスター ID、 デバイス /ファンクシ ョ ン番号

X-Ref Target - Figure 3-36

図 3-36 : [Receive Message Interface]

表 3-12 : 受信メ ッセージ インターフェイスのメ ッセージ パラメーター (続き)

メ ッセージ タイプcfg_msg_received のアサート サイクル数

cfg_msg_received_data[7:0] で転送されるパラメーター

Page 131: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 131PG156 2016 年 8 月 18 日

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

リ クエスター インターフェイス

リ クエスター インターフェイスは、 ユーザー エンドポイン ト アプリ ケーシ ョ ンがバス マスターと して PCIe リ ンクからホス ト メモ リへの PCI ト ランザクシ ョ ンを開始できるよ うにします。 ルート コンプレッ クスの場合も、 このインターフェイスを使用して I/O およびコンフ ィギュレーシ ョ ン リ クエス ト を開始します。 このインターフェイスは、PCIe リ ンク上でメ ッセージを送信するために、 エンドポイン ト とルート コンプレッ クスの両方で使用できます。 このインターフェイスでの ト ランザクシ ョ ンは、 Completer インターフェイスでの ト ランザクシ ョ ンと同じですが、 コアとユーザー アプリ ケーシ ョ ンの役割が逆になり ます。 ポステッ ド ト ランザクシ ョ ンは、 分割できない単一動作として処理されますが、 ノンポステッ ド ト ランザクシ ョ ンはスプリ ッ ト ト ランザクシ ョ ンと して処理されます。

リ クエスター インターフェイスは、各方向のデータ転送にそれぞれが用いられる 2 つの個別のインターフェイスで構成されます。 各インターフェイスは AXI4-Stream プロ ト コルに基づき、 64、 128、 または 256 ビッ ト幅に設定できます。 リ クエスター リ クエス ト (RQ) インターフェイスはユーザー アプリ ケーシ ョ ンから統合ブロ ッ クへリ クエス ト (関連するペイロード データを含む) を転送するために使用され、 リ クエスター コンプリーシ ョ ン (RC) インターフェイスは、 統合ブロッ クが リ ンクから受信したコンプ リーシ ョ ン (ノンポステッ ド リ クエス ト ) をユーザー アプリ ケーシ ョ ンへ送信するために使用されます。 これら 2 つのインターフェイスは独立して動作します。 つま り、 統合ブロ ックが前回のリ クエス トのコンプ リーシ ョ ンを受信する間に、ユーザー アプリ ケーシ ョ ンが RQ インターフェイスを介して新しいリ クエス ト を転送できます。

Page 132: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 132PG156 2016 年 8 月 18 日

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

リ クエスター リクエスト インターフェイスの動作

RQ インターフェイスでは、ユーザー アプリ ケーシ ョ ンが各 TLP を AXI4-Stream パケッ ト と して送信します。 このパケッ トは 128 ビッ ト ディ スク リプターから始ま り、 TLP にペイロードが含まれる場合はその後をデータが続きます。図 3-37 に、 リ クエスター リ クエス ト インターフェイスで使用される信号を示します。

X-Ref Target - Figure 3-37

図 3-37 : リクエスター リクエスト インターフェイス

Page 133: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 133PG156 2016 年 8 月 18 日

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

RQ インターフェイスでは、 ペイロードの転送において 2 つのデータ アライ メン ト モードをサポート します。 Dwordアラ イ メ ン ト モードの場合、 ユーザー ロジッ クはディ ス ク リプターの 後の Dword の直後にペイロードの 初のDword を提供する必要があ り ます。 また、 初の Dword の有効なバイ ト を示すために first_be[3:0] のビッ トがセッ ト され、 ペイロードの 後の Dword の有効なバイ ト を示すために last_be[3:0] (バス s_axis_rq_tuser の両部分) のビッ トがセッ ト される必要があ り ます。 アドレス アライ メン ト モードの場合、 ユーザー アプリ ケーシ ョンは、 ディ スク リプターの 後の Dword の次のビートでペイロードを転送開始する必要があ り、 その 初の Dwordは、 データパス上の任意の Dword 位置に設定でき ます。 ユーザー アプ リ ケーシ ョ ンは、 s_axis_rq_tuser のaddr_offset[2:0] 信号を使用してデータパス上の 初の Dword のオフセッ ト を示します。 Dword アラ イ メ ン トモードの場合と同様に、 ユーザー アプリ ケーシ ョ ンは 初の Dword の有効バイ ト を示すために first_be[3:0] のビッ ト をセッ ト し、ペイロードの 後の Dword の有効バイ ト を示すために last_be[3:0] のビッ ト をセッ トする必要があ り ます。

統合ブロ ッ クで Transaction Processing Hint 機能が有効に設定されている場合、 ユーザー アプリ ケーシ ョ ンは s_axis_rq_tuser バスに含まれる tph_* 信号を使用して、任意のメモ リ ト ランザクシ ョ ンにオプシ ョ ンでヒン ト を提供できます。 リ クエス トにヒン ト を提供する場合、ユーザー ロジッ クはパケッ トの 初のビートで tph_presentをアサート し、tph_st_tag[7:0] および tph_st_type[1:0] にそれぞれ TPH ステア リ ング タグおよびステア リング タグ タイプを提供する必要があ り ます。使用するステア リ ング タグの値を提供する代わりに、 ユーザー アプリケーシ ョ ンには間接的にステア リ ング タグを提供するオプシ ョ ンがあ り ます。 このオプシ ョ ンを実行するには、tph_present がアサート されている と きに、 tph_indirect_tag_en 信号を 1 にセッ ト し、 tph_st_tag[7:0]にインデッ クスを設置します。 これで、 統合ブロ ッ クは、 インデッ クスが指すオフセッ トの リ クエスター ファンクシ ョ ンと関連付けられているステア リ ング タグ テーブルに格納されたタグを読み出し、 リ クエス ト TLP に挿入します。

リクエスター リクエスト ディスクリプターのフォーマッ ト

ユーザー アプ リ ケーシ ョ ンは、 リ ンク上に送信される各リ クエス ト を個別の AXI4-Stream パケッ ト と して、 統合ブロ ッ クの RQ インターフェイスへ送信する必要があ り ます。 各パケッ トはディ スク リプターから始ま り、 ディ スク リプターの後にペイロード データが続きます。ディ スク リプターは必ず 16 バイ ト長とな り、 リ クエス ト パケッ トの初の 16 バイ トで送信されます。ディ スク リプターは、 64 ビッ ト インターフェイスでは 初の 2 サイクル間で送信され、 128 ビッ ト または 256 ビッ トの場合は 初のサイクルで送信されます。

図 3-38 ~図 3-42 に、ディ スク リプターのフォーマッ ト を リ クエス ト タイプ別に示しています。図 3-38 に示すフォーマッ トは、 転送されている リ クエス ト TLP がメモ リ読み出し /書き込みリ クエス ト、 I/O 読み出し /書き込みリ クエスト、またはア ト ミ ッ ク操作リ クエス トのと きに適用されます。図 3-39 に示すフォーマッ トは、 コンフ ィギュレーシ ョン リ クエス トに使用されます。 図 3-40 に示すフォーマッ トは、 ベンダー定義メ ッセージ (タイプ 0 またはタイプ 1)専用です。 図 3-41 に示すフォーマッ トは、 すべての ATS メ ッセージ (無効な リ クエス ト、 無効なコンプリーシ ョ ン、ページ リ クエス ト、 PRG 応答) に使用されます。 その他のメ ッセージのディ クス リプタについては、 図 3-42 に示すフォーマッ ト とな り ます。

Page 134: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 134PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-38

図 3-38 : メモリ リクエスト、 I/O リクエスト、 ア ト ミ ッ ク操作リクエストのリクエスター リクエスト ディスクリプター フォーマッ ト

X-Ref Target - Figure 3-39

図 3-39 : コンフ ィギュレーシ ョ ン リクエストのリクエスター リクエスト ディスクリプター フォーマッ ト

Page 135: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 135PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-40

図 3-40 : ベンダー定義メ ッセージのリクエスター リクエスト ディスクリプター フォーマッ ト

X-Ref Target - Figure 3-41

図 3-41 : ATS メ ッセージのリクエスター リクエスト ディスクリプター フォーマッ ト

Page 136: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 136PG156 2016 年 8 月 18 日

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

表 3-13 に、 コンプリーター リ クエス ト ディ スク リプターの個別フ ィールドを示します。

X-Ref Target - Figure 3-42

図 3-42 : その他メ ッセージのリクエスター リクエスト ディスクリプター フォーマッ ト

表 3-13 : リクエスター リクエスト ディスクリプターのフ ィールド

ビッ ト インデックス フ ィールド名 説明

1:0Address Type

(アドレス タイプ)

このフ ィールドは、 メモ リ ト ランザクシ ョ ンおよびア ト ミ ッ ク操作専用に定義されます。 統合ブロ ッ クは、 このフ ィールドを リ クエス ト TLP の TL ヘッダーの AT へコピーします。

• 00 : リ クエス ト内のアドレスは変換されない

• 01 : ト ランザクシ ョ ンは変換リ クエス ト

• 10 : リ クエス ト内のアド レスは変換される

• 11 : 予約済み

63:2 Address (アドレス)

このフ ィールドは、 メモ リ、 I/O、 およびア ト ミ ッ ク操作の各リ クエス トに適用されます。 リ クエス トで指定された 初の Dword のアドレスです。ユーザー アプリ ケーシ ョ ンは、 初と 後の Dwordの有効バイ ト を示すために、 s_axis_rq_tuser の First_BE および Last_BE ビッ ト をそれぞれ設定する必要もあ り ます。

ト ラ ンザクシ ョ ンが 32 ビ ッ ト ア ド レスを指定する場合、 このフ ィールドのビッ ト [63:32] は 0 になり ます。

74:64Dword Count

(Dword カウン ト )

これらの 11 ビッ トは、 読み出しまたは書き込みの対象となっているブロッ クのサイズ (メ ッセージの場合は、メ ッセージ ペイロードのサイズ) を示します (Dword 単位)。 メモ リ書き込みリ クエス ト用の有効な範囲は、 0 ~ 256 Dword です。 メモ リ読み出し リ クエス トには、1 ~ 1024 Dword の有効な範囲があ り ます。 I/O アクセスの場合、 Dword カウン トは常に 1 です。

メモ リの読み出し /書き込みリ クエス トの長さが 0 の場合、 Dwordカウン トは 1 になり、First_BE ビッ トはすべて 0 にセッ ト される必要があ り ます。 統合ブロッ クは、供給されるペイロード (ペイロードを含むリ クエス ト ) の実際の長さ、また統合ブロ ッ クの 大ペイロード サイズや読み出し リ クエス ト サイズの設定に対してこのフ ィールドを照合してチェッ クするわけではあ り ません。

78:75Request Type

( リ クエス ト タイプ)ト ランザクシ ョ ン タイプを特定します。 ト ランザクシ ョ ン タイプとそれらのエンコードの詳細は、 表 3-8 に示します。

Page 137: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 137PG156 2016 年 8 月 18 日

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

79Poisoned Request

(ポイズン リ クエス ト )

このビッ トは、 送信される リ クエス ト TLP にポイズニングを適用する場合に使用できます。この機能は、タイプ 0 およびタイプ 1 のコンフ ィギュレーシ ョ ン書き込みリ クエス ト以外のすべての リ クエス ト でサポー ト されています。 ユーザー アプ リ ケーシ ョ ンがディ ス ク リ プターの後に続くデータ ブロ ッ ク内にエラーを検出し、 PCI Express のデータ ポイズニング機能を使用してこのエラー情報を伝える場合以外は、このビッ トはすべてのリ クエス トで 0 にセッ トする必要があ り ます。

この機能は、 タイプ 0 およびタイプ 1 のコンフ ィギュレーシ ョ ン書き込みリ クエス ト以外のすべての リ クエス ト でサポート されています。

87:80

Requester Function/Device Number ( リ クエスター

ファンクシ ョ ン番号/デバイス番号)

リ クエスター ファンクシ ョ ンに関連するバス番号です。 統合ブロッ クがエンドポイン ト と してコンフィギュレーシ ョ ンされている場合、 ユーザー アプリ ケーシ ョ ンはディ スク リプター内のRequester ID Enable ビッ ト を 0b に設定して、 このフィールドに 8’b0を提供する必要があり ます。この場合、統合ブロッ クが ConfigurationRequest からキャプチャした Bus Number に格納されている値が使用されます。

それ以外では、 統合ブロ ッ クがルート コンプレッ クス と してコンフィギュレーシ ョ ンされている場合、ユーザー アプリケーシ ョ ンがこのフィールドにリ クエスターの 8 ビッ トのバス番号を提供する必要があり ます。

95:88Requester Bus Number

( リ クエスター バス番号)

リ クエスター ファンクシ ョ ンに関連するバス番号です。 統合ブロッ クがエンドポイン ト と してコンフィギュレーシ ョ ンされている場合、 ユーザー アプリ ケーシ ョ ンはディ スク リプター内のRequester ID Enable ビッ ト を 0b に設定して、 このフィールドに 8’b0を提供する必要があり ます。この場合、統合ブロッ クが ConfigurationRequest からキャプチャした Bus Number に格納されている値が使用されます。

それ以外では、 統合ブロ ッ クがルート コンプレッ クス と してコンフィギュレーシ ョ ンされている場合、ユーザー アプリケーシ ョ ンがこのフィールドにリ クエスターの 8 ビッ トのバス番号を提供する必要があり ます。

103:96 Tag (タグ)

リ クエス トに関連する PCIe タグです。ポステッ ド ト ランザクシ ョンの場合、 統合ブロ ッ クは リ ク エス ト のタ グ と し て常に このフ ィールドの値を使用します。 ノンポステッ ド ト ランザクシ ョ ンの場合、 統合ブロ ッ クは AXISTEN_IF_ENABLE_CLIENT_TAG パラ メーターが設定されている場合 (つま り、ユーザー アプリ ケーシ ョ ンでタグ管理が実行されている場合) にこのフ ィールドの値を使用します。 ビッ ト [101:96] はタグと して使用されます。 ビッ ト [103:102] は予約されています。 このパラ メーターが設定されていない場合は、 統合ブロ ッ ク内のタグ管理ロジッ クがタグを生成し、 ディ ス ク リプターのタグ フ ィールドは使用されません。

119:104Completer ID

(コンプ リーター ID)

このフ ィールドは、 ID を使用して送信されコンフ ィギュレーシ ョン リ クエス トやメ ッセージにのみ適用されます。 これらの リ クエス トでは、 このフ ィールドが各リ クエス トに関連する PCI コンプリーター ID を示します (これらの 16 ビッ トは、レガシ インタープリ テーシ ョ ン モードでは 8 ビッ トのバス番号、 5 ビッ トのデバイス番号、 3 ビッ トのファンクシ ョ ン番号に分けられる )。 ARI モードの場合、 これらの 16 ビッ トは 8 ビッ トのバス番号と 8 ビッ トのファンクシ ョ ン番号と して扱われます。

表 3-13 : リクエスター リクエスト ディスクリプターのフ ィールド (続き)

ビッ ト インデックス フ ィールド名 説明

Page 138: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 138PG156 2016 年 8 月 18 日

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

120Requester ID Enable ( リ クエスター ID

イネーブル)

このフ ィールドは、 Requester ID フ ィールドの構成に使用されるバス番号、 デバイス番号、 およびファンクシ ョ ン番号をユーザー アプ リ ケーシ ョ ンが提供するこ とを可能にします。 このフ ィールドは、 統合ブロ ッ クがルー ト コンプレ ッ ク ス と してコンフ ィ ギュレーシ ョ ンされている場合には 1b に設定され、 エンドポイン ト としてコンフ ィギュレーシ ョ ンされている場合には 0b に設定されている必要があ り ます。詳細要件は、Requester Bus Number ( リ クエスター バス番号) および Requester Function/Device Number ( リ クエスター ファンクシ ョ ン番号/デバイス番号) フ ィールドを参照して ください。

123:121 Transaction Class (TC) リ クエス トに関連する PCIe ト ランザクシ ョ ン ク ラス (TC) です。

126:124 Attributes (属性)

これらのビッ トは、 リ クエス トに関連する Attribute ビッ トの設定を提供します。 ビ ッ ト 124 は No Snoop ビ ッ ト で、 ビ ッ ト 125 はRelaxed Ordering ビッ トです。 ビッ ト 126 は ID-Based Ordering ビットで、 メモ リ リ クエス ト と メ ッセージ専用にセッ トできます。 ファンクシ ョ ンの PCI Express Device Control Register で対応する属性が有効に設定されていない場合、 統合ブロ ッ クは リ ンク上に送信される リ クエス トの属性ビッ ト を強制的に 0 にします。

127 Force ECRC

強制的に ECRC を挿入します。このビッ ト を 1 にセッ トする と、リクエス ト を送信するファンクシ ョ ンで ECRC 機能が有効に設定されていない場合でも、 統合ブロ ッ クが リ クエス ト TLP に ECRC を含む TLP Digest を追加します。

15:0Snoop Latency

(スヌープ レイテンシ)

このフ ィールドは LTR メ ッセージ専用に定義されます。 メ ッセージの TLP ヘッダーにある 16 ビッ トのスヌープ レイテンシ フ ィールドの値を提供します。

31:16No-Snoop Latency (ノー スヌープ レイテンシ)

このフ ィールドは LTR メ ッセージ専用に定義されます。 メ ッセージの TLP ヘッダーにある 16 ビッ トのノー スヌープ フ ィールドの値を提供します。

35:32 OBFF コード

OBFF コード フ ィールドは、 さまざまな OBFF ケースを識別するために使用されます。

• 1111b : CPU アクティブ – バス マスタ リ ングや割り込みなど、すべてのデバイス アクシ ョ ンに対してシステムが完全にアクティブである

• 0001b : OBFF – デバイス メモ リの読み出し /書き込みバス マスターの動作で利用可能なシステム メモ リ パス

• 0000b : アイ ドル – システムがアイ ドル状態で、 低電力ステート

その他すべてのコードは予約されています。

111:104 メ ッセージ コード

このフ ィールドはすべてのメ ッセージ用に定義されます。TLP ヘッダーに設定される 8 ビッ トのメ ッセージ コードが含まれます。

サポー ト 対象の メ ッセージ コードの一覧は、 『PCI Express BaseSpecification、rev. 3.0』 [参照 2] の「Appendix F」を参照してください。

114:112Message Routing

(メ ッセージ ルーティング)

このフ ィールドはすべてのメ ッセージ用に定義されます。 統合ブロッ クは、 これらのビッ ト を リ クエス ト TLP の TLP ヘッダーにある 3 ビッ トの Routing フ ィールド r[2:0] へコピーします。

15:0Destination ID

(デスティネーシ ョ ン ID)

このフ ィールドはベンダー定義メ ッセージにのみ適用されます。メ ッ セージが ID を使用して送信される場合 (つま り、 MessageRouting フ ィールドが 010 バイナリの場合)、このフ ィールドはメ ッセージの Destination ID を提供します。

表 3-13 : リクエスター リクエスト ディスクリプターのフ ィールド (続き)

ビッ ト インデックス フ ィールド名 説明

Page 139: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 139PG156 2016 年 8 月 18 日

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

リクエスター メモリ書き込み動作

Dword アライ メン ト モードでは、転送は 16 ディ スク リプター バイ トから始ま り、その直後にペイロード バイ トが続きます。 ユーザー アプリ ケーシ ョ ンは、パケッ トが送信される間、 s_axis_rq_tvalid 信号をアサート したままに保持する必要があ り ます。パケッ ト送信中に s_axis_rq_tvalid がディアサート される と、統合ブロ ッ クはこれをエラーと して処理し、 リ ンク上の対応する リ クエス ト TLP を無効にしてデータ破損を回避します。

またユーザー アプリ ケーシ ョ ンは、 パケッ トの 後のビートで s_axis_rq_tlast をアサート します。 統合ブロ ックは、 データの受信準備が整っていない場合に、 任意のサイ クルで s_axis_rq_tready をディアサートできます。統合ブロ ッ クが s_axis_rq_tready をディアサート したクロ ッ ク サイ クル内では、 ユーザー アプリ ケーシ ョ ンがRQ インターフェイス上の値を変更してはいけません。 AXI4-Stream インターフェイス信号 m_axis_cq_tkeep (各Dword 位置に 1 つ) をセッ ト して、ディ クス リプタなどのパケッ ト内の有効な Dword およびディ スク リプターとペイロード間に挿入される NULL バイ ト を示す必要があ り ます。つま り、ディ スク リプターの 初の Dword からペイロードの 後の Dword まで、tkeep ビッ トは継続的に 1 にセッ ト される必要があ り ます。パケッ トの転送中、インターフェイスの幅全体がパケッ トで埋められないと きは、 パケッ トの 後のビートに限り tkeep ビッ ト を 0 にできます。

リ クエスター リ クエス ト インターフェイスでは、 s_axis_rq_tuser バスに First Byte Enable ビッ ト と Last Enableビッ ト も含まれます。これらのビッ トはパケッ トの 初のビートでセッ ト され、ペイロードの 初と 後の Dword にある有効なバイ ト情報を提供します。

ユーザー アプリ ケーシ ョ ンは、 1 つのリ クエス トで転送されるペイロードのサイズを、統合ブロ ッ クで設定した 大ペイロード サイズまでに制限し、 ペイロードが 4k バイ トの境界を超えないよ うにする必要があ り ます。 2 Dword またはそれ以下のメモ リ書き込みの場合、 first_be および last_be で 1 が連続しない場合があ り ます。 長さ 0 のメモ リ書き込みリ クエス ト など特殊な場合は、 first_be と last_be が両方と もすべて 0 にセッ ト された状態でユーザー アプリ ケーシ ョ ンがダ ミーの 1 Dword ペイロードを提供する必要があ り ます。 その他の場合、 first_be および last_be における 1 は連続する必要があ り ます。

図 3-43、図 3-44、および図 3-45 のタイ ミ ング図は、 リ クエスター リ クエス ト インターフェイスを介すユーザー アプリ ケーシ ョ ンからのメモ リ書き込みリ クエス トの Dword アライ メン ト転送を、 インターフェイス幅 64、 128、 および256 ビッ ト別に示しています。 説明用と して、 ユーザー アプリ ケーシ ョ ン メモ リに書き込まれるデータ ブロ ッ クのサイズは n Dword と仮定し、 n = k * 32 + 29 (k > 0) とな り ます。

63:32Vendor-Defined Header

(ベンダー定義のヘッダー )

このフ ィールドはベンダー定義メ ッセージにのみ適用されます。TLP ヘッダーの Dword 3 へコピーされます。

63:0ATS Header

(ATS ヘッダー )

このフ ィールドは ATS メ ッセージにのみ適用可能です。 統合ブロッ クが TLP ヘッダーの Dword 2 と Dwod 3 へコピーするバイ トが含まれます。

表 3-13 : リクエスター リクエスト ディスクリプターのフ ィールド (続き)

ビッ ト インデックス フ ィールド名 説明

Page 140: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 140PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-43

図 3-43 : リクエスター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (Dword アライメン ト モード、 インターフェイス幅 = 64 ビッ ト )

X-Ref Target - Figure 3-44

図 3-44 : リクエスター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (Dword アライメン ト モード、 インターフェイス幅 = 128 ビッ ト )

Page 141: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 141PG156 2016 年 8 月 18 日

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

図 3-46、 図 3-47、 および図 3-48 のタイ ミ ング図は、 RQ インターフェイスを介すユーザー アプリ ケーシ ョ ンからのメモ リ書き込みリ クエス トのアドレス アライ メン ト転送を、 インターフェイス幅 64、 128、 および 256 ビッ ト別に示しています。図示する目的で、ユーザー アプリ ケーシ ョ ン メモ リに書き込まれるデータ ブロ ッ クの開始 Dword オフセッ トは、 整数 m > 0 のと き (m * 32 + 1) と仮定しています。 サイズは n Dword と仮定し、 n = k * 32 + 29 (k > 0) となり ます。

アドレス アライ メン ト モードでは、 ペイロードの送信は必ず、 ディ スク リプターの 後のバイ トの後に続いて発生するビートで開始します。 ペイロードの 初の Dword は、 任意の Dword 位置で現れるこ とができます。 ユーザー アプ リ ケーシ ョ ンは、 s_axis_rq_tuser の addr_offset[2:0] 信号を使用して、 データパス上にあるペイロードの 初の Dword のオフセッ ト を示す必要があ り ます。 ユーザー アプリ ケーシ ョ ンは 初の Dword の有効バイ ト を示すために first_be[3:0] のビ ッ ト をセ ッ ト し、 ペイ ロー ド の 後の Dword の有効バイ ト を示すためにlast_be[3:0] のビッ ト をセッ トする必要があ り ます。

X-Ref Target - Figure 3-45

図 3-45 : リクエスター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (Dword アライメン ト モード、 インターフェイス幅 = 256 ビッ ト )

Page 142: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 142PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-46

図 3-46 : リクエスター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (アドレス アライメン ト モード、 インターフェイス幅 = 64 ビッ ト )

X-Ref Target - Figure 3-47

図 3-47 : リクエスター リクエス ト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (アドレス アライメン ト モード、 インターフェイス幅 = 128 ビッ ト )

Page 143: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 143PG156 2016 年 8 月 18 日

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

ペイロードを含まないノンポステッ ド ト ランザクシ ョ ン

ペイロードを含まないノンポステッ ド ト ランザクシ ョ ン (メモ リ書き込みリ クエス ト、 I/O 読み出し リ クエス ト、 コンフ ィギュレーシ ョ ン読み出し リ クエス ト ) は、 メモ リ書き込みリ クエス ト と同様に RQ インターフェイスを介して送信されますが、 この ト ランザクシ ョ ンでは AXI4-Stream パケッ ト 7 に 16 バイ トのディ スク リプターのみ含まれます。図 3-49、図 3-50、および図 3-51 のタイ ミ ング図は、 RQ インターフェイスを介すメモリ読み出し リ クエス トの転送を 64、 128、 および 256 ビッ ト別に示しています。 パケッ トは、 64 ビッ ト インターフェイスについては連続する 2ビート を使用して転送されますが、128 ビッ ト または 256 ビッ ト インターフェイスについては 1 ビートで転送されます。 s_axis_rq_tvalid 信号は、 パケッ トが送信される間アサート された状態を維持する必要があ り ます。 統合ブロ ッ クは、 このビート を延長させるために s_axis_rq_tready をディアサート できます。 s_axis_rq_tlast 信号は、パケッ トの 後のビートでセッ ト され、 s_axis_rq_tkeep[7:0] のビッ トは、ディ スク リプターが現れるすべての Dword 位置でセッ ト される必要があ り ます。

読み出されるデータ ブロ ッ クの 初と 後の Dword の有効バイ トは、first_be[3:0] および last_be[3:0] をそれぞれ使用して示される必要があ り ます。 長さ 0 のメモ リ読み出し リ クエス ト など特殊な場合は、 first_be と last_beが両方と もすべて 0 にセッ ト された状態で、 リ クエス トの長さは 1 Dword に設定される必要があ り ます。 さ らに、 アドレス アライ メン ト モードの場合は、s_axis_rq_tuser の addr_offset[2:0] がリ クエスター コンプリーシ ョン インターフェイス上に返されるデータの任意の開始アライ メン ト を指定します。アライ メン トは、 リ クエス トのアドレス と相関性を持つ必要はあ り ません。

X-Ref Target - Figure 3-48

図 3-48 : リクエスター リクエスト インターフェイスでのメモリ書き込みト ランザクシ ョ ン (アドレス アライメン ト モード、 インターフェイス幅 = 256 ビッ ト )

Page 144: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 144PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-49

図 3-49 : リクエスター リクエスト インターフェイスでのメモリ読み出し ト ランザクシ ョ ン (インターフェイス幅 = 64 ビッ ト )

Page 145: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 145PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-50

図 3-50 : リクエスター リクエスト インターフェイスでのメモリ読み出し ト ランザクシ ョ ン (インターフェイス幅 = 128 ビッ ト )

Page 146: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 146PG156 2016 年 8 月 18 日

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

ペイロードを含むノンポステッ ド ト ランザクシ ョ ン

ペイロードを含むノンポステッ ド リ クエス ト (I/O 書き込みリ クエス ト、 コンフ ィギュレーシ ョ ン書き込みリ クエスト、 またはア ト ミ ッ ク操作リ クエス ト ) の転送は、 メモ リ リ クエス トの転送と類似していますが、 ペイロードがデータパス上で揃え う方法において次の点が異なり ます。

• Dword アライ メン ト モードの場合、 ペイロードの 初の Dword はディ スク リプターの 後の Dword の後に転送され、 この 2 つの Dword 間にギャップは生じません。

• アドレス アライ メン ト モードの場合、 ペイロードの送信は必ず、 ディ スク リプターの 後のバイ トの後に続いて発生するビートで開始します。ペイロードはデータパス上の任意の Dword 位置で開始できます。 初の Dwordのオフセッ トは、 addr_offset[2:0] 信号を使用して指定される必要があ り ます。

I/O およびコ ンフ ィ ギ ュ レーシ ョ ン書き込み リ ク エス ト の場合、 1 Dword ペイ ロー ド の有効バイ ト は、first_be[3:0] 信号を使用して指定されます。 ア ト ミ ッ ク操作リ クエス トの場合、 初と 後の Dword のすべてのバイ ト を有効と見なします。

X-Ref Target - Figure 3-51

図 3-51 : リクエスター リクエスト インターフェイスでのメモリ読み出し ト ランザクシ ョ ン (インターフェイス幅 = 256 ビッ ト )

Page 147: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 147PG156 2016 年 8 月 18 日

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

リクエスター インターフェイスでのメ ッセージ リクエス ト

RQ インターフェイスにおける メ ッセージの転送はメモ リ書き込みリ クエス ト と同様ですが、 ペイロードが常に存在するわけではない点のみ異なり ます。転送は 128 ビッ ト ディ スク リプターから始ま り、ペイロードがある場合はその後ペイロードが続きます。Dword アライ メン ト モードを使用する場合、ディ スク リプターの直後にペイロードの 初の Dword が続きます。 アドレス アライ メン ト モードを使用する場合、 ペイロードはディ スク リプターの後のビートで開始する必要があ り、 またバイ ト レーン 0 に揃う必要があ り ます。 アドレス アライ メン ト モードが使用される場合、 メ ッセージに対して、 統合ブロ ッ クへの addr_offset 入力が 0 にセッ ト されている必要があ り ます。 統合ブロ ッ クは、 s_axis_rq_tlast および s_axis_rq_tkeep 信号からペイロードの終わり を判断します。 メ ッセージリ クエス トの場合、First Byte Enable ビッ トおよび Last Byte Enable ビッ ト (first_be および last_be) は使用されません。

転送の中断

関連するペイロードを含むすべてのリ クエス トの転送では、 ユーザー アプリ ケーシ ョ ンが s_axis_cc_tuser バスで Discontinue 信号をアサートする こ とによって、 ペイロード転送中にいつでも リ クエス ト を中断できます。 統合ブロ ッ クはリ ンク上の対応する TLP を無効にしてデータ破損を回避します。

ユーザー アプリケーシ ョ ンは、 転送されている リ クエス トが関連するペイロードを含んでいる場合に、 転送中の任意のタ イ ミ ングでこの信号をアサー ト でき ます。 また、 エラーが示されたサイ クルでパケ ッ ト を早期に中断する(s_axis_rq_tlast をアサート )、 またはペイロードのすべてのバイ トが統合ブロ ッ クへ送信されるまで継続してから中断するのいずれかを選択でき ます。 後者の場合、 ユーザー アプ リ ケーシ ョ ンがパケ ッ ト の終了よ り 前にDiscontinue 信号をディアサート した場合でも、統合ブロ ッ クはパケッ トのその後のサイクルでエラーをスティ ッキーと して処理します。

Discontinue 信号は、s_axis_rq_tvalid が High の場合のみアサート されます。統合ブロッ クは、s_axis_rq_tvalidと s_axis_rq_tready が両方と も High にアサー ト されている場合にこの信号をサンプルします。 したがって、Discontinue 信号がアサート される と、 s_axis_rq_tready が High にアサート されるまでディアサートできません。

統合ブロ ッ クがエンドポイン ト と してコンフ ィギュレーシ ョ ンされる場合、 Advanced Error Reporting (AER) 機能を使用して訂正不可能な内部エラーと して、 接続される先のルート コンプレッ クスに対して統合ブロ ッ クがエラーをレポート します。

ノンポステッ ド転送のタグ管理

統合ブロッ クの リ クエスター側が、ユーザー アプリ ケーシ ョ ンによって開始されたすべての保留されている ノンポステッ ド ト ランザクシ ョ ン (メモ リ読み出し、 I/O 読み出しおよび書き込み、 コンフ ィギュレーシ ョ ン読み出しおよび書き込み、 ア ト ミ ッ ク操作) のステータスを維持し、 これによってターゲッ トから返されるコンプ リーシ ョ ンが対応する リ クエス ト と一致するこ とが可能になり ます。未処理ト ランザクシ ョ ンの各ステートは、 インターフェイスの リクエスター側にあるスプ リ ッ ト コンプリーシ ョ ン テーブルで管理されます。 このテーブルでは 64 のノンポステッ ドト ランザクシ ョ ンを管理できます。 コンプリーシ ョ ンの送信は、 6 ビッ トのタグを使用してペンディング リ クエス トと一致します。 これらのタグ管理には、 次の 2 つのオプシ ョ ンがあ り ます。

• Internal Tag Management (内部タグ管理) : AXISTEN_IF_ENABLE_CLIENT_TAG パラ メーターを FALSE に設定する と、 この動作モードが選択され、 これはコアのデフォルト設定となり ます。 リ クエスター側から開始された各ノンポステッ ド リ クエス トに対して、統合ブロッ ク内のロジッ クがタグの割り当てを実行します。統合ブロ ッ クは、 フ リー タグのリ ス ト を管理し、 ユーザー アプリ ケーシ ョ ンがノンポステッ ド ト ランザクシ ョ ンを開始する際に各リ クエス トにこれらのいずれかを割り当て、その後 pcie_rq_tag[5:0] 出力を介して割り当てたタグ値をユーザー アプリ ケーシ ョ ンに伝達します。 このバスの値は、 統合ブロ ッ クが pcie_rq_tag_vld をアサートする と有効になり ます。 リ クエス トに応答して統合ブロ ッ クから送信されたすべてのコンプリーシ ョ ンがリ クエス ト と一致するよ うに、 ユーザー ロジッ クはこのタグをコピーする必要があ り ます。

このモードでは、統合ブロ ッ ク内のロジッ クがスプ リ ッ ト コンプリーシ ョ ン テーブルの全条件をチェッ ク し、現在未処理状態のノンポステッ ド リ クエス トの合計数が 大値 (64) に到達する と、 ユーザー アプリ ケーシ ョ ンからのノンポステッ ド リ クエス トにバッ クプレッシャーを用いて (s_axis_rq_tready を使用) 送信を制御します。

• External Tag Management (外部タグ管理) : このモードの場合、 リ クエスター側から開始された各ノンポステッ ドリ クエス トに対して、 ユーザー ロジッ クがタグの割り当てを実行します。 ユーザー ロジッ クは、 その時点で処理されていないその他すべてのノンポステッ ド ト ランザクシ ョ ンのタグと競合しないよ うにタグ値を選択し、そ

Page 148: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 148PG156 2016 年 8 月 18 日

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

の選択したタグ値を リ クエスター ディ スク リプターを介して統合ブロ ッ クへ伝達する必要があ り ます。さ らに統合ブロ ッ クは、 スプ リ ッ ト コンプ リーシ ョ ン テーブル内で未処理のリ クエス ト を管理し、 受信するコンプ リーシ ョ ンを リ クエス ト と一致させます。 ただし、 タグの異常やスプ リ ッ ト コンプ リーシ ョ ン テーブルの全条件チェッ クは実行しません。

内部タグ管理オプシ ョ ンを使用する場合、統合ブロッ クは、pcie_rq_tag[5:0] に割り当てたタグ値を配置した後、各ノンポステッ ド リ クエス トに対して 1 サイ クル間 pcie_rq_tag_vld をアサート します。 RQ インターフェイスに リ クエス ト が転送されてから、 その リ クエス ト に対して割 り当てたタグ値を提供するために統合ブロ ッ クがpcie_rq_tag_vld をアサートするまでには、 数サイ クルの遅延が生じる可能性があ り ます。 この間、 ユーザー アプリ ケーシ ョ ンは新しいリ クエス ト を継続して送信できます。 各リ クエス トのタグは、 pcie_rq_tag バスを使用して FIFO 順序で伝達されるため、 送信された リ クエス ト と タグの値を簡単に関連付けるこ とができます。 スプリ ッ トコンプ リーシ ョ ンの 後のコンプ リーシ ョ ンの EOF (end-of-frame) がユーザー アプ リ ケーシ ョ ンで受信される と きに、 タグは再び使用されます。

ポステッ ド リクエス トの HOL (Head-of-Line) ブロッキングの回避

統合ブロッ クは、送信クレジッ ト または有効なタグが不足した場合に、RQ インターフェイスで受信したノンポステッド リ クエス ト をホールドできます。 この際、 ポステッ ド ト ランザクシ ョ ンで HOL (Head-of-Line) ブロ ッキングが生じる可能性があ り ます。統合ブロ ッ クは、この状況を回避するために次の信号を用いたメカニズムをユーザー ロジックに提供します。

• pcie_tfc_nph_av[1:0] : これらの出力は、ノンポステッ ド リ クエス トで現在利用できるヘッダー クレジッ ト数を示します。

° 00 = 使用可能なクレジッ トはない

° 01 = 1 クレジッ ト

° 10 = 2 クレジッ ト

° 11 = 3 以上のクレジッ ト

• pcie_tfc_npd_av[1:0] : これらの出力は、 ノンポステッ ド リ クエス トで現在利用できるデータ クレジッ ト数を示します。

° 00 = 使用可能なクレジッ トはない

° 01 = 1 クレジッ ト

° 10 = 2 クレジッ ト

° 11 = 3 以上のクレジッ ト

ユーザー ロジッ クは、 ノンポステッ ド リ クエス ト を送信する前にオプシ ョ ンでこれらの出力を確認できます。 内部パイプライン遅延が原因で、 これらの出力情報は、 RQ インターフェイスにディ スク リプターの 後のバイ トが送信されたサイクルよ り、 2 ユーザー ク ロ ッ ク サイクル分遅れます。 したがって、ユーザー ロジッ クは、 2 つ前のクロ ック サイ クルで送信されたノンポステッ ド リ クエス ト を考慮して正しい値を取得する必要があ り ます。図 3-52 に、256ビッ ト インターフェイスでのこれらの信号の動作を示しています。この例では、 初に統合ブロ ッ クには 3 つのノンポステッ ド ヘッダー クレジッ ト と 2 つのノンポステッ ド データ クレジッ ト 、そして有効な 3 つのフ リー タグがあ ります。 ユーザー アプ リ ケーシ ョ ンからの リ クエス ト 1 (Req 1) は、 1 Dword ペイロードを含んでいるため、 ヘッダークレジッ ト とデータ クレジッ ト を 1 つずつ使用し、 タグも 1 つ使用します。 次のサイクルでリ クエス ト 2 (Req 2) が 1ヘッダー クレジッ ト を使用しますが、 データ クレジッ トは使用していません。 次のクロ ッ ク サイクルでユーザー アプリケーシ ョ ンがリ クエス ト 3 (Req 3) を示すと き、 リ クエス ト 1 と リ クエス ト 2 を考慮し、利用可能なクレジッ ト数と タグ数を調整する必要があ り ます。 リ クエス ト 3 が 1 ヘッダー クレジッ ト と 1 データ クレジッ ト を使用する と、 2サイクル後に使用できる両方のクレジッ ト数が 0 とな り、 タグ数も 0 とな り ます。

図 3-53 および図 3-54 は、同じ例のクレジッ ト と タグのタイ ミ ングを、インターフェイス幅 128 ビッ トおよび 64 ビット別に示しています。

Page 149: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 149PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-52

図 3-52 : リクエスター リクエスト インターフェイスでの利用可能なクレジッ ト数およびタグ数を示す信号 (インターフェイス幅 = 256 ビッ ト )

X-Ref Target - Figure 3-53

図 3-53 : リクエスター リクエスト インターフェイスでの利用可能なクレジッ ト数およびタグ数を示す信号 (インターフェイス幅 = 128 ビッ ト )

Page 150: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 150PG156 2016 年 8 月 18 日

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

ト ランザクシ ョ ン順序の維持

統合ブロッ クは、 リ クエスター インターフェイスでユーザー アプリ ケーシ ョ ンから受信した リ クエス ト を リ ンクに送信する際に順序を変更しません。ユーザー アプリ ケーシ ョ ンが RQ インターフェイスおよび CC インターフェイスに送信される ト ランザクシ ョ ン順序を正確に制御する必要がある場合 (通常、順序設定で STRICT を使用する場合に、コンプ リーシ ョ ンがポステッ ド リ クエス ト を飛び越えないよ うにするため)、 統合ブロ ッ クはパイプラインをとおるポステッ ド ト ランザクシ ョ ンの進捗をユーザー アプ リ ケーシ ョ ンがモニタ リ ングできる メカニズムを提供します。これによって、 リ クエスター リ クエス ト インターフェイスから送信された特定のポステッ ド リ クエス ト を飛び越える リ スクを冒すこ とな く、 コンプ リーター コンプ リーシ ョ ン インターフェイス上にコンプ リーシ ョ ンを送信するタイ ミ ングを判断できます。

リ クエスター リ クエス ト インターフェイスを介してポステッ ド リ クエス ト (メモ リ書き込みト ランザクシ ョ ンまたはメ ッセージ) を転送する場合、ユーザー アプリ ケーシ ョ ンは s_axis_rq_tuser の seq_num[3:0] 入力で 4 ビットのシーケンス番号を統合ブロ ッ クへオプシ ョ ンで提供できます。 このシーケンス番号は、パケッ トの 初のビートで有効になり ます。 ユーザー アプリ ケーシ ョ ンは、 コアの pcie_rq_seq_num[3:0] 出力をモニタ リ ングして、 このシーケンス番号が現れるのを確認できます。 ト ランザクシ ョ ンが統合ブロ ッ クの内部送信パイプライン内の特定段階 ( コ ンプ リ ーシ ョ ンを飛び越え る こ と ができ な く な る レベル) に到達する と、 統合ブロ ッ クはpcie_rq_seq_num_valid を 1 サイ クル間アサート して、 pcie_rq_seq_num[3:0] 出力にポステッ ド リ クエストのシーケンス番号を提供します。 シーケンス番号が pcie_rq_seq_num[3:0] に現れた後に統合ブロ ッ クから送信されたコンプ リーシ ョ ンは、 内部送信パイプライン内のポステッ ド リ クエス ト を飛び越えるこ とができません。

X-Ref Target - Figure 3-54

図 3-54 : リクエスター リクエスト インターフェイスでの利用可能なクレジッ ト数およびタグ数を示す信号 (インターフェイス幅 = 64 ビッ ト )

Page 151: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 151PG156 2016 年 8 月 18 日

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

リ クエスター コンプリーシ ョ ン インターフェイスの動作

ユーザー ロジッ クで生成された リ クエス トに対するコンプリーシ ョ ンは、 統合ブロ ッ クの リ クエスター コンプ リーシ ョ ン (RC) インターフェイスに現れます。 図 3-55 に、 リ クエス ト コンプ リーシ ョ ン インターフェイスに現れる信号を示しています。 ス ト ラ ドルが無効に設定されている場合、 統合ブロ ッ クはこのインターフェイスを使用して各TLP を AXI4-Stream パケッ ト と して送信します。パケッ トは 96 ビッ ト ディ スク リプターから始ま り、コンプリーシ ョンにペイロードが含まれる場合はその後をデータが続きます。

RC インターフェイスでは、 ペイロードの転送において 2 つのデータ アライ メン ト モードをサポート します。 Dwordアライ メン ト モードの場合、 統合ブロ ッ クはディ スク リプターの 後の Dword の直後にコンプリーシ ョ ン ペイロードの 初の Dword を送信する必要があ り ます。 アドレス アライ メン ト モードの場合、 統合ブロ ッ クはディ スク リプターの 後の Dword に続いて発生するビートでペイロードの送信を開始し、 その 初の Dword はデータパス上の任意の Dword 位置で開始できます。 ペイロードの 初の Dword のアライ メン トは、 ユーザー アプリ ケーシ ョ ンが統合ブロ ッ クに リ ク エス ト を送信し た と きに提供される ア ド レ ス オフセ ッ ト (つま り、 RQ イ ン ターフ ェ イ スのaddr_offset[2:0] 入力の設定) で決定します。 したがって、 アドレス アライ メン ト モードは、 RQ インターフェイスで使用できるよ うに設定されている場合のみ、 RC インターフェイスで使用できます。

X-Ref Target - Figure 3-55

図 3-55 : リクエスター コンプリーシ ョ ン インターフェイス

Page 152: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 152PG156 2016 年 8 月 18 日

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

リクエスター コンプリーシ ョ ンのディスクリプターのフォーマッ ト

統合ブロ ッ クの RC インターフェイスは、 リ ンクから受信したコンプ リーシ ョ ン データをユーザー アプリ ケーシ ョンへ AXI4-Stream パケッ ト と して送信します。 各パケッ トはディ スク リプターから始ま り、 ディ スク リプターの後にペイロード データが続きます。ディ スク リプターは必ず 12 バイ ト長とな り、コンプリーシ ョ ン パケッ トの 初の 12バイ トで送信されます。 ディ スク リプターは、 64 ビッ ト インターフェイスでは 初の 2 サイクル間で送信され、 128ビッ ト または 256 ビッ トの場合は 初のサイ クルで送信されます。 コンプ リーシ ョ ン データが複数のスプリ ッ ト コンプ リーシ ョ ンに分割される場合は、統合ブロ ッ クが各スプリ ッ ト コンプリーシ ョ ンを個別にディ スク リプターを備えた AXI4-Stream パケッ ト と して送信します。

リ クエスター コンプリーシ ョ ン ディ スク リプターのフォーマッ トは、 図 3-56 を参照して ください。 RC ディ スク リプターの各フ ィールドの詳細は、 表 3-14 で説明しています。

X-Ref Target - Figure 3-56

図 3-56 : リクエスター コンプリーシ ョ ンのディスクリプターのフォーマッ ト

表 3-14 : リクエスター コンプリーシ ョ ン ディスクリプターのフ ィールド

ビッ ト インデックス

フ ィールド名 説明

11:0Lower Address

(下位アドレス)

このフ ィールドでは、 リ クエス トによって参照される 初のバイ トの下位 12ビッ ト を提供します。 統合ブロッ クは、 スプリ ッ ト コンプリーシ ョ ン テーブルからこのアドレスを返します。 このテーブルには、 リ クエスター側の保留されているすべてのノンポステッ ド リ クエス トのアドレス とその他のパラ メーターが格納されています。

送信されたコンプ リーシ ョ ンにエラーがある と、 このアドレスのビッ ト [6:0]のみ有効と して見なされます。

これはバイ ト レベルのアドレスです。

Page 153: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 153PG156 2016 年 8 月 18 日

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

15:12Error Code

(エラー コード )

コンプリーシ ョ ンのエラー コードです。 これらの 3 ビッ トは、 統合ブロ ッ クが受信したコンプ リーシ ョ ンに対して実行したエラー チェ ッ クで検出されたエラー状況をエンコード したものです。エンコードは次のとおりです。

• 0000 : 正常終了 (すべてのデータを受信)。• 0001 : コンプリーシ ョ ン TLP にポイズニングが適用されている。

• 0010 : リ クエス トは UR、 CA、 または CRD ステータスを含むコンプリーシ ョ ンで終了されている。

• 0011 : データを含まないコンプ リーシ ョ ンで リ クエス トが終了、またはそのコンプリーシ ョ ンのバイ ト カウン トがそのリ クエス トに対して予測されている合計バイ ト数を超えている。

• 0100 : 送信されている現在のコンプリーシ ョ ンには、 未処理リ クエス ト と同じタグがあるが、 その Requester ID、 TC、 または Attribute フ ィールドが未処理リ クエス トのパラ メーターと一致していない。

• 0101 : 開始アドレスのエラーを示す。 コンプリーシ ョ ン TLP ヘッダーの下位アドレスが、 その リ クエス トの次に予想されるバイ トの開始アドレス と一致しない。

• 0110 : タグが無効であるこ とを示す。このコンプリーシ ョ ンは、処理されていないリ クエス トのいかなるタグと も一致しない。

• 1001 : コンプリーシ ョ ンのタイムアウ トで リ クエス トが終了。 この場合、ディ スク リプターはコンプリーシ ョ ン TLP に対応しないため、 ビッ ト [30]、 リ クエスター ファンクシ ョ ン [55:48]、 およびタグ フ ィールド [71:64] を除くディ スク リプターのその他のフ ィールドは無効となる。

• 1000 : リ クエス ト を生成したファンクシ ョ ンをターゲッ ト とするFunction-Level Reset (FLR) によって リ クエス トが終了。 この場合、ディ スクリプターはコンプリーシ ョ ン TLP に対応しないため、 ビッ ト [30]、 リ クエスター ファンクシ ョ ン [55:48]、 およびタグ フ ィールド [71:64] を除くディスク リプターのその他のフ ィールドは無効となる。

28:16Byte Count

(バイ ト カウン ト )

これらの 13 ビッ トには、0 ~ 4096 バイ トの範囲の値が含まれます。シングルコンプ リーシ ョ ンを使用してメモ リ読み出し リ クエス トが完了する場合、 このバイ ト カウン ト値がペイロード サイズをバイ ト単位で示します。 I/O の読み出し コンプ リ ーシ ョ ンや I/O の書き込みコンプ リ ーシ ョ ンの場合、 このフ ィールドは 4 にセッ ト される必要があ り ます。 長さ 0 のメモ リ読み出しに対するコンプリーシ ョ ンを送信している間、 バイ ト カウン ト値は 1 にセッ トされる必要があ り、 ダ ミーのペイロード と して 1 Dword がディ スク リプターの後に送信される必要があ り ます。 各メモ リ読み出しコンプリーシ ョ ンでは、 このバイ ト カウン ト フ ィールドがリ クエス ト を完了するのに必要と なる残 り のバイ ト 数を示し ます (コンプリーシ ョ ンで返ってきたバイ ト数を含む)。 複数のコンプ リーシ ョ ンを使用してメモ リ読み出し リ クエス トが完了する場合、各コンプリーシ ョ ンのこのバイ ト カウン ト値は、先行するコンプリーシ ョンが示す値から先行するコンプ リーシ ョ ンで返ってきたバイ ト数を引いた値とな り ます。

29

Locked Read Completion

(ロ ッ ク された読み出し

コンプリーシ ョ ン)

Locked Read (ロ ッ ク された読み出し ) リ クエス トに対してコンプリーシ ョ ン応答する場合、 このビッ ト を 1 にセッ ト します。 その他のコンプ リーシ ョ ン応答の場合、 このフ ィールドは 0 にセッ トする必要があ り ます。

表 3-14 : リクエスター コンプリーシ ョ ン ディスクリプターのフ ィールド (続き)

ビッ ト インデックス

フ ィールド名 説明

Page 154: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 154PG156 2016 年 8 月 18 日

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

データを含まないコンプリーシ ョ ンの転送

図 3-57、図 3-58、および図 3-59 のタイ ミ ング図は、 RC インターフェイスを介して、 リ ンクから受信したペイロードを含まないコンプ リーシ ョ ン TLP の転送を 64、 128、 および 256 ビッ ト別に示しています。 このセクシ ョ ンのタイ ミング図では、 256 ビッ ト インターフェイスでコンプリーシ ョ ンがス ト ラ ドルされないこ とを仮定しています。 ス ト ラドル機能の詳細は、 163 ページの 「256 ビッ ト インターフェイスのス ト ラ ドル オプシ ョ ン」 を参照してください。

30Request Completed

( リ クエス トの完了)

統合ブロ ッ クは、 リ クエス トに対する 後のコンプ リーシ ョ ンのディ スク リプターのこのビッ ト をアサート します。このビッ ト をアサートするこ とで、 リクエス トの正常終了 (すべてのデータを受信)、 またはエラーによる異常終了を示すこ とができます。 ユーザー ロジッ クは、 この表示を利用して、 処理されていないリ クエス トのステータスをク リ アできます。 タグが割り当てられている場合、タグ フ ィールドが一致し、Request Completedビッ トが 1 にセッ ト されているコンプ リーシ ョ ン ディ スク リプターを統合ブロ ッ クから受信するまで、 ユーザー ロジッ クはリ クエス トに割り当てられているタグを再度指定できません。

42:32Dword Count

(Dword カウン ト )

これらの 11 ビッ トは、現在のパケッ トのペイロード サイズを示します (Dword)。範囲は 0 ~ 1000 Dword です。このフィールドは、I/O 読み出しのコンプリーシ ョンについては 1 にセッ ト され、I/O 書き込みのコンプリーシ ョ ンについては 1 にセッ ト されます。 また、 長さ 0 のメモリ読み出しに対してコンプリーシ ョ ンを送信している間も 1 にセッ ト されている必要があり ます。 その他の場合、 このDword カウン トは、 その時点のパケッ トのペイロードの実際の Dword 数に相当します。

45:43Completion Status

(コンプリーシ ョ ン ステータス)

これらのビッ トは、 受信したコンプ リーシ ョ ン TLP のコンプ リーシ ョ ン ステータス フ ィールドの設定を示します。 有効な設定は次のとおりです。

• 000 : ト ランザクシ ョ ンが正常に完了

• 001 : サポート されないリ クエス ト (UR)• 010 : コンフ ィギュレーシ ョ ン リ クエス トの リ ト ラ イ ステータス (CRS)• 100 : コンプリーターの中断 (CA)

46Poisoned Completion

(ポイズン コンプリーシ ョ ン)

このビッ トのセッ トによ り、 コンプリーシ ョ ン TLP の Poison ビッ トがセッ トされているこ とを示します。 パケッ ト内のデータが破損している と考える ことができます。

63:48Requester ID

( リ クエスター ID)コンプ リーシ ョ ンに関連する PCI リ クエスター ID です。

71:64 Tag (タグ) コンプリーシ ョ ンに関連する PCIe タグです。

87:72Completer ID

(コンプリーター ID)

コンプ リーシ ョ ン TLP で受信されるコンプ リーター ID です。 (これらの 16ビッ トは、 レガシ インタープリテーシ ョ ン モードでは 8 ビッ トのバス番号、5 ビッ トのデバイス番号、 3 ビッ トのファンクシ ョ ン番号に分けられる )。 ARIモードの場合、 これらの 16 ビッ トは 8 ビッ トのバス番号と 8 ビッ トのファンクシ ョ ン番号と して扱われます。

91:89 Transaction Class (TC) コンプリーシ ョ ンに関連する PCIe ト ランザクシ ョ ン ク ラス (TC) です。

94:92 Attributes (属性)コンプリーシ ョ ンに関連する PCIe 属性です。ビッ ト 92 は No Snoop ビッ ト、ビット 93 は Relaxed Ordering ビッ ト、 ビッ ト 94 は ID-Based Ordering ビッ トです。

表 3-14 : リクエスター コンプリーシ ョ ン ディスクリプターのフ ィールド (続き)

ビッ ト インデックス

フ ィールド名 説明

Page 155: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 155PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-57

図 3-57 : リクエスター コンプリーシ ョ ン インターフェイスでのデータを含まないコンプリーシ ョ ンの転送 (インターフェイス幅 = 64 ビッ ト )

X-Ref Target - Figure 3-58

図 3-58 : リクエスター コンプリーシ ョ ン インターフェイスでのデータを含まないコンプリーシ ョ ンの転送 (インターフェイス幅 = 128 ビッ ト )

Page 156: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 156PG156 2016 年 8 月 18 日

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

コンプ リーシ ョ ン TLP をすべて転送するには、256 ビッ トおよび 128 ビッ ト インターフェイスの場合はシングル ビート、 64 ビッ ト インターフェイスの場合は 2 ビート必要です。 統合ブロ ッ クは、 パケッ トが送信される間、m_axis_rc_tvalid 信号をアサート したままに保持する必要があ り ます。 ユーザー アプリ ケーシ ョ ンは、m_axis_rc_tready をディアサート してビート を随時延ばすこ とができます。 AXI4-Stream インターフェイスの信号 m_axis_rc_tkeep (各 Dword 位置に 1 つ) がパケッ ト内の有効なディ スク リプター Dword を示します。 つま り、ディ スク リプターの 初の Dword からペイロードの 後の Dword まで、 tkeep ビッ トは継続的に 1 にセッ ト されます。 パケッ ト転送中、 tkeep ビッ トはパケッ トの 後のビートでのみ 0 になるこ とができます。 m_axis_cq_tlast信号は必ずパケッ トの 後のビートでアサート されます。

m_axi_cq_tuser バスには is_sof_0 信号も含まれており、 すべてのパケッ ト の 初のビート でアサート されます。ユーザー アプリ ケーシ ョ ンは、オプシ ョ ンでこの信号を使用して、 インターフェイス上のディ スク リプターの開始を示すこ とができます。 ス ト ラ ドル オプシ ョ ンを使用しない場合、 m_axi_cq_tuser バス内のその他の信号は、データを含まないコンプ リーシ ョ ンの転送に関連しません。

データを含むコンプリーシ ョ ンの転送

図 3-60、図 3-61、および図 3-62 のタイ ミ ング図は、 RC インターフェイスを介して、 リ ンクから受信したペイロードを含むコンプ リーシ ョ ン TLP の Dword アラ イ メン ト転送を 64、 128、 および 256 ビッ ト別に示しています。 説明用と して、 ユーザー アプ リ ケーシ ョ ン メ モ リ に書き込まれるデータ ブロ ッ クのサイズは n Dword と仮定し、 n =k * 32 + 28 (k > 0) とな り ます。 このセクシ ョ ンのタイ ミ ング図では、 256 ビッ ト インターフェイスでコンプリーシ ョンがス ト ラ ドルされないこ とを仮定しています。 ス ト ラ ドル機能の詳細は、 163 ページの 「256 ビッ ト インターフェイスのス ト ラ ドル オプシ ョ ン」 を参照してください。

X-Ref Target - Figure 3-59

図 3-59 : リクエスター コンプリーシ ョ ン インターフェイスでのデータを含まないコンプリーシ ョ ンの転送 (インターフェイス幅 = 256 ビッ ト )

Page 157: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 157PG156 2016 年 8 月 18 日

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

Dword アライ メン ト モードでは、 転送は 3 ディ スク リプター Dword から始ま り、 その直後にペイロード Dword が続きます。 ディ スク リプターとペイロードを含むすべての TLP は、 1 つの AXI4-Stream パケッ ト と して転送されます。ペイロードの長さが 2 Dword を超える場合、ペイロード内のデータは常に連続するバイ ト ス ト リームとな り ます。ペイロードの 初の Dword 内の 初の有効バイ ト と 後の Dword 内の 後の有効バイ トの位置は、 リ クエスター コンプ リーシ ョ ン ディ スク リプターの Lower Address フ ィールド と Byte Count フ ィールドから判断できます。ペイロードサイズが 2 Dword 以下の場合、ペイロード内の有効なバイ トは連続しません。 このよ うな場合、ユーザー アプリ ケーシ ョ ンは RQ インターフェイスを介して送信される各リ クエス トに関連する First Byte Enable フ ィールド と Last ByteEnable フ ィールドを格納し、これらを使用してコンプリーシ ョ ン ペイロード内の有効バイ ト を判断する必要があ り ます。連続および非連続のペイロードの場合に、ユーザー アプリ ケーシ ョ ンはオプシ ョ ンで m_axi_cq_tuser バス内にあるバイ ト イネーブル出力 byte_en[31:0] を使用し、 ペイロード内の有効バイ ト を判断できます。

統合ブロ ッ クは、 パケッ トが送信される間、 m_axis_rc_tvalid 信号をアサート したままに保持する必要があ り ます。 ユーザー アプリ ケーシ ョ ンは、 m_axis_rc_tready をディアサート してビート を随時延ばすこ とができます。AXI4-Stream インターフェイス信号 m_axis_rc_tkeep (各 Dword 位置に 1 つ) は、 ディ クス リプタ、 およびディ スク リプターとペイロード間に挿入される NULL バイ ト を含む、 パケッ トの有効な Dword を示します。 つま り、 ディスク リプターの 初の Dword からペイロードの 後の Dword まで、 tkeep ビッ トは継続的に 1 にセッ ト されます。 パケッ トの転送中、インターフェイスの幅全体がパケッ トで埋められないと きは、パケッ トの 後のビートに限り tkeepビッ ト を 0 にできます。 m_axis_rc_tlast 信号は必ずパケッ トの 後のビートでアサート されます。

m_axi_rc_tuser バスは、 インターフェイスのユーザー アプリ ケーシ ョ ン側に関連するロジッ クを簡潔なものにするため、 または追加の機能をサポートするために利用可能な情報信号をいくつか提供します。ディ スク リプターがこのバス上にある場合、 各パケッ ト の 初のビー ト で is_sof_0 信号がアサート されます。 バイ ト イネーブル出力byte_en[31:0] (各バイ ト レーンに 1 つ) はペイロードの有効バイ ト を示します。 これらの信号は、有効なペイロード バイ トが対応するレーンに存在する場合にのみアサート されます (ディ スク リプターや NULL バイ トに対してはアサート されない)。ペイロード サイズが 2 Dword 以下の場合を除き、アサート されたバイ ト イネーブル ビッ トはペイロードの開始から常に連続します。 2 Dword 以下のコンプ リーシ ョ ン ペイロードの場合、 byte_en の 1 は連続しない場合があ り ます。 その他の特殊なケース と して、 byte_en ビッ トがすべて 0 にセッ ト されて統合ブロ ッ クが 1Dword のペイロードを転送する と きの、 長さ 0 のメモ リ読み出しが挙げられます。 つま り、 あらゆるケースでユーザー ロジッ クは byte_en 信号を直接使用するこ とで、 関連するバイ ト を メモ リへに書き込むこ とができます。

64 ビッ ト /128 ビッ ト インターフェイスおよびス ト ラ ドル オプシ ョ ンが無効になっている 256 ビッ ト インターフェイスでは、 m_axis_rc_tuser バス内の is_sof_1、 is_eof_0[3:0]、 および is_eof_1[3:0] 信号は使用されません。

X-Ref Target - Figure 3-60

図 3-60 : リクエスター コンプリーシ ョ ン インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (Dword アライメン ト モード、 インターフェイス幅 = 64 ビッ ト )

Page 158: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 158PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-61

図 3-61 : リクエスター コンプリーシ ョ ン インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (Dword アライメン ト モード、 インターフェイス幅 = 128 ビッ ト )

Page 159: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 159PG156 2016 年 8 月 18 日

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

図 3-63、図 3-64、および図 3-65 のタイ ミ ング図は、 RC インターフェイスを介して、 リ ンクから受信したペイロードを含むコンプ リーシ ョ ン TLP のアドレス アライ メン ト転送を 64、 128、および 256 ビッ ト別に示しています。 このタイ ミ ング図の例では、 送信されるデータ ブロ ッ クの開始 Dword アドレス (ディ スク リプターの下位アドレス フ ィールドのビッ ト [6:2] で伝搬) は (m * 8 + 1) と仮定されています (整数 m)。 データ ブロ ッ クのサイズは、 n Dword と仮定され、 n = k * 32 + 28 (k > 0) とな り ます。 アドレス アライ メン ト転送では、 ス ト ラ ドル オプシ ョ ンが無効なため、 このタイ ミ ング図は、 256 ビッ ト インターフェイスでコンプリーシ ョ ンがス ト ラ ドルされないこ とを仮定しています。

X-Ref Target - Figure 3-62

図 3-62 : リクエスター コンプリーシ ョ ン インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (Dword アライメン ト モード、 インターフェイス幅 = 256 ビッ ト )

Page 160: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 160PG156 2016 年 8 月 18 日

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

アドレス アライ メン ト モードでは、 ペイロードの送信は必ず、 ディ スク リプターの 後のバイ トの後に続いて発生するビートで開始します。ペイロードの 初の有効バイ トのアドレスに基づいて、ペイロードの 初のバイ トはどのバイ ト レーンにも出力できます。 つま り、 ディ スク リプターの 初の Dword からペイロードの 後の Dword まで、tkeep ビッ トは継続的に 1 にセッ ト されます。 データ バス上の 初の Dword のアライ メ ン トは、 ユーザー アプ リケーシ ョ ンが統合ブロ ッ クへ リ ク エス ト を送信し た と きの リ ク エス ター リ ク エス ト イ ン ターフ ェ イ スのaddr_offset[2:0] 入力の設定によって判断されます。ユーザー アプリ ケーシ ョ ンは、オプシ ョ ンでバイ ト イネーブル出力 byte_en[31:0] を使用してペイロード内の有効バイ ト を判断できます。

X-Ref Target - Figure 3-63

図 3-63 : リクエスター コンプリーシ ョ ン インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (アドレス アライメン ト モード、 インターフェイス幅 = 64 ビッ ト )

Page 161: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 161PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-64

図 3-64 : リクエスター コンプリーシ ョ ン インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (アドレス アライメン ト モード、 インターフェイス幅 = 128 ビッ ト )

Page 162: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 162PG156 2016 年 8 月 18 日

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

X-Ref Target - Figure 3-65

図 3-65 : リクエスター コンプリーシ ョ ン インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (アドレス アライメン ト モード、 インターフェイス幅 = 256 ビッ ト )

Page 163: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 163PG156 2016 年 8 月 18 日

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

256 ビッ ト インターフェイスのスト ラ ドル オプシ ョ ン

インターフェイス幅が 256 ビッ トにコンフ ィギュレーシ ョ ンされている場合は、前のコンプリーシ ョ ン終了時と同じビート、またはデータ バス上の Dword 位置 3 の前で統合ブロッ クが RC インターフェイス上に新しいコンプリーシ ョンの転送を開始できます。 ス ト ラ ドル オプシ ョ ンは、 Dword アライ メン ト モードの場合にのみ使用できます。

ス ト ラ ドル オプシ ョ ンが有効に設定されている場合、 コンプ リーシ ョ ン TLP はパケッ ト境界のない連続するス トリームと して RC インターフェイスを介して転送されます (AXI4-Stream の観点から )。 したがって、 m_axis_rc_tkeep および m_axis_rc_tlast 信号は、このインターフェイスを介して送信されるコンプリーシ ョ ン TLP の境界を判断するのに有効ではあ り ません (ス ト ラ ドル オプシ ョ ンが使用されている場合、 統合ブロ ッ クは m_axis_rc_tkeep をすべて 1、 m_axis_rc_tlast をすべて 0 にセッ トする )。 その代わりに、 m_axis_rc_tuser バス内の次の信号を使用して、 TLP のデリニエーシ ョ ン (輪郭を決定する) が実行されます。

• is_sof_0 : あるビートで開始するコンプリーシ ョ ン TLP が 1 つ以上ある場合、 統合ブロ ッ クは、 そのビートでこの出力を High に駆動します。このコンプリーシ ョ ン TLP の 初のバイ トの位置は、次のよ うに決定されます。

° 前のコンプ リーシ ョ ン TLP が、 現ビートの前で終了している場合、 このコンプリーシ ョ ン TLP の 初のバイ トはバイ ト レーン 0 にあ り ます。

° 前のコンプ リーシ ョ ン TLP が、 現ビートで継続している場合、 このコンプリーシ ョ ン TLP の 初のバイ トはバイ ト レーン 16 にあ り ます。 この条件は、以前の TLP が現ビートで終了、つま り is_eof_0[0] もセット されている場合にのみ適用されます。

• is_sof_1 : あるビートで開始するコンプリーシ ョ ン TLP が 2 つある場合、統合ブロッ クは、そのビートでこの出力を High に駆動します。 初の TLP は常にバイ ト位置 0 で開始し、 2 つ目の TLP はバイ ト位置 16 で開始します。同じビート内でバイ ト位置 16 よ り前に以前の TLP が終了した場合 (同じビートで is_eof_0[0] がセッ ト されている場合) のみ、 統合ブロッ クは 2 番目の TLP をバイ ト位置 16 で開始します。

• is_eof_0[3:0] : これらの出力を使用して、 コンプ リーシ ョ ン TLP の終了とデータ バス上における 後の Dword 位置を示します。 is_eof_0[0] ビッ トのアサーシ ョ ンは、 このビートで終了するコンプリーシ ョ ン TLP が 1 つ以上あるこ とを示します。 is_eof_0 のビッ ト 0 がセッ ト される と、 ビッ ト [3:1] は現ビートで終了する TLP の 後の Dword のオフセッ ト を示します。 後のバイ トのオフセッ トは、 TLP の開始アドレス と長さ、 あるいはバイ ト イネーブル信号 byte_en[31:0] から判断できます。 あるビートで 2 つのコンプリーシ ョン TLP が終了する場合、 is_eof_0[3:1] の設定が 初のコンプリーシ ョ ン TLP の 後の Dword のオフセッ トとな り ます (この場合の範囲は 0 ~ 3)。

• is_eof_1[3:0] : is_eof_1[0] のアサートは、 同じビートにおける 2 つ目の TLP の終了を示します。is_eof_1 のビッ ト 0 がセッ ト される と、ビッ ト [3:1] は現ビートで終了する 2 番目の TLP の 後の Dword のオフセッ ト を示します。 2 番目の TLP は、 バイ ト レーン 16 でのみ開始可能なため、 範囲が 27 ~ 31 のバイ ト レーンでのみ終了できます。 したがって、 オフセッ ト is_eof_1[3:1] は 2 つの値 (6 または 7) のいずれかとなり ます。 is_sof_1[0] が High の場合、 is_eof_0[0] 信号と is_sof_0 信号も同じビート内で High になり ます。is_sof_1 が High の場合、 is_sof_0 も High になり ます。 is_eof_1 が High の場合、 is_eof_0 も High になり ます。

図 3-66 に、 ス ト ラ ドル オプシ ョ ンが有効に設定された 256 ビッ ト RC インターフェイスでの 4 つのコンプリーシ ョン TLP の転送を示します。 初のコンプリーシ ョ ン TLP (COMPL 1) は、 BEAT 1 の Dword 位置 0 で開始し、 BEAT 3の Dword 位置 0 で終了しています。 2 番目の TLP (COMPL 2) は、 同じビートの Dword 位置 4 で開始しています。 この 2 番目の TLP には 1 Dword ペイロード しか含まれていないため、 これも同じビート内で終了します。 コンプ リーシ ョ ン 3 には 1 Dword しか含まれておらず、 コンプ リーシ ョ ン 4 にはペイロードが含まれていないため、 3 番目と 4番目のコンプ リーシ ョ ン TLP は BEAT 4 ですべての転送が完了しています。

Page 164: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 164PG156 2016 年 8 月 18 日

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

コンプリーシ ョ ンの転送中断

関連するペイ ロー ド を含む リ ク エス ト の場合、 転送されたペイ ロー ド にエ ラーがあ る と、 統合ブロ ッ ク はm_axis_rc_tuser バスの Discontinue 信号をパケッ ト の 後のビート でアサート してこのエラーを通知できます。 これは、内部メモリからデータを読み出す間に統合ブロッ クが訂正不可能なエラーを検出したと きに発生します。パケッ トの 後のビートで Discontinue 信号がアサート されたこ とを検出した場合、 ユーザー アプリケーシ ョ ンはパケッ ト全体を破棄する必要があり ます。 これは、 統合ブロッ クでは致命的エラーと認識されます。

X-Ref Target - Figure 3-66

図 3-66 : スト ラ ドル オプシ ョ ンが有効に設定されたリクエスター コンプリーシ ョ ン インターフェイスでのコンプリーシ ョ ン TLP の転送

Page 165: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 165PG156 2016 年 8 月 18 日

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

ス ト ラ ドル オプシ ョ ンが使用されている場合、 統合ブロ ッ クは Discontinue 信号をアサート したビートで 2 番目のコンプ リーシ ョ ン TLP を開始せず、 そのビートで終了するコンプリーシ ョ ン TLP の転送を中断します。

コンプリーシ ョ ン エラーの対応

統合ブロッ クは、 リ ンクからコンプリーシ ョ ン TLP を受信する と、対応する リ クエス ト を判断するためにスプリ ッ トコンプ リーシ ョ ン テーブル内の未処理リ クエス ト と一致させ、それらのヘッダー内のフ ィールド と予想値を照らし合わせてあらゆるエラーを検出します。その後、統合ブロ ッ クはコンプリーシ ョ ン ディ スク リプターの一部と してユーザー アプリ ケーシ ョ ンへ送信する 4 ビッ トのエラー コードでエラー状況を通知します。また、統合ブロ ッ クは、ディスク リプターの Request Completed ビッ ト (ビッ ト 30) をセッ ト して、 特定リ クエス トの 後のコンプリーシ ョ ンを示します。 表 3-15 は、 さまざまなエラー コードが示すエラー状況について説明しています。

表 3-15 : エラー コードのエンコード

エラー コード 説明

0000 エラーは検出されていないこ とを示します。

0001

リ ン クから受信したコンプ リーシ ョ ン TLP にエラーがある こ と を示します。 ユーザー アプ リケーシ ョ ンは、 ディ ス ク リ プターに続くすべてのデータを破棄する必要があ り ます。 さ らに、ディ スク リプターの Request Completed ビッ トがセッ ト されていない場合は、 Request Completedビッ トがセッ ト されたコンプ リーシ ョ ン ディ スク リプターを受信するまで、 このタグの後続コンプ リーシ ョ ンに対応するデータを破棄し続ける必要があ り ます。 Request Completed ビッ トがセッ ト されたコンプリーシ ョ ン ディ スク リプターを受信する と、 ユーザー アプリ ケーシ ョ ンは対応する リ クエス トのすべてのステート を削除できます。

0010

リ クエス トは UR、 CA、 または CRD ステータスを含むコンプ リーシ ョ ン TLP で終了されています。 この場合、 コンプリーシ ョ ンに関連するデータはなく、 コンプリーシ ョ ン ディ スク リプターの Request Completed がセッ ト されています。 そのよ うなコンプ リーシ ョ ンを統合ブロ ッ クから受信する と、 ユーザー アプリ ケーシ ョ ンは対応する リ クエス ト を破棄できます。

0011

読み出し リ クエス トが不正なバイ ト カウン トのコンプリーシ ョ ン TLP で終了している。 バイ トカウン トが予想値と一致しないコンプリーシ ョ ン TLP が受信される と、 このエラー コードが通知されます。 コンプリーシ ョ ン ディ スク リプターの Request Completed ビッ トはセッ ト されています。 そのよ う なコンプ リーシ ョ ンを統合ブロ ッ クから受信する と、 ユーザー アプリ ケーシ ョンは対応する リ クエス ト を破棄できます。

0100

このコードは、送信されている現在のコンプリーシ ョ ンには、未処理リ クエス ト と同じタグがあるが、 その Requester ID、 TC、 または Attribute フ ィールドが未処理リ クエス トのパラ メーターと一致していないこ とを示します。 ユーザー アプリ ケーシ ョ ンは、 ディ スク リプターに続くすべてのデータを破棄する必要があ り ます。 さ らに、 ディ スク リプターの Request Completed ビッ トがセッ ト されていない場合は、 Request Completed ビッ トがセッ ト されたコンプ リーシ ョ ン ディスク リプターを受信するまで、このタグの後続コンプリーシ ョ ンに対応するデータを破棄し続ける必要があ り ます。 Request Completed ビ ッ ト がセッ ト されたコンプ リーシ ョ ン ディ ス ク リ プターを受信する と、 ユーザー アプリ ケーシ ョ ンは対応する リ クエス トのすべてのステート を削除できます。

0101

開始アドレスのエラーを示します。 コンプ リーシ ョ ン TLP ヘッダーの下位アドレスが、 その リクエス トの次に予想されるバイ トの開始アドレス と一致しませんでした。 ユーザー アプリ ケーシ ョ ンは、ディ スク リプターに続くすべてのデータを破棄する必要があ り ます。 さ らに、ディ スク リプターの Request Completed ビッ トがセッ ト されていない場合は、 Request Completed ビッ トがセッ ト されたコンプ リーシ ョ ン ディ ス ク リ プターを受信するまで、 このタグの後続コンプリーシ ョ ンに対応するデータを破棄し続ける必要があ り ます。Request Completed ビッ トがセッ トされたコンプ リーシ ョ ン ディ スク リプターを受信する と、 ユーザー アプリ ケーシ ョ ンは対応する リ クエス トのすべてのステート を破棄できます。

0110タグが無効であるこ とを示します。 このエラー コードは、 コンプリーシ ョ ン TLP のタグが未処理リ クエス トのタグと一致していないこ とを示します。 ユーザー アプ リ ケーシ ョ ンは、 ディ スク リプターに続くすべてのデータを破棄する必要があ り ます。

Page 166: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 166PG156 2016 年 8 月 18 日

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

タグが統合ブロ ッ クの内部で管理される場合、統合ブロ ッ ク内のロジッ クによって、 そのリ クエス トのすべてのコンプ リーシ ョ ンが受信されるまで、あるいはリ クエス トがタイムアウ トするまで、ペンディング リ クエス トに割り当てられたタグが再び使用されるこ とはあ り ません。

ただし、タグがユーザー アプリ ケーシ ョ ンで管理される場合は、ユーザー アプリ ケーシ ョ ンがコンプリーシ ョ ン ディスク リプターの Request Completed ビッ ト をセッ ト して、 統合ブロ ッ クが リ クエス トの終了を示すまで、 その リ クエス トに割り当てられたタグが再び使用されないよ うにする必要があ り ます。 ユーザー アプリ ケーシ ョ ンは、 0 以外のエラー コードを含むコンプ リーシ ョ ンを受信した場合にペンディ ング リ クエス ト を終了できますが、 コンプ リーシ ョ ン ディ スク リプターの Request Completed ビッ トがセッ ト されていない限り、 関連するタグを リ リースできません。ある リ クエス トが複数のスプリ ッ ト コンプリーシ ョ ンを受信し、それらのいずれかにエラーが検出された場合にこのよ うな状況が適用されます。 この場合、統合ブロ ッ クは、エラーが検出された後であってもペンディング リ クエス トに対するコンプ リーシ ョ ン TLP を継続して受信できますが、タグが早期に再度割り当てられる と、これらのコンプ リーシ ョ ンが別のリ クエス ト と不正に一致してしまいます。場合によっては、エラーを含むスプリ ッ ト コンプ リーシ ョ ンが受信された場合でもタグの再使用が可能になるまで、統合ブロ ッ クはリ クエス トがタイムアウ トするまで待機する必要があ り ます。

0111

バイ ト カウン トが無効であるこ とを示します。 コンプ リーシ ョ ンのバイ ト カウン トがそのリ クエス トに対して予測されている合計バイ ト数を超えています。このと き、コンプリーシ ョ ン ディスク リプターの Request Completed ビッ ト もセッ ト されています。 そのよ うなコンプリーシ ョ ンを統合ブロ ッ クから受信する と、 ユーザー アプリ ケーシ ョ ンは対応する リ クエス ト を破棄できます。

1001

コンプ リーシ ョ ンのタイムアウ ト で リ クエス ト が終了したこ と を示します。 リ ンクから コンプリーシ ョ ンを受信せずに未処理リ クエス トがタイムアウ ト した場合に、 このエラー コードが使用されます。 統合ブロ ッ クは、 各未処理リ クエス トに対してコンプ リーシ ョ ン タイマーを保持し、 リ クエスター コンプリーシ ョ ン インターフェイスを介してユーザー アプリ ケーシ ョ ンにダミーのコンプ リーシ ョ ン ディ スク リプターを送信するこ とによって、 コンプ リーシ ョ ンのタイムアウ トに対応します。 このため、 ユーザー アプリ ケーシ ョ ンはペンディング リ クエス ト を終了したり、 リ クエス ト を再送信できます。 このディ スク リプターは、 リ ンクから受信したコンプリーシ ョ ン TLP に対応しないため、Request Completed ビッ ト (ビッ ト 30)、タグ フ ィールド (ビット [71:64])、 およびリ クエスター ファンクシ ョ ン フ ィールド (ビッ ト [55:48]) のみがこのディ スク リプターで有効とな り ます。

1000

リ クエス ト を生成したファンクシ ョ ンをターゲッ ト とする Function-Level Reset (FLR) によって リクエス トが終了したこ とを示します。 この場合、 統合ブロ ッ クはリ クエスター コンプ リーシ ョン インターフェイスを介してユーザー アプリ ケーシ ョ ンへダ ミーのコンプリーシ ョ ン ディ スクリプターを送信するため、 ユーザー アプリ ケーシ ョ ンはペンディング リ クエス ト を終了できます。 このディ スク リプターは、 リ ンクから受信したコンプ リーシ ョ ン TLP に対応しないため、Request Completed ビッ ト (ビッ ト 30)、 タグ フ ィールド (ビッ ト [71:64])、 リ クエスター ファンクシ ョ ン フ ィールド (ビッ ト [55:48]) のみがこのディ スク リプターで有効となり ます。

表 3-15 : エラー コードのエンコード (続き)

エラー コード 説明

Page 167: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 167PG156 2016 年 8 月 18 日

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

パワー マネージメン トコアは、 次のパワー マネージメン ト モードをサポート します。

• Active State Power Management (ASPM)

• Programmed Power Management (PPM)

PCI Express デザインの一部と してこれらのパワー マネージメン ト機能をインプリ メン トする と、 PCI Express の階層でシステム電力節約のためパワー マネージメン トに関する メ ッセージがスムーズに交信できるよ うにな り ます。 パワー マネージメン ト メ ッセージ ID 機能がすべてインプ リ メン ト されています。次のセクシ ョ ンでは、上記のパワーマネージメン ト モー ドをサポートするためのユーザー ロジッ クの定義について説明します。

ASPM および PPM インプ リ メンテーシ ョ ンの詳細は、 『PCI Express Base Specification』 [参照 2] を参照して ください。

Active State Power Management (ASPM)コアは、 L0s ステートから遷移する と きに N_FTS 値を 255 と して示し、 確実なアライ メン ト を行います。 N_FTS 値が変更される場合は、 適切なアライ メン ト を行うために十分な FTS シーケンスを受信して、 リ カバリ ステートへ遷移しないよ うにする必要があ り ます。

Active State Power Management (ASPM) は、 ユーザー ロジッ ク機能から見る と、 自律型の ト ランスペアレン ト な機能です。 コアは ASPM に必要なコンディシ ョ ンをサポート しており、 統合ブロ ッ クは ASPM L0s および ASPM L1 をサポート しています。 L0 と L1 を同時に有効にはできません。

注記 : APSM は、 非同期クロ ッキング モードではサポート されていません。

注記 : L0s は、 Gen3 をターゲッ ト とするデザインではサポート されていません。 Gen1 および Gen2 用に生成されたデザインでのみサポート されています。

Programmed Power Management (PPM)PCI Express の階層で大幅に電力を節約するために、コアは Programmed Power Management (PPM) の次のリ ンク ステート をサポート しています。

• L0 : アクティブ ステート (データ交信ステート )

• L1 : レイテンシが高く、 低電力のスタンバイ ステート

• L3 : リ ンク オフ ステート

PPM プロ ト コルは、 ダウンス ト リーム コ ンポーネン ト /アップス ト リーム ポー トによって開始されます。

PPM L0 ステート

L0 ステートは通常動作を表し、 ユーザー ロジッ クに対し ト ランスペアレン トです。 初期化され、 プロ ト コルに基づいた PCI Express リ ンクの ト レーニング完了後、 コアは L0 (アクティブス テート ) に到達します。

PPM L1 ステート

コアから PPM L1 ステートへの遷移は次の順序で発生します。

1. 低電力の PPM L1 ステートへの遷移は、PCI Express デバイスの電力ステート を D3-hot (または D1 および D2 がサポート されている場合は、 これらのいずれか) にプログラムするこ とで、 常にアップス ト リーム デバイスによって開始されます。

2. デバイスの電力ステートは、cfg_function_power_state 出力を使用して、ユーザー ロジッ クへ伝達されます。

Page 168: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 168PG156 2016 年 8 月 18 日

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

3. この後、 コアは s_axis_rq_tready をディアサート し、 ユーザー ロジッ クがユーザー インターフェイスで新たな ト ランザクシ ョ ンを開始しないよ うに、ユーザーロジッ クをスロ ッ トル/中断させます。 しかし、ユーザーイン ターフェイスでのペンディング ト ランザクシ ョ ンは完全に受信され、 後で完了するこ とができます。

この場合、 例外が 2 つあり ます。

° コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされていて、ユーザー コンフ ィギュレーシ ョ ン空間がイネーブルになっている場合。 このと き、 cfg_function_power_state が D0 以外の場合、 ユーザー アプ リ ケーシ ョ ンは新しい リ クエス ト TLP を送信できませんが、 ユーザー コンフ ィギュレーシ ョ ン空間をターゲッ トにしたコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンに対してはコンプ リーシ ョ ンを返すこ とができます。

° コアがルート ポート と してコンフ ィギュレーシ ョ ンされている場合。 この状況で準拠を保つには、cfg_function_power_state が D0 以外の場合、 ユーザー アプリ ケーシ ョ ンは新しいリ クエス ト を送信すべきではあ り ません。

4. コアは、パワー マネージメン ト用の適切な DLLP を リ ンクパートナーに対して送受信して、リ ンクを低電力 PPML1 ステートへ遷移させます。 これはユーザー ロジッ クにはト ランスペアレン トです。

5. 手順 3 で説明されている例外を除き、 デバイスの電力ステートが D0 以外になっている間は、 すべてのユーザート ランザクシ ョ ンが中断されます。

PPM L3 ステート

PCI Express のエンドポイン トから PPM L3 ステートへの遷移は次の順序で発生します。

1. アップス ト リームのリ ンク パートナーから PME_Turn_Off メ ッセージを受信する と、 コアは L23 Ready (準備完了) リ ンク ステートへの遷移を開始します。

2. PME_Turn_Off メ ッセージを受信する と、 コアは cfg_power_state_change_interrupt を介してユーザー ロジッ ク とのハンドシェイ クを開始し (表 3-16 を参照)、 ユーザー ロジッ クからcfg_power_state_change_ack の応答を待機します。

3. ハンドシェイ クが成功する と、 パワー マネージメン ト をオフにする承認メ ッセージ (PME-turnoff_ack) がコアからアップス ト リーム リ ンク パートナーへ送信されます。

4. コアはインターフェイスをすべて閉じ、物理層/データ リ ンク層/ ト ランザクシ ョ ン層を無効にして、 コアに対するパワー オフの準備を整えます。

この場合、 例外が 2 つあり ます。

° コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされていて、 ユーザー コンフ ィギュレーシ ョ ン空間がイネーブルになっている場合。 このと き、 cfg_function_power_state が D0 以外の場合、 ユーザー アプリ ケーシ ョ ンは新しいリ クエス ト TLP を送信できませんが、 ユーザー コンフ ィギュレーシ ョ ン空間をターゲッ トにしたコンフィギュレーシ ョ ン ト ランザクシ ョ ンに対してはコンプリーシ ョ ンを返すこ とができます。

° コアがルート ポートルート ポート と してコンフ ィギュレーシ ョ ンされている場合。 この状況で準拠を保つには、 cfg_function_power_state が D0 以外の場合、 ユーザー アプリ ケーシ ョ ンは新しいリ クエス トを送信すべきではあ り ません。

表 3-16 : パワー マネージメン トのハンドシェイク信号

ポート名 方向 説明

cfg_power_state_change_interrupt 出力 アップス ト リーム デバイスからパワー ダウン リ クエス ト TLP を受信した場合にアサート されます。その後、ユーザー アプリ ケーシ ョ ンが cfg_power_state_change_ack をアサー ト する まで、cfg_power_state_change_interrupt はアサート状態を保持する必要があ り ます。

cfg_power_state_change_ack 入力 安全にパワー ダウンできる場合に、ユーザー アプリ ケーシ ョ ンによってアサート されます。

Page 169: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 169PG156 2016 年 8 月 18 日

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

パワーダウン交渉は、 次の手順で行われます。

1. 電源と クロ ッ クがオフになる前に、 ダウンス ト リーム スイ ッチのルート コンプレッ クスまたはホッ トプラグ コン ト ローラーが PME_Turn_Off ブロードキャス ト メ ッセージを出力します。

2. コアがこの TLP を受信する と、 ユーザーアプ リ ケーシ ョ ンに cfg_power_state_change_interrupt をアサート し、 cfg_power_state_change_ack 入力をポーリ ングします。

3. ユーザー アプリ ケーシ ョ ンは、 cfg_to_turnoff のアサート を検出する と、 処理中のパケッ ト をすべて完了し、 新しいパケッ トの生成を停止する必要があ り ます。ユーザー アプリ ケーシ ョ ンがオフになる準備が整った後、コアに対して cfg_power_state_change_ack をアサート します。 cfg_power_state_change_ack のアサート後、 ユーザー アプリ ケーシ ョ ンのオフが確約されます。

4. コアは cfg_power_state_change_ack のアサート を検出する と、 PME_TO_Ack を送信します。

割り込みリクエストの生成47 ページの表 2-20 に示す cfg_interrupt_msi* および cfg_interrupt_msix_* の説明を参照してください。

注記 : このセクシ ョ ンは Gen3 Integrated Block for PCIe コアのエンドポイン ト コンフィギュレーシ ョ ンのみを対象にしています。

統合ブロ ッ クは、 割り込みリ クエス ト をレガシ、 メ ッセージ MSI、 または MSI-X 割り込みと して送信できます。 動作モードは、 MSI Capability Structure (MSI 機能構造体) にある メ ッセージ制御レジスタの MSI Enable ビ ッ トおよびMSI-X Capability Structure (MSI-X 機能構造体) にある MSI-X メ ッセージ制御レジスタの MSI-X Enable ビッ ト を使用してプログラムされます。 MSI 機能構造体および MSI-X 機能構造体の詳細は、 『PCI Local Base Specification v3.0』 のセクシ ョ ン 6.8 を参照してください。

MSI Enable および MSI-X Enabled ビッ トのステートは、cfg_interrupt_msi_enable 出力および cfg_interrupt_msix_enable 出力によ り、 ぞれぞれ反映されます。 表 3-17 は、 コアの cfg_interrupt_msi_enable 出力およびcfg_interrupt_msix_enable 出力に基づいてプログラムされている割り込みモードについて説明しています。

X-Ref Target - Figure 3-67

図 3-67 : パワー マネージメン トのハンドシェイク : 64 ビッ ト

Page 170: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 170PG156 2016 年 8 月 18 日

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

MSI 制御レジス タの MSI Enable ビ ッ ト 、 MSI-X 制御レジス タの MSI-X Enable ビ ッ ト 、 PCI コマン ド レジス タのInterrupt Disable ビッ トは、 ルート コンプレッ クスによってプログラムされます。 ユーザー アプ リ ケーシ ョ ンでは、これらのビッ ト を直接制御しません。

コアの Internal Interrupt Controller は、 レガシ割り込みと MSI 割り込みのみ生成します。 MSI-X 割り込みは、 ユーザーアプリ ケーシ ョ ンで生成され、送信 AXI4-Stream インターフェイスに現れる必要があ り ます。cfg_interrupt_msi_enable のステータスが Internal Interrupt Controller で生成される割り込みタイプを決定します。

MSI Enable ビッ トが 1 の場合は、 コアがメモ リ書き込み TLP を送信して MIS リ クエス ト を生成します。 MSI Enableビッ トが 0 の場合は、 PCI コマンド レジスタの Interrupt Disable ビッ トが 0 にセッ ト されている限り、 コアはレガシ割り込みメ ッセージを生成します。

• cfg_interrupt_msi_enable = 0 : レガシ割り込み

• cfg_interrupt_msi_enable = 1 : MSI

• コマンド レジスタのビッ ト 10 = 0 : INTx 割り込みが有効

• コマンド レジスタのビッ ト 10 = 1 : INTx 割り込みは無効 ( リ クエス トはコアによってブロ ッ ク される )

ユーザー アプリ ケーシ ョ ンは cfg_function_status をモニタ リ ングして、 INTx 割り込みが有効または無効であるかを確認できます。 詳細は、 表 2-13 を参照して ください。

ユーザー アプリ ケーシ ョ ンは 2 つの方法で割り込みを要求します。 これらの方法は次のセクシ ョ ンで説明します。

レガシ割り込みモード

• ユーザー アプリ ケーシ ョ ンは、 割り込み信号をアサートするために、 まず cfg_interrupt_int および cfg_interrupt_pending をアサート します。

• その後、 コアが cfg_interrupt_sent をアサート して、 割り込みが受信されたこ とを示します。 次のクロ ックでユーザー アプ リ ケーシ ョ ンは cfg_interrupt_int をデ ィ アサー ト して、 PCI コマン ド レジス タのInterrupt Disable ビッ トが 0 にセッ ト されている場合にはコアがアサート割り込みメ ッセージ (Assert_INTA) を送信します。

• ユーザー アプリ ケーシ ョ ンが cfg_interrupt_int をディアサート した後、 コアはディアサート割り込みメ ッセージ (Deassert_INTA) を送信します。 これは、 cfg_interrupt_sent の 2 回目のアサートで示されます。

• cfg_interrupt_int は、 ユーザーが ASSERT_INTA の確認信号を受信するまでに (cfg_interrupt_sent のアサーシ ョ ンで示される) アサート される必要があ り ます。 cfg_interrupt_int をディアサートする と、 コアが DEASSERT_INTA を送信します。 cfg_interrupt_pending は、 割り込みが対応されるまでアサート されている必要があり ます。途中でディアサート される と、 ステータス レジスタの割り込みステータス ビッ トが正し く更新されません。 ソフ ト ウェアがこのビッ ト を読み出すと、「No Interrupt Pending (割り込みペンディングなし )」 が出力されます。

表 3-17 : 割り込みモード

cfg_interrupt_msixenable=0 cfg_interrupt_msixenable=1

cfg_interrupt_msi_enable=0

レガシ割り込み (INTx) モード。

cfg_interrupt インターフェイスは INTx メ ッセージのみ送信します。

MSI-X モード。

cfg_interrupt インターフェイスを使用して MSI-X 割り込みを生成できます。

cfg_interrupt_msi_enable=1

MSI モード。 cfg_interrupt インターフェイスは MSI 割り込み (MWr TLP) のみ送信します。

未定義。 このモードは、 システム ソフ ト ウェアでサポート されていません。ただし、cfg_interrupt インターフェイスをアクティブにして MSI 割り込み (MWr TLP) を送信できます (任意で選択)。

Page 171: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 171PG156 2016 年 8 月 18 日

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

MSI モード

• 図 3-68 に示すとおり、ユーザー アプリ ケーシ ョ ンは cfg_interrupt_msi_int の値を 初にアサート します。

• コアは、 cfg_interrupt_msi_sent をアサート して割り込みが受け入れられたこ とを示し、 MSI メモ リ書き込み TLP を送信します。

MSI リ クエス トは、32 ビッ トのアドレス指定可能なメモリ書き込み TLP または 64 ビッ トのアドレス指定可能なメモリ書き込み TLP のいずれかです。 ア ド レス値は、 MSI 機能構造体の Message Address フ ィールド と Message UpperAddress フ ィールドから取得し、 ペイロードは Message Data フ ィールドから取得します。 これらの値は、 MSI 機能構造体へのコンフ ィギュレーシ ョ ン書き込みによってシステム ソフ ト ウェアでプログラムされます。コアがマルチベクター MSI 用にコンフ ィギュレーシ ョ ンされている場合、 Multiple Message Enable フ ィールドに 0 以外の値をプログラムするこ とで、 システム ソフ ト ウェアはマルチベクター MSI メ ッセージを許可するこ とができます。

送信される MSI TLP のタイプ (32 ビッ ト または 64 ビッ ト のアド レス指定可能なもの) は、 MSI 機能構造体の UpperAddress フ ィールドの値によって変わり ます。 デフォルトでは MSI メ ッセージは 32 ビッ トのアドレス指定可能なメモリ書き込み TLP と して送信されます。上位アドレス レジスタに 0 以外の値がシステムソ フ ト ウェアによってプログラムされている場合のみ、 MSI メ ッセージは 64 ビッ トのアドレス指定可能なメモリ書き込み TLP を使用します。

マルチベクター MSI メ ッセージが有効場合、 アップス ト リームに送信されたさまざまな MSI メ ッセージを区別するため、 送信された MSI TLP の各 Message Data フ ィールドの 1 つまたは複数の下位ビッ ト をユーザー アプリ ケーシ ョンが上書きできます。 Message Data フ ィールドにあるユーザーアプリ ケーシ ョ ンで使用可能な下位ビッ ト数は、 IP カタログで設定されている Multiple Message Capable フ ィールドの値、システム ソフ ト ウェアで設定されている MultipleMessage Enable フ ィールドの値、 および cfg_interrupt_msi_mmenable[2:0] コア出力で使用できる値の中でも小さい値によって決定されます。 コアは cfg_interrupt_msi_select 内のビッ ト をマスクしますが、 これらはシステム ソフ ト ウェアで Multiple Message Enable を使用して設定されません。

X-Ref Target - Figure 3-68

図 3-68 : レガシ割り込みの信号

X-Ref Target - Figure 3-69

図 3-69 : MSI モード

Page 172: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 172PG156 2016 年 8 月 18 日

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

必要なプロセスを示したサンプル コー ドは次のとおりです。

// 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 Enabled

cfg_interrupt_msi_int = {Padding_0s, MSI_Vector_Num};} else { // Single-Vector MSI Enabled

cfg_interrupt_msi_int = Padding_0s;}

} else {// Legacy Interrupts Enabled

}

例 :

1. cfg_interrupt_mmenable[2:0] == 000b、 つま り 1 つの MSI ベクターが有効の場合、 cfg_interrupt_msi_int = 00h; とな り ます。

2. cfg_interrupt_mmenable[2:0] == 101b、 つま り 32 の MSI ベクターが有効の場合、 cfg_interrupt_msi_int = {{27'b0}, {MSI_Vector#}}; とな り ます。

MSI_Vector# が 5 ビッ ト値ならば、 00000b ≤ MSI_Vector# ≤ 11111b となるこ とが可能です。

ベクターごとのマスキング (Per-Vector Masking) が有効になっている場合は、 送信されているべクターがマスク レジスタでマスク されていないこ とをまず確認する必要があ り ます。コンフ ィギュレーシ ョ ン インターフェイスでこのレジスタを読み出すこ とでこの確認はできます (コアはマスク レジスタを確認しない)。

MSI-X モード

Gen3 Integrated Block for PCIe コアは、 オプシ ョ ンで図 3-70 に示す MSI-X 機能構造体をサポート します。 MSI-X ベクター テーブルと MSI-X Pending Bit Array は、 ロジッ クの一部と して BAR の隙間を利用してインプリ メン トする必要があ り ます。

X-Ref Target - Figure 3-70

図 3-70 : MSI-X モード

Page 173: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 173PG156 2016 年 8 月 18 日

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

コンフ ィギュレーション空間レジスタとコンフ ィギュレーション インターフェイスを使用するデザインコンフ ィギュレーシ ョ ン レジスタで使用されるポート については、 26 ページの表 2-13 で説明しています。 ルートポートは、 コンフ ィギュレーシ ョ ン空間を構築するためにコンフ ィギュレーシ ョ ン ポート を使用する必要があ り ます。 エンドポイン ト もコンフ ィギュレーシ ョ ン ポート を使用して、 読み出し /書き込みを実行できます。 ただし、 システムに悪影響を及ぼす原因を回避するよ う注意が必要です。

ユーザーは、 バイ ト アドレスではなく Dword アドレス と してアドレスを提供する必要があ り ます。

ヒン ト : バイ ト アドレスを 4 で割る と、 レジスタ用の Dword アドレスを算出できます。

例 :

PCI コンフ ィギュレーシ ョ ン空間ヘッダーのコマンド /ステータス レジスタ :

• Dword アドレスは 01h

注記 : バイ ト アドレスは 04h

BAR0 :

• Dword アドレスは

注記 : バイ ト アドレスは 10h

コンフ ィギュレーシ ョ ン空間のレジスタ値を読み出すには、 ユーザー アプ リ ケーシ ョ ンが cfg_mgmt_addr[9:0]上でレジスタ Dword アドレスを駆動します。 cfg_mgmt_addr[17:10] では、 そのコンフ ィギュレーシ ョ ン レジスタに関連する PCI ファンクシ ョ ンを選択します。 コアは、 cfg_mgmt_read_data[31:0] 上でアドレス指定したレジスタのコンテンツを駆動します。 cfg_mgmt_read_data[31:0] の値は、 cfg_mgmt_read_write_done のアサート信号で受信されたこ とを確認できます。 図 3-71 に、 コンフ ィギュレーシ ョ ン空間の読み出し動作の信号を例示します。

X-Ref Target - Figure 3-71

図 3-71 : cfg_mgmt_read_type0_type1

Page 174: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 174PG156 2016 年 8 月 18 日

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

コンフ ィギュレーシ ョ ン空間のレジスタに書き込みを実行するには、 ユーザー ロジッ クが cfg_mgmt_addr バスにアドレスを配置し、 cfg_mgmt_write_data にデータを書き込み、 cfg_mgmt_byte_enable [3:0] に有効バイト を示し、 cfg_mgmt_write 信号をアサート します。 それに対応して、 書き込み動作が完了する と、 コアが cfg_mgmt_read_write_done 信号をアサート します (数サイクル必要)。ユーザー ロジッ クは、cfg_mgmt_read_write_done がアサート されるまで、 cfg_mgmt_addr、 cfg_mgmt_write_data、cfg_mgmt_byte_enable および cfg_mgmt_write 信号を安定して供給する必要があ り ます。 また、 コアが cfg_mgmt_read_write_done 信号をアサート した次のサイクルでユーザー ロジッ クは cfg_mgmt_write をディアサートする必要があ り ます。

コアがルート ポート モードでコンフ ィギュレーシ ョ ンされている場合、 タイプ 1 の PCI™ コンフ ィギュレーシ ョ ンレジスタへの書き込み動作中に cfg_mgmt_type1_cfg_reg_access 入力信号をアサートする と、 コンフ ィギュレーシ ョ ン レジスタ特定の読み出し専用フ ィールドへの書き込みを強制します。 コアがエンドポイン ト モードの場合、 またはタイプ 1 コンフ ィギュレーシ ョ ン レジスタへの書き込み動作の場合、 この入力は無効とな り ます。

X-Ref Target - Figure 3-72

図 3-72 : cfg_mgmt_write_type0

X-Ref Target - Figure 3-73

図 3-73 : cfg_mgmt_write_type1_override

Page 175: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 175PG156 2016 年 8 月 18 日

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

リンク ト レーニング : 2 レーン、 4 レーン、 および 8 レーン コンポーネン ト2 レーン、 4 レーン、 8 レーンのコアは、 『PCI Express Base Specification』 [参照 2] で規定されている 大レーン幅未満で動作可能です。次のサブセクシ ョ ンで定義されているよ うに、指定されている 大レーン幅未満でコアが動作するケースは 2 つあり ます。

リンク パートナーが少ないレーン数をサポートする場合

2 レーン コアが 1 レーンのみをインプリ メン トするデバイスに接続されている場合、 このコアはレーン 0 を使用して1 レーン デバイスと して リ ンクを確立して動作します。

4 レーン コアが 1 レーンのみをインプ リ メン トするデバイスに接続されている場合、 図 3-74 に示すよ うにこのコアはレーン 0 を使用して、 1 レーン デバイス と して リ ンクを確立して動作します。同様に、 4 レーン コアが 2 レーン デバイスに接続されている場合、このコアはレーン 0 および 1 を使用して 2 レーン デバイスと して リ ンクを確立して動作します。

8 レーン コアが 4 レーンのみをインプリ メン トするデバイスに接続されている場合、 このコアはレーン 0 から 3 を使用して、 4 レーン デバイスと して リ ンクを確立して動作します。 また、 接続されているデバイスが 1 または 2 レーンのみをインプリ メ ン トする場合、 この 8 レーン コアは 1 レーンまたは 2 レーン デバイス と して リ ンクを確立して動作します。

レーンにエラーが発生した場合

コアおよびリ ンク パートナー デバイスでサポート されている 大レーン幅にリ ンク ト レーニングを行った後にリ ンクにエラーが発生する と、 コアは回復を試み、 可能であれば小さいレーン幅で リ ンク ト レーニングを実行します。レーン 0 にエラーが発生した場合、 リ ンクは回復不可能となり失われます。 レーン 1 から 7 のいずれか、 またはすべてにエラーが発生した場合、 リ ンクは回復モードに遷移し、 まだ動作しているレーンを使用して回復可能な 大レーンを回復しよ う と します。

たとえば、 8 レーン コアを使用する場合、 レーン 1 が損失する と回復措置が取られレーン 0 で 1 レーン動作になり ますが、 レーン 6 が損失する とレーン 0 から 3 で 4 レーン動作になり ます。 回復措置後、 エラーの発生したレーンが再び動作可能な状態になっても、 コアは大きいリ ンク幅へと回復措置を取ろ う とはしません。値の大きいほうのリ ンク幅へ回復措置が取られるのは、 リ ンクがダウンし 初から リ ンク ト レーニングを行う場合のみです。

X-Ref Target - Figure 3-74

図 3-74 : 4 レーン エンドポイン ト ブロックの動作 (4 レーンから 1 レーン)

Page 176: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 176PG156 2016 年 8 月 18 日

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

user_clk ク ロ ッ ク出力は IP カタログで設定された固定周波数になり ます。 リ ンクの回復またはリ ンク ト レーニングのダウンが発生しても user_clk の周波数は変更されません。

レーン反転統合ブロッ クは、 限定的なレーン反転機能をサポート し、 リ ンク パートナーに対して柔軟なボード デザインを提供します。 リ ンク パートナーは反転されたレーン番号でボードをレイアウ トするよ う選択でき、統合ブロ ッ クはリ ンクト レインを継続し、通常どおりに動作します。 レーン反転をサポートするコンフ ィギュレーシ ョ ンは x8 および x4 です (ダウンシフ トモー ドを除く )。 ダウンシフ ト とは、 各リ ンク パートナーがそれぞれ異なる リ ンク幅機能を持つ場合に発生する リ ンク幅交渉プロセスを指します。 リ ンク幅交渉の結果、 リ ンク パートナーは 2 つのレーン幅のうち値の小さいほうに交渉を成立させます。 表 3-18 には、 ダウンシフ ト モードを含むさまざま組み合わせ、 およびレーン反転サポートの有無がま とめられています。

表 3-18 : レーン反転サポート

統合ブロックの可能なレーン幅

交渉されるレーン幅

レーン番号のマッピング(エンドポイン ト リンク パートナー ) レーン反転

サポートエンドポイン ト リンク パートナー

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)

x2 x2 レーン 0...レーン 1 レーン 1...レーン 0 あ り

x2 X1 レーン 0...レーン 1 レーン 1 なし (1)

注記 :

1. レーンがボード レイアウ トで反転され、 ダウンシフ ト アダプター カードがエンドポイン ト と リ ンク パートナーの間に挿入さ

れている場合、 リ ンク パートナーのレーン 0 は接続されないまま とな り (この表のレーン マ ッ ピングを参照)、 リ ンクは確立

されません。

Page 177: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 177PG156 2016 年 8 月 18 日

第 4 章

デザイン フローの手順この章では、 コアのカスタマイズと生成、 制約、 およびシ ミ ュレーシ ョ ン/合成/インプ リ メ ンテーシ ョ ンの手順について説明します。 一般的な Vivado® デザイン フローおよび IP インテグレーターの詳細は、 次の Vivado Design Suiteユーザー ガイ ドを参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 9]

• 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 8]

• 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 10]

• 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 12]

コアのカスタマイズおよび生成こ こでは、 ザイ リ ンクス ツールを使用し、 Vivado Design Suite でコアをカスタマイズおよび生成する方法について説明します。

重要 : Vivado IP インテグレーターでコアをカスタマイズおよび生成する場合は、 『Vivado Design Suite ユーザー ガイド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 9] を参照して ください。 デザインの検証または生成時に一部の設定値が IP インテグレーターによって自動的に計算される場合があ り ます。 値が変わるかどうかを確認するには、 この章のパラ メーターの説明を参照して ください。 パラ メーター値を確認するには、 Tcl コンソールから validate_bd_design コマンドを実行して ください。

Gen3 Integrated Block for PCIe コアはユーザー デザインに合わせてカスタマイズできます。 それには、 IP コアに関連する各種パラ メーターの値を次の手順に従って指定します。

1. Vivado IP カタログから IP を選択します。

2. 選択した IP をダブルク リ ッ クするか、 ツールバーまたは右ク リ ッ ク メニューから [Customize IP] コマンドをクリ ッ ク します。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 8] および 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 10] を参照してください。

注記 : この章の図には Vivado 統合設計環境 (IDE) のスク リーンシ ョ ッ トが使用されていますが、現在のバージ ョ ンとはレイアウ トが異なる場合があ り ます。

UltraScale Architecture Gen3 Integrated Block for PCIe FPGA 用の [Customize IP] ダイアログ ボッ クスには、2 つのモード ( 「Basic モード」、 「[Advanced] モード」 ) があ り ます。 モード選択には、 [Customize IP] ダイアログ ボッ クスの 初のページにある [Mode] ド ロ ップダウン リ ス ト を使用します。

Page 178: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 178PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

Basic モード

このセクシ ョ ンは、 Basic モードのパラ メーターについて説明します。

基本のパラメーター設定

初のカスタマイゼーシ ョ ン ページでは、 コアの基本パラ メーター (コンポーネン ト名、 基準クロ ッ クの周波数、 シリ コン タイプ) を定義します。

[Component Name]

このコアに対して生成される出力ファイルの基本名です。 初の 1 文字は必ず小文字アルファベッ ト と し、 2 文字目以降は a ~ z、 0 ~ 9、 アンダースコア (_) を自由に組み合わせるこ とができます。

[Mode]

コアのコンフ ィギュレーシ ョ ン モー ド と して [Basic] または [Advanced] のいずれかを選択できます。

[PCIe Device/Port Type]

PCI Express のロジッ ク デバイス タイプを指定します。

[PCIe Block Location]

ロケーシ ョ ン別の制約ファイルおよびピン配置を生成するよ う、対象となる統合ブロ ッ クの中から選択します。 この選択は、 デフォルトのサンプル デザイン スク リプ トで使用されます。

ザイ リ ンクス開発ボードが選択されている場合は、 このオプシ ョ ンは利用できません。

[Number of Lanes]

コアには初期レーン幅を選択する必要があ り ます。 表 4-1 に、 選択可能なレーン幅とそれに対応したコアを定義しています。 レーン幅の広いコアがそれよ り も狭いレーン幅のデバイスに接続されている場合は、狭いほうのレーン幅にト レーニング ダウンするこ とができます。 詳細は、 「 リ ンク ト レーニング : 2 レーン、 4 レーン、 および 8 レーン コンポーネン ト 」 を参照してください。

[Maximum Link Speed]

デバイスでサポート されている 大リ ンク スピードを選択できます。 表 4-2 では、 デバイスでサポート されているレーン幅およびリ ンク スピードを定義しています。 高速な リ ンク スピードのコアがそれよ り低いリ ンク スピードのデバイスに接続されている場合、 低いほうの リ ンク スピードに ト レーニングするこ とができます。

表 4-1 : レーン幅および生成されるコア

レーン幅 生成されるコア

x8 8 レーン UltraScale FPGA Gen3 Integrated Block for PCI Express コア

表 4-2 : レーン幅およびリンク スピード

レーン幅 リンク スピード

x8 8Gb/s

Page 179: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 179PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

AXI-ST インターフェイス幅

表 4-3 のよ うに、 インターフェイス幅を選択できます。 [Customize IP] ダイアログ ボッ クスに設定されているデフォルトのインターフェイス幅は、 も狭いインターフェイス幅とな り ます。

[AXI-ST Interface Frequency]

周波数は 250Mhz に設定されています。

[AXI-ST Alignment Mode]

ペイロードが現れる場合、各データパスのペイロードの 初のバイ トに揃えるために、2 つのオプシ ョ ンがあ り ます。96 ページの 「データ アライ メン ト オプシ ョ ン」 を参照してください。

[Requestor Completion Straddle]

インターフェイス幅が 256 ビッ トの場合、 コアはリ クエスター コンプ リーシ ョ ン インターフェイス上でパケッ ト をス ト ラ ドルするオプシ ョ ンを利用できます。 163 ページの 「256 ビッ ト インターフェイスのス ト ラ ドル オプシ ョ ン」を参照してください。

[Enable Client Tag]

ク ライアン ト タグの利用を可能にします。

[Reference Clock Frequency]

sys_clk に供給される基準クロ ッ クの周波数を選択します。 コアのクロ ッ ク供給の詳細は、 「ク ロ ッキング」 を参照してください。

[Xilinx Development Board]

ザイ リ ンクス開発ボードに特化した制約ファイルを生成する場合、 このオプシ ョ ンを選択します。

[Silicon Revision]

シ リ コンの リ ビジ ョ ンを選択します。 有効なオプシ ョ ンは [Production] です。

[Enable External PIPE Interface]

このオプシ ョ ンが有効の場合、 外部のサードパーティ バス ファンクシ ョナル モデル (BFM) を PCIe 統合ブロ ッ クのPIPE インターフェイスへ接続できます。 このオプシ ョ ンは、エンドポイン ト モード とルート ポート モードの両方に利用可能であ り、 [Include Shared Logic (Clocking) in example design] オプシ ョ ンが選択されている場合のみ有効です。

[Capabilities]

このオプシ ョ ンの設定については、 このセクシ ョ ンで説明します。

表 4-3 : レーン幅、 リンク スピード、 およびインターフェイス幅

レーン幅 リンク スピード (Gb/s) インターフェイス幅 (Bits)

x8 8.0 256

Page 180: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 180PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

[Enable Physical Function 0]

追加の Physical Function (PF) をインプリ メン ト します。

統合ブロ ッ クは、 PF0 に関連する 大 6 個までの Virtual Function をインプリ メン ト します (有効な場合)。

[MPS]

このフ ィールドは、デバイスまたはファンクシ ョ ンが TLP 用にサポートできる 大ペイロードサイズを示します。デバイス機能レジスタ (Device Capabilities Register) を介してシステムに伝達される値です。

[Extended Tag]

リ クエスターと してサポート されているタグ フ ィールドの 大サイズを示します。使用可能なオプシ ョ ンは次のとおりです。

• 選択されている場合は、 6 ビッ トのタグ フ ィールド (64 タグ) がサポート される

• 選択されていない場合は、 5 ビッ トのタグ フ ィールド (32 タグ) がサポート される

[Slot Clock Configuration]

リ ンク ステータス レジスタの Slot Clock Configuration ビッ ト を有効にします。 このオプシ ョ ンを選択した場合、 リ ンクに同期クロ ッ クが供給されます。 ク ロ ッキング オプシ ョ ンの詳細は、 「ク ロ ッキング」 を参照して ください。

[Identity Settings] (PF0 IDs および PF1 IDs)

このオプシ ョ ン設定では、 IP の初期値、 ク ラス コード、 および Cardbus CIS ポインター情報をカスタマイズします。Physical Function 1 (PF1) のページは、 PF1 が有効の場合のみ表示されます。

PF0 ID の初期値

• [Vendor ID] : デバイスまたはアプリ ケーシ ョ ンの製造者 ID です。 各 ID の重複を避けるため PCI Special InterestGroup によって有効な ID が割り当てられています。デフォルト値 「10EEh」 はザイ リ ンクスのベンダー ID です。こ こにベンダー ID を入力します。 「FFFFh」 は予約されています。

• [Device ID] : アプリ ケーシ ョ ンの ID です。デフォルト値は選択されているコンフ ィギュレーシ ョ ンによ り異なりますが、 「70<link speed><link width>h」 とな り ます。 このフ ィールドには任意の値を入力できます。 アプ リ ケーシ ョ ンに合わせて変更してください。

• [Revision ID] : デバイスまたはアプリ ケーシ ョ ンのリ ビジ ョ ンを指し、デバイス ID に付随するものです。デフォルト値は 「00h」 です。 アプリ ケーシ ョ ンに合った値を入力して ください。

• [Subsystem Vendor ID] : デバイスまたはアプリ ケーシ ョ ンの製造者をさ らに細分化させるための ID です。 こ こにサブシステム ベンダー ID を入力します。 デフォル値は 「10EEh」 です。 通常、 この値はベンダー ID と同じです。 この値を 「0000h」 に設定する と準拠テス ト問題が発生します。

• [Subsystem ID] : デバイスまたはアプリ ケーシ ョ ンの製造者をさらに細分化させるための ID です。 この値は通常デバイス ID と同じです。 デフォルト値は選択されているレーン幅およびリ ンク スピードによ り異な り ます。 この値を 「0000h」 に設定する と準拠テス ト問題が発生します。

Page 181: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 181PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

クラス コード

ク ラスコードは、 デバイスの一般的な機能を識別するもので、 3 つのバイ ト サイズ フ ィールドに分かれています。

• [Base Class] : デバイスによ り実行される機能のタイプを広義に識別します。

• [Sub-Class] : デバイス機能をさらに細かく識別します。

• [Interface] : デバイスに依存したソフ ト ウェアがデバイス と インターフェイスできるよ うにするレジスタ レベルのプログラ ミ ング インターフェイスを定義します。

ク ラス コードのエンコードについては www.pcisig.com を参照してください。

[Class Code Look-up Assistant]

選択されているデバイスの一般機能に対して、 ベース ク ラス、 サブ ク ラス、 およびインターフェイスの値を提供します。 この検索ツールは、 選択されている機能に対し 3 つの値を表示するだけです。 デバイス設定に変換するには、ユーザー自身が 「ク ラス コード」 にこれらの値を入力する必要があ り ます。

[Base Address Registers] (PF0 および PF1)

Base Address Registers (BARs) のページでは、 エンドポイン ト コンフ ィギュレーシ ョ ンのベース アドレス レジスタ空間を設定します。 各 BAR (0 ~ 5) には、 Physical Function の BAR Aperture Size および Control 属性が指定されます。

BAR (Base Address Register) の概要

エンドポイン ト コンフ ィギュレーシ ョ ンのコアでは、 大 6 個の 32 ビッ ト BAR または 3 個の 64 ビッ ト BAR、および拡張 ROM (read-only memory) BAR がサポート されます。 ルート ポート コンフ ィギュレーシ ョ ンのコアでは、 大2 個の 32 ビッ ト BAR または 1 個の 64 ビッ ト BAR、 および拡張 ROM (read-only memory) BAR がサポート されます。

BAR は次のいずれかのサイズに設定できます。

• 32 ビッ トの BAR : アドレス空間は 128 バイ トから 2 ギガバイ ト までです。 メモ リ または I/O に使用します。

• 64 ビッ トの BAR : アドレス空間は 128 バイ トから 256 ギガバイ ト までです。 メモ リのみに使用します。

すべての BAR レジスタに次のオプシ ョ ンがあ り ます。

• チェッ クボッ クス : BAR を有効にするにはチェッ クボッ クスをオンします。 BAR を無効にするにはこのチェックボッ クスをオフにします。

• [Type] : BAR は I/O または Memory のいずれかにできます。

° [I/O] : I/O BAR は 32 ビッ トのみです。 I/O BAR はプリ フェ ッチ対応ではあ り ません。 I/O BAR はレガシ PCIExpress エンドポイン ト コアに対してのみ使用できます。

° [Memory] : Memory BAR は 64 ビッ ト または 32 ビッ トに設定でき、 プ リ フェ ッチ可能です。 BAR が 64 ビットに設定されている場合、拡張アドレス空間用に次の BAR が使用され、その BAR にはアクセスできなくなり ます。

• [Size] : 使用可能なサイズ範囲は、[PCIe Device/Port Type] および [Type of BAR] の設定によって異なり ます。表 4-4に、 BAR サイズの範囲がまとめられています。

表 4-4 : デバイス コンフ ィギュレーシ ョ ン別の BAR サイズ範囲

[PCIe Device/Port Type] BAR タイプ BAR サイズ範囲

PCI Express Endpoint32 ビッ ト メモ リ 128 バイ ト (B) ~ 2 ギガバイ ト (GB)

64 ビッ ト メモ リ 128B ~ 256GB

Page 182: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 182PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

• [Prefetchable] : メモ リ空間をプリ フェッチ可能にするかど うかを設定します。

• [Value] : 現在の選択内容に基づいて BAR に値が割り当てられます。

ベース アドレス レジスタの設定の管理については、 「ベース アドレス レジスタの設定の管理」 を参照してください。

[Expansion ROM Base Address Register]

このオプシ ョ ンが選択されている場合、 拡張 ROM がアクティベート され、 2KB から 4GB までの値を指定するこ とができます。 『PCI 3.0 Local Bus Specification』 [参照 2] による と、拡張 ROM BAR のサイズは 16MB 以下に抑える必要があ り ます。 16MB よ り も大きなアドレス空間を選択する と、 コアが規格に準拠しなくなる可能性があ り ます。

ベース アドレス レジスタの設定の管理

任意のベース アドレス レジスタに対して適切な値を入力するこ とで、 [Memory]、 [I/O]、 [Type]、および [Prefetchable]の設定を管理します。

[Memory] または [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 バイ トです。

未使用リソースの無効化

ベス ト な結果を得るには、 未使用のベース ア ド レ ス レジス タ を無効にしてシステム リ ソースを節約し ます。[Customize IP] ダイアログ ボッ クスで未使用 BAR のチェッ クボッ クスをオフにする と、その BAR は無効になり ます。

[Legacy/MSI Capabilities]

このページでは、該当するすべての Physical Function および Virtual Function に対して [Legacy Interrupt Settings] および[MSI Capabilities] を設定できます。

[Legacy Interrupt Settings]

• [Enable INTX] : PCI Express ファンクシ ョ ンの INTx 割り込み生成機能を有効にします。

レガシ PCI Express Endpoint

32 ビッ ト メモ リ 128B ~ 2GB

64 ビッ ト メモ リ 128B ~ 256GB

I/O 16B ~ 2GB

表 4-4 : デバイス コンフ ィギュレーシ ョ ン別の BAR サイズ範囲 (続き)

[PCIe Device/Port Type] BAR タイプ BAR サイズ範囲

Page 183: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 183PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

• [Interrupt PIN] : レガシ割り込みメ ッセージのマッピングを示します。 [None] は、 レガシ割り込みが使用されていないこ とを示します。

[MSI Capabilities]

• [Enable MSI Capability Structure] : MSI 機能構造体を有効にします。

注記 : MSI または MSI-X を有効にしないこ と も可能ですが、その場合、 コアが規格に準拠しなくなる可能性があり ます。 『PCI Express Base Specification』 [参照 2] では、 MSI または MSI-X のいずれかまたは両方が有効になることが条件と して定義されています。

• [Multiple Message Capable] :ルート コンプレッ クスから要求する MSI ベクターの数を選択します。

• [Per Vector Masking Capable] : ファンクシ ョ ンが MSI のベクターごとのマスキングをサポートするこ とを示します。

[Advanced] モード

[Customize IP] ダイアログ ボッ クスでは、 このセクシ ョ ンで説明するコンフ ィギュレーシ ョ ン オプシ ョ ンを選択できます。

[Basic]

Advanced モード用の [Basic] ページには、 いくつかの追加設定があ り ます。 Advance モードを選択した場合に [Basic]ページで指定できるパラ メーターは次のとおりです。

[Use the dedicated PERST routing resources]

PCIE_X0Y0 ブロ ッ クの sys_rst 専用配線を有効にします。

[System reset polarity]

sys_rst の極性 (ACTIVE_HIGH または ACTIVE_LOW) を設定します。

[PCIe DRP Ports]

オンにする と、 PCIe DRP インターフェイスが有効になり ます。

[GT Channel DRP]

オンにする と、 GT チャネル DRP インターフェイスが有効になり ます。

[Enable GT Quad Selection]

デバイス /パケージの移行を可能にします。 「UltraScale アーキテクチャ PCI Express デザインのパッケージ移行」 を参照してください。

[GT Quad]

ド ロ ップダウン メ ニューを使用して任意の GTH ク ワ ッ ド を選択し ます。 このオプシ ョ ンは、 [Enable GT QuadSelection] がオンになっている場合のみ有効です。

[PPM Offset between receiver and transmitter]

受信データ と送信データ間における PPM (Programmed Power Management) のオフセッ ト を指定します。

Page 184: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 184PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

[Spread spectrum clocking]

PPM でのスペク ト ラム拡散クロ ッ クの変調を指定します。

[Insertion loss at Nyquist]

ナイキス ト周波数でのト ランス ミ ッ ターからレシーバーの挿入ロスを示します (dB)。

[Capabilities]

Advanced モード用の [Capabilities] 設定には、 Basic モードの設定にさ らに 3 つのパラ メーターが追加されています。詳細は次のとおりです。

[SRIOV Capabilities]

SRIOV (Single Root Port I/O Virtualization) 機能を有効にします。統合ブロッ クが拡張型の Single Root Port I/O VirtualizationPCIe をインプリ メン ト します。 このオプシ ョ ンが有効の場合、SRIOV は PF0 と PF1 の両方 (選択されている場合) にインプリ メン ト されます。

[Function Level Reset]

ファンクシ ョ ン レベルのリセッ ト機能が有効であるこ とを示します。ユーザーが特定のデバイス機能を リセッ トできます。 このオプシ ョ ンは、 エンドポイン ト コンフ ィギュレーシ ョ ンにのみ適用可能です。

[Device Capabilities Registers 2]

AtomicOps および TPH Completer をサポートするためのオプシ ョ ンを指定します。 詳細は、 『PCI Express Base Specification』 [参照 2] の第 7 章にある 「Device Capability Register 2」 を参照して ください。 これらの設定は、 PF1 が有効な場合に両方の Physical Functoin に適用されます。

[PF0 ID] および [PF1 ID]

[Identity] の設定 (PF0 および PF1 の Initial ID) は、 Basic モード と Advanced モードで同じです。

[PF0 BAR] および [PF1 BAR]

[PF0 BAR] および [PF1 BAR] の設定は、 Basic モード と Advanced モードで同じです。

[SRIOV Config] (PF0 および PF1)

[SRIOV Capability Version]

hysical Function 用の 4 ビッ トの SRIOV Capability バージ ョ ンを示します。

[SRIOV Function Select]

Physical Function と関連する Virtual Function の数を示します。 PF0 および PF1 には、 大で 6 個の Virtual Function を指定できます。

[SRIOV Functional Dependency Link]

Physical Function 用の SRIOV Functional Dependency Link を示します。デバイスのプログラ ミ ング モデルには、 ファンクシ ョ ン間にベンダー指定の相互依存性を持たせるこ とができます。 この Function Dependency Link フ ィールドを使用して、 これらの相互依存性を定義します。

Page 185: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 185PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

[SRIOV First VF Offset]

Physical Function (PF) の 初の Virtual Function (VF) のオフセッ ト を示します。PF0 は常にオフセッ ト 0、PF1 は常にオフセッ ト 1 に存在します。 Gen3 Integrated Block for PCIe コアでは、 6 個の Virtual Function を利用でき、 Function 番号は 64 ~ 69 の範囲になり ます。

PF0 を親と し、 PF に属する関係で VF が連続的にマッピングされます。 たとえば、 PF0 に 2 つの Virtual Function があり、 PF1 には 3 つの Virtual Function がある場合、 次のよ うなマッピングとな り ます。

Virtual Function の 初のオフセッ ト から Physical Function のオフセッ ト を引く こ とで、 PFx_FIRST_VF_OFFSETが計算されます。

PFx_FIRST_VF_OFFSET = (PFx first VF offset - PFx offset)

上記の例では、 次のオフセッ トが使用されます。

PF0_FIRST_VF_OFFSET = (64 - 0) = 64PF1_FIRST_VF_OFFSET = (66 - 1) = 65

PF0 は常に 64 で、 PH0 には 1 個以上の Virtual Function があるこ とが前提とな り ます。 PF1 の 初のオフセッ トは、 PF0 に接続されている VF 数のファンクシ ョ ンとな り、 次のよ うなコード例で定義されます。

PF1_FIRST_VF_OFFSET = 63 + NUM_PF0_VFS

[SRIOV VF Device ID]

Physical Function に関連するすべての Virtual Function 用の 16 ビッ ト Device ID を示します。

[SRIOV Supported Page Size]

Physical Function でサポート されるページ サイズを示します。 32 レジスタのビッ ト n がセッ ト されている場合、 このPhysical Function は 2n+12 のページ サイズをサポート します。

[PF0 SRIOV BARs] および [PF1 SRIVO BARs]

SRIOV ベース アドレス レジスタ (BARs) では、エンドポイン ト コンフ ィギュレーシ ョ ン用のベース アドレス レジスタ空間を設定します。各 BAR (0 ~ 5) には、SRIOV BAR のアパーチャー サイズと SRIOV の制御属性が指定されます。

SRIOV BAR (ベース アドレス レジスタ ) の概要

エンドポイン ト コンフ ィギュレーシ ョ ンのコアでは、 大 6 個の 32 ビッ ト BAR または 3 個の 64 ビッ ト BAR がサポート されます。 ルート ポート コンフ ィギュレーシ ョ ンのコアでは、 大 2 個の 32 ビッ ト BAR または 1 個の 64ビッ ト BAR がサポート されます。 SRIOV BAR は次のいずれかのサイズに設定できます。

• 32 ビッ トの BAR : アドレス空間は 16 バイ トから 2 ギガバイ ト までです。 メモ リ または I/O に使用します。

• 64 ビッ トの BAR : アドレス空間は 128 バイ トから 256GB までです。 メモ リのみに使用します。

表 4-5 : Virtual Function のマッピング例

Physical Function Virtual Function ファンクシ ョ ン番号の範囲

PF0 VF0 64

PF0 VF1 65

PF1 VF0 66

PF1 VF1 67

PF1 VF1 68

Page 186: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 186PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

すべての SRIOV BAR レジスタに次のオプシ ョ ンがあ り ます。

• チェッ クボッ クス : BAR を有効にするにはチェッ クボッ クスをオンします。 BAR を無効にするにはこのチェックボッ クスをオフにします。

• [Type] : SRIOV BAR は I/O または Memory のいずれかにできます。

° [I/O] : I/O BAR は 32 ビッ トのみです。 I/O BAR はプリ フェ ッチ対応ではあ り ません。 I/O BAR はレガシ PCIExpress エンドポイン ト コアに対してのみ使用できます。

° [Memory] : Memory BAR は 64 ビッ ト または 32 ビッ トに設定でき、 プ リ フェ ッチ可能です。 BAR が 64 ビットに設定されている場合、拡張アドレス空間用に次の BAR が使用され、その BAR にはアクセスできなくなり ます。

• [Size] : 使用可能なサイズ範囲は、[PCIe Device/Port Type] および [Type of BAR] の設定によって異なり ます。表 4-6に、 BAR サイズの範囲がまとめられています。

• [Prefetchable] : メモ リ空間をプリ フェ ッチ可能にするかど うかを設定します。

• [Value] : 現在の選択内容に基づいて BAR に値が割り当てられます。

SRIOV ベース アドレス レジスタの設定の管理については、 「ベース アドレス レジスタの設定の管理」 を参照してください。

SRIOV ベース アドレス レジスタの設定の管理

[Customize IP] ダイアログ ボッ クスで任意のベース アドレス レジスタに対して適切な値を入力するこ とで、 [Memory]、[I/O]、 [Type]、 および [Prefetchable] の設定を管理します。

[Memory] または [I/O] の設定値を確認する と、 そのアドレス空間がメモ リ または I/O と して定義されているこ とがわかり ます。 ベース アド レス レジスタはそのアド レス空間にアクセスするコマンドのみに応答します。 一般的には、4KB 未満のメモ リ空間は避けてください。 I/O 空間の 小値は 16 バイ トであるため、 I/O 空間の使用は新しいデザインでは避けてください。

読み出しに影響がない場合 (つま り RAM からの読み出しのよ うに、 読み出しによってデータが破損するなどの影響がない場合)、 メモ リ空間はプリ フェ ッチ可能です。 また、 複数のバイ ト書き込み操作を 1 つのダブル ワード書き込みにま とめるこ と もできます。

PCIe (レガシでないもの) に対しコアをエンドポイン ト と してコンフ ィギュレーシ ョ ンする場合、 プ リ フェ ッチ可能ビッ トが設定されているすべての SRIOV BAR (BAR5 を除く ) に対し、 64 ビッ ト アドレス指定がサポート されている必要があり ます。 プリ フェッチ可能ビッ トが設定されていない SRIOV BAR すべてに対して、 32 ビッ ト アドレス指定は可能です。プリ フェッチ ビッ トに関連した要件はレガシ エンドポイン トには適用されません。BAR でサポート されている 小メモリ アドレスは、PCI Express エンドポイン トの場合は 128 バイ トで、レガシ PCI Express エンドポイン トの場合は 16 バイ トです。

未使用リソースの無効化

ベス ト な結果を得るには、 未使用のベース ア ド レ ス レジス タ を無効にしてシステム リ ソースを節約し ます。[Customize IP] ダイアログ ボッ クスで未使用 BAR のチェッ クボッ クスをオフにする と、その BAR は無効になり ます。

表 4-6 : デバイス コンフ ィギュレーシ ョ ン別の SRIOV BAR サイズ範囲

[PCIe Device/Port Type] BAR タイプ BAR サイズ範囲

PCI Express Endpoint32 ビッ ト メモ リ 128B ~ 2GB

64 ビッ ト メモ リ 128B ~ 256GB

レガシ PCI Express Endpoint

32 ビッ ト メモ リ 16B ~ 2GB

64 ビッ ト メモ リ 16B ~ 256GB

I/O 16B ~ 2GB

Page 187: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 187PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

[Legacy/MSI Capabilities]

このページは、 Basic モード と同じです。

[MSI-X Capabilities]

Advanced モードでのみ有効です。

• [Enable MSIx Capability Structure] : MSI-X Capability が有効になっているこ とを示します。

注記 : Capability Structure (機能構造体) では、 少な く と も 1 つの Mamory BAR を設定する必要があ り ます。 ユーザーは、 アプ リ ケーシ ョ ンの MSI-X テーブルおよび Pending Bit Array の設定を管理する必要があ り ます。

• [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 (Pending Bit Array) の構造を定義します。

° [PBA Offset] : MSI-X PBA のベースを指し示す、 ベース アドレス レジスタからのオフセッ ト値を指定します。

° [PBA BAR Indicator] : MSI-X PBA のファンクシ ョ ンを メモ リ空間へマップするために使用されるコンフ ィギュレーシ ョ ン空間のベース アドレス レジスタを示します。

[Power Management] (パワー マネージメン ト )

[Power Management] ページでは、 パワー マネージメン ト レジスタ、 電力消費、 および電力損失に関する設定を行います。 これらの設定は、 PF1 が有効の場合に両方の Physical Function に対して適用されます。

• [D1 Support] : ファンクシ ョ ンで D1 Power Management State がサポート されているこ とを示します。詳細は、『PCIBus Power Management Interface Specification Revision 1.2』 [参照 2] を参照してください。

• [PME Support From] : ファンクシ ョ ンが cfg_pm_wake をアサートできる電力ステート を示します。 詳細は、『PCI Bus Power Management Interface Specification Revision 1.2』 [参照 2] を参照してください。

• [BRAM Configuration Options] : ソ リ ューシ ョ ンに使用される受信ブロ ッ ク RAM の数を指定します。 表で各パケッ ト タイプで利用可能なレシーバー クレジッ トの数を示しています。

[Extended Capabilities 1] および [Extended Capabilities 2]

[PCIe Extended Capabilities] では、 PCI Express 拡張機能を有効にできます。 [Advanced Error Reporting Capability (offset0x100h)] は常に有効に設定されています。 [Customize IP] ダイアログ ボッ クスでは、 有効な機能に基づいた リ ンクの一覧を表示しています。 有効化した後、 ユーザーは 「出力の生成」 に定義されたコアの 上位に適切な属性を指定して、 機能を設定する必要があ り ます。

• [Device Serial Number Capability] : 固有のデバイス シ リ アル番号 (DSN) を含むオプシ ョ ンの PCIe Extended Capability (拡張機能) です。 この機能がオンになっている場合、 DSN はポートの Device Serial Number 入力ピンに出力される必要があ り ます。 また、 [Virtual Channel Capabilities] および [Vendor Specific Capabilities] を有効にするにはこの機能をオンにする必要があ り ます。

• [Virtual Channel Capability] : ユーザーアプ リ ケーシ ョ ンを TCn/VC0 モードで実行可能にするオプシ ョ ンの PCIe Extended Capability (PCIe 拡張機能) です。 これをオンにする と、 ト ラフ ィ ッ ク ク ラス フ ィルター機能がサポート されます。 この機能は、 Physical Function 0 にのみ利用可能です。

Page 188: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 188PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

• [Reject Snoop Transactions] (ルート ポート コンフ ィギュレーシ ョ ンのみ) : このオプシ ョ ンがオンの場合、 NoSnoop 属性が適用されているが TLP ヘッダーでは設定されていない ト ランザクシ ョ ンは、サポート されないリ クエス ト (UR) と して拒否される可能性があ り ます。

• [Enable AER Capability] : Advanced Error Reporting 機能をサポートするオプシ ョ ンの PCIe 拡張機能です。 この機能は常に有効となり ます。

その他のオプシ ョ ン機能

• [Enable ARI] : Alternate Requester ID を有効にします。この機能は自動的に有効化され、SRIOV が有効の場合には無効に設定しないでください。

• [Enable PB] : Power Budgeting Enhanced 機能ヘッダーをインプリ メン ト します。

• [Enable RBAR] : Resizable BAR 機能をインプ リ メン ト します。

• [Enable LTR] : Latency Tolerance Reporting 機能をインプ リ メン ト します。

• [Enable DPA] : Dynamic Power Allocation 機能をインプリ メン ト します。

• [Enable TPH] : Transaction Processing Hints 機能をインプリ メン ト します。

[Shared Logic] (共有ロジック )

このページで 1 つまたは複数のオプシ ョ ンを選択して、複数のインスタンシエーシ ョ ン間で共通のブロ ッ クを共有できるよ うにします。 詳細は、 第 3 章の 「共有ロジッ ク」 を参照してください。

[Core Interface Parameters]

コア インターフェイスのパラ メーターを選択できます。デフォルトで、すべてのポートが選択されているため、使用しないインターフェイスを無効にできます。無効になる と、 コアの 上位からそのインターフェイス (ポート ) が削除されます。

推奨 : 通常の使用では、インターフェイスを無効にしないでください。特別な場合のみポート を無効にしてください。

Page 189: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 189PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

.

[Tansmit FC Interface]

コアが提供するフロー制御情報を要求できます。 このオプシ ョ ンをオフにする と、 次のポートが削除されます。

• pcie_tfc_nph_av

• pcie_tfc_npd_av

X-Ref Target - Figure 4-1

図 4-1 : [Core Interface Parameters]

Page 190: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 190PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

[Config FC Interface]

UltraScale Architecture Gen3 Integrated Block for PCIe コア用のコンフ ィギュレーシ ョ ン フロー制御を制御できます。 このオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。

• cfg_fc_ph

• cfg_fc_pd

• cfg_fc_nph

• cfg_fc_npd

• cfg_fc_cplh

• cfg_fc_cpld

• cfg_fc_sel

[Config External Interface]

外部にコンフ ィギュレーシ ョ ン レジスタが実装されている場合、 コアがコンフ ィギュレーシ ョ ン情報をユーザー アプリ ケーシ ョ ンへ送信するこ とが可能になり ます。 このオプシ ョ ンをオフにする と、次のポートがコアから削除されます。

• cfg_ext_read_received

• cfg_ext_write_received

• cfg_ext_register_number

• cfg_ext_function_number

• cfg_ext_write_data

• cfg_ext_write_byte_enable

• cfg_ext_read_data

• cfg_ext_read_data_valid

Page 191: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 191PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

[Config Status Interface]

コアのコンフ ィギュレーシ ョ ン ステータス情報を提供します。このオプシ ョ ンをオフにする と、次のポートがコアから削除されます。

• cfg_phy_link_down

• cfg_phy_link_status

• cfg_negotiated_width

• cfg_current_speed

• cfg_max_payload

• cfg_max_read_req

• cfg_function_status

• cfg_vf_status

• cfg_function_power_state

• cfg_vf_power_state

• cfg_link_power_state

• cfg_err_cor_out

• cfg_err_nonfatal_out

• cfg_err_fatal_out

• cfg_ltr_enable

• cfg_ltssm_state

• cfg_rcb_status

• cfg_dpa_substate_change

• cfg_obff_enable

• cfg_pl_status_change

• cfg_tph_requester_enable

• cfg_tph_st_mode

• cfg_vf_tph_requester_enable

• cfg_vf_tph_st_mode

• pcie_rq_seq_num

• pcie_rq_seq_num_vld

• pcie_cq_np_req_count

• pcie_rq_tag

• pcie_rq_tag_vld

• pcie_cq_np_req

[Per Function Status Interface]

選択したファンクシ ョ ンを介してユーザー アプリ ケーシ ョ ンからのリ クエス ト を受けて、 ステータス データを提供します。 このオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。

• cfg_per_func_status_control

• cfg_per_func_status_data

Page 192: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 192PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

[Config Management Interface]

コンフ ィギュレーシ ョ ン空間レジスタの読み出しおよび書き込みに使用します。 このオプシ ョ ンをオフにする と、次のポートがコアから削除されます。

• cfg_mgmt_addr

• cfg_mgmt_write

• cfg_mgmt_write_data

• cfg_mgmt_byte_enable

• cfg_mgmt_read

• cfg_mgmt_read_data

• cfg_mgmt_read_write_done

• cfg_mgmt_type1_cfg_reg_access

[Receive Message Interface]

リ ンクからのデコード可能なメ ッセージ、データに関連するパラ メーター、受信されたメ ッセージのタイプをロジックに提示します。 このオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。

• cfg_msg_received

• cfg_msg_received_data

• cfg_msg_received_type

[Config Transmit Message Interface]

ユーザー アプリ ケーシ ョ ンが PCIe Gen3 コアへメ ッセージを送信する場合に使用されます。このオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。

• cfg_msg_transmit

• cfg_msg_transmit_type

• cfg_msg_transmit_data

• cfg_msg_transmit_done

[Physical Layer Interface]

Physical Layer (PL) Interface パラ メーターは、 デフォルトで False (オフ) に設定されているため、 これらのポートはコアの境界に表示されません。 これらのポート を有効にするには、 このパラ メーターをオンに設定してください。

• pl_eq_in_progress

• pl_eq_phase

• pl_eq_reset_eieos_count

• pl_gen2_upstream_prefer_deemph

Page 193: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 193PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

[Config Interface]

このパラ メーターは、 デフォルトで False (オフ) に設定されているため、 これらのポートはコアの境界に表示されません。 これらのポート を有効にするには、 このパラ メーターをオンに設定してください。

• conf_req_data

• conf_req_ready

• conf_req_reg_num

• conf_req_type

• conf_req_valid

• conf_resp_rdata

• conf_resp_valid

[Config Control Interface]

ユーザー アプリ ケーシ ョ ンと コア間でさまざまな情報を送受信可能にします。このオプシ ョ ンをオフにする と、次のポートが削除されます。

• cfg_hot_reset_in

• cfg_hot_reset_out

• cfg_config_space_enable

• cfg_per_function_update_done

• cfg_per_function_number

• cfg_per_function_output_request

• cfg_dsn

• cfg_ds_port_number

• cfg_ds_bus_number

• cfg_ds_device_number

• cfg_ds_function_number

• cfg_power_state_change_ack

• cfg_power_state_change_interrupt

• cfg_err_cor_in

• cfg_err_uncor_in

• cfg_flr_done

• cfg_vf_flr_done

• cfg_flr_in_process

• cfg_vf_flr_in_process

• cfg_req_pm_transition_l23_ready

• cfg_link_training_enable

出力の生成

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 8] を参照してください。

Page 194: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 194PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

コアへの制約こ こでは、 Vivado® Design Suite でコアに制約を指定する方法について説明します。

必須の制約

UltraScale Architecture Gen3 Integrated Block for PCIe ソ リ ューシ ョ ンでは、 PCI Express® 用の特定性能要件を満たすために、タイ ミ ングおよびその他の物理的なインプ リ メンテーシ ョ ン制約を指定する必要があ り ます。これらの制約は、エンドポイン トおよびルート ポート ソ リ ューシ ョ ンで、ザイ リ ンクス デザイン制約 (XDC) ファ イルを用いて適用されます。 生成される XDC ファ イルにあるピン配置および階層名は、 配布されているサンプル デザインのものと一致しています。

一貫したインプ リ メンテーシ ョ ン結果を得るには、ザイ リ ンクス ツールでデザインを実行する と きに、変更されていない元の制約を含んだ XDC ファ イルを使用する必要があ り ます。XDC または特定の制約の定義および使用方法についての詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 [参照 11] を参照してください。

統合ブロ ッ ク ソ リ ューシ ョ ンで提供されている制約は、 ハード ウェア上でテス ト済みで、 一貫した結果を提供します。 制約は変更可能ですが、 各制約をよ く理解した上で変更してください。 また、 提供されている制約を規定から逸脱した形で使用したデザインに対してはサポート を提供しており ません。

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

XDC のデバイス選択セクシ ョ ンには、 ターゲッ トにするパーツ、パッケージ、 スピード グレードが記述されており、この情報がインプ リ メンテーシ ョ ン ツールに渡されます。

重要 : Gen3 Integrated Block for PCIe コアは特定のパーツとパッケージの組み合わせに対して設計されているため、 このセクシ ョ ンは変更しないでください。

このセクシ ョ ンには常にパーツを選択する行が含まれていますが、パーツまたはパッケージ別のオプシ ョ ンも含まれている場合があ り ます。 たとえば、 次のよ うになり ます。

CONFIG PART = XCKU040-ffva1156-3-e-es1

クロック周波数

ク ロ ッ ク要件の詳細は、 第 3 章 「コアを使用するデザイン」 を参照してください。

クロック管理

ク ロ ッ ク要件の詳細は、 第 3 章 「コアを使用するデザイン」 を参照してください。

クロック配置

ク ロ ッ ク要件の詳細は、 第 3 章 「コアを使用するデザイン」 を参照してください。

バンキング

このセクシ ョ ンは、 この IP コアには適用されません。

Page 195: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 195PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

ト ランシーバーの配置

このセクシ ョ ンは、 この IP コアには適用されません。

I/O 規格と配置

このセクシ ョ ンは、 この IP コアには適用されません。

シミ ュレーシ ョ ンVivado シ ミ ュレーシ ョ ン コンポーネン ト について、 またサポー ト されているサードパーテ ィ ツールについては、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 12] を参照して ください。

サンプル デザインのシ ミ ュレーシ ョ ン方法は、 第 5 章の 「サンプル デザインのシ ミ ュレーシ ョ ン」 を参照して ください。

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

UltraScale Architecture Gen3 Integrated Block for PCIe コアは、コアの PIPE インターフェイスがリ ンク パートナーの PIPEインターフェイスへ接続される PIPE モード シ ミ ュレーシ ョ ンをサポート します。 このモードを選択する と、 シ ミ ュレーシ ョ ン スピードが加速します。

現在の Vivado Design Suite ソ リ ューシ ョ ンのサンプル デザイン (エンドポイン ト モードまたはルート ポート モードのいずれか) で PIPE モード シ ミ ュレーシ ョ ンを有効にするには、 [Customize IP] ダイアログ ボッ クスの [Basic] タブで [Enable External PIPE Interface] オプシ ョ ンを使用します。 コアの境界で External PIPE Interface 信号が生成され、 外部デバイスへのアクセスが可能になり ます。 この機能を有効にする と、 サンプル デザインで提供されるルート ポート モデルの代わりにサードパーティの PCI Express VIP/BFM を使用するための必要な接続も提供されます。

詳細は、 179 ページの 「[Enable External PIPE Interface]」 を参照してください。

表 4-7 および表 4-8 に、 コアの 上位に含まれる PIPE バス信号と、 EP コア (pcie_top) PIPE 信号のマッピングを示します。

ヒン ト : PIPE モードは、 シ ミ ュレーシ ョ ン専用です。 インプリ メンテーシ ョ ンはサポート されていません。

Page 196: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 196PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

表 4-7 : 共通の入力/出力コマンド と Endpoint PIPE 信号のマッピング

入力コマンドEndpoint PIPE 信号の

マッピング出力コマンド

Endpoint PIPE 信号のマッピング

common_commands_in[0]common_commands_in[1]common_commands_in[2]common_commands_in[3]common_commands_in[4]common_commands_in[5]common_commands_in[11:6]common_commands_in[17:12]common_commands_in[25:18]

pipe_clk(1)

core_clk(2)

user_clk(3)

rec_clk(4)

phy_rdy(5)

mmcm_lock(6)

pipe_tx_eqfs(7)

pipe_rx_eqlf(8)

pipe_rx_syncdone(9)

common_commands_out[0] common_commands_out[2:1]common_commands_out[3] common_commands_out[6:4]common_commands_out[7]common_commands_out[8]common_commands_out[16:9]

pipe_tx_rcvr_det_gtpipe_tx_rate_gtpipe_tx_deemph_gtpipe_tx_margin_gtpipe_tx_swing_gtpipe_tx_reset_gtpipe_tx_slide_gt

注記 :

1. pipe_clk は、 AveryDesign Systems 社製 BFM ク ロ ッ ク信号 aclk250M の位相に基づいて再生成されたクロ ッ クです。 リ ンク スピードが Gen1 の場合、 pipe_clk は 125MHz とな り、 Gen3 の場合 は 250MHz とな り ます。

2. core_clk は、ザイ リ ンクスの PCI Express エンドポイン ト ク ロ ッ クです。Gen3 x8 コンフ ィギュレーシ ョ ンの場合、core_clk = 500MHzとな り ます。

3. user_clk は、ザイ リ ンクスの PCI Express エンドポイン ト ク ロ ッ クです。Gen3 x8 コンフ ィギュレーシ ョ ンの場合、user_clk = 250MHzとな り ます。

4. rec_clk は、 ザイ リ ンクスの PCI Express エンドポイン ト ク ロ ッ クです。 pipe_clk 信号へ接続してください。

5. phy_rdy は、 10µs 後にアサート される必要があ り ます。

6. mmcm_lock は、 10µs 後にアサートできます。

7. 6’d40 を pipe_tx_eqfs に割り当てます。

8. 6’d15 を pipe_tx_eqlf に割り当てます。

9. 8’d0 を pipe_rx_syncdone に割り当てます。

Page 197: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 197PG156 2016 年 8 月 18 日

第 4 章 : デザイン フローの手順

合成およびインプリ メンテーシ ョ ン合成およびインプ リ メンテーシ ョ ンの詳細は、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 8] を参照してください。

サンプル デザインの合成およびインプ リ メンテーシ ョ ンに関する詳細は、 第 5 章の 「サンプル デザインの合成およびインプ リ メンテーシ ョ ン」 を参照してください。

表 4-8 : 入力/出力バスと Endpoint PIPE 信号のマッピング

入力バス Endpoint PIPE 信号のマッピング 出力バスEndpoint PIPE 信号の

マッピング

pipe_rx_0_sigs[31:0]pipe_rx_0_sigs[33:32]pipe_rx_0_sigs[34] pipe_rx_0_sigs[35] pipe_rx_0_sigs[36] pipe_rx_0_sigs[38:37]pipe_rx_0_sigs[41:39]pipe_rx_0_sigs[42]pipe_rx_0_sigs[43]pipe_rx_0_sigs[44](1)

pipe_rx_0_sigs[62:45](2)

pipe_rx_0_sigs[80:63](3)

pipe_rx_0_sigs[81](4)

pipe_rx_0_sigs[82](5)

pipe_rx_0_sigs[83](6)

pipe_rx0_data_gtpipe_rx0_char_is_k_gtpipe_rx0_data_valid_gtpipe_rx0_elec_idle_gtpipe_rx0_start_block_gtpipe_rx0_syncheader_gtpipe_rx0_status_gtpipe_rx0_valid_gtpipe_rx0_phy_status_gtpipe_rx0_eqdone_gtpipe_rx0_eqcoeff_gtpipe_rx0_eqlp_new_txcoef_forpreset_gtpipe_rx0_eqlp_lffs_sel_gtpipe_rx0_eqlp_adaptdone_gtpipe_rx0_eqdone_gt

pipe_tx_0_sigs[31:0]pipe_tx_0_sigs[33:32]pipe_tx_0_sigs[34]pipe_tx_0_sigs[35]pipe_tx_0_sigs[36]pipe_tx_0_sigs[38:37]pipe_tx_0_sigs[39]pipe_tx_0_sigs[41:40]pipe_tx_0_sigs[43:42]pipe_tx_0_sigs[47:44](7)

pipe_tx_0_sigs[53:48](7)

pipe_tx_0_sigs[55:54]pipe_tx_0_sigs[58:56](7)

pipe_tx_0_sigs[64:59](7)

pipe_tx_0_sigs[68:65](7)

pipe_tx_0_sigs[69]

pipe_tx0_data_gtpipe_tx0_char_is_k_gtpipe_tx0_elec_idle_gtpipe_tx0_data_valid_gtpipe_tx0_start_block_gtpipe_tx0_syncheader_gtpipe_tx0_polarity_gtpipe_tx0_powerdown_gtpipe_tx0_eqcontrol_gtpipe_tx0_eqpreset_gtpipe_tx0_eqdeemph_gtpipe_rx0_eqcontrol_gtpipe_rx0_eqpreset_gtpipe_rx0_eqlp_lffs_gtpipe_rx0_eqlp_txpreset_gtpipe_tx0_compliance_gt

注記 :

1. pipe_tx0_eqcontrol_gt (pipe_tx_0_sigs[43:42]) が ト グルしている間は常にアサート されます。

2. 18'd2 を割り当てます。

3. 18'd0 を割り当てます。

4. 1'b1 を割り当てます。

5. 1'b0 を割り当てます。

6. pipe_rx0_eqcontrol_gt (pipe_tx_0_sigs[55:54]) が ト グルしている間は常にアサート されます。

7. これらの信号は無視できます。

Page 198: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 198PG156 2016 年 8 月 18 日

第 5 章

サンプル デザインこの章では、 Vivado® Design Suite で提供されているサンプル デザインについて説明します。

サンプル デザインの概要このセクシ ョ ンでは、 UltraScale Architecture Gen3 Integrated Block for PCIe のサンプル デザインについて説明します。

統合ブロックのエンドポイン ト コンフ ィギュレーシ ョ ンの概要

統合ブロッ クのエンドポイン ト コンフ ィギュレーシ ョ ンのサンプル シ ミ ュレーシ ョ ン デザインは、 2 つの完全に独立したパーツで構成されています。

• ルート ポート モデル : PCI Express® のバス ト ラフ ィ ッ クを生成、 使用、 チェッ クするテス トベンチです。

• PIO (Programmed Input/Output) サンプル デザイン : PCI Express のコンプ リーター アプリ ケーシ ョ ンです。 PIO サンプル デザインは、そのメモ リ空間への読み出しおよび書き込みリ クエス トに応答し、ハード ウェアでのテス ト用に合成するこ とができます。

Page 199: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 199PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

シ ミ ュレーシ ョ ン デザインの概要

シ ミ ュレーシ ョ ン デザインの場合、 ト ランザクシ ョ ンはルート ポート モデルからコア (エンドポイン ト と してコンフ ィギュレーシ ョ ン) に送信され、 PIO サンプル デザインによって処理されます。 図 5-1 は、 コアで提供されているシ ミ ュレーシ ョ ン デザインについて説明しています。 ルート ポート モデルの詳細は、 210 ページの 「エンドポイント用ルート ポート モデル テス ト ベンチ」 を参照してください。

インプリ メンテーシ ョ ン デザインの概要

図 5-2 にあるよ うに、 インプ リ メンテーシ ョ ン デザインは、読み出しおよび書き込みト ランザクシ ョ ンを受理して リクエス トに応答できる、 簡単な PIO サンプル デザインで構成されています。 このサンプルのソース コー ドはコアと共に提供されています。PIO サンプル デザインのシ ミ ュレーシ ョ ンについては、201 ページの「PIO (Programmed Input/Output) : エンドポイン トのサンプル デザイン」 を参照してください。

X-Ref Target - Figure 5-1

図 5-1 : シミ ュレーシ ョ ン サンプル デザインのブロック図

Page 200: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 200PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

サンプル デザインのエレメン ト

PIO サンプル デザインには、 次のエレ メン トがあ り ます。

• コア ラ ッパー

• サンプルの Verilog HDL ラ ッパー (コアおよびサンプル デザインをインスタンシエートする )

• サンプル デザインをシ ミ ュレーシ ョ ンするためのカスタマイズ可能なデモ用テス トベンチ

このサンプル デザインは、 次のシ ミ ュレータを使用して Vivado Design Suite でテス トおよび検証されています。

• Vivado シ ミ ュレータ

• Mentor Graphics 社製 Questa Sim

• Cadence 社製 Incisive Enterprise Simulator (IES)

• Synopsys 社製 Verilog Compiler Simularor (VCS)

サポート されているツールのバージ ョ ンは、 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート 、 インス トールおよびライセンス』 (2) を参照してください。

X-Ref Target - Figure 5-2

図 5-2 : インプリ メンテーシ ョ ン サンプル デザインのブロック図

Page 201: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 201PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

PIO (Programmed Input/Output) : エンドポイン トのサンプル デザイン

通常、 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 IP カタログによって生成されるエンドポイン ト コンフ ィギュレーシ ョ ンのコアに含まれています。 ユーザーは検証済みの実際のデザインである PIO デザインを使用して、 システムボードを起動し、 ボードの リ ンクおよび機能を検証するこ とができます。

PIO デザイン Port Model は、コア (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 空間への、 1 Dwordペイロードの読み出しおよび書き込み PCI Express ト ランザクシ ョ ンをサポート。

• TLP デスティネーシ ョ ンのベース アドレス レジスタをそれぞれ区別するため、 コアの BAR ID[2:0] およびCompleter Request Descriptor[114:112] を使用。

• 64 ビッ ト、 128 ビッ ト 、 および 256 ビッ トの AXI4-Stream インターフェイス用に個別に 適化されたインプ リ メンテーシ ョ ンを提供。

図 5-3 は、ルート コンプレッ クス、PCI Express スイ ッチ デバイス、PCIe 用エンドポイン トから成る PCI Express システム アーキテクチャ コンポーネン ト を示しています。 PIO 操作は、 ルート コンプレッ クス (CPU レジスタ ) からエンドポイン トへと下方向 (ダウンス ト リーム) にデータを移動、 またエンドポイン トからルート コンプレッ クス(CPU レジスタ ) へと上方向 (アップス ト リーム) にデータを移動させます。 どちらの場合も、データを移動させる PCI Expressプロ ト コル リ クエス トは、 ホス ト CPU が開始します。

Page 202: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 202PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

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 を介してアクセス可能です。

PIO デザインは、有効なメモリ読み出し 32 TLP、 メモ リ読み出し 64 TLP、 またはコアによ り出力された I/O 読み出しリ クエス トに応答して、 ペイロードが 1 Dword のコンプ リーシ ョ ンを生成します。 さ らに、 PIO デザインは、 I/O 書き込み TLP リ クエス トが う ま くいったこ とを示すステータス と共に、 データなしのコンプリーシ ョ ンを返します。

X-Ref Target - Figure 5-3

図 5-3 : システムの概要

Page 203: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 203PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

PIO デザインは次の動作を開始できます。

• 受信した書き込みアドレスが 11'hEA8 および書き込みデータが 32'hAAAA_BBBB で BAR0 をターゲッ ト とする場合のメモ リ読み出し ト ランザクシ ョ ン。

• 受信した書き込みアドレスが 11'hEEC および書き込みデータが 32'hCCCC_DDDD で BAR0 をターゲッ ト とする場合のレガシ割り込み。

• 受信した書き込みアドレスが 11'hEEC および書き込みデータが 32'hEEEE_FFFF で BAR0 をターゲッ ト とする場合の MSI。

• 受信した書き込みアドレスが 11'hEEC および書き込みデータが 32'hDEAD_BEEF で BAR0 をターゲッ ト とする場合の MSIx。

PIO デザインは、FPGA ブロ ッ ク RAM 空間のターゲッ ト アドレスへペイロードをアップデートするこ とで、1 Dwordペイロードを含むメモ リ または I/O 書き込み TLP を処理します。

ベース アドレス レジスタのサポート

PIO デザインでは 4 つのターゲッ ト空間がサポート されており、これらの各空間はそれぞれ別の基本アドレス レジスタ (BAR) で表されている 2KB のメモ リ ブロ ッ クから構成されています。 デフォルトのパラ メーターを使用し、 このセクシ ョ ンで定義する次の PIO デザインと機能するよ うにコンフ ィギュレーシ ョ ンされたコアが Vivado IP カタログによって生成されます。

• 64 ビッ トのアドレス指定可能なメモ リ空間 BAR 1 つ

• 32 ビッ トのアドレス指定可能なメモ リ空間 BAR 1 つ

PIO デザインで使用されるデフォルトのパラ メーター値を変更可能ですが、 場合によっては、 使用されているシステム次第で、 ユーザー アプリ ケーシ ョ ンを変更しなければならない可能性もあ り ます。 Vivado Design Suite IP のデフォルト パラ メーターの変更およびその PIO デザインへの影響については、「IP カタログのデフォルト BAR 設定の変更」を参照してください。

BAR で表されているこの 4 つの 2KB のアドレス空間はそれぞれ、 PIO デザインの 4 つの 2KB のアドレス領域の 1 つに対応しています。 2KB の各領域は、 2KB のデュアル ポート ブロ ッ ク RAM を使用してインプ リ メ ン ト されます。コアが ト ランザクシ ョ ンを受信する と、 アドレスを解読し、 4 つの領域のうちどれがターゲッ トになっているのかを判別し ます。 コ アは TLP を PIO デザイ ンに出力し、 表 5-1 に定義されている よ う に、 Completer RequestDescriptor[114:112] の該当ビッ ト (BAR ID[2:0]) をアサート します。

表 5-1 : TLP ト ラフ ィ ック タイプ

ブロック RAM TLP ト ランザクシ ョ ン タイプ デフォルト BAR BAR ID[2:0]

ep_io_mem I/O TLP ト ランザクシ ョ ン 無効 無効

ep_mem32 32 ビッ ト アドレス メモ リ TLP ト ランザクシ ョ ン 2 000b

ep_mem64 64 ビッ ト アドレス メモ リ TLP ト ランザクシ ョ ン 0-1 001b

ep_mem_erom EROM 向けの 32 ビッ ト アドレス メモ リ TLP ト ランザクシ ョ ン

拡張 ROM 110b

Page 204: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 204PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

IP カタログのデフォルト BAR 設定の変更

選択されている BAR 設定に一致するよ うにカスタマイズされた Verilog ソースを作成するため、Vivado IP カタログのパラ メーターを変更して PIO デザインを使用し続けるこ とができます。 しかし、 PIO デザインのパラ メーターは、 コアのパラ メーターよ り も限られているため、 デフォルトの IP カタログのパラ メーターを変更する場合は、 次のサンプル デザインの制限事項を考慮してください。

• サンプル デザインでは、 I/O 空間 BAR が 1 つ、32 ビッ トのメモリ空間が 1 つ (拡張 ROM 空間には使用できない)、64 ビッ トのメモ リ空間が 1 つサポート されています。 この制限数を越える と、 指定したタイプの 初の空間だけがアクティブになり、 残りの空間にアクセスがあっても完了しません。

• 各空間は 2KB のメモリでインプリ メン ト されます。 対応する BAR がよ り幅の広い開口部にコンフ ィギュレーシ ョ ンされる と、 この 2KB 制限を越えたアクセスはラ ップアラウンド し、 この 2KB メモリ空間はオーバーラップします。

• PIO デザインでは、 I/O 空間 BAR が 1 つサポート されています。 これはデフォルトでは無効になっていますが、必要に応じて変更できます。

PIO デザインには制限事項があ り ますが、ユーザーのニーズに合わせてサンプル デザインを変更できるよ う、 Verilogのソースコードが提供されています。

TLP データ フロー

このセクシ ョ ンでは、 PIO デザインで処理される TLP のデータ フローについて説明します。

PIO デザインは、 ペイロードが 1 DWORD のメモ リ読み出しおよび書き込み TLP、 I/O 読み出しおよび書き込み TLPを処理します。1 DWORD よ り も長いメモ リ読み出しまたはメモ リ書き込み TLP は PIO デザインでは正し く処理されませんが、 コアがこれらの TLP を受理し、 PIO デザインに渡します。 PIO デザインがコアから 1 Dword よ り も長いTLP を受信する場合は、 受信を完了しますがそれらを破棄します。 また、 それに対応するコンプリーシ ョ ンは生成されません。

メモリおよび 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 デザインに知らせるため、コンプリーター リ クエス トの Descriptor[114:112] 信号の適切なビッ ト (BAR ID[2:0]) をアサート します。それが受信される と、 PIO デザインの RX ステート マシンが、 入力される書き込み TLP を処理し、 また TLP データ と関連アドレス フ ィールドを抽出して、 PIO デザインの内部ブロ ッ ク RAM の書き込みリ クエス ト コン ト ローラーへ、これを渡すこ とができるよ うにします。

アサート された特定の BAR ID[2:0] 信号に基づいて、 RX ステート マシンは、 書き込みイネーブル リ クエス ト をアサートする前に使用する 2KB ブロ ッ ク RAM を内部書き込みコン ト ローラーに知らせます。 たとえば、 BAR0 をターゲッ トにするコアが I/O 書き込みリ クエス ト を受信した場合、 コアはその TLP を PIO デザインに渡して BAR ID[2:0]を 000b に設定します。RX ステート マシンは、 I/O 書き込み TLP から下位アドレス ビッ ト とデータ フ ィールドを抽出し、 内部メモ リ書き込みコン ト ローラーに対し、 ブロ ッ ク RAM への書き込み操作を開始するよ う指示します。

この例では、BAR ID[2:0] が 000b に設定されているため、PIO のメモリ書き込みコン ト ローラーが ep_mem0 (デフォルトでは 2KB の I/O 空間を表す) にアクセスします。書き込みが FPGA のブロ ッ ク RAM に対して実行されている間、PIO デザインの RX ステート マシンは m_axis_cq_tready をディアサートするため、 内部メモ リ書き込みコン トローラーがブロ ッ ク RAM への書き込み操作を完了させるまで、受信 AXI4-Stream インターフェイスが TLP の受信を停止します。 この方法で m_axis_cq_tready をディアサートするこ とは、 コアを使用したデザインすべてに対し必須というわけではあ り ません。 PIO デザインでは RX ステート マシンの制御ロジッ クを簡略化するために、 この方法が採用されています。

Page 205: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 205PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

メモリおよび I/O 読み出し TLP の処理

PCIe 用エンドポイン トがメモ リ または I/O の読み出し TLP を受信する と、 TLP デスティネーシ ョ ン アドレスおよびト ランザクシ ョ ン タイプが、 コアの BAR にプログラムされた値と比較されます。 TLP がこの比較チェッ クをパスする と、 コアが PIO デザインの受信 AXI4-Stream インターフェイスへ TLP を渡します。

また、 パケッ トの開始、 パケッ トの終了、 および準備完了のハンドシェイ ク信号と共に、 コンプ リーター リ クエスター AXI4-Stream インターフェイスは、 入力される TLP と一致したデスティネーシ ョ ン BAR を PIO デザインに知らせるため、 適切な BAR ID[2:0] 信号をアサート します。 それが受信される と、 PIO デザインのステート マシンは入力される読み出し TLP を処理し、関連する TLP 情報を抽出して、PIO デザインの内部ブロ ッ ク RAM の読み出し リ クエス ト コン ト ローラーへこれを渡します。

アサート された特定の BAR ID[2:0] 信号に基づいて、 RX ステート マシンは、 読み出しイネーブル リ クエス ト をアサートする前に使用する 2KB ブロ ッ ク RAM を、内部読み出しコン ト ローラーに知らせます。 たとえば、デフォルトの Mem32 BAR2 をターゲッ トにするコアがメモ リ読み出し 32 リ クエス ト TLP を受信した場合、 コアはその TLP をPIO デザインに渡して BAR ID[2:0] を 010b に設定します。RX ステート マシンは、 メモ リ 32 読み出し TLP から下位アドレス ビッ ト を抽出し、 内部メモ リ読み出し リ クエス ト コン ト ローラーに対し読み出し操作を開始するよ う指示します。

この例では、BAR ID[2:0] が 010b に設定されているため、PIO のメモ リ読み出しコン ト ローラーが Mem32 (デフォルトでは 2KB の I/O 空間を表す) にアクセスします。 メモ リ書き込み TLP と メモ リ読み出し TLP の処理における大きな違いは、 メモ リ または I/O 読み出し リ クエス ト があった場合に、 受信デバイスがデータのあるコンプ リーシ ョ ンTLP を返す必要がある という点です。

読み出し動作が実行されている間、PIO デザインの RX ステート マシンは m_axis_cq_tready をディアサートするので、 内部メモ リ読み出しコン ト ローラーがブロ ッ ク RAM からの読み出し操作を完了させてコンプリーシ ョ ンを生成するまで、 受信 AXI4-Stream インターフェイスが TLP の受信を停止します。 コアを使用するすべてのデザインでは、 このよ うに m_axis_cq_tready をディアサートする必要はあ り ません。 PIO デザインでは、 RX ステート マシンの制御ロジッ クを簡略化するためにこの方法が採用されています。

PIO ファイルの構造

表 5-2 は、PIO デザイン ファ イルの構造を定義しています。Vivado IP カタログで配布されるすべてのファイルが必要というわけではなく、 どのコアがターゲッ トになっているかによ り ますが、 配布されないファイルもあ り ます。 PCIe用エンドポイン ト ソ リ ューシ ョ ンには、 32 ビッ トのユーザー データパスを使用するものと、 64 ビッ トのデータパスを使用するものがあ り ますが、 PIO デザインではどちらでも使用できます。 データパスの幅は、 ターゲッ トになっているコアによって異なり ます。

PIO デザインのコンフ ィギュレーシ ョ ンには、 PIO_64、 PIO_128、 および PIO_256 (それぞれ 64、 128、 256 ビッ トのAXI4-Stream インターフェイス) の 3 種類があ り ます。 生成される PIO コンフ ィギュレーシ ョ ンは、 選択されている エンドポイン ト タイプ (つま り UltraScale® アーキテクチャの統合ブロッ ク、PIPE、PCI Express および Block Plus)、および選択されている PCI Express のレーン数、 インターフェイス幅によ り ます。 表 5-3 には、 ユーザーの選択に基づいて生成される PIO コンフ ィギュレーシ ョ ンがま とめられています。

表 5-2 : PIO ファイルの構造

ファイル 説明

PIO.v 上位デザインのラ ッパー

PIO_INTR_CTRL.v PIO 割り込みコン ト ローラー

PIO_EP.v PIO アプリ ケーシ ョ ン モジュール

PIO_TO_CTRL.v PIO ターンオフ コン ト ローラー モジュール

PIO_RX_ENGINE.v 32 ビッ トの受信エンジン

PIO_TX_ENGINE.v 32 ビッ トの送信エンジン

PIO_EP_MEM_ACCESS.v エンドポイン ト メモ リ アクセス モジュール

PIO_EP_MEM.v エンドポイン ト メモ リ

Page 206: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 206PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

図 5-4 は、 PIO デザインのさまざまなコンポーネン ト を示しています。 PIO デザインは、 TX エンジン、 RX エンジン、メモ リ アクセス コン ト ローラー、 パワー マネージメン ト ターンオフ コン ト ローラーという 4 つの主なパーツに分かれています。

PIO の動作

PIO 読み出し ト ランザクシ ョ ン

図 5-5 は、 PIO デザインへの連続する メモ リ読み出し リ クエス ト を表しています。 受信エンジンは、 初の TLP が完全に受信される とすぐに、 m_axis_rx_tready をディアサート します。 次の読み出し ト ランザクシ ョ ンは、 送信エンジンが compl_done_o をアサート し、 初のリ クエス トが完全に送信されたこ とを示すコンプリーシ ョ ンが生成された後にのみ受け入れられます。

表 5-3 : PIO コンフ ィギュレーシ ョ ン

コア X1 x2 x4 x8

UltraScale FPGA Gen3 Integrated Block PIO_64 PIO_64、PIO_128

PIO_64、PIO_128、PIO_256

PIO_64、PIO_128(1)、

PIO_256

注記 :

1. コアは、 128 ビッ ト x8 8.0Gb/s コンフ ィギュレーシ ョ ンおよび 500MHz ユーザー ク ロ ッ ク周波数をサポート していません。

X-Ref Target - Figure 5-4

図 5-4 : PIO デザインのコンポーネン ト

Page 207: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 207PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

PIO 書き込みト ランザクシ ョ ン

図 5-6 は、PIO デザインへの連続する メモ リ書き込みリ クエス ト を表しています。次の書き込みト ランザクシ ョ ンは、メモ リ アクセス ユニッ ト が wr_busy_o をディアサート し、 初の リ クエス ト に関連するデータがメモ リ アパーチャーへすべて書き込まれたこ とを示した後にのみ受け入れられます。

X-Ref Target - Figure 5-5

図 5-5 : 連続する読み出し ト ランザクシ ョ ン

X-Ref Target - Figure 5-6

図 5-6 : 連続する書き込みト ランザクシ ョ ン

Page 208: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 208PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

デバイス使用量

表 5-4 に、 PIO デザインの FPGA リ ソース使用量を示します。

サンプル デザインのシミ ュレーシ ョ ンサンプル デザインを使用する と、 Vivado Design Suite で生成した PCI Express エンドポイン トおよび ルート ポート用コアのサンプル デザイン プロジェク トのビヘイビアーを簡単にシ ミ ュレーシ ョ ンして確認できます。

現在サポート されているシ ミ ュレータは次のとおりです。

• Vivado シ ミ ュレータ (デフォルト )

• ModelSim Questa Sim

• Cadence 社製 Incisive Enterprise Simulator (IES)

• Synopsys 社製 Verilog Compiler Simularor (VCS)

シ ミ ュレータでは、 両方のデザイン コンフ ィギュレーシ ョ ンのサンプル デザインと共に提供されているサンプル デザインのテス トベンチおよびテス ト ケースを使用します。

すべてのプロジェク ト (PCI Express コア) で、 デフォルトの Vivado シ ミ ュレータを使用するシ ミ ュレーシ ョ ンは、 次の方法で実行できます。

1. [Sources] ウ ィンド ウでサンプル プロジェク ト ファ イル (.xci) を右ク リ ッ ク し、 [Open IP Example Design] をクリ ッ ク します。

サンプル プロジェク トが作成されます。

2. 画面左側にある Flow Navigator の [Simulation] の下にある [Run Simulation] を右ク リ ッ ク し、 [Run BehavioralSimulation] をク リ ッ ク します。

重要 : 合成後およびインプリ メンテーシ ョ ン後のシ ミ ュレーシ ョ ン オプシ ョ ンは、PCI Express ブロ ッ クではサポートされていません。

[Run Behavioral Simulation] を実行した後、 [Tcl Console] ビューおよび [Log] ビューの [Simulation] タブで、 コンパイルおよびエラボレーシ ョ ン段階を確認できます。

3. [Tcl Console] ビューに 「run all」 と入力し、 Enter キーを押します。 これで、 サンプル デザインのテス トベンチで提供されているテス ト ケースに従ってシ ミ ュレーシ ョ ンが実行されます。

シ ミ ュレーシ ョ ンが完了したら、 結果は Tcl コンソールで確認できます。

Vivado IDE で、 シ ミ ュレーシ ョ ンの設定を変更する場合は、 次の手順に従います。

1. Flow Navigator の [Simulation] の下にある [Simulation Settings] をク リ ッ ク します。

2. [Target simulator] を [QuestaSim/ModelSim Simulator]、 [Incisive Enterprise Simulator (IES)] または [Verilog Compiler Simulator] のいずれかに設定します。

表 5-4 : PIO デザインの FPGA リソース使用率

リソース 使用されているリソース数

LUT 300

フ リ ップフロ ップ 500

ブロ ッ ク RAM 4

Page 209: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 209PG156 2016 年 8 月 18 日

第 5 章 : サンプル デザイン

3. [Simulator] タブで、 [Run Simulation] → [Run Behavioral Simulation] をク リ ッ ク します。

4. プロンプ トが表示されたら、 変更するため [Yes] をク リ ッ ク し、 シ ミ ュレータを実行します。

エンドポイン ト コンフ ィギュレーシ ョ ン

エンドポイン ト コンフ ィギュレーシ ョ ンの Gen3 Integrated Block for PCIe コアで提供されているシ ミ ュレーシ ョ ン環境では、 PIO サンプル デザインに対して簡単なメモ リ アクセス テス トが実行されます。 ト ランザクシ ョ ンはルートポート モデルによ り生成され、 PIO サンプル デザインがそれに応答します。

• PCI Express TLP (Transaction Layer Packet) はテス トベンチの送信ユーザー アプリケーショ ン (pci_exp_usrapp_tx)によって生成されます。 これが TLP を送信すると、 ログ ファイル (tx.dat) も生成されます。

• PCI Express TLP はテス トベンチの受信ユーザー アプリ ケーシ ョ ン (pci_exp_usrapp_rx) によって受信されます。 ユーザー アプリ ケーシ ョ ンが TLP を受信する と、 ログ ファ イル (rx.dat) も生成されます。

テス トベンチの詳細は、 210 ページの 「エンドポイン ト用ルート ポート モデル テス ト ベンチ」 を参照してください。

サンプル デザインの合成およびインプリメンテーションサンプル デザインの合成と インプリ メンテーシ ョ ンを行うには、 Vivado Design Suite で次の手順を実行します。

1. XCI ファ イルを右ク リ ッ ク して、 [Open IP Example Design] をク リ ッ ク します。

新しい Vivado ツールのウ ィンド ウに、 プロジェク ト ディレク ト リにある example_project という名前のプロジェク トが開きます。

2. Flow Navigator で [Run Synthesis] または [Run Implementation] をク リ ッ ク します。

ヒン ト : 合成と インプリ メンテーシ ョ ンの両方を実行する場合は、 [Run Implementation] を先にク リ ッ ク します。 合成、 インプ リ メンテーシ ョ ン、 ビッ ト ス ト リーム生成を実行するには、 [Generate Bitstream] をク リ ッ ク します。

Page 210: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 210PG156 2016 年 8 月 18 日

第 6 章

テス トベンチこの章では、 Vivado® Design Suite で提供されているテス トベンチについて説明します。

エンドポイント用ルート ポート モデル テスト ベンチPCI Express のルート ポート モデルは、提供されている PIO デザインまたはユーザー デザインで使用できるテス ト プログラム インターフェイスを提供するテス トベンチ環境です。 ルート ポート モデルは、 カスタマー デザインをシミ ュレーシ ョ ンするため、 ダウンス ト リームの PCI Express TLP ト ラフ ィ ッ クを生成するソースを提供し、 また、 シミ ュレーシ ョ ン環境でカスタマー デザインからアップス ト リームの PCI Express TLP ト ラフ ィ ッ クを受信するデスティネーシ ョ ンを提供します。

テス トベンチを簡単に作成できるよ う、 ルート ポート モデルのソースコードが含まれています。 コンフ ィギュレーシ ョ ン空間の初期化、 TLP ト ランザクシ ョ ンの作成、 TLP ログの生成、 テス トの作成 ・検証のためのインターフェイスの提供といった大きな作業はすべて完了していて、エンドポイン ト コアのテス トベンチのインフラス ト ラ クチャの開発に時間を費やすのではなく、 デザインの機能が正しいこ とを検証するこ とに時間が割けるよ うになっています。

ルート ポート モデルの構成は次のとおりです。

• テス ト プログラ ミ ング インターフェイス (TPI)。 PCI Express 用のエンドポイン ト デバイスをシ ミ ュレーシ ョ ンできます。

• テス ト プログラム TPI の使用方法を確認できるサンプル テス ト。

• すべてのルート ポート モデル コ ンポーネン トに対する Verilog ソースコー ド。テス トベンチをカスタマイズできます。

Page 211: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 211PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

図 6-1 は PIO デザインと併用したルート ポート モデルを説明しています。

アーキテクチャ

ルート ポー ト モデルは、 図 6-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 ブロ ッ クを使用します。 ト ランザクシ ョ ン シーケンスまたはテス ト プログラムは usrapp_tx ブロッ クによって開始され、エンドポイン ト デバイスのファブリ ッ ク インターフェイスをスティ ミ ュレート します。エンドポイン ト デバイスからの TLP 応答は、usrapp_rx ブロ ッ クが受信します。usrapp_tx と usrapp_rx 間の通信によ り、 usrapp_rx ブロ ッ クがエン ドポイン ト デバイスからの TLP を受信する と、usrapp_tx ブロッ クは正しいビヘイビアーを検証し、 適宜処理するこ とができるよ うにな り ます。

X-Ref Target - Figure 6-1

図 6-1 : ルート ポート モデルおよび最上位エンドポイン ト

Page 212: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 212PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

シ ミ ュレーシ ョ ン タイムアウトの設定

このコアのシ ミ ュレーシ ョ ン モデルは、シ ミ ュレーシ ョ ン中に妥当な時間内でリ ンクが確立されるよ う、タイムアウト を設定できます。『PCI Express Specification, rev. 2.1』 [参照 2] による と、Link Training Status State Machine (LTSSM) のステー ト に関連付けられたさ まざまなタ イムアウ ト があ り ます。 コアは、 タ イムアウ ト を設定できない RecoverySpeed_1 LTSSM ステート を除いて、 シ ミ ュレーシ ョ ンで 256 の係数でこれらのタイムアウ ト を設定します。

テストの選択

表 6-1 ではルート ポート モデルで提供されているテス トについて説明し、 その後のセクシ ョ ンでは Verilog テス トについて詳し く説明します。

Verilog テストの選択

ルート ポート モデルで使用される Verilog テス ト モデルでは、 実行されるテス ト名をコマンド ラ イン パラ メーターと してシ ミ ュレータに指定できます。

実行されるテス ト を変更する場合は、 テス ト ファ イル sample_tests1.v および pio_tests.v に定義されているTESTNAME の値を変更します。 このメカニズムは、 Mentor Graphics Questa Sim で使用されています。 Vivado シ ミ ュレータは、 -testplusarg オプシ ョ ンを使用して TESTNAME を指定します。 たとえば次ののよ うになり ます。

demo_tb.exe -gui -view wave.wcfg -wdb wave_isim -tclbatch isim_cmd.tcl -testplusarg TESTNAME=sample_smoke_test0.

波形ダンピング

シ ミ ュレータ波形のダンピングの詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 12] を参照してください。

Verilog フロー

ルート ポート モデルは、+dump_all コマンド ライン パラ メーターをシ ミ ュレータに指定して、保管するシ ミ ュレーシ ョ ン波形を出力するためのメカニズムを提供します。

表 6-1 : ルート ポート モデルで提供されるテスト

テス ト名 Verilog でテスト 説明

sample_smoke_test0 Verilog PCI タイプ 0 コンフ ィギュレーシ ョ ン読み出し TLP を出力し、コンプリーシ ョ ン TLP を待ちます。その後、返された値とデバイス /ベンダーID を比較します。

sample_smoke_test1 Verilog sample_smoke_test0 と同じ操作を実行しますが、 予期タスクを使用します。 このテス トでは 2 つのテス ト プログラム スレッ ドが用いられます。 1 つは PCI タイプ 0 コンフ ィギュレーシ ョ ン読み出し TLP を出力し、も う 1 つはデータ TLP 予期タスクのあるコンプリーシ ョ ンを出力します。 このテス トは予期タスクを利用するパラレル テス トです。ユーザー デザインからの TLP の受信を確認するこ とができます。 また、TLP の順序が重要出ない場合の TLP の受信確認用にも使用できます。

Page 213: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 213PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

出力のログ

サンプル デザインまたはカスタマー デザインでテス ト エラーが発生した場合にそれらをデバッグします。 通常は、シ ミ ュレーシ ョ ン用の波形ファイルをチェッ ク して、標準出力に対し表示されている メ ッセージと これを相互比較します。 しかし、 このアプローチは非常に時間がかかるため、 ルート ポート モデルには、 エラーの発生しているテスト ケースのデバッグ プ ロセスをスピードアップさせるための出力ログ機能が含まれています。

ルート ポート モデルは、 各シ ミ ュレーシ ョ ンの実行で 3 つのファ イル (tx.dat、 rx.dat、 および error.dat) を生成します。 ログ ファイルの rx.dat および tx.dat には、 ルート ポート モデルで送信および受信されたすべてのTLP が各ファイルに詳細に記録されています。

ヒン ト : 特定テス ト ケースで予想される TLP 伝送を理解していれば、 エラーを隔離しやすくなり ます。

ログ ファ イル error.dat は、 予期タスク と併用して使用します。 予期タスクを利用するテス ト プログラムは、 標準出力に一般的なエラーメ ッセージを生成します。 予期エラーが原因で発生した比較エラーについての詳細は、error.dat に記述されています。

パラレル テスト プログラム

ルート ポート モデルでサポート されているテス トには 2 つのタイプがあ り ます。

• 順次テス ト : 1 つのプロセス内に複数のテス トが含まれ、順次プログラムと類似した動作をします。214 ページの「テス ト プログラム : pio_writeReadBack_test0」 で説明されているテス トが順次テス トの例です。 順次テス トは、イベン トの順序がわかっている場合の動作を検証するのに非常に便利です。

• パラレル テス ト : 2 つ以上のプロセス スレッ ドのあるテス トです。 sample_smoke_test1 テス トはプロセス スレッドが 2 つあるパラレル テス トの例です。 パラレル テス トは、 イベン トの順序が不明の、 ま と まったイベン ト を検証するのに非常に便利です。

一般的なパラレル テス トには、 コマンド スレッ ドが 1 つ、 予期スレッ ドが 1 つ以上あり ます。 これらのスレッ ドはと もに機能して、 デバイス機能を検証します。 コマンド スレッ ドの役割は、 デバイスが TLP を受信および生成できるよ うに必要な TLP ト ランザクシ ョ ンを作成するこ とです。予期スレッ ドの役割は、予期 TLP の受信を検証します。ルート ポート モデルの TPI には、 パラレル テス ト と併用する予期タスクがすべて揃っています。

サンプル デザインはターゲッ ト専用デバイスであるため、 PIO デザインを使用している間はパラレル テス ト プログラムはコンプ リーシ ョ ン TLP のみを期待します。 しかし、 カスタマー デザインで使用する場合は、 どの TLP タイプも期待できる予期タスクの完全ライブラ リ を使用するこ とができます (バス マスター機能も含めるこ とが可能)。

テストの説明

ルート ポート モデルにはテス ト プログラム インターフェイス (TPI) があ り ます。 TPI を使用するこ とによ り、 一連の Verilog タスクを起動するこ とでテス ト を作成できます。すべてのルート ポート モデル テス トは、次の 6 つの手順に従う必要があ り ます。

1. 各テス ト名に対し条件付比較を実行します。

2. シ ミ ュレーシ ョ ンが停止した場合のマスター タイムアウ ト を設定します。

3. リセッ トおよびリ ンク アップを待ちます。

4. エンドポイン トのコンフ ィギュレーシ ョ ン空間を初期化します。

5. ルート ポート モデルとエンドポイン ト DUT 間で TLP を送受信します。

6. テス トが問題なく完了したこ とを確認します。

Page 214: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 214PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

テス ト プログラム : pio_writeReadBack_test0

ルート ポート モデルの拡張

ルート ポート モデルは PIO デザインと共に機能するよ う作成されており、 PIO デザインの制限事項に基づいて特定チェッ クを実行し、警告を出力するよ うに設計されています。ルート ポート モデルが Vivado IP カタログで生成された場合、 これらのチェッ クおよび警告はデフォルトで有効になっています。 しかし、 これを無効化して、 デザインに反映させないこ と も可能です。

PIO デザインは、 I/O BAR を 1 つ、 Mem64 BAR を 1 つ、 Mem32 BAR を 2 つ (そのうち 1 つは EROM 空間である必要がある ) サポートするよ う作成されているため、デフォルトでは、コアがこの要件を満たすよ う コンフ ィギュレーシ ョンされているこ とを確認するデバイス コンフ ィギュレーシ ョ ン中に、 ルート ポート モデルがチェッ クを実行するようになっています。 このチェッ クで違反が検出される と、 警告メ ッセージが表示され、 エラーのある BAR がテス トベンチで無効になり ます。 このチェッ クは、 pci_exp_usrapp_tx.v ファ イルで pio_check_design 変数をゼロに設定する と無効になり ます。

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 215: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 215PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

ルート ポート モデルの TPI タスク リス ト

ルート ポート モデルの TPI タスクを次に示し、 その後に続く各表で詳し く説明します。

• 表 6-2、 「テス ト セッ ト アップ タスク」

• 表 6-3、 「TLP タスク」

• 表 6-4、 「BAR 初期化タスク」

• 表 6-5、 「サンプル PIO デザイン タスク」

• 表 6-6、 「予期タスク」

表 6-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 テス トが完了しているこ とを確認するのに使用します。

表 6-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 216: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 216PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

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:0

10: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:0

10: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:0

10: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:0

10: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:0

10:02:0

グ ローバル COMPLETE_ID_CFG を コ ンプ リ ーシ ョ ン ID と して使用し、 PCI Express コンプ リーシ ョ ン TLP をルート ポート モデルからエンドポイン ト DUT に送信します。

TSK_TX_COMPLETION_DATA tag_tc_len_byte_countlower_addrcomp_statusep_

7:02:0

10:011:06:02:0–

グ ローバル COMPLETE_ID_CFG を コ ンプ リ ーシ ョ ン ID と して使用し、PCI Express のデータ付きのコンプ リーシ ョ ン TLP をルート ポート モデルからエンドポイン ト DUT に送信します。

グローバルな DATA_STORE バイ ト アレイは、 コンプ リーシ ョ ン データをタスクに渡すために使用されます。

表 6-3 : TLP タスク (続き)

名称 入力 説明

Page 217: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 217PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

TSK_TX_MESSAGE tag_tc_len_datamessage_rtgmessage_code

7:02:0

10: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:0

10: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:0

31: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 の内容を使用します。

表 6-3 : TLP タスク (続き)

名称 入力 説明

Page 218: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 218PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

TSK_TX_BAR_WRITE bar_indexbyte_offsettag_tc_data_

2:031:07:02:0

31: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 なし エン ドポイン ト DUT が送信したデータ付きの次のコンプリーシ ョ ン TLP を待ちます。完了する と、CpID からのデータの 初の Dword がグローバルP_READ_DATA に格納されます。 このタ ス クは、レース コンディシ ョ ンを避けるため、 データ付きのコンプ リーシ ョ ンを要求する TPI での任意の読み出しタスクの直後に呼び出す必要があ り ます。

デフォルトでは、このタスクはローカルにタイムアウ ト し、 ト ランザクシ ョ ン インターフェ イ ス クロ ッ クが 1000 サイクルした後にシ ミ ュレーシ ョ ンを終了させます。 ローカル タイムアウ トが呼び出し中のテス トの実行に戻り、 シ ミ ュレーシ ョ ン タイ ム ア ウ ト に な ら な い よ う に、 グ ロ ーバルcpld_to_finish を 0 にセッ トするこ とができます。グローバル cpld_to が 1 にセッ ト されている場合は、こ の タ ス ク が タ イ ム ア ウ ト に な っ て お り、P_READ_DATA の内容が無効である こ と を示すので、 このケースのテス ト プログラムはグローバルcpld_to をチェッ クする必要があり ます。

表 6-3 : TLP タスク (続き)

名称 入力 説明

表 6-4 : BAR 初期化タスク

名称 入力 説明

TSK_BAR_INIT なし PCI Express ファブリ ッ クを使用したエンドポイン ト デバイスへのベース アドレス レジスタ初期化タスクの標準シーケンスを実行します。 エンドポイン ト PCI BAR 範囲要件のスキャンを実行し、 必要なメモリおよび I/O 空間マッピングの計算を実行し、後に、アクセス準備可能になるよ うにエンドポイン ト をプログラムします。

完了後、 テス ト プログラムはデバイスへのメモリおよび I/O ト ランザクシ ョ ンを開始できます。 このファンクシ ョ ンは、 このエンドポイン トがどのよ うに初期化されたかを示すメモ リおよび I/Oテーブルを標準出力に表示します。 このタスクは、 ルート ポート モデル内のテス ト プログラムで使用可能なグローバル変数も初期化します。 このタス クは、 TSK_SYSTEM_INITIALIZATIONの後にのみ呼び出されます。

TSK_BAR_SCAN なし エンドポイン ト に対する メモ リおよび I/O 要件を判断するため、PCI Express ロジッ クを使用し、 PCI タ イプ 0 コンフ ィギュレーシ ョ ン書き込みおよびコンフ ィギュレーシ ョ ン読み出しのシーケンスを実行します。

このタスクはこの情報を BAR_INIT_P_BAR_RANGE[] という グローバル アレイに保存します。 このタスクは、 TSK_SYSTEM_INITIALIZATION の後にのみ呼び出されます。

Page 219: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 219PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

TSK_BUILD_PCIE_MAP なし メモ リおよび I/O マッピング アルゴ リズムを実行し、エンドポイン ト 要件に基づいて、 メモ リ 32、 メモ リ 64、 および I/O 空間を割り当てます。このタスクは PIO デザインの制限事項に合わせて機能するよ うにカスタマイズされており、TSK_BAR_SCAN が完了した後にのみ呼び出されます。

TSK_DISPLAY_PCIE_MAP なし エン ドポイン ト コアの PCI ベース アド レス レジスタのメモ リマッピング情報を表示します。 各 BAR に対し、 BAR 値、 BAR 範囲、 BAR タイプが指定されています。 このタスクは、TSK_BUILD_PCIE_MAP の完了後にのみ呼び出されます。

表 6-4 : BAR 初期化タスク (続き)

名称 入力 説明

表 6-5 : サンプル PIO デザイン タスク

名称 入力 説明

TSK_TX_READBACK_CONFIG なし PCI Express ロジッ クを使用して、 エンドポイン ト デバイスのベース アド レス レジスタ、 PCI コマン ド レジスタ、 およびPCIe デバイス制御レジスタへの PCI タ イプ 0 コンフ ィ ギュレーシ ョ ン読み出しを連続して実行します。

このタスクは、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 220: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 220PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

TSK_RESET Reset 0 PERSTn を開始します。 PERSTn 信号にリセッ ト信号をアサート させます。 リセッ ト信号のアサートには TSK_RESET (1’b1)を使用し、 リセッ ト信号のリ リースには TSK_RESET (1’b0) を使用します。

TSK_MALFORMED malformed_bits

7:0 不正に構成された TLP を生成するための制御ビッ トです。

• 0001 : このタスクが呼び出された直後の I/O リ クエス トおよびコンフ ィギュレーシ ョ ン リ クエス トに対して不正に構成された TLP を生成する

• 0010 : ルート ポートで受信したメモ リ読み出し リ クエス トに対して不正に構成されたコンプリーシ ョ ン TLP を生成する

表 6-5 : サンプル PIO デザイン タスク (続き)

名称 入力 説明

表 6-6 : 予期タスク

名称 入力 出力 説明

TSK_EXPECT_CPLD traffic_classtdepattrlengthcompleter_idcompleter_statusbcmbyte_countrequester_idtagaddress_low

2:0--

1:010:015: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_beaddress

2:0--

1:010:015:07:03:03:029:0

ステータスを予期

ヘッダー フ ィールドが一致する 32ビ ッ ト のア ド レス メモ リ読み出しTLP を待ちます。

正し く完了する と 1 が返され、それ以外の場合は 0 が返されます。このタスクは、 バス マスター デザインと併用する場合にのみ使用できます。

Page 221: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 221PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

TSK_EXPECT_MEMRD64 traffic_classtdepattrlengthrequester_idtaglast_dw_befirst_dw_beaddress

2:0--

1:010:015:07:03:03:061:0

ステータスを予期

ヘッダー フ ィールドが一致する 64ビ ッ ト のア ド レス メモ リ読み出しTLP を待ちます。正し く完了する と1 が返され、 それ以外の場合は 0 が返されます。

このタスクは、 バス マスター デザイン と併用する場合にのみ使用できます。

TSK_EXPECT_MEMWR traffic_classtdepattrlengthrequester_idtaglast_dw_befirst_dw_beaddress

2:0--

1:010:015:07:03:03:029:0

ステータスを予期

ヘッダー フ ィールドが一致する 32ビ ッ ト のア ド レス メモ リ書き込みTLP を待ちます。正し く完了する と1 が返され、 それ以外の場合は 0 が返されます。

このタスクは、 バス マスター デザイン と併用する場合にのみ使用できます。

TSK_EXPECT_MEMWR64 traffic_classtdepattrlengthrequester_idtaglast_dw_befirst_dw_beaddress

2:0--

1:010:015:07:03:03:061:0

ステータスを予期

ヘッダー フ ィールドが一致する 64ビ ッ ト のア ド レス メモ リ書き込みTLP を待ちます。正し く完了する と1 が返され、 それ以外の場合は 0 が返されます。

このタスクは、 バス マスター デザイン と併用する場合にのみ使用できます。

TSK_EXPECT_IOWR tdeprequester_idtagfirst_dw_beaddressdata

--

15:07:03:031:031:0

ステータスを予期

ヘッダー フ ィールドが一致する I/O書き込み TLP を待ちます。 正し く完了する と 1 が返され、それ以外の場合は 0 が返されます。

このタスクは、 バス マスター デザイン と併用する場合にのみ使用できます。

表 6-6 : 予期タスク (続き)

名称 入力 出力 説明

Page 222: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 222PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

ルート ポート用のエンドポイン ト モデル テストベンチルート ポート コンフ ィギュレーシ ョ ンのコアのエンドポイン ト モデル テス トベンチは、簡単なサンプル テス トベンチで、 コンフ ィギュレーター デザインと PCI Express エンドポイン ト モデルを接続して、物理的なシステムに対する2 つのデバイスであるかのよ うに操作できます。自己初期化し、バス ト ラフ ィ ッ クを生成および使用するロジッ クからコンフ ィギュレーター サンプル デザインは構成されているため、 システム動作をモニタ リ ングしシ ミ ュレーシ ョンを終了させるロジッ クをこのサンプル テス トベンチはインプリ メン トするだけです。

このエンドポイン ト モデル テス トベンチは次のものから構成されています。

• すべてのエンドポイン ト モデル コンポーネン トに対する Verilog または VHDL のソース コード

• PIO スレーブ デザ イン

図 6-1 は、 コンフ ィギュレーター サンプル デザインと接続しているエンドポイン ト モデルを説明しています。

アーキテクチャ

エンドポイン ト モデルは次のブロ ッ クから構成されています

• PCI 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 ブロ ッ ク と インターフェイスします。 ルート ポート DUT は、 ルート ポー ト と してコンフ ィギュレーシ ョ ンされているコア、 およびコンフ ィギュレーター サンプル デザイン (コンフ ィギュレーター ブロ ッ ク と PIO マスターデザインまたはカスタマー デザインから成る ) から構成されています。

PIO スレーブ デザインについては、 「PIO (Programmed Input/Output) : エンドポイン トのサンプル デザイン」 を参照してください。

デザインのシミ ュレーシ ョ ン

Mentor Graphics Questa Sim シ ミ ュレータを使用するシ ミ ュレーシ ョ ンをサポートするために、シ ミ ュレーシ ョ ン スクリプ ト (simulate_mti.do) がモデルと共に提供されています。

サンプルのシ ミ ュレーシ ョ ン スク リプ トは、 次のディレク ト リ内に含まれています。

<project_dir>/<component_name>/simulation/functional

エンドポイン ト モデルを使用するコンフ ィギュレーター サンプル デザインのシ ミ ュレーシ ョ ン手順は、第 4 章の「シミ ュレーシ ョ ン」 を参照してください。

注記 : Cadence IES の場合、 次の作業コンス ト ラ ク ト を手動で cds.lib ファ イルに挿入する必要があ り ます。

DEFINE WORK WORK

Page 223: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 223PG156 2016 年 8 月 18 日

第 6 章 : テストベンチ

シ ミ ュレーシ ョ ン タイムアウトの設定

このコアのシ ミ ュレーシ ョ ン モデルは、シ ミ ュレーシ ョ ン中に妥当な時間内でリ ンクが確立されるよ う、タイムアウト を設定できます。『PCI Express Specification, rev. 2.1』 [参照 2] による と、Link Training Status State Machine (LTSSM) のステー ト に関連付けられたさ まざまなタ イムアウ ト があ り ます。 コアは、 タ イムアウ ト を設定できない RecoverySpeed_1 LTSSM ステート を除いて、 シ ミ ュレーシ ョ ンで 256 の係数でこれらのタイムアウ ト を設定します。

波形ダンピング

シ ミ ュレータ波形のダンピングの詳細は、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900)[参照 12] を参照して ください。

出力のログ

テス トベンチはメ ッセージを出力し、シ ミ ュレーシ ョ ン ログに記録されます。このログには次のものが発生した時間が記録されています。

• user_reset がディアサート された時間

• user_lnk_up がアサート された時間

• cfg_done がコンフ ィギュレーターによ りアサート された時間

• pio_test_finished が PIO マスターによ りアサート された時間

• シミ ュレーショ ン タイムアウ ト (pio_test_finished または pio_test_failed がアサート されなかった場合)

Page 224: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 224PG156 2016 年 8 月 18 日

付録 A

移行およびアップグレードこの付録には、 新版の IP コアへのアップグレードに関する情報が記載されています。 Vivado® Design Suite でアップグレードする場合のポート変更およびユーザーロジッ クへの影響といった重要な情報もこ こに記載されています。

Vivado Design Suite への移行Vivado Design Suite への移行方法については、『ISE から Vivado Design Suite への移行ガイ ド』 (UG911) [参照 13] を参照してください。

Vivado Design Suite でのアップグレードこのセクシ ョ ンでは、Vivado Design Suite でこの IP コアの 新版にアップグレードする際の、ユーザー ロジッ クおよびポートの変更について説明します。

パラメーターの変更点

図 A-1 に、 新版コアのパラ メーターの変更点をまとめています。

表 A-1 : パラメーターの変更点

# ユーザー パラメーター名 表示名

新規/変更/削除

詳細 デフォルト値

1 silicon_rev [Silicon Revision] 削除

必要な く なったため削除されたパラメーターです。 このシ リ コン リ ビジ ョン オプシ ョ ンは Vivado GUI から選択する必要があ り ます。

該当なし

2RM_PPM_OFFSET

[PPM offset between receiverand transmitter] 新規

受信データ と送信データ間におけるPPM のオフセッ ト を指定します。

0

3 RM_SSC_PPM [Spread spectrum clocking] 新規PPM でのスペク ト ラム拡散クロ ッ クの変調を指定します。

0

4 INS_LOSS_NYQ[Insertion loss at Nyquist (dB)] 新規

ナイ キス ト 周波数での ト ラ ン ス ミ ッターからレシーバーの挿入ロスを示します (dB)。

20

5mcap_enablement

[Tandem Configuration] 新規利用可能な Tandem コンフ ィ ギュレーシ ョ ンを有効にします。

None

Page 225: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 225PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

ポートの変更点

図 A-2 のポートは、 [GT Channel DRP] オプシ ョ ンが TRUE に設定されている場合に有効になり ます。

図 A-3 のポートは、 [Tandem Configuration] オプシ ョ ンが None 以外に設定されている場合に有効になり ます。

6en_ext_ch_gt_drp

[GT Channel DRP] 新規オンの場合、GT チャネル DRP インターフェイスが有効になり ます。

False

7ext_startup_primitive

[Use an external STARTUP primitive] 新規

オンになっていない場合は、TPROM または TPCIe が選択されている場合に IP内部に STARTUP ブロ ッ クが生成されます。

False

8en_gt_selection

[Enable GT Quad Selection] 新規オンの場合、異なる PCIE ブロ ッ ク用に異なる GTH クワ ッ ドを選択する機能が有効になり ます。

False

9 select_quad [GT Quad] 新規対象となる有効な GTH クワ ッ ドを示します。

GTH_Quad_224

表 A-1 : パラメーターの変更点 (続き)

# ユーザー パラメーター名 表示名

新規/変更/削除

詳細 デフォルト値

表 A-2 : [GT Channel DRP] オプシ ョ ンで有効になるポート

ポート 方向 幅

ext_ch_gt_drpaddr I 72 ビッ ト

ext_ch_gt_drpen I 8 ビッ ト

ext_ch_gt_drpdi I 128 ビッ ト

ext_ch_gt_drpdo O 128 ビッ ト

ext_ch_gt_drprdy O 8 ビッ ト

ext_ch_gt_drpwe I 8 ビッ ト

表 A-3 : [Tandem Configuration] オプシ ョ ンで有効になるポート

ポート 方向 幅

cap_gnt I 2 ビッ ト

cap_rel I 1 ビッ ト

cap_req O 1 ビッ ト

Page 226: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 226PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

7 シリーズ Gen2 コアから UltraScale アーキテクチャ ベースの Gen3 コアへの移行このセクシ ョ ンでは、 7 シ リーズ Gen2 コアから UltraScale® アーキテクチャ ベース Gen3 コアへの移行ガイ ドを提供します。

注記 : 7 シ リーズ Gen3 コアのインターフェイスは、 UltraScale アーキテクチャ ベース Gen3 コアのインターフェイスと同じです。

図 1-1 に、 AXI4 Streaming TX および RX インターフェイスを示します。

PCIe 3.1 AXI4 ST 強化型インターフェイス

コンプリーター リクエスト (CQ) インターフェイス

m_axis_rx_tstrb (64 ビッ ト インターフェイス専用)

表 A-5 に、 m_axis_rx_tstrb 信号バスの生成に使用される CR インターフェイス信号を示します。

表 A-4 : AXI-4 ST の基本的な受信インターフェイスと AXI4-ST の強化型 CQ インターフェイスの信号マッピング

AXI4-Stream (基本) 受信インターフェイス名

AXI4-Stream (強化型) CQ インターフェイス名

異なる点

m_axis_rx_tlast m_axis_cq_tlast なし

m_axis_rx_tdada(64/128)

m_axis_cq_tdata(64/128/256)

なし

m_axis_rx_tvalid m_axis_cq_tvalid なし

m_axis_rx_tready m_axis_cq_tready なし

m_axis_rx_tstrb m_axis_cq_tkeep およびm_axis_cq_tuser

「m_axis_rx_tstrb (64 ビッ ト インターフェイス専用)」 参照

m_axis_rx_tuser m_axis_cq_tuser および

m_axis_cq_tdata (ディ スク リプター )「m_axis_rx_tuser」 参照

rx_np_ok 同等信号なし N/A

rx_np_req pcie_cq_np_req なし

同等信号なし pcie_cq_np_req_count N/A

表 A-5 : m_axis_rx_tstrb の CR インターフェイス信号

AXI4-Stream (強化型) CQ インターフェイス名 ニーモニック

m_axis_cq_tkeep (データ幅/32)

m_axis_cq_tuser[3:0] first_be [3:0]

m_axis_cq_tuser[7:4] last_be [3:0]

m_axis_cq_tuser[39:8] byte_en [31:0]

Page 227: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 227PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

m_axis_rx_tuser

表 A-6 に、 m_axis_rx_tuser 信号バスの生成に使用される CR インターフェイス信号を示します。

AXI4-Stream リクエスター コンプリーシ ョ ン (RC) インターフェイス

ユーザー ロジッ クで生成された リ クエス ト に対するコンプ リーシ ョ ンは、 リ クエス ト コンプ リーシ ョ ン (RC) インターフェイスに現れます。

表 A-6 : m_axis_rx_tuser の CR インターフェイス信号

AXI4-Stream (基本) 受信インターフェイス名

ニーモニックAXI4-Stream (強化型)

CQ インターフェイス名ニーモニック 注記

m_axis_rx_tuser[0] rx_ecrc_err m_axis_cq_tuser[41] Discontinue まったく同等とは言えない

m_axis_rx_tuser[1] rx_err_fwd 同等信号なし N/A N/A

m_axis_rx_tuser[9:2] rx_bar_hit[7:0] m_axis_cq_tdata[114:112]m_axis_cq_tdata[78:75]

Bar ID [2:0]Request Type [3:0]

• 128/256 ビッ ト インターフェイス と して仮定

• データ バス上にディ スク リプターが存在する場合のみ有効 (sop = 1)

m_axis_rx_tuser[14:10]

(128 ビッ トのみ)

rx_is_sof[4:0] m_axis_cq_tuser[40] sop m_axis_rx_tuser[13:10] はすべて 0 に接続可能

m_axis_rx_tuser[21:17]

(128 ビッ トのみ)

rx_is_eof [4:0] m_axis_cq_tlastm_axis_cq_tuser[39:8]

byte_en[31:0]

同等信号なし m_axis_cq_tuser[10:8] addr_offset[2:0]

同等信号なし m_axis_cq_tuser[12] tph_present

同等信号なし m_axis_cq_tuser[14:13] tph_type[1:0]

同等信号なし m_axis_cq_tuser[15] tph_indirect_tag_en

同等信号なし m_axis_cq_tuser[23:16] tph_st_tag[7:0]

同等信号なし m_axis_cq_tuser[27:24] seq_num[3:0]

同等信号なし m_axis_cq_tuser[59:28] parity

表 A-7 : AXI4-Stream RC インターフェイス信号のマッピング

AXI4-Stream (基本) 受信インターフェイス名

AXI4-Stream (強化型) RC インターフェイス名

異なる点

m_axis_rx_tlast m_axis_rc_tlast なし

m_axis_rx_tdada(64/128)

m_axis_rc_tdata(64/128/256)

なし

m_axis_rx_tvalid m_axis_rc_tvalid なし

m_axis_rx_tready m_axis_rc_tready なし

m_axis_rx_tstrb m_axis_rc_tkeep およびm_axis_rc_tuser

「m_axis_rx_tstrb (64 ビッ ト インターフェイス専用)」 参照

Page 228: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 228PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

m_axis_rx_tstrb (64 ビッ ト インターフェイス専用)

表 A-8 に、 m_axis_rx_tstrb 信号バスの生成に使用される リ クエスター コンプリーシ ョ ン インターフェイス信号を示します。

m_axis_rx_tuser

表 A-9 に、 m_axis_rx_tuser 信号バスの生成に使用される リ クエスター コンプリーシ ョ ン インターフェイス信号を示します。

m_axis_rx_tuserm_axis_rc_tuser および

m_axis_rc_tdata (ディ スク リプター )

「m_axis_rx_tuser」 参照

rx_np_ok 同等信号なし N/A

rx_np_req 同等信号なしcq_np_req および cq_np_req_count が NP FC で使用される

表 A-8 : m_axis_rx_tstrb の RC インターフェイス信号

AXI4-Stream (強化型) RC インターフェイス名 ニーモニック

m_axis_rc_tkeep (データ幅/32)

m_axis_rc_tuser[31:0] byte_en [31:0]

表 A-7 : AXI4-Stream RC インターフェイス信号のマッピング (続き)

AXI4-Stream (基本) 受信インターフェイス名

AXI4-Stream (強化型) RC インターフェイス名

異なる点

表 A-9 : m_axis_rx_tuser の RC インターフェイス信号

AXI4-Stream 受信インターフェイス名

ニーモニックAXI4-Stream コンプリーター

リクエスト インターフェイス名ニーモニック 注記

m_axis_rx_tuser[0] rx_ecrc_err m_axis_rc_tuser[41] Discontinue ま った く 同等 と は言えない

m_axis_rx_tuser[1] rx_err_fwd m_axis_rx_tdata[46] Poisoned Completion

データ バス上にディ スクリプターが存在する場合のみ有効 (is_sof0/is_sof1=1)

m_axis_rx_tuser[9:2] rx_bar_hit[7:0] N/A (CQ インターフェイスを参照)

N/A N/A

m_axis_rx_tuser[14:10]

(128 ビッ トのみ)

rx_is_sof[4:0] m_axis_rc_tuser[32]m_axis_rc_tuser[33]

(256 ビッ トでス ト ラ ドルが有効な場合のみ)

is_sof_0is_sof_1

• 256 ビッ ト RC インターフェイスにはス ト ラ ドル オプシ ョ ンがあ り ます。 このオプシ ョ ンを有効にする と、 コアは、同じビート内に 2 つのコンプリーシ ョ ン TLP をス ト ラ ドルできます。

• is_sof_1 は、 256 ビッ ト インターフェイスでスト ラ ドル オプシ ョ ンが有効な場合のみ使用されます。

Page 229: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 229PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

AXI4-Stream (強化型) コンプリーター コンプリーシ ョ ンインターフェイス

s_axis_tx_tstrb

Byte Count Descriptor (s_axis_cc_tdata[28:16]) と s_axis_cc_tkeep を併用し、 ペイロードの 後の Dword に対してバイ トイネーブルを示します。

表 A-11 に、 tlast がアサー ト されない場合のコ ンプ リ ーター コ ンプ リ ーシ ョ ン イ ン ターフ ェ イ スか らのs_axis_cc_tkeep と AXI4-Stream (基本) 送信インターフェイスからの s_axis_tx_tstrb 信号バスのマッピングを示します。

m_axis_rx_tuser[21:17]

(128 ビッ トのみ)

rx_is_eof [4:0] m_axis_rc_tuser[37:34]m_axis_rx_tuser[41:38]

(256 ビッ トでス ト ラ ドルが有効な場合のみ)

Is_eof_0[3:0]Is_eof_1[3:0]

is_eof_1 は、 256 ビッ ト インターフェイスでス ト ラドル オプシ ョ ンが有効な場合のみ使用されます。

同等信号なし m_axis_rc_tuser[74:43] Parity

表 A-9 : m_axis_rx_tuser の RC インターフェイス信号 (続き)

AXI4-Stream 受信インターフェイス名

ニーモニックAXI4-Stream コンプリーター

リクエスト インターフェイス名ニーモニック 注記

表 A-10 : AXI-4 Stream (基本) の送信インターフェイスと AXI4-Stream (強化型) のコンプリーター コンプリーシ ョ ンインターフェイスの信号マッピング

AXI4-Stream (基本) 送信インターフェイス名

AXI4-Stream (強化型) コンプリーター コンプリーシ ョ ンインターフェイス名

異なる点

s_axis_tx_tlast s_axis_cc_tlast なし

s_axis_tx_tdada (64/128) s_axis_cc_tdata (64/128/256) なし

s_axis_tx_tvalid s_axis_cc_tvalid なし

s_axis_tx_tready s_axis_cc_tready なし

s_axis_tx_tstrbs_axis_cc_tkeep

s_axis_cc_tdata[28:16]「s_axis_tx_tstrb」 参照

s_axis_tx_tuser s_axis_cc_tuser 「s_axis_tx_tuser」 参照

tx_buf_av[5:0]

tx_terr_drop

tx_cfg_req NA なし

tx_cfg_gnt NA なし

表 A-11 : s_axis_cc_tkeep と s_axis_tx_tstrb のマッピング

インターフェイス幅 s_axis_tx_tstrb s_axis_cc_tkeep

640x0F 0x1

0xFF 0x3

128

0x0F 0x1

0xFF 0x3

0xFFF 0x7

0xFFFF 0xF

Page 230: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 230PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

s_axis_tx_tuser

表 A-12 に、 コンプリーター コンプ リーシ ョ ンインターフェイスからの s_axis_cc_tuser と AXI4-Stream (基本) 送信インターフェイスからの s_axis_tx_tuser 信号バスのマッピングを示します。

AXI4-Stream リクエスター リクエスト インターフェイス

s_axis_tx_tstrb

表 A-14 に、 s_axis_tx_tstrb 信号バスの生成に使用される リ クエスター リ クエス ト インターフェイス信号を示します。

表 A-12 : s_axis_cc_tkeep と s_axis_tx_tstrb のマッピング

AXI4-Stream (基本) 受信インターフェイス名

ニーモニックAXI4-Stream (強化型)

コンプリーター リクエスト インターフェイス名

ニーモニック 注記

s_axis_tx_tuser[0] tx_ecrc_gen s_axis_cc_tdata[95] Force ECRC 同等機能

s_axis_tx_tuser[1] tx_err_fwd s_axis_cc_tdata[46] Poisoned completion

同等機能

s_axis_tx_tuser[2] tx_str NA NA 同等信号なし

s_axis_tx_tuser[2] t_src_dsc s_axis_cc_tuser[0] Discontinue 同等機能

表 A-13 : AXI-4 Stream リクエスター リクエスト インターフェイス信号のマッピング

AXI4-Stream (基本) 送信インターフェイス名

AXI4-Stream (強化型) リクエスター リクエスト インターフェイス名

異なる点

s_axis_tx_tlast s_axis_rq_tlast なし

s_axis_tx_tdada(64/128)

s_axis_rq_tdata(64/128/256)

なし

s_axis_tx_tvalid s_axis_rq_tvalid なし

s_axis_tx_tready s_axis_rq_tready なし

s_axis_tx_tstrb s_axis_rq_tkeep 「s_axis_tx_tstrb」 参照

s_axis_tx_tuser s_axis_rq_tuser 「s_axis_tx_tuser」 参照

tx_buf_av[5:0]pcie_tfc_nph_av /pcie_tfc_npd_av/pcie_rq_tag_av

「tx_buf_av」 参照

tx_terr_drop

tx_cfg_req NA この機能は存在しない

tx_cfg_gnt NA この機能は存在しない

表 A-14 : m_axis_rx_tuser のリクエスター リクエスト インターフェイス信号

AXI4-Stream (強化型) リクエスター リクエスト インターフェイス名 ニーモニック

s_axis_rq_tkeep

s_axis_rq_tuser[3:0] first_be [3:0]

s_axis_rq_tuser[7:4] last_be [3:0]

Page 231: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 231PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

表 A-15 に、 tlast がアサー ト されない場合のコ ンプ リ ーター コ ンプ リ ーシ ョ ン イ ン ターフ ェ イ スか らのs_axis_cc_

tkeep と AXI4-Stream (基本) 送信インターフェイスからの s_axis_tx_tstrb 信号バスのマッピングを示します。

s_axis_tx_tuser

表 A-16 に、 リ クエスター リ クエス ト インターフェイスからの s_axis_rq_tuser と AXI4-Stream (基本) 送信インターフェイスからの s_axis_tx_tuser 信号バスのマッピングを示します。

tx_buf_av

バッファーの利用可否は、 AXI4-Stream (強化型) リ クエスター リ クエス ト インターフェイス用の 3 つの個別信号に分かれています。

• pcie_tfc_nph_av は、 コアの送信側においてノンポステッ ド TLP 用に現在有効なヘッダー クレジッ ト を示します。

• pcie_tfc_npd_av は、 コアの送信側においてノンポステッ ド TLP 用に現在有効なペイロード クレジッ ト を示します。

• pcie_rq_tag_av は、 コアの送信側においてノンポステッ ド TLP 用に現在有効なヘッダー クレジッ ト を示します。

表 A-15 : s_axis_cc_tkeep と s_axis_tx_tstrb のマッピング

インターフェイス幅 s_axis_tx_tstrb s_axis_rq_tkeep

640x0F 0x1

0xFF 0x3

128

0x0F 0x1

0xFF 0x3

0xFFF 0x7

0xFFFF 0xF

表 A-16 : s_axis_rq_tuser と s_axis_tx_tuser のマッピング

AXI4-Stream (基本) 受信インターフェイス名

ニーモニックAXI4-Stream (強化型)

リクエスター リクエスト インターフェイス名

ニーモニック 注釈

s_axis_tx_tuser[0] tx_ecrc_gen s_axis_rq_tdata[127] Force ECRC 同等機能

s_axis_tx_tuser[1] tx_err_fwd s_axis_rq_tdata[79] Poisoned Request

同等

機能

s_axis_tx_tuser[2] tx_str NA NA 同等信号なし

s_axis_tx_tuser[2] t_src_dsc s_axis_rq_tuser[11] Discontinue 同等

機能

Page 232: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 232PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

その他のインターフェイス

表 A-17 では、 コアが提供するその他のインターフェイスについて説明しています。

表 A-17 : コアが提供するその他のインターフェイス

インターフェイス 説明 注記

Transmit Flow Control (送信フロー制御)

コアが提供するフロー制御情報を要求するためにユーザーアプリ ケーシ ョ ンが使用します。

コアへのフロー制御入力の設定に基づいて、 このインターフェイスはユーザー アプリ ケーシ ョ ンに次を提供します。

• ポステッ ド /ノンポステッ ド ヘッダー フロー制御クレジット

• ポステッ ド /ノンポステッ ド データ フロー制御クレジッ ト

• コンプリーシ ョ ン ヘッダー フロー制御クレジッ ト

• コンプリーシ ョ ン データ フロー制御クレジッ ト

類似機能

Configuration Management (コンフ ィギュレーシ ョ ン管理)

コンフ ィ ギュレーシ ョ ン空間レジスタの読み出しおよび書き込みに使用します。

類似機能

Configuration Status (コンフ ィギュレーシ ョ ン ステータス)

コアのコンフ ィギュレーシ ョ ン状況を示す情報 (ネゴシエート された リ ン ク幅やスピード、 コアの電力ステー ト、 コンフ ィギュレーシ ョ ン エラー ) を提供します。

コンフ ィギュレーシ ョ ン専用レジスタのポー ト と類似機能

Configuration Received Message (コンフ ィギュレーシ ョ ン受信メ ッセージ)

リ ンクからのデコード可能なメ ッセージ、 データに関連するパラ メーター、受信されたメ ッセージ タイプのロジッ クを示します。

受信 メ ッ セージ TLP のステータス ポート と類似機能

Configuration Transmit Message (コンフ ィギュレーシ ョ ン送信メ ッセージ)

ユーザー アプ リ ケーシ ョ ンがコアへメ ッセージを送信する場合に使用されます。ユーザー アプリ ケーシ ョ ンが送信メ ッセージ タ イプとデータ情報をコアへ提供し、 それに対してDone 信号で応えます。

Per Function Status (ファンクシ ョ ンごとのステータス)

選択したファンクシ ョ ンを介して、ユーザー アプリ ケーシ ョンからの リ クエス ト を受けてステータス データを提供します。

エラー レポーティング ポート と類似機能

Configuration Control (コンフ ィギュレーシ ョ ン制御)

ユーザー アプ リ ケーシ ョ ン と コア間でさまざまな情報を送受信可能にします。 ユーザー アプ リ ケーシ ョ ンはこのインターフェイスを使用して次を行います。

• コンフ ィギュレーシ ョ ン空間の設定

• 修正可能/修正不可能なエラーの有無

• デバイスのシ リ アル番号の設定

• ダウンス ト リーム バス、デバイス、およびファンクシ ョ ン番号の設定

• ファンクシ ョ ンご とのコンフ ィギュレーシ ョ ン情報の受信

また、 このインターフェイスは、 電力ステートが変更されたり、 ファンクシ ョ ン レベルのリセッ トが生じた場合に、ユーザー アプ リ ケーシ ョ ン と コア間のハン ドシェイ クを実行します。

パワー マネージ メ ン トポート と類似機能

Configuration Interrupt Controller (コンフ ィギュレーシ ョ ン割り込みコン ト ローラー )

ユーザー アプリ ケーシ ョ ンがレガシ PCIe 割り込み、 MSI 割り込み、 または MSI-X 割り込みをセッ トできます。 コアは、送信されたコンフ ィ ギュレーシ ョ ン割り込みに割り込みステータス、 およびエラー信号を提供します。

割 り 込みの生成およびステータス ポート と類似機能

Configuration Extended (コンフ ィギュレーシ ョ ン拡張)

外部にコンフ ィギュレーシ ョ ン レジスタが実装されている場合、コアがコンフ ィギュレーシ ョ ン情報をユーザー アプリケーシ ョ ンへ送信するこ とが可能になり ます。

Received Configuration TLP のステータス ポート と類似機能

Page 233: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 233PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

UltraScale アーキテクチャ PCI Express デザインのパッケージ移行UltraScale アーキテクチャは、 同じパッケージ フッ トプ リ ン ト を共有する多くのデバイスを提供しています。 この移行パスによって、デバイス間でのデザインの移行が簡単に行えるため、デザイン サイズの変更が可能になり、 またより多くの DSP ブロ ッ クが必要になる場合は Virtex® から Kintex® へ移行するなど、 特定の機能を充実させるこ とが可能になり ます。

ほとんどの PCI Express コンフ ィギュレーシ ョ ンは 1 つのパッケージで簡単に移行できますが、 特定 PCI Express インプリ メンテーシ ョ ンの移行が不可能なデザインおよび設定もあ り ます。 このセクシ ョ ンでは、 デバイス間で自由に移行できる PCI Express デザインの作成方法を説明する と同時に、 移行できないピンの割り当てについても説明します。

UltraScale ファ ミ リ用の総合的なピンの割り当て方法の詳細は、『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583) [参照 7] を参照してください。

配置規則

Vivado IP カタログから提供される UltraScale Architecture Gen3 Integrated Block for PCIe ソ リ ューシ ョ ンには、タイ ミ ング ク ロージャを達成させるためにいくつかの配置制約があ り ます。PCI Express ソ リ ューシ ョ ンをパッケージ間で移行する際には、 次の 2 つの規則があ り ます。

• 規則 #1 – PCIe インターフェイスのレーン 0 は、 PCI Express ハード ブロ ッ ク よ り 1 ク ロ ッ ク領域上、 同じクロ ック領域、 または 1 ク ロ ッ ク領域下の GTH クワ ッ ドに制限されます。 8 レーンの PCI Express が使用される場合は、GTH クワ ッ ドを隣接するクワッ ドに配置する必要があ り ます。

• 規則 #2 – 相互接続されている PCIe ブロッ ク と GTH ト ランシーバーは、 同じ SLR (Super Logic Region) 内に配置する必要があ り ます。

これらの 2 つの規則については、 次のセクシ ョ ンで詳し く説明します。

GTH の位置

Vivado IDE で生成した PCI Express コアを使用する場合、ザイ リ ンクスは特定の PCI Express ブロ ッ クに対して GTH の位置を推奨しています。 GHT の位置は変更できますが、 その場合、 タイ ミ ング ク ロージャの達成を保証できません。

Vivado 2014.3 ツールのリ リース以降、デザインで使用する GT の位置をよ り柔軟に選択できるよ うにな り ました。ユーザーは次を選択できます。

• PCIe ブロ ッ クの位置、 およびレーン 1 が配置されている GTH クワ ッ ドの位置

• GT クワ ッ ドの位置 (PCIe ブロッ ク よ り 1 ク ロ ッ ク領域上、 同じ領域、 または 1 ク ロ ッ ク領域下)

クワ ッ ドの位置を選択する と、残りの GHT の位置は選択した リ ンク幅に基づいて制約されます。利用可能な GTH は、SLR の境界や結合されていない GT の影響を受けます。 x8 リ ンク幅が選択されている場合、 使用する 2 つの GTH は隣接配置する必要があ り ます。

Page 234: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 234PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

図 A-1 では、 x8 PCIe リ ンク幅の場合に、 それぞれの 初の GTH クワ ッ ドの位置にどのよ うにレーンが配置されているかを示しています。

X-Ref Target - Figure A-1

図 A-1 : GTH クワッ ドの位置

Page 235: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 235PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

スタ ッ ク ド シリコン インターコネク ト (SSI) デバイス

SSI デバイスを使用する場合、 PCI Express ハード ブロ ッ クおよびこのブロ ッ クに接続された GTH ク ワ ッ ドは、 同じSRL (Super Logic Region) に配置する必要があ り ます。

図 A-2 に、 A2377 パッケージの XCVU125 デバイスを示します。 ロケーシ ョ ン Y2 の PCIe ブロ ッ クがバンク 228 のGTH を選択するこ とは、 SLR 境界を超えてしま うため不可能です。

X-Ref Target - Figure A-2

図 A-2 : A2377 パッケージの XCVU125 デバイス

Page 236: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 236PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

PCI Express 用移行プランの作成

配置規則を考慮した上で、 次のよ うに PCI Express のパッケージ移行プランを立てるこ とができます。

1. 図 A-3 の例で示すよ うに D1517 パッケージのデバイスなど、 移行するデバイス とパッケージを選択します。

2. 任意の PCI Express のリ ンク幅を選択します。

3. その PCI Express ロケーシ ョ ンに対して GTH ロケーシ ョ ンをどのよ うに移行すべきかを検証します。

4. SLR 境界を超える問題や結合されていないト ランシーバーの問題を認識します。

たとえば、8 レーン幅で、バンク 229 に GTH が配置されている XCVU095 の PCIe ロケーシ ョ ン Y2 は、XCVU125へ移行できません。 これは、 SLR 境界を超え、 規則に違反するためです。 図 A-3 を参照してください。

たとえば、 x8 デザインの場合は Y2 にある PCIe ブロッ ク よ り 1 ク ロ ッ ク領域上の GT クワ ッ ドであれば、 2 つのデバイス間で移行できます。

Page 237: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 237PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

5. 場合によっては、 新しいロケーシ ョ ン制約を生成するために、 IP をコンパイルし直す必要があ り ます。 その場合は、Vivado IDE を使用して、IP の設定で PCI Express のロケーシ ョ ンをアップデート し、その後、コアを生成します。

X-Ref Target - Figure A-3

図 A-3 : 移行の例

Page 238: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 238PG156 2016 年 8 月 18 日

付録 A : 移行およびアップグレード

Tandem コンフ ィギュレーシ ョ ンの移行

同じパッケージの異なるデバイス間で Tandem コンフ ィギュレーシ ョ ン デザインを移行する手順は非常にシンプルです。 タンデム PCIe をサポートする PCI Express ブロ ッ クが選択されているこ とを確認してください。

重要 : タンデム PCIe は、 各デバイスで 1 PCIe ハード ブロ ッ クに対してのみサポート されます。

タンデムをサポートする PCI Express ブロ ッ クのロケーシ ョ ンおよび専用リセッ ト ピンの一覧は、 表 3-2 を参照してください。

Page 239: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 239PG156 2016 年 8 月 18 日

付録 B

コアのピン配置この付録では、この IP コアのデフォルトのピン配置ロケーシ ョ ン一覧を提供します。その他に選択可能なロケーシ ョンについては、 付録 A の 「UltraScale アーキテクチャ PCI Express デザインのパッケージ移行」 を参照してください。

Kintex UltraScale デバイス コアのピン配置表 B-1 に、 Kintex® UltraScale™ デバイス コアのピン配置の一覧を提供します。

表 B-1 : Kintex Ultrascale コアのピン配置

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FBVA676FBVA900

XCKU035XCKU040

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 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

Page 240: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 240PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FFVA1156

XCKU035XCKU040

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 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

XCKU060XCKU075

X0Y0

レーン 0 X1Y7 X1Y7 X1Y7 X1Y7

レーン 1 X1Y6 X1Y6 X1Y6

レーン 2 X1Y5 X1Y5

レーン 3 X1Y4 X1Y4

レーン 4 X1Y3

レーン 5 X1Y2

レーン 6 X1Y1

レーン 7 X1Y0

X0Y1

レーン 0 X1Y15 X1Y15 X1Y15 X1Y15

レーン 1 X1Y14 X1Y14 X1Y14

レーン 2 X1Y13 X1Y13

レーン 3 X1Y12 X1Y12

レーン 4 X1Y11

レーン 5 X1Y10

レーン 6 X1Y9

レーン 7 X1Y8

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 241: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 241PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FFVA1156

(続き )

XCKU040

X0Y2

レーン 0 X0Y19 X0Y19 X0Y19

サポート されないレーン 1 X0Y18 X0Y18

レーン 2 X0Y17

レーン 3 X0Y16

XCKU060XCKU075

レーン 0 X1Y19 X1Y19 X1Y19

サポート されないレーン 1 X1Y18 X1Y18

レーン 2 X1Y17

レーン 3 X1Y16

FFVA1517

XCKU060XCKU075

X0Y0

レーン 0 X1Y7 X1Y7 X1Y7 X1Y7

レーン 1 X1Y6 X1Y6 X1Y6

レーン 2 X1Y5 X1Y5

レーン 3 X1Y4 X1Y4

レーン 4 X1Y3

レーン 5 X1Y2

レーン 6 X1Y1

レーン 7 X1Y0

X0Y1

レーン 0 X1Y15 X1Y15 X1Y15 X1Y15

レーン 1 X1Y14 X1Y14 X1Y14

レーン 2 X1Y13 X1Y13

レーン 3 X1Y12 X1Y12

レーン 4 X1Y11

レーン 5 X1Y10

レーン 6 X1Y9

レーン 7 X1Y8

XCKU060 X0Y2

レーン 0 X1Y19 X1Y19 X1Y19

サポート されないレーン 1 X1Y18 X1Y18

レーン 2 X1Y17

レーン 3 X1Y16

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 242: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 242PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FFVA1517

(続き )XCKU075

X0Y2 (x8) モード

レーン 0 X1Y23 X1Y23 X1Y23 X1Y23

レーン 1 X1Y22 X1Y22 X1Y22

レーン 2 X1Y21 X1Y21

レーン 3 X1Y20 X1Y20

レーン 4 X1Y19

レーン 5 X1Y18

レーン 6 X1Y17

レーン 7 X1Y16

X0Y2 (x4) モード

レーン 0 X1Y19 X1Y19 X1Y19

適用外レーン 1 X1Y18 X1Y18

レーン 2 X1Y17

レーン 3 X1Y16

X0Y3

レーン 0 X1Y35 X1Y35 X1Y35 X1Y35

レーン 1 X1Y34 X1Y34 X1Y34

レーン 2 X1Y33 X1Y33

レーン 3 X1Y32 X1Y32

レーン 4 X1Y31

レーン 5 X1Y30

レーン 6 X1Y29

レーン 7 X1Y28

FFVB1760 XCKU075 X0Y0

レーン 0 X1Y7 X1Y7 X1Y7 X1Y7

レーン 1 X1Y6 X1Y6 X1Y6

レーン 2 X1Y5 X1Y5

レーン 3 X1Y4 X1Y4

レーン 4 X1Y3

レーン 5 X1Y2

レーン 6 X1Y1

レーン 7 X1Y0

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 243: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 243PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FFVB1760

(続き )

XCKU075

(続き )

X0Y1

レーン 0 X1Y15 X1Y15 X1Y15 X1Y15

レーン 1 X1Y14 X1Y14 X1Y14

レーン 2 X1Y13 X1Y13

レーン 3 X1Y12 X1Y12

レーン 4 X1Y11

レーン 5 X1Y10

レーン 6 X1Y9

レーン 7 X1Y8

X0Y2

レーン 0 X1Y23 X1Y23 X1Y23 X1Y23

レーン 1 X1Y22 X1Y22 X1Y22

レーン 2 X1Y21 X1Y21

レーン 3 X1Y20 X1Y20

レーン 4 X1Y19

レーン 5 X1Y18

レーン 6 X1Y17

レーン 7 X1Y16

X0Y3

レーン 0 X1Y31 X1Y31 X1Y31 X1Y31

レーン 1 X1Y30 X1Y30 X1Y30

レーン 2 X1Y29 X1Y29

レーン 3 X1Y28 X1Y28

レーン 4 X1Y27

レーン 5 X1Y26

レーン 6 X1Y25

レーン 7 X1Y24

FLVA1517XCKU100XCKU115

X0Y0

レーン 0 X1Y7 X1Y7 X1Y7 X1Y7

レーン 1 X1Y6 X1Y6 X1Y6

レーン 2 X1Y5 X1Y5

レーン 3 X1Y4 X1Y4

レーン 4 X1Y3

レーン 5 X1Y2

レーン 6 X1Y1

レーン 7 X1Y0

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 244: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 244PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVA1517

(続き )

XCKU100XCKU115

(続き )

X0Y1

レーン 0 X1Y15 X1Y15 X1Y15 X1Y15

レーン 1 X1Y14 X1Y14 X1Y14

レーン 2 X1Y13 X1Y13

レーン 3 X1Y12 X1Y12

レーン 4 X1Y11

レーン 5 X1Y10

レーン 6 X1Y9

レーン 7 X1Y8

X0Y2

レーン 0 X1Y19 X1Y19 X1Y19

サポート されないレーン 1 X1Y18 X1Y18

レーン 2 X1Y17

レーン 3 X1Y16

X0Y3

レーン 0 X1Y27 X1Y27 X1Y27 X1Y27

レーン 1 X1Y26 X1Y26 X1Y26

レーン 2 X1Y25 X1Y25

レーン 3 X1Y24 X1Y24

レーン 4 X1Y23

レーン 5 X1Y22

レーン 6 X1Y21

レーン 7 X1Y20

X0Y4

レーン 0 X1Y35 X1Y35 X1Y35 X1Y35

レーン 1 X1Y34 X1Y34 X1Y34

レーン 2 X1Y33 X1Y33

レーン 3 X1Y32 X1Y32

レーン 4 X1Y31

レーン 5 X1Y30

レーン 6 X1Y29

レーン 7 X1Y28

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 245: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 245PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVD1924XCKU100XCKU115

X0Y0

レーン 0 X1Y7 X1Y7 X1Y7 X1Y7

レーン 1 X1Y6 X1Y6 X1Y6

レーン 2 X1Y5 X1Y5

レーン 3 X1Y4 X1Y4

レーン 4 X1Y3

レーン 5 X1Y2

レーン 6 X1Y1

レーン 7 X1Y0

X0Y1

レーン 0 X1Y15 X1Y15 X1Y15 X1Y15

レーン 1 X1Y14 X1Y14 X1Y14

レーン 2 X1Y13 X1Y13

レーン 3 X1Y12 X1Y12

レーン 4 X1Y11

レーン 5 X1Y10

レーン 6 X1Y9

レーン 7 X1Y8

X0Y3

レーン 0 X1Y31 X1Y31 X1Y31

サポート されないレーン 1 X1Y30 X1Y30

レーン 2 X1Y29

レーン 3 X1Y28

X0Y4

レーン 0 X1Y35 X1Y35 X1Y35

サポート されないレーン 1 X1Y34 X1Y34

レーン 2 X1Y33

レーン 3 X1Y32

X0Y5

レーン 0 X1Y39 X1Y39 X1Y39

サポート されないレーン 1 X1Y38 X1Y38

レーン 2 X1Y37

レーン 3 X1Y36

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 246: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 246PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVF1924FLVD1517

XCKU100XCKU115

X0Y0

レーン 0 X1Y7 X1Y7 X1Y7 X1Y7

レーン 1 X1Y6 X1Y6 X1Y6

レーン 2 X1Y5 X1Y5

レーン 3 X1Y4 X1Y4

レーン 4 X1Y3

レーン 5 X1Y2

レーン 6 X1Y1

レーン 7 X1Y0

X0Y1

レーン 0 X1Y15 X1Y15 X1Y15 X1Y15

レーン 1 X1Y14 X1Y14 X1Y14

レーン 2 X1Y13 X1Y13

レーン 3 X1Y12 X1Y12

レーン 4 X1Y11

レーン 5 X1Y10

レーン 6 X1Y9

レーン 7 X1Y8

X0Y2

レーン 0 X1Y19 X1Y19 X1Y19

サポート されないレーン 1 X1Y18 X1Y18

レーン 2 X1Y17

レーン 3 X1Y16

X0Y3

レーン 0 X1Y27 X1Y27 X1Y27 X1Y27

レーン 1 X1Y26 X1Y26 X1Y26

レーン 2 X1Y25 X1Y25

レーン 3 X1Y24 X1Y24

レーン 4 X1Y23

レーン 5 X1Y22

レーン 6 X1Y21

レーン 7 X1Y20

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 247: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 247PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVF1924FLVD1517

(続き )

XCKU100XCKU115

(続き )

X0Y4

レーン 0 X1Y35 X1Y35 X1Y35 X1Y35

レーン 1 X1Y34 X1Y34 X1Y34

レーン 2 X1Y33 X1Y33

レーン 3 X1Y32 X1Y32

レーン 4 X1Y31

レーン 5 X1Y30

レーン 6 X1Y29

レーン 7 X1Y28

X0Y5

レーン 0 X1Y39 X1Y39 X1Y39

サポート されないレーン 1 X1Y38 X1Y38

レーン 2 X1Y37

レーン 3 X1Y36

FLVB1760XCKU100XCKU115

X0Y0

レーン 0 X1Y7 X1Y7 X1Y7 X1Y7

レーン 1 X1Y6 X1Y6 X1Y6

レーン 2 X1Y5 X1Y5

レーン 3 X1Y4 X1Y4

レーン 4 X1Y3

レーン 5 X1Y2

レーン 6 X1Y1

レーン 7 X1Y0

X0Y1

レーン 0 X1Y15 X1Y15 X1Y15 X1Y15

レーン 1 X1Y14 X1Y14 X1Y14

レーン 2 X1Y13 X1Y13

レーン 3 X1Y12 X1Y12

レーン 4 X1Y11

レーン 5 X1Y10

レーン 6 X1Y9

レーン 7 X1Y8

X0Y2

レーン 0 X1Y19 X1Y19 X1Y19

サポート されないレーン 1 X1Y18 X1Y18

レーン 2 X1Y17

レーン 3 X1Y16

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 248: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 248PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVB1760

(続き )

XCKU100XCKU115

(続き )

X0Y3

レーン 0 X1Y31 X1Y31 X1Y31 X1Y31

レーン 1 X1Y30 X1Y30 X1Y30

レーン 2 X1Y29 X1Y29

レーン 3 X1Y28 X1Y28

レーン 4 X1Y27

レーン 5 X1Y26

レーン 6 X1Y25

レーン 7 X1Y24

X0Y4

レーン 0 X1Y35 X1Y35 X1Y35

サポート されないレーン 1 X1Y34 X1Y34

レーン 2 X1Y33

レーン 3 X1Y32

X0Y5

レーン 0 X1Y39 X1Y39 X1Y39

サポート されないレーン 1 X1Y38 X1Y38

レーン 2 X1Y37

レーン 3 X1Y36

FLVA2104 XCKU115

X0Y0

レーン 0 X1Y7 X1Y7 X1Y7 X1Y7

レーン 1 X1Y6 X1Y6 X1Y6

レーン 2 X1Y5 X1Y5

レーン 3 X1Y4 X1Y4

レーン 4 X1Y3

レーン 5 X1Y2

レーン 6 X1Y1

レーン 7 X1Y0

X0Y1

レーン 0 X1Y15 X1Y15 X1Y15 X1Y15

レーン 1 X1Y14 X1Y14 X1Y14

レーン 2 X1Y13 X1Y13

レーン 3 X1Y12 X1Y12

レーン 4 X1Y11

レーン 5 X1Y10

レーン 6 X1Y9

レーン 7 X1Y8

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 249: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 249PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVA2104

(続き )

XCKU115

(続き )

X0Y3

レーン 0 X1Y31 X1Y31 X1Y31

サポート されないレーン 1 X1Y30 X1Y30

レーン 2 X1Y29

レーン 3 X1Y28

X0Y4

レーン 0 X1Y35 X1Y35 X1Y35

サポート されないレーン 1 X1Y34 X1Y34

レーン 2 X1Y33

レーン 3 X1Y32

X0Y5

レーン 0 X1Y39 X1Y39 X1Y39

サポート されないレーン 1 X1Y38 X1Y38

レーン 2 X1Y37

レーン 3 X1Y36

FLVB2104 XCKU115

X0Y0

レーン 0 X1Y7 X1Y7 X1Y7 X1Y7

レーン 1 X1Y6 X1Y6 X1Y6

レーン 2 X1Y5 X1Y5

レーン 3 X1Y4 X1Y4

レーン 4 X1Y3

レーン 5 X1Y2

レーン 6 X1Y1

レーン 7 X1Y0

X0Y1

レーン 0 X1Y15 X1Y15 X1Y15 X1Y15

レーン 1 X1Y14 X1Y14 X1Y14

レーン 2 X1Y13 X1Y13

レーン 3 X1Y12 X1Y12

レーン 4 X1Y11

レーン 5 X1Y10

レーン 6 X1Y9

レーン 7 X1Y8

X0Y2

レーン 0 X1Y19 X1Y19 X1Y19

サポート されないレーン 1 X1Y18 X1Y18

レーン 2 X1Y17

レーン 3 X1Y16

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 250: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 250PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVB2104

(続き )

XCKU115

(続き )

X0Y3

レーン 0 X1Y27 X1Y27 X1Y27 X1Y27

レーン 1 X1Y26 X1Y26 X1Y26

レーン 2 X1Y25 X1Y25

レーン 3 X1Y24 X1Y24

レーン 4 X1Y23

レーン 5 X1Y22

レーン 6 X1Y21

レーン 7 X1Y20

X0Y4

レーン 0 X1Y35 X1Y35 X1Y35 X1Y35

レーン 1 X1Y34 X1Y34 X1Y34

レーン 2 X1Y33 X1Y33

レーン 3 X1Y32 X1Y32

レーン 4 X1Y31

レーン 5 X1Y30

レーン 6 X1Y29

レーン 7 X1Y28

X0Y5

レーン 0 X1Y39 X1Y39 X1Y39

サポート されないレーン 1 X1Y38 X1Y38

レーン 2 X1Y37

レーン 3 X1Y36

表 B-1 : Kintex Ultrascale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 251: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 251PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

Virtex UltraScale デバイス コアのピン配置表 B-2 に、 Kintex® UltraScale デバイス コアのピン配置の一覧を提供します。

表 B-2 : Virtex UltraScale コアのピン配置

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FFVC1517

XCVU065XCVU080XCVU095

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 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

XCVU080XCVU095

X0Y2

レーン 0 X0Y19 X0Y19 X0Y19

サポート されないレーン 1 X0Y18 X0Y18

レーン 2 X0Y17

レーン 3 X0Y16

Page 252: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 252PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FFVA2104XCVU080XCVU095

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 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

X0Y2

レーン 0 X0Y23 X0Y23 X0Y23 X0Y23

レーン 1 X0Y22 X0Y22 X0Y22

レーン 2 X0Y21 X0Y21

レーン 3 X0Y20 X0Y20

レーン 4 X0Y19

レーン 5 X0Y18

レーン 6 X0Y17

レーン 7 X0Y16

X0Y3

レーン 0 X0Y27 X0Y27 X0Y27

サポート されないレーン 1 X0Y26 X0Y26

レーン 2 X0Y25

レーン 3 X0Y24

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 253: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 253PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FFVB2104FFVB1760FFVD1517

XCVU080XCVU095

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 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

X0Y2

レーン 0 X0Y23 X0Y23 X0Y23 X0Y23

レーン 1 X0Y22 X0Y22 X0Y22

レーン 2 X0Y21 X0Y21

レーン 3 X0Y20 X0Y20

レーン 4 X0Y19

レーン 5 X0Y18

レーン 6 X0Y17

レーン 7 X0Y16

X0Y3

レーン 0 X0Y31 X0Y31 X0Y31 X0Y31

レーン 1 X0Y30 X0Y30 X0Y30

レーン 2 X0Y29 X0Y29

レーン 3 X0Y28 X0Y28

レーン 4 X0Y27

レーン 5 X0Y26

レーン 6 X0Y25

レーン 7 X0Y24

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 254: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 254PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FFVC2104 XCVU095

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 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

X0Y2

レーン 0 X0Y23 X0Y23 X0Y23 X0Y23

レーン 1 X0Y22 X0Y22 X0Y22

レーン 2 X0Y21 X0Y21

レーン 3 X0Y20 X0Y20

レーン 4 X0Y19

レーン 5 X0Y18

レーン 6 X0Y17

レーン 7 X0Y16

X0Y3

レーン 0 X0Y31 X0Y31 X0Y31 X0Y31

レーン 1 X0Y30 X0Y30 X0Y30

レーン 2 X0Y29 X0Y29

レーン 3 X0Y28 X0Y28

レーン 4 X0Y27

レーン 5 X0Y26

レーン 6 X0Y25

レーン 7 X0Y24

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 255: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 255PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVB1760 XCVU125

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 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

X0Y2

レーン 0 X0Y31 X0Y31 X0Y31 X0Y31

レーン 1 X0Y30 X0Y30 X0Y30

レーン 2 X0Y29 X0Y29

レーン 3 X0Y28 X0Y28

レーン 4 X0Y27

レーン 5 X0Y26

レーン 6 X0Y25

レーン 7 X0Y24

X0Y3

レーン 0 X0Y39 X0Y39 X0Y39 X0Y39

レーン 1 X0Y38 X0Y38 X0Y38

レーン 2 X0Y37 X0Y37

レーン 3 X0Y36 X0Y36

レーン 4 X0Y35

レーン 5 X0Y34

レーン 6 X0Y33

レーン 7 X0Y32

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 256: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 256PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVA2104 XCVU125

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 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

X0Y2

レーン 0 X0Y35 X0Y35 X0Y35 X0Y35

レーン 1 X0Y34 X0Y34

レーン 2 X0Y33 X0Y33

レーン 3 X0Y32 X0Y32

レーン 4 X0Y31

レーン 5 X0Y30

レーン 6 X0Y29

レーン 7 X0Y28

X0Y3

レーン 0 X0Y39 X0Y39 X0Y39 X0Y39

レーン 1 X0Y38 X0Y38 X0Y38

レーン 2 X0Y37 X0Y37

レーン 3 X0Y36 X0Y36

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 257: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 257PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLVB2104FLVC2104FLVD1517

XCVU125

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 X0Y27 X0Y27 X0Y27 X0Y27

レーン 1 X0Y26 X0Y26 X0Y26

レーン 2 X0Y25 X0Y25

レーン 3 X0Y24 X0Y24

レーン 4 X0Y23

レーン 5 X0Y22

レーン 6 X0Y21

レーン 7 X0Y20

X0Y3

レーン 0 X0Y39 X0Y39 X0Y39 X0Y39

レーン 1 X0Y38 X0Y38 X0Y38

レーン 2 X0Y37 X0Y37

レーン 3 X0Y36 X0Y36

レーン 4 X0Y35

レーン 5 X0Y34

レーン 6 X0Y33

レーン 7 X0Y32

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 258: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 258PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLGA2577 XCVU190

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 X0Y27 X0Y27 X0Y27 X0Y27

レーン 1 X0Y26 X0Y26 X0Y26

レーン 2 X0Y25 X0Y25

レーン 3 X0Y24 X0Y24

レーン 4 X0Y23

レーン 5 X0Y22

レーン 6 X0Y21

レーン 7 X0Y20

X0Y3

レーン 0 X0Y39 X0Y39 X0Y39 X0Y39

レーン 1 X0Y38 X0Y38 X0Y38

レーン 2 X0Y37 X0Y37

レーン 3 X0Y36 X0Y36

レーン 4 X0Y35

レーン 5 X0Y34

レーン 6 X0Y33

レーン 7 X0Y32

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 259: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 259PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLGA2577

(続き )

XCVU190

(続き )

X0Y4

レーン 0 X0Y47 X0Y47 X0Y47 X0Y47

レーン 1 X0Y46 X0Y46 X0Y46

レーン 2 X0Y45 X0Y45

レーン 3 X0Y44 X0Y44

レーン 4 X0Y43

レーン 5 X0Y42

レーン 6 X0Y41

レーン 7 X0Y40

X0Y5

レーン 0 X0Y59 X0Y59 X0Y59 X0Y59

レーン 1 X0Y58 X0Y58 X0Y58

レーン 2 X0Y57 X0Y57

レーン 3 X0Y56 X0Y56

レーン 4 X0Y55

レーン 5 X0Y54

レーン 6 X0Y53

レーン 7 X0Y52

FLGB2104XCVU160XCVU190

X0Y2

レーン 0 X0Y27 X0Y27 X0Y27 X0Y27

レーン 1 X0Y26 X0Y26 X0Y26

レーン 2 X0Y25 X0Y25

レーン 3 X0Y24 X0Y24

レーン 4 X0Y23

レーン 5 X0Y22

レーン 6 X0Y21

レーン 7 X0Y20

X0Y3

レーン 0 X0Y39 X0Y39 X0Y39 X0Y39

レーン 1 X0Y38 X0Y38 X0Y38

レーン 2 X0Y37 X0Y37

レーン 3 X0Y36 X0Y36

レーン 4 X0Y35

レーン 5 X0Y34

レーン 6 X0Y33

レーン 7 X0Y32

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 260: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 260PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLGB2104

(続き )

XCVU160XCVU190

(続き )

X0Y4

レーン 0 X0Y47 X0Y47 X0Y47 X0Y47

レーン 1 X0Y46 X0Y46 X0Y46

レーン 2 X0Y45 X0Y45

レーン 3 X0Y44 X0Y44

レーン 4 X0Y43

レーン 5 X0Y42

レーン 6 X0Y41

レーン 7 X0Y40

X0Y5

レーン 0 X0Y59 X0Y59 X0Y59 X0Y59

レーン 1 X0Y58 X0Y58 X0Y58

レーン 2 X0Y57 X0Y57

レーン 3 X0Y56 X0Y56

レーン 4 X0Y55

レーン 5 X0Y54

レーン 6 X0Y53

レーン 7 X0Y52

FLGC2104XCVU160XCVU190

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 X0Y15 X0Y15 X0Y15

サポート されないレーン 1 X0Y14 X0Y14

レーン 2 X0Y13

レーン 3 X0Y12

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 261: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 261PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLGC2104

(続き )

XCVU160XCVU190

(続き )

X0Y2

レーン 0 X0Y27 X0Y27 X0Y27 X0Y27

レーン 1 X0Y26 X0Y26 X0Y26

レーン 2 X0Y25 X0Y25

レーン 3 X0Y24 X0Y24

レーン 4 X0Y23

レーン 5 X0Y22

レーン 6 X0Y21

レーン 7 X0Y20

X0Y3

レーン 0 X0Y39 X0Y39 X0Y39 X0Y39

レーン 1 X0Y38 X0Y38 X0Y38

レーン 2 X0Y37 X0Y37

レーン 3 X0Y36 X0Y36

レーン 4 X0Y35

レーン 5 X0Y34

レーン 6 X0Y33

レーン 7 X0Y32

X0Y4

レーン 0 X0Y47 X0Y47 X0Y47 X0Y47

レーン 1 X0Y46 X0Y46 X0Y46

レーン 2 X0Y45 X0Y45

レーン 3 X0Y44 X0Y44

レーン 4 X0Y43

レーン 5 X0Y42

レーン 6 X0Y41

レーン 7 X0Y40

X0Y5

レーン 0 X0Y59 X0Y59 X0Y59 X0Y59

レーン 1 X0Y58 X0Y58 X0Y58

レーン 2 X0Y57 X0Y57

レーン 3 X0Y56 X0Y56

レーン 4 X0Y55

レーン 5 X0Y54

レーン 6 X0Y53

レーン 7 X0Y52

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 262: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 262PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLGB2377 XCVU440

X0Y0

レーン 0 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

X0Y1

レーン 0 X0Y19 X0Y19 X0Y19

サポート されないレーン 1 X0Y18 X0Y18

レーン 2 X0Y17

レーン 3 X0Y16

X0Y2

レーン 0 X0Y27 X0Y27 X0Y27 X0Y27

レーン 1 X0Y26 X0Y26 X0Y26

レーン 2 X0Y25 X0Y25

レーン 3 X0Y24 X0Y24

レーン 4 X0Y23

レーン 5 X0Y22

レーン 6 X0Y21

レーン 7 X0Y20

X0Y3

レーン 0 X0Y31 X0Y31 X0Y31

サポート されないレーン 1 X0Y30 X0Y30

レーン 2 X0Y29

レーン 3 X0Y28

X0Y4

レーン 0 X0Y55 X0Y55 X0Y55 X0Y55

レーン 1 X0Y54 X0Y54 X0Y54

レーン 2 X0Y53 X0Y53

レーン 3 X0Y52 X0Y52

レーン 4 X0Y51

レーン 5 X0Y50

レーン 6 X0Y49

レーン 7 X0Y48

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 263: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 263PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLGB2377

(続き )

XCVU440

(続き )X0Y5

レーン 0 X0Y59 X0Y59 X0Y59

サポート されないレーン 1 X0Y58 X0Y58

レーン 2 X0Y57

レーン 3 X0Y56

FLGA2892 XCVU440

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 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

X0Y2

レーン 0 X0Y27 X0Y27 X0Y27 X0Y27

レーン 1 X0Y26 X0Y26 X0Y26

レーン 2 X0Y25 X0Y25

レーン 3 X0Y24 X0Y24

レーン 4 X0Y23

レーン 5 X0Y22

レーン 6 X0Y21

レーン 7 X0Y20

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 264: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 264PG156 2016 年 8 月 18 日

付録 B : コアのピン配置

FLGA2892

(続き )

XCVU440

(続き )

X0Y3

レーン 0 X0Y35 X0Y35 X0Y35 X0Y35

レーン 1 X0Y34 X0Y34 X0Y34

レーン 2 X0Y33 X0Y33

レーン 3 X0Y32 X0Y32

レーン 4 X0Y31

レーン 5 X0Y30

レーン 6 X0Y29

レーン 7 X0Y28

X0Y4

レーン 0 X0Y47 X0Y47 X0Y47 X0Y47

レーン 1 X0Y46 X0Y46 X0Y46

レーン 2 X0Y45 X0Y45

レーン 3 X0Y44 X0Y44

レーン 4 X0Y43

レーン 5 X0Y42

レーン 6 X0Y41

レーン 7 X0Y40

X0Y5

レーン 0 X0Y55 X0Y55 X0Y55 X0Y55

レーン 1 X0Y54 X0Y54 X0Y54

レーン 2 X0Y53 X0Y53

レーン 3 X0Y52 X0Y52

レーン 4 X0Y51

レーン 5 X0Y50

レーン 6 X0Y49

レーン 7 X0Y48

表 B-2 : Virtex UltraScale コアのピン配置 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 265: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 265PG156 2016 年 8 月 18 日

付録 C

受信されるコンプリーションに対する受信バッファー空間の管理

『PCI Express® Base Specification』 [参照 2] では、すべてのエンドポイン トは受信したコンプリーシ ョ ンに対して無限のフロー制御クレジッ ト を リ ンクパートナーに出力するこ とが規定されています。 これは、 エンドポイン トがコンプリーシ ョ ン応答を受け入れるスペースがある場合にのみ、 ノンポステッ ド リ クエス ト を送信する、 という こ とです。こ こでは、 この要件を満たすために、 ユーザー アプ リ ケーシ ョ ンで UltraScale Architecture Gen3 Integrated Block forPCIe コアの受信バッファー空間を管理する方法について説明します。

一般的な注意事項と概念

コンプリーシ ョ ン空間

表 C-1 では、 コアによって予約されている受信バッファーのコンプリーシ ョ ン空間が定義されています。 これらの値は、 コアの Capability Max Payload Size (機能 大のペイロード サイズ) の設定と選択されたパフォーマンス レベルによって異なり ます。 値はクレジッ ト数で、 10 進数で表記されます。

最大リクエスト サイズ

メモ リ読み出しは、 Max_Request_Size で指定された値を超える値は要求できません。 これは、表 C-2 で定義されるよう に、 コ ンフ ィ ギ ュ レーシ ョ ン ビ ッ ト cfg_dcommand[14:12] で指定されます。 ユーザー アプ リ ケーシ ョ ンがMax_Request_Size 値を読み出さない場合は、 デフォルト値の 128 バイ トが使用されます。

表 C-1 : 受信バッファーのコンプリーシ ョ ン空間

Capability Max Payload Size (バイ ト )

パフォーマンス レベル : Good パフォーマンス レベル : High

CPH CPD CPH CPD

128 64 7,936B 64 15,872B

256 64 7,936B 64 15,872B

512 64 7,936B 64 15,872B

1024 64 7,936B 64 15,872B

Page 266: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 266PG156 2016 年 8 月 18 日

付録 C : 受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

読み出しコンプリーシ ョ ンの境界

1 回のメモ リ読み出しには複数のコンプリーシ ョ ンで応答できます。 これらをま とめる と、 要求されたデータがすべて返されます。 パケッ ト ヘッダー オーバーヘッ ドに余裕を持たせるため、 ユーザー アプリ ケーシ ョ ンは、 返される可能性のあるコンプ リーシ ョ ンの 大数分、 スペースを用意しておく必要があ り ます。

このプロセスを簡単にするため、それぞれが自然にアライ メン ト され読み出しコンプリーシ ョ ン境界 (RCB) で開始および終了するよ うに (元のリ クエス トの開始/終了アドレスを提供する場合を除く )、『PCI Express Base Specification』 では、 すべてのコンプ リーシ ョ ン パケッ トの長さを量子化しています。 RCB バイ トの整数倍でのアドレス境界を超える リ クエス トは、複数のコンプリーシ ョ ンを使用して完了できますが、返されるデータは分断されるべきではあ り ません。 それ以外は、 次のアドレス境界に従う必要があ り ます。

• 初のコンプ リーシ ョ ンは、 リ クエス トで指定されたアドレスで開始し、次のいずれかで終了する必要があ り ます。

° リ クエス トで指定されたアドレスで、 リ クエス トで指定された長さ (例 : リ クエス ト全体)

° リ クエス トの開始と終了のアドレス境界 (RCB バイ トの整数倍)。

• 後のコンプ リーシ ョ ンは、 リ クエス トで指定したアドレスで終了し、 リ クエス トで指定した長さになる必要があ り ます。

• すべてのコンプ リーシ ョ ン ( 初と 後を含まない) は、 RCB バイ トの整数倍の長さになる必要があ り ます。

RCB の値は、cfg_rcb_status[1:0] に提供されます。この場合、cfg_rcb_status[0] および cfg_rcb_status[1]は、 Physical Function 0 および 1 にそれぞれ関連付けられています (Per Function Link Control レジスタ [3])。 ユーザーアプリ ケーシ ョ ンがこの RCB 値を読み出さない場合は、 デフォルト値の 64 バイ ト を使用する必要があ り ます。

ノンポステッ ド リ クエス トに必要なコンプリーシ ョ ン クレジッ ト数を計算する際は、 コンプ リーシ ョ ン応答が必要になる可能性のある、 RCB で分けられたブロ ッ ク数を決定します。 これは、 必要なコンプリーシ ョ ン ヘッダー クレジッ トの数と同じです。

表 C-2 : Max_Request_Size の設定

cfg_dcommand[14:12]Max_Request_Size

バイ ト DW QW クレジッ ト

000b 128 32 16 8

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_rcb_status[0] またはcfg_rcb_status[1]

読み出しコンプリーシ ョ ンの境界

バイ ト DW QW クレジッ ト

0 64 16 8 4

1 128 32 16 8

Page 267: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 267PG156 2016 年 8 月 18 日

付録 C : 受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

高性能アプリケーシ ョ ンの重要事項

1 つの リ クエス ト に応答する コンプ リーシ ョ ンの 大数をユーザー アプ リ ケーシ ョ ンが計算する こ とによって、プログラムされた RCB 値を使用できますが、 高性能メモ リ コン ト ローラーには、 大規模な読み出し リ クエスト の応答に際して、 RCB サイズのブロ ッ クを組み合わせてその リ ン クの Max_Payload_Size 値またはそれに近いサイズのコンプ リーシ ョ ンにでき るオプシ ョ ン機能があ り ます。 ホス ト CPU のメモ リ コン ト ローラーでこの機能がサポー ト されている場合は、使用を推奨しています。RCB 値の整数倍 (>1) でのコンプ リーシ ョ ン応答をベース とするデータ送受信の場合、 PCI Express インターフェ イスの使用効率とペイ ロードの効率が非常に高く な り 、またエン ドポイン ト レシーバーのコンプ リーシ ョ ン空間の使用効率も高く な り ます。

コンプリーシ ョ ン空間の管理方法ユーザー アプリ ケーシ ョ ンには、表 C-4 に示す、受信バッファーのコンプ リーシ ョ ン空間を管理する 5 つの方法の中から 1 つを選択できます。 こ こでは、 これらの方法を便宜上 LIMIT_FC、 PACKET_FC、 RCB_FC、 および DATA_FCと呼ぶこ とにします。これらの方法にはそれぞれメ リ ッ ト とデメ リ ッ トがあ り、ユーザー アプリ ケーシ ョ ンを開発する際に考慮する必要があ り ます。

LIMIT_FCLIMIT_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)

表 C-4 : 受信コンプリーシ ョ ン空間の管理方法

方法 説明 メ リ ッ ト デメ リ ッ ト

LIMIT_FC 未処理のノンポステッ ド (NP) リ クエス トの合計数を制限します。

ユーザー ロジッ クでインプ リ メン トする も単純な方法です。

多くのコンプリーシ ョ ン空間が未使用となり ます。

PACKET_FC 未処理の CplH および CplD ク レジッ ト の数を追跡し、 各パケッ トご とにそれを振り分けた り、 振り分けを取り消した り します。

比較的シンプルなユーザーロジッ クで、 LIMIT_FC より もよ り細やかに振り分けが行われるため、 無駄な未使用空間が減少します。

LIMIT_FC と同様、 ノンポステッ ド (NP) リ クエス トのク レジ ッ ト は リ クエスト が完全に満た される まで拘束されます。

RCB_FC 未処理の CplH および CplD クレジッ トの数を追跡し、 各 RCB ごとにそれを振り分けたり、 振り分けを取り消した り します。

クレジッ トの拘束時間は PACKET_FC よ り も短くなり ます。

LIMIT_FC や PACKET_FCよ り も複雑なユーザー ロジッ クになり ます。

DATA_FC 未処理の CplH および CplD クレジッ トの数を追跡し、 各 RCB ごとにそれを振り分けたり、 振り分けを取り消した り します。

空間を も無駄なく使用できます。

LIMIT_FC、 PACKET_FC、RCB_FC よ り も複雑なユーザー ロジッ クにな ります。

Page 268: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 268PG156 2016 年 8 月 18 日

付録 C : 受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

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 = 128B

• RCB = 64B

• CplH = 64

• CplD = 15,872B

• Max_Header_Count = 2

• Max_Packet_Count_CplD = 124

• Max_Packet_Count_CplH = 32

• MAX_NP = 32

この方法はインプ リ メ ン トが も簡単ですが、 実際のリ クエス ト サイズに関係なく コンプ リーシ ョ ン クレジッ トのMax_Request_Size ブロ ッ ク全体が各ノンポステッ ド リ クエス トに割り当てられるので、レシーバーのスペースの無駄が も多くな り ます。 ユーザー アプリ ケーシ ョ ンが短いメモリ読み出し (1 つの DWORD 命令)、 I/O 読み出し、 および I/O 書き込みリ クエス ト を大量に発行する と、 さ らに無駄が多くな り ます。

PACKET_FCPACKET_FC は、 LIMIT_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 書き込みを除く ) [(req_size + 15)/16]

モジュロ (mod) および ceiling ファンクシ ョ ンを使用する と、小数点の RCB またはクレジッ ト ブロ ッ クが丸められます。たとえば、 メモ リ読み出しがアドレス 7Ch から 8 バイ トのデータを要求する と、戻されるデータは 2 つのコンプ リーシ ョ ン パケッ ト と して返される可能性があ り ます (7Ch-7Fh に続いて 80h-83h)。 これには、2 つのRCB ブロッ ク と 2 つのデータ クレジッ トが必要になり ます。

2. 次を確認してください。

CPLH_PENDING + NP_CplH < Total_CplH

CPLD_PENDING + NP_CplD < Total_CplD

3. どちらの不等号式も真である場合、 ノンポステッ ド (NP) リ クエス ト を送信し、 CPLH_PENDING を NP_CplH 分、CPLD_PENDING を NP_CplD 分増やし ます。 送信される NP リ ク エス ト それぞれに対し、 NP_CplH およびNP_CplD を後で使用するために残しておきます。

4. NP リ クエス トに対しすべてのコンプ リーシ ョ ン データが戻されたら、CPLH_PENDING および CPLD_PENDINGをそれぞれデク リ メン ト します。

Page 269: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 269PG156 2016 年 8 月 18 日

付録 C : 受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

この方法の場合は LIMIT_FC よ り も無駄が少なくな り ますが、 NP リ クエス トのコンプ リーシ ョ ン空間はリ クエス ト全体が満たされるまで使用できません。 RCB_FC および DATA_FC を使用する と、 ロジッ クがさ らに必要になり ますが、 さ らに細かく振り分け可能です。

RCB_FCRCB_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 分増やします。

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 書き込み) と一致させる必要があり ます。

Page 270: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 270PG156 2016 年 8 月 18 日

付録 C : 受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

DATA_FCDATA_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 バイ ト ] (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. 入ってく る各コンプ リーシ ョ ンの始め、または自然に揃えられたクレジッ ト境界でコンプリーシ ョ ンが開始あるいはその境界をまたぐ場合、 CPLD_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 271: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 271PG156 2016 年 8 月 18 日

付録 D

デバッグこの付録では、 ザイ リ ンクス サポート ウェブサイ ト よ り入手可能な リ ソースおよびデバッグ ツールについて説明します。

ザイリンクス ウェブサイ トUltraScale Architecture Gen3 Integrated Block for PCIe を使用した設計およびデバッグでヘルプが必要な場合は、ザイ リ ンクス サポート ウェブ ページから製品の資料、 リ リース ノート 、アンサーなどを参照するか、テクニカル サポートでケースを開いてください。

資料

この製品ガイ ドは UltraScale Architecture Gen3 Integrated Block for PCIe に関する主要資料です。 このガイ ド並びに全製品の設計プロセスをサポートする資料はすべて、ザイ リ ンクス サポート ウェブ ページ (http://japan.xilinx.com/support)またはザイ リ ンクスの Documentation Navigator から入手できます。

Documentation Navigator は、 ダウンロード ページ (http://japan.xilinx.com/download) の [デザイン ツール] タブからダウンロードできます。 このツールの詳細および機能は、 インス トール後にオンライン ヘルプを参照して ください。

アンサー

アンサーには、 よ く発生する問題についてその解決方法、およびザイ リ ンクス製品に関する既知の問題などの情報が記載されています。アンサーは、ユーザーが該当製品の 新情報にアクセスできるよ う作成および管理されています。

このコアに関するアンサーの検索には、 ザイ リ ンクス サポート ウェブ ページにある検索ボッ クスを使用します。 より的確な検索結果を得るには、 次のよ うなキーワードを使用してください。

• 製品名

• ツールで表示される メ ッセージ

• 問題の概要

検索結果は、 フ ィルター機能を使用してさ らに絞り込むこ とができます。

MIS に関するマスター アンサー : UltraScale Architecture Gen3 Integrated Block for PCIe

AR : 57945

Page 272: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 272PG156 2016 年 8 月 18 日

付録 D : デバッグ

テクニカル サポート

ザイ リ ン ク スは、 製品資料の説明に従って使用されている LogiCORE™ IP 製品に対するテクニカル サポー ト をjapan.xilinx.com/support で提供しています。資料で定義されていないデバイスにインプリ メン ト した り、許容されている範囲を超えてカスタマイズした り、 あるいは 「DO NOT MODIFY」 と されているデザイン セクシ ョ ンに変更を加えたり した場合、 タイ ミ ング、 機能、 製品サポートは保証されません。

テクニカル サポートへのお問い合わせ方法は、 次のとおりです。

1. http://japan.xilinx.com/support にアクセスします。

2. 「その他のリ ソース」 の下の [ウェブケースを作成] リ ンクをク リ ッ ク し、 ウェブケースを開きます。

ウェブケースを作成する際は、 次の情報を含めてください。

• パッケージおよびデバイス スピード グレードを含むターゲッ ト FPGA の情報

• 該当するすべてのザイ リ ンクス デザイン ツールとシ ミ ュレータのソフ ト ウェア バージ ョ ン

• 問題によっては、ファ イルの追加を求められる場合があ り ます。ウェブケースに含める特定ファイルについては、この資料の関連セクシ ョ ンを参照して ください。

注記 : すべての問題がウェブケースの利用対象になるわけではあ り ません。 ウェブケース ツールにログインしてサポート オプシ ョ ンを確認してください。

Page 273: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 273PG156 2016 年 8 月 18 日

付録 E

その他のリソースおよび法的通知

ザイリンクス リソースアンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照してください。

参考資料次の資料は、 この製品ガイ ドの補足資料と して役立ちます。

注記 : 日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『AMBA AXI4-Stream Protocol Specification』

2. PCI-SIG 仕様 (www.pcisig.com/specifications)

3. 『Virtex-7 FPGA Integrated Block for PCI Express 製品ガイ ド』 (PG023)

4. 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570 : 英語版、 日本語版)

5. 『Kintex UltraScale アーキテクチャ データシート : DC 特性および AC スイ ッチ特性』 (DS892 : 英語版、 日本語版)

6. 『Virtex UltraScale アーキテクチャ データシート : DC 特性および AC スイ ッチ特性』 (DS893 : 英語版、 日本語版)

7. 『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583 : 英語版、 日本語版)

8. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)

9. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994)

10. 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910)

11. 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903)

12. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900)

13. 『ISE から Vivado Design Suite への移行ガイ ド』 (UG911)

14. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)

15. 『ATX Power Supply Design Guide』

Page 274: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 274PG156 2016 年 8 月 18 日

付録 E : その他のリソースおよび法的通知

改訂履歴次の表に、 この文書の改訂履歴を示します。

日付 バージョ ン 内容

2016 年 8 月 18 日 3.1 • 表 2-4、 表 2-6、 表 2-8、 表 2-10 それぞれの 「parity」 信号の説明で、 「偶数パリティ」 を 「奇数パリティ」 に訂正。

2015 年 2 月 23 日 3.1 • デバイス選択および PCIe 統合ブロッ クのロケーシ ョ ン情報をアップデート。

• デバイス コアのピン配置をアップデート。

• PIPE モード シ ミ ュレーシ ョ ンに関する情報を明確化。

• Base Address Register Overview パラ メーター (Vivado IDE) の 32 ビッ ト BAR の大数と 64 ビッ ト BAR の 大数を修正

2014 年 11 月 19 日 3.1 • 「コンフ ィギュレーシ ョ ン空間」セクシ ョ ンに Media Configuration Access Port (MCAP) Extended Capability Structure に関する説明を追加。

• Tandem コンフ ィギュレーシ ョ ンに関する情報をアップデート。

• Cadence Incisive Enterprise Simulator (IES) および Synopsys Verilog Compiler Simulator (VCS) のサポート を追加。

• デバイス コアのピン配置をアップデート。

2014 年 10 月 1 日 3.1 • コア v3.1 に合わせてアップデート。

• Tandem コンフ ィギュレーシ ョ ンに関する情報をアップデート。

• UltraScale アーキテクチャ デザインのパッケージ移行情報を追加。

2014 年 6 月 4 日 3.0 • デバイス情報をアップデート。

2014 年 4 月 2 日 3.0 • ブロ ッ ク セレクシ ョ ンをアップデート。

• コアのピン配置情報をアップデート。

• 共有ロジッ クの情報をアップデート。

2013 年 12 月 18 日 2.0 初版

Page 275: UltraScale Architecture Gen3 Integrated Block for PCI ... · UltraScale Architecture Gen3 Integrated Block for PCI Express v3.1 LogiCORE IP 製品ガイド Vivado Design Suite PG156

Gen3 Integrated Block for PCIe v3.1 japan.xilinx.com 275PG156 2016 年 8 月 18 日

付録 E : その他のリソースおよび法的通知

法的通知The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the maximum extentpermitted by applicable law: (1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES ANDCONDITIONS, 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 connectionwith, 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 suchdamage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes no obligation to correct anyerrors 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 Xilinx's limited warranty,please refer to Xilinx's Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and supportterms 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 applicationrequiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx'sTerms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos.

© Copyright 2013–2015 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brandsincluded herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners.

This document contains preliminary information and is subject to change without notice. Information provided herein relates to products and/orservices not yet available for sale, and provided solely for information purposes and are not intended, or to be construed, as an offer for sale or anattempted commercialization of the products and/or services referred to herein.

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの

右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で

入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受

け付けており ません。 あらかじめご了承ください。