外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … ›...

132
101 Innovation Drive San Jose, CA 95134 www.altera.com EMI_DDR3_UG-3.0 セクション II. ALTMEMPHY IP 付きの DDR3 SDRAM コントローラのユーザーガイド 外部メモリ・インタフェース・ハンドブック Vol 3 ドキュメント・バージョン : ドキュメント・デート : 11.0 2011 年 6 月 Subscribe ???????????????????? Vol 3 ?????II. ALTMEMPHY IP???DDR3 SDRAM ??????????????

Transcript of 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … ›...

Page 1: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

101 Innovation DriveSan Jose, CA 95134www.altera.com

EMI_DDR3_UG-3.0

セクション II. ALTMEMPHY IP 付きの DDR3 SDRAMコントローラのユーザーガイド

外部メモリ・インタフェース・ハンドブック Vol 3

ドキュメント・バージョン :ドキュメント・デート :

11.02011 年 6 月

Subscribe

???????????????????? Vol 3 ?????II. ALTMEMPHY IP???DDR3 SDRAM ??????????????

Page 2: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

外部メモリ・インタフェース・ハンドブック Vol 3 6 月 2011 年 Altera Corporationセクション II. ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド

© 2011 年 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S.Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respectiveholders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordancewith 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 orliability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Alteracustomers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products orservices.

Page 3: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

目次

第 1 章 . この IP についてリリース情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒2サポートされるデバイス・ファミリ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒2特長 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒3サポートされない機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒5MegaCore 検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒5リソース使用率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒5システム条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒5インストールおよびライセンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒6無償評価版 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒6OpenCore Plus タイム・アウト動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒7

第 2章 . 使用法デザイン・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒1SOPC Builder フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒2パラメータの指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒2SOPC Builder システムの終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒3

Qsys フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒4パラメータの指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒4Qsys システムの終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒5

MegaWizard Plug-In Manager フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒6パラメータの指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒7

生成されるファイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒8

第 3 章 . パラメータの設定ALTMEMPHY パラメータの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒1メモリ設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒2カスタム・メモリ・プリセットを作成するための Preset Editor の使用 . . . . . . . . . . . . . . . . . . . 3‒3ディレート・メモリ・セットアップおよびホールド・タイミング . . . . . . . . . . . . . . . . . . . . . . . 3‒11

PHY 設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒12ボード設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒13

DDR3 SDRAM コントローラの ALTMEMPHY パラメータ設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒13コントローラ設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒14

第 4 章 . コンパイルおよびシミュレーションデザインのコンパイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4‒1デザインのシミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4‒4

第 5 章 . 機能の説明̶ALTMEMPHYブロック説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒1キャリブレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒3アドレスおよびコマンド・データパス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒3Arria II GX デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒3

クロックおよびリセット管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒5クロック管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒5リセット管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒7

リード・データパス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒8Arria II GX デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒8

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 4: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6 目次

ALTMEMPHY 信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒10PHY からコントローラへのインタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒17カスタム・コントローラの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒25

準備ステップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒25デザインの検討事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒25クロックおよびリセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒25キャリブレーション・プロセス要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒26他のローカル・インタフェース要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒26アドレスおよびコマンド・インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒26リード・コマンドとリード・データ間のハンドシェイク・メカニズム . . . . . . . . . . . . . . . . . . . 5‒26ライト・コマンドとライト・データの間のハンドシェイク・メカニズム . . . . . . . . . . . . . . . . . 5‒27部分的書き込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒28

第 6 章 . 機能の説明̶高性能コントローラ IIメモリ・コントローラ・アーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒1Avalon-ST 入力インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒2コマンド・ジェネレータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒2タイミング・バンク・プール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒3アービタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒3アービトレーション規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒3

ランク・タイマ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒3リード・データ・バッファ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒3ライト・データ・バッファ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒3ECC ブロック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒3AFI インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒4CSR インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒4

コントローラの機能の説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒4データの組み替え . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒4プリエンプティブ・バンク管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒4Quasi-1T および Quasi-2T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒4ユーザー自動プリチャージのコマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒5アドレスおよびコマンド・デコード・ロジック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒5低消費電力ロジック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒5ユーザーが制御したセルフ・リフレッシュ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒5自動パワーダウンかつプログラマブル・タイムアウト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒6

ODT 生成ロジック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒6DDR3 SDRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒6

ECC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒8部分的書き込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒9部分的バースト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒10

外部インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒10クロックおよびリセット・インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒10Avalon-ST データ・スレーブ・インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒11コントローラ -PHY インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒11メモリ側波帯信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒11セルフ・リフレッシュ(低消費電力)インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒11ユーザー・コントローラ・リフレッシュ・インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒11コンフィギュレーションおよびステータス・レジスタ(CSR)インタフェース . . . . . . . . . . . 6‒12

トップ・レベル信号の記述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒13動作の順序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒20ライト・コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒20リード・コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒20リード・モディファイ・ライト・コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒21

トップ・レベル・ファイルの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒21

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 5: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

目次 7

サンプル・ドライバ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒22レジスタ・マップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒24ALTMEMPHY レジスタ・マップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒25コントローラのレジスタ・マップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒27

第 7 章 . レイテンシ

第 8 章 . タイミング図DDR3 高性能コントローラ II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒1ハーフ・レート・リード(バースト・アライン・アドレス) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒2ハーフ・レート・ライト(バースト・アライン・アドレス) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒4ハーフ・レート・リード(非バースト・アライン・アドレス) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒6ハーフ・レート・ライト(非バースト・アライン・アドレス) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒8ギャップを備えたハーフ・レート・リード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒10ギャップを備えたハーフ・レート・ライト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒11ハーフ・レート・ライト動作(マージするライト) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒12ライト-リード-ライト-リード動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒14

追加情報改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info‒1アルテラへのお問い合わせ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info‒1表記規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info‒2

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 6: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

8 目次

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 7: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

1. この IP について

ALTMEMPHY IP 付きの Altera® DDR3 SDRAM 高性能コントローラは、業界標準の DDR3 SDRAM への簡素化されたインタフェースを提供します。ALTMEMPHY メガファンク

ションは、メモリに対する読み出しおよび書き込み動作を実行し、メモリ・コント

ローラとメモリ・デバイス間のインタフェースです。ALTMEMPHY IP 付きの DDR3 SDRAM コントローラはアルテラの ALTMEMPHY メガファンクションと連携して動作

します。

ALTMEMPHY IP 付きの DDR3 SDRAM コントローラと ALTMEMPHY メガファンクション

はハーフ・レート・モードでの DDR3 SDRAM インタフェースをサポートします。

ALTMEMPHY IP 付きの DDR3 SDRAM コントローラは、高効率と高度な機能を提供する

高性能コントローラ II(HPC II)を提供しています。

1–1 ページの 図 1–1 に、ALTMEMPHY IP 付きの DDR3 SDRAM コントローラを作成する

デザイン例を含むシステム・レベル図を示します。

MegaWizard™ Plug-In Manager は、ドライバ例をおよび DDR3 SDRAM 高性能コントロー

ラのカスタム・バリエーションを含むトップ・レベル・ファイル例を生成します。

コントローラは、PLL(phase-locked loop)と DLL をインスタンス化する ALTMEMPHYメガファンクションのインスタンスをインスタンス化します。また、ALTMEMPHY メ

ガファンクションの複数のインスタンス間で DLL を共有するために ALTMEMPHY メ

ガファンクションの外部にある DLL をインスタンス化することができます。

ALTMEMPHY メガファンクションの複数のインスタンス間で PLL を共有することはで

きませんが、これらの複数のインスタンス間で PLL クロック出力の一部を共有する

ことがあります。

トップ・レベル・ファイルのサンプルは、シミュレーション、合成、およびハード

ウェアで使用できる完全機能的なデザインです。 サンプル・ドライバは、セルフ・テ

スト・モジュールでコントローラにリードとライトのコマンドを発行し、リード・

データをチェックして、パス / フェイルおよびテスト完了の信号を出力します。

ALTMEMPHY メガファンクションはメモリ・デバイスとメモリ・コントローラ間の

データパスを作成します。メガファンクションは、スタンド・アロン製品または高

性能メモリ・コントローラを備えた統合製品として使用できます。ALTMEMPHY メガ

ファンクションがスタンド・アロン製品とする場合は、カスタム・コントローラま

たはサード・パーティ・コントローラと共に使用することができます。

図1‒1. システム・レベル図

図 1–1 の注:

(1) Instantiate DLL Externally を選択したとき、DLL(Delay-Locked Loop)は ALTMEMPHY メガファクションの外側にインスタンス化されます。

Pass or FailExternalMemoryDevice

ALTMEMPHYHigh-

PerformanceController

ExampleDriver

PLL

Example Top-Level File

DLL (1)

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 8: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

1–2 第 1章 : この IP についてリリース情報

リリース情報表 1–1 に、ALTMEMPHY IP 付きの DDR3 SDRAM コントローラのリリースに関する情報

を示します。

アルテラは、Quartus® II ソフトウェアの現行バージョンが、各 MegaCore ファンク

ションの前のバージョンをコンパイルできることを検証しています。MegaCore IP Library Release Notes and Errata では、この検証に例外がある場合に報告します。 アルテ

ラは、1 リリースより前の MegaCore ファンクション・バージョンのコンパイルは検

証していません。Quartus II のバージョンで DDR3 SDRAM 高性能コントローラと

ALTMEMPHY メガファンクションについて詳しくは、 「Quartus II Software Release Notes」を参照してください。

サポートされるデバイス・ファミリMegaCore ファンクションは、ターゲットのアルテラ・デバイス・ファミリに対し、

終的なサポートあるいは暫定サポートを提供しています。

■ 終サポートとは、コアがこのデバイス・ファミリの 終的なタイミング・モデ

ルで検証されていることを意味します。コアはデバイス・ファミリのすべての機

能要件およびタイミング要件を満たしており、生産デザインで使用することがで

きます。

■ 暫定サポートとは、コアがこのデバイス・ファミリの暫定タイミング・モデルで

検証されていることを意味します。コアはデバイス・ファミリの機能要件はすべ

て満たしていますが、タイミング要件については評価中です。生産デザインでの

使用は注意が必要です。

■ HardCopy コンパイルとは、コアが HardCopy® デバイス・ファミリの 終的なタイ

ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

のすべての機能要件およびタイミング要件を満たしており、生産デザインで使用

することができます。

■ HardCopy コンパニオンとは、コアが HardCopy コンパニオン・デバイスの暫定タイ

ミング・モデルで検証されていることを意味します。 コアはデバイス・ファミリ

の機能要件はすべて満たしていますが、タイミング要件については評価中です。

生産デザインでの使用は注意が必要です。

表 1–2 に、ALTMEMPHY IP 付きの DDR3 SDRAM コントローラによる各アルテラ・デバ

イス・ファミリへのサポートのレベルを示します。

表1‒1. リリース情報

項目 説明バージョン 11.0

リリース・デート 2011 年 5 月

製品コード IP-HPMCII (HPC II)

プロダクト ID00C2 (DDR3 SDRAM)

00CO (ALTMEMPHY メガファンクション)

ベンダ ID 6AF7

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 9: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 1 章 : この IP について 1–3機能

機能ALTMEMPHY メガファンクションは以下の機能を備えています。

■ セットアップが簡単。

■ すべてのサポートされるデバイスで DDR3 SDRAM のアルテラ PHY インタフェース

(AFI)をサポート。

■ 初期キャリブレーションの自動化により、複雑なリード・データ・タイミング計

算が不要。

■ DDR3 SDRAM インタフェースの 大安定した性能を保証する電圧および温度(VT)トラッキング。

■ クリティカル・タイミング・パスに関係なく、自蔵データパスがアルテラ・コン

トローラまたはサード・パーティ・コントローラへの接続を実行。

■ 使いやすい Parameter Editor。

ALTMEMPHY メガファンクションは、レベリング機能を搭載していない DDR3 SDRAMコンポーネントをサポートします。

■ ALTMEMPHY は、クロック、アドレス、およびコマンド・バスの T- トポロジーを使

用して、Arria II GX デバイスに対するレベリング機能を搭載していない DDR3 SDRAM コンポーネントをサポート。

■ 複数のチップ・セレクトをサポート。

■ シングル・チップ・セレクトの場合、レベリング fMAX 機能を搭載していない

DDR3 SDRAM PHY は 400 MHz である。

■ ×4 DDR3 SDRAM DIMM またはコンポーネントのデータ・マスク(DM)ピンをサ

ポートしていないため、×4 デバイスを使用するときに Drive DM pins from FPGA で

No を選択。

■ ALTMEMPHY メガファンクションはハーフ・レート DDR3 SDRAM インタフェースの

みをサポート。

さらに、表 1–3 に、DDR3 SDRAM HPC および HPC II によって提供される機能を示し

ます。

表1‒2. サポートされるデバイス・ファミリ

デバイス・ファミリ サポートの種類Arria® II GX 終的

他のデバイス・ファミリ サポートなし

表1‒3. DDR3 SDRAM HPC II 機能 ( その 1 )

機能 HPC II ハーフ・レート・コントローラ vAFI ALTMEMPHY をサポート vAvalon®Memory Mapped(Avalon-MM) ローカル・インタフェースをサポート

vネイティブ・ ローカル・インタフェースをサポート —

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 10: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

1–4 第 1章 : この IP について機能

イン・オーダーの読み取りと書き込みが付きの設定可能なコマンドの look-ahead バンク管理

v追加のレイテンシ(AL) v(1)

任意の Avalon バースト・レングスをサポート vビルト・イン柔軟なメモリ・バースト・アダプタ v設定可能な Local-to-Memory アドレス・マッピング vサイズとモード・レジスタの設定のランタイム・コンフィギュレーション、およびメモリ・タイミングのオプション

vパーシャル・アレイ・セルフ・リフレッシュ。 v業界標準の DDR3 SDRAM デバイスのサポート vセルフ・リフレッシュ・コマンドのオプション・サポート vユーザーがコントロールするパワー・ダウン・コマンドのオプション・サポート

タイム・アウト・プログラマブルで自動パワー・ダウン・コマンドのオプション・サポート

v自動プリチャージ読み取りおよび自動プリチャージの書き込みコマンドのオプション・サポート

vオプションのユーザー・コントローラ・リフレッシュ vSOPC Builder フローで共有する複数のコントローラ・クロックのオプション

v統合された誤り訂正コード(ECC)機能 72 ビット合 v統合された誤り訂正コード(ECC)機能 16 ビット、 24 ビット、 および 40 ビット合

vオプションの自動誤り訂正で部分的なワード書き込みをサポート vSOPC Builder への対応 vOpenCore Plus 評価をサポート —

アルテラがサポートする VHDL および Verilog HDL シミュレータで使用する IP 機能シミュレーション・モデル

v

表 1–3 の注:

(1) HPC II は、クロック・サイクルの単位(tCK)で、tRCD-1 以上の追加レイテンシの値をサポートしています。

(2) この機能は、レベリングを搭載する DDR3 SDRAM ではサポートされていません。

表1‒3. DDR3 SDRAM HPC II 機能 ( その 2 )

機能 HPC II

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 11: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 1 章 : この IP について 1–5サポートされていない機能

サポートされていない機能ALTMEMPHY IP 付きの DDR3 SDRAM コントローラは、次の機能をサポートしていませ

ん。

■ タイミング・シミュレーション。

■ DM ピンが無効になっている場合、ECC と非 ECC モードで部分的なバーストおよび

アラインされていないバースト。

■ Stratix III および Stratix IV。

■ DIMM サポート。

■ フル・レート・インタフェース。

MegaCore 検証アルテラでは、ALTMEMPHY IP 付きの DDR3 SDRAM コントローラの機能を保証するた

めに、業界標準の Denali モデルを使用して、機能テストをカバーする徹底したラン

ダムなダイレクト・テストを実施しました。

リソース使用率表 1–4 に、ALTMEMPHY メガファンクションおよび DDR3 高性能コントローラ II のリ

ソース使用率データを示します。

システム条件ALTMEMPHY IP 付きの DDR3 SDRAM コントローラは、MegaCore IP ライブラリの一部

であり、Quartus II ソフトウェアとともに配布されます。また、アルテラのウェブサ

イト(www.altera.com)からダウンロードすることもできます。

表1‒4. Arria II GX デバイスのリソース使用率

プロトコル メモリ幅(ビット)

組み合わせALUT 数

ロジック・レジスタ数

Mem ALUT 数

M9Kブロック

M144Kブロック

メモリ

(ビット)

コントローラ

DDR3(ハフ・レート)

8 1,883 1,505 10 2 0 4,352

16 1,893 1,505 10 4 0 8,704

64 1,946 1,521 18 15 0 34,560

72 1,950 1,505 10 17 0 39,168

コントローラ +PHY

DDR3 (ハーフ・レート)

8 3,389 2,760 12 4 0 4,672

16 3,457 2,856 12 7 0 9,280

64 3,793 3,696 20 24 0 36,672

72 3,878 3,818 12 26 0 41,536

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 12: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

1–6 第 1章 : この IP についてインストールおよびライセンス

f システム要件とインストール手順については、 「Altera Software Installation & Licensing」を参照してください。

インストールおよびライセンス図 1–2 に、ALTMEMPHY IP 付きの DDR3 SDRAM コントローラをインストールした後の

ディレクトリ構造を示します。ここで、<path> がインストール・ディレクトリです。

Windows でのデフォルトのインストール・ディレクトリは、c:\altera\<version> です。

Linux では、/opt/altera<version> です。

MegaCore を製品に組み込む場合にのみ、ライセンスを購入していただく必要があり

ます。

DDR3 SDRAM HPC を使用するには、アルテラのウェブサイト

(www.altera.com/licensing)からライセンス・ファイルを要求して、コンピュータにイ

ンストールできます。ライセンス・ファイルを要求すると、アルテラから電子メー

ルで license.dat ファイルが送信されます。インターネットをご利用いただけないお

客様は、日本アルテラの販売代理店にお問い合わせください。

DDR3 SDRAM HPC II を使用するには、ライセンスを注文するために日本アルテラの販

売代理店にお問い合わせください。

無償の評価アルテラの OpenCore Plus 評価機能では、DDR3 SDRAM HPC にのみ適用可能です。

OpenCore Plus 評価機能により、以下の処理を実行することができます。

■ 作成したシステム内のメガファンクション(アルテラ MegaCore ファンクションま

たは AMPPSM メガファンクション)の動作をシミュレーションする。

■ デザインの機能を検証したり、サイズやスピードを迅速かつ簡単に評価したりす

る。

■ MegaCore ファンクションを含むデザインに対し、時間制限つきのデバイス・プロ

グラミング・ファイルを生成する。.

■ デバイスをプログラムし、デザインを実機上で検証する。

図1‒2. ディレクトリ構造

<path>

ddr3_high_perfContains the DDR3 SDRAM Controller with ALTMEMPHY IP files.

libContains encypted lower-level design files and other support files.

commonContains shared components.

Installation directory.

ipContains the Altera MegaCore IP Library and third-party IP cores.r

alteraContains the Altera MegaCore IP Library.

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 13: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 1 章 : この IP について 1–7インストールおよびライセンス

メガファンクションのライセンスは、お客様が機能と性能に満足し、かつデザイン

を製品化する場合にのみ、ご購入いただく必要があります。

OpenCore Plus タイム・アウト動作OpenCore Plus ハードウェア評価機能は、以下の 2 種類の動作モードでメガファンク

ションの実機評価をサポートします。

■ Untethered(アンテザード)— デザインは限定時間のみ実行されます。

■ Tethered(テザード)— ボードとホスト・コンピュータ間に接続が必要です。デ

ザイン内のすべてのメガファンクションが Tethered モードをサポートしている場

合、デバイスはより長時間または無制限に動作できます。

OpenCore Plus 評価機能モードで動作中のメガファンクションのうちの 1 つでも評価

時間に達すると、デバイス内のすべてのメガファンクションが同時にタイム・アウ

トします。デザイン内に複数のメガファンクションがある場合、特定のメガファン

クションのタイム・アウト動作は、他のメガファンクションのタイム・アウト動作

によってマスクされることがあります。

1 MegaCore ファンクションの場合、アンテザード・タイム・アウトは 1 時間、テザー

ド・タイム・アウト値は無制限です。

ハードウェア評価期限経過後にデザインは動作を停止し、local_ready 出力が Lowになります。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 14: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

1–8 第 1章 : この IP についてインストールおよびライセンス

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 15: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

2. 使用法

デザイン・フロー次のフローのいずれかを使用して ALTMEMPHY IP 付きの DDR3 SDRAM コントローラ

を実装することができます。

■ SOPC Builder フロー

■ Qsys フロー

■ MegaWizard Plug-In Manager フロー

ALTMEMPHY メガファンクションは、MegaWizard Plug-In Manager フローでのみインス

タンス化できます。

図 2–1 に、利用可能なフローを使用して Quartus II ソフトウェアでシステムを構築す

るためのステージを示します。

図2‒1. デザイン・フロー

Select Design Flow

Specify Parameters

Qsys orSOPC Builder

Flow

MegaWizardFlow

Complete SOPC Builder System

Specify Parameters

IP Complete

Add Constraintsand Compile Design

Perform Functional Simulation

Debug Design

Does Simulation Give

Expected Results?

Yes

Optional

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 16: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2–2 第 2 章 : 使用法SOPC Builder フロー

SOPC Builder フローは、以下の利点を提供します。

■ シミュレーション環境を生成

■ カスタム・コンポーネントを作成し、それらをコンポーネント・ウィザードを介

して統合

■ すべてのコンポーネントを Avalon-MM インタフェースと相互接続

MegaWizard Plug-in Manager フローは、以下の利点を提供します。

■ DDR3 SDRAM インタフェースから直接ペリフェラル・デバイスへのデザインが可

■ より高い周波数動作を達成

SOPC Builder フローSOPC Builder フローを使用して、ALTMEMPHY IP 付きの DDR3 SDRAM コントローラを

新規または既存の SOPC Builder システムに直接追加できます。

また、Nios® II プロセッサ、および scatter-gather DMA(ダイレクト・メモリ・アクセ

ス)コントローラなど、他の使用可能なコンポーネントも簡単に追加して、DDR3 SDRAM コントローラを備えた SOPC Builder システムを迅速に構築することができま

す。SOPC Builder は、システム・インタコネクタ・ロジックおよびシステム・シミュ

レーション環境を自動的に構築します。

f SOPC Builder について詳しくは「Quartus II ハンドブック volume 4」を参照してくださ

い。SOPC Builder を使用するコントローラの使用方法について詳しくは、「External Memory Interface Handbook Volume 5」の「ALTMEMPHY Design Tutorials」のセクション

を参照してください。 Quartus II ソフトウェアについて詳しくは 「Quartus II ヘルプ」を参照してください。

パラメータの指定SOPC Builder フローを使用して、ALTMEMPHY IP 付きの DDR3 SDRAM コントローラの

パラメータを指定するには、以下のステップを実行します。

1. Quartus II ソフトウェアで、New Project Wizard を使用して新規プロジェクトを作

成します。

2. Tools メニューの SOPC Builder をクリックします。

3. 新しいシステムの場合、システム名と言語を指定します。

4. System Contents タブからシステムに、DDR3 SDRAM Controller with ALTMEMPHY を

追加します。

1 DDR3 SDRAM Controller with ALTMEMPHY は、Memories and Memory Controllers フォルダの SDRAM フォルダにあります。

5. Parameter Settings タブのすべてのページで必要なパラメータを指定します。

1 Controller Architectureで High Peformance Controller II を選択した場合、シミュ

レーションが失敗するのを防ぐには Local-to-Memory Address Mapping を

CHP-BANK-ROW-COL にセットする必要があります。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 17: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 2 章 : 使用法 2–3SOPC Builder フロー

f パラメータの詳細については、 3–1 ページの「パラメータの設定」を参照

してください。

6. Finish をクリックして ALTMEMPHY IP 付きの DDR3 SDRAM コントローラのパラ

メータ化を完了し、システムに追加します。

SOPC Builder システムの終了SOPC Builder システムを終了するには、以下のステップを実行します。

1. System Contents タブで、Nios II Processor を選択し、Add をクリックします。

2. Nios II Processor のページで、Core Nios II タブで、Reset Vector および Exception Vector の altmemddr を選択します。

3. キャリブレーション・プロセス中に ALTMEMPHY メガファンクションによって書

き込まれない Avalon アドレスに Reset Vector Offset および Exception Vector Offset を変更します。

c ALTMEMPHY メガファンクションは、リセットされるごとにメモリ・インタ

フェース・キャリブレーションを実行し、アドレス範囲に書き込みます。

システム・リセット中にメモリ内容を元のまま保持したい場合は、これら

のメモリ・アドレスを使用しないようにします。システムをリセットする

たびにフラッシュから SDRAM メモリの内容をリロードする場合、このス

テップは不要です。

バージョン 8.1 以前から Nios システム・デザインをアップグレードする場

合は、AFI モードに Reset Vector Offset および Exception Vector Offset を変更

することを確認してください。

メモリ・アドレス範囲 0×0から 0×47までの Avalon-MM アドレスの等価を計算す

るには、バイト単位のメモリ・インタフェースのデータ・バス幅によってメモ

リ・アドレスを掛けます。 Avalon-MM アドレスについては、 表 2–1 を参照してくだ

さい。

4. Finish をクリックします。

5. System Contents タブで、 Interface Protocols を展開し、Serial を展開します。

6. JTAG UART を選択して Add をクリックします。

7. Finish をクリックします。

表2‒1. AFI モードの Avalon-MM アドレス

外部メモリ・インタフェース幅 Reset Vector Offset Exception Vector Offset

8 0×60 0×80

16 0×A0 0×C0

32 0×120 0×140

64 0×240 0×260

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 18: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2–4 第 2 章 : 使用法Qsys フロー

1 アドレスのオーバーラップを警告するメッセージが表示される場合、

System メニューで Auto Assign Base Addresses をクリックします。

ECC をイネーブルして、IRQ のオーバーラップを警告するメッセージが表

示される場合は、System メニューで Auto Assign IRQs をクリックします。

8. このシステム例では、不要なクロック・ドメイン・クロス・ロジックを回避する

ために、他のすべてのモジュールが altmemddr_sysclkでクロックされるように

します。

9. Generate をクリックします。

1 SOPC Builder で生成されたファイルの中には、Quartus II IP ファイル(.qip)があります。 このファイルは、生成された IP コアまたはシステムに関する

情報を含みます。多くの場合、.qip ファイルには、Quartus II コンパイラ内

で MegaCore ファンクションまたはシステムを処理するのに必要な情報お

よびアサインメントがすべて含まれます。通常、SOPC Builder システムご

とに、それぞれ 1 つの .qip ファイルが生成されます。 ただし、一部のより

複雑な SOPC Builder コンポーネントは別個の .qip ファイルを生成します。

したがって、システムの .qip ファイルはコンポーネントの .qip ファイルを

参照します。

10. デザインをコンパイルするときに 4–1 ページの「デザインのコンパイル」を参照

してください。

Qsys フローQsys フローを使用して、ALTMEMPHY IP 付きの DDR3 SDRAM コントローラを新規ま

たは既存の Qsys システムに直接追加できます。

また、Nios II プロセッサ、および scatter-gather DMA(ダイレクト・メモリ・アクセ

ス)コントローラなど、他の使用可能なコンポーネントも簡単に追加して、DDR3 SDRAM コントローラを備えた Qsys システムを迅速に構築することができます。Qsys は、システム・インタコネクタ・ロジックおよびシステム・シミュレーション環境

を自動的に構築します。

f Qsys, について詳しくは、「Quartus II ハンドブック volume 1」を参照してください。 Qsys を使用するコントローラの使用方法について詳しくは、External Memory Interface Handbook Volume 6 の「ALTMEMPHY Design Tutorials」のセクションを参照してくださ

い。Quartus II ソフトウェアについて詳しくは、「Quartus II ヘルプ」を参照してくださ

い。

パラメータの指定Qsys フローを使用して、ALTMEMPHY IP 付きの DDR3 SDRAM コントローラのパラ

メータを指定するには、以下のステップを実行します。

1. Quartus II ソフトウェアで、New Project Wizard を使用して新規プロジェクトを作

成します。

2. Tools メニューの Qsys をクリックします。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 19: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 2 章 : 使用法 2–5Qsys フロー

3. 新しいシステムの場合、システム名と言語を指定します。

4. System Contents タブからシステムに、DDR3 SDRAM Controller with ALTMEMPHY を

追加します。

1 DDR3 SDRAM Controller with ALTMEMPHY は、Memories and Memory Controllers フォルダの SDRAM フォルダにあります。

5. ALTMEMPHY 付きの DDR3 SDRAM コントローラの Parameter Editor で、Parameter Settings タブのすべてのページで必要なパラメータを指定します。

1 Controller Architectureで High Peformance Controller II を選択した場合、シミュ

レーションが失敗するのを防ぐには Local-to-Memory Address Mapping を

CHP-BANK-ROW-COL にセットする必要があります。

f パラメータの詳細については、 3–1 ページの「パラメータの設定」を参照

してください。

6. Finish をクリックして ALTMEMPHY IP 付きの DDR3 SDRAM コントローラのパラ

メータ化を完了し、システムに追加します。

Qsys システムの終了Qsys システムを終了するには、以下のステップを実行します。

1. Component Library タブで、Nios II Processor を選択し、Add をクリックします。

2. Nios II Processor のページで、Core Nios II タブで、Reset Vector および Exception Vector の altmemddr を選択します。

3. キャリブレーション・プロセス中に ALTMEMPHY メガファンクションによって書

き込まれない Avalon アドレスに Reset Vector Offset および Exception Vector Offset を変更します。

c ALTMEMPHY メガファンクションは、リセットされるごとにメモリ・インタ

フェース・キャリブレーションを実行し、アドレス範囲に書き込みます。

システム・リセット中にメモリ内容を元のまま保持する場合は、これらの

メモリ・アドレスを使用しないようにします。システムをリセットするた

びにフラッシュから SDRAM メモリの内容をリロードする場合、このス

テップは不要です。

バージョン 8.1 以前から Nios システム・デザインをアップグレードする場

合は、AFI モードに Reset Vector Offset および Exception Vector Offset を変更

することを確認してください。

メモリ・アドレス範囲 0×0から 0×47までの Avalon-MM アドレスの等価を計算す

るには、バイト単位のメモリ・インタフェースのデータ・バス幅によってメモ

