Arria Vデバイスのエンベデッド・メモリ 2Arria...

23
2 Arria Vデバイスのエンベデッド・メモリ 2013.05.06 AV-52002 2隣 児伺実詩飼紫屍 視飼使旨不昨嗣執持視紫詩質磁示式質字竺紫屍朔珽哉韈µ磽燦莵阪腰視孜使執ギ鍔削鏘鎮作豬昨 椌夂栽晒彳夂磁示式質仔鴫使燦蛬盗際傘皿妻こヴ細参崎哉擦際甑 エンベデッド・メモリのタイプ Arria V視飼使旨削朔腰2肴昨祉使寺昨磁示式質字竺紫屍昨歳零擦参崎哉擦際甑 20 Kb M20K 再傘哉朔 10Kb M10K 字竺紫屍朔腰梵ぁ磁示式質式氏実旨昨字竺紫屍埼際甑M20K 採皿索 M10K字竺紫屍朔腰彌豬昨†コ裁冴治実詞燦蛬盗際傘昨埼腰皿三彳済哉磁示式質仔鴫使 削鏘鎮埼際甑 640似紫詞昨磁示式質竺施紫屍質仔鴫使質字竺紫屍θMLABχ 朔腰瀕ぁ竺施紫屍質仔鴫使質字 竺紫屍θLABχ 埼├耨細参崎哉傘甓尤細参冴磁示式字竺紫屍埼際甑MLAB朔腰熏采㊪燵昨☎哉 磁示式質仔鴫使削鏘鎮埼際甑MLAB朔視施祉識徳陵幣XθDSPχ仔寺式師実斯辞執腰熏采㊪燵 昨☎哉FIFO飼紫児仕腰採皿索児伺識祉昨視伺鴫使質鹿使執昨冴薩昨斯児詞質鴫施旨祉昨曚〉 削鏘鎮尤細参崎哉擦際甑林MLAB10曇昨仔私寺至伺字質竺施紫屍質示施自実識θALMχ埼 ├耨細参崎哉擦際甑Arria V視飼使旨削朔腰MLAB搆削1曇昨32×20斯執寺識質視自仔識質治実 SRAM字竺紫屍歳再三腰10曇昨32×2字竺紫屍碕裁崎祭参晒昨ALM燦思執児伺子自鴫実斯辞 執際傘祭碕歳埼済擦際甑擦冴 Arria VGZ視飼使旨 削朔腰MLAB搆削1曇昨64×10斯執寺識質視自 仔識質治実詞SRAM字竺紫屍歳再三腰10曇昨64×1字竺紫屍碕裁崎ALM燦思執児伺子自鴫実斯辞 執埼済擦際甑 ISO 9001:2008 ɔ埴︸ © 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, 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. www.altera.com 101 Innovation Drive, San Jose, CA 95134

Transcript of Arria Vデバイスのエンベデッド・メモリ 2Arria...

Page 1: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

2Arria Vデバイスのエンベデッド・メモリ

2013.05.06

AV-52002 署名 フィードバック

デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

小型から大型メモリ・アレイを提供するよう設計されています。

エンベデッド・メモリのタイプArria Vデバイスには、2つのタイプのメモリ・ブロックのが含まれています。

• 20 Kb M20Kあるいは 10Kb M10Kブロックは、専用メモリ・リソースのブロックです。M20KおよびM10Kブロックは、多数の独立したポートを提供するので、より大きいメモリ・アレイに最適です。

• 640ビットのメモリ・ロジック・アレイ・ブロック(MLAB)は、兼用ロジック・アレイ・ブロック(LAB)で構成されている強化されたメモリブロックです。MLABは、広く深度の浅いメモリ・アレイに最適です。MLABはデジタル信号処理(DSP)アプリケーション、広く深度の浅いFIFOバッファ、およびフィルタのディレイ・ラインのためのシフト・レジスタの実装に最適化されています。各MLABは10個のアダプティブ・ロジック・モジュール(ALM)で構成されています。Arria Vデバイスには、MLAB毎に1個の32×20シンプル・デュアル・ポートSRAMブロックがあり、10個の32×2ブロックとしてこれらのALMをコンフィギュレーションすることができます。またArriaVGZデバイスには、MLAB毎に1個の64×10シンプル・デュアル・ポートSRAMブロックがあり、10個の64×1ブロックとしてALMをコンフィギュレーションできます。

