Altera Cyclone II M4K メモリ デバイス・ハンドブック

Altera Cyclone II M4K メモリ デバイス・ハンドブック

Cyclone II M4K は、FPGA デザインのオンチップ・メモリの要件に対応するエンベデッド・メモリ構造を特長としています。エンベデッド・メモリ構造は M4K メモリ・ブロックのカラムで構成され、RAM、FIFO(First-In First-Out)バッファ、ROM など、さまざまなメモリ機能を提供するようにコンフィギュレーションできます。

広告

アシスタントボット

助けが必要ですか? 私たちのチャットボットは既にマニュアルを読んでおり、あなたをサポートする準備ができています。 デバイスに関する質問はお気軽にどうぞ、詳細を提供することで会話がより生産的になります。

マニュアル 質問
Altera Cyclone II M4K メモリ デバイス・ハンドブック | Manualzz

8. Cyclone II メモリ・ブロック

この資料は更新された最新の英語版が存在します。こちらの日本語版は参考用としてご利用ください。

設計の際には、最新の英語版で内容をご確認ください。

CII51008-1.1

はじめに

概要

Cyclone™ II デバイスは、FPGA デザインのオン・チップ・メモリの要件に

対応するエンベデッド・メモリ構造を特長としています。エンベデッド・

メモリ構造は M4K メモリ・ブロックのカラムで構成され、RAM、FIFO

( First-In First-Out)バッファ、ROM など、さまざまなメモリ機能を提供す

るようにコンフィギュレーションできます。 M4K メモリ・ブロックは、最

大 250-MHz の動作で 1 M ビットを超える RAM を提供します(集積度別

のトータル

RAM ビット数については、 8–3 ページ の 表 8–2

を参照)

M4K ブロックは、以下の機能をサポートしています。

利用可能なロジックを減らすことなく、 1M ビットを超える RAM を使

用可能

1 ブロックあたり 4,096 メモリ・ビット(パリティを含め 1 ブロックあ

たり 4,608 ビット)

可変ポート・コンフィギュレーション

トゥルー・デュアル・ポート( 1 リードおよび 1 ライト、2 リード、ま

たは 2 ライト)動作

ライト中のデータ入力マスキング用のバイト・イネーブル

RAM モードおよび ROM モードでメモリの内容をプリロードするため

の初期化ファイル

最大 250-MHz 動作

表 8–1

に M4K メモリでサポートされる機能をまとめます。

表 8–1. M4K メモリの特長の要約 ( 1 / 2 )

機能

最大性能

(1)

トータル RAM ビット数

( パリティ・ビットを含む )

M4K ブロック数

250 MHz

4,608

Altera Corporation

2005 年 2 月

8–1

概要

表 8–1. M4K メモリの特長の要約 ( 2 / 2 )

機能

コンフィギュレーション

パリティ・ビット

バイト・イネーブル

パッキング・モード

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

シングル・ポート・モード

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

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

M4K ブロック数

4K × 1

2K × 2

1K × 4

512 × 8

512 × 9

256 × 16

256 × 18

128 × 32

128 × 36

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

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

(2)

√√√√

ROM モード

FIFO バッファ

(2)

√√√√

√√√√

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

混在サポート

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

混在サポート