リ・アドレスを掛けます。Avalon-MM アドレスについては、表 2–2 を参照してく

ださい。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 20: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2–6 第 2 章 : 使用法MegaWizard Plug-In Manager フロー

4. Finish をクリックします。

5. Component Library タブで、Interface Protocols を展開し、Serial を展開します。

6. JTAG UART を選択して Add をクリックします。

7. Finish をクリックします。

1 アドレスのオーバーラップを警告するメッセージが表示される場合、

System メニューで Auto Assign Base Addresses をクリックします。

ECC をイネーブルして、IRQ のオーバーラップを警告するメッセージが表

示される場合は、System メニューで Auto Assign IRQs をクリックします。

8. このシステム例では、不要なクロック・ドメイン・クロス・ロジックを回避する

ために、他のモジュールが altmemddr_sysclkでクロックされるようにします。

9. Generate をクリックします。

1 external connections と memory インタフェースはトップ・レベルの RTL ファ

イルにエクスポートされるようにするには、System Contents タブの Exportカラムでいずれかのこれらのインタフェースの名前を変更または削除する

ことをしないように注意してください。

1 Qsys で生成されたファイルの中には、Quartus II IP ファイル(.qip)があり

ます。 このファイルは、生成された IP コアまたはシステムに関する情報を

含みます。多くの場合、.qip ファイルには、Quartus II コンパイラ内で

MegaCore ファンクションまたはシステムを処理するのに必要な情報および

アサインメントがすべて含まれます。通常、Qsys システムごとに、それぞ

れ 1 つの .qip ファイルが生成されます。 ただし、一部のより複雑な Qsys コンポーネントは別個の .qip ファイルを生成します。したがって、システム

の .qip ファイルはコンポーネントの .qip ファイルを参照します。

10. デザインをコンパイルするときに 4–1 ページの「コンパイルおよびシミュレー

ション」を参照してください。

MegaWizard Plug-In Manager フローMegaWizard Plug-In Manager フローを使用して、ALTMEMPHY メガファンクションで

ALTMEMPHY 付きの DDR3 SDRAM コントローラまたはスタンド・アロンの PHY をカ

スタマイズし、手動でデザインに機能を統合することができます。

f MegaWizard Plug-In Manager について、「Quartus II ヘルプ」を参照してください。

表2‒2. AFI モードの Avalon-MMアドレス

外部メモリインタフェース幅 Reset Vector Offset Exception Vector Offset8 0×60 0×80

16 0×A0 0×C0

32 0×120 0×140

64 0×240 0×260

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 21: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 2 章 : 使用法 2–7MegaWizard Plug-In Manager フロー

パラメータの指定MegaWizard Plug-In Manager フローを使用して、パラメータを指定するには、以下の

ステップを実行します。

1. Quartus II ソフトウェアで、New Project Wizard を使用して新規プロジェクトを作

成します。

2. Tools メニューの MegaWizard Plug-In Manager をクリックして MegaWizard Plug-In Manager を開始します。

■ ALTMEMPHY 付きの DDR3 SDRAM コントローラは、External Memory フォルダの

Interfaces フォルダにあります。

■ ALTMEMPHY メガファンクションは、 I/O フォルダにあります。

1 <variation name> は、プロジェクト名およびトップ・レベルのデザイン・エ

ンティティ名と異なる名前でなければなりません。

3. Parameter Settings タブで、すべてのページのパラメータを指定します。

f パラメータについて詳しくは、 3–1 ページの「パラメータの設定」を参照

してください。

4. EDA タブで、Generate Simulation Model をオンにして、選択した言語で MegaCoreファンクション用の IP 機能シミュレーション・モデルを生成します。

IP 機能シミュレーション・モデルは、QuartusII ソフトウェアで生成するサイクル

精度の正確な VHDL または Verilog HDL モデルです。

c これらのシミュレーション・モデルは、シミュレーションの目的にのみ使

用し、合成やその他の目的には使用しないでください。これらのモデルを

合成に使用すると、機能しないデザインが作成されます。

1 一部サード・パーティ合成ツールでは、詳細なロジックは含まず MegaCoreファンクションの構造のみを含むネットリストを使用して、MegaCore ファ

ンクションを含むデザインの性能を 適化することができます。合成ツー

ルがこの機能をサポートしている場合は、Generate netlist をオンにします。

VHDL シミュレーション・モデルをターゲットにする場合も、ALTMEMPHY MegaWizard は QuartusII 合成用に <variation_name>_alt_mem_phy.v ァイルを

生成します。 このファイルをシミュレーションに使用する必要はありませ

ん。シミュレーションには、代わりに <variation_name>.vho ファイルを使用

します。

ALTMEMPHY メガファンクションは、機能シミュレーションのみをサポー

トしています。ALTMEMPHY メガファンクションを使用する場合、タイミ

ングまたはゲート・レベル・シミュレーションを実行することはできませ

ん。

5. Summary タブで、生成するファイルを選択します。グレイのチェック・マーク

は、自動的に生成されるファイルを示します。その他のファイルはすべてオプ

ションです。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 22: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2–8 第 2 章 : 使用法生成されるファイル

6. Finish をクリックして、MegaCore ファンクションおよびサポートするファイルを

生成します。生成レポートが表示されます。

7. Quartus II プロジェクトで MegaCore ファンクションのインスタンスを生成時に、

この .qip ファイルを現行 Quartus II プロジェクトに追加するよう促されます。プ

ロジェクトに .qip ファイルを追加するように促すメッセージが表示されたら、

Yes をクリックします。.qip ファイルを追加すると、Nativelink に可視性を可能に

します。Nativelink では、.qip ファイルがシミュレーションのためにライブラリを

インクルードする必要があります。

1 .qip ファイルは、Parameter Editor によって生成され、生成された IP コアに関

する情報を含みます。多くの場合、.qip ファイルには、Quartus II コンパイ

ラ内で MegaCore ファンクションまたはシステムを処理するのに必要な情

報およびアサインメントがすべて含まれます。Parameter Editor は MegaCoreファンクションごとに、1 つの .qip ファイルが生成されます。

8. 生成レポートを表示した後、Exit をクリックして MegaWizard Plug-In Manager を閉

じます。

9. 高性能コントローラの場合は、<variation name>_example_top.v または .vhd ファイ

ルがプロジェクトのトップ・レベル・デザイン・ファイルになるように設定しま

す。

a. File メニューで、Open をクリックします。

b. <variation name>_example_top を表示して、Open をクリックします。

c. Project メニューで、Set as Top-Level Entity をクリックします。

生成されるファイル表 2–3 に、ALTMEMPHY で生成されるファイルを示します。

表2‒3. ALTMEMPHY の生成されるファイル ( その 1 )

ファイル名 説明

alt_mem_phy_defines.v

インタフェースで使用される定数が含まれています。 このファイルは MegaWizard Plug-In Manager で選択される言語とは関係なく、常にVerilog HDL 言語にあります。

<variation_name>.htmlメガファンクションで作成されたトップ・レベル・ファイルおよび使用されたポートがリストされます。

<variation_name>.ppf ALTMEMPHY バリエーションの Pin Planner ファイルです。

<variation_name>.qipメガファンクションに関連付けられたファイルを含む ALTMEMPHY バリエーションの Quartus II IP ファイルです。

<variation_name>.v/.vhdMegaWizard Plug-In Manager で選択される言語に応じて、生成される ALTMEMPHY バリエーションのトップ・レベル・ファイルです。

<variation_name>.vho VHDL 用のみ動作検証のシミュレーション・モデルを含みます。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 23: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 2 章 : 使用法 2–9生成されるファイル

<variation_name>_alt_mem_phy_delay.vhd

シミュレーションの遅延モジュールを含みます。MegaWizard Plug-In Manager 出力ファイルの言語として VHDL を選ぶ場合にのみ、このファイルが生成されます。

<variation_name>_alt_mem_phy_dq_dqs.vhd or .vDQ/DQS I/O 素子インタコネクトおよびインスタンスを含むファイルが生成されます。Arria II GXデバイスのみです。

<variation_name>_alt_mem_phy_dq_dqs_clearbox.txt

クリア・ボックス・フローを使用して <variation_name>_alt_mem_phy_dq_dqs ファイルを生成する仕様ファイルです。Arria II GX デバイスのみです。

<variation_name>_alt_mem_phy_pll.qipメガファンクションに関連付けられたファイルを含む ALTMEMPHY バリエーションを使用するPLL の Quartus II IP ファイルです。

<variation_name>_alt_mem_phy_pll.v/.vhdMegaWizard Plug-In Manager で選択される言語に応じて生成される ALTMEMPHY バリエーションの PLL メガファンクション・ファイルです。

<variation_name>_alt_mem_phy_pll_bb.v/.cmpALTMEMPHY バリエーションで使用される PLL のブラック・ボックス・ファイルです。 通常未使用です。

<variation_name>_alt_mem_phy_seq.vhd

キャリブレーションで使用されるシーケンサを含みます。このファイルは MegaWizard Plug-In Manager で選択される言語とは関係なく、常にVHDL 言語にあります。

<variation_name>_alt_mem_phy_seq_wrapper.v/.vhd このファイルは MegaWizard Plug-In Manager で選択される言語とは関係なく、常に Verilog HDL 言語にあります。

<variation_name>_alt_mem_phy_seq_wrapper.vo/.vho

MegaWizard Plug-In Manager で選択される言語に応じて作成されるシミュレーション用のみのラッパー・ファイルです(シーケンサ・ファイルと呼ばれる)。

<variation_name>_alt_mem_phy.v

シーケンサを除いて、ALTMEMPHY バリエーションのすべてのモジュールを含みます。このファイルは MegaWizard Plug-In Manager で選択される言語とは関係なく、常に Verilog HDL 言語にあります。DDR3 SDRAM シーケンサは<variation_name>_alt_mem_phy_seq.vhd ファイルに含まれています。

<variation_name>_bb.v/.cmpVerilog HDL または VHDL 言語を使用しているかどうかによる ALTMEMPHY バリエーションのブラック・ボックス・ファイルです。

<variation_name>_ddr_pins.tcl<variation_name>_ddr_timing.sdc ファイルおよび<variation_name>_report_timing.tcl ファイルで使用された手順を含みます。

<variation_name>_ddr_timing.sdc ALTMEMPHY バリエーションのためのタイミング制約が含まれています。

表2‒3. ALTMEMPHY の生成されるファイル ( その 2 )

ファイル名 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 24: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2–10 第 2 章 : 使用法生成されるファイル

表 2–4 に、<variation_name>_alt_mem_phy.v/.vhd ファイルでインスタンス化されたモ

ジュールを示します。 特定の ALTMEMPHY バリエーションは指定したメモリ規格に応

じて、モジュールのいずれかを使用するまたは使用しないかもしれません。

表 2–5 に、プロジェクト・ディレクトリに存在する可能性がある高性能コントロー

ラによって生成された追加ファイルを示します。

<variation_name>_pin_assignments.tcl

ALTMEMPHY バリエーションのための I/O 規格、ドライブ強度、出力イネーブル・グループ、DQS/DQ グループ、および終端抵抗アサインメントを含みます。トップ・レベル・デザインのピン名がデフォルトのピン名または接頭辞バージョンと一致しない場合、このファイルのアサインメントを編集します。

<variation_name>_report_timing.tcl コンパイル中に ALTMEMPHY バリエーションのためのタイミングを報告するスクリプトです。

表2‒3. ALTMEMPHY の生成されるファイル ( その 3 )

ファイル名 説明

表2‒4. <variation_name>_alt_mem_phy.v ファイルでのモジュール

モジュール名 使用方法 説明<variation_name>_alt_mem_phy_addr_cmd

すべての ALTMEMPHY バリエーション

アドレスおよびコマンド構造を生成します。

<variation_name>_alt_mem_phy_clk_reset

すべての ALTMEMPHY バリエーション

PLL、DLL、およびリセット・ロジックをインスタンス化します。

<variation_name>_alt_mem_phy_dp_io

すべての ALTMEMPHY バリエーション

DQ、DQS、DM、および QVLD I/O ピンを生成します。

<variation_name>_alt_mem_phy_mimic

DDR3 SDRAM ALTMEMPHY バリエーション

DDR3 SDRAM PHY 用に(VT)トラッキング・メカニズムを作成します。

<variation_name>_alt_mem_phy_oct_delay

ダイナミック OCT がイネーブルされるときのDDR3 SDRAM ALTMEMPHYバリエーション

OCT 信号用に適切な遅延および期間を生成します。

<variation_name>_alt_mem_phy_postamble

DDR3 SDRAM ALTMEMPHY バリエーション

DDR3 PHY 用にポストアンブル・イネーブルおよびディセーブル手法を生成します。

<variation_name>_alt_mem_phy_read_dp

すべての ALTMEMPHY バリエーション

FIFO バッファのリード・パス経由の I/O から、再同期化したクロックから PHY クロックの遷移までのリード・データを読み込みます。

<variation_name>_alt_mem_phy_rdata_valid

DDR3 SDRAM ALTMEMPHY バリエーション

シーケンサおよびコントローラにリード・データ有効信号を生成します。

<variation_name>_alt_mem_phy_seq_wrapper

すべての ALTMEMPHY バリエーション

DDR3 SDRAM 用にシーケンサを生成します。

<variation_name>_alt_mem_phy_write_dp

すべての ALTMEMPHY バリエーション

ハーフ・レートからフル・レート DDR データにデータの逆多重化を生成します。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 25: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 2 章 : 使用法 2–11生成されるファイル

表2‒5. コントローラで生成されるファイル ( その 1 )

ファイル名 説明

alt_mem_ddrx_addr_cmd.v メモリ・アドレスおよびコマンド信号に内部プロトコル関連の信号をデコードします。

alt_mem_ddrx_addr_cmd_wrap.v alt_mem_ddrx_addr_cmd.v ファイルをインスタンス化するラッパです。

alt_mem_ddrx_ddr2_odt_gen.v DDR2 メモリ・インタフェース用の On-Die Temination (ODT)コントロール・信号を生成します。

alt_mem_ddrx_ddr3_odt_gen.v DDR3 メモリ・インタフェース用の On-Die Temination (ODT)コントロール・信号を生成します。

alt_mem_ddrx_odt_gen.v

alt_mem_ddrx_ddr2_odt_gen.v およびalt_mem_ddrx_ddr3_odt_gen.v. をインスタンス化するラッパです。また、このファイルはアドレッシング手法を制御します。

alt_mem_ddrx_rdwr_data_tmg.v メモリ・データ信号に内部データ・バーストに関連される信号をデコードします。

alt_mem_ddrx_arbiter.v 特定のスキームに基づいて、どのコマンドを実行するかを決定するロジックが含まれています。

alt_mem_ddrx_burst_gen.v AFI 信号に内部 DRAM 対応のコマンドを変換します。

alt_mem_ddrx_cmd_gen.v DRAM に対応したコマンドにユーザー・リクエストを変換します。

alt_mem_ddrx_csr.v コンフィギュレーション・レジスタを含みます。

alt_mem_ddrx_buffer.v ローカル・データのバッファを含みます。

alt_mem_ddrx_buffer_manager.v 割り当てバッファを管理します。

alt_mem_ddrx_burst_tracking.v ローカル・バーストのコマンドあたりに受信されたトラックのデータです。

alt_mem_ddrx_dataid_manager.v バッファに格納されたデータに関連付けられた ID を管理します。

alt_mem_ddrx_fifo.v

リンクを作成するためにローカル・データを格納するFIFO バッファが含まれています。また、読み出しアドレスおよびエラー・アドレスを格納する rdata_path で使用されています。

alt_mem_ddrx_list.v 内部的に格納されたデータに関連付けられているDRAM のコマンドをトラックします。

alt_mem_ddrx_rdata_path.v リード・データ・パス・ロジックを含みます。

alt_mem_ddrx_wdata_path.v ライト・データ・パス・ロジックを含みます。

alt_mem_ddrx_define.iv RTL ファイルで使用された一般的なパラメータを定義します。

alt_mem_ddrx_ecc_decoder.v 適切な幅の ECC デコーダ・ロジックをインスタンス化します。

alt_mem_ddrx_ecc_decoder_32_syn.v 合成可能な 32 ビット・バージョンの ECC デコーダを含みます。

alt_mem_ddrx_ecc_decoder_64_syn.v 合成可能な 64 ビット・バージョンの ECC デコーダを含みます。

alt_mem_ddrx_ecc_encoder.v 適切な幅の ECC エンコーダ・ロジックをインスタンス化します。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 26: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2–12 第 2 章 : 使用法生成されるファイル

alt_mem_ddrx_ecc_encoder_32_syn.v 合成可能な 32 ビット・バージョンの ECC デコーダを含みます。

alt_mem_ddrx_ecc_encoder_64_syn.v 合成可能な 64 ビット・バージョンの ECC デコーダを含みます。

alt_mem_ddrx_ecc_encoder_decoder_wrapper.v すべての ECC ロジックをインスタンス化するラッパです。

alt_mem_ddrx_input_if.v ローカル入力インタフェース・ロジックを含みます。

alt_mem_ddrx_mm_st_converter.v Avalon-MM インタフェースのサポート・ロジックを含みます。

alt_mem_ddrx_rank_timer.v ランク・タイミングに関係しているタイマを含みます。

alt_mem_ddrx_sideband.v ユーザー制御リフレッシュとプリチャージ信号のサポート・ロジックを含みます。

alt_mem_ddrx_tbp.v 組み替える機能のコマンド・キューおよび関連付けられているロジックを含みます。

alt_mem_ddrx_timing_param.v 非ランク・タイミングに関係しているタイマ・ロジックを含みます。

alt_mem_ddrx_controller_st_top.v すべてのサブモジュール amd コンフィギュレーション・レジスタをインスタンス化するラッパです。

alt_mem_ddrx_controller_top.v Avalon-MM インタフェースのメモリ・コントローラを含むラッパです。

alt_mem_ddrx_controller.v すべてのサブモジュールをインスタンス化するラッパです。

表2‒5. コントローラで生成されるファイル ( その 2 )

ファイル名 説明

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 27: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

3. パラメータの設定

ALTMEMPHY パラメータの設定ALTMEMPHY Parameter Editor(図 3–1)の Parameter Settings ページは、以下の設定を

パラメータ化することができます。

■ メモリ設定

■ PHY 設定

■ ボード設定

Megawizard Plug-in Manager の下部にあるテキストのウィンドウに表示されるのは、非

対応の機能を生成する時のメモリ・インタフェース、ワーニングおよびエラーの情

報です。 このウィンドウで表示されるすべてのエラーを訂正するまで、Finish ボタン

がディセーブルになっています。

図3‒1. ALTMEMPHY パラメータ設定のページ

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 28: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

3–2 第 3章 : パラメータの設定ALTMEMPHY パラメータの設定

以下の項では、4 つタブの Parameter Settings ページについて詳細に説明します。.

メモリ設定Memory Settings のタブでは、システムに特定のメモリ・デバイス及びデバイスの動

作周波数を選択することができます。 General Settings では、デバイス・ファミリ、ス

ピード・グレード、およびクロック情報を選択できます。ページの中央 ( 左側 ) では、Memory Presets ダイアログ・ボックスの右側に記載された利用可能なメモリ・

デバイスをフィルタすることができます。詳しくは、図 3–1 を参照してください。

使用している正確なデバイスを検出できない場合、 も近い仕様を持つデバイスを

選択して、次に Selected memory preset フィールドの横にある Modify parameters をク

リックすることによって、手動でパラメタを変更し、実際のデバイスを合わせます。

表 3–1 は、ALTMEMPHY Parameter Editor の Memory Settings ページで提供されている

General Settings を説明しています。

1 パフォーマンスの改善に対する HardCopy デバイス・マイグレーションをターゲット

とする場合、ALTMEMPHY の IP は、PLL および PHY のシーケンサの設定が一致して

いることを確認するために中間スピード・グレードをターゲットする必要がありま

す。デザインのコンパイルはより速いスピード・グレードで実行されます。

表3‒1. General Settings

パラメータ名 説明

Device familyターゲット・デバイス・ファミリ(例:Arria II GX)。 1–3 ページの 表 1–2 に、サポートされるデバイス・ファミリを示します。ここに選択されたデバイス・ファミリはMegaWizard ページ 2a で選択されたデバイス・ファミリと一致する必要があります。

Speed grade デバイスの特定のスピード・グレードを選択します(例 : Arria II GX デバイス・ファミリの場合は 2、3、または 4)。

PLL reference clock frequency

外部入力クロックから PLL へのクロック周波数を決定します。周波数は 166.667 MHzまたは 100 MHz ぐらいではない場合、動作検証のシミュレーションおよび PLL ロック問題を回避するために、3 つの小数点を使用するのを確認します。

Memory clock frequency

メモリ・インタフェース・クロック周波数を決定します。 達成可能な 大周波数より下にあるメモリ・デバイスを動作している場合、メモリ・デバイスでサポートされる達成可能な 大周波数ではなく、実際の動作周波数を入力することを確認します。また、周波数は 333.333 MHz または 400 MHz ぐらいではない場合、動作検証のシミュレーションおよび PLL ロック問題を回避するために、3 つの小数点を使用するのを確認します。

Contoroller data rate

メモリ・コントローラ用のデータ・レートを選択します。メモリ・インタフェース周波数(フル・レート)またはメモリ・インタフェース周波数の 1/2(ハーフ・レート)に等しいコントローラの周波数を設定します。 DDR3 SDRAM デバイスに対してフル・レート・オプションが使用できません。

Enable half rate bridge

このオプションは、HPC II フル・レート・コントローラにのみ使用できます。

メモリ・フル・クロック・ドメインにコントローラを維持するためにオンされると、メモリ・クロック・スピードの半分でローカル・サイドが実行できます。したがって、レイテンシを削減することができます。

Local interface clock frequency メモリ・クロック周波数とコントローラ・データ・レートに依存する値です。

Local interface メモリ・クロック周波数とコントローラ・データ・レートに依存する値です。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 29: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 3 章 : パラメータの設定 3–3ALTMEMPHY パラメータの設定

表 3–2 は、表示される Memory Presets をフィルタするのに使用できるオプションを

説明しています。このオプションのセットは、DDR3 SDRAM のいずれかを作成して

いるかを示すところです。

カスタム・メモリ・プリセットを作成するための Preset Editor の使用使用している実際のメモリ・デバイスに も近いまたは同じであるデバイスを

Memory Presets リストで選択します。次に、Modify Parameters ボタンをクリックし

て、Preset Editor ダイアログ・ボックスで、以下の設定をパラメータ化します。

■ メモリ属性 — これらは DQ、DQ ストローブ(DQS)、アドレスとメモリ・クロッ

ク・ピンのシステム数を決定する設定です。ins.

■ メモリ初期化オプション — これらの設定は初期化プロセスの一部としてメモリ・

モード・レジスタに格納されます。

■ メモリ・タイミング・パラメータ — これらは、PHY を作成して、時間制約するパ

ラメタです。

1 使用しているデバイスは Memory Presets に記載されていますが、一部のパラメータが

メモリ・デバイスのデータ・シートで更新されいる可能性があるので、Preset Editorダイアログ・ボックスの中の設定が正確であることを確実します。

システムを反映するために、背景が白いパラメータを変更することができます。 また、デバイス・パラメータは使用しているデバイスに一致するように、背景がグ

レーのパラメータで変更することができます。 背景がグレーのパラメータは選択され

たメモリ・デバイスの特性であり、これらを変更すると新しいカスタム・メモリ・

プリセットが作成されます。Save As(ページの左下側の部分)をクリックして、

<quartus_install_dir>\quartus\common\ip\altera\altmemphy\lib\ ディレクトリに新しい設定

を保存すると、この新しいメモリ・プリセットをソフトウェアの同じバージョンに

作成した他の QuartusII プロジェクトで使用できます。

Save をクリックすると、新しいメモリ・プリセットは Memory Settings タブで、

Memory Presets リストの下部に表示されます。

1 デフォルト・ディレクトリ以外のディレクトリに新しい設定を保存する場合、

Memory Settings タブで Load Preset をクリックして、Memory Presets リストに設定を

ロードします。

図 3–2 に、DDR3 SDRAM に対する Preset Editor ダイアログ・ボックを示します。

表3‒2. Memory Presets リスト

パラメータ名 説明Memory type 表示するメモリの種類をフィルタすることができます(例 : DDR3 SDRAM)。

Memory vendor

ベンダによってメモリの種類をフィルタすることができます。 JEDEC もオプションの 1つで、JEDEC 規格を選択できます。 選択されたベンダがリストされていない場合、DDR3 SDRAM インタフェースに JEDEC を選択できます。 そして、選択したデバイスと同様な仕様のあるデバイスを選択して、各パラメータの値をチェックします。 デバイス仕様を合わせるために、各パラメータ値を変更することを確認します。

Memory format フォマットによってメモリの種類をフィルタすることができます(例:ディスクリート・デバイスまたは DIMM パッケージ)。

Maximum frequency 大動作周波数によってメモリの種類をフィルタすることができます。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 30: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

3–4 第 3章 : パラメータの設定ALTMEMPHY パラメータの設定

Advanced オプションは FPGA によってキャリブレートされたメモリ仕様のパーセン

テージを示します。パーセンテージ値はアルテラのプロセス・バリエーションに基

づいて見積もられます。

表 3–3 ~表 3–5 にメモリ属性、メモリ初期化オプション、およびメモリ・タイミン

グ・パラメータに使用できる DDR3 SDRAM パラメータを説明しています。

図3‒2. DDR3 SDRAM Preset Editor

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 31: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 3 章 : パラメータの設定 3–5ALTMEMPHY パラメータの設定

表3‒3. DDR3 SDRAM属性の設定 ( その 1 )

パラメータ名 範囲 (1) 単位 説明

Output clock pairs from FPGA 1–6 ペア

FPGA からメモリにドライブされる差動クロック・ペアの数を定義します。メモリ・クロック・ピンは、Arria II GX デバイスで差動信号のために信号スプリッタ機能を使用します。

DDR3 SDRAM インタフェースに対して 1 ペア以上を選択すると、ALTMEMPHY MegaWizard Plug-In Manager はウィンドウの下側でエラー・メッセージを表示します。

Total Memory chip select 1、2、4、または 8 ビット

メモリ・インタフェースでのチップ・セレクト数を設定します。チップ・セレクト数はメモリの深さを定義します。ローカル・サイド・バイナリはチップ・セレクト・アドレスをエンコードするので、示された範囲に制限されます。

Memory interface DQ width 4–288 bits

メモリ・インタフェースの DQ ピンの総数を定義します。 複数のデバイスにインタフェースする場合、デバイスあたりの DQ ピンの数とデバイスの数を掛けます。 GUI では 288 ビットの DQ 幅が選択できますが、ボード・レイアウトの制限で、より高いデータ幅の場合にはタイミングに影響を及ぼすため、DDR3 SDRAM バリエーションは 大 80ビットまでしかサポートしていません。 さらに、インタフェース・データ・幅がデバイスでピンの数によって制限されます。 高性能を達成するために、インタフェース全体をデバイスの 1 つのサイドに維持します。

Mirror addressing — —

複数のランクを持つ DDR3 SDRAM DIMM では、アドレス信号は各ランクに別々で配線されます。アドレスのミラーリングとして JEDEC 仕様を参照します。

このフィールドで、ミラーされたアドレスと共にランクを入力します。チップ選択ごとに 1 ビットが使用されます。例えば、4 つのチップ選択の場合は、1011 を入力して、チップ選択# 3、# 1 および# 0 のアドレスをミラーリングします。

Memory vendor

Elpida、JEDEC、 Micron、

Samsung、 Hynix、 Nanya、

など

— サポートされるすべてのメモリ規格用にメモリ・ベンダの名称をリストします。

Memory format ディスクリート・デバイス

—Arria II GX デバイスはレベリング機能なしの DDR3 SDRAM コンポーネントのみをサポートし、例えば、Discrete Device メモリ・フォーマットです。

Maximum memory frequency メモリ・デバイス・データシートを参照

MHz メモリでサポートされる 大周波数を設定します。

Column address width 10–12 ビットインタフェース用にカラム・アドレス・ビット数を定義します。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 32: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

3–6 第 3章 : パラメータの設定ALTMEMPHY パラメータの設定

Row address width 12–16 ビット

インタフェース用にロウ・アドレス・ビット数を定義します。DDR3 SDRAM デバイスのロウ・アドレス・バスの幅が 12 ビットの場合、トップ・レベル・ファイルで、ロウ・アドレス幅を 13 に設定し、第 13 ビットはロジック・レベル Low に設定します(また、第 13 ビットをメモリ・デバイスに接続しないようにします)。

Bank address width 3 ビットインタフェース用にバンク・アドレス・ビット数を定義します。

Chip selects per device 1 または 2 ビット

データ・ストローブ (DQS) ピンあたりのデータ(DQ) ビット数を定義します。 現在、すべてのランクのキャリブレーションが完了しましたが、1つのランクにのみタイミング解析を実行できます。

DQ bits per DQS bit 4 または 8 ビットデータ・ストローブ (DQS) ピンあたりのデータ(DQ) ビット数を定義します。

Drive DM pins from FPGA Yes または No —DM ピンが書き込み動作中に使用するかどうかを指定します。 アルテラ・デバイスは、×4 モード付き DM ピンをサポートしていません。

Maximum memory frequency for CAS latency 5.0

80–700 MHz

ある CAS レイテンシあたりのメモリ・データ・シートによって周波数限界を指定します。 選択した CAS レイテンシの動作周波数がこの数値を超えた場合、ALTMEMPHY MegaWizard Plug-In Manager はワーニングを生成します。DDR3 SDRAM デバイスでサポートされる 低の周波数は 300 MHz です。

Maximum memory frequency for CAS latency 6.0

Maximum memory frequency for CAS latency 7.0

Maximum memory frequency for CAS latency 8.0

Maximum memory frequency for CAS latency 9.0

Maximum memory frequency for CAS latency 10.0

表 3–3 の注:

(1) 範囲の値は使用される実際のメモリ・デバイスによって異なります。

表3‒3. DDR3 SDRAM属性の設定 ( その 2 )

パラメータ名 範囲 (1) 単位 説明

表3‒4. DDR3 SDRAM の初期化オプション ( その 1 )

パラメータ名 範囲 単位 説明

Memory burst length 4、 8、 実行時 ビートトランザクションごとに読み出しまたは書き込みの数を設定します。

