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

Similar documents
Cyclone III デバイス・ファミリの メモリ・ブロック

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類が あります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストール

ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールす

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

Microsoft Word - quick_start_guide_16 1_ja.docx

1-2 MLAB 図 1-1: Arria 10 デバイスにおける LAB 構造およびインタコネクトの概要 この図は LAB インタコネクトを有する Arria 10 の LAB および MLAB 構造の概要を表しています C4 C27 異なる速度と長さのロウ インタコネクト R32 R3/R6 s

Cyclone V デバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール、Cyclone Vデバイス・ハンドブック、Volume 1、第1章

ロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール

AN 630: アルテラCPLD におけるリアルタイムISP およびISP クランプ

内部メモリ(RAMおよびROM)ユーザーガイド

ウォッチドッグ・タイマ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

Stratix IVデバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール, Stratix IV Device Handbook, Volume 1, Ch 2

インテル® Arria® 10 コア・ファブリックおよび汎用 I/O ハンドブック

AN 357: Error Detection & Recovery Using CRC in Altera FPGA Devices

A-AN pdf

オンチップ・メモリ クイック・ガイド for Cyclone III

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

インテル® Stratix®10 デバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール・ユーザーガイド

AN 611:3G-SDI レベルB とデュアル・リンクHD-SDI(SMPTE372)リファレンス・デザインのマッピング

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

ヤマハDante機器と他社AES67機器の接続ガイド

CANコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

8B10Bエンコーダ/デコーダMegaCoreファンクション・ユーザガイド

デュアルDIMM DDR2およびDDR3 SDRAMのボード・デザイン・ガイドライン、外部メモリ・インタフェース・ハンドブック、Volume 2、第5章

3-2 Arria 10 デバイスでサポートされる動作モード A10-DSP Arria 10 デバイスでサポートされる動作モード 表 3-1: Arria 10 デバイスにおける可変精度 DSP ブロックの動作モード 可変精度 DSP ブロックのリソース 1 つの可変精度 DSP

RAM-ベース・シフト・レジスタ (ALTSHIFT_TAPS) メガファンクションのユーザーガイド

AN 477: Designing RGMII Interface with HardCopy

Microsoft PowerPoint - 3.3タイミング制御.pptx

FPGAメモリおよび定数のインシステム・アップデート

MAX 10 高速LVDS I/Oユーザー・ガイド

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

スライド 1

Xilinx XAPP645 Virtex-II Pro デバイス アプリケーション ノート『シングル エラー訂正およびダブル エラー 検出』

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk

「電子政府推奨暗号の実装」評価報告書

Microsoft Word - HowToSetupVault_mod.doc

