Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
XAPP1326 (v1.0) 2018 年 2 月 2 日 1japan.xilinx.com
この資料は表記のバージ ョ ンの英語版を翻訳したもので、 内容に相違が生じる場合には原文を優先します。 資料によっては英語版の更新に対応していないものがあります。 日本語版は参考用としてご使用の上、 最新情報につきましては、 必ず最新英語版をご参照ください。
概要
このアプリ ケーシ ョ ン ノートでは、 高速シ リ アル I/O リ ンクを使用して 10Gb/s と 40Gb/s を動的に切り替えるイーサネット デザインについて説明します。 リ ファレンス デザインは、 ザイ リ ンクスのイーサネッ ト ソ リ ューシ ョ ンおよび GTH ト ランシーバーを使用してイーサネッ ト インターフェイスを構築しています。 10G Ethernet PCS/PMA (物理コーディング サブレイヤ/物理媒体接続部) コアとのインターフェイスに使用される ト ランシーバーは、 40G Ethernet PCS/PMA IP コアに必要な 4 つのト ランシーバーのうちの 1 つでもあ り ます。 レートは ト ランシーバーのダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート (DRP) を介して切り替えます。
このアプリ ケーシ ョ ン ノートの リ ファレンス デザイン ファ イルは、 ザイ リ ンクスのウェブサイ トからダウンロードできます。 デザイン ファ イルの詳細は、 「 リ ファレンス デザイン」 を参照して ください。
リファレンス デザイン
リ ファレンス デザインは、 10GbE と 40GbE をサポートする次のザイ リ ンクス イーサネッ ト IP コアをベースにしています。
• 10G/25G High Speed Ethernet Subsystem
• 40G/50G High Speed Ethernet Subsystem
これらの IP コアの詳細は、『10G/25G 高速 Ethernet Subsystem 製品ガイ ド』 (PG210) [参照 1] または 『40G/50G 高速 Ethernet Subsystem 製品ガイ ド v2.1』 (PG211) [参照 2] を参照してください。
2 つのインターフェイスは互いの代替オプシ ョ ンです。すなわち、10GbE は 40GbE インターフェイスに使用される 4 つの SerDes の 1 つを利用するものです。 インターフェイスでは、 1x 10GbE (10.3125Gb/s の 1 レーン) と 1x 40GbE (10.3125Gb/s の 4 レーン) がサポート されます。 10Gb/s での動作時には、 消費電力を制限するために使用していないト ランシーバーはパワーダウンされます。 アクティブなインターフェイスは、 シングル ビッ ト ポート を駆動するこ とでいつでも選択可能です。 リ アルタイムでの変更には複雑な処理が伴いますが、 これは IP コアが担います。 すべてのカスタマイズは、 IP カタログから生成される IP コアではなく、 ト ランシーバー ラ ッパーに含まれます。 したがって、 IP コア全体を異なるバージ ョ ンのツールに簡単に移植できます。 UltraScale™ および UltraScale+™ デバイスの場合、 この切り替え可能 IP は Vivado® Design Suite 2017.3 でシ ミ ュレーシ ョ ンおよびテス ト されています。
アプリケーシ ョ ン ノート : UltraScale および UltraScale+ デバイス
XAPP1326 (v1.0) 2018 年 2 月 2 日
ザイリンクスの高速シリアル I/O ソリューシ ョ ンによる 10G と 40G イーサネッ トの動的切り替え著者: Antonello Di Fresco、 Paolo Novellini
リファレンス デザイン
XAPP1326 (v1.0) 2018 年 2 月 2 日 2japan.xilinx.com
このアプリ ケーシ ョ ン ノートの リ ファレンス デザイン ファ イルは、 ザイ リ ンクスのウェブサイ トからダウンロードできます。 表 1 に、 リ ファレンス デザインの詳細を示します。
表 1: リファレンス デザインの詳細
パラメーター 説明
全般
開発者 ザイ リ ンクス
ターゲッ ト デバイス UltraScale および UltraScale+ デバイス
ソース コードの提供 あ り
ソース コードの形式 Verilog
既存のザイ リ ンクス アプリ ケーシ ョ ン ノート / リファレンス デザイン、 またはサードパーティからデザインへのコード /IP の使用
10G/25G High Speed Ethernet Subsystem v2.140G/50G High Speed Ethernet Subsystem v2.1
シミ ュレーシ ョ ン
論理シ ミ ュレーシ ョ ンの実施 あ り
タイ ミ ング シ ミ ュレーシ ョ ンの実施 なし
論理シ ミ ュレーシ ョ ンおよびタイ ミ ング シ ミ ュレーシ ョ ンでのテス トベンチの利用
あ り
テス トベンチの形式 Verilog
使用したシ ミ ュレータ /バージ ョ ン Vivado simulator 2017.3
SPICE/IBIS シ ミ ュレーシ ョ ンの実施 なし
インプリ メンテーシ ョ ン
使用した合成ツール/バージ ョ ン Vivado synthesis 2017.3
使用したインプリ メンテーシ ョ ン ツール/バージ ョ ン Vivado implementation 2017.3
スタティ ッ ク タイ ミ ング解析の実施 あ り
ハードウェア検証
ハードウェア検証の実施 あ り
使用したハード ウェア プラ ッ ト フォーム KCU105 および ZCU102 評価ボード
ハードウェア アーキテクチャ
XAPP1326 (v1.0) 2018 年 2 月 2 日 3japan.xilinx.com
ハードウェア アーキテクチャ
図 1 に、 リ ファレンス デザインのブロッ ク図を示します。
ト ランシーバーは 10GbE および 40GbE IP コアから得られ、 これらのコアは共通の PHY を共有します。 この構造は、 ト ランシーバーのクロ ッ ク、 リセッ ト 、 スタート アップを管理するロジッ クによってサポート されます。
イーサネッ ト コアは独立しており、 ト ランス ミ ッ ター側は 2:1 マルチプレクサーによって選択可能です。 適切なレートに対応するために、 ト ランシーバーの一部の属性を変更する必要があ り ます。 この操作は DRP コン ト ローラーによって管理されます。 2:1 マルチプレクサーと DRP コン ト ローラーは、 ユーザーによって駆動される共通の信号を使用してアクティブなイーサネッ ト コアイーサネッ ト コアを選択し、 ト ランシーバーを動的に再構成します。 属性の値はデザインによって定義され、 DRP コン ト ローラーに格納されます。
X-Ref Target - Figure 1
図 1:ハードウェア ブロック図
AX14-StreamInterface 64-bit 10G
EthernetMAC
10GEthernet
PCS/PMAXGMII
AX14-StreamInterface 128-bit 40G
EthernetMAC
40GEthernet
PCS/PMAXLGMII
GTHE4
DRP Controller
TXP/N[3..0]
RXP/N[3..0]
10G/40G Speed Select
X20137-011518
ハードウェア アーキテクチャ
XAPP1326 (v1.0) 2018 年 2 月 2 日 4japan.xilinx.com
クロックと リセッ ト
10GbE と 40GbE IP コアはデータパス幅が異なるため、 ク ロ ッキング アーキテクチャは 10G と 40G で異なり ます。 10GbE コアのレシーバーおよびト ランス ミ ッ ターのデータパス幅は 64 ビッ トです。 したがって、 コア周波数は 156.25MHz になり ます (図 2 参照)。
40GbE コアのレシーバーおよびト ランス ミ ッ ターのデータパス幅は、 1 つのト ランシーバーで 32 ビッ トです。 したがって、 コア周波数は 312.5MHz になり ます (図 3 参照)。
X-Ref Target - Figure 2
図 2: 10GbE のクロッキング アーキテクチャ
GTHE4RXOUTCLK
RXUSRCLK2RXUSRCLK
BUFG_GT
BUFG_GT
RXUSRCLK2 156.25 MHz312.5 MHz
RXUSRCLK 312.5 MHz
To Core
10G
X20138-120517
X-Ref Target - Figure 3
図 3: 40GbE のクロッキング アーキテクチャ
GTHE4RXOUTCLK
RXUSRCLK2RXUSRCLK
BUFG_GTRXUSRCLK2 312.5MHz312.5MHz
To Core
40G
RXUSRCLK 312.5MHz
X20139-120517
ハードウェア アーキテクチャ
XAPP1326 (v1.0) 2018 年 2 月 2 日 5japan.xilinx.com
両方のクロ ッ ク構造をサポートするために、 図 4 に示すよ うに BUFG_GT 機能を使用して分周器を動的に変更するこ とによ り、 アーキテクチャが変更されています。 この構造は、 ト ランス ミ ッ ター側とレシーバー側の両方に当てはま り ます。
2 つの IP コアは、 同じクワッ ド内の同じクワッ ド位相ロッ クループ (QPLL) を共有します。 このため、 コードは単一の共通セルを持つよ うに変更されています。 リセッ ト アーキテクチャは完全に独立しており、 各 IP コアには独自の専用ロジッ クがあ り ます。
X-Ref Target - Figure 4
図 4:新しいクロッキング アーキテクチャ
GTHE4RXOUTCLK
RXUSRCLK2RXUSRCLK
DIV
BUFG_GT
BUFG_GT
RXUSRCLK2 156.25/312.5 MHz312.5 MHz
RXUSRCLK 312.5 MHz
To Core
10G/40G
001 (10G)
000 (40G)
DRPController
10G/40G Speed Select
01
X20140-011518
ハードウェア アーキテクチャ
XAPP1326 (v1.0) 2018 年 2 月 2 日 6japan.xilinx.com
データパス
10G イーサネッ トでは GTHE チャネルのユーザー データパス幅は 64 ビッ ト と して構成され、 40G イーサネッ トではユーザー データ幅は 32 ビッ ト x 4 チャネル = 128 ビッ ト と して構成されます。 データパスは、 両方のデータ幅をサポートするよ うに変更されています。 データパスの接続の詳細は、 図 5 を参照してください。
GTHE チャネル 0 は、 10GbE と 40GbE に共有される ト ランシーバーです。 10GbE と 40GbE ではデータ幅が異なるため、選択したイーサネッ ト コアに応じて、 この ト ランシーバーの一部の属性を設定する必要があ り ます。 この設定は、 DRP コン ト ローラーによって管理されます。 DRP コン ト ローラー ブロ ッ クは、 スピード セレクターが Low (10G) または High (40G) にアサート されるたびに、 ト ランシーバーを自動的に再構成します。 起動時のデフォルトの構成は 40G です。
X-Ref Target - Figure 5
図 5:データパス
10GCore
40GCore
10GCore
40GCore
userdata_tx[127:0]
userdata_tx[127:0] [127:64]=0
10G Wrapper
40G Wrapper
GTHE4 CHANNEL 0
GTHE4 CHANNEL 1
GTHE4 CHANNEL 2
GTHE4 CHANNEL 3
128 512
64 128128
128
128
128
128
128
128
128128 128
64
128
128
128
128512
DRP Controller
10G/40G speed select
TXDATA [127:0] RXDATA [127:0]
TXDATA [127:0] RXDATA [127:0]
TXDATA [127:0] RXDATA [127:0]
TXDATA [127:0] RXDATA [127:0]
GT Wrapper
X20141-120517
ハードウェア アーキテクチャ
XAPP1326 (v1.0) 2018 年 2 月 2 日 7japan.xilinx.com
ラッパー インターフェイス
リ ファレンス デザイン top.v は、 カスタマー デザイン内に直接インスタンシエートするこ と も、 テス ト ベンチ top_test を使用して KCU105 および ZCU102 評価ボード上でテス トするこ と も可能です。 10G および 40G コアのポートは、 ラ ッパー top_inst (top.v) に接続されます。 これらのポートは、 IP コアの選択された構成に従います。 top_inst は、 ハード ウェア内での論理シ ミ ュレーシ ョ ンおよびテス ト用のテス ト /デバッグ ロジッ クに接続される top_test 内にインスタンシエート されます (図 6 参照)。
これらのポートは、 // 10G PORTS と // 40G PORTS という 2 つのグループで構成されるモジュール top.v 内で利用できます。top.v 内のポートの説明と使用方法については、『10G/25G 高速 Ethernet Subsystem 製品ガイ ド』 (PG210) [参照 1] または 『40G/50G 高速 Ethernet Subsystem 製品ガイ ド v2.1』 (PG211) [参照 2] を参照してください。
X-Ref Target - Figure 6
図 6: リファレンス デザインの構造
X20098-113017
ハードウェア アーキテクチャ
XAPP1326 (v1.0) 2018 年 2 月 2 日 8japan.xilinx.com
最上位の top_test.v 内の汎用 I/O は、 リ ファレンス デザインの制御用に提供されています。 表 2 に、 最上位の top_test.v 内のユーザー入力ポート とユーザー出力ポート を示します。
表 2: top_test.v 内のポート一覧
名前 サイズ 方向 説明
sys_rst 1 入力 グローバル システム リセッ ト
gt_refclk_p 1 入力 ト ランシーバーへの差動入力クロ ッ ク、 156.25MHz
gt_refclk_n 1 入力 ト ランシーバーへの差動入力クロ ッ ク、 156.25MHz
gt_rxp_in_0 1 入力 レーン 0 の差動シ リ アル ト ランシーバー レシーバー入力
gt_rxn_in_0 1 入力 レーン 0 の差動シ リ アル ト ランシーバー レシーバー入力
gt_txp_out_0 1 出力 レーン 0 の差動シ リ アル ト ランシーバー ト ランス ミ ッ ター出力
gt_txn_out_0 1 出力 レーン 0 の差動シ リ アル ト ランシーバー ト ランス ミ ッ ター出力
gt_rxp_in_1 1 入力 レーン 1 の差動シ リ アル ト ランシーバー レシーバー入力
gt_rxn_in_1 1 入力 レーン 1 の差動シ リ アル ト ランシーバー レシーバー入力
gt_txp_out_1 1 出力 レーン 1 の差動シ リ アル ト ランシーバー ト ランス ミ ッ ター出力
gt_txn_out_1 1 出力 レーン 1 の差動シ リ アル ト ランシーバー ト ランス ミ ッ ター出力
gt_rxp_in_2 1 入力 レーン 2 の差動シ リ アル ト ランシーバー レシーバー入力
gt_rxn_in_2 1 入力 レーン 2 の差動シ リ アル ト ランシーバー レシーバー入力
gt_txp_out_2 1 出力 レーン 2 の差動シ リ アル ト ランシーバー ト ランス ミ ッ ター出力
gt_txn_out_2 1 出力 レーン 2 の差動シ リ アル ト ランシーバー ト ランス ミ ッ ター出力
gt_rxp_in_3 1 入力 レーン 3 の差動シ リ アル ト ランシーバー レシーバー入力
gt_rxn_in_3 1 入力 レーン 3 の差動シ リ アル ト ランシーバー レシーバー入力
gt_txp_out_3 1 出力 レーン 3 の差動シ リ アル ト ランシーバー ト ランス ミ ッ ター出力
gt_txn_out_3 1 出力 レーン 3 の差動シ リ アル ト ランシーバー ト ランス ミ ッ ター出力
gt_10g40g_sel 1 入力 10G/40G スピード セレク ト
clk_in_p 1 入力 300MHz ステーブル/フ リーランニング入力クロ ッ ク
clk_in_n 1 入力 300MHz ステーブル/フ リーランニング入力クロ ッ ク
restart_tx_rx 1 入力パケッ ト ジェネレーターおよびパケッ ト モニターがアイ ドル状態のと き、この信号を使用してデータ サニティー テス ト用のパケッ トの生成と受け入れを再開します。
rx_gt_locked_led_10G 1 出力 10GbE ト ランシーバー ロ ッ クを示します。
rx_block_lock_led _10G 1 出力 10GbE コア ブロッ ク ロ ッ クを示します。
rx_gt_locked_led_40G 1 出力 40GbE ト ランシーバー ロ ッ クを示します。
DRP コン ト ローラー
XAPP1326 (v1.0) 2018 年 2 月 2 日 9japan.xilinx.com
10GbE IP と 40GbE IP の機能とアーキテクチャの詳細は、 『10G/25G 高速 Ethernet Subsystem 製品ガイ ド』 (PG210) [参照 1] または 『40G/50G 高速 Ethernet Subsystem 製品ガイ ド v2.1』 (PG211) [参照 2] を参照してください。
DRP コン ト ローラー
DRP コン ト ローラー ブロ ッ クは、 『ザイ リ ンクスの高速シ リ アル IO ソ リ ューシ ョ ンによる 1G と 10G イーサネッ トの動的切り替え』 (XAPP1243) [参照 3] に付属のコードを、 このリ ファレンス デザイン向けにカスタマイズして使用します。
DRP コン ト ローラー ブロ ッ クは、 スピード セレクターが Low (10G) または High (40G) にアサート されるたびに、 ト ランシーバーを自動的に再構成します。 DRP コン ト ローラーのクロ ッ ク と して、 ステーブル/フ リーランニング ク ロ ッ クが使用されます。 このクロ ッ クは、 ト ランシーバーの DRP ポートにアクセスする必要があるデザイン内のすべてのロジッ クにも使用されます。 起動時には、 すべてのポートが 40Gと して構成されます。
DRP コン ト ローラーは、 対応する ト ランシーバー レジスタに属性値を書き込むために有限ステート マシン (FSM) を実装します。 FSM は、 ステーブル ク ロ ッ クによって同期化され、 マルチプレクサーのセレク ト ライン (ユーザー入力) のト リガーに基づいて動作します。 両プロ ト コル (10G および 40G) のト ランシーバーの属性値は、 DRP コン ト ローラーの ROM 内にハード コード されて格納されます。 DRP コン ト ローラーの出力は、 ト ランシーバーの DRP インターフェイスにマップされます。実装された FSM は、標準の手順に従って UltraScale デバイスの GTH ト ランシーバーの DRP レジスタに対して読み出しまたは書き込みを実行します。 詳細は、 『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576) [参照 4] を参照して ください。 図 7 に DRP コン ト ローラーの FSM フロー図を示します。
rx_block_lock_led _40G 1 出力 40GbE コア ブロッ ク ロ ッ クを示します。
completion_status
5 出力 この信号は次のステータス /結果を示します。
• 5'd0: テス トは実行されなかった
• 5'd1: 10GE/40GE コア テス トが正常に完了した
• 5'd2: どのレーンもブロ ッ ク ロ ッ クを達成していない
• 5'd3: ブロ ッ ク ロ ッ クを達成していないレーンがある
• 5'd4: 一部のレーンがブロ ッ ク ロ ッ クの達成後にブロ ッ ク ロ ッ クを失った
• 5'd5: どのレーンもレーン同期を達成していない
• 5'd6: 同期を達成していないレーンがある
• 5'd7: 一部のレーンが同期の達成後に同期を失った
• 5'd8: アライ メン ト ステータスまたは rx_status を達成していない
• 5'd9: アライ メン ト ステータス と rx_status の両方の達成後にアライ メン ト ステータスまたは rx_status を失った
• 5'd10: ト ランス ミ ッ ターのタイムアウ ト
• 5'd11: ト ランス ミ ッ ター データが送信されていない
• 5'd12: 受信パケッ ト数と送信パケッ ト数が一致しない
• 5'd13: 受信バイ トの総数と送信バイ トの総数が一致しない
• 5'd14: プロ ト コル エラーが検出された
• 5'd15: 受信パケッ トにビッ ト エラーが検出された
• 5'd31: テス トが リセッ ト状態で停止した
表 2: top_test.v 内のポート一覧 (続き)
名前 サイズ 方向 説明
DRP コン ト ローラー
XAPP1326 (v1.0) 2018 年 2 月 2 日 10japan.xilinx.com
X-Ref Target - Figure 7
図 7:デザイン フロー
RESTART
ADDRESS
BITMASK
BITSET
WRITE
GT_RST
X20142-120517
DRP コン ト ローラー
XAPP1326 (v1.0) 2018 年 2 月 2 日 11japan.xilinx.com
図 7 に示す各ステートの説明は、 表 3 を参照して ください。
表 3:有限ステート マシンの説明
State 説明
RESTART ROM の開始アドレス と出力値が 0 に初期化されます。
WAIT_LOCK FSM はチャネル位相ロッ ク ループ (CPLL) ロ ッ ク (1G の場合) または QPLL ロ ッ ク (10G の場合) をポーリ ングします。 PLL がロ ッ クする と、 FSM は次のステートへ遷移します。
WAIT SENFSM は、マルチプレクサー セレク ト ラインの値 (ユーザー入力) がト グルして、以前の 10G レートの設定から 1G レートの設定 (またはその逆) に変更されるまで、 このステートで待機します。 この ト リガーに基づいて、ROM から属性値をフェッチするための開始アドレスが割り当てられます。
ADDRESS このステートでは、 ト ランシーバー レジスタの読み出し動作が有効になり、 属性レジスタのアドレスがセット されます。
WAIT_A_DRDY 書き込み動作を確認するために、 ロジッ クが読み出しを実行します。 したがって、 属性値は読み出された後に変更されます。 このステートでは、 ト ランシーバーからの READY 信号のアサート をポーリ ングします。
BITMASK このステートでは、 属性レジスタの変更されないビッ ト部分がマスク されます。
BITSET このステートでは、 属性レジスタのビッ トがセッ ト されます。
WRITE 対応するレジスタ属性の新しい値が、 対応するレジスタの各ビッ トに書き込まれます。
WAIT_DRDY このステートでは、 正常な書き込み動作に対する肯定応答と して、 ト ランシーバーからの READY 信号のアサート をポーリ ングします。
REGISTER COUNT このステートでは、 変更される属性レジスタの合計数がモニタ リ ングされます。 FSM は、 レジスタ カウン トが 0 になるまで ADDRESS ステートに遷移し、 すべてのレジスタに書き込みが実行されるこ とを示します。
GT_RST 書き込まれた新しい属性値を適用するために、 ト ランシーバー チャネルがリセッ ト されます。 FSM は WAIT LOCK ステートへ遷移後、 SEN 立ち上がり信号を取得するまで、 WAIT_SEN ステート を維持します。
イーサネッ ト コアのコンフ ィギュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 12japan.xilinx.com
イーサネッ ト コアのコンフ ィギュレーシ ョ ン
図 8 ~ 図 15 に示すオプシ ョ ンを選択して、 10G と 40G の 2 つのイーサネッ ト コアを生成します。
10G/25G Ethernet Subsystem のコンフ ィギュレーシ ョ ン
X-Ref Target - Figure 8
図 8: [10G/25G Ethernet Subsystem] – [Configuration]
X20099-113017
イーサネッ ト コアのコンフ ィギュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 13japan.xilinx.com
10G/25G Ethernet Subsystem の MAC オプシ ョ ン
X-Ref Target - Figure 9
図 9: [10G/25G Ethernet Subsystem] – [MAC Options]
X20105-113017
イーサネッ ト コアのコンフ ィギュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 14japan.xilinx.com
10G/25G Ethernet Subsystem のト ランシーバーの選択とコンフ ィギュレーシ ョ ン
X-Ref Target - Figure 10
図 10: [10G/25G Ethernet Subsystem] – [Transceiver Selection and Configuration]
X20110-113017
イーサネッ ト コアのコンフ ィギュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 15japan.xilinx.com
10G/25G Ethernet Subsystem の共有ロジック
X-Ref Target - Figure 11
図 11: [10G/25G Ethernet Subsystem] – [Shared Logic]
X20111-113017
イーサネッ ト コアのコンフ ィギュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 16japan.xilinx.com
40G/50G Ethernet Subsystem のコンフ ィギュレーシ ョ ン
X-Ref Target - Figure 12
図 12: [40G/50G Ethernet Subsystem] – [Configuration]
X20112-113017
イーサネッ ト コアのコンフ ィギュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 17japan.xilinx.com
40G/50G Ethernet Subsystem の MAC オプシ ョ ン
X-Ref Target - Figure 13
図 13: [40G/50G Ethernet Subsystem] – [MAC Options]
X20113-113017
イーサネッ ト コアのコンフ ィギュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 18japan.xilinx.com
40G/50G Ethernet Subsystem のト ランシーバーの選択とコンフ ィギュレーシ ョ ン
X-Ref Target - Figure 14
図 14: [40G/50G Ethernet Subsystem] – [Transceiver Selection and Configuration]
X20121-113017
イーサネッ ト コアのコンフ ィギュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 19japan.xilinx.com
40G/50G Ethernet Subsystem の共有ロジック
X-Ref Target - Figure 15
図 15: [40G/50G Ethernet Subsystem] – [Shared Logic]
X20122-113017
テストベンチのシミ ュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 20japan.xilinx.com
テストベンチのシミ ュレーシ ョ ン
10G コアおよび 40G コア、 スイ ッチング ロジッ ク、 DRP のコンフ ィギュレーシ ョ ンは、 ビヘイビアー シ ミ ュレーシ ョ ンで検証されています。 テス トベンチが提供され、 Vivado シ ミ ュレータでテス ト されます。 このテス トベンチはまず 40G のシ ミ ュレーシ ョ ンを開始します。 40G テス トの完了後、 10G テス トに切り替えます。 次に再び 40G テス ト を実行し、 完了後に再び 10G テス トに切り替えます。
シ ミ ュレーシ ョ ン ログ全体を次に示します。
Vivado Simulator 2017.3
Time resolution is 1 fs
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++ 40G Ethernet ++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO : SYS_RESET RELEASED TO 40G CORE
INFO : WAITING FOR THE GT LOCK..........
INFO : GT LOCKED
INFO : WAITING FOR RX_ALIGNED..........
INFO : RX ALIGNED
INFO : CORE Version is 2.3
INFO : Sanity Completed and Passed
INFO : CORE TEST SUCCESSFULLY COMPLETED and PASSED
INFO : Test Completed Successfully
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++ 40G -> 10G Switching +++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO : SYS_RESET RELEASED TO 10G CORE
INFO : WAITING FOR THE GT LOCK..........
INFO : GT LOCKED
INFO : WAITING FOR RX_BLOCK_LOCK..........
INFO : CORE 10GE RX BLOCK LOCKED
INFO : WAITING FOR COMPLETION STATUS..........
INFO : COMPLETION_STATUS = 5'b00001
INFO : Sanity Completed and Passed
INFO : CORE TEST SUCCESSFULLY COMPLETED and PASSED
INFO : Test Completed Successfully
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++ 10G -> 40G Switching +++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO : SYS_RESET RELEASED TO 40G CORE
INFO : WAITING FOR THE GT LOCK..........
INFO : GT LOCKED
INFO : WAITING FOR RX_ALIGNED..........
INFO : RX ALIGNED
INFO : CORE Version is 2.3
INFO : Sanity Completed and Passed
テストベンチのシミ ュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 21japan.xilinx.com
INFO : CORE TEST SUCCESSFULLY COMPLETED and PASSED
INFO : Test Completed Successfully
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++ 40G -> 10G Switching +++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO : SYS_RESET RELEASED TO 10G CORE
INFO : WAITING FOR THE GT LOCK..........
INFO : GT LOCKED
INFO : WAITING FOR RX_BLOCK_LOCK..........
INFO : CORE 10GE RX BLOCK LOCKED
INFO : WAITING FOR COMPLETION STATUS..........
INFO : COMPLETION_STATUS = 5'b00001
INFO : Sanity Completed and Passed
INFO : CORE TEST SUCCESSFULLY COMPLETED and PASSED
INFO : Test Completed Successfully
Simulation Stopped
図 16 に、 ビヘイビアー シ ミ ュレーシ ョ ンの波形を示します。
X-Ref Target - Figure 16
図 16:波形ビヘイビアー シミ ュレーシ ョ ン
X20123-113017
テストベンチのシミ ュレーシ ョ ン
XAPP1326 (v1.0) 2018 年 2 月 2 日 22japan.xilinx.com
図 16 に示すすべての信号の詳細は、 表 4 を参照して ください。
表 4:波形信号の説明
信号 説明
gt_10g40g_sel マルチプレクサー セレク ター、 1 = 40G、 0 = 10G
restart_tx_rx パケッ ト ジェネレーターのテス ト パターンを再開します。
completion_status テス ト結果、 1 = テス トは正常に完了した
rx_gt_locked_led_10G gt_10g40g_sel = 0 の場合、 resetdone がアサート されたと きの ト ランシーバー ロ ッ ク
rx_aligned_led_10G gt_10g40g_sel = 0 の場合、 値が 1 のと きは、 PCS レーンがアライ メン ト され、 レシーバー パスがアライ メン ト され、 パケッ ト データを受信できるこ とを示します。
rx_gt_locked_led_40G gt_10g40g_sel = 1 の場合、 resetdone がアサート されたと きの ト ランシーバー ロ ッ ク
rx_aligned_led_40G gt_10g40g_sel = 1 の場合、 値が 1 のと きは、 すべての PCS レーンがアライ メン トおよびスキュー調整され、 レシーバー パスがアライ メン ト され、 パケッ ト データを受信できるこ とを示します。
qpll_locked ト ランシーバーの QPLL は正しいクロ ッ クを受信し、 ロ ッ ク されています。
gt_x_x_loopback ト ランシーバー ポートおよびレシーバー ポートの外部ループバッ ク
rst_gt 値が 1 の場合は、 DRP コン ト ローラーが ト ランシーバーの再構成を完了し、 デザインのマスター リセッ ト を生成したこ とを示します。
tx_sent_count_int 送信された 10G/40G パケッ ト
rx_packet_count_int 受信した 10G パケッ ト
synced_rx_packet_count 受信した 40G パケッ ト
tx_done 送信された 10G/40G 最終パケッ ト
txpd ト ランス ミ ッ ター パワーダウン ポート、 11 は 1 つのト ランシーバーをパワーダウン、40G = 00000000、 10G = 11111100
rxpd レシーバー パワーダウン ポート、 11 は 1 つのト ランシーバーをパワーダウン、40G = 00000000、 10G = 11111100
リファレンス デザイン ファイル
XAPP1326 (v1.0) 2018 年 2 月 2 日 23japan.xilinx.com
リファレンス デザイン ファイル
このリ ファレンス デザインはザイ リ ンクス KCU105 および ZCU702 評価ボード用です。 どちら もディ レク ト リ構造は同一です。 図 17 に、 Kintex® UltraScale デバイス (KCU105) デザイン ファ イルのディレク ト リ構造を示します。
KCU105 フォルダーには、 表 5 に示すハードウェア デザイン成果物が格納されます。
readme.txt ファ イルにはフォルダー構造、 ツール バージ ョ ン、 およびリ ビジ ョ ンの詳細が記載されています。
デザインに付属の loc_timing.xdc ファ イルに定義されたピン配置は、 FMC1 コネクタに接続された ト ランシーバーを使用します。 必要に応じてピン配置を変更し、 ト ランシーバー ポートの位置を変更できます。
X-Ref Target - Figure 17
図 17:ディレク ト リ構造
表 5:ハードウェア デザイン成果物
フォルダー名 説明
Board ボード テス トに必要なすべてのスク リプ ト とプログラ ミ ング ファ イルが含まれる
sources/constraints I/O およびタイ ミ ング制約ファイルが含まれる
sources/hdl ソース コード ファ イルが含まれる
sources/ip_catalog デザインに必要なザイ リ ンクス IP コアが含まれる
sources/testbench シ ミ ュレーシ ョ ン用のテス トベンチ ファ イルが含まれる
vivado/scripts コマンド ラインおよび Vivado Design Suite IDE モードで使用できる、 Windows および Linux オペレーティング システム用のデザイン作成スク リプ トが含まれる
ready_to_test KCU105 評価ボードをコンフ ィギュレーシ ョ ンするためのプログラ ミ ング ファ イルが含まれる
X20124-113017
プロジェク トの作成
XAPP1326 (v1.0) 2018 年 2 月 2 日 24japan.xilinx.com
プロジェク トの作成
KCU105 評価ボード用の kintex_ultrascale_10g_40g.tcl スク リプ ト またはZCU102 評価ボード用の zynq_ultrascalep_mpsoc_10g_40g.tcl スク リプ ト を使用して、 Vivado ツール プロジェク ト を作成します。 スク リプ トは、 Vivado ツール用に構成されたシェル、 または GUI 内で利用可能な Tcl コンソールから source で実行できます (図 18 参照)。
たとえば、 KCU105 評価ボード用のプロジェク ト を作成するには、 シェルからスク リプ ト ディ レク ト リに移動し、 次のコマンドを実行します。
vivado -mode tcl -source kintex_ultrascale_10g_40g.tcl
GUI 内では、 スク リプ ト ディレク ト リに移動し、 kintex_ultrascale_10g_40g.tcl を source で実行します。 スク リプ トは、 デザインのインプリ メンテーシ ョ ンおよびシ ミ ュレーシ ョ ンに必要なすべてのデザイン ファ イルをインポートするこ とによ り、 プロジェク ト を作成します (図 19 参照)。
X-Ref Target - Figure 18
図 18: Tcl コンソール
X20125-113017
リファレンス デザインの保守管理
XAPP1326 (v1.0) 2018 年 2 月 2 日 25japan.xilinx.com
リファレンス デザインの保守管理
このセクシ ョ ンでは、Vivado Design Suite のアップデート または IP コアの新バージ ョ ンに合わせた リ ファレンス デザインの保守管理について詳し く説明します。IP コアは GT サブコアをサンプル デザインに含めるよ うに生成されます ([Include GT subcore in sample design] がオン)。 すなわち、 このオプシ ョ ンをオンにしなければ、 ト ランシーバーに関連するすべてのファイルはコアに含まれません。 変更されたすべてのリ ファレンス デザイン ファ イルは、 ト ランシーバー側に含まれます。 IP コアを生成する と、 コアは 2 つのメ イン ブロ ッ ク と して構築されます。 たとえば、 10G は、 コア用の eth_10g とト ランシーバー用の eth_10g_gt_0 です。2 つのメ イン ブロ ッ クのそれぞれに、ザイ リ ンクス コア インスタンス (XCI) ファイルが生成されます。 XCI ファ イルは IP のコンフ ィギュレーシ ョ ン全体を格納します。
X-Ref Target - Figure 19
図 19:デザイン ソース ファイル
X20126-113017
リファレンス デザインの保守管理
XAPP1326 (v1.0) 2018 年 2 月 2 日 26japan.xilinx.com
デザイン内の eth_10g_gt_0.xci の IS_MANAGED プロパティの値は false に設定されています。 これは、 ト ランシーバーに含まれるすべてのファイルは再生成されないという意味です。 オプシ ョ ンが異なるために IP コアをアップデートする必要がある場合は、 eth_10g.xci を開き、 オプシ ョ ンを変更し、 ファ イルを閉じて、 新しいファイルを生成します。 IS MANAGED= false に設定されているため、 ト ランシーバー側は上書きされません。 図 20 に、 10G IP の 2 つの XCI ファ イルを示します。 の記号は、 IP コアが管理対象外であるこ とを示します。
デザインが Vivado Design Suite の新しいバージ ョ ンに移植された場合でも、 この動作は同じです。 IP コアの ト ランシーバー側は管理対象外であるため、 IP コアが自動的にアップデート される際に IP コアの変更された部分が上書きされない可能性があ り ます。
推奨: ト ランシーバーをアップデートする必要がある場合は、 新しい ト ランシーバーを別個に生成し、 デザイン内にインスタンシエート された ト ランシーバーとの違いがないこ とを確認するこ とを推奨します。 違いがある場合は、 アップデート された ト ランシーバー ファ イルに変更点をコピーする必要があ り ます。
X-Ref Target - Figure 20
図 20:管理対象外の IP コア
X20127-113017
ハードウェア テスト
XAPP1326 (v1.0) 2018 年 2 月 2 日 27japan.xilinx.com
ハードウェア テスト
このリ ファレンス デザインは、 KCU105 および ZCU102 評価ボードを使用してハード ウェア内で検証されています。Vivado ロジッ ク解析を使用してこのテス ト を実行できます。 仮想入力/出力 (VIO) を定義して、 いくつかの信号のステート を強制します。 テス トのために、 ト ランシーバーはループバッ ク PMA モードでセッ ト アップされます。 ケーブルや光モジュールは不要です。 リ ファレンス デザインはボード上で利用可能なデフォルトのクロ ッ クを使用するため、 オシレーターを再構成する必要はあ り ません。 ト ランシーバーの基準クロ ッ クは 156.25MHz です。
DRP インターフェイス、 DRP コン ト ローラー、 およびパケッ ト ジェネレーターに必要なフ リーランニング ク ロ ッ クの周波数は 100MHz です。 KCU105 および ZCU102 は 300MHz のフ リーランニング基準クロ ッ ク しか提供できないため、MMCM ( ミ ッ クス ド モード ク ロ ッ ク マネージャー ) が top_test.v 内にインスタンシエート され、 300MHz から 100MHz を生成します。 FPGA のコンフ ィギュレーシ ョ ンの完了後、 VIO ウ ィンド ウの 「+」 ボタンをク リ ッ ク して利用可能なすべての信号を追加します (図 21 参照)。
X-Ref Target - Figure 21
図 21: プローブの追加
X20128-113017
ハードウェア テスト
XAPP1326 (v1.0) 2018 年 2 月 2 日 28japan.xilinx.com
テス ト を実行するには、 表 6 の VIO の設定を使用します。
図 22 および 図 23 に、 それぞれ 10G と 40G の VIO の設定を示します。
表 6: VIO の設定
VIO 10G 40G
出力
gt_10g40g_sel_vio 0 1
GT_LOOPBACK[2:0] 010 010
reset_vio 0 0
restart_tx_rx_vio 0 0
入力
mmcm_locked 1 1
rx_gt_locked_led_10g 1 0
rx_block_lock_led_10g 1 0
rx_gt_locked_led_40g 0 1
rx_block_lock_led_40g 0 1
X-Ref Target - Figure 22
図 22: 10G の VIO の設定
X20129-113017
ハードウェア テスト
XAPP1326 (v1.0) 2018 年 2 月 2 日 29japan.xilinx.com
図 24 の ILA (Integrated Logic Analyzer) は、 completion_status 信号を示しています。 値が 1 の場合、 選択したインターフェイスのテス トは正常に完了しています。
X-Ref Target - Figure 23
図 23: 40G の VIO の設定
X20130-113017
X-Ref Target - Figure 24
図 24: ILA
X20131-113017
ハードウェア テスト
XAPP1326 (v1.0) 2018 年 2 月 2 日 30japan.xilinx.com
表 7 に、 評価ボード上で利用可能な制御を示します。
図 25 および 図 26 に、 それぞれ KCU105 および ZCU102 評価ボードのボード 制御を示します。
表 7:ボード上で利用可能な制御
番号 制御 機能 注記
1 プッシュボタン SW18 restart_tx_rx
2 プッシュボタン SW16 マスター リセッ ト
3 LED DS38 rx_gt_locked_led_10g
3 LED DS37 rx_block_lock_led_10G
3 LED DS39 rx_gt_locked_led_40G
3 LED DS40 rx_gt_locked_led_40G
3 LED DS41:DS44 completion_status DS44 が ON の場合にのみ、 status test = OK
4 DIP スイ ッチ 8 gt_10g40g_sel OFF = 10G、ON = 40GOFF の場合、ポートは VIO によって制御されます。
X-Ref Target - Figure 25
図 25: KCU105 ボードの制御
X20132-113017
まとめ
XAPP1326 (v1.0) 2018 年 2 月 2 日 31japan.xilinx.com
まとめ
このリ ファレンス デザインは次の機能を使用して開発されました。
• インターフェイス
° 1x 40GbE インターフェイス、 10.3125Gb/s の 4 レーン
° 1x 10GbE インターフェイス、 10.3125Gb/s の 1 レーン
• インターフェイスはリ アルタイムで切り替え可能
° シングル ビッ ト ファ イル、 シングル ポート操作
° リ ファレンス デザインには両方のインターフェイスの MAC が含まれる
• ユーザー アプリ ケーシ ョ ンへのデータ コネクティビティは AXI インターフェイスを介して確保される
• IEEE PTP 1588v2 2 ステップ
• 10G モードで動作時の、 使用していないト ランシーバーのパワーダウン
X-Ref Target - Figure 26
図 26: ZCU102 ボードの制御
X20133-113017
Xilinx Documentation Navigator およびデザイン ハブ
XAPP1326 (v1.0) 2018 年 2 月 2 日 32japan.xilinx.com
Xilinx 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 からは、 日本語版は参照できません。 ウェブサイ トのデザイン ハブ ページの一部は翻訳されており、 日本語版が提供されている場合はそのリ ンク も追加されています。
参考資料
注記:日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。
1. 『10G/25G 高速 Ethernet Subsystem 製品ガイ ド』 (PG210: 英語版、 日本語版)
2. 『40G/50G 高速 Ethernet Subsystem 製品ガイ ド v2.1』 (PG211: 英語版)
3. 『ザイ リ ンクスの高速シ リ アル IO ソ リ ューシ ョ ンによる 1G と 10G Ethernet の動的切り替え』 (XAPP1243: 英語版、 日本語版)
4. 『UltraScale アーキテクチャ GTH ト ランシーバー ユーザー ガイ ド』 (UG576: 英語版、 日本語版)
改訂履歴
次の表に、 この文書の改訂履歴を示します。
日付 バージョ ン 内容
2018 年 2 月 2 日 1.0 初版
お読みください: 重要な法的通知
XAPP1326 (v1.0) 2018 年 2 月 2 日 33japan.xilinx.com
お読みください: 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適用される法律が許容する最大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供され、 ザイ リンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれらに限られません)、すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・性質の損失または損害についても、 責任を負わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害には、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可能であったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情報に含まれるいかなる誤り も訂正する義務を負わず、 本情
報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いません。 事前の書面による同意のない限り、 貴殿または貴社
は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と と
なるので、 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補助的条件に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、
または、 フェイルセーフの動作を要求するアプリ ケーシ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな
重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。
https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照してください。
自動車用のアプリケーシ ョ ンの免責条項
オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セーフティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。
© Copyright 2018 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] まで、 または各ページの右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめご了承ください。