14
CV-52002-2.0 © 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. Cyclone V デバイス・ハンドブック Volume 1:デバイスのインタフェースおよび統合 2012 年 6 月 Feedback Subscribe ISO 9001:2008 Registered 2. Cyclone V デバイスのメモリ・ ブロック 祭昨ノ埼朔腰Cyclone ® V 視飼使旨昨嗣執持視紫詩質磁示式質字竺紫屍燦シ軛裁擦際甑 Cyclone V 視飼使旨昨磁示式質字竺紫屍埼朔腰┦骨作支使枝昨嗣執持視紫詩 SRAM 蛬盗細参腰蒔実孜実昨視孜使執ギ鍔削鎮淋裁擦際甑 祭昨ノ朔腰通託昨止屍斯辞執埼├耨細参崎哉擦際甑 2–1 時実施昨坤磁示式質祉使寺墾 2–2 時実施昨坤磁示式昨㎏1墾 2–3 時実施昨坤磁示式質示実詩墾 2–4 時実施昨坤治実詞濮㊬淋昨思執児伺子自鴫実斯辞執墾 2–5 時実施昨坤屍竺紫屍質示実詩墾 2–7 時実施昨坤歯式至伺質似紫詞墾 2–7 時実施昨坤飼使詞質使資実字識墾 2–9 時実施昨坤視孜使執昨鶺ヹ宙奡墾 メモリ・タイプ Cyclone V 視飼使旨削朔腰2 肴昨祉使寺昨磁示式質字竺紫屍歳零擦参崎哉擦際甑 M10K 字竺紫屍 彳杞褻昨磁示式質思執児伺子自鴫実斯辞執削皿傘視孜使執転耨 埼砺ぁ埼済傘梵ぁ磁示式質式氏実旨昨 10 Kb 字竺紫屍甑 磁示式質竺施紫屍質仔鴫使質字竺紫屍θMLABχ瀕ぁ竺施紫屍質仔鴫使質字 竺紫屍θLABχ栽晒├耨細参崎哉傘 640 似紫詞昨荐甍磁示式質字竺紫屍甑MLAB 朔腰視施祉識徳陵幣XθDSPχ仔寺式師実斯辞執腰熏采㊪燵昨☎哉 FIFO 飼紫 児仕腰採皿索児伺識祉昨視伺鴫使質鹿使執昨冴薩昨斯児詞質鴫施旨祉昨曚〉ぁ削 鏘鎮尤細参崎哉擦際甑林 MLAB 朔腰MLAB 搆削 1 曇昨 32 x 20 斯執寺識質視自仔 識質治実詞 SRAM 字竺紫屍歳再三腰10 曇昨 32 x 2 字竺紫屍碕裁崎├耨埼済傘鏘彳 10 曇昨仔私寺至伺字質竺施紫屍質示施自実識θALMχ栽晒├耨細参崎哉擦際甑 f Cyclone V 視飼使旨削砺ぁ療1作嗣執持視紫詩質磁示式昨杞褻削肴哉崎ゆ裁采朔腰 Cy cl one V De vi c e Ov ervi ew 燦理軏裁崎采坂細哉甑 June 2012 CV-52002-2.0

2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

CV-52002-2.0

© 2012 Altera Corporation. All rights reserved. ALTERA, ARRIare trademarks of Altera Corporation and registered in the U.Strademarks or service marks are the property of their respectivsemiconductor products to current specifications in accordanceservices at any time without notice. Altera assumes no responsdescribed herein except as expressly agreed to in writing by Alon any published information and before placing orders for pr

Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統2012 年 6月

June 2012CV-52002-2.0

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

この章では、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 を参照してください。

A, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos . Patent and Trademark Office and in other countries. All other words and logos identified as e holders as described at www.altera.com/common/legal.html. Altera warrants performance of its with Altera's standard warranty, but reserves the right to make changes to any products and ibility or liability arising out of the application or use of any information, product, or service tera. Altera customers are advised to obtain the latest version of device specifications before relying oducts or services.

Feedback Subscribe

ISO 9001:2008 Registered

Page 2: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

2‒2 第 2章 : Cyclone V デバイスのメモリ・ブロックメモリの機能

メモリの機能表 2–1 に、メモリ・ブロックによってサポートされている機能を示します。

表2‒1. Cyclone V デバイスのメモリ機能(その1)

機能 M10K MLAB

大動作周波数 315 MHz 450 MHz

