14
XAPP1305 (v1.0) 2017 3 24 1 japan .xilinx.com この資料は表記のバージ ョ ンの英語版を翻訳し たもので、 内容に相違が生じ る場合には原文を優先し ます。 資料によっては英語版の更新に対応していないものがあります。 日本語版は参考用 と し てご使用の上、 最新情報につき ま し ては、 必ず最新英語版を ご参照 く だ さ い。 概要 このアプリケーション ノ ー ト では、 Zynq® UltraScale+™ デバイスにイーサネッ ト デザインをインプリ メントする方法に ついて説明します。 まず、 プロセッシング システム (PS) 内のギガビ ッ ト イーサネッ ト コントローラー (GEM) MIO (Multiplexed I/O) および EMIO (Extended Multiplexed I/O) イ ン ターフ ェ イ ス経由で使用する方法について説明し ます。次に、 プログラマブル ロジック (PL) 内の高速ト ランシーバーを使用して 1000BASE-X および 10GBASE-R 物理インターフェイ スを使用する方法について説明します。 PS および PL ベースのイーサネッ ト システムでイーサネッ ト ジャンボ フレーム を使用する方法についても説明します。 また、 PS イーサネッ ト、 PL イーサネッ ト (1G および 10G)、 および PS-PL イーサ ネッ トのスループッ ト値も示します。 ここで取り上げるデザインは、 いずれもカーネル モードの Linux デバイス ドライ バーを使用したイーサネッ ト ソ リ ューシ ョ ンです。 このアプリケーション ノートの は、ザイリンクスのウェブサイトからダウンロードでき ます。 デザイン フ ァ イ ルの詳細は、 「リファレンス デザイン」 を参照してください。 はじめに Zynq UltraScale+ デバイスは、 ARM® 社のフラッグシップ製品である Cortex®-A53 64 ビット クワッドコアまたはデュアル コア プロセッサと Cortex-R5 デュアルコア リアルタイム プロセッサを含むプロセッシング システム (PS) とプログラマブ ロジック (PL) 1 つに統合したデバイ スです。 PL は、 プログラマブル ロジック、 コンフィギュレーション ロジッ ク、 および関連する内蔵機能で構成されます。 PS は、 ARM Cortex-A53 MPCore CPUCortex-R5 プロセッサ、オンチップ メ モ リ 、 外部 メ モ リ インターフェイス、キャッシュ ヒーレント インターコネクト (CCI)、 お よ びペ リ フ ェ ラ ル コネクティビティ インターフェイスで構成されます。 PS には 4 つの GEM があ り ます。 各コ ン ト ローラーは個別に設定可能で、 RGMII (Reduced Gigabit Media Independent Interface) を使 用します。 RGMII インターフェイスから MIO ピンを経由して外部 RGMII PHY に接続し ます。 TBIRGMII v2.0SGMII など、 その他のイーサネッ ト通信インターフェイスは EMIO インターフェイスで利用可能な GMII/MII を使用して PL に作成でき ます。 SGMII は、 PL のロジックではなく PS-GTR を使用しても GEM でサポート されます。 1 に、 ZCU102 ボードへの各種イーサネッ ト インプリ メンテーションを示します。 アプリケーション ノート : Zynq UltraScale+ デバイス XAPP1305 (v1.0) 2017 3 24 PS および PL ベースの 1G/10G イーサネッ ト ソリューション 著者: Bhargav ShahNaveen Kumar GaddipatiAkhilesh MahajanSrini Gaddam

PS および PL ベースの 1G/10G イーサネット ソ …...PL 1G イーサネットを使用 XAPP1305 (v1.0) 2017 年 3 月 24 日 6 japan.xilinx.com アップ、割り当て、再利用などの複数の機能を担います。割り込みステータスには

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

XAPP1305 (v1.0) 2017 年 3 月 24 日  1japan.xilinx.com

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

概要

このアプリ ケーシ ョ ン ノートでは、 Zynq® UltraScale+™ デバイスにイーサネッ ト デザインをインプリ メン トする方法について説明します。 まず、 プロセッシング システム (PS) 内のギガビッ ト イーサネッ ト コン ト ローラー (GEM) を MIO (Multiplexed I/O) および EMIO (Extended Multiplexed I/O) インターフェイス経由で使用する方法について説明します。次に、プログラマブル ロジッ ク (PL) 内の高速ト ランシーバーを使用して 1000BASE-X および 10GBASE-R 物理インターフェイスを使用する方法について説明します。 PS および PL ベースのイーサネッ ト システムでイーサネッ ト ジャンボ フレームを使用する方法についても説明します。 また、 PS イーサネッ ト、 PL イーサネッ ト (1G および 10G)、 および PS-PL イーサネッ トのスループッ ト値も示します。 こ こで取り上げるデザインは、 いずれもカーネル モードの Linux デバイス ド ラ イバーを使用したイーサネッ ト ソ リ ューシ ョ ンです。

