外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次...

116
101 Innovation Drive San Jose, CA 95134 www.altera.com EMI_DDR3UP_UG-1.1 セクション V. UniPHY と DDR2 および DDR3 SDRAM コントローラのユーザー・ガイド 外部メモリ・インタフェースのハンドブック Vol 3 Altera Complete Design Suite 采察沙崎策 : 彩紺肴坂策宰貢二∭貢妻察宰 10.1 3121 朮 23 蠻 Subscribe ???????????????????? Vol 3 ?????V. UniPHY?DDR2???DDR3 SDRAM???????????????

Transcript of 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次...

Page 1: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

EMI_DDR3UP_UG-1.1

セクション V. UniPHY と DDR2 および DDR3SDRAMコントローラのユーザー・ガイド

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

Altera Complete Design Suite バージョン :ドキュメントの初版のデート

10.12010 年 12 月

Subscribe

???????????????????? Vol 3 ?????V. UniPHY?DDR2???DDR3 SDRAM???????????????

Page 2: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

© 2010 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 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

目次

第 1章 . この IP についてリリース情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒1サポートされるデバイス・ファミリ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒2機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒3サポートされていない機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒4MegaCore 検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒4リソース使用率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒4システム条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1‒9

第 2 章 . 使用法インストールおよびライセンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒1デザイン・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒1MegaWizard Plug-In Manager フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒3パラメータの指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒3IP コアのシミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒5

SOPC Builder デザイン・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒5パラメータの指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒6SOPC Builder システムの終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒6システムのシミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒7

Qsys システム統合ツールのデザイン・フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒8パラメータの指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒8Qsys システムの終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒9システムのシミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒9

HardCopy マイグレーションのデザイン・ガイドライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒10HardCopy マイグレーションのサポートによる生成される UniPHY IP の差 . . . . . . . . . . . . . . . . . . 2‒11Nios II シーケンサによるデザイン用の ROM Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒11PLL/DLL ランタイム・リコンフィギュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒11

生成されるファイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒14MegaWizard Plug-in Manager フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒14論理合成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒14シミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒15デザイン例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒16

SOPC Builder フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒17Qsys フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒17シンセシス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒18Verilog HDL シミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒18VHDL シミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2‒19

第 3 章 . パラメータの設定PHY の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒1FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒1クロックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒1上級の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒1テストベンチ例のシミュレーションのオプション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒3

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 4: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

iv 目次

メモリ・パラメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒3メモリ初期化オプション̶DDR2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒4モード・レジスタ 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒4モード・レジスタ 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒4モード・レジスタ 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒5

メモリ初期化オプション̶DDR3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒5モード・レジスタ 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒5モード・レジスタ 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒5モード・レジスタ 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒5

メモリ・タイミング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒6ボードの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒6セットアップおよびホールド・ディレーティング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒7ISI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒8ボード・スキュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒8

コントローラ設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒9Avalon-MM インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒9低消費電力モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒10効率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒10コンフィギュレーション、ステータス、およびエラー処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒11高度な機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3‒12

第 4 章 . 制約およびコンパイルピンおよび DQ グループ・アサインメントの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4‒1デザインのコンパイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4‒1

第 5 章 . 機能の説明̶コントローラブロック説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒1Avalon-MM データ・スレーブ・インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒2ライト・データの FIFO バッファ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒3コマンド・キュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒3バンク管理ロジック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒3タイマー・ロジック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒3コマンド発行のステート・マシン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒4アドレスおよびコマンドのデコーディング・ロジック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒4ライトとリードのデータパス、およびライト・データのタイミング・ロジック . . . . . . . . . . . . . . 5‒4ODT 生成ロジック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒5DDR2 SDRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒5DDR3 SDRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒6

ユーザー制御による側波帯信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒7ユーザー・オートプリチャージ・コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒7ユーザー・リフレッシュ・コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒8マルチキャスト・ライト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒8低消費電力ロジック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒8

ECC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒8部分的ライト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒9部分的バースト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒11

トップ・レベル信号の説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒11レジスタ・マップの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5‒19

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 5: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

目次 v

第 6 章 . 機能の説明̶UniPHYブロック説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒1I/O パッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒2リセットおよびクロックの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒2アドレスおよびコマンド・データパス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒3ライト・データパス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒4レベリング回路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒4

リード・データパス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒5シーケンサ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒6SCC マネージャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒7RW マネージャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒7PHY マネージャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒8PLL マネージャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒8Nios II プロセッサ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒9

インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒10AFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒10メモリ・インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒10DLL および PLL 共有インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒10OCT 共有インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒11

UniPHY 信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒13PHY-to-Controller インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒19カスタム・コントローラの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒24ベンダ固有メモリ・モデルの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‒24

第 7 章 . 機能の説明̶トップ・レベルのプロジェクトの例サンプル・ドライバ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒2リードおよびライト生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒2個々のリードとライトの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒3ブロック・リードおよびライトの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒3

アドレスとバースト・レングスの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒3シーケンシャル・アドレッシング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒3ランダム・アドレッシング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒3シーケンシャルおよびランダムのインタリーブされた・アドレッシング . . . . . . . . . . . . . . . . . . 7‒3

ドライブ信号のサンプル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒3サンプル・ドライバのアドオン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒4ユーザー・リフレッシュ・ジェネレータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒4リフレッシュ・モニタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒4データ破壊機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7‒5

第 8 章 . レイテンシ変数コントローラ・レイテンシ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8‒2

第 9 章 . タイミング図

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 6: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

vi 目次

第 10章 . ALTMEMPHYベースのコントローラからUniPHYベースのコントローラへのアップグレードALTMEMPHY デザインによる DDR2 または DDR3 SDRAM 高性能コントローラ II をアップグレード . . 10‒1同等のデザインを生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10‒1ALTMEMPHY データ・パースを UniPHY データ・パースに置き換え . . . . . . . . . . . . . . . . . . . . . . . 10‒2ポート名の差を解決 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10‒2OCT 信号を作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10‒4ピン・アサインメント・スクリプトを実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10‒4廃止されたファイルを削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10‒4デザインのシミュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10‒4

ALTMEMPHY デザインによる DDR2 または DDR3 SDRAM 高性能コントローラをアップグレード . . . . 10‒5改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . インフォ ‒1アルテラへのお問い合わせ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . インフォ ‒1表記規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .インフォ ‒2

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 7: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

1. この IP について

UniPHY付きの Altera® DDR2および DDR3 SDRAMコントローラは、業界標準の DDR2および DDR3 SDRAMメモリーに、低レイテンシ、高性能、豊富な機能のコントローラ・インタフェースを提供します。 UniPHY付きの DDR2 SDRAMコントローラは、フル・レートおよびハーフ・レートの DDR2インタフェイスを提供しています。そして、UniPHY付きの DDR3 SDRAMコントローラは、ハーフ・レートの DDR3 SDRAM インタフェースを提供しています。

MegaWizard™インタフェイスで、サンプル・ドライバおよび DDR2または DDR3 SDRAMコントローラのカスタム・バリエーションより成るサンプルのトップ・レベル・プロジェクトが生成されます。コントローラは UniPHYのデータパスをインタフェースします。

ハードウェア上でシミュレーション、合成、および使用可能な完全に動作するデザインです。サンプル・ドライバは、セルフ・テスト・モジュールでコントローラにリードとライトのコマンドを発行し、リード・データをチェックして、パス /フェイルおよびテスト完了の信号を出力します。

UniPHYのデータパスはメモリ・コントローラおよびメモリ・デバイス間のインタフェースであり、メモリに対する読み出しおよび書き込み動作を実行します。

1 UniPHYベースのデザインによってサポートされていないデバイス・ファミリの場合は、アルテラの ALTMEMPHYベースの高性能 SDRAMコントローラ IPコアを使用してください。

UniPHYのデータパスが要件に達していない場合は、Quartus® IIソフトウェアでのALTDLL、ALTDQ_DQS、ALTDQ_DQS2、ALTDQまたは ALTDQSを使用してカスタマイズのメモリ・インタフェースのデータパスを作成することができますが、タイミングの分析およびデザイン制約を含むデザインのすべての面について自分の責任になります。

リリース情報表 1–1 は、UniPH付きの DDR2および DDR3 SDRAMコントローラのリリースに関する情報を示します。

表1‒1. リリース情報

項目 説明バージョン 10.1

リリース月 2010年 12月

製品コードIP-DDR2/UNI

IP-DDR3/UNI

ベンダ ID 6AF7

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 8: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

1‒2 第 1 章 : この IP についてサポートされるデバイス・ファミリ

アルテラは、Quartus IIソフトウェアの現行バージョンが、各 MegaCoreファンクションの前のバージョンをコンパイルできることを検証しています。MegaCore IP Library Release Notes and Errataでは、この検証に例外がある場合に報告します。アルテラは、1リリースより前の MegaCoreファンクション・バージョンのコンパイルは検証していません。

サポートされるデバイス・ファミリIPコアは、ターゲットのアルテラ・デバイス・ファミリにおけるサポート・レベルは次のようになります。

■ FPGAデバイスのサポートについて:

■ 暫定-このデバイス用の検証された予備的のタイミング・モデル

■ 最終-このデバイス用の検証された最終的のタイミング・モデル

■ ASICデバイス(HardCopyファミリ)

■ HardCopyコンパニオン- HardCopyのコンパニオン・デバイス用の検証された予備的のタイミング・モデル

■ HardCopyコンパイル- HardCopy用の検証された最終的のタイミング・モデル

表 1–2は、アルテラのデバイス・ファミリの様々な DDR2および DDR3 SDRAMコントローラによって提供されるサポートのレベルを示しています。

f 外部メモリ・インタフェースのための機能およびサポートされるクロック・レートについて詳しくは、「External Memory Interface Handbook Volume 1」の「External Memory Interface System Specifications」の章を参照してください。または、「External Memory Specifiation Estimator」を使用してください。

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

デバイス・ファミリ サポートArria II GZ 暫定HardCopy® III コンパニオンHardCopy IV コンパニオンStratix® III (DDR3用での Vcc = 1.1Vのみサポートされるデバイス・ファミリ ) 最終

Stratix IV 最終Stratix V 暫定その他のデバイス・ファミリ サポートなし

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 9: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

機能表 1–3に、UniPHY付きの DDR2および DDR3 SDRAMコントローラのキー機能のサポートを示します。

表1‒3. UniPHY 付きの DDR2 および DDR3 SDRAMコントローラのキー機能のサポート

主要機能 DDR2 SDRAM UniPHY

DDR3 SDRAM UniPHY

高性能コントローラ (HPC) — —

高性能コントローラ (HPC II) v vハーフ・レートのコア・ロジックおよびユーザー・インタフェース

v vフル・レートのコア・ロジックおよびユーザー・インタフェース

v —

UDIMMおよび RDIMMの任意のフォーム・ファクタ (1) v vシングル・ランク UDIMMまたは RDIMMレイアウトの中の複数のコンポーネント

v vHPC II(ハーフ・レート)でのバースト長 8 —

HPC II(フル・レートおよびハーフ・レート)でのバースト・レート

4 —

バースト長の 8およびバースト・チョップの 4(動作時)

— vHPC IIでのみコントローラ・レイテンシの減少 (2) (3) v vレベリング機能搭載 v(240 MHz以降 ) v(240 MHz以降 ) (4)

レベリング未搭載 v(240 MHz以下 ) —

最大のデータ幅 (5) 144ビット 144ビット表 1‒3の注 :(1) Arria II GXおよび Arria II GZデバイスでは、DIMMフォームはサポートされません。(2) コントローラ・レイテンシの減少を選択すると、最大クロック・レートを達成するために、完全デザインの Quartus IIソフトウェアのタイミング解析を使用する必要があります。

(3) Arria II GXデバイスでは使用できません。(4) DIMMとしてレイアウトされているボード上での最初と最後の DDR3 SDRAMコンポーネント間のレ

ベリング遅延は、0.69 tCK以下でなければなりません。(5) 72ビット以上のデータ幅のインタフェースでは、最大クロック・レートを達成するために、完全デザインの Quartus IIソフトウェアのタイミング解析を使用する必要があります。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 10: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

サポートされていない機能表 1–4 には、UniPHY付きの DDR2および DDR3 SDRAMコントローラでサポートされていない機能を示します。

MegaCore 検証アルテラでは、UniPHY付きの DDRおよび DDR2 SDRAMの機能を保証するために、業界標準のモデルを使用して、機能テストをカバーする徹底したランダムなダイレクト・テストを実施しました。アルテラの UniPHY付き DDR2及び DDR3コントローラは、改造された Denaliモデルを使用して、特定のアサート信号を無効にすることで検証されます。

リソース使用率この項では、サポートされているデバイス・ファミリ用の UniPHY付きの DDR2および DDR3コントローラのリソース使用率が記載されています。

表 1–5 に、Arria II GZデバイス用の Quartus IIソフトウェアのバージョン 10.1でUniPHY付きの DDR2および DDR3コントローラの標準的なサイズを示します。

表1‒4. UniPHY 付きの DDR2 および DDR3 SDRAMコントローラでサポートされていない機能

メモリ・プロトコル サポートされていない機能

DDR2 SDRAM

高性能コントローラ (HPC)

タイミング・シミュレーションArria II GXサポートCyclone IIIサポートCyclone IVサポート

DDR3 SDRAM

高性能コントローラ (HPC)

タイミング・シミュレーションタイミング・シミュレーション任意のフォーム・ファクタの Arria II GZ DIMMStratix III (Vcc = 0.9V)

Arria II GXサポートCyclone IIIサポートCyclone IVサポート

表1‒5. Arria II GZ デバイスでのリソース使用率 ( その1 )

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

組み合わせALUTS

ロジック・レジスタ

Mem ALUT

M9Kブロック

M144Kブロック

メモリ幅(ビット)

コントローラ

DDR2(ハーフ・レート)

8 955 687 32 1 0 8,192

16 959 707 64 2 0 16,384

64 949 687 32 8 0 72,704

72 941 653 0 9 0 82,944

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 11: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 1 章 : この IP について 1‒5リソース使用率

DDR2(フル・レート)

8 963 663 16 1 0 4,096

16 964 673 32 1 0 8,192

64 957 639 0 5 0 36,864

72 953 639 0 5 0 41,472

DDR3(ハーフ・レート)

8 1,215 801 32 1 0 8,192

16 1,219 821 64 2 0 16,384

64 1,215 801 32 8 0 72,704

72 1,201 767 0 9 0 82,944

PHY

DDR2(ハーフ・レート)

8 2,265 1,872 0 24 0 173,056

16 2,438 2,139 0 24 0 173,056

64 3,360 3,741 0 24 0 173,056

72 3,517 4,008 0 24 0 173,056

DDR2(フル・レート)

8 2,250 1,840 0 24 0 173,056

16 2,411 2,090 0 24 0 173,056

64 3,311 3,590 0 24 0 173,056

72 3,450 3,840 0 24 0 173,056

DDR3(ハーフ・レート)

8 2,278 1,885 0 24 0 173,056

16 2,449 2,152 0 24 0 173,056

64 3,367 3,754 0 24 0 173,056

72 3,527 4,021 0 24 0 173,056

合計

DDR2 (ハーフ・レート)

8 3,220 2,559 32 25 0 181,248

16 3,397 2,846 64 26 0 189,440

64 4,309 4,428 32 32 0 245,760

72 4,458 4,661 0 33 0 256,000

DDR2(フル・レート)

8 3,213 2,503 16 25 0 177,152

16 3,375 2,763 32 25 0 181,248

64 4,268 4,229 0 29 0 209,920

72 4,403 4,479 0 29 0 214,528

DDR3(ハーフ・レート)

8 3,493 2,686 32 25 0 181,248

16 3,668 2,973 64 26 0 189,440

64 4,582 4,555 32 32 0 245,760

72 4,728 4,788 0 33 0 256,000

表1‒5. Arria II GZ デバイスでのリソース使用率 ( その2 )

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

組み合わせALUTS

ロジック・レジスタ

Mem ALUT

M9Kブロック

M144Kブロック

メモリ幅(ビット)

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 12: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

1‒6 第 1 章 : この IP についてリソース使用率

表 1–6 に、Stratix IIIデバイス用の Quartus IIソフトウェアのバージョン 10.1で UniPHY付きの DDR2および DDR3コントローラの標準的なサイズを示します。

表1‒6. Stratix III デバイスでのリソース使用率 ( その1 )

プロトコルメモリ幅

(ビット)

組み合わせALUTS

ロジック・レジスタ

Mem ALUT

M9Kブロック

M144Kブロック

メモリ幅(ビット)

コントローラ

DDR2(ハーフ・レート)

8 942 656 0 2 0 9,216

16 940 656 0 3 0 18,432

64 941 656 0 9 0 73,728

72 934 656 0 9 0 82,944

DDR2(フル・レート)

8 961 641 0 2 0 4,608

16 963 641 0 2 0 9,216

64 961 641 0 5 0 36,864

72 961 641 0 5 0 41,472

DDR3(ハーフ・レート)

8 1,212 768 0 2 0 9,216

16 1,211 768 0 3 0 18,432

64 1,208 768 0 9 0 73,728

72 1,211 768 0 9 0 82,944

PHY

DDR2(ハーフ・レート)

8 2,270 1,870 0 8 1 173,056

16 2,425 2,137 0 8 1 173,056

64 3,351 3,739 0 8 1 173,056

72 3,515 4,006 0 8 1 173,056

DDR2(フル・レート)

8 2,245 1,840 0 8 1 173,056

16 2,403 2,090 0 8 1 173,056

64 3,308 3,590 0 8 1 173,056

72 3,448 3,841 0 8 1 173,056

DDR3(ハーフ・レート)

8 2,281 1,885 0 8 1 173,056

16 2,449 2,152 0 8 1 173,056

64 3,367 3,754 0 8 1 173,056

72 3,521 4,021 0 8 1 173,056

T 合計

DDR2 (ハーフ・レート)

8 3,212 2,526 0 10 1 182,272

16 3,365 2,793 0 11 1 191,488

64 4,292 4,395 0 17 1 246,784

72 4,449 4,662 0 17 1 256,000

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 13: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 1 章 : この IP について 1‒7リソース使用率

表 1–7に、Stratix IVデバイス用の Quartus IIソフトウェアのバージョン 10.1でUniPHY付きの DDR2および DDR3コントローラの標準的なサイズを示します。

DDR2(フル・レート)

8 3,206 2,481 0 10 1 177,664

16 3,366 2,731 0 10 1 182,272

64 4,269 4,231 0 13 1 209,920

72 4,409 4,482 0 13 1 214,528

DDR3(ハーフ・レート)

8 3,493 2,653 0 10 1 182,272

16 3,660 2,920 0 11 1 191,488

64 4,575 4,522 0 17 1 246,784

72 4,732 4,789 0 17 1 256,000

表1‒7. Stratix IV デバイスでのリソース使用率 ( その1 )

プロトコルメモリ幅

(ビット)

組み合わせALUTS

ロジック・レジスタ

Mem ALUT

M9Kブロック

M144Kブロック

メモリ幅(ビット)

コントローラ

DDR2(ハーフ・レート)

8 951 689 32 1 0 8,192

16 952 709 64 2 0 16,384

64 947 689 32 8 0 72,704

72 934 655 0 9 0 82,944

DDR2(フル・レート)

8 965 664 16 1 0 4,096

16 969 674 32 1 0 8,192

64 955 640 0 5 0 36,864

72 956 640 0 5 0 41,472

DDR3(ハーフ・レート)

8 1,206 802 32 1 0 8,192

16 1,212 822 64 2 0 16,384

64 1,200 802 32 8 0 72,704

72 1,195 768 0 9 0 82,944

PHY

DDR2(ハーフ・レート)

8 2,269 1,870 0 8 1 173,056

16 2,427 2,137 0 8 1 173,056

64 3,352 3,739 0 8 1 173,056

72 3,513 4,006 0 8 1 173,056

DDR2(フル・レート)

8 2,243 1,840 0 8 1 173,056

16 2,407 2,090 0 8 1 173,056

64 3,307 3,590 0 8 1 173,056

72 3,448 3,840 0 8 1 173,056

表1‒6. Stratix III デバイスでのリソース使用率 ( その2 )

プロトコルメモリ幅

(ビット)

組み合わせALUTS

ロジック・レジスタ

Mem ALUT

M9Kブロック

M144Kブロック

メモリ幅(ビット)

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 14: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

1‒8 第 1 章 : この IP についてリソース使用率

表 1–8 に、Stratix IVデバイス用の Quartus IIソフトウェアのバージョン 10.1で UniPHY付きの DDR2および DDR3コントローラの標準的なサイズを示します。

DDR3(ハーフ・レート)

8 2,276 1,885 0 8 1 173,056

16 2,448 2,152 0 8 1 173,056

64 3,382 3,754 0 8 1 173,056

72 3,527 4,021 0 8 1 173,056

合計

DDR2(ハーフ・レート)

8 3,220 2,559 32 9 1 181,248

16 3,379 2,846 64 10 1 189,440

64 4,299 4,428 32 16 1 245,760

72 4,447 4,661 0 17 1 256,000

DDR2(フル・レート)

8 3,208 2,504 16 9 1 177,152

16 3,376 2,764 32 9 1 181,248

64 4,262 4,230 0 13 1 209,920

72 4,404 4,480 0 13 1 214,528

DDR3(ハーフ・レート)

8 3,482 2,687 32 9 1 181,248

16 3,660 2,974 64 10 1 189,440

64 4,582 4,556 32 16 1 245,760

72 4,722 4,789 0 17 1 256,000

表1‒8. Stratix V デバイスでのリソース使用率 ( その1 )

プロトコル

メモリ幅(ビット)

組み合わせLCs

ロジック・レジスタ

M20Kブロック

メモリ・ビット

コントローラ

DDR2(ハーフ・レート)

8 941 667 1 8,192

16 948 671 2 16,384

64 936 655 8 73,728

72 941 671 8 80,896

DDR2(フル・レート)

8 959 651 1 4,096

16 958 653 1 8,192

64 962 657 4 34,816

72 953 641 5 41,472

DDR3(ハーフ・レート)

8 1,209 780 1 8,192

16 1,212 784 2 16,384

64 1,200 768 8 73,728

72 1,205 784 8 80,896

表1‒7. Stratix IV デバイスでのリソース使用率 ( その2 )

プロトコルメモリ幅

(ビット)

組み合わせALUTS

ロジック・レジスタ

Mem ALUT

M9Kブロック

M144Kブロック

メモリ幅(ビット)

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 15: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 1 章 : この IP について 1‒9システム条件

システム条件UniPHY付きの DDR2および DDR3コントローラは、MegaCore IPライブラリの一部であり、Quartus IIソフトウェアとともに配布されます。

f システム要件とインストール手順については、「アルテラ・ソフトウェアのインストールおよびライセンス」を参照してください。

PHY

DDR2(ハーフ・レート)

8 2,215 1,691 14 173,056

16 2,322 1,783 14 173,056

64 2,949 2,335 14 173,056

72 3,055 2,427 14 173,056

DDR2(フル・レート)

8 2,181 1,685 14 173,056

16 2,280 1,785 14 173,056

64 2,804 2,385 14 173,056

72 2,883 2,485 14 173,056

DDR3(ハーフ・レート)

8 2,226 1,706 14 173,056

16 2,345 1,798 14 173,056

64 2,973 2,350 14 173,056

72 3,076 2,442 14 173,056

合計

DDR2(ハーフ・レート)

8 3,156 2,358 15 181,248

16 3,270 2,454 16 189,440

64 3,885 2,990 22 246,784

72 3,996 3,098 22 253,952

DDR2(フル・レート)

8 3,140 2,336 15 177,152

16 3,238 2,438 15 181,248

64 3,766 3,042 18 207,872

72 3,836 3,126 19 214,528

DDR3(ハーフ・レート)

8 3,435 2,486 15 181,248

16 3,557 2,582 16 189,440

64 4,173 3,118 22 246,784

72 4,281 3,226 22 253,952

表1‒8. Stratix V デバイスでのリソース使用率 ( その2 )

プロトコル

メモリ幅(ビット)

組み合わせLCs

ロジック・レジスタ

M20Kブロック

メモリ・ビット

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 16: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

1‒10 第 1 章 : この IP についてシステム条件

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 17: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

2. 使用法

この章では、アルテラの IPコアを使いやすくするために、アルテラの IPコアのデザイン・フローの概要を提供しています。アルテラの IPライブラリは、Quartus IIのインストール・プロセスの一部としてインストールされます。ライブラリからどのようなアルテラのコアでも選択可能でパラメータ化することができます。アルテラでは、多種多様なアプリケーションをサポートして、IPコアをカスタマイズできる統合パラメータのエディタを提供します。パラメータ値およびオプションのポートの選択の設定により、パラメータのエディタを案内します。以下のセクションでは、一般的なデザイン・フローおよびアルテラの IPコアの使用について説明します。

インストールおよびライセンスアルテラの IPライブラリは、Quartus IIソフトウェアとともに配布されます。また、アルテラのウェブサイト(www.altera.co.jp)からダウンロードすることもできます。

図 2–1に、アルテラの IPコアをインストールした後のディレクトリ構造を示します。この場合、<path>がインストール・ディレクトリです。Windowsでのデフォルトのインストール・ディレクトリは、C:\altera\<version number>です。Linuxでは、/opt/altera<version number>です。

機能および性能に満足するまで、シミュレーションとハードウェアにおいて IPコアを評価できます。一部の IPコアが、デザインを生産にデザインをしたいときには、IPコアのライセンスを購入する必要があります。アルテラの IPコアのライセンス購入後、アルテラ・ライセンスのページでライセンス・ファイルを要求して、お使いのコンピュータにインストールできます。詳しくは、「アルテラ・ソフトウェア :インストールおよびライセンス」を参照してください。