Memory burst orderingシーケンシャルまたはインタ

リーブド

リード・トランザクション時にメモリと FPGA 間でデータが転送される順序を制御します。 詳細については、メモリ・デバイス・データ・シートを参照してください。

DLL precharge power down Fast exit またはSlow exit —

CKE がディセーブルされるとき、モード・レジスタ設定はディセーブルに設定し、(Slow exit)またはメモリ DLL をイネーブルに設定します

(Fast exit)。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 33: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 3 章 : パラメータの設定 3–7ALTMEMPHY パラメータの設定

Enable the DLL in the memory devices Yes または No —

Yes に設定した場合、メモリ・デバイスの DLLをイネーブルします。 DLL がオフにされるとき、アルテラは何らかの ALTMEMPHY 動作を保証しないために、メモリ・デバイスの DLL を常にイネーブルする必要があります。 DLL がオフにされるとき、メモリ・デバイスからのすべてのタイミングは無効です。

ODT Rtt nominal valueODT disable、

RZQ/4、RZQ/2、 RZQ/6

W

DDR3 SDRAM インタフェース内の RZQ は 240Ωに設定されます。オン・ダイ終端抵抗(ODT)値を 60Ω(RZQ/4)、120Ω(RZQ/2)または 40Ω

(RZQ/6)に設定します。ODT を使用しない場合、この値を ODT disable に設定します。シングル・ランクの DIMM の場合は、この値を RZQ/4 に設定します。

Dynamic ODT (Rtt_WR) value Dynamic ODT off、 RZQ/4、RZQ/2

W

DDR3 SDRAM インタフェース内の RZQ は 240Ωに設定されます。書き込み動作時のメモリ ODT値を 60Ω(RZQ/4)または 120Ω(RZQ/2)に設定します。ALTMEMPHY がシングル・ランクのDIMM のみサポートするため、このオプションは必要ありません(Dynamic ODT off に設定)。

Output driver impedance RZQ/6 (予約)または RZQ/7

W

DDR3 SDRAM インタフェース内の RZQ は 240Ωに設定されます。出力ドライバ・インピーダンス。一部のデバイスでは、RZQ/6 のオプションが使用できません。このオプションを選択する前に、メモリ・デバイスのデータ・シートを参照してください。

Memory CAS latency setting 5.0、6.0、7.0, 8.0、9.0、10.0 サイクル

リード・コマンドから、メモリからの 初の出力データまでの遅延はクロック・サイクルに設定します。

Memory additive CAS latency setting

Disable、CL – 1、CL – 2 サイクル

CAS レイテンシ設定に加え、追加のレイテンシを追加することができます。

Memory write CAS latency setting (CWL)

5.0、6.0、7.0、8.0 サイクル

ライト・コマンドから、メモリからの 初の受信したデータまでのクロック・サイクルの遅延に設定します。

表3‒4. DDR3 SDRAM の初期化オプション ( その 2 )

パラメータ名 範囲 単位 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 34: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

3–8 第 3章 : パラメータの設定ALTMEMPHY パラメータの設定

Memory partial array self refresh

Full array, Half array

{BA[2:0]=000,001,010,011},

Quarter array {BA[2:0]=000,001}

、 Eighth array

{BA[2:0]=000}, Three Quarters

array {BA[2:0]=010,011,100,101,110,111},

Half array {BA[2:0]=100,101,

110,111}、 Quarter array {BA[2:0]=110,

111}、 Eighth array

{BA[2:0]=111}

フル・リフレッシュの代わりに、一部のアレイのみをリフレッシュするかどうかを決定します。DDR3 SDRAM 仕様によれば、これを使用する際に self refresh が入ると、特定されたアドレス範囲を超えたアレイに対して、配置されるデータは消えます。このオプションは ALTMEMPHY IP付きの DDR3 SDRAM コントローラにサポートされていないため、アルテラのコントローラを使用するときは Full Array に設定します。

Memory auto self refresh method

Manual SR reference (SRT)または ASR

enable ( オプション )

メモリ・デバイスに対して自動セルフ・リフレッシュ手法を設定します。現在の ALTMEMPHY IP 付きの DDR3 SDRAM コントローラは、拡張温度セルフ・リフレッシュに必要な ASR オプションをサポートしていません。

Memory self refresh range Normal またはExtended —

セルフ・リフレッシュの温度範囲を決定します。このオプションを使用するとき、オプションの自動セルフ・リフレッシュを使用する必要があります。現在のアルテラのコントローラは拡張温度セルフ・リフレッシュ動作をサポートしていません。

表3‒4. DDR3 SDRAM の初期化オプション ( その 3 )

パラメータ名 範囲 単位 説明

表3‒5. DDR3 SDRAM タイミング・パラメータの設定 ( その 1 ) ( 注 1)

パラメータ名 範囲 単位 説明

Time to hold memory reset before beginning calibration 0–1000000 µs

パワー・サイクル後に、DDR3 SDRAM デバイス初期化中の MRS コマンドを発行する前のリセットをホールドする 小の時間。

tINIT0.001–1000 µs

小メモリ初期化時間。 リセット後、コントローラはこの期間中メモリに対していかなるコマンドも発行しません。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 35: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 3 章 : パラメータの設定 3–9ALTMEMPHY パラメータの設定

tMRD 2–39 ns

小ロード・モード・レジスタ・コマンド周期。 コントローラは、ロード・モード・レジスタ・コマンドを発行してから他の任意のコマンドを発行するまでの、この期間中待機します。

DDR3 SDRAM 高性能コントローラでは、tMRD はns で特定されますが、Micron データ・シートでは tCK とサイクルで特定されます。データ・シートに特定されたサイクル数を tCK とかけることによって tMRD は ns に変換します。ここで、tCK はメモリ・デバイスの tCK ではなく、メモリの動作周波数です。

tRAS 8–200 ns

小アクティブ - プリチャージ時間。 コントローラは、アクティブ・コマンドを発行してから同じバンクに対してプリチャージ・コマンドを発行するまでのこの期間中待機します。

tRCD 4–65 ns

小アクティブ – リード / ライト時間。 コントローラは、アクティブ・コマンドを発行した後、この期間中バンクに対してリードまたはライト・コマンドを発行しません。

tRP 4–65 ns小プリチャージ・コマンド周期。 コントローラ

は、プリチャージ・コマンドを発行した後、この期間中バンクにアクセスしません。

tREFI 1–65534 µs

リフレッシュ・コマンド間の 大時間間隔。 コントローラは、ユーザー制御リフレッシュがオンになっていない限り、この時間間隔で通常のリフレッシュを実行します。

tRFC 14–1651 ns

小オート・リフレッシュ・コマンド周期。 コントローラがオート・リフレッシュ・コマンドを発行した後、何か他の動作を実行するまで待機する時間の長さです。

tWR 4–65 ns

小ライト・リカバリ時間。 コントローラは、ライト・トランザクションが終了してからプリチャージ・コマンドを発行するまでのこの期間中待機します。

tWTR 1–6 tCK

小ライト - リード・コマンド遅延。 コントローラは、ライト・コマンドが終了してから、同じバンクに対して次のリード・コマンドを発行するまでのこの期間中待機します。 このタイミング・パラメータはクロック・サイクル数で指定され、値は整数に丸められます。

tAC 0–750 ps DQ 出力アクセス時間。

tDQSCK 50–750 ps CK/CK# 信号からの DQS 出力アクセス時間。

tDQSQ 50–500 ps DQS から DQ の 大スキュー:グループごと、アクセスごとの DQS から 後の有効 DQ まで。

tDQSS 0–0.3 tCKポジティブ DQS ラッチング・エッジから関連するクロック・エッジまで。

表3‒5. DDR3 SDRAM タイミング・パラメータの設定 ( その 2 ) ( 注 1)

パラメータ名 範囲 単位 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 36: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

3–10 第 3章 : パラメータの設定ALTMEMPHY パラメータの設定

tDH 10–600 ps

DQS に比例する DQ および DM 入力ホールド・タイム。差動 DQS および DQ/DM 信号のスルー・レートに応じてディレートした値を有します。 正確な数を使用しているのを確認し、かつその入力された値は VIH(ac) 小または VIL(ac) 大ではなく、VREF(dc) に基準されます。 この仕様のディレート方法について詳しくは、 3–11 ページの

「ディレート・メモリ・セットアップおよびホールド・タイミング」 を参照してください。

tDS 10–600 ps

DQS に比例する DQ および DM 入力のセッタップ・タイム。差動 DQS 信号および DQ/DM 信号のスルー・レートに応じてディレートした値を有します。 正確な数を使用しているのを確認し、かつその入力された値は VIH(ac) 小または VIL(ac)大ではなく、VREF(dc) に基準されます。この仕

様のディレート方法について詳しくは、 3–11ページの「ディレート・メモリ・セットアップおよびホールド・タイミング」 を参照してください。

tDSH 0.1–0.5 tCK CK からの DQS 立ち下がりエッジホールド時間。

tDSS 0.1–0.5 tCK CK セットアップへの DQS 立ち下がりエッジ。DQS falling edge to CK setup.

tIH 50–1000 ps

アドレスおよびコントロール入力のホールド時間。ここで、CK と CK# クロックおよびアドレスとコマンド信号のスルー・レートに応じてディレートされた値を持っています。 正確な数を使用しているのを確認し、かつその入力された値はVIH(dc) 小または VIL(dc) 大ではなく、VREF(dc)に基準されます。この仕様のディレートする方法について詳しくは、 3–11 ページの「ディレート・メモリ・セットアップおよびホールド・タイミング」 を参照してください。

tIS 65–1000 ps

アドレスおよびコントロール入力のセットアップ時間。ここで、CK と CK# クロックおよびアドレスとコマンド信号のスルー・レートに応じてディレートされた値を持っています。 正確な数を使用しているのを確認し、かつその入力された値は VIH(ac) 小または VIL(ac) 大ではなく、VREF(dc) に基準されます。この仕様のディレートする方法について詳しくは、 3–11 ページの

「ディレート・メモリ・セットアップおよびホールド・タイミング」 を参照してください。

tQHS 0–700 ps 大データ・ホールド・スキュー係数。

tQH 0.1–0.6 tCK DQ 出力ホールド時間。

tRRD 2.06–64 ns 各デバイスのアクティブにする時間、RAS-to-RAS のタイミング遅延のパラメータ。

tFAW 7.69–256 ns 各デバイスに4つのアクティブしたウィンドウ・タイム。

表3‒5. DDR3 SDRAM タイミング・パラメータの設定 ( その 3 ) ( 注 1)

パラメータ名 範囲 単位 説明

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 37: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 3 章 : パラメータの設定 3–11ALTMEMPHY パラメータの設定

ディレート・メモリ・セットアップおよびホールド・タイミングメモリ・デバイス・データ・シートからのベース・セットアップおよびホールド・

タイム仕様がアルテラ・デバイスに仮定するスルー・レートが真ではない場合があ

るので、Preset Editor ダイアログ・ボックス内で、以下のメモリ・デバイス仕様を

ディレートして、アップデートします。

■ tDS

■ tDH

■ tIH

■ tIS

1 Arria II GX デバイスに対して、Preset Editor を使用してディレートする必要があります。 VREF に参照されるパラメータのみを入力する必要があり、そして Board Settings タブ

にあるスルー・レート情報を入力すると、ディレーションが自動的に行われます。

値をディレーティングした後、アルテラの入力および出力仕様が VREF に参照された

ので、ディレートされる値を正規化する必要があります。 メモリ・デバイス・セット

アップおよびホールド・タイム数は VREF にディレートおよび正規化されると、タイ

ミング制約が正しく設定されているのを確認するために、Preset Editor ダイアログ・

ボックス内の値を便新します。

以下はメモリ・デバイス仕様および Preset Editor ダイアログ・ボックスにディレート

された値のアップデートを示します。

例えば、JEDEC に従って、533-MHz DDR3 SDRAM は以下の仕様を備えており、1V/ns DQ のスルー・レート立ち上がり信号および 2V/ns DQS-DQSn スルー・レートを仮定

します。

■ ベース tDS = 25

■ ベース tDH = 100

■ VIH(ac) = VREF + 0.175 V

■ VIH(dc) = VREF + 0.100 V

■ VIL(ac) = VREF – 0.175 V

■ VIL(dc) = VREF – 0.100 V

立ち上がりエッジの VREF 参考セットアップおよびホールド信号は、

tDS (VREF) = ベース tDS + デルタ tDS + (VIH(ac) – VREF)/slew_rate = 25 + 0 + 175 = 200 ps

tDH (VREF) = ベース tDH + デルタ tDH + (VIH(dc) – VREF)/slew_rate = 100 + 0 + 100 = 200 ps

tRTP 2.06–64 ns 読み込みからプリチャージまでの時間。

表 3–5 の注:

(1) パラメータの範囲については、メモリ・デバイス・データシートを参照してください。パラメータによっては、クロック・サイクル(tCK)単位で記載されている場合があります。 MegaWizard Plug-In Manager で値を時間単位(ps または ns)で入力する必要がある場合は、インタフェースのクロック周期を掛けて、数値を変換してください(メモリ・データシートに記載されている 大クロック周期ではありません)。

表3‒5. DDR3 SDRAM タイミング・パラメータの設定 ( その 4 ) ( 注 1)

パラメータ名 範囲 単位 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 38: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

3–12 第 3章 : パラメータの設定ALTMEMPHY パラメータの設定

ライト・データの出力スルー・レートは 1V/ns と異なる場合、 初に tDS および tDH

の値をディレートして、これらの AC/DC レベル仕様を VREF 仕様に変換します。

2V/ns DQ スルー・レート立ち下がり信号および 2V/ns DQS-DQSn スルー・レートの場

合は、

tDS (VREF) = ベース tDS + デルタ tDS + (VIH(ac) – VREF)/slew_rate = 25 + 88 + 87.5 = 200.5 ps

tDH (VREF) = ベース tDH + デルタ tDH + (VIH(dc) – VREF)/slew_rate = 100 + 50 + 50 = 200 ps

0.5V/ns DQ スルー・レート立ち下がり信号および 1V/ns DQS-DQSn スルー・レートの

場合は、

tDS (VREF) = ベース tDS + デルタ tDS + (VIH(ac) – VREF)/slew_rate = 25 + 5 + 350 = 380 ps

tDH (VREF) = ベース tDH + デルタ tDH + (VIH(dc) – VREF)/slew_rate = 100 + 10 + 200 = 310 ps

PHY 設定Next または PHY Settings タブをクリックして、表 3–6 で説明されているオプション

を設定します。 ターゲット・アルテラ・デバイスに適用する場合、オプションが使用

できます。

表3‒6. ALTMEMPHY PHY 設定

パラメータ名 適用できるデバイス・ファミリ 説明

Enable external access to reconfigure PLL prior to calibration

HardCopy II

HardCopy II デバイスにはこのオプションをイネーブルすると、ALTPLL_RECONFIG メガファンクションの入力はデバッグのためにトップ・レベルになります。

このオプションを使用すると、キャリブレーションの前にPLL をリコンフィギュレーションし、必要に応じてリード側で再同期化クロックのキャリブレーションを開始する前に、メモリ・クロック(mem_clk_2x)の位相が調整できます。リード側の再同期化クロックのキャリブレーションは、ライト側のメモリ・クロックの位相に依存します。

Instantiate DLL externally

サポートされるすべてのデバイス・ファミリ

DQS キャプチャ・クロックに非標準位相シフトを適用する場合、このオプションを使用します。 そして、ALTMEMPHY DLL オフセッティング I/O は外部 DLL およびオフセット・コントロール・ブロックに接続できます。

Clock phase Arria II GX

アドレスおよびコマンド・フェーズを調整することで、メモリ・デバイスにおけるアドレスおよびコマンドのセットアップおよびホールド・マージンを改善して、負荷によって変動する伝播遅延を補正することができます。 phy_clk および write_clk 信号の立ち上がりエッジ時間と立ち下がりエッジ時間に基づいて、0°、90°、180°、および 270° から選択できます。

Autocalibration simulation options

サポートされるすべてのデバイス・ファミリ

Full Calibration(長いシミュレーション時間)、Quick Calibration、または Skip Calibration のいずれかを選択します。

詳しくは、「外部メモリ・インタフェース・ハンドブックVolume4」の「シミュレーション」の章を参照してください。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 39: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 3 章 : パラメータの設定 3–13DDR3 SDRAMコントローラの ALTMEMPHY パラメータ設定

ボード設定Next または Board Settings タブをクリックして、表 3–7 で説明されているオプション

を設定します。 ボード設定パラメータはタイミング解析のボード・レベルの影響をモ

デル化するために設定されます。

DDR3 SDRAMコントローラの ALTMEMPHY パラメータ設定ALTMEMPHY Parameter Editor 付きの DDR3 SDRAM コントローラの DDR3 Parameter Settings ページ ( 図 3–3) で、以下の設定をパラメータ化することができます。

■ メモリ設定

■ PHY 設定

■ ボード設定

■ コントローラ設定

メモリ設定、 PHY 設定、およびボード設定 タブは、ALTMEMPHY Parameter Settingsページと同じオプションを提供します。

表3‒7. ALTMEMPHY ボード設定

パラメータ名 単位 説明

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 ランク間の DQ 信号で 大スキューまたは伝播遅延を設定し

ます。

Max skew within DQS group ns DQS グループにおける DQ ピン間の 大スキューを設定します。

Max skew between DQS groups ns 異なる DQS グループにおける DQS 信号間の 大スキューを設定します。

Addr/command to CK skew ns

CK 信号およびアドレスとコマンド信号間のスキューまたは伝播遅延を設定します。 正の値は CK 信号より長いアドレスおよびコマンド信号を表し、そして負の値は CK 信号より短いアドレスおよびコマンド信号を表します。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 40: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

3–14 第 3章 : パラメータの設定DDR3 SDRAM コントローラの ALTMEMPHY パラメータ設定

コントローラ設定

1 ここでは、バージョン 11.0 で生成されたデザインのためにバージョン 11.0 で導入され

た高度な機能を備えた高性能コントローラ II(HPC II)のパラメータを示します。 以前のバージョンで作成し、バージョン 11.0 で再生成のデザインは、新しい高度な機

能を継承しません。バージョン 11.0 高度な機能を備えていない HPC II のパラメータ

については、アルテラの資料ウェブサイトで Quartus II バージョン 10.1 の 「外部メ

モリ・インタフェース・ハンドブック」の「外部メモリ・インタフェース」セク

ションを参照してください。

表 3–8 に、Controller Settings タブで提供されたオプションを示します。

図3‒3. DDR3 SDRAMコントローラの ALTMEMPHY 設定

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 41: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 3 章 : パラメータの設定 3–15DDR3 SDRAMコントローラの ALTMEMPHY パラメータ設定

表3‒8. コントローラ設定 ( その 1 )

パラメータ 説明Controller architecture コントローラ・アーキテクチャを指定します。

Enable self-refresh controls

コントローラが外部メモリ・デバイスをセルフ・リフレッシュ・モードに置く時間を制御することができるようにオンにし、 6–5 ページの「ユーザーが制御したセルフ・リフレッシュ」 7–7 ページの「ユーザーが制御したセルフ・リフレッシュ・ロジック」を参照してください。

Enable power down controlsコントローラが外部メモリ・デバイスをパワー・ダウン・モードに置く時間を制御することができるようにオンにします。

Enable auto power down

指定されたアイドル・コントローラ・クロック・サイクル数はコントローラで観測された後、コントローラが自動的に外部メモリ・デバイスをパワー・ダウン・モードに置くようにオンにします。 コントローラが Auto Power Down Cycles フィールドにメモリをパワー・ダウンした後に、アイドル・サイクル数を指定することができて、 7–7 ページの

「自動パワーダウンかつプログラマブル・タイムアウト」を参照してください。 6–6 ページの「自動パワーダウンかつプログラマブル・タイムアウト」.

Auto power down cycles

コントローラが外部メモリ・デバイスをパワー・ダウン・モードに置く前に、目的のアイドル・コントローラ・クロック・サイクル数を決定します。 正当な範囲は 1 ~65,535 です。

値を 0 クロック・サイクルに設定する場合、自動パワー・ダウン・モードがディセーブルされます。

Enable user auto-refresh controls

コントローラは、シングル・リフレッシュを発行することができるようにオンにします。

Enable auto-precharge control

コントローラのトップ・レベルでオート・プリチャージを制御することができるようにオンにします。読み取りまたは書き込みバーストを要求している間に、オート・プリチャージ制御信号をアサートすると、コントローラは読み取りまたは書き込みバーストの 後に(オート・プリチャージ)現在開いているページを閉じる必要があるかどうかを指定することができます。

Enable reordering コントローラは、 高の効率を達成するためにコマンドとデータ・リオーダリングを実行できるように有効にします。

Starvation limit for each command

待っているコマンドが送達されるまで処理可能なコマンド数を指定します。正当な範囲は 1 ~ 63 です。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 42: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

3–16 第 3章 : パラメータの設定DDR3 SDRAM コントローラの ALTMEMPHY パラメータ設定

Local-to-memory address mapping

Avalon インタフェース上のアドレス・ビットとメモリ・インタフェース上のチップ、ロウ、バンクとカラム・ビット間のマッピングを制御できます。

アプリケーションがメモリ・デバイスのカラム・サイズより大きいバーストを発行する場合、Chip-Row-Bank-Columnオプションを選択します。 このオプションで、コントローラはバーストがカラムの終わりに到着するとき、現在開いているロウを変更するという効果を非表示にするのに先行バンク管理機能を使用できます。

他方、アプリケーションに複数のマスタが独立したメモリの領域を使用する場合は、Chip-Bank-Row-Column のオプションを選択します。 このオプションで、メモリに物理バンクを各マスタに割り当てるのにトップ・アドレス・ビットを使用できます。 物理的なバンクの割り当てにより、複数のマスタが同時に同じバンクをアクセスすることを避けられます。そうしないと、コントローラが同じバンクのロウを開いたり閉じたりする必要があるため、効率が下がっています。

Command queue look-ahead depth

ルック・アヘッド・バンク管理で要求する読み取りまたは書き込みの数を制御するためにコマンド・キューのルック・アヘッド深さ値を指定します。.

Local maximum burst countコントローラ・スレーブ・ポートが受け入れる 大のAvalon バースト・カウントをコンフィギュレーションするためにバースト・カウントを指定します。

Reduce controller latency by

コントローラのクロック・サイクルで指定し、コントローラのレイテンシを削減することによる値です。デフォルト値は 0 ですが、タイミング・クロージャを犠牲にしてデザインのレイテンシ・パフォーマンスを向上させるために 1を選択するオプションがあります。

Enable configuration and status register interface

ランタイム・コンフィギュレーションおよびメモリ・コントローラのステータス検索をイネーブルするのにオンにします。 このオプションをイネーブルにすると、追加Avalon-MM スレーブ・ポートはメモリ・コントローラ・トップ・レベルに加えて、メモリ・タイミング・パラメータ、メモリ・アドレス・サイズとモード・レジスタ設定、およびコントローラ機能のランタイム・コンフィギュレーションおよびステータス検索が可能にします。 Error Detection and Correction Logic がイネーブルされるとき、同じスレーブ・ポートで、このロジックのステータスを制御して、検索することもできます。 7–7 ページの「コンフィギュレーションおよびステータス・レジスタ (CSR) インタフェース」を参照してください。 Refer to 6–12 ページの「コンフィギュレーションおよびステータス・レジスタ(CSR)インタフェース」.

Enable error detection and correction logic

シングル・ビット誤り訂正およびダブル・ビット・エラー検出のための誤り訂正コード(ECC)をイネーブルするのにオンにします。

表3‒8. コントローラ設定 ( その 2 )

パラメータ 説明

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 43: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 3 章 : パラメータの設定 3–17DDR3 SDRAMコントローラの ALTMEMPHY パラメータ設定

Enable auto error correction

ECC ロジックはシングル・ビット・エラーを検出するとき、オンにしてコントローラはオート訂正を実行します。 あるいは、より良いシステム効率のため、希望の時にこのオプションをオフにして、誤り訂正をケジュールすることができます。

Multiple controller clock sharing

このオプションは SOPC Builder フローでのみ使用できます。 互換性のある PLL を持つシステムで、1 個のコントローラが別のコントローラから Avalon クロッを使用できるようにオンにします。 このオプションはマスタ・ロジックに同期する 2 つ以上のメモリ・コントローラのある SOPC Builderシステムを作成できます。

Local interface protocol

ユーザー・ロジックとメモリ・コントローラ間のローカル・インタフェースを指定します。 Avalon-MM インタフェースを使用して、他の Avalon-MM ペリフェラルに簡単に接続することができます。

HPC II アーキテクチャは、Avalon-MM インタフェースのみをサポートします。

表3‒8. コントローラ設定 ( その 3 )

パラメータ 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 44: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

3–18 第 3章 : パラメータの設定DDR3 SDRAM コントローラの ALTMEMPHY パラメータ設定

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 45: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

4. コンパイルおよびシミュレーション

MegaCore ファンクションにパラメータを設定した後、MegaCore ファンクションのバ

リエーションをデザインに組み込み、シミュレーション、およびコンパイルを実行

することができます。 以下の項では、デザインをコンパイルおよびシミュレートする

ために実行する必要があるステップを詳しく説明しています。

デザインのコンパイル図 4–1 に、コントローラおよびユーザー・ロジックを統合した後の 終的なデザイ

ンの例としてアルテラの高性能コントローラ・デザインのトップ・レベル図を示し

ます。

ALTMEMPHY バリエーションでデザインをコンパイルする前に、.sdc ファイルを含む

いくつかのプロジェクト設定を編集して、I/O アサインメントを作成する必要があり

ます。 I/O アサインメントには I/O 規格、ピン位置、および終端抵抗とドライブ強度

設定などの他のアサインメントが含まれています。 これらのタスクのいくつかは、

ALTMEMPHY Generation ウインドウでリストされます。

Quartus II ソフトウェアでトップ・レベル・ファイルの例をコンパイルし、コンパイ

ル後のタイミング解析を実行するには、以下のステップに従います。

1. 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 ファイルをプロジェクトに追加します。 トップ・レベル・デザインとして

例を使用する場合にのみ、このファイルが必要です。

図4‒1. 高性能コントローラのシステム・レベルのブロック図

図 4–1 の注:

(1) Instantiate DLL Externally を選択すると、DLL がコントローラの外部にインスタンス化されます。

Pass or FailExternalMemoryDevice

ALTMEMPHYHigh-

PerformanceController

ExampleDriver

PLL

Example Top-Level File

DLL (1)

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 46: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

4–2 第 4章 : コンパイルおよびシミュレーションデザインのコンパイル

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 ファイルを編集します。 .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]

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 47: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 4 章 : コンパイルおよびシミュレーション 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 ピンに自動的に配置し

ます。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 48: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

4–4 第 4章 : コンパイルおよびシミュレーションデザインのシミュレーション

1 デザインをコンパイルするとき、[no-fit] エラーを回避するために、mem_clk

ピンを mem_dqおよび mem_dqsピンと同じエッジに配置するように確認し、

かつデザインにピンを割り当てる際、クロック・ソースおよびリセット入

力などの非メモリ・インタフェースに適切な I/O 規格を設定します。 例え

ば、DDR3 SDRAM の場合、それぞれ 1.5 V を選択します。また、Quartus IIソフトウェアでピンを配置するデバイスのバンクまたはサイドを選択しま

す。

×4 DIMM は以下のような DQS と DQ ピン間のマッピングがあります。

■ DQS[0] が DQ[3:0] にマッピング

■ DQS[1] が DQ[7:4] にマッピング

■ DQS[2] が DQ[11:8] にマッピング

■ DQS[3] が DQ[15:12] にマッピング

他の ×4 DIMM コンフィギュレーションの場合、DQS ピン・インデックスは通常

DQ ピン・インデックスに比例して増加していきます (DQS[0]: DQ[3:0]; DQS[1]: DQ[7:4]; DQS[2]: DQ[11:8])。

5. すべてのメモリ・インタフェース・ピンを出力ピンの負荷として指定します。

6. 必要な I/O ドライブ強度(ボード・シミュレーションから得られたもの)を選択

して、各信号または ODT 設定が正しくドライブされ、オーバシュートやアンダ

シュートが生じないようにします。

7. デザインをコンパイルするには、Processing メニューの Start Compilation をクリッ

クします。

トップ・レベル・ファイルの例をコンパイルした後は、RTL シミュレーションを実

行したり、ターゲットのアルテラ・デバイスをプログラムしてハードウェアでトッ

プ・レベル・ファイルの例を検証することができます。

デザインのシミュレーションシステム生成時、SOPC Builder はシステム全体のシミュレーション・モデルおよびテ

ストベンチをオプションで生成します。これらを使用して、アルテラがサポートす

る任意のシミュレーション・ツールでシステムを簡単にシミュレートすることがで

きます。また、 MegaWizard は ModelSim® Tcl スクリプトとマクロの一式を生成するこ

ともできるので、これらを使用して、テストベンチ、IP 機能シミュレーション・モ

デル、および ModelSim シミュレーション・ソフトウェア内のシステムを記述するプ

レーン・テキスト RTL デザイン・ファイルをコンパイルできます( 2–8 ページの

「生成されるファイル」を参照)。

f SOPC Builder システムのシミュレーションについて詳しくは、「Quartus II ハンドブック

Volume 4」および「AN 351: Simulating Nios II Embedded Processor Designs」を参照して

ください。 ボード・シミュレーション結果を Quartus II ソフトウェアに組み込む方法、

そして Pin Planner を使用してピンを割り当てる方法について詳しくは、「外部メモ

リ・インタフェース・ハンドブック Volume 5」の「ALTMEMPHY Design Tutorials」 項を

参照してください。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 49: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 4 章 : コンパイルおよびシミュレーション 4–5デザインのシミュレーション

次の 3 つのシミュレーション・オプションがあります。

■ スキップ・キャリブレーション — スキップ・キャリブレーションするために

ALTMEMPHY メガファンクションのスタティック・セットアップを実行して、

ユーザー・モードに直接移行します。

×4 および ×8 DDR3 SDRAM に使用可能です。 スキップ・キャリブレーション・シ

ミュレーションは 300 MHz ~ 533 MHz でサポートされます。このシミュレーショ

ン・モードでは、キャリブレーションはありません。位相キャリブレーションが

実行されていないため、このテスト・ベンチでは遅延が許されません。

ALTMEMPHY メガファンクションは、正しい書き込みレイテンシおよび読み出し

