35
この翻訳版ドキュメントのメンテナンスは終了しております。 この文書には、古いコンテンツや商標が含まれている場合があります。 最新情報につきましては、次のリンクから英語版の最新資料をご確認ください。 https://www.intel.com/content/www/us/en/programmable/documentation/lit-index.html Please take note that this document is no longer being maintained. It may contain legacy content and trademarks which may be outdated. Please refer to English version for latest update at https://www.intel.com/content/www/us/en/programmable/documentation/lit-index.html

4. Cyclone III デバイスの メモリ・ブロック4–6 Altera Corporation - Preliminary Cyclone III デバイス・ハンドブックVolume 1 暫定サポート 2007 年3 月Cyclone

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • この翻訳版ドキュメントのメンテナンスは終了しております。

    この文書には、古いコンテンツや商標が含まれている場合があります。

    最新情報につきましては、次のリンクから英語版の最新資料をご確認ください。

    https://www.intel.com/content/www/us/en/programmable/documentation/lit-index.html

    Please take note that this document is no longer being maintained. It may contain legacy content and trademarks which may be outdated.

    Please refer to English version for latest update at https://www.intel.com/content/www/us/en/programmable/documentation/lit-index.html

  • Altera Corporation - Preliminary 4–12007年 3月 暫定サポート

    この資料は英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。こちらの日本語版は参考用としてご利用ください。設計の際には、最新の英語版で内容をご確認ください。

    4. Cyclone IIIデバイスのメモリ・ブロック

    はじめに Cyclone® IIIデバイスは、アルテラの Cyclone IIIデバイス・デザインのオンチップ・メモリの要件に対応するエンベデッド・メモリ構造を特長としています。エンベデッド・メモリ構造は、M9Kメモリ・ブロックのカラムで構成され、RAM、シフト・レジスタ、ROM、FIFO(First-InFirst-Out)バッファなど、様々なメモリ機能を提供するようにコンフィギュレーションできます。M9Kメモリ・ブロックは、最大 260 MHzの同期動作で最大 3.98 Mビットの RAMを提供します(集積度別のトータル RAMビット数については、表 4–2を参照)。

    概要 M9Kブロックは、以下の機能をサポートしています。■ 利用可能なロジックを減らすことなく、最大 3.98 Mビットの RAMを

    使用可能■ 1ブロックあたり 8,192メモリ・ビット(パリティを含め 1ブロックあたり 9,216ビット)

    ■ 各ポートに対する独立したリード・イネーブルおよびライト・イネーブル信号

    ■ パック・モードにおいて、M9Kメモリ・ブロックを 2つの 4.5 Kシングル・ポート RAMに分割

    ■ 可変ポート・コンフィギュレーション■ すべてのポート幅に対するシングル・ポートおよびシンプル・デュアル・モードのサポート

    ■ トゥルー・デュアル・ポート(1リードおよび 1ライト、2リード、または 2ライト)動作

    ■ ライト中のデータ入力マスキング用のバイト・イネーブル■ 各ポート(ポート Aおよび B)に対する 2つのクロック・イネーブル・

    コントロール信号■ RAM および ROM モードでメモリの内容をプリロードするための初

    期化ファイル■ 最大 260 MHz同期動作

    表 4–1に、M9Kメモリでサポートされる機能をまとめます。

    表 4–1. M9Kメモリ機能の要約(1 /2)

    機能 M9Kブロック

    最大性能 260 MHz

    CIII51005-1.0

  • 4–2 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

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

    9,216

    コンフィギュレーション(深さ ×幅) 8192 × 14096 × 22048 × 41024 × 81024 × 9512 × 16512 × 18256 × 32256 × 36

    パリティ・ビット √

    バイト・イネーブル √

    パック・モード √

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

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

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

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

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

    ROMモード √

    FIFOバッファ (1) √

    シンプル・デュアル・ポートの異なるデータ幅のサポート

    トゥルー・デュアル・ポートの異なるデータ幅のサポート (2)

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

    混合クロック・モード √

    パワーアップ条件 出力はクリア

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

    ラッチ非同期クリア 出力ラッチのみ

    同一ポートに対するライト中リード 出力は “Old Data”または “New Data”に設定

    混在ポートに対するライト中リード 出力は“Old Data”または“Don’t Care”に設定

    表 4–1の注 :(1) FIFOバッファおよびエンベデッド・シフト・レジスタは、コントロール・

    ロジックの実装に外部ロジック・エレメント(LE)を必要とします。(2) × 32および × 36ビット幅モードは使用できません。

    表 4–1. M9Kメモリ機能の要約(2 /2)

  • Altera Corporation - Preliminary 4–32007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    概要

    表 4–2に、Cyclone IIIファミリの各デバイスの M9Kメモリ・ブロックの数とトータル・ビット数を示します。

    コントロール信号

    図 4-1 に、レジスタ・クロック、クリア、およびコントロール信号がCyclone IIIメモリ・ブロックにどのように実装されるかを示します。

    クロック・イネーブル・コントロール信号は、入力レジスタおよび出力レジスタだけでなく、メモリ・ブロック全体に入力されるクロックを制御します。この信号はクロックをディセーブルするため、メモリ・ブロックがクロック・エッジを認識したり、何らかの動作を実行したりすることはありません。

    リード・イネーブル(rden)およびライト・イネーブル(wren)コントロール信号は、メモリ・ブロックの各ポートに対するリードおよびライト動作を制御します。リード・イネーブルまたはライト・イネーブル信号を個別にディセーブルにして、動作が不要なときにはいつでも電力を節約することができます。

    表 4–2. Cyclone IIIデバイスのM9Kブロックの数

    デバイス M9Kブロック数 トータル RAMビット数EP3C5 46 423,936

    EP3C10 46 423,936

    EP3C16 56 516,096

    EP3C25 66 608,256

    EP3C40 126 1,161,216

    EP3C55 260 2,396,160

    EP3C80 305 2,810,880

    EP3C120 432 3,981,312

  • 4–4 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    図 4-1. M9Kコントロール信号の選択

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

    パリティ・ビットを内部ロジック・ソースと併せて使用して、エラー検出のためのパリティ・チェックを行うことができます。Cyclone III M9Kメモリ・ブロックは各ストレージ・バイトに対するパリティ・ビットをサポートします。このビットは、パリティ・ビットまたは追加データ・ビットとしてオプションで使用できます。このビットに対してはいかなるパリティ機能も実行されません。

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

    Cyclone III M9K メモリ・ブロックは、入力データをマスクしてデータの特定のバイトだけが書き込まれるようにするバイト・イネーブルをサポートしています。書き込まれなかったバイトは、前に書き込まれた値を保持します。ライト・イネーブル(wren)信号は、バイト・イネーブ

    clock_b

    clocken_aclock_a

    clocken_b aclr_b

    aclr_a

    DedicatedRow LABClocks

    LocalInterconnect

    LocalInterconnect

    LocalInterconnect

    LocalInterconnect

    LocalInterconnect

    LocalInterconnect

    LocalInterconnect

    LocalInterconnect

    rden_b

    rden_a

    6

    LocalInterconnect

    LocalInterconnect

    LocalInterconnect

    LocalInterconnect

    byteena_b

    byteena_a

    addressstall_b

    addressstall_awren_a

    wren_b

    LocalInterconnect

    LocalInterconnect

  • Altera Corporation - Preliminary 4–52007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    概要

    ル(byteena)信号と共に RAM ブロックのライト動作を制御します。バイト・イネーブル信号のデフォルト値はHigh(イネーブル)であり、この場合、ライト動作はライト・イネーブル信号でのみコントロールされます。バイト・イネーブル・レジスタへのクリア・ポートはありません。M9Kブロックは、ライト・ポートのデータ幅が ×16、×18、×32、または ×36ビットのときにはバイト・ライトをサポートします。

    バイト・イネーブルは one-hot 方式で動作し、byteena 信号の最下位ビット(LSB)がデータ・バスの最下位バイトに対応します。例えば、byteena = 01 で RAM ブロックを ×18 モードで使用する場合、data[8..0]がイネーブルされ、data[17..9]がディセーブルされます。同様に、byteena = 11の場合、data[8..0]および data[17..9]の両方がイネーブルされます。バイト・イネーブルはアクティブ Highです。表 4–3にバイトの選択をまとめます。

    表 4–3. Cyclone III M9Kブロックに対するバイト・イネーブル (1)

    byteena[3..0] 影響を受けるバイト

    datain×16 datain×18 datain×32 datain×36[0] = 1 [7..0] [8..0] [7..0] [8..0]

    [1] = 1 [15..8] [17..9] [15..8] [17..9]

    [2] = 1 - - [23..16] [26..18]

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

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

  • 4–6 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    図 4-2に、wren信号と byteena信号が RAMの動作を制御する方法を示します。

    図 4-2. Cyclone IIIバイト・イネーブル機能の波形 (1)

    図 4-2の注 :(1) この機能の波形については、“New Data”モードが選択されています。

    ライト・サイクルの間にバイト・イネーブル・ビットがデアサートされた場合、メモリの古いデータが対応するデータ・バイト出力に現れます。ライト・サイクルの間にバイト・イネーブル・ビットがアサートされた場合、対応するデータ・バイト出力は Quartus® II ソフトウェアで選択された設定によって決まります。上記のデータ・バイト出力は、その位置に新たに書き込まれたデータまたは古いデータのいずれかです。

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

    Cyclone III M9K メモリ・ブロックは、パック・モードをサポートしています。以下の条件に基づいて単一ブロックに 2つのシングル・ポート・メモリ・ブロックを実装できます。

    ■ 2 つの独立したブロックのサイズがそれぞれ、M9K ブロック・サイズの半分以下であること。独立したブロックの最大データ幅がそれぞれ、18ビットであること。

    inclock

    wren

    address

    data

    q (asynch)

    an

    XXXX

    a0 a1 a2 a0 a1 a2

    doutn ABFF FFCD ABCD ABFF FFCD

    ABCD

    byteena XX 10 01 11

    XXXX

    XX

    ABCD

    ABCDFFFF

    FFFF

    FFFF

    ABFF

    FFCD

    contents at a0

    contents at a1

    contents at a2

    rden

  • Altera Corporation - Preliminary 4–72007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    概要

    ■ シングル・ポート・メモリ・ブロックがそれぞれ、シングル・クロック・モードでコンフィギュレーションされること。

    詳細については、4–10 ページの「シングル・ポート・モード」および4–26ページの「シングル・クロック・モード」を参照してください。

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

    すべての Cyclone III メモリ・ブロックは、信号がイネーブルされaddressstall がアクティブ Low(addressstall = '0')である限り、以前のアドレス値を保持するアドレス・クロック・イネーブルをサポートします。メモリ・ブロックをデュアル・ポート・モードでコンフィギュレーションすると、各ポートは専用の独立したアドレス・クロック・イネーブルを持ちます。

    図 4-3 に、アドレス・クロック・イネーブルのブロック図を示します。アドレス・レジスタ出力は、マルチプレクサを介してその入力にフィード・バックされます。マルチプレクサ出力は、アドレス・クロック・イネーブル(addressstall)信号で選択されます。addressstall 信号は Lowになります。

    図 4-3. Cyclone IIIアドレス・クロック・イネーブルのブロック図

    アドレス・クロック・イネーブルは通常、キャッシュ・ミス時の効率を改善するために、キャッシュ・メモリ・アプリケーションに使用されます。アドレス・クロック・イネーブル信号のデフォルト値は Low(ディ

    address[0]

    address[N]

    addressstall

    clock

    address[0]register

    address[N]register address[N]

    address[0]

  • 4–8 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    セーブル)です。図 4-4 および 4-5 に、それぞれリード・サイクルおよびライト・サイクル中のアドレス・クロック・イネーブルの波形を示します。

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

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

    inclock

    rden

    rdaddress

    q (synch)

    a0 a1 a2 a3 a4 a5 a6

    q (asynch)

    an a0 a4 a5latched address(inside memory)

    dout0 dout1 dout1 dout4

    dout1 dout4 dout5

    addressstall

    a1

    doutn-1 dout1doutn

    doutn dout1dout0 dout1

    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

  • Altera Corporation - Preliminary 4–92007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    概要

    混在するデータ幅のサポート

    M9Kメモリ・ブロックは、混在するデータ幅をサポートします。シンプル・デュアル・ポート、トゥルー・デュアル・ポート、または FIFOモードを使用する場合、混在するデータ幅のサポートにより、メモリ・ブロックに対して異なるデータ幅を読み書きすることができます。メモリ・モード別にサポートされている異なるデータ幅について詳しくは、4–10ページの「メモリ・ モード」を参照してください。

    非同期クリア

    Cyclone IIIデバイスは、出力レジスタおよび出力ラッチの非同期クリアのみサポートしています。入力レジスタはサポートされていません。非同期クリア信号は、出力レジスタに印加すると出力レジスタをクリアします。その効果はすぐに確認できます。RAM に出力レジスタが使用されていない場合でも、出力ラッチの非同期クリアによって RAM 出力をクリアすることができます。

    リード動作中に非同期クリアをリード・アドレス・レジスタにアサートすると、メモリの内容が破壊される可能性があります。

    図 4-6に、この動作に対する機能波形を示します。

    図 4-6.出力ラッチの非同期クリア波形

    非同期クリアは、Quartus II RAM MegaWizard®によって、ロジック・メモリごとに選択的にイネーブルすることができます。

    詳細については、「RAMメガファンクション・ユーザガイド」を参照してください。

    M9K ブロック内のレジスタをリセットする方法は、デバイスをパワーアップする、出力レジスタにのみ aclr 信号を使用する、あるいはDEV_CLRnオプションを使用してデバイス・ワイドのリセット信号をアサートする、の 3つです。

    aclr

    aclr at latch

    clk

    q a1 a0 a1a2

  • 4–10 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    メモリ・モード

    Cyclone III M9K メモリ・ブロックでは、複数の動作モードで完全同期SRAM メモリの実装が可能です。Cyclone III M9K メモリは、非同期(ラッチされていない)メモリ入力をサポートしていません。

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

    ■ シングル・ポート■ シンプル・デュアル・ポート■ トゥルー・デュアル・ポート■ シフト・レジスタ■ ROM■ FIFO

    メモリ・ブロック入力レジスタに対するセットアップまたはホールド・タイムに違反があると、メモリの内容が破壊される可能性があります。これはリードおよびライトの両方の動作に当てはまります。

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

    シングル・ポート・モードは、単一アドレスからの非同時のリードおよびライト動作をサポートしています。図 4-7に、Cyclone IIIメモリ・ブロックのシングル・ポート・メモリ・コンフィギュレーションを示します。

    図 4-7.シングル・ポート・メモリ (1)、(2)

    図 4-7の注 :(1) 2 つのシングル・ポート・メモリ・ブロックを 1 つの M9K ブロックに実装

    することが可能です。(2) 詳細については、「パック・モードのサポート」を参照してください。

    ライト動作時に、RAM 出力の動作をコンフィギュレーションすることができます。ライト動作時にリード・イネーブルをアクティブにすると、RAM 出力はそのアドレスに書き込まれている新しいデータまたはそのアドレスにある古いデータのいずれかを示します。リード・イネーブル

    data[ ]address[ ]wrenbyteena[]addressstall inclockinclockenrdenaclr

    outclock

    q[]

    outclocken

  • Altera Corporation - Preliminary 4–112007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    メモリ・ モード

    を非アクティブにしてライト動作を実行すると、RAM 出力は最後のアクティブ・リード・イネーブル時に保持した値を保持します。目的の動作を選択するには、Quartus II ソフトウェアの RAM MegaWizard で、Read-During-Writeオプションを “New Data”または “Old Data”に設定します。ライト中リード・モードについて詳しくは、4–30ページの「ライト中リード動作」を参照してください。

    シングル・ポート・モードでの M9K ブロックのポート幅コンフィギュレーションは、以下の通りです。

    ■ 8192 × 1■ 4096 × 2■ 2048 × 4■ 1024 × 8■ 1024 × 9■ 512 × 16■ 512 × 18■ 256 × 32■ 256 × 36

    図 4-8 に、シングル・モード・ポートでのリードおよびライト動作のタイミング波形を示します。RAM の出力をラッチしても、q 出力が 1 クロック・サイクルだけ遅延するにすぎません。

    図 4-8. Cyclone IIIシングル・ポート・モードのタイミング波形

    clk_a

    wren_a

    address_a

    data_a

    rden_a

    q_a (old data)

    a0 a1

    A B C D E F

    a0(old data) a1(old data)A B D E

    q_a (new data) A DB C E F

  • 4–12 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

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

    シンプル・デュアル・ポート・モードでは、リード動作とライト動作の同時実行がサポートされます。図 4-9に、シンプル・デュアル・ポート・メモリの構成を示します。

    図 4-9. Cyclone IIIシンプル・デュアル・ポート・メモリ (1)

    図 4-9の注 :(1) シンプル・デュアル・ポート RAMは、ここに示すリード /ライト・クロッ

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

    Cyclone IIIメモリ・ブロックは、データ幅が混在する構成をサポートしており、これによって異なるリードおよびライト・ポート幅が利用できます。表 4–4に、データ幅混合の構成を示します。

    data[ ]wraddress[ ]wrenbyteena[]wr_addressstallwrclockwrclockenaclr

    rdaddress[ ]rden

    q[ ]rd_addressstall

    rdclockrdclocken

    表 4–4. Cyclone III M9Kブロックのデータ幅混合の構成(シンプル・デュアル・ポート・モード)

    リード・ポート

    ライト・ポート8192 × 1 4096 × 2 2048 × 4 1024 × 8 512 × 16 256 × 32 1024 × 9 512 × 18 256 × 36

    8192 × 1 √ √ √ √ √ √

    4096 × 2 √ √ √ √ √ √

    2048 × 4 √ √ √ √ √ √

    1024 × 8 √ √ √ √ √ √

    512 × 16 √ √ √ √ √ √

    256 × 32 √ √ √ √ √ √

    1024 × 9 √ √ √

    512 × 18 √ √ √

    256 × 36 √ √ √

  • Altera Corporation - Preliminary 4–132007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    メモリ・ モード

    シンプル・デュアル・ポート・モードでは、M9Kメモリ・ブロックは個別のライト・イネーブルおよびリード・イネーブル信号をサポートします。読み出しを実行しないときは、リード・イネーブル信号を Low(非アクティブ)に保持することによって電力を節約できます。同一アドレスに対してライト中リード動作を実行すると、その位置にある “Don’tCare”データを出力するか、“Old Data”を出力できます。目的の動作を選択するには、Quartus IIソフトウェアの RAM MegaWizardで、Read-During-Writeオプションを “Don’t Care”または “Old Data”に設定します。この動作について詳しくは、4–30 ページの「ライト中リード動作」を参照してください。

    図 4-10 に、出力がラッチされていないシンプル・デュアル・ポート・モードでのリードおよびライト動作のタイミング波形を示します。RAMの出力をラッチしても、q出力が 1クロック・サイクルだけ遅延するにすぎません。

    図 4-10.Cyclone IIIシンプル・デュアル・ポートのタイミング波形

    wrclock

    wren

    wraddress

    rdclock

    an-1 an a0 a1 a2 a3 a4 a5 a6

    q (asynch)

    rden

    rdaddress bn b0 b1 b2 b3

    doutn-1 doutn dout0

    din-1 din din4 din5 din6data

  • 4–14 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

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

    トゥルー・デュアル・ポート・モードは、2 つの異なるクロック周波数で、リード /リード、ライト /ライト、またはリード /ライトのいずれかの組み合わせの 2ポート動作をサポートします。図 4-11に、Cyclone IIIトゥルー・デュアル・ポート・メモリの構成を示します。

    図 4-11.Cyclone IIIトゥルー・デュアル・ポート・メモリ (1)

    図 4-11の注 :(1) トゥルー・デュアル・メモリは、ここに示す独立クロック・モードに加えて、

    入力 /出力クロック・モードをサポートします。

    トゥルー・デュアル・ポート・モードの M9K ブロックの最大ビット幅構成は、512 × 16ビット(パリティ付きで18ビット)です。

    表 4–5に、可能なM9Kブロックの混合ポート幅の構成を示します。

    data_a[ ]address_a[ ]wren_abyteena_a[]addressstall_a clock_aclocken_arden_aaclr_aq_a[]

    data_b[ ]address_b[]

    wren_bbyteena_b[]

    addressstall_bclock_b

    clocken_brden_baclr_bq_b[]

    表 4–5. Cyclone III M9Kブロックのデータ幅混合の構成(トゥルー・デュアル・ポート・モード)

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

    8192 × 1 4096 × 2 2048 × 4 1024 × 8 512 × 16 1024 × 9 512 × 18

    8192 × 1 √ √ √ √ √

    4096 × 2 √ √ √ √ √

    2048 × 4 √ √ √ √ √

    1024 × 8 √ √ √ √ √

    512 × 16 √ √ √ √ √

    1024 × 9 √ √

    512 × 18 √ √

  • Altera Corporation - Preliminary 4–152007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    メモリ・ モード

    トゥルー・デュアル・ポート・モードでは、M9Kメモリ・ブロックは個別のライト・イネーブルおよびリード・イネーブル信号をサポートします。読み出しを実行しないときは、リード・イネーブル信号を Low(非アクティブ)に保持することによって電力を節約できます。同一アドレスに対してライト中リード動作を実行すると、その位置にある “NewData”を出力するか、“Old Data”を出力します。目的の動作を選択するには、Quartus IIソフトウェアの RAM MegaWizardで、Read-During-Writeオプションを“New Data”または“Old Data”に設定します。この動作について詳しくは、4–30ページの「ライト中リード動作」を参照してください。

    トゥルー・デュアル・ポート・モードでは、ポート Aまたはポート Bからいつでもどのメモリ位置にでもアクセスできます。両方のポートから同一メモリ位置にアクセスする場合は、発生する可能性がある書き込み競合を回避しなければなりません。書き込み競合は、両方のポートから同時に同一アドレス位置に書き込みを試みると発生します。これにより、そのアドレス位置に未知のデータが格納されます。Cyclone III M9K メモリ・ブロックには、競合解決回路は組み込まれていません。RAM ブロックの外部でアドレス競合に対処する必要があります。

    図 4-12に、ポート Aでのライト動作とポート Bでのリード動作のタイミング波形を示します。RAMの出力をラッチしても、q出力が 1クロック・サイクルだけ遅延するにすぎません。

    図 4-12.Cyclone IIIトゥルー・デュアル・ポートのタイミング波形

    clk_a

    wren_a

    address_a

    clk_b

    an-1 an a0 a1 a2 a3 a4 a5 a6

    q_b (asynch)

    wren_b

    address_b bn b0 b1 b2 b3

    doutn-1 doutn dout0

    q_a (asynch)

    din-1 din din4 din5 din6data_a

    din-1 din dout0 dout1 dout2 dout3 din4 din5

    dout2dout1

    rden_a

    rden_b

  • 4–16 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

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

    Cyclone IIIメモリ・ブロックは、有限インパルス応答(FIR)フィルタ、擬似ランダム数発生器、マルチチャネル・フィルタリング、自己相関関数および相互相関関数など、デジタル信号処理(DSP)アプリケーション用のシフト・レジスタを実装できます。これらの DSPアプリケーション、およびその他の DSPアプリケーションには、ローカル・データ・ストレージが必要です。ローカル・データ・ストレージは従来、大きなシフト・レジスタを多数のロジック・セルを消費する標準的なフリップ・フロップで実装していました。より効率的な代替方法は、エンベデッド・メモリをシフト・レジスタ・ブロックとして使用することです。これにより、ロジック・セルと配線リソースが節約されます。

    シフト・レジスタのサイズ(w × m × n)は、入力データ幅(w)、タップの長さ(m)、およびタップ数(n)によって決定され、メモリ・ビットの最大数、つまり 9,216ビット以下でなければなりません。また、(w × n)のサイズは、ブロックの最大幅、つまり 36ビット以下でなければなりません。さらに大きなシフト・レジスタが必要な場合は、メモリ・ブロックをカスケード接続できます。

    図 4-13 に、シフト・レジスタ・モードの Cyclone III メモリ・ブロックを示します。

  • Altera Corporation - Preliminary 4–172007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    メモリ・ モード

    図 4-13.Cyclone IIIシフト・レジスタ・モードのコンフィギュレーション

    ROMモード

    Cyclone III メモリ・ブロックは、ROM モードをサポートしています。メモリ初期化ファイル(.mif)は、これらのブロックの ROM 内容を初期化します。ROM のアドレス・ラインがラッチされます。出力はラッチしてもしなくても構いません。ROMのリード動作は、シングル・ポート RAMコンフィギュレーションでのリード動作と同じです。

    W

    w ⋅ m ⋅ n Shift Register

    m-Bit Shift Register

    m-Bit Shift Register

    m-Bit Shift Register

    m-Bit Shift Register

    W

    W

    W

    W

    W

    W

    W

    n Number of Taps

  • 4–18 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    FIFOバッファ・モード

    Cyclone III メモリ・ブロックは、シングル・クロックまたはデュアル・クロック FIFOバッファをサポートしています。デュアル・クロック FIFOバッファは、クロック・ドメイン間でデータを転送する場合に役立ちます。Cyclone IIIメモリ・ブロックは、空の FIFOバッファに対するリードおよびライトの同時実行はサポートしていません。

    FIFO バッファについて詳しくは、「Single- and Dual-Clock FIFOMegafunctions User Guide」を参照してください。アルテラ・ウェブサイトのhttp://www.altera.co.jp/literature/ug/ug_fifo.pdfでご覧いただけます。

    クロック・モード

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

    ■ 独立■ 入力 /出力■ リード /ライト■ シングル・クロック

    メモリ・ブロック入力レジスタに対するセットアップまたはホールド・タイムに違反があると、メモリの内容が破壊される可能性があります。これはリードおよびライトの両方の動作に当てはまります。

    非同期クリアは、出力ラッチおよび出力レジスタのみで使用できます。

    表 4–6に、クロック・モード対メモリ・モード・サポートのマトリックスを示します。

    表 4–6. Cyclone IIIメモリ・クロック・モード

    クロック・モード トゥルー・デュアル・ポート・モード

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

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

    ROMモード

    FIFOモード

    独立 √

    入力 /出力 √ √ √ √

    リード /ライト √ √

    シングル・クロック √ √ √ √ √

  • Altera Corporation - Preliminary 4–192007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    クロック・モード

    独立クロック・モード

    Cyclone III M9Kメモリ・ブロックは、トゥルー・デュアル・ポート・メモリ用の独立クロック・モードを実装できます。このモードでは、各ポート(ポート Aおよび B)で個別のクロックを使用できます。clock Aはポート A側のすべてのレジスタを制御し、clock Bはポート B側のすべてのレジスタを制御します。各ポートは、ポート Aおよび Bのレジスタに対する独立したクロック・イネーブルもサポートします。

    図 4-14は、独立クロック・モードのメモリ・ブロックを示します。

  • 4–20 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    図 4-14.独立クロック・モードの Cyclone IIIメモリ・ブロック

    6

    D EN

    A

    Q

    D EN

    A

    Q

    D EN

    A

    Q

    data

    _a[ ]

    add

    ress

    _a[ ]

    Mem

    ory

    Blo

    ck25

    6 ×

    16 (2

    )51

    2 ×

    81,

    024

    × 4

    2,04

    8 ×

    24,

    096

    × 1

    Dat

    a In

    Add

    ress

    A

    Dat

    a O

    ut

    Dat

    a In

    Add

    ress

    B

    Writ

    e E

    nabl

    e

    Dat

    a O

    ut

    enab

    le_a

    cloc

    k_a

    D EN

    A

    Q

    wre

    n_a

    6 LA

    B R

    ow C

    lock

    s

    q_a[

    ]

    6

    data

    _b[ ]

    addr

    ess_

    b[ ]

    q_b[

    ]

    EN

    A

    AB

    EN

    ADQ

    EN

    ADQ

    EN

    ADQ

    DQ

    D EN

    A

    Qby

    teen

    a_a[

    ]B

    yte

    Ena

    ble

    AB

    yte

    Ena

    ble

    Bby

    teen

    a_b[

    ]E

    NAD

    Q

    wre

    n_b

    enab

    le_b

    cloc

    k_b

    addr

    esss

    tall_

    aA

    ddre

    ss C

    lock

    Ena

    ble

    A

    Add

    ress

    Clo

    ckad

    dres

    ssta

    ll_b

    Ena

    ble

    B

    rden

    _a

    D EN

    A

    QE

    NAD

    Qrd

    en_b

    Rea

    d E

    nabl

    e

    Rea

    d E

    nabl

    e

    Writ

    e E

    nabl

    e

  • Altera Corporation - Preliminary 4–212007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    クロック・モード

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

    Cyclone III M9K メモリ・ブロックは、FIFO、シングル・ポート、トゥルーおよびシンプル・デュアル・ポート・メモリ用の入力 /出力クロック・モードを実装できます。このモードでは、入力クロックが、データ、アドレス、バイト・イネーブル、ライト・イネーブル、およびリード・イネーブル・レジスタなど、メモリ・ブロックへのすべての入力レジスタを制御します。出力クロックはデータ出力レジスタを制御します。各メモリ・ブロック・ポートは、入力および出力レジスタに対する独立したクロック・イネーブルもサポートします。

    図 4-15、4-16、および 4-17 に、トゥルー・デュアル・ポート、シンプル・デュアル・ポート、およびシングル・ポート・モードに対する入力/出力クロック・モードのメモリ・ブロックを示します。

  • 4–22 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    図 4-15.トゥルー・デュアル・ポート・モードの Cyclone III入力 /出力クロック・モード

    6

    D EN

    A

    Q

    D EN

    A

    Q

    D EN

    A

    Q

    data

    _a[ ]

    add

    ress

    _a[ ]

    Mem

    ory

    Blo

    ck25

    6 ×

    16 (2

    )51

    2 ×

    81,

    024

    × 4

    2,04

    8 ×

    24,

    096

    × 1

    Dat

    a In

    Add

    ress

    A

    Writ

    e E

    nabl

    e

    Dat

    a O

    ut

    Dat

    a In

    Add

    ress

    B

    Writ

    e E

    nabl

    e

    Dat

    a O

    ut

    incl

    ocke

    n

    incl

    ock

    D EN

    A

    Q

    wre

    n_a

    6 LA

    B R

    ow C

    lock

    s

    q_a[

    ]

    6

    data

    _b[ ]

    addr

    ess_

    b[ ]

    q_b[

    ]

    EN

    A

    AB

    EN

    ADQ

    EN

    ADQ

    EN

    ADQ

    DQ

    D EN

    A

    Qby

    teen

    a_a[

    ]B

    yte

    Ena

    ble

    AB

    yte

    Ena

    ble

    Bby

    teen

    a_b[

    ]E

    NAD

    Q

    wre

    n_b

    outc

    lock

    en

    outc

    lock

    addr

    esss

    tall_

    aA

    ddre

    ss C

    lock

    Ena

    ble

    AA

    ddre

    ss C

    lock

    addr

    esss

    tall_

    bE

    nabl

    e B

    Rea

    d E

    nabl

    eR

    ead

    Ena

    ble

  • Altera Corporation - Preliminary 4–232007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    クロック・モード

    図 4-16.シンプル・デュアル・ポート・モードの Cyclone III入力 /出力クロック・モード

    図 4-16の注 :(1) MultiTrackインタコネクトについて詳しくは、「Cyclone IIIデバイス・ハンドブックVolume 1」の「Cyclone III

    のMulti Trackインタコネクト」の章を参照してください。

    6

    DENA

    Q

    D

    ENA

    Q

    D

    ENA

    Q

    D

    ENA

    Q

    DENA

    Q

    data[ ]

    DENA

    Qwraddress[ ]

    rdaddress[ ]

    Memory Block256 ´ 16512 ´ 8

    1,024 ´ 42,048 ´ 24,096 ´ 1

    Data In

    Read Address

    Write Address

    Write Enable

    Read Enable

    Data Out

    outclocken

    inclocken

    inclock

    outclock

    wren

    rden

    6 LAB Row Clocks

    To MultiTrackInterconnect (1)

    DENA

    Qbyteena[ ] Byte Enable

    rd_addressstall

    wr_addressstall

    Read AddressClock Enable

    Write AddressClock Enable

  • 4–24 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    図 4-17.シングル・ポート・モードの Cyclone III入力 /出力クロック・モード

    図 4-17の注 :(1) MultiTrackインタコネクトについて詳しくは、「Cyclone IIIデバイス・ハンドブックVolume 1」の「Cyclone III

    のMulti Trackインタコネクト」の章を参照してください。

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

    Cyclone III M9Kメモリ・ブロックは、シンプル・デュアル・ポート・メモリ用のリード /ライト・クロック・モードを実装できます。このモードでは、ライト・クロックが、データ入力、ライト・アドレス、およびライト・イネーブル・レジスタを制御します。同様に、リード・クロックが、データ出力、リード・アドレス、およびリード・イネーブル・レジスタを制御します。メモリ・ブロックは、リードおよびライト両方のクロックに対する独立したクロック・イネーブルをサポートします。図 4-18に、リード /ライト・クロック・モードのメモリ・ブロックを示します。

    6

    DENA

    Q

    D

    ENA

    Q

    D

    ENA

    Q

    DENA

    Q

    data[ ]

    address[ ]

    Memory Block256 ´ 16512 ´ 8

    1,024 ´ 42,048 ´ 24,096 ´ 1

    Data In

    Address

    Write Enable

    Data Out

    outclocken

    inclocken

    inclock

    outclock

    wren

    6 LAB Row Clocks

    To MultiTrackInterconnect (1)

    DENA

    Qbyteena[ ] Byte Enable

    addressstallAddressClock Enable

    rden

    D

    ENA

    Q Read Enable

  • Altera Corporation - Preliminary 4–252007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    クロック・モード

    図 4-18.Cyclone IIIリード /ライト・クロック・モード

    図 4-18の注 :(1) MultiTrackインタコネクトについて詳しくは、「Cyclone IIIデバイス・ハンドブックVolume 1」の「Cyclone III

    のMulti Trackインタコネクト」の章を参照してください。

    6

    DENA

    Q

    D

    ENA

    Q

    D

    ENA

    Q

    D

    ENA

    Q

    DENA

    Q

    data[ ]

    DENA

    Qwraddress[ ]

    rdaddress[ ]

    Memory Block256 ´ 16512 ´ 8

    1,024 ´ 42,048 ´ 24,096 ´ 1

    Data In

    Read Address

    Write Address

    Write Enable

    Read Enable

    Data Out

    rdclocken

    wrclocken

    wrclock

    rdclock

    wren

    rden

    6 LAB Row Clocks

    To MultiTrackInterconnect (1)

    DENA

    Qbyteena[ ] Byte Enable

    rd_addressstall

    wr_addressstall

    Read AddressClock Enable

    Write AddressClock Enable

  • 4–26 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

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

    Cyclone III M9Kメモリ・ブロックは、FIFO、ROM、トゥルー・デュアル・ポート、シンプル・デュアル・ポート、およびシングル・ポート・メモリ用のシングル・クロック・モードを実装できます。このモードでは、メモリ・ブロックのすべてのレジスタを 1つのクロックとクロック・イネーブルで制御することができます。

    図 4-19、4-20、および 4-21 に、それぞれトゥルー・デュアル・ポート、シンプル・デュアル・ポート、およびシングル・ポート・モードに対するシングル・クロック・モードのメモリ・ブロックを示します。

  • Altera Corporation - Preliminary 4–272007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    クロック・モード

    図 4-19.トゥルー・デュアル・ポート・モードの Cyclone IIIシングル・クロック・モード (1)

    図 4-19の注 :(1) MultiTrackインタコネクトについて詳しくは、「Cyclone IIIデバイス・ハンドブックVolume 1」の「Cyclone III

    のMulti Trackインタコネクト」の章を参照してください。

    6

    D EN

    A

    Q

    D EN

    A

    Q

    D EN

    A

    Q

    data

    _a[ ]

    add

    ress

    _a[ ]

    Mem

    ory

    Blo

    ck25

    6 ×

    16 (2

    )51

    2 ×

    81,

    024

    × 4

    2,04

    8 ×

    24,

    096

    × 1

    Dat

    a In

    Add

    ress

    A

    Rea

    d E

    nabl

    e

    Dat

    a O

    ut

    Dat

    a In

    Add

    ress

    B

    Rea

    d E

    nabl

    e

    Dat

    a O

    ut

    enab

    le

    cloc

    k

    D EN

    A

    Q

    wre

    n_a

    6 LA

    B R

    ow C

    lock

    s

    q_a[

    ]

    6

    data

    _b[ ]

    addr

    ess_

    b[ ]

    q_b[

    ]

    EN

    A

    AB

    EN

    ADQ

    EN

    ADQ

    EN

    ADQ

    DQ

    D EN

    A

    Qby

    teen

    a_a[

    ]B

    yte

    Ena

    ble

    AB

    yte

    Ena

    ble

    Bby

    teen

    a_b[

    ]E

    NAD

    Q

    wre

    n_b

    addr

    esss

    tall_

    aA

    ddre

    ss C

    lock

    Ena

    ble

    AA

    ddre

    ss C

    lock

    addr

    esss

    tall_

    bE

    nabl

    e B

    D EN

    A

    Q

    rden

    _a

    EN

    ADQ

    rden

    _b

    Writ

    e E

    nabl

    eW

    rite

    Ena

    ble

  • 4–28 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    図 4-20.シンプル・デュアル・ポート・モードの Cyclone IIIシングル・クロック・モード

    図 4-20の注 :(1) MultiTrackインタコネクトについて詳しくは、「Cyclone IIIデバイス・ハンドブックVolume 1」の「Cyclone III

    のMulti Trackインタコネクト」の章を参照してください。

    6

    DENA

    Q

    D

    ENA

    Q

    D

    ENA

    Q

    D

    ENA

    Q

    DENA

    Q

    data[ ]

    DENA

    Qwraddress[ ]

    rdaddress[ ]

    Memory Block256 ´ 16512 ´ 8

    1,024 ´ 42,048 ´ 24,096 ´ 1

    Data In

    Read Address

    Write Address

    Write Enable

    Read Enable

    Data Out

    enable

    clock

    wren

    rden

    6 LAB Row Clocks

    To MultiTrackInterconnect (1)

    DENA

    Qbyteena[ ] Byte Enable

    rd_addressstall

    wr_addressstall

    Read AddressClock Enable

    Write AddressClock Enable

  • Altera Corporation - Preliminary 4–292007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    クロック・モード

    図 4-21.シングル・ポート・モードの Cyclone IIIシングル・クロック・モード

    図 4-21の注 :(1) MultiTrackインタコネクトについて詳しくは、「Cyclone IIIデバイス・ハンドブックVolume 1」の「Cyclone III

    のMulti Trackインタコネクト」の章を参照してください。

    6

    DENA

    Q

    D

    ENA

    Q

    D

    ENA

    Q

    DENA

    Q

    data[ ]

    address[ ]

    Memory Block256 ´ 16512 ´ 8

    1,024 ´ 42,048 ´ 24,096 ´ 1

    Data In

    Address

    Write Enable

    Data Out

    enable

    clock

    wren

    6 LAB Row Clocks

    To MultiTrackInterconnect (1)

    DENA

    Qbyteena[ ] Byte Enable

    addressstallAddressClock Enable

    DENA

    Q

    rden

    Read Enable

  • 4–30 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    デザインの検討事項

    ライト中リード動作

    4–30 ページの「同一ポートに対するライト中リード・モード」および4–32ページの「混在ポートに対するライト中リード・モード」では、あるアドレスでのライト動作中に同一アドレスからの読み出しを実行する際の、各種 RAM コンフィギュレーションの機能について説明しています。2 つのライト中リード・データ・フロー、すなわち同一ポートおよび混在ポートに対するライト中リード・データ・フローがあります。

    図 4-22に、これらのフローの違いを示します。

    図 4-22.Cyclone IIIのライト中リード・データ・フロー

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

    このモードは、シングル・ポート RAMまたはトゥルー・デュアル・ポートRAMの同一ポートに適用されます。同一ポートに対するライト中リード・モードでは、“New Data”モード(またはフロースルー)および “OldData” モードの 2 つの出力の選択肢が用意されています。“New Data”モードでは、新しいデータが書き込まれた同一クロック・サイクルの立ち上がりエッジで、そのデータを使用することができます。“Old Data”モードでは、ライト動作が続行される前に、そのアドレスにある古いデータが RAM出力に反映されます。

    New Dataモードをバイト・イネーブル(byteena)と併せて使用すると、RAMの出力を制御することができます。バイト・イネーブルがHighの場合、メモリに書き込まれたデータは、出力に送られます(フロースルー)。バイト・イネーブルが Lowのとき、マスク・オフされたデータ

    Port Adata in

    Port Bdata in

    Port Adata out

    Port Bdata out

    Mixed-portdata flow

    Same-portdata flow

    write_a

    read_aread_b

    write_b

  • Altera Corporation - Preliminary 4–312007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    デザインの 検討事項

    はメモリに書き込まれず、メモリの古いデータが出力に現れます。したがって、出力はバイト・イネーブルで決定される新しいデータと古いデータの組み合わせにすることができます。

    図 4-23および 4-24に、それぞれ “New Data”モードおよび “Old Data”モードでの、同一ポートに対するライト中リード動作の機能波形のサンプルを示します。

    図 4-23.同一ポートに対するライト中リード : New Dataモード

    図 4-24.同一ポートに対するライト中リード : Old Dataモード

    clk_a

    wren_a

    address_a

    data_a

    rden_a

    q_a (asynch)

    a0 a1

    A B C D E F

    A B C D E F

    clk_a

    wren_a

    address_a

    data_a

    rden_a

    q_a (asynch)

    a0 a1

    A B C D E F

    a0(old data) a1(old data)A B D E

  • 4–32 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

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

    このモードは、読み出しを実行する 1つのポートと、同一クロックで同一アドレス位置への書き込みを実行するもう 1つのポートを有する、シンプルまたはトゥルー・デュアル・ポート・モードの RAM に適用されます。

    このモードでも、“Old Data”または “Don't Care”の 2つの出力の選択肢が用意されています。“Old Data”モードでは、異なるポートに対するライト中リード動作が実行されると、そのアドレス位置にある古いデータが RAM出力に反映されます。“Don't Care”モードでは、同じ動作によって、RAM出力に "Don't Care"値または未知の値が現れます。

    目的の動作を実装する方法について詳しくは、「RAM Megafunction UserGuide」を参照してください。

    図 4-25に、“Old Data”モードの場合の混在ポートに対するライト中リード動作の機能波形のサンプルを示します。“Don't Care”モードでは、図に示された古いデータが “Don't Care”に置き換えられるにすぎません。

    図 4-25.混在ポートに対するライト中リード : Old Dataモード

    Cyclone III M9Kメモリ・ブロックは、デュアル・ポート RAMで 2種類のクロックが使用されているときは、混在ポートに対するライト中リードをサポートしません。デュアル・クロック混在ポートに対するライト中リード動作では、出力値は不明です。

    a b

    a (old data) b (old data)

    clk_a&b

    wren_a

    address_a

    q_b (asynch)

    rden_a

    a baddress_b

    data_a A B C D E F

    A B D E

  • Altera Corporation - Preliminary 4–332007年 3月 Cyclone III デバイス・ハンドブック Volume 1

    デザインの 検討事項

    競合の解決

    トゥルー・デュアル・ポート・モードでメモリ・ブロックを使用するときには、同一メモリ位置(アドレス)に 2つのライト動作を試みることができます。メモリ・ブロックには競合解決回路が組み込まれていないので、その位置には未知のデータが書き込まれます。したがって、メモリ・ブロックの外部に競合解決ロジックを実装する必要があります。

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

    Cyclone IIIメモリ・ブロック出力は、出力レジスタが使用されるかバイパスされるかに関係なく、パワーアップ時にゼロ(クリア)になります。すべてのメモリ・ブロックで、メモリ初期化ファイル(.mif)による初期化がサポートされます。Quartus IIソフトウェアで .mifファイルを作成し、デザインでメモリをインスタンス化するときに、RAMMegaWizard によってそれらのファイルの使用を指定することができます。メモリが事前に初期化されている(例えば、.mifによって)場合でも、パワーアップ時には出力はクリアされています。パワーアップ以降の読み出しによってのみ、事前に初期化された値が出力されます。

    MIF ファイルについて詳しくは、「RAM Megafunction User Guide」および「Quartus II ハンドブック」を参照してください。これらの資料はそれぞれ、アルテラ・ウェブサイトのhttp://www.altera.com/literature/ug/ug_ram.pdfおよびhttp://www.altera.com/literature/lit-qts.jspでご覧いただけます。

    消費電力の管理

    Cyclone IIIメモリ・ブロックのクロック・イネーブルにより、各メモリ・ブロックのクロックを制御してAC消費電力を低減することができます。リード・イネーブル信号を使用し、必要なときにのみリード動作が実行されるようにします。デザインでライト中リードが不要な場合は、ライト動作中またはメモリ動作が実行されていない期間にリード・イネーブル信号をデアサートして、消費電力を低減します。

    Quartus IIソフトウェアは、未使用のメモリ・ブロックを自動的にパワーダウンして、スタティック消費電力を節約します。

  • 4–34 Altera Corporation - PreliminaryCyclone III デバイス・ハンドブック Volume 1 暫定サポート 2007年 3月

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

    まとめ Cyclone III M9K エンベデッド・メモリ構造は、広いメモリ帯域幅を備えた柔軟性の高いメモリ・アーキテクチャを提供します。各種メモリ・モード、バイト・イネーブル、パリティ・ビット・ストレージ、アドレス・クロック・イネーブル、ミックスド・クロック・モード、および混合ポート幅のサポートなどの機能を備えた Cyclone IIIデバイス・デザインにおける各種メモリ・アプリケーションのニーズに対応します。これらのコンフィギュレーションはすべて、Quartus II MegaWizard で行うことができます。

    改訂履歴 表 4–7に、本資料の改訂履歴を示します。

    表 4–7.改訂履歴

    日付&ドキュメント・バージョン 変更内容 概要

    2007年 3月 v1.0 初版

    4. Cyclone IIIデバイスのメモリ・ブロックはじめに概要コントロール信号パリティ・ビットのサポートバイト・イネーブルのサポートパック・モードのサポートアドレス・クロック・イネーブル混在するデータ幅のサポート非同期クリア

    メモリ・モードシングル・ポート・モードシンプル・デュアル・ポート・モードトゥルー・デュアル・ポート・モードシフト・レジスタ・モードROMモードFIFOバッファ・モード

    クロック・モード独立クロック・モード入力/出力クロック・モードリード/ライト・クロック・モードシングル・クロック・モード

    デザインの検討事項ライト中リード動作競合の解決パワーアップ条件およびメモリ初期化消費電力の管理

    まとめ改訂履歴