デザイン・フローアルテラの IPコアをパラメータ化するには、次のフローを使用することができます。

■ MegaWizard Plug-In Managerフロー

図2‒1. IP コアのディレクトリ構造

libContains encrypted lower-level design files.

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

<path>Installation directory.

alteraContains the Altera MegaCore IP Library.

commonContains shared components.uniphyContains the UniPHY files.

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 18: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2‒2 第 2章 : 使用法デザイン・フロー

■ SOPC Builderフロー

■ Qsysフロー

c アルテラの Qsys内のシステム統合ツールは、Quartus IIソフトウェアのサブスクリプション・エディションのバージョン 10.1での評価にベータ版として提供されます。アルテラは、完成に近づいているデザイン要件を満たしているデザインの Quartus IIソフトウェアのバージョン 10.1で Qsys内のベータ・リリースを使用することを推奨していません。 Qsysを使用する前に、既知の問題と制限事項のための「Quartus IIソフトウェアのバージョン10.1のリリース・ノート」および「アルテラの PLDのよるマルチ・プロトコル・ラベル・スイッチングの実現方法」を確認してください。Qsysのベータ・リリースで一般的なフィードバックやテクニカル・サポートを提出するには、mysupport.altera.co.jpを介してサービス要求を提出してください。また、Quartus IIソフトウェアの「ヘルプ」メニューの「フィードバック」をクリックして、一般的なフィードバックを提出してください。

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

■ IPコア・バリアントをパラメータ化して、既存のデザインにインスタンス化可能

■ 一部の IPコアでは、このフローは完全なデザイン例とテストベンチが生成可能

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

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

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 19: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 2 章 : 使用法 2‒3MegaWizard Plug-In Manager フロー

■ シミュレーション環境が生成可能

■ アルテラ提供のカスタム・コンポーネントを組み込むことが可能

■ Avalon® Memory-Mapped(Avalon-MM)インタフェースを使用することが可能

SOPC Builderと比較した時 Qsysフローは、以下の利点を提供します。

■ 階層デザインの視覚化を提供

■ 提供エレメントおよびパイプラインのインタコネクトにより、性能を向上

■ Quartus IIソフトウェアとの緊密インテグレーションを提供

MegaWizard Plug-In Manager フローMegaWizard Plug-In Managerフローでは、 IPコアをカスタマイズし、ファンクションを手動でデザインに組み込むことができます。

パラメータの指定MegaWizard Plug-in Managerフローを使用して、IPコアのパラメータを指定するには、以下のステップに従います。

1. Fileメニューの New Project Wizardを使用して、新規の Quartus IIプロジェクトを作成します。

2. Quartus IIソフトウェアで、Toolsメニューから MegaWizard Plug-in Managerを起動し、MegaWizard Plug-In Managerインタフェースのプロンプトに従ってカスタム・メガファンクション・バリエーションを作成します。

3. 特定のアルテラの IPコアを選択するには、MegaWizard Plug-In Managerの Installed Plug-Insリストで IPコアをクリックします。

4. Parameter Settingsのページでパラメータを指定します。パラメータについて詳しくは、本資料の「パラメータ設定」の章を参照してください。

1 いくつかの IPコアは、特定のアプリケーション用のプリセットのパラメータを提供しています。プリセットのパラメータを使用する場合、矢印をクリックして Presetsのリストを展開します。そして、希望のプリセットを選択し、「Apply」をクリックします。プリセットの設定を変更するには、テキスト・エディタでの <installation directory>\ip\altera\uniphy\lib\<IP core>.qprsファイルを編集します。

5. IPコアは、シミュレーション・モデルを提供している場合は、シミュレーション・モデルを生成するためのウィザードで、適切なオプションを指定します。

1 アルテラの IPは特定の IP用の機能シミュレーション・モデル、暗号化された RTLモデル、プレイン・テキストの RTLモデルなど、様々なシミュレーション・モデルを対応しています。すべては正確のサイクルのモデルです。これらのモデルは、業界標準の VHDLまたは Verilog HDLのシミュレータを使用して、IPコアのインスタンスの高速の機能シミュレーションの実行は可能になります。いくつかのコアは、プレイン・テキストの RTLモデルしか生成できないので、このファイルのシミュレーションも問題なく実行することが可能です。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 20: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2‒4 第 2章 : 使用法MegaWizard Plug-In Manager フロー

f アルテラの IPコアのシミュレーション・モデルについて詳しくは、「Quartus IIハンドブック Volume 3」の「アルテラのデザインのシミュレーション」の章を参照してください。

c これらのシミュレーション・モデルは、シミュレーションの目的にのみ使用し、合成やその他の目的には使用しないでください。これらのモデルを合成に使用すると、機能しないデザインが作成されます。

6. パラメータ・エディタは、EDAと Summaryタブが含まれている場合は、次の手順に従ってください。

a. 一部サードパーティ合成ツールでは、詳細なロジックは含まず IPコアの構造のみを含むネットリストを使用して、IPコアを含むデザインの性能を最適化することができます。合成ツールおよび IPコアがこの機能をサポートしている場合は、Generate netlistをオンにします。

b. 使用可能な場合、Summaryタブで、生成するファイルを選択します。グレイのチェックマークは、自動的に生成されるファイルを示します。その他のファイルはすべてオプションです。

1 ファイルの選択は、IPコアのサポートされている場合は、コアを生成した後に、生成レポート (<variation name>.html)がプロジェクト・ディレクトリに表示されます。このファイルには、生成されたファイルに関する情報が含まれています。

7.「Finish」ボタンをクリックして、パラメータ・エディタには、IPコアのトップ・レベルの HDLコード、およびシミュレーションのためのファイルを含むシミュレーション・ディレクトリが生成されます。

1 メッセージ・ウィンドウに記載されたすべてのパラメータのエラーが修正されるまで「Finish」ボタンが使用できないことがあります。

8. .qipファイルを現行 Quartus IIプロジェクトに追加するよう促される場合、「Yes」をクリックします。または、「Automatically add Quartus II IP Files to all projects」をオンにすることもできます。

これにより、カスタム IPコアのインスタンスをデザインに組み込み、シミュレーション及びコンパイルすることができます。デザインに IPコアのインスタンスを組み込む時に、適切のピン・アサインメントを指定する必要があります。デザインはハードウェアに適用できない場合は、シミュレーションをする時に、トップ・レベルの信号を特定のピンとして指定しないように、仮想ピンとして指定することができます。

いくつかの IPコアを生成するプロセスでは、完璧のデザイン例として使用できます。ハードウェアにテストするためのデザイン例は:

<variation_name>_example_design_fileset/example_project/

のディレクトリにあります。

1 Quartus IIソフトウェア、仮想ピンおよび MegaWizard Plug-In Managerについて詳しくは、「Quartus II Help」を参照してください。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 21: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 2 章 : 使用法 2‒5SOPC Builder デザイン・フロー

IP コアのシミュレーションIPコアで生成された機能シミュレーション・モデルとテストベンチ、またはデザイン例を使用して、IPコアのバリエーションをシミュレーションできます。機能シミュレーション・モデルおよびテストベンチ・ファイルは、プロジェクト・サブ・ディレクトリに生成されます。このディレクトリには、コンパイルし、テストベンチを実行するスクリプトを含めることができます。

IPコアのシミュレーションに必要なモデルまたはライブラリの全リストについて詳しくは、テストベンチで提供されるスクリプトを参照してください。

アルテラの IPコアのシミュレーションについて詳しくは、「Quartus IIハンドブックVolume 3」の「アルテラ・デザインのシミュレーション」の章を参照してください。

SOPC Builder デザイン・フローSOPC Builderは、カスタマイズされた IPコアを含むシステムを構築するために使用することができます。他のコンポーネントを簡単に追加し、すぐに SOPC Builderシステムを作成できます。SOPC Builderは、自動的に指定されたコンポーネントおよびインタコネクトのすべてを含む HDLファイルを生成します。SOPC Builderは、変更可能なデフォルトの接続を定義しています。HDLファイルは、アルテラのデバイスをプログラムするための出力ファイルを生成するために、Quartus IIソフトウェアでコンパイルすることができます。 SOPC Builderは、HDLファイルを確認するための基本的なトランザクションを含むサポートされているコア用のシミュレーション・テストベンチ・モジュールを生成します。図 2–3には、SOPC Builderシステムの例のブロック図を示します。

図2‒3. SOPC Builder システム

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 22: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2‒6 第 2章 : 使用法SOPC Builder デザイン・フロー

f システム・インタコネクト・ファブリックについて詳しくは、「SOPC Builderユーザーガイド」の「メモリ・マップド・インタフェース用システム・インタコネクト・ファブリック」の章および「ストリーミング・インタフェース用システム・インタコネクト・ファブリック」の章と、「Avalonインタフェース仕様」を参照してください。

f SOPC BuilderおよびQuartusIIソフトウェアについて詳しくは、「SOPC Builderユーザーガイド」の「SOPC Builderの機能」および「SOPC Builderシステムの構築」の項、または「Quartus II Help」を参照してください。

パラメータの指定SOPC Builderフローを使用してパラメータを指定するには、以下のステップに従います。

1. Fileメニューの New Project Wizardを使用して、新規の Quartus IIプロジェクトを作成します。

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

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

4. System Contentsタブで、IPコアの名前をダブル・クリックしてお使いのシステムに追加します。関連するパラメータ・エディタが表示されます。

5. パラメータ・エディタで必要なパラメータを指定します。これらのパラメータの詳細な説明は、本章の「パラメータ設」の項を参照してください。

1 いくつかの IPコアは、特定のアプリケーション用のプリセットのパラメータを提供しています。プリセットのパラメータを使用する場合は、Presetsリストの矢印をクリックします。そして、希望のプリセットを選択して、Applyをクリックします。プリセット設定を変更するには、テキスト・エディタでの <installation directory>\ip\altera\uniphy\lib\<IP core>.qprsファイルを編集します。

1 デザインに外部メモリ・インタフェースの IPコアが含まれる場合は、それらのコアのパラメータを設定するときに PHY Settingsタブで Generate power of two bus widthsをオンにする必要があります。

6. Finishをクリックして、IPコアのインスタンスを完了し、システムに追加します。

1 メッセージウィンドウに記載されたすべてのパラメータのエラーが修正されるまで、Finishボタンが使用できない場合があります。

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

1. 追加コンポーネントを追加して、パラメータを設定します。いくつかの IPコアは、完全な SOPC Builderシステム・デザインの例が含まれています。

2. コンポーネントに接続するには、System Contentsタブの接続パネルを使用します。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 23: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 2 章 : 使用法 2‒7SOPC Builder デザイン・フロー

3. System Contentsタブで Module Nameカラムのクロック名および Clockカラムのクロックを表示するには、Filtersをクリックして Filtersダイアログ・ボックスを表示します。Filterリストで、Allをクリックします。

4. SOPC Builderシステムをシミュレーションする場合、System GenerationタブでSimulationをオンにして、システムのシミュレーション・ファイルを生成します。

5. Generateをクリックして、システムを生成します。SOPCビルダーはシステムを生成し、Quartus II コンパイラの IPコアまたはシステムを処理するために必要な割り当てと情報を含んでいる <system name>.qipファイルを作り出します。

6. Quartus IIソフトウェアで Add/Remove Files in Projectをクリックし、.qipファイルをプロジェクトに追加します。

7. Quartus IIソフトウェアでデザインをコンパイルします。

システムのシミュレーションSOPC Builderは、システムの生成時にシステム全体のシミュレーション・モデルおよびテストベンチを生成します。これらを使用して、アルテラがサポートしている任意のシミュレーション・ツールでシステムを簡単にシミュレーションすることができます。SOPC Builderはまた、ModelSim® Tclスクリプトとマクロの一式を生成することもできるので、これらを使用して、テストベンチおよび ModelSimシミュレーション・ソフトウェア内のシステムを記述するプレーン・テキスト RTLデザイン・ファイルをコンパイルできます。

f 最新のアルテラがサポートするシミュレーション・ツールについて詳しくは、「Quartus IIソフトウェアのリリース・ノート」を参照してください。

f SOPC Builderシステムのシミュレーションについて詳しくは、「SOPC Builderユーザーガイド」および「AN 351: Nios IIシステムのシミュレーション」を参照してください。

f アルテラの IPコアのシミュレーションについて詳しくは、「 Quartus IIハンドブックVolume 3」の「アルテラのデザインのシミュレーション」を参照してください。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 24: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2‒8 第 2章 : 使用法Qsys システム統合ツールのデザイン・フロー

Qsys システム統合ツールのデザイン・フローカスタマイズされた IPコアを含むシステムを構築するために Qsysシステム統合ツールを使用することができます。他のコンポーネントを簡単に追加したり、迅速にQsysシステムを作成できます。Qsysは、自動的に指定されたコンポーネントおよび相互接続がすべて含まれている HDLファイルを生成します。 Qsysには、必要な接続を指定します。 HDLファイルは、アルテラ・デバイスをプログラムするための出力ファイルを生成するために、Quartus IIソフトウェアでコンパイルする準備ができています。Qsysは、システムを構成する IPコアの Verilog HDLシミュレーション・モデルを生成します。図 2–4には、Qsysシステムの高レベルのブロック図の例を示します。

f Qsysのシステム・インタコネクトについて詳しくは、「Quartus IIハンドブック Volume 1」の「Qsysインタコネクト」の章および「Avalonインタフェース仕様」を参照してください。

f Qsysのツールおよび Quartus IIソフトウェアについて詳しくは、「Quartus IIハンドブック Volume 1」の「Qsysによるシステム・デザイン」のセクションおよび「Quartus IIヘルプ」を参照してください。

パラメータの指定Qsysフローを使用して、 IPコアのパラメータを指定するには、以下のステップに従います。

1. Fileメニューの New Project Wizardを使用して、新規の Quartus IIプロジェクトを作成します。

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

3. System Contentsタブで、IPコアの名前をダブル・クリックしてお使いのシステムに追加します。関連パラメータ・エディタが表示されます。

図2‒4. Qsys システムの例

libContains encrypted lower-level design files.

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

<path>Installation directory.

alteraContains the Altera MegaCore IP Library.

commonContains shared components.uniphyContains the UniPHY files.

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 25: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 2 章 : 使用法 2‒9Qsys システム統合ツールのデザイン・フロー

4. Qsysツールですべてのタブで必要なパラメータを指定します。これらのパラメータの詳細な説明については、本資料の「パラメータ設定」の章を参照してください。

1 デザインは、外部メモリ・インタフェースの IPコアが含まれる場合は、それらのコアをパラメータ化する時に、PHY Settingsタブで Generate power of two bus widthsをオンにする必要があります。

1 いくつかの IPコアは、特定のアプリケーション用のプリセットのパラメータを提供しています。プリセットのパラメータを使用する場合は、矢印をクリックして、Presetsリストを展開します。そして、プリセットを選択し、Applyをクリックします。プリセットの設定を変更するには、テキストエディタでの <installation directory>\ip\altera\uniphy\lib\<IP core>.qprsファイルを編集します。

5. Finishをクリックして、IPコアのインスタンスを完了し、システムに追加します。

1 メッセージ・ウィンドウにすべてのパラメータのエラーが修正されるまで、Finishボタンが使用できないことがあります。

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

1. 追加コンポーネントを追加して、パラメータを設定します。

2. System Contentsタブの Connectionパネルでコンポーネントの接続を行います。

3. Export Asカラムで、トップ・レベル Qsysシステム・ポートの接続名を入力します。Export Asカラムが存在しない場合は Project Settingsタブをクリックし、Use SOPC Builder port namingをオフにします。

4. Qsysシステムをシミュレーションする場合、Generationタブで Simulationでのオプション(一つまたは複数のオプション)をオンにして、希望するシミュレーション・ファイルを生成します。

5. 使用するシステムが Quartus IIプロジェクトの一部ではない場合は、シンセシスRTLファイルを生成するために Create synthesis RTL filesをオンにします。

6. Generate をクリックして、システムを再生成します。Qsysには、システムが生成され、Quartus IIコンパイラの IPコアまたはシステムを処理するために必要なアサインメントおよび情報を含んでいる <system name>.qipファイルを生成します。

7. Quartus IIソフトウェアで Add/Remove Files in Projectをクリックし、.qipファイルをプロジェクトに追加します。

8. Quartus IIソフトウェアでデザインをコンパイルします。

システムのシミュレーションQsysは、システムの生成時に機能シミュレーション・モデル(またはテストベンチが含まれている例デザイン)を生成します。これらを使用して、アルテラがサポートしている任意のシミュレーション・ツールでシステムをシミュレーションすることができます。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 26: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2‒10 第 2章 : 使用法HardCopy マイグレーションのデザイン・ガイドライン

f 最新のアルテラがサポートするシミュレーション・ツールについて詳しくは、「Quartus IIソフトウェアのリリース・ノート」を参照してください。

f アルテラの IPコアのシミュレーションについて詳しくは、「 Quartus IIハンドブックVolume 3」の「アルテラのデザインのシミュレーション」を参照してください。

f Qsysシステムのシミュレーションについて詳しくは、「 Quartus IIハンドブック Volume 1」の「Qsysによるシステム・デザイン」のセクションを参照してください。

HardCopy マイグレーションのデザイン・ガイドラインHardCopy®デバイスにデザインをターゲットとする場合は、以下のガイドラインに従います。

■ DDR2 SDRAM Controller with UniPHYまたは DDR3 SDRAM Controller with UniPHY MegaWizardの General Settingsページで、HardCopy Compatibility Modeをオフにして、Reconfigurable PLL Locationが Top_Bottomまたは Left_Rightのいずれかを指定します。

1 アルテラは、メモリ・インタフェースと同じ側に Reconfigurable PLL Locationを設定することを推奨します。

オンにすると、HardCopy Compatibility Modeオプションは、PLL(Phase-Locked Loop)と DLL(Delay-Locked Loop)のマスタに設定されているメモリインタフェースのインスタンス内のすべての PLLや DLLのランタイム・リコンフィギュレーションを可能にします。これは、デザインのトップ・レベルに必要なリコンフィギュレーション・シグナルを導入します。

■ PLLおよびDLLスレーブでコンフィギュレーションされるインタフェースにおいてインスタンス化されたすべての PLLおよび DLLのためのランタイム・リコンフィギュレーション・モードをイネーブルしてください。

f PLLメガファンクションについて詳しくは、「Phase-Locked Loop (ALTPLL) メガファンクション・ユーザーガイド」および「Phase-LockedLoops Reconfiguration (ALTPLL_RECONFIG) メガファンクション・ユーザーガイド」を参照してください。DLLメガファンクションについて詳しくは、「ALTDLLおよび ALTDQ_DQSメガファンクション・ユーザーガイド」を参照してください。

■ すべてのメモリ・インタフェースピンを互いに近接させて配置することを確認してください。例えば、アドレス・ピンがデータ・ピンに遠く配置される場合、タイミング・クロージャが複雑になってしまいます。

デザインの必要なシグナルを接続するために、ガイドとして HardCopy Migrationをオンにする時に生成されるトップ・レベル・プロジェクトを使用することができます。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 27: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 2 章 : 使用法 2‒11HardCopy マイグレーションのデザイン・ガイドライン

HardCopy マイグレーションのサポートによる生成される UniPHY IP の差

HardCopyデバイスのサポート用の UniPHYメモリ・インタフェースを生成するときに、FPGA用のみの IPコアを生成するときに存在しない IPの特定の機能がイネーブルされます。このセクションでは、これらの追加のイネーブルされた機能について説明します。

Nios II シーケンサによるデザイン用の ROM Loader追加の ROMローダは、Nios IIシーケンサを使用して UniPHYデザインでインスタンス化されます。 Nios IIシーケンサの命令コードのいずれかの HardCopyまたは FPGAデバイス上の RAMにあります。

一つの FPGAデバイスだけをターゲットとするときには、RAMは、デバイスがプログラムされているときに初期化されます。しかし、HardCopyデバイスがプログラムされていないため、RAMがこの方法で初期化することはできません。代わりに、Nios IIシーケンサ命令コードは、外部、非揮発性、ROMローダを通して Nios IIシーケンサ RAMをロードする ROMに格納する必要があります。ROMローダを、外部の不揮発性の ROMに接続している適切なピンに取り付けなければなりません。

表 2–1は、DDR2または DDR3 PHY内の Nios IIベース・シーケンサによって利用される ROMローダを公開するために PHY+Controllerラッパーのトップ・レベルで公開されるポートを要約します。

PLL/DLL ランタイム・リコンフィギュレーションHardCopyデザインの PLLと DLLは、ランタイムのリコンフィギュレーションされています(PLL/ DLLのスレーブ・モードにはないの場合)。

表2‒1. Nios II コード・メモリをロードするための外部 ROMに接続するトップ・レベルのポート Memory

ポート名 入力 / 出力 説明

hc_rom_config_clock 入力ROMロード用のライト・クロック。このクロックは、Nios IIコード・メモリのライト・クロックです。

hc_rom_config_datain 入力 外部 ROM.からのデータ入力。

hc_rom_config_rom_data_ready 入力 メモリのワードをロードするコード・メモリ・ローダにアサートされます。

hc_rom_config_init 入力 Nios IIコードメモリが外部 ROMからロードされることの信号を示します。

hc_rom_config_init_busy 出力

初期化のときにアサートされたままとになり、初期化が完了したときに非アクティブになります。 hc_rom_config_init_busyがデアサートされた後 soft_reset_nを発行することができます。

hc_rom_config_rom_rden 出力 外部 ROMに接続するリード・イネーブル信号です。

hc_rom_config_rom_address 出力 外部 ROMに接続する ROMアドレスです。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 28: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2‒12 第 2章 : 使用法HardCopy マイグレーションのデザイン・ガイドライン

リコンフィギュレーションがイネーブルされる PLLおよび DLLが生成されると、ユーザー・ロジックによって駆動されなければならない特別なシグナルがあります。 IPコア生成の間に生成されたデザイン例において、リコンフィギュレーション信号はトップ・レベルにもって、図 2–5に示すように定数に接続します。

f PLLメガファンクションおよびリコンフィギュレーションについて詳しくは、 「Phase-Locked Loop (ALTPLL) Megafunction User Guide」 および 「Phase-Locked Loops

Reconfiguration (ALTPLL_RECONFIG) Megafunctions User Guide」を参照してください。

表 2–2に、Controller+PHYのトップ・レベルで露出される DLLのリコンフィギュレーション・ポートを示します。

図2‒5. HardCopy UnIPHY 例デザイン

表2‒2. Controller+PHY ラッパーのトップ・レベルで露出される DLL のリコンフィギュレーション・ポート

ポート命 入力 /出力 説明

hc_dll_config_dll_offset_ctrl_addnsub 入力

DLLの加算 /減算のコントロール・ポート。 このポートはhc_dll_config_dll_offset_ctrl_offsetの遅延オフセット設定が追加され、または減算されるかをコントロールします。  

hc_dll_config_dll_offset_ctrl_offset 入力

PLLの設定オフセット入力。これは、DLLの遅延チェーンの電流値から付加される、または引き算される Grayコード化されたオフセットです。

hc_dll_config_dll_offset_ctrl_offsetctrlout 出力

これは、電流設定のオフセット遅延の登録とグレーは、コード化された値です。電流の遅延オフセット設定の登録されたおよび Grayコード化された値です。

PHYController

ROM

Loader

Interface

AFI

Driver

MM-Slave MM-MasterAvalon MM

Controller+PHY Wrapper

PLL/DLL

Reconfiguration

Interface

Pass/FailMemory

HardCopy Example Design

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 29: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 2 章 : 使用法 2‒13HardCopy マイグレーションのデザイン・ガイドライン

表 2–3に、PLLリコンフィギュレーションを可能にするようにコントローラおよびPHYのラッパーのトップ・レベルで露出されるポートを示します。

HardCopy Compatibilityをオンにした場合、追加パイプラインのステージは RTLの書き込みパスに追加されます。 これは、配置およびタイミング・クロージャを容易にし、HardCopy IIIおよび HardCopy IVデバイスをターゲットとする場合に発生することができる PLLに隣接した I/Oと垂直方向の I/Oのオーバーハングの問題を補正するためのものです。追加パイプラインのステージは、 CASライト・レイテンシが 2(DDR3用の )と等しい、または CASレイテンシが 3(DDR2用の )と等しい時を除いて、すべての場合で加えられます。そこでは、追加パイプラインのステージがタイミング必要条件を満たす必要はありません。追加パイプラインのステージはコントローラの全体的なレイテンシに影響しません。

表2‒3. コントローラおよび PHY のラッパーのトップ・レベルで露出される PLL リコンフィギュレーション・ポート

ポート命 入力 /出力 説明

hc_pll_config_configupdate 入力

このコントロール信号は PLLリコンフィギュレーションをイネーブルします。 (これは RLDRAMIIおよび QDRIIにのみ適用されます。DDR2/3用のフェーズ・リコンフィギュレーション機能は CSRポートに含まれています。)

hc_pll_config_phasecounterselect 入力

ダイナミック位相調整のためのカウンタ選択を指定します。(これは RLDRAMIIおよび QDRIIにのみ適用されます。)

hc_pll_config_phasestep 入力ダイナミック位相シフトのための位相ステップを指定します。(これは RLDRAMIIおよび QDRIIにのみ適用されます。)

hc_pll_config_phaseupdown 入力位相調整を Upまたは Downに指定します。(これは RLDRAMIIおよび QDRIIにのみ適用されます。)

hc_pll_config_scanclk 入力 PLL リコンフィギュレーション・スキャン・チェイン・クロックです。

hc_pll_config_scanclkena 入力 hc_pll_config_scanclkクロックのクロック・イネーブル・ポートです。

hc_pll_config_scandata 入力PLL リコンフィギュレーション・スキャン・チェインへのシリアル入力データです。