このアプリ ケーシ ョ ン ノートの リ ファレンス デザイン ファ イルは、 ザイ リ ンクスのウェブサイ トからダウンロードできます。 デザイン ファ イルの詳細は、 「 リ ファレンス デザイン」 を参照して ください。

はじめに

Zynq UltraScale+ デバイスは、ARM® 社のフラ ッグシップ製品である Cortex®-A53 64 ビッ ト クワ ッ ド コアまたはデュアルコア プロセッサと Cortex-R5 デュアルコア リ アルタイム プロセッサを含むプロセッシング システム (PS) とプログラマブル ロジッ ク (PL) を 1 つに統合したデバイスです。

PL は、 プログラマブル ロジッ ク、 コンフ ィギュレーシ ョ ン ロジッ ク、 および関連する内蔵機能で構成されます。 PS は、ARM Cortex-A53 MPCore CPU、 Cortex-R5 プロセッサ、 オンチップ メモ リ、 外部メモ リ インターフェイス、 キャ ッシュ コヒーレン ト インターコネク ト (CCI)、 およびペリ フェラル コネクティビティ インターフェイスで構成されます。 PS には 4 つの GEM があ り ます。 各コン ト ローラーは個別に設定可能で、 RGMII (Reduced Gigabit Media Independent Interface) を使用します。 RGMII インターフェイスから MIO ピンを経由して外部 RGMII PHY に接続します。 TBI、 RGMII v2.0、 SGMII など、 その他のイーサネッ ト通信インターフェイスは EMIO インターフェイスで利用可能な GMII/MII を使用して PL 内に作成できます。

SGMII は、 PL のロジッ クではなく PS-GTR を使用しても GEM でサポート されます。

図 1 に、 ZCU102 ボードへの各種イーサネッ ト インプ リ メンテーシ ョ ンを示します。

アプリケーシ ョ ン ノート : Zynq UltraScale+ デバイス

XAPP1305 (v1.0) 2017 年 3 月 24 日

PS および PL ベースの 1G/10G イーサネッ ト  ソリューシ ョ ン著者: Bhargav Shah、 Naveen Kumar Gaddipati、 Akhilesh Mahajan、 Srini Gaddam

はじめに

XAPP1305 (v1.0) 2017 年 3 月 24 日  2japan.xilinx.com

注記: PS-GEM3 は、常に ZCU102 評価ボード上の Texas Instruments (TI) RGMII PHY に接続されます。 1000BASE-X PHY と GTX ト ランシーバーは、 AXI 1G/2.5G Ethernet サブシステム IP コア [参照 1] を使用する 1G PL イーサネッ ト リ ンク用の AXI Ethernet コアに含まれます。PS-PL イーサネッ トは PS-GEM0 と 1G/2.5G Ethernet PCS/PMA or SGMII コア [参照 2] を使用します。 10G PL イーサネッ ト リ ンクは 10G/25G 高速 Ethernet サブシステム IP コア [参照 3] を使用します。

このアプリ ケーシ ョ ン ノートに付属するデザインでは、 PS-GEM3 は RGMII 経由で TI DP83867IRPAP イーサネッ ト RGMII PHY デバイスに接続します。 ZCU102 ボードではこれがデフォルトのセッ ト アップです。 このアプリ ケーシ ョ ン ノートでは、 PS および PL を使用したイーサネッ トの各種インプリ メンテーシ ョ ン方法を示します。 このアプ リ ケーシ ョン ノートで説明するデザインは次のとおりです。

• PS イーサネッ ト (GEM3) を MIO インターフェイス経由で PS の 1G 物理インターフェイスに接続 ( 「MIO 経由で PS GEM を使用」 参照)。

• PS イーサネッ ト (GEM0) を EMIO インターフェイス経由で PL の 1000BASE-X 物理インターフェイスに接続 (「EMIO 経由で PS GEM を使用」 参照)。

• PL にソフ ト ロジッ ク と してイーサネッ ト (MAC) をインプリ メン ト し、 PL の 1000BASE-X 物理インターフェイスに接続 ( 「PL 1G イーサネッ ト を使用」 参照)。

• PL にソフ ト ロジッ ク と してイーサネッ ト (MAC) をインプリ メン ト し、PL の 10G 物理インターフェイスに接続 ( 「PL 10G イーサネッ ト を使用」 参照)。

