• 検索結果がありません。

Report Template

N/A
N/A
Protected

Academic year: 2021

シェア "Report Template"

Copied!
19
0
0

読み込み中.... (全文を見る)

全文

(1)

Lattice ECP3

DDR3 メモリ I/F

(2)

1 このドキュメントの概要 ... 4 2 DDR_MEM モジュールを使用する場合の注意点 ... 5 2.1 PLL の配置およびクロック入力ピンに関する注意事項 ... 5 2.2 クロック位相調整回路のタイミング制約と配置指定 ... 6 2.2.1 CSM の配置指定 ... 6 3 DDR3 SDRAM CONTROLLER IP を使用する場合の注意事項 ... 8 3.1 IP コアの制約 ... 8 3.2 実デザインでの IP コアの実装 ... 8 3.2.1 IP コアの構造とブロック間の接続 ... 8 3.2.2 実デザインでの IP コアの実装 ... 9 3.2.3 デバイスの一辺に2つ以上の IP コアを実装する場合の注意点 ... 9 3.2.4 デバイスの両辺に IP を実装する場合の注意点 ... 10 4 ピンアサインに関する注意 ... 11 4.1 ピンアサインのルール ... 11 4.2 DQS 指定ピンと DQS グループ ... 13 5 ボードデザインに関する注意 ... 15 5.1 配線ルール ... 15 5.1.1 Fly-by トポロジの推奨 ... 15 5.1.2 信号間の配線間幅のルール ... 15 5.1.3 CLK/CLK#間の配線ルール ... 15 5.1.4 CLK/ADD/CMD 間の配線ルール ... 15 5.1.5 CLK と DQS 間の配線ルール ... 15 5.1.6 DQS/DQS#間の配線ルール ... 16 5.1.7 DQS/DQ/DM 間の配線ルール ... 16 5.2 終端ルール ... 16 5.2.1 CLK/CLK#の終端 ... 16 5.2.2 CMD/ADD の終端 ... 16 5.2.3 DQS の差動終端 ... 16 5.2.4 DQ の終端 ... 16 5.2.5 終端の概略図 ... 17 5.3 その他 ... 17 5.3.1 VREF ピン ... 17 5.3.2 使用禁止ピン ... 18

(3)
(4)

1 このドキュメントの概要

このドキュメントでは、LatticeECP3 に DDR3 メモリ I/F を実装する際の注意点について説明します。

文中で{}内に書かれている文字列は、JEDEC の DDR3 SDRAM Specification 内で定義されているパ ラメータ名です。このドキュメントではこれらのパラメータについて説明していませんので、詳細は JEDEC の DDR3 SRRAM Specification か各社の DDR3 SDRAM のデータシートを参照してくださ い。

なお、最新のデザインルールはweb 上で公開されている「Lattice ECP3 Hardware Checklist」に記

(5)

2 DDR_MEM モジュールを使用する場合の注意点

この章では、IPexpress で生成した DDR_MEM モジュール(メモリ I/F の PHY 部分)を使用する際の 注意事項について説明します。DDR3 SDRAM Controller の IP コアを使用する場合は、合わせて 3 章もご覧ください。 2.1 PLL の配置およびクロック入力ピンに関する注意事項 DDR_MEM モジュールで使用できる PLL には配置の指定があります(表 2-1)。 表 2-1 PLL の配置と入力指定ピン デバイス サイド ※1 PLL 配置 各パッケージの入力指定ピン

FPBGA484 FPBGA672 FPBGA1156

ECP3-35 左 PLL_R35C5 L5 U6 -- 右 PLL_R35C70 M18 V34 -- ECP3-70 左 PLL_R43C5 L5 U6 M3 右 PLL_R43C142 M18 V34 T21 ECP3-95 左 PLL_R43C5 L5 U6 M3 右 PLL_R43C142 M18 V34 T21 ECP3-150 左 PLL_R61C5 -- M3 U6 右 PLL_R61C178 -- T21 V34 ※1 パッケージ上面(Top View)から見た場合の方向です。 DDR_MEM モジュール内で使用している PLL と PLL へのクロック入力ピンは、インプリ時に必ず ピンアサインおよび配置指定を行ってください。 配置指定は、constraint ファイル(*.lpf)に以下の様に記述します。 ・入力ピン  記述ルール

