• 検索結果がありません。

カスタム・コントローラの使用

ALTMEMPHYメガファンクションをユーザ独自のコントローラと統合することができ

ます。この項では、インタフェース要件および効率的なリードおよびライト・トラ ンザクションのためのハンドシェイク・メカニズムについて説明します。

準備ステップ

ALTMEMPHYメガファンクションを生成するには、以下のステップを実行します。

1. カスタムDDRまたはDDR2 SDRAMコントローラを作成するとき、アルテラの高

性能コントローラMegaCore機能を生成して、選択されたアルテラのメモリ・デ バイスをターゲットにします。

2. タイミングをコンパイルおよび検証します。このステップはオプションです;詳 しくは、4–1ページの「コンパイルおよびシミュレーション」を参照してくださ い。

3. DDRまたはDDR2 SDRAMデバイスをターゲットとするとき、高性能コントロー

ラ・デザインをシミュレーションします。

4. トップ・レベルALTMEMPHYデザインをユーザーのコントローラと統合します。

高性能コントローラから始めると、PHYバリエーション名は

<controller_name>_phy.v/.vhdです。ユーザーのコントローラとアルテラの

ALTMEMPHYメガファンクションの統合について詳しくは、以下の項で説明して

います。

5. PHYを適切にドライブおよびコマンドはメモリ・デバイスで認識されることを確

認するために、インタフェース全体をコンパイルしてシミュレーションします。

デザインの検討事項

この項では、ユーザー独自のコントローラをALTMEMPHYメガファンクションで実装 するにのに、重要な検討事項について説明します。 この項では、AFI種類のデザイン 検討事項について説明します。

1 PHY信号のドライブ方法が分からない場合、高性能コントローラのシミュレーション が便利です。

クロックおよびリセット

ALTMEMPHYメガファンクションは、PLLインスタンスを自動的に生成しますが、そ

れでも基準クロック入力(pll_ref_clk)にMegaWizard Plug-In Managerで指定した 周波数のクロックを供給する必要があります。 また、非同期でディアサートできるア クティブLowのグローバル・リセット入力も供給されます。 クロックおよびリセッ ト管理ロジックは、このリセットをALTMEMPHYメガファンクション内の適切なク ロック・ドメインに同期させます。

ハーフ・レート・コントローラの場合はメモリ・クロック周波数の半分、フル・

レート・コントローラの場合はメモリ・クロックと周波数が同じクロック出力が供 給され、ALTMEMPHYメガファンクションのすべての入力および出力がこのクロック に同期します。AFIの場合、この信号はctl_clkと呼ばれます。

また、アクティブLow同期リセット・出力信号、ctl_reset_nも提供されていま

す。 この信号はctl_clkまたはphy_clkクロック・ドメインに非同期でディア

サートされ、そのクロック・ドメインの追加のユーザー・ロジックをリセットする

第 5 章 : 機能の説明 ̶ALTMEMPHY 5–51 カスタム・コントローラの使用

キャリブレーション・プロセス要件

グローバルreset_n信号が解放されるとき、ALTMEMPHYは初期化およびキャリブ レーション・シーケンスを自動的に処理します。 シーケンサは、DDR SDRAM(複数 のチップ・セレクト)の複数のランクにリードを発行することによって、メモリ・

インタフェースをキャリブレーションします。 ランクの数が増加するのに応じて、タ イミング・マージンは減少します。 改良されたタイミング・マージンの比較的少利点 にPLLリソースを消費するので、メモリの各ランクあたり1個の再同期化クロック を供給するのは、実行不可能です。 キャリブレーションが完了すると、キャリブレー ションが成功の場合、ctl_cal_success信号はHighになり;失敗の場合、

ctl_cal_fail信号はHighになります。 キャリブレーションがsoft_reset_n信号 を使用して、コントローラで繰り返すことができます。これは、アサートされるの はシーケンサをリセット状態に配置され、そしてキャリブレーション・プロセスの 解放されるのを再度開始します。

1 以下の2つの警告および致命的なワーニング・メッセージを無視することができま す。

Warning: Timing Analysis for multiple chip select DDR/DDR2/DDR3-SDRAM configurations is preliminary (memory interface has a chip select width of 4)

Critical Warning: Read Capture and Write timing analyses may not be valid due to violated timing model assumptions

他のローカル・インタフェース要件

DDR SDRAMデバイスのメモリのバースト・レングスは2、4、または8であり、

DDR2 SDRAMデバイスの場合は4または8にすることができます。 ローカル・インタ

フェースに供給されるクロックの2倍の速度でメモリ・クロックが動作するハーフ・

レート・コントローラの場合、これはローカル・インタフェースのデータ・バス幅 はメモリ・データ・バスの4倍になることを意味します。 フル・レート・コントロー ラの場合、メモリ・クロックはローカル・インタフェースに供給されるクロックと 同じ速度で動作します。これはローカル・インタフェースのデータ・バス幅はメモ リ・データ・バスの2倍になることを意味します。

この項では、AFI付きDDRまたはDDR2 SDRAM高性能コントローラについて説明し ます。

アドレスおよびコマンド・インタフェース

アドレスおよびコマンド信号は1T動作のために自動的にサイズを変更するので、ピ ンあたりの入力ビットは、フル・レート・デザインの場合1つであり(例えば、1 チップ・セレクトあたりのコンフィギュレーションされたチップ・セレクト);ハー フ・レート・デザインの場合2つがあります。 より慎重な2Tアドレスおよびコマン ド手法が必要な場合は、2クロック・サイクルに対してフル・レート・デザインを使 用して、アドレス/コマンド・入力をドライブします。もしくは、ハーフ・レート・