hc_pll_config_phasedone 出力

アサートされると、位相調整が完了し、PLLが 2番目の調整パルスに反応できる状態であることをコア・ロジックに示します。.

hc_pll_config_scandataout 出力 シリアル・スキャン・チェインのデータ出力です。

hc_pll_config_scandone 出力

キャン・チェインのライト動作が進行しているときにアサートされ、ライト動作が完了したときにディアサートされます。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 30: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

f 垂直方向の I/Oのオーバーハング、I/Oに隣接した PLLおよびタイミング・クロージャについて詳しくは、「 HardCopy IIIデバイス・ハンドブック Vol 1」の「 HardCopy III Device I/O Features」および「HardCopy IVデバイス・ハンドブック Vol 1」の「 HardCopy IV Device I/O Features」を参照してください。

生成されるファイルIP生成フローを完了すると、プロジェクト・ディレクトリに生成されたファイルが作成されます。IPをパラメータ化および生成するのに使用されるツールに依存して多少変わります。

1 PLLパラメタは生成時に<variation_name>_parameters.tclで静的に定義されます。 PLLのコンポーネントの変更を実行するのに GUIを使用するとき、タイミング制約およびタイミング・レポートを確実にするために、このファイルの PLLパラメータへのそれらの変化を適用してください。

MegaWizard Plug-in Manager フローこのセクションの表には、MegaWizard Plug-in Managerによってユーザーに関心のある生成されるディレクトリ構造とキー・ファイルをリストアップします。

論理合成表 2–4 は、MegaWizard Plug-in Managerを使用して、シンセシス・フローで作成された生成されるディレクトリ構造およびキー・ファイルを示します。

表2‒4. 生成されるディレクトリ構造およびキー・ファイル̶MWPIMシンセシス・フロー

ディレクトリ ファイル名 説明

<working_dir>/ <variation_name>.qip

シンセシス・ファイル・セット内のすべての生成されたファイルを参照する QIPファイルです。

<working_dir>/ <variation_name>.v (for Verilog), or<variation_name>.vhd (for VHDL)

シンセシス・ファイルのトップ・レベルのラッパーです。

<working_dir>/<variation_name>/ <variation_name>_<stamp>.v (1) UniPHYトップ・レベルのラッパーです。

<working_dir>/<variation_name>/ <variation_name>_<stamp>_*.v (1) UniPHY Verilog RTLファイルです。

<working_dir>/<variation_name>/ <variation_name>_<stamp>_*.sv (1) UniPHY SystemVerilog RTLファイルです。

<working_dir>/<variation_name>/ <variation_name>_<stamp>.sdc (1) シノプシス制約のファイルです。

<working_dir>/<variation_name>/ <variation_name>_<stamp>.ppf (1) Pin Plannerファイルです。

<working_dir>/<variation_name>/ <variation_name>_<stamp>_pin_assignments.tcl (1)

シンセシス後のピン制約スクリプトです。

<working_dir>/<variation_name>/ <variation_name>_<stamp>_*.tcl (1) 他の Tclスクリプトです。

<working_dir>/<variation_name>/ <variation_name>_<stamp>_*.hex (1) シーケンサ・メモリ・ファイルです。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 31: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

シミュレーション表 2–5 は、MegaWizard Plug-in Managerを使用して、 Verilogのシミュレーション・フローで作成された生成されるディレクトリ構造およびキー・ファイルを示します。

表 2–6 は、MegaWizard Plug-in Managerを使用して、 VHDLのシミュレーション・フローで作成された生成されるディレクトリ構造およびキー・ファイルを示します。

<working_dir>/<variation_name>/ <variation_name>_<stamp>_*.mif (1) シーケンサ・メモリの初期化ファイルです。

<working_dir>/<variation_name>/ <variation_name>_<stamp>_readme.txt (1) Readmeテキスト・ファイルです。

表2‒4の注 :(1) <stamp>は、生成時に MegaWizard Plug-in Managerで決定される固有の識別子です。

表2‒4. 生成されるディレクトリ構造およびキー・ファイル̶MWPIMシンセシス・フロー

ディレクトリ ファイル名 説明

表2‒5. 生成されるディレクトリ構造および キー・ファイル̶MWPIM シミュレーション・フロー (Verilog)

ディレクトリ ファイル名 説明<working_dir>/<variation_name>_sim/

<variation_name>.v (for Verilog), or<variation_name>.vho (for VHDL)

UniPHYトップ・レベルのラッパーです。

<working_dir>/<variation_name>_sim/ <variation_name>_*.v UniPHY Verilog RTLファイルで

す。<working_dir>/<variation_name>_sim/ <variation_name>_*.sv UniPHY SystemVerilog RTLファイ

ルです。<working_dir>/<variation_name>_sim/ <variation_name>_*.hex シーケンサ・メモリ・ファイル

です。<working_dir>/<variation_name>_sim/ <variation_name>_*.mif シーケンサ・メモリの初期化

ファイルです。<working_dir>/<variation_name>_sim/ <variation_name>_readme.txt Readmeテキスト・ファイルで

す。

表2‒6. 生成されるディレクトリ構造および キー・ファイル̶MWPIM シミュレーション・フロー (VHDL)

ディレクトリ ファイル名 説明<working_dir>/<variation_name>_sim/ <variation_name>.vho UniPHY VHDLトップ・レベルの

モジュールです。<working_dir>/<variation_name>_sim/

<variation_name>_*.vhd<variation_name>_*.vho

UniPHY simulation VHDLファイルです。

<working_dir>/<variation_name>_sim/ vhdl_files.txt テキスト・ファイルのファイ

ル・リストです。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 32: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

デザイン例表 2–7を使用して、デザイン例用の作成された生成されるディレクトリ構造および ー・ファイルを示します。

表2‒7. 生成されるディレクトリ構造および キー・ファイル̶MWPIM デザイン例 ( その1 )

ディレクトリ ファイル名 説明

<working_dir>/<variation_name>_example_design_fileset/ <variation_name>.qip

このファイル・セットに UniPHYのRTLを示す QIPです。これは、/<variation_name>.qipと異なっています。このファイルはプロジェクト例に自動的に含まれています。

<working_dir>/<variation_name>_example_design_fileset/ <variation_name>.v UniPHYトップ・レベルのラッパー

です。<working_dir>/<variation_name>_example_design_fileset <variation_name>_*.v UniPHY Verilog RTLファイルです。

<working_dir>/<variation_name>_example_design_fileset <variation_name>_*.sv UniPHY SystemVerilog RTLファイル

です。<working_dir>/<variation_name>_example_design_fileset/ <variation_name>.sdc シノプシス制約のファイルです。

<working_dir>/<variation_name>_example_design_fileset/ <variation_name>.ppf Pin Plannerのファイルです。

<working_dir>/<variation_name>_example_design_fileset/ <variation_name>_pin_assignments.tcl シンセシス後のピン制約スクリプ

トです。<working_dir>/<variation_name>_example_design_fileset/ <variation_name>_*.tcl 他の Tclスクリプトです。

<working_dir>/<variation_name>_example_design_fileset/ <variation_name>_*.hex シーケンサ・メモリ・ファイルで

す。<working_dir>/<variation_name>_example_design_fileset/ <variation_name>_*.mif シーケンサ・メモリの初期化ファ

イルです。<working_dir>/<variation_name>_example_design_fileset/ <variation_name>_readme.txt Readmeのテキスト・ファイルで

す。<working_dir>/<variation_name>_example_design_fileset/example_project/

<variation_name>_example_top.qpf デザイン例のプロジェクト・ファイルです。

<working_dir>/<variation_name>_example_design_fileset/example_project/

<variation_name>_example_top.qsf デザイン例のプロジェクト設定ファイルです。

<working_dir>/<variation_name>_example_design_fileset/example_project/

<variation_name>_example_top.v

UniPHY、トラフィック・ジェネレータ、およびメモリ・モデルを含むトップ・レベル・ラッパーです。

<working_dir>/<variation_name>_example_design_fileset/example_project/

<variation_name>_*.v 他のデザイン例 Verilog RTLファイルです。

<working_dir>/<variation_name>_example_design_fileset/example_project/

<variation_name>_*.sv 他のデザイン例 SystemVerilog RTL ファイルです。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 33: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

SOPC Builder フロー表 2–8に、 SOPC Builderフローで作成された生成されるディレクトリ構造およびキー・ファイルをリストします。

Qsys フローこのセクションの表には、Qsysフローによってユーザーに関心のある生成されるディレクトリ構造とキー・ファイルをリストアップします。

<working_dir>/<variation_name>_example_design_fileset/example_project/

<prefix>_mem_model.sv (1) 汎用メモリ・モデルです。

<working_dir>/<variation_name>_example_design_fileset/rtl_sim/ <variation_name>_example_top_tb.v トップ・レベル・テスト・ベンチ

です。表2‒7の注 :(1) <prefix>は、メモリ・モデルのプロトコルとタイプによって異なります。

表2‒7. 生成されるディレクトリ構造および キー・ファイル̶MWPIM デザイン例 ( その2 )

ディレクトリ ファイル名 説明

表2‒8. 生成されるディレクトリ構造およびキー・ファイル̶SOPC Builder フロー

ディレクトリ ファイル名 説明

<working_dir>/ <system_name>.qipSOPC Builderプロジェクトの生成されたファイルを示すQIPです。

<working_dir>/ <system_name>.v SOPC Builderシステムのトップ・レベル・ラッパーです。

<working_dir>/ <core_name>_<stamp>.v (1) UniPHYトップ・レベル・ラッパーです。

<working_dir>/ <core_name>_<stamp>_*.v (1) UniPHY Verilog RTLファイルです。

<working_dir>/ <core_name>_<stamp>_*.sv (1) UniPHY SystemVerilog RTLファイルです。

<working_dir>/ <core_name>_<stamp>.sdc (1) シノプシス制約のファイルです。

<working_dir>/ <core_name>_<stamp>.ppf (1) Pin Plannerファイルです。

<working_dir>/ <core_name>_<stamp>_pin_assignments.tcl (1) シンセシス後のピン制約スクリプトです。

<working_dir>/ <core_name>_<stamp>_*.tcl (1) 他の Tclスクリプトです。

<working_dir>/ <core_name>_<stamp>_*.hex (1) シーケンサ・メモリ・ファイルです。

<working_dir>/ <core_name>_<stamp>_*.mif (1) シーケンサ・メモリの初期化ファイルです。

<working_dir>/ <core_name>_<stamp>_readme.txt (1) Readmeテキスト・ファイルです。

<working_dir>/ Other IP core files. 他の IPコアです。表2‒8の注 :(1) <stamp>は、生成時に SOPC Builderで決定される固有の識別子です。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 34: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

シンセシス表 2–9 に、シンセシス・ フローで作成された生成されるディレクトリ構造およびキー・ファイルをリストします。

Verilog HDL シミュレーション表 2–10 に、Qsysとの Verilogシミュレーションで作成された生成されるディレクトリ構造およびキー・ファイルをリストします。

表2‒9. 生成されるディレクトリ構造およびキー・ファイル̶Qsys シンセシス・ フロー

ディレクトリ ファイル名 説明

<working_dir>/<system_name>/synthesis/ <system_name>.qip

QIP which refers to all generated files in the Qsys system synthesis fileset.

<working_dir>/<system_name>/synthesis/ <system_name>.v Qsysシステムのトップ・レベ

ル・ラッパーです。<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>.v (1) UniPHYトップ・レベル・

ラッパーです。<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>_*.v (1) UniPHY Verilog RTLファイルで

す。<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>_*.sv (1) UniPHY SystemVerilog RTLファ

イルです。<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>.sdc (1) シノプシス制約のファイルで

す。<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>.ppf (1) Pin Plannerファイルです。

<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>_pin_assignments.tcl (1) シンセシス後のピン制約スク

リプトです。<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>_*.tcl (1) 他の Tclスクリプトです。

<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>_*.hex (1) シーケンサ・メモリ・ファイ

ルです。<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>_*.mif (1) シーケンサ・メモリの初期化

ファイルです。<working_dir>/<system_name>/synthesis/submodules/ <core_name>_<stamp>_readme.txt (1) Readmeテキスト・ファイル

です。<working_dir>/<system_name>/synthesis/submodules/ 他の IPコア・ファイル 他の IPコア・ファイルです。

表2‒9の注(1) <stamp>は、生成時に Qsysで決定される固有の識別子です。

表2‒10. 生成されるディレクトリ構造およびキー・ファイル̶Qsys Verilog HDL シミュレーション ( その1 )

ディレクトリ ファイル名 説明<working_dir>/<system_name>/sim_verilog/ <system_name>.v Qsysシステムのトップ・レベ

ル・ラッパーです。<working_dir>/<system_name>/sim_verilog/submodules/ <core_name>_<stamp>.v UniPHYトップ・レベル・

ラッパーです。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 35: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

VHDL シミュレーション表 2–11に、Qsysとの VHDLシミュレーション・フローで作成された生成されるディレクトリ構造およびキー・ファイルをリストします。

<working_dir>/<system_name>/sim_verilog/submodules/ <core_name>_<stamp>_*.v UniPHY Verilog RTLファイルで

す。<working_dir>/<system_name>/sim_verilog/submodules/ <core_name>_<stamp>_*.sv UniPHY SystemVerilog RTLファ

イルです。<working_dir>/<system_name>/sim_verilog/submodules/ <core_name>_<stamp>_*.hex シーケンサ・メモリ・ファイ

ルです。<working_dir>/<system_name>/sim_verilog/submodules/ <core_name>_<stamp>_*.mif シーケンサ・メモリの初期化

ファイルです。<working_dir>/<system_name>/sim_verilog/submodules/ <core_name>_<stamp>_readme.txt (1) Readmeテキスト・ファイル

です。<working_dir>/<system_name>/sim_verilog/submodules/ 他の IPコア・ファイル 他の IPコア・ファイルです。

表2‒10 の注 :(1) <stamp>は、生成時に Qsysで決定される固有の識別子です。

表2‒10. 生成されるディレクトリ構造およびキー・ファイル̶Qsys Verilog HDL シミュレーション ( その2 )

ディレクトリ ファイル名 説明

表2‒11. 生成されるディレクトリ構造およびキー・ファイル̶Qsys VHDL シミュレーション

ディレクトリ ファイル名 説明<working_dir>/<system_name>/sim_vhdl/ <system_name>.vhd Qsysシステムのトップ・レ

ベル・ラッパーです。<working_dir>/<system_name>/sim_vhdl/submodules/ <core_name>_<stamp>.vho (1) UniPHY VHDLトップ・レベ

ル・モジュールです。<working_dir>/<system_name>/sim_vhdl/submodules/

<core_name>_<stamp>_*.vhd<core_name>_<stamp>_*.vho (1)

UniPHY VHDLシミュレーション・ファイルです。

<working_dir>/<system_name>/sim_vhdl/submodules/ vhdl_files.txt

File list text file.ファイル・リストのテキスト・ファイルです。

表2‒11 の注 :(1) <stamp>は、生成時に Qsysで決定される固有の識別子です。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 36: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

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

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 37: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

3. パラメータの設定

この章では、UniPHYに設定可能なパラメータについて説明します。

PHY の設定PHYの設定がデザインに適して適用するには、このタブを使用します。

FPGASpeed gradeは、生成されたタイミング制約およびタイミング・レポートに影響を与えるターゲットの FPGAデバイスのスピード・グレードです。

クロックス表 3–1には、クロック・パラメータを示します。

上級の設定表 3–2に、パラメータの上級の設定を示します。

表3‒1. クロック・パラメータ

パラメータ 説明Memory clock frequency

メモリ・デバイスをドライブするクロックの周波数です。これは、精度の小数点の 4桁まで使用しています。

PLL reference clock frequency

PLLをフィードする入力クロックの周波数です。精度の小数点の 4桁まで使用しています。

Full or half rate on Avalon-MM interface

Avalon-MMインタフェース上のデータ・バスの幅です。 2×のメモリ・データ幅の幅で Full結果で、4×のメモリ・データ幅の幅の Half結果です。

表3‒2. 上級の設定

パラメータ 説明

Advanced clock phase control

クロックの位相にアクセスを可能にします。デフォールトの値は DIMM及びボードレイアウトに十分ですが、より大きいのアドレスとコマンド対クロックスキューを補正するために、変更できます。

Additional address and command clock phase

アドレスおよびコマンド・クロックの位相シフトの量を増加または減少することができます。ベースの位相シフト・センターはメモリ・デバイスでアドレスおよびコマンド・クロックをアラインメントします。それはすべての状況の下の最適な設定ではないかもしれません。位相シフトの量を増大または減少させることでタイミングを改善できます。デフォルト値は 0度です。

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 38: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

3‒2 第 3 章 : パラメータの設定PHYの設定

Additional CK/CK# phase

CK/CK#クロックの位相シフトの量を増加または減少することができます。ベースの位相シフト・センターはメモリ・デバイスでアドレスおよびコマンド・クロックをアラインメントします。それはすべての状況の下の最適な設定ではないかもしれません。位相シフトの量を増大または減少させることでタイミングを改善できます。CK/CK#での位相シフトを増大または減少させることで、リード、ライトおよびレベリング転送に影響しますが、アドレスおよびコマンド・クロックでの位相シフトを増大または減少させることでは影響しません。

I/O standard I/O規格電圧。

Master for PLL/DLL sharing

IPコアは、独自の PLLおよび DLLをインスタンス化することを指定します。 PLLクロックおよびと DLLの遅延値のすべてがオフになって、このオプションを持っている他の同一の UniPHYベースの IPコアで使用するためにエクスポートされます。

Master for OCT control block

UniPHYデータパスが必要な OCTコントロール・ブロックをインスタンス化します。このパラメータはオフになっているときは、このブロックをインスタンス化して、PHYに終端制御バス信号を接続、またはマスタ・モードの別の UniPHYのインスタンスからOCT制御ブロックを共有します。

HardCopy compatibility

生成された IPコアに必要なすべての HardCopy互換性オプションをイネーブルします。いくつかのパラメータ化は、パイプラインステージは、HardCopyでより挑戦的なタイミング・クロージャを助けるためにライト・データパスに追加されます。パイプライン・ステージは、全体的なリードおよびライトのレイテンシには影響しません。

表3‒2. 上級の設定

パラメータ 説明

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 39: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 3 章 : パラメータの設定 3‒3メモリ・パラメータ

テストベンチ例のシミュレーションのオプション表 3–3 に、テストベンチ例で利用可能なシミュレーション・オプションを示します。

メモリ・パラメータメモリ・メーカーのデータシートからメモリ・パラメータを適用するために、このタブを使用してください。

表 3–4に、メモリ・パラメータを示します。

表3‒3. テストベンチ例のシミュレーションのオプション

パラメータ 説明

Autocalibration mode

キャリブレーションを減少してシミュレーション性能を改善するかを指定します。 生成された RTLに変化が全然ありません。以下のオート・キャリブレーション・モードを使用することができます。■ Skip calibration—最速のシミュレーションを提供しています。それは、メモリ・コンフィギュレーションから計算された設定をロードし、ユーザー・モードに入ります。

■ Quick calibration—ユーザー・モードに入る前に(センタリングなしで)グループごとに 1ビットをキャリブレーションします。

■ Full calibration—ハードウェアのように同じようにキャリブレーションして、すべての位相、遅延の取除が含まれて、あらゆるデータ・ビットを中央に配置します。タイミング・アノテートされたメモリ・モデルを使用することができます。 キャリブレーションを完了するために、時間または何日もかかることに注意してください。

Skip memory initialization

テストベンチ例にメモリ初期化シーケンスをスキップします。 この設定は、生成された RTLを変更しませんが、シミュレーションを高速化できます。

表3‒4. メモリ・パラメータ ( その1 )

パラメータ 説明

Memory vendor メモリ・プリセットのリストからコンフィギュレーションを選択する時に自動的にセットされるメモリ・デバイスのベンダです。

Memory format メモリ・デバイスのフォーマットです。Memory device speed grade メモリ・デバイスが実行できる大周波数です。

Total interface width メモリ・デバイスの DQピンの全体数です。DDR2および DDR3 SDRAM用の 144ビットに制限されます(レベリング機能の搭載または未搭載)。

DQ/DQS group size DQSグループあたり DQビット数です。Number of chip selects

IPコアが現在のデバイス・コンフィギュレーションに使用するチップ選択の数です。

Number of clocks per chip select

メモリ・インタフェースの各チップ選択のクロック・バスの幅です。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 40: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

3‒4 第 3 章 : パラメータの設定メモリ・パラメータ

メモリ初期化オプション̶DDR2以下の表では、メモリ初期化パラメータを説明しています。

モード・レジスタ 0 表 3–5に、モード・レジスタ 0パラメータを示します。

モード・レジスタ 1表 3–6に、モード・レジスタ 1パラメータを示します。

Number of slots DDR2および DDR3用の DIMMが選択される時には使用可能です。

Fly-by topology 全体のインタフェース幅の 8以上のあるディスクリート・デバイスで使用可能です。 DDR3にのみ適用されます。。

DQS# Enable DDR2にのみ適用されます。Row address width メモリ・インタフェースのロウ・アドレスの幅です。Column address width メモリ・インタフェースのカラム・アドレスの幅です。Bank-address width メモリ・インタフェースのバンク・アドレス・バスの幅です。

Drive DM pins from FPGA

メモリ・デバイスの DMピンが FPGAによりドライブされるかどうかを指定します。 ×4モードメモリ・デバイスを使用する時にFPGAデバイス・ピンを乱用するために、このオプションをオフにすることができます。

Number of DQS groups

全体のインタフェース幅および DQと DQSグループ・サイズのパラメータから自動的に計算されます。

表3‒4. メモリ・パラメータ ( その2 )

パラメータ 説明

表3‒5. モード・レジスタ 0パラメータ

パラメータ 説明

READ burst type コントローラがシーケンシャルまたはインタリーブ順序の一定のバースト内のアクセスを実行するかを決定します。

DLL precharge power down

プリチャージのパワーダウンのときにメモリ・デバイスの DLLが低速の終了モードまたは高速の終了モードにあるかどうかを決定します。

Memory CAS latency setting

メモリ・デバイスでの READコマンドおよび出力データの最初のビットの使用可能性の間のクロック・サイクル数を決定します。

表3‒6. モード・レジスタ 1パラメータ

パラメータ 説明Output drive strength setting

メモリ・デバイスでの設定する出力ドライバー・インピーダンスを決定します。

Memory additive CAS latency setting

メモリ・デバイスのポストされた CAS付加レイテンシを決定します。

Memory on-die termination (ODT) setting

メモリ・デバイスでのオン・ダイ終端抵抗を決定します。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 41: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 3 章 : パラメータの設定 3‒5メモリ・パラメータ

モード・レジスタ 2SRT Enableは、SelfrefreshTemperature (SRT)が 1x refresh rateまたは 2x refresh rate(高温の操作用の)でイネーブルにされるかどうかを決定します。

メモリ初期化オプション̶DDR3Mirror addressing: 1 per chip selectパラメータはミラー・アドレッシングです。 例えば、4 CSのために、1101は、CS #3、#2および #0をミラーさせられます。

モード・レジスタ 0 表 3–7に、モード・レジスタ 0パラメータを示します。

モード・レジスタ 1 表 3–8 に、モード・レジスタ 1パラメータを示します。

モード・レジスタ 2 表 3–9に、モード・レジスタ 2パラメータを示します。

表3‒7. モード・レジスタ 0パラメータ

パラメータ 説明

READ burst type シーケンシャルまたはインタリーブド順序の一定のバースト内にあるかを決定します。

DLL precharge power down

プリチャージのパワーダウンのときにメモリ・デバイスの DLLがオフにするまたはオンにするかを決定します。

Memory CAS latency setting

メモリ・デバイスでの READコマンドおよび出力データの最初のビットの使用可能性の間のクロック・サイクル数です。

表3‒8. モード・レジスタ 1パラメータ

パラメータ 説明Output drive strength setting

メモリ・デバイスで設定する出力ドライバー・インピーダンスです。

Memory additive CAS latency setting メモリ・デバイスのポストされた CAS付加レイテンシです。

ODT Rtt nominal value メモリ・デバイスのオン・ダイ終端抵抗です。

表3‒9. モード・レジスタ 2パラメータ

パラメータ 説明Auto selfrefresh method

自動セルフ・リフレッシュをディセーブルまたはイネーブルします。

Selfrefresh temperature

Normalまたは Extendedとしてセルフ・リフレッシュの温度を指定します。

Memory write CAS latency setting

メモリ・デバイスでの内部のライトのリリースから最初のデータ・インのラッチへのクロック・サイクルの数です。

Dynamic ODT (Rtt_WR) value メモリ・デバイスのダイナミック ODT機能のモードです。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 42: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

3‒6 第 3 章 : パラメータの設定メモリ・タイミング

メモリ・タイミングメモリ・メーカーのデータシートからメモリ・タイミングを適用するために、このタブを使用してください。

表 3–10 に、メモリ・タイミンッグのパラメータを示します。

ボードの設定ボード・レベル効果をタイミングの分析でモデルするには、Board Settingsタブを使用してください。

表3‒10. メモリ・タイミンッグのパラメータ

パラメータ 説明tIS (base) CKクロック立ち上がりの設定のアドレスおよびコントロールです。tIH (base) CKクロック立ち上がりの後のアドレスおよびコントロールです。tDS (base) クロック (DQS)立ち上がりのデータ設定です。tDH (base) クロック (DQS) 立ち上がりの後のデータ・ホルドです。tDQSQ アクセスあたりの DQS、DQS#から DQまでスキューです。

tQHS (DDR2)

tQH (DDR3)

DQS、DQS#から DQ出力ホールド時間(絶対の時間値)DQS、DQS#から DQ出力ホールド時間 DQアウトプット保持時間(tCKのパーセンテージ)