注記: PS イーサネッ トには GEM0、 GEM1、 GEM2 も使用できます。 ハード ウェア デザインは、 選択した GEM によ り異な り ます。

X-Ref Target - Figure 1

図 1: Zynq UltraScale+ MPSoC のイーサネッ ト  インターフェイス

Zynq UltraScale+ MPSoC

APU

Central Interconnect

DMAGEM3

GMII to RGMII

UART

TI RGMII PHY

DMAGEM0

32-bit GPAXI Master 64-bit HP AXI Slave

PL to Memory Interconnect

Memory Interface

AXI InterconnectAXI Interconnect

AXI DMA

AXI EthernetMAC

GTXTransceiver

EthernetPCS/PMA or SGMIISFP

GMII via EMIO

Programmable Logic

Processing System

GIC

DDR4

PS – GEM3 eth link

PS – GEM0 eth link via EMIO

RGMII via

MIO

PL eth link

MIO 経由で PS GEM を使用

XAPP1305 (v1.0) 2017 年 3 月 24 日  3japan.xilinx.com

MIO 経由で PS GEM を使用

このセクシ ョ ンでは、 MIO インターフェイスを経由して PS イーサネッ ト ブロ ッ ク GEM3 を PS PHY で使用する方法について説明します。

ハードウェア デザイン

PS イーサネッ ト コン ト ローラー (GEM3) は、 RGMII インターフェイスを使用して MIO ピン経由でオンボードの TI PHY に接続します。 GEM3 ブロ ッ クはハード ウェア システムの生成中に有効になり ます。 GEM3 から TI PHY へのリ ンクを、図 1 では 「PS-GEM3 eth link」 と記載しています。 詳細は、 Wiki ページ 「Zynq MPSoC の PS および PL ベース イーサネット 」 [参照 4] を参照してください。

基準クロックの生成

各 GEM のイーサネッ ト基準クロ ッ ク (125MHz) は、 PS の内部 PLL をコンフ ィギュレーシ ョ ンして生成します。

ソフ トウェア デザイン

このデザインは、 ZCU102 のすべての GEM に共通の macb.c ド ラ イバー コードを使用します。 このド ライバー コードは Linux カーネルに含まれます。 macb ド ラ イバーは、 PS GEM に接続されたダイレク ト メモ リ アクセス (DMA) コン ト ローラーを使用します。 このド ライバーは、 DMA ディ スク リプター リ ングのセッ ト アップ、 割り当て、 再利用などの複数の機能を担います。 割り込みステータスには DMA イベン ト も暗黙的に反映されるため、 割り込み処理は PS GEM イベン トに対してのみ行われます。 また、 デバイス ツ リーは PS-GEM3 と関連するパラ メーターを含むよ うに更新されます。 詳細は、 「デバイス ツ リー」 を参照してください。

Linux ド ライバー

このデザインでは、 モノ リ シッ クな Linux デバイス ド ラ イバーを使用します。 図 2 に、 PS イーサネッ ト インターフェイスのソフ ト ウェア アーキテクチャを示します。

EMIO 経由で PS GEM を使用

XAPP1305 (v1.0) 2017 年 3 月 24 日  4japan.xilinx.com

EMIO 経由で PS GEM を使用

このセクシ ョ ンでは、 EMIO インターフェイスを経由して PS イーサネッ ト ブロ ッ ク GEM0 を PL PHY で使用する方法について説明します。 EMIO ピンを使用して PL 経由で PS GEM ブロ ッ クにアクセスするこ とによ り、 GMII および MDIO (Management Data Input/Output) インターフェイスを物理層に接続できます。 1000BASE-X モードでは 1G/2.5G Ethernet PCS/PMA or SGMII コアをイーサネッ ト物理媒体に使用できます。ZCU102 ボードの SFP (Small Form-Factor Pluggable) ケージには、 高速シ リ アル ト ランシーバーを使用してアクセスします。 SFP ケージは SFP-RJ45 コンバーター モジュールを介して標準イーサネッ ト LAN に接続します。 SFP を有効にするには、 図 7 に示すよ うにジャンパー J17 をシ ョート します。

X-Ref Target - Figure 2

図 2: PS イーサネッ トの Linux 用ソフ トウェア ド ライバー

GIC (Intr Controller)Ethernet TX DMA

Channel

Ethernet and DMA(Finish, Done, Halt, and Error events)

MII Interface

Hardware

Receive Overflow

TransmitOverflow

Transmit DMA

Receive DMA

GMIIPHY

Ethernet Driver

Driver Module

Transmit Top Half

