FC2カウンター FPGAの部屋 Spartan-6のMCBの動作1(スタートアップ処理)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Spartan-6のMCBの動作1(スタートアップ処理)

UG388(v2.1)(Spartan-6 FPGA Memory Controller User Guide)を元にMCBの動作を勉強していくことにする。

43ページのMCB Operation のStartup Sequence から、見て行く。
まず、UG388(v2.1)(Spartan-6 FPGA Memory Controller User Guide)の44ページの”Figure 4-1: MCB Startup Sequence”を下に引用する。
MIG_OP_1_100428.png

これによると最初にFPGAのコンフィギュレーションをして、PLLがロックしてから、Phase 1の入力終端のキャリブレーションを行うことになっているが、これは、”SP605用のMCBをMIGで生成する”の13で無効にしているのでやらないようだ。
SP605_MIG_13_100421.png

上の図で、Un-calibrated Input Terminationをチェックしている。

次はMode Registersをロードしている。これは、”SP605のMCBの動作を確認する1(ISimでシミュレーション)”で確認した。

その次は、Phase 2 のDQSのセンタリング・キャリブレーションを行うようだ。これは、ユーザーズ・ガイドによると、Readのキャプチャ・ウインドウ用のキャリブレーションで、Read時にDQSはReadデータと一緒にDDR3 SDRAMから出てくるのだが、Readデータの真ん中にDQSのエッジがくるようにキャリブレーションを行う。(ユーザーズ・ガイドの46ページのPhase 2: DQS Centeringを参照のこと)

その後、通常動作モードに移行する。通常動作モードにいるときに、電圧変動や温度のでDQに対するDQSの遅延を保証するためにContinuous DQS Tuning を行うようだ。(ユーザーズ・ガイドの46ページのPhase 3: Continuous DQS Tuningを参照のこと)
Continuous DQS Tuning を行うかどうかは、どうやら、ユーザーズ・ガイド25ページのコントローラーの属性のC_MC_CALIBRATION_MODE で決定されるらしい。シミュレータでC_MC_CALIBRATION_MODEはC_MC_CALIBRATION_MODE[87:0] となっていて、値が入っているが、どこで定義されていて、どのような意味かは特定していない。
  1. 2010年04月28日 04:55 |
  2. Virtex-6, Spartan-6
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/1447-45cae750
この記事にトラックバックする(FC2ブログユーザー)