レイレンシを提供するようにスタティックにコンフィギュレーションされます。 スキップ・キャリブレーションは DDR3 SDRAM インタフェースに対して 速のシ

ミュレーション時間を提供します。このシミュレーション・オプションに、生成

された、または、ベンダ提供の DDR3 SDRAM シミュレーション・モデルを使用し

ます。

300 MHz ~ 400 MHz のスキップ・キャリブレーション・シミュレーションは 6 の

CAS レイテンシと 5 の CAS ライト・レイテンシをサポートします。

1 追加レイテンシをディセーブルにする必要があります。

■ クイック・キャリブレーション — シングル・ピンおよびチップ・セレクト上で

キャリブレーションを実行します。

×4 および ×8 DDR3 SDRAM に使用可能です。クイック・キャリブレーション・シ

ミュレーション・モードでは、シーケンサはクロック・サイクル・キャリブレー

ションのみ実行します。位相キャリブレーションが実行されていないため、この

テストベンチでは遅延が許されません(例えば、DDR3 DIMM モデリング)。 クイック・キャリブレーション・モードは 300 MHz ~ 400 MHz で使用できます。

生成された、または、ベンダー提供の DDR3 SDRAM シミュレーション・モデルの

両方は、キャリブレーション・シーケンスの時でバースト・レングスのオンザフ

ライの変更をサポートします。

■ フル・キャリブレーション-あらゆるピンおよびチップ・セレクト。 このオプ

ションにより、長いシミュレーション時間が可能になります。.

300 MHz ~ 533 MHz の ×4 および ×8 DDR3 SDRAM に使用可能です。Full Calibration を選択する場合は、ウイザードが生成するメモリ・モデルが使用できません。 ライト・レベリング・キャリブレーションをサポートするメモリ・ベンダ提供のメ

モリ・モデルを使用しなければなりません。

1 Denali モデルを使用して ALTMEMPHY ベース・デザインをシミュレートしている場合、

アルテラは、フル・キャリブレーション・モードを使用することを推奨します。

f シミュレーションについて詳しくは、「外部メモリ・インタフェース・ハンドブックvolume 4」の「Simulation」 の項を参照してください。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 50: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

4–6 第 4章 : コンパイルおよびシミュレーションデザインのシミュレーション

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 51: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

5. 機能の説明̶ALTMEMPHY

ALTMEMPHY メガファンクションは様々なアルテラ・デバイスにメモリ・デバイス、

メモリ・コントローラ及びユーザー・ロジックの間にデータパスを作成します。 ALTMEMPHY メガファンクション GUI により、メモリ・インタフェースの複数のバリ

エーションをコンフィギュレーションすることができます。 ユーザーがデザインした

コントローラまたはアルテラの高性能コントローラのいずれかを使用して、

ALTMEMPHY メガファンクション・バリエーションに接続することができます。 さら

に、ALTMEMPHY メガファンクションおよびアルテラの高性能コントローラはハー

フ・レートの DDR3 SDRAM インタフェースに使用可能です。

1 ALTMEMPHY メガファンクションが要件を適合しない場合、QuartusII ソフトウェアで

使用できる ALTDLL および ALTDQ_DQS メガファンクションを使用して、独自のメモ

リ・インタフェース・データパスを作成することもできます。 しかしながら、タイミ

ング解析およびデバッグを含めて、インタフェースの各側面に対する責任がありま

す。

この章では、PHY とコントローラ間のインタフェースとして AFI を使用する DDR3 SDRAM ALTMEMPHY メガファンクションについて説明します。

ブロック説明5–2 ページの 図 5–1 に、ALTMEMPHY メガファンクションの主要ブロックと、このメ

ガファンクションが外部メモリ・デバイスおよびコントローラとどのようにインタ

フェースするかを示します。 ALTPLL メガファンクションは、ALTMEMPHY メガファン

クション内でインスタンス化されるので、いずれかの ALTMEMPHY ブロックにクロッ

クを生成する必要がありません。

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 52: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–2 第 5章 : 機能の説明̶ALTMEMPHYブロック説明

ALTMEMPHY メガファンクションは以下のブロックで構成されます。

■ ライト・データパス

■ アドレスおよびコマンド・データパス

■ DLL および PLL を含む、クロックおよびリセット管理

■ キャリブレーションのシーケンサ

■ リード・データパス

ALTMEMPHY メガファンクションの大きな利点は、初期キャリブレーション・シーケ

ンスをサポートして、アルテラ・デバイスおよびメモリ・デバイスの両方における

プロセス特性による影響を除去することです。 Arria シリーズ・デバイスでは、DDR3 SDRAM ALTMEMPHY キャリブレーション・プロセスにより、再同期化セットアップ

およびホールド・マージンが 大になるように、再同期化クロックの位相がキャプ

チャしたデータ有効ウィンドウの中央に集められます。 ユーザー動作中、電圧および

温度(VT)トラッキング・メカニズムにより、VT 変動の再同期化タイミング・マー

ジンへの影響が除去されます。

図5‒1. コントローラおよび外部メモリにインタフェースする ALTMEMPHY メガファンクションの主要ブロック

ExternalMemoryDevice

ALTMEMPHY

Write Datapath

Address and

Command Datapath

Clock and Reset

Management

Sequencer

Read Datapath

MemoryController

UserLogic

PLL

FPGA

DLL

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 53: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–3ブロック説明

キャリブレーションシーケンスはメモリ・インタフェースに 適なクロック位相を探出するために、

キャリブレーションを実行します。

f キャリブレーションについて詳しくは、「外部メモリ・インタフェース・ハンドブック Volume 4」の 「Debugging」のセクションの 3 章を参照してください。

アドレスおよびコマンド・データパスこのトピックは、アドレスおよびコマンド・データパスについて説明します。

Arria II GX デバイスアドレスおよびコマンド・データパスは、コントローラからアドレスおよびコマン

ド出力を取得してハーフ・レート・クロックからフル・レート・クロックに変換し

ます。 次の 2 つの種類のアドレッシングが可能です。

■ 1T (フル・レート)— アドレスおよびコマンドの持続時間はシングル・メモリ・

クロック・サイクル(mem_clk_2x、図 5–2). です。 これは、フル・レート・デ

ザインでのすべてのアドレス、およびコマンド信号またはハーフ・レート・デザ

インでの mem_cs_n、mem_cke、および mem_odt信号に適用されます。

■ 2T (ハーフ・レート)— アドレスおよびコマンドの持続時間は 2 メモリ・クロッ

ク・サイクルです。 ハーフ・レート・デザインの場合、ALTMEMPHY メガファンク

ションはバースト・サイズ 4 のみをサポートします。これは、ローカル・インタ

フェースのバースト・サイズは常に 1 に設定されることを意味します。 データの

サイズは、ローカル・サイドで 4n ビット幅、メモリ・サイドで n ビット幅です。 すべての 4n ビットをダブル・データ・レートで転送するには、2 メモリ・クロッ

ク・サイクルが必要です。 新しいアドレスおよびコマンドを 2 クロック・サイク

ルごとにメモリに発行できます。 この手法はハーフ・レート・モードの

mem_cs_n、mem_cke、および mem_odt信号を除いて、すべてのアドレスおよびコマ

ンド信号に適用されます。

1 mem_clk_2xと他のクロックとの周波数関係については、 5–6ページの 表 5–1 を参照し

てください。

図 5–2 に、アクティブ Low でメモリ・デバイスのコマンドをディセーブルする 1Tチップ・セレクト信号(mem_cs_n)を示します。 チップ・セレクト信号が非アクティ

ブのとき、すべてのコマンドがマスクされます。 mem_cs_n信号はコマンド・コード

の一部と見なされます。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 54: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–4 第 5章 : 機能の説明̶ALTMEMPHYブロック説明

コマンド・インタフェースは、mem_ras_n、mem_cas_n、mem_we_n、mem_cs_n、mem_cke、および mem_odtの各信号で構成されています。

図 5–2 の波形は、NOP コマンドと 5 つの連続ライト・コマンドを示しています。以

下のシーケンスは、図 5–2 の番号付の項目に対応しています。

1. コマンドは、ac_clk_2xの立ち上がりエッジでアサートされます。 ac_clk_2xは

mem_clk_2x (0°)、write_clk_2x (270°)、またはこれらの 2 つのクロックの

(180° および 90° 位相シフト)の反転したバリエーションから派生しています。 ALTMEMPHY Parameter Editor におけるアドレスおよびコマンド・クロックの設定

によって決まります。mem_clk_2xまたは write_clk_2x 信号に関連するこのク

ロックの図について、 5–3 ページの「アドレスおよびコマンド・データパス」を

参照してください。

2. (mem_cs_ns、mem_cke、および mem_odt信号を除く)すべてのアドレスおよびコ

マンド信号は、2 クロック・サイクルの間バス上にアサートされたままで、信号

が確定するのに十分な時間が確保されます。

3. mem_cs_n、mem_cs_n、および mem_odt信号は、アドレス / コマンド・フェーズの

2 番目のサイクル時にアサートされます。 チップ・セレクト信号を 1 サイクルお

きにアサートして、連続リードまたはライト・コマンドを発行することができま

す。

4. アドレスは、ac_clk_2x サイクル 1 つおきにインクリメントされます。

1 ac_clk_2xクロックは、mem_clk_2x (0° または 180° の位相シフトを選択する場合)ま

たは write_clk_2x (90° または 270° の位相シフトを選択する場合)から派生しま

す。

1 アドレスおよびコマンド・クロックはシステム・クロックから 0、90、180、または

270° のいずれかにすることができます。

図5‒2. Arria II GX アドレスおよびコマンド・データパス

Command

ac_clk_2x

mem_addr

mem_ba

mem_cs_n

mem_ras_n

mem_cas_n

mem_we_n

mem_dq

[1] [2] [4] [4] [4]

NOP NOP

[3]

mem-dqs

PHY Command Outputs

[3][1]

NOP NOPPCH ACT WR

0000

00

0001 0000 0004 0008 000C 0010 0000

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 55: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–5ブロック説明

クロックおよびリセット管理クロッキングおよびリセット・ブロックは、クロック生成、リセット管理、および

クロックの位相シフトに使用されます。 また、クロックの配線に使用されるクロッ

ク・ネットワーク・タイプの制御を実行します。それは、

<variation_name>_alt_mem_phy.v/.vhd ファイルの

<variation_name>_alt_mem_phy_clk_resetモジュールに処理されます。

クロック管理クロック管理機能により、キャリブレーション中の 適な位相を判断し、電圧およ

び温度変動を追跡する ALTMEMPHY メガファンクションが、クロックが互いを基準に

する位相シフトに依存します。

1 いくつかのクロックは ALTMEMPHY メガファンクションの動作中に位相シフトが必要

です。

PLL および DLL を使用してクロック管理回路を実装できます。

ALTMEMPHY MegaWizard Plug-In Manager は、ALTPLL メガファンクション・インスタン

スを自動的に生成します。 ALTPLL メガファンクションは、ALTMEMPHY メガファンク

ション内で使用される各種クロック周波数および関連する位相を生成します。

使用可能なデバイス・ファミリはさまざまな PLL 機能を備えています。 PHY の 小要

件は、 高周波数クロックに 16 の位相があることです。 PLL は、 With No Compensation を使用してジッタを低減します。 PLL 補償を異なる動作モードに変更す

ると、不正確なタイミング結果が発生する可能性があります。

PLL への入力クロックは他の PHY へのファンアウトがないので、PLL へのクロック

入力ピン間のパスにグローバル・クロック・リソースを使用する必要がありません。

Quartus II ソフトウェアから 適な性能および正確なタイミング結果を確実するには、

メモリ・インタフェースとして同じデバイスの 1/4 またはサイドに配置する PLL お

よび PLL の対応するクロック入力ピンを使用する必要があります。

小ジッタを確実にするために、メモリ・インタフェースの同じサイドに配置され

ている PLL および PLL 入力クロック・ピンを選択する必要があります。 また、PLLロックの前に、入力クロックが安定することを確認します。そうしないと、すべて

の PLL 出力間の位相関係は正しく設定されているのを確認するには、マニュアル

PLL リセットを実行し(global_reset_n信号を Low にドライブすることにより)、

そして PLL を再ロックする必要があります。

1 PLL をカスケード接続するデザインでは、ソース(アップストリーム)PLL は狭帯域

幅設定にし、デスティネーション(ダウンストリーム)PLL は広帯域幅設定にする

必要があります。 クロック・ジッタを低減するには、隣接する PLL 間カスケード接続

が推奨されます。

f VCO 周波数範囲および使用可能な位相シフトについて詳しくは、該当するデバイス・

ファミリのハンドブックの「Clock Networks and PLL」の章を参照してください。

表 5–1 に、Arria II GX デバイスを使用するクロック出力を示します。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 56: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–6 第 5章 : 機能の説明̶ALTMEMPHYブロック説明

表5‒1. Arria II GX デバイス における DDR3 SDRAM クロッキング ( その 1 )

クロック名 (1)ポストスケール・カウンタ

位相(度)

クロック・レート

クロック・ネットワーク・タイプ

説明すべてのクアドラント

任意の 3 クアドラント (2)

phy_clk_1x

および

aux_half_rate_clk

C0 0° ハーフ・レート

グロー

バルグローバル

ALTMEMPHY メガファンクションに対する唯一のクロック・パラメータ化。 これらのクロックは 100 MHz 以下でなければならない(リコンフィギュレーション用)PLL の scan_clk信号に提供するために、除算回路にフィードします。

mem_clk_2x

および

aux_full_rate_clk

C1 0° フル・レート

グロー

バル

リージョナル(3)

グローバル(4)

このクロックは、DQS を駆動するため、およびメモリ・デバイスの基準クロックとして使用されます。

mem_clk_1x C2 0° ハーフ・レート

グロー

バルリージョナル

このクロックは、DQS を駆動するため、およびメモリ・デバイスの基準クロックとして使用されます。

write_clk_2x C3 –90° フル・レート

グローバル リージョナル

このクロックは、DQS ストローブ(または同等信号)の前にダブル・データ・レート入力 / 出力(DDIO)ピンからデータをクロックするのに使用されます。 その結果、このクロックの位相は mem_clk_2x の位相よりも90° 進みます。

ac_clk_2x C3 –90° フル・レート

グロー

バルリージョナル

アドレスおよびコマンド・クロック。

ac_clk_2x クロックは、mem_clk_2x(0° または 180°の位相シフトを選択する場合)または write_clk_2x

(90° または 270° の位相シフトを選択する場合)から派生します。mem_clk_2x または write_clk_2x 信号とアドレスおよびコマンド・クロックの図の関係について、 5–3 ページの「アドレスおよびコマンド・データパス」 を参照してください。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 57: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–7ブロック説明

リセット管理図 5–3 に、DDR3 SDRAM PHY のリセット管理ブロックの主な機能を示します。 pll_ref_clk入力を使用してオプションの reset_request_nエッジ検出に供給して、

カウンタ・モジュールをリセットします。 しかし、pll_ref_clk信号はグローバ

ル・クロック・ネットワーク・リソースを使用する必要があります。

phy_clkドメイン・リセット準安定性保護レジスタには、soft_reset_n入力からの

ファンインが、これらのレジスタは使用できないようにあるので、クロック・ディ

バイダ回路用に固有のリセット準安定性保護回路があります。

cs_n_clk_2x C3 –90° フル・レート

グロー

バルグローバル

メモリ・チップ・セレクト・クロック。

cs_n_clk_2x クロックは、ac_clk_2x から派生します。

resync_clk_2x C4

キャリブレーション済み

フル・レート

グロー

バルリージョナル

キャプチャ・レジスタの後で再同期レジスタをクロックします。 このクロックの位相は、DQS でクロックされるすべての DDIO グループにおいて、データ有効ウィンドウの中央に調整されます。

measure_clk_2x C5

キャリブレーション済み

フル・レート

グロー

バルリージョナル

このクロックは VT のトラッキングに使用されます。このフリー・ランニング・クロックは、内部クロックと模擬パスを通じてフィードバックされるクロック間の相対位相シフトを測定します。この結果、ALTMEMPHYメガファンクションは、FPGA への VT 変動を追跡して補正することができます。

表 5–1 の注:

(1) _1x クロックの周波数はメモリ・クロック周波数の半分、_2xクロックは、メモリ・クロック周波数を表します。

(2) クロック・ネットワーク・タイプのデフォルトはグローバルです。しかし、デザインは任意の 3 クアドラントを使用する場合、クロック・ジッタを改善するには、リージョナル・クロック・ネットワークを指定することができます。

(3) mem_clk2x のためです。

(4) aux_full_rate_clk のためです。

表5‒1. Arria II GX デバイス における DDR3 SDRAM クロッキング ( その 2 )

クロック名 (1)ポストスケール・カウンタ

位相(度)

クロック・レート

クロック・ネットワーク・タイプ

説明すべてのクアドラント

任意の 3 クアドラント (2)

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 58: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–8 第 5章 : 機能の説明̶ALTMEMPHYブロック説明

リード・データパスこのトピックでは、リード・データパスについて説明します。

Arria II GX デバイスリード・データパス・ロジックは、メモリ・デバイスから送られたデータをキャプ

チャし、データをアラインメントしてシステム・クロック・ドメインに戻します。 DDR3 SDRAM のリード・データパスは、以下の 3 つのメイン・ブロックで構成され

ています。

■ データのキャプチャ

■ データの再同期化

■ データの逆多重化とアラインメント

DQS/DQSn 信号は連続ではないため、PHY には、リード・ポストアンブル時間の終了

時に DQS 入力信号上にあるグリッチでポストアンブル・グリッチが発生して、不正

なデータがキャプチャされないようにポストアンブル保護ロジックがあります。

図 5–4 に、リード・データパスで実行される機能の順序とリード・データ処理時の

周波数を示します。

図5‒3. Arria II GX デバイスの ALTMEMPHY リセット管理ブロック

PLL

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

soft_reset_n

global_reset_n

pll_ref_clk

phy_clk_out

reset_request_n

phy_internal_reset_n

areset (active HIGH)

pll_reconfig_reset_ams_n

pll_reprogram_request_long_pulse

seq_pll_start_reconfig

pll_reconfig_reset_

ams_n_r

pll_reprogram_

request

refclkscan_clkphaseupdownphasestep

c0

lockedreset_master_ams

global_pre_clear

ResetPipes

PHY resets

pll_reset

pll_locked

pll_new_dir

Optional reset_request_nedge detect and reset counter

Anothersystemclock

clk_divider_reset_n

clkDividerCircuit

phy_clk

scan_clk

reset_n

clk_div_reset_ams_n

clk_div_reset_ams_n_r

pll_reconfig_reset_n

global_or_soft_reset_n

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 59: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–9ブロック説明

データのキャプチャと再同期化Arria II GX デバイスのデータ・キャプチャおよび再同期化レジスタは 大性能を達成

するのに、I/O エレメント(IOE)に実装されます。 データのキャプチャおよび再同期

化は、DQS/DQSn ストローブでリード・データ(DQ)をキャプチャし、キャプチャ

したデータを enhanced PLL(Phase-Locked Loop)から供給される内部フリー・ランニ

ング・フル・レート・クロックに再同期化するプロセスです。 再同期化クロックと

は、位相シフトがキャリブレーションの段階で決まる中間クロックのことです。 図 5–4 に示すように、キャプチャしたデータ(rdata_p_capturedおよび

rdata_n_captured)は、再同期化クロック(resync_clk_2x)に同期化されます。 Arria II GX デバイスの場合、ALTMEMPHY はすべての DQ および DQS ピンの必要な IOEをインスタンス化する ALTDQ_DQS メガファンクションをインスタンス化します。

データの逆多重化データの逆多重化とは SDR データを HDR データに変換するプロセスのことです。 データの逆多重化は、再同期化されたデータの周波数をシステム・クロックの周波

数に低減し、外部メモリ・デバイスからのデータを 終的に FPGA コントローラ・ク

ロック・ドメインに入力するために必要となります。 データ・キャプチャ前、データ

は DDR で n ビット幅です。 データ・キャプチャ後、データは SDR で 2n ビット幅で

す。 データ分離後、データは 4n ビット幅の HDR です。 システム・クロック周波数は、

メモリ・クロック周波数の半分です。 逆多重化は、再同期化クロック(SDR)で動作

する 2n ビット幅のライト・ポートおよび PHY クロック(HDR)で動作する 4n ビッ

ト幅のリード・ポートを持つデュアル・ポート・メモリを使用して達成されます。 動作の基本原理は、データは SDR レートでメモリに書き込まれ、メモリからは HDRレートで読み出され、そのときリード・アドレス・ポインタおよびライト・アドレ

ス・ポインタがインクリメントされるというものです。 SDR および HDR クロックが

生成されると、同じ PLL によってリード・ポインタとライト・ポインタが継続的に

インクリメントされ、4n ビット幅のリード・データが、一定のレイテンシを持つ 2nビットの幅のライト・データに続きます。

リード・データ・アラインメントデータ・アラインメントとは、キャプチャした正しいリード・データが同じハーフ・

レート・クロック・サイクルでリード・データ DPRAM の出力に存在することを保証

するための、シーケンサで制御されるプロセスです。 データ・アラインメントは、デ

バイスのコアでのメモリ・ブロックを使用して実装されます。

図5‒4. Arria II GX デバイスにおける DDR3 SDRAMリード・データパス

SDR SDR/HDRDDR

D Q D Q

Data CaptureIOE

D Q D Q

D Q

Data ResynchronizationIOE

Data Demux and Alignment

RAM Block

wr_data[2n] rd_data[4n]

wr_clk rd_clk

FIFO

phy_clk_1x

resync_clk_2x

DQ[n]

DQS

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 60: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–10 第 5章 : 機能の説明̶ALTMEMPHYALTMEMPHY 信号

ポストアンブル保護専用のポストアンブル・レジスタはリード動作の終了時に DQ 入力レジスタをクロッ

クするシフトされた DQS 信号のゲーティングを制御します。 リード・ポストアンブ

ル時間の終了時に DQS 入力信号上にあるグリッチでポストアンブル・グリッチが発

生して、不正なデータがキャプチャされないようにしています。 また、ポストアンブ

ル・パスは正しいクロック・サイクル、クロック位相シフト、および遅延チェイン

設定を決定するのにキャリブレーションされます。

ALTMEMPHY 信号この項では、DDR3 SDRAM 種類の ALTMEMPHY メガファンクション信号について説明

します。

表 5–2 ~表 5–4 に、信号を示します。

1 プリフィックス mem_付き信号はメモリ・デバイスで PHY を接続し;プリフィックス ctl_ 付きポートはコントローラで PHY を接続します。

信号リストは、以下の信号グループで構成されます。

■ SDRAM デバイスへの I/O インタフェース

■ クロックおよびリセット

■ 外部 DLL 信号

■ ユーザー・モード・キャリブレーション OCT コントロール

■ ライト・データ・インタフェース

■ リード・データ・インタフェース

■ アドレスおよびコマンド・インタフェース

■ キャリブレーション・コントロールおよびステータス・インタフェース

■ デバッグ・インタフェース

表5‒2. DDR3 SDRAM デバイスへのインタフェース ( 注 1)