ISO9001:2008登録済

© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX wordsand logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All otherwords and logos identified as trademarks or service marks are the property of their respective holders as described atwww.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance withAltera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumesno responsibility or liability arising out of the application or use of any information, product, or service described herein except as expresslyagreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.

www.altera.com

101 Innovation Drive, San Jose, CA 95134

Page 2: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

Arria Vデバイスのエンベデッド・メモリの容量

表2-1: Arria Vデバイスのエンベデッド・メモリ容量とトータル・ビット数

トータルRAMビット数(ビッ

ト)

MLABM10KM20Kメンバー・コードタイプ

RAMビット(KB)

BlockRAMビット(KB)

BlockRAMビット(KB)

Block

8,4634637418,000800——A1

Arria V GX

11,471961153810,5101,051——A3

12,9731,173187711,8001,180——A5

15,1081,448231713,6601,366——A7

16,9521,852296415,1001,510——B1

19,3582,098335717,2601,726——B3

23,0722,532405220,5402,054——B5

27,0462,906465024,1402,414——B7

11,471961153810,5101,051——C3

Arria V GT15,1081,448231713,6601,366——C7

19,3582,098335717,2601,726——D3

27,0462,906465024,1402,414——D7

14,2942,5944,151——11,700585E1

Arria V GZ23,3854,2456,792——19,140957E3

33,5184,7187,548——28,8001,440E5

39,3065,3068,490——34,0001,700E7

19,3042,014322317,2901,729——B3Arria V SX

25,4782,658425322,8202,282——B5

19,3042,014322317,2901,729——D3Arria V ST

25,4782,658425322,8202,282——D5

Arria Vデバイスのためのエンベデッド・メモリのデザイン・ガイドライン

デザインの成功を確実にするための考慮事項がいくつかあります。特に記述がない限り、これら

のガイドラインはこのデバイス・ファミリの全種類に適用されます。

ガイドライン:メモリ・ブロック選択Quartus IIソフトウェアは、デザインの速度とサイズの制約に基づいて、ユーザー定義メモリを自動的にエンベデッド・メモリ・ブロックに分割します。例えば、Quartus IIソフトウェアはデ

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002Arria Vデバイスのエンベデッド・メモリの容量2-2 2013.05.06

Page 3: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

ザインのパフォーマンスを向上させるために、メモリを複数の使用可能なメモリ・ブロックに分

割します。

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

メモリ・ロジック・アレイ・ブロック(MLAB)については、Quartus IIソフトウェアのエミュレーションを介してシングル・ポートSRAMを実装することができます。エミュレーションを実行することで、使用する追加ロジック・リソースを最小限に抑えることができます。

MLABは兼用アーキテクチャとなっているため、ブロック内にはデータ入力レジスタとデータ出力レジスタしかありません。MLABは、ALMからリード・アドレス・レジスタを取得しますが、ライト・アドレスおよびリード・データ・レジスタはMLABの内部にあります。

ガイドライン:外部競合解消の実装トゥルー・デュアル・ポートRAMモードでは、同じメモリ位置に対して2つのライト動作が実行できます。しかし、メモリ・ブロックには競合解決回路は内蔵されていません。未知のデータが

アドレスに書き込まれることを回避するには、メモリ・ブロックの外部に競合解決ロジックを実

装します。

ガイドライン:Read-During-Write動作のカスタマイズデザインの要件にあわせてメモリ・ブロックのRead-During-Write動作をカスタマイズします。

図 2-1: Read-During-Writeのデータ・フロー

この図は、使用可能なRead-During-Write動作の2つのタイプの違いを示します -同一ポートおよび混合ポート

Port Adata in

Port Bdata in

Port Adata out

Port Bdata out

Mixed-portdata flowSame-portdata flow

FPGA Device

同一ポートに対するRead-During-Writeモード同一ポートに対するRead-During-Writeモードは、シングル・ポートRAMまたはトゥルー・デュアル・ポートRAMの同一ポートに適用されます。

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-3ガイドライン:外部競合解消の実装AV-520022013.05.06

Page 4: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

表2-2: 同一ポートに対するRead-During-Writeモードでのエンベデッド・メモリ・ブロックの出力モード

この表は、同一ポートに対するRead-During-Writeモードでエンベデッド・メモリ・ブロックを選択した場合に使用可能な出力モードを示しています。

説明メモリ・タイプOutput/Capture Mode

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