メモリ初期化ファイル(.mif

混合クロック・モード

パワー・アップ条件

レジスタ・クリア

同一ポートに対するライト中リード

√√√√

√√√√

√√√√

√√√√

出力がクリア

出力レジスタのみ

クロックの立上りエッジで新しいデー

タが利用可能

混合ポートに対するライト中リード クロックの立上りエッジで古いデータ

が利用可能

表 8–1

の注:

(1) 最大性能情報は、デバイス特性が最終決定されるまでは暫定仕様です。

(2) FIFO バッファおよびエンベデッド・シフト・レジスタは、コントロール・ロ

ジックの実装に外部ロジック・エレメント( LE)を必要とします。

8–2

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

表 8–2

に、各 Cyclone II デバイス・ファミリ・メンバにおける M4K メモ

リ・ブロックの容量と分配を示します。

表 8–2. Cyclone II デバイスの M4K ブロックの数

デバイス

EP2C5

EP2C8

EP2C20

EP2C35

EP2C50

EP2C70

M4K ブロック数

26

36

52

105

129

250

トータル RAM ビット数

119,808

165,888

239,616

483,840

594,432

1,152,000

コントロール信号

図 8-1

に、レジスタ・クロック、クリア、およびコントロール信号が

Cyclone II メモリ・ブロックにどのように実装されるかを示します。

クロック・イネーブル・コントロール信号は、入力レジスタと出力レジ

スタだけでなく、メモリ・ブロック全体に入力されるクロックを制御し

ます。この信号はクロックをディセーブルするため、メモリ・ブロック

がクロック・エッジを認識したり、何らかの動作を実行したりすること

はありません。

Cyclone II デバイスは、メモリ・ブロックへの入力レジスタの非同期ク

リア信号をサポートしていません。出力レジスタのみ非同期クリアをサ

ポートします。 M4K ブロックのレジスタをリセットするには、デバイス

をパワー・アップする、出力レジスタにのみ aclr 信号を使用する、

DEV_CLRn オプションを使用してデバイス・ワイドのリセット信号をア

サートする、の 3 通りの方法があります。

Altera Corporation

2005 年 2 月

8–3

Cyclone II デバイス・ハンドブック Volume 1

概要

図 8-1. M4K コントロール信号選択

専用ロウ

LAB クロック

6

ローカル接続

ローカル接続

ローカル接続

ローカル接続

ローカル接続

ローカル接続

ローカル接続

ローカル接続

ローカル接続

ローカル接続

ローカル接続

ローカル接続 clock_a clock_b clocken_a clocken_b renwe_a renwe_b aclr_a aclr_b addressstall_b addressstall_a byteena_a byteena_b

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

追加ロジックを LE に実装してデータ・インテグリティが保証されている

場合は、パリティ・ビットを使用したパリティ・チェックによるエラー検

出が可能です。また、パリティ・サイズのデータ・ワードは、ユーザが指

定したコントロール・ビットの格納など、その他の目的にも使用できます。

詳細については、 Using Parity to Detect Memory Errors White Paper」

を参照してください。

8–4

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

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

すべての M4K メモリ・ブロックは、入力データをマスクしてデータの

特定のバイトだけが書き込まれるようにするバイト・イネーブルをサ

ポートしています。書き込まれなかったバイトは、前に書き込まれた値

を保持します。ライト・イネーブル( wren)信号は、バイト・イネーブ

ル( byteena)信号とともに、RAM ブロックのライト動作を制御しま

す。バイト・イネーブル信号のデフォルト値は High(イネーブル)で

あり、この場合、ライト動作はライト・イネーブル信号でのみ制御され

ます。バイト・イネーブル・レジスタへのクリア・ポートはありません。

M4K ブロックは、ライト・ポートのデータ幅が 1、2、4、8、9、16、18、

32、または 36 ビットのときにはバイト・イネーブルをサポートします。

1、2、4、8、および 9 ビットのデータ幅を使用する場合、データ幅は 1

バイト以下になるため、バイト・イネーブルは冗長ライト・イネーブル

として動作します。 表 8–3

にバイトの選択をまとめます。

表 8–3. Cyclone II M4K ブロックに対するバイト・イネーブル

注 (1)

byteena[3..0]

[0] = 1

[1] = 1

[2] = 1 datain

××××1

[0]

-

(2)

datain

××××2

[1..0]

-

(2)

datain

××××4

[3..0]

-

(2)

影響を受けるバイト datain

××××8

[7..0]

-

(2)

datain

××××9

[8..0]

-

(2)

datain

××××16

[7..0]

[15..8]

datain

××××18

[8..0]

[17..9]

datain

××××32

[7..0]

[15..8] datain

××××36

[8..0]

[17..9]

[23..16] [26..18]

[3] = 1 [31..24] [35..27]

表 8–3

の注:

(1) どのバイト・イネーブルの組み合わせでも可能です。

(2) トゥルー・デュアル・ポート・モードでは、 byteena[0] を 1 に、byteena[2] を 1 に設定します。

図 8-2

に、 wren 信号と byteena 信号が RAM の動作を制御する方法を

示します。

ライト・サイクルの間に、バイト・イネーブル・ビットがデアサートさ

れた場合、対応するデータ・バイト出力が、 don't care」または未知の

値として現れます。ライト・サイクル中にバイト・イネーブル・ビット

がアサートされた場合、対応するデータ・バイト出力が、新規に書き込

まれるデータになります。

Altera Corporation

2005 年 2 月

8–5

Cyclone II デバイス・ハンドブック Volume 1

概要

図 8-2. Cyclone II バイト・イネーブル機能の波形 inclock wren address data an

XXXX

XX byteena contents at a0

FFFF contents at a1 contents at a2 q (asynch)

FFFF doutn a0

10

FFFF

ABXX a1

ABCD

01

XXCD a2

11

ABFF

ABCD a0

FFCD

ABFF

ABCD a1

XXXX

XX

FFCD a2

ABCD

パッキング・モードのサポート

Cyclone II M4K メモリ・ブロックは、パッキング・モードをサポートし

ています。以下の条件に基づいて、単一ブロックに 2 つのシングル・ポー

ト・メモリ・ブロックを実装できます。

2 つの独立したブロックのサイズがそれぞれ、M4K ブロック・サイズ

の半分以下であること。

シングル・ポート・メモリ・ブロックがそれぞれ、シングル・クロッ

ク・モードでコンフィギュレーションされること。

詳細については、 8–9 ページ の 「シングル・ポート・モード」

および

8–24

ページ の 「シングル・クロック・モード」

を参照してください。

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

Cyclone II M4K メモリ・ブロックは、直前のアドレス値を必要になるまで

保持するアドレス・クロック・イネーブルをサポートします。メモリ・ク

ロックがデュアル・ポート・モードでコンフィギュレーションされると、

各ポートは独自の独立したアドレス・クロック・イネーブルを持ちます。

8–6

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

図 8-3

に、アドレス・クロック・イネーブルのブロック図を示します。

アドレス・レジスタ出力は、マルチプレクサを介してその入力にフィー

ドバックされます。マルチプレクサ出力は、アドレス・クロック・イネー

ブル( addressstall)信号で選択されます。addressstall 信号が

High(アクティブ High)になると、アドレス・ラッチがイネーブルさ

れます。これにより、アドレス・レジスタの出力は、 addressstall 信

号が Low になるまで、そのレジスタの入力に継続的に供給されます。

図 8-3. Cyclone II アドレス・クロック・イネーブルのブロック図 address[0]

1

0 address[0]

レジスタ address[0]

1

0 address[N]

レジスタ address[N] address[N] addressstall

クロック

アドレス・クロック・イネーブルは通常、キャッシュ・ミス時の効率を

改善するために、キャッシュ・メモリ・アプリケーションに使用されま

す。アドレス・クロック・イネーブル信号のデフォルト値は Low(ディ

セーブル)です。 図 8-4

および

8-5

に、それぞれリード・サイクルおよび

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

Altera Corporation

2005 年 2 月

8–7

Cyclone II デバイス・ハンドブック Volume 1

メモリ・モード

図 8-4. Cyclone II アドレス・クロック・イネーブルのリード・サイクル時の波形

inclock rdaddress rden a0 addressstall latched address

(inside memory) an q (synch) doutn-1 q (asynch) doutn a0 a1 doutn dout0 a2 dout0 dout1 a1 a3 dout1 dout1 a4 dout1 dout1 a4 a5 dout1 dout4 a5 a6 dout4 dout5

図 8-5. Cyclone II アドレス・クロック・イネーブルのライト・サイクル時の波形

inclock wraddress data wren addressstall latched address

(inside memory) contents at a0 contents at a1 contents at a2 contents at a3 contents at a4 contents at a5 an

XX a0

00

XX a0 a1

01

01

XX a2

02

XX a1

XX

02

XX a3

03

00 a4

04 a4

03 a5

05

04 a5

05 a6

06

メモリ・モード

Cyclone II M4K メモリ・ブロックは、ライト動作に同期する入力レジス

タおよびデータをパイプライン化する出力レジスタを搭載し、それに

よってシステム性能を向上させています。すべての M4K メモリ・ブロッ

クは完全に同期型であり、入力はすべてレジスタを介して送信する必要

があるが、出力はレジスタを介して送信する(パイプライン化)か、ま

たはレジスタをバイパスする(フロー・スルー)ことができます。

8–8

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

M4K メモリ・ブロックは非同期メモリ(非ラッチ入力)をサポー

トしません。

M4K メモリ・ブロックは、以下のモードをサポートしています。

シングル・ポート

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

トゥルー・デュアル・ポート(双方向デュアル・ポート)

シフト・レジスタ

ROM

FIFO バッファ

メモリ・ブロック・アドレス・レジスタに対するセットアップま

たはホールド・タイム違反があると、メモリの内容が破壊される

可能性があります。これはリードおよびライトの両方の動作に当

てはまります。

シングル・ポート・モード

シングル・ポート・モードでは、リード動作とライト動作は同時に実行

できません。 図 8-6

に、 Cyclone II メモリ・ブロックのシングル・ポー

ト・メモリの構成を示します。

図 8-6. シングル・ポート・モード data[ ] address[ ] wren byteena[ ] addressstall inclock inclocken

注 (1)

q[ ] outclock outclocken outaclr

図 8-6

の注:

(1) パッキング・モードでは、 2 つのシングル・ポート・メモリ・ブロックを 1 つの

M4K ブロックに実装できます。

シングル・ポート・モードでは、出力はライト中リード・モードになり

ます。これはライト動作中に、 RAM に書き込まれたデータが RAM 出

力にフロー・スルーすることを意味します。出力レジスタがバイパスさ

れると、新しいデータが書き込まれたのと同一クロック・サイクルの立

ち上がりエッジで、そのデータが利用可能になります。

ライト・モード中の読み出しの詳細については、 8–28 ページ の 「同一ア

ドレスでのライト中リード動作」

を参照してください。

8–9

Cyclone II デバイス・ハンドブック Volume 1

メモリ・モード

シングル・ポート・モードでの M4K ブロックのポート幅コンフィギュ

レーションは、以下のとおりです。

4K × 1

2K × 2

1K × 4

512 × 8

512 × 9

256 × 16

256 × 18

128 × 32

128 × 36

図 8-7

に、シングル・ポート・モードでのリード動作およびライト動作

のタイミング波形を示します。

図 8-7. Cyclone II シングル・ポートのタイミング波形 inclock wren

アドレス an-1

データ(1) din-1 q (同期) q (非同期) an din din-2 din-1 din-1 din a0 a1 din dout0 a2 dout0 dout1

図 8-7

の注:

(1) リード時の data 波形のクロス記号は「don't care」を意味します。 dout1 dout2 a3 a4 din4 dout2 dout3 a5 din5 dout3 din4 a6 din6 din4 din5

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

シンプル・デュアル・ポート・モードでは、リード動作とライト動作の

同時実行がサポートされます。 図 8-8

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

メモリの構成を示します。

8–10

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

図 8-8. Cyclone II シンプル・デュアル・ポート・モード

注 (1)

data[ ] wraddress[ ] wren byteena[ ] wr_addressstall wrclock wrclocken rdaddress[ ] rden q[ ] rd_addressstall rdclock rdclocken rd_aclr

図 8-8

の注:

(1) シンプル・デュアル・ポート RAM は、ここに示すリードおよびライト・クロッ

ク・モードに加えて、入力および出力クロック・モードをサポートします。

Cyclone II メモリ・ブロックはデータ幅混在の構成をサポートしており、

それによってさまざまなリードおよびライト・ポート幅が利用できます。

表 8–4

および 8–5

に、データ幅混合の構成を示します。

表 8–4. Cyclone II メモリ・ブロックのデータ幅混合の構成

(シンプル・デュアル・ポート・モード)

リード・

ポート

4K × 1

2K × 2

1K × 4

512 × 8

256 × 16

128 × 32

512 × 9

256 × 18

128 × 36

ライト・ポート

4K ×

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

Altera Corporation

2005 年 2 月

8–11

Cyclone II デバイス・ハンドブック Volume 1

メモリ・モード

シンプル・デュアル・ポート・モードでは、メモリ・ブロックには 1 つ

のライト・イネーブルおよび 1 つのリード・イネーブル信号があります。

これらのブロックは、ライト・イネーブルおよびリード・イネーブル・

レジスタでのクリア・ポートをサポートしません。リード・イネーブル

が非アクティブのとき、現在のデータは出力ポートに保持されます。同

じアドレス位置を選択したライト動作時に、リード・イネーブルがアク

ティブになると、シンプル・デュアル・ポート RAM の出力ポートから

はそのメモリ・アドレスに格納されている古いデータが出力されます。

詳細については、 「同一アドレスでのライト中リード動作」

を参照してください。 図 8-9

に、シングル・デュアル・ポート・モード

でのリード動作およびライト動作のタイミング波形を示します。

図 8-9. Cyclone II シングル・デュアル・ポートのタイミング波形 wrclock wren wraddress data (1) an-1 din-1 an din a0 a1 a2 a3 rdclock rden rdaddress q (synch) bn doutn-2 doutn-1 b0 doutn b1 q (asynch) doutn-1 doutn dout0

図 8-9

の注:

(1) リード中の data 波形のクロス記号は「don't care」を意味します。 a4 din4 b2 dout0 a5 din5 a6 din6 b3

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

トゥルー・デュアル・ポート・モードは、 2 つの異なるクロック周波数

で、リード / リード、ライト / ライト、リード / ライトのいずれかの組

み合わせの

2 ポート動作をサポートします。 図 8-10

に、 Cyclone II トゥ

ルー・デュアル・ポート・メモリの構成を示します。

8–12

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

図 8-10.Cyclone II トゥルー・デュアル・ポート・モード data_a[ ] address_a[ ] wren_a byteena_a[ ] addressstall_a

clock_a enable_a aclr_a q_a[ ] data_b[ ] address_b[ ] wren_b byteena_b[ ] addressstall_b clock_b enable_b aclr_b q_b[ ]

注 (1)

図 8-10

の注:

(1) トゥルー・デュアル・ポート・メモリは、ここに示す独立クロック・モードに加

えて、入力および出力クロック・モードをサポートします。

トゥルー・デュアル・ポート・モードでの M4K ブロックの最大ビット幅

構成は、 256 × 16 ビット(パリティ付きで 18 ビット)です。

出力ドライバの数が最大ビット幅に等しくなるため、 M4K ブロックの

128 × 32 ビット(パリティ付きで 36 ビット)構成は利用できません。

トゥルー・デュアル・ポート RAM は 2 つのポート上で出力を持つため、

トゥルー・デュアル・ポート RAM の最大幅は、出力ドライバの合計数

の半分に等しくなります。 表 8–5

に、可能な M4K ブロックの混合ポー

ト幅の構成を示します。

表 8–5. Cyclone II メモリ・ブロックの混合ポート幅の構成

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

リード・

ポート

ライト・ポート

4K ×××× 1 2K ×××× 2 1K ×××× 4 512 ×××× 8 256 ×××× 16 512 ×××× 9 256 ×××× 18

4K × 1 √√√√ √√√√ √√√√ √√√√ √√√√

2K × 2 √√√√ √√√√ √√√√ √√√√ √√√√

1K × 4 √√√√ √√√√ √√√√ √√√√ √√√√

512 × 8 √√√√ √√√√ √√√√ √√√√ √√√√

256 × 16 √√√√ √√√√ √√√√ √√√√ √√√√

512 × 9 √√√√ √√√√

256 × 18 √√√√ √√√√

8–13

Cyclone II デバイス・ハンドブック Volume 1

メモリ・モード

トゥルー・デュアル・ポート構成では、 RAM 出力はライト中リード・

モードになります。つまり、ライト動作の間は、 RAM の A ポートまた

は B ポートに書き込まれるデータが、それぞれ A 出力または B 出力にフ

ロー・スルーします。出力レジスタがバイパスされると、新しいデータ

が書き込まれたのと同一クロック・サイクルの立ち上がりエッジで、そ

のデータが出力されます。混合ポートに対するライト中リード・モード

の波形と情報については、 「同一アドレスでのライト中リー

ド動作」 を参照してください。

両方の入力ポートから同じアドレス・データを書き込むと、その位置に未

知のデータが格納されます。書き込み競合が発生する可能性がある場合

は、 RAM の外部で解決しなければなりません。データは、ライト・クロッ

クの立ち下がりエッジでメモリに書き込まれるので、ポート A に対するラ

イト・クロックの立ち上がりエッジは、ポート B に対するライト・クロッ

クの立ち下がりエッジから、最大ライト・サイクル時間間隔の 1/2 の時間

だけ遅れて書き込む必要があります。このタイミングが満たされない場

合、そのアドレスに格納されたデータは無効になります。

最大同期ライト・サイクル時間については、 Cyclone II デバイス・ハン

ドブック Volume 1」の「Cyclone II デバイス・ファミリ・データシー

ト」を参照してください。

図 8-11

に、ポート A でのライト動作およびポート B でのリード動作に

対するトゥルー・デュアル・ポートのタイミング波形を示します。

8–14

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

図 8-11. Cyclone II トゥルー・デュアル・ポートのタイミング波形 clk_a wren_a address_a data_a (1) q_a (synch) q_a (asynch) clk_b wren_b address_b q_b (synch) an-1 din-1 din-2 din-1 an din din-1 din a0 bn doutn-2 doutn-1 b0 a1 din dout0 dout0 dout1 a2 dout1 dout2 a3 a4 din4 dout2 dout3 dout3 din4 a5 din5 din4 din5 a6 din6 doutn b1 dout0 b2 dout1 b3 q_b (asynch) doutn-1 doutn dout0

図 8-11

の注:

(1) ライト中の data_a 波形のクロス記号は「don't care」を意味します。 dout1 dout2

シフト・レジスタ・モード

Cyclone II メモリ・ブロックは、FIR(Finite Impulse Response)フィル

タ、擬似乱数発生器、マルチチャネル・フィルタリング、自己相関関数

および相互相関関数など、デジタル信号処理( DSP)アプリケーション

用のシフト・レジスタを実装できます。これらの DSP アプリケーショ

ン、およびその他の DSP アプリケーションには、ローカル・データ・ス

トレージが必要です。ローカル・データ・ストレージは従来、大きなシ

フト・レジスタに多数のロジック・セルを急速に消費する標準的なフリッ

プ・フロップで実装されていました。これに代わるより効率的な方法は、

エンベデッド・メモリをシフト・レジスタ・ブロックとして使用するこ

とです。これによってロジック・セルと配線リソースが節約されます。

シフト・レジスタ( w × m × n)のサイズは、入力データ幅(w)、タッ

プの長さ( m)、およびタップ数(n)によって決まり、メモリ・ビット

の最大数、つまり 4,608 ビット以下でなければなりません。さらに、

w × n)のサイズは、ブロックの最大幅、つまり 36 ビット以下でなけれ

ばなりません。さらに大きなシフト・レジスタが必要な場合は、メモリ・

ブロックをカスケード接続できます。

Altera Corporation

2005 年 2 月

8–15

Cyclone II デバイス・ハンドブック Volume 1

メモリ・モード

データはクロックの立ち下がりエッジで各アドレス位置に書き込まれ、

クロックの立ち上がりエッジでそのアドレスから読み出されます。シフ

ト・レジスタのモード・ロジックは、正および負のエッジ・クロッキン

グを自動的にコントロールして、データを 1 クロック・サイクルでシフ

トします。 図 8-12

に、シフト・レジスタ・モードの Cyclone II メモリ・

ブロックを示します。

図 8-12. Cyclone II シフト・レジスタ・モードのコンフィギュレーション

W x M x N シフト・レジスタ

M ビット・シフト・レジスタ

M ビット・シフト・レジスタ n 個のタップ

M ビット・シフト・レジスタ

M ビット・シフト・レジスタ

ROM モード

Cyclone II メモリ・ブロックは、ROM モードをサポートしています。こ

れらの ROM は MIF を使用することで初期値を与えることができます。

ROM のアドレス・ラインがラッチされます。出力はラッチしてもしな

くてもかまいません。 ROM リード動作は、シングル・ポート RAM コ

ンフィギュレーションでのリード動作と同じです。

8–16

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

クロック・

モード

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

FIFO バッファ・モード

メモリ・ブロックにシングル・クロック FIFO またはデュアル・クロッ

ク FIFO バッファを実装できます。デュアル・クロック FIFO バッファ

は、クロック・ドメイン間でデータを転送する場合に役立ちます。すべ

ての FIFO メモリ構成は同期入力を備えています。ただし、FIFO バッ

ファ出力は常に組み合わせ(つまり、ラッチされない)になります。空

の FIFO バッファに対するリードとライトの同時実行はサポートされて

いません。

FIFO バッファの詳細については、「Single- & Dual-Clock

FIFO Megafunctions User Guide」を参照してください。

選択したメモリ・モードに応じて、以下のクロック・モードが利用でき

ます。

独立

入力 / 出力

リード / ライト

シングル・クロック

表 8–6

に、各メモリ・モードでコンフィギュレーションされたときに、

すべてのメモリ・ブロックでサポートされるこれらのクロック・モード

を示します。

表 8–6. Cyclone II メモリ・クロック・モード

クロック・モード

独立

入力 / 出力

リード / ライト

シングル・クロック

トゥルー・

デュアル・

ポート・モード

√√√√

√√√√

√√√√

シンプル・

デュアル・

ポート・モード

√√√√

√√√√

√√√√

シングル・

ポート

モード

√√√√

√√√√

独立クロック・モード

Cyclone II メモリ・ブロックには、トゥルー・デュアル・ポート・メモリ

用の独立クロック・モードを実装できます。このモードでは、各ポート( A

および B)で個別のクロックを使用できます。クロック A はポート A 側の

すべてのレジスタを制御し、クロック B はポート B 側のすべてのレジスタ

を制御します。また、各ポートは、ポート A およびポート B のレジスタに

対する独立したクロック・イネーブルもサポートします。ただし、ポート

はレジスタに対する非同期クリア信号はサポートしません。

図 8-13

に、独立クロック・モードのメモリ・ブロックを示します。

8–17

Cyclone II デバイス・ハンドブック Volume 1

クロック・モード

図 8-13. 独立クロック・モードの Cyclone II メモリ・ブロック

注 (1)

図 8-13

の注:

(1) メモリ・ブロック・アドレス・レジスタに対するセットアップまたはホールド・タイム違反が発生すると、メモ

リの内容が化ける可能性があります。これはリードおよびライトの両方の動作に当てはまります。

8–18

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

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

Cyclone II メモリ・ブロックには、トゥルー・デュアル・ポート・メモ

リおよびシンプル・デュアル・ポートメモリ用の入力 / 出力クロック・

モードを実装できます。 A または B のそれぞれのポートで 1 つのクロッ

クが、メモリ・ブロックへの入力(データ、ライト・イネーブル、およ

びアドレス)用のすべてのレジスタを制御します。もう一方のクロック

は、ブロックのデータ出力レジスタを制御します。また、各メモリ・ブ

ロック・ポートは、入力レジスタおよび出力レジスタに対して独立した

クロック・イネーブルもサポートします。レジスタの非同期クリア信号

はサポートされません。

図 8-14

から 8-16

に、トゥルー・デュアル・ポート・モード、シンプル・

デュアル・ポート・モード、およびシングル・ポート・モードのそれぞ

れに対する、 / 出力クロック・モードのメモリ・ブロックを示します。

Altera Corporation

2005 年 2 月

8–19

Cyclone II デバイス・ハンドブック Volume 1

クロック・モード

図 8-14. トゥルー・デュアル・ポート・モードでの Cyclone II 入力 / 出力クロック・モード

注 (1)

図 8-14

の注:

(1) メモリ・ブロック・アドレス・レジスタに対するセットアップまたはホールド・タイム違反が発生すると、メモ

リの内容が化ける可能性があります。これはリードおよびライトの両方の動作に当てはまります。

8–20

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック rd_addressstall wr_addressstall rden (1) wren outclocken inclocken inclock outclock

図 8-15. シンプル・デュアル・ポート・モードでの Cyclone II 入力 / 出力クロック・モード

6 つのLABロウ・

クロック data[ ]

6

D

ENA

Q

メモリ・ブロック

データ入力 rdaddress[ ] byteena[ ]

D

ENA

Q リード・アドレス

データ出力

バイト・イネーブル

D

ENA

Q

注 (1)

MultiTrack

インタコネクトへ(2) wraddress[ ]

D

ENA

Q

D

ENA

Q ライト・アドレス

リード・アドレス・

クロック・イネーブル

ライト・アドレス・

クロック・イネーブル

D

ENA

Q

D

ENA

Q ライト・

パルス・

ジェネレータ

リード・イネーブル

ライト・イネーブル

図 8-15

の注:

(1) メモリ・ブロック・アドレス・レジスタに対するセットアップまたはホールド・タイム違反が発生すると、メモリ

の内容が化ける可能性があります。これはリードおよびライトの両方の動作に当てはまります。

(2) MultiTrack™ インタコネクトの詳細については、 Cyclone II デバイス・ハンドブック Volume 1」の「Cyclone II デ

バイス・ファミリ・データシート」を参照してください。

Altera Corporation

2005 年 2 月

8–21

Cyclone II デバイス・ハンドブック Volume 1

クロック・モード

図 8-16. シングル・ポート・モードでの Cyclone II 入力 / 出力クロック・モード

6 つのLABロウ・

クロック data[ ]

6

D

ENA

Q

メモリ・ブロック

データ入力 address[ ] byteena[ ]

D

ENA

Q

D

ENA

Q

アドレス

データ出力

バイト・イネーブル

D

ENA

Q

アドレス・

クロック・

イネーブル addressstall wren outclocken inclocken inclock outclock

D

ENA

Q ライト・

パルス・

ジェネレータ

ライト・イネーブル

注 (1)

MultiTrack

インタコネクトへ(2)

図 8-16

の注:

(1) メモリ・ブロック・アドレス・レジスタに対するセットアップまたはホールド・タイム違反が発生すると、メモリ

の内容が化ける可能性があります。これはリードおよびライトの両方の動作に当てはまります。

(2) MultiTrack インタコネクトの詳細については、「Cyclone II デバイス・ハンドブック Volume 1」の「Cyclone II デ

バイス・ファミリ・データシート」を参照してください。

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

Cyclone II メモリ・ブロックには、シンプル・デュアル・ポート・メモリ

用のリード / ライト・クロック・モードを実装できます。ライト・クロッ

クは、ブロックのデータ入力、ライト・アドレス、およびライト・イネー

ブル信号を制御します。リード・クロックは、データ出力、リード・ア

ドレス、およびリード・イネーブル信号を制御します。メモリ・ブロッ

クは、リードおよびライト側のレジスタに対して、各クロックの独立し

たクロック・イネーブルをサポートします。このモードは、レジスタに

対する非同期クリア信号はサポートしません。 図 8-17

に、リード / ライ

ト・クロック・モードのメモリ・ブロックを示します。

8–22

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

図 8-17. Cyclone II リード / ライト・クロック・モード data[ ]

6 つのLABロウ・

クロック

6

D

ENA

Q

注 (1)

メモリ・ブロック

データ入力 rdaddress[ ]

D

ENA

Q リード・アドレス

データ出力

バイト・イネーブル

D

ENA

Q

MultiTrack

インタコネクトへ(2) byteena[ ]

D

ENA

Q wraddress[ ]

D

ENA

Q ライト・アドレス rd_addressstall

リード・アドレス・

クロック・イネーブル wr_addressstall

ライト・アドレス・

クロック・イネーブル rden (1)

D

ENA

Q リード・イネーブル wren

ライト・イネーブル rdclocken wrclocken wrclock

D

ENA

Q ライト・

パルス・

ジェネレータ rdclock

図 8-17

の注:

(1) メモリ・ブロック・アドレス・レジスタに対するセットアップまたはホールド・タイム違反が発生すると、メモリ

の内容が化ける可能性があります。これはリードおよびライトの両方の動作に当てはまります。

(2) MultiTrack インタコネクトの詳細については、「Cyclone II デバイス・ハンドブック Volume 1」の「Cyclone II デ

バイス・ファミリ・データシート」を参照してください。

Altera Corporation

2005 年 2 月

8–23

Cyclone II デバイス・ハンドブック Volume 1

クロック・モード

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

Cyclone II メモリ・ブロックは、トゥルー・デュアル・ポート、シンプ

ル・デュアル・ポート、およびシングル・ポート・メモリ用のシングル・

クロック・モードをサポートします。このモードでは、シングル・クロッ

クはクロック・イネーブルとともに、メモリ・ブロックのすべてのレジ

スタを制御します。このモードは、レジスタに対する非同期クリア信号

をサポートしません。 図 8-18

から

8-20

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

ト・モード、シンプル・デュアル・ポート・モード、およびシングル・

ポート・モードのそれぞれに対する、シングル・クロック・モードのメ

モリ・ブロックを示します。

8–24

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

図 8-18. トゥルー・デュアル・ポート・モードでの Cyclone II シングル・クロック・モード

注 (1)

図 8-18

の注:

(1) メモリ・ブロック・アドレス・レジスタに対するセットアップまたはホールド・タイム違反が発生すると、メモ

リの内容が化ける可能性があります。これはリードおよびライトの両方の動作に当てはまります。

Altera Corporation

2005 年 2 月

8–25

Cyclone II デバイス・ハンドブック Volume 1

クロック・モード

図 8-19. シンプル・デュアル・ポート・モードでの Cyclone II シングル・クロック・モード

6 つのLABロウ・

クロック data[ ]

6

D

ENA

Q

メモリ・ブロック

データ入力 rdaddress[ ] byteena[ ]

D

ENA

Q リード・アドレス

データ出力

バイト・イネーブル

D

ENA

Q

注 (1)

MultiTrack

インタコネクトへ(2) wraddress[ ]

D

ENA

Q

D

ENA

Q rd_addressstall

ライト・アドレス

リード・アドレス・

クロック・イネーブル

ライト・アドレス・

クロック・イネーブル wr_addressstall rden (1) wren

D

ENA

Q リード・イネーブル

ライト・イネーブル enable clock

D

ENA

Q ライト・

パルス・

ジェネレータ

図 8-19

の注:

(1) メモリ・ブロック・アドレス・レジスタに対するセットアップまたはホールド・タイム違反があると、メモリの内

容が化ける可能性があります。これはリードおよびライトの両方の動作に当てはまります。

(2) MultiTrack インタコネクトの詳細については、「Cyclone II デバイス・ハンドブック Volume 1」の「Cyclone II デ

バイス・ファミリ・データシート」を参照してください。

8–26

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

図 8-20. シングル・ポート・モードでの Cyclone II シングル・クロック・モード

6 つのLABロウ・

クロック data[ ]

6

D

ENA

Q

メモリ・ブロック

データ入力 address[ ] byteena[ ] addressstall wren

D

ENA

Q

D

ENA

Q

アドレス

データ出力

バイト・イネーブル

D

ENA

Q

アドレス・

クロック・

イネーブル

注 (1)

MultiTrack

インタコネクトへ(2)

ライト・イネーブル enable clock

D

ENA

Q ライト・

パルス・

ジェネレータ

図 8-20

の注:

(1) メモリ・ブロック・アドレス・レジスタに対するセットアップまたはホールド・タイム違反が発生すると、メモリ

の内容が化ける可能性があります。これはリードおよびライトの両方の動作に当てはまります。

(2) MultiTrack インタコネクトの詳細については、「Cyclone II デバイス・ハンドブック Volume 1」の「Cyclone II デ

バイス・ファミリ・データシート」を参照してください。

パワー・アップ条件およびメモリ初期化

Cyclone II メモリ・ブロック出力は、出力レジスタが使用されるかバイ

パスされるかに関係なく、パワー・アップ時には常にゼロになります。

MIF がメモリ・ブロックの内容をプリロードした場合でも、出力はパ

ワー・アップ時にクリアされます。例えば、アドレス 0 が事前に FF に

初期化された場合、 M4K ブロックの出力はパワー・アップ時に 00 にな

ります。パワー・アップ後にアドレス 0 から読み出すと、事前に初期化

された値の FF が出力されます。

Altera Corporation

2005 年 2 月

8–27

Cyclone II デバイス・ハンドブック Volume 1

同一アドレスでのライト中リード動作

同一アドレス

でのライト中

リード動作

「同一ポートに対するライト中リード・モード」 および

「混合ポートに対

するライト中リード・モード」

のセクションでは、あるアドレスへの書

き込み動作中に同じアドレスから読み出す場合の各種 RAM コンフィ

ギュレーションの機能について説明します。ライト中リード動作のデー

2 つがあります。 図 8-21

に、これらのフローの相違点を示します。

図 8-21.Cyclone II のライト中リード・データ・フロー

ポートAの

データ入力

ポートBの

データ入力

混合ポートの

データ・フロー

同一ポートの

データ・フロー

ポートAの

データ出力

ポートBの

データ出力

同一ポートに対するライト中リード・モード

シングル・ポート RAM またはトゥルー・デュアル・ポート RAM の同

一ポートに対するライト中リード動作の場合、新しいデータが書き込ま

れたのと同一クロック・サイクルの立ち上がりエッジでそのデータが読

み出されます。 図 8-22

に、機能波形サンプルを示します。トゥルー・

デュアル・ポート RAM モードでバイト・イネーブルを使用する場合、

同一ポート上のマスクされたバイトに対する出力は未知になります

8–6

ページ の 図 8-2

を参照)

図 8-22

に示す

とおり読み出されます。

8–28

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

Altera Corporation

2005 年 2 月

Cyclone II メモリ・ブロック

図 8-22.Cyclone IIの同一ポートに対するライト中リード機能

注(1)

inclock

データ wren q 古い

図 8-22

の注:

(1) 出力はラッチされません。

A

A

B

混合ポートに対するライト中リード・モード

このモードは、 RAM がシンプルまたはトゥルー・デュアル・ポート・

モードのときに、 1 つのポートでは読み出しを行い、別のポートでは同

一クロックで同じアドレス位置に書き込みを行う場合に使用します。同

一ポートに書き込みと同時に読み出しを行った場合、メモリ・ブロック

は指定されたアドレスの古いデータを出力します。 図 8-23

に、機能波形

のサンプルを示します。ここで、 2 つのポートのアドレスは同じです。こ

の図では、出力がラッチされないものと仮定しています。

図 8-23.Cyclone IIの混合ポートに対するライト中リード機能

注(1)

inclock address_a and address_b data_a

A wren_a wren_b

アドレスQ

B q_b

古い A B

図 8-23

の注:

(1) 出力はラッチされません。

デュアル・ポート RAM で 2 つの異なるポートが使用される場合、混合

ポートに対するライト中リードはサポートされません。混合ポートに対

するライト中リード動作の間、出力の値は未知です。

8–29

Cyclone II デバイス・ハンドブック Volume 1

まとめ

まとめ

Cyclone II デバイスの M4K メモリ構造は、高いメモリ帯域幅を備えた柔

軟なメモリ・アーキテクチャを提供します。このアーキテクチャは、さ

まざまなメモリ・モード、バイト・イネーブル、パリティ・ビット・ス

トレージ、アドレス・クロック・イネーブル、混合クロック・モード、

シフト・レジスタ・モード、混合ポート幅のサポート、トゥルー・デュ

アル・ポート・モードなどの機能によって、 FPGA デザインでの多様な

メモリ・アプリケーションの要件に対応します。

8–30

Cyclone II デバイス・ハンドブック Volume 1

Altera Corporation

2005 年 2 月

広告

主な特徴

  • 1M ビットを超える RAM を使用可能
  • 4,096 メモリ・ビット(パリティを含め 1 ブロックあたり 4,608 ビット)
  • 可変ポート・コンフィギュレーション
  • トゥルー・デュアル・ポート(1 リードおよび 1 ライト、2 リード、または 2 ライト)動作
  • ライト中のデータ入力マスキング用のバイト・イネーブル
  • RAM モードおよび ROM モードでメモリの内容をプリロードするための初期化ファイル
  • 最大 250-MHz 動作

よくある質問と回答

Cyclone II デバイスは、メモリ・ブロックへの入力レジスタの非同期クリア信号をサポートしていますか?
Cyclone II デバイスは、メモリ・ブロックへの入力レジスタの非同期クリア信号をサポートしていません。出力レジスタのみ非同期クリアをサポートしています。
M4K ブロックのレジスタをリセットするには、どうすればよいですか?
M4K ブロックのレジスタをリセットするには、デバイスをパワー・アップする、出力レジスタにのみ aclr 信号を使用する、DEV_CLRn オプションを使用してデバイス・ワイドのリセット信号をアサートするの 3 通りの方法があります。
Cyclone II M4K メモリ・ブロックは、パッキング・モードをサポートしていますか?
Cyclone II M4K メモリ・ブロックは、パッキング・モードをサポートしています。以下の条件に基づいて、単一ブロックに 2 つのシングル・ポート・メモリ・ブロックを実装できます。 - 2 つの独立したブロックのサイズがそれぞれ、M4K ブロック・サイズの半分以下であること。 - シングル・ポート・メモリ・ブロックがそれぞれ、シングル・クロック・モードでコンフィギュレーションされること。
Cyclone II M4K メモリ・ブロックは、アドレス・クロック・イネーブルをサポートしていますか?
Cyclone II M4K メモリ・ブロックは、直前のアドレス値を必要になるまで保持するアドレス・クロック・イネーブルをサポートしています。メモリ・クロックがデュアル・ポート・モードでコンフィギュレーションされると、各ポートは独自の独立したアドレス・クロック・イネーブルを持ちます。
Cyclone II M4K メモリ・ブロックは、どのようなメモリ・モードをサポートしていますか?
Cyclone II M4K メモリ・ブロックは、以下のモードをサポートしています。 - シングル・ポート - シンプル・デュアル・ポート - トゥルー・デュアル・ポート(双方向デュアル・ポート) - シフト・レジスタ - ROM - FIFO バッファ
Cyclone II メモリ・ブロックは、どのようなクロック・モードをサポートしていますか?
選択したメモリ・モードに応じて、以下のクロック・モードが利用できます。 - 独立 - 入力 / 出力 - リード / ライト - シングル・クロック

関連マニュアル

ダウンロード PDF

広告