トータル RAM ビット数(パリティ・ビットを含む)

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

パリティ・ビット 使用可 使用可

バイト・イネーブル 使用可 使用可

パック・モード 使用可 —

アドレス・クロック・イネーブル

使用可 使用可

メモリ・モード

■ シングル・ポート・メモリ

■ シンプル・デュアル・ポート・メモリ

■ トゥルー・デュアル・ポート・メモリ

■ エンベデッド・シフト・レジスタ

■ ROM

■ FIFO バッファ

■ シングル・ポート・メモリ

■ シンプル・デュアル・ポート・メモリ

■ エンベデッド・シフト・レジスタ

■ ROM

■ FIFO バッファ

シンプル・デュアル・ポートのデータ幅混合

使用可 —

トゥルー・デュアル・ポートのデータ幅混合

使用可 —

FIFO バッファのデータ幅混合

使用可 —

メモリ初期化ファイル(.mif) 使用可 使用可

混合クロック・モード 使用可 使用可

パワーアップ・ステート 出力ポートはクリアされます。

■ ラッチされた出力ポート—クリアされます。

■ ラッチされていない出力ポート —リード・メモリ内容です。

非同期クリア 出力レジスタ

ライト / リード動作のトリガ 立ち上がりクロック・エッジ

同一ポートに対する Read-During-Write

出力ポートは「new data」または「don’t care」に設定します。

(「don’t care」モードは、シングル・ポート RAM モードのみに適用されます。)

出力ポートは「don’t care」に設定します。

Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合

Page 3: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

第 2 章 : Cyclone V デバイスのメモリ・ブロック 2‒3メモリ・モード

メモリ・モード表 2–2 に、Cyclone V メモリ・ブロックでサポートされるメモリ・モードを示します。

c メモリ内容の破壊を回避するために、リード動作またはライト動作をしているとき

にメモリ・ブロック入力レジスタでセットアップ時間またはホールド時間に違反し

てはいけません。シングル・ポート RAM、シンプル・デュアル・ポート RAM、トゥ

ルー・デュアル・ポート RAM または ROM モードでメモリ・ブロックを使用する場

合、これを適用することができます。

混合ポートに対する Read-During-Write

出力ポートは「old data」または「don’t care」に設定します。

出力ポートは「old data」、「new data」、「don’t care」、または

「constrained don’t care」に設定します。

ECC サポート Quartus® II ソフトウェアを使用したソフト IP サポート。

完全同期メモリ 使用可 使用可

非同期メモリ — フロースルー・リード・メモリ動作のみに使用可能。

表2‒1. Cyclone V デバイスのメモリ機能(その2)

機能 M10K MLAB

表2‒2. メモリ・ブロックでサポートされるメモリ・モード

メモリ・モード 仕様および追加情報

シングル・ポートRAM

一度に 1 つのリード動作またはライト動作を実行できます。

ライト動作中の 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:デバイスのインタフェースおよび統合

Page 4: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

2‒4 第 2章 : Cyclone V デバイスのメモリ・ブロックポート幅混合のコンフィギュレーション

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 ブロックのデータ幅

混合のコンフィギュレーションを示します。

ROM

メモリ・ブロックを ROM として使用できます。

■ .mif または .hex を使用してメモリ・ブロックの ROM 内容を初期化します。

■ ROM のアドレス・ラインは、M10K ブロックにはラッチされますが MLAB にはラッチされない可能性があります。

■ 出力ポートはラッチされることもラッチされないこともあります。

■ 出力レジスタは、非同期クリアされる可能性があります。

■ ROM リード動作は、シングル・ポート RAM コンフィギュレーションでのリード動作と同じです。

FIFO

メモリ・ブロックを FIFO バッファとして使用できます。

SCFIFO および DCFIFO メガファンクションを使用して、シングル・クロックおよびデュアル・クロックの非同期 FIFO バッファをデザイン内に実装します。

多数の小規模な浅い FIFO バッファを持っているデザインでは、MLAB は FIFO モードにとって理想的です。しかし、MLAB は混合幅の FIFO モードをサポートしません。

表2‒2. メモリ・ブロックでサポートされるメモリ・モード

メモリ・モード 仕様および追加情報

表2‒3. M10K ブロックのデータ幅混合のコンフィギュレーション(シンプル・デュアル・ポート RAM モード)(その1)

リード・ポート

ライト・ポート

8Kx

1

