AR# 43360

MIG Spartan-6 MCB ユーザー インターフェイス - アドレス指定

説明


この MIG デザイン アシスタントでは、ユーザー インターフェイスでのアドレス指定に関する情報を提供します。

メモ : このアンサーはザイリンクス MIG ソリューション センター (ザイリンクス アンサー 34243) の一部です。ザイリンクス MIG ソリューション センターは、MIG に関する質問を解決するのに役立つ情報を掲載しています。MIG を含むデザインを新しく作成する場合、または問題をトラブルシュートする場合は、このザイリンクス MIG ソリューション センターから情報を入手してください。

ソリューション


ユーザー インターフェイスから見ると、MCB では物理 DRAM への単純で順次のバイト アドレス指定が使用されます。この方法では、DRAM で固定セグメントが保存されるということは考慮する必要はなく、単純な SRAM のようなアドレス インターフェイスが可能になります。MCB により、ユーザー インターフェイス バイト アドレスが、特定のメモリ デバイス コンフィギュレーションで必要な行、バンク、および列アドレス信号に自動的に変換されます。

バイト アドレス アライメントのアドレス要件

ユーザー インターフェイスに示すバイト アドレスは、ポート幅に揃えられている必要があります。ポート幅のバイト数によっては、下位アドレス ビットのいくつかを 0 に設定し、連続するアドレスがデータ ワードの境界に揃うようにします。詳細は、次の表を参照してください。



ユーザー インターフェイスへの書き込みデータ マスク入力 (pX_wr_mask) を、開始アドレス バイト位置をオフセットするのに使用できます。 詳細は、(ザイリンクス アンサー 43358) を参照してください。

バイト アドレスからメモリ アドレスへの変換

ユーザー インターフェイスのバイト アドレスがどのように行、バンク、列アドレス ビットにマップされるかは、メモリ規格、バス幅、集積度によって異なります。MIG ツールでのメモリ デバイスの選択により MCB に必要なパラメーターが渡され、適切なアドレス ビット割り当てが作成されます。

MCB では、ユーザー インターフェイス バイトからメモリ インターフェイス物理アドレスへのマップに ROW_BANK_COLUMN と BANK_ROW_COLUMN の 2 つの方法がサポートされます。

アドレス マップの詳細は、『Spartan-6 FPGA メモリ コントローラー ユーザー ガイド』(UG388) (http://japan.xilinx.com/support/documentation/spartan-6_user_guides.htm) の「MCB Operation」 (MCB の動作) → 「Byte Address to Memory Address Conversion」 (バイト アドレスからメモリ アドレスへの変換) を参照してください。

DDR2/DDR3 バーストのラップ

DDR2 メモリでは 4n プリフェッチ内部バスがインプリメントされ、外部バスの 4 倍の幅のバスで SDRAM の内部アレイにアクセスできます。たとえば、16 ビット幅の DDR2 メモリでは、64 ビット幅の内部バスを使用してコア アレイにアクセスします。プリフェッチ アーキテクチャでは、この 64 ビット フェッチを取り込み、4 つの 16 ビット プリフェッチ バッファーに読み込みます。DDR2 バースト サイクル中、これらの 4 つのレジスタが列アドレスにより選択されます。

DDR3 メモリでは 8n プリフェッチ内部バスがインプリメントされ、外部バスの 8 倍の幅のバスで SDRAM の内部アレイにアクセスできます。たとえば、16 ビット幅の DDR2 メモリでは、128 ビット幅の内部バスを使用してコア アレイにアクセスします。プリフェッチ アーキテクチャでは、この 128 ビット フェッチを取り込み、8 つの 16 ビット プリフェッチ バッファーに読み込みます。DDR3 バースト サイクル中、これらの 8 つのレジスタが列アドレスにより選択されます。

MCB は、読み出しおよび書き込みを常にメモリのバースト境界から開始します。そのため、BL=8 の書き込みバーストは常に列アドレス 0 から開始し、7 まで順にカウントされます。BL= 4 の場合、開始列アドレスは 0 (A3 = 0) または 4 (A3 = 1) になります。バースト アドレス指定の詳細は、該当する JEDEC 仕様を参照してください。ユーザー インターフェイスによりメモリのバースト境界以外のバースト アドレスが指定された場合、MCB によりデータが適切にマスクされます。

例 :

32 ビット ユーザー インターフェイス

x16-DDR3 SDRAM(BL8 のみをサポートする DDR3MCB の場合)

32 ビット ユーザー インターフェイスの pX_cmd_addr[1:0] は 2'b00 である必要があります。ユーザー インターフェイスではバイト アドレス指定が使用されるので、ユーザー インターフェイス上の 2 つのアドレスが 1 つの x16 DDR3 列アドレス空間に対応します。

pX_cmd_addr[2:0] = 3'b100

pX_cmd_bl[5:0] = 5'b0_0000 (1 つの 32 ビット バースト)

pX_cmd_instr[2:0] = 3'b000

これは、x16 DDR3 メモリでの次の書き込みに変換されます。

アドレスデータ

000
マスク後

001
マスク後

010
下位 16 ビットのデータ

011
上位 16 ビットのデータ

100
マスク後

101
マスク後

110
マスク後

111
マスク後

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
43323 MIG Spartan-6 MCB - ユーザー インターフェイスの駆動 N/A N/A

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
44094 MIG 、Spartan-6 FPGA DDR2/DDR3 - ユーザー インターフェイス (UI) の駆動方法 N/A N/A
43595 MIG Spartan-6 FPGA DDR2/DDR3 - CORE Generator の使用 N/A N/A
43323 MIG Spartan-6 MCB - ユーザー インターフェイスの駆動 N/A N/A
AR# 43360
日付 12/15/2012
ステータス アクティブ
種類 一般
デバイス
IP