Transmit Tasklet

TransmitISR

Receive Top Half

Receive Tasklet

ReceiveISR

RX BD Ringmanagement

TX BD Ringmanagement

DMA Access

Get/Set settings

ETH TOOL

Get drv settings

Get Link

Get/Set WOL

mdio_read

MII PHY

mdio_write

mdio_reset

adjust_link

PHY LibraryEth tool supportDo IRQSoft IRQ

Schedulerproc interfacedev interface

Linux Kernel

User Level/proc /dev

X18645-020717

EMIO 経由で PS GEM を使用

XAPP1305 (v1.0) 2017 年 3 月 24 日  5japan.xilinx.com

ハードウェア デザイン

図 3 に示すよ うに、 GMII インターフェイスは EMIO ピンを介して PHY と PS GEM を接続します。 GEM0 ブロ ッ クは Vivado® ツールでハードウェア システムを生成中に有効になり ます。 1G/2.5G Ethernet PCS/PMA or SGMII コアの PHY アドレス ポートには 1 ~ 31 の固定値を割り当てるこ とができます。 詳細は、 Wiki ページ 「Zynq MPSoC の PS および PL ベース イーサネッ ト 」 [参照 4] および 『1G/2.5G Ethernet PCS/PMA or SGMII v16.0 LogiCORE IP 製品ガイ ド』 (PG047) [参照 2] を参照して ください。

基準クロックの生成

Zynq UltraScale+ MPSoC の GTX ト ランシーバー X0Y4 を ZCU102 ボードの SFP ケージに接続します。GTX ト ランシーバーの基準クロ ッ ク (125MHz の差動クロ ッ ク ) は、 ZCU102 ボードの Si570 ジッター減衰器から生成されます。 クロ ッ ク分周値は、 Si570 プログラマブル オシレーターから 125MHz が生成されるよ うに調整します。 Si570 を I2C インターフェイス経由でプログラムして必要なクロ ッ ク値を生成します。 Si570 の詳細は、 Si570 のデータシート [参照 5] を参照してください。

EMIO インターフェイス経由で GEM0 を利用するには、特定のレジスタをプログラムする必要があ り ます。 これは、 Zynq UltraScale+ MPSoC の FSBL (第 1 段階ブート ローダー ) が使用する PS コンフ ィギュレーシ ョ ン データに含まれます。

ク ロ ッ ク、 データ、 および制御信号の受信ソースと して EMIO を選択するには、 SLCR.GEM0_CLK_CTRL[SRCSEL] ビット を 3'b1xx に設定します (x はドン ト ケアで、 1 または 0)。

ソフ トウェア デザイン

このデザインは、 ZCU102 のすべての GEM に共通の macb.c ド ラ イバー コードを使用します。 macb ド ラ イバーは、 PS の GEMに接続された DMA コン ト ローラーを使用します。 このド ライバーは、 DMA ディ スク リプター リ ングのセッ ト

X-Ref Target - Figure 3

図 3: PS‐PL イーサネッ ト  デザイン

1000BASE-X PCS/PMA

Ethernet MAC(GEM0)

GMII_RX

GMII_TX

GMII_TX_CLK

GMII_RX_CLK

MDIO

MDC

Processing System Programmable Logic

GT

Si570

TCP/IP Stack

PS Ethernet Driver

Standard Networking Application

Software driver for Linux

Linux Image

SFP

Device Tree

125 MHz

X18651-031317

PL 1G イーサネッ ト を使用

XAPP1305 (v1.0) 2017 年 3 月 24 日  6japan.xilinx.com

アップ、 割り当て、 再利用などの複数の機能を担います。 割り込みステータスには DMA イベン ト も暗黙的に反映されるため、 割り込み処理は PS GEM イベン トに対してのみ行われます。 また、 デバイス ツ リーは PS-GEM0 と関連するパラメーターを含むよ うに更新されます。 詳細は、 「デバイス ツ リー」 を参照してください。

注記: TBI などのほかの PL 物理インターフェイスをサポートするには、 ハード ウェア デザインとデバイス ツ リーを変更する必要があ り ます。 PHY 独自の初期化は Linux ド ラ イバー (macb) 内の phylib サブシステムで処理され、 PHY に関する情報はデバイス ツ リーに含むこ とができます。 PHY プログラムに phylib サブシステムを使用するには、 phylib サブシステムがその PHY の PHY 初期化ルーチンをサポート しているこ とが要件です。

Linux ド ライバー

デザイン用にモノ リ シッ クな Linux デバイス ド ラ イバーが提供されています。 PS イーサネッ ト インターフェイスのソフト ウェア アーキテクチャは、 図 2 に示したとおりです。

