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