NOTICE The information contained in this document is believed to be accurate in all respects but is not warranted by Mitel Networks Corporation (MITEL

MAX 10高速LVDS I/Oユーザーガイド

FPGA 外部のメモリをアバロン・MM・インタフェースへ接続する方法

Notes and Points for TMPR454 Flash memory

スライド 1

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ

PowerPoint プレゼンテーション

I2Cコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

スライド 1

Arria 10におけるプロトコル経由のCvP初期化およびパーシャル・リコンフィギュレーション ユーザーガイド

Windows Phone 用 Cisco AnyConnect セキュアモビリティクライ アントユーザガイド(リリース 4.1.x)

USB-Blasterダウンロード・ケーブル・ユーザガイド

Quartus II クイック・スタートガイド

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

ライセンス管理

MAX 10の汎用I/Oのユーザーガイド

PowerPoint Presentation

JABRA BT

AWS Client VPN - ユーザーガイド

PowerPoint Presentation

Microsoft PowerPoint LC_15.ppt

NANDフラッシュ・コントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Microsoft Word - SUA007

ModelSim-Altera - RTL シミュレーションの方法

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

0630-j.ppt

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

Software Tag Implementation in Adobe Products

ベース0516.indd

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

スライド 1

SonicWALL SSL-VPN 4000 導入ガイド

Virtex-6 Clocking

テクニカルホワイトペーパー HP Sure Run HP PC のハードウェア強制されたアプリケーション永続性 HP Sure Run は ハードウェア強制アプリケーション永続化ソリューションで OS の実行中にポリシー適用ハードウェアとの通信を維持する機能を備えています OS 内の HP Sure

Microsoft Word - 実験4_FPGA実験2_2015

ハード・プロセッサ・システム (HPS)のテクニカル・リファランス・マニュアル (TRM) 、第12章:クワッドSPIフラッシュ・コントローラ

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

F コマンド

MIB サポートの設定

Quartus II はじめてガイド - よく使用するロジック・オプション設定方法 (個別設定)

特定機能を使用するための追加要件 : インターネットアクセス 解像度によっては ビデオ再生に追加メモリと高度なグラフィックスハードウェアが必要です BitLocker にはトラステッドプラットフォームモジュール (TPM) 1.2 が必要です BitLocker To Go には USB フラッシュ

Microsoft Word - dg_sataahciip_refdesign_jp.doc

Microsoft PowerPoint - LogicCircuits09note.ppt [互換モード]

ソフトウェアの説明

Nios II マイコン活用ガイド マイコンの動作を確認しましょう AuCE C3 には 基本 CPU エンジン CPU0121C3880 と 対応する基本プログラムを書き込んで出荷しております 以下に AuCE C3 出荷時の状態を示します AuCE C3 FPGA Cyclone III 基本

プログラマブル論理デバイス

TULを用いたVisual ScalerとTDCの開発

AutoCAD道場-なぜ「レイアウト」がいいのか?

USB 2.0 OTGコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

SAC (Jap).indd

AutoCAD WS Mobile アプリケーション

Xpand! Plug-In Guide

X-Form Plug-in Guide

Quartus II - デバイスの未使用ピンの状態とその処理

PLL クイック・ガイド for Cyclone III

Mindjet MindManager Version 9 for Windows サービスパック 2 リリースノート : 2011 年 4 月 20 日

プロバイダ ユーザーズガイド

MODBUS ユーザーズマニュアル 페이지 1 / 23

VPN 接続の設定

TN-46-13

Quartus II はじめてガイド - Convert Programming File の使い方

Transcription:

2 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) エンベデッド セルに関する情報 容量 2014. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of 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. ISO 9001:2008 www.altera.com 101 Innovation Drive, San Jose, CA 95134

2-2 デザイン ガイドライン 表 2-1: 容量と分配 A10-MEMORY タイプ Arria 10 GX Arria 10 GT Arria 10 SX 製品ライン ブロック数 M20K RAM ビット数 (Kb) ブロック数 MLAB RAM ビット数 (Kb) トータル RAM ビット数 (Kb) 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 GT 900 2,423 48,460 15,017 9,386 57,846 GT 1150 2,713 54,260 20,774 12,984 67,244 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 デザイン ガイドライン デザインを確実に作成するには いくつか考慮すべき事項があります 特に注記のない限り これらのデザイン ガイドラインはこのデバイス ファミリのすべてのバリアントに適用されます メモリ ブロックの選択 Quartus II ソフトウェアは デザインの速度とサイズの制約を考慮して ユーザー定義のメモリを自動的にメモリ ブロック内に分割します たとえば Quartus II ソフトウェアは デザインの性能を向上させるためにメモリを複数の使用可能なメモリ ブロックに分割します メモリを手動で特定のブロック サイズに割り当てるには MegaWizard Plug-In Manager で RAM メガファンクションを使用します

A10-MEMORY ガイドライン : 外部の競合解決を実装する 2-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 FPGA Device Port B data in Port A data out Port B data out Mixed-port data flow Same-port data flow 同一ポートの 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" の 値を出力します

2-4 混合ポートの Read-During-Write モード 図 2-2: 同一ポートの Read-During-Write:New Data モード A10-MEMORY 次の図は new data モードの同一ポート Read-During-Write 動作のサンプル機能波形を表しています clk_a address rden wren 0A 0B byteena data_a q_a (asynch) A123 B456 C789 DDDD EEEE FFFF 11 A123 B456 C789 DDDD EEEE FFFF 混合ポートの 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 では このモードは出力が登録済みの場合にのみ使用可能です

A10-MEMORY 混合ポートの Read-During-Write モード 2-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 動作のサンプル機能波形を表しています clk_a&b wren_a address_a A0 A1 data_a byteena_a AAAA BBBB CCCC DDDD EEEE FFFF 11 rden_b address_b q_b (synch) XXXX A0 AAAA BBBB CCCC DDDD EEEE FFFF A1

2-6 混合ポートの Read-During-Write モード 図 2-4: 混合ポートの Read-During-Write:Old Data モード A10-MEMORY 次の図は old data モードの混合ポート Read-During-Write 動作のサンプル機能波形を表しています clk_a&b wren_a address_a A0 A1 data_a byteena_a AAAA BBBB CCCC DDDD EEEE FFFF 11 rden_b address_b A0 A1 q_b (asynch) 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 AAAA BBBB CCCC DDDD EEEE FFFF 11 01 10 11 rden_b address_b A0 A1 q_b (asynch) XXXX (unknown data) デュアル ポート RAM モードでは 入力レジスタが同じクロックを有する場合に混合ポートの Read-During-Write 動作がサポートされます 関連情報内部メモリ (RAM および ROM) のユーザー ガイド Read-During-Write 動作を制御する RAM メガファンクションについての詳細を提供します

A10-MEMORY ガイドライン : パワーアップ状態およびメモリの初期化 2-7 ガイドライン : パワーアップ状態およびメモリの初期化 初期パワーアップ値を評価するロジックをデザインしている場合 次の表にリストしているように 異なるタイプのメモリ ブロックのパワーアップ状態を考慮します 表 2-4: エンベデッド メモリ ブロックの初期パワーアップ値 メモリ タイプ出力レジスタパワーアップ値 MLAB M20K Used ゼロ ( クリア ) Bypassed メモリの内容を読み取る 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 ソフトウェアを使用して未使用のメモリ ブロックを自動的に低消費電力モードにし スタティック消費電力を削減します

2-8 エンベデッド メモリ機能 A10-MEMORY エンベデッド メモリ機能 表 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" に設定されます

A10-MEMORY エンベデッド メモリ コンフィギュレーション 2-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 をサポートします Quartus II ソフトウェアを使用してソフト IP をサポートします x32 ビット幅シンプル デュアル ポート モードのビルトイン サポートを有します 関連情報内部メモリ (RAM および ROM) のユーザー ガイドエンベデッド メモリ機能についての詳細を提供します エンベデッド メモリ コンフィギュレーション 表 2-6: Arria 10 デバイス向けにサポートされるエンベデット メモリ ブロックのコンフィギュレーション 次の表は エンベデット メモリ ブロック向けにサポートされる最大のコンフィギュレーションをリストしています この情報はシングル ポート RAM および ROM モードのみに適用されます メモリ ブロック深度 ( ビット ) プログラム可能な幅 MLAB 32 x16 x18 または x20 64 (1) x8 x9 x10 512 x40 x32 M20K 1K x20 x16 2K x10 8 4K x5 x4 8K x2 16K x1 幅の異なるポートのコンフィギュレーション 幅の異なるポートのコンフィギュレーションは シンプル デュアル ポート RAM およびトゥルー デュアル ポート RAM のメモリ モードでサポートされます (1) ソフトウェア エミュレーションによって使用可能になり 追加の MLAB ブロックを消費します

2-10 M20K ブロックの幅の異なるコンフィギュレーション 注 : MLAB は幅の異なるポートのコンフィギュレーションをサポートしません A10-MEMORY 関連情報内部メモリ (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 ブロックの幅の異なるコンフィギュレーションをリストしています

A10-MEMORY エンベデッド メモリ モード 2-11 表 2-8: M20K ブロックの幅の異なるコンフィギュレーション ( トゥルー デュアル ポート モード ) ポート A 16K x 1 ポート 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 ありありあり あり あり 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 のエンベデッド メモリ ブロックでサポートされるメモリ モードをリストし 説明しています メモリ モード シングル ポート RAM M20K サポート MLAB サポート 説明 あり あり 読み取りまたは書き込み動作は 1 度にどちらか 1 回だけ 実行することができます 書き込み動作中は 読み取りイネーブル ポートを使用して RAM の出力ポートの動作を制御します 直近のアクティブ読み取りイネーブル中に保持していた以前の値を継続して保持する 読み取りイネーブル ポートを作成し 読み取りイネーブル ポートがディアサートされた状態で書き込み動作を実行します 同じアドレス位置で Read-During-Write が実行される際 新しく書き込まれているデータ アドレスにある古いデータ または "Don't Care" の値を表示する 読み取りイネーブル信号を作成しないか あるいは書き込み動作中に読み取りイネーブルを有効にします

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

A10-MEMORY エンベデッド メモリのクロッキング モード 2-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 ありありありありあり あり あり ありありありあり 独立クロック モード ありあり

2-14 シングル クロック モード 注 : MLAB ブロックの書き込みアドレス バイト イネーブル およびデータ入力レジスタではクロック イネーブル信号はサポートされません シングル クロック モード シングル クロック モードでは シングル クロックはクロック イネーブルと併用してメモリ ブロックのすべてのレジスタを制御します 読み取り / 書き込みクロック モード 読み取り / 書き込みクロック モードでは 各読み取りポートと書き込みポートに個別のクロックが使用できます 読み取りクロックはデータ出力 読み取りアドレス および読み取りイネーブル レジスタを制御します 書き込みクロックはデータ入力 書き込みアドレス 書き込みイネーブル およびバイト イネーブル レジスタを制御します 入力 / 出力クロック モード 入力 / 出力クロックモードでは 各入力ポートと出力ポートに個別のクロックが使用できます 入力クロックは データ アドレス バイト イネーブル 読み取りイネーブル および書き込みイネーブルを含むメモリ ブロックへのデータ入力に関係するすべてのレジスタを制御します 出力クロックはデータ出力レジスタを制御します 独立クロック モード 独立クロック モードでは 各ポート (A および B) に個別のクロックが使用できます クロック A はポート A 側のすべてのレジスタを制御します クロック B はポート B 側のすべてのレジスタを制御します 注 : 消費電力を節約するために 異なる入力および出力レジスタに独立クロック イネーブルを作成し 特定のレジスタのシャット ダウンを制御することができます 使用する独立クロック イネーブルを設定するには パラメータ エディタで More Options( クロック イネーブル オプションの隣 ) をクリックします クロッキング モードにおける非同期クリア 非同期クリアは すべてのクロッキング モードで出力ラッチと出力レジスタにのみ使用できます なお 独立クロック モードでは 非同期クリアは両ポートに適用可能です 同時の読み取り / 書き込みにおける出力読み取りデータ 読み取り / 書き込みクロック モードを使用して同じアドレス位置に同時に読み取り / 書き込みを実行する場合 出力読み取りデータは未知の値となります 出力読み取りデータが既知の値として必要な場合は シングル クロック モードまたは入力 / 出力クロック モードを使用して MegaWizard Plug-In Manager で適切な Read-During-Write 動作を選択します クロッキング モードにおける独立クロック イネーブル 独立クロック イネーブルは 次のクロッキング モードでサポートされます A10-MEMORY 読み取り / 書き込みクロック モード 読み取りおよび書き込みクロックの両方でサポートされます 独立クロック モード 両ポートのレジスタでサポートされます

A10-MEMORY メモリ ブロックのパリティ ビット 2-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]

2-16 データ バイト出力 A10-MEMORY 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 でマスクされたバイトの出力値を制御することができます