tDQSCK CK/CK#から DQS出力アクセス時間です。

tDQSS 関連したクロック・エッジへの DQSの最初の出力(tCKのパーセンテージ)。

tQSH (DDR3)

tDQSH (DDR2)DQS Differential High Pulse Width(tCKのパーセンテージ)。メモリにより受取された DQS信号の最小 High時間を指定します。

tDSH CKから DQS立ち下がりエッジのホールド時間(tCKのパーセンテージ)。

tDSS CKセットアップ時間の DQS立ち下がりエッジ(tCKのパーセンテージ)。

tINIT パワーアップ時のメモリ初期設定時間です。

tMRDモード・レジスタ・コマンド期間をロードします。オートでコマンド間隔をリフレッシュしてください。

tRAS プリチャージ時間にアクティブです。tRCD リード、またはライト時間にアクティブです。tRP プリチャージ・コマンドの持続時間。です。tREFI リフレッシュ・コマンド間隔です。tRFC オート・リフレッシュ・コマンド間隔です。tWR Write recovery time.ライト・リカバリ時間です。tWTR ライトからリード周期です。tFAW 4つのアクティブ・ウィンドウです。tRRD RASから RASへの遅延時間です。tRTP リードからプリチャージまでの時間です。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 43: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 3 章 : パラメータの設定 3‒7ボードの設定

IPコアは、単一および複数のンフィギュレーションをサポートしています。アルテラは、一定のアルテラボードのためにこれらのコンフィギュレーションへの出力シグナリングへの効果を決定し、ウィザード内に出力スルー・レートおよびの ISI(Intersymbol Interference)への効果を格納されていました。

1 これらの格納されている値は、特定のアルテラのボードの代表的なものであります。ボードのボード・レベルの影響を考慮して値を変更する必要があります。ボードの代表的な値を取得するの HyperLynxまたは同様のシミュレータを使用することができます。

Board Settingsタブには、ボードに関連のデータを入力することができます。Intersymbol Interferenceおよび Board Skewsのセクションでは、プリー・レイアウト(ライン)とポスト・レイアウト(ボード)シミュレーションの PCBの開発過程で得られる情報を入力します。

バス・ターンアラウンドは分析タイミングではありません。その結果、コントローラのデッド・タイムは、ユーザーのボード・トレース・レングスについての仮定に基づいています。正確のタイミング解析のために、FPGAからメモリへ、またはメモリから FPGAへのボード・トレース遅延は、0.6 nsに制限する必要があります。

f Quartus IIソフトウェアでボード・シミュレーション結果を含める方法、およびピン・プランナーを使用してピンを割り当てる方法については、「External Memory Interface Handbook」の「 Volume 6: Design Flow Tutorials」を参照してください。タイミング・ディレーティング手法について詳しくは、「External Memory Interface Handbook Volume 4」の「Timing Deration Methodology for Multiple Chip Select DDR2 and DDR3 SDRAM Designs」の章を参照してください。

セットアップおよびホールド・ディレーティング出力信号のスルー・レートは、メモリ・デバイスのセットアップおよびホールド時間に影響します。

出力のスルー・レートは、アドレスおよびコマンド信号と DQ信号のセットアップおよびホールド時間にその影響を確認するか、または設定を指定して、直接にホールド時間を指定することができます。表 3–11に、セットアップおよびホールド・ディレーティング・パラメータを示します。

表3‒11. セットアップおよびホールド・ディレーティング ( その1 )

パラメータ 説明Derating method ディレーティング方法です。CK/CK# slew rate (differential) CK/CK#スルー・レート (差動 )です。

Address/Command slew rate アドレスおよびコマンドのスルー・レートです。

DQS/DQS# slew rate (Differential) DQSおよび DQS# スルー・レート (差動 )です。

DQ slew rate DQスルー・レートです。

tIS CKへのアドレス /コマンドのセットアップ時間です。

tIH CKからのアドレス /コマンドのホールド時間です。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 44: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

3‒8 第 3 章 : パラメータの設定ボードの設定

ISIISIは、1つのシンボルが後続のシンボルと干渉する信号の歪みです。反射を引き起こしている複数のスタブがあるので、単一のチップ・セレクトのコンフィギュレーションから複数のチップ・セレクトのコンフィギュレーションまで行くとき、通常は ISIの増加があります。表 3–12には、ISIのパラメータを示しています。

ボード・スキューPCBトレースの間はスキューがあるため、タイミング・マージンを低減することができます。さらに、異なるチップ・セレクト間のスキューは、さらに複数のチップセレクト・トポロジではタイミング・マージンを低減することができます。パラメータ・エディタの Board Skewsセクションでは、これらのバリエーションを補償するためにパラメータを入力します。大規模なボード・トレース・スキューは、ボード・トレース・モデルで指定する必要があります。

tDS DQSへのデータ・セットアップ時間です。tDH DQSからのデータ・ホールド時間です。

表3‒11. セットアップおよびホールド・ディレーティング ( その2 )

パラメータ 説明

表3‒12. ISI パラメータ

パラメータ 説明

Derating methodデフォルトのアルテラの設定 (特定のアルテラのボードがある場合 )を選択するか、または手動で特定のボードに得られたボードのシミュレーション番号を入力しください。

Address and command eye reduction (setup)

ISIが全くないときケースと比較するときの ISIによるアドレスおよびコマンド信号のセットアップ側 (または、アイの左側 )のアイ・ダイアグラムの減少です。

Address and command eye reduction (hold)

ISIが全くないときケースと比較するときの ISIによるアドレスおよびコマンド信号のホールド側 (または、アイの右側 )のアイ・ダイアグラムの減少です。

DQ eye reductionISIが全くないときケースと比較するときの DQ信号の ISIによるアイ・ダイアグラムの総減少です。 アルテラは、ISIがアイの左右の側面でアイの幅を対称的に減少させると仮定します。

Delta DQS arrival timeISIが全くないときケースと比較するときの DQS到達時間の範囲増加です。 アルテラは、ISIが DQSに左と右に対称的に異ならせると仮定します。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 45: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 3 章 : パラメータの設定 3‒9コントローラ設定

表 3–13 に、ボード・スキュー・パラメータを示します。

コントローラ設定コントローラ設定がデザインに適用するには、このタブを使用してください。

Avalon-MMインタフェース表 3–14 に Avalon-MMインタフェース・パラメータを示します。

表3‒13. ボード・スキュー・パラメータ

パラメータ 説明

Minimum delay difference between CK and DQS

すべての DIMMの同じ DIMMに到着するときの CK信号と DQS信号の間の最小のスキュー (または、最大きの負のスキュー )です。この値は、マルチランク・コンフィギュレーションでレベリングの DDR3インタフェース用のライト・レベリング・マージンに影響を与えます。

Maximum delay difference between CK and DQS

すべての DIMMsの同じ DIMMに到着するときの CK信号と DQS信号の間の最大のスキュー (または、最大の正のスキュー )です。この値は、マルチランク・コンフィギュレーションでレベリングの DDR3インタフェース用のライト・レベリング・マージンに影響を与えます。

Maximum skew within DQS group

DQSグループにおける DQおよび DM信号の間の最大のスキューです。 この値は全コンフィギュレーション (単一または複数のチップ・セレクト、DIMMまたはコンポーネント )で DDR2および DDR3 SDRAMインタフェースへのリード・キャプチャおよびライト・マージンに影響します。

Maximum skew between DQS groups

異なる DQSグループにおける DQS信号の間の最大のスキューです。 この値はレベリングのない DDR2 SDRAMおよびディスクリート・デバイス DDR3 SDRAMなどのメモリ・インタフェースで両方の単一または複数のチップ・セレクトのコンフィギュレーションで再同期化マージンに影響します。

Maximum skew within address and command bus

アドレスおよびコマンド信号の間の最大のスキューです。

Average delay difference between address and command and CK

最長と最小のアドレスおよびコマンド信号の遅延値の平均と等しいです(CK信号の遅延を抜き)。値は、正または負になる場合があります。正の値は CK信号より長いアドレスおよびコマンド信号を表します。 負の値は CK信号より短いアドレスおよびコマンドを表します。Quartus IIソフトウェアは、DDR2および DDR3 SDRAMインタフェースへの適切なセットアップおよびホールド・マージンを持つためにアドレスとコマンド信号の遅延を最適化するのにこのスキューを使用します。

表3‒14. Avalon-MMインタフェース・パラメータ

パラメータ 説明Generate power-of-2 bus widths

Avalon-MMサイドのデータ・バスを最近のパワーの 2に切り下げます。

Maximum Avalon-MM burst length

Avalon-MMバスで最大のバース・レングスを指定します。 AVL_SIZE_WIDTHパラメータに影響します。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 46: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

3‒10 第 3 章 : パラメータの設定コントローラ設定

低消費電力モード表 3–15には、低消費電力モードのパラメータを示します。

効率表 3–16 に、効率パラメターを示します。

表3‒15. 低消費電力モードのパラメータ

パラメータ 説明

Enable self-refresh controls

コントローラ・トップレベル・デザインのセルフ・リフレッシュ信号をイネーブルします。 これらのコントロールで、メモリがセルフ・リフレッシュ・モードに置かれるときを制御できます。

Enable auto-power down

コントローラは、指定された数のアイドル・サイクルの後に自動的にパワー・ダウン・モードにメモリを配置することができます。コントローラがオート・パワー・ダウンのサイクル・パラメータのメモリをパワーダウンするアイドル・サイクルの数を指定します。

Auto power-down cycles

コントローラが自動的にメモリをパワーダウンするアイドル・コントローラのクロック・サイクルの数です。法的な範囲は 1から 65,535までのコントローラ・クロック・サイクルです。

表3‒16. 効率パラメター ( その1 )

パラメータ 説明

Enable user auto-refresh controls

コントローラのトップ・レベルのユーザー・オート・リフレッシュ・コントロール信号をイネーブルします。これらのコントローラ信号で、コントローラがメモリ・オート・リフレッシュを発行することを制御できます。メモリの Avalon - MMインタフェース・チップ、ロウ、バンク、およびカラムのビット・アドレス間のマッピングを制御することができます。

Enable auto-precharge control

コントローラのトップ・レベルのオート・プリチャージ・コントロールをイネーブルします。リードまたはライトのバーストがオート・プリチャージ・コントロール信号をアサートすると、コントローラは、リードまたはライト・バーストの終了時に(オート・プリチャージ)=現在オープンしているページを閉じることを指定できます。

Local-to-memory address mapping

メモリの Avalon - MMインタフェース・チップ、ロウ、バンク、およびカラムのビット・アドレス間のマッピングを制御します。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 47: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 3 章 : パラメータの設定 3‒11コントローラ設定

コンフィギュレーション、ステータス、およびエラー処理表 3–17には、 コンフィギュレーション、ステータス、およびエラー処理のパラメータを示します。

Command queue look-ahead depth

先読みのバンク管理ロジックはどのぐらいリードまたはライトの要求を検査することを制御するために先読みの深度値を選択します。大きい値は、バンク管理の効率を向上させる可能性が高いですが、高いリソース使用率で向上します。小さい値は、効率の低くなり、また、より少ないリソースを使用しています。

Reduce controller latency by (excluding PHY)

よりよいレイテンシまたは fMAXのためのコントローラ・クロック・サイクルのコントローラ・レイテンシの値を選択します。このオプションで、コントローラ(および全体的なインターフェース)のレイテンシを低減することをイネーブルしますが、PHYを介するレイテンシには影響しません。また、レイテンシを低減させると、fMAX性能は低下する可能性があります。低レイテンシ・コントローラは、デフォルト周波数のような高速で実行することはできません。

表3‒16. 効率パラメター ( その2 )

パラメータ 説明

表3‒17. コンフィギュレーション、ステータス、およびエラー処理のパラメータ

パラメータ 説明

Enable Configuration and Status Register Interface

メモリ・コントローラのためのランタイム・コンフィギュレーションおよびステータス・インタフェースをイネーブルします。このオプションは追加 Avalon-MMスレーブ・ポートをメモリ・コントローラ・トップ・レベルに追加します。(メモリ・タイミング・パラメター、メモリ・アドレス・サイズ、モード・レジスタ設定、およびコントローラ・ステータスを変えるか、または読み出すのに使用できます )。Error Detection and Correction Logicがイネーブルされた場合、同じスレーブ・ポートは、このロジックのステータスをコントロールと取得することができます。

CSR port host interface

CSRのポートへの接続のタイプを指定します。ポートは、エクスポートすること、または /および内部の JTAG Avalon Masterに接続することができます。

Enable error detection and correction logic

シングル・ビット・エラーの訂正およびダブル・ビット・エラー検出の ECCをイネーブルします。 ECCを使用するために、メモリ・インタフェースは、40または 72ビット幅の倍数でなければなりません。

Enable auto error correction

コントローラでシングル・ビット・エラーが ECCロジックによって検出されたときに自動訂正を実行することができます。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 48: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

3‒12 第 3 章 : パラメータの設定コントローラ設定

高度な機能表 3–18には、 高度な機能のパラメータを示します。

表3‒18. 高度な機能のパラメータ

パラメータ 説明

Enable multi-cast write control

コントローラのトップ・レベルのマルチキャスト・ライト・コントロールをイネーブルします。マルチキャスト・ライトは、ECCロジックがイネーブルされる場合、またはレジスタ付きDIMMインタフェースでサポートされていません。

Enable reduced bank tracking for area optimization

コントローラのバンクおよびタイマ・ブロック数を低減します。Number of banks to trackに追跡するために、バンク数を指定します。

Number of banks to track

Enable reduced bank tracking for area optimizationがオンになっている場合で追跡するバンク数です。法的な範囲は 1からであり、または 16までのコマンド・キューの先読みの幅の値(いずれか大きい方)です。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 49: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

4. 制約およびコンパイル

ウィザードは、SDC (Synopsys Design Constraint) スクリプト <variation_name>.sdc、およびピン・アサインメント・スクリプト <variation_name>_pin_assignments.tcl.を生成します。 .sdcおよび <variation name>_pin_assignments.tclの両方が複数のインスタンスをサポートします。スクリプトは、コアのすべてのインスタンスに対して繰り返し処理をし、それらのすべてに同じ制約を適用します。

ピンおよび DQ グループ・アサインメントの追加ピン・アサインメント・スクリプトの <variation_name>_pin_assignments.tclは、UniPHY付き DDR2または DDR3 SDRAMコントローラの I/O規格および入力 /出力終端を設定します。また、このスクリプトは、Quartus II Fitterが正しく DQピン・グループを置くようにそれらを関連付けることができます。

ピン・アサインメント・スクリプトは、デザイン・クロックを作成しません。MegaCoreバリエーションが発生させるサンプル・ドライバーおよびテストベンチの両方に関する信号にデザインのためにデザインを作成して、ピン・アサインメントを供給する必要があります。

デザイン例への入力と出力終端、I/O規格、および DQグループ・アサインメントを追加するには、<variation_name>_pin_assignments.tclを実行します。ピン・アサインメント・スクリプトを実行するには、次の手順に従います。

1. Processing メニューから Start を選択し、Start Analysis& Synthesis をクリックします。

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

3. pin_assignments.tclファイルを指定して、Runをクリックします。

1 PLL入力基準クロック・ピンは、メモリ・インタフェース I/Oと同じ I/O規格がない場合、不適合な I/O規格を同じ I/Oバンクに配置されませんので、「no-fit」になることがあります。

デザインのコンパイルデザインをコンパイルするには、Processingメニューの Start Compilationをクリックします。

トップ・レベル・ファイルをコンパイルした後に、RTLシミュレーションを実行するか、またはハードウェアのトップ・レベル・ファイルについて確認するようにターゲットとするアルテラのデバイスにプログラムできます。

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

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 50: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

4‒2 第 4章 : 制約およびコンパイルデザインのコンパイル

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 51: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

5. 機能の説明̶コントローラ

この章は、コントローラについて説明します。

ブロック説明図 5–1 に、UniPHY付きの DDR2または DDR3 SDRAMコントローラのトップ・レベル・ブロック図を示します。

図5‒1. UniPHY ブロック図付きの DDR2 または DDR3 SDRAM コントローラ

local_addrlocal_be

local_burstbeginlocal_read_req

local_refresh_reqlocal_refresh_chip

local_sizelocal_wdata

local_write_reqlocal_autopch_reqlocal_self_rfsh_req

local_multicastcsr_addr

csr_read_reqcsr_wdata

csr_write_req

mem_addrmem_ac_paritymem_bamem_cas_nmem_ckmem_ck_nmem_ckemem_cs_nmem_dmmem_odtmem_ras_nmem_reset_n (DDR3 only)mem_we_nparity_error_n

mem_dqmem_dqsmem_dqs_n

mem_err_out_n

local_init_donelocal_rdata

local_rdata_validlocal_rdata_error

local_readylocal_refresh_acklocal_wdata_req

local_powerdn_acklocal_self_rfsh_ack

ecc_interruptcsr_rdata

csr_rdata_validcsr_waitrequest

ControlLogic

Controller

UniPHY

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 52: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒2 第 5章 : 機能の説明̶コントローラブロック説明

図 5–2に、UniPHYアーキテクチャ付きの DDR2または DDR3 SDRAMコントローラのブロック図を示します。

以下のセクションでは、5–2ページの図 5–2に含まれているブロックについて説明します。

Avalon-MMデータ・スレーブ・インタフェースAvalon-MMデータ・スレーブ・インタフェースは、Avalon- MMマスタからリードおよびライト要求を受け入れます。local_wdataおよび local_rdataのデータの幅は、フルまたはハーフ・レート・コントローラを指定したかどうかに応じて、外部メモリの 2倍または 4倍の幅です。

IPコアは、メモリ・チップ、ロウ、バンク、およびカラム・アドレス幅に基づいて、ローカル・アドレス幅を決定します。例えば、

■ 複数のチップ・セレクトの場合:

幅 =チップ・ビット + ロウ・ビット + バンク・ビット + カラム – N

■ 単一のチップ・セレクトの場合:

幅 = ロウ・ビット + バンク・ビット + カラム – N

ここで、フル・レート・コントローラの場合は、N = 1ですが、ハーフ・レート・コントローラの場合は、N = 2です。

図5‒2. UniPHY アーキテクチャ付きの DDR2 または DDR3 SDRAMコントローラのブロック図

TimerLogic

ECC Decoder and

Correction

ECC-enabled

ECC-enabled

Read Data

Write DataWrite Data FIFO

Bank Management

LogicCommand

QueueCommand-Issuing

State Machine

Address andCommand

Decode

ECCEncoderAv

alon

-MM

Dat

a Sl

ave

Inte

rface

Hal

f-Rat

e Br

idge

Write Datapath

ReadDatapath

Write DataTiming Logic

ODT Generation

Logic

AFI

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 53: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒3ブロック説明

すべてのる Avalonのトランザクションで、リードまたはライト要求の数が最大 64のローカル・バースト・カウントを超えることはできません。アルテラは、システム・マスタのサポートされているバースト・カウントに合わせるようにこの最大バースト・カウントを設定することを推奨します。

ライト・データの FIFO バッファライト・データ FIFOバッファは、メインのステート・マシンのデータを要求するまで、ユーザー・ロジックからのライト・データおよびバイト・イネーブルを保持しています。local_ready信号がいずれかのコマンドのキューまたはライト・データ FIFOバッファがフルになったときにディアサートされます。ライト・データ FIFOバッファは十分なライト・データおよびバイト・イネーブル信号を格納するために、十分に広いです。

コマンド・キューコマンド・キューで、コントローラは最大 8の連続したリードまたはライトをバッファできます。 コマンド・キューは、先読みのバンク管理のための内部ロジックへの次の 2、4、6、または 8回のアクセスを示します。先読みがより深い場合には、バンク管理はより効率的ですが、より深いキューは多くのリソースを消耗し、最大周波数の劣化が生じる場合があります。

また、受信コマンドを格納することについて、コマンド・キューは選択したアドレス・マッピング・オプションに基づいてメモリ・アドレスにローカル・アドレスをマッピングします。 デフォルトで、コマンド・キューは、バンク・インタリービング手法に活用します(ここで、アドレス・インクリメントは、ページ・ヒットのチャンスを増大させるために、隣のロウの代わりに隣のバンクに行きます。

バンク管理ロジックバンク管理ロジックは、複数のチップ間で各バンク内の現在の状態を追跡します。バンク管理のロウは、メモリ・システム内のすべてのバンクに開くようにを維持することができます。ステート・マシンがコマンドを発行するとき、IPコアは、最新のバンク状態でバンク管理ロジックをアップデートします。 メインのステート・マシンには、早めのバンク管理のコマンドを発行する先読み機能があります。コントローラは、オープン・ページ・ポリシー(各バンクに最後にアクセスしたロウが開いたままにされている)およびクローズ・ページ・ポリシー(使用された後にバンクが閉じられている)をサポートするためにオート・プリチャージ機能を備えています。

タイマー・ロジックタイマー・ロジックは、メモリ・インタフェースのそれぞれのバンクの内部の動作をモデル化して、ステータス出力信号をステート・マシンに供給します。 そして、ステート・マシンは、タイマー・ステータス信号に基づく先読みバンク管理コマンドを発行するかどうか決めます。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 54: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒4 第 5章 : 機能の説明̶コントローラブロック説明

コマンド発行のステート・マシンコマンド発行のステートマシンは、DDRがコマンド・キュー、バンク管理ロジック、およびタイマー・ロジックからの入力に基づいて発行するコマンドを決定します。コマンド発行ステートマシンは、2つのモードで動作します:フル・レートまたはハーフ・レート。フル・レートのステート・マシンは、1Tのアドレスとコマンドをサポートし、常に 4のメモリ・バースト・レングスを発行しています。ハーフ・レートのステート・マシンは 2Tアドレスとコマンドをサポートし、常に 8メモリ・バースト・レングスを発行しています。

1 より長いメモリ・バースト・レングス (この場合は 8ビート )は、コマンド・サイクルの同じ量により多くのデータ・サイクルを見込むことによって、コマンド帯域幅を増加させます。また、より長いメモリ・バースト・レングスは、より効果的な先読みバンク管理を確認するために複数のコマンド・サイクルを提供しています。しかし、より長いメモリ・バースト・レングスは発行するバーストが十分なデータを提供しないため、効率的ではありません。

このステート・マシンは、1から 64までの任意のローカル・バースト・カウントを受け入れます。このステート・マシンの内蔵のバースト・アダプタはローカル・バースト・を最も効率的なメモリ・バーストにマップします。ステート・マシンは、非アラインメントされたメモリ・バースト境界アドレスのスタートにリードおよびライトを開始してサポートしています。効果的なコマンド・バスの帯域幅については、このステート・マシンは、ACTコマンドの直後にリードおよびライトを発行する付加レイテンシをサポートしています。この国のマシンは、より大きの付加レイテンシいか、またはクロック・サイクル・ユニット(tCK)で tRCD – 1と等しい付加レイテンシの値に適応します。

アドレスおよびコマンドのデコーディング・ロジックメインのステート・マシンがメモリにコマンドを発行するとき、1セットの内部信号がアサートされます。 アドレスおよびコマンドのデコーディング・ロジックで、これらの信号は AFI固有のコマンドおよびアドレスになります。このブロックは、次の信号を生成します:

■ クロック・イネーブルおよびリセット信号 : afi_cke, afi_rst_n

■ コマンドおよびアドレス信号 : afi_cs_n, afi_ba, afi_addr, afi_ras_n, afi_cas_n, afi_we_n

ライトとリードのデータパス、およびライト・データのタイミング・ロジック

ライトとリードのデータパス、およびライト・データのタイミング・ロジックは、AFI リードおよびライトのコントロール・シグナルを生成します。

ステート・マシンがライト・コマンドをメモリに発行するとき、IPコアは、ライト・データ FIFOバッファからライト・バスとのためのライト・バデータを読み出します。 ライト・コマンドとライト・データとの関係は afi_wlat信号によります。このロジックは、データが正しい時に外部メモリ・インタフェース DQピンに到着するように WDFRライト・データ FIFO要求信号を示します。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 55: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒5ブロック説明

ライト時に、IPコアは、ステート・マシン出力およびの afi_wlat信号に基づいてと以 AFI信号生成します :

■ afi_dqs_burst

■ afi_wdata_valid

■ afi_wdata

■ afi_dm

リード時には、afi_doing_read信号は afi_rdata_valid信号を生成し、PHYのポストアンブル回路を制御します。

ODT 生成ロジックOn-Die Termination (ODT)生成ロジックはアルテラが推奨する手法に基づいてコントローラのための必要な ODT信号を発生させます。

DDR2 SDRAM 表 5–1には、DIMMあたりのシングル・スロットのシングル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

1 リードには、ODTがありません。

表 5–2には、DIMMあたりのシングル・スロットのデュアル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

1 リードには、ODTがありません。

表 5–3 には、DIMMあたりのデュアル・スロットのシングル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

表5‒1. ODT̶DIMMあたりの DDR2 SDRAMシングル・スロットのシングル・チップ・セレクト ( ライト )

ライト・オン イネーブルされる ODTmem_cs[0] mem_odt[0]

表5‒2. ODT̶DIMMあたりの DDR2 SDRAMシングル・スロットのデュアル・チップ・セレクト ( ライト )

ライト・オン イネーブルされる ODTmem_cs[0] mem_odt[0]

mem_cs[1] mem_odt[1]

表5‒3. ODT̶DIMMあたりの DDR2 SDRAMデュアル・スロットのシングル・チップ・セレクト ( ライト )

ライト・オン イネーブルされる ODTmem_cs[0] mem_odt[1]

mem_cs[1] mem_odt[0]

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 56: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒6 第 5章 : 機能の説明̶コントローラブロック説明

表 5–4には、DIMMあたりのデュアル・スロットのデュアル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

DDR3 SDRAM表 5–5 には、DIMMあたりのシングル・スロットのシングル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

1 リードには、ODTがありません。

表 5–6には、DIMMあたりのシングル・スロットのデュアル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

1 リードには、ODTがありません。

表 5–7には、DIMMあたりのデュアル・スロットのシングル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

表5‒4. ODT̶DIMMあたりの DDR2 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]