M20K、 M10K「new data」

(フロースルー)

RAMは、Read-During-Write動作では「don’tcare」値を出力します。

M20K、 M10K、MLAB"don't care"

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

この図は、「new data」モードでの同一ポートに対するRead-During-Write動作のサンプル機能波形を示しています。

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

混合ポートに対するRead-During-Writeモード混合ポートに対するRead-During-Writeモードは、同一メモリ・アドレス上で同一のクロックを使用して2つのポートがリード動作およびライト動作を実行するシンプルおよびトゥルー・デュアルRAMモードに適用します - 1つのポートはアドレスから読み出して、他方のポートはそれに書き込みます。

表2-3: 混合ポートに対するRead-During-Write モードでのRAM の出力モード

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

異なるポートに対するRead-During-Write動作によって、ラッチされたMLAB出力が次の立ち上がりエッジでの「newdata」をMLABメモリへのデータ書き込み後に反映します。

このモードは、出力がラッチされている場合のみに使用可能です。

MLAB"new data"

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002混合ポートに対するRead-During-Writeモード2-4 2013.05.06

Page 5: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

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

異なるポートに対するRead-During-Write動作によって、特定のアドレスでRAM出力が「old data」値を反映します。

MLABの場合は、このモードでは、ラッチされているときのみ使用可能です。

M20K、 M10K、MLAB

「old data」

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

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

• MLABでは、Quartus IIソフトウェアは、デフォルトでライト動作とリード動作の間のタイミングをを解析します。この動作を無効にするには、Do not analyze the timing between write and read operation. Metastability issues are prevented by never writing and reading at thesame address at the same timeオプションをオンにします。

M20K、M10K、MLAB

don't care

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

MLAB「constraineddon't care」

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

この図は、「new data」モードでの混合ポートに対するRead-During-Write動作のサンプル機能波形を示しています。

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

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-5混合ポートに対するRead-During-WriteモードAV-520022013.05.06

Page 6: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

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

この図は、「old data」モードでの混合ポートに対するRead-During-Write動作のサンプル機能波形を示します。

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)

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

この図は、「don’t care」「constraineddon’t care」モードでの混合ポートに対するRead-During-Write動作のサンプル機能波形を示します。

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

デュアル・ポートRAMモードでは、入力レジスタが同じクロックであれば混合ポートに対するRead-During-Write動作はサポートされます。動作中の出力値は「unknown」です。

ガイドライン:パワーアップ・ステートおよびメモリ初期化次の表に示すように最初のパワーアップ値を評価するロジックをデザインしている場合、異なる

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

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002ガイドライン:パワーアップ・ステートおよびメモリ初期化2-6 2013.05.06

Page 7: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

表2-4: エンベデッド・メモリ・ブロックの最初のパワーアップ値

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

ゼロ(クリア)使用MLAB

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

ゼロ(クリア)使用M20K、M10K

ゼロ(クリア)バイパス

デフォルトの状態では、.mifを指定していない限りQuartus IIソフトウェアは Arria VデバイスでRAMセルをゼロに初期化します。

すべてのメモリ・ブロックは、.mifによる初期化をサポートしています。QuartusIIソフトウェアで.mifファイルを作成し、デザインでメモリをインスタンス化するときにRAMメガファンクションでそれらのファイルの使用を指定することができます。メモリが事前に初期化されている場合

でも(例えば.mifを使用して)、出力をクリアした状態でパワーアップします。

ガイドライン:消費電力を低減するクロック制御各メモリ・ブロックのクロックを制御し、デザイン内のAC電力消費量を低減します:

• リード・イネーブル信号を使用して、必要な場合にのみリード動作が実行されるようにします。デザインで Read-During-Write動作が不要な場合、ライト動作中またはメモリ動作の前にリード・イネーブル信号をデアサートすることで消費電力を低減させることができます。

• Quartus IIソフトウェアを使用して、任意の未使用メモリ・ブロックを低消費電力モードに自動的に切り替えてスタティック消費電力を低減させます。

エンベデッド・メモリの機能表2-5: Arria Vデバイスのメモリの機能

この表は、エンベデッド・メモリ・ブロックでサポートされる機能を表示します。

MLABM20K 、 M10K機能

ArriaVGX、GT、SX、およびST-500MHz

Arria V GZ—600 MHz

M20K—600 MHzM10K—400 MHz

最大動作周波数

640M20K—20,480M10K—10,240

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