信号名 タイプ 幅 (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 メモリ・クロック、ネガティブ・エッジ・クロック。

mem_cs_n 出力 MEM_IF_CS_WIDTH メモリ・チップ・セレクト信号。

mem_dm 出力 MEM_IF_DM_WIDTH メモリ DM バス(オプション)。

mem_dq 双方向 MEM_IF_DWIDTH メモリ双方向データ・バス。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 61: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–11ALTMEMPHY 信号

mem_dqs 双方向MEM_IF_DWIDTH/ MEM_IF_DQ_PER_DQS

メモリ双方向データ・ストローブ ・バス。

mem_dqs_n 双方向MEM_IF_DWIDTH/MEM_IF_DQ_PER_DQS

メモリ双方向データ・ストローブ・バス。

mem_odt 出力 MEM_IF_CS_WIDTH DDR3 SDRAM デバイスへのインタフェース

mem_ras_n 出力 1 メモリ・ロウ・アドレス・ストローブ。

mem_reset_n 出力 1

メモリ・リセット信号。この信号は、グローバル・リセット、ソフト・リセット、および PLL のロックされた信号によって生成された PHY の内部リセット信号から派生します。

mem_we_n 出力 1 メモリ・ライト・イネーブル信号。

mem_ac_parity (4) 出力 1PHY で生成されるアドレスまたはコマンド・パリティ信号であり、かつ DIMM に転送されます。

parity_error_n (4) 出力 1

パリティ・エラーが起こるとき、アサートされるアクティブ Low 信号であり、PHY はリセットするまでアサートされたままです。

mem_err_out_n (4) 出力 1信号は、パリティ・エラーが特定のサイクルに発生したことのを示すためにDIMM から PHY まで転送されます。

表 5–2 の注:

(1) I/O パッドに接続されます。

(2) パラメータの説明は、表 5–5 を参照してください。

(3) 出力はメモリ・デバイスに使用され、入力パスは VT トラッキング用に ALTMEMPHY メガファンクションにフィードバックされます。

(4) この信号は Registered DIMM 用のみです。

表5‒2. DDR3 SDRAM デバイスへのインタフェース ( 注 1)

信号名 タイプ 幅 (2) 説明

表5‒3. AFI 信号 ( その 1 )

信号名 タイプ 幅 (1) 説明

クロックおよびリセット

pll_ref_clk 入力 1 PHY PLL への基準クロック入力。

global_reset_n 入力 1

PLL および PHY のすべてのロジックのアクティブ Low グローバル・リセット。 レベル設定のリセット信号によりシステム全体が完全にリセットされます。 PLL は何らかの状態情報を維持する場合があります。

soft_reset_n 入力 1

SOPC Builder 用のエッジ検出リセットの入力または他のシステム・ロジックに制御する信号です。この信号をアサートすると、PHY の完全リセットをしますが、PHY に使用している PLL には影響がありません。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 62: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–12 第 5章 : 機能の説明̶ALTMEMPHYALTMEMPHY 信号

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 信号を生成するために、正確な期間ドライブされなければなりません。

表5‒3. AFI 信号 ( その 2 )

信号名 タイプ 幅 (1) 説明

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 63: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–13ALTMEMPHY 信号

ctl_wdata_valid 入力MEM_IF_DQS_WIDTH × DWIDTH_RATIO / 2

ライト・データ有効。 ctl_wdata およびctl_dm出力イネーブルを生成するために使用されます。

ctl_wdata 入力MEM_IF_DWIDTH × DWIDTH_RATIO

mem_dq を生成するために、コントローラからPHY へのデータ書き込み入力。

ctl_dm 入力MEM_IF_DM_WIDTH × DWIDTH_RATIO

コントローラから PHY への DM 入力。

ctl_wlat 出力 5

ALTMEMPHY コントローラ・ローカル・インタフェースに発行される、アドレス / コマンドとライト・データ間に必要なライト・レイテンシ。

この信号は ALTMEMPHY シーケンサがキャリブレーションを正常に完了するときにのみ有効であり、そして、通常動作中にどの時点でも変更しません。

この信号の正当な値の範囲は 0 ~ 31 であり;かつ、標準値は 0 ~ 10 です。0 は主に低 CASレイテンシ DDR メモリ・タイプの用です。

リード・データ・インタフェース

ctl_doing_rd 入力MEM_IF_DQS_WIDTH × DWIDTH_RATIO / 2

読み出し実行中入力。 DDR3 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 × MEM_IF_DWIDTH

PHY からコントローラへのリード・データ。

ctl_rdata_valid 出力 DWIDTH_RATIO/2

ctl_rdata のリード・データが有効であることを示すリード・データ有効。 コントローラがハーフ・サイクルまたはハーフ・レート・サイクルのいずれかに揃えられるリードおよびライトを発行することができるために、この信号は 2 ビット幅です(ハーフ・レートまたは DWIDTH_RATIO = 4 がサポートされる場合にのみ)。

表5‒3. AFI 信号 ( その 3 )

信号名 タイプ 幅 (1) 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 64: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–14 第 5章 : 機能の説明̶ALTMEMPHYALTMEMPHY 信号

ctl_rlat 出力 READ_LAT_WIDTH

ctl_doing_rd のアサーションと有効なリード・データの戻り(ctl_rdata)間のクロック・サイクル数を備えています。 この信号は、アルテラの高性能コントローラによる未使用です。

アドレスおよびコマンド・インタフェース

ctl_addr 入力

MEM_IF_ROWADDR_WIDTH × DWIDTH_RATIO / 2

コントローラからのロウ・アドレス。

ctl_ba 入力

MEM_IF_BANKADDR_WIDTH × 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 がディセーブルされます。

ctl_cal_success 出力 1 1はキャリブレーションが成功したことを示します。

ctl_cal_fail 出力 1 1はキャリブレーションが失敗したことを示します。

ctl_cal_req 入力 1アサートされると、新しいキャリブレーション・シーケンスが開始します。 現在サポートされていません。

ctl_cal_byte_lane_sel_n 入力

MEM_IF_DQS_WIDTH × MEM_CS_WIDTH

どの DQS グループをキャリブレーションするかを示します。 サポートされていません。

表 5–3 の注:

(1) パラメータの説明は、表 5–5 を参照してください。

表5‒3. AFI 信号 ( その 4 )

信号名 タイプ 幅 (1) 説明

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 65: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–15ALTMEMPHY 信号

表5‒4. 他のインタフェース信号 ( その 1 )

信号名 タイプ 幅 説明

外部 DLL 信号

dqs_delay_ctrl_export 出力

DQS_DELAY_CTL_WIDTH

この ALTMEMPHY インスタンスの DLL を別の ALTMEMPHY インスタンスと共有できるようにします。 DLL を備えたALTMEMPHY インスタンスの dqs_delay_ctrl_export ポートを他の ALTMEMPHY インスタンスの dqs_delay_ctrl_importポートに接続します。

dqs_delay_ctrl_import 入力

DQS_DELAY_CTL_WIDTH

この ALTMEMPHY インスタンスで別の ALTMEMPHY インスタンスの DLL を使用できるようにします。 DLL を備えたALTMEMPHY インスタンスの dqs_delay_ctrl_export ポートを他の ALTMEMPHY インスタンスの dqs_delay_ctrl_importポートに接続します。

dqs_offset_delay_ctrl_ width 入力

DQS_DELAY_CTL_WIDTH

dll_import_export は IMPORT に設定されるとき、DQS 遅延ロジックに接続します。 DLL オフセットを使用しているとき単に接続され、そうしないと、0 に接続できます。 DLL オフセットを使用している場合、この入力を dll_offset_ctrlブロックの offset_ctrl_out 出力に接続されます。

dll_reference_ clk Output 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_WIDTH アドレス入力。

dgb_wr 入力 1 ライト要求。

dbg_rd 入力 1 リード要求。

dbg_cs 入力 1 チップ・セレクト。

dbg_wr_data 入力 32 デバッグ・インタフェース・ライト・データ。

dbg_rd_data 出力 32 デバッグ・インタフェース・リード・データ。

dbg_waitrequest 出力 1 ウェイト信号。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 66: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–16 第 5章 : 機能の説明̶ALTMEMPHYALTMEMPHY 信号

表 5–5 に、表 5–2 ~表 5–4 を参照するパラメータを示します。

キャリブレーション・インタフェース信号̶レベリング機能なしのみ

rsu_codvw_phase 出力 —

シーケンサはメモリ・クロック・サイクルの 360° または720° 間で再同期化クロックの位相をスイープします。 DIMMからのデータ・リードは各位相位置に実行されます。そして、データ有効ウィンドウは、データが正常に読み出される再同期化クロック位相位置のセットに配置されます。 終的な再同期化クロックの位相がこの範囲の中央に設定されます;データ有効ウィンドウまたは CODVW の中央。 この出力は CODVW の現在の計算された値に設定されます。そして、メモリ・クロックからの再同期化クロックをオフセットするのに、位相のステップが PLL によって実行される数を示します。

rsu_codvw_size 出力 —

データ有効ウィンドウ・サイズの 終的な中央 (rsu_codvw_size) は、データがデータ有効ウィンド位相(rsu_codvw_phase)の再同期化クロック・センタの計算で正常に読み出される位相数です。

rsu_read_latency 出力 t —

rsu_codvw_latency 出力は、次に rsu_codvw_phase 再同期化クロックの位相を使用して、リード・レイテンシ (phy_clkサイクルで ) に設定されます。 キャリブレーションが失敗したとき、この信号は不定になります。

rsu_no_dvw_err 出力 —

シーケンサは各位相間で再同期化クロックをスィープして、かつどの位相の位置でも任意の有効なデータがないと、キャリブレーションが失敗して、この出力が 1 に設定されます。

rsu_grt_one_dvw_err 出力 —

シーケンサは各位相間で再同期化クロックをスィープして、複数のデータ有効ウィンドウが表示されるとき、これは解決する必要がある予期しないリード・データ(ランダム・ビット・エラー)の指示または不適切にコンフィギュレーションされた PLL です。 キャリブレーションが失敗して、この出力が 1 に設定されます。

表 5–4 の注:

(1) キャリブレーションが失敗して、この出力が 1 に設定されます。

(2) デバッグ・インタフェースはアルテラの使用のみですが、これらのポートは Quartus II ソフトウェアに存在します。

表5‒4. 他のインタフェース信号 ( その 2 )

信号名 タイプ 幅 説明

表5‒5. パラメータ ( その 1 )

パラメータ名 説明

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 メモリ・デバイスのロウ・アドレス幅。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 67: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–17PHY からコントローラへのインタフェース

PHY からコントローラへのインタフェース次の項では、ALTMEMPHY バリエーションに接続される標準的なモジュールおよび各

モジュールの使用を付加するポート名について説明します。 また、この項ではカスタ

ム・コントローラを使用して説明します。 この項では、AFI について説明します。

AFI はすべてのアルテラのメモリ設計者に対してコントローラと PHY 間のインタ

フェースを標準化し簡素化します。したがって、アルテラの高性能コントローラで、

独自のコントローラ・コードを容易に交換することができます。AFI PHY はキャリブ

レーション用にメモリをコンフィギュレーションする管理ブロックを含めて、必要

に応じてメモリをコンフィギュレーションするのに必要なモード・レジス・タアク

セスを実行します(キャリブレーション・プロセスは異なります)。 図 5–5 に、PHY、コントローラ、およびメモリ・デバイスとの接続の概要を示しています。

1 アルテラでは、新しいデザインに対する AFI の使用を推奨しています。

MEM_IF_BANKADDR_WIDTH メモリ・デバイスのバンク・アドレス幅。

MEM_IF_CS_WIDTH インタフェースでのチップ・セレクト数。 シーケンサは 1 つのチップ・セレクト・ピンのみをキャリブレーションします。

MEM_IF_DM_WIDTH メモリ・インタフェースの mem_dmピン数。

MEM_IF_DQ_PER_DQS mem_dqs ピンあたりの mem_dq[] ピンの数。

MEM_IF_CLK_PAIR_COUNT インタフェースでの mem_clk/mem_clk_n ペアの数。

表5‒5. パラメータ ( その 2 )

パラメータ名 説明

図5‒5. AFI PHY の接続

AFIController

local_wdata

local_rdata

ctl_addrctl_cas_nctl_we_n

ctl_rdata

Admin

Sequencer

AFI PHY

mem_dqsmem_dq

DDR3SDRAM

Altera Device

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 68: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–18 第 5章 : 機能の説明̶ALTMEMPHYPHY からコントローラへのインタフェース

ハーフ・レート・デザインの場合、ALTMEMPHY メガファンクションでのアドレスお

よびコマンド信号はアドレスあたりのビットとハーフ・レート・デザインのコマン

ド・ピンがあるように、1 つの mem_clk サイクル(1T アドレッシング)にアサート

されます。 より慎重な 2T アドレシングが必要である場合、ハーフ・レート・デザイ

ンに(アドレス、およびコマンド信号の)入力ビットの両方を同様にドライブしま

す。

AFI 付き DDR3 SDRAM に対して、リードおよびライト・コントロール信号は DQS あ

たりのグループ単位にあります。 コントローラはキャリブレーションできて、使用可

能な DDR3 SDRAM デバイスのサブセットを使用できます。 例えば、より良いデバッ

グするメカニズムに対して、64 ビットまたは 72 ビット DIMM から 2 つのデバイスを

キャリブレーションし使用できます。

ハーフ・レート・デザインの場合、AFI はコントローラがハーフ・レート phy_clkの

ハーフ・サイクルのいずれかにアラインメントされるリードおよびライトを発行す

ることができます。これは、データパスが複数のデータ・アラインメント(ワード・

アラインメントおよびワード・アラインメント・ライトとリード)をサポートでき

ます。 図 5–6 および図 5–7 に、ハーフ・レート・ライト動作を表示します。

キャリブレーションが完了すると、シーケンサはクロック・サイクル数でのライト・

レイテンシをコントローラに送信します。

図5‒6. ワード・アラインメントされていないデータ付きハーフ・レート・ライト

図5‒7. ワード・アラインメントされたデータ付きハーフ・レート・ライト

00 11 0001

0011 0110 00

-- a x cb xd

ctl_clk

ctl_dqs_burst

ctl_wdata_valid

ctl_wdata

00 10 11 00

00 11 00

-- ba --dc

ctl_clk

ctl_dqs_burst

ctl_wdata_valid

ctl_wdata

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 69: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–19PHY からコントローラへのインタフェース

図 5–8 および図 5–9 に、ワード・アラインメントされたライトおよびリードを示し

ます。 以下のリードおよびライトの例では、データは同じアドレスに書き込まれて、

同じアドレスから読み出されます。各例では、ctl_rdataおよび ctl_wdataはコン

トローラ・クロック(ctl_clk)サイクルにアラインメントされます。 ビット・ベク

トルでのすべてのデータは同時に有効です。 比較のために、ワード・アラインメント

されていないライトおよびリードを示す図 5–10および図 5–11を参照してください。

1 ctl_doing_rdは PHY に渡されると、ハーフ・レート信号として表されます。 したがっ

て、このビット・ベクトルの下半分は 1 メモリ・クロック・サイクルを表し、上半

分は次のメモリ・クロック・サイクルを表します。 5–24 ページの 図 5–11 に、2 つの

ctl_doing_rdビットの例が異なるとき、分離するワード・アラインメントされてい

ないリードを示します。したがって、各 ×16 デバイスでは、少なくとも 2 ctl_doing_rdビットをドライブする必要があり、また、2 ctl_rdata_validビットは

解釈される必要があります。

AFI には次の表記規則が含まれています。

■ AFI で、High と Low 信号は 1 つの信号に組み合わせ、そして、シングル・チップ・セ

レクト(ctl_cs_n)インタフェース;ctl_cs_n[1:0]の場合、0 の位置は 1 mem_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]です。

■ ワード・アラインメントおよびワード・非アラインメント・リードとライトは、

以下の定義があります。

■ 位置 1(_l) におけるシングル・チップ・セレクトのワード・アラインメントは

アクティブ(Low)です。 書き込みが発生する際、ctl_cs_n[1:0] = 01です。 このアラインメントは設計する中で も簡単なアラインメントです。

■ ワード・非アラインメントは逆であり;そして、リードおよびライトが発生

しおよび他のコントロールとデータ信号は連続 ctl_clkサイクルに分配され

るときに ctl_cs_n[1:0] = 10です。

1 アルテラの高性能コントローラはワード・アラインメント・データのみを

使用します。

1 タイミング解析スクリプトはワード・非アラインメントされたリードおよ

びライトをサポートしません。

■ 空間リードおよび空間ライトは、以下の定義があります。

■ 空間ライト —1 つのコントローラ・クロック(ctl_clk)サイクルのギャップ

によって分離するライト・コマンド

■ 空間リード —1 つのコントローラ・クロック(ctl_clk)サイクルのギャップ

によって分離するリード・コマンド

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 70: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–20 第 5章 : 機能の説明̶ALTMEMPHYPHY からコントローラへのインタフェース

図 5–8 ~ 図 5–11 に、以下の一般ポイントを仮定します。

■ バースト・レングスが4です。 DDR2 SDRAMが使用されます—DDR3デバイスに対し

てインタフェースのタイミングは同じです。

■ 1 チップ・セレクト付き 8 ビット・インタフェース。

■ 1 つのコントローラ・クロック(ctl_clk)サイクルのデータは 2 つのメモリ・ク

ロック(mem_clk)サイクル(ハーフ・レート・インタフェース)のデータを表

します。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 71: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–21PHY からコントローラへのインタフェース

図5‒8. ワード・アラインメントされたライト

図 5–8 の注:

(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)です。

ctl_clk

(4)( 2)(1)

ctl_wlat

ctl_ras_n

ctl_cas_n

ctl_we_n

ctl_cs_n

ctl_dqs_burst

ctl_wdata_valid

ctl_wdata

ctl_addr

MemoryInterface

mem_clk

command(Note 5)

mem_cs_n

mem_dqs

mem_dq

(3)

00 00 11

2

1111 00

1111 00

1111 01 11 01 11

00 00 10 11 10 11 00

00 00 11 00 11

00000000 00000000 03020100 07060504 0b0a0908 0f0e0d0c

00000000 00000000 0020008

ACTACT WR

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 72: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–22 第 5章 : 機能の説明̶ALTMEMPHYPHY からコントローラへのインタフェース

図 5–10 と図 5–11 に、空間ワード・非アラインメントのライトおよびリードを示し

ます。

図5‒9. ワード・アラインメントされたリード

図 5–9 の注:

(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) バス上のデータに対して返したリード・データのアラインメントを観測します。

ctl_clk

ctl_rlat

ctl_ras_n

ctl_cas_n

ctl_we_n

ctl_cs_n

ctl_doing_rd

ctl_rdata_valid

ctl_rdata

ctl_ba

ctl_addr

ctl_dm

MemoryInterface

mem_clk

command

mem_cs_n

mem_dqs

mem_dq

15

11

0

00 00 11

1111 01 11 01 11

00 00 11 00 11 00

00 00 11 00 11 00

FFFFFFFFFFFFFFFF

00

0000000 0020008

ACT RD

(1)(2) (2)

(3)(4)

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 73: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–23PHY からコントローラへのインタフェース

図5‒10. ワード・非アラインメント・ライト

図 5–10 の注:

(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 ビットの ctl_wdata_validがあります)。 ライト・データ・ビットは順にバス上で 下位バイトが 初に解除されます。 それで、DQ ピンにおけるライト・データの連続バーストに関して、ライト・データの 上位ハーフは使用されています ( 後にバスの上で解除されて、したがって、以下のデータの隣接です )。 逆はバーストの 後に対して当てはまります。 ライト・データは 3 コントローラ・クロック (ctl_clk) サイクルに広げられますが、それでも、4 メモリ・クロック (mem_clk) サイクルのみです。ただし、相対的なメモリ・クロック・サイクルでは、レイテンシはワード・アラインメントおよびワード・非アラインメントの場合に相当します。

(5) ここの 05045 は前のクロック・サイクルから残りです。 ライトの 初のビートの場合、ライト・データの上半分のみが使用されるのと同じ方法で、ライトの 後のビートの場合はライト・データの下半分のみが使用されます。 このアラインメントにおけるどんな値までもこれらの上位ビットをドライブできます。

ctl_clk

ctl_wlat

ctl_ras_n

ctl_cas_n

ctl_we_n

ctl_cs_n

ctl_dqs_burst

ctl_wdata_valid

ctl_wdata

ctl_ba

ctl_addr

MemoryInterface

mem_clk

command

mem_cs_n

mem_dqs

mem_dq

(4)(2)(1) (5)(3)

1010

2

01 01 00

01 01 00

1111 10 11 10 11

00 00

00

11 01 11 01 00

00 00 10 11 01 10 11 01 00

00000000 00000000 01000000 05040302 05040706 09080706 0d0c0b0a 0d0c0f0e

0000000 0000000 020000 020008

ACTACT WR

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 74: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–24 第 5章 : 機能の説明̶ALTMEMPHYPHY からコントローラへのインタフェース

図5‒11. ワード・非アラインメント・リード

図 5–11 の注:

(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で表されている )。

ctl_clk

ctl_rlat

ctl_ras_n

ctl_cas_n

ctl_we_n

ctl_cs_n

ctl_doing_rd

ctl_rdata_valid

ctl_rdata

ctl_ba

ctl_addr

ctl_dm

MemoryInterface

mem_clk

command

mem_cs_n

mem_dqs

mem_dq

(2)(1) (3)

00 00 10

15

1111 10 11 10 11

00 00 10 11 01 10 11 01 0

00 00

00

10 11 01 10 11 01 00

FFFFFFFFFFFFFFFF 0f0e0f0e

0000000

ACT RD

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 75: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–25カスタム・コントローラの使用

カスタム・コントローラの使用ALTMEMPHY メガファンクションをユーザー独自のコントローラと統合することがで

きます。 この項では、インタフェース要件および効率的なリードおよびライト・トラ

ンザクションのためのハンドシェイク・メカニズムについて説明します。

準備ステップALTMEMPHY メガファンクションを生成するには、以下のステップを実行します。

1. カスタム DDR3 SDRAM コントローラを作成するとき、アルテラの高性能コント

ローラを生成して、選択されたアルテラのメモリ・デバイスをターゲットにしま

す。

2. タイミングをコンパイルおよび検証します。このステップはオプションです;詳

しくは、 4–1 ページの「コンパイルおよびシミュレーション」を参照してくださ

い。

3. DDR3 SDRAM デバイスをターゲットとするとき、高性能コントローラ・デザイン

をシミュレーションして、コントローラを使用することで PHY 信号のドライブ方

法を確認することができます。

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クロック・ドメインに非同期でデアサートされ、

そのクロック・ドメインの追加のユーザー・ロジックをリセットすることができま

す。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 76: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–26 第 5章 : 機能の説明̶ALTMEMPHYカスタム・コントローラの使用

キャリブレーション・プロセス要件グローバル reset_n信号が解放されるとき、ALTMEMPHY は初期化およびキャリブ

レーション・シーケンスを自動的に処理します。 シーケンサは、DDR3 SDRAM(複数

のチップ・セレクト)の複数のランクにリードを発行することによって、メモリ・

インタフェースをキャリブレーションします。 ランクの数が増加するのに応じて、タ

イミング・マージンは減少します。 改良されたタイミング・マージンの比較的少利点

に PLL リソースを消費するので、メモリの各ランクあたり 1 個の再同期化クロック

を供給するのは、実行不可能です。 キャリブレーションが完了すると、キャリブレー

ションが成功の場合、ctl_cal_success 信号は High になり;失敗の場合、

ctl_cal_fail信号は High になります。 キャリブレーションが soft_reset_n信号を

使用して、コントローラで繰り返すことができます。これは、アサートされるのは

シーケンサをリセット状態に配置され、そしてキャリブレーション・プロセスの解

放されるのを再度開始します。

他のローカル・インタフェース要件DDR3 SDRAM デバイスのメモリ・バースト・レングスは 4 または 8 に設定できます

が、アルテラの高性能コントローラを使用する場合、バースト・レングス 8 のみが

サポートされます。 ローカル・インタフェースに供給されるクロックの 2 倍の速度で

メモリ・クロックが動作するハーフ・レート・コントローラの場合、これはローカ

ル・インタフェースのデータ・バス幅はメモリ・データ・バスの 4 倍になることを

意味します。

アドレスおよびコマンド・インタフェースアドレスおよびコマンド信号は 1T動作のために自動的にサイズを変更するので、ピ

ンあたりの入力ビットは、フル・レート・デザインの場合 1 つであり(例えば、1チップ・セレクトあたりのコンフィギュレーションされたチップ・セレクト);ハー

フ・レート・デザインの場合 2 つがあります。 より慎重な 2T アドレスおよびコマン

ド手法が必要な場合は、2 クロック・サイクルに対してフル・レート・デザインを使

用して、アドレス / コマンド・入力をドライブします。もしくは、ハーフ・レート・

デザインで、特定のピンのアドレス / コマンド・ビットを同様にドライブします。

1 PHY が本質的に 1Tアドレッシングをサポートしますが、高性能コントローラは 2Tア

ドレッシングのみをサポートするため、PHY タイミング解析は、2T アドレスとコマ

ンド信号を仮定しながら、実行されます。

リード・コマンドとリード・データ間のハンドシェイク・メカニズムリードが実行される場合、リード・コマンドが要求され、そして有効データが戻る

と予測するバイト・レーンを示すために、AFI 付き高性能コントローラは

ctl_doing_read をアサートします。 ALTMEMPHY は以下の動作のための

ctl_doing_read を使用します。

■ ポストアンブル回路のコントロール

■ ctl_rdata_validの生成

■ ダイナミック終端抵抗 (Rt) コントロール・タイミング

リード・レイテンシ、ctl_rlatはまたコントローラに通知されます。 この信号は、

ctl_doing_readのアサーションから ctl_rdataの有効リード・データの戻りまで、

ctl_clkクロック・サイクルでどのぐらい時間が掛かるのを示します。 ctl_rlat信号はキャリブレーションが正常に完了したときにのみ有効であり、通常のユーザー・

モード動作中に値を変化することはありません。T

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 77: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 5 章 : 機能の説明̶ALTMEMPHY 5–27カスタム・コントローラの使用

ALTMEMPHY は、リード・データ・バス上のデータが有効であることを示すために、

ctl_rdata_valid信号を提供します。 この信号の幅はリード・データはワード・アラ

インメントされていないことを示すために、オプションをサポートするのにハーフ・

レートとフル・レート・デザインの間で異なります。 図 5–12 および図 5–13 に、これ

らの関係を示します。

ライト・コマンドとライト・データの間のハンドシェイク・メカニズムAFI では、ALTMEMPHY 出力 ctl_wlatはアサートされる ctl_cs_nとアサートされる

ctl_dqs_burstを発行するライト・コマンド間の ctl_clk サイクル数を提供します。 ctl_wlat信号は、ctl_clkクロック・サイクルに単一値を提供するために、以下の動

作を参照してください。

■ CAS ライト・レイテンシ

■ 追加のレイテンシ

■ データパス・レイテンシおよび相対位相

■ ボード・レイアウト

■ アドレスとコマンド・パス・レイテンシおよび 1Tレジスタの設定であり、それは

どんなレベリングの影響も考慮に入れるのをダイナミックにセットアップ

ctl_wlat信号はキャリブレーションが ALTMEMPHYシーケンサによる正常に完了した

ときにのみ有効であり、通常のユーザー・モード動作中にどの時点でも変化しませ

ん。 図 5–14 に、ctl_wlatポートの動作を示します。

図5‒12. アドレスとコマンドおよびリード・パス・タイミング̶フル・レート・デザイン

図5‒13. 2 番目のリード・アラインメント̶ハーフ・レート・デザイン

ctl_clk

ctl_addr

ctl_cs_n

ctl_doing_read

mem_dqs

mem_dq

ctl_rdata_valid

ctl_rdata

ctl_rlat = 9

1 2 3 4 5 6 7 8 9

ctl_clk

1 2 3 4 5 6 7 8 9

ctl_rlat = 9

ctl_addr

ctl_cs_n

ctl_doing_read

mem_dqs

mem_dq

ctl_rdata_valid

ctl_rdata

A XA

1010

10 0101

10 0101

DX XD

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 78: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

5–28 第 5章 : 機能の説明̶ALTMEMPHYカスタム・コントローラの使用

ハーフ・レート・デザインの場合、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 サイクル幅のアドレス位相をもたらすために連結されます。

部分的書き込み DDR3 SDRAM メモリ仕様の一部として、ライト信号の一部に DM ピンをアサートす

ることによって部分書き込みのオプションがあります。

Arria II デバイス・ファミリをターゲットとするデザインに対して、DQ 出力をドライ

ブしないことによって電力を節約するために、ライト・データは有効でないとき、

部分的書き込み中に ctl_wdata_valid信号をデアサートします。

他のデバイスをターゲットとするデザインに対して、部分的書き込みが必要な場合

は DIM ピンのみを使用します。 フル・ライト動作の場合、ctl_dqs_burstおよび

ctl_wdata_valid信号をアサートするため、DQおよび DQSピンは部分的書き込み中に

ドライブされます。

図5‒14. ctl_dqs_burst、ctl_wdata_valid、アドレス、およびコマンドのタイミング̶ハーフ・レート・デザイン

ctl_clk

ctl_addr

ctl_cs_n

ctl_dqs_burst

ctl_wdata_valid

ctl_wdata

AdAdAdAd

0101

10 1111

ctl_wlat = 2

1 2

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 79: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

6. 機能の説明̶高性能コントローラ II

1 この章では、Quatus II ソフトウェア・バージョン 11.0 で生成されたデザインのために

バージョン 11.0 で 先端の機能を備えた高性能コントローラ II(HPC II)について説

明します。 以前のバージョンで作成され、バージョン 11.0 で再生成されたデザイン

は、新しい高度な機能を継承しません。バージョン 11.0 の高度な機能のない HPC IIについては、アルテラ資料のウェブサイトで Quartus II バージョン 10.1 の「外部メモ

リ・インタフェース・ハンドブック」の 「External Memory Interfaces」 のセクションを

参照してください。

メモリ・コントローラは広いメモリ帯域幅、高速なクロック・レート性能、および

ラン・タイム・プログラマビリティを提供します。読み取りと書き込みを同時にグ

ルーピングするにより、効率的なトラフィック・パターンとレイテンシの短縮を可

能にすることで、コントローラは、行の競合やバス・ターンアラウンド・タイムを

減らすためにデータを組み替えるすることができます。

メモリ・コントローラ・アーキテクチャ図 6–1 に、全体的なメモリ・インタフェース・アーキテクチャの上位レベルのブ

ロック図を示します。

メモリ・インタフェースは、メモリ・コントローラ・ロジック・ブロック、物理 (PHY) ロジック・レイヤ、およびそれらに関連付けられたインタフェースを含みま

す。

図6‒1. メモリ・インタフェース・アーキテクチャの上位レベルのブロック図

CSR Interface

Aval

on-S

T In

terfa

ce

AFI

Inte

rface

Memory Controller

AFI

Inte

rface

PHY

Exte

rnal

Mem

ory

Memory Interface IP

CSR Master

Aval

on-M

M o

r AXI

Con

verte

r

Dat

a M

aste

r

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 80: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–2 第 6章 : 機能の説明̶高性能コントローラ IIメモリ・コントローラ・アーキテクチャ

メモリ・コントローラ・ロジック・ブロックは、ネイティブ・インタフェースとし

て Avalon ストリーミング(Avalon-ST)インタフェースを使用し、アルテラ PHY イン

タフェース(AFI)による PHY レイヤと通信します。コントローラは Avalon Memory Mapped(Avalon-MM)バス・プロトコルをサポートします。

図 6–2 に、メモリ・コントローラ・アーキテクチャのブロック図を示します。

次のセクションでは、図 6–2 のブロック図について説明します。

Avalon-ST 入力インタフェースAvalon-ST インタフェースでは、メモリ・コントローラへのエントリ・ポイントとし

て機能し、要求するデータのマスタとの通信を提供します。

f Avalon インタフェースについて詳しくは、「Avalon Interface Specifications」を参照してください。

コマンド・ジェネレータコマンド・ジェネレータは、フロント・エンド Avalon-ST インタフェースとローカル

ECC 内部ロジックからのコマンドを受け取り、そしてそれらのコマンドをタイミン

グ・バンク・プールに伝送します。

図6‒2. メモリ・コントローラ・アーキテクチャのブロック図

CSR Interface

Aval

on-S

T In

put I

nter

face

AFI

Inte

rface

to P

HY

Rank Timer

Write Data Buffer

Read Data Buffer

CommandGenerator

Timing BankPool

Arbiter

ECC

Memory Controller

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 81: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–3メモリ・コントローラ・アーキテクチャ

タイミング・バンク・プールタイミング・バンク・プールは、データの組み替えをイネーブルにするアービタで

動作するパラレル・キューです。タイミング・バンク・プールは、着信要求を追跡

して、すべてのタイミング要件が確実に満たされ、およびライト・データ・バッ

ファからの書き込みデータに対応した通知を受信すると、秩序と効率的な方法で

アービタに要求を渡します。

アービタアービタは要求がメモリ・デバイスに渡される順序を決まります。アービタがシン

グル要求を受け取ると、その要求が直後に渡されます。ただし、複数の要求を受信

したときに、アービタは、メモリ・デバイスに要求を渡す順序を決定するために

アービトレーション規則を使用します。

アービトレーション規則アービタは、次のアービトレーション規則に従います。

■ 1 つのマスタのみが要求を発行している場合、すぐにその要求を許可します。

■ 2 つ以上のマスタからの未処理の要求がある場合、アービタは、次のテストを適

用します。

a. 読み取り要求がありますか?その場合、アービタは、書き込み要求よりすべ

ての読み要求を優先します。

b. 上記の条件のいずれにも適用されていない場合、アービタは も古い要求を

許可します。

ランク・タイマランクのタイマは、ランク固有のタイミング情報を保持し、次の機能を実行します。

■ 指定されたタイミング・ウィンドウで、4 つのアクティブのみが発生することを

保証する。

■ read-to-write および write-to-read バス・ターンアラウンド・タイムを管理する。

■ 異なるバンク間の time-to-activate 遅延を管理する。

リード・データ・バッファリード・データ・バッファは、PHY からデータを受信し、入力インタフェースを介

してそのデータをマスタに渡します。

ライト・データ・バッファライト・データ・バッファは、書き込み要求の承認を得ると、入力インタフェース

からの書き込みデータを受信し、PHY にそのデータを渡します。

ECC ブロック誤り訂正コード(ECC)ブロックは、エンコーダとデコーダ・コレクタで構成されて

おり、シングル・ビット・エラーの検出と訂正、ダブル・ビット・エラーの検出を

行います。 ECC ブロックは、データ伝送時のノイズやその他の障害から生じるエラー

を修正することができます。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 82: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–4 第 6章 : 機能の説明̶高性能コントローラ IIコントローラの機能の説明

AFI インタフェースAFI インタフェースは、物理レイヤ・ロジック(PHY)を介してメモリ・デバイスと

の通信を提供します。

AFI 信号について詳しくは、 5–11 ページの「AFI 信号」を参照してください。

CSR インタフェースCSR インタフェースは、内部 コントロール・ステータス・レジスタのシステムとの

通信を提供します。

コントローラの機能の説明次のセクションではメモリ・コントローラの主な機能を説明します。

データの組み替えコントローラはリードおよびライト・コマンドの効率を 大化するために、データ

の組み替えを実装します。コントローラはバス・ターンアラウンド・タイムの緩和

および行の間のコンフリクトの低減のために、必要に応じてリードおよびライト・

コマンドを組み替えできます。

バンク間のデータの組み替えは異なるバンク・アドレスに行くコマンドを組み替え

ます。同じバンク・アドレスに行くコマンドは組替えられません。この組み替え手

法はバンク・アドレス・レベル上でシンプルな危険性の検出を実装します。

コントロールは応対されていないコマンドの時間の長さを制限するロジックを実装

します。このロジックは、スタベーション・コントロール(starvation control)とし

て知られています。スタベーション・コントロールでは、提供されたコマンドごと

にカウンターがインクリメントされます。スタベーション・カウンターは、指定さ

れた制限に達したとき、待っているコマンドが直ちに処理されることを保証するた

めに、スタベーションの制限を設定することができます。

プリエンプティブ・バンク管理データの組み替えにより、コントローラは受信コマンドのパターンに基づいて、バ

ンク管理コマンド・プリエンプティブを発行することができます。その結果、コマ

ンドが AFI に達したときにメモリ内の目的のページが既に開くようにすることができ

ます。

Quasi-1T およびQuasi-2T1 つのコントローラ・クロック・サイクルでは、ハーフ・レート・インタフェースで

2 つのメモリ・クロック・サイクルおよび四半期レート・インタフェースで 4 つのメ

モリ・クロック・サイクルに等しいです。完全にコマンドの帯域幅を利用するには、

コントローラは Quasi-1T ハーフ・レートと Quasi-2T 四半期レート・モードで動作す

ることができます。

Quasi-1T および Quasi-2T モードでは、コントローラはコントローラ・クロック・サ

イクルごとに 2 つのコマンドを発行します。コントローラは 初のクロック位相上

の行コマンドおよび2番目のクロック位相上の列コマンドを発行するために制約さ

れ、またはその逆です。行コマンドはアクティブとプリチャージ・コマンドを含み

ます;列コマンドはリードとライト・コマンドを含みます。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 83: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–5コントローラの機能の説明

ユーザー自動プリチャージのコマンド自動プリチャージ・リードおよび自動プリチャージ・ライト・コマンドで、この

リードおよびライトが現在開いているロウに 後のアクセスであることをメモリ・