PL 1G イーサネッ ト を使用

このセクシ ョ ンでは、 PL にインプ リ メン ト したイーサネッ トについて説明します。 このデザインは、 AXI 1G/2.5G Ethernet サブシステム、 AXI DMA、 AXI Interconnect の IP コアで構成されます。 AXI 1G/2.5G Ethernet サブシステム IP コアは Tri-Mode Ethernet MAC (TEMAC) コアと 1G/2.5G Ethernet PCS/PMA or SGMII コアで構成されます。 このデザインでは、PS-DDR メモ リへの高速アクセスに HP (High Performance) ポート を使用します。 HP ポート をほかのペリ フェラルが使用している場合は、 汎用スレーブ ポート を使用するこ と もできます。

ハードウェア デザイン

図 4 に、 PL にインプリ メン ト したイーサネッ ト を示します。 PL と PS-DDR4 メモ リ間の高速データ転送には HP ポート を使用しています。 このポートから、 AXI Interconnect を経由して AXI DMA スキャ ッ ター ギャザー S2MM (Stream to Memory Mapped) および MM2S (Memory Mapped to Stream) インターフェイスに接続します。AXI Interconnect は、64 ビッ ト HP ポート を AXI DMA の 32 ビッ ト インターフェイスに接続するためのデータ幅変換も実行します。 AXI DMA では、S2MM パスと MM2S パスに対してスキャ ッ ター ギャザー オプシ ョ ンおよびデータ リ アラ イ メン ト エンジンの両方が有効です。

AXI DMA のス ト リーミ ング インターフェイスは、 AXI Ethernet サブシステムに接続されます。 AXI Ethernet サブシステムでは、 フル チェッ クサム オフロード (CSO) を有効にし、 FIFO 深さを 32K と してジャンボ フレーム転送をサポート します。

AXI Ethernet コアはイーサネッ ト MAC をインプリ メン ト し、 1000BASE-X および SGMII PHY インターフェイスをサポート します。 このコアは、 GTX ト ランシーバーを介して 1000BASE-X/SGMII インターフェイス経由で SFP に接続します。

制御インターフェイス用に、 PS で汎用 (GP) AXI マスター ポート を有効にしています。 このポートは、 AXI DMA コアと AXI Ethernet コアに接続されます。

1000BASE-X PHY レジスタには、 AXI Ethernet コアによって提供される MDIO インターフェイスを介してアクセスします。 AXI DMA および AXI Ethernet コアの割り込みポートは、 PS 内の汎用割り込みコン ト ローラー (GIC) に接続されます。詳細は、 Wiki ページ 「Zynq MPSoC の PS および PL ベース イーサネッ ト 」 [参照 4] を参照してください。

各 IP コアの詳細は、『AXI 1G/2.5G Ethernet サブシステム v7.0 製品ガイ ド』 (PG138) [参照 1]、『1G/2.5G Ethernet PCS/PMA or SGMII v16.0 LogiCORE IP 製品ガイ ド』 (PG047) [参照 2]、 および 『LogiCORE IP AXI DMA 製品ガイ ド』 (PG021) [参照 6] を参照して ください。

PL 1G イーサネッ ト を使用

XAPP1305 (v1.0) 2017 年 3 月 24 日  7japan.xilinx.com

基準クロックの生成

Zynq UltraScale+ MPSoC の GTX ト ランシーバー X0Y4 を 1000BASE-X ト ランシーバー用に ZCU102 ボードの SFP ケージに接続します。 GTX ト ランシーバーの基準クロ ッ ク (125MHz の差動クロ ッ ク ) は、 ZCU102 ボードの Si570 ジッター減衰器から生成されます。 ク ロ ッ ク分周値は、 Si570 プログラマブル オシレーターから 125MHz が生成されるよ うに調整します。 Si570 を I2C インターフェイス経由でプログラムして必要なクロ ッ ク値を生成します。 Si570 の詳細は、 Si570 のデータシート [参照 5] を参照してください。

ソフ トウェア デザイン

このセクシ ョ ンでは、 デザインのソフ ト ウェアについて説明します。 モノ リ シッ クな Linux ド ラ イバー コードによ り、 次に挙げる機能が簡単に実行できます。

• PL イーサネッ ト MAC アクセス

• AXI DMA 転送

• phylib サブシステムを使用した 1000BASE-X インターフェイスの物理媒体初期化

Linux ド ライバー

図 5 に、 このデザインのソフ ト ウェア アーキテクチャを示します。 ド ライバーは、 次のセクシ ョ ンに分かれます。