表5‒5. ODT̶DIMMあたりの DDR3 SDRAMシングル・スロットのシングル・チップ・セレクト ( ライト )

ライト・オン イネーブルされる ODTmem_cs[0] mem_odt[0]

表5‒6. ODT̶DIMMあたりの DDR3 SDRAMシングル・スロットのデュアル・チップ・セレクト ( ライト )

ライト・オン イネーブルされる ODTmem_cs[0] mem_odt[0]

mem_cs[1] mem_odt[1]

表5‒7. ODT̶DIMMあたりの DDR3 SDRAMデュアル・スロットのシングル・チップ・セレクト ( ライト )

ライト・オン イネーブルされる ODTmem_cs[0] mem_odt[0] and mem_odt[1]

mem_cs[1] mem_odt[0] and mem_odt[1]

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 57: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒7ブロック説明

表 5–8 には、DIMMあたりのデュアル・スロットのシングル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

表 5–9 には、DIMMあたりのデュアル・スロットのデュアル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

表 5–10には、DIMMあたりのデュアル・スロットのデュアル・チップ・セレクト用のイネーブルされる ODT信号を示しています。

ユーザー制御による側波帯信号側帯波信号は標準インタフェースに直接にマップしないアルテラ固有の信号です。ユーザー制御の側帯波信号は、次の信号で構成されます。

ユーザー・オートプリチャージ・コマンドオートプリチャージ・リードおよびオートプリチャージ・ライト・コマンドで、このリードまたはライト・コマンドが現在開いているロウへの最終アクセスであることをメモリ・デバイスに示すことができます。 メモリ・デバイスが自動的に閉じるか、またはオートプリチャージが現在アクセスしているページを閉じるので、同じバンクへの次のアクセスは迅速になります。

このコマンドは、高速のランダム・アクセスを必要とするアプリケーションに有益です。 リードまたはライト要求の間、local_autopch信号をアサートすることによってオートプリチャージを要求できます。

表5‒8. ODT̶DIMMあたりの DDR3 SDRAMデュアル・スロットのシングル・チップ・セレクト ( リード )

リード・オン イネーブルされる ODTmem_cs[0] mem_odt[1]

mem_cs[1] mem_odt[0]

表5‒9. 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]

表5‒10. 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]

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 58: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒8 第 5章 : 機能の説明̶コントローラブロック説明

ユーザー・リフレッシュ・コマンドユーザー・リフレッシュ・コマンドは、リフレッシュにメモリを配置する要求をイネーブルします。ユーザー・リフレッシュ・コントロールは、リードまたはライト要求よりも優先されます。メモリに 9つの連続のリフレッシュ・コマンドに発行することができます。

マルチキャスト・ライトマルチキャスト・ライト要求信号で現在のライト要求をすべてに送るようにコントローラに頼むことができる、チップで選択します。 マルチキャスト・ライト要求信号を使用すると、コントローラですべてのチップ・セレクトの現在のライト要求を送信することができます。IPコアはシステムの全ランクにライト・データを書き込みます。 マルチキャスト・ライト機能は、tRCに当たらずにチップ に を通してリード・データを継続的にサイクルできる tRC緩和に役に立ちます。RDIMMを使用する時、または ECC機能を使用する時には、マルチキャスト・ライトは使用不可能になります。

低消費電力ロジック低消費電力ロジックには、2つのタイプがあります:ユーザー制御セルフ・リフレッシュ・ロジック、およびプログラマブル・タイムアウト・ロジック付きの自動パワーダウンです。

ユーザー制御セルフ・ロジックllocal_self_rfsh_req信号をアサートする時には、コントローラは、現在の実行しているリードおよびライトを完了して、コマンド・キューを中断して、そしてセルフ・リフレッシュ・モードにメモリをすぐに配置します。 コントローラがメモリをセルフ・リフレッシュ・モードに配置するときには、それは、確認信号のlocal_self_rfsh_ackをアサートして反応します。 選択限りでメモリをセルフ・リフレッシュ・モードに配置したままにしておくことができます。

セルフ・リフレッシュ・モードからメモリを取り出すために、要求信号をデアサートする必要があります。コントローラは、メモリはもうセルフ・リフレッシュ・モードではないときに確認信号をデアサートして応答します。

プログラマブル・タイムアウト付きの自動パワーダウンもしコントローラにでアイドル・コントローラ・クロック・サイクルの要求された数が観察される場合、コントローラは、パワーを節約するために、メモリをパワーダウン・モードに自動的に配置しますます。Controller Settingsタブの Auto Power Down Cyclesパラメータは、1から 65,535までアイドル・コントローラ・クロック・サイクルの間の範囲を指定することができます。 プログラマブル・タイムアウトのカウンターは、コマンド・キューにユーザー・リードたはライト要求が全然ない時に開始します。 コントローラは、パワーダウン・モードでメモリに配置したら、それは、確認信号の local_powerdown_ackをアサートすることによって応答します。

ECCオプションの誤り訂正コード(ECC)は、エンコーダとデコーダ・コレクタで構成されており、シングル・ビット・エラーの検出と訂正、ダブル・ビット・エラーの検出を行います。ECCロジックは 2つの幅で使用可能です :64/72ビットおよび 32/40 ビット。ECCロジックには、以下の特徴があります。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 59: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒9ブロック説明

■ Hammingコード ECC:64または32ビットの各データを 72または 40ビットのコードワードにエンコードします。

■ リードおよびライトに 1クロックのレイテンシの増加があります。

■ すべてのシングル・ビット・エラーを検出し、訂正します。

■ すべてのダブル・ビット・エラーを検出します。

■ シングル・ビットおよびダブル・ビット・エラーを達します。

■ DMピン付きのメモリ・デバイス用のリード・モディファイ・ライトのサイクルをトリガする部分的書き込みを受け入れます。

■ テストやデバッグのための ECC訂正をトリガするためにシングル・ビットおよびダブル・ビット・エラーを挿入することができます。

■ エラー発生時に割り込みを生成できます。

シングル・ビットまたはダブル・ビット・エラーが発生する時には、ECCロジックは、ECCエラーが発生したを通知するために ecc_interrupt信号をトリガさせます。シングル・ビットエラーが発生する時には、ECCロジックはエラー・アドレスを読み出して、 そしてその訂正されたデータをまた書き込みます 。ダブル・ビット・エラーが発生すると、ECCロジックは、エラーを訂正しませんが、データが間違っていることを示すために、local_rdata_error信号をアサートします。local_rdata_error信号は local_rdata_valid 信号と同じタイミングに続いています。

自動訂正をイネーブルすることで、ECCロジックが補正が完了するまでのコントローラの保留しているすべての活動を遅延することができます。訂正を使用不可にすることができて、よりよいシステム効率を保証するためにコントローラがアイドルの時には、訂正を手動でスケジューリングします。 ECCエラーを手動で訂正するためには、これらのステップに従ってください。

1. 割り込みが発生するとき、SBE_ERRORレジスタを読み出します。シングル・ビット・エラーが発生するとき、SBE_ERRORレジスタは 1に等しいとします。

2. ERR_ADDRレジスタを読み出します。

3. RR_ADDRレジスタに格納されているメモリ・アドレスにダミーのライトを発行することにより、シングル・ビット・エラーが訂正します。ダミーのライトがlocal_be信号ゼロ付きのライト要求です。部分的ライトはそのアドレスでのデータを訂正し、 そしてその訂正されたデータをまた書き込みます 。

表 5–15 ~ 表 5–18 には、レジスタ・マップについての情報を示します。

部分的ライトECCは部分的書き込みをサポートします。アドレス信号、データ信号、およびバースト信号に加え、Avalon-MMインタフェースは、バイト・イネーブルのための信号ベクタの local_beもポートします。この信号ベクタの各ビットは、データ・バス上の1バイトを表します。したがって、これらの任意のビットでロジック Lowがコントローラにその特定のバイトに書き込みを行えないように指示し、部分的ライトが発生します。ECCコードは、データバスのすべてのバイトで計算されます。任意のバイトが変更された場合、IPコアは ECCコードを再計算してし、新しいコードをメモリに書き込む必要があります。

部分的書き込みの場合、ECCロジックは以下のステップを実行します。

1. ECCロジックはリード・コマンドを部分的ライト・アドレスに送信します。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 60: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒10 第 5章 : 機能の説明̶コントローラブロック説明

2. 特定のアドレスのためのメモリからリターン・を受け取るとすぐに、ECCロジックはデータをデコードし、エラーをチェックし、そして、訂正されるまたは正しいデータワードを受信情報と合併します。

3. ECCロジックは、ライトを発行して、最終データと新しい ECCコードを書き込みます。

以下のコーナー・ケースが発生する可能性があります。

■ リード・モディファイ・ライトのプロセスのリード位相でシングル・ビット・エラーを発生することができます。このケースでは、IPコアは最初に、シングル・ビット・エラーを訂正し、シングル・ビット・エラーカのウンターをインクリメントし、そして、この訂正済みのデコードされたデータ・ワードに部分的ライトを実行します

■ リード・モディファイ・ライトのプロセスのリード位相でダブル・ビット・エラーを発生することができます。このケースでは、IPコアはダブル・ビット・エラーカのウンターをインクリメントし、割込みを発行します。IPコアは新しいライト・ワードをエラーの位置に書き込みます。 ECCのステータス・レジスタはエラー情報を追跡します。

図 5–3 にはコントローラ用の部分的ライト動作を示します。

図5‒3. コントローラ用の部分的ライト̶フル・レート

図5‒3 の注 :(1) R は、リード・モディファイ・ライト・プロセス中に内部リード・バックのメモリ・データを表して

います。

図5‒4. コントローラ用の部分的ライト̶ハーフ・レート

図5‒4 の注 :(1) Rは、リード・モディファイ・ライト・プロセス中に内部リード・バックのメモリ・データを表して

います。

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

local_address

local_size

local_be

local_wdata

mem_dm

mem_dq

0

1

X1

01234567

67 R R R

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 61: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒11トップ・レベル信号の説明

部分的バーストDMピンを持たない DIMMは、部分的バーストをサポートしません。 同時にメモリに4個(ハーフ・レート)または 8ワード(フル・レート)の最小値を書き込む必要があります。

図 5–5には、コントローラ用の部分的バースト動作を示します。

トップ・レベル信号の説明表 5–11には、クロックおよびリセット信号を示します。

1 サフィックスの _nはアクティブ Low信号を表しています。

図5‒5. コントローラ用の部分的バースト

local_address

local_size

local_be

local_wdata

mem_dm

mem_dq

0

1

X1

01234567

67 45 23 01

表5‒11. クロックおよびリセット信号 ( その1 )

信号名 入力 / 出力 説明

global_reset_n 入力

コントローラをリセットするための非同期リセット入力。その他のリセット信号はすべて、再同期化されたこの信号から派生したものです。この信号は 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がユーザーに提供する代替クロックです。 このクロックは常に外部メモリ・インタフェースと同じ周波数で動作します。ハーフ・レート・デザインでは、このクロックは、phy_clk の 2倍の周波数であり、2xのクロックを必要とする時には、いつでもを使用ことができます。 フル・レート・デザインでは、phy_clk信号と同じ PLL出力はこのクロックをドライブします。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 62: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒12 第 5章 : 機能の説明̶コントローラトップ・レベル信号の説明

5–14ページの表 5–12 には、コントローラのローカル・インタフェース信号を示します。

aux_half_rate_clk 出力

PHYがユーザーに提供する代替クロックです。このクロックは常に外部メモリ・インタフェースの半分の周波数で動作します。フル・レート・デザインでは、このクロックは、phy_clk の半分の周波数であり、例えばハーフ・レート・ブリッジのユーザー・サイドをクロックするときに使用できます。ハーフ・レートのデザインでは(または Enable Half Rate Bridgeオプションがオンになっている場合)phy_clk信号はこのクロックをドライブする同じ PLL出力がドライブされます。

dll_reference_clk 出力 外部でインスタンス化された DLLに供給される基準クロックです。

reset_request_n 出力

PLL出力がロックされていないことを示すリセット要求出力です。任意のシステム・レベル・リセット・コントローラへのリセット要求入力としてこれを使用します。PLLがロックしている間、この信号は常に Lowです。したがって、この信号を使用するどのリセット・ロジックにも、レベル検出ではなく、立ち下がりエッジでリセット要求を検出すべきです。

soft_reset_n 入力

他のシステム・リセット・ロジックによって、SOPC Builderまたはコントロールのエッジ検出リセット入力です。 PHYが使用する PHYではなく、完全リセットを 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ピンの GNDに接続したキャリブレーションと接続する必要があります。 (適切なバイス・ハンドブックを参照してください。)

oct_rup 入力 (OCT マスタ用 )

デバイスにおける適切な RUPピンの Vccioに接続したキャリブレーションと接続する必要があります。 (適切なバイス・ハンドブックを参照してください。)

dqs_delay_ctrl_import 入力この PHYインスタンスの別の PHYインスタンスの DLLを使用することができます。 他の PHYインスタンスの importポートに PHYインスタンスの exportポートを DLLに接続させます。

表5‒11. クロックおよびリセット信号 ( その2 )

信号名 入力 / 出力 説明

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 63: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒13トップ・レベル信号の説明

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 64: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒14 第 5章 : 機能の説明̶コントローラトップ・レベル信号の説明

表5‒12. ローカル・インタフェース・デザイン ( その1 )

信号名 入力 / 出力 説明

local_address[] 入力

バーストを開始する必要があるメモリ・アドレスです。デフォルトで、IPコアはバンク・インターリービング手法へローカル・アドレスをマップします。 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コアは、メモリ・サイドのカラム・アドレス( 4の倍数で)の最下位ビット(LSB)を無視します。■ ハーフ・レート・コントローラ1チップ・セレクトの場合 : 幅 = ロウ・ビット + バンク・ビット + カラム・ビット – 2

複数のチップ・セレクトの場合 : 幅 = チップ・ビット + ロウ・ビット + バンク・ビット + カラム・ビット – 2

バンク・アドレスが 2ビット幅、ロウは 13ビッ幅、およびカラムは 10ビット幅の場合、ローカル・アドレスは 23ビット幅です。 バンクへに local_addressをマップする場合、ロウおよびカラム・アドレス は:local_addressは 23ビット幅local_address[22:10] = ロウ・アドレス [12:0]

local_address[9:8] = バンク ・アドレス [1:0]

local_address [7:0] = カラム・アドレス [9:2]

ローカル・データ幅は、メモリ・データバス幅の 4倍のため、IPコアは、メモリ・サイドのカラム・アドレスの 2つの最下位ビット(LSB)を無視します。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 65: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒15トップ・レベル信号の説明

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 >

local_burstbegin 入力

Avalonバースト開始ストローブで、Avalonバーストの開始を示します。他のすべての Avalon-MM信号とは異なり、local_readyがディアサートされた場合、バースト開始信号はアサートされたままにはなりません。 ライト・トランザクションには、各バースト転送の最初にこの信号をアサートし、この信号はバースト転送あたり 1サイクルに Highに維持されています(スレーブは local_readyをディアサートしても)。 local_write_reqがアサートされる時には、IPコアは phy_clkの上昇エッジでこの信号をサンプリングします。スレーブはlocal_ready信号をディアサートした後、マスタは、local_ready信号が再び Highになるまで、すべてのライト要求信号をアサートされるようにしておきます。リード・トランザクションには、リード要求がアサートされるときにこの信号、およびメモリにデータが読み込まれる local_addressをアサートしてきださい。スレーブは 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コアは、すでに要求を処理している場合を除き、リードおよびライト要求よりも優先されます。

表5‒12. ローカル・インタフェース・デザイン ( その2 )

信号名 入力 / 出力 説明

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 66: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒16 第 5章 : 機能の説明̶コントローラトップ・レベル信号の説明

local_refresh_chip 入力

ユーザー・リフレッシュを発行するチップを制御します。 IPコアはlocal_refresh_reqとこのアクティブ High信号を使用しています。この信号はメモリ・チップ・セレクトと同じくらい幅があります。この信号は、対応するメモリ・チップのリフレッシュを表し、各ビットに High値をアサートします。例:local_refresh_chip信号が 4’b0101の値が割り当てられている場合、コントローラは、メモリ・チップ 0および 2をリフレッシュしますが、メモリ・チップ 1および 3は、リフレッシュされていません。

local_size[] 入力

バイナリ数としてエンコードされたのメモリへの要求されるリードまたはライトのアクセスのビート数を制御します。 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をデアサートする必要があります。

local_multicast 入力

インバンド・マルチキャストのライト要求信号です。 IPコアはlocal_refresh_reqとこのアクティブ High信号を使用しています。この信号が Highにアサートされている場合、IPコアは、すべての使用可能なメモリ・チップにデータを書き込みます。

local_autopch_req 入力

自動プリチャージのユーザー制御です。.Enable Auto-Precharge Controlをオンにすると、local_autopch_req 信号が使用可能になり、自動プレチャージ・ライトまたは自動プレチャージ・リード・コマンドを発行するコントローラを要求することができます。これらのコマンドは、メモリ・コントローラからの明示的なプリチャージ・コマンドを指定せずに適切な時期に、現在のバンクにプリチャージ・コマンドを発行する原因となります。現在のリードまたはライトが現在開いているロウに発行するのは最後であると知っていると、この機能は特に便利です。そのバンクを使用する次回には、アクセス・コントローラは、ロウをアクティブにする前に、バンクをプリチャージする必要がないので、アクセスは速くなります。local_autopch_reqがアサートされたメモリ・バーストより長いローカル・バーストを発行する場合、コントローラは、最後のリードまたはライト・コマンドを使用して自動プレチャージを発行します。

表5‒12. ローカル・インタフェース・デザイン ( その3 )

信号名 入力 / 出力 説明

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 67: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒17トップ・レベル信号の説明

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_init_doneがアサートされる前に、コントローラは、まだリードとライト要求を受け入れていますが、安全になるまで、メモリに発行しません。この信号は、キャリブレーションが成功していることを示しません。

local_rdata[] 出力リード・データバス。local_rdataの幅は、フル・レート・コントローラのメモリ・データバスの 2倍 ;ハーフ・レート・コントローラのメモリ・データバスの 4倍です。

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_refresh_ack 出力

リフレッシュが発行されるたびに 1クロック・サイクルの間アサートされるリフレッシュ要求確認です。Enable User Auto-Refresh Controlsをオンにしない場合でも、local_refresh_ackは、コントローラがリフレッシュ・コマンドを発行したことをローカル・インタフェースに示します。

表5‒12. ローカル・インタフェース・デザイン ( その4 )

信号名 入力 / 出力 説明

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 68: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒18 第 5章 : 機能の説明̶コントローラトップ・レベル信号の説明

表 5–13 には、インタフェース信号を示します。

local_self_rfsh_ack 出力 セルフ・リフレッシュ要求確認信号。コントローラがこの信号をアサートとディアサートして local_self_rfsh_req信号に応答ます。

local_power_down_ack 出力自動パワーダウン確認信号。コントローラは、1クロック・サイクルで毎回自動パワーダウンが発行されるとき、この信号をアサートします。

ecc_interrupt 出力ECCロジックからの割り込み信号。コントローラは、ECC機能がオンになるとき、この信号がアサートされ、コントローラがエラーを検出します。

表5‒12. ローカル・インタフェース・デザイン ( その5 )

信号名 入力 / 出力 説明

表5‒13. インタフェース信号

信号名 入力 / 出力 説明

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[] 出力 メモリ・データ・マスク信号。ライト時に個々のバイトをマスクします。

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専用。

表5‒13 の注 :(1) この信号はラッチされた DIMM用です。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 69: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒19レジスタ・マップの説明

表 5–14 に、CSRインタフェース信号を示します。

レジスタ・マップの説明コントローラ・レジスタ・マップは、メモリ・コントローラの設定を制御することができます。コントローラ・レジスタ・マップにアクセスするには、Avalon-MMプロトコルを使用して、表 5–14での CSRのインタフェース信号を接続してください。

表 5–15 ~ 表 5–18に、コントローラのレジスタ・マップを示します。

表5‒14. 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信号が owになる場合は、HPC IIは、より多くの要求を受け入れる準備ができています。

表5‒15. レジスタ・マップ

アドレス 内容0x130 ECCコントロール・レジスタ0x131 ECCステータス・レジスタ0x132 ECCエラー・アドレス・レジスタ

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 70: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒20 第 5章 : 機能の説明̶コントローラレジスタ・マップの説明

表5‒16. アドレス 0x130 ECC コントロール・レジスタ

ビット 名称 デフォルト アクセス 説明

0 ENABLE_ECC 1 RW 1の場合、ECCの生成およびチェックをイネーブルします。

1 ENABLE_AUTO_CORR — RW1の場合、検出されたシングル・ビット・エラーの自動修正をイネーブルします。

2 GEN_SBE 0 RW

1の場合、メモリに書き込み IPコアのデータでのシングル・ビット・エラー、ビット 0 の意図的な挿入をイネーブルします。 このビットは、テスト用にのみ使用できます。

3 GEN_DBE 0 RW

1の場合、メモリに書き込み IPコアのデータでのダブル・ビット・エラー、ビット 0 と 1の意図的な挿入をイネーブルします。 このビットは、テスト用にのみ使用できます。

4 ENABLE_INTR 0 RW 1の場合、割り込み出力をイネーブルします。

5 MASK_SBE_INTR 0 RW 1の場合、シングル・ビット・エラー割り込みをマスクします。

6 MASK_DBE_INTR 0 RW 1の場合、ダブル・ビット・エラー割り込みをマスクします。

7 CLEAR 0 RW

1の場合、このセルフ・クリア・ビットに書き込むことにより、割込み信号、エラー・ステータスおよびエラー・アドレス・レジスタがクリアされます。 また、SBE_ECCおよび SBE_DCCカウンタもクリアされます。

9 Reserved 0 — 今後の使用のために予約されています。

表5‒17. アドレス 0x131 ECC ステータス・レジスタ

ビット 名称 デフォルト アクセス 説明

0 SBE_ERROR 1 RO シングル・ビット・エラーが発生するときに 1に設定します。

1 DBE_ERROR 1 RO ダブル・ビット・エラーが発生するときに1に設定します。

2-7 Reserved 0 — 今後の使用のために予約されています。

8-15 SBE_COUNT 0 ROこの前ステータス・レジスタ・カウンタがクリアされて以来発生したシングル・ビット・エラーの数を報告します。

16-23 DBE_COUNT 0 ROこの前ステータス・レジスタ・カウンタがクリアされて以来発生したダブル・ビット・エラーの数を報告します。

24-31 Reserved 0 — 今後の使用のために予約されています。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 71: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 5 章 : 機能の説明̶コントローラ 5‒21レジスタ・マップの説明

表5‒18. アドレス 0x132 ECC エラー・アドレス・レジスタ

ビット 名称 デフォルト アクセス 説明

0-31 ERR_ADDR 0 RO

最新の ECCエラー・アドレスです。このアドレスは、チップ、バンク、ロウ、およびカラム・アドレスの連結が含まれています。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 72: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

5‒22 第 5章 : 機能の説明̶コントローラレジスタ・マップの説明

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 73: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

6. 機能の説明̶UniPHY

本章では、UniPHY付きの DDR2および DDR3 SDRAMコントローラの PHY部分について説明します。

ブロック説明PHYは、以下の主要な機能ユニットで構成されています。

■ リセットおよびクロックの生成

■ アドレスおよびコマンド・データパス

■ ライト・データパス

■ リード・データパス

■ シーケンサ

図 6–1には、PHYのブロック図を示します。

図6‒1. PHY のブロック図

I/O PadsExternalMemoryDevice

UniPHY

FPGA

Write Datapath

Address and

Command Datapath

SequencerMemory Controller

Read Datapath

ResetGeneration

AFI to Memory

Controller

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 74: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒2 第 6章 : 機能の説明̶UniPHYブロック説明

I/O パッド

f I/Oパッドでは、すべての I/Oのインスタンス化が含まれています。UniPHY I/O回路のバルクは、IVシリーズのデバイス・ファミリとそれ以前のための ALTDQ_DQSメガファンクション、および Stratix Vデバイスのための ALTDQ_DQS2メガファンクションでカプセル化されています。

リセットおよびクロックの生成PHYのクロック動作は 2つのドメインに分類できます: PHYメモリ・ドメインおよび PHY-AFIドメインです。PHYのメモリ・ドメインは外部メモリ・デバイスに接続され、いつもフル・レートであります。PHY-AFIのドメインは、メモリ・コントローラに接続され、コントローラの選択に基づいてフル・レート・クロックまたはハーフ・レート・クロックのいずれかです。表 6–1に、ハーフ・レート・デザインに必要なクロックを示します。

表6‒1. クロック̶ハーフ・レート・デザイン

クロック ソースクロック・レート

フェースクロック・ネットワーク・タイプ

説明

pll_afi_clk PLL: C0 ハーフ 0° 非制約 AFIロジックのクロック。

pll_mem_clk PLL: C1 フル0° (1)

-45° (2)

デュアル・リージョナル (4)

メモリへの出力クロック。

pll_write_clk PLL: C2 フル

90° (1)

-135° (2)

45° (3)

デュアル・リージョナル (4)

メモリへのデータ・アウトの書き込みデータのクロックです(データは遅延 pll_write_clkと中央に揃えられます)。

pll_addr_cmd_clk PLL: C3 ハーフ

ウィザードに設定 (デフォルト270°)

デュアル・リージョナル

