Stratix 10 高速 LVDS I/O ユーザーガイド
UG-S10LVDS 2017.02.13
更新情報 フィードバック
目次
1 Stratix® 10 高速LVDS I/O の概要...4
1.1 Stratix 10 LVDS チャネルのサポート...4
1.2 Stratix 10 GPIO バンク、SERDES、およびDPAの位置... 7
2 Stratix 10 高速LVDS I/O のアーキテクチャーと機能...8
2.1 Stratix 10 LVDS SERDES I/O 規格のサポート...9
2.2 LVDS トランスミッタのプログラマブルI/O 機能... 9
2.2.1 プログラマブル・プリエンファシス... 9
2.2.2 プログラマブル差動出力電圧... 10
2.3 SERDES回路 ...11
2.4 Stratix 10 デバイスの差動トランスミッタ...12
2.4.1 Stratix 10 デバイスのトランスミッタ・ブロック... 13
2.4.2 DDR およびSDR 動作のためのシリアライザーのバイパス... 13
2.5 Stratix 10 デバイスの差動レシーバー... 14
2.5.1 Stratix 10 デバイスのレシーバーブロック... 14
2.5.2 Stratix 10 デバイスのレシーバーモード... 18
3 Stratix 10 高速LVDS I/O デザインの考慮事項...21
3.1 Stratix 10 デバイスのPLL とクロッキング... 21
3.1.1 差動トランスミッタのクロッキング... 21
3.1.2 差動レシーバーのクロッキング... 22
3.1.3 ガイドライン:LVDS に整数PLL モードのPLL を使用する... 23
3.1.4 ガイドライン:PLL からの高速クロックを使用して、LVDS SERDES のみをクロックする...23
3.1.5 ガイドライン:差動チャネルのピン配置...23
3.1.6 外部PLL モードのLVDS インターフェイス... 26
3.2 ソース同期のタイミングバジェット... 32
3.2.1 差動データ方向... 33
3.2.2 差動I/O のビット位置... 33
3.2.3 トランスミッタのチャネル間スキュー...34
3.2.4 非DPA モードのレシーバー・スキュー・マージン...35
3.3 ガイドライン: アルテラLVDS SERDES IP コアのインスタンス化...37
3.4 ガイドライン: ソフトCDR モードのLVDS SERDES ピンペア... 37
4 Stratix 10 高速LVDS I/O 実装ガイド...38
4.1 アルテラLVDS SERDES IP コア... 38
4.1.1 アルテラLVDS SERDES IP コアの機能... 39
4.1.2 アルテラLVDS SERDES IP コアの機能モード...39
4.1.3 アルテラLVDS SERDES IP コア機能の説明... 40
4.2 アルテラLVDS SERDES IP コアの初期化とリセット...42
4.2.1 非DPA モードにおけるアルテラLVDS SERDES IP コアの初期化...42
4.2.2 DPA モードにおけるアルテラLVDS SERDES IP コアの初期化... 43
4.3.2 FPGA のタイミング解析... 48
4.3.3 外部PLL モードのタイミング解析...48
4.3.4 内部FPGA パスのタイミング・クロージャ・ガイドライン...48
4.4 アルテラLVDS SERDES IP コアのデザイン例...49
4.4.1 アルテラLVDS SERDES 合成可能な Quartus Prime デザイン例... 50
4.4.2 アルテラLVDS SERDES IP コア・シミュレーションのデザイン例...51
4.4.3 組み合わせたアルテラLVDS SERDES トランスミッタとレシーバーのデザイン例... 51
4.4.4 アルテラLVDS SERDES IP コア・ダイナミック位相シフトのデザイン例... 52
4.5 Arria V、 Cyclone V、および Stratix V デバイスのIP マイグレーション・フロー... 53
4.5.1 ALTLVDS_TX IP コアとALTLVDS_RX IP コアの移行... 54
5 アルテラLVDS SERDES IP コアの参考資料... 55
5.1 アルテラLVDS SERDES のパラメーター設定...55
5.1.1 アルテラLVDS SERDES General Settings... 55
5.1.2 アルテラLVDS SERDES PHY Settings...56
5.1.3 アルテラLVDS SERDES Receiver Settings... 56
5.1.4 アルテラLVDS SERDES Transmitter Settings... 59
5.1.5 アルテラLVDS SERDES Clock Resource Summary... 61
5.2 アルテラLVDS SERDES IP コアの信号... 61
5.3 アルテラLVDS SERDES IP コアと Stratix V SERDES の比較...64
A Stratix 10 高速LVDS I/O ユーザーガイドの改訂履歴...65 目次
Stratix 10 高速LVDS I/O ユーザーガイド 3
1 Stratix
®10 高速 LVDS I/O の概要
Stratix® 10 デバイスファミリーは、LVDS I/O バンクおよびアルテラLVDS SERDES IP コアを使 用して、高速LVDS プロトコルをサポートしています。
Stratix 10 デバイスは、すべてのLVDS I/O バンクでLVDSをサポートします。
• すべてのLVDS I/O バンクは、RD OCTを有する真のLVDS 入力と真のLVDS 出力バッファーを サポートする
• デバイスはエミュレーションLVDS チャネルをサポートしない
• デバイスは、SERDES(シリアライザー/デシリアライザー)を駆動するI/O PLL用のシングルエン ドおよび真の差動I/O リファレンス・クロックをサポートする
• 各LVDS I/O ピンのペアは、LVDS レシーバーまたはLVDS トランスミッタとして使用できる
関連情報
65ページの Stratix 10 高速LVDS I/O ユーザーガイドの改訂履歴
1.1 Stratix 10 LVDS チャネルのサポート
使用可能なLVDS チャネルは、 Stratix 10 デバイスによって異なります。 Stratix 10 デバイスでは、
LVDS I/O ピンのペアは、LVDS トランスミッタまたはLVDS レシーバーチャネルとして使用できます。
表 1. Stratix 10 GX デバイスのLVDS バッファー(暫定)
LVDS チャネル数には、専用クロックピンは含まれていません。
製品ライン パッケージコード LVDS I/O LVDS チャネル(TX/RX)
GX 400 HF35 384 192
GX 650 HF35 384 192
NF43 384 192
GX 850 NF43 672 336
NF48 720 360
GX 1100 NF43 672 336
NF48 720 360
GX 1650 NF43 672 336
UF50 672 336
GX 2100 NF43 672 336
UF50 672 336
製品ライン パッケージコード LVDS I/O LVDS チャネル(TX/RX)
HF50 1152 576
UF50 672 336
HF55 1152 576
GX 2800 NF43 672 336
HF50 1152 576
UF50 672 336
HF55 1152 576
GX 4500 HF50 1248 624
HF55 1632 816
GX 5500 HF50 1248 624
HF55 1632 816
表 2. Stratix 10 TX デバイスのLVDS バッファー(暫定)
LVDS チャネル数には、専用クロックピンは含まれていません。
製品ライン パッケージコード LVDS I/O LVDS チャネル(TX/RX)
TX 1650 UF50 432 216
TX 2100 UF50 432 216
TX 2500 SF48 528 264
UF50 432 216
YF55 288 144
TX 2800 SF48 528 264
UF50 432 216
YF55 288 144
TX 4500 SF48 528 264
TX 5500 SF48 528 264
表 3. Stratix 10 SX デバイスのLVDS バッファー(暫定)
LVDS チャネル数には、専用クロックピンは含まれていません。
製品ライン パッケージコード LVDS I/O LVDS チャネル(TX/RX)
SX 400 HF35 384 192
SX 650 HF35 384 192
NF43 384 192
SX 850 NF43 672 336
NF48 720 360
SX 1100 NF43 672 336
NF48 720 360
SX 1650 NF43 672 336
continued...
1 Stratix® 10 高速LVDS I/O の概要
Stratix 10 高速LVDS I/O ユーザーガイド 5
製品ライン パッケージコード LVDS I/O LVDS チャネル(TX/RX)
UF50 672 336
SX 2100 NF43 672 336
UF50 672 336
SX 2500 NF43 672 336
HF50 1152 576
UF50 672 336
HF55 1152 576
SX 2800 NF43 672 336
HF50 1152 576
UF50 672 336
HF55 1152 576
SX 4500 HF50 1248 624
HF55 1632 816
SX 5500 HF50 1248 624
HF55 1632 816
1.2 Stratix 10 GPIO バンク、SERDES、および DPA の位置
I/O バンクはI/O カラムに配置されています。各I/O バンクは、独自のPLL、DPA(Dynamic Phase Alignment)、およびSERDES 回路網を有します。
図 -1: I/O PLL、DPA、およびSERDES を備えたI/O バンク構造
以下の図は、1 つの Stratix 10 デバイス内のI/O バンクの例を示しています。I/O バンクの可用性と位置は、 Stratix 10 デバイス によって異なります。
3A 3B 3C 3D 3I 3J 3K 3L 3M 3N
3E 3F 3G 3H
5A 5B 5C 5D 5I 5J 5K 5L 5M 5N
5E 5F 5G 5H
2A 2B 2C 2D 2E 2F 2G 2H 2I 2J 2K 2L 2M 2N
6A 6B 6C
SDM
I/O Lane
I/O Lane
I/O Center
I/O PLL Hard Memory
Controller and PHY Sequencer
I/O DLL
I/O DLL
Clock Network
OCT I/O VR
I/O Lane
LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair
LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair LVDS I/O Buffer Pair SERDES & DPA
SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA
SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA SERDES & DPA
I/O Lane Secure Device Manager (SDM)
Shared LVDS I/O
3 V I/O LVDS I/O
I/O DLL
I/O DLL
関連情報
• Secure Device Manager
• Modular I/O Banks in Stratix 10 GX 400, GX 650, SX 400, and SX 650 Devices 異なるデバイスパッケージにおけるLVDS I/O バンクの位置と可用性をリストします。
• Modular I/O Banks in Stratix 10 GX 850, GX 1100, SX 850, and SX 1100 Devices 異なるデバイスパッケージにおけるLVDS I/O バンクの位置と可用性をリストします。
• Modular I/O Banks in Stratix 10 GX 1650, GX 2100, SX 1650, SX 2100, TX 1650, and TX 2100 Devices
異なるデバイスパッケージにおけるLVDS I/O バンクの位置と可用性をリストします。
• Modular I/O Banks in Stratix 10 GX 2500, GX 2800, SX 2500, SX 2800, TX 2500, and TX 2800 Devices
異なるデバイスパッケージにおけるLVDS I/O バンクの位置と可用性をリストします。
• Modular I/O Banks in Stratix 10 GX 4500, GX 5500, SX 4500, SX 5500, TX 4500, and TX 5500 Devices
異なるデバイスパッケージにおけるLVDS I/O バンクの位置と可用性をリストします。
1 Stratix® 10 高速LVDS I/O の概要
Stratix 10 高速LVDS I/O ユーザーガイド 7
2 Stratix 10 高速 LVDS I/O のアーキテクチャーと機能
図 -2: 高速差動I/O のI/O バンクサポート
以下の図は、 Stratix 10 デバイスにおける高速差動I/O のI/O バンクのサポートを表しています。
LVDS I/Os
I/Os with Dedicated SERDES Circuitry
LVDS Interface with 'Use External PLL'
Option Disabled LVDS Interface
with 'Use External PLL'
Option Enabled
2.1 Stratix 10 LVDS SERDES I/O 規格のサポート
表 4. Stratix 10 SERDES トランスミッタおよびレシーバー高速I/O 規格のサポート
I/O 規格 Quartus Prime ソフトウェアのアサインメント値
True LVDS LVDS
mini-LVDS mini-LVDS
RSDS RSDS
2.2 LVDS トランスミッタのプログラマブル I/O 機能
LVDS のデザイン要件に応じて、I/O バッファーの一部の機能をプログラムすることができます。
表 5. Stratix 10 でサポートされるLVDS トランスミッタのプログラマブルI/O 機能および設定のまと め
機能 設定 アサインメント名 サポートされるI/O 規格
プリエンファシス 0(ディスエーブル)、1(イネーブ ル)。デフォルトは1。
Programmable Pre-emphasis • LVDS
• RSDS
• Mini-LVDS 差動出力電圧 Low (0)、Medium low (1)、
Medium high (2)、およびHigh (3)。デフォルトは2。
Programmable Differential Output Voltage (VOD)
2.2.1 プログラマブル・プリエンファシス
ドライバーのV OD 設定と出力インピーダンスは、高速伝送の信号の出力電流制限を設定します。高周 波数では、スルーレートが次のエッジの前にフルVOD に達するほど高速ではないため、パターンに依存 するジッタが発生します。プリエンファシスを適用した場合、スイッチング中に出力電流が瞬時に増幅さ れ、出力スルーレートが増大します。
プリエンファシスは、出力信号の高周波数コンポーネントの振幅を増加させるため、伝送ラインにおける 周波数依存の減衰を補償するのに役立ちます。余剰の電流によるオーバーシュートは、信号の反射によ るオーバーシュートとは異なり、ステート・スイッチングの変更中にのみ生じ、出力スルーレートを高めま す。また、リンギングは起こりません。必要なプリエンファシスの量は、伝送ラインにおける高周波数コン ポーネントの減衰によって異なります。
2 Stratix 10 高速LVDS I/O のアーキテクチャーと機能
Stratix 10 高速LVDS I/O ユーザーガイド 9
図 -3: プログラマブル・プリエンファシス
次の図は、プリエンファシスを適用したLVDS 出力を表しています。
OUT
OUT
V
ODV
PV
P Voltage boostfrom pre-emphasis
Differential output voltage (peak–peak)
表 6. Quartus Prime ソフトウェアのAssignment Editor におけるプログラマブル・プリエンファシ ス
以下の表は、Quartus Prime ソフトウェアのAssignment Editor におけるプログラマブル・プリエンファシスのアサインメント名 と可能な値をリストしています。
フィールド アサインメント
To tx_out
アサインメント名 プログラマブル・プリエンファシス
許容値 0(ディスエーブル)、1(イネーブル)。デフォルトは1。
2.2.2 プログラマブル差動出力電圧
プログラマブルVOD 設定では、出力のアイ開口を調整して、トレース長と消費電力を最適化することが できます。高いVOD スイングはレシーバー端における電圧マージンを高め、小さいVOD スイングは消 費電力を削減します。差動信号のVOD は、Quartus Prime ソフトウェアAssignment Editor のVOD 設定を変更することによってスタティックに調整することができます。
図 -4: 差動VOD
次の図は、差動LVDS 出力のVOD を表しています。
Single-Ended Waveform
Positive Channel (p)
Negative Channel (n) Ground
Differential Waveform
p - n = 0 V VCM
VOD
VOD
VOD
VOD (diff peak - peak) = 2 x VOD (single-ended)
表 7. Quartus Prime ソフトウェアAssignment Editor におけるプログラマブルVOD
この表は、Quartus Prime ソフトウェアのAssignment Editor におけるプログラマブルVOD のアサインメント名と可能な値をリ ストしています。なお、値「0」はRSDS およびmini-LVDS I/O 規格でのみ使用可能であり、 LVDS I/O 規格には使用できません。
フィールド アサインメント
To tx_out
アサインメント名 プログラマブル差動出力電圧(VOD)
許容値 Low (0)、Medium low (1)、Medium high (2)、およびHigh (3)。デ
フォルトは2。
2.3 SERDES 回路
Stratix 10 デバイスの各LVDS I/O チャネルは、高速LVDS インターフェイスをサポートする SERDES(シリアライザー/デシリアライザー)回路を内蔵します。 RapidIO®、XSBI、SPI(Serial Peripheral Interface)などのソース同期通信プロトコルおよび非同期プロトコルをサポートするため に、SERDES 回路をコンフィグレーションすることができます。
2 Stratix 10 高速LVDS I/O のアーキテクチャーと機能
Stratix 10 高速LVDS I/O ユーザーガイド 11
図 -5: SERDES
以下の図は、トランスミッタとレシーバーのデータパスのインターフェイス信号を備えたLVDS SERDES 回路のトランスミッタとレ シーバーのブロック図を示しています。 この図は、トランスミッタとレシーバーの間の共有PLL を示しています。トランスミッタとレシ ーバーが同じPLL を共有しない場合、2 つのI/O PLL が必要です。 SDR(シングル・データレート)モードとDDR(ダブル・データレ ート)モードでは、データ幅はそれぞれ1 ビットと2 ビットです。
rx_in tx_out
DPA Circuitry Synchronizer
Bit Slip Deserializer
rx_inclock / tx_inclock IOE supports SDR, DDR, or non-registered datapath
IOE supports SDR, DDR, or non-registered datapath
LVDS Receiver LVDS Transmitter
FPGA Fabric rx_out
tx_in
rx_divfwdclk rx_coreclock tx_coreclock
Serializer
DPA Clock Domain LVDS Clock Domain
Retimed Data DPA Clock
DIN DOUT DIN
DOUT DIN DOUT DIN
DIN DOUT
Clock Mux
I/O PLL IOE
+– +–
IOE
fast_clock dpa_fast_clock (load_enable,
fast_clock)
(dpa_load_enable, dpa_fast_clock, rx_divfwdclk) 2
2
3 3
10 10 10
(load_enable, fast_clock, tx_coreclock)
3 (load_enable,
fast_clock, rx_coreclock) 8 Serial LVDS Clock Phases 2
fast_clock 10 bits
maximum data width
アルテラLVDS SERDES トランスミッタおよびレシーバーには、I/O PLL からのさまざまなクロックお
よびロードイネーブル信号が必要です。Quartus Prime ソフトウェアはPLL 設定を自動的にコンフィ グレーションします。また、このソフトウェアは、入力基準クロックと選択されたデータレートに基づいて さまざまなクロックおよびロードイネーブル信号を生成する役割も担っています。
注意: Stratix 10 デバイスでサポートされる最大データレートについての詳細は、デバイスのデータシートを
参照してください。
関連情報
Stratix 10 Device Datasheet のHigh-Speed I/O Specifications の項
2.4 Stratix 10 デバイスの差動トランスミッタ
Stratix 10 のトランスミッタは、高速差動信号方式をサポートするための専用回路を有します。差動ト ランスミッタ・バッファーは、次の機能をサポートします。
• LVDS、mini-LVDS、およびRSDS 信号をドライブアウトできるLVDS 信号方式
• プログラマブルVOD とプログラマブル・プリエンファシス
表 8. 差動トランスミッタの専用回路および機能
専用回路/機能 概要
差動I/O バッファー LVDS、mini-LVDS、およびRSDS をサポートする
SERDES 最大10 ビット幅のシリアライザー
PLL (フェーズ・ロック・ループ) ロードおよびシフトレジスターをクロックする
プログラマブルVOD スタティック
プログラマブル・プリエンファシス 出力電流をブーストする
2.4.1 Stratix 10 デバイスのトランスミッタ・ブロック
専用回路は、真の差動バッファー、シリアライザー、およびトランスミッタとレシーバー間で共有できる
I/O PLL で構成されています。シリアライザーは、FPGA ファブリックから最大10 ビット幅のパラレル
データを取得し、それをロードレジスターにクロックします。それから、データを差動バッファーに送信す
る前にI/O PLL によってクロックされたシフトレジスターを使用して、それをシリアライズ化します。パ
ラレルデータのMSB が最初に送信されます。
注意: LVDS チャネルをドライブするには、整数PLL モードのPLL を使用する必要があります。
図 -6: LVDS トランスミッタ
次の図は、トランスミッタのブロック図を表しています。SDR およびDDR モードでは、データ幅はそれぞれ1 ビットと2 ビットです。
tx_out
tx_inclock
IOE supports SDR, DDR, or non-registered datapath
LVDS Transmitter FPGA
Fabric tx_in tx_coreclock
Serializer 10 bits
maximum data width
LVDS Clock Domain
DIN DOUT
I/O PLL
IOE
+– 2
3 10
(LVDS_LOAD_EN, diffioclk, tx_coreclock)
2.4.2 DDR および SDR 動作のためのシリアライザーのバイパス
IOE(I/O エレメント)には、DDR またはSDR モードで動作可能な2 個のデータ出力レジスターが含
まれています。2 と1 のシリアライゼーション・ファクターをそれぞれ実現するために、DDR(×2)および SDR(×1)動作をサポートするのにシリアライザーをバイパスすることができます。デシリアライザー・バ イパスは、アルテラGPIO IP コアを介してサポートされています。
2 Stratix 10 高速LVDS I/O のアーキテクチャーと機能
Stratix 10 高速LVDS I/O ユーザーガイド 13
図 -7: シリアライザーのバイパス
次の図は、シリアライザーのバイパスパスを示しています。DDR モードでは、tx_inclock はIOE レジスターをクロックします。
SDR モードでは、データはIOE を介して直接パスされます。また、SDR およびDDR モードでは、IOE へのデータ幅はそれぞれ1 ビ ットと2 ビットです。
DIN DOUT tx_in
FPGA Fabric
tx_coreclock
I/O PLL
(load_enable, fast_clock, tx_coreclock)
+- tx_out
Serializer IOE
注:ディスエーブルされるブロックと信号は グレーアウトされています。
LVDS Transmitter 2
2
3
IOE supports SDR, DDR, or non-registered datapath
2.5 Stratix 10 デバイスの差動レシーバー
レシーバーは、トランスミッタとレシーバーで共有できる差動バッファーとI/O PLL、DPA ブロック、シ ンクロナイザー、データ・リアライメント・ブロック、およびデシリアライザーを有します。差動バッファーは LVDS、mini-LVDS、およびRSDS 信号レベルを受信することができます。また、レシーバーピンのI/O 規格は、Quartus Prime ソフトウェアAssignment Editor でLVDS、mini-LVDS、またはRSDS に スタティックに設定することができます。
注意: LVDS チャネルをドライブするには、整数PLL モードのPLL を使用する必要があります。
表 9. 差動レシーバーの専用回路および機能
専用回路/機能 概要
差動I/O バッファー LVDS、mini-LVDS、およびRSDS をサポートする
SERDES 最大10 ビット幅のデシリアライザー
PLL (フェーズ・ロック・ループ) データ・シンクロナイザーのためにクロックの異なる位相を生成する
データ・リアライメント(ビットスリップ) ビット・レイテンシーをシリアルデータに挿入する
DPA シリアルデータの位相に最も近い位相を選択する
シンクロナイザー(FIFO バッファー) データとレシーバーの入力基準クロック間における位相差を補償する
スキュー調整 マニュアル
オンチップ終端(OCT) LVDS I/O 規格で100 Ω
2.5.1 Stratix 10 デバイスのレシーバーブロック
Stratix 10 の差動レシーバーは、次のハードウェア・ブロックを有します。
• DPA ブロック
• シンクロナイザー
• データ・リアライメント・ブロック(ビットスリップ)
図 -8: レシーバーのブロック図
以下の図は、レシーバーのハードウェア・ブロックを示しています。SDR モードおよびDDR モードでは、IOE からのデータ幅はそれぞ れ1 ビットと2 ビットです。デシリアライザーはシフトレジスターとパラレル・ロード・レジスターを含めており、内部ロジックに最大 10 ビットを送信します。
rx_in DPA Circuitry
Synchronizer Bit Slip
Deserializer
rx_inclock
IOE supports SDR, DDR, or non-registered datapath LVDS Receiver
FPGA Fabric
rx_out
rx_divfwdclk rx_outclock
DPA Clock Domain LVDS Clock Domain
Retimed Data DPA Clock
DIN
DOUT DIN
DOUT DIN
DOUT DIN
Clock Mux
I/O PLL
+– IOE
LVDS_diffioclk DPA_diffioclk (LOAD_EN,
diffioclk)
(DPA_LOAD_EN, DPA_diffioclk, rx_divfwdclk) 2
3 10
10
3 (LVDS_LOAD_EN,
LVDS_diffioclk, rx_outclock) 8 Serial LVDS Clock Phases 2
diffioclk 10 bits
maximum data width
2.5.1.1 DPA ブロック
DPA ブロックは、差動入力バッファーから高速シリアルデータを取り込み、I/O PLL が生成する8 つの
位相のうち1 つを選択してデータをサンプリングします。DPA はシリアルデータの位相に最も近い位相 を選択します。受信データと選択された位相間の最大位相オフセットは1/8 UI(1) であり、これはDPA の最大量子化誤差です。クロックの8 つの位相は均等に分割され、45° の分解能を提供します。
図 -9: DPA クロック位相とシリアルデータ・タイミングの関係
以下の図は、DPA クロックと着信シリアルデータ間の可能な位相関係を表しています。
45°
90°
135°
180°
225°
270°
315°
0.125Tvco Tvco
0°
rx_in D0 D1 D2 D3 D4 Dn
TVCO = PLL serial clock period
(1) UI(ユニット間隔)は、シリアルデータ・レート(高速クロック)で動作するクロックの周期です。
2 Stratix 10 高速LVDS I/O のアーキテクチャーと機能
Stratix 10 高速LVDS I/O ユーザーガイド 15
DPA ブロックは、入力シリアルデータの位相を継続的に監視し、必要に応じて新しいクロック位相を選 択します。オプションの
rx_dpa_hold
ポートをアサートすることで、DPA が新しいクロックフェーズ を選択できないようにすることができます。これは、各チャネルで使用可能です。DPA 回路は、8 つの位相の中から最適な位相にロックするための固定トレーニング・パターンを必要と しません。リセットまたは電源投入後、DPA 回路は受信データの遷移を必要とし、最適な位相にロックし ます。オプションの出力ポートの
rx_dpa_locked
は、電源投入またはリセット後の最適な位相まで の初期DPA ロック状態を示すために使用できます。データの検証には、巡回冗長検査(CRC)や対角イ ンターリーブ・パリティ(DIP-4)などのデータチェッカーを使用します。独立したリセットポートの
rx_dpa_reset
は、DPA 回路をリセットするために使用できます。リセット後にDPA 回路を再トレーニングする必要があります。
注意: DPA ブロックは非DPA モードでバイパスされます。
2.5.1.2 シンクロナイザー
シンクロナイザーは、
dpa_fast_clock
(DPA ブロックが選択する最適クロック)とI/O PLL が生 成するfast_clock
の位相差を補償する1 ビット幅の6 ビット幅のFIFO バッファーです。シンク ロナイザーは、周波数差ではなく、データとレシーバーの入力基準クロックとの間の位相差のみを補償す ることができます。オプションのポートの
rx_fifo_reset
を内部ロジックで使用してシンクロナイザーをリセットする ことができます。シンクロナイザーは、DPA が最初に着信データにロックすると自動的にリセットされま す。インテルは、rx_fifo_reset
を使用して、受信データが破損していることをデータチェッカーが 示した時にシンクロナイザーをリセットすることを推奨します。注意: シンクロナイザー回路は、非DPA およびソフトCDR モードでバイパスされます。
2.5.1.3 データ・リアライメント・ブロック(ビットスリップ)
送信データのスキューとリンクによって追加されるスキューによって、受信シリアルデータ・ストリームで チャネル間スキューが生じます。DPA がイネーブルされると、受信データは各チャネル上の異なるクロッ ク位相でキャプチャーされます。この相違によって、チャネル間で受信データのミスアライメントが生じる ことがあります。このチャネル間スキューを補正し、各チャネルで正しい受信ワード境界を確立するため に、各レシーバーチャネルは、ビット・レイテンシーをシリアルストリームに挿入することによってデータ を再びアライメントする、専用データ・リアライメント回路を備えています。
オプションの
rx_bitslip_ctrl
ポートは、内部ロジックから個別に制御される各レシーバーのビ ット挿入を制御します。データはrx_bitslip_ctrl
の立ち上がりエッジで1 ビットをスリップしま す。rx_bitslip_ctrl
信号の要件には次の項目が含まれます。• 最小パルス幅は、ロジックアレイのパラレルクロックでの1 周期である
• パルス間の最小Low 時間は、パラレルクロックでの1 周期である
• 信号はエッジトリガー信号である
• 有効なデータは、
rx_bitslip_ctrl
の立ち上がりエッジから4 パラレル・クロック・サイクル 後に使用できます。図 -10: データ・リアライメントのタイミング
以下の図は、デシリアライゼーション・ファクターを4 に設定した状態での、1 ビット・スリップ・パルスの後のレシーバー出力
(rx_out)を表しています。
rx_inclock rx_in rx_coreclock rx_bitslip_ctrl rx_out
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
3210 321x 32x1 3x21 xx21 0321
データ・リアライメント回路は、デシリアライゼーション・ファクターに設定されるビットスリップのロール オーバー値があります。オプションのステータスポートの
rx_bitslip_max
は、プリセット・ロールオ ーバー・ポイントに達することを示すために、各チャネルからFPGA ファブリックに使用可能です。図 -11: レシーバー・データ・リアライメント・ロールオーバー
次の図は、ロールオーバーが発生する前の4ビットサイクルのプリセット値を表しています。ロールオーバーが発生したことを示すた めに、rx_bitslip_max 信号は1rx_coreclock サイクルの間パルスします。
rx_inclock rx_bitslip_ctrl rx_coreclock rx_bitslip_max
2.5.1.4 デシリアライザー
デシリアライゼーション・ファクターは、Quartus Prime ソフトウェアを使用して、スタティックにx3、
x4、x5、x6、x7、x8、x9、またはx10 に設定できます。
IOE は、DDR モードまたはSDR モードで動作できる2 つのデータ入力レジスターを備えています。
DDR(×2)およびSDR(×1)動作をサポートするために、デシリアライザーをバイパスすることができま
す。デシリアライザーのバイパスは、アルテラGPIO IP コアを介してサポートされています。
2 Stratix 10 高速LVDS I/O のアーキテクチャーと機能
Stratix 10 高速LVDS I/O ユーザーガイド 17
図 -12: デシリアライザーのバイパス
この図は、デシリアライザーのバイパスのパスを示しています。
rx_in
DPA CircuitrySynchronizer Bit Slip
Deserializer
IOE supports SDR, DDR, or non-registered datapath
LVDS Receiver
FPGA Fabric
rx_out
rx_divfwdclk rx_coreclock
注:ディスエーブルされるブロックと信号は グレーアウトされています。
Retimed DPA ClockData
DIN
DOUT DIN
DOUT DIN
DOUT DIN
Clock Mux
I/O PLL
+ – IOE
fast_clock dpa_diffioclk (load_enable,
fast_clock)
(dpa_load_en, dpa_diffioclk, rx_divfwdclk) 2
3 10
2
3 (load_enable,
fast_clock, rx_coreclock) 8 Serial LVDS Clock Phases 2
fast_clock
デシリアライザーをバイパスする際、DPA およびデータ・リアライメント回路を使用することはできませ ん。
2.5.2 Stratix 10 デバイスのレシーバーモード
Stratix 10 デバイスは、次のレシーバーモードをサポートします。
• 非DPA モード
• DPA モード
• ソフトCDR モード
注意: DPA モードを使用する場合、推奨された初期化及びリセットフローに従ってください。推奨フローは、
DPA 回路がPLL からの最適な位相タップを検出してレシーバーでデータをキャプチャーできることを
保証します。
2.5.2.1 非DPA モード
非DPA モードは、DPA およびシンクロナイザー・ブロックをディスエーブルします。入力シリアルデータ
は、I/O PLL によって生成されるシリアル
fast_clock
クロックの立ち上がりエッジで登録されま す。立ち上がりエッジのオプションは、Quartus Prime のパラメーター・エディターで選択することができま す。I/O PLL によって生成される
fast_clock
クロックは、データ・リアライメントとデシリアライザ ー・ブロックをクロックします。図 -13: 非DPA モードのレシーバーデータパス
次の図は、非DPA データパスのブロック図を表しています。SDR モードおよびDDR モードでは、IOE からのデータ幅はそれぞれ1 ビットと2 ビットです。
rx_in DPA Circuitry
Synchronizer Bit Slip
Deserializer
rx_inclock
IOE supports SDR, DDR, or non-registered datapath LVDS Receiver
FPGA Fabric
rx_out
rx_divfwdclk rx_coreclock 10 bits
maximum data width
注:ディスエーブルされるブロックと信号は グレーアウトされています。
LVDS Clock Domain
Retimed Data DPA Clock DOUT DIN DIN
DOUT DIN
DOUT DIN
Clock Mux
I/O PLL
+– IOE
fast_clock dpa_diffioclk (load_enable,
fast_clock)
(dpa_load_en, dpa_diffioclk, rx_divfwdclk) 2
3 10
10
3 (load_enable,
fast_clock, rx_coreclock) 8 Serial LVDS Clock Phases 2
fast_clock
2.5.2.2 DPA モード
DPA ブロックは、I/O PLL によって送信された8 つの高速クロックから最良のクロック
(
dpa_fast_clock
)を選択します。このシリアルdpa_fast_clock
クロックは、シンクロナイザ ーへのシリアルデータの書き込みに使用されます。また、シリアルfast_clock
クロックは、シンクロ ナイザーからのシリアルデータの読み取りに使用されます。データ・リアライメントおよびデシリアライザ ー・ブロックでは、同じfast_clock
クロックが使用されます。図 -14: DPA モードのレシーバーデータパス
次の図は、DPAモードのデータパスを示しています。図中のすべてのレシーバー・ハードウェア・ブロックはアクティブです。SDR モー ドおよびDDR モードでは、IOE からのデータ幅はぞれぞれ1 ビットと2 ビットです。
rx_in DPA Circuitry
Synchronizer Bit Slip
Deserializer
rx_inclock
IOE supports SDR, DDR, or non-registered datapath LVDS Receiver
FPGA Fabric
rx_out
rx_divfwdclk rx_coreclock
注:ディスエーブルされるブロックと信号はグレーアウトされています。
10 bits maximum data width
DPA Clock Domain LVDS Clock Domain
Retimed Data DPA Clock DOUT DIN DIN
DOUT DIN
DOUT DIN
Clock Mux
I/O PLL
+– IOE
fast_clock dpa_fast_clock (load_enable,
fast_clock)
(dpa_load_enable, dpa_fast_clock, rx_divfwdclk) 2
3 10
10
3 (load_enable,
fast_clock, rx_coreclock) 8 Serial LVDS Clock Phases 2
fast_clock 2 Stratix 10 高速LVDS I/O のアーキテクチャーと機能
Stratix 10 高速LVDS I/O ユーザーガイド 19
DPA モードでは、LVDS インスタンスのすべてのレシーバーチャネルを1 つのI/O バンクに配置する 必要があります。各I/O バンクは最大24 個のLVDS I/O バッファーペアを備えているため、各LVDS インスタンスは最大24 個のDPA チャネルをサポートすることができます。
2.5.2.3 ソフトCDR モード
Stratix 10 のLVDS チャネルは、GbE およびSGMII プロトコルをサポートするためにソフトCDR モードを提供します。レシーバーPLL は、リファレンスにローカル・クロック・ソースを使用します。
図 -15:
次の図は、ソフトCDR モードのデータパスを表しています。SDR モードおよびDDR モードでは、IOE からのデータ幅はそれぞれ1 ビットと2 ビットです。
rx_in DPA Circuitry
Synchronizer Bit Slip
Deserializer
rx_inclock
IOE supports SDR, DDR, or non-registered datapath LVDS Receiver
FPGA Fabric
rx_out
rx_divfwdclk rx_coreclock 10 bits
maximum data width
注:ディスエーブルされるブロックと信号はグレーアウトされています。
DPA Clock Domain LVDS Clock Domain
Retimed DPA ClockData
DIN DOUT DIN
DOUT DIN
DOUT DIN
Clock Mux
I/O PLL
+– IOE
fast_clock dpa_fast_clock (load_enable,
fast_clock)
(dpa_load_enable, dpa_fast_clock, rx_divfwdclk) 2
3 10
10
3 (load_enable,
fast_clock, rx_coreclock) 8 Serial LVDS Clock Phases 2
fast_clock
ソフトCDR モードでは、シンクロナイザー・ブロックは非アクティブです。DPA 回路は最適なDPA クロ
ック位相を選択し、データをサンプリングします。このクロックはビットスリップ動作とデシリアライゼー ションに使用されます。また、DPA ブロックは、選択されたDPA クロック(
rx_divfwdclk
と呼ばれ るデシリアライゼーション・ファクターで分周されている)をデシリアライズされたデータとともにFPGA ファブリックに転送します。このクロック信号は、周辺モジュールクロック(PCLK)ネットワーク上に出力 されます。ソフトCDR モードを使用する場合、DPA がトレーニングされた後に
rx_dpa_reset
ポートをアサートしないでください。DPA はPLL から継続的に新しい位相タップを選択し、基準クロックと着信デー タ間のPPM(Parts Per Million)差をトラックします。
ソフトCDR モードでは、LVDS インスタンスのすべてのレシーバーチャネルを1 つのI/O バンクに配
置する必要があります。各I/O バンクは最大12 個のPCLK リソースを有しているため、各LVDS イン スタンスは最大12 個のソフトCDR チャネルをサポートすることができます。
3 Stratix 10 高速 LVDS I/O デザインの考慮事項
デザインを確実に作成するには、いくつか考慮すべき事項があります。特に注記のない限り、これらのデ ザイン・ガイドラインはこのデバイスファミリーのすべてのバリアントに適用されます。
3.1 Stratix 10 デバイスの PLL とクロッキング
パラレルクロック(
rx_coreclock
およびtx_coreclock
)と高速クロック(fast_clock
)を生 成するために、 Stratix 10 デバイスは、高速差動I/O レシーバーおよびトランスミッタのチャネルで I/O PLL を提供します。3.1.1 差動トランスミッタのクロッキング
I/O PLL は、ロードおよびシフトレジスターをクロックするロードイネーブル(
load_enable
)信号とfast_clock
信号(シリアルデータ・レートで実行するクロック)を生成します。シリアライゼーション・ファクターは、Quartus Prime ソフトウェアを使用してx3、x4、x5、x6、x7、x8、x9、またはx10 にス タティックに設定することができます。ロードイネーブル信号は、シリアライゼーション・ファクター設定 から派生します。
任意の Stratix 10 トランスミッタ・データ・チャネルをコンフィグレーションして、ソース同期トランスミ ッタ・クロック出力を生成することができます。この柔軟性により、出力クロックをデータ出力の近くに配 置してボードレイアウトを簡略化し、クロックとデータ間のスキューを低減することができます。
アプリケーションごとに、特定のクロック-データ・アライメントまたはデータレート-クロックレート・ファ クターが必要になる場合があります。これらの設定は、Quartus Prime のパラメーター・エディターでス タティックに指定することができます。
• トランスミッタは、デバイスの各スピードグレードがサポートする最大出力クロック周波数で、デー タと同じレートでクロック信号を出力できる
• 出力クロックは、シリアライゼーション・ファクターに応じて、1、2、4、6、8、または10 のファクター で分周することができる
• データに関連するクロックの位相は、0° または180°(エッジまたは中央揃え)に設定することがで きる。I/O PLL は、45° の増分でその他の位相シフトの追加のサポートを提供する
•
tx_outclock
の位相シフト粒度が180° より大きい場合、各アルテラLVDS SERDES トラン スミッタ・インターフェイスを1 つのI/O バンク内のみに配置することができます。3 Stratix 10 高速LVDS I/O デザインの考慮事項
Intel Corporation.無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Altera、ARRIA、CYCLONE、ENPIRION、MAX、
NIOS、QUARTUS および STRATIX の名称およびロゴは、アメリカ合衆国および/ またはその他の国におけるIntel Corporation の商標です。インテルはFPGA 製品および半導体製品の性能がインテルの標準保証に準拠することを保証しますが、インテル製品お よびサービスは、予告なく変更される場合があります。インテルが書面にて明示的に同意する場合を除き、インテルはここに記載された アプリケーション、または、いかなる情報、製品、またはサービスの使用によって生じるいっさいの責任を負いません。インテル製品の顧 客は、製品またはサービスを購入する前、および、公開済みの情報を信頼する前には、デバイスの仕様を最新のバージョンにしておくこ とをお勧めします。
*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
ISO 9001:2008 登録済
図 -16: クロック出力モードのトランスミッタ
次の図は、クロック出力モードのトランスミッタを表しています。クロック出力モードでは、LVDS チャネルをクロック出力チャネルと して使用することができます。
fast_clock
load_enable Transmitter Circuit
Txclkout+
Txclkout–
FPGA Fabric
PLL I/O
Parallel Series
関連情報
59ページの アルテラLVDS SERDES Transmitter Settings
3.1.2 差動レシーバーのクロッキング
I/O PLL は外部クロック入力を受信し、同じクロックの異なる位相を生成します。DPA ブロックは、I/O
PLL からのクロックの1 つを自動的に選択し、各チャネル上の着信データをアライメントします。
シンクロナイザー回路は、DPA クロックとデータ・リアライメント・ブロック間の位相差を補正する
1 ビット幅 x 6 ビット深度のFIFO バッファーです。必要に応じて、ユーザー・コントロールのデータ・リ
アライメント回路は、ワード境界にアライメントするために、シリアル・ビット・ストリームに1 ビットのレ イテンシーを挿入します。デシリアライザーはシフトレジスターとパラレル・ロード・レジスターを含めて おり、内部ロジックに最大10 ビットを送信します。
トランスミッタおよびレシーバーLVDS チャネルを接続する物理メディアは、シリアルデータとソース同 期クロックとの間にスキューを導入することがあります。各LVDS チャネルとクロック間の瞬間的なスキ ューは、レシーバーで見られるデータおよびクロック信号のジッタによって異なります。3 つの異なるモ ード(非DPA、DPA、およびソフトCDR)は、ソース同期クロック(非DPA、DPA)/基準クロック(ソフト CDR)とシリアルデータ間のスキューを補償するにあたって異なるオプションを提供します。
非DPA モードでは、スキューを補償するために、ソース同期クロックと受信シリアルデータ間の最適な
位相をスタティックに選択することができます。DPA モードでは、ソース同期クロックと受信シリアルデ ータ間のスキューを補償するために、DPA 回路が自動的に最適な位相を選択します。ソフトCDR モー ドは、チップ間の同期および非同期アプリケーションとSGMII プロトコルの短距離ボード間アプリケ ーションのための機会を提供します。
注意: 非DPA モードのみ、マニュアルでのスキュー調整が必要です。
3.1.3 ガイドライン:LVDS に整数 PLL モードの PLL を使用する
各I/O バンクは、LVDS チャネルをドライブする独自のPLL (I/O PLL)を有します。これらのI/O PLL は整数モードでのみ動作します。
3.1.4 ガイドライン: PLL からの高速クロックを使用して、 LVDS SERDES のみをクロックする
PLL から生成される高速クロックは、LVDS SERDES 回路をクロックすることのみを目的とします。コ アロジックをドライブできる周波数はPLL FOUT 仕様で制限されるため、その他のロジックをドライブす るために高速クロックを使用しないでください。
FOUT 仕様についての詳細は、デバイスのデータシートを参照してください。
3.1.5 ガイドライン:差動チャネルのピン配置
各I/O バンクには独自のPLL が含まれています。I/O バンクPLL は、同じバンク内のすべてのレシー バーとトランスミッタのチャネル、および隣接するI/O バンクのトランスミッタ・チャネルをドライブする ことができます。ただし、I/O バンクPLL は、別のI/O バンク内のレシーバーチャネルまたは非隣接す
るI/O バンクのトランスミッタ・チャネルをドライブすることはできません。
差動トランスミッタ・チャネルをドライブするPLL
差動トランスミッタでは、PLL は独自のI/O バンクおよび隣接するI/O バンク内の差動トランスミッ タ・チャネルをドライブすることができます。ただし、PLL は隣接しないI/O バンクのチャネルをドライブ することはできません。
3 Stratix 10 高速LVDS I/O デザインの考慮事項
Stratix 10 高速LVDS I/O ユーザーガイド 23
図 -17: 差動トランスミッタ・チャネルをドライブするPLL
Bank B Diff TX
Diff TX
Diff TX Diff TX Diff TX
Diff TX PLL
Bank A Diff TX
Diff TX
Diff TX Diff TX Diff TX
Diff TX PLL
Bank C Diff TX
Diff TX
Diff TX Diff TX Diff TX
Diff TX PLL
Bank B Diff Channel
Diff Channel
Diff Channel Diff Channel Diff Channel
Diff Channel PLL
Bank A Diff TX
Diff TX
Diff TX Diff TX Diff TX
Diff TX PLL
Bank C Diff TX
Diff TX
Diff TX Diff TX Diff TX
Diff TX PLL
Valid: PLL driving transmitter channels inadjacent banks Invalid: PLL driving transmitter channels
across banks
DPA がイネーブルされた差動レシーバー・チャネルをドライブするPLL
I/O バンクの各差動レシーバーは、クロックの位相を関連するチャネルのデータ位相にアライメントす るための専用DPA 回路を備えています。バンク内のDPA チャネルをイネーブルする場合、バンク内で シングルエンドI/O および差動I/O 規格の両方を使用することができます。
DPA を使用すると、高速差動レシーバーチャネルの配置にいくつかの制約が加わります。Quartus Prime コンパイラーは自動的にデザインをチェックし、配置ガイドラインに違反があるとエラーメッセー ジを発行します。適切な高速I/O 動作を保証するために、ガイドラインに従ってください。
図 -18: DPA がイネーブルされた差動レシーバーチャネルをドライブするPLL
Bank A
Bank B DPA-enabled Diff RX
DPA-enabled Diff RX DPA-enabled Diff RX
DPA-enabled Diff RX DPA-enabled Diff RX DPA-enabled Diff RX DPA-enabled Diff RX
DPA-enabled Diff RX PLL
DPA-enabled Diff RX DPA-enabled Diff RX DPA-enabled Diff RX
DPA-enabled Diff RX DPA-enabled Diff RX DPA-enabled Diff RX DPA-enabled Diff RX
DPA-enabled Diff RX PLL
DPA がイネーブルされた差動トランスミッタ・チャネルと差動レシーバーチャネルをドライブするイン ターリーブされたPLL
差動トランスミッタ・チャネルとDPA がイネーブルされたレシーバーチャネルをバンク内で同時に使用 する場合は、バンク内のI/O PLL によって駆動されるレシーバーチャネルを、隣接するバンクのI/O PLL によって駆動されるトランスミッタ・チャネルとインターリーブできます。
3 Stratix 10 高速LVDS I/O デザインの考慮事項
Stratix 10 高速LVDS I/O ユーザーガイド 25
図 -19: DPA がイネーブルされた差動トランスミッタ・チャネルと差動レシーバーチャネルをドライブするイン ターリーブされたPLL
DPA-enabled Diff RX DPA-enabled Diff RX
DPA-enabled Diff RX DPA-enabled Diff RX DPA-enabled Diff RX
DPA-enabled Diff RX PLL
DPA-enabled Diff RX DPA-enabled Diff RX
DPA-enabled Diff RX DPA-enabled Diff RX DPA-enabled Diff RX
DPA-enabled Diff RX
Bank A Diff TX
Diff TX
Diff TX Diff TX Diff TX
Diff TX
Bank B Diff TX
Diff TX
Diff TX Diff TX Diff TX
Diff TX PLL
3.1.6 外部 PLL モードの LVDS インターフェイス
アルテラLVDS SERDES IP コアのパラメーター・エディターは、Use External PLL オプションで LVDS インターフェイスを実装するためのオプションを提供します。このオプションをイネーブルすると、
異なるデータレート、ダイナミック位相シフト、およびその他の設定をサポートするためのPLL のダイナ ミックなリコンフィグレーションといったPLL 設定を制御することができます。また、さまざまなクロック およびロードイネーブル信号を生成するために、アルテラIOPLL IP コアをインスタンス化する必要が あります。
アルテラLVDS SERDES トランスミッタおよびレシーバーでUse External PLL オプションをイネ ーブルする場合、アルテラIOPLL IP コアから以下の信号が必要になります。
• アルテラLVDS SERDES トランスミッタとレシーバーのSERDES へのシリアルクロック入力
• アルテラLVDS SERDES トランスミッタとレシーバーのSERDES へのロードイネーブル信号
• トランスミッタFPGA ファブリック・ロジックをクロックするために使用されるパラレルクロックと レシーバーに使用されるパラレルクロック