• 初期化

• MAC ド ラ イバー フッ ク

• 割り込みサービス ルーチン

X-Ref Target - Figure 4

図 4: 1000BASE‐X PL イーサネッ ト  デザイン

Zynq UltraScale+ MPSoC

APU

Central Interconnect

UART

32-bit GPAXI Master 64-bit HP AXI Slave

PL to Memory Interconnect

Memory Interface

AXI InterconnectAXI Interconnect

AXI DMA

AXI EthernetMAC

GTXTransceiver

EthernetPCS/PMA

SFP

Programmable Logic

Processing System

GIC

DDR4

Si570

TCP/IP Stack

Ethernet Driver(AXI DMA + AXI

ETH)

Linux Image

Device Tree

Standard Networking Application

Software driver for Linux

Clock generation

75 MHz(FCLK1) MM2SS2MM

TXRX

125 MHz REFCLK

X18652-020617X18652-020617

PL 10G イーサネッ ト を使用

XAPP1305 (v1.0) 2017 年 3 月 24 日  8japan.xilinx.com

PL 10G イーサネッ ト を使用

このセクシ ョ ンでは、 PL にインプ リ メン ト した 10G イーサネッ トについて説明します。 このデザインは、 10G/25G High Speed Ethernet サブシステム、 AXI DMA、 AXI Interconnect の IP コアで構成されます。 このデザインでは、 PS-DDR メモ リへの高速アクセスに HP (High Performance) ポート を使用します。 HP ポート をほかのペリ フェラルが使用している場合は、汎用スレーブ ポート を使用するこ と もできます。

ハードウェア デザイン

図 6 に、 PL にインプ リ メン ト した 10G イーサネッ ト を示します。 ザイ リ ンクス 10G/25G 高速 Ethernet サブシステムは、25G イーサネッ ト MAC と 25G イーサネッ ト コンソーシアム策定の仕様に準拠した物理符号化副層 (PCS) をインプ リ メント します。 ト ランシーバーへの 156.25MHz 基準クロ ッ クは、 ZCU102 ボードにある Si570 プログラマブル オシレーターから供給します。 詳細は、 Wiki ページ 「Zynq MPSoC の PS および PL ベース イーサネッ ト 」 [参照 4] を参照してください。

X-Ref Target - Figure 5

図 5: PL イーサネッ トのドライバー アーキテクチャ

GIC (Intr Controller)Ethernet TX DMA

Channel

Ethernet and DMA(Finish, Done, Halt, and

Error events)MII Interface

Hardware

Receive Overflow

TransmitOverflow Transmit DMA Receive

DMAGMIIPHY

Ethernet Driver

Driver Module Transmit ISR

Receive ISR

DMA Access

MII PHY

Linux Kernel

User Applications/proc /dev

proc interfacedev interface

Scheduler

Soft IRQ Do IRQ

X18653-020617

PL 10G イーサネッ ト を使用

XAPP1305 (v1.0) 2017 年 3 月 24 日  9japan.xilinx.com

基準クロックの生成

Zynq UltraScale+ MPSoC の GTX ト ランシーバー X0Y4 を ZCU102 ボードの SFP ケージに接続します。 GTX ト ランシーバーの基準クロ ッ ク (156.25MHz の差動クロ ッ ク ) は、 ZCU102 ボードの Si570 ジッター減衰器から生成されます。 ク ロ ック分周値は、 Si570 プログラマブル オシレーターから 156.25MHz が生成されるよ うに調整します。 Si570 を I2C インターフェイス経由でプログラムして必要なクロ ッ ク値を生成します。 Si570 の詳細は、 Si570 のデータシート [参照 5] を参照して ください。

ソフ トウェア デザイン

このセクシ ョ ンでは、 デザインのソフ ト ウェアについて説明します。 モノ リ シッ クな Linux ド ラ イバー コードによ り、 次に挙げる機能が簡単に実行できます。

• PL イーサネッ ト MAC アクセス

• AXI DMA 転送

Linux ド ライバー

このデザインのソフ ト ウェア アーキテクチャは、 図 5 に示したとおりです。 ド ライバーは、 次のセクシ ョ ンに分かれます。

• 初期化

• MAC ド ラ イバー フッ ク

• 割り込みサービス ルーチン

X-Ref Target - Figure 6

図 6: 1G PL イーサネッ ト  デザイン

Zynq UltraScale+ MPSoC

APU

Central Interconnect

UART

32-bit GPAXI Master 64-bit HP AXI Slave

PL to Memory Interconnect

Memory Interface

AXI InterconnectAXI Interconnect

AXI DMA

AXI EthernetMAC