メモリへのアドレスおよびコマンド・アウトのクロックです(アドレスおよびコマンドはメモリ・クロックと中央に揃えられます)。

pll_afi_half_clk PLL:C4 四半期 0° 非制約

AFIのハーフ・クロック。ハーフ・レート・ブリッジのオプションがイネーブルするときにのみ使用されます。

pll_avl_clk PLL:C5 — 0° デュアル・リージョナル NIOSシーケンサ・クロック。

pll_config_clk PLL:C6 — 0° デュアル・リージョナル スキャン・チェイン・クロック。

DQS メモリ フル 90° ローカル リード・データ・ストローブ。表6‒1の注 :(1) メモリの周波数 >240 MHzの場合(2) メモリの周波数 <240 MHzの場合(3) メモリの周波数 >240 MHzの場合、Stratix Vデバイスのみ(4) インタフェースの幅 36以上のパラメータの場合、pll_mem_clkおよび pll_write_clkはグローバル・ネットワークを使用して割り当てます。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 75: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒3ブロック説明

表 6–2には、フル・レートのデザインに必要なクロックをリストします。

UniPHYは、アクティブ Low、非同期アサートおよび同期ディアサートのリセット手法を使用します。グローバル・リセット信号は、PHYの PLLおよび PLLがロックされるまでリセット状態に保持されているシステムの残りの部分をリセットします。同期パイプライン・ステージの数は 4に設定されています。

アドレスおよびコマンド・データパスメモリ・コントローラは、メモリ仕様を満たすためにリードとライトのアドレスおよびコマンドを制御します。 PHYは、メモリ・コントローラから受信したアドレスおよびコマンドをメモリ・デバイスに通過します。PHYは、アドレスまたはコマンドに中性であり、回路の両方は同じです。

アドレスおよびコマンドのデータパスの出力は、アドレスおよびコマンド I/Oの入力に接続します。 ALTDDIO_OUTメガファンクションは、SDRから DDRにアドレスを変換します。ALTIOBUFメガファンクション付きの ALTDDIO_OUTメガファンクションは、メモリにアドレスおよびコマンドのクロックを提供しています。

表6‒2. クロック̶フル・レートのデザイン

クロック ソース クロック・レート フェース

クロック・ネットワークのタイプ

説明

pll_afi_clk PLL: C0 フル 0° 非制約 AFIロジックのクロック。

pll_mem_clk PLL: C1 フル90° (1)0° (2)

デュアル・リージョナ (3) メモリへの出力クロック。

pll_write_clk PLL: C2 フル180° (1)-90° (2)

デュアル・リージョナル (3)

メモリへのデータ・アウトの書き込みデータのクロックです(データは遅延 pll_write_clkと中央に揃えられます)。

pll_addr_cmd_clk PLL: C3 フル

ウィザードに設定 (デフォルト225°)

デュアル・リージョナル

メモリへのアドレスおよびコマンド・アウトのクロックです。180°で、メモリ・クロックにアドレスおよびコマンドと中央に揃えられます。 225°で、最良の全体的なタイミング結果を生成します。

pll_afi_half_clk PLL:C4 四半期 0° 非制約

AFIのハーフ・クロック。ハーフ・レート・ブリッジのオプションがイネーブルするときにのみ使用されます。

pll_avl_clk PLL:C5 — 0° デュアル・リージョナル NIOSシーケンサ・クロック。

pll_config_clk PLL:C6 — 0° デュアル・リージョナル スキャン・チェイン・クロック。

DQS メモリ フル 90° ローカル リード・データ・ストローブ。表6‒2の注 :(1) メモリの周波数 >240 MHzの場合(2) メモリの周波数 <=240 MHzの場合(3) インタフェースの幅 36以上のパラメータの場合、pll_mem_clkおよび pll_write_clkはグローバル・ネットワークを使用して割り当てます。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 76: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒4 第 6章 : 機能の説明̶UniPHYブロック説明

図 6–2 に、アドレスおよびコマンドのデータパスを示します。

ライト・データパスライト・データパスは、メモリ・コントローラから I/Oにライト・データを渡します。DQピンは双方向であり、リードとライト間で共有されます。メモリ・コントローラからのライト・データ有効信号は、出力イネーブル信号を生成して出力バッファを制御します。また、シリーズ(出力モード)とパラレル(入力モード)終端の間に選択するダイナミック終端のコントロール信号を生成します。 ALT_OCTメガファンクション(自動的にトップ・レベルのファイルでインスタンス化される)は終端値をコンフィギュレーションします。

レベリング回路DDR2では、レベリング回路は 240 MHzを超える周波数を自動的に起動されます。240 MHz以下の周波数の場合ではレベリングが使用されていません。DDR3では、レベリングはいつも起動されます。

240 MHz以下の周波数では、ツリー・スタイル・レイアウトを使用する必要があります。 240 MHz以上の周波数では、レベリング PHYは実装に適切にキャリブレーションするため、レベリング・レイアウトまたはツリー・スタイル・レイアウトのいずれかを選択することができます。より高い周波数の DDR3の実装では、最良のシグナル・インテグリティを得るためにフライバイ・トポロジーが推奨されます。

レベリング遅延チェインの詳細については、使用する FPGAのデバイス・ハンドブックのメモリ・インタフェース・ハードウェアの項を参照してください。

図 6–3に、レベリング・インタフェースのライト・データパスを示します。フル・レート PLL出力クロック phy_write_clkが必要とされているすべてのペリフェリ・クロックを生成するレベリング遅延チェイン・ブロックに供給されます。DQおよびDQS信号を生成するデータ信号は、出力位相アライメント・ブロックに渡します。出力位相アラインメント・ブロックは、メモリと接続する 1対の疑似差動クロックを作成する ALTIOBUFバッファに供給します。フル・レート・デザインでは、出力位相アライメントの HDR- SDRの部分はバイパスされます。<variation_name>_pin_assignments.tcl スクリプトは、DQSピンにすべての DQピンに関連するロジック・オプションを自動的に指定します。Quartus IIフィッタは DQS/DQピン・グループとしてピンを扱います。

図6‒2. アドレスおよびコマンドのデータパス

UpdateDecide

Translate

DDIO

DDIO

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 77: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒5ブロック説明

リード・データパスリード・データは、I/Oでの入力モード ALTDQ_DQSにキャプチャされます。キャプチャされたデータは、リード・データパスに転送されます。リード・データパスはクロック・ドメインのリード・キャプチャから AFIのクロック・ドメインへリード・データを同期して、SDRから HDR(ハーフ・レート・デザインのみ)にデータを変換します。

図6‒3. レベリング・インタフェースのライト・データパス

DDIO_OUT

DDIO_OUT 0

DDIO_OUT 1

DDIO_OUT 0

DDIO_OUT 2n-2

DDIO_OUT 2n-1

DDIO_OUT n-1

ALTIOBUF

wdata[0]

wdata[1]

wdata[2]

wdata[3]

wdata[4n-4]

wdata[4n-3]

wdata[4n-2]

wdata[4n-1]

wdata[4n-1:0]

phy_write_clk

DQ[0]

DQ[n-1]

DQS

DQSn

Output Phase Alignment

DQ clock

DQS clock

0_Phase

Leveling Delay Chain

DDIO_OUT_DQS_0

DDIO_OUT_DQS_1

afi_data_valid

0

0

SDR - DDR HDR - SDR

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 78: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒6 第 6章 : 機能の説明̶UniPHYブロック説明

ハーフ・レート・デザインでは、FIFOバッファのライト側は、FIFOバッファのリード側の半分の幅と 2倍の深さであるはずです。IPコアがライト側を SDRから HDRにデータを効果的に変換する 2つのエントリに書き込んだ後に、リード側は 1つのエントリしか読み出しません。ライトとリードの両側が同じレートで動作するので、フル・レート・デザインでは、FIFOバッファのサイズが両方のライトとリードと同じです。ハーフ・レート・デザインでは、FIFOは、両方のリードとライトの両側にハーフ・レートで動作し、4ハーフ・レート・エントリが含まれています。フル・レート・デザインは、FIFOの両方のリードとライト側にフル・レートで動作し、8フル・レート・エントリが含まれています。

図 6–4に、リード・データパスを示します。

シーケンサシーケンサは、メモリ・コントローラからのすべての信号を傍受し、キャリブレーション中に制御します。シーケンサはキャリブレーション・アルゴリズムを処理する Nios® IIIプロセッサが含まれています。

図 6–5は、シーケンサのブロック図を示しています。キャリブレーション・アルゴリズムは、FPGAの RAMブロック内に存在する Nios IIコードにコンパイルされ、スクラッチ・スペースとして、この RAMの一部を使用することができます。デバッグ・インタフェースは、様々なマネージャと交信するメカニズムおよびキャリブレーション・アルゴリズムの進行状況を追跡するためのメカニズムを提供します。シーケンサの初期の開発時のデバッグ・ツールとしてインタフェースを使用できますが、PHY内で発生するメモリ・インタフェースおよびデバッグの問題と交信するためにそれを使用することができます。マネージャは、RTLで指定され、キャリブレーションのタイミング・プロトコル特定の側面をカプセル化します。

図6‒4. リード・データパス

ALTDQ_DQS

DQ

Read Enable

DQSDQS (Gated)

Clock Div

LFIFO Neg

AFI Clock

AFI Clock

Write Clock (in Full-rate mode)AFI Clock (in Half-rate mode)

LFIFO Pos

VFIFO

MemoryLocal

Logic

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 79: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒7ブロック説明

キャリブレーションは、メモリに、そしてメモリからのデータを確実に転送することができるようにメモリ・インタフェースを作成 PHYと I/Oをコンフィギュレーションします。キャリブレーションは、レイテンシを最小限に抑えるための PHY内の FIFOバッファに設定を適用して、リード有効信号が適切なタイミングで生成されることが保証されます。また、キャリブレーションは I/O遅延チェインと位相に設定を適用することにより、メモリに、そしてメモリからのデータ転送は、データ・クロックに応じて中央に配置されることを確認します。

SCC マネージャスキャン・チェイン・コントロール(SCC)マネージャはメモリ・インタフェースを作成する I/Oの様々な遅延と位相を設定させます。最新アルテラのデバイスファミリでは、実行時に再構成することが出力イネーブル・パスのダイナミック遅延チェインを提供しています。SCCマネージャは、着信および送信信号に遅延を追加するには、チェインにアクセスすることができます。Avalon-ST インタフェースのマスタは、使用可能な最大遅延設定を入出力パスに必要とし、パスに適用するように、特定の遅延値をこの範囲に設定することができます。

SCCのマネージャは、Avalon- STインタフェースおよびすべての入力、出力と位相の設定のストレージ・メカニズムを実装しています。これは、DQまたは DQSコンフィギュレーション・ブロックをコンフィギュレーションする回路が内蔵されています。 Nios IIプロセッサは、遅延、位相、またはレジスタ設定を設定することができます。シーケンサは、適切な DQまたは DQSコンフィギュレーション・ブロックにシリアルにをスキャンします。

RWマネージャリード・ライトは(RW)マネージャは、AFIのを介してメモリ・デバイスへの読み出しと書き込みプロトコルをカプセル化します。これは、送信データを格納するバッファ、およびメモリからのリードを提供しています。また、以下のコマンドも提供しています。

図6‒5. シーケンサのブロック図

SCCManager

PLLManager

RWManager

RAM (SW)

DebugInterface

To DebugModule

To I/Os AFI PHYParameters

PLLControl

Avalon-ST InterfaceNios II

Processor

PHYManager

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 80: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒8 第 6章 : 機能の説明̶UniPHYブロック説明

■ ライト・コンフィギュレーション—使用するメモリを設定します。バースト・レングスは、リード・レイテンシとライト・レイテンシ、およびその他のデバイス固有パラメータを設定します。

■ リフレッシュ—DRAMのでリフレッシュ動作を開始します。コマンドは、SRAMデバイスに存在しません。シーケンサは、ライト・マネージャが自動的にリフレッシュ信号を生成するかどうかを決定するレジスタを提供しています。

■ イネーブルまたはディセーブル多用途レジスタ(MPR): メモリ・デバイスによっては、読み出し可能な目盛り具体的パターンを含んでいる特別なレジスターを提供します。 このコマンドはこのレジスタへのアクセスをイネーブルするか、またはディセーブルします。

■ アクティブ・ロウ—ロウとカラムの両方のあるメモリ・デバイスの場合、このコマンドは、特定のロウがアクティブになります。後続の読み出しと書き込みは、この特定のロウを動作します。

■ プリチャージ—新しいロウにアクセスする前に終了します。

■ ライトまたはリード・バスト—書き込みやデータのバースト・レングスを書き込み、または読み出します。

■ ライト保証—メモリ・アドレスとデータ・ラインが一定に保持する特別なモードで書き込みます。アルテラは、このライトのタイプのスキューの存在下で動作するように保証しますが、全体のバースト・レングスを横切る同じデータを書き込むことを制約します。

■ バック・ツー・バックのライトとリード—隣接するバンクにバック・ツー・バックのライトまたはリードを実行します。ほとんどのメモリ・デバイスは、バック・ツー・バックのライトとリードは、基準の差動バンクがあるため、同じバンクに以降のアクセスの厳密なタイミング制約があります。

■ プロトコル専用初期化—初期化の順序で必要です。

PHY マネージャPHYのマネージャは、キャリブレーションの PHYへのアクセスを提供します。また、PHYのマネージャは、PHYに関連しているキャリブレーション・アルゴリズムから情報を送信します。具体的には、PHY内に 2つの FIFOバッファがあります: VFIFOと LFIFO。キャリブレーションは、キャリブレーション中に両方の FIFOバッファのパラメータを設定します。VFIFOバッファは、メモリからのデータがサンプリングできる時間を (read_valid予測 )決定します・そして、LFIFOバッファはメモリからサンプリングされたデータを格納します。リード有効信号が生成される時に正確に決定する VFIFOバッファで使用可能な設定があります。 また、リード・レイテンシを決定する LFIFOバッファに設定もあります。また、PHYの FIFOバッファに制御する機能については、PHYのマネージャは、メモリの初期化シーケンスが完了したときを示すために PHYの信号を提供しています。初期化を完了するまで、メモリからの特定の信号は安定していないので、初期化が発生したときに PHYを通知するために便利です。

PLL マネージャPLLのマネージャーは、PHYの PLLへのアクセスを提供します。以下の PLLの 2つのパラメータを設定することができます:

■ 特定のクロック出力の位相。 1つの使用可能な 8つのタップを指定することができます。相変化は、PLLクロックを失う可能性がありません。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 81: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒9ブロック説明

■ 単一出力または内部 VCOの実行のときの周波数。CカウンタまたはそれぞれのMとNカウンタを変更することができます。このような変化は、PLLがロックを失うことになり、強制的システムがリセットされます。この動作は、デバッグにのみ制限されます。

Nios II プロセッサNios IIプロセッサは、キャリブレーション・アルゴリズムを管理し、キャリブレーションが完了すると、Nios IIプロセッサは使用できません。

キャリブレーション・アルゴリズムはいくつかの差異によってすべてのデバイス・ファミリをサポートします。 以下のセクションは Stratix IIIデバイスにおいてキャリブレーション・アルゴリズムを DDR3 SDRAMに記述します。 他のプロトコルとファミリのためのキャリブレーション・アルゴリズムはサブセットであり、重要な差異は必要な時に指摘されます。アルゴリズムがシーケンサ(Cコードの)のソフトウェアに完全に含まれているので、イネーブルおよびディセーブルの特有のステップは、フラグをオン/オフすることが含まれます。

キャリブレーションは、以下のステージで構成されています。

■ メモリ初期化

■ リード・データパスのキャリブレーション

■ ライト・データパスのキャリブレーション

■ 診断の実行

メモリ初期化キャリブレーションが適切に動作する前に、すべてのメモリ・デバイスを初期化する必要があります。シーケンサは、起動時に PHYの制御を獲得するため、シーケンサはこの初期化ステージを実行します。

リード・データパスのキャリブレーションリード・データパスのキャリブレーションは、以下のステップで構成されています。

■ DQSイネーブル・サイクルおよび位相のキャリブレーション

■ データ有効ウィンドウ内にビットあたりのリードのデスキューの実行

■ LFIFOレイテンシの低減

ライト・データパスのキャリブレーションライト・データパスのキャリブレーションは、以下のステップで構成されています。

■ DQに対しての DQSの中央揃え

■ mem_clkで DQSのアラインメント

テスト診断シーケンサは、入出力側でデータ有効ウィンドウのサイズを決定するために、入出力 DQと DQS遅延を取り除いてノイズ条件の下でリードとライト・マージンを推定します。 それはローカル・メモリでこの情報を格納して、デバッグ・インタフェースを通してアクセスできます。

診断のテストが完成すると、PHYインタフェースのコントロールがコントローラに戻され、シーケンサはパス信号またはフェイル信号を発行します。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 82: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒10 第 6章 : 機能の説明̶UniPHYインタフェース

インタフェース図 6–6に、UniPHYの主要ブロックおよび外部メモリ・デバイスとコントローラとどのようにインタフェースするかを示します。

1 UniPHYと同じレベルに DLL(Delay-Locked Loop)と PLL (Phase-Locked Loop)をインスタンス化すると、DLLと PLL共有が容易になります。

以下のインタフェースは、UniPHYトップ・レベルのファイルにあります。

■ AFI

■ メモリ・インタフェース

■ DLLおよび PLL共有インタフェース

■ OCTインタフェース

AFIUniPHYデータパスは、アルテラの PHYインタフェース(AFI)を使用しています。AFIは PHYとコントローラの間の簡単な接続です。AFIは、Denaliのモデルに基づき、いくつか追加のキャリブレーション関連信号と追加のアルテラ固有の側波帯信号があります。

メモリ・インタフェースメモリ・インタフェースについて詳しくは、6–13ページの「UniPHY信号」を参照してください。

DLL および PLL 共有インタフェースパラメータ・エディタの PHY Settingsタブで Master for PLL/DLL sharingの設定に応じて、マスタまたはスレーブとして UniPHYメモリ・インタフェースを生成することができます。生成された UniPHYバリアントのトップ・レベル・ファイルには、PLLとDLLが含まれています。PLLは基準クロックに由来する必要なクロック信号を生成されます。 DLLは、遅延符号語を生成します。HDLコードにマスタとスレーブのバリアントのインスタンスを作成するときは、スレーブのクロック入力にマスタからのPLL出力を接続する必要があります。

図6‒6. コントローラと外部メモリ付きの UniPHY インタフェース

UniPHY

UniPHY Top-Level File

Memory Interface

RUP and RDN

AFI

Reset Interface

PLL and DLL Sharing Interface

DLL

OCT

PLL

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 83: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒11インタフェース

1 マスタ .qipファイルは、Quartus II設定(.qsf)ファイルでスレーブ .qipファイルの前に表示される必要があります。

UniPHYメモリ・インタフェースは、クロックと遅延符号語を生成するには 1つの PLLおよび 1つの DLLが必要です。PLLと DLLは、マスタとスレーブのシナリオを使用して共有することができます。トップ・レベル・ファイルは、PLLと DLL 出力信号、入力と出力、および追加のパラメータ PLL_DLL_MASTERが定義されています。PLL_DLL_MASTERが 1の場合、RTLは、PLLと DLLをインスタンス化して、クロックおよび DLL符号語の入力と出力をドライブします。パラメータが 0の場合、ワイヤーは、以前 PLLと DLLに接続された出力がクロックと DLLの符号語の入力および出力に割り当てられます。入力と出力は、PLL/DLL sharingのオプションの設定に基づいて指定されています。

1 スレーブの IPコアを生成する場合は、タイミング解析が正しくクロック名を解決し、IPコアを分析できるようにするタイミング・スクリプトを変更する必要があります。それ以外の場合、ソフトウェアは、クリティカル・ワーニングや不正なタイミング・レポートを発行します。

タイミング・スクリプトを変更するには、以下のステップに従います。

1. テキスト・エディタでは、<IP core name>/constraints directory/<IP core name>_timing.tclファイルを開きます。

2. 次の 2つのラインを検索します。

■ set master_corename "_MASTER_CORE_"

■ set master_instname "_MASTER_INST_"

3. スレーブが接続される UniPHYマスタの _MASTER_CORE_をコア名で置き換えて、_MASTER_INST_をインスタンス名で置き換えます。

1 インスタンス名はインスタンスにフル・パスであり、<IP core name>_pin_assignments.tclスクリプトが実行された後に自動的に生成される <IP core name>_all_pins.txtファイルです。

4. UniPHYマスタというよりもスレーブ・コンポーネントがユーザー定義の PLLと接続される場合、すべてのクロック名を手動で入力する必要があります。

■ その次の8行で実行されるチェックによるmaster_corenameとmaster_instname変数を削除します。

■ テンプレートとしてすべてのクロック名のアサインメントを使用することができます。 例えば、local_pll_afi_clk "mycomponent|mypll|my_afi_clk"を設定してください。

c スレーブにクロック信号を接続するときに非常に注意する必要があります。コアが予期するものと異なる周波数または位相のクロックと接続することによって、ハードウェアに損傷を与える恐れがあります。

1 DLLと PLL共有インタフェースは、SOPC Builderで使用されていません。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 84: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒12 第 6章 : 機能の説明̶UniPHYインタフェース

OCT 共有インタフェースデフォルトで、UniPHY IPアドレスは、PHYのトップ・レベルの RTLファイルで必要なの OCTコントロール・ブロックを生成します。必要な場合は、他のコードで、このブロックをインスタンス化することができます。そして、PHY SettingsタブでMaster for OCT Control Blockをオフにすることによって、IPコアに必要な終端コントロール信号を供給します。Master for OCT Control Blockをオフにした場合、OCTコントロール・ブロックをインスタンス化する必要があります。または、マスタとして別の UniPHYインスタンスを使用して、並列終端と直列終端のコントロール・バス信号が PHYに接続されていることを確認します。

図 6–7および図 6–8には、OCT Control Block用のマスタありおよびマスタなしの PHYアーキテクチャを示します。

1 OCT共有インタフェースと OCTスレーブ・モードは、SOPC Builderで使用されていません。

図6‒7. OCT コントロール・ブロックのマスタ付きの PHY アーキテクチャ

図6‒8. OCT コントロール・ブロックのマスタなしの PHY アーキテクチャ

UniPHYOCT

DLL PLL

UniPHY Top-Level FileMemory Interface

RUP and RDN

PLL and DLL Sharing Interface

AFI

Reset Interface

UniPHYOCT

DLL PLL

UniPHY Top-Level FileMemory Interface

RUP and RDN

PLL and DLL Sharing Interface

AFI

Reset Interface

Series and Parallel

Termination Control

Buses

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 85: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒13UniPHY 信号

UniPHY 信号このセクションでは、UniPHY信号について説明します。表 6–3には、クロックおよびリセット信号を示します。

表 6–4に、信号を示します。

表6‒3. クロックおよびリセット信号

名称 入力 / 出力 幅 説明pll_ref_clk 入力 1 PLL基準クロック入力。

global_reset_n 入力 1PLLおよび PHYのすべてのロジックのアクティブLowグローバル・リセットです。これによりシステム全体が完全にリセットされます。

soft_reset_n 入力 1soft_reset_nを Lowに保持すると、PHYがリセット状態に保持されます。しかし、PLLをリセットしません(実行し続ける)。主に SOPC Builder用です。

reset_request_n 出力 1PLLがロックされている場合、reset_request_nがHighになります。 PLLがロックががロックされていない場合は、reset_request_nが Lowになります。

表6‒4. AFI 信号 ( その1 )

名称 入力 / 出力 幅 説明

クロックおよびリセット

afi_clk 出力 1コントローラおよびシステム・ロジックに供給されるハーフ・レート・クロック

afi_half_clk 出力 1 ハーフ・レート・クロック信号。

afi_reset_n 出力 1

afi_clk クロック・ドメインに出力をリセットします。非同期リセットとして使用されます。この信号は、非同期でアサートし、かつ同期してディアサートされます。

アドレスおよびコマンド

afi_addr 入力MEM_ADDRESS_WIDTH × AFI_RATIO

ロウ・アドレス。

afi_wps_n 出力 MEM_CONTROL_WIDTH ライト・イネーブル。afi_rps_n 出力 MEM_CONTROL_WIDTH リード・イネーブル。

ライト・データ

afi_dm 入力MEM_DM_WIDTH × AFI_RATIO

mem_dmを生成するデータ・マスク 入力。

afi_wdata 入力MEM_DQ_WIDTH × 2 × AFI_RATIO

mem_dqを生成するライト・データ入力 。

afi_wdata_valid 入力MEM_WRITE_DQS_WIDTH × AFI_RATIO

mem_dqおよびmem_dm 出力イネーブルを生成するライト・データ有効。

リード・データ

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 86: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒14 第 6章 : 機能の説明̶UniPHYUniPHY 信号

表 6–5に、DDR2および DDR3 SDRAMのインタフェース信号を示します。

afi_rdata 出力MEM_DQ_WIDTH × 2 × AFI_RATIO

リード・データ

afi_rdata_en 入力MEM_READ_DQS_WIDTH × AFI_RATIO

リード 入力の実行。メモリ・コントローラが読み出し動作を実行中であることを示します。

afi_rdata_en_full 入力MEM_READ_DQS_WIDTH × AFI_RATIO

フル・レート・コントローラのためのリード 入力の実行。 メモリ・コントローラが読み出し動作を実行中であることを示します。

afi_rdata_valid 出力 AFI_RATIO

バイト・レーンとアライメントでafi_rdata_enに示されていたでは、afi_rdata_enで有効リード・データを示すリード・データ有効。

キャリブレーション・コントロールおよびステータス

afi_cal_success 出力 1 ‘1’ はキャリブレーションが完了したことを示します。

afi_cal_fail 出力 1 ‘1’ はキャリブレーションが失敗したことを示します。