デバイスに示すことができます。 同じバンクへの次のアクセスは、より迅速になるよ

うに、メモリ・デバイスは現在アクセスしているページを自動的に閉じるか、また

は自動プリチャージします。

このコマンドはランダム・アクセス時間が必要なアプリケーションに対して便利で

す。

リードまたはライト要求中に、local_autopch 信号をアサートすることで自動プ

リチャージを要求することもできます。コントローラは、 高の効率的なトランザ

クションを組み替えることができるので、local_autopch_req信号をアサートする

ときに、コントローラが現在のコマンドを評価し、 適な自動プレチャージの操作

を決定するために、コマンドをバッファします。

アドレスおよびコマンド・デコード・ロジックメイン・ステート・マシンがメモリにコマンドを発行する際、1 セットの内部信号を

アサートします。 アドレスおよびコマンド・デコード・ロジックは、これらの信号を

AFI 特定のコマンドおよびアドレスに変えます。 このブロックは以下の信号を生成し

ます。

■ クロック・イネーブルおよびリセット信号: afi_cke、afi_rst_n

■ コマンドおよびアドレス信号: afi_cs_n、afi_ba、 afi_addr、 afi_ras_n、afi_cas_n、afi_we_n

低消費電力ロジック低消費電力ロジックの 2 つのタイプがあります: ユーザー制御セルフ・リフレッ

シュ・ロジックおよびプログラマブル・タイム・アウト・ロジックによる自動パ

ワー・ダウン。

ユーザーが制御したセルフ・リフレッシュlocal_self_rfsh_req信号をアサートすると、コントローラは、すべての保留中の

リードおよびライトを完了し、コマンド・キューを割り込んで、そしてメモリをセ

ルフ・リフレッシュ・モードに配置します。 コントローラはセルフ・リフレッシュ・

モードにメモリを配置すると、確認信号、local_self_rfsh_ackをアサートするこ

とによって応答します。 選ぶ限り、メモリはセルフ・リフレッシュ・モードにしてお

くことができます。

セルフ・リフレッシュ・モードからメモリを出すには、要求信号をアサートする必

要があり、そして、コントローラがメモリはもうセルフ・リフレッシュ・モードに

存在しないとき、確認信号をデアサートすることによって応答します。

1 ユーザーが制御したリフレッシュ要求およびシステムが生成したリフレッシュ要求

が同時に発生する場合、ユーザーが制御したリフレッシュが優先され、システムが

生成したリフレッシュはユーザーが制御したリフレッシュ要求が完了した後にのみ

処理されます。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 84: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–6 第 6章 : 機能の説明̶高性能コントローラ IIコントローラの機能の説明

自動パワーダウンかつプログラマブル・タイムアウトアイドル・コントローラ・クロック・サイクルの要求した数はコントローラで観測

される場合、コントローラは、パワーを節約するのに自動的にメモリをパワー・ダ

ウン・モードに配置します。 Controller Settings タブの Auto Power Down Cycles パラ

メータで、1 ~ 65,535 のアイドル・コントローラ・クロック・サイクルの範囲を指

定できます。 プログラマブル・タイム・アウトのカウンタはコマンド・キューにおけ

るユーザーのリードまたはライト要求が存在しないときに開始されます。 コントロー

ラはパワー・ダウン・モードにメモリを配置すると、確認信号、

local_power_down_ackをアサートすることによって応答します。

ODT生成ロジックOn-Die Temination(ODT)生成ロジックは、アルテラによって推奨された手法に基づ

いて、コントローラに対する必要な ODT 信号を生成します。

DDR3 SDRAM表 6–1 に、DIMM あたりのシングル・スロット・シングル・チップ・セレクトがイ

ネーブルされた ODT 信号を示します。

1 リードの ODT ありません。

表 6–2 に、DIMM あたりのシングル・スロット・デュアル・チップ・セレクトがイ

ネーブルされた ODT 信号を示します。

1 リードの ODT ありません。

表 6–3 に、DIMM あたりのデュアル・スロット・シングル・チップ・セレクトがイ

ネーブルされた ODT 信号を示します。

表6‒1. ODT̶DIMMあたりの DDR3 SDRAMシングル・スロット・シングル・チップ・セレクト ( ライト)

ライト・オン イネーブルされた ODTmem_cs[0] mem_odt[0]

表6‒2. ODT̶DIMMあたりの DDR3 SDRAMシングル・スロット・デュアル・チップ・セレクト ( ライト)

ライト・オン イネーブルされた ODTmem_cs[0] mem_odt[0]

mem_cs[1] mem_odt[1]

表6‒3. ODT̶DIMMあたりの DDR3 SDRAMデュアル・スロット・シングル・チップ・セレクト ( ライト)

ライト・オン イネーブルされた ODTmem_cs[0] mem_odt[0] and mem_odt[1]

mem_cs[1] mem_odt[0] and mem_odt[1]

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 85: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–7コントローラの機能の説明

表 6–4 に、DIMM あたりのデュアル・スロット・シングル・チップ・セレクトがイ

ネーブルされた ODT 信号を示します。

表 6–5 に、DIMM あたりのデュアル・スロット・デュアル・チップ・セレクトがイ

ネーブルされた ODT 信号を示します。

表 6–6 に、DIMM あたりのデュアル・スロット・デュアル・チップ・セレクトがイ

ネーブルされた ODT 信号を示します。

表6‒4. ODT̶DIMMあたりの DDR3 SDRAMデュアル・スロット・シングル・チップ・セレクト ( リード)

リード・オン イネーブルされた ODTmem_cs[0] mem_odt[1]

mem_cs[1] mem_odt[0]

表6‒5. ODT̶DIMMあたりの DDR3 SDRAMデュアル・スロット・デュアル・チップ・セレクト ( ライト)

ライト・オン イネーブルされた ODTmem_cs[0] mem_odt[0] and mem_odt[2]

mem_cs[1] mem_odt[1]and mem_odt[3]

mem_cs[2] mem_odt[0]and mem_odt[2]

mem_cs[3] mem_odt[1]and mem_odt[3]

表6‒6. ODT̶DIMMあたりの DDR3 SDRAMデュアル・スロット・デュアル・ランク (リード)

リード・オン イネーブルされた ODTmem_cs[0] mem_odt[2]

mem_cs[1] mem_odt[3]

mem_cs[2] mem_odt[0]

mem_cs[3] mem_odt[1]

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 86: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–8 第 6章 : 機能の説明̶高性能コントローラ IIコントローラの機能の説明

ECCオプションの ECC ロジックは、エンコーダとデコーダ・コレクタで構成されており、

シングル・ビット・エラーの検出と訂正、ダブル・ビット・エラーの検出を行いま

す。 ECC ロジックは 2 の幅で使用可能です;64/72 ビットおよび 32/40 ビットです。 ECC ロジックは以下の特長を備えています。

■ 64 または 32 ビットの各データを 72 または 40 ビットの符号語にエンコードする

Hamming コード ECC です。

■ レイテンシはライトおよびリードの両方に対して 1 クロックを増加します。

■ 128 ビット・インタフェースの場合、ECC は ECC パスの 8 ビット付きの 1 番目の 64ビット・データ・パスと、ECC パスの 8 ビット付きの 2 番目の 64 ビット・デー

タパスとして生成されます。

■ すべてのシングル・ビット・エラーを検出し、訂正します。

■ すべてのダブル・ビット・エラーを検出します。

■ シングル・ビットおよびダブル・ビット・エラーの数をカウントします。

■ DM ピンのあるメモリ・デバイスに対して、リード・モディファイ・ライト・サ

イクルを開始する部分的書き込みを受け入れます。

■ テストおよびデバッグ用に ECC 訂正を開始するには、シングル・ビットおよびダ

ブル・ビット・エラーをインジェクトすることができます。

■ エラーが発生したときに、割り込み信号を生成します。

1 ECC を使用するとき、それに書き込む前にメモリを初期化する必要があります。

シングル・ビットおよびダブル・ビット・エラーが発生したとき、ECC エラーが発

生したことを知らせるために、ECC ロジックは ecc_interrupt信号を開始します。 シングル・ビット・エラーが発生する際、ECC ロジックはエラー・アドレスを読み取

りして、訂正されたデータをライト・バックします。 ダブル・ビット・エラーが発生

する際、ECC ロジックはどんな誤り訂正もしませんが、データが不正であることを

表すために、avl_rdata_error信号をアサートします。 avl_rdata_error信号は

avl_rdata_valid 信号と同じタイミングに従います。

自動訂正をイネーブルすると、訂正が完了するまで、ECC ロジックはすべてのコン

トローラ保留中のアクティビティを留保することができます。 コントローラはアイド

ルであるとき、より良いシステム効率を確認するには、自動訂正をディセーブルお

よび訂正を手動で計画するのを選択できます。 ECC エラーを手動で訂正するには、以

下のステップを実行します。

1. 割り込みが発生したとき、SBE_ERRORレジスタを読み出します。 シングル・ビッ

ト・エラーが発生したとき、SBE_ERRORレジスタは 1 に相当します。

2. ERR_ADDR レジスタを読み出します。

3. ERR_ADDRレジスタに格納されるメモリ・アドレスにダミー・ライトを発行する

ことにより、シングル・ビット・エラーを訂正します。 ダミー・ライトは

local_be信号ゼロのあるライト要求であり、効果的なリード・モディファイ・ラ

イト・イベントである部分書き込みを開始します。 部分書き込みはそのアドレス

でデータを訂正して、それを再び書き込みます。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 87: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–9コントローラの機能の説明

部分的書き込みECC は部分的書き込みをサポートします。 アドレス信号、データ信号、およびバース

ト信号に加え、Avalon-MM インタフェースは、バイト・イネーブルのための信号ベク

タ、local_beもサポートします。 この信号ベクタの各ビットは、データ・バス上の 1バイトを表します。したがって、これらの任意のビットのロジック Low は、コント

ローラがその特定のバイトに書き込みを行えないように指示します(部分的書き込

み)。 ECC コードはデータ・バスのすべてのバイトで計算されます。いずれかのバイ

トが変更された場合、ECC コードを再計算および新しいコードをメモリに書き戻す

必要があります。

部分的書き込みの場合、ECC ロジックは以下のステップを実行します。

1. ECC ロジックはリード・コマンドを部分的書き込みアドレスに送信します。

2. 特定のアドレスに対して、メモリからリターン・データを受信すると、ECC は

データをデコードし、エラーをチェックし、そして訂正されたデータ・ワードま

たは正しいデータ・ワードと受信情報をマージします。

3. ECC ロジックはアップデートされたデータと ECC コードをライト・バックするの

に、書き込みを発行します。

以下のコーナー・ケースが発生する可能性があります。

■ ECC ロジックはアップデートされたデータと ECC コードをライト・バックするの

に、書き込みを発行します。この場合、IP コアはシングル・ビット・エラーが

初に訂正され、シングル・ビット・エラー・カウンタがインクリメントされ、こ

の訂正済みのデコードされたデータ・ワードに部分的書き込みが実行されます。

■ リード・モディファイ・ライト・プロセスのリード・フェーズ中のダブル・ビッ

ト・エラーです。この場合、IP コアはダブル・ビット・エラー・カウンタがイン

クリメントされ、割り込みが発行されます。 新しいライト・ワードは、エラーの

場所に書き込まれます。 ECC ステータス・レジスタは、エラー情報を追跡します。

図 6–3 および図 6–4 に、それぞれ、フルとハーフ・レートの構成では、コントロー

ラの部分的な書き込み操作を示します。

図6‒3. コントローラの部分的書き込み̶フル・レート

local_address

local_size

local_be

local_wdata

mem_dm

mem_dq

0 1

2

X1 XF

01234567 89ABCDEF

67 R R R EF CD AB 89

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 88: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–10 第 6章 : 機能の説明̶高性能コントローラ II外部インタフェース

部分的バーストDM ピンのないデバイスは部分的バーストをサポートしません。同時にメモリにメモ

リ・バースト長の等価なワードの 小値を(またはその倍数)書き込む必要があり

ます。

図 6–5 、コントローラの部分的バースト動作を示します。

外部インタフェースこのセクションでは、コントローラと他の外部メモリ・インタフェース・コンポー

ネント間のインタフェースについて説明します。

クロックおよびリセット・インタフェースクロックおよびリセット・インタフェースは AFI インタフェースの一部です。

コントローラは、互いに同期している 大 2 つのクロック・ドメインを持つことが

できます。統合されたハーフ・レート・ブリッジがない場合、コントローラはシン

グル・クロック・ドメインで動作します。また、統合されたハーフ・レート・ブ

リッジがある場合、コントローラは 2 つのクロック・ドメインで動作します。ク

ロックは ALTMEMPHY によって提供されます。

メイン・コントローラ・クロックは afi_clkであり、そしてオプションのハーフ・

レート・コントローラは afi_half_clkです。メインとハーフ・レート・クロックが

同期的および 2:1 の周波数比を持っている必要があります。オプションの四半期レー

ト・コントローラ・クロックは afi_quarter_clkであり、そしてこのクロックにも

同期的および 4:1 の周波数比を持っている必要があります。

図6‒4. コントローラの部分的書き込み̶ハーフ・レート

図6‒5. コントローラの部分的バースト

local_address

local_size

local_be

local_wdata

mem_dm

mem_dq

0

1

X1

01234567

67 R R R

local_address

local_size

local_be

local_wdata

mem_dm

mem_dq

0

1

X1

01234567

67 45 23 01

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 89: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–11外部インタフェース

Avalon-ST データ・スレーブ・インタフェースAvalon-ST データ・スレーブ・インタフェースは、次の Avalon-ST チャネルを構成さ

れ、一緒にシングル・データ・スレーブを形成します。

■ リードとライトの両方の操作がコマンドとアドレスとして機能するコマンド・

チャネル

■ ライト・データを伝送するライト・データ・チャネル

■ リード・データを伝送するリード・データ・チャネル

■ AXI プロトコールであるライト応答チャネル

f Avalon インタフェースについて詳しくは、「Avalon Interface Specifications」を参照して

ください。

コントローラ -PHY インタフェースコントローラと PHY 間のインタフェースは AFI インタフェースの一部です。

コントローラは、コントローラと相互作用しないで、PHY が必要なすべてのキャリ

ブレーション・プロセスを実行することを前提としています。

AFI 信号について詳しくは、 5–11 ページの「AFI 信号」を参照してください。

メモリ側波帯信号このセクションでは、サポートされた側波帯信号について説明します。

セルフ・リフレッシュ(低消費電力)インタフェースオプションの低消費電力セルフ・リフレッシュ・インタフェースではセルフ・リフ

レッシュ・モードにメモリ・デバイスを配置することがコントローラに指示するた

めに使用できる要求信号と確認信号で構成されています。このインタフェースのオ

プションは、afi_clkによってクロックされます。

リクエスト信号がアサートすると、コントローラはセルフ・リフレッシュ・モード

にメモリ・デバイスを配置し、確認信号をアサートします。セルフ・リフレッシュ・

モードからメモリ・デバイスを引き出すには、要求信号をデアサートします。その

後、メモリ・デバイスはセルフ・リフレッシュ・モードではないときに、確認信号

をデアサートします。

ユーザー・コントローラ・リフレッシュ・インタフェースオプションのユーザー・コントローラ・リフレッシュ・インタフェースではコント

ローラはメモリ・デバイスへのリフレッシュ信号が発行する際に決定するために使

用できる要求信号と確認信号で構成されています。このインタフェースは、 悪の

場合でリード・レイテンシの増加された制御を提供し、アイドル期間中にリフレッ

シュ・バーストを発行することができます。このインタフェースは、afi_clkによっ

てクロックされます。

コントローラは、リフレッシュ動作を実行するように指示するリフレッシュ要求信

号をアサートする場合、その要求がコマンドキューに存在する可能性がある未処理

のリード要求またはライト要求に優先します。コントローラが正常にメモリ・デバ

イスにリフレッシュ・コマンドを発行すると、1 クロック・サイクルのリフレッシュ

確認信号をアサートします。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 90: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–12 第 6章 : 機能の説明̶高性能コントローラ II外部インタフェース

連続するリフレッシュ・コマンドを送信する場合、リフレッシュ要求をアサート状

態に維持する必要があります。これは、コントローラが別のリフレッシュコ・マン

ドを発行し、再度 1 クロック・サイクルの確認信号をアサートします。ユーザーが 9つの連続するリフレッシュコマンドまで実行することができます。

コンフィギュレーションおよびステータス・レジスタ(CSR)インタフェース コントローラでは、タイミング・パラメータ、アドレス幅、およびコントローラの

動作をコンフィギュレーション可能にするコンフィギュレーションおよびステータ

ス・レジスタ(CSR)インタフェースを備えています。CSR インタフェースは固定ア

ドレス幅の 32 ビット Avalon-MM スレーブであり、この機能を必要としない場合、そ

れが面積を削減するためにディセーブルすることができます。

このインタフェースは afi_clkと同じである csr_clkによってクロックされ、常に

メイン・データ・スレーブ・インタフェースに相対的に同期します。

表 6–7 に、コントローラの外部インタフェースを示します。

表6‒7. コントローラ外部インタフェースの概要 ( その 1 )

インタフェース名 ディスプレイ名 タイプ 説明

クロックおよびリセット・インタフェース

クロックおよびリセット・インタフェース

Clock and Reset Interface AFI(1)UniPHY によってコントローラへの生成されたクロックおよびリセット。

Avalon-ST データ・スレーブ・インタフェース

コマンド・チャネル Avalon-ST Data Slave Interface Avalon-ST(2) リードとライトのアドレスおよびコマンド・チャネル、SCSD。

ライト・データ・チャネル

Avalon-ST Data Slave Interface Avalon-ST(2) ライト・データ・チャネル、 SCMD。

リード・データ・チャネル

Avalon-ST Data Slave Interface Avalon-ST(2)リード・データ・チャネル、リード・データ・エラー応答に対するSCMD。

コントローラ -PHY インタフェース

AFI 2.0 AFI Interface AFI(1) コントローラと PHY 間のインタフェース。

メモリ側波帯信号

セルフ・リフレッシュ(低消費電力)インタフェース

Self Refresh (Low Power) Interface

Avalon コントロールおよびステータス・インタフェース (2)

低消費電力モードにメモリを配置する SDRAM- 固定信号。

ユーザー・コントローラ・リフレッシュ・インタフェース

User-Controller Refresh Interface

Avalon コントロールおよびステータス・インタフェース (2)

メモリ・リフレッシュをリクエストするための SDRAM- 固定信号。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 91: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–13トップ・レベル信号の記述

トップ・レベル信号の記述表 6–8 に、クロックおよびリセット信号を示します。

1 suffix _n は、アクティブ・ロー信号を示します。

コンフィギュレーションおよびステータス・レジスタ(CSR)インタフェース

CSR Configuration and Status Register Interface Avalon-MM(2)

メモリ・タイミング・パラメータ、アドレス幅、およびコントローラ動作の動作中にコンフィギュレーションできる。

注:

(1) AFI 信号について詳しくは、「AFI 信号」を参照してください。

(2) Avalon 信号について詳しくは、「Avalon Interface Specifications」を参照してください。

表6‒7. コントローラ外部インタフェースの概要 ( その 2 )

インタフェース名 ディスプレイ名 タイプ 説明

表6‒8. クロックおよびリセット信号 ( その 1 )

名称 入力 / 出力 説明

global_reset_n 入力

コントローラへの非同期リセット入力。 IP コアは、この信号の再同期化バージョンから他のすべてのリセット信号を導出します。 この信号は Low の間、PLL を含む PHY をリセット状態に保持します。

pll_ref_clk 入力 PLL への基準クロック入力。

phy_clk 出力PHY がユーザーに提供するシステム・クロック。コントローラからの出力と入力のすべてのユーザーは、このクロックに同期する必要があります。

reset_phy_clk_n 出力PHY がユーザーに提供するリセット信号。IP コアは reset_phy_clk_n を非同期にアサートされ、クロック・ドメインに phy_clk を同期的にデアサートされます。

aux_full_rate_clk 出力

PHY がユーザーに提供する代替クロック。 このクロックは、常に外部メモリ・インタフェースと同じ周波数で実行されます。 ハーフ・レート・デザインの場合、このクロックは 2 倍の phy_clk 周波数であり、また 2x クロックを要求するときに使用できます。 フル・レート・デザインの場合、このクロックは phy_clk 信号と同じ PLL 出力でドライブされます。

aux_half_rate_clk 出力

PHY がユーザーに提供する代替クロック。このクロックは常に外部メモリ・インタフェースとして周波数の半分で実行されます。 フル・レート・デザインの場合、このクロックはphy_clk 周波数の半分であり、またハーフ・レートブリッジのユーザー・サイドをクロックするのに使用できます。 ハーフ・レート・モードの場合か、それとも Enable Half Rate Bridge オプションがオンになっている場合、このクロックは phy_clk信号をドライブする同じ PLL 出力によってドライブされます。

dll_reference_clk 出力外部でインスタンス化された DLL に供給される基準クロック。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 92: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–14 第 6章 : 機能の説明̶高性能コントローラ IIトップ・レベル信号の記述

6–15 ページの 表 6–9 に、コントローラのローカル・インタフェース信号を示しま

す。

reset_request_n 出力

PLL 出力がロックされていないことを示すリセット要求出力。 任意のシステム・レベル・リセット・コントローラへのリセット要求入力としてこれを使用します。 PLL がロックしている間、この信号は常に Low です。したがって、この信号を使用するどのリセット・ロジックにも、レベル検出ではなく、立ち下がりエッジでリセット要求を検出することが推奨します。

soft_reset_n 入力

エッジ・検出リセット入力は SOPC Builder の使用または他のシステム・リセット・ロジックで制御されるのに対象とします。 PHY 内の使用された PLL ではなく、PHY に完全なリセットを発生するのためにアサートされます。

seriesterminationcontrol

入力 (OCT スレーブ用)

直列終端のキャリブレーションの値を提供するために PHY の信号を必要とします。ユーザーがインスタンス化された OCTコントロール・ブロック(alt_oct)または OCT マスタ・モードに設定されている別の UniPHY のインスタンスに接続する必要があります。

出力(OCT マスタ用)

別の PHY との共有のための利用可能な未接続の PHY の信号。

parallelterminationcontrol

入力(OCT スレーブ用)

直列終端のキャリブレーションの値を提供するために PHY の信号を必要とします。ユーザーがインスタンス化された OCTコントロール・ブロック(alt_oct)または OCT マスタ・モードに設定されている別の UniPHY のインスタンスに接続する必要があります。

出力(OCT マスタ用)

別の PHY との共有のための利用可能な未接続の PHY の信号。

oct_rdn 入力(OCT マスタ用)

デバイス上の適切な RDN ピンに接続されたキャリブレーション抵抗に接続必要があります。(該当するデバイス・ハンドブックを参照してください。)

oct_rup 入力 (OCT マスタ用)

デバイス上の適切な RUP ピンで Vccio に接続されたキャリブレーション抵抗に接続する必要があります。(該当するデバイス・ハンドブックを参照してください。)

dqs_delay_ctrl_import 入力

この PHY インスタンスで別の PHY インスタンスの DLL を使用できるようにします。 DLL を備えた PHY インスタンスのexport ポートを他の PHYインスタンスのimportポートに接続します。

表6‒8. クロックおよびリセット信号 ( その 2 )

名称 入力 / 出力 説明

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 93: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–15トップ・レベル信号の記述

表6‒9. ローカル・インタフェース信号 ( その 1 )

信号名 入力 /出力 説明

local_address[] 入力

バーストを開始する必要があるメモリ・アドレス。

デフォルトで、ローカル・アドレスはバンク・インタリーブ手法にマップされます。 Controller Settings ページの Local-to-Memory Address Mapping オプションを使用して、オーダリングを変更することができます。

IP コアはバスの幅をサイズするには、以下の式で決まります。