A10-MEMORY RAM ブロックの動作 2-17 RAM ブロックの動作 図 2-6: バイト イネーブル機能の波形 この図は wren 信号と byteena 信号が RAM ブロックの動作を制御する方法を図示しています inclock wren address an a0 a1 a2 a3 a4 a0 data XXXXXXXX ABCDEF12 XXXXXXXX byteena XXXX 1000 0100 0010 0001 1111 XXXX contents at a0 FFFFFFFF ABFFFFFF contents at a1 contents at a2 FFFFFFFF FFFFFFFF FFCDFFFF FFFFEFFF contents at a3 contents at a4 FFFFFFFF FFFFFFFF FFFFFF12 ABCDEF12 don t care: q (asynch) doutn ABXXXXXX XXCDXXXX XXXXEFXX XXXXXX12 ABCDEF12 ABFFFFFF current data: q (asynch) doutn ABFFFFFF FFCDFFFF FFFFEFFF FFFFFF12 ABCDEF12 ABFFFFFF メモリ ブロックのパック モード サポート M20K メモリ ブロックはパック モードをサポートします パック モード機能は 独立した 2 つのシングル ポート RAM ブロックを 1 つのメモリ ブロックにパックします Quartus II ソフトウェアは 物理 RAM ブロックをトゥルー デュアル ポート モードにし アドレスの MSB を使用して 2 つの論理 RAM ブロックを区別することによって 必要に応じてパック モードを自動的に実装します なお 独立した各シングル ポート RAM の容量は ターゲット ブロックの容量の半分以下でなければなりません メモリ ブロックのアドレス クロック イネーブル サポート エンベデッド メモリ ブロックはアドレス クロック イネーブルをサポートし 信号がイネーブルされている間 前のアドレス値を保持します (addressstall = 1) メモリ ブロックがデュアル ポート モードでコンフィギュレーションされると 各ポートは独自の独立したアドレス クロック イネーブルを有します アドレス クロック イネーブル信号のデフォルト値は Low( ディセーブル ) です

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

A10-MEMORY メモリ ブロックの非同期クリア 2-19 図 2-9: 書き込みサイクル中のアドレス クロック イネーブルの波形 この図は 書き込みサイクル時のアドレス クロック イネーブルの波形を示しています inclock wraddress a0 a1 a2 a3 a4 a5 a6 data 00 01 02 03 04 05 06 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 a0 a1 a4 a5 XX XX 01 02 XX XX XX 00 03 04 XX 05 メモリ ブロックの非同期クリア M20K メモリ ブロックは 出力ラッチおよび出力レジスタの非同期クリアをサポートします RAM が出力レジスタを使用していない場合でも 出力ラッチの非同期クリアを使用して RAM 出力をクリアします このクリアは非同期信号であり 任意の時点で生成されます クリア パルスは 内部ロジックによって出力クロックの次の立ち上がりエッジまで拡張されます クリアがアサートされると 出力がクリアされ 次の読み取りサイクルまでクリアされたままです

2-20 メモリ ブロックの誤り訂正コード サポート 図 2-10: Arria 10 デバイスにおける出力ラッチのクリア ( 非 ECC モード ) A10-MEMORY clk rden aclr clr at latch out D 0 D 1 D 2 図 2-11: Arria 10 デバイスにおける出力ラッチのクリア (ECC モード ) cken clk rden aclr clr at latch out D 0 D 0 D 1 D 2 メモリ ブロックの誤り訂正コード サポート ECC は メモリの出力時にデータのエラーを検出し 訂正することを可能にします ECC は 32 ビット ワードでシングル エラー訂正 ダブル隣接エラー訂正 およびトリプル隣接エラー検出を実行することができます ただし ECC は 4 つ以上のエラーを検出することはできません x32 ビット幅シンプル デュアル ポート モードのとき M20K ブロックは ECC のビルトイン サポートを有します

A10-MEMORY 誤り訂正コードの真理値表 2-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 のブロック図 Status Flag Generation 2 40 8 Input Register 32 ECC Encoder 32 8 Memory Array 40 Optional 40 Pipeline Register 40 ECC Decoder 40 Output Register 改訂履歴

2-22 改訂履歴 A10-MEMORY 日付バージョン変更内容 2014 年 8 月 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 初版