• 検索結果がありません。

2-2 デザイン ガイドライン 表 2-1: 容量と分配 A10-MEMORY タイプ Arria 10 GX Arria 10 GT Arria 10 SX 製品ライン ブロック数 M20K RAM ビット数 (Kb) ブロック数 MLAB RAM ビット数 (Kb) トータル RAM ビット数

N/A
N/A
Protected

Academic year: 2021

シェア "2-2 デザイン ガイドライン 表 2-1: 容量と分配 A10-MEMORY タイプ Arria 10 GX Arria 10 GT Arria 10 SX 製品ライン ブロック数 M20K RAM ビット数 (Kb) ブロック数 MLAB RAM ビット数 (Kb) トータル RAM ビット数"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

Arria 10

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

2

2014.08.18 A10-MEMORY 署名 フィードバック デバイス内のエンベデッド・メモリ・ブロックには柔軟性があり、デザイン要件に合った最適な 小規模メモリ・アレイおよび大規模メモリ・アレイを提供できるようデザインされています。  関連情報

Arria 10 Device Handbook: Known Issues

>Arria 10 Device Handbook の章にて予定される更新をリストします。

エンベデッド・メモリのタイプ

Arria 10 デバイスには以下の 2 タイプのメモリ・ブロックが含まれています。

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

注: > Arria 10 デバイスでは、Resource Property Editor と TimeQuest Timing Analyzer は、割り当 て可能な位置が >M20K_ X<number>_Y<number>_N<number>であっても、M20K ブロックの位

置を >EC_X<number>_Y<number>_N<number>とレポートします。Embedded Cell(EC)は

M20K ブロックのサブ・ロケーションです。   • 640 ビットのメモリ・ロジック・アレイ・ブロック(MLAB)—兼用ロジック・アレイ・ブロ ック(LAB)からコンフィギュレーションされるエンハンスト・メモリ・ブロック。MLAB は幅が広く深さがないメモリ・アレイのために理想的。MLAB はデジタル信号処理(DSP)ア プリケーション、幅が広く深さがない FIFO バッファ、およびフィルタのディレイ・ラインに 使用するシフト・レジスタの実装向けに最適化されている。各 MLAB は 10 個のアダプティ ブ・ロジック・モジュール(ALM)から構成される。 Arria 10 デバイスではこれらの ALM を、各 MLAB につき 1 つの 32 x 20 シンプル・デュアル・ポート SRAM ブロックを提供する 10 個の 32 x 2 ブロックとしてコンフィギュレーションすることが可能 関連情報 エンベデッド・セル(EC) エンベデッド・セルに関する情報 

Arria 10

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

© 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,

ISO 9001:2008

(2)

表 2-1: Arria 10 デバイスのエンベデッド・メモリ容量と分配 タイプ 製品ライン M20K MLAB トータル RAM ビット 数(Kb) ブロック数 RAMビット 数(Kb) ブロック数 RAM数(Kb)ビット Arria 10 GX GX 160 440 8,800 1,680 1,050 9,850 GX 220 588 11,760 2,932 1,833 13,593 GX 270 750 15,000 3,922 2,451 17,451 GX 320 891 17,820 4,582 2,864 20,684 GX 480 1,438 28,760 7,046 4,404 33,164 GX 570 1,800 36,000 8,153 5,096 41,096 GX 660 2,133 42620 9,260 5,788 48,448 GX 900 2,423 48,460 15,017 9,386 57,846 GX 1150 2,713 54,260 20,774 12,984 67,244 Arria 10 GT GT 900 2,423 48,460 15,017 9,386 57,846 GT 1150 2,713 54,260 20,774 12,984 67,244 Arria 10 SX SX 160 440 8,800 1,680 1,050 9,850 SX 220 588 11,760 2,932 1,833 13,593 SX 270 750 15,000 3,922 2,451 17,451 SX 320 891 17,820 4,582 2,864 20,684 SX 480 1,438 28,760 7,046 4,404 33,164 SX 570 1,800 36,000 8,153 5,096 41,096 SX 660 2,133 42620 9,260 5,788 48,448

Arria 10

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

デザインを確実に作成するには、いくつか考慮すべき事項があります。特に注記のない限り、こ れらのデザイン・ガイドラインはこのデバイス・ファミリのすべてのバリアントに適用されま す。

メモリ・ブロックの選択