サポートサポートパリティ・ビット

サポートサポートバイト・イネーブル

—サポートパック・モード

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-7ガイドライン:消費電力を低減するクロック制御AV-520022013.05.06

Page 8: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

MLABM20K 、 M10K機能

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

—サポートシンプル・デュアル・ポートの異

なるデータ幅

—サポートトゥルー・デュアル・ポートの異

なるデータ幅

—サポートFIFOバッファの異なるデータ幅

サポートサポートメモリ初期化ファイル(.mif)

サポートサポート混合クロック・モード

サポートサポート完全な同期メモリ

フロースルーのリード・メモリ動作の

みサポート

—非同期メモリ

• レジスタでラッチされた出力ポート-クリア

• ラッチなし出力ポート -メモリ内容をリード

出力ポートクリアされま

す。

パワーアップ・ステート

出力レジスタおよび出力ラッチ出力レジスタおよび出力

ラッチ

非同期クリア

立ち上がりクロック・エッジ立ち上がりクロック・

エッジ

ライト /リード動作のトリガ

出力は「don't care」に設定• M20K -出力ポートはnew dataに設定

• M20K -出力ポートは「newdata」か「don'tcare」に設定

(「don't care」モードはシングル·ポートRAMモードだけに適用されま

す。)

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

出力ポートは「old data」、「new data」、「don't care」または「constraineddon't care」に設定

出力ポートは「olddata」または「don't care」に設定

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

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002エンベデッド・メモリの機能2-8 2013.05.06

Page 9: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

MLABM20K 、 M10K機能

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

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

x32幅シンプル·デュアル·ポート·モード(M20Kのみ)のサポートを内蔵

ECCサポート

エンベデッド・メモリ・コンフィギュレーション

表2-6: Arria Vデバイスに対しサポートされているエンベデッド・メモリ・ブロック・コンフィギュレーション

この表は、エンベデッド・メモリ・ブロックに対しサポートされている最大ビット幅のコンフィギュレーションをリストします。この情報はシングル・ポートRAMモードおよびシングル・ポートROMモードのみに適用されます。

プログラマブル幅深さ(ビット)メモリ・ブロック

x16、 x18、x2032MLAB

x1064(1)

x40512

M20K

x201K

x102K

x54K

x28K

x116K

x40または x32256

M10K

x20または x16512

x10または x81K

x52K

x24K

x18K

データ幅混合ポートのコンフィギュレーションデータ幅混合ポートのコンフィギュレーションはシンプル・デュアル・ポートRAMモードおよびトゥルー・デュアル・ポートRAMメモリ・モードでサポートされます。

MLABは混合幅のポートのコンフィギュレーションをサポートしません。注:

(1) Arria V GZデバイスでのみ使用可能

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-9エンベデッド・メモリ・コンフィギュレーションAV-520022013.05.06

Page 10: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

M20Kブロックのデータ幅混合のコンフィギュレーション次の表に、シンプル・デュアル・ポートRAMモードでのM20Kブロックのデータ幅混合のコンフィギュレーションを示しています。

表2-7: M20Kブロックのデータ幅混合のコンフィギュレーション(シンプル・デュアル・ポートRAMモード)

ライト・ポートリード・ポート

512 x 40512 x 321K x 201K x 162K x 102K x 84K x 54K x 48K x 216K x 1

—使用可—使用可—使用可—使用可使用可使用可16Kx1

—使用可—使用可—使用可—使用可使用可使用可8Kx2

—使用可—使用可—使用可—使用可使用可使用可4Kx4

使用可—使用可—使用可—使用可———4Kx5

—使用可—使用可—使用可—使用可使用可使用可2Kx8

使用可—使用可—使用可—使用可———2Kx10

—使用可—使用可—使用可—使用可使用可使用可1Kx16

使用可—使用可—使用可—使用可———1Kx20

—使用可—使用可—使用可—使用可使用可使用可512x32

使用可—使用可—使用可—使用可———512x40

次の表に、トゥルー・デュアル・ポート・モードでのM20Kブロックのデータ幅混合のコンフィギュレーションを示します。

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

ポートBデータA

1K x 201K x 162K x 102K x 84K x 54K x 48K x 216K x 1

—使用可—使用可—使用可使用可使用可16Kx 1

—使用可—使用可—使用可使用可使用可8K x 2

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

使用可—使用可—使用可———4K x 5

—使用可—使用可—使用可使用可使用可2K x 8

使用可—使用可—使用可———2Kx 10

—使用可—使用可—使用可使用可使用可1Kx 16

使用可—使用可—使用可———1Kx 20

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002M20Kブロックのデータ幅混合のコンフィギュレーション2-10 2013.05.06

Page 11: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

M10Kブロックのデータ幅混合のコンフィギュレーション

表2-9: シンプル・デュアル・ポートRAMモードでのM10Kブロックのデータ幅混合のコンフィギュレーション

ライト・ポートリード・ポート

256 x 40256 x 32512 x 20512 x 161k x 101K x 82K x 52K x 44K x 28K x 1

—使用可—使用可—使用可—使用可使用可使用可8Kx1

—使用可—使用可—使用可—使用可使用可使用可4Kx2

—使用可—使用可—使用可—使用可使用可使用可2Kx4

使用可—使用可—使用可—使用可———2Kx5

—使用可—使用可—使用可—使用可使用可使用可1Kx8

使用可—使用可—使用可—使用可———1Kx10

—使用可—使用可—使用可—使用可使用可使用可512x16

使用可—使用可—使用可—使用可———512x20

—使用可—使用可—使用可—使用可使用可使用可256x32

使用可—使用可—使用可—使用可———256x40

表2-10: トゥルー・デュアル・ポート・モードでのM10Kブロックのデータ幅混合のコンフィギュレーション

データAポートB

512 x 20512 x 161K x 101K x 82K x 52K x 44K x 28K x 1

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

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

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

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

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

使用可—使用可—使用可———1Kx10

—使用可—使用可—使用可使用可使用可512x16

使用可—使用可—使用可———512 x20

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-11M10Kブロックのデータ幅混合のコンフィギュレーションAV-520022013.05.06

Page 12: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

エンベデッド・メモリ・モードメモリ内容の破壊を回避するには、Read-or-Write動作中にメモリ・ブロック入力レジスタの設定およびホールド時間に違反がないことを確認します。これは、シングル・ポート

注意:

RAM、シンプル・デュアル・ポートRAM、トゥルー・デュアル・ポートRAM、またはROMモードでメモリ・ブロックを使用する場合に適用されます。

表2-11: エンベデッド・メモリ・ブロックでサポートされるメモリ・モード

このテーブルは、ArriaVエンベデッド・メモリ・ブロックでサポートされているメモリ・モードをリストし、説明します。

説明MLABサポート

M20K および

M10Kサポートメモリ・モード

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

ライト動作中のRAM出力ポートの動作を制御するためにリード・イネーブル・ポートを使用します。

• 最後のアクティブ・リード・イネーブル時に取得した値を保持するには、リード・イネーブル・ポートを作成し、リード・イネーブル・ポートをデアサートした状態でライト動作を実行します。

• 同じアドレス位置でRead-During-Write動作が発生したときに、書き込まれた新規のデータ、そのアドレスでの古いデータ、または「don't care」の値を表示するには、リード・イネーブル信号を作成しない、またはライト動作中にリード・イネーブルを有効にします。

使用可使用可シングル・ポートRAM

ポートAにライト動作、ポートBにリード動作を実行するというように、1つのリード動作および1つのライト動作を異なる位置に同時に実行できます。

使用可使用可シンプル・デュアル・ポートRAM

2つのリード動作、2つのライト動作、または1つのリードおよび1つのライトを2つの異なるクロック周波数で実行するというように任意の組み合わせで2つのポート動作を実行できます。

—使用可トゥルー・デュアル・ポートRAM

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002エンベデッド・メモリ・モード2-12 2013.05.06

Page 13: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

説明MLABサポート

M20K および

M10Kサポートメモリ・モード

ロジック・セルおよび配線リソースを節約するために、メモリ・ブロックをシフト・レジスタ・ブロックとして使用できます。

これは、有限インパルス応答(FIR)フィルタ、擬似ランダム数発生器、マルチチャネル・フィルタリング、自己相関関数および相互相関関数など、ローカル・データ・ストレージを必要とするDSPアプリケーションの使用時に便利な機能です。従来、ローカル・データ・ストレージは、大きなシフト・レジスタのために多数のロジック・セルを消費する標準的なフリップ・フロップで実装されていました。

入力データ幅(w)、タップの長さ(m)、およびタップ数(n)はシフトレジスタ(幅×m×n個)の大きさを決定します。より大きなシフト・レジスタの実装にはメモリ・ブロックをカスケードすることができます。