4Kx

2

2Kx

4

2Kx

5

1Kx

8

1Kx

10

512

x16

512

x20

256

x32

256

x40

8K x 1 使用可 使用可 使用可 — 使用可 — 使用可 — 使用可 —

4K x 2 使用可 使用可 使用可 — 使用可 — 使用可 — 使用可 —

2K x 4 使用可 使用可 使用可 — 使用可 — 使用可 — 使用可 —

Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合

Page 5: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

第 2 章 : Cyclone V デバイスのメモリ・ブロック 2‒5クロック・モード

表 2–4 に、トゥルー・デュアル・ポート・モードでの M10K ブロックのデータ幅混

合のコンフィギュレーションを示します。

MLAB のデータ幅混合のコンフィギュレーションMLAB は、データ幅混合動作のネイティブ・サポートは行っていません。しかし、パ

ラメータ・エディタでメモリ・ブロック・タイプ用の AUTO を選択すると、Quartus IIソフトウェアは、複数の MLAB を使用してデータ幅混合メモリを MLAB に実装するこ

とができます。

クロック・モードこのセクションでは、Cyclone V メモリ・ブロック用のクロック・モードを説明しま

す。

2K x 5 — — — 使用可 — 使用可 — 使用可 — 使用可

1K x 8 使用可 使用可 使用可 — 使用可 — 使用可 — 使用可 —

1K x 10 — — — 使用可 — 使用可 — 使用可 — 使用可

512 x 16 使用可 使用可 使用可 — 使用可 — 使用可 — 使用可 —

512 x 20 — — — 使用可 — 使用可 — 使用可 — 使用可

256 x 32 使用可 使用可 使用可 — 使用可 — 使用可 — 使用可 —

256 x 40 — — — 使用可 — 使用可 — 使用可 — 使用可

表2‒4. M10K ブロックのデータ幅混合のコンフィギュレーション(トゥルー・デュアル・ポート・モード)

ポート B

データ A

8Kx

1

4Kx

2

2Kx

4

2Kx

5

1Kx

8

1Kx

10

512

x16

512

x20

8K x 1 使用可 使用可 使用可 — 使用可 — 使用可 —

4K x 2 使用可 使用可 使用可 — 使用可 — 使用可 —

2K x 4 使用可 使用可 使用可 — 使用可 — 使用可 —

2K x 5 — — — 使用可 — 使用可 — 使用可

1K x 8 使用可 使用可 使用可 — 使用可 — 使用可 —

1K x 10 — — — 使用可 — 使用可 — 使用可

512 x 16 使用可 使用可 使用可 — 使用可 — 使用可 —

512 x 20 — — — 使用可 — 使用可 — 使用可

表2‒3. M10K ブロックのデータ幅混合のコンフィギュレーション(シンプル・デュアル・ポート RAM モード)(その2)

リード・ポート

ライト・ポート

8Kx

1

4Kx

2

2Kx

4

2Kx

5

1Kx

8

1Kx

10

512

x16

512

x20

256

x32

256

x40

2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合

Page 6: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

2‒6 第 2章 : Cyclone V デバイスのメモリ・ブロッククロック・モード

c メモリ内容の破壊を避けるために、リード動作またはライト動作をしているときに

メモリ・ブロック入力レジスタでセットアップ時間またはホールド時間に違反して

はいけません。

各メモリ・モードに対するクロック・モード表 2–5 に、Cyclone V デバイスでサポートされるメモリ・ブロック・クロック・モー

ド、および各クロック・モードによってサポートされるメモリ・モードを示します。

f 各クロック・モードについて詳しくは、 Internal Memory (RAM and ROM) User Guide を参

照してください。

非同期クリアすべてのクロック・モードで、非同期クリアは出力ラッチおよび出力レジスタのみ

に使用可能です。独立クロック・モードでは、両方のポートに適用可能です。

同時リード /ライトでの出力リード・データリード / ライト・クロック・モードを使用して同じアドレス位置に同時にリード / ライトを実行する場合、出力リード・データは未知です。出力リード・データが基地

の値として必要な場合、シングル・クロック・モードまたは入力 / 出力クロック・

モードを使用して、MegaWizard Plug-In Manager で適切な read-during-write 動作を選択

します。

独立クロック・モード独立クロック・イネーブルは、以下のクロック・モードでサポートされています。

■ リード / ライト・クロック・モード — リード・ライト・クロックの両方でサポート

