Cyclone V デバイスのメモリ・ブロック

2. Cyclone V デバイスのメモリ・
ブロック
June 2012
CV-52002-2.0
CV-52002-2.0
この章では、Cyclone® V デバイスのエンベデッド・メモリ・ブロックを説明します。
Cyclone V デバイスのメモリ・ブロックでは、様々なサイズのエンベデッド SRAM が
提供され、ユーザーのデザイン要件に適合します。
この章は、以下のセクションで構成されています。
■
2–1 ページの「メモリ・タイプ」
■
2–2 ページの「メモリの機能」
■
2–3 ページの「メモリ・モード」
■
2–4 ページの「ポート幅混合のコンフィギュレーション」
■
2–5 ページの「クロック・モード」
■
2–7 ページの「パリティ・ビット」
■
2–7 ページの「バイト・イネーブル」
■
2–9 ページの「デザインの検討事項」
メモリ・タイプ
Cyclone V デバイスには、2 つのタイプのメモリ・ブロックが含まれています。
■
M10K ブロック — 大容量のメモリ・コンフィギュレーションによるデザイン作成
で使用できる専用メモリ・リソースの 10 Kb ブロック。
■
メモリ・ロジック・アレイ・ブロック(MLAB)— 兼用ロジック・アレイ・ブ
ロック(LAB)から構成されている 640 ビットの拡張メモリ・ブロック。MLAB
は、デジタル信号処理(DSP)アプリケーション、広く深度の浅い FIFO バッ
ファ、およびフィルタのディレイ・ラインのためのシフト・レジスタの実装用に
最適化されています。各 MLAB は、MLAB 毎に 1 個の 32 x 20 シンプル・デュア
ル・ポート SRAM ブロックがあり、10 個の 32 x 2 ブロックとして構成できる最大
10 個のアダプティブ・ロジック・モジュール(ALM)から構成されています。
f 各 Cyclone V デバイスに使用可能なエンベデッド・メモリの容量について詳しくは、
Cyclone V Device Overview を参照してください。
© 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos
are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its
semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and
services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service
described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
ISO
9001:2008
Registered
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Feedback Subscribe
2‒2
第 2 章 : Cyclone V デバイスのメモリ・ブロック
メモリの機能
メモリの機能
表 2–1 に、メモリ・ブロックによってサポートされている機能を示します。
表 2‒1. Cyclone V デバイスのメモリ機能(その1)
M10K
MLAB
315 MHz
450 MHz
10,240
640
256 x 32、256 x 40、
512 x 16、512 x 20、
1K x 8、1K x 10、
2K x 4、2K x 5、
4K x 2、および 8K x 1
32 x 16、32 x 18、および 32 x 20
パリティ・ビット
使用可
使用可
バイト・イネーブル
使用可
使用可
パック・モード
使用可
—
アドレス・クロック・イ
ネーブル
使用可
使用可
機能
最大動作周波数
トータル RAM ビット数
(パリティ・ビットを含む)
コンフィギュレーション
(深さ × 幅)
メモリ・モード
■
シングル・ポート・メモリ
■
シングル・ポート・メモリ
■
シンプル・デュアル・ポート・メモリ
■
■
トゥルー・デュアル・ポート・メモリ
シンプル・デュアル・ポート・メ
モリ
■
エンベデッド・シフト・レジスタ
■
エンベデッド・シフト・レジスタ
■
ROM
■
ROM
■
FIFO バッファ
■
FIFO バッファ
シンプル・デュアル・ポー
トのデータ幅混合
使用可
—
トゥルー・デュアル・ポー
トのデータ幅混合
使用可
—
FIFO バッファのデータ幅混
合
使用可
—
メモリ初期化ファイル
(.mif)
使用可
使用可
混合クロック・モード
使用可
パワーアップ・ステート
ラッチされた出力ポート — クリア
されます。
■
ラッチされていない出力ポート —
リード・メモリ内容です。
出力ポートはクリアされます。
非同期クリア
出力レジスタ
立ち上がりクロック・エッジ
ライト / リード動作のトリガ
同一ポートに対する ReadDuring-Write
使用可
■
出力ポートは「new data」または「don’t
care」に設定します。
(「don’t care」モードは、シングル・ポー
ト RAM モードのみに適用されます。)
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
出力ポートは「don’t care」に設定し
ます。
2012 年 6 月
Altera Corporation
第 2 章 : Cyclone V デバイスのメモリ・ブロック
メモリ・モード
2‒3
表 2‒1. Cyclone V デバイスのメモリ機能(その2)
機能
M10K
MLAB
混合ポートに対する ReadDuring-Write
出力ポートは「old data」または「don’t
care」に設定します。
出力ポートは「old data」、「new
data」
、「don’t care」
、または
「constrained don’t care」に設定しま
す。
Quartus® II ソフトウェアを使用したソフト IP サポート。
ECC サポート
完全同期メモリ
非同期メモリ
使用可
使用可
—
フロースルー・リード・メモリ動作
のみに使用可能。
メモリ・モード
表 2–2 に、Cyclone V メモリ・ブロックでサポートされるメモリ・モードを示します。
c
メモリ内容の破壊を回避するために、リード動作またはライト動作をしているとき
にメモリ・ブロック入力レジスタでセットアップ時間またはホールド時間に違反し
てはいけません。シングル・ポート RAM、シンプル・デュアル・ポート RAM、トゥ
ルー・デュアル・ポート RAM または ROM モードでメモリ・ブロックを使用する場
合、これを適用することができます。
表 2‒2. メモリ・ブロックでサポートされるメモリ・モード
メモリ・モード
仕様および追加情報
一度に 1 つのリード動作またはライト動作を実行できます。
ライト動作中の RAM 出力ポートの動作を制御するためにリード・イネーブル・ポート
を使用します。
シングル・ポート
RAM
■
最後のアクティブ・リード・イネーブル時に取得した値を保持するには — リード・
イネーブル・ポートを作成し、リード・イネーブル・ポートをデアサートした状態
でライト動作を実行します。
■
同じアドレス位置で read-during-write が発生したときに、書き込まれた新規のデータ、
そのアドレスでの古いデータ、または「don't care」の値を表示するには — リード・
イネーブル信号を作成しない、またはライト動作中にリード・イネーブルを有効に
します。
シンプル・デュア
ル・ポート RAM
ポート A にライト動作、ポート B にリード動作を実行するというように、1 つのリード
動作および 1 つのライト動作を異なる位置に同時に実行できます。
トゥルー・デュア
ル・ポート RAM
2 つのリード動作、2 つのライト動作、または 1 つのリードおよび 1 つのライトを 2 つ
の異なるクロック周波数で実行するというように、2 つのポート動作の任意の組み合わ
せを実行できます。このモードは、M10K ブロックのみに使用可能です。
ロジック・セルおよび配線リソースを節約するために、メモリ・ブロックをシフト・
レジスタ・ブロックとして使用できます。
シフト・レジスタ
これは、有限インパルス応答(FIR)フィルタ、擬似ランダム数発生器、マルチチャネ
ル・フィルタリング、自己相関関数および相互相関関数など、ローカル・データ・ス
トレージが必要な DSP アプリケーションで便利です。従来、ローカル・データ・スト
レージは、大きなシフト・レジスタのために多数のロジック・セルを消費してしまう
標準的なフリップ・フロップで実装されていました。
2012 年 6 月 Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2‒4
第 2 章 : Cyclone V デバイスのメモリ・ブロック
ポート幅混合のコンフィギュレーション
表 2‒2. メモリ・ブロックでサポートされるメモリ・モード
メモリ・モード
仕様および追加情報
メモリ・ブロックを ROM として使用できます。
■
.mif または .hex を使用してメモリ・ブロックの ROM 内容を初期化します。
■
ROM のアドレス・ラインは、M10K ブロックにはラッチされますが MLAB にはラッチさ
れない可能性があります。
■
出力ポートはラッチされることもラッチされないこともあります。
■
出力レジスタは、非同期クリアされる可能性があります。
■
ROM リード動作は、シングル・ポート RAM コンフィギュレーションでのリード動作
と同じです。
ROM
メモリ・ブロックを FIFO バッファとして使用できます。
FIFO
SCFIFO および DCFIFO メガファンクションを使用して、シングル・クロックおよびデュ
アル・クロックの非同期 FIFO バッファをデザイン内に実装します。
多数の小規模な浅い FIFO バッファを持っているデザインでは、MLAB は FIFO モードに
とって理想的です。しかし、MLAB は混合幅の FIFO モードをサポートしません。
f 各メモリ・モードについて詳しくは、Internal Memory (RAM and ROM) User Guide を参照
してください。
f シフト・レジスタ・モードの実装について詳しくは、RAM-Based Shift Register
(ALTSHIFT_TAPS) Megafunction User Guide を参照してください。
f FIFO バッファの実装について詳しくは、SCFIFO and DCFIFO Megafunctions User Guide を
参照してください。
ポート幅混合のコンフィギュレーション
ポート幅混合のコンフィギュレーションは、シンプル・デュアル・ポート RAM およ
びトゥルー・デュアル・ポート RAM のメモリ・モードでサポートされます。
f デュアル・ポートのデータ幅混合のサポートについて詳しくは、Internal Memory (RAM
and ROM) User Guide を参照してください。
M10K ブロックのデータ幅混合のコンフィギュレーション
表 2–3 に、シンプル・デュアル・ポート RAM モードでの M10K ブロックのデータ幅
混合のコンフィギュレーションを示します。
表 2‒3. M10K ブロックのデータ幅混合のコンフィギュレーション(シンプル・デュア
ル・ポート RAM モード)
(その1)
ライト・ポート
8K x 1
4K x 2
2K x 4
2K x 5
1K x 8
1K x 10
512 x 16
512 x 20
256 x 32
256 x 40
リード・
ポート
8K x 1
使用可
使用可
使用可
—
使用可
—
使用可
—
使用可
—
4K x 2
使用可
使用可
使用可
—
使用可
—
使用可
—
使用可
—
2K x 4
使用可
使用可
使用可
—
使用可
—
使用可
—
使用可
—
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 2 章 : Cyclone V デバイスのメモリ・ブロック
クロック・モード
2‒5
表 2‒3. M10K ブロックのデータ幅混合のコンフィギュレーション(シンプル・デュア
ル・ポート RAM モード)
(その2)
ライト・ポート
8K x 1
4K x 2
2K x 4
2K x 5
1K x 8
1K x 10
512 x 16
512 x 20
256 x 32
256 x 40
リード・
ポート
2K x 5
—
—
—
使用可
—
使用可
—
使用可
—
使用可
1K x 8
使用可
使用可
使用可
—
使用可
—
使用可
—
使用可
—
1K x 10
—
—
—
使用可
—
使用可
—
使用可
—
使用可
512 x 16
使用可
使用可
使用可
—
使用可
—
使用可
—
使用可
—
512 x 20
—
—
—
使用可
—
使用可
—
使用可
—
使用可
256 x 32
使用可
使用可
使用可
—
使用可
—
使用可
—
使用可
—
256 x 40
—
—
—
使用可
—
使用可
—
使用可
—
使用可
表 2–4 に、トゥルー・デュアル・ポート・モードでの M10K ブロックのデータ幅混
合のコンフィギュレーションを示します。
表 2‒4. M10K ブロックのデータ幅混合のコンフィギュレーション(トゥルー・デュア
ル・ポート・モード)
ポート B
8K x 1
4K x 2
2K x 4
2K x 5
1K x 8
1K x 10
512 x 16
512 x 20
データ A
8K x 1
使用可
使用可
使用可
—
使用可
—
使用可
—
4K x 2
使用可
使用可
使用可
—
使用可
—
使用可
—
使用可
—
使用可
—
—
使用可
—
使用可
使用可
—
2K x 4
使用可
使用可
使用可
—
2K x 5
—
—
—
使用可
使用可
—
1K x 8
使用可
使用可
使用可
—
1K x 10
—
—
—
使用可
—
使用可
—
使用可
512 x 16
使用可
使用可
使用可
—
使用可
—
使用可
—
512 x 20
—
—
—
使用可
—
使用可
—
使用可
MLAB のデータ幅混合のコンフィギュレーション
MLAB は、データ幅混合動作のネイティブ・サポートは行っていません。しかし、パ
ラメータ・エディタでメモリ・ブロック・タイプ用の AUTO を選択すると、Quartus II
ソフトウェアは、複数の MLAB を使用してデータ幅混合メモリを MLAB に実装するこ
とができます。
クロック・モード
このセクションでは、Cyclone V メモリ・ブロック用のクロック・モードを説明しま
す。
2012 年 6 月 Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2‒6
第 2 章 : Cyclone V デバイスのメモリ・ブロック
クロック・モード
c
メモリ内容の破壊を避けるために、リード動作またはライト動作をしているときに
メモリ・ブロック入力レジスタでセットアップ時間またはホールド時間に違反して
はいけません。
各メモリ・モードに対するクロック・モード
表 2–5 に、Cyclone V デバイスでサポートされるメモリ・ブロック・クロック・モー
ド、および各クロック・モードによってサポートされるメモリ・モードを示します。
表 2‒5. 各メモリ・モードに対するメモリ・ブロック・クロック・モード
メモリ・モード
クロック・モード
シングル・クロック・
モード
シンプル・ トゥルー・
シングル・
デュアル・ デュアル・
ポート
ポート
ポート
ROM
FIFO
使用可
使用可
使用可
使用可
使用可
—
使用可
—
—
使用可
入力 / 出力クロック・
モード
使用可
使用可
使用可
使用可
—
独立クロック・モード
—
—
使用可
使用可
—
リード / ライト・ク
ロック・モード
f 各クロック・モードについて詳しくは、Internal Memory (RAM and ROM) User Guide を参
照してください。
非同期クリア
すべてのクロック・モードで、非同期クリアは出力ラッチおよび出力レジスタのみ
に使用可能です。独立クロック・モードでは、両方のポートに適用可能です。
同時リード / ライトでの出力リード・データ
リード / ライト・クロック・モードを使用して同じアドレス位置に同時にリード / ラ
イトを実行する場合、出力リード・データは未知です。出力リード・データが基地
の値として必要な場合、シングル・クロック・モードまたは入力 / 出力クロック・
モードを使用して、MegaWizard Plug-In Manager で適切な read-during-write 動作を選択
します。
独立クロック・モード
独立クロック・イネーブルは、以下のクロック・モードでサポートされています。
■
リード / ライト・クロック・モード — リード・ライト・クロックの両方でサポート
されます。
■
独立クロック・モード — 両方のポートのレジスタでサポートされます。
電力を節約するために、クロック・イネーブルを使用して特定のレジスタのシャッ
ト・ダウンを制御することができます。詳しくは、2–14 ページの「消費電力管理」
を参照してください。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 2 章 : Cyclone V デバイスのメモリ・ブロック
パリティ・ビット
2‒7
パリティ・ビット
表 2–6 に、メモリ・ブロックのパリティ・ビットのサポートを示します。
表 2‒6. メモリ・ブロックのパリティ・ビットのサポート
M10K
■
MLAB
パリティ・ビットは、5、10、20、およ
び 40 の各 4 個のデータ・ビット幅に関
連付けられている第 5 番目のビットで
す(4、9、14、19、24、29、34、およ
び 39 ビット)。
■
非パリティ・データ幅では、パリティ・
ビットはリード動作またはライト動作
中にスキップされます。
■
パリティ・ファンクションは、パリ
ティ・ビット上では実行されません。
■
パリティ・ビットは、各バイトに関連
付けられている第 9 番目のビットです。
■
この第 9 番目のビットは、パリティ・
ビットを格納したり、追加ビットとし
て機能させることができます。
■
パリティ・ファンクションは、パリ
ティ・ビット上では実行されません。
バイト・イネーブル
メモリ・ブロックは、バイト・イネーブル・コントロールをサポートします。
■
バイト・イネーブル・コントロールは、特定のデータのバイトのみ書き込まれる
ように入力データをマスクします。書き込まれないバイトは前回書き込まれた値
のままになります。
■
ライト・イネーブル(wren)信号は、バイト・イネーブル(byteena)信号と共
に RAM ブロック上でのライト動作を制御します。デフォルトの状態では、
byteena 信号は High(イネーブルされている)であり、wren 信号のみが書き込み
を制御します。
■
バイト・イネーブル・レジスタには、clear ポートがありません。
■
パリティ・ビットを使用している場合、バイト・イネーブル・ファンクション
は、M10K 上では 8 つのデータ・ビットおよび 2 つのパリティ・ビットを制御し、
MLAB 上では最も幅広いモードで 10 ビットすべてを制御します。
■
byteena 信号の MSB および LSB は、それぞれデータ・バスの MSB および LSB に対応
しています。
■
バイト・イネーブルはアクティブ High です。
byteena コントロール
表 2–7 に、x20 データ幅での byteena コントロールを示します。
表 2‒7. x20 データ幅での byteena コントロール
byteena[1:0]
書き込まれるデータ・ビット
11(デフォルト)
[19:10]
[9:0]
10
[19:10]
—
01
—
[9:0]
2012 年 6 月 Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2‒8
第 2 章 : Cyclone V デバイスのメモリ・ブロック
バイト・イネーブル
表 2–8 に、x40 データ幅での byteena コントロールを示します。
表 2‒8. x40 データ幅での byteena コントロール
byteena[3:0]
書き込まれるデータ・ビット
1111(デフォルト)
[39:30]
[29:20]
[19:10]
[9:0]
1000
[39:30]
—
—
—
0100
—
[29:20]
—
—
0010
—
—
[19:10]
—
0001
—
—
—
[9:0]
データ・バイト出力
M10K ブロックでは、対応するマスクされたデータ・バイト出力が「don’t care」値と
して表示されます。
MLAB では、バイト・イネーブル・ビットがライト・サイクル中にデアサートされる
場合、対応するデータ・バイト出力は「don’t care」値としてまたは現在のその位置
でのデータのいずれかが表示されます。ユーザーは、Quartus II ソフトウェアを使用
して MLAB のマスクされたバイトの出力値を制御することができます。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 2 章 : Cyclone V デバイスのメモリ・ブロック
デザインの検討事項
2‒9
RAM ブロックの動作
図 2–1 に、wren 信号および byteena 信号がどのように RAM ブロックの動作をコント
ロールするか示します。
図 2‒1. バイト・イネーブル機能の波形 (1)
inclock
wren
address
data
byteena
contents at a0
an
a0
a1
XXXXXXXX
a2
a3
a0
XXXXXXXX
ABCDEF12
XXXX
1000
0100
0010
0001
FFFFFFFF
contents at a1
a4
FFCDFFFF
FFFFFFFF
contents at a3
XXXX
ABFFFFFF
FFFFFFFF
contents at a2
1111
FFFFEFFF
FFFFFFFF
FFFFFF12
FFFFFFFF
contents at a4
ABCDEF12
don’t care: q (asynch)
doutn
ABXXXXXX
XXCDXXXX
XXXXEFXX
XXXXXX12
ABCDEF12
ABFFFFFF
current data: q (asynch)
doutn
ABFFFFFF
FFCDFFFF
FFFFEFFF
FFFFFF12
ABCDEF12
ABFFFFFF
図 2–1 の注:
(1) M10K ブロックでは、
「current data」値はサポートされていないため、マスクされたライト・データ・バイト出力は「don’t care」
値として表示されます。
デザインの検討事項
Cyclone V デバイスのメモリ・ブロックを使用したデザインを成功させるために、メ
モリ・ブロックを使用してデザインしているときに以下のガイドラインを考慮に入
れます。
メモリ・ブロックの選択
Quartus II ソフトウェアは、デザインの速度とサイズの制約に基づいて、ユーザー定
義メモリを自動的にエンベデッド・メモリ・ブロックに分割します。例えば、
Quartus II ソフトウェアは、デザインのパフォーマンスを向上させるために、メモリ
を複数のメモリ・ブロックに分割します。
メモリを特定のブロック・サイズに手動で割り当てるには、MegaWizard™ Plug-In
Manager 内の RAM メガファンクションを使用します。
MLAB は、Quartus II ソフトウェアのエミュレーションを介してシングル・ポート
SRAM を実装することができます。エミュレーションを実行することにより、使用す
る追加ロジック・リソースが少なくて済みます。
2012 年 6 月 Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2‒10
第 2 章 : Cyclone V デバイスのメモリ・ブロック
デザインの検討事項
MLAB は兼用アーキテクチャとなっているため、ブロック内にはデータ入力レジスタ
とデータ出力レジスタしかありません。MLAB は、ALM からリード・アドレス・レジ
スタを得ます。しかし、ライト・アドレスおよびリード・データ・レジスタは MLAB
の内部にあります。
競合の解決
トゥルー・デュアル・ポート RAM モードでは、同じメモリ位置に対して 2 つのライ
ト動作を実行できます。しかし、メモリ・ブロックには競合解決回路は内蔵されて
いません。未知のデータがアドレスに書き込まれることを回避するには、メモリ・
ブロックの外部に競合解決ロジックを実装します。
Read-During-Write 動作
デザインの要件にあわせてメモリ・ブロックの read-during-write 動作をカスタマイズ
します。
図 2–2 に、使用可能な read-during-write 動作の 2 つのタイプの違いを示します(同一
ポートおよび混合ポート)。
図 2‒2. Cyclone V デバイスの Read-During-Write のデータ・フロー
FPGA Device
Port A
data in
Port B
data in
Mixed-port
data flow
Same-port
data flow
Port A
data out
Port B
data out
同一ポートに対する Read-During-Write モード
同一ポートに対する read-during-write モードは、シングル・ポート RAM またはトゥ
ルー・デュアル・ポート RAM の同一ポートに適用されます。
表 2–9 に、同一ポートに対する read-during-write モードで M10K または MLAB を選択
する場合に使用可能な出力モードを示します。
表 2‒9. 同一ポートに対する Read-During-Write モードでの M10K または MLAB の出力
モード
出力モード メモリ・タイプ
「new data」
(フロース
ルー)
M10K
「don’t care」 M10K、MLAB
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
説明
新しいデータは、新しいデータが書き込まれる同一ク
ロック・サイクルの立ち上がりエッジ上で使用可能です。
RAM は、read-during-write 動作では「don’t care」値を出力
します。
2012 年 6 月
Altera Corporation
第 2 章 : Cyclone V デバイスのメモリ・ブロック
デザインの検討事項
2‒11
図 2–3 に、「new data」モードでの同一ポートに対する read-during-write 動作のサンプ
ル機能波形を示します。
図 2‒3. 同一ポートに対する Read-During-Write:New Data モード
clk_a
address
0A
0B
rden
wren
byteena
data_a
11
B456
A123
q_a (asynch)
A123
DDDD
C789
B456
C789
EEEE
DDDD
FFFF
EEEE
FFFF
混合ポートに対する Read-During-Write モード
混合ポートに対する Read-During-Write モードは、同一メモリ・アドレス上で同一の
クロックを使用して 2 つのポートがリード動作およびライト動作を実行するシンプ
ルおよびトゥルー・デュアル RAM モードに適用します(1 つのポートはアドレスか
ら読み出して、他方のポートはそれに書き込みます)。
表 2–10 に、混合ポートに対する read-during-write モードで使用可能な出力モードを
示します。
表 2‒10. 混合ポートに対する Read-During-Write モードでの RAM の出力モード
出力モード
「new data」
メモリ・
タイプ
MLAB
説明
異なるポートに対する read-during-write 動作によって、
ラッチされた MLAB 出力が次の立ち上げエッジでの「new
data」を MLAB メモリへのデータ書き込み後に反映します。
このモードは、出力がラッチされている場合のみに使用可
能です。
「old data」
M10K、
MLAB
異なるポートに対する read-during-write 動作によって、特
定のアドレスで RAM 出力が「old data」値を反映します。
MLAB では、このモードは出力がラッチされているときの
み使用可能です。
RAM は、「don’t care」または「unknown」値を出力します。
「don’t care」
M10K、
MLAB
MLAB では、Quartus II ソフトウェアはライト動作とリード
動作の間のタイミングを解析しません。MLAB 出力でのメ
タステーブル問題を回避するには、同一アドレスへのライ
トおよびリードを同時に行ってはいけません。
M10K メモリでは、Quartus II ソフトウェアはライト動作と
リード動作の間のタイミングを解析します。
「constrained
don’t care」
2012 年 6 月 Altera Corporation
MLAB
RAM は「don’t care」または「unknown」値を出力します。
Quartus II ソフトウェアは、MLAB でのライト動作とリード
動作の間のタイミングを解析します。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2‒12
第 2 章 : Cyclone V デバイスのメモリ・ブロック
デザインの検討事項
図 2–4 に、「new data」モードでの混合ポートに対する read-during-write 動作のサンプ
ル機能波形を示します。
図 2‒4. 混合ポートに対する Read-During-Write:New Data モード
clk_a&b
wren_a
A0
address_a
data_a
AAAA
A1
BBBB
CCCC
DDDD
EEEE
FFFF
11
byteena_a
rden_b
address_b
q_b (registered)
A0
XXXX
A1
AAAA
BBBB
CCCC
DDDD
EEEE
FFFF
図 2–5 に、「old data」モードでの混合ポートに対する read-during-write 動作のサンプ
ル機能波形を示します。
図 2‒5. 混合ポートに対する Read-During-Write:Old Data モード
clk_a&b
wren_a
A0
address_a
data_a
AAAA
A1
BBBB
CCCC
byteena_a
DDDD
FFFF
EEEE
11
rden_b
address_b
q_b (asynch)
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
A0
A0 (old data)
A1
AAAA
BBBB
A1 (old data)
DDDD
2012 年 6 月
EEEE
Altera Corporation
第 2 章 : Cyclone V デバイスのメモリ・ブロック
デザインの検討事項
2‒13
図 2–6 に、「don’t care」「constrained don’t care」モードでの混合ポートに対する readduring-write 動作のサンプル機能波形を示します。
図 2‒6. 混合ポートに対する Read-During-Write:Don t Care または Constrained Don t
Care モード
clk_a&b
wren_a
address_a
data_a
byteena_a
A1
A0
AAAA
BBBB
CCCC
11
01
10
DDDD
EEEE
FFFF
11
rden_b
address_b
A1
A0
q_b (asynch)
XXXX (unknown data)
デュアル・ポート RAM モードでは、入力レジスタが同じクロックであれば混合ポー
トに対する read-during-write 動作はサポートされます。動作中の出力値は「unknown」
です。
f read-during-write 動作を制御する RAM メガファンクションについて詳しくは、Internal
Memory (RAM and ROM) User Guide を参照してください。
パワーアップ・ステートおよびメモリ初期化
表 2–11 に示すように最初のパワーアップ値を評価するロジックをデザインしている
場合、異なるタイプのメモリ・ブロックのパワーアップ・ステートを考慮します。
表 2‒11. M10K ブロックおよび MLAB ブロックの最初のパワーアップ値
メモリ・タイプ
M10K
MLAB
出力レジスタ
パワーアップ値
使用
ゼロ(クリア)
バイパス
ゼロ(クリア)
使用
ゼロ(クリア)
バイパス
リード・メモリの内容
デフォルトの状態では、.mif を指定していない限り Quartus II ソフトウェアは
Cyclone V デバイスで RAM セルをゼロに初期化します。
すべてのメモリ・ブロックは、.mif による初期化をサポートしています。Quartus II
ソフトウェアで .mif ファイルを作成し、デザインでメモリをインスタンス化すると
きに RAM メガファンクションでそれらのファイルの使用を指定することができま
す。メモリが事前に初期化されている場合でも(例えば .mif を使用して)、出力をク
リアした状態でパワーアップします。
2012 年 6 月 Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2‒14
第 2 章 : Cyclone V デバイスのメモリ・ブロック
改訂履歴
f .mif ファイルについて詳しくは、Internal Memory (RAM and ROM) User Guide および
Quartus II Handbook を参照してください。
消費電力管理
各メモリ・ブロックのクロックを制御することによって、デザイン内の AC の消費電
力を低減させます。
■
リード・イネーブル信号を使用して、必要な場合にのみリード動作が実行される
ようにします。デザインで read-during-write 動作が不要な場合、ライト動作中ま
たはメモリ動作が起きない間にリード・イネーブル信号をデアサートすることで
消費電力を低減させることができます。
■
Quartus II ソフトウェアを使用して、任意の未使用メモリ・ブロックを低消費電力
モードに自動的に切り替えてスタティック消費電力を低減させます。
改訂履歴
表 2–12 に、本資料の改訂履歴を示します。
表 2‒12. 改訂履歴
日付
バージョン
変更内容
■
章の再構成。
■ 「メモリ・モード」
、
「クロック・モード」
、および「デザインの検討事項」の
セクションを更新。
2012 年 6 月
2.0
■
表 2–1 の更新。
■ 「パリティ・ビット」および「バイト・イネーブル」のセクションの追加。
■
2011 年 10 月
1.0
メモリ容量に関する情報を Cyclone V Device Overview に移動。
初版。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation