...

PCI Express 用 Zynq UltraScale+ MPSoC コントローラーおよび

by user

on
Category: Documents
57

views

Report

Comments

Transcript

PCI Express 用 Zynq UltraScale+ MPSoC コントローラーおよび
ア プ リ ケーシ ョ ン ノ ー ト : Zynq UltraScale+ MPSoC
XAPP1289 (v1.0) 2016 年 6 月 20 日
PCI Express 用 Zynq UltraScale+ MPSoC コ ン ト ロー ラ ーおよび DMA をルー ト ポー ト と し て使用
著者 : Bharat Kumar G.、 Sunita Jain、 Jason Lawley
概要
PCI Express® アーキ テ ク チ ャ の一般的な シ ス テ ムでは、 シ ス テ ム メ モ リ と エン ド ポ イ ン ト 間でデー タ を転送す る ために、
エン ド ポ イ ン ト の多 く にシ ス テ ム ホ ス ト で制御 さ れ る DMA エン ジ ンが含まれます。 こ れに よ り 、 プ ロ セ ッ サは こ の タ ス
ク を処理す る 必要がな く な る ため、 ほかの処理に利用で き る サ イ ク ルが多 く な り ます。 こ の よ う なシ ス テ ムのデ メ リ ッ ト
は、 シ ス テ ムか ら カー ド (エン ド ポ イ ン ト ) にデー タ を移動す る 際に、 ど こ で フ ェ ッ チす る か を エン ド ポ イ ン ト に通知す る
必要があ る ために レ イ テ ン シが増加す る こ と です。
PCI Express 用 Zynq® UltraScale+™ コ ン ト ロ ー ラ ーの内蔵 DMA エン ジ ンは、 エ ン ド ポ イ ン ト だけでな く 、 ルー ト ポー ト
モー ド と し て も 使用で き ます。 内蔵 DMA エン ジ ン をルー ト ポー ト モー ド で使用する こ と に よ り 、 ほかの多 く の処理サブ
シ ス テ ムでは不可能な方法で、 レ イ テ ン シ を削減で き 、 さ ら にシ ス テ ム性能を向上で き る 場合 も あ り ます。
こ のアプ リ ケーシ ョ ン ノ ー ト では、 PCI Express 用 コ ン ト ロ ー ラ ーがルー ト ポー ト と し て構成 さ れてい る と き に ど の よ う
に こ の コ ン ト ロ ー ラ ーの DMA を設定 し て使用す る のか を説明 し ます。 さ ら に、 シ ス テ ム と カー ド 間でのデー タ 移動のパ
フ ォーマ ン ス モニ タ ーの結果 も 示 し ます。 こ のデザ イ ンは、 ZCU102 ハー ド ウ ェ ア プ ラ ッ ト フ ォーム を タ ーゲ ッ ト と し て
お り 、 ルー ト コ ンプ レ ッ ク ス と し て動作する Gen1 x1 か ら Gen2 x4 ま での PCIe シ ス テ ム を開発で き ます。
開発者やシ ス テ ム アーキ テ ク ト は、 こ のアプ リ ケーシ ョ ン ノ ー ト を利用する こ と に よ り 、デー タ 移動の最 も 効果的な方法
を判別す る 手段を さ ら に得 る こ と がで き ます。 PCI Express 用 コ ン ト ロ ー ラ ー内の DMA を それのみで使用する か、 エン ド
ポ イ ン ト と ルー ト ポー ト の両方で DMA エン ジ ン を利用す る 複雑な方式を採用す る かにかかわ ら ず、 Zynq UltraScale+ は、
こ の よ う なシ ス テ ム を実現す る ための機能 と 手段を提供 し ます。
こ のアプ リ ケーシ ョ ン ノ ー ト の リ フ ァ レ ン ス デザ イ ン フ ァ イ ルは、 ザ イ リ ン ク ス の ウ ェ ブサ イ ト か ら ダ ウ ン ロ ー ド で き
ます。 デザ イ ン フ ァ イ ルの詳細は、 8 ページの 「 リ フ ァ レ ン ス デザ イ ン」 を参照 し て く だ さ い。
は じ めに
こ の資料のデザ イ ンでは、DMA を PCI Express のルー ト ポー ト と し て 使用 し 、エン ド ポ イ ン ト に対 し てデー タ をプ ッ シ ュ
お よ びプル し ます。 ルー ト ポー ト モー ド では、 Zynq UltraScale+ 上の PCI Express 用コ ン ト ロ ー ラ ーが統合 さ れた DMA ブ
ロ ッ ク と 共に使用 さ れます。
こ のデザ イ ンは、 エ ン ド ポ イ ン ト と し て KCU105 ボー ド のベース デザ イ ン を使用 し てい ます。 エ ン ド ポ イ ン ト デザ イ ン
には KCU105 上の DDR4 を タ ーゲ ッ ト に し た Memory Interface Generator IP (MIG) が含まれ、こ れはザ イ リ ン ク ス IP の AXI
Bridge for PCI Express Gen3 v2.0 を介 し て PCIe BAR にマ ッ プ さ れてい ます。 デザ イ ン の概要は、 2 ページの図 1 を参照 し
て く だ さ い。
PCIe BAR か ら DDR4 お よ び AXI Performance Monitor へのア ド レ ス変換は、 IP のカ ス タ マ イ ズの際に設定 し ます。 ルー ト
ポー ト 上の DMA は、 エ ン ド ポ イ ン ト を コ プ ロ セ ッ サ ま たはア ク セ ラ レー タ ブ ロ ッ ク と し て使用で き る カ ス タ ム アプ リ
ケーシ ョ ンに使用 さ れます。
本資料は表記のバージ ョ ンの英語版を翻訳 し た も ので、内容に相違が生 じ る場合には原文を優先 し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本
語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
1
必要な環境
必要な環境
ハー ド ウ ェ ア
1.
ZCU102 ボー ド ( と 電源)、 USB-UART ケーブル、 SD カー ド
2.
KCU105 ボー ド ( と 電源ケーブル)、 USB-JTAG ケーブル
ソフ ト ウェア
1.
Vivado® Design Suite 2016.1
2.
PetaLinux 2016.1
デザイ ンの概要
図 1 にデザ イ ンの概要を示 し ます。 KCU105 エン ド ポ イ ン ト にプ ロ グ ラ ムす る ビ ッ ト フ ァ イ ルが、 リ フ ァ レ ン ス デザ イ ン
パ ッ ケージに付属 し てい ます。 こ の資料で使用す る 用語について説明 し ます。
•
AXI メ モ リ と は、 Zynq UltraScale+ MPSoC 上の PS-DDR の こ と です。
•
EP メ モ リ ま たは PCIe メ モ リ と は、 KCU105 エン ド ポ イ ン ト 上の DDR の こ と です。
X-Ref Target - Figure 1
ZCU102
DDR4
Software
Endpoint Driver
Linux PCI
Subsystem
UART
IIC
APM
DDRC
S1 S2
APU
(Cortex-A53
Cluster)
100 MHz
Clock
CCI
GIC
Core
Switch
PCIe Root Port
Driver
ZU9EG (Processing System)
AXIPCIe
Bridge
+ DMA
PSPCIe
MIG
DDR4
SI5341
G
T
R
PCIe
Slot
MIO_31
(PERST#)
Control Path
PCIe Link x4 Gen2
PCIe Root
DMA Driver
AXI Bridge for
PCIe Gen3
(Xilinx IP)
KU 325T FPGA
KCU105 PCIe Endpoint Card
Data Path
;
図 1 : デザイ ンの概要
注記 : DDRC の S1 と S2 は、 CCI か ら の イ ン タ ーフ ェ イ ス が DDRC に接続 さ れ る ス ロ ッ ト を表 し てい ます。
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
2
デー タ フ ロー
デー タ フ ロー
ルー ト ポー ト か ら 発行 さ れた PCIe リ ン ク 上の ト ラ ンザ ク シ ョ ン ( メ モ リ 読み出 し お よ び メ モ リ 書 き 込み) は、 エン ド ポ イ
ン ト で受信 さ れ る には、 エ ン ド ポ イ ン ト の BAR (ベー ス ア ド レ ス レ ジ ス タ ) のいずれかに ヒ ッ ト す る 必要が あ り ま す。
DMA は、 送信元 と 転送先のデ ィ ス ク リ プ タ ー (それぞれ SRC-Q お よ び DST-Q と 呼ぶ) を 提供 し ま す。 DMA の詳細は、
『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 [参照 1] を参照 し て く だ さ い。
2 ページ の図 1 に示す と お り 、 PCIe 用 コ ン ト ロ ー ラ ーは、 CCI (キ ャ ッ シ ュ コ ヒ ー レ ン ト イ ン タ ー コ ネ ク ト ) を 介 し て
PS-DDR にア ク セ ス し ます。PS-DDR に接続 さ れてい る CCI か ら PS-DDR への イ ン タ ーフ ェ イ ス には、ス ロ ッ ト 1 と ス ロ ッ
ト 2 の 2 つがあ り ます。
注記 : 以降の説明では、 DMA と は、 Zynq UltraScale+ MPSoC 上の PCIe 用 コ ン ト ロ ー ラ ーの一部であ り 、 かつルー ト ポー
ト と し て機能 し てい る も のを指 し ます。
制御 フ ロー
APU SMP Linux 上でルー ト ポー ト DMA ド ラ イ バーが実行 さ れ る と 、 次の動作が起 こ り ます。
1.
2.
PS-DDR メ モ リ にデ ィ ス ク リ プ タ ー Q (SRC と DST、 お よ びそれぞれの ス テー タ ス) がセ ッ ト ア ッ プ さ れます。
a.
SRC エ レ メ ン ト と DST エ レ メ ン ト 内の フ ラ グに よ っ てデー タ 転送の方向が指定 さ れます。
b.
すべての DMA デ ィ ス ク リ プ タ ー Q が、 PS-DDR (ルー ト ポー ト メ モ リ ) 内に含まれます。
DMA 動作に必要な、 PCIe 用 コ ン ト ロ ー ラ ーの各種 DMA レ ジ ス タ がプ ロ グ ラ ム さ れます。
デー タ フ ロー
ルー ト ポー ト DMA ド ラ イ バーに よ り DMA がセ ッ ト ア ッ プ さ れ る と 、 次の動作が起 こ り ます。
1.
2.
S2C (ルー ト ポー ト か ら エン ド ポ イ ン ト ) 転送の場合
a.
DMA は、 AXI ド メ イ ン内での読み出 し を (SRC-Q エ レ メ ン ト か ら のア ド レ ス に対 し て) 発行 し 、 デー タ を フ ェ ッ
チ し ます。
b.
DMA は次に、 PCIe リ ン ク 上で メ モ リ 書 き 込み ト ラ ンザ ク シ ョ ン を (DST-Q エ レ メ ン ト か ら のア ド レ ス に対 し て)
発行 し 、 デー タ をエン ド ポ イ ン ト に転送 し ます。
c.
こ の書 き 込みがエン ド ポ イ ン ト で受信 さ れ、 ア ド レ ス が変換 さ れて (AXI Bridge for PCI Express Gen3 IP に よ り
PCIe BAR か ら EP-DDR AXI ド メ イ ン ア ド レ ス に変換)、 デー タ が EP-DDR メ モ リ へ転送 さ れます。
C2S (エン ド ポ イ ン ト か ら ルー ト ポー ト ) 転送の場合
a.
ルー ト 上の DMA が、 PCIe リ ン ク 上で読み出 し を (SRC-Q エ レ メ ン ト か ら のア ド レ ス に対 し て) 発行 し ます。 こ の
ダ ウ ン ス ト リ ーム メ モ リ 読み出 し が、 AXI Bridge for PCI Express Gen3 IP に よ っ て EP-DDR AXI ド メ イ ン ア ド レ
ス に変換 さ れます。
b.
EP-DDR AXI ド メ イ ン ア ド レ ス か ら 読み出 さ れたデーが、 デー タ を含む完了 と し て PCIe リ ン ク 経由で受信 さ れ
ます。
c.
DMA が、 AXI ド メ イ ンに対 し て書き 込みを (ルー ト ポー ト 内で、 DST-Q エ レ メ ン ト か ら のア ド レ ス に対 し て) 発
行 し 、 PCIe リ ン ク 経由で受信 し たデー タ を PS-DDR メ モ リ に転送 し ます。
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
3
コ ンポーネ ン ト
コ ンポーネ ン ト
図 2 に ソ フ ト ウ ェ ア コ ン ポー ト ネ ン ト を示 し ます。
X-Ref Target - Figure 2
MPSoC
APU (SMP Linux)
User
Application
Raw
Driver
PCIe-Root
Port DMA
Driver
(Kernel
space)
User
Logic (EP
Specific)
User Space
GIC
Interrupt
PCI
Subsystem
PS-PCIe
Controller
PCIe Root
Port
Driver
ROOT
COMPLEX
PCIe
x4 Gen2
Link
Kernel Space
;
図 2 : ソ フ ト ウ ェ アの概要
こ のデザ イ ンの主な コ ン ポーネ ン ト は次の と お り です。
1.
第一段階ブー ト ロ ーダー (FSBL) : FSBL は、 各種ペ リ フ ェ ラ ル、 ク ロ ッ ク 、 PS-DDR に関 し て ZCU102 を セ ッ ト ア ッ
プ し 、 ルー ト モー ド 動作用に PCI Express コ ン ト ロ ー ラ ーをプ ラ グ ラ ム し ます。
2.
ルー ト ポー ト ド ラ イ バー : こ の ド ラ イ バーは、 PetaLinux ビル ド に よ り 提供 さ れ る カーネルの一部です。 ZCU102 を
PCIe ルー ト ポー ト と し て使用す る ための詳細は、 http://www.wiki.xilinx.com/ZynqMP+Linux+PCIe+Root+Port を参照 し
て く だ さ い。 こ の ド ラ イ バーは、 MPSoC 上の PCI Express コ ン ト ロ ー ラ ー内で AXI-PCIe ブ リ ッ ジ を セ ッ ト ア ッ プ し 、
エニ ュ メ レーシ ョ ン用に Linux PCI サブシ ス テ ムに接続 し ます。
3.
ルー ト ポー ト DMA ド ラ イ バー : こ の ド ラ イ バーは、 MPSoC の PCI Express コ ン ト ロ ー ラ ーの DMA を管理 し ます。
a.
すべての DMA チ ャ ネル Q (送信元 Q、転送先 Q、対応す る ス テー タ ス Q) が、こ の ド ラ イ バーに よ り 管理 さ れます。
b.
すべての Q は、 AXI (PS-DDR) メ モ リ ー内に含まれます。
c.
ダ ウ ン ス ト リ ーム (ルー ト ポー ト か ら エン ド ポ イ ン ト ) 転送の場合、 送信元バ ッ フ ァ ーは AXI メ モ リ にあ り 、 転
送先バ ッ フ ァ ーはエン ド ポ イ ン ト の PCIe メ モ リ にあ り ます。
d.
ア ッ プ ス ト リ ーム (エン ド ポ イ ン ト か ら ルー ト ポー ト ) 転送の場合、 送信元バ ッ フ ァ ーはエン ド ポ イ ン ト の PCIe
メ モ リ にあ り 、 転送先バ ッ フ ァ ーは AXI メ モ リ (PS-DDR) にあ り ます。
e.
MPSoC の PCI Express コ ン ト ロ ー ラ ーか ら の、 AXI ド メ イ ンにあ る DMA 割 り 込みが使用 さ れます。 エン ド ポ イ
ン ト か ら の割 り 込みは使用 さ れません。
f.
ダ ウ ン ス ト リ ーム転送用のデー タ バ ッ フ ァ ー と ア ッ プ ス ト リ ーム転送か ら デー タ を受信す る ための フ リ ー バ ッ
フ ァ ーを提供す る ユーザー空間アプ リ ケーシ ョ ンが、 付属のデザ イ ン内にあ り ます。
ユーザー ロ ジ ッ ク : ルー ト DMA ド ラ イ バーの こ の部分は、 エン ド ポ イ ン ト 用の基本的な初期化 タ ス ク を実行 し ます
(エン ド ポ イ ン ト に固有)。 現在のデザ イ ン (KCU105 エン ド ポ イ ン ト ) では、 こ の ド ラ イ バーは、 BAR4 にマ ッ プ さ れ る
AXI Performance Monitor を セ ッ ト ア ッ プ し ます。
DMA ド ラ イ バーは PCI プ ロ ーブ を 2 回呼び出 し ます (PCIe ルー ト ポー ト 用に 1 回 と PCIe エン ド ポ イ ン ト 用に 1 回)。
DMA ド ラ イ バーの上に Raw ド ラ イ バーが配置 さ れ、ユーザー空間アプ リ ケーシ ョ ンに接続 さ れます。こ の ド ラ イ バー
は、 デー タ 転送の方向に基づいて、 デー タ 移動用の関連 DMA ド ラ イ バー API を呼び出 し ます。 ユーザー空間アプ リ
ケーシ ョ ンは、 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーです。
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
4
パフ ォ ーマ ン ス モ ニ タ ー
4.
デバ イ ス ツ リ ー : こ れは PCI Express コ ン ト ロ ー ラ ー用の関連 ノ ー ド を リ ス ト し た も ので、 ルー ト ポー ト ド ラ イ バー
と ルー ト DMA ド ラ イ バーで使用 さ れます。
パフ ォ ーマ ン ス モニ タ ー
AXI Performance Monitor (APM) を使用 し て、読み出 し と 書 き 込みのバ イ ト 数を使用 し た スループ ッ ト 統計が収集 さ れます。
Zynq UltraScale+ MPSoC の場合、 PS 内の統合 APM が使用 さ れます。 スループ ッ ト は、 次の場所でモニ タ ー さ れます。
1.
Zynq UltraScale+ MPSoC の PS-DDR
PCI Express 用 コ ン ト ロ ー ラ ーか ら の ト ラ フ ィ ッ ク は、 ス ロ ッ ト 1 と ス ロ ッ ト 2 を介 し て PS-DDR に送信 さ れます。 こ
こ での統計には、 実際のデー タ パケ ッ ト の読み出 し と 書 き 込みのほかに、 PS-DDR への APU ア ク セ ス (DMA エン ジ
ンに よ る Q フ ェ ッ チ/更新) が含まれます。APM と PS-DDRC の ス ロ ッ ト の場所の詳細は、『Zynq UltraScale+ MPSoC テ
ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 [参照 1] を参照 し て く だ さ い。
2.
KCU105 EP-DDR
こ れは、 EP-DDR に送信 さ れ る 実際のデー タ ペ イ ロ ー ド の スループ ッ ト を (PCIe プ ロ ト コ ルや変換層パケ ッ ト のオー
バーヘ ッ ド な し で) 測定 し ます。
テ ス ト の説明
テ ス ト のセ ッ ト ア ッ プ と 手順の詳細は http://www.wiki.xilinx.com/XAPP1289+PCIe+Root+DMA を参照 し て く だ さ い。
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
5
結果
結果
図 3 は、 シ ス テ ムか ら カー ド (S2C) と カー ド か ら シ ス テ ム (C2S) のパフ ォーマ ン ス それぞれを示 し た も のです。 次の こ と
がわか り ます。
•
パケ ッ ト サ イ ズに伴 う スループ ッ ト の変化は予想どお り に観測 さ れてい ます (パケ ッ ト はユーザー空間アプ リ ケー
シ ョ ンで生成)。
•
特定のパケ ッ ト サ イ ズのダ ウ ン ス ト リ ーム ト ラ フ ィ ッ ク (S2C) の スループ ッ ト は、同 じ サ イ ズでのア ッ プ ス ト リ ーム
ト ラ フ ィ ッ ク (C2S) の スループ ッ ト よ り も 高 く な っ てい ます。
°
ダ ウ ン ス ト リ ーム ト ラ フ ィ ッ ク では DMA は メ モ リ 書 き 出 し ト ラ ンザ ク シ ョ ン を PCIe リ ン ク 上で発行す る のに
対 し て、 ア ッ プ ス ト リ ーム ト ラ フ ィ ッ ク の場合は、 メ モ リ 読み出 し ト ラ ンザ ク シ ョ ンが PCIe リ ン ク 上に存在 し
ます。
X-Ref Target - Figure 3
;
図 3 : パフ ォ ーマ ン ス サマ リ
注記 : エン ド ポ イ ン ト DDR の帯域幅には、 デー タ ペ イ ロ ー ド のパフ ォーマ ン ス のみが含まれます。
実際の PCIe リ ン ク の スループ ッ ト は、 確認 さ れた EP-DDR 帯域幅 と 同様にな る と 予想 さ れます。
図 4 は、ルー ト ポー ト での DDR 読み出 し の帯域幅を、C2S ト ラ フ ィ ッ ク のパケ ッ ト サ イ ズに対 し て示 し た も のです。C2S
の場合、 PS-DDR に対す る 読み出 し は主に送信元 と 転送先のデ ィ ス ク リ プ タ ーの読み出 し にな り ます。
•
小 さ いパケ ッ ト サ イ ズの C2S ト ラ フ ィ ッ ク では、 ルー ト ポー ト の PS-DDR での読み出 し 帯域幅が広い こ と がわか り
ます。 こ れは、 C2S では PS-DDR に対す る 読み出 し が主に送信元 と 転送先のデ ィ ス ク リ プ タ ーの読み出 し にな る ため
です。 パケ ッ ト サ イ ズが小 さ く な る と 、 パケ ッ ト サ イ ズが大 き い場合 と 比較 し て、 デ ィ ス ク リ プ タ ーの フ ェ ッ チ頻度
が高 く な り ます。
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
6
結果
X-Ref Target - Figure 4
;
図 4 : RP DDR 読み出 し 帯域幅の変化 (C2S ト ラ フ ィ ッ ク)
図 5 は、 ルー ト ポー ト で DMA を使用 し た場合 と EP で DMA を使用 し た場合の、 パフ ォーマ ン ス を比較 し た も のです。 次
が観測 さ れてい ます。
•
ルー ト ポー ト と し て MPSoC を使用する 場合、 EP DMA のパフ ォーマ ン ス数値はルー ト DMA と ほぼ同 じ です。
X-Ref Target - Figure 5
;
図 5 : ルー ト DMA と EP DMA のパフ ォ ーマ ン ス比較
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
7
リ フ ァ レ ン ス デザイ ン
次に、 ルー ト ポー ト DMA と エン ド ポ イ ン ト DMA 間の単一パケ ッ ト 転送の完了時間の比較を示 し ます。 こ れ ら のテ ス ト
は、 ルー ト ポー ト と し ての Zynq UltraScale+ MPSoC デバ イ ス上で実行 さ れてい ます。
•
図 6 では、 ルー ト ポー ト DMA での単一パケ ッ ト 転送の レ イ テ ン シは、 エン ド ポ イ ン ト DMA での レ イ テ ン シ よ り も
小 さ い こ と がわか り ます。 こ れは、ルー ト ポー ト DMA に伴 う DMA セ ッ ト ア ッ プ オーバーヘ ッ ド が少ないためです。
注記 : レ イ テ ン シの計算は ソ フ ト ウ ェ ア内で実行 さ れ (カーネル空間内の転送の開始か ら 完了割 り 込みの受信ま で)、
複数回繰 り 返 し た平均値です。
X-Ref Target - Figure 6
;
図 6 : 単一パケ ッ ト 転送のレ イ テ ン シ
リ フ ァ レ ン ス デザイ ン
こ のアプ リ ケーシ ョ ン ノ ー ト の リ フ ァ レ ン ス デザ イ ン フ ァ イ ルは、 ザ イ リ ン ク ス の ウ ェ ブサ イ ト か ら ダ ウ ン ロ ー ド で き
ます。
表 1 に、 リ フ ァ レ ン ス デザ イ ンの詳細を示 し ます。
表 1 : リ フ ァ レ ン ス デザイ ンの詳細
パラ メ ー タ ー
説明
全般
開発者
Bharat Kumar G.、 Sunita Jain、 Jason Lawley
タ ーゲ ッ ト デバ イ ス
XCZU9EG-FFVB1156
ソ ース コ ー ド の提供
あり
ソ ース コ ー ド の形式
C
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
8
ま とめ
表 1 : リ フ ァ レ ン ス デザイ ンの詳細 (続き)
パラ メ ー タ ー
説明
既存のザ イ リ ン ク ス アプ リ ケーシ ョ ン ノ ー ト / リ フ ァ レ
ン ス デザ イ ン、ま たはサー ド パーテ ィ か ら デザ イ ンへの
コ ー ド /IP の使用
なし
イ ン プ リ メ ン テーシ ョ ン
使用 し た合成ツール/バージ ョ ン
Vivado 2016.1
使用 し た イ ンプ リ メ ン テーシ ョ ン ツール/バージ ョ ン
Vivado 2016.1
ス タ テ ィ ッ ク タ イ ミ ン グ解析の実施
N/A
ハー ド ウ ェ ア検証
ハー ド ウ ェ ア検証の実施
あり
使用 し たハー ド ウ ェ ア プ ラ ッ ト フ ォーム
ZCU102
ま とめ
ルー ト ポー ト デザ イ ンの実装に PCI Express 用 Zynq UltraScale+ コ ン ト ロ ー ラ ー と DMA を使用す る こ と で、エン ド ポ イ ン
ト に配置 さ れた DMA と 比較 し て、 シ ス テ ム か ら カー ド (S2C) へのデー タ 送信にかか る 時間を大 き く 削減で き ます。 こ の
アプ リ ケーシ ョ ン ノ ー ト と 付随す る リ フ ァ レ ン ス デザ イ ンは、 DMA をルー ト ポー ト モー ド で ど の よ う に設定 し て使用
す る かのサンプルを提供 し てい ます。 さ ら に、 実際のハー ド ウ ェ ア デザ イ ンの レ イ テ ン シ と 、 ルー ト ポー ト で DMA を使
用 し た場合の S2C 転送で可能 と な る レ イ テ ン シ と の時間差を測定 し 、 レ イ テ ン シが削減 さ れ る こ と を証明 し ま し た。 設計
者は DMA をルー ト ポー ト で使用す る こ と を検討 し てみて く だ さ い。 エン ド ポ イ ン ト と ルー ト ポー ト の両方に DMA を利
用す る こ と で、 低レ イ テ ン シ デザ イ ン を実現する 独自の手段を見出せる 可能性があ り ます。
参考資料
こ のアプ リ ケーシ ョ ン ノ ー ト の参考資料は次の と お り です。
注記 : 日本語版のバージ ョ ンは、 英語版 よ り 古い場合があ り ます。
1.
『Zynq UltraScale+ MPSoC テ ク ニ カル リ フ ァ レ ン ス マニ ュ アル』 (UG1085 : 英語版、 日本語版)
2.
『AXI Performance Monitor LogiCORE IP 製品ガ イ ド 』 (PG037 : 英語版、 日本語版)
3.
『AXI Bridge for PCI Express Gen3 Subsystem v2.1 製品ガ イ ド 』 (PG194)
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
9
改訂履歴
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
2016 年 6 月 20 日
1.0
内容
初版
法的通知
本通知に基づいて貴殿ま たは貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同 じ ) に開示
さ れ る 情報 (以下 「本情報」 と いい ます) は、 ザ イ リ ン ク ス の製品を選択お よ び使用す る こ と のためにのみ提供 さ れます。 適用 さ れ る 法律
が許容す る 最大限の範囲で、 (1) 本情報は 「現状有姿」、 お よ びすべて受領者の責任で (with all faults) と い う 状態で提供 さ れ、 ザ イ リ ン ク
ス は、 本通知を も っ て、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますが こ れ ら に限 ら れません)、 すべ
ての保証お よ び条件を負わない (否認す る ) も の と し ます。 ま た、 (2) ザ イ リ ン ク ス は、 本情報 (貴殿ま たは貴社に よ る 本情報の使用を含む
) に関係 し 、 起因 し 、 関連す る 、 いかな る 種類 ・ 性質の損失ま たは損害について も 、 責任を負わない (契約上、 不法行為上 (過失の場合を
含む)、 その他のいかな る 責任の法理に よ る か を問わない) も の と し 、 当該損失ま たは損害には、 直接、 間接、 特別、 付随的、 結果的な損
失ま たは損害 (第三者が起 こ し た行為の結果被っ た、 デー タ 、 利益、 業務上の信用の損失、 その他あ ら ゆ る 種類の損失や損害を含みます)
が含ま れ る も の と し 、 それは、 た と え当該損害や損失が合理的に予見可能であ っ た り 、 ザ イ リ ン ク ス がそれ ら の可能性について助言を受
けていた場合であ っ た と し て も 同様です。 ザ イ リ ン ク ス は、 本情報に含ま れ る いかな る 誤 り も 訂正す る 義務を負わず、 本情報ま たは製品
仕様のア ッ プデー ト を貴殿ま たは貴社に知 ら せ る 義務 も 負い ません。 事前の書面に よ る 同意のない限 り 、 貴殿ま たは貴社は本情報を再生
産、 変更、 頒布、 ま た は公に展示 し て は な り ま せ ん。 一定の製品は、 ザ イ リ ン ク ス の 限定的保証の諸条件 に従 う こ と と な る の で、
http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販売条件を参照 し て く だ さ い。 IP コ アは、 ザ イ リ ン ク ス が貴殿ま たは貴社に
付与 し た ラ イ セ ン ス に含ま れ る 保証 と 補助的条件に従 う こ と にな り ます。 ザ イ リ ン ク ス の製品は、 フ ェ イ ルセーフ と し て、 ま たは、 フ ェ
イ ルセーフ の動作を要求す る ア プ リ ケーシ ョ ン に使用す る ために、 設計 さ れた り 意図 さ れた り し てい ま せん。 その よ う な重大な アプ リ
ケ ー シ ョ ン に ザ イ リ ン ク ス の 製 品 を 使 用 す る 場 合 の リ ス ク と 責 任 は、 貴 殿 ま た は 貴 社 が 単 独 で 負 う も の で す。
http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販売条件を参照 し て く だ さ い。
自動車用のアプ リ ケーシ ョ ンの免責条項
ザ イ リ ン ク ス の製品は、 フ ェ イ ルセーフ と し て設計 さ れた り 意図 さ れてはお ら ず、 ま た、 フ ェ イ ルセーフ の動作を要求す る ア プ リ ケー
シ ョ ン (具体的には、 (I) エアバ ッ グの展開、 (II) 車の コ ン ト ロ ール (フ ェ イ ルセーフ ま たは余剰性の機能 (余剰性を実行す る ためのザ イ リ
ン ク ス の装置に ソ フ ト ウ ェ ア を使用す る こ と は含ま れません) お よ び操作者が ミ ス を し た際の警告信号があ る 場合を除 き ます)、 (III) 死亡
や身体傷害を導 く 使用、 に関す る アプ リ ケーシ ョ ン) を使用す る ために設計 さ れた り 意図 さ れた り も し てい ません。 顧客は、 その よ う な
アプ リ ケーシ ョ ンにザ イ リ ン ク ス の製品を使用す る 場合の リ ス ク と 責任を単独で負い ます。
© Copyright 2016 Xilinx, Inc. Xilinx、 Xilinx の ロ ゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 お よ び こ の文書に含ま れ る その
他の指定 さ れたブ ラ ン ド は、 米国お よ びその他各国のザ イ リ ン ク ス社の商標です。 すべてのその他の商標は、 それぞれの保有者に帰属 し
ます。 ARM は、 ARM の欧州連合その他の国におけ る 登録商標です。
XAPP1289 (v1.0) 2016 年 6 月 20 日
japan.xilinx.com
10
Fly UP