表3–7に、DDRおよびDDR2 SDRAMコントローラのシステム信号を 示します。
表3–7.システム信号 (1/2)
信号名 方向 説明
addrcmd_clk 入力 アドレスおよびコマンド出力レジスタへのクロック。
Insert extra pipeline registers in the datapathがオンの 場合にのみ使用可能。addrcmd_clk 信号により、アド レスおよびコマンド出力のタイミングを必要に応じて 調整できます。addrcmd_clk 信号は、デフォルトでは システムに接続されます。
capture_clk 入力 例えば、Stratixサイド・バンクのリード・データをキャ
プチャするために、DQSの代わりに使用できるオプショ ンのクロック。
clk 入力 システム・クロック。
dqs_delay_ctrl[5:0] 入力 DLLからDQSピンへのコントロール・バス。
dqsupdate Stratix IIのDLLは、DQSピンに対してdqsupdate信 号を生成し、DQS 遅延チェーン値を更新できるタイミ ングを制御します。この信号を使用できるのは、インタ フェースがデバイスの1つのサイドにあり、Insert logic to allow the DLL to update during the memory refresh
periodがオフになっている場合のみです。
fedback_clock_in 入力 フィードバック・クロック入力。
postamble_clk (1) 入力 DQS リード・ポストアンブル期間が終了する前にキャ プチャ・レジスタをディセーブルする、ポストアンブ ル・ロジック・クロック。
reset_n 入力 システム・リセット。非同期でアサートできますが、シ
ステム・クロックの立ち上がりエッジに同期してデア サートする必要があります。
resynch_clk(1) 入力 DQS クロック・ドメインからのリード・データをシス
テム・クロック・ドメインに再同期するクロック。通 常、システム・クロックは再同期クロックとして使用で きます。
resynch_clk_edge_select 入力 再同期レジスタの直後に、再同期クロックの負エッジで クロックされる2つ目のレジスタ・セットをオンにする ことができます。この機能により、再同期クロック位相 が可変の場合は、再同期されたリード・データをシステ ム・クロック・ドメインにより安全に転送できます。こ の信号は、HardCopy IIデバイスをターゲットとするデ ザインでのみ、またはHardCopy IIデバイスがプロジェ クトのコンパニオン・デバイスとして指定されている場 合にのみ使用できます。デザイン例では、この信号はロ ジック・ゼロに接続され、レジスタの追加セットはディ セーブルされます。詳しくは、アルテラにお問い合わせ ください。
write_clk 入力 メモリへのライト・データを中央揃えにするシフトした
クロック。
dqs_ref_clk 出力 Stratix DLL基準クロック出力。
fedback_clock_out 出力 フィードバック・クロック出力。
stratix_dll_control 出力 リード時にStratix DLL基準クロックをディセーブルし ます。
表3–7の注:
(1) この信号は、専用のクロック位相が必要な場合にカスタム・バリエーションにのみ存在します。そうでな い場合、接続はカスタム・バリエーション内で行われます。
表3–7.システム信号 (2/2)
信号名 方向 説明
表3–8に、DDRおよびDDR2 SDRAMコントローラのローカル・イン タフェース信号を示します。
表3–8.ローカル・インタフェース信号 (1/3)
信号名 方向 説明
local_addr[] 入力 バーストを開始すべきメモリ・アドレス。このバスの幅は以
下の数式で計算されます。
チップ・セレクトが1つの場合:
幅 = バンク・ビット+ロウ・ビット+カラム・ビット−1 チップ・セレクトが複数の場合:
幅 = チップ・ビット+バンク・ビット+ロウ・ビット+カラ ム・ビット−1
ローカル・データ幅は、メモリ・データ・バス幅の 2倍ある ので、メモリ・サイドのカラム・アドレスの最下位ビット
(LSB)は無視されます。
アド レス・ビ ット の順 序は、MegaCore ファ ンク ショ ン
(auk_ddr_sdram.vhd)のクリア・テキスト部分に設定されま す。この順序は、チップ、バンク、ロウ、カラムの順ですが、
必要に応じて変更できます。
local_be[] 入力 書き込み時に個々のバイトをマスクするのに使用するバイ
ト・イネーブル信号。
local_burstbegin 入力 Avalonバーストの開始を示す、Avalonバースト開始ストロー ブ。この信号は、ローカル・インタフェースがAvalonインタ フェースで、メモリ・バースト長が2 よりも大きい場合にの み使用できます。
local_read_req 入力 リード要求信号。
local_refresh_req 入力 ユーザが制御するリフレッシュ要求。User Controlled Refresh がオンになると、local_refresh_req が使用可能になり、
ユーザがメモリ要件を満たすのに十分なリフレッシュ要求を 発行する必要があります。このオプションにより、複数のリ フレッシュ・コマンドをまとめるなど、メモリにリフレッシュ が発行されるタイミングを完全に制御することができます。
リフレッシュ要求は、リードおよびライト要求が処理中の場 合以外、これらの要求よりも優先されます。
local_size[] 入力 バイナリ値としてエンコードされた、要求されたアクセスの バースト・サイズ。コントローラは最大ローカル・バースト 長として、DDR SDRAM の場合は 1、2、または 4、DDR2
SDRAMの場合は2をサポートします。
最大バースト長以下の任意のサイズを要求できるため、例え ば、メモリ・バースト長8を選択した場合、ローカル・バー スト・サイズは4になり、ローカル・バースト長1、2、3、ま たは4を要求できます。同様に、メモリ・バースト長4を選 択した場合、ローカル・バースト長は 2 であり、ローカル・
バースト長1または2を要求できます。
メモリ・バースト長2(ローカル・バースト長1)を選択した 場合、local_size[]ポートは1に接続され、コントローラ・
インタフェースには表示されません。他のすべてのメモリ・
バースト長の場合は、local_sizeを使用できます。
local_wdata[] 入力 ライト・データ・バス。local_wdataの幅はメモリ・データ・
バスの2倍です。
local_write_req 入力 ライト要求信号。
local_init_done 出力 コントローラがメモリの初期化を完了するとアサートされ
る、メモリ初期化完了信号。リードおよびライト要求は、
local_init_done がアサートされる前でも受け付けられま すが、安全に行えるようになるまではメモリに発行されませ ん。
local_rdata[] 出力 リード・データ・バス。local_rdataの幅はメモリ・データ・
バスの2倍です。
local_rdata_valid 出力 リード・データ有効信号。local_rdata_valid信号は、リー ド・データ・バスに有効なデータが存在することを示します。
local_rdata_validのタイミングは、再同期およびパイプラ イン・オプションの選択に対処するために自動的に調整され ます。
local_rdvalid_in_n 出力 リード・データ有効信号の 3 サイクル前に現れる、リード・
データ有効信号の早期バージョン。Avalonモードには存在し ません。
表3–8.ローカル・インタフェース信号 (2/3)
信号名 方向 説明
表3–9に、DDRおよびDDR2 SDRAMインタフェース信号を示します。
local_ready 出力 local_ready信号は、DDRまたはDDR2 SDRAMコントロー ラが要求信号を受け付ける準備ができていることを示しま す。リードまたはライト要求がアサートされているクロック・
サイクルで、local_readyがアサートされている場合、その 要求は受け付けられています。DDRまたはDDR2 SDRAMコ ントローラがそれ以上の要求を受け付けることができなくな ると、local_ready信号はデアサートされます。
local_refresh_ack 出力 リフレッシュが発行されるたびに1クロック・サイクルの間 アサートされる、リフレッシュ要求確認。User Controlled Refreshオ プ シ ョ ン が 選 択 さ れ て い な い 場 合 で も、
local_refresh_ackはローカル・インタフェースに対して、
コントローラがリフレッシュ・コマンドを発行したことを示 します。
local_wdata_req 出力 ローカル・インタフェースに対して次のクロック・エッジで
有効なライト・データを提示するよう指示する、ライト・デー タ要求信号。Avalonモードには存在しません。
表3–8.ローカル・インタフェース信号 (3/3)
信号名 方向 説明
表3–9. DDR & DDR2 SDRAMインタフェース信号 (1/2) 注(1)
信号名 方向 説明
ddr_dq[] 双方向 メモリ・データ・バス。このバスはローカル・リードおよびライ
ト・データ・バス幅の半分です。
ddr_dqs[] 双方向 DDRまたはDDR2 SDRAMにデータを書き込み、リード・デー
タをアルテラ・デバイスにキャプチャする、メモリ・データ・ス トローブ信号。
clk_to_sdram 出力 メモリ・デバイス用クロック。
clk_to_sdram_n 出力 メモリ・デバイス用の反転クロック。
ddr_a[] 出力 メモリ・アドレス・バス。
ddr_ba[] 出力 メモリ・バンク・アドレス・バス。
ddr_cas_n 出力 メモリ・カラム・アドレス・ストローブ信号。
ddr_cke[] 出力 メモリ・クロック・イネーブル信号。
ddr_cs_n[] 出力 メモリ・チップ・セレクト信号。
ddr_dm[] 出力 書き込み時に個々のバイトをマスクする、メモリ・データ・マス
ク信号。
パラメータ
パラメータは、IP Toolbenchでのみ設定できます(2–18ページの「DDR& DDR2 SDRAMコントローラの実習」を参照)。表3–10に、グローバ ル・パラメータを示します。
ddr_odt 出力 メモリのオン・ダイ・ターミネーション・コントロール信号
(DDR2 SDRAMのみ)。
ddr_ras_n 出力 メモリ・ロウ・アドレス・ストローブ信号。
ddr_we_n 出力 メモリ・ライト・イネーブル信号。
表3–9の注:
(1) 信号名のddr_プリフィックスは、IP Toolbenchで変更できます。
表3–9. DDR & DDR2 SDRAMインタフェース信号 (2/2) 注(1)
信号名 方向 説明
表3–10.グローバル・パラメータ
パラメータ 値 単位 説明
Presets パーツ番
号または カスタム
– 特定のメモリ・デバイス、モジュールのパーツ番号、またはア ルテラ開発ボードの名前。Custom以外のエントリを選択する と、ウィザードのパラメータの多くが指定されたパーツに対す る適切な値に設定されます。これらのパラメータを指定された デバイスがサポートしていない値に変更すると、プリセットは 自動的にカスタムに変更されます。\constraintsディレクトリ
内のmemory_types.datファイルを編集すると、このリストに
ユーザのデバイスまたはボードを追加できます。
Clock speed > 75 (1) MHz メモリ・コントローラで使用するクロック周波数。コントロー ラはダブル・データ・レートを使用するため、データ・レート はクロック周波数の2倍です。
表3–10の注:
(1) FPGAと選択するメモリ・デバイスによって異なります。