ultrascale devices gen3 integrated block for pci …...ultrascale devices gen3 integrated block for...

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

Upload: others

Post on 12-Mar-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Integrated Block for PCI Express v4.4

LogiCORE IP 製品ガイド

Vivado Design Suite

PG156 2017 年 10 月 4 日

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

Page 2: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 2

PG156 2017 年 10 月 4 日 japan.xilinx.com

目次

IP の概要

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

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

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

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

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

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

デバイスの 低要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

利用可能な PCI Express 用統合ブロッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

GT のロケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

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

属性の説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

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

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

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

ク ロ ッキング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

リセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

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

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

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

受信メ ッセージ インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

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

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

レーン反転 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

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

コアへの制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

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

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

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

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

コアの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

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

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

Page 3: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 3

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

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

付録 A: アップグレードVivado Design Suite でのアップグレード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

7 シ リーズ Gen2 コアから UltraScale デバイス Gen3 コアへの移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

UltraScale デバイスの PCI Express デザインのパッケージ移行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

付録 B: GT のロケーシ ョ ンKintex UltraScale デバイスの GT ロケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

Virtex UltraScale デバイスの GT ロケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

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

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

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

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

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグはじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

ホス ト PC 上の XVC-Server アプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

Host PC 上の XVC-over-PCIe ド ラ イバー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

XVC-over-PCIe に対応した FPGA デザイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

PCIe-XVC-VSEC サンプル デザインの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

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

Documentation Navigator およびデザイン ハブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

お読みください: 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

Page 4: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 4

PG156 2017 年 10 月 4 日 japan.xilinx.com Production 製品仕様

はじめに

ザイ リ ンクスの UltraScale Devices Gen3 Integrated Block for PCIe ソ リ ューシ ョ ン IP コアは、 UltraScale™ デバイスで使用する、 高帯域かつスケーラブルで信頼性の高いシ リ アル インターコネク ト構築ブロ ッ ク ソ リ ューシ ョ ンです。 このコアは、 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 インターフェイスをサポート しています。

機能

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

• リ クエスターと コンプリーターのインターフェイスが分離されており、 デザインの簡素化と性能の向上が可能

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

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

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

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

• 大ペイロード サイズ (MPS): 1024 バイ ト

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

• AER (Advanced Error Reporting)

• 大 32 ベクターのマルチ ベクター MSI

• MSI-X

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

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

IP の概要

この LogiCORE™IP について

コアの概要

サポート される

デバイス ファ ミ リ (1)

UltraScale デバイス

サポート される

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

AXI4-Stream

リ ソースPerformance and Resource Utilization

(ウェブ ページ)

コアに含まれるもの

デザイン ファイル Verilog

サンプル デザイン Verilog

テス トベンチ Verilog

制約ファイル XDC

シ ミ ュレーシ ョ ン モデル

Verilog

サポート される ソフ ト ウェア ド ラ イバー

N/A

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

デザイン入力 Vivado® Design Suite

シ ミ ュレーシ ョ ン

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

『Vivado Design Suite ユーザー ガイ ド :リ リース ノート、 インス トールおよび

ライセンス』 を参照

合成 Vivado 合成

サポート

ザイ リ ンクス サポート ウェブ ページで提供

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

照して ください。

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

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

Page 5: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 5

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 1章

概要UltraScale Devices Gen3 Integrated Block for PCIe®コアは、 UltraScale™ デバイスで使用する高帯域かつスケーラブルで信頼性の高いシ リ アル インターコネク ト構築ブロ ッ ク ソ リ ューシ ョ ンで、 UltraScale デバイス内の統合ブロッ クをインスタンシエート します。

重要: UltraScale+ デバイスにデザインをインプリ メン トする場合は、 『UltraScale+ Devices Integrated Block for PCI Express LogiCORE IP 製品ガイ ド』 (PG213) [参照 3] を参照してください。

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

Page 6: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 6

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 1 章:概要

X-Ref Target - Figure 1-1

図 1‐1: コアのインターフェイス

Integrated Block for PCI Express User Application

AX

I4-S

tream

Enh

ance

d In

terfa

ce

CompleterCompletion

Interface

CompleterreQuesterInterface

Requester Completion

Interface

RequesterreQuesterInterface

PCIeCompleterInterface

m_axis_cq_*

s_axis_cc_*

s_axis_rq_*

pcie_tag_av[1:0]

m_axis_rc_*

Configuration Management Interface

cfg_mgmt_*

cfg_mgmt_read_datacfg_mgmt_read_write_done

Configuration Status Interface

cfg_msg_received*

cfg_msg_transmit_done

cfg_msg_transmit_*

Configuration FC interfacecfg_fc_*

cfg_fc_sel

cfg_*

Configuration Control Interface cfg_*

cfg_interrupt_*

cfg_interrupt_msi_*

cfg_interrupt_msix_*

Configuration Extended Interface cfg_ext_read_datacfg_ext_read_data_valid

cfg_ext_*

Clock and Reset Interface

user_clkuser_reset

sys_reset

PCI Expresspci_exp

sys_clk

PCIe Requester Interface

Configuration Received Message Interface

Configuration Transmit Message Interface

Configuration Interrupt Controller Interface

AXI4-StreamSlave

AXI4-StreamMaster

AXI4-StreamSlave

AXI4-StreamSlave

AXI4-StreamMaster

AXI4-StreamMaster

AXI4-StreamSlave

AXI4-StreamMaster

TagAvaiability

Status

X16318-030217

Page 7: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 7

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 1 章:概要

機能概要

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 (Transaction Layer Packets (TLP) Processing Hint)

Page 8: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 8

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 1 章:概要

アプリケーシ ョ ン

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

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

• 電気通信ネッ ト ワーク

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

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

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

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

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

PCI Express Base 仕様 3.1 には数多くのオプシ ョ ン機能があ り ます。 サポート されないこれら機能の一部を次に示します。

• アドレス変換サービスは実装されませんが、 外部のソフ ト ロジッ クに実装するこ とは可能です。

• スイ ッチ ポート

• Resizable BAR (RBAR) の拡張機能

• 変換リ クエス トの NW (No Write) フラグ

• GTY ト ランシーバーには非対応

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

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

このコアの詳細は、 UltraScale Gen3 Integrated Block for PCIe Express の製品ページを参照して ください。

Page 9: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 9

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2章

製品仕様

準拠する規格

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

リソースの使用

性能およびリ ソース使用状況の詳細は、 Performance and Resource Utilization (ウェブ ページ) をご覧ください。

デバイスの最低要件

このコアを使用するデバイスの 低要件は次のとおりです。

表 2‐1:デバイスの最低要件

可能なリンク  スピード 可能なリンク幅 サポート されるスピード  グレード

Gen1 x1、 x2、 x4、 x8 -3、 -2、 -1、 -1L、 -1LV、 -1H、 -1HV

Gen2 x1、 x2、 x4、 x8 -3、 -2、 -1、 -1L、 -1LV、 -1H、 -1HV

Gen3 x1、 x2、 x4 -3、 -2、 -1、 -1L、 -1LV、 -1H、 -1HV(1)

Gen3 x8 -3、 -2、 -1、 -1H、 -1HV(2)(4)

注記:1. -1LV および -1L スピード グレードでは、 [Core Clock Frequency] を 250MHz に設定する必要があ り ます。

[Core Clock Frequency] を 500MHz に設定できるのは -3 および -2 スピード グレードの場合のみです。

2. ユーザー デザインによっては、 スピード グレード -1、 -1H および -1HV で Gen3x8 が可能ですが、 タイ ミ ング ク ロージャの

工数が増えるこ とがあ り ます。 -1L および -1LV (0.9V および 0.95V) スピード グレードでは、 Gen3x8 はサポート されません。

3. エンジニア リ ング サンプル (ES) には、 これ以外にも制約が存在するこ とがあ り ます。 詳細は、 該当するエラ ッ タ文書を参照

して ください。

4. -1L および -1LV スピード グレードがサポート されるのは Kintex UltraScale デバイスのみです。 -1H および -1HV スピード グレードがサポート されるのは Virtex UltraScale デバイスのみです。

Page 10: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 10

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

利用可能な PCI Express 用統合ブロック

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

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

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

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

XCKU025 FFVA1156 可

XCKU035(1)

FBVA676 可 可 可(2)

FBVA900 可 可 可(2)

FFVA1156 可 可 可(2)

SFVA784 可

XCKU040

FBVA676 可 可 可(2)

FBVA900 可 可 可(2)

FFVA1156 可 可 可

SFVA784 可

XQKU040RBA676 可 可 可(2)

RFA1156 可 可 可

XCKU060FFVA1156 可 可 可

FFVA1517 可 可 可

XQKU060 RFA1156 可 可 可

XCKU085

FLVA1517 可 可 可 可 可

FLVB1760 可 可 可 可 可

FLVF1924 可 可 可 可 可

XCKU095

FFVB1760 可 可 可 可

FFVB2104 可 可 可 可

FFVA1156 可 可 可

FFVC1517 可 可 可 可(2)

XQKU095 RFA1156 可 可 可

XCKU115

FLVA1517 可 可 可 可 可 可(2)

FLVB1760 可 可 可 可 可 可

FLVF1924 可 可 可 可 可 可

FLVD1924 可 可 可(2) 可 可 可

FLVD1517 可 可 可 可 可 可

FLVA2104 可 可 可 可 可 可

FLVB2104 可 可 可 可 可 可

Page 11: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 11

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

XQKU115RLD1517 可 可 可 可 可 可

RLF1924 可 可 可 可 可 可

XCVU065 FFVC1517 可 可

XCVU080

FFVA2104 可 可 可 可

FFVB2104 可 可 可 可

FFVB1760 可 可 可 可

FFVC1517 可 可 可 可(2)

FFVD1517 可 可 可 可

XCVU095

FFVA2104 可 可 可 可

FFVB2104 可 可 可 可

FFVB1760 可 可 可 可

FFVC2104 可 可 可 可

FFVC1517 可 可 可 可(2)

FFVD1517 可 可 可 可

XCVU125

FLVB1760 可 可 可 可

FLVB2104 可 可 可 可

FLVC2104 可 可 可 可

FLVA2104 可 可 可 可

FLVD1517 可 可 可 可

XCVU160FLGB2104 可 可 可 可

FLGC2104(1) 可 可 可 可 可

XCVU190

FLGB2104 可 可 可 可

FLGC2104 可 可 可 可 可 可

FLGA2577 可 可 可 可 可 可

XCVU440FLGA2892 可 可 可 可 可 可

FLGB2377 可 可 可 可 可 可

注記:1. ソフ ト ウェアでサポート される PCIe ブロ ッ クは、 XCKU035 デバイス (SFVA784 パッケージ以外) で 2 つ、 XCKU085 デバイス

で 4 つ、 XCVU160/FLGC2104 デバイスで 4 つのみです。

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

スの PCI Express デザインのパッケージ移行」 を参照して ください。

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

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

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

Page 12: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 12

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

GT のロケーシ ョ ン

有効なデバイス とパッケージの組み合わせにおいて推奨される GT のロケーシ ョ ンは、 付録 B 「GT のロケーシ ョン」 を参照してください。 パッケージ ピンは、 付録 B に示す GT の X-Y ロケーシ ョ ンから直接得られます。 表の内容と一致する選択したデバイス とパッケージの組み合わせに対して、 Vivado Design Suite が XDC を生成します。

推奨される GT ロケーシ ョ ンは、 次を参照して ください。

• Kintex UltraScale デバイスの GT ロケーシ ョ ン

• Virtex UltraScale デバイスの GT ロケーシ ョ ン

ポートの説明

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

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

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

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

64/128/256 ビッ ト  インターフェイス

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

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

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

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

ポート 方向 幅 説明

m_axis_cq_tdata 出力 DW

コンプリーター リ クエス ト インターフェイス (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 を参照して ください。

Page 13: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 13

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 に固定します。

m_axis_cq_tvalid 出力 1

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

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

m_axis_cq_tready 入力 1

CQ のデータ Ready 信号です。

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

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

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

ポート 方向 幅 説明

Page 14: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 14

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

ビッ ト  インデックス

名称 幅 説明

3:0 first_be[3:0] 4

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

このフ ィールドは、 TLP のト ランザクシ ョ ン層ヘッダーの 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 のト ランザクシ ョ ン層ヘッダーの 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 Error Reporting (AER) 機能を使用するこ とで、 コアが接続されているルート コンプレッ クスに対してエラーがレポート されます。

Page 15: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 15

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

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

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

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

ビッ ト  インデックス

名称 幅 説明

表 2‐5: コンプリーター コンプリーシ ョ ン インターフェイスのポートの説明

ポート 方向 幅 説明

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 が送信される場合、 ユーザー アプリ ケーシ ョ ンは送信の 初のサイクルでこの信号をセッ トする必要があ り ます。

Page 16: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 16

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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] はコアで使用されません。

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: コンプリーター コンプリーシ ョ ン インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

表 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 機能を使用するこ とで、 コアが接続されているルート コンプレッ クスに対してエラーがレポート されます。

Page 17: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 17

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

リクエスター リクエスト  インターフェイス

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

32:1 parity 32

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

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

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

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

表 2‐6: s_axis_cc_tuser のサイドバンド信号の説明 (続き)

ビッ ト  インデックス

名称 幅 説明

表 2‐7: リクエスター リクエスト  インターフェイスのポートの説明

ポート 方向 幅 説明

s_axis_rq_tdata 入力 DW

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

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

s_axis_rq_tuser 入力 60

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

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

このセッ トの各信号については、 19 ページの表 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] はコアで使用されません。

Page 18: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 18

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

s_axis_rq_tvalid 入力 1

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

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

s_axis_rq_tready 出力 4

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

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

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

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

pcie_rq_seq_num 出力 4

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

オプシ ョ ンでこの出力を使用する と、 コアの送信パイプライン内におけるリ クエス トの進捗状況を追跡できます。 この機能を使用する場合は、seq_num[3:0] バスの各リ クエス トに対してシーケンス番号を与えます。ユーザー アプリ ケーシ ョ ンからコンプリーシ ョ ン TLP を送信できなくなるパイプライン内の地点にリ クエス ト TLP が到達する と、 コアは、pcie_rq_seq_num[3:0] 出力にこのシーケンス番号を出力します。 このメカニズムによって、 コアの CC インターフェイスへ送信されるコンプ リーシ ョ ンと リ クエスター リ クエス ト インターフェイスに送信されるポステッ ド リ クエス トの順序を管理できます。 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: リクエスター リクエスト  インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 19: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 19

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

ビッ ト  インデックス

名称 幅 説明

3:0 first_be[3:0] 4

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

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

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

7:4 last_be[3:0] 4

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

このフ ィールドは、 TLP のト ランザクシ ョ ン層ヘッダーの 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 にセッ トされている必要があ り ます。

ルート ポート コンフ ィギュレーシ ョ ンでは、 コンフ ィギュレーシ ョ ン パケットは常に DW0 にアラインされてなければならないため、 このパケッ ト タイプに対しては、 このフ ィールドをどちらのアライ メン ト モードでも 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) を使用するこ とで、 コアが接続されているルート コンプレッ クスに対してエラーがレポート されます。

Page 20: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 20

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 にセッ ト されている場合、 これらのビッ トは任意の値に設定できます。

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 にハード接続できます。

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

ビッ ト  インデックス

名称 幅 説明

Page 21: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 21

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

59:28 parity 32

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

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

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

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

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

ビッ ト  インデックス

名称 幅 説明

表 2‐9: リクエスター コンプリーシ ョ ン インターフェイスのポートの説明

ポート 方向 幅 説明

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 にセッ ト します。

Page 22: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 22

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 のこの信号を使用する必要があ り ます。

m_axis_rc_tvalid 出力 1

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

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

m_axis_rc_tready 入力 1

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

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

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

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

ポート 方向 幅 説明

表 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 に固定します。 バイ ト イネーブル ビッ トは、 長さ 0 のメモ リ読み出し リ クエス トに応答して受信されたコンプ リーシ ョ ンでも設定されます。

Page 23: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 23

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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] もセッ ト されている場合に限られます。

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 になり ます。

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

ビッ ト  インデックス

名称 幅 説明

Page 24: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 24

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

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

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

42 discontinue 1

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

TLP にペイロードがない場合に、 この信号がアサート されるこ とはあ り ません。この信号は、 ペイロード送信の 後のビートでのみアサート されます (つま り、is_eof_0[0] が High の場合)。

ス ト ラ ドル オプシ ョ ンが有効の場合、 コアが discontinue 信号をアサート している と 2 つ目の TLP が開始されません。

コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされている場合、 Advanced Error Reporting (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 のサイドバンド信号の説明 (続き)

ビッ ト  インデックス

名称 幅 説明

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

ポート 方向 幅 説明

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書き込みデータ

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

Page 25: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 25

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

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 コンフ ィギュレーシ ョ ン レジスタ以外への書き込み動作の場合、 この入力は無効とな り ます。

表 2‐11: コンフ ィギュレーシ ョ ン マネージメン ト  インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

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

ポート 方向 幅 説明

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 を保持します。

Page 26: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 26

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 初期化完了) の場合に有効にな ります。

ネゴシエート された リ ンク幅の値:

• 0001b = x1

• 0010b = x2

• 0100b = x4

• 1000b = x8

その他の値は予約されています。

cfg_current_speed 出力 3

現在のリ ンク スピード

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

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

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

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

その他の値は予約されています。

cfg_max_payload 出力 3

大ペイロード サイズ

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

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

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

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

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

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

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

その他の値は予約されています。

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

ポート 方向 幅 説明

Page 27: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 27

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_max_read_req 出力 3

大読み出し リ クエス ト サイズ

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

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

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

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

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

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

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

その他の値は予約されています。

cfg_function_status 出力 16

コンフ ィギュレーシ ョ ン ファンクシ ョ ン ステータス

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

• ビッ ト 0: ファンクシ ョ ン 0 の I/O 空間は有効

• ビッ ト 1: ファンクシ ョ ン 0 のメモリ空間は有効

• ビッ ト 2: ファンクシ ョ ン 0 のバス マスターは有効

• ビッ ト 3: ファンクシ ョ ン 0 の INTx は無効

• ビッ ト 4: ファンクシ ョ ン 1 の I/O 空間は有効

• ビッ ト 5: ファンクシ ョ ン 1 のメモリ空間は有効

• ビッ ト 6: ファンクシ ョ ン 1 のバス マスターは有効

• ビッ ト 7: ファンクシ ョ ン 1 の INTx は無効

• ビッ ト [15:8] は予約されています。

cfg_vf_status 出力 16

コンフ ィギュレーシ ョ ン Virtual Function ステータス

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

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

• ビッ ト 1: Virtual Function 0: PCI コマンド レジスタ、バス マスター イネーブル

• ビッ ト [15:12] は予約されています。

cfg_function_power_state 出力 12

コンフ ィギュレーシ ョ ン ファンクシ ョ ンの電力ステート

これらの出力は、 Physical Function の現在の電力ステート を示します。 ビッ ト [2:0] は、 ファンクシ ョ ン 0 の電力ステート をキャプチャし、 ビッ ト [5:3] はファンクシ ョ ン 1 の電力ステート をキャプチャします。 ビッ ト [11:6] は予約されています。 電力ステートの定義は次のとおりです。

• 000: D0_uninitialized

• 001: D0_active

• 010: D1

• 100: D3_hot

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

ポート 方向 幅 説明

Page 28: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 28

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_vf_power_state 出力 24

コンフ ィギュレーシ ョ ン Virtual Function の電力ステート

これらの出力は、 Virtual Function の現在の電力ステート を示します。ビッ ト [2:0] は、 Virtual Function 0 の電力ステート をキャプチャし、ビッ ト [5:3] は Virtual Function 1 の電力ステート をキャプチャします。ビッ ト [23:18] は予約されています。 電力ステートの定義は次のとおりです。

• 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 エラー メ ッセージを使用して示したエラー信号に対して応答しません。 これらのエラー メ ッセージは、 メ ッセージ インターフェイスを介して提供されます。

注記: このステータス出力はリ ンク /スピードの設定によっては不正確なこ と

があ り ます。

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

ポート 方向 幅 説明

Page 29: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 29

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_err_fatal_out 出力 1

致命的エラーを検出した

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

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

注記: このステータス出力はリ ンク /スピードの設定によっては不正確なこ と

があ り ます。

cfg_ltr_enable 出力 1

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

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

pcie_rq_tag_av 出力 2 利用可能な送信フロー制御タグ。 1 つ以上のタグが利用可能な場合は 1。

pcie_tfc_nph_av 出力 2

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

00 - 利用可能なクレジッ トが 0 以下01 - 1 つのクレジッ トが利用可能10 - 2 つのクレジッ トが利用可能11 - 3 つ以上のクレジッ トが利用可能

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

ポート 方向 幅 説明

Page 30: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 30

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_ltssm_state 出力 6

LTSSM ステート。 現在の 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.Entry

12: Rx_L0s.Idle

13: Rx_L0s.FTS

14: Tx_L0s.Entry

15: Tx_L0s.Idle

16: Tx_L0s.FTS

17: L1.Entry

18: L1.Idle

19: L2.Idle

1A: L2.TransmitWake

20: 無効

21: Loopback_Entry_Master

22: Loopback_Active_Master

23: Loopback_Exit_Master

24: Loopback_Entry_Slave

25: Loopback_Active_Slave

26: Loopback_Exit_Slave

27: Hot_Reset

28: Recovery_Equalization_Phase0

29: Recovery_Equalization_Phase1

2a: Recovery_Equalization_Phase2

2b: Recovery_Equalization_Phase3

cfg_rcb_status 出力 4

RCB ステータス信号です。

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

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

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

ポート 方向 幅 説明

Page 31: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 31

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_pl_status_change 出力 1

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

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

(b) リ ンク幅や動作スピードが変更された結果と して リ ンク帯域幅が自動的に変更され、 その変更はリモートのノードによって実行されています。 この割り込み信号は、 リ ンク制御レジスタの Link Autonomous Bandwidth 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 出力 4

この出力のビッ ト 0 は、 Physical Function 0 の TPH リ クエスターの機能構造体にある TPH リ クエスター制御レジスタの TPH Requester Enable ビッ ト [8] の設定を示します。 ビッ ト 1 は、 Physical Function 1 に対応します。 ほかの Physical Function についても同様ですビッ ト [3:2] は予約されています。

cfg_tph_st_mode 出力 12

この出力のビッ ト [2:0] は、Physical Function 0 の TPH リ クエスター制御レジスタにある ST Mode Select ビッ トの設定を示します。 ビッ ト [5:3] は、 PF 1 の同レジスタ フィールドの設定を示します。 ほかの Physical Function についても同様ですビッ ト [11:6] は予約されています。

cfg_vf_tph_requester_enable 出力 8

この出力の各ビッ トは、 対応する Virtual Function の TPH リ クエスター機能構造体にある TPH リ クエスター制御レジスタの TPH Requester Enable ビッ ト 8 の設定を示します。 ビッ ト [7:6] は予約されています。

cfg_vf_tph_st_mode 出力 24

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

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

ポート 方向 幅 説明

Page 32: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 32

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 出力をアップデートするまでの間には数サイクルの遅延が生じます。

このカウン トは、 user_reset および user_lnk_up のディアサートによって リセッ ト されます。

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

ポート 方向 幅 説明

Page 33: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 33

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

pcie_tfc_nph_av 出力 2

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

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

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

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

• 11: 3 以上のクレジッ トが使用可能

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

pcie_tfc_npd_av 出力 2

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

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

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

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

• 11: 3 以上のクレジッ トが使用可能

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

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

ポート 方向 幅 説明

Page 34: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 34

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

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

ポート 方向 幅 説明

cfg_msg_received 出力 1

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

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

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

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

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

cfg_msg_received_type 出力 5

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

cfg_msg_received が High の場合、 これらの 5 つのビッ トは、 コアが送信する メ ッセージ タイプを示します。 メ ッセージ タイプの一覧は、表 3-17 を参照してください。

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

ポート 方向 幅 説明

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 (Power Management)

• 100b ~ 111b: 予約

Page 35: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 35

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

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 (1 またはそれ以上の PF もし くは VF が同時に PM_PME 信号をパルス可能)

• 100b ~ 111b: 予約

cfg_msg_transmit_done 出力 1

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

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

表 2‐14: コンフ ィギュレーシ ョ ン送信メ ッセージ インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

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

ポート 方向 幅 説明

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] 入力で選択されます。

Page 36: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 36

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

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] 入力で選択されます。

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‐15: コンフ ィギュレーシ ョ ン フロー制御インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 37: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 37

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

表 2‐16: ファンクシ ョ ン ステータス インターフェイスのポートの概要

ポート 方向 幅 説明

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_control および cfg_per_function_number の値に基づいて情報が提供されます。

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

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 コンプリーシ ョ ン ステータスを示すコンプリーシ ョ ンが返されます。

Page 38: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 38

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 エラー メ ッセージのプライマ リ インターフェイスによる転送を制御します。

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]

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

表 2‐17: ファンクシ ョ ン ステータス インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data 

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

Page 39: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 39

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 Error Reporting Enable: Device_Ctrl[0]

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

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 (サポート されないリ クエス ト ) のシグナルを制御します。

表 2‐17: ファンクシ ョ ン ステータス インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data 

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

Page 40: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 40

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 と受信するコンプリーシ ョ ンのいずれにおいても、 使用するタグ ビッ ト数を強制しません。

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‐17: ファンクシ ョ ン ステータス インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data 

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

Page 41: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 41

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

2 3cfg_link_status_link_training

1

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

物理層 LTSSM がコンフ ィギュレーシ ョ ンまたはリ カバリ ステートであるこ とを示しているか、 あるいは Retrain Link ビッ トに 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 11cfg_link_status_bandwidth_status

1

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

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

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

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

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

表 2‐17: ファンクシ ョ ン ステータス インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data 

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

Page 42: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 42

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 を無効ステートに遷移させます。

3 4cfg_link_control_core_clock

1

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

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

3 5cfg_link_control_extendedness

1

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

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

3 6cfg_link_control_clock_pm_en

1

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

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

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

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

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

表 2‐17: ファンクシ ョ ン ステータス インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data 

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

Page 43: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 43

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 ヒ ン ト を含むリ クエス トを生成できる状態になったこ とを示します。

3 13:11cfg_tph_steering_tag_mode

3

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

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

3 15:14 0 2 予約

表 2‐17: ファンクシ ョ ン ステータス インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data 

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

Page 44: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 44

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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

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

表 2‐17: ファンクシ ョ ン ステータス インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data 

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

Page 45: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 45

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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]

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

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 メ ッセージに対して、 ロジッ クが割り込みを生成できるよ うにします。

表 2‐17: ファンクシ ョ ン ステータス インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data 

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

Page 46: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 46

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

コンフ ィギュレーシ ョ ン制御インターフェイスは、 ユーザー アプリ ケーシ ョ ンと コア間でさまざまなデータ通信を可能にします。 ユーザー アプリ ケーシ ョ ンはこのインターフェイスを使用して次を行います。

• コンフ ィギュレーシ ョ ン空間の設定

• 訂正可能/訂正不可能なエラーの有無

• デバイスのシ リ アル番号の設定

• ダウンス ト リーム バス、 デバイス、 およびファンクシ ョ ン番号の設定

• ファンクシ ョ ンごとのコンフ ィギュレーシ ョ ン情報の受信

また、 このインターフェイスは、 電力ステートが変更されたり、 ファンクシ ョ ン レベルのリセッ トが生じた場合に、ユーザー アプリ ケーシ ョ ンと コア間のハンドシェイ クを実行します。

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‐17: ファンクシ ョ ン ステータス インターフェイスのポートの説明 (続き)

cfg_per_func_status_control

[ビッ ト ]

cfg_per_func_status_data 

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

Page 47: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 47

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

ポート 方向 幅 説明

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 入力 4

コンフ ィギュレーシ ョ ン ファンクシ ョ ンごとのターゲッ ト ファンクシ ョ ン番号

ユーザーがファンクシ ョ ン番号 (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 をパルスする必要があ り ます。

Page 48: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 48

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_ds_bus_number 入力 8

コンフ ィギュレーシ ョ ン ダウンス ト リーム バス番号

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

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

cfg_ds_port_number 入力 8コンフ ィギュレーシ ョ ン ダウンス ト リーム ポート番号

リ ンク機能レジスタのポート番号フ ィールドを提供します。

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 に保持して、 電力ステート を変更できます。

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

ポート 方向 幅 説明

Page 49: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 49

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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_ext_function_number[7:0] 出力に提供されます。 ユーザー アプリ ケーシ ョ ンが cfg_power_state_change_ack をアサートする と、 ステート変更を受けたファンクシ ョ ンの新しいステートがコアの cfg_function_power_state (PF の場合)、または cfg_vf_power_state (VF の場合) 出力に反映されます。

cfg_subsys_id 入力 16コンフ ィギュレーシ ョ ン サブシステム ID

PF0 のタイプ 0 PCI 機能構造体サブシステム ID フ ィールドに反映される値を示します。

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 入力 4

ファンクシ ョ ン レベルのリセッ ト完了

ユーザー アプリ ケーシ ョ ンは、Virtual Function のリセッ ト動作が完了したら、 この入力をアサートする必要があ り ます。これによって、コアは Physical Function i の cfg_flr_in_process をディアサート して、 その Physical Function へのコンフ ィギュレーシ ョ ン アクセスを再度有効にします。 ビッ ト [3:2] は予約されています。

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

ポート 方向 幅 説明

Page 50: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 50

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_vf_flr_done 入力 8

Virtual Function のファンクシ ョ ン レベルのリセッ ト完了

ユーザー アプリ ケーシ ョ ンは、Virtual Function のリセッ ト動作が完了したら、 この入力をアサートする必要があ り ます。これによって、 コアは Virtual Function i の cfg_vf_flr_in_process をディアサート して、 その Virtual Function へのコンフ ィギュレーシ ョ ン アクセスを再度有効にします。 ビッ ト [7:6] は予約されています。

cfg_flr_in_process 出力 4

ファンクシ ョ ン レベルのリセッ トが実行中

ホス トがコンフ ィギュレーシ ョ ン空間の FLR ビッ ト を介して、Physical Function i のリセッ ト を開始した場合、 コアはこのバスのビッ ト i をアサート します。 コアは、 ユーザーが対応する Physical Function の cfg_flr_done 入力をセッ ト して リセッ ト動作の完了を示すまで、 この出力を High のまま保持します。 ビット [3:2] は予約されています。

cfg_vf_flr_in_process 出力 8

Virtual Function のファンクシ ョ ン レベルのリセッ トが実行中

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

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‐18: コンフ ィギュレーシ ョ ン制御インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 51: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 51

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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

cfg_local_error 出力 1

ローカル エラー条件

ローカル エラー ステータス レジスタのいずれかのローカル エラー条件が発生する と、 出力がロジッ ク High になり ます。ローカル割り込みマスク レジスタの対応するビッ ト をセッ トする と、 これらの条件を個別にマスクできます。 次に示す連続するブロ ッ ク内部イベン ト (マスク されていない場合) が大 8 つまでレポート されます。

1) tx_replay_buffer_ram_uncorrectable_parity_error

2) rx_request_fifo_ram_uncorrectable_parity_error

3) rx_completion_fifo_ram_uncorrectable_parity_error

4) rx_receive_fifo_overflow

5) rx_completion_receive_fifo_overflow

6) link_replay_timeout

7) link_replay_num_rollover

8) phy_error_detected

9) malformed_tlp_received_reg

10) unexpected_completion_received

11) flow_control_protocol_error_detected

12) completion_timeout

注記: この信号は、 PCIe リ ンク幅/スピードの設定によっては動作しな

いこ とがあ り ます。 この信号だけに頼ってエラーの発生を知るこ とは

避けてください。

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

ポート 方向 幅 説明

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

ポート 方向 幅 説明

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 メ ッセージを送信したこ とを示します。

Page 52: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 52

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_interrupt_pending 入力 4

コンフ ィギュレーシ ョ ン INTx 割り込みペンディング (アクティブ High)

ファンクシ ョ ンごとの保留中割り込みを示します。cfg_interrupt_pending[0] が PF0 に対応します (その他同様)。ビッ ト [3:2] は予約されています。

cfg_interrupt_msi_enable 出力 4

コンフ ィギュレーシ ョ ン割り込みの MSI ファンクシ ョ ンのイネーブル

各ファンクシ ョ ンに対して、 Message Signaling Interrupt (MSI) メ ッセージが有効であるこ とを示します。 ビッ ト [3:2] は予約されています。

cfg_interrupt_msi_vf_enable 出力 8VF のコンフ ィギュレーシ ョ ン割り込み MSI 有効

各 Virtual Function の MSI メ ッセージが有効であるこ とを示します。 ビッ ト [7:6] は予約されています。

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 割り込みを再度送信する必要があ り ます。

表 2‐19: コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 53: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 53

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_interrupt_msi_mmenable 出力 12

コンフ ィギュレーシ ョ ン割り込みの MSI ファンクシ ョ ンの Multiple Message Enable ビッ ト

コアがエンドポイン ト モード と してコンフ ィギュレーシ ョ ンされ、 MISI 割り込みをサポートする場合、 これらの出力は、Physical Function に関連する MSI 制御レジスタの Multiple Message Enable ビッ トで駆動されます。 これらのビッ トは、対応するファンクシ ョ ンに対して割り当てられた MSI 割り込みベクター番号をエンコード します。 ビッ ト [2:0] は Physical Function 0 に対応し、 ビッ ト [5:4] は Physical Function 1 に対応します。 ビッ ト [12:6] は予約されています。

cfg_interrupt_msi_pending_status 入力 32

コンフ ィギュレーシ ョ ン割り込みの MSI ペンディング ステータス

これらの入力は、Physical Function の MSI ペンディング割り込みステータスを示します。 これらのピンの設定が、 対応する PF の MSI ペンディング ビッ ト レジスタから読み出される値を決定します。 MSI ペンディング ビッ ト レジスタには、 MSI 割り込みの Pending (保留) ビッ トが含まれます。 このロケーシ ョ ンを読み出すと、 コアの MSI マスク入力のステートが返ってきます。 これは、 MSI マスク入力のデフォルト値を含む 32 ビッ ト幅の RO レジスタです。cfg_interrupt_msi_pending_status および cfg_interrupt_msi_pending_status_function_num の各値と共にこの信号をアサート して、 対応するファンクシ ョ ンの MSI ペンディング ビッ ト をアップデート します。

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] にはすべての VF に関連する MSI 制御レジスタの Multiple Message Enable ビッ トが現れます。これらのビッ トは、 対応するファンクシ ョ ンに割り当てられた MSI 割り込みベクターの数をエンコード します。 たとえば、 cfg_interrupt_msi_data[2:0] は VF0 に対応します。

cfg_interrupt_msi_data 出力 32コンフ ィギュレーシ ョ ン割り込みの MSI データ

この出力に現れる値は、cfg_interrupt_msi_select に依存します。

cfg_interrupt_msi_pending_status_function_num 入力 4

コンフ ィギュレーシ ョ ン割り込みの MSI ペンデング ターゲット ファンクシ ョ ン番号

0 ~ 11 のファンクシ ョ ン番号を入力します。 値は、 0 ~ 3 が PF0 ~ 3 に対応し、 4 ~ 11 が VF0 ~ 7 に対応します。

表 2‐19: コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 54: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 54

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

cfg_interrupt_msi_pending_status_data_enable 入力 1

コンフ ィギュレーシ ョ ン割り込みの MSI ペンディング データ有効

cfg_interrupt_msi_pending_status および cfg_interrupt_msi_pending_status_function_num の各値と共にこの信号をアサート して、 対応するファンクシ ョ ンの MSI ペンディング ビッ ト をアップデート します。

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 のコンフ ィギュレーシ ョ ン割り込み MSI 有効

アサート される と、 各ファンクシ ョ ンに対して、 Message Signaling Interrupt (MSI-X) メ ッセージが有効であるこ とを示します。

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 からのアドレス情報とデータを内部レジスタに格納します。 cfg_interrupt_msix_int をアサートする前に、 使用しているファンクシ ョ ンに対応する cfg_interrupt_msix_enable ビッ トがセッ ト されているこ とをユーザー アプリ ケーシ ョ ンで確認する必要があ り ます。 ユーザー ロジッ クは、 割り込みを 1 つアサート した後、 次に割り込みをアサートする前にコアから cfg_interrupt_msix_sent または cfg_interrupt_msix_fail 信号が送信されるまで待機する必要があ り ます。

表 2‐19: コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 55: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 55

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 は No Snoop ビッ トで、 ビッ ト 1 は Relaxed Ordering ビッ トです。ビッ ト 2 は、 ID-Based Ordering ビッ トです。 コアは、cfg_interrupt_msi_int または cfg_interrupt_msix_int が 0 から 1 への遷移する際にこれらのビッ ト をサンプルします。

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 への遷移する際にこれらのビッ ト をサンプルします。

表 2‐19: コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 56: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 56

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

外部にコンフ ィギュレーシ ョ ン レジスタが実装されている場合、 コンフ ィギュレーシ ョ ン拡張インターフェイスを使用するこ とによって、 コアがコンフ ィギュレーシ ョ ン情報をユーザー アプリ ケーシ ョ ンへ送信できるよ うにな ります。 表 2-20 では、 コアのコンフ ィギュレーシ ョ ン拡張インターフェイスのポートについて説明します。

cfg_interrupt_msi_function_number 入力 4

コンフ ィギュレーシ ョ ンの MSI/MSI-X 開始ファンクシ ョ ン

MSI または MSI-X ト ランザクシ ョ ンを開始するエンドポイント ファンクシ ョ ン番号を示します。

• 0: PF0

• 1: PF1

• 2: 使用しない

• 3: 使用しない

• 4: VF0

• 5: VF1

• 6: VF2

• 7: VF3

• 8: VF4

• 9: VF5

表 2‐19: コンフ ィギュレーシ ョ ン割り込みコン ト ローラー インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

表 2‐20: コンフ ィギュレーシ ョ ン拡張インターフェイスのポートの説明

ポート 方向 幅 説明

cfg_ext_read_received 出力 1

コンフ ィギュレーシ ョ ン拡張インターフェイスの読み出し リクエス トの受信

• リ ンクからコンフ ィギュレーシ ョ ン読み出し リ クエス ト を受信する と、 コアがこの出力をアサート します。 ユーザーが実装したレガシ コンフ ィギュレーシ ョ ン空間および拡張コンフ ィギュレーシ ョ ン空間のどちら も有効でない場合、コンフ ィギュレーシ ョ ン読み出し リ クエス ト を受信する と、有効な cfg_ext_register_number と cfg_ext_function_number を伴ってこの信号が 1 サイ クル間アサート されます。 ユーザーが実装したレガシ コンフ ィギュレーシ ョ ン空間、 拡張コンフ ィギュレーシ ョ ン空間、 あるいは両方が有効の場合、cfg_ext_register_number の範囲はそれぞれ 0x10-0x1f または 0x120-0x3ff とな り、 ユーザー ロジッ クが cfg_ext_read_data および cfg_ext_read_data_valid を送信するまでこの信号はアサート されます。 cfg_ext_register_number が 0x10-0x1f または 0x120-0x3ff の範囲外である場合、コンフ ィギュレーシ ョ ン読み出し リ クエス ト を受信する と、常にこの信号が 1 サイ クル間アサート されます。 --

cfg_ext_write_received 出力 1

コンフ ィギュレーシ ョ ン拡張インターフェイスの書き込みリクエス ト受信

• リ ンクからコンフ ィギュレーシ ョ ン書き込みリ クエス ト を受信する と、 コアがこの出力に 1 サイ クルのパルスを生成します。

Page 57: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 57

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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_ext_write_received が High の場合に有効です。

cfg_ext_write_byte_enable 出力 4

コンフ ィギュレーシ ョ ン拡張インターフェイスの書き込みバイ ト イネーブル

コンフ ィギュレーシ ョ ン書き込みト ランザクシ ョ ン用のバイト イネーブル信号です。

cfg_ext_read_data 入力 32

コンフ ィギュレーシ ョ ン拡張インターフェイスの読み出しデータ

このバスを使用して、 外部に実装したコンフ ィギュレーシ ョン レジスタからコアへデータを供給できます。cfg_ext_read_data_valid がセッ ト されている場合は、cfg_ext_read_received を High に設定した後に、 コアはクロ ッ クの次の立ち上がりエッジでこのデータをサンプルします。

cfg_ext_read_data_valid 入力 1

コンフ ィギュレーシ ョ ン拡張インターフェイスの読み出しデータ有効

ユーザー アプリ ケーシ ョ ンは、 コアに対してこの入力をアサート して、 外部に実装したコンフ ィギュレーシ ョ ン レジスタからデータを供給します。 コアは、 cfg_ext_read_received を High に設定した後、 クロ ッ クの次の立ち上がりエッジで、 この入力データをサンプルします。

注記: cfg_ext_read_received 信号がアサート されない場合、 コアは user_clk の 40000h (218) ク ロ ッ ク サイクル後に読み出し リ クエス ト をタ

イムアウ トにします。

表 2‐20: コンフ ィギュレーシ ョ ン拡張インターフェイスのポートの説明 (続き)

ポート 方向 幅 説明

Page 58: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 58

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

クロックおよびリセッ ト  インターフェイス

コアの動作に不可欠なクロ ッ クおよびリセッ ト インターフェイスは、 コア用のシステム レベルのクロ ッ ク / リセッ ト信号、 およびユーザー アプリ ケーシ ョ ン用のクロ ッ ク / リ セッ ト信号を提供します。 表 2-21 では、 コアのクロ ッ クおよびリセッ ト インターフェイスのポートについて説明します。

表 2‐21: クロックおよびリセッ ト  インターフェイスのポートの説明

ポート 方向 幅 説明

user_clk 出力 1ユーザー ク ロ ッ ク出力 (62.5、 125、 または 250MHz)

このクロ ッ クは、 固定された周波数であ り、 Vivado® IDE (統合設計環境) で設定されます。

user_reset 出力 1 この信号は user_clk に同期してディアサート されます。 sys_reset のアサートに非同期でディアサート /アサート されます。

sys_clk 入力 1基準クロ ッ ク。

このクロ ッ クの周波数は、100MHz、125MHz、または 250MHz から選択できます。

sys_clk_gt 入力 1GT の PCIe 基準クロ ッ ク。 このク ロ ッ クは IBUFDS_GTE3 (sys_clk と同じ定義および周波数) から直接駆動される必要があ り ます。 このクロ ッ クは、 sys_clk と同様に 100MHz、 125MHz、 または 250MHz から選択できます。

sys_reset 入力 1

コア用の基本リセッ ト入力 (非同期)

この入力は、 PCIe エッジ コネクタの リセッ ト極性と一致するよ うに、 デフォルトではアクティブ Low です。 Vivado IDE のオプシ ョ ンを使用して、 アクティブ High に設定できますが、 この場合、 PCIe エッジ コネク タ との互換性が失われます。

FPGA の PERSTN0 パッケージ ピンと PCIe 統合ブロッ クの間は、 デフォルトで専用配線が有効になり ます (可能な場合のみ)。 PCIe サイ ト とそれぞれに対応する専用 sys_reset IOB ロケーシ ョ ンは、 表 3-2 を参照して ください。 これ以外の PCIe 統合ブロッ ク ロケーシ ョ ンには専用の sys_reset 接続はあ り ません。利用可能な場合は、 専用配線および関連する IOB を使用してください。 別の sys_reset ピン ロケーシ ョ ンを使用するには、 Vivado IDE で [Use the dedicated PERST routing resources] をオフにする必要があ り ます。 また、 表 3-2 に記載されていない PCIe サイ トの場合、 エンドポイン ト コンフ ィギュレーシ ョ ンの sys_reset ロケーシ ョ ンには PERSTN1 パッケージ ピンを使用してください。

pcie_perstn0_out 出力 1

表 3-2 に記載された PCIe サイ トの sys_reset 入力ポート を介す、 PERSTN0 パッケージ ピンからの直接パススルー出力です。 このポートは、 [Use the dedicated PERST routing resources] をオン (デフォルト ) にして専用配線を有効にし、sys_reset を PERSTN0 パッケージ ピンで駆動する場合のみ利用できます。 その他のコンフ ィギュレーシ ョ ンおよび PCIe ロケーシ ョ ンの場合、 このポートは接続する必要があ り ません。

pcie_perstn1_in 入力 1

PERSTN1 パッケージ ピンから pcie_perstn1_out 出力への専用配線の入力です。この入力は PERSTN1 パッケージ ピンによってのみ駆動でき、 [Use the dedicated PERST routing resources] をオン (デフォルト ) にして専用配線を有効にした場合のみ使用できます。 専用のリセッ ト配線をサポート していない PCIe ロケーシ ョンの場合、 このポートは定数ゼロ (1'b0) に接続してください。

pcie_perstn1_out 出力 1

専用配線をサポート した PCIe 統合ブロッ クの pcie_perstn1_in 入力ポート を介す、 PERSTN1 パッケージ ピンからの直接パススルー出力です。 このポートは、[Use the dedicated PERST routing resources] をオンにして専用リセッ ト配線を有効にし、 pcie_perstn1_in を PERSTN1 パッケージ ピンで駆動している場合のみ使用できます。 その他の設定の場合、 このポートは接続しないでください。 専用のリセッ ト配線をサポート していない PCIe エンドポイン ト コンフ ィギュレーシ ョ ンでは、 オプシ ョ ンで PERSTN1 パッケージ ピンを使用して sys_reset 入力ポート を駆動するこ と もできます。

Page 59: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 59

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

専用の PCIe リ セッ ト配線には、 PERSTN0/PERSTN1 および表 2-21 に示した リセッ ト入力ポート を使用します。 これらは PERSTN から PCIe 統合ブロッ ク ロケーシ ョ ンへの専用ポートです。 Tandem コンフ ィギュレーシ ョ ンのサポートが必要な場合は、 表 2-21 の説明に従ってこれらのピンを使用してください。 PERSTN0 および PERSTN1 ピンを使用する際の一般的なガイ ド ラインを次に示します。

• ルート ポート コンフ ィギュレーシ ョ ンでは、 任意のピンを使用してエッジ コネクタ リセッ ト を駆動できます。

• エンドポイン ト コンフ ィギュレーシ ョ ンで専用配線を利用できる場合は、 PCIe エッジ コネクタ リセッ ト入力ピンと して常に PERSTN0 を使用する必要があ り ます。

• エンドポイン ト コンフ ィギュレーシ ョ ンで専用リセッ ト配線を利用できない場合は任意のピンを PCIe エッジ コネクタ リセッ ト入力ピンと して使用できますが、 PERSTN1 の使用を推奨します。

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-22 を参照してください。

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

レーン  番号

名称 方向 説明

1 レーン  コア

0

pci_exp_txp0 出力 PCI Express は正の値を送信: シ リ アル差動出力 0 (+)

pci_exp_txn0 出力 PCI Express は負の値を送信: シ リ アル差動出力 0 (–)

pci_exp_rxp0 入力 PCI Express は正の値を受信: シ リ アル差動入力 0 (+)

pci_exp_rxn0 入力 PCI Express は負の値を受信: シ リ アル差動入力 0 (–)

2 レーン  コア

0

pci_exp_txp0 出力 PCI Express は正の値を送信: シ リ アル差動出力 0 (+)

pci_exp_txn0 出力 PCI Express は負の値を送信: シ リ アル差動出力 0 (–)

pci_exp_rxp0 入力 PCI Express は正の値を受信: シ リ アル差動入力 0 (+)

pci_exp_rxn0 入力 PCI Express は負の値を受信: シ リ アル差動入力 0 (–)

1

pci_exp_txp1 出力 PCI Express は正の値を送信: シ リ アル差動出力 1 (+)

pci_exp_txn1 出力 PCI Express は負の値を送信: シ リ アル差動出力 1 (–)

pci_exp_rxp1 入力 PCI Express は正の値を受信: シ リ アル差動入力 1 (+)

pci_exp_rxn1 入力 PCI Express は負の値を受信: シ リ アル差動入力 1 (–)

4 レーン  コア

0

pci_exp_txp0 出力 PCI Express は正の値を送信: シ リ アル差動出力 0 (+)

pci_exp_txn0 出力 PCI Express は負の値を送信: シ リ アル差動出力 0 (–)

pci_exp_rxp0 入力 PCI Express は正の値を受信: シ リ アル差動入力 0 (+)

pci_exp_rxn0 入力 PCI Express は負の値を受信: シ リ アル差動入力 0 (–)

Page 60: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 60

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

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 (–)

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

レーン  番号

名称 方向 説明

Page 61: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 61

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 (–)

16 レーン  コア

0

pci_exp_txp0 出力 PCI Express は正の値を送信: シ リ アル差動出力 0 (+)

pci_exp_txn0 出力 PCI Express は負の値を送信: シ リ アル差動出力 0 (–)

pci_exp_rxp0 入力 PCI Express は正の値を受信: シ リ アル差動入力 0 (+)

pci_exp_rxn0 入力 PCI Express は負の値を受信: シ リ アル差動入力 0 (–)

1

pci_exp_txp1 出力 PCI Express は正の値を送信: シ リ アル差動出力 1 (+)

pci_exp_txn1 出力 PCI Express は負の値を送信: シ リ アル差動出力 1 (–)

pci_exp_rxp1 入力 PCI Express は正の値を受信: シ リ アル差動入力 1 (+)

pci_exp_rxn1 入力 PCI Express は負の値を受信: シ リ アル差動入力 1 (–)

2

pci_exp_txp2 出力 PCI Express は正の値を送信: シ リ アル差動出力 2 (+)

pci_exp_txn2 出力 PCI Express は負の値を送信: シ リ アル差動出力 2 (–)

pci_exp_rxp2 入力 PCI Express は正の値を受信: シ リ アル差動入力 2 (+)

pci_exp_rxn2 入力 PCI Express は負の値を受信: シ リ アル差動入力 2 (–)

3

pci_exp_txp3 出力 PCI Express は正の値を送信: シ リ アル差動出力 3 (+)

pci_exp_txn3 出力 PCI Express は負の値を送信: シ リ アル差動出力 3 (–)

pci_exp_rxp3 入力 PCI Express は正の値を受信: シ リ アル差動入力 3 (+)

pci_exp_rxn3 入力 PCI Express は負の値を受信: シ リ アル差動入力 3 (–)

4

pci_exp_txp4 出力 PCI Express は正の値を送信: シ リ アル差動出力 4 (+)

pci_exp_txn4 出力 PCI Express は負の値を送信: シ リ アル差動出力 4 (–)

pci_exp_rxp4 入力 PCI Express は正の値を受信: シ リ アル差動入力 4 (+)

pci_exp_rxn4 入力 PCI Express は負の値を受信: シ リ アル差動入力 4 (–)

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

レーン  番号

名称 方向 説明

Page 62: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 62

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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 (–)

8

pci_exp_txp8 出力 PCI Express は正の値を送信: シ リ アル差動出力 8 (+)

pci_exp_txn8 出力 PCI Express は負の値を送信: シ リ アル差動出力 8 (–)

pci_exp_rxp8 入力 PCI Express は正の値を受信: シ リ アル差動入力 8 (+)

pci_exp_rxn8 入力 PCI Express は負の値を受信: シ リ アル差動入力 8 (–)

9

pci_exp_txp9 出力 PCI Express は正の値を送信: シ リ アル差動出力 9 (+)

pci_exp_txn9 出力 PCI Express は負の値を送信: シ リ アル差動出力 9 (–)

pci_exp_rxp9 入力 PCI Express は正の値を受信: シ リ アル差動入力 9 (+)

pci_exp_rxn9 入力 PCI Express は負の値を受信: シ リ アル差動入力 9 (–)

10

pci_exp_txp10 出力 PCI Express は正の値を送信: シ リ アル差動出力 10 (+)

pci_exp_txn10 出力 PCI Express は負の値を送信: シ リ アル差動出力 10 (–)

pci_exp_rxp10 入力 PCI Express は正の値を受信: シ リ アル差動入力 10 (+)

pci_exp_rxn10 入力 PCI Express は負の値を受信: シ リ アル差動入力 10 (–)

11

pci_exp_txp11 出力 PCI Express は正の値を送信: シ リ アル差動出力 11 (+)

pci_exp_txn11 出力 PCI Express は負の値を送信: シ リ アル差動出力 11 (–)

pci_exp_rxp11 入力 PCI Express は正の値を受信: シ リ アル差動入力 11 (+)

pci_exp_rxn11 入力 PCI Express は負の値を受信: シ リ アル差動入力 11 (–)

12

pci_exp_txp12 出力 PCI Express は正の値を送信: シ リ アル差動出力 12 (+)

pci_exp_txn12 出力 PCI Express は負の値を送信: シ リ アル差動出力 12 (–)

pci_exp_rxp12 入力 PCI Express は正の値を受信: シ リ アル差動入力 12 (+)

pci_exp_rxn12 入力 PCI Express は負の値を受信: シ リ アル差動入力 12 (–)

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

レーン  番号

名称 方向 説明

Page 63: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 63

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

属性の説明

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

表 2-23 に、 コアのユーザー インターフェイスの動作を制御するコンフ ィギュレーシ ョ ン属性を示します。

13

pci_exp_txp13 出力 PCI Express は正の値を送信: シ リ アル差動出力 13 (+)

pci_exp_txn13 出力 PCI Express は負の値を送信: シ リ アル差動出力 13 (–)

pci_exp_rxp13 入力 PCI Express は正の値を受信: シ リ アル差動入力 13 (+)

pci_exp_rxn13 入力 PCI Express は負の値を受信: シ リ アル差動入力 13 (–)

14

pci_exp_txp14 出力 PCI Express は正の値を送信: シ リ アル差動出力 14 (+)

pci_exp_txn14 出力 PCI Express は負の値を送信: シ リ アル差動出力 14 (–)

pci_exp_rxp14 入力 PCI Express は正の値を受信: シ リ アル差動入力 14 (+)

pci_exp_rxn14 入力 PCI Express は負の値を受信: シ リ アル差動入力 14 (–)

15

pci_exp_txp15 出力 PCI Express は正の値を送信: シ リ アル差動出力 15 (+)

pci_exp_txn15 出力 PCI Express は負の値を送信: シ リ アル差動出力 15 (–)

pci_exp_rxp15 入力 PCI Express は正の値を受信: シ リ アル差動入力 15 (+)

pci_exp_rxn15 入力 PCI Express は負の値を受信: シ リ アル差動入力 15 (–)

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

レーン  番号

名称 方向 説明

表 2‐23:統合ブロックのユーザー インターフェイスのコンフ ィギュレーシ ョ ン属性

属性名 タイプ 説明

USER_CLK2_FREQ 整数

• 2: 62.50MHz (デフォルト )

• 3: 125.00MHz

• 4: 250.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

その他すべてのエンコードは予約されています。 この設定は、コア内のすべての層に伝搬されます。

Page 64: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 64

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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: アドレス アライ メン ト モード

AXISTEN_IF_RC_STRADDLE 文字列

この属性は、 リ クエスター コンプリーシ ョ ン インターフェイスのス ト ラ ドル オプシ ョ ンを有効にします。

• FALSE: ス ト ラ ドル オプシ ョ ンは無効

• TRUE: ス ト ラ ドル オプシ ョ ンは有効

AXISTEN_IF_RQ_PARITY_CHECK 文字列

この属性は、 リ クエスター リ クエス ト インターフェイスのパリティ チェッ クを有効にします。

• FALSE: パリティ チェッ クは無効

• TRUE: パリティ チェッ クは有効

AXISTEN_IF_CC_PARITY_CHECK 文字列

この属性は、 コンプリーター コンプリーシ ョ ン インターフェイスのパリティ チェッ クを有効にします。

• FALSE: パリティ チェッ クは無効

• TRUE: パリティ チェッ クは有効

表 2‐23:統合ブロックのユーザー インターフェイスのコンフ ィギュレーシ ョ ン属性 (続き)

属性名 タイプ 説明

Page 65: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 65

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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-24 に、 この属性のビッ ト と対応するさまざまなメ ッセージ タイプを示します。

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‐23:統合ブロックのユーザー インターフェイスのコンフ ィギュレーシ ョ ン属性 (続き)

属性名 タイプ 説明

表 2‐24: 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

Page 66: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 66

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

表 2-25 に示すよ うに、 PCI コンフ ィギュレーシ ョ ン空間は主に 3 つの要素で構成されています。 これには次のものが含まれます。

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

° エンドポイン ト アプリ ケーシ ョ ンで使用するタイプ 0 コンフ ィギュレーシ ョ ン空間ヘッダー (表 2-26 参照)

° ルート ポート アプリ ケーシ ョ ンで使用するタイプ 1 コンフ ィギュレーシ ョ ン空間ヘッダー (表 2-27 参照)

• レガシ拡張機能項目

° PCIe 機能項目

° パワー マネージメン ト機能項目

° Message Signal Interrupt (MSI) 機能項目

° MSI-X 機能項目 (オプシ ョ ン)

• PCIe 機能

° Advanced Error Reporting (AER) 拡張機能構造体

° Alternate Requester ID (ARI) (オプシ ョ ン)

° Device Serial Number 機能構造体 (DSN) (オプシ ョ ン)

° 電力バジェッ ト機能の強化

° 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) 拡張機能構造体 (オプシ ョ ン)

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 応答

表 2‐24: AXISTEN_IF_ENABLE_MSG_ROUTE 属性ビッ トの説明 (続き)

ビッ ト  インデックス メ ッセージ タイプ

Page 67: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 67

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

• PCIe 拡張機能

° Device Serial Number 拡張機能構造体 (オプシ ョ ン)

° Virtual Channel 拡張機能構造体 (オプシ ョ ン)

° Advanced Error Reporting (AER) 拡張機能構造体 (オプシ ョ ン)

° Medica Configuration Access Port (MCAP) 拡張機能構造体 (オプシ ョ ン)

コアは、 レガシ拡張機能項目を 大 4 つまで実装できます。

この機能の有効化に関する詳細は、 第 4 章の 「コアのカスタマイズおよび生成」 を参照してください。

コアは、 PCI Express 拡張機能を 大 10 まで実装できます。 残りの PCI Express 拡張機能空間は、 ユーザーが定義できます。 ユーザーが利用できるこの空間の開始アドレスは、 480h とな り ます。 この空間にレジスタを実装する場合は、 この空間の開始アドレスを選択でき、 この空間をユーザー アプリ ケーシ ョ ンに実装する必要があ り ます。

この機能の有効化に関する詳細は、 第 4 章の 「[Extended Capabilities 1] および [Extended Capabilities 2]」 を参照してください。

表 2‐25:共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー

31 16 15 0

Device ID Vendor ID 000h

Status Command 004h

Class Code Rev ID 008h

BIST Header Lat Timer Cache Ln 00Ch

Header Type Specific

(表 2-26 および表 2-27 を参照)

010h

014h

018h

01Ch

020h

024h

028h

02Ch

030h

CapPtr 034h

038h

Intr Pin Intr Line 03Ch

予約040h-07Ch

Page 68: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 68

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

PM Capability NxtCap PM Cap 080h

Data 予約 PMCSR 084h

予約088h-08Ch

カスタマイズ可能(1) MSI Control NxtCap MSI Cap 090h

Message Address (Lower) 094h

Message Address (Upper) 098h

予約 Message Data 09Ch

Mask Bits 0A0h

Pending Bits 0A4h

予約0A8h-0ACh

オプシ ョ ン(3) MSl-X Control NxtCap MSl-X Cap 0B0h

Table Offset Table BIR 0B4h

PBA Offset PBA BIR 0B8h

予約 0BCh

PE Capability NxtCap PE Cap 0C0h

PCI Express Device Capabilities 0C4h

Device Status Device Control 0C8h

PCI Express Link Capabilities 0CCh

Link Status Link Control 0D0h

ルート ポートのみ(2) Slot Capabilities 0D4h

Slot Status Slot Control 0D8h

Root Capabilities Root Control 0DCh

Root Status 0E0h

PCI Express Device Capabilities 2 0E4h

Device Status 2 Device Control 2 0E8h

PCI Express Link Capabilities 2 0ECh

Link Status 2 Link Control 2 0F0h

未実装のコンフ ィギュレーシ ョ ン空間 (0x00000000 を返す)

0F4h-0FCh

表 2‐25:共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 69: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 69

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

常に有効 Next Cap Cap.Ver. PCI Express Extended Cap.ID (AER) 100h

Uncorrectable Error Status Register 104h

Uncorrectable Error Mask Register 108h

Uncorrectable Error Severity Register 10Ch

Correctable Error Status Register 110h

Correctable Error Mask Register 114h

Advanced Error Cap. and Control Register 118h

Header Log Register 1 11Ch

Header Log Register 2 120h

Header Log Register 3 124h

Header Log Register 4 128h

予約 12Ch

オプシ ョ ン、

ルート ポートのみ(3)Root Error Command Register 130h

Root Error Status Register 134h

Error Source ID Register 138h

予約 13Ch

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

PCI Express Extended Capability - Alternate Requester ID (ARI)

140h

Control Next Function Function Groups 144h

予約148h-14Ch

オプシ ョ ン(3) Next Cap Cap.Ver. PCI Express Extended Capability - DSN 150h

PCI Express Device Serial Number (1st) 154h

PCI Express Device Serial Number (2nd) 158h

予約 15Ch

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

PCI Express Extended Capability - Power Budgeting Enhanced Capability Header

160h

予約 DS 164h

予約 Power Budget Data - State D0, D1, D3, ... 168h

Power Budget Capability 16Ch

予約 170h-1B4h

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

PCI Express Extended Capability ID - Latency Tolerance Reporting (LTR)

1B8h

No-Snoop Snoop 1BCh

表 2‐25:共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 70: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 70

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

PCI Express Extended Capability ID - Dynamic Power Allocation

1C0h

Capability Register 1C4h

Latency Indicator 1C8h

Control Status 1CCh

Power Allocation Array Register 0 1D0h

Power Allocation Array Register 1 1D4h

予約1D8h-1FCh

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

PCI Express Extended Capability ID - Single Root I/O Virtualization (SR-IOV)

200h

Capability Register 204h

SR-IOV Status (サポート対象外) Control 208h

Total VFs Initial VFs 20Ch

Function Dependency Link Number VFs 210h

VF Stride First VF Offset 214h

VF Device ID 予約 218h

Supported Page Sizes 21Ch

System Page Size 220h

VF Base Address Register 0 224h

VF Base Address Register 1 228h

VF Base Address Register 2 22Ch

VF Base Address Register 3 230h

VF Base Address Register 4 234h

VF Base Address Register 5 238h

予約 23Ch

予約240h-270h

オプシ ョ ン(3) Next Cap Cap.Ver. PCI Express Extended Capability ID - Transaction Processing Hints (TPH)

274h

Capability Register 278h

Requester Control Register 27Ch

予約 Steering Tag Upper Steering Tag Lower 280h

予約284h- 2FCh

表 2‐25:共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 71: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 71

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

オプシ ョ ン(3) Next Cap Cap.Ver. PCI Express Extended Capability ID - Secondary PCIe Extended Capability

300h

Lane Control (サポート対象外) 304h

予約 Lane Error Status 308h

Lane Equalization Control Register 0 30Ch

Lane Equalization Control Register 1 310h

Lane Equalization Control Register 2 314h

Lane Equalization Control Register 3 318h

予約31Ch-33Ch

オプシ ョ ン(3)(5) Next Cap Cap.Ver. PCI Express Extended Capability ID - MCAP 340h

Capability Register 344h

FPGA JTAG ID 348h

FPGA Bitstream Version 34Ch

Status Register 350h

Control Register 354h

Data Write Register 358h

Read Data 0 Register 35Ch

Read Data 1 Register 360h

Read Data 2 Register 364h

Read Data 3 Register 368h

予約36Ch-3BCh

オプシ ョ ン(3) Next Cap Cap.Ver. PCI Express Extended Capability - VC 3C0h

Port VC Capability Register 1 3C4h

Port VC Capability Register 2 3C8h

Port VC Status Port VC Control 3CCh

VC Resource Capability Register 0 3D0h

VC Resource Control Register 0 3D4h

VC Resource Status Register 0 3D8h

予約400h-FFFh

注記:1. MSI 機能構造体は、 Vivado IDE 内での選択内容によって異なり ます。

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

3. PCI Express 拡張コンフ ィギュレーシ ョ ン空間のレイアウ ト (100h-FFFh) は、 有効化されたオプシ ョ ン機能によって変わり ま

す。 この表は、 オプシ ョ ンのすべての拡張機能構造体 (RBAR) が有効な場合での拡張コンフ ィギュレーシ ョ ン空間レイアウ ト

を示しています。

4. SR-IOV オプシ ョ ンが有効に設定されている場合、 デフォルトで有効となり ます。

5. MCAP レジスタおよびその使用法の詳細は、 AR 64761 を参照してください。

表 2‐25:共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー (続き)

31 16 15 0

Page 72: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 72

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 2 章:製品仕様

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

31 16 15 0

Device ID Vendor ID 00h

Status Command 04h

Class Code Rev ID 08h

BIST Header Lat Timer Cache Ln 0Ch

Base Address Register 0 10h

Base Address Register 1 14h

Base Address Register 2 18h

Base Address Register 3 1Ch

Base Address Register 4 20h

Base Address Register 5 24h

Cardbus CIS Pointer 28h

Subsystem ID Subsystem Vendor ID 2Ch

Expansion ROM Base Address 30h

予約 CapPtr 34h

予約 38h

Max Lat Min Gnt Intr Pin Intr Line 3Ch

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

31 16 15 0

Device ID Vendor ID 00h

Status Command 04h

Class Code Rev ID 08h

BIST Header Lat Timer Cache Ln 0Ch

Base Address Register 0 10h

Base Address Register 1 14h

Second Lat Timer Sub Bus Number Second Bus Number Primary Bus Number 18h

Secondary Status I/O Limit I/O Base 1Ch

Memory Limit Memory Base 20h

Prefetchable Memory Limit Prefetchable Memory Base 24h

Prefetchable Base Upper 32 Bits 28h

Prefetchable Limit Upper 32 Bits 2Ch

I/O Limit Upper 16 Bits I/O Base Upper 16 Bits 30h

予約 CapPtr 34h

Expansion ROM Base Address 38h

Bridge Control Intr Pin Intr Line 3Ch

Page 73: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 73

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 3章

コアを使用するデザインこの章では、 コアを使用した設計をよ り容易にするためのガイ ド ラインおよび追加情報を紹介します。

共有ロジック

この機能には、 2 種類の共有方法があ り ます。

• GT COMMON をコアまたはサンプル デザインに含める方法

• GT Wizard をコアまたはサンプル デザインに含める方法

GT COMMON を使用する方法 

この機能によ り、 PCIe® ブロッ クの複数のインスタンス間で共通ロジッ クを共有したり、 または制限事項はあ り ますがほかのコアと共通ロジッ クを共有するこ とができます。 この共有ロジッ クによ り、 デザインの 上位モジュールに共有するロジッ クを配置するのに必要な HDL の変更を 小限に抑えるこ とができ、 また 上位モジュールの追加ポート を有効にし、 共有を可能にするこ とができます。 共有ロジッ クはエンドポイン ト モード とルート ポート モードのどちらでも利用できます。

Vivado® Design Suite ではコアをカスタマイズする と きの [Shared Logic] ページでこのオプシ ョ ンを設定するこ とができます。

ロジッ ク共有には 2 つのタイプがあ り ます。

• コアに含まれた共有ロジッ ク

• サンプル デザインに含まれた共有ロジッ ク

これらの両ケースで GT_COMMON ブロッ クが共有されます。

重要: [Include Shared Logic in Example Design] オプシ ョ ンをオンにして該当するモジュールがサポート ディ レク ト リに生成されるよ うにする場合、 出力ファイルの生成後に [Open IP Example Design] を実行する必要があ り ます。[Include Shared Logic in Core] (デフォルト ) オプシ ョ ンをオンにする と、 これらのモジュールがソース ディ レク ト リに生成されます。

重要: [Shared Logic] ページは、 Gen1 以外のリ ンク スピードを選択した場合のみ表示されます。 共有ロジッ ク機能で使用できるのは QPLL1 ブロ ッ クのみです。 - Gen1 スピードの場合、 デザインは CPLL を使用します。 CPLL は共有できないため、 共有ロジッ ク機能は無効となり ます。 - Gen2 スピードの場合、 QPLL1 または CPLL を選択できます。 [GT Settings] ページの [PLL Type] で CPLL を選択した場合、 [Shared Logic] ページは表示されません。

Page 74: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 74

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

コアに含まれた共有ロジック

この機能を使用する と、 GT_COMMON ブロ ッ クをサポート ラ ッパーに置かずに、 コア内部で共有できます。 この機能を有効にするには、 [Shared Logic] ページで [Include Shared Logic in Core] をオンにします (デフォルトでオン)。

X-Ref Target - Figure 3-1

図 3‐1: コアに含まれた共有ロジック

Page 75: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 75

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

共有 GT_COMMON

GT_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 76: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 76

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-2

図 3‐2:サンプル デザインに含まれた共有ロジック

Page 77: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 77

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

GT Wizard を使用する方法

[include GT Wizard in example design] をオンにする と、GT Wizard IP がサンプル デザイン領域に取り込まれます。 さ らにテス トする目的でリ コンフ ィギュレーシ ョ ンもできます。 GT Wizard IP はデフォルトで階層 IP と して PCIe IP コアに含まれており、 リ カスタマイズできません。 信号の説明およびその他の詳細は、 『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576) [参照 11] または 『UltraScale アーキテクチャ GTY ト ランシーバー ユーザー ガイ ド』 (UG578) [参照 12] を参照してください。

\

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

PCI Express はプラグアンドプレイ プロ ト コルであるため、電源投入時に PCIe ホス トによってシステムへのエニュ メレーシ ョ ンが実行されます。 このプロセスでは、 ホス トが各デバイスから要求されたアドレス サイズを読み出し、そのデバイスにベース アドレスを割り当てます。 そのため、 PCIe インターフェイスはホス トからの問い合わせに対応できる状態になっている必要があ り、 そ うでなければベース アドレスが割り当てられません。 PCI Express 仕様では、 システムが電源安定 (power good) 状態になってから 100ms 後に PERST# がディアサート され、 PERST# がディアサート されてから 20ms 以内に PCI Express でリ ンク ト レーニングが確立するよ う定められています。 これは、 一般的に 「100ms ブート タイム要件」 と呼ばれています。

Tandem コンフ ィギュレーシ ョ ンでは 2 段階の手法が用いられ、 これによ り IP は PCI Express 仕様に示されているコンフ ィギュレーシ ョ ン時間の要件を満たすこ とができます。 複数の使用ケースがこのテク ノ ロジでサポート されています。

• Tandem PROM: フラ ッシュから 1 つの 2 段階ビッ ト ス ト リームをロード します。

• Tandem PCIe: フラ ッシュから第 1 段階のビッ ト ス ト リームをロード し、 PCIe リ ンクを介して第 2 段階のビッ トス ト リームを MCAP に提供します。

• フ ィールド アップデート を伴う Tandem: Tandem PROM または Tandem PCIe の初期コンフ ィギュレーシ ョ ンが完了したら、 PCIe リ ンクがアクティブの間にユーザー デザイン全体をアップデート します。 アップデート領域 (フロアプラン) とデザイン構造はあらかじめ定義されており、 Tcl スク リプ トは提供されます。

• Tandem およびパーシャル リ コンフ ィギュレーシ ョ ン: これは Tandem コンフ ィギュレーシ ョ ンのよ り一般的なケースで、 Tandem 後にあらゆるサイズ/数の PR 領域のパーシャル リ コンフ ィギュレーシ ョ ンが続きます。

• PCIe を介するパーシャル リ コンフ ィギュレーシ ョ ン: これは PR が後に続く標準的なコンフ ィギュレーシ ョ ンで、 パーシャル ビッ ト ス ト リームの送信パスと して PCIe/MCAP を使用します。

X-Ref Target - Figure 3-3

図 3‐3: GT Wizard の共有ロジック

Page 78: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 78

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

これらの機能のいずれかを有効にするには、 コアのカスタマイズ時に適切なオプシ ョ ンを選択します。 [Basic] タブで次を実行します。

1. [Mode] を [Advanced] に変更します。

2. [Tandem Configuration or Partial Reconfiguration] を特定のケースに従って変更します。

° Tandem PROM、 Tandem PCIe または Tandem およびパーシャル リ コンフ ィギュレーシ ョ ンの使用ケースの場合は、 [Tandem] を選択します。

° あらかじめ定義されているフィールド アップデートに対してのみ、 [Tandem with Field Updates] を選択します。

注記:現在のリ リースの Vivado Design Suite では、 このソ リ ューシ ョ ンは一部のデバイスに対してのみベータ と して提供されています。 ベータのため、 インプリ メンテーシ ョ ンはすべてのユーザーが利用できますが、 ビッ ト ス ト リーム生成はパラ メーターによってゲーティングされます。 ビッ ト ス ト リームの生成と管理は、 Vivado Design Suite の今後のリ リースで強化されます。

° [PR over PCIe] は、 Tandem コンフ ィギュレーシ ョ ンを有効にしないでパーシャル リ コンフ ィギュレーシ ョン用に MCAP リ ンクを有効にするために選択します。

AXI DMA/Bridge Subsystem for PCI Express は、 UltraScale デバイスに対して Tandem コンフ ィギュレーシ ョ ンおよびパーシャル リ コンフ ィギュレーシ ョ ンの機能 (フ ィールド アップデート を伴う Tandem を含む) をサポート しています。 サポート されるデバイスの詳細は、 『DMA/Bridge Subsystem for PCI Express 製品ガイ ド』 (PG195) [参照 5] に記載していますが、 Tandem インプリ メンテーシ ョ ンの詳細を説明しているのはこのセクシ ョ ンのみです。

サポート されるデバイス

UltraScale Devices Gen3 Integrated Block for PCIe コアおよび Vivado ツール フローは、ザイ リ ンクスのリ ファレンス ボード と特定のデバイス /パッケージの組み合わせをターゲッ トにしたインプリ メンテーシ ョ ンをサポート しています。

Vivado Design Suite 2017.3 リ リースでは、 Tandem コンフ ィギュレーシ ョ ンはすべての UltraScale プロダクシ ョ ン デバイスに対するプロダクシ ョ ン ソ リ ューシ ョ ンと して利用できます。 ビッ ト ス ト リーム生成は、 すべての ES シ リ コンに対してデフォルトで無効に設定されています。 Tandem コンフ ィギュレーシ ョ ンは、 表 3-2 にあるコンフ ィギュレーシ ョ ンをサポート しています。

X-Ref Target - Figure 3-4

図 3‐4: [Tandem Configuration or Partial Reconfiguration] オプシ ョ ン

Page 79: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 79

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

Tandem ツール フローの概要

Tandem PROM および Tandem PCIe ソ リ ューシ ョ ンは、 Vivado Design Suite でのみサポート されています。 これらのソリ ューシ ョ ンのツール フローは、 次のとおりです。

1. コアのカスタマイズ: サポート されるデバイスを表 3-2 から選択し、[Mode] でコンフ ィギュレーシ ョ ン モードを [Advanced] に設定し、 [Tandem Configuration or Partial Reconfiguration] で [Tandem] を選択します。

2. コアを生成します。

3. サンプル プロジェク ト を開いて、 サンプル デザインをインプ リ メン ト します。

4. ユーザー プロジェク トで、 サンプル プロジェク トからの IP や XDC を使用して、 コアをインスタンシエート します。

5. ユーザー デザインを合成してインプリ メン ト します。

6. ビッ ト ファイルを生成し、 次に prom ファ イルを生成します。

Tandem フローの一環と して、 PCIe コア ロジッ クの外部にある特定エレ メン ト も第 1 段階ビッ ト ス ト リームに含める必要があ り ます。 Vivado デザイン ルール チェッ ク (DRC) は、 これらの状況を認識し、 問題を解決する方法を指示します。 通常、 デザインの制約を変更したり、 追加して問題を解決します。

表 3‐2: Tandem PROM/PCIe がサポートするコンフ ィギュレーシ ョ ン

HDL Verilog のみ

PCIe コンフ ィギュレーション すべてのコンフ ィギュレーシ ョ ン ( 大: X8Gen3)

ザイリンクス リファレンス ボードのサポート

KCU105 評価ボード (Kintex UltraScale FPGA 用)

VCU108 評価ボード (Virtex UltraScale FPGA 用)

デバイス サポート デバイス(1) PCIe ブロックのロケーシ ョ ン

PCIe リセッ トのロケーシ ョ ン

Tandem 

コンフィギュレーション

フ ィールド  アップデート を伴う  

Tandem

Kintex UltraScale

XCKU025 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン プロダクシ ョ ン

XCKU035 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン プロダクシ ョ ン

XCKU040 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン プロダクシ ョ ン

XCKU060 PCIE_3_1_X0Y0 IOB_X2Y103 プロダクシ ョ ン プロダクシ ョ ン

XCKU085 PCIE_3_1_X0Y0 IOB_X2Y103 プロダクシ ョ ン プロダクシ ョ ン

XCKU095 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン プロダクシ ョ ン

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 プロダクシ ョ ン プロダクシ ョ ン

XCVU125 PCIE_3_1_X0Y0 IOB_X1Y103 プロダクシ ョ ン プロダクシ ョ ン

XCVU160 PCIE_3_1_X0Y1 IOB_X1Y363 プロダクシ ョ ン プロダクシ ョ ン

XCVU190 PCIE_3_1_X0Y2 IOB_X1Y363 プロダクシ ョ ン プロダクシ ョ ン

XCVU440 PCIE_3_1_X0Y2 IOB_X1Y363 プロダクシ ョ ン プロダクシ ョ ン

注記:1. Production シ リ コンのみが正式にサポート されています。 ビッ ト ス ト リーム生成は、 すべてのエンジニア リ ング サンプル シ リ コン (ES2)

デバイスに対して無効に設定されています。

Page 80: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 80

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

サンプル デザインが作成される場合には、 特定の制約を含むサンプルの XDC ファ イルが生成され、 これはユーザーが指定するプロジェク トの XDC ファ イルへコピーされる必要があ り ます。 具体的な制約内容は、 サンプル デザインの XDC ファ イルに記載されています。 また、 このサンプル デザイン XDC ファ イルには、 BPI や SPI などのフラ ッシュ メモ リ デバイス用のオプシ ョ ンの設定方法の例も含まれています。

実際に PCIe IP を生成する と、Tandem PROM と Tandem PCIe には違いがないこ とがわかり ます。 どちらの方法でも生成される IP コアは同じです。 このため、 Vivado IDE ではどちら も [Tandem] を選択します。 違いがあるのは write_bitstream の実行時で、 必要な BIT ファ イルが 1 つ (Tandem PROM) なのか 2 つ (Tandem PCIe) なのかをプロパティ (HD.TANDEM_BITSTREAMS) で定義します。 コアおよび対応するインプリ メンテーシ ョ ンの結果はまったく同一です。

Tandem PROM 

Tandem PROM ソ リ ューシ ョ ンは、 ビッ ト ス ト リームを 2 つに分割していますが、 これらは共にオンボードのローカル コンフ ィギュレーシ ョ ン メモ リ (通常は PROM またはフラ ッシュ メモ リ デバイス) からロード されます。 初のビッ ト ス ト リームは、デザインの PCI Express 部分をコンフ ィギュレーシ ョ ンし、2 つ目のビッ ト ス ト リームは FPGA の残りの部分をコンフ ィギュレーシ ョ ンします。 図 3-5 に示すよ うに、 デザインは 2 段階に分けられていますが、 生成される BIT ファ イルは 1 つだけであ り、 第 1 段階と第 2 段階を共に含みます。

Tandem PROM VCU108 サンプル ツール フロー 

このセクシ ョ ンでは、 VCU108 リ ファレンス ボードをターゲッ トにした場合の 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] ダイアログ ボッ クスを開きます。

X-Ref Target - Figure 3-5

図 3‐5: Tandem PROM ビッ トス ト リームのロード手順

X12490

Tandem PROM

First Stage

Second Stage

Stage 1 – PCIe

Stage 2 – UserApplication

UserApplication

Inte

grat

ed B

lock

For P

CIe

Page 81: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 81

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

3. [Customize IP] ダイアログ ボッ クスの [Basic] タブで、次のよ うにオプシ ョ ンが選択されているこ とを確認します。

° [Mode]: Advanced

° [PCIe Block Location]: X0Y0

注記: ターゲッ ト デバイスに必要な PCIe ブロッ ク ロケーシ ョ ンを、表 3-2 に示すリ ス トから選択して使用します。

° [Tandem Configuration or Partial Reconfiguration]: Tandem

X-Ref Target - Figure 3-6

図 3‐6: Vivado IP カタログ

Page 82: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 82

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

4. その他に必要な PCIe カスタマイズを実行し、 [OK] をク リ ッ ク してコアを生成します。

5. どの出力ファイルを生成するかをたずねる画面が表示されたら、 [Generate] をク リ ッ ク します。

6. [Sources] ウ ィンド ウでコアを右ク リ ッ ク し、 [Open IP Example Design] をク リ ッ ク します。

Vivado の新しいインスタンスが開き、 サンプル デザインが自動的に Vivado IDE にロード されます。

7. 合成およびインプ リ メンテーシ ョ ンを実行します。

Flow Navigator で [Run Implementation] をク リ ッ ク します。 合成を先に実行するには、 [OK] をク リ ッ ク します。完全ツール フローによってデザインが実行され、 Tandem PROM をサポートする完全に配線されたデザインが作成されます。

X-Ref Target - Figure 3-7

図 3‐7: Tandem PROM

Page 83: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 83

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

8. PROM またはフラ ッシュを設定します。

PROM またはフラ ッシュ メモ リ デバイスのビッ ト ス ト リームを生成するため、 適切な設定を行います。 PCIe コア制約ファイル (xilinx_pcie3_uscale_ep_x8g3.xdc など) で、 次のよ うに処理します。

° コンフ ィギュレーシ ョ ンの設定を定義する制約をアンコ メン ト し、 カスタマイズします。

° 必要な制約は CONFIG_MODE です。 次に例を示します。 set_property CONFIG_MODE BPI16 [current_design] などのよ うにします。

詳細は、 101 ページの 「デバイスのプログラム」 を参照してください。

9. ビッ ト ス ト リームを生成します。

合成およびインプ リ メンテーシ ョ ン完了後、 Flow Navigator で [Generate Bitstream] をク リ ッ ク します。 Tandem コンフ ィギュレーシ ョ ンをサポートするビッ ト ス ト リームが runs ディレク ト リに生成されます。例: ./pcie_ultrascale_0_example.runs/impl/xilinx_pcie3_uscale_ep.bit

注記:第 1 段階と第 2 段階のビッ ト ス ト リームを個別に生成するオプシ ョ ンがあ り ます。 このフローでは、 テスト用の JTAG インターフェイスを使用して、 各段階のビッ ト ス ト リーム ロードを制御できます。 これらのビット ス ト リームは、 JTAG を使用してロード した場合、 Tandem PCIe ソ リ ューシ ョ ンで使用したものと同じです。ハード ウェアでフラ ッシュ メモ リから第 1 段階ビッ ト ス ト リームのみをロード しよ う と しても、HD.OVERRIDE_PERSIST 設定が Tandem PCIe デザインで使用されているものと異なるためう ま くいきません。

set_property HD.TANDEM_BITSTREAMS SEPARATE [current_design]

xilinx_pcie3_uscale_ep_tandem1.bit および xilinx_pcie3_uscale_ep_tandem2.bit という名前の BIT ファ イルが生成されます。

10. PROM ファ イルを生成します。

Vivado の Tcl コンソールで次のコマンドを実行して、VCU108 開発ボードでサポート される PROM ファ イルを作成します。

write_cfgmem -format mcs -interface BPI -size 256 -loadbit “up 0x0 xilinx_pcie3_uscale_ep.bit” xilinx_pcie3_uscale_ep.mcs

Tandem PROM のまとめ

Tandem PROM を使用するこ とによ り、 UltraScale デバイス デザインの PCIe 部分をコンフ ィギュレーシ ョ ンするのに必要な時間を大幅に短縮できます。UltraScale Devices Gen3 Integrated Block for PCIe コアがデザインの詳細の多くを管理するため、 設計者はユーザー アプリ ケーシ ョ ンに集中できます。

Page 84: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 84

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

Tandem PCIe

Tandem PCIe は、 Tandem PROM と類似しています。 第 1 段階ビッ ト ス ト リームでは、 PCI Express 動作に必要なコンフ ィギュレーシ ョ ン メモ リ セルのみが PROM からロード されます。 第 1 段階のビッ ト ス ト リームがロード された後、 PCI Express ポートは、 エニュ メ レーシ ョ ン ト ラフ ィ ッ クに応答します。 これに続いて、 第 2 段階ビッ ト ス トリームが PCI Express リ ンクを介して送信されます。

ビデオ: 「KCU105 用 Tandem PCIe デザインの作成」 で KCU105 評価キッ ト をターゲッ トにしたデザインの作成方法を説明しています。

図 3-8 に、 ビッ ト ス ト リームのロードのフローを示します。

Tandem PCIe は、 ツール フローおよびビッ ト ス ト リーム生成の点で現在使用されている標準モデルと同様です。ビッ ト ス ト リーム生成を実行する と、 2 つのビッ ト ス ト リームが作成されます。 第 1 段階を表す BIT ファ イルが PROM にダウンロード される間、 ユーザー アプリ ケーシ ョ ン (第 2 段階) を表すも う一つの BIT ファ イルが Media Configuration Access Port (MCAP) を使用して FPGA の残りの部分をコンフ ィギュレーシ ョ ンします。

Tandem PCIe VCU108 サンプル ツール フロー

このセクシ ョ ンでは、 VCU108 リ ファレンス ボードをターゲッ トにした場合の 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] ダイアログ ボッ クスを開きます。

X-Ref Target - Figure 3-8

図 3‐8: Tandem PCIe ビッ トス ト リームのロード手順

User Application

X12937

Initial PCIeInterface

FPGA Startup

PROM

CFG

PO

RT

PCIe link

Page 85: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 85

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

3. [Customize IP] ダイアログ ボッ クスの [Basic] タブで、次のよ うにオプシ ョ ンが選択されているこ とを確認します。

° [Mode]: Advanced

° [PCIe Block Location]: X0Y0

注記: ターゲッ ト デバイスに必要な PCIe ブロッ ク ロケーシ ョ ンを、表 3-2 に示すリ ス トから選択して使用します。

° [Tandem Configuration or Partial Reconfiguration]: Tandem

X-Ref Target - Figure 3-9

図 3‐9: Vivado IP カタログ

Page 86: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 86

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

4. サンプル デザインのソフ ト ウェアは、 ベンダー ID およびデバイス ID を使用してデバイスに接続します。 ベンダー ID は 16'h10EE、 デバイス ID は 16'h8038 とな り ます。 [PF0 IDs] タブで、 次のよ うに設定します。

° [Vendor ID]: 10EE

° [Device ID]: 8038

注記:別のソ リ ューシ ョ ンの場合は、 ベンダー ID およびデバイス ID を変更し、 ソフ ト ウェアをアップデート して新しい値と一致させます。

X-Ref Target - Figure 3-10

図 3‐10: Tandem PCIe

Page 87: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 87

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

5. その他に必要な PCIe カスタマイズを実行し、 [OK] をク リ ッ ク してコアを生成します。

コアが生成される と、 Vivado IDE の [Source] ウ ィンド ウにコアの階層が表示されます。

6. [Sources] ウ ィンド ウでコアを右ク リ ッ ク し、 [Open IP Example Design] をク リ ッ ク します。

Vivado の新しいインスタンスが開き、サンプル デザイン プロジェク トが自動的に Vivado IDE にロード されます。

7. 合成およびインプ リ メンテーシ ョ ンを実行します。

Flow Navigator で [Run Implementation] をク リ ッ ク します。 合成を先に実行するには、 [OK] をク リ ッ ク します。完全ツール フローによってデザインが実行され、 Tandem PCIe をサポートする完全に配線されたデザインが作成されます。

X-Ref Target - Figure 3-11

図 3‐11: [PFO IDs] タブ

Page 88: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 88

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

8. PROM または Flash を設定し、 2 つの明示的なビッ ト ファ イルを要求します。

PROM またはフラ ッシュ メモ リ デバイスのビッ ト ス ト リームを生成するため、 次の方法で適切な設定を行います。

° PCIe IP 制約ファイル (pcie3_ultrascale_0_tandem など) で制約を変更します。

° サンプル デザイン制約ファイルに示すとおり、 次のプロパティを設定して 2 つの明示的なビッ ト ス ト リームを要求します。

set_property HD.OVERRIDE_PERSIST FALSE [current_design]set_property HD.TANDEM_BITSTREAMS Separate [current_design]

HD.TANDEM_BITSTREAMS のその他の設定値は、 Tandem PROM ソ リ ューシ ョ ンで使用される Combined (デフォルト ) と、 デバイス全体の標準の第 1 段ビッ ト ス ト リームを生成する None です。 詳細は、 101 ページの 「デバイスのプログラム」 を参照してください。

9. ビッ ト ス ト リームを生成します。

合成およびインプ リ メンテーシ ョ ン完了後、 Flow Navigator で [Generate Bitstream] をク リ ッ ク します。 次の 2 つのファイルが作成されて、 runs ディレク ト リに保存されます。

xilinx_pcie3_uscale_ep_tandem1.bit|xilinx_pcie3_uscale_ep_tandem2.bit

10. 第 1 段階用の PROM ファ イルを生成します。

Vivado の Tcl コンソールで次のコマンドを実行して、VCU108 開発ボードでサポート される 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 64761 を参照してください。

Tandem PCIe のまとめ

Tandem PCIe を使用するこ とによ り、 UltraScale デバイス デザインの PCIe 部分をコンフ ィギュレーシ ョ ンするのに必要な時間を大幅に短縮でき、 またビッ ト ス ト リーム フラ ッシュ メモ リ ス ト レージの要件も軽減できます。UltraScale Devices Gen3 Integrated Block for PCIe コアがデザインの詳細の多くを管理するため、 設計者はユーザー アプリ ケーシ ョ ンに集中できます。

フ ィールド  アップデート を伴う  Tandem

フ ィールド アップデート を伴う Tandem は UltraScale デバイス向けのソ リ ューシ ョ ンで、 PCIe リ ンクを無効にすることな く この リ ンクを介して新しいビッ ト ス ト リームをロードできるため、 高速コンフ ィギュレーシ ョ ンの要件を満たし、 ユーザー アプリ ケーシ ョ ンを動的に変更できます。 このソ リ ューシ ョ ンは、 電源投入時にまず Tandem コンフ ィギュレーシ ョ ンを使用してデバイスをコンフ ィギュレーシ ョ ンした後、 FPGA 内の事前に定義された領域に対してパーシャル リ コンフ ィギュレーシ ョ ン (PR) を実行します。 これによ り、 第 1 段階ビッ ト ス ト リームをフラ ッシュにロ ッ ク しておく こ とができ、 このイ メージに対する更新は UltraScale Devices Gen3 Integrated Block for PCIe コアの特性またはコンフ ィギュレーシ ョ ン バンク (バンク 65) にある I/O またはクロ ッ ク管理ブロッ クを変更する場合のみに抑えられます。 フ ィールド アップデート を伴う Tandem を使用する と、 新しい機能が必要になったと きにユーザー アプリ ケーシ ョ ン (基本的に、 この IP を除くデザインすべて) を動的に再ロードできます。

Page 89: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 89

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

フ ィールド アップデート を伴う Tandem はパーシャル リ コンフ ィギュレーシ ョ ンを使用しますが、 IP と一緒に生成したサンプルのデザイン構造とフロアプランを変更しなければ、 PR ライセンスは不要です。 フ ィールド アップデート を伴う Tandem は、 汎用的な Tandem + PR ソ リ ューシ ョ ンの特定のユース ケースを事前に定義したものです。 これら 2 つのソ リ ューシ ョ ン (Tandem と PR) は同じデザインで汎用的にサポート されるため、 ユーザー アプリ ケーシ ョン内の複数の小さな領域に対して PR を実行できます。このよ うに汎用的な用途の場合は PR ライセンスが必要です。

UltraScale Devices Gen3 Integrated Block for PCIe コアを生成後、 サンプル デザインを作成し、 これをフ ィールド アップデート を伴う Tandem のデザイン構造のテンプレート と して使用できます。 このデザインは必要な構造、 フロアプラン、 プロパティ、 およびスク リプ ト を示しており、 これを実際のデザインに合わせて変更して使用できます。このサンプルに従って実際のデザインを 2 つのセクシ ョ ンに分割し、 これらを 2 段階のビッ ト ス ト リームにマップします。 なお、 フ ィールド アップデート を伴う Tandem はパーシャル リ コンフ ィギュレーシ ョ ン フローを使用しており、 この リ リースでは非プロジェク ト モードでしかサポート されないため、 スク リプ トが必要とな り ます。

Tandem コンフ ィギュレーシ ョ ンとの違い

標準的な Tandem コンフ ィギュレーシ ョ ンとフ ィールド アップデート を伴う Tandem には、主にデザイン レイアウ トとデザイン構造の 2 つの違いがあ り ます。

デザイン  レイアウト

まず、 標準的な Tandem コンフ ィギュレーシ ョ ンとフ ィールド アップデート を伴う Tandem のどちらの場合も、 フロアプランは IP 作成の一部と して決定され、 変更できません。 ただし、 フ ィールド アップデート を伴う Tandem では Pblock が 1 セッ トでなく 2 セッ ト生成されます。第 1 段階ロジッ ク用の Pblocks に HD.TANDEM のタグが付けられるのは同じですが、 も う 1 セッ トは HD.RECONFIGURABLE のタグが付けられた非常にサイズの大きいユーザー アプリ ケーシ ョ ン用の Pblock が生成されます。前者には、第 1 段階ビッ ト ス ト リームの生成に関して標準的な Tandem コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンと同じ規則が適用されます。 後者にはパーシャル リ コンフ ィギュレーシ ョ ンに関するすべての規則が適用されます。 たとえば代表的なものと して、 ユーザー アプリ ケーシ ョ ンのインプリ メンテーシ ョ ン全体がパーシャル ビッ ト ス ト リームに含まれるよ うに配線の閉じ込めに関する規則があ り ます。

図 3-12 に、フ ィールド アップデート を伴う Tandem の KU040 サンプル デザイン用に生成されたフロアプランを示します。 ピンクで示した領域は、 UltraScale Devices Gen3 Integrated Block for PCIe コア用に予約されています。 この領域には、 この IP をインプ リ メン トするための PCIe ハード ブロ ッ ク、 CLB、 ブロ ッ ク RAM およびト ランシーバー サイト、 そして物理リセッ ト ピンを有効にするための I/O バンクが 1 つ含まれます。 黄色の領域はピンクの領域を反転したもので、 ユーザー アプリ ケーシ ョ ン用のパーシャル リ コンフ ィギュレーシ ョ ン (PR) を表しています。 この領域には、 PCIe IP でカバーされないすべてのクロ ッ ク、 ト ランシーバー、 I/O およびロジッ クを含む、 残りの リ ソースが含まれます。

注記: update_region の名前で示した RP の右下隅には、 PIO サンプル デザイン ロジッ ク、 およびデザインの 2 つのセクシ ョ ンを接続する多数のパーティシ ョ ン ピンがあ り ます。

パーティシ ョ ン ピンまたはパーシャル リ コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンに関するその他の内容に関する詳細は、 『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909) [参照 18] を参照してください。

Page 90: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 90

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

デザイン構造

も う 1 つの違いは、 デザイン構造にあ り ます。 ユーザー アプリ ケーシ ョ ンをあるバージ ョ ンから別のバージ ョ ンへ差し替えるには、 ユーザー アプリ ケーシ ョ ンがそれ自身の階層レベルで自己完結している必要があ り ます。 このインスタンシエーシ ョ ンのインターフェイスは変更できません。 これは、 変更してしま う と 上位のスタティ ッ ク デザインをコンパイルし直す必要があるためです。 UltraScale Devices Gen3 Integrated Block for PCIe コア以外のすべて ( 上位よ り下の専用の階層レベル)、 およびバンク 65 に配置されているすべての I/O ロジッ ク (バッファー、MMCM、 PLL、 XiPhy など) は、 この階層 (および下) のレベルにあ り ます。 つま り、 その他すべてのバンクの I/O ロジッ クは 上位に推論するのではなく、 すべてこ こに配置する必要があ り ます。 このため、 I/O バッファーのインスタンシエーシ ョ ンが必要です。

ヒン ト : このデザイン構造の簡単な例を見るには、 KCU105 デモ ボードをターゲッ トにしてサンプル デザインを生成してください。

デザイン構造に関するも う 1 つの要件と して、 コンフ ィギュレーシ ョ ン フレームに配置する必要のあるエレ メン トはすべてこの 上位デザイン (または PCIe IP およびユーザー アプリ ケーシ ョ ンとは別の階層レベル) にも含める必要があ り ます。 これらのエレ メン ト と しては、 BSCAN、 ICAP、 STARTUP、 FRAME_ECC および関連コンポーネン トなどがあ り ます (その他のエレ メン トは、 『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョン』 (UG909) [参照 18] を参照)。 これらは動的にリ コンフ ィギュレーシ ョ ンできないため、 別の階層に隔離しておく必要があ り ます。 このため、 これらのエレ メン ト を必要とする IP コア、 たとえば BSCAN を使用する Vivado Debug Hub や Memory Interface Generator (MIG) などを安全にインプリ メン トするには特別な対策が必要です。 詳細は、「フ ィールド アップデート を伴う Tandem デザインのデバッグ」 を参照してください。

これ以外の Tandem コンフ ィギュレーシ ョ ンに関する注意事項はすべて、 フ ィールド アップデート を伴う Tandem にも適用されます。 たとえば、 Tandem PROM には PERSIST を使用する必要があ り、 第 1 段階ビッ ト ス ト リームは同じインプ リ メンテーシ ョ ンによる第 2 段階ビッ ト ス ト リームと リ ンク したままにする必要があ り ます。

X-Ref Target - Figure 3-12

図 3‐12: フ ィールド  アップデート を伴う  Tandem のフロアプラン (KU040)

Page 91: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 91

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

フ ィールド  アップデート を伴う  Tandem コンフ ィギュレーシ ョ ンのソフ トウェア フロー

Tandem IP をビルド してサンプル デザインをコンパイルするには、 次の手順を実行します。 Vivado Design Suite で IP のカスタマイズからビッ ト ス ト リーム生成までデザインを処理し、 2 種類のデザイン コンフ ィギュレーシ ョ ンを得ます。

1. [Customize IP] ダイアログ ボッ クスを開き、 UltraScale Devices Gen3 Integrated Block for PCIe コアをカスタマイズします。

注記: このソ リ ューシ ョ ンは、 バージ ョ ン 4.2 以降の IP でのみサポート されます。 サポート されるのは UltraScale デバイスのみです。

2. PCIe IP コアのカスタマイズで、 [Tandem with Field Updates] を選択します。 このオプシ ョ ンは、 [Advanced] モードを選択した場合のみ表示されます。 デバッグ機能が必要な場合、 [Use an external STARTUP primitive] をオンにします (デバッグ機能はほとんどのデザインで必要です)。

3. 合成オプシ ョ ンで [Out of context per IP] をオンにして出力ファイルを生成します (デフォルトはオン)。 これで IP を合成する と、 フル デザインに挿入可能なチェッ クポイン トが生成されます。

4. [Design Sources] ウ ィンド ウで IP を右ク リ ッ ク し、 [Open IP Example Design] をク リ ッ ク します。

重要: このサンプル デザインは、 プロジェク ト モードの Vivado IDE ではインプリ メン ト しないでください。 プロジェク ト モードでも非プロジェク ト モードでもコンパイル可能なサンプル デザインは、今後のバージ ョ ンの Vivado で提供予定です。

サンプル デザインには、 非プロジェク ト モードの Tcl フローで使用するスク リプ トが付属します。 このサンプル スク リプ トは field_update_scripts フォルダーにあ り ますが、 これらはすべてサンプル デザイン フォルダーにあるマスター スク リプ トによって参照されます。

5. Vivado Tcl シェルで source コマンドを実行し、 プロジェク ト ディレク ト リにある design_field_updates.tcl を実行します。 このファイルによ り、 2 つのバージ ョ ンのサンプル デザインがコンパイルされます。

° デフォルト設定では、 Ver1 が 初のデザインです。 初のブート時にはこのデザインを使用するため、Tandem ビッ ト ス ト リームが生成されます。

° Ver2 は Ver1 のアップデートに使用するため、 パーシャル ビッ ト ス ト リームのみが生成されます。

サンプル デザインの詳細

フ ィールド アップデート を伴う Tandem に必要なデザイン構造を表したシンプルな PIO デザインが、 IP と一緒に生成されます。 上位デザイン ファ イル (xilinx_pcie_uscale_ep.v) で 上位のピン リ ス ト を宣言し、pcie3_ultrascale_0 (この IP) と pcie_app_uscale (この IP 以外すべて) をインスタンシエート します。これら 2 つのサブモジュールにはそれぞれ HD.TANDEM と HD.RECONFIGURABLE のプロパティがタグ付けされます。これによ り、 配置配線時にインプ リ メンテーシ ョ ン ツールに対して両方の規則に従う よ う指示します。

図 3-13 に、 フ ィールド アップデート を伴う Tandem デザインの基本的な階層を示します。 第 1 段階ビッ ト ス ト リームはピンク色で示したモジュールのみを含み、 第 2 段階ビッ ト ス ト リームは黄色と白色で示したモジュールで構成されます。 パーシャル ビッ ト ス ト リームは黄色で示したモジュールのみで構成されます。 サンプル デザインの階層インスタンスの名前は、 図に示したとおりです。

Page 92: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 92

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

デザインの大半はリ コンフ ィギャラブル パーティシ ョ ンに配置する必要があ り ます。 したがって、 これらは pcie_app_uscale 階層ツ リーに置く必要があ り ます。 これには、 バンク 65 に配置されているすべての I/O および I/O ロジッ クならびに PCIe IP の PERSTN ピン以外のすべてが含まれます。 新しいバージ ョ ンができたら入れ替えができるよ うに、 すべてのユーザー I/O バッファーおよびロジッ ク、 ク ロ ッ ク、 GT など、 上記以外すべてのものをこの階層レベルに置く必要があ り ます。 この要件があるため、 エンベデッ ド I/O をバンク 65 に配置する必要のある IP を使用したデザインでは、 フ ィールド アップデート を伴う Tandem の使用は推奨しません。 これら I/O を人手で抽出する必要があ り、 その作業は困難であるためです。

デザインの 3 つのパーティシ ョ ン ( 上位、 PCIe IP、 およびユーザー アプリ ケーシ ョ ン) はすべて別々に合成され、2 つのサブモジュールは 「アウ ト オブ コンテキス ト 」 とマーク されます。 これによ り、 別々のブロ ッ クが境界を越えて 適化され、 インプ リ メンテーシ ョ ン時にブロッ クの入れ替えができなくなるのを防ぎます。 合成ツールは、自動 I/O 挿入を無効にすれば任意のものを使用できます。 Vivado 合成で自動 I/O 挿入を無効にするには、 -mode out_of_context オプシ ョ ンを選択します。 各バージ ョ ンのインプリ メンテーシ ョ ンはデザイン全体のコンテキスト内で実行されます。 2 番目のバージ ョ ンからは、 PCIe IP および 小限の 上位ロジッ クの配置配線結果がロッ クされるため、 変更はできません。

デザイン  スクリプ トの詳細

design_field_updates.tcl スク リプ トがマスターで、 field_update_scripts フォルダーにあるほかのスクリプ ト を呼び出します。 このマスター スク リプ トで変数を設定して 初のバージ ョ ン (Ver1) または 2 番目のバージ ョ ン (Ver2) のみを合成およびインプリ メン ト し、 それ以降のバージ ョ ンが必要な場合はこれをテンプレート と して使用します。 基本的に、 このフローはパーシャル リ コンフ ィギュレーシ ョ ン (PR) フローです。 PR の詳細は、『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909) [参照 18] を参照してください。 サンプル スク リプ トは、 『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947) [参照 21] で提供しています。

次に、 スク リプ トに関するいくつかの注意点を示します。

• スク リプ ト内では、 ある決まったディ レク ト リ構造が定義されています。 このため、 サンプルで作成および使用されるディ レク ト リ構造に従う こ とを推奨します。

• 行番号 99 ~ 109 にフラグを設定する と、 どのコンフ ィギュレーシ ョ ンをコンパイルするかを判定できます。

° 初のデザイン バージ ョ ンしか存在しない場合は、 比較するものが何もないためすべてのバージ ョ ン 2 フラグおよび PR_verify を 0 に設定します。

° 同様に、 バージ ョ ン 1 の手順が完了後にバージ ョ ン 2 をコンパイルする場合は、 すべてのフラグを反転する とバージ ョ ン 2 のコンフ ィギュレーシ ョ ンと PR_verify の手順が実行されます。

X-Ref Target - Figure 3-13

図 3‐13: フ ィールド  アップデートを伴う  Tandem に必要なデザイン階層

Topxilinx_pcie3_uscale_ep

User Applicationpcie_app_uscale

PCIe IPpcie3_ultrascale_0

X15985-030217

Page 93: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 93

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

• スク リプ トは、 初回コンフ ィギュレーシ ョ ン用 (ver1) と 1 回のフ ィールド アップデート用 (ver2) に作成されます。 それ以降のフ ィールド アップデート を作成するには、 ver2 に該当する部分をすべてコピーして ver3 以降を作成してください。 または、 ver2 を ver3 でグローバル置換してフラグを設定し、 上記の 2 番目の方法を実行するこ と もできます。 ver1 と ver2 の手順が完了している場合、 これらはも う不要です。

• ユーザー アプリ ケーシ ョ ン モジュールのアウ ト オブ コンテキス ト合成は、 update_verX_synth.tcl スク リプ ト (X はバージ ョ ン番号) で実行されます。ソース、制約およびオプシ ョ ンはこれらのファイルで宣言されます。

• 各バージ ョ ンのコンテキス ト内インプリ メンテーシ ョ ンは、 update_verX_impl.tcl スク リプ トで実行されます。 各バージ ョ ンに対してオプシ ョ ンを変更、 制約ファイルを追加、 またはレポート を生成するには、 これらのスク リプ ト を編集します。

ビッ トス ト リームの生成 

提供されるスク リプ ト を使用する と、 リ クエス トに応じて任意のバージ ョ ンを生成できます。set runUpdateVerXBitstreams 1 フラグ (X はバージ ョ ン番号) はスク リプ トの 後の方にあるビッ ト ス ト リーム生成ルーチンを呼び出します。 行番号 159 を見る とわかるよ うに、 必要に応じて異なる値を与えるこ とによ り、異なるタイプのビッ ト ス ト リームを生成できます。 次に、 それぞれの値で生成されるビッ ト ス ト リームを示します (こ こでは例と して ver1 の場合を示しています)。

• TandemPCIe: 次に示すビッ ト ス ト リームと、 後述する PR ビッ ト ス ト リームが生成されます。

° ver1_tpcie_tandem1 – Tandem PCIe に使用する第 1 段階ビッ ト ス ト リーム (フラ ッシュに格納)

° ver1_tpcie_tandem2 – Tandem PCIe に使用する第 2 段階ビッ ト ス ト リーム (PCIe リ ンク経由で供給)

• TandemPROM: 次に示すビッ ト ス ト リームと、 後述する PR ビッ ト ス ト リームが生成されます。

° ver1_tprom – 2 段階の Tandem PROM ビッ ト ス ト リーム (フラ ッシュに格納)

• PR: 次に示す PR ビッ ト ス ト リームのみが生成されます (t* は 「tpcie」 または 「tprom」 )。

° ver1_t*_update_region_partial_clear – ver1 から別のバージ ョ ンへのリ コンフ ィギュレーシ ョ ンを実行するユーザー アップデート領域を準備するためのク リ ア ビッ ト ス ト リーム

° ver1_t*_update_region_partial – ver1 の機能部分にロードするパーシャル ビッ ト ス ト リーム

generate_bitstreams.tcl の要求に従い、 デフォルトでは複数のフォーマッ ト (.bit、 .bin、 .mcs、 .prm) のビッ トス ト リームが生成されます。 生成するファイルの種類を調整する場合や、 ビッ ト ス ト リーム生成設定を変更する場合は、 この Tcl ファ イルを編集します。

ver1 は必ずしもフラ ッシュからブートするバージ ョ ンでな くてもかまいません。 デザインのすべてのバージ ョ ンの中で も難易度の高いものを ver1 とするこ とを推奨します。 ver1 の配置配線結果によってパーティシ ョ ン ピンのロケーシ ョ ンが決ま り、 これによって PCIe コアとユーザー アプリ ケーシ ョ ン間のインターフェイスの配線がロッ ク されます。 したがって、 複数のデザイン バージ ョ ンを同時にコンパイルする場合は、 バージ ョ ン番号にかかわらず初のコンフ ィギュレーシ ョ ンと してフラ ッシュに格納するバージ ョ ンに [TandemPCIe] または [TandemPROM] を選択し、 それ以外のバージ ョ ンには [PR] を選択してください。

ハードウェア動作の詳細

デバイスの 初のコンフ ィギュレーシ ョ ンは、 通常の Tandem コンフ ィギュレーシ ョ ンと変わり ません。 デバイスの初のコンフ ィギュレーシ ョ ンは 2 段階で構成されます。 これを Tandem PROM の場合はフラ ッシュからの 1 つの

ビッ ト ス ト リームで実行し、 Tandem PCIe の場合は 2 つの異なるビッ ト ス ト リーム (1 つはフラ ッシュから、 も う 1 つは PCIe 経由でロード ) で実行します。 これら 2 つのアプローチで生成される IP コアはまったく同じため、 これらはいずれもフ ィールド アップデート を伴う Tandem でサポート されます。 第 1 段階をロード した時点では PCIe IP のみが動作しますが、 それ以外のデザインはまだ存在していないため、 PCIe IP の機能は限られます。 リ ンク ト レーニングの実行、 およびシステム内のルート ポートからの認識は可能です。 第 2 段階ビッ ト ス ト リームのロードが完了する と、 デバイスは通常の動作モードになり ます。

Page 94: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 94

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

それ以降の動的アップデートは、 UltraScale デバイスのパーシャル リ コンフ ィギュレーシ ョ ンに関する基本規則に従います。 そのよ うな規則の 1 つに、 ク リ ア ビッ ト ス ト リームの利用があ り ます。 新しいパーシャル ビッ ト ス ト リームを送信する前に、 現在のアプリ ケーシ ョ ンをク リ アするビッ ト ス ト リームをロードする必要があ り ます。 たとえば電源投入時にデザインの 「ver1」 バージ ョ ンをコンフ ィギュレーシ ョ ンした場合、 ver2_partial.bin (またはその他の新規パーシャル イ メージ バージ ョ ン) のユーザー アプリ ケーシ ョ ンを準備するために ver1_partial_clear.bin を送信する必要があ り ます。 その次の FPGA アップデートでは、 ver3 (またはその他の新規イ メージ、 あるいは ver 1 への復帰) の領域を準備するために ver2_partial_clear.bin を送信します。

たとえば Tandem PCIe デザインのビッ ト ス ト リーム名とサンプル スク リプ ト を使用した場合、 次のよ うなシーケンス とな り ます。

1. FPGA に電源を投入します。 ver1_tpcie_tandem1.mcs がローカル フラ ッシュから送信されます。

° この時点で PCIe エンドポイン トが動作し、 エニュ メ レーシ ョ ンを実行できます。

° PCIe コアは、 その他の未コンフ ィギュレーシ ョ ン デバイスから隔離されています。

2. PCIe リ ンク経由で ver1_tpcie_tandem2.bin を送信します。

° これでデバイスが完全にプログラムされ、 PCIe とその他のデザインの間で通信が確立され、 デザインは自動的に完全な使用モードに切り替わり ます。

3. FPGA を任意の期間動作させます。

4. アップデートの リ クエス ト を受信したら、 PCIe リ ンク経由で ver1_tpcie_update_region_partial_clear.bin を送信します。

° これでユーザー アプリ ケーシ ョ ン領域の準備が完了します。 ただしこの領域へのクロ ッ クは停止しているため、 この時点でユーザー アプリ ケーシ ョ ンは動作しません。

° ソフ ト ウェア ド ラ イバーの命令の一部と して、 PCIe コアはユーザー アプリ ケーシ ョ ンから隔離されます。

5. PCIe 経由で ver2_tpcie_update_region_partial.bin を送信し、 新しいユーザー アプリ ケーシ ョ ンをロード します。

° これで、 デバイス全体が新しい機能で動作を再開します。

° PCIe が隔離された状態から完全動作状態への切り替えは自動的に行われます。

6. 手順 4 と手順 5 を繰り返し、次のバージ ョ ンに進みます (ver1 に戻るこ と もできます)。次のバージ ョ ンに進むには、 まず ver2_tpcie_update_region_partial_clear.bin を送信します。 この後、 次のバージ ョ ンのユーザー アプリ ケーシ ョ ンをロードするか、 ver1 に戻る手順を実行します。

フ ィールド  アップデート を伴う  Tandem デザインのデバッグ

フ ィールド アップデート を伴う Tandem デザインは、 パーシャル リ コンフ ィギュレーシ ョ ン フローを使用するデザインです。 アップデート領域はリ コンフ ィギャラブル パーティシ ョ ンで、 このパーティシ ョ ンに挿入される各ユーザー アプリ ケーシ ョ ンはリ コンフ ィギャラブル モジュールです。 現在はリ コンフ ィギャラブル モジュール内の一般的なデバッグがサポート されており、 フ ィールド アップデート を伴う Tandem IP インスタンスにはデバッグ回路を含むサンプル デザインを生成できます。 リ コンフ ィギャラブル パーティシ ョ ンの 上位 (pci_app_uscale) には、デバッグ ハブの自動挿入に必要なバウンダ リ スキャン ポートが含まれており、 各リ コンフ ィギャラブル モジュール内にデバッグ コアをインスタンシエートできます。 バウンダ リ スキャン ポートは S_BSCAN ポートです。 このピン名は変更しないでください。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909) [参照 18] の第 8 章を参照して ください。

Page 95: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 95

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

重要な注意事項

こ こでは、 ターゲッ ト デバイスを安全かつ確実に動作させる上で重要な注意事項を示します。

• Tandem PCIe を使用する場合、 第 1 および第 2 段階ビッ ト ス ト リームを リ ンク したままにする必要があ り ます。第 2 段階ビッ ト ス ト リームは、 フラ ッシュから供給される第 1 段階ビッ ト ス ト リームと一緒に生成する必要があ り ます。 第 1 段階ビッ ト ス ト リームの後にパーシャル ビッ ト ス ト リームまたはク リ ア ビッ ト ス ト リームを使用するこ とや、 デザインの別のインプリ メンテーシ ョ ン結果から生成した第 2 段階ビッ ト ス ト リームを使用するこ とはできません。

• パーシャルおよびク リ ア ビッ ト ス ト リームをロードする前に、 これらが FPGA 内の現在のスタティ ッ ク デザインと互換であるこ とを必ず確認してください。 PR_Verify はパーシャル リ コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンの基盤となる部分であるため、 フ ィールド アップデート を伴う Tandem でも使用する必要があ り ます。PR_Verify は、 複数のデザイン コンフ ィギュレーシ ョ ン (すなわちバージ ョ ン) の間に互換性があ り、 ハードウェア内で安全にオーバーレイできるこ とを確認します。

• デバイスの 初の Tandem コンフ ィギュレーシ ョ ンは、 フ ィールド アップデート を伴う Tandem フロー内のバージ ョ ンと してコンパイルしたビッ ト ス ト リーム セッ ト を使用して実行する必要があ り ます。 初のビッ ト ス トリームを標準的な Tandem ビッ ト ス ト リーム セッ トでロード した場合、 その後のフ ィールド アップデートのクリ ア ビッ ト ス ト リームまたはパーシャル ビッ ト ス ト リームとの互換性があ り ません。 このため、 競合が発生してデバイスが損傷する可能性があ り ます。

既知の制限事項

• Tandem PROM では、 プログラ ミ ングに使用するために persist をセッ ト して多目的 I/O を維持する必要があ り ます。 このため、 Tandem PROM コンフ ィギュレーシ ョ ン完了後はユーザー デザインからコンフ ィギュレーシ ョ ン フラ ッシュにアクセスできません。 FPGA のユーザー デザインからコンフ ィギュレーシ ョ ン フラ ッシュをアップデートする必要がある場合は、 Tandem PCIe を使用してください。

• フ ィールド アップデート を伴う Tandem は現在、 UltraScale および UltraScale+ デバイスでのみ利用できます (UltraScale+ のサポートはベータ )。 7 シ リーズ デバイスは、 今後も このソ リ ューシ ョ ンでサポート されるこ とはあ り ません。 7 シ リーズでこの種のアプローチを利用するには、 一般的なパーシャル リ コンフ ィギュレーシ ョン ソ リ ューシ ョ ンを検討してください。

• 一般的な Tandem + パーシャル リ コンフ ィギュレーシ ョ ンもすべての UltraScale デバイスでサポート されます。これを実行するには、 PCIe IP コア生成時のオプシ ョ ンで標準の [Tandem] を選択し、 コアを PR デザインに追加して非プロジェク ト モードでコンパイルします。 非プロジェク ト モードでのコンパイルの詳細は、 「非プロジェク ト フロー」 および 『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909) [参照 18] を参照してください。 このフローでコンパイルを実行するには、 パーシャル リ コンフ ィギュレーシ ョ ン ライセンスが必要です。

• デザインのアップデート領域に挿入する IP は、 生成時のオプシ ョ ンで [Out of Context per IP] ではなく [Global] をオンにする必要があ り ます。 アップデート領域の各バージ ョ ンの合成が完了する と、 デザインの階層がフラ ッ ト化され、 1 つのデザイン チェッ クポイン トで 上位デザインに接続します。

• Tandem コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンではビッ ト ス ト リーム圧縮がデフォルトで有効ですが、 ビッ トス ト リーム圧縮はパーシャル リ コンフ ィギュレーシ ョ ンの機能であるフレームごとの CRC と互換性があ り ません。 いずれかの 「アップデート 」 パーシャル ビッ ト ス ト リームでフレームごとの CRC チェッ クが必要な場合は、 この機能を有効にし、 ビッ ト ス ト リーム圧縮を無効にしてビッ ト ス ト リームを生成し直してください。write_bitstream -cell オプシ ョ ンを使用する と、 各デザイン イ メージに必要なパーシャル ビッ ト ス トリームと ク リ ア ビッ ト ス ト リームのみを生成できます。

Page 96: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 96

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

ユーザー ハードウェア デザインでの Tandem の使用

ユーザー デザインに Tandem フローを適用するには 2 つの方法があ り ます。 1 番目はコアと共に配布されるサンプルデザインを使用する方法です。 2 番目は、 既存デザインに PCIe IP をインポート して、 必要に応じてデザインの階層を変更する方法です。

いずれの方法でも、 Tandem ソ リ ューシ ョ ンに必要なサンプルのクロ ッ ク供給構造、 タイ ミ ング制約、 および物理ブロ ッ ク (Pblock) 制約を得るために PCIe サンプル デザインを作成する必要があ り ます。

方法 1 ‐ 既存 PCI Express サンプル デザインの使用

PCI Express コアで必要な作業という観点から見る と、 これが も簡単な方法ですが、 すべてのユーザーにとって実現可能というわけではあ り ません。 このアプローチがデザイン構造上のニーズに見合う場合は、 次の手順に従ってください。

1. サンプル デザインを作成します。

「Tandem PROM VCU108 サンプル ツール フロー」 および 「Tandem PCIe VCU108 サンプル ツール フロー」 で説明されている とおりにサンプル デザインを生成します。

2. ユーザー アプリ ケーシ ョ ンを挿入します。

PIO サンプル デザインをユーザー デザインに置き換えます。 I/O やグローバル ク ロ ッ クなどのグローバルおよび 上位エレ メン トは 上位デザインに挿入するこ とを推奨します。

3. ボード デザインの要件に応じて、 SPI または BPI フラ ッシュ メモ リ プログラ ミ ングの設定をアンコ メン ト または変更します。

4. 通常どおりにデザインをインプリ メン ト します。

方法 2 ‐ PCIe デザインを新規 Vivado プロジェク トに移行

方法 1 を利用できない場合は、 次の手順に従って PCIe コアおよび目的の Tandem フロー (PROM または PCIe) を新しいプロジェク トで使用します。 サンプル デザインにはユーザーデザインに移行する必要のある RTL およびスク リプトが数多くあ り ます。

1. サンプル デザインを作成します。

「Tandem PROM VCU108 サンプル ツール フロー」 および 「Tandem PCIe VCU108 サンプル ツール フロー」 で説明されている とおりにサンプル デザインを生成します。

2. ク ロ ッ ク モジュールを移行します。

コア生成時に [Shared Logic] タブの [Include Shared Logic (Clocking) in the example design] オプシ ョ ンがオンになっている場合、 pipe_clock_i ク ロ ッ ク モジュールはサンプル デザインの 上位にインスタンシエート されます。 必要な PCIe ク ロ ッ クを供給するため、 このクロ ッ ク モジュールをユーザー デザインへ移行する必要があり ます。

注記: これらのクロ ッ クは必要であればユーザー デザインのほかの箇所に使用できます。

3. 上位制約を移行します。

サンプルのザイ リ ンクス デザイン制約 (XDC) ファ イルには、 PCIe コア用のタイ ミ ング制約、 ロケーシ ョ ン制約、 および Pblock 制約が含まれています。 これらの制約はすべて (I/O ロケーシ ョ ンおよび I/O 規格制約を除く ) ユーザーデザインに移行させる必要があ り ます。 制約の中には、 デザインの階層がサンプル デザインのものとは異なる場合にアップデート しなければならない階層参照を含むものがあ り ます。

Page 97: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 97

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

4. 上位 Pblock 制約を移行します。

次の制約は除外されやすいため、 この手順で特筆しています。 Pblock 制約は PCIe コアの 上位にポイン ト している必要があ り ます。

add_cells_to_pblock [get_pblocks main_pblock_boot] [get_cells -quiet [<path>]]

重要: 制約はデバイスに依存しているため、 XDC ファ イルで定義されている物理制約を変更しないでください。

5. Vivado プロジェク トに Tandem PCIe IP を追加します。

Flow Navigator で [Add Sources] をク リ ッ ク します。 [Add Source] ウ ィザードで [Add Existing IP] をク リ ッ ク して、Tandem PCIe サンプル デザインの作成に使用した XCI ファ イルを参照します。

6. サンプル デザインの XDC ファ イルから適切な SPI または BPI フラ ッシュ メモ リの設定をコピーして、ユーザー デザインの XDC ファ イルに貼り付けます。

7. 通常どおりにデザインをインプリ メン ト します。

Tandem コンフ ィギュレーシ ョ ンの RTL デザイン

Tandem コンフ ィギュレーシ ョ ンの場合、 Tandem 以外の PCI Express 製品から若干の変更が必要になり ます。 このセクシ ョ ンでは、 コア内に統合されている追加ロジッ ク と、 Tandem PROM ソ リ ューシ ョ ンをインプ リ メン トするために追加されるユーザー アプリ ケーシ ョ ンの役割について説明します。

クリテ ィ カルな入力の多重化 (MUX)

コアへの一部の入力ポートは、 第 2 段階のコンフ ィギュレーシ ョ ン プロセスで無効になるよ うに、 多重化 (MUX) されます。 これらの MUX は、 mcap_design_switch 信号で制御されます。

これらの入力は、 第 2 段階のビッ ト ス ト リームがロード されている間ディアサート状態に保たれます。 これで、 第 2 段階のロジッ クがないために発生する不要なグ リ ッチを防ぎ、 PCIe コアは有効な状態に保たれます。mcap_design_switch がアサート される と、 MUX は切り替わり、 すべてのインターフェイス信号はこの文書の記載どおりの動作をと り ます。

TLP リクエスト

コンフ ィギュレーシ ョ ン リ クエス ト パケッ ト を受信するほか、 PCI Express エンドポイン トは、 PCI Express ハード ブロ ッ ク内で処理されない TLP リ クエス ト を受信する場合があ り ます。 通常、 受信する TLP リ クエス トは、 ベンダー定義メ ッセージや読み出し リ クエス ト とな り ます。 第 2 段階のビッ ト ス ト リームがロード される前、 TLP リ クエス トは UR (サポート されないリ クエス ト ) を返します。 第 2 段階のロードが完了する と、 mcap_design_switch 出力がアサート されて、 TLP リ クエス トはユーザー デザインで定義されたとおりに機能します

Page 98: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 98

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

Tandem コンフ ィギュレーシ ョ ンのロジック

コアおよびサンプル デザインには、 Tandem コンフ ィギュレーシ ョ ンに特化したポート (信号) が含まれています。これらの信号は第 1 段階 (コア) と第 2 段階 (ユーザー ロジッ ク ) 間にハンドシェイ クを提供します。 ハンドシェイ クはコアとユーザー ロジッ ク間の通信に必要なものです。 表 3-3 には、 コアのハンドシェイ ク ポートが定義されています。

これらの信号は、 「Tandem コンフ ィギュレーシ ョ ンの詳細」 に説明されている出力ト ライステート バッファーのリリースなど、 ユーザー アプリ ケーシ ョ ンでのイベン ト を調整します。 これらの信号に関する追加情報は次のとおりです。

• mcap_design_switch は、 第 2 段階がロード された後にアサート されます。 第 2 段階のロード後、 この出力はルート ポート システムによって制御されます。 この信号がディアサート される と必ず、 PCIe ソ リ ューシ ョ ン IP がユーザー デザインの残りの部分から切り離され、 TLP BAR アクセスでは UR (サポート されないリ クエスト ) が返されます。

• mcap_eos_out は、 STARTUP プリ ミ ティブからの EOS 信号のパス スルー出力です。 この出力は、 第 1 段階がロード されるまでディアサート状態となり、 第 1 と第 2 の間でアサート され、 第 2 段階の終わりで再びアサート されます。 FPGA DONE ピンも Tandem ビッ ト ス ト リームをロードする際に同様の動作を示します。

表 3‐3: ポートのハンドシェイク

名称 方向 極性 説明

mcap_design_switch 出力 アクティブ High

第 2 段階のユーザー ロジッ クへの切り換えが完了したこ とを示します。

0: 第 2 段階のロードは完了していない。

1: 第 2 段階のロードが完了している。

mcap_eos_out 出力 アクティブ HighSTARTUP プ リ ミ テ ィブの End of Startup (EOS) ピンからのパス スルー出力です。

cap_req 出力 アクティブ High

コンフ ィギュレーシ ョ ン アクセス ポートのアービ ト レーシ ョ ン リ クエス ト信号です。 この信号を用いて、 ユーザーが実装した複数のコンフ ィギュレーシ ョ ン インターフェイス間での FPGA コンフ ィギュレーシ ョ ン ロジックの使用を調整します。 Media Configuration Access Port (MCAP) が唯一使用されているユーザー実装コンフ ィギュレーシ ョ ン インターフェイスである場合、 この信号は未接続にする必要があ り ます。

cap_rel 入力 アクティブ High

コンフ ィギュレーシ ョ ン アクセス ポートのアービ ト レーシ ョ ン リ クエス トの リ リース信号です。 この信号を用いて、 ユーザーが実装した複数のコンフ ィギュレーシ ョ ン インターフェイス間での FPGA コンフ ィギュレーシ ョン ロジッ クの使用を調整します。 MCAP が唯一使用されているユーザー実装コンフ ィギュレーシ ョ ン インターフェイスである場合、 この信号は Low (1'b0) に接続する必要があ り ます。 これによ り、 必要に応じて、 FPGA コンフ ィギュレーシ ョ ン ロジッ クへの MCAP アクセスが可能になり ます。

cap_gnt 入力 アクティブ High

コンフ ィギュレーシ ョ ン アクセス ポートのアービ ト レーシ ョ ンの許可信号です。 この信号を用いて、 ユーザーが実装した複数のコンフ ィギュレーシ ョ ン インターフェイス間での FPGA コンフ ィギュレーシ ョ ン ロジッ クの使用を調整します。 MCAP が唯一使用されているユーザー実装コンフ ィギュレーシ ョ ン インターフェイスである場合、 この信号は High (1'b1) に接続します。 これによ り、 必要に応じて、 FPGA コンフ ィギュレーシ ョ ン ロジッ クへの MCAP アクセスが許可されます。

user_reset 出力 アクティブ HighPCIe がリセッ ト される と きに、 PCIe インターフェイス ロジッ クを リセッ トするために使用できます。 user_clock と同期します。

user_clk 出力 N/A PCIe インターフェイス ロジッ クで使用されるクロ ッ クです。

user_lnk_up 出力 アクティブ High PCI Express コアがホス ト デバイス と リ ンク アップしたこ とを示します。

Page 99: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 99

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

• cap_req、 cap_rel、 および cap_gnt 信号を用いて、 内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP) など複数のコンフ ィギュレーシ ョ ン インターフェイス間における FPGA コンフ ィギュレーシ ョ ン ロジッ クの使用を調整する必要があ り ます。 ICAP は、 ほかの IP コアの一部と して使用したり、 ユーザー デザインに直接インスタンシエートするこ とができます。 MCAP と ICAP アービ ト レーシ ョ ン間での調整において、 ユーザー デザインに従って各インターフェイスへアクセスできるよ うに、 ロジッ クが作成されて cap_* 信号を使用する必要があ り ます。 第 2 段階が完全にロード されるまで、 MCAP には常に排他的アクセスが許可される必要があ ります。 これは、 mcap_design_switch 出力のアサートによって認識されます。 初の第 2 段階 デザインがロード される と、 MCAP インターフェイスがシステム レベル デザインで使用できます。 ルート ポート接続によってコンフ ィギュレーシ ョ ン ロジッ クへのアクセスが要求される と、 cap_req アサート されます。 ユーザー デザインは、 これに応じて cap_gnt をアサート してアクセスを許可できます。 それに続き、 ユーザー デザインは cap_rel をアサート して MCAP がコンフ ィギュレーシ ョ ン ロジッ クの制御を リ リースするよ う要求できます。 cap_req のディアサートによ りルート ポート接続は制御を リ リースします。 ユーザー ロジッ クが cap_gnt をアサート しない場合、 MCAP へはアクセスできません。 同様に、 アクセスが MCAP インターフェイスに対して許可されている間、 ほかのコンフ ィギュレーシ ョ ンインターフェイスがコンフ ィギュレーシ ョ ン ロジッ クにアクセスしないよ うにする必要があ り ます。

• user_reset も同様に、 コア自体がリセッ ト される と きに、 コアと通信する任意のロジッ クを リセッ トするために使用できます。

• user_clk は、 PCIe IP コアで使用される メ インの内部クロ ッ クにすぎません。 このクロ ッ クを使用して、 コアと直接通信するユーザー ロジッ ク と同期化させます。

• user_lnk_up は、 名前が示すとおり、 確立された リ ンク上で PCIe コアが現在動作しているこ とを示します。

ユーザー アプリケーシ ョ ン  ハンドシェイク

Tandem ソ リ ューシ ョ ンが PCI Express ブロ ッ クのコア制御とユーザー アプリ ケーシ ョ ンとの間で切り換えを行うには、 FPGA 内に内部コンプリーシ ョ ン イベン トが存在する必要があ り ます。 この切り換えメカニズムが必要な理由については、 「ク リ ティカルな入力の多重化 (MUX)」 で説明しています。 Tandem ソ リ ューシ ョ ンは、 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 ポート と同じバンクにある第 2 段階のすべての I/O が、第 1 段階でコンフ ィギュレーシ ョ ンされます。 sys_reset と同じ I/O バンクにあるピンは内部接続されないので、この内部接続が 2 番目のコンフ ィギュレーシ ョ ンで完了するまで、 出力ピンの動作は予期しないものになり ます。第 2 段階の機能用に初期化が必要なコンポーネン トは、 第 2 段階のプログラム後にデザインでリセッ トするのでなければ、 これらの I/O バンクに配置しないでください。

出力ピンは、 sys_reset ピンと同じバンクに配置する必要があ り、 それらの値を第 2 段階のコンプリーシ ョ ンの前にフローティング状態にできない場合は、 次の方法で対処できます。 第 1 段階のコンプ リーシ ョ ン (出力がアクティブになる と き ) から第 2 段階のコンプリーシ ョ ン (ド ラ イバー ロジッ クがアクティブになる と き ) までの間、 ト ラ イステート状態に保持される OBUFT を使用します。 イネーブル ピンの制御には mcap_design_switch 信号を使用でき、 ハンドシェイ ク イベン トが完了する と きにその出力を リ リースします。

Page 100: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 100

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

ヒン ト : 上位デザインで 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>]

# 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 stage 1 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 が ト ラ イステートにな り ます。 Tandem PCIe の場合、第 1 段階と第 2 段階の間には相当な時間が生じ、その時点でこれらのピンはコンフ ィギュレーシ ョ ンされていないため、各 I/O の内部の弱いプルダウンによって Low に接続されます。

コンフ ィギュレーシ ョ ン  ピンの動作

DONE ピンは標準アプローチでのコンフ ィギュレーシ ョ ンの完了を示します。 このピンは Tandem コンフ ィギュレーシ ョ ンにも使用されますが、 その動作は少し異なり ます。 DONE は、 スタート アップ シーケンスが実行される と き、第 1 段階のコンフ ィギュレーシ ョ ンの 後で High になり、 第 2 段階のロードが開始する と、 Low に戻り ます。Tandem PROM の場合、 第 2 段階が同じビッ ト ファ イルにあるので、 この動作がすぐに開始します。 Tandem PCIe の場合、 第 2 段階のビッ ト ス ト リームが PCIe MCAP に転送される と きにこの動作が発生します。 DONE ピンは第 2 段階のコンフ ィギュレーシ ョ ンの 後に High になりその状態を維持します。

Page 101: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 101

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

コンフ ィギュレーシ ョ ン  パーシスト  (Tandem PROM の場合のみ)

UltraScale デバイスで Tandem PROM コンフ ィギュレーシ ョ ンを使用する場合は、 コンフ ィギュレーシ ョ ン パーシスト (Persist) が必要です。 第 1 段階および第 2 段階コンフ ィギュレーシ ョ ンで使用された多目的 I/O は、 第 2 段階コンフ ィギュレーシ ョ ンが完了した後ユーザー I/O と して使用できません。 このため、 Tandem PROM コンフ ィギュレーシ ョ ン完了後はユーザー デザインからコンフ ィギュレーシ ョ ン フラ ッシュにアクセスできません。 FPGA のユーザー デザインからコンフ ィギュレーシ ョ ン フラ ッシュをアップデートする必要がある場合は、 Tandem PCIe を使用してください。

使用するコンフ ィギュレーシ ョ ン モードに対して 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.

Tandem PROM を使用するには、 これらのサイ ト を使用しているユーザー I/O の位置を変更する必要があ り ます。

PROM の選択

Tandem コンフ ィギュレーシ ョ ンでは、 コンフ ィギュレーシ ョ ン PROM に対する特定要件はあ り ませんが、 100ms の仕様を満たすには、 次の 3 つの条件を満たす PROM を選択する必要があ り ます。

1. ザイ リ ンクス コンフ ィギュレーシ ョ ンでサポート されているこ と。

2. 第 1 段階と第 2 段階の両方のコンフ ィギュレーシ ョ ンに合ったサイズであるこ と。 つま り、 ビッ ト ス ト リーム全体が入るだけのサイズの PROM であるこ と。

° Tandem PROM の場合、 第 1 段階と第 2 段階の両方のビッ ト ス ト リームがこ こに格納されます。 このビッ トス ト リームは標準ビッ ト ス ト リームよ り も若干サイズが大き くな り ます (4 ~ 5% 大きい)。

° Tandem PCIe の場合、 ビッ ト ス ト リームのサイズは約 1MB ですが、 デザインのインプ リ メンテーシ ョ ン結果、 デバイス選択、 および圧縮効果によって多少変わり ます。

3. 第 1 段階ビッ ト ス ト リームのサイズおよび計算されたビッ ト ス ト リームのロード時間に基づいて PCI Express のコンフ ィギュレーシ ョ ン時間の要件を満たしているこ と。 詳細は、 「Tandem コンフ ィギュレーシ ョ ンのビッ トス ト リーム ロード時間の計算」 を参照してください。

サポート されている PROM およびデバイス ビッ ト ス ト リーム サイズのリ ス トは、 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 7] を参照してください。

デバイスのプログラム

PROM へのプログラムに関して Tandem ビッ ト ス ト リームと標準のビッ ト ス ト リーム間では違いはあ り ません。Tandem ビッ ト ス ト リームのプログラムには、 JTAG、 スレーブおよびマスター SelectMAP、 SPI、 BPI などすべての標準のフラ ッシュ メモ リ プログラ ミ ング方法を使用できます。 使用するプログラ ミ ング方法に関係なく、 第 1 段階のロードが完了する と DONE ピンがアサート されて、 動作が開始します。

注記: JTAG 専用モードでは、 モード ピンを 101 に設定しないでください。 これによ り、 この ICAP 機能が制限されるため、 第 2 段階の正しいロードが実行されなくな り ます。

SPI または BPI のフラ ッシュ メモ リ プログラ ミ ングの準備を整えるには、 ビッ ト ス ト リーム生成の前に適切な設定を有効にしておく必要があ り ます。 これは、 次に示すよ うにデザインの XDC ファ イルに特定フラ ッシュ メモ リ デバイスの設定を追加するこ とで完了します。 例は、 PCI Express サンプル デザインを使用して生成した制約ファイルの中にあ り ます。 使用しているボードおよびフラ ッシュ メモ リ プログラ ミ ング要件を満たすよ う、 既存のオプシ ョン (コ メン ト されている ) をコピーします。

Page 102: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 102

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

Tandem 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 を使用した場合、 コンフ ィギュレーシ ョ ン ク ロ ッ クに対する許容誤差がよ り厳し くなるため、 コンフ ィギュレーシ ョ ン レートがよ り高速になり ます。 Vivado Design Suite での EMCCLK の使用に関する詳細は、『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 7] を参照して ください。

Vivado Design Suite でのコンフ ィギュレーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 20] を参照してください。

ビッ トス ト リーム暗号化

ビッ ト ス ト リームの暗号化は、 Tandem PROM および Tandem PCIe の両アプローチに対して Tandem コンフ ィギュレーシ ョ ンでサポート されています。 MCAP では暗号化された 初のロードの完了後に (ICAP とは異なり ) 暗号化されていないビッ ト ス ト リームを受信できないため、 Tandem PCIe の場合、 第 2 段階ビッ ト ス ト リームは第 1 段階ビット ス ト リームと同じキーを使用して暗号化された状態にしておく必要があ り ます。

Tandem 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 カスケード接続はサポート されていません。

• DCI の Match_Cycle オプシ ョ ンをウェイ ト なしに設定して、 第 1 段階のコンフ ィギュレーシ ョ ン時間を 小にします。

set_property BITSTREAM.STARTUP.MATCH_CYCLE NoWait [current_design]

PCIe リセッ ト  ピンの移動

一般に、 第 1 段階ビッ ト ス ト リームのサイズを 小化するには、 専用のリセッ ト配線と専用の PCIe リセッ ト パッケージ ピン (PERSTN0) を使用する必要があ り ます。 これらの選択は、 適用可能な場合にはデフォルトで有効になっています。 この専用リセッ ト を使用できないシステム デザインの場合、 Vivado IDE で専用 PERST 配線リ ソースの使用を無効にする必要があ り ます。 リセッ ト ピンに新しいロケーシ ョ ンを選択する場合、 第 1 段階でコンフ ィギュレーシ ョ ンされる I/O ロケーシ ョ ンすべてを検討する必要があ り ます。 物理的にコアから離して配置される I/O は、第 1 段階に余分なコンフ ィギュレーシ ョ ン フレームが含まれる原因とな り ます。 これは、 I/O を第 1 段階に含めるために必要な配線リ ソースが追加されるためです。

リセッ ト ピンのロケーシ ョ ンに関係なく、 バンク 65 は第 1 段階に保持する必要があ り ます。 QSPI などのコンフ ィギュレーシ ョ ン モードを使用したと しても、 可能な 高速のコンフ ィギュレーシ ョ ンには EMCCLK が必要とな り、デュアル モード ピンはバンク 65 に配置されます。

Page 103: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 103

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

非プロジェク ト  フロー

非プロジェク ト環境では、 プロジェク ト環境と同じ基本アプローチが取られます。 まず、 「Tandem PCIe VCU108 サンプル ツール フロー」 に示すよ うに 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>

注記:独立した (out of context) 合成を実行する場合は、 制約ファイルを使用して、 インプ リ メンテーシ ョ ン中にのみ使用される Pblock 制約を適用する必要があるかもしれません。 これは、 一部の制約は、 結合されているデザイン全体に依存して制約を適用するためです。

5. Persist ピンを設定するためのコンフ ィギュレーシ ョ ン モードの確認など、 デザインに対するすべてのカスタマイズは、 デザインの XDC ファ イル内で行われているこ とを確認します。

6. デザインをインプ リ メン ト します。

opt_designplace_designroute_design

7. ビッ ト ファイルを生成します。 Tandem PCIe には -bin_file オプシ ョ ンを使用してください。 BIN ファ イルは 32 ビッ トの境界に揃えられ、 PCIe を介した第 2 段階ビッ ト ス ト リームのソフ ト ウェア ロードを容易にします。

write_bitstream -bin_file <file>.bit

Tandem IP コアのシミ ュレーシ ョ ン

Tandem PROM または Tandm PCIe コアの機能は STARTUP モジュールに依存しているため、 シ ミ ュレーシ ョ ン中にこの点を考慮する必要があ り ます。

PCI Express コアは、 第 2 段階のビッ ト ス ト リームがデバイスにいつロード されたかを認識するため、 EOS 出力信号のアサートに STARTUP ブロ ッ クを利用します。 第 2 段階のロジッ ク と機能させるために PCIe コアを リ リースするには、 この STARTUP ブロ ッ クをシ ミ ュレーシ ョ ンする必要があ り ます。 これは、 階層参照を使用して EOS 信号を STARTUP ブロ ッ クに強制して実行します。 その理由は、 階層参照をサポート しない結果シ ミ ュレータは、 Tandem デザインのシ ミ ュレーシ ョ ンに使用できないためです。 次のコード例はその方法を示したものです。

// 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>

Page 104: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 104

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

// Deassert 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>

// Reassert 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 段階のロード時間 = (第 1 段階ビッ ト ス ト リーム サイズ) / (PROM 帯域幅)

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

Page 105: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 105

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

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

ビッ トス ト リーム圧縮の使用

第 1 段階のビッ ト ス ト リームのサイズを 小限に抑えるこ とが Tandem コ ンフ ィギュレーシ ョ ンの 終目的であるため、 ビッ ト ス ト リーム圧縮は非常に有効です。 このオプシ ョ ンでは、 マルチフレーム書き込みテクニッ クを利用してビッ ト ス ト リームのサイズを縮小するため、 その結果コンフ ィギュレーシ ョ ン時間を短縮できます。 圧縮量は各デザインで異なり ます。 Tandem が選択されている場合、 IP レベルの制約で圧縮機能が有効になり ます。 これは、 必要に応じてユーザー デザイン制約に上書きできます。 次のコマンドを使用して、 ビッ ト ス ト リーム圧縮を有効化/無効化できます。

set_property BITSTREAM.GENERAL.COMPRESS <TRUE|FALSE> [current_design]

ビッ トス ト リームのロード時間に関するその他の注意事項

ビッ ト ス ト リーム コンフ ィギュレーシ ョ ン時間は、 次の要素によっても影響を受けます。

• 電源の立ち上がり時間 (レギュレータによる遅延など)

• TPOR (パワー オン リセッ ト )

電源の立ち上がり時間はデザインによって異なり ます。 立ち上がり時間の長いデザインや遅延の多いデザインは避けてください。 FPGA コンフ ィギュレーシ ョ ンを開始するために必要な FPGA 電源については、 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 7] を参照してください。

通常、 FPGA の電源はシステム電源と同時またはその少し前に立ち上がり ます。 このよ うな場合、 システム電源が安定するまで 100ms はカウン ト されないため、 タイ ミ ング マージンを得るこ とができます。 しかしこれもまたデザインによって異なり ます。 FPGA 電源とシステム電源との関係を理解するには、 システムを特性評価する必要があり ます。

TPOR は、 標準電源立ち上がり レートの場合は 57ms、 UltraScale デバイスの高速立ち上がり レートの場合は 20ms です。 詳細は 『Kintex UltraScale FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS892) [参照 8]、 および『Virtex UltraScale FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS893) [参照 9] を参照してください。

Page 106: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 106

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

「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 になり ます。

ケース 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 のロケーシ ョ ン: 使用する GT クワ ッ ドの選択によって、 第 1 段階ビッ ト ス ト リームのサイズが変わり ます。も効率的にリ ソースを使用するには、 PCI Express ハード ブロ ッ クに隣接する GT クワ ッ ドを使用します。

• 圧縮: デバイス使用率が高くなる と、 圧縮の効果は低くなり ます。

Page 107: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 107

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

ベースラインと して、 PCIe IP と共に生成されるサンプル (PIO) デザインのビッ ト ス ト リーム サイズおよびコンフ ィギュレーシ ョ ン時間の例をいくつか示します。

Tandem PCIe 手法を使用して第 2 段階のビッ ト ス ト リームをロードするのにかかる時間は、 次の 3 つの追加要因によって異なり ます。

• PCI Express リ ンクの幅と速度。

• MCAP をプログラムするのに使用されたクロ ッ ク周波数。

• ルート ポート ホス トがエンドポイン ト FPGA デザインへビッ ト ス ト リームを供給できる効率性。 ほとんどのデザインでは、 これらが制限要因です。

これら 3 つの要因の も低い帯域幅によって、 第 2 段階のビッ ト ス ト リームがロード される速度が決定します。

クロッキング

UltraScale Devices Gen3 Integrated Block for PCIe コアが使用する基準クロ ッ クは、 100MHz、 125MHz、 または 250MHz に設定できます。 これには次の条件が適用されます。

• 基準クロ ッ クは同期または非同期クロ ッ クを使用でき、 大 ±300PPM (ワース ト ケースで 600PPM) とする必要があ り ます。 スペク ト ラム拡散クロ ッ ク (SSC) を有効にした場合は、 同期リ ンク とする必要があ り ます。

• PIPE インターフェイスのプライマ リ ク ロ ッ クは PCLK です。

• PCLK 以外に、 このコアをサポートするには CORECLK と USERCLK の 2 つのクロ ッ クが必要です。

• これら クロ ッ クの生成には BUFG_GT を使用します。 これらのク ロ ッ クはすべて TXOUTCLK ピンから駆動されます。 これは GTREFCLK0 から CPLL を経由した派生クロ ッ クです。 QPLL を使用するアプリ ケーシ ョ ンでは、QPLL は GT PCS/PMA ブロ ッ クにのみ供給され、 TXOUTCLK は CPLL から生成されます。

• UltraScale GTH 基準クロ ッ クのソースは IBUFDS_GTE3 から直接供給する必要があ り ます。

• FPGA 汎用インターコネク トに基準クロ ッ クを使用するには、も う 1 つの BUFG_GT を使用する必要があ り ます。

図 3-14 に、 x2 PCIe のクロ ッキング アーキテクチャの例を示します。

表 3‐4: ビッ トス ト リーム サイズおよびコンフ ィギュレーシ ョ ン時間の例(1)

デバイス フル ビッ トス ト リームフル: BPI16 (50MHz) Tandem 第 1 段階(2) Tandem: BPI16

(50MHz)

KU040 122.1Mb 152.7ms 7.6Mb 9.5ms

VU095 273.5Mb 341.8ms 8.8Mb 10.9ms

VU190 577.1Mb 721.4ms 11.2Mb 14.1ms

注記:1. こ こに示すコンフ ィギュレーシ ョ ン時間には TPOR は含まれていません。

2. PIO デザインは非常に小さいため、 ビッ ト ス ト リーム サイズを小さ くするのに圧縮は非常に効果的です。 これらの数値は、 フ

ル デザ インを使用した場合によ り正確な見積も りができるよ うに、 圧縮なしで得たものです。 これらの値は、 Vivado Design Suite 2015.1 で PCIe Gen3x8 コンフ ィギュレーシ ョ ンを使用して生成されました。

Page 108: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 108

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

詳細は、 ザイ リ ンクス 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 カタログで有効にする必要があ り ます。

各リ ンク パートナー デバイスは同じクロ ッ ク ソースを共有します。 図 3-15 および図 3-16 は、 100MHz の基準クロ ッ クを使用するシステムを示しています。 デバイスがエンベデッ ド システムの一部であったと しても、 システムがコマーシャル版の PCI Express ルート コンプレッ クスまたはスイ ッチを一般的なマザーボード クロ ッ ク供給で使用する場合は、 同期クロ ッ ク供給をやはり使用する必要があ り ます。

注記:図 3-15 および図 3-16 では、 ボード レイアウ ト を示しています。 ボード レイアウ ト時には、 カップ リ ング、 終端などが適切に使用されているこ とを確認してください。『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576) [参照 11] の 「ボード デザインのガイ ド ライン」 を参照してください。

X-Ref Target - Figure 3-14

図 3‐14: クロッキング

IBUFDS_GTE3

IBUFG_GT

GT Lane 0 GT Lane 1

Clock Module

BUFG_GT BUFG_GT BUFG_GT

TXOUTCLK

BUFGT*

CORECLK

USERCLK PCLK

GTREFCLK0

GTREFCLK0

REFCLK for FPGA Fabric

CLKP

CLKN REFCLK for GT

FPGA Fabric

[TX/RX]USRCLK2 [TX/RX]USRCLK2

[TX/RX]USRCLK [TX/RX]USRCLK

PROG Div

Page 109: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 109

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

バージ ョ ン 2017.1 以降の PCIe コアは、 ク ロ ッ クを有効にする前に GT の電源が安定しているこ とを確認します。

• この結果、 IBUFDS_GTE4 (PCIe 基準クロ ッ ク ) によって駆動される BUFG_GT の CE は、 VCC ではなく ロジッ クによって駆動されます。

• 以前の CE は VCC によって駆動されており、 も う 1 つの BUFG_GT が IBUFDS_GTE4 に並列に接続されている場合、 opt_design/MLO によって挿入される BUFG_GT_SYNC で両方の BUFG_GT を駆動できていました。

• PCIe BUFG_GT ク ロ ッ ク と同じ CE を共有していない並列 BUFG_GT がある場合、 2 つの BUFG_GT_SYNC が opt_design/MLO によって挿入されます。

• IBUFDS_GTE4 で駆動される BUFG_GT には BUFG_GT_SYNC を 1 つしか持つこ とができないため、ルーターはも う 1 つの BUFG_GT_SYNC の配線方法がわからず、 IBUFDS_GTE4/ODIV2 で駆動されるクロ ッ ク ネッ トは配線されません。

• IBUFDS_GTE4 によって駆動される複数の BUFG_GT が同じ CE/CLR ピンを共有しているこ とを確認する必要があ り ます。

X-Ref Target - Figure 3-15

図 3‐15: 100MHz の基準クロックを使用したエンベデッ ド  システム

X-Ref Target - Figure 3-16

図 3‐16: 100MHz の基準クロックを使用したオープン システム アドイン カード

DeviceEndpoint

X12208

PCI Express Switch or Root

Complex Device

PCI Express Clock Oscillator

100 MHz

GTH Transceivers

100 MHz

Embedded System Board

PCIe Link

PCIe Link

PC

Ie L

ink

PCI Express Connector

Device Endpoint

GTHTransceivers

100 MHz with SSCPCI Express Clock

PCI Express Add-In Card

+ _P

CIe

Lin

k

PC

Ie L

ink

PC

Ie L

ink

Page 110: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 110

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 が開始される と、 エラー ログやエラー通知なしでリ クエス トおよびコンプリーシ ョ ンが破棄されます。

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-17 に、 コアのユーザー インターフェイスを示します。

Page 111: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 111

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

このインターフェイスは、 PCIe リ ンク とユーザー アプリ ケーシ ョ ン間でのデータ転送を可能にする 4 つの個別のインターフェイス と して構成されています。

• PCIe のコンプ リーター リ クエス ト (CQ) インターフェイスを介して、 リ ンクからのリ クエス トがユーザー アプリ ケーシ ョ ンに送信されます。

X-Ref Target - Figure 3-17

図 3‐17:統合ブロックのユーザー インターフェイスの図

PCIeRequesterInterface

Completer Request Interface

Client

CompleterInterface

PCIe RequesterInterface

PCIe CompleterInterface

AXI4Master

Completer Completion Interface

AXI4Slave

Requester RequestInterface

Requester CompletionInterface

RX MessageInterface

Tag AvailabilityStatus

Flow ControlStatus

m_axis_cq_*

cfg_msg_*

s_axis_cc_*

s_axis_rq_*

pcie_tag_av[1:0]

m_axis_rc_*

X12207

Integrated Block for PCIe

AXI4Slave

AXI4Master

AXI4Slave

AXI4Master

pcie_tfc_*,cfg_fc_*

AXI4Master

AXI4Slave

Page 112: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 112

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 インターフェイスはすべて、 いかなる場合においても同じ幅に設定されます。

さ らに、 統合ブロ ッ クには次のインターフェイスが含まれ、 これらのインターフェイスを介してステータス情報がユーザー アプリ ケーシ ョ ンの PCIe のマスター側に通知されます。

• 現在使用可能な送信クレジッ トに関する情報を提供する リ クエスター リ クエス ト (RQ) インターフェイスに接続されたフロー制御ステータス インターフェイス。 これによ り、 ユーザー アプリ ケーシ ョ ンは使用可能なクレジッ トに基づいて リ クエス ト をスケジューリ ングでき、 リ ンク パートナーからのクレジッ ト不足によってコント ローラーの内部パイプラインがブロッ ク されないよ うにします。

• ノンポステッ ド リ クエス トへの割り当てに使用可能なタグ数の情報を提供する リ クエスター リ クエス ト (RQ) インターフェイスに接続されたタグ利用可能ステータス インターフェイス。 これによ り、 ク ライアン トは、PCIe IP にあるタグ管理ユニッ トがノンポステッ ド リ クエス トの送信に使用可能なタグをすべて使い切った場合にブロ ッ ク されないよ う リ クエス ト をスケジューリ ングできます。

• リ ンクから受信したメ ッセージ TLP の送信に使用するコンプリーター リ クエス ト (CQ) インターフェイスに接続された受信メ ッセージ インターフェイス。 ユーザー ロジッ クに対して (AXI4 インターフェイスを介してユーザー アプリ ケーシ ョ ンにメ ッセージ全体を転送する代わりに) リ ンクから メ ッセージを受信したこ とをオプシ ョ ンで示すこ とができます。

表 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 113: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 113

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 インターフェイスそれぞれに対してアライ メン ト モードを個別に選択できます。 これは、 対応するアライ メン ト モード パラ メーターを設定するこ とで可能です。 アドレス アライ メン トの詳細と図の例は、 「コンプリーター インターフェイス」 を参照して ください。

Gen3 (8.0GT/s)

x1 64 ビッ ト 125 または 250

x264 ビッ ト 250

128 ビッ ト 125

x4128 ビッ ト 250

256 ビッ ト 125

x8 256 ビッ ト 250

注記:1. -1LV スピード グレードで AXI4-Stream インターフェイス幅を 64 ビッ トに選択した場合、 x8 以外の設定ではユーザー ク ロ ッ ク

周波数 250MHz はサポート されません。

表 3‐5:ユーザー インターフェイスのデータ幅とクロック周波数の設定 (続き)

PCI Express 世代/最大リンク  スピード  

可能な最大リンク幅AXI4‐Stream 

インターフェイス幅ユーザー クロック

周波数 (MHz)

Page 114: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 114

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

CQ、 CC、 および RQ インターフェイスのスト ラ ドル オプシ ョ ン

CQ、 CC および RQ インターフェイスにはス ト ラ ドル オプシ ョ ンが備わっているため、 インターフェイスを介して大 2 つの TLP を同じビートで転送できます。 これによ り、 TLP がビートの前半で終了する場合と同様に、 小規模

な TLP についてもスループッ トが改善します。 ス ト ラ ドルは、 Vivado IDE でコア コンフ ィギュレーシ ョ ンで各インターフェイスに対して個別に有効にできます。 ス ト ラ ドル オプシ ョ ンは、 Dword アライ メン ト モード との併用でのみ使用できます。

RC インターフェイスのスト ラ ドル オプシ ョ ン

RC インターフェイスは、 インターフェイスを介して 大 4 つの TLP を同じビートで転送可能にするス ト ラ ドル オプシ ョ ンをサポート しています。 このオプシ ョ ンは、 Vivado IDE でコア コンフ ィギュレーシ ョ ン中に有効にできます。 有効の場合、 コアは 0、 16、 32、 または 48 バイ ト レーンで新しいコンプリーシ ョ ン TLP を開始できます。 したがって、 このオプシ ョ ンが有効の場合、 コアは AXI バス上の同じビートで 4 つのコンプリーシ ョ ン TLP を送信できます。 ただし、 いずれも 1 Dword またはそれ以下のペイロード しかないこ とが条件です。 ス ト ラ ドル オプシ ョ ンは、RC インターフェイスが Dword アライ メン ト モードでコンフ ィギュレーシ ョ ンされている場合にのみ使用できます。

リ クエスター コンプリーシ ョ ン (RC) インターフェイスを 256 ビッ ト幅に設定した場合で、 インターフェイスのビート ごとに開始できるまたは終了できる TLP の数が 大で 1 つの場合、 TLP のタイプおよびペイロード サイズによってはインターフェイスの利用効率が著し く低下するこ とがあ り ます。 RC インターフェイスの利用効率が低いと、Infinite Receiver Credits がアドバタイズされた場合にコンプリーシ ョ ン FIFO がオーバーフローするこ とがあ り ます。次に示すいずれかの措置を行う必要があ り ます。

• 受信した合計コンプ リーシ ョ ンを 64 未満に抑え、 指定した FIFO サイズ内に抑えるために、 未処理のノンポステッ ド リ クエス トの数を制限します。

• RC インターフェイス ス ト ラ ドル オプシ ョ ンを使用します。 このオプシ ョ ンを使用した場合の波形は、 図 3-70 を参照してください。

ス ト ラ ドル オプシ ョ ンは、 256 ビッ ト幅の RC インターフェイスでのみ利用可能で、 Vivado IP カタログで有効にします。 IP カタログでこのオプシ ョ ンを有効にする手順は、 第 4 章 「デザイン フローの手順」 を参照してください。このオプシ ョ ンを有効にした場合、統合ブロ ッ クは同じビートのバイ ト レーン 15 (またはそれ以前のバイ ト レーン) で前の TLP が終了する と、 バイ ト レーン 16 で新しいコンプリーシ ョ ン TLP を開始できます。 したがって、 このオプシ ョ ンが有効の場合、 統合ブロ ッ クは RC インターフェイスでは同じビートで複数のコンプ リーシ ョ ン TLP を送信できます。 ただし、 いずれも 2 Dword 以上のペイロードがないこ とが条件です。

ス ト ラ ドル オプシ ョ ンは、 インターフェイス幅が 256 ビッ トに設定されており、 RC インターフェイスが Dword アライ メン ト モードに設定されている場合のみ利用可能です。

表 3-6 に、インターフェイス幅、アドレッシング モードおよびス ト ラ ドル オプシ ョ ンの有効な組み合わせを示します。

表 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 アライ メン ト、 ス ト ラ ドル有効 ( リ クエスター コンプリーシ ョ ン インターフェイスでのみ可)

56 ビッ ト アドレス アライ メン ト N/A 256 ビッ ト 、 アドレス アライ メン ト

Page 115: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 115

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

受信ト ランザクシ ョ ンの順序

コアの受信側には、 リ ンクから受信してコンプリーター リ クエス ト インターフェイス と リ クエスター コンプリーシ ョ ン インターフェイスに送信される TLP が PCI Express ト ランザクシ ョ ン順序の制約に違反しないよ うにするロジッ クが含まれています。 統合ブロ ッ クによる順序付けは、 次の重要な規則に基づいています。

• ポステッ ド リ クエス トはコンプリーター リ クエス ト (CQ) インターフェイスでノンポステッ ド リ クエス ト を追い越すこ とが求められます。 この機能を有効にするために、 統合ブロッ クはフロー制御メカニズムを CQ インターフェイスにインプ リ メン ト します。 このインターフェイスを介して、 ユーザー ロジッ クはポステッ ド リ クエス トに影響を及ぼすこ とな く ノンポステッ ド リ クエス トのフローを制御できます。 ノンポステッ ド リ クエスト を受信するためのバッファーに空きがある と、 ユーザー ロジッ クは、 pcie_cq_np_req[0] 信号をアサートします。

利用可能なクレジッ トが 0 ではない場合にのみ、 統合ブロ ッ クはノンポステッ ド リ クエス ト をユーザー アプリケーシ ョ ンに送信します。 クレジッ ト数が不足しているためノンポステッ ド リ クエス トの送信が中断されている間、 統合ブロ ッ クはポステッ ド リ クエス ト を送信し続けます。 ノンポステッ ド リ クエス トの送信に対してクレジッ ト メカニズムによってバッ ク プレッシャーが適用されない場合、 統合ブロッ クはリ ンクから受信した同じ順序でポステッ ド リ クエス トおよびノンポステッ ド リ クエス ト を送信します。 ノンポステッ ド リ クエス トのフロー制御については、 133 ページの 「ノンポステッ ド リ クエス トの選択的フロー制御」 を参照して ください。

• PCIe の順序付けでは、 次のケースを除き、 コンプリーシ ョ ン TLP はポステッ ド リ クエス ト を越えて送信できないこ とが要件となっています。

° 緩和型順序付け (Relaxed Ordering) 属性ビッ ト セッ ト を使用するコンプリーシ ョ ン TLP は、 ポステッ ド リクエス ト を追い越すこ とができる。

° コンプ リーター ID がポステッ ド リ クエスター ID と異なる場合、 ID ベースの順序付けビッ ト セッ ト を使用するコンプ リーシ ョ ン TLP はポステッ ド リ クエス ト を追い越すこ とができる。

上記の 2 つのルールのうち 1 つが適用されない限り、 前に到着したすべてのポステッ ド TLP の転送が完全に完了するまで、 統合ブロ ッ クはリ クエスター コンプリーシ ョ ン (RC) インターフェイスで リ ンクから受信したコンプリーシ ョ ン TLP の転送を開始しません。

TLP が完全にユーザー インターフェイスに転送されたら、 ユーザー アプリ ケーシ ョ ンは順序の制約を必要に応じて強化する必要があ り ます。

表 3‐7:受信順序の規則

行パス ポステッ ド ノンポステッ ド コンプリーシ ョ ン

ポステッ ド なし あ り あ り

ノンポステッ ド なし なし あ り

コンプリーシ ョ ン

a) なし

b) あ り (緩和されている順序付け)

c) あ り (ID ベースの順序付け)

あ り なし

Page 116: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 116

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

送信ト ランザクシ ョ ンの順序

送信側では、 統合ブロ ッ クはリ クエスター リ クエス ト (RQ) インターフェイス と コンプリーター コンプリーシ ョ ン (CC) インターフェイスで TLP を受信します。 統合ブロ ッ クは、 これらの各インターフェイスから受信した ト ランザクシ ョ ンの順序を変更しません。 リ クエスター側のリ クエス ト と コンプリーター側のコンプリーシ ョ ンが 1 つのトラフ ィ ッ ク ス ト リームに多重化された後、 統合ブロ ッ クの転送パイプラインでこれらがどのよ うに順序付けされるのか予測するのは難し くな り ます。 コンプリーシ ョ ン TLP がリ クエス トに対して順序付けを維持しなければならない場合、 ユーザー ロジッ クは、 CC インターフェイスから送信されるコンプリーシ ョ ンに対して厳密な順序付けを維持する必要がある リ クエス トに 4 ビッ トのシーケンス番号を提供できます。 これには、 s_axis_rq_tuser バス内の seq_num[3:0] 入力を使用します。 ユーザー アプリ ケーシ ョ ンから新しいコンプ リーシ ョ ン 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-X TLP 間で順序付けを維持するこ とが求められます。 この場合、 MSI メ ッセージ インターフェイスで MSI または MSI-X を提示する前に、 ユーザー ロジッ クは pcie_rq_seq_num[3:0] 出力にリ クエスター リ クエス トのシーケンス番号が現れるのを待機する必要があ り ます。

コンプリーター インターフェイス

このインターフェイスは、 AXI4-Stream プロ ト コルに基づいて、 PCIe リ ンクから受信した ト ランザクシ ョ ン (メモリ、 I/O の読み出し /書き込み、 メ ッセージ、 ア ト ミ ッ ク操作) をコンプリーター リ クエス ト (CQ) インターフェイスの ト ランザクシ ョ ンにマップします。 コンプリーター インターフェイスは、 各方向のデータ転送にそれぞれが用いられる 2 つの個別のインターフェイスで構成されます。 各インターフェイスは AXI4-Stream プロ ト コルに基づき、64、 128、 または 256 ビッ ト幅に設定できます。 CQ インターフェイスは、 (関連するペイロード データを含む) リ クエス ト をユーザー アプリ ケーシ ョ ンに転送するために用いられ、 コンプリーター コンプリーシ ョ ン (CC) インターフェイスはコンプ リーシ ョ ン データ (ノンポステッ ド リ クエス ト向け) をユーザー アプリ ケーシ ョ ンに送信してからリ ンクに転送するために用いられます。 これら 2 つのインターフェイスは独立して動作します。 つま り、 統合ブロ ッ クは、 前回のリ クエス トのコンプリーシ ョ ンを受信する と同時に CQ インターフェイスを介して新しいリ クエス ト を転送できます。

コンプリーター リクエスト  インターフェイスの動作

図 3-18 に、 コアのコンプリーター リ クエス ト インターフェイスに関連する信号を示します。 コアは、 このインターフェイスを介して各 TLP を AXI4-Stream パケッ ト と して送信します。 このパケッ トは 128 ビッ ト ディ スク リプターから始ま り、 TLP にペイロードが含まれる場合はその後をデータが続きます。

Page 117: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 117

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

コンプ リーター リ クエス ト インターフェイスは、 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-18

図 3‐18: コンプリーター リクエスト  インターフェイスの信号

Integrated Block for PCIe Client Application

PCIe CompleterRequest Interface

AXI4-StreamSlave

PCIeCompleter-Side

Interface

m_axis_cq_tdata[255:0]m_axis_cq_valid

m_axis_cq_tready

m_axis_cq_tkeep[7:0]

m_axis_cq_tlast

pcie_cq_np_req[0]

pcie_cq_np_req_count[5:0]

AXI4-StreamMaster

sop

first_be[3:0]

last_be[3:0]

byte_en[31:0]

discontinue

tph_present

tph_type[1:0]

tph_st_tag[7:0]

m_axis_cq_tuser[84:0]

parity[31:0]

Page 118: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 118

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

コンプリーター リクエス ト  ディスクリプターのフォーマッ ト

統合ブロッ クは、 CQ インターフェイスを介して リ ンクから受信した各リ クエス ト TLP を独立した AXI4-Stream パケッ ト と して転送します。 各パケッ トはディ スク リプターから始ま り、 ディ スク リプターの後にペイロード データが続きます。 ディ スク リプターは必ず 16 バイ ト長とな り、 リ クエス ト パケッ トの 初の 16 バイ トで送信されます。ディ スク リプターは、 64 ビッ ト インターフェイスでは 初の 2 サイクル間で送信され、 128 ビッ ト または 256 ビットの場合は 初のサイクルで送信されます。

図 3-19、 図 3-20、 図 3-21、 および図 3-22 に、 ディ スク リプターのフォーマッ ト を リ クエス ト タイプ別に示しています。 図 3-19 に示すフォーマッ トは、 転送されている リ クエス ト TLP がメモ リ読み出し /書き込みリ クエス ト、 I/O 読み出し /書き込みリ クエス ト、 またはア ト ミ ッ ク操作リ クエス トのと きに適用されます。 図 3-20 に示すフォーマッ トは、 ベンダー定義メ ッセージ (タイプ 0 またはタイプ 1) 専用です。 図 3-21 に示すフォーマッ トは、 すべての ATS メ ッセージ (Invalid Request、 Invalid Completion、 Page Request、 PRG Response) に使用されます。 その他のメ ッセージのディ クス リプターについては、 図 3-22 に示すフォーマッ ト とな り ます。

X-Ref Target - Figure 3-19

図 3‐19: メモリ  リクエスト、 I/O リクエスト、 ア ト ミ ッ ク操作リクエストのコンプリーター リクエス ト  ディスクリプター フォーマッ ト

01234567

+0

01234567

+1

01234567

+2

01234567

+3

DW + 0

Address [63:2]

Address Type (AT)

01234567

+4

01234567

+5

01234567

+6

01234567

+7

DW + 1

Dword Count01234567

+8

01234567

+9

01234567

+10

01234567

+11

DW + 2

TagTC01234567

+12

01234567

+13

01234567

+14

01234567

+15

DW + 3

Attr

Req Type

96 64

32

BAR Aperture

Bus Device/Function

Requester IDTarget Function

127

63 0

X12217

R R

BAR ID

X-Ref Target - Figure 3-20

図 3‐20:ベンダー定義メ ッセージのコンプリーター リクエスト  ディスクリプター フォーマッ ト

01234567

+0

01234567

+1

01234567

+2

01234567

+3

DW + 0

01234567

+4

01234567

+5

01234567

+6

01234567

+7

DW + 1

01234567

+8

01234567

+9

01234567

+10

01234567

+11

DW + 2

01234567

+12

01234567

+13

01234567

+14

01234567

+15

DW + 396 64

Msg Code

Vendor - Defined Header BytesDestination ID

Bus Device/FunctionVendor ID

TL HeaderByte 15

R Dword CountTag

MessageRouting

TCAttr R

Req Type

Bus Device/FunctionRequester ID

03263

127

TL HeaderByte 14

TL HeaderByte 13

TL HeaderByte 12

X12219

R R

Page 119: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 119

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

表 3-8 に、 コンプリーター リ クエス ト ディ スク リプターの個別フ ィールドを示します。

X-Ref Target - Figure 3-21

図 3‐21: ATS メ ッセージのコンプリーター リクエスト  ディスクリプタ  フォーマッ ト

01234567

+0

01234567

+1

01234567

+2

01234567

+3

DW + 0

01234567

+4

01234567

+5

01234567

+6

01234567

+7

DW + 1

01234567

+8

01234567

+9

01234567

+10

01234567

+11

DW + 2

01234567

+12

01234567

+13

01234567

+14

01234567

+15

DW + 3

96 64

32

Msg Code

TL Header Bytes 8-15

TL HeaderByte 15

R Dword CountTag

MessageRouting

TCAttr R

Req Type

Bus Device/FunctionRequester ID

127

63 0

TL HeaderByte 14

TL HeaderByte 13

TL HeaderByte 12

TL HeaderByte 11

TL HeaderByte 10

TL HeaderByte 9

TL HeaderByte 8

X12216

RR

X-Ref Target - Figure 3-22

図 3‐22: その他メ ッセージのコンプリーター リクエスト  ディスクリプター フォーマッ ト

01234567

+0

01234567

+1

01234567

+2

01234567

+3

01234567

+4

01234567

+5

01234567

+6

01234567

+7

Dword Count01234567

+8

01234567

+9

01234567

+10

01234567

+11

Tag01234567

+12

01234567

+13

01234567

+14

01234567

+15

Req Type

96 64

32

RMsg CodeMessageRouting

TCAttr R

OBFF Code (for OBFF message); Reserved (for others)

No-Snoop Latency (for LTR message);

Reserved (for others)

Snoop Latency (for LTR message);

Reserved (for others)

R

R Bus Device/FunctionRequester ID

0

127

63

DW + 0DW + 1

DW + 2DW + 3

X12218

表 3‐8: コンプリーター リクエスト  ディスクリプターのフ ィールド

ビッ ト  インデックス フ ィールド名 説明

1:0Address Type

(アドレス タイプ)

このフ ィールドは、 メモ リ ト ランザクシ ョ ンおよびア ト ミ ッ ク操作専用に定義されます。 リ クエス トの TL ヘッダーから抽出された AT ビッ トが含まれます。

00: リ クエス ト内のアドレスは変換されない

01: ト ランザクシ ョ ンは変換リ クエス ト

10: リ クエス ト内のアドレスは変換される

11: 予約

Page 120: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 120

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

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-9 に示します。

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

表 3‐8: コンプリーター リクエスト  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス フ ィールド名 説明

Page 121: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 121

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

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 アクセス

• 111: BAR チェッ クなし (ルート ポートでのみ有効)

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 が使用する メモリ空間に基づきます。

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 フ ィールドの値を提供します。

表 3‐8: コンプリーター リクエスト  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス フ ィールド名 説明

Page 122: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 122

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

35:32 OBFF コード

このフ ィールドは OBFF メ ッセージ専用に定義されます。 OBFF コード フ ィールドは、 さまざまな OBFF ケースを識別するために使用されます。

• 1111b: CPU アクティブ – バス マスタ リ ングや割り込みなど、 すべてのデバイス アクシ ョ ンに対してシステムが完全にアクティブである

• 0001b: OBFF – デバイス メモ リの読み出し /書き込みバス マスターの動作で利用可能なシステム メモ リ パス

• 0000b: アイ ドル – システムがアイ ドル状態で、 低電力ステート

その他すべてのコードは予約されています。

111:104 メ ッセージ コード

このフ ィールドはすべてのメ ッセージ用に定義されます。TLP ヘッダーから抽出された 8 ビッ トのメ ッセージ コードが含まれます。

サポート対象のメ ッセージ コードの一覧は、 『PCI Express Base Specification、rev. 3.0』 [参照 2] の「Appendix F」を参照してください。

114:112Message Routing

(メ ッセージ ルーティング)

このフ ィールドはすべてのメ ッセージ用に定義されます。 これらのビッ トは、 TLP ヘッダーからの 3 ビッ トの配線フ ィールド r[2:0] を提供します。

15:0Destination ID

(デスティネーシ ョ ン ID)

このフ ィールドはベンダー定義メ ッセージにのみ適用されます。メ ッセージが ID によって配線される場合 (つま り、 メ ッセージ配線フ ィールドが 010 バイナリ )、 このフ ィールドはメ ッセージの Destination ID を提供します。

63:32

Vendor-Defined Header

(ベンダー定義のヘッダー )

このフ ィールドはベンダー定義メ ッセージにのみ適用されます。TLP ヘッダーの Dword 3 から抽出されたバイ トが含まれます。

63:0ATS Header

(ATS ヘッダー )このフ ィールドは ATS メ ッセージにのみ適用可能です。 TLP ヘッダーの Dword 2 と Dword 3 から抽出されたバイ トが含まれます。

表 3‐9: ト ランザクシ ョ ン  タイプ

リクエスト  タイプ (バイナリ )

説明

0000 メモ リ読み出し リ クエス ト

0001 メモ リ書き込みリ クエス ト

0010 I/O 読み出し リ クエス ト

0011 I/O 書き込みリ クエス ト

0100 メモ リのフェッチおよび追加リ クエス ト

0101 メモ リの無条件スワップ リ クエス ト

0110 メモ リの比較およびスワップ リ クエス ト

0111 読み出し リ クエス トのロ ッ ク (レガシ デバイスでのみ可能)

1000 タイプ 0 のコンフ ィギュレーシ ョ ン読み出し リ クエス ト ( リ クエスター側のみ)

1001 タイプ 1 のコンフ ィギュレーシ ョ ン読み出し リ クエス ト ( リ クエスター側のみ)

1010 タイプ 0 のコンフ ィギュレーシ ョ ン書き込みリ クエス ト ( リ クエスター側のみ)

1011 タイプ 1 のコンフ ィギュレーシ ョ ン書き込みリ クエス ト ( リ クエスター側のみ)

1100 ATS およびベンダー定義メ ッセージを除くすべてのメ ッセージ

表 3‐8: コンプリーター リクエスト  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス フ ィールド名 説明

Page 123: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 123

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

コンプリーターを介すメモリ書き込み動作

図 3-23、 図 3-24、 および図 3-25 のタイ ミ ング図は、 コンプリーター リ クエス ト (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 ビッ ト も含まれます。これらのビッ トはパケッ トの 初のビートで有効になり、 ペイロードの 初と 後の Dword の有効バイ ト を指定します。

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 ステア リ ング タグおよびステア リ ング タグ タイプ) に関連するパラ メーターを転送します。

1101 ベンダー定義メ ッセージ

1110 ATS メ ッセージ

1111 予約

表 3‐9: ト ランザクシ ョ ン  タイプ (続き)

リクエスト  タイプ (バイナリ )

説明

Page 124: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 124

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-23

図 3‐23: コンプリーター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (Dword アライメン ト  モード、 64 ビッ ト  インターフェイス)

user_clk

m_axis_cq_tdata[31:0]

m_axis_cq_tdata[63:32]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[1:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[3:0]) m_axis_cq_tuser[11:8]

(byte_en[7:4]) m_axis_cq_tuser[15:12]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

DESC 0 DESC 2 DW 0 DW 0 DW 2 DW n-1

DESC 1 DESC 3 DW 1 DW 1 DW 3

0x3 0x3 0x3 0x1

FIRST BE

LAST BE

0 FIRST_BE FIRST_BE 0xF 0xF LAST_BE

0 0xF 0xF 0xF

X12358

X-Ref Target - Figure 3-24

図 3‐24: コンプリーター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (Dword アライメン ト  モード、 128 ビッ ト  インターフェイス)

user_clk

m_axis_cq_tdata[31:0]

m_axis_cq_tdata[63:32]

m_axis_cq_tdata[95:64]

m_axis_cq_tdata[127:96]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[3:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[3:0]) m_axis_cq_tuser[11:8]

(byte_en[7:4]) m_axis_cq_tuser[15:12]

(byte_en[11:8]) m_axis_cq_tuser[19:16]

(byte_en[15:12]) m_axis_cq_tuser[23:20]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

DESC 0 DW 0 DW 0 DW n-1

DESC 1 DW 1 DW 1

DESC 2 DW 2 DW 2

DESC 3 DW 3 DW 3

0xF 0xF 0xF 0x1

FIRST BE

LAST BE

0 FIRST_BE 0xF 0xF LAST_BE

0 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

Page 125: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 125

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-25

図 3‐25: コンプリーター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン (Dword アライメン ト  モード、 256 ビッ ト  インターフェイス)

user_clk

m_axis_cq_tdata[31:0]

m_axis_cq_tdata[63:32]

m_axis_cq_tdata[95:64]

m_axis_cq_tdata[127:96]

m_axis_cq_tdata[159:128]

m_axis_cq_tdata[191:160]

m_axis_cq_tdata[223:192]

m_axis_cq_tdata[255:224]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[7:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[3:0]) m_axis_cq_tuser[11:8]

(byte_en[7:4]) m_axis_cq_tuser[15:12]

(byte_en[11:8]) m_axis_cq_tuser[19:16]

(byte_en[15:12]) m_axis_cq_tuser[23:20]

(byte_en[19:16]) m_axis_cq_tuser[27:24]

(byte_en[23:20) m_axis_cq_tuser[31:28]

(byte_en[27:24]) m_axis_cq_tuser[35:32]

(byte_en[31:28]) m_axis_cq_tuser[39:36]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

DESC 0 DW 4 DW 4 DW n-1

DESC 1 DW 5 DW 5

DESC 2 DW 6 DW 6

DESC 3 DW 7 DW 7

DW 0 DW 8 DW 8

DW 1 DW 9 DW 9

DW 2 DW 10 DW 10

DW 3 DW 11 DW 11

0xFF 0xFF 0xFF 0x01

FIRST BE

LAST BE

0 0xF 0xF 0xF LAST_BE

0 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

FIRST BE 0xF 0xF 0xF 0

0xF 0xF 0xF 0xF 0

0xF 0xF 0xF 0xF 0

0xF 0xF 0xF 0xF 0

X12360

Page 126: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 126

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

図 3-26、 図 3-27、 および図 3-28 のタイ ミ ング図は、 CQ インターフェイスを介して リ ンクから受信したメモ リ書き込み TLP のアドレス アライ メン ト転送を 64、 128、 および 256 ビッ ト別に示しています。 図示する目的で、 メモ リに書き込まれるデータの開始 Dword アドレスは、 整数 m > 0 のと き (m × 32 + 1) と仮定しています。 サイズは n Dword と仮定し、 n = k * 32 + 29 (k > 0) とな り ます。

アドレス アライ メン ト モードでは、 ペイロードの送信は必ず、 ディ スク リプターの 後のバイ トの後に続いて発生するビートで開始します。 ペイロードの 初の有効バイ トのアドレスに基づいて、 ペイロードの 初のバイ トはどのバイ ト レーンにも出力できます。 ディ スク リプターとペイロード間のギャップにおいて 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-26

図 3‐26: コンプリーター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン (アドレス アライメン ト  モード、 64 ビッ ト  インターフェイス) 

user_clk

m_axis_cq_tdata[31:0]

m_axis_cq_tdata[63:32]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[1:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[3:0]) m_axis_cq_tuser[11:8]

(byte_en[7:4]) m_axis_cq_tuser[15:12]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

DESC 0 DESC 2 DW 1 DW n-2

DESC 1 DESC 3 DW 0 DW 0 DW 2 DW n-1

0x3

FIRST BE

LAST BE

0xF 0xF

0 FIRST_BE FIRST_BE 0xF 0xF LAST_BE

0 0

X12355

Page 127: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 127

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-27

図 3‐27: コンプリーター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (アドレス アライメン ト  モード、 128 ビッ ト  インターフェイス)

user_clk

m_axis_cq_tdata[31:0]

m_axis_cq_tdata[63:32]

m_axis_cq_tdata[95:64]

m_axis_cq_tdata[127:96]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[3:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[3:0]) m_axis_cq_tuser[11:8]

(byte_en[7:4]) m_axis_cq_tuser[15:12]

(byte_en[11:8]) m_axis_cq_tuser[19:16]

(byte_en[15:12]) m_axis_cq_tuser[23:20]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

DESC 0 DW 3 DW n-2

DESC 1 DW 0 DW 0 DW 4 DW n-1

DESC 2 DW 1 DW 1 DW 5

DESC 3 DW 2 DW 2 DW 6

0xF 0xF 0xF 0x3

FIRST BE

LAST BE

0xF 0xF

0 FIRST_BE FIRST_BE 0xF 0xF LAST_BE

0 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

0 0

X12356

Page 128: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 128

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-28

図 3‐28: コンプリーター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (アドレス アライメン ト  モード、 256 ビッ ト  インターフェイス)

user_clk

m_axis_cq_tdata[31:0]

m_axis_cq_tdata[63:32]

m_axis_cq_tdata[95:64]

m_axis_cq_tdata[127:96]

m_axis_cq_tdata[159:128]

m_axis_cq_tdata[191:160]

m_axis_cq_tdata[223:192]

m_axis_cq_tdata[255:224]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[7:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[3:0]) m_axis_cq_tuser[11:8]

(byte_en[7:4]) m_axis_cq_tuser[15:12]

(byte_en[11:8]) m_axis_cq_tuser[19:16]

(byte_en[15:12]) m_axis_cq_tuser[23:20]

(byte_en[19:16]) m_axis_cq_tuser[27:24]

(byte_en[23:20) m_axis_cq_tuser[31:28]

(byte_en[27:24]) m_axis_cq_tuser[35:32]

(byte_en[31:28]) m_axis_cq_tuser[39:36]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

DESC 0 DW 7 DW 7 DW n-6

DESC 1 DW 0 DW 8 DW 8 DW n-5

DESC 2 DW 1 DW 9 DW 9 DW n-4

DESC 3 DW 2 DW 10 DW 10 DW n-3

DW 3 DW 11 DW 11 DW n-2

DW 4 DW 12 DW 12 DW n-1

DW 5 DW 13 DW 13

DW 6 DW 14 DW 14

0xFF 0xFF 0xFF 0x3F

FIRST BE

LAST BE

0xF 0xF 0xF

0 FIRST BE 0xF 0xF 0xF

0 0xF 0xF 0xF

0 0xF 0xF 0xF

0 0xF 0xF 0xF

0 0xF 0xF 0xF LAST BE

0 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

0 0

X12357

Page 129: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 129

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

コンプリーター メモリ読み出し

AXI4-Stream パケッ トに 16 バイ ト ディ スク リプターしか含まれない場合を除いて、 メモ リ読み出し リ クエス トはメモ リ書き込みリ クエス ト と同様にコンプリーター リ クエス ト インターフェイス全体で転送されます。 図 3-29、図 3-30、 および図 3-31 のタイ ミ ング図は、 コンプ リーター リ クエス ト (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-29

図 3‐29: コンプリーター リクエスト  インターフェイスでのメモリ読み出し ト ランザクシ ョ ン (64 ビッ ト  インターフェイス) 

user_clk

m_axis_cq_tdata[31:0]

m_axis_cq_tdata[63:32]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[1:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[7:0]) m_axis_cq_tuser[15:8]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

DESC 0 DESC 0 DESC 2

DESC 1 DESC 1 DESC 3

0x3 0x3

FIRST BE FIRST BE

LAST BE LAST BE

00

Page 130: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 130

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-30

図 3‐30: コンプリーター リクエスト  インターフェイスでのメモリ読み出し ト ランザクシ ョ ン (128 ビッ ト  インターフェイス)

user_clk

m_axis_cq_tdata[31:0]

m_axis_cq_tdata[63:32]

m_axis_cq_tdata[95:64]

m_axis_cq_tdata[127:96]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[3:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[15:0]) m_axis_cq_tuser[23:8]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

DESC 0 DESC 0

DESC 1 DESC 1

DESC 2 DESC 2

DESC 3 DESC 3

0xF 0xF

FIRST BE FIRST BE

LAST BE LAST BE

0

Page 131: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 131

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

初の Dword と 後の Dword の読み出し リ クエス トに関連するバイ ト イネーブル ビッ トは、 m_axis_cq_tuser サイ ドバンド バスの統合ブロ ッ クで提供されます。 これらのビッ トは 初のディ スク リプター バイ トの転送中に有効になり、 リ クエス トに関連するバイ ト単位の開始アドレス とバイ ト カウン ト を判断する目的で使用する必要があり ます。 1 Dword や 2 Dword の読み出し といった特殊なケースでは、 バイ ト イネーブルは非連続にできます。 それ以外では、 バイ ト イネーブルは連続しています。 Dword カウン ト フ ィールドが 1 にセッ ト され、 初のバイ ト イネーブルと 後のバイ ト イネーブルが 0 にセッ ト された状態で、 長さ 0 のメモ リ読み出しが CQ インターフェイスで送信されます。

ユーザー アプリ ケーシ ョ ンは、 コンプリーシ ョ ンを用いて各メモ リ読み出し リ クエス トに応答する必要があ り ます。読み出しによって要求されたデータは、 1 つのコンプリーシ ョ ンまたは複数のスプリ ッ ト コンプ リーシ ョ ンと して送信できます。 これらのコンプ リーシ ョ ンは統合ブロッ クのコンプリーター コンプリーシ ョ ン (CC) インターフェイスを介して送信する必要があ り ます。 2 つの異なる リ クエス トに対応するコンプリーシ ョ ンは順序を問わず送信できますが、 同じ リ クエス トに対応するスプリ ッ ト コンプリーシ ョ ンについては順序を追って送信する必要があ り ます。CC インターフェイスの動作は、 134 ページの 「コンプリーター コンプ リーシ ョ ン インターフェイスの動作」 を参照してください。

X-Ref Target - Figure 3-31

図 3‐31: コンプリーター リクエスト  インターフェイスでのメモリ読み出し ト ランザクシ ョ ン  (256 ビッ ト  インターフェイス)

user_clk

m_axis_cq_tdata[31:0]

m_axis_cq_tdata[63:32]

m_axis_cq_tdata[95:64]

m_axis_cq_tdata[127:96]

m_axis_cq_tdata[255:128]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[7:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[31:0]) m_axis_cq_tuser[39:8]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

DESC 0 DESC 0

DESC 1 DESC 1

DESC 2 DESC 2

DESC 3 DESC 3

0x0F 0x0F

FIRST BE FIRST BE

LAST BE LAST BE

0 0

X12354

Page 132: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 132

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 (サポート されないリ クエス ト ) を適宜設定して リ クエスターにこのエラーを通知するこ とができます。 コンプリーター コンプ リーシ ョ ン インターフェイスの動作は、 134 ページの 「コンプリーター コンプリーシ ョ ン インターフェイスの動作」 を参照してください。

I/O 読み出し

CQ インターフェイスにおける I/O 読み出し リ クエス トの転送はメモ リ読み出し リ クエス ト と同様で、 そこにはディスク リプターしか含まれません。 要求されたデータの長さは常に 1 Dword とな り、 m_axis_cq_tuser 内の First Byte Enable ビッ トは読み出し対象の有効バイ ト を示します。

ユーザー ロジッ クは、 1 Dword のコンプリーシ ョ ン (またはエラーの場合はデータを含まないコンプリーシ ョ ン) で I/O 読み出し リ クエス トに応答する必要があ り ます。 2 つの異なる I/O 読み出し リ クエス トに対応するコンプリーシ ョ ンは順序を問わず送信できます。 I/O 読み出し ト ランザクシ ョ ンに関連するエラーが発生した場合、 コンプリーシ ョ ン ディ スク リプターにあるコンプリーシ ョ ン ステータス フ ィールドに CA (コンプリーターの中断) または UR (サポート されないリ クエス ト ) を適宜設定して リ クエスターにこのエラーを通知するこ とができます。 コンプリーター コンプリーシ ョ ン インターフェイスの動作は、 134 ページの 「コンプリーター コンプリーシ ョ ン インターフェイスの動作」 を参照してください。

コンプリーター リクエス ト  インターフェイスでのアト ミ ッ ク操作

コンプ リーター リ クエス ト インターフェイスにおけるア ト ミ ッ ク操作リ クエス トの転送は、 メモ リ書き込みリ クエス ト と同様です。 ア ト ミ ッ ク操作のペイロードの範囲は、 1 Dword から 8 Dword までで、開始アドレスは必ず Dword 境界に揃えられます。 転送は 128 ビッ ト ディ スク リプターから始ま り、 その後ペイロードが続きます。 Dword アライ メン ト モードを使用する場合、 ディ スク リプターの直後に 初の Dword ペイロードが続きます。 アドレス アライメン ト モードを使用する場合、 ディ スク リプターの後にペイロードが新しいビートで開始し、 そのアライ メン トはディ スク リプターのアドレスに基づきます。 m_axis_cq_tkeep 出力は、 ペイロードの終わり を示します。 また、m_axis_cq_tuser 内の byte_en 信号は、 ペイロード内の有効バイ ト を示します。 m_axis_cq_tuser 内の First Byte Enable と Last Byte Enable ビッ トはア ト ミ ッ ク操作に使用できません。

ア ト ミ ッ ク操作はノンポステッ ド ト ランザクシ ョ ンであるため、 ユーザー ロジッ クはこれに対して操作結果を含むコンプ リーシ ョ ンを用いて応答する必要があ り ます。 操作に関連するエラーが発生した場合、 コンプリーシ ョ ン ディ スク リプターにあるコンプ リーシ ョ ン ステータス フ ィールドにコンプリーターの中断 (CA) またはサポート されないリ クエス ト (UR) を適宜設定して リ クエスターにこのエラーを通知するこ とができます。 コンプリーター コンプ リーシ ョ ン インターフェイスの動作は、 134 ページの 「コンプリーター コンプリーシ ョ ン インターフェイスの動作」 を参照してください。

コンプリーター リクエス ト  インターフェイスでのメ ッセージ リクエスト

ペイロードが常に存在するわけではないこ とを除いて、 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 133: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 133

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

転送の中断

関連するペイロードを含むリ クエス トの場合、 転送されたペイロードにエラーがある と、 統合ブロッ クは m_axis_cq_tuser バスの discontinue 信号をパケッ トの 後のビートで (m_axis_cq_tlast と共に) アサート してこのエラーを通知できます。 これは、 内部メモ リからデータを読み出す間に統合ブロッ クが訂正不可能なエラーを検出したと きに発生します。 パケッ トの 後のビートで discontinue 信号がアサート されたこ とを検出した場合、ユーザー アプリ ケーシ ョ ンはパケッ ト全体を破棄する必要があ り ます。 これは、 統合ブロ ッ クでは致命的エラーと認識されます。

ノンポステッ ド  リクエス トの選択的フロー制御

『PCI Express Base Specification』 [参照 2] では、ユーザー アプリ ケーシ ョ ンがノンポステッ ド ト ランザクシ ョ ンを受信できなくても、 コンプ リーター リ クエス ト インターフェイスはこの ト ランザクシ ョ ンを提供し続けるこ とが規定されています。 この機能を有効にするために、 統合ブロッ クはクレジッ ト ベースのフロー制御メカニズムを CQ インターフェイスにインプ リ メン ト します。 このインターフェイスを介して、 ユーザー ロジッ クはポステッ ド リ クエストに影響を及ぼすこ とな く ノンポステッ ド リ クエス トのフローを制御できます。 ノンポステッ ド リ クエス ト を受信するためのバッファーに空きがある と、 ユーザー ロジッ クは、 pcie_cq_np_req[0] 信号をアサート します。 利用可能なクレジッ トが 0 ではない場合にのみ、 コアはノンポステッ ド リ クエス ト を送信します。 クレジッ ト数が不足しているためノンポステッ ド リ クエス トの送信が中断されている間、 統合ブロ ッ クはポステッ ド リ クエス ト を送信し続けます。 ノンポステッ ド リ クエス トの送信に対してクレジッ ト メカニズムによってバッ ク プレッシャーが適用されない場合、 統合ブロ ッ クはリ ンクから受信した同じ順序でポステッ ド リ クエス トおよびノンポステッ ド リ クエス ト を送信します。

統合ブロ ッ クは、 コンプ リーター リ クエス ト インターフェイスでノンポステッ ド リ クエス トに利用可能なクレジット を追跡するための内部クレジッ ト カウンターを備えています。 次のアルゴ リズムを使用して利用可能なクレジットの追跡を維持します。

• リセッ トでは、 カウンターは 0 にセッ ト されます。

• 統合ブロッ クの リセッ トが解除されたら、 ク ロ ッ ク サイクルごとにカウンターは次のよ うな動作とな り ます。

° pcie_cq_np_req[0] がアクティブ High で、 ノンポステッ ド リ クエス トがこのサイ クルで送信されない場合、 クレジッ ト カウン トが 32 の飽和限界に達していなければ、 1 つずつインク リ メン ト されます。

° pcie_cq_np_req[0] が Low で、 ノンポステッ ド リ クエス トがこのサイ クルで送信される場合、 クレジッ ト カウン トがまだ 0 になっていなければ、 1 つずつデク リ メン ト されます。

° 上記に該当しない場合、 クレジッ ト カウン トの値は変わり ません。

• クレジッ ト カウン トが 1 以上の場合、 統合ブロ ッ クはノンポステッ ド TLP の送信を開始します。

ユーザー アプリ ケーシ ョ ンは、 ノンポステッ ド リ クエス ト を受信できる状態になるたびに pcie_cq_np_req[0] に 1 サイクルのパルスを送信するか、 ノンポステッ ド リ クエス トに対する選択的なバッ ク プレッシャーを実行する必要がない場合は永久的にアサート された状態に維持します。 クレジッ ト カウン トが常に 0 以外の場合、 統合ブロ ッ クはリ ンクから受信した同じ順序でポステッ ド リ クエス トおよびノンポステッ ド リ クエス ト を送信します。カウン トが一定時間 0 の状態が続く と、 ノンポステッ ド リ クエス トは統合ブロ ッ ク FIFO に保管できます。 その後、クレジッ ト カウン トが 0 以外になる と、 統合ブロ ッ クは既に送信されたポステッ ド リ クエス ト よ り も前に到達して保管していたノンポステッ ド リ クエス ト を先に送信し、 その後リ ンクから受信した順にリ クエス ト を送信します。

pcie_cq_np_req[0] 信号のアサートおよびディアサートは、 コンプリーター リ クエス ト インターフェイス上のパケッ ト送信と揃う必要はあ り ません。

出力 (pcie_cq_np_req_count[5:0]) で現在のクレジッ ト カウン ト値をモニタ リ ングできます。 カウンターは 32 が 大です。 内部パイプラインの遅延によ り、 コアが pcie_cq_np_req[0] 入力でパルスを受信してから pcie_cq_np_req_count[5:0] 出力を更新するまでの間には数サイ クルの遅延が生じます。 このため、 ユーザー アプリ ケーシ ョ ンにある程度のバッファー空間がある場合は、 あらかじめクレジッ ト を提供しておく と、 クレジット不足でコアがノンポステッ ド リ クエス ト を保持するこ とがな くな り ます。

Page 134: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 134

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

コンプリーター コンプリーシ ョ ン  インターフェイスの動作

図 3-32 に、 コアのコンプリーター コンプ リーシ ョ ン インターフェイスに関連する信号を示します。 コアは、 このインターフェイスを介して各 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-33 を参照して ください。 コンプリーター リ クエス ト ディ スク リプターの各フ ィールドの詳細は、 表 3-10 で説明しています。

X-Ref Target - Figure 3-32

図 3‐32: コンプリーター コンプリーシ ョ ン  インターフェイスの信号

Integrated Block for PCIe ClientApplication

PCIe CompleterCompletion Interface AXI4-Stream

Master

s_axis_cc_tdata[255:0]

s_axis_cc_tvalid

s_axis_cc_tready

s_axis_cc_tlast

parity[31:0]

s_axis_cc_tuser

AXI4-StreamSlave

PCIe Completer-Side

Interface

discontinue

Page 135: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 135

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-33

図 3‐33: コンプリーター コンプリーシ ョ ン  ディスクリプターのフォーマッ ト

R01234567

+001234567

+101234567

+201234567

+3

DW + 0

Byte CountDword Count01234567

+401234567

+501234567

+601234567

+7

DW + 1

TagTC01234567

+801234567

+901234567

+1001234567

+11

DW + 2

Device/FunctionAttr

Poisoned Completion

64

32

Address [6:0]

Completion Status

Bus

Completer ID

Completer ID EnableForce ECRC

RBus Device/FunctionRequester ID

95

63 0

Locked ReadCompletion

R RAT

X12215

表 3‐10: コンプリーター コンプリーシ ョ ン  ディスクリプターのフ ィールド

ビッ ト  インデックス

フ ィールド名 説明

6:0Lower Address

(下位アドレス)

メモ リ読み出しのコンプリーシ ョ ンの場合、 このフ ィールドは、 送信される メモリ ブロ ッ クのバイ ト単位の開始アドレスの下位 7 ビッ トに設定される必要があ ります。 初の (または唯一の) コンプ リーシ ョ ンの場合、 コンプ リーターは、 次に示すよ うに リ クエス トの 初の Dword に対応するバイ ト イネーブルで構成される、 バイ ト単位のアドレスの 2 ビッ トに連結された リ クエス トのアドレスの下位 5 ビッ トから このフ ィールドを生成できます。

後続のコンプリーシ ョ ンの場合、 下位アドレス フ ィールドは、 64 バイ トの RCB (Read Completion Boundary) 値を用いてルート コンプレッ クスによって生成されたコンプリーシ ョ ンを除いて、 常に 0 になり ます。 この場合、 下位アドレス フ ィールドの下位 6 ビッ トが必ず 0 になり、下位アドレス フ ィールドの 上位ビッ トが 64 バイ ト データ ペイロードのアライ メン トに応じて ト グルします。

その他のコンプリーシ ョ ンの場合、 この下位アドレスはすべて 0 にセッ ト される必要があ り ます。

9:8Address Type

(アドレス タイプ)

このフ ィールドは、 メモ リ ト ランザクシ ョ ンおよびア ト ミ ッ ク操作のコンプリーシ ョ ン用に定義されます。 これらのコンプリーシ ョ ンの場合、 対応する リ クエストのディ スク リプターの AT ビッ ト をユーザーがこのフ ィールドへコピーする必要があ り ます。 その他のコンプリーシ ョ ンの場合、 このフ ィールドは 0 にセッ トされる必要があ り ます。

first_be[3:0]  下位アドレス [1:0]

4'b0000 2'b00

4'bxxx1 2'b00

4'bxx10 2'b01

4'bx100 2'b10

4'b1000 2'b11

Page 136: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 136

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

28:16Byte Count

(バイ ト カウン ト )

これらの 13 ビッ トには、0 ~ 4,096 バイ トの範囲の値が含まれます。シングル コンプリーシ ョ ンを使用してメモリ読み出し リ クエス トが完了する場合、このバイ ト カウン ト値がペイロード サイズをバイ ト単位で示します。 I/O の読み出しコンプリーシ ョ ンや I/O の書き込みコンプリーシ ョ ンの場合、 このフ ィールドは 4 にセッ ト される必要があり ます。長さ 0 のメモリ読み出しに対するコンプリーシ ョ ンを送信している間、 バイ ト カウン ト値は 1 にセッ ト される必要があ り、 ダ ミーのペイロード と して 1 Dword がディスク リプターの後に送信される必要があり ます。

各メモ リ読み出しコンプリーシ ョ ンでは、 このバイ ト カウン ト フ ィールドが リクエス ト を完了するのに必要となる残りのバイ ト数を示します (コンプリーシ ョンで返ってきたバイ ト数を含む)。

複数のコンプリーシ ョ ンを使用してメモ リ読み出し リ クエス トが完了する場合、各コンプリーシ ョ ンのこのバイ ト カウン ト値は、 先行するコンプリーシ ョ ンが示す値から先行するコンプリーシ ョ ンで返ってきたバイ ト数を引いた値とな り ます。 メモ リ読み出し リ クエス ト を完了するのに必要な合計バイ ト数の計算式は、138 ページの表 3-11 を参照してください。

29

Locked Read Completion

(ロ ッ ク された読み出しコンプリーシ ョ ン)

コンプリーシ ョ ンが Locked Read (ロ ッ ク された読み出し ) リ クエス トに応答する場合、 このビッ ト をセッ トする必要があ り ます。 その他のコンプリーシ ョ ンの場合、 このフ ィールドは 0 にセッ ト される必要があ り ます。

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 タグです ( リ クエス トからコピー )。

表 3‐10: コンプリーター コンプリーシ ョ ン  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス

フ ィールド名 説明

Page 137: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 137

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

79:72

Target Function/Device Number

(ターゲッ ト ファンクシ ョ ン/デバイス番号)

コンプリーター ファンクシ ョ ンのファンクシ ョ ン/デバイス番号です。

エンドポイン ト モード :

• ARI が有効な場合:

° ビッ ト [87:80] をコンプ リーター ファンクシ ョ ン番号に設定する必要があ ります。

• ARI が無効な場合:

° ビッ ト [82:80] をコンプリーター ファンクシ ョ ン番号に設定する必要があ ります。

° ビッ ト [87:83] は使用しません。

スイ ッチで使用する場合のアップス ト リーム ポート (IP 内でエンドポイン ト モードを選択):

• ARI が有効な場合:

° ビッ ト [87:80] をコンプリーター ファンクシ ョ ン番号に設定する必要があ ります。

• ARI が無効な場合:

° ビッ ト [82:80] をコンプリーター ファンクシ ョ ン番号に設定する必要があ ります。

° コンプリーシ ョ ンの送信元がスイ ッチ自身の場合、 ビッ ト [87:83] は使用しません。 スイ ッチがコンプリーシ ョ ンを中継している場合 (すなわちコンプリーターがスイ ッチ外部にある場合)、 これらのビッ トは、 コンプリーシ ョン送信元のコンプリーター デバイス番号に設定する必要があ り ます。 ディスク リプターの Completer ID Enable ビッ ト と組み合わせて使用します。

ルート ポート モード (ダウンス ト リーム ポート ):

• ARI が有効な場合:

° ビッ ト [87:80] をコンプリーター ファンクシ ョ ン番号に設定する必要があ ります。

• ARI が無効な場合:

° ビッ ト [87:80] をコンプリーター ファンクシ ョ ン番号に設定する必要があ ります。

° ビッ ト [87:83] をコンプリーター デバイス番号に設定する必要があ り ます。ディ スク リプターの Completer ID Enable ビッ ト と組み合わせて使用します。

87:80

Completer Bus Number

(コンプリーター バス番号)

コンプリーター ファンクシ ョ ンに関連するバス番号です。

エンドポイン ト モード :

• 使用しない

スイ ッチで使用する場合のアップス ト リーム ポート (IP 内でエンドポイン ト モードを選択):

• コンプリーシ ョ ンの送信元がスイ ッチ自身の場合、 使用しません。 スイ ッチがコンプリーシ ョ ンを中継している場合 (すなわちコンプリーターがスイ ッチ外部にある場合)、 これらのビッ トは、 コンプリーシ ョ ン送信元のコンプリーター バス番号に設定する必要があ り ます。 ディ スク リプターの Completer ID Enable ビッ ト と組み合わせて使用します。

ルート ポート モード (ダウンス ト リーム ポート ):

• コンプリーター バス番号に設定する必要があ り ます。 ディ スク リプターの Completer ID Enable ビッ ト と組み合わせて使用します。

表 3‐10: コンプリーター コンプリーシ ョ ン  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス

フ ィールド名 説明

Page 138: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 138

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

88

Completer ID Enable

(コンプリーター ID イネーブル)

1’b1: ク ライアン トがディ スク リプターで指定したバス番号、 デバイス番号、 およびファンクシ ョ ン番号を TLP ヘッダーのコンプリーター ID フ ィールドに格納します。

1’b0: IP は受信したコンフ ィギュレーシ ョ ン リ クエス トから取り込んだバス番号とデバイス番号、 およびク ライアン トがディ スク リプターで指定したファンクシ ョ ン番号を TLP ヘッダーのコンプリーター ID フ ィールドに格納します。

エンドポイン ト モード :

• 必ず 1’b0 に設定します。

スイ ッチで使用する場合のアップス ト リーム ポート (IP 内でエンドポイン ト モードを選択):

• コンプリーシ ョ ンの送信元がスイ ッチ自身の場合、 1’b0 に設定します。

• スイ ッチがコンプリーシ ョ ンを中継している場合 (すなわちコンプリーターがスイ ッチ外部にある場合)、 1’b1 に設定します。 ARI が無効な場合は、 コンプリーター バス番号ビッ ト [95:88] およびコンプ リーター ファンクシ ョ ン/デバイス番号ビッ ト [87:83] と組み合わせて使用します。

ルート ポート モード :

• 必ず 1’b1 に設定します。 ARI が無効な場合は、 コンプリーター バス番号ビット [95:88] およびコンプ リーター ファンクシ ョ ン/デバイス番号ビッ ト [87:83] と組み合わせて使用します。

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‐11: first_be[3:0]、 last_be[3:0]、 および Dword Count[10:0] からのバイ ト  カウン ト計算

first_be[3:0] last_be[3:0] 合計バイ ト  カウン ト

1xx1 0 4

01x1 0 3

1x10 0 3

0011 0 2

0110 0 2

1100 0 2

0001 0 1

0010 0 1

0100 0 1

1000 0 1

0000 0 1

xxx1 1xxx Dword_count × 4

表 3‐10: コンプリーター コンプリーシ ョ ン  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス

フ ィールド名 説明

Page 139: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 139

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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-34、 図 3-35、 および図 3-36 のタイ ミ ング図は、 CC インターフェイスを介すユーザー アプリ ケーシ ョ ンからの Dword アライ メン ト転送を、 インターフェイス幅 64、 128、 および 256 ビッ ト別に示しています。 この場合、 ペイロードの 初の Dword がディ スク リプターの直後で開始しています。 データ ブロ ッ クが 4 バイ トの倍数でない場合、 またはペイロードの開始が Dword の境界に揃っていない場合は、 ペイロードの開始が Dword の境界に揃う よ うに、 またペイロードが Dword の倍数値となるよ うに、 ユーザー アプリ ケーシ ョ ンは NULL を追加する必要があ り ます。 たとえば、 データ ブロ ッ クがバイ ト アドレス 7 から開始し、 サイズが 3 バイ トの場合は、 初のバイ トの前に NULL バイ ト を 3 つ追加し、 2 Dword の長さにするためにブロ ッ クの終わりに NULL バイ ト を 2 つ追加する必要があ り ます。 また、 不連続な読み出しの場合は、 データ ブロ ッ ク内のすべてのバイ トが有効と して返される とは限り ません。 このよ うな場合は、 必要に応じて有効バイ トの間にある隙間に NULL バイ トを追加して、 正しい位置にある有効なバイ ト を返す必要があ り ます。 インターフェイスには、 ペイロード内の有効なバイ ト を示す信号があ り ません。 これは、 リ クエスターがリ クエス ト内のバイ ト イネーブルを追跡してコンプリーシ ョ ンから無効なバイ ト を破棄する役割を果たすため、 必要あ り ません。

xxx1 01xx (Dword_count × 4) -1

xxx1 001x (Dword_count × 4) -2

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‐11: first_be[3:0]、 last_be[3:0]、 および Dword Count[10:0] からのバイ ト  カウン ト計算 (続き)

first_be[3:0] last_be[3:0] 合計バイ ト  カウン ト

Page 140: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 140

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

Dword アライ メン ト モードでは、 転送は 12 ディ スク リプター バイ トから始ま り、 その直後にペイロード バイ トが続きます。 ユーザー アプリ ケーシ ョ ンは、 パケッ トが送信される間、 s_axis_cc_tvalid 信号をアサート したままに保持する必要があ り ます。 パケッ ト送信中に s_axis_cc_tvalid がディアサート される と、 統合ブロッ クはこれをエラーと して処理し、 リ ンク上の対応するコンプリーシ ョ ン TLP を無効にしてデータ破損を回避します。

またユーザー アプリ ケーシ ョ ンは、 パケッ トの 後のビートで s_axis_cc_tlast をアサート します。 統合ブロ ックは、 データの受信準備が整っていない場合に、 任意のサイクルで s_axis_cc_tready をディアサートできます。統合ブロ ッ クが s_axis_cc_tready をディアサート したクロ ッ ク サイクル内では、 ユーザー アプリ ケーシ ョ ンは CC インターフェイス上の値を変更できません。

X-Ref Target - Figure 3-34

図 3‐34: コンプリーター コンプリーシ ョ ン  インターフェイスでの一般的なコンプリーシ ョ ンの転送 (Dword アライメン ト  モード、 64 ビッ ト  インターフェイス)

user_clk

s_axis_cc_tdata[31:0]

s_axis_cc_tdata[63:32]

s_axis_cc_tvalid

s_axis_cc_tready

s_axis_cc_tkeep[1:0]

s_axis_cc_tlast

(discontinue) s_axis_cc_tuser[0]

DESC 0 DESC 2 DW 1 DW 1 DW n-1

DESC 1 DW 0 DW 2 DW 2

0x3 0x3 0x3 0x1

X12349

X-Ref Target - Figure 3-35

図 3‐35: コンプリーター コンプリーシ ョ ン  インターフェイスでの一般的なコンプリーシ ョ ンの転送 (Dword アライメン ト  モード、 128 ビッ ト  インターフェイス)

user_clk

s_axis_cc_tdata[31:0]

s_axis_cc_tdata[63:32]

s_axis_cc_tdata[95:64]

s_axis_cc_tdata[127:96]

s_axis_cc_tvalid

s_axis_cc_tready

s_axis_cc_tkeep[3:0]

s_axis_cc_tlast

(discontinue) s_axis_cc_tuser[0]

DESC 0 DW 1 DW 5 DW 5 DW n-3

DESC 1 DW 2 DW 6 DW 6 DW n-2

DESC 2 DW 3 DW 7 DW 7 DW n-1

DW 0 DW 4 DW 8 DW 8

0xF 0xF 0xF 0x7

X12350

Page 141: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 141

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

アドレス アライ メン ト モードでは、 ペイロードの送信は必ず、 ディ スク リプターの 後のバイ トの後に続いて発生するビートで開始します。 メモ リ読み出しのコンプリーシ ョ ンの場合、 ペイロードの 初の有効バイ トのアドレスに基づいて、 ペイロードの 初のバイ トはどのバイ ト レーンにも出力できます。 その他すべてのコンプリーシ ョ ンの場合、 ペイロードはバイ ト レーン 0 で開始する必要があ り ます。

図 3-37、 図 3-38、 および図 3-39 のタイ ミ ング図は、 コンプリーター コンプリーシ ョ ン インターフェイスを介すメモ リ読み出しコンプ リーシ ョ ンのアドレス アライ メン ト転送を 64、 128、 および 256 ビッ ト別に示しています。図示するこ とを目的と して、 送信されるデータ ブロ ッ クの開始 Dword アドレス (ディ スク リプターの下位アドレス フ ィールドのビッ ト [6:2] で伝搬) は (m × 8 +1 ) と仮定されています (整数 m)。データ ブロ ッ クのサイズは、 n Dword と仮定され、 n = k × 32 + 28 (k > 0) とな り ます。

X-Ref Target - Figure 3-36

図 3‐36: コンプリーター コンプリーシ ョ ン  インターフェイスでの一般的なコンプリーシ ョ ンの転送 (Dword アライメン ト  モード、 256 ビッ ト  インターフェイス)

user_clk

s_axis_cc_tdata[31:0]

s_axis_cc_tdata[63:32]

s_axis_cc_tdata[95:64]

s_axis_cc_tdata[127:96]

s_axis_cc_tdata[159:128]

s_axis_cc_tdata[191:160]

s_axis_cc_tdata[223:192]

s_axis_cc_tdata[255:224]

s_axis_cc_tvalid

s_axis_cc_tready

s_axis_cc_tkeep[7:0]

s_axis_cc_tlast

(discontinue) s_axis_cc_tuser[0]

DESC 0 DW 5 DW 5 DW n-7

DESC 1 DW 6 DW 6 DW n-6

DESC 2 DW 7 DW 7 DW n-5

DW 0 DW 8 DW 8 DW n-4

DW 1 DW 9 DW 9 DW n-3

DW 2 DW 10 DW 10 DW n-2

DW 3 DW 11 DW 11 DW n-1

DW 4 DW 12 DW 12

0xFF 0xFF 0xFF 0x7F

X12351

Page 142: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 142

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-37

図 3‐37: コンプリーター コンプリーシ ョ ン  インターフェイスでの一般的なコンプリーシ ョ ンの転送 (アドレス アライメン ト  モード、 64 ビッ ト  インターフェイス)

user_clk

s_axis_cc_tdata[31:0]

s_axis_cc_tdata[63:32]

s_axis_cc_tvalid

s_axis_cc_tready

s_axis_cc_tkeep[7:0]

s_axis_cc_tlast

(discontinue) s_axis_cc_tuser[0]

DESC 0 DESC 2 DW 1 DW n-1

DESC 1 DW 0 DW 0 DW 2

0x3 0x3 0x3 0x1

X12346

X-Ref Target - Figure 3-38

図 3‐38: コンプリーター コンプリーシ ョ ン  インターフェイスでの一般的なコンプリーシ ョ ンの転送 (アドレス アライメン ト  モード、 128 ビッ ト  インターフェイス)

user_clk

s_axis_cc_tdata[31:0]

s_axis_cc_tdata[63:32]

s_axis_cc_tdata[95:64]

s_axis_cc_tdata[127:96]

s_axis_cc_tvalid

s_axis_cc_tready

s_axis_cc_tkeep[7:0]

s_axis_cc_tlast

(discontinue) s_axis_cc_tuser[0]

DESC 0 DW 3 DW 3 DW n-1

DESC 1 DW 0 DW 4 DW 4

DESC 2 DW 1 DW 5 DW 5

DW 2 DW 6 DW 6

0xF 0xF 0xF 0x1

X12347

Page 143: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 143

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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) 機能を使用して訂正不可能な内部エラーと して、 接続される先のルート コンプレッ クスに対して統合ブロ ッ クがエラーをレポート します。

エラー ステータス (UA および CA) のコンプリーシ ョ ン

コンプ リーター リ クエス ト インターフェイスで受信した リ クエス トに対して UR (サポート されないリ クエス ト ) または CA (コンプリーシ ョ ン中断) で応答する場合、 ユーザー アプリ ケーシ ョ ンは、 図 3-33 に示すフォーマッ トで 3 Dword のコンプリーシ ョ ン ディ スク リプターを送信し、 その後にコンプリーシ ョ ンを生成した リ クエス トの情報を含む 5 Dword を送信する必要があ り ます。 これらの 5 Dword は、統合ブロ ッ クが AER ヘッダー ログ レジスタに リクエス トに関する情報を記録するのに不可欠です。

X-Ref Target - Figure 3-39

図 3‐39: コンプリーター コンプリーシ ョ ン  インターフェイスでの一般的なコンプリーシ ョ ンの転送 (アドレス アライメン ト  モード、 256 ビッ ト  インターフェイス)

user_clk

s_axis_cc_tdata[31:0]

s_axis_cc_tdata[63:32]

s_axis_cc_tdata[95:64]

s_axis_cc_tdata[127:96]

s_axis_cc_tdata[159:128]

s_axis_cc_tdata[191:160]

s_axis_cc_tdata[223:192]

s_axis_cc_tdata[255:224]

s_axis_cc_tvalid

s_axis_cc_tready

s_axis_cc_tkeep[7:0]

s_axis_cc_tlast

(discontinue) s_axis_cc_tuser[0]

DESC 0 DW 7 DW 7 DW n-5

DESC 1 DW 0 DW 8 DW 8 DW n-4

DESC 2 DW 1 DW 9 DW 9 DW n-3

DW 2 DW 10 DW 10 DW n-2

DW 3 DW 11 DW 11 DW n-1

DW 4 DW 12 DW 12

DW 5 DW 13 DW 13

DW 6 DW 14 DW 14

0xFF 0xFF 0xFF 0x1F

X12348

Page 144: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 144

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

図 3-40 に、 UR または CA ステータスのコンプリーシ ョ ンを送信する際に転送される情報のシーケンスを示します。この情報は、 合計 8 Dword の AXI4-Stream パケッ ト と してフォーマッ ト され、 次のよ うに組織化されます。

• 初の 3 Dword には、 図 3-33 の形式のコンプ リーシ ョ ン ディ スク リプターが含まれます。

• 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-40

図 3‐40: UR/CA コンプリーシ ョ ンの AXI4‐Stream パケッ トの構成

701234567+4

01234567+5

01234567+6

01234567+7

DW 3

tph_present

32

first _betph_st_tag

63

R

DW 0 DW 1

Completion Descriptor DW 1 Completion Descriptor DW 0

DW 2

Completion Descriptor DW 2

DW 4 DW 5

DW DW 7

last_be

tph_type[1:0]

R

Request Descriptor, DW 3 Request Descriptor, DW 2

Request Descriptor, DW 1 Request Descriptor, DW 0

X12245

Page 145: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 145

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

リ クエスター インターフェイス

リ クエスター インターフェイスは、 ユーザー エンドポイン ト アプリ ケーシ ョ ンがバス マスターと して PCIe リ ンクからホス ト メモ リへの PCI ト ランザクシ ョ ンを開始できるよ うにします。 ルート コンプレッ クスの場合も、 このインターフェイスを使用して I/O およびコンフ ィギュレーシ ョ ン リ クエス ト を開始します。 このインターフェイスは、PCIe リ ンク上でメ ッセージを送信するために、 エンドポイン ト とルート コンプレッ クスの両方で使用できます。このインターフェイスでのト ランザクシ ョ ンは、 コンプリーター インターフェイスでのト ランザクシ ョ ンと同じですが、 コアとユーザー アプリケーシ ョ ンの役割が逆になり ます。 ポステッ ド ト ランザクシ ョ ンは、 分割できない単一動作と して処理されますが、 ノンポステッ ド ト ランザクシ ョ ンはスプリ ッ ト ト ランザクシ ョ ンと して処理されます。

リ クエスター インターフェイスは、 各方向のデータ転送にそれぞれが用いられる 2 つの個別のインターフェイスで構成されます。 各インターフェイスは AXI4-Stream プロ ト コルに基づき、 64、 128、 または 256 ビッ ト幅に設定できます。 リ クエスター リ クエス ト (RQ) インターフェイスはユーザー アプリ ケーシ ョ ンから統合ブロ ッ クへリ クエスト (関連するペイロード データを含む) を転送するために使用され、 リ クエスター コンプリーシ ョ ン (RC) インターフェイスは、 統合ブロ ッ クが リ ンクから受信したコンプリーシ ョ ン (ノンポステッ ド リ クエス ト ) をユーザー アプリケーシ ョ ンへ送信するために使用されます。 これら 2 つのインターフェイスは独立して動作します。 つま り、 統合ブロ ッ クが前回のリ クエス トのコンプリーシ ョ ンを受信する間に、 ユーザー アプリ ケーシ ョ ンが RQ インターフェイスを介して新しいリ クエス ト を転送できます。

リクエスター リクエスト  インターフェイスの動作

RQ インターフェイスでは、 ユーザー アプリ ケーシ ョ ンが各 TLP を AXI4-Stream パケッ ト と して送信します。 このパケッ トは 128 ビッ ト ディ スク リプターから始ま り、 TLP にペイロードが含まれる場合はその後をデータが続きます。 図 3-41 に、 リ クエスター リ クエス ト インターフェイスで使用される信号を示します。

Page 146: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 146

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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] のビッ ト をセッ トする必要もあ り ます。

X-Ref Target - Figure 3-41

図 3‐41: リクエスター リクエスト  インターフェイス

UltraScale FPGA Gen3 Integrated Block for PCIe

Client Application

PCIe RequesterRequest Interface

AXI4-StreamMaster

PCIe Requester Interface

s_axis_rq_tdata[255:0]

s_axis_rq_valid

s_axis_rq_tready

s_axis_rq_tlast

s_axis_rq_tkeep[7:0]

first_be[3:0]

last_be[3:0]

addr_offset[2:0]

discontinue

tph_present

tph_type[1:0]

tph_st_tag[7:0]

tph_indirect_tag_en

seq_num[3:0]

s_axis_rq_tuser[59:0]

pcie_rq_tag[5:0]

pcie_rq_tag_vld

pcie_tfc_nph[1:0]

pcie_tfc_npd[1:0]

pcie_rq_seq_num[3:0]pcie_rq_seq_num_vld

AXI4-StreamSlave

parity[31:0]

Page 147: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 147

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

統合ブロッ クで 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-42 ~図 3-46 に、 ディ スク リプターのフォーマッ ト を リ クエス ト タイプ別に示します。 図 3-42 に示すフォーマッ トは、 転送されている リ クエス ト TLP がメモ リ読み出し /書き込みリ クエス ト、 I/O 読み出し /書き込みリ クエスト、 またはア ト ミ ッ ク操作リ クエス トのと きに適用されます。 図 3-43 に示すフォーマッ トは、 コンフ ィギュレーシ ョ ン リ クエス トに使用されます。 図 3-44 に示すフォーマッ トは、 ベンダー定義メ ッセージ (タイプ 0 またはタイプ 1) 専用です。 図 3-45 に示すフォーマッ トは、 すべての ATS メ ッセージ (無効な リ クエス ト、 無効なコンプリーシ ョ ン、 ページ リ クエス ト、 PRG 応答) に使用されます。 その他のメ ッセージのディ クス リプターについては、図 3-46 に示すフォーマッ ト とな り ます。

X-Ref Target - Figure 3-42

図 3‐42: メモリ  リクエスト、 I/O リクエスト、 ア ト ミ ッ ク操作リクエストのリクエスター リクエス ト  ディスクリプター フォーマッ ト

01234567+0

01234567+1

01234567+2

01234567+3

DW + 0

Address [63:2]

Address Type (AT)

01234567+4

01234567+5

01234567+6

01234567+7

DW + 1

Dword Count01234567

+801234567

+901234567

+1001234567

+11

DW + 2

TagTC01234567

+1201234567

+1301234567

+1401234567

+15

DW + 3

Attr

Req Type

96 64

32

Poisoned Request

BusCompleter ID

Requester ID EnableForce ECRC

Bus Device/Function

Requester IDDevice/Function

127

63 0

X12212

Page 148: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 148

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-43

図 3‐43: コンフ ィギュレーシ ョ ン  リクエストのリクエスター リクエスト  ディスクリプター フォーマッ ト

01234567

+0

01234567

+1

01234567

+2

01234567

+3

DW + 0

Reserved01234567

+4

01234567

+5

01234567

+6

01234567

+7

DW + 1

Dword count01234567

+8

01234567

+9

01234567

+10

01234567

+11

DW + 2

TagTC01234567

+12

01234567

+13

01234567

+14

01234567

+15

DW + 3

Attr

Req Type

96 64

32

Poisoned Request

Bus

Completer ID

Requester ID EnableForce ECRC

Bus Device/FunctionRequester ID

Device/Function

127

63 0

Reserved

Reg NumberExt. Reg Number

{Bus Number[7:0], Device Number[4:0],

Function Number[2:0]} X12631

X-Ref Target - Figure 3-44

図 3‐44:ベンダー定義メ ッセージのリクエスター リクエスト  ディスクリプター フォーマッ ト

01234567

+0

01234567

+1

01234567

+2

01234567

+3

DW + 0

01234567

+4

01234567

+5

01234567

+6

01234567

+7

DW + 1

01234567

+8

01234567

+9

01234567

+10

01234567

+11

DW + 2

01234567

+12

01234567

+13

01234567

+14

01234567

+15

DW + 396 64

Msg Code

Vendor - Defined Header BytesDestination ID

Bus Device/FunctionVendor ID

TL HeaderByte 15

R Dword CountTag

MessageRouting

TCAttr R

Req TypePoisoned Request

Bus Device/FunctionRequester ID

Requester ID EnableForce ECRC

03263

127

TL HeaderByte 14

TL HeaderByte 13

TL HeaderByte 12

X12214

Page 149: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 149

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-45

図 3‐45: ATS メ ッセージのリクエスター リクエスト  ディスクリプター フォーマッ ト

01234567

+0

01234567

+1

01234567

+2

01234567

+3

DW + 0

01234567

+4

01234567

+5

01234567

+6

01234567

+7

DW + 1

01234567

+8

01234567

+9

01234567

+10

01234567

+11

DW + 2

01234567

+12

01234567

+13

01234567

+14

01234567

+15

DW + 3

96 64

32

Msg Code

TL Header Bytes 8-15

TL HeaderByte 15

R Dword CountTag

MessageRouting

TCAttr R

Req Type

Poisoned Request

Bus Device/Function

Requester ID

Requester ID EnableForce ECRC

127

63 0

TL HeaderByte 14

TL HeaderByte 13

TL HeaderByte 12

TL HeaderByte 11

TL HeaderByte 10

TL HeaderByte 9

TL HeaderByte 8

X12211

X-Ref Target - Figure 3-46

図 3‐46: その他メ ッセージのリクエスター リクエスト  ディスクリプター フォーマッ ト

01234567+0

01234567+1

01234567+2

01234567+3

01234567+4

01234567+5

01234567+6

01234567+7

Dword Count01234567

+801234567

+901234567

+1001234567

+11

Tag01234567

+1201234567

+1301234567

+1401234567

+15

Req Type

96 64

32

Msg CodeMessageRouting

TCAttr R

OBFF Code (for OBFF message); Reserved (for others)

No-Snoop Latency (for LTR message);

Reserved (for others)

Snoop Latency (for LTR message);

Reserved (for others)

R

Bus Device/Function

Requester ID

0

127

63

DW + 0DW + 1

DW + 2DW + 3

X12213

Poisoned RequestForce ECRC

Requester ID Enable

Page 150: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 150

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

表 3-12 に、 コンプリーター リ クエス ト ディ スク リプターの個別フ ィールドを示します。

表 3‐12: リクエスター リクエスト  ディスクリプターのフ ィールド

ビッ ト  インデックス

フ ィールド名 説明

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-9 に示します。

79Poisoned Request

(ポイズン リ クエス ト )

このビッ トは、 送信される リ クエス ト TLP にポイズニングを適用する場合に使用できます。 この機能は、 タイプ 0 およびタイプ 1 のコンフ ィギュレーシ ョ ン書き込みリ クエス ト以外のすべてのリ クエス トでサポート されています。 ユーザー アプリ ケーシ ョ ンがディ スク リプターの後に続くデータ ブロ ッ ク内にエラーを検出し、 PCI Express のデータ ポイズニング機能を使用してこのエラー情報を伝える場合以外は、 このビッ トはすべてのリ クエス トで 0 にセッ トする必要があ り ます。

この機能は、 タイプ 0 およびタイプ 1 のコンフ ィギュレーシ ョ ン書き込みリ クエス ト以外のすべてのリ クエス トでサポート されています。

Page 151: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 151

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

87:80

Requester Function/Device Number ( リ クエスター

ファンクシ ョ ン番号/デバイス番号)

リ クエスター ファンクシ ョ ンのファンクシ ョ ン/デバイス番号です。

エンドポイン ト モード :

• ARI が有効な場合:

° ビッ ト [87:80] を リ クエスター ファンクシ ョ ン番号に設定する必要があ り ます。

• ARI が無効な場合:

° ビッ ト [82:80] を リ クエスター ファンクシ ョ ン番号に設定する必要があ り ます。

° ビッ ト [87:83] は使用しません。

スイ ッチで使用する場合のアップス ト リーム ポート (IP 内でエンドポイント モードを選択):

• ARI が有効な場合:

° ビッ ト [87:80] を リ クエスター ファンクシ ョ ン番号に設定する必要があ り ます。

• ARI が無効な場合:

° ビッ ト [82:80] を リ クエスター ファンクシ ョ ン番号に設定する必要があ り ます。

° リ クエス トの送信元がスイ ッチ自身の場合、 ビッ ト [87:83] は使用しません。 スイ ッチがリ クエス ト を中継している場合 (すなわち リ クエスターがスイ ッチ外部にある場合)、 これらのビッ トは、 リ クエス ト送信元のリ クエスター デバイス番号に設定する必要があ り ます。ディ スク リプターの Requester ID Enable ビッ ト と組み合わせて使用します。

ルート ポート モード (ダウンス ト リーム ポート ):

• ARI が有効な場合:

° ビッ ト [87:80] を リ クエスター ファンクシ ョ ン番号に設定する必要があ り ます。

• ARI が無効な場合:

° ビッ ト [87:80] を リ クエスター ファンクシ ョ ン番号に設定する必要があ り ます。

° ビッ ト [87:83] を リ クエスター デバイス番号に設定する必要があ り ます。 ディ スク リプターの Requester ID Enable ビッ ト と組み合わせて使用します。

95:88Requester Bus Number

( リ クエスター バス番号)

リ クエスター ファンクシ ョ ンに関連するバス番号です。

エンドポイン ト モード :

• 使用しない

スイ ッチで使用する場合のアップス ト リーム ポート (IP 内でエンドポイント モードを選択):

• リ クエス トの送信元がスイ ッチ自身の場合、 使用しません。 スイ ッチがリ クエス ト を中継している場合 (すなわち リ クエスターがスイ ッチ外部にある場合)、 これらのビッ トは、 リ クエス ト送信元のリ クエスター バス番号に設定する必要があ り ます。 ディ スク リプターの Requester ID Enable ビッ ト と組み合わせて使用します。

ルート ポート モード (ダウンス ト リーム ポート ):

• リ クエスター バス番号に設定する必要があ り ます。 ディ スク リプターの Requester ID Enable ビッ ト と組み合わせて使用します。

表 3‐12: リクエスター リクエスト  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス

フ ィールド名 説明

Page 152: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 152

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

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 ビッ トのファンクシ ョ ン番号と して扱われます。

120Requester ID Enable ( リ クエスター ID

イネーブル)

1’b1: ク ライアン トがディ スク リプターで指定したバス番号、 デバイス番号、 およびファンクシ ョ ン番号を TLP ヘッダーのリ クエスター ID フ ィールドに格納します。

1’b0: IP は受信したコンフ ィギュレーシ ョ ン リ クエス トから取り込んだバス番号とデバイス番号、 およびク ライアン トがディ スク リプターで指定したファンクシ ョ ン番号を TLP ヘッダーのリ クエスター ID フ ィールドに格納します。

エンドポイン ト モード :

• 必ず 1’b0 に設定します。

スイ ッチで使用する場合のアップス ト リーム ポート (IP 内でエンドポイント モードを選択):

• リ クエス トの送信元がスイ ッチ自身の場合、 1’b0 に設定します。

• スイ ッチがリ クエス ト を中継している場合 (すなわち リ クエスターがスイ ッチ外部にある場合)、 1’b1 に設定します。 ARI が無効な場合は、 リ クエスター バス番号ビッ ト [95:88] およびリ クエスター ファンクシ ョ ン/デバイス番号ビッ ト [87:83] と組み合わせて使用します。

ルート ポート モード :

• 必ず 1’b1 に設定します。 ARI が無効な場合は、 リ クエスター バス番号ビッ ト [95:88] およびリ クエスター ファンクシ ョ ン/デバイス番号ビッ ト [87:83] と組み合わせて使用します。

123:121 Transaction Class (TC) リ クエス トに関連する PCIe ト ランザクシ ョ ン ク ラス (TC) です。

126:124 Attributes (属性)

これらのビッ トは、 リ クエス トに関連する Attribute ビッ トの設定を提供します。 ビッ ト 124 は No Snoop ビッ トで、 ビッ ト 125 は Relaxed Ordering ビッ トです。 ビッ ト 126 は ID-Based Ordering ビッ トで、 メモ リ リ クエスト と メ ッセージ専用にセッ トできます。

ファンクシ ョ ンの PCI Express デバイス制御レジスタで対応する属性が有効に設定されていない場合、 統合ブロ ッ クはリ ンク上に送信される リ クエス トの属性ビッ ト を強制的に 0 にします。

127 Force ECRC

強制的に ECRC を挿入します。 このビッ ト を 1 にセッ トする と、 リ クエスト を送信するファンクシ ョ ンで ECRC 機能が有効に設定されていない場合でも、 統合ブロ ッ クがリ クエス ト TLP に ECRC を含む TLP Digest を追加します。

表 3‐12: リクエスター リクエスト  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス

フ ィールド名 説明

Page 153: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 153

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 インターフェイス上の値を変更しないでください。 ディ スク リプターおよびディ スク リプターとペイロードの間に挿入される NULL バイ ト を含むパケッ ト内の Dword が有効であるこ とを示すには、 AXI4-Stream インターフェイス信号 m_axis_rq_tkeep (各 Dword 位置に 1 つ) をセッ トする必要があ り ます。 つま り、 ディ スク リプターの 初の Dword からペイロードの 後の Dword まで、 tkeep ビッ トは継続的に 1 にセッ ト される必要があ り ます。 パケッ トの転送中、 インターフェイスの幅全体がパケッ トで埋められないと きは、 パケッ トの 後のビートに限り tkeep ビット を 0 にできます。

リ クエスター リ クエス ト インターフェイスでは、 s_axis_rq_tuser バスに First Byte Enable ビッ ト と Last Enable ビッ ト も含まれます。 これらのビッ トはパケッ トの 初のビートでセッ ト され、 ペイロードの 初と 後の Dword にある有効なバイ ト情報を提供します。

15:0Snoop Latency

(スヌープ レイテンシ)このフ ィールドは LTR メ ッセージ専用に定義されます。メ ッセージの TLPヘッダーにある 16 ビッ トの Snoop Latency フ ィールドの値を提供します。

31:16No-Snoop Latency (ノー スヌープ レイテンシ)

このフ ィールドは LTR メ ッセージ専用に定義されます。 メ ッセージの TLP ヘッダーにある 16 ビッ トの No-Snoop Latency フ ィールドの値を提供します。

35:32 OBFF コード

OBFF コード フ ィールドは、 さまざまな OBFF ケースを識別するために使用されます。

• 1111b: CPU アクティブ – バス マスタ リ ングや割り込みなど、 すべてのデバイス アクシ ョ ンに対してシステムが完全にアクティブである

• 0001b: OBFF – デバイス メモ リの読み出し /書き込みバス マスターの動作で利用可能なシステム メモ リ パス

• 0000b: アイ ドル – システムがアイ ドル状態で、 低電力ステート

その他すべてのコードは予約されています。

111:104 メ ッセージ コード

このフ ィールドはすべてのメ ッセージ用に定義されます。 TLP ヘッダーに設定される 8 ビッ トのメ ッセージ コードが含まれます。

サポート対象のメ ッセージ コードの一覧は、 『PCI Express Base Specification、 rev. 3.0』 [参照 2] の 「Appendix F」 を参照してください。

114:112Message Routing

(メ ッセージ ルーティング)

このフ ィールドはすべてのメ ッセージ用に定義されます。 統合ブロ ッ クは、 これらのビッ ト を リ クエス ト TLP の TLP ヘッダーにある 3 ビッ トの Routing フ ィールド r[2:0] へコピーします。

15:0Destination ID

(デスティネーシ ョ ン ID)

このフ ィールドはベンダー定義メ ッセージにのみ適用されます。 メ ッセージが ID を使用して送信される場合 (つま り、 Message Routing フ ィールドが 010 バイナリの場合)、 このフ ィールドはメ ッセージの Destination ID を提供します。

63:32Vendor-Defined Header

(ベンダー定義のヘッダー )

このフ ィールドはベンダー定義メ ッセージにのみ適用されます。 TLP ヘッダーの Dword 3 へコピーされます。

63:0ATS Header

(ATS ヘッダー )このフ ィールドは ATS メ ッセージにのみ適用可能です。 統合ブロ ッ クが TLP ヘッダーの Dword 2 と Dword 3 へコピーするバイ トが含まれます。

表 3‐12: リクエスター リクエスト  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス

フ ィールド名 説明

Page 154: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 154

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

ユーザー アプリ ケーシ ョ ンは、 1 つのリ クエス トで転送されるペイロードのサイズを、 統合ブロ ッ クで設定した大ペイロード サイズまでに制限し、 ペイロードが 4k バイ トの境界を超えないよ うにする必要があ り ます。 2 Dword またはそれ以下のメモ リ書き込みの場合、 first_be および last_be で 1 が連続しない場合があ り ます。 長さ 0 のメモ リ書き込みリ クエス ト など特殊な場合は、 first_be と last_be が両方と もすべて 0 にセッ ト された状態でユーザー アプリ ケーシ ョ ンがダ ミーの 1 Dword ペイロードを提供する必要があ り ます。 その他の場合、 first_be および last_be では 1 が連続する必要があ り ます。

図 3-47、 図 3-48、 および図 3-49 のタイ ミ ング図は、 リ クエスター リ クエス ト インターフェイスを介すユーザー アプリ ケーシ ョ ンからのメモ リ書き込みリ クエス トの Dword アライ メン ト転送を、 インターフェイス幅 64、 128、 および 256 ビッ ト別に示しています。 説明用と して、 ユーザー アプリ ケーシ ョ ン メモ リに書き込まれるデータ ブロックのサイズは n Dword と仮定し、 n = k × 32 + 29 (k > 0) とな り ます。

X-Ref Target - Figure 3-47

図 3‐47: リクエスター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン (Dword アライメン ト  モード、 64 ビッ ト  インターフェイス)

user_clk

s_axis_rq_tdata[31:0]

s_axis_rq_tdata[63:32]

s_axis_rq_tvalid

s_axis_rq_tready

s_axis_rq_tkeep[1:0]

s_axis_rq_tlast

(first_be) s_axis_rq_tuser[3:0]

(last_be) s_axis_rq_tuser[7:4]

(discontinue) s_axis_rq_tuser[11]

DESC 0 DESC 2 DW 0 DW 0 DW 2 DW n-1

DESC 1 DESC 3 DW 1 DW 1 DW 3

0x3 0x3 0x3 0x1

FIRST BE

LAST BE

X12336

Page 155: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 155

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-48

図 3‐48: リクエスター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (Dword アライメン ト  モード、 128 ビッ ト  インターフェイス) 

user_clk

s_axis_rq_tdata[31:0]

s_axis_rq_tdata[63:32]

s_axis_rq_tdata[95:64]

s_axis_rq_tdata[127:96]

s_axis_rq_tvalid

s_axis_rq_tready

s_axis_rq_tkeep[3:0]

s_axis_rq_tlast

(first_be) s_axis_rq_tuser[3:0]

(last_be) s_axis_rq_tuser[7:4]

(discontinue) s_axis_rq_tuser[11]

DESC 0 DW 0 DW 0 DW n-1

DESC 1 DW 1 DW 1

DESC 2 DW 2 DW 2

DESC 3 DW 3 DW 3

0xF 0xF 0xF 0x1

FIRST BE

LAST BE

X12337

Page 156: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 156

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

図 3-50、 図 3-51、 および図 3-52 のタイ ミ ング図は、 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-49

図 3‐49: リクエスター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (Dword アライメン ト  モード、 256 ビッ ト  インターフェイス) 

user_clk

s_axis_rq_tdata[31:0]

s_axis_rq_tdata[63:32]

s_axis_rq_tdata[95:64]

s_axis_rq_tdata[127:96]

s_axis_rq_tdata[159:128]

s_axis_rq_tdata[191:160]

s_axis_rq_tdata[223:192]

s_axis_rq_tdata[255:224]

s_axis_rq_tvalid

s_axis_rq_tready

s_axis_rq_tkeep[7:0]

s_axis_rq_tlast

(first_be) s_axis_rq_tuser[3:0]

(last_be) s_axis_rq_tuser[7:4]

(discontinue) m_axis_cq_tuser[11]

DESC 0 DW 4 DW 4 DW n-1

DESC 1 DW 5 DW 5

DESC 2 DW 6 DW 6

DESC 3 DW 7 DW 7

DW 0 DW 8 DW 8

DW 1 DW 9 DW 9

DW 2 DW 10 DW 10

DW 3 DW 11 DW 11

0xFF 0xFF 0xFF 0x01

FIRST BE

LAST BE

X12338

Page 157: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 157

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-50

図 3‐50: リクエスター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (アドレス アライメン ト  モード、 64 ビッ ト  インターフェイス) 

user_clk

s_axis_rq_tdata[31:0]

s_axis_rq_tdata[63:32]

s_axis_rq_tvalid

s_axis_rq_tready

s_axis_rq_tkeep[1:0]

s_axis_rq_tlast

(first_be) s_axis_rq_tuser[3:0]

(last_be) s_axis_rq_tuser[7:4]

(add_offset[2:0]) s_axis_rq_tuser[10:8]

(discontinue) s_axis_rq_tuser[11]

DESC 0 DESC 2 DW 1 DW n-2

DESC 1 DESC 3 DW 0 DW 0 DW 2 DW n-1

0x3

FIRST BE

LAST BE

1

X12333

X-Ref Target - Figure 3-51

図 3‐51: リクエスター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン (アドレス アライメン ト  モード、 128 ビッ ト  インターフェイス)

user_clk

s_axis_rq_tdata[31:0]

s_axis_rq_tdata[63:32]

s_axis_rq_tdata[95:64]

s_axis_rq_tdata[127:96]

s_axis_rq_tvalid

s_axis_rq_tready

s_axis_rq_tkeep[3:0]

s_axis_rq_tlast

(first_be) s_axis_rq_tuser[3:0]

(last_be) s_axis_rq_tuser[7:4]

(add_offset[2:0]) s_axis_rq_tuser[10:8]

(discontinue) s_axis_rq_tuser[11]

DESC 0 DW 3 DW n-2

DESC 1 DW 0 DW 0 DW 4 DW n-1

DESC 2 DW 1 DW 1 DW 5

DESC 3 DW 2 DW 2 DW 6

0xF 0xF 0xF 0x3

FIRST BE

LAST BE

1

X12334

Page 158: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 158

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

ペイロードを含まないノンポステッ ド  ト ランザクシ ョ ン

ペイロードを含まないノンポステッ ド ト ランザクシ ョ ン (メモ リ書き込みリ クエス ト、 I/O 読み出し リ クエス ト、 コンフ ィギュレーシ ョ ン読み出し リ クエス ト ) は、 メモ リ書き込みリ クエス ト と同様に RQ インターフェイスを介して送信されますが、 この ト ランザクシ ョ ンでは AXI4-Stream パケッ ト 7 に 16 バイ トのディ スク リプターのみ含まれます。 図 3-53、 図 3-54、 および図 3-55 のタイ ミ ング図は、 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[3:0] と last_be[3:0] が両方と もすべて 0 にセッ ト された状態で、 リ クエス トの長さは 1 Dword に設定される必要があ り ます。 さ らに、 アドレス アライ メン ト モードの場合は、 s_axis_rq_tuser の addr_offset[2:0] がリ クエスター コンプ リーシ ョ ン インターフェイス上に返されるデータの任意の開始アライメン ト を指定します。 アライ メン トは、 リ クエス トのアドレス と相関性を持つ必要はあ り ません。

X-Ref Target - Figure 3-52

図 3‐52: リクエスター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (アドレス アライメン ト  モード、 256 ビッ ト  インターフェイス)

user_clk

s_axis_rq_tdata[31:0]

s_axis_rq_tdata[63:32]

s_axis_rq_tdata[95:64]

s_axis_rq_tdata[127:96]

s_axis_rq_tdata[159:128]

s_axis_rq_tdata[191:160]

s_axis_rq_tdata[223:192]

s_axis_rq_tdata[255:224]

s_axis_rq_tvalid

s_axis_rq_tready

s_axis_rq_tkeep[7:0]

s_axis_rq_tlast

(first_be) s_axis_rq_tuser[3:0]

(last_be) s_axis_rq_tuser[7:4]

(add_offset[2:0]) s_axis_rq_tuser[10:8]

(discontinue) s_axis_rq_tuser[11]

DESC 0 DW 7 DW 7 DW n-6

DESC 1 DW 0 DW 8 DW 8 DW n-5

DESC 2 DW 1 DW 9 DW 9 DW n-4

DESC 3 DW 2 DW 10 DW 10 DW n-3

DW 3 DW 11 DW 11 DW n-2

DW 4 DW 12 DW 12 DW n-1

DW 5 DW 13 DW 13

DW 6 DW 14 DW 14

0xFF 0xFF 0xFF 0x3F

FIRST BE

LAST BE

1

X12335

Page 159: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 159

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-53

図 3‐53: リクエスター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (64 ビッ ト  インターフェイス) 

X-Ref Target - Figure 3-54

図 3‐54: リクエスター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (128 ビッ ト  インターフェイス) 

user_clk

s_axis_rq_tdata[31:0]

s_axis_rq_tdata[63:32]

s_axis_rq_tvalid

s_axis_rq_tready

s_axis_rq_tkeep[1:0]

s_axis_rq_tlast

(first_be) s_axis_rq_tuser[3:0]

(last_be) s_axis_rq_tuser[7:4]

(discontinue) s_axis_rq_tuser[11]

DESC 0 DESC 0 DESC 2

DESC 1 DESC 1 DESC 3

0x3 0x3

FIRST BE FIRST BE

LAST BE LAST BE

user_clk

s_axis_rq_tdata[31:0]

s_axis_rq_tdata[63:32]

s_axis_rq_tdata[95:64]

s_axis_rq_tdata[127:96]

s_axis_rq_tvalid

s_axis_rq_tready

s_axis_rq_tkeep[3:0]

s_axis_rq_tlast

(first_be) s_axis_rq_tuser[3:0]

(last_be) s_axis_rq_tuser[7:4]

(discontinue) s_axis_rq_tuser[11]

DESC 0 DESC 0

DESC 1 DESC 1

DESC 2 DESC 2

DESC 3 DESC 3

0xF 0xF

FIRST BE FIRST BE

LAST BE LAST BE

Page 160: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 160

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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-55

図 3‐55: リクエスター リクエスト  インターフェイスでのメモリ書き込みト ランザクシ ョ ン  (256 ビッ ト  インターフェイス)

user_clk

s_axis_rq_tdata[31:0]

s_axis_rq_tdata[63:32]

s_axis_rq_tdata[95:64]

s_axis_rq_tdata[127:96]

s_axis_rq_tdata[255:128]

s_axis_rq_tvalid

s_axis_rq_tready

s_axis_rq_tkeep[7:0]

s_axis_rq_tlast

(first_be) s_axis_rq_tuser[3:0]

(last_be) s_axis_rq_tuser[7:4]

(discontinue) s_axis_rq_tuser[11]

DESC 0 DESC 0

DESC 1 DESC 1

DESC 2 DESC 2

DESC 3 DESC 3

0x0F 0x0F

FIRST BE FIRST BE

LAST BE LAST BE

X12332

Page 161: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 161

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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_rq_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 (内部タグ管理): このモードは、 Vivado IDE で [Enable Client Tag] をオンにする と選択されます (デフォルトはオン)。 リ クエスター側から開始された各ノンポステッ ド リ クエス トに対して、 統合ブロ ッ ク内のロジッ クがタグの割り当てを実行します。 統合ブロッ クは、 フ リー タグのリ ス ト を管理し、 ユーザー アプリ ケーシ ョ ンがノンポステッ ド ト ランザクシ ョ ンを開始する際に各リ クエス トにこれらのいずれかを割り当て、 その後 pcie_rq_tag[5:0] 出力を介して割り当てたタグ値をユーザー アプリ ケーシ ョ ンに伝達します。 このバスの値は、 統合ブロ ッ クが pcie_rq_tag_vld をアサートする と有効になり ます。 リ クエス トに応答して統合ブロ ッ クから送信されたすべてのコンプリーシ ョ ンが リ クエス ト と一致するよ うに、 ユーザー ロジッ クはこのタグをコピーする必要があ り ます。

このモードでは、 統合ブロ ッ ク内のロジッ クがスプリ ッ ト コンプリーシ ョ ン テーブルの全条件をチェッ ク し、現在未処理状態のノンポステッ ド リ クエス トの合計数が 大値 (64) に到達する と、 ユーザー アプリ ケーシ ョ ンからのノンポステッ ド リ クエス トにバッ ク プレッシャーを用いて (s_axis_rq_tready を使用) 送信を制御します。

Page 162: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 162

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

• External Tag Management (外部タグ管理): このモードの場合、 リ クエスター側から開始された各ノンポステッ ド リ クエス トに対して、 ユーザー ロジッ クがタグの割り当てを実行します。 ユーザー ロジッ クは、 その時点で処理されていないその他すべてのノンポステッ ド ト ランザクシ ョ ンのタグと競合しないよ うにタグ値を選択し、その選択したタグ値を リ クエスター ディ スク リプターを介して統合ブロ ッ クへ伝達する必要があ り ます。 さ らに統合ブロ ッ クは、 スプ リ ッ ト コンプリーシ ョ ン テーブル内で未処理のリ クエス ト を管理し、 受信するコンプリーシ ョ ンを リ クエス ト と一致させます。 ただし、 タグの異常やスプリ ッ ト コンプリーシ ョ ン テーブルの全条件チェッ クは実行しません。

内部タグ管理オプシ ョ ンを使用する場合、 統合ブロッ クは、 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-56 に、 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-57 および図 3-58 は、 同じ例のクレジッ ト と タグのタイ ミ ングを、 インターフェイス幅 128 ビッ トおよび 64 ビッ ト別に示しています。

Page 163: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 163

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-56

図 3‐56: リクエスター リクエスト  インターフェイスでの利用可能なクレジッ ト数およびタグ数を示す信号 (256 ビッ ト  インターフェイス)

X-Ref Target - Figure 3-57

図 3‐57: リクエスター リクエスト  インターフェイスでの利用可能なクレジッ ト数およびタグ数を示す信号 (128 ビッ ト  インターフェイス) 

user_clk

s_axis_rq_data[255:0]

s_axis_rq_data_tvalid

s_axis_rq_data_ready

s_axis_rq_data_tlast

pcie_tfc_nph[1:0]

pcie_tfc_npd[1:0]

pcie_rq_tag_av[1:0]

NP Req 1 NP Req 2 NP Req 3

0x3 0x2 0x1 0x0

0x2 0x1 0x0

0x3 0x2 0x1 0x0

X12339

user_clk

s_axis_rq_data[127:0]

s_axis_rq_data_tvalid

s_axis_rq_data_ready

s_axis_rq_data_tlast

pcie_tfc_nph[1:0]

pcie_tfc_npd[1:0]

pcie_rq_tag_av[1:0]

NP Req 1 NP Req 2 NP Req 3

0x3 0x2 0x1 0x0

0x2 0x1 0x0

0x3 0x2 0x1 0x0

X12341

Page 164: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 164

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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-58

図 3‐58: リクエスター リクエスト  インターフェイスでの利用可能なクレジッ ト数およびタグ数を示す信号 (64 ビッ ト  インターフェイス)

user_clk

s_axis_rq_data[63:0]

s_axis_rq_data_tvalid

s_axis_rq_data_ready

s_axis_rq_data_tlast

pcie_tfc_nph[1:0]

pcie_tfc_npd[1:0]

pcie_rq_tag_av[1:0]

NP Req 1 NP Req 2 NP Req 3

0x3 0x2 0x1 0x0

0x2 0x1 0x0

0x3 0x2 0x1 0x0

X12340

Page 165: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 165

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

リ クエスター コンプリーシ ョ ン  インターフェイスの動作

ユーザー ロジッ クで生成された リ クエス トに対するコンプリーシ ョ ンは、 統合ブロ ッ クのリ クエスター コンプリーシ ョ ン (RC) インターフェイスに現れます。 図 3-59 に、 リ クエス ト コンプリーシ ョ ン インターフェイスに現れる信号を示しています。 ス ト ラ ドルが無効に設定されている場合、 統合ブロッ クはこのインターフェイスを使用して各 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-59

図 3‐59: リクエスター コンプリーシ ョ ン  インターフェイス

Integrated Block for PCIeClient Application

PCIe Requester Completion

Interface

AXI4-StreamSlave

PCIe RequesterInterface

m_axis_rc_tdata[255:0]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[7:0]

m_axis_rc_tlast

byte_en[31:0]

is_sof_0

is_sof_1

is_eof_0[3:0]

is_eof_1[3:0]

m_asix_rc_tuser[74:0]

AXI4-StreamMaster

discontinue

parity[31:0]

Page 166: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 166

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

リクエスター コンプリーシ ョ ン  ディスクリプターのフォーマッ ト

統合ブロッ クの RC インターフェイスは、 リ ンクから受信したコンプリーシ ョ ン データをユーザー アプリ ケーシ ョンへ AXI4-Stream パケッ ト と して送信します。 各パケッ トはディ スク リプターから始ま り、 ディ スク リプターの後にペイロード データが続きます。 ディ スク リプターは必ず 12 バイ ト長とな り、 コンプリーシ ョ ン パケッ トの 初の 12 バイ トで送信されます。 ディ スク リプターは、 64 ビッ ト インターフェイスでは 初の 2 サイ クル間で送信され、 128 ビッ ト または 256 ビッ トの場合は 初のサイクルで送信されます。 コンプ リーシ ョ ン データが複数のスプリ ッ ト コンプリーシ ョ ンに分割される場合は、 統合ブロ ッ クが各スプリ ッ ト コンプリーシ ョ ンを個別にディ スク リプターを備えた AXI4-Stream パケッ ト と して送信します。

リ クエスター コンプリーシ ョ ン ディ スク リプターのフォーマッ トは、 図 3-60 を参照して ください。 RC ディ スク リプターの各フ ィールドの詳細は、 表 3-13 で説明しています。

X-Ref Target - Figure 3-60

図 3‐60: リクエスター コンプリーシ ョ ン  ディスクリプターのフォーマッ ト

01234567

+0

01234567

+1

01234567

+2

01234567

+3

DW + 0

Byte CountDword count01234567

+4

01234567

+5

01234567

+6

01234567

+7

DW + 1

TagTC01234567

+8

01234567

+9

01234567

+10

01234567

+11

DW + 2

Device / FunctionAttr

Poisoned Completion

63 32

Address [11:0]

Completion Status

Bus

Completer ID

Locked Read Completion

R R

Error CodeRequest Completed

Bus Device /Function

Requester IDR

0

6495

X12210

表 3‐13: リクエスター コンプリーシ ョ ン  ディスクリプターのフ ィールド

ビッ ト  インデックス

フ ィールド名 説明

11:0Lower Address

(下位アドレス)

このフ ィールドでは、 リ クエス トによって参照される 初のバイ トの下位 12 ビッ ト を提供します。 統合ブロ ッ クは、 スプ リ ッ ト コンプリーシ ョ ン テーブルからこのアドレスを返します。 このテーブルには、 リ クエスター側の保留されているすべてのノンポステッ ド リ クエス トのアドレス とその他のパラ メーターが格納されています。

送信されたコンプリーシ ョ ンにエラーがある と、 このアドレスのビッ ト [6:0] のみ有効と して見なされます。

これはバイ ト単位のアドレスです。

Page 167: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 167

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 ~ 4,096 バイ トの範囲の値が含まれます。 シングル コンプリーシ ョ ンを使用してメモ リ読み出し リ クエス トが完了する場合、このバイ ト カウン ト値がペイロード サイズをバイ ト単位で示します。 I/O の読み出しコンプリーシ ョ ンや I/O の書き込みコンプリーシ ョ ンの場合、 このフ ィールドは 4 にセッ ト される必要があ り ます。 長さ 0 のメモリ読み出しに対するコンプリーシ ョ ンを送信している間、 バイ ト カウン ト値は 1 にセット される必要があ り、 ダ ミーのペイロード と して 1 Dword がディ スク リプターの後に送信される必要があ り ます。

各メモ リ読み出しコンプリーシ ョ ンでは、 このバイ ト カウン ト フ ィールドがリ クエス ト を完了するのに必要となる残りのバイ ト数を示します (コンプリーシ ョ ンで返ってきたバイ ト数を含む)。

複数のコンプリーシ ョ ンを使用してメモリ読み出し リ クエス トが完了する場合、 各コンプリーシ ョ ンのこのバイ ト カウン ト値は、 先行するコンプリーシ ョ ンが示す値から先行するコンプリーシ ョ ンで返ってきたバイ ト数を引いた値とな り ます。

29

Locked Read Completion

(ロ ッ ク された読み出しコンプ リーシ ョ ン)

Locked Read (ロ ッ ク された読み出し ) リ クエス トに対してコンプ リーシ ョ ン応答する場合、 このビッ ト を 1 にセッ ト します。 その他のコンプリーシ ョ ン応答の場合、 このフ ィールドは 0 にセッ トする必要があ り ます。

表 3‐13: リクエスター コンプリーシ ョ ン  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス

フ ィールド名 説明

Page 168: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 168

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

データを含まないコンプリーシ ョ ンの転送

図 3-61、図 3-62、および図 3-63 のタイ ミ ング図は、 RC インターフェイスを介して、 リ ンクから受信したペイロードを含まないコンプ リーシ ョ ン TLP の転送を 64、 128、 および 256 ビッ ト別に示しています。 このセクシ ョ ンのタイ ミング図では、 256 ビッ ト インターフェイスでコンプリーシ ョ ンがス ト ラ ドルされないこ とを仮定しています。 ス ト ラドル機能の詳細は、 176 ページの 「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‐13: リクエスター コンプリーシ ョ ン  ディスクリプターのフ ィールド  (続き)

ビッ ト  インデックス

フ ィールド名 説明

Page 169: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 169

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-61

図 3‐61: リクエスター コンプリーシ ョ ン  インターフェイスでのデータを含まないコンプリーシ ョ ンの転送 (64 ビッ ト  インターフェイス)

user_clk

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[1:0]

m_axis_rc_tlast

(byte_en[7:0]) m_axis_rc_tuser[7:0]

(is_sof_0) m_axis_rc_tuser[32]

(discontinue) m_axis_rc_tuser[42]

DESC 0 DESC 2 DESC 2

DESC 1

0x3 0x1 0x1

0 0

X-Ref Target - Figure 3-62

図 3‐62: リクエスター コンプリーシ ョ ン  インターフェイスでのデータを含まないコンプリーシ ョ ンの転送 (128 ビッ ト  インターフェイス)

user_clk

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tdata[95:64]

m_axis_rc_tdata[127:96]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[3:0]

m_axis_rc_tlast

(byte_en[15:0]) m_axis_rc_tuser[15:0]

(is_sof_0) m_axis_rc_tuser[32]

(discontinue) m_axis_rc_tuser[42]

DESC 0 DESC 0

DESC 1 DESC 1

DESC 2 DESC 2

0x7 0x7

0 0

Page 170: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 170

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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_rc_tlast 信号は必ずパケッ トの 後のビートでアサート されます。

m_axi_rc_tuser バスには is_sof_0 信号も含まれており、 すべてのパケッ トの 初のビートでアサート されます。 ユーザー アプリ ケーシ ョ ンは、 オプシ ョ ンでこの信号を使用して、 インターフェイス上のディ スク リプターの開始を示すこ とができます。 ス ト ラ ドル オプシ ョ ンを使用しない場合、 m_axi_rc_tuser バス内のその他の信号は、 データを含まないコンプ リーシ ョ ンの転送に関連しません。

データを含むコンプリーシ ョ ンの転送

図 3-64、 図 3-65、 および図 3-66 のタイ ミ ング図は、 RC インターフェイスを介して、 リ ンクから受信したペイロードを含むコンプ リーシ ョ ン TLP の Dword アライ メン ト転送を 64、 128、 および 256 ビッ ト別に示しています。 説明用と して、 ユーザー アプリ ケーシ ョ ン メモ リに書き込まれるデータ ブロ ッ クのサイズは n Dword と仮定し、n = k × 32 + 28 (k > 0) とな り ます。 このセクシ ョ ンのタイ ミ ング図では、 256 ビッ ト インターフェイスでコンプリーシ ョ ンがス ト ラ ドルされないこ とを仮定しています。 ス ト ラ ドル機能の詳細は、 176 ページの 「256 ビッ ト インターフェイスのス ト ラ ドル オプシ ョ ン」 を参照してください。

X-Ref Target - Figure 3-63

図 3‐63: リクエスター コンプリーシ ョ ン  インターフェイスでのデータを含まないコンプリーシ ョ ンの転送 (256 ビッ ト  インターフェイス)

user_clk

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tdata[95:64]

m_axis_rc_tdata[127:96]

m_axis_rc_tdata[255:128]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[7:0]

m_axis_rc_tlast

(byte_en[31:0]) m_axis_rc_tuser[31:0]

(is_sof_0) m_axis_rc_tuser[32]

(discontinue) m_axis_rc_tuser[42]

DESC 0 DESC 0

DESC 1 DESC 1

DESC 2 DESC 2

0x07

0 0

0x07

Page 171: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 171

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

Dword アライ メン ト モードでは、 転送は 3 ディ スク リプター Dword から始ま り、 その直後にペイロード Dword が続きます。 ディ スク リプターとペイロードを含むすべての TLP は、 1 つの AXI4-Stream パケッ ト と して転送されます。ペイロードの長さが 2 Dword を超える場合、 ペイロード内のデータは常に連続するバイ ト ス ト リームとな り ます。ペイロードの 初の Dword 内の 初の有効バイ ト と 後の Dword 内の 後の有効バイ トの位置は、 リ クエスター コンプ リーシ ョ ン ディ スク リプターの Lower Address フ ィールド と Byte Count フ ィールドから判断できます。ペイロード サイズが 2 Dword 以下の場合、 ペイロード内の有効なバイ トは連続しません。 このよ うな場合、 ユーザー アプリケーシ ョ ンは RQ インターフェイスを介して送信される各リ クエス トに関連する First Byte Enable フ ィールド と Last Byte Enable フ ィールドを格納し、 これらを使用してコンプ リーシ ョ ン ペイロード内の有効バイ ト を判断する必要があ り ます。 連続および非連続のペイロードの場合に、 ユーザー アプリ ケーシ ョ ンはオプシ ョ ンで m_axi_rc_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 にセッ ト されて統合ブロ ックが 1 Dword のペイロードを転送する と きの、 長さ 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-64

図 3‐64: リクエスター コンプリーシ ョ ン  インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (Dword アライメン ト  モード、 64 ビッ ト  インターフェイス)

user_clk

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[1:0]

m_axis_rc_tlast

(byte_en[3:0]) m_axis_rc_tuser[3:0]

(byte_en[7:4]) m_axis_rc_tuser[7:4]

(is_sof_0) m_axis_rc_tuser[32]

(discontinue) m_axis_rc_tuser[42]

DESC 0 DESC 2 DW 1 DW 1 DW n-1

DESC 1 DW 0 DW 2 DW 2

0x3 0x3 0x3 0x1

0xF 0xF 0xF LAST BE

0 FIRST BE 0xF 0xF 0xF 0

0 0

X12223

Page 172: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 172

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-65

図 3‐65: リクエスター コンプリーシ ョ ン  インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (Dword アライメン ト  モード、 128 ビッ ト  インターフェイス) 

user_clk

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tdata[95:64]

m_axis_rc_tdata[127:96]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[3:0]

m_axis_rc_tlast

(byte_en[3:0]) m_axis_rc_tuser[3:0]

(byte_en[7:4]) m_axis_rc_tuser[7:4]

(byte_en[11:8]) m_axis_rc_tuser[11:8]

(byte_en[15:12]) m_axis_rc_tuser[15:12]

(is_sof_0) m_axis_rc_tuser[32]

(discontinue) m_axis_rc_tuser[42]

DESC 0 DW 1 DW 5 DW 5 DW n-3

DESC 1 DW 2 DW 6 DW 6 DW n-2

DESC 2 DW 3 DW 7 DW 7 DW n-1

DW 0 DW 4 DW 8 DW 8

0xF 0xF 0xF 0x7

0 0xF 0xF 0xF

0 0xF 0xF 0xF

0 0xF 0xF 0xF LAST BE

FIRST BE 0xF 0xF 0xF 0

X12224

Page 173: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 173

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

図 3-67、 図 3-68、 および図 3-69 のタイ ミ ング図は、 RC インターフェイスを介して、 リ ンクから受信したペイロードを含むコンプ リーシ ョ ン TLP のアドレス アライ メン ト転送を 64、 128、 および 256 ビッ ト別に示しています。 サンプル タイ ミ ングの図では、 送信されるデータ ブロ ッ クの開始 Dword (ディ スク リプターの下位アドレスのビッ ト [6:2] で伝搬) は (m × 8 + 1) と仮定されています (整数 m)。 データ ブロ ッ クのサイズは n Dword と仮定し、n = k × 32 + 28 (k > 0) とな り ます。 アドレス アライ メン ト転送では、 ス ト ラ ドル オプシ ョ ンが無効なため、 このタイミ ング図は、 256 ビッ ト インターフェイスでコンプリーシ ョ ンがス ト ラ ドルされないこ とを仮定しています。

アドレス アライ メン ト モードでは、 ペイロードの送信は必ず、 ディ スク リプターの 後のバイ トの後に続いて発生するビートで開始します。 ペイロードの 初の有効バイ トのアドレスに基づいて、 ペイロードの 初のバイ トはどのバイ ト レーンにも出力できます。 つま り、 ディ スク リプターの 初の Dword からペイロードの 後の Dword まで、 tkeep ビッ トは継続的に 1 にセッ ト されます。 データ バス上の 初の Dword のアライ メン トは、 ユーザー アプリ ケーシ ョ ンが統合ブロ ッ クへリ クエス ト を送信したと きの リ クエスター リ クエス ト インターフェイスの addr_offset[2:0] 入力の設定によって判断されます。 ユーザー アプリ ケーシ ョ ンは、 オプシ ョ ンでバイ ト イネーブル出力 byte_en[31:0] を使用してペイロード内の有効バイ ト を判断できます。

X-Ref Target - Figure 3-66

図 3‐66: リクエスター コンプリーシ ョ ン  インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (Dword アライメン ト  モード、 256 ビッ ト  インターフェイス)

user_cl

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tdata[95:64]

m_axis_rc_tdata[127:96]

m_axis_rc_tdata[159:128]

m_axis_rc_tdata[191:160]

m_axis_rc_tdata[223:192]

m_axis_rc_tdata[255:224]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[7:0]

m_axis_rc_tlast

(byte_en[3:0]) m_axis_rc_tuser[3:0]

(byte_en[7:4]) m_axis_rc_tuser[7:4]

(byte_en[11:8]) m_axis_rc_tuser[11:8]

(byte_en[15:12]) m_axis_rc_tuser[15:12]

(byte_en[19:16]) m_axis_rc_tuser[19:16]

(byte_en[23:20]) m_axis_rc_tuser[23:20]

(byte_en[27:24]) m_axis_rc_tuser[27:24]

(byte_en[31:28]) m_axis_rc_tuser[31:28]

(is_sof_0) m_axis_rc_tuser[32]

(discontinue) m_axis_rc_tuser[42]

DESC 0 DW 5 DW 5 DW n-7

DESC 1 DW 6 DW 6 DW n-6

DESC 2 DW 7 DW 7 DW n-5

DW 0 DW 8 DW 8 DW n-4

DW 1 DW 9 DW 9 DW n-3

DW 2 DW 10 DW 10 DW n-2

DW 3 DW 11 DW 11 DW n-1

DW 4 DW 12 DW 12

0xFF 0xFF 0xFF 0x7F

0 0xFF 0xFF 0xFF

0 0xFF 0xFF 0xFF

0 0xFF 0xFF 0xFF

FIRST BE 0xFF 0xFF 0xFF

0xFF 0xFF 0xFF

0xFF 0xFF 0xFF

0xFF 0xFF 0xFF LAST BE

0xFF 0xFF 0xFF 0

X12225

Page 174: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 174

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-67

図 3‐67: リクエスター コンプリーシ ョ ン  インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (アドレス アライメン ト  モード、 64 ビッ ト  インターフェイス)

X-Ref Target - Figure 3-68

図 3‐68: リクエスター コンプリーシ ョ ン インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (アドレス アライメン ト  モード、 128 ビッ ト  インターフェイス) 

user_clk

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[1:0]

m_axis_rc_tlast

(byte_en[3:0]) m_axis_rc_tuser[3:0]

(byte_en[7:4]) m_axis_rc_tuser[7:4]

(is_sof_0) m_axis_rc_tuser[32]

(discontinue) m_axis_rc_tuser[42]

DESC 0 DESC 2 DW 1 DW n-1

DESC 1 DW 0 DW 0 DW 2

0x3 0x3 0x3 0x1

00 0xF 0xF 0xF LAST BE

0 FIRST BE FIRST BE 0xF 0xF 0

X12220

user_clk

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tdata[95:64]

m_axis_rc_tdata[127:96]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[3:0]

m_axis_rc_tlast

(byte_en[3:0]) m_axis_rc_tuser[3:0]

(byte_en[7:4]) m_axis_rc_tuser[7:4]

(byte_en[11:8]) m_axis_rc_tuser[11:8]

(byte_en[15:12]) m_axis_rc_tuser[15:12]

(is_sof_0) m_axis_rc_tuser[32]

(discontinue) m_axis_rc_tuser[42]

DESC 0 DW 3 DW 3 DW n-1

DESC 1 DW 0 DW 4 DW 4

DESC 2 DW 1 DW 5 DW 5

DW 2 DW 6 DW 6

0xF 0xF 0xF 0x1

0 0xF 0xF 0xF LAST BE

0 FIRST BE 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

X12221-061317

Page 175: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 175

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-69

図 3‐69: リクエスター コンプリーシ ョ ン  インターフェイスでのデータを含むコンプリーシ ョ ンの転送 (アドレス アライメン ト  モード、 256 ビッ ト  インターフェイス) 

user_clk

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tdata[95:64]

m_axis_rc_tdata[127:96]

m_axis_rc_tdata[159:128]

m_axis_rc_tdata[191:160]

m_axis_rc_tdata[223:192]

m_axis_rc_tdata[255:224]

m_axis_rc_tvalid

m_axis_rc_tready

m_axis_rc_tkeep[7:0]

m_axis_rc_tlast

(byte_en[3:0]) m_axis_rc_tuser[3:0]

(byte_en[7:4]) m_axis_rc_tuser[7:4]

(byte_en[11:8]) m_axis_rc_tuser[11:8]

(byte_en[15:12]) m_axis_rc_tuser[15:12]

(byte_en[19:16]) m_axis_rc_tuser[19:16]

(byte_en[23:20]) m_axis_rc_tuser[23:20]

(byte_en[27:24]) m_axis_rc_tuser[27:24]

(byte_en[31:28]) m_axis_rc_tuser[31:28]

(is_sof_0) m_axis_rc_tuser[32]

(discontinue) m_axis_rc_tuser[42]

DESC 0 DW 7 DW 7 DW n-5

DESC 1 DW 0 DW 8 DW 8 DW n-4

DESC 2 DW 1 DW 9 DW 9 DW n-3

DW 2 DW 10 DW 10 DW n-2

DW 3 DW 11 DW 11 DW n-1

DW 4 DW 12 DW 12

DW 5 DW 13 DW 13

DW 6 DW 14 DW 14

0xFF 0xFF 0xFF 0x1F

0 0xF 0xF 0xF

0 FIRST BE 0xF 0xF 0xF

0 0xF 0xF 0xF

0 0xF 0xF 0xF

0 0xF 0xF 0xF LAST BE

0 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

0 0xF 0xF 0xF 0

X12222

Page 176: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 176

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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-70 に、 ス ト ラ ドル オプシ ョ ンが有効に設定された 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 177: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 177

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

X-Ref Target - Figure 3-70

図 3‐70: スト ラ ドル オプシ ョ ンが有効に設定されたリクエスター コンプリーシ ョ ン  インターフェイスでのコンプリーシ ョ ン  TLP の転送

user_clk

m_axis_rc_tdata[31:0]

m_axis_rc_tdata[63:32]

m_axis_rc_tdata[95:64]

m_axis_rc_tdata[127:96]

m_axis_rc_tdata[159:128]

m_axis_rc_tdata[191:160]

m_axis_rc_tdata[223:192]

m_axis_rc_tdata[255:224]

m_axis_rc_tvalid

m_axis_rc_tready

(is_sof_0) m_axis_rc_tuser[32]

(is_sof_1) m_axis_rc_tuser[33]

(is_eof_0[3:0]) m_axis_rc_tuser[37:34]

(is_eof_1[3:0]) m_axis_rc_tuser[41:38]

(byte_en[3:0]) m_axis_rc_tuser[3:0]

(byte_en[7:4]) m_axis_rc_tuser[7:4]

(byte_en[11:8]) m_axis_rc_tuser[11:8]

(byte_en[15:12]) m_axis_rc_tuser[15:12]

(byte_en[19:16]) m_axis_rc_tuser[19:16]

(byte_en[23:20]) m_axis_rc_tuser[23:20]

(byte_en[27:24]) m_axis_rc_tuser[27:24]

(byte_en[31:28]) m_axis_rc_tuser[31:28]

(discontinue) m_axis_rc_tuser[42]

COMPL 1 COMPL 1 COMPL 1 COMPL 1 COMPL 3

COMPL 1 COMPL 1 COMPL 1 COMPL 3

COMPL 1 COMPL 1 COMPL 1 COMPL 3

COMPL 1 COMPL 1 COMPL 1 COMPL 3

COMPL 1 COMPL 1 COMPL 1 COMPL 2 COMPL 4

COMPL 1 COMPL 1 COMPL 1 COMPL 2 COMPL 4

COMPL 1 COMPL 1 COMPL 1 COMPL 2 COMPL 4

COMPL 1 COMPL 1 COMPL 1 COMPL 2

00 0x1 0x7

00 0xF 0xD

0 0xF 0xF LAST BE 0

0 0xF 0xF 0

0 0xF 0xF 0

FIRST BE 0xF 0xF FIRST BE

0xF 0xF

0xF 0xF

0xF 0xF

0xF 0xF FIRST BE 0

00

00

00

BEAT 1 BEAT 2 BEAT 3 BEAT 4

X12229

Page 178: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 178

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

コンプリーシ ョ ンの転送中断

関連するペイロードを含むリ クエス トの場合、 転送されたペイロードにエラーがある と、 統合ブロッ クは m_axis_rc_tuser バスの discontinue 信号をパケッ トの 後のビートでアサート してこのエラーを通知できます。 これは、 内部メモ リからデータを読み出す間に統合ブロッ クが訂正不可能なエラーを検出したと きに発生します。 パケッ トの 後のビートで discontinue 信号がアサート されたこ とを検出した場合、 ユーザー アプリ ケーシ ョ ンはパケッ ト全体を破棄する必要があ り ます。 これは、 統合ブロッ クでは致命的エラーと認識されます。

ス ト ラ ドル オプシ ョ ンが使用されている場合、 統合ブロ ッ クは discontinue 信号をアサート したビートで 2 番目のコンプ リーシ ョ ン TLP を開始せず、 そのビートで終了するコンプリーシ ョ ン TLP の転送を中断します。

コンプリーシ ョ ン  エラーの対応

統合ブロッ クは、 リ ンクからコンプリーシ ョ ン TLP を受信する と、 対応する リ クエス ト を判断するためにスプリ ット コンプリーシ ョ ン テーブル内の未処理リ クエス ト と一致させ、 それらのヘッダー内のフ ィールド と予想値を照らし合わせてあらゆるエラーを検出します。 その後、 統合ブロッ クはコンプリーシ ョ ン ディ スク リプターの一部と してユーザー アプリ ケーシ ョ ンへ送信する 4 ビッ トのエラー コードでエラー状況を通知します。 また、 統合ブロ ッ クは、 ディ スク リプターの Request Completed ビッ ト (ビッ ト 30) をセッ ト して、 特定リ クエス トの 後のコンプリーシ ョ ンを示します。 表 3-14 に、 さまざまなエラー コードが示すエラー状況について説明しています。

表 3‐14: エラー コードのエンコード

エラー コード 説明

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 ビッ トがセッ ト されたコンプリーシ ョ ン ディ スク リプターを受信する と、 ユーザー アプリ ケーシ ョ ンは対応する リ クエス トのすべてのステート を削除できます。

Page 179: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 179

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

タグが統合ブロ ッ クの内部で管理される場合、 統合ブロッ ク内のロジッ クによって、 そのリ クエス トのすべてのコンプ リーシ ョ ンが受信されるまで、 あるいはリ クエス トがタイムアウ トするまで、 ペンディング リ クエス トに割り当てられたタグが再び使用されるこ とはあ り ません。

ただし、 タグがユーザー アプリ ケーシ ョ ンで管理される場合は、 ユーザー アプリ ケーシ ョ ンがコンプリーシ ョ ン ディ スク リプターの Request Completed ビッ ト をセッ ト して、 統合ブロ ッ クがリ クエス トの終了を示すまで、 そのリクエス トに割り当てられたタグが再び使用されないよ うにする必要があ り ます。 ユーザー アプリ ケーシ ョ ンは、0 以外のエラー コードを含むコンプリーシ ョ ンを受信した場合にペンディング リ クエス ト を終了できますが、 コンプ リーシ ョ ン ディ スク リプターの Request Completed ビッ トがセッ ト されていない限り、 関連するタグを リ リースできません。 ある リ クエス トが複数のスプリ ッ ト コンプリーシ ョ ンを受信し、 それらのいずれかにエラーが検出された場合にこのよ うな状況が適用されます。 この場合、 統合ブロッ クは、 エラーが検出された後であってもペンディング リ クエス トに対するコンプリーシ ョ ン TLP を継続して受信できますが、 タグが早期に再度割り当てられる と、これらのコンプ リーシ ョ ンが別のリ クエス ト と不正に一致してしまいます。 場合によっては、 エラーを含むスプリ ッ ト コンプリーシ ョ ンが受信された場合でもタグの再使用が可能になるまで、 統合ブロ ッ クはリ クエス トがタイムアウ トするまで待機する必要があ り ます。

0101

開始アドレスのエラー。 コンプリーシ ョ ン TLP ヘッダーの下位アドレスが、 そのリ クエス トの次に予想されるバイ トの開始アドレス と一致していない。 ユーザー アプリ ケーシ ョ ンは、 ディスク リプターに続くすべてのデータを破棄する必要があ り ます。 さ らに、 ディ スク リプターの Request Completed ビッ トがセッ ト されていない場合は、 Request Completed ビッ トがセッ ト されたコンプリーシ ョ ン ディ スク リプターを受信するまで、 このタグの後続コンプ リーシ ョ ンに対応するデータを破棄し続ける必要があ り ます。 Request Completed ビッ トがセッ ト されたコンプリーシ ョ ン ディ スク リプターを受信する と、 ユーザー アプリ ケーシ ョ ンは対応する リ クエス トのすべてのステート を破棄できます。

0110無効なタグ。 このエラー コードは、 コンプ リーシ ョ ン 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‐14: エラー コードのエンコード  (続き)

エラー コード 説明

Page 180: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 180

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 をサポート しています。 L0s と 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 (アクティブス テート ) に到達します。

Page 181: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 181

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

PPM L1 ステート

コアから PPM L1 ステートへの遷移は次の順序で発生します。

1. 低電力の PPM L1 ステートへの遷移は、PCI Express デバイスの電力ステート を D3-hot (または D1 および D2 がサポート されている場合は、 これらのいずれか) にプログラムするこ とで、 常にアップス ト リーム デバイスによって開始されます。

2. デバイスの電力ステートは、 cfg_function_power_state 出力を使用して、 ユーザー ロジッ クへ伝達されます。

3. この後、 コアは s_axis_rq_tready をディアサート し、 ユーザー ロジッ クがユーザー インターフェイスで新たな ト ランザクシ ョ ンを開始しないよ うに、 ユーザー ロジッ クをスロ ッ トル/中断させます。 しかし、 ユーザーイ ン ターフェイスでのペンディング ト ランザクシ ョ ンは完全に受信され、 後で完了するこ とができます。

この場合、 例外が 2 つあり ます。

° コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされていて、 ユーザー コンフ ィギュレーシ ョ ン空間がイネーブルになっている場合。 このと き、 cfg_function_power_state が D0 以外の場合、 ユーザー アプリ ケーシ ョ ンは新しいリ クエス ト TLP を送信できませんが、 ユーザー コンフ ィギュレーシ ョ ン空間をターゲッ トにしたコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンに対してはコンプリーシ ョ ンを返すこ とができます。

° コアがルート ポート と してコンフ ィギュレーシ ョ ンされている場合。 この状況で準拠を保つには、cfg_function_power_state が D0 以外の場合、 ユーザー アプリ ケーシ ョ ンは新しいリ クエス ト を送信すべきではあ り ません。

4. コアは、 パワー マネージメン ト用の適切な DLLP を リ ンクパートナーに対して送受信して、 リ ンクを低電力 PPM L1 ステートへ遷移させます。 これはユーザー ロジッ クにはト ランスペアレン トです。

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-15 を参照) を開始し、 ユーザー ロジッ クから cfg_power_state_change_ack の応答を待機します。

3. ハンドシェイ クが成功する と、 パワー マネージメン ト をオフにする承認メ ッセージ (PME-turnoff_ack) がコアからアップス ト リーム リ ンク パートナーへ送信されます。

4. コアはインターフェイスをすべて閉じ、 物理層/データ リ ンク層/ ト ランザクシ ョ ン層を無効にして、 コアに対するパワー オフの準備を整えます。

この場合、 例外が 2 つあり ます。

° コアがエンドポイン ト と してコンフ ィギュレーシ ョ ンされていて、 ユーザー コンフ ィギュレーシ ョ ン空間がイネーブルになっている場合。 このと き、 cfg_function_power_state が D0 以外の場合、 ユーザー アプリ ケーシ ョ ンは新しいリ クエス ト TLP を送信できませんが、 ユーザー コンフ ィギュレーシ ョ ン空間をターゲッ トにしたコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンに対してはコンプリーシ ョ ンを返すこ とができます。

° コアがルート ポート と してコンフ ィギュレーシ ョ ンされている場合。 この状況で準拠を保つには、cfg_function_power_state が D0 以外の場合、 ユーザー アプリ ケーシ ョ ンは新しいリ クエス ト を送信すべきではあ り ません。

Page 182: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 182

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 メ ッセージを送信します。

表 3‐15:パワー マネージメン トのハンドシェイク信号

ポート名 方向 説明

cfg_power_state_change_interrupt 出力

アップス ト リーム デバイスからパワー ダウン リ クエス ト TLP を受信した場合にアサート されます。 その後、 ユーザー アプリ ケーシ ョ ンが cfg_power_state_change_ack をアサートするまで、cfg_power_state_change_interrupt はアサート状態を保持する必要があ り ます。

cfg_power_state_change_ack 入力安全にパワー ダウンできる場合に、 ユーザー アプリ ケーシ ョ ンによってアサート されます。

X-Ref Target - Figure 3-71

図 3‐71:パワー マネージメン トのハンドシェイク : 64 ビッ ト

user_clk_out

rx_data[63:0]*

cfg_to_turnoff

cfg_turnoff_ok

tx_data[63:0]*

PME_Turn_Off

PME_TO_ACK

* Internal signal not appearing on User Interface

X12465

Page 183: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 183

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

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

51 ページの表 2-19 に示す cfg_interrupt_msi* および cfg_interrupt_msix_* の説明を参照してください。

注記: このセクシ ョ ンは UltraScale Devices Gen3 Integrated Block for PCIe コアのエンドポイン ト コンフ ィギュレーシ ョンのみを対象にしています。

統合ブロ ッ クは、 割り込みリ クエス ト をレガシ、 メ ッセージ MSI、 または MSI-X 割り込みと して送信できます。動作モードは、 MSI Capability Structure (MSI 機能構造体) にある メ ッセージ制御レジスタの MSI イネーブル ビッ トおよび MSI-X Capability Structure (MSI-X 機能構造体) にある MSI-X メ ッセージ制御レジスタの MSI-X イネーブル ビット を使用してプログラムされます。 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-16 は、 コアの cfg_interrupt_msi_enable 出力および cfg_interrupt_msix_enable 出力に基づいてプログラムされている割り込みモードについて説明しています。

MSI 制御レジスタの MSI イネーブル ビッ ト 、MSI-X 制御レジスタの MSI-X イネーブル ビッ ト 、PCI コマンド レジスタの Interrupt Disable ビッ トは、 ルート コンプレッ クスによってプログラムされます。 ユーザー アプリ ケーシ ョ ンでは、 これらのビッ ト を直接制御しません。

コアの内部割込みコン ト ローラーは、 レガシ割り込みと MSI 割り込みのみ生成します。 MSI-X 割り込みは、 ユーザー アプリ ケーシ ョ ンで生成され、 送信 AXI4-Stream インターフェイスに現れる必要があ り ます。cfg_interrupt_msi_enable のステータスが内部割込みコン ト ローラーで生成される割り込みタイプを決定します。

MSI イネーブル ビッ トが 1 の場合は、 コアがメモリ書き込み TLP を送信して MIS リ クエス ト を生成します。 MSI イネーブル ビッ トが 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-12 を参照して ください。

ユーザー アプリ ケーシ ョ ンは 2 つの方法で割り込みを要求します。 これらの方法は次のセクシ ョ ンで説明します。

表 3‐16:割り込みモード

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 184: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 184

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

レガシ割り込みモード

• ユーザー アプリ ケーシ ョ ンは、 割り込み信号をアサートするために、 まず cfg_interrupt_int および cfg_interrupt_pending をアサート します。

• その後、 コアが cfg_interrupt_sent をアサート して、 割り込みが受信されたこ とを示します。 PCI コマンド レジスタの Interrupt Disable ビッ トが 0 にセッ ト されている場合は、 コアがアサート割り込みメ ッセージ (Assert_INTA) を送信します。 次のクロ ッ ク サイクルでユーザー アプリ ケーシ ョ ンは cfg_interrupt_int をディアサート します。

• ユーザー アプリ ケーシ ョ ンが cfg_interrupt_int をディアサート した後、 コアはディアサート割り込みメ ッセージ (Deassert_INTA) を送信します。 これは、 cfg_interrupt_sent の 2 回目のアサートで示されます。

ユーザー アプリ ケーシ ョ ンがアサート割り込みメ ッセージ (Assert_INTA) の確認信号を受信するまで cfg_interrupt_int をアサートする必要があ り ます。 この確認は cfg_interrupt_sent のアサートによって示され、 割り込みはルートの割り込みサービス ルーチン (ISR) によって処理/ク リ アされています。cfg_interrupt_int をディアサートする と、 コアはディアサート割り込みメ ッセージ (Deassert_INTA) を送信します。 cfg_interrupt_pending は cfg_interrupt_int 信号のアサート と同時にアサート し、 割り込みが処理されるまでアサート しておく必要があ り ます。 そ うでなければ、 ステータス レジスタの割り込みステータス ビッ トが正し く更新されません。 アサート割り込みメ ッセージの受信時、 ソフ ト ウェア/ルートの ISR はこの割り込みステータスを読み出してこの機能に対する割り込みペンディングが存在するかど うかを判断します。

MSI モード

図 3-72 に示すとおり、 ユーザー アプリ ケーシ ョ ンは cfg_interrupt_msi_int の値を 初にアサート します。コアは、 cfg_interrupt_msi_sent をアサート して割り込みが受け入れられたこ とを示し、 MSI メモ リ書き込み TLP を送信します。

X-Ref Target - Figure 3-72

図 3‐72: レガシ割り込みの信号

cfg_interrupt_msi_enable

cfg_interrupt_int[3:0]

cfg_interrupt_pending[1:0]

cfg_interrupt_sent

4'h01 4'h0 4'h01

2'b01 2'b00

X13127

X-Ref Target - Figure 3-73

図 3‐73: MSI モード

Page 185: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 185

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

MSI リ クエス トは、32 ビッ トのアドレス指定可能なメモリ書き込み TLP または 64 ビッ トのアドレス指定可能なメモリ書き込み TLP のいずれかです。 アドレス値は、 MSI 機能構造体の Message Address フ ィールド と Message Upper Address フ ィールドから取得し、 ペイロードは Message Data フ ィールドから取得します。 これらの値は、 MSI 機能構造体へのコンフ ィギュレーシ ョ ン書き込みによってシステム ソフ ト ウェアでプログラムされます。 コアがマルチベクター MSI 用にコンフ ィギュレーシ ョ ンされている場合、 Multiple Message Enable フ ィールドに 0 以外の値をプログラムするこ とで、 システム ソフ ト ウェアはマルチベクター MSI メ ッセージを許可するこ とができます。

送信される MSI TLP のタイプ (32 ビッ ト または 64 ビッ トのアドレス指定可能なもの) は、 MSI 機能構造体の Upper Address フ ィールドの値によって変わり ます。 デフォルトでは MSI メ ッセージは 32 ビッ トのアドレス指定可能なメモ リ書き込み TLP と して送信されます。 上位アドレス レジスタに 0 以外の値がシステムソ フ ト ウェアによってプログラムされている場合のみ、 MSI メ ッセージは 64 ビッ トのアドレス指定可能なメモ リ書き込み TLP を使用します。

マルチベクター MSI メ ッセージが有効場合、 アップス ト リームに送信されたさまざまな MSI メ ッセージを区別するため、 送信された MSI TLP の各 Message Data フ ィールドの 1 つまたは複数の下位ビッ ト をユーザー アプリ ケーシ ョンが上書きできます。 Message Data フ ィールドにあるユーザーアプリ ケーシ ョ ンで使用可能な下位ビッ ト数は、 IP カタログで設定されている Multiple Message Capable フ ィールドの値、 システム ソフ ト ウェアで設定されている Multiple Message Enable フ ィールドの値、 および cfg_interrupt_msi_mmenable[2:0] コア出力で使用できる値の中で も小さい値によって決定されます。 コアは cfg_interrupt_msi_select 内のビッ ト をマスク しますが、これらはシステム ソフ ト ウェアで Multiple Message Enable を使用して設定されません。

必要なプロセスを示したサンプル コー ドは次のとおりです。

// 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[MSI_Vector_Num] = 1;} else { // Single-Vector MSI Enabledcfg_interrupt_msi_int[MSI_Vector_Num] = 0;

}} else {

// Legacy Interrupts Enabled}

例:

1. cfg_interrupt_mmenable[2:0] == 000b、 つま り 1 つの MSI ベクターが有効の場合、 cfg_interrupt_msi_int = 01h とな り ます。

2. cfg_interrupt_mmenable[2:0] == 101b、 つま り 32 の MSI ベクターが有効の場合、 cfg_interrupt_msi_int = {32'b1 << {MSI_Vector#}} とな り ます。

MSI_Vector# が 5 ビッ ト値ならば、 00000b MSI_Vector# 11111b となるこ とが可能です。

ベクターごとのマスキング (Per-Vector Masking) が有効になっている場合は、 送信されているべクターがマスク レジスタでマスク されていないこ とをまず確認する必要があ り ます。 コンフ ィギュレーシ ョ ン インターフェイスでこのレジスタを読み出すこ とでこの確認はできます (コアはマスク レジスタを確認しない)。

Page 186: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 186

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

MSI‐X モード

UltraScale Devices Gen3 Integrated Block for PCIe コアは、 図 3-74 に示す MSI-X 割り込みとそのシグナリ ングをオプシ ョ ンでサポート します。 MSI-X ベクター テーブルと MSI-X Pending Bit Array は、 ロジッ クの一部と して BAR のアパーチャを利用してインプ リ メン トする必要があ り ます。

受信メ ッセージ インターフェイス

ユーザー アプリ ケーシ ョ ンは、 コアが提供する独立した受信メ ッセージ インターフェイスを使用して、 リ ンクから受信したメ ッセージ情報を受け取るこ とができます。 受信メ ッセージ インターフェイスが有効に設定されている場合、 統合ブロ ッ クは、 メ ッセージ タイプ (表 3-17) を示す cfg_msg_received_type[4:0] 出力を設定して cfg_msg_received 信号を 1 サイ クルまたは複数サイクル間パルスし、 リ ンクから メ ッセージが到達したこ とを伝達します。 cfg_msg_received のアサート サイクル数は、 受信する メ ッセージ タイプによって異なり ます (表 3-18 を参照)。 cfg_msg_received がアクティブ High のと き、 統合パラ メーターは、cfg_msg_received_data バス上にメ ッセージに関する任意のパラ メーターを 1 回につき 8 ビッ トで転送します。表 3-18 では、 cfg_msg_received がアサート される各サイ クルで、 このバスに転送されるパラ メーターをメ ッセージ タイプ別に示しています。 ベンダーが指定する メ ッセージの場合、 統合ブロ ッ クはこのインターフェイスを介して関連するペイロードの 初の Dword のみ転送します。 さ らに大規模なペイロードが使用される場合は、 メ ッセージの転送にコンプ リーター リ クエス ト インターフェイスを使用する必要があ り ます。

X-Ref Target - Figure 3-74

図 3‐74: MSI‐X モード

cfg_interrupt_msix_enable

cfg_interrupt_msix_address[63:0]

cfg_interrupt_msix_data[31:0]

cfg_interrupt_msix_int

cfg_interrupt_msix_sent

cfg_interrupt_msix_function_number[2:0]

X14336

表 3‐17:受信メ ッセージ インターフェイスのメ ッセージ タイプ エンコード

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

Page 187: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 187

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

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 予約

表 3‐18:受信メ ッセージ インターフェイスのメ ッセージ パラメーター

メ ッセージ タイプcfg_msg_received のアサート  サイクル数

cfg_msg_received_data[7:0] で転送されるパラメーター

ERR_COR、 ERR_NONFATAL、ERR_FATAL

2サイクル 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]

表 3‐17:受信メ ッセージ インターフェイスのメ ッセージ タイプ エンコード  (続き)

cfg_msg_received_type[4:0] メ ッセージ タイプ

Page 188: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 188

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

図 3-75 に、 受信メ ッセージ インターフェイスでの 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]

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、デバイス/ファンクシ ョ ン番号

ATS ページ リ クエス ト 2サイクル 1: リ クエスター ID、 バス番号

サイクル 2: リ クエスター ID、デバイス/ファンクシ ョ ン番号

ATS PRG 応答 2サイクル 1: リ クエスター ID、 バス番号

サイクル 2: リ クエスター ID、デバイス/ファンクシ ョ ン番号

表 3‐18:受信メ ッセージ インターフェイスのメ ッセージ パラメーター (続き)

メ ッセージ タイプcfg_msg_received のアサート  サイクル数

cfg_msg_received_data[7:0] で転送されるパラメーター

Page 189: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 189

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

統合ブロッ クは、 cfg_msg_received 出力の有効なパルス間に 1 サイクル以上のギャップを挿入します。 受信メ ッセージ インターフェイスを介して送信される メ ッセージ表示にはバッ ク プレッシャーを適用する メカニズムがあ りません。 このインターフェイスを使用する場合、 ユーザー ロジッ クは常にメ ッセージ表示を受信する準備が整っている必要があ り ます。

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

コンフ ィギュレーシ ョ ン レジスタで使用されるポートについては、 25 ページの表 2-12 で説明しています。 ルート ポートは、 コンフ ィギュレーシ ョ ン空間を構築するためにコンフ ィギュレーシ ョ ン ポート を使用する必要があ り ます。 エンドポイン ト もコンフ ィギュレーシ ョ ン ポート を使用して、 読み出し /書き込みを実行できます。 ただし、 システムに悪影響を及ぼす原因を回避するよ う注意が必要です。

ユーザーは、 バイ ト アドレスではなく Dword アドレス と してアドレスを提供する必要があ り ます。

ヒン ト : バイ ト アドレスを 4 で割る と、 レジスタ用の Dword アドレスを算出できます。

例:

PCI コンフ ィギュレーシ ョ ン空間ヘッダーのコマンド /ステータス レジスタ :

• Dword アドレスは 01h

注記:バイ ト アドレスは 04h

BAR0:

• Dword アドレスは 04h

注記:バイ ト アドレスは 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-76 に、 コンフ ィギュレーシ ョ ン空間の読み出し動作の信号を例示します。

X-Ref Target - Figure 3-75

図 3‐75: [Receive Message Interface]

user_clk

cfg_msg_received

cfg_msg_received_type[4:0]

cfg_msg_received_data[7:0]

0xF

Bus Dev/Fn PL[7:0] PL[15:8] PL[31:24]PL[23:16]

X12344

Page 190: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 190

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 をディアサートする必要があ り ます。

コアをルート ポート モードでコンフ ィギュレーシ ョ ンしている場合、 Type-1 PCI™ コンフ ィギュレーシ ョ ン レジスタへの書き込み中に cfg_mgmt_type1_cfg_reg_access 入力をアサートする と、 このレジスタの特定の読み出し専用フ ィールドへの書き込みが強制されます。

X-Ref Target - Figure 3-76

図 3‐76: cfg_mgmt_read_type0_type1

X-Ref Target - Figure 3-77

図 3‐77: cfg_mgmt_write_type0

user_clk

cfg_mgmt_addr

cfg_mgmt_write

cfg_mgmt_write_data

cfg_mgmt_byte_enable

cfg_mgmt_read_write_done

cfg_mgmt_read

cfg_mgmt_read_data

cfg_mgmt_type1_cfg_reg_access

X14333

user_clk

cfg_mgmt_addr

cfg_mgmt_write

cfg_mgmt_write_data

cfg_mgmt_byte_enable

cfg_mgmt_read_write_done

cfg_mgmt_read

cfg_mgmt_read_data

cfg_mgmt_type1_cfg_reg_access

Page 191: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 191

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

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

2 レーン、 4 レーン、 8 レーンのコアは、 『PCI Express Base Specification』 [参照 2] で規定されている 大レーン幅未満で動作可能です。 次のサブセクシ ョ ンで定義されているよ うに、 指定されている 大レーン幅未満でコアが動作するケースは 2 つあり ます。

リンク  パートナーが少ないレーン数をサポートする場合

2 レーン コアが 1 レーンのみをインプリ メン トするデバイスに接続されている場合、このコアはレーン 0 を使用して 1 レーン デバイス と して リ ンクを確立して動作します。

4 レーン コアが 1 レーンのみをインプリ メン トするデバイスに接続されている場合、 図 3-79 に示すよ うにこのコアはレーン 0 を使用して、 1 レーン デバイス と して リ ンクを確立して動作します。 同様に、 4 レーン コアが 2 レーン デバイスに接続されている場合、 このコアはレーン 0 および 1 を使用して 2 レーン デバイス と して リ ンクを確立して動作します。

8 レーン コアが 4 レーンのみをインプリ メン トするデバイスに接続されている場合、 このコアはレーン 0 から 3 を使用して、 4 レーン デバイス と して リ ンクを確立して動作します。 また、 接続されているデバイスが 1 または 2 レーンのみをインプ リ メン トする場合、 この 8 レーン コアは 1 レーンまたは 2 レーン デバイス と して リ ンクを確立して動作します。

X-Ref Target - Figure 3-78

図 3‐78: cfg_mgmt_debug_access

Page 192: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 192

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

レーンにエラーが発生した場合

コアおよびリ ンク パートナー デバイスでサポート されている 大レーン幅にリ ンク ト レーニングを行った後にリ ンクにエラーが発生する と、 コアは回復を試み、 可能であれば小さいレーン幅でリ ンク ト レーニングを実行します。レーン 0 にエラーが発生した場合、 リ ンクは回復不可能となり失われます。 レーン 1 から 7 のいずれか、 またはすべてにエラーが発生した場合、 リ ンクは回復モードに遷移し、 まだ動作しているレーンを使用して回復可能な 大レーンを回復しよ う と します。

たとえば、 8 レーン コアを使用する場合、 レーン 1 が損失する と回復措置が取られレーン 0 で 1 レーン動作になり ますが、 レーン 6 が損失する とレーン 0 から 3 で 4 レーン動作になり ます。 回復措置後、 エラーの発生したレーンが再び動作可能な状態になっても、 コアは大きいリ ンク幅へと回復措置を取ろ う とはしません。 値の大きいほうの リ ンク幅へ回復措置が取られるのは、 リ ンクがダウンし 初から リ ンク ト レーニングを行う場合のみです。

user_clk ク ロ ッ ク出力は IP カタログで設定された固定周波数になり ます。 リ ンクの回復またはリ ンク ト レーニングのダウンが発生しても user_clk の周波数は変更されません。

X-Ref Target - Figure 3-79

図 3‐79: 4 レーン  エンドポイン ト  ブロックの動作 (4 レーンから  1 レーン)

Lane 0 Lane 3Lane 2Lane 1

4-lane Downstream Port

Lane 0 Lane 3Lane 2Lane 1

Lane 0 Lane 3Lane 2Lane 1

1-lane Downstream Port

Lane 0 Lane 3Lane 2Lane 1

4-lane Integrated Block 4-lane Integrated Block

Upstream DeviceUpstream Device

X12470

Page 193: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 193

PG156 2017 年 10 月 4 日 japan.xilinx.com

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

レーン反転

統合ブロッ クは、 限定的なレーン反転機能をサポート し、 リ ンク パートナーに対して柔軟なボード デザインを提供します。 リ ンク パートナーは反転されたレーン番号でボードをレイアウ トするよ う選択でき、 統合ブロ ッ クはリ ンク ト レインを継続し、 通常どおりに動作します。 レーン反転をサポートするコンフ ィギュレーシ ョ ンは x8 および x4 です (ダウンシフ トモー ドを除く )。 ダウンシフ ト とは、 各リ ンク パートナーがそれぞれ異なる リ ンク幅機能を持つ場合に発生する リ ンク幅交渉プロセスを指します。 リ ンク幅交渉の結果、 リ ンク パートナーはレーン幅のうち値の小さいほうに交渉を成立させます。 表 3-19 には、 ダウンシフ ト モードを含むさまざまな組み合わせ、 およびレーン反転サポートの有無がまとめられています。

表 3‐19: レーン反転サポート

統合ブロックの可能なレーン幅

交渉されるレーン幅

レーン番号のマッピング(エンドポイン ト  リンク  パートナー ) レーン反転

サポートエンドポイン ト リンク  パートナー

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 194: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 194

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4章

デザイン  フローの手順この章では、 コアのカスタマイズと生成、 制約、 およびシ ミ ュレーシ ョ ン/合成/インプリ メンテーシ ョ ンの手順について説明します。 一般的な Vivado® デザイン フローおよび IP インテグレーターの詳細は、 次の Vivado Design Suite ユーザー ガイ ドを参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 14]

• 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 13]

• 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 15]

• 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 17]

コアのカスタマイズおよび生成

こ こでは、 ザイ リ ンクス ツールを使用し、 Vivado Design Suite でコアをカスタマイズおよび生成する方法について説明します。

重要: Vivado IP インテグレーターでコアをカスタマイズおよび生成する場合は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 14] を参照してください。 IP インテグレーターは、 デザインの検証または生成時に一部のコンフ ィギュレーシ ョ ン値を自動的に計算する場合があり ます。 値が変わるかど うかを確認するには、 この章のパラ メーターの説明を参照してください。 パラ メーター値を確認するには、 Tcl コンソールから validate_bd_design コマンドを実行してください。

コアはユーザー デザインに合わせてカスタマイズできます。 それには、 IP コアに関連する各種パラ メーターの値を次の手順に従って指定します。

1. Vivado IP カタログから IP を選択します。

2. 選択した IP をダブルク リ ッ クするか、 ツールバーまたは右ク リ ッ ク メニューから [Customize IP] コマンドをクリ ッ ク します。

詳細は、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 13] および 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 15] を参照してください。

注記: この章の図には Vivado 統合設計環境 (IDE) のスク リーンシ ョ ッ トが使用されていますが、 現在のバージ ョ ンとはレイアウ トが異なる場合があ り ます。

UltraScale Devices Gen3 Integrated Block for PCIe コア用の [Customize IP] ダイアログ ボッ クスには、 2 つのモード ( 「Basic モードのパラ メーター」、 「Advanced モードのパラ メーター」 ) があ り ます。 モード選択には、 [Customize IP] ダイアログ ボッ クスの 初のページにある [Mode] ド ロ ップダウン リ ス ト を使用します。 以降のセクシ ョ ンでは、各モードで利用可能なパラ メーターについて説明します。

Page 195: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 195

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

Basic モードのパラメーター

このセクシ ョ ンは、 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 196: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 196

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

AXI‐ST インターフェイス幅

表 4-3 のよ うに、 インターフェイス幅を選択できます。 [Customize IP] ダイアログ ボッ クスに設定されているデフォルトのインターフェイス幅は、 も狭いインターフェイス幅となり ます。

[AXI‐ST Interface Frequency] 

周波数は 250MHz に設定されています。

[AXI‐ST Alignment Mode]

ペイロードが現れる場合、 各データパスのペイロードの 初のバイ トに揃えるために、 2 つのオプシ ョ ンがあ り ます。 113 ページの 「データ アライ メン ト オプシ ョ ン」 を参照して ください。

[AXI‐ST Frame Straddle] の有効化

インターフェイス幅が 256 ビッ トの場合、 コアはリ クエスター コンプリーシ ョ ン インターフェイス上でパケッ ト をス ト ラ ドルするオプシ ョ ンを利用できます。 詳細は、 176 ページの 「256 ビッ ト インターフェイスのス ト ラ ドル オプシ ョ ン」 を参照してください。

[Enable Client Tag]

ク ライアン ト タグの利用を可能にします。

[Reference Clock Frequency]

sys_clk に供給される基準クロ ッ クの周波数を選択します。 コアのクロ ッ ク供給の詳細は、 「ク ロ ッキング」 を参照してください。

[Xilinx Development Board]

ザイ リ ンクス開発ボードに特化した制約ファイルを生成する場合、 このオプシ ョ ンを選択します。

[Enable External PIPE Interface]

このオプシ ョ ンをオンにした場合、 外部のサードパーティ バス ファンクシ ョナル モデル (BFM) を PCIe 統合ブロックの PIPE インターフェイスへ接続できます。詳細は、エンドポイン ト コンフ ィギュレーシ ョ ンで Gen2 および Gen3 コアを使用する リ ファレンス デザインについて説明した、 XAPP1184 [参照 25] を参照して ください。 UltraScale™ デバイス コアの外部 PIPE インターフェイス ポート をサードパーティ BFM に接続する場合は、 これらのデザインが参考になり ます。

[Additional Transceiver Control and Status Ports]

このチェッ ク ボッ クスをオンにする と、 ト ランシーバーのデバッグおよびステータス ポートがコアの境界レベルに引き出されます。

表 4‐3: レーン幅、 リンク  スピード、 およびインターフェイス幅

レーン幅 リンク  スピード  (Gb/s) インターフェイス幅 (Bits)

x8 8.0 256

Page 197: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 197

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Capabilities] タブ

このセクシ ョ ンでは、 [Capabilities] タブの設定について説明します。

[Enable Physical Function 0]

追加の Physical Function (PF) をインプリ メン ト します。

統合ブロ ッ クは、 PF0 に関連する 大 6 個までの Virtual Function をインプリ メン ト します (有効な場合)。

[PF0 Legacy Interrupt PIN]

割り込みピンを INTA、 INTB、 INTC および INTD から選択します。 デフォルト値は INTA です。

[MPS]

このフ ィールドは、 デバイスまたはファンクシ ョ ンが TLP 用にサポートできる 大ペイロードサイズを示します。デバイス機能レジスタ (Device Capabilities Register) を介してシステムに伝達される値です。

[Extended Tag]

リ クエスターと してサポート されているタグ フ ィールドの 大サイズを示します。 使用可能なオプシ ョ ンは次のとおりです。

• オンにした場合は、 6 ビッ トのタグ フ ィールド (64 タグ) がサポート される

• オンにしていない場合は、 5 ビッ トのタグ フ ィールド (32 タグ) がサポート される

[Slot Clock Configuration]

リ ンク ステータス レジスタの Slot Clock Configuration ビッ ト を有効にします。 このオプシ ョ ンをオンにした場合、リ ンクに同期クロ ッ クが供給されます。 ク ロ ッキング オプシ ョ ンの詳細は、 「ク ロ ッキング」 を参照して ください。

「ID 設定 ([PF0 IDs]、 [PF1 IDs])」 タブ

このオプシ ョ ン設定では、 IP の初期値、 ク ラス コード、 および Cardbus CIS ポインター情報をカスタマイズします。Physical Function 1 (PF1) のページは、 PF1 が有効の場合のみ表示されます。

PF0 ID の初期値

• [Vendor ID]: デバイスまたはアプリ ケーシ ョ ンの製造者 ID です。 各 ID の重複を避けるため PCI Special Interest Group によって有効な ID が割り当てられています。 デフォルト値 「10EEh」 はザイ リ ンクスのベンダー ID です。 こ こにベンダー ID を入力します。 「FFFFh」 は予約されています。

• [Device ID]: アプリ ケーシ ョ ンの ID です。 デフォルト値は選択されているコンフ ィギュレーシ ョ ンによ り異なり ますが、 「70<link speed><link width>h」 とな り ます。 このフ ィールドには任意の値を入力できます。 アプリケーシ ョ ンに合わせて変更してください。

このパラ メーターは、 次に基づいて評価されます。

° デバイス ファ ミ リ (UltraScale+™ の場合は 9、 UltraScale の場合は 8、 7 シ リーズ デバイスの場合は 7)

° EP または RP モード

° リ ンク幅

° リ ンク スピード

上記の値のいずれかが変更された場合、[Device ID] の値が再評価され、現在設定されている値に上書きされます。

Page 198: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 198

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

推奨: リ ンク幅、 リ ンク スピード、 デバイス ポート タイプを 初に変更してから [Device ID] の値を変更するこ とを推奨します。 IP を生成する前に、 [Device ID] の値が正し く設定されているこ とを確認して ください。

• [Revision ID]: デバイスまたはアプリ ケーシ ョ ンの リ ビジ ョ ンを指し、 デバイス ID に付随するものです。 デフォルト値は 「00h」 です。 アプリ ケーシ ョ ンに合った値を入力して ください。

• [Subsystem Vendor ID]: デバイスまたはアプリ ケーシ ョ ンの製造者をさらに細分化させるための ID です。 こ こにサブシステム ベンダー ID を入力します。 デフォル値は 「10EEh」 です。 通常、 この値はベンダー ID と同じです。 この値を 「0000h」 に設定する と準拠テス ト問題が発生します。

• [Subsystem ID]: デバイスまたはアプリ ケーシ ョ ンの製造者をさらに細分化させるための ID です。 この値は通常デバイス ID と同じです。 デフォルト値は選択されているレーン幅およびリ ンク スピードによ り異な り ます。この値を 「0000h」 に設定する と準拠テス ト問題が発生します。

[Class Code]

ク ラスコードは、 デバイスの一般的な機能を識別するもので、 3 つのバイ ト サイズ フ ィールドに分かれています。

• [Base Class]: デバイスによ り実行される機能のタイプを広義に識別します。

• [Sub-Class]: デバイス機能をさらに細かく識別します。

• [Interface]: デバイスに依存したソフ ト ウェアがデバイス と インターフェイスできるよ うにするレジスタ レベルのプログラ ミ ング インターフェイスを定義します。

ク ラス コードのエンコードについては、 PCI SIG ウェブサイ ト を参照してください。

[Use Classcode Lookup Assistant]

選択されているデバイスの一般機能に対して、 ベース ク ラス、 サブ ク ラス、 およびインターフェイスの値を提供します。 この検索ツールは、 選択されている機能に対し 3 つの値を表示するだけです。 デバイス設定に変換するには、ユーザー自身が [Class Code] にこれらの値を入力する必要があ り ます。

ベース アドレス レジスタ  ([PF0 BAR] および [PF1 BAR]) タブ

Base Address Registers (BAR) のページでは、 エンドポイン ト コンフ ィギュレーシ ョ ンのベース アドレス レジスタ空間を設定します。 各 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 はレガシ PCI Express エンドポイン ト コアに対してのみ使用できます。

° [Memory]: Memory BAR は 64 ビッ ト または 32 ビッ トに設定でき、 プ リ フェッチ可能です。 BAR が 64 ビットに設定されている場合、 拡張アドレス空間用に次の BAR が使用され、 その BAR にはアクセスできなくな り ます。

Page 199: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 199

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

• [Size]: 使用可能なサイズ範囲は、 [PCIe Device/Port Type] および [Type of BAR] の設定によって異なり ます。表 4-4 に、 BAR サイズの範囲を示します。

• [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 は無効になり ます。

表 4‐4:デバイス コンフ ィギュレーシ ョ ン別の BAR サイズ範囲

PCIe デバイス/ポート  タイプ BAR タイプ BAR サイズ範囲

PCI Express エンドポイン ト32 ビッ ト メモ リ 128 バイ ト (B) ~ 2 ギガバイ ト (GB)

64 ビッ ト メモ リ 128B ~ 256GB

レガシ PCI Express エンドポイン ト

32 ビッ ト メモ リ 128B ~ 2GB

64 ビッ ト メモ リ 128B ~ 256GB

I/O 16B ~ 2GB

PCI Express ルート コンプレッ クスのルート ポート

32 ビッ ト メモ リ 4B ~ 2GB

64 ビッ ト メモ リ 4B ~ 8GB

I/O 16B ~ 2GB

Page 200: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 200

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Legacy/MSI Capabilities] タブ

このページでは、該当するすべての Physical Function および Virtual Function に対して [Legacy Interrupt Settings] および [MSI Capabilities] を設定できます。

[Legacy Interrupt Settings]

• [Enable MSI Per Vector Masking]: 有効になっている Physical Function すべての MSI のベクターごとのマスキング機能を有効にします。

注記: このオプシ ョ ンは、 各 Physical Function に対して有効に設定できません。

• [PF0/PF1 Interrupt PIN]: レガシ割り込みメ ッセージのマッピングを示します。 [None] は、 レガシ割り込みが使用されていないこ とを示します。

[MSI Capabilities]

• [PF0/PF1 Enable MSI Capability Structure]: MSI 機能構造体を有効にします。

注記: MSI または MSI-X を有効にしないこ と も可能ですが、 その場合、 コアが規格に準拠しなくなる可能性があり ます。 『PCI Express Base Specification』 [参照 2] では、 MSI または MSI-X のいずれかまたは両方が有効になることが条件と して定義されています。

• [Multiple Message Capable]: ルート コンプレッ クスから要求する MSI ベクターの数を選択します。

Advanced モードのパラメーター

[Basic] タブの [Mode] で [Advanced] が選択されている場合、 次のパラ メーターが IP カタログのさまざまなページに表示されます。

[Basic] タブ

Advanced モード用の [Basic] ページには、 いくつかの追加設定があ り ます。 [Advanced] モードを選択した場合に [Basic] ページで指定できるパラ メーターは次のとおりです。

[Enable Parity] 

オンにする と、 UltraScale IP のパリティ機能が有効になり ます。 2 つのモデル パラ メーター AXISTEN_IF_CC_PARITY_CHK と AXISTEN_IF_RQ_PARITY_CHK が TRUE に設定されます。 このパラ メーターのデフォルト値は FALSE です。

[Use the dedicated PERST routing resources]

該当する PCIe ロケーシ ョ ンに対する sys_rst 専用配線を有効にします (表 2-2 参照)。

[System reset polarity]

sys_rst の極性 (ACTIVE_HIGH または ACTIVE_LOW) を設定します。

[PCIe DRP Ports]

オンにする と、 PCIe DRP インターフェイスが有効になり ます。

Page 201: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 201

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[PCIe DRP Ports] をオンにした場合に利用できる信号を、 表 4-5 に示します。

[GT Channel DRP] 

オンにする と、 GT チャネル DRP インターフェイスが有効になり ます。

[GT Channel DRP] をオンにした場合に利用できる信号を、 表 4-6 に示します。

[Enable RX Message INTFC]

オンにする と、 メ ッセージは受信メ ッセージ インターフェイスの cfg_msg_received 信号に転送されます。 オフにする と、 メ ッセージは CQ インターフェイスに転送されます。

[Enable GT Quad Selection]

デバイス /パケージの移行を可能にします。 「UltraScale デバイスの PCI Express デザインのパッケージ移行」 を参照してください。

[GT Quad] 

ド ロ ップダウン メニューを使用して任意の GTH クワ ッ ドを選択します。 このオプシ ョ ンは、 [Enable GT Quad Selection] がオンになっている場合のみ有効です。 各デバイスで利用可能な GT クワ ッ ドの詳細は、 付録 B の 「利用可能な GT クワ ッ ド」 を参照して ください。

表 4‐5: PCIe DRP ポート

名称 方向 幅 説明

drp_addr I 10 ビッ ト PCIe DRP アドレス

drp_en I 1 ビッ ト PCIe DRP イネーブル

drp_di I 16 ビッ ト PCIe DRP データ イン

drp_do O 16 ビッ ト PCIe DRP データ アウ ト

drp_rdy O 1 ビッ ト PCIe DRP レディ

drp_we I 1 ビッ ト PCIe DRP 書き込み/読み出し

表 4‐6: GT DRP ポート

名称 方向 幅 説明

ext_ch_gt_drpaddr I レーンの数 x 10 GT Wizard DRP アドレス

ext_ch_gt_drpen I レーンの数 x 1 GT Wizard DRP イネーブル

ext_ch_gt_drpdi I レーンの数 x 16 GT Wizard DRP データ イン

ext_ch_gt_drpdo O レーンの数 x 16 GT Wizard DRP データ アウ ト

ext_ch_gt_drprdy O レーンの数 x 1 GT Wizard DRP レディ

ext_ch_gt_drpwe I レーンの数 x 1 GT Wizard DRP 書き込み/読み出し

Page 202: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 202

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[CORE CLOCK Frequency]

このパラ メーターで、 コアのクロ ッ ク周波数を選択できます。

Gen3 リ ンク スピード :

• スピード グレード -1、 -2、 -3、 -1H、 -1HV でリ ンク幅が x8 以外の場合は、 250MHz と 500MHz を選択できます。この構成では、 [Advanced] モードを選択した場合にこのパラ メーターを設定できます。

• スピード グレード -1、 -2、 -3、 -1H、 -1HV でリ ンク幅が x8 の場合、 このパラ メーターはデフォルトの 500MHz から変更できません。

• スピード グレード -1L または -1LV でリ ンク幅が x8 以外の場合は、 このパラ メーターはデフォルトの 250MHz から変更できません。

Gen1 および Gen2 リ ンク スピード :

• このパラ メーターはデフォルトの 250MHz から変更できません。

注記: スピード グレード -1L または -1LV を選択し、 プロダクシ ョ ン デバイスでない XCVU440 (ES2)、 XCKU060 (ES2) または XCKU115 (ES2) を選択した場合、 このパラ メーターはデフォルトの 250MHz から変更できません。

[Capabilities] タブ

Advanced モード用の [Capabilities] 設定には、 Basic モードの設定にさらに 3 つのパラ メーターが追加されています。詳細は次のとおりです。

[SRIOV Capabilities]

SR-IOV (Single Root Port I/O Virtualization) 機能を有効にします。 統合ブロ ッ クが拡張型の Single Root Port I/O Virtualization PCIe をインプリ メン ト します。 オンにする と、 PF0 と PF1 の両方 (選択されている場合) に SR-IOV がインプ リ メン ト されます。

[Function Level Reset]

ファンクシ ョ ン レベルのリセッ ト機能が有効であるこ とを示します。 ユーザーが特定のデバイス機能を リセッ トできます。 このオプシ ョ ンは、 エンドポイン ト コンフ ィギュレーシ ョ ンにのみ適用可能です。

[Device Capabilities Registers 2]

AtomicOps および TPH コンプ リーターをサポートするためのオプシ ョ ンを指定します。 詳細は、 『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 モードで同じです。

Page 203: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 203

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[SRIOV Config](PF0 および PF1) タブ

[SRIOV Capability Version]

Physical Function 用の 4 ビッ トの SR-IOV Capability バージ ョ ンを示します。

[SRIOV Function Select]

Physical Function と関連する Virtual Function の数を示します。 PF0 および PF1 には、 合計 6 個の Virtual Function を指定できます。

[SRIOV Functional Dependency Link]

Physical Function 用の SR-IOV Functional Dependency Link を示します。 デバイスのプログラ ミ ング モデルには、 ファンクシ ョ ン間にベンダー指定の相互依存性を持たせるこ とができます。 この Function Dependency Link フ ィールドを使用して、 これらの相互依存性を定義します。

[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 のページ サイズをサポート します。

Page 204: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 204

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[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 までです。 メモ リのみに使用します。

すべての SRIOV BAR レジスタに次のオプシ ョ ンがあ り ます。

• チェッ ク ボッ クス : BAR を有効にするにはチェッ ク ボッ クスをオンします。 BAR を無効にするにはこのチェック ボッ クスをオフにします。

• [Type]: SRIOV BAR は I/O または Memory のいずれかにできます。

° [I/O]: I/O BAR は 32 ビッ トのみです。 I/O BAR はプリ フェ ッチ対応ではあ り ません。 I/O BAR はレガシ PCI Express エンドポイン ト コアに対してのみ使用できます。

° [Memory]: Memory BAR は 64 ビッ ト または 32 ビッ トに設定でき、 プ リ フェッチ可能です。 BAR が 64 ビットに設定されている場合、 拡張アドレス空間用に次の BAR が使用され、 その BAR にはアクセスできなくな り ます。

• [Size]: 使用可能なサイズ範囲は、[PCIe Device/Port Type] および [Type of BAR] の設定によって異なり ます。 表 4-8 に、 BAR サイズの範囲を示します。

• [Prefetchable]: メモ リ空間をプリ フェッチ可能にするかど うかを設定します。

• [Value]: 現在の選択内容に基づいて BAR に値が割り当てられます。

SRIOV ベース アドレス レジスタの設定の管理については、 「ベース アドレス レジスタの設定の管理」 を参照してください。

表 4‐7: Virtual Function のマッピング例

Physical Function Virtual Function ファンクシ ョ ン番号の範囲

PF0 VF0 64

PF0 VF1 65

PF1 VF0 66

PF1 VF1 67

PF1 VF1 68

表 4‐8:デバイス コンフ ィギュレーシ ョ ン別の SRIOV BAR サイズ範囲

PCIe デバイス/ポート  タイプ  BAR タイプ BAR サイズ範囲

PCI Express エンドポイン ト32 ビッ ト メモ リ 128B ~ 2GB

64 ビッ ト メモ リ 128B ~ 256GB

レガシ PCI Express エンドポイン ト

32 ビッ ト メモ リ 16B ~ 2GB

64 ビッ ト メモ リ 16B ~ 256GB

I/O 16B ~ 2GB

Page 205: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 205

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

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 は無効になり ます。

[Legacy/MSI Capabilities] タブ

このページは、 Basic モード と同じです。

[MSI‐X Capabilities] タブ

[MSI-X Capabilities] のパラ メーターは Advanced モードでのみ利用できます。

[Enable MSIx Capability Structure]

MSI-X Capability が有効になっているこ とを示します。

注記: Capability Structure (機能構造体) では、 少なく と も 1 つのメモ リ BAR を設定する必要があ り ます。 ユーザーは、アプ リ ケーシ ョ ンの MSI-X テーブルおよびペンディング ビッ ト アレイの設定を管理する必要があ り ます。

[MSIx Table Settings]: 

MSI-X テーブルの構造を定義します。

• [Table Size]: MSI-X テーブルのサイズを指定します。 予想される割り込みの数から 1 を引いた値を設定します (0x0F に設定する とテーブル サイズは 16)。

• [Table Offset]: MSI-X テーブルのベースを指し示す、 ベース アドレス レジスタからのオフセッ ト値を指定します。

• [BAR Indicator]: MSI-X テーブルのファンクシ ョ ンを メモ リ空間へマップするために使用されるコンフ ィギュレーシ ョ ン空間のベース アドレス レジスタを示します。 64 ビッ トのベース アドレス レジスタの場合、 これは下位 DWORD を指します。

Page 206: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 206

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[MSIx Pending Bit Array (PBA) Settings]

MSI-X PBA (ペンディング ビッ ト アレイ ) の構造を定義します。

• [PBA Offset]: MSI-X PBA のベースを指し示す、 ベース アドレス レジスタからのオフセッ ト値を指定します。

• [PBA BAR Indicator]: MSI-X PBA のファンクシ ョ ンを メモ リ空間へマップするために使用されるコンフ ィギュレーシ ョ ン空間のベース アドレス レジスタを示します。

[Power Management] タブ

[Power Management] ページでは、 パワー マネージメン ト レジスタ、 電力消費、 および電力損失に関する設定を行います。 これらの設定は、 PF1 が有効の場合に両方の Physical Function に対して適用されます。

• [D1 Support]: ファンクシ ョ ンで D1 Power Management State がサポート されているこ とを示します。 詳細は、『PCI Bus 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 (offset 0x100h)] は常に有効に設定されています。 [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 にのみ利用可能です。

• [Reject Snoop Transactions] (ルート ポート コンフ ィギュレーシ ョ ンのみ): このオプシ ョ ンがオンの場合、 No Snoop 属性が適用されているが TLP ヘッダーでは設定されていないト ランザクシ ョ ンは、 サポート されないリクエス ト (UR) と して拒否される可能性があ り ます。

• [Enable AER Capability]: Advanced Error Reporting 機能をサポートするオプシ ョ ンの PCIe 拡張機能です。 この機能は常に有効となり ます。

° [ECRC check capable]: [ECRC check capable] をオンにする と、 コアは ECRC エラーのある TLP をユーザー ロジッ クに送信せず、 破棄します。

その他のオプシ ョ ン機能

• [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 機能をインプリ メン ト します。

Page 207: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 207

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[GT Settings] タブ

このページでは、 通常変更できない特定ト ランシーバーの設定をカスタマイズできます。

PLL 選択 

リ ンク スピードを Gen2 に設定した場合のみ、 クロ ッ ク ソース と して [QPLL1] または [CPLL] を選択できます。 この機能は、 Gen2 リ ンク スピードの場合に同じ GT クワ ッ ドで別のプロ ト コルを使用する場合に役立ちます。 Gen3 スピードには QPLL1 が必要で、 Gen1 スピードでは常に CPLL を使用します。

重要: これ以外の設定は、 ザイ リ ンクスによる指示がない限り変更しないでください。

表 4-9 に、 各ライン スピードで選択可能なオプシ ョ ンとデフォルト を示します。

[Enable Auto RxEq]

このパラ メーターを [True] に設定する と、 レシーバー等化 (LPM または DFE) モードが自動的に選択されます。

[Form Factor Driven Insertion Loss Adjustment]

ナイキス ト周波数でのト ランス ミ ッ ターからレシーバーの挿入ロスをフォーム ファ ク ターの選択に従って示します。次の 3 つのオプシ ョ ンがあ り ます。

1. [Chip-to-Chip]: 値は 5dB です (LPM)。

2. [Add-in Card]: 値は 15dB で、 これがデフォルトです (DFE)。

3. [Backplane]: 値は 20dB です (DFE)。

これらの挿入ロス値は、 GT Wizard サブコアに適用されます。

X-Ref Target - Figure 4-1

図 4‐1: [GT Settings] タブ

表 4‐9: PLL タイプ

リンク  スピード   PLL タイプ 説明

2.5_GT/s CPLL デフォルトは CPLL。 この設定は変更できません。

5.0_GT/s QPLL1、 CPLL デフォルトは QPLL1。 この設定は変更できます。

8.0_GT/s QPLL1 デフォルトは QPLL1。 この設定は変更できません。

表 4‐10: レシーバー等化 (LPM または DFE) モードの決定方法

[Auto RxEQ] 動作

True デフォルトは DFE で、 チャネル特性に応じて LPM に変化します。

False デフォルトは DFE で、 [Form Factor Driven Insertion Loss Adjustment] の設定によ りモードを変更できます。

Page 208: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 208

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Link Partner TX Preset] 

デフォルト値の 4 から変更するこ とは推奨しません。 システムによってはプリセッ ト値の 5 の方が良いこ と もあ ります。 このパラ メーターは [GT Settings] タブにあ り ます。

[Receiver Detect]

レシーバー検出のタイプを [Default] または [Falling Edge] から選択します。 このパラ メーターは、 Advanced モードを選択した場合の [GT Settings] タブにあ り ます。 このパラ メーターは、 プロダクシ ョ ン デバイスの場合のみ利用できます。 [Falling Edge] を選択した場合、 Advanced モードの [Basic] タブにある [GT Channel DRP] はオフになり ます。詳細は、 『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576) [参照 11] を参照して ください。

[Shared Logic] タブ

このページで 1 つまたは複数のオプシ ョ ンを選択して、 複数のインスタンシエーシ ョ ン間で共通のブロ ッ クを共有できるよ うにします。 詳細は、 第 3 章の 「共有ロジッ ク」 を参照してください。

[Core Interface Parameters]

コア インターフェイスのパラ メーターを選択できます。 デフォルトで、 すべてのポートが選択されているため、 使用しないインターフェイスを無効にできます。 無効になる と、 コアの 上位からそのインターフェイス (ポート ) が削除されます。

推奨: 通常の使用では、 インターフェイスを無効にしないでください。特別な場合のみポート を無効にしてください。

Page 209: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 209

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Tansmit FC Interface]

コアが提供するフロー制御情報を要求できます。 このオプシ ョ ンをオフにする と、 次のポートが削除されます。

• pcie_tfc_nph_av

• pcie_tfc_npd_av

[Config FC Interface]

コアのコンフ ィギュレーシ ョ ン フロー制御を制御できます。 このオプシ ョ ンをオフにする と、 次のポートがコアから削除されます。

• cfg_fc_ph

• cfg_fc_pd

• cfg_fc_nph

• cfg_fc_npd

• cfg_fc_cplh

• cfg_fc_cpld

• cfg_fc_sel

X-Ref Target - Figure 4-2

図 4‐2: [Core Interface Parameters]

Page 210: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 210

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[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

[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

Page 211: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 211

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

• 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

[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

Page 212: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 212

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[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

[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

Page 213: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 213

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

• cfg_req_pm_transition_l23_ready

• cfg_link_training_enable

[Add.Debug Options]

デバッグ目的で、 追加のデバッグ箇所を選択できます。 次にパラ メーターを示します。 ポート レベルの説明は、 付録 D の 「ハード ウェア デバッグ」 を参照して ください。

[Enable In System IBERT]

このデバッグ オプシ ョ ンは、 目的のリ ンク スピードにおけるシ リ アル リ ンクのアイ ダイアグラムをチェッ クおよび確認するために使用します。 In-System IBERT の詳細は、 『In-System IBERT LogiCORE IP 製品ガイ ド』 (PG246) [参照 23] を参照して ください。

重要: このオプシ ョ ンは、 主にハードウェア デバッグの目的に使用します。 このオプシ ョ ンをオンにした場合、 シミ ュレーシ ョ ンはサポート されません。

アイ ダイアグラムのチェッ ク手順を次に示します。

1. 該当するザイ リ ンクス リ ファレンス ボードを選択します。

2. 次の設定でコアをコンフ ィギュレーシ ョ ンします。

° 任意のリ ンク幅で Gen3、 Gen2、 または Gen1 リ ンク スピードを選択します。

° [Add. Debug Options] ページで [Enable In System IBERT] をオンにします。

3. サンプル デザインを開きます。

4. .bit ファ イルおよび .ltx ファ イルを生成します。

5. FPGA をプログラムする前に、 Tcl コンソールで次のコマンドを source コマンドで実行します。

- set_param xicom.enable_isi_pcie_fix 1

6. ハードウェア マネージャー (HM) を開き、 生成された .bit ファ イルおよび .ltx ファ イルを使用して FPGA をコンフ ィギュレーシ ョ ンします。

7. エニュ メ レーシ ョ ン プロセスを リ スキャンして再度実行するために、 マシンを再起動します。

8. HM の下部にある [Serial I/O Links] タブを選択して、 スキャン ウ ィンド ウ用にリ ンクを作成します。

9. [Serial I/O Links] タブのリ ンクを 1 つ選択し、 右ク リ ッ ク してスキャン リ ンク オプシ ョ ンを選択します。

10. よ り優れた結果を得るには、 [Horizontal and Vertical Increment] にデフォルト値ではなく 2 を設定して試して ください。

11. アイ スキャンを選択する と、 アイ ダイアグラムが描画されます。

重要: [Enable In System IBERT] は、 [GT Settings] タブの [Falling Edge Receiver Detect] オプシ ョ ンと併用できません。

X-Ref Target - Figure 4-3

図 4‐3: [Add. Debug Options]

Page 214: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 214

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

[Enable Descrambler for Gen3 Mode]

このデバッグ オプシ ョ ンは、 PCIe コア内部にある暗号化されたデスク ランブラー モジュールを統合します。 これは、 Gen3 リ ンク スピードモードの PCIe 統合ブロッ クから /への PIPE データを逆スク ランブルするために使用します。 これによ り、 ボードでのデバッグを目的と したハード ウェア専用サポートが提供されます。

[Enable JTAG Debugger]

この機能を使用する と、 次の理由でデバッグの負担が軽減されます。

• LTSSM ステートの遷移: リ ンク アップからのすべての LTSSM ステート遷移を示します。

• PHY リセッ ト FSM の遷移: PHY リセッ ト FSM (PCIe ソ リ ューシ ョ ン IP で使用される内部ステート マシン) を示します。

• レシーバー検出: 問題なく レシーバー検出が完了したすべてのレーンを示します。

手順は次のとおりです。

1. 新しい Vivado を開き、 ボードに接続します。

2. [hw_axi_1] が表示されるはずです。

3. Vivado Tcl コンソールに 「source test_rd.tcl」 と入力します。

4. 後処理のため、 次をダブルク リ ッ ク します。

° draw_ltssm.tcl (Windows) または wish draw_ltssm.tcl

° draw_reset.tcl (Windows) または wish draw_reset.tcl

° draw_rxdet.tcl (Windows) または wish draw_rxdet.tcl

これによ り、 LTSSM ステート遷移が図示されます。

出力の生成

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 13] を参照してください。

X-Ref Target - Figure 4-4

Page 215: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 215

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

コアへの制約

こ こでは、 Vivado® Design Suite でコアに制約を指定する方法について説明します。

必須の制約

UltraScale Devices Gen3 Integrated Block for PCIe ソ リ ューシ ョ ンでは、 PCI Express® 用の特定性能要件を満たすために、 タイ ミ ングおよびその他の物理的なインプリ メンテーシ ョ ン制約を指定する必要があ り ます。 これらの制約は、エンドポイン トおよびルート ポート ソ リ ューシ ョ ンで、ザイ リ ンクス デザイン制約 (XDC) ファ イルを用いて適用されます。 生成される XDC ファ イルにあるピン配置および階層名は、 配布されているサンプル デザインのものと一致しています。

重要: サンプル デザインの 上位ファイルを使用しない場合、 基準クロ ッ ク用に IBUFDS_GTE3 インスタンスを、sys_rst 用に IBUF インスタンスを、 そしてこれらに関連するタイ ミ ング制約もローカル デザインの 上位にコピーします。

一貫したインプ リ メンテーシ ョ ン結果を得るには、 ザイ リ ンクス ツールでデザインを実行する と きに、 変更されていない元の制約を含んだ XDC ファ イルを使用する必要があ り ます。 XDC または特定の制約の定義および使用方法についての詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 16] を参照して ください。

統合ブロ ッ ク ソ リ ューシ ョ ンで提供されている制約は、 ハード ウェア上でテス ト済みで、 一貫した結果を提供します。 制約は変更可能ですが、 各制約をよ く理解した上で変更してください。 また、 提供されている制約を規定から逸脱した形で使用したデザインに対してはサポート を提供しており ません。

デバイス、 パッケージ、 スピード  グレードの選択

XDC のデバイス選択セクシ ョ ンには、 ターゲッ トにするパーツ、 パッケージ、 スピード グレードが記述されており、 この情報がインプ リ メンテーシ ョ ン ツールに渡されます。

重要: UltraScale Devices Gen3 Integrated Block for PCIe コアは特定のパーツとパッケージの組み合わせに対して設計されているため、 このセクシ ョ ンは変更しないでください。

このセクシ ョ ンには常にパーツを選択する行が含まれていますが、 パーツまたはパッケージ別のオプシ ョ ンも含まれている場合があ り ます。 たとえば、 次のよ うになり ます。

CONFIG PART = XCKU040-ffva1156-3-e-es1

クロック周波数

ク ロ ッ ク要件の詳細は、 第 3 章 「コアを使用するデザイン」 を参照してください。

クロック管理

ク ロ ッ ク要件の詳細は、 第 3 章 「コアを使用するデザイン」 を参照してください。

クロック配置

ク ロ ッ ク要件の詳細は、 第 3 章 「コアを使用するデザイン」 を参照してください。

Page 216: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 216

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

バンク設定

このセクシ ョ ンは、 この IP コアには適用されません。

ト ランシーバーの配置

このセクシ ョ ンは、 この IP コアには適用されません。

I/O 規格と配置

このセクシ ョ ンは、 この IP コアには適用されません。

統合ブロック  コアの再配置

IP コア レベルの制約によ り、 ブロ ッ ク RAM、 ト ランシーバー、 および PCIe ブロ ッ クが推奨ロケーシ ョ ンにデフォルトでロ ッ ク されています。 ブロ ッ クを再配置するには、 XDC 制約ファイルでこれらブロ ッ クの制約をオーバーライ ドする必要があ り ます。 これを実行するには、 次の手順に従います。

1. コア レベルの XDC 制約ファイルから上書きする必要があるブロ ッ クの制約をコピーします。

2. それらの制約をユーザー XDC 制約ファイルに置きます。

3. 制約を新しいロケーシ ョ ンでアップデート します。

ユーザー XDC 制約ファイルは一般にデザインの 上位にスコープされるため、 制約によって参照されるセルがコピーおよびペース ト後も変わらず有効であるこ とを確認する必要があ り ます。 通常はモジュール パスを完全な階層名でアップデートする必要があ り ます。

注記: スワップしなければならないロケーシ ョ ンが存在する場合 (つま り、 別のモジュールが新しいロケーシ ョ ンを使用している )、 次の 2 つの方法でこれを実行します。

• 利用可能な一時的なロケーシ ョ ンがある場合は、 初のモジュールを新しい一時的なロケーシ ョ ンに移動します。 その後、 2 つ目のモジュールを 初のモジュールが使用していたロケーシ ョ ンに移動します。 次に、 初のモジュールを 2 つ目のモジュールのロケーシ ョ ンに移動します。 上記の手順は、 XDC 制約ファイルで実行できます。

• 一時的なロケーシ ョ ンと して利用可能なほかのロケーシ ョ ンがない場合は、 2 つ目のモジュールをこのロケーシ ョ ンに再配置する前に、 初のモジュールについて Tcl コマンド ウ ィンド ウから reset_property コマンドを使用します。 reset_property コマンドは XDC 制約ファイルで実行できないため、 Tcl コマンド ファ イルから呼び出すか、 Tcl コンソールに直接入力します。

Page 217: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 217

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

シ ミ ュレーシ ョ ン

Vivado シ ミ ュレーシ ョ ン コンポーネン トについて、 またサポート されているサードパーティ ツールについては、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 17] を参照してください。

サンプル デザインのシ ミ ュレーシ ョ ン方法は、 第 5 章の 「サンプル デザインのシ ミ ュレーシ ョ ン」 を参照してください。

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

UltraScale Devices 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 を使用するために必要な接続も提供されます。

ヒン ト : PIPE モードは、 シ ミ ュレーシ ョ ン専用です。 インプリ メンテーシ ョ ンはサポート されていません。

詳細は、 196 ページの 「[Enable External PIPE Interface]」 を参照してください。

表 4-11 および表 4-12 に、 コアの 上位に含まれる PIPE バス信号と、 EP コア (pcie_top) PIPE 信号のマッピングを示します。

重要: 新しいファイルの xil_sig2pipe.v がシ ミ ュレーシ ョ ンに直接取り込まれ、 phy_sig_gen.v の置き換えとなり ます。 BFM/VIP は、 board.v の xil_sig2pipe インスタンス と接続する必要があ り ます。

表 4‐11:共通の入力/出力コマンド とエンドポイン ト  PIPE 信号のマッピング

入力コマンドエンドポイン ト  PIPE 信号の

マッピング出力コマンド

エンドポイン ト  PIPE 信号のマッピング

common_commands_in[25:0] 使用しない common_commands_out[0] pipe_clk(1)

common_commands_out[2:1] pipe_tx_rate_gt(2)

common_commands_out[3] pipe_tx_rcvr_det_gt

common_commands_out[6:4] pipe_tx_margin_gt

common_commands_out[7] pipe_tx_swing_gt

common_commands_out[8] pipe_tx_reset_gt

common_commands_out[9] pipe_tx_deemph_gt

common_commands_out[16:10] 使用しない(3)

注記:1. pipe_clk は、 コア コンフ ィギュレーシ ョ ンに基づく出力クロ ッ クです。 Gen1 レートの場合 125MHz です。 Gen2 および Gen3 の場合は

250MHz です。

2. pipe_tx_rate_gt は、 パイプ レート (2’b00-Gen1、 2’b01-Gen2 および 2’b10-Gen3) を示します。

3. このポートの機能は廃止されており、 未接続のままでかまいません。

Page 218: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 218

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

合成後/インプリ メンテーシ ョ ン後のネッ ト リス ト  シミ ュレーシ ョ ン 

UltraScale Devices Gen3 Integrated Block for PCIe コアは、 合成後/インプリ メンテーシ ョ ン後のネッ ト リ ス ト論理シミ ュレーシ ョ ンをサポート しています。 ただしこの リ リースでは、 構成によってはこの機能がサポート されません。各コンフ ィギュレーシ ョ ンでネッ ト リ ス トの論理シ ミ ュレーシ ョ ンがサポート されるかど うかは、 表 4-13 を参照してください。

注記: この リ リースでは、 すべての構成において合成/インプリ メンテーシ ョ ン後のネッ ト リ ス ト タイ ミ ング シ ミ ュレーシ ョ ンはサポート されません。

合成後のネッ ト リス ト論理シミ ュレーシ ョ ン

合成後のネッ ト リ ス ト論理シ ミ ュレーシ ョ ンを実行するには、 次の手順を実行します。

1. 必要に応じてコアを設定し、 生成します。

2. サンプル デザインを開き、 合成を実行します。

3. 合成が完了したら、 Flow Navigator で [Run Simulation] を右ク リ ッ ク し、 [Run Post-Synthesis Functional Simulation] をク リ ッ ク します。

表 4‐12:入力/出力バスとエンドポイン ト  PIPE 信号のマッピング

入力バスエンドポイン ト  PIPE 信号の

マッピング出力バス

エンドポイン ト  PIPE 信号のマッピング

pipe_rx_0_sigs[31:0] pipe_rx0_data_gt pipe_tx_0_sigs[31:0] pipe_tx0_data_gt

pipe_rx_0_sigs[33:32] pipe_rx0_char_is_k_gt pipe_tx_0_sigs[33:32] pipe_tx0_char_is_k_gt

pipe_rx_0_sigs[34] pipe_rx0_elec_idle_gt pipe_tx_0_sigs[34] pipe_tx0_elec_idle_gt

pipe_rx_0_sigs[35] pipe_rx0_data_valid_gt pipe_tx_0_sigs[35] pipe_tx0_data_valid_gt

pipe_rx_0_sigs[36] pipe_rx0_start_block_gt pipe_tx_0_sigs[36] pipe_tx0_start_block_gt

pipe_rx_0_sigs[38:37] pipe_rx0_syncheader_gt pipe_tx_0_sigs[38:37] pipe_tx0_syncheader_gt

pipe_rx_0_sigs[83:39] 使用しない pipe_tx_0_sigs[39] pipe_tx0_polarity_gt

pipe_tx_0_sigs[41:40] pipe_tx0_powerdown_gt

pipe_tx_0_sigs[69:42] 使用しない(1)

注記:1. このポートの機能は廃止されており、 未接続のままでかまいません。

表 4‐13:各コンフ ィギュレーシ ョ ンによる論理シミ ュレーシ ョ ンのサポート

コンフ ィギュレーシ ョ ン

Verilog  VHDL 外部 PIPE

インターフェイス モード

共有ロジックをコアに含む 

共有ロジックをサンプル デザイン

に含む

エンドポイン ト サポート

サポート (Tandem モードで [Use an external STARTUP primitive] をオンにした

場合を除く )

サポート しない サポート サポート

ルート ポート この リ リースではサポート しない

Page 219: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 219

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 4 章:デザイン フローの手順

インプリ メンテーシ ョ ン後のネッ ト リス ト論理シミ ュレーシ ョ ン

インプ リ メンテーシ ョ ン後のネッ ト リ ス ト論理シ ミ ュレーシ ョ ンを実行するには、 次の手順を実行します。

1. 上述の 「合成後のネッ ト リ ス ト論理シ ミ ュレーシ ョ ン」 の手順を実行します。

2. 生成したサンプル デザインに対してインプリ メンテーシ ョ ンを実行します。

3. インプ リ メンテーシ ョ ンが完了したら、 Flow Navigator で [Run Simulation] を右ク リ ッ ク し、 [Run Post-Implementation Functional Simulation] をク リ ッ ク します。

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

合成およびインプ リ メンテーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 13] を参照して ください。

サンプル デザインの合成およびインプリ メンテーシ ョ ンに関する詳細は、 第 5 章の 「サンプル デザインの合成およびインプ リ メンテーシ ョ ン」 を参照してください。

Page 220: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 220

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5章

サンプル デザインこの章では、 Vivado® Design Suite で提供されているサンプル デザインについて説明します。

サンプル デザインの概要

このセクシ ョ ンでは、 UltraScale Devices Gen3 Integrated Block for PCIe のサンプル デザインについて説明します。

統合ブロックのエンドポイン ト  コンフ ィギュレーシ ョ ンの概要

統合ブロッ クのエンドポイン ト コンフ ィギュレーシ ョ ンのサンプル シ ミ ュレーシ ョ ン デザインは、 2 つの完全に独立した部分で構成されています。

• ルート ポート モデル: PCI Express® のバス ト ラフ ィ ッ クを生成、 使用、 チェッ クするテス トベンチです。

• PIO (Programmed Input/Output) サンプル デザイン: PCI Express のコンプリーター アプリ ケーシ ョ ンです。 PIO サンプル デザインは、 そのメモ リ空間への読み出しおよび書き込みリ クエス トに応答し、 ハード ウェアでのテスト用に合成できます。

Page 221: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 221

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

シ ミ ュレーシ ョ ン  デザインの概要

シ ミ ュレーシ ョ ン デザインの場合、 ト ランザクシ ョ ンはルート ポート モデルから (エンドポイン ト と してコンフ ィギュレーシ ョ ンされた) コアに送信され、 PIO サンプル デザインによって処理されます。 図 5-1 は、 コアで提供されているシ ミ ュレーシ ョ ン デザインについて説明しています。 ルート ポート モデルの詳細は、 240 ページの 「エンドポイン ト用ルート ポート モデル テス ト ベンチ」 を参照してください。

インプリ メンテーシ ョ ン  デザインの概要

図 5-2 にあるよ うに、 インプリ メンテーシ ョ ン デザインは、 読み出しおよび書き込みト ランザクシ ョ ンを受理してリ クエス トに応答できる、 簡単な PIO サンプル デザインで構成されています。 このサンプルのソース コー ドはコアと共に提供されています。 PIO サンプル デザインのシ ミ ュレーシ ョ ンについては、 222 ページの 「PIO (Programmed Input/Output): エンドポイン トのサンプル デザイン」 を参照してください。

X-Ref Target - Figure 5-1

図 5‐1: シミ ュレーシ ョ ン  サンプル デザインのブロック図

Test Program

Endpoint DUT for PCI Express

PCI Express Fabric

Endpoint Core for PCI Express

PIO Design

dsport

usrapp_tx

usrapp_com

usrapp_rx

Output Logs

Root Port Model TPI for

Express

X12471

Page 222: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 222

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

サンプル デザインのエレメン ト

PIO サンプル デザインには、 次のエレ メン トがあ り ます。

• コア ラ ッパー

• サンプルの Verilog HDL ラ ッパー (コアおよびサンプル デザインをインスタンシエートする )

• サンプル デザインをシ ミ ュレーシ ョ ンするためのカスタマイズ可能なデモ用テス トベンチ

このサンプル デザインは、 次のシ ミ ュレータを使用して Vivado Design Suite でテス トおよび検証されています。

• Vivado シ ミ ュレータ

• Mentor Graphics 社 QuestaSim

• Cadence 社 Incisive Enterprise Simulator (IES)

• Synopsys 社 Verilog Compiler Simularor (VCS)

サポート されているツールのバージ ョ ンは、 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート 、 インス トールおよびライセンス』 (2) を参照して ください。

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 デザイン ポート モデルは、コア (Endpoint Block Plus for PCI Express および Endpoint PIPE for PCI Express ソ リ ューシ ョ ン) で共有されます。 このセクシ ョ ンでは、 総称的に Endpoint for PCI Express (または Endpoint for PCIe™) の名前を使用してすべてのソ リ ューシ ョ ンを表しています。

X-Ref Target - Figure 5-2

図 5‐2: インプリ メンテーシ ョ ン  サンプル デザインのブロック図

X12459

UltraScale FPGA Gen3 Integrated Block for PCI Express (Configured as an Endpoint)

EP_TX EP_RX

PIO_TO_CTRLep_io_mem

ep_mem32

ep_mem64

ep_mem_erom

EP_MEM

PIO_EP

PIO

PIO_INTR_CTRL

Page 223: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 223

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

システムの概要

PIO デザインは、 シンプルなターゲッ ト専用のアプリ ケーシ ョ ンで、 PCIe コア用エンドポイン トの ト ランザクシ ョン (AXI4-Stream) インターフェイス と接続され、 これを手掛かりにして独自デザインを構築できるよ うに提供されています。 次の機能が含まれています。

• 内部 FPGA ブロ ッ ク RAM を使用する ト ランザクシ ョ ンごとの 2KB ターゲッ ト領域が 4 つ (ターゲッ ト空間の合計は 8,192 バイ ト )。

• コンプ リーシ ョ ン 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 が開始します。

X-Ref Target - Figure 5-3

図 5‐3: システムの概要

PCIe RootComplex

Memory Controller

Device

MainMemory

CPU

PCI Port

PCIeEndpoint

PCIeSwitch

PCI_BUS_X

PCI_BUS_1

PCI_BUS_0

X12472

Page 224: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 224

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

CPU が MMIO アドレス コマンドに格納レジスタを出力する と、データはダウンス ト リームに移動します。ルート コンプレッ クスは通常、 適切な MMIO ロケーシ ョ ン アドレス、 バイ ト イネーブル、 およびレジスタの内容を含むメモリ書き込み TLP を生成します。 エンドポイン トがこのメモ リ書き込み TLP を受信し、 対応するローカル レジスタをアップデートする と、 ト ランザクシ ョ ンは終了します。

CPU が MMIO アドレス コマンドからロード レジスタを出力する と、データはアップス ト リームに移動します。ルート コンプレッ クスは通常、 適切な MMIO ロケーシ ョ ン アドレスおよびバイ ト イ ネーブルのある メモ リ読み出し TLP を生成します。 エンドポイン トはこのメモリ読み出し TLP を受信した後に、 データ TLP と共にコンプリーシ ョンを生成します。 このコンプ リーシ ョ ンはルート コンプレッ クスに送信され、 ペイロードがターゲッ ト レジスタにロード される と、 ト ランザクシ ョ ンは完了します。

PIO ハードウェア

PIO デザインは、 PCIe 用エンドポイン トの背後にある FPGA ブロ ッ ク RAM に 8,192 バイ トのターゲッ ト空間をインプ リ メン ト します。 この 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 リ クエス トが う ま くいったこ とを示すステータス と共に、 データなしのコンプリーシ ョ ンを返します。

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 Request Descriptor[114:112] の該当ビッ ト (BAR ID[2:0]) をアサート します。

Page 225: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 225

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 の書き込みリ クエス ト コン ト ローラーへ、 これを渡すこ とができるよ うにします。

表 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 226: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 226

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

アサート された特定の 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 ステート マシンの制御ロジッ クを簡略化するために、この方法が採用されています。

メモリおよび 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 デザインではどちらでも使用できます。 データパスの幅は、 ターゲッ トになっているコアによって異なり ます。

表 5‐2: PIO ファイルの構造

ファイル 説明

PIO.v 上位デザインのラ ッパー

PIO_INTR_CTRL.v PIO 割り込みコン ト ローラー

PIO_EP.v PIO アプリ ケーシ ョ ン モジュール

Page 227: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 227

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

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-4 は、 PIO デザインのさまざまなコンポーネン ト を示しています。 PIO デザインは、 TX エンジン、 RX エンジン、 メモ リ アクセス コン ト ローラー、 パワー マネージメン ト ターンオフ コン ト ローラーという 4 つの主な部分に分かれています。

PIO_TO_CTRL.v PIO ターンオフ コン ト ローラー モジュール

PIO_RX_ENGINE.v 32 ビッ トの受信エンジン

PIO_TX_ENGINE.v 32 ビッ トの送信エンジン

PIO_EP_MEM_ACCESS.v エンドポイン ト メモ リ アクセス モジュール

PIO_EP_MEM.v エンドポイン ト メモ リ

表 5‐3: PIO コンフ ィギュレーシ ョ ン

コア X1 x2 x4 x8

PCIe 用統合ブロッ ク 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 デザインのコンポーネン ト

表 5‐2: PIO ファイルの構造 (続き)

ファイル 説明

X12455

UltraScale FPGA Gen3 Integrated Block for PCI Express (Configured as an Endpoint)

EP_TX EP_RX

PIO_TO_CTRLep_io_mem

ep_mem32

ep_mem64

ep_mem_erom

EP_MEM

PIO_EP

PIO

PIO_INTR_CTRL

Page 228: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 228

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

PIO の動作

PIO 読み出し ト ランザクシ ョ ン

図 5-5 は、 PIO デザインへの連続する メモ リ読み出し リ クエス ト を表しています。 受信エンジンは、 初の TLP が完全に受信される とすぐに、 m_axis_rx_tready をディアサート します。 次の読み出し ト ランザクシ ョ ンは、 送信エンジンが compl_done_o をアサート し、 初のリ クエス トが完全に送信されたこ とを示すコンプリーシ ョ ンが生成された後にのみ受け入れられます。

X-Ref Target - Figure 5-5

図 5‐5:連続する読み出し ト ランザクシ ョ ン

user_clk

m_axis_cq_tdata[63:0]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[1:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[3:0]) m_axis_cq_tuser[15:8]

(sop) m_axis_cq_tuser[40]

compl_done

m_axis_cc_tdata[63:0]

m_axis_cc_tvalid

m_axis_cc_tready

m_axis_cc_tkeep[1:0]

m_axis_cc_tlast

DS1DS0 DS3DS2 DS1DS0 DS3DS2

0x3

FIRST_BE FIRST_BE

LAST_BE LAST_BE

0

DS1DS0 DW0 DS2 - - DW1

0x3 0x1

Page 229: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 229

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

PIO 書き込みト ランザクシ ョ ン

図 5-6 は、 PIO デザインへの連続する メモ リ書き込みリ クエス ト を表しています。 次の書き込みト ランザクシ ョ ンは、 メモ リ アクセス ユニッ トが wr_busy_o をディアサート し、 初のリ クエス トに関連するデータがメモ リ アパーチャへすべて書き込まれたこ とを示した後にのみ受け入れられます。

デバイス使用率

表 5-4 に、 PIO デザインの FPGA リ ソース使用量を示します。

X-Ref Target - Figure 5-6

図 5‐6:連続する書き込みト ランザクシ ョ ン

user_clk

m_axis_cq_tdata[63:0]

m_axis_cq_tvalid

m_axis_cq_tready

m_axis_cq_tkeep[1:0]

m_axis_cq_tlast

(first_be) m_axis_cq_tuser[3:0]

(last_be) m_axis_cq_tuser[7:4]

(byte_en[3:0]) m_axis_cq_tuser[11:8]

(byte_en[7:4]) m_axis_cq_tuser[15:12]

(sop) m_axis_cq_tuser[40]

(discontinue) m_axis_cq_tuser[41]

wr_busy

compl_done

DS1DS0 DS3DS2 DW1DW0 DS1DS0 DS3DS2 DW1DW0

0x3

FIRST_BE FIRST_BE

LAST_BE LAST_BE

FIRST_BE FIRST_BE

0

0

0xF 0xF

X12522

表 5‐4: PIO デザインの FPGA リソース使用率

リソース 使用されているリソース数

LUT 300

フ リ ップフロ ップ 500

ブロ ッ ク RAM 4

Page 230: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 230

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

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

Vivado IDE で生成したルート ポート コンフ ィギュレーシ ョ ンの UltraScale Devices Gen3 Integrated Block for PCIe® には、 コンフ ィギュレーター サンプル デザインが含まれます。 これは、 ルート ポートの統合ブロ ッ クがエンドポイント との間でアプリ ケーシ ョ ン レベル ト ランザクシ ョ ンを開始するのに 小限必要なセッ ト アップを示した合成可能な軽量デザインです。

システムの概要

電源投入後、 システム内のデバイスが互いにアプリ ケーシ ョ ン固有の通信を開始する前に PCI Express デバイスはセッ ト アップを実行する必要があ り ます。 通信を開始するには、 PCI Express リ ンクで接続された少なく と も 2 つのデバイスがそれぞれのコンフ ィギュレーシ ョ ン空間を初期化し、 エニュ メ レーシ ョ ンを実行する必要があ り ます。

PCI Express のエニュ メ レーシ ョ ンと コンフ ィギュレーシ ョ ンを容易にするため、 ルート ポートはコンフ ィギュレーシ ョ ン読み出し (CfgRd) および書き込み (CfgWr) TLP をエンドポイン トやスイ ッチなどのダウンス ト リーム デバイスに送信し、 これらデバイスのコンフ ィギュレーシ ョ ン空間をセッ ト アップします。 このプロセスが完了する と、 メモ リ読み出し (MemRd TLP) および書き込み (MemWr TLP) など高次の通信を PCI Express システム内で実行できます。

こ こで説明するコンフ ィギュレーター サンプル デザインは、 接続された 1 つの PCI Express エンドポイン トのコンフ ィギュレーシ ョ ン空間のエニュ メ レーシ ョ ンと コンフ ィギュレーシ ョ ンに必要なコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンを実行し、 アプ リ ケーシ ョ ン固有の通信を実行できるよ うにします。

コンフ ィギュレーター サンプル デザインのハードウェア

コンフ ィギュレーター サンプル デザインは、 次に示す 4 つの上位ブロッ クで構成されます。

• ルート ポート : ルート ポート と してコンフ ィギュレーシ ョ ンした UltraScale Devices Gen3 Integrated Block for PCIe コア。

• コンフ ィギュレーター ブロ ッ ク : ルート ポートに接続された PCI Express エンドポイン トのコンフ ィギュレーシ ョ ン空間と通信する論理ブロ ッ ク。

• コンフ ィギュレーター ROM: コンフ ィギュレーシ ョ ン ト ランザクシ ョ ンをコンフ ィギュレーター ブロ ッ クに供給する読み出し専用メモ リ。

• PIO マスター : データ パケッ ト を交換し、 受信データが有効かど うかをチェッ クするこ とによってエンドポイン トに接続されたユーザー ロジッ ク と通信する論理ブロ ッ ク。 データ パケッ トは 1 DWORD に制限され、 CPU によって生成される ト ラフ ィ ッ クのタイプを表します。

注記: RTL コードでは、 コンフ ィギュレーター ブロ ッ ク、 コンフ ィギュレーター ROM、 およびルート ポートはコンフ ィギュレーター ラ ッパーと呼ばれる 1 つのラ ッパー ファ イルに論理的にグループ化されます。

提供されるコンフ ィギュレーター サンプル デザインは、ザイ リ ンクス Endpoint コアに含まれる PIO スレーブ サンプルと組み合わせて使用するよ うに設計されています (第 6 章 「テス トベンチ」 参照)。 PIO マスターはコンフ ィギュレーシ ョ ン ラ ッパーとの通信の方法を例と して示したもので、 これを使用する とブリ ングアップとデバッグが簡単に行えます。 コンフ ィギュレーター サンプル デザインを一部修正する と、 ほかのエンドポイン ト と組み合わせて使用できます。

Page 231: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 231

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

図 5-7 に、 コンフ ィギュレーター サンプル デザインの各コンポーネン ト を示します。

X-Ref Target - Figure 5-7

図 5‐7: コンフ ィギュレーター サンプル デザインのコンポーネン ト

PIO Master Configurator

Gen3Integrated BlockFor PCI Express(Configured as

Root Port)

Data Checker

Controller

PacketGenerator

Controller

CompletionDecoder

PacketGenerator

TX Mux

X14683

Page 232: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 232

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

図 5-8 に、 システム全体でブロ ッ クがどのよ うに接続されているかを示します。

コンフ ィギュレーター ブロック

コンフ ィギュレーター ブロ ッ クは CfgRd および CfgWr TLP を生成し、これらをルート ポート コンフ ィギュレーシ ョンの統合ブロ ッ クの AXI4-Stream インターフェイスに送信します。 コンフ ィギュレーター ブロッ クがどの TLP を生成するかは、 コンフ ィギュレーター ROM の内容によって決ま り ます。

どのコンフ ィギュレーシ ョ ン ト ラフ ィ ッ クを生成するかは、 個々のシステム要件に応じてユーザーが事前に決定します。 コンフ ィギュレーシ ョ ン ト ラフ ィ ッ クは、 コンフ ィギュレーターの一部と して合成される メモ リ初期化ファイル (コンフ ィギュレーター ROM) にエンコード されます。 コンフ ィギュレーター ブロ ッ ク と これに接続されたコンフ ィギュレーター ROM は、 実際のエンベデッ ド デザインの一部と して使用できるよ うに設計されています。

コンフ ィギュレーター ブロ ッ クはコンフ ィギュレーシ ョ ン ROM ファ イルを 1 行ずつ読み出し、そこに指定されている TLP を送信します。 サポート される TLP タイプはメ ッセージ、 データ付き メ ッセージ、 コンフ ィギュレーシ ョ ン書き込み (タイプ 0)、 およびコンフ ィギュレーシ ョ ン読み出し (タイプ 0) です。 コンフ ィギュレーシ ョ ン パケッ トの場合、 コンフ ィギュレーター ブロ ッ クはコンプリーシ ョ ンが返されてから次の TLP を送信します。 コンプ リーシ ョン TLP の各フ ィールドが期待値と一致しない場合、 PCI Express コンフ ィギュレーシ ョ ン エラーとなり ます。 ただしコンプ リーシ ョ ン TLP のデータ フ ィールドはチェッ ク対象には含まれず、 無視されます。

注記: コンフ ィギュレーター ブロ ッ クにはコンプリーシ ョ ン タイムアウ トのメカニズムがないため、 コンプリーシ ョ ンが返されない場合、 コンフ ィギュレーター ブロ ッ クはいつまでも待機します。

X-Ref Target - Figure 5-8

図 5‐8: コンフ ィギュレーター サンプル デザイン

Configurator Example Design

Integrated Root Port

Configurator Wrapper

ConfiguratorBlock

ConfiguratorROM

AXI4-Stream Interface

AXI4-Stream Interface Pass-Through

PIO Master

IntegratedEndpoint Model

PIO SlaveEndpoint Design

Root PortDUT forPCI Express

PCI Express Fabric

X14684

Page 233: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 233

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

コンフ ィギュレーター ブロ ッ クには次のパラ メーターがあ り、 これらはユーザーが変更できます。

• TCQ: デザインのすべてのレジスタによってモデル化される clock-to-out 遅延。

• EXTRA_PIPELINE: タイ ミ ングの目的で受信 AXI4-Stream インターフェイスに追加するパイプライン ステージの挿入を制御します。

• ROM_FILE: 実行するコンフ ィギュレーシ ョ ン手順を格納したファイルの名前。

• ROM_SIZE: データを格納した ROM_FILE の行数 (= 送信 TLP の数/2)。

• REQUESTER_ID: 送信される TLP のリ クエスター ID フ ィールドの値。

コンフ ィギュレーター ブロ ッ ク デザインを使用する場合、 すべての TLP ト ラフ ィ ッ クがコンフ ィギュレーター ブロ ッ クを通過する必要があ り ます。 コンフ ィギュレーシ ョ ン プロセスを開始するには、 コアが user_lnk_up をアサート した後にユーザー デザインが start_config 入力を 1 ク ロ ッ ク サイ クルの間アサートする必要があ り ます。start_config の後、 コンフ ィギュレーター ブロ ッ クはコンフ ィギュレーシ ョ ン ROM に指定されたコンフ ィギュレーシ ョ ン手順を実行します。 コンフ ィギュレーシ ョ ンの間、 コアの AXI4-Stream インターフェイスはコンフ ィギュレーター ブロ ッ クが制御します。 コンフ ィギュレーシ ョ ンの後、 すべての AXI4-Stream ト ラフ ィ ッ クはユーザー アプリ ケーシ ョ ン (このサンプル デザインでは PIO マスター ) を経由します。 コンフ ィギュレーシ ョ ンが終了する と、 finished_config がアサート されます。 何らかの理由によ り コンフ ィギュレーシ ョ ンが正し く完了しなかった場合、 failed_config もアサート されます。

PCIe® v2.2 5.0Gb/s リ ンクをサポート したシステムで使用する場合、 コンフ ィギュレーター ブロ ッ クはプロセスの開始時に 2.5Gb/s から 5.0Gb/s へのリ ンク アップ ト レーニングを試みます。 この機能は、 コンフ ィギュレーター ラ ッパーの LINK_CAP_MAX_LINK_SPEED パラ メーターで有効にします。

このコンフ ィギュレーターでは、 ユーザーは受信 AXI4-Stream インターフェイスに対して受信データ スロ ッ ト リ ングを実行できません。 このため、 スロ ッ ト リ ング制御用のルート ポート入力はコンフ ィギュレーター ラ ッパーには含まれません (m_axis_rx_tready と rx_np_ok)。 これはコンフ ィギュレーター サンプル デザインの制限であ り、ルート ポート コンフ ィギュレーシ ョ ンのコア自体にはこの制限はあ り ません。 したがって、 コンフ ィギュレーター サンプル デザインと接続するユーザー デザインは、 受信データをライン レートで受け入れる必要があ り ます。

コンフ ィギュレーター ROM

コンフ ィギュレーター ROM には、 PCI Express エンドポイン ト をコンフ ィギュレーシ ョ ンするために必要なコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンが格納されます。 この ROM はコンフ ィギュレーター ブロッ ク と接続し、 これらの ト ランザクシ ョ ンを PCI Express リ ンク経由で送信します。

このデザインに付属のサンプル ROM ファ イルは、 UltraScale Devices Gen3 Integrated Block for PCIe および PIO サンプル デザインのコンフ ィギュレーシ ョ ンに必要な動作を示しています。

コンフ ィギュレーター ROM は、 ほかのエンドポイン トおよび PCI Express システム ト ポロジに合わせてカスタマイズできます。 必要なコンフ ィギュレーシ ョ ン ト ランザクシ ョ ンは、 ルート ポート と通信するエンドポイン トによって異なり ます。 詳細は、 エンドポイン トのマニュアルを参照してください。

ROM ファ イルは、Verilog 仕様 (IEEE 1364-2001) セクシ ョ ン 17.2.8 ($readmemb 関数を使用してデータを RAM または ROM にプリ ロードする方法について説明したセクシ ョ ン) で定義されたフォーマッ トに準拠しています。 Verilog スタイルのコ メン ト を使用できます。

シ ミ ュレータまたは合成ツールはこのファイルを読み出し、 見つかった各メモ リ値を メモ リ内の 1 つの位置と して使用します。 数値を見やすくするためにアンダースコア (_) で区切るこ とができます。 この場合、 新しいメモリ位置とは見なされません。

指定された各コンフ ィギュレーシ ョ ン ト ランザクシ ョ ンは、 2 つの隣接する メモ リ ロケーシ ョ ンを使用します。

• 初のロケーシ ョ ンはヘッダー フ ィールドを指定します。 ヘッダー フ ィールドは偶数アドレスにあ り ます。

• 2 つ目のロケーシ ョ ンは 32 ビッ ト データ ペイロードを指定します。 CfgRd TLP とデータなし メ ッセージはロケーシ ョ ンを使用しませんが、 ロケーシ ョ ン自体は存在します。 データ ペイロードは奇数アドレスにあ り ます。

Page 234: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 234

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

ヘッダーについては、 メ ッセージと CfgRd/CfgWr TLP は異なるフ ィールドを使用します。すべての TLP については、2 ビッ トで TLP タイプを指定します。 メ ッセージについては、 メ ッセージ ルーティングと メ ッセージ コードを指定します。 CfgRd/CfgWr TLP については、 ファンクシ ョ ン番号、 レジスタ番号、 および 初の DWORD のバイ ト イネーブルを指定します。 具体的なビッ ト レイアウ トは、 サンプル ROM ファ イルを参照して ください。

PIO マスター

PIO マスターは、 ユーザー アプリ ケーシ ョ ン デザインがコンフ ィギュレーター ブロ ッ ク と通信する方法を示します。 PIO マスターはコンフ ィギュレーター ブロ ッ クに対して適切なタイ ミ ングで リ ンク パートナーをブリ ングアップするよ うに指示し、 ブ リ ングアップが正し く完了した後、 バス ト ラフ ィ ッ クを生成および消費します。 また、 エンドポイン ト コアから PCI Express リ ンクを経由して PIO スレーブ サンプル デザインに対して書き込みと読み出しを実行し、 リ ンクおよびエンドポイン トの基本動作を確認します。

PIO マスターは、 ルート ポートによって user_lnk_up がアサート されるまで待機します。 次にアサート される と、 コンフ ィギュレーター ブロ ッ クに対して start_config をアサート します。 コンフ ィギュレーター ブロ ッ クが finished_config をアサートする と、 PIO マスターは PIO スレーブ デザインの各 BAR に対して書き込みと読み出しを実行します。 書き込んだデータ と読み出したデータが一致している と、 PIO マスターは pio_test_finished 出力をアサート します。 データが一致しない場合、 またはコンフ ィギュレーター ブロ ッ クがエンドポイン ト を正し く コンフ ィギュレーシ ョ ンできなかった場合、 PIO マスターは pio_test_failed 出力をアサート します。pio_test_restart 入力を 1 ク ロ ッ ク サイクルの間アサートする と、 PIO マスターは動作を再開します。

コンフ ィギュレーター ファイルの構造

表 5-5 は、 コンフ ィギュレーター サンプル デザイン ファ イルの構造を説明しています。

表 5‐5:サンプル デザイン  ファイルの構造

ファイル 説明

xilinx_pcie_uscale_rp.v コンフ ィギュレーター サンプル デザインの 上位ラ ッパー ファ イル

cgator_wrapper.v コンフ ィギュレーターおよびルート ポートのラ ッパー

cgator.v コンフ ィギュレーター サブブロ ッ クのラ ッパー

cgator_cpl_decoder.v コンプリーシ ョ ン デコーダー

cgator_pkt_generator.v コンフ ィギュレーシ ョ ン TLP ジェネレーター

cgator_tx_mux.v 送信 AXI4-Stream 多重化 (MUX) ロジッ ク

cgator_gen2_enabler.v 5.0Gb/s への速度変更モジュール

cgator_controller.v コンフ ィギュレーター送信エンジン

cgator_cfg_rom.data コンフ ィギュレーター ROM ファ イル

pio_master.v PIO マスターのラ ッパー

pio_master_controller.v PIO マスターの TX および RX エンジン

pio_master_checker.v 入力されるユーザー アプリ ケーシ ョ ンのコンプリーシ ョ ン TLP のチェッ ク

pio_master_pkt_generator.v ユーザー アプリ ケーシ ョ ンの TLP の生成

Page 235: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 235

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

コンフ ィギュレーシ ョ ン サンプル デザインの階層は次のとおりです。

xilinx_pcie_uscale_rp.v

• cgator_wrapper

° pcie_uscale_core_top (ソース ディレク ト リ内)このディ レク ト リには、 ルート ポート コンフ ィギュレーシ ョ ンのコアのソース ファ イルがすべて含まれます。

° cgator

- cgator_cpl_decoder

- cgator_pkt_generator

- cgator_tx_mux

- cgator_gen2_enabler

- cgator_controller

このディ レク ト リには、 <cgator_cfg_rom.data> (ROM_FILE で指定) が含まれます。

• pio_master

° pio_master_controller

° pio_master_checker

° pio_master_pkt_generator

注記: cgator_cfg_rom.data は、 ROM データ ファ イルのデフォルト名です。 これは、 ROM_FILE パラ メーターの値を変更してオーバーライ ドできます。

まとめ

コンフ ィギュレーター サンプル デザインは、 ルート ポート と してコンフ ィギュレーシ ョ ンした場合の UltraScale Devices Gen3 Integrated Block for PCIe の機能をデモンス ト レーシ ョ ンと して示した合成可能デザインです。 Vivado IDE によって提供されるこのサンプルは、 PCI Express エニュ メ レーシ ョ ンおよびコンフ ィギュレーシ ョ ンのターゲッ ト と してエンドポイン ト PIO サンプルを使用します。 このデザインは、 ROM ファ イルの内容を変更する とほかのエンドポイン ト をターゲッ トにできます。

Page 236: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 236

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

コアの生成 

Vivado IDE でデフォルト値を使用してコアを生成するには、 次の手順に従います。

1. Vivado IP カタログを起動します。

2. [File] → [New Project] をク リ ッ ク します。

3. プロジェク ト名と ロケーシ ョ ンを入力して [Next] をク リ ッ ク します。 この例では、 project_name.cpg および project_dir を使用します。

4. New Project ウ ィザードのページでは、 ソース、 既存の IP、 または制約を追加しないでください。

5. [Part] タブ (図 5-9) で、 次のよ うにオプシ ョ ンを選択します。

° [Family]: Kintex® UltraScale

° [Device]: xcku040

° [Package]: ffva1156

° [Speed Grade]: -3

注記:サポート されないシリ コン デバイスを選択すると、 コア リ ス トのコアが淡色表示 (利用できない) されます。

6. 後に表示されるプロジェク ト サマリ ページで、 [OK] をク リ ッ ク します。

7. Vivado IP カタログで、 [Standard Bus Interfaces] → [PCI Express] を展開表示し、 [UltraScale Devices Gen3 Integrated Block for PCIe] コアをダブルク リ ッ ク して [Customize IP] ダイアログ ボッ クスを表示します。

8. [Component Name] にコアの名前を入力します。

注記: この例では、 <component_name> を使用します。

X-Ref Target - Figure 5-9

図 5‐9:デバイスの選択

Page 237: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 237

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

9. [Device/Port Type] ド ロ ップダウン メニューから、 コアの適切なデバイス /ポート タイプ (エンドポイン ト またはルート ポート ) を選択します。

10. [OK] をク リ ッ ク し、 デフォルトのパラ メーターを使用してコアを生成します。

11. デザインの [Sources] ウ ィンド ウで、 XCI ファ イルを右ク リ ッ ク して [Generate] をク リ ッ ク します。

12. [All] をク リ ッ ク して、 デフォルトのパラ メーターでコアを生成します。

X-Ref Target - Figure 5-10

図 5‐10: コンフ ィギュレーシ ョ ン  パラメーター

Page 238: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 238

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

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

サンプル デザインを使用する と、 Vivado Design Suite で生成した PCI Express エンドポイン トおよびルート ポート用コアのサンプル デザイン プロジェク トのビヘイビアーを簡単にシ ミ ュレーシ ョ ンして確認できます。

現在サポート されているシ ミ ュレータは次のとおりです。

• Vivado シ ミ ュレータ (デフォルト )

• Mentor Graphics 社 QuestaSim

• 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 Behavioral Simulation] をク リ ッ ク します。

重要: 合成後およびインプリ メンテーシ ョ ン後のシ ミ ュレーシ ョ ン オプシ ョ ンは、 PCI Express ブロ ッ クではサポート されていません。

[Run Behavioral Simulation] を実行した後、 [Tcl Console] ビューおよび [Log] ビューの [Simulation] タブで、 コンパイルおよびエラボレーシ ョ ン段階を確認できます。

3. Tcl コンソールで、 「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] のいずれかに設定します。

3. [Simulator] タブで、 [Run Simulation] → [Run Behavioral Simulation] をク リ ッ ク します。

4. プロンプ トが表示されたら、 変更するため [Yes] をク リ ッ ク し、 シ ミ ュレータを実行します。

Page 239: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 239

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 5 章:サンプル デザイン

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

エンドポイン ト コンフ ィギュレーシ ョ ンの UltraScale Devices Gen3 Integrated Block for PCIe コアで提供されているシミ ュレーシ ョ ン環境では、 PIO サンプル デザインに対して簡単なメモ リ アクセス テス トが実行されます。 ト ランザクシ ョ ンはルート ポート モデルによ り生成され、 PIO サンプル デザインがそれに応答します。

• PCI Express TLP ( ト ランザクシ ョ ン層パケッ ト ) はテス トベンチの送信ユーザー アプリ ケーシ ョ ン (pci_exp_usrapp_tx) によって生成されます。 これが TLP を送信する と、 ログ ファ イル (tx.dat) も生成されます。

• PCI Express TLP はテス トベンチの受信ユーザー アプリ ケーシ ョ ン (pci_exp_usrapp_rx) によって受信されます。 ユーザー アプリ ケーシ ョ ンが TLP を受信する と、 ログ ファ イル (rx.dat) も生成されます。

テス トベンチの詳細は、 240 ページの 「エンドポイン ト用ルート ポート モデル テス ト ベンチ」 を参照してください。

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

サンプル デザインの合成と インプリ メンテーシ ョ ンを行うには、 Vivado Design Suite で次の手順を実行します。

1. XCI ファ イルを右ク リ ッ ク して、 [Open IP Example Design] をク リ ッ ク します。

新しい Vivado ツールのウ ィンド ウに、 プロジェク ト ディレク ト リにある example_project という名前のプロジェク トが開きます。

2. Flow Navigator で [Run Synthesis] または [Run Implementation] をク リ ッ ク します。

ヒン ト : 合成と インプリ メンテーシ ョ ンの両方を実行する場合は、 [Run Implementation] を先にク リ ッ ク します。 合成、 インプ リ メンテーシ ョ ン、 ビッ ト ス ト リーム生成を実行するには、 [Generate Bitstream] をク リ ッ ク します。

Page 240: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 240

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6章

テストベンチこの章では、 Vivado® Design Suite で提供されているテス トベンチについて説明します。

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

PCI Express のルート ポート モデルは、 提供されている PIO (Programmed Input/Output) デザインまたはユーザー デザインで使用できるテス ト プログラム インターフェイスを提供するテス トベンチ環境です。 ルート ポート モデルは、カスタマー デザインをシ ミ ュレーシ ョ ンするため、 ダウンス ト リームの PCI Express TLP ト ラフ ィ ッ クを生成するソースを提供し、 また、 シ ミ ュレーシ ョ ン環境でカスタマー デザインからアップス ト リームの PCI Express TLP ト ラフ ィ ッ クを受信するデスティネーシ ョ ンを提供します。

テス トベンチを簡単に作成できるよ う、 ルート ポート モデルのソースコードが含まれています。 コンフ ィギュレーシ ョ ン空間の初期化、 TLP ト ランザクシ ョ ンの作成、 TLP ログの生成、 テス トの作成 ・検証のためのインターフェイスの提供といった大きな作業はすべて完了していて、 エンドポイン ト コアのテス トベンチのインフラス ト ラ クチャの開発に時間を費やすのではなく、 デザインの機能が正しいこ とを検証するこ とに時間が割けるよ うになっています。

ルート ポート モデルの構成は次のとおりです。

• テス ト プログラ ミ ング インターフェイス (TPI)。 PCI Express 用のエンドポイン ト デバイスをシ ミ ュレーシ ョ ンできます。

• テス ト プログラム TPI の使用方法を確認できるサンプル テス ト。

• すべてのルート ポート モデル コ ンポーネン トに対する Verilog ソースコー ド。 テス トベンチをカスタマイズできます。

Page 241: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 241

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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:ルート  ポート  モデルおよび最上位エンドポイン ト

Test Program

Endpoint DUT for PCI Express

PCI Express Fabric

Endpoint Core for PCI Express

PIO Design

dsport

usrapp_tx

usrapp_com

usrapp_rx

Output Logs

Root Port Model TPI for

Express

X12468

Page 242: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 242

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

シ ミ ュレーシ ョ ン  タイムアウトの設定

このコアのシ ミ ュレーシ ョ ン モデルは、 シ ミ ュレーシ ョ ン中に妥当な時間内でリ ンクが確立されるよ う、 タイムアウ ト を設定できます。『PCI Express Specification, rev. 2.1』 [参照 2] による と、Link Training Status State Machine (LTSSM) のステートに関連付けられたさまざまなタイムアウ トがあ り ます。 コアは、 タイムアウ ト を設定できない Recovery Speed_1 LTSSM ステート を除いて、 シ ミ ュレーシ ョ ンで 256 の係数でこれらのタイムアウ ト を設定します。

テストの選択

表 6-1 ではルート ポート モデルで提供されているテス トについて説明し、 その後のセクシ ョ ンでは Verilog テス トについて詳し く説明します。

Verilog テストの選択

ルート ポート モデルで使用される Verilog テス ト モデルでは、 実行されるテス ト名をコマンド ライン パラ メーターと してシ ミ ュレータに指定できます。

実行されるテス ト を変更する場合は、テス ト ファ イル sample_tests1.v および pio_tests.v に定義されている TESTNAME の値を変更します。 このメカニズムは、 Mentor Graphics QuestaSim で使用されています。 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) [参照 17] を参照してください。

Verilog フロー

ルート ポート モデルは、 +dump_all コマンド ライン パラ メーターをシ ミ ュレータに指定して、 保管するシ ミ ュレーシ ョ ン波形を出力するためのメカニズムを提供します。

表 6‐1:ルート  ポート  モデルで提供されるテスト

テスト名 Verilog でテスト 説明

sample_smoke_test0 VerilogPCI タイプ 0 コンフ ィギュレーシ ョ ン読み出し TLP を出力し、 コンプリーシ ョ ン TLP を待ちます。その後、返された値とデバイス /ベンダー ID を比較します。

sample_smoke_test1 Verilog

sample_smoke_test0 と同じ操作を実行しますが、 予期タスクを使用します。 このテス トでは 2 つのテス ト プログラム スレッ ドが用いられます。 1 つは PCI タイプ 0 コンフ ィギュレーシ ョ ン読み出し TLP を出力し、 も う 1 つはデータ TLP 予期タスクのあるコンプ リーシ ョ ンを出力します。 このテス トは予期タスクを利用するパラレル テス トです。ユーザー デザインからの TLP の受信を確認できます。 また、 TLP の順序が重要出ない場合の TLP の受信確認用にも使用できます。

Page 243: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 243

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

出力のログ

サンプル デザインまたはカスタマー デザインでテス ト エラーが発生した場合にそれらをデバッグします。 通常は、シ ミ ュレーシ ョ ン用の波形ファイルをチェッ ク して、 標準出力に対し表示されている メ ッセージと これを相互比較します。 しかし、 このアプローチは非常に時間がかかるため、 ルート ポート モデルには、 エラーの発生しているテス ト ケースのデバッグ プ ロセスをスピードアップさせるための出力ログ機能が含まれています。

ルート ポート モデルは、 各シ ミ ュレーシ ョ ンの実行で 3 つのファイル (tx.dat、 rx.dat、 および error.dat) を生成します。 ログ ファ イルの rx.dat および tx.dat には、ルート ポート モデルで送信および受信されたすべての TLP が各ファイルに詳細に記録されています。

ヒン ト : 特定テス ト ケースで予想される TLP 伝送を理解していれば、 エラーを隔離しやすくな り ます。

ログ ファ イル error.dat は、 予期タスク と併用して使用します。 予期タスクを利用するテス ト プログラムは、 標準出力に一般的なエラーメ ッセージを生成します。 予期エラーが原因で発生した比較エラーについての詳細は、error.dat に記述されています。

パラレル テスト  プログラム

ルート ポート モデルでサポート されているテス トには 2 つのタイプがあ り ます。

• シーケンシャル テス ト : 1 つのプロセス内に複数のテス トが含まれ、 シーケンシャル プログラムと類似した動作をします。 244 ページの 「テス ト プログラム: 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 244: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 244

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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 245: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 245

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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:0

11:0

3:0

ルート ポート モデルからのタイプ 0 PCI Express コンフ ィギュレーシ ョ ン読み出し TLP を、 tag_ および first_dw_be_ 入力のある、 エンドポイン ト DUT の reg_addr に送信します。

エンドポイン ト DUT から返された CplD は、コンプリーター ID と してグローバル EP_BUS_DEV_FNS の内容を使用します。

TSK_TX_TYPE1_CONFIGURATION_READ

tag_

reg_addr_

first_dw_be_

7:0

11:0

3:0

ルート ポート モデルからのタイプ 1 PCI Express コンフ ィギュレーシ ョ ン読み出し TLP を、 tag_ および first_dw_be_ 入力のある、 エンドポイン ト DUT の reg_addr_ に送信します。

エンドポイン ト DUT から返された CplD は、コンプリーター ID と してグローバル EP_BUS_DEV_FNS の内容を使用します。

TSK_TX_TYPE0_CONFIGURATION_WRITE

tag_

reg_addr_

reg_data_

first_dw_be_

7:0

11:0

31:0

3:0

ルート ポート モデルからのタイプ 0 PCI Express コンフ ィギュレーシ ョ ン書き込み TLP を、 tag_ および first_dw_be_ 入力のある、 エンドポイン ト DUT の reg_addr_ に送信します。

エンドポイン ト DUT から返された CplD は、コンプリーター ID と してグローバル EP_BUS_DEV_FNS の内容を使用します。

Page 246: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 246

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

TSK_TX_TYPE1_CONFIGURATION_WRITE

tag_

reg_addr_

reg_data_

first_dw_be_

7:0

11:0

31:0

3:0

ルート ポート モデルからのタイプ 1 PCI Express コンフ ィギュレーシ ョ ン書き込み TLP を、 tag_ および first_dw_be_ 入力のある、 エンドポイン ト DUT の reg_addr_ に送信します。

エンドポイン ト DUT から返された CplD は、コンプリーター ID と してグローバル EP_BUS_DEV_FNS の内容を使用します。

TSK_TX_MEMORY_READ_32

tag_

tc_

len_

addr_

last_dw_be_

first_dw_be_

7:0

2:0

10:0

31:0

3:0

3:0

ルート ポート モデルからの PCI Express メモリ読み出し TLP を、 エンドポイン ト DUT の 32 ビッ ト メモリ アドレス addr_ に送信します。

リ クエス トは、 リ クエスター ID と してグローバル RP_BUS_DEV_FNS の内容を使用します。

TSK_TX_MEMORY_READ_64

tag_

tc_

len_

addr_

last_dw_be_

first_dw_be_

7:0

2:0

10:0

63:0

3:0

3:0

ルート ポート モデルからの PCI Express メモリ読み出し TLP を、 エンドポイン ト DUT の 64 ビッ ト メモリ アドレス addr_ に送信します。

リ クエス トは、 リ クエスター ID と してグローバル RP_BUS_DEV_FNS の内容を使用します。

TSK_TX_MEMORY_WRITE_32

tag_

tc_

len_

addr_

last_dw_be_

first_dw_be_

ep_

7:0

2:0

10:0

31:0

3:0

3:0

ルート ポート モデルからの PCI Express メモリ書き込み TLP を、 エンドポイン ト DUT の 32 ビッ ト メモリ アドレス addr_ に送信します。

リ クエス トは、 リ クエスター ID と してグローバル RP_BUS_DEV_FNS の内容を使用します。

グローバル DATA_STORE バイ ト アレイは、書き込みデータをタスクに渡すために使用されます。

TSK_TX_MEMORY_WRITE_64

tag_

tc_

len_

addr_

last_dw_be_

first_dw_be_

ep_

7:0

2:0

10:0

63:0

3:0

3:0

ルート ポート モデルからの PCI Express メモリ書き込み TLP を、 エンドポイン ト DUT の 64 ビッ ト メモリ アドレス addr_ に送信します。

リ クエス トは、 リ クエスター ID と してグローバル RP_BUS_DEV_FNS の内容を使用します。

グローバル DATA_STORE バイ ト アレイは、書き込みデータをタスクに渡すために使用されます。

表 6‐3: TLP タスク  (続き)

名称 入力 説明

Page 247: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 247

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

TSK_TX_COMPLETION

req_id_

tag_

tc_

len_

comp_status_

15:0

7:0

2:0

10:0

6:0

グローバル RP_BUS_DEV_FNS をコンプリーター ID と して、 req_id_ input を リ クエスター ID と して使用し、 PCI Express コンプリーシ ョ ン TLP をルート ポート モデルからエンドポイン ト DUT に送信します。

comp_status_ input は、 次のいずれかに設定できます。

3'b000 = ト ランザクシ ョ ンが正常に完了

3'b001 = サポート されないリ クエス ト

3'b010 = コンフ ィギュレーシ ョ ン リ クエス トの リ ト ラ イ ステータス

3'b100 = コンプリーターの中断

TSK_TX_COMPLETION_DATA

req_id_

tag_

tc_

len_

byte_count_

lower_addr_

comp_status_

ep_

15:0

7:0

2:0

10:0

11:0

6:0

2:0

グローバル RP_BUS_DEV_FNS をコンプリーター ID と して、 req_id_ input を リ クエスター ID と して使用し、 PCI Express のデータ付きコンプリーシ ョ ン TLP をルート ポート モデルからエンドポイン ト DUT に送信します。

TSK_TX_MESSAGE

tag_

tc_

len_

data_

message_rtg_

message_code_

7:0

2:0

10:0

63:0

2:0

7:0

PCI Express メ ッセージ TLP をルート ポート モデルからエンドポイン ト DUT 送信します。

リ クエス トは、 リ クエスター ID と してグローバル RP_BUS_DEV_FNS の内容を使用します。

TSK_TX_MESSAGE_DATA

tag_

tc_

len_

data_

message_rtg_

message_code_

7:0

2:0

10:0

63:0

2:0

7:0

PCI Express のデータ付き メ ッセージ TLP をルート ポート モデルからエンドポイン ト DUT に送信します。

グローバル DATA_STORE バイ ト アレイは、メ ッセージ データをタスクに渡すために使用されます。

リ クエス トは、 リ クエスター ID と してグローバル RP_BUS_DEV_FNS の内容を使用します。

TSK_TX_IO_READ

tag_

addr_

first_dw_be_

7:0

31:0

3:0

PCI Express I/O 読み出し TLP を、 ルート ポート モデルからエンドポイン ト DUT の I/O アドレス addr_[31:2] に送信します。

リ クエス トは、 リ クエスター ID と してグローバル RP_BUS_DEV_FNS の内容を使用します。

TSK_TX_IO_WRITE

tag_

addr_

first_dw_be_

data

7:0

31:0

3:0

31:0

PCI Express I/O 書き込み TLP を、 ルート ポート モデルからエンドポイン ト DUT の I/O アドレス addr_[31:2] に送信します。

リ クエス トは、 リ クエスター ID と してグローバル RP_BUS_DEV_FNS の内容を使用します。

表 6‐3: TLP タスク  (続き)

名称 入力 説明

Page 248: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 248

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

TSK_TX_BAR_READ

bar_index

byte_offset

tag_

tc_

2:0

31:0

7:0

2:0

PCI Express の 1 Dword のメモ リ 32、 メモ リ 64、または I/O 読み出し TLP をルート ポート モデルから、 エンドポイン ト DUT の BAR bar_index からの byte_offset に対応するターゲッ ト アドレスに送信します。 このタスクは、 BAR bar_index が初期化中にどのよ うにコンフ ィギュレーシ ョ ンされているかに基づいて、 該当する読み出し TLP を送信します。このタスクは、 TSK_BAR_INIT が完了した後にのみ呼び出すこ とができます。

リ クエス トは、 リ クエスター ID と してグローバル RP_BUS_DEV_FNS の内容を使用します。

TSK_TX_BAR_WRITE

bar_index

byte_offset

tag_

tc_

data_

2:0

31:0

7:0

2: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 タスク  (続き)

名称 入力 説明

Page 249: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 249

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

TSK_TX_SYNCHRONIZE

first_

active_

last_call_

tready_sw_

-

-

-

-

AXI4-Stream リ クエスター リ クエス ト またはコンプリーター コンプリーシ ョ ン インターフェイスの Ready 信号のアサート を待機し、ログファ イルの出力を現在アクティブの各トランザクシ ョ ンに同期させます。

first_ input はパケッ トの開始を示します。

active_ input は、 ト ランザクシ ョ ンが現在処理中であるこ とを示します。

last_call_ input はパケッ トの終了を示します。

tready_sw input は、 リ クエスター リ クエス トまたはコンプリーター コンプリーシ ョ ン インターフェイスの Ready 信号を選択します。

TSK_BUILD_RC_TO_PCIE_PKT

rc_data_QW0

rc_data_QW1

m_axis_rc_tkeep

m_axis_rc_tlast

63:0

63:0

KEEP_WIDTH-1:0

-

ログ作成のため、 リ クエスター コンプリーシ ョ ン インターフェイスの AXI4-Stream パケッ ト をディ スク リプター パケッ ト フォーマッ トから PCIe TLP パケッ ト フォーマッ トに変換します。

TSK_BUILD_CQ_TO_PCIE_PKTcq_datacq_bem_axis_cq_tdata

63:07:063:0

ログ作成のため、コンプリーター リ クエス ト インターフェイスの AXI4-Stream パケッ ト をディ スク リプター パケッ ト フォーマッ トから PCIe TLP パケッ ト フォーマッ トに変換します。

TSK_BUILD_CPLD_PKT

cq_addr

cq_be

m_axis_cq_tdata

63:0

7:0

63:0

エンドポイン ト DUT から受信したメモ リ読み出しに対してコンプリーシ ョ ンまたはデータ付きのコンプリーシ ョ ンを返します。

表 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 250: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 250

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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_BUSbar_index

nBytes

2:0

31:0

入力 bar_index がポイン ト している I/O またはメモ リ アドレスで開始するアドレス テス ト を実行して、 PIO デザインの FPGA ブロ ッ ク RAM アドレス バス インターフェイスが正しく接続されているかど うかをテス ト します。

しっかり とテス ト を実行するには、 PIO デザインで使用されている各ブロ ッ ク RAM に対し 1 回ずつ、このタスクを 4 回呼び出します。 さ らに、 nBytes 入力で個々のブロ ッ ク RAM の全体的なサイズを指定する必要があ り ます。

TSK_MEM_TEST_DEVICEbar_index

nBytes

2:0

31:0

入力 nBytes で指定された範囲で、 入力 bar_index によ りポイン ト されているブロ ッ ク RAM で始まるすべてのビッ トに対し、 インク リ メン ト /デク リ メン ト テス ト を実行するこ とによって、PIO デザインの FPGA ブロ ッ ク RAM の各ビッ トの整合性をテス ト します。

しっかり とテス ト を実行するには、 PIO デザインで使用されている各ブロ ッ ク RAM に対し 1 回ずつ、このタスクを 4 回呼び出します。 さ らに、 nBytes 入力で個々のブロ ッ ク RAM の全体的なサイズを指定する必要があ り ます。

Page 251: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 251

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

TSK_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_class

td

ep

attr

length

completer_id

completer_status

bcm

byte_count

requester_id

tag

address_low

2:0

-

-

1:0

10:0

15:0

2:0

-

11:0

15:0

7:0

6:0

予想ステータス

traffic_class、 td、 ep、 attr、 length、 payload が一致するデータ付きのコンプリーシ ョ ン TLP を待ちます。

正し く完了する と 1 が返され、 それ以外の場合は 0 が返されます。

TSK_EXPECT_CPL

traffic_class

td

ep

attr

completer_id

completer_status

bcm

byte_count

requester_id

tag

address_low

2:0

-

-

1:0

15:0

2:0

-

11:0

15:0

7:0

6:0

予想ステータス

traffic_class、 td、 ep、 attr、 length が一致するデータなしのコンプリーシ ョ ン TLP を待ちます。

正し く完了する と 1 が返され、 それ以外の場合は 0 が返されます。

Page 252: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 252

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

TSK_EXPECT_MEMRD

traffic_class

td

ep

attr

length

requester_id

tag

last_dw_be

first_dw_be

address

2:0

-

-

1:0

10:0

15:0

7:0

3:0

3:0

29:0

予想ステータス

ヘッダー フ ィールドが一致する 32 ビッ トのアドレス メモ リ読み出し TLP を待ちます。

正し く完了する と 1 が返され、 それ以外の場合は 0 が返されます。 このタスクは、 バス マスター デザインと併用する場合にのみ使用できます。

TSK_EXPECT_MEMRD64

traffic_class

td

ep

attr

length

requester_id

tag

last_dw_be

first_dw_be

address

2:0

-

-

1:0

10:0

15:0

7:0

3:0

3:0

61:0

予想ステータス

ヘッダー フ ィールドが一致する 64 ビッ トのアドレス メモ リ読み出し TLP を待ちます。正し く完了する と 1 が返され、 それ以外の場合は 0 が返されます。

このタスクは、 バス マスター デザインと併用する場合にのみ使用できます。

TSK_EXPECT_MEMWR

traffic_class

td

ep

attr

length

requester_id

tag

last_dw_be

first_dw_be

address

2:0

-

-

1:0

10:0

15:0

7:0

3:0

3:0

29:0

予想ステータス

ヘッダー フ ィールドが一致する 32 ビッ トのアドレス メモ リ書き込み TLP を待ちます。正し く完了する と 1 が返され、 それ以外の場合は 0 が返されます。

このタスクは、 バス マスター デザインと併用する場合にのみ使用できます。

TSK_EXPECT_MEMWR64

traffic_class

td

ep

attr

length

requester_id

tag

last_dw_be

first_dw_be

address

2:0

-

-

1:0

10:0

15:0

7:0

3:0

3:0

61:0

予想ステータス

ヘッダー フ ィールドが一致する 64 ビッ トのアドレス メモ リ書き込み TLP を待ちます。正し く完了する と 1 が返され、 それ以外の場合は 0 が返されます。

このタスクは、 バス マスター デザインと併用する場合にのみ使用できます。

表 6‐6:予期タスク  (続き)

名称 入力 出力 説明

Page 253: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 253

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 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): エンドポイン トのサンプル デザイン」 を参照してください。

TSK_EXPECT_IOWR

td

ep

requester_id

tag

first_dw_be

address

data

-

-

15:0

7:0

3:0

31:0

31:0

予想ステータス

ヘッダー フ ィールドが一致する I/O 書き込み TLP を待ちます。 正し く完了する と 1 が返され、 それ以外の場合は 0 が返されます。

このタスクは、 バス マスター デザインと併用する場合にのみ使用できます。

表 6‐6:予期タスク  (続き)

名称 入力 出力 説明

Page 254: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 254

PG156 2017 年 10 月 4 日 japan.xilinx.com

第 6 章: テストベンチ

デザインのシミ ュレーシ ョ ン

Mentor Graphics QuestaSim Simulator を使用するシ ミ ュレーシ ョ ンをサポートするために、 シ ミ ュレーシ ョ ン スク リプ ト (simulate_mti.do) がモデルと共に提供されています。

サンプルのシ ミ ュレーシ ョ ン スク リプ トは、 次のディレク ト リ内に含まれています。

<project_dir>/<component_name>/simulation/functional

エンドポイン ト モデルを使用するコンフ ィギュレーター サンプル デザインのシ ミ ュレーシ ョ ン手順は、 第 4 章の「シ ミ ュレーシ ョ ン」 を参照してください。

注記: Cadence IES の場合、 次の作業コンス ト ラ ク ト を手動で cds.lib ファ イルに挿入する必要があ り ます。

DEFINE WORK WORK

シミ ュレーシ ョ ン  タイムアウトの設定

このコアのシ ミ ュレーシ ョ ン モデルは、 シ ミ ュレーシ ョ ン中に妥当な時間内でリ ンクが確立されるよ う、 タイムアウ ト を設定できます。『PCI Express Specification, rev. 2.1』 [参照 2] による と、Link Training Status State Machine (LTSSM) のステートに関連付けられたさまざまなタイムアウ トがあ り ます。 コアは、 タイムアウ ト を設定できない Recovery Speed_1 LTSSM ステート を除いて、 シ ミ ュレーシ ョ ンで 256 の係数でこれらのタイムアウ ト を設定します。

波形ダンピング

シ ミ ュレータ波形のダンピングの詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 17] を参照してください。

出力のログ

テス トベンチはメ ッセージを出力し、 シ ミ ュレーシ ョ ン ログに記録されます。 このログには次のものが発生した時間が記録されています。

• user_reset がディアサート された時間

• user_lnk_up がアサート された時間

• cfg_done がコンフ ィギュレーターによ りアサート された時間

• pio_test_finished が PIO マスターによ りアサート された時間

• シミ ュレーショ ン タイムアウ ト (pio_test_finished または pio_test_failed がアサート されなかった場合)

Page 255: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 255

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 A

アップグレードこの付録では、 新版 IP コアへのアップグレードについて説明します。

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

このセクシ ョ ンでは、 Vivado® Design Suite でこの IP コアの 新版にアップグレードする際の、 ユーザー ロジッ クおよびポートの変更について説明します。

パラメーターの変更点

表 A-1 に、 新版コアのパラ メーターの変更点をまとめています。

ポートの変更点

[Shared Logic] ページで [Include GT Wizard in core] をオンにした場合、 表 A-2 に示すポートが追加されます。

表 A‐1:パラメーターの変更点

ユーザー パラメーター名 表示名  新規/変更/削除  詳細デフォルト

ext_xvc_vsec_enableAdd the PCIe XVC-VSEC to the Example Design 新規

オンにする と、 PCIe XVC-VSEC がサンプル デザインに追加されます。オンにする場合は、 PCIe 拡張コンフ ィギュレーシ ョ ン空間を有効にする必要があ り ます。

False

表 A‐2: GT Wizard をコアに含めた場合に追加されるポート

名称 方向 幅 (選択したリンク幅による)

rxdfeagchold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfecfokhold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfelfhold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfekhhold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap2hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap3hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap4hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap5hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap6hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

Page 256: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 256

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 A: アップグレード

MSI-X を有効にする と、 表 A-3 に示すポートがコア境界に追加されます。

rxdfetap7hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap8hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap9hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap10hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap11hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap12hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap13hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap14hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfetap15hold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfeuthold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxdfevphold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxoshold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxlpmgchold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxlpmhfhold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxlpmlfhold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

rxlpmoshold_in 出力 PL_LINK_CAP_MAX_LINK_WIDTH

表 A‐3: MSI‐X を有効にした場合に追加されるポート

名称 方向 幅 (選択したリンク幅による)

cfg_interrupt_msi_function_number 入力 4 ビッ ト

表 A‐2: GT Wizard をコアに含めた場合に追加されるポート  (続き)

名称 方向 幅 (選択したリンク幅による)

Page 257: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 257

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 A: アップグレード

7 シリーズ Gen2 コアから  UltraScale デバイス Gen3 コアへの移行

このセクシ ョ ンでは、 7 シ リーズ Gen2 コアから UltraScale™ デバイス Gen3 コアへの移行に必要な情報を示します。

注記: 7 シ リーズ Gen3 コアのインターフェイスは、 UltraScale デバイス Gen3 コアのインターフェイス と同じです。

7 シ リーズ Gen2 コアでは、 ユーザー アプリ ケーシ ョ ン側で PCIe パケッ ト を構成するため、 AXI4-Stream (および TRN) ペイロードのバイ ト順序は PCIe バスのバイ ト順序と一致します。 ただし UltraScale デバイス Gen3 v3.1 コアでは、 ディ スク リプター後のペイロードのバイ ト順序は AXI4-Stream プロ ト コルに準拠したエンディアンとな り ます。

AXI4-Stream TX および RX インターフェイスは、 「概要」 の図 1-1 を参照してください。

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 258: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 258

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 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_tlast

m_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_tstrbm_axis_rc_tkeep および

m_axis_rc_tuser

「m_axis_rx_tstrb (64 ビッ ト インターフェイス専用)」 参照

Page 259: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 259

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 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‐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]Poisonedcompletion

データ バス上にディスク リプターが存在する場合のみ有効 (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_0

is_sof_1

256 ビッ ト RC インターフェイスにはス トラ ドル オプシ ョ ンがあ り ます。 このオプシ ョ ンを有効にすると、 コアは、 同じビート内に 2 つのコンプリーシ ョ ン TLP をス トラ ドルできます。

is_sof_1 は、 256 ビット インターフェイスでス ト ラ ドル オプシ ョ ンが有効な場合のみ使用されます。

表 A‐7: AXI4‐Stream RC インターフェイス信号のマッピング (続き)

AXI4‐Stream (基本) 受信インターフェイス名

AXI4‐Stream (強化型) RC インターフェイス名

異なる点

Page 260: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 260

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 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‐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 N/A なし

tx_cfg_gnt N/A なし

表 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

表 A‐9: m_axis_rx_tuser の RC インターフェイス信号 (続き)

AXI4‐Stream 受信インターフェイス名

ニーモニックAXI4‐Stream コンプリーター

リクエスト  インターフェイス名ニーモニック 注記

Page 261: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 261

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 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 N/A N/A 同等信号なし

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 N/A この機能は存在しない

tx_cfg_gnt N/A この機能は存在しない

表 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 262: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 262

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 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 N/A N/A 同等信号なし

s_axis_tx_tuser[2] t_src_dsc s_axis_rq_tuser[11] discontinue同等

機能

Page 263: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 263

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 A: アップグレード

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

表 A-17 では、 コアが提供するその他のインターフェイスについて説明しています。

表 A‐17: コアが提供するその他のインターフェイス

インターフェイス 説明 注記

送信フロー制御 コアが提供するフロー制御情報を要求するためにユーザー アプリ ケーシ ョ ンが使用します。

コアへのフロー制御入力の設定に基づいて、 このインターフェイスはユーザー アプリ ケーシ ョ ンに次を提供します。

• ポステッ ド /ノンポステッ ド ヘッダー フロー制御クレジッ ト

• ポステッ ド /ノンポステッ ド データフロー制御クレジッ ト

• コンプリーシ ョ ン ヘッダー フロー制御クレジッ ト

• コンプリーシ ョ ン データフロー制御クレジッ ト

類似機能

コンフ ィギュレーシ ョ ンマネージメン ト

コンフ ィギュレーシ ョ ン空間レジスタの読み出しおよび書き込みに使用します。

類似機能

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

コアのコンフ ィギュレーシ ョ ン状況を示す情報 (ネゴシエート された リ ンク幅やスピード、 コアの電力ステート、 コンフ ィギュレーシ ョ ン エラー ) を提供します。

コンフ ィギュレーシ ョ ン専用レジスタのポート と類似機能

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

リ ンクからのデコード可能なメ ッセージ、 データに関連するパラ メーター、 受信されたメ ッセージ タイプのロジッ クを示します。

受信メ ッセージ TLP のステータス ポート と類似機能

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

ユーザー アプリ ケーシ ョ ンがコアへメ ッセージを送信する場合に使用されます。 ユーザー アプリ ケーシ ョ ンが送信メ ッセージ タイプとデータ情報をコアへ提供し、 それに対して Done 信号で応えます。

ファンクシ ョ ンごとのステータス

選択したファンクシ ョ ンを介して、 ユーザー アプリ ケーシ ョ ンからのリ クエス ト を受けてステータス データを提供します。

エラー レポーティング ポート と類似機能

コンフ ィギュレーシ ョ ン制御

ユーザー アプリ ケーシ ョ ンと コア間でさまざまな情報を送受信可能にします。 ユーザー アプリ ケーシ ョ ンはこのインターフェイスを使用して次を行います。

• コンフ ィギュレーシ ョ ン空間の設定

• 修正可能/修正不可能なエラーの有無

• デバイスのシ リ アル番号の設定

• ダウンス ト リーム バス、 デバイス、 およびファンクシ ョン番号の設定

• ファンクシ ョ ンごとのコンフ ィギュレーシ ョ ン情報の受信

また、 このインターフェイスは、 電力ステートが変更されたり、 ファンクシ ョ ン レベルのリセッ トが生じた場合に、ユーザー アプリ ケーシ ョ ンと コア間のハンドシェイ クを実行します。

パワー マネージメン ト ポート と類似機能

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

ユーザー アプリ ケーシ ョ ンがレガシ PCIe 割り込み、 MSI 割り込み、 または MSI-X 割り込みをセッ トできます。 コアは、送信されるコンフ ィギュレーシ ョ ン割り込みに割り込みステータスおよびエラー信号を提供します。

割り込みの生成およびステータス ポート と類似機能

コンフ ィギュレーシ ョ ン 拡張

外部にコンフ ィギュレーシ ョ ン レジスタが実装されている場合、 コアがコンフ ィギュレーシ ョ ン情報をユーザー アプリ ケーシ ョ ンへ送信するこ とが可能になり ます。

Received Configuration TLP のステータス ポート と類似機能

Page 264: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 264

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 A: アップグレード

UltraScale デバイスの PCI Express デザインのパッケージ移行

UltraScale ポート フォ リオは、 同じパッケージ フッ トプ リ ン ト を共有する多くのデバイスを提供しています。 この移行パスによって、 デバイス間でのデザインの移行が簡単に行えるため、 デザイン サイズの変更が可能になり、 またよ り多くの DSP ブロ ッ クが必要になる場合は Virtex® から Kintex® へ移行するなど、 特定の機能を充実させるこ とが可能になり ます。

ほとんどの PCI Express コンフ ィギュレーシ ョ ンは 1 つのパッケージで簡単に移行できますが、特定 PCI Express インプ リ メンテーシ ョ ンの移行が不可能なデザインおよび設定もあ り ます。 このセクシ ョ ンでは、 デバイス間で自由に移行できる PCI Express デザインの作成方法を説明する と同時に、 移行できないピンの割り当てについても説明します、

UltraScale ファ ミ リ全体のピン移行の詳細は、 『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583) [参照 10] を参照して ください。

配置規則

Vivado IP カタログから提供される UltraScale Devices 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 の位置を推奨しています。 GTH の位置は変更できますが、 その場合、 タイ ミ ング クロージャの達成を保証できません。

Vivado 2014.3 ツールのリ リース以降、 デザインで使用する GT の位置をよ り柔軟に選択できるよ うにな り ました。ユーザーは次を選択できます。

• レーン 0 を配置する PCIe ブロ ッ クおよび GTH クワ ッ ドの位置

• GT クワ ッ ドの位置 (PCIe ブロ ッ ク よ り 1 ク ロ ッ ク領域上、 同じ領域、 または 1 ク ロ ッ ク領域下)

クワ ッ ドの位置を選択する と、 残りの GTH の位置は選択した リ ンク幅に基づいて制約されます。 利用可能な GTH は、 SLR の境界や結合されていない GT の影響を受けます。 x8 リ ンク幅が選択されている場合、 使用する 2 つの GTH は隣接配置する必要があ り ます。

Page 265: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 265

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 A: アップグレード

図 A-1 では、 x8 PCIe リ ンク幅の場合に、 それぞれの 初の GTH クワ ッ ドの位置にどのよ うにレーンが配置されているかを示しています。

スタ ック ド  シリコン  インターコネク ト  (SSI) デバイス

SSI デバイスを使用する場合、 PCI Express ハード ブロッ クおよびこのブロッ クに接続された GTH クワ ッ ドは、同じ SRL (Super Logic Region) に配置する必要があ り ます。

図 A-2 に、A2377 パッケージの XCVU125 デバイスを示します。 ロケーシ ョ ン Y2 の PCIe 統合ブロッ クがバンク 228 の GTH を選択するこ とは、 SLR 境界を超えてしま うため不可能です。

X-Ref Target - Figure A-1

図 A‐1: GTH クワッ ドの位置

PCIe Yx

GT

3

0

1

2

C

7

4

5

6

PCIe Yx

GT

3

0

1

2

C

7

4

5

6

PCIe Yx

GT

3

0

1

2

C

7

4

5

6

GTC

GT GT

X14330

Page 266: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 266

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 A: アップグレード

X-Ref Target - Figure A-2

図 A‐2: A2377 パッケージの XCVU125 デバイス

XCVU125 A2377

PCIe Y0

PCIe Y1

PCIe Y2

GT35-32232

GT39-36233

PCIe Y3

GT3-0224

GT7-4225

GT11-8226

GT15-12227

GT19-16228

GT23-20229

GT27-24230

GT31-28231

224

225

226

227

228

229

230

231

232

2

X14329

233

Page 267: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 267

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 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 268: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 268

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 A: アップグレード

5. 場合によっては、 新しいロケーシ ョ ン制約を生成するために、 IP をコンパイルし直す必要があ り ます。 その場合は、 Vivado IDE を使用して、 IP の設定で PCI Express のロケーシ ョ ンをアップデート し、 その後、 コアを生成します。

X-Ref Target - Figure A-3

図 A‐3:移行の例

X14331

XCVU095D1517

GT3-0224

PCIe Y0

Tan.

GT7-4225

GT11-8226

GT15-12227

GT19-16228

PCIe Y1

PCIe Y2

GT23-20229

GT27-24230

GT31-28231

PCIe Y3

XCVU125 D1517

PCIe Y0

Tan.

PCIe Y1

PCIe Y2

GT35-32232

GT39-36233

PCIe Y3

GT3-0224

GT7-4225

GT11-8226

GT15-12227

GT19-16228

GT23-20229

GT27-24230

GT31-28231

224

225

226

227

228

229

230

231

224

225

226

227

228

229

230

231

232

X8 X8

Page 269: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 269

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 A: アップグレード

Tandem コンフ ィギュレーシ ョ ンの移行

同じパッケージの異なるデバイス間で Tandem コンフ ィギュレーシ ョ ン デザインを移行する手順は非常にシンプルです。 Tandem PCIe をサポートする PCI Express ブロ ッ クが選択されているこ とを確認して ください。

重要: Tandem PCIe は、 各デバイスで 1 PCIe ハード ブロ ッ クに対してのみサポート されます。

Tandem をサポートする PCI Express ブロ ッ クのロケーシ ョ ンおよび専用リセッ ト ピンの一覧は、表 3-2 を参照してください。

Page 270: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 270

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B

GT のロケーシ ョ ンこの付録では、 この IP コアの推奨される GT ロケーシ ョ ン一覧を提供します。

FPGA パッケージ ピンは、 表 B-1 と表 B-21 に示す GT ロケーシ ョ ンから直接得られます。 このガイ ドでは、 デバイス パッケージ間で異なる特定のパッケージ ピンについては言及していません。 Vivado [Device] ビューから、 次のコマンドを使用して FPGA パッケージ ピンとそれらに関連する特定 GT ロケーシ ョ ンのファンクシ ョ ンをプ リ ン ト アウ ト します。

foreach pin [get_package_pins -of_objects [get_sites GTHE3_CHANNEL_<location>]] {puts "Pin $pin: function [get_property PIN_FUNC $pin]"}

その他に選択可能なロケーシ ョ ンについては、 付録 A の 「UltraScale デバイスの PCI Express デザインのパッケージ移行」 を参照してください。

Kintex UltraScale デバイスの GT ロケーシ ョ ン

表 B-1 ~ B-20 に、 Kintex® UltraScale™ デバイスの推奨される GT ロケーシ ョ ンを示します。

注記:静的な GT ロケーシ ョ ンを使用する場合、 x8 リ ンク幅はサポート されません。 ただし、 Advanced モードの [Enable GT Quad Selection] で GT 選択モードを有効にする と、 これらの PCIe ブロ ッ クに対して x8 リ ンク幅を選択できます。 詳細は、「UltraScale デバイスの PCI Express デザインのパッケージ移行」 を参照して ください。

表 B‐1: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FFVA1156

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FFVA1156 XCKU025 X0Y0

レーン 0 X0Y7 X0Y7 X0Y7 X0Y7

レーン 1 X0Y6 X0Y6 X0Y6

レーン 2 X0Y5 X0Y5

レーン 3 X0Y4 X0Y4

レーン 4 X0Y3

レーン 5 X0Y2

レーン 6 X0Y1

レーン 7 X0Y0

Page 271: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 271

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐2: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FBVA676 および FBVA900

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FBVA676

FBVA900

XCKU035

XCKU040

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

表 B‐3: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – RBA676

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

RBA676 XQKU040

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 272: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 272

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐4: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – SFVA784

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

SFVA784XCKU035

XCKU040X0Y0

レーン 0 X0Y7 X0Y7 X0Y7 X0Y7

レーン 1 X0Y6 X0Y6 X0Y6

レーン 2 X0Y5 X0Y5

レーン 3 X0Y4 X0Y4

レーン 4 X0Y3

レーン 5 X0Y2

レーン 6 X0Y1

レーン 7 X0Y0

Page 273: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 273

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐5: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FFVA1156

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FFVA1156

XCKU035

XCKU040

XCKU095

X0Y0

レーン 0 X0Y7 X0Y7 X0Y7 X0Y7

レーン 1 X0Y6 X0Y6 X0Y6

レーン 2 X0Y5 X0Y5

レーン 3 X0Y4 X0Y4

レーン 4 X0Y3

レーン 5 X0Y2

レーン 6 X0Y1

レーン 7 X0Y0

XCKU035

XCKU040

XCKU095

X0Y1

レーン 0 X0Y15 X0Y15 X0Y15 X0Y15

レーン 1 X0Y14 X0Y14 X0Y14

レーン 2 X0Y13 X0Y13

レーン 3 X0Y12 X0Y12

レーン 4 X0Y11

レーン 5 X0Y10

レーン 6 X0Y9

レーン 7 X0Y8

XCKU060

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

XCKU040

XCKU095

X0Y2

レーン 0 X0Y19 X0Y19 X0Y19

サポート されないレーン 1 X0Y18 X0Y18

レーン 2 X0Y17

レーン 3 X0Y16

XCKU060

レーン 0 X1Y19 X1Y19 X1Y19

サポート されないレーン 1 X1Y18 X1Y18

レーン 2 X1Y17

レーン 3 X1Y16

Page 274: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 274

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐6: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – RFA1156

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

RFA1156

XQKU040

XQKU095

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

XQKU060

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

XQKU040

XQKU095

X0Y2

レーン 0 X0Y19 X0Y19 X0Y19

サポート されないレーン 1 X0Y18 X0Y18

レーン 2 X0Y17

レーン 3 X0Y16

XQKU060

レーン 0 X1Y19 X1Y19 X1Y19

サポート されないレーン 1 X1Y18 X1Y18

レーン 2 X1Y17

レーン 3 X1Y16

Page 275: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 275

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐7: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FFVA1517

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FFVA1517 XCKU060

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

Page 276: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 276

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐8: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FLVA1517

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLVA1517XCKU085

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

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

Page 277: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 277

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐9: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FLVB1760

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLVB1760 XCKU085

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 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

Page 278: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 278

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐10: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FLVF1924 (XCKU085)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLVF1924 XCKU085

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

X0Y4

レーン 0 X1Y35 X1Y35 X1Y35 X1Y35

レーン 1 X1Y34 X1Y34 X1Y34

レーン 2 X1Y33 X1Y33

レーン 3 X1Y32 X1Y32

レーン 4 X1Y31

レーン 5 X1Y30

レーン 6 X1Y29

レーン 7 X1Y28

Page 279: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 279

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐11: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FLVD1924

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLVD1924 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

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

Page 280: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 280

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐12: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FLVF1924 (XCKU115)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLVF1924 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

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

Page 281: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 281

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐13: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FLVD1517

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLVD1517 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

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

Page 282: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 282

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐14: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FLVB1760

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLVB1760 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

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

Page 283: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 283

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐15: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FLVA2104

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

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

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

Page 284: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 284

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐16: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FLVB2104

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

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

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

Page 285: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 285

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐17: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FFVB1760 および FFVB2104

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FFVB1760

FFVB2104XCKU095

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

Page 286: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 286

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐18: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – FFVC1517

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FFVC1517 XCKU095

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 X0Y19 X0Y19 X0Y19

サポート されないレーン 1 X0Y18 X0Y18

レーン 2 X0Y17

レーン 3 X0Y16

Page 287: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 287

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐19: Kintex UltraScale デバイスの GT ロケーシ ョ ン  – RLD1517

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

RLD1517 XQKU115

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

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

Page 288: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 288

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐20: Kintex UltraScale デバイスの GT ロケーシ ョ ン – RLF1924

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

RLF1924 XQKU115

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

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

Page 289: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 289

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

Virtex UltraScale デバイスの GT ロケーシ ョ ン

表 B-21 ~ B-34 に、 Virtex® UltraScale デバイスの推奨される GT ロケーシ ョ ンを示します。

注記:静的な GT ロケーシ ョ ンを使用する場合、 x8 リ ンク幅はサポート されません。 ただし、 Advanced モードの [Enable GT Quad Selection] で GT 選択モードを有効にする と、 これらの PCIe ブロ ッ クに対して x8 リ ンク幅を選択できます。 詳細は、 「UltraScale デバイスの PCI Express デザインのパッケージ移行」 を参照して ください。

表 B‐21: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FFVC1517

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FFVC1517

XCVU065

XCVU080

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

XCVU080

XCVU095X0Y2

レーン 0 X0Y19 X0Y19 X0Y19

サポート されないレーン 1 X0Y18 X0Y18

レーン 2 X0Y17

レーン 3 X0Y16

Page 290: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 290

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐22: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FFVA2104

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FFVA2104XCVU080

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 X0Y27 X0Y27 X0Y27

サポート されないレーン 1 X0Y26 X0Y26

レーン 2 X0Y25

レーン 3 X0Y24

Page 291: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 291

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐23: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FFVB2104/FFVB1760/FFVD1517

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FFVB2104

FFVB1760

FFVD1517

XCVU080

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

Page 292: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 292

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐24: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FFVC2104

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

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

Page 293: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 293

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐25: Virtex UltraScale デバイスの GT ロケーシ ョ ン  – FLVB1760

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

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

Page 294: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 294

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐26: Virtex UltraScale デバイスの GT ロケーシ ョ ン  – FLVA2104

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

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 X0Y34

レーン 2 X0Y33 X0Y33

レーン 3 X0Y32 X0Y32

レーン 4 X0Y31

レーン 5 X0Y30

レーン 6 X0Y29

レーン 7 X0Y28

X0Y3

レーン 0 X0Y39 X0Y39 X0Y39

サポート されないレーン 1 X0Y38 X0Y38

レーン 2 X0Y37

レーン 3 X0Y36

Page 295: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 295

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐27: Virtex UltraScale デバイスの GT ロケーシ ョ ン  – FLVB2104/FLVC2104/FLVD1517

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLVB2104

FLVC2104

FLVD1517

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

Page 296: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 296

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐28: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGA2577

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

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

X0Y4

レーン 0 X0Y47 X0Y47 X0Y47 X0Y47

レーン 1 X0Y46 X0Y46 X0Y46

レーン 2 X0Y45 X0Y45

レーン 3 X0Y44 X0Y44

レーン 4 X0Y43

レーン 5 X0Y42

レーン 6 X0Y41

レーン 7 X0Y40

Page 297: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 297

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

FLGA2577(続き )

XCVU190(続き )

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‐28: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGA2577 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 298: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 298

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐29: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGB2104 (XCVU160)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLGB2104 XCVU160

X0Y1

レーン 0 X0Y23 X0Y23 X0Y23 X0Y23

レーン 1 X0Y22 X0Y22 X0Y22

レーン 2 X0Y21 X0Y21

レーン 3 X0Y20 X0Y20

レーン 4 X0Y19

レーン 5 X0Y18

レーン 6 X0Y17

レーン 7 X0Y16

X0Y2

レーン 0 X0Y35 X0Y35 X0Y35 X0Y35

レーン 1 X0Y34 X0Y34 X0Y34

レーン 2 X0Y33 X0Y33

レーン 3 X0Y32 X0Y32

レーン 4 X0Y31

レーン 5 X0Y30

レーン 6 X0Y29

レーン 7 X0Y28

X0Y3

レーン 0 X0Y43 X0Y43 X0Y43 X0Y43

レーン 1 X0Y42 X0Y42 X0Y42

レーン 2 X0Y41 X0Y41

レーン 3 X0Y40 X0Y40

レーン 4 X0Y39

レーン 5 X0Y38

レーン 6 X0Y37

レーン 7 X0Y36

X0Y4

レーン 0 X0Y55 X0Y55 X0Y55 X0Y55

レーン 1 X0Y54 X0Y54 X0Y54

レーン 2 X0Y53 X0Y53

レーン 3 X0Y52 X0Y52

レーン 4 X0Y51

レーン 5 X0Y50

レーン 6 X0Y49

レーン 7 X0Y48

Page 299: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 299

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐30: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGB2104 (XCVU190)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLGB2104 XCVU190

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

Page 300: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 300

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐31: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGC2104 (XCVU160)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLGC2104 XCVU160

X0Y0

レーン 0 X0Y11 X0Y11 X0Y11 X0Y11

レーン 1 X0Y10 X0Y10 X0Y10

レーン 2 X0Y9 X0Y9

レーン 3 X0Y8 X0Y8

レーン 4 X0Y7

レーン 5 X0Y6

レーン 6 X0Y5

レーン 7 X0Y4

X0Y1

レーン 0 X0Y23 X0Y23 X0Y23 X0Y23

レーン 1 X0Y22 X0Y22 X0Y22

レーン 2 X0Y21 X0Y21

レーン 3 X0Y20 X0Y20

レーン 4 X0Y19

レーン 5 X0Y18

レーン 6 X0Y17

レーン 7 X0Y16

X0Y2

レーン 0 X0Y35 X0Y35 X0Y35 X0Y35

レーン 1 X0Y34 X0Y34 X0Y34

レーン 2 X0Y33 X0Y33

レーン 3 X0Y32 X0Y32

レーン 4 X0Y31

レーン 5 X0Y30

レーン 6 X0Y29

レーン 7 X0Y28

X0Y3

レーン 0 X0Y43 X0Y43 X0Y43 X0Y43

レーン 1 X0Y42 X0Y42 X0Y42

レーン 2 X0Y41 X0Y41

レーン 3 X0Y40 X0Y40

レーン 4 X0Y39

レーン 5 X0Y38

レーン 6 X0Y37

レーン 7 X0Y36

X0Y4

レーン 0 X0Y55 X0Y55 X0Y55 X0Y55

レーン 1 X0Y54 X0Y54 X0Y54

レーン 2 X0Y53 X0Y53

レーン 3 X0Y52 X0Y52

レーン 4 X0Y51

レーン 5 X0Y50

レーン 6 X0Y49

レーン 7 X0Y48

Page 301: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 301

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐32: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGC2104 (XCVU190)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

FLGC2104 XCVU190

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

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

Page 302: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 302

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

FLGC2104 (続き )

XCVU190 (続き )

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‐32: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGC2104 (XCVU190) (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 303: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 303

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐33: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGB2377

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

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

X0Y5

レーン 0 X0Y59 X0Y59 X0Y59

サポート されないレーン 1 X0Y58 X0Y58

レーン 2 X0Y57

レーン 3 X0Y56

Page 304: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 304

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

表 B‐34: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGA2892

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

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

Page 305: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 305

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 B: GT のロケーシ ョ ン

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‐34: Virtex UltraScale デバイスの GT ロケーシ ョ ン – FLGA2892 (続き)

パッケージ デバイス PCIe ブロック レーン X1 x2 x4 x8

Page 306: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 306

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 C

受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

『PCI Express® Base Specification』 [参照 2] では、 すべてのエンドポイン トは受信したコンプリーシ ョ ンに対して無限のフロー制御クレジッ ト を リ ンク パートナーに出力するこ とが規定されています。 これは、 エンドポイン トがコンプ リーシ ョ ン応答を受け入れるスペースがある場合にのみ、 ノンポステッ ド リ クエス ト を送信する、 という こ とです。 こ こでは、 この要件を満たすために、 ユーザー アプリ ケーシ ョ ンで UltraScale Devices Gen3 Integrated Block for PCIe コアの受信バッファー空間を管理する方法について説明します。

一般的な注意事項と概念

コンプリーシ ョ ン空間

表 C-1 では、 コアによって予約されている受信バッファーのコンプ リーシ ョ ン空間が定義されています。 これらの値は、 コアの Capability Max Payload Size (機能 大のペイロード サイズ) の設定と選択されたパフォーマンス レベルによって異なり ます。 値はクレジッ ト数で、 10 進数で表記されます。

表 C‐1:受信バッファーのコンプリーシ ョ ン空間

Capability Max Payload Size 

(バイ ト )

パフォーマンス レベル: Extreme

CPH CPD

128 64 15,872B

256 64 15,872B

512 64 15,872B

1024 64 15,872B

Page 307: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 307

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 C:受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

最大リクエスト  サイズ

メモ リ読み出しは、 Max_Request_Size で指定された値を超える値は要求できません。 これは、 表 C-2 で定義されるよ うに、 コンフ ィギュレーシ ョ ン ビッ ト cfg_dcommand[14:12] で指定されます。 ユーザー アプリ ケーシ ョ ンが Max_Request_Size 値を読み出さない場合は、 デフォルト値の 128 バイ トが使用されます。

読み出しコンプリーシ ョ ンの境界

1 回のメモ リ読み出しには複数のコンプリーシ ョ ンで応答できます。 これらをま とめる と、 要求されたデータがすべて返されます。 パケッ ト ヘッダー オーバーヘッ ドに余裕を持たせるため、 ユーザー アプリ ケーシ ョ ンは、 返される可能性のあるコンプ リーシ ョ ンの 大数分、 スペースを用意しておく必要があ り ます。

このプロセスを簡単にするため、 『PCI Express Base Specification』 ではすべてのコンプリーシ ョ ン パケッ トの長さを量子化し、 すべてのコンプ リーシ ョ ンが自然なアライ メン トの読み出しコンプリーシ ョ ン境界 (RCB) で開始および終了するよ うにしています (元のリ クエス トの開始/終了アドレスを提供する場合を除く )。 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 バイ ト を使用する必要があ り ます。

表 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 308: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 308

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 C:受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

ノンポステッ ド リ クエス トに必要なコンプリーシ ョ ン クレジッ ト数を計算する際は、 コンプリーシ ョ ン応答が必要になる可能性のある、 RCB で分けられたブロ ッ ク数を決定します。 これは、 必要なコンプリーシ ョ ン ヘッダー クレジッ トの数と同じです。

高性能アプリケーシ ョ ンの重要事項

1 つの リ クエス ト に応答するコンプ リーシ ョ ンの 大数をユーザー アプ リ ケーシ ョ ンが計算する こ とによって、プログラムされた RCB 値を使用できますが、 高性能メモ リ コン ト ローラーには、 大規模な読み出し リ クエスト の応答に際して、 RCB サイズのブロ ッ クを組み合わせてその リ ンクの Max_Payload_Size 値またはそれに近いサイズのコンプ リーシ ョ ンにできるオプシ ョ ン機能があ り ます。 ホス ト CPU のメモ リ コン ト ローラーでこの機能がサポー ト されている場合は、 使用を推奨しています。 RCB 値の整数倍 (>1) でのコンプ リーシ ョ ン応答をベース とするデータ送受信の場合、 PCI Express インターフェイスの使用効率とペイ ロードの効率が非常に高くな り 、 またエン ドポイン ト レシーバーのコンプ リーシ ョ ン空間の使用効率も高く な り ます。

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

ユーザー アプリ ケーシ ョ ンには、 表 C-4 に示す、 受信バッファーのコンプリーシ ョ ン空間を管理する 5 つの方法の中から 1 つを選択できます。 こ こでは、 これらの方法を便宜上 LIMIT_FC、 PACKET_FC、 RCB_FC、 および DATA_FC と呼ぶこ とにします。 これらの方法にはそれぞれメ リ ッ ト とデメ リ ッ トがあ り、 ユーザー アプリ ケーシ ョンを開発する際に考慮する必要があ り ます。

表 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 309: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 309

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 C:受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

LIMIT_FC

LIMIT_FC は、 インプ リ メン トが も簡単な方法です。 1 度に処理可能なノンポステッ ド (NP) リ クエス トの 大数である MAX_NP をユーザー アプリ ケーシ ョ ンが見積も り ます。 この値を計算するには、 次の手順に従います。

1. Max_Request_Size パケッ トで要求される CplH クレジッ ト数を決定します。

Max_Header_Count = ceiling(Max_Request_Size / RCB)

2. CplD クレジッ ト プールでサポート される 大サイズのコンプリーシ ョ ンの 大数を決定します。

Max_Packet_Count_CplD = floor(CplD / Max_Request_Size)

3. CplH クレジッ ト プールでサポート される 大サイズのコンプリーシ ョ ンの 大数を決定します。

Max_Packet_Count_CplH = floor(CplH / Max_Header_Count)

4. 未処理のノンポステッ ド リ クエス トの 大数を決定するため、 手順 2 と 3 で得た 2 つの値のうち小さい方を使用します。

MAX_NP = min(Max_Packet_Count_CplH, Max_Packet_Count_CplD)

MAX_NP がわかっていれば、 ユーザー アプリ ケーシ ョ ンは NP_PENDING レジスタにリセッ トで 0 を読み込んで、0 ~ MAX_NP の範囲に常に留まるよ うにできます。 ノンポステッ ド リ クエス トが送信される と、 NP_PENDING が 1 ずつデク リ メン ト します。 未処理のノンポステッ ド リ クエス トに対するコンプ リーシ ョ ンがすべて受信される と、NP_PENDING が 1 ずつインク リ メン ト します。

例:

• Max_Request_Size = 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 書き込みリ クエス ト を大量に発行する と、 さ らに無駄が多くな り ます。

Page 310: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 310

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 C:受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

PACKET_FC

PACKET_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 をそれぞれデク リ メン ト します。

この方法の場合は LIMIT_FC よ り も無駄が少なくな り ますが、 NP リ クエス トのコンプ リーシ ョ ン空間はリ クエス ト全体が満たされるまで使用できません。 RCB_FC および DATA_FC を使用する と、 ロジッ クがさ らに必要になり ますが、 さ らに細かく振り分け可能です。

RCB_FC

RCB_FC では、 RCB ごとにクレジッ トのブロ ッ クを振り分けるこ とができます。 クレジッ トは RCB ごとに解放されます。

PACKET_FC と同様、 CPLH_PENDING および CPLD_PENDING の 2 つのレジスタ ( リセッ トで 0 をロード ) で開始します。

1. RCB ごとのデータ クレジッ ト数を計算します。

CplD_PER_RCB = RCB / 16 バイ ト

2. ユーザー アプリ ケーシ ョ ンが NP リ クエス ト を送信する必要がある場合は、 必要だと思われる CplH クレジッ トの数を決定します。 これを使用して、 RCB ごとに CplD クレジッ ト を割り当てます。

NP_CplH = ceiling[((Start_Address mod RCB) + Request_Size) / RCB]

NP_CplD = NP_CplH × CplD_PER_RCB

3. 次を確認してください。

CPLH_PENDING + NP_CplH Total_CplH

CPLD_PENDING + NP_CplD Total_CplD

Page 311: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 311

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 C:受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

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 書き込み) と一致させる必要があ り ます。

DATA_FC

DATA_FC の方法では、 使用するロジッ クは増えますが、 も細かく割り当てができます。

PACKET_FC および RCB_FC と同様、 CPLH_PENDING および CPLD_PENDING の 2 つのレジスタ ( リセッ トで 0 をロード ) で開始します。

1. ユーザー アプリ ケーシ ョ ンがノンポステッ ド (NP) リ クエス ト を送信する必要がある場合は、必要だと思われる CplH および CplD クレジッ トの数を決定します。

NP_CplH = ceiling[((Start_Address mod RCB) + Request_Size) / RCB]

NP_CplD = ceiling[((Start_Address mod 16 bytes) + Request_Size) / 16 バイ ト ] (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 をカウン トするこ と もできます。

Page 312: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 312

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 C:受信されるコンプリーシ ョ ンに対する受信バッファー空間の管理

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 313: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 313

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 D

デバッグこの付録では、 ザイ リ ンクス サポート ウェブサイ ト よ り入手可能な リ ソースおよびデバッグ ツールについて説明します。

ザイリンクス ウェブサイ ト

UltraScale Devices Gen3 Integrated Block for PCIe を使用した設計およびデバッグでヘルプが必要な場合は、ザイ リ ンクス サポート ウェブ ページから製品の資料、 リ リース ノート、 アンサーなどを参照するか、 テクニカル サポートでサービス リ クエス ト を作成してください。

資料

この製品ガイ ドは UltraScale Devices Gen3 Integrated Block for PCIe に関する主要資料です。 このガイ ド、 並びに設計プロセスで使用する各製品の関連資料はすべて、 ザイ リ ンクス サポート ウェブ ページ (https://japan.xilinx.com/support) または Xilinx Documentation Navigator から入手できます。

Xilinx Documentation Navigator は、 ダウンロード ページからダウンロードできます。 このツールの詳細および機能は、 インス トール後にオンライン ヘルプを参照してください。

アンサー

アンサーには、 よ く発生する問題についてその解決方法、 およびザイ リ ンクス製品に関する既知の問題などの情報が記載されています。 アンサーは、 ユーザーが該当製品の 新情報にアクセスできるよ う作成および管理されています。

このコアに関するアンサーの検索には、 ザイ リ ンクス サポート ウェブ ページにある検索ボッ クスを使用します。よ り的確な検索結果を得るには、 次のよ うなキーワードを使用してください。

• 製品名

• ツールで表示される メ ッセージ

• 問題の概要

検索結果は、 フ ィルター機能を使用してさ らに絞り込むこ とができます。

UltraScale Devices Gen3 Integrated Block for PCIe に関するマスター アンサー

AR: 57945

Page 314: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 314

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 D:デバッグ

テクニカル サポート

ザイ リ ンクスは、 製品資料の説明に従って使用されている LogiCORE™ IP 製品に対するテクニカル サポート をザイリ ンクス サポート ウェブ ページで提供しています。 ただし、 次のいずれかに該当する場合、 タイ ミ ング、 機能、 サポートは保証されません。

• 資料で定義されていないデバイスにソ リ ューシ ョ ンをインプリ メン ト した場合。

• 資料で定義されている許容範囲を超えてカスタマイズした場合。

• 「DO NOT MODIFY」 と されているデザイン セクシ ョ ンに変更を加えた場合。

ザイ リ ンクス テクニカル サポートへのお問い合わせは、 ザイ リ ンクス サポート ウェブ ページを参照してください。

ハードウェア デバッグ

ト ランシーバー制御およびステータス ポート

表 D-1 に、 ト ランシーバーに関連する問題のデバッグに使用するポート を示します。

重要: ト ランシーバー制御およびステータス インターフェイスのポート駆動方法は、 使用する GT のユーザー ガイ ドを参照してください。 表 D-1 に示した入力信号をユーザー ガイ ドに従わずに使用する と、 IP コアの動作が予測不能になるこ とがあ り ます。

表 D‐1: ト ランシーバーのデバッグに使用するポート

ポート 方向  幅 説明

gt_pcieuserratedone I 1 ト ランシーバー チャネル プリ ミ ティブの CIEUSERRATEDONE へ接続されます。

gt_loopback I 3 ト ランシーバー チャネル プリ ミ ティブの LOOPBACK へ接続されます。

gt_txprbsforceerr I 1 ト ランシーバー チャネル プリ ミ ティブの TXPRBSFORCEERR へ接続されます。

gt_txinhibit I 1 ト ランシーバー チャネル プリ ミ ティブの TXINHIBIT へ接続されます。

gt_txprbssel I 4 PRBS 入力

gt_rxprbssel I 4 PRBS 入力

gt_rxprbscntreset I 1 ト ランシーバー チャネル プリ ミ ティブの RXPRBSCNTRESET へ接続されます。

gt_txelecidle O 1 ト ランシーバー チャネル プリ ミ ティブの TXELECIDLE へ接続されます。

gt_txresetdone O 1 ト ランシーバー チャネル プリ ミティブの TXRESETDONE へ接続されます。

gt_rxresetdone O 1 ト ランシーバー チャネル プリ ミティブの RXRECCLKOUT へ接続されます。

gt_rxpmaresetdone O 1 ト ランシーバー チャネル プリ ミ ティブの TXPMARESETDONE へ接続されます。

gt_txphaligndone O 1 ト ランシーバー チャネル プリ ミ ティブの TXPHALIGNDONE へ接続されます。

gt_txphinitdone O 1 ト ランシーバー チャネル プリ ミティブの TXPHINITDONE へ接続されます。

gt_txdlysresetdone O 1 ト ランシーバー チャネル プリ ミ ティブの TXDLYSRESETDONE へ接続されます。

Page 315: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 315

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 D:デバッグ

gt_rxphaligndone O 1 ト ランシーバー チャネル プリ ミ ティブの RXPHALIGNDONE へ接続されます。

gt_rxdlysresetdone O 1 ト ランシーバー チャネル プリ ミ ティブの RXDLYSRESETDONE へ接続されます。

gt_rxsyncdone O 1 ト ランシーバー チャネル プリ ミ ティブの RXSYNCDONE へ接続されます。

gt_eyescandataerror O 1 ト ランシーバー チャネル プリ ミ ティブの EYESCANDATAERROR へ接続されます。

gt_rxprbserr O 1 ト ランシーバー チャネル プリ ミ ティブの RXPRBSERR へ接続されます。

gt_dmonitorout O 16 ト ランシーバー チャネル プリ ミティブの DMONITOROUT へ接続されます。

gt_rxcommadet O 1 ト ランシーバー チャネル プリ ミ ティブの RXCOMMADETEN へ接続されます。

gt_phystatus O 1 ト ランシーバー チャネル プリ ミ ティブの PHYSTATUS へ接続されます。

gt_rxvalid O 1 ト ランシーバー チャネル プリ ミ ティブの RXVALID へ接続されます。

gt_rxcdrlock O 1 ト ランシーバー チャネル プリ ミ ティブの RXCDRLOCK へ接続されます。

gt_pcierateidle O 1 ト ランシーバー チャネル プリ ミティブの PCIERATEIDLE へ接続されます。

gt_pcieuserratestart O 1 ト ランシーバー チャネル プリ ミ ティブの PCIEUSERRATESTART へ接続されます。

gt_gtpowergood O 1 ト ランシーバー チャネル プリ ミティブの GTPOWERGOOD へ接続されます。

gt_cplllock O 1 ト ランシーバー チャネル プリ ミ ティブの CPLLLOCK へ接続されます。

gt_rxoutclk O 1 ト ランシーバー チャネル プリ ミ ティブの RXOUTCLK へ接続されます。

gt_rxrecclkout O 1 ト ランシーバー チャネル プリ ミティブの RXRECCLKOUT へ接続されます。

gt_qpll1lock O 1 ト ランシーバー コモン プリ ミ ティブの QPLL1LOCK へ接続されます。

gt_rxstatus O 3 ト ランシーバー チャネル プリ ミ ティブの RXSTATUS へ接続されます。

gt_rxbufstatus O 3 ト ランシーバー チャネル プリ ミティブの RXBUFSTATUS へ接続されます。

gt_bufgtdiv O 9 ト ランシーバー チャネル プリ ミ ティブの BUFGTDIV へ接続されます。

phy_txeq_ctrl O 2 PHY TX イコライゼーシ ョ ン制御ビッ ト

phy_txeq_preset O 4 PHY TX イコライゼーシ ョ ン プリセッ ト ビッ ト

phy_rst_fsm O 4 PHY RST FSM ステート ビッ ト

phy_txeq_fsm O 3 PHY RX イコライゼーシ ョ ン FSM ステート ビッ ト (Gen3)

phy_rxeq_fsm O 3 PHY TX イコライゼーシ ョ ン FSM ステート ビッ ト (Gen3)

phy_rst_idle O 1 PHY は IDLE ステートにいます。

phy_rrst_n O 1 sys_clk によって同期される リセッ ト生成

phy_prst_n O 1 pipe_clk によって同期される リセッ ト生成

表 D‐1: ト ランシーバーのデバッグに使用するポート  (続き)

ポート 方向  幅 説明

Page 316: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 316

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E

Xilinx Virtual Cable (XVC) を使用したデバッグ

はじめに

Xilinx® Virtual Cable (ザイ リ ンクス仮想ケーブル、 XVC) を使用する と、 Vivado® Design Suite から JTAG 以外のインターフェイスで FPGA デバッグ コアに接続できます。 Vivado Design Suite の標準デバッグ機能は、 JTAG を使用して物理ハードウェア FPGA リ ソースに接続し、 Vivado を介してデバッグを実行します。 このセクシ ョ ンでは、 標準の JTAG デバッグ インターフェイスではなく、 XVC を使用して PCIe リ ンク経由でデバッグを実行する方法について説明します。 これは XVC-over-PCIe と呼ばれ、 PCIe リ ンクを通信チャネルと して使用して Vivado ILA による波形キャプチャ、 VIO によるデバッグ制御、 およびほかのザイ リ ンクス デバッグ コアとの通信をサポート します。

XVC-over-PCIe は、 JTAG デバッグが利用できない場合に Vivado Design Suite のデバッグ機能を使用して リモートから FPGA をデバッグするのに使用します。 通常は、 FPGA が PCIe ホス ト システム以外のハードウェア デバイスに接続されていないデータ センター アプリ ケーシ ョ ンで使用します。

XVC を使用してデバッグを実行するには、 ソフ ト ウェア、 ド ライバー、 および FPGA ハードウェア デザイン コンポーネン トが必要です。 XVC-over-PCIe では FPGA ハードウェア デザインがコンポーネン ト と して必要なため、XVC-over-PCIe をインプリ メン ト した FPGA ハードウェア デザインが FPGA にロード され、ホス ト PC との間で PCIe リ ンクが確立されるまでデバッグを実行できません。 これは通常、 XVC-over-PCIe 対応デザインをボード上のコンフ ィギュレーシ ョ ン フラ ッシュにロード してから、 カードをデータ センターのロケーシ ョ ンに挿入する という方法で行われます。 XVC-over-PCIe によるデバッグは PCIe 通信チャネルを使用して実行するため、 PCIe リ ンクに関連する不具合のデバッグには使用できません。

重要: XVC は、 FPGA 内のデバッグ コアへの接続にのみ使用します。デバイスをプログラムする機能や、デバイスの JTAG およびコンフ ィギュレーシ ョ ン レジスタにアクセスする機能は XVC にはあ り ません。 これらの機能は、 ほかの標準ザイ リ ンクス インターフェイスまたは PCIe MCAP VSEC や HWICAP IP などのペリ フェラルを使用して実行します。

Page 317: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 317

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

概要

XVC-over-PCIe デバッグの実行には、 主に次のコンポーネン トが必要です。

• ホス ト PC 上の XVC-Server アプリ ケーシ ョ ン

• ホス ト PC 上の PCIe-XVC ド ラ イバー

• XVC-over-PCIe に対応した FPGA デザイン

これらのコンポーネン トは、 ザイ リ ンクス FPGA デザインに対する XVC 接続の確立方法を示すリ ファレンス と して提供されています。 図 E-1 に示すよ うに、 これら 3 つのコンポーネン トは TCP/IP ソケッ ト を介して Vivado Design Suite のデバッグ機能に接続します。

ホスト  PC 上の XVC‐Server アプリケーシ ョ ン

デバッグ機能を使用する場合、 Vivado Design Suite は hw_server アプリ ケーシ ョ ンを起動します。 Vivado IDE を介して hw_server をローカルまたはリモート FPGA ターゲッ トに接続できます。 ローカルまたはリモート PCIe-XVC ターゲッ トに接続する場合も、 これと同じインターフェイスを使用します。 ホス ト上の PCIe XVC-Server アプリ ケーシ ョ ンは TCP/IP ソケッ ト を使用してザイ リ ンクス hw_server に接続します。 このため、 hw_server を使用する Vivado と XVC-Server アプリ ケーシ ョ ンは同じ PC 上で動作させるこ と も、イーサネッ トで接続された別々の PC 上で動作させるこ と もできます。 XVC-Server アプリ ケーシ ョ ンは、 FPGA ハードウェア リ ソースに直接接続した PC 上で動作させる必要があ り ます。 このシナリオでは、 FPGA ハードウェアは PCIe 経由でホス ト PC に接続されます。XVC-Server アプリ ケーシ ョ ンは、 同じホス ト PC 上で動作する PCIe-XVC ド ラ イバーを介して FPGA ハードウェア デバイスに接続します。

Host PC 上の XVC‐over‐PCIe ド ライバー

XVC-over-PCIe ド ラ イバーは、 ホス ト PC に接続された PCIe 対応 FPGA ハードウェア リ ソースへの接続に使用します。 このため、 このド ラ イバーは PCIe ハードウェア デバイスにアクセスする Linux カーネル モードのド ライバーとして提供されています。 このド ライバーの必要なコンポーネン ト を、 特定の FPGA プラ ッ ト フォーム用に作成したド ライバーに追加する必要があ り ます。 このド ライバーは、 XVC-Server アプリ ケーシ ョ ンが PCIe 経由で FPGA と通信するのに必要な基本機能を実装します。

X-Ref Target - Figure E-1

図 E‐1: XVC‐over‐PCIe のソフ トウェアおよびハードウェア コンポーネン ト

Vivado Design Suite Debug

Feature

TCP/IPXVC-Server PCIe-XVC

DriverXVC-over-PCIeFPGA Design

PCIe

Running on local or remote Host

Running on Host PC connected to Xilinx FPGA card Running on Xilinx FPGA

Page 318: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 318

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

XVC‐over‐PCIe に対応した FPGA デザイン

Vivado を使用した従来のデバッグは、 JTAG を使用します。 デフォルトでは、 Vivado デバッグ オート メーシ ョ ンはザイ リ ンクス デバッグ コアを FPGA 内の JTAG BSCAN リ ソースに接続してデバッグを実行します。 XVC-over-PCIe デバッグを実行するには、 この情報を JTAG ケーブル インターフェイスではなく PCIe リ ンクで送信する必要があ ります。 ザイ リ ンクス Debug Bridge IP を使用する と、 PCIe 拡張コンフ ィギュレーシ ョ ン インターフェイス (PCIe-XVC-VSEC) または AXI4-Lite メモ リ マップド インターフェイス経由の PCIe BAR (AXI-XVC) を利用してデバッグ ネッ ト ワークを PCIe に接続できます。

Debug Bridge IP を [From PCIe to BSCAN] または [From AXI to BSCAN] に設定する と、PCIe 拡張機能または AXI4-Lite インターフェイスから Debug Bridge IP を経由してザイ リ ンクス デバッグ ネッ ト ワークに接続できます。 Vivado ツール オート メーシ ョ ンは、 この Debug Bridge のインスタンスを JTAG BSCAN インターフェイスではなくデザイン内のザイ リ ンクス デバッグ コアに接続します。Debug Bridge IP を PCIe 拡張コンフ ィギュレーシ ョ ン空間に接続する場合と AXI4-Lite に接続する場合では設計上のト レードオフがあ り ます。 次のセクシ ョ ンでは、 これら 2 つの実装方法における注意事項とレジスタ マップについて説明します。

PCIe 拡張コンフ ィギュレーシ ョ ン空間を使用した XVC‐over‐PCIe (PCIe‐XVC‐VSEC)

PCIe-XVC-VSEC では、Debug Bridge IP は PCIe Vendor Specific Extended Capability (VSEC) を使用して PCIe から Debug Bridge IP への接続を実装します。 PCIe 拡張コンフ ィギュレーシ ョ ン空間は、 ホス ト PC から検出可能な拡張機能の連結リ ス ト と してセッ ト アップされます。 これは、デザインの 1 つのバージ ョ ンが PCIe-XVC-VSEC を実装し、 も う 1 つのバージ ョ ンは実装していないよ うなプラ ッ ト フォームで特に役立ちます。 連結リ ス ト を使用する と、PCIe-XVC-VSEC が存在するかど うかを検出し、 それに応じた応答が可能になり ます。

PCIe 拡張コンフ ィギュレーシ ョ ン インターフェイスは PCIe メモ リ BAR ト ランザクシ ョ ンではなく PCIe コンフ ィギュレーシ ョ ン ト ランザクシ ョ ンを使用します。 PCIe コンフ ィギュレーシ ョ ン ト ランザクシ ョ ンの方が動作はかなり低速ですが、 PCIe IP 境界で PCIe メモ リ BAR ト ランザクシ ョ ンに干渉しません。 このため、 FPGA 内でデータ用とデバッグ用の通信パスを分離できます。 これは、 特にデータパスをデバッグする場合に適しています。 データパスが破損または停止しても、 PCIe 拡張コンフ ィギュレーシ ョ ン インターフェイスはデバッグの実行を継続できます。 図 E-2 に、 PCIe IP と Debug Bridge IP を接続して PCIe-XVC-VSEC を実装する方法を示します。

注記:図 E-2 には Ultrascale+ Integrated Block for PCIe IP を示していますが、 代わりにほかの PCIe IP (UltraScale Integrated Block for PCIe、 AXI Bridge for PCIe、 または PCIe DMA IP) を使用するこ と もできます。

X-Ref Target - Figure E-2

図 E‐2: PCIe 拡張機能インターフェイスを使用した XVC‐over‐PCIe

Page 319: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 319

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

AXI を使用した XVC‐over‐PCIe (AXI‐XVC)

AXI-XVC では、 Debug Bridge IP は AXI Interconnect IP を介して PCIe IP に接続します。 Debug Bridge IP はほかの AXI4-Lite スレーブ IP と同じよ うに AXI Interconnect に接続し、 同じよ うに特定のアドレス範囲の割り当てを要求します。伝統的に、 この構成の debug_bridge IP はシステム データパス ネッ ト ワークではなく制御パス ネッ ト ワークに接続されます。 図 E-3 に、 この実装方法における DMA Subsystem for PCIe IP と Debug Bridge IP の接続を示します。

注記:図 E-3 には PCIe DMA IP を示していますが、 代わりに AXI に対応した任意の PCIe IP を使用できます。

AXI-XVC の実装では、 よ り高速な ト ランザクシ ョ ンが可能です。 ただし、 XVC デバッグ ト ラフ ィ ッ クがその他の PCIe 制御パス ト ラフ ィ ッ ク と同じ PCIe ポートおよびインターコネク ト を通過するため、 このパスの ト ランザクシ ョ ンをデバッグするのは困難です。 このため、 AXI-XVC デバッグは AXI-XVC デバッグ通信パス と重なるデータパスのデバッグに使用するのではなく、 特定のペリ フェラルまたは別の AXI ネッ ト ワークのデバッグに使用することを推奨します。

XVC‐over‐PCIe のレジスタ  マップ

PCIe-XVC-VSEC と AXI-XVC のレジスタ マップは一部異なり ます。 XVC ド ラ イバーおよびソフ ト ウェアを設計する際は、 この点を考慮する必要があ り ます。 表 E-1 と表 E-2 のレジスタ マップは、 ベース アドレスからのバイ ト オフセッ ト を示しています。

• PCIe-XVC-VSEC のベース アドレスは、 PCIe 拡張コンフ ィギュレーシ ョ ン空間の有効な範囲内にある必要があり ます。 これは Debug Bridge IP のコンフ ィギュレーシ ョ ン オプシ ョ ンで指定します。

• AXI-XVC Debug Bridge のベース アドレスは、 Vivado アドレス エディ ターで指定した Debug Bridge IP ペリ フェラルのオフセッ トです。

表 E-1 と表 E-2 に、 Debug Bridge IP のレジスタ マップを示します。 レジスタ オフセッ ト欄には、 [From PCIe-Ext to BSCAN] または [From AXI to BSCAN] モードに設定した場合のベース アドレスからのオフセッ ト を示しています。

X-Ref Target - Figure E-3

図 E‐3: AXI4‐Lite インターフェイスを使用した XVC‐over‐PCIe

表 E‐1: XVC‐PCIe‐VSEC の場合の Debug Bridge のレジスタ  マップ

レジスタ  オフセッ ト レジスタ名 説明 レジスタ  タイプ

0x00 PCIe 拡張機能ヘッダーVSEC で使用するために PCIe で定義されたフ ィールド

読み出し専用

0x04 PCIe VSEC ヘッダーVSEC で使用するために PCIe で定義されたフ ィールド

読み出し専用

0x08 XVC バージ ョ ン レジスタ IP バージ ョ ンおよび機能の情報 読み出し専用

0x0C XVC シフ ト長レジスタ シフ ト長 読み出し /書き込み

Page 320: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 320

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

PCIe 拡張機能ヘッダー (PCIe‐XVC‐VSEC のみ)

PCIe デザインに追加された PCIe-XVC-VSEC を識別するために使用します。 PCIe 拡張機能ヘッダーのフ ィールド と値は PCI-SIG によって定義されており、 拡張機能のフォーマッ ト識別、 および次の拡張機能がある場合はその機能へのポインターと して使用します。 PCIe-XVC-VSEC と して使用する場合、 解釈する前に適切な PCIe ID フ ィールドを評価する必要があ り ます。 これには、 PCIe Vendor ID、 PCIe Device ID、 PCIe Revision ID、 Subsystem Vendor ID、 および Subsystem ID フ ィールドがあ り ます。 たとえば、 提供される ド ライバーは PCIe Vendor ID が 「Xilinx」 (0x10EE) と一致するこ とを確認してから このレジスタを解釈します。 表 E-3 に、 このレジスタの各フ ィールドの説明を示します。

0x10 XVC TMS レジスタ TMS データ 読み出し /書き込み

0x14 XVC TDIO レジスタ TDO/TDI データ 読み出し /書き込み

0x18 XVC 制御レジスタ 一般制御レジスタ 読み出し /書き込み

0x1C XVC ステータス レジスタ 一般ステータス レジスタ 読み出し専用

表 E‐1: XVC‐PCIe‐VSEC の場合の Debug Bridge のレジスタ  マップ (続き)

レジスタ  オフセッ ト レジスタ名 説明 レジスタ  タイプ

表 E‐2: AXI‐XVC の場合の Debug Bridge のレジスタ  マップ

レジスタ  オフセッ ト レジスタ名 説明 レジスタ  タイプ

0x00 XVC シフ ト長レジスタ シフ ト長 読み出し /書き込み

0x04 XVC TMS レジスタ TMS データ 読み出し /書き込み

0x08 XVC TDI レジスタ TDI データ 読み出し /書き込み

0x0C XVC TDO レジスタ TDO データ 読み出し専用

0x10 XVC 制御レジスタ 一般制御レジスタ 読み出し /書き込み

0x14 XVC ステータス レジスタ 一般ステータス レジスタ 読み出し専用

0x18 XVC バージ ョ ン レジスタ IP バージ ョ ンおよび機能の情報 読み出し専用

表 E‐3: PCIe 拡張機能ヘッダー レジスタの説明

ビッ ト位置

説明 初期値 タイプ

15:0 PCIe Extended Capability ID: このフ ィールドは PCI-SIG によって定義された ID 番号で、拡張機能の性質とフォーマッ ト を示します。 VSEC の ID は 0x000B です。

0x000B 読み出し専用

19:16 Capability Version: このフ ィールドは PCI-SIG によって定義されたバージ ョ ン番号で、 機能構造体のバージ ョ ンを示します。 この仕様バージ ョ ンでは 0x1 とする必要があ り ます。

0x1 読み出し専用

31:20

Next Capability Offset: このフ ィールドはユーザーから渡され、 次の PCI Express 機能構造体へのオフセッ ト (機能連結リ ス トにほかの項目がない場合は 0x000) を格納します。PCIe 拡張コンフ ィギュレーシ ョ ン空間に実装した拡張機能の場合、 この値は常に PCIe 拡張コンフ ィギュレーシ ョ ン空間の有効な範囲内にある必要があ り ます。

0x000 読み出し専用

Page 321: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 321

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

PCIe VSEC ヘッダー (PCIe‐XVC‐VSEC のみ)

このレジスタは、 Debug Bridge IP がこのモードの場合に PCIe-XVC-VSEC を識別するのに使用します。 このフ ィールドは PCI-SIG によって定義されていますが、 値は Vendor ID ( 「Xilinx」 の場合 0x10EE) に固有です。 このレジスタを解釈する前に、 PCIe 拡張機能ヘッダー レジスタの値を評価する必要があ り ます。

XVC バージ ョ ン  レジスタ  (PCIe‐XVC‐VSEC のみ)

このレジスタの値はザイ リ ンクス ツールによって書き込まれます。 これらの値を使用して、 Vivado Design Suite はハードウェア デザインにインプリ メン ト された Debug Bridge IP の機能を特定します。

XVC シフ ト長レジスタ

デバッグ スキャン チェーン内のスキャン チェーン シフ ト長を設定するのに使用します。

XVC TMS レジスタ

デバッグ スキャン チェーン内の TMS データを設定するのに使用します。

XVC TDO/TDI データ  レジスタ

TDO/TDI データ アクセスに使用します。 PCIe-XVC-VSEC を使用する場合、 これら 2 つのレジスタは 1 つのフ ィールドに結合されます。 AXI-XVC を使用する場合、 これらは 2 つの別々のレジスタ と して実装されます。

XVC 制御レジスタ

XVC 制御データに使用します。

XVC ステータス レジスタ

XVC ステータス情報に使用します。

表 E‐4: PCIe XVC VSEC ヘッダー レジスタの説明

ビッ ト位置 説明 初期値 タイプ

15:0 VSEC ID: PCIe-XVC-VSEC を識別するための ID 値で、 Vendor ID ( 「Xilinx」 の場合 0x10EE) に固有です。

0x0008 読み出し専用

19:16 VSEC Rev: PCIe-XVC-VSEC バージ ョ ンを識別するためのリ ビジ ョ ン ID 値です。 0x0 読み出し専用

31:20 VSEC Length: PCIe 拡張機能ヘッダーおよび PCIe VSEC ヘッダー レジスタを含む PCIe-XVC-VSEC 構造体全体のバイ ト数を示します。

0x020 読み出し専用

Page 322: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 322

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

XVC ド ライバーおよびソフ トウェア

Vivado Design Suite をインス トールする と、 XVC ド ラ イバーおよびソフ ト ウェアのサンプルが <Vivado_Installation_Path/data/xicom/driver/pcie/xvc_pcie.zip と して生成されます。 これは、XVC の機能をザイ リ ンクス FPGA プラ ッ ト フォーム デザインのド ライバーおよびソフ ト ウェアに統合する際のリファレンス と して使用してください。 サンプルと して提供される Linux カーネル モード ド ラ イバーおよびソフ トウェアは、 PCIe-XVC-VSEC と AXI-XVC の両方の Debug Bridge 実装方法による XVC-over-PCIe デバッグを実装しています。

PCIe-XVC-VSEC モードで動作する場合、 ド ライバーは FPGA デバッグ ネッ ト ワーク と接続するための PCIe コンフ ィギュレーシ ョ ン ト ランザクシ ョ ンを開始します。 AXI-XVC モードで動作する場合、 ド ライバーは FPGA デバッグ ネッ ト ワーク と接続するための 32 ビッ ト PCIe メモ リ BAR ト ランザクシ ョ ンを開始します。 デフォルトでは、 ドライバーは PCIe-XVC-VSEC の検出を試み、 PCIe コンフ ィギュレーシ ョ ン拡張機能連結リ ス トに PCIe-XVC-VSEC が見つからない場合は AXI-XVC を使用します。

ド ライバーは、 Vivado をインス トールしたディレク ト リにあるデータ ディ レク ト リに .zip ファ イルと して提供されます。 この .zip ファ イルをザイ リ ンクス FPGA に PCIe 経由で接続されたホス ト PC にコピーし、解凍して使用します。 XVC ド ラ イバーおよびソフ ト ウェアのインス トールおよび実行方法は、 付属の README.txt ファ イルを参照してください。

Tandem またはパーシャル リコンフ ィギュレーシ ョ ン  デザインの場合の注意事項

Tandem およびパーシャル リ コンフ ィギュレーシ ョ ン (PR) デザインでは、 物理リ ソースが複数の領域に分割されるため、 いくつかの注意事項があ り ます。 VIO、 ILA、 MDM、 および MIG-IP などのデバッグ IP をデザインに追加する際は、 これらの物理パーティシ ョ ンを考慮する必要があ り ます。 [From PCIe-ext to BSCAN] または [From AXI to BSCAN] に設定した Debug Bridge IP は、 デザインのスタティ ッ ク パーティシ ョ ンにのみ配置してください。 デバッグ IP を PR または Tandem フ ィールド アップデート領域内で使用する場合は、デバッグ BSCAN インターフェイスをも う 1 つ PR 領域モジュール定義に追加し、 PR 領域モジュール インスタンシエーシ ョ ンで未接続のままにする必要があ り ます。

BSCAN インターフェイスを PR モジュール定義に追加するには、適切なポートおよびポート属性を PR モジュール定義に追加します。 次に、 BSCAN インターフェイスをポート宣言に追加する際にテンプレート と して使用できる Verilog サンプルを示します。

...// BSCAN interface definition and attributes.// This interface should be added to the PR module definition// and left unconnected in the PR module instantiation.(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN drck" *)(* DEBUG="true" *)input S_BSCAN_drck,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN shift" *)(* DEBUG="true" *)input S_BSCAN_shift,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN tdi" *)(* DEBUG="true" *)input S_BSCAN_tdi,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN update" *)(* DEBUG="true" *)input S_BSCAN_update,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN sel" *)(* DEBUG="true" *)input S_BSCAN_sel,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN tdo" *)(* DEBUG="true" *)output S_BSCAN_tdo,

Page 323: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 323

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN tms" *)(* DEBUG="true" *)input S_BSCAN_tms,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN tck" *)(* DEBUG="true" *)input S_BSCAN_tck,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN runtest" *)(* DEBUG="true" *)input S_BSCAN_runtest,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN reset" *)(* DEBUG="true" *)input S_BSCAN_reset,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN capture" *)(* DEBUG="true" *)input S_BSCAN_capture,(* X_INTERFACE_INFO = "xilinx.com:interface:bscan:1.0 S_BSCAN bscanid_en" *)(* DEBUG="true" *)input S_BSCAN_bscanid_en,....

link_design を実行する と、 外部に引き出されたポートがツール オート メーシ ョ ンによってデバッグ ネッ ト ワークのスタティ ッ ク領域に接続されます。 デザインで必要な場合は ILA もデバッグ ネッ ト ワークに接続されます。 デザインの 上位に dbg_hub セルがも う 1 つ追加されるこ と もあ り ます。 フ ィールド アップデート を伴う Tandem デザインの場合、 dbg_hub およびツールによって挿入されるクロ ッ ク バッファーは適切なデザイン パーティシ ョ ンに追加する必要があ り ます。 次に、 opt_design の後に実行して dbg_hub プリ ミ ティブを適切なデザイン パーティシ ョ ンに関連付ける Tcl コマンドの例を示します。

# Add the inserted dbg_hub cell to the appropriate design partition.set_property HD.TANDEM_IP_PBLOCK Stage1_Main [get_cells dbg_hub]# Add the clock buffer to the appropriate design partition.set_property HD.TANDEM_IP_PBLOCK Stage1_Config_IO [get_cells dma_pcie_0_support_i/pcie_ext_cap_i/vsec_xvc_inst/vsec_xvc_dbg_bridge_inst/inst/bsip/inst/USE_SOFTBSCAN.U_TAP_TCKBUFG]

PCIe‐XVC‐VSEC サンプル デザインの使用

PCIe-XVC-VSEC は、 Ultrascale+ PCIe Integrated Block IP の [Advanced] 設定の一部と して PCIe サンプル デザインに統合されています。 このセクシ ョ ンでは、 PCIe-XVC-VSEC を使用した PCIe サンプル デザインを生成し、 提供される XVC ド ラ イバーおよびソフ ト ウェアを使用して PCIe 経由で FPGA をデバッグする方法について説明します。 このサンプル デザインは、 XVC をカスタマー アプリ ケーシ ョ ンで使用する場合のものです。 FPGA デザイン、 ド ライバー、 およびソフ ト ウェアの各要素をカスタマー デザインに統合する必要があ り ます。

PCIe‐XVC‐VSEC サンプル デザインの生成

PCIe-XVC-VSEC を Ultrascale+™ PCIe サンプル デザインに追加するには、 次のオプシ ョ ンを選択します。

1. 目的に応じてコアのコンフ ィギュレーシ ョ ン オプシ ョ ンを設定します。

2. [Basic] タブで [Advanced] をク リ ッ ク して Advanced モードを選択します。

3. [Adv. Options-3] タブをク リ ッ ク して、 次のよ うに設定します。

a. [PCI Express Extended Configuration Space Enable] をオンにして、 PCI Express 拡張コンフ ィギュレーシ ョ ン インターフェイスを有効にします。 PCI Express コアに対する拡張機能はこ こに追加されます。

b. [Add the PCIe-XVC-VSEC to the Example Design] をオンにして、サンプル デザイン生成時に PCIe-XVC-VSEC を有効にします。

Page 324: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 324

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

4. PCIe IP のその他のコンフ ィギュレーシ ョ ン オプシ ョ ン設定を確認します。 実際のハードウェア インプリ メンテーシ ョ ンに合わせてド ライバーを設定するには、 次の設定が必要です。

° PCIe Vendor ID ( 「Xilinx」 の場合 0x10EE)

° PCIe Device ID (ユーザーの選択によ り異なる )

5. [OK] をク リ ッ ク して設定を終了し、 IP を生成します。

6. アプリ ケーシ ョ ンでの必要に応じて IP の出力ファイルを生成します。

7. [Sources] ウ ィンド ウで IP を右ク リ ッ ク し、 [Open IP Example Design] をク リ ッ ク します。

8. サンプル デザインを生成するディレク ト リ を選択し、 [OK] をク リ ッ ク します。

生成されたサンプル デザインを見る と、 次のこ とがわかり ます。

° PCIe IP がサポート ラ ッパー内の xvc_vsec に接続されています。

° デザインのユーザー アプリ ケーシ ョ ン領域に ILA IP が追加されています。

FPGA デザインのハード ウェア部分に必要な接続は、 次に示すとおりです。 必要に応じて、 その他のデバッグ コアもユーザー アプリ ケーシ ョ ンに追加できます。

注記:図 E-4 には UltraScale+ Integrated Block for PCIe IP を示していますが、サンプル デザインの階層はその他の PCIe IP も同じです。

9. xvc_vsec と表示された Debug Bridge IP をダブルク リ ッ ク して、 この IP のコンフ ィギュレーシ ョ ン オプシ ョ ンを表示します。 次のコンフ ィギュレーシ ョ ン パラ メーターを確認して ください。 これらはド ライバーの設定に使用します。

° PCIe XVC VSEC ID (デフォルトは 0x0008)

° PCIe XVC VSEC Rev ID (デフォルトは 0x0)

重要: Vendor ID 「Xilinx」 またはサンプルと して提供される XVC ド ラ イバーおよびソフ ト ウェアを使用する場合は、これらのパラ メーター値は変更しないでください。 これらの値は、 XVC 拡張機能の検出に使用します。 詳細は PCIe 仕様を参照してください。

10. Flow Navigator で [Generate Bitstream] をク リ ッ ク し、サンプル デザイン プロジェク トのビッ ト ス ト リームを生成します。このビッ ト ス ト リームを FPGA ボードにロードする と、PCIe 経由での XVC デバッグが可能になり ます。

X-Ref Target - Figure E-4

図 E‐4:サンプル デザインの階層

Page 325: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 325

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

XVC-over-PCIe ハードウェア デザインが完成したら、 適切な XVC 対応 PCIe ド ラ イバーおよび関連する XVC-Server ソフ ト ウェア アプリ ケーシ ョ ンを使用して、 Vivado Design Suite を PCIe で接続された FPGA に接続できます。Vivado は同じローカル マシンで動作している XVC-Server アプリ ケーシ ョ ンに接続するこ と も、 別のリモート マシンで動作する XVC-Server アプリ ケーシ ョ ンに TCP/IP ソケッ ト を使用して接続するこ と もできます。

システムのブリングアップ

まず、 ホス ト システムが PCIe リ ンクを検出できるよ うに FPGA をプログラムしてシステムに電源を投入します。これは、 次のいずれかの方法で実行できます。

• デザイン ファイルを FPGA ボード上のフラ ッシュにプログラムする。

• JTAG 経由でデバイスを直接プログラムする。

カードの電源がホス ト PC から供給されている場合、 JTAG によるプログラムを実行するには電源を投入する必要があ り ます。 その後、 再起動する と PCIe リ ンクがエニュ メ レートできます。 システムが起動したら、 Linux の lspci ユーティ リ ティを使用して FPGA ベースの PCIe デバイスの詳細を リ ス ト表示できます。

ド ライバーのコンパイルとロード

提供される PCIe ド ラ イバーおよびソフ ト ウェアは、 実際に使用するプラ ッ ト フォームに合わせてカスタマイズする必要があ り ます。 通常は、 PCIe-XVC-VSEC や AXI-XVC などのデバイス拡張機能やペリ フェラルへのアクセスを試みる前に、 ド ライバーと ソフ ト ウェアが Vendor ID、 Device ID、 Revision ID、 Subsystem Vendor ID、 および Subsystem ID をチェッ クするよ うにカスタマイズします。 提供される ド ラ イバーは汎用に設計されているため、PCIe-XVC-VSEC または AXI-XVC ペリ フェラルの識別を開始する前に Vendor ID と Device ID の互換性しかチェッ クしません。

XVC ド ラ イバーおよびソフ ト ウェアは、 Vivado Design Suite をインス トールする と ZIP ファ イルと して付属します。

1. この ZIP ファ イルを Vivado のインス トール ディ レク ト リから FPGA の接続されたホス ト PC にコピーして解凍 (unzip) します。 このファ イルは、 Vivado インス トール ディ レク ト リの次の場所にあ り ます。

XVC Driver and SW Path: …/data/xicom/driver/pcie/xvc_pcie.zip

XVC ド ラ イバーおよびソフ ト ウェアのコンパイル、 インス トール、 および実行の方法は、 driver_* および xvcserver ディレク ト リにある README.txt ファ イルに記載されています。 こ こでは、 その内容を手順と してま とめます。 ド ライバーおよびソフ ト ウェアのファイルをホス ト PC にコピーし、 root 権限を持つユーザーとしてログインした後、 次の手順を実行してください。

2. driver_*/xvc_pcie_user_config.h ファ イル内の変数を実際のハードウェア デザインおよび IP 設定に合わせて編集します。 編集が必要なのは主に次の変数です。

° PCIE_VENDOR_ID: PCIe IP のカスタマイズ時に定義した PCIe Vendor ID です。

° PCIE_DEVICE_ID: PCIe IP のカスタマイズ時に定義した PCIe Device ID です。

° Config_space: PCIe-XVC-VSEC と AXI-XVC ペリ フェラルのどちらを使用するかを選択します。 デフォルト値の AUTO では、 まず PCIe-XVC-VSEC の検出を試みた後、 PCIe-XVC-VSEC が見つからない場合は AXI-XVC ペリ フェラルへの接続を試みます。 PCIe-XVC-VSEC と AXI-XVC の実装を明示的に選択する場合は、 CONFIG または BAR を使用します。

° config_vsec_id: [Bridge Type] で [From PCIE to BSCAN] を選択した場合に Debug Bridge IP で定義される PCIe XVC VSEC ID (デフォルト値は 0x0008) です。 この値は、 PCIe-XVC-VSEC の検出にのみ使用します。

° config_vsec_rev: [Bridge Type] で [From PCIe to BSCAN] を選択した場合に Debug Bridge IP で定義される PCIe XVC VSEC Rev ID (デフォルト値は 0x0) です。 この値は、 PCIe-XVC-VSEC の検出にのみ使用します。

° bar_index: [Bridge Type] で [From AXI to BSCAN] を選択した場合に Debug Bridge IP にアクセスするために使用する PCIe BAR インデッ クスです。 この BAR インデッ クスは、 PCIe IP のカスタマイズとシステム デザイン内でアドレス指定可能な AXI ペリ フェラルの組み合わせと して指定します。 この値は、 PAXI-XVC ペリ フェラルの検出にのみ使用します。

Page 326: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 326

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

° bar_offset: [Bridge Type] で [From AXI to BSCAN] を選択した場合に Debug Bridge IP にアクセスするために使用する PCIe BAR オフセッ トです。 この BAR オフセッ トは、 PCIe IP のカスタマイズとシステム デザイン内でアドレス指定可能な AXI ペリ フェラルの組み合わせと して指定します。 この値は、 PAXI-XVC ペリフェラルの検出にのみ使用します。

3. ソース ファイルを任意のディレク ト リに移動します。例:

/home/username/xil_xvc or /usr/local/src/xil_xvc

4. root 権限があるこ とを確認して、 ド ライバー ファ イルのあるディ レク ト リに移動します。

# cd /driver_*/

5. ド ラ イバー モジュールをコンパイルします。

# make install

カーネル モジュールのオブジェク ト ファ イルが次のよ うにインス トールされます。

/lib/modules/[KERNEL_VERSION]/kernel/drivers/pci/pcie/Xilinx/xil_xvc_driver.ko

6. depmod を実行して、 新規にインス トールしたカーネル モジュールを見つけます。

# depmod -a

7. 古いバージ ョ ンのド ライバーがロード されていないこ とを確認します。

# modprobe -r xil_xvc_driver

8. モジュールをロード します。

# modprobe xil_xvc_driver

dmesg コマンドを実行する と、 少なく と も次のメ ッセージが表示されます。

kernel: xil_xvc_driver: Starting…

注記: カーネル オブジェク ト ファ イルに対して insmod を実行してモジュールをロードするこ と もできます。

# insmod xil_xvc_driver.ko

ただし、 この方法は古いカーネルとの互換性のために必要な場合を除き、 推奨しません。

9. 生成されるキャラ ク ター ファ イル /dev/xil_xvc/cfg_ioc0 の所有者/所有グループは root ユーザーと root グループで、 パーミ ッシ ョ ン 660 とする必要があ り ます。 アプリ ケーシ ョ ンと ド ライバーが通信するために、 このファ イルのパーミ ッシ ョ ンを正し く設定する必要があ り ます。

# chmod 660 /dev/xil_xvc/cfg_ioc0

10. ド ラ イバー用のシンプルなテス ト プログラムをビルド します。

# make test

11. テス ト プログラムを実行します。

# ./driver_test/verify_xil_xvc_driver

長さの異なるいくつかのテス トが正常に完了する と、 後に次のメ ッセージが表示されます。

"XVC PCIE Driver Verified Successfully!"

Page 327: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 327

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

XVC‐Server アプリケーシ ョ ンのコンパイルと起動

XVC-Server アプリ ケーシ ョ ンは、 Vivado の hw_server と XVC 対応 PCIe デバイス ド ラ イバーを接続します。 Vivado Design Suite は TCP/IP を使用して XVC-Server に接続します。 使用するポート番号には、 ネッ ト ワークのファイアウォール外部から正し くアクセスできるよ うにしておく必要があ り ます。 XVC ソフ ト ウェア アプリ ケーシ ョ ンをコンパイルして起動するには、 次の手順を実行します。 ポート番号はデフォルトの 10200 を使用します。

1. Vivado Design Suite への接続に使用するポートに外部からアクセスできるよ うに、 システムでファイアウォールを設定します。 ポート 10200 を使用します。

2. ホス ト名または IP アド レスを確認します。Vivado を xvcserver アプリ ケーシ ョ ンに接続するにはホス ト名とポート番号が必要です。 各 OS のファ イアウォール ポート設定の詳細は、 OS のヘルプ ページを参照して ください。

3. ソース ファイルを任意のディレク ト リに移動します。例:

/home/username/xil_xvc or /usr/local/src/xil_xvc

4. アプリ ケーシ ョ ン ソース ファ イルがあるディ レク ト リに移動します。

# cd ./xvcserver/

5. アプリ ケーシ ョ ンをコンパイルします。

# make

6. XVC-Server アプリ ケーシ ョ ンを起動します。

# ./bin/xvc_pcie -s TCP::10200

Vivado Design Suite が XVC-Server アプリ ケーシ ョ ンに接続する と、 XVC-Server から次のメ ッセージが表示されます。

Enable verbose by setting VERBOSE evn var.Opening /dev/xil_xvc/cfg_ioc0

Vivado Design Suite から  XVC‐Server アプリケーシ ョ ンへの接続

Vivado Design Suite は、 XVC-Server アプリ ケーシ ョ ンが動作するコンピューター上で実行するこ と も、 イーサネッ ト ネッ ト ワーク経由で接続された別のリモート コンピューター上で実行するこ と もできます。 ただし Vivado が動作しているマシンからポートにアクセスできる必要があ り ます。 Vivado を XVC-Server アプリ ケーシ ョ ンに接続するには、 次の手順を実行します。 こ こでは、 デフォルトのポート番号を使用しています。

1. Vivado Design Suite を起動します。

2. [Open HW Manager] をク リ ッ ク します。

3. ハードウェア マネージャーで、 [Open Target] → [Open New Target] をク リ ッ ク します。

4. [Next] をク リ ッ ク します。

5. [Local server] を選択し、 [Next] をク リ ッ ク します。

これで、 xvcserver アプリ ケーシ ョ ンに接続するための hw_server がローカル マシン上で起動します。

6. [Add Xilinx Virtual Cable (XVC)] をク リ ッ ク します。

7. [Add Virtual Cable] ダイアログ ボッ クスで、 xvcserver アプリ ケーシ ョ ンへの接続に必要な情報 (ホス ト名または IP アドレス、 およびポート番号) を正し く入力します。 [OK] をク リ ッ ク します。

Page 328: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 328

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

8. 新規に追加した XVC ターゲッ ト を [Hardware Targets] の一覧から選択し、 [Next] をク リ ッ ク します。

X-Ref Target - Figure E-5

図 E‐5: [Add Virtual Cable] ダイアログ ボックス

Page 329: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 329

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

9. [Finish] をク リ ッ ク します。

10. [Hardware Device Properties] ウ ィンド ウでデバッグ ブリ ッジ ターゲッ ト を選択し、 適切なプローブ ファ イル (.ltx) を割り当てます。

X-Ref Target - Figure E-6

図 E‐6: XVC ターゲッ ト

X-Ref Target - Figure E-7

図 E‐7: [Hardware Device Properties] ウィンドウ

Page 330: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 330

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 E: Xilinx Virtual Cable (XVC) を使用したデバッグ

これでデバッグ コアおよびデバッグ信号が Vivado から認識され、 Vivado ハードウェア ツール インターフェイス経由で標準のデバッグ アプローチを使用してデザインをデバッグできます。

これによ り、 JTAG ではなく PCIe リ ンク経由で Xilinx Virtual Cable テク ノ ロジを使用してザイ リ ンクス FPGA デザインをデバッグできます。 接続を終了するには、 Vivado の右ク リ ッ ク メニューを使用してハード ウェア サーバーを終了します。 PCIe 接続が失われた場合、 または XVC-Server アプリ ケーシ ョ ンの動作が停止した場合は、 FPGA および関連するデバッグ コアへの接続も失われます。

実行時の注意事項

デバイスのプログラム中は Vivado から XVC-Server アプリ ケーシ ョ ンには接続しないでください。デバイスのプログラムが完了し、 ハード ウェア PCIe インターフェイスが動作を開始してから XVC-Server アプリ ケーシ ョ ンを起動し、Vivado との接続を開始してください。

PR デザインの場合、 RP 動作中は接続を終了するこ とが重要です。 PR 動作中はデバッグ コアが PR 領域内にあるため、 デバッグ ツ リーの一部が再プログラムされるこ とが予想されます。 PR 動作中は、 Vivado デバッグ ツールが XVC を介して FGPA と通信しないよ うにして ください。

Page 331: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 331

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 F

その他のリソースおよび法的通知

ザイリンクス リソース

アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照してください。

Documentation Navigator およびデザイン  ハブ

Xilinx Documentation Navigator (DocNav) を使用する とザイ リ ンクスの資料、 ビデオ、 およびサポート リ ソースにアクセスして情報をフ ィルター、 検索できます。 Xilinx Documentation Navigator を開くには、 次のいずれかを実行します。

• Vivado IDE で [Help] → [Documentation and Tutorials] をク リ ッ ク します。

• Windows で [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [DocNav] をク リ ッ ク します。

• Linux コマンド プロンプ トに 「docnav」 と入力します。

ザイ リ ンクス デザイン ハブには、 資料やビデオへのリ ンクがデザイン タスクおよびト ピッ クごとにま とめられており、 これらを参照するこ とでキー コンセプ ト を学び、 よ く ある質問を解決できます。 デザイン ハブにアクセスするには、 次のいずれかを実行します。

• Xilinx Documentation Navigator で [Design Hubs View] タブをク リ ッ ク します。

• ザイ リ ンクス ウェブサイ トのデザイン ハブ ページを参照します。

注記: Documentation Navigator の詳細は、 ザイ リ ンクス ウェブサイ トの Documentation Navigator ページを参照してください。

注意: Xilinx Documentation Navigator からは、 日本語版は参照できません。 ウェブサイ トのデザイン ハブ ページの一部は翻訳されており、 日本語版が提供されている場合はそのリ ンク も追加されています。

Page 332: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 332

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 F: その他のリソースおよび法的通知

参考資料

次の資料は、 この製品ガイ ドの補足資料と して役立ちます。 日本語版のバージ ョ ンは、 英語版よ り古い場合があ ります。

注記:日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『AMBA AXI4-Stream Protocol Specification』

2. PCI-SIG 仕様 (www.pcisig.com/specifications)

3. 『UltraScale+ Device Integrated Block for PCI Express LogiCORE IP 製品ガイ ド』 (PG213: 英語版、 日本語版)

4. 『AXI Bridge for PCI Express Gen3 Subsystem v2.1 製品ガイ ド』 (PG194)

5. 『DMA/Bridge Subsystem for PCI Express 製品ガイ ド』 (PG195)

6. 『Virtex-7 FPGA Gen3 Integrated Block for PCI Express LogiCORE IP 製品ガイ ド』 (PG023)

7. 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570: 英語版、 日本語版)

8. 『Kintex UltraScale FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS892: 英語版、 日本語版)

9. 『Virtex UltraScale FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS893: 英語版、 日本語版)

10. 『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583: 英語版、 日本語版)

11. 『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576: 英語版、 日本語版)

12. 『UltraScale アーキテクチャ GTY ト ランシーバー ユーザー ガイ ド』 (UG578: 英語版、 日本語版)

13. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896: 英語版、 日本語版)

14. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994: 英語版、日本語版)

15. 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910: 英語版、 日本語版)

16. 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903: 英語版、 日本語版)

17. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900: 英語版、 日本語版)

18. 『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909: 英語版、 日本語版

19. 『ISE から Vivado Design Suite への移行ガイ ド』 (UG911: 英語版、 日本語版)

20. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908: 英語版、 日本語版)

21. 『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947)

22. 『UltraScale Devices Debug Bridge LogiCORE IP 製品ガイ ド』 (PG245)

23. 『In-System IBERT LogiCORE IP 製品ガイ ド』 (PG246)

24. 『ATX Power Supply Design Guide』

25. 『Gen2 x8 コンフ ィギュレーシ ョ ンの Integrated PCI Express Endpoint Block を使用する PIPE モード シ ミ ュレーシ ョ ン』 (XAPP1184: 英語版、 日本語版)

Page 333: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 333

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 F: その他のリソースおよび法的通知

改訂履歴

次の表に、 この文書の改訂履歴を示します。

日付 バージョ ン 内容

2017 年 10 月 4 日 4.4 第 1 章 「概要」 :

• 表 2-1 「利用可能な PCI Express 用統合ブロッ ク」 を更新。

第 2 章 「製品仕様」 :

• cfg_mgmt_addr の幅の説明を更新。

• cfg_current_speed、 cfg_max_payload、 cfg_max_read_req、 cfg_err_cor_out、cfg_err_nonfatal_out、 cfg_err_fatal_out、 cfg_local_error の説明を一部更新。

• cfg_interrupt_msi_function_number、 cfg_ext_read_data_valid の説明を大幅に更新。

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

• 「Tandem コンフ ィギュレーシ ョ ン」 の項を更新。

• 「コンプ リーター コンプリーシ ョ ン ディ スク リプターのフ ィールド」 のビッ ト インデッ クス 79:72、 87:80、 および 88 の説明を大幅に更新。

• 「 リ クエスター リ クエス ト ディ スク リプターのフ ィールド」 のビッ ト インデックス 87:80、 95:88、 および 120 の説明を大幅に更新。

第 4 章 「デザイン フローの手順」 :

• Vivado IP カタログの次のオプシ ョ ンについて詳細を追加。

° 「PF0 ID の初期値」 → 「デバイス ID」 の値 ([PF0 IDs] および [PF1 IDs] タブ)。

° [MSIx Table Settings] → [Table Size] ([MSI-X Capabilities] タブ)。

付録 A 「アップグレード」 :

• 新のコア バージ ョ ンに合わせてポートおよびパラ メーターの変更を更新。

付録 D 「Xilinx Virtual Cable (XVC) を使用したデバッグ」 を追加。

2017 年 6 月 7 日 4.3 • 「Tandem コンフ ィギュレーシ ョ ン」 の項を一部更新。

• cfg_interrupt_msi_pending_status のポートの説明を更新。

• 「MSI モード」 の図を更新。

2017 年 4 月 5 日 4.3 第 3 章 「コアを使用するデザイン」 :

• 「共有ロジッ ク」 の項に 「GT Wizard を使用する方法」 を追加。

• 「Tandem コンフ ィギュレーシ ョ ン」 の項を更新。

第 4 章 「デザイン フローの手順」 :

• 「PCIe DRP ポート 」 と 「GT DRP ポート 」 の表を追加。

• [Enable In System IBERT] に Gen1 および Gen2 スピード リ ンクのサポート を追加。

2016 年 12 月 19 日 4.2 • 第 4 章 「デザイン フローの手順」 で、 [Enable In System IBERT] をハード ウェア デバッグのみに使用するよ うに説明を明確化 (このオプシ ョ ンをオンにして生成したコアではシ ミ ュレーシ ョ ンがサポート されない)。

2016 年 11 月 30 日 4.2 Vivado IP カタログのコア オプシ ョ ンを変更。

• [Extended Capabilities 1] および [Extended Capabilities 2] タブの [Enable AER Capability] オプシ ョ ンに [ECRC check capable] サブ オプシ ョ ンを追加。

• [GT Settings] タブの [Enable Auto RxEq] 設定が LPM または DFE に与える影響を明確化。

2016 年 10 月 19 日 4.2 • 第 2 章 「製品仕様」 の編集を更新。

Page 334: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 334

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 F: その他のリソースおよび法的通知

2016 年 10 月 5 日 4.2 • 性能およびリ ソース使用量に関するデータをウェブに移動。

• 「Tandem コンフ ィギュレーシ ョ ン」 の項を更新。

• 第 4 章 「デザイン フローの手順」 で 「デバイス コンフ ィギュレーシ ョ ン別の BAR サイズ範囲」 の表を更新。

• 第 4 章 「デザイン フローの手順」 で Advanced モードの [Basic] タブに [Enable Parity] オプシ ョ ン、 [GT Settings] タブに [Enable Auto RxEq] オプシ ョ ン、および新しい [Add. Debug Options] タブに [Enable In System IBERT]、 [Enable Descrambler for Gen3 Mode]、 [Enable JTAG Debugger] パラ メーターを追加。

• 付録 「移行およびアップグレード」 で 「パラ メーターの変更点」 および 「ポートの変更点」 の表を更新。

2016 年 6 月 8 日 4.2 • 「Tandem コンフ ィギュレーシ ョ ン」 の項を更新。

• 「割り込みリ クエス トの生成」 を更新。

• 新しいデバイスの GT ロケーシ ョ ンを追加。

2016 年 4 月 6 日 4.2 • 「Tandem コンフ ィギュレーシ ョ ン」 の項:

° 「Tandem PROM/PCIe がサポートするコンフ ィギュレーシ ョ ン」 の表を更新。

° 「フ ィールド アップデート を伴う Tandem」 の項を追加。

° 「フ ィールド アップデート を伴う Tandem デザインのデバッグ」 の項を追加。

• 付録 「移行およびアップグレード」 で 「パラ メーターの変更点」 および 「ポートの変更点」 の表を追加。

• 「Kintex UltraScale デバイスの GT ロケーシ ョ ン」 の表を更新。

2016 年 1 月 29 日 4.1 • 表 2-2 「利用可能な PCI Express 用統合ブロッ ク」 を更新。

2015 年 11 月 20 日 4.1 • 表 2-3 「デバイスの 低要件」 の Gen3 の詳細を更新。

2015 年 11 月 18 日 4.1 • 第 2 章の表 「利用可能な PCI Express 用統合ブロッ ク」 および付録 B の表「Kintex® UltraScale™ デバイスの GT ロケーシ ョ ン」 の XCKU095 デバイスに FFVA1156 パッケージを追加。

• 「サポート されるスピード グレード」 を更新。

• 次のポートの幅を更新: cfg_function_status、 cfg_vf_status、cfg_function_power_state、 cfg_vf_power_state、 cfg_rcb_status、cfg_dpa_substate_change、 cfg_tph_requester_enable、 cfg_tph_st_mode、cfg_vf_tph_requester_enable、 cfg_vf_tph_st_mode、 cfg_vf_flr_in_process、cfg_per_function_number、 cfg_flr_done、 cfg_flr_in_process、cfg_interrupt_pending、 cfg_interrupt_msi_enable、 cfg_interrupt_msi_vf_enable、および cfg_interrupt_msi_mmenable。

• cfg_negotiated_width の利用可能なネゴシエート された リ ンク幅の値を追加。

• 表 「Tandem PROM/PCIe がサポートするコンフ ィギュレーシ ョ ン」 のステータス (サポート対象外、 ベータ、 プロダクシ ョ ン) を更新。

• Vivado IDE の [Message Signal Interrupt] オプシ ョ ンを削除。

• Vivado IDE の [Enable RX Message INTFC] オプシ ョ ンを追加。

2015 年 9 月 30 日 4.1 • 「利用可能な PCI Express 用統合ブロッ ク」 を更新。

• 「Tandem コンフ ィギュレーシ ョ ン」 の項を更新。

• PIPE 信号のマッピングに関する表 「共通の入力/出力コマンド とエンドポイント PIPE 信号のマッピング」 および 「入力/出力バスと Endpoint PIPE 信号のマッピング」 を更新。

• 推奨される Virtex® UltraScale デバイスおよび Kintex UltraScale デバイスの GT ロケーシ ョ ンを更新。

2015 年 7 月 2 日 4.0 • リ ソース使用量のデータを訂正。

日付 バージョ ン 内容

Page 335: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 335

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 F: その他のリソースおよび法的通知

2015 年 6 月 24 日 4.0 • 「利用可能な PCI Express 用統合ブロッ ク」 を更新。

• 「デバイスの 低要件」 の表を追加。

• m_axis_cq_tdata 信号の幅の説明を更新。

• addr_offset[2:0] 信号の説明を更新。

• sys_clk_gt 信号を追加。

• 「共通の PCI コンフ ィギュレーシ ョ ン空間ヘッダー」 の表を更新。

• USER_CLK2_FREQ の属性値を更新。

• 共有ロジッ クが利用可能な場合に関する重要な注釈を追加。

• 「Tandem コンフ ィギュレーシ ョ ン」 の項を更新。

• 「受信ト ランザクシ ョ ンの順序」 の項で 「受信順序の規則」 の表を追加。

• 「統合ブロ ッ ク コアの再配置」 の項を追加。

• GT のロケーシ ョ ン:

° 全体的に GT ロケーシ ョ ンへのコア ピン配置の名前を変更。

° ある GT ロケーシ ョ ンに対するパッケージ ピンを印刷するコマンドを追加。

° 「推奨される Virtex UltraScale GT ロケーシ ョ ン」 の表を更新。

2015 年 5 月 7 日 4.0 • 「Tandem コンフ ィギュレーシ ョ ン」 の項を更新。

2015 年 4 月 1 日 4.0 • 「ク ロ ッ クおよびリセッ ト インターフェイスのポートの説明」 で sys_reset、pcie_perstn0_out、 pcie_perstn1_in、 および pcie_perstn1_out を更新。

• コアのピン配置情報を更新。

• Tandem コンフ ィギュレーシ ョ ンに関する情報を更新。

• コアのパラ メーター [Additional Transceiver Control and Status Ports]、 [CORE CLOCK Frequency]、 [PLL Selection]、 および [Link Partner TX Preset] を追加。

• パラ メーター [Legacy Interrupt Settings]、 および [MSI Capabilities] を更新。

• 既存のパラ メーター [PPM Offset between receiver and transmitter]、 [Spread spectrum clocking]、および [Insertion loss at Nyquist] を新しい [GT Settings] ページへ移動。

• エンドポイン ト コンフ ィギュレーシ ョ ンで合成/インプ リ メンテーシ ョ ン後のネッ ト リ ス ト シ ミ ュレーシ ョ ンのサポート を追加。

• PIPE モード インプリ メンテーシ ョ ンのサポート を追加。

• コンフ ィギュレーター サンプル デザインの詳細を追加。

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 • デバイス情報を更新。

日付 バージョ ン 内容

Page 336: UltraScale Devices Gen3 Integrated Block for PCI …...UltraScale Devices Gen3 Integrated Block for PCI Express v4.4 LogiCORE IP 製品ガイド Vivado Design Suite PG156 2017 年

UltraScale Devices Gen3 Block for PCIe v4.4 336

PG156 2017 年 10 月 4 日 japan.xilinx.com

付録 F: その他のリソースおよび法的通知

お読みください: 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) という状態で提

供され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこ

れらに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿ま

たは貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負

わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損

害には、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信

用の損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可

能であったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情

報に含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負

いません。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ませ

ん。 一定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補

助的条件に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプ

リ ケーシ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ う な重大なアプリ ケーシ ョ ンにザイ リ ンクスの

製品を使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照して ください。

自動車用のアプリケーシ ョ ンの免責条項

オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性

の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セー

フティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用

前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品

を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。

© Copyright 2013-2017 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含

まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 すべてのその他の商標は、 それぞれ

の保有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページ

の右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語

で入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは

受け付けており ません。 あらかじめご了承ください。

2014 年 4 月 2 日 3.0 • ブロ ッ ク セレクシ ョ ンを更新。

• コアのピン配置情報を更新。

• 共有ロジッ クの情報を更新。

2013 年 12 月 18 日 2.0 初版

日付 バージョ ン 内容