■ フル・レート・コントローラ

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 倍であるため、IP コアはメモリ・サイドのカラム・アドレスの 2 つの 下位ビット(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 倍であるため、IP コアはメモリ・サイドのカラム・アドレスの 2 つの 下位ビット(LSB)を無視されます。

local_be[] 入力

ライト時に個々のバイトをマスクするために使用するバイト・イネーブル信号。 local_be はアクティブ High、 mem_dm はアクティブ Low.

local_wdata および local_be を mem_dq および mem_dmにマップするには、32 ビットlocal_wdata および 16 ビット mem_dqを持つフル・レート・デザインを検討します。

Local_wdata = < 22334455 >< 667788AA >< 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 >

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 94: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–16 第 6章 : 機能の説明̶高性能コントローラ IIトップ・レベル信号の記述

local_burstbegin 入力

Avalon バースト開始ストローブで、Avalon バーストの開始を示します。 他のすべての Avalon-MM 信号とは異なり、local_ready がデアサートされた場合、バースト開始信号はアサートされたままにはなりません。

ライト・トランザクションの場合、スレーブは local_ready信号がデアサートされても、この信号を各バースト転送の開始時にアサートして、この信号をバースト転ごとに 1 クロックの間、High に維持します。この信号は local_write_req 信号がアサートされると、IP コアは phy_clkの立ち上がりエッジでサンプリングされます。 スレーブは local_ready 信号をデアサートした後、local_ready信号は再びHigh になるまで、マスタはアサートされたすべてのライト要求信号を保持します。

リード・トランザクションの場合は、データの local_addressをメモリに読み込まれる時に、そしてリード・リクエストがアサートされる時に、この信号を 1 クロック・サイクルにアサートします。 スレーブは local_ready(Avalon インタフェースでは waitrequest_n)をデアサートした後、local_ready 信号は再び Highになるまで、マスタはアサートされたすべてのライト要求信号を保持します。

local_read_req 入力

リード要求信号。 リード要求およびライト要求信号を同時にアサートされることはできません。 local_autopch_reqをアサートする前に、コントローラはreset_phy_clk_n をデアサートする必要があります。

local_refresh_req 入力

ユーザ制御リフレッシュ要求。Enable User Auto-Refresh Controls のオプションがオンの場合、local_refresh_req が使用可能になり、メモリ要件を満たすために十分なリフレッシュ要求を発行する必要があります。このオプションにより、複数のリフレッシュ・コマンドを同時にグループさせる場合も含めて、メモリにリフレッシュが発行されるタイミングを完全に制御することができます。リフレッシュ要求は、リード要求およびライト要求がすでに IP コアを処理中でない限り、これらの要求よりも優先されます。

local_refresh_chip 入力

どのチップにユーザー・リフレッシュを発行するかを制御します。 IP コアは、このアクティブ High 信号を local_refresh_req 信号と共に使用されます。この信号はメモリ・チップ・セレクトのように広いです。 この信号は対応するメモリ・チップのリフレッシュを表す各ビットに高い値をアサートします。

例:local_refresh_chip信号は 4’b0101 の値で割り当てられる場合、コントローラはメモリ・チップ 0 と 2 を更新して、メモリ・チップ 1 と 3 を便新しません。

local_size[] 入力

メモリへの要求されたリードまたはライト・アクセスのビート数を制御します。この値は 2 進数としてエンコードされます。 IP コアは 1 ~ 64 の Avalon バースト・レングスの範囲をサポートします。 IP コアは、Local Maximum Burst Count オプションで指定されるバースト・カウントに基づいてこの信号の幅を派生されます。 派生している幅で、1 から指定したローカルの 大のバースト・カウントまでの値の範囲を指定します。

local_wdata[] 入力ライト・データ・バス。 local_wdata の幅は、フル・レート・コントローラの場合はメモリ・データ・バスの 2 倍で、ハーフ・レート・コントローラの場合はメモリ・データ・バスの 4 倍です。

local_write_req 入力

ライト要求信号。 リード要求およびライト要求信号を同時にアサートされることはできません。 local_write_req をアサートする前に、コントローラはreset_phy_clk_n をデアサートする必要があります。

表6‒9. ローカル・インタフェース信号 ( その 2 )

信号名 入力 /出力 説明

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 95: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–17トップ・レベル信号の記述

local_autopch_req 入力

自動プリチャージのユーザー・コントロール。 Enable Auto-Precharge Control がオンになっている場合、local_autopch_req 信号は使用可能になり、そして、コントローラは自動プリチャージ・ライトまたは自動プリチャージ・リード・コマンドを発行するのを要求できます。

これらのコマンドで、メモリはコントローラから明示的なプリチャージ・コマンドなしで適切な時間における現在のバンクにプリチャージ・コマンドを発行します。 これらの機能は、現在のリードまたはライトは現在開いているロウに発行する 後のものであるが分かる場合に役立ちます。 次回、そのバンクを使用する必要がある場合、アクセスするロウをアクティブにする前にコントローラがバンクをプリチャージする必要がないので、アクセスは、より迅速であるかもしれません。

local_autopch_req 信号がアサートされる状態でメモリ・バーストよりも長いローカル・バーストを発行するとき、コントローラは 後のリードまたはライト・コマンドを自動プリチャージのみを発行します。local_autopch_req信号を受け取ると、コントローラは、コマンド・バッファ内の待ちコマンドを評価し、必要に応じて、組み替えコマンドを実行する も効率的な自動プレチャージの操作を決定します。

local_self_rfsh_chip 入力

どのチップにユーザー・リフレッシュを発行するかを制御します。 IP コアは、このアクティブ High 信号を local_self_rfsh_req 信号と共に使用されます。この信号はメモリ・チップ・セレクトのように広いです。 この信号は対応するメモリ・チップのリフレッシュを表す各ビットに高い値をアサートします。

例:local_self_rfsh_chip信号は 4’b0101の値で割り当てられる場合、コントローラはメモリ・チップ 0 と 2 を更新して、メモリ・チップ 1 と 3 を便新しません。

local_self_rfsh_req 入力

セルフ・リフレッシュ機能のユーザー・コントロール。 Enable Self-Refresh Controlsがオンするとき、コントローラはこの信号をアサートすることによって、セルフ・リフレッシュ・ステートにメモリ・デバイスを配置するのを要求することもできます。 コントローラは、関連タイミング・パラメータに違反しないで、できるだけ早期にメモリをセルフ・リフレッシュ・ステートに配置し、また、local_self_rfsh_ack 信号をアサートすることによって応答します。 この信号をアサートしたままで、メモリをセルフ・リフレッシュ・ステートに保持することができます。 local_self_rfsh_req 信号をデアサートデアサートすることによって、セルフ・リフレッシュ・ステートからメモリをいつでもリリースすることができます。また、コントローラはセルフ・リフレッシュ・ステートからメモリを正常に出すと、local__self_rfsh_ack 信号をデアサートすることによって応答します。

local_init_done 出力

メモリ初期化、トレーニング、およびキャリブレーションが終了であるときに、PHY シーケンサは、ctrl_usr_mode_rdy 信号をメモリ・コントローラにアサートします。そして、メモリ・インタフェースが使用できる状態であることを示すために、この信号がアサートされます。

リード要求とライト要求は、local_init_done がアサートされる前でも受け付けられますが、それらの要求は安全に発行できるようになるまではメモリに発行されません。

この信号は、キャリブレーションが成功すると示されません。

local_rdata[] 出力リード・データ・バス。local_rdata の幅は、フル・レート・コントローラの場合はメモリ・データ・バスの 2 倍で、ハーフ・レート・コントローラの場合はメモリ・データ・バスの 4 倍です。

表6‒9. ローカル・インタフェース信号 ( その 3 )

信号名 入力 /出力 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 96: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–18 第 6章 : 機能の説明̶高性能コントローラ IIトップ・レベル信号の記述

表 6–10 に、コントローラのインタフェース信号を示します。

local_rdata_error 出力

現在のリード・データにエラーがある場合にアサートされます。 Enable Error Detection and Correction Logic オプションがオンになっている場合にのみ、この信号が使用されます。この信号は local_rdata_valid 信号と共にアサートされます。

コントローラがダブル・ビット・エラーを検出すると、訂正が行われなくて、コントローラがこの信号をアサートします。

local_rdata_valid 出力

リード・データ有効信号。 local_rdata_valid 信号は、リード・データ・バス上に有効なデータが存在することを示します。

local_ready 出力

local_ready 信号は、コントローラが要求信号を受け付ける準備ができていることを示します。 local_readyが、リードまたはライト要求がアサートされるクロック・サイクルでアサートされる場合、その要求はすでに受け付けられています。 local_ready 信号がデアサートされると、コントローラがこれ以上要求を受け付けることができないことを示します。 コントローラは 大 8 つのリード要求またはライト要求をバッファでき、その後 local_readyは Low になります。

local_refresh_ack 出力

リフレッシュが発行されるたびに 1 クロック・サイクルの間アサートされるリフレッシュ要求確認です。 Enable User Auto-Refresh Controls がオンにされていない場合でも、local_refresh_ack は、コントローラがリフレッシュ・コマンドを発行したことをローカル・インタフェースに示します。

local_self_rfsh_ack 出力

セル・リフレッシュ要求確認信号。 local_self_rfsh_req 信号に応えて、コントローラはこの信号をアサートおよびデアサートします。

local_power_down_ack 出力

自動パワー・ダウン確認信号。 自動パワー・ダウンが発行されるたびに、この信号は 1 クロック・サイクルの間アサートされます。

ecc_interrupt 出力ECC からの割り込み信号。 ECC 機能をオンにすると、この信号がアサートされ、そしてエラーが検出されます。

表6‒9. ローカル・インタフェース信号 ( その 4 )

信号名 入力 /出力 説明

表6‒10. インタフェース信号 ( その 1 )

信号名 入力 / 出力 説明

mem_dq[] 双方向メモリ・データ・バス。このバスはローカル・リードおよびライト・データ・バスの幅の半分です。

mem_dqs[] 双方向メモリ・データ・ストローブ信号。DDR3 SDRAM にデータを書き込み、アルテラ・デバイスへのリード・データをキャプチャします。

mem_dqs_n[] 双方向シグナル・インテグリティを改善するのに、mem_dqs 信号と共に使用される反転メモリ・データ・ストローブ信号です。

mem_clk 双方向 メモリ・デバイスのクロック。

mem_clk_n 双方向 メモリ・デバイスの反転クロック。

mem_addr[] 出力 メモリ・アドレス・バス。

mem_ac_parity (1) 出力PHY で生成されるアドレスとコマンド・パリティ信号であり、DIMM に送られます。 DDR3 SDRAM のみです。

mem_ba[] 出力 メモリ・バンク・アドレス・バス。

mem_cas_n 出力 メモリ・カラム・アドレス・ストローブ信号。

mem_cke[] 出力 メモリ・クロック・イネーブル信号

mem_cs_n[] 出力 メモリ・チップ・セレクト信号。

mem_dm[] 出力 メモリ・データ・マスク信号。ライト時に個々のバイトをマスクします。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 97: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–19トップ・レベル信号の記述

表 6–11 に、CSR インタフェース信号を示します。

mem_odt 出力 メモリ On-Die Termination コントロール信号。

mem_ras_n 出力 メモリ・ロウ・アドレス・ストローブ信号。

mem_we_n 出力 メモリ・ライト・イネーブル信号。

parity_error_n (1) 出力

パリティ・エラーが生じるときにアサートされるアクティブ Low 信号です。この信号は、PHY がリセットされる前にアサートされたままになります。DDR3 SDRAM のみです。

mem_err_out_n (1) 入力DIMM から PHY に送り、特定のサイクルでパリティ・エラーが生じたことを示す信号です。DDR3 SDRAM のみです。

表 6–10 の注:

(1) この信号は、Registered DIMM 用のみです。

表6‒10. インタフェース信号 ( その 2 )

信号名 入力 / 出力 説明

表6‒11. CSR インタフェース信号

信号名 入力 / 出力 説明csr_addr[] 入力 レジスタ・マップ・アドレス。csr_addr の幅は 16 ビットです。

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 がこれ以上要求を受け付ける準備ができていることを示します。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 98: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–20 第 6章 : 機能の説明̶高性能コントローラ II動作の順序

動作の順序ここでは、さまざまなブロックが一般的な状況で情報を渡す方法を説明します。

ライト・コマンドライト・データと一緒にライト・コマンドの発行するマスタを要求するときに、次

のイベントが発生します。

■ 入力インタフェースはライト・コマンドとライト・データを受け付けます。

■ 入力インタフェースは、コマンド・ジェネレータへのライト・コマンドおよびラ

イト・データ・バッファへのライト・データを渡します。

■ コマンド・ジェネレータはコマンドを処理し、タイミング・バンク・プールに送

信します。

■ 一度にすべてのタイミング要件が満たされている場合およびライト・データ・レ

ディの通知がライト・データ・バッファから受信した場合、タイミング・バン

ク・プールは、アービタにコマンドを送信します。

■ ランク・タイミング要件が満たされている場合、アービタはタイミング・バン

ク・プールからのコマンド要求を許可し、AFI インタフェースにライト・コマン

ドを渡します。

■ AFI インタフェースはアービタからライト・コマンドを受け取り、ライト・デー

タ・バッファから対応するライト・データを要求します。

■ PHY は AFI インタフェースを介して、ライト・コマンドおよびライト・データを受

け取ります。

リード・コマンドリード・コマンドが発行するマスタを要求するときに、次のイベントが発生します。

■ 入力インタフェースは、リード・コマンドを受け付けます。

■ 入力インタフェースはコマンド・ジェネレータにリード・コマンドを渡します。

■ コマンド・ジェネレータはコマンドを処理し、タイミング・バンク・プールに送

信します。

■ 一度にすべてのタイミング要件が満たされている場合、タイミング・バンク・

プールは、アービタにコマンドを送信します。

■ ランク・タイミング要件が満たされている場合、アービタはタイミング・バン

ク・プールからのコマンド要求を許可し、AFI インタフェースにリード・コマン

ドを渡します。

■ AFI インタフェースはアービタからリード・コマンドを受け取り、そして PHY にこ

のコマンドを渡します。

■ PHY は AFI インタフェースを介して、リード・コマンドを受信し、リード・データ

をリターンします。

■ AFI インタフェースは PHY からリード・データ・バッファにリード・データを渡し

ます。

■ リード・データ・バッファは入力インタフェースを介してマスタにリード・デー

タを送信します。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 99: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–21トップ・レベル・ファイルの例

リード・モディファイ・ライト・コマンドリード・モディファイ・ライト・コマンドは部分書き込みおよび ECC 訂正コマンド

に ECC をイネーブルするときに発生することができます。リード・モディファイ・

ライト・コマンドが発行するときに、次のイベントが発生します。

■ コマンド・ジェネレータはタイミング・バンク・プールにリード・コマンドを発

行します。

■ タイミング・バンク・プールおよびアービタは AFI を介して PHY にリード・コマン

ドを渡します。

■ PHY はリード・コマンドを受け取り、メモリ・デバイスからのデータを読み取り、

そして AFI を介してこのリード・データをリターンします。

■ PHY からの受信されたリード・データは ECC ブロックに渡されます。

■ リード・データはライト・データ・バッファによって処理されます。

■ ライト・データ・バッファがコマンド・ジェネレータにリード・モディファイ・

ライトのデータ・レディ通知を発行するときに、コマンド・ジェネレータはタイ

ミング・バンク・プールにライト・コマンドを発行します。その後、アービタは

AFI インタフェースを介して PHY への書き込み要求を発行することができます。

■ PHY がライト要求を受け付けるとき、このデータをメモリ・デバイスに渡します。

トップ・レベル・ファイルの例MegaWizard Plug-In Manager は、DDR3 SDRAMHPC II のインスタンス化および接続方法

を示すトップ・レベル・ファイルの例を作成します。このトップ・レベル・ファイ

ルの例は、DDR3 SDRAM HPC II、そのコントローラにリードおよびライト要求を発行

するいくつかのドライバ・ロジック、必要なクロックを作成する PLL、および DLLで構成されます。このトップ・レベル・ファイルの例は、コンパイルしてスタ

ティック・タイミング・チェックとボード・テストの両方に使用できるワーキング・

システムです。

図 6–6 に、テストベンチおよびトップ・レベル・ファイルの例を示します。

図6‒6. テストベンチおよびトップ・レベル・ファイルの例

Example Driver

ALTMEMPHY

Control Logic

clock_source

test_complete

pnf

Example Design

Testbench

DDR3 SDRAM Controller Wizard-Generated

Memory Model

DLL

PLL

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 100: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–22 第 6章 : 機能の説明̶高性能コントローラ IIトップ・レベル・ファイルの例

表 6–12 に、このトップ・レベル・ファイルの例とテストベンチに関連するファイル

を示します。

使用可能な 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をリセットして、アドレスの同じセットをリード・バックして、それが所期の

データに対して受信したデータを比較します。 サンプル・ドライバ・ソース・

表6‒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 カスタム MegaCore ファンクションのトップ・レベルの記述。

<variation name>.qip MegaCore ファンクション・バリエーション用の Quartus II プロジェクト情報が含まれています。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 101: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–23トップ・レベル・ファイルの例

コードでの 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 になります。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 102: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–24 第 6章 : 機能の説明̶高性能コントローラ IIレジスタ・マップ

表 6–13 に、各テスト・ステータスのビット・マッピングを示します。

表 6–14 は、<variation_name>_phy.v/vhd ファイルに配置されている ALTMEMPHY デ

バッグ・インタフェース信号を示します。

レジスタ・マップ表 6–15 に、ALTMEMPHY 付きの DDR3 SDRAM のレジスタ・マッピングを示します。

表6‒13. テスト・ステータス [] ビット・マッピング

ビット テスト0 シーケンシャル・アドレス・テスト

1 シーケンシャル・アドレス・テスト

2 データ・マスク・ピン・テスト

3 アドレス・ピン・テスト

4 パワー・ダウン・テスト

5 セルフ・リフレッシュ・テスト

6 自動プリチャージ・テスト

表6‒14. ALTMEMPHY デバッグ・インタフェース信号

信号名 入力 / 出力 説明dbg_clk 入力 デバッグ・インタフェース・クロック

dbg_addr 入力 デバッグ・インタフェース・アドレス

dbg_cs 入力 デバッグ・インタフェース・チップ・セレクト

dbg_wr 入力 デバッグ・インタフェース・ライト要求

dbg_wr_data 入力 デバッグ・インタフェース・ライト・データ

dbg_rd 入力 デバッグ・インタフェース・リード要求

dbg_rd_data 入力 デバッグ・インタフェース・リード・データ

dbg_waitrequest 出力 デバッグ・インタフェース待機要求

表6‒15. レジスタ・マップ

アドレス 説明

ALTMEMPHY レジスタ・マップ

0x005 モード・レジスタ 0 ~ 10x006 モード・レジスタ 2 ~ 3

コントローラのレジスタ・マップ

0x100 ALTMEMPHY ステータスおよびコントロール・レジスタ

0x110 コントローラ・ステータスおよびコンフィギュレーション・レジスタ

0x120 メモリ・アドレス・サイズ・レジスタ 00x121 メモリ・アドレス・サイズ・レジスタ 10x122 メモリ・アドレス・サイズ・レジスタ 20x123 メモリ・タイミング・パラメータ・レジスタ 00x124 メモリ・タイミング・パラメータ・レジスタ 1

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 103: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–25レジスタ・マップ

ALTMEMPHY レジスタ・マップALTMEMPHY レジスタ・マップでは、メモリ・コンポーネントのモード・レジスタ設

定を制御することができます。 表 6–16 に、ALTMEMPHY のレジスタ・マップを示しま

す。

ALTMEMPHY レジスタ・マップにアクセスするには、Avalon-MM プロトコルを使用し

て ALTMEMPHY デバッグ・インタフェース信号を接続します。ALTMEMPHY のレジス

タ・マップを設定した後、モードを有効にする設定を登録するための CSR レジス

タ・マップ・アドレス 0x100 のビット 2 を設定することにより、キャリブレーショ

ン要求を初期化します。

0x125 メモリ・タイミング・パラメータ・レジスタ 20x126 メモリ・タイミング・パラメータ・レジスタ 30x130 ECC コントロール・レジスタ

0x131 ECC ステータス・レジスタ

0x132 ECC エラー・アドレス・レジスタ

表6‒15. レジスタ・マップ

アドレス 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 104: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–26 第 6章 : 機能の説明̶高性能コントローラ IIレジスタ・マップ

表6‒16. ALTMEMPHY レジスタ・マップ ( その 1 )

アドレス ビット 名称 デフォ

ルト アクセス 説明

0x005

2:0 バースト・レングス 8 RO この値は 8 に設定されます。

3 BT 0 RO この値は 0 に設定されます。

6:4 CAS レイテンシ — RW

CAS レイテンシの設定です。これらのビットのデフォルト値はコントローラ・インスタンス用の MegaWizard CAS レイテンシ設定によって設定されます。CSRインタフェース・レジスタ・マップ0x126 でこの値を設定する必要があります。

7 予約済み 0 — 今後の使用のために予約されています。

8 DLL 0 RW

コントローラによって使用されませんが、メモリ・デバイス・モード・レジスタに設定およびプログラムすることができます。

11:9 ライト・リカバリ — RW

ライト・リカバリ (tWR) 設定です。これらのビットのデフォルト値はコントローラ・インスタンス用の MegaWizard CASレイテンシ設定によって設定されます。CSR インタフェース・レジスタ・マップ0x126 でこの値を設定する必要があります。

12 PD 0/1 RO この値は 0 に設定されます。

15:13 予約済み 0 C 今後の使用のために予約されています。

16 DLL 0 RW コントローラによって使用されませんが、メモリ・デバイス・モード・レジスタに設定およびプログラムすることができます。

17 ODS 0 RW

18 RTT 0 RW

21:19 AL — RW

追加のレイテンシの設定です。これらのビットのデフォルト値はコントローラ・インスタンス用の MegaWizard CAS レイテンシ設定によって設定されます。CSRインタフェース・レジスタ・マップ0x126 でこの値を設定する必要があります。

22 RTT 0 RW

コントローラによって使用されませんが、メモリ・デバイス・モード・レジスタに設定およびプログラムすることができます。

25:23 RTT/WL/OCD 0 RW

26 DQS# 0 RW

27 TDQS/RDQS 0 RW

28 QOFF 0 RW

31:29 予約済み 0 — 今後の使用のために予約されています。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 105: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–27レジスタ・マップ

コントローラのレジスタ・マップコントローラのレジスタ・マップにより、メモリ・コントローラの設定を制御する

ことができます。 コントローラのレジスタ・マップにアクセスするには、Avalon-MMプロトコルを使用して CSR インタフェース信号を接続します。 表 6–17 に、コント

ローラのレジスタ・マップを示します。

0x006

2:0 予約済み 0 — 今後の使用のために予約されています。

5:3 CWL — RW

CAS ライト・レイテンシの設定です。これらのビットのデフォルト値はコントローラ・インスタンス用の MegaWizard CAS ライト・レイテンシ設定によって設定されます。CSR インタフェース・レジスタ・マップ 0x126 でこの値を設定する必要があります。

6 ASR 0 RW コントローラによって使用されませんが、メモリ・デバイス・モード・レジスタに設定およびプログラムすることができます。

7 SRT/ET 0 RW

8 予約済み 0 — 今後の使用のために予約されています。

10:9 RTT_WR 0 RW

コントローラによって使用されませんが、メモリ・デバイス・モード・レジスタに設定およびプログラムすることができます。

15:11 予約済み 0 — 今後の使用のために予約されています。

17:16 MPR_RF 0 RW コントローラによって使用されませんが、メモリ・デバイス・モード・レジスタに設定およびプログラムすることができます。.

18 MPR 0 RW

31:19 予約済み 0 — 今後の使用のために予約されています。

表6‒16. ALTMEMPHY レジスタ・マップ ( その 2 )

アドレス ビット 名称 デフォ

ルト アクセス 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 106: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–28 第 6章 : 機能の説明̶高性能コントローラ IIレジスタ・マップ

表6‒17. コントローラのレジスタ・マップ ( その 1 )

アドレス ビット 名称 デフォ

ルト アクセス 説明

0x100

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 メガファンクションはキャリブレーション・シーケンスを開始します。

ALTMEMPHY メガファンクション・キャリブレーション中に、このレジスタを使用してはいけません。 CAL_SUCCESS またはCAL_FAIL レジスタが 1 の値を示すまで、待機しなければなりません。

7:3 予約済み 0 — 今後の使用のために予約されています。

13:8 予約済み 0 — 今後の使用のために予約されています。

30:14 予約済み 0 — 今後の使用のために予約されています。

0x110

15:0 AUTO_PD_CYCLES 0x0 RW

コントローラはパワー・ダウン・モードにメモリを配置する必要があった後のアイドル・クロック・サイクル数です。 コマンド・キューでコマンドが存在しない場合、コントローラがアイドルしていると考えられます。 このレジスタを 0 に設定すると、自動パワー・ダウン・モードをディセーブルします。 このレジスタのデフォルト値はデザインの生成の間に設定された値に依存します。

16 予約済み 0 — 今後の使用のために予約されています。

17 予約済み 0 — 今後の使用のために予約されています。

18 予約済み 0 — 今後の使用のために予約されています。

19 予約済み 0 — 今後の使用のために予約されています。

21:20 ADDR_ORDER 00 RW

00 - チップ、ロウ、バンク、カラム。01 - チップ、バンク、ロウ、カラム。10 - 今後の使用のために予約されています。11 - 今後の使用のために予約されています。

22 REGDIMM 0 RWこのビットを 1 に設定すると、コントローラでの REGDIMM サポートがイネーブルされます。

24:23 予約済み 0 — 今後の使用のために予約されています。

30:24 予約済み 0 — 今後の使用のために予約されています。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 107: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–29レジスタ・マップ

0x120

7:0 カラム・アドレス幅 — RWメモリ・インタフェースにおけるメモリ・デバイスのカラム・アドレス・ビット数。 正当値の範囲は、7 ~ 12 です。

15:8 ロウ・アドレス幅 — RWメモリ・インタフェースにおけるメモリ・デバイスのロウ・アドレス・ビット数。 正当値の範囲は、12 ~ 16 です。

19:16 バンク・アドレス幅 — RWメモリ・インタフェースにおけるメモリ・デバイスのバンク・アドレス・ビット数。 正当値の範囲は、2 ~ 3 です。

23:20 チップ・セレクト・アドレス幅

— RW

メモリ・インタフェースにおけるメモリ・デバイスのチップ・セレクト・アドレス・ビット数。 正当値の範囲は、0 ~ 2 です。 メモリ・インタフェースで 1 つのシングル・チップ・セレクトのみ存在する場合、このビットを 0 に設定します。

31:24 予約済み 0 — 今後の使用のために予約されています。

0x121 31:0 データ幅表現(ワード)

— RO

メモリ・インタフェースでの DQS ビット数。 この値を DQSピンあたりの DQピンの数(通常 8)に掛けることによって、このビットがメモリ・インタフェースの幅を派生するのに使用できます。

0x1227:0 チップ・セレクト表

現— RO

バイナリ表現でのチップ・セレクト数。

例えば、2 つのチップ・セレクトのあるデザインは 00000011 の値を持っています。

31:8 予約済み 0 — 今後の使用のために予約されています。

0x123

3:0 tRCD — RWタイミング・パラメタを読み出すか、または書き込むために、動かします。 正当値の範囲は、2 ~ 11 サイクルです。

7:4 tRRD — RWタイミングパラメタをアクティブするために、動かします。 正当値の範囲は、2 ~ 8サイクルです。

11:8 tRP — RWタイミング・パラメタをアクティブするためのプリチャージです。 正当値の範囲は、2~ 11 サイクルです。

15:12 tMRD — RW

モード・レジスタのロード時間パラメータ。 コントローラがメモリ・タイプ設定から正しい値を派生するので、この値はコントローラによって使用されません。

23:16 tRAS — RWタイミング・パラメタをプリチャージするために、動かします。 正当値の範囲は、4~ 29 サイクルです。

31:24 tRC — RWタイミングパラメタをアクティブするために、動かします。 正当値の範囲は、8 ~ 40サイクルです。

表6‒17. コントローラのレジスタ・マップ ( その 2 )

アドレス ビット 名称 デフォ

ルト アクセス 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 108: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–30 第 6章 : 機能の説明̶高性能コントローラ IIレジスタ・マップ

0x124

3:0 tWTR — RWタイミング・パラメータを読み出すための書き込み。 正当値の範囲は、1 ~ 10 サイクルです。

7:4 tRTP — RWタイミング・パラメータをプリチャージするための読み出し。 正当値の範囲は、2 ~ 8サイクルです。

15:8 tFAW — RW4 つのアクティブ・ウインドウ・タイミング・パラメータ。 正当値の範囲は、6 ~ 32サイクルです。

31:16 予約済み 0 — 今後の使用のために予約されています。

0x125

15:0 tREFI — RWリフレッシュ間隔のタイミング・パラメータ。 正当値の範囲は、780 ~ 6240 サイクルです。

23:16 tRFC — RWリフレッシュ・サイクルのタイミング・パラメータ。 正当値の範囲は、12 ~ 88 サイクルです。

31:24 予約済み 0 — 今後の使用のために予約されています。

0x126

3:0 CAS レイテンシ、 tCL — RW

この値はメモリ CAS レイテンシを合わせるように設定する必要があります。 また、この値を 0x04 レジスタ・マップに設定する必要があります。

7:4 追加のレイテンシ、 AL

追加のレイテンシ設定。 これらのビットのデフォルト値は、Preset Editor ダイアログ・ボックスの Memory additive CAS latency setting で設定されます。また、この値を0x05 レジスタ・マップに設定する必要があります。

11:8 CAS ライト・レイテンシ、 CWL

CAS ライト・レイテンシ設定。 この値を0x06 レジスタ・マップに設定する必要があります。

15:12 ライト・リカバリ、 tWR

この値はメモリ・ライト・リカバリ時間(tWR) を合わせるように設定する必要があります。 また、この値を 0x04 レジスタ・マップに設定する必要があります。

19:16 バースト・レングス — RW この値はメモリ・バースト・レングスと一致しなければなりません。

31:20 予約済み 0 — 今後の使用のために予約されています。

表6‒17. コントローラのレジスタ・マップ ( その 3 )

アドレス ビット 名称 デフォ

ルト アクセス 説明

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 109: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 6 章 : 機能の説明̶高性能コントローラ II 6–31レジスタ・マップ

0x130

0 ENABLE_ECC 1 RW

このビットが 1 のとき、ECC の生成およびチェックをイネーブルします。このビットは 1 のとき、ECC の生成およびチェックをイネーブルします。

1 ENABLE_AUTO_CORR — RWこのビットが 1 のとき、シングル・ビット・エラーが検出されると、自動訂正をイネーブルします。

2 GEN_SBE 0 RW

このビットが 0 のとき、書き込まれるデータでのシングル・ビット・エラーの意図的な挿入、ビット 0 をメモリへイネーブルします。 このビットはテスト用のみに使用されます。

3 GEN_DBE 0 RW

このビットが 1 のとき、書き込まれるデータでのダブル・ビット・エラーの意図的な挿入、ビット 0 とビット 1 をメモリへイネーブルします。 このビットはテスト用のみに使用されます。

4 ENABLE_INTR 1 RW このビットが 1 のとき、割り込み出力をイネーブルします。

5 MASK_SBE_INTR 0 RW このビットが 1 のとき、シングル・ビット・エラー割り込みをマスクします。

6 MASK_DBE_INTR 0 RW このビットが 1 のとき、ダブル・ビット・エラー割り込みをマスクします。

7 CLEAR 0 RW

このビットが 1 のとき、このセルフ・クリアリング・ビットを書き込むと、割り込み信号、およびエラー・ステータスとエラー・アドレス・レジスタをクリアします。

8 MASK_CORDROP_INTR 0 RW このビットが 1 のとき、ドロップされた自

動訂正エラー割り込みを破棄されます。

9 予約済み 0 — 今後の使用のために予約されています。

表6‒17. コントローラのレジスタ・マップ ( その 4 )

アドレス ビット 名称 デフォ

ルト アクセス 説明

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 110: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

6–32 第 6章 : 機能の説明̶高性能コントローラ IIレジスタ・マップ

0x131

0 SBE_ERROR 0 RO シングル・ビット・エラーが発生したとき、1 に設定します。

1 DBE_ERROR 0 RO ダブル・ビット・エラーが発生したとき、1 に設定します。

2 CORDROP_ERROR 0 RO 予定されたコントローラの自動接続が破棄されたとき、1 に設定します。

7:3 予約済み 0 — 今後の使用のために予約されています。

15:8 SBE_COUNT 0 RO

ステータス・レジスタのカウンタが 後にクリアされてから、発生しているシングル・ビット・エラーの数をレポートします。

23:16 DBE_COUNT 0 ROステータス・レジスタのカウンタが 後にクリアされてから、発生しているダブル・ビット・エラーの数をレポートします。

31:24 CORDROP_COUNT. 0 RO

ステータス・レジスタのカウンタが 後にクリアされてから、破棄された予定されたコントローラの自動接続の数をレポートします。

0x132 31:0 ERR_ADDR 0 RO新の ECC エラーのアドレス。 このアドレ

スは、メモリ・バースト・アラインのローカル・アドレスです。

0x133 31:0 CORDROP_ADDR 0 RO新の破棄された自動訂正のアドレス。こ

れはメモリ・バースト・アラインのローカル・アドレスです。

0x134

0 REORDER_DATA — RW

15:1 予約済み 0 — 今後の使用のために予約されています。

23:16 STARVE_LIMIT 0 RW 飢えたコマンドの前に処理できるコマンドの数。

31:24 予約済み 0 — 今後の使用のために予約されています。

表6‒17. コントローラのレジスタ・マップ ( その 5 )

アドレス ビット 名称 デフォ

ルト アクセス 説明

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 111: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

7. レイテンシ

レイテンシはローカル(ユーザー)サイドの周波数と絶対時間(ns)を使用して定

義されています。メモリ・コントローラを設計するときには、以下の定義がある

リード・レイテンシとライト・レイテンシの 2 種類のレイテンシが存在します。

■ リード・レイテンシは、リード要求を開始した後、リード・データがローカル・

インタフェースに現れるのに要する時間です。

■ ライト・レイテンシは、ライト要求を開始した後、ライト・データがメモリ・イ

ンタフェースに現れるのに要する時間です。

1 ハーフ・レート・コントローラの場合、ローカル・サイドの周波数はメモリ・イン

タフェース周波数の半分です。

アルテラでは、リード・レイテンシとライト・レイテンシをメモリ・コントローラ

に対するローカル・インタフェース・クロック周波数と絶対時間で定義しています。 これらのレイテンシは、ハーフ・レート DDR3 高性能コントローラ付きのサポート

されるデバイス・ファミリに適用します。

この項で定義するレイテンシは、以下の仮定に基づいています。

■ ロウは既に開いています(必要な追加のバンク管理はない)。

■ コントローラはアイドルであり(キューに保留中のトランザクションはない)、

local_ready信号が High にアサートされていることで示されます。

■ トランザクションの前にリフレッシュ・サイクルは発生しません。

高性能コントローラのレイテンシは、メモリ・インタフェースの多数の異なるス

テージで構成されます。

図 7–1 に、メモリ・インタフェースの標準的なリード・レイテンシ・パスを示しま

す。コントローラで local_read_reqアサーションが検出される時点から、データを

デュアル・ポート RAM (DPRAM)モジュールから読み出すまでのリード・レイテン

シが示されています。

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 112: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

7–2 第 7章 : レイテンシ

表 7–1 に、図 7–1 に示すリードおよびライト・レイテンシの全体を構成するさまざ

まなステージを示します。

図 7–1 から、高性能コントローラのリード・レイテンシは、以下の 4 つの要素で構

成されています。

リード・レイテンシ = コントローラ・レイテンシ(T1) + コマンド出力レイテン

シ (T2) + CAS レイテンシ(T3) + PHY リード・データ入力レイテンシ(T4)

同様に、高性能コントローラのライト・レイテンシは、以下の 3 つの要素で構成さ

れています。

ライト・レイテンシ = コントローラ・レイテンシ(T1) + ライト・データ・レイ

テンシ(T2+T3)

図7‒1. 標準的なレイテンシ・パス

ShiftedDQS Clk

High-Performance

Controller

PLLphy_clk

local_rdata

local_read_req

control_doing_rd

PLL0° or 180°

PHY

FPGA Device Memory Device

Latency T3(includes CAS

latency)

Latency T1

local_addrmem_cs_n

mem_dq [ ]

mem_dqs [ ]

Latency T2Address/Command Generation

Core I/O

Alignment andSynchronization

Capture

ShiftedDQS Clock

Resynchronization Clock

Half-rate

DPRAM

Read DatapathLatency T4

mem_clk [ ]

mem_clk_n [ ]

表7‒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 ライト・データ・レイテンシ

ライト・データがメモリ・インタフェースに現れるまで。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 113: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 7 章 : レイテンシ 7–3

コントローラ・レイテンシと ALTMEMPHY リード・データ入力レイテンシは、I/O エ

レメント(IOE)で発生したレイテンシと FPGA ファブリックで発生したレイテンシ

に分けることができます。

1 レイテンシはコンフィギュレーションの正確さに依存します。正確なレイテンシは

シミュレーションから取得する必要がありますが、この値は自動キャリブレーショ

ン・プロセスのためハードウェアでは異なる可能性があります。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 114: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

7–4 第 7章 : レイテンシ

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 115: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

8. タイミング図

この章では、DDR3 SDRAM 高性能コントローラのタイミング図について説明します。

DDR3 高性能コントローラ IIこの項では、以下の HPC II のタイミング図について説明します。

■ 「ハーフ・レート・リード(バースト・アライン・アドレス)」

■ 「ハーフ・レート・ライト(バースト・アライン・アドレス)」

■ 「ハーフ・レート・リード(非バースト・アライン・アドレス)」

■ 「ハーフ・レート・ライト(非バースト・アライン・アドレス)」

■ 「ギャップを備えたハーフ・レート・リード」

■ 「ギャップを備えたハーフ・レート・ライト」

■ 「ハーフ・レート・ライト動作(マージするライト)」

■ 「ライト-リード-ライト-リード動作」

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 116: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

8–2第8章:タイミング図

DDR3 高

性能コントローラ II

ALTMEMPHY IP

付きのDDR3 SD

RAMコントローラのユーザーガイド

© 2011

年6月Altera Corporation

EFF0011 AABBCCDD EEFF0011 AABBCCDD EEFF0011

0000000

3

F

EFF0011 AABBCCDD EEFF0011 AABBCCDD EEFF0011

[6]

[7]

ハーフ・レート・リード(バースト・アライン・アドレス)図8‒1. HPC II のハーフ・レート・リード動作̶バースト・アライン・アドレス

phy_clk

Local Interfacelocal_address[25:0]

local_size[4:0]local_ready

local_burstbeginlocal_read_req

local_rdata[31:0]local_rdata_valid

local_be[3:0]

afi_addr[27:0]

Controller - AFI

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]