表6‒4. AFI 信号 ( その2 )

名称 入力 / 出力 幅 説明

表6‒5. DDR2 および DDR3 SDRAMのインタフェース信号

名称 入力 / 出力 幅 説明mem_address 出力 MEM_ADDRESS_WIDTH アドレス。mem_bws_n 出力 MEM_DM_WIDTH データ・マスク。mem_wps_n 出力 MEM_CONTROL_WIDTH ライト・イネーブル。mem_rps_n 出力 MEM_CONTROL_WIDTH リード・イネーブル。

mem_doff_n 出力 MEM_CONTROL_WIDTH このピンをグランドに接続するとデバイス内の DLLをオフにします。

mem_k, mem_kn 出力MEM_WRITE_DQS_WIDTH

メモリへのライト・クロック、DQSグループごとに 1クロックです。

mem_cq, mem_cq_n 入力MEM_READ_DQS_WIDTH

メモリへのリード・クロック、DQSグループごとに 1クロックです。

mem_d 入力 MEM_DQ_WIDTH 入力データ・バス。mem_q 出力 MEM_DQ_WIDTH 出力データ・バス。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 87: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒15UniPHY 信号

表 6–6 に、HardCopy® マイグレーションのために生成されるトップ・レベル・信号を示します。

表6‒6. トップ・レベル HardCopy マイグレーション ・信号 ( その1 )

名称 入力 / 出力 説明

altsyncram信号

hc_rom_config_clock 入力ROMローダ用のライト・クロック。 このクロックは、Nios IIコード・メモリのライト・クロック用です。

hc_rom_config_datain 入力 外部 ROM.からのデータ入力。

hc_rom_config_rom_data_ready 入力ワード・メモリをロードするときにコード・メモリ・ローダにアサートされます。

hc_rom_config_init 入力アサートされると、Nios IIコード・メモリは、外部 ROMからロードされていることが表示されます。

hc_rom_config_rom_rden 出力 外部 ROMと接続するリード・イネーブル・信号です。

hc_rom_config_rom_address 出力 外部 ROMと接続する ROMアドレスです。

DLL リコンフィギュレーション信号

hc_dll_config_dll_offset_ctrl_addnsub 入力

DLL用の加算および減算のコントロール・ポート。このポートは、hc_dll_config_dll_offset_ctrl_offsetの遅延オフセット設定が加算および減算されることを制御します。

hc_dll_config_offset_ctrl_offset 入力

DLLのオフセット入力 設定。この設定は、DLL遅延チェインの現在値から加算または減算される Grayコード化されたオフセットです。

hc_dll_config_dll_offset_ctrl_offsetctrlout 出力 現在の遅延オフセット設定のラッチさ

れた値と Grayコード化された値。

PLL リコンフィギュレーション信号

hc_pll_config_configupdate 入力 PLLリコンフィギュレーションをイネーブルするコントロール信号。

hc_pll_config_phasecounterselect 入力 ダイナミック位相調整のためのカウンタ選択を指定します。

hc_pll_config_phasestep 入力 ダイナミック位相シフトのための位相ステップを指定します。

hc_pll_config_phaseupdown 入力 位相シフトがアップまたはダウンかを指定します。

hc_pll_config_scanclk 入力 PLL リコンフィギュレーション・スキャン・チェイン・クロック。

hc_pll_config_scanclkena 入力 hc_pll_config_scanclkクロックのクロック・イネーブル・ポート。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 88: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒16 第 6章 : 機能の説明̶UniPHYUniPHY 信号

表 6–7に、HardCopy マイグレーションのための生成されるトップ・レベル・信号を示します。

hc_pll_config_scandata 入力PLLリコンフィギュレーション・スキャン・チェインのシリアル入力データ。

hc_pll_config_scandataout 出力 シリアル・スキャン・チェインのデータ出力。

hc_pll_config_scandone 出力

この信号は、スキャン・チェインのライト動作が進行しているときにアサートされます。この信号は、ライト動作が完了したときにディアサートされます。

表6‒6. トップ・レベル HardCopy マイグレーション ・信号 ( その2 )

名称 入力 / 出力 説明

表6‒7. トップ・レベル HardCopy マイグレーション信号 ( その1 )

名称 入力 /出力 説明

altsyncram信号

hc_rom_config_clock 入力ROMロード用のライト・クロック。このクロックは、Nios IIコード・メモリのライト・クロックとして使用されます。

hc_rom_config_datain 入力 外部 ROM.からのデータ入力。

hc_rom_config_rom_data_ready 入力ワード・メモリがロードできる状態になるとコード・メモリ・ローダにアサートされます。

hc_rom_config_init 入力アサートされると、Nios IIコード・メモリは、外部 ROMからロードされていることを表示します。

hc_rom_config_rom_rden 出力 外部 ROMに接続するリード・イネーブル信号。

hc_rom_config_rom_address 出力 外部 ROMに接続する ROMアドレス。

DLL リコンフィギュレーション信号

hc_dll_config_dll_offset_ctrl_addnsub 入力

DLL用の加算および減算のコントロール・ポート。このポートは、hc_dll_config_dll_offset_ctrl_offsetの遅延オフセット設定が加算および減算されることを制御します。

hc_dll_config_offset_ctrl_offset 入力

DLLのオフセット入力 設定。この設定は、DLL遅延チェインの現在値から加算または減算される Grayコード化されたオフセットです。

hc_dll_config_dll_offset_ctrl_offsetctrlout 出力 現在の遅延オフセット設定のラッチされ

た値と Grayコード化された値。

PLL リコンフィギュレーション信号

hc_pll_config_configupdate 入力 PLLリコンフィギュレーションをイネーブルするコントロール信号。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 89: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒17UniPHY 信号

表 6–4 ~ 表 6–6 mention.表 6–8に、表 6–4~表 6–6に記述したパラメータを示しています。

hc_pll_config_phasecounterselect 入力 ダイナミック位相調整のためのカウンタ選択を指定します。

hc_pll_config_phasestep 入力 ダイナミック位相シフトのための位相ステップを指定します。

hc_pll_config_phaseupdown 入力 位相シフトがアップまたはダウンかを指定します。

hc_pll_config_scanclk 入力 PLL位相シフトがアップまたはダウンかを指定します。

hc_pll_config_scanclkena 入力 hc_pll_config_scanclk クロックのクロック・イネーブル・ポート。

hc_pll_config_scandata 入力 PLLリコンフィギュレーション・スキャン・チェインのシリアル入力データ。

hc_pll_config_scandataout 出力 シリアル・スキャン・チェインのデータ出力。

hc_pll_config_scandone 出力

この信号は、スキャン・チェインのライト動作が進行しているときにアサートされます。この信号はライト動作が完了したときにディアサートされます。

表6‒7. トップ・レベル HardCopy マイグレーション信号 ( その2 )

名称 入力 /出力 説明

表6‒8. パラメータ ( その1 )

パラメータ名 説明

AFI_RATIOフル・レート・デザインでは、AFI_RATIOは 1です。ハーフ・レート・デザインでは、AFI_RATIOは 2です。

MEM_IF_DQS_WIDTH インタフェース内の DQSピンの数です。MEM_ADDRESS_WIDTH 指定されたメモリ・デバイスのアドレスの幅です。MEM_BANK_WIDTH 指定されたメモリ・デバイスのバンクの幅です。MEM_CHIP_SELECT_WIDTH 指定されたメモリ・デバイスのチップ・セレクトの幅です。MEM_CONTROL_WIDTH 指定されたメモリ・デバイスのコントロール幅です。MEM_DM_WIDTH 指定されたメモリ・デバイスの DM幅です。MEM_DQ_WIDTH 指定されたメモリ・デバイスの DQ幅です。MEM_READ_DQS_WIDTH 指定されたメモリ・デバイスの READ DQS幅です。MEM_WRITE_DQS_WIDTH 指定されたメモリ・デバイスの WRITE DQS幅です。OCT_SERIES_TERM_CONTROL_WIDTH

OCT_PARALLEL_TERM_CONTROL_WIDTH

AFI_ADDRESS_WIDTH 対応するメモリ・インタフェース幅から派生した AFIのアドレス幅です。AFI_BANK_WIDTH 対応するメモリ・インタフェース幅から派生した AFIのバンクの幅です。

AFI_CHIP_SELECT_WIDTH 対応するメモリ・インタフェース幅から派生した AFIのチップ・セレクトの幅です。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 90: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒18 第 6章 : 機能の説明̶UniPHYUniPHY 信号

AFI_DATA_MASK_WIDTH AFIデータ・マスクの幅です。

AFI_CONTROL_WIDTH 対応するメモリ・インタフェース幅から派生した AFIのコントロール幅です。

AFI_DATA_WIDTH AFIデータの幅です。AFI_DQS_WIDTH AFI DQSの幅です。DLL_DELAY_CTRL_WIDTH DLL 遅延出力制御の幅です。NUM_SUBGROUP_PER_READ_DQS タイミング用のリード・データパスのパラメータです。QVLD_EXTRA_FLOP_STAGES タイミング用のリード・データパスのパラメータです。READ_VALID_TIMEOUT_WIDTH

リード・データパスのパラメータ ;キャリブレーションは、タイム・アウト・カウンタの経過後で停止します。

READ_VALID_FIFO_WRITE_ADDR_WIDTH

リード・データパスのパラメータ ; ハーフ・レート・クロック用のライト・アドレスです。

READ_VALID_FIFO_READ_ADDR_WIDTH

リード・データパスのパラメータ ; フル・レート・クロック用のリード・アドレスです。

MAX_LATENCY_COUNT_WIDTH レイテンシ・キャリブレーション・パラメータ:最大レイテンシ数の幅。

MAX_READ_LATENCY レイテンシ・キャリブレーション・パラメータ:最大リード・レイテンシ。READ_FIFO_READ_ADDR_WIDTH

READ_FIFO_WRITE_ADDR_WIDTH

MAX_WRITE_LATENCY_COUNT_WIDTH ライト・データパスのパラメータ ;最大レイテンシ数の幅。

INIT_COUNT_WIDTH 初期化シーケンス。MRSC_COUNT_WIDTH メモリ固有の初期化パラメータ。INIT_NOP_COUNT_WIDTH メモリ固有の初期化パラメータ。MRS_CONFIGURATION メモリ固有の初期化パラメータ。MRS_BURST_LENGTH メモリ固有の初期化パラメータ。MRS_ADDRESS_MODE メモリ固有の初期化パラメータ。MRS_DLL_RESET メモリ固有の初期化パラメータ。MRS_IMP_MATCHING メモリ固有の初期化パラメータ。MRS_ODT_EN メモリ固有の初期化パラメータ。MRS_BURST_LENGTH メモリ固有の初期化パラメータ。MEM_T_WL メモリ固有の初期化パラメータ。MEM_T_RL メモリ固有の初期化パラメータ。SEQ_BURST_COUNT_WIDTH シーケンサのバースト・カウントの幅。VCALIB_COUNT_WIDTH シーケンサが使用するカウントの幅。DOUBLE_MEM_DQ_WIDTH —

HALF_AFI_DATA_WIDTH —

CALIB_REG_WIDTH キャリブレーション・ステータス・レジスタの幅。NUM_AFI_RESET 生成する AFIリセット数です。

表6‒8. パラメータ ( その2 )

パラメータ名 説明

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 91: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒19PHY-to-Controller インタフェース

PHY-to-Controller インタフェースこのセクションでは、UniPHY PHYに接続されているポート名は、各モジュールが使用する標準的なモジュールを説明しています。このセクションでは、カスタム・コントローラの使用および AFIを説明しています。

AFIは、すべてのアルテラのメモリ・デザインのためのコントローラと PHYの間のインタフェースを簡素化し標準化します。従って、使用するコントローラ・コードをアルテラの高性能コントローラと容易に交換することができます。 AFI PHYは、キャリブレーションのメモリをコンフィギュレーションし、必要に応じてメモリをコンフィギュレーションするモード・レジスタへの必要なアクセスを実行する管理ブロックが含まれています。

ハーフ・レート・デザインでは、、UniPHYのアドレスおよびコマンド信号は、1 mem_clk cycle(1Tアドレッシング)、そのようなもののためにアサートされて、ハーフ・レートデザインで 1つのアドレスおよびコマンド・ピンあたり 2入力ビットがあります。より慎重な 2Tアドレスが必要な場合は、ハーフ・レート・デザインはは両方の入力ビット(アドレスおよびコマンド信号の)をドライブします。

図 6–9には、ハーフ・レートのライト動作を示します。

図 6–10には、フル・レートのライトを示します。

キャリブレーションが完成された後に、シーケンサはクロック・サイクル数のライト・レイテンシをコントローラに送信します。

図6‒9. ワード・アラインメントされたデータのハーフ・レートのライト

図6‒10. フル・レートのライト

00 10 11 00

00 11 00

-- ba --dc

afi_clk

afi_dqs_burst

afi_wdata_valid

afi_wdata

-- a --b

afi_clk

afi_dqs_burst

afi_wdata_valid

afi_wdata

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 92: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒20 第 6章 : 機能の説明̶UniPHYPHY-to-Controller インタフェース

図 6–11には、フル・レートのリードを示します。 図 6–12には、ハーフ・レートのリードを示します。

図 6–13および図 6–14には、ライトとリードを示し、データを書き込む先、および同じアドレスから読み出す IPコアを示します。各の例において、afi_rdatとafi_wdataは、コントローラ・クロック(afi_clk)サイクルとアラインメントされます。 ビット・ベクトルのすべてのデータは一時のみ有効です。

AFIには、以下の規則があります。

図6‒11. フル・レートのリード

図6‒12. ハーフ・レートのリード

afi_rlat = 9

1 2 3 4 5 6 7 8 9

clock

afi_addr

afi_cs_n

afi_rdata_en

mem_dqs

mem_dq

afi_rdata_valid

afi_rdata

clock

afi_addr

afi_cs_n

afi_rdata_en

mem_dqs

mem_dq

afi_rdata_valid

afi_rdata

AX XA

10

10 01

10 01

DX XD

afi_rlat = 9

1 2 3 4 5 6 7 8 9

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 93: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒21PHY-to-Controller インタフェース

■ AFIによって、Highと Low信号は、1つの信号において結合されます。従ってシングル・チップ・セレクト(afi_cs_n)インタフェースの afi_cs_n[1:0]]には、位置 0は、1つの mem_clkサイクルのメモリ・バスおよび次の mem_clkサイクルの位置 1に表示します。

1 この規則は、8ビット・メモリ・インタフェースのためにすべての信号のために保持されされます。そして、ライト・データ(afi_wdata)信号はafi_wdata[31:0]、DQピンの最初のデータが afi_wdata[7:0]、afi_wdata[15:8]、 afi_wdata[23:16]、および afi_wdata[31:24]です。

■ 間隔のリードとライトは、次の定義があります。

■ 間隔のリード—1つのコントローラ・クロック (afi_clk) サイクルのギャップによって分離されたライト・コマンドです。

■ 間隔のライト—.1つのコントローラ・クロック (afi_clk) サイクルのギャップによって分離されたリード・コマンドです。

図 6–13~図 6–14には、次の一般的な点を前提としています。

■ バースト・レングスは 4です。

■ 1つのチップ・セレクト付きの 8ビット・インタフェースです。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 94: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒22 第 6章 : 機能の説明̶UniPHYPHY-to-Controller インタフェース

■ 1つのコントローラのクロック (afi_clk)サイクルのデータは、2つのメモリ・クロック (mem_clk)サイクル(ハーフ・レート・インタフェース)のデータを表します。

図6‒13. ワード・アラインメントされたライト

図6‒13 の注 :(1) afi_cs_nのアラインメントを表示するには、この信号(この規則は、他のすべての信号に適用される)を展開します。(2) afi_dqs_burstは、afi_wdata_validが Highに行く前にメモリ・クロック・サイクルが Highに行く必要があります。ワード・

アラインメントされていない場合と比較してください。(3) チップ・セレクト (afi_cs_n)がアサートされた後、afi_wdata_validは、2つの afi_wlatコントローラ・クロック (afi_clk)

サイクルにアサートされます。afi_wlatは、システムに必要なライト・レイテンシを示しています。値はキャリブレーション中に決定され、両方 PHYおよび外部 DDR SDRAMサブシステムのアドレスおよびコマンドのパスとライト・データパスは相対的な遅延に依存しています。そして、afi_wlatを待つ(この例では 2つ)afi_wdata_validをドライブする前に afi_wlat(この例では 2つ)afi_clksを待ちます。

(4) ライト・データ (afi_wdata) オーダリングを観察して、mem_dq信号上のデータと比較してください。(5) すべての波形では、コマンド・レコードが追加され、メモリ・ピン ras_n、cas_nと we_nが発行され、現在のコマンドに結合

します。チップ・セレクト(mem_cs_n)が Lowの場合、このコマンドは、メモリによってラッチされています。表示された波形の重要なコマンドは、WRは =書き込み、ACT=始動です。

afi_clk

Note 4Note 2Note 1

afi_wlat

afi_ras_n

afi_cas_n

afi_we_n

afi_cs_n

afi_dqs_burst

afi_wdata_valid

afi_wdata

afi_addr

MemoryInterface

mem_clk

command(Note 5)

mem_cs_n

mem_dqs

mem_dq

Note 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

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 95: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒23PHY-to-Controller インタフェース

図6‒14. ワード・アラインメントされたリード

図6‒14 の注 :(1) AFIでは、チップ・セレクト (afi_cs_n)がアサートされる前に、afi_rdata_enが 1メモリ・クロック・サイクルでアサートさ

れることが必要です。ハーフ・レート afi_clkドメインでは、この要件は afi_rdata_en上の(01とは対照的に)11をドライブするコントローラとして現れます。

(2) AFIはその afi_rdata_enが読み込み中にドライブされる必要があります。この例では、それはハーフ・レート afi_clksに 11までドライブされます。この 4ビート・バーストの 4メモリ・クロック・サイクルに 1までドライブすることに相当します。

(3) afi_rdata_validは afi_rdata_enがアサートされた後に 15(afi_rlat)コントローラ・クロック(afi_clk)サイクルをリターンします。リターンは、afi_rdata_valid信号は、コントローラ内のレジスタの出力で観測された場合です。コントローラは、返送されるデータにラッチするかを決定する afi_rlat値を使用することができますが、リード・データをラッチする時にイネーブルとして使用するために、afi_rdata_validがコントローラに提供されるので、これは不要になります。

(4) バス上のデータに対する返送されるリード・データのアラインメントを観察します。

afi_clk

afi_rlat

afi_ras_n

afi_cas_n

afi_we_n

afi_cs_n

afi_rdata_en

afi_rdata_valid

afi_rdata

afi_ba

afi_addr

afi_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

Note 1Note 2 Note 2

Note 3Note 4

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 96: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒24 第 6章 : 機能の説明̶UniPHYカスタム・コントローラの使用

カスタム・コントローラの使用UniPHYベースのメモリ・インタフェースの IPコアは、両方の PHYと統合メモリ・コントローラとともに供給されます。カスタム・メモリ・コントローラとアルテラの高性能メモリ・コントローラを交換するには、以下の手順を実行します。1. UniPHYベースのメモリ・コントローラ IPのバリエーションをパラメータ化し、生成します。

このステップは、<variation_name>.v(または <variation_name>.vhd)と呼ばれるトップレベルの HDLファイル、および <variation_name>と呼ばれるサブディレクトリを作成します。

トップ・レベルのモジュールは、<variation_name> のサブディレクトリ内の<variation_name>_<stamp>_controller_phyモジュールをインスタンス化します。<variation_name>_<stamp>_controller_phyのモジュールは、PHYとコントローラのインスタンスを作成します。

1 <stamp>は、生成時に MegaWizard Plug-in Manager、SOPC Builder、または Qsysのため決定された固有の識別子です。

2. <variation_name>/<variation_name>_<stamp>_controller_phy.svファイルを開きます。

3. <variation_name>_<stamp>_alt_ddrx_controllerモジュールをカスタム・コントローラ・モジュールに置き換えます。

4. アルテラ高性能メモリ・コントローラのポートを削除し、カスタム・コントローラのトップ・レベルのポートを追加します。

5. 同様に、<variation_name>.vまたは <variation_name>.vhdファイルのトップ・レベル・モジュールのポート名を更新します。

6. 正しく動作させるには、デザインをコンパイルしてシミュレートします。

1 UniPHYメモリ・インタフェース IPを再生成することにより、HDLファイルでのすべての変更が消去されます。 MegaWizardドにおいて選択するパラメータは、トップ・レベル <variation_name> モジュールに格納されます。 したがって、IPバリエーションを再生成するたびに、上記のステップを繰り返する必要があります。

1 ハーフ・レート・コントローラには、AFI信号はメモリ・インタフェースのバス幅の 2倍です。 ハーフ・レート・コントローラは、信号の幅の 2倍があり、半分の速度で実行します。したがって、全体の帯域幅が維持されます。 そのような 2倍幅信号はメモリ・インタフェースにトランスミッションのための 2つの信号に分割されて、より高いオーダービットは最上位ビット(MSB)を表し、下位ビットは最下位ビット(LSB)を表しています。LSBは最初に送信されて、次には MSBが送信されます。

ベンダ固有メモリ・モデルの使用ベンダ固有のメモリ・モデルとアルテラが提供するメモリ・モデルを置き換えることができます。一般的に、より複雑なセットアップと使用には、厳密で標準化されたサポートされるベンダ固有のモデルがあります。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 97: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 6 章 : 機能の説明̶UniPHY 6‒25ベンダ固有メモリ・モデルの使用

ベンダ提供のメモリ・モデルとアルテラ提供のメモリ・モデルを交換する場合は、ーのガイドラインに従ってください:

■ メモリ・デバイス用には正しいベンダ提供のメモリ・モデルを使用することを確認します。

■ デフォルト・メモリ・モデルからすべての信号を切断し、ベンダ提供のメモリ・モデルに接続しなおします。

■ Quartus IIソフトウェアからシミュレーションを実行する場合は、.qipファイルをベンダ提供メモリ・モデルに表すことを確認します。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 98: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

6‒26 第 6章 : 機能の説明̶UniPHYベンダ固有メモリ・モデルの使用

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 99: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

7. 機能の説明̶トップ・レベルのプロジェクトの例

IP生成はインスタンス化およびコントローラを接続する方法を指導するサンプル・トップ・レベル・プロジェクトを作成します。

サンプル・トップ・レベル・プロジェクトでは ModelSim-AE Veriloなどの言語みシミュレータで使用するためのテストベンチが含まれています。それにより、メモリ・インタフェースの動作を単純に示しています。

1 VHDLのみのシミュレーションには、VHDL IP機能シミュレーション・モデルを使用してください。

テストベンチは、以下のブロックを備えています。

■ 合成可能な Avalon-MMのサンプル・ドライバーです。 それはトラフィック・ジェネレータ・ブロックとして作動し、アドレスのパラメータ化された数にリードとライトの擬似ランダム・パターンを実施します。 ドライバは、それが、書き込まれたデータと一致し、それ以外の場合、失敗をアサートすることを確認するためにメモリから読み出されたデータもモニタします。

■ Avalon-MMインタフェースと AFI間のインターフェイスのコントローラのインスタンスです。

■ メモリにリードとライトの動作を実行するには、メモリ・コントローラと外部メモリ・デバイス間のインターフェイスとして機能する UniPHY IPアドレスです。

■ メモリ・プロトコル仕様に準拠する一般的なモデルとして機能するメモリ・モデルです。また、メモリ・ベンダは、メモリ・コンポーネントのシミュレーション・モデルを提供しています(自社のウェブサイトからダウンロード可能)。このブロックは Verilog HDLのみで提供されています。

図 7–1に、テストベンチおよびサンプル・トップ・レベル・ファイルを示します。

図7‒1. テストベンチおよびサンプル・トップ・レベル・ファイル

Example Driver Controller with UniPHY

Example Top-Level File

Testbench

Wizard-Generated

Memory Model

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 100: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

7‒2 第 7 章 : 機能の説明̶トップ・レベルのプロジェクトの例サンプル・ドライバ

サンプル・ドライバAvalon-MMメモリ・インタフェースのサンプル・ドライバは、Avalon-MMマスタ・インタフェース上の Avalon-MMトラフィックを生成します。 リードとライトのトラフィックが生成されると、予期されるリード反応は内部で保存され、到着したらリード反応と比較されます。 すべてのリードが予期される反応をレポートする場合、パス信号がアサートされます。しかし、リードが予期しないデータによって応じる場合、失敗信号がアサートされます。

シングル・ライトまたはライト・ブロック、そして同じアドレスにシングル・リードまたはリードのブロックです。 これで、ドライバが、リード・データがメモリ・インタフェースにより戻される時に予期されるデータを正確に決定することを可能にします。ドライバは、トラフィック生成ブロック、Avalon-MMインタフェース、およびリード比較ブロックで構成されています。トラフィック生成ブロックは、Avalon-MMインタフェースの上に送信されるアドレスとライト・データを生成します。 リード比較ブロックは、トラフィック・ジェネレータからのタイト・データをAvalon-MMインタフェースから受信されたリード・データと比較します。 データが受信した場合に予期されるデータではなく、リード比較ブロックは失敗を記録し、すべてのデータの読み込みを完了します。そして、失敗があるときを示し、ドライバが失敗状態に入ります。 すべてのパターンが生成されて、正しく比較された場合、ドライバはパス状態に入ります。

ドライバ内では、以下の主なステートがあります。

■ 個々のリードとライトの生成

■ ブロックのリードとライトの生成

■ パス・ステート

■ 故障ステート

生成ステート内では、以下のサブステートがあります。

■ シーケンシャル・アドレスの生成

■ ランダム・アドレスの生成

■ 混合シーケンシャルおよびランダム・アドレスの生成

