Virtex-4 メモリインターフェイス ソリューション ザイリンクス株式会社

Virtex-4
メモリインターフェイス
ソリューション
ザイリンクス株式会社
メモリ インターフェイス ソリューション
アジェンダ
• メモリ インターフェイス ソリューションの紹介
• Virtex-4 FPGAによるDDR2 SDRAMインターフェイス
• メモリ インターフェイス ジェネレータ(Memory
Interface Generator)の紹介
• ChipScope™ ProによるDDR2 SDRAMソリューション
• サマリ
2
Virtex-4
次世代FPGA技術
AES暗号化機能装備の
高速コンフィギュレーション
技術
ASMBL™
コラム(Columnar)
アーキテクチャ
ギガビットSelectIO™-Ultra™
およびXCITE™技術
先進Xesium™
クロック技術
エンベデッド
3モード
Ethernet MAC
BRAM / FIFO
APUインターフェイス
装備のPowerPC 405
次世代
XtremeDSP™スライス
技術
622Mbps-11.1 Gbps
RocketIO™
シリアル マルチ
ギガビット トランシーバ
ChipSync™
ソース同期
インターフェイス技術
3
新しいASMBL™アーキテクチャ
コラム上に配置されるファンクション ブロック
• ロジック、DSP、ブロックRAM、I/O、DCM
クロック、エンベデッド プロセッサ
• 1つのファミリを構成 – LX / FX / SXの複
数プラットフォーム
• ロジック、DSP、コネクティビティ、およ
びエンベデッド プロセッサなどのアプ
リケーションに合わせ最適化可能
• I/Oを分配することによりシグナルイン
テグリティの向上
4
メモリ インターフェイス設計の課題
•
高バンド幅を実現
•
ソースシンクロナスインターフェ
イス
– 読み出しデータの取り込みと
再取り込み
– データ書き込み
– タイミング仕様に合うか否か
•
•
シグナル インテグリティの
解析
RLDRAM II
QDR II
QDR II
SRAM
SRAM
DDR
DDR2
SDRAM
SDRAM
– PCBと終端処理
複数のメモリ タイプにインター
フェイス
DDR SDRAM
5
Virtex-4は、より簡素なインター
フェイス設計への要求に対応
最もタフな設計課題
• 読み出しサイクルの際には、データ バリッドウィンドウに対してクロック(ストローブ)を中央に
配置
• 高速ソースシンクロナスインターフェイスではタイミングを満たことが非常に困難
Virtex-4は最もタフな
設計課題を解決
– データとクロックを正確にそろえる
– すべてのI/Oには、クリティカルなタイミングに
合わせた回路をシリコン内にビルトイン
6
Virtex- 4シリコンの特長
• 革命的なChipSync™技術は、クロックとデータのタイミング合わせに関して80 ps
の精度(最大64タップ(倍)遅延=5,120 ps)を提供するので、データ取り込みの
信頼性を保証
• 500 MHzのXesium™差動グローバル クロックはスキューとジッタを最小化するの
で、設計上のマージンが増大
• 500 MHzのスマートRAMブロックはFIFO機能を搭載しているので、設計サイズを
最小化
• コラム ベースのI/Oは、ピン配置の制限を除去
7
正確なデータ整列
•
IDELAYブロック
•
•
•
64個の遅延素子(タップ)
で、それぞれが約80 psの
遅延をもたらす
キャリブレーション用クロ
ックは内部のものでも外
部のものでも使用可能
すべてのI/Oで使用可能
ChipSync
ChipSync
DATA
FPGA Fabric
IDELAY
INC/DEC
Controller
Controller
CLK
IDELAY
IDELAY CNTL
CNTL
200 MHz
(calibration)
8
ハードウェアで検証されたメモリ
ソリューション
• 検証済みのメモリ インターフェイスソリューションを使って設計
– 高速メモリ(DDR2、DDR、QDR II、RLDRAM II、FCRAM II)インターフェイスのためのハード
ウェア検証済みのリファレンス デザインを無償提供
– 合成可能なVHDL・Verilog-HDLリファレンス デザイン
• ハードウェア開発ボードを使えばカスタマイズは容易
– ユーザフレンドリーで、変更部分のインプリメンテーションが可能
– メモリ インターフェイス設計用に特別に作られた開発ボードを使って、カスタム設計の
検証が可能
ML461
9
メモリ インターフェイス ソリューション
アジェンダ
• メモリ インターフェイス ソリューションの紹介
• Virtex-4 FPGAによるDDR2 SDRAMインターフェイス
• メモリ インターフェイス ジェネレータ(Memory
Interface Generator)の紹介
• ChipScope™ ProによるDDR2 SDRAMソリューション
• サマリ
10
メモリ インターフェイス ソリューション
267 MHz (534 Mbps) DDR2
• 物理層
(physical layer)
インターフェイス
System
Clock
DCM
DCM
CLKs
• メモリ インターフェイス
FPGA_clk
はソースシンクロナス
– 読み出しデータとスト
–
ローブ/クロックは、メ
モリ デバイスから同エ
ッジで受け取られる
書き込みデータとスト
ローブ/クロックは、
センターアラインで送
信される
• コントローラ
• ユーザ インター
フェイス
FPGA_clk
Addrs/ctrl
Addrs/ctrl
User
User
Interface
Interface
267
267 MHz
MHz
DDR2
DDR2
Controller
Controller
State
State
machine
machine
FPGA_clk
ctrl
ctrl
Write
Write Data
Data
Read
Read Data
Data
DQS
DDR2
SDRAM
267MHz
Addrs/ctrl
Addrs/ctrl
534
534 Mbps
Mbps
DDR2
DDR2
physical
physical
layer
layer
interface
interface
Data(143:0)
Data(143:0)
144 bit
Interface
DQS(13:0)
DQS(13:0)
DQS
DQ
DQ
DATA READ
DATA WRITE
11
物理層 – 読み出し
• 従来困難だったリード物理層の設計は、Virtex-4内蔵の
新機能で容易に設計可能
• 読み出しデータ パスには、読み出しデータ取り込みと
再取り込みが含まれる
– ダイレクト クロッキング テクニック
• データの遅延時間を決めるのにメモリ ストローブを使用
• DCMクロック、CLK0を読み出しデータの中心に配置
• 読み出しデータは、入力DDRフリップフロップを使って
CLK0領域で直接取り込まれる
12
メモリ ストローブのエッジ検出
• IDELAYブロック(ChipSyncの一部)へのメモリ ストローブ
入力は、タップ数を0に設定
• エッジ検出のためにDCMクロック(CLK0)を使って、IDELAY
ブロックの出力をレジスタに取り込む
• 最初のエッジを検出するために必要なタップ数を記録
• 2番根のエッジを検出するために必要なタップ数を記録
• 最初のエッジのタップ数と2番目エッジのタップ数の差が
パルス幅となる
• データ遅延は、最初のエッジのタップ数とパルス幅の半
分を加えたものになる
13
FPGAクロックの位相検出に使う
ストローブ
CASE 1
second edge first edge
detected
detected
Clock /
Strobe
first
edge
taps
Read Data
second edge taps
data delay
taps
data delay
taps
Center Aligned
Delayed Read Data
Internal
FPGA Clock
14
FPGAクロックの位相検出に使う
ストローブ
CASE 2
second edge first edge
detected
detected
Clock /
Strobe
first
edge
taps
Read Data
second edge taps
data delay
taps
data delay
taps
Center Aligned
Delayed Read Data
Internal
FPGA Clock
15
メモリ ストローブのエッジ検出回路の
ブロック図
DQS
IDELAY
64 taps
Absolute
Delay line
D
Q
Edge Detection
and
Control
Logic
Data Delay Data IDELAY
Tap Count Tap
Control
Logic
IDELAY
Increment/
Decrement
Logic
Read DQ IDELAY
Increment/ Decrement
Logic
ChipSync
IO
FPGA Clock
IDELAYCTRL requires 200 MHz reference clock
16
読み出しと書き込みのデータ パス
Smart RAM
IDELAY
64 taps
Absolute
Delay line
DQ
IDELAY
Increment/
Decrement
Logic
Input
DDR
Flip Flops
FPGA Clock, CLK0
User
Interface
Read Data
FIFO
Falling
Edge
Data IDELAY
Tap
Control
Logic
Data Delay
Tap Count
Tri-ctrl
Write Data Rising
OBUFT
Read Data
FIFO
Rising
Edge
Output
DDR
Flip Flops
Write Data Falling
FPGA Clock, CLK270
Fans out
to 8 DQ IOs
ChipSync
IO
17
読み出しデータの取り込み
Internal
FPGA Clock
Delayed
Read Data (CASE 1)
0
1
2
3
0
SAME_EDGE_PIPELINED
Outputs of IDDR
2
1
3
Write Enable
Rising and Falling Edge
FIFOs
Delayed
Read Data (CASE 2)
SAME_EDGE_PIPELINE
D
Outputs of IDDR
0
1
2
3
0
2
1
3
Write Enable Falling Edge FIFO
Write Enable Rising Edge FIFO
18
読み出しデータのFIFO書き込み
イネーブル
• DCM CLK0の立ち上がり
エッジでの最初の読み
出しデータ
• 立ち上がりFIFOへの書き
込みイネーブルは、最初
のレジスタの出力
• DCM CLK0の立ち下がり
エッジでの最初の読み
出しデータ
First Data on Rising Edge
0
Read Enable
Write enable
Rising FIFO
1
D
Q
D
Q
D
Q
FPGA
Clock
Write Enable
Falling FIFO
• 立ち上がりFIFOへの書き
込みイネーブルは、第2の
レジスタの出力
19
物理層 – 書き込み
• 書き込みデータ パスは、DCM
とOutput DDRにより、インプリ
メントするのが容易
• 書き込みストローブ/クロック
は、データの中心にそろえな
ければならない
• 書き込みストローブ/クロック
は、CLK0 DCM出力でクロッキ
ングされるOutput DDRを使っ
て生成可能
• 書き込みデータは、CLK270
DCM出力でクロッキングされ
るOutput DDRを使って送信可
能
DATA WRITE
DQS transmitted using
CLK0 and its inverse
DQ transmitted using
CLK270 and its inverse
Tri-ctrl
DQS
OBUFT
Output
DDR
Flip Flops
1
0
CLK0
Tri-ctrl
DQ
OBUFT
Output
DDR
Flip Flops
Write Data Rising Edge
Write Data Falling Edge
CLK270
20
システム タイミング マージンの定義
Leading Edge
Margin
Trailing Edge
Margin
Data
Clock (Strobe)
Leading Edge
Uncertainties
Uncertainties affecting
setup time
0
Trailing Edge
Uncertainties
Uncertainties affecting
hold time
Start
window
TIME
End Phase
window
21
DDR2読み出しタイミング解析 @267 MHz
Uncertainty Parameters
Tclock
Tmemory_dll_duty_cycle_dist
Tdata_period
Memory uncertainties(Tac)
Uncertainities
Before DQS
Value
Uncertainities
after DQS
3750
188
188
1687
500
500
30
15
0
0
0
0
100
100
Tclock_tree_skew - Max
50
50
Tpcb_layout_skew
20
20
Tpackage_skew
Tsetup - Min
Thold - Max
Tjitter
Uncertainties
685
Meaning
Clock period
Duty cycle distortion from memory DLL is
subtracted from clock phase (equal to half clock
188 period) to determine Tdata_period.
Data period is half the clock period with 10% duty
cycle distortion subtracted from it.
This parameter considered the worst of all the
memory parameters since there is overlap
between these parameters(Tdqsq, Tqhs, Tdqsck,
500 Tac).Tac = 500ps for 267 MHz.
15 Package skew
DQS edge detection is performed by registering it
in the IO flip flop with a global clock. The final data
delay value therefore already accounts for the
setup and hold times of the IO flip flops. Hence,
0 these parameters are not considered in this
0
100 Clock jitter that indirectly causes strobe jitter
Small value considered for Skew on "global clock"
line since detection of DQS and associated DQ
50 are placed close to each other
Skew between data lines and associated strobe
20 on the board
685
22
DDR2書き込みタイミング解析 @267 MHz
Timing Analysis for 200 MHz
Uncertainty Parameters
Tclock
Tmemory_dll_duty_cycle_dist
Tdata_period
Memory uncertainties(Tac)
Uncertainities
Before DQS
Value
5000
250
Meaning
Clock period
250
Duty cycle distortion from memory DLL is
subtracted from clock phase (equal to half
250 clock period) to determine Tdata_period.
Data period is half the clock period with 10%
duty cycle distortion subtracted from it.
2250
600
600
Tdqsq
0
0
Tqhs
0
0
30
15
Tpackage_skew
Uncertainities
after DQS
This parameter considers the worst of all the
memory parameters since there is overlap
between these parameters(Tdqsq, Tqhs,
600 Tdqsck, Tac).Tac = 500ps for 267 MHz.
Due to overlap with other memory
0 parameters. Only the worst case parameter
Due to overlap with other memory
parameters. Only the worst case parameter
0 Tac being considered.
15 Package skew
23
ハードウエア検証が行われた
•
•
•
•
FPGA、ボード、メモリのIBISシミュレーション
同時スイッチング出力(SSO)の検証
結果→優れた信号品質
ML 461ボードを使った267MHz(534 Mbps)DDR2のインプリメン
テーション
DQS
DQ
Read Cycle
ML 461 board
24
Virtex-4を使った
メモリ開発システム
ML 461
•ハードウェア検証済みソリューション
Data rate
CLK Rate
DDR2
534 Mbps
267 MHz
DDR
400 Mbps
200 MHz
QDR II RLDRAM II FCRAM II
1.2 Gbps 600 Mbps 600 Mbps
300 MHz 300 MHz 300 MHz
Data Width 144 bit (DIMM) 144 bit (DIMM) (72+72) bit 36 bit
28 bit
28 bit
I/O Standard SSTL18
SSTL 2
HSTL
HSTL
36 bit
SSTL18
Block Diagram
RLDRAM II
QDR II
SRAM
JTAG
Interface
FCRAM II
DDR 2
DIMM
DDR
DIMM
DDR 2
DDR
最大周波数は提供されたメモリ デバイスに基づく
25
メモリ インターフェイス ソリューション
アジェンダ
• メモリ インターフェイス ソリューションの紹介
• Virtex-4 FPGAによるDDR2 SDRAMインターフェイス
• メモリ インターフェイス ジェネレータ(Memory
Interface Generator)の紹介
• ChipScope™ ProによるDDR2 SDRAMソリューション
• サマリ
26
メモリ インターフェイス ジェネレータ
(Memory Interface Generator)
•ChipSync技術
•ユーザ設計の無駄を省く
• DDR2 SDRAMコントローラのHDLコードとピン割り当てを生成
• DDR2 SDRAMでの様々な設計が可能(DIMMとコンポーネント)
•タイミング解析スプレッド シートを生成
27
特長
• 最大300 MHzま
でのクロック周
波数
• 選択できるオプ
ション
– FPGAデバイス
の種類
– スピード
グレード
– データ幅
– FPGAのバンク
28
特長
• ツールがすべての
ピンを選択
– ユーザはピン選択
のための入力情
報を入力
– 選択されたピンを
無視するためのオ
プション
– .ucfファイルを生成
29
特長
• ツールはWASSOと
すべてのピン選択
規則をチェックす
る
• VHDLやVerilogで
コントローラを生成
• モジュール設計が
可能
30
メモリ インターフェイス ソリューション
アジェンダ
• メモリ インターフェイス ソリューションの紹介
• Virtex-4 FPGAによるDDR2 SDRAMインターフェイス
• メモリ インターフェイス ジェネレータ(Memory
Interface Generator)の紹介
• ChipScope™ ProによるDDR2 SDRAMソリューション
• サマリ
31
ChipScope™ Proのインターフェイス
• 追加のI/Oピンは不要
– JTAGポート経由のアクセス
• Integrated Logic Analyzer(ILA)コアを使用するオンチップ システ
ム バス解析
– メモリ ツール キットにはテスト ベクタ ファイルが添付されている
– ユーザのPCで実行可能
JTAG
インター
フェイス
パラレル ケーブル
ML 461デモ ボード
PC
32
ChipScope™ Proのデモ フロー
• デモ ボードに電源を入れる
• ChipScope™ Pro Analyzerソフ
トウェアをスタートさせる
• JTAGチェーンを介してFPGA
デバイスを検出
• JTAGチェーンを介してFPGA
デバイスをデモ用ビット ファ
イルでプログラムする
• テスト ベクタをロードしてパ
ラメータ ファイルをトリガする
• トリガを起動してリアルタイ
ムでデータを取り込む
• バス信号とデータ値を解析
DCM
DCM
FPGA_clk
FPGA_clk
Addrs/ctrl
Addrs/ctrl
User
User
Interface
Interface
CLKs
267
267 MHz
MHz
DDR2
DDR2
Controller
Controller
State
State
machine
machine
Addrs/ctrl
Addrs/ctrl
FPGA_clk
ctrl
ctrl
Write
Write Data
Data
Read
Read Data
Data
534
534 Mbps
Mbps Data(143:0)
Data(143:0)
DDR2
DDR2
physical
physical
layer
layer
DQS(15:0)
DQS(15:0)
interface
interface
Write Data capture point
Read Data capture point
33
DDR2のデモ
• 内部FPGA信号、データ バスとエラー無し(バイト エラー信
号がLow)を示す波形のスクリーン ショット
34
QDRII SRAMのデモ
• 書き込みアドレス/データおよび読み出しアドレスとデータ
パターン(ASCIIエンコードされた)のエラーの無い状態を示
す波形のスクリーン ショット
35
メモリ インターフェイス ソリューション
アジェンダ
• メモリ インターフェイス ソリューションの紹介
• Virtex-4 FPGAによるDDR2 SDRAMインターフェイス
• メモリ インターフェイス ジェネレータ(Memory
Interface Generator)の紹介
• ChipScope™ ProによるDDR2 SDRAMソリューション
• サマリ
36
サマリ
• ザイリンクスのメモリ インターフェイス ソリュー
ションは、困難な設計課題に対応
– 高バンド幅要求
– 物理層インターフェイス設計(読み出しデータ取り込みおよ
び書き込み)
– ハードウェアで検証されたコントローラの設計
– シグナル インテグリティ解析、ハードウェアの検証と特性化
– 主要なメモリ タイプ(DDR2、QDR II、DDR、RLDRAM II、
FCRAM II)へのインターフェイス ソリューション
• 完全にハードウェア検証済みソリューション
37
どのようにしてスタートするか
• 最初の設計を成功させるために、完全にハー
ドウェア検証されたソリューションを利用
• Webサイトwww.xilinx.co.jp/vitex4にアクセスして
最新のメモリ設計ソリューションを参照
– アプリケーション ノートとリファレンス デザイン
– Vritex-4の先進メモリ開発システム
ƒ 回路図とgerberファイルを含むボード レベルの
ソリューション
ƒ シグナル インテグリティ解析ファイル
ƒ 実際のデモ ボードML 461を提供
ƒ DDR2, QDR II, DDR, RLDRAM II, FCRAM II
38
ザイリンクスのロジック関連提供製品
ISEは、最小コスト、最大性能、および最高の使いやすさを提供
• Vritex-4ロジック バンドル(梱包組み合わせコース)
– Virtex-4ボード、ISE Foundation、Chipscope Pro、トレー
ニングわ%1175s3
• Spartan-3ロジック バンドル
– Sparten-3ボード、ISE BaseX、Chipscope Pro、トレーニング
39