LOCATE COMP “クロック入力ピン名” SITE “ピン番号”;  記述例

LOCATE COMP “pll_clk” SITE “Y28”; ・PLL

 記述ルール

LOCATE COMP “PLL 名” SITE “PLL 配置”;  記述例

(6)

---

・ピンアサインはGUI ツール[Spreadsheet View]でも行うことができます。

・PLL のインスタンス名は、[Translate design]後に GUI ツール[Netlist View]を開くか、[Map Design]プロセスのレポートで確認することができます。

図 2-1 Lattice Diamond の Netlist View

--- 2.2 クロック位相調整回路のタイミング制約と配置指定

DDR_MEM モジュールは、内部でクロック間の位相を調整する CSM(Clock Synchronization Module)を含んでいます。正しくクロック間の位相を調整するために、いくつかのネットに対する遅 延制約とリソースの配置指定が必要になります。 2.2.1 CSM の配置指定 CSM は 4 つのサブモジュールで構成されています。論理合成を行うと、自動的にサブモジュールご とのPGROUP(リソースのグループ)が生成されるので、PGROUP ごとに配置指定を行いまいます。 表 2-2 CSM サブモジュールの配置指定 デバイス サイド ※1 PLL 配置 PGROUP の配置 ※2

*/clk_phase0 */clk_phase1a */clk_phase1b */clk_stop

ECP3-35 左 PLL_R35C5 R24C5D R34C2D R34C2D R34C2D 右 PLL_R35C70 R24C70D R34C73D R34C73D R34C72D ECP3-70 左 PLL_R43C5 R32C5D R42C2D R42C2D R42C2D 右 PLL_R43C142 R32C142D R42C145D R42C145D R42C144D ECP3-95 左 PLL_R43C5 R32C5D R42C2D R42C2D R42C2D 右 PLL_R43C142 R32C142D R42C145D R42C145D R42C144D ECP3-150 左 PLL_R61C5 R50C5D R60C2D R60C2D R60C2D 右 PLL_R61C178 R50C178D R60C181D R60C181D R60C180D ※1 パッケージ上面(Top View)から見た場合の方向です。 ※2 *の部分にはデザインのインスタンス名に依存した文字列となります。

(7)

配置指定は、constraint ファイル(*.lpf)に以下の様に記述します。 ・入力ピン

 記述ルール

LOCATE PGROUP “グループ名” SITE “配置指定場所”;  記述例

(8)

3 DDR3 SDRAM Controller IP を使用する場合の注意事項

3.1 IP コアの制約 IP コアのインプリに必要な配置指定やタイミング制約は、IP コア生成時にサンプルプロジェクトと 一緒に、以下のファイルに出力されます。 [プロジェクトフォルダ]/ddr_p_eval/***/impl/Synplify/***_eval.lpf ***はIPexpress で IP コア生成時に設定した module(entity)名 このファイル内の制約は全て、実際のデザインプロジェクトでも適用して下さい。なお、生成および 実デザインへの適用に関しては、以下の点に注意してください。 ・IP コアのバージョンや IPexpress 上の各種設定を変更すると、配置指定やタイミング制約の内容 が変わることがあります。IP コアを生成しなおした際は、その都度生成される制約ファイルを使 用してください。 ・生成される制約ファイルは、インスタンス名や信号名がサンプルプロジェクトに合わせて生成さ れています。実デザインに適用するためには、多少の修正(インスタンス名や信号名の変更)が必 要になります。 ・メモリI/F のピンアサインは、DQS ピンのみ生成時の設定に従って指定されています。その他の ピンは、4 章のルールに従ってピンアサインを行ってください。サンプルプロジェクトでは自動 でピンアサインされるので、その結果をそのまま使用しても構いません。 ・最適な制約はデバイス(およびパッケージ)ごとに異なります。IP コア生成時には、必ず使用する デバイスを選択しておいてください。 3.2 実デザインでの IP コアの実装 3.2.1 IP コアの構造とブロック間の接続 IPexpress で生成される IP コアは、メモリコントローラブロックとクロック生成ブロックの2つに分 かれています。これらのブロックの接続方法は、IP コアと同時に作成されるリファレンスデザインを 参照してください。 図 3-1 リファレンスデザインのブロックダイアグラム リファレンスデザインのプロジェクト [プロジェクトフォルダ]/ddr_p_eval/***/impl/Synplify/***_eval.ldf ***はIPexpress で IP コア生成時に設定した module(entity)名

(9)

3.2.2 実デザインでの IP コアの実装

実デザインでIP コアを使用する際は、リファレンスデザインを参照して IP コアをブラックボックス

としてHDL ソースにインスタンスしてください。IP コアを作成したプロジェクトが実デザインのプ

ロジェクトなら、IP コアのネットリストは[Translate Design]プロセスで合成結果と結合されます。 IP を作成したプロジェクト以外のプロジェクトで IP コアを使用する場合は、IPexpress が出力する ngo ファイル(IP コアのネットリスト)を実デザインのプロジェクトフォルダにコピーするか、 [Translate Design]プロセスのオプション[Macro Search Paths]で ngo ファイルのあるフォルダを指 定してください。 図 3-2 IP コアのネットリストパス指定 3.2.3 デバイスの一辺に2つ以上の IP コアを実装する場合の注意点 デバイスの一辺(右か左)に2つ以上の IP コアを実装する場合、HDL ソース内でコントローラモジュー ルは複数インスタンスする必要がありますが、クロック位相調整ブロック[ddr3_clks]は、1つを共有 します。

(10)

3.2.4 デバイスの両辺に IP を実装する場合の注意点

両辺にそれぞれIP コアを実装する場合、配置指定等の制約はそれぞれの辺に実装する IP ごとに必要

になります。

各辺に実装する設定でIP コアを個別に作成し、実デザインでは両 IP コアの制約をマージして適用し

(11)

4 ピンアサインに関する注意

4.1 ピンアサインのルール DDR3 メモリインターフェイスのピンアサインは以下のルールを守ってください。 ・BOTTOM サイド(パッド番号が PBxxA/B)のピンには、RST#以外の DDR3 メモリインターフェイ スの信号をアサインしない。 ・DQ/DQS/DM は必ずデバイスの左右の辺にあるピンを使用する(IO バンク 2/3/6/7)。 ・DQS は必ず DQS(差動の+側)指定ピンにアサインする(DQS#は自動的に差動の-側のピンにアサイ ンされる)。 ・DQS#がアサインされるピンに、他の信号をアサインしない。 ・DQS に対応する DQ[7:0]および DM(オプション)は、必ず DQS と同じ[DQS グループ]のピンにア サインする。 ・使用するDQS ピンの隣のピン(パッド)はガードバンドとして High レベル固定出力ピンにし、ボー ド上でVCCIO に接続する。ただし、VREF ピンを含む DQS グループではガードバンドは不要(図 4-1参照)。 ・DM は DQS ピンの隣(ガードバンドとは反対側)に配置する。VREF ピンを含む DQS グループでは VREF ピンから遠い方の DQS/DQS#の隣に配置する(図 4-1参照)。 図 4-1 DQS 用ガードバンドと DM の配置例

(12)

・DQ/DQS/DM をアサインした DQS グループと隣り合っているDQS グル―プの内、最低でも1つ を Spacer(ノイズに対するガードバンド)として使用し、DQ/DQS/DM をアサインしない。Spacer にはCK/CMD/ADD はアサインしてもよい。 図 4-2 Spacer の配置例 ・Spacer として使用する DQS グループの両端のピンとDQS/DQS#のピン(図 4-3参照)は、High ま たはLow レベル出力に固定しボード上で該当する IO バンクの VCCIO か GND に接続する。この 際のVCCIO と GND の接続本数比が 3:1~2:1(VCCIO:GND)となるようにする。 図 4-3 ガードバンド内で High または Low 出力に固定するピン

(13)

・CK/CK#ピンは、対応する DQ/DQS/DM が配置されているサイド(Left or Right)の任意のピンにア サインする。周波数が400Mhz の場合は左右の IO バンクにアサインすること。周波数が 400Mhz 未満の場合はTOP の IO バンクにアサインしてもよい。 ・CLK/ADD/CMD 信号は、DDR 出力に対応した IO ピン(=差動 IO をサポートするピン)にアサイン する。 ・VREF 入力は各 IO バンクに2本あるが、必ず[VREF1]を使用する。([VREF2]はユーザーI/O とし て任意の信号をアサインしても問題ない)。 ・DDR3 メモリ I/F で使用する PLL へのリファレンスクロックは、使用する PLL の指定入力ピンか ら入力する(表 2-1 参照)。 ・未使用のPLL 入力ピン()は、ボード上で VCCIO に接続する(難しければ GND でも可)。 図 4-4 PLL 入力ピンの例 4.2 DQS 指定ピンと DQS グループ DQS 指定ピンとそれに対応する DQS グループは、web で公開されている Pinout リストから知るこ とができます。

(14)

このリストの[“パッケージタイプ” DQS]行に、[Edge]DQS[num]_[P/N]と書かれているピンが DQS 指定ピンです。[edge]は PAD のある辺を表しており、R(Right)か L(Left)になります。[num]は DQS

のPAD 番号です。P が差動で+側、N が差動で-側のピンです。

HDL ソース上の DQS ピンは、必ず+側のピン(*_P)にアサインします。DQS のバッファタイプとし て[SSTL15D]を選択すると-側のピンも自動的にアサインされます。

同じく[“パッケージタイプ” DQS]行に、[Edge]DQ[num]と書かれているピンは[Edge]および[num]が

(15)

5 ボードデザインに関する注意

5.1 配線ルール 5.1.1 Fly-by トポロジの推奨 1つのメモリコントローラに2 つ以上のメモリデバイスを制御する場合、CLK/ADD/CMD 信号は分 岐配線ではなくFly-by トポロジの採用を必須とします。 --- ・Fly-by トポロジの場合、メモリコントローラ側に Write Leveling 機能の実装が必要です。 --- メモリデバイスが1 つの場合は必須ではありませんが、可能な限り Fly-by トポロジの採用を推奨し ます。 5.1.2 信号間の配線間幅のルール 各信号の配線間は、クロストークノイズを防ぐため配線の幅の3 倍の間隔をあけることを推奨します。 ただし、DQS/DQS#、および CLK/CLK#の差動ペア間はこのルールの対象外とします。 5.1.3 CLK/CLK#間の配線ルール CLK および CLK#間は配線長の差分が±10mil(0.01 インチ)未満になるように配線してください。 5.1.4 CLK/ADD/CMD 間の配線ルール CLK/ADD/CMD 間は配線長の差分が±100mil(0.1 インチ)未満になるように配線してください。ま た、配線にはDQ/DQS とは異なるレイヤを使用してください。 5.1.5 CLK と DQS 間の配線ルール

コントローラにWrite Leveling 機能を実装しない場合(もしくは Write Leveling 実行前)、ECP3 から

のクロック出力とDQS 出力の位相は、図 5-1 のように DQS 出力の方が CLK 出力よりも 0~250p

進んでいます(DQS の方が早くトグルします)。

図 5-1 CLK と DQS の skew

ボード上のCLK と DQS の配線は以下のルールに従ってください。

DIMM を使用する場合 (Write Leveling 必須)

DIMM ソケットまでの CLK と DQS(およびその他の信号)は、等長配線(スキューが±100ps 以下)

になるよう配線してください。

(16)

5.1.6 DQS/DQS#間の配線ルール DQS および DQS#間は配線長の差分が±10mil(0.01 インチ)未満になるように配線してください。 5.1.7 DQS/DQ/DM 間の配線ルール DQS と DQ/DM は、配線長の差分が±50mil(0.05inch)以内に収まるように配線してください。 また、各信号は可能な限り同じレイヤ、同じ経路で配線すること、経由するビアの数は2 つ以下にするこ とを推奨します。 5.2 終端ルール この項では、LatticeECP3 と DDR3 メモリを接続するための終端方法について説明します。 なお、基本的にはこの項で説明する終端を行っていただくことを推奨しますが、ボードのデザインに よっては十分な信号品質を確保できない場合もあります。このため、事前にIBIS シミュレーション 等を行い、必要であれば各信号線にシリアル抵抗等を挿入することも検討してください。 5.2.1 CLK/CLK#の終端 CLK/CLK#は、接続されているもっとも遠いメモリ近傍(メモリから 5mm 以下)において線間 100Ω で終端することを推奨します。 5.2.2 CMD/ADD の終端 CMD/ADD は、ECP3 および DDR3 メモリ端での外部終端は不要です。しかし必要な場合はダンピ ング抵抗(22~35Ω程度)を ECP3 近傍に入れてください。 5.2.3 DQS の差動終端 DQS/DQS#は、信号線ごとに LatticeECP3 近傍で VTT に対して 100Ωで終端することを推奨します。 LatticeECP3 から近傍の終端抵抗までの配線長は 15mm 以下にすることを推奨します。ただし、以 下の条件を満たす場合は、この終端抵抗はなくても構いません。 ・ECP3 と DDR3 メモリが 1:1 で接続されている ・ECP3 と DDR3 メモリ間の配線距離が3インチ以下 ・IBIS または SPICE シミュレーションで波形の乱れが確認されない 5.2.4 DQ の終端 DQ は、信号線ごとに LatticeECP3 近傍で VTT に対して 100Ωで終端することを推奨します。 LatticeECP3 から近傍の終端抵抗までの配線長は 15mm 以下にすることを推奨します。ただし、DQS と同様の条件を満たす場合は、この終端抵抗はなくても構いません。

(17)

5.2.5 終端の概略図 図 5-2 ECP3 と DDR3メモリの終端(ECP3-DDR3 が 1 対 1 で接続されている場合の例) 5.3 その他 5.3.1 VREF ピン 各IO バンクの VREF には専用の POL で生成したリファレンス電圧を印加することを推奨します。 抵抗で分圧した電圧を印加する場合は、可能な限りノイズが乗らないようにフィルタ等を使用してく ださい。

なお、どちらの場合でもVREF 電圧をより安定させるため、VREF ピン端に 0.1uF 程度のデカップ

リング容量を使用することを推奨します。

(18)

5.3.2 使用禁止ピン デバイスの規模を問わず、FPBGA1156 パッケージを使用する場合、以下のピンは使用しないでくだ さい。 AN29, AM31 このピンに入力/出力される信号がトグルするとXRES ピンに影響を与え、結果として DDR3 メモ リI/F の入出力信号にジッタやノイズがのって誤動作してしまいます。

(19)

6 改訂履歴

バージョン リリース日 改訂内容 Ver1.0 2011/8 ・初版リリース Ver1.1 2012/1 ・ガードバンドの呼称をテクニカルノートに合わせてSpacer に 変更 ・4.1 項のピンアサインルールを変更

図  2-1 Lattice Diamond の Netlist View
図  5-1 CLK と DQS の skew
図  5-3 VREF 電源のデカップリング

参照

関連したドキュメント

In this paper, we consider the discrete deformation of the discrete space curves with constant torsion described by the discrete mKdV or the discrete sine‐Gordon equations, and

よう素による甲状腺等価線量評価結果 核種 よう素 対象 放出後の72時間積算値 避難 なし...

ヒュームがこのような表現をとるのは当然の ことながら、「人間は理性によって感情を支配

・少なくとも 1 か月間に 1 回以上、1 週間に 1

システムであって、当該管理監督のための資源配分がなされ、適切に運用されるものをいう。ただ し、第 82 条において読み替えて準用する第 2 章から第

瓦礫類の線量評価は,次に示す条件で MCNP コードにより評価する。 なお,保管エリアが満杯となった際には,実際の線源形状に近い形で

1.管理区域内 ※1 外部放射線に係る線量当量率 ※2 毎日1回 外部放射線に係る線量当量率 ※3 1週間に1回 外部放射線に係る線量当量

 1号機では、これまでの調査により、真空破壊ライン ベローズおよびサンドクッションドレン配管の破断