20 ビット幅のオーバーサンプル データをベースとするクロック

ア プ リ ケーシ ョ ン ノ ー ト : ザイ リ ン ク ス 7 シ リ ーズ デバイ スおよび UltraScale デバイ ス
XAPP1240 (v1.0) 2015 年 4 月 17 日
20 ビ ッ ト 幅のオーバーサン プル デー タ
をベース と する ク ロ ッ ク およびデー タ リ カバ リ ユニ ッ ト
著者 : Paolo Novellini、 Antonello Di Fresco、 Giovanni Guasti
概要
マルチサービ ス ネ ッ ト ワー ク には、 広範な入力デー タ レー ト で動作可能な ト ラ ン シーバーが必要です。 高速シ リ アル I/O
は、 動作デー タ レー ト に下限があ る ため、 低速 ク ラ イ ア ン ト 信号への イ ン タ ーフ ェ イ ス が容易ではあ り ません。 こ のアプ
リ ケーシ ョ ン ノ ー ト で説明す る NIDRU (Non-Integer Data Recovery Unit) は、デー タ レー ト の下限を 0Mb/s に引 き 下げ る こ
と に よ っ て、専用の高速 ト ラ ン シーバーを真のマルチ レー ト シ リ アル イ ン タ ーフ ェ イ ス に対応で き る 有効な ソ リ ュ ーシ ョ
ン に し ま す。 NIDRU は、 ザ イ リ ン ク ス の 7 シ リ ーズお よ び UltraScale™ デバ イ ス用に設計 さ れてい ます。 NIDRU の動作
設定 (デー タ レー ト 、 ジ ッ タ ー帯域幅、 入力 ppm 範囲、 ジ ッ タ ー ピーキ ン グ) は動的にプ ロ グ ラ ム可能なため、 ビ ッ ト ス
ト リ ームの リ ロ ー ド やパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンは必要あ り ません。同期す る 外部基準 ク ロ ッ ク で動作 し てい
る 場合、 NIDRU では小数値のオーバーサン プ リ ン グ レー ト がサポー ト さ れ ます。 し たが っ て、 セ ッ ト ア ッ プ さ れてい る
チ ャ ネル数に関係な く 、 ま たすべてのチ ャ ネルが異な る デー タ レー ト で動作 し てい る 場合であ っ て も 、必要な ク ロ ッ ク ツ
リ ーは 1 つのみ (BUFG ま たは BUFG_GT) です。
抽出 さ れたデー タ は、ユーザー アプ リ ケーシ ョ ンへ同時に転送 さ れます。こ のバ ス幅はユーザーがプ ロ グ ラ ム で き る ため、
8 ビ ッ ト ま たは 10 ビ ッ ト のいずれのユーザー アプ リ ケーシ ョ ンへ も 容易に接続で き ます。
概要
こ のアプ リ ケーシ ョ ン ノ ー ト は、 次の 3 つの内容で構成 さ れてい ます。
•
「NIDRU のブ ロ ッ ク 図お よ びピ ン配置」
NIDRU ラ ッ パーの構造お よ びピ ン配置について説明 し てい ます。
•
「NIDRU の使用モデル」
NIDRU のポー ト お よ び属性の設定方法について説明 し てい ます。
•
「DRU のシ ミ ュ レーシ ョ ン」
DRU のシ ミ ュ レーシ ョ ン用に設計 さ れたテ ス ト ベンチについて説明 し てい ます。
こ のアプ リ ケーシ ョ ン ノ ー ト では、 実例 と し て Fast Ethernet (125Mb/s ± 100ppm) お よ び OC3/STM1 (155.520Mb/s ± 20ppm)
を使用 し ます。
本資料は表記のバージ ョ ンの英語版を翻訳 し た も ので、内容に相違が生 じ る場合には原文を優先 し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本
語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
1
NIDRU のブ ロ ッ ク図およびピ ン配置
NIDRU のブ ロ ッ ク図およびピ ン配置
こ のセ ク シ ョ ンでは、 NIDRU ラ ッ パーの構造お よ びピ ン配置について説明 し ます。 図 1 に、 ラ ッ パー構造を示 し ます。 関
連ポー ト のみ表示 し てい ます。
&(17(5B)
*B3
*
*
X-Ref Target - Figure 1
1,'58:UDSSHU
&75/
',1
3KDVH
'HWHFWRU
/RZ3DVV
)LOWHU
1XPHULFDOO\
&RQWUROOHG
2VFLOODWRU
5()&/.
567
5(&&/.
'287
6$0
6DPSOH
6HOHFWRU
6$0B9
%DUUHO6KLIWHU
(1B287
;BB
図 1 : NIDRU ラ ッ パーのブ ロ ッ ク 図
DIN ポー ト では、 SelectIO™ イ ン タ ーフ ェ イ ス ま たは Lock-to-Reference モー ド に設定 さ れた SerDes か ら オーバーサンプル
さ れた未処理の 20 ビ ッ ト 幅デー タ を受信 し ます。 NIDRU のビ ッ ト 順序変換は SerDes と 同 じ で、 最初の ビ ッ ト が LSb にな
り ます(1)。 Phase Detector (PD) では入力デー タ の遷移が監視 さ れ、 内部の NCO (数値制御型オシ レー タ ー ) の位相 と 継続的
に照合 さ れ ま す。 デジ タ ル エ ラ ー信号が PD で生成 さ れて Low Pass Filter (LP) で フ ィ ル タ リ ン グ さ れ、 こ れ を使用 し て
NCO 周波数が調整 さ れて位相エ ラ ーが最小化 し ます。 こ の よ う に し て、 NIDRU の PLL (位相 ロ ッ ク ループ) が機能 し ます
([参照 1] お よ び [参照 2])。 Sample Selector (SS) ブ ロ ッ ク は、 NCO の出力に基づいて、 ア イ の中央に最 も 近いサンプル値を
選択 し ます。 REFCLK ク ロ ッ ク の 1 サ イ ク ル間には、 最大 10 の有効なサ ンプル値があ り 、 SS に よ っ て SAM 出力に配置
さ れ ま す。 SAMV は、 各 ク ロ ッ ク サ イ ク ルで SAM に配置 さ れた有効なサ ン プル値の数を示 し ま す。 NIDRU と ユーザー
アプ リ ケーシ ョ ン間の接続を シ ンプルにす る ため、 ラ ッ パー内に Barrel Shifter (バレル シ フ タ ー ) があ り ます。 こ のブ ロ ッ
ク の出力デー タ 幅は WDT_OUT 属性で指定で き ます。 NIDRU ラ ッ パー内のすべてのブ ロ ッ ク は REFCLK に同期 し ます。
1. Virtex®-4 デバ イ ス以降、すべての SerDes は、こ こ で説明す る と お り NIDRU と 同 じ 順序規則に従い ます。Virtex-II Pro デバ イ ス の SerDes
では、 異な る ビ ッ ト 順序を採用 し てい ます。
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
2
NIDRU のブ ロ ッ ク図およびピ ン配置
NIDRU は、 入力 さ れ る デー タ を同時に処理す る ため、 通常、 1 ク ロ ッ ク サ イ ク ルで 2 ビ ッ ト 以上の出力を生成 し ます。 動
作周波数 (REFCLK) と 入力デー タ レー ト の関係を使用す る 式 1 に基づいて、1 ク ロ ッ ク サ イ ク ルで処理 さ れ る 最大ビ ッ ト
数 (NMAX) を算出で き ます。
f DIN
N MAX = truncate ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ + 1
f REFCLK
式1
こ こ では、 fREFCLK と オーバーサンプ リ ン グ レー ト の 3 つのユーザー コ ン フ ィ ギ ュ レーシ ョ ン例を示 し 、 それぞれの結果
(NMAX) を示 し ます。
•
fREFCLK = 125MHz の Fast Ethernet お よ び 2.5Gb/s のオーバーサンプ リ ン グ レー ト の場合 : NMAX = 2
•
fREFCLK = 125MHz の STM1 お よ び 2.5Gb/s のオーバーサンプ リ ン グ レー ト の場合 : NMAX = 2
•
fREFCLK = 155.52MHz の Fast Ethernet お よ び 3.1Gbit/s のオーバーサンプ リ ン グ レー ト の場合 : NMAX = 1
N が 1 よ り 大 き い場合は、 バレル シ フ タ ーを使用す る こ と に よ っ て、固定幅の FIFO へ DRU を簡単に イ ン タ ーフ ェ イ ス で
き ます。 N が 1 の場合、 ユーザー アプ リ ケーシ ョ ンは 1 ビ ッ ト 幅のみ と な る ため、 バレル シ フ タ ーは必要あ り ません。
表 1 では、 NIDRU の コ ン フ ィ ギ ュ レーシ ョ ン属性について説明 し ます。 NIDRU のポー ト については、 表 2 で説明 し てい
ます。
表 1 : NIDRU の コ ン フ ィ ギ ュ レーシ ョ ン属性
属性名
S_MAX
種類/範囲
整数
1 ~ 10
説明
コメント
1 ク ロ ッ ク サ イ ク ルで抽出
さ れ る 最大サ ン プル数の予
想値
こ のポー ト の コ ン フ ィ ギ ュ レーシ ョ ンについ
ては、 5 ページの 「NIDRU の使用モデル」 を
参照 し て く だ さ い。
S_MAX を 10 を設定する と 、 あ ら ゆ る ケース
に対応で き ます。
MASK_CG
STD LOGIC VECTOR
15 ~ 0
生成 さ れた係数の数値的な
精度
こ のポー ト の コ ン フ ィ ギ ュ レーシ ョ ンについ
ては、 5 ページの 「NIDRU の使用モデル」 を
参照 し て く だ さ い。
MASK_CG をすべて 1 に設定する と 、 NIDRU
が最高精度を使用 し ます。
MASK_PD
STD LOGIC VECTOR
15 ~ 0
PD 計算の数値的な精度
こ のポー ト の コ ン フ ィ ギ ュ レーシ ョ ンについ
ては、 5 ページの 「NIDRU の使用モデル」 を
参照 し て く だ さ い。
MASK_PD をすべて 1 に設定す る と 、 NIDRU
が最高精度を使用 し ます。
MASK_VCO
STD LOGIC VECTOR
15 ~ 0
NCO 出力の数値的な精度
こ のポー ト の コ ン フ ィ ギ ュ レーシ ョ ンについ
ては、 5 ページの 「NIDRU の使用モデル」 を
参照 し て く だ さ い。
MASK_VCO を すべ て 1 に 設定す る と 、
NIDRU が最高精度を使用 し ます。
WDT_OUT
整数
2 ~ 40
XAPP1240 (v1.0) 2015 年 4 月 17 日
出力デー タ 幅
japan.xilinx.com
バス DT_OUT の出力幅を示 し ます。
3
NIDRU のブ ロ ッ ク図およびピ ン配置
表 2 では、 NIDRU の各ポー ト について説明 し ます。 NIDRU の コ ン フ ィ ギ ュ レーシ ョ ン属性については、 表 1 で説明 し て
い ます。
表 2 : NIDRU のポー ト
ピ ン名
タ イプ
説明
DT_IN(19:0)
I
SerDes ま たは SelectIO イ ン タ ーフ ェ イ ス
か ら の入力デー タ
ビ ッ ト 0 が最後に配置 さ れます。
CENTER_F(36:0)
I
NIDRU の動作中心周波数
こ のポー ト の コ ン フ ィ ギ ュ レーシ ョ ン について
は、 5 ページの 「NIDRU の使用モデル」 を参照
し て く だ さ い。
EN
I
イ ネーブル
NIDRU のすべてのプ ロ セ ス を有効に し ます。
G1(4:0)
I
ダイ レ ク ト ゲイン
こ のポー ト の コ ン フ ィ ギ ュ レーシ ョ ン について
は、 5 ページの 「NIDRU の使用モデル」 を参照
し て く だ さ い。
G2(4:0)
I
イ ンテグ ラル ポス ト ゲ イ ン
こ のポー ト の コ ン フ ィ ギ ュ レーシ ョ ン について
は、 5 ページの 「NIDRU の使用モデル」 を参照
し て く だ さ い。
G1_P(4:0)
I
イ ンテグ ラル プ リ ゲ イ ン
こ のポー ト の コ ン フ ィ ギ ュ レーシ ョ ン について
は、 5 ページの 「NIDRU の使用モデル」 を参照
し て く だ さ い。
CLK
I
クロック
NIDRU プ ロ セ スすべての ク ロ ッ ク です。
PH_OUT
O
NCO 位相出力
INTEG(31:0)
O
イ ン テ グ ラ ル ブ ラ ンチ出力
DIRECT(31:0)
O
ダ イ レ ク ト ブ ラ ンチ出力
CTRL(31:0)
O
NCO 制御信号
AL_PPM
O
PPM 警告
1 にセ ッ ト さ れた場合、 入力周波数が NIDRU で
設定 さ れた範囲を超えた こ と を示 し ます。
RST
I
リ セッ ト
イ ン テ グ ラ ル パ ス以外の NIDRU を リ セ ッ ト し
ます。
RST_FREQ
I
イ ンテグ ラル パスの リ セ ッ ト
NIDRU の イ ン テ グ ラ ル パ ス を リ セ ッ ト し ます。
EN_INTEG
I
イ ン テ グ ラ ル パ ス の イ ネーブル
デバ ッ グ入力であ り 、 1 に設定 し ます。
PH_EST_DIS
I
位相エ ラ ー推定 メ ソ ッ ド
デバ ッ グ入力であ り 、 0 に設定 し ます。
RECCLK(19:0)
O
リ カバ リ ク ロ ッ ク
リ カ バ リ ク ロ ッ ク で あ り 、 TX SerDes ま た は
SelectIO イ ン タ ー フ ェ イ ス でシ リ ア ラ イ ズ さ れ
ます。 その順序 と し て、 ビ ッ ト 0 が最初にシ リ
ア ラ イ ズ さ れます。
VER(5:0)
O
バージ ョ ン
NIDRU のバージ ョ ン を示 し ます。
SAMV(3:0)
O
出力 さ れたサンプル数
各 ク ロ ッ ク サ イ ク ルご と に、NIDRU は抽出 さ れ
た ビ ッ ト 数を レ ポー ト し ます。 SAMV は、 ラ ッ
パー内のバレル シ フ タ ーに接続 さ れます。
SAM(9:0)
O
サンプル出力
各 ク ロ ッ ク サ イ ク ルご と に、NIDRU は抽出 さ れ
た SAMV ビ ッ ト を レ ポ ー ト し ま す。 こ れ は、
SAM の下位部分に配置 さ れます。SAM は、 ラ ッ
パー内のバレル シ フ タ ーに接続 さ れます。
DOUT
O
出力デー タ
ユーザー アプ リ ケーシ ョ ンの出力デー タ を示 し
ます。 DOUT の幅は、 WDT_OUT 属性で指定可
能です。
EN_OUT
O
出力デー タ の Valid 信号
DOUT の デー タ が 有効 な 場合、 NIDRU
EN_OUT を 1 にセ ッ ト し ます。
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
コメント
デバ ッ グ出力です。
は
4
NIDRU の使用モデル
NIDRU の使用モデル
こ のセ ク シ ョ ン では、 ユーザー アプ リ ケーシ ョ ン要件に基づいた NIDRU のポー ト お よ び属性の指定方法について使用モ
デルを用いて説明 し ます。 アルゴ リ ズ ムに よ っ てハー ド ウ ェ ア パ ラ メ ー タ ー G1、 G2、 G1_P、 お よ び CENTER_F が ど の
よ う に決定 さ れ る か を示 し ます。
図 2 に NIDRU の一般的な ク ロ ッ キ ン グ構造を示 し ます。 2 つの ク ロ ッ ク ド メ イ ン( リ モー ト と ロ ーカル) を明示 し てい ま
す。 周波数は、 各 ク ロ ッ ク ド メ イ ンに括弧で示 し てい ます。
重要 : NIDRU ク ロ ッ ク は、 常に PHY ク ロ ッ ク に ロ ッ ク さ れ る ため、 同 じ ク ロ ッ ク ド メ イ ン内にあ り ます。 ほ と ん ど の場
合、 こ の 2 つの ク ロ ッ ク 比率は 1 と な り ます。
図 2 の概要図では、 分周/逓倍機能は主に SerDes ブ ロ ッ ク 内部で実行 さ れ ますが、 その他に PLL で実行ま たは NIDRU の
EN 信号を使用す る 一般的な分周回路で も 可能です。
X-Ref Target - Figure 2
/RFDO&ORFN'RPDLQ
5HPRWH&ORFN
'RPDLQ
'DWD,QI',1
'287
5;6HU'HV
LQ/750RGH
RU
6HOHFW,2
3+<&/.I3+<&/.
5DZGDWDELWVI5()&/.
1,'58
:UDSSHU
(1B287
'LYLGH
RU
0XOWLSO\
5()&/.I5()&/.
;BB
図 2 : NIDRU のク ロ ッ キング構造
EN_OUT は、ロ ーカル ク ロ ッ ク に同期 し ます。ただ し 、NIDRU で EN_OUT が 1 にセ ッ ト さ れてい る 場合の レー ト は NIDRU
で実行 さ れ る 位相伝達関数で フ ィ ル タ リ ン グ さ れた リ モー ト ク ロ ッ ク ド メ イ ンに ロ ッ ク さ れます。
NIDRU の主な特長は、 リ モー ト ク ロ ッ ク ド メ イ ン と ロ ーカル ク ロ ッ ク ド メ イ ンの比率を小数値にで き る こ と であ り 、 こ
れは CENTER_F を使用 し て指定 さ れます。
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
5
NIDRU の使用モデル
NIDRU コ ン フ ィ ギ ュ レーシ ョ ン
こ のセ ク シ ョ ン では、 入力 さ れ る デー タ レー ト と 基準 ク ロ ッ ク の周波数を有効な NIDRU コ ン フ ィ ギ ュ レーシ ョ ンに変換
す る 方法を説明 し ます。
ユーザー コ ン フ ィ ギ ュ レーシ ョ ンでは、 次の仕様を定義 し ます。
•
入力 さ れ る デー タ レー ト と それに伴 う 偏差 (fDIN ±ppm)
•
有効な基準 ク ロ ッ ク 周波数 と それに伴 う 偏差 (fREFCLK±ppm)
fDIN を指定す る と 、 fREFCLK を有効範囲内で選択で き ます。 上限値は、 タ ーゲ ッ ト デバ イ ス の タ イ ミ ン グ要件を満たす よ
う 必然的に決定 さ れ る ため、 デバ イ ス グ レー ド やス ピー ド グ レー ド に よ っ て異な り ま す。 fREFCLK の下限値は、 PHY に
よ っ て制限 さ れ る 場合があ り ます。 た と えば、 一般的に SerDes は基準 ク ロ ッ ク の最小周波数を規定 し ます。 SelectIO イ ン
タ ーフ ェ イ ス では、 一般的に fREFCLK の下限が制限 さ れ る こ と はあ り ません。
最大 fDIN は、 式 2 で算出 さ れ る オーバーサンプ リ ン グ レー ト (OR ) に よ っ て制限 さ れます。
20  f REFCLK
O R = ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
‐
f DIN
式2
OR は、 少な く と も 2 よ り 大 き い値にな る 必要があ り ますが、 ザ イ リ ン ク ス では高周波数での十分な ジ ッ タ ー耐性を備え
る ために OR ≥ 3 を推奨 し てい ます。
理論上の高周波ジ ッ タ ー耐性は、 式 3 で示す よ う に OR と 関連性を持ち ます。
1
J  TOL – HF  = ‐‐‐‐‐‐‐‐
OR
式3
式 3 が成立す る すべての DRU には最適な J(TOL-HF) があ り ます。
式 4 お よ び 式 5 を使用 し て、 NIDRU のパ ラ メ ー タ ー (CENTER_F、 G1、 G2) を計算 し ます。 式 4 では、 CENTER_F を計算
し ます。
f DIN
32
CENTER_F = ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐  2
f REFCLK
式 5 では、 G1 お よ び G2 を計算 し ます。
33
式4
–6
2   ppm DIN + ppm REFCLK   f DIN  10
G 1 = G 2  32 – roundup log 2 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
f
REFCLK
式5
G1 と G2 に同 じ 値を使用 し た場合、 入力 さ れ る デー タ レー ト と 基準 ク ロ ッ ク の両方の完全耐性範囲内で NIDRU が動作す
る こ と が保証 さ れます。 G2 を減少 さ せ る と 、 NIDRU の帯域幅が増加 し ます。 G2 を増加 さ せる と 、 常時自動 ロ ッ ク が保証
さ れず、 NIDRU がプル イ ン領域で動作する こ と にな る ため推奨 さ れません。
通常、 G1_P はシ ミ ュ レーシ ョ ンで評価す る 必要があ り ます。 入力位相の ス テ ッ プ を変更 し て、 出力位相で リ ン ギ ン グが無
視で き る 条件にな る ま で、 G1_P 値を増加 さ せます。 G1 = G2 の場合、 G1_P = 16 に設定す る と 無視で き る 範囲の リ ン ギ ン グ
が保証 さ れます。 し たがっ て、 通常は G1_P = 16 に設定す る こ と が理想的です。
例
こ こ では、 fDIN お よ び fREFCLK の 3 つのユーザー コ ン フ ィ ギ ュ レーシ ョ ン例を示 し 、 それぞれ CENTER_F、 G1、 G2 の結
果を示 し ます。
•
Fast Ethernet (fDIN = 125Mb/s ±100ppm、 fREFCLK = 125MHz ±100ppm) :
CENTER_F = b0000100000000000000000000000000000000、 G1 = G2 ≤ 11
•
Fast Ethernet (fDIN = 125Mb/s ±10 ppm、 fREFCLK = 155.52MHz ±20ppm) :
CENTER_F = b0000011001101110000101110010110101001、 G1 = G2 ≤ 11
•
OC3 (fDIN = 155.52Mb/s ± 20ppm、 fREFCLK = 125MHz ±100 ppm) :
CENTER_F = b0000100111110100000010100010100001110、 G1 = G2 ≤ 11
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
6
DRU のシ ミ ュ レーシ ョ ン
PHY コ ン フ ィ ギ ュ レーシ ョ ン
こ のセ ク シ ョ ンでは、 PHY を適切に設定す る ための推奨条件を示 し ます。
小数値のオーバーサ ン プ ラ ーが、 PHY (通常は SelectIO イ ン タ ーフ ェ イ ス ま たは SerDes) か ら オーバーサ ン プ リ ン グ し た
デー タ を処理 し ます。 SerDes の場合、 リ フ ァ レ ン ス モー ド に ロ ッ ク し た状態にす る 必要があ る ため、 次の よ う にポー ト を
設定 し て、 自動調整 イ コ ラ イ ザーを無効に し て く だ さ い。
•
RXLPMEN = 1
•
RXLPMHFOVRDEN = 1
•
RXLPMLFKLOVRDEN = 1
•
RXOSOVRDEN=1
DRU のシ ミ ュ レーシ ョ ン
TB_SIM_DRU_JITTER テ ス ト ベ ン チは、 同期お よ び準同期シ リ ア ル入力 を 使用 し 、 一般的なデー タ レ ー ト で動作す る
NIDRU の性能を シ ミ ュ レーシ ョ ンす る ための も のです。 シ ミ ュ レーシ ョ ンでは、 表 3 に示す 6 つのケース を順に実行 し ま
す。 その他のケース と し て、 ユーザー アプ リ ケーシ ョ ンのデー タ レー ト を追加で き ます。
ケー ス 2 と ケー ス 4 は、 NIDRU が小数 と 整数の両方のオーバーサ ン プ リ ン グ レ ー ト で動作で き る こ と を示 し てい ま す。
ケース 6 は、1Kb/s と い う 非常に低いデー タ レー ト (125K オーバーサンプ リ ン グ レー ト と 同等) で NIDRU が動作で き る こ
と を示 し てい ます。
表 3 : シ ミ ュ レーシ ョ ン ケース
ケース番号
プロ ト コル
デー タ レー ト
基準ク ロ ッ ク
オーバーサン プ リ ング レー ト
1
プロプ リ エタ リ
250Mb/s
125MHz
10
2
OC3
155.52Mb/s (+100ppm)
125MHz
16.075
3
SDI
270Mb/s (+100ppm)
148.5MHz
11
4
OC3
155.52Mb/s
155.52MHz
20
5
OC12
622.08Mb/s
125MHz
4.019
6
プロプ リ エタ リ
1Kb/s
125MHz
2.5e6
シ ミ ュ レーシ ョ ン ス ク リ プ ト の実行手順は次の と お り です。
1.
コ マ ン ド ウ ィ ン ド ウ を開 き ます。
2.
scripts デ ィ レ ク ト リ に移動 し ます。
3.
modelsim.ini コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ルを scripts デ ィ レ ク ト リ に コ ピー し ます。
4.
ModelSim を開 き ます。
5.
ModelSim で run_sim_do ス ク リ プ ト を実行 し ます。
注記 : こ のテ ス ト ベンチは Modelsim のみでテ ス ト さ れてい ますが、 NIDRU コ アは次のシ ミ ュ レーシ ョ ン ツールで も 問題
な く 動作 し ます。
•
Vivado® シ ミ ュ レー タ
•
Mentor Graphics Modelsim
•
Synopsys VCS
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
7
DRU のシ ミ ュ レーシ ョ ン
図 3 に、 TB_SIM_DRU_JITTER テ ス ト ベン チに実装 さ れてい る アーキ テ ク チ ャ を示 し ま す。 シ ミ ュ レ ーシ ョ ン時間を最
も 短 く す る ため、 フ ル機能の SerDes の代わ り に最適化 さ れた 20 ビ ッ ト のデシ リ ア ラ イ ザー と シ リ ア ラ イ ザーが使用 さ
れてい ま す。 ま た、 同 じ 目的で SerDes ト ラ ン ス ミ ッ タ ーの代わ り に最適化 さ れた 20 ビ ッ ト のシ リ ア ラ イ ザーが使用 さ
れてい ま す。
X-Ref Target - Figure 3
%LWV/6%)LUVW
%LWV/6%)LUVW
6$0
&/.B'7
35%6
*HQHUDWRU
+)B&/.*+]
,GHDO
'HVHULDOL]HU
1,'58
8QLW8QGHU7HVW
57B(55
%LW
%DUUHO
6KLIWHU
6$09
(1
35%6
*HQHUDWRU
(55
0+]
'LYLGHE\
5(6B$/$50
;BB
図 3 : TB_SIM_NIDRU のブ ロ ッ ク 図
テ ス ト ベンチには、 次の 2 つの ク ロ ッ ク ド メ イ ンがあ り ます。
•
配線の ク ロ ッ ク ド メ イ ン (HF_CLK に同期)
•
DRU の ク ロ ッ ク ド メ イ ン (REFCLK に同期)
DRU (Fast Ethernet の場合) は、 Fast Ethernet の物理的仕様 [参照 1] に定義 さ れてい る 200ppm と い う 要件を超え ますが、
2 つの ク ロ ッ ク ド メ イ ン間を 250ppm 以内の周波数誤差で動作 し ます。
PRBS (疑似 ラ ン ダ ム バ イ ナ リ シーケ ン ス) Generator は、 CLK_DT の最大ス ピー ド で動作 し て、 PRBS 15 パ タ ーン を生成で
き ます。Ideal Deserializer (最適化 さ れたデシ リ ア ラ イ ザー )、DRU、お よ び PRBS チ ェ ッ カーはすべて、 ロ ーカルの REFCLK
ド メ イ ンで動作 し ます。 DRU と PRBS チ ェ ッ カーは合成可能です。
テ ス ト ベンチには、 GTX ト ラ ン シーバー イ ン ス タ ン ス の代わ り に、 3.11GHz で動作す る Ideal Deserializer が配置 さ れてい
ま す。 こ れに よ っ て、 結果の信頼性を 保ち なが ら シ ミ ュ レ ーシ ョ ン時間 を短縮で き ま す。 Ideal Deserializer の代わ り に、
GTP ま たは GTX ト ラ ン シーバーの SmartModel を使用 し て フル シ ミ ュ レーシ ョ ン を実行する こ と も 可能です。
PRBS Generator がシ リ アルの場合で も PRBS チ ェ ッ カーはパ ラ レル動作 し ます。 EN = 1 の場合のみ、 DRU の 10 ビ ッ ト 出
力が処理 さ れます。
シ ミ ュ レーシ ョ ン デバ ッ グでは、 RT_ERR (real-time error) 出力を使用で き ます。 こ の信号は、 エ ラ ーが検出 さ れ る と High
にセ ッ ト さ れ、 10 ビ ッ ト のベ ク タ ーが修正 さ れ る と Low にな り ます。 ERR 出力はエ ラ ーが検出 さ れ る と High に遷移 し 、
ERR_RST で リ セ ッ ト さ れます。 し たがっ て、ERR は通常のハー ド ウ ェ ア テ ス ト で使用 さ れますが、RT_ERR はシ ミ ュ レー
シ ョ ンで有効です。
出力例を図 4 に示 し ます。 125Mb/s ±25ppm 入力は、 155.52MHz (24.88X) の基準 ク ロ ッ ク を使用 し て回復 さ れます。 制御信
号が Low に遷移 し 、 入力 さ れ る デー タ レー ト に合わせて VCO 周波数を調整 し ます。 /scripts/wave.do フ ァ イ ルを使
用 し 、 波形を描画 し た り CTRL 信号を拡大す る こ と で DRU の線形反応を確認で き ます。 図 4 の描画は一次応答の よ う に
見え ますが、 実際には非常に小 さ いオーバーシ ュ ー ト のあ る 二次応答です。
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
8
リ ソ ース
X-Ref Target - Figure 4
1,'58SKDVHDQGIUHTXHQF\
DFTXLVLWLRQDIWHUUHVHW
$QVVWHSLQWKHSKDVHIRUFHVDQ
LPPHGLDWH1,'58SKDVHUHDFTXLVLWLRQ
;BB
図 4 : シ ミ ュ レーシ ョ ン出力の例
リ ソ ース
NIDRU は、 加算器、 乗算器、 累算器、 シ フ タ ーな ど効率に優れた ス ト ラ ク チ ャ のみを使用 し て設計 さ れてい ます。 アプ リ
ケーシ ョ ンに よ り ますが、 NIDRU ブ ロ ッ ク は 1 つの DSP を推論 し て合成で き ます。 表 4 に、 Kintex®-7 FPGA の リ ソ ース
要件を示 し ます。
表 4 : Kintex‐7 FPGA で NIDRU に必要なハー ド ウ ェ ア リ ソ ース
フ リ ップフロップ
LUT
DSP48E ス ラ イ ス数
BUFG(1)
Kintex‐7 FPGA
ス ラ イ ス (2)(3)
DSP あ り
755
1,350
1
1
414
DSP な し
795
1,681
0
1
518
合成 タ イ プ
注記 :
1. 複数のチ ャ ネルがセ ッ ト ア ッ プ さ れ、 すべてが異な る デー タ レー ト で動作 し てい る 場合で も 、 必要な BUFG は 1 つのみです。
2. こ こ に示す リ ソ ース要件にバレ ル シ フ タ ーは含ま れてい ません。
3. こ れ ら の結果は VIVADO Design Suite v2014.2 を使用 し て取得 し た も のです。 合成お よ び イ ンプ リ メ ン テーシ ョ ンの ス ト ラ テ ジはデ
フ ォ ル ト を使用 し 、 CLK 周期は 6.4ns に設定 し てい ます。
ソ フ ト ウ ェ ア要件
こ のデザ イ ンの ソ フ ト ウ ェ ア要件は次の と お り です。
•
Vivado Design Suite の v2014.2 ま たはそれ以降
•
Mentor Graphics ModelSim ソ フ ト ウ ェ アの v10.0c ま たはそれ以降 (シ ミ ュ レーシ ョ ン用)
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
9
リ フ ァ レ ン ス デザイ ン
リ フ ァ レ ン ス デザイ ン
こ のアプ リ ケーシ ョ ン ノ ー ト の リ フ ァ レ ン ス デザ イ ン フ ァ イ ルは、 ザ イ リ ン ク ス の ウ ェ ブサ イ ト か ら ダ ウ ン ロ ー ド で き
ます。
表 5 に、 リ フ ァ レ ン ス デザ イ ンの詳細を示 し ます。
表 5 : リ フ ァ レ ン ス デザイ ンの詳細
パラ メ ー タ ー
説明
全般
開発者
Paolo Novellini、 Antonello Di Fresco、 Giovanni Guasti
タ ーゲ ッ ト デバ イ ス
ザ イ リ ン ク ス 7 シ リ ーズ デバ イ スお よ び UltraScale デバ イ
ス
ソ ース コ ー ド の提供
あ り (一部暗号化)
ソ ース コ ー ド の形式
VHDL
既存のザ イ リ ン ク ス アプ リ ケーシ ョ ン ノ ー ト / リ フ ァ レ ン
ス デザ イ ン、ま たはサー ド パーテ ィ ソ ース か ら デザ イ ンへ
の コ ー ド /IP の使用
こ の リ フ ァ レ ン ス デザ イ ンでは XAPP884 の コ ー ド を使用
シ ミ ュ レーシ ョ ン
論理シ ミ ュ レーシ ョ ンの実施
あり
タ イ ミ ン グ シ ミ ュ レーシ ョ ンの実施
N/A
論理シ ミ ュ レ ーシ ョ ンお よ び タ イ ミ ン グ シ ミ ュ レ ーシ ョ
ンでのテ ス ト ベンチの利用
あり
テ ス ト ベンチの形式
VHDL
使用 し たシ ミ ュ レー タ /バージ ョ ン
ModelSim 10.0 c
SPICE/IBIS シ ミ ュ レーシ ョ ンの実施
N/A
イ ンプ リ メ ン テーシ ョ ン
使用 し た合成ツール/バージ ョ ン
Vivado 合成
使用 し た イ ンプ リ メ ン テーシ ョ ン ツール/バージ ョ ン
Vivado イ ンプ リ メ ン テーシ ョ ン
ス タ テ ィ ッ ク タ イ ミ ン グ解析の実施
あり
ハー ド ウ ェ ア検証
ハー ド ウ ェ ア検証の実施
あり
使用 し たハー ド ウ ェ ア
KC724 GTX ト ラ ン シーバー特性評価ボー ド
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
10
参考資料
参考資料
1.
『Phase-Locked Loops:Design, Simulation, and Applications』 4 版 (1999 年) - 著者 : Best, Roland E、 出版社 : McGraw-Hill
Professional
2.
『Phaselock Techniques』 3 版 (2005 年) - 著者 : Gardner, Floyd M、 出版社 : Wiley-Interscience
3.
IEEE 802.3 Ethernet 規格 : www.ieee802.org/3/
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
2015 年 4 月 17 日
1.0
内容
初版
法的通知
The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent
permitted by applicable law:(1) Materials are made available “AS IS” and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND
CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including
negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the
Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of
data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably
foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to
notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without
prior written consent.Certain products are subject to the terms and conditions of Xilinx’s limited warranty, please refer to Xilinx’s Terms of Sale which
can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms contained in a license issued to you by
Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and
liability for use of Xilinx products in such critical applications, please refer to Xilinx’s Terms of Sale which can be viewed at
http://www.xilinx.com/legal.htm#tos.
© Copyright 2015 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are
trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 jpn_trans_feedback@xilinx.com ま で、 ま たは各ページの右下
にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォームか ら お知 ら せ く だ さ い。フ ィ ー ド バ ッ ク は日本語で入力可能で
す。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付けてお り ませ
ん。 あ ら か じ めご了承 く だ さ い。
XAPP1240 (v1.0) 2015 年 4 月 17 日
japan.xilinx.com
11