使用可使用可シフト・レジスタ

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

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

• ROMのアドレス・ラインは、M20KブロックもしくはM10Kブロックでラッチされますが、MLABではラッチされない場合があります。

• 出力はラッチしてもしなくても構いません。• 出力レジスタは、非同期クリアされる可能性があります。

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

使用可使用可ROM

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

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

使用可使用可FIFO

エンベデッド・メモリ・クロック・モードこのセクションでは、Arria Vメモリ・ブロック用のクロック・モードを説明します。

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-13エンベデッド・メモリ・クロック・モードAV-520022013.05.06

Page 14: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

メモリ内容の破壊を回避するには、Read-or-Write動作中にメモリ・ブロック入力レジスタの設定およびホールド時間に違反がないことを確認します。

注意:

各メモリ・モードに対するクロック・モード

表2-12: 各メモリ・モードに対するメモリ・ブロック・クロック・モード

メモリ・モードクロック・モード FIFOROMTrue Dual-PortSimple Dual-

PortSingle-Port

使用可使用可使用可使用可使用可シングル・クロッ

ク・モード

使用可——使用可—リード /ライト・クロック・モード

—使用可使用可使用可使用可入力 /出力クロック・モード

—使用可使用可——独立クロック・

モード

MLABブロック上のライト・アドレス、バイト・イネーブル、およびデータ入力レジスタに対するクロック・イネーブル信号はサポートされていません。

注:

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

シングル・クロック・モードでは、メモリ・ブロックのすべてのレジスタを1つのクロックとクロック・イネーブルで制御することができます。

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

リード /ライト・クロック・モードでは、各リード /ライトポートで個別のクロックを使用できます。リード・クロックがデータ出力、リード・アドレス、およびリード・イネーブル・レジス

タを制御します。ライト・クロックがデータ入力、ライト・アドレス、ライト・イネーブルおよ

びバイト・イネーブル・レジスタを制御します。

入力/出力クロック・モード入力/出力クロック·モードでは、各入力ポートおよび出力ポートで個別のクロックを使用できます。入力クロックは、入力クロックがデータ、アドレス、バイト・イネーブル、リード・イネー

ブル、およびライト・イネーブルなど、メモリ・ブロックへのすべての入力レジスタを制御しま

す。出力クロックはデータ出力レジスタを制御します。

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002各メモリ・モードに対するクロック・モード2-14 2013.05.06

Page 15: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

独立クロック・モード

独立クロックモードでは、各ポート(ポートAおよびB)で個別のクロックを使用できます。クロックAは、ポートA側のすべてのレジスタを制御し、クロックBはポートB側のすべてのレジスタを制御します。

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

ンを制御することができます。パラメータ・エディタから、(クロック・イネーブル・オプ

注:

ションの横にある)MoreOptionsをクリックして、使用可能な独立したクロック・イネーブルをを設定します。

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

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

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

シングル・クロック・モードまたは入力/出力クロック・モードを使用して、MegaWizard™Plug-InManagerで適切なRead-During-Write動作を選択します。

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

• リード /ライト・クロック・モードは、リード・ライト・クロックの両方でサポートされます。

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

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

制御することができます。

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-15独立クロック・モードAV-520022013.05.06

Page 16: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

メモリ・ブロックのパリティ・ビット表2-13: エンベデッド・メモリ・ブロックのパリティ・ビット・サポート

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

MLABM20K 、 M10K

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

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

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

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

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

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

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

• バイト・イネーブル・コントロールは、特定のデータのバイトのみ書き込まれるように入力データをマスクします。書き込まれないバイトは前回書き込まれた値のままになります。

• ライト・イネーブル(wren)信号、バイト・イネーブル(byteena)信号と共にRAMブロック上でのライト動作を制御します。デフォルトの状態では、byteenaはHigh(イネーブル)であり、wrenのみが書き込みを制御します。

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

• パリティ・ビットを使用している場合、バイト・イネーブル・ファンクションは、M20KおよびM10Kブロック上では、8つのデータ・ビットおよび 2つのパリティ・ビットを制御し、MLAB上では最も幅広いモードで10ビットすべてを制御します。

• byteena信号のLSBおよびMSBは、それぞれデータ・バスのMSBおよびLSBに対応しています。• バイト・イネーブルはアクティブHighです。

