外部メモリ・インタフェース・ハンドブック Volume 3: アルテラ・メモリ・インタフェースIPの実装; セクション I. DDR およびDDR2 SDRAM 高性能コントローラ およびALTMEMPHY IP ユーザーガイド
|
|
|
- もえり あきくぼ
- 7 years ago
- Views:
Transcription
1 101 Innovation Drive San Jose, CA EMI_DDR_UG-1.3
2 Copyright 2010 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. 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 Corporation. 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.
3 .... Altera Corporation
4 iv. Altera Corporation
5 v.. Altera Corporation
6 vi Altera Corporation
7 以下の表に本項の改訂履歴を示します 日付 バージョン 変更内容 2010 年 2 月 1.3 誤字脱字修正 2010 年 2 月 1.2 Stratix IV デバイスのフル サポート 初期化のタイミング図および HPC のキャリブレーションの段階を追加 2009 年 11 月 1.1 マイナー修正 2009 年 11 月 1.0 初版 Altera Corporation reliminary
8 viii Altera Corporation Preliminary
9 1. アルテラの DDR および DDR2 SDRAM 高性能コントローラ MegaCore ファンクションは 業界標準の DDR SDRAM および DDR2 SDRAM への簡略化されたインタフェースを提供します ALTMEMPHY メガファンクションは メモリに対する読み出しおよび書き込み動作を実行し メモリ コントローラとメモリ デバイス間のインタフェースとして使用されます この MegaCore ファンクションは アルテラの ALTMEMPHY メガファンクションと連携して動作します DDR および DDR2 SDRAM 高性能コントローラ MegaCore ファンクションおよび ALTMEMPHY メガファンクションは フル レートまたはハーフ レート DDR および DDR2 SDRAM インタフェースを提供します DDR および DDR2 SDRAM 高性能コントローラ MegaCore ファンクションは 2 つのコントローラ アーキテクチャを提供します それらは高性能コントローラ (HPC) および高性能コントローラ II(HPC II) です HPC II はより高い効率および最新機能を提供します 1 記述しないかぎり DDR 及び DDR2 SDRAM の高性能コントローラは HPC 及び HPC II を参照しています 図 1 1 に DDR または DDR2 SDRAM 高性能コントローラの MegaCore ファンクションを作成する トップレベル ファイルの例を含むシステム レベルのブロック図を示します ALTMEMPHY DLL (1) PLL 図 1 1 の注 : (1) Instantiate DLL Externally を選択する際 DLL が ALTMEMPHY メガファンクションの外部にインスタンス化されます MegaWizard Plug-In Manager は サンプル ドライバ および DDR または DDR2 SDRAM 高性能コントローラのカスタム バリエーションを含むトップレベル ファイルの例を生成します コントローラはインスタンス化された ALTMEMPHY のメガファンクションのインスタンスを PLL 及び DLL にインスタンス化します ALTMEMPHY メガファンクションの複数のインスタンスの間で DLL を共有する場合は オプションで ALTMEMPHY メガファンクションの外部に DLL をインスタンス化することができます PLL は複数のインスタンスに共用されてはいけませんが 複数のインスタンスの間で一部の PLL クロック出力を共有することができます トップレベル ファイルの例は シミュレーション 合成 およびハードウェア上で使用可能な完全に動作するデザインです サンプル ドライバは セルフ テスト モジュールでコントローラにリードとライトのコマンドを発行し リード データをチェックして パス / フェイルおよびテスト完了の信号を出力します Altera Corporation
10 1 2 ALTMEMPHY メガファンクションは メモリ デバイスとメモリ コントローラ間のデータパスを作成します メガファンクションは スタンドアロン製品として利用可能であり またはアルテラの高性能メモリ コントローラと併用して使用できます スタンドアロン製品の場合は ALTMEMPHY メガファンクションをカスタム コントローラまたはサードパーティ コントローラと共に使用することができます 表 1 1 に DDR と DDR2 SDRAM 高性能コントローラおよび ALTMEMPHY IP のリリースに関する情報を示します バージョンリリース月製品コードプロダクト ID ベンダ ID 項目 説明 9.1 SP 年 2 月 IP-SDRAM/HPDDR (DDR SDRAM HPC) IP-SDRAM/HPDDR2 (DDR2 SDRAM HPC) IP-HPMCII (HPC II) 00BE (DDR SDRAM) 00BF (DDR2 SDRAM) 00CO (ALTMEMPHY メガファンクション ) 6AF7 アルテラは Quartus II ソフトウェアの現行バージョンが 各 MegaCore ファンクションの前のバージョンをコンパイルできることを検証しています MegaCore IP Library Release Notes and Errata では この検証に例外がある場合に報告します アルテラは 1 リリースより前の MegaCore ファンクションのバージョンのコンパイルは検証していません DDR および DDR2 SDRAM 高性能コントローラおよび Quartus II の特定のバージョンの ALTMEMPHY メガファンクションについて詳しくは Quartus II Software Release Notes を参照してください MegaCore ファンクションは ターゲットのアルテラ デバイス ファミリに対し フル サポートあるいは暫定サポートを提供しています フル サポートとは メガファンクションがデバイス ファミリの機能要件およびタイミング要求値をすべて満たしており 生産デザインで使用可能であることを意味します 暫定サポートとは メガファンクションがすべての機能要件を満たしますが メガファンクションに対し デバイス ファミリについてのタイミング解析がまだ行われていることを意味します 表 1 2 に DDR と DDR2 SDRAM 高性能コントローラにより各アルテラ デバイス ファミリに提供されるサポートのレベルを示します Altera Corporation
11 1 3 デバイス ファミリ Arria GX Arria II GX Cyclone III Cyclone III LS Cyclone IV HardCopy II HardCopy III HardCopy IV E Stratix II Stratix II GX Stratix III Stratix IV その他のデバイス ファミリ サポートの種類フル サポート予備的なサポートフル サポート予備的なサポート予備的なサポートフル サポート予備的なサポート予備的なサポートフル サポートフル サポートフル サポートフル サポートサポートなし ALTMEMPHY メガファンクションは 以下の機能を提供しています セットアップが簡単 対応しているデバイスに対して DDR 及び DDR2 SDRAM 用の Altera の PHY Interface (AFI) のサポートを提供 キャリブレーションの自動化により 複雑なリード データ タイミング計算が不要 DDR および DDR2 SDRAM インタフェースに対する最大限の安定性能を保証する VT トラッキング クリティカル タイミング パスに関係なく 自蔵データパスがアルテラ コントローラまたはサードパーティ コントローラへの接続を実行 DDR および DDR2 SDRAM インタフェースのフル レートおよびハーフ レート 使いやすい MegaWizard インタフェース また 表 1 3 に DDR および DDR2 SDRAM HPC および HPC II により提供される機能を示しています コントローラのアーキテクチャ 機能 HPC HPC II ハーフ レート コントローラ v v AFI ALTMEMPHY のサポート v v Avalon Memory Mapped (MM) ローカル インタフェースのサポート v v ネイティブ ローカル インタフェースのサポート v Altera Corporation
12 1 4 順序のリード及びライトを含む先行バンクの管理の設定可能なコマンド v 追加のラテンシ v(1) t RC 緩和のマルチ キャスト ライトのオプションのサポート v アービタ的な Avalon バースト レングスのサポート v 4 のメモリバースト レングス v v(2) 8 のメモリバースト レングス v(3) フレキシブルな内部メモリ用のバースト アダプタ v 設定可能な Local-to-Memory のアドレスマッピング v ロー レイテンシ用の統合ハーフ レートのブリッジ v サイズおよびモード レジスタ設定のランタイム コンフィギュレー v ション およびメモリ タイミングのオプション パーシャル アレイ セルフ リフレッシュ (PASR) v 業界標準の DDR および DDR2 SDRAM デバイスおよび DIMM のサポート v v セルフ リフレッシュ コマンドのオプションのサポート v v ユーザーコントロールによるパワーダウン コマンドのオプションの v サポート プログラマブル タイム アウトを備えたパワーダウン コマンドのオプションのサポート v 自動プリチャージ リード コマンドおよび自動プリチャージ ライ v v ト コマンドのオプションのサポート ユーザー コントローラ リフレッシュのオプションのサポート v v SOPC Builder のフローにおける複数コントローラ クロックの共有のオ v v プション 統合された誤り訂正コード (ECC) 機能 72 ビット合 v v 統合された ECC 機能 40 ビット合 v 部分的ワード書き込みでオプションの自動誤り訂正 v SOPC Builder への対応 v v OpenCore Plus 評価のサポート v Quartus II IP Advisor のサポート v アルテラでサポートしている VHDL Verilog HDL シミュレータ上で使用可能な IP ファンクション シュミレーション モデル v v 表 1 3 の注 : 機能 (1) HPC II は t RCD - 1 以上の追加レイテンシ値をクロック サイクル (t CK ) 単位でサポートします (2) フル レート モードの場合 HPC II は 4 のメモリのバースト レングスのみをサポートします (3) ハーフ レート モードの場合 HPC II は 8 のメモリのバースト レングスのみをサポートします コントローラのアーキテクチャ HPC HPC II タイミング シミュレーション 2 のバースト レングス Altera Corporation
13 1 5 DM ピンがディセーブルされるとき ECC および非 ECC モードでの部分的バーストおよびアラインメントされていないバースト MegaCore 検証では シミュレーション テストを実行します アルテラでは DDR および DDR2 SDRAM 高性能コントローラの機能を保証するために 業界標準の Denali モデルを使用して 機能テストをカバーする徹底したランダムなダイレクト テストを実施しました 以下の項では ALTMEMPHY メガファンクション および DDR と DDR2 SDRAM 高性能コントローラ (HPC と HPC II) に関する情報を示します 以下のデバイスの場合 表 1 4 ~ 表 1 7 に Quartus II ソフトウェア バージョン 9.1 における AFI 付き ALTMEMPHY メガファンクションの標準的なサイズを示します Arria II GX (EP2AGX260FF35C4) デバイス Cyclone III (EP3C16F484C6) デバイス Stratix II (EP2S60F1020C3) デバイス Stratix III (EP3SL110F1152C2) デバイス Stratix IV (EP4SGX230HF35C2) デバイス 1 Arria GX および Stratix GX デバイスのリソース使用率は Stratix II デバイスと同様です PHY レート メモリ幅 ( ビット ) 組み合わせ ALUT 数 ロジック レジスタ数 M9K ブロック メモリ ALUT 数 ハーフ 8 1,428 1, ,480 1, ,787 1, ,867 2, フル 8 1, , ,287 1, ,303 1, 表 1 4 の注 : (1) 記載しているリソース使用率は AFI 付き ALTMEMPHY メガファンクションによって使用されるリソースのみを指しています メモリ コントローラのオーバーヘッドが追加されます Altera Corporation
14 1 6 PHY レート メモリ幅 ( ビット ) 組み合わせ ALUT 数 ロジック レジスタ数 M9K ブロック ハーフ 8 1,995 1, ,210 1, ,523 2, ,770 2,771 9 フル 8 1, , ,479 1, ,608 1,740 5 表 1 5 の注 : (1) 記載しているリソース使用率は AFI 付き ALTMEMPHY メガファンクションによって使用されるリソースのみを指しています メモリ コントローラのオーバーヘッドが追加されます PHY レート メモリ幅 ( ビット ) 組み合わせ ALUT 数 ロジック レジスタ数 M512K ブロック M4K ブロック ハーフ 8 1,444 1, ,494 1, ,795 2, ,870 2, 表 1 6 の注 : (1) 記載しているリソース使用率は AFI 付き ALTMEMPHY によって使用されるリソースのみを指しています メモリ コントローラのオーバーヘッドが追加されます (2) Arria および Stratix GX デバイスのリソース使用率は Stratix II デバイスと同様です PHY レート メモリ幅 ( ビット ) 組み合わせ ALUT 数 ロジック レジスタ数 M9K ブロック メモリ ALUT 数 ハーフ 8 1,356 1, ,423 1, ,805 2, ,902 2, フル 8 1, , ,319 1, ,337 1, 表 1 7 の注 : (1) 記載しているリソース使用率は AFI 付き ALTMEMPHY によって使用されるリソースのみを指しています メモリ コントローラのオーバーヘッドが追加されます Altera Corporation
15 1 7 表 1 8 ~ 表 1 13 に Arria GX Arria II GX Cyclone III Stratix II Stratix II GX Stratix III および Stratix IV デバイスに対して AFI 付き DDR または DDR2 SDRAM HPC (ALTMEMPHY を含む ) の標準的なサイズを示します コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ M512 M4K ハーフ ,851 1, ,904 1, ,208 2, ,289 2, フル ,662 1, ,666 1, , ,758 2, コントローラ レート ローカル データ幅 ( ビット ) ローカル データ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ (M9K) ハーフ ,837 1, ,894 1, ,201 2, ,279 2, フル , ,684 1, , ,738 2, コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ (M9K) ハーフ ,683 1, ,905 1, ,224 2, ,478 3, フル ,386 1, ,526 1, ,257 2, ,385 2, Altera Corporation
16 1 8 コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ M512 M4K ハーフ ,853 1, ,901 1, ,206 2, ,281 2, フル ,675 1, ,675 1, , ,743 2, コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ (M9K) ハーフ ,752 1, ,824 1, ,210 2, ,321 2, フル ,622 1, ,630 1, , ,749 1,975 6 コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ (M9K) ハーフ ,755 1, ,820 1, ,202 2, ,289 2,601 9 フル ,631 1, ,630 1, , ,743 1,983 5 表 1 14 ~ 表 1 18 に Arria II GX Cyclone III Stratix II Stratix II GX Stratix III および Stratix IV デバイスに対して DDR または DDR2 SDRAM HPC II(ALTMEMPHY を含む ) の標準的なサイズを示します Altera Corporation
17 1 9 コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ (M9K) ハーフ ,038 2, ,156 2, ,649 3, ,716 3, フル ,860 1, ,900 1, ,138 2, ,187 2,251 9 コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ (M9K) ハーフ ,229 1, , ,632 3, ,811 3, フル ,003 1, ,090 1, ,680 2, ,776 2, コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ M512 M4K ハーフ ,063 1, ,122 2, ,433 3, ,517 3, フル ,818 1, ,833 1, ,869 2, ,906 2, Altera Corporation
18 1 10 コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 メモリ (M9K) ハーフ ,907 1, ,997 2, ,392 2, ,464 3, フル ,859 1, ,872 1, ,948 2, ,914 2,378 6 コントローラ レート ローカル データ幅 ( ビット ) メモリ幅 ( ビット ) 組み合わせ ALUT 数 専用ロジック レジスタ数 M9K ハーフ ,935 1, ,018 2, ,405 2, ,475 3, フル ,856 1, ,872 1, ,938 2, ,962 2,404 6 DDR および DDR2 SDRAM 高性能コントローラ MegaCore ファンクションは MegaCore IP ライブラリの一部であり Quartus II ソフトウェアとともに配布されます また アルテラのウェブサイト ( からダウンロードすることもできます f システム要件とインストール手順については Altera Software Installation & Licensing を参照してください 図 1 2 に DDR および DDR2 高性能コントローラ MegaCore ファンクションをインストールした後のディレクトリ構造を示します ここで <path> がインストール ディレクトリです Windows でのデフォルトのインストール ディレクトリは c:\altera\<version> です Linux では /opt/altera<version> です Altera Corporation
19 1 11 <path> ip MegaCore r IP IP altera MegaCore IP common ddr3_high_perf DDR3 SDRAM MegaCore doc DDR3 SDRAM MegaCore lib 機能および性能が十分満足できて MegaCore ファンクションを製品に組み込む場合にのみ ライセンスを購入していただく必要があります DDR または DDR2 SDRAM HPC を使用する場合 アルテラ ウェブサイト ( からライセンス ファイルを要求して コンピュータにインストールできます ライセンス ファイルを要求すると アルテラから電子メールで license.dat ファイルが送信されます インターネットをご利用いただけないお客様は 販売代理店にお問い合わせください DDR または DDR2 HPC II を使用する場合 ライセンスを注文するには販売代理店にお問い合わせください アルテラの OpenCore Plus 評価機能は DDR または DDR2 SDRAM HPC にのみ適用できます OpenCore Plus 評価機能により 以下の処理を実行することができます システム内のメガファンクション ( アルテラ MegaCore ファンクションまたは AMPP SM メガファンクション ) の動作をシミュレーションする デザインの機能を検証したり サイズやスピードを迅速かつ簡単に評価する MegaCore ファンクションを含むデザインに対し デバイス プログラミング ファイルを生成する ( 時間に制限のあり ) デバイスをプログラムし デザインをハードウェア上で検証する メガファンクションのライセンスは お客様が機能と性能に満足し かつデザインを製品化する場合にのみ ご購入いただく必要があります OpenCore Plus ハードウェア評価は 以下の 2 種類の動作モードをサポートします Untethered( アンテザード ) デザインは制限時間のみ実行されます Altera Corporation
20 1 12 Tethered( テザード ) ボードとホスト コンピュータ間に接続が必要です デザイン内のすべてのメガファンクションが Tethered モードをサポートしている場合 デバイスはより長時間または無制限に動作できます 最も制限的な評価時間に達すると デバイス内のすべてのメガファンクションが同時にタイムアウトします デザイン内に複数のメガファンクションがある場合 特定のメガファンクションのタイムアウト動作は 他のメガファンクションのタイムアウト動作によってマスクされることがあります 1 MegaCore ファンクションの場合 アンテザード タイムアウトは 1 時間 テザード タイムアウト値は無制限です ハードウェア評価期限経過後にデザインは動作を停止し local_ready 出力が Low になります Altera Corporation
21 2. 以下のいずれかのフローを使用して DDR または DDR2 SDRAM 高性能コントローラ MegaCore ファンクションを実装できます SOPC Builder のフロー MegaWizard Plug-In Manager のフロー MegaWizard Plug-In Manager のフローを使用して ALTMEMPHY メガファンクションしかインスタンス化できません 図 2 1 に いずれかのフローを使用して Quartus II ソフトウェアでのシステムを構築するためのステージを示します SOPC Builder MegaWizard SOPC Builder Yes IP SOPC Builder のフローは 以下の利点を提供します Altera Corporation
22 2 2 シミュレーション環境を生成 カスタム コンポーネントを作成し それらをコンポーネント ウィザードを介して統合 すべてのコンポーネントを Avalon-MM インタフェースと相互接続 MegaWizard Plug-in Manager のフローは 以下の利点を提供します DDR または DDR2 SDRAM インタフェースから直接ペリフェラル デバイスまたはへのデザインが可能になる より高い周波数動作を達成 SOPC Builder のフローを使用して DDR および DDR2 SDRAM 高性能コントローラを新規または既存の SOPC Builder システムに直接追加できます また Nios II プロセッサ および scatter-gather DMA( ダイレクト メモリ アクセス ) コントローラなど 他の使用可能なコンポーネントも簡単に追加して DDR または DDR2 SDRAM 高性能コントローラを備えた SOPC Builder システムを迅速に構築することができます SOPC Builder は システム インタコネクタ ロジックおよびシステム シミュレーション環境を自動的に構築します f SOPC Builder について詳しくは Quartus II ハンドブック Volume 4 を参照してください SOPC Builder によるコントローラの使用方法の詳細は 外部メモリ インタフェース ハンドブック Volume 6 の DDR, DDR2, and DDR3 SDRAM Design Tutorials の項を参照してください Quartus II ソフトウェアについて詳しくは Quartus II Help を参照してください SOPC Builder のフローを使用して DDR および DDR2 SDRAM 高性能コントローラのパラメータを指定するには 以下のステップに従います 1. Quartus II ソフトウェアで New Project Wizard を使用して新規 Quartus II プロジェクトを作成します 2. Tools メニューの SOPC Builder をクリックします 3. 新しいシステムの場合 システム名と言語を指定します 4. System Contents タブからシステムに DDR or DDR2 SDRAM High-Performance Controller を追加します 1 DDR or DDR2 SDRAM High-Performance Controller は Memories and Memory Controllers フォルダ内の SDRAM フォルダにあります 5. Parameter Settings タブのすべてのページで必要なパラメータを指定します f パラメータについて詳しくは 3 1 ページの パラメータの設定 を参照してください 6. Finish をクリックして DDR または DDR2 SDRAM 高性能コントローラのパラメータ化を完了し システムに追加します Altera Corporation
23 2 3 SOPC Builder システムを終了するには 以下のステップを実行します 1. System Contents タブで Nios II Processor を選択し Add をクリックします 2. Nios II Processor ページの Core Nios II タブ内では Reset Vector および Exception Vector の場合 altmemddr を選択します 3. Reset Vector Offset および Exception Vector Offset をキャリブレーション プロセス中に ALTMEMPHY メガファンクションによって書き込まれない Avalon アドレスに変更します c ALTMEMPHY メガファンクションは リセットされるごとにメモリ インタフェース キャリブレーションを実行し アドレス範囲に書き込みます システム リセット中にメモリ内容を元のまま保持したい場合は これらのメモリ アドレスを使用しないようにします リセットするたびにフラッシュから SDRAM メモリの内容をリロードする場合 このステップは不要です v8.1 またはそれ以前のバージョンから Nios システム デザインをアップグレードする場合 Reset Vector Offset および Exception Vector Offset を AFI モードに変更するのを確認します メモリ アドレス範囲 0 0 ~ 0 1f に相当する Avalon-MM アドレスを計算するには バイトでメモリ インタフェース データバスの幅にメモリ アドレスを掛けます Avalon-MM アドレスの詳細は 表 2 1 を参照してください 外部メモリ インタフェース幅 リセット ベクトル オフセット 例外ベクトル オフセット A Finish をクリックします 5. System Contents タブで Interface Protocols および Serial を展開します 6. JTAG UART を選択して Add をクリックします 7. Finish をクリックします 1 アドレスのオーバーラップを警告するメッセージが表示される場合 System メニューで Auto Assign Base Addresses をクリックします ECC をイネーブルして IRQ のオーバーラップを警告するメッセージが表示される場合は System メニューで Auto Assign IRQ をクリックします 8. このシステム例では 不要なクロック ドメイン クロス ロジックを回避するために 他のすべてのモジュールが altmemddr_sysclk でクロックされるようにします Altera Corporation
24 Generate をクリックします 1 Quartus II IP File (.qip) は SOPC Builder によって生成されたファイルです このファイルでは生成された IP コアまたはシステムに関する情報を含みます 多くの場合.qip ファイルには Quartus II コンパイラ内で MegaCore ファンクションまたはシステムを処理するのに必要なアサインメントおよび情報がすべて含まれています 通常 SOPC Builder システムごとに それぞれ 1 つの.qip ファイルが生成されます ただし より複雑な SOPC Builder コンポーネントは別個の.qip ファイルを生成します したがって システムの.qip ファイルはコンポーネントの.qip ファイルを参照します 10. デザインをコンパイルします 4 1 ページの コンパイルおよびシミュレーション を参照してください MegaWizard Plug-In Manager のフローでは DDR および DDR2 SDRAM 高性能コントローラまたは ALTMEMPHY メガファンクションをカスタマイズし 手動でデザインに組み込むことができます 1 あるいは DDR および DDR2 SDRAM 高性能コントローラ デザインを起動するために IP Advisor を使用できます Quartus II Tools メニューの Advisors をポイントし IP Advisor をクリックします IP Advisor にはデザインに DDR2 SDRAM 高性能コントローラの選択 パラメータ化 評価 およびインスタンス化のための一連の推奨事項を通じてユーザーをガイドします 次に Quartus II の完全なデザインのコンパイレーションをガイドします f MegaWizard Plug-In Manager および IP Advisor について詳しくは Quartus II Help を参照してください MegaWizard Plug-in Manager のフローを使用して パラメータを指定するには 以下のステップに従います 1. Quartus II ソフトウェアで New Project Wizard を使用して新規 Quartus II プロジェクトを作成します 2. MegaWizard Plug-In Manager を起動するには Tools メニューで MegaWizard Plug-In Manager をクリックします DDR または DDR2 SDRAM 高性能コントローラは External Memory フォルダの下の Interfaces フォルダにあります ALTMEMPHY メガファンションは I/O フォルダにあります 1 <variation name> は プロジェクト名およびトップレベルのデザイン エンティティ名と異なる名前でなければなりません 3. Parameter Settings タブのすべてのページでパラメータを指定します Altera Corporation
25 2 5 f パラメータについて詳しくは 3 1 ページの パラメータの設定 を参照してください 4. EDA タブで Generate Simulation Model をオンにして 選択した言語で MegaCore ファンクション用の IP 機能シミュレーション モデルを生成します IP 機能シミュレーション モデルは Quartus II ソフトウェアで生成するサイクル精度の正確な VHDL または Verilog HDL モデルです c これらのシミュレーション モデルは シミュレーションの目的にのみ使用し 合成やその他の目的には使用しないでください これらのモデルを合成に使用すると 機能しないデザインが作成されます 1 一部のサードパーティ合成ツールでは 詳細なロジックは含まず MegaCore ファンクションの構造のみを含むネットリストを使用して MegaCore ファンクションを含むデザインの性能を最適化することができます 合成ツールでこの機能がサポートされている場合 Generate netlist をオンにします VHDL シミュレーション モデルをターゲットする場合も MegaWizard Plug-In Manager は Quartus II 合成用の <variation_name>_alt_mem_phy.v ファイルを生成します シミュレーションに使用することはいけません シミュレーションには 代わりに <variation_name>.vho ファイルをしてください ALTMEMPHY メガファンクションは動作検証のシミュレーション (Functional Simulation) のみサポートします ALTMEMPHY メガファンクションを使用するとき タイミング シミュレーションまたはゲート レベル シミュレーションを実行できません 5. Summary タブで 生成するファイルを選択します グレイのチェックマークは 自動的に生成されるファイルを示します その他のファイルはすべてオプションです 6. Finish をクリックして MegaCore ファンクションおよびサポートするファイルを生成します 生成レポートが表示されます 7. Quartus II プロジェクトで MegaCore ファンクションのインスタンスを生成する場合 現行の Quartus II のプロジェクトに.qip ファイルを追加するようと要求されます.qip ファイルをプロジェクトに追加するようと要求されるときに Yes をクリックします.qip ファイルを追加すると Nativelink への可視性をイネーブルします Nativelink はシミュレーションのためのライブラリを含むように.qip ファイルを必要とします 1.qip ファイルは MegaWizard インタフェースによって生成されたファイルで 生成された IP コアに関する情報を含みます 多くの場合.qip ファイルには Quartus II コンパイラ内で MegaCore ファンクションまたはシステムを処理するのに必要なアサインメントおよび情報がすべて含まれています MegaWizard インタフェースは MegaCore ファンクションごとに それぞれ 1 つの.qip ファイルを生成します Altera Corporation
26 生成レポートを表示した後 Exit をクリックして MegaWizard Plug-In Manager を閉じます 9. 高性能コントローラ (HPC または HPC II) の場合 <variation name>_example_top.v または.vhd ファイルがプロジェクトのトップ レベル デザイン ファイルになるように設定します a. File メニューの Open をクリックします b. <variation name>_example_top をブラウズして Open をクリックします c. Project メニューの Set as Top-Level Entity をクリックします 表 2 2 に ALTMEMPHY の生成されるファイルを示します ファイル名 alt_mem_phy_defines.v <variation_name>.ppf <variation_name>.qip <variation_name>.v/.vhd <variation_name>.vho <variation_name>_alt_mem_phy_seq_wrapper.vo/.vho <variation_name>.html <variation_name>_alt_mem_phy_seq_wrapper.v/.vhd <variation_name>_alt_mem_phy_seq.vhd 説明 インタフェースで使用される定数が含まれています このファイルは MegaWizard Plug-In Manager で選択される言語とは関係なく 常に Verilog HDL にあります ALTMEMPHY バリエーションの Pin Planner ファイル メガファンクションに関連付けられたファイルを含む ALTMEMPHY バリエーションの Quartus II IP ファイル MegaWizard Plug-In Manager で選択される言語とは関係なく 生成される ALTMEMPHY バリエーションのトップ レベル ファイル VHDL 用のみ機能シミュレーション モデルを含む MegaWizard Plug-In Manager で選択される言語とは関係なく 作成されるシミュレーション用のみのラッパー ファイル ( シーケンサ ファイルと呼ばれる ) メガファンクションで作成されたトップ レベル ファイルおよび使用されたポートがリストされます MegaWizard Plug-In Manager で選択される言語とは関係なく 作成されるコンパイル用のみのラッパー ファイル ( シーケンサ ファイルと呼ばれる ) キャリブレーションで使用されたシーケンサを含む このファイルは MegaWizard Plug-In Manager で選択される言語とは関係なく 常に VHDL 言語にあります Altera Corporation
27 2 7 ファイル名 <variation_name>_alt_mem_phy.v <variation name>_alt_mem_phy_pll_<device>.ppf <variation_name>_alt_mem_phy_pll.v/.vhd <variation_name>_alt_mem_phy_delay.vhd <variation_name>_alt_mem_phy_dq_dqs.vhd or.v <variation_name>_alt_mem_phy_dq_dqs_clearbox.txt <variation_name>_alt_mem_phy_pll.qip <variation_name>_alt_mem_phy_pll_bb.v/.cmp <variation_name>_alt_mem_phy_reconfig.qip <variation_name>_alt_mem_phy_reconfig.v/.vhd <variation_name>_alt_mem_phy_reconfig_bb.v/cmp <variation_name>_bb.v/.cmp <variation_name>_ddr_pins.tcl 説明 シーケンサを除いて ALTMEMPHY バリエーションのすべてのモジュールを含む このファイルは MegaWizard Plug-In Manager で選択される言語とは関係なく 常に Verilog HDL 言語にあります DDR3 SDRAM シーケンサは <variation_name>_alt_mem_phy_seq.vhd ファイルに含まれています この XML ファイルは Quartus II Pin Planner に対する MegaCore ピン属性を記述しています MegaWizard Plug-In Manager で選択される言語とは関係なく 生成される ALTMEMPHY バリエーションの PLL メガファンクションファイル シミュレーションの遅延モジュールを含む MegaWizard Plug-In Manager 出力 ファイルの言語として VHDL を選ぶ場合にのみ このファイルが生成されます DQ/DQS I/O 素子インタコネクトおよびインスタンスを含むファイルが生成されます Arria II GX デバイスのみです クリア ボックス フローを使用して <variation_name>_alt_mem_phy_dq_dqs ファイルを生成する仕様ファイル Arria II GX デバイスのみです メガファンクションに関連付けられたファイルを含む ALTMEMPHY バリエーションを使用する PLL の Quartus II IP ファイル ALTMEMPHY バリエーションで使用された PLL のブラック ボック ファイル 通常未使用です PLL リコンフィギュレーション ブロック用 Quartus II IP ファイル Arria GX HardCopy II Stratix II および Stratix II GX デバイスをターゲットとする際にのみ生成されます PLL リコンフィギュレーション ブロック モジュール Arria GX HardCopy II Stratix II および Stratix II GX デバイスをターゲットとする際にのみ生成されます PLL リコンフィギュレーション ブロック用ブラック ボック ファイル Arria GX HardCopy II Stratix II および Stratix II GX デバイスをターゲットとする際にのみ生成されます Verilog HDL または VHDL 言語を使用しているかどうかによる ALTMEMPHY バリエーションのブラック ボック ファイル <variation_name>_ddr_timing.sdc および <variation_name>_report_timing.tcl ファイルで使用された手順を含む Altera Corporation
28 2 8 ファイル名 <variation_name>_pin_assignments.tcl <variation_name>_ddr_timing.sdc <variation_name>_report_timing.tcl 説明 ALTMEMPHY の変動のための I/O 規格 ドライブ強度 出力イネーブル グループ DQ/DQS グルーピング および終端抵抗アサインメントを含む トップレベル デザインのピン名がデフォルトのピン名または接頭辞のバージョンに一致しない場合 このファイルのアサインメントを編集します ALTMEMPHY の変動のためのタイミング制約が含まれています コンパイル時に ALTMEMPHY バリエーションのためのタイミングをレポートするスクリプト 表 2 3 に <variation_name>_alt_mem_phy.v/.vhd ファイルでインスタンス化されたモジュールを示します 特定の ALTMEMPHY バリエーションは指定するメモリ規格に応じて モジュールのいずれも使用するかもしれません モジュール名使用方法説明 <variation_name>_alt_mem_phy_ addr_cmd <variation_name>_alt_mem_phy_ clk_reset <variation_name>_alt_mem_phy_ dp_io <variation_name>_alt_mem_phy_ mimic <variation_name>_alt_mem_phy_ oct_delay <variation_name>_alt_mem_phy_ postamble <variation_name>_alt_mem_phy_ read_dp <variation_name>_alt_mem_phy_ read_dp_group <variation_name>_alt_mem_phy_ rdata_valid すべての ALTMEMPHY バリエーション すべての ALTMEMPHY バリエーション すべての ALTMEMPHY バリエーション DDR2/DDR SDRAM ALTMEMPHY バリエーション ダイナミック OCT がイネーブルされるときの DDR2/DDR SDRAM ALTMEMPHY バリエーション DDR2/DDR SDRAM ALTMEMPHY バリエーション すべての ALTMEMPHY バリエーション (Stratix III または Stratix IV デバイスに未使用 ) DDR2/DDR SDRAM ALTMEMPHY バリエーション (Stratix III または Stratix IV デバイス使用のみ ) DDR2/DDR SDRAM ALTMEMPHY バリエーション アドレスおよびコマンド構造を生成します PLL DLL およびリセット ロジックをインスタンス化します DQ DQS DM および QVLD I/O ピンを生成します DDR および DDR2 SDRAM PHY 用に (VT) トラッキング メカニズムを作成します OCT 信号用に適切な遅延および期間を生成します DDR および DDR2 SDRAM PHY 用にポストアンブル イネーブルおよびディセーブル手法を生成します FIFO バッファのリードパス経由の I/O から 再同期化したクロックから PHY クロックの遷移までのリード データを読み込みます <variation_name>_alt_mem_phy_read_dp の DQS グループ バージョン シーケンサおよびコントローラにリード データ有効信号を生成します Altera Corporation
29 2 9 モジュール名使用方法説明 <variation_name>_alt_mem_phy_ seq_wrapper <variation_name>_alt_mem_phy_ write_dp <variation_name>_alt_mem_phy_ write_dp_fr すべての ALTMEMPHY バリエーション すべての ALTMEMPHY バリエーション DDR2/DDR SDRAM ALTMEMPHY バリエーション DDR および DDR2 SDRAM 用にシーケンサを生成します ハーフ レート データからフル レート DDR データにデータの逆多重化を生成します <variation_name>_alt_mem_phy_ write_dp のフル レート バージョン 表 2 4 ~ 表 2 6 に プロジェクト ディレクトリに存在する可能性がある高性能コントローラによって生成された追加ファイルを示します MegaWizard Plug-In Manager レポートに指定されるファイルの名前とタイプは デザインを VHDL または Verilog HDL のいずれで作成したかによって異なります 1 表 2 4~ 表 2 6 の他にも MegaWizard はまた 表 2 2 に _phy の接頭で ALTMEMPHY ファイルを生成します 例えば <variation_name>_alt_mem_phy_delay.vhd は <variation_name>_phy_alt_mem_phy_delay.vhd になります ファイル名 <variation name>.bsf <variation name>.html <variation name>.v or.vhd <variation name>.qip <variation name>.ppf <variation name>_example_driver.v または.vhd <variation name>_example_top.v または.vhd 説明 MegaCore ファンクションのバリエーション用 Quartus II シンボル ファイル Quartus II ブロック図エディタでこのファイルを使用できます MegaCore ファンクション レポート ファイルです カスタム MegaCore ファンクションの VHDL または Verilog HDL トップレベルの記述を定義する MegaCore ファンクション バリエーション ファイルです デザイン内部のこのファイルによって定義されたエンティティをインスタンスします Quartus II ソフトウェアでのデザインのコンパイル時にこのファイルが含まれています MegaCore ファンクション バリエーション用の Quartus II プロジェクト情報が含まれています この XML ファイルは Quartus II Pin Planner に対する MegaCore ピン属性を記述しています MegaCore ピン属性には ピンの方向 位置 I/O 規格のアサインメント およびドライブ強度などがあります IP Toolbench を Pin Planner アプリケーションの外側で起動する場合 Pin Planner を使用するにはこのファイルを明示的にロードしなければなりません バリエーションと一致する自己チェックのテスト ジェネレータのサンプルです Quartus II プロジェクト トップ レベルとして設定する必要があるトップレベルのデザイン ファイルの例です サンプル ドライバおよびコントローラをインスタンス化します Altera Corporation
30 2 10 ファイル名 <variation name>_auk_ddr_hp_controller_wrapper.vo または.vho <variation_name>_auk_ddr_hp_controller_ecc_wrapper.vo または.vho 説明 VHDL または Verilog HDL の IP 機能シミュレーション モデルです ECC 機能シミュレーション モデル ファイル名 <variation name>_alt_ddrx_controller_wrapper. v または.vho alt_ddrx_addr_cmd.v alt_ddrx_afi_block.v alt_ddrx_bank_tracking.v alt_ddrx_clock_and_reset.v alt_ddrx_cmd_queue.v alt_ddrx_controller.v alt_ddrx_csr.v alt_ddrx_ddr2_odt_gen.v alt_ddrx_avalon_if.v alt_ddrx_decoder_40.v alt_ddrx_decoder_72.v alt_ddrx_decoder.v alt_ddrx_encoder_40.v alt_ddrx_encoder_72.v 説明 alt_ddrx_controller.v ファイルをインスタンス化およびウィザードに応じてコントローラをコンフィギュレーションするコントローラのラッパです ステート マシーンの出力をメモリアドレス及びコマンドの信号にデコードします AFI 用のリードとライトのコントロール信号を生成します あいているメモリバンク内のロウ (ROW) を追跡します クロックおよびリセット ロジックが含まれています コマンド キューのロジックが含まれています すべてのサブ ブロックをインスタンス化するコントローラのトップレベル ファイルです コントロールおよびステータス レジスタのインタフェースのロジックが含まれています DDR2 メモリのインタフェース用 On-Die Termination(ODT) コントロール信号を生成します Avalon-MM インタフェースと通信します 40 ビット バージョンの ECC デコーダのロジックが含まれています 72 ビット バージョンの ECC デコーダのロジックが含まれています 適切な幅の ECC デコード ロジックをインスタンス化します 40 ビット バージョンの ECC エンコーダのロジックが含まれています 72 ビット バージョンの ECC エンコーダのロジックが含まれています alt_ddrx_encoder.v 適切な幅の ECC エンコーダ ロジックをインスタンス化します alt_ddrx_input_if.v 入力インタフェース ブロックです alt_ddrx_cmd_queue.v alt_ddrx_wdata_fifo.v および alt_ddrx_avalon_if.v のファイルをインスタンス化します alt_ddrx_odt_gen.v alt_ddrx_state_machine.v alt_ddrx_timers_fsm.v alt_ddrx_ddr2_odt_gen.v ファイルを選択的にインスタンス化します さらに ODT のアドレス手法も制御します コントローラの主要なステート マシンです 各バンクのタイミング パラメータを追跡するステート マシンです Altera Corporation
31 2 11 ファイル名 alt_ddrx_timers.v alt_ddrx_wdata_fifo.v alt_avalon_half_rate_bridge_constraints.sdc alt_avalon_half_rate_bridge.v 説明 alt_ddrx_timers_fsm.v をインスタンス化し ランク特定のタイミング トラッキング ロジックを含みます ライト データ FIFO のロジック このロジックは Avalon インタフェースからのライト データおよびバイト イネーブルを FIFO に基づいてソートします デザインで Enable Half Rate Bridge オプションがオンの場合 タイミング制約が含まれています 統合したハーフ レート ブリッジのロジックのブロックです Altera Corporation
32 2 12 Altera Corporation
33 3. ALTMEMPHY MegaWizard インタフェース ( 図 3 1) の ALTMEMPHY Parameter Settings ページは 以下の設定をパラメータ化することができます メモリ設定 PHY 設定 ボード設定 コントローラ インタフェース設定 Altera Corporation
34 3 2 Megawizard Plug-in Manager の下部にあるテキストのウィンドウに表示されるのは 非対応の機能を生成する時のメモリ インタフェース ワーニング及びエラーの情報です このウィンドウで表示されるすべてのエラーを訂正するまで Finish ボタンがディセーブルになっています 以下の項では 4 つタブの Parameter Settings ページについて詳細に説明します Memory Settings のタブでは システムに特定のメモリ デバイス及びデバイスの動作周波数を選択することができます General Settings では デバイス ファミリ スピード グレード およびクロック情報を選択できます ページの中央 ( 左側 ) では Memory Presets ダイアログ ボックスの右側に記載された利用可能なメモリ デバイスをフィルタすることができます 詳しくは 図 3 1 を参照してください 使用している正確なデバイスを検出できない場合 最も近い仕様を持つデバイスを選択して 次に Selected memory preset フィールドの横にある Modify parameters をクリックすることによって 手動でパラメタを変更し 実際のデバイスを合わせます 表 3 1 は ALTMEMPHY MegaWizard インタフェースの Memory Settings ページで提供されている General Settings を説明しています パラメータ名 Device family Speed grade PLL reference clock frequency Memory clock frequency Controller data rate Enable half rate bridge Local interface clock frequency Local interface width 説明 ターゲット デバイス ファミリ ( 例 : Stratix III)1 3 ページの表 1 2 に サポートされるデバイス ファミリを示します ここに選択されたデバイス ファミリは MegaWizard ページ 2a で選択されたデバイス ファミリと一致する必要があります デバイスの特定のスピード グレードを選択します ( 例 : Stratix III デバイス ファミリの場合は 2 3 または 4) 外部入力クロックから PLL へのクロック周波数を決定します 周波数は MHz または 100 MHz ぐらいではない場合 動作検証のシミュレーションおよび PLL ロック問題を回避するために 3 つの小数点を使用するのを確認します メモリ インタフェースのクロック周波数を決定します 達成可能な最大周波数より下にあるメモリ デバイスを動作している場合 メモリ デバイスでサポートされる達成可能な最大周波数ではなく 実際の動作周波数を入力することを確認します また 周波数は MHz または 400 MHz ぐらいではない場合 動作検証のシミュレーションおよび PLL ロック問題を回避するために 3 つの小数点を使用するのを確認します メモリ コントローラ用データ レートを選択します メモリ インタフェース周波数 ( フル レート ) またはメモリ インタフェース周波数の 1/2( ハーフ レート ) に等しいコントローラの周波数を設定します このオプションは HPC II にのみ使用できます メモリ クロック ドメインにコントローラを維持するためにオンされると メモリ クロック スピードの半分でローカル サイドが実行できます したがって レイテンシを削減することができます この値はメモリ クロック周波数 コントローラ データ レート および Enable Half Rate Bridge オプションをオンしているかどうかによって異なります この値はメモリ クロック周波数 コントローラ データ レート および Enable Half Rate Bridge オプションをオンしているかどうかによって異なります Altera Corporation
35 3 3 パラメータ名 Memory type 表 3 2 は 表示される Memory Presets をフィルタするのに使用できるオプションを説明しています このオプションのセットは DDR または DDR2 SDRAM のいずれかを作成しているかを示すところです 使用している実際のメモリ デバイスに最も近いまたは同じであるデバイスを Memory Presets リストで選択します 次に Modify Parameters ボタンをクリックして Preset Editor ダイアログボックス内の以下の設定をパラメータ化します メモリ属性 これらは DQ DQ ストローブ (DQS) アドレスとメモリ クロック ピンのシステム数を決定する設定です メモリ初期化オプション これらの設定は初期化プロセスの一部としてメモリ モード レジスタに格納されます メモリ タイミング パラメータ これらは PHY を作成して 時間制約するパラメタです 1 使用しているデバイスは Memory Presets に記載されていますが 一部のパラメータがメモリ デバイスのデータシートで更新されいる可能性があるので Preset Editor ダイアログ ボックスの中の設定が正確であることを確実します システムを反映するために 背景が白いパラメータを変更することができます また デバイス パラメータは使用しているデバイスに一致するように 背景がグレーのパラメータで変更することができます 背景がグレーのパラメータは選択されたメモリ デバイスの特性であり これらを変更すると新しいカスタム メモリ プリセットが作成されます Save As( ページの左下側の部分 ) をクリックして <quartus_install_dir>\quartus\common\ip\altera\altmemphy\lib\ ディレクトリに新しい設定を保存すると この新しいメモリ プリセットをソフトウェアの同じバージョンに作成した他の Quartus II プロジェクトで使用できます Save をクリックすると 新しいメモリ プリセットは Memory Settings タブで Memory Presets リストの下部に表示されます 1 デフォルト ディレクトリ以外のディレクトリに新しい設定を保存する場合 Memory Settings タブ内で Load Preset をクリックして Memory Presets リストに設定をロードします 説明 表示するメモリの種類をフィルタすることができます ( 例 : DDR2 SDRAM) ALTMEMPHY メガファンクションは DDR SDRAM および DDR2 SDRAM をサポートします Memory vendor ベンダによってメモリの種類をフィルタすることができます JEDEC もオプションの 1 つで JEDEC 規格を選択できます 選択されたベンダがリストされていない場合 DDR および DDR2 SDRAM インタフェースに JEDEC を選択できます そして 選択したデバイスと同様な仕様のあるデバイスを選択して 各パラメータの値をチェックします デバイス仕様を合わせるために 各パラメータ値を変更することを確認します Memory format Maximum frequency フォーマットによってメモリの種類をフィルタすることができます ( 例 : ディスクリート デバイスまたは DIMM パッケージ ) 最大動作周波数によってメモリの種類をフィルタすることができます 図 3 2 に DDR2 SDRAM に対する Preset Editor ダイアログ ボックを示します Altera Corporation
36 3 4 Advanced オプションは Arria II GX および Stratix IV デバイスにのみ利用できます このオプションでは FPGA によってキャリブレートされたメモリ仕様のパーセンテージを示します パーセンテージ値はアルテラのプロセス バリエーションに基づいて見積もられます 表 3 3 ~ 表 3 5 にメモリ属性 メモリ初期化オプション およびメモリ タイミング パラメータに使用できる DDR2 SDRAM パラメータを説明しています DDR SDRAM には同じパラメータがありますが 値の範囲は DDR2 SDRAM と異なります Altera Corporation
37 3 5 パラメータ名 範囲 (1) 単位 説明 Output clock pairs from FPGA 1 ~ 6 ペア FPGA からメモリにドライブされる差動クロック ペアの数を定義します 複数のデバイスにインタフェースするとき クロック ペア数が多くなるほど 各出力の負荷が減少します Arria IIGX Stratix III 及び Stratix IV デバイスの差動信号では メモリ クロック ピンは信号スプリッタ機能を使用します Memory chip selects または 8 ペア メモリ インタフェースでチップ セレクトの数を設定します チップ数の点ではメモリの深さです ローカル サイド バイナリはチップ セレクト アドレスをエンコードするので 示された範囲に制限されます 範囲が仕様を満たしていない場合は この値をより大きい数に設定できます しかしながら ALTMEMPHY メガファンクションの最上位のアドレス スペースは実際のメモリ アドレスのいずれにもマップされません ALTMEMPHY メガファンクションは複数のチップ セレクトと連携して すべてのチップ セレクト (mem_cs_n 信号 ) に対してキャリブレーションします Memory interface DQ width メモリ インタフェースの DQ ピンの総数を定義します 複数のデバイスにインタフェースする場合 デバイスあたりの DQ ピンの数とデバイスの数を掛けます GUI では 288 ビット DQ 幅を選択できますが インタフェース データ 幅がデバイスでピンの数によって制限されます 最高性能を達成するために インタフェース全体をデバイスの 1 つのサイドに維持します Memory vendor JEDEC Micron Qimonda Samsung Hynix Elpida Nanya など Memory format Maximum memory frequency ディスクリート デバイス バッファなし DIMM レジスタ付き DIMM メモリ デバイス データシートを参照 サポートされるすべてのメモリ規格用にメモリ ベンダの名称をリストします デバイスまたはモジュールにインタフェースするかどうかを指定します SODIMM はバッファなし DIMM またはレジスタ付き DIMM でサポートされています MHz メモリでサポートされる最大周波数を設定します Column address width 9 ~ 11 ビット インタフェース用にカラム アドレス ビット数を定義します Row address width ビット インタフェース用にロウ アドレス ビット数を定義します Bank address width 2 または 3 ビット インタフェース用にバンク アドレス ビット数 を定義します Altera Corporation
38 3 6 パラメータ名 範囲 (1) 単位 説明 Chip selects per DIMM DIMM あたりのチップ セレ ビット インタフェースの各 DIMM におけるチップ セレクト数を定義します クト DQ bits per DQS bit 4 または 8 ビット データ ストローブ (DQS) ピンあたりのデータ (DQ) ビット数を定義します Precharge address bit 8 または 10 ビット アドレス バスのどのビットをプリチャージ アドレス ビットとして使用するかを選択します Drive DM pins from FPGA Yes または No DM ピンが書き込み動作中に使用するかどうかを指定します アルテラ デバイスは 4 モード付き DM ピンをサポートしていません Maximum memory frequency for CAS latency 3.0 Maximum memory frequency for CAS latency 4.0 Maximum memory frequency for CAS latency 5.0 Maximum memory frequency for CAS latency 6.0 表 3 3 の注 : (1) 範囲の値は使用される実際のメモリ デバイスによって異なります 80 ~ 533 MHz ある CAS レイテンシあたりのメモリ データ シートによって周波数限界を指定します 選択された CAS レイテンがある動作周波数は この数を超えた場合 ALTMEMPHY MegaWizard インタフェースは警告を生成します パラメータ名 範囲 単位 説明 Memory burst length 4 または 8 ビート トランザクションごとに読み出しまたは書き込みの数を設定します 4 のメモリ バースト レングスはハーフ レート デザインのローカル バースト レングス 1 およびハーフ レート デザインのローカル バースト レングス 1 に相当します Memory burst ordering シーケンシャルまたはインタリーブド リード トランザクション時にメモリと FPGA 間でデータが転送される順序を制御します 詳細については メモリ デバイス データシートを参照してください Enable the DLL in the memory devices Yes または No Yes に設定した場合 メモリ デバイスの DLL をイネーブルします DLL がオフにされるとき アルテラは何らかの ALTMEMPHY 動作を保証しないために メモリ デバイスの DLL を常にイネーブルする必要があります DLL がオフにされるとき メモリ デバイスからのすべてのタイミングは無効です Altera Corporation
39 3 7 パラメータ名範囲単位説明 Memory drive strength setting Memory ODT setting 通常または低減 ディセーブルされる メモリ デバイスの出力バッファのドライブ強度を制御します 低減ドライブ強度は すべてのメモリ デバイスでサポートされるとは限りません デフォルト オプションは通常です オーム メモリの ODT 値を設定します DDR SDRAM インタフェースでは使用できません Memory CAS latency setting サイクル リード コマンドから メモリからの最初の出力 データまでの遅延はクロックサイクルに設定しま す パラメータ名範囲単位説明 t INIT ~ 1000 µs 最小メモリ初期化時間 リセット後 コントローラはこの期間中メモリに対していかなるコマンドも発行しません t MRD 2 ~ 39 ns 最小ロード モード レジスタ コマンド周期 コントローラは ロード モード レジスタ コマンドを発行してから他の任意のコマンドを発行するまでの この期間中待機します t MRD は DDR2 SDRAM 高性能コントローラで ns に指定され また Micron のデバイス データシートで t CK サイクルに関して指定されます データシート タイム t CK で指定されたサイクル数を掛けることによって t MRD を ns に変換する必要があります ここで t CK がメモリ デバイスの t CK ではなく メモリ動作周波数です t RAS 8 ~ 200 ns 最小アクティブ - プリチャージ時間 コントローラは アクティブ コマンドを発行してから同じバンクに対してプリチャージ コマンドを発行するまでのこの期間中待機します t RCD 4 ~ 65 ns 最小アクティブ リード / ライト時間 コントローラは アクティブ コマンドを発行した後 この期間中バンクに対してリードまたはライト コマンドを発行しません t RP 4 ~ 65 ns 最小プリチャージ コマンド周期 コントローラは プリチャージ コマンドを発行した後 この期間中バンクにアクセスしません t REFI 1 ~ µs リフレッシュ コマンド間の最大時間間隔 コントローラは ユーザー制御リフレッシュがオンになっていない限り この時間間隔で通常のリフレッシュを実行します t RFC 14 ~ 1651 ns 最小オート リフレッシュ コマンド周期 コントローラがオート リフレッシュ コマンドを発行した後 何か他の動作を実行するまで待機する時間の長さです t WR 4 ~ 65 ns 最小ライト リカバリ時間 コントローラは ライト トランザクションが終了してからプリチャージ コマンドを発行するまでのこの期間中待機します t WTR 1 ~ 3 t CK 最小ライト - リード コマンド遅延 コントローラは ライト コマンドが終了してから 同じバンクに対して次のリード コマンドを発行するまでのこの期間中待機します このタイミング パラメータはクロック サイクル数で指定され 値は整数に丸められます t AC 300 ~ 750 ps CK/CK# 信号からの DQ 出力アクセス時間 t DQSCK 100 ~ 750 ps CK/CK# 信号からの DQS 出力アクセス時間 Altera Corporation
40 3 8 パラメータ名 範囲 単位 説明 t DQSQ 100 ~ 500 ps DQS から DQ の最大スキュー ; グループごと アクセスごとの DQS から最後の有効 DQ まで t DQSS t CK ポジティブ DQS ラッチング エッジから関連するクロック エッジまで t DS 10 ~ 600 ps DQS を基準にした DQ および DM 入力のセットアップ時間 ここで DQS のスルー レート (DDR および DDR2 SDRAM インタフェースの場合 ) および DQS はシングル エンドまたは差動のいずれかに応じてディレートされた値を持っています (DDR2 SDRAM インタフェースの場合 ) 正確な数を使用しているのを確認し かつその入力された値は V IH (ac) 最小または V IL (ac) 最大ではなく V REF (dc) に基準されます この仕様のディレートする方法について詳しくは 3 9 ページの ディレート メモリ セットアップおよびホールド タイミング を参照してください t DH 10 ~ 600 ps DQS を基準にした DQ および DM 入力のホールド時間 ここで DQS のスルー レート (DDR および DDR2 SDRAM インタフェースの場合 ) および DQS はシングル エンドまたは差動のいずれかに応じてディレートされた値を持っています (DDR2 SDRAM インタフェースの場合 ) 正確な数を使用しているのを確認し かつその入力された値は V IH (dc) 最小または V IL (dc) 最大ではなく V REF (dc) に基準されます この仕様のディレートする方法について詳しくは 3 9 ページの ディレート メモリ セットアップおよびホールド タイミング を参照してください t DSH 0.1 ~ 0.5 t CK CK からの DQS 立ち下がりエッジホールド時間 t DSS 0.1 ~ 0.5 t CK CK セットアップへの DQS 立ち下がりエッジ t IH 100 ~ 1000 ps アドレスおよびコントロール入力のホールド時間 ここで CK と CK# クロックおよびアドレスとコマンド信号のスルー レートに応じてディレートされた値を持っています 正確な数を使用しているのを確認し かつその入力された値は V IH (dc) 最小または V IL (dc) 最大ではなく V REF (dc) に基準されます この仕様のディレートする方法について詳しくは 3 9 ページの ディレート メモリ セットアップおよびホールド タイミング を参照してください t IS 100 ~ 1000 ps アドレスおよびコントロール入力のセットアップ時間 ここで CK と CK# クロックおよびアドレスとコマンド信号のスルー レートに応じてディレートされた値を持っています 正確な数を使用しているのを確認し かつその入力された値は V IH (ac) 最小または V IL (ac) 最大ではなく V REF (dc) に基準されます この仕様のディレートする方法について詳しくは 3 9 ページの ディレート メモリ セットアップおよびホールド タイミング を参照してください t QHS 100 ~ 700 ps 最大データ ホールド スキュー係数 t RRD 2.06 ~ 64 ns 各デバイスのアクティブにする時間 RAS-to-RAS のタイミング遅延のパラメータ t FAW 7.69 ~ 256 ns 各デバイスに 4 つのアクティブしたウィンドウ タイム t RTP ns 読み込みからプリチャージまでの時間 表 3 5 の注 : (1) パラメータの範囲については メモリ デバイス データシートを参照してください パラメータによっては クロック サイクル (t CK ) 単位で記載されている場合があります MegaWizard Plug-In Manager で値を時間単位 (ps または ns) で入力する必要がある場合は インタフェースのクロック周期を掛けて 数値を変換してください ( メモリ データシートに記載されている最大クロック周期ではありません ) Altera Corporation
41 3 9 メモリ デバイス データシートからのベース セットアップおよびホールド タイム仕様がアルテラ デバイスに仮定するスルーレートが真ではない場合があるので Preset Editor ダイアログ ボックス内で 以下のメモリ デバイス仕様をディレートして アップデートします t DS t DH t IH t IS 1 Arria II GX および Stratix IV デバイスに対して Preset Editor を使用してディレートする必要があります V REF に参照されるパラメータのみを入力する必要があり そして Board Settings タブにあるスルー レート情報を入力すると ディレーションが自動的に行われます 値をディレーティングした後 アルテラの入力および出力仕様が V REF に参照されたので ディレートされる値を正規化する必要があります しかし JEDEC ベース セットアップ タイム仕様は V IH /V IL AC レベルに参照される ;JEDEC ベース ホールド タイム仕様は V IH /V IL AC レベルに参照されます メモリ デバイス セットアップおよびホールド タイム数は V REF にディレートおよび正規化されると タイミング制約が正しく設定されているのを確認するために Preset Editor ダイアログ ボックス内の値を便新します 例えば JEDEC に従って 400-MHz DDR2 SDRAM は以下の仕様を備えており 1V/ns DQ のスルー レート立ち上がり信号および 2V/ns の差動スルー レートを仮定します ベース t DS = 50 ベース t DH = 125 V IH (ac) = V REF V V IH (dc) = V REF V V IL (ac) = V REF V V IL (dc) = V REF V MHz の最大周波数を備えた任意の DDR2 SDRAM コンポーネントに対して シングル エンドまたは差動 DQS 信号方式のいずれかを使用しても JEDEC は t DS および t DH 仕様にベースおよびディレーティング数の 2 つの異なるセットをリストします また V IL (ac) および V IH (ac) の値は これらのデバイスとは異なる場合があります 立ち上がりエッジの VREF 参考セットアップおよびホールド信号は t DS (V REF ) = ベース t DS + デルタ t DS + (V IH (ac) - V REF )/slew_rate = = 250 ps t DH (V REF ) = ベース t DH + デルタ t DH + (V IH (dc) - V REF )/slew_rate = = ps ライト データの出力スルー レートは 1V/ns と異なる場合 最初に t DS および t DH の値をディレートして これらの AC/DC レベル仕様を V REF 仕様に変換します Altera Corporation
42 3 10 2V/ns DQ スルー レート立ち下がり信号および 2 V/ns DQS-DQSn スルー レートの場合は t DS (V REF ) = ベース t DS + デルタ t DS + (V IH (ac) - V REF )/slew_rate = = 225 ps t DH (V REF ) = ベース t DH + デルタ t DH + (V IH (dc) - V REF )/slew_rate = = ps 0.5 V/ns DQ スルー レート立ち下がり信号および 1 V/ns DQS-DQSn スルー レートの場合は t DS (V REF ) = ベース t DS + デルタ t DS + (V IH (ac) - V REF )/slew_rate = = 425 ps t DH (V REF ) = ベース t DH + デルタ t DH + (V IH (dc) - V REF )/slew_rate = = 285 ps Altera Corporation
43 3 11 Next または PHY Settings タブをクリックして 表 3 6 で説明されているオプションを設定します ターゲット アルテラ デバイスに適用する場合 オプションが使用できます パラメータ名 Use dedicated PLL outputs to drive memory clocks Dedicated memory clock phase 適用できるデバイス ファミリ HardCopy II および Stratix II(HardCopy II 用のプロトタイプ ) HardCopy II および Stratix II(HardCopy II 用のプロトタイプ ) Use differential DQS Arria II GX Stratix III および Stratix IV Enable external access to reconfigure PLL prior to calibration Instantiate DLL externally HardCopy II および Stratix II(HardCopy II 用のプロトタイプ ) Cyclone III デバイスを除く サポートされているすべてのデバイス ファミリ 説明 専用の PLL 出力を使用してクロックを生成する場合はオンにします HardCopy II ASIC およびその Stratix II FPGA プロトタイプではこれが必須です オフにすると DDIO 出力レジスタはクロック出力を生成します DDIO 出力レジスタをメモリ クロックに使用すると メモリ クロックと DQS 信号の両方が十分にアラインメントされて t DQSS 仕様を容易に満たします しかし 専用クロック出力をメモリ クロックに使用すると メモリ クロックと DQS 信号が適切にアラインメントされず 信号を一緒にアラインメントするために PLL から正の位相オフセットが必要になります PLL の出力を使用してメモリクロックをドライブする場合に CK/CK# 信号と DQS/DQS# 信号をアラインメントさせる時の必要な位相シフトです この機能をイネーブルして シグナル インテグリティを改善します 333 MHz 以上の動作で推奨されます DDR SDRAM は差動 DQSS をサポートしていないので DDR2 SDRAM にのみ適用します Stratix II および HardCopy II デバイス用にこのオプションをイネーブルすると ALTPLL_RECONFIG メガファンクションの入力はデバッグ目的にトップレベルになります このオプションにより キャリブレーションの前に PLL をリコンフィギュレーションし 必要に応じてリード側で再同期化クロックのキャリブレーションを開始する前に メモリ クロック (mem_clk_2x) の位相を調整できます リード側の再同期化クロックのキャリブレーションは ライト側のメモリ クロックの位相に依存します DQS キャプチャ クロックに非標準位相シフトを適用する場合 このオプションを Stratix III Stratix IV HardCopy III または HardCopy IV デバイスで使用します そして ALTMEMPHY DLL オフセッティング I/O は外部 DLL およびオフセット コントロール ブロックに接続できます Cyclone III デバイスは DLL がないので この機能はサポートされていません Altera Corporation
44 3 12 パラメータ名 Enable dynamic parallel on-chip termination Stratix III および Stratix IV Clock phase Arria II GX Arria GX Cyclone III HardCopy II Stratix II および Stratix II GX このオプションは I/O インピーダンス マッチングおよび終端抵抗機能を提供します ALTMEMPHY メガファンクションは このオプションがチェックされている状態で 読み出し時に並列終端抵抗および書き込み時に直列終端抵抗をイネーブルします DDR および DDR2 SDRAM インタフェースにのみ適用されます ここで DQ および DQS 信号は双方向です ダイナミック終端抵抗の使用は OCT キャリブレーション ブロックを使用する必要があります ここで R UP /R DN ピンの位置に応じて DQS/DQ ピンの配置が制限されることがあります DDR SDRAM は ODT をサポートしていませんが アルテラの FPGA でダイナミック OCT はまだサポートされます 詳細は Stratix III デバイス ハンドブック Volume 1 の Stratix III デバイスの外部メモリ インタフェース の章または Stratix IV デバイス ハンドブック Volume 1 の Stratix IV デバイスの外部メモリ インタフェース の章のいずれかを参照してください アドレスおよびコマンド フェーズを調整することで メモリ デバイスにおけるアドレスおよびコマンドのセットアップおよびホールド マージンを改善して 負荷によって変動する伝播遅延を補正することができます phy_clk および write_clk 信号の立ち上がりエッジ時間と立ち下がりエッジ時間に基づいて および 270 から選択できます Stratix IV および Stratix III デバイスで クロック位相は dedicated に設定されます Dedicated clock phase Stratix III および Stratix IV アドレスおよびコマンドに専用 PLL 出力を使用するとき アドレスおよびコマンド信号のセットアップおよびホールド マージンを改善するために いずれかの正当な PLL の位相シフトを選択できます この値を 180 と 359 の間に設定できて デフォルト値は 240 です しかしながら 一般に PHY タイミングはハーフ レート デザインの場合 240 およびフル レート デザインの場合 270 以上の値を必要とします Board skew Autocalibration simulation options 適用できるデバイス ファミリ Arria II GX および Stratix IV デバイスを除く サポートされるすべてのデバイス ファミリ サポートされるすべてのデバイス ファミリ 説明 FPGA からメモリ ( ディスクリート メモリ デバイスまたは DIMM のいずれか ) へインタフェース全体に対する任意の 2 つのメモリ インタフェース信号間の最大スキュー このパラメータはすべての種類の信号 ( データ ストローブ クロック アドレス コマンドの各信号 ) を含みます DQS/DQ グループ内 全グループ またはアドレス / コマンドおよびクロック信号間のワースト ケースのスキューを入力する必要があります このパラメータは.sdc ファイルでタイミング制約を生成します Full Calibration( 長いシミュレーション時間 ) Quick Calibration または Skip Calibration のいずれかを選択します 詳しくは 外部メモリ インタフェース ハンドブック Volume 4 の シミュレーション の章を参照してください Altera Corporation
45 3 13 Next または Board Settings タブをクリックして 表 3 7 で説明されているオプションを設定します ボード設定パラメータはタイミング解析のボード レベルの影響をモデル化するために設定されます インタフェースに Arria II GX または Stratix IV デバイスを選択する場合 このオプションが使用できます そうしないと オプションがディセーブルされます パラメータ名 単位 説明 Number of slots/discrete devices シングル ランクまたはマルチ ランク コンフィギュレーションを設定します CK/CK# slew rate (differential) V/ns CK および CK# 信号の差動スルー レートを設定します Addr/command slew rate V/ns アドレスおよびコマンド信号のスルー レートを設定します DQ/DQS# slew rate (differential) V/ns DQ および DQS# 信号の差動スルー レートを設定します DQ slew rate V/ns DQ 信号のスルー レートを設定します Addr/command eye reduction (setup) ns アドレスおよびコマンド信号での ISI によるセットアップ サイドのアイ ダイアグラムに削減を設定します Addr/command eye reduction (hold) ns アドレスおよびコマンド信号での ISI によるホールド サイドのアイ ダイアグラムに削減を設定します DQ eye reduction ns DQ 信号での ISI によるセットアップ サイドのアイ ダイアグラムに全削減を設定します Delta DQS arrival time ns ISI による DQS の到達時間の範囲でバリエーションの増加を設定します Max skew between DIMMs/devices ns 特に異なるスロットの DIMM に対して ランク間の DQ 信号で最大スキューまたは伝播遅延を設定します DIMM およびデバイスの両方に対して この値はマルチランク コンフィギュレーションにおける DDR2 インタフェースの再同期化マージンに影響します Max skew within DQS groups ns DQS グループにおける DQ ピン間の最大スキューを設定します この値はすべてのコンフィギュレーション ( シングル ランクまたはマルチ ランク DIMM またはデバイス ) における DDR2 インタフェースのリード キャプチャおよびライト マージンに影響します Max skew between DQS group ns 異なる DQS グループにおける DQS 信号間の最大スキューを設定します この値はシングル ランクまたはマルチ ランク コンフィギュレーションの両方における DDR2 インタフェースの再同期化マージンに影響します Addr/command to CK skew ns CK 信号およびアドレスとコマンド信号間のスキューまたは伝播遅延を設定します 正の値は CK 信号より長いアドレスおよびコマンド信号を表し そして負の値は CK 信号より短いアドレスおよびコマンド信号を表します このスキューはアドレス / コマンド信号の遅延を最適化して DDR2 インタフェースの適切なセットアップ およびホールド マージンを持つために Quartus II ソフトウェアによって使用されます Altera Corporation
46 3 14 Controller Interface Settings タブでは DDR および DDR2 SDRAM の ALTMEMPHY メガファンクションによって要求されるローカル インタフェース用のネイティブ インタフェースまたはデフォルトの Avalon-MM インタフェースを指定できます コントローラから PHY インタフェース プロトコルへの AFI を選択する場合 このオプションがディセーブルされます Avalon-MM インタフェースは これらのバリエーションでサポートされる唯一のローカル インタフェースです 1 アルテラでは新しいデザインに AFI を使用 ; 既存のデザインにのみ非 AFI を使用することを推奨します ネイティブ インタフェースは Avalon-MM インタフェースのスーパーセットであり Avalon-MM インタフェース信号の以外に 以下の追加の信号が含まれています local_init_done local_refresh_req local_refresh_ack local_wdata_req これらの信号は Avalon-MM バス プロトコルで不可能であるその他の情報とコントロールを提供します ネイティブおよび Avalon-MM ローカル インタフェース間のその他の差はライト トランザクションにあります Avalon-MM インタフェースでは ライト データはライト要求と共に提示されています ネイティブ インタフェースでは ライト データ ( バイト イネーブル ) は local_wdata_req 信号がアサートされた後でクロック サイクルに提示されます Avalon-MM インタフェースは local_wdata_req 信号を使用しません 1 ネイティブおよび Avalon-MM インタフェースの間に レイテンシの差がありません DDR および DDR2 SDRAM 高性能コントローラ MegaWizard インタフェース ( 図 3 3) の DDR or DDR2 SDRAM High-Performance Controller Parameter Settings ページで 以下の設定をパラメータ化することができます メモリ設定 PHY 設定 PHY 設定 コントローラ設定 メモリ設定 PHY 設定 およびボード設定タブは ALTMEMPHY Parameter Settings ページと同じオプションを提供します Altera Corporation
47 3 15 Altera Corporation
48 3 16 表 3 8 に Controller Settings タブで提供されたオプションを示します パラメータ名 コントローラ アーキテクチャ 説明 Controller architecture コントローラ アーキテクチャを指定します Enable self-refresh controls 両方あり コントローラが外部メモリ デバイスをセルフ リフレッシュ モードに置く時間を制御することができるようにオンにし 7 8 ページの ユーザーが制御したセルフ リフレッシュ ロジック を参照してください Enable power down controls HPC コントローラが外部メモリ デバイスをパワーダウン モードに置く時間を制御することができるようにオンにします Enable auto power down HPC II 指定されたアイドル コントローラ クロック サイクル数はコントローラで観測された後 コントローラが自動的に外部メモリ デバイスをパワーダウン モードに置くようにオンにします コントローラが Auto Power Down Cycles フィールドにメモリをパワーダウンした後に アイドル サイクル数を指定することができて 7 8 ページの 自動パワーダウンかつプログラマブル タイムアウト を参照してください Auto power down cycles HPC II コントローラが外部メモリ デバイスをパワーダウン モードに置く前に 目的のアイドル コントローラ クロック サイクル数を決定します 正当な範囲は 1 ~ 65,535 です 値を 0 クロック サイクルに設定する場合 自動パワーダウン モードがディセーブルされます Enable user auto-refresh controls 両方あり コントローラが外部メモリ デバイスをリフレッシュ モードに置く時間を制御することができるようにオンにします Enable auto-precharge control 両方あり コントローラ トップ レベル上の自動プリチャージ コントロールをイネーブルするように オンにします リードおよびライト バーストを要求している間に自動プリチャージ コントロール信号をアサートすることで コントローラが現在開いているページをライトまたはリード バーストの最後に閉じる必要があるかどうか ( 自動プリチャージ ) を指定できます Altera Corporation
49 3 17 パラメータ名 Local-to-memory address mapping Command queue look-ahead depth コントローラ アーキテクチャ HPC II HPC II Avalon インタフェース上のアドレス ビットとメモリ インタフェース上のチップ ロウ バンクとカラム ビット間のマッピングを制御できます アプリケーションがメモリ デバイスのカラム サイズより大きいバーストを発行する場合 Chip-Row-Bank-Column オプションを選択します このオプションで コントローラはバーストがカラムの終わりに到着するとき 現在開いているロウを変更するという効果を非表示にするのに先行バンク管理機能を使用できます 他方 アプリケーションに複数のマスターが独立したメモリの領域を使用する場合は Chip-Bank-Row-Column のオプションを選択してください このオプションで メモリに物理バンクを各マスターに割り当てるのにトップ アドレス ビットを使用できます 物理的なバンクの割り当てにより 複数のマスターが同時に同じバンクをアクセスすることを避けられます そうしないと コントローラーが同じバンクのロウを開いたり閉じたりする必要があるため 効率が下がっています このオプションで 先行バンクの管理にリード及びライトのリクエスト数をコントロールするために 先行コマンドの列の深さのレベルが選択できます 7 5 ページの コマンド キュー を参照してください Local maximum burst count HPC II コントローラ スレーブ ポートが受け入れる最大の Avalon バースト カウントをコンフィギュレーションす るためにバースト カウントを指定します Enable configuration and status register interface Enable error detection and correction logic HPC II 両方あり 説明 ランタイム コンフィギュレーションおよびメモリ コントローラのステータス検索をイネーブルするのにオンにします このオプションをイネーブルにすると 追加 Avalon-MM スレーブ ポートはメモリコントローラ トップレベルに加えて メモリ タイミング パラメータ メモリ アドレス サイズとモード レジスタ設定 およびコントローラ機能のランタイム コンフィギュレーションおよびステータス検索が可能にします Error Detection and Correction Logic がイネーブルされるとき 同じスレーブ ポートで このロジックのステータスを制御して 検索することもできます 7 8 ページの コンフィギュレーションおよびステータス レジスタ (CSR) インタフェース を参照してください シングル ビット誤り訂正およびダブル ビット エラー検出のための誤り訂正コード (ECC) をイネーブルするのにオンにします HPC および HPC II の場合 それぞれ 6 6 ページの 誤り訂正コード (ECC) および 7 8 ページの 誤り訂正コード (ECC) を参照してください Altera Corporation
50 3 18 パラメータ名 コントローラ アーキテクチャ 説明 Enable auto error correction HPC II ECC ロジックはシングル ビット エラーを検出するとき オンにしてコントローラはオート訂正を実行します あるいは より良いシステム効率のため 希望の時にこのオプションをオフにして 誤り訂正をケジュールすることができます 7 8 ページの 誤り訂正コード (ECC) を参照してください Enable multi-cast write control Multiple controller clock sharing HPC II 両方あり コントローラ トップレベル上のマルチ キャスト ライト コントロールをイネーブルするようにオンにします ライト バーストを要求するときマルチ キャスト ライト コントロールをアサートすると メモリ システムのすべてのチップ セレクトに書き込むライト データが生成されます マルチ キャスト ライトはレジスタされた DIMM インタフェースまたは ECC が有効な場合でサポートされていません このオプションは SOPC Builder のフローでのみ使用できます 互換性のある PLL を持つシステムで 1 個のコントローラが別のコントローラから Avalon クロッを使用できるようにオンにします このオプションはマスタ ロジックに同期する 2 つ以上のメモリ コントローラのある SOPC Builder システムを作成できます 7 5 ページの コマンド キュー を参照してください Local interface protocol HPC ユーザー ロジックとメモリ コントローラ間のローカル インタフェースを指定します Avalon-MM インタフェースを使用して 他の Avalon-MM ペリフェラルに簡単に接続することができます HPC II アーキテクチャは Avalon-MM インタフェースのみをサポートします Altera Corporation
51 4. MegaCore ファンクションにパラメータを設定した後 MegaCore ファンクションのバリエーションをデザインに組み込み シミュレーション およびコンパイルを実行することができます 以下の項では デザインをコンパイルおよびシミュレートするために実行する必要があるステップを詳しく説明しています デザインのコンパイル デザインのシミュレーション 図 4 1 にコントローラおよびユーザー ロジックを統合した後の最終的なデザインの例としてアルテラの高性能コントローラ デザインのトップレベル図を示します ALTMEMPHY DLL (1) PLL 図 4 1 の注 : (1) Instantiate DLL Externally を選択すると DLL がコントローラの外部にインスタンス化されます ALTMEMPHY バリエーションでデザインをコンパイルする前に.sdc ファイルを含むいくつかのプロジェクト設定を編集して I/O アサインメントを作成する必要があります I/O アサインメントには I/O 規格 ピン位置 および終端抵抗とドライブ強度設定などの他のアサインメントが含まれています これらのタスクのいくつかは ALTMEMPHY Generation ウインドウでリストされます 大部分のシステムでは アルテラはデバイスに対して終端抵抗および出力ピン負荷を設定する Quartus II ソフトウェアにおける Board Trace Model コマンドを使用することによって Advanced I/O Timing 機能の使用を推奨しています 1 生成された.sdc タイミング制約ファイルは ALTMEMPHY バリエーションを大規模なデザイン ( コントローラと / またはサンプル ドライバ ) の一部になる必要とするので ALTMEMPHY バリエーションはスタンドアロンのトップレベル デザインとしてコンパイルできません メモリ コントローラが可能な状態になる前 ALTMEMPHY バリエーションが要求されるターゲット周波数を満たすかどうかを確認するために ALTMEMPHY バリエーションをインスタンス化するトップレベル ファイルを作成します Quartus II ソフトウェアを使用してトップ レベル ファイルの例をコンパイルし コンパイル後のタイミング解析を実行するには 以下のステップに従います Altera Corporation
52 TimeQuest タイミング アナライザの設定 a. Assignments メニューで Timing Analysis Settings をクリックし Use TimeQuest Timing Analyzer during compilation を選択して OK をクリックします b. Synopsys Design Constraints(.sdc) ファイル <variation name>_phy_ddr_timing.sdc をプロジェクトに追加します Project メニューで Add/Remove Files in Project をクリックし ファイルを参照します c. トップレベル デザインの例 <variation name>_example_top.sdc のための.sdc ファイルをプロジェクトに追加します トップレベル デザインとして例を使用する場合にのみ このファイルが必要です 2. MegaWizard Plug-In Manager によって生成される I/O アサインメントを適用するには <variation_name>_pin_assignments.tcl または <variation_name>.ppf ファイルのいずれかを使用できます.ppf ファイルおよび Pin Planner を使用すると メモリ インタフェース ピン名にプリフィックスを追加するのに余分な柔軟性が提供されます Assignment Editor または Pin Planner のいずれかにアサインメントを編集することができます ピンの I/O 規格アサインメントを指定するには 以下の手順の 1 つを使用します SDRAM インタフェースが 1 つで トップレベル ラッパ ファイルの例に示すようにトップ レベル ピンにデフォルトの名前が付いている場合は <variation name>_pin_assignments.tcl を実行します または デザインでは一致しないピン名が含まれている場合 スクリプトを実行する前に <variation name>_pin_assignments.tcl ファイルを編集します 以下のステップに従います a. <variation name>_pin_assignments.tcl ファイルを開きます b. 使用しているフローに基づいて sopc_mode 値を Yes または No に設定します SOPC Builder システム フロー : if {![info exists sopc_mode]} {set sopc_mode YES} MegaWizard Plug-In Manager フロー : if {![info exists sopc_mode]} {set sopc_mode NO} c. 希望したプリフィックスを pin_prefix 変数に入力します 例えば プリフィックス my_mem を追加するには 以下の手順を実行します if {![info exists set_prefix}{set pin_prefix my_mem_ } プリフィックスを設定した後 以下に示されているようにピン名が拡張されます SOPC Builder システム フロー : my_mem_cs_n_from_the_<your instance name> MegaWizard Plug-In Manager フロー : my_mem_cs_n[0] Altera Corporation
53 4 3 1 トップレベル デザインはシングル ビット メモリ インタフェース信号 ( 例えば mem_dqs[0] ではなく mem_dqs) に対してシングル ビット バス表記を使用しない場合 Tcl スクリプトでの set single_bit {[0]} を set single_bit {} に変更する必要があります または あるいは デザインと一致しないピン名を変更するには 以下の方法によりピン名にプリフィックスを付加できます a. Assignments メニューで Pin Planner をクリックします b. Edit メニューの Create/Import Megafunction をクリックします c. Import an existing custom megafunction を選択し <variation name>.ppf にアクセスします d. 使用したいプリフィックスを Instance name に入力します 例えば mem_addr を core1_mem_addr に変更します 3. トップレベル デザインに トップレベル エンティティを設定します a. File メニューの Open をクリックします b. MegaWizard Plug-In Manager を使用する場合 SOPC Builder システム トップレベル デザインまたは <variation name>_example_top に移動して Open をクリックします c. Project メニューの Set as top-level entity をクリックします 4. DQ および DQS ピン位置を割り当てます a. デザインのピンにピン位置を割り当てる必要があるため Quartus II ソフトウェアはフィッティングおよびタイミング解析を正しく実行できます b. Pin Planner または Assignment Editor のいずれかを使用して クロック ソース ピンを手動で割り当てます さらに 各 DQS ピンを必要なピンに割り当て 使用する必要がある DQS ピン グループを選択します 次に Quartus II Fitter は 対応する DQ 信号を各グループ内の適切な DQ ピンに自動的に配置します 1 デザインをコンパイルするとき [no-fit] エラーを回避するために mem_clk ピンを mem_dq および mem_dqs ピンと同じエッジに配置するように確認し かつデザインにピンを割り当てる際 クロック ソースおよびリセット入力などの非メモリ インタフェースに適切な I/O 規格を設定します 例えば DDR SDRAM と DDR2 SDRAM の場合 それぞれ 2.5 V および 1.8 V を選択します また Quartus II ソフトウェアでピンを配置したいデバイスのバンクまたはサイドを選択します 5. Stratix III または Stratix IV デザイン用に 高度な I/O タイミングを使用する場合 Device & Pin Options ダイアログ ボックス内でボード トレース モデルを指定します あるいは 他のデバイスを使用し 高度な I/O タイミングを使用しない場合 すべてのメモリ インタフェース ピンに出力ピンの負荷を設定します 6. 必要な I/O ドライブ強度 ( シミュレーションから得られたもの ) を選択して 各信号または ODT 設定が正しくドライブされ オーバシュートやアンダシュートが生じないようにします Altera Corporation
54 デザインをコンパイルするには Processing メニューの Start Compilation をクリックします f SignalTap II ロジック アナライザをデザインに接続するには AN 380: Test DDR or DDR2 SDRAM Interfaces on Hardware Using the Example Driver を参照してください トップ レベル ファイルの例をコンパイルした後は RTL シミュレーションを実行したり ターゲットのアルテラ デバイスをプログラムしてハードウェアでトップ レベル ファイルの例を検証することができます システム生成時 SOPC Builder はシステム全体のシミュレーション モデルおよびテストベンチをオプションで生成します これらを使用して アルテラがサポートする任意のシミュレーション ツールでシステムを簡単にシミュレートすることができます MegaWizard はまた ModelSim Tcl スクリプトとマクロの一式を生成することもできるので これらを使用して テストベンチ IP 機能シミュレーション モデル および ModelSim シミュレーション ソフトウェア内のシステムを記述するプレーン テキスト RTL デザイン ファイルをコンパイルできます (2 6 ページの 生成されるファイル を参照 ) f SOPC Builder システムのシミュレーションについて詳しくは Quartus II ハンドブック Volume 4 および AN 351: Simulating Nios II Systems を参照してください シミュレーションについて詳しくは 外部メモリ インタフェース ハンドブック Volume 4 の Simulating an External Memory Interface Design の章を参照してください ボード シミュレーション結果を Quartus II ソフトウェアに組み込む方法 そして Pin Planner を使用してピンを割り当てる方法について詳しくは 外部メモリ インタフェース ハンドブック Volume 6 の DDR, DDR2, and DDR3 Tutorials を参照してください DDR または DDR2 SDRAM インタフェースの ALTMEMPHY バリエーションでは 以下のオプションが提供されます スキップ キャリブレーション スキップ キャリブレーションするために ALTMEMPHY メガファンクションのスタティック セットアップを実行して ユーザー モードに直接移行します 1 スキップ キャリブレーション モードは DDR メモリ用 3 の CAS レイテンシ および DDR2 メモリ用すべての CAS レイテンシ付きデフォルトの ALTMEMPHY パラメータ化をサポートします 追加のレイテンシはすべてのメモリ タイプに対してディセーブルする必要があります クイック キャリブレーション シングル ピンおよびチップ セレクト上でキャリブレーションを実行します 1 初期化時間に関するメモリ モデル警告が表示されることがあります フル キャリブレーション あらゆるピンおよびチップ セレクト このオプションにより 長いシミュレーション時間が可能になります Altera Corporation
55 4 5 1 クイック キャリブレーションとスキップ キャリブレーションで ALTMEMPHY メガファンクションは遅延に対処できなく テストベンチおよびメモリ モデルのすべての遅延が 0ps であると単に仮定します テストベンチおよびメモリ モデルにおける遅延でデザインをシミュレーションするために MegaWizard Plug-In Manager のフル キャリブレーション モード モデルを生成する必要があります DDR または DDR2 SDRAM 高性能コントローラ (HPC および HPC II) に NativeLink を使用してシミュレーションを設定するには 次のステップに従います 1. IP 機能シミュレーション モデルを使用して カスタム バリエーションを作成し ページ 2 4 の パラメータの指定 の項でのステップ 4 を参照してください 2. サンプル プロジェクトに トップレベル エンティティを設定します a. File メニューの Open をクリックします b. <variation name>_example_top を表示して Open をクリックします c. Project メニューの Set as Top-Level Entity をクリックします 3. Quartus II NativeLink を設定します a. Assignments メニューから Settings をクリックします Category リストで EDA Tool Settings を展開し Simulation をクリックします b. Tool name リストから 使用するシミュレータをクリックします 1 サードパーティ シミュレータ実行ファイルへの絶対パスが設定済みかどうかチェックします Tools メニューで Options をクリックし EDA Tools Options を選択します c. NativeLink settings で Compile test bench を選択して Test Benches をクリックします d. テストベンチを作成するには Test Benches のページで New をクリックします 4. New Test Bench Settings ダイアログ ボックスで 以下のステップを実行します a. Test bench name に名前を入力します b. Top level module in test bench に 自動的に生成されたテストベンチの名前 <variation name>_example_top_tb を入力します Altera Corporation
56 4 6 1 異なるポート名を持つように <variation name>_example_top_tb を変更すると 新しいポート名でもテストベンチ ファイルを変更する必要があります c. トップ レベル インスタンスの名前 dut を Design instance in test bench に入力します d. Simulation period で Run simulation until all vector stimuli are used を設定します e. テストベンチ ファイルおよび自動的に生成されたメモリ モデル ファイルを追加します File name フィールドで メモリ モデルとテストベンチの位置を参照して OK をクリックし Add をクリックします テストベンチは <variation name>_example_top_tb.v; メモリ モデルは <variation name>_mem_model.v です f 自動的に生成された汎用 SDRAM モデルは特定のメモリベンダが提供したモデル用にプレースホルダとして使用される場合があります f f. ファイルを選択して OK をクリックします 5. Processing メニューで Start をポイントし Start Analysis & Elaboration をクリックして分析を起動します 6. Tools メニューで Run EDA Simulation Tool をポイントして EDA RTL Simulation をクリックします 1 Quartus II EDA Tool Options はシミュレーション環境に正しくコンフィギュレーションされることを確認します Tools メニューの Options をクリックします Category リストで EDA Tool Options をクリックして 実行可能ファイルの位置を確認します Quartus II プロジェクトは正しくコンフィギュレーションされるように表示されますが テストベンチ例がまだ失敗する場合 サービス リクエストを提出する前に Knowledge Database ページでの既知の問題をチェックします VHDL シミュレーションと IP 機能シミュレーション モデル用に 以下のステップに従います 1. <project directory>\testbench ディレクトリにディレクトリを作成します 2. このディレクトリまらのシミュレーション ツールを起動し 以下のライブラリを作成します altera_mf lpm sgate <device name> altera ALTGXB Altera Corporation
57 4 7 <device name>_hssi auk_ddr_hp_user_lib 3. 表 4 1 に示すように ファイルを適切なライブラリ (AFI モード ) にコンパイルします これらのファイルは VHDL93 フォーマットです ライブラリ altera_mf lpm sgate <device name> altera ALTGXB (1) <device name>_hssi (1) auk_ddr_hp_user_lib ファイル名 <QUARTUS ROOTDIR>/eda/sim_lib/altera_mf_components.vhd <QUARTUS ROOTDIR>/eda/sim_lib/altera_mf.vhd /eda/sim_lib/220pack.vhd /eda/sim_lib/220model.vhd eda/sim_lib/sgate_pack.vhd eda/sim_lib/sgate.vhd eda/sim_lib/<device name>_atoms.vhd eda/sim_lib/<device name>_ components.vhd eda/sim_lib/<device name>_hssi_atoms.vhd (1) eda/sim_lib/altera_primitives_components.vhd eda/sim_lib/altera_syn_attributes.vhd eda/sim_lib/altera_primitives.vhd <device name>_mf.vhd <device name>_mf_components.vhd <device name>_hssi_components.vhd <device name>_hssi_atoms.vhd <QUARTUS ROOTDIR>/ libraries/vhdl/altera/altera_europa_support_lib.vhd <project directory>/<variation name>_phy_alt_mem_phy_seq_wrapper.vho <project directory>/<variation name>_phy.vho <project directory>/<variation name>.vhd <project directory>/<variation name>_example_top.vhd <project directory>/<variation name>_controller_phy.vhd <project directory>/<variation name>_phy_alt_mem_phy_reconfig.vhd (2) <project directory>/<variation name>_phy_alt_mem_phy_pll.vhd <project directory>/<variation name>_phy_alt_mem_phy_seq.vhd <project directory>/<variation name>_example_driver.vhd <project directory>/<variation name>_ex_lfsr8.vhd testbench/<variation name>_example_top_tb.vhd testbench/<variation name>_mem_model.vhd <project directory>/<variation name>_auk_ddr_hp_controller_wrapper.vho (HPC) <project directory>/<variation name>_alt_ddrx_controller_wrapper.vho (HPC II) 表 4 1 の注 : (1) Arria GX Arria II GX Stratix GX Stratix II GX および Stratix IV デバイスにのみ適用されます (2) Arria GX Hardcopy II Stratix II および Stratix II GX デバイスにのみ適用されます Altera Corporation
58 4 8 1 NativeLink を使用しない場合 Stratix IV デバイスをターゲットとしてシュミレータにシミュレートするには Stratix IV および Stratix III ファイル (stratixiv_atoms および stratixiii_atoms) の両方を必要とします 4. タイムステップをピコ秒に設定して シミュレータにテストベンチをロードします Verilog HDL シミュレーションと IP 機能シミュレーション モデル用に 以下のステップに従います 1. <project directory>\testbench ディレクトリにディレクトリを作成します 2. このディレクトリからのシミュレーション ツールを起動し 以下のライブラリを作成します altera_mf_ver lpm_ver sgate_ver <device name>_ver altera_ver ALTGXB_ver <device name>_hssi_ver auk_ddr_hp_user_lib 3. 表 4 2 に示すように ファイルを適切なライブラリにコンパイルします ライブラリ altera_mf_ver lpm_ver sgate_ver <device name>_ver altera_ver ALTGXB_ver (1) <device name>_hssi_ver (1) ファイル名 <QUARTUS ROOTDIR>/eda/sim_lib/altera_mf.v /eda/sim_lib/220model.v eda/sim_lib/sgate.v eda/sim_lib/<device name>_atoms.v eda/sim_lib/<device name>_hssi_atoms.v (1) eda/sim_lib/altera_primitives.v <device name>_mf.v <device name>_hssi_atoms.v Altera Corporation
59 4 9 ライブラリ auk_ddr_hp_user_lib ファイル名 <QUARTUS ROOTDIR>/ libraries/vhdl/altera/altera_europa_support_lib.v alt_mem_phy_defines.v <project directory>/<variation name>_phy_alt_mem_phy_seq_wrapper.vo <project directory>/<variation name>.v <project directory>/<variation name>_example_top.v <project directory>/<variation name>_phy.v <project directory>/<variation name>_controller_phy.v <project directory>/<variation name>_phy_alt_mem_phy_reconfig.v (2) <project directory>/<variation name>_phy_alt_mem_phy_pll.v <project directory>/<variation name>_phy_alt_mem_phy.v <project directory>/<variation name>_example_driver.v <project directory>/<variation name>_ex_lfsr8.v testbench/<variation name>_example_top_tb.v testbench/<variation name>_mem_model.v <project directory>/<variation name>_auk_ddr_hp_controller_wrapper.vo (HPC) <project directory>/<variation name>_alt_ddrx_controller_wrapper.v (HPC II) <project directory>/alt_ddrx_addr_cmd.v (HPC II) <project directory>/alt_ddrx_afi_block.v (HPC II) <project directory>/alt_ddrx_bank_tracking.v (HPC II) <project directory>/alt_ddrx_clock_and_reset.v (HPC II) <project directory>/alt_ddrx_cmd_queue.v (HPC II) <project directory>/alt_ddrx_controller.v (HPC II) <project directory>/alt_ddrx_csr.v (HPC II) <project directory>/alt_ddrx_ddr2_odt_gen.v (HPC II) Altera Corporation
60 4 10 ライブラリ ファイル名 <project directory>/alt_ddrx_avalon_if.v (HPC II) <project directory>/alt_ddrx_decoder_40.v (HPC II) <project directory>/alt_ddrx_decoder_72.v (HPC II) <project directory>/alt_ddrx_decoder.v (HPC II) <project directory>/alt_ddrx_encoder_40.v (HPC II) <project directory>/alt_ddrx_encoder_72.v (HPC II) <project directory>/alt_ddrx_encoder.v (HPC II) <project directory>/alt_ddrx_input_if.v (HPC II) <project directory>/alt_ddrx_odt_gen.v (HPC II) <project directory>/alt_ddrx_state_machine.v (HPC II) <project directory>/alt_ddrx_timers_fsm.v (HPC II) <project directory>/alt_ddrx_timers.v (HPC II) <project directory>/alt_ddrx_wdata_fifo.v (HPC II) <project directory>/alt_avalon_half_rate_bridge.v (HPC II) 表 4 2 の注 : (1) Arria GX Arria II GX Stratix GX Stratix II GX および Stratix IV デバイスにのみ適用されます (2) Arria GX Hardcopy II Stratix II および Stratix II GX デバイスにのみ適用されます 1 NativeLink を使用しない場合 Stratix IV デバイスをターゲットとしてシュミレータにシミュレートするには Stratix IV および Stratix III ファイル (stratixiv_atoms および stratixiii_atoms) の両方を必要とします 4. 伝送遅 ピコ秒のタイムステップに使用され および表 4 2 にすべてのライブラリを含むようにシミュレータをコンフィギュレーションします Altera Corporation
61 5. ALTMEMPHY メガファンクションは様々なアルテラ デバイスにメモリ デバイス メモリ コントローラー及びユーザー ロジックの間にデータパスを作成します ALTMEMPHY メガファンクション GUI により メモリ インタフェースの複数のバリエーションをコンフィギュレーションすることができます ユーザー設計のコントローラまたはアルテラの高性能コントローラのいずれかを使用して ALTMEMPHY メガファンクション バリエーションに接続することができます さらに ALTMEMPHY メガファンクションおよびアルテラの高性能コントローラはフル レートとハーフ レートの DDR および DDR2 SDRAM インタフェースに使用可能です k 1 ALTMEMPHY メガファンクションでサポートされていないレガシー デバイス ファミリ (Cyclone Cyclone II Stratix および Stratix GX デバイスなど ) に対して アルテラのレガシー統合スタティック データパスおよびコントローラ MegaCore ファンクションを使用します 1 ALTMEMPHY メガファンクションが要件を適合しない場合 Quartus II ソフトウェアで使用できる ALTDLL および ALTDQ_DQS メガファンクションを使用して 独自のメモリ インタフェース データパスを作成することもできます しかしながら タイミング解析およびデバッグを含めて インタフェースの各側面に対する責任があります この章では PHY とコントローラ間のインタフェースとして AFI を使用する DDR および DDR2 SDRAM ALTMEMPHY メガファンクションについて説明します 5 2 ページの図 5 1 に ALTMEMPHY メガファンクションの主要ブロックと このメガファンクションが外部メモリ デバイスおよびコントローラとどのようにインタフェースするかを示します ALTPLL メガファンクションは ALTMEMPHY メガファンクション内でインスタンス化されるので いずれかの ALTMEMPHY ブロックにクロックを生成する必要がありません Altera Corporation
62 5 2 FPGA ALTMEMPHY DLL PLL ALTMEMPHY メガファンクションは以下のブロックで構成されます ライト データパス アドレスおよびコマンド データパス DLL および PLL を含む クロックおよびリセット管理 キャリブレーションのシーケンサ リード データパス この項では メモリ インタフェースに最適なクロック位相を探出するために シーケンスが実行するキャリブレーションについて説明します DDR/DDR2 SDRAM インタフェースの ALTMEMPHY バリエーションは AFI および非 AFI に対する同じキャリブレーション プロセスがあります DDR/DDR2 SDRAM PHY のキャリブレーション プロセスは 以下のステップで構成されます ステップ 1: メモリ デバイスの初期化 Altera Corporation
63 5 3 ステップ 2: ライト トレーニング パターン ステップ 3: 読み出し再同期化 ( キャプチャ ) クロック位相 ステップ 4: リードおよびライト データパス タイミング ステップ 5: アドレスおよびコマンド クロック サイクル ステップ 6: ポストアンブル ステップ 7: ユーザー モードの準備 f 各キャリブレーション ステップについて詳しくは 外部メモリ インタフェース ハンドブック Volume 4 の Hardware Debugging の項を参照してください 図 5 2 にキャリブレーション フローを示します VT Altera Corporation
64 5 4 このステップは DDR および DDR2 SDRAM 仕様に従って メモリ デバイスを初期化します 初期化手順にはモード レジスタとメモリ デバイス ODT 設定 (DDR2 のみ ) の指定 およびメモリ デバイス DLL の初期化が含まれています ステップ 7: ユーザー モードの準備 に戻されているように キャリブレーションは一部のユーザー指定のモード レジスタ設定を無効にする必要があります このステップでは パターンは 以後のキャリブレーション ステージで読み込まれるようにメモリに書き込まれます DDR3 SDRAM デバイスへのトレース レングスの一致はメモリ初期化の後にライト キャプチャが動作することを意味します パターンは 0x30F5 であり そして別々の書き込まれたパターンで構成されています すべて 0: b DDIO High および Low ビットは 0 に保持される すべて 1: b DDIO High および Low ビットは 1 に保持される トグル : b DDIO High ビットは 0 に保持され DDIO Low ビットは 1 に保持される 混在 : b DDIO High および Low ビットはトグルする必要がある 1 このパターンが 非 DQS のキャプチャ ベース手法 例えば Cyclone III デバイスの特性動作に合わせるのに必要です このときにライト レイテンシが未知であるので 混在パターンのロードが複雑です 2 セットのライトおよびリード動作 ( シングル ピンの再同期化 ( キャプチャ ) クロック位相スイープ ステップ 3: 読み出し再同期化 ( キャプチャ ) クロック位相 ) は 正確に混在パターンをメモリに書き込むことが必要です 1 メモリ バンク 0 ロウ 0 およびカラム アドレス 0 ~ 55 はキャリブレーション データを格納します このステップは 再同期化 ( またはキャプチャ ) クロックの位相を調整して 最大のマージンを提供する最適な位相を確認します DQS ベース キャプチャ手法の場合 再同期化クロックは DQS キャプチャ レジスタの出力をキャプチャします (DQS はキャプチャ クロックです ) 非 DQS キャプチャ ベース手法では キャプチャ クロックは入力 DQ ピン データをキャプチャします (DQS 信号が未使用であり 再同期化クロックはありません ) データ有効ウィンドウに基づいて 再同期化 ( またはキャプチャ ) クロック位相をキャリブレートするには 以下の位相スィープの度が必要です すべてのハーフ レート インタフェースおよびフル レート DQS ベース キャプチャ PHY 用 フル レート非 DQS キャプチャ PHY 用 Altera Corporation
65 5 5 このステップでは シーケンサはライト コマンドおよびライト データ間のキャリブレーションされたライト レイテンシ (ctl_wlat 信号 ) を計算します また シーケンサはリード コマンドおよび有効なリード データの問題の間のキャリブレーションされたライト レイテンシ (ctl_rlat 信号 ) も計算します リードおよびライト レイテンシの両方はコントローラへの出力です リード レイテンシの通知に加えて コントローラがリード コマンドを発行およびリード データの返送の間の遅延にシーケンサはリード データ有効信号をキャリブレーションします コントローラは リード データの有効な時間を決定するのに通知されるリード レイテンシの代わりに リード データ有効な信号を使用できます また ハーフ レート インタフェースの場合 このステップはアドレスおよびコマンド パスからの遅延の追加メモリ クロック サイクルをオプションで追加します この遅延はコントローラ クロック ドメインで与えられるメモリ コマンドにライト データをアラインメントします この追加遅延が必要な場合は このステップはキャリブレーション ( ステップ 2: ライト トレーニング パターン ~ ステップ 4: リードおよびライト データパス タイミング ) を再度実行して 新しい設定にキャリブレーションします このステップはポストアンブル パスの正しいクロック サイクルを設定します DQS 信号上のポストアンブル グリッチのために ポストアンブル パスの目的は DQS 上のオーバーライドを通して誤った DQ データ キャプチャを除去します このステップはポストアンブル イネーブル ( オーバライド ) 信号の正しいクロック サイクル タイミングを確認します 1 ポストアンブルは DQS ベースのキャプチャ手法にのみ必要です このステップでは PHY はユーザー モード レジスタの設定を適用して 周期的な VT トラッキングを実行します VT トラッキングは キャリブレーション時に達成された再同期化またはキャプチャ クロックとデータ有効ウィンドウ間の関係を維持するために 電圧および温度変動を追跡するバックグラウンド プロセスです データ キャリブレーション位相が完了すると シーケンサは 128 ms ごとに模擬キャリブレーション シーケンサを発行します 模擬パスは 最初のキャリブレーション時に測定クロック (measure_clk が ALTMEMPHY はフル レート デザインまたはハーフ レート デザインかに応じて サフィックが _1x または _2x) を使用してサンプリングされます サンプリングされた値はシーケンサで格納されます サンプル値が格納されると シーケンサは PLL リコンフィギュレーション ロジックを使用して測定クロックの位相を 1 VCO 位相タップだけシフトします 次にコントロール シーケンサは 新しい模擬パスの Altera Corporation
66 5 6 クロック位相のサンプリングした値を格納します このシーケンスは すべての模擬パス クロック位相のステップがスィープされるまで継続されます コントロール シーケンサは すべての模擬パスのサンプル値を格納すると 模擬パス波形の High 期間の中央に対応する位相を計算します このリファレンス 模擬パス サンプリング位相は VT トラッキング位相時に使用されます ユーザー モードでは シーケンサはトラッキング キャリブレーションの説明で定義されるように 周期的にトラッキングを実行します シーケンサは トラッキング キャリブレーション動作の終了時に最新の最適なトラッキング位相と基準サンプリング位相を比較します サンプリング位相が一致しない場合 模擬パス遅延は電圧および温度変動に伴って変化しています シーケンサが模擬パスの基準サンプリング位相および最新サンプリング位相が一致しないことを検出すると シーケンサは PLL リコンフィギュレーション ロジックを使用して 再同期化クロックの位相を VCO タップだけ同じ方向に変化させます これにより トラッキング プロセスは 電圧および温度が経時変化してもデータ トラッキング キャリブレーション中にほぼ最適なキャプチャ クロック位相設定を維持することができます 再同期化またはキャプチャ クロックとデータ有効ウィンドウの関係は VT の変動による模擬パスの変動を測定し 同じ変動を再同期化クロックに適用することによって維持されます 模擬パスは 往復遅延の要素の FPGA を模擬するのに使用されます これによって キャリブレーション シーケンスは ALTMEMPHY メガファンクションの動作を中断させずに メモリのリードおよびライト トランザクション時の VT の変化に起因する遅延変動を追跡できます 模擬パスに関する仮定は FPGA 外部の往復遅延パスにおける VT の変動は MegaWizard Plug-In Manager に入力されるボード スキューおよびメモリ パラメータで考慮されるということです 書き込み方向の場合 メモリ デバイスの VT の変動はタイミング解析で考慮されます 図 5 3 に Arria GX Cyclone III Stratix II および Stratix II GX デバイスにおける クロック出力からメモリ FPGA のパッドまでの遅延 および入力 DQS パッドから FPGA コアのレジスタまでの遅延を模擬する模擬パスを示します シーケンサは トラッキング動作中に測定クロックの位相を変化させることによって模擬パスの遅延を測定します 模擬パスで遅延が変化すると 往復遅延に対応する変化が生じ それに応じて再同期化またはキャプチャ クロックの位相が調整されます 1 Arria II GX Stratix III および Stratix IV デバイスの模擬パスは 図 5 3 に似ています 唯一の違いは mem_clk[0] ピンは DDIO レジスタで生成される ;mem_clk_n[0] は信号スプリッタで生成されます Altera Corporation
67 5 7 datain 1 mem_clk[0] ddiodatain 0 combout outclk mem_clk_2x ALTPLL mimic_data_in measure_clk alt_mem_phy_mimic measure_clk このトピックは アドレスおよびコマンド データパスについて説明します フル レート デザインのアドレスとコマンドのデータパスはハーフ レート デザインと同じですが フル レート デザインでは すべてのアドレスとコマンド信号は 1 メモリ クロック サイクル (1T 信号方式 ) にアサートされます アドレスおよびコマンド データパスは コントローラからアドレスおよびコマンド出力を取得してハーフ レート クロックからフル レート クロックに変換します 次の 2 つの種類のアドレッシングが可能です 1T ( フル レート ) アドレスおよびコマンドの持続時間はシングル メモリ クロック サイクル (mem_clk_2x 図 5 4 ) です これは フル レート デザインでのすべてのアドレス およびコマンド信号またはハーフ レート デザインでの mem_cs_n mem_cke および mem_odt 信号に適用されます 2T ( ハーフ レート ) アドレスおよびコマンドの持続時間は 2 メモリ クロック サイクルです ハーフ レート デザインの場合 ALTMEMPHY メガファンクションはバースト サイズ 4 のみをサポートします これは ローカル インタフェースのバースト サイズは常に 1 に設定されることを意味します データのサイズは ローカル サイドで 4n ビット幅 メモリ サイドで n ビット幅です すべての 4n ビットをダブル データ レートで転送するには 2 メモリ クロック サイクルが必要です 新しいアドレスおよびコマンドを 2 クロック サイクルごとにメモリに発行できます この手法はハーフ レート モードの mem_cs_n mem_cke および mem_odt 信号を除いて すべてのアドレスおよびコマンド信号に適用されます f mem_clk_2x と他のクロックとの周波数関係については 5 9 ページの PLL の表 5 4 を参照してください Altera Corporation
68 5 8 図 5 4 に アクティブ Low でメモリ デバイスのコマンドをディセーブルする 1T チップ セレクト信号 (mem_cs_n) を示します チップ セレクト信号が非アクティブのとき すべてのコマンドがマスクされます mem_cs_n 信号はコマンド コードの一部と見なされます ac_clk_2x NOP PCH NOP ACT NOP WR NOP mem_ras_n mem_cas_n mem_we_n mem_cs_n mem_addr mem_ba mem_dq mem-dqs C [1] [1] [2] [3] [3] [4] [4] [4] コマンド インタフェースは mem_ras_n mem_cas_n mem_we_n mem_cs_n mem_cke および mem_odt の各信号で構成されています 図 5 4 の波形は NOP コマンドと連続ライト コマンドを示しています 以下のシーケンスは 図 5 4 に番号付きの項目に対応しています 1. コマンドは ac_clk_2x の立ち上がりエッジでアサートされます ac_clk_2x は mem_clk_2x(0 ) write_clk_2x(270 ) またはこれらの 2 つのクロックの (180 および 90 ) 位相シフトの反転したバリエーションから派生しています ALTMEMPHY MegaWizard インタフェースにおけるアドレスおよびコマンド クロックの設定によって決まります mem_clk_2x または write_clk_2x 信号に関連するこのクロックの図について 5 7 ページの アドレスおよびコマンド データパス を参照してください 2. (mem_cs_ns mem_cke および mem_odt 信号を除く ) すべてのアドレスおよびコマンド信号は 2 クロック サイクルの間バス上にアサートされたままで 信号が確定するのに十分な時間が確保されます 3. mem_cs_n mem_cke および mem_odt 信号は アドレス / コマンド フェーズの 2 番目のサイクル時にアサートされます チップ セレクト信号を 1 サイクルおきにアサートして 連続リードまたはライト コマンドを発行することができます 4. アドレスは ac_clk_2x サイクル 1 つおきにインクリメントされます 1 ac_clk_2x クロックは mem_clk_2x(0 または 180 の位相シフトを選択する場合 ) または write_clk_2x(90 または 270 の位相シフトを選択する場合 ) から派生します Altera Corporation
69 5 9 1 アドレスおよびコマンド クロックはシステム クロックから または 270 のいずれかにすることができます (5 7 ページの アドレスおよびコマンド データパス を参照 ) Stratix III および Stratix IV デバイスのアドレスおよびコマンド クロックは メモリ クロックのセットアップおよびホールド要件を満たすよう位相を調整可能な PLL 専用出力クロック出力の 1 つです Stratix III のアドレスとコマンド クロック ac_clk_1x はハーフ レートです コマンド / アドレス ピンは DDIO 出力回路を使用してクロックの立ち上がりエッジまたは立ち下がりエッジのいずれかでコマンドを起動します チップ セレクト (cs_n) ピンおよび ODT は 1 メモリ クロック サイクルの間のみイネーブルされ ac_clk_1x 信号の立ち上がりエッジまたは立ち下がりエッジのいずれかで起動できます 他方 アドレスおよびその他のコマンド ピンは 2 メモリ クロック サイクルの間イネーブルされ ac_clk_1x 信号の立ち上がりエッジまたは立ち下がりエッジのいずれかで起動できます IOE にはフル レートからハーフ レートへの変換がないことを除き フル レートのアドレスおよびコマンドのデータパスはハーフ レートのアドレスおよびコマンドのデータパスと同様です ここで アドレスとコマンド信号はフル レートです このトピックでは 特定のデバイス タイプのクロックおよびリセット管理について説明します クロッキングおよびリセット ブロックは クロック生成 リセット管理 およびクロックの位相シフトに使用されます クロックの配線に使用されるクロック ネットワーク タイプの制御を実行します クロック管理機能により ALTMEMPHY メガファンクションがキャリブレーション中の最適な再同期化クロック位相を判断し システム電圧および温度 (VT) 変動を追跡することができます クロック管理はクロックが互いを基準にする位相シフトに依存して実現されます クロック管理回路は 以下のデバイス リソースを使用して実装されます PLL PLL リコンフィギュレーション DLL ALTMEMPHY MegaWizard インスタンスは ALTPLL メガファンクション インスタンスを自動的に生成します ALTPLL メガファンクションは ALTMEMPHY メガファンクション内で使用される各種クロック周波数および関連する位相を生成します PHY の最小要件は 最高周波数クロックに 16 の位相があることです PLL は With No Compensation オプションを使用してジッタを低減します Altera Corporation
70 5 10 最小ジッタを確実にするために メモリ インタフェースの同じサイドに配置されている PLL および PLL 入力クロック ピンを選択する必要があります ジッタをカスケード PLL の使用がメモリ クロック出力はメモリ デバイス ジッタ仕様に違反するため 累積できるので DDR/DDR2 SDRAM インタフェース用にカスケード PLL が推奨されていません また PLL ロックの前に 入力クロックが安定することを確認します そうしないと すべての PLL 出力間の位相関係は正しく設定されているのを確認するために マニュアル PLL リセットを実行して PLL を再ロックする必要があります 1 PLL をカスケード接続するデザインでは ソース ( アップストリーム )PLL は狭帯域幅設定にし デスティネーション ( ダウンストリーム )PLL は広帯域幅設定にする必要があります クロック ジッタを低減するには 隣接する PLL 間カスケード接続が推奨されます f VCO 周波数範囲および使用可能な位相シフトについて詳しくは 該当するデバイス ファミリのハンドブックの PLLs in Stratix II and Stratix II GX Devices の章を参照してください 表 5 4 に Arria GX HardCopy II Stratix II および Stratix II GX デバイスのクロック出力を示します デザイン レート クロック名 ポストスケール カウンタ 位相 ( 度 ) クロック レート クロック ネットワーク タイプ 説明 ハーフ レート phy_clk_1x および aux_half_rate_ clk mem_clk_2x および C0 0 ハーフ レート C1 0 フル レート グローバル グローバル ALTMEMPHY メガファンクションに対する唯一のクロック パラメータ化 これらのクロックは 100 MHz 以下でなければならない ( リコンフィギュレーション用 )PLL の scan_clk 信号に提供するために 除算回路にフィードします クロック DQS およびメモリ デバイスの基準クロックとして使用されます aux_full_ rate_clk Altera Corporation
71 5 11 デザイン レート クロック名 ポストスケール カウンタ 位相 ( 度 ) クロック レート クロック ネットワーク タイプ 説明 フル レート aux_half_rate_ clk C0 0 ハーフ レート グローバル ALTMEMPHY メガファンクションに対する唯一のクロック パラメータ化 これらのクロックは 100 MHz 以下でなければならない ( リコンフィギュレーション用 )PLL の scan_clk 信号に提供するために 除算回路にフィードします phy_clk_1x (1) および mem_clk_2x C1 0 フル レート グローバル クロック DQS およびメモリ デバイスの基準クロックとして使用されます および ハーフ レートおよびフル レート ハーフ レートおよびフル レート ハーフ レートおよびフル レート aux_full_ rate_clk write_clk_2x C2 90 フル レート mem_clk_ext_2x C3 > 0 フル レート resync_clk_2x C4 キャリブ レーショ ン済み フル レート グローバル 専用 リージョナル DQS ストローブ ( または同等信号 ) の前に DDR I/O (DDIO) ピンからデータをクロックするのに使用されます その結果 このクロックの位相は mem_clk_2x の位相よりも 90 進みます このクロックは メモリ クロック生成に専用出力ピンを使用する場合にのみ使用されます Hardcopy II のみに または Hardcopy II のデザイン用の Stratix II のプロトタイプのみに 適用可能です キャプチャ レジスタの後で再同期レジスタをクロックします このクロックの位相は DQS でクロックされるすべての DDIO グループにおいて データ有効ウィンドウの中央に調整されます Altera Corporation
72 5 12 デザイン レート ハーフ レートおよびフル レート ハーフ レートおよびフル レート 表 5 1 の注 : クロック名 ポストスケール カウンタ 位相 ( 度 ) measure_clk_2x C5 キャリブ レーショ ン済み ac_clk_2x クロック レート フル レート フル レート クロック ネットワーク タイプ リージョナル (2) グローバル このクロックは VT のトラッキングに使用されます このフリー ランニング クロックは 内部クロックと模擬パスを通じてフィードバックされるクロック間の相対位相シフトを測定するのに使用されます この結果 ALTMEMPHY メガファンクションは FPGA への VT 変動を追跡して補正することができます ac_clk_2x クロックは mem_clk_2x(0 または 180 の位相シフトを選択する場合 ) または write_clk_2x(90 または 270 の位相シフトを選択する場合 ) から派生します mem_clk_2x または write_clk_2x 信号とアドレスおよびコマンド クロックの図の関係について 5 7 ページの アドレスおよびコマンド データパス を参照してください (1) フル レート デザインでは _1x クロックはフル レート クロックで動作することがあります (2) このクロックは resync_clk_2x クロックと同じクロック ネットワーク クロックでなければなりません 説明 フル レート クロックおよびリセット管理については 表 5 4 を参照してください PLL はハーフ レート デザインとまったく同じようにコンフィギュレーションされます また ハーフ レート デザインからの PLL 情報および制約にも適用されます 1 phy_clk_1x は 1x と表記されていますがフル レートです Altera Corporation
73 5 13 最小ジッタを確実にするために メモリ インタフェースの同じサイドに配置されている PLL および PLL 入力クロック ピンを選択する必要があります ジッタをカスケード PLL の使用がメモリ クロック出力はメモリ デバイス ジッタ仕様に違反するため 累積できるので DDR/DDR2 SDRAM インタフェース用にカスケード PLL が推奨されていません また PLL ロックの前に 入力クロックが安定することを確認します そうしないと すべての PLL 出力間の位相関係は正しく設定されているのを確認するために マニュアル PLL リセットを実行して PLL を再ロックする必要があります ハーフ レート デザインでの PLL 制約はフル レート デザインに適用されます 表 5 2 に Arria II GX デバイスを使用するクロック出力を示します デザイン レートクロック名 (1) ハーフ phy_clk_1x レートおよび aux_half_rate_ clk mem_clk_2x および aux_full_ rate_clk ポストスケール カウンタ 位相 ( 度 ) クロック レート C0 0 ハーフ レート C1 0 フル レート クロック ネットワーク タイプ グローバル グローバル 説明 ALTMEMPHY メガファンクションに対する唯一のクロック パラメータ化 これらのクロックは 100 MHz 以下でなければならない ( リコンフィギュレーション用 )PLL の scan_clk 信号に提供するために 除算回路にフィードします クロック DQS およびメモリ デバイスの基準クロックとして使用されます Altera Corporation
74 5 14 デザイン レートクロック名 (1) フル レート aux_half_rate_ clk phy_clk_1x (1) および mem_clk_2x ポストスケール カウンタ 位相 ( 度 ) クロック レート C0 0 ハーフ レート C1 0 フル レート クロック ネットワーク タイプ グローバル グローバル 説明 ALTMEMPHY メガファンクションに対する唯一のクロック パラメータ化 これらのクロックは 100 MHz 以下でなければならない ( リコンフィギュレーション用 )PLL の scan_clk 信号に提供するために 除算回路にフィードします クロック DQS およびメモリ デバイスの基準クロックとして使用されます および ハーフ レートおよびフル レート ハーフ レートおよびフル レート aux_full_ rate_clk 未使用 C2 write_clk_2x C3 90 フル レート グローバル DQS ストローブ ( または同等信号 ) の前に DDR I/O (DDIO) ピンからデータをクロックするのに使用されます その結果 このクロックの位相は mem_clk_2x の位相よりも 90 進みます Altera Corporation
75 5 15 デザイン レートクロック名 (1) ハーフ レートおよびフル レート ハーフ レートおよびフル レート ハーフ レートおよびフル レート ポストスケール カウンタ 位相 ( 度 ) ac_clk_2x C3 90 フル レート cs_n_clk_2x C3 90 フル レート resync_clk_2x C4 キャリブ レーショ ン済み クロック レート フル レート クロック ネットワーク タイプ グローバル グローバル グローバル 説明 アドレスおよびコマンド クロック ac_clk_2x クロックは mem_clk_2x(0 または 180 の位相シフトを選択する場合 ) または write_clk_2x (90 または 270 の位相シフトを選択する場合 ) から派生します mem_clk_2x または write_clk_2x 信号とアドレスおよびコマンド クロックの図の関係について 5 7 ページの アドレスおよびコマンド データパス を参照してください メモリ チップ セレクト クロック cs_n_clk_2x クロックは ac_clk_2x から派生します キャプチャ レジスタの後で再同期レジスタをクロックします このクロックの位相は DQS でクロックされるすべての DDIO グループにおいて データ有効ウィンドウの中央に調整されます Altera Corporation
76 5 16 デザイン レートクロック名 (1) ハーフ レートおよびフル レート 表 5 2 の注 : ALTMEMPHY MegaWizard インタフェースは 生成された ALTPLL メガファンクション インスタンスに一致する Stratix II および Stratix II GX デバイスの ALTPLL_RECONFIG バリエーションをインスタンス化することによって PLL リコンフィギュレーション ブロックを自動的に生成します ALTPLL_RECONFIG は 再同期化クロック位相および測定クロック位相を変更するのに使用されます 1 このデバイスは PLL で専用位相ステップ I/O を使用するため ALTMEMPHY MegaWizard インタフェースは Arria II GX デバイスの ALTPLL_RECONFIG メガファンクションをインスタンス化しません f ポストスケール カウンタ 位相 ( 度 ) measure_clk_2x C5 キャリブ レーショ ン済み クロック レート フル レート DLL インスタンスは生成された ALTMEMPHY バリエーションに含まれています DQS を使用して DQ リード データをキャプチャするときは DLL により DQS ストローブが DQ データの中央に揃えられます DLL 設定はインタフェース クロック周波数によって異なります 詳細については ターゲット デバイス ファミリのデバイス ハンドブックの External Memory Interfaces の章を参照してください リセット管理ブロックは 以下を実行します ALTMEMPHY メガファンクションのデータパスおよび機能モジュールに 適切なタイミングでリセットを供給 各種クロック ドメインに必要なリセット シーケンスを実行 PLL および PLL リコンフィギュレーション機能のリセット管理を実行 回路固有のリセット シーケンスの管理 クロック ネットワーク タイプ グローバル (1) フル レート デザインでは _1x クロックはフル レート クロック レートで動作することがあります 説明 このクロックは VT のトラッキングに使用されます このフリー ランニング クロックは 内部クロックと模擬パスを通じてフィードバックされるクロック間の相対位相シフトを測定するのに使用されます この結果 ALTMEMPHY メガファンクションは FPGA への VT 変動を追跡して補正することができます Altera Corporation
77 5 17 各リセットは 適切なクロック ドメインの非同期アサートおよび同期ディアサートです リセット管理デザインは 標準的な 2 つのレジスタ シンクロナイザを使用してメタステーブル状態を回避します phy_clk ドメイン リセットのメタステーブルを保護するためのフリップ フロップは soft_reset 入力からファンインされたため これらのレジスタは使用不可能になるので クロック分周器回路用の特別なメタステーブルを保護するための回路が必要です 図 5 5 に Arria GX Arria II GX HardCopy II Stratix II および Stratix II GX デバイスの ALTMEMPHY リセット管理ブロックを示します pll_ref_clk 信号は PLL に直接移動して グローバル クロック ネットワーク配線が不要になります pll_ref_clk 信号を使用してデザインの他の部分に供給される場合 信号のグローバル クロック ネットワークを使用する必要があります pll_reconfig_soft_reset_en 信号が Low に保持されているとき PLL リコンフィギュレーションはソフト リセット中にリセットされません これにより PLL リコンフィギュレーション ブロックへのアクセスしながら HardCopy II デバイスをターゲットとするデザインがリセット状態のある PHY を保持できます しかし Arria GX Arria II GX または Stratix II デバイスをターゲットとするデザインは PLL リコンフィギュレーション ソフト リセットをイネーブルするように pll_reconfig_soft_en シェルを VCC に接続することが予想されます Altera Corporation
78 Altera Corporation Another system clock 図 5 5 の注 : clk_div_reset_ams_n Optional reset_request_n edge detect and reset counter D SET Q CLR Q pll_ref_clk clk clk_div_reset_ams_n_r divider circuit D SET Q clk_divider_reset_n reset_n scan_clk CLR Q global_reset_n pll_reconfig_soft_reset_en soft_reset_n refclk PLL pll_reset areset (active HIGH) (1) Arria II GX および Cyclone III デバイスのリセット回路で PLL リコンフィギュレーション ブロックがありません phy_clk pll_reconfig_reset_n pll_reconfig_reset_ams_n D SET Q クロック管理回路は ALTPLL メガファンクションを使用して実装されます CLR Q D SET Q CLR Q pll_reconfig_reset_ams_n_r PLL reconfig ALTPLL メガファンクションは ALTMEMPHY メガファンクション内でインスタンス化され ALTMEMPHY メガファンクションおよびメモリ コントローラで使用されるすべてのクロックを生成します PHY の最小要件は 最高周波数クロックに 48 の位相があることです PLL は他のデバイス ファミリと異なり Normal モードを使用します With no compensation オプションに PLL を設定する必要がないように ノーマル モードの Cyclone III PLL が既に低ジッタを発行します PLL 補償モードを変更すると 不正確なタイミング結果が発生する可能性があります reset scan_clk locked c0 global_or_soft_reset_n pll_locked reset_master_ams D SET Q CLR Q phy_internal_reset_n global_pre_clear D SET Q CLR Q Reset pipes reset_request_n phy_clk_out PHY resets 5 18
79 5 19 最小ジッタを確実にするために メモリ インタフェースの同じサイドに配置されている PLL および PLL 入力クロック ピンを選択する必要があります ジッタが累積できるため カスケード PLL が推奨されなく メモリ出力クロックがメモリ デバイス ジッタ仕様に違反する可能性があります また PLL ロックの前に 入力クロックが安定することを確認します そうしないと すべての PLL 出力間の位相関係は正しく設定されているのを確認するには マニュアル PLL リセットを実行して PLL を再ロックする必要があります 表 5 3 に ALTPLL メガファンクションで生成されるクロックを示します デザイン レート クロック名 ポストスケール カウンタ 位相 ( 度 ) クロック レート クロック ネットワーク タイプ 説明 ハーフ レート phy_clk_1x および aux_half_rate_ clk mem_clk_2x および aux_full_ rate_clk C0 0 ハーフ レート C1 0 フル レート グローバル グローバル ALTMEMPHY メガファンクションに対してコントローラで使用される唯一のハーフ レート クロック パラメータ化 このクロックはフル レート コントローラに使用されません また このクロックはリコンフィギュレーションの PLL scan_clk 信号を提供するように ディバイダ回路に供給されます DQS 信号およびメモリ クロックを生成し およびフル レート モードの PHY をクロックするのに使用されます Altera Corporation
80 5 20 デザイン レート クロック名 ポストスケール カウンタ 位相 ( 度 ) クロック レート クロック ネットワーク タイプ 説明 フル レート aux_half_rate_ clk C0 0 ハーフ レート グローバル ALTMEMPHY メガファンクションに対してコントローラで使用される唯一のハーフ レート クロック パラメータ化 このクロックはフル レート コントローラに使用されません また このクロックはリコンフィギュレーション用 PLL scan_clk 信号を提供するように ディバイダ回路に供給されます phy_clk_1x および mem_clk_2x C1 0 フル レート グローバル DQS 信号およびメモリ クロックを生成し およびフル レート モードの PHY をクロックするのに使用されます および ハーフ レートおよびフル レートハーフ レートおよびフル レート aux_full_ rate_clk write_clk_2x C2-90 フル レート resynch_clk_2x C3 キャリブ レーショ ン済み フル レート グローバル グローバル メモリへの書き込みを実行するとき データ (DQ) をクロックします キャプチャしたリード データのキャプチャおよび再同期化に使用されるフル レート クロックです キャプチャおよび再同期化クロックには コントロール シーケンサ ブロックにより PLL リコンフィギュレーション ロジックを通じて制御される可変位相があります Altera Corporation
81 5 21 デザイン レート クロック名 ポストスケール カウンタ 位相 ( 度 ) クロック レート クロック ネットワーク タイプ 説明 ハーフ レートおよびフル レート measure_clk_2x C4 キャリブ レーショ ン済み フル レート グローバル このクロックは VT のトラッキングに使用されます このフリー ランニング クロックは 内部クロックと模擬パスを通じてフィードバックされるクロック間の相対位相シフトを測定するのに使用されます この結果 FPGA への VT 効果を追跡して補正することができます ハーフ レートおよびフル レート ac_clk_2x フル レート グローバル このクロックは mem_clk_2x(0 または 180 の位相シフトを選択する場合 ) または write_clk_2x(90 または 270 の位相シフトを選択する場合 ) から派生します (5 7 ページの アドレスおよびコマンド データパス を参照 ) Cyclone III デバイスのリセット管理は Stratix II デバイスの場合と同じ方法でインスタンス化されます クロッキングおよびリセット ブロックは クロック生成 リセット管理 およびクロックの位相シフトに使用されます また クロックの配線に使用されるクロック ネットワーク タイプの制御を実行します キャリブレーション中の最適な位相を判断し 電圧および温度変動を追跡する ALTMEMPHY メガファンクションの能力は クロックが互いを基準にする位相シフトに依存します 1 いくつかのクロックは ALTMEMPHY メガファンクションの動作中に位相シフトする必要があります クロック管理回路は 以下を使用して実装されます PLL DLL ALTMEMPHY MegaWizard インタフェースは ALTPLL メガファンクション インスタンスを自動的に生成します ALTPLL メガファンクションは ALTMEMPHY メガファンクション内で使用される各種クロック周波数および関連する位相を生成します Altera Corporation
82 5 22 f デバイス ファミリはさまざまな PLL 機能を備えています PHY の最小要件は 最高周波数クロックに 16 の位相があることです PLL は With No Compensation 動作モードを使用してジッタを低減します PLL 補償モードを変更すると 不正確なタイミング結果が発生する可能性があります 最小ジッタを確実にするために メモリ インタフェースの同じサイドに配置されている PLL および PLL 入力クロック ピンを選択する必要があります ジッタが累積できるため カスケード PLL が推奨されなく メモリ出力クロックがメモリ デバイス ジッタ仕様に違反する可能性があります また PLL ロックの前に 入力クロックが安定することを確認します そうしないと すべての PLL 出力間の位相関係は正しく設定されているのを確認するには マニュアル PLL リセットを実行し (global_reset_n 信号を Low にドライブすることにより ) そして PLL を再ロックする必要があります. VCO 周波数範囲および使用可能な位相シフトについて詳しくは Stratix III デバイス ハンドブック Volume 1 の Clock Networks and PLLs in Stratix III Devices の章または Stratix IV デバイス ハンドブック Volume 1 の Clock Networks and PLLs in Stratix IV Devices の章を参照してください Stratix IV および Stratix III デバイスの場合 PLL リコンフィギュレーション メガファンクションを使用する代わりに PLL のリコンフィギュレーションは PLL の位相シフト入力を使用して行われます 表 5 4 に Stratix IV および Stratix III の PLL クロック出力を示します デザイン レートクロック名 (1) ポストスケール カウンタ 位相 ( 度 ) クロック レート クロック ネットワーク タイプ 説明 ハーフ レート phy_clk_1x および aux_half_ rate_clk aux_full_ rate_clk C0 30 ハーフ レート C2 60 フル レート グローバル グローバル ALTMEMPHY メガファンクションに対する唯一のクロック パラメータ化 書き込みデータおよび DQS に対する適切なハーフ レートからフル レートへの転送を実行するために 30 に設定されます また このクロックはリコンフィギュレーションの PLL scan_clk 信号を提供するように ディバイダ回路に供給されます aux_clkです 60 オフセットは phy_clk_1x にあるオフセットでエッジ アラインメントを維持します Altera Corporation
83 5 23 デザイン レートクロック名 (1) フル レート ハーフ レートおよびフル レート ハーフ レートおよびフル レート aux_half_ rate_clk phy_clk_1x および aux_full_ rate_clk C0 0 ハーフ レート C2 0 フル レート mem_clk_2x C1 0 フル レート write_clk_ 2x ポストスケール カウンタ 位相 ( 度 ) クロック レート C3 90 フル レート クロック ネットワーク タイプ グローバル グローバル スペシャル デュアル リージョナル 説明 aux_clk です ALTMEMPHY メガファンクションに対する唯一のクロック パラメータ化 また このクロックはリコンフィギュレーションの PLL scan_clk 信号を提供するように ディバイダ回路に供給されます DLL に基準クロックを供給する mem_clk を生成します 以下に示す HDL を使用して mem_clk のためのリージョナル配線リソースで選択する専用配線リソースは PLL から DLL に存在します (-name global_signal dual_regional _clock; -to dll~dffin -name global_signal off) 外部 DLL を使用するときは 同様にこの属性を外部 DLL に適用します DQS ストローブ ( または同等信号 ) の前にダブル データ レート入力 / 出力 (DDIO) ピンからデータをクロックします その結果 このクロックの位相は mem_clk_2x の位相よりも 90 進みます Altera Corporation
84 5 24 デザイン レートクロック名 (1) ハーフ レートおよびフル レート ハーフ レートおよびフル レート ハーフ レートおよびフル レート 表 5 4 の注 : resync_clk_ 2x measure_clk _1x (2) ポストスケール カウンタ C4 C5 位相 ( 度 ) キャリブレーション済み キャリブレーション済み クロック レート フル レート ハーフ レート ac_clk_1x C6 GUI で設定 ハーフ レート クロック ネットワーク タイプ デュアル リージョナル デュアル リージョナル デュアル リージョナル このクロックはキャプチャ レジスタ後に I/O クロック ディバイダに供給されて 再同期レジスタをクロックします このクロックの位相は キャリブレーション プロセスで調整されます ポストアンブル クロックに対して このクロックの反転バージョンを使用できます このクロックは VT のトラッキングに使用されます このフリー ランニング クロックは 内部クロックと模擬パスを通じてフィードバックされるクロック間の相対位相シフトを測定するのに使用されます この結果 ALTMEMPHY メガファンクションは FPGA への VT 変動を追跡して補正することができます アドレスおよびコマンド クロック (1) フル レート デザインでは _1x クロックはフル レート クロック レートで動作することがあります (2) このクロックは resync_clk_2x クロックと同じクロック ネットワーク クロックでなければなりません 説明 フル レート デザイン用クロックおよびリセット管理は ハーフ レート サポートに似ています (5 22 ページの表 5 4 を参照 ) PLL はハーフ レート サポートとまったく同じようにコンフィギュレーションされます mem_clk_2x 出力は PHY フル レート クロックとして動作します また I/O クロック ディバイダを通過す代わりに resync_clk_2x 出力は再同期レジスタに直接接続されます PLL の残りの部分はハーフ レート サポートとまったく同じように接続されます Altera Corporation
85 5 25 最小ジッタを確実にするために メモリ インタフェースの同じサイドに配置されている PLL および PLL 入力クロック ピンを選択する必要があります ジッタが累積できるため カスケード PLL が推奨されなく メモリ出力クロックがメモリ デバイス ジッタ仕様に違反する可能性があります また PLL ロックの前に 入力クロックが安定することを確認します そうしないと すべての PLL 出力間の位相関係は正しく設定されているのを確認するには マニュアル PLL リセットを実行し (global_reset_n 信号を Low にドライブすることにより ) そして PLL を再ロックする必要があります ハーフ レート デザインでの PLL 制約はフル レート デザインにも適用されます DLL 設定は動作のメモリ クロック周波数に応じて設定されます f DLL について詳しくは Stratix III デバイス ハンドブック Volume 1 の External Memory Interfaces in Stratix III Devices の章または Stratix IV デバイス ハンドブック Volume 1 の External Memory Interfaces in Stratix IV Devices の章を参照してください 図 5 6 に DDR3 SDRAM PHY のリセット管理ブロックの主な機能を示します pll_ref_clk 入力を使用してオプションのreset_request_nエッジ検出に供給して カウンタ モジュールをリセットします しかし pll_ref_clk 信号はグローバル クロック ネットワーク リソースを使用する必要があります phy_clk ドメイン リセット準安定性保護レジスタには soft_reset_n 入力からのファンインが これらのレジスタは使用できないようにあるので クロック ディバイダ回路用に固有のリセット準安定性保護回路があります clk_div_reset_ams_n D SET Q CLR Q phy_clk clk clk_div_reset_ams_n_r divider circuit D SET Q clk_divider_reset_n reset_n scan_clk CLR Q pll_reconfig_reset_ams_n D SET Q CLR Q D SET Q CLR Q PLL pll_reconfig_reset_ams_n_r pll_locked pll_reconfig_reset_n locked reset_request_n reset_request_n pll_ref_clk global_reset_n refclk PLL pll_reset areset ( HIGH) c0 reset_master_ams D SET Q CLR Q global_pre_clear D SET Q CLR Q phy_clk_out soft_reset_n global_or_soft_reset_n phy_internal_reset_n Reset Pipes PHY resets Altera Corporation
86 5 26 このトピックでは リード データパスについて説明します 以下の項では Arria GX Arria II GX HardCopy II Stratix II および Stratix II GX デバイスの DDR/DDR2 SDRAM のサポートについて説明します フル レート データパスは ハーフ レート データパスに類似しています また フル レート データパスはデータ入力と同じ幅 ( ハーフ レートの幅と同じ ) を持つ RAM で構成されていますが RAM のデータ出力の幅はハーフ レート PHY のデータ出力幅の半分です RAM の機能は 再同期化クロック ドメインからシステム クロック ドメインにリード データを転送することです リード データパス ロジックは メモリ デバイスから送られたデータをキャプチャし データをアラインメントしてシステム クロック ドメインに戻します リード データパスでは以下の機能が実行されます 1. データのキャプチャと再同期化 2. データの逆多重化 3. データ アラインメント 図 5 7 に リード データパスで実行される機能の順序とリード データ処理時の周波数を示します DDR SDR SDR/HDR IOE DQS DQ[n] D Q D Q rdata_2x_p[n] D Q wr_data[2n] rd_data[4n] rdata_1x[4n] wr_clk rd_clk rdata_2x_n[n] D Q D Q FIFO resync_clk_2x phy_clk_1x 図 5 7 の注 : (1) Arria II GX デバイスでは 再同期レジスは IOE に実装されます データのキャプチャおよび再同期化は DQS ストローブでリード データ (DQ) をキャプチャし キャプチャしたデータを enhanced PLL(Phase-Locked Loop) から供給される内部フリーランニング フル レート クロックに再同期化するプロセスです 再同期化クロックとは 位相シフトがキャリブレーションの段階で決まる中間クロックのことです Altera Corporation
87 5 27 タイミング制約は データ再同期化レジスタを DQ ピンの近くに配置して 最大性能を達成するのに使用されます また DQ ピンのスキューをさらに制限するためにも使用されます 図 5 7 に示すように キャプチャしたデータ (rdata2x_p および rdata_2x_n) は 再同期化クロック (resync_clk_2x) に同期化されます データの逆多重化とは SDR データを HDR データに変換するプロセスのことです データの逆多重化は 再同期化されたデータの周波数をシステム クロックの周波数に低減し 外部メモリ デバイスからのデータを最終的に FPGA DDR または DDR2 SDRAM コントローラ クロック ドメインに入力するために必要となります データ キャプチャ前 データは DDR で n ビット幅です データ キャプチャ後 データは SDR で 2n ビット幅です データ分離後 データは 4n ビット幅の HDR です システム クロック周波数は メモリ クロック周波数の半分です 逆多重化は 再同期化クロック (SDR) で動作する 2n ビット幅のライト ポートおよび PHY クロック (HDR) で動作する 4n ビット幅のリード ポートを持つデュアル ポート メモリを使用して達成されます 動作の基本原理は データは SDR レートでメモリに書き込まれ メモリからは HDR レートで読み出され そのときリード アドレス ポインタおよびライト アドレス ポインタがインクリメントされるというものです SDR および HDR クロックが生成されると 同じ PLL によってリード ポインタとライト ポインタが継続的にインクリメントされ 4n ビット幅のリード データが 一定のレイテンシを持つ 2n ビットの幅のライト データに続きます データ アラインメントとは キャプチャした正しいリード データが同じハーフ レート クロック サイクルでリード データ DPRAM の出力に存在することを保証するための シーケンサで制御されるプロセスです データ アラインメントは M4K または M12K メモリ ブロックを使用して実装されます 図 5 8 の最後の部分に リード データを有効な HDR データに連結する様子を示します ALTMEMPHY メガファンクションは DQS ポストアンブル ロジックを提供します ポストアンブル クロックは 再同期化クロックから派生する 再同期化クロックの負エッジです ALTMEMPHY メガファンクションは 再同期化クロックがデータ有効ウィンドウの中央にくるようにキャリブレーションします ポストアンブル ロジックの制御に使用されるクロック すなわちポストアンブル クロックが再同期化クロックの負エッジです 追加クロックは必要ありません 図 5 8 に ポストアンブル クロックと再同期化クロックの関係を示します Altera Corporation
88 5 28 resync_clk_2x postamble_clk dqs (90 shifted) dq H1 H2 L2 L1 Data input to resync reg's H1L1 H2L2 ARST at postamble reg's 図 5 8 の注 : (1) resync_clk_2x をさらに遅延させて I/O エレメント (IOE) からコアの遷移時間を許容 f ポスト アンブル回路について詳しくは Stratix II デバイス ハンドブック の External Memory Interfaces の章を参照してください 図 5 9 に シングル DQ ピンの Cyclone III リード データパスを示します この図は 各 DQ ピンに対して 4 つのデータ ビットが生成されるハーフ レート リード パスを示しています Stratix II や Stratix III デバイスとは異なり I/O エレメント (IOE) には DDIO キャプチャ レジスタがない ( 非 DQS キャプチャ ) ため データ キャプチャはすべてコア ロジックで実行されます DQ D Q D Q wr_data rd_data 4 read_data FIFO phy_clk D Q D Q D Q resync_clk_2x Altera Corporation
89 5 29 Cyclone III デバイスのフル レート リード データパスは データがハーフ レート クロックではなくフル レート クロックで FIFO バッファから読み出される点を除いて ハーフ レート Cyclone III の実装に類似しています DDR および DDR2 SDRAM のリード データは Cyclone III FPGA コアのレジスタを使用してキャプチャされます これらのキャプチャ レジスタは キャプチャ クロック (resynch_clk_2x) でクロックされます キャプチャしたリード データは DQ ピンごとに 2 つのデータ ビットを生成します 1 つはキャプチャ クロックの立ち上がりエッジでキャプチャしたリード データ用のデータ ビット もう 1 つはキャプチャ クロックの立ち下がりエッジでキャプチャしたリード データ用のデータ ビットです リード データをキャプチャした後 タイミングを満たすためにキャプチャ レジスタとリード データ FIFO バッファ間のリード データパスにレジスタを挿入する必要があります これらのレジスタはパイプライン レジスタと呼ばれ キャプチャ レジスタが使用するクロックと同じキャプチャ クロック (resync_clk_2x) でクロックされます Cyclone III デバイスのデータ逆多重化は Stratix II デバイスの場合と同じ方法でインスタンス化されます DQ データの DQS モード キャプチャはサポートされないため Cyclone III デバイスを実装するのにポストアンブル保護回路は必要ありません データ キャプチャは ALTPLL メガファンクションで生成されるクロック (resync_clk_2x) を使用して実行されます Stratix IV および Stratix III デバイスはハーフ レートまたはフル レート DDR/DDR2 SDRAM をサポートします Stratix IV および Stratix III のリード データパス ( 図 5 10) は 次の 2 つのメイン ブロックで構成されています データのキャプチャ 再同期化 および逆多重化 リード データパス ロジック ( リード データパス ) Altera Corporation
90 5 30 mem_dq mem_dqs mem_dqsn IOE dio_rdata3_1x dio_rdata2_1x dio_rdata1_1x dio_rdata0_1x resync_clk_1x Dual Port RAM 4n bits wr_data rd_data wr_clk rd_clk ram_rdata_1x[4n] Data Mapping Logic ctl_rdata phy_clk_1x 図 5 10 の注 : (1) この図は ハーフ レート バリエーションを示しています フル レート コントローラの場合 dio_radata2_1x および dio_rdata3_1x が接続されます Stratix IV および Stratix III デバイスでは IOE のスマート インタフェース モジュールは以下のタスクを実行します データのキャプチャ キャプチャしたデータの DQS ドメインから再同期化クロック (resync_clk_2x) ドメインへの再同期化 再同期化されたデータのハーフ レート データへの変換 これは 再同期化されたデータを 再同期化クロックのハーフ レートで駆動される IOE 内の HDR 変換ブロックに供給することによって実行されます resync_clk_1x 信号は PLL からの resync_clk_2x 信号に応じて I/O クロック ディバイダ モジュールから生成されます f IOE レジスタについて詳しくは Stratix III デバイス ハンドブック Volume 1 の External Memory Interfaces in Stratix III Devices の章および Stratix IV デバイス ハンドブック Volume 1 の External Memory Interfaces in Stratix IV Devices の章を参照してください リード データパス ブロックは 以下の 2 つのタスクを実行します 1. DPRAM を使用して キャプチャしたリード データ (rdata[n]_1x) をハーフ レート再同期化クロック (resync_clk_1x) ドメインからハーフ レート システム クロック (phy_clk_1x) ドメインに転送します FIFO からの再同期化されたデータは ram_data_1x と表記されます 2. 再同期化されたデータ (ram_rdata_1x) を ctl_mem_rdata にリオーダします Altera Corporation
91 5 31 ハーフ レート デザインのようにハーフ レート PHY クロック ドメインに変換する代わりに フル レート データパスは 再同期化 FIFO バッファがフル レート再同期化クロック ドメイン (resync_clk_2x) からフル レート PHY クロック ドメインに変換する点を除いて ハーフ レート データパスに類似しています 専用のポストアンブル レジスタはリード動作の終了時に DQ 入力レジスタをクロックするシフトされた DQS 信号のゲーティングを制御します これによって リード ポストアンブル時間の終了時に DQS 入力信号上にあるグリッチでポストアンブル グリッチが発生して 不正なデータがキャプチャされないようにしています また ポストアンブル パスは正しいクロック サイクル クロック位相シフト および遅延チェイン設定を決定するのにキャリブレーションされます MegaWizard Plug-In Manager におけるフル キャリブレーション ( 長いシミュレーション時間 ) を選択すると シミュレーションのプロセスを表示することができます f ポストアンブル保護回路について詳しくは Stratix III デバイス ハンドブック Volume 1 の External Memory Interfaces in Stratix III Devices の章および Stratix IV デバイス ハンドブック Volume 1 の External Memory Interfaces in Stratix IV Devices の章を参照してください このトピックは ライト データパスについて説明します ライト データパス ロジックは HDR メモリ コントローラから DDR SDRAM ベースのメモリにデータを効率的に転送します ライト データパス ロジックは 以下で構成されています DQ および DQ 出力イネーブル ロジック DQS および DQS 出力イネーブル ロジック データ マスク (DM) ロジック メモリ コントローラ インタフェースは 4n ビット幅のデータ (ctl_wdata[4n]) をハーフ レート周波数で出力します 図 5 11 は HDR ライト データ (ctl_wdata[4n]) がハーフ レート クロック phy_clk_1x でクロックされ wdp_wdata_h および wdp_wdata_l で表される SDR に変換されて フル レート クロック write_clk_2x によってクロックされることを示しています DQ IOE は 2n SDR ビットを n DDR ビットに変換します Altera Corporation
92 5 32 Stratix II IOE OE Q D wdp_wdata_h ctl_wdata[4n] DQ[n] phy_clk_1x (ctl_clk) Q D wdp_wdata_l write_clk_2x write_clk_2x フル レート PHY のライト データパスは ハーフ レート PHY に類似しています IOE ブロックはハーフ レート PHY と同じです フル レート PHY は ハーフ レートからフル レートへの変換ロジックがないため フル レート PHY のライト データパスのレイテンシはハーフ レート PHY より小さくなります メモリ コントローラ インタフェースは 4n ビット幅のデータ (ctl_wdata) を phy_clk_1x 周波数で出力します ライト データは ハーフ データ レート (HDR) のシステム クロック phy_clk_1x でクロックされ 図 5 12 において wdp_wdata3_1x wdp_wdata2_1x wdp_wdata1_1x および wdp_wdata0_1x で表記される 4n ビット幅の HDR にリオーダされます HDR DDR mem_dq Stratix III IOE wdp_wdata3_1x wdp_wdata2_1x wdp_wdata1_1x wdp_wdata0_1x ctl_wdata[4n] phy_clk_1x write_clk_2x phy_clk_1x Stratix IV および Stratix III デバイスのすべてのライト データパス レジスタはハーフ レート クロック phy_clk_1x でクロックされます Altera Corporation
93 フル レート コントローの場合 phy_clk_1x はフル レートで動作し かつ 2 ビットの wdata しかありません フル レート PHY のライト データパスは ハーフ レート PHY に類似しています IOE ブロックはハーフ レート PHY と同じです フル レート PHY は ハーフ レートからフル レートへの変換ロジックがないため フル レート PHY のライト データパスのレイテンシはハーフ レート PHY より小さくなります f Stratix III の I/O 構造について詳しくは Stratix III デバイス ハンドブック Volume 1 の External Memory Interfaces in Stratix III Devices の章および Stratix IV デバイス ハンドブック Volume 1 の External Memory Interfaces in Stratix IV Devices の章を参照してください この項では AFI 種類の ALTMEMPHY メガファンクション ポートについて説明します 表 5 5 ~ 表 5 7 に 信号を示します 1 プリフィックス mem_ 付き信号はメモリ デバイスで PHY を接続します ;prefix ctl_ 付き信号はコントローラで PHY を接続します 信号リストは 以下の信号グループで構成されます SDRAM デバイスへの I/O インタフェース クロックおよびリセット 外部 DLL 信号 ユーザー モード キャリブレーション OCT コントロール ライト データ インタフェース リード データ インタフェース アドレスおよびコマンド インタフェース キャリブレーション コントロールおよびステータス インタフェース デバッグ インタフェース 信号名 タイプ 幅 (2) 説明 mem_addr 出力 MEM_IF_ROWADDR_WIDTH メモリ ロウおよびカラム アドレス バス mem_ba 出力 MEM_IF_BANKADDR_WIDTH メモリ バンク アドレス バス mem_cas_n 出力 1 メモリ カラム アドレス ストローブ mem_cke 出力 MEM_IF_CS_WIDTH メモリ クロック イネーブル mem_clk 双方向 MEM_IF_CLK_PAIR_COUNT メモリ クロック ポジティブ エッジ クロック (3) mem_clk_n 双方向 MEM_IF_CLK_PAIR_COUNT メモリ クロック ネガティブ エッジ ク ロック Altera Corporation
94 5 34 信号名タイプ幅 (2) 説明 mem_cs_n 出力 MEM_IF_CS_WIDTH メモリ チップ セレクト信号 mem_dm 出力 MEM_IF_DM_WIDTH メモリ DM バス ( オプション ) mem_dq 双方向 MEM_IF_DWIDTH メモリ双方向データ バス mem_dqs 双方向 MEM_IF_DWIDTH/ メモリ双方向データ ストローブ バス MEM_IF_DQ_PER_DQS mem_dqsn 双方向 MEM_IF_DWIDTH/ メモリ双方向データ ストローブ バス MEM_IF_DQ_PER_DQS mem_odt 出力 MEM_IF_CS_WIDTH メモリ On-Die Termination コントロール信号 mem_ras_n 出力 1 メモリ ロウ アドレス ストローブ mem_reset_n 出力 1 メモリ リセット信号 mem_we_n 出力 1 メモリ ライト イネーブル信号 表 5 5 の注 : (1) I/O パッドに接続されます (2) パラメータ説明は 表 5 8 を参照してください (3) 出力はメモリ デバイスに使用され 入力パスは VT トラッキング用に ALTMEMPHY メガファンクションにフィードバックさ れます 信号名タイプ幅 (1) 説明 クロックおよびリセット pll_ref_clk 入力 1 PHY PLL への基準クロック入力 global_reset_n 入力 1 PLL および PHY のすべてのロジックのアクティブ Low グローバル リセット レベル設定のリセット信号によりシステム全体が完全にリセットされます PLL は何らかの状態情報を維持する場合があります soft_reset_n 入力 1 SOPC Builder 用のエッジ検出リセットの入力または他のシステム ロジックに制御する信号です この信号をアサートすると PHY の完全リセットをしますが PHY に使用している PLL には影響がありません Altera Corporation
95 5 35 信号名 タイプ 幅 (1) 説明 reset_request_n 出力 1 PLL のロックされた出力に直接接続されて SOPC Builder などの自動化されたツールでオプションの使用向けであり またはいかなる他のシステムレベル信号による手動で AND されることができ 必要なエッジ検出ロジックと結合させて global_reset_n 入力にフィードバックされます PLL 出力がロックされていないことを示すリセット要求出力 任意のシステム レベル リセット コントローラへのリセット要求入力としてこれを使用します PLL がロックしている間 ( しかし ロックされません ) この信号は常に Low です したがって この信号を使用するどのリセット ロジックにも レベル検出ではなく 立ち下がりエッジでリセット要求を検出すべきです ctl_clk 出力 1 コントローラおよびシステム ロジックに供給されるハーフ レート クロック 非 AFI phy_clk と同じ信号です ctl_reset_n 出力 1 ctl_clk クロック ドメインのリセット出力 その他の信号 aux_half_rate_clk 出力 1 ハーフ レート デザインの場合 phy_clk ポートと同じであるデザインの他の部分で使用できる phy_clk_1x 信号のコピーです aux_full_rate_clk 出力 1 フル レート デザインの場合 デザインの他の部分で使用できる mem_clk_2x 信号のコピーです aux_scan_clk 出力 1 PLL 及び DLL のリコンフィギュレーション インタフェースと接続した任意のユーザー ロジックに低周波数スキャン クロックを提供します aux_scan_clk_reset_ n 出力 1 global_reset_n はアサートされるとき このリセット出力が非同期にアサート (Low にドライブされる ) されて かつ global_reset_n はディアサートされるとき aux_scan_clk に同期してディアサート (High にドライブされる ) されます aux_scan_clk でクロックされる任意の外部回路をリセットすることができます ライト データ インタフェース ctl_dqs_burst 入力 MEM_IF_DQS_WIDTH DWIDTH_RATIO / 2 アサートされると mem_dqs がドライブされます ctl_dqs_burst 信号は ctl_wdata_valid の前にアサートされ 正しいタイミングの mem_dqs 信号を生成するために 正確な期間ドライブされなければなりません Altera Corporation
96 5 36 信号名タイプ幅 (1) 説明 ctl_wdata_valid 入力 MEM_IF_DQS_WIDTH DWIDTH_RATIO / 2 ctl_wdata 入力 MEM_IF_DWIDTH DWIDTH_RATIO ctl_dm 入力 MEM_IF_DM_WIDTH DWIDTH_RATIO ライト データ有効 ctl_wdata および ctl_dm 出力イネーブルを生成するために使用されます mem_dq を生成するために コントローラから PHY へのデータ書き込み入力 コントローラから PHY への DM 入力 ctl_wlat 出力 5 ALTMEMPHY コントローラ ローカル インタフェースに発行される アドレス / コマンドとライト データ間に必要なライト レイテンシ この信号は ALTMEMPHY シーケンサがキャリブレーションを正常に完了するときにのみ有効であり そして 通常動作中にどの時点でも変更しません この信号の正当な値の範囲は 0 ~ 31 であり ; かつ 標準値は 0 ~ 10 です 0 は主に低 CAS レイテンシ DDR メモリ タイプの用です リード データ インタフェース ctl_doing_rd 入力 MEM_IF_DQS_WIDTH DWIDTH_RATIO / 2 読み出し実行中入力 DDR または DDR2 SDRAM コントローラが読み出し動作を実行中であることを示します コントローラが ALTMEMPHY メガファンクションに送られる信号 (ctl_doing_rd) を生成します ctl_doing_rd 信号は リード コマンドを発行するたびに1 phy_clk サイクル間アサートされます 2 つのリード コマンドがある場合 ctl_doing_rd は 2 phy_clk サイクルの間アサートされます ctl_doing_rd 信号は キャプチャ レジスタのイネーブルおよび ctl_mem_rdata_valid 信号の生成にも使用されます ctl_doing_rd 信号は リード コマンドが ALTMEMPHY メガファンクションに送られるのと同時に発行する必要があります ctl_rdata 出力 DWIDTH_RATIO PHY からコントローラへのリード データ MEM_IF_DWIDTH ctl_rdata_valid 出力 DWIDTH_RATIO/2 ctl_rdata のリード データが有効であることを示すリード データ有効 コントローラがハーフ サイクルまたはハーフ レート サイクルのいずれかに揃えられるリードおよびライトを発行することができるために この信号は 2 ビット幅です ( ハーフ レートまたは DWIDTH_RATIO = 4 がサポートされる場合にのみ ) Altera Corporation
97 5 37 信号名 タイプ 幅 (1) 説明 ctl_rlat 出力 READ_LAT_WIDTH ctl_doing_rd のアサーションと有効なリード データの戻り (ctl_rdata) 間のクロック サイクル数を備えています これは ctl_rlat が使用しないアルテラの高性能コントローラによる未使用です アドレスおよびコマンド インタフェース ctl_addr 入力 MEM_IF_ROWADDR_WI DTH DWIDTH_RATIO / 2 ctl_ba 入力 MEM_IF_BANKADDR_W IDTH DWIDTH_RATIO / 2 ctl_cke 入力 MEM_IF_CS_WIDTH DWIDTH_RATIO / 2 ctl_cs_n 入力 MEM_IF_CS_WIDTH DWIDTH_RATIO / 2 ctl_odt 入力 MEM_IF_CS_WIDTH DWIDTH_RATIO / 2 コントローラからのロウ アドレス コントローラからのバンク アドレス コントローラからのクロック イネーブル コントローラからのチップ セレクト コントローラからの On-Die-Termination コントロール ctl_ras_n 入力 DWIDTH_RATIO / 2 コントローラからのロウ アドレス ストローブ信号 ctl_we_n 入力 DWIDTH_RATIO / 2 ライト イネーブル ctl_cas_n 入力 DWIDTH_RATIO / 2 コントローラからのカラム アドレス ストローブ信号 ctl_rst_n 入力 DWIDTH_RATIO / 2 コントローラからのリセット キャリブレーション コントロールおよびステータス インタフェース ctl_mem_clk_disable 入力 MEM_IF_CLK_PAIR_ COUNT アサートされると mem_clk および mem_clk_n がディセーブルされます Cyclone III デバイスに対してサポートされません ctl_cal_success 出力 1 1 はキャリブレーションが成功したことを示します ctl_cal_fail 出力 1 1 はキャリブレーションが失敗したことを示します ctl_cal_req 入力 1 アサートされると 新しいキャリブレーション シーケンスが開始します 現在サポートされていません ctl_cal_byte_lane_ sel_n 表 5 6 の注 : 入力 MEM_IF_DQS_WIDTH MEM_CS_WIDTH (1) パラメータの説明は 表 5 8 を参照してください どの DQS グループをキャリブレーションするかを示します サポートされていません Altera Corporation
98 5 38 信号名信号名幅説明 外部 DLL 信号 dqs_delay_ctrl_ex port dqs_delay_ctrl_im port dqs_offset_delay_ ctrl_ width dll_reference_ clk 出力 入力 入力 DQS_DEL AY_CTL_ WIDTH DQS_DEL AY_CTL_ WIDTH DQS_DEL AY_CTL_ WIDTH この ALTMEMPHY インスタンスの DLL を別の ALTMEMPHY インスタンスと共有できるようにします DLL を備えた ALTMEMPHY インスタンスの dqs_delay_ctrl_export ポートを他の ALTMEMPHY インスタンスの dqs_delay_ctrl_import ポートに接続します この ALTMEMPHY インスタンスで別の ALTMEMPHY インスタンスの DLL を使用できるようにします DLL を備えた ALTMEMPHY インスタンスの dqs_delay_ctrl_export ポートを他の ALTMEMPHY インスタンスの dqs_delay_ctrl_import ポートに接続します dll_import_export は IMPORT に設定されるとき DQS 遅延ロジックに接続します DLL オフセットを使用しているとき単に接続され そうしないと 0 に接続できます DLL オフセットを使用している場合 この入力を dll_offset_ctrl ブロックの offset_ctrl_out 出力に接続されます 出力 1 外部でインスタンス化された DLL に供給される基準クロッ ク このクロックは通常 1つの PHY PLL 出力からです ユーザー モード キャリブレーション OCT コントロール信号 oct_ctl_rs_value 入力 14 ユーザー モード キャリブレーション付き OCT を使用する場合 ALT_OCT メガファンクションと共に使用するための OCT RS 値ポート oct_ctl_rt_value 入力 14 ユーザー モード キャリブレーション付き OCT を使用する場合 ALT_OCT メガファンクションと共に使用するための OCT RT 値ポート デバッグ インタフェース信号 ( 注 1), ( 注 2) dbg_clk 入力 1 デバッグ インタフェース クロック dbg_reset_n 入力 1 デバッグ インタフェース リセット dbg_addr 入力 DBG_A_W アドレス 入力 IDTH dgb_wr 入力 1 ライト要求 dbg_rd 入力 1 リード要求 dbg_cs 入力 1 チップ セレクト dbg_wr_data 入力 32 デバッグ インタフェース ライト データ dbg_rd_data 出力 32 デバッグ インタフェース リード データ dbg_waitrequest 出力 1 ウェイト信号 PLL リコンフィギュレーション信号 Stratix III および Stratix IV デバイス pll_reconfig_enab le 入力 1 この信号は PLL リコンフィギュレーション I/O をイネーブルし また ユーザーは一部のカスタム PLL フェーズ リコンフィギュレーションが必要な場合で使用されます そうでない場合 Low に接続されます Altera Corporation
99 5 39 信号名信号名幅説明 pll_phasecounters elect 入力 4 pll_reconfig_enable がアサートされると この入力は PLL の phasecounterselect 入力に直接接続します そう でない場合 この入力で影響はありません pll_phaseupdown 入力 1 pll_reconfig_enable がアサートされると この入力は PLL の phaseupdown 入力に直接接続します そうでない場合 この入力で影響はありません pll_phasestep 入力 1 pll_reconfig_enable がアサートされると この入力は PLL の phasestep 入力に直接接続します そうでない場合 この入力で影響はありません pll_phase_done 出力 1 PLL の phase_done 出力に直接接続します PLL リコンフィギュレーション信号 Stratix II デバイス pll_reconfig_ enable pll_reconfig_ write_param pll_reconfig_read _param 入力 1 PLL リコンフィギュレーション ブロックへのアクセスを可能にします 通常動作時は この信号を Low に保持します PHY がリセット状態に保持され (soft_reset_n を介して ) かつ reset_request_n が 1 の間は PLL は安全にリコンフィギュレーションできます PLL をリコンフィギュレーションするには この信号を 1 に設定し 他の pll_reconfig 信号を使用して PLL にアクセスします リコンフィギュレーションが終了したら この信号を 0 に設定し 次に soft_reset_n 信号を 1 に設定して PHY のリセット状態から解放します この信号が動作するには PLL_RECONFIG_PORTS_ENGUIパラメータをTRUEに設定しなければなりません 入力 9 詳しくは ALTPLL_RECONFIG User Guide を参照してくださ い 入力 9 詳しくは ALTPLL_RECONFIG User Guide を参照してくださ い pll_reconfig 入力 1 詳しくは ALTPLL_RECONFIG User Guide を参照してくださ い pll_reconfig_ counter_type pll_reconfig_ counter_param pll_reconfig_data _in 入力 4 詳しくは ALTPLL_RECONFIG User Guide を参照してくださ い 入力 3 詳しくは ALTPLL_RECONFIG User Guide を参照してくださ い 入力 9 詳しくは ALTPLL_RECONFIG User Guide を参照してくださ い pll_reconfig_busy 出力 1 詳しくは ALTPLL_RECONFIG User Guide を参照してくださ い pll_reconfig_data _out 出力 9 詳しくは ALTPLL_RECONFIG User Guide を参照してくださ い pll_reconfig_clk 出力 1 pll_reconfig インタフェースにアクセスする任意のロ ジック用に使用される同期クロック aux_scan_clk と同 じです pll_reconfig_ reset 出力 1 pll_reconfig インタフェースにアクセスする任意のロ ジック用に使用される再同期化リセット Altera Corporation
100 5 40 キャリブレーション インタフェース信号 レベリング機能なしのみ rsu_codvw_phase 出力 シーケンサはメモリ クロック サイクルの 360 または 720 間で再同期化クロックの位相をスイープします DIMM からのデータ リードは各位相位置に実行されます そして データ有効ウィンドウは データが正常に読み出される再同期化クロック位相位置のセットに配置されます 最終的な再同期化クロックの位相がこの範囲の中央に設定されます ; データ有効ウィンドウまたは CODVW の中央 この出力は CODVW の現在の計算された値に設定されます そして メモリ クロックからの再同期化クロックをオフセットするのに 位相のステップが PLL によって実行される数を示します rsu_codvw_size 出力 データ有効ウィンドウ サイズの最終的な中央 (rsu_codvw_size) は データがデータ有効ウィンド位相 (rsu_codvw_phase) の再同期化クロック センタの計算で正常に読み出される位相数です rsu_read_latency 出力 rsu_read_latency 出力は 次に rsu_codvw_phase 再同期化クロックの位相を使用して リード レイテンシ (phy_clk サイクル ) に設定されます キャリブレーションが失敗したとき この信号は不定になります rsu_no_dvw_err 出力 シーケンサは各位相間で再同期化クロックをスィープして かつどの位相の位置でも任意の有効なデータがないと キャリブレーションが失敗して この出力が 1 に設定されます rsu_grt_one_dvw_ err 表 5 7 の注 : 信号名信号名幅説明 出力 シーケンサは各位相間で再同期化クロックをスィープして 複数のデータ有効ウィンドウが表示されるとき これは解決する必要がある予期しないリード データ ( ランダム ビット エラー ) の指示または不適切にコンフィギュレーションされた PLL です キャリブレーションが失敗して この出力が 1 に設定されます (1) デバッグ インタフェースはシンプルな Avalon-MM インタフェース プロトコルを使用します (2) デバッグ インタフェースはアルテラの使用のみですが これらのポートは Quartus II ソフトウェアに存在します 表 5 8 に 表 5 5 ~ 表 5 7 を参照するパラメータを示します パラメータ名説明 DWIDTH_RATIO ローカル インタフェースからメモリ インタフェースへのデータ幅比 2 の DWIDTH_RATIO はフル レートを意味しますが 4 の DWIDTH_RATIO はハーフ レートを意味します LOCAL_IF_DWIDTH ローカル データ バスの幅がハーフ レートの場合は 4 倍にし かつフル レートの場合は 2 倍にする必要があります MEM_IF_DWIDTH メモリ インタフェースでのデータ幅 MEM_IF_DWIDTH は MEM_IF_DQ_PER_DQS の倍数である値を持つことができます MEM_IF_DQS_WIDTH インタフェースの DQS ピンの総数 MEM_IF_ROWADDR_WIDTH メモリ デバイスのロウ アドレス幅 Altera Corporation
101 5 41 パラメータ名 MEM_IF_BANKADDR_WIDTH MEM_IF_CS_WIDTH MEM_IF_DM_WIDTH MEM_IF_DQ_PER_DQS MEM_IF_CLK_PAIR_COUNT 説明 メモリ デバイスのバンク アドレス幅 インタフェースでのチップ セレクト数 シーケンサは 1 つのチップ セレクト ピンのみをキャリブレーションします メモリ インタフェースの mem_dm ピンの総数 mem_dqs ピンあたりの mem_dq[] ピンの数 インタフェースでの mem_clk/mem_clk_n ペアの数 次の項では ALTMEMPHY バリエーションに接続される標準的なモジュールおよび各モジュールの使用を付加するポート名について説明します また この項ではカスタム コントローラを使用して説明します この項では AFI について説明します AFI はすべてのアルテラのメモリ設計者に対してコントローラと PHY 間のインタフェースを標準化し簡素化します したがって アルテラの高性能コントローラで 独自のコントローラ コードを容易に交換することができます AFI はキャリブレーション用にメモリをコンフィギュレーションする管理ブロックを含めて 必要に応じてメモリをコンフィギュレーションするのに必要なモード レジス タアクセスを実行します ( キャリブレーション プロセスは異なります ) 図 5 13 に PHY コントローラ およびメモリ デバイスとの接続の概要を示しています 1 アルテラでは 新しいデザインに対する AFI の使用を推奨しています AFI PHY local_wdata AFI ctl_addr ctl_cas_n ctl_we_n Admin mem_dqs mem_dq DDR3 SDRAM local_rdata ctl_rdata Altera Corporation
102 5 42 ハーフ レート デザインの場合 ALTMEMPHY メガファンクションでのアドレスおよびコマンド信号はアドレスあたりのビットとハーフ レート デザインのコマンド ピンがあるように 1 つの mem_clk サイクル (1T アドレッシング ) にアサートされます より慎重な 2T アドレシングが必要である場合 ハーフ レート デザインに ( アドレス およびコマンド信号の ) 入力ビットの両方を同様にドライブします AFI 付き DDR3 SDRAM に対して リードおよびライト コントロール信号は DQS あたりのグループ単位にあります コントローラはキャリブレーションできて 使用可能な DDR3 SDRAM デバイスのサブセットを使用できます 例えば より良いデバッグするメカニズムに対して 64 ビットまたは 72 ビット DIMM から 2 つのデバイスです ハーフ レート デザインの場合 AFI はコントローラがハーフ レート phy_clk のハーフ サイクルのいずれかにアラインメントされるリードおよびライトを発行することができます これは データパスが複数のデータ アラインメント ( ワード 非アラインメントおよびワード アラインメント ライトとリード ) をサポートできます 図 5 14 および図 5 15 に ハーフ レート ライト動作を表示します ctl_clk ctl_dqs_burst ctl_wdata_valid ctl_wdata -- a x cb xd ctl_clk ctl_dqs_burst ctl_wdata_valid ctl_wdata -- ba dc -- 図 5 16 に フル レート ライトを示します Altera Corporation
103 5 43 ctl_clk ctl_dqs_burst ctl_wdata_valid ctl_wdata -- a b -- キャリブレーションが完了すると シーケンサはクロック サイクル数でのライト レイテンシをコントローラに送信します 図 5 17 に フル レート リードを示します ; 図 5 18 に ハーフ レート リードを示します ctl_rlat = clock ctl_addr ctl_cs_n ctl_doing_rd mem_dqs mem_dq ctl_rdata_valid ctl_rdata Altera Corporation
104 5 44 ctl_rlat = clock ctl_addr AX XA ctl_cs_n 10 ctl_doing_rd mem_dqs mem_dq ctl_rdata_valid ctl_rdata DX XD 図 5 20 および図 5 21 に ワード アラインメントされたライトおよびリードを示します 以下のリードおよびライトの例では データは同じアドレスに書き込まれて 同じアドレスから読み出されます 各例では ctl_rdata および ctl_wdata はコントローラ クロック (ctl_clk) サイクルにアラインメントされます ビット ベクトルでのすべてのデータは同時に有効です 比較のために ワード アラインメントされていないライトおよびリードを示す図 5 21 および図 5 22 を参照してください 1 ctl_doing_rd は PHY に渡されると ハーフ レート信号として表されます したがって このビット ベクトルの下半分は 1 メモリ クロック サイクルを表し 上半分は次のメモリ クロック サイクルを表します 5 49 ページの図 5 22 に 2 つの ctl_doing_rd ビットの例が異なるとき 分離するワード アラインメントされていないリードを示します したがって 各 x16 デバイスでは 少なくとも 2 ctl_doing_rd ビットをドライブする必要があり また 2 ctl_rdata_valid ビットは解釈される必要があります AFI には次の表記規則が含まれています AFI で High と Low 信号は 1 つの信号に組み合わせ そして シングル チップ セレクト (ctl_cs_n) インタフェース ;ctl_cs_n[1:0] の場合 0 の位置は 1mem_clk サイクルのメモリ バスで表示されて 1 の位置は次の mem_clk サイクルで表示されます 1 この規則はすべての信号に維持されていおり そして 8 ビット メモリ インタフェースの場合 ライト データ (ctl_wdata) 信号は ctl_wdata[31:0] です ここで DQ ピンの最初のデータは ctl_wdata[7:0] であり ; 次に ctl_wdata[15:8] ctl_wdata[23:16] および ctl_wdata[31:24] です Altera Corporation
105 5 45 ワード アラインメントおよびワード 非アラインメントリードとライトは 以下の定義があります 位置 1(_l) におけるシングル チップ セレクトのワード アラインメントはアクティブ (Low) です 書き込みが発生する際 ctl_cs_n[1:0] = 01 です このアラインメントは設計する中で最も簡単なアラインメントです ワード 非アラインメントは逆であり ; そして リードおよびライトが発生しおよび他のコントロールとデータ信号は連続 ctl_clk サイクルに分配されるときに ctl_cs_n[1:0] = 10 です 1 アルテラの高性能コントローラはワード アラインメントされたデータのみを使用します タイミング解析スクリプトはワード 非アラインメントされたリードおよびライトをサポートしません ワード 非アラインメントされたリードおよびライトは Stratix III および Stratix IV デバイスにのみをサポートされます 空間リードおよび空間ライトは 以下の定義があります 空間ライト 1 つのコントローラ クロック (ctl_clk) サイクルのギャップによって分離するライト コマンド 空間リード 1 つのコントローラ クロック (ctl_clk) サイクルのギャップによって分離するリード コマンド 図 5 19 ~ 図 5 22 に 以下の一般ポイントを仮定します バースト レングスが 4 です DDR2 SDRAM が使用されます DDR3 デバイスに対してインタフェースのタイミングは同じです 1 チップ セレクト付き 8 ビット インタフェース 1 つのコントローラ クロック (ctl_clk) サイクルのデータは 2 つのメモリ クロック (mem_clk) サイクル ( ハーフ レート インタフェース ) のデータを表します Altera Corporation
106 5 46 (1) (2) (3) (4) ctl_clk ctl_wlat 2 ctl_ras_n ctl_cas_n ctl_we_n ctl_cs_n ctl_dqs_burst ctl_wdata_valid ctl_wdata ctl_addr b0a0908 0f0e0d0c Memory Interface mem_clk command (Note 5) mem_cs_n ACT WR mem_dqs mem_dq 図 5 19 の注 : (1) ctl_cs_n の偶数のアラインメントを示すには 信号を展開します ( この規則は他のすべての信号に適用します ) (2) ctl_dqs_burst は ctl_wdata_valid の前に 1 メモリ クロック サイクルの High になる必要があります (3) ワード アラインメントされていないケースと比較します チップ セレクト (ctl_cs_n) がアサートされると ctl_wdata_valid は 2 つの ctl_wlat コントローラ クロック (ctl_clk) サイクルにアサートされます ctl_wlat はシステムの必要なライト レイテンシを示します この値はキャリブレーション中に決定され そしてアドレスとコマンド パス かつ PHY および外部 DDR SDRAM サブシステムの両方のライト データパスの相対的な遅延時に依存します コントローラは ctl_cs_n をドライブして 次に ctl_wdata_valid をドライブする前に ctl_wlat( この例では 2 つ )ctl_clk を待ちます (4) ライト データのオーダリング (ctl_wdata) を観察します これを mem_dq 信号でのデータと比較します (5) すべての波形では 発行される現在のコマンドにメモリ ピン ras_n cas_n および we_n を組み合わせるコマンド レコードが追加されます このコマンドは チップ セレクト (mem_cs_n) が Low のとき メモリによって登録されます 表される波形で重要なコマンドは WR = ライト (write) ACT = アクティブ (activate) です Altera Corporation
107 5 47 (1) ( 2) (3) (3) ctl_clk ctl_rlat 15 ctl_ras_n 11 ctl_cas_n 0 ctl_we_n ctl_cs_n ctl_doing_rd ctl_rdata_valid ctl_rdata FFFFFFFF ctl_ba 00 ctl_addr ctl_dm Memory Interface mem_clk command ACT RD mem_cs_n mem_dqs mem_dq 図 5 20 の注 : (1) AFI の場合 ctl_doing_rd はチップ セレクト (ctl_cs_n) がアサートされる前に 1 クロック サイクルにアサートされる必要があります ハーフ レート ctl_clk ドメインで この要件は ctl_doing_rd 上でコントローラ ドライブ 11(01 とは異なり ) として現れます (2) AFI には ctl_doing_rd はリードの持続時間にドライブされることを必要とします この例では 2 つのハーフ レート ctl_clks の場合 11 にドライブされます これは 4 ビート バースの 4 メモリ クロック サイクルの場合 1 にドライブすると一致しています (3) ctl_rdata_valid は ctl_doing_rd がアサートされた後 15(ctl_rlat) コントローラ クロック (ctl_clk) サイクルを返します コントローラ内のレジスタの出力における ctl_rdata_valid 信号は観測されるときに返されます コントローラはデータの登録および返し時間を決めるために ctl_rlat 値を使用できますが リード データを登録するとき ctl_rdata_valid はイネーブルとして使用するコントローラに提供するので これが不要です (4) バス上のデータに対して返したリード データのアラインメントを観測します (4) Altera Corporation
108 5 48 図 5 21 と図 5 22 に 空間ワード 非アラインメントのライトおよびリードを示します (1) (2) (3) (4) (5) ctl_clk ctl_wlat 2 ctl_ras_n 10 ctl_cas_n ctl_we_n ctl_cs_n ctl_dqs_burst ctl_wdata_valid ctl_wdata ctl_ba d0c0b0a 0d0c0f0e 00 ctl_addr Memory Interface mem_clk command ACT WR mem_cs_n mem_dqs mem_dq 図 5 21 の注 : (1) 代替ワード 非アラインメントのチップ セレクト (ctl_cs_n) (2) ワード アラインメント ライトでのとき ctl_wdata_valid の前に ctl_dqs_burst に 1 メモリ クロック サイクルがアサートされます ctl_wdata_valid は 10 のとき 同一サイクルで ctl_dqs_burst は 11 であることを表示することができます これらの 2 の LSB は信号が mem_clk ドメインで取得する最初の値になります ctl_dqs_burst は ctl_wdata_valid より必要な mem_clk の 1 サイクルでリードすることを表示します (3) アサートされている ctl_cs_n と High になる ctl_wdata_valid 間のレイテンシは 効果的に ctl_wlat( この例では 2) コントローラ クロック (ctl_clk) サイクルです 相対的なメモリ クロック (mem_clk) サイクルに関して これを考えることができます この場合 レイテンシは 4 つの mem_clk サイクルです (4) 上位のハーフのみ有効です (ctl_wdata_valid 信号が実証する時に 2 つの 8 ビット ワードには 1 つの 1 ビットの ctl_wdata_valid があります ) ライト データ ビットは順にバス上で最下位バイトが最初に解除されます それで DQ ピンにおけるライト データの連続バーストに関して ライト データの最上位ハーフは使用されています ( 最後にバスの上で解除されて したがって 以下のデータの隣接です ) 逆はバーストの最後に対して当てはまります ライト データは 3 コントローラ クロック (ctl_clk) サイクルに広げられますが それでも 4 メモリ クロック (mem_clk) サイクルのみです ただし 相対的なメモリ クロック サイクルでは レイテンシはワード アラインメントされているおよびワード アラインメントされていない場合に相当します (5) ここの 0504 は前のクロック サイクルから残りです ライトの最初のビートの場合 ライト データの上半分のみが使用されるのと同じ方法で ライトの最後のビートの場合はライト データの下半分のみが使用されます このアラインメントにおけるどんな値までもこれらの上位ビットをドライブできます Altera Corporation
109 5 49 (1) (2) (3) ctl_clk ctl_rlat 15 ctl_ras_n ctl_cas_n ctl_we_n ctl_cs_n ctl_doing_rd ctl_rdata_valid ctl_rdata ctl_ba FFFFFFFF 0f0e0f0e 00 ctl_addr ctl_dm Memory Interface mem_clk command ACT RD mem_cs_n mem_dqs mem_dq 図 5 22 の注 : (1) ワード アラインメントされたリードと同様 チップ セレクト (ctl_cs_n) がアサートされる前に ctl_doing_rd が 1 メモリ クロック サイクル間アサートされます これは ワード アラインメントされていないリードの場合 前のコントローラ クロック (ctl_clk) サイクルにあります この例では ctl_doing_rd 信号は 3 コントローラ クロック (ctl_clk) サイクルに現在広げて シーケンス '10' '11' '01' '10' '11' '01' の高いビットは フル レート メモリ クロック ドメイン '011110' '011110' における 2 つの 4 ビート リードに対して ctl_doing_rd の必要な 4 つアサーションのメモリ クロック サイクルを提供します (2) ctl_rdata_valid の戻りパターンは ctl_doing_rd の遅延バージョンです 通知リード レイテンシ (ctl_rlat) は ctl_doing_rd と ctl_rdata_valid の間に挿入されるコントローラ クロック (ctl_clk) サイクル遅延の数です (3) リード データ (ctl_rdata) は 3 つのコントローラ クロック サイクルに広げて 示すベクトルに ctl_rdata ビット ベクトルの上半分のみが有効です (ctl_rdata_valid で表されています ) Altera Corporation
110 5 50 ALTMEMPHY メガファンクションをユーザ独自のコントローラと統合することができます この項では インタフェース要件および効率的なリードおよびライト トランザクションのためのハンドシェイク メカニズムについて説明します ALTMEMPHY メガファンクションを生成するには 以下のステップを実行します 1. カスタム DDR または DDR2 SDRAM コントローラを作成するとき アルテラの高性能コントローラ MegaCore 機能を生成して 選択されたアルテラのメモリ デバイスをターゲットにします 2. タイミングをコンパイルおよび検証します このステップはオプションです ; 詳しくは 4 1 ページの コンパイルおよびシミュレーション を参照してください 3. DDR または DDR2 SDRAM デバイスをターゲットとするとき 高性能コントローラ デザインをシミュレーションします 4. トップ レベル ALTMEMPHY デザインをユーザーのコントローラと統合します 高性能コントローラから始めると PHY バリエーション名は <controller_name>_phy.v/.vhd です ユーザーのコントローラとアルテラの ALTMEMPHY メガファンクションの統合について詳しくは 以下の項で説明しています 5. PHY を適切にドライブおよびコマンドはメモリ デバイスで認識されることを確認するために インタフェース全体をコンパイルしてシミュレーションします この項では ユーザー独自のコントローラを ALTMEMPHY メガファンクションで実装するにのに 重要な検討事項について説明します この項では AFI 種類のデザイン検討事項について説明します 1 PHY 信号のドライブ方法が分からない場合 高性能コントローラのシミュレーションが便利です ALTMEMPHY メガファンクションは PLL インスタンスを自動的に生成しますが それでも基準クロック入力 (pll_ref_clk) に MegaWizard Plug-In Manager で指定した周波数のクロックを供給する必要があります また 非同期でディアサートできるアクティブ Low のグローバル リセット入力も供給されます クロックおよびリセット管理ロジックは このリセットを ALTMEMPHY メガファンクション内の適切なクロック ドメインに同期させます ハーフ レート コントローラの場合はメモリ クロック周波数の半分 フル レート コントローラの場合はメモリ クロックと周波数が同じクロック出力が供給され ALTMEMPHY メガファンクションのすべての入力および出力がこのクロックに同期します AFI の場合 この信号は ctl_clk と呼ばれます また アクティブ Low 同期リセット 出力信号 ctl_reset_n も提供されています この信号は ctl_clk または phy_clk クロック ドメインに非同期でディアサートされ そのクロック ドメインの追加のユーザー ロジックをリセットすることができます Altera Corporation
111 5 51 グローバル reset_n 信号が解放されるとき ALTMEMPHY は初期化およびキャリブレーション シーケンスを自動的に処理します シーケンサは DDR SDRAM( 複数のチップ セレクト ) の複数のランクにリードを発行することによって メモリ インタフェースをキャリブレーションします ランクの数が増加するのに応じて タイミング マージンは減少します 改良されたタイミング マージンの比較的少利点に PLL リソースを消費するので メモリの各ランクあたり 1 個の再同期化クロックを供給するのは 実行不可能です キャリブレーションが完了すると キャリブレーションが成功の場合 ctl_cal_success 信号は High になり ; 失敗の場合 ctl_cal_fail 信号は High になります キャリブレーションが soft_reset_n 信号を使用して コントローラで繰り返すことができます これは アサートされるのはシーケンサをリセット状態に配置され そしてキャリブレーション プロセスの解放されるのを再度開始します 1 以下の 2 つの警告および致命的なワーニング メッセージを無視することができます Warning: Timing Analysis for multiple chip select DDR/DDR2/DDR3-SDRAM configurations is preliminary (memory interface has a chip select width of 4) Critical Warning: Read Capture and Write timing analyses may not be valid due to violated timing model assumptions DDR SDRAM デバイスのメモリのバースト レングスは 2 4 または 8 であり DDR2 SDRAM デバイスの場合は 4 または 8 にすることができます ローカル インタフェースに供給されるクロックの 2 倍の速度でメモリ クロックが動作するハーフ レート コントローラの場合 これはローカル インタフェースのデータ バス幅はメモリ データ バスの 4 倍になることを意味します フル レート コントローラの場合 メモリ クロックはローカル インタフェースに供給されるクロックと同じ速度で動作します これはローカル インタフェースのデータ バス幅はメモリ データ バスの 2 倍になることを意味します この項では AFI 付き DDR または DDR2 SDRAM 高性能コントローラについて説明します アドレスおよびコマンド信号は 1T 動作のために自動的にサイズを変更するので ピンあたりの入力ビットは フル レート デザインの場合 1 つであり ( 例えば 1 チップ セレクトあたりのコンフィギュレーションされたチップ セレクト ); ハーフ レート デザインの場合 2 つがあります より慎重な 2T アドレスおよびコマンド手法が必要な場合は 2 クロック サイクルに対してフル レート デザインを使用して アドレス / コマンド 入力をドライブします もしくは ハーフ レート デザインで 特定のピンのアドレス / コマンド ビットを同様にドライブします 1 PHY が本質的に 1T アドレッシングをサポートしますが 高性能コントローラは 2T アドレッシングのみをサポートするため PHY タイミング解析は 2T アドレスとコマンド信号を仮定しながら 実行されます Altera Corporation
112 5 52 リードが実行される場合 リード コマンドが要求され そして有効データが戻ると予測するバイト レーンを示すために AFI 付き高性能コントローラは ctl_doing_read 信号をアサートします ALTMEMPHY は以下の動作のための ctl_doing_read 信号を使用します ポストアンブル回路のコントロール ctl_rdata_valid の生成 ダイナミック終端抵抗 (Rt) コントロール タイミング リード レイテンシ ctl_rlat はまたコントローラに通知されます この信号は ctl_doing_read 信号のアサーションから ctl_rdata の有効リード データの戻りまで ctl_clk クロック サイクルでどのぐらい時間が掛かるのを示します ctl_rlat 信号はキャリブレーションが正常に完了したときにのみ有効であり 通常のユーザー モード動作中に値を変化することはありません ALTMEMPHY は リード データ バス上のデータが有効であることを示すために ctl_rdata_valid 信号を提供します この信号の幅はリード データはワード アラインメントされていないことを示すために オプションをサポートするのにハーフ レートとフル レート デザインの間で異なります 図 5 23 および図 5 24 に これらの関係を示します ctl_rlat = 9 ctl_clk ctl_addr ctl_cs_n ctl_doing_read mem_dqs mem_dq ctl_rdata_valid ctl_rdata ctl_rlat = 9 ctl_clk ctl_addr ctl_cs_n ctl_doing_read mem_dqs mem_dq ctl_rdata_valid ctl_rdata A XA DX XD Altera Corporation
113 5 53 AFI では ALTMEMPHY 出力 ctl_wlat はアサートされる ctl_cs_n とアサートされる ctl_dqs_burst を発行するライト コマンド間の ctl_clk サイクル数を提供します ctl_wlat 信号は ctl_clk クロック サイクルに単一値を提供するために以下の動作を考慮に入れます CAS ライト レイテンシ 追加のレイテンシ データパス レイテンシおよび相対位相 ボード レイアウト アドレスとコマンド パス レイテンシおよび 1T レジスタの設定であり それはどんなレベリングの影響も考慮に入れるのをダイナミックにセットアップ ctl_wlat 信号はキャリブレーションが ALTMEMPHY シーケンサによる正常に完了したときにのみ有効であり 通常のユーザー モード動作中にどの時点でも変化しません 図 5 25 に ctl_wlat ポートの動作を示します ctl_wlat = ctl_clk ctl_addr ctl_cs_n ctl_dqs_burst ctl_wdata_valid ctl_wdata AdAd ハーフ レート デザインの場合 ctl_cs_n は 1 ビットではなく 2 ビットです また ctl_dqs_burst および ctl_wdata_valid の波形はハーフ レート デザインを示します このライトは DDR で 8 のバーストになります ここで ctl_cs_n が 2'b01 にドライブされ LSB (1) は mem_cs_n からドライブ アウトされる最初の値 および MSB (0) は次の mem_clk で従います 同様に ctl_dqs_burst の場合 LSB は mem_dqs ファスト (0) からドライブ アウトされ 次に 1 は次のクロック サイクルに従います このシーケンスは必要に応じて連続的な DQS パルスを発生させます 最後に ctl_addr バスは MEM_IF_ADDR_WIDTH ビット幅の 2 倍であり そして アドレスは 2 つの mem_clk サイクル幅のアドレス位相をもたらすために連結されます DDR および DDR2 SDRAM メモリ仕様の一部として ライト信号の一部に DM ピンをアサートすることによって部分書き込みのオプションがあります Stratix III デバイス ファミリをターゲットとするデザインに対して DQ 出力をドライブしないことによって電力を節約するために ライト データは有効であるとき 部分的書き込み中に ctl_wdata_valid 信号をディアサートします 他のデバイス ファミリをターゲットとするデザインに対して 部分的書き込みが必要な場合は DIM ピンのみを使用します フル ライト動作の場合 ctl_dqs_burst および ctl_wdata_valid 信号をアサートするため DQ および DQS ピンは部分的書き込み中にドライブされます Altera Corporation
114 5 54 Stratix III デバイス ファミリと他のデバイス ファミリ間の I/O 差は Stratix III デバイスの DQS イネーブルに対して ctl_dqs_burst 信号のみを使用できます Altera Corporation
115 6. 高性能コントローラ (HPC) アーキテクチャは 暗号化されたコントロール ロジックと ALTMEMPHY メガファンクションをインスタンス化します コントローラは Avalon-MM インタフェース プロトコルまたはネイティブ インタフェース プロトコルのいずれかを使用して ローカル インタフェース上のユーザーからリードまたはライト要求を受け入れます いずれかのバンク管理コマンドを含めて これらの要求を必要な SDRAM コマンドに変換します Avalon-MM またはネイティブ インタフェース上の各リードまたはライト要求が 1 つの SDRAM リードまたはライト コマンドにマップされます コントローラはメモリのバースト レングス 4 を使用しているので コントローラがハーフレート モードの場合 ローカル インタフェースのリードおよびライト要求の長さは常に 1 です フル レート モードにおける コントローラはローカル インタフェースでサイズ 1 または 2 の要求を受け入れます すべてのメモリ バーストが使用しているため ローカル インタフェースでサイズ 2 の要求はより良いスループットを生成します コントローラのバンク管理ロジックはメモリ システムの各バンクでロウを開くように保持します 例えば ダブルサイドの DDR または DDR2 SDRAM DIMM が 4 つのバンクにコンフィギュアされたコントローラーでは すべての 8 つのバンクのロウが開いていることを保持しています コントローラは自動プリチャージ リードまたは自動プリチャージ ライトを要求でき 要求の後にそのロウを開くように保持するかどうかをコントロールできます そのバンクへの最後のアクセスは自動プリチャージ リードまたはライトで 同じバンクにリードおよびライトを発行すると 最高効率を実現できます コントローラは 任意のアクセス順序変更を実行しません Altera Corporation
116 6 2 図 6 1 に DDR または DDR2 SDRAM HPC のトップレベルのブロック図を示します local_addr local_be local_burstbegin local_read_req local_refresh_req local_size local_wdata local_write_req local_autopch_req local_powerdn_req local_self_rfsh_req local_init_done local_rdata local_rdata_valid local_ready local_refresh_ack local_wdata_req local_powerdn_ack local_self_rfsh_ack DDR/DDR2 SDRAM ( ) mem_a mem_ba mem_cas_n mem_cke mem_cs_n mem_dq mem_dqs mem_dm mem_odt (1) mem_ras_n mem_we_n ALTMEMPHY 図 6 1 の注 : (1) DDR2 SDRAM HPC 用のみです 図 6 2 に DDR または DDR2 SDRAM 高性能コントローラのアーキテクチャを示します FIFO Avalon-MM FIFO PHY ALTMEMPHY 6 2 ページの図 6 2 でのブロックについては 以下の項で説明しています Altera Corporation
117 6 3 FIFO バッファでコントローラが最大 4 つの連続するリードまたはライト コマンドをバッファすることができます それはロジック エレメントで構成され かつアドレス リードまたはライト フラグ およびバースト カウント情報を格納します このバッファが高くなる場合 メイン ステート マシンは FIFO バッファからコマンドを取得するまで ユーザーへの local_ready 信号がディアサートされます メイン ステート マシンが ALTMEMPHY メガファンクション ( ライト データ バッファがない ) に送ることができるまで ライト データ FIFO バッファはユーザーからライト データを保持します Avalon-MM インタフェース モードでは ユーザー ロジックはライト要求 アドレス バースト カウント および 1 つ以上のビートのデータを同時に表示します ライト データ ビートが必要になるまで FIFO バッファに配置されます ネイティブ インタフェース モードでは ユーザー ロジックはライト要求 アドレス バースト カウントを表示します そして コントローラは local_wdata_req 信号を使用してユーザーから正確なライト データ ビート数を要求して ユーザー ロジックはライト データ要求信号の後に クロック サイクルにおけるライト データを返す必要があります この FIFO バッファは補充およびストリーミング ライトの中断を防止するために コマンド FIFO バッファよりサイズが深くされます ライト データ トラッキング ロジックは FIFO バッファのライト データ数を追跡します ネイティブ インスタンス モードでは このロジックはユーザー ロジックからどのぐらいデータを管理し そして local_wdata_req 信号を発行します メイン ステート マシンはコマンド FIFO バッファ バンク管理ロジック およびタイマ ロジックからの入力に基づいて発行する DDR コマンドを決定します バンク管理ロジックは各バンクの現在の状態を追跡します それはメモリ システムの各バンクでロウを開くように保持できます ステート マシンはこのロジックによって提供される情報を使用して バンクにリードまたはライトする前に バンク管理コマンドを発行する必要があるかどうかを決定します ユーザーが自動プリチャージ リードまたはライトを要求しない限り 常にコントローラはバンクを開けたままにします また 周期リフレッシュ プロセスにより すべてのバンクが閉じられます Altera Corporation
118 6 4 タイマ ロジックは最後の関連するコマンドを発行して以来 必要な最少数のクロック サイクルが終了しているかどうかを追跡します 例えば 最後のアクティブ コマンド以来 経過したサイクル数を記録するので ステート マシンはリードまたはライト コマンド (t RCD ) を発行するのに 安全であることを知っています また タイマ ロジックは最後の周期的なリフレッシュ コマンド以来 クロック サイクルの数をカウントして また クロック サイクル数が期限切れる場合 優先順位警告をステート マシンに送信します 初期化ステート マシンはメモリ デバイスを初期化するために コマンドの適切なシーケンスを発行します 各メモリ タイプは初期化コマンドの異なるシーケンスを必要とするため それは DDR と DDR2 に特定されます AFI で ALTMEMPHY メガファンクションはメモリを初期化します そうしないと コントローラはメモリを初期化する役割も持っています ステート マシンはメモリにコマンドを発行する際 1 セットの内部信号がアサートされます アドレスおよびコマンド デコード ロジックはこれらを DDR 特定の RAS CAS および WE コマンドに変えます メイン ステート マシンがライト コマンドをメモリに発行するとき そのライト バーストのライト データはライト データ FIFO バッファからフェッチされる必要があります ライト コマンドとライト データの関係はメモリ タイプ ALTMEMPHY メガファンション インタフェース タイプ CAS レイテンシ およびフル レート設定またはハーフ レート設定に依存します PHY インタフェース ロジックはライト データ FIFO リード 要求信号のタイミングを調整するので データが外部メモリ インタフェース DQ ピン上で正しい時間に到達します ODT 生成ロジック ( 記載されていない ) は ODT 出力をイネーブルするための時刻および期間を計算します また システムのチップ セレクト数に基づいて どの ODT ビットをイネーブルにするかを決定します 1 DIMM(1 または 2 チップ セレクト ) シングル DIMM の場合 ODT 信号はライトの間にのみアサートされます バス上のライト コマンドは mem_cs[1] でも mem_cs[0] における DIMM 上の ODT 信号が常に使用されます つまり 2 つの ODT 信号がある場合でも mem_odt[0] が常にアサートされます 2 つ以上の DIMM 表 6 1 に 隣接する DIMM 上でどの ODT 信号がイネーブルされるかを示します Altera Corporation
119 6 5 ライト オンまたはリード オン mem_cs[0]or cs[1] mem_cs[2] or cs[3] mem_cs[4] or cs[5] mem_cs[6] or cs[7] イネーブルされた ODT mem_odt[2] mem_odt[0] mem_odt[6] mem_odt[4] 低消費電力モード ロジック ( 記載されていない ) は local_powerdn_req および local_self_rfsh_req 要求信号をモニタします また このロジックは local_powerdn_ack および local_self_rfsh_ack 確認信号を使用して 現在の低消費電力ステートのユーザーに通知されます バス コマンドは mem_ras_n mem_cas_n および mem_we_n 信号を組み合わせて使用して SDRAM デバイスを制御します 例えば 3 つの信号がすべて High のクロック サイクルでは 関連コマンドはノー オペレーション (NOP) です また NOP コマンドはチップ セレクト信号がアサートされていないときも示されます 表 6 2 に 標準 SDRAM バス コマンドを示します コマンド コード ras_n cas_n we_n No operation( ノー オペ NOP High High High レーション ) Active( アクティブ ) ACT Low High High 読み出し RD High Low High 書き込み WR High Low Low Burst terminate( バースト終 BT High High Low 了 ) プリチャージ PCH Low High Low Auto refresh( オート リフ ARF Low Low High レッシュ ) Load mode register( ロード モード レジスタ ) LMR Low Low Low DDR または DDR2 SDRAM HPC は SDRAM バンクを開いてから その SDRAM バンクのアドレスにアクセスする必要があります 開かれるロウとバンクは アクティブ (ACT) コマンドと同時に取り込まれます HPC は 別のロウにアクセスする必要がある場合にはバンクを閉じてから再度開きます プリチャージ (PCH) コマンドは バンクのみ閉じます SDRAM へのアクセスに使用される主なコマンドは リード (RD) およびライト (WR) です WR コマンドが発行されると 最初のカラム アドレスとデータ ワードが取り込まれます RD コマンドが発行されると 最初のアドレスが取り込まれます 最初のデータは 2 ~ 3 クロック サイクル後にデータ バスに現れます (DDR2 SDRAM の場合は 3 ~ 5 クロック サイクル後 ) この遅延はカラム アドレ Altera Corporation
120 6 6 ス ストローブ (CAS) レイテンシであり 内部 DRAM コアの読み出しからバス上にデータが現れるまでに時間を要するためです CAS レイテンシは SDRAM のスピードとメモリ クロックの周波数によって異なります 一般に クロックが速いほど 多くの CAS レイテンシのサイクルが必要です 初期 RD または WR コマンドの後 バースト レングスに到達するまで またはバースト終了 (BT) コマンドが発行されるまで 順次リードおよびライトが継続します DDR および DDR2 SDRAM デバイスは 2 4 または 8 データ サイクルのバースト レングスをサポートしています オート リフレッシュ コマンド (ARF) は データを確実に保持するために定期的に発行されます このファンクションは DDR または DDR2 SDRAM 高性能コントローラによって実行されます ロード モード レジスタ コマンド (LMR) は SDRAM モード レジスタをコンフィギュレーションします このレジスタは CAS レイテンシ バースト レングス およびバースト タイプを格納します f 詳しくは 使用している SDRAM の仕様を参照してください オプションの ECC は エンコーダとデコーダ コレクタで構成されており シングル ビット エラーの検出と訂正 ダブル ビット エラーの検出を行います ECC は各 64 ビット メッセージに 8 ビット ECC を使用します ECC は以下の特長を備えています Hamming コード ECC:64 ビットの各データを 8 ビットの Hamming コード パリティ ビットを持つ 72 ビットのコードワードにエンコードします レイテンシ : 書き込み時 最大 1 または 2 クロック遅延 読み出し時 最大 1 または 3 クロック遅延 すべてのシングル ビット エラーを検出し 訂正します また ECC はシングル ビット エラーのユーザ定義スレッショルドに達すると割り込みを送信します すべてのダブル ビット エラーを検出します また ECC はダブル ビット エラーのユーザ定義スレッショルドに達すると ダブル ビット エラー数をカウントして 割り込みを送信します 部分的書き込みを受け入れます 強制エラーを作成して ECC の動作をチェックします レディ ステートにパワーアップします 図 6 3 に ECC のブロック図を示します Altera Corporation
121 6 7 ECC N x 64 N x 64 - N x 72 N x 72 N x 72 DDR DDR2 SDRAM 32 ECC ECC は以下のブロックで構成されます エンコーダ 64 ビット メッセージを 72 ビット コードワードにエンコードします デコーダ コレクタ 可能な場合 72 ビット コードワードをデコードおよび訂正します Altera Corporation
122 6 8 ECC ロジック 複数のエンコーダとデコーダ コレクタを制御するため ECC はさまざまなバス幅を扱うことができます また エンコーダおよびデコーダ コレクタの以下の機能も制御します 割り込み : 検出および訂正されたシングル ビット エラー 検出されたダブル ビット エラー シングル ビット エラー カウンタ スレッショルドの超過 ダブル ビット エラー カウンタ スレッショルドの超過 コンフィギュレーション レジスタ : シングル ビット エラー検出カウンタ スレッショルド ダブル ビット エラー検出カウンタ スレッショルド 最初に検出されたエラーまたは最新エラーのステータスのキャプチャ テストを目的とする ECC の意図的な破損 ステータス レジスタ : エラー アドレス エラー タイプ : シングル ビット エラーまたはダブル ビット エラー 対応するバイト エラー ECC シンドローム エラー信号 データ ワードに対応するエラー信号がデータと共に供給され 訂正不能なダブル ビット エラーがリターン データ ワードで発生した場合に High になります カウンタ : 検出および / または訂正されたシングル ビット エラー 検出されたダブル ビット エラー ECC は それぞれパラレルに動作する複数のエンコーダをインスタンス化し データ ワードの幅が 64 の整数倍であると仮定して任意のデータ ワード幅をエンコードすることができます ECC は ローカル ( ネイティブまたは Avalon-MM インタフェース ) およびメモリ コントローラ間で動作します ECC は ローカル インタフェースと ECC 間に N 64 ビット (N は整数 ) 幅のインタフェースを持ち ローカル インタフェースからデータを受信および返信するために使用されます このインタフェースは ネイティブ インタフェースまたは Avalon-MM スレーブ インタフェースのどちらも可能であり インタフェースのタイプは MegaWizard インタフェースで選択します ECC は ローカル インタフェースと ECC 間に第 2 インタフェースとして ECC ロジックの動作ステータスを制御およびレポートする 32 ビット幅の Avalon-MM スレーブ インタフェースを持っています ECC からのエンコードされたデータは ECC とメモリ コントローラ間にある N 72 ビット幅の Avalon-MM マスタ インタフェースを使用して メモリ コントローラに送信されます Altera Corporation
123 6 9 DDR SDRAM 高性能コントローラをテストするときには ECC をオフにできます ECC は以下のいずれかのシナリオが発生すると 割り込みを発行します シングル ビット エラー カウンタが 設定された最大シングル ビット エラー スレッショルド値に達します ダブル ビット エラー カウンタが 設定された最大ダブル ビット エラー スレッショルド値に達します リターン データ ワードの N 個のすべての部分に対して 対応するイベントが発生するたびに エラー カウンタがインクリメントされます このインクリメント値は 最大スレッショルドと比較され 最大スレッショルドと同じときは割り込み信号が送信されます 対応するステータス レジスタに 1 を書き込むと ECC は割り込みをクリアします コントロール ワードを使用して いずれかのカウンタからの割り込みをマスクできます ECC は部分的書き込みをサポートします アドレス信号 データ信号 およびバースト信号に加え Avalon-MM インタフェースは バイト イネーブルのための信号ベクタもサポートします この信号ベクタの各ビットは データ バス上の 1 バイトを表します したがって これらの任意のビットの 0 は コントローラがその特定の場所に書き込みを行えないようにする信号です ( 部分的書き込み ) 部分的書き込みの場合 ECC は以下のステップを実行します 1. ECC ロジックは部分的書き込み条件を受信すると Avalon-MM インタフェースからのそれ以降のリード コマンドまたはライト コマンドを停止します 2. 同時に 部分的書き込みアドレスに対する自己生成リード コマンドをメモリ コントローラに送信します 3. 特定のアドレスに対して メモリ コントローラからリターン データを受信すると デコーダはデータをデコードし エラーをチェックし そのデータを ECC ロジックに送信します 4. ECC ロジックは 訂正されたデータワードまたは正しいデータワードと受信情報をマージします 5. ECC ロジックは 更新されたデータワードを エンコーディングのためにエンコーダに送信し 次にライト コマンドでメモリ コントローラに送信します 6. ECC ロジックは Avalon-MM インタフェースからのコマンドの停止を防止します これにより Avalon-MM インタフェースは新しいコマンドを受信できるようになります 以下のコーナー ケースが発生する可能性があります リード モディファイ ライト プロセスのリード フェーズ中のシングル ビット エラー この場合 シングル ビット エラーが最初に訂正され シングル ビット エラー カウンタがインクリメントされ この訂正済みのデコードされたデータ ワードに部分的書き込みが実行されます Altera Corporation
124 6 10 リード モディファイ ライト プロセスのリード フェーズ中のダブル ビット エラー この場合 ダブル ビット エラー カウンタがインクリメントされ Avalon-MM インタフェースを介して割り込みが送信されます 新しいライト ワードは その場所に書き込まれません この条件は割り込みステータス レジスタの個別フィールドにハイライトされます 図 6 4 および図 6 5 に フル レートおよびハーフ レートにおける HPC の部分書き込み動作を示します フル レート HPC はローカル サイズ 1 および 2 をサポートし またハーフ レート HPC はローカル サイズ 1 のみをサポートします local_address local_size local_be X1 XF local_wdata ABCDEF mem_dm mem_dq 67 R R R EF CD AB 89 図 6 4 の注 : (1) R はリード モディファイ ライト プロセス中の内部リード バック メモリ データを表します local_address local_size local_be local_wdata 0 1 X mem_dm mem_dq 67 R R R 図 6 5 の注 : (1) R はリード モディファイ ライト プロセス中の内部リード バック メモリ データを表します DIMM には DM ピンがないため部分的バーストをサポートしません 最低 4 ワードを同時にメモリに書き込む必要があります 図 6 6 に HPC の部分的バーストを示します Altera Corporation
125 6 11 local_address local_size local_be local_wdata 0 1 X mem_dm mem_dq ECC を使用すると 以下のレイテンシの変更が生じます ローカル バースト レングス 1 ローカル バースト レングス 2 ローカル バースト レングス 1 の場合 ライト レイテンシは 1 クロック サイクルだけ増加し リード レイテンシは 1 クロック サイクルだけ増加します ( チェックおよび訂正を含む ) 部分的書き込みでは ECC ロジックで読み出しとそれに続く書き込みが発生するため レイテンシはコントローラが特定のアドレスからデータをフェッチするのに要する時間によって異なります 表 6 3 に バースト レングスとレートの関係を示します ローカル バースト レングス レート メモリ バースト レングス 1 ハーフ 4 2 フル 4 ローカル バースト レングス 2 の場合 ライト レイテンシは 2 クロック サイクルだけ増加し リード レイテンシは 1 クロック サイクルだけ増加します ( チェックおよび訂正を含む ) 部分的書き込みでは ECC ロジックで読み出しとそれに続く書き込みが発生するため レイテンシはコントローラが特定のアドレスからデータをフェッチするのに要する時間によって異なります シングル ビット エラーの場合 メモリの自動訂正は リード サイクルを停止せずに行われ ( 可能な場合 ) 訂正中は ECC ロジックへの追加コマンドは停止されます 表 6 4 に ECC レジスタを示します Altera Corporation
126 6 12 名称コントロール ワードの仕様最大シングル ビット エラー カウンタ スレッショルド 最大ダブル ビット エラー カウンタ スレッショルド 現在のシングル ビット エラー カウント 現在のダブル ビット エラー カウント 最後または最初のシングル ビット エラーのエラー アドレス 最後または最初のダブル ビット エラーのエラー アドレス アドレス サイズ ( ビット ) 属性 デフォルト 説明 R/W F このレジスタは ECC 機能のすべての コマンドを保持します R/W シングル ビット エラー カウンタは ( シングル ビット エラーが発生すると ) このレジスタで定義されるとおり最大スレッショルドになるまでインクリメントされます このスレッショルドを越えると ECC が割り込みを生成します R/W ダブル ビット エラー カウンタは ( ダブル ビット エラーが発生すると ) このレジスタで定義されるとおり最大スレッショルドになるまでインクリメントされます このスレッショルドを越えると ECC が割り込みを生成します RO シングル ビット エラー カウンタは ( シングル ビット エラーが発生すると ) 最大スレッショルドになるまでインクリメントされます このステータス レジスタを読み出すと カウントの値を知ることができます RO ダブル ビット エラー カウンタは ( ダブル ビット エラーが発生すると ) 最大スレッショルドになるまでインクリメントされます このステータス レジスタを読み出すと カウントの値を知ることができます RO このステータス レジスタは 最後のシングル ビット エラーのエラー アドレスを格納します これはコントロール ワード クリアを使用してクリアできます コントロール ワードのビット 10 が High に設定されている場合 最初に発生したアドレスが格納されます RO このステータス レジスタは 最後 のダブル ビット エラーのエ ラー アドレスを格納します これ はコントロール ワード クリアを 使用してクリアできます コント ロール ワードのビット 10 が High に設定されている場合 最初に発生 したアドレスが格納されます Altera Corporation
127 6 13 名称 最後のシングル ビット エラーのエラー アドレス 最後のシングル ビット エラー シンドローム 最後のダブル ビット エラーのエラー データ 割り込みステータス レジスタ 割り込みマスク レジスタ アドレス サイズ ( ビット ) 属性 デフォルト 説明 RO このステータス レジスタは 最後のシングル ビット エラーのエラー データ ワードを格納します データ ワードは 64 の N 乗倍なので データ ワードは深度 2N 32 ビット幅の FIFO バッファに 最下位 32 ビット サブ ワードを先頭にして格納されます これはコントロール ワード クリアを使用して個別にクリアできます RO このステータス レジスタは 最後のシングル ビット エラー シンドロームを格納します これにより 64 ビット データ ワードのエラー ビットの位置が指定されます データ ワードは 64 の N 乗数なので シンドロームは深度 N 8 ビット幅の FIFO バッファに格納されます ここで 各シンドロームはデータ ワードの各 64 ビット部分のエラーを表します このレジスタは データ ワードのどの部分が最後のシングル ビット エラー データ レジスタに表示されるかに応じて 正しいシンドロームでアップデートされます これはコントロール ワード クリアを使用して個別にクリアできます RO このステータス レジスタは 最後のダブル ビット エラーのエラー データ ワードを格納します データ ワードは 64 の N 乗なので データ ワードは深度 2N 32 ビット幅の FIFO バッファに 最下位 32 ビット サブ ワードを先頭にして格納されます これはコントロール ワード クリアを使用して個別にクリアできます 0A 5 RO このステータス レジスタは 割り込みステータスを 4 つのフィールドに格納します ( 表 6 6 参照 ) これらのステータス ビットは 対応する位置に 1 を書き込むことによってクリアできます 0B 5 WO このレジスタは 割り込みマスクを 4 つのフィールドに格納します ( 表 6 7 参照 ) Altera Corporation
128 6 14 名称 シングル ビット エラー位置ステータス レジスタ ダブル ビット エラー位置ステータス レジスタ アドレス サイズ ( ビット ) 属性 デフォルト 説明 0C 32 R/W このステータス レジスタは データ ワードの各 64 ビット部分で発生したシングル ビット エラーを各ビットに格納します ( 表 6 8 を参照 ) これらのステータス ビットは 対応する位置に 1 を書き込むことによってクリアできます 0D 32 R/W このステータス レジスタは データ ワードの各 64 ビット部分で発生したダブル ビット エラーを各ビットに格納します ( 表 6 9 を参照 ) これらのステータス ビットは 対応する位置に 1 を書き込むことによってクリアできます 表 6 5 に コントロール ワード仕様レジスタを示します ビット名称入力 / 出力説明 0 シングル ビット エラーのカウント 1 シングル ビット エラーの訂正 2 ダブル ビット エラー イネーブル デコーダ - コレクタ デコーダ - コレクタ デコーダ - コレクタ 1 の場合 シングル ビット エラー数をカウントします 1 の場合 シングル ビット エラー数をカウントします 1 の場合 すべてのダブル ビット エラーを検出し ダブル ビット エラー カウンタをインクリメントします 3 予約済み N/A 今後の使用のために予約されています 4 すべてのステータス レジスタをクリアします コントローラ 1 の場合 カウンタ シングル ビット エラーおよびダブル ビット エラー ステータス レジスタの最初と最後のエラー アドレスをクリアします 5 予約済み N/A 今後の使用のために予約されています 6 予約済み N/A 今後の使用のために予約されています 7 リード時カウンタ クリア コントローラ 1 の場合 カウンタのリード時クリア機能をイネーブルします 8 ECC 破壊イネーブル コントローラ 1 の場合 エンコーディング時の意図的 ECC 破壊をイネーブルにし ECC をテストします 9 ECC 破壊タイプ コントローラ 0 の場合はすべての ECC コードワードでシングル ビット エラーを作成し 1 の場合はすべての ECC コードワードでダブル ビット エラーを作成します Altera Corporation
129 6 15 ビット名称入力 / 出力説明 10 最初または最後のエラー コントローラ 1 の場合 シングル ビット エラーまたはダブル ビット エラーの最後のエラー アドレスではなく最初のエラー アドレスを格納します 11 割り込みクリア コントローラ 1 の場合 割り込みをクリアします 表 6 6 に 割り込みステータス レジスタを示します ビット名称説明 0 シングル ビット エラー 表 6 7 に 割り込みマスク レジスタを示します 1 の場合 シングル ビット エラーが発生しました 1 ダブル ビット エラー 1 の場合 ダブル ビット エラーが発生 しました 2 最大シングル ビット エラー 3 最大ダブル ビット エラー 4 リード モディファイ ライト時のダブル ビット エラー その他予約済み予約済み 1 の場合 シングル ビット エラーの最大スレッショルドを超えました 1 の場合 ダブル ビット エラーの最大スレッショルドを超えました 1 の場合 リード モディファイ ライト状態時にダブル ビット エラーが発生しました ( 部分書き込み ) ビット名称説明 0 シングル ビット エラー 1 の場合 シングル ビット エラーをマスクします 1 ダブル ビット エラー 1 の場合 ダブル ビット エラーをマス クします 2 最大シングル ビット エラー 3 最大ダブル ビット エラー 4 リード モディファイ ライト時のダブル ビット エラー その他予約済み予約済み 1 の場合 シングル ビット エラーの最大スレッショルドを超える状態をマスクします 1 の場合 ダブル ビット エラーの最大スレッショルドを超える状態をマスクします 1 の場合 リード モディファイ ライト状態時にダブル ビット エラーが発生すると割り込みをマスクします ( 部分書き込み ) 表 6 8 に シングル ビット エラー位置ステータス レジスタを示します Altera Corporation
130 6 16 ビット 名称 説明 ビット N-1 ~ 0 割り込み 0 の場合 シングル ビット エラーは発生していません 1 の場合 この 64 ビット部分でシングル ビット エラーが発生しました その他 予約済み 予約済み 表 6 9 に ダブル ビット エラー位置ステータス レジスタを示します ビット 名称 説明 ビット N-1 ~ 0 割り込みの原因 0 の場合 ダブル ビット エラーは発生していません 1 の場合 この 64 ビット部分でダブル ビット エラーが発生しました その他 予約済み 予約済み MegaWizard Plug-In Manager は DDR または DDR2 SDRAM HPC のインスタンス化および接続方法を示すトップレベル ファイルの例を作成します トップレベル ファイルの例は DDR または DDR2 SDRAM HPC そのコントローラにリードおよびライト要求を発行するいくつかのドライバ ロジック 必要なクロックを作成する PLL および DLL(Stratix シリーズのみ ) で構成されます トップレベル ファイルの例は コンパイルしてスタティック タイミング チェックとボード テストの両方に使用できるワーキング システムです 図 6 7 に テストベンチとトップレベル ファイルの例を示します pnf test_complete DDR SDRAM ALTMEMPHY DLL clock_source PLL 表 6 10 に このトップレベル ファイルの例とテストベンチに関連するファイルを示します Altera Corporation
131 6 17 ファイル名 <variation name>_example_top_tb.v または.vhd <variation name>_example_top.v または.vhd <variation name>_mem_model.v または.vhd <variation name>_full_mem_model.v または.vhd <variation name>_example_driver.v または.vhd <variation name>.v または.vhd <variation name>.qip 説明 トップレベル ファイルの例のテストベンチ トップレベル ファイルの例 アソシアティブ アレイ メモリ モデル フル アレイ メモリ モデル サンプル ドライバ カスタム MegaCore ファンクションのトップレベルの記述 MegaCore ファンクション バリエーション用の Quartus II プロジェクト情報が含まれています 使用可能な 2 つのアルテラが生成したメモリ モデルがあります アソシアティブ アレイ メモリ モデルおよびフル アレイ メモリ モデルです アソシアティブ アレイ メモリ モデル (<variation name>_mem model.v) は 2,048 または 2K のアドレス空間のデフォルト容量を備えたメモリ アドレスの低減セットを割り当てます この割り当ては 間単に副アレイの深度をリコンフィギュレーションできるより大きなメモリ アレイ コンパイルおよびシミュレーションが可能です フル アレイ メモリ モデル (<variation name>_mem model_full.v) は DDR コアでアクセスできるすべてのアドレスのためのメモリを割り当てます この割り当ては 一般的なシステムで利用可能なことより多くのメモリを必要とするので 大きいメモリ デザイン (2K 以上のアドレス空間 ) をシミュレートするのに不可能になります メモリ モデルの両方は 同様の動作を表示して キャリブレーション時間を持っています 1 SOPC Builder デザインで使用されるメモリ モデル (<variation name>_test_component.v/vhd) は 実際にフル アレイ メモリ モデルの変動です シミュレーションが SOPC Builder で働くのを確保するには 512 メガ ビットの容量以下と共にメモリ モデルを使用します このサンプル ドライバは メモリ インタフェースのセルフ チェック テスト ジェネレータです インタフェースが正常に動作していることを確かめるために メモリから読み出しおよび書き込むのにステート マシンを使用します 以下のテストを実行して テストを無限にループバックします シーケンシャル アドレッシング リードおよびライト ステート マシンはリニア フィードバック シフト レジスタ (LFSR) によって生成された擬似ランダム データをインクリメントするロウ バンク およびコラム アドレスのセットに書き込みます 次に ステート マシンは LFSR をリセットして アドレスの同じセットをリード バックして それが所期のデータに対して受信したデータを比較します サンプル ドライバ ソース コードで Altera Corporation
132 6 18 の MAX_ROW MAX_BANK および MAX_COL 定数を変更することによって 書き込まれるバーストのレングスとパターンを調整することができます そして これらの値を調整することによって 全体のメモリスペースをテストできます test_seq_addr_on 信号をロジック 0 に設定することで このテストを抜かすことができます 不完全なライト動作 ステート マシンはコントローラ バリエーションによるサポートされた最大のバースト サイズより小さくするライト要求のシリーズを発行します そして コントローラが正しい信号をメモリに発行したのを確保するために アドレスはリード バックされます ローカル バースト サイズは 2 のとき このテストはフル レート モードにのみ適用されます test_incomplete_writes_on 信号をロジック 0 に設定することによって このテストを抜かすことができます バイト イネーブル / データ マスク ピン動作 ステート マシンは 2 セットのライト コマンドを発行します 1 番目はアドレス範囲をクリアします 2 番目のセットのライト コマンドでは アサートされる 1 つのバイト イネーブル ビットしかありません 次に ステート マシンは同じアドレスにリード要求を発行し そして データは検証されます このテストは データ マスク ピンが正常に動作しているかどうかチェックします test_dm_pin_on 信号をロジック 0 に設定することによって このテストを抜かすことができます アドレス ピン動作 サンプル ドライバはすべて 0 パターンから始まり ウオーキング 1 パターン ウオーキング 0 パターン そしてすべて 0 パターンで終了するリードおよびライト要求のシリーズを生成します このテストは 個々のアドレス ビットが正常に動作しているのを確保するために チェックされます test_addr_pin_on 信号をロジック 0 に設定することによって このテストを抜かすことができます 低消費電力モード動作 サンプル ドライバはコントローラがメモリをパワーダウンおよびセルフ リフレッシュ ステートに配置するように要求して これらのステートで COUNTER_VALUE 信号によって指定されている時間に保持します メモリの持続時間は低消費電力状態に維持されるのを調整するためにこの値を変えることができます コントローラ バリエーションが低消費電力モード オプションをイネーブルにする場合にのみ このテストは利用可能です サンプル ドライバは 4 つの出力があり どのテストが現在実行しているか そして通過しているかを観察することができます 1 つ以上のエラーが発生すると pass not fail(pnf) 信号が Low になって Low のままになります pass not fail per byte (pnf_per_byte) 信号はバイトで正しくないデータがある場合 Low になりますが 正しいデータが以下のバイトで観測されると 再び High になります test_status 信号は現在実行しているテストを示し どのテストが失敗したかを確定することできます テスト セットの最後のクロック サイクルの間 test_complete 信号は High になります 表 6 11 に 各テスト ステータスのビット マッピングを示します Altera Corporation
133 6 19 ビットテスト 0 シーケンシャル アドレス テスト 1 不完全なライト テスト 2 データ マスク ピン テスト 3 アドレス ピン テスト 4 パワーダウン テスト 5 セルフ リフレッシュ テスト 6 自動プリチャージ テスト 表 6 12 に クロックおよびリセット信号を示します 名称 入力 / 出力 説明 global_reset_n 入力 コントローラへの非同期リセット入力 その他のリセット信号はすべて 再同期化されたこの信号から派生したものです この信号は Low の間 PLL を含む完全な ALTMEMPHY メガファンクションをリセット状態に保持します pll_ref_clk 入力 PLL への基準クロック入力 soft_reset_n 入力 エッジ 検出リセット入力は SOPC Builder の使用または他のシステム リセット ロジックで制御されるのに対象とします PHY 内の使用された PLL ではなく PHY に完全なリセットを発生したの時にアサートされます oct_ctl_rs_value 入力 シリアル終端抵抗値を指定する ALTMEMPHY 信号 ALT_OCT メガファンクション 出力 Seriesterminationcontrol に接続しなければなりません oct_ctl_rt_value 入力 並列終端抵抗値を指定する ALTMEMPHY 信号 ALT_OCT メガファンクション 出力 parallelterminationcontrol に接続しなければなりません dqs_delay_ctrl_import 入力 この ALTMEMPHY インスタンスで別の ALTMEMPHY インスタンスの DLL を使用できるようにします DLL を備えた ALTMEMPHY インスタンスの export ポートを他の ALTMEMPHY インスタンスの import ポートに接続します 表 6 13 に DDR および DDR2 SDRAM HPC のローカル インタフェース信号を示します Altera Corporation
134 6 20 信号名 入力 / 出力 説明 local_address[] 入力 バーストを開始する必要があるメモリ アドレス フル レート コントローラこのバスの幅は以下の式で決まります 1 チップ セレクトの場合 : 幅 = バンク ビット + ロウ ビット + カラム ビット- 1 複数のチップ セレクトの場合 : 幅 = チップ ビット + バンク ビット + ロウ ビット + カラム ビット- 1 バンク アドレスは 2 ビット幅 ロウは 13 ビット幅 およびカラムは 10 ビット幅であると ローカル アドレスは 24 ビット幅です local_address をバンク アドレス ロウ アドレス およびカラム アドレスにマップするには local_address[23:22] = バンク アドレス [1:0] local_address[21:9] = ロウ アドレス [13:0] local_address [8:0] = col_address[9:1] ローカル データ幅はメモリ データ バス幅の 2 倍であるため メモリ サイドのカラム アドレス (4 の倍数 ) の最下位ビット (LSB) は無視されます ハーフ レート コントローラこのバスの幅は以下の式で決まります 1 チップ セレクトの場合 : 幅 = バンク ビット + ロウ ビット + カラム ビット- 2 複数のチップ セレクトの場合 : 幅 = チップ ビット + バンク ビット + ロウ ビット + カラム ビット - 2 バンク アドレスは 2 ビット幅 ロウは 13 ビット幅 およびカラムは 10 ビット幅であると ローカル アドレスは 23 ビット幅です local_address をバンク アドレス ロウ アドレス およびカラム アドレスにマップするには : local_address は 23 ビット幅です local_address[22:21] = バンク アドレス local_address[20:8] = ロウ アドレス [13:0] local_address [7:0] = col_address[9:2] ローカル データ幅はメモリ データ バス幅の 4 倍であるため メモリ サイドのカラム アドレスの 2 つの LSB は無視されます 1 アドレス マッピングの情報は <variation_name>_example_top.v または vhd ファイルから取得できます Altera Corporation
135 6 21 信号名 入力 / 出力 説明 local_be[] 入力 ライト時に個々のバイトをマスクするために使用するバイト イネーブル信号 local_be はアクティブ High mem_dm はアクティブ Low です local_wdataおよびlocal_beをmem_dqおよびmem_dmにマップするには 32 ビット local_wdata および 16 ビット mem_dq を持つフル レート デザインを検討します Local_wdata = < >< AA >< BBCCDDEE > Local_be = < 1100 >< 0110 >< 1010 > これらの値は以下のようにマップします Mem_dq = <4455><2233><88AA><6677><DDEE><BBCC> Mem_dm = <1 1 ><0 0 ><0 1 ><1 0 ><0 1 ><0 1 > local_burstbegin 入力 Avalon バースト開始ストローブで Avalon バーストの開始を示します この信号を使用できるのは ローカル インタフェースが Avalon-MM インタフェースで メモリ バースト レングスが 2 より大きい場合のみです 他のすべての Avalon-MM 信号とは異なり local_ready がディアサートされた場合 バースト開始信号はアサートされたままにはなりません ライト トランザクションの場合 スレーブは local_ready 信号がデアサートされても この信号を各バースト転送の開始時にアサートして この信号をバースト転ごとに 1 クロックの間 High に維持します この信号は local_write_req 信号がアサートされると phy_clk の立ち上がりエッジでサンプリングされます スレーブは local_ready 信号をディアサートした後 local_ready 信号は再び High になるまで マスターはアサートされたすべてのライト要求信号を保持します リード トランザクションの場合は データの local_address をメモリに読み込まれる時に そしてリード リクエストがアサートされた後に この信号を 1 クロック サイクルにアサートします スレーブは local_ready(avalon インタフェースでは waitrequest_n) をディアサートした後 local_ready 信号は再び High になるまで マスターはアサートされたすべてのライト要求信号を保持します local_read_req 入力 リード要求信号 リード要求およびライト要求信号を同時にアサートされることはできません local_refresh_req 入力 ユーザ制御リフレッシュ要求 Enable User Auto-Refresh Controls オプションがオンの場合 local_refresh_req が使用可能になり メモリ要件を満たすために十分なリフレッシュ要求を発行する必要があります このオプションにより 複数のリフレッシュ コマンドを同時に動作させる場合も含めて メモリにリフレッシュが発行されるタイミングを完全に制御することができます リフレッシュ要求は リード要求およびライト要求がすでに処理中でない限り これらの要求よりも優先されます Altera Corporation
136 6 22 信号名 入力 / 出力 説明 local_size[] 入力 要求された メモリへのリードまたはライト アクセスのビート数を制御します この値は 2 進数としてエンコードされます 値の範囲は メモリ バースト レングスと ウィザードでフル レートまたはハーフ レートのどちらを選択するかによって決まります メモリ バースト レングスが 4 で ハーフ レートの場合 ローカル バースト レングスは 1 になるため local_size は常に 1 でドライブする必要があります メモリ バースト レングスが 4 で フル レートの場合 ローカル バースト レングスは 2 で リード要求またはライト要求ごとに local_size に 1 または 2 を設定する必要があります local_wdata[] 入力 ライト データ バス local_wdata の幅は フル レート コントローラの場合はメモリ データ バスの 2 倍で ハーフ レート コントローラの場合はメモリ データ バスの 4 倍です local_write_req 入力 ライト要求信号 リード要求およびライト要求信号を同時にアサートされることはできません local_autopch_req 入力 プリチャージのユーザー コントロール Enable Auto-Precharge Control オプションがオンになっている場合 local_autopch_req は使用可能になり そして コントローラは自動プリチャージ ライトまたは自動プリチャージ リード コマンドを発行するのを要求できます これらのコマンドで メモリはコントローラから明示的なプリチャージ コマンドなしで適切な時間における現在のバンクにプリチャージ コマンドを発行します 現在のリードまたはライトは現在開いているロウに発行する最後のものであるが分かる場合に役立ちます 次回 そのバンクを使用する必要がある場合 アクセスするロウをアクティブにする前にコントローラがバンクをプリチャージする必要がないので アクセスは より迅速であるかもしれません local_powerdn_req 入力 パワーダウン機能のユーザー コントロール Enable Power Down Controls オプションがイネーブルされるとき コントローラは 関連タイミング パラメータに違反しないで できるだけ早期にメモリをパワーダウン状態に配置するのを要求することもでき また local_powerdn_ack 信号をアサートすることによって応答します この信号をアサートしたままで メモリをパワーダウン状態に保持することができます パワーダウン状態に保持する場合 コントローラは 適切な間隔で周期オート リフレッシュ コマンドをメモリに発行するために パワーダウン状態からメモリを解放します パワーダウン状態からメモリを正常に出すと local_powerdn_ack 信号をディアサートすることによって パワーダウン状態からメモリをいつでもリリースすることができます Altera Corporation
137 6 23 信号名入力 / 出力説明 local_self_rfsh_r eq 入力 セルフ リフレッシュ機能のユーザー コントロール Enable Self-Refresh Controls オプションがイネーブルされるとき コントローラはこの信号をアサートすることによって セルフ リフレッシュ ステートにメモリ デバイスを配置するのを要求することもできます コントローラは 関連タイミング パラメータに違反しないで できるだけ早期にメモリをセルフ リフレッシュ状態に配置し また local_self_rfsh_ack 信号をアサートすることによって応答します この信号をアサートしたままで メモリをセルフ リフレッシュ ステートに保持することができます local_self_rfsh_req 信号をディアサートすることによって セルフ リフレッシュ状態からメモリをいつでもリリースすることができます また コントローラはセルフ リフレッシュ状態からメモリを正常に出すと local self_rfsh_ack 信号をディアサートすることによって応答します phy_clk 出力 ALTMEMPHY メガファンクションがユーザに提供するシステム クロック すべてのユーザー入力及び DDR の高性能コントローラーからの出力はこのクロックと同期する必要があります reset_phy_clk_n 出力 ALTMEMPHY メガファンクションがユーザーに提供するリセット信号 phy_clk クロック ドメインに非同期にアサートされ 同期的にディアサートされます aux_full_rate_clk 出力 ALTMEMPHY メガファンクションがユーザに提供する代替クロック このクロックは 外部メモリ インタフェースと同じ周波数である必要があります ハーフ レート モードの場合 このクロックは 2 倍の phy_clk 周波数であり また 2x クロックを要求するときに使用できます フル レート モードの場合 このクロックは phy_clk 信号と同じ PLL 出力でドライブされます aux_half_rate_clk 出力 ALTMEMPHY メガファンクションがユーザに提供する代替クロック このクロックは常に外部メモリ インタフェースとして周波数の半分で実行されます フル レート モードの場合 このクロックは phy_clk 周波数の半分であり またハーフ レートブリッジのユーザー サイドをクロックするのに使用できます ハーフ レート モードの場合 このクロックは phy_clk 信号と同じ PLL 出力でドライブされます dll_reference_clk 出力 外部でインスタンス化された DLL に供給される基準クロック reset_request_n 出力 PLL 出力がロックされていないことを示すリセット要求出力 任意のシステム レベル リセット コントローラへのリセット要求入力としてこの信号を使用します PLL がロックしている間 この信号は常に Low です したがって この信号を使用するどのリセット ロジックにも レベル検出ではなく 立ち下がりエッジでリセット要求を検出すべきです Altera Corporation
138 6 24 信号名入力 / 出力説明 local_init_done 出力 メモリ初期化 トレーニング およびキャリブレーションが終了すると ALTMEMPHY シーケンサは ctrl_usr_mode_rdy 信号をメモリ コントローラにアサートします そして メモリ インタフェースが使用できる状態であることを示すために この信号がアサートされます リード要求とライト要求は local_init_done がアサートされる前でも受け付けられますが それらの要求は安全に発行できるようになるまではメモリに発行されません この信号は キャリブレーションが成功すると示されません キャリブレーションが成功するかどうかを調べるとき Stratix IV デバイスに対してキャリブレーション信号 resynchronization_successful または postamble_successful を検索します local_rdata[] 出力 リード データ バス local_wdata の幅は フル レート コントローラの場合はメモリ データ バスの 2 倍で ハーフ レート コントローラの場合はメモリ データ バスの 4 倍です local_rdata_error 出力 現在のリード データにエラーがある場合にアサートされます Enable Error Detection and Correction Logic オプションがオンになっている場合にのみ この信号が使用されます この信号は local_rdata_valid 信号と共にアサートされます コントローラがダブル ビット エラーを検出すると 訂正が行われなくて コントローラがこの信号をアサートします local_rdata_valid 出力 リード データ有効信号 local_rdata_valid 信号は リード データ バス上に有効なデータが存在することを示します local_ready 出力 local_ready 信号は DDR または DDR2 SDRAM 高性能コントローラが要求信号を受け付ける準備ができていることを示します local_ready が リードまたはライト要求がアサートされるクロック サイクルでアサートされる場合 その要求はすでに受け付けられています local_ready 信号がディアサートされると DDR または DDR2 SDRAM 高性能コントローラがこれ以上要求を受け付けることができないことを示します コントローラは最大 4 つのリード要求またはライト要求をバッファできます local_refresh_ack 出力 リフレッシュが発行されるたびに 1 クロック サイクルの間アサートされるリフレッシュ要求確認です Enable User Auto-Refresh Controls オプションが選択されていない場合でも local_refresh_ack は コントローラがリフレッシュ コマンドを発行したことをローカル インタフェースに示します local_wdata_req 出力 ライト データ要求信号 次のクロック エッジで有効なライト データを提示する必要があることをローカル インタフェースに示します コントローラは Native interface モードで動作しているときにのみ この信号が必要になります local_powerdn_ack 出力 パワーダウン要求確認信号 この信号はユーザーからの local_powerdn_req 信号に応えて アサートおよびディアサートされます local_self_rfsh_a ck 出力 セルフ リフレッシュ要求確認信号 この信号はユーザーからの local_self_rfsh_req 信号に応えて アサートおよびディアサートされます 表 6 14 に DDR および DDR2 SDRAM インタフェース信号を示します Altera Corporation
139 6 25 信号名 入力 / 出力 説明 mem_dq[] 双方向 メモリ データ バス このバスはローカル リードおよびライト データ バスの幅の半分です mem_dqs[] 双方向 メモリ データ ストローブ信号 DDR または DDR2 SDRAM にデータを書き込み アルテラ デバイスへのリード データをキャプチャします mem_clk (1) 双方向 メモリ デバイスのクロック mem_clk_n (1) 双方向 メモリ デバイスの反転クロック mem_a[] 出力 メモリ アドレス バス mem_ba[] 出力 メモリ アドレス バス mem_cas_n 出力 メモリ カラム アドレス ストローブ信号 mem_cke[] 出力 メモリ クロック イネーブル信号 mem_cs_n[] 出力 メモリ チップ セレクト信号 mem_dm[] 出力 メモリ データ マスク信号 ライト時に個々のバイトをマスクします mem_odt[] 出力 メモリ On-Die Termination コントロール信号 (DDR2 SDRAM のみ ) mem_ras_n 出力 メモリ ロウ アドレス ストローブ信号 mem_we_n 出力 メモリ ライト イネーブル信号 表 6 14 の注 : (1) mem_clk 信号は FPGA からの出力専用信号です ただし Quartus II ソフトウェアでは これらは双方向 (INOUT)I/O として定義し ALTMEMPHY メガファンクションが使用する模擬パス構造をサポートする必要があります 表 6 15 に ECC ロジックの信号を示します 信号名 入力 / 出力 説明 ecc_addr[] 入力 ECC ロジックのアドレス ecc_be[] 入力 ECC ロジックのバイト イネーブル ecc_read_req 入力 ECC ロジックのリード要求 ecc_wdata[] 入力 ECC ロジックのライト データ ecc_write_req 入力 ECC ロジックのライト要求 ecc_interrupt 出力 ECC ロジックからの割り込み ecc_rdata[] 出力 ECC ロジックからのリターン データ Altera Corporation
140 6 26 Altera Corporation
141 7. 高性能コントローラ II(HPC II) アーキテクチャは HPC より高い効率とさらに多くの特長があるアップグレードしたコントローラです HPC II はすべてのデザインに推奨されます HPC II は既存の DDR 高性能デザインに互換性のあるピン配置です HPC II は以下の追加機能を備えています 順序よくリードおよびライト コマンドの高効率 および異常があるバンク管理コマンド コントローラの動作をコンフィギュレーションするためのランタイム プログラマビリティ メモリ アクセス レイテンシを低減するためのハーフ レート ブリッジオプション 統合されたバースト アダプタはローカル インタフェース上でバースト サイズの範囲をサポートします 統合された ECC は 部分的なワード書き込みおよびエラー上でオプションのライト バックを使用して 40 ビットおよび 72 ビット インタフェースをサポートします マルチランク UDIMM および RDIMM のサポート デザインを既存の HPC からより効率的な HPC II にマイグレーションする場合 以下を実行することを確認してください Preset Editor ダイアログ ボックスでは 以下のタイミング パラメータを割り当てて メモリ仕様を合わせます メモリ データシートに従って これらのパラメータを設定します t FAW t RRD t RTP 例えば Micron DDR3-800 データシートには t FAW =40 ns t RRD =10 ns t RTP =10 ns Avalon-MM インタフェースを使用する場合 HPC II はトップレベル変更を必要とせずに AFI と Avalon インタフェースに対してポート インタフェースを置き換えます Altera Corporation
142 7 2 HPC II に対して 側波帯信号は多少異なります これらの信号を使用する場合 次のステップを実行する必要があります local_refresh_req どのチップにユーザー リフレッシュを発行するかを制御するために 追加アクティブ High 信号 local_refresh_chip をドライブする必要があります local_powerdn_req HPC II でユーザー マニュアル パワー信号はサポートされなくなります 代わりに MegaWizard Plug-In Manager の Controller Settings タブで自動パワー ダウンを選択でき そして コントローラが自動的にメモリをパワー ダウンしてから目的のタイム アウト (n サイクル ) を指定します HPC II は特定のメモリのバースト レングスのみをサポートするので 表 7 1 でコントローラ設定を合わせるようにメモリのバースト レングスをアップデートする必要があります コントローラ HPC HPC II DDR 2 および 4 のバースト レングス フル レート モードにお DDR2 4 のバースト レングスける 4 のバースト レングス およびハーフ レー ト モードにおける 8 の バースト レングス HPC II は 1 ~ 64 の範囲の任意のユーザー バースト レングスをサポートするため HPC II における max_local_size 値を調整することができます 最大ローカル サイズ値を調整することによって local_size 信号の幅が変化します 最大 local_size 信号の値は 2 n 1 であり ここで n は local_size 信号の幅です HP には 1 または 2 の固定 local_size 信号幅があります Altera Corporation
143 7 3 図 7 1 に DDR または DDR2 SDRAM HPC II のトップレベルのブロック図を示します 図 7 1 の注 : local_addr local_be local_burstbegin local_read_req local_refresh_req local_refresh_chip local_size local_wdata local_write_req local_autopch_req local_self_rfsh_req local_multicast csr_addr csr_read_req csr_wdata csr_write_req local_init_done local_rdata local_rdata_valid local_rdata_error local_ready local_refresh_ack local_wdata_req local_powerdn_ack local_self_rfsh_ack ecc_interrupt csr_rdata csr_rdata_valid csr_waitrequest (1) DDR2 SDRAM HPC II 用のみ DDR/DDR2 SDRAM II ALTMEMPHY mem_a mem_ba mem_cas_n mem_cke mem_cs_n mem_dq mem_dqs mem_dm mem_odt (1) mem_ras_n mem_we_n 図 7 2 に DDR または DDR2 SDRAM HPC II アーキテクチャのブロック図を示します Altera Corporation
144 7 4 Avalon-MM FIFO ECC ECC ECC ECC ODT AFI Avalon-MM CSR PHY 図 7 2 のブロックについては 以下の項で説明しています Avalon-MM データ スレーブ インタフェースは Avalon-MM マスタからのリードおよびライト要求を受け入れます データ バスの幅 local_wdata および local_rdata は外部メモリ インタフェースの幅の 2 倍または 4 倍です ここで フル レートまたはハーフ レートのいずれかを選択することによって異なります ローカル アドレス幅のサイズはメモリ チップ ロウ バンク およびカラム アドレス幅に基づいています 例 : 複数のチップ セレクトの場合 : 幅 = チップ ビット + ロウ ビット + バンク ビット + カラム - N シングル チップ セレクトの場合 : 幅 = ロウ ビット + バンク ビット + カラム - N Altera Corporation
145 7 5 ここで フル レート コントローラの場合およびハーフ レート コントローラの場合は それぞれ N = 1 と 2 です Avalon-MM トランザクションごとに リードおよびライト要求の数は最大 64 のローカル バースト カウントまで可能です アルテラでは システム マスターのサポートされたバースト カウントに一致するように この最大バースト カウントを設定することを推奨しています データがメイン ステート マシンによって必要とされるまで ライト データ FIFO バッファはユーザー ロジックからライト データおよびバイト イネーブルを保持します コマンド キューまたはライト データ FIFO バッファのいずれかがフルになったとき local_ready 信号がデアサートされます ライト データ FIFO バッファはライト データおよびバイト イネーブル信号を格納するほど十分広いです コマンド キューは コントローラが最大 8 つの連続するリードまたはライトをバッファすることができます コマンド キューは 先読みバンク管理に対して 内部ロジックに次の 4 6 または 6 回のアクセスを提示します より深い先読の場合 バンク管理が効率的ですが 深いキューはより多くのリソースを消費し そして最大周波数劣化が生じる可能性があります また 受信コマンドの格納を除いて コマンド キューは選択されるアドレス マッピングのオプションに基づいて ローカル アドレスをメモリ アドレスにもマップします デフォルトで コマンド キューはバンク インタリービング手法を活用します ここで アドレス インクリメントはページ ヒットの可能性を高めるために 次のロウの代わりに次のバンクに送られます バンク管理ロジックは 複数のチップで各バンクにある現在の状態を追跡します メモリ システム内のすべてのバンクで開いているロウを保持することができます コマンドがステートマシンによって発行されと バンク管理ロジックは最新のバンク ステータスでアップデートされます 先行機能で メイン ステート マシンは早期バンク管理コマンドを発行できます 自動プリチャージ機能で コントローラはオープン ページ ポリシーおよびクロース ページ ポリシーをサポートします オープン ページ ポリシーの場合 各バンク内の最後のアクセスのロウが開いたままになります しかしながら クロース ページ ポリシーの場合 それが使用された後に バンクは閉じています タイマ ロジックはメモリ インタフェースの各バンクのステートをモデル化します タイマ ロジックは各バンクのステートの内部動作をモデル化して ステータス出力信号をステート マシンに供給します そして ステート マシンは タイマ ステータス信号に基づく先行バンク管理コマンドを発行するかどうかを決定します Altera Corporation
146 7 6 コマンドが発行したステート マシンはコマンド キュー バンク管理ロジック およびタイマ ロジックからの入力に基づいて 発行する DDR コマンドを決定します コマンドが発行したステート マシンが 2 つのモードで動作します ; フル レートまたはハーフ レートです フル レート ステート マシンは 1T アドレスとコマンドをサポートし かつメモリ バースト レングス 4 を常に発行します ハーフ レート ステート マシンは 2T アドレスとコマンドをサポートし かつメモリ バースト レングス 8 を常に発行します 1 より長いメモリ バースト レングス ( この場合 8 つのビート ) は コマンド サイクルの同じ量に対して多くのデータ サイクルを可能にすることにより コマンド帯域幅が上昇します また より長いメモリ バースト レングスはより効果的な先行バンク管理を確認する多くのコマンド サイクルも提供しています しかしながら 長いメモリのバースト レングスは 発行したバーストのデータはバーストをいっぱいにならない場合は 効率的に良くありません このステート マシンは 1 ~ 64 の任意のローカル バースト カウントを受け入れます このステート マシンのビルトイン バースト アダプタは最も効率的なメモリ バーストにローカル バース カウントをマップします そして ステート マシンは 非整列のメモリ バースト 境界アドレスで開始するリードおよびライトをサポートします 効率的なコマンド バス帯域幅に関して このステート マシンは ACT コマンドの直後に リードおよびライトを発行する追加のレイテンシをサポートします このステート マシンはクロック サイクル単位 (t CK ) において t RCD - 1 と等しいかそれ以上である追加のレイテンシ値を受け入れます メイン ステート マシンがメモリにコマンドを発行する際 1 セットの内部信号をアサートします アドレスおよびコマンド デコード ロジックは これらの信号を AFI 特定のコマンドおよびアドレスに変えます このブロックは以下の信号を生成します クロック イネーブルおよびリセット信号 : afi_cke afi_rst_n コマンドおよびアドレス信号 : afi_cs_n afi_ba afi_addr afi_ras_n afi_cas_n afi_we_n ライトおよびリード データパス およびライト データ タイミング ロジックは AFI リードとライト コントロール信を生成します ステート マシンがライト コマンドをメモリに発行するとき ライト データ FIFO バッファから そのライト バーストのライト データをフェッチする必要があります ライト コマンドおよびライト データの関係は afi_wlat 信号によって異なります このロジックはライト データ FIFO リード要求信号を示すので データは正しい時間に外部メモリ インタフェース DQ ピンに到達します ライト中に 以下の AFI 信号はステート マシン出力および afi_wlat 信号に基づいて生成されます afi_dqs_burst Altera Corporation
147 7 7 afi_wdata_valid afi_wdata afi_dm リード中に afi_doing_read 信号は afi_rdata_valid 信号を生成して ALTMEMPHY ポストアンブル回路を制御します ODT 生成ロジックは アルテラによって推奨された手法に基づいて DDR2 メモリ デバイスに対する必要な ODT 信号を生成します 図 7 2 に DDR2 SDRAM に対して隣接している DIMM の上でどの ODT 信号がイネーブルされるかを示します ライト オンまたはリード オン mem_cs[0] mem_cs[1] mem_cs[2] mem_cs[3] イネーブルされた ODT mem_odt[2] mem_odt[3] mem_odt[0] mem_odt[1] ユーザー制御の側波帯信号は 次の信号から構成されています 自動プリチャージ リードおよび自動プリチャージ ライト コマンドで このリードおよびライトが現在開いているロウに最後のアクセスであることをメモリ デバイスに示すことができます 同じバンクへの次のアクセスは より迅速になるように メモリ デバイスは現在アクセスしているページを自動的に閉じるか または自動プリチャージします このコマンドはランダム アクセス時間が必要なアプリケーションに対して便利です リードまたはライト要求中に local_autopch 信号をアサートすることで自動プリチャージを要求することもできます ユーザー リフレッシュ コマンドはリフレッシュ モードにメモリを配置する要求をイネーブルします ユーザー リフレッシュ コントロールはリードまたはライト要求よりも優先されます 最大 9 つの連続するリフレッシュ コマンドをメモリに発行できます マルチ キャスト ライト要求信号はコントローラに対して 現在のライト要求をすべてのチップ セレクトに送るよう要求することができます これは ライト データがシステムのすべてのランクに書き込まれていることを意味します マルチ キャスト ライトは t RC の緩和に便利です ここで t RC を押さずに データを継続的に読み出すために チップを通してサイクルできます ECC および RDIMM モードでは マルチ キャスト ライトがサポートされません Altera Corporation
148 7 8 低消費電力モード ロジックの 2 つのタイプがあります : ユーザー制御セルフ リフレッシュ ロジックおよびプログラマブル タイム アウト ロジックによる自動パワーダウン local_self_rfsh_req 信号をアサートすると コントローラは すべての保留中のリードおよびライトを完了して メモリをセルフ リフレッシュ モードに配置します コントローラはセルフ リフレッシュ モードにメモリを配置すると 確認信号 local_self_rfsh_ack をアサートすることによって応答します 選ぶ限り メモリはセルフ リフレッシュ モードにしておくことができます セルフ リフレッシュ モードからメモリを出すには 要求信号をアサートする必要があり そして コントローラがメモリはもうセルフ リフレッシュ モードに存在しないとき 確認信号をディアサートすることによって応答します アイドル コントローラ クロック サイクルの要求した数はコントローラで観測される場合 コントローラは パワーを節約するのに自動的にメモリをパワー ダウン モードに配置します Controller Settings タブの Auto Power Down Cycles パラメータで 1 ~ 65,535 のアイドル コントローラ クロック サイクルの範囲を指定できます プログラマブル タイムアウトのカウンタはコマンド キューにおけるユーザのリードまたはライト要求が存在しないときに開始されます コントローラはパワーダウン モードにメモリを配置すると 確認信号 local_powerdown_ack をアサートすることによって応答します コンフィギュレーションおよびステータス レジスタ インタフェースは Avalon-MM インタフェース規格を使用する 32 ビット幅インタフェースです CSR インタフェースでタイミング パラメータ アドレス幅 およびコントローラの動作をコンフィギュレーションできます この機能を必要としない場合 それをディセーブルすることができ そして 生成プロセスの間にすべてのプログラマブル設定がコンフィギュレーションされた値に固定されています このインタフェースはコントローラ クロックと同期です レジスタ マップの詳細は ページ 7 21 の表 7 9 ~ 表 7 23 を参照してください オプションの ECC ロジックは エンコーダとデコーダ コレクタで構成されており シングル ビット エラーの検出と訂正 ダブル ビット エラーの検出を行います ECC ロジックは 2 の幅で使用可能です ;64/72 ビットおよび 32/40 ビットです ECC ロジックは以下の特長を備えています 64 または 32 ビットの各データを 72 または 40 ビットの符号語にエンコードする Hamming コード ECC です レイテンシはライトおよびリードの両方に対して 1 クロックを増加します すべてのシングル ビット エラーを検出し 訂正します すべてのダブル ビット エラーを検出します Altera Corporation
149 7 9 シングル ビットおよびダブル ビット エラーの数をカウントします dm ピンのあるメモリ デバイスに対して リード モディファイ ライト サイクルを開始する部分的書き込みを受け入れます テストおよびデバッグ用に ECC 訂正を開始するには シングル ビットおよびダブル ビット エラーをインジェクトすることができます エラーが発生したときに 割り込み信号を生成します シングル ビットおよびダブル ビット エラーが発生したとき ECC エラーが発生したことを知らせるために ECC ロジックは ecc_interrupt 信号を開始します シングル ビット エラーが発生する際 ECC ロジックはエラー アドレスに内部リードを発行して 訂正されたデータをライト バックするのに内部ライトを実行します ダブル ビット エラーが発生する際 ECC ロジックはどんな誤り訂正もしませんが データが不正であることを表すために local_rdata_error 信号をアサートします local_rdata_error 信号は local_rdata_valid 信号と同じタイミングに従います 自動訂正をイネーブルすると 訂正が完了するまで ECC ロジックはすべてのコントローラ保留中のアクティビティを留保することができます コントローラはアイドルであるとき より良いシステム効率を確認するには 自動訂正をディセーブルおよび訂正を手動で計画するのを選択できます ECC エラーを手動で訂正するには 以下のステップを実行します 1. 割り込みが発生したとき SBE_ERROR レジスタを読み出します シングル ビット エラーが発生したとき SBE_ERROR レジスタは 1 に相当します 2. ERR_ADDR レジスタを読み出します 3. 以下のいずれかを実行することにより シングル ビット エラーを訂正します ERR_ADDR レジスタに格納されるメモリ アドレスにダミー ライトを発行します ダミー ライトは local_be 信号ゼロのあるライト要求であり 効果的なリード モディファイ ライト イベントである部分書き込みを開始します 部分書き込みはそのアドレスでデータを訂正して それを再び書き込みます または CSR インタフェースを使用して ENABLE_AUTO_CORR レジスタをイネーブルし また ERR_ADDR レジスタに格納されるメモリ アドレスにリード要求を発行します リード要求は ERR_ADDR レジスタに格納されるメモリ アドレスに自動誤り訂正を開始します ECC は部分的書き込みをサポートします アドレス信号 データ信号 およびバースト信号に加え Avalon-MM インタフェースは バイト イネーブルのための信号ベクタ local_be もサポートします この信号ベクタの各ビットは データ バス上の 1 バイトを表します したがって これらの任意のビットのロジック Low は コントローラがその特定のバイトに書き込みを行えないように指示します ( 部分的書き込み ) ECC コードはデータ バスのすべてのバイトで計算されます いずれかのバイトが変更された場合 ECC コードを再計算および新しいコードをメモリに書き戻す必要があります 部分的書き込みの場合 ECC ロジックは以下のステップを実行します Altera Corporation
150 ECC ロジックはリード コマンドを部分的書き込みアドレスに送信します 2. 特定のアドレスに対して メモリからリターン データを受信すると ECC はデータをデコードし エラーをチェックし そして訂正されたデータワードまたは正しいデータワードと受信情報をマージします 3. ECC ロジックはアップデートされたデータと ECC コードをライト バックするのに 書き込みを発行します 以下のコーナー ケースが発生する可能性があります リード モディファイ ライト プロセスのリード フェーズ中のシングル ビット エラー この場合 シングル ビット エラーが最初に訂正され シングル ビット エラー カウンタがインクリメントされ この訂正済みのデコードされたデータ ワードに部分的書き込みが実行されます リード モディファイ ライト プロセスのリード フェーズ中のダブル ビット エラー この場合 ダブル ビット エラー カウンタがインクリメントされ 割り込みが発行されます 新しいライト ワードは その場所に書き戻されます ECC ステータス レジスタは エラー情報を追跡します 図 7 3 および図 7 4 に HPC II の部分書き込み動作を示します local_address local_size local_be X1 XF local_wdata ABCDEF mem_dm mem_dq 67 R R R EF CD AB 89 図 7 3 の注 : (1) R はリード モディファイ ライト プロセス中の内部リード バック メモリ データを表します local_address local_size local_be local_wdata 0 1 X mem_dm mem_dq 67 R R R 図 7 4 の注 : (1) R はリード モディファイ ライト プロセス中の内部リード バック メモリ データを表します Altera Corporation
151 7 11 DIMM には DM ピンがないため部分的バーストをサポートしません 最低 4 ワード ( ハーフ レート ) または 8 ワード ( フル レート ) を同時にメモリに書き込む必要があります 図 7 5 に HPC II の部分的バースト動作を示します local_address local_size local_be local_wdata 0 1 X mem_dm mem_dq MegaWizard Plug-In Manager は DDR または DDR2 SDRAM HPC II のインスタンス化および接続方法を示すトップ レベル ファイルの例を作成します このトップ レベル ファイルの例は DDR または DDR2 SDRAM HPC II そのコントローラにリードおよびライト要求を発行するいくつかのドライバ ロジック 必要なクロックを作成する PLL および DLL(Stratix シリーズのみ ) で構成されます このトップ レベル ファイルの例は コンパイルしてスタティック タイミング チェックとボード テストの両方に使用できるワーキング システムです 図 7 6 に テストベンチとトップ レベル ファイルの例を示します pnf test_complete DDR SDRAM ALTMEMPHY DLL clock_source PLL 表 7 3 に このトップ レベル ファイルの例とテストベンチに関連するファイルを示します Altera Corporation
152 7 12 ファイル名 <variation name>_example_top_tb.v または.vhd <variation name>_example_top.v または.vhd <variation name>_mem_model.v または.vhd <variation name>_full_mem_model.v または.vhd <variation name>_example_driver.v または.vhd <variation name>.v または.vhd <variation name>.qip 説明 トップ レベル ファイル例のテストベンチ トップ レベル ファイルの例 アソシアティブ アレイ メモリ モデル フル アレイ メモリ モデル サンプル ドライバ カスタム MegaCore ファンクションのトップレベルの記述 MegaCore ファンクション バリエーション用の Quartus II プロジェクト情報が含まれています 使用可能な 2 つのアルテラが生成したメモリ モデルがあります アソシアティブ アレイ メモリ モデルおよびフル アレイ メモリ モデルです アソシアティブ アレイ メモリ モデル (<variation name>_mem model.v) は 2,048 または 2K のアドレス空間のデフォルト容量を備えたメモリ アドレスの低減セットを割り当てます この割り当ては 間単に副アレイの深度をリコンフィギュレーションできるより大きなメモリ アレイ コンパイルおよびシミュレーションが可能です フル アレイ メモリ モデル (<variation name>_mem model_full.v) は DDR コアでアクセスできるすべてのアドレスのためのメモリを割り当てます この割り当ては 大きいメモリ デザインをシミュレートするのに不可能になります メモリ モデルの両方は 同様の動作を表示して キャリブレーション時間を持っています 1 SOPC Builder デザインで使用されるメモリ モデル (<variation name>_test_component.v/vhd) は 実際にフル アレイ メモリ モデルの変動です シミュレーションが SOPC Builder で働くのを確保するには 512 メガ ビットの容量以下と共にメモリ モデルを使用します このサンプル ドライバは メモリ インタフェースのセルフ チェック テスト ジェネレータです それは インタフェースが正常に動作していることを確かめるために メモリから読み出しおよび書き込むのにステート マシンを使用します サンプル ドライバは 以下のテストを実行して テストを無限にループバックします シーケンシャル アドレッシング リードおよびライト ステート マシンはリニア フィードバック シフト レジスタ (LFSR) によって生成された擬似ランダム データをインクリメントするロウ バンク およびコラム アドレスのセットに書き込みます 次に ステート マシンは LFSR をリセットして アドレスの同じセットをリード バックして それが所期のデータに対して受信したデータを比較します サンプル ドライバ ソース コードで Altera Corporation
153 7 13 の MAX_ROW MAX_BANK および MAX_COL 定数を変更することによって 書き込まれるバーストのレングスとパターンを調整することができます そして これらの値を調整することによって 全体のメモリスペースをテストできます test_seq_addr_on 信号をロジック 0 に設定することによって このテストを抜かすことができます 不完全なライト動作 ステート マシンはコントローラ バリエーションによるサポートされた最大のバースト サイズより小さくするライト要求のシリーズを発行します そして アドレスは コントローラが正しい信号をメモリに発行したのを確保するためにリード バックされます ローカル バースト サイズは 2 のとき このテストはフル レート モードにのみ適用されます test_incomplete_writes_on 信号をロジック 0 に設定することによって このテストを抜かすことができます バイト イネーブル / データ マスク ピン動作 ステート マシンは 2 セットのライト コマンドを発行します 1 番目はアドレス範囲をクリアします 2 番目のセットのライト コマンドでは アサートされる 1 つのバイト イネーブル ビットしかありません 次に ステート マシンは同じアドレスにリード要求を発行し そして データは検証されます このテストは データ マスク ピンが正常に動作しているかどうかチェックします test_dm_pin_on 信号をロジック 0 に設定することによって このテストを抜かすことができます アドレス ピン動作 サンプル ドライバはすべて 0 パターンから始まり ウオーキング 1 パターン ウオーキング 0 パターン そしてすべて 0 パターンで終了するリードおよびライト要求のシリーズを生成します このテストは 個々のアドレス ビットが正常に動作しているのを確保するために チェックされます test_addr_pin_on 信号をロジック 0 に設定することによって このテストを抜かすことができます 低消費電力モード動作 サンプル ドライバはコントローラがメモリをパワーダウンおよびセルフ リフレッシュ ステートに配置するように要求して これらのステートで COUNTER_VALUE 信号によって指定されている時間に保持します メモリの持続時間は低消費電力状態に維持されるのを調整するためにこの値を変えることができます コントローラ バリエーションが低消費電力モード オプションをイネーブルにする場合にのみ このテストは利用可能です サンプル ドライバは 4 つの出力があり どのテストが現在実行しているか そして通過しているかを観察することができます 1 つ以上のエラーが発生すると pass not fail(pnf) 信号が Low になって Low のままになります pass not fail per byte (pnf_per_byte) 信号はバイトで正しくないデータがある場合 Low になりますが 正しいデータが以下のバイトで観測されると 再び High になります test_status 信号は現在実行しているテストを示し どのテストが失敗したかを確定することできます テスト セットの最後のクロック サイクルの間 test_complete 信号は High になります 表 7 4 に 各テスト ステータスのビット マッピングを示します Altera Corporation
154 7 14 ビットテスト 0 シーケンシャル アドレス テスト 1 不完全なライト テスト 2 データ マスク ピン テスト 3 アドレス ピン テスト 4 パワーダウン テスト 5 セルフ リフレッシュ テスト 6 自動プリチャージ テスト 表 7 5 に クロックおよびリセット信号を示します 名称 入力 / 出力 説明 global_reset_n 入力 コントローラへの非同期リセット入力 その他のリセット信号はすべて 再同期化されたこの信号から派生したものです この信号は Low の間 PLL を含む完全な ALTMEMPHY メガファンクションをリセット状態に保持します pll_ref_clk 入力 PLL への基準クロック入力 phy_clk 出力 ALTMEMPHY メガファンクションがユーザに提供するシステム クロック DDR HPC II からの出力と DDR HPC II への入力のすべてのユーザーは このクロックに同期する必要があります reset_phy_clk_n 出力 ALTMEMPHY メガファンクションがユーザに提供するリセット信号 phy_clk クロック ドメインに非同期にアサートされ 同期的にディアサートされます aux_full_rate_clk 出力 ALTMEMPHY メガファンクションがユーザに提供する代替クロック このクロックは 外部メモリ インタフェースと同じ周波数である必要があります ハーフ レート モードの場合 このクロックは 2 倍の phy_clk 周波数であり また 2x クロックを要求するときに使用できます フル レート モードの場合 このクロックは phy_clk 信号と同じ PLL 出力でドライブされます aux_half_rate_clk 出力 ALTMEMPHY メガファンクションがユーザに提供する代替クロック このクロックは常に外部メモリ インタフェースとして周波数の半分で実行されます フル レート モードの場合 このクロックは phy_clk 周波数の半分であり またハーフ レートブリッジのユーザー サイドをクロックするのに使用できます ハーフ レート モードの場合か それとも Enable Half Rate Bridge オプションがオンになっている場合 このクロックは phy_clk 信号をドライブする同じ PLL 出力によってドライブされます dll_reference_clk 出力 外部でインスタンス化された DLL に供給される基準クロッ ク Altera Corporation
155 7 15 名称 入力 / 出力 説明 reset_request_n 出力 PLL 出力がロックされていないことを示すリセット要求出力 任意のシステム レベル リセット コントローラへのリセット要求入力としてこの信号を使用します PLL がロックしている間 この信号は常に Low です したがって この信号を使用するどのリセット ロジックにも レベル検出ではなく 立ち下がりエッジでリセット要求を検出すべきです soft_reset_n 入力 エッジ 検出リセット入力は SOPC Builder の使用または他のシステム リセット ロジックで制御されるのに対象とします PHY 内の使用された PLL ではなく PHY に完全なリセットを発生するのためにアサートされます oct_ctl_rs_value 入力 直列終端抵抗値を指定する ALTMEMPHY 信号 ALT_OCT メガファンクション出力 seriesterminationcontrol に接続しなければなりません oct_ctl_rt_value 入力 並列終端抵抗値を指定する ALTMEMPHY 信号 ALT_OCT メガファンクション出力 parallelterminationcontrol に接続しなければなりません dqs_delay_ctrl_import 入力 この ALTMEMPHY インスタンスで別の ALTMEMPHY インスタンスの DLL を使用できるようにします DLL を備えた ALTMEMPHY インスタンスの export ポートを他の ALTMEMPHY インスタンスの import ポートに接続します 表 7 6 に DDR および DDR2 SDRAM HPC II のローカル インタフェース信号を示します Altera Corporation
156 7 16 信号名 入力 / 出力 説明 local_address[] 入力 バーストを開始する必要があるメモリ アドレス デフォルトで ローカル アドレスはバンク インタリーブ手法にマップされます Controller Settings ページの Local-to-Memory Address Mapping オプションを使用して オーダリングを変更することができます このバスの幅は以下の式で決まります フル レート コントローラこのバスの幅は以下の式で決まります 1 チップ セレクトの場合 : 幅 = ロウ ビット + バンク ビット + カラム ビット - 1 複数のチップ セレクトの場合 : 幅 = チップ ビット + ロウ ビット + バンク ビット + カラム ビット - 1 バンク アドレスは 2 ビット幅 ロウは 13 ビット幅 およびカラムは 10 ビット幅であると ローカル アドレスは 24 ビット幅です local_address をバンク アドレス ロウ アドレス およびカラム アドレスにマップするには : local_address は 24 ビット幅です local_address[23:11] = ロウ アドレス [12:0] local_address[10:9] = バンク アドレス [1:0] local_address [8:0] = カラム アドレス [9:1] ローカル データ幅はメモリ データ バス幅の 2 倍であるため メモリ サイドのカラム アドレス (4 の倍数 ) の最下位ビット (LSB) は無視されます ハーフ レート コントローラこのバスの幅は以下の式で決まります 1 チップ セレクトの場合 : 幅 = ロウ ビット + バンク ビット + カラム ビット - 2 複数のチップ セレクトの場合 : 幅 = チップ ビット + ロウ ビット + バンク ビット + カラム ビット - 2 バンク アドレスは 2 ビット幅 ロウは 13 ビット幅 およびカラムは 10 ビット幅であると ローカル アドレスは 23 ビット幅です local_address をバンク アドレス ロウ アドレス およびカラム アドレスにマップするには : local_address は 23 ビット幅です local_address[22:10] = ロウ アドレス [12:0] local_address[9:8] = バンク アドレス [1:0] local_address [7:0] = カラム アドレス [9:2] ローカル データ幅はメモリ データ バス幅の 4 倍であるため メモリ サイドのカラム アドレスの 2 つの LSB は無視されます Altera Corporation
157 7 17 信号名 入力 / 出力 説明 local_be[] 入力 ライト時に個々のバイトをマスクするために使用するバイト イネーブル信号 local_be はアクティブ High mem_dm はアクティブ Low です local_wdataおよびlocal_beをmem_dqおよびmem_dmにマップするには 32 ビット local_wdata および 16 ビット mem_dq を持つフル レート デザインを検討します Local_wdata = < >< AA >< BBCCDDEE > Local_be = < 1100 >< 0110 >< 1010 > これらの値は以下のようにマップします Mem_dq = <4455><2233><88AA><6677><DDEE><BBCC> Mem_dm = <1 1 ><0 0 ><0 1 ><1 0 ><0 1 ><0 1 > local_burstbegin 入力 Avalon バースト開始ストローブで Avalon バーストの開始を示します 他のすべての Avalon-MM 信号とは異なり local_ready がディアサートされた場合 バースト開始信号はアサートされたままにはなりません ライト トランザクションの場合 スレーブは local_ready 信号がデアサートされても この信号を各バースト転送の開始時にアサートして この信号をバースト転ごとに 1 クロックの間 High に維持します この信号は local_write_req 信号がアサートされると phy_clk の立ち上がりエッジでサンプリングされます スレーブは local_ready 信号をディアサートした後 local_ready 信号は再び High になるまで マスターはアサートされたすべてのライト要求信号を保持します リード トランザクションの場合は データの local_address をメモリに読み込まれる時に そしてリード リクエストがアサートされた後に この信号を 1 クロック サイクルにアサートします スレーブは local_ready(avalon インタフェースでは waitrequest_n) をディアサートした後 local_ready 信号は再び High になるまで マスターはアサートされたすべてのライト要求信号を保持します local_read_req 入力 リード要求信号 リード要求およびライト要求信号を同時にアサートされることはできません local_refresh_req 入力 ユーザ制御リフレッシュ要求 Enable User Auto-Refresh Controls オプションがオンの場合 local_refresh_req が使用可能になり メモリ要件を満たすために十分なリフレッシュ要求を発行する必要があります このオプションにより 複数のリフレッシュ コマンドを同時に動作させる場合も含めて メモリにリフレッシュが発行されるタイミングを完全に制御することができます リフレッシュ要求は リード要求およびライト要求がすでに処理中でない限り これらの要求よりも優先されます local_refresh_chip 入力 どのチップにユーザー リフレッシュを発行するかを制御します このアクティブ High 信号は local_refresh_req 信号と共に使用されます この信号はメモリ チップ セレクトのように広いです この信号は対応するメモリ チップのリフレッシュを表す各ビットに高い値をアサートします local_refresh_chip 信号は 4 b0101 の値で割り当てられる場合 コントローラはメモリ チップ 0 と 2 を更新して メモリ チップ 1 と 3 を便新しません Altera Corporation
158 7 18 信号名 入力 / 出力 説明 local_size[] 入力 要求された メモリへのリードまたはライト アクセスのビート数を制御します この値は 2 進数としてエンコードされます サポートされた Avalon バースト レングスの範囲は 1 ~ 64 です この信号の幅は Local Maximum Burst Count オプションで指定されるバースト カウントに基づいて派生されます 派生している幅で 1 から指定したローカルの最大のバースト カウントまでの値の範囲を選択します local_wdata[] 入力 ライト データ バス local_wdata の幅は フル レート コントローラの場合はメモリ データ バスの 2 倍で ハーフ レート コントローラの場合はメモリ データ バスの 4 倍です local_write_req 入力 ライト要求信号 リード要求およびライト要求信号を同時にアサートされることはできません local_multicast 入力 インバンド マルチ キャストのライト要求信号 このアクティブ High 信号は local_write_req 信号と共に使用されます この信号が High にアサートされると データは利用可能なすべてのメモリー チップに書き込まれます local_autopch_req 入力 自動プリチャージのユーザー コントロール Enable Auto-Precharge Control オプションがオンになっている場合 local_autopch_req 信号は使用可能になり そして コントローラは自動プリチャージ ライトまたは自動プリチャージ リード コマンドを発行するのを要求できます これらのコマンドで メモリはコントローラから明示的なプリチャージ コマンドなしで適切な時間における現在のバンクにプリチャージ コマンドを発行します 現在のリードまたはライトは現在開いているロウに発行する最後のものであるが分かる場合に役立ちます 次回 そのバンクを使用する必要がある場合 アクセスするロウをアクティブにする前にコントローラがバンクをプリチャージする必要がないので アクセスは より迅速であるかもしれません local_autopch_req 信号がアサートされる状態でメモリ バーストよりも長いローカル バーストを発行するとき コントローラは最後のリードまたはライト コマンドを自動プリチャージのみを発行します local_self_rfsh_re q 入力 セルフ リフレッシュ機能のユーザー コントロール Enable Self-Refresh Controls オプションがイネーブルされるとき コントローラはこの信号をアサートすることによって セルフ リフレッシュ ステートにメモリ デバイスを配置するのを要求することもできます コントローラは 関連タイミング パラメータに違反しないで できるだけ早期にメモリをセルフ リフレッシュ ステートに配置し そして local_self_rfsh_ack 信号をアサートすることによって応答します コントローラは 関連タイミング パラメータに違反しないで できるだけ早期にメモリをセルフ リフレッシュ ステートに配置し また local_self_rfsh_ack 信号をアサートすることによって応答します この信号をアサートしたままで メモリをセルフ リフレッシュ ステートに保持することができます local_self_rfsh_req 信号をディアサートすることによって セルフ リフレッシュ ステートからメモリをいつでもリリースすることができます また コントローラはセルフ リフレッシュ ステートからメモリを正常に出すと local self_rfsh_ack 信号をディアサートすることによって応答します Altera Corporation
159 7 19 信号名入力 / 出力説明 local_init_done 出力 メモリ初期化 トレーニング およびキャリブレーションが終了であるときに ALTMEMPHY シーケンサは ctrl_usr_mode_rdy 信号をメモリ コントローラにアサートします そして メモリ インタフェースが使用できる状態であることを示すために この信号がアサートされます リード要求とライト要求は local_init_done がアサートされる前でも受け付けられますが それらの要求は安全に発行できるようになるまではメモリに発行されません この信号は キャリブレーションが成功すると示されません local_rdata[] 出力 リード データ バス local_wdata の幅は フル レート コントローラの場合はメモリ データ バスの 2 倍で ハーフ レート コントローラの場合はメモリ データ バスの 4 倍です local_rdata_error 出力 現在のリード データにエラーがある場合にアサートされます Enable Error Detection and Correction Logic オプションがオンになっている場合にのみ この信号が使用されます この信号は local_rdata_valid 信号と共にアサートされます コントローラがダブル ビット エラーを検出すると 訂正が行われなくて コントローラがこの信号をアサートします local_rdata_valid 出力 リード データ有効信号 local_rdata_valid 信号は リード データ バス上に有効なデータが存在することを示します local_ready 出力 local_ready 信号は DDR または DDR2 SDRAM HPC II が要求信号を受け付ける準備ができていることを示します local_ready が リードまたはライト要求がアサートされるクロック サイクルでアサートされる場合 その要求はすでに受け付けられています local_ready 信号がディアサートされると DDR または DDR2 SDRAM HPC II がこれ以上要求を受け付けることができないことを示します DDR または DDR2 SDRAM HPC II は最大 8 つのリード要求またはライト要求をバッファできます local_refresh_ack 出力 リフレッシュが発行されるたびに 1 クロック サイクルの間アサートされるリフレッシュ要求確認です Enable User Auto-Refresh Controls オプションが選択されていない場合でも local_refresh_ack は コントローラがリフレッシュ コマンドを発行したことをローカル インタフェースに示します local_self_rfsh_ac k local_power_down_a ck 出力 出力 セルフ リフレッシュ要求確認信号 この信号はユーザーからの local_self_rfsh_req 信号に応えて アサートおよびディアサートされます 自動パワー ダウン確認信号 自動パワー ダウンが発行されるたびに この信号は 1 クロック サイクルの間アサートされます ecc_interrupt 出力 ECC からの割り込み信号 ECC 機能をオンにすると この信号がアサートされ そしてエラーが検出されます ユーザー ロジックは CSR インタフェースを通してエラーをクリアするまで この信号がアサートされたままです 表 7 7 に DDR および DDR2 SDRAM HPC II CSR インタフェース信号を示します 信号名 入力 / 出力 説明 csr_addr[] 入力 レジスタ マップ アドレス csr_addr の幅は 16 ビットです Altera Corporation
160 7 20 信号名入力 / 出力説明 csr_be[] 入力 ライト時に個々のバイトをマスクするために使用するバイト イネーブル信号 csr_be はアクティブ High です csr_wdata[] 入力 リード データ バス csr_wdata の幅は 32 ビットです csr_write_req 入力 ライト要求信号 csr_write_req および csr_read_req 信号を同時にアサートされることはできません csr_read_req 入力 リード要求信号 csr_read_req および csr_write_req 信号を同時にアサートされることはできません csr_rdata[] 出力 リード データ バス csr_rdata の幅は 32 ビットです csr_rdata_valid 出力 リード データ有効信号 csr_rdata_valid 信号は リード データ バス上に有効なデータが存在することを示します csr_waitrequest 出力 csr_waitrequest 信号は HPC II がビジーであり 要求信号を受け付ける準備ができないことを示します リードまたはライト要求がアサートされるとき csr_waitrequest 信号がクロック サイクルで High になる場合 その要求はすでに受け付けられていません csr_waitrequest 信号は Low になると HPC II がこれ以上要求を受け付ける準備ができていることを示します 表 7 8 に DDR および DDR2 SDRAM インタフェース信号を示します 信号名 入力 / 出力 説明 mem_dq[] 双方向 メモリ データ バス このバスはローカル リードおよびライト データ バスの幅の半分です mem_dqs[] 双方向 メモリ データ ストローブ信号 DDR または DDR2 SDRAM にデータを書き込み アルテラ デバイスへのリード データをキャプチャします mem_dqs_n[] 双方向 シグナル インテグリティを改善するのに mem_dqs 信号と共に使用される反転メモリ データ ストローブ信号です mem_clk (1) 双方向 メモリ デバイスのクロック mem_clk_n (1) 双方向 メモリ デバイスの反転クロック mem_addr[] 出力 メモリ アドレス バス mem_ba[] 出力 メモリ バンク アドレス バス mem_cas_n 出力 メモリ カラム アドレス ストローブ信号 mem_cke[] 出力 メモリ クロック イネーブル信号 mem_cs_n[] 出力 メモリ クロック イネーブル信号 mem_dm[] 出力 メモリ データ マスク信号 ライト時に個々のバイトをマスクします mem_odt[] 出力 メモリ On-Die Termination コントロール信号 (DDR2 SDRAM のみ ) mem_ras_n 出力 メモリ ロウ アドレス ストローブ信号 mem_we_n 出力 メモリ ライト イネーブル信号 表 7 8 の注 : (1) mem_clk 信号は FPGA からの出力専用信号です ただし Quartus II ソフトウェアでは これらは双方向 (INOUT)I/O として定義し ALTMEMPHY メガファンクションが使用する模擬パス構造をサポートする必要があります Altera Corporation
161 7 21 表 7 9 ~ 表 7 23 に DDR および DDR2 SDRAM HPC II のレジスタ マップを示します アドレス 目次 0x005 モード レジスタ 0 ~ 1 0x006 モード レジスタ 2 ~ 3 0x100 ALTMEMPHY ステータスおよびコントロール レジスタ 0x110 コントローラ ステータスおよびコンフィギュレー ション レジスタ 0x120 メモリ アドレス サイズ レジスタ 0 0x121 メモリ アドレス サイズ レジスタ 1 0x122 メモリ アドレス サイズ レジスタ 2 0x123 メモリ タイミング パラメータ レジスタ 0 0x124 メモリ タイミング パラメータ レジスタ 1 0x125 メモリ タイミング パラメータ レジスタ 2 0x126 メモリ タイミング パラメータ レジスタ 3 0x130 ECC コントロール レジスタ 0x131 ECC ステータス レジスタ 0x132 ECC エラー アドレス レジスタ ビットビットデフォルトアクセス説明 0-2 バースト レングス 8 RO DDR または DDR2 SDRAM HPC II に対して こ の値はフル レートとハーフ レートの場合 は それぞれ 4 と 8 に設定されます 3 BT 0 RO DDR または DDR2 SDRAM HPC II はシーケンシャル バーストのみをサポートするので この値は 0 に設定されます 4 6 CAS レイテンシ RW この値はメモリ CAS レイテンシを合わせるように設定する必要があります また この値を CSR インタフェース レジスタ マップに設定する必要があります 7 予約済み 0 今後の使用のために予約されています 8 DLL 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 9 11 ライト リカバリ RW この値はメモリ ライト リカバリ時間 (t WR ) を合わせるように設定する必要があります また この値を CSR インタフェース レジスタ マップに設定する必要があります 12 PD 0/1 RO DDR または DDR2 SDRAM HPC II はパワーダウ ン高速終了モードのみをサポートするため に この値は 0 に設定されます Altera Corporation
162 7 22 ビット ビット デフォルト アクセス 説明 予約済み 0 今後の使用のために予約されています 16 DLL 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 17 ODS 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 18 RTT 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます AL RW 追加のレイテンシ設定 これらのビットのデフォルト値は コントローラ インスタンス用に MegaWizard Additive Latency 設定によって設定されます また この値を CSR インタフェース レジスタ マップに設定する必要があります 22 RTT 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます RTT/WL/OCD 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 26 DQS# 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 27 TDQS/RDQS 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 28 QOFF 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 予約済み 0 今後の使用のために予約されています ビット 名称 デフォルト アクセス 説明 0-2 予約済み 0 今後の使用のために予約されています 3-5 CWL RW CAS ライト レイテンシ設定 また この値を CSR インタフェース レジスタ マップに設定する必要があります 6 ASR 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 7 SRT/ET 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 8 予約済み 0 今後の使用のために予約されています Altera Corporation
163 7 23 ビット 名称 デフォルト アクセス 説明 9 10 RTT_WR 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 予約済み 0 今後の使用のために予約されています MPR_RF 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 18 MPR 0 RW コントローラによって使用されませんが メモリ デバイス モード レジスタに設定およびプログラムすることができます 予約済み 0 今後の使用のために予約されています ビット ビット デフォルト アクセス 説明 0 CAL_SUCCESS RO このビットは ALTMEMPHY ctl_cal_success 出力の値をレポートします このビットに書き込んでも影響はありません 1 CAL_FAIL RO このビットは ALTMEMPHY ctl_cal_fail 出力の値をレポートします このビットに書き込んでも影響はありません 2 CAL_REQ 0 RW このビットに 1 を書き込むと ctl_cal_req 信号を ALTMEMPHY メガファンクションにアサートします このビットに 0 を書き込むと 信号がディアサートされ 次に ALTMEMPHY メガファンクションはキャリブレーション シーケンスを開始します c ALTMEMPHY メガファンクション キャ リブレーション中に このレジスタを使用してはいけません CAL_SUCCESS または CAL_FAIL レジスタが 1 の値を示すまで 待機しなければなりません 3 7 予約済み 0 今後の使用のために予約されています 8 13 CLOCK_OFF 0 RW このレジスタでビットのいずれかに 1 を書き込むと ALTMEMPHY メガファンクションに適切な ctl_mem_clk_disable 信号がアサートされて これでメモリ クロック出力をディセーブルします このレジスタに 0 を書き込むと 信号がディアサートされて メモリ クロックを再イネーブルします ALTMEMPHY は最大 6 つの個々のメモリ クロックをサポートでき 各ビットは 個々のクロックを表します 予約済み 0 今後の使用のために予約されています Altera Corporation
164 7 24 ビット 名称 デフォルト アクセス 説明 0 15 AUTO_PD_CYCLES 0x0 RW コントローラはパワー ダウン モードにメモリを配置する必要があった後のアイドル クロック サイクル数です コマンド キューでコマンドが存在しない場合 コントローラがアイドルしていると考えられます このレジスタを 0 に設定すると 自動パワーダウン モードをイネーブルします このレジスタのデフォルト値はデザインの生成の間に設定された値に依存します 16 AUTO_PD_ACK 1 RO このビットはメモリがパワーダウン状態にあることを示します 17 SELF_RFSH 0 RW このビットを設定するか または local_self_rfsh 信号をアサートすることにって メモリはセルフ リフレッシュ状態に入ります 18 SELF_RFSH-ACK 0 RO このビットはセルフ リフレッシュ状態にあることを示します 19 予約済み 0 今後の使用のために予約されています ADDR_ORDER 00 RW 00 - チップ ロウ バンク カラム 01 - チップ バンク ロウ カラム 10 - 今後の使用のために予約されています 11 - 今後の使用のために予約されています 22 REGDIMM 0 RW このビットを 1 に設定すると コントローラでの REGDIMM サポートがイネーブルされます CTRL_DRATE 00 RO これらのビットはコントローラー データ レートを表現します 00 - フル レート 01 - ハーフ レート 10 - 今後の使用のために予約されています 11 - 今後の使用のために予約されています 予約済み 0 今後の使用のために予約されています Altera Corporation
165 7 25 ビット名称デフォルトアクセス説明 0 7 カラム アドレス幅 RW メモリ インタフェースにおけるメモリ デバイスのカラム アドレス ビット数 正当値の範囲は 2 ~ 11 サイクルです 8 15 ロウ アドレス幅 RW メモリ インタフェースにおけるメモリ デバイスのロウ アドレス ビット数 正 当値の範囲は 12 ~ 16 です バンク アドレス幅 チップ セレクト アドレス幅 RW メモリ インタフェースにおけるメモリ デバイスのバンク アドレス ビット数 正当値の範囲は 2 ~ 3 です RW メモリ インタフェースにおけるメモリ デバイスのチップ セレクト アドレス ビット数 正当値の範囲は 0 ~ 2 です メモリ インタフェースで 1 つのシングル チップ セレクトのみ存在する場合 このビットを 0 に設定します 予約済み 0 今後の使用のために予約されています ビット名称デフォルトアクセス説明 0 31 データ幅表現 ( ワード ) RW メモリ インタフェースでの DQS ビット数 この値を DQS ピンあたりの DQ ピンの数 ( 通常 8) に掛けることによって このビットがメモリ インタフェースの幅を派生するのに使用できます ビット名称デフォルトアクセスアクセス 0 7 チップ セレクト表現 RW バイナリ表現でのチップ セレクト数 例えば 2 つのチップ セレクトのあるデザインは の値を持っています 8 31 予約済み 0 今後の使用のために予約されています ビット 名称 デフォルト アクセス 説明 0 3 t RCD RW タイミング パラメタを読み出すか または書き込むために 動かします 正当値の範囲は 2 ~ 11 サイクルです 4 7 t RRD RW タイミングパラメタをアクティブするために 動かします 正当値の範囲は 2 ~ 8 サイクルです 8 11 t RP RW タイミング パラメタをアクティブするためのプリチャージです 正当値の範囲は 2 ~ 11 サイクルです Altera Corporation
166 7 26 ビット 名称 デフォルト アクセス 説明 t MRD RW モード レジスタのロード時間パラメータ コントローラがメモリ タイプ設定から正しい値を派生するので この値はコントローラによって使用されません t RAS RW タイミング パラメタをプリチャージするために 動かします 正当値の範囲は 4 ~ 29 サイクルです t RC RW タイミングパラメタをアクティブするために 動かします 正当値の範囲は 8 ~ 40 サイクルです ビット 名称 デフォルト アクセス 説明 0 3 t WTR RW タイミング パラメータを読み出すための書き込み 正当値の範囲は 1 ~ 10 サイクルです 4 7 t RTP RW タイミング パラメータをプリチャージするための読み出し 正当値の範囲は 2 ~ 8 サイクルです 8 15 t FAW RW 4 つのアクティブ ウインドウ タイミング パラメータ 正当値の範囲は 6 ~ 32 サイクルです 予約済み 0 今後の使用のために予約されています ビット 名称 デフォルト アクセス 説明 0 15 t REFI RW リフレッシュ間隔のタイミング パラメータ 正当値の範囲は 780 ~ 6240 サイクルです t RFC RW リフレッシュ サイクルのタイミング パラメータ 正当値の範囲は 12 ~ 88 サイクルです 予約済み 0 今後の使用のために予約されています Altera Corporation
167 7 27 ビット 名称 デフォルト アクセス 説明 0 3 CAS レイテンシ t CL RW この値はメモリ CAS レイテンシを合わせるように設定する必要があります また この値を 0x04 レジスタ マップに設定する必要があります 4 7 追加のレイテンシ AL 8 11 CAS ライト レイテンシ CWL RW 追加のレイテンシ設定 これらのビットのデフォルト値は Preset Editor ダイアログ ボックスの Memory additive CAS latency setting で設定されます また この値を 0x05 レジスタ マップに設定する必要があります RW CAS ライト レイテンシ設定 また この 値を 0x06 レジスタ マップに設定する必 要があります RW この値はメモリ ライト リカバリ時間 ライト リカバ リ t WR (t WR ) を合わせるように設定する必要があります また この値を 0x04 レジスタ マップに設定する必要があります 予約済み 0 今後の使用のために予約されています ビット 名称 デフォルト アクセス 説明 0 ENABLE_ECC 1 RW 1 のとき ECC の生成およびチェックをイネーブルします 1 ENABLE_AUTO_CORR 1 RW 1 のとき シングル ビット エラーが検出されると 自動訂正をイネーブルします 2 GEN_SBE 0 RW 0 のとき 書き込まれるデータでのシングル ビット エラーの意図的な挿入 ビット 0 をメモリへイネーブルします このビットはテスト用のみに使用されます 3 GEN_DBE 0 RW 0 のとき 書き込まれるデータでのダブル ビット エラーの意図的な挿入 ビット 0 とビット 1 をメモリへイネーブルします このビットはテスト用のみに使用されます 4 ENABLE_INTR 0 RW 0 の場合 割り込み出力をイネーブルします 5 MASK_SBE_INTR 0 RW 0 の場合 シングル ビット エラー割り込みをマスクします 6 MASK_DBE_INTR 0 RW 0 の場合 ダブル ビット エラー割り 込みをマスクします Altera Corporation
168 7 28 ビット 名称 デフォルト アクセス 説明 7 CLEAR 0 RW 0 の場合 このセルフ クリアリング ビットを書き込むと 割り込み信号 およびエラー ステータスとエラー アドレス レジスタをクリアします 9 予約済み 0 今後の使用のために予約されています ビット 名称 デフォルト アクセス 説明 0 SBE_ERROR 1 RO シングル ビット エラーが発生したとき 1 に設定します 1 DBE_ERROR 1 RO ダブル ビット エラーが発生したとき 1 に設定します 2 7 予約済み 0 今後の使用のために予約されています 8 15 SBE_COUNT 0 RO ステータス レジスタのカウンタが最後にクリアされてから 発生しているシングル ビット エラーの数をレポートします DBE_COUNT 0 RO ステータス レジスタのカウンタが最後にクリアされてから 発生しているダブル ビット エラーの数をレポートします 予約済み 0 今後の使用のために予約されています ビット 名称 デフォルト アクセス 説明 0 31 ERR_ADDR 0 RO 最新の ECC エラーのアドレス このアドレスでは チップ バンク ロウ およびコラム アドレスの連結が含まれています Altera Corporation
169 8. レイテンシはユーザー ( ローカル ) サイドの周波数と絶対時間 (ns) を使用して定義されています メモリ コントローラを設計するときには 以下の定義があるリード レイテンシとライト レイテンシの 2 種類のレイテンシが存在します リード レイテンシは リード要求を開始した後 リード データがローカル インタフェースに現れるのに要する時間です ライト レイテンシは ライト要求を開始した後 ライト データがメモリ インタフェースに現れるのに要する時間です 1 ハーフ レート コントローラの場合 ローカル サイドの周波数はメモリ インタフェース周波数の半分です フル レート コントローラの場合 ローカル サイドの周波数はメモリ インタフェース周波数と等しくなります アルテラでは リード レイテンシとライト レイテンシをメモリ コントローラに対するローカル インタフェース クロック周波数と絶対時間で定義しています これらのレイテンシは 以下のメモリ コントローラでサポートされるデバイス ファミリー (1 2 ページの表 1 1) に適用されます レガシー DDR および DDR2 SDRAM コントローラ ハーフ レート HPC および HPC II フル レート HPC および HPC II この項で定義するレイテンシは 以下の仮定に基づいています ロウは既に開いています ( 必要な追加のバンク管理はない ) コントローラはアイドルであり ( キューに保留中のトランザクションはない ) local_ready 信号が High にアサートされていることで示されます トランザクションの前にリフレッシュ サイクルは発生しません 高性能コントローラのレイテンシは メモリ インタフェースの多数の異なるステージで構成されます 8 2 ページの図 8 1 に メモリ インタフェースの標準的なリード レイテンシ パスを示します コントローラで local_read_req 信号アサーションが検出される時点から データをデュアル ポート RAM (DPRAM) モジュールから読み出すまでのリード レイテンシが示されています Altera Corporation
170 8 2 control_doing_rd FPGA Device Memory Device local_read_req local_addr High- Performance Controller PHY Address/Command Generation Core I/O Latency T2 mem_cs_n Latency T3 (includes CAS latency) Latency T1 Read Datapath Latency T4 local_rdata DPRAM Halfrate Alignment and Synchronization Capture mem_dq [ ] mem_dqs [ ] Resynchronization Clock Shifted DQS DQS Clock Clk mem_clk [ ] mem_clk_n [ ] phy_clk PLL 0 or 180 PLL 表 8 1 に 図 8 1 に示すリードおよびライト レイテンシの全体を構成するさまざまなステージを示します レイテンシ番号 レイテンシ ステージ 説明 T1 コントローラ local_read_req または local_write_req 信号のアサーションから ddr_cs_n 信号のアサーションまで T2 コマンド出力 ddr_cs_n 信号のアサーションから mem_cs_n 信号のアサーションまで T3 CAS または WL リード コマンドから メモリからの DQ データまたは ライト コマンドから メモリへの DQ データ T4 ALTMEMPHY リード データがローカル インタフェースに現れるまで リード データ入力 T2 + T3 ライト データ レイテンシ ライト データがメモリ インタフェースに現れるまで 図 8 1 から 高性能コントローラのリード レイテンシは 以下の 4 つの要素で構成されています リード レイテンシ = コントローラ レイテンシ + コマンド出力レイテンシ + CAS レイテンシ + PHY リード データ入力レイテンシ = T1 + T2 + T3 + T4 同様に 高性能コントローラのライト レイテンシは 以下の 3 つの要素で構成されています ライト レイテンシ = コントローラ レイテンシ + ライト データ レイテンシ = T1 + T2 + T3 Altera Corporation
171 8 3 コントローラ レイテンシと ALTMEMPHY リード データ入力レイテンシは I/O エレメント (IOE) で発生したレイテンシと FPGA ファブリックで発生したレイテンシに分けることができます 表 8 2 に DDR および DDR2 SDRAM 高性能コントローラ (HPC および HPC II) のサポートされる最小および最大 CAS レイテンシを示します サポートされる最小 CAS レイテンシ サポートされる最大 CAS レイテンシ デバイス ファミリ DDR DDR2 DDR DDR2 Arria GX Arria II GX Cyclone III Cyclone IV HardCopy III HardCopy IV Stratix II Stratix III Stratix IV 表 8 2 の注 : (1) サポートされて登録された DIMM は 効果的に CAS レイテンシの 1 サイクルを紹介します レジスタ付き DIMM の場合 サポートされる最小の CAS レイテンシを決定するために CAS 図から 1.0 を減算する必要があります また サポートされる最大の CAS レイテンシを決定するために CAS 図から 1.0 を加算する必要があります 表 8 3 ~ 表 8 6 に Arria GX Arria II GX Cyclone III Cyclone IV Stratix IV Stratix III Stratix II および Stratix II GX デバイスで達成できる標準的なレイテンシを示します メモリ コントローラの正確なレイテンシは 厳密なコンフィギュレーションに依存します シミュレーションによって正確なレイテンシを求めることができますが 自動キャリブレーション プロセスのために この値はハードウェアでは多少異なる場合があります レイテンシの計算は ローカル クロックに基づいているので 表示される実際のメモリ CAS およびライト レイテンシはハーフ レート デザインで半分にされます また リード レイテンシは ボード トレースの遅延に依存します 機能シミュレーションはボード トレースの遅延を考慮に入れないため シミュレーションに存在するレイテンシは ボードのテストにあると異なっている場合があります 特定の板の特定のデザインに対して レイテンシはボードのリセットの時に 1 クロック サイクル ( フル レート デザイン用 ) または 2 クロック サイクル ( ハーフ レート デザイン用 ) だけを変更する場合がります 同じデザインでも 異なるボードは異なるレイテンシを示すこともできます CAS およびライト レイテンシは DDR と DDR2 SDRAM インタフェースの間に異なっています DDR SDRAM インタフェースに対してレイテンシを計算するには 以下に示す DDR2 SDRAM からの数を使用し そして CAS およびライト レイテンシを DDR SDRAM 値に置き換えます Altera Corporation
172 8 4 アドレスおよびコマンド レイテンシ リード データ レイテンシ 合計リード レイテンシ (5) デバイス 周波数 (MHz) インタフェース Arria GX 233 ハーフ レート 167 フル レート Arria II GX 233 ハーフ レート 167 フル レート Cyclone III および Cyclone IV Stratix II および Stratix II GX Stratix III および Stratix IV 表 8 3 の注 : 200 ハーフ レート 167 フル レート 333 ハーフ レート 267 ハーフ レート 200 フル レート 400 ハーフ レート 267 フル レート コントローラ レイテンシ (3) FPGA I/O CAS レイテンシ (4) FPGA I/O ローカル クロック サイクル 時間 (ns) (1) これらは この項の最初に記載した仮定に基づく標準的なレイテンシ値です 実際のレイテンシは 示されているレイテン シとは異なる場合があります 実際のレイテンシのために 独自のシミュレーションを実行します (2) 示されている値は 最も近い整数に切り上げられている場合があります (3) コントローラ レイテンシ値はアルテラの高性能コントローラのものです (4) CAS レイテンシはメモリ デバイス仕様に従い MegaWizard Plug-In Manager でプログラムすることができます (5) 合計リード レイテンシは コントローラ レイテンシ アドレスおよびコマンド レイテンシ CAS レイテンシ および リード データ レイテンシの和です Altera Corporation
173 8 5 アドレスおよびコマンド レイテンシ リード データ レイテンシ 合計リード レイテンシ (5) デバイス 周波数 (MHz) インタフェース Arria GX 233 ハーフ レート 167 フル レート Arria II GX 233 ハーフ レート 167 フル レート Cyclone III および Cyclone IV Stratix II および Stratix II GX Stratix III および Stratix IV 表 8 4 の注 : 200 ハーフ レート 167 フル レート 333 ハーフ レート 267 ハーフ レート 200 フル レート 400 ハーフ レート 267 フル レート コントローラ レイテンシ (3) FPGA I/O CAS レイテンシ (4) FPGA I/O ローカル クロック サイクル 時間 (ns) (1) これらは この項の最初に記載した仮定に基づく標準的なレイテンシ値です 実際のレイテンシは 示されているレイテン シとは異なる場合があります 実際のレイテンシのために 独自のシミュレーションを実行します (2) 示されている値は 最も近い整数に切り上げられている場合があります (3) コントローラ レイテンシ値はアルテラの高性能コントローラのものです (4) CAS レイテンシはメモリ デバイス仕様に従い MegaWizard Plug-In Manager でプログラムすることができます (5) 合計リード レイテンシは コントローラ レイテンシ アドレスおよびコマンド レイテンシ CAS レイテンシ および リード データ レイテンシの和です Altera Corporation
174 8 6 アドレスおよびコマンド レイテンシ 合計ライト レイテンシ (5) デバイス 周波数 (MHz) インタフェース Arria GX 233 ハーフ レート 167 フル レート Arria II GX 233 ハーフ レート 167 フル レート Cyclone III および Cyclone IV Stratix II および Stratix II GX Stratix III および Stratix IV 表 8 5 の注 : 200 ハーフ レート 167 フル レート 333 ハーフ レート 267 ハーフ レート 200 フル レート 400 ハーフ レート 267 フル レート コントローラ レイテンシ (3) FPGA I/O メモリ ライト レイテンシ (4) ローカル クロック サイクル 時間 (ns) (1) これらは この項の最初に記載した仮定に基づく標準的なレイテンシ値です 実際のレイテンシは 示されているレイテン シとは異なる場合があります 実際のレイテンシのために 独自のシミュレーションを実行します (2) 示されている値は 最も近い整数に切り上げられている場合があります (3) コントローラ レイテンシ値はアルテラの高性能コントローラのものです (4) メモリ ライト レイテンシはメモリ デバイス仕様に従います これは書き込むためのコマンドを供給した時点から メ モリ デバイスでデータを供給する時点までのレイテンシです (5) 合計ライト レイテンシは コントローラ レイテンシ アドレスおよびコマンド レイテンシ およびメモリ ライト レイテンシの和です Altera Corporation
175 8 7 アドレスおよびコマンド レイテンシ 合計ライト レイテンシ (5) デバイス f 周波数 (MHz) インタフェース Arria GX 233 ハーフ レート 167 フル レート Arria II GX 233 ハーフ レート 167 フル レート Cyclone III および Cyclone IV Stratix II および Stratix II GX Stratix III および Stratix IV 表 8 6 の注 : 200 ハーフ レート 167 フル レート 333 ハーフ レート 267 ハーフ レート 200 フル レート 400 ハーフ レート 267 フル レート コントローラ レイテンシ (3) FPGA メモリ ライト レイテンシ (4) Stratix IV および Stratix III デバイスにおける ALTMEMPHY バリエーションに対して IOE で発生するレイテンシをリード パスとライト パスの両方で確認するには Stratix III デバイス ハンドブック の External Memory Interfaces in Stratix III Devices の章および Stratix IV デバイス ハンドブック の External Memory Interfaces in Stratix IV Devices の章を参照してください I/O ローカル クロック サイクル 時間 (ns) (1) これらは この項の最初に記載した仮定に基づく標準的なレイテンシ値です 実際のレイテンシは 示されているレイテン シとは異なる場合があります 実際のレイテンシのために 独自のシミュレーションを実行します (2) 示されている値は 最も近い整数に切り上げられている場合があります (3) コントローラ レイテンシ値はアルテラの高性能コントローラのものです (4) メモリ ライト レイテンシはメモリ デバイス仕様に従います これは書き込むためのコマンドを供給した時点から メ モリ デバイスでデータを供給する時点までのレイテンシです (5) 合計ライト レイテンシは コントローラ レイテンシ アドレスおよびコマンド レイテンシ およびメモリ ライト レイテンシの和です Altera Corporation
176 8 8 Altera Corporation
177 9. この章では DDR および DDR2 SDRAM の高性能コントローラ (HPC) と高性能コントローラ II(HPC II) のタイミング図について説明します この項では AFI モードにおける以下の HPC のタイミング図について説明します 自動プリチャージ ユーザー リフレッシュ フル レート リード ハーフ レート リード フル レート ライト ハーフ レート ライト 初期化タイミング キャリブレーション タイミング Altera Corporation
178 9 2 自動プリチャージ リードおよび自動プリチャージ ライト コマンドで このリードおよびライトが現在開いているロウに最後のアクセスであることをメモリ デバイスに示すことができます メモリ デバイスは同じバンクに次のアクセスがより迅速であるように 現在アクセスしている ( 自動プリチャージ ) ページを自動的に閉じます このコマンドは 高速ランダム アクセスが必要なアプリケーションに特に便利です phy_clk Local Interface local_autopch_req local_ready local_write_req local_read_req [1] [2] [3] local_row_addr[13:0] local_col_addr[9:0] C C local_bank_addr[2:0] mem_local_addr[24:0] 0C C00200 AFI Memory Interface Memory Command[2:0] mem_addr[13:0] NOP WR NOP WR NOP WR NOP C C 0410 mem_clk mem_clk_n mem_cs_n mem_dq[7:0] mem_dqs mem_dqsn 図 9 1 の注 : (1) 自動プリチャージ要求は High になります (2) local_ready 信号がアサートされており 自動プリチャージ要求は Low になるまで High になったままです (3) 新しいロウ アドレスを開始します Altera Corporation
179 9 3 図 9 2 に ユーザー リフレッシュ コントロール インタフェースを示します この機能により コントローラがメモリにリフレッシュを発行するタイミングを制御できます この機能により ワースト ケース レイテンシをさらに細かく制御し リフレッシュをバーストで発行してアイドル期間を利用することができます global_reset_n phy_clk [1] [2] Local Interface mem_local_refresh_req local_init_done local_refresh_ack local_refresh_req local_refresh_ack local_ready Controller - AFI ddr_a[13:0] ddr_ba[2:0] ddr_cs_n ddr_cke_h ddr_cke_l ddr_ras_n ddr_cas_n ddr_we_n AFI Memory Interface Mem Command[2:0] NOP ARF NOP [3] 図 9 2 の注 : (1) ローカル リフレッシュ要求信号がアサートされます (2) コントローラは local_refresh_ack 信号をアサートします (3) コマンド バス上のオート リフレッシュ コマンド (ARF) Altera Corporation
180 Altera Corporation phy_clk Local Interface local_read_req local_write_req local_row_addr[13:0] local_col_addr[9:0] local_bank_addr[2:0] mem_local_addr[25:0] local_size[1:0] local_burst_begin local_rdata[15:0] local_rdata_valid local_read_req local_ready Controller - AFI ddr_a[13:0] ddr_ba[2:0] ddr_cs_n ctl_addr[13:0] ctl_ba[2:0] ctl_cke ctl_cs_n ctl_odt ctl_rdata[15:0] ctl_rdata_valid ctl_doing_rd ctl_dqs_burst ctl_rlat[4:0] DDR Command[2:0] AFI Memory Interface Mem Command[2:0] mem_dq[7:0] mem_dqs mem_dqsn mem_addr[13:0] mem_ba[2:0] mem_cke mem_clk mem_clk_n mem_cs_n mem_odt [1] [2] [3] [8] 以下のシーケンスは 図 9 3 の番号付の項目に対応しています 1. ローカル リード要求信号がアサートされます 2. コントローラは要求を受け付けると local_ready 信号がアサートされます 0B C B010 7D20 FA40 E980 CF1D B C B010 7D20 FA40 E980 CF1D WR NOP NOP RD NOP RD NOP NOP PCH NOP ACT NOP RD NOP RD NOP NOP BT NOP RD RD NOP RD NOP PCH NOP BT NOP RD NOP B C B0 20 7D 40 FA 80 E9 1D CF 3A C [4] [5] [6] [7] 9 4?9? :
181 コントローラは予想するリード データのクロック サイクル数を PHY に通知するように ctl_doing_rd をアサートします 4. バス上のリード コマンド (RD) 5. mem_dqs 信号はリード データを持っています 6. これらは 有効な信号付きコントローラへのデータです 7. 有効なローカル リード データがある場合 コントローラは local_rdata_valid 信号をアサートすることによって 有効なリード データをユーザー ロジックに返します Altera Corporation
182 Altera Corporation phy_clk Local Interface local_read_req local_write_req local_row_addr[13:0] local_col_addr[9:0] local_bank_addr[2:0] mem_local_addr[24:0] local_size local_rdata[31:0] burst_begin local_rdata_valid local_read_req local_ready Controller - AFI Interface ddr_a[13:0] ddr_ba[2:0] ddr_cs_n ctl_addr[27:0] ctl_ba[5:0] ctl_cke[1:0] ctl_cs_n[1:0] ctl_odt[1:0] ctl_rdata[31:0] ctl_rdata_valid[1:0] ctl_doing_rd[1:0] ctl_dqs_burst[1:0] ctl_rlat[4:0] DDR Command [1:0] AFI Memory Interface Mem Command[2:0] mem_ras_n mem_cas_n mem_we_n mem_dq[7:0] mem_dqs mem_dqsn mem_addr[13:0] mem_ba[2:0] mem_cke mem_clk mem_clk_n mem_cs_n mem_odt [1] [2] [3] C C F150B01 3E2A1602 7C542C04 F8A85808 ED4DB C C C F F150B01 3E2A1602 7C542C04 F8A85808 ED4DB F 0C 3F 0C 3F 0C NOP ACT 7 ACT NOP RD NOP PCH NOP NOP RD 55 6D 25 1D AA DA 4A 3A 49 A B 15 1F A 3E 04 2C 54 7C A8 F8 10 B0 4DED D 9A C7 000C C C [4] [5] [6] [7] [8] 9 6?9? :
183 9 7 以下のシーケンスは 図 9 4 の番号付の項目に対応しています 1. ローカル リード要求信号がアサートされます 2. コントローラは要求を受け付けると local_ready 信号がアサートされます 3. コントローラは予想するリード データのクロック サイクル数を PHY に通知するように ctl_doing_rd をアサートします 4. バス上のリード コマンド (RD) 5. mem_dqs 信号はリード データを持っています 6. これらは 有効な信号付きコントローラへのデータです 7. 有効なローカル リード データがある場合 コントローラは local_rdata_valid 信号をアサートすることによって 有効なリード データをユーザー ロジックに返します Altera Corporation
184 9 8 [1] [2] [4] phy_clk Local Interface local_read_req local_write_req local_row_addr[13:0] local_col_addr[9:0] local_bank_addr[2:0] mem_local_addr[25:0] local_size[1:0] local_be[1:0] local_wdata[15:0] F6AE F141 FF82 E E C41C 9538 local_write_req local_ready Controller - AFI ddr_a[13:0] ddr_ba[2:0] ddr_cs_n ctl_addr[13:0] ctl_ba[2:0] ctl_cke ctl_cs_n ctl_odt ctl_wdata[15:0] ctl_wdata_valid ctl_wlat[4:0] control_dm[1:0] ctl_dqs_burst control_be[1:0] DDR Command[2:0] AFI Memory Interface Mem Command[2:0] mem_dq[7:0] mem_dqs mem_dqsn mem_addr[13:0] mem_ba[2:0] mem_cke mem_clk mem_clk_n mem_cs_n mem_odt mem_dm F6AE F NOP 2 NOP NOP WR NOP 2 00 AE F6 41 F [3] [5] [6] Altera Corporation
185 9 9 以下のシーケンスは 図 9 5 の番号付の項目に対応しています 1. ローカル ライト要求信号がアサートされます 2. local_ready 信号は ライト要求のとき High になります 3. このライト コマンドに対して データはメモリに書き込まれます 4. コマンド バス上のライト コマンド (WR) 5. ctl_wdata 信号で有効なライト データ ctl_wdata_valid は 1 です 6. mem_dqs 信号上のデータはコントローラに送られます Altera Corporation
186 Altera Corporation phy_clk Local Interface local_write_req local_read_req local_row_addr[13:0] local_col_addr[9:0] local_bank_addr[2:0] mem_local_addr[24:0] local_size local_be[3:0] local_wdata[31:0] local_wdata_req local_write_req local_ready Controller - AFI ddr_a[13:0] ddr_ba[2:0] ddr_cs_n ctl_addr[27:0] ctl_ba[5:0] ctl_cke[1:0] ctl_cs_n[1:0] ctl_odt[1:0] ctl_wdata[31:0] ctl_wdata_valid[1:0] ctl_wlat[4:0] control_dm[3:0] ctl_dqs_burst[1:0] control_be[3:0] Control command [1:0] AFI Memory Interface Memory command[2:0] mem_dq[7:0] mem_dqs mem_dqsn mem_addr[13:0] mem_ba[2:0] mem_cke mem_clk mem_clk_n mem_cs_n mem_odt mem_dm [1] [3] [2] [4] [ BFFFFF 以下のシーケンスは 図 9 6 の番号付の項目に対応しています D9F54E6 C90A5291 8F14A43F 461EF6AE 28E7AB BFF EC EFFFBFF FB03EC D9F54E6 461EF6AE E D WR NOP PCH NOP ACT NOP WR NOP NOP WR NOP NOP WR NOP E654 9F 2D AEF6 1E 46 03F BFF EC ユーザー ロジックは local_write_req 信号をアサートすることによって ライトを要求します 2. local_ready 信号がアサートされており これはコントローラが要求を受け付けたことを示します [6] [5] 6] 9 10?9? :
187 このライト コマンドに対して データはメモリに書き込まれます 4. コントローラが local_wdata_req 信号をアサートすることによって ( ネイティブ インタフェース用のみ ) ライト データとライトに対して それぞれユーザー ロジックとバイト イネーブルを要求します 5. ctl_wdata 信号で有効なライト データ 6. mem_dqs 信号上の有効なデータはコントローラに送られます Altera Corporation
188 Altera Corporation command[2:0] NOP ARF LMR ARF WR ARF WRF ARF RD global_reset_n phy_clk local_rdata[31:0] local_rdata_valid local_ready mem_local_addr[24:0] mem_local_col_addr[9:0] local_col_addr[9:0] mem_local_write_req local_write_req mem_local_wdata[31:0] local_wdata[31:0] mem_local_size local_size mem_local_be[3:0] local_be[3:0] mem_command[2:0] mem_addr[13:0] mem_ba[2:0] mem_cke mem_clk mem_clk_n mem_cs_n mem_dm mem_dq[7:0] mem_dqs mem_dqsn mem_odt pll_locked pll_ref_clk seq_pll_select[3:0] seq_pll_start_reconfig seq_pll_inc_dec_n phs_shft_busy pll_measure_clk_index[3:0] ctl_cal_fail ctl_cal_req ctl_cal_success local_init_done ctl_cal_byte_lane_sel_n pnf_per_byte[3:0] test_complete pnf F150B01 1F150B01 以下のシーケンスは 図 9 7 の番号付の項目に対応しています 1. pll_locked 信号が High になります 2. mem_cke 信号がアサートされます FFFF0000 NOP ARF LMR ARF WR ARF WRF ARF RD A C C FF 00 FF [1] [2] [3] 0 [4] [5] 9 12?9? :
189 初期化コマンドの最初のシーケンス : PCH LMR PCH ARF LMR 4. トレーニング データの書き込み 5. トレーニング パターンをリード バックする最初のリード コマンド Altera Corporation
190 Altera Corporation command[2:0] RD PCH ARF RD PCH RD PCH ARF RD PCH LMR NOP NOP 1 local_rdata[31:0] local_rdata_valid local_ready mem_local_addr[24:0] mem_local_col_addr[9:0] local_col_addr[9:0] mem_local_write_req local_write_req mem_local_wdata[31:0] local_wdata[31:0] mem_local_size local_size mem_local_be[3:0] local_be[3:0] mem_command[2:0] mem_addr[13:0] mem_ba[2:0] mem_cke mem_clk mem_clk_n mem_cs_n mem_dm mem_dq[7:0] mem_dqs mem_dqsn mem_odt pll_locked pll_ref_clk seq_pll_select[3:0] seq_pll_start_reconfig seq_pll_inc_dec_n phs_shft_busy pll_measure_clk_index[3:0] ctl_cal_fail ctl_cal_req ctl_cal_success local_init_done ctl_cal_byte_lane_sel_n pnf 以下のシーケンスは 図 9 8 の番号付の項目に対応しています 1. 0 度で最初のリード キャリブレーション 2. PLL 位相 FFFFFFFF 00FF00FF 00FF00FF RD PCH ARF RD PCH RD PCH ARF RD PCH A [7] [6] [8] 3. PLL 位相後の 2 回目のリード キャリブレーション 4. 最後のリード キャリブレーションおよび最終的な PLL 位相 [9] [9] [10] [11] C79A7D20 C79A7D20 LMR NOP NOP [12] [13] 9 14?9? :
191 クロックを中心にするための PLL 位相のバースト 6. 設定をロードするための二番目の初期化シーケンス (LMR) 7. ctl_cal_success 信号は High になります 8. 機能メモリ ステージ この項では HPC II の以下のタイミング図について説明します ハーフ レート リード ハーフ レート ライト フル レート リード フル レート ライト Altera Corporation
192 Altera Corporation phy_clk Local Interface local_address[25:0] local_size[4:0] local_ready local_burstbegin local_read_req local_rdata[31:0] local_rdata_valid local_be[3:0] Controller - AFI afi_addr[27:0] afi_ba[5:0] afi_cs_n[3:0] AFI Command[2:0] afi_dm[3:0] afi_dqs_burst[0] afi_dqs_burst[1] afi_doing_rd[1:0] afi_rdata[31:0] afi_rdata_valid[1:0] AFI Memory Interface mem_cke[1:0] mem_clk mem_ba[2:0] mem_addr[13:0] mem_cs_n[0] Mem Command[2:0] mem_dqs mem_dm mem_dq[7:0] mem_odt[1:0] [1] [2] [3] [4] [7] 以下のシーケンスは 図 9 9 の番号付の項目に対応しています AABBCCDD EEFF0011 AABBCCDD EEFF0011 AABBCCDD EEFF B F B F B F RD NOP RD RD NOP F NOP RD NOP 0010 RD NOP RD NOP DDCCBB AA FF EE DDCCBB AA FF EE DDCCBB AA FF EE AABBCCDD EEFF0011 AABBCCDD EEFF0011 AABBCCDD EEFF0011 [5] [6] 3?9? : 9 16
193 ユーザー ロジックは local_read_req 信号とこのリードのサイズおよびアドレスをアサートすることによって 最初のリードを要求します この例では 要求はローカル アドレス に対する長さ 2 のバーストです このローカル アドレスはハーフ レート モードによる以下のメモリ アドレスにマップされます mem_row_address = mem_col_address = mem_bank_address = ユーザー ロジックは 同一ロウ内で別のメモリ カラムに 2 回目のリードを開始します 2 回目のライトの要求は長さ 2 のバーストです この例では コマンド キューがフルになるまで ユーザー ロジックはコマンドを受け入れ続けています コマンド キューがフルになると コントロールは local_ready 信号をデアサートします 開始ローカル アドレス 0x はハーフ レート モードによる以下のメモリ アドレスにマップされます mem_row_address = mem_col_address = <<2 = mem_bank_address = コントローラは ALTMEMPHY メガファンクションに最初のリード メモリ コマンドおよびアドレス信号を発行して メモリ デバイスに送信します 4. コントローラは最初のリードに対する予想する必要があるリード データのクロック サイクル数を ALTMEMPHY メガファンクションに知らせるために afi_doing_rd 信号をアサートします ALTMEMPHY メガファンクションは予測されるメモリ バーストの持続時間に対して afi_doing_rd 信号を使用してキャプチャ レジスタをイネーブルします 5. ALTMEMPHY メガファンクションはメモリへの最初のリード コマンドを発行し かつメモリからのリード データをキャプチャします 6. afi_rdata バス上に有効なリード データが存在するとき afi_rdata_valid 信号をアサートすることによって ALTMEMPHY メガファンクションは phy_clk ドメインにデータを再同期化させた後 最初のリード データをコントローラに返します 7. local_rdata バス上に有効なリード データが存在するとき local_rdata_valid 信号をアサートすることによって コントローラは最初のリード データをユーザーに返します ECC ロジックはディセーブルされる場合 afi_rdata と local_rdata バス間の遅延がありません コントローラで ECC ロジックが存在する場合 afi_rdata および local_rdata バスの間に 1 または 3 遅延のクロック サイクルがあります Altera Corporation
194 Altera Corporation phy_clk Local Interface local_address[25:0] local_size[4:0] local_ready local_burstbegin local_be[3:0] local_write_req local_wdata[31:0] Controller - AFI afi_addr[27:0] afi_ba[5:0] afi_cs_n[3:0] AFI Command[2:0] afi_dm[3:0] afi_wlat[4:0] afi_dqs_burst[0] afi_dqs_burst[1] afi_wdata[31:0] afi_wdata_valid[1:0] AFI Memory Interface mem_cke[1:0] mem_clk mem_ba[2:0] mem_addr[13:0] mem_cs_n[0] Mem Command[2:0] mem_dqs mem_dm mem_dq[7:0] mem_odt[1:0] [1] [2] [3] [4] [5] [6] 以下のシーケンスは 図 9 10 の番号付の項目に対応しています AABBCCDD EEFF0011 AABBCCDD EEFF0011 AABBCCDD EEFF B F B F B F B F B F ACT NOP WR NOP WR NOP WR NOP WR NOP F 0 F 0 2 AABBCCDD EEFF0011 AABBCCDD EEFF0011 AABBCCDD EEFF NOP ACT NOP WR NOP WR NOP WR NOP WR NOP DD CC BB AA11 00 FF EE DD CC BB AA11 00 FF EE DD CC BB AA11 00 FF EE 1. ユーザー ロジックはロウ 0 に最初のライト要求をアサートするので ロウ 0 は次のトランザクションの前に開いています F?9? : 9 18
195 ユーザー ロジックは 2 のサイズと 0 のアドレス ( カラム = 0 ロウ = 0 バンク = 0 チップ = 0) で 2 つ目の local_write_req 信号をアサートします local_ready 信号が local_write_req 信号と共にアサートされており これはコントローラがこの要求を受け付けたことを示し ユーザー ロジックは次のクロック サイクルで 別のリードまたはライトを要求できます local_ready 信号がアサートされていなかった場合 local_ready 信号は High に登録されるまで ユーザー ロジックはアサートされた ライト要求 サイズ およびアドレス信号を保持する必要があります 3. コントローラは ALTMEMPHY メガファンクションに最初の必要なメモリ コマンドおよびアドレス信号を発行して メモリ デバイスに送信します 4. コントローラは 有効なライト データとライト データ マスクが ALTMEMPHY メガファンクションへの入力に存在しているのを ALTMEMPHY メガファンクションに示すために afi_wdata_valid 信号をアサートします 5. コントローラは ALTMEMPHY メガファンクションがメモリに発行する DQS 信号のタイミングを制御するために afi_dqs_burst 信号をアサートします 6. ALTMEMPHY メガファンクションは ライト コマンドを発行し そしてライト データおよびライト DQS をメモリに受信します Altera Corporation
196 Altera Corporation phy_clk Local Interface local_address[23:0] local_size[2:0] local_ready local_burstbegin local_read_req local_rdata_valid local_rdata[15:0] local_be[1:0] Controller - AFI afi_addr[12:0] afi_ba[1:0] afi_cs_n AFI Command[2:0] afi_dm[1:0] afi_dqs_burst afi_doing_rd afi_rdata[15:0] afi_rdata_valid AFI Memory Interface mem_cke mem_clk mem_ba[1:0] mem_addr[12:0] mem_cs_n Mem Command[2:0] mem_dqs mem_dm mem_dq[7:0] mem_odt [1] [2] [3] [6] NOP RD NOP RD NOP NOP RD NOP RD NOP 以下のシーケンスは 図 9 11 の番号付の項目に対応しています FFFF ABCD EF01 ABCD EF FFFF ABCD EF01 ABCD EF CD AB 01 EF CD AB 01 EF 00 [4] [5]?9? : 9 20
197 ユーザー ロジックは local_read_req 信号とこのリードのサイズおよびアドレスをアサートすることによって 最初のリードを要求します この例では 要求はローカル アドレス に対する長さ 2 のバーストです このローカル アドレスはハーフ レート モードによる以下のメモリ アドレスにマップされます mem_row_address = mem_col_address = <<2 = mem_bank_address = コントローラは ALTMEMPHY メガファンクションに最初のリード メモリ コマンドおよびアドレス信号を発行して メモリ デバイスに送信します 3. コントローラは最初のリードに対する予想する必要があるリード データのクロック サイクル数を ALTMEMPHY メガファンクションに知らせるために afi_doing_rd 信号をアサートします ALTMEMPHY メガファンクションは予測されるメモリ バーストの持続時間に対して afi_doing_rd 信号を使用してキャプチャ レジスタをイネーブルします 4. ALTMEMPHY メガファンクションはメモリへの最初のリード コマンドを発行し かつメモリからのリード データをキャプチャします 5. afi_rdata バス上に有効なリード データが存在するとき afi_rdata_valid 信号をアサートすることによって ALTMEMPHY メガファンクションは phy_clk ドメインにデータを再同期化させた後 最初のリード データをコントローラに返します 6. local_rdata バス上に有効なリード データが存在するとき local_rdata_valid 信号をアサートすることによって コントローラは最初のリード データをユーザーに返します ECC ロジックはディセーブルされる場合 afi_rdata と local_rdata バス間の遅延がありません コントローラで ECC ロジックが存在する場合 afi_rdata および local_rdata バスの間に 1 または 3 遅延のクロック サイクルがあります Altera Corporation
198 Altera Corporation phy_clk Local Interface local_address[23:0] local_size[2:0] local_ready local_burstbegin local_be[1:0] local_write_req local_rdata[15:0] local_wdata[15:0] Controller - AFI afi_addr[12:0] afi_ba[1:0][1:0] afi_cs_n AFI Command[2:0] afi_dm[1:0] afi_wlat[4:0] afi_dqs_burst afi_wdata[15:0] afi_wdata_valid AFI Memory Interface mem_cke mem_clk mem_ba[1:0] mem_addr[12:0] mem_cs_n Mem Command[2:0] mem_dqs mem_dm mem_dq[7:0] mem_odt [1] FFFF 0000 ABCD EF01 ABCD EF01 ABCD EF 以下のシーケンスは 図 9 12 の番号付の項目に対応しています [2] NOP ACT NOP WR NOP WR NOP WR NOP WR NOP ABCD EF01 ABCD EF01 ABCD EF NOP ACT NOP WR NOP WR NOP WR NOP WR NOP 00 CD AB 01 EF CD AB 01 EF CD AB 01 EF 1. ユーザー ロジックはロウ 0 に最初のライト要求をアサートするので ロウ 0 は次のトランザクションの前に開いています [3] [6] [4] [5]?9? : 9 22
199 ユーザー ロジックは 2 のサイズと 0 のアドレス ( カラム = 0 ロウ = 0 バンク = 0 チップ = 0) で 2 つ目の local_write_req 信号をアサートします local_ready 信号が local_write_req 信号と共にアサートされており これはコントローラがこの要求を受け付けたことを示し ユーザー ロジックは次のクロック サイクルで 別のリードまたはライトを要求できます local_ready 信号がアサートされていなかった場合 local_ready 信号は High に登録されるまで ユーザー ロジックはアサートされた ライト要求 サイズ およびアドレス信号を保持する必要があります 3. コントローラは ALTMEMPHY メガファンクションに最初の必要なメモリ コマンドおよびアドレス信号を発行して メモリ デバイスに送信します 4. コントローラは 有効なライト データとライト データ マスクが ALTMEMPHY メガファンクションへの入力に存在しているのを ALTMEMPHY メガファンクションに示すために afi_wdata_valid 信号をアサートします 5. コントローラは ALTMEMPHY メガファンクションがメモリに発行する DQS 信号のタイミングを制御するために afi_dqs_burst 信号をアサートします 6. ALTMEMPHY メガファンクションは ライト コマンドを発行し そしてライト データおよびライト DQS をメモリに受信します Altera Corporation
200 9 24 Altera Corporation
201 アルテラ製品に関する最新の情報については 次の表を参照してください お問い合わせ先 ( 注 1) お問い合わせ方法 アドレス 技術的なご質問 ウェブサイト 技術トレーニング ウェブサイト 電子メール [email protected] アルテラの資料に関するお問い合 電子メール [email protected] わせ 一般的なお問い合わせ 電子メール [email protected] ソフトウェア ライセンスに関するお問い合わせ 電子メール [email protected] 注 : (1) 詳しくは 日本アルテラまたは販売代理店にお問い合わせください 本書では 以下の表に示す表記規則を使用しています 書体太字かつ文頭が大文字 太字 意味 コマンド名 ダイアログ ボックス タイトル ダイアログ ボックス オプション およびその他の GUI ラベルを表します 例えば Save As ダイアログ ボックスです GUI エレメントの場合 大文字と小文字は GUI にマッチします ディレクトリ名 プロジェクト名 ディスク ドライブ名 ファイル名 ファイルの拡張子 ダイアログ ボックス オプション ソフトウェア ユーティリティ およびその他の GUI ラベル名を表します 例えば \qdesigns ディレクトリ d: ドライブ および chiptrip.gdf ファイルです 斜体かつ文頭が大文字資料のタイトルを表します 例えば AN 519 : Stratix IV Design Guidelines です 斜体変数を表します 例 :n + 1 変数名は 山括弧 (< >) で囲んでいます 例えば <file name> および <project name>.pof ファイルです 文頭が大文字キーボード キーおよびメニュー名を表します 例えば Delete キーおよび Options メニューです 小見出しタイトル かぎ括弧は 資料内の小見出しおよび Quartus II Help トピックのタイトルを表します 例えば 表記規則 です Altera Corporation
202 Info 2 書体 Courier フォント および a. b. c. など 信号 ポート レジスタ ビット ブロック およびプリミティブ名を表します 例えば data1 tdi および input です アクティブ Low 信号は サフィックス n で表示されています 例 :resetn コマンドライン コマンド および表示されているとおりに入力する必要があるものを表します 例 :c:\qdesigns\tutorial\chiptrip.gdf. また Report ファイルのような実際のファイル ファイルの構成要素 ( 例 :AHDL キーワードの SUBDESIGN) ロジック ファンクション名 ( 例 :TRI) も表します 手順など項目の順序が重要なものは 番号が付けられリスト形式で表記されています 箇条書きの黒点などは 項目の順序が重要ではないものに付いています 1 指差しマークは 要注意箇所を表しています c 注意は 製品または作業中のデータに損傷を与えたり 破壊したりするおそれのある条件や状況に対して注意を促します w 警告は ユーザーに危害を与えるおそれのある条件や状況に対して注意を促します r 矢印は Enter キーを押すよう指示しています f 足跡マークは 詳細情報の参照先を示しています 意味 Altera Corporation
DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用
WP-01034-1.0/JP DLL (PVT compensation) 90 PLL PVT compensated FPGA fabric 90 Stratix III I/O block Read Dynamic OC T FPGA Write Memory Run Time Configurable Run Time Configurable Set at Compile dq0 dq1
ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための
Quartus II ソフトウェア ダウンロードおよびインストール クイック スタート ガイド 2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of
ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールす
Quartus Prime ソフトウェア ダウンロードおよびインストール クイック スタート ガイド 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks
AN 630: アルテラCPLD におけるリアルタイムISP およびISP クランプ
CPLD ISP ISP この資料は英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します こちらの日本語版は参考用としてご利用ください 設計の際には 最新の英語版で内容をご確認ください AN-630-1.0 アプリケーション ノート このアプリケーションノートでは MAX II および MAX V デバイスにおけるリアルタイム ISP(In-System Programmability)
デュアルDIMM DDR2およびDDR3 SDRAMのボード・デザイン・ガイドライン、外部メモリ・インタフェース・ハンドブック、Volume 2、第5章
5? 2012? EMI_DG_005-2.0 EMI_DG_005-2.0 この章では デュアル バッファなし DIMM (UDIMM) DDR2 および DDR3 SDRAM インタフェースの実装のガイドラインについて説明します この章では デュアル DIMM 構成を次の条件で使用して データ信号のシグナル インテグリティに対する影響を説明します 1 スロット実装対 2 スロット実装 DIMM
FPGA 外部のメモリをアバロン・MM・インタフェースへ接続する方法
ver. 8.1 2009 年 3 月 1. はじめに Nios II 開発ボードに実装されているメモリ用のコンポーネントは SOPC Builder の中にあらかじめ用意されています しかし 実際に基板を作成した場合には Nios II 開発ボードに実装されているメモリと同じ仕様の製品でない限り SOPC Builder であらかじめ用意されたメモリ用のコンポーネントを使用することはできません この場合
QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?
アルテラ FPGA 向け PLL リコンフィグの応用回路 1. PLL リコンフィグとは アルテラ FPGA は PLL 機能を内蔵しています PLL を利用して基本周波数を逓倍 分周したクロックを利用することができます 通常 FPGA 開発ツール Quartus2( 以下 Q2) の MegaWizard プラグインマネージャを利用して PLL を設定し 希望のクロック周波数を得ることができます
8B10Bエンコーダ/デコーダMegaCoreファンクション・ユーザガイド
8B10B / MegaCore 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com MegaCore : 7.1 : 2007 5 Copyright 2007 Altera Corporation. All rights reserved. Altera, The Programmable Solutions
ModelSim-Altera - RTL シミュレーションの方法
ALTIMA Corp. ModelSim-Altera RTL シミュレーションの方法 ver.15.1 2016 年 5 月 Rev.1 ELSENA,Inc. 目次 1. 2. 3. はじめに...3 RTL シミュレーションの手順...4 RTL シミュレーションの実施...5 3-1. 3-2. 新規プロジェクトの作成... 5 ファイルの作成と登録... 7 3-2-1. 新規ファイルの作成...
オンチップ・メモリ クイック・ガイド for Cyclone III
ver.9.1 2010 年 1 月 1. はじめに アルテラ社製 FPGA デバイスにおいてオンチップ メモリ (FPGA 内部で RAM や ROM などを構成 ) を実現するには Memory Compiler メガファンクションを使用します Memory Compiler メガファンクションは Cyclone シリーズ, Arria シリーズ, Stratix シリーズ, HardCopy
Quartus II クイック・スタートガイド
ALTIMA Corp. Quartus II クイック スタートガイド ver.3.0 2010 年 8 月 ELSENA,Inc. 目次 1. はじめに... 3 2. Quartus II の基本操作フロー... 3 3. Quartus II の基本操作... 4 ステップ 1. プロジェクトの作成... 4 ステップ 2. デザインの作成... 4 ステップ 3. ファンクション シミュレーション...
AN 357: Error Detection & Recovery Using CRC in Altera FPGA Devices
2008 年 7 月 ver. 1.4 アルテラ FPGA デバイスの CRC によるエラー検出およびリカバリ Application Note 357 概要 航空電子 テレコム システム コントロール および軍事用アプリケーションの分野で使用されるクリティカルな用途では 以下ができることが重要です FPGA デバイスに格納されたコンフィギュレーション データが正確であるかを確認する システムにコンフィギュレーション
ウォッチドッグ・タイマ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)
11? 2012? cv_54024-1.2 cv_54024-1.2 ウォッチドッグ タイマの主な機能は 無応答ステートから回復するシステムの方法を提供することです ハード プロセッサ システム (HPS) は レベル 4(L4) のペリフェラル バスに接続された 2 つのプログラム可能なウォッチドッグ タイマを提供しています ウォッチドッグ タイマは Synopsys DesignWare APB
Nios II ハードウェア・チュートリアル
Nios II ver. 7.1 2007 8 1. Nios II FPGA Nios II Quaruts II 7.1 Nios II 7.1 Nios II Cyclone II count_binary 2. 2-1. http://www.altera.com/literature/lit-nio2.jsp 2-2. Nios II Quartus II FEATURE Nios II
SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)
ALTIMA Corp. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) ver.1.0 2010 年 8 月 ELSENA,Inc. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) 目次 1. はじめに... 3 2. PIO 概要... 3 2-1. PIO 概要... 3 2-2. PIO
Nios II 簡易チュートリアル
Nios II Ver. 7.1 2007 10 1. Nios II Nios II JTAG UART LED 8 PIO LED < > Quartus II SOPC Builder Nios II Quartus II.sof Nios II IDE Stratix II 2S60 RoHS Nios II Quartus II http://www.altera.com/literature/lit-nio2.jsp
1-2 MLAB 図 1-1: Arria 10 デバイスにおける LAB 構造およびインタコネクトの概要 この図は LAB インタコネクトを有する Arria 10 の LAB および MLAB 構造の概要を表しています C4 C27 異なる速度と長さのロウ インタコネクト R32 R3/R6 s
1 署名 ロジック アレイ ブロック (LAB) は アダプティブ ロジック モジュール () として知られる基本のビルディング ブロックで構成されています ロジック ファンクション 演算ファンクション およびレジスタ ファンクションを実装するために LAB をコンフィギュレーションすることができます また Arria 10 デバイスで使用可能な LAB の 4 分の 1 をメモリ LAB(MLAB)
Cyclone IIIデバイスのI/O機能
7. Cyclone III I/O CIII51003-1.0 2 Cyclone III I/O 1 I/O 1 I/O Cyclone III I/O FPGA I/O I/O On-Chip Termination OCT Quartus II I/O Cyclone III I/O Cyclone III LAB I/O IOE I/O I/O IOE I/O 5 Cyclone III
Nios II Flash Programmer ユーザ・ガイド
ver. 8.0 2009 年 4 月 1. はじめに 本資料は Nios II 開発環境においてフラッシュメモリ または EPCS へのプログラミングを行う際の参考マニュアルです このマニュアルでは フラッシュメモリの書き込みの際に最低限必要となる情報を提供し さらに詳しい情報はアルテラ社資料 Nios II Flash Programmer User Guide( ファイル名 :ug_nios2_flash_programmer.pdf)
Quartus II はじめてガイド - よく使用するロジック・オプション設定方法 (個別設定)
ALTIMA Corp. Quartus II はじめてガイドよく使用するロジック オプション設定方法 ( 個別設定方法 ) rev.1 ver.10 2011 年 4 月 ELSENA,Inc. Quartus II はじめてガイド よく使用するロジック オプション設定方法 ( 個別設定方法 ) rev.1 目次 1. はじめに... 3 2. 出力電流値の設定 ...4
Quartus II はじめてガイド - プロジェクトの作成方法
ALTIMA Corp. Quartus II はじめてガイド プロジェクトの作成方法 ver.10.0 2010 年 7 月 ELSENA,Inc. Quartus II はじめてガイド プロジェクトの作成方法 目次 1. はじめに... 3 2. Quartus II の起動... 3 3. 操作手順... 4 4. 既存プロジェクトの起動... 10 5. プロジェクト作成後の変更...11
Cyclone V デバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール、Cyclone Vデバイス・ハンドブック、Volume 1、第1章
June 2012 CV-52001-2.0 CV-52001-2.0 この章では Cyclone V コア ファブリック内のロジック アレイ ブロック (LAB) の機能を説明します LAB は ロジック ファンクション 演算ファンクション およびレジスタ ファンクションを実装するためにコンフィギュレーションできるアダプティブ ロジック モジュール () として知られる基本的なビルディング ブロックで構成されています
Quartus II はじめてガイド - プロジェクトの作成方法
- Quartus II はじめてガイド - プロジェクトの作成方法 ver. 9.0 2009 年 5 月 1. はじめに Quartus II はユーザ デザインをプロジェクトで管理します プロジェクトは デザインのコンパイルに必要なすべてのデザイン ファイル 設定ファイルおよびその他のファイルで構成されます そのため開発を始めるには まずプロジェクトを作成する必要があります この資料では Quartus
Quartus II クイック・スタート・ガイド
ver.2.0 2010 年 1 月 1. はじめに 弊社では Quartus II をはじめて使用する方を対象に Quartus II はじめてガイド と題した簡易操作マニュアルを提供しています この資料では Quartus II の基本的な作業フローをご案内すると共に 各オペレーションではどの資料を参考にするのが適当かをご紹介しています 2. Quartus II の基本操作フロー 以下の図は
FPGAメモリおよび定数のインシステム・アップデート
QII53012-7.2.0 15. FPGA FPGA Quartus II Joint Test Action Group JTAG FPGA FPGA FPGA Quartus II In-System Memory Content Editor FPGA 15 2 15 3 15 3 15 4 In-System Memory Content Editor Quartus II In-System
Cyclone Vデバイス・ハンドブック、 Vol 1、第6章:Cyclone Vデバイスの外部メモリ・インタフェース
June 2012 CV-52006-2.0 CV-52006-2.0 こので章は Cyclone V デバイスの利用可能な外部メモリ インタフェースおよび外部メモリ インタフェースをサポートする このシリコン機能について説明します 以下の Cyclone V デバイスの機能は外部メモリ インタフェースで使用されています ダブル データ レート 2 (DDR2) SDRAM DDR3 SDRAM および低消費電力ダブル
LEAP を使用して Cisco ワイヤレス クライアントを認証するための Funk RADIUS の設定
LEAP を使用して Cisco ワイヤレスクライアントを認証するための Funk RADIUS の設定 目次 概要前提条件要件使用するコンポーネント表記法設定アクセスポイントまたはブリッジの設定 Funk ソフトウェアの Inc. Product 設定 Steel-Belted Radius Steel-Belted Radius のユーザの作成関連情報 概要 このドキュメントでは 340 および
AN 611:3G-SDI レベルB とデュアル・リンクHD-SDI(SMPTE372)リファレンス・デザインのマッピング
AN-611-1.0 この資料は英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します こちらの日本語版は参考用としてご利用ください 設計の際には 最新の英語版で内容をご確認ください このリファレンス デザインは Altera SDI MegaCore ファンクションおよびオーディオ ビデオ開発キット Stratix IV GX エディションを使用して 3 ギガビット / 秒のシリアル
AN520: DDR3 SDRAM Memory Interface Termination and Layout Guidelines
DDR3 SDRAM インタフェースの終端およびレイアウト ガイドライン 2009 年 5 月 AN-520-1.1 はじめに このアプリケーション ノートは システムのシグナル インテグリティを向上させる方法についてのガイドライン および DDR3 SDRAM インタフェースをシステム上に正しく実装するためのレイアウト ガイドラインを示しています 高まり続けるコンピューティングのニーズに対応するために
ロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール
1 AV-52001 署名 この章では ArriaV コア ファブリックのロジック アレイ ブロック (LAB) の機能について説明します LAB は ロジック ファンクション 演算ファンクション およびレジスタ ファンクションを実装するようにコンフィギュレーションできるアダプティブ ロジック モジュール () として知られる基本ビルディング ブロックで構成されています ArriaV デバイス内で使用可能な
Notes and Points for TMPR454 Flash memory
表紙 TMPR454 内蔵 Flash メモリ対応版手順書 株式会社 DTS インサイト ご注意 (1) 本書の内容の一部または 全部を無断転載することは禁止されています (2) 本書の内容については 改良のため予告なしに変更することがあります (3) 本書の内容について ご不明な点やお気付きの点がありましたら ご連絡ください (4) 本製品を運用した結果の影響については (3) 項にかかわらず責任を負いかねますのでご了承ください
AN 477: Designing RGMII Interface with HardCopy
FPGA および HardCopy デバイスとの RGMII インタフェースの設計 ver. 1.0 Application Note 477 はじめに RGMII(Reduced Gigabit Media Independent Interface) は IEEE 802.3z GMII に代わるもので ピン数の削減が図られています ピン数の削減は クロックの立ち上がりと立ち下がりの両エッジでデータをやりとりし
Symantec AntiVirus の設定
CHAPTER 29 Symantec AntiVirus エージェントを MARS でレポートデバイスとしてイネーブルにするためには Symantec System Center コンソールをレポートデバイスとして指定する必要があります Symantec System Center コンソールはモニタ対象の AV エージェントからアラートを受信し このアラートを SNMP 通知として MARS に転送します
Quartus Prime はじめてガイド - デバイス・プログラミングの方法
ALTIMA Corp. Quartus Prime はじめてガイドデバイス プログラミングの方法 ver.15.1 2016 年 3 月 Rev.1 ELSENA,Inc. Quartus Prime はじめてガイド デバイス プログラミングの方法 目次 1. 2. 3. 4. はじめに...3 プログラミング方法...5 Auto Detect 機能...14 ISP CLAMP 機能...17
Quartus II はじめてガイド - EDA ツールの設定方法
ALTIMA Corp. Quartus II はじめてガイド EDA ツールの設定方法 ver.14 2015 年 4 月 Rev.1.1 ELSENA,Inc. Quartus II はじめてガイド EDA ツールの設定方法 目次 1. 2. 3. はじめに...3 サポート環境...4 操作方法...5 3-1. 3-2. 論理合成ツールとのインタフェース設定... 5 シミュレーション ツールとのインタフェース設定...
Using High-Performance DDR, DDR2, DDR3 SDRAM with SOPC Builder
2008 年 3 月 ver. 1.0 SOPC Builder による高性能 DDR DDR2 DDR3 SDRAM の使用 Application Note 517 はじめに Altera の DDR DDR2 および DDR3 SDRAM 高性能コントローラ MegaCore ファンクションのバージョン 7.1 以降では SOPC Builder をサポートし SOPC Builder システムで
Quartus II はじめてガイド - Device & Pin Options 設定方法
- Quartus II はじめてガイド - Device & Pin Options 設定方法 ver.9.1 2010 年 5 月 1. はじめに この資料は Quartus II における Device & Pin Options の設定に関して説明しています Device & Pin Options ダイアログ ボックスでは 現在のプロジェクトで選択されているデバイスにおけるデバイス オプションとピン
Microsoft Word - HowToSetupVault_mod.doc
Autodesk Vault 環境設定ガイド Autodesk Vault をインストール後 必要最小限の環境設定方法を説明します ここで 紹介しているのは一般的な環境での設定です すべての環境に当てはまるものではありません 1 条件 Autodesk Data Management Server がインストール済み Autodesk Vault Explorer がクライアント PC にインストール済み
Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)
Oracle Enterprise Manager システム監視プラグイン インストレーション ガイド for Juniper Networks NetScreen Firewall 10g リリース 2(10.2) 部品番号 : B28468-01 原典情報 : B28041-01 Oracle Enterprise Manager System Monitoring Plug-in Installation
インテル(R) Visual Fortran コンパイラ 10.0
インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行
PLL クイック・ガイド for Cyclone III
ver.9.1 2010 年 1 月 1. はじめに アルテラ社製 FPGA デバイスにおいて PLL を実現するには ALTPLL メガファンクションを使用します ALTPLL を使用することでクロック信号を逓倍 分周 シフトなど簡単に調整することができます PLL で生成したクロック信号を出力専用ピンから外部のデバイスへ供給することも可能なので システムクロックを FPGA にて生成することも可能です
Quartus II はじめてガイド - Convert Programming File の使い方
ALTIMA Corp. Quartus II はじめてガイド Convert Programming File の使い方 ver.14 2015 年 1 月 Rev.1 ELSENA,Inc. Quartus II はじめてガイド Convert Programming File の使い方 目次 1. 2. はじめに...3 操作方法...3 2-1. 2-2. 2-3. Convert Programming
CANコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)
November 2012 cv_54025-1.2 cv_54025-1.2 ハードウェア プロセッサ システム (HPS) は Cortex -A9 マイクロプロセッサ ユニット (MPU) サブシステム ホスト プロセッサ および CAN プロトコルで使用するダイレクト メモリ アクセス (DMA) コントローラでのシリアル通信用に 2 つのコントローラ エリア ネットワーク (CAN) コントローラを提供しています
XAPP858 - High-Performance DDR2 SDRAM Interface In Virtex-5 Devices
XAPP858 (v1.1) 2007 1 9 : Virtex-5 FPGA Virtex-5 DDR2 SDRAM : Karthi Palanisamy Maria George (v1.1) DDR2 SDRAM Virtex -5 I/O ISERDES (Input Serializer/Deserializer) ODDR (Output Double Data Rate) DDR2
Microsoft Word - ALT0982_program_epcs_by_niosii_v10.doc
ver. 1.0 2008 年 6 月 1. はじめに この資料では ホスト PC に存在する ハードウェアのコンフィギュレーション データ ファイルをホスト ファイルシステムの機能を使用して Nios II システム メモリへ転送し そのコンフィギュレーション データを Nios II を使って EPCS へプログラムする手法を紹介します この資料は Quartus II ver.7.2 SP3
! STEP 2. Quartus Prime のダウンロード WEB ブラウザで以下の URL を開きます 2 ページ中段の Quartus Prime 開発ソフトウェア ライト エディ
STEP 学習内容 パソコンに FPGA の開発環境を構築します インストールは以下の手順で行います. Quartus Prime とは 2. Quartus Prime のダウンロード. Quartus Prime のインストール. USB ドライバのインストール. Quartus Prime とは Quartus Prime は Intel の FPGA 統合開発環境です Quartus Prime
Quartus II はじめてガイド - EDA ツールの設定方法
ALTIMA Corp. Quartus II はじめてガイド EDA ツールの設定方法 ver.10.0 2010 年 12 月 ELSENA,Inc. Quartus II はじめてガイド EDA ツールの設定方法 目次 1. はじめに... 3 2. サポート環境... 3 3. 操作方法... 4 3-1. 論理合成ツールとのインタフェース設定... 4 3-2. シミュレータ ツールとのインタフェース設定...
障害およびログの表示
この章の内容は 次のとおりです 障害サマリー, 1 ページ 障害履歴, 4 ページ Cisco IMC ログ, 7 ページ システム イベント ログ, 9 ページ ロギング制御, 12 ページ 障害サマリー 障害サマリーの表示 手順 ステップ 1 [ナビゲーション Navigation ] ペインの [シャーシ Chassis ] メニューをクリックします ステップ 2 [シャーシ Chassis
2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk
2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk Autodesk Vault 2014 新機能 操作性向上 Inventor ファイルを Vault にチェックインすることなくステータス変更を実行できるようになりました 履歴テーブルの版管理を柔軟に設定できるようになりました
Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装
LIM Corp. Nios II - PIO を使用した I 2 C-Bus (2 ワイヤ ) マスタの実装 ver.1.0 2010 年 6 月 ELSEN,Inc. 目次 1. はじめに... 3 2. 適用条件... 3 3. システムの構成... 3 3-1. SOPC Builder の設定... 3 3-2. PIO の設定... 4 3-2-1. シリアル クロック ライン用 PIO
プリンタドライバのインストール. Windows で使用する場合 Windows プリンタドライバのインストール方法は 接続方法や使用するプリンタドライバによって異なります また コンピュータの OS によってインストール方法が異なります お使いのコンピュータの OS に合わせて 以下の参照ページを
プリンタドライバのインストール.1 プリンタドライバの種類と対応 OS 本プリンティングシステムを使用するためには プリンタドライバのインストールが必要です プリンタドライバとは 出力するデータの処理などを制御するプログラムで 使用する前に付属の CD からコンピュータにインストールします 付属の CD に含まれるプリンタドライバと 対応しているコンピュータの OS は以下のとおりです 必要なプリンタドライバをインストールしてください
USB-Blasterダウンロード・ケーブル・ユーザガイド
USB-Blaster 101 Innovation Drive San Jose, CA 95134 www.altera.com 2.3 2007 5 UG-USB81204-2.3 P25-10325-03 Copyright 2007 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company,
Quartus II Web Edition インストール・ガイド
ver. 9.01 2009 年 9 月 1. はじめに Quartus II Web Edition ソフトウェアは アルテラの低コスト FPGA および CPLD ファミリの開発に必要な環境一式が含まれた無償パッケージです 回路図とテキスト形式によるデザイン入力 統合された VHDL と Verilog HDL 合成 サードパーティ ソフトウェアへのサポート SOPC Builder システム生成ソフトウェア
IBM Proventia Management/ISS SiteProtector 2.0
CHAPTER 10 IBM Proventia Management/ISS SiteProtector 2.0 この章は 次の内容で構成されています グローバルイベントポリシーを定義する IBM Proventia Management/ISS SiteProtector (P.10-1) (P.10-5) グローバルイベントポリシーを定義する IBM Proventia Management/ISS
Nios II 簡易チュートリアル
ALTIMA Corp. ver.14 2014 年 8 月 Rev.1 ELSENA,Inc. 目次 1. はじめに...3 1-1. フロー概要... 3 2. ハードウェア...4 2-1. 2-2. 2-3. 2-4. 2-5. ハードウェア プロジェクトの作成 ( Quartus II )... 4 コンフィギュレーション モードの設定... 5 Qsys にてシステムを構成し HDL を生成...
WES7/WE8SシンクライアントVMwareHorizonClientアップデート手順書
Technical white paper Windows Embedded Standard シンクライアント VMware Horizon Client アップデート手順 目次 はじめに 2 対応する機種と OS イメージ 2 VMware Horizon Client アドオンのダウンロードと展開 3 VMware Horizon Client アドオンのインストール ( 手動インストール )
Maser - User Operation Manual
Maser 3 Cell Innovation User Operation Manual 2013.4.1 1 目次 1. はじめに... 3 1.1. 推奨動作環境... 3 2. データの登録... 4 2.1. プロジェクトの作成... 4 2.2. Projectへのデータのアップロード... 8 2.2.1. HTTPSでのアップロード... 8 2.2.2. SFTPでのアップロード...
A-AN pdf
JQFP BGA 1999 1 ver. 4 Application Note 71 J QFPFineLine BGA TM BGA JQFPBGA JQFP QFPBGA JQFP BGA JQFP BGA J QFP J QFP QFP QFP 125 QFP QFP QFPQFP Carrier & Development Socket Altera Corporation Page 1 A-AN-071-04/J
ネットリストおよびフィジカル・シンセシスの最適化
11. QII52007-7.1.0 Quartus II Quartus II atom atom Electronic Design Interchange Format (.edf) Verilog Quartus (.vqm) Quartus II Quartus II Quartus II Quartus II 1 Quartus II Quartus II 11 3 11 12 Altera
電話機のファイル形式
この章では テキスト エディタを使用して作成する CSV データ ファイルのファイル形式を設定 する方法について説明します 電話機 CSV データ ファイルを作成するためのテキスト エディタ, 1 ページ の検索, 2 ページ CSV データ ファイルの電話機ファイル形式の設定, 3 ページ テキストベースのファイル形式と CSV データ ファイルの関連付け, 7 ページ 電話機 CSV データ ファイルを作成するためのテキスト
マルチ VRFCE PE-CE リンクのプロビジョ ニング
CHAPTER 26 この章では Prime Fulfillment のプロビジョニングプロセスで MPLS VPN マルチ VRFCE PE-CE リンクを構成する方法を説明します MPLS VPN MVRFCE PE-CE リンクの概要 この項の内容は 次のとおりです ネットワークトポロジ (P.26-2) 前提タスク (P.26-2) Prime Fulfillment で MPLS VPN
ModelSim - アルテラ・シミュレーション・ライブラリ作成および登録方法
ALTIMA Corp. ModelSim アルテラ シミュレーション ライブラリ作成および登録方法 ver.10 2013 年 3 月 Rev.1 ELSENA,Inc. 目次 1. はじめに... 3 2. 操作方法... 6 2-1. Quartus II におけるシミュレーション ライブラリの作成... 6 2-2. ライブラリの登録... 10 2-3. ライブラリの選択... 14 3.
Quartus II はじめてガイド - プロジェクトの作成方法
ALTIMA Corp. Quartus II はじめてガイド プロジェクトの作成方法 ver.14 2015 年 4 月 Rev.1.1 ELSENA,Inc. Quartus II はじめてガイド プロジェクトの作成方法 目次 1. はじめに...3 2. プロジェクトとは...3 3. Quartus II 開発ソフトウェアの起動...4 4. 新規プロジェクトの作成...7 5. 既存プロジェクトの起動と終了...15
DDR2とDDR3 SDRAMのボード・デザイン・ガイドライン、外部メモリ・インタフェース・ハンドブック、Volume 2、第4章
6? 2012? EMI_DG_004-4.1 EMI_DG_004-4.1 この章では システムのシグナル インテグリティを向上させる方法についてのガイドライン および DDR2 または DDR3 SDRAM インタフェースをシステム上に正しく実装するためのレイアウト ガイドラインを示します DDR3 SDRAM は 既存の DDR2 SDRAM 規格と部分的に下位互換性を維持しながら 複数の On-Die
Stratix IIIデバイスの外部メモリ・インタフェース
8. Stratix III SIII51008-1.1 Stratix III I/O R3 SRAM R2 SRAM R SRAM RII+ SRAM RII SRAM RLRAM II 400 MHz R Stratix III I/O On-Chip Termination OCT / HR 4 36 R ouble ata RateStratix III FPGA Stratix III
Welcome-Kit ~STM32L4-Nucleo~
STM32CubeMX の使い方 0 STM32CubeMX ダウンロード 1 1 ST マイクロ社 HP より STM32CubeMX インストーラーをダウンロードし インストーラーの表示に沿ってインストールします URL : http://www.st.com/content/st_com/ja/products/development-tools/software-development-tools/stm32-
ヤマハDante機器と他社AES67機器の接続ガイド
はじめに AES67 は 高性能なデジタル IP ネットワークの相互接続を実現するための標準規格です AES67 は や Ravenna Q-LAN Livewire WheatNet などの異なるネットワーク規格で構築されたシステム間で オーディオ信号を送受信する手段を提供します ヤマハも 機器のアップデートにより順次 AES67 への対応を開始し 第一弾としてデジタルミキシングコンソール CL/QL
Nios II SBT Flash Programmer ユーザ・ガイド
ALTIMA Corp. Nios II SBT Flash Programmer ユーザ ガイド ver.9.1 2010 年 12 月 ELSENA,Inc. 目次 1. はじめに... 3 2. 使用条件... 3 3. GUI 操作手順... 3 3-1. SOF ファイルをダウンロード... 4 3-1-1. Quartus II Programmer の起動... 4 3-1-2. SOF
AWS Client VPN - ユーザーガイド
AWS Client VPN ユーザーガイド AWS Client VPN: ユーザーガイド Copyright 2019 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with
Quartus II はじめてガイド ‐ Device and Pin Options 設定方法
ALTIMA Corp. Quartus II はじめてガイド Device and Pin Options 設定方法 ver.10.0 2010 年 9 月 ELSENA,Inc. Quartus II はじめてガイド Device and Pin Options 設定方法 目次 1. はじめに... 3 2. Device and Pin Options の起動... 3 3. Device and
PCI-Express ハード IP を使用した DMA の実現 for Cyclone V GT FPGA 開発キット(ソフトウェア編)
ALTIMA Corp. PCI-Express ハード IP を使用した DMA の実現 for Cyclone V GT FPGA 開発キット ( ソフトウェア編 ) ver.1 2015 年 4 月 Rev.1 ELSENA,Inc. PCI-Express ハード IP を使用した DMA の実現 for Cyclone V GT FPGA 開発キット ( ソフトウェア編 ) 目次 1. はじめに...3
Quartus Prime - プログラミング・ファイルの生成や変換(Convert Programming Files)
ALTIMA Corp. Quartus Prime プログラミング ファイルの生成や変換 (Convert Programming Files) ver.15.1 2016 年 5 月 Rev.1 ELSENA,Inc. Quartus Prime プログラミング ファイルの生成や変換 (Convert Programming Files) 目次 1. 2. はじめに...3 操作方法...4 2-1.
A 既製のプロジェクトがある場合
2008 年 7 月 15 日 ワゴジャパン株式会社 1 使用機器 -Siemens S7-300:CPU315F-2 PN/DP プロセッサ /PROFINET スキャナ -Siemens SIMATIC Manager STEP 7 ソフトウェア バージョン V5.4-750-333 GSD ファイル :B754_V30.GSD(FW Ver.7 以降 ) -WAGO I/O ノード構成ノード
McAfee SaaS Protection 統合ガイド Microsoft Office 365 と Exchange Online の保護
統合ガイド改訂 G McAfee SaaS Email Protection Microsoft Office 365 と Exchange Online の保護 Microsoft Office 365 の設定 このガイドの説明に従って McAfee SaaS Email Protection を使用するように Microsoft Office 365 と Microsoft Exchange Online
本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です
ACTIVE TOUCH 拡張部品取扱説明書 - 共有メモリアクセスコンポーネント - 1. はじめに 1 (1) 概要... 1 (2) INpMac のインストール... 1 2. Windows アプリケーションとの連携 2 (1) コントロール ( 部品 ) の登録... 2 (2) データの関連付け... 3 3. INtime アプリケーションとの連携 4 (1) 部品 ( コンポーネント
任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ
はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページにアクセスする 1.Web ブラウザを起動します FW v6.50 以下の場合は Internet Explorer を FW v7.10 以降の場合は
MIB サポートの設定
CHAPTER 2 この章では Cisco 10000 シリーズに SNMP および MIB のサポートを設定する手順について説明します 具体的な内容は次のとおりです Cisco IOS リリースに対応する MIB サポートの判別 (p.2-1) MIB のダウンロードおよびコンパイル (p.2-2) シスコの SNMP サポート (p.2-4) Cisco IOS リリースに対応する MIB サポートの判別
Quartus II はじめてガイド - ピン・アサインの方法
ALTIMA Corp. Quartus II はじめてガイドピン アサインの方法 rev.1 ver.10 2011 年 3 月 ELSENA,Inc. Quartus II はじめてガイド ピン アサインの方法 rev.1 目次 1. はじめに... 3 2. 事前作業... 3 2-1. デバイスの選択... 3 2-2. データベースの構築... 4 3. ユーザ I/O ピンのアサイン方法...
WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル
< 概要 > WAGO-I/O-SYSTEM750 シリーズ PROFIBUS バスカプラ / コントローラと 三菱電機 製 PROFIBUS ユニット QJ71PB92D とのコンフィグレーション手順を説明しております < 使用機器接続図 > 下記機器を準備し 図の通り接続しました WAGO-I/O-SYSTEM PROFIBUS バスカプラ / コントローラ 750-xxx および I/O モジュール
WES7シンクライアントIE11アップデート手順書
Technical white paper Windows Embedded Standard 7 シンクライアント IE11 アップデート手順書 Contents はじめに 2 対応する機種と OS イメージ 2 IE11 アドオンのダウンロードと展開 2 IE11 アドオンのインストール ( 手動インストール ) 5 HP Device Manager を使用した IE11 アドオンのインストール
ドライバインストールガイド
PRIMERGY Single Port ファイバーチャネルカード (8Gbps) Dual Port ファイバーチャネルカード (8Gbps) (PG-FC205/PG-FC205L) (PG-FC206/PG-FC206L) CA092276-8938-01 ドライバインストールガイド i 目次 1. ドライバのインストール / アンインストール方法... 3 1.1. ドライバのダウンロード
メモリIPのタイミングの解析、外部メモリ・インタフェース・ハンドブック、olume 2、第10章
6? 2012? EMI_DG_010-4.1 EMI_DG_010-4.1 f 外 部 メモリ インタフェースは 今 日 の 高 速 メモリ デバイスの 様 々なタイミング 要 件 を 満 たすことを 確 保 することが 困 難 な 場 合 があります アルテラはシステム タイミングのマージンを 最 大 化 するためのソース シンクロナスと 自 己 キャリブ レーション 回 路 の 組 み 合 わせを
使用する前に
この章では Cisco Secure ACS リリース 5.5 以降から Cisco ISE リリース 2.4 システムへのデー タ移行に使用される Cisco Secure ACS to Cisco ISE Migration Tool について説明します 移行の概要 1 ページ Cisco Secure ACS から データ移行 1 ページ Cisco Secure ACS to Cisco ISE
Veritas System Recovery 18 System Recovery Disk
Veritas System Recovery 18 System Recovery Disk 免責事項 ベリタステクノロジーズ合同会社は この 書の著作権を留保します また 記載された内容の無謬性を保証しません VERITAS の製品は将来に渡って仕様を変更する可能性を常に含み これらは予告なく われることもあります なお 当ドキュメントの内容は参考資料として 読者の責任において管理 / 配布されるようお願いいたします
Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ
Oracle Un お問合せ : 0120- Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよびSOA 対応データ サービスへ ) を網羅する総合的なデータ統合プラットフォームです Oracle
C1Live
C1Live 2014.01.30 更新 グレープシティ株式会社 Copyright GrapeCity, Inc. All rights reserved. C1Live 目次 i 目次 ComponentOne Studio Live 更新ユーティリティの概要 1 Studio Live について 2 Studio Live 製品グリッド... 3 Studio Live メニュー... 4 Studio
Rational Roseモデルの移行 マニュアル
Model conversion from Rational Rose by SparxSystems Japan Rational Rose モデルの移行マニュアル (2012/1/12 最終更新 ) 1. はじめに このガイドでは 既に Rational( 現 IBM) Rose ( 以下 Rose と表記します ) で作成された UML モデルを Enterprise Architect で利用するための作業ガイドです
