株式会社PALTEK Engineering Group · Spartan-6 7:1 LVDS Transmitter (SDR 945 Mbps) ......
Transcript of 株式会社PALTEK Engineering Group · Spartan-6 7:1 LVDS Transmitter (SDR 945 Mbps) ......
1
Proprietary to PALTEK CORPORATION
SELECT I/O
株式会社PALTEKEngineering Group
2
Select I/O の概要
Spartan-3のI/Oが基準となっている
– 1.2v~3.3v の電圧までサポート
新機能
– 400 MHz DDR3 サポート
(800 Mbps)
– ISERDES, OSERDES, IODELAY– オンチップ終端抵抗(OCT)– IODRPの搭載
拡張機能
– LVDS 1050 Mbps まで対応
– HD TMDS 750 Mbps まで対応
SpartanSpartan--66
3
I/O BANKと使用規則
BANKを使用しない場合にもFPGA上の全てのVCCO Pin に 電源を供給する必要がある
同一BANK内のVCCOは同じ電圧レベルへ接続
BANK内のI/Oに割り当てられるI/O規格で使用される電圧レベルは全て同一にする
VREFを使用する場合はさらに規則があります
– BANK内の全てのVREF Pinに参照電圧を供給する
– BANK内のVREFの電圧レベルは同一にする
– VREFを使用しない場合はVREF PinはUSER I/Oとして使用可能
BANK 0
BANK 2
BANK 4 BANK 5
BANK 3 BANK 1
BANK 0
BANK 2
BANK 3 BANK 1
(LX45/Tより小さいデバイス) (LX75/Tより大きいデバイス)
4
I/O規格サポート
出力はI/O規格によってBANK制限あり
– 一部のI/O規格はBANKサポートされていないものがあります
入力は全てのBANKで可能
LVCMOS25 24 mA Drive
LVCMOS18, 24 mA Drive
LVCMOS15, 16 mA and 12 mA Drive
LVCMOS12, 12 mA and 8 mA Drive
LVPECL_25*
LVPECL_33*
HSTL_II
HSTL_II_18
SSTL15_II
SSTL18_II
*上下BANKでサポートされないI/O規格
LVDS_25
LVDS_33
MINI_LVDS_25
MINI_LVDS_33
RSDS_25
RSDS_33
PPDS_25
PPDS_33
LVPECL_25*
LVPECL_33*
TMDS_33
*左右BANKでサポートされないI/O規格
*出力のみLVPECL_25/33については全てのBANKでサポートされません
5
I/O 全体のブロック図
6
IOBブロック
様々な構成が可能なI/O– シングルエンドI/O規格
• LVCMOS,LVTTL,HSTL,SSTL,PCI
– 差動I/O規格
• LVDS,RSDS,TMDS,差動HSTLおよび
SSTL• PとN2つのI/Oを使用して差動を実現
• 出力はI/O規格によってBANK制限あり
• 入力は全てのBANKで可能
7
I/Oバッファ
シングルエンドで使用可能なI/Oバッファ– IBUF (入力バッファ)
– IBUFG (クロック入力バッファ)
– OBUF (出力バッファ)
– OBUFT (トライステート出力バッファ)
– IOBUF (双方向バッファ)
8
I/Oバッファ
差動で使用可能なI/Oバッファ– IBUFDS (入力バッファ)
– IBUFGDS (クロック入力バッファ)
– OBUFDS (出力バッファ)
– OBUFTDS (トライステート出力バッファ)
– IOBUFDS (双方向バッファ)
9
オンチップ終端抵抗(OCT)
出力終端– 設定可能な値は 25 , 50 , 75Ω
使用方法– UCF記述で設定可能
• Net <NET NAME> OUT_TERM =<NONE / UNTUNED_25 / UNTUNED_50 / UNTUNED_75 >
入力終端– 設定可能な値は 25 , 50 , 75Ω– 分割終端
使用方法– UCF記述で設定可能
• Net <NET NAME> IN_TERM =<NONE / UNTUNED_25 / UNTUNED_50 / UNTUNED_75 >
10
オンチップ終端抵抗(OCT)
シングルエンドのオプション設定で可能な内部終端抵抗
– DDR2の外部終端を使用する例
– DDR2の内部終端を使用する例(OCT使用)
*プロセス、温度、電圧によって変動あり、使用する場合はシグナルインテグリティの確認が必要使用する際はIBISモデルを使用したシミュレーションで確認推奨
50
FPGA
FPGAFPGA
FPGA FPGA
11
オンチップ差動終端(OCT)
オプションで設定可能な差動入力用の100Ω並列差動終端抵抗
– 外部差動終端の削減可能
– 抵抗値はVCCAUXに依存
• VCCAUX3.3v : 100Ω(typ) VCCAUX2.5v :*要検証
LVDS,RSDS,Mini-LVDSおよびPPDS I/O規格の入力終端オプション設定例
*プロセス、温度、電圧によって変動あり。使用する場合はシグナルインテグリティの確認が必要
使用する際はIBISモデルを使用したシミュレーションで確認推奨
12
IOLOGICブロック
1つのI/Oブロックに2つのIOLOGIC– マスターとスレーブ
– 各IOLOGICで単一の動作またはカスケードした
動作が可能
IOLOGICの機能
– IOSERDES• パラレルシリアルコンバータ
(シリアライザ)• シリアルパラレルコンバータ
(デシリアライザ)– IODELAY
• 遅延入力素子
– Dynamic reconfiguration port (IODRP)• I/Oのダイレクトプログラミングインターフェイス
– シングル
データ
レート
(SDR)– ダブル データ
レート
(DDR)
IOSERDES+ IODELAY
+ IODRP
Inte
rcon
nect
to F
PGA
fabr
ic
Master IOLOGIC
IOSERDES+ IODELAY
+ IODRP
Slave IOLOGIC
13
IDDR
入力DDR フリップフロップは
IDDR2 プリミティブを使用してインスタンシエートする
– 両クロック
(C0 および
C1) の立ち上がりエッジで
D のデータを取り込む
Q0 および Q1からFPGA へのデータ出力
– DDR_ALIGNMENT 属性で同期クロックを選択
DDR_ALIGNMENT = NONE DDR_ALIGNMENT = C0
14
ODDR
IDDR2 とは逆の機能
– ファブリックから
2 つのポートにデータを入力
(D0 および
D1)
– D0 データは、C0 の立ち上がりエッジで
Q ポートに出力され、
D1 データは C1 の立ち上がりエッジで出力される
• Q ポートからの出力はIOB に直接または ODELAY を介して出力される
• C0、C1には180°の位相差を持つクロックを入力
15
IOSERDES/IODELAY
1つのブロックに2つの独立した遅延素子
・IDELAY,ODELAY
256tapの遅延素子を追加可能
1つのOSERDESで
1:1 , 2:1 , 3:1 , 4:1 のシリア
ライズが可能
・カスケードすることで 大8:1のシリアライズ
が可能
1つのISERDESで 1:1 , 1:2 , 1:3 , 1:4 のデシリア
ライズが可能
・カスケードすることで 大1:8のデシリアライズ
が可能
16
ISERDES
D ポートに入力される高速データをパラレル化
– IOB から直接、または
IDELAY を介す
– SDR の場合は C0 の立ち上がりエッジでクロック、
DDR の場合は C0 および
C1 の立ち上がりエッジでクロック
データは高速ドメインからデバイス
クロック
(CLKDIV) で
実行されている
Q1 ~ Q4 出力に転送
– パラレル化は単独で 1 から
4 まで、マスタとスレーブの
ISERDES2 がカスケードされている場合は 1 から
8 まで
データ転送は IOCE ポートで管理
– C0/C1、CLKDIV、および
IOCE には特定のタイミング関係が必
要
• 専用クロック
リソースで管理
フレーム
アライメントは
BITSLIP ポートを使用して変更可能
17
ISERDES Internal Structure
ISERDES内の構造
Retimedの設定を推奨
・Bitslipの機能が使用可能
・ISERDES内部で、パラレルクロックへの乗せ換えを実施
18
BitSlip Operation
Bitslip信号のアサート毎にbit positionを変更
ISERDESに入力しているParallel側のクロックに
同期して1サイクルアサート
internal
19
ISERDESとClock Bufferの接続 ( BUFIO2 )
SDR
DDR
20
ISERDESとClock Bufferの接続 ( BUFPLL )
SDR
21
OSERDES
データ部は D1 から
D4 のデータを
OQ 出力にシリアル化
– IOB 出力を直接または ODELAY を介して駆動
– 固定パターンは TRAIN ポートをアサートして駆動可能
• トレーニング パターンは TRAIN_PATTERN 属性で設定
トライステート制御部は
T1 から
T4 を
TQ 出力にシリアル化
– IOB のトライステート
イネーブルを駆動
オプションで
IODELAY を制御
D1 ~ D4 および
T1 ~ T4 はデバイス クロック
(CLKDIV) でクロッ
クされる– 4 から
1 のシリアル化が可能
スレーブにカスケードされている場合は 8 から1 のシリアル化が可能
OQ および TQ は高速クロック
(C0 および
C1) でクロックされる
– 高速クロックは
SDR または DDR
データ転送は IOCE ポートで管理
– C0/C1、CLKDIV、および
IOCE には特定のタイミング関係が必要
• 専用クロック
リソースで管理
22
OSERDES Internal Structure
OSERDES内には、Dataと Tri-state制御用のSERDES
が含まれる
– OSERDESを使用して、出
力しているデータは、Tri- State用のOSERDESを使
用して、Tri-State制御を実
施するTri-state用
OSERDES
Data用
OSERDES
23
OSERDESとClock Bufferの接続 ( BUFPLL )
SDR
24
IODELAY
IODELAY はプログラム可能な遅延を提供
– 0 ~ 255 ユニットの範囲で遅延をプログラム
– 内部リング
オシレータおよびカウンタに基づくが、
遅延はプロセス、電圧、温度
(PVT) により変動
入力/出力パスの遅延を提供、または、パッドのトライステート制御に基づき入力/出力パス
の切り替え可能
遅延値は ODELAY_VALUE 属性で設定可能
入力として使用する場合はほかのモードが使用可能 (IDELAY_TYPE で設定)
– FIXED– DEFAULT– VARIABLE_FROM_ZERO– VARIABLE_FROM_HALF_MAX– DIFF_PHASE_DETECTOR
25
IODRP
I/Oパラメータやロジックファンクションへアクセス可能
– 通常動作中にダイナミックなアクセス可能
動作中にI/Oコンフィグレーションデータの読み書きが可能
ダイレクトにロジック/電気的リソースを制御可能– OCTの抵抗の調整
– IODELAYの調整
P
NIODELAY
DRP PORT
Inte
rcon
nect
Config registers
Config registers8
8
Logical Resources Electrical Resources
26
SerializerTransmitter
De-SerializerReceiver
Clock
Differential Clock
Parallel Data [6:0]
Differential Serial DataParallel Data [6:0]
Differential Serial Data
Differential Clock
OBUFDS
IBUFDS
Clock
FPGA
FPGA
Flat Panel 1:7 LVDS Transceiver
27
945 MHz
LVDS CLOCK P
LVDS CLOCK N
LVDS DATA P
LVDS DATA N
PLL(x7 multiply)
MASTEROSERDES
135 MHzCLKFB
LVDS
135 MHz
CLKIN
BUFG
BUFPLL
BUFIO2
BUFIO2FB
SLAVEOSERDES
MASTEROSERDES
SLAVEOSERDES
“IOCLOCK”“IOCLOCK”
“GCLK”
x000
1111
x
Data[6:0]
LVDS
PIXEL CLOCK
From FPGA Fabric
IO Structure
Spartan-6 7:1 LVDS Transmitter (SDR 945 Mbps)
“GCLK”
28
“IOCLOCK”
945 MHz
LVDS CLOCK P
LVDS CLOCK N
LVDS DATA P
LVDS DATA N
PLL(x7 multiply)
MASTERISERDES
7135 MHz
CLKFB
Diff Clock IOB/IOI
Diff Data IOB/IOI
IOCE
135 MHz
CLKIN
BUFG
SLAVEIDELAY
CE
BUFPLL
BUFIO2
BUFIO2FB
MASTERIDELAY
Set to 0
Normally 5 or 6 data lines
SLAVEISERDES
IOCE
3
4
BS
BS
MASTERISERDES
7
IOCE
SLAVEIDELAY
MASTERIDELAY
1 bit period
SLAVEISERDES
IOCE
3
4
BS
BS
Received data to fabric
Phase detector outputs
IDELAY controls
Bits slipped status
“IOCLOCK”
“IOCLOCK”
“IOCLOCK”
“GCLK”
“GCLK”
“GCLK”
“GCLK”
“GCLK”
FabricBitslipFSM
FabricData Phase
Detect FSM
IO Structure
Spartan-6 1:7 LVDS Receiver (SDR 945 Mbps)
29
まとめ
低コスト、高機能の提供
– LVDS 1Gbpsの実現
前世代からの変更点
– 拡張機能と柔軟性をもった各機能
新機能
– TMDS 750Mbps– オンチップ終端抵抗(OCT)– 設定可能なIOSERDES/IODELAY
DDR2/DDR3のサポート
30
参考文献
Spartan-6 FPGA SelectIO Resources User Guide– http://www.xilinx.com/support/documentation/user_guides//ug381.pdf
Spartan-6 FPGA Data Sheet:DC and Switching Characteristics– http://japan.xilinx.com/support/documentation/data_sheets/ds162.pdf
Source-Synchronous Serialization and Desirialization (up to 1050Mb/s)
– http://japan.xilinx.com/support/documentation/application_notes/xapp1064.pdf