mem_cke[1:0]

AFI Memory Interface

mem_clkmem_ba[2:0]

mem_addr[13:0]mem_cs_n[0]

Mem Command[2:0]mem_dqsmem_dm

mem_dq[7:0]mem_odt[1:0]

00000020000000 00000042

0000000

AABBCCDD E

4001000 0000000 4021008 0000000 4041010

B F B F BRD NOP RD NOPRD

F

3AABBCCDD E

1000 0000 1008 00000

1010

RD NOPNOP NOPRD NOP RD

DDCCBB AA 11 00 FF EE DDCCBB AA 11 00 FF EE DDCCBB AA 11 00 FF EE

[5]

[1] [2] [3] [4]

Page 117: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 8 章 : タイミング図 8–3DDR3 高性能コントローラ II

以下のシーケンスは、 図 8–1 の番号付の項目に対応しています。

1. ユーザー・ロジックは、local_read_req信号とこのリードのサイズおよびアド

レスをアサートすることによって、 初のリードを要求します。 この例では、要

求はローカル・アドレス 0×000000に対する長さ 2 のバーストです。 このローカ

ル・アドレスはハーフ・レート・モードによる以下のメモリ・アドレスにマップ

されます。

mem_row_address = 0×000000

mem_col_address = 0×0000

mem_bank_address = 0×00

2. ユーザー・ロジックは、同一ロウ内で別のメモリ・カラムに 2 回目のリードを開

始します。 2 回目のライトの要求は長さ 2 のバーストです。 この例では、コマン

ド・キューがフルになるまで、ユーザー・ロジックはコマンドを受け入れ続けて

います。 コマンド・キューがフルになると、コントロールは local_ready信号を

デアサートします。 開始ローカル・アドレス 0x000002 はハーフ・レート・モード

による以下のメモリ・アドレスにマップされます。

mem_row_address = 0×0000

mem_col_address = 0×0002<<2 = 0×0008

mem_bank_address = 0×00

3. コントローラは 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遅延のクロック・サイクルがあります。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 118: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

8–4第8章:タイミング図

DDR3 高

性能コントローラ II

ALTMEMPHY IP

付きのDDR3 SD

RAMコントローラのユーザーガイド

© 2011

年6月Altera Corporation

0000000

[4] [5] [6]

D AABBCCDDEEFF0011 EEFF0011

0

3

000 1010

OP WR

D CC BB AA 11 00 FF EE DD CC BB AA 11 00 FF EEDD CC BB AA 11 00 FF EE

ハーフ・レート・ライト(バースト・アライン・アドレス)図8‒2. HPC II のハーフ・レート・ライト動作̶バースト・アライン・アドレス

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]

afi_addr[27:0]

Controller - AFI

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]

mem_cke[1:0]AFI Memory Interface

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]

phy_clk

0000002 000000402

[1] [2] [3]

AABBCCDD AABBCCDD AABBCCDDEEFF0011 EEFF0011 EEFF0011

AABBCCDD AABBCCDEEFF0011

4001000 0000000 4001000 0000000 4021008 0000000 4041010

B F B F B F B F B

ACT NOP WR NOP WR NOP WR NOPNOP WR

0 F

3 0

1000 0000 1000 0000 1008 0

NOP ACT NOP WR NOP NOP NWR WR

00 00 D

Page 119: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 8 章 : タイミング図 8–5DDR3 高性能コントローラ II

以下のシーケンスは、 図 8–2 の番号付の項目に対応しています。

1. ユーザー・ロジックはロウ 0 に 初のライト要求をアサートするので、ロウ 0 は

次のトランザクションの前に開いています。

2. ユーザー・ロジックは 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 をメモリに受信します。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 120: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

8–6第8章:タイミング図

DDR3 高

性能コントローラ II

ALTMEMPHY IP

付きのDDR3 SD

RAMコントローラのユーザーガイド

© 2011

年6月Altera Corporation

BBCCDD EEFFEEFFAABBAABB AABBAABBEEFF0011 AABBCCDD EEFF0011AABBCCDD EEFFEEFFAABBAABB EEFF0011

BBCCDD EEFFEEFFAABBAABB AABBAABBEEFF0011 AABBCCDD EEFF0011AABBCCDD EEFFEEFFAABBAABBEEFF0011

00000

F

F

3 0 3 0 3 0 3 0 3 0 3

P 7

A

[5]

[6]

ハーフ・レート・リード(非バースト・アライン・アドレス)図8‒3. HPC II のハーフ・レート・リード動作̶非バースト・アライン・アドレス

phy_clk

local_address[25:0]local_size[4:0]

local_readylocal_burstbegin

local_read_reqlocal_rdata[31:0]local_rdata_valid

local_be[3:0]

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]

mem_cke[1:0]

AFI Memory Interface

Controller - AFI

Local Interface

mem_clkmem_ba[2:0]

mem_addr[13:0]mem_cs_n[0]

Mem Command[2:0]mem_dqsmem_dm

mem_dq[7:0]mem_odt[1:0]

00000 00001 00003 00005 00000

2

AA

AA

00000 10004 00000 20008 00000 3000C 00000 40010 00000 50014 00000 60018

B F B F B F B F B F B

NOP NOPNOPNOPNOPNOPNOP RD RD RD RD RD RD

3 0 3 0 3 0 3 0 3 0 3

00

0

0000 0004 0000 0008 0000 000C 0000 0010 0000 0014 0000 0018

NOP NOP NOP NOP NOP NOP NORD RD RD RD RD RD

AADD BBCC 00 FF EE11 AADD BBCC ADD BBCC00 FF EE1100 00 00 00 00

[1] [2] [3]

[4]

Page 121: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 8 章 : タイミング図 8–7DDR3 高性能コントローラ II

以下のシーケンスは、 図 8–3 の番号付の項目に対応しています。

1. ユーザー・ロジックは、local_read_req信号とこのリードのサイズおよびアド

レスをアサートすることによって、 初のリードを要求します。 この例では、要

求はローカル・アドレス 0×000001に対する長さ 2 のバーストです。 このローカ

ル・アドレスはハーフ・レート・モードによる以下のメモリ・アドレスにマップ

されます。

mem_row_address = 0×0000

mem_col_address = 0×0001<<2 = 0×0004

mem_bank_address = 0×00

2. コントローラは 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遅延のクロック・サイクルがあります。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 122: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

8–8第8章:タイミング図

DDR3 高

性能コントローラ II

ALTMEMPHY IP

付きのDDR3 SD

RAMコントローラのユーザーガイド

© 2011

年6月Altera Corporation

0000000

FNOP

F 0

D0 3

0010 0000

NOPWR

00 DD CC BB AA 00 11 00 FF EE

ハーフ・レート・ライト(非バースト・アライン・アドレス)図8‒4. HPC II のハーフ・レート・ライト動作̶非バースト・アライン・アドレス

local_address[25:0]local_size[4:0]

local_readylocal_burstbegin

local_be[3:0]local_write_req

local_wdata[31:0]

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]

mem_cke[1:0]mem_clk

mem_ba[2:0]mem_addr[13:0]

mem_cs_n[0]Mem Command[2:0]

mem_dqsmem_dm

mem_dq[7:0]mem_odt[1:0]

phy_clk

0000001 00000032

0000001 0000003 0000005

AABBCCDD EEFF0011 AABBCCDD EEFF0011

0010004 0000000 0020008 0000000 003000C 0000000 0040010

B F B F B F BWR NOP NOP NOPWR WR WR

0 F 0 F 0

AABBCCDD EEFF0011 AABBCCD3 0 3 0 3

0004 0000 0008 0000 000C 0000

WR NOP WR NOP WR NOP

DD CC BB AA 00 11 00 FF EE

Local Interface

Controller - AFI

AFI Memory Interface

[6][5]

[1] [3] [4][2]

[7]

Page 123: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 8 章 : タイミング図 8–9DDR3 高性能コントローラ II

以下のシーケンスは、 図 8–4 の番号付の項目に対応しています。

1. ユーザー・ロジックは 2 のサイズと 0×000001のアドレスで 初のの

local_write_req信号をアサートします。 local_ready信号が local_write_req信号と共にアサートされており、これはコントローラがこの要求を受け付けたこと

を示し、ユーザー・ロジックは次のクロック・サイクルで、別のリードまたはラ

イトを要求できます。 local_ready信号がアサートされていなかった場合、

local_ready信号は High に登録されるまで、ユーザー・ロジックはアサートされ

た、ライト要求、サイズ、およびアドレス信号を保持する必要があります。 この

ローカル・アドレス 0×000001はハーフ・レート・モードによる以下のメモリ・

アドレスにマップされます。

mem_row_address = 0×0000

mem_col_address = 0×000001<<2 = 0×000004

mem_bank_address = 0×00

2. ユーザー・ロジックは 2 のサイズと 0×000003のアドレスで 2 つ目の

local_write_req信号をアサートします。 このローカル・アドレス 0×000003は

ハーフ・レート・モードによる以下のメモリ・アドレスにマップされます。

mem_row_address = 0×0000

mem_col_address = 0×000003<<2 = 0×00000C

mem_bank_address = 0×00

3. コントローラは ALTMEMPHY メガファンクションに 初の必要なメモリ・コマン

ドおよびアドレス信号を発行して、メモリ・デバイスに送信します。

4. コントローラは、有効なライト・データとライト・データ・マスクが

ALTMEMPHY メガファンクションへの入力に存在しているのを ALTMEMPHY メガ

ファンクションに示すために afi_wdata_valid信号をアサートします。

5. コントローラは、ALTMEMPHY メガファンクションがメモリに発行する DQS 信号

のタイミングを制御するために afi_dqs_burst信号をアサートします。

6. ALTMEMPHY メガファンクションは、ライト・コマンドを発行し、そしてライト・

データおよびライト DQS をメモリに受信します。

7. 初のライトが非整列のメモリ・アドレス(0×0004)に書き込まれるため、コン

トローラは別のライトを生成します。コントローラは、0×0008のメモリ・アドレ

スで 2 つ目のライト・バーストを実行します。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 124: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

8–10第8章:タイミング図

DDR3 高

性能コントローラ II

ALTMEMPHY IP

付きのDDR3 SD

RAMコントローラのユーザーガイド

© 2011

年6月Altera Corporation

00000000

00000000

0 3 0 3

ギャップを備えたハーフ・レート・リード図8‒5. HPC II のハーフ・レート・リード動作̶ギャップあり

Local Interfacelocal_address[25:0]

local_size[4:0]local_ready

local_burstbeginlocal_read_req

local_rdata[31:0]local_rdata_valid

local_be[3:0]

afi_addr[27:0]

Controller - AFI

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]

mem_cke[1:0]

AFI Memory Interface

mem_clkmem_ba[2:0]

mem_addr[13:0]mem_cs_n[0]

Mem Command[2:0]mem_dqsmem_dm

mem_dq[7:0]mem_odt[1:0]

0000912

2

0000810 0000A14

5101440 0004001 000000000000000000000 4121048 0004001 0000000 4141050 0000000

00 09 00 09 12 00 12

F B F B F B F

NOP NOP NOP NOPRD ACT RD ACT RD

FF

0 3 0 3 0 3

0 3

7 0 1 0 1 2 0

0000 0001 0000 1440 0001 0000 1048 0001 0000

ACT RD NOP ACT RD NOP ACT RD NOP

00 00 00 00 00 00

phy_clk

[1] [2] [3] [4] [5]

Page 125: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 8 章 : タイミング図 8–11DDR3 高性能コントローラ II

以下のシーケンスは、 図 8–5 に番号付きの項目に対応しています。

1. ユーザー・ロジックは、local_read_req信号とこのリードのサイズおよびアド

レスをアサートすることによって、 初のリードを要求します。 この例では、要

求はローカル・アドレス 0×0000810に対する長さ 2 のバーストです。 このローカ

ル・アドレスはハーフ・レート・モードによる以下のメモリ・アドレスにマップ

されます。

mem_row_address = 0×0001

mem_col_address = 0×0010<<2 = 0×0040

mem_bank_address = 0×00

2. コマンド・キューがフルになったら、コントローラは local_ready信号をデア

サートデアサートして、コントローラがコマンドを受け入れないことを示しま

す。ユーザー・ロジックは local_ready信号が再アサートされるまで、読み出し

リクエスト、サイズ、アドレス信号を保持しなければなりません。

3. ユーザー・ロジックは 2 のサイズと 0×0000912のアドレスで 2 つ目の

local_read_req 信号をアサートします。

4. コントローラは ALTMEMPHY メガファンクションに 初のリード・メモリ・コマ

ンドおよびアドレス信号を発行して、メモリ・デバイスに送信します。

5. ALTMEMPHY メガファンクションはメモリへのリード・コマンドを発行し、かつ

メモリからのリード・データをキャプチャします。

ギャップを備えたハーフ・レート・ライト図8‒6. HPC II のハーフ・レート・ライト動作̶ギャップあり

phy_clk

local_address[25:0]Local Interface

local_size[4:0]local_ready

local_burstbeginlocal_be[3:0]

local_write_reqlocal_wdata[31:0]

afi_addr[27:0]Controller - AFI

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]

mem_cke[1:0]AFI Memory Interface

mem_clkmem_ba[2:0]

mem_addr[13:0]mem_cs_n[0]

Mem Command[2:0]mem_dqsmem_dm

mem_dq[7:0]mem_odt[1:0]

0000F1C2

AABBCCDD EEFF0011 AABBCCDD

0000000 40C10303F

F B FWR NOPNOP

F 0 F

EEFF0011 AABBCCDD EEFF00110 3 0

71030

WR NOPNOP

00 DD CC BB AA 11 00 FF EE 00

[1] [6]

[2] [5] [3][4]

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 126: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

8–12 第 8 章 : タイミング図DDR3 高性能コントローラ II

以下のシーケンスは、 図 8–6 の番号付の項目に対応しています。

1. ユーザー・ロジックは 2 のサイズと 0×0000F1Cのアドレスで local_write_req信

号をアサートします。

2. コントローラは ALTMEMPHY メガファンクションに 初の必要なメモリ・コマン

ドおよびアドレス信号を発行して、メモリ・デバイスに送信します。

3. コントローラは、有効なライト・データとライト・データ・マスクが

ALTMEMPHY メガファンクションへの入力に存在しているのを ALTMEMPHY メガ

ファンクションに示すために afi_wdata_valid信号をアサートします。

4. コントローラは、ALTMEMPHY メガファンクションがメモリに発行する DQS 信号

のタイミングを制御するために afi_dqs_burst信号をアサートします。

5. ALTMEMPHY メガファンクションは、ライト・コマンドを発行し、そしてライト・

データおよびライト DQS をメモリに受信します。

6. ローカル・サイズ 2 のトランザクションの場合、すべてのライト・データがコン

トローラに転送できるように、local_write_req および local_ready 信号は、2クロック High にする必要があります。

ハーフ・レート・ライト動作(マージするライト)図8‒7. HPC II のライト動作̶マージするライト

local_address[25:0]

Local Interface

local_size[4:0]local_ready

local_burstbeginlocal_be[3:0]

local_write_reqlocal_wdata[31:0]

afi_addr[27:0]Controller - AFI

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]

mem_ckeAFI Memory Interface

mem_clkmem_ba[2:0]

mem_addr[13:0]mem_cs_n[0]

Mem Command[2:0]mem_dqsmem_dm

mem_dq[7:0]mem_odt[1:0]

00000010000000 0000002 0000003

22222222 3333333300000000 00000000

0000000 4001000 0000000 4021008 0000000

F B F B F B FACT NOP

NOPACT

NOP NOPWR WR0

00000000 22222222 33333333 000000003 0 3

1000 0000 1008 0000

WR NOP WR NOP

00 22 33 00

phy_clk

[2][1] [5] [4] [6][3]

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 127: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 8 章 : タイミング図 8–13DDR3 高性能コントローラ II

以下のシーケンスは、 図 8–7 の番号付の項目に対応しています。

1. ユーザー・ロジックは 1 のサイズと 0×000000のアドレスで 初の

local_write_req信号をアサートします。 local_ready信号が local_write_req信号と共にアサートされており、これはコントローラがこの要求を受け付けたこと

を示し、ユーザー・ロジックは次のクロック・サイクルで、別のリードまたはラ

イトを要求できます。 local_ready 信号がアサートされていなかった場合、

local_ready信号は High に登録されるまで、ユーザー・ロジックはアサートされ

た、ライト要求、サイズ、およびアドレス信号を保持する必要があります。 この

ローカル・アドレス 0x000000はハーフ・レート・モードによる以下のメモリ・

アドレスにマップされます。

mem_row_address = 0×0000

mem_col_address = 0×0000<<2 = 0×0000

mem_bank_address = 0×00

2. ユーザー・ロジックは 1 のサイズと 1 のアドレスで 2 つ目の local_write_req信

号をアサートします。 local_ready 信号が local_write_req信号と共にアサート

されており、これはコントローラがこの要求を受け付けたことを示します。 2 回

目のライト要求は連続するアドレス(同じロウ、同じバンク、1のカラム増加)

を対象にするので、このライトはメモリ・トランザクションにおいて 1 回目のラ

イトとマージすることができます。

3. コントローラは ALTMEMPHY メガファンクションに 初の必要なメモリ・コマン

ドおよびアドレス信号を発行して、メモリ・デバイスに送信します。

4. コントローラは、有効なライト・データとライト・データ・マスクが

ALTMEMPHY メガファンクションへの入力に存在しているのを ALTMEMPHY メガ

ファンクションに示すために afi_wdata_valid信号をアサートします。

5. コントローラは、ALTMEMPHY メガファンクションがメモリに発行する DQS 信号

のタイミングを制御するために afi_dqs_burst信号をアサートします。

6. ALTMEMPHY メガファンクションは、ライト・コマンドを発行し、そしてライト・

データおよびライト DQS をメモリに受信します。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 128: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

8–14第8章:タイミング図

DDR3 高

性能コントローラ II

ALTMEMPHY IP

付きのDDR3 SD

RAMコントローラのユーザーガイド

© 2011

年6月Altera Corporation

00000000 00000010

0

3

00000000 000000100 3

0 0018

NOP

WR

10 1800 00

[13]

[12]

ライト-リード-ライト-リード動作図8‒8. HPC II のライト-リード・シーケンシャル動作

Local Interface

local_address[25:0]local_size[4:0]

local_readylocal_burstbegin

local_read_reqlocal_rdata[31:0]local_rdata_valid

local_be[3:0]local_write_req

local_wdata[31:0]

afi_addr[27:0]

Controller - AFI

afi_ba[5:0]afi_cs_n[3:0]

AFI Command[2:0]afi_dm[3:0]

afi_wlat[4:0]afi_wdata[31:0]

afi_doing_rd[1:0]afi_wdata_valid[1:0]

afi_dqs_burst[1]afi_dqs_burst[0]

afi_rdata[31:0]afi_rdata_valid[1:0]

mem_cke[1:0]

AFI Memory Interface

mem_clkmem_ba[2:0]

mem_addr[13:0]mem_cs_n[0]

Mem Command[2:0]mem_dqsmem_dm

mem_dq[7:0]mem_odt[1:0]

0000002 0000004 0000006

0000000000000000 00000008

00000008 00000010 00000018

0040010 0040010 00600180000000 0020008 00200080000000 0000000 0000000 0000000

F B F B F B F B F B

F 0 F 0 F

00000000 00000008 00000010

00 3 0 30 3 0 3 0

0000000000000000 000000080 3

0000 0008 0000 0008 0000 0010 0000 0010 000

NOP WR NOP RD

NOP WR WR WRNOP NOP NOP NOPRD RD

NOP NOP NOPWR RD

00 08 1008 00 00 00 00 00 00

phy_clk

[1] [2] [3] [4] [5] [8] [9]

[6][7][10] [11]

Page 129: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

第 8 章 : タイミング図 8–15DDR3 高性能コントローラ II

以下のシーケンスは、 図 8–8 の番号付の項目に対応しています。

1. ユーザー・ロジックは、local_write_req信号とこのライトのサイズおよびアド

レスをアサートすることによって、 初のライトを要求します。 この例では、要

求はローカル・アドレス 0x000002に対する長さ 1 のバーストです。 このローカ

ル・アドレスはハーフ・レート・モードによる以下のメモリ・アドレスにマップ

されます。

mem_row_address = 0×0000

mem_col_address = 0×0002<<2 = 0×0008

mem_bank_address = 0×00

2. ユーザー・ロジックは、 初のライトと同じアドレスに 初のリードを開始しま

す。 リードの要求は長さ 1 のバーストです。 コマンド・キューがフルになるまで、

コントローラはコマンドを受け入れ続けています。 コマンド・キューがフルにな

ると、コントロールは local_ready信号をデアサートします。 開始ローカル・ア

ドレス 0x000002はハーフ・レート・モードによる以下のメモリ・アドレスに

マップされます。

mem_row_address = 0×0000

mem_col_address = 0×0002<<2 = 0×0008

mem_bank_address = 0×00

3. ユーザー・ロジックは 1 のサイズと 0x000004のアドレスで 2 つ目の

local_write_req信号をアサートします。

4. ユーザー・ロジックは 1 のサイズと 0x000004のアドレスで 2 つ目の

local_read_req信号をアサートします。

5. コントローラは ALTMEMPHY メガファンクションに必要なメモリ・コマンドおよ

びアドレス信号を発行して、メモリ・デバイスに送信します。

6. コントローラは、有効なライト・データとライト・データ・マスクが

ALTMEMPHY メガファンクションへの入力に存在しているのを ALTMEMPHY メガ

ファンクションに示すために afi_wdata_valid信号をアサートします。

7. コントローラは、ALTMEMPHY メガファンクションがメモリに発行する DQS 信号

のタイミングを制御するために afi_dqs_burst信号をアサートします。

8. コントローラは ALTMEMPHY メガファンクションに 初のリード・メモリ・コマ

ンドおよびアドレス信号を発行して、メモリ・デバイスに送信します。

9. コントローラは 初のリードに対する予想する必要があるリード・データのク

ロック・サイクル数を ALTMEMPHY メガファンクションに知らせるために、

afi_doing_rd信号をアサートします。 ALTMEMPHYメガファンクションは予測され

るメモリ・バーストの持続時間に対して、afi_doing_rd信号を使用してキャプ

チャ・レジスタをイネーブルします。

10. ALTMEMPHY メガファンクションは、ライト・コマンドを発行し、そしてライト・

データおよびライト DQS をメモリに受信します。

11. ALTMEMPHY メガファンクションはメモリへの 初のリード・コマンドを発行し、

かつメモリからのリード・データをキャプチャします。

2011 年 6 月 Altera Corporation ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 130: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

8–16 第 8 章 : タイミング図DDR3 高性能コントローラ II

12. afi_rdataバス上に有効なリード・データが存在するとき、fi_rdata_valid 信号

をアサートすることによって、ALTMEMPHY メガファンクションは phy_clk ドメ

インにデータを再同期化させた後、 初のリード・データをコントローラに返し

ます。

13. local_rdataバス上に有効なリード・データが存在するとき、

local_rdata_valid信号をアサートすることによって、コントローラは 初の

リード・データをユーザーに返します。ECC ロジックはディセーブルされる場

合、 afi_rdataと local_rdataバス間の遅延がありません。コントローラで ECCロジックが存在する場合、afi_rdataおよび local_rdataバスの間に 1 または 3遅延のクロック・サイクルがあります。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation

Page 131: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

2011 年 6 月 Altera Corporation

追加情報

ここでは、ドキュメントおよびアルテラの追加情報について説明します。

改訂履歴以下の表に本項の改訂履歴を示します。

アルテラへのお問い合わせアルテラ製品に関する 新の情報については、次の表を参照してください。

Date 日付 バージョン 変更内容

2011 年 6 月 3.0

■ 高性能コントローラの情報を削除。

■ 高性能コントローラ II の情報を更新。

■ HardCopy III、HardCopy IV E、HardCopy IV GX、Stratix II、および Stratix IV のサポートを削除。

2010 年 12 月 2.1 10.1 を更新。

2010 年 7 月 2.0

■ 新しい GUI パラメータの情報を追加: Controller latency, Enable reduced bank tracking for area optimization、および Number of banks to track。

■ IP Advisor の情報を削除。 この機能は、バージョン 10.0 の DDR3 SDRAM IP のサポートから削除。

2010 年 2 月 1.3 誤字脱字修正。

2010 年 2 月 1.2

■ Stratix IV デバイスのフル・サポート。

■ Register Control Word パラメータの情報を追加。

■ mem_ac_parity、mem_err_out_n、および parity_error_n 信号の説明を追加。

■ 初期化のタイミング図および HPC のキャリブレーションの段階を追加。

2009 年 11 月 1.1 マイナー修正。

2009 年 11 月 1.0 初版。

お問い合わせ先 (1) お問い合わせ方法 アドレス

技術的なご質問 ウェブサイト www.altera.co.jp/support

技術トレーニングウェブサイト www.altera.co.jp/training

電子メール l [email protected]

アルテラの資料に関するお問い合わせ

ウェブサイト www.altera.co.jp/literature

一般的なお問い合わせ 電子メール l [email protected]

ソフトウェア・ライセンスに関するお問い合わせ

電子メール [email protected]

表の注:

(1) 詳しくは、日本アルテラまたは販売代理店にお問い合わせください。

ALTMEMPHY IP 付きのDDR3 SDRAMコントローラのユーザーガイド

Page 132: 外部メモリ・インタフェース・ハンドブック Vol 3 セクションII. … › content › dam › altera-www › ... · ミング・モデルで検証されていることを意味します。コアはデバイス・ファミリ

Info–2 第章 :表記規則

表記規則本書では、以下の表に示す表記規則を使用しています。

書体 意味

太字かつ文頭が大文字

コマンド名、ダイアログ・ボックス・タイトル、ダイアログ・ボックス・オプション、およびその他の GUI ラベルを表します。 例えば、Save As ダイアログ・ボックスです。 GUI エレメントの場合、大文字と小文字は、GUI にマッチします。

太字 bold type

ディレクトリ名、プロジェクト名、ディスク・ドライブ名、ファイル名、ファイルの拡張子、ソフトウェア・ユーティリティ、およびその他の GUIラベル名を表します。 例:\qdesigns ディレクトリ、D: ドライブ、およびchiptrip.gdf ファイル。

斜体かつ文頭が大文字 資料のタイトルを表します。 例えば、「Stratix IV Design Guidelines」です。

斜体

変数を表します。 例:n + 1。

変数名は、山括弧 (< >) で囲んでいます。 例えば、<file name> および<project name>.pof ファイルです。

文頭が大文字キーボード・キーおよびメニュー名を表します。 例えば、Delete キーおよび Options メニューです。

「小見出しタイトル」かぎ括弧は、資料内の小見出しおよび Quartus II Help トピックのタイトルを表します。 例えば、「表記規則」です。

Courier フォント

信号、ポート、レジスタ、ビット、ブロック、およびプリミティブ名を表します。 例えば、data1、tdi、および input です。アクティブ Low 信号は、サフィックス n で表示されています (例:resetn)。

コマンドライン・コマンド、および表示されているとおりに入力する必要があるものを表します。 例: c:\qdesigns\tutorial\chiptrip.gdf

また、Report ファイルのような実際のファイル、ファイルの構成要素(例:AHDL キーワードの SUBDESIGN)、ロジック・ファンクション名(例:TRI)も表します。

r 矢印は、Enter キーを押すよう指示しています。

1.、2.、3.、 およびa.、b.、c.、など

手順など項目の順序が重要なものは、番号が付けられリスト形式で表記されています。

■ ■ ■ 箇条書きの黒点などは、項目の順序が重要ではないものに付いています。 1 指差しマークは、要注意箇所を表しています。

h 疑問符は、関連情報を持つソフトウェア・ヘルプ・システムを案内しています。

f 足跡マークは、関連情報を持つ別の文書やウェブサイトを案内しています。

c 注意は、製品または作業中のデータに損傷を与えたり、破壊したりするおそれのある条件や状況に対して注意を促します。

w 警告は、ユーザーに危害を与えるおそれのある条件や状況に対して注意を促します。

エンベロープは、アルテラ・ウェブサイトの「メール配信サービス・センター」 ページへのリンクです。ここでは、アルテラの文書の更新通知を受け取るためにサインアップすることができます。

ALTMEMPHY IP 付きのDDR3 SDRAM コントローラのユーザーガイド © 2011 年 6 月 Altera Corporation