メモリ・ブロックでのバイト・イネーブル・コントロール

表2-14: x20データ幅でのbyteenaコントロール

書き込まれるデータ・ビットbyteena[1:0]

[9:0][19:10]11 (デフォルト)

—[19:10]10

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002メモリ・ブロックのパリティ・ビット2-16 2013.05.06

Page 17: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

書き込まれるデータ・ビットbyteena[1:0]

[9:0]—01

表2-15: x40データ幅でのbyteenaコントロール

書き込まれるデータビットbyteena[3:0]

[9:0][19:10][29:20][39:30]1111 (デフォルト)

———[39:30]1000

——[29:20]—0100

—[19:10]——0010

[9:0]———0001

M20KブロックのECC機能を使用する場合は、バイト・イネーブル機能を使用できません。注:

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

M20KブロックまたはMLABはでは、ライト・サイクルの間にバイト・イネーブル・ビットをデアサートする場合、対応するデータ・バイト出力は、「don'tcare」値または現在のデータとしてその位置に現れます。M20KブロックまたはMLABのマスクされたバイトの出力値は、Quartus IIソフトウェアを使用して制御することができます。

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-17データ・バイト出力AV-520022013.05.06

Page 18: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

RAMブロックの動作図 2-6: バイト・イネーブル機能の波形

この図は、wren信号およびbyteena信号がどのようにRAMブロックの動作をコントロールするかを示します。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

メモリ・ブロック・パック・モードのサポートM20KおよびM10Kメモリ・ブロックは、パック・モードをサポートします。

パック・モード機能は、2つの独立したシングル・ポートRAMを1つのメモリ・ブロックに集積します。QuartusIIソフトウェアは、必要に応じて物理RAMブロックをトゥルー・デュアル・ポート・モードに配置し、MSBを使用して2つの論理RAMブロックを区別することによって、自動的にパック・モードを実装します。独立した各シングル・ポートRAMのサイズは、ターゲット・ブロック・サイズの半分以下でなければなりません。

メモリ・ブロックのアドレス・クロック・イネーブルのサポートエンベデッド・メモリ・ブロックは、アドレス・クロック・イネーブルをサポートし、アドレ

ス・クロック・イネーブルは信号がイネーブルされている間(addressstall= 1)、以前のアドレ

ス値を保持します。メモリ・ブロックがデュアル・ポート・モードでコンフィギュレーションされると、各ポートは専用の独立したアドレス・クロック・イネーブルを持ちます。アドレス・クロック・イネーブル信号のデフォルト値はLow(ディセーブル)です。

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002RAMブロックの動作2-18 2013.05.06

Page 19: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

図 2-7: アドレス・クロック・イネーブル

この図は、アドレス・クロック・イネーブルのブロック図を示します。アドレス・クロック・イネーブルは、ポート名addressstallで参照されます。

address[0]

address[N]

addressstall

clock

10

address[0]register

address[N]register address[N]

address[0]

10

図 2-8: アドレス・クロック・イネーブルのリード・サイクル時の波形

この図は、アドレス・クロック・イネーブルのリード・サイクル時の波形を示します。

inclock

rden

rdaddress

q (synch)

a0 a1 a2 a3 a4 a5 a6

q (asynch)

an a0 a4 a5latched address(inside memory)

dout0 dout1 dout4

dout4 dout5

addressstall

a1

doutn-1 doutn

doutn dout0 dout1

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-19メモリ・ブロックのアドレス・クロック・イネーブルのサポートAV-520022013.05.06

Page 20: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

図 2-9: アドレス・クロック・イネーブルのライト・サイクル時の波形

この図は、アドレス・クロック・イネーブルのライト・サイクル時の波形を示します。

inclock

wren

wraddress a0 a1 a2 a3 a4 a5 a6

an a0 a4 a5latched address(inside memory)

addressstall

a1

data 00 01 02 03 04 05 06

contents at a0

contents at a1

contents at a2

contents at a3

contents at a4

contents at a5

XX

04XX

00

0301XX 02

XX

XX

XX 05

メモリ・ブロックの誤り訂正コードのサポートECCを使用すれば、メモリの出力時におけるデータ・エラーを検出し修正することが可能です。ECCは、単一誤り訂正、ダブル隣接誤り訂正、および32ビットのワードでトリプル隣接エラー検出の実行が可能です。しかし、ECCは4つ以上のエラーを検出することができません。