GTXTransceiver

EthernetPCS/PMA

SFP

Programmable Logic

Processing System

GIC

DDR4

Si570

TCP/IP Stack

Ethernet Driver(AXI DMA + AXI

ETH)

Linux Image

Device Tree

Standard Networking Application

Software driver for Linux

Clock generation

75 MHz(FCLK1) MM2SS2MM

TXRX

156.25 MHz REFCLK

X18654-031417

デバイス ツリー

XAPP1305 (v1.0) 2017 年 3 月 24 日  10japan.xilinx.com

デバイス ツリー

デバイス ツ リーは、 ハード ウェア記述用のデータ構造です。 デバイスのすべての詳細をオペレーティング システムにハード コーディングするのではなく、 ハード ウェアに関する多くの情報をこのデータ構造に記述しておき、 ブート時にオペレーティング システムに渡すよ うにします。 これらの設定値はロード時にド ライバーによって解析され、 デバイス ツ リー内の定義に従ってパラ メーターが設定されます。 Linux ド ラ イバーのデバイス ツ リーは、 次のパラ メーターで構成されます。

• PS イーサネッ ト MAC EMIO 専用:

° PS GEM0 セクシ ョ ン (PS MAC のパラ メーターを格納)

• PL イーサネッ ト (1G/10G) 専用:

° DMA セクシ ョ ン (AXI DMA のパラ メーターを格納)

° イーサネッ ト セクシ ョ ン (AXI Ethernet MAC のパラ メーターを格納)

必要なハードウェアおよびソフ トウェア

このアプリ ケーシ ョ ン ノートで説明したデザインのテス トには、 次のハード ウェアと ソフ ト ウェアが必要です。

• Linux OS が動作する標準 PC

• 1000Mb/s 対応イーサネッ ト ポート

• 1G 用 SFP および 10G 用 SFP+ モジュール

• ホス ト マシン用 10G NIC

• Netperf ツール [参照 7]

• iPerf ツール [参照 8]

• Vivado ツール 2016.4 (IP インテグレーター デザイン) [参照 9]

• PetaLinux 2016.4 XSDK [参照 10]

• テス ト用 SFP-RJ45 アダプター モジュールを搭載した Zynq UltraScale+ MPSoC ZCU102 ボード [参照 11]

図 7 に、 1G インターフェイスを使用する場合のボードのセッ ト アップを示します。 SFP 経由での伝送を有効にするために、 ジャンパー J16 をシ ョート します。 このデザインは、 Cisco GLC-T 1000BASE-X Ethernet to SFP モジュールを使用してテス ト しました。

必要なハードウェアおよびソフ トウェア

XAPP1305 (v1.0) 2017 年 3 月 24 日  11japan.xilinx.com

図 8 に、 10G インターフェイスを使用する場合のボードのセッ ト アップを示します。 SFP 経由での伝送を有効にするために、 ジャンパー J16 をシ ョート します。 このデザインは、 Avago afbr-709smz Optical to Ethernet SFP+ モジュールを使用してテス ト しました。

X-Ref Target - Figure 7Xilinx

図 7: 1G PL イーサネッ トのハードウェア セッ トアップ

J16 SFP 0Transmission

Disable Jumper

SFP to RJ45 Adapter Module

X18655-020617

まとめ

XAPP1305 (v1.0) 2017 年 3 月 24 日  12japan.xilinx.com

まとめ

このアプリ ケーシ ョ ン ノートでは、 イーサネッ ト デザインの各種インプリ メンテーシ ョ ンについて説明しました。 このアプリ ケーシ ョ ン ノートで説明したデザインの性能ベンチマークの結果は、 Wiki ページ 「Zynq MPSoC の PS および PL ベース イーサネッ ト 」 [参照 4] を参照してください。

リファレンス デザイン

このアプリ ケーシ ョ ン ノートの リ ファレンス デザイン ファ イルは、 ザイ リ ンクスのウェブサイ トからダウンロードできます。

ハード ウェアと ソフ ト ウェア コードの作成方法は、 readme ファ イルの指示を参照して ください。

X-Ref Target - Figure 8

図 8: 10G PL イーサネッ トのハードウェア セッ トアップ

参考資料

XAPP1305 (v1.0) 2017 年 3 月 24 日  13japan.xilinx.com

表 1 に、 リ ファレンス デザインの詳細を示します。

参考資料

注記:日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『AXI 1G/2.5G Ethernet サブシステム v7.0 製品ガイ ド』 (PG138)

2. 『1G/2.5G Ethernet PCS/PMA or SGMII v16.0 LogiCORE IP 製品ガイ ド』 (PG047)