Quartus II ソフトウェアは、デザインの速度とサイズの制約を考慮して、ユーザー定義のメモリ を自動的にメモリ・ブロック内に分割します。たとえば、Quartus II ソフトウェアは、デザイン の性能を向上させるためにメモリを複数の使用可能なメモリ・ブロックに分割します。  メモリを手動で特定のブロック・サイズに割り当てるには、MegaWizard™ Plug-In Manager で RAM メガファンクションを使用します。 

(3)

MLAB では、Quartus II ソフトウェアのエミュレーションを介してシングル・ポート SRAM を実 装することができます。エミュレーションによって、追加で使用するロジック・リソースが最小 限に抑えられます。 MLAB は兼用アーキテクチャであるため、ブロック内ではデータ入力レジスタ、出力レジスタ、 および書き込みアドレス・レジスタのみが使用可能です。なお、MLAB は ALM から読み取りア ドレス・レジスタを取得します。

ガイドライン:外部の競合解決を実装する  

トゥルー・デュアル・ポート RAM モードでは、同じメモリ位置に 2 つの書き込み動作を実行す ることができます。ただし、メモリ・ブロックは内部に競合解決回路を有しません。アドレスに 未知のデータが書き込まれることを防ぐには、メモリ・ブロックに外部の競合解決ロジックを実 装します。 

ガイドライン:Read-During-Write 動作をカスタマイズする  

デザイン要件に合うよう、メモリ・ブロックの Read-During-Write 動作をカスタマイズします。 図 2-1: Read-During-Write データ・フロー  次の図は、使用可能な 2 つのタイプ(同一ポートと混合ポート)の Read-During-Write 動作にお ける違いを表しています。  Port A

data in Port Bdata in

Port A

data out Port Bdata out

Mixed-port data flow Same-port data flow FPGA Device

同一ポートの Read-During-Write モード

同一ポートの Read-During-Write モードは、シングル・ポート RAM またはトゥルー・デュアル・ ポート RAM の同一ポートに適用します。 表 2-2: 同一ポート Read-During-Write モードでのエンベデッド・メモリ・ブロックの出力モード  次の表は、同一ポート Read-During-Write モードのエンベデッド・メモリ・ブロックを選択する場合に 使用可能な出力モードをリストしています。 出力モード メモリ・タイプ 説明 "new data" (フロースルー) M20K 新しいデータが書き込まれるのと同じクロッ ク・サイクルの立ち上がりエッジで、新しいデ ータが使用可能です。

"don't care" M20K、MLAB RAM は Read-During-Write 動作で"don't care"の 値を出力します。  

A10-MEMORY

(4)

図 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 モードに適用します。  表 2-3: 混合ポート Read-During-Write モードでの RAM の出力モード  出力モード メモリ・タイプ 説明

"new data" MLAB 異なるポートへの Read-During-Write 動作は MLAB のレ ジスタ済み出力を生じさせ、データが MLAB メモリに書 き込まれた後、次の立ち上がりエッジで“new data”を反映 します。

このモードは、出力が登録済みの場合にのみ使用可能で す。   

"old data" M20K、MLAB 異なるポートへの Read-During-Write 動作により、RAM 出 力は特定のアドレスにある“old data”の値を反映します。 MLAB では、このモードは出力が登録済みの場合にのみ使 用可能です。

(5)

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

"don't care" M20K、MLAB RAM は“don’t care”または“unknown”の値を出力します。  • M20K メモリでは、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 the same address at the same time オプション

をオンにします。 "constrained

don't care" MLAB RAM は“don’t care”または“unknown”の値を出力します。Quartus II ソフトウェアは MLAB で書き込み動作と読み 取り動作間のタイミングを分析します。 

図 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 (synch) address_b AAAA BBBB CCCC DDDD EEEE FFFF A0 A1 A0 A1 AAAA BBBB CCCC DDDD EEEE FFFF A10-MEMORY 2014.08.18 混合ポートの Read-During-Write モード   2-5

(6)

図 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 A1 (old data) DDDD EEEE

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

次の図は、“don’t care”または“constrained don’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 01 10 11 AAAA BBBB CCCC DDDD EEEE FFFF デュアル・ポート RAM モードでは、入力レジスタが同じクロックを有する場合に混合ポートの Read-During-Write 動作がサポートされます。  関連情報 内部メモリ(RAM および ROM)のユーザー・ガイド  Read-During-Write 動作を制御する RAM メガファンクションについての詳細を提供します。  2-6 混合ポートの Read-During-Write モード   A10-MEMORY2014.08.18