されます。

■ 独立クロック・モード — 両方のポートのレジスタでサポートされます。

電力を節約するために、クロック・イネーブルを使用して特定のレジスタのシャッ

ト・ダウンを制御することができます。詳しくは、2–14 ページの「消費電力管理」

を参照してください。

表2‒5. 各メモリ・モードに対するメモリ・ブロック・クロック・モード

クロック・モード

メモリ・モード

シングル・ポート

シンプル・デュアル・ポート

トゥルー・デュアル・ポート

ROM FIFO

シングル・クロック・モード

使用可 使用可 使用可 使用可 使用可

リード / ライト・クロック・モード

— 使用可 — — 使用可

入力 / 出力クロック・モード

使用可 使用可 使用可 使用可 —

独立クロック・モード — — 使用可 使用可 —

Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合

Page 7: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

第 2 章 : Cyclone V デバイスのメモリ・ブロック 2‒7パリティ・ビット

パリティ・ビット表 2–6 に、メモリ・ブロックのパリティ・ビットのサポートを示します。

バイト・イネーブルメモリ・ブロックは、バイト・イネーブル・コントロールをサポートします。

■ バイト・イネーブル・コントロールは、特定のデータのバイトのみ書き込まれる

ように入力データをマスクします。書き込まれないバイトは前回書き込まれた値

のままになります。

■ ライト・イネーブル(wren)信号は、バイト・イネーブル(byteena)信号と共

に RAM ブロック上でのライト動作を制御します。デフォルトの状態では、

byteena信号は High(イネーブルされている)であり、wren信号のみが書き込み

を制御します。

■ バイト・イネーブル・レジスタには、clearポートがありません。

■ パリティ・ビットを使用している場合、バイト・イネーブル・ファンクション

は、M10K 上では 8 つのデータ・ビットおよび 2 つのパリティ・ビットを制御し、

MLAB 上では も幅広いモードで 10 ビットすべてを制御します。

■ byteena信号の MSB および LSB は、それぞれデータ・バスの MSB および LSB に対応

しています。

■ バイト・イネーブルはアクティブ High です。

byteena コントロール表 2–7 に、x20 データ幅での byteenaコントロールを示します。

表2‒6. メモリ・ブロックのパリティ・ビットのサポート

M10K MLAB

■ パリティ・ビットは、5、10、20、および 40 の各 4 個のデータ・ビット幅に関連付けられている第 5 番目のビットです(4、9、14、19、24、29、34、および 39 ビット)。

■ 非パリティ・データ幅では、パリティ・ビットはリード動作またはライト動作中にスキップされます。

■ パリティ・ファンクションは、パリティ・ビット上では実行されません。

■ パリティ・ビットは、各バイトに関連付けられている第 9 番目のビットです。

■ この第 9 番目のビットは、パリティ・ビットを格納したり、追加ビットとして機能させることができます。

■ パリティ・ファンクションは、パリティ・ビット上では実行されません。

表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:デバイスのインタフェースおよび統合

Page 8: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

2‒8 第 2章 : Cyclone V デバイスのメモリ・ブロックバイト・イネーブル

表 2–8 に、x40 データ幅での byteenaコントロールを示します。

データ・バイト出力M10K ブロックでは、対応するマスクされたデータ・バイト出力が「don’t care」値と

して表示されます。

MLAB では、バイト・イネーブル・ビットがライト・サイクル中にデアサートされる

場合、対応するデータ・バイト出力は「don’t care」値としてまたは現在のその位置

でのデータのいずれかが表示されます。ユーザーは、Quartus II ソフトウェアを使用

して MLAB のマスクされたバイトの出力値を制御することができます。

表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]

Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合

Page 9: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

第 2 章 : Cyclone V デバイスのメモリ・ブロック 2‒9デザインの検討事項

RAMブロックの動作図 2–1 に、wren信号および byteena信号がどのように RAM ブロックの動作をコント

ロールするか示します。

デザインの検討事項Cyclone V デバイスのメモリ・ブロックを使用したデザインを成功させるために、メ

モリ・ブロックを使用してデザインしているときに以下のガイドラインを考慮に入

れます。

メモリ・ブロックの選択Quartus II ソフトウェアは、デザインの速度とサイズの制約に基づいて、ユーザー定

義メモリを自動的にエンベデッド・メモリ・ブロックに分割します。例えば、

Quartus II ソフトウェアは、デザインのパフォーマンスを向上させるために、メモリ

を複数のメモリ・ブロックに分割します。

メモリを特定のブロック・サイズに手動で割り当てるには、MegaWizard™ Plug-In Manager 内の RAM メガファンクションを使用します。

MLAB は、Quartus II ソフトウェアのエミュレーションを介してシングル・ポート

SRAM を実装することができます。エミュレーションを実行することにより、使用す

る追加ロジック・リソースが少なくて済みます。

図2‒1. バイト・イネーブル機能の波形(1)

図 2–1 の注:

(1) M10K ブロックでは、「current data」値はサポートされていないため、マスクされたライト・データ・バイト出力は「don’t care」値として表示されます。

inclock

wren

address

data

byteena

contents at a0

contents at a1

contents at a2

contents at a3

contents at a4

don’t care: q (asynch)

current data: q (asynch)

an a0 a1 a2 a3 a4 a0

XXXXXXXX XXXXXXXXABCDEF12

ABCDEF12

XXXX XXXX1000 0100 0010 0001 1111

FFFFFFFF

FFFFFFFF

FFFFFFFF

FFFFFFFF

FFFFFFFF

FFFFFF12

FFFFFF12

FFFFEFFF

FFFFEFFF

FFCDFFFF

FFCDFFFF

ABFFFFFF

ABFFFFFF

ABFFFFFFdoutn

doutn

ABXXXXXX XXCDXXXX XXXXEFXX XXXXXX12 ABCDEF12

ABFFFFFFABCDEF12

2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合

Page 10: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

2‒10 第 2章 : Cyclone V デバイスのメモリ・ブロックデザインの検討事項

MLAB は兼用アーキテクチャとなっているため、ブロック内にはデータ入力レジスタ

とデータ出力レジスタしかありません。MLAB は、ALM からリード・アドレス・レジ

スタを得ます。しかし、ライト・アドレスおよびリード・データ・レジスタは MLABの内部にあります。

競合の解決トゥルー・デュアル・ポート RAM モードでは、同じメモリ位置に対して 2 つのライ

ト動作を実行できます。しかし、メモリ・ブロックには競合解決回路は内蔵されて

いません。未知のデータがアドレスに書き込まれることを回避するには、メモリ・

ブロックの外部に競合解決ロジックを実装します。

Read-During-Write 動作デザインの要件にあわせてメモリ・ブロックの read-during-write 動作をカスタマイズ

します。

図 2–2 に、使用可能な read-during-write 動作の 2 つのタイプの違いを示します(同一

ポートおよび混合ポート)。

同一ポートに対するRead-During-Write モード同一ポートに対する read-during-write モードは、シングル・ポート RAM またはトゥ

ルー・デュアル・ポート RAM の同一ポートに適用されます。

表 2–9 に、同一ポートに対する read-during-write モードで M10K または MLAB を選択

する場合に使用可能な出力モードを示します。

図2‒2. Cyclone V デバイスの Read-During-Write のデータ・フロー

表2‒9. 同一ポートに対する Read-During-Write モードでのM10K またはMLABの出力モード

出力モード メモリ・タイプ 説明

「new data」

(フロースルー)

M10K 新しいデータは、新しいデータが書き込まれる同一クロック・サイクルの立ち上がりエッジ上で使用可能です。

「don’t care」 M10K、MLAB RAM は、read-during-write 動作では「don’t care」値を出力します。

Port Adata in

Port Bdata in

Port Adata out

Port Bdata out

Mixed-portdata flowSame-portdata flow

FPGA Device

Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合

Page 11: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

第 2 章 : Cyclone V デバイスのメモリ・ブロック 2‒11デザインの検討事項

図 2–3 に、「new data」モードでの同一ポートに対する read-during-write 動作のサンプ

ル機能波形を示します。

混合ポートに対するRead-During-Write モード混合ポートに対する Read-During-Write モードは、同一メモリ・アドレス上で同一の

クロックを使用して 2 つのポートがリード動作およびライト動作を実行するシンプ

ルおよびトゥルー・デュアル RAM モードに適用します(1 つのポートはアドレスか

ら読み出して、他方のポートはそれに書き込みます)。

表 2–10 に、混合ポートに対する read-during-write モードで使用可能な出力モードを

示します。

図2‒3. 同一ポートに対する Read-During-Write:New Data モード

表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 では、このモードは出力がラッチされているときのみ使用可能です。

「don’t care」 M10K、MLAB

RAM は、「don’t care」または「unknown」値を出力します。

MLAB では、Quartus II ソフトウェアはライト動作とリード動作の間のタイミングを解析しません。MLAB 出力でのメタステーブル問題を回避するには、同一アドレスへのライトおよびリードを同時に行ってはいけません。

M10K メモリでは、Quartus II ソフトウェアはライト動作とリード動作の間のタイミングを解析します。

「constrained don’t care」

MLABRAM は「don’t care」または「unknown」値を出力します。Quartus II ソフトウェアは、MLAB でのライト動作とリード動作の間のタイミングを解析します。

clk_a

address

rden

wren

byteena

data_a

q_a (asynch)

A123 B456 C789 DDDD EEEE FFFF

A123 B456 C789 DDDD EEEE FFFF

0A 0B

11

2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合

Page 12: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

2‒12 第 2章 : Cyclone V デバイスのメモリ・ブロックデザインの検討事項

図 2–4 に、「new data」モードでの混合ポートに対する read-during-write 動作のサンプ

ル機能波形を示します。

図 2–5 に、「old data」モードでの混合ポートに対する read-during-write 動作のサンプ

ル機能波形を示します。

図2‒4. 混合ポートに対する Read-During-Write:New Data モード

図2‒5. 混合ポートに対する Read-During-Write:Old Data モード

XXXX

11

clk_a&b

address_a

wren_a

byteena_a

rden_b

data_a

q_b (registered)

address_b

AAAA BBBB CCCC DDDD EEEE FFFF

A0 A1

A0 A1

AAAA BBBB CCCC DDDD EEEE FFFF

clk_a&b

address_a

wren_a

byteena_a

rden_b

data_a

q_b (asynch)

address_b

A0 A1

AAAA BBBB CCCC DDDD EEEE FFFF

11

A0 A1

A0 (old data) AAAA BBBB DDDD EEEEA1 (old data)

Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合

Page 13: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

第 2 章 : Cyclone V デバイスのメモリ・ブロック 2‒13デザインの検討事項

図 2–6 に、「don’t care」「constrained don’t care」モードでの混合ポートに対する read-during-write 動作のサンプル機能波形を示します。

デュアル・ポート RAM モードでは、入力レジスタが同じクロックであれば混合ポー

トに対する read-during-write 動作はサポートされます。動作中の出力値は「unknown」です。

f read-during-write 動作を制御する RAM メガファンクションについて詳しくは、 Internal Memory (RAM and ROM) User Guide を参照してください。

パワーアップ・ステートおよびメモリ初期化表 2–11 に示すように 初のパワーアップ値を評価するロジックをデザインしている

場合、異なるタイプのメモリ・ブロックのパワーアップ・ステートを考慮します。

デフォルトの状態では、.mif を指定していない限り Quartus II ソフトウェアは

Cyclone V デバイスで RAM セルをゼロに初期化します。

すべてのメモリ・ブロックは、.mif による初期化をサポートしています。Quartus IIソフトウェアで .mif ファイルを作成し、デザインでメモリをインスタンス化すると

きに RAM メガファンクションでそれらのファイルの使用を指定することができま

す。メモリが事前に初期化されている場合でも(例えば .mif を使用して)、出力をク

リアした状態でパワーアップします。

図2‒6. 混合ポートに対する Read-During-Write:Don’t Care または Constrained Don’t Care モード

clk_a&b

wren_a

address_a A0 A1

data_a

byteena_a

rden_b

address_b

q_b (asynch) XXXX (unknown data)

A0 A1

11 1101 10

AAAA BBBB CCCC DDDD EEEE FFFF

表2‒11. M10K ブロックおよびMLABブロックの最初のパワーアップ値

メモリ・タイプ 出力レジスタ パワーアップ値

M10K使用 ゼロ(クリア)

バイパス ゼロ(クリア)

MLAB使用 ゼロ(クリア)

バイパス リード・メモリの内容

2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合

Page 14: 2. CycloneVデバイスのメモリ・ ブロック2‒2 第2章:CycloneVデバイスのメモリ・ブロック メモリの機能 Cyclone V デバイス・ハンドブック 2012年6月

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 の更新。

■「パリティ・ビット」および「バイト・イネーブル」のセクションの追加。

■ メモリ容量に関する情報を Cyclone V Device Overview に移動。

2011 年 10 月 1.0 初版。

Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合