各ステートとサブステートは、個々のサブステートに発生した動作の順序と数がパラメータ化可能です。 すなわち、それぞれのアドレス・パターンのいくつ生成するかを決定することができます。または、必要に応じて特定のパターンを完全にディセーブルすることができます。完全場合はとランダムのインタリーブ・サブステートは、生成する動作の数に追加分に取り入れます。追加のパラメータは、ランダム・アドレスにランダムに生成するためにシーケンシャルの比率を指定します。

リードおよびライト生成トラフィック・ジェネレータ・ブロックは個々またはブロックのリードとライトの生成を実行するができます。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 101: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 7 章 : 機能の説明̶トップ・レベルのプロジェクトの例 7‒3サンプル・ドライバ

個々のリードとライトの生成ドライバの個々のリードとライトの生成ステージ中に、トラフィック生成ブロックは、個々のライト、そして個々のリード Avalon-MMトランザクションを生成します(トランザクションのアドレスが特定のサブステートに応じて選択される)。

Avalon-MMインタフェースの幅はドライバのためのグローバルなパラメータですが、個々のサブステートには、個々の動作のバースト・レングスのパラメータ化可能な範囲があります。

ブロック・リードおよびライトの生成ドライバのブロックリードとライトの生成ステージ中に、トラフィック・ジェネレータ・ブロックは、ライト動作、そしてリード動作の数のパラメータ化可能な数を生成します。 ブロックのための生成された特定のアドレスは、特定のサブステートにより選択されます。 個々のブロック動作のバースト・レングスは、許容されるバースト・レングスの範囲でパラメータ化できます。

アドレスとバースト・レングスの生成トラフィック・ジェネレータ・ブロックは、シーケンシャルまたはランダム・アドレッシングを実行することができます。

シーケンシャル・アドレッシングシーケンシャル・アドレッシングのサブステートは、アドレスがユーザー定義可能なアドレスから順番に選択されるトラフィック・パターンを定義します。このサブステートの動作の数がパラメータ化されます。

ランダム・アドレッシングランダム・アドレッシングのサブステートは、アドレスがパラメータ化範囲でランダムに選択されるトラフィック・パターンを定義します。このサブステートの動作の数がパラメータ化されます。

シーケンシャルおよびランダムのインタリーブされた・アドレッシングシーケンシャルおよびランダムのインタリーブされたアドレッシングのサブステートは、アドレスがシーケンシャルまたはパラメータ化比率に基づいてランダムに選択されるトラフィックのパターンを定義します。許容されるアドレス範囲はこのサブステートで実行する動作の数としてパラメータ化されます。

ドライブ信号のサンプル表 7–1には、サンプル・ドライバが使用する信号をリストします。.

表7‒1. ドライバ信号 ( その1 )

信号 幅 信号タイプclk

reset_n

avl_ready avl_ready

avl_write_req avl_write_req

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 102: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

7‒4 第 7 章 : 機能の説明̶トップ・レベルのプロジェクトの例サンプル・ドライバ

サンプル・ドライバのアドオンいくつかのオプションのコンポーネントは、コントローラの両面を検証するのに役立ちます。そして、PHYの動作は、特定のユーザーが指定したオプションと一緒に生成されます。これらのアドオン・コンポーネントでは全内蔵型であり、コントローラまたは PHY、またサンプル・ドライバの一部ではありません。

ユーザー・リフレッシュ・ジェネレータユーザー・リフレッシュがイネーブルになっているときに、ユーザー・リフレッシュ・ジェネレータは、メモリ・コントローラへのリフレッシュ要求を送信します。メモリ・コントローラは、確認信号を返送し、メモリ・デバイスにリフレッシュ・コマンドを発行します。

ユーザー・リフレッシュ・ジェネレータは、パラメータ・エディタの General Settingsタブの Controller Settingsで Enable User Refreshはオンにしたときに作成されます。ユーザー・リフレッシュ・ジェネレータは、example_top_v.でインスタンス化され、example_projectのサブディレクトリに存在します。

リフレッシュ・モニタ名前が示すとおり、リフレッシュ・モニタはコントローラからのリフレッシュ・コマンドをモニタし、それらのコマンドが必要なリフレッシュ・タイミング・パラメータに準拠していることを確認します。

リフレッシュ・モニタは、パラメータ・エディタの General Settingsタブの Controller Settingsで Enable User Refreshはオンにしたときに作成されます。リフレッシュ・モニタは、example_top_tb.vでインスタンス化され、 rtl_simのサブディレクトリのrefresh_monitor.svに存在します。

avl_read_req avl_read_req

avl_addr 24 avl_addr

avl_size 3 avl_size

avl_wdata 72 avl_wdata

avl_rdata 72 avl_rdata

avl_rdata_valid avl_rdata_valid

pnf_per_bit pnf_per_bit

pnf_per_bit_persist

pnf_per_bit_persist

pass pass

fail fail

test_complete test_complete

表7‒1. ドライバ信号 ( その2 )

信号 幅 信号タイプ

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 103: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 7 章 : 機能の説明̶トップ・レベルのプロジェクトの例 7‒5サンプル・ドライバ

データ破壊機データ破壊機は、メモリ・インタフェース・バスでリード・データを傍受し、メモリ・コントローラのエラー検出機能をテストし、そのデータにエラーを導入しています。 エラー・インジェクションの両方のレートおよびエラー・ビット数が設定可能です(バイト・パリティごとの保護機能は、1ビット・エラーの検出をサポートしても)。

データ破壊機は、4つのエラー・インジェクションのタイプを駆使しています。

■ シングル・メモリ・バーストのビットごとのデータ破壊

■ シングル・メモリ・バーストのバイトごとのデータ破壊

■ ビットごとのオール・バースト破壊

■ バイトとのオール・バースト破壊

4タイプのエラー・インジェクション・テストを通してデータ破壊機は、正確さを確認するために、ウォーキング・ワン・パターンを実行します。

データ破壊機は、パラメータ・エディタの General Settingsタブの Controller Settingsで Enable Error Detection Parityはオンにしたときに作成されます。データ破壊機は、rtl_simのサブディレクトリの data_corrupter.svに存在します。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 104: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

7‒6 第 7 章 : 機能の説明̶トップ・レベルのプロジェクトの例サンプル・ドライバ

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 105: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

8. レイテンシ

アルテラは、メモリ・クロック・サイクルの面でレイテンシをリードとライトすることを定義されています。メモリ・コントローラと設計している間に、2種類のレイテンシがあります。このレイテンシは以下の定義されているリードとライトのレイテンシのようです。

■ リード・レイテンシ—リード要求が開始された後、ローカル・インターフェイスで表示されるようにリード・データにかかる時間の量です。

■ ライト・レイテンシ—ライト要求が開始された後、メモリ・インターフェイスで表示されるようにライト・データにかかる時間の量です。

1 ハーフ・レート・コントローラでは、ローカル側の周波数は、メモリ・インタフェースの周波数の半分です。フル・レート・コントローラでは、ローカル側の周波数は、メモリインタフェースの周波数に等しくなります。

表 8–1 に、フル・レート・メモリ・クロック・サイクルで DDR2 SDRAMのレイテンシを示しています。.

表8‒1. DDR2 SDRAMコントローラ・レイテンシ ( フル・レート・メモリ・クロック・サイクルで ) ( 注 3)

レートコントローラのアドレスとコマンド (4)

PHY のアドレスとコマンド

メモリ最大リード

PHY リードリターン

ラウンドトリップ

メモリなしのラウンドトリップ

フル 5 1 3–7 4 13–17 10

ハフ 10 3 (1)4 (2) 3–7 8 24–28 (1)

26–28 (2)21 (1)22 (2)

表8‒1の注 :(1) 偶数のライト・レイテンシです。(2) 奇数のライト・・レイテンシです。(3) レイテンシは、データをキャプチャする現在のステージの最初のレジスタとデータをキャプチャする次の段階の最初のレジスタの間のサイクル数です。

(4) レイテンシは最大性能仕様に最適なケースを表示されます。レイテンシは上位のプロトコルの要件に起因することができます。コントローラのレイテンシは遅い周波数の低くなる可能性があります。

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 106: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

8‒2 第 8 章 : レイテンシ変数コントローラ・レイテンシ

表 8–2に、フル・レート・メモリ・クロック・サイクルで DDR3 SDRAMのレイテンシを示しています。.

変数コントローラ・レイテンシ変数コントローラ・レイテンシの機能を使用すると、低い周波数で動作するように設計さの変動を低レイテンシの利点を取ることができます。デフォルト値の 0からコントローラのレイテンシを変化させるかどうかを決定する時に、次の点を考慮します。

■ 低減レイテンシは、リソースの使用状況やコントローラのクロック・サイクルの低減を達成するのに役立ちます。しかし、低い fMAXをもたらす可能性があります。

■ 増加レイテンシは、高い fMAXを達成することができます。しかし、コントローラで複数のクロック・サイクルを消費し、リソース使用状況も増加する可能性があります。

ターゲット周波数に不適切なレイテンシ値を選択する場合、システムは GUIの下部にあるメッセージ領域に警告メッセージが表示されます。

UniPHYパラメータ・エディタを使用して、DDR2または DDR3 SDRAMコントローラの Controller Settingsタブの Efficienceセクションで Reduce Controller Latencyパラメータの値を変更することによって、コントローラのレイテンシを変更することができます。

表8‒2. DDR3 SDRAMコントローラ・レイテンシ ( フル・レート・メモリ・クロック・サイクルで ) ( 注 5)

レートコントローラのアドレスとコマンド (6)

PHY のアドレスとコマンド

メモリ最大リード

PHY リードリターン

ラウンドトリップ

メモリなしのラウンドトリップ

ハーフ 10 3 (1) (2)4 (3) (4) 5-11

7 (1)8 (2)8 (3)7 (4)

26–30 (1)26–32 (2)28–32 (3)26–32 (4)

20 (1)21 (2)22 (3)21 (4)

表8‒2の注 :(1) 偶数のライト・レイテンシと偶数のリード・レイテンシです。(2) 偶数のライト・レイテンシと奇数のリード・レイテンシです。(3) 奇数のライト・レイテンシと偶数のリード・レイテンシです。(4) 奇数のライト・レイテンシと奇数のリード・レイテンシです。(5) レイテンシは、データをキャプチャする現在のステージの最初のレジスタとデータをキャプチャする次の段階の最初のレジスタの間のサイクル数です。

(6) レイテンシは最大性能仕様に最適なケースを表示されます。レイテンシは上位のプロトコルの要件に起因することができます。コントローラのレイテンシは遅い周波数の低くなる可能性があります。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 107: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

9. タイミング図

本章のタイミング図は DDR2 SDRAM用であり、以下のパラメータがあります。

■ avl_size は 2で設定されています。

■ 8の DQバースト・レングスです。

図 9–1には、DDR2 SDRAMのライトを示します。

図9‒1. DDR2 SDRAMのライト

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 108: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

9‒2 第 9章 : タイミング図

図 9–2には、DDR2 SDRAMのリードを示します。

図9‒2. DDR2 SDRAMのリード

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 109: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

10. ALTMEMPHY ベースのコントローラから UniPHY ベースのコントローラ

へのアップグレード

本章では、UniPHYベースのコントローラに以下の ALTMEMPHYベースのコントローラのデザインをアップグレードする方法について説明します。

■ ALTMEMPHYデザイン付き DDR2または DDR3 SDRAM高性能コントローラ II

■ ALTMEMPHYデザイン付き DDR2または DDR3 SDRAM高性能コントローラ

1 アルテラは、AFIを使用しないデザインのアップグレードをサポートしていません。

デザインが AFI IPコアを使用する場合、アルテラは、UniPHY IPコアによって新しいデザインを開始するように推奨しています。 さらに、アルテラは、Stratix III、Stratix IV、または Stratix Vをターゲットとしているどのような新しいデザインで UniPHYデータパスを使用するように推奨しています。

ALTMEMPHY デザインによる DDR2 または DDR3 SDRAM高性能コントローラ II をアップグレード

ALTMEMPHYデザインによって DDR2または DDR3 SDRAM高性能コントローラ IIからDDR2または DDR3 SDRAMコントローラにアップグレードするためには、これらのステップに従ってください。

1. 同等のデザインを生成

2. ALTMEMPHYデータ・パースを UniPHYデータ・パースに置き換え

3. ポート名の差を解決

4. OCT信号を作成

5. ピン・アサインメント・スクリプトを実行

6. 廃止されたファイルを削除

7. デザインのシミュレーション

以下のセクションはこれらのステップを説明します。

同等のデザインを生成2–3ページの Quartus IIソフトウェアとの緊密インテグレーションを提供」出のガイドラインに従って、UniPHY IPコア付きの新しい DDR2または DDR3 SDRAMコントローラを作成し、以下のガイドラインに従ってください:

■ メガファンクションのバリエーションと同じバリエーション名を指定します。

■ 生成中にファイルがお互いに上書きすることを防止するためにALTMEMPHYデザイン・ディレクトリと異なるディレクトリを指定します。

マイグレーション・プロセスを簡素化するには、既存の ALTMEMPHYベース・デザインは作成した UniPHYベース・デザインと類似することを確実してください。具体的には、以下の設定は UniPHYベース・デザインと同じことを確認してください。

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 110: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

10‒2 第 10 章 : ALTMEMPHY ベースのコントローラから UniPHY ベースのコントローラへのアップグレードALTMEMPHY デザインによる DDR2 またはDDR3 SDRAM 高性能コントローラ II をアップグレード

■ PHY settingsタブ

■ FPGAスピード・グレード

■ PLL基準クロック

■ メモリ・クロック周波数

■ デフォルトのAddress and command clock phase settingsを変更する必要はありません。しかし、メガファンクションのデザインのボード・スキュー効果がある場合は、そのクロックの位相とデフォルトのクロックの位相間に Address and command clock phase settingsに位相差を入力してください。

■ Memory Parametersタブ—すべてのパラメータは一致しなければなりません。

■ Memory Timingタブ—すべてのパラメータは一致しなければなりません。h.

■ Board settingsタブ—すべてのパラメータは一致しなければなりません。

■ Controller settingsタブ—すべてのパラメータは一致しなければなりません。

1 ALTMEMPHYベース・デザインでは、ダイナミック並列 OCTをオフにすることができます。ただし、すべての UnIPHYベース・デザインは、ダイナミック並列 OCTを使用し、これをオフにすることはできません。

ALTMEMPHY データ・パースを UniPHY データ・パースに置き換えALTMEMPHYデータ・パースを UniPHYデータ・パースに置き換えるには、以下のステップに従います。

1. Quartus IIソフトウェアで、Assignmentsメニューから Assignment Editorをクリックして Assignment Editor,ダイアログ・ボックスを開きます。

2. 手動で、ピン・アウトを維持している場合の場所のアサインメントを除いて、外部メモリ・インタフェース・ピンに関連するすべてのアサインメントを削除してください。デフォルトで、これらのピン名はデザインで異なるの名前がある場合もありますが、memプリフィックスデ始まります。

3. ロジェクトから古い ALTMEMPHY.qipファイルを削除します。

■ メニューでは Settingsをクリックします。

■ 古い .qipファイルを指定して、Removeをクリックします。

今のデザインでは、UniPHYデータパスを使用しています。

ポート名の差を解決ALTMEMPHYデータ・パスのいくつかのポート名が UniPHYデータ・パスより異なっています。異なる名前では、コンパイル・エラーが発生する可能性があります。このセクションでは、メモリ IPコアをインスタンス化するエンティティの RTLで実行する必要のある変更について説明します。各変更は ALTMEMPHYデータ・パス内の特定のポートに適用されます。接続されていないポートは変更する必要がありません。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 111: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 10 章 : ALTMEMPHY ベースのコントローラから UniPHY ベースのコントローラへのアップグレード 10‒3ALTMEMPHY デザインによる DDR2 または DDR3 SDRAM高性能コントローラ II をアップグレード

いくつかのインスタンスでは、ALTMEMPHYベース・デザインで複数のポートがUniPHYベース・デザインでシングル・ポートにマッピングされています。ALTMEMPHYベース・デザインで両方のポートを使用する場合は、一般的なポートへの一時的な信号を割り当て、元の線に接続してください。表 10–1に、実行する必要のある変更を示しています。

表10‒1. ALTMEMPHY ポート名の変更

ALTMEMPHY ポート 変更aux_full_rate_clk pll_mem_clkに変更します。aux_half_rate_clk pll_afi_clkに変更します。

aux_scan_clk UniPHYベース・デザインはこの信号を生成していません。必要に応じて生成してください。

aux_scan_clk_reset_n UniPHYベース・デザインはこの信号を生成していません。必要に応じて生成してください。

dll_reference_clk pll_mem_clkに変更します。

dqs_delay_ctrl_export この信号は、ALTMEMPHYインスタンス間での DLLを共有するためのものであり、UniPHYベース・デザインには適用されません。

local_address avl_addrに変更します。local_be avl_beに変更します。local_burstbegin avl_burstbeginに変更します。local_rdata avl_rdataに変更します。local_rdata_valid avl_rdata_validに変更します。local_read_req avl_read_reqに変更します。local_ready avl_readyに変更します。local_size avl_sizeに変更します。local_wdata avl_wdataに変更します。local_write_req avl_write_reqに変更します。mem_addr mem_aに変更します。mem_clk mem_ckに変更します。mem_clk_n mem_ck_nに変更します。mem_dqsn mem_dqs_nに変更します。oct_ctl_rs_value デザイン ( 10–4ページの OCT信号を作成」)から取り外します。oct_ctl_rt_value デザイン ( 10–4ページの OCT信号を作成」)から取り外します。phy_clk afi_clkに変更します。reset_phy_clk_n afi_reset_nに変更します。

local_refresh_ack local_wdata_req

コントローラはもうこれらの信号をトップ・レベル・デザインに公開しません。従って、これらの出力をコメント・アウトしてください。 必要な場合は、<project directory>/uniphy/rtl/<variation name>_controller_phy.sv.の高性能 IIコントローラ・エンティティからワイヤを出してください。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 112: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

10‒4 第 10 章 : ALTMEMPHY ベースのコントローラから UniPHY ベースのコントローラへのアップグレードALTMEMPHY デザインによる DDR2 またはDDR3 SDRAM 高性能コントローラ II をアップグレード

OCT 信号を作成ALTMEMPHYベース・デザインでは、Quartus IIフィッタは、IPコアの外側の alt_octブロックを作成し、oct_ctl_rs_valueと oct_ctl_rt_value信号に接続します。 UniPHYベース・デザインで、OCTのブロックは IPコアの一部であるため、デザインは、これらの 2つのポートをもう必要としません。代わりに、UniPHYベース・デザインは、2つの追加のポートの oct_rupと oct_rdnが必要です。入力ピンとしてインスタンス化するエンティティでこれらのポートを作成して、UniPHYインスタンスに接続する必要があります。次に、これらのピンをトップ・レベル・デザインにルートし、OCT RUPおよび RDOWN抵抗に接続します。

OCTコントロール・ブロックの共有について詳しくは、 6–12ページの「OCT共有インタフェース」を参照してください。

ピン・アサインメント・スクリプトを実行解析および合成を実行してデザインを再マップします。分析合成が完了すると、ピン・アサインメント Tclスクリプト ( 4–1ページのピンおよび DQ グループ・アサインメントの追加」)を実行して、Assignment Editorで、新しいピン・アサインメントを確認します。

廃止されたファイルを削除デザインをアップグレードした後、プロジェクトから不要な ALTMEMPHYデザイン・ファイルを削除することがあります。これらのファイルを識別するために、任意のテキスト・エディタで元の生成された ALTMEMPHYで .qipファイルを検証します。

デザインのシミュレーション新しいデザインをシミュレーションする UniPHYメモリ・モデルを使用する必要があります。 、UniPHYメモリ・モデルを使用して、以下のステップに従います。

1. local_init_done, afi_cal_success, および afi_cal_fail信号は、インスタンス化するテストベンチがこれらの信号を参照できるようにトップレベル・エンティティにあることを確認して UniPHYデータ・パスのインスタンスを編集します。

2. サード・パーティのシミュレータは ALTMEMPHYメモリ・モデルの代わりにUniPHYのテストベンチとメモリ・モデルを使用するように指定します。

a. Assignmentsメニューで、Settingsをポイントし、Project Settingsウィンドウをクリックします。

b. Simulationタブを選択し、Test Benchesをクリックします。そして、Editをクリックし、ALTMEMPHテストベンチ・ファイルと以下のファイルで置き換えます。

■ \uniphy\<variation name>\rtl_sim\<variation name>_example_top_tb.v

■ \uniphy\<variation name>\example_project\mem_model.sv

3. UniPHYテストベンチ・ファイルを開いて、テストベンチに以下のラインを調べられます。force dut.mem_if.controller_phy_inst... = SEQ_CALIB_INIT;

4. PHYインスタンス名はデフォルトの mem_ifからインスタンス化された UniPHYデータ・パスでのインスタンス名に変更します。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 113: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

第 10 章 : ALTMEMPHY ベースのコントローラから UniPHY ベースのコントローラへのアップグレード 10‒5ALTMEMPHY デザインによる DDR2 または DDR3 SDRAM高性能コントローラをアップグレード

5. UniPHY生成されたテストベンチのデザインのサンプルで以下のポート名で更新します (表 10–2)。

ALTMEMPHY デザインによる DDR2 または DDR3 SDRAM高性能コントローラをアップグレード

ALTMEMPHYデザインによって DDR2または DDR3 SDRAM高性能コントローラをアップグレードするためには、これらのステップに従ってください。

1. 高性能コントローラ IIで使用できるようにアップグレードします。

2. 10–1ページの ALTMEMPHYデザインによる DDR2または DDR3 SDRAM高性能コントローラ IIをアップグレード」でのアップグレード・フローに従います。

表10‒2. デザインのサンプルのポート名

デザインのサンプル名 新名pll_ref_clk clock_sourceに変更します。mem_a mem_addrに変更します。mem_ck mem_clkに変更します。mem_ck_n mem_clk_nに変更します。mem_dqs_n mem_dqsnに変更します。pass pnfに変更します。

2010 年 12 月 Altera Corporation 外部メモリ・インタフェースのハンドブック Vol 3セクション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 114: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

10‒6 第 10 章 : ALTMEMPHY ベースのコントローラから UniPHY ベースのコントローラへのアップグレードALTMEMPHY デザインによるDDR2 または DDR3 SDRAM高性能コントローラをアップグレード

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド

Page 115: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

2010 年 12 月 Altera Corporationセク

追加情報

この章は、本資料およびアルテラについての追加情報を提供しています。

改訂履歴以下の表に、本資料の改訂履歴を示します。

アルテラへのお問い合わせアルテラ製品に関する最新の情報については、次の表を参照してください。

日付 バージョン 変更内容

2010年 12月 1.1

■ サポートされるデバイス・ファミリ、 機能 リスト、およびリソース使用率 の表を更新。

■ デザイン・フロー、 HardCopyマイグレーションのデザイン・ガイドライン、および 生成されるファイルの情報を更新。

■ パラメータの設定 の章を更新。■ ODT生成ロジック , リセットおよびクロックの生成 , and ライト・データパスを更新。

■ OCT共有インタフェースおよび カスタム・コントローラの使用 の情報を追加■ レイテンシ データを更新。■ ALTMEMPHYベースのコントローラから UniPHYベースのコントローラへのアップグレードでの OCT信号を作成を更新。

2010年 7月 1.0 初版。

お問い合わせ先 (1) お問い合わせ方法 アドレス

技術的なご質問 ウェブサイト www.altera.com/support

技術トレーニングウェブサイト www.altera.com/training

電子メール [email protected]

アルテラの資料に関するお問い合わせ ウェブサイト www.altera.com/literature

一般的なお問い合わせ 電子メール [email protected]

ソフトウェア・ライセンスに関するお問い合わせ 電子メール [email protected]

注 :(1) 詳しくは、日本アルテラまたは販売代理店にお問い合わせください。

外部メモリ・インタフェースのハンドブック Vol 3ション V. UniPHY と DDR2 およびDDR3 SDRAM コントローラのユーザー・ガイド

Page 116: 外部メモリ・インタフェースのハンドブック Vol 3 …...vi 目次 外部メモリ・インタフェースのハンドブック Vol 3 2010年12月 Altera Corporation

インフォ ‒2表記規則

表記規則本書では、以下の表に示す表記規則を使用しています。

書体 意味太字かつ文頭が大文字 コマンド名、ダイアログ・ボックス・タイトル、ダイアログ・ボックス・

オプション、およびその他の GUIラベルを表します。例えば、Save As ダイアログ・ボックス。GUIエレメントには、大文字は GUIに適合します。

太字 ディレクトリ名、プロジェクト名、ディスク・ドライブ名、ファイル名、ファイルの拡張子、ダイアログ・ボックス・オプション、ソフトウェア・ユーティリティ名、および GUIのその他のラベルを表します。例えば、\qdesigns directory, d: drive, and chiptrip.gdfファイル。

斜体かつ文頭が大文字 資料のタイトルを表します(例えば、AN 519: Stratix IVデザイン・ガイドライン)。

斜体 例えば、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 指差しマークは、要注意箇所を表しています。

疑問符は、関連した情報でソフトウェア・ヘルプ・システムにを示します。

f 足跡マークは、詳細情報の参照先を示しています。

c 注意は、製品または作業中のデータに損傷を与えたり、破壊したりするおそれのある条件や状況に対して注意を促します。

w 警告は、ユーザーに危害を与えるおそれのある条件や状況に対して注意を促します。封筒は、アルテラのウェブサイトの Email Subscription Management Centerページに接続します。そこで、アルテラの資料のアップデート通知書を受信するためにサインアップできます。

外部メモリ・インタフェースのハンドブック Vol 3 2010 年 12 月 Altera Corporationセクション V. UniPHY と DDR2 および DDR3 SDRAMコントローラのユーザー・ガイド