デザインで、特定のピンのアドレス/コマンド・ビットを同様にドライブします。

1 PHYが本質的に1Tアドレッシングをサポートしますが、高性能コントローラは2Tア ドレッシングのみをサポートするため、PHYタイミング解析は、2Tアドレスとコマ ンド信号を仮定しながら、実行されます。

5–52 第 5 章 : 機能の説明 ̶ALTMEMPHY カスタム・コントローラの使用

リード・コマンドとリード・データ間のハンドシェイク・メカニズム リードが実行される場合、リード・コマンドが要求され、そして有効データが戻る と予測するバイト・レーンを示すために、AFI付き高性能コントローラは

ctl_doing_read信号をアサートします。 ALTMEMPHYは以下の動作のための ctl_doing_read信号を使用します。

ポストアンブル回路のコントロール

ctl_rdata_validの生成

ダイナミック終端抵抗(Rt)コントロール・タイミング

リード・レイテンシ、ctl_rlatはまたコントローラに通知されます。 この信号は、

ctl_doing_read信号のアサーションからctl_rdataの有効リード・データの戻り まで、ctl_clkクロック・サイクルでどのぐらい時間が掛かるのを示します。

ctl_rlat信号はキャリブレーションが正常に完了したときにのみ有効であり、通常の

ユーザー・モード動作中に値を変化することはありません。

ALTMEMPHYは、リード・データ・バス上のデータが有効であることを示すために、

ctl_rdata_valid信号を提供します。 この信号の幅はリード・データはワード・ア ラインメントされていないことを示すために、オプションをサポートするのにハー フ・レートとフル・レート・デザインの間で異なります。図 5–23および図 5–24に、

これらの関係を示します。

図 5‒23. アドレスとコマンドおよびリード・パス・タイミング ̶ フル・レート・デザ イン

図 5‒24. 2 番目のリード・アラインメント ̶ ハーフ・レート・デザイン

ctl_clk ctl_addr ctl_cs_n ctl_doing_read mem_dqs mem_dq ctl_rdata_valid ctl_rdata

ctl_rlat = 9

1 2 3 4 5 6 7 8 9

ctl_clk

1 2 3 4 5 6 7 8 9 ctl_rlat = 9

ctl_addr ctl_cs_n ctl_doing_read mem_dqs mem_dq ctl_rdata_valid ctl_rdata

A XA

10 10 10 0101

10 0101

DX XD

第 5 章 : 機能の説明 ̶ALTMEMPHY 5–53 カスタム・コントローラの使用

ライト・コマンドとライト・データの間のハンドシェイク・メカニズム AFIでは、ALTMEMPHY出力ctl_wlatはアサートされるctl_cs_nとアサートされ るctl_dqs_burstを発行するライト・コマンド間のctl_clk サイクル数を提供

します。 ctl_wlat信号は、ctl_clkクロック・サイクルに単一値を提供するため

に以下の動作を考慮に入れます。

CAS ライト・レイテンシ

追加のレイテンシ

データパス・レイテンシおよび相対位相

ボード・レイアウト

アドレスとコマンド・パス・レイテンシおよび1Tレジスタの設定であり、それは どんなレベリングの影響も考慮に入れるのをダイナミックにセットアップ ctl_wlat信号はキャリブレーションがALTMEMPHYシーケンサによる正常に完了し たときにのみ有効であり、通常のユーザー・モード動作中にどの時点でも変化しま せん。 図 5–25に、ctl_wlatポートの動作を示します。

ハーフ・レート・デザインの場合、ctl_cs_nは1ビットではなく、2ビットです。

また、ctl_dqs_burstおよびctl_wdata_validの波形はハーフ・レート・デザ インを示します。 このライトはDDRで8のバーストになります。 ここで、ctl_cs_n が2'b01にドライブされ、LSB (1)はmem_cs_nからドライブ・アウトされる最初 の値、およびMSB (0)は次のmem_clkで従います。 同様に、ctl_dqs_burstの場 合、LSBはmem_dqsファスト(0)からドライブ・アウトされ、次に1は次のクロッ ク・サイクルに従います。 このシーケンスは必要に応じて連続的なDQSパルスを発 生させます。 最後に、ctl_addrバスはMEM_IF_ADDR_WIDTHビット幅の2倍であ り、そして、アドレスは、2つのmem_clkサイクル幅のアドレス位相をもたらすた めに連結されます。

部分書き込み動作

DDRおよびDDR2 SDRAMメモリ仕様の一部として、ライト信号の一部にDMピンを

アサートすることによって部分書き込みのオプションがあります。

Stratix IIIデバイス・ファミリをターゲットとするデザインに対して、DQ出力をドラ

イブしないことによって電力を節約するために、ライト・データは有効であるとき、

部分的書き込み中にctl_wdata_valid信号をディアサートします。

他のデバイス・ファミリをターゲットとするデザインに対して、部分的書き込みが 必要な場合はDIMピンのみを使用します。 フル・ライト動作の場合、

ctl_dqs_burstおよびctl_wdata_valid信号をアサートするため、DQおよびDQS ピンは部分的書き込み中にドライブされます。

図 5‒25. ctl̲dqs̲burst、ctl̲wdata̲valid、アドレス、およびコマンドのタイミング ̶ ハーフ・レート・デザイン

ctl_clk ctl_addr ctl_cs_n ctl_dqs_burst ctl_wdata_valid ctl_wdata

AdAd AdAd 01 01

10 1111

ctl_wlat = 2 1 2