(7)

ガイドライン:パワーアップ状態およびメモリの初期化 

初期パワーアップ値を評価するロジックをデザインしている場合、次の表にリストしているよう に、異なるタイプのメモリ・ブロックのパワーアップ状態を考慮します。 表 2-4: エンベデッド・メモリ・ブロックの初期パワーアップ値  メモリ・タイプ 出力レジスタ パワーアップ値 MLAB Used ゼロ(クリア) Bypassed メモリの内容を読み取る M20K Used ゼロ(クリア) Bypassed ゼロ(クリア)

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

すべてのメモリ・ブロックは.mif による初期化をサポートします。デザインでメモリをインスタ ンス化する際、Quartus II ソフトウェアで.mif ファイルを生成し、RAM メガファンクションでそ れらの使用を指定することができます。メモリが事前に初期化される(たとえば.mif を使用し て)場合でも、出力がクリアされた状態でパワーアップします。  関連情報 • 内部メモリ(RAM および ROM)のユーザー・ガイド >.mif ファイルについての詳細を提供します。Quartus II ハンドブック >.mif ファイルについての詳細を提供します。

ガイドライン:クロッキングをコントロールして消費電力を削減する 

デザイン内の各メモリ・ブロックの AC 消費電力を削減します。  • Arria 10 メモリ・ブロックのクロック・イネーブルを使用して、各メモリ・ブロックのクロッ キングを制御します。  • 読み取りイネーブル信号を使用して、必要なときにのみ読み取り動作が実行されるようにし ます。Read-During-Write が不要なデザインの場合、書き込み動作中またはメモリ動作が実行 されていない期間に読み取りイネーブル信号をディアサートすることによって消費電力を削 減することができます。  • Quartus II ソフトウェアを使用して未使用のメモリ・ブロックを自動的に低消費電力モードに し、スタティック消費電力を削減します。 A10-MEMORY 2014.08.18 ガイドライン:パワーアップ状態およびメモリの初期化  2-7

(8)

エンベデッド・メモリ機能

表 2-5: Arria 10 デバイスのメモリ機能 次の表は、エンベデッド・メモリ・ブロックでサポートされる機能を示しています。 機能 M20K MLAB 最大動作周波数 730 MHz 700 MHz トータル RAM ビット数(パリティ・ビット を含む) 20,480 640 パリティ・ビット サポートあり サポートあり バイト・イネーブル サポートあり サポートあり パック・モード サポートあり — アドレス・クロック・イネーブル サポートあり サポートあり シンプル・デュアル・ポートの異なるデータ 幅 サポートあり — トゥルー・デュアル・ポートの異なるデータ 幅 サポートあり — FIFO バッファの異なるデータ幅 サポートあり — メモリ初期化ファイル(.mif) サポートあり サポートあり 混合クロック・モード サポートあり サポートあり 完全同期メモリ サポートあり サポートあり 非同期メモリ — フロースルー読み取りメモリ動 作向け。  パワーアップ・ステート 出力ポートはクリア されます。 • 登録済みの出力ポート—クリア • 未登録の出力ポート—メモ リ内容の読み取り 非同期クリア 出力レジスタと出力 ラッチ 出力レジスタと出力ラッチ 書き込み/読み取り動作のトリガ 立ち上がりクロッ ク・エッジ 立ち上がりクロック・エッジ 同一ポートの Read-During-Write 出力ポートは"new data"または"don't care"に設定されま す。  出力ポートは"don't care"に設定 されます。   2-8 エンベデッド・メモリ機能 A10-MEMORY2014.08.18

(9)

機能 M20K MLAB 混合ポートの Read-During-Write 出力ポートは"old data"または"don't care"に設定されま す。 出力ポートは"old data"、"new data"、"don't care"、または "constrained don't care"に設定さ れます。 ECC サポート Quartus II ソフトウ ェアを使用してソフ ト IP をサポートし ます。  x32 ビット幅シンプ ル・デュアル・ポー ト・モードのビルト イン・サポートを有 します。  Quartus II ソフトウェアを使用 してソフト IP をサポートしま す。 関連情報 内部メモリ(RAM および ROM)のユーザー・ガイド エンベデッド・メモリ機能についての詳細を提供します。

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

表 2-6: Arria 10 デバイス向けにサポートされるエンベデット・メモリ・ブロックのコンフィギュレーシ ョン 次の表は、エンベデット・メモリ・ブロック向けにサポートされる最大のコンフィギュレーションをリ ストしています。この情報はシングル・ポート RAM および ROM モードのみに適用されます。 メモリ・ブロック 深度(ビット) プログラム可能な幅 MLAB 32 x16、x18、または x20 64(1) x8、x9、x10 M20K 512 x40、x32 1K x20、x16 2K x10、×8 4K x5、x4 8K x2 16K x1

幅の異なるポートのコンフィギュレーション

幅の異なるポートのコンフィギュレーションは、シンプル・デュアル・ポート RAM およびトゥ ルー・デュアル・ポート RAM のメモリ・モードでサポートされます。  (1) ソフトウェア・エミュレーションによって使用可能になり、追加の MLAB ブロックを消費します。 A10-MEMORY 2014.08.18 エンベデッド・メモリ・コンフィギュレーション 2-9

(10)

注: MLAB は幅の異なるポートのコンフィギュレーションをサポートしません。  関連情報 内部メモリ(RAM および ROM)のユーザー・ガイド デュアル・ポート混合幅のサポートについての詳細を提供します。 

M20K

ブロックの幅の異なるコンフィギュレーション 

次の表は、シンプル・デュアル・ポート RAM モードでの M20K ブロックの幅の異なるコンフィ ギュレーションをリストしています。 表 2-7: M20K ブロックの幅の異なるコンフィギュレーション(シンプル・デュアル・ポート RAM モー ド) 読み取 りポー 書き込みポート 16K x 1 8K x 2 4K x 4 4K x 5 2K x 8 2K x 10 1K x 16 1K x 20 512 x 32 512 x 40 16K x 1 あり あり あり — あり — あり — あり — 8K x 2 あり あり あり — あり — あり — あり — 4K x 4 あり あり あり — あり — あり — あり — 4K x 5 — — — あり — あり — あり — あり 2K x 8 あり あり あり — あり — あり — あり — 2K x 10 — — — あり — あり — あり — あり 1K x 16 あり あり あり — あり — あり — あり — 1K x 20 — — — あり — あり — あり — あり 512 x 32 あり あり あり — あり — あり — あり — 512 x 40 — — — あり — あり — あり — あり 次の表は、トゥルー・デュアル・ポート・モードでの M20K ブロックの幅の異なるコンフィギュ レーションをリストしています。 2-10 M20Kブロックの幅の異なるコンフィギュレーション  A10-MEMORY2014.08.18

(11)

表 2-8: M20K ブロックの幅の異なるコンフィギュレーション(トゥルー・デュアル・ポート・モード) ポート A ポート B 16K x 1 8K x 2 4K x 4 4K x 5 2K x 8 2K x 10 1K x 16 1K x 20 16K x 1 あり あり あり — あり — あり — 8K x 2 あり あり あり — あり — あり — 4K x 4 あり あり あり — あり — あり — 4K x 5 — — — あり — あり — あり 2K x 8 あり あり あり — あり — あり — 2K x 1 0 — — — あり — あり — あり 1K x 1 6 あり あり あり — あり — あり — 1K x 2 0 — — — あり — あり — あり

エンベデッド・メモリ・モード

意: メモリ内容の破損を防ぐには、読み取りまたは書き込み動作中、セットアップに違反したり、メモリ・ブロック入力レジスタのホールド・タイムに違反しないでください。 これは シングル・ポート RAM、シンプル・デュアル・ポート RAM、トゥルー・デュアル・ポー ト RAM、または ROM モードでメモリ・ブロックを使用する場合に適用できます。 表 2-9: エンベデッド・メモリ・ブロックでサポートされるメモリ・モード  次の表では、Arria 10 のエンベデッド・メモリ・ブロックでサポートされるメモリ・モードをリストし、 説明しています。 メモリ・モード M20Kポートサ MLABポートサ 説明 シングル・ポー ト RAM あり あり 読み取りまたは書き込み動作は、1 度にどちらか 1 回だけ実行することができます。 書き込み動作中は、読み取りイネーブル・ポートを使用し て RAM の出力ポートの動作を制御します。  • 直近のアクティブ読み取りイネーブル中に保持してい た以前の値を継続して保持する—読み取りイネーブ ル・ポートを作成し、読み取りイネーブル・ポートが ディアサートされた状態で書き込み動作を実行しま す。 • 同じアドレス位置で Read-During-Write が実行される 際、新しく書き込まれているデータ、アドレスにある 古いデータ、または"Don't Care"の値を表示する—読み 取りイネーブル信号を作成しないか、あるいは書き込 み動作中に読み取りイネーブルを有効にします。  A10-MEMORY 2014.08.18 エンベデッド・メモリ・モード 2-11

(12)

メモリ・モード M20Kポートサ MLABポートサ 説明 シンプル・デュ アル・ポート RAM あり あり 書き込み動作がポート A で実行され、読み取り動作がポ ート B で実行される別のロケーションに、読み取りおよ び書き込み動作を 1 度ずつ、同時に実行することができま す。  トゥルー・デュ アル・ポート RAM あり — 2 つの異なるクロック周波数で、2 つのポート動作の任意 の組み合わせ(2 つの読み取り、2 つの書き込み、または 1 つの読み取りと 1 つの書き込み)を実行することができ ます。  シフト・レジス タ あり あり メモリ・ブロックをシフト・レジスタ・ブロックとして使用して、ロジック・セルと配線リソースを節約することが できます。 これは、有限インパルス応答(FIR)フィルタ、擬似ラン ダム数発生器、マルチチャネル・フィルタリング、自己相 関関数および相互相関関数など、ローカル・データ・スト レージを必要とする DSP アプリケーションで有用です。 従来、ローカル・データ・ストレージは標準的なフリッ プ・フロップで実装されていたため、大きなシフト・レジ スタのために多数のロジック・セルを消費していました。 入力データ幅(w)、タップの長さ(m)、およびタップの 数(n)によってシフト・レジスタの容量(w × m × n)を決 定します。より大きなシフト・レジスタを実装するために メモリ・ブロックをカスケード接続することができます。 ROM あり あり ROM としてメモリ・ブロックを使用することができま す。 

• .mif または.hex を使用してメモリ・ブロックの ROM の 内容を初期化します。 • ROM のアドレス・ラインは M20K ブロックでレジスタ されますが、MLAB ではレジスタされない場合があり ます。  • 出力はレジスタすることも、しないことも可能で す。   • 出力レジスタは非同期クリア可能です。  • ROM の読み取り動作は、シングル・ポート RAM コン フィギュレーションにおける読み取り動作と同じで す。 2-12 エンベデッド・メモリ・モード A10-MEMORY2014.08.18

(13)

メモリ・モード M20Kポートサ MLABポートサ 説明 FIFO あり あり FIFO バッファとしてメモリ・ブロックを使用することが できます。SCFIFO および DCFIFO メガファンクション を使用して、デザイン内にシングル・クロック非同期 FIFO バッファおよびデュアル・クロック非同期 FIFO バッファ を実装します。 小規模で浅い FIFO バッファを多数有するデザインでは、 MLAB は FIFO モードに最適です。ただし、MLAB は混合 幅の FIFO モードをサポートしません。 関連情報 • 内部メモリ(RAM および ROM)のユーザー・ガイド メモリ・モードについての詳細を提供します。  • RAM ベース・シフト・レジスタ(ALTSHIFT_TAPS)メガファンクションのユーザー・ガイ ド シフト・レジスタ・モードの実装についての詳細を提供します。 • SCFIFO および DCFIFO メガファンクションのユーザー・ガイド   FIFO バッファの実装についての詳細を提供します。 

エンベデッド・メモリのクロッキング・モード

この項では、Arria 10 メモリ・ブロックのクロッキング・モードについて説明します。 注意: メモリ内容の破損を防ぐには、読み取りまたは書き込み動作中、セットアップに違反した り、メモリ・ブロック入力レジスタのホールド・タイムに違反しないでください。 

各メモリ・モードのクロッキング・モード

表 2-10: 各メモリ・モードでサポートされるメモリ・ブロックのクロッキング・モード クロッキング・モード メモリ・モード シングル・ポ ート シンプル・デュアル・ポー トゥルー・デ ュアル・ポー ROM FIFO シングル・クロック・モ ード あり あり あり あり あり 読み取り/書き込みクロッ ク・モード — あり — — あり 入力/出力クロック・モー ド あり あり あり あり — 独立クロック・モード — — あり あり — A10-MEMORY 2014.08.18 エンベデッド・メモリのクロッキング・モード 2-13

(14)

注: MLAB ブロックの書き込みアドレス、バイト・イネーブル、およびデータ入力レジスタでは クロック・イネーブル信号はサポートされません。

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

シングル・クロック・モードでは、シングル・クロックはクロック・イネーブルと併用してメモ リ・ブロックのすべてのレジスタを制御します。 

読み取り/書き込みクロック・モード

読み取り/書き込みクロック・モードでは、各読み取りポートと書き込みポートに個別のクロッ クが使用できます。読み取りクロックはデータ出力、読み取りアドレス、および読み取りイネー ブル・レジスタを制御します。書き込みクロックはデータ入力、書き込みアドレス、書き込みイ ネーブル、およびバイト・イネーブル・レジスタを制御します。 

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

入力/出力クロックモードでは、各入力ポートと出力ポートに個別のクロックが使用できます。 入力クロックは、データ、アドレス、バイト・イネーブル、読み取りイネーブル、および書き込 みイネーブルを含むメモリ・ブロックへのデータ入力に関係するすべてのレジスタを制御しま す。出力クロックはデータ出力レジスタを制御します。

独立クロック・モード

独立クロック・モードでは、各ポート(A および B)に個別のクロックが使用できます。クロッ ク A はポート A 側のすべてのレジスタを制御します。クロック B はポート B 側のすべてのレ ジスタを制御します。 注: 消費電力を節約するために、異なる入力および出力レジスタに独立クロック・イネーブルを 作成し、特定のレジスタのシャット・ダウンを制御することができます。使用する独立クロ ック・イネーブルを設定するには、パラメータ・エディタで More Options(クロック・イネ ーブル・オプションの隣)をクリックします。 

クロッキング・モードにおける非同期クリア 

非同期クリアは、すべてのクロッキング・モードで出力ラッチと出力レジスタにのみ使用できま す。なお、独立クロック・モードでは、非同期クリアは両ポートに適用可能です。  

同時の読み取り/書き込みにおける出力読み取りデータ  

読み取り/書き込みクロック・モードを使用して同じアドレス位置に同時に読み取り/書き込みを 実行する場合、出力読み取りデータは未知の値となります。出力読み取りデータが既知の値とし て必要な場合は、シングル・クロック・モードまたは入力/出力クロック・モードを使用して、 MegaWizard Plug-In Manager で適切な Read-During-Write 動作を選択します。 

クロッキング・モードにおける独立クロック・イネーブル 

独立クロック・イネーブルは、次のクロッキング・モードでサポートされます。 • 読み取り/書き込みクロック・モード—読み取りおよび書き込みクロックの両方でサポートさ れます。  • 独立クロック・モード—両ポートのレジスタでサポートされます。  2-14 シングル・クロック・モード A10-MEMORY2014.08.18

(15)

消費電力を節約するには、クロック・イネーブルを使用して特定のレジスタのシャット・ダウン を制御することができます。 関連情報 2-7 ページの ガイドライン:クロッキングをコントロールして消費電力を削減する 

メモリ・ブロックのパリティ・ビット

表 2-11: エンベデッド・メモリ・ブロックにおけるパリティ・ビットのサポート 次の表は、メモリ・ブロックのパリティ・ビットのサポートについて説明しています。 M20K MLAB • パリティ・ビットは、データ幅 5、10、20、 40(ビット 4、9、14、19、24、29、34、およ び 39)の各 4 データ・ビットに関連付けら れた 5 番目のビットです。 • 非パリティ・データ幅では、読み取りまたは 書き込み動作中、パリティ・ビットはスキッ プされます。 • パリティ機能はパリティ・ビット上で実行さ れません。 • パリティ・ビットは、各バイトに関連付けら れている 9 番目のビットです。 • 9 番目のビットはパリティ・ビットを格納し たり、追加のビットとして機能させることが できます。 • パリティ機能はパリティ・ビット上で実行さ れません。

エンベデッド・メモリ・ブロックにおけるバイト・イネーブル 

エンベデッド・メモリ・ブロックはバイト・イネーブル・コントロールをサポートします。 • バイト・イネーブル・コントロールは、データの特定のバイトのみが書き込まれるよう入力 データをマスクします。書き込まれないバイトは以前に書き込まれた値を保持します。 • 書き込みイネーブル(wren)信号は、バイト・イネーブル( byteena)信号と共に RAM ブロ

ック上の書き込み動作を制御します。デフォルトでは、byteena信号は High(イネーブル) となっており、書き込み動作はwren信号によってのみ制御されます。 • バイト・イネーブル・レジスタはclearポートを有しません。 • パリティ・ビットを使用している場合、M20K ブロックでは、バイト・イネーブル機能は 8 デ ータ・ビットと 2 パリティ・ビットを制御します。MLAB では、バイト・イネーブル機能は 最も広いモードで 10 ビットすべてを制御します。 • バイト・イネーブルは 1 ホット形式で動作します。byteena信号の LSB はデータ・バスの LSB に対応します。 • バイト・イネーブルはアクティブ High です。  

メモリ・ブロックにおけるバイト・イネーブル・コントロール

表 2-12: x20 データ幅のbyteenaコントロール   byteena[1:0] 書き込まれるデータ・ビット  11 (デフォルト) [19:10] [9:0] A10-MEMORY 2014.08.18 メモリ・ブロックのパリティ・ビット 2-15

(16)

byteena[1:0] 書き込まれるデータ・ビット  10 [19:10] — 01 — [9:0] 表 2-13: 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] 注: M20K ブロックで ECC 機能を使用する場合、バイト・イネーブル機能を使用することはでき ません。

データ・バイト出力 

M20K ブロックまたは MLAB では、書き込みサイクルの間にバイト・イネーブル・ビットがディ アサートされると、対応するデータ・バイト出力が“don't care”値あるいは現在のデータとしてそ の位置に現れます。ユーザーは、Quartus II ソフトウェアを使用して M20K ブロックまたは MLAB でマスクされたバイトの出力値を制御することができます。  2-16 データ・バイト出力  A10-MEMORY2014.08.18

(17)

RAM

ブロックの動作  

図 2-6: バイト・イネーブル機能の波形

この図は、wren信号とbyteena信号が RAM ブロックの動作を制御する方法を図示していま

す。  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 ABCDEF12 XXXXXXXX ABCDEF12 XXXX 1000 0100 0010 0001 1111 XXXX FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFF12 FFFFFF12 FFFFEFFF FFFFEFFF FFCDFFFF FFCDFFFF ABFFFFFF ABFFFFFF ABFFFFFF doutn doutn

ABXXXXXX XXCDXXXX XXXXEFXX XXXXXX12 ABCDEF12

ABFFFFFF ABCDEF12

メモリ・ブロックのパック・モード・サポート

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

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

エンベデッド・メモリ・ブロックはアドレス・クロック・イネーブルをサポートし、信号がイネ ーブルされている間、前のアドレス値を保持します(addressstall = 1)。メモリ・ブロックが デュアル・ポート・モードでコンフィギュレーションされると、各ポートは独自の独立したアド レス・クロック・イネーブルを有します。アドレス・クロック・イネーブル信号のデフォルト値 は Low(ディセーブル)です。 A10-MEMORY 2014.08.18 RAMブロックの動作   2-17

(18)

図 2-7: アドレス・クロック・イネーブル この図は、アドレス・クロック・イネーブルのブロック図を示しています。アドレス・クロッ ク・イネーブルは、ポート名addressstallで参照されます。  address[0] address[N] addressstall clock 1 0 address[0]register address[N] register address[N] address[0] 1 0 図 2-8: 読み取りサイクル中のアドレス・クロック・イネーブルの波形   この図は、読み取りサイクル時のアドレス・クロック・イネーブルの波形を示しています。  inclock rden rdaddress q (synch) a0 a1 a2 a3 a4 a5 a6 q (asynch) an a0 a4 a5 latched address (inside memory)

dout0 dout1 dout4 dout4 dout5 addressstall

a1 doutn-1 doutn

doutn dout0 dout1

(19)

図 2-9: 書き込みサイクル中のアドレス・クロック・イネーブルの波形 この図は、書き込みサイクル時のアドレス・クロック・イネーブルの波形を示しています。

inclock

wren

wraddress

a0

a1

a2

a3

a4

a5

a6

an

a0

a4

a5

latched 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

04

XX

00

03

01

XX

02

XX

XX

XX

05

メモリ・ブロックの非同期クリア

M20K メモリ・ブロックは、出力ラッチおよび出力レジスタの非同期クリアをサポートします。 RAM が出力レジスタを使用していない場合でも、出力ラッチの非同期クリアを使用して RAM 出力をクリアします。  このクリアは非同期信号であり、任意の時点で生成されます。クリア・パルスは、内部ロジック によって出力クロックの次の立ち上がりエッジまで拡張されます。クリアがアサートされると、 出力がクリアされ、次の読み取りサイクルまでクリアされたままです。 A10-MEMORY 2014.08.18 メモリ・ブロックの非同期クリア 2-19

(20)