3. 『10G/25G 高速 Ethernet サブシステム LogiCORE IP 製品ガイ ド』 (PG210: 英語版、 日本語版)

4. Wiki ページ 「Zynq MPSoC の PS および PL ベース イーサネッ ト 」

5. Si570 データシート (www.silabs.com/Support%20Documents/TechnicalDocs/Si570.pdf)

6. 『LogiCORE IP AXI DMA 製品ガイ ド』 (PG021: 英語版、 日本語版)

7. Netperf (www.netperf.org)

8. iPerf (http://sourceforge.net/projects/iperf/)

9. ザイ リ ンクス Vivado Design Suite

表 1: リファレンス デザインの詳細

パラメーター 説明

全般

開発者 Bhargav Shah、Naveen Kumar Gaddipati、Akhilesh Mahajan、 Srini Gaddam

ターゲッ ト デバイス Zynq UltraScale+ デバイス

ソース コードの提供 あ り

ソース コードの形式 Verilog、 C

既存のザイ リ ンクス アプリ ケーシ ョ ン ノート /リ ファレンス デザイン、 またはサードパーティからデザインへのコード /IP の使用

あ り

シミ ュレーシ ョ ン

論理シ ミ ュレーシ ョ ンの実施 なし

タイ ミ ング シ ミ ュレーシ ョ ンの実施 なし

論理シ ミ ュレーシ ョ ンおよびタイ ミ ング シ ミ ュレーシ ョ ンでのテス トベンチの利用

なし

テス トベンチの形式 N/A

使用したシ ミ ュレータ /バージ ョ ン N/A

SPICE/IBIS シ ミ ュレーシ ョ ンの実施 N/A

インプリ メンテーシ ョ ン

使用した合成ツール/バージ ョ ン Vivado 2016.4

使用したインプリ メンテーシ ョ ン ツール/バージ ョ ン

Vivado 2016.4

スタティ ッ ク タイ ミ ング解析の実施 あ り

ハードウェア検証

ハードウェア検証の実施 あ り

使用したハード ウェア プラ ッ ト フォーム ZCU102 評価ボード

改訂履歴

XAPP1305 (v1.0) 2017 年 3 月 24 日  14japan.xilinx.com

10. PetaLinux

11. 『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085: 英語版、 日本語版)

12. 『ZCU102 評価ボード ユーザー ガイ ド』 (UG1182)

13. 『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576: 英語版、 日本語版)

改訂履歴

次の表に、 この文書の改訂履歴を示します。

法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開

示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適用される

法律が許容する最大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供され、 ザイ リ

ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれらに限られません)、すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または貴社による本情報の使用

を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わない (契約上、 不法行為上 (過失の

場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害には、 直接、 間接、 特別、 付随的、 結

果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の損失、 その他あらゆる種類の損失や損害を

含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可能であったり、 ザイ リ ンクスがそれらの可能性につい

て助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情報に含まれるいかなる誤り も訂正する義務を負わず、 本情

報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いません。 事前の書面による同意のない限り、 貴殿または貴社

は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と と

なるので、 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿

または貴社に付与したライセンスに含まれる保証と補助的条件に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、

または、 フェイルセーフの動作を要求するアプリ ケーシ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな

重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。

https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照してください。

自動車用のアプリケーシ ョ ンの免責条項

ザイ リ ンクスの製品は、 フェイルセーフと して設計されたり意図されてはおらず、 また、 フェイルセーフの動作を要求するアプリ ケー

シ ョ ン (具体的には、 (I) エアバッグの展開、 (II) 車のコン ト ロール (フェイルセーフまたは余剰性の機能 (余剰性を実行するためのザイ リ

ンクスの装置にソフ ト ウェアを使用するこ とは含まれません) および操作者がミ スをした際の警告信号がある場合を除きます)、 (III) 死亡

や身体傷害を導く使用、 に関するアプリ ケーシ ョ ン) を使用するために設計されたり意図されたり も していません。 顧客は、 そのよ うな

アプ リ ケーシ ョ ンにザイ リ ンクスの製品を使用する場合のリ スク と責任を単独で負います。

© Copyright 2017 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含まれるその

他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 すべてのその他の商標は、 それぞれの保有者に帰属

します。 AMBA、 AMBA Designer、 ARM、 ARM1176JZ-S、 CoreSight、 Cortex、 PrimeCell、 MPCore は EU およびその他各国の ARM 社の

登録商標です。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの右下

にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 いただきましたご意見を参考に早急

に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめご了承ください。

日付 バージョ ン 内容

2017 年 3 月 24 日 1.0 初版