M20Kブロックは、32ビット幅シンプル・デュアル・ポート・モードにおけるECCのビルトイン・サポートを備えています:

• ECCが有効のときには、M20Kの実行は非ECCシンプル・デュアル・ポート・モードよりも遅くなります。しかし、非ECCシンプル・デュアル・ポート・モードと同じパフォーマンスを実現するには、レイテンシの1サイクルを犠牲にして出力デコーダの前にオプションのECCパイプライン・レジスタをイネーブルすることができます。

• M20KECCの状態は、2つのECCステータス・フラグ信号のe(エラー)およびue(訂正不能エ

ラー)を介して通信されます。ステータス・フラグは、メモリ・ブロックからの通常の出力

の一部です。ECC実行中は、ECCステータス・フラグがパリティ・ビットを置き換えるため、2つのパリティ・ビットにアクセスできません。

誤り訂正コードの真理値表

表2-16: ECCステータス・フラグの真理値表

ステータスue(訂正不可エラー)

eccstatus[0]

e(エラー)

eccstatus[1]

エラーなし00

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002メモリ・ブロックの誤り訂正コードのサポート2-20 2013.05.06

Page 21: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

ステータスue(訂正不可エラー)

eccstatus[0]

e(エラー)

eccstatus[1]

不正10

訂正可能エラーが発生し、エラーが出力で訂正されていますが、メモリ・アレイが更新されていません。

01

訂正不可エラーが発生し、訂正不可データが出力に表示されます。

11

ECC実行中は:

• バイト・イネーブル機能は使用できません。• Read-During-Write: Old Dataモードはサポートされません。

図 2-10: M20KメモリのECCブロック図

InputRegister

32MemoryArray

ECCDecoder

Status FlagGeneration

OutputRegister

40 40

40

40

ECCEncoder 8

32

OptionalPipelineRegister

40

8

2

Altera CorporationArria Vデバイスのエンベデッド・メモリ

フィードバック

2-21誤り訂正コードの真理値表AV-520022013.05.06

Page 22: Arria Vデバイスのエンベデッド・メモリ 2Arria Vデバイスのエンベデッド・メモリ 2 2013.05.06 AV-52002 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックは高い柔軟性を持ち、デザイン要件に最適な数の

改訂履歴変更内容バージョン日付

• 簡単に参照できるように、それぞれのトピックの関連情報セクションにすべてのリンクを移動。

• ナレッジベースへ既知の文書の問題に関するリンクを追加• 混合ポートに対するRead-During-WriteのRAMの「don't care」出力モードについての説明を修正しました。

• 各コンフィギュレーションでサポートされる最大データ幅についての説明を簡明にするため、サポートされているメモリ・コ

ンフィギュレーションのトピック(シングル・ポートおよび混

合幅のデュアル・ポート)の構造を再編成。

• 情報がシングル・ポートまたはROMモードにのみ適用されることを明確にするため、最大エンベデッド・メモリのコンフィギュ

レーションをリストした表に説明を追加。

• MLABのための混合幅のコンフィギュレーションに関するトピックを削除し、MLABが混合幅のコンフィギュレーションをサポートしていない旨の注記を追加。

2013.05.062013年5月

• コンテンツや更新されたテンプレートを再編。• M20Kメモリ、メモリ機能、およびメモリ容量を含むArriaVGZの情報を追加。

• 参照を容易にするためArriaVデバイスの概要にあるメモリ容量の情報を追加・更新。

• サポートされるメモリ・ブロック・コンフィギュレーションの情報をメモリ・ブロック・コンフィギュレーションの表に移動。

• 各クロック・モードについて簡単な説明を追加。• パック・モードのサポートに関するトピックを追加。• アドレス・クロック・イネーブルのサポートに関するトピックを追加。

• ECCサポートとECCの真理値表についてのトピックを追加。

2012.11.192012年11月

• 章を再編。• 「メモリ・モード」、「クロック・モード」、および「デザイン検討事項」のセクションを更新。

• 表2-1を更新。• 「パリティ・ビット」および「バイト・イネーブル」のセクションを追加。

• Arria Vデバイスの概要にメモリ容量についての情報を移動。

2.02012年6月

• 表2-1を更新。• 章を再編。

1.12011年11月

Arria Vデバイスのエンベデッド・メモリAltera Corporation

フィードバック

AV-52002改訂履歴2-22 2013.05.06