図 2-10: Arria 10 デバイスにおける出力ラッチのクリア(非 ECC モード)  clk aclr clr at latch out D 2 rden D 0 D 1 図 2-11: Arria 10 デバイスにおける出力ラッチのクリア(ECC モード)  clk aclr clr at latch out D 2 rden D 0 D 0 D 1 cken

メモリ・ブロックの誤り訂正コード・サポート 

ECC は、メモリの出力時にデータのエラーを検出し、訂正することを可能にします。ECC は 32 ビット・ワードでシングル・エラー訂正、ダブル隣接エラー訂正、およびトリプル隣接エラー検 出を実行することができます。ただし、ECC は 4 つ以上のエラーを検出することはできません。 x32 ビット幅シンプル・デュアル・ポート・モードのとき、M20K ブロックは ECC のビルトイ 2-20 メモリ・ブロックの誤り訂正コード・サポート  A10-MEMORY2014.08.18

(21)

• ECC が有効のとき、M20K は非 ECC シンプル・デュアル・ポート・モードよりも低速で実行 します。ただし、レイテンシの 1 サイクルを犠牲にして非パイプライン ECC モードより高い パフォーマンスを達成するために、出力デコーダ前にオプションの ECC パイプライン・レジ スタをイネーブルすることができます。   • M20K の ECC ステータスは、2 つの ECC ステータス・フラグ信号、すなわち e(エラー)とue (訂正不可能なエラー)と通信されます。ステータス・フラグはメモリ・ブロックからの通常 の出力の一部です。ECC が有効のとき、ECC ステータス・フラグは 2 つのパリティ・ビット を置き換えるため、これらのパリティ・ビットにアクセスすることはできません。

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

表 2-14: ECC ステータス・フラグの真理値表  e(エラー) eccstatus[1] ue(訂正不可能なエラー)  eccstatus[0] ステータス 0 0 エラーなし 0 1 無効 1 0 訂正可能なエラーが発生し、エラーは出 力で訂正されました。ただし、メモリ・ アレイは更新されていません。  1 1 訂正不可能なエラーが発生し、出力に訂 正不可能なデータが表示されます。  ECC を有効にする場合、 • バイト・イネーブル機能を使用することはできません。 • Read-During-Write の古いデータ・モードはサポートされません。  図 2-12: M20K メモリの ECC のブロック図 Input Register 32 Memory

Array DecoderECC

Status Flag Generation Output Register 40 40 40 40 ECC Encoder 8 32 Optional Pipeline Register 40 8 2

改訂履歴

A10-MEMORY 2014.08.18 誤り訂正コードの真理値表  2-21

(22)

日付 バージョン 変更内容

2014 年 8 月 2014.08.18 • ECC モードの出力ラッチのクリアに新しいタイミング図を追 加。 

• Arria 10 デバイスでは、Resource Property Editor と TimeQuest タ イミング・アナライザが M20K ブロックの位置をEC_X<number> _Y<number>_N<number>としてレポートすることを明確化するた めに注を追加。 • Arria 10 GX 660 および Arria 10 SX 660 の M20K ブロック内の RAM ビット値を更新。 2013 年 12 月 2013.12.02 初版 2-22 改訂履歴 A10-MEMORY2014.08.18

表 2-1: Arria 10 デバイスのエンベデッド・メモリ容量と分配 タイプ 製品ライン M20K MLAB トータル RAM ビット数(Kb)ブロック数RAMビット数(Kb)ブロック数RAMビット数(Kb) Arria 10 GX GX 160 440 8,800 1,680 1,050 9,850GX 22058811,7602,9321,833 13,593GX 27075015,0003,9222,45117,451GX 32089117,8204,5822,86420,684GX 4801,4
図 2-2: 同一ポートの Read-During-Write:New Data モード 
図 2-3: 混合ポートの Read-During-Write:New Data モード
図 2-4: 混合ポートの Read-During-Write:Old Data モード
+6

参照

関連したドキュメント

不明点がある場合は、「質問」機能を使って買い手へ確認してください。

機能名 機能 表示 設定値. トランスポーズ

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

ある周波数帯域を時間軸方向で複数に分割し,各時分割された周波数帯域をタイムスロット

定可能性は大前提とした上で、どの程度の時間で、どの程度のメモリを用いれば計

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

“〇~□までの数字を表示する”というプログラムを組み、micro:bit

機器表に以下の追加必要事項を記載している。 ・性能値(機器効率) ・試験方法等に関する規格 ・型番 ・製造者名