Comments
Transcript
Zynq-7000 All Programmable SoC および 7 シリーズ デバイス
Zynq-7000 AP SoC および 7 シ リ ーズ デバイ ス メ モ リ イ ン ターフ ェ イス ソ リ ュ ーシ ョ ン v2.3 ユーザー ガ イ ド UG586 2015 年 4 月 1 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。 資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最 新情報につきましては、必ず最新英語版をご参照ください。 日付 2015 年 4 月 1 日 バージ ョ ン 内容 2.3 • 「 コ ン フ ィ ギ ュ レーシ ョ ン」 の説明をすべて更新。 • SIM_BYPASS_INIT_CAL を更新。 第1章 • 「DDR3 メ モ リ パ ラ メ ー タ ー オプシ ョ ンの設定」 セ ク シ ョ ンの説明を追加。 • 「 コ ン ト ロ ー ラ ー オプシ ョ ン」 セ ク シ ョ ンにア ンサー レ コ ー ド : 54025 の注記を追加。 • 表 1-17 : 「ユーザー イ ン タ ーフ ェ イ ス」 に app_rd_data_end の説明を追加。 • 表 1-19 : 「AXI4 ス レーブ イ ン タ ーフ ェ イ ス のパ ラ メ ー タ ー」 を更新。 • 「AXI4 ス レーブ イ ン タ ーフ ェ イ ス信号」 セ ク シ ョ ンの説明を更新。 • 「時分割多重化 (TDM)」 、 「 ラ ウ ン ド ロ ビ ン」 、 お よ び 「読み出 し 優先 (RD_PRI_REG)」 セ ク シ ョ ン を更新。 • 「キ ャ リ ブ レーシ ョ ン時間」 の GES の説明を更新。 • 図 1-50 : 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を更新。 • 表 1-87 : 「 メ モ リ コ ン ト ロ ー ラ ー と キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク 間の イ ン タ ーフ ェ イ ス信号」 を更新。 • 「AXI ア ド レ ス指定」 セ ク シ ョ ン を更新。 • 「書 き 込みパ ス」 セ ク シ ョ ン を更新。 • 図 1-84 : コ マ ン ド 処理を更新 • 「物理層 イ ン タ ーフ ェ イ ス ( メ モ リ コ ン ト ロ ー ラ ーを使用 し ないデザ イ ン)」 セ ク シ ョ ン を更新 • 「 ト レース長」 セ ク シ ョ ンの CK の説明を更新。 • 図 1-93 : 「キ ャ リ ブ レーシ ョ ンの段階」 を更新。 • 「キ ャ リ ブ レーシ ョ ン エ ラ ーの発生 し てい る 段階の特定」 セ ク シ ョ ンの説明を更新。 • 表 1-100 : 「DDR2/DDR3 のデバ ッ グ信号」 を更新。 • 表 1-102 : 「 ラ イ ト レベ リ ン グ キ ャ リ ブ レーシ ョ ンに関連する デバ ッ グ信号」 を更新。 • 表 1-103 : 「MPR リ ー ド レベ リ ン グ キ ャ リ ブ レーシ ョ ンに関連す る デバ ッ グ信号」 を 更新。 • 「OCLKDELAYED キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ」 セ ク シ ョ ンのキ ャ リ ブ レー シ ョ ン概要を更新。 • 「OCLKDELAYED キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ」 セ ク シ ョ ンのデバ ッ グの説 明を更新。 • 表 1-104 : 「OCLKDELAYED キ ャ リ ブ レーシ ョ ンに関連する デバ ッ グ信号」 を表 1-106 : 「 リ ー ド レベ リ ン グ段階 1 キ ャ リ ブ レーシ ョ ンに関連する デバ ッ グ信号」 に更新。 • 表 1-108 : 「ハー ド ウ ェ アのキ ャ リ ブ レーシ ョ ン時間」 を更新。 • 「手動ウ ィ ン ド ウ チェ ッ ク の読み出し タ イ ミ ングの確認および変更」 セ ク シ ョ ン を更新。 • 「キ ャ リ ブ レーシ ョ ン時間」 セ ク シ ョ ン を更新 • 「読み出 し パ ス」 セ ク シ ョ ン を更新。 第2章 • 図 2-43 : 「36 ビ ッ ト QDR II+ イ ン タ ーフ ェ イ ス の PHY の概略ブ ロ ッ ク 図」 を更新。 • 「マージ ンのチ ェ ッ ク 」 お よ び 「マージ ンの自動チ ェ ッ ク 」 セ ク シ ョ ン を更新。 第3章 • 「 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス を介 し た コ ア と の イ ン タ ーフ ェ イ ス」 セ ク シ ョ ン を 更新。 第4章 • 「app_wdf_data[APP_DATA_WIDTH – 1:0]」 お よ び 「app_wdf_mask[APP_MASK_WIDTH – 1:0]」 セ ク シ ョ ン を修正。 • 図 4-43 : 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を更新。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 2 日付 2014 年 11 月 19 日 2014 年 10 月 1 日 バージ ョ ン 内容 2.3 第1章 • 「 ラ ウ ン ド ロ ビ ン」 セ ク シ ョ ンの説明を更新。 • 表 1-92 : 「7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ンで コ ン フ ィ ギ ュ レーシ ョ ン可能な パ ラ メ ー タ ー」 の RTT_WR を更新。 • 「OCLKDELAYED キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ」 セ ク シ ョ ンの説明を更新。 • 表 1-106 : 「OCLKDELAYED キ ャ リ ブ レーシ ョ ンに関連す る デバ ッ グ信号」 を更新。 • 「キ ャ リ ブ レーシ ョ ン時間」 の GES 時間を更新。 • 表 1-109 : 「PRBS リ ー ド レベ リ ン グ キ ャ リ ブ レーシ ョ ンに関連す る デバ ッ グ信号」 の left_loss_pb お よ び right_gain_pb のビ ッ ト を更新。 2.2 • example_design/sim デ ィ レ ク ト リ テーブル内の フ ァ イ ルのサンプル デザ イ ン リ ン ク を更新、 「IES お よ び VCS ス ク リ プ ト フ ァ イ ルを使用 し たシ ミ ュ レーシ ョ ン フ ロ ー」 セ ク シ ョ ン の リ ン ク を更新、 「Vivado シ ミ ュ レ ー タ を 使用 し た シ ミ ュ レ ーシ ョ ン フ ロ ー」 セ ク シ ョ ン を更新、 「QuestaSim を使用す る シ ミ ュ レーシ ョ ン」 セ ク シ ョ ン を更 新。 第1章 • 「FPGA オプシ ョ ン」 セ ク シ ョ ンの基準 ク ロ ッ ク の説明を更新。 • 表 1-19 : 「AXI4 ス レーブ イ ン タ ーフ ェ イ ス のパ ラ メ ー タ ー」 の C_S_AXI_DATA_WIDTH の説明を更新。 • 図 1-50 : 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を更新。 • 「OCLKDELAYED キ ャ リ ブ レーシ ョ ン」 セ ク シ ョ ン を更新。 • 「書 き 込みパ ス」 セ ク シ ョ ン を更新。 • 表 1-92 : 「7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ンで コ ン フ ィ ギ ュ レーシ ョ ン可能な パ ラ メ ー タ ー」 に REF_CLK_MMCM_IODELAY_CTRL を追加。 • 表 1-93 : 「エンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ー」 に nBANK_MACHS の注記を追加。 • 表 1-94 : 「DDR2/DDR3 SDRAM メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンの ピ ン配置 パ ラ メ ー タ ー」 に行を追加 し 、 説明を更新。 • 「 ト レース長」 セ ク シ ョ ンの CK/CK# の説明を更新。 • 表 1-102 : 「DDR2/DDR3 のデバ ッ グ信号」 を更新。 • 表 1-112 : 「読み出 し /書き 込み タ イ ミ ン グ確認お よ び変更用のデバ ッ グ信号」 の デバ ッ グ信号を更新。 第2章 • 「デザ イ ン ガ イ ド ラ イ ン」 セ ク シ ョ ンに 「複数コ ン ト ロ ー ラ ーに よ る バン ク の共有」 を追加。 第3章 • 「デザ イ ン ガ イ ド ラ イ ン」 セ ク シ ョ ンに 「複数コ ン ト ロ ー ラ ーに よ る バン ク の共有」 を追加。 第4章 • 図 4-57 を図 4-59 へ、 図 4-62 を図 4-63 へ更新。 • 「書 き 込みパ ス」 セ ク シ ョ ンの 2:1 の説明を更新。 • 「終端」 セ ク シ ョ ンの規則を更新。 • Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 3 日付 2014 年 6 月 4 日 バージ ョ ン 内容 2.1 第1章 • 「機能」 にデー タ シー ト への参照を追加。 • 「 コ ン ト ロ ー ラ ー オプシ ョ ン」 の [Data Mask] に関す る 重要な注釈を追加。 • 「プ リ チ ャ ージ ポ リ シー」 に注記を追加。 • 表 1-11 に PRBS_SADDR_MASK_POS を追加。 example_top モジ ュ ールにおけ る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパ ラ メ ー タ ー設定。 • 「IDELAYCTRL」 の IDELAYCTRL 周波数を更新。 • 「IDELAY 基準 ク ロ ッ ク 」 を更新。 • 「PRBS リ ー ド レベ リ ン グ」 を更新。 • 表 1-93 : 「エンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ー」 に nBANK_MACHS の注記を追加。 • 「 ト レース長」 のパ ッ ケージ長の説明を更新。 • 「DDR3/DDR2 デザ イ ンのデバ ッ グ」 の注記にシ ミ ュ レーシ ョ ンの説明を追加。 • 「PRBS リ ー ド レベ リ ン グ エ ラ ーのデバ ッ グ」 の説明を更新。 • 表 109 を更新 : 「PRBS リ ー ド レベ リ ン グ キ ャ リ ブ レーシ ョ ンに関連する デバ ッ グ信 号」 の left_loss_pb お よ び right_gain_pb のビ ッ ト を更新。 第2章 • 「は じ めに」 にデー タ シー ト への参照を追加。 • 「 ト レース長の要件」 のパ ッ ケージ長の説明を更新。 • 表 2-11 : 「QDR II+ SRAM メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンの ピ ン配置パ ラ メ ー タ ー」 に CPT_CLK_SEL_* の行を追加。 • 「QDR II+ デザ イ ンのデバ ッ グ」 の注記にシ ミ ュ レーシ ョ ンの説明を追加。 第3章 • 「機能」 にデー タ シー ト への参照を追加。 • 「 メ モ リ コ ン ト ロ ー ラ ー」 に注記を追加。 • 表 3-8 に PRBS_SADDR_MASK_POS を追加。 example_top モジ ュ ールにおけ る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパ ラ メ ー タ ー設定。 • 「 ト レース長の要件」 の規則 と パ ッ ケージ長の説明を更新。 • 「RLDRAM II お よ び RLDRAM 3 デザ イ ンのデバ ッ グ」 の注記にシ ミ ュ レーシ ョ ンの 説明を追加。 第4章 • 「プ リ チ ャ ージ ポ リ シー」 に注記を追加。 • 表 4-11 に PRBS_SADDR_MASK_POS を追加。 example_top モジ ュ ールにおけ る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパ ラ メ ー タ ー設定。 • 「 ト レース長の要件」 のパ ッ ケージ長の説明を更新。 • 「読み出 し パ ス」 の注記にシ ミ ュ レーシ ョ ンの説明を追加。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 4 日付 2014 年 4 月 2 日 バージ ョ ン 内容 2.0 第1章 • DQS に合わせて文書を更新。 • 表 1-4 : 「example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ル」 を更新。 • 「IES お よ び VCS ス ク リ プ ト フ ァ イ ルを使用 し たシ ミ ュ レーシ ョ ン フ ロ ー」 の フ ァ イ ルの説明を更新。 • 「FPGA オプシ ョ ン」 の [System Clock] の項目に [No Buffer] を説明を追加。 • 表 「 メ モ リ コ ン ト ロ ー ラ ー と キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク 間の イ ン タ ーフ ェ イ ス信 号」 の mc_data_offset の説明を更新。 • 「MPR リ ー ド レベ リ ン グ」 に MPR リ ー ド レベ リ ン グ プ ロ セ ス を追加。 • 「温度モニ タ ー」 を更新。 • 「物理層 イ ン タ ーフ ェ イ ス ( メ モ リ コ ン ト ロ ー ラ ーを使用 し ないデザ イ ン)」 に、 tempmon の説明を追加。 • DDR3 の 「終端」 に 「ア ド レ スお よ び制御信号」 の項目の説明を追加。 • DDR2 の 「終端」 に 「ア ド レ スお よ び制御信号」 の項目の説明を追加、 「CKE 信号」 の 項目を更新。 • 「 ト レース長」 の CK の説明を追加。 • 「 コ ン フ ィ ギ ュ レーシ ョ ン」 に DDR3/DDR2 の新規の コ ー ド 制約を追加。 • 「 ク ロ ッ キ ン グ」 を追加。 • 表 1-102 : 「DDR2/DDR3 のデバ ッ グ信号」 の ロ ーカル信号を更新。 第2章 • 「 コ ン フ ィ ギ ュ レーシ ョ ン」 セ ク シ ョ ンに新規の コ ー ド 制約を追加。 • 表 2-3 : 「example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ル」 を更新。 • 「IES お よ び VCS ス ク リ プ ト フ ァ イ ルを使用 し たシ ミ ュ レーシ ョ ン フ ロ ー」 の フ ァ イ ルの説明を更新。 第3章 • 「 コ ン フ ィ ギ ュ レーシ ョ ン」 セ ク シ ョ ンに新規の コ ー ド 制約を追加。 • 表 3-3 : 「example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ル」 を更新。 • 「 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス を介 し た コ ア と の イ ン タ ーフ ェ イ ス」 の書 き 込み/読 み出 し コ マ ン ド に関す る 重要な注釈を追加。 • 「RLDRAM II メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンで コ ン フ ィ ギ ュ レーシ ョ ン可 能なパ ラ メ ー タ ー」 の表の MRS_RD_LATENCY オプシ ョ ン を更新。 • 「IES お よ び VCS ス ク リ プ ト フ ァ イ ルを使用 し たシ ミ ュ レーシ ョ ン フ ロ ー」 の フ ァ イ ルの説明を更新。 第4章 • 「 コ ン フ ィ ギ ュ レーシ ョ ン」 セ ク シ ョ ンに新規の コ ー ド 制約を追加。 • 表 4-4 : 「example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ル」 を更新。 • 「IES お よ び VCS ス ク リ プ ト フ ァ イ ルを使用 し たシ ミ ュ レーシ ョ ン フ ロ ー」 の フ ァ イ ルの説明を更新。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 5 日付 2013 年 12 月 18 日 バージ ョ ン 内容 2.0 • Vivado Design Suite のみの MIG v2.0 リ リ ース。 • 資料 タ イ ト ルを変更。 第1章 • [Out-of-Context Settings] の内容を追加。 • 表 1-4 : 「example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ル」 を更新。 • 「<component name>/user_design」 を更新 • 図 1-39 : 「合成可能なサンプル デザ イ ンのブ ロ ッ ク 図」 を更新。 • シ ミ ュ レーシ ョ ン フ ロ ーを追加。 • 表 1-15 : 「書き 込み ト ラ ンザ ク シ ョ ンのデバ ッ グ ス テー タ ス」 に Bits[39:32] を追加。 • 表 1-16 : 「読み出 し ト ラ ンザ ク シ ョ ンのデバ ッ グ ス テー タ ス」 に Bits[39:32] を追加。 • 「 コ アのカ ス タ マ イ ズ」 に OOC の説明を追加。 • 「Vivado ラ ボ ツール」 に ILA ト リ ガーの設定を追加。 • 「デバ ッ グ」 に読み出 し レ イ テ ン シに関す る 注記を追加。 • 「デバ ッ グ」 の R に対す る ChipScope ト リ ガーを更新。 第2章 • [Out-of-Context Settings] の内容を追加。 • 表 2-3 : 「example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ル」 を更新。 • 「<component name>/user_design」 を更新 • 「 コ アのカ ス タ マ イ ズ」 に OOC の説明を追加。 • シ ミ ュ レーシ ョ ン フ ロ ーを追加。 • 「Vivado ラ ボ ツール」 に ILA ト リ ガーの設定を追加。 第3章 • [Out-of-Context Settings] の内容を追加。 • 表 3-3 : 「example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ル」 を更新。 • 「<component name>/user_design」 を更新 • 図 3-35 : 「合成可能なサンプル デザ イ ンのブ ロ ッ ク 図」 を更新。 • 「 コ アのカ ス タ マ イ ズ」 に OOC の説明を追加。 • シ ミ ュ レーシ ョ ン フ ロ ーを追加。 • 「Vivado ラ ボ ツール」 に ILA ト リ ガーの設定を追加。 • 図 3-48 「RLDRAM II イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンの書き 込みパス のブ ロ ッ ク 図」 を更新。 • 「デバ ッ グ」 に読み出 し レ イ テ ン シに関す る 注記を追加。 第4章 • [Out-of-Context Settings] の内容を追加。 • 表 4-4 : 「example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ル」 を更新。 • 「<component name>/user_design」 を更新 • 図 4-37 : 「合成可能なサンプル デザ イ ンのブ ロ ッ ク 図」 を更新。 • 「 コ アのカ ス タ マ イ ズ」 に OOC の説明を追加。 • シ ミ ュ レーシ ョ ン フ ロ ーを追加。 • 「デバ ッ グ」 に読み出 し レ イ テ ン シに関す る 注記を追加。 第5章 • [Out-of-Context Settings] の内容を追加。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 6 日付 2013 年 10 月 2 日 バージ ョ ン 内容 2.0 • Vivado Design Suite のみの MIG v2.0 リ リ ース。 • 文書全体で ISE の内容を削除、 v2.0 に合わせて画面を更新。 第1章 • [Memory Part] の箇条書 き を更新。 • 表 1-4 の sim.do の説明お よ びシ ミ ュ レーシ ョ ン デ ィ レ ク ト リ を更新。 • 図 1-44 の 7 シ リ ーズ FPGA MIS を更新。 • 表 1-20 「AXI4 ス レーブ イ ン タ ーフ ェ イ ス の信号」 に aresetn を追加。 • 「シ ン グル エ ラ ーお よ びダブル エ ラ ーの レ ポー ト 」 セ ク シ ョ ンに 「注意」 書き を追加。 • 表 1-77 「 メ モ リ イ ン タ ーフ ェ イ ス コ マ ン ド 」 を更新。 • 「OCLKDELAYED のキ ャ リ ブ レーシ ョ ン」 セ ク シ ョ ンで段階 3 の タ ッ プ を更新お よ び 追加。 • 表 1-91 「7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ンで コ ン フ ィ ギ ュ レーシ ョ ン可能なパ ラ メ ー タ ー」 に注記 4 を追加。 • 「app_wdf_mask[APP_MASK_WIDTH - 1:0]」 セ ク シ ョ ンの説明を更新。 • 「ユーザー イ ン タ ーフ ェ イ ス」 セ ク シ ョ ンに メ モ リ ア ド レ ス マ ッ ピ ン グの説明を追 加。 • 表 1-106 「OCLKDELAYED キ ャ リ ブ レーシ ョ ンに関連す る デバ ッ グ信号」 を更新。 第2章 • 表 2-3 の sim.do の説明お よ びシ ミ ュ レーシ ョ ン デ ィ レ ク ト リ を更新。 • I/O 規格の DIFF_HSTL_I を更新。 • 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 の基準 ク ロ ッ ク の説明を更新。 • 表 2-11 「7 シ リ ーズ FPGA QDR II+ SRAM メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパ ラ メ ー タ ー」 に注記 1 を追加。 SIM_BYPASS_INIT_CAL を更新。 第3章 • 表 3-3 の sim.do の説明お よ びシ ミ ュ レーシ ョ ン デ ィ レ ク ト リ を更新。 • 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 セ ク シ ョ ンの基準 ク ロ ッ ク の説明を更新。 • 表 3-13 「RLDRAM II メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンで コ ン フ ィ ギ ュ レー シ ョ ン可能なパ ラ メ ー タ ー」 に注記 1 を追加。 SIM_BYPASS_INIT_CAL を更新。 第4章 • 表 4-4 の sim.do の説明お よ びシ ミ ュ レーシ ョ ン デ ィ レ ク ト リ を更新。 • 図 4-37 の 7 シ リ ーズ FPGA MIS を更新。 • 表 4-14 「ユーザー イ ン タ ーフ ェ イ ス」 を更新。 • 表 4-25 「7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンで コ ン フ ィ ギ ュ レーシ ョ ン可能なパ ラ メ ー タ ー」 に注記 4 を追加。 • 「app_wdf_mask[APP_MASK_WIDTH - 1:0]」 セ ク シ ョ ンの説明を更新。 • 「ユーザー イ ン タ ーフ ェ イ ス」 セ ク シ ョ ンに メ モ リ ア ド レ ス マ ッ ピ ン グの説明を追 加。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 7 日付 2013 年 6 月 19 日 バージ ョ ン 内容 2.0 • Vivado Design Suite のみの MIG v2.0 リ リ ース。 コ アのバージ ョ ン番号 と 合わせる ため リ ビ ジ ョ ン番号を 2.0 に変更。 第1章 • ChipScope を Vivado ロ ジ ッ ク 解析、 VIO、 お よ び ILA に変更。 • 表 1-17 「ユーザー イ ン タ ーフ ェ イ ス」 で ui_clk お よ び ui_clk_sync_rst の説明を更新。 • ui_clk お よ び ui_clk_sync_rst を更新。 • 「順序変更 ( リ オーダ リ ン グ)」 に順序変更モー ド を追加 し 、 表 1-91 にモー ド を追加。 • 「AXI4 ス レーブ イ ン タ ーフ ェ イ ス ブ ロ ッ ク 」 の ECC イ ネーブルを更新。 • 「Read Priority (RD_PRI)」 を更新。 • 表 1-19 「AXI4 ス レーブ イ ン タ ーフ ェ イ ス のパ ラ メ ー タ ー」 で C_S_AXI_ADDR_WIDTH の値 と 説明を更新。 • 書 き 込み優先順位の説明を追加。 • 「PHASER_IN DQSFOUND のキ ャ リ ブ レーシ ョ ン」 を更新。 • ダ ウ ンサ イ ジ ン グ オプシ ョ ン を削除。 • DQ の説明に DM を追加。 • 「ダ イ ナ ミ ッ ク キ ャ リ ブ レーシ ョ ンお よ び周期的読み出 し 動作」 セ ク シ ョ ン を追加。 • 「Vivado ラ ボ ツール」 セ ク シ ョ ン を追加。 • Vivado のア ンサー 54025 を追加。 • 「PHASER_IN DQSFOUND キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ (dbg_pi_dqsfound_err = 1)」 を更新。 第2章 • ChipScope を Vivado ロ ジ ッ ク 解析、 VIO、 お よ び ILA に変更。 • 「[Controller Options] ページ」 に [Fixed Latency Mode] の説明を追加。 • 表 2-12 「物理 イ ン タ ーフ ェ イ ス の信号」 か ら qdr_qvld を削除。 • 図 2-26 「バース ト 長 4 ワー ド の メ モ リ デバ イ ス のプ ロ ト コ ル」 を変更。 • 「書 き 込みパ ス」 の 「出力アーキ テ ク チ ャ 」 を更新。 • 「書 き 込みキ ャ リ ブ レーシ ョ ン」 セ ク シ ョ ン を追加。 • QVLD を削除。 • 表 2-20 「書き 込み初期化デバ ッ グ信号マ ッ プ」 を更新。 • 表 2-21 「読み出 し 工程 1 デバ ッ グ信号マ ッ プ」 お よ び表 2-22 「読み出 し 工程 2 デバ ッ グ信号マ ッ プ」 を更新。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 8 日付 2013 年 6 月 19 日 (続 き ) 2013 年 3 月 20 日 バージ ョ ン 内容 2.0 第3章 • ChipScope を Vivado ロ ジ ッ ク 解析、 VIO、 お よ び ILA に変更。 • 表 3-13 「物理 イ ン タ ーフ ェ イ ス の信号」 か ら rld_qvld を削除。 • 表 3-16 「RLDRAM II メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンの ピ ン配置パ ラ メ ー タ ー」 か ら QVLD お よ び QVLD_MAP を削除。 • QVLD を削除。 • 「手動に よ る ピ ン配置の変更」 の説明を更新。 • 「キ ャ リ ブ レーシ ョ ン」 に新 し いキ ャ リ ブ レーシ ョ ンの説明を追加。 • 表 3-26 「rld_phy_top モジ ュ ールで定義 さ れてい る 物理層のシ ンプル ス テー タ ス バス の説明」 を更新。 • 表 3-27 「DEBUG_PORT 信号の説明」 に dbg_rd_stage1_rtr_error[N_DATA_LANES - 1:0] お よ び dbg_rd_stage1_error[N_DATA_LANES - 1:0] を追加。 • 表 3-31 「読み出 し 工程 1 デバ ッ グ信号マ ッ プ」 お よ び表 3-32 「読み出 し 工程 2 デバ ッ グ信号マ ッ プ」 を更新。 • 図 3-36 「キ ャ リ ブ レーシ ョ ン フ ロ ー図」 お よ び図 3-37 「 リ ー ド レベ リ ン グ段階 1」 を追加。 • 「デー タ ア ラ イ メ ン ト と Valid 信号の生成」 に説明を追加。 • 「書 き 込みキ ャ リ ブ レーシ ョ ン」 セ ク シ ョ ンの説明を更新 し 、図 3-38 ~図 3-43 を追加。 • 「書 き 込みキ ャ リ ブ レーシ ョ ンのデバ ッ グ マ ッ プ」 セ ク シ ョ ン を追加。 第4章 • ChipScope を Vivado ロ ジ ッ ク 解析、 VIO、 お よ び ILA に変更。 • 表 4-14 「ユーザー イ ン タ ーフ ェ イ ス」 で ui_clk お よ び ui_clk_sync_rst の説明を更新。 • ui_clk お よ び ui_clk_sync_rst を更新。 • 「順序変更 ( リ オーダ リ ン グ)」 に順序変更モー ド を追加 し 、 表 4-25 にモー ド を追加。 • DQ の説明に DM を追加。 • 「LPDDR2 ピ ン配置の例」 に終端の説明を追加。 第6章 • 「Vivado におけ る ISE/CORE Generator MIG コ アのア ッ プグ レー ド 」 を追加。 1.9 • ISE 14.5 お よ び Vivado Design Suite 2013.1 での MIG v1.9 お よ び v1.9a リ リ ース。 第1章 • 「[Controller Options] ページ」 に メ モ リ パーツの周波数を追加。 • 「FPGA オプシ ョ ンの設定」 に [No Buffer] の説明を追加。 • 「ピ ン変更の検証お よ びデザ イ ンの更新」 に ピ ン配置の説明を追加。 • 図 1-15 「 メ モ リ オプシ ョ ンの設定」 を変更。 • 図 1-16 「FPGA オプシ ョ ンの設定」 を変更。 • 図 1-30 「7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン」 を変更。 • 「AXI4 ス レーブ イ ン タ ーフ ェ イ ス ブ ロ ッ ク 」 に ECC の説明を追加。 • 表 1-91 「7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ンで コ ン フ ィ ギ ュ レーシ ョ ン可能なパ ラ メ ー タ ー」 を更新。 • 「AXI4 ス レーブ イ ン タ ーフ ェ イ ス ブ ロ ッ ク 」 に ECC の説明を追加。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 9 日付 2013 年 3 月 20 日 (続 き ) バージ ョ ン 内容 1.9 • 表 1-91 「7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ンで コ ン フ ィ ギ ュ レーシ ョ ン可能なパ ラ メ ー タ ー」 を更新。 • 表 1-92 「エンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レー シ ョ ン パ ラ メ ー タ ー」 を更新。 • 表 1-93 「DDR2/DDR3 SDRAM メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンの ピ ン配置パ ラ メ ー タ ー」 を更新。 • 「サンプル デザ イ ン を使用 し たシ ミ ュ レーシ ョ ン検証」 に説明を追加。 • 「設計ガ イ ド ラ イ ン」 の 「DDR3 SDRAM」 セ ク シ ョ ンの説明を変更。 • 「デバ ッ グ」 セ ク シ ョ ン を追加。 第2章 • 「FPGA オプシ ョ ンの設定」 に [No Buffer] の説明を追加。 • 「ピ ン変更の検証お よ びデザ イ ンの更新」 に ピ ン配置の説明を追加。 • 図 2-15 「FPGA オプシ ョ ンの設定」 を変更。 • 表 2-13 「7 シ リ ーズ FPGA の QDR II+ SRAM メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レ ー シ ョ ン 可能 な パ ラ メ ー タ ー」 の REFCLK_FREQ お よ び RST_ACT_LOW を変更。 • 表 2-14 「QDR II+ SRAM メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンの ピ ン配置パ ラ メ ー タ ー」 を更新。 • 「サンプル デザ イ ン を使用 し たシ ミ ュ レーシ ョ ン検証」 に説明を追加。 第3章 • 「FPGA オプシ ョ ンの設定」 に [No Buffer] の説明を追加。 • 図 3-14 「FPGA オプシ ョ ンの設定」 を変更。 • 「ピ ン変更の検証お よ びデザ イ ンの更新」 を追加。 • 表 3-10 「example_top モジ ュ ールにおけ る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパ ラ メ ー タ ー設定」 の nCK_PER_CLK を変更。 • 表 3-15 「RLDRAM II メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンで コ ン フ ィ ギ ュ レー シ ョ ン可能なパ ラ メ ー タ ー」 を更新。 • 表 3-16 「RLDRAM II メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンの ピ ン配置パ ラ メ ー タ ー」 を更新。 • 「サンプル デザ イ ン を使用 し たシ ミ ュ レーシ ョ ン検証」 に説明を追加。 第4章 • 「LPDDR2 SDRAM」 セ ク シ ョ ン を追加。 第6章 • 新 し い GUI に変更。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 10 日付 2012 年 12 月 18 日 2012 年 10 月 16 日 バージ ョ ン 内容 1.8 • ISE 14.4 と Vivado 2012.4 Design Suite で MIG v1.8 をサポー ト 。 第1章 • 表 1-2 ~表 1-9 に注記を追加 し 、 .v フ ァ イ ルの名前を変更。 • 図 1-16 「FPGA オプシ ョ ンの設定」 を変更。 • [XADC Instantiation] の説明を追加。 • 表 1-4 に sim.do の説明を追加。 • 表 1-11 の DATA_PATTERN で 0xF を 0xA に変更。 • 表 1-13 の vio_data_mode_value[3:0] で 0xF を 0xA に変更。 • 「シ ミ ュ レーシ ョ ンの設定」 の説明を更新。 • 「EDK での ク ロ ッ キ ン グ」 に説明を追加。 • 表 1-17 で ui_clk お よ び ui_clk_sync_rst を更新。 • 「内部 (FPGA) ロ ジ ッ ク ク ロ ッ ク 」 に説明を追加。 • 表 1-91 に TEMP_MON_CONTROL を追加。 • 表 1-92 に DATA_IO_IDLE_PWRDWN お よ び CA_MIRROR を追加。 • 「DDR3 デザ イ ンにおけ る バン ク お よ びピ ンの選択」 に HP バン ク の説明を追加。 • 「 コ ン フ ィ ギ ュ レーシ ョ ン」 に DDR3 SDRAM イ ン タ ーフ ェ イ ス の説明を追加。 • 「DDR2 デザ イ ンにおけ る バン ク お よ びピ ンの選択」 に HP バン ク の説明を追加。 • 「 コ ン フ ィ ギ ュ レーシ ョ ン」 に DDR2 SDRAM イ ン タ ーフ ェ イ ス の説明を追加。 第2章 • 表 2-2 お よ び表 2-7 ~表 2-8 に注記を追加 し 、 .v フ ァ イ ルの名前を変更。 • 表 2-3 に sim.do の説明を追加。 • 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 の説明を更新 し 、 図 2-26 を追加。 • 「書 き 込みパ ス」 の 「出力アーキ テ ク チ ャ 」 の説明を更新。 • 「 ト レース長の要件」 の説明を更新。 • 「 コ ン フ ィ ギ ュ レーシ ョ ン」 に QDR II の説明を追加。 • 「サンプル デザ イ ン を使用 し たシ ミ ュ レーシ ョ ン検証」 に説明を追加。 • 「マージ ンのチ ェ ッ ク 」 お よ び 「マージ ンの自動チ ェ ッ ク 」 セ ク シ ョ ン を追加。 第3章 • 表 3-2 お よ び表 3-6 ~表 3-8 に注記を追加 し 、 .v フ ァ イ ルの名前を変更。 • 表 3-3 に sim.do の説明を追加。 • 表 3-10 の DATA_PATTERN で 0xF を 0xA に変更。 • 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 の説明を更新 し 、 図 3-30 を追加。 • 「 ト レース長の要件」 の説明を更新。 • 「RLDRAM II」 に説明を追加。 • 「 コ ン フ ィ ギ ュ レーシ ョ ン」 に RLDRAM II の説明を追加。 • 「サンプル デザ イ ン を使用 し たシ ミ ュ レーシ ョ ン検証」 に説明を追加。 • 「デバ ッ グ」 セ ク シ ョ ン を追加。 1.7 • MIG 1.7 リ リ ース。 ISE Design Suite をバージ ョ ン 14.3 にア ッ プデー ト 。 • 第 1 章 : AXI4-Lite ス レーブ制御/ス テー タ ス レ ジ ス タ イ ン タ ーフ ェ イ ス ブ ロ ッ ク のセ ク シ ョ ン を追加。図 1-32 お よ び図 1-37 を変更 し 、PRBS お よ び温度モニ タ ー セ ク シ ョ ン を追加。表 1-37 の USE_DM_PORT に CLKIN_PERIOD パ ラ メ ー タ ーを追加。表 1-38 の PHY0_BITLANES の説明を変更。 • 第 2 章 : 表 2-13 で CLKIN_PERIOD を DIVCLK_DIVIDE パ ラ メ ー タ ーに追加。 • 第 3 章 : 全体で RLDRAM 3 に関す る 内容を追加。 図 (3-10、 3-13、 3-23 ~ 3-32、 3-36 ~ 3-37、 3-40 ~ 3-41、 3-45 ~ 3-47、 お よ び 3-50) を 変更/ 追加。 表 3-11 に mem_ck_lock_complete パ ラ メ ー タ ー を 追加。 表 3-15 に CLKOUT0_PHASE パ ラ メ ー タ ーを追加。 表 3-16 の説明を変更 し 、 表 3-28 を追加。 表 3-29 の user_cmd 信号を変 更。 表 3-31 お よ び表 3-34 の説明を変更。 「書 き 込みキ ャ リ ブ レーシ ョ ンのデバ ッ グ」 セ ク シ ョ ン を追加。 • 第 4 章 : 「シ ス テ ム ク ロ ッ ク の共有」 セ ク シ ョ ン を追加。 • 第 5 章 : 図 (5-15、 5-17 ~ 5-20) を変更 し 、 「Vivado の使用方法 – MIG IP の生成」 の手 順を変更。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 11 日付 バージ ョ ン 内容 2012 年 7 月 25 日 1.6 • MIG 1.6 リ リ ース。 ISE Design Suite をバージ ョ ン 14.2 にア ッ プデー ト 。 GUI ス ク リ ー ン キ ャ プチ ャ を更新。 • 第 1 章 : 「FPGA オプシ ョ ン」 セ ク シ ョ ンに [No Buffer]、 [Use System Clock]、 お よ び [Sample Data Depth] を追加。 nCK_PER_CLK、 tZQI、 SYSCLK_TYPE、 REFCLK_TYPE、 お よ び APP_DATA_WIDTH パ ラ メ ー タ ーを変更。 「DDR3 デザ イ ン におけ る バン ク お よ びピ ンの選択」 セ ク シ ョ ンに複数の CK 出力に関する 項目を追加。 「 ト レース長」 お よ び 「終端」 セ ク シ ョ ン を更新。 • 第 2 章 : 「FPGA オプシ ョ ン」 セ ク シ ョ ンに [No Buffer]、 [Use System Clock]、 お よ び [Sample Data Depth] を追加。 SYSCLK_TYPE お よ び REFCLK_TYPE パ ラ メ ー タ ーを変 更。 • 第 3 章 : 「FPGA オプシ ョ ン」 セ ク シ ョ ンに [No Buffer]、 [Use System Clock]、 お よ び [Sample Data Depth] を追加。 SYSCLK_TYPE お よ び REFCLK_TYPE パ ラ メ ー タ ーを変 更。 • 第 6 章 : Vivado Design Suite への移行に関す る 新 し い章を追加。 2012 年 6 月 13 日 1.5 DQS/DQS# に対する CK/CK# の電気遅延の推奨合計値を変更。 1.4 • MIG 1.5 リ リ ース。 ISE Design Suite をバージ ョ ン 14.1 にア ッ プデー ト 。 GUI ス ク リ ー ン キ ャ プチ ャ を更新。 IODELAYCTRL を IDELAYCTRL に変更。 • 第 1 章 : 「FPGA オプシ ョ ン」 セ ク シ ョ ンに I/O 電力削減オプシ ョ ン を追加。 「バン ク の選択」 で sys_rst オプシ ョ ンの I/O 規格を変更。 「MIG サンプル デザ イ ン」、 「省電力 機能」、「汎用レ ジ ス タ の リ ー ド レベ リ ン グ」、「OCLKDELAYED キ ャ リ ブ レーシ ョ ン」、 「ア ッ プサ イ ジ ン グ」、 お よ び 「外部 Vref」 セ ク シ ョ ンに ISE Project Navigator フ ロ ーを 追加。PHY 制御ワー ド の [16:15] ビ ッ ト を Rank Count か ら Reserved へ変更。表 1-11 の NUM_DQ_PINS の最大設定を変更。 図 1-55 の フ ロ ー図を更新。 図 1-56 お よ び図 1-58 か ら RankSel[1:0] を削除。 表 1-87 に mc_odt and mc_cke を追加。 AXI ア ド レ ス指定を 変更。 表 1-92 の REFCLK_FREQ、 RANK_WIDTH、 お よ び WRLVL を変更。 表 1-93 に DATA_IO_PRIM_TYPE を追加。 「DDR3 デザ イ ン におけ る バ ン ク お よ び ピ ン の選択」 に DQS ピ ンの説明を追加。DIFF_SSTL_15 を DIFF_SSTL18_II に、SSTL15 を SSTL18_II に変更。 • 第 2 章 : DIFF_SSTL_15 を DIFF_HSTL_I に、 SSTL15 を HSTL_I に変更。 [System Pins Selection] の sys_rst オプシ ョ ンの I/O 規格を変更。 表 2-11 の PHY_BITLANE パ ラ メ ー タ ーを変更。「シ ス テ ム ク ロ ッ ク 」、「PLL の位置お よ び制約」、「コ ン フ ィ ギ ュ レーシ ョ ン」 セ ク シ ョ ン を追加。 • 第 3 章 : [System Pins Selection] の DIFF_SSTL_15 を DIFF_HSTL_I に、SSTL15 を HSTL_I に変更。 の sys_rst オプシ ョ ンの I/O 規格を変更。 「書 き 込みキ ャ リ ブ レーシ ョ ン」、 「シ ス テ ム ク ロ ッ ク 」、 「PLL の位置お よ び制約」、 「コ ン フ ィ ギ ュ レーシ ョ ン」 セ ク シ ョ ン を 追 加。 表 3-15 の PHY_BITLANE パ ラ メ ー タ ー を 変更。 表 3-28 に dbg_wrcal_sel_stg[1:0]、 dbg_wrcal[63:0]、 dbg_wrcal_done[2:0]、 dbg_wrcal_po_first_edge[5:0]、 dbg_wrcal_po_second_edge[5:0]、 お よ び dbg_wrcal_po_final[5:0] を追加。 1.3 • MIG 1.4 リ リ ース。 ISE Design Suite をバージ ョ ン 13.4 にア ッ プデー ト 。 GUI ス ク リ ー ン キ ャ プチ ャ を更新。 • 第 1 章 : DDR2 SDRAM のサポー ト を追加。 「MIG 出力オプシ ョ ン」 に手順 3 を追加。 「EDK での ク ロ ッ キ ン グ」 を追加。 図 1-41 お よ び図 1-69 を追加。 • 第 2 章 : コ ン ト ロ ー ラ ー オプシ ョ ンか ら 入力 ク ロ ッ ク 周期オプシ ョ ン を削除。 メ モ リ オプシ ョ ン を追加。 FPGA オプシ ョ ンに基準 ク ロ ッ ク オプシ ョ ン を追加。 デバ ッ グ信 号を更新。 • 第 3 章 : コ ン ト ロ ー ラ ー オプシ ョ ンか ら 入力 ク ロ ッ ク 周期オプシ ョ ン を削除。 メ モ リ オプシ ョ ンに入力 ク ロ ッ ク 周期オプシ ョ ン を追加。 FPGA オプシ ョ ンに基準 ク ロ ッ ク オプシ ョ ン を追加。 RLDRAM II お よ び RLDRAM 3 デザ イ ンのデバ ッ グ を追加。 2012 年 4 月 24 日 2012 年 1 月 18 日 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 12 日付 2011 年 10 月 19 日 バージ ョ ン 内容 1.2 • MIG 1.3 リ リ ース。 ISE Design Suite をバージ ョ ン 13.3 にア ッ プデー ト 。 • 第 1 章 : 「MIG 出力オプシ ョ ン」 に ス テ ッ プ 2 を追加。 メ モ リ コ ン ト ロ ー ラ ーのオプ シ ョ ン を使用す る 際の注記を追加。AXI パ ラ メ ー タ ー オプシ ョ ンにアービ ト レーシ ョ ン ス キーム を追加。 図 1-23 に DCI カ ス ケー ド に関す る 説明を追加。 SSI テ ク ノ ロ ジ と SLR を使用する デバ イ ス に関す る 説明を更新。 tg_compare_error を更新。 表 1-8 を 更 新。 表 1-13 に qdr_wr_cmd_o、 vio_fixed_instr_value、 vio_fixed_bl_value、 vio_pause_traffic、 お よ び vio_data_mask_gen 信号を追加。 図 1-49 お よ び図 1-51 のユー ザー イ ン タ ーフ ェ イ ス に信号を追加。 表 1-17 に app_sr_req, app_sr_active、 app_ref_req, app_ref_ack、 app_zq_req、 お よ び app_zq_ack 信号 を 追加。 app_wdf_rdy、 app_ref_req、 app_ref_ack、 app_zq_req、 app_zq_ack、 ス タ ー ブ リ ミ ッ ト を 使用す る 読み出 し 優先 (RD_PRI_REG_STARVE_LIMIT)、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス の メ ン テナン ス コ マ ン ド 信 号、 ユ ー ザ ー リ フ レ ッ シ ュ 、 お よ び ユ ー ザ ー ZQ を 追加。 表 1-19 に C_RD_WR_ARB_ALGORITHM を追加。 表 1-84 の ラ ン ク 数の Hi イ ンデ ッ ク ス (Rank) を変更 し て、 CAS ス ロ ッ ト 欄を追加。 「AXI ア ド レ ス指定」 お よ び 「物理層 イ ン タ ー フ ェ イ ス ( メ モ リ コ ン ト ロ ー ラ ーを使用 し ないデザ イ ン)」 セ ク シ ョ ン を更新。 「書 き 込みパ ス」 セ ク シ ョ ン に 図 1-75 ~ 図 1-77 を 追加。 表 1-92 で、 DDR3_SDRAM の RTT_NOM か ら DISABLED オプシ ョ ン を削除、 RTT_WR の RTT_NOM を RTT_WR へ 変更、 SIM_BYPASS_INIT_CAL お よ び表の注記 2 を更新。 表 1-93 の tZQI を更新 し 、 USER_REFRESH を追加。 表 1-94 を追加。 「コ ン フ ィ ギ ュ レーシ ョ ン」 セ ク シ ョ ン の 制約例を変更 し 、 SCL と SDA に関する 段落を削除。 • 第 2 章 : 「MIG 出力オプシ ョ ン」 に手順 2 を追加。 「コ ン ト ロ ー ラ ー オプシ ョ ン」 に 入力 ク ロ ッ ク 周期の説明を追加。 「FPGA オプシ ョ ン」 にデバ ッ グ信号制御お よ び内部 Vref セ ク シ ョ ンのオプシ ョ ンに関す る 説明を追加。 「I/O プ ラ ン ニ ン グ オプシ ョ ン」 セ ク シ ョ ン を追加。 「シ ス テ ム ピ ン の選択」 で cal_done 信号を init_calib_complete 信号 に、 エ ラ ー信号を tg_compare_error に変更。 表 2-2 を更新。 表 2-5 の フ ァ イ ル名を変 更。 図 2-38、 図 2-39、 図 2-40 の信号名 を 更新。 表 2-7 の信号名 を 更新。 表 2-10 に CPT_CLK_CQ_ONLY を追加 し 、SIM_BYPASS_INIT_CAL の値を変更。表 2-11 を追加。 「ピ ン配置の要件」 の ピ ン配置規則を変更。 表 2-12 の後に DCI お よ び IN_TERM に関 す る 段落を追加。 「QDR II+ SRAM デザ イ ンのデバ ッ グ」 を追加。 • 第 3 章 : 「MIG 出力オプシ ョ ン」 に手順 2 を追加。 「コ ン ト ロ ー ラ ー オプシ ョ ン」 に 入力 ク ロ ッ ク 周期の説明を追加。 「FPGA オプシ ョ ン」 にデバ ッ グ信号制御お よ び内部 Vref セ ク シ ョ ンのオプシ ョ ンに関す る 説明を追加。「シ ス テ ム ピ ンの選択」 で cal_done 信号を init_calib_complete 信号に、エ ラ ー信号を tg_compare_error に変更。表 3-6 の フ ァ イ ル名 を 変更。 表 3-12 を 削除 (使用 し な い 予約信号 が 含 ま れ て い た)。 表 3-11 に rst_phaser_ref を 追加。 PHY-Only イ ン タ ー フ ェ イ ス セ ク シ ョ ン を 削除。 表 3-14 の RLD_ADDR_WIDTH、 MEM_TYPE、 CLKIN_PERIOD、 SIMULATION を 追加 し 、 CLKFBOUT_MULT、 CLKOUT0_DIVIDE、 CLKOUT1_DIVIDE、 CLKOUT2_DIVIDE、 CLKOUT3_DIVIDE の名前を変更。表 3-15 を更新。表 3-24 の後に DCI お よ び IN_TERM に関す る 段落を追加。 • 第 5 章 「マルチ コ ン ト ロ ー ラ ー デザ イ ン」 を追加。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 13 日付 バージ ョ ン 内容 2011 年 6 月 22 日 1.1 • MIG 1.2 リ リ ース。 ISE Design Suite をバージ ョ ン 13.2 にア ッ プデー ト 。 GUI ス ク リ ー ン キ ャ プチ ャ を更新。 • 第 1 章 : 「ピ ン変更の検証お よ びデザ イ ンの更新」、 「サンプル デザ イ ンのシ ミ ュ レー シ ョ ン (AXI4 イ ン タ ーフ ェ イ ス を使用す る デザ イ ン)」、 「エ ラ ー訂正 コ ー ド 」、 「DDR3 ピ ン配置の例」 セ ク シ ョ ン を追加。 「ピ ン互換 FPGA」 に SLR に関す る 段落を追加。 「 コ ン ト ロ ー ラ ー オプシ ョ ン」 セ ク シ ョ ンに入力 ク ロ ッ ク 周期 と PHY を追加。 「DDR3 メ モ リ オプシ ョ ン」 セ ク シ ョ ンに、 DDR3 SDRAM がバース ト 長 8 をサポー ト する こ と を追加。図 1-23 の HR バン ク オプシ ョ ンに内部終端を追加。ピ ン/バン ク の選択モー ド に関す る 説明を追加。 チ ッ プ セ レ ク ト お よ びデー タ マ ス ク のオプシ ョ ン に関す る 注記を追加。 表 1-17 に app_correct_en_i を追加。 「 コ マ ン ド パ ス」 に 3 つの コ マ ン ド タ イ プ を追加。 表 1-87 に phy_mc_ctl_full、 phy_mc_cmd_full、 お よ び phy_mc_data_full 信号を追加。「物理層 イ ン タ ーフ ェ イ ス ( メ モ リ コ ン ト ロ ー ラ ーを使用 し ないデザ イ ン )」 セ ク シ ョ ン の 最 後 に FIFO に 関す る 段落 を 追加。 表 1-93 の DATA_BUF_ADDR_WIDTH に関す る 説明お よ びオプシ ョ ン を更新。 「DDR3 デザ イ ン におけ る バン ク お よ びピ ンの選択」 に SLR の説明を追加。 「コ ン フ ィ ギ ュ レーシ ョ ン」 に LVCMOS15 お よ び DIFF_SSTL15 I/O 規格を追加。 図 1-88、 図 1-89、 お よ び図 1-90 の抵抗値を変更。 表 1-95 の 「FPGA DCI ま たは IN_TERM」 の抵抗値を変更。 • 第 2 章 : 「ピ ン変更の検証お よ びデザ イ ンの更新」 お よ び 「出力パス」 セ ク シ ョ ン を 追加。 レ イ テ ン シ モー ド に関す る 説明を変更。 ピ ン/バン ク の選択モー ド に関す る 説 明 を追加。 図 2-22 の HR バ ン ク オプ シ ョ ン に内部終端 を追加。 「 イ ン プ リ メ ン テー シ ョ ンの詳細」 を更新。 • 第 3 章 : RLDRAM II に関す る 新 し い章を追加。 2011 年 3 月 1 日 1.0 初版 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 14 目次 第 1 章 : DDR3 および DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン は じ めに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Vivado Design Suite での MIG の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 コ アのアーキ テ ク チ ャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 コ ア を使用す る デザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 コ アへの イ ン タ ーフ ェ イ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 コ アのカ ス タ マ イ ズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 設計ガ イ ド ラ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 DDR3/DDR2 デザ イ ンのデバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン は じ めに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado Design Suite での MIG の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ アのアーキ テ ク チ ャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ アのカ ス タ マ イ ズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 設計ガ イ ド ラ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . QDR II+ SRAM デザ イ ンのデバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 231 266 284 289 293 第 3 章 : RLDRAM II および RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン は じ めに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado Design Suite での MIG の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ アのアーキ テ ク チ ャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ アのカ ス タ マ イ ズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 設計ガ イ ド ラ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RLDRAM II お よ び RLDRAM 3 デザ イ ンのデバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 317 354 384 390 399 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン は じ めに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado Design Suite での MIG の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ アのアーキ テ ク チ ャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ア を使用す る デザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ アへの イ ン タ ーフ ェ イ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ アのカ ス タ マ イ ズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 設計ガ イ ド ラ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 427 428 476 508 508 518 526 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン は じ めに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Vivado Design Suite での MIG の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 15 第 6 章 : Vivado における ISE/CORE Generator MIG コ アのア ッ プグ レー ド 付録 A : その他の リ ソ ースおよび法的通知 ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 16 第 1章 DDR3 および DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン は じ めに ザ イ リ ン ク ス 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン (MIS) コ アは、7 シ リ ーズ FPGA のユーザー デ ザ イ ン お よ び AMBA® AXI4 (Advanced eXtensible Interface) ス レ ー ブ イ ン タ ー フ ェ イ ス と DDR3 お よ び DDR2 SDRAM デバ イ ス の イ ン タ ーフ ェ イ ス と な る 、 あ ら か じ め構築 さ れた コ ン ト ロ ー ラ ー と 物理層 (PHY) を組み合わせた も のです。 こ のユーザー ガ イ ド では、 7 シ リ ーズ FPGA 用の LogiCORE™ IP DDR3 ま たは DDR2 SDRAM イ ン タ ー フ ェ イ ス コ アの使用、 カ ス タ マ イ ズ、 シ ミ ュ レーシ ョ ン の方法について解説 し ます。 こ のユーザー ガ イ ド では、 コ ア アーキ テ ク チ ャ について説明 し 、 そのカ ス タ マ イ ズ方法お よ び接続方法の詳細を示 し ます。 重要 : メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン v2.3 では、 Vivado® Design Suite のみがサポー ト さ れてい ます。 ISE® Design Suite は こ のバージ ョ ンではサポー ト さ れてい ません。 機能 ザ イ リ ン ク ス 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンは、 以前のデバ イ ス と 比較 し て次の点が改 善 さ れてい ます。 • 性能を向上 • 物理層に新 し いハー ド ウ ェ ア ブ ロ ッ ク : PHASER_IN と PHASER_OUT、 PHY 制御ブ ロ ッ ク 、 お よ び I/O FIFO (74 ページの 「 コ アのアーキ テ ク チ ャ 」 参照) • ハー ド ウ ェ ア ブ ロ ッ ク に よ る ピ ン配置規則の変更 (162 ページの 「設計ガ イ ド ラ イ ン」 参照) • コ ン ト ロ ー ラ ーお よ びユーザー イ ン タ ーフ ェ イ ス が メ モ リ ク ロ ッ ク 周波数の 1/4 で動作 サポー ト さ れ る 機能の詳細は、『Zynq-7000 AP SoC お よ び 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン デー タ シー ト 』 (DS176) [参照 1] を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 17 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado Design Suite での MIG の使用 こ こ では、 Vivado Design Suite を使用 し て MIG IP を生成 し 、 イ ンプ リ メ ン ト す る 手順を説明 し ます。 1. Vivado IP を起動 し ます (図 1-1)。 X-Ref Target - Figure 1-1 図 1-1 : Vivado ツール 2. 新 し いプ ロ ジ ェ ク ト を作成す る には、図 1-1 に示す [Create New Project] を ク リ ッ ク し て図 1-2 のページ を開 き ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 18 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-2 図 1-2 : 新規 Vivado ツール プ ロ ジ ェ ク ト の作成 3. [Next] を ク リ ッ ク し て [Project Name] ページに進みます (図 1-3)。プ ロ ジ ェ ク ト 名 と プ ロ ジ ェ ク ト の場所を入力 し ます。 プ ロ ジ ェ ク ト は入力 し た内容に基づいてデ ィ レ ク ト リ に保存 さ れます。 X-Ref Target - Figure 1-3 図 1-3 : [Project Name] ページ 4. [Next] を ク リ ッ ク し て [Project Type] ページに進みます (図 1-4)。MIG に よ っ て生成 さ れ る フ ァ イ ルは RTL 形式で あ る ため、 [Project Type] で [RTL Project] を オンに し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 19 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-4 図 1-4 : [Project Type] ページ 5. [Next] を ク リ ッ ク し て [Add Sources] ページに進みます (図 1-5)。 こ こ ではプ ロ ジ ェ ク ト に RTL フ ァ イ ルを追加で き ます。 プ ロ ジ ェ ク ト を あ ら か じ め作成 し ていない場合は次のページに進みます。 X-Ref Target - Figure 1-5 図 1-5 : [Add Sources] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 20 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 6. [Next] を ク リ ッ ク し て [Add Existing IP (Optional)] ページ を開き ます (図 1-6)。 IP が作成済の場合は、 IP に よ っ て 生成 さ れた XCI フ ァ イ ルをプ ロ ジ ェ ク ト に追加で き 、 以前作成 し た IP フ ァ イ ルが自動的に追加 さ れます。 IP が あ ら か じ め作成 さ れていない場合は次のページに進みます。 X-Ref Target - Figure 1-6 図 1-6 : [Add Existing IP (Optional)] ページ 7. [Next] を ク リ ッ ク し て [Add Constraints (Optional)] ページ を開き ます (図 1-7)。 制約フ ァ イ ルが リ ポジ ト リ にあ る 場合、 それをプ ロ ジ ェ ク ト に追加で き ます。 制約フ ァ イ ルがない場合は次のページに進みます。 X-Ref Target - Figure 1-7 図 1-7 : [Add Constraints (Optional)] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 21 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 8. [Next] を ク リ ッ ク し て [Default Part] ページ (図 1-8) へ進みます。 こ のページでは タ ーゲ ッ ト デバ イ ス を選択で き ます。 図 1-8 の よ う な [Default Part] ページが表示 さ れます。 X-Ref Target - Figure 1-8 図 1-8 : [Default Part] ページ (デ フ ォル ト ウ ィ ン ド ウ) タ ーゲ ッ ト と す る [Family]、 [Package] お よ び [Speed grade] を選択 し ます。 使用可能なデバ イ ス が同 じ ページに表 示 さ れ、 そ こ か ら タ ーゲ ッ ト デバ イ ス を選択で き ます (図 1-9)。 X-Ref Target - Figure 1-9 図 1-9 : [Default Part] ページ (カ ス タ ム ウ ィ ン ド ウ) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 22 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン [Parts] を使用 し てデバ イ ス を選択す る 以外に、 [Boards] でデバ イ ス を選択す る こ と も で き ます。 こ こ ではザ イ リ ン ク ス がサポー ト す る 評価ボー ド が表示 さ れます (図 1-10)。 こ のオプシ ョ ン を使用する と 、 評価ボー ド でデザ イ ン を使用で き ます。 前の手順で既存の IP の XCI フ ァ イ ルを選択 し た場合、 同 じ デバ イ ス を こ こ で選択す る 必要 があ り ます。 X-Ref Target - Figure 1-10 図 1-10 : デ フ ォル ト のデバイ スおよびボー ド 9. [Next] を ク リ ッ ク し て [New Project Summary] ページ を開 き ます (図 1-11)。 こ こ では、 選択 し たプ ロ ジ ェ ク ト のサ マ リ が表示 さ れます。 X-Ref Target - Figure 1-11 図 1-11 : [New Project Summary] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 23 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 10. [Finish] を ク リ ッ ク し てプ ロ ジ ェ ク ト の作成を終了 し ます。 11. [Project Manager] で [IP Catalog] を ク リ ッ ク し て IP カ タ ロ グ ウ ィ ン ド ウ を開き ます。 Vivado IP カ タ ロ グ ウ ィ ン ド ウ がパネルの右側に表示 さ れます (図 1-12 の赤い枠で囲っ た部分)。 12. MIG ツールは IP カ タ ロ グ ウ ィ ン ド ウ の [Memories & Storage Elements] → [Memory Interface Generators] (図 1-12) にあ り ますが、 検索ボ ッ ク ス に 「MIG」 と 入力す る こ と で も 検索で き ます。 X-Ref Target - Figure 1-12 図 1-12 : IP カ タ ログ ウ ィ ン ド ウ - [Memory Interface Generator] Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 24 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 13. [MIG 7 Series] を ク リ ッ ク し て MIG ツールを開 き ます (図 1-13)。 X-Ref Target - Figure 1-13 図 1-13 : 7 シ リ ーズ FPGA の MIG (Memory Interface Generator) の最初のページ 14. [Next] を ク リ ッ ク し て [MIG Output Options] ページに進みます。 コ アのカ ス タ マ イ ズ と 生成 注意 : Windows オペレーテ ィ ン グ シ ス テ ムでは、 パ ス の長 さ が最大で 260 文字ま でに制限 さ れてお り 、 こ れに よ っ て Vivado ツールで問題が生 じ る 可能性があ り ます。 こ の問題を回避す る には、 プ ロ ジ ェ ク ト 作成時に可能な限 り 短い名 前 と デ ィ レ ク ト リ の場所を使用 し 、 IP や IP プ ロ ジ ェ ク ト の定義お よ びブ ロ ッ ク デザ イ ンの作成を行っ て く だ さ い。 [MIG Output Options] ページ 1. [Create Design] を オンに し て新規 メ モ リ コ ン ト ロ ー ラ ー デザ イ ン を作成 し ます。 [Component Name] に コ ン ポー ネ ン ト 名を入力 し ます (図 1-14)。 2. [Number of Controllers] で作成す る コ ン ト ロ ー ラ ーの数を指定 し ます。 こ れ以降のページは、 指定 し た コ ン ト ロ ー ラ ーの数だけ繰 り 返 さ れます。 3. DDR2 お よ び DDR3 SDRAM デザ イ ンは、 メ モ リ マ ッ プ方式の AXI4 イ ン タ ーフ ェ イ ス をサポー ト し てい ます。 AXI4 イ ン タ ーフ ェ イ ス は Verilog でのみ イ ンプ リ メ ン ト さ れます。AXI4 イ ン タ ーフ ェ イ ス が必要な場合は、MIG ツールの起動前に Vivado Design Suite で言語に Verilog を選択 し て く だ さ い。 AXI4 イ ン タ ーフ ェ イ ス を選択 し な い場合、 ユーザー イ ン タ ーフ ェ イ ス (UI) が主要 イ ン タ ーフ ェ イ ス です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 25 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-14 8*BFBB 図 1-14 : [MIG Output Options] ページ MIG の出力は、 <component name> フ ォ ルダーに生成 さ れます。 重要 : <component name> に使用で き る のは英数字のみです。 特殊文字は使用で き ません。 先頭の 1 文字は英字で あ る 必要があ り ます (末尾の 1 文字は英字で も 数字で も か ま い ません)。 XPS か ら 起動 し た場合は、 XPS の IP イ ン ス タ ン ス名が [Component Name] に入 り ます。 4. [Next] を ク リ ッ ク し て [Pin Compatible FPGAs] ページに進みます。 ピ ン互換 FPGA [Pin Compatible FPGAs] ページには、 選択 し た FPGA フ ァ ミ リ でパ ッ ケージが同 じ デバ イ ス が表示 さ れ ま す。 MIG ツールで生成 し た ピ ン配置を、 こ こ に表示 さ れた FPGA と 互換性を持たせ る よ う にす る には、 こ のオプシ ョ ン を使用 し てデバ イ ス を選択 し ます (図 1-15)。 ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジで実装 さ れたザ イ リ ン ク ス 7 シ リ ーズ デバ イ ス には、 SLR (Super Logic Region) があ り ます。 メ モ リ イ ン タ ーフ ェ イ ス は複数の SLR を ま た ぐ こ と はで き ません。 選択 し たデバ イ ス ま たは選択 し た互換性のあ る デバ イ ス に SLR があ る 場合は、 MIG ツールが メ モ リ イ ン タ ーフ ェ イ ス がその境界 を越え ない よ う に し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 26 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-15 8*BFBB 図 1-15 : ピ ン互換性のある 7 シ リ ーズ FPGA 1. 表示 さ れた ピ ン互換性のあ る FPGA の中か ら デバ イ ス を選択 し ます。 MIG ツールは、 こ こ で選択 し た FPGA と タ ーゲ ッ ト FPGA に共通す る ピ ン のみを使用 し ま す。 [Target FPGA] には、 選択 し た タ ーゲ ッ ト FPGA デバ イ ス 名が表示 さ れます。 2. [Next] を ク リ ッ ク し て [Memory Selection] ページに進みます。 7 シ リ ーズ FPGA DDR3 メ モ リ コ ン ト ロー ラ ー ブ ロ ッ ク デザイ ンの作成 メ モ リ の選択 [Memory Selection] ページには、 選択 し た FPGA フ ァ ミ リ でサポー ト さ れ る すべての メ モ リ タ イ プが表示 さ れます。 1. [Select the Controller Type] に [DDR3 SDRAM] を選択 し ます。 2. [Next] を ク リ ッ ク し て [Controller Options] ページに進みます (図 1-16)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 27 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-16 8*BFBB 図 1-16 : メ モ リ タ イ プおよび コ ン ト ロー ラ ーの選択 コ ン ト ロー ラ ー オプ シ ョ ン [Options for Controller] ページには、 選択可能な コ ン ト ロ ー ラ ー オプシ ョ ンが表示 さ れます (図 1-17)。 ヒ ン ト : メ モ リ コ ン ト ロ ー ラ ーの使用はオプシ ョ ン です。 物理層 (PHY) は、 メ モ リ コ ン ト ロ ー ラ ーがな く て も 使用 で き ます。 メ モ リ コ ン ト ロ ー ラ ーの RTL は MIG ツールで常に生成 さ れますが、 こ の出力を使用す る 必要はあ り ませ ん。 詳細は、 148 ページの 「物理層 イ ン タ ーフ ェ イ ス ( メ モ リ コ ン ト ロ ー ラ ーを使用 し ない デザ イ ン)」 を参照 し て く だ さ い。こ こ では、ORDERING な ど の コ ン ト ロ ー ラ ー専用の設定は不要で、デフ ォ ル ト を使用で き ます。[Clock Period] な ど の PHY に関す る 設定は、 PHY のパ ラ メ ー タ ー設定に使用 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 28 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-17 8*BFBB 図 1-17 : [Controller Options] ページ デザ イ ンに複数の コ ン ト ロ ー ラ ーがあ る 場合は、各コ ン ト ロ ー ラ ーに対 し て コ ン ト ロ ー ラ ー オプシ ョ ンのページが繰 り 返 し 表示 さ れます。 こ のページは、 最大 9 個のセ ク シ ョ ンに分類 さ れ、 選択 し た メ モ リ タ イ プに よ っ てセ ク シ ョ ン 数が異な り ます。 オプシ ョ ン ページにはプルダ ウ ン メ ニ ュ ーがあ り 、 デザ イ ンの さ ま ざ ま な機能を変更で き ます。 • [Clock Period] : すべての コ ン ト ロ ー ラ ーの ク ロ ッ ク 周期を示 し ます。 設定可能な ク ロ ッ ク 周期の範囲は、 選択 し た FPGA デバ イ スやその ス ピー ド グ レー ド な ど の要因に よ っ て異な り ます。 • [PHY to Controller Clock Ratio] : 物理層 ( メ モ リ ) の ク ロ ッ ク 周波数 と コ ン ト ロ ー ラ ーお よ びユーザー イ ン タ ー フ ェ イ ス の ク ロ ッ ク 周波数の比率を指定 し ます。 こ れが 2:1 の場合、 FPGA ロ ジ ッ ク での タ イ ミ ン グ制限に よ っ て、 メ モ リ イ ン タ ーフ ェ イ ス の最大周波数が低 く な り ます。2:1 の と き のユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス幅は、物理層 メ モ リ イ ン タ ーフ ェ イ ス幅の 4 倍 と な り 、4:1 の と き のユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス 幅は、 物理層 メ モ リ イ ン タ ーフ ェ イ ス幅の 8 倍 と な り ます。 2:1 はレ イ テ ン シが低 く 、 4:1 はデー タ レー ト が最 も 高い場合に必要です。 • [Vccaux_io] : 周期/周波数の設定に基づいて設定 さ れます。High Performance 列の最高周波数設定には 2.0V が必要 です。 2.0V が必要な場合は、 MIG ツールが自動的に選択 し ます。 それ よ り も 周波数が低い場合は 1.8V と 2.0V の ど ち ら も 使用 で き ま す。 バ ン ク グ ルー プ は 同 じ Vccaux_io 電源 を 共有 し ま す。 詳細は、 『7 シ リ ー ズ FPGA SelectIO™ リ ソ ー ス ユーザー ガ イ ド 』 (UG471) [参照 2] お よ び 『7 シ リ ーズ FPGA パ ッ ケージお よ びピ ン配置仕 様』 (UG475) [参照 3] を参照 し て く だ さ い。 • [Memory Type] : デザ イ ンで使用す る メ モ リ タ イ プ を選択 し ます。 • [Memory Part] : デザ イ ンで使用す る メ モ リ デバ イ ス を選択 し ます。 リ ス ト の中か ら 選択す る か、 新規デバ イ ス を作成 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 29 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン デ ュ アル ラ ン ク デバ イ ス では、 サポー ト さ れ る 周波数が性能において 1 ス ピー ド グ レー ド 分低 く な り ます。 た と えば、 –2 ス ピー ド グ レー ド の Virtex-7 デバ イ ス では最大 933MHz の DDR の周波数に対応 し ますが、 デ ュ アル ラ ン ク デバ イ ス では最大周波数が 800MHz (–1 ス ピー ド グ レー ド の Virtex-7 でサポー ト さ れ る 最大周波数) にな り ます。 注記 : サポー ト さ れ る メ モ リ デバ イ ス の一覧は、 ア ンサー レ コ ー ド : 54025 を参照 し て く だ さ い。 • [Data Width] : 選択 し た メ モ リ タ イ プに基づいてデー タ 幅の値を選択 し ます。 ド ロ ッ プダ ウ ン リ ス ト に、 選択 し たデバ イ ス でサポー ト さ れ る デー タ 幅の値が表示 さ れ る ため、 その中か ら 1 つを選択 し ます。 通常、 こ れ ら の値 はデバ イ ス デー タ 幅の倍数にな り ますが、 例外 も あ り ます。 た と えば、 x16 コ ン ポーネ ン ト のデフ ォ ル ト のデー タ 幅は 16 ビ ッ ト ですが、 8 ビ ッ ト も 有効値 と な り ます。 • [Data Mask] : こ のオプシ ョ ン をオンにす る と 、 デー タ マ ス ク ピ ンが割 り 当て ら れます。 デー タ マ ス ク ピ ンの割 り 当て を解除 し て ピ ン効率を上げ る 場合は、 こ のオプシ ョ ンの選択を解除 し て く だ さ い。 デー タ マ ス ク 機能をサ ポー ト し ない メ モ リ デバ イ ス の場合、 こ のオプシ ョ ンは無効です。 重要 : [Data Mask] は、 AXI デザ イ ンでは常時オンにな っ てお り 、 グ レー表示 さ れてい る ためユーザーは選択で き ませ ん。 AXI イ ン タ ーフ ェ イ ス に対 し ては、 一部のデー タ マ ス ク ビ ッ ト を マ ス ク する ために必要な、 Read Modify Write (読み出 し /修正/書 き 込み (RMW)) がサポー ト さ れてい ます。 し たがっ て、 AXI イ ン タ ーフ ェ イ スデザ イ ン では、 DM は常に有効です。 こ れは、 72 ビ ッ ト を除 く すべてのデー タ 幅に該当 し ます。 72 ビ ッ ト イ ン タ ーフ ェ イ ス の場合、 ECC が有効 と な り 、 72 ビ ッ ト デザ イ ンの DM はオ フ でグ レー表示 さ れます。 72 ビ ッ ト デザ イ ンの DM を有効に し た場合、 ECC の計算が一致 し ないため、 72 ビ ッ ト デザ イ ンでは DM は無効です。 • [Ordering] : メ モ リ バ ス の効率を向上す る ため、 メ モ リ コ ン ト ロ ー ラ ーで コ マ ン ド の順序を変更する 機能です。 • [Memory Details] : [Controller Options] ページの下部 (29 ページの図 1-17) に、選択 し た メ モ リ の コ ン フ ィ ギ ュ レー シ ョ ンに関す る 詳細が表示 さ れます (図 1-18)。 X-Ref Target - Figure 1-18 8*BFBB 図 1-18 : 選択 し た メ モ リ の コ ン フ ィ ギ ュ レーシ ョ ンの詳細 1. 適切な周波数を選択 し ます。 ド ロ ッ プダ ウ ン リ ス ト を使用す る か、 キーボー ド か ら 有効な値を入力 し ます。 入力 値は、 サポー ト さ れ る 最大/最小周波数範囲内に制限 さ れます。 2. [Memory Part] リ ス ト か ら 適切な メ モ リ デバ イ ス を選択 し ます。 希望す る デバ イ ス が リ ス ト にない場合は、 新規 メ モ リ デバ イ ス を作成で き ます。 カ ス タ ム デバ イ ス を作成す る には、 [Memory Part] の下にあ る [Create Custom Part] を ク リ ッ ク し ます。 図 1-19 に示すダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 30 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-19 8*BFBB 図 1-19 : [Create Custom Part] ダ イ ア ログ ボ ッ ク ス [Create Custom Part] ダ イ ア ロ グ ボ ッ ク ス には、 [Select Base Part] で選択 し た メ モ リ コ ン ポーネ ン ト のすべての仕 様が表示 さ れます。 3. [Enter New Memory Part Name] に新 し い メ モ リ デバ イ ス の名前を入力 し ます。 4. 基準 と な る メ モ リ デバ イ ス を [Select Base Part] か ら 選択 し ます。 5. 必要に応 じ て、 [Value] 欄の値を変更 し ます。 6. 要件に応 じ て、 [Row Address]、 [Colum Address] お よ び [Bank Address] の値を選択 し ます。 7. すべての フ ィ ール ド を編集後、 [Save] を ク リ ッ ク し ます。 指定 し た名前で新 し いデバ イ ス が保存 さ れます。 こ こ で作成 し たデバ イ ス は、 [Controller Options] ページの [Memory Part] リ ス ト に追加 さ れます。 デー タ ベース に も 保 存 さ れ る ため、 再利用 し てデザ イ ン を作成す る こ と がで き ます。 8. [Next] を ク リ ッ ク し て、[Memory Options for Controller] ページ を表示 し ます。[MIG Output Options] ページで [AXI4 Interface] をオンに し た場合は、 [AXI Parameter Options] ページが表示 さ れます。 AXI パラ メ ー タ ー オプ シ ョ ン [AXI Parameter Options] ページでは、 コ ン ト ロ ー ラ ー用の AXI パ ラ メ ー タ ーを選択 し ます (図 1-20)。 一般的な AXI パ ラ メ ー タ ー と AXI4 イ ン タ ーフ ェ イ ス専用のパ ラ メ ー タ ーがあ り ます。 詳細は、 ARM® AMBA® の仕様書 [参照 4] を 参照 し て く だ さ い。 AXI4 イ ン タ ーフ ェ イ ス ロ ジ ッ ク 専用の次のパ ラ メ ー タ ーを設定 し ます。 • [Address Width]、 [AXI ID Width] : XPS か ら 起動 し た場合、 ア ド レ ス幅 と ID 幅は XPS で自動設定 さ れ る ため、 オプシ ョ ンは表示 さ れません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 31 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [Base]、 [High Address] : メ モ リ コ ン ト ロ ー ラ ーへ割 り 当て ら れ る シ ス テ ム ア ド レ ス空間を設定 し ます。 こ れ ら の値は、 4KB 以上かつ 2 の累乗で、 ベース ア ド レ スは メ モ リ 空間のサ イ ズに揃 う 必要があ り ます。 • [Narrow Burst Support] : こ のオプシ ョ ン を無効にする と 、 AXI4 イ ン タ ーフ ェ イ スは リ ソ ース を節約 し て タ イ ミ ン グ を向上 さ せ る ために、 AXI の狭いバース ト を処理す る ロ ジ ッ ク を削除 し ま す。 通常 XPS は、 接続 さ れてい る AXI マ ス タ ーの既知の動作に基づいて、狭いバース ト のサポー ト を無効にで き る か ど う か を自動的に計算 し ま す。 • [Arbitration Scheme] : 読み出 し ア ド レ ス チ ャ ネル と 書 き 込みア ド レ ス チ ャ ネル間のアービ ト レーシ ョ ン方法を 選択 し ます。 X-Ref Target - Figure 1-20 8*BFBB 図 1-20 : AXI パラ メ ー タ ー オプ シ ョ ンの設定 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 32 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン DDR3 メ モ リ オプ シ ョ ン [Memory Options for Controller] ページでは、 コ ン ト ロ ー ラ ーの仕様に従っ て メ モ リ モー ド レ ジ ス タ の値を選択 し ます (図 1-21)。 X-Ref Target - Figure 1-21 図 1-21 : メ モ リ オプ シ ョ ンの設定 モー ド レ ジ ス タ の値は、 初期化中に ロ ー ド モー ド レ ジ ス タ に読み込 ま れ ま す。 DDR2 お よ び DDR3 SDRAM では、 バース ト 長 8 (BL8) のみサポー ト さ れてい ます。 [Output Driver Impedance Control] では、 DRAM の出力 ド ラ イ バー イ ン ピーダ ン ス を設定 し ます。 こ こ に表示 さ れ る 選択 リ ス ト は、 選択 し た DRAM に よ っ て異な り ます。 RZQ は 240Ω です。 た と えば、 RZQ/6 が選択 さ れ る と 、 出力 ド ラ イ ブ イ ン ピーダ ン ス は 40Ω と な り ます。 詳細は、 メ モ リ ベン ダーのデー タ シー ト を参照 し て く だ さ い。 DDR2 SDRAM イ ン タ ーフ ェ イ ス には、 [Memory Clock Selection] と い う メ モ リ ク ロ ッ ク 数を選択す る オプシ ョ ン が あ り ます。 各 コ ン ポーネ ン ト に メ モ リ ク ロ ッ ク 数を設定する オプシ ョ ンがあ り 、 設定可能な大値は 4 です。 リ ス ト か ら 適切な入力 ク ロ ッ ク 周期を選択 し ます。 こ れ ら の値は、 選択 し た メ モ リ ク ロ ッ ク 周期の値 と パ ラ メ ー タ ー の制限値に よ っ て決ま り ます。 PLL パ ラ メ ー タ ーの制限値の詳細は、 162 ページの 「設計ガ イ ド ラ イ ン」 を参照 し て く だ さ い。 [Select Additional Clocks] は、 AXI イ ン タ ーフ ェ イ ス デザ イ ンでのみ表示 さ れます。 5 つま での追加 ク ロ ッ ク を選択で き ます。 こ れ ら の ク ロ ッ ク は、 UI_CLK を生成す る の と 同 じ MMCM か ら 生成 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 33 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 重要 : [Select Additional Clocks] は、 Vivado IP イ ン テ グ レー タ ー フ ロ ーでのみ表示 さ れます。 [Next] を ク リ ッ ク し て [FPGA Options] ページに進みます。 FPGA オプ シ ョ ン 図 1-22 に、 [FPGA Options] ページ を示 し ます。 X-Ref Target - Figure 1-22 図 1-22 : [FPGA Options] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 34 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [System Clock] : sys_clk 信号ペアの ク ロ ッ ク タ イ プ ([Single-Ended] (シ ン グルエン ド )、 [Differential] (差動)、 ま たは [No Buffer] (バ ッ フ ァ ーな し )) を選択 し ます。 [No Buffer] を選択す る と 、 IBUF プ リ ミ テ ィ ブが RTL コ ー ド で イ ン ス タ ン シエー ト さ れず、 シ ス テ ム ク ロ ッ ク に ピ ンが割 り 当て ら れません。 MIG で [No Buffer] を 選択 し て生成 さ れ たデザ イ ン を 変更せずに イ ン プ リ メ ン ト す る と 、 sys_clk_i 信号に IBUF が イ ン ス タ ン シエー ト さ れていないためにエ ラ ーが発生 し ます。[No Buffer] を選択 し た場合は、sys_clk_i を内部 ク ロ ッ ク に接続す る 必要があ り ます。 [No Buffer] は、 デザ イ ンで割 り 当て ら れたシ ス テ ム入力 ク ロ ッ ク が 175 ページの 「 ク ロ ッ キ ン グ」 で規定 さ れた すべての規則に適合す る 場合にのみ選択 し ます。 • [Reference Clock] : clk_ref 信号ペアの ク ロ ッ ク タ イ プ ([Single-Ended] (シ ン グルエン ド )、 [Differential] (差動)、 [No Buffer] (バ ッ フ ァ ーな し )、ま たは [Use System Clock] (シ ス テ ム ク ロ ッ ク を使用)) を選択 し ます。[Use System Clock] は、 入力周波数が 199 ~ 201MHz ([Input Clock Period] が 5,025ps (199MHz) ~ 4,975ps (201MHz)) の場合に表示 さ れます。 基準 ク ロ ッ ク の周波数は、 デー タ レー ト に基づいてお り 、 1,333Mbps 以上の適切な ref_clk 周波数を 生成す る ために MMCM が追加 さ れ る こ と に注目 し て く だ さ い。 [No Buffer] を選択す る と 、 IBUF プ リ ミ テ ィ ブ が RTL コー ド に イ ン ス タ ン シエー ト さ れず、 基準 ク ロ ッ ク に ピ ンが割 り 当て ら れません。 MIG で [No Buffer] を 選択 し て生成 さ れ たデザ イ ン を 変更せずに イ ン プ リ メ ン ト す る と 、 ref_clk_i 信号に IBUF が イ ン ス タ ン シエー ト さ れていないためにエ ラ ーが発生 し ます。[No Buffer] を選択 し た場合は、ref_clk_i を内部 ク ロ ッ ク に接続す る 必要があ り ます。 • [System Reset Polarity] : シ ス テ ム リ セ ッ ト (sys_rst) の極性を選択 し ます。 [ACTIVE LOW] を選択す る と 、 RST_ACT_LOW パ ラ メ ー タ ーが 1 に設定 さ れ、 RST_ACT_HIGH パ ラ メ ー タ ーが 0 に設定 さ れます。 • [Debug Signals for Memory Controller] : こ のオプシ ョ ン を [ON] に設定する と 、 キ ャ リ ブ レーシ ョ ン ス テー タ ス と ユーザー ポー ト 信号を example_top モジ ュ ールの ILA お よ び VIO にポー ト マ ッ プで き ます。 こ れに よ り 、 ユーザー イ ン タ ーフ ェ イ ス ポー ト の ト ラ フ ィ ッ ク を Vivado Lab Edition で簡単に確認で き ます。 こ のオプシ ョ ン を [OFF] に設定す る と 、 example_top モジ ュ ールでデバ ッ グ信号は接続 さ れず、 IP カ タ ロ グに よ り ILA/VIO モ ジ ュ ールは生成 さ れません。 論理シ ミ ュ レーシ ョ ンでは、 デバ ッ グ ポー ト は常に無効です。 • [Sample Data Depth] : Vivado デバ ッ グ ロ ジ ッ ク で使用 さ れ る ILA モジ ュ ールのサンプル デー タ の深 さ を選択 し ます。 こ のオプシ ョ ンは [Debug Signals for Memory Controller] を [ON] にする と 選択で き ます。 • [Internal VREF] : デー タ グループ バ イ ト で内部 VREF を使用す る と 、 VREF ピ ン を通常の I/O ピ ン と し て使用で き ます。 [Internal VREF] は、 デー タ レー ト が 800Mb/s 以下の場合のみ使用 し て く だ さ い。 • [IO Power Reduction] : コ ン ト ロ ー ラ ーがア イ ド ル状態にな る と 自動的に DQ お よ び DQS の IBUF を無効に し て、 全体的な I/O 消費電力を削減 し ます。 • [XADC Instantiation] : [Enabled] に設定する と 、 XADC と 温度モニ タ ー機能 ( 「温度モニ タ ー」 参照) の温度ポー リ ン グ 回路が イ ン ス タ ン シ エー ト さ れ ま す。 デザ イ ン の ほ か の部分で XADC が既に使用 さ れ て い る 場合は、 [Disabled] に設定で き ます。 その場合、 デバ イ ス の温度を定期的にサンプ リ ン グ し 、 メ モ リ イ ン タ ーフ ェ イ ス最 上位ユーザー デザ イ ン モジ ュ ールの device_temp_i に駆動する 必要があ り ます。 device_temp_i 信号を未 接続の ま ま にす る と 、 XADC が イ ン ス タ ン シエー ト さ れ ます。 それ以外の場合は XADC は イ ン ス タ ン シエー ト さ れません。 [Next] を ク リ ッ ク し て DCI の設定ページに進みます (図 1-23)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 35 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-23 8*BFBB 図 1-23 : DCI の設定 • [Digitally Controlled Impedance (DCI)] : FPGA のオンチ ッ プ内部抵抗を終端処理に使用で き る よ う に し ます。 DQ 信号お よ び DQS/DQS# 信号には DCI を必ず使用 し て く だ さ い。 ピ ン配置お よ びバン ク 選択に よ っ ては、 DCI の カ ス ケー ド が必要な場合があ り ます。 DCI は HP (High Performance) バン ク で利用で き ます。 • [Internal Termination for High Range Banks] : 内部終端オプシ ョ ンは、 40、 50、 60Ω ま たは [OFF] に設定で き ま す。 こ のオプシ ョ ンは HR (High Range) バン ク でのみ選択で き ます。 • [DCI Cascade] : ア ド レ ス/制御お よ び reset_n ポー ト を割 り 当て る ため、 HP (High Performance) バン ク の VRN/VRP ピ ン を有効に し ます。 • [Pin/Bank Selection Mode] : 既存の ピ ン配置を指定 し てその ピ ン配置に合わせた RTL を生成す る か ([Fixed Pin Out])、 新規デザ イ ン用のバン ク を選択する か ([New Design]) を指定 し ます。 図 1-24 に、 [Fixed Pin Out] を オンに し た場合に表示 さ れ る ページ を示 し ます。 各信号に対 し て適切な ピ ン を割 り 当て る 必要があ り ます。 バン ク を選 択す る と 、 リ ス ト に表示 さ れ る ピ ンが絞 り 込まれます。 ピ ン を選択す る 前に必ず し も バン ク を選択す る 必要はあ り ません。 [Validate] を ク リ ッ ク す る と 、 MIG の ピ ン配置規則に基づいてチ ェ ッ ク が実行 さ れます。 [Validate] を ク リ ッ ク し て MIG DRC 検証が完了する ま で次のページに進む こ と はで き ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 36 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-24 図 1-24 : ピ ン/バン ク の選択 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 37 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ ン ト ロー ラ ーのバン クの選択 [Bank Selection For Controller] ページでは、 メ モ リ イ ン タ ーフ ェ イ ス用のバ イ ト を選択 し ます。 次の よ う な異な る メ モ リ 信号に対 し てバ イ ト を選択で き ます。 • ア ド レ ス信号 と 制御信号 • デー タ 信号 X-Ref Target - Figure 1-25 図 1-25 : バン クの選択 設定を カ ス タ マ イ ズす る には [Deselect Banks] を ク リ ッ ク し 、 適切なバン ク 信号お よ び メ モ リ 信号を選択 し ます。 デ フ ォ ル ト の設定を使用す る 場合は [Next] を ク リ ッ ク し て次のページに進みます。 バン ク の選択を解除す る には、 [Deselect Banks] を ク リ ッ ク し ます。 デフ ォ ル ト 設定に戻すには、 [Restore Defaults] を ク リ ッ ク し ます。 デバ イ ス の HP バン ク の Vccaux_io グループは、 破線で囲ま れてい ます。 Vccaux_io はグループ内のすべてのバ ン ク に共通です。 メ モ リ イ ン タ ーフ ェ イ ス では、 使用す る すべてのバン ク で 同 じ Vccaux_io を使用す る 必要があ り ます。 指定のデー タ レー ト に合わせて、 MIG に よ り Vccaux_io 制約が自動的に設定 さ れます。 SSI テ ク ノ ロ ジで実装 さ れたデバ イ ス では、 SLR (Super Logic Region) は各バン ク のヘ ッ ダーの番号を付けて表 さ れま す (SLR 1 な ど)。 イ ン タ ーフ ェ イ スは複数の SLR を ま た ぐ こ と はで き ません。 [System Signals Selection] ページでは、 シ ス テ ム信号の ピ ン を選択 し ます (図 1-26)。 MIG ツールでは、 必要に応 じ て外 部ピ ン と 内部接続の ど ち ら も 選択で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 38 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-26 図 1-26 : シ ス テム ピ ンの選択 • [sys_clk] : メ モ リ イ ン タ ーフ ェ イ ス のシ ス テ ム ク ロ ッ ク 入力で、通常は低ジ ッ タ ーの外部 ク ロ ッ ク ソ ース に接続 し ます。 [FPGA Options] ページ (図 1-22) で選択 し た [System Clock] に基づいてシ ン グルエン ド 入力ま たは差動ペ アのいずれか を選択で き ます。 sys_clk 入力は メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列にあ る 必要があ り ます。 こ の ピ ン を メ モ リ イ ン タ ーフ ェ イ ス と 同 じ バン ク に接続 し た場合、 MIG ツールは DIFF_SSTL15 や SSTL15 な ど メ モ リ イ ン タ ーフ ェ イ ス と 互換性のあ る I/O 規格を選択 し ます。sys_clk が メ モ リ イ ン タ ーフ ェ イ ス バン ク で未接 続の場合、 MIG ツールは LVCMOS18 や LVDS な ど の適切な規格を選択 し ます。 XDC は生成後に必要に応 じ て修 正で き ます。 • [clk_ref] : IDELAY 制御の基準周波数入力です。 clk_ref 入力は内部で生成す る こ と も 、 外部 ソ ース に接続す る こ と も で き ます。 [FPGA Options] ページ (図 1-22) で選択 し た [System Clock] に基づいてシ ン グル入力ま たは差 動ペア を選択で き ます。 I/O 規格は sys_clk と 同様の方法で選択 さ れます。 • [sys_rst] : 内部で生成ま たは外部ピ ンに よ っ て駆動 さ れ る シ ス テ ム リ セ ッ ト 入力です。 HP バン ク には LVCMOS18、 HR バン ク には LVCMOS25 な ど、 入力に対す る 適切な I/O 規格が MIG ツールに よ り 選択 さ れます。 sys_rst ピ ン のデフ ォ ル ト の極性はア ク テ ィ ブ Low です。 sys_rst ピ ン の極性は、 [FPGA Options] ページの [System Reset Polarity] の設定に よ り ます (図 1-22)。 • [init_calib_complete] : メ モ リ 初期化 と キ ャ リ ブ レーシ ョ ンが完了 し 、 イ ン タ ーフ ェ イ ス の使用準備がで き た こ と を示す出力です。 こ の信号は通常は内部でのみ使用 し ますが、 必要に応 じ て ピ ンに出力で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 39 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [tg_compare_error] : サンプル デザ イ ンの ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーでデー タ 比較エ ラ ーが検出 さ れた こ と を 示 し ます。 こ の信号はサ ン プル デザ イ ン でのみ生成 さ れ、 ユーザー デザ イ ンには含ま れ ません。 こ の信号は通 常ピ ンには出力 さ れませんが、 必要に応 じ て出力 さ せ る こ と が可能です。 [Next] を ク リ ッ ク し て [Summary] ページに進みます。 サマ リ [Summary] ページには、 7 シ リ ーズ FPGA の メ モ リ コ アの選択、 イ ン タ ーフ ェ イ ス パ ラ メ ー タ ー、 IP カ タ ロ グのオプ シ ョ ン、 ア ク テ ィ ブ プ ロ ジ ェ ク ト の FPGA オプシ ョ ン な ど、 すべての詳細が表示 さ れます (図 1-27)。 X-Ref Target - Figure 1-27 8*BFBB 図 1-27 : [Summary] ページ メ モ リ モデル ラ イ セ ン ス MIG ツールでは、 DDR2 SDRAM ま たは DDR3 SDRAM な ど の メ モ リ を シ ミ ュ レーシ ョ ンす る 目的 と し て、 指定 し た ベン ダーの メ モ リ モデルを出力で き ます。 sim フ ォ ルダー内の メ モ リ モデルへア ク セ スす る には、 ラ イ セ ン ス契約 に合意す る 必要があ り ます (図 1-28)。 ラ イ セ ン ス契約を読み、 [Accept] をオンに し て く だ さ い。 ラ イ セ ン ス契約に合 意 さ れない場合は、 メ モ リ モデルは使用で き ません。 デザ イ ンのシ ミ ュ レーシ ョ ンには、 メ モ リ モデルが必要です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 40 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-28 8*BFBB 図 1-28 : ラ イ セ ン ス契約 [Next] を ク リ ッ ク し て [PCB Information] ページに進みます。 PCB 情報 [PCB Information] ページには、 MIG ツールで生成 し たデザ イ ン を使用す る ボー ド の設計に必要な PCB 関連の情報が 表示 さ れます。 [Next] を ク リ ッ ク し て [Design Notes] ページに進みます。 デザイ ン ノ ー ト [Generate] を ク リ ッ ク し てデザ イ ン フ ァ イ ルを生成 し ます。 MIG ツールでは、 2 つの出力デ ィ レ ク ト リ (example_design お よ び user_design) が生成 さ れます。デザ イ ンの生成が完了する と MIG の GUI 画面が閉 じ ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 41 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン MIG 用の Vivado 統合デザイ ン フ ロー 1. [Generate] を ク リ ッ ク す る と 、 [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 こ のダ イ ア ロ グ ボ ッ ク ス には、 図 1-29 の よ う に、 [Out-of-Context Settings] があ り ます。 X-Ref Target - Figure 1-29 図 1-29 : [Generate Output Products] ダ イ ア ログ ボ ッ ク ス 2. [Out-of-Context Settings] を ク リ ッ ク し て、合成済みチ ェ ッ ク ポ イ ン ト の生成を設定 し ます。Out-of-Context フ ロ ー を有効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ ンに し ます。 こ の フ ロ ーを無効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ フ に し ます。 図 1-30 の よ う に、 デフ ォ ル ト では有効にな っ てい ます。 X-Ref Target - Figure 1-30 図 1-30 : [Out-of-Context Settings] ダ イ ア ロ グ ボ ッ ク ス Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 42 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 3. MIG のデザ イ ンは、 Vivado の階層デザ イ ン フ ローに準拠 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) [参照 5] お よ び 『Vivado Design Suite チ ュ ー ト リ アル : 階層デザ イ ン』 (UG946) [参照 6] を 参照 し て く だ さ い。 4. MIG デザ イ ンが生成 さ れ る と 、 図 1-31 の よ う なプ ロ ジ ェ ク ト ウ ィ ン ド ウ が表示 さ れます。 X-Ref Target - Figure 1-31 図 1-31 : Vivado ツールのプ ロ ジ ェ ク ト ウ ィ ン ド ウ (IP コ アの生成後) 5. プ ロ ジ ェ ク ト が作成 さ れ る と 、 XCI フ ァ イ ルがプ ロ ジ ェ ク ト の [Hierarchy] に追加 さ れます。 同 じ 画面に user_design のモ ジ ュ ール階層が表示 さ れ ま す。 HDL お よ び XDC フ ァ イ ルの リ ス ト は、 [Sources] ビ ュ ーの [IP Sources] に表示 さ れます。 モジ ュ ールま たはフ ァ イ ルを ダブル ク リ ッ ク す る と 、 Vivado のエデ ィ タ ーでその フ ァ イ ルが開 き ます。 こ れ ら の フ ァ イ ルは読み取 り 専用です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 43 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-32 図 1-32 : Vivado ツールのプ ロ ジ ェ ク ト ソ ース ウ ィ ン ド ウ [Create Design] フ ロ ーま たは [Verify Pin Changes and Update Design] フ ロ ーを使用 し てデザ イ ン を MIG か ら 生成で き ます。 MIG ツールか ら のデザ イ ン の生成については、 こ れ ら の フ ロ ーに差異はあ り ません。 デザ イ ン を MIG ツールか ら 生成す る フ ロ ーに関係な く 、 XCI フ ァ イ ルは Vivado ツール プ ロ ジ ェ ク ト に追加 さ れます。 イ ンプ リ メ ン テーシ ョ ン フ ロ ーはプ ロ ジ ェ ク ト に追加 さ れた XCI フ ァ イ ルに依存す る ため、 こ の フ ロ ーはあ ら ゆ る 状況 において同 じ です。 6. MIG で生成 さ れたすべてのユーザー デザ イ ン RTL お よ び XDC フ ァ イ ルは自動的にプ ロ ジ ェ ク ト へ追加 さ れま す。 フ ァ イ ルが変更 さ れ、 こ れ ら を再度生成 し たい場合は、 XCI フ ァ イ ルで右 ク リ ッ ク し て [Generate Output Products] を ク リ ッ ク し ます (図 1-33)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 44 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-33 図 1-33 : RTL および制約の生成 7. [Generate Output Products] を ク リ ッ ク する と [Manage Outputs] ウ ィ ン ド ウ が表示 さ れます (図 1-34)。 X-Ref Target - Figure 1-34 図 1-34 : 生成用のウ ィ ン ド ウ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 45 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 8. ユーザー デザ イ ンの RTL フ ァ イ ルお よ び制約フ ァ イ ル (XDC フ ァ イ ル) はすべて [Sources] → [Libraries] ビ ュ ー で表示で き ます (図 1-35)。 X-Ref Target - Figure 1-35 図 1-35 : Vivado プ ロ ジ ェ ク ト – RTL フ ァ イル と 制約 フ ァ イル 9. Vivado は [Open IP Example Design] フ ロ ーをサポー ト し てい ます。 こ の フ ロ ーを使用 し てサンプル デザ イ ン を 作成す る には、 [Sources] ビ ュ ーで IP を右 ク リ ッ ク し ます (図 1-36)。 X-Ref Target - Figure 1-36 図 1-36 : IP サン プル デザイ ン を開 く Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 46 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 10. こ のオプシ ョ ンでは新 し い Vivado プ ロ ジ ェ ク ト が作成 さ れます。 メ ニ ュ ーを選択す る と ダ イ ア ロ グ ボ ッ ク ス が 表示 さ れ、 こ のダ イ ア ロ グ ボ ッ ク ス に従っ て新 し いデザ イ ン プ ロ ジ ェ ク ト のデ ィ レ ク ト リ に移動 し ます。 デ ィ レ ク ト リ を選択 し て (ま たはデフ ォ ル ト を使用) [OK] を ク リ ッ ク し ます。 こ れに よ り 、 すべてのサンプル デザ イ ン と IP の コ ピーを含む新 し い Vivado が起動 し ます。 こ のプ ロ ジ ェ ク ト で は、 example_top が イ ンプ リ メ ン テーシ ョ ンの最上位デ ィ レ ク ト リ 、 sim_tb_top がシ ミ ュ レーシ ョ ンの最上 位デ ィ レ ク ト リ と な っ てい ます (図 1-37)。 X-Ref Target - Figure 1-37 図 1-37 : サン プル デザイ ンのプ ロ ジ ェ ク ト 11. [Project Manager] → [Program and Debug] の下にあ る [Generate Bitstream] を ク リ ッ ク し 、 生成 さ れたデザ イ ン の BIT フ ァ イ ルを生成 し ます。 <project directory>/<project directory>.runs/ impl_1 デ ィ レ ク ト リ には、イ ンプ リ メ ン テーシ ョ ン実行後にプ ロ ジ ェ ク ト 用に生成 さ れた レ ポー ト フ ァ イ ルがすべて含まれます。 こ のプ ロ ジ ェ ク ト では、 シ ミ ュ レーシ ョ ン も 実行で き ます。 12. MIG IP コ アは [Re-customize IP] を使用 し て再度カ ス タ マ イ ズで き ます。 example_design プ ロ ジ ェ ク ト で IP を再度カ ス タ マ イ ズす る こ と は推奨 さ れてい ません。 example_design プ ロ ジ ェ ク ト を閉 じ 、 元のプ ロ ジ ェ ク ト に戻っ てそ こ でカ ス タ マ イ ズす る のが正 し い方法です。 XCI フ ァ イ ルを右 ク リ ッ ク し て [Recustomize IP] を ク リ ッ ク す る と (図 1-38)、 MIG の GUI が表示 さ れ る のでオプシ ョ ン を設定 し てデザ イ ン を生成 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 47 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-38 図 1-38 : IP の再カ ス タ マ イ ズ MIG のデ ィ レ ク ト リ 構造 と フ ァ イルの説明 出力デ ィ レ ク ト リ の構造 こ こ では、 選択 し た メ モ リ コ ン ト ロ ー ラ ー (MC) デザ イ ン の MIG ツールか ら の出力デ ィ レ ク ト リ 構造を示 し ま す。 <component name> デ ィ レ ク ト リ には、 次の 3 つの フ ォ ルダーが作成 さ れます。 • docs • example_design • user_design Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 48 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン mig_7series_v2_3 docs example_design par rtl traffic_gen sim synth user_design rtl clocking controller ip_top phy ui xdc デ ィ レ ク ト リ と フ ァ イルの内容 Vivado イ ンプ リ メ ン テーシ ョ ンに関す る こ のセ ク シ ョ ンでは、 7 シ リ ーズ FPGA コ アのデ ィ レ ク ト リ と 関連フ ァ イ ル について説明 し ます。 <component name>/example_design/ こ のデ ィ レ ク ト リ には、 par、 rtl、 sim、 synth の 4 つの フ ォ ルダーがあ り ます。 example_design/rtl こ のデ ィ レ ク ト リ には、 サンプル デザ イ ンが含まれます (表 1-1)。 表 1-1 : example_design/rtl デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 example_top.v/vhd ユーザー デザ イ ン を 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス コ アに接続す る サンプル デザ イ ンの最上位モジ ュ ールです。 example_design/rtl/traffic_gen こ のデ ィ レ ク ト リ には、7 シ リ ーズ FPGA メ モ リ コ ン ト ロ ー ラ ーに ス テ ィ ミ ュ ラ ス を与え る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーが含まれます (表 1-2)。 表 1-2 : example_design/rtl/traffic_gen デ ィ レ ク ト リ に含まれる フ ァ イル 名前(1) 説明 memc_traffic_gen.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの最上位モジ ュ ールです。 cmd_gen.v コ マ ン ド ジ ェ ネ レー タ ーです。 コ マ ン ド 、 ア ド レ スお よ びバース ト 長を 個別に生成する よ う に制御 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 49 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-2 : example_design/rtl/traffic_gen デ ィ レ ク ト リ に含まれる フ ァ イル (続き) 名前(1) 説明 cmd_prbs_gen.v PRBS (Pseudo-Random Binary Sequence) コ マ ン ド 、 ア ド レ ス、 バース ト 長 を生成する PRBS ジ ェ ネ レー タ ーです。 memc_flow_vcontrol.v メ モ リ コ ン ト ロ ー ラ ー コ ア と cmd_gen、 read_data_path お よ び write_data_path モジ ュ ール間の フ ロ ー制御 ロ ジ ッ ク を生成 し ます。 read_data_path.v 読み出 し デー タ パ ス の最上位モジ ュ ールです。 read_posted_fifo.v メ モ リ コ ン ト ロ ー ラ ーへ送信 さ れた読み出 し コ マ ン ド を 格納 し 、 そ の FIFO 出力 を 使用 し て読み出 し デー タ の比較用の予測デー タ を 生成 し ま す。 rd_data_gen.v memc_flow_vcontrol.v に対す る 読み出 し 信号お よ び Ready 信号の タ イ ミ ン グ を制御 し ます。 write_data_path.v 書き 込みデー タ パ ス の最上位モジ ュ ールです。 wr_data_g.v memc_flow_vcontrol.v に対す る 書 き 込み信号お よ び Ready 信号の タ イ ミ ン グ を制御 し ます。 s7ven_data_gen.v 複数の異な る デー タ パ タ ーン を生成 し ます。 a_fifo.v LUT RAM を使用 し た同期 FIFOです。 data_prbs_gen.v PRBS デー タ パ タ ーン を生成す る 32 ビ ッ ト LFSR ( リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ ) です。 init_mem_pattern_ctr.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー用の フ ロ ー制御 ロ ジ ッ ク を生成 し ます。 traffic_gen_top.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの最上位モジ ュ ールで、memc_traffic_gen モ ジ ュ ール と init_mem_pattern_ctr モジ ュ ールで構成 さ れます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 cmd_gen は、 mig_7series_v2_3_cmd_gen と な り ます。 <component name>/example_design/par 表 1-3 に、 example_design/par デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 1-3 : example_design/par デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 example_top.xdc コ アお よ びサンプル デザ イ ンの XDC です。 <component name>/example_design/sim 表 1-4 に、 example_design/sim デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 1-4 : example_design/sim デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 ddr2_model.v ddr3_model.v DDR2 お よ び DDR3 SDRAM モデルです。 ddr2_model_parameters.vh ddr3_model_parameters.vh DDR2 お よ び DDR3 SDRAM モデルのパ ラ メ ー タ ー設定が含まれます。 ies_run.sh(1) IES シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンす る ための Linux 実行フ ァ イ ル です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 50 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-4 : example_design/sim デ ィ レ ク ト リ に含まれる フ ァ イル (続き) 名前 説明 vcs_run.sh(1) VCS シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンす る ための Linux 実行フ ァ イ ル です。 readme.txt(1) QuestaSim、 IES、 お よ び VCS シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンする た めの詳細 と 必要条件が記載 さ れてい ます。 sim_tb_top.v シ ミ ュ レーシ ョ ンの最上位フ ァ イ ルです。 注記 : 1. Vivado IDE の [Component Name] に 「mig_7series_0」 と 入力 し て生成 さ れたデザ イ ンでは、 [Open IP Example Design] を使用 し てサンプル デザ イ ン を作成す る と 、ies_run.sh お よ び vcs_run.sh フ ァ イ ルが mig_7series_0_example/mig_7series_0_example.srcs/sim_1/imports/sim フ ォ ルダーに生成 さ れます。 <component name>/user_design こ のデ ィ レ ク ト リ には、 次の も のが含まれます。 • rtl フ ォ ルダーお よ び xdc フ ォ ルダー • 最上位の ラ ッ パー モジ ュ ール <component_name>.v/vhd • 最上位モジ ュ ール <component_name>_mig.v/vhd お よ び <component_name>_mig_sim.v/vhd 最上位の ラ ッ パー フ ァ イ ル <component_name>.v/vhd には、 最上位フ ァ イ ル <component_name>_mig.v/vhd の イ ン ス タ ン シエーシ ョ ンが含まれます。 最 上 位 フ ァ イ ル <component_name>_mig.v/vhd お よ び<component_name>_mig_sim.v/vhd は、 同一 の モ ジ ュ ー ル 名 <component_name>_mig を持っ てい ます。 <component_name>_mig_sim.v/vhd フ ァ イ ルでは、 シ ミ ュ レーシ ョ ンの キ ャ リ ブ レーシ ョ ン手法に関す る パ ラ メ ー タ ー値が高速モー ド viz. で、 SIM_BYPASS_INIT_CAL = FAST な ど に設 定 さ れてい る こ と を除いて、 こ れ ら 2 つの フ ァ イ ルは同 じ です。 重要 : 最上位フ ァ イ ル <component_name>_mig_sim.v/vhd がシ ミ ュ レーシ ョ ンに使用 さ れ る のに対 し て、最上位 フ ァ イ ル <component_name>_mig.v/vhd は、 デザ イ ンの合成お よ び イ ンプ リ メ ン テーシ ョ ンに使用 さ れます。 最上位の ラ ッ パー フ ァ イ ルは、 user_design を 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス コ アに接続す る サン プル デザ イ ン と し て機能 し ます。 user_design/rtl/clocking こ のデ ィ レ ク ト リ には、 ユーザー デザ イ ンが含まれます (表 1-5)。 表 1-5 : user_design/rtl/clocking デ ィ レ ク ト リ に含まれる フ ァ イル 名前(1) 説明 clk_ibuf.v 入力 ク ロ ッ ク バ ッ フ ァ ーを イ ン ス タ ン シエー ト し ます。 iodelay_ctrl.v IDELAY の使用に必要な IDELAYCTRL プ リ ミ テ ィ ブ を イ ン ス タ ン シエー ト し ます。 infrastructure.v ク ロ ッ ク の生成/分配、 お よ び リ セ ッ ト の同期化をサポー ト し ます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 clk_ibuf は、 mig_7series_v2_3_clk_ibuf と な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 51 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン user_design/rtl/controller こ のデ ィ レ ク ト リ には、 サンプル デザ イ ンに イ ン ス タ ン シエー ト さ れ る メ モ リ コ ン ト ロ ー ラ ーが含まれます (表 1-6)。 表 1-6 : user_design/rtl/controller デ ィ レ ク ト リ に含まれる フ ァ イル 名前(1) 説明 arb_mux.v アービ ト レーシ ョ ン ロ ジ ッ ク の最上位モジ ュ ールです。 arb_row_col.v バン ク マシ ンか ら Row コ マ ン ド と Column コ マ ン ド の送信要求を受信 し ます。要 求があ る 場合は、 各ス テー ト に対 し て 1 つの要求を選択 し ます。 arb_select.v バン ク マシ ンが提供す る 要求情報か ら Row コ マ ン ド と Column コ マ ン ド を選択 し ます。 bank_cntrl.v こ の構造ブ ロ ッ ク は、バン ク マシ ン を構成する 3 つのサブブ ロ ッ ク を イ ン ス タ ン シエー ト し ます。 bank_common.v すべてのバン ク マシ ンに関する さ ま ざ ま なデー タ 情報を計算 し ます。 bank_compare.v バン ク マシ ンの要求を格納 し ます。 bank_mach.v 最上位のバン ク マシ ン ブ ロ ッ ク です。 bank_queue.v バン ク マシ ンのキ ュ ー コ ン ト ロ ー ラ ーです。 bank_state.v 主要バン ク ス テー ト マシ ンです。 col_mach.v DQ バ ス を管理 し ます。 mc.v メ モ リ コ ン ト ロ ー ラ ーの最上位モジ ュ ールです。 mem_intfc.v コ ン ト ロ ー ラ ーお よ び PHY を イ ン ス タ ン シエー ト する 最上位の メ モ リ イ ン タ ー フ ェ イ ス ブ ロ ッ ク です。 rank_cntrl.v さ ま ざ ま な ラ ン ク レベルの タ イ ミ ン グ パ ラ メ ー タ ーを管理 し ます。 rank_common.v すべての ラ ン ク マシ ンに共通する ロ ジ ッ ク を含みます。 リ フ レ ッ シ ュ お よ び周期 的読み出 し 用の ク ロ ッ ク プ リ ス ケー ラ と アービ タ を含みます。 rank_mach.v 最上位の ラ ン ク マシ ン構造ブ ロ ッ ク です。 round_robin_arb.v 単純な ラ ウ ン ド ロ ビ ン アービ タ です。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 arb_mux は、 mig_7series_v2_3_arb_mux と な り ます。 user_design/rtl/ip_top こ のデ ィ レ ク ト リ には、 ユーザー デザ イ ンが含まれます (表 1-7)。 表 1-7 : user_design/rtl/ip_top デ ィ レ ク ト リ に含まれる フ ァ イル 名前(1) 説明 mem_intfc.v コ ン ト ロ ー ラ ーお よ び PHY を イ ン ス タ ン シエー ト する 最上位の メ モ リ イ ン タ ー フ ェ イ ス ブ ロ ッ ク です。 memc_ui_top.v 最上位の メ モ リ コ ン ト ロ ー ラ ー モジ ュ ールです。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 mem_intfc は、 mig_7series_v2_3_mem_intfc と な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 52 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン user_design/rtl/phy こ のデ ィ レ ク ト リ には、 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス の PHY イ ンプ リ メ ン テーシ ョ ンが含まれます (表 1-8)。 表 1-8 : user_design/rtl/phy デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前(1) 説明 ddr_byte_group_io シ ン グル バ イ ト レ ーン用のパ ラ メ ー タ ー指定可能な I/O ロ ジ ッ ク イ ン ス タ ン シエーシ ョ ン と I/O 終端を含みます。 ddr_byte_lane 出力 ま た は入力バ イ ト レ ー ン 内で必要 な プ リ ミ テ ィ ブ イ ン ス タ ン シ エー シ ョ ン を含みます。 ddr_calib_top メ モ リ 物理層 イ ン タ ーフ ェ イ ス の最上位モジ ュ ールです。 ddr_if_post_fifo PHASER IN_FIFO の深 さ を最大 4 エン ト リ 拡張 し ます。 ddr_mc_phy 最大 3 つの I/O バン ク (それぞれ 4 レーンの PHY プ リ ミ テ ィ ブを使用) を イ ン ス タ ン シエー ト す る パ ラ メ ー タ ー指定可能な ラ ッ パーです。 ddr_mc_phy_wrapper こ の ラ ッ パー フ ァ イ ルには、MC_PHY モジ ュ ールの イ ン ス タ ン シエーシ ョ ン が含まれ、 MC_PHY モジ ュ ール と ユーザー DDR2/DDR3 ポー ト 間でベ ク タ ー の再マ ッ プ を実行 し ます。 ddr_of_pre_fifo PHASER OUT_FIFO の深 さ を最大 4 エン ト リ 拡張 し ます。 ddr_phy_4lanes I/O バン ク のパ ラ メ ー タ ー指定可能な 4 レーン PHY です。 ddr_phy_ck_addr_cmd_delay ア ド レ スお よ び制御信号に必要な遅延を与え る ロ ジ ッ ク を含みます。 ddr_phy_dqs_delay DQS と DQ の位相オ フ セ ッ ト ロ ジ ッ ク を含みます。 ddr_phy_dqs_found_cal 読 み出 し レ ベ リ ン グ の キ ャ リ ブ レ ー シ ョ ン ロジッ ク DQSFOUND キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク ) を含みます。 ddr_phy_init メ モ リ の初期化、 お よ び初期化 と キ ャ リ ブ レーシ ョ ン中の全体的なマ ス タ ー ス テー ト 制御を含みます。 ddr_phy_rdlvl 読み出 し レベ リ ン グ段階 1 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク を含みます (PRBS パ タ ーン で ウ ィ ン ド ウ検出)。 ddr_phy_top 物理層の最上位モジ ュ ールです。 ddr_phy_wrcal 書 き 込みキ ャ リ ブ レーシ ョ ン ロ ジ ッ ク を含みます。 ddr_phy_wrlvl 書 き 込みレベ リ ン グ ロ ジ ッ ク を含みます。 ddr_prbs_gen こ の PRBS モジ ュ ールは多対 1 の フ ィ ー ド バ ッ ク メ カ ニ ズ ム を使用 し て 2n シーケ ン ス を生成 し ます。 (PHASER_IN 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 ddr_byte_group_io は、 mig_7series_v2_3_ddr_byte_group_io と な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 53 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン user_design/rtl/ui こ のデ ィ レ ク ト リ には、 メ モ リ コ ン ト ロ ー ラ ーのネ イ テ ィ ブ イ ン タ ーフ ェ イ ス と ユーザー アプ リ ケーシ ョ ン間を調 停す る ユーザー イ ン タ ーフ ェ イ ス コ ー ド が含まれてい ます (表 1-9)。 表 1-9 : user_design/rtl/ui デ ィ レ ク ト リ に含まれる フ ァ イル 名前(1) 説明 ui_cmd.v ユーザー イ ン タ ーフ ェ イ ス の コ マ ン ド ポー ト です。 ui_rd_data.v ユーザー イ ン タ ーフ ェ イ ス の読み出 し バ ッ フ ァ ーです。 メ モ リ コ ン ト ロ ー ラ ーか ら 返 さ れた読み出 し デー タ を、 要求順に再び並べ替え ます。 ui_wr_data.v ユーザー イ ン タ ーフ ェ イ ス の書 き 込みバ ッ フ ァ ーです。 ui_top.v メ モ リ コ ン ト ロ ー ラ ー ユーザー イ ン タ ーフ ェ イ ス の最上位モジ ュ ールです。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 ui_cmd は、 mig_7series_v2_3_ui_cmd と な り ます。 <component name>/user_design/xdc 表 1-10 に、 user_design/xdc デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 1-10 : user_design/xdc デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 <component_name>.xdc コ アお よ びユーザー デザ イ ンの XDC フ ァ イ ルです。 ピ ン変更の検証およびデザイ ンの更新 こ の機能は、 バン ク の選択、 バ イ ト の選択、 ピ ンの割 り 当てに関 し て入力 XDC を検証 し ます。 [Verify Pin Changes and Update Design] ページの [Validate] を ク リ ッ ク す る と 、 エ ラ ー と 警告が別のダ イ ア ロ グ ボ ッ ク ス に表示 さ れ ます。 こ の機能は、 MIG ツールでデザ イ ン を生成後に ピ ン配置を変更 し た場合に XDC を検証す る 際に有用です。 生成 し た .prj フ ァ イ ル (未修正の元の .prj フ ァ イ ル) お よ び検証が必要な XDC を MIG ツールで読み込みます。Vivado Design Suite で再カ ス タ マ イ ズのオプシ ョ ン を選択 し てプ ロ ジ ェ ク ト を再 ロ ー ド し ます。MIG の DRC にパ ス し なければデザ イ ンは生成で き ません。 ピ ン配置の検証に関す る 警告は、 こ こ では関係ないので無視 し ます。 XDC の検証のみでは 不十分なため、 実際にデザ イ ン を生成 し 、 ク ロ ッ ク お よ び PHASER に関す る 制約を更新 し た XDC、 お よ び各種 MAP パ ラ メ ー タ ーを更新 し た最上位の RTL モジ ュ ールを得 る 必要があ り ます。 デザ イ ンの更新機能は、 次の状況で必要 と な り ます。 • 以前のバージ ョ ンの MIG で ピ ン配置を生成 し てお り 、 デザ イ ン を現在のバージ ョ ンの MIG でア ッ プデー ト す る 場合。 一部の MIG デザ イ ンに対 し て、 ピ ン配置割 り 当て アルゴ リ ズ ムが変更 さ れてい ます。 • ピ ン配置を MIG 外で生成 し てい る か、 デザ イ ン を生成 し た後に変更 し てい る 場合。 デザ イ ン を MIG か ら 生成す る と 、 XDC お よ び HDL コ ー ド が正 し い制約 と 共に生成 さ れます。 入力 XDC か ら 検証 さ れた規則を次に示 し ます。 • 1 つの ピ ンが複数の信号に割 り 当て ら れてい る 場合、 エ ラ ーが報告 さ れます。 XDC が一意性の属性を満た し てい ない場合、 それ以上の検証は行われません。 • 検証済みの共通規則 ° 1 つの イ ン タ ーフ ェ イ ス は、 最大で 3 つの連続 し たバン ク を ま た ぐ こ と がで き ます。 ° イ ン タ ーフ ェ イ ス バン ク は FPGA の同 じ 列にあ る 必要があ り ます。 ° イ ン タ ーフ ェ イ ス バン ク は HP (High Performance) バン ク で も HR (High Range) バン ク で も か ま い ません。HP バン ク は高周波数用に使用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 54 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • • • ° 選択 し たデバ イ ス が ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト テ ク ノ ロ ジ を使用 し てい る 場合、 選択 し た イ ン タ ーフ ェ イ ス バン ク は同 じ SLR 領域を持っ てい る 必要があ り ます。 ° 内部 VREF を使用す る 場合、 ま たはバン ク に入出力/入力ポー ト がない場合は、 VREF I/O を GPIO と し て使用 す る 必要があ り ます。 ° 各信号の I/O 規格は、 選択 し た コ ン フ ィ ギ ュ レーシ ョ ンに従っ て検証 さ れます。 ° 各信号の VCCAUX I/O を検証 し 、 供給 さ れ る VCCAUX I/O が有効でない場合はエ ラ ー メ ッ セージが表示 さ れます。 検証済みのデー タ ピ ンの規則 ° 1 つの ス ト ロ ーブ セ ッ ト に関連付け ら れてい る 複数の ピ ンは、同 じ バ イ ト グループ内に割 り 当て ら れ る 必要 があ り ます。 ° ス ト ロ ーブ ペア (DQS) は、 DQS I/O ペアへ割 り 当て る 必要があ り ます。 ° 1 つの FPGA バ イ ト レーンに 2 つの異な る ス ト ロ ーブ セ ッ ト に関連す る ピ ン を含め る こ と はで き ません。 ° VREF I/O は内部 VREF を選択 し た場合のみ使用で き ます。 検証済みのア ド レ ス ピ ンの規則 ° ア ド レ ス信号を DDR3 SDRAM イ ン タ ーフ ェ イ ス の ddr3_reset_n 信号以外のデー タ バ イ ト と 混在 さ せ る こ と はで き ません。 ° ア ド レ ス信号を DDR2 SDRAM イ ン タ ーフ ェ イ ス の ddr2_reset_n 信号以外のデー タ バ イ ト と 混在 さ せ る こ と はで き ません。 ddr2_reset_n ポー ト があ る のは RDIMM のみです。 ° 孤立 し たバ イ ト レーンはい く つで も 使用で き ます。 検証済みのシ ス テ ム ピ ンの規則 ° ° ° システム ク ロ ッ ク - SR/MR CC I/O ペアのいずれかに割 り 当て る 必要があ り ます。 - メ モ リ バン ク 列に割 り 当て る 必要があ り ます。 - シ ス テ ム ク ロ ッ ク の タ イ プにシ ン グルエン ド を選択 し た場合、同 じ バン ク に基準電圧ピ ンが割 り 当て ら れていないか、 内部 VREF を使用 し てい る か を確認す る 必要があ り ます。 基準 ク ロ ッ ク - SR/MR CC I/O ペアのいずれかに割 り 当て る 必要があ り ます。 - シ ス テ ム ク ロ ッ ク の タ イ プにシ ン グルエン ド を選択 し た場合、同 じ バン ク に基準電圧ピ ンが割 り 当て ら れていないか、 内部 VREF を使用 し てい る か を確認す る 必要があ り ます。 ス テー タ ス信号 - sys_rst 信号は VREF I/O が割 り 当て ら れていないバン ク に割 り 当て る か、 内部 VREF を使用す る 必要 があ り ます。 - I/O 規格に互換性がないため、 こ れ ら の信号は メ モ リ 以外のバン ク に割 り 当て る 必要があ り ます。 I/O 規 格は最低 1.8V の LVCMOS と す る 必要があ り ます。 - こ れ ら の信号は 1 つの メ モ リ 列に属す る ため、 ハー ド 制約はな く 任意の列に割 り 当て る こ と がで き ます が、 選択 し た メ モ リ バン ク の近 く にする こ と を推奨 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 55 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン サン プル デザイ ンの ク イ ッ ク ス タ ー ト 概要 コ アの生成が正常に完了 し た ら 、 ザ イ リ ン ク ス の イ ンプ リ メ ン テーシ ョ ン ツールセ ッ ト を使用 し てサ ンプル デザ イ ンの HDL を処理で き ます。 サン プル デザイ ンのイ ン プ リ メ ン テーシ ョ ン IP のサンプル デザ イ ンの使用に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 7] を参照 し て く だ さ い。 サン プル デザイ ンのシ ミ ュ レーシ ョ ン (標準的なユーザー イ ン タ ー フ ェ イ ス を 備え るデザイ ン) MIG ツールは、 メ モ リ コ ン ト ロ ー ラ ー (MC) に さ ま ざ ま な ト ラ フ ィ ッ ク デー タ パ タ ーン を生成す る ための合成可能 なテ ス ト ベンチを提供 し ます。 こ のテ ス ト ベンチは、 memc_ui_top ラ ッ パー、 ユーザー イ ン タ ーフ ェ イ ス を介 し て ui_top コ アへ ト ラ フ ィ ッ ク パ タ ーン を生成する traffic_generator、 お よ び memc_ui_top コ アへ ク ロ ッ ク リ ソ ース を提供す る イ ン フ ラ ス ト ラ ク チ ャ コ アで構成 さ れてい ます。 図 1-39 に、 サンプル デザ イ ン テ ス ト ベンチのブ ロ ッ ク 図を示 し ます。 X-Ref Target - Figure 1-39 GGUBVLPBWEBWRSRUGGUBVLPBWEBWRS ([DPSOH'HVLJQ XVHUBGHVLJQBWRS:UDSSHU XVHUBGHVLJQBWRS LRGHOD\FWUO LQIUDVWUXFWXUH PHPFBXLBWRS XLBWRS WUDIILFBJHQBWRS 3DUDPHWHU %(*,1B$''5 (1'B$''5 Q&.B3(5B&/. DSSBDGGU DSSBFPG DSSBHQ DSSBUG\ DSSBKLBSUL DSSBZGIBGDWD DSSBZGIBHQG DSSBZGIBPDVN DSSBZGIBZUHQ DSSBZGIBUG\ DSSBUGBGDWDBHQG DSSBUGBGDWDBYDOLG DSSBUGBGDWD PHPB,QWIF 0& FPG DFFHSW XVHBDGGU EDQNBPDFKBQH[W GDWDBEXIBDGGU ZUBGDWDBHQ ZUBGDWDBDGGU ZUBGDWDBHQ ZUBGDWDBEH ''5''5 6'5$0 SK\BWRS UGBGDWDBHQ UGBGDWD HUURU 8*BFBB 図 1-39 : 合成可能なサン プル デザイ ンのブ ロ ッ ク 図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 56 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 1-40 に、 tb_top と memc_intfc モジ ュ ール間のシ ン プルな読み出 し /書 き 込み ト ラ ン ザ ク シ ョ ン のシ ミ ュ レ ー シ ョ ン結果を示 し ます。 X-Ref Target - Figure 1-40 $GGUHVVDVGDWD[HYDOXHDUHZULWWHQ WRGDWDILIRZKHQDSSBZGIBZUHQDQGWKH DSSBZGIBHQGDUHDVVHUWHG$:ULWH FRPPDQGWR[HLVDFFHSWHGKHUH 5HDGFRPPDQGWR[G LVDFFHSWHGKHUH 0HPRU\8VHULQWHUIDFHDVVHUWV DSSBUGBGDWDBYDOLGVLJQDOWR LQGLFDWHYDOLGGDWD[G UHWXUQLQJIURPPHPRU\ 図 1-40 : ユーザー イ ン タ ー フ ェ イ スでの読み出 し および書き込みサイ ク ル ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの動作 合成可能なテ ス ト ベンチに含まれ る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー モジ ュ ールは、 パ ラ メ ー タ ーを指定 し て メ モ リ デ ザ イ ンの さ ま ざ ま な ス テ ィ ミ ュ ラ ス パ タ ーン を作成で き ます。 こ のジ ェ ネ レー タ ーは、 デザ イ ンの完全性や実際の ト ラ フ ィ ッ ク を モデル化す る 擬似 ラ ン ダ ム デー タ ス ト リ ーム を検証す る ための繰 り 返 し のテ ス ト パ タ ーン を生成で き ます。 ア ド レ ス範囲は、 BEGIN_ADDRESS お よ び END_ADDRESS パ ラ メ ー タ ー使用 し て定義で き ます。 Init Memory Pattern Control ブ ロ ッ ク が、 ア ド レ ス空間のすべてのア ド レ ス を連続 し て実行す る よ う に ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーへ指 示 し 、 選択 さ れたデー タ パ タ ーンに基づいて適切な値が メ モ リ デバ イ ス の各位置へ書 き 込ま れ ます。 テ ス ト ベンチ は、 デ フ ォ ル ト で ア ド レ ス を デー タ パ タ ー ン と し て使用 し ま すが、 こ のサ ン プル デザ イ ン のデー タ パ タ ーン は、 Vivado ロ ジ ッ ク 解析機能で変更可能な vio_data_mode 信号を使用 し て設定で き ます。 メ モ リ の初期化完了後、 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーはユーザー イ ン タ ーフ ェ イ ス ポー ト の ス テ ィ ミ ュ レー ト を開 始 し 、 メ モ リ デバ イ ス か ら ま たは メ モ リ デバ イ スへの ト ラ フ ィ ッ ク を生成 し ます。 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーは デフ ォ ル ト で、 擬似 ラ ン ダ ム コ マ ン ド を ポー ト へ送信 し ます。 つま り 、 命令シーケ ン ス (R/W、 R、 W) と ア ド レ ス は ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー モジ ュ ールの PRBS ジ ェ ネ レー タ ー ロ ジ ッ ク で決定 さ れます。 メ モ リ デバ イ ス か ら 返 さ れ る 読み出 し デー タ は、 ユーザー イ ン タ ーフ ェ イ ス の読み出 し デー タ ポー ト を介 し て ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て ア ク セ ス さ れ、内部生成 さ れた予測デー タ と 比較 さ れます。 エ ラ ーが検出 さ れた場 合 (つま り 、 読み出 し デー タ と 予測デー タ が不一致の場合)、 エ ラ ー信号がアサー ト さ れて、 リ ー ド バ ッ ク ア ド レ ス、 リ ー ド バ ッ ク デー タ 、 お よ び予測デー タ が error_status 出力に ラ ッ チ さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 57 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン サン プル デザイ ンの変更 提供 さ れてい る サンプル デザ イ ンには ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー モジ ュ ールが含まれてお り 、 こ れ ら は異な る コ マ ン ド やデー タ パ タ ーン に合わせて変更で き ま す。 一部の上位パ ラ メ ー タ ーは、 example_top.v/vhd モジ ュ ール で変更で き ます。 表 1-11 で、 こ れ ら のパ ラ メ ー タ ーについて説明 し ます。 表 1-11 : example_top モ ジ ュ ールにおける ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパラ メ ー タ ー設定 パラ メ ー タ ー 説明 値 FAMILY フ ァ ミ リ タ イ プ を示 し ます。 VIRTEX7 MEMORY_TYPE メ モ リ コ ン ト ロ ー ラ ー タ イ プ を示 し ま す。 DDR2、 DDR3 nCK_PER_CLK メ モ リ コ ン ト ローラー ク ロ ッ ク対 DRAM ク ロ ッ ク の比率です。 4、 2 (GUI で 選択 し た [PHY to Controller Clock Ratio] に依存する ) NUM_DQ_PINS メ モ リ の総 DQ バ ス幅です。 8 ずつ増分す る 8 ~ 72 ま での DQ 幅をサポー ト し ま す。 有効な最大 DQ 幅は、 選択 し た メ モ リ デバ イ ス の周波数に依存 し ます。 MEM_BURST_LEN メ モ リ のデー タ バース ト 長です。 必ず 8 に設定 し ます。 MEM_COL_WIDTH メ モ リ 列ア ド レ ス のビ ッ ト の数です。 選択 し た メ モ リ デバ イ ス に基づ き ます。 DATA_WIDTH ユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス幅です。 nCK_PER_CLK = 4 の場合、 DATA_WIDTH = NUM_DQ_PINS × 8 です。 ADDR_WIDTH メ モ リ のア ド レ ス バス幅です。 RANK_WIDTH + BANK_WIDTH + ROW_WIDTH + COL_WIDTH と 等 し く な り ます。 MASK_SIZE ユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス におけ る マ ス ク 幅を指定 し ます。 PORT_MODE ポー ト モー ド を設定 し ます。 有効な設定は次の と お り です。 BI_MODE : WRITE デー タ パ タ ー ン を 生成 し て 比較用に READ デー タ を モニ タ リ ン グ し ます。 BEGIN_ADDRESS メ モ リ の開始ア ド レ ス 境界 を 設定 し ま す。 ポー ト ア ド レ ス 空間の開始境界 を 定義 し ま す。 こ の値の LSB [3:0] は無視 さ れます。 END_ADDRESS メ モ リ の終了ア ド レ ス 境界 を 設定 し ま す。 ポー ト ア ド レ ス 空間の開始境界 を 定義 し ま す。 こ の値の LSB [3:0] は無視 さ れます。 PRBS_EADDR_MASK_POS 32 ビ ッ ト の AND MASK 位置 を 設定 し ます。 PRBS ア ド レ ス ジ ェ ネ レー タ ーで使用 さ れ、ポー ト ア ド レ ス 空間へ ラ ン ダ ム ア ド レ ス を シ フ ト ダ ウ ン し ます。 END_ADDRESS と PRBS ア ド レ ス の論理積を取っ て、マ ス ク の 1 を含むビ ッ ト 位 置を求め ます。 PRBS_SADDR_MASK_POS 32 ビ ッ ト の OR MASK の位置を設定 し ます。 ポー ト ア ド レ ス空間へ ラ ン ダ ム ア ド レ ス を シ フ ト ア ッ プす る ために PRBS ア ド レ ス ジ ェ ネ レー タ ー と 共に使用 さ れ ま す。 START_ADDRESS と PRBS ア ド レ ス の論理和を取っ て、 マ ス ク の 1 を 含むビ ッ ト 位置を求め ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 58 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-11 : example_top モ ジ ュ ールにおける ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパラ メ ー タ ー設定 (続き) パラ メ ー タ ー 説明 値 CMD_PATTERN 生成 さ れ る コ マ ン ド パ タ ーン回路を設 定 し ます。 大規模デバ イ ス では CGEN_ALL に設定で き ます。 サポー ト さ れ る コ マ ン ド パ タ ーン回路すべて を 生成す る よ う にで き ます。 ただ し 、 一 部の小規模デバ イ ス では リ ソ ース が限 ら れてい る ため、 特定の コ マ ン ド パ タ ーンに制限す る 必要が生 じ る 場合が あ り ます。 有効な設定は次の と お り です。 • CGEN_FIXED : ア ド レ ス、 バース ト 長、 命令 は、 fixed_addr_i、 fixed_bl_i、 fixed_instr_i 入力 か ら 直接取 り 込まれます。 • CGEN_SEQUENTIAL : ア ド レ ス は連続的に イ ン ク リ メ ン ト さ れ、 増分はデー タ ポー ト サ イ ズに よ っ て決ま り ます。 • CGEN_PRBS : 32 段の リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ (LFSR) が疑似 ラ ン ダ ム ア ド レ ス、 バー ス ト 長、 お よ び命令シーケ ン ス を 生成 し ます。 シー ド は、 32 ビ ッ ト の cmd_seed 入力で設定で き ます。 • CGEN_ALL (デフ ォ ル ト ) : 上記すべてのオプ シ ョ ン を 有効 に し 、 動作中 に addr_mode_i、 instr_mode_i、 お よ び bl_mode_i で生成パ タ ー ンの タ イ プを選択で き る よ う に し ます。 DATA_PATTERN RTL ロ ジ ッ ク を介 し て生成 さ れ る デー タ パ タ ーン回路を設定 し ます。 大規模 デバ イ ス の場合は、 DATA_PATTERN を DGEN_ALL に設定で き 、 生成 さ れ る す べてのサポー ト デー タ パ タ ーン回路を 有効に し ます。 ハー ド ウ ェ アでは、 vio_data_value_mode を使用 し てデー タ パ タ ーンの選択や変更が実行 さ れます。 DATA_PATTERN が DGEN_ALL に設定 さ れてい る 場合にのみ変更で き ます。 有効な設定は次の と お り です。 • ADDR (デフ ォ ル ト ) : ア ド レ ス はデー タ パ タ ーン と し て使用 さ れます。 • HAMMER : DQS の立ち上が り エ ッ ジでは DQ ピ ン にすべ て 1 が現れ、 DQS の立 ち 下が り エ ッ ジでは DQ ピ ンにすべて 0 が現れます。 • WALKING1 : Walking 1 が DQ ピ ンに現れ、 開 始位置 1 はア ド レ ス値に よ っ て異な り ます。 • WALKING0 : Walking 0 が DQ ピ ンに現れ、 開 始位置 0 はア ド レ ス値に よ っ て異な り ます。 • NEIGHBOR : 1 つを除 く すべての DQ ピ ンに Hammer パ タ ーンが現れます。例外ピ ンの位置 はア ド レ ス に よ っ て決ま り ます。 • PRBS : 32 段の LFSR が ラ ン ダ ム デー タ を生成 し 、 開始ア ド レ ス でシー ド さ れます。 • DGEN_ALL : すべての可能なオプシ ョ ン を有 効に し ます。 0x1 : FIXED - 32 ビ ッ ト の fixed_data 0x2 : ADDRESS - デー タ と し て使用 さ れ る 32 ビ ッ ト ア ド レ ス。 0x3 : HAMMER 0x4 : SIMPLE8 - 8 ワ ー ド ご と に繰 り 返す単純 な 8 デー タ パ タ ーン 0x5 : WALKING1 - DQ ピ ンに Walking 1 が現れ ます。 0x6 : WALKING0 - DQ ピ ンに Walking 0 が現れ ます。 0x7 : PRBS - 32 段の LFSR が ラ ン ダ ム デー タ を 生成 0x9 : SLOW HAMMER - 低周波数の HAMMER デー タ パ タ ーン 0xA : PHY_CALIB パ タ ーン - 0xFF、 00、 AA、 55、 55、 AA、 99、 66。 こ のモー ド では、 ア ド レ ス 0 で READ コ マ ン ド のみ が生成 さ れ ま す。 CMDS_GAP_DELAY 各ユーザー バース ト コ マ ン ド の間に遅 延を挿入 し ます。 有効な値 : 0 ~ 32 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 59 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-11 : example_top モ ジ ュ ールにおける ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパラ メ ー タ ー設定 (続き) パラ メ ー タ ー 説明 値 SEL_VICTIM_LINE 常 に ロ ジ ッ ク High と な る ビ ク テ ィ ム DQ ラ イ ン を選択 し ます。 Hammer パ タ ーンにのみ適用 し ます。 有効な設定 値は、 0 ~ NUM_DQ_PINS です。 値が NUM_DQ_PINS の場合は、 すべての DQ ピ ンに同 じ Hammer パ タ ーンがあ り ます。 EYE_TEST ト ラ フ ィ ッ ク ジ ェ ネ レ ー タ ーに対 し て 1 つの位置への書き 込みのみを生成 さ せ ます。 読み出 し ト ラ ンザ ク シ ョ ンは生成 さ れません。 有効な値は TRUE お よ び FALSE です。 TRUE に設定す る と 、vio_instr_mode_value の設定 が上書 き さ れます。 注記 : 1. ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーは、7 シ リ ーズ メ モ リ コ ン ト ロ ー ラ ーで使用可能な設定 よ り も 多 く のオプシ ョ ン をサポー ト し てい る 場合が あ り ます。 メ モ リ コ ン ト ロ ー ラ ーでサポー ト さ れてい る 設定を使用 し て く だ さ い。 traffic_gen モジ ュ ールの コ マ ン ド パ タ ーン (instr_mode_i、 addr_mode_i、 bl_mode_i、 data_mode_i) は 個別に設定で き ま す。 提供 さ れてい る init_mem_pattern_ctr モジ ュ ールには、 ユーザーが Vivado デバ ッ グ ロ ジ ッ ク コ アの仮想 I/O (VIO) を使用 し て リ アル タ イ ムで コ マ ン ド パ タ ーン を変更で き る 、 イ ン タ ーフ ェ イ ス信号があ り ます。 次の コ マ ン ド パ タ ーンは変更可能です。 1. vio_modify_enable を 1 に設定 し ます。 2. vio_addr_mode_value を次の よ う に設定 し ます。 1 : 固定ア ド レ ス 2 : PRBS ア ド レ ス 3 : 順次ア ド レ ス 3. vio_bl_mode_value を次の よ う に設定 し ます。 1 : 固定 bl 2 : PRBS bl (bl_mode の値が 2 に設定 さ れてい る 場合は、 addr_mode 値が強制的に 2 と な り 、 PRBS ア ド レ ス を 生成) 4. vio_data_mode_value を次の よ う に設定 し ます。 0 : 予約 1 : 固定デー タ モー ド - デー タ は fixed_data_i 入力バ ス か ら 供給 さ れます。 2 : DGEN_ADDR (デフ ォ ル ト ) - ア ド レ ス はデー タ パ タ ーン と し て使用 さ れます。 3 : DGEN_HAMMER - DQS の立ち上が り エ ッ ジでは DQ ピ ンにすべて 1 が現れ、 DQS の立ち下が り エ ッ ジでは DQ ピ ンにすべて 0 が現れます。 4 : DGEN_NEIGHBOR - DQS の立ち上が り エ ッ ジで、 1 つを除 く すべての DQ ピ ンに 1 が現れます。 例外ピ ンの位 置はア ド レ ス に よ っ て決ま り ます。 5 : DGEN_WALKING1 - DQ ピ ンに Walking 1 が現れます。 1 の開始位置はア ド レ ス値に依存 し ます。 6 : DGEN_WALKING0 - DQ ピ ンに Walking 0 が現れます。 0 の開始位置はア ド レ ス値に依存 し ます。 7 : DGEN_PRBS - 32 段の LFSR が ラ ン ダ ム デー タ を生成 し 、 開始ア ド レ ス でシー ド さ れます。 こ のデー タ モー ド は、 ア ド レ ス モー ド が PRBS モー ド ま たは順次の場合のみ有効です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 60 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ポー ト ア ド レ ス空間の変更 ポー ト のア ド レ ス空間は、最上位のテ ス ト ベンチ フ ァ イ ルにあ る BEGIN_ADDRESS お よ び END_ADDRESS パ ラ メ ー タ ーで変更で き ま す。 こ れ ら 2 つの値は、 ポー ト のデー タ 幅に揃 う よ う に設定す る 必要が あ り ま す。 デフ ォ ル ト の PRBS ア ド レ ス モー ド では、 追加で 2 つのパ ラ メ ー タ ー (PRBS_SADDR_MASK_POS お よ び PRBS_EADDR_MASK_POS) が使用 さ れ、 範囲外のア ド レ ス はポー ト へ送信 さ れません。 PRBS_SADDR_MASK_POS は、BEGIN_ADDRESS よ り 下の値の PRBS 生成ア ド レ ス を ポー ト の有効な ア ド レ ス空間へシ フ ト ア ッ プす る OR マ ス ク を 作成 し ま す。 こ のパ ラ メ ー タ ーは、 BEGIN_ADDRESS パ ラ メ ー タ ー と 同 じ 32 ビ ッ ト 値に設定 し て く だ さ い。 PRBS_EADDR_MASK_POS は、 END_ADDRESS を越えた値の PRBS 生成ア ド レ ス を ポー ト の有効ア ド レ ス空間へシ フ ト ダ ウ ンす る AND マ ス ク を作成 し ます。 こ の値は 32 ビ ッ ト 値 と な り 、 END_ADDRESS の MSB ア ド レ ス ビ ッ ト よ り 上にあ る すべてのビ ッ ト は 1 に設定 さ れ、 その他の ビ ッ ト はすべて 0 に設定 さ れます。 表 1-12 に、 2 つのマ ス ク パ ラ メ ー タ ーの設定例を示 し ます。 表 1-12 : ア ド レ ス空間および PRBS マス クの設定例 SADDR EADDR PRBS_SADDR_MASK_POS PRBS_EADDR_MASK_POS 0x1000 0xFFFF 0x00001000 0xFFFF0000 0x2000 0xFFFF 0x00002000 0xFFFF0000 0x3000 0xFFFF 0x00003000 0xFFFF0000 0x4000 0xFFFF 0x00004000 0xFFFF0000 0x5000 0xFFFF 0x00005000 0xFFFF0000 0x2000 0x1FFF 0x00002000 0xFFFFE000 0x2000 0x2FFF 0x00002000 0xFFFFD000 0x2000 0x3FFF 0x00002000 0xFFFFC000 0x2000 0x4FFF 0x00002000 0xFFFF8000 0x2000 0x5FFF 0x00002000 0xFFFF8000 0x2000 0x6FFF 0x00002000 0xFFFF8000 0x2000 0x7FFF 0x00002000 0xFFFF8000 0x2000 0x8FFF 0x00002000 0xFFFF0000 0x2000 0x9FFF 0x00002000 0xFFFF0000 0x2000 0xAFFF 0x00002000 0xFFFF0000 0x2000 0xBFFF 0x00002000 0xFFFF0000 0x2000 0xCFFF 0x00002000 0xFFFF0000 0x2000 0xDFFF 0x00002000 0xFFFF0000 0x2000 0xEFFF 0x00002000 0xFFFF0000 0x2000 0xFFFF 0x00002000 0xFFFF0000 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 61 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号説明 表 1-13 で、 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号について説明 し ます。 表 1-13 : ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号説明 信号 方向 説明 clk_i 入力 ク ロ ッ ク 入力信号です。 memc_init_done 入力 ト ラ フ ィ ッ ク の受け入れ準備が整 っ て い る こ と を 示す、 メ モ リ コ ン ト ロ ー ラ ーか ら の入力ス テー タ ス信号です。 manual_clear_error 入力 エ ラ ー フ ラ グ を ク リ アする 入力信号です。 memc_cmd_addr_o[31:0] 出力 現在の ト ラ ンザ ク シ ョ ンの開始ア ド レ ス です。 memc_cmd_en_o 出力 コ マ ン ド FIFO の書き 込み イ ネーブル信号で、 ア ク テ ィ ブ High です。 memc_cmd_full_i 入力 メ モ リ コ ン ト ロ ー ラ ーの app_rdy の反転信号に接続 し ます。 こ の入力信 号がアサー ト さ れてい る と き は、 memc_cmd_full_i がデ ィ アサー ト さ れ る ま で TG が memc_cmd_en_o、 memc_cmd_addr_o、 お よ び memc_cmd_instr を アサー ト し 続け ます。 memc_cmd_instr[2:0] 出力 現在の命令の コ マ ン ド コ ー ド です。 コ マ ン ド 書 き 込み : 3'b000 コ マ ン ド 読み出 し : 3'b001 memc_rd_data_i[DWIDTH – 1:0] 入力 メ モ リ か ら 返 さ れ る 読み出 し デー タ 値です。 memc_rd_empty_i 入力 読み出 し デー タ FIFO の EMPTY フ ラ グで、 ア ク テ ィ ブ High です。 High の場合、 FIFO に有効なデー タ がない こ と を示 し ます。 memc_rd_en_o 出力 MCB の よ う な イ ン タ ーフ ェ イ ス でのみ使用 さ れます。 memc_wr_data_o[DWIDTH – 1:0] 出力 メ モ リ コ ン ト ロ ー ラ ーの書 き 込みデー タ FIFO へ ロ ー ド さ れ る 書 き 込み デー タ 値を示 し ます。 memc_wr_en_o 出力 書 き 込みデー タ FIFO の書 き 込み イ ネーブル信号で、 ア ク テ ィ ブ High で す。 High の場合、 memc_wr_data の値が有効であ る こ と を示 し ます。 memc_wr_full_i 入力 メ モ リ コ ン ト ロ ー ラ ーの書 き 込みデー タ FIFO の FULL フ ラ グで、 ア ク テ ィ ブ High で す。 High の 場合、 TG が 書 き 込みデー タ を 保持 し 、 memc_wr_full_i が Low に遷移する ま で memc_wr_en を アサー ト し 続け ま す。 qdr_wr_cmd_o 出力 QDR II+ ユーザー イ ン タ ーフ ェ イ スへ書 き 込み コ マ ン ド を送信す る 目的 にのみ使用 さ れます。 vio_modify_enable 入力 vio_xxxx_mode_value で ト ラ フ ィ ッ ク パ タ ー ン を変更で き る よ う に し ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 62 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-13 : ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号説明 (続き) 信号 方向 説明 vio_data_mode_value[3:0] 入力 有効な設定は次の と お り です。 • 0x0 : 予約 • 0x1 : FIXED - fixed_data_i 入力で定義 さ れた 32 ビ ッ ト の fixed_data 値で す。 • 0x2 : ADDRESS - デー タ と し て使用 さ れ る 32 ビ ッ ト ア ド レ ス。 デー タ は、 論理ア ド レ ス空間に基づいて生成 さ れ ます。 デザ イ ン に 256 ビ ッ ト のユーザー デー タ バ ス があ る 場合、ユーザー バ ス の各書 き 込みビー ト には、バ イ ト 境界で 256/8 のア ド レ ス イ ン ク リ メ ン ト があ り ます。開 始ア ド レ ス が 1,300 のデー タ は 1,300 で、 次のサ イ ク ルで 1320 と な り ます。 ロ ジ ッ ク を シ ンプルにす る ために、ユーザー デー タ パ タ ーンは、 ア ド レ ス値ビ ッ ト [31:0] の イ ン ク リ メ ン ト の繰 り 返 し と な り ます。 • 0x3 : HAMMER - DQS の立ち上が り エ ッ ジでは DQ ピ ンにすべて 1 が現 れ、 DQS の立ち下が り エ ッ ジでは DQ ピ ンにすべて 0 が現れます。 た だ し 、SEL_VICTIM_LINE で定義 さ れた ビ ク テ ィ ム ラ イ ンは例外です。 こ のオプシ ョ ンは、パ ラ メ ー タ ー DATA_PATTERN が DGEN_HAMMER ま たは DGEN_ALL の場合のみ有効です。 • 0x4 : SIMPLE8 - 8 ワー ド ご と に繰 り 返す単純な 8 デー タ パ タ ーン。 パ タ ーンは、 simple_datax 入力で定義で き ます。 • 0x5 : WALKING1 - DQ ピ ンに Walking 1 が現れます。 1 の開始位置はア ド レ ス 値 に 依 存 し ま す。 こ の オ プ シ ョ ン は、 パ ラ メ ー タ ー DATA_PATTERN が DGEN_WALKING ま たは DGEN_ALL の場合のみ 有効です。 • 0x6 : WALKING0 - DQ ピ ンに Walking 0 が現れます。 0 の開始位置はア ド レ ス 値 に 依 存 し ま す。 こ の オ プ シ ョ ン は、 パ ラ メ ー タ ー DATA_PATTERN が DGEN_WALKING0 ま たは DGEN_ALL の場合のみ 有効です。 • 0x7 : PRBS - 32 段の LFSR が ラ ン ダ ム デー タ を生成 し 、 開始ア ド レ ス でシー ド さ れます。 こ のオプシ ョ ンは、 パ ラ メ ー タ ー DATA_PATTERN が DGEN_PRBS ま たは DGEN_ALL の場合のみ有効です。 • 0x9 : SLOW HAMMER - 低周波数の HAMMER デー タ パ タ ーン • 0xA : PHY_CALIB パ タ ーン - 0xFF、 00、 AA、 55、 55、 AA、 99、 66。 こ の モー ド で は、 ア ド レ ス 0 で READ コ マ ン ド のみが生成 さ れ ま す。 Virtex®-7 フ ァ ミ リ でのみ有効です。 vio_addr_mode_value[2:0] 入力 有効な設定は次の と お り です。 • 0x1 : 固定ア ド レ ス モー ド -ア ド レ ス は、 fixed_addr_i 入力バ ス か ら 入力 さ れ ま す。 こ のモー ド では、 data_mode は fixed_data_input に制限 さ れ ます。 PRBS デー タ パ タ ーンは生成 さ れません。 • 0x2 : PRBS ア ド レ ス モー ド (デフ ォ ル ト ) -ア ド レ ス は 32 ビ ッ ト の内部 LFSR 回路か ら 生成 さ れ ま す。 cmd_seed 入力バ ス を使用 し て、 シー ド を変更で き ます。 • 0x3 : 順次ア ド レ ス モー ド -ア ド レ ス は、 内部ア ド レ ス カ ウ ン タ ーか ら 生成 さ れます。 増分は、 ユーザー イ ン タ ーフ ェ イ ス のポー ト 幅に よ っ て決ま り ます。 vio_instr_mode_value[3:0] 入力 有効な設定は次の と お り です。 • 0x1 : fixed_instr_i で定義 さ れ る コ マ ン ド タ イ プ (読み出 し /書き 込み) • 0x2 : ラ ン ダ ム読み出 し /書 き 込み コ マ ン ド • 0xE : ア ド レ ス 0 での書 き 込みのみ • 0xF : ア ド レ ス 0 での読み出 し のみ vio_bl_mode_value[3:0] 入力 有効な設定は次の と お り です。 • 0x1 : fixed_bl_i 入力で定義 さ れた固定のバース ト 長 • 0x2 : ユーザー バース ト 長は、 内部の PRBS ジ ェ ネ レー タ ーか ら 生成 さ れます。 各バース ト 値が生成 さ れ る 連続コ マ ン ド の数を定義 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 63 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-13 : ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号説明 (続き) 信号 方向 説明 vio_fixed_instr_value 入力 有効な設定は次の と お り です。 • 0x0 : 書 き 込み命令 • 0x1 : 読み出 し 命令 vio_fixed_bl_value 入力 有効な値は 1 ~ 256 です。 vio_pause_traffic 入力 オンザフ ラ イ で ト ラ フ ィ ッ ク 生成を一時停止 し ます。 vio_data_mask_gen 入力 こ のモー ド は、 デー タ モー ド パ タ ーンがデー タ と し てのア ド レ ス の場合 のみ使用 さ れ ます。 こ のモー ド が有効の場合、 メ モ リ パ タ ーン が メ モ リ に満た さ れた後に ラ ン ダ ム な memc_wr_mask が生成 さ れ ます。 対応す る memc_write_mask がアサー ト さ れ る と 、 書 き 込みデー タ バ イ ト レーンに 8'hFF が入 り ます。 cmp_data[DWIDTH – 1:0] 出力 メ モ リ か ら リ ー ド バ ッ ク さ れたデー タ と 比較 さ れ る 予測デー タ です。 cmp_data_valid 出力 比較デー タ の Valid 信号です。 cmp_error 出力 cmp_data 値が メ モ リ か ら リ ー ド バ ッ ク さ れたデー タ と 一致 し ない場合に は、 こ の比較エ ラ ー フ ラ グがアサー ト さ れます。 error 出力 リ ー ド バ ッ ク デー タ が予測値 と 異な る 場合にアサー ト さ れます。 error_status[n:0] 出力 エ ラ ー信号がアサー ト さ れ る と 、 次の値を ラ ッ チ し ます。 • [31:0] : 読み出 し 開始ア ド レ ス • [37:32] : 読み出 し バース ト 長 • [39:38] : 予約 • [40] : mcb_cmd_full • [41] : mcb_wr_full • [42] : mcb_rd_empty • [64 + (DWIDTH – 1):64] : expected_cmp_data • [64 + (2 × DWIDTH – 1) : 64 + DWIDTH] : read_data simple_data0[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 0 simple_data1[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 1 simple_data2[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 2 simple_data3[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 3 simple_data4[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 4 simple_data5[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 5 simple_data6[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 6 simple_data7[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 7 fixed_data_i[31:0] 入力 ユーザー定義の固定デー タ パ タ ーン fixed_instr_i[2:0] 入力 ユーザー定義の固定 コ マ ン ド パ タ ーン 000 : 書 き 込み コ マ ン ド 001 : 読み出 し コ マ ン ド fixed_bl_i[5:0] 入力 ユーザーが定義す る 固定のバー ス ト 長です。 生成 さ れ る 連続 コ マ ン ド の 数は各バース ト 値で定義 さ れます。 メ モ リ の初期化お よび ト ラ フ ィ ッ ク テ ス ト フ ロー 電源投入後、 Init Memory Control ブ ロ ッ ク は ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに対 し て、 選択 さ れたデー タ パ タ ーン で メ モ リ を初期化す る よ う 命令 し 、 メ モ リ の初期化プ ロ セ ス が開始 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 64 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ の初期化 1. data_mode_i 入力でデー タ パ タ ーン を選択 し ます (例 : ア ド レ ス をデー タ パ タ ーン と し て使用す る 場合は、 data_mode_i[3:0] = 0010)。 2. start_addr_i 入力が設定 さ れ、 下位ア ド レ ス境界が定義 さ れます。 3. end_addr_i 入力が設定 さ れ、 上位ア ド レ ス境界が定義 さ れます。 4. fixed_bl_i 入力か ら バース ト 長を取得する ため、 bl_mode_i が 01 に設定 さ れます。 5. fixed_bl_i 入力が 16 ま たは 32 のいずれかに設定 さ れます。 6. fixed_instr_i 入力か ら 命令を取得す る ため、 instr_mode_i が 0001 に設定 さ れます。 7. fixed_instr_i 入力が メ モ リ デバ イ ス の WR コ マ ン ド 値に設定 さ れます。 8. 順次ア ド レ ス モー ド で メ モ リ 空間を埋め る ため、 addr_mode_i が 11 に設定 さ れます。 9. mode_load_i が ク ロ ッ ク の 1 サ イ ク ル間アサー ト さ れます。 メ モ リ 空間が選択 さ れたデー タ パ タ ーンで初期化 さ れ る と 、Init Memory Control ブ ロ ッ ク は ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーへ ト ラ フ ィ ッ ク テ ス ト フ ロ ーを実行す る よ う に命令 し ます (デフ ォ ル ト で addr_mode_i、 instr_mode_i、 お よ び bl_mode_i 入力は PRBS モー ド を選択す る よ う に設定)。 ト ラ フ ィ ッ ク テ ス ト フ ロー 1. addr_mode_i 入力が任意のモー ド に設定 さ れます (デフ ォ ル ト は PRBS)。 2. cmd_seed_i お よ び data_seed_i の入力値が、 内部 PRBS ジ ェ ネ レー タ ー用に設定 さ れます。 こ の手順は、 ほ かのパ タ ーンでは不要です。 3. instr_mode_i 入力が任意のモー ド に設定 さ れます (デフ ォ ル ト は PRBS)。 4. bl_mode_i 入力が任意のモー ド に設定 さ れます (デフ ォ ル ト は PRBS)。 5. data_mode_i 入力には、 「 メ モ リ の初期化」 で示 し た メ モ リ パ タ ーンの初期化段階 と 同 じ 値が入 り ます。 6. run_traffic_i 入力がアサー ト さ れて ト ラ フ ィ ッ ク の実行を開始 し ます。 7. テ ス ト 中にエ ラ ーが発生 し た場合 (読み出 し デー タ が予測デー タ と 一致 し ないな ど)、 リ セ ッ ト が適用 さ れ る ま で エ ラ ー ビ ッ ト がアサー ト さ れます。 8. error 信号を受信す る と 同時に、 error_status バ ス が 62 ページの表 1-13 で説明 さ れてい る 値を ラ ッ チ し ます。 サ ン プ ル デ ザ イ ン の 一 部 を 変 更 す る こ と で、 run_traffic_i が デ ィ ア サ ー ト さ れ た と き に addr_mode_i、 instr_mode_i お よ び bl_mode_i を動的に変更で き る よ う にな り ます。 ただ し 、 設定変更後は、 正 し いパ タ ーン が メ モ リ 空間へ ロ ー ド さ れ る よ う にす る には、 メ モ リ 初期化プ ロ セ ス を再度実行す る 必要があ り ます。 注記 : ° チ ッ プ セ レ ク ト オプシ ョ ンが無効の場合、 シ ミ ュ レーシ ョ ン テ ス ト ベンチは正常動作を続け る ために常に メ モ リ モデル チ ッ プ セ レ ク ト ビ ッ ト を 0 に接続 し ます。 ° デー タ マ ス ク オプシ ョ ンが無効の場合、 シ ミ ュ レーシ ョ ン テ ス ト ベンチは正常動作を続け る ために常に メ モ リ モデル デー タ マ ス ク ビ ッ ト を 0 に接続 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 65 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン サンプル デザイ ンのシ ミ ュ レーシ ョ ン (AXI4 イ ン タ ーフ ェ イ スを使用するデザイ ン) MIG ツールは、 メ モ リ コ ン ト ロ ー ラ ーに さ ま ざ ま な ト ラ フ ィ ッ ク パ タ ーン を生成す る ための合成可能な AXI4 テ ス ト ベン チ を提供 し ま す。 こ のテ ス ト ベン チは、 AXI4 イ ン タ ー フ ェ イ ス を備え たユーザー デザ イ ン ( メ モ リ コ ン ト ロ ー ラ ー ) の イ ン ス タ ン スお よ び コ ン ト ロ ー ラ ーの AXI4 イ ン タ ーフ ェ イ ス を介 し て ト ラ フ ィ ッ ク パ タ ーン を生成す る traffic_generator (axi4_tg) で構成 さ れてい ます (図 1-41)。 ユーザー デザ イ ン内の イ ン フ ラ ス ト ラ ク チ ャ ブ ロ ッ ク が コ ン ト ロ ー ラ ー と ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの両方へ ク ロ ッ ク リ ソ ース を提供 し ます。 図 1-41 に、 サンプル デザ イ ン テ ス ト ベンチのブ ロ ッ ク 図を示 し ます。 ク ロ ッ ク の詳細は、 101 ページの 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 の 図 1-41 を参照 し て く だ さ い。 X-Ref Target - Figure 1-41 86(5B'(6,*1FRPSRQHQW PLJ BVHULHV BY[ B[! V\V BFON BS PPFP BFON FON BLEXI V\V BFON BQ V\V BUVW FON BUHI BS $;,567 /RJLF FON BUHI BQ LRGHOD\ B FWUO FON BUHI ,'(/$<&75/ LRGHOD\ BFWUO BUG\ XL BFON BV\QF BUVW D[LB WJ DUHVHWQ UVW V\V BUVW UVW BSKDVVU BUHI XL BFON LQIUDVWUXFWXUH FON )DEULF 3+<ORJLF PHP BUHIFON IUHT BUHIFON V\QF BSXOVH 7UDIILF *HQHUDWRU $;, :UDSSHU PHPF BXL BWRS BD[L &RQWUROOHUZLWK $;,LQWHUIDFH 3+< ''5[ 0HPRU\ SOO BORFNHG UHI BGOO BORFN LQLW BFDOLE BFRPSOHWH $;,'DWDDQG&RQWURO3RUWV ; 図 1-41 : AXI4 イ ン タ ー フ ェ イ ス用の合成可能なサン プル デザイ ンのブ ロ ッ ク 図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 66 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 1-42 に、 AXI4 イ ン タ ーフ ェ イ ス上で実行 さ れてい る シ ンプルな書き 込み ト ラ ンザ ク シ ョ ン を示 し ます。 こ の ト ラ ンザ ク シ ョ ンには、 コ マ ン ド サ イ ク ル、 デー タ サ イ ク ル、 応答サ イ ク ル と い う 3 つのサ イ ク ルが含まれ ます。 こ れ は、 標準の AXI4 プ ロ ト コ ルに準拠 し てい ます。 X-Ref Target - Figure 1-42 図 1-42 : AXI4 イ ン タ ー フ ェ イ スの書き込みサイ ク ル 図 1-43 に、 AXI4 イ ン タ ーフ ェ イ ス上で実行 さ れてい る シ ンプルな読み出 し ト ラ ンザ ク シ ョ ン を示 し ます。 こ の ト ラ ンザ ク シ ョ ンには、 コ マ ン ド サ イ ク ル と デー タ サ イ ク ル と い う 2 つのサ イ ク ルが含まれます。 こ れは、 標準の AXI4 プ ロ ト コ ルに準拠 し てい ます。 X-Ref Target - Figure 1-43 図 1-43 : AXI4 イ ン タ ー フ ェ イ スの読み出 し サイ ク ル ユーザー イ ン タ ーフ ェ イ ス と し て AXI4 イ ン タ ーフ ェ イ ス を選択 し た場合に生成 さ れ る サンプル デザ イ ンは、通常の ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー ユーザー イ ン タ ーフ ェ イ ス用のデザ イ ン と は異な り ます。 こ の合成可能なテ ス ト ベン チは、 基本的な AXI4 ト ラ ンザ ク シ ョ ンだけではな く 、 メ モ リ コ ン ト ロ ー ラ ーの ト ラ ンザ ク シ ョ ン も 検証す る こ と を 目的 と し てい ます。 ただ し 、 すべての メ モ リ コ ン ト ロ ー ラ ー機能を検証す る のではな く 、 AXI4 SHIM 機能の検証に 重点を置いてい ま す。 表 1-14 で、 AXI4 テ ス ト ベン チ を検証に関係す る 各信号について説明 し ま す。 こ れ ら の信号 は、 example_top モジ ュ ールに含まれてい ます。 表 1-14 : AXI4 テ ス ト ベン チのシ ミ ュ レーシ ョ ンに関連する信号 信号 説明 test_cmptd ラ ン ダ ム読み出 し /書 き 込み コ マ ン ド に よ る 現在のテ ス ト ラ ウ ン ド が完了する と 、アサー ト さ れます。 新た なテ ス ト が開始 さ れ る と 、 デ ィ アサー ト さ れます。 write_cmptd 現在の書 き 込み ト ラ ンザ ク シ ョ ンが完了す る と 、ク ロ ッ ク の 1 サ イ ク ル間アサー ト さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 67 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-14 : AXI4 テ ス ト ベン チのシ ミ ュ レーシ ョ ンに関連する信号 信号 説明 cmd_err AXI4 ト ラ ンザ ク シ ョ ン (読み出 し ま たは書 き 込み) の コ マ ン ド サ イ ク ルでエ ラ ーが発生す る と アサー ト さ れます。 write_err メ モ リ への書 き 込み ト ラ ンザ ク シ ョ ンでエ ラ ーが発生す る と アサー ト さ れます。 dbg_wr_sts_vld こ の信号がアサー ト さ れ る と 、 dbg_wr_sts バ ス の書 き 込み ト ラ ンザ ク シ ョ ン が有効な ス テー タ ス であ る こ と を示 し ます。 書 き 込み ト ラ ンザ ク シ ョ ンが完了 し ていな く て も アサー ト さ れ ます。 dbg_wr_sts 書 き 込み ト ラ ンザ ク シ ョ ンの ス テー タ ス を示 し ます。 ス テー タ ス の詳細は、 表 1-15 を参照 し て く だ さ い。 read_cmptd 現在の読み出 し ト ラ ンザ ク シ ョ ンが完了す る と 、ク ロ ッ ク の 1 サ イ ク ル間アサー ト さ れます。 read_err メ モ リ の読み出 し ト ラ ンザ ク シ ョ ンでエ ラ ーが発生す る と アサー ト さ れます。 dbg_rd_sts_vld こ の信号がアサー ト さ れ る と 、dbg_rd_sts バス の読み出 し ト ラ ンザ ク シ ョ ンが有効な ス テー タ ス であ る こ と を示 し ます。 読み出 し ト ラ ンザ ク シ ョ ンが完了 し ていな く て も アサー ト さ れ ま す。 dbg_rd_sts 読み出 し ト ラ ンザ ク シ ョ ンの ス テー タ ス を示 し ます。 ス テー タ ス の詳細は、 表 1-16 を参照 し て く だ さ い。 初期化お よ びキ ャ リ ブ レーシ ョ ン シーケ ン ス に関 し ては、 56 ページの 「サ ン プル デザ イ ンのシ ミ ュ レーシ ョ ン (標 準的なユーザー イ ン タ ーフ ェ イ ス を備え る デザ イ ン)」 で説明 し た と お り です。 図 1-44 に、 書 き 込み ト ラ ンザ ク シ ョ ンで生成 さ れ る ス テー タ ス を示 し ます。 X-Ref Target - Figure 1-44 図 1-44 : 書き込み ト ラ ンザ ク シ ョ ンのス テー タ ス 表 1-15 : 書き込み ト ラ ンザク シ ョ ンのデバ ッ グ ス テー タ ス ビッ ト 説明 39:32 ビー ト 数/最後の書 き 込みバース ト で完了 し た転送数 31:21 予約 20:18 現在の ト ラ ンザ ク シ ョ ンで使用 さ れてい る デー タ パ タ ーン • 000 : 5A お よ び A5 • 001 : PRBS パ タ ーン • 010 : Walking 0 • 011 : Walking 1 • 100 : すべて 1 • 101 : すべて 0 17 書 き 込みエ ラ ーが発生 し 、 書 き 込み ト ラ ンザ ク シ ョ ンは未完了 16 書 き 込み ト ラ ンザ ク シ ョ ン中に コ マ ン ド エ ラ ーが発生 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 68 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-15 : 書き込み ト ラ ンザク シ ョ ンのデバ ッ グ ス テー タ ス (続き) ビッ ト 説明 15:9 予約 8:6 タ イ ム ア ウ ト が発生 し た と き の AXI ラ ッ パー書 き 込み FSM ス テー ト ( ウ ォ ッ チ ド ッ グ タ イ マーを有効 にす る 必要があ る ) • 3'b001 : デー タ 書 き 込み ト ラ ンザ ク シ ョ ン • 3'b010 : 書 き 込まれたデー タ に対する Ack 信号を待機 • 3'b011 : ダ ミ ー デー タ 書 き 込み ト ラ ンザ ク シ ョ ン • 3'b100 : 応答チ ャ ネルか ら の応答を待機 5:2 書 き 込み応答用の応答 ID 1:0 AXI で受信 さ れ る 書 き 込み応答 図 1-45 に、 読み出 し ト ラ ンザ ク シ ョ ンで生成 さ れ る ス テー タ ス を示 し ます。 X-Ref Target - Figure 1-45 図 1-45 : 読み出 し ト ラ ンザク シ ョ ンのス テー タ ス 表 1-16 : 読み出 し ト ラ ンザク シ ョ ンのデバ ッ グ ス テー タ ス ビッ ト 説明 39:32 ビー ト 数/最後の読み出 し バース ト で完了 し た転送数 31:30 予約 29:27 現在のチ ェ ッ ク に使用 さ れてい る デー タ パ タ ーン • 000 : 5A お よ び A5 • 001 : PRBS パ タ ーン • 010 : Walking 0 • 011 : Walking 1 • 100 : すべて 1 • 101 : すべて 0 26:19 デー タ の不一致が発生 し たポ イ ン タ ー値 18 書 き 込ま れてい る デー タ と 読み出 し デー タ が一致 し ない 17 読み出 し エ ラ ーが発生 し 、 読み出 し ト ラ ンザ ク シ ョ ンは未完了 16 読み出 し ト ラ ンザ ク シ ョ ン中に読み出 し エ ラ ーが発生 15:4 予約 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 69 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-16 : 読み出 し ト ラ ンザク シ ョ ンのデバ ッ グ ス テー タ ス (続き) ビッ ト 説明 3:2 タ イ ム ア ウ ト が生 じ た場合の AXI ラ ッ パー読み出 し FSM ス テー ト ( ウ ォ ッ チ ド ッ グ タ イ マーを有効 にす る 必要があ る ) • 2'b01 : 読み出 し コ マ ン ド ト ラ ンザ ク シ ョ ン • 2'b10 : デー タ 読み出 し ト ラ ンザ ク シ ョ ン 1 AXI ス レーブに よ る 不正な応答 ID 0 AXI での読み出 し エ ラ ー応答 キ ャ リ ブ レーシ ョ ンお よ びその他の DDR デー タ 読み出 し /書 き 込み ト ラ ンザ ク シ ョ ンに関 し ては、 56 ページの 「サン プル デザ イ ンのシ ミ ュ レーシ ョ ン (標準的なユーザー イ ン タ ーフ ェ イ ス を備え る デザ イ ン)」 で説明 し た と お り です。 AXI4 の書 き 込み/読み出 し ト ラ ンザ ク シ ョ ンは、 init_calib_complete 信号がアサー ト さ れた後にのみ開始 し ま す。 シ ミ ュ レーシ ョ ンの設定 重要 : ザ イ リ ン ク ス の UNISIM ラ イ ブ ラ リ を シ ミ ュ レー タ にマ ッ プす る 必要があ り ます。 サン プル デザ イ ンに付属のテ ス ト ベンチは、 次の よ う なプ リ イ ン プ リ メ ン テーシ ョ ン シ ミ ュ レーシ ョ ン を サポー ト し ます。 • サンプル デザ イ ンで使用 さ れてい る ベン ダーの メ モ リ モデルを含むテ ス ト ベンチ • MIG ツールで作成 さ れた メ モ リ コ ン ト ロ ー ラ ーお よ び PHY コ アの RTL フ ァ イ ル ソ フ ト ウ ェ ア リ リ ー ス ご と に、 QuestaSim、 Vivado シ ミ ュ レ ー タ 、 IES、 VCS シ ミ ュ レ ーシ ョ ン ツ ール を使用 し て MIG IP が検証 さ れます。IES お よ び VCS シ ミ ュ レー タ でシ ミ ュ レーシ ョ ン を実行する ための ス ク リ プ ト フ ァ イ ルは、 MIG の出力内に生成 さ れます。 QuestaSim、 Vivado シ ミ ュ レー タ を使用 し たシ ミ ュ レーシ ョ ンは、 Vivado Tcl コ ン ソ ー ルの コ マ ン ド ま たは Vivado IDE で実行で き ます。 重要 : MIG IP のシ ミ ュ レーシ ョ ン にはその他のシ ミ ュ レーシ ョ ン ツール も 使用で き ますが、 ザ イ リ ン ク ス では特に こ れ ら を検証 し てい ません。 IES および VCS ス ク リ プ ト フ ァ イルを使用 し たシ ミ ュ レーシ ョ ン フ ロー シ ミ ュ レーシ ョ ンは、 次のデ ィ レ ク ト リ か ら 実行 し ます。 <project_dir>/<Component_Name>_example/<component name>_example.srcs/sim_1/imports/sim プ ロ ジ ェ ク ト 名を project_1 と し 、Vivado IDE の コ ン ポーネ ン ト 名を mig_7series_0 と し て作成 さ れたプ ロ ジ ェ ク ト では、 次のデ ィ レ ク ト リ か ら 開始 し ます。 project_1/mig_7series_0_example/mig_7series_0_example.srcs/sim_1/imports/sim IES お よ び VCS シ ミ ュ レーシ ョ ン ス ク リ プ ト は、 Linux オペレーテ ィ ン グ シ ス テ ム上でのみ実行 さ れます。 ies_run.sh お よ び vcs_run.sh フ ァ イ ルは、それぞれ IES お よ び VCS シ ミ ュ レー タ を使用 し た シ ミ ュ レーシ ョ ン 用の実行フ ァ イ ルです。 ies_run.sh お よ び vcs_run.sh フ ァ イ ルそれぞれに ラ イ ブ ラ リ フ ァ イ ルを追加 し ます。 IES お よ び VCS を使用 し たシ ミ ュ レーシ ョ ンの詳細は、 readme.txt を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 70 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado シ ミ ュ レー タ を使用 し たシ ミ ュ レーシ ョ ン フ ロー 1. [Open IP Example Design] での Vivado プ ロ ジ ェ ク ト で、 Flow Navigator の下にあ る [Simulation Settings] を ク リ ッ ク し ます (図 1-46)。 X-Ref Target - Figure 1-46 図 1-46 : Vivado シ ミ ュ レー タ によ る シ ミ ュ レーシ ョ ン 2. 図 1-46 に示す [Simulation] タ ブで、 [xsim.simulate.runtime] を 1ms に設定 し ます (一定時間 (1ms よ り も ずっ と 短い時間) 経過後にシ ミ ュ レーシ ョ ン を停止す る シ ミ ュ レーシ ョ ン RTL 指示子あ り )。 [OK] を ク リ ッ ク し て、 設定を適用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 71 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 3. 図 1-47 に示す よ う に、 Flow Navigator で、 [Run Simulation] → [Run Behavioral Simulation] を ク リ ッ ク し ます。 X-Ref Target - Figure 1-47 図 1-47 : [Run Behavioral Simulation] の選択 QuestaSim を使用する シ ミ ュ レーシ ョ ン 1. [Open IP Example Design] での Vivado プ ロ ジ ェ ク ト で、Flow Navigator の下にあ る [Simulation Settings] を ク リ ッ ク し ます。 2. [Target simulator] で QuestaSim/ModelSim を選択 し ます。 3. a. コ ンパ イ ル済みの ラ イ ブ ラ リ の場所を参照 し 、 [Compiled libraries location] にそのパ ス を設定 し ます。 b. [Simulation] タ ブで、 [modelsim.simulate.runtime] を 1ms に設定 し ます (一定時間 (1ms よ り も ずっ と 短い時間) 経過後にシ ミ ュ レーシ ョ ン を停止する シ ミ ュ レーシ ョ ン RTL 指示子あ り )、図 1-46 に示す よ う に、 [modelsim.simulate.vsim.more_options] を -novopt に設定 し ます。 [OK] を ク リ ッ ク し て、 設定を適用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 72 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-48 図 1-48 : QuestaSim によ る シ ミ ュ レーシ ョ ン 4. 図 1-47 に示す よ う に、 Flow Navigator で、 [Run Simulation] → [Run Behavioral Simulation] を ク リ ッ ク し ます。 5. QuestaSim が Vivado か ら 呼び出 さ れ、 シ ミ ュ レーシ ョ ン を実行 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 8] を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 73 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのアーキテ ク チ ャ こ こ では、 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン コ ア の アーキ テ ク チ ャ を示 し 、 コ ア のモ ジ ュ ールお よ び イ ン タ ーフ ェ イ ス の概要について説明 し ます。 概要 図 1-49 に、 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン コ ア を示 し ます。 X-Ref Target - Figure 1-49 6HULHV)3*$V 8VHU,QWHUIDFH UVW 3K\VLFDO,QWHUIDFH 6HULHV)3*$V0HPRU\,QWHUIDFH6ROXWLRQ GGUBDGGU FON GGUBED DSSBDGGU GGUBFDVBQ DSSBFPG DSSBHQ DSSBKLBSUL DSSBZGIBGDWD GGUBFN 8VHU ,QWHUIDFH %ORFN 0HPRU\ &RQWUROOHU GGUBFNBQ 3K\VLFDO /D\HU GGUBFNH GGUBFVBQ DSSBZGIBHQG GGUBGP DSSBZGIBPDVN 8VHU )3*$ /RJLF GGUBRGW DSSBZGIBZUHQ DSSBUG\ 1DWLYH,QWHUIDFH 0&3+<,QWHUIDFH ,2% GGUBSDULW\ ''5''5 6'5$0 GGUBUDVBQ DSSBUGBGDWD GGUBUHVHWBQ DSSBUGBGDWDBHQG GGUZHQ DSSBUGBGDWDBYDOLG DSSBZGIBUG\ GGUBGT DSSBVUBUHT GGUBGTVBQ DSSBVUBDFWLYH GGUBGTV DSSBUHIBUHT DSSBUHIBDFN DSSB]TBUHT DSSB]TBDFN 6\VWHPFORFNV\VBFONBSDQGV\VBFONBQV\VBFONBL5HIHUHQFHFORFNFONBUHIBSDQGFONBUHIBQFONBUHIBLDQGV\VWHPUHVHWV\VBUVWBQSRUW FRQQHFWLRQVDUHQRWVKRZQLQEORFNGLDJUDP 図 1-49 : 7シ リ ーズ FPGA メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー FPGA ロ ジ ッ ク 図 1-49 のユーザー FPGA ロ ジ ッ ク ブ ロ ッ ク は、 外部の DDR2 ま たは DDR3 SDRAM への接続が必要な FPGA デザ イ ン を表 し てい ます。 ユーザー FPGA ロ ジ ッ ク は、 ユーザー イ ン タ ーフ ェ イ ス を介 し て メ モ リ コ ン ト ロ ー ラ ー と 接続 し ます。 ユーザー FPGA ロ ジ ッ ク のサンプルが、 コ ア と 共に提供 さ れてい ます。 AXI4 ス レーブ イ ン タ ー フ ェ イ ス ブ ロ ッ ク AXI4 ス レーブ イ ン タ ーフ ェ イ ス は AXI4 ト ラ ンザ ク シ ョ ン を UI へマ ッ プ し 、 メ モ リ コ ン ト ロ ー ラ ーに業界標準の バ ス プ ロ ト コ ル イ ン タ ーフ ェ イ ス を提供 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 74 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー イ ン タ ー フ ェ イ ス ブ ロ ッ ク およびユーザー イ ン タ ー フ ェ イ ス UI ブ ロ ッ ク は、 ユーザー FPGA ロ ジ ッ ク ブ ロ ッ ク へのユーザー イ ン タ ーフ ェ イ ス を表 し ます。 こ れは、 フ ラ ッ ト ア ド レ ス空間を提供 し 、 読み出 し /書 き 込みデー タ をバ ッ フ ァ ーす る こ と で、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に代わ る シ ンプルな イ ン タ ーフ ェ イ ス を提供 し ます。 メ モ リ コ ン ト ロー ラ ーおよびネ イ テ ィ ブ イ ン タ ー フ ェ イ ス メ モ リ コ ン ト ロ ー ラ ー (MC) の フ ロ ン ト エン ド は、 UI ブ ロ ッ ク へのネ イ テ ィ ブ イ ン タ ーフ ェ イ ス と な り ます。 こ れ がユーザー デザ イ ンに よ る メ モ リ の読み出 し /書 き 込み要求の実行を許可 し 、 ユーザー デザ イ ンか ら 外部 メ モ リ デバ イ ス へ (お よ び外部 メ モ リ デバ イ ス か ら ユーザー デザ イ ンへ) のデー タ 移動手段を提供 し ま す。 メ モ リ コ ン ト ロ ー ラ ーのバ ッ ク エン ド は物理 イ ン タ ーフ ェ イ スへ接続 し 、 こ のモジ ュ ールへの イ ン タ ーフ ェ イ ス要件すべてに対応 し ま す。 ま た、 メ モ リ コ ン ト ロ ー ラ ーには受信 し た要求順序を並べ替え る オプシ ョ ンがあ り 、 デー タ の スループ ッ ト お よ びレ イ テ ン シ を最適化で き ます。 物理層 (PHY) お よび物理イ ン タ ー フ ェ イ ス PHY の フ ロ ン ト エン ド は メ モ リ コ ン ト ロ ー ラ ー と 接続 し 、バ ッ ク エン ド は外部の メ モ リ デバ イ ス と 接続 し てい ます。 PHY は、 すべての メ モ リ デバ イ ス信号の順序お よ び タ イ ミ ン グ を管理 し ます。 IDELAYCTRL IDELAYCTRL は、 IDELAY を使用す る すべてのバン ク で必要です。 IDELAY は、 デー タ グループ (DQ) と 関連があ り ます。 つま り 、 こ れ ら の信号を使用す る すべてのバン ク / ク ロ ッ ク 領域で IDELAYCTRL が必要です。 MIG ツ ールは IDELAYCTRL を 1 つ イ ン ス タ ン シ エー ト し 、 そ の後 IODELAY_GROUP 属性 (iodelay_ctrl.v モ ジ ュ ール参照) を使用 し ます。 こ の属性に基づいて、 Vivado Design Suite が必要に応 じ てデザ イ ンで IDELAYCTRL を 複製 し ます。 IDELAYCTRL の基準周波数は、 メ モ リ イ ン タ ーフ ェ イ ス の周波数お よ び FPGA の ス ピー ド グ レー ド に応 じ て、 MIG で 200MHz、 300MHz、 ま たは 400MHz に設定 さ れます。 Vivado Design Suite が、 設定 さ れた IODELAY_GROUP 属性 に基づいて、IDELAY ブ ロ ッ ク があ る 各領域に IDELAYCTRL を複製 し ます。ユーザーが独自にマルチ コ ン ト ロ ー ラ ー デザ イ ン を作成す る 場合、 各 MIG 出力にプ リ ミ テ ィ ブ を含む コ ン ポーネ ン ト が イ ン ス タ ン シエー ト さ れ ます。 こ れ は、 IDELAYCTRL や IODELAY_GRP 属性の使用規則に違反 し ます。 IODELAYCTRL には、 正 し く 属性が設定 さ れた コ ン ポーネ ン ト が 1 つのみ イ ン ス タ ン シエー ト さ れ る べ き で、 必要な複製はツールに実行 さ せて く だ さ い。 ユーザー イ ン タ ー フ ェ イ ス UI は FPGA ユーザー デザ イ ン と 接続 し てい る ため、 外部 メ モ リ デバ イ スへのア ク セ ス が可能にな り ます (表 1-17)。 表 1-17 : ユーザー イ ン タ ー フ ェ イ ス 信号 方向 説明 app_addr[ADDR_WIDTH – 1:0] 入力 現在の要求のア ド レ ス を示 し ます。 app_cmd[2:0] 入力 現在の要求の コ マ ン ド を選択 し ます。 app_en 入力 app_addr[]、 app_cmd[2:0]、 app_sz、 お よ びapp_hi_pri 入力用のア ク テ ィ ブ High の ス ト ロ ーブ信号です。 app_rdy 出力 UI で コ マ ン ド の受信準備が整っ てい る こ と を示す出力です。app_en が イ ネーブルの と き にデ ィ アサー ト さ れた場合、 app_rdy 信号がアサー ト さ れ る ま で現在の app_cmd と app_addr を再送信す る 必要が あ り ま す。 app_hi_pri 入力 現在の要求の優先順位を上げ る ア ク テ ィ ブ High の入力です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 75 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-17 : ユーザー イ ン タ ー フ ェ イ ス (続き) 信号 方向 app_rd_data [APP_DATA_WIDTH – 1:0] 説明 出力 app_rd_data_end 出力 app_rd_data[] 出力デー タ の最後の ク ロ ッ ク サ イ ク ルで あ る こ と を 示 す、 ア ク テ ィ ブ High の出力です。 こ れは、 app_rd_data_valid が ア ク テ ィ ブ High の場合のみ有効です。 app_rd_data_valid 出力 app_rd_data[] が有効であ る こ と を示す、 ア ク テ ィ ブ High の出力です。 app_sz 入力 予約済みです。 0 に接続 し ます。 app_wdf_data [APP_DATA_WIDTH – 1:0] 入力 app_wdf_end 入力 app_wdf_mask [APP_MASK_WIDTH – 1:0] 入力 app_wdf_rdy 出力 書 き 込みデー タ FIFO でデー タ の受信準備が整っ てい る こ と を示す出 力です。 app_wdf_rdy = 1’b1 お よ び app_wdf_wren = 1’b1 の場合、 書き 込みデー タ が受信 さ れます。 app_wdf_wren 入力 app_wdf_data[] のア ク テ ィ ブ High の ス ト ロ ーブ信号です。 app_correct_en_i 入力 こ の ア ク テ ィ ブ High 信号が ア サー ト さ れ る と 、 シ ン グ ル ビ ッ ト の デー タ エ ラ ーを訂正 し ます。 こ の入力は、 GUI で ECC 機能を有効に 設定 し た場合のみ有効です。 サンプル デザ イ ンでは、 常に 1 に接続 さ れてい ます。 app_sr_req 入力 予約済みです。 0 に接続 し ます。 app_sr_active 出力 予約済みです。 app_ref_req 入力 リ フ レ ッ シ ュ コ マ ン ド が DRAM へ発行 さ れ る よ う に要求する 、 ア ク テ ィ ブ High の入力です。 app_ref_ack 出力 メ モ リ コ ン ト ロ ー ラ ーが要求 さ れた リ フ レ ッ シ ュ コ マ ン ド を PHY イ ン タ ーフ ェ イ スへ送信 し た こ と を示す、 ア ク テ ィ ブ High の出力です。 app_zq_req 入力 ZQ キ ャ リ ブ レ ーシ ョ ン コ マ ン ド が DRAM へ発行 さ れ る よ う に要求 する 、 ア ク テ ィ ブ High の入力です。 app_zq_ack 出力 メ モ リ コ ン ト ロ ー ラ ーが要求 さ れた ZQ キ ャ リ ブ レ ーシ ョ ン コ マ ン ド を PHY イ ン タ ーフ ェ イ スへ送信 し た こ と を示す、 ア ク テ ィ ブ High の出力です。 ui_clk 出力 こ の UI ク ロ ッ ク は、DRAM ク ロ ッ ク の 1/2 ま たは 1/4 であ る 必要があ り ます。 init_calib_complete 出力 キ ャ リ ブ レーシ ョ ンが完了する と 、 PHY に よ っ て アサー ト さ れます。 app_ecc_multiple_err[7:0](1) 出力 FCC 機能を使用す る 場合に適用 さ れ、 app_rd_data_valid と 共に有効に な り ます。 外部 メ モ リ の読み出 し で、 読み出 し バース ト の各ビー ト に 2 ビ ッ ト のエ ラ ーがあ る 場合、 app_ecc_multiple_err[3:0] 信号が 0 以外 を示 し ます。 SECDED アルゴ リ ズ ムでは、 対応す る 読み出 し デー タ は 訂正 さ れず、 こ の信号で 0 以外の値 を 出力 し て、 エ ラ ーの読み出 し デー タ を UI に伝え ます。 ui_clk_sync_rst 出力 ア ク テ ィ ブ High の UI リ セ ッ ト 信号です。 読み出 し コ マ ン ド か ら の出力デー タ を提供 し ます。 書き 込みコ マ ン ド のデー タ を提供 し ます。 app_wdf_data[] 入力デー タ の最後の ク ロ ッ ク サ イ ク ルであ る こ と を示 す、 ア ク テ ィ ブ High の入力です。 app_wdf_data[] にマ ス ク を提供 し ます。 注記 : 1. こ の信号は、 memc_ui_top モジ ュ ール レベルにのみ使用 さ れます。 こ れは、 ECC が有効の場合のみ使用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 76 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン app_addr[ADDR_WIDTH – 1:0] 現在 UI に提示 さ れてい る 要求のア ド レ ス を示す入力です。 UI は外部 SDRAM の全ア ド レ ス フ ィ ール ド を統合 し 、 フ ラ ッ ト ア ド レ ス空間を示 し ます。 app_cmd[2:0] 現在 UI に提示 さ れてい る 要求の コ マ ン ド を示す入力です。 表 1-18 に、 有効な コ マ ン ド を示 し ます。 表 1-18 : app_cmd[2:0] の コ マ ン ド 動作 app_cmd[2:0] コ ー ド 読み出 し 001 書 き 込み 000 app_en 要求の入力 ス ト ロ ーブ信号です。 app_addr[]、 app_cmd[2:0]、 お よ び app_hi_pri に適切な値 を 適用 し た後、 app_en 信号を アサー ト し て UI に要求を提示す る 必要があ り ます。 こ れに よ り 、 app_rdy のアサー ト で UI に知 ら さ れ る ハン ド シ ェ イ ク が開始 し ます。 app_hi_pri 現在の要求の優先順位が高い こ と を示す入力です。 app_wdf_data[APP_DATA_WIDTH – 1:0] 外部 メ モ リ へ書 き 込み さ れてい る デー タ を提供す る バ ス です。 app_wdf_end app_wdf_data[] バス のデー タ が、 現要求の最後のデー タ であ る こ と を示す入力です。 app_wdf_mask[APP_MASK_WIDTH – 1:0] app_wdf_data[] バ ス で外部 メ モ リ に書 き 込むバ イ ト と 現状の ス テー ト を指定する マ ス ク 信号です。app_wdf_mask の対応す る ビ ッ ト に 1 の値を設定す る こ と でバ イ ト がマ ス ク さ れ ま す。 た と えば、 アプ リ ケーシ ョ ン のデー タ 幅が 256 の場合、 マ ス ク 幅は 32 の値を と り ます。 app_wdf_data の最下位バ イ ト [7:0] は app_wdf_mask のビ ッ ト [0] を 使用 し てマ ス ク さ れ、 app_wdf_data の最上位バ イ ト [255:248] は app_wdf_mask の ビ ッ ト [31] を使用 し てマ ス ク さ れます。 し たがっ て、 最後の DWORD (app_wdf_data のバ イ ト 0、 1、 2、 お よ び 3) を マ ス ク し なければな ら ない 場合は、 app_wdf_mask を 32'h0000_000F に設定す る 必要があ り ます。 app_wdf_wren app_wdf_data[] バス のデー タ が有効であ る こ と を示す入力です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 77 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン app_rdy 現在 UI に提示 さ れてい る 要求が受け入れ ら れた こ と を示す出力です。 app_en のアサー ト 後に UI が こ の信号を ア サー ト し ない場合は、 現要求を再送信す る 必要があ り ます。 次の場合、 app_rdy 出力はアサー ト さ れません。 ° PHY/ メ モ リ の初期化が完了 し ていない ° バン ク マシ ンがすべて使用 さ れてい る ( コ マ ン ド バ ッ フ ァ ーが フルに表示 さ れ る こ と か ら 確認可能) ° - 読み出 し 要求時に、 読み出 し バ ッ フ ァ ーが フルであ る - 書 き 込み要求時に、 書 き 込みバ ッ フ ァ ー ポ イ ン タ ーがない 周期的読み出 し が挿入 さ れてい る app_rd_data[APP_DATA_WIDTH – 1:0] 外部 メ モ リ か ら 読み出 し たデー タ を含む出力です。 app_rd_data_end 現在のサ イ ク ルの app_rd_data[] バ ス のデー タ が、 現要求の最後のデー タ であ る こ と を示す出力です。 app_rd_data_valid app_rd_data[] バ ス のデー タ が有効であ る こ と を示す出力です。 app_wdf_rdy 書 き 込みデー タ FIFO でデー タ の受信準備が整っ てい る こ と を示す出力です。app_wdf_rdy と app_wdf_wren が共 にアサー ト さ れ る と 、 書 き 込みデー タ が受信 さ れます。 app_ref_req ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 メ モ リ コ ン ト ロ ー ラ ーが DRAM へ リ フ レ ッ シ ュ コ マ ン ド を発行す る よ う に要求 し ます。 要求す る には、 こ の信号を 1 サ イ ク ル間パルスす る 必要があ り 、 少な く と も 要求が認識 さ れて 送信 さ れた こ と を示す app_ref_ack 信号がアサー ト さ れ る ま でデ ィ アサー ト さ れます。 app_ref_ack ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 リ フ レ ッ シ ュ 要求を認識 し て コ マ ン ド が メ モ リ コ ン ト ロ ー ラ ーか ら PHY へ送信 さ れた こ と を示 し ます。 app_zq_req ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 メ モ リ コ ン ト ロ ー ラ ーが DRAM へ ZQ キ ャ リ ブ レーシ ョ ン コ マ ン ド を発行す る よ う に要求 し ます。 要求す る には、 こ の信号を 1 サ イ ク ル間パルスす る 必要があ り 、 少な く と も 要求が 認識 さ れて送信 さ れた こ と を示す app_zq_ack 信号がアサー ト さ れ る ま でデ ィ アサー ト さ れます。 app_zq_ack ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、ZQ キ ャ リ ブ レーシ ョ ン要求を認識 し て コ マ ン ド が メ モ リ コ ン ト ロ ー ラ ーか ら PHY へ送信 さ れた こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 78 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ui_clk_sync_rst UI か ら の リ セ ッ ト 信号で、 ui_clk に同期 し てい ます。 ui_clk UI か ら の出力 ク ロ ッ ク です。 GUI で 2:1 ま たは 4:1 モー ド の ど ち ら を選択 し たかに よ っ て、 外部 SDRAM に送信 さ れ る ク ロ ッ ク の 1/2 ま たは 1/4 の周波数にす る 必要があ り ます。 init_calib_complete キ ャ リ ブ レーシ ョ ンが完了す る と 、 PHY に よ っ て アサー ト さ れます。 アプ リ ケーシ ョ ンは、 こ の信号を待たずに メ モ リ コ ン ト ロ ー ラ ーへ コ マ ン ド を送信で き ます。 AXI4 ス レーブ イ ン タ ー フ ェ イ ス ブ ロ ッ ク AXI4 ス レーブ イ ン タ ーフ ェ イ ス ブ ロ ッ ク は AXI4 ト ラ ンザ ク シ ョ ン を UI へマ ッ プ し 、 メ モ リ コ ン ト ロ ー ラ ーに業 界標準のバ ス プ ロ ト コ ル イ ン タ ーフ ェ イ ス を提供 し ます。 AXI4 ス レーブ イ ン タ ーフ ェ イ ス は、 MIG ツールで提供 さ れ る オプシ ョ ンです。 こ れ ら の ツールで生成 さ れ る RTL には互換性があ り ます。 AXI4 のシ グナ リ ン グ プ ロ ト コ ル については、 ARM AMBA の仕様書 [参照 4] を参照 し て く だ さ い。 デザ イ ン全体は、 AXI チ ャ ネルを それぞれ扱 う 個別ブ ロ ッ ク で構成 さ れてい る ため、 読み出 し ト ラ ンザ ク シ ョ ンお よ び書 き 込み ト ラ ンザ ク シ ョ ン を別々に実行で き ま す。 UI への読み出 し お よ び書 き 込み コ マ ン ド は、 単純な ラ ウ ン ド ロ ビ ン方式の アー ビ タ を 採用 し て、 同時生成 さ れ る 要求が調停 さ れ ま す。 ア ド レ ス 読み出 し /ア ド レ ス 書 き 込みモ ジ ュ ールは、 ユーザー イ ン タ ーフ ェ イ ス と デー タ 通信で き る よ う にす る ため、 AXI4 バース ト / ラ ッ プ要求を小規模 メ モ リ サ イ ズのバース ト 長 (4 ま たは 8) に変換 し て、 それ ら を読み出 し /書き 込みデー タ モジ ュ ールへ転送 し ます。 ECC が有効な場合、 いずれかのマ ス ク ビ ッ ト がオンの書 き 込み コ マ ン ド はすべて、 読み出 し /修正/書 き 込み操作 と し て発行 さ れます。 ECC が有効な場合、 すべてのマ ス ク ビ ッ ト がオ フ の書 き 込み コ マ ン ド はすべて、 書 き 込み操作 と し て発行 さ れます。 AXI4 ス レーブ イ ン タ ー フ ェ イ スのパラ メ ー タ ー 表 1-19 に、 AXI4 ス レーブ イ ン タ ーフ ェ イ ス のパ ラ メ ー タ ーを示 し ます。 表 1-19 : AXI4 ス レーブ イ ン タ ー フ ェ イ スのパ ラ メ ー タ ー パラ メ ー タ ー名 デ フ ォル ト 値 設定可能な値 説明 C_S_AXI_ADDR_WIDTH 32 32 ア ド レ ス読み出 し /ア ド レ ス書 き 込み信 号の幅です。 必ず 32 に設定 し ます。 C_S_AXI_DATA_WIDTH 32 32、 64、 128、 256 デー タ 信号の幅です。 よ り 高い性能を 達成す る た め、 APP_DATA_WIDTH の 値 を 使用す る こ と を 推奨 し て い ま す。 小 さ い値の幅を使用す る と 、 ア ッ プサ イ ザーが起動 し 、 デー タ のパ ッ キ ン グ に ク ロ ッ ク が余計に使用 さ れます。 C_S_AXI_ID_WIDTH 4 1 ~ 16 すべてのチ ャ ネルの ID 信号の幅です。 C_S_AXI_SUPPORTS_ NARROW_BURST 1 0、 1 AXI の狭いバース ト 転送を サポー ト す る ために ロ ジ ッ ク ブ ロ ッ ク を追加 し ま す。 メ モ リ コ ン ト ロ ー ラ ーへ接続 さ れ たマ ス タ ー デバ イ ス が狭いバース ト を 発行す る 場合に必要です。 AXI デー タ 幅が推奨値 よ り 小 さ い場合は自動設定 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 79 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-19 : AXI4 ス レーブ イ ン タ ー フ ェ イ スのパ ラ メ ー タ ー (続き) パラ メ ー タ ー名 デ フ ォル ト 値 設定可能な値 説明 C_RD_WR_ARB_ALGORITHM RD_PRI_REG TDM、 ROUND_ROBIN、 RD_PRI_REG、 RD_PRI_REG_STARVE_LIMT、 WRITE_PRIORITY_REG、 WRITE_PRIORITY アービ ト レーシ ョ ン アルゴ リ ズ ム方法 を 指定 し ま す。 詳細 は、 82 ペー ジ の 「AXI Shim の アー ビ ト レ ーシ ョ ン」 を 参照 し て く だ さ い。 C_S_AXI_BASEADDR – 有効なア ド レ ス メ モ リ マ ッ プ 形式 の ス レ ー ブ イ ン タ ーフ ェ イ ス のベース ア ド レ ス を指定 し ま す。 こ のア ド レ ス のア ド レ ス 要求 は、 ラ ン ク 1、 バン ク 0、 行 0、 列 0 へ マ ッ プ し ます。 ベース/高位ア ド レ ス に よ っ て、 ア ク セ ス可能な メ モ リ サ イ ズ が定義 さ れ ま す。 ア ク セ ス 可能なサ イ ズは 2 のべ き 乗です。 ま た、 ベース/高 位ア ド レ ス は、 ア ク セ ス 可能な メ モ リ サ イ ズの整数倍の必要が あ り ま す。 最 小サ イ ズは 4,096 バ イ ト です。 C_S_AXI_HIGHADDR – 有効なア ド レ ス メ モ リ マ ッ プ 形式 の ス レ ー ブ イ ン タ ーフ ェ イ ス の高位ア ド レ ス を指定 し ます。 こ の値 よ り 上のア ド レ ス要求は、 ベー ス ア ド レ ス へ ラ ッ プ バ ッ ク し ま す。 ベース/高位ア ド レ ス に よ っ て、 ア ク セ ス可能な メ モ リ サ イ ズが定義 さ れ ま す。 ア ク セ ス 可能なサ イ ズは 2 のべ き 乗です。 ま た、 ベース/高位ア ド レ ス は、 ア ク セ ス可能な メ モ リ サ イ ズの整 数倍の必要が あ り ま す。 最小サ イ ズは 4,096 バ イ ト です。 C_S_AXI_PROTOCOL AXI4 AXI4 AXI プ ロ ト コ ルを指定 し ます。 AXI4 ス レーブ イ ン タ ー フ ェ イ スの信号名前 表 1-20 に、 AXI4 ス レーブ イ ン タ ーフ ェ イ ス の信号を示 し ます。 AXI イ ン タ ーフ ェ イ ス のすべての信号は、 ui_clk に同期 し ます。 表 1-20 : AXI4 ス レーブ イ ン タ ー フ ェ イ スの信号 名前 幅 方向 アクテ ィ ブ ス テー ト aresetn 1 入力 Low s_axi_awid C_AXI_ID_WIDTH 入力 書き 込みア ド レ ス ID です。 s_axi_awaddr C_AXI_ADDR_WIDTH 入力 書き 込みア ド レ ス です。 s_axi_awlen 8 入力 バース ト 長です。 1 回のバース ト の正確な転 送数を示 し ます。 s_axi_awsize 3 入力 バー ス ト サ イ ズです。 バー ス ト の各転送サ イ ズ を示 し ます。 s_axi_awburst 2 入力 バース ト タ イ プです。 s_axi_awlock 1 入力 ロ ッ ク タ イ プです。 (現時点の イ ンプ リ メ ン テーシ ョ ンでは未使用) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 説明 AXI Shim への入力 リ セ ッ ト で、FPGA ロ ジ ッ ク ク ロ ッ ク に同期す る 必要があ り ます。 80 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-20 : AXI4 ス レーブ イ ン タ ー フ ェ イ スの信号 (続き) アクテ ィ ブ ス テー ト 名前 幅 方向 s_axi_awcache 4 入力 キ ャ ッ シ ュ タ イ プです。 (現時点の イ ンプ リ メ ン テーシ ョ ンでは未使用) s_axi_awprot 3 入力 プ ロ テ ク シ ョ ン タ イ プです。 (現時点の イ ン プ リ メ ン テーシ ョ ンでは未使用) s_axi_awvalid 1 入力 High 書き 込みア ド レ ス の Valid 信号です。 書き 込 みア ド レ ス お よ びその関連す る 制御情報が 有効であ る こ と を示 し ます。 s_axi_awready 1 出力 High 書き 込みア ド レ ス の Ready 信号です。ス レー ブで ア ド レ ス お よ びその関連す る 制御信号 の受信準備が整っ てい る こ と を示 し ます。 s_axi_wdata C_AXI_DATA_WIDTH 入力 書き 込みデー タ です。 s_axi_wstrb C_AXI_DATA_WIDTH/8 入力 書き 込みス ト ロ ーブです。 s_axi_wlast 1 入力 High 書き 込みの最後です。書き 込みバース ト の最 後の転送であ る こ と を示 し ます。 s_axi_wvalid 1 入力 High 書き 込みの Valid 信号です。 書き 込みデー タ お よ び ス ト ロ ーブ信号が有効で あ る こ と を 示 し ます。 s_axi_wready 1 出力 High 書き 込みの Ready 信号です。 s_axi_bid C_AXI_ID_WIDTH 出力 応答 ID です。書き 込み応答の認証 タ グです。 s_axi_bresp 2 出力 書き 込み応答です。書き 込み応答の ス テー タ ス を示 し ます。 s_axi_bvalid 1 出力 High 書き 込み応答の Valid 信号です。 s_axi_bready 1 入力 High 応答の Ready 信号です。 s_axi_arid C_AXI_ID_WIDTH 入力 読み出 し ア ド レ ス ID です。 s_axi_araddr C_AXI_ADDR_WIDTH 入力 読み出 し ア ド レ ス です。 s_axi_arlen 8 入力 読み出 し バース ト 長です。 s_axi_arsize 3 入力 読み出 し バース ト サ イ ズです。 s_axi_arburst 2 入力 読み出 し バース ト タ イ プです。 s_axi_arlock 1 入力 ロ ッ ク タ イ プです。 (現時点の イ ンプ リ メ ン テーシ ョ ンでは未使用) s_axi_arcache 4 入力 キ ャ ッ シ ュ タ イ プです。 (現時点の イ ンプ リ メ ン テーシ ョ ンでは未使用) s_axi_arprot 3 入力 プ ロ テ ク シ ョ ン タ イ プです。 (現時点の イ ン プ リ メ ン テーシ ョ ンでは未使用) s_axi_arvalid 1 入力 High 読み出 し ア ド レ ス の Valid 信号です。 s_axi_arready 1 出力 High 読み出 し ア ド レ ス の Ready 信号です。 s_axi_rid C_AXI_ID_WIDTH 出力 読み出 し の ID タ グです。 s_axi_rdata C_AXI_DATA_WIDTH 出力 読み出 し デー タ です。 s_axi_rresp 2 出力 読み出 し 応答です。 s_axi_rlast 1 出力 読み出 し の最後であ る こ と を示す信号です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 説明 81 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-20 : AXI4 ス レーブ イ ン タ ー フ ェ イ スの信号 (続き) アクテ ィ ブ ス テー ト 説明 名前 幅 方向 s_axi_rvalid 1 出力 読み出 し の Valid 信号です。 s_axi_rready 1 入力 読み出 し の Ready 信号です。 AXI Shim のアービ ト レーシ ョ ン AXI4 プ ロ ト コ ルは、 それぞれ独立 し た読み出 し お よ び書き 込みア ド レ ス チ ャ ネルを要求 し ます。 メ モ リ コ ン ト ロ ー ラ ーのア ド レ ス チ ャ ネルは 1 つです。 読み出 し ア ド レ ス チ ャ ネル と 書 き 込みア ド レ ス チ ャ ネル間の アービ ト レ ー シ ョ ン (調停) には、 次のオプシ ョ ンがあ り ます。 時分割多重化 (TDM) 読み出 し ア ド レ ス チ ャ ネル と 書 き 込みア ド レ ス チ ャ ネルに、 同等の優先度が与え ら れ ます。 読み出 し お よ び書 き 込 みア ド レ ス チ ャ ネルへの優先権は、 ク ロ ッ ク サ イ ク ルご と に切 り 替わ り ます。 AXI マ ス タ ーか ら の読み出 し ま たは 書 き 込み要求は、 優先権に影響 し ません。 た と えば、 書 き 込み要求がない場合で も 、 別の ク ロ ッ ク サ イ ク ルで読み出 し 要求が実行 さ れます。 ス ロ ッ ト は固定 さ れてい る ため、 要求はそれぞれの ス ロ ッ ト でのみ対応 さ れます。 ラウン ド ロ ビ ン 読み出 し ア ド レ ス チ ャ ネル と 書 き 込みア ド レ ス チ ャ ネルに、 同等の優先度が与え ら れ ます。 読み出 し お よ び書 き 込 みア ド レ ス チ ャ ネルへの優先権は、 AXI マ ス タ ーか ら の最後に実行 し た要求に依存 し ます。 た と えば、 最後に実行 し た動作が書 き 込みの場合、 書 き 込み よ り 読み出 し 動作に優先権が与え ら れます。 同様に、 最後に実行 し た動作が読み 出 し の場合、 読み出 し よ り 書 き 込み動作に優先権が与え ら れます。 保留要求がない場合に、 読み出 し チ ャ ネル と 書 き 込みチ ャ ネルに同時に要求が実行 さ れ る と 、 こ のモー ド では読み出 し よ り 書 き 込みチ ャ ネルを優先 し ます。 読み出 し 優先 (RD_PRI_REG) 読み出 し ア ド レ ス チ ャ ネル と 書 き 込みア ド レ ス チ ャ ネルに、 同等の優先度が与え ら れます。 書 き 込みア ド レ ス チ ャ ネルか ら の要求は、 次のいずれかが発生 し た場合に処理 さ れます。 • 読み出 し ア ド レ ス チ ャ ネルか ら の保留要求がない。 • 読み出 し ス タ ーブ リ ミ ッ ト (256) に達 し た。 こ れは、 バース ト の最後にのみチ ェ ッ ク さ れ る 。 • 読み出 し 待機 リ ミ ッ ト (16) に達 し た。 • 書 き 込み QOS が高い (0 以外)。 こ れは、 バース ト の最後にのみチ ェ ッ ク さ れ る 。 読み出 し ア ド レ ス チ ャ ネルか ら の要求は、 同 じ 方法で処理 さ れます。 ス タ ーブ リ ミ ッ ト を使用する読み出 し 優先 (RD_PRI_REG_STARVE_LIMIT) 常に読み出 し ア ド レ ス チ ャ ネルが優先 さ れ ます。 読み出 し ア ド レ ス チ ャ ネルか ら 保留要求がない場合、 あ る いは読 み出 し の ス タ ーブ リ ミ ッ ト に達 し た場合は、 書き 込みア ド レ ス チ ャ ネルか ら の要求が処理 さ れます。 書き込み優先 (WRITE_PRIORITY、 WRITE_PRIORITY_REG) こ のモー ド では、 常に書 き 込みア ド レ ス チ ャ ネルが優先 さ れ ます。 読み出 し ア ド レ ス チ ャ ネルか ら の要求は、 書 き 込みア ド レ ス チ ャ ネルか ら 保留要求がない場合に処理 さ れます。 アービ ト レーシ ョ ン出力は、 WRITE_PRIORITY_ REG モー ド で取 り 込まれます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 82 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン AXI4-Lite ス レーブ制御/ス テー タ ス レ ジ ス タ のイ ン タ ー フ ェ イ ス ブロ ッ ク AXI4-Lite ス レーブ制御レ ジ ス タ ブ ロ ッ ク は、 プ ロ セ ッ サが ECC メ モ リ オプシ ョ ンへア ク セ ス可能 と な る イ ン タ ー フ ェ イ ス を提供 し ます。 こ の イ ン タ ーフ ェ イ ス は、 ECC が有効で、 主要ス レーブ イ ン タ ーフ ェ イ ス が AXI4 の場合に 利用で き ます。 こ のブ ロ ッ ク は割 り 込み、 割 り 込み有効、 ECC ス テー タ ス、 ECC 有効/無効、 訂正可能な ECC エ ラ ー カ ウ ン タ ー、 最初の訂正可能/訂正不可能なエ ラ ー デー タ 、 ECC お よ びア ド レ ス を提供 し ます。 ソ フ ト ウ ェ ア検証用 のエ ラ ー挿入レ ジ ス タ は、 ECC_TEST_FI_XOR (C_ECC_TEST) パ ラ メ ー タ ーが ON の と き に使用で き ます。 AXI4-Lite イ ン タ ーフ ェ イ ス は 32 デー タ ビ ッ ト に固定 さ れてお り 、 信号は AMBA AXI4-Lite 仕様 [参照 4] に基づいて供給 さ れ ます。 AXI4-Lite 制御/ス テー タ ス レ ジ ス タ イ ン タ ーフ ェ イ ス ブ ロ ッ ク は、AXI4 メ モ リ マ ッ プ方式の イ ン タ ーフ ェ イ ス に並 列 し て実装 さ れます。 こ のブ ロ ッ ク は、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス の出力を監視 し て訂正可能なエ ラ ー (シ ン グル ビ ッ ト ) お よ び訂正不可能な (複数ビ ッ ト ) エ ラ ーを キ ャ プチ ャ し ます。 訂正可能/訂正不可能なエ ラ ーが発生す る と 、 イ ン タ ーフ ェ イ ス はエ ラ ーの あ る デー タ ビ ッ ト お よ び ECC ビ ッ ト に加え て そのバ イ ト ア ド レ ス を キ ャ プチ ャ し ま す。 書 き 込みデー タ パ ス にあ る XOR ブ ロ ッ ク に よ る ECC のエン コ ー ド 後、 エ ラ ーが挿入 さ れます。 ト ラ ンザ ク シ ョ ンの最初の メ モ リ ビー ト にのみ挿入 さ れます。 た と えば、 デー タ 幅が 72 で、 モー ド レ ジ ス タ のバース ト 長が 8 の メ モ リ コ ン フ ィ ギ ュ レーシ ョ ンでは、 最初の 72 ビ ッ ト のみがエ ラ ー挿入 イ ン タ ーフ ェ イ ス に よ っ てエ ラ ー と な る 可能 性があ り ます。 訂正可能なエ ラ ーま たは訂正不可能なエ ラ ーのいずれかに基づ く 割 り 込み生成は、 レ ジ ス タ イ ン タ ー フ ェ イ ス で個別に設定可能です。 ECC 有効/無効 ECC_ON_OFF レ ジ ス タ は ECC デ コ ー ド 機能を有効 ま たは無効に し ま す。 ただ し 、 エ ン コ ー ド は常に有効です。 ス タ ー ト ア ッ プ時のデフ ォ ル ト 値は C_ECC_ONOFF_RESET_VALUE で指定で き ま す。 こ の レ ジ ス タ の ECC_ON_OFF ビ ッ ト に 1 を指定す る と 、 mem_intfc へ入力 さ れ る correct_en 信号がアサー ト さ れます。 こ のビ ッ ト に 0 を書 き 込 む と 、 correct_en 信号はデ ィ アサー ト さ れ ます。 correct_en がアサー ト さ れ る と デ コ ー ド が有効にな り 、 こ の 信号がデ ィ アサー ト さ れ る と 無効にな り ます。 ECC_ON_OFF が 0 の と き 、 ECC_STATUS/ECC_CE_CNT はア ッ プデー ト さ れません。 ECC_ON_OFF が 0 の と き 、 FI_D0、 FI_D1、 FI_D2、 お よ び FI_D3 レ ジ ス タ への書 き 込みはで き ません。 シ ングル エ ラ ーおよびダ ブル エ ラ ーのレポー ト メ モ リ コ ン ト ロ ー ラ ーか ら の 2 つのベ ク ト ル信号(ecc_single お よ び ecc_multiple) は ECC エ ラ ーを示す も の です。ecc_single 信号は訂正可能なエ ラ ーが存在する か ど う か を示 し 、ecc_multiple 信号は訂正不可能なエ ラ ー が存在す る か ど う か を示 し ます。 ecc_multiple お よ び ecc_single の幅は C_NCK_PER_CLK パ ラ メ ー タ ーに基 づ き ます。 2 つのベ ク タ ー ビ ッ ト のいずれかに よ る 各デー タ ビー ト にサ イ ク ルあ た り 0 か ら C_NCK_PER_CLK × 2 のエ ラ ーが存在 し 得 る こ と にな り ます。 サ イ ク ルご と にベ ク タ ーの複数ビ ッ ト に信号が供給 さ れ る 場合があ り 、 複数 の訂正可能なエ ラ ーま たは訂正不可能なエ ラ ーが検出 さ れた こ と を示 し ます。 ecc_err_addr 信号 ( 「エ ラ ーの情報 の収集」 で説明) は ecc_single ま たは ecc_multiple がアサー ト さ れてい る 間有効です。 ECC_STATUS レ ジ ス タ は、訂正可能なエ ラ ーの検出を示す CE_STATUS ビ ッ ト お よ び訂正不可能なエ ラ ーの検出を示 す UE_STATUS ビ ッ ト を設定 し ます。 注意 : 複数ビ ッ ト エ ラ ーは メ モ リ 正弦波の重大なエ ラ ー と な り 、 制御不可能です。 こ の よ う な場合、 アプ リ ケーシ ョ ンは こ の メ モ リ 内容を使用で き ません。 メ モ リ に対 し てそれ以上の ト ラ ンザ ク シ ョ ン を実行 し ない よ う に し て く だ さ い。 割 り 込みの生成 ECC_EN_IRQ レ ジ ス タ の CE_EN_IRQ ビ ッ ト ま たは UE_EN_IRQ ビ ッ ト で割 り 込みを有効にす る と 、 訂正可能な エ ラ ーま たは訂正不可能なエ ラ ーが発生 し た場合に割 り 込み信号がアサー ト さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 83 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン エ ラ ーの情報の収集 ECC エ ラ ーの解析をサポー ト す る ために、 エ ラ ーが発生 し た ECC デ コ ー ド に関する 情報を収集す る 格納レ ジ ス タ が 2 つ用意 さ れてい ます。 1 つは訂正可能なエ ラ ー用、 も う 1 つは訂正不可能なエ ラ ー用です。 エ ラ ーが発生 し た ア ド レ ス、 デ コ ー ド さ れなか っ たデー タ 、 お よ び ECC ビ ッ ト が CE_FFA、 CE_FFD、 CE_FFE バン ク (訂正可能なエ ラ ー ) お よ び UE_FFA、 UE_FFD、 UE_FFE バン ク (訂正不可能なエ ラ ー ) に格納 さ れます。 こ れ ら のデー タ お よ び ECC ビ ッ ト は共に、 ど の ビ ッ ト にエ ラ ーが発生 し てい る か を特定す る ために使用 さ れ ます。 CE_FFA は ecc_err_addr 信号 か ら のア ド レ ス を格納 し 、 それをバ イ ト ア ド レ ス に変換 し ます。 エ ラ ーが検出 さ れ る と 、 そのデー タ は適切な レ ジ ス タ に ラ ッ チ さ れます。 エ ラ ーが発生 し た最初のデー タ ビー ト のみが格納 さ れます。 訂正可能なエ ラ ーが発生 し た場合にその発生 し た数を数え る カ ウ ン タ ー も 用意 さ れてい ます。 常に 8 ビ ッ ト カ ウ ン タ ーの こ のカ ウ ン タ ーは CE_CNT レ ジ ス タ か ら 読み出す こ と がで き 、 最大値が イ ン ク リ メ ン ト す る 際に ロ ールオー バー し ません。 エ ラ ーの挿入 ECC エ ラ ー 挿入レ ジ ス タ (FI_D お よ び FI_ECC) は ソ フ ト ウ ェ ア ド ラ イ バーのテ ス ト を容易に し ます。セ ッ ト す る と 、 ECC エ ラ ー挿入レ ジ ス タ は MIG DFI デー タ パ ス で XOR を実行 し 、 メ モ リ でエ ラ ーを シ ミ ュ レーシ ョ ン し ます。 DFI イ ン タ ーフ ェ イ ス は メ モ リ コ ン ト ロ ー ラ ー と PHY 間にあ り ます。 こ れはエン コ ー ド の完了後であ る ため挿入に最適 です。 最初のデー タ ビー ト でのみエ ラ ーを挿入す る ため、 FI_D レ ジ ス タ は 2 ~ 4 つ し か用意 さ れてい ません。 動作 中、 エ ラ ーがデー タ パ ス に挿入 さ れ る と レ ジ ス タ 自身で ク リ ア し ます。 AXI4-Lite ス レーブ制御/ス テー タ ス レ ジ ス タ イ ン タ ー フ ェ イ スのパ ラ メ ー タ ー 表 1-21 に、 AXI4-Lite ス レーブ イ ン タ ーフ ェ イ ス のパ ラ メ ー タ ーを示 し ます。 表 1-21 : AXI4-Lite ス レーブ制御/ス テー タ ス レ ジ ス タ のパラ メ ー タ ー パラ メ ー タ ー名 デ フ ォル ト 値 設定可能な値 説明 C_S_AXI_CTRL_ADDR_WIDTH 32 32、 64 AXI4-Lite ア ド レ ス のバ ス幅です。 C_S_AXI_CTRL_DATA_WIDTH 32 32 AXI4-Lite デー タ のバ ス幅です。 C_ECC_ONOFF_RESET_VALUE 1 0、 1 ス タ ー ト ア ッ プ/ リ セ ッ ト 時の ECC の ON/OFF 値を 制御 し ます。 C_S_AXI_CTRL_BASEADDR – 有効な ア ド レ ス AXI4-Lite ス レーブ イ ン タ ーフ ェ イ ス のベース ア ド レ ス を指定 し ます。 C_S_AXI_CTRL_HIGHADDR – 有効な ア ド レ ス AXI4-Lite の ス レ ーブ イ ン タ ーフ ェ イ ス の高位ア ド レ ス を指定 し ます。 C_S_AXI_CTRL_PROTOCOL AXI4LITE AXI4LITE AXI4-Lite プ ロ ト コ ル Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 84 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン AXI4-Lite ス レーブ制御/ス テー タ ス レ ジ ス タ イ ン タ ー フ ェ イ スの信号 表 1-22 に、 AXI4 ス レーブ イ ン タ ーフ ェ イ ス の信号を示 し ます。 こ の イ ン タ ーフ ェ イ ス の ク ロ ッ ク / リ セ ッ ト は、 メ モ リ コ ン ト ロ ー ラ ーか ら 提供 さ れます。 表 1-22 : 新 し い I/O 信号の一覧 アクテ ィ ブ ス テー ト 説明 名前 幅 方向 s_axi_ctrl_awaddr C_S_AXI_CTRL_ADDR_WIDTH 入力 s_axi_ctrl_awvalid 1 入力 High 書 き 込みア ド レ ス の Valid 信号です。 書 き 込み ア ド レ ス お よ びそ の関連す る 制 御情報が有効であ る こ と を示 し ます。 s_axi_ctrl_awready 1 出力 High 書き 込みア ド レ ス の Ready 信号です。 ス レ ーブ で ア ド レ ス お よ びそ の関連す る 制御信号の受信準備が整 っ て い る こ と を示 し ます。 s_axi_ctrl_wdata C_S_AXI_CTRL_DATA_WIDTH 入力 s_axi_ctrl_wvalid 1 入力 High 書 き 込 み の Valid 信号 で す。 書 き 込み デー タ お よ び ス ト ロ ーブ信号が有効で あ る こ と を示 し ます。 s_axi_ctrl_wready 1 出力 High 書き 込みの Ready 信号です。 s_axi_ctrl_bvalid 1 出力 High 書き 込み応答の Valid 信号です。 s_axi_ctrl_bready 1 入力 High 応答の Ready 信号です。 s_axi_ctrl_araddr C_S_AXI_CTRL_ADDR_WIDTH 入力 s_axi_ctrl_arvalid 1 s_axi_ctrl_arready 書き 込みア ド レ ス です。 書き 込みデー タ です。 読み出 し ア ド レ ス です。 入力 High 読み出 し ア ド レ ス の Valid 信号です。 1 出力 High 読み出 し ア ド レ ス です。 s_axi_ctrl_rdata C_S_AXI_CTRL_DATA_WIDTH 出力 読み出 し デー タ です。 s_axi_ctrl_rvalid 1 出力 読み出 し の Valid 信号です。 s_axi_ctrl_rready 1 入力 読み出 し の Ready 信号です。 interrupt 1 出力 High IP グ ロ ーバル割 り 込み信号です。 AXI4-Lite ス レーブ制御/ス テー タ ス レ ジ ス タ マ ッ プ 表 1-23 に、 ECC レ ジ ス タ マ ッ プ を示 し ます。 レ ジ ス タ マ ッ プは リ ト ル エンデ ィ ア ンです。 読み出 し 専用ま たは予約 の値への書 き 込みア ク セ ス は無視 さ れます。書 き 込み専用ま たは予約の値への読み出 し ア ク セ ス は 0xDEADDEAD 値 を返 し ます。 表 1-23 : ECC 制御レ ジス タ マ ッ プ ア ド レス オフセ ッ ト レジス タ名 ア ク セス タ イプ デ フ ォル ト 値 説明 0x00 ECC_STATUS R/W 0x0 ECC ス テー タ ス レ ジ ス タ です。 0x04 ECC_EN_IRQ R/W 0x0 ECC 有効割 り 込みレ ジ ス タ です。 0x08 ECC_ON_OFF R/W 0x0 ま た は 0x1 ECC ON/OFF レ ジ ス タ です。 C_ECC_ONOFF_RESET_ VALUE が 1 の場合、 デフ ォ ル ト 値は 0x1 です。 0x0C CE_CNT R/W 0x0 訂正可能なエ ラ ー カ ウ ン ト レ ジ ス タ です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 85 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-23 : ECC 制御レ ジス タ マ ッ プ (続き) ア ド レス オフセ ッ ト レジス タ名 ア ク セス タ イプ デ フ ォル ト 値 0x100 CE_FFD[31:00] R 0x0 訂正可能な最初のエ ラ ー デー タ レ ジ ス タ です。 0x104 CE_FFD[63:32] R 0x0 訂正可能な最初のエ ラ ー デー タ レ ジ ス タ です。 0x108 CE_FFD[95:64](1) R 0x0 訂正可能な最初のエ ラ ー デー タ レ ジ ス タ です。 0x10C CE_FFD [127:96](1) R 0x0 訂正可能な最初のエ ラ ー デー タ レ ジ ス タ です。 説明 (0x10–0x9C) 予約 (0x110–0x17C) 予約 0x180 CE_FFE R 0x0 訂正可能な最初の ECC エ ラ ー レ ジ ス タ です。 (0x184–0x1BC) 予約 0x1C0 CE_FFA[31:0] R 0x0 訂正可能な最初のエ ラ ー ア ド レ ス レ ジ ス タ です。 0x1C4 CE_FFA[63:32](2) R 0x0 訂正可能な最初のエ ラ ー ア ド レ ス レ ジ ス タ です。 (0x1C8–0x1FC) 予約 0x200 UE_FFD [31:00] R 0x0 訂正不可能な最初のエ ラ ー デー タ レ ジ ス タ です。 0x204 UE_FFD [63:32] R 0x0 訂正不可能な最初のエ ラ ー デー タ レ ジ ス タ です。 0x208 UE_FFD [95:64](1) R 0x0 訂正不可能な最初のエ ラ ー デー タ レ ジ ス タ です。 R 0x0 訂正不可能な最初のエ ラ ー デー タ レ ジ ス タ です。 0x20C UE_FFD [127:96](1) (0x210–0x27C) 予約 0x280 UE_FFE R 0x0 訂正不可能な最初の ECC エ ラ ー レ ジ ス タ です。 (0x284–0x2BC) 予約 0x2C0 UE_FFA[31:0] R 0x0 訂正不可能な最初のエ ラ ー ア ド レ ス レ ジ ス タ です。 0x2C4 UE_FFA[63:32](2) R 0x0 訂正不可能な最初のエ ラ ー ア ド レ ス レ ジ ス タ です。 0x300 FI_D[31:0](3) W 0x0 エ ラ ー挿入デー タ レ ジ ス タ です。 0x304 FI_D[63:32](3) W 0x0 エ ラ ー挿入デー タ レ ジ ス タ です。 0x308 FI_D[95:64](1)(3) W 0x0 エ ラ ー挿入デー タ レ ジ ス タ です。 0x30C FI_D[127:96](1)(3) W 0x0 エ ラ ー挿入デー タ レ ジ ス タ です。 0x380 FI_ECC(3) (0x2C8–0x2FC) 予約 (0x340–0x37C) 予約 W 0x0 エ ラ ー挿入 ECC レ ジ ス タ です。 注記 : 1. デー タ ビ ッ ト 64 ~ 127 は、 DQ 幅が 144 ビ ッ ト の場合のみ有効です。 2. ア ド レ ス ビ ッ ト 63 ~ 32 の レ ポー ト は、 ア ド レ ス マ ッ プが 32 ビ ッ ト を超え る 場合のみ利用で き ます。 3. FI_D* お よ び FI_ECC* は、 ECC_TEST パ ラ メ ー タ ーが 1 に設定 さ れてい る 場合のみ有効です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 86 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン AXI4-Lite ス レーブ制御/ス テー タ ス レ ジ ス タ マ ッ プの説明 ECC_STATUS こ の レ ジ ス タ は、 訂正可能なエ ラ ーお よ び訂正不可能なエ ラ ーの発生に関す る 情報を保持 し ます。 ス テー タ ス ビ ッ ト は各エ ラ ー タ イ プの最初の発生に対 し て独立 し て 1 にセ ッ ト さ れます。 ス テー タ ス ビ ッ ト は対応す る ビ ッ ト 位置に 1 を書き 込む こ と で ク リ ア さ れます。 つま り 、 レ ジ ス タ ビ ッ ト は 0 に ク リ アで き ますが、 レ ジ ス タ の書 き 込みに よ っ ては 1 にセ ッ ト で き ません。 ECC ス テー タ ス レ ジ ス タ は、 ECC 有効割 り 込みレ ジ ス タ と 独立 し て動作 し ます。 表 1-24 : ECC ス テー タ ス レ ジ ス タ (ECC_STATUS) 31 2 1 0 ECC_STATUS 予約 表 1-25 : ECC ス テー タ ス レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コア ア ク セス リセッ ト 値 説明 1 CE_STATUS R/W 0 1 の場合、 訂正可能なエ ラ ーが発生 し た こ と を示 し ます。 こ のビ ッ ト 位置 に 1 が書き 込まれ る と 、 ク リ ア さ れます。 0 UE_STATUS R/W 0 1 の場合、 訂正不可能なエ ラ ーが発生 し た こ と を示 し ます。 こ のビ ッ ト 位 置に 1 が書き 込まれ る と 、 ク リ ア さ れます。 ECC_EN_IRQ こ の レ ジ ス タ は、ECC ス テー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト お よ び UE_STATUS ビ ッ ト の値に よ っ て割 り 込み出 力信号 (ECC_Interrupt) を アサー ト す る か を決定 し ます。 CE_EN_IRQ お よ び UE_EN_IRQ の両方を 1 (有効) にセ ッ ト す る と 、 割 り 込み信号の値が CE_STATUS ビ ッ ト と UE_STATUS ビ ッ ト 間の ロ ジ ッ ク OR 値を取 り ます。 表 1-26 : ECC 割 り 込みイ ネーブル レ ジ ス タ (ECC_EN_IRQ) 31 2 1 0 ECC_EN_IRQ 予約 表 1-27 : ECC 割 り 込みイ ネーブル レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コア ア ク セス リセッ ト 値 1 CE_EN_IRQ R/W 0 1 の場合、 ECC ス テー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト の値が割 り 込 み信号 に 伝搬 さ れ ま す。 0 の 場合、 ECC ス テ ー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト の値は割 り 込み信号に伝搬 さ れません。 0 UE_EN_IRQ R/W 0 1 の場合、 ECC ス テー タ ス レ ジ ス タ の UE_STATUS ビ ッ ト の値が割 り 込 み信号 に 伝搬 さ れ ま す。 0 の 場合、 ECC ス テ ー タ ス レ ジ ス タ の UE_STATUS ビ ッ ト の値は割 り 込み信号に伝搬 さ れません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 説明 japan.xilinx.com 87 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ECC_ON_OFF ECC ON/OFF 制 御 レ ジ ス タ は、 ア プ リ ケ ー シ ョ ン に お け る ECC チ ェ ッ ク を 有効 ま た は 無効 に し ま す。 C_ECC_ONOFF_RESET_VALUE パ ラ メ ー タ ー (デフ ォ ル ト は ON) は ECC の有効/無効を示す リ セ ッ ト 値を決定 し ま す。 こ れに よ り 、 ECC が外部 メ モ リ で初期化 さ れた ま たは初期化 さ れていない と き の ス タ ー ト ア ッ プ動作が容易にな り ます。 無効の場合、 読み出 し の ECC チ ェ ッ ク が無効にな り ますが、 書き 込みでの ECC 生成は有効です。 表 1-28 : ECC ON/OFF 制御レ ジ ス タ (ECC_ON_OFF) 31 1 0 ECC_ON_OFF 予約 表 1-29 : ECC オン/オ フ制御レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コア ア ク セス 0 ECC_ON_OFF R/W リセッ ト値 説明 C_ECC_ONOFF_ RESET_VALUE パ ラ メ ー タ ーで指定 0 の場合、読み出 し の ECC チ ェ ッ ク が無効です。(C_ECC が 1 の 場合、 書 き 込みでの ECC 生成が有効) 1 の場合、 読み出 し の ECC チ ェ ッ ク が有効です。 訂正可能なエ ラ ーお よ び訂正不可能なエ ラ ーのすべての条件がキ ャ プチ ャ さ れ、 ス テー タ ス がア ッ プデー ト さ れます。 CE_CNT こ の レ ジ ス タ は、 訂正可能なエ ラ ーの発生数を数え ます。 書 き 込みに よ っ て、 レ ジ ス タ は ク リ ア ま たは任意の値にプ リ セ ッ ト さ れます。 カ ウ ン タ ーの最大値に達す る と 、 ラ ッ プア ラ ウ ン ド せず、 代わ り に イ ン ク リ メ ン ト を停止 し て最 大値を その ま ま保持 し ます。 カ ウ ン タ ーの幅は C_CE_COUNTER_WIDTH パ ラ メ ー タ ーの値で定義 し ます。 CE カ ウ ン タ ーの幅は 8 ビ ッ ト に固定 さ れてい ます。 表 1-30 : 訂正可能な エ ラ ー カ ウン ト レ ジ ス タ (CE_CNT) 31 8 7 0 CE_FFA[31:0] 予約 表 1-31 : 訂正可能なエ ラ ー カ ウン ト レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 7:0 CE_CNT R/W 0 訂正可能なエ ラ ーが発生 し た数を保持 し ます。 CE_FFA[31:0] こ の レ ジ ス タ は、 訂正可能なエ ラ ーが最初に発生 し た ア ド レ ス (ビ ッ ト [31:0]) を格納 し ます。 ECC ス テー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正可能なエ ラ ーのア ド レ ス を格納す る ために再 度有効にな り ます。 エ ラ ーが発生 し た ア ド レ ス の格納は リ セ ッ ト 後に有効にな り ます。 表 1-32 : 訂正可能な最初のエ ラ ー ア ド レ ス レ ジ ス タ (CE_FFA[31:0]) 31 0 CE_FFA[31:0] 表 1-33 : 訂正可能な最初のエ ラ ー ア ド レ ス [31:0] レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 CE_FFA[31:0] R 0 訂正可能なエ ラ ーが最初に発生 し た ア ド レ ス (ビ ッ ト [31:0]) です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 88 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン CE_FFA[63:32] 注記 : C_S_AXI_ADDR_WIDTH が 33 よ り も 小 さ い場合、 こ の レ ジ ス タ は使用 さ れません。 こ の レ ジ ス タ は、 訂正可能なエ ラ ーが最初に発生 し た ア ド レ ス (ビ ッ ト [63:32]) を格納 し ます。 ECC ス テー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正可能なエ ラ ーのア ド レ ス を格納す る ために再 度有効にな り ます。 エ ラ ーが発生 し た ア ド レ ス の格納は リ セ ッ ト 後に有効にな り ます。 表 1-34 : 訂正可能な最初のエ ラ ー ア ド レ ス レ ジ ス タ (CE_FFA[63:32]) 31 0 CE_FFA[63:32] 表 1-35 : 訂正可能な最初のエ ラ ー ア ド レ ス [63:32] レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 CE_FFA[63:32] R 0 訂正可能 な エ ラ ー が 最初 に 発生 し た ア ド レ ス ( ビ ッ ト [63:32]) です。 CE_FFD[31:0] こ の レ ジ ス タ は、 訂正可能なエ ラ ーが最初に発生 し た (訂正済み) エ ラ ー デー タ (ビ ッ ト [31:0]) を格納 し ま す。 ECC ス テー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正可能なエ ラ ーのデー タ を格納 す る ために再度有効にな り ます。 エ ラ ーが発生 し たデー タ の格納は リ セ ッ ト 後に有効にな り ます。 表 1-36 : 訂正可能な最初のエ ラ ー デー タ レ ジ ス タ (CE_FFD[31:0]) 31 0 CE_FFD[31:0] 表 1-37 : 訂正可能な最初のエ ラ ー デー タ [31:0] レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 CE_FFD[31:0] R 0 訂正可能 な エ ラ ー が 最初 に 発生 し た デー タ ( ビ ッ ト [31:0]) です。 CE_FFD[63:32] こ の レ ジ ス タ は、 訂正可能なエ ラ ーが最初に発生 し た (訂正済み) エ ラ ー デー タ (ビ ッ ト [63:32]) を格納 し ます。 ECC ス テー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正可能なエ ラ ーのデー タ を格納 す る ために再度有効にな り ます。 エ ラ ーが発生 し たデー タ の格納は リ セ ッ ト 後に有効にな り ます。 表 1-38 : 訂正可能な最初のエ ラ ー デー タ レ ジ ス タ (CE_FFD[63:32]) 31 0 CE_FFD[63:32] 表 1-39 : 訂正可能な最初のエ ラ ー デー タ [63:32] レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 CE_FFD[63:32] R 0 訂正可能 な エ ラ ー が 最初 に 発生 し た デー タ ( ビ ッ ト [63:32]) です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 89 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン CE_FFD[95:64] 注記 : こ の レ ジ ス タ は、 DQ_WIDTH が 144 の場合のみ有効です。 こ の レ ジ ス タ は、 訂正可能なエ ラ ーが最初に発生 し た (訂正済み) エ ラ ー デー タ (ビ ッ ト [95:64]) を格納 し ます。 ECC ス テー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正可能なエ ラ ーのデー タ を格納 す る ために再度有効にな り ます。 エ ラ ーが発生 し たデー タ の格納は リ セ ッ ト 後に有効にな り ます。 表 1-40 : 訂正可能な最初のエ ラ ー デー タ レ ジ ス タ (CE_FFD[95:64]) 31 0 CE_FFD[95:64] 表 1-41 : 訂正可能な最初のエ ラ ー デー タ [95:64] レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 CE_FFD[95:64] R 0 訂正可能 な エ ラ ー が 最初 に 発生 し た デー タ ( ビ ッ ト [95:64]) です。 CE_FFD[127:96] 注記 : こ の レ ジ ス タ は、 DQ_WIDTH が 144 の場合のみ有効です。 こ の レ ジ ス タ は、 訂正可能なエ ラ ーが最初に発生 し た (訂正済み) エ ラ ー デー タ (ビ ッ ト [127:96]) を格納 し ます。 ECC ス テー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正可能なエ ラ ーのデー タ を格納 す る ために再度有効にな り ます。 エ ラ ーが発生 し たデー タ の格納は リ セ ッ ト 後に有効にな り ます。 表 1-42 : 訂正可能な最初のエ ラ ー デー タ レ ジ ス タ (CE_FFD[127:96]) 31 0 CE_FFD[127:96] 表 1-43 : 訂正可能な最初のエ ラ ー デー タ [127:96] レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 CE_FFD [127:96] R 0 訂正可能 な エ ラ ー が 最初 に 発生 し た デー タ ( ビ ッ ト [127:96]) です。 CE_FFE こ の レ ジ ス タ は、 訂正可能 な エ ラ ーが最初に発生 し た ECC ビ ッ ト を 格納 し ま す。 ECC ス テ ー タ ス レ ジ ス タ の CE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正可能なエ ラ ーの ECC を格納す る ために再度有効にな り ます。 エ ラ ーが発生 し た ECC の格納は リ セ ッ ト 後に有効にな り ます。 表 1-44 お よ び表 1-45 に、 DQ_WIDTH が 72 の と き の レ ジ ス タ ビ ッ ト の使用を示 し ます。 表 1-44 : 72 ビ ッ ト 外部 メ モ リ 幅用の 訂正可能な最初の ECC エ ラ ー レ ジ ス タ (CE_FFE) 31 8 7 0 CE_FFE 予約 表 1-45 : 72 ビ ッ ト 外部 メ モ リ 幅用の訂正可能な最初の ECC エ ラ ー レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 7:0 CE_FFE R 0 訂正可能なエ ラ ーが最初に発生 し た ECC (ビ ッ ト [7:0]) です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 90 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-46 お よ び表 1-47 に、 DQ_WIDTH が 144 の と き の レ ジ ス タ ビ ッ ト の使用を示 し ます。 表 1-46 : 144 ビ ッ ト 外部 メ モ リ 幅用の 訂正可能な最初の ECC エ ラ ー レ ジ ス タ (CE_FFE) 31 16 15 0 CE_FFE 予約 表 1-47 : 144 ビ ッ ト 外部 メ モ リ 幅用の訂正可能な最初の ECC エ ラ ー レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 15:0 CE_FFE R 0 訂正可能なエ ラ ーが最初に発生 し た ECC (ビ ッ ト [15:0]) です。 UE_FFA[31:0] こ の レ ジ ス タ は、 訂正不可能なエ ラ ーが最初に発生 し た ア ド レ ス (ビ ッ ト [31:0]) を格納 し ま す。 ECC ス テー タ ス レ ジ ス タ の UE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正不可能なエ ラ ーのア ド レ ス を格納す る ため に再度有効にな り ます。 エ ラ ーが発生 し た ア ド レ ス の格納は リ セ ッ ト 後に有効にな り ます。 表 1-48 : 訂正不可能な最初のエ ラ ー デー タ レ ジ ス タ (UE_FFA[31:0]) 31 0 UE_FFA[31:0] 表 1-49 : 訂正可能な最初のエ ラ ー ア ド レ ス [31:0] レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 UE_FFA [31:0] R 0 訂正不可能なエ ラ ーが最初に発生 し た ア ド レ ス (ビ ッ ト [31:0]) です。 UE_FFA[63:32] 注記 : C_S_AXI_ADDR_WIDTH が 33 よ り も 小 さ い場合、 こ の レ ジ ス タ は使用 さ れません。 こ の レ ジ ス タ は、 訂正不可能なエ ラ ーが最初に発生 し た ア ド レ ス (ビ ッ ト [63:32]) を格納 し ます。 ECC ス テー タ ス レ ジ ス タ の UE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正不可能なエ ラ ーのア ド レ ス を格納す る ため に再度有効にな り ます。 エ ラ ーが発生 し た ア ド レ ス の格納は リ セ ッ ト 後に有効にな り ます。 表 1-50 : 訂正不可能な最初のエ ラ ー デー タ レ ジ ス タ (UE_FFA[63:32]) 31 0 UE_FFA[63:32] 表 1-51 : 訂正可能な最初のエ ラ ー ア ド レ ス [31:0] レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 UE_FFA[63:32] R 0 訂正不可能なエ ラ ーが最初に発生 し た ア ド レ ス (ビ ッ ト [63:32]) です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 91 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン UE_FFD[31:0] こ の レ ジ ス タ は、 訂正不可能なエ ラ ーが最初に発生 し た (未訂正の) エ ラ ー デー タ (ビ ッ ト [31:0]) を格納 し ます。 ECC ス テー タ ス レ ジ ス タ の UE_STATUS ビ ッ ト が ク リ ア さ れ る と 、こ の レ ジ ス タ は次の訂正不可能なエ ラ ーのデー タ を格 納す る ために再度有効にな り ます。 エ ラ ーが発生 し たデー タ の格納は リ セ ッ ト 後に有効にな り ます。 表 1-52 : 訂正不可能な最初のエ ラ ー デー タ レ ジス タ (UE_FFD[31:0]) 31 0 UE_FFD[31:0] 表 1-53 : 訂正不可能な最初のエ ラ ー デー タ [31:0] レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 UE_FFD[31:0] R 0 訂正不可能 な エ ラ ーが最初に発生 し た デー タ ( ビ ッ ト [31:0]) です。 UE_FFD[63:32] こ の レ ジ ス タ は、訂正不可能なエ ラ ーが最初に発生 し た (未訂正の) エ ラ ー デー タ (ビ ッ ト [63:32]) を格納 し ます。ECC ス テー タ ス レ ジ ス タ の UE_STATUS ビ ッ ト が ク リ ア さ れ る と 、こ の レ ジ ス タ は次の訂正不可能なエ ラ ーのデー タ を格 納す る ために再度有効にな り ます。 エ ラ ーが発生 し たデー タ の格納は リ セ ッ ト 後に有効にな り ます。 表 1-54 : 訂正不可能な最初のエ ラ ー デー タ レ ジ ス タ (UE_FFD[63:32]) 31 0 UE_FFD[63:32] 表 1-55 : 訂正不可能な最初のエ ラ ー デー タ [63:32] レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 UE_FFD [63:32] R 0 訂正不可能 な エ ラ ーが最初に発生 し た デー タ ( ビ ッ ト [63:32]) です。 UE_FFD[95:64] 注記 : こ の レ ジ ス タ は、 DQ_WIDTH が 144 の場合のみ有効です。 こ の レ ジ ス タ は、訂正不可能なエ ラ ーが最初に発生 し た (未訂正の) エ ラ ー デー タ (ビ ッ ト [95:64]) を格納 し ます。ECC ス テー タ ス レ ジ ス タ の UE_STATUS ビ ッ ト が ク リ ア さ れ る と 、こ の レ ジ ス タ は次の訂正不可能なエ ラ ーのデー タ を格 納す る ために再度有効にな り ます。 エ ラ ーが発生 し たデー タ の格納は リ セ ッ ト 後に有効にな り ます。 表 1-56 : 訂正不可能な最初のエ ラ ー デー タ レ ジス タ (UE_FFD[95:64]) 31 0 UE_FFD[95:64] 表 1-57 : 訂正不可能な最初のエ ラ ー デー タ [95:64] レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 UE_FFD[95:64] R 0 訂正不可能 な エ ラ ーが最初に発生 し た デー タ ( ビ ッ ト [95:64]) です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 92 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン UE_FFD[127:96] 注記 : こ の レ ジ ス タ は、 DQ_WIDTH が 144 の場合のみ有効です。 こ の レ ジ ス タ は、 訂正不可能な エ ラ ーが最初に発生 し た (未訂正の) エ ラ ー デー タ (ビ ッ ト [127:96]) を格納 し ま す。 ECC ス テー タ ス レ ジ ス タ の UE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正不可能なエ ラ ーのデー タ を格納す る ために再度有効にな り ます。 エ ラ ーが発生 し たデー タ の格納は リ セ ッ ト 後に有効にな り ます。 表 1-58 : 訂正不可能な最初のエ ラ ー デー タ レ ジ ス タ (UE_FFD[127:96]) 31 0 UE_FFD[127:96] 表 1-59 : 訂正不可能な最初のエ ラ ー デー タ [127:96] レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 UE_FFD[127:96] R 0 訂正不可能 な エ ラ ーが最初に発生 し た デー タ ( ビ ッ ト [127:96]) です。 UE_FFE こ の レ ジ ス タ は、 訂正不可能な エ ラ ーが最初に発生 し た ECC ビ ッ ト を 格納 し ま す。 ECC ス テー タ ス レ ジ ス タ の UE_STATUS ビ ッ ト が ク リ ア さ れ る と 、 こ の レ ジ ス タ は次の訂正不可能なエ ラ ーの ECC を格納す る ために再度有効に な り ます。 エ ラ ーが発生 し た ECC の格納は リ セ ッ ト 後に有効にな り ます。 表 1-60 お よ び表 1-61 に、 DQ_WIDTH が 72 の と き の レ ジ ス タ ビ ッ ト の使用を示 し ます。 表 1-60 : 外部 メ モ リ 幅が 72 ビ ッ ト の訂正不可能な最初の ECC エ ラ ー レ ジ ス タ (UE_FFE) 31 8 7 0 UE_FFE 予約 表 1-61 : 72 ビ ッ ト 外部 メ モ リ 幅用の訂正不可能な最初の ECC エ ラ ー レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 7:0 UE_FFE R 0 訂正不可能 な エ ラ ー が 最初 に 発生 し た ECC ( ビ ッ ト [7:0]) です。 表 1-62 お よ び表 1-63 に、 DQ_WIDTH が 144 の と き の レ ジ ス タ ビ ッ ト の使用を示 し ます。 表 1-62 : 外部 メ モ リ 幅が 144 ビ ッ ト の訂正不可能な最初の ECC エ ラ ー レ ジス タ (UE_FFE) 31 16 15 0 UE_FFE 予約 表 1-63 : 144 ビ ッ ト 外部 メ モ リ 幅用の訂正不可能な最初の ECC エ ラ ー レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 15:0 UE_FFE R 0 訂正不可能 な エ ラ ー が 最初 に 発生 し た ECC ( ビ ッ ト [15:0]) です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 93 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン FI_D0 こ の レ ジ ス タ は、 メ モ リ に書 き 込まれ る デー タ (ビ ッ ト [31:0]) にエ ラ ーを挿入する ために使用 し 、 誤 り 訂正お よ びエ ラ ー信号のテ ス ト に も 利用で き ます。 こ の レ ジ ス タ にセ ッ ト さ れ る ビ ッ ト は、 書 き 込ま れ る ECC ビ ッ ト に影響を与 え る こ と な く メ モ リ へ書 き 込 ま れ る 後続デー タ の関連す る デー タ ビ ッ ト ( ワ ー ド 0 ま たは ビ ッ ト [31:0]) を ト グル し ます。 エ ラ ーの挿入後、 エ ラ ー挿入デー タ レ ジ ス タ が自動的に ク リ ア さ れます。 こ の レ ジ ス タ は、 Vivado IP カ タ ロ グ の MIG デザ イ ン で C_ECC_TEST が ON ま たは ECC_TEST_FI_XOR が ON で、 ECC が ON に設定 さ れた場合にのみ実装 さ れます。 エ ラ ーの挿入は、 ソ フ ト ウ ェ アの ク リ テ ィ カルな領域で実行す る 必要があ り ます。 つま り 、 こ の レ ジ ス タ への書 き 込 みお よ びそれに続 く メ モ リ への書 き 込みは中断 さ れない よ う に し ます。 表 1-64 : エ ラ ー挿入デー タ レ ジ ス タ (FI_D0) 31 0 FI_D0 表 1-65 : エ ラ ー挿入デー タ (ワー ド 0) レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 FI_D0 W 0 1 にセ ッ ト さ れた ビ ッ ト 位置は、 メ モ リ へ書 き 込ま れ る 次のデー タ ワ ー ド の関連する ビ ッ ト [31:0] を ト グル し ます。 こ の レ ジ ス タ は、 エ ラ ーの挿入後に自動的に ク リ ア さ れます。 FI_D0、 FI_D1、 FI_D2、 お よ び FI_D3 では 1 つのエ ラ ー条件のみが適用 さ れ る よ う に配慮す る 必要があ り ます。 FI_D1 こ の レ ジ ス タ は、 メ モ リ に書 き 込 ま れ る デー タ (ビ ッ ト [63:32]) にエ ラ ーを挿入す る ために使用 し 、 誤 り 訂正お よ び エ ラ ー信号のテ ス ト に も 利用で き ます。 こ の レ ジ ス タ にセ ッ ト さ れ る ビ ッ ト は、 書 き 込ま れ る ECC ビ ッ ト に影響を 与え る こ と な く メ モ リ へ書 き 込まれ る 後続デー タ の関連する デー タ ビ ッ ト ( ワ ー ド 1 ま たはビ ッ ト [63:32]) を ト グル し ます。 エ ラ ーの挿入後、 エ ラ ー挿入デー タ レ ジ ス タ が自動的に ク リ ア さ れます。 こ の レ ジ ス タ は、 Vivado IP カ タ ロ グ の MIG デザ イ ン で C_ECC_TEST が ON ま たは ECC_TEST_FI_XOR が ON で、 ECC が ON に設定 さ れた場合にのみ実装 さ れます。 エ ラ ーの挿入は、 ソ フ ト ウ ェ アの ク リ テ ィ カルな領域で実行す る 必要があ り ます。 つま り 、 こ の レ ジ ス タ への書 き 込 みお よ びそれに続 く メ モ リ への書 き 込みは中断 さ れない よ う に し ます。 表 1-66 : エ ラ ー挿入デー タ レ ジ ス タ (FI_D1) 31 0 FI_D1 表 1-67 : エ ラ ー挿入デー タ (ワー ド 1) レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 FI_D1 W 0 1 にセ ッ ト さ れた ビ ッ ト 位置は、 メ モ リ へ書 き 込ま れ る 次のデー タ ワ ー ド の関連す る ビ ッ ト [63:32] を ト グル し ます。 こ の レ ジ ス タ は、 エ ラ ーの挿入後に自動的に ク リ ア さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 94 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン FI_D2 注記 : こ の レ ジ ス タ は、 DQ_WIDTH が 144 の場合のみ有効です。 こ の レ ジ ス タ は、 メ モ リ に書 き 込 ま れ る デー タ (ビ ッ ト [95:64]) にエ ラ ーを挿入す る ために使用 し 、 誤 り 訂正お よ び エ ラ ー信号のテ ス ト に も 利用で き ます。 こ の レ ジ ス タ にセ ッ ト さ れ る ビ ッ ト は、 書 き 込ま れ る ECC ビ ッ ト に影響を 与え る こ と な く メ モ リ へ書 き 込まれ る 後続デー タ の関連する デー タ ビ ッ ト ( ワ ー ド 2 ま たはビ ッ ト [95:64]) を ト グル し ます。 エ ラ ーの挿入後、 エ ラ ー挿入デー タ レ ジ ス タ が自動的に ク リ ア さ れます。 こ の レ ジ ス タ は、 Vivado IP カ タ ロ グ の MIG デザ イ ン で C_ECC_TEST が ON ま たは ECC_TEST_FI_XOR が ON で、 ECC が ON に設定 さ れた場合にのみ実装 さ れます。 エ ラ ーの挿入は、 ソ フ ト ウ ェ アの ク リ テ ィ カルな領域で実行す る 必要があ り ます。 つま り 、 こ の レ ジ ス タ への書 き 込 みお よ びそれに続 く メ モ リ への書 き 込みは中断 さ れない よ う に し ます。 表 1-68 : エ ラ ー挿入デー タ レ ジ ス タ (FI_D2) 31 0 FI_D2 表 1-69 : エ ラ ー挿入デー タ (ワー ド 2) レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 FI_D2 W 0 1 にセ ッ ト さ れた ビ ッ ト 位置は、 メ モ リ へ書 き 込 ま れ る 次のデー タ ワ ー ド の関連す る ビ ッ ト [95:64] を ト グル し ま す。 こ の レ ジ ス タ は、 エ ラ ーの挿入後に自動的に ク リ ア さ れます。 FI_D0、 FI_D1、 FI_D2、 お よ び FI_D3 では 1 つのエ ラ ー条件のみが適用 さ れ る よ う に配慮す る 必要があ り ます。 FI_D3 注記 : こ の レ ジ ス タ は、 DQ_WIDTH が 144 の場合のみ有効です。 こ の レ ジ ス タ は、 メ モ リ に書 き 込まれ る デー タ (ビ ッ ト [127:96]) にエ ラ ーを挿入する ために使用 し 、 誤 り 訂正お よ び エ ラ ー信号のテ ス ト に も 利用で き ます。 こ の レ ジ ス タ にセ ッ ト さ れ る ビ ッ ト は、 書 き 込ま れ る ECC ビ ッ ト に影響を 与え る こ と な く メ モ リ へ書 き 込 ま れ る 後続デー タ の関連す る デー タ ビ ッ ト ( ワ ー ド 3 ま たはビ ッ ト [127:96]) を ト グ ル し ます。 エ ラ ーの挿入後、 エ ラ ー挿入デー タ レ ジ ス タ が自動的に ク リ ア さ れます。 こ の レ ジ ス タ は、 Vivado IP カ タ ロ グ の MIG デザ イ ン で C_ECC_TEST が ON ま たは ECC_TEST_FI_XOR が ON で、 ECC が ON に設定 さ れた場合にのみ実装 さ れます。 エ ラ ーの挿入は、 ソ フ ト ウ ェ アの ク リ テ ィ カルな領域で実行す る 必要があ り ます。 つま り 、 こ の レ ジ ス タ への書 き 込 みお よ びそれに続 く メ モ リ への書 き 込みは中断 さ れない よ う に し ます。 表 1-70 : エ ラ ー挿入デー タ レ ジ ス タ (FI_D3) 31 0 FI_D3 表 1-71 : エ ラ ー挿入デー タ (ワー ド 3) レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 31:0 FI_D3 W 0 1 にセ ッ ト さ れた ビ ッ ト 位置は、 メ モ リ へ書 き 込ま れ る 次のデー タ ワ ー ド の関連す る ビ ッ ト [127:96] を ト グル し ます。 こ の レ ジ ス タ は、 エ ラ ーの挿入後に自動的に ク リ ア さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 95 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン FI_ECC こ の レ ジ ス タ は、 メ モ リ に書 き 込ま れ る 生成 さ れた ECC にエ ラ ーを挿入す る ために使用 し 、 誤 り 訂正お よ びエ ラ ー 信号のテ ス ト に も 利用で き ます。 こ の レ ジ ス タ にセ ッ ト さ れ る ビ ッ ト は、 メ モ リ へ書 き 込まれ る 次のデー タ の関連す る ECC ビ ッ ト を ト グル し ます。 エ ラ ーの挿入後、 エ ラ ー挿入 ECC レ ジ ス タ が自動的に ク リ ア さ れます。 こ の レ ジ ス タ は、 Vivado IP カ タ ロ グ の MIG デザ イ ン で C_ECC_TEST が ON ま たは ECC_TEST_FI_XOR が ON で、 ECC が ON に設定 さ れた場合にのみ実装 さ れます。 エ ラ ーの挿入は、 ソ フ ト ウ ェ アの ク リ テ ィ カルな領域で実行す る 必要があ り ます。 つま り 、 こ の レ ジ ス タ への書 き 込 みお よ びそれに続 く メ モ リ への書 き 込みは中断 さ れない よ う に し ます。 表 1-72 お よ び表 1-73 に、 DQ_WIDTH が 72 の と き の レ ジ ス タ ビ ッ ト の使用を示 し ます。 表 1-72 : 72 ビ ッ ト 外部 メ モ リ 幅のエ ラ ー挿入 ECC レ ジ ス タ (FI_ECC) 31 8 7 0 FI_ECC 予約 表 1-73 : 72 ビ ッ ト 外部 メ モ リ 幅のエ ラ ー挿入 ECC レ ジ ス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 7:0 FI_ECC W 0 1 にセ ッ ト さ れた ビ ッ ト 位置は、 メ モ リ へ書 き 込 ま れ る 次の ECC の関連す る ビ ッ ト を ト グル し ま す。 こ の レ ジ ス タ は、 エ ラ ーの挿入後に自動的に ク リ ア さ れます。 表 1-74 お よ び表 1-75 に、 DQ_WIDTH が 144 の と き の レ ジ ス タ ビ ッ ト の使用を示 し ます。 表 1-74 : 144 ビ ッ ト 外部 メ モ リ 幅のエ ラ ー挿入 ECC レ ジ ス タ (FI_ECC) 31 16 15 0 FI_ECC 予約 表 1-75 : 144 ビ ッ ト 外部 メ モ リ 幅のエ ラ ー挿入 ECC レ ジス タ のビ ッ ト 定義 ビッ ト 名前 コ ア ア ク セス リセッ ト値 説明 15:0 FI_ECC W 0 1 にセ ッ ト さ れた ビ ッ ト 位置は、 メ モ リ へ書 き 込 ま れ る 次の ECC の関連す る ビ ッ ト を ト グル し ます。 こ の レ ジ ス タ は、 エ ラ ーの挿入後に自動的に ク リ ア さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 96 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー イ ン タ ー フ ェ イ ス ブ ロ ッ ク UI ブ ロ ッ ク は、 ユーザー デザ イ ンへのユーザー イ ン タ ーフ ェ イ ス を提供 し ます。 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に代 わ る シ ンプルな イ ン タ ーフ ェ イ ス を提供 し ます。 UI ブ ロ ッ ク の機能は次の と お り です。 • 読み出 し /書 き 込みデー タ をバ ッ フ ァ ーす る • 要求順 と 一致す る よ う に、 読み出 し リ タ ーン デー タ の順序を並べ替え • フ ラ ッ ト ア ド レ ス空間であ り 、 それを SDRAM ア ド レ ス空間に変換 ネイテ ィ ブ イ ン ターフ ェ イス ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス は FPGA ユーザー デザ イ ン と 接続 し 、 外部の メ モ リ デバ イ スへのア ク セ ス を可能に し ます。 コ マ ン ド 要求信号 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス には、 メ モ リ コ ン ト ロ ー ラ ーか ら メ モ リ デバ イ スへの読み出 し /書 き 込み コ マ ン ド を要 求す る ための信号があ り ます。 表 1-76 に、 こ れ ら の信号を ま と め ます。 表 1-76 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの コ マ ン ド 信号 信号 方向 説明 accept 出力 最後のサ イ ク ルで駆動 さ れた要求を メ モ リ イ ン タ ーフ ェ イ ス が受け取っ た こ と を 示 し ます。 bank[2:0] 入力 現在の要求のバン ク を選択 し ます。 bank_mach_next[] 出力 予約済みです。 未接続に し ます。 cmd[2:0] 入力 現在の要求の コ マ ン ド を選択 し ます。 col[COL_WIDTH – 1:0] 入力 現在の要求の列ア ド レ ス を選択 し ます。 data_buf_addr[7:0] 入力 メ モ リ コ ン ト ロ ー ラ ーが次を実行す る 際のデー タ バ ッ フ ァ ー ア ド レ ス を示 し ま す。 • 書 き 込みコ マ ン ド 処理で、 デー タ を見つけ る 位置 • 読み出 し コ マ ン ド 処理で、 デー タ を配置す る 位置 hi_priority 入力 予約済みです。 ロ ジ ッ ク 0 に接続 し ます。 rank[] 入力 予約済みです。 ロ ジ ッ ク 0 に接続 し ます。 row[ROW_WIDTH – 1:0] 入力 現在の要求の行ア ド レ ス を選択 し ます。 use_addr 入力 前ス テー ト で駆動 さ れた要求情報が有効であ る こ と を示すために、 ユーザー デザ イ ンは こ の信号を ス ト ロ ーブ し ます。 バン ク 、 行お よ び列情報に よ っ て、 読み出 し /書 き 込み先 と な る メ モ リ デバ イ ス の タ ーゲ ッ ト ア ド レ ス が決定 さ れま す。 コ マ ン ド は、 コ アへの cmd[2:0] 入力を使用 し て指定 し ます。 表 1-77 に、 有効な読み出 し /書 き 込み コ マ ン ド を示 し ます。 表 1-77 : メ モ リ イ ン タ ー フ ェ イ ス コ マ ン ド 動作 cmd[2:0] コ ー ド メ モ リ の書 き 込み 000 メ モ リ の読み出 し 001 予約 その他すべての コ ー ド Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 97 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン accept 要求を コ アが受け取っ た こ と を ユーザー デザ イ ンに示 し ます。 こ の信号がアサー ト さ れた場合、 最後のサ イ ク ルで要 求 さ れた コ マ ン ド が受信 さ れた こ と を示 し ます。 ユーザー デザ イ ンは次の要求を発行す る か、 ア イ ド ル ス テー ト へ 遷移で き ます。 こ の信号がデ ィ アサー ト さ れた場合は、 最後のサ イ ク ルで要求 さ れた コ マ ン ド が受信 さ れなか っ た こ と を示 し 、 同 じ 要求を再送す る 必要があ り ます。 use_addr こ の信号は、 前サ イ ク ルでネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に与え ら れた要求を ス ト ロ ーブす る 場合に、 ユーザー デザ イ ンに よ っ てアサー ト さ れます。 data_buf_addr ユーザー デザ イ ンには、読み出 し /書 き 込み コ マ ン ド で使用 さ れ る デー タ を格納す る バ ッ フ ァ ーが必要です。ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に要求が提示 さ れ る と 、 ユーザー デザ イ ンが要求を処理す る バ ッ フ ァ ー内の位置を指示す る 必 要があ り ま す。 書 き 込み コ マ ン ド の場合、 data_buf_addr は外部 メ モ リ へ書 き 込ま れ る ソ ース デー タ を含むバ ッ フ ァ ーのア ド レ ス と な り ま す。 一方、 読み出 し コ マ ン ド の場合は、 外部 メ モ リ か ら 読み出 さ れたデー タ を受信す る バ ッ フ ァ ーのア ド レ ス と な り ます。 要求の処理時に、 コ アが こ のア ド レ ス を エ コ ー バ ッ ク し ます。 書き込み コ マ ン ド 信号 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス は、 メ モ リ コ ン ト ロ ー ラ ーが書 き 込み コ マ ン ド を処理す る 際に使用す る 一連の信号を 提供 し ます (表 1-78)。 こ れ ら の信号は、 ユーザー デザ イ ンのバ ッ フ ァ ーの制御、 ア ド レ ス、 お よ びデー タ 信号へ接続 し てい ます。 表 1-78 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの書き込み コ マ ン ド 信号 信号 方向 説明 wr_data[2 × nCK_PER_CLK × PAYLOAD_WIDTH – 1:0] 入力 書 き 込み コ マ ン ド の入力デー タ です。 wr_data_addr [DATA_BUF_ADDR_WIDTH – 1:0] 出力 書 き 込み コ マ ン ド に対す る ソ ー ス デー タ バ ッ フ ァ ーのベース ア ド レ ス です。 wr_data_mask[2 × nCK_PER_CLK × DATA_WIDTH/8 – 1:0] 入力 書 き 込みデー タ のバ イ ト イ ネーブル入力です。 wr_data_en 出力 書 き 込み コ マ ン ド に対 し て、 メ モ リ イ ン タ ー フ ェ イ ス がデー タ バ ッ フ ァ ーか ら デー タ を 読 み出 し てい る こ と を示す出力です。 wr_data_offset[0:0] 出力 書 き 込み コ マ ン ド に対す る ソ ー ス デー タ バ ッ フ ァ ーのオ フ セ ッ ト 値を示 し ます。 wr_data こ のバ ス は、 外部 メ モ リ へ書 き 込まれ る デー タ です。 ユーザー デザ イ ンのバ ッ フ ァ ーのデー タ 出力へ接続で き ます。 wr_data_addr こ のバ ス は、 現在の書 き 込み要求が提示 さ れた と き の data_buf_addr のエ コ ーです。 wr_data_offset 信号 と 組 み合わせて、 ユーザー デザ イ ンのバ ッ フ ァ ーのア ド レ ス入力に適用で き ます。 wr_data_mask こ のバ ス は、 現時点で外部 メ モ リ へ書 き 込 ま れてい る デー タ のバ イ ト イ ネーブル (デー タ マ ス ク ) です。 対応す る wr_data_mask 信号がデ ィ アサー ト さ れ る と 、 メ モ リ のバ イ ト が書 き 込まれます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 98 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン wr_data_en こ の信号がアサー ト さ れてい る 場合は、 書き 込みコ マ ン ド に対 し て、 コ アがユーザー デザ イ ンか ら デー タ を読み出 し てい る こ と を示 し ます。 こ れは、 ユーザー デザ イ ンのバ ッ フ ァ ーのチ ッ プ セ レ ク ト 信号へ接続で き ます。 wr_data_offset こ のバ ス は、 バース ト 長が 1 サ イ ク ル以上の処理を必要 と する と き に、 デー タ バ ッ フ ァ ーに順にア ク セ スす る ために 使用 し ます。 wr_data_addr と 組み合わせて、 ユーザー デザ イ ンのバ ッ フ ァ ーのア ド レ ス入力へ適用で き ます。 読み出 し コ マ ン ド 信号 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス は、 メ モ リ コ ン ト ロ ー ラ ーが読み出 し コ マ ン ド を処理す る 際に使用す る 一連の信号を 提供 し ます (表 1-79)。 こ れ ら の信号は、 メ モ リ デバ イ ス か ら ユーザー デザ イ ンのバ ッ フ ァ ーへデー タ を転送 し ます。 それ以外は書 き 込み コ マ ン ド 処理の信号 と 同 じ です。 表 1-79 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの読み出 し コ マ ン ド 信号 信号 方向 説明 rd_data[2 × nCK_PER_CLK × PAYLOAD_WIDTH – 1:0] 出力 読み出 し コ マ ン ド か ら の出力デー タ です。 rd_data_addr[DATA_BUF_ADDR_WIDTH – 1:0] 出力 読み出 し コ マ ン ド に対する 、デス テ ィ ネーシ ョ ン バ ッ フ ァ ーのベース ア ド レ ス を示す出力です。 rd_data_en 出力 rd_data バ ス に有効な読み出 し デー タ が あ る こ と を示 し ます。 rd_data_offset[1:0] 出力 読み出 し コ マ ン ド に対する 、デス テ ィ ネーシ ョ ン バ ッ フ ァ ーのオ フ セ ッ ト 値を示 し ます。 rd_data こ のバ ス は、 外部 メ モ リ か ら 読み出 さ れたデー タ です。 ユーザー デザ イ ン内にあ る バ ッ フ ァ ーのデー タ 入力へ接続で き ます。 rd_data_addr こ のバ ス は、 現在の読み出 し 要求が提示 さ れた と き の data_buf_addr のエ コ ーです。 rd_data_offset 信号 と 組 み合わせて、 ユーザー デザ イ ンのバ ッ フ ァ ーのア ド レ ス入力に適用で き ます。 rd_data_en 読み出 し 要求に対 し て、rd_data に有効な読み出 し デー タ があ る こ と を示 し ます。 こ れは、ユーザー デザ イ ンのバ ッ フ ァ ーのチ ッ プ セ レ ク ト お よ び ラ イ ト イ ネーブル信号に接続で き ます。 rd_data_offset こ のバ ス は、 バース ト 長が 1 サ イ ク ル以上の処理を必要 と する と き に、 デー タ バ ッ フ ァ ーに順にア ク セ スす る ために 使用 し ます。 rd_data_addr 信号 と 組み合わせて、 ユーザー デザ イ ンのバ ッ フ ァ ーのア ド レ ス入力へ適用で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 99 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの メ ン テナ ン ス コ マ ン ド 信号 表 1-80 に、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス の メ ン テナン ス コ マ ン ド 信号を示 し ます。 表 1-80 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの メ ン テナン ス コ マ ン ド 信号 信号 方向 説明 app_sr_req 入力 予約済みです。 0 に接続 し ます。 app_sr_active 出力 予約済みです。 app_ref_req 入力 リ フ レ ッ シ ュ コ マ ン ド が DRAM へ発行 さ れ る よ う に要求す る 、 ア ク テ ィ ブ High の 入力です。 app_ref_ack 出力 メ モ リ コ ン ト ロ ー ラ ーが要求 さ れた リ フ レ ッ シ ュ コ マ ン ド を PHY イ ン タ ーフ ェ イ スへ送信 し た こ と を示す、 ア ク テ ィ ブ High の出力です。 app_zq_req 入力 ZQ キ ャ リ ブ レーシ ョ ン コ マ ン ド が DRAM へ発行 さ れ る よ う に要求する 、 ア ク テ ィ ブ High の入力です。 app_zq_ack 出力 メ モ リ コ ン ト ロ ー ラ ーが要求 さ れた ZQ キ ャ リ ブ レーシ ョ ン コ マ ン ド を PHY イ ン タ ーフ ェ イ スへ送信 し た こ と を示す、 ア ク テ ィ ブ High の出力です。 app_ref_req ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 メ モ リ コ ン ト ロ ー ラ ーが DRAM へ リ フ レ ッ シ ュ コ マ ン ド を発行す る よ う に要求 し ます。 要求す る には、 こ の信号を 1 サ イ ク ル間パルスす る 必要があ り 、 少な く と も 要求が認識 さ れて 送信 さ れた こ と を示す app_ref_ack 信号がアサー ト さ れ る ま でデ ィ アサー ト さ れます。 app_ref_ack ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 リ フ レ ッ シ ュ 要求を認識 し て コ マ ン ド が メ モ リ コ ン ト ロ ー ラ ーか ら PHY へ送信 さ れた こ と を示 し ます。 app_zq_req ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 メ モ リ コ ン ト ロ ー ラ ーが DRAM へ ZQ キ ャ リ ブ レーシ ョ ン コ マ ン ド を発行す る よ う に要求 し ます。 要求す る には、 こ の信号を 1 サ イ ク ル間パルスす る 必要があ り 、 少な く と も 要求が 認識 さ れて送信 さ れた こ と を示す app_zq_ack 信号がアサー ト さ れ る ま でデ ィ アサー ト さ れます。 app_zq_ack ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、ZQ キ ャ リ ブ レーシ ョ ン要求を認識 し て コ マ ン ド が メ モ リ コ ン ト ロ ー ラ ーか ら PHY へ送信 さ れた こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 100 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ク ロ ッ キング アーキテ ク チ ャ PHY デザ イ ンでは、PLL モジ ュ ールを使用 し て さ ま ざ ま な ク ロ ッ ク を生成す る 必要があ り 、 ク ロ ッ ク をデザ イ ン全体 に分配す る ために、 グ ロ ーバル ク ロ ッ ク ネ ッ ト ワー ク と ロ ーカル ク ロ ッ ク ネ ッ ト ワー ク の両方を使用 し ます。 PHY は さ ら に、 PLL と 同 じ バン ク に MMCM を 1 つ必要 と し ます。 MMCM に よ っ て、 BUFG か ら PHY の挿入遅延を補正 し ます。 ク ロ ッ ク の生成お よ び分配回路 と ネ ッ ト ワ ー ク は PHY 内部のブ ロ ッ ク を駆動 し ま す。 こ れ ら のブ ロ ッ ク は、 次の 4 つの機能に大別 さ れます。 • 内部 (FPGA) ロ ジ ッ ク • 書 き 込みパ ス (出力) I/O ロ ジ ッ ク • 読み出 し パ ス (入力) お よ び遅延 I/O ロ ジ ッ ク • IDELAY 基準 ク ロ ッ ク DDR3 デザ イ ンの場合、 IDELAY 基準 ク ロ ッ ク 用に MMCM が 1 つ必要です。 デザ イ ンの周波数が 667MHz よ り 大 き い場合、IDELAY 基準 ク ロ ッ ク は 300MHz ま たは 400MHz (FPGA の ス ピー ド グ レー ド に依存) のいずれかにな り ます。 300MHz ま たは 400MHz の ク ロ ッ ク を生成する ために、 MIG は MMCM を 1 つ イ ン ス タ ン シエー ト し ます。 PHY には MMCM と PLL がそれぞれ 1 つずつ必要です。 ほ と ん ど の内部 ロ ジ ッ ク 用の ク ロ ッ ク 、 PHASER への周波 数基準 ク ロ ッ ク 、 そ し てマルチ I/O バン ク イ ンプ リ メ ン テーシ ョ ン で PHY 制御ブ ロ ッ ク の同期のために必要な同期 パルス は、 こ の PLL を使用 し て生成 し ます。 DDR3 SDRAM の ク ロ ッ ク 周波数が 400MHz ~ 933MHz の場合、 PHASER の 2 つの周波数基準 ク ロ ッ ク の周波数は メ モ リ ク ロ ッ ク と 同 じ にな り ます。 DDR2 ま たは DDR3 SDRAM の周波数が 400MHz よ り 低い場合は、 一方の PHASER 周波数基準 ク ロ ッ ク が メ モ リ ク ロ ッ ク と 同 じ 周波数で動作 し 、 も う 一方は 400MHz ~ 933MHz の範囲要件を満たす よ う に、 メ モ リ ク ロ ッ ク 周波数の 2 倍ま たは 4 倍のいずれかで動作す る 必要があ り ます。 2 つの PHASER 周波数基 準 ク ロ ッ ク は、 同 じ PLL を使用 し て位相を揃え る 必要が あ り ま す。 図 1-50 に、 ク ロ ッ キ ン グ アーキ テ ク チ ャ のブ ロ ッ ク 図を示 し ます。 freq_refclk の位相は、 動作周波数お よ び メ モ リ イ ン タ ーフ ェ イ ス ピ ンに選択 し たバン ク に よ っ て異な り ます。 • GUI で メ モ リ イ ン タ ーフ ェ イ ス ピ ンに HP バン ク を選択 し 、メ モ リ 周波数が 400MHz の場合、位相は 337.5 です。 • GUI で メ モ リ イ ン タ ーフ ェ イ ス ピ ンに HP バン ク を選択 し 、 メ モ リ 周波数が 200 ~ 400MHz (400MHz は含まれ ない) の場合、 位相は 315 です。 • 低電圧デバ イ ス で GUI で メ モ リ イ ン タ ーフ ェ イ ス ピ ンに HP バン ク を選択 し 、メ モ リ 周波数が 400MHz の場合、 位相は 337.5 です。 • 低電圧デバ イ ス で GUI で メ モ リ イ ン タ ーフ ェ イ ス ピ ンに HP バン ク を選択 し 、 メ モ リ 周波数が 200 ~ 400MHz (400MHz は含まれない) の場合、 位相は 0 です。 • GUI で メ モ リ イ ン タ ーフ ェ イ ス ピ ンに HR バン ク を選択 し 、メ モ リ 周波数が 400MHz の場合、位相は 337.5 です。 • GUI で メ モ リ イ ン タ ーフ ェ イ ス ピ ンに HR バン ク を選択 し 、 メ モ リ 周波数が 200 ~ 400MHz (400MHz は含まれ ない) の場合、 位相は 0 です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 101 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PLL 逓倍値 (M) お よ び分周値 (D) のデフ ォ ル ト 設定では、 シ ス テ ム ク ロ ッ ク 入力周波数が メ モ リ ク ロ ッ ク 周波数 と 同 じ にな っ てい ます。 こ の 1:1 の比率は必須ではあ り ません。 PLL 入力分周値 (D) は、 PLLE2 の動作条件が満た さ れ て適切な制約が適用 さ れてい る 限 り 、 『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) [参照 10] に記載 さ れてい る 値を使用で き ます。 PLL の乗算値 (M) は、 必ず 1 ~ 16 (1 と 16 を含む) か ら 選択 し ます。 メ モ リ ク ロ ッ ク の PLL 出力分周値 (O) は、 800Mb/s の場合は 2、 400 ~ 800Mb/s の場合は 4 に設定 し ます。 PLL VCO の周波数 範囲は、各デバ イ ス のデー タ シー ト に記載 さ れてい る 範囲内に し て く だ さ い。sync_pulse は、mem_refclk 周波数の 1/16 で、 デ ュ ーテ ィ サ イ ク ルは 1/16 (6.25%) の必要があ り ます。 PLL お よ びシ ス テ ム ク ロ ッ ク CCIO 入力の物理的配置情 報は、 162 ページの 「設計ガ イ ド ラ イ ン」 を参照 し て く だ さ い。 X-Ref Target - Figure 1-50 ,QWHUQDO)3*$/RJLF&ORFN 3+<B&ON )RU''5GHVLJQIUHTXHQFLHV!0+] ,'(/$<&75/FORFNRI0+]LV VHOHFWHGEDVHGRQ)3*$GHYLFHVSHHGJUDGH )RURWKHUV0+]FORFNLVVHOHFWHG 0+],'(/$< 5HIHUHQFH&ORFN 00&03KDVH6KLIW&ORFN &/.,1 %8)* &/.)%287 %8)* &/.)%,1 00&0 ,&/. 3KDVHUB,1 &/.5() 1 &/.,1 &/.287 &/.287 567 0+] 0+] ,'(/$<&75/ 0+] &/.5() 3 ,&/.',9 /2&.(' LGHOD\FWUOBUG\ 00&0 ,6(5'(626(5'(6 &RQQHFWLYLW\ &/.287 &/.287 6\VWHP&ORFN,QSXW3DLU &/.287 6<6&.1 &/.,1 6<6&.3 V\QFBSXOVH 3// /2&.(' 2&/. 3KDVHUB287 PHPBUHIFON 2&/.',9 2&/.B'(/$<(' SOOBORFN ,%8)*'6 IUHTBUHIFON 567 6<6567 &/.287 ,%8) 3+<&RQWURO &/.,1 UHIBGOOBORFN 3+$6(5B5() 567 図 1-50 : ク ロ ッ キング アーキテ ク チ ャ ISERDES/OSERDES の コ ネ ク テ ィ ビ テ ィ 情報は、 118 ページの図 1-56 お よ び 120 ページの図 1-58 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 102 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 内部 (FPGA) ロ ジ ッ ク ク ロ ッ ク 内部 FPGA ロ ジ ッ ク には、 グ ロ ーバル ク ロ ッ ク リ ソ ース に よ り 、 MIG で 2:1 ま たは 4:1 モー ド の ど ち ら を選択 し た かに よ っ て、 DDR2 ま たは DDR3 SDRAM ク ロ ッ ク の 1/2 ま たは 1/4 の周波数の ク ロ ッ ク が供給 さ れ ます。 こ の PLL は、 高速の DDR2 ま たは DDR3 メ モ リ ク ロ ッ ク も 出力 し ます。 書き込みパス (出力) I/O ロ ジ ッ ク ク ロ ッ ク デー タ 信号 と 制御信号の両方 を 含む出力パ ス は、 PHASER_OUT で ク ロ ッ ク が供給 さ れ ま す。 PHASER_OUT は、 OUT_FIFO や OSERDES/ODDR の各バ イ ト グループへ同期 ク ロ ッ ク を提供 し ます。 PHASER_OUT は、 それぞれのバ イ ト グループのバ イ ト ク ロ ッ ク (OCLK)、分周バ イ ト ク ロ ッ ク (OCLKDIV)、遅延バ イ ト ク ロ ッ ク (OCLK_DELAYED) を生成 し ま す。 こ れ ら の ク ロ ッ ク は周波数基準 ク ロ ッ ク か ら 直接生成 さ れ、 相互に位相が揃っ てい ま す。 バ イ ト ク ロ ッ ク は周波数基準 ク ロ ッ ク と 同 じ 周波数で、 分周バ イ ト ク ロ ッ ク は周波数基準 ク ロ ッ ク の半分の周波数です。書 き 込み DQS と その関連 DQ ビ ッ ト 間に必要な 90 度の位相オ フ セ ッ ト を達成する には、OCLK_DELAYED を使用 し て DQS ODDR へ ク ロ ッ ク を供給 し ます。 ま た、 PHASER_OUT は、 書 き 込み中の DQS 生成に必要な信号、 デー タ バ イ ト グ ループに関連す る DQS/DQ の ト ラ イ ス テー ト 信号、 お よ びバ イ ト グループの OUT_FIFO の リ ー ド イ ネーブル信号を 駆動 し ます。 図 1-56 お よ び図 1-58 に、 PHASER_OUT を使用 し た ア ド レ ス/制御パ スお よ び書 き 込みパ ス の ク ロ ッ キ ン グの詳細を示 し ます。 読み出 し パス (入力) I/O ロ ジ ッ ク ク ロ ッ ク 入力読み出 し デー タ パ ス は、 PHASER_IN ブ ロ ッ ク で ク ロ ッ ク が供給 さ れます。 PHASER_IN ブ ロ ッ ク は、 各バ イ ト グループの IN_FIFO と IDDR/ISERDES に同期 ク ロ ッ ク を供給 し ます。 こ のブ ロ ッ ク は、 関連す る バ イ ト グループの DQS 信号を受信 し て、 DDR2 ま たは DDR3 SDRAM デー タ キ ャ プチ ャ 用に 2 つの遅延 ク ロ ッ ク (読み出 し サ イ ク ル ク ロ ッ ク (ICLK)、 読み出 し 分周バ イ ト ク ロ ッ ク (ICLKDIV)) を生成 し ます。 ICLK は、 周波数基準 ク ロ ッ ク を遅延 し た ク ロ ッ ク で、 関連す る DQS と 位相が一致 し てい ます。 ICLKDIV は、 ISERDES 内の最初の階層にあ る フ リ ッ プ フ ロ ッ プでデー タ を キ ャ プチ ャ す る 際に使用 し ます。 こ の ICLKDIV は ICLK と 位相が一致 し 、 ISERDES の最後の階層にあ る フ リ ッ プ フ リ ッ プのパ ラ レ ル転送用 ク ロ ッ ク です。 ま た、 そのバ イ ト グループの IN_FIFO の書 き 込み ク ロ ッ ク と し て も 使用 さ れます。PHASER_IN ブ ロ ッ ク も 、 バ イ ト グループの IN_FIFO の書 き 込み イ ネーブル (WrEnable) を駆動 し ます。 図 1-58 に、 PHASER_IN を使用 し た読み出 し パ ス の ク ロ ッ キ ン グ詳細を示 し ます。 IDELAY 基準 ク ロ ッ ク ユーザーは常に 200MHz ref_clk を供給す る 必要があ り 、その上で MIG が MMCM を使用 し て適切な IDELAYCTRL 周波数を生成 し ま す。 こ のモジ ュ ールは、 環境の変化に合わせて I/O 領域内の IDELAY エ レ メ ン ト のキ ャ リ ブ レ ー シ ョ ン を常時実行 し ます。 IP コ アは、 外部 ク ロ ッ ク 信号 が IDELAYCTRL モジ ュ ールを駆動す る こ と を前提 と し てい ます。IDELAYCTRL 入力 ク ロ ッ ク を PLL ク ロ ッ ク で駆動する 場合は、PLL ロ ッ ク 信号を IODELAY_CTRL.v モジ ュ ー ル内の rst_tmp_idelay 信号に組み込む必要があ り ます。 こ れに よ り 、 ク ロ ッ ク を使用前に安定 さ せ る こ と がで き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 103 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ コ ン ト ロー ラ ー コ アのデフ ォ ル ト コ ン フ ィ ギ ュ レーシ ョ ンでは、 メ モ リ コ ン ト ロ ー ラ ー (MC) が UI ブ ロ ッ ク と 物理層の間に配置 さ れます。 図 1-51 に詳細図を示 し ます。 X-Ref Target - Figure 1-51 UDQN EDQN URZ FRO FPG GDWDBEXIBDGGU KLBSULRULW\ 5DQN0DFKLQHV XVHBDGGU ZUBGDWD 8VHU ,QWHUIDFH %ORFN ZUBGDWDBPDVN %DQN0DFKLQHV DFFHSW $UELWHU 0&3+< ,QWHUIDFH 3K\VLFDO /D\HU EDQNBPDFKBQH[W ZUBGDWDBDGGU &ROXPQ0DFKLQH ZUBGDWDBHQ ZUBGDWDBRIIVHW UGBGDWD UGBGDWDBDGGU UGBGDWDBHQ UGBGDWDBRIIVHW DSSBVUBUHT DSSBVUBDFWLYH DSSBUHIBUHT DSSBUHIBDFN DSSB]TBUHT DSSB]TBDFN 8*BFBB 図 1-51 : メ モ リ コ ン ト ロー ラ ー メ モ リ コ ン ト ロ ー ラ ーは、 メ モ リ イ ン タ ーフ ェ イ ス の主要 ロ ジ ッ ク ブ ロ ッ ク です。 UI か ら の要求を受信 し 、 それ ら を論理キ ュ ーに格納 し ます。 ま た、 オプシ ョ ン で要求順序を並べ替え て、 シ ス テ ムの処理スループ ッ ト やレ イ テ ン シ を向上 さ せます。 メ モ リ コ ン ト ロ ー ラ ー ブ ロ ッ ク は、 主に次の 4 つの部分で構成 さ れてい ます。 • 複数のバン ク マシ ン ( コ ン フ ィ ギ ュ レーシ ョ ン可能) • 複数の ラ ン ク マシ ン ( コ ン フ ィ ギ ュ レーシ ョ ン可能) • 1 つのカ ラ ム マシ ン • アービ ト レーシ ョ ン ブ ロ ッ ク Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 104 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン バン ク マ シ ン メ モ リ コ ン ト ロ ー ラ ー ロ ジ ッ ク の大部分は、 バン ク マシ ンに含まれます。 バン ク マシ ンは、 DRAM バン ク に対応 し ます。 1 つのバン ク マシ ンが、 常に 1 つの DRAM バン ク を管理 し ます。 ただ し 、 バン ク マシ ンの割 り 当ては動作中 に行 う こ と がで き る ため、 各物理バン ク に対 し て必ず し も 1 つのバン ク マシ ンは必要あ り ません。 バン ク 数は、 エ リ ア と 性能の ト レー ド オ フ を考慮 し て設定で き ます。 詳細は、 後続の 「プ リ チ ャ ージ ポ リ シー」 を参照 し て く だ さ い。 特定 DRAM バン ク へのバン ク マシ ンの割 り 当て期間は、 タ ーゲ ッ ト と な る DRAM バン ク の ス テー ト ではな く 、 ユー ザー要求に対応 し ます。 要求が受信 さ れ る と バン ク マシ ンが割 り 当て ら れ、 要求が完了す る と 、 そのバン ク マシ ン の割 り 当てが リ リ ース さ れて次の要求を割 り 当てで き る 状態にな り ます。 バン ク マシ ンは、 要求を完了す る ために必 要なすべての コ マ ン ド を発行 し ます。 バン ク マシ ンは、行 コ マ ン ド お よ び列 コ マ ン ド を生成 し て現在の要求を完了 さ せます。 こ れ ら の コ マ ン ド はそれぞれ 独立 し てい ますが、 DRAM の タ イ ミ ン グ要件に従 う 必要があ り ます。 次に示すシ ン プルな例 を 使用 し て、 こ の概念 を 説明 し ま す。 要求が到達す る と き 、 メ モ リ コ ン ト ロ ー ラ ーお よ び DRAM はア イ ド ル状態の場合を想定 し ます。 プールの先頭にあ る バン ク マシ ンは次の動作を行い ます。 1. ユーザー要求を受信 2. タ ーゲ ッ ト の行を ア ク テ ィ ブ化 3. 列 (読み出 し /書 き 込み) コ マ ン ド を生成 4. タ ーゲ ッ ト の行をプ リ チ ャ ージ 5. バン ク マシ ンのア イ ド ル プールへ戻 る 異な る 行やバン ク を タ ーゲ ッ ト と す る 複数の要求が到達す る 場合 も 同様の動作 と な り ます。 次に、 既にア ク テ ィ ブなバン ク マシ ンで制御 さ れたオープン状態の DRAM バン ク を タ ーゲ ッ ト と す る 要求が到達 し た場合を 考え ま す。 こ のマ シ ン は、 新 し い要求が同 じ DRAM バ ン ク を タ ーゲ ッ ト と し て い る こ と を認識 し 、 プ リ チ ャ ージ (手順 4) を省略 し ます。 ア イ ド ル プールの先頭にあ る バン ク マシ ンは、 新 し いユーザー要求を受け入れて、 ア ク テ ィ ブ化 (手順 2) を省略 し ます。 最後は前の要求 と 次の要求の間に別の要求が到達 し 、 すべてが同 じ DRAM バン ク を タ ーゲ ッ ト と す る 場合で、 コ ン ト ロ ー ラ ーはア ク テ ィ ブ化 (手順 2) と プ リ チ ャ ージ (手順 4) の両方を省略 し ます。 別の保留要求が同 じ バ ン ク を タ ーゲ ッ ト と し な ければ、 バ ン ク マ シ ン は可能 な限 り す ぐ に DRAM バ ン ク を プ リ チ ャ ージ し ます。 詳細は、 後続の 「プ リ チ ャ ージ ポ リ シー」 を参照 し て く だ さ い。 メ モ リ イ ン タ ーフ ェ イ ス の スループ ッ ト を最適化する ため、列 コ マ ン ド の順序を変更で き ます。 順序変更アルゴ リ ズ ム では、 デー タ の一貫性が保持 さ れ ます。 順序の並べ替え機能の詳細は、 「順序変更 ( リ オーダ リ ン グ)」 を参照 し て く だ さ い。 ラ ン ク マシン ラ ン ク マシ ンは、 DRAM ラ ン ク に対応 し ます。 ラ ン ク マシ ンは、 バン ク マシ ンの動作を モニ タ リ ン グ し 、 ラ ン ク や 特定デバ イ ス の タ イ ミ ン グ パ ラ メ ー タ ーを ト ラ ッ キ ン グ し ます。 た と えば、 ラ ン ク マシ ンはあ る 時間ウ ィ ン ド ウ 内 に ラ ン ク に送信 さ れ る ア ク テ ィ ブ コ マ ン ド 数を モニ タ リ ン グ し ます。 指定 し た コ マ ン ド 数が送信 さ れ る と 、 ラ ン ク マシ ンは抑止信号を生成 し 、次の コ マ ン ド を受信で き る よ う 時間ウ ィ ン ド ウ がシ フ ト する ま でバン ク マシ ンが コ マ ン ド を送信 し ない よ う に制御 し ます。 物理的な DRAM ラ ン ク への ラ ン ク マシ ンの割 り 当ては、 静止時に行われます。 カ ラム マシン 単一のカ ラ ム マシ ンは、 DQ デー タ バ ス の管理に必要な タ イ ミ ン グ情報を生成 し ます。 DRAM ラ ン ク は複数あ り ま すが、 DQ バ ス は 1 つであ る ため、 すべての DRAM ラ ン ク の列を 1 つのユニ ッ ト と し て管理 し ます。 カ ラ ム マシ ン がバン ク マシ ンで発行 さ れ る コ マ ン ド をモニ タ リ ン グ し 、 バン ク マシ ンに対 し て抑止信号を生成す る ため、 DQ バ ス は順に使用 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 105 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン アービ ト レーシ ョ ン ブ ロ ッ ク アービ ト レーシ ョ ン ブ ロ ッ ク は、 DRAM ア レ イ へ送信する 要求をバン ク マシ ンか ら 受信 し ます。 行 コ マ ン ド と 列 コ マ ン ド は別々に調停 さ れます。 コ マ ン ド ご と に、 アービ タ ブ ロ ッ ク が行 コ マ ン ド お よ び列 コ マ ン ド を選択 し て物理層 へ転送 し ます。 アービ ト レーシ ョ ン ブ ロ ッ ク では、 ラ ウ ン ド ロ ビ ン方式で転送が行われます。 順序変更 ( リ オーダ リ ング) DRAM へのア ク セ ス には、 行 コ マ ン ド と 列 コ マ ン ド の 2 つを使用 し ま す。 各要求は論理キ ュ ー エ ン ト リ を使用 し 、 キ ュ ー エン ト リ それぞれに関連す る バン ク マシ ンがあ り ます。 こ れ ら のバン ク マシ ンは、 その時点での DRAM ラ ン ク やバン ク の ス テー ト を ト ラ ッ キ ン グ し ます。 バン ク マシ ンは、 必要に応 じ て現在の要求に適 し た ラ ン ク 、 バン ク 、 ま たは行を ア ク テ ィ ブに し よ う と し ます。 バン ク マシ ンは こ の過程で DRAM の ス テー ト を確認 し 、 タ イ ミ ン グ パ ラ メ ー タ ーが満た さ れてい る かを判断 し ます。 最 終的にすべての タ イ ミ ン グ パ ラ メ ー タ ーが満た さ れてい る と 、バン ク マシ ンはアービ ト レーシ ョ ン を経て activate 信 号を送信 し ます。 アービ ト レーシ ョ ンは、 単純な ラ ウ ン ド ロ ビ ン方式で実行 さ れます。 複数のバン ク マシ ンが同時に 行 コ マ ン ド (ア ク テ ィ ブ化お よ びプ リ チ ャ ージ) の送信を要求す る 場合があ る ため、 アービ ト レーシ ョ ンが必要です。 すべての要求に対 し て ア ク テ ィ ブ化信号が必要 と は限 り ま せん。 前の要求で同 じ ラ ン ク 、 バン ク 、 行が既に有効に な っ てい る 場合は、 後続の要求はそのバン ク マシ ンの ス テー ト を引 き 継 ぐ ため、 プ リ チ ャ ージ/ア ク テ ィ ブ化は必要 あ り ません。 必要な ラ ン ク 、 バン ク 、 ま たは行がア ク テ ィ ブ化 さ れ、 RAS-CAS 間の遅延 タ イ ミ ン グが満た さ れてい る と 、 バン ク マシ ンは CAS-READ ま たは CAS-WRITE コ マ ン ド を発行 し よ う と し ます。 こ の場合、 行 コ マ ン ド と は異な り 、 すべ ての要求に CAS コ マ ン ド が必要です。CAS コ マ ン ド を送信す る アービ ト レーシ ョ ン前に、バン ク マシ ンは DRAM の ス テー ト 、 DQ バ ス の ス テー ト 、 優先順位、 お よ び順序を確認する 必要があ り ます。 最終的に、 こ れ ら のすべての要 素が最適な ス テー ト にな る と 、 バン ク マシ ンはアービ ト レーシ ョ ン を実行 し て CAS コ マ ン ド を送信 し ます。 行 コ マ ン ド と 同様に、 ラ ウ ン ド ロ ビ ン方式のアービ タ で優先順位を決定 し 、 次の列 コ マ ン ド を選択 し ます。 ラ ウ ン ド ロ ビ ン アービ タ 自体が順序変更を担い ます。 た と えば、 ア イ ド ル状態の メ モ リ コ ン ト ロ ー ラ ーが リ フ レ ッ シ ュ 動作中に新 し い要求のバース ト を受信 し た場合、 こ れ ら の要求はキ ュ ーに入 り 、 リ フ レ ッ シ ュ が完了す る ま で待 機す る こ と にな り ます。 DRAM が新 し いア ク テ ィ ブ化 コ マ ン ド を受信で き る よ う にな る と 、 待機中のすべての要求が アービ ト レーシ ョ ン要求を同時にアサー ト し ます。 そ し て、 アービ タ が、 要求順序か ら は独立 し た ラ ウ ン ド ロ ビ ン ア ルゴ リ ズ ムに基づいて、 次に送信す る ア ク テ ィ ブ化コ マ ン ド を選択 し ます。 列 コ マ ン ド に対 し て も 同様のプ ロ セ ス が 適用 さ れます。 コ ン ト ロ ー ラ ーでは、 3 つの順序変更モー ド がサポー ト さ れてい ます。 • STRICT : 常にネ イ テ ィ ブ イ ン タ ーフ ェ イ ス で受信 さ れた順に メ モ リ に対 し て コ マ ン ド を発行 し ます。 順序変更 が有益でない場合や最短の レ イ テ ン シが必要な場合に適 し てい ます。 読み出 し デー タ は順序どお り に返っ て く る ので、 ユーザー イ ン タ ーフ ェ イ ス層は不要 と な り 、 レ イ テ ン シが低減 さ れます。 こ のモー ド は、 デバ ッ グで も 有 益です。 • NORM : 書 き 込みの順序は変更 さ れず、 読み出 し の順序が効率を向上す る ために必要に応 じ て変更 さ れます。 書 き 込み要求はすべて、 その他すべての読み出 し 要求に対 し て要求順に発行 さ れ、特定の ラ ン ク /バン ク 内の要求は 順番に回収 さ れます。 こ れに よ り 、 先の書 き 込みが完了す る 前に後の書 き 込みの結果が見 ら れ る こ と はあ り ませ ん。 注記 : こ の順序変更は、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス でのみ認識 さ れます。 ユーザー イ ン タ ーフ ェ イ ス では、 読 み出 し 要求の順序は元の要求順に戻 さ れます。 • RELAXED : コ ン ト ロ ー ラ ーで最 も 効率的なモー ド です。ラ ン ク キ ュ ー と バン ク キ ュ ーの間で最 も 効率的にな る よ う に、 必要に応 じ て書 き 込み と 読み出 し の順序が変更 さ れます。 こ のモー ド では、 書 き 込みの順序が変更 さ れ る こ と があ り ますが、 要求は ラ ン ク /バン ク 内の順序で回収 さ れ、 読み出 し 要求は元の順序で返 さ れ る ので、 順序 の変更は ユーザー イ ン タ ー フ ェ イ ス 層では認識 さ れ ま せん。 そ の た め、 ユーザー イ ン タ ー フ ェ イ ス 層では RELAXED モー ド が推奨 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 106 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン プ リ チ ャ ージ ポ リ シー コ ン ト ロ ー ラ ーは積極的にプ リ チ ャ ージ を行い ます。 ト ラ ンザ ク シ ョ ンの完了ご と に、 要求の入力キ ュ ーを確認 し 、 現在オープ ン状態のバン ク /行のキ ュ ーに対 し て要求がない場合は、それを ク ロ ーズ し てそのバン ク 内にあ る 別の行へ の要求 レ イ テ ン シ を 最小限に抑 え ま す。 キ ュ ーの深 さ はバ ン ク マ シ ン の数 と 同 じ で あ る た め、 バ ン ク マ シ ン 数 (nBANK_MACHS) を増加 さ せ る と 、 効率を上げ る こ と がで き ます。 ただ し 、 数の増加に伴い、 FPGA ロ ジ ッ ク の タ イ ミ ン グ要件が厳 し く な り ます。 バン ク マシ ン数を増加 さ せなが ら 、 低速の メ モ リ ク ロ ッ ク 周波数を使用す る こ と に よ っ てシ ス テ ム全体の効率を向上 さ せ る こ と がで き る 場合があ り ます。 最適な設定を判断す る には、 タ ーゲ ッ ト デザ イ ンの コ マ ン ド 動作を使用 し てシ ミ ュ レーシ ョ ン を実行 し て く だ さ い。 注記 : MIG 7 Series DDR3/DDR2 コ アの全体的な読み出 し レ イ テ ン シは、 メ モ リ コ ン ト ロ ー ラ ーの設定に依存 し ます が、 最 も 大 き な影響を与え る のは、 タ ーゲ ッ ト の ト ラ フ ィ ッ ク /ア ク セ ス パ タ ーン、 お よ び読み出 し コ マ ン ド が発行 さ れ る 前にパ イ プ ラ イ ン上に存在す る コ マ ン ド 数です。 読み出 し レ イ テ ン シは、 ユーザーま たはネ イ テ ィ ブ イ ン タ ー フ ェ イ ス が読み出 し コ マ ン ド を受信 し た時点か ら 測定 さ れ ま す。 読み出 し レ イ テ ン シ を解析す る には、 シ ミ ュ レ ー シ ョ ン を実行 し ます。 誤 り 訂正符号 メ モ リ コ ン ト ロ ー ラ ーは、 オプシ ョ ンで ECC (誤 り 訂正符号) を イ ンプ リ メ ン ト し ます。 こ の コ ー ド が DRAM ア レ イ の内容がを破損 し ない よ う に保護 し ます。 使用す る コ ー ド は、 SECDED (Single Error Correct Double Error Detect) です。 すべてのシ ン グル エ ラ ーは検出後に訂正 さ れ、 すべての 2 ビ ッ ト エ ラ ーは検出 さ れます。 3 ビ ッ ト 以上のエ ラ ーは検 出 さ れない場合があ り ます。 図 1-52 に、 ECC のブ ロ ッ ク 図を示 し ます。 こ れ ら のブ ロ ッ ク は、 メ モ リ コ ン ト ロ ー ラ ー (mc.v) モジ ュ ールに イ ン ス タ ン シエー ト さ れてい ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 107 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-52 0HPRU\&RQWUROOHU 0& HFF BJHQ KBURZV FRUUHFW BHQ HFF BVLQJOH >@ HFF BGHF BIL[ HFF BPXOWLSOH >@ SK\ BUGGDWD UG BGDWD HFF BVWDWXV BYDOLG HFF BHUURU BDGGU UG BGDWD BDGGU UG BGDWD BRIIVHW ZU BHFF BEXI HFF BEXI 0HPRU\ &RQWUROOHU&RUH %ORFNV SK\BUGGDWDBYDOLG ZU BGDWD BDGGU ZU BGDWD BRIIVHW UG BPHUJH BGDWD ZUGDWD PF BZUGDWD HFF BPHUJH BHQF PF BZUGDWD BPDVN ZUGDWD BPDVN UDZ BQRW BHFF 図 1-52 : ECC ブ ロ ッ ク図 ECC モー ド はオプシ ョ ン であ り 、 デー タ 幅が 72 ビ ッ ト の場合のみ利用で き ます。 ECC モー ド が有効の場合、 デー タ マ ス ク 機能は無効にな り ます。 ま た、 こ のモー ド が有効の と き は、 常にすべての DQ デー タ 幅に書 き 込みが実行 さ れ ます。 ECC は DQ デー タ 幅全体に対 し て実行 さ れ る ため、 DRAM DM ビ ッ ト は使用で き ません。 ECC と い う 名前の 最上位パ ラ メ ー タ ーが ECC ロ ジ ッ ク の追加を制御 し ます。 こ のパ ラ メ ー タ ーが ON に設定 さ れ る と ECC が有効にな り 、 OFF に設定 さ れ る と 無効にな り ます。 ECC の機能は 3 つの機能ブ ロ ッ ク と し て イ ンプ リ メ ン ト さ れます。 書 き 込みデー タ 用 ECC マージ/生成ブ ロ ッ ク 、 読 み出 し デー タ 用 ECC デ コ ー ド /訂正ブ ロ ッ ク 、そ し て読み出 し /修正/書 き 込みサ イ ク ル用の読み出 し デー タ を一時的に 保持す る デー タ バ ッ フ ァ ー ブ ロ ッ ク があ り ます。 4 つ目のブ ロ ッ ク で ECC H マ ト リ ッ ク ス を生成 し 、 それ ら を ECC 生成お よ び訂正ブ ロ ッ ク へ渡 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 108 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン フル バース ト の書 き 込み コ マ ン ド の場合、書き 込みデー タ バ ッ フ ァ ーか ら フ ェ ッ チ し たデー タ は ECC マージ/生成ブ ロ ッ ク へ送 ら れます。 そ し て、 こ のブ ロ ッ ク で ECC ビ ッ ト を計算 し てデー タ に追加 し ます。 ECC コ ー ド の生成には 1 CLK ス テー ト が与え ら れます。 し たがっ て、 ECC 機能が無効の場合 よ り も 、 デー タ は書き 込みコ マ ン ド に対 し て 1 ス テー ト 分早 く 書 き 込みデー タ バ ッ フ ァ ーか ら フ ェ ッ チ さ れ る 必要があ り ます。 ユーザー イ ン タ ーフ ェ イ ス レベル では、 コ マ ン ド バ ッ フ ァ ーに コ マ ン ド が書 き 込まれてか ら 1 ス テー ト 以内に書 き 込みデー タ バ ッ フ ァ ーへデー タ が 書 き 込まれな く てはな り ません。 デー タ の早期取得を要す る 以外には、 ECC に よ る 書 き 込みに対す る 性能の損失はあ り ません。 読み出 し サ イ ク ルの場合、 すべてのデー タ は ECC デ コ ー ド /訂正 (ecc_dec_fix) ブ ロ ッ ク を通過 し ます。 こ のプ ロ セ ス は、 PHY が phy_rddata_valid 信号で読み出 し デー タ が有効であ る こ と を示 し た と き に開始 し ます。 デ コ ー ド /訂正プ ロ セ ス は、 2 つの CLK ス テー ト に分かれ ます。 最初の ス テー ト ではシ ン ド ロ ームが計算 さ れます。 次の ス テー ト ではシ ン ド ロ ーム がデ コ ー ド さ れ、 指定 さ れた ビ ッ ト の反転 (訂正) が実行 さ れ ます。 こ の ス テー ト では さ ら に、シ ン ド ロ ーム ビ ッ ト と メ モ リ コ ン ト ロ ー ラ ー コ ア ロ ジ ッ ク で生成 さ れた タ イ ミ ン グ信号 (ecc_status_valid) に基づいて、 ecc_single お よ び ecc_multiple の値が計算 さ れます。 コ ア ロ ジ ッ ク には ecc_err_addr バ ス も あ り 、 現在の読み出 し コ マ ン ド の ア ド レ ス が含 ま れ ま す。 エ ラ ー箇所は、 ecc_single、 ecc_multiple、 お よ び ecc_err_addr バ ス を参照 し て記録で き ます。 ECC では、 読み出 し 要求に対 し て、 2 ス テー ト 分の レ イ テ ン シ ペナ ルテ ィ が課 さ れます。 読み出 し /修正/書き込み フル DRAM バース ト よ り も 小 さ い書 き 込みは、 読み出 し /修正/書き 込みサ イ ク ル と し て実行する 必要があ り ます。 ま ず指定 し た位置が読み出 さ れ、 必要に応 じ て修正 さ れます。 その後、 書き 込みデー タ と マージ さ れ、 ECC が計算 さ れ て DRAM ア レ イ へ書 き 戻 さ れます。 wr_bytes コ マ ン ド が ECC 用に定義 さ れ ます。 こ の コ マ ン ド が与え ら れ る と 、 メ モ リ コ ン ト ロ ー ラ ーはシ ンプルな書 き 込みサ イ ク ルではな く 、常に読み出 し /修正/書 き 込みサ イ ク ルを実行 し ます。 バ イ ト イ ネーブルは、 シ ン プルな コ マ ン ド に対す る 場合を含め、 常に有効 と な り ます。 つま り 、 ECC モー ド が有効 な場合は、 すべての wr コ マ ン ド に対 し てすべてのバ イ ト イ ネーブル信号がアサー ト さ れ る 必要があ り ます。 ECC 機 能 が 有 効 な デ ザ イ ン で メ モ リ へ部分的 な 書 き 込み を 行 う 場合 に は、 wr_bytes コ マ ン ド の ほ か に app_wdf_mask の駆動が必要です。に、ECC モー ド が有効な場合で使用で き る コ マ ン ド を示 し ます。表 1-81 に、ECC モー ド が有効な場合で使用で き る コ マ ン ド を示 し ます。 表 1-81 : app_cmd[2:0] の コ マ ン ド 動作 app_cmd[2:0] コ ー ド 書 き 込み 000 読み出 し 001 書 き 込みバ イ ト 011 wr_bytes コ マ ン ド が与え ら れ る と 、 メ モ リ コ ン ト ロ ー ラ ーは読み出 し /修正/書 き 込み (RMW) サ イ ク ルを実行 し ま す。 こ の コ マ ン ド がキ ュ ーの先頭にあ る 場合は、 最初に読み出 し コ マ ン ド を発行 し ます。 ただ し 、 通常の読み出 し コ マ ン ド と は異な り 、 要求はキ ュ ーに残 り ます。 読み出 し 応答キ ュ ーの ビ ッ ト がセ ッ ト さ れ、 こ れが RMW サ イ ク ルで あ る こ と を示 し ま す。 こ の読み出 し コ マ ン ド に対す る 読み出 し デー タ が返 さ れた と き 、 app_rd_data_valid はア サー ト さ れません。 代わ り に ECC がデ コ ー ド と 必要に応 じ て修正 さ れ、 デー タ が ECC デー タ バ ッ フ ァ ーへ書 き 込ま れます。 その間、 元の wr_bytes コ マ ン ド が返 さ れたすべての読み出 し デー タ を検証 し ます。 読み出 し リ タ ーン キ ュ ーに格 納 さ れてい る data_buf_addr に基づいて、 wr_bytes 要求は、 読み出 し デー タ が ECC デー タ バ ッ フ ァ ーで有効に な る タ イ ミ ン グ を判断で き ます。 こ の時点で、 wr_bytes 要求は、 書 き 込み コ マ ン ド を送信す る ためにアービ ト レー シ ョ ン を開始 し ます。 コ マ ン ド が与え ら れ る と 、 書き 込みデー タ バ ッ フ ァ ーお よ び ECC デー タ バ ッ フ ァ ーか ら デー タ が フ ェ ッ チ さ れ、 バ イ ト イ ネーブルに従っ てマージ さ れた後、 ECC が計算 さ れて DRAM にデー タ が書 き 込まれま す。 wr_bytes コ マ ン ド を使用 し た場合の性能は、 通常の書き 込みコ マ ン ド よ り 大幅に低下 し ます。 最善の場合で、wr_bytes コ マ ン ド それぞれに、シ ンプルな DRAM 書き 込みサ イ ク ルを割 り 当て る のではな く 、SRAM 読み出 し サ イ ク ル と DRAM 書 き 込みサ イ ク ルが 1 つずつ必要です。 読み出 し か ら 書 き 込みへ、 書 き 込みか ら 読み出 し への転換ペナルテ ィ に よ っ て スループ ッ ト は さ ら に低下 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 109 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ コ ン ト ロ ー ラ ーは、 最大で nBANK_MACHS 個ま での wr_bytes コ マ ン ド をバ ッ フ ァ ーで き ます。 こ れ ら の コ マ ン ド が ラ ン ク バン ク で競合 し ない限 り 、 メ モ リ コ ン ト ロ ー ラ ーは読み出 し コ マ ン ド を連続 し て実行 し 、 続いて 書 き 込み コ マ ン ド を実行す る こ と で、 読み出 し か ら 書き 込み、 書 き 込みか ら 読み出 し への転換ペナルテ ィ を最小限に 抑え ます。 ただ し 、 一連の wr_bytes コ マ ン ド が 1 つの ラ ン ク バン ク を タ ーゲ ッ ト と す る 場合は、 各 RMW サ イ ク ルが完全にシ リ ア ラ イ ズ さ れ、 スループ ッ ト が大幅に低下 し ます。 重要 : 性能を重視す る 場合は、 wr_bytes コ マ ン ド は使用 し ない こ と を推奨 し ます。 表 1-82 で、 ユーザー イ ン タ ーフ ェ イ ス の ECC ポー ト について詳 し く 説明 し ます。 表 1-82 : ECC 動作のユーザー イ ン タ ー フ ェ イ ス 信号 方向 説明 app_correct_en_i 入力 こ の ア ク テ ィ ブ High 信号が ア サー ト さ れ る と 、 シ ン グ ル ビ ッ ト のデー タ エ ラ ーを訂正 し ます。 こ の入力は、 ECC 機 能を有効に設定 し た場合のみ有効です。 app_ecc_multiple_err[7:0] 出力 ECC が有効な場合に適用可能です。こ れは app_rd_data_valid と 共に有効にな り ま す。 外部 メ モ リ か ら の読み出 し で、 読 み出 し バー ス ト に 2 ビ ッ ト のエ ラ ーがあ る 場合、 こ の信号 は 0 以外を示 し ます。 SECDED アルゴ リ ズ ム では、 対応す る 読み出 し デー タ は訂正 さ れず、 こ の信号で 0 以外の値を 出力 し て、 エ ラ ーの読み出 し デー タ を UI に伝え ます。 こ の信号は、 2:1 モー ド では 4 ビ ッ ト です。 app_raw_not_ecc_i[7:0] 入力 ECC_TEST が 有効 な (ON) 場合 に 適用可能 で す。 こ れ は app_rd_data_valid と 共に有効にな り ます。 こ の信号がアサー ト さ れ る と 、 個々のブ ロ ッ ク に ECC ビ ッ ト の生デー タ が書 き込まれます。 こ の信号は、 2:1 モー ド では 4 ビ ッ ト です。 app_wdf_mask[APP_MASK_WIDTH – 1:0] 入力 app_wdf_data[] にマ ス ク を提供 し ます。 ECC のセル フ テ ス ト 機能 通常動作条件では、 DRAM ア レ イ に書 き 込まれたデー タ の ECC 部分は、 ユーザー イ ン タ ーフ ェ イ ス で視覚的に確認 す る こ と はで き ません。 こ れでは、 ECC ビ ッ ト に対応す る DRAM ア レ イ のビ ッ ト を テ ス ト で き ないため、 シ ス テ ム のセルフ テ ス ト に と っ て問題 と な る 場合があ り ます。 ま た、 ECC 生成お よ び訂正 ロ ジ ッ ク を テ ス ト す る ために、 エ ラ ー ビ ッ ト を送る こ と も で き ません。 ECC の最上位パ ラ メ ー タ ー ECC_TEST で制御す る と 、 DRAM ア レ イ のテ ス ト モー ド を作成で き ます。 ECC_TEST パ ラ メ ー タ ーが ON の場合、 DQ デー タ バ ス の全幅がユーザー イ ン タ ーフ ェ イ ス の読み出 し /書 き 込みバ ッ フ ァ ーへ接 続 さ れます。 ECC_TEST を ON にす る と 、 ECC 訂正 イ ネーブル信号がデ ィ アサー ト さ れます。 DRAM ア レ イ のデー タ 部分 と ECC 部分に任意のデー タ を書 き 込むには、 幅拡張 さ れた書 き 込みデー タ FIFO にデー タ を書 き 込み、 デー タ と 共に app_raw_not_ecc_i ビ ッ ト を アサー ト し ます。 app_raw_not_ecc_i は 7 ビ ッ ト 幅 (2:1 モー ド の場合は 4 ビ ッ ト ) であ り 、 各 ECC ブ ロ ッ ク に ECC ビ ッ ト の生デー タ (通常の計算 さ れた ECC ビ ッ ト ) の 書 き 込みを可能に し ます。 つま り 、 任意のパ タ ーン を DRAM ア レ イ へ書き 込む こ と がで き ます。 読み出 し イ ン タ ーフ ェ イ ス では、 拡張 さ れたデー タ が通常デー タ と 一緒に現れます。 ただ し 、 訂正機能が、 こ の読み 出 し デ ー タ を 訂 正 し よ う と し て し ま い ま す。 こ れ は 通常、 ア レ イ パ タ ー ン の テ ス ト に は 不 要 な た め、 app_correct_en_i を 0 に設定 し て訂正を無効に し ます。 上記の 2 つの機能に よ り 、 ア レ イ パ タ ーン テ ス ト が可能にな り ます。 ECC 生成 ロ ジ ッ ク は、 デー タ パ タ ーン を書 き 込む こ と でテ ス ト で き ますが、 app_raw_not_ecc_i のアサー ト や app_correct_en_i のデ ィ アサー ト は行い ま せ ん。 計算 さ れ た ECC ビ ッ ト を 伴 う デー タ を 読み出 し て、 比較 で き ま す。 ECC の デ コ ー ド 訂正 ロ ジ ッ ク は、 app_correct_en_i を アサー ト し 、 上記の説明の と お り に生パ タ ーン を書き 込む こ と でテ ス ト で き ます。 デー タ の リ ー ド バ ッ ク 時に、 デ コ ー ド 訂正の動作を監視で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 110 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PHY PHY は、 外部の DDR2 ま たは DDR3 SDRAM メ モ リ への物理 イ ン タ ーフ ェ イ ス を提供 し 、 メ モ リ デバ イ ス と の イ ン タ ーフ ェ イ ス に必要な信号の タ イ ミ ン グお よ びシーケ ン シ ン グ (順序) を生成 し ます。 PHY には、 ク ロ ッ ク 、 ア ド レ ス、 制御の生成 ロ ジ ッ ク 、 書 き 込み と 読み出 し のデー タ パ ス、 お よ び電源投入後に SDRAM を初期化する ス テー ト ロ ジ ッ ク が含 ま れてい ま す。 さ ら にシ ス テ ム の静的遅延お よ び動的遅延を解析す る ために、 読み出 し お よ び書 き 込み デー タ パ ス の タ イ ミ ン グ ト レーニ ン グ を実行す る キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク も あ り ます。 PHY は、 DDR2 お よ び DDR3 SDRAM に対応する 1 つの HDL コ ー ド ベース で提供 さ れてい ます。 MIG ツールは、 最 上位の HDL パ ラ メ ー タ ーお よ び XDC フ ァ イ ルの制約を介 し 、 SDRAM タ イ プやその他のデザ イ ン特有のパ ラ メ ー タ ーを カ ス タ マ イ ズ し ます。 PHY アーキテ ク チ ャ 全体 7 シ リ ーズ FPGA の PHY は専用のブ ロ ッ ク と ソ フ ト キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク で構成 さ れてい ます。 専用ブ ロ ッ ク は互いに隣接 し て配置 さ れ、 高性能な物理層を構築す る ために必要な ク ロ ッ ク お よ びデー タ パ ス配線を最短に抑え る よ う 、 イ ン タ ー コ ネ ク ト で直接接続 さ れてい ます。 I/O バン ク 内の専用 ク ロ ッ ク 構造はバ イ ト グループ ク ロ ッ ク と 呼ばれ、 こ の ド ラ イ バーに よ っ て駆動 さ れ る ロ ー ド 数が最小限にな る よ う に し ま す。 バ イ ト グループ ク ロ ッ ク は、 PHASER ブ ロ ッ ク で駆動 さ れます。 PHASER ブ ロ ッ ク (PHASER_IN お よ び PHASER_OUT) は、 DQS 信号の変動を動 的に ト ラ ッ キ ン グ し て正確に位相を調整す る 複数段階のプ ロ グ ラ マブル遅延 ラ イ ン ループです。 7 シ リ ーズ FPGA の各 I/O バン ク には、 1 つの PHY 制御ブ ロ ッ ク 、 4 つの PHASER_IN/PHASER_OUT ブ ロ ッ ク 、 4 つ の IN/OUT_FIFO、 IOLOGIC (ISERDES、 OSERDES、 ODDR、 IDELAY)、 お よ び IOB で構成 さ れ る 専用ブ ロ ッ ク があ り ます。 1 つの I/O バン ク には 4 つのバ イ ト グループがあ り 、 各バ イ ト グループには、 PHASER_IN/PHASER_OUT、 IN_FIFO/OUT_FIFO、 そ し て 12 個の IOLOGIC と IOB ブ ロ ッ ク があ り ます。 バ イ ト グループ内にあ る 12 個の IOI の う ち 10 個は DQ ビ ッ ト お よ び DM ビ ッ ト に使用 さ れ、残 り の 2 個は差動 DQS 信号を イ ンプ リ メ ン ト に使用 さ れます。 図 1-53 に、 シ ン グル I/O バン ク に含まれ る 専用ブ ロ ッ ク を示 し ます。 PHY 制御ブ ロ ッ ク は、 その I/O バン ク 内にあ る 4 つすべての PHASER_IN お よ び PHASER_OUT ブ ロ ッ ク と 接続 し てい ます。 X-Ref Target - Figure 1-53 3K\B$GGU 3K\B&PG 3K\B'DWD 3K\B&ON ,2 ),)2V ,2/2*,& 3K\B5G:UB(Q 3K\B&ON &RQWURO :RUG(QDEOHV6WDWXV 3+< &RQWURO ,2% &.&.&.( 5HVHW&62'7 5$6&$6:( ''5B$GGU>@ ''5B%$>@ 'DWD>@ '46>@ '46>@ ,Q'%&ON ,Q%&ON ,23KDVHUV 2XW'%&ON 2XW%&ON '46 8*BFBB 図 1-53 : シ ングル バン クの DDR2/DDR3 PHY ブ ロ ッ ク図 メ モ リ コ ン ト ロ ー ラ ーお よ びキ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 DDR2 ま たは DDR3 メ モ リ ク ロ ッ ク を 4 分周ま たは 2 分周 し た低周波数 ク ロ ッ ク ド メ イ ンにあ る 、 こ の専用 PHY と 通信 し ます。 図 1-54 に、 PHY デザ イ ンのブ ロ ッ ク 図 を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 111 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-54 )3*$ )3*$/RJLF ''5''56'5$03+<,QWHUIDFH 0HPRU\$GGU&PG&RQWURO DQG,2),)2(QDEOHV :ULWH'DWD0DVN 5HDG'DWD ,2 ),)2V $GGU&PF &RQWURO :ULWH'DWD ,2),)26WDWXV)ODJV 3+<&RQWURO:RUG &RQWURO(QDEOH ''5 ''5 0HPRU\ &RQWUROOHU &DOLEUDWLRQ(QDEOH ,QLWLDOL]DWLRQ 6WDWXV 5HDG 'DWD9DOLG 5HDG 'DWD2IIVHW 'LYLGHGE\RU RI0(0B5()&/. 3+<&RQWURO6WDWXV 5HDG /HYHOLQJ 6WDJH DQG /RJLF ,QLWLDOL]DWLRQ $QG &DOLEUDWLRQ &RPPDQG 6HTXHQFHU :ULWH /HYHOLQJ :ULWH &DOLEUDWLRQ /RJLF 35%6 'DWD3DWWHUQ *HQHUDWRU 3+$6(5B,1 'HOD\ &RQWUROV 3+< &RQWURO %ORFN ,2/2*,& ,6(5'(6 26(5'(6 2''5 ,'(/$< ,&/. 3+$6(5 B,1V ,&/.',9 '46 3+$6(5B287 'HOD\ &RQWUROV 2&/. 3+$6(5 B287V 2&/.',9 2&/.B'(/$<(' ,2% 5HVHW 6\QFB,Q 6\VWHP&ORFN 6\VWHP5HVHW 6\VWHP &ORFN5HVHW *HQHUDWLRQ 5()B'//B/2&. )5(4B5()&/. 0(0B5()&/. ,'(/$<5()&/. 'DWD'4 0DVN'0 6WUREH'46 $GGU&PG&RQWURO ''5 ''5 6'5$0 &ORFNV 8*BFBB 図 1-54 : PHY のブ ロ ッ ク 図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 112 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ の初期化お よびキ ャ リ ブ レーシ ョ ンのシーケ ン ス シ ス テ ム リ セ ッ ト 信号がデ ィ アサー ト さ れ る と 、PHY は メ モ リ に必要な電源投入初期化シーケ ン ス を実行 し ます。そ の後、 書 き 込みお よ び読み出 し 両方のデー タ パス の複数段階の タ イ ミ ン グ キ ャ リ ブ レーシ ョ ンが実行 さ れます。 キ ャ リ ブ レーシ ョ ン完了後、 PHY が初期化の完了を示 し 、 コ ン ト ロ ー ラ ーは メ モ リ へ コ マ ン ド を発行で き る よ う にな り ま す。 図 1-55 に、 メ モ リ の初期化お よ びキ ャ リ ブ レーシ ョ ンの各段階を含む全体的な フ ロ ーを示 し ます。 X-Ref Target - Figure 1-55 6\VWHP5HVHW ''5''56'5$0,QLWLDOL]DWLRQ 3KDVHUB,13KDVH/RFN3KDVHORFNV5HDG'46WRLQWHUQDOIUHHUXQQLQJ )UHTXHQF\5HIHUHQFHFORFN 3KDVHUB,Q'46)281'FDOLEUDWLRQ :ULWH/HYHOLQJ)RU''56'5$02QO\ 0350XOWL3XUSRVH5HJLVWHU5HDG/HYHOLQJ&HQWHU5HDG'46LQ5HDG'4 ZLQGRZLQGHSHQGHQWRIZULWHV :ULWHOHYHODJDLQ DWWKHHQGRI 2&/.'(/$<(' FDOLEUDWLRQ %DFNWRZULWHOHYHOLQJWR DGGWRW&.RIGHOD\ WRKDQGOHHDUO\ZULWHV 2&/.'(/$<('&DOLEUDWLRQ&HQWHU:ULWH'46LQ:ULWH'4ZLQGRZXVLQJ 3KDVHUB2XW6WDJHGHOD\ :ULWH&DOLEUDWLRQ$OLJQLQJZULWH'46WRWKHFRUUHFW&.&.HGJH 5HDG/HYHOLQJ,QLWLDO'4DOLJQPHQWWR'46DQG'46FHQWHULQJLQUHDG'4 ZLQGRZ 35%65HDG/HYHOLQJ5HDG'46FHQWHULQJLQUHDG'4ZLQGRZZLWK35%6 SDWWHUQWRDFFRXQWIRU,6,HIIHFWV 3+<,QLWLDOL]DWLRQDQG&DOLEUDWLRQ&RPSOHWH ; 図 1-55 : PHY 全体の初期化およびキ ャ リ ブ レーシ ョ ンのシーケ ン ス Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 113 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 1-55 に示すキ ャ リ ブ レーシ ョ ンの各段階については、 次のセ ク シ ョ ン でそれぞれ説明 し ます。 • 121 ページの 「 メ モ リ の初期化」 • 121 ページの 「PHASER_IN 位相 ロ ッ ク 」 • 121 ページの 「PHASER_IN DQSFOUND のキ ャ リ ブ レーシ ョ ン」 • 123 ページの 「 ラ イ ト レベ リ ン グ」 • 125 ページの 「汎用レ ジ ス タ の リ ー ド レベ リ ン グ」 • 126 ページの 「OCLKDELAYED のキ ャ リ ブ レーシ ョ ン」 • 128 ページの 「書 き 込みキ ャ リ ブ レーシ ョ ン」 • 129 ページの 「 リ ー ド レベ リ ン グ」 • 132 ページの 「PRBS リ ー ド レベ リ ン グ」 • 132 ページの 「ダ イ ナ ミ ッ ク キ ャ リ ブ レーシ ョ ンお よ び周期的読み出 し 動作」 I/O アーキテ ク チ ャ 7 シ リ ーズ FPGA の各 I/O バン ク には、 1 つの PHY 制御ブ ロ ッ ク 、 4 つの PHASER_IN/PHASER_OUT ブ ロ ッ ク 、 4 つ の IN/OUT_FIFO、 ISERDES、 OSERDES、 ODDR、 IDELAY、 お よ び IOB で構成 さ れ る 専用ブ ロ ッ ク があ り ます。 PHY 制御ブ ロ ッ ク は、 その I/O バン ク 内にあ る 4 つすべての PHASER_IN お よ び PHASER_OUT ブ ロ ッ ク と 接続 し てい ま す。 PHY 制御ブ ロ ッ ク PHY 制御ブ ロ ッ ク は、 FPGA ロ ジ ッ ク と 専用 PHY 間のデー タ フ ロ ーを管理 し て、 情報を制御す る 中央制御ブ ロ ッ ク です。こ れは、IN/OUT_FIFO と ISERDES/OSERDES 間のア ド レ ス、コ マ ン ド 、デー タ の フ ロ ーだけでな く 、PHASER_IN お よ び PHASER_OUT ブ ロ ッ ク を制御 し ます。 PHY 制御ブ ロ ッ ク は、 低周波数 (DDR2 ま たは DDR3 SDRAM ク ロ ッ ク 周波数の 1/4) の PHY_Clk レー ト でキ ャ リ ブ レーシ ョ ン ロ ジ ッ ク ま たは メ モ リ コ ン ト ロ ー ラ ーか ら 制御 ワー ド を受 信 し 、 DDR ま たは DDR3 SDRAM ク ロ ッ ク レー ト (CK 周波数) でそれ ら を処理 し ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク ま たは メ モ リ コ ン ト ロ ー ラ ーは、 ア ド レ ス、 コ マ ン ド 、 お よ びデー タ (書 き 込み コ マ ン ド の場合) を IN/OUT_FIFO へ書 き 込む こ と で DDR2/DDR3 SDRAM コ マ ン ド シーケ ン ス を開始 し 、同時ま たはその後 に、 PHY 制御 ワ ー ド を PHY 制御ブ ロ ッ ク に書 き 込みます。 PHY 制御ワ ー ド は、 DDR2/DDR3 SDRAM コ マ ン ド の実 行時に PHY 制御ブ ロ ッ ク が行 う 動作を定義 し ます。 PHY 制御ブ ロ ッ ク は、 I/O バン ク 内のバ イ ト グループ ブ ロ ッ ク への制御 イ ン タ ーフ ェ イ ス を提供 し ます。 I/O バン ク を複数 イ ン プ リ メ ン ト す る 必要があ る 場合、 各 I/O バン ク にあ る それぞれの PHY 制御ブ ロ ッ ク がそのバン ク 内のバ イ ト グループのエ レ メ ン ト を制御 し ます。 こ の際、 PHY 制御ブ ロ ッ ク は、 隣接する PHY 制御ブ ロ ッ ク と 位相が一致 し てい る 必要があ り ます。 I/O バン ク が 3 つ イ ンプ リ メ ン ト さ れてい る 場合は、 中央にあ る PHY 制御ブ ロ ッ ク がマ ス タ ー と し て構成 さ れます。 I/O バン ク が 2 つの場合は、 いずれか一方の PHY 制御ブ ロ ッ ク を マ ス タ ー と し て指定で き ます。 PHY 制御 イ ン タ ーフ ェ イ ス は、 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク や メ モ リ コ ン ト ロ ー ラ ーが PHY 制御ワー ド を PHY へ 書 き 込む際に使用 さ れます。 こ の イ ン タ ーフ ェ イ ス の信号は、 PHY_Clk 信号 と 同期 し ます (表 1-83)。 こ れは、 基本の FIFO 型 イ ン タ ーフ ェ イ ス です。 制御 ワ ー ド は、 PHY_Ctl_WrEn が High で PHY_Ctl_Full が Low の と き に、 PHY_Clk の立ち上が り エ ッ ジで制御 ワー ド FIFO へ書 き 込まれます。 I/O バン ク が複数あ る PHY では、 正 し く 動作す る ために 同 じ 制御 ワー ド がそれぞれの PHY 制御ブ ロ ッ ク へ書き 込まれ る 必要があ り ます。 表 1-83 : PHY 制御イ ン タ ー フ ェ イ ス 信号 方向 説明 PHY_Clk 入力 制御 ワ ー ド FIFO の PHY イ ン タ ーフ ェ イ ス ク ロ ッ ク です。 こ の ク ロ ッ ク の立ち上 が り エ ッ ジで、 PHY 制御ワー ド 信号がキ ャ プチ ャ さ れます。 PHY_Ctl_Wr_N 入力 制御 ワ ー ド FIFO の書 き 込み イ ネーブル信号で、 ア ク テ ィ ブ LOW です。 こ の信号 がア ク テ ィ ブな と き に、 PHY_Clk の立ち上が り エ ッ ジで制御 ワ ー ド が制御 ワ ー ド FIFO に書 き 込まれます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 114 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-83 : PHY 制御イ ン タ ー フ ェ イ ス (続き) 信号 方向 説明 PHY_Ctl_Wd[31:0] 入力 PHY の制御 ワー ド です (表 1-84)。 PHY_Ctl_Full 出力 制御 ワー ド FIFO の Full フ ラ グで、 ア ク テ ィ ブ High です。 制御 ワー ド FIFO が こ れ 以上制御ワー ド を受信で き ない こ と を示 し 、 書 き 込みを ブ ロ ッ ク し ます。 PHY_Ctl_AlmostFull 出力 制御 ワー ド FIFO の Almost Full フ ラ グで、 ア ク テ ィ ブ High です。 PHY_Ctl_Full 信 号がア ク テ ィ ブでなければ、 FIFO は制御 ワ ー ド を 1 回のみ受信で き 、 それ以上は 受信で き ない こ と を示 し ます。 PHY_Ctl_Ready 出力 PHY 制御ブ ロ ッ ク で コ マ ン ド の受信準備が整 う と ア サー ト さ れ る 、 ア ク テ ィ ブ High 信号です。 PHY 制御 ワー ド は、 次の よ う な構成 と な っ てい ます (表 1-84)。 表 1-84 : PHY 制御ワー ド 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 Act Event CAS Reserv Seq Data Offset Low Index Aux_Out Pre Delay Slot ed • 7 6 5 4 Control Offset 3 2 1 0 PHY Cmd PHY Command : こ の フ ィ ール ド は、 専用 PHY を通 る コ マ ン ド お よ びデー タ フ ロ ーを管理する 際に PHY 制御ブ ロ ッ ク が実行す る 動作を定義 し ます。 PHY コ マ ン ド は次の と お り です。 ° ° ° Write (Wr – 0x01) : ア ド レ ス、 コ マ ン ド 、 お よ びデー タ OUT_FIFO を読み出 し て、 こ れ ら の FIFO か ら 読み 出 し たデー タ を関連す る IOI へ転送す る よ う に PHY 制御ブ ロ ッ ク へ命令 し ます。 Read (Rd – 0x03) : ア ド レ ス、 コ マ ン ド OUT_FIFO を読み出 し て、 こ れ ら の FIFO か ら 読み出 し たデー タ を関 連す る IOI へ転送す る よ う に PHY 制御ブ ロ ッ ク へ命令 し ます。 メ モ リ か ら 読み出 さ れたデー タ は、 その後 にデー タ IOI か ら Data IN_FIFO へ転送 さ れます。 Non-Data (ND – 0x04) : ア ド レ スお よ びコ マ ン ド OUT_FIFO を読み出 し て、 こ れ ら の FIFO か ら 読み出 し た デー タ を関連す る IOI へ転送す る よ う に PHY 制御ブ ロ ッ ク へ命令 し ます。 • Control Offset : こ のフ ィ ール ド は、 ア ド レ スお よ び コ マ ン ド IN/OUT_FIFO が読み出 さ れて IOI へ転送 さ れ る タ イ ミ ン グの制御用です。 制御オ フ セ ッ ト は、 DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し てい ま す。 • Auxiliary Output : こ の フ ィ ール ド は、 補助出力信号 (Aux_Output[3:0]) が使用 さ れ る 際の制御用です。 補助出力 は、 読み出 し お よ び書 き 込み コ マ ン ド 中にア ク テ ィ ブにな る よ う 設定で き ます。 タ イ ミ ン グ オ フ セ ッ ト お よ び期 間は、 116 ページの表 1-85 で説明す る 属性で制御 さ れます。 こ れ ら の出力は、 MIG ツールで生成 さ れた DDR2 お よ び DDR3 イ ン タ ーフ ェ イ ス では使用 さ れません (0 に設定)。 • Low Index (Bank) : 専用 PHY には内部カ ウ ン タ ーがあ り 、 こ の フ ィ ール ド を使用 し てデー タ コ マ ン ド に 8 つの DDR2/DDR3 SDRAM バン ク の う ちいずれを使用する か を指定 し ます。 MIG IP コ アは こ れ ら の内部カ ウ ン タ ーを 使用 し ないため、 こ の フ ィ ール ド 値はすべて 0 にな り ます。 • Reserved : 必ず 2'b00 に設定 し ます。 • Data Offset : こ の フ ィ ール ド は、 PHY コ マ ン ド に基づいてデー タ IN/OUT_FIFO が読み出 し ま たは書 き 込み さ れ る タ イ ミ ン グの制御用です。デー タ オ フ セ ッ ト は、DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し てい ます。 • Seq : こ の フ ィ ール ド にはシーケ ン ス番号が含まれてお り 、 PLL か ら の Sync_In 制御信号 と 併用 さ れて、 それぞ れの制御キ ュ ーか ら 読み出 さ れた コ マ ン ド を実行す る 複数の PHY 制御ブ ロ ッ ク を同期 さ せます。指定 さ れた Seq 値を持つ コ マ ン ド は、 Seq フ ィ ール ド で定義 さ れた特定段階において、 PHY 制御ブ ロ ッ ク 内の コ マ ン ド パーサー に よ っ て実行 さ れ る 必要があ り ます。 • CAS Slot : 書 き 込み/読み出 し (CAS) コ マ ン ド 用に メ モ リ コ ン ト ロ ー ラ ーで使用 さ れ る ス ロ ッ ト 番号です。 • Event Delay : 専用 PHY には内部カ ウ ン タ ーがあ り 、 こ の フ ィ ール ド を使用 し て、 こ れ ら のカ ウ ン タ ーに ロ ー ド さ れ る 遅延値を指定す る 必要があ り ます。 イ ベン ト 遅延は、 DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを 単位 と し てい ます。 MIG IP コ アは こ れ ら の内部カ ウ ン タ ーを使用 し ないため、 こ の フ ィ ール ド 値はすべて 0 に な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 115 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • Activate Precharge : 専用 PHY には内部カ ウ ン タ ーがあ り 、 こ の フ ィ ール ド を使用 し て、 イ ベン ト 遅延カ ウ ン タ ー に関連 し てい る DDR2 ま たは DDR3 SDRAM コ マ ン ド タ イ プ を指定 し ます。 有効な値は次の と お り です。 ° 00 : 動作な し ° 01 : ア ク テ ィ ブ化 ° 10 : プ リ チ ャ ージ ° 11 : プ リ チ ャ ージ/ア ク テ ィ ブ化 MIG IP コ アは こ れ ら の内部カ ウ ン タ ーを使用 し ないため、 こ のフ ィ ール ド 値はすべて 0 にな り ます。 表 1-85 : 補助出力の属性 属性 種類 説明 MC_AO_WRLVL_EN Vector[3:0] PC_Enable_Calib[1] 信号で指定 さ れた ラ イ ト レベ リ ン グ中に、関連する Aux_Output を有効にす る か を指定 し ます。 た と えば、 ラ イ ト レベ リ ン グ中に ODT を有効にす る かは、 こ の属性で指定 し ます。 WR_CMD_OFFSET_0 Vector[5:0] 関連す る 書 き 込み コ マ ン ド が 実行 さ れ て 補助出力 が 有効 に な っ た 後 の 期間 を DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。た と え ば、 こ の属性を使用する と ODT 信号が正 し い ク ロ ッ ク サ イ ク ルでアサー ト さ れ る ため、 JEDEC ODTLon お よ び ODTLoff の仕様を満たす こ と がで き ます。 WR_DURATION_0 Vector[5:0] 書 き 込み コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を DDR2 ま た は DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 た と えば、 こ の属性 を使用す る と ODT 信号が正 し い ク ロ ッ ク サ イ ク ルでアサー ト さ れ る ため、 JEDEC ODTLon お よ び ODTLoff の仕様を満たす こ と がで き ます。 RD_CMD_OFFSET_0 Vector[5:0] 関連す る 読み出 し コ マ ン ド が 実行 さ れ て 補助出力 が 有効 に な っ た 後 の 期間 を DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_DURATION_0 Vector[5:0] 読み出 し コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を DDR2 ま た は DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_CMD_OFFSET_1 Vector[5:0] 関連す る 書 き 込み コ マ ン ド が 実行 さ れ て 補助出力 が 有効 に な っ た 後 の 期間 を DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_DURATION_1 Vector[5:0] 書 き 込み コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を DDR2 ま た は DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_CMD_OFFSET_1 Vector[5:0] 関連す る 読み出 し コ マ ン ド が 実行 さ れ て 補助出力 が 有効 に な っ た 後 の 期間 を DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_DURATION_1 Vector[5:0] 読み出 し コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を DDR2 ま た は DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_CMD_OFFSET_2 Vector[5:0] 関連す る 書 き 込み コ マ ン ド が 実行 さ れ て 補助出力 が 有効 に な っ た 後 の 期間 を DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_DURATION_2 Vector[5:0] 書 き 込み コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を DDR2 ま た は DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_CMD_OFFSET_2 Vector[5:0] 関連す る 読み出 し コ マ ン ド が 実行 さ れ て 補助出力 が 有効 に な っ た 後 の 期間 を DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_DURATION_2 Vector[5:0] 読み出 し コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を DDR2 ま た は DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_CMD_OFFSET_3 Vector[5:0] 関連す る 書 き 込み コ マ ン ド が 実行 さ れ て 補助出力 が 有効 に な っ た 後 の 期間 を DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_DURATION_3 Vector[5:0] 書 き 込み コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を DDR2 ま た は DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_CMD_OFFSET_3 Vector[5:0] 関連す る 読み出 し コ マ ン ド が 実行 さ れ て 補助出力 が 有効 に な っ た 後 の 期間 を DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 116 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-85 : 補助出力の属性 (続き) 属性 種類 説明 RD_DURATION_3 Vector[5:0] 読み出 し コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を DDR2 ま た は DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 CMD_OFFSET Vector[5:0] 関連す る コ マ ン ド が実行 さ れて AO_TOGGLE で指定 さ れた補助出力が ト グルす る 期間を DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 AO_TOGGLE Vector[3:0] ト グ ル モ ー ド に な る 補助出力 を 指定 し ま す。 ト グ ル モ ー ド の 補助出力 は、 CMD_OFFSET が失効 し た後に PHY 制御 ワ ー ド で関連す る AO ビ ッ ト がセ ッ ト さ れ る と 反転 し ます。 同期モー ド が使用 さ れ、 PHY_Clk は DDR2 あ る いは DDR3 SDRAM ク ロ ッ ク の 1/4 ま たは 1/2 の周波数であ る ため、 PHY 制御ブ ロ ッ ク には有効にな っ ていないカ ウ ン タ ーがい く つかあ り ます。 PHY_Clk のすべての立ち上が り エ ッ ジで、 メ モ リ の 4 ク ロ ッ ク サ イ ク ル相当の コ マ ン ド 情報お よ び 2 ビ ッ ト の Seq カ ウ ン ト 値を含む PHY 制御ワ ー ド が PHY へ送信 さ れます。 制御 FIFO の ラ イ ト イ ネーブル信号は常にアサー ト さ れ る ため、 同期モー ド の動作では有効な コ マ ン ド 間に NOP コ マ ン ド が発行 さ れ ま す。 Seq カ ウ ン ト 値は、 4 コ マ ン ド シーケ ン ス ご と に増加 し ます。 Seq フ ィ ール ド を使用 し て、 複数の I/O バン ク の PHY 制御ブ ロ ッ ク を同期 さ せます。 DDR3 SDRAM RESET_N 信号は、 PHY 制御ワー ド ではな く FPGA ロ ジ ッ ク で直接制御 さ れます。 ま た、 RDIMM イ ン タ ーフ ェ イ ス の DDR2 SDRAM RESET_N 信号は、PHY 制御ワー ド ではな く FPGA ロ ジ ッ ク で直接制御 さ れます。PHY 制御ブ ロ ッ ク は、 PHASER_OUT と 連動 し て読み出 し コ マ ン ド や書 き 込み コ マ ン ド 中に書 き 込み DQS 信号お よ び DQ/DQS 3 ス テー ト 制御信号を生成 し ます。 PHY cmd フ ィ ール ド は、4 つの コ マン ド のシーケ ン スの状態 (書き込み/読み出し /ど ち ら で も ない) に基づいて設定 さ れ ます。 コ マン ド シーケ ン ス に書き込み要求があ る場合、 こ のフ ィ ール ド は書き込みが設定 さ れます。 コ マン ド シーケ ン ス に読み出し 要求があ る場合は読み出し に、 ど ち ら の要求 も 存在 し ない場合は、 ND (non-data) に設定 さ れます。 4 つ の コ マン ド のシーケ ン ス内では書き込みおよ び読み出 し 要求は発行で き ません。 コ マン ド OUT_FIFO が読み出 さ れて IOLOGIC へ転送 さ れ る タ イ ミ ン グ は、 PHY 制御 ワ ー ド の Control Offset フ ィ ール ド で 定義 さ れ ま す。 コ マ ン ド OUT_FIFO に対 し て読み出 さ れ る デー タ OUT_FIFO の タ イ ミ ン グは、 Data Offset フ ィ ール ド で定義 さ れます。 読み出 し コ マン ド の場合、 データ オ フ セ ッ ト 値はキ ャ リ ブ レーシ ョ ン中に決定 さ れます。 PHY 制御ブ ロ ッ ク では、 読み出し が必要な時点で、 書き込みコ マン ド に関連する有効なデータ が DQ OUT_FIFO 内に既に存在 し てい る と 想定 さ れます。 コ マ ン ド パス キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク ま たは メ モ リ コ ン ト ロ ー ラ ーで要求 さ れ る コ マ ン ド は、PHY 制御ワ ー ド と し て PHY 制 御ブ ロ ッ ク へ送信 さ れ る と 同時に、 ア ド レ ス/制御/ コ マ ン ド OUT_FIFO に入力 さ れます。 PHY_Clk はそれぞれ、 メ モ リ の 4 ク ロ ッ ク サ イ ク ル分を必要 と する ため、 ア ド レ ス/制御/ コ マ ン ド 信号は値を ク ロ ッ ク の 4 サ イ ク ル間保持す る 必要があ り ます。 3 つの コ マ ン ド があ り ます。 • 書 き 込み コ マ ン ド には、 シ ン プルな書 き 込み コ マ ン ド と オー ト プ リ チ ャ ージ付 き の書 き 込み コ マ ン ド が あ り ま す。 PHY 制御 ワ ー ド の PHY コ マ ン ド 値 は、 ど ち ら の 書 き 込み コ マ ン ド も 同 じ (0x01) で す。 異 な る 点は、 OUT_FIFO へ 入 力 さ れ る ア ド レ ス 値 で す。 オ ー ト プ リ チ ャ ー ジ 付 き 書 き 込み コ マ ン ド の 場合、 ア ド レ ス OUT_FIFO のビ ッ ト A10 は 1 と な り ます。 • 読み出 し コ マ ン ド には、 シ ン プルな読み出 し コ マ ン ド と オー ト プ リ チ ャ ージ付 き の読み出 し コ マ ン ド が あ り ま す。 PHY 制御 ワ ー ド の PHY コ マ ン ド 値 は、 ど ち ら の 読み出 し コ マ ン ド も 同 じ (0x11) で す。 異 な る 点は、 OUT_FIFO へ 入 力 さ れ る ア ド レ ス 値 で す。 オ ー ト プ リ チ ャ ー ジ 付 き 読み出 し コ マ ン ド の 場合、 ア ド レ ス OUT_FIFO のビ ッ ト A10 は 1 と な り ます。 • ND (non-data) コ マ ン ド には、 Mode Register Set (モー ド レ ジ ス タ の設定)、 Refresh ( リ フ レ ッ シ ュ )、 Precharge (プ リ チ ャ ージ)、 Precharge All Banks (全バン ク をプ リ チ ャ ージ)、 Activate (ア ク テ ィ ブ化)、 No Operation (動作な し )、 Deselect (選択解除)、 ZQ Calibration Long (ZQ キ ャ リ ブ レーシ ョ ン ロ ン グ)、 お よ び ZQ Calibration Short (ZQ キ ャ リ ブ レ ー シ ョ ン シ ョ ー ト ) が あ り ま す。 PHY 制御 ワ ー ド の PHY コ マ ン ド 値は、 すべ て 同 じ (0x100) です。 OUT_FIFO へ入力 さ れ る RAS_N、 CAS_N、 WE_N、 バン ク ア ド レ ス、 お よ びア ド レ ス値は、 コ マ ン ド に よ っ て異 な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 117 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 1-56 に、 ア ド レ ス/制御/ コ マ ン ド パ ス のブ ロ ッ ク 図を示 し ます。 ア ド レ ス/制御/ コ マ ン ド は SDR 信号であ る ため、 OSERDES はシ ン グル デー タ レー ト (SDR) モー ド で使用 さ れます。PHY 制御ワ ー ド は PHY_Ctl_Wr_N 信号で書 き 込 みが有効にな り 、 OUT_FIFO への入力は PHY_Cmd_WrEn 信号で有効にな り ます。 ア ド レ ス/ コ マ ン ド の専用 PHY は、 必要であればデフ ォ ル ト で 0 ま たは 1 に設定で き る ため、 PHY 制御ブ ロ ッ ク への有効な コ マ ン ド の間に長い待機時 間があ る 場合で も 、 FPGA ロ ジ ッ ク は NOP コ マ ン ド を発行す る 必要はあ り ません。 X-Ref Target - Figure 1-56 (QDEOHB&DOLE>@ )URP3+< &RQWURO%ORFN %XUVWB3HQGLQJ '46>@ &76>@ '76>@ 2&/.B'(/$<(' 5G(QDEOH 2&ON',9 3KDVH5HI 0HPB5HIB&ON )UHT5HI &PG%\WH*URXS 3+$6(5B287 1RWH&.LVLPSOHPHQWHGDVDQ 2''5FORFNHGE\''5B&ON 2&/. 3+<B&PGB $OPRVW)XOO ''5B&ONB 5$6B1 &$6B1 :(B1 %$>@ $>@ 3+<B&PGB)XOO 3+<B5$6B1 3+<B&$6B1 3+<B:(B1 3+<B&6B1 3+<B%$>@ 3+<B$>@ )XOO $) $( (PSW\ 287B),)2B ' :&ON :(Q 5(Q 4 5&/. ''5B'LY&ONB 2''5 %\WH *URXS 26(5'(6 %\WH*URXS 2%8) 2%8) 3+<B&ON 2)B5(B 3+<B&PGB:U(Q (QDEOHB&DOLE>@ )URP3+< &RQWURO%ORFN ,&ON; ,&ON'LY 5&ON %XUVWB3HQGLQJ %8),2 ''5B'LY5B&ON 3+$6(5B,1 3KDVH5HI )UHT5HI :ULWH(QDEOH &PG%\WH*URXS (QDEOHB&DOLE>@ )URP3+< &RQWURO%ORFN 3+$6(5B287 %XUVWB3HQGLQJ '46>@ &76>@ '76>@ 5G(QDEOH 3KDVH5HI )UHT5HI )XOO $) 2&/.B'(/$<(' 2&ON',9 $( (PSW\ 287B),)2B ' :&ON :(Q 5(Q 2&/. 4 5&ON $>@ ''5B&ONB ''5B'LY&ONB 26(5'(6 %\WH*URXS 2%8) 2)B5(B )URP3+< &RQWURO%ORFN (QDEOHB&DOLE>@ ,&ON; ,&ON',9 5&ON %XUVWB3HQGLQJ 3KDVH5HI 3+$6(5B,1 )UHT5HI :ULWH(QDEOH 8*BFBB 図 1-56 : ア ド レ ス/ コ マ ン ド パスのブ ロ ッ ク図 図 1-57 に、 OUT_FIFO 出力か ら FPGA ピ ン ま でのア ド レ ス/ コ マ ン ド パ ス の タ イ ミ ン グ図を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 118 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-57 &/. &/.',9 5$6B1&$6B1:(B1 &6B1$''5%$ &PG &PG &PG &PG &PG &PG &PG &PG ,QSXWVWR26(5'(6LQ6'5 26(5'(62XWSXW 8*BFBB 図 1-57 : ア ド レ ス/ コ マ ン ド の タ イ ミ ン グ図 デー タ パス デー タ パ ス には、 書 き 込みデー タ パ ス と 読み出 し デー タ パ ス があ り ます。 7 シ リ ーズ FPGA のデー タ パ ス は、 FPGA ロ ジ ッ ク と イ ン タ ーフ ェ イ スす る IN/OUT_FIFO を使用 し た専用 ロ ジ ッ ク に完全に実装 さ れてい ます。 IN/OUT_FIFO は、 ク ロ ッ ク ド メ イ ン を ま た ぐ ほかに、 デー タ パ ス のシ リ ア ラ イ ズ/デシ リ ア ラ イ ズ を提供 し てい る ため、 FPGA ロ ジ ッ ク は DDR3 SDRAM ク ロ ッ ク の 1/4 の周波数ま での低速動作が可能です。 図 1-58 に、 デー タ パ ス のブ ロ ッ ク 図を 示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 119 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-58 )URP3+< &RQWURO%ORFN 0HPB5HIB&ON 3+<B2)B $OPRVW)XOO 3+<B2)B)XOO 3+<B'0>@ 3+<B'B2XW>@ (QDEOHB&DOLE>@ %XUVWB3HQGLQJ 'DWD%\WH*URXS '46>@ &76>@ '76>@ 2&/.B'(/$<(' 2&/. 2&/.',9 1RWH&.(LVLPSOHPHQWHGDVD6'52))FORFNHGE\''5B&ON 3+$6(5B287 3KDVH5HI )UHT5HI 5G(QDEOH $) )XOO $( (PSW\ 287B),)2B ' :&/. :(Q ''5B&.( ''5B'LY5B&ON 'B2XW>@'0 :U'LY%&ONB (PSW\ 3+<B'B,Q>@ 4 $) )XOO 5&/. 5(Q ,)B:(B )URP3+< &RQWURO%ORFN )URP3+< &RQWURO%ORFN 3+$6(5B,1 (QDEOHB&DOLE>@ %XUVWB3HQGLQJ 'B,Q>@ 5G'LY%&ONB ,&ON',9 ,&/. 5&ON '46>@ &76>@ '76>@ 2&/.B'(/$<(' 2&/. 2&/.',9 5G%&ONB 'DWD%\WH*URXS 1RWH5(6(7B1LVLPSOHPHQWHGDVD6'52))FORFNHGE\''5B&ON 3+$6(5B287 3KDVH5HI )UHT5HI ' 5G(QDEOH $) )XOO $( (PSW\ 287B),)2B :&ON :(Q 5(Q ''5B5(6(7B1 ''5B'LY5B&ON 5&/. (PSW\ 4 5&ON )XOO 5(Q :U%&ONBB ' ,1B),)2B ,6(5'(6 %\WH *URXS ,%8) :U%&ONB ,)B:(B 3KDVH5HI )UHT5HI 2%8) :&ON :(Q '46B,QB :ULWH(QDEOH (QDEOHB&DOLE>@ %XUVWB3HQGLQJ 26(5'(6 %\WH *URXS '47UL6WDWHB :U'LY%&ONB $) 2%8) '467UL6WDWHB 2)B5(B $( ,2% )OLS)ORS '46B 4 'B2XW>@'0 )URP3+< &RQWURO%ORFN ,%8) '46B,QB :ULWH(QDEOH (QDEOHB&DOLE>@ %XUVWB3HQGLQJ 3KDVH5HI )UHT5HI ,6(5'(6 %\WH *URXS :U&ONB :&/. :(Q 3+<B5G(Q :U%&ONBB ' ,1B),)2B 2%8) '47UL6WDWHB 2)B5(B $( 26(5'(6 %\WH *URXS '467UL6WDWHB 3+<B&ON 3+<B:U(Q 2%8) '46B 4 5&/. 5(Q ,2% )OLS)ORS 3+$6(5B,1 'B,Q>@ ,&ON',9 ,&/. 5&ON 5G'LY%&ONB 5G%&ONB 8*BFBB 図 1-58 : デー タ パスのブ ロ ッ ク 図 各 IN/OUT_FIFO には、メ モ リ エ レ メ ン ト の ス ト レージ ア レ イ が 10 個のグループ (8 ビ ッ ト × 8 エン ト リ ) と し て配列 さ れてい ます。 書 き 込み動作では、 OUT_FIFO がキ ャ リ ブ レーシ ョ ン ロ ジ ッ ク ま たは メ モ リ コ ン ト ロ ー ラ ーか ら 各 DQ ビ ッ ト の 8 ビ ッ ト デー タ を受信 し 、PHY_Clk ク ロ ッ ク ド メ イ ン (DDR2 ま たは DDR3 SDRAM ク ロ ッ ク の 1/4 の周 波数) で ス ト レージ ア レ イ にデー タ を書 き 込みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 120 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン OUT_FIFO は、 8 ビ ッ ト を 4 ビ ッ ト へシ リ ア ラ イ ズ し て、 OCLKDIV ド メ イ ン (DDR2 ま たは DDR3 SDRAM ク ロ ッ ク の 1/2 の周波数) で OSERDES へ 4 ビ ッ ト デー タ を出力 し ます。さ ら に OSERDES は、OCLK ド メ イ ンで 4 ビ ッ ト デー タ を シ リ アル DDR デー タ ス ト リ ームにシ リ ア ラ イ ズ し ます。PHASER_OUT ク ロ ッ ク 出力 OCLK を使用 し て DQ ビ ッ ト へ ク ロ ッ ク を供給 し 、 ま た OCLK_DELAYED 出力を使用 し て DQS へ ク ロ ッ ク を供給す る こ と で、 書 き 込み時の と それに付随す る DQ ビ ッ ト 間に 90 度の位相オ フ セ ッ ト を実現 し ます。 ラ イ ト レベ リ ン グでは、各 DDR2 ま たは DDR3 コ ン ポーネ ン ト の CK に DQS が揃 う よ う に OCLK と OCLK_DELAYED の両方がシ フ ト さ れます。 IN_FIFO (図 1-57) は、 バ イ ト グループの ISERDES でキ ャ プチ ャ し た各 DQ ビ ッ ト か ら 4 ビ ッ ト デー タ を受信 し 、 ス ト レージ ア レ イ に書 き 込みます。 IN_FIFO では、 4 ビ ッ ト のデー タ グ ラ ムの う ち 2 ビ ッ ト を各 8 ビ ッ ト の メ モ リ エ レ メ ン ト へ書 き 込む こ と に よ っ て、 さ ら にデー タ をデシ リ ア ラ イ ズ し ます。 こ の 8 ビ ッ ト のパ ラ レル デー タ が PHY_Clk ク ロ ッ ク ド メ イ ン (DDR2 ま たは DDR3 SDRAM ク ロ ッ ク の 1/4 の周波数) で出力 さ れます。 IN_FIFO か ら の各読み出 し サ イ ク ルには、バース ト 長 8 の メ モ リ 読み出 し ト ラ ンザ ク シ ョ ンで読み出 さ れ る すべてのバ イ ト デー タ が含まれま す。 DDR2 ま たは DDR3 SDRAM ク ロ ッ ク の 1/4 の周波数で FPGA ロ ジ ッ ク を動作 さ せた場合、 専用 PHY への入力 デー タ バ ス幅は、 DDR2 ま たは DDR3 SDRAM のデー タ バス幅の 8 倍にな り ます。 省電力機能 MIG ツールで生成 さ れたデザ イ ンは SSTL T_DCI 規格を使用す る ため、 FPGA 出力 ド ラ イ バーがア ク テ ィ ブの と き は DCI をオ フ に し て電力を節約 し ます。 さ ら に、 IOBUF_DCIEN (HP バン ク ) お よ び IOBUF_INTERMDISABLE (HR バン ク ) プ リ ミ テ ィ ブ を使用す る こ と に よ っ て、 出力がア ク テ ィ ブの と き に IBUF を自動的に無効に し ます。 コ ン ト ロ ー ラ ーは、 こ れ ら のプ リ ミ テ ィ ブ を使用 し て、 コ ン ト ロ ー ラ ーがア イ ド ル状態の と き に DCI/IN_TERM お よ び IBUF の 両方を無効に し ます。 IOBUF_DCIEN お よ び IOBUF_INTERMDISABLE プ リ ミ テ ィ ブについての詳細は、 『 7 シ リ ーズ FPGA SelectIO™ リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] を参照 し て く だ さ い。 キ ャ リ ブ レーシ ョ ンお よび初期化 メ モ リ の初期化 PHY は、 シ ス テ ム リ セ ッ ト がデ ィ ア サー ト さ れた後、 メ モ リ に対 し て JEDEC® 準拠の DDR2 ま たは DDR3 初期化 シーケ ン ス を実行 し ます。 各 DDR2 ま たは DDR3 SDRAM には一連のモー ド レ ジ ス タ があ り 、 MRS (モー ド レ ジ ス タ セ ッ ト ) コ マ ン ド でア ク セ ス し ます。 こ れ ら のモー ド レ ジ ス タ では、 バース ト 長、 読み出 し お よ び書き 込み CAS レ イ テ ン シ、 追加レ イ テ ン シな ど、 さ ま ざ ま な SDRAM の動作を定義 し ます。 こ れ ら の レ ジ ス タ にプ ロ グ ラ ム さ れ る ビ ッ ト 値は PHY で設定可能であ り 、 最上位の HDL パ ラ メ ー タ (例 : BURST_MODE (BL)、 BURST_TYPE、 CAS レ イ テ ン シ (CL)、 CAS 書 き 込みレ イ テ ン シ (CWL)、 オー ト プ リ チ ャ ージ用の書 き 込み リ カバ リ (tWR)、 オン ダ イ 終端抵抗値 (RTT_NOM お よ び RTT_WR)、 出力駆動能力 (OUTPUT_DRV) な ど) で判断 さ れます。 PHASER_IN 位相ロ ッ ク 読み出 し キ ャ リ ブ レーシ ョ ン モー ド では、 フ リ ー ラ ン ニ ン グの周波数基準 ク ロ ッ ク を関連す る 読み出 し DQS 信号の 位相 と 揃え る ために PHASER_IN を使用 し ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 連続す る 読み出 し コ マ ン ド を発行 し て PHASER_IN ブ ロ ッ ク に連続す る DQS パルス の ス ト リ ーム を与え る こ と で、PHASER_IN の位相を ロ ッ ク し ます。 PHASER_IN ブ ロ ッ ク が フ リ ー ラ ン ニ ン グの周波数基準 ク ロ ッ ク と その関連す る 読み出 し DQS 信号の位相を揃え る には、 連続す る DQS パル ス の ス ト リ ーム が必要です。 各 DQS には、 それに関連す る PHASER_IN ブ ロ ッ ク があ り ま す。 すべての DQS PHASER_IN の PHASER_IN ロ ッ ク 信号 (pi_phase_locked) がアサー ト さ れ る と 、 キ ャ リ ブ レー シ ョ ン ロ ジ ッ ク が読み出 し キ ャ リ ブ レーシ ョ ン信号をデ ィ アサー ト し 、 PHASER_IN を通常動作モー ド に し ます。 PHASER_IN DQSFOUND のキ ャ リ ブ レーシ ョ ン I/O バン ク 内で複数の DQS グループ を同 じ PHY_Clk の ク ロ ッ ク エ ッ ジに揃え る ために、 こ のキ ャ リ ブ レーシ ョ ン段 階が必要です。 DDR2 ま たは DDR3 コ ン ポーネ ン ト への ク ロ ッ ク (CK) の フ ラ イ バ イ 配線がそれぞれ異な り 、 各 コ ン ポーネ ン ト での遅延に差があ る ため、 ス キ ュ ーは DQS グループに よ っ て異な り ます。 I/O バン ク ご と の読み出 し コ マ ン ド に対す る 読み出 し data_offset の最適な位置を決定する ため、 こ の段階が必要です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 121 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン こ の段階では、 PHASER_IN ブ ロ ッ ク が通常動作モー ド で、 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク に よ っ て、 間隔があ る 連続 し た 4 つ の 読み出 し コ マ ン ド が 発行 さ れ ま す。 最初 の 読み出 し コ マ ン ド に 関 し て は、 往復遅延 が 不明 な た め、 data_offset 値は正確ではあ り ません。 HP I/O バン ク を使用す る イ ン タ ーフ ェ イ ス では、 最初の連続す る 読み出 し コ マ ン ド セ ッ ト の data_offset は CL + 13 に設定 さ れ ます。 その後の読み出 し コ マ ン ド セ ッ ト に対 し ては、 PHASER_IN ブ ロ ッ ク か ら の DQSFOUND 出力が アサー ト さ れ る ま で、 data_offset の値が メ モ リ の 1 ク ロ ッ ク サ イ ク ルご と にデ ク リ メ ン ト さ れます。 すべてのバ イ ト に対 し て DQSFOUND 信号がアサー ト さ れ る と 、 CK 遅延段階が開始 し ます。 HR I/O バン ク を使用す る イ ン タ ーフ ェ イ ス の場合、 最初の読み出 し コ マ ン ド セ ッ ト の data_offset が CL – 2 に設 定 さ れます。 その後の読み出 し コ マ ン ド セ ッ ト に対 し ては、 PHASER_IN ブ ロ ッ ク か ら の DQSFOUND 出力がアサー ト さ れ る ま で、 data_offset の値が メ モ リ の 1 ク ロ ッ ク サ イ ク ルご と に イ ン ク リ メ ン ト さ れます。 すべてのバ イ ト に 対 し て DQSFOUND 信号がアサー ト さ れ る と 、 CK 遅延段階が開始 し ます。 CK 遅延段階では、 CK/ア ド レ ス/ コ マ ン ド /制御バ イ ト レーンに対 し て、 PHASER_OUT 段階 2 遅延 タ ッ プが 0 か ら 63 に 1 ずつ イ ン ク リ メ ン ト さ れ ます。 こ れに よ り 、 読み出 し DQS プ リ ア ン ブルの開始位置が移動 し 、 DQSFOUND がエ ラ ー と な り ます。 イ ン タ ーフ ェ イ ス全体に 1 つで も DQSFOUND エ ラ ーがあ る と 、 エ ラ ー と な り ます。 有効な ウ ィ ン ド ウ は、 DQSFOUND エ ラ ーが発生 し た位置の タ ッ プを記録する こ と で決定 さ れます。 CK/ア ド レ ス/ コ マ ン ド /制御バ イ ト レーンの最終的な タ ッ プ値は、 有効な ウ ィ ン ド ウ の中央に設定 さ れます。 エ ラ ー と な る エ ッ ジがない場合は、 最終 タ ッ プは 32 に設定 さ れます。 各バ イ ト グループは、 フ ラ イ バ イ 配線およ び遅延の差に よ り 、 異な る PHY_Clk サ イ ク ルで IN_FIFO か ら 読み出 さ れ る 可能性があ り ます。 し たがっ て、 全バ イ ト グループの IN_FIFO の Not Empty フ ラ グ を AND 接続 し 、 こ れを全デー タ IN_FIFO の読み出し イ ネーブル と し て使用し ます。図 1-59 に、 読み出し データ キ ャ プチ ャ の タ イ ミ ン グ図を示し ま す。 X-Ref Target - Figure 1-59 '46&HQWHUHGLQ 9DOLG'DWD:LQGRZ 5G%&/. 4,QSXW 4,QSXW 4,QSXW 4,QSXW 5G'LY%&/. ,6(5'(642XWSXW ,6(5'(642XWSXW ,6(5'(642XWSXW ,6(5'(642XWSXW ,1B),)2ZUB(QDEOH 8*BFBB 図 1-59 : 読み出 し デー タ キ ャ プ チ ャ の タ イ ミ ング図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 122 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ラ イ ト レ ベ リ ング DDR3 SDRAM で利用可能な ラ イ ト レ ベ リ ン グ機能は、 こ の段階で実行 さ れ ま す。 DDR3 SDRAM モジ ュ ールでは、 シ グナル イ ン テ グ リ テ ィ を向上す る ため、 ク ロ ッ ク 、 ア ド レ ス、 コ マ ン ド 、 制御な ど の信号に フ ラ イ バ イ ト ポ ロ ジ が使用 さ れてい ます。 特に、 ク ロ ッ ク 信号、 ア ド レ ス信号、 お よ び制御信号はすべてデ イ ジー チ ェーン方式で配線 さ れ、 各 ト レース の末端は終端処理 さ れてい ます。 ただ し 、 こ れに よ っ てモジ ュ ールの各 メ モ リ デバ イ ス で ス ト ロ ーブ 信号 (DQS) と ク ロ ッ ク 信号 (CK) 間に ス キ ュ ーが発生 し ます。DDR3 SDRAM の新機能であ る ラ イ ト レベ リ ン グ を使用 す る と 、 コ ン ト ロ ー ラ ーが各書 き 込み DQS の位相を DDR3 SDRAM デバ イ スへ転送 さ れた CK に対 し て個別に調整で き ます。 こ れに よ り 、 DQS と CK 間の ス キ ュ ーが補正 さ れ、 tDQSS 仕様が満た さ れます。 ラ イ ト レベ リ ン グでは、 FPGA メ モ リ イ ン タ ーフ ェ イ ス が DQS を駆動 し 、 DDR3 SDRAM デバ イ ス が DQ を駆動 し て フ ィ ー ド バ ッ ク を提供 し ます。 FPGA メ モ リ イ ン タ ーフ ェ イ ス は、 DQ が 0 か ら 1 へ遷移する ま で DQS を遅延 さ せ る こ と がで き ます。 ラ イ ト レベ リ ン グは、 電源投入後に一度実行 さ れます。 フ ィ ー ド バ ッ ク と し て使用す る バ イ ト 内の ビ ッ ト は さ ま ざ ま な メ モ リ ベン ダーに よ っ て異な る ため、 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク では、 バ イ ト 内の DQ ビ ッ ト に対 し て OR を実行 し て遷移を判断 し ま す。 7 シ リ ーズ FPGA では、 PHASER_OUT で細精度ま たは粗精度の遅延調 整を実行 し て、 DQS 信号を遅延 さ せ る こ と が可能です。 図 1-60 に、 ECC のブ ロ ッ ク 図を示 し ます。 X-Ref Target - Figure 1-60 )3*$ 3+$6(5B287 &2$56((1$%/( &2$56(,1& ),1((1$%/( ),1(,1& 2&/. 2''5 :ULWH /HYHOLQJ /RJLF '46%86>@ 2&/.B'(/$<(' &. ' '46%86>@ 3+$6(5B287 ''56'5$0 &. 4 '46 2''5 '46 :ULWH/HYHO ,1B),)2 ,&/.',9 3+<B&/. %8)* ,&/. ,6(5'(6 )HHGEDFN '4 5HJXODU 3+$6(5B,1 8*BFBB 図 1-60 : ラ イ ト レ ベ リ ングのブ ロ ッ ク 図 図 1-61 に、 ラ イ ト レベ リ ン グの タ イ ミ ン グ図を示 し ます。 FPGA メ モ リ イ ン タ ーフ ェ イ ス か ら DQS パルス が周期的 に出力 さ れ、 DDR3 SDRAM デバ イ ス で CK ク ロ ッ ク の レベルが検出 さ れ ます。 DQS パル ス間の間隔は、 最小 と な る ク ロ ッ ク の 16 サ イ ク ル と し て指定 さ れ ま す。 フ ィ ー ド バ ッ ク の DQ 入力で 0 か ら 1 への遷移が検出 さ れ る ま で、 PHASER_OUT の細精度ま たは粗精度の遅延調整を用いて タ ッ プ を イ ン ク リ メ ン ト し て DQS を遅延 さ せます。 ラ イ ト レベ リ ン グ機能で DQS に遅延 さ せ る と 、 tDQSS 仕様を確実に満たす こ と がで き ます。 X-Ref Target - Figure 1-61 &/.DW)3*$2XWSXW '46DW)3*$2XWSXW &.DW''56'5$0 '46DW''56'5$0 '46'HOD\HGZLWK 3+$6(5B2XW '4)HHGEDFN ; 8*BFBB 図 1-61 : ラ イ ト レ ベ リ ングの タ イ ミ ング図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 123 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 1-62 では、 ラ イ ト レベ リ ン グ中に求め ら れ る ワース ト ケース の遅延が 1 tCK (DDR3 SDRAM ク ロ ッ ク 周期) であ る こ と を示 し てい ます。 X-Ref Target - Figure 1-62 $SSUR[LPDWHO\W&. :RUWKRI7DSV5HTXLUHG &/.DW''56'5$0 '46DW''56'5$0 '46'HOD\HGZLWK 3+$6(5B287:ULWH /HYHOLQJ&RPSOHWH '4)HHGEDFN ; W&. ''56'5$0&ORFN3HULRG 8*BFBB 図 1-62 : ラ イ ト レ ベ リ ン グの タ ッ プ要件 イ ン プ リ メ ン テーシ ョ ンの詳細 ラ イ ト レ ベ リ ン グ モー ド の開始を示す write_calib_n 信号が tWLDQSEN 後に PHY 制御ブ ロ ッ ク へ入力 さ れ る と 、 ODT アサー ト 後に DQS 信号が確実に Low 駆動 し ます。 こ のモー ド では ラ イ ト レベ リ ン グ用に周期的に DQS 信 号を生成す る ために、 書 き 込み要求が周期的に PHY 制御ブ ロ ッ ク に発行 さ れなければな り ません。 ラ イ ト レベ リ ン グでは、 PHASER_IN が フ リ ー ラ ン ニ ン グ ク ロ ッ ク を出力 し 、 DQ IN_FIFO への DQ フ ィ ー ド バ ッ ク を キ ャ プチ ャ し ま す。 ラ イ ト レベ リ ン グ時、 そのデー タ バ イ ト グループの IN_FIFO は Flow-Through モー ド にな り ます。 図 1-63 に、 ラ イ ト レベ リ ン グにおけ る コ マ ン ド シーケ ン ス の フ ロ ー図を示 し ます。 PHASER_OUT の細精度位相シ フ ト タ ッ プが 1 タ ッ プずつ イ ン ク リ メ ン ト さ れ、 DQ フ ィ ー ド バ ッ ク の 0 か ら 1 への遷移を計測 し ます。 ジ ッ タ ーが あ る 領域で誤っ てエ ッ ジが検出 さ れ る リ ス ク を軽減す る ため、 ラ イ ト レベ リ ン グ ロ ジ ッ ク には安定 し た カ ウ ン タ ー が実装 さ れます。 カ ウ ン タ ー値が 3 の場合は、 タ ッ プ を 3 回 イ ン ク リ メ ン ト し て も サンプ リ ン グ し たデー タ 値が変わ ら なか っ た こ と を意味 し てお り 、 DQS が CK に対 し て安定 し た領域にあ る と 考え ら れます。 直前の値 と 異な る 値が検 出 さ れ る と 、 カ ウ ン タ ー値は 0 に リ セ ッ ト さ れます。 ま た、 カ ウ ン タ ー値が 3 未満にな る と 、 エ ッ ジ検出が停止 し ま す。 すべての ラ ン ク の全 DQS で ラ イ ト レベ リ ン グが実行 さ れ る と 、 write_calib_n 信号がデ ィ アサー ト さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 124 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-63 ,VVXH05&RPPDQGWR(QDEOH :5/9/IRU&XUUHQW5DQN 'HDVVHUW:ULWHBFDOLEBQ ,QSXWWR3KDVHU&RQWURO%ORFN $VVHUW2'7DIWHU02' ,QFUHPHQW 5DQN&RXQW $VVHUWZULWHBFDOLEBQ,QSXWWR3+< &RQWURO%ORFNDIWHU:/'46(1 <HV 1R ,VVXH:ULWH&RPPDQGWR3+< &RQWURO%ORFNIRU'463XOVH*HQHUDWLRQ 1R :DLWIRU0HPRU\&ORFN&\FOHV ,VFXUUHQW UDQNGRQH" WR 7UDQVLWLRQ:KHQ 6WDEOH&RXQWHU " ,QFUHPHQW'46 FRXQWWRQH[W'46 LQDFWLYHUDQN <HV $OO5DQNV 'RQH" <HV ,VVXH05WR 'LVDEOH:ULWH /HYHOIRU &XUUHQW5DQN 1R ,QFUHPHQW)LQH&RDUVH3+$6(5B287 'HOD\IRU'46EHLQJ:ULWH/HYHOHG :DLWD)HZ&\FOHVIRU3+$6(5B287 'HOD\WR6HWWOH 8*BFBB 図 1-63 : ラ イ ト レ ベ リ ングのフ ロー図 汎用レ ジ ス タ の リ ー ド レベ リ ング こ の段階では、 書 き 込み DQS は書 き 込み DQ ウ ィ ン ド ウ の中央に位置 し てお ら ず、 読み出 し DQS も 読み出 し DQ ウ ィ ン ド ウ の中央に位置 し てい ません。汎用レ ジ ス タ (MRP) は、読み出 し DQS を読み出 し DQ ウ ィ ン ド ウ の中央に位置 さ せ る ために使用 し ます。 MRP には、 あ ら か じ め定義 さ れた 01010101 パ タ ーンがあ り 、 こ のキ ャ リ ブ レーシ ョ ン段 階で リ ー ド バ ッ ク さ れ ます。 キ ャ リ ブ レーシ ョ ン の次の段階では、 読み出 し DQS が中央に位置 し てい る 必要があ り ます。 MPR リ ー ド レベ リ ン グは、 バ イ ト 単位で実行 さ れ る 、 2 段階のプ ロ セ ス です。 • 第 1 段階では、 バ イ ト 内の Bit[0] を モニ タ リ ン グす る こ と に よ り 、 IDELAY タ ッ プ を使用 し てバ イ ト 内の全 DQ ビ ッ ト を遅延 さ せます。 DQ ビ ッ ト は、 DQS の最初の立ち上が り エ ッ ジ後に、 最初に有効 と な る 立ち上が り エ ッ ジ デー タ ま で移動 さ れます。 • 第 2 段階では、 PHASER_IN の細精度 タ ッ プを使用 し て、 バ イ ト ウ ィ ン ド ウ全体にわた っ て DQS を移動 さ せ、 2 つの エ ッ ジ を 検出 し ま す。 総計 ア イ を 測定す る た め に バ イ ト ウ ィ ン ド ウ を 移動す る 間、 DQ バ イ ト レ ー ン (Bits[7:0]) 全体がモニ タ リ ン グ さ れます。 JEDEC 規格では、 バ イ ト の Bit[0] に MPR パ タ ーン を送信す る のみが規 定 さ れてい ますが、 テ ス ト し たベン ダーはすべてバ イ ト 全体に MPR パ タ ーン送信 し てい ま し た。 • 最小デー タ ウ ィ ン ド ウ (MIN_EYE_SIZE) は、 測定する 2 つのエ ッ ジ を カバーする 必要があ り ます。 • 2 番目のエ ッ ジが検出で き ない場合は、 second_edge_taps は0 に設定 さ れます。 63 が細精度 タ ッ プの最大値であ り 、 エ ッ ジが検出 さ れていないので、 こ のアルゴ リ ズ ムでは 2 番目のエ ッ ジの タ ッ プ位置 と し て 63 を使用 し て デー タ ウ ィ ン ド ウ の中間点を計算 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 125 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン OCLKDELAYED のキ ャ リ ブ レーシ ョ ン こ の段階では、 PHASER_OUT 段階 3 の遅延を使用 し て、 書き 込み DQS を書 き 込み DQ ウ ィ ン ド ウ の中央に位置 さ せ ます。 段階 3 の開始 タ ッ プ値は 28 ~ 34 であ り 、 メ モ リ ク ロ ッ ク に よ っ て決ま り ます。 バ イ ト ベース で実行 さ れ る こ のキ ャ リ ブ レーシ ョ ン段階は、 次の 3 つのサブ ス テージで構成 さ れます。 • 段階 3 の タ ッ プ リ ミ ッ ト 判断 • 書 き 込み DQ 信号の有効な ウ ィ ン ド ウ のエ ッ ジ検出 • 書 き 込み DQS が書 き 込みデー タ 有効ウ ィ ン ド ウ の中央に位置 DDR3 SDRAM JEDEC 仕様では、 tDQSS 仕様で定義 さ れてい る CK の ±90 度以内に書き 込み DQS が存在す る 必要があ り ます。 エ ッ ジ検出中におけ る tDQSS の違反を回避す る ために、 こ のサブ ス テージで段階 3 の タ ッ プ移動の左右の リ ミ ッ ト 値が判断 さ れます。 こ れ ら の リ ミ ッ ト 値は、 キ ャ リ ブ レーシ ョ ンの中央位置を最適化する ための MMCM 位相 シ フ ト タ ッ プ を使用 し て測定 さ れます。 こ のサブ ス テージは、 lim_start に よ っ て開始 さ れます。 lim_done で有 効化 さ れ る 出力信号 lim2ocal_stg3_left_lim お よ び lim2ocal_stg3_right_lim がエ ッ ジ検出サブ ス テージ への入力 と な り ます。 エ ッ ジ検出サブ ス テージでは、まず最初に 1 つ以上のエ ッ ジが検出 さ れ る か、あ る いは タ ッ プ値が lim2ocal_stg3_ left_lim に到達す る ま で、 段階 3 の タ ッ プ をデ ク リ メ ン ト し 続け ま す。 その後、 段階 3 の タ ッ プは、 1 つ以上の エ ッ ジが検出 さ れ る か、 あ る いは lim2ocal_stg3_right_lim に到達す る ま で イ ン ク リ メ ン ト さ れます。 エ ッ ジ検出段階の最後では、 次の信号に よ っ て、 いずれのエ ッ ジが検出 さ れたかがわか り ま す。 図 1-64 に、 異な る エ ッ ジ と それ ら の信号名を示 し ます。 • f2z – こ の信号がアサー ト さ れ る と 、立ち上が り ウ ィ ン ド ウ の左エ ッ ジが検出 さ れた こ と を示 し 、立ち上が り ウ ィ ン ド ウ の左エ ッ ジの タ ッ プ値 と し て fuzz2zero を有効に し ます。 • z2f – こ の信号がアサー ト さ れ る と 、立ち上が り ウ ィ ン ド ウ の右エ ッ ジが検出 さ れた こ と を示 し 、立ち上が り ウ ィ ン ド ウ の右エ ッ ジの タ ッ プ値 と し て zero2fuzz を有効に し ます。 • f2o – こ の信号がアサー ト さ れ る と 、立ち下が り ウ ィ ン ド ウ の左エ ッ ジが検出 さ れた こ と を示 し 、立ち下が り ウ ィ ン ド ウ の左エ ッ ジの タ ッ プ値 と し て fuzz2oneeighty を有効に し ます。 • o2f – こ の信号がアサー ト さ れ る と 、立ち下が り ウ ィ ン ド ウ の右エ ッ ジが検出 さ れた こ と を示 し 、立ち下が り ウ ィ ン ド ウ の右エ ッ ジの タ ッ プ値 と し て oneeighty2fuzz を有効に し ます。 X-Ref Target - Figure 1-64 IR ULVH :ULWH'4EXV I] RI IDOO ]I 図 1-64 : 立ち上が り と 立ち下が り のデー タ ウ ィ ン ド ウ エ ッ ジ 段階 3 開始 タ ッ プ値に よ っ て DQS が DQ を基準に し て 90 度~ 225 度の間に配置 さ れます。 検出 さ れ る エ ッ ジの数は、 最初の ラ イ ト レベ リ ン グ実行後の書 き 込みレベルの タ ッ プ値 と DQ に対す る DQS の開始位置に依存 し ます。 DQS が 90 度~ 180 度間の DQ 立ち上が り ウ ィ ン ド ウ で開始 し た場合には、 次の可能性があ り ます。 • f2z、 z2f、 お よ び f2o のいずれかのエ ッ ジが検出 さ れ る 。 • ま たは、 立ち上が り ウ ィ ン ド ウ の f2z お よ び z2f のエ ッ ジが検出 さ れ る 。 • ま たは、 f2z のエ ッ ジのみ検出 さ れ る か、 z2f のエ ッ ジのみ検出 さ れ る 。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 126 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 180 度付近の ノ イ ズ/ジ ッ タ ー領域で DQS が開始する と 、 次の可能性があ り ます。 • z2f、 f2o、 お よ び o2f のいずれかのエ ッ ジが検出 さ れ る 。 • ま たは、 f2z、 z2f、 お よ び f2o のエ ッ ジが検出 さ れ る 。 • ま たは、 ノ イ ズの z2f お よ び f2o のエ ッ ジが検出 さ れ る 。 最後に、 180 度~ 225 度の立ち下が り ウ ィ ン ド ウ で DQS が開始する 場合は、 次の可能性があ り ます。 • z2f、 f2o、 お よ び o2f のいずれかのエ ッ ジが検出 さ れ る 。 • ま たは、 f2o お よ び o2f のエ ッ ジが検出 さ れ る 。 • ま たは、 f2o のエ ッ ジのみ検出 さ れ る 。 表 1-86 に、 DQ に対す る 書 き 込み DQS の さ ま ざ ま な開始状況、 検出で き る 可能性のあ る エ ッ ジ、 お よ び中央の値を決 定す る 式を示 し ます。 表 1-86 : 書き込み DQS の開始状況 DQS の開始 f2z z2f f2o o2f 中央の値を求める式 立ち上が り ウ ィ ン ド ウ (90o ~ 180o) ケース 1 検出 検出 検出 検出 さ れない (fuzz2zero + zero2fuzz)/2 ケース 2 検出 検出 検出 さ れない 検出 さ れない (fuzz2zero + zero2fuzz)/2 ケース 3 検出 検出 さ れない 検出 さ れない 検出 さ れない (fuzz2zero + lim2ocal_stg3_right_lim)/2 ケース 4 検出 さ れない 検出 検出 さ れない 検出 さ れない (lim2ocal_stg3_left_lim + zero2fuzz)/2 ノ イ ズ/ジ ッ タ ー領域 ケース 1 検出 検出 検出 検出 さ れない (fuzz2zero + zero2fuzz)/2 ケース 2 検出 さ れない 検出 検出 検出 (zero2fuzz + fuzz2oneeighty)/2 – 90o ケース 3 検出 さ れない 検出 検出 検出 さ れない (zero2fuzz + fuzz2oneeighty)/2 – 90o 立ち下が り ウ ィ ン ド ウ (180o ~ 225o) ケース 1 検出 さ れない 検出 検出 検出 (zero2fuzz + fuzz2oneeighty)/2 – 90o ケース 2 検出 さ れない 検出 さ れない 検出 検出 (fuzz2oneeighty + oneeighty2fuzz)/2 – 180o ケース 3 検出 さ れない 検出 さ れない 検出 検出 さ れない (fuzz2oneeighty + lim2ocal_stg3_right_lim)/2 – 180o 中央揃えのサブ ス テージでは、 エ ッ ジ検出段階で検出 さ れたエ ッ ジに基づいて、 書き 込み DQS が書き 込み DQ ウ ィ ン ド ウ の中央に配置 さ れます。 こ の段階の最後には、 書き 込み DQS が書 き 込み DQ ウ ィ ン ド ウ の中央に位置 し てい る 必 要があ り ます。 DQS と CK の位相関係が正 し く ないため、 こ のキ ャ リ ブ レーシ ョ ン段階の最後で ラ イ ト レベ リ ン グが 実行 さ れます。 段階 3 タ ッ プがデ ク リ メ ン ト さ れ る ご と に、 段階 2 タ ッ プが 2 ずつ イ ン ク リ メ ン ト さ れて、 ラ イ ト レベ リ ン グで確立 さ れた DQS と CK の関係が保持 さ れます。 同様に、 段階 3 タ ッ プが イ ン ク リ メ ン ト さ れ る ご と に、 段階 2 タ ッ プが 2 ずつデ ク リ メ ン ト さ れます。 段階 2 タ ッ プが 0 ま たは 63 に到達 し た場合、 tDQSS 違反を回避する ため、 左右の リ ミ ッ ト 値に到達す る ま で イ ン ク リ メ ン ト /デ ク リ メ ン ト 可能です。 こ の段階の最後に、 ラ イ ト レベ リ ン グが再度実行 さ れ、 段階 2 タ ッ プ を使用 し て DQS と CK の位相が揃え ら れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 127 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 書き込みキ ャ リ ブ レーシ ョ ン 書 き 込みキ ャ リ ブ レーシ ョ ンでは、 正 し いデー タ パ タ ーン シーケ ン ス の検出が必要なため、 リ ー ド レベ リ ン グの両 段階が完了 し た後に実行 さ れます。 DQS 信号を正 し い CK エ ッ ジに揃え る ために書 き 込みキ ャ リ ブ レーシ ョ ンが必要 です。 ラ イ ト レベ リ ン グ中に、 DQS は CK 信号の直近の立ち上が り エ ッ ジに揃え ら れます。 ただ し 、 こ のエ ッ ジは書 き 込み コ マ ン ド を キ ャ プチ ャ す る エ ッ ジではない場合があ り ま す。 イ ン タ ーフ ェ イ ス の タ イ プ (UDIMM、 RDIMM、 ま たは コ ン ポーネ ン ト ) に よ っ て、 DQS は書き 込みコ マ ン ド を キ ャ プチ ャ する CK エ ッ ジ よ り 1 サ イ ク ル前、 1 サ イ ク ル後 、 ま たは同 じ サ イ ク ルにな り ます。 図 1-65 に、 UDIMM ま たは RDIMM イ ン タ ーフ ェ イ ス の DQS と CK 間の初 期の位相関係に基づ く い く つかのシナ リ オを示 し ます。図 1-66 では、コ ン ポーネ ン ト イ ン タ ーフ ェ イ ス の最初の DQS と CK の位相一致を示 し てい ます。 前提条件 と し て、 コ ン ポーネ ン ト イ ン タ ーフ ェ イ ス はフ ラ イ バ イ ト ポ ロ ジ も 使用 す る ため、 ラ イ ト レベ リ ン グが必要です。 X-Ref Target - Figure 1-65 SV &.#&RPS '46#&RPS EHIRUHZULWHOHYHOLQJ :ULWHOHYHOHG '46#&RPS DOLJQHGZLWK ZULWHFRPPDQG&. &.HGJHWKDWFORFNV:UB&PG SV &.#&RPS '46#&RPS EHIRUHZULWHOHYHOLQJ :ULWHOHYHOHG'46# FRPSRQHF\FOH HDUOLHUWKDQ :UB&PG&. HGJHVR'46'4 UHTXLUHVDQDGGLWLRQDO F\FOHRIGHOD\ 8*BFBB 図 1-65 : UDIMM/RDIMM の DQS と CK 間の初期ア ラ イ メ ン ト X-Ref Target - Figure 1-66 SV &.#&RPS &.HGJHWKDWFORFNV:UB&PG '46#&RPS :ULWHOHYHOHG'46# &RPSRQHF\FOH DIWHUWKH:UB&PG&. HGJHVR'46'4PXVW EHVHQWRXW&:/ DIWHUWKH:UB&PG 8*BFBB 図 1-66 : コ ンポーネ ン ト の DQS-CK 間の初期ア ラ イ メ ン ト Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 128 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PHASER_OUT の細精度お よ び粗精度遅延は、 ラ イ ト レベ リ ン グに 1 tCK 相当の遅延を追加 し ます。 位相を正 し い CK エ ッ ジに揃え る ために追加で必要 と な る ク ロ ッ ク サ イ ク ル遅延には、粗精度遅延 ラ イ ン を使用 し ます。 必要な合計遅 延が ク ロ ッ ク の 1 サ イ ク ル を 超 え る 場合、 PHASER_OUT ブ ロ ッ ク に は循環バ ッ フ ァ ーが追加 さ れ て い る た め、 PHASER_OUT ブ ロ ッ ク への div_cycle_delay 入力を アサー ト す る 必要はあ り ません。 イ ン プ リ メ ン テーシ ョ ンの詳細 既知の書 き 込みデー タ パ タ ーン (FF 00 AA 55 55 AA 99 66) の書 き 込み コ マ ン ド が特定位置に対 し て発行 さ れま す。 その後、 同 じ 位置に読み出 し コ マ ン ド が発行 さ れます。 IN_FIFO か ら リ ー ド バ ッ ク さ れたデー タ が予測デー タ パ タ ーン と バ イ ト ご と に比較 さ れます。 読み出 さ れたデー タ と 予測デー タ が一致する 場合は、 そのバ イ ト の書 き 込みパ ス では変更が必要です (図 1-67)。 リ ー ド バ ッ ク さ れた最初の 2 つのデー タ ワー ド が、予測パ タ ーンの 2 つ目の ワー ド セ ッ ト と 一致す る 場合、DQS と DQ ト ラ イ ス テー ト 信号を 1 メ モ リ ク ロ ッ ク 分遅延 さ せ る 必要があ り ます。図 1-68 に 詳 細 図 を 示 し ま す。 す べ て の バ イ ト が キ ャ リ ブ レ ー ト さ れ た 後、 キ ャ リ ブ レ ー シ ョ ン ロジッ クが init_calib_complete 信号を アサー ト し 、 初期化 と キ ャ リ ブ レーシ ョ ン シーケ ン ス が完了 し た こ と を示 し ます。 こ れで メ モ リ コ ン ト ロ ー ラ ーは、 ア ド レ ス、 コ マ ン ド 、 お よ びデー タ バ ス を駆動で き ます。 X-Ref Target - Figure 1-67 &.HGJHWKDWFORFNV:UB&PG &/: &.#FRPS :ULWHOHYHOHG '46#&RPS DOLJQHGWRWKH :UB&PG&.HGJH '4#FRPS )) $$ $$ 8*BFBB 図 1-67 : 正 し い CK エ ッ ジに揃っ た DQS 信号 - 書き込みパスの変更な し X-Ref Target - Figure 1-68 &.HGJHWKDWFORFNV:UB&PG &:/ &.#FRPS :ULWHOHYHOHG '46#FRPS RQHF\FOHHDUOLHUWKDQ :UB&PG&.HGJH '46#FRPS PXVWEHGHOD\HGE\ PHPRU\FORFNF\FOH )) $$ $$ 8*BFBB 図 1-68 : 不正な CK エ ッ ジに揃 っ た DQS 信号 - DQS/DQ 信号を メ モ リ の 1 ク ロ ッ ク サイ クル分遅延 リ ー ド レ ベ リ ング ラ イ ト レベ リ ン グ段階 1 は、 デー タ キ ャ プチ ャ の最初の段階で読み出 し 有効デー タ ウ ィ ン ド ウ の中央に読み出 し ス ト ロ ーブ信号を配置す る ために必要です。 DDR2 ま たは DDR3 SDRAM な ど の ス ト ロ ーブ ベース の メ モ リ イ ン タ ー フ ェ イ ス では、 2 番目の転送段階で別のパル ス が必要です。 こ の信号は、 7 シ リ ーズ FPGA では PHASER_IN ブ ロ ッ ク か ら 提供 さ れ ま す。 こ の段階では、 PHASER_IN 段階 2 の細精度遅延 ラ イ ン を使用 し て、 デ ス テ ィ ネーシ ョ ン ク ロ ッ ク を有効な DQ ウ ィ ン ド ウ の中央に位置 さ せます。 デス テ ィ ネーシ ョ ン ク ロ ッ ク は、 PHASER_IN の位相 ロ ッ ク 段階で読み出 し DQS 信号 と 位相が揃え ら れてい る フ リ ー ラ ン ニ ン グの FREQ_REF ク ロ ッ ク 信号です。 PHASER_IN は、 ICLK お よ び ICLKDIV の 2 つの ク ロ ッ ク を提供 し ます。 ICLK は段階 2 の遅延出力で、 ICLKDIV は ICLK を 2 分周 し 、 こ れ と 立ち上が り エ ッ ジが揃っ た ク ロ ッ ク です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 129 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 1 つの PHASER_IN ブ ロ ッ ク の ICLK お よ び ICLKDIV 出力 を 使用 し て、 1 つのバ イ ト グ ループ内のすべて の DQ ISERDES へ ク ロ ッ ク を供給 し ます。 ICLKDIV も 読み出 し DQ IN_FIFO の書 き 込み ク ロ ッ ク と し て使用 し ます。 1 つの PHASER_IN ブ ロ ッ ク は、 12 の I/O か ら な る 1 つのグループに関連付け ら れてい ます。 7 シ リ ーズ FPGA の各 I/O バ ン ク には 4 つの PHASER_IN ブ ロ ッ ク があ る ため、 1 つのバン ク に DDR2 ま たは DDR3 SDRAM の 4 バ イ ト を置 く こ と がで き ます。 イ ン プ リ メ ン テーシ ョ ンの詳細 リ ー ド レベ リ ン グの こ の段階では、 各 DQS を1 バ イ ト ずつその有効バ イ ト ウ ィ ン ド ウ の中央に揃え ます。 こ の段階 では最初に指定の DDR2 ま たは DDR3 SDRAM ア ド レ ス位置に対 し て定義済みのデー タ パ タ ーン を使用 し た書 き 込 み コ マ ン ド を発行 し ます。 こ の書 き 込み コ マ ン ド の後、 連続 し た読み出 し コ マ ン ド を発行 し 、 書 き 込み先 と 同 じ ア ド レ ス位置か ら 連続 し てデー タ を読み出 し ます。 エ ッ ジが検出 さ れ る ま で、 アルゴ リ ズ ムがバ イ ト 内のすべての DQ ビ ッ ト に対 し て同時に IDELAY タ ッ プ を イ ン ク リ メ ン ト し ます。 IDELAY イ ン ク リ メ ン ト の終了時は、 DQS が ウ ィ ン ド ウ の左端ま たは左端手前に位置 し ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は IN_FIFO か ら デー タ を読み出 し 、 比較す る ために記録 し てお き ます。 こ の段階では、 デー タ パ タ ーンのシーケ ン ス が重要です。 細精度遅延 ラ イ ンの タ ッ プ 0 での DQS と デー タ ウ ィ ン ド ウ の最初の位置 関係はわか っ てい ません。 アルゴ リ ズ ムは、 PHASER_IN の細精度遅延 ラ イ ン を使用 し て、 DQ ウ ィ ン ド ウ のエ ッ ジが 検出 さ れ る ま で DQS 信号を遅延 さ せます。 デー タ ウ ィ ン ド ウ を検出す る には、同 じ タ ッ プ値で複数サ イ ク ルにわた っ てデー タ を読み出 し て平均を求め る アルゴ リ ズ ム を使用 し ま す。 サ ン プ リ ン グ サ イ ク ル数は 214 に設定 さ れてい ます。 平均化以外に も 、 DQS が不安定な ジ ッ タ ー領域に位置 し てい る か ど う かカ ウ ン タ ーを使用 し て ト ラ ッ キ ン グ し ます。 カ ウ ン タ ー値が 3 の場合は、 タ ッ プ を 3 回 イ ン ク リ メ ン ト し て も サンプ リ ン グ さ れたデー タ 値が変わ ら なか っ た こ と を意味 し てお り 、 DQS が安定領域にあ る と 考え ら れます。 直前の値 と 異な る 値が検出 さ れ る と 、 カ ウ ン タ ー値は 0 に リ セ ッ ト さ れます。 次に、 デー タ 不一致が検出 さ れ る ま で DQS PHASER_IN ブ ロ ッ ク の細精度位相シ フ ト 遅延 ラ イ ン を 1 タ ッ プずつ イ ン ク リ メ ン ト し ます。 必要な安定時間が経過 し た後、 IN_FIFO か ら 読み出 し たデー タ を直前の タ ッ プ値で記録 し たデー タ と 比較 し ます。 こ の比較を、 デー タ 不一致が検出 さ れ、 有効なデー タ ウ ィ ン ド ウ のエ ッ ジが検出 さ れた こ と が示 さ れ る ま で繰 り 返 し ます。安定 し た カ ウ ン タ ー値が定数 3 にな っ た と き の PHASER_IN の細精度の位相シ フ ト タ ッ プの 数が有効 ウ ィ ン ド ウ です。 こ のアルゴ リ ズ ムに よ り 、 不安定なジ ッ タ ー領域で有効エ ッ ジ を誤検出す る 可能性が抑え ら れます。 デー タ ウ ィ ン ド ウ に関す る DQS の初期位置については 3 つのシナ リ オがあ り ます。 DQS の最初の有効な立ち上が り エ ッ ジは、 前のデー タ ウ ィ ン ド ウ内、 現在のデー タ ウ ィ ン ド ウ の左側にあ る ノ イ ズ領域、 ま たは現在のデー タ ウ ィ ン ド ウ内ではあ る が ノ イ ズ領域の直後、 のいずれかです。 PHASER_IN の細精度遅延 ラ イ ンには 64 タ ッ プあ り ます ( こ の タ ッ プはビ ッ ト 時に相当す る ため、 タ ッ プ精度は周波数に よ っ て異な る )。 最初の 2 つの場合は、 ビ ッ ト 時の 1/2 以下の タ ッ プ数で左端のデー タ ウ ィ ン ド ウ が検出 さ れ、 2 つ目の ウ ィ ン ド ウ エ ッ ジは周波数や ノ イ ズ領域の幅に よ っ ては検出 さ れない こ と があ り ます。 3 つ目の場合は、 1 ビ ッ ト 時に近い タ ッ プ数で右端の ウ ィ ン ド ウ エ ッ ジが検出 さ れ ます。 両エ ッ ジが検出 さ れ る と 、 最終的な DQS タ ッ プ値は次の よ う に算 出 さ れます。 first_edge_taps + (second_edge_taps – first_edge_taps)/2 エ ッ ジが 1 つのみ検出 さ れ、 その タ ッ プ数が ビ ッ ト 時の半分以下の場合、 最終的な DQS タ ッ プ値は次の よ う に算出 さ れます。 (first_edge_taps + (63 – first_edge_taps)/2) エ ッ ジが 1 つのみ検出 さ れて、 その タ ッ プ数がほぼ 1 ビ ッ ト 時に相当す る 場合、 最終的な DQS タ ッ プ値は次の よ う に算出 さ れます。 (63 – (63 – first_edge_taps/2)) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 130 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 1-69 に、 デー タ 有効 ウ ィ ン ド ウ に対 し て DQS が中央に位置 し てい る タ イ ミ ン グ図を示 し ます。 X-Ref Target - Figure 1-69 ,QLWLDO'46 ,QLWLDO'4%LWV '46DW/HIW:LQGRZ(GJH '4%LWV'HOD\HGXVLQJ ,'(/$<7DSV '46&HQWHUHGLQ9DOLG :LQGRZ ; 図 1-69 : リ ー ド レ ベ リ ング段階 1 の タ イ ミ ング図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 131 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PRBS リ ー ド レ ベ リ ン グ こ の段階は、 リ ー ド レベ リ ン グ段階の後に実行 さ れます。 リ ー ド レベ リ ン グ キ ャ リ ブ レーシ ョ ン段階で決定 さ れ る DQS PHASER_IN の細精度 タ ッ プ設定が、こ の段階の開始点 と し て使用 さ れます。PRBS リ ー ド レベ リ ン グ段階に よ っ て、 リ ー ド レ ベ リ ン グ キ ャ リ ブ レ ーシ ョ ン段階で決定 さ れた DQ IDELAY タ ッ プ設定が変更 さ れ る こ と はあ り ま せ ん。 こ のキ ャ リ ブ レーシ ョ ン段階の最初に、 ブ ロ ッ ク RAM にあ ら か じ め ロ ー ド さ れた複雑なパ タ ーンが、 DDR3 SDRAM に書 き 込 ま れ ま す。 こ のシーケ ン ス はその後、 読み出 し デー タ の有効 ウ ィ ン ド ウ を決定す る ために不連続に リ ー ド バ ッ ク さ れ ます。 タ ッ プの各 PHASER では、 内部のサ ン プル数設定に よ っ て決定 さ れた回数の リ ー ド バ ッ ク が発生 し ま す。 こ の ア ル ゴ リ ズ ム は、 リ ー ド レ ベ リ ン グ キ ャ リ ブ レ ー シ ョ ン 段階 (初期 タ ッ プ 値) で決定 さ れ た DQS PHASER_IN の細精度 タ ッ プ設定か ら 開始 し 、 読み出 し デー タ と 予測デー タ を比較 し てデー タ の不一致が検出 さ れ る ま で 1 タ ッ プずつデ ク リ メ ン ト し ます。 読み出 し 有効マージ ン を増やすために、 FINEDELAY を使用す る ビ ッ ト 単位 の ス キ ュ ー調整 も 備え ら れて い ま す。 FINEDELAY は IDELAY プ リ ミ テ ィ ブの一部です。 こ の ア ル ゴ リ ズ ム では、 PHASER_IN タ ッ プ 0 でのエ ッ ジ検出を開始 し ます。 有効なパ タ ーン を検出す る ま で イ ン ク リ メ ン ト し 、 タ ッ プ値を 左エ ッ ジ と し て記録 し ます。 PHASER_IN タ ッ プは さ ら に イ ン ク リ メ ン ト さ れ、 デー タ パ タ ーンの不一致が検出 さ れ る か タ ッ プ値が 63 にな る と 、 その タ ッ プ値が右エ ッ ジ と し て記録 さ れ ます。 最後に、 検出 さ れたエ ッ ジに基づいて 読み出 し デー タ の有効 ウ ィ ン ド ウ の中央を算出 し ます。 ダ イ ナ ミ ッ ク キ ャ リ ブ レーシ ョ ンおよび周期的読み出 し 動作 PHASER_IN は、読み出 し 中に 2 つの動的調整を実行 し ます。1 つは PHASER_IN DLL 内で実行 さ れます。PHASER_IN DLL では、 フ リ ー ラ ン ニ ン グの周波数基準 ク ロ ッ ク の位相ア ラ イ メ ン ト を関連の読み出 し DQS に固定する ため、DQS エ ッ ジが必要です。 こ の動的調整では、 DQS エ ッ ジのみを参照 し て必要な調整を実行 し ます。 DQS エ ッ ジがな く な る バース ト の最後では内部 ク ロ ッ ク が使用 さ れ ますが、 最後のデー タ を ISERDES を介 し て送信す る ために ク ロ ッ ク が 必要です。 2 つ目の動的調整は、 その後の読み出 し 用に DQS プ リ ア ンブルの位置を微調整す る ために実行 さ れます。 こ の調整で は、 DQS プ リ ア ン ブルのみが参照 さ れ ます。 こ れは、 内部 ク ロ ッ ク に対 し て DQS を移動す る 可能性のあ る シ ス テ ム の ド リ フ ト を考慮す る ために必要です。 こ れ ら の PHASER_IN での動的調整では、 PHASER_IN を継続 し て調整 し て読み出 し 可能な状態に し てお く ため、 周 期的読み出 し が必要です。 こ のため、 バス がア イ ド ル状態や書き 込みを実行 し てい る 間、 MIG 7 Series DDR2/DDR3 コ ン ト ロ ー ラ ーに よ り 1µs ご と に周期的読み出 し が送信 さ れ ます。 PHASER_IN では、 読み出 し DQS のみが必要です。 つま り 、 読み出 し がユーザー イ ン タ ーフ ェ イ ス か ら の要求どお り に実行 さ れた場合は、 コ ン ト ロ ー ラ ーに よ り 周期的 読み出 し は送信 さ れません。 コ ン ト ロ ー ラ ーが書 き 込みを実行中に、 1µs 間隔の周期的読み出 し が必要 と な る 場合、 読み出 し はキ ュ ーの次の読み 出 し /書 き 込みのア ド レ ス に送信 さ れます。コ ン ト ロ ー ラ ーがア イ ド ル状態で読み出 し も 書 き 込み も 要求 さ れていない 場合は、 周期的読み出 し で最後にア ク セ ス さ れた ア ド レ ス が使用 さ れます。 ア ド レ ス が閉 じ ら れてい る 場合は、 ア ク テ ィ ブにす る 必要があ り ます。 動的ア ラ イ メ ン ト には、 2 つの連続 し た BL8 読み出 し が必要です。 すべ て の動的調整はハー ド ロ ジ ッ ク ですが、 DQS を 確認す る た め に送信 さ れ る 周期的読み出 し は、 MIG 7 Series DDR2/DDR3 コ ン ト ロ ー ラ ーで制御 さ れ る ソ フ ト ロ ジ ッ ク です。 重要 : PHY のみのデザ イ ンには、 カ ス タ ム コ ン ト ロ ー ラ ー内に周期的読み出 し ロ ジ ッ ク を含め る 必要があ り ます。 周期的読み出 し が含ま れていない場合、 次の 2 つが発生 し て問題を引 き 起 こ す可能性があ り ます。 1. フ リ ー ラ ン ニ ン グ PHASER_IN ICLK が DQS か ら ド リ フ ト す る 。 こ れに よ り 、 ICLK が切 り 替わ る と き に メ モ リ シ ス テ ムで問題が発生す る こ と があ り ます。 2. 読み出 し レ イ テ ン シ調整が PHASER 内で実行 さ れない。 こ れに よ り 、 PHASER_IN 内の ス イ ッ チ ロ ジ ッ ク で問題 が発生す る こ と があ り ます。 周期的読み出 し は、 ISE Design Suite 14.1 で リ リ ース さ れた MIG v1.5 に追加 さ れてい ます。 その後、 PHASER_IN のア ラ イ メ ン ト を保持 し 、 後続の読み出 し を実行で き る 状態に し てお く には、 1µs の周期的読み出 し が必要であ る こ と が わか っ てい ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 132 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 重要 : 周期的読み出 し の周波数は 1µs にす る 必要があ り 、 変更で き ません。 温度モ ニ タ ー 温度モニ タ ーは、 温度 ド リ フ ト を補正 し て DQS がデー タ 有効ウ ィ ン ド ウ の中央に揃え ら れ る よ う に し ます。 温度モニ タ ーは 2 つのモジ ュ ールか ら 構成 さ れてい ます。 1 つ目のモジ ュ ールであ る tempmon は、 XADC モジ ュ ール を イ ン ス タ ン シエー ト し 、 XADC を周期的にサンプ リ ン グ し てその時点のデバ イ ス温度を確認 し ます。 tempmon は、 XADC キ ャ リ ブ レーシ ョ ンお よ び温度測定 (両方 と も 平均化機能付 き ) を連続的に反復す る よ う に XADC を設定 し ま す。 こ れに よ り 、 温度測定が 116µs ご と に更新 さ れます。 tempmon モジ ュ ールは ク ロ ッ ク イ ン フ ラ ス ト ラ ク チ ャ の 内部に配置 さ れてい ます。 ま た、 こ のモジ ュ ールは、 メ モ リ コ ン ト ロ ー ラ ー FPGA ロ ジ ッ ク ク ロ ッ ク への並列温度 バ ス を同期 さ せます。 XADC の イ ン ス タ ン シエーシ ョ ンは、 ユーザー デザ イ ンであ ら か じ め XADC を イ ン ス タ ン シエー ト する 場合は、 省 略で き ます。 こ の選択は MIG GUI 上で設定 し ます。 こ の場合は、 device_temp_i[11:0] を動作 さ せて周期的に更新す る 必要があ り ます。 最低で も 116µs ご と に更新 し て く だ さ い。 更新頻度の上限はあ り ません。 こ の頻度を上げて も REF レ ー ト は影響 さ れ ま せん。 device_temp_i[11:0] 値は、 XADC 仕様 『LogiCORE IP XADC Wizard 製品ガ イ ド 』 (PG091) [参照 11] で定義 さ れ る と お り に DRP ポー ト か ら 変換 さ れ る こ と な く 読み出 さ れ る 未処理の値です。温度チ ャ ネルでは、 必ず XADC の平均化を有効に し ます。 温度を測定す る 場合は、 その他のチ ャ ネルで平均化が不要で も 、 平 均化を有効に し てか ま い ません。 平均化は 16 に設定 し ます。 ただ し 、 ほかの XADC チ ャ ネルで既に設定 さ れてい る 場合は、 64 ま たは 256 も 設定可能です。 2 つ目のモジ ュ ールであ る ddr_phy_tempmon は最上位キ ャ リ ブ レーシ ョ ン モジ ュ ールの calib_top にあ り ます。 こ のモジ ュ ールは、device_temp[11:0] を tempmon モジ ュ ールか ら 、そ し て イ ネーブル信号を メ モ リ コ ン ト ロ ー ラ ーか ら 受信 し ます。 イ ネーブル信号は、 REF ま たは ZQ コ マ ン ド が DRAM へ送信 さ れ、 保留中の ト ラ ンザ ク シ ョ ンすべてが DQ バス を ク リ アす る と 必ず、 メ モ リ コ ン ト ロ ー ラ ーに よ っ てセ ッ ト さ れます。 温度測定値は、 イ ネーブ ル信号が Low か ら High に遷移す る ク ロ ッ ク で、 サンプ リ ン グ さ れます。 PHY のみのデザ イ ン を利用 し たユーザーデザ イ ンでは、ZQ ま たは REF が発行 さ れ る たびに、tempmon_sample_en 入力を駆動す る 必要があ り ま す。 保留中の読み出 し がすべて ISERDES 経由で受信 さ れた後に、 こ の信号を High に し 、 REF ま たは ZQ が完了 し て ACT の送信準備が整 う ま で保持す る 必要があ り ます。 キ ャ リ ブ レーシ ョ ンが完了 し て イ ネーブル信号がセ ッ ト さ れた後、 ddr_phy_tempmon は device_temp[11:0] バ ス をサンプ リ ン グ し て基準温 度を確立 し ます。 後続の各 イ ネーブル信号ご と にその時点の温度が基準温度 と 比較 さ れます。 温度があ る 程度変化する と 、 モジ ュ ール は温度 ド リ フ ト を軽減す る ために PHASER_IN の遅延を細か く 調整 し ます。 こ のプ ロ セ ス は通常動作中、 継続 し て行 われます。 メ モ リ コ ン ト ロー ラ ー と PHY 間のイ ン タ ー フ ェ イ ス キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク モジ ュ ールは、 キ ャ リ ブ レーシ ョ ン中に PHY 制御ワー ド を構築 し て、 PHY 制御ブ ロ ッ ク へ送信 し ます。 キ ャ リ ブ レーシ ョ ンが完了す る と 、 init_calib_complete 信号がアサー ト さ れ、 通常動作が可 能であ る こ と を メ モ リ コ ン ト ロ ー ラ ーへ伝え ます。レ イ テ ン シが増加する のを回避する ため、 メ モ リ コ ン ト ロ ー ラ ー は専用 PHY ブ ロ ッ ク で要求 さ れ る 形式で コ マ ン ド を送信す る 必要があ り ます。 その結果、 ア ド レ ス、 コ マ ン ド 、 制 御、 お よ びデー タ バ ス は PHY 制御ブ ロ ッ ク へ送信 さ れ る 前に多重化 さ れます。 こ れ ら のバ スは、 メ モ リ の初期化お よ びキ ャ リ ブ レーシ ョ ン中はキ ャ リ ブ レーシ ョ ン モジ ュ ールで駆動 さ れ、 通常動作中は メ モ リ コ ン ト ロ ー ラ ーで駆 動 さ れ ま す。 表 1-87 に、 メ モ リ コ ン ト ロ ー ラ ー と PHY 間の イ ン タ ー フ ェ イ ス 信号を示 し ま す。 こ れ ら の信号は、 FPGA ロ ジ ッ ク ク ロ ッ ク と 同期 し てい ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 133 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-87 : メ モ リ コ ン ト ロー ラ ー と キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク 間のイ ン タ ー フ ェ イ ス信号 信号名 幅 I/O から PHY (PHY から I/O) タ イプ 説明 rst 1 入力 – PHY_Clk ド メ イ ン に同期 し て い る イ ン フ ラ ス ト ラ ク チ ャ モ ジ ュ ールか ら の rstdiv0 出力信号です。 PHY_Clk 1 入力 – こ の ク ロ ッ ク 信号は、 DDR2/DDR3 ク ロ ッ ク 周波数の 1/4 です。 mem_refclk 1 入力 – DDR2/DDR3 と 同 じ 周波数 の ク ロ ッ ク で す。 freq_refclk 1 入力 – 400MHz ~ 933MHz の場合は mem_refclk と 同 じ ク ロ ッ ク 周波数で、400MH 未満の場合 は mem_refclk の 1/2 ま た は 1/4 と な り ま す。 sync_pulse 1 入力 – PLL か ら 出力 さ れ る 同期パルス です。 pll_lock 1 入力 – イ ン フ ラ モ ジ ュ ールに イ ン ス タ ン シ エー ト さ れ て い る 、 PLL か ら 出力 さ れ る LOCKED 信号です。 mmcm_ps_clk 1 入力 – キ ャ リ ブ レ ー シ ョ ン の中央位置 を 最適化 す る た め に、 OCLKDELAYED キ ャ リ ブ レーシ ョ ン段階で使用 さ れ る MMCM 位相 シ フ ト ク ロ ッ ク です。 poc_sample_pd 1 入力 – OCLKDELAYED キ ャ リ ブ レ ー シ ョ ン ロ ジ ッ ク 内の位相検出へ入力 さ れ る 信号で、 中央位置の最適化に使用 さ れます。 iddr_rst 1 入力 アクティブ High OCLKDELAYED キ ャ リ ブ レ ー シ ョ ン ロ ジ ッ ク 内の位相検出器 を リ セ ッ ト す る 入 力です。 psen 1 出力 アクティブ High psen を mmcm_ps_clk の 1 ク ロ ッ ク サ イ ク ル 分アサー ト する と 、 位相シ フ ト を イ ン ク リ メ ン ト ま たはデ ク リ メ ン ト で き る よ う にな り ます。 psincdec 1 出力 アクティブ High psincdec が High にな る と 、VOC 周期の 1/56 分 の 位相 イ ン ク リ メ ン ト が 行 わ れ ま す。 psincdec が Low にな る と 、VOC 周期の 1/56 分の位相デ ク リ メ ン ト が行われます。 psdone 1 入力 アクティブ High 位相シ フ ト が完了す る と 、 MMCM が こ の 信号を mmcm_ps_clk の 1 ク ロ ッ ク サ イ ク ル間アサー ト し ます。 mc_ras_n [nCK_PER_CLK0 – 1:0] 入力 アクティブ Low シー ケ ン ス 内の 4 つの コ マ ン ド の最初は mc_xxx_n[0] です。 mc_cas_n [nCK_PER_CLK – 1:0] 入力 アクティブ Low シー ケ ン ス 内の 4 つの コ マ ン ド の最初は mc_xxx_n[0] です。 mc_we_n [nCK_PER_CLK – 1:0] 入力 アクティブ Low シー ケ ン ス 内の 4 つの コ マ ン ド の最初は mc_xxx_n[0] です。 mc_address [ROW_WIDTH nCK_ PER_CLK – 1:0] 入力 – シーケ ン ス 内の 4 つの コ マ ン ド ア ド レ ス の 最初 は mc_address[ROW_WIDTH – 1:0] です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 134 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-87 : メ モ リ コ ン ト ロー ラ ー と キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク 間のイ ン タ ー フ ェ イ ス信号 (続き) 信号名 幅 I/O から PHY (PHY から I/O) タ イプ 説明 mc_bank [BANK_WIDTH nCK_ PER_CLK – 1:0] 入力 – シーケ ン ス 内の 4 つの コ マ ン ド ア ド レ ス の最初は mc_bank[BANK_WIDTH – 1:0] で す。 mc_cs_n [CS_WIDTH nCS_PER_ RANK nCK_PER_CLK – 1:0] 入力 – mc_cs_n [CS_WIDTH – 1:0] が、 シーケ ン ス 内の最初の コ マ ン ド に関連す る cs_n 信号 です。 mc_odt [1:0] 入力 – mc_odt [1:0] は、RTT_NOM お よ び RTT_WR 値に基づい て コ ン ト ロ ー ラ ーが駆動す る ODT です。 こ の信号は、 CKE_ODT_AUX パ ラ メ ー タ ーが FALSE に設定 さ れてい る 場合に有効 と な り ます。 mc_cke [nCK_PER_CLK – 1:0] 入力 – mc_cke [nCK_PER_CLK - 1:0] は、DARM イ ン タ ー フ ェ イ ス に関連す る CKE です。 こ の信号は、 CKE_ODT_AUX パ ラ メ ー タ ー が FALSE に設定 さ れてい る 場合に有効 と な り ます。 mc_reset_n 1 入力 アクティブ Low mc_reset_n は、 OUT_FIFO を使用せずに直 接 IOLOGIC へ接続 さ れ る 入力です。 mc_wrdata [2 nCK_PER_CLK DQ_ WIDTH – 1:0] 入力 – 専用 PHY への書 き 込みデー タ 信号です。 4:1 ク ロ ッ ク 比の場合、メ モ リ DQ 幅の 8 倍 にな り ます。 mc_wrdata_mask [2 nCK_PER_CLK (DQ_ WIDTH/8) – 1:0] 入力 – 専用 PHY に対す る 書 き 込みデー タ マ ス ク です。 4:1 ク ロ ッ ク 比の場合、 メ モ リ DM 幅の 8 倍にな り ます。 mc_wrdata_en 1 入力 アクティブ High DQ OUT_FIFO への WREN 入力です。 mc_cmd_wren 1 入力 アクティブ High ア ド レ ス/ コ マ ン ド OUT_FIFO の書 き 込み イ ネーブル入力です。 mc_ctl_wren 1 入力 アクティブ High 専用 PHY ブ ロ ッ ク の PHY 制御 ワ ー ド FIFO への書き 込み イ ネーブル入力です。 mc_cmd [2:0] 入力 – PHY_Ctl_Wd コ ン フ ィ ギ ュ レーシ ョ ンに使 用 さ れます。 0x04 : ND (Non-Data) コ マ ン ド ( コ マ ン ド シーケ ン ス に列コ マ ン ド がない) 0x01 : 書き 込みコ マ ン ド 0x03 : 読み出 し コ マ ン ド mc_data_offset [5:0] 入力 – PHY_Ctl_Wd コ ン フ ィ ギ ュ レーシ ョ ンに使 用 さ れます。 0x00 : ND (Non-Data) コ マ ン ド ( コ マ ン ド シーケ ン ス に列コ マ ン ド がない) CWL + COL cmd position + 2 (nCK_PER_CLK = 4 の場合) ま たは CWL + COL cmd position – 2 (nCK_PER_CLK = 2 の 場合) : 書 き 込み コ マ ン ド calib_rd_data_offset+COL cmd position – 1 : 読み出 し コ マ ン ド Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 135 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-87 : メ モ リ コ ン ト ロー ラ ー と キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク 間のイ ン タ ー フ ェ イ ス信号 (続き) 信号名 幅 I/O から PHY (PHY から I/O) mc_aux_out0 [3:0] mc_aux_out1 タ イプ 説明 入力 アクティブ High PHY 制御ワ ー ド の補助出力フ ィ ール ド で、 ODT お よ び CKE の ア サー ト を 制御 し ま す。 [3:0] 入力 アクティブ High PHY 制御ワ ー ド の補助出力フ ィ ール ド で、 4 ラ ン ク イ ン タ ーフ ェ イ ス の ODT お よ び CKE のアサー ト を制御 し ます。 mc_rank_cnt [1:0] 入力 – PHY 制御 ワ ー ド の コ マ ン ド シーケ ン ス で ア ク セ ス さ れ る ラ ン ク です。 phy_mc_ctl_full 1 出力 アクティブ High すべての PHY 制御 FIFO の全 Almost FULL フ ラ グ を ビ ッ ト 単位で AND 接続 し た信号 です。 あ と 1 つのエン ト リ で FIFO が フル に な る 場合には Almost FULL フ ラ グ が ア サー ト さ れます。 phy_mc_cmd_full 1 出力 アクティブ High すべて の コ マ ン ド OUT_FIFO の全 Almost FULL フ ラ グ を ビ ッ ト 単位で OR 接続 し た 信号です。 あ と 1 つのエン ト リ で FIFO が フ ルに な る 場合には Almost FULL フ ラ グ がアサー ト さ れます。 phy_mc_data_full 1 出力 アクティブ High すべて の書 き 込みデー タ OUT_FIFO の全 Almost FULL フ ラ グ を ビ ッ ト 単位で OR 接 続 し た 信号です。 あ と 1 つの エ ン ト リ で FIFO が フ ルに な る 場合には Almost FULL フ ラ グがアサー ト さ れます。 phy_rd_data [2 nCK_PER_CLK DQ_ WIDTH – 1:0] 出力 – 専用 PHY か ら の読み出 し デー タ です。 4:1 ク ロ ッ ク 比の場合、 メ モ リ DQ 幅の 8 倍に な り ます。 phy_rddata_valid 1 出力 アクティブ High 有効 な 読み出 し デー タ が あ る 場合に ア サー ト さ れます。 calib_rd_data_offset [6 RANKS – 1:0] 出力 – 4 つの コ マ ン ド シーケ ン ス の command 0 に 関す る 、 キ ャ リ ブ レ ー ト さ れ た 読み出 し デー タ のオ フ セ ッ ト 値です。 init_calib_complete 1 出力 アクティブ High メ モ リ の初期化お よ び キ ャ リ ブ レ ーシ ョ ンが完了する と 、 アサー ト さ れます。 注記 : 1. nCK_PER_CLK は、 PHY_Clk の 1 サ イ ク ルに対す る DDR2 ま たは DDR3 SDRAM の ク ロ ッ ク サ イ ク ル数を定義 し ます。 2. ROW_WIDTH は、 DDR2 ま たは DDR3 SDRAM の ラ ン ク 数です。 3. BANK_WIDTH は、 DDR2 ま たは DDR3 SDRAM のバン ク 数です。 4. CS_WIDTH は、 DDR2 ま たは DDR3 SDRAM の cs_n 信号数です。 5. CKE_WIDTH は、 DDR2 ま たは DDR3 SDRAM のCKE 信号数です。 6. DQ_WIDTH は、 DDR2 ま たは DDR3 SDRAM の DQ バ ス幅です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 136 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ ア を使用するデザイ ン コ アは、 シ ミ ュ レーシ ョ ン可能なサ ンプル デザ イ ン に含まれてい ます。 サン プル デザ イ ンは、 設計を始め る 際の ヒ ン ト と し て、 あ る いはデバ ッ グの リ フ ァ レ ン ス と し て使用で き ます。 コ アの コ ン フ ィ ギ ュ レーシ ョ ン を変更す る 場合は、 サポー ト さ れてい る 範囲内に し て く だ さ い。 サポー ト さ れてい る コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ーの詳細は、 152 ページの 「 コ アのカ ス タ マ イ ズ」 を参照 し て く だ さ い。 コ アへのイ ン タ ー フ ェ イ ス メ モ リ コ ン ト ロ ー ラ ーへの接続には、 AXI4 ス レーブ イ ン タ ーフ ェ イ ス、 ユーザー イ ン タ ーフ ェ イ ス (UI)、 ま たはネ イ テ ィ ブ イ ン タ ーフ ェ イ ス を使用で き ます。AXI4 ス レーブ イ ン タ ーフ ェ イ ス は、 プ ロ セ ッ サ サブシ ス テ ム と の接続 に理想的な、 AXI4 メ モ リ マ ッ プ方式に準拠 し た ス レーブです。 こ の イ ン タ ーフ ェ イ スは ト ラ ンザ ク シ ョ ン を変換 し て UI に渡 し ます。 UI は、 シ ンプルな FIFO イ ン タ ーフ ェ イ ス と 類似 し てお り 、 常にデー タ を順に返 し ます。 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス は、 性能を向上 さ せる こ と がで き る 場合があ り ますが、 使用は難 し く な り ます。 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス にはバ ッ フ ァ ーがな く 、デー タ がす ぐ に返 さ れますが、 返 さ れ る デー タ の順序が異な る 場合があ り ま す。 そのため、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス を使用す る 場合は、 順序変更を有効に し て、 アプ リ ケー シ ョ ン内部で受信デー タ の順序を並べ替え る 必要があ り ます。 次のセ ク シ ョ ンでは、 各 イ ン タ ーフ ェ イ ス の タ イ ミ ン グ プ ロ ト コ ルを示 し 、 それ ら の制御方法について説明 し ます。 AXI4 ス レーブ イ ン タ ー フ ェ イ ス AXI4 ス レ ーブ イ ン タ ー フ ェ イ ス は、 ARM 社の AMBA の公開仕様で定義 さ れてい る AXI4 メ モ リ マ ッ プ方式の ス レーブ プ ロ ト コ ル仕様に準拠 し てい ます。 AXI4 ス レーブ イ ン タ ーフ ェ イ ス の信号については、 こ の仕様書 [参照 4] を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 137 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン AXI ア ド レ ス指定 AXI マ ス タ ー デバ イ ス か ら の AXI ア ド レ ス は完全なバ イ ト ア ド レ ス です。 AXI shim が AXI SIZE お よ び メ モ リ デー タ 幅に基づいて AXI マ ス タ ーか ら メ モ リ へのア ド レ ス を変換 し ます。 AXI バ イ ト ア ド レ ス の LSB は、 メ モ リ ア レ イ のデー タ 幅に よ っ て 0 にマ ス ク さ れます。 メ モ リ ア レ イ が 64 ビ ッ ト (8 バ イ ト ) 幅の場合は、 AXI address[2:0] が無視 さ れて 0 と し て扱われます。 メ モ リ ア レ イ が 16 ビ ッ ト (2 バ イ ト ) 幅の場合には、 AXI address[0] が無視 さ れて 0 と し て扱われます。 DDR3 DRAM は、 バース ト 長 8 の 8 DRAM ワ ー ド のブ ロ ッ ク でア ク セ ス さ れます。 UI デー タ ポー ト は、 PHY と メ モ リ コ ン ト ロ ー ラ ー (MC) 間の ク ロ ッ ク 比が 4:1 の場合に 8 DRAM ワ ー ド 幅 と な り 、 ク ロ ッ ク 比が 2:1 のモー ド では 4 DRAM ワー ド 幅 と な り ます。 表 1-88 : AXI バイ ト ア ド レ スのマス ク PHY と MC の ク ロ ッ ク比 4:1 2:1 UI デー タ 幅 メ モ リ イ ン ターフ ェ イス AXI バイ ト ア ド レ ス [7:0] (LSB) のマス ク のデー タ 幅 64 8 A[7:0] 128 16 A[7:1]、 1'b0 256 32 A[7:2]、 2'b00 512 64 A[7:3]、 3'b000 32 8 A[7:0] 64 16 A[7:1]、 1'b0 128 32 A[7:2]、 2'b00 256 64 A[7:3]、 3'b000 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 138 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ア ッ プサイ ジ ング ユーザー イ ン タ ーフ ェ イ ス側のデー タ 幅が AXI イ ン タ ーフ ェ イ ス のデー タ 幅 よ り も 広い場合は、 AXI Shim イ ン タ ー フ ェ イ ス でア ッ プサ イ ジ ン グが実行 さ れます。 INCR お よ び WRAP バース ト にはデー タ パ ッ キ ン グが実行 さ れます。 その結果、 ユーザー イ ン タ ーフ ェ イ ス側に発行 さ れ る ト ラ ンザ ク シ ョ ンのデー タ ビー ト 数は圧縮に応 じ て減少 し ま す。 • 書 き 込みの場合、 デー タ が結合 さ れます。 • 読み出 し の場合、 デー タ がシ リ アル化 さ れます。 ユーザー イ ン タ ー フ ェ イ ス ユーザー イ ン タ ーフ ェ イ ス のア ド レ ス バ ス と 物理的な メ モ リ の行、 バン ク 、 列、 のマ ッ プは変更可能です。 アプ リ ケーシ ョ ン デー タ の構成に応 じ て、ア ド レ ス指定方法 (バン ク -行-列、 ま たは行-バン ク -列) を選択 し 、 コ ン ト ロ ー ラ ー の効率を最適化 し ます。 こ れ ら のア ド レ ス指定方法を、 図 1-70 お よ び図 1-71 にそれぞれ示 し ます。 X-Ref Target - Figure 1-70 8VHU$GGUHVV $ Q $ $ $ $ $ $ 0HPRU\ 5DQN %DQN 5RZ &ROXPQ 8*BFBB 図 1-70 : UI モ ジ ュ ールの メ モ リ ア ド レ ス マ ッ プ (バン ク-行-列モー ド ) X-Ref Target - Figure 1-71 8VHU$GGUHVV $ Q $ $ $ $ $ $ 0HPRU\ 5DQN 5RZ %DQN &ROXPQ 8*BFBDB 図 1-71 : UI モ ジ ュ ールの メ モ リ ア ド レ ス マ ッ プ (行-バン ク -列モー ド ) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 139 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 1-70 お よ び図 1-71 は、ア ド レ ス マ ッ プが文字列パ ラ メ ー タ ー MEM_ADDR_ORDER に よ っ て制御 さ れ る こ と を示 し ます。 こ のパ ラ メ ー タ ーは次の値 し か と る こ と がで き ません。 • BANK_ROW_COLUMN – ア ド レ ス マ ッ プは図 1-70 に示 し ます。 • ROW_BANK_COLUMN – ア ド レ ス マ ッ プは図 1-71 に示 し ます。 • TG_TEST – ア ド レ ス マ ッ プはテ ス ト の目的にのみ使用 さ れます。ア ド レ ス の再マ ッ プで DRAM の さ ま ざ ま な部 分へのア ド レ ス ア ク セ ス を テ ス ト 可能に し ます。次の例で説明 さ れ る よ う にア ド レ ス を再マ ッ プ し ます。 再マ ッ プは コ ン ト ロ ー ラ ーの UI 部分内部で実行 さ れます。 注記 : 行の幅、 列の幅、 お よ びバン ク の幅の値の設定は、 次の例を想定 し てい ます。 ° 行の幅 – 15 ° バン ク の幅 – 3 ° 列の幅 – 10 例 (1) – MIG GUI で選択 し たオプシ ョ ンが BANK_ROW_COLUMN で、 コ ン ト ロ ー ラ ーへのア ド レ ス がそれに応 じ て マ ッ プ さ れ る 場合 ア ド レ ス ビ ッ ト の元のマ ッ プ BANK ア ド レ ス ビッ ト ROW ア ド レ ス ビ ッ ト 23 22 21 20 COLUMN ア ド レ ス ビ ッ ト 27 26 25 24 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 B2 B1 B0 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 TG_TEST を用いて再マ ッ プ さ れたア ド レ ス BANK ア ド レ ス ビッ ト ROW ア ド レ ス ビ ッ ト 18 17 16 COLUMN ア ド レ ス ビ ッ ト 27 26 25 24 23 22 21 20 19 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 R0 C9 C8 R4 R3 B2 B1 B0 R14 R13 R12 R11 R10 R9 R8 C7 C6 C5 R2 R1 R7 R6 R5 C4 C3 C2 C1 C0 例 (2) – MIG GUI で選択 し たオプシ ョ ンが ROW_BANK_COLUMN で、 コ ン ト ロ ー ラ ーへのア ド レ ス がそれに応 じ て マ ッ プ さ れ る 場合 ア ド レ ス ビ ッ ト の元のマ ッ プ BANK ア ド レス ビ ッ ト ROW ア ド レ ス ビ ッ ト 27 26 25 24 23 13 12 11 10 COLUMN ア ド レ ス ビ ッ ト 22 21 20 19 18 17 16 15 14 9 8 7 6 5 4 3 2 1 0 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 B2 B1 B0 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 TG_TEST を用いて再マ ッ プ さ れたア ド レ ス BANK ア ド レス ビ ッ ト ROW ア ド レ ス ビ ッ ト 18 27 26 25 24 23 22 21 20 19 R0 C9 C8 R4 R3 B2 B1 B0 R14 R13 R12 R11 R10 R9 R8 C7 C6 C5 R2 R1 R7 R6 R5 C4 C3 C2 C1 C0 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 17 16 15 14 japan.xilinx.com 13 12 11 10 COLUMN ア ド レ ス ビ ッ ト 9 8 7 6 5 4 3 2 1 0 140 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ マ ン ド パス ユーザー ロ ジ ッ ク の app_en 信号がアサー ト さ れて UI が app_rdy 信号を アサー ト する と 、 コ マ ン ド が受信 さ れて UI に よ っ て FIFO へ書 き 込まれます。app_rdy がデ ィ アサー ト さ れ る と 、コ マ ン ド は常に UI で無視 さ れます。図 1-72 に示す よ う に、 ユーザー ロ ジ ッ ク は app_rdy 信号がア サー ト さ れ る ま で、 有効な コ マ ン ド と ア ド レ ス 値を示 し て app_en 信号を High に保持す る 必要があ り ます。 X-Ref Target - Figure 1-72 FON DSSBFPG :5,7( DSSBDGGU $GGU DSSBHQ &RPPDQGLVDFFHSWHGZKHQDSSBUG\LV+LJKDQGDSSBHQLV+LJK DSSBUG\ 8*BFBB 図 1-72 : UI の コ マ ン ド タ イ ミ ング図 (app_rdy 信号のアサー ト ) 連続 し た 書 き 込み コ マ ン ド は発行 さ れ ま せん (図 1-73)。 こ の図では、 app_wdf_data、 app_wdf_wren、 お よ び app_wdf_end の 3 つを示 し てい ます。 1. 書 き 込みデー タ は、 対応す る 書 き 込み コ マ ン ド に伴っ て現れます (BL8 の後半)。 2. 書 き 込みデー タ は、 対応す る 書 き 込み コ マ ン ド の前に現れます。 3. 書 き 込みデー タ は、 対応す る 書 き 込みコ マ ン ド の後に現れますが、 ク ロ ッ ク の 2 サ イ ク ル と い う 制限を超え る こ と はあ り ません。 3 番目の よ う に、 書 き 込み コ マ ン ド が レ ジ ス タ 格納 さ れた後に出力 さ れ る 書き 込みデー タ の場合、 最大遅延は ク ロ ッ ク の 2 サ イ ク ルです。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 141 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-73 FON DSSBFPG :5,7( DSSBDGGU $GGU 0D[LPXPDOORZHGGDWDGHOD\IURP DGGUFPGLVWZRFORFNVDVVKRZQ LQ(YHQW DSSBHQ DSSBUG\ DSSBZGIBPDVN DSSBZGIBUG\ : DSSBZGIBGDWD DSSBZGIBZUHQ DSSBZGIBHQG DSSBZGIBGDWD : DSSBZGIBZUHQ DSSBZGIBHQG : DSSBZGIBGDWD DSSBZGIBZUHQ DSSBZGIBHQG 8*BFBB 図 1-73 : 4:1 モー ド の UI イ ン タ ー フ ェ イ スにおける書き込みの タ イ ミ ング図 ( メ モ リ バース ト タ イ プ = BL8) 書き込みパス app_wdf_wren がアサー ト さ れて app_wdf_rdy が High にな る と 、 書き 込みデー タ が書き 込み FIFO に格納 さ れま す (図 1-74)。 app_wdf_rdy がデ ィ アサー ト さ れた場合、 ユーザー ロ ジ ッ ク は app_wdf_rdy がアサー ト さ れ る ま で、 有効な app_wdf_data 値を示す と 共に app_wdf_wren と app_wdf_end を High に保持す る 必要があ り ます。 app_cmd (書 き 込み コ マ ン ド ) がアサー ト さ れ る 前であ っ て も app_wdf_data デー タ をプ ッ シ ュ で き ます。 つま り 、 すべての app_cmd (書 き 込み コ マ ン ド ) のアサー ト に対 し て、関連する app_wdf_data (書き 込みデー タ ) が有効であ る 必要があ り ます。 app_wdf_mask 信号を使用 し て、 外部 メ モ リ へ書 き 込むバ イ ト を マ ス ク で き ます。 X-Ref Target - Figure 1-74 図 1-74 : 2:1 モー ド の UI イ ン タ ー フ ェ イ スにおける連続する書き込みコ マ ン ド の タ イ ミ ング図 ( メ モ リ バース ト タ イ プ = BL8) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 142 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-75 図 1-75 : 4:1 モー ド の UI イ ン タ ー フ ェ イ スにおける連続する書き込みコ マ ン ド の タ イ ミ ン グ図 ( メ モ リ バース ト タ イ プ = BL8) 142 ページの図 1-73 に示す よ う に、書 き 込みデー タ と 対応す る 書 き 込み コ マ ン ド 間におけ る シ ン グル書 き 込みの最大 遅延は、 ク ロ ッ ク の 2 サ イ ク ルです。 メ モ リ への書 き 込みバース ト の最後を示すためには、 app_wdf_end 信号を使用 し ます。 2:1 モー ド で メ モ リ バース ト タ イ プが 8 の場合、 2 番目の書 き 込みデー タ ワー ド で app_wdf_end 信号がアサー ト さ れ る 必要があ り ます。 アプ リ ケーシ ョ ン イ ン タ ーフ ェ イ ス デー タ の DRAM 出力デー タ へのマ ッ プについては、サンプル デザ イ ン を使用 し て説明 し ます。 8 ビ ッ ト メ モ リ のア プ リ ケーシ ョ ン イ ン タ ー フ ェ イ ス で メ モ リ コ ン ト ロ ー ラ ー と DRAM の ク ロ ッ ク 比が 4:1 の場 合、 駆動 さ れ る 64 ビ ッ ト デー タ が 0000_0806_0000_0805 (Hex) の と き 、 DRAM イ ン タ ーフ ェ イ ス のデー タ は図 1-76 の よ う にな り ます。 こ れはバース ト 長 8 (BL8) の ト ラ ンザ ク シ ョ ンです。 X-Ref Target - Figure 1-76 図 1-76 : 4:1 モー ド の DRAM イ ン タ ー フ ェ イ スのデー タ 表 1-89 に、 ク ロ ッ ク エ ッ ジ別のデー タ 値を示 し ます。 表 1-89 : ク ロ ッ ク エ ッ ジ別のデー タ 値 Rise0 Fall0 Rise1 Fall1 Rise2 Fall2 Rise3 Fall3 05 08 00 00 06 08 00 00 メ モ リ コ ン ト ロ ー ラ ー と DRAM の ク ロ ッ ク 比が 2:1 の場合、 アプ リ ケーシ ョ ン デー タ 幅は 32 ビ ッ ト です。 し たがっ て、BL8 ト ラ ンザ ク シ ョ ンでは、 アプ リ ケーシ ョ ン イ ン タ ーフ ェ イ ス のデー タ は ク ロ ッ ク の 2 サ イ ク ルで現れなけれ ばな り ません。 図 1-77 に示す よ う に、 app_wdf_end 信号が 2 つ目のデー タ に対 し て アサー ト さ れてい ます。 こ の場 合、 最初のサ イ ク ルに現れ た ア プ リ ケ ーシ ョ ン デー タ は 0000_0405 (Hex) で、 最後のサ イ ク ルに現れ た デー タ は 0000_080A (Hex) です。 こ れは BL8 ト ラ ンザ ク シ ョ ン です。 X-Ref Target - Figure 1-77 図 1-77 : 2:1 モー ド のア プ リ ケーシ ョ ン イ ン タ ー フ ェ イ スのデー タ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 143 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 1-78 に、 DRAM イ ン タ ーフ ェ イ ス におけ る 対応する デー タ を示 し ます。 X-Ref Target - Figure 1-78 図 1-78 : 2:1 モー ド の DRAM イ ン タ ー フ ェ イ スのデー タ 読み出 し パス 読み出 し デー タ は、 UI を介 し て要求 さ れた順序で返 さ れ、 app_rd_data_valid がアサー ト さ れ る と き に有効にな り ます (図 1-79 お よ び図 1-80)。 app_rd_data_end 信号は、 各読み出 し コ マ ン ド バース ト の最後を示 し 、 ユーザー ロ ジ ッ ク では必要あ り ません。 X-Ref Target - Figure 1-79 FON DSSBFPG 5($' DSSBDGGU $GGU DSSBHQ DSSBUG\ 5 DSSBUGBGDWD DSSBUGBGDWDBYDOLG 8*BFBB 図 1-79 : 4:1 モー ド の UI イ ン タ ー フ ェ イ スにおける読み出 し の タ イ ミ ング図 ( メ モ リ バース ト タ イ プ = BL8) X-Ref Target - Figure 1-80 FON DSSBFPG DSSBDGGU 5($' $GGU $GGU DSSBHQ DSSBUG\ 5 DSSBUGBGDWD 5 DSSBUGBGDWDBYDOLG 8*BFBB 図 1-80 : 2:1 モー ド の UI イ ン タ ー フ ェ イ スにおける読み出 し の タ イ ミ ング図 ( メ モ リ バース ト タ イ プ = BL4 または BL8) 図 1-80 では、 返 さ れた読み出 し デー タ は、 ア ド レ ス/制御バ ス で要求 さ れた順序 と 常に同 じ にな り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 144 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー リ フ レ ッ シ ュ ユーザー制御の リ フ レ ッ シ ュ を行 う には、 USER_REFRESH パ ラ メ ー タ ーを ON に設定 し て、 メ モ リ コ ン ト ロ ー ラ ー が制御す る メ ン テナン ス機能を無効に し て く だ さ い。 REF コ マ ン ド の要求には、app_ref_3req を 1 サ イ ク ル間ス ト ロ ーブ し ます。 メ モ リ コ ン ト ロ ー ラ ーは PHY へ コ マ ン ド を送信す る 際に app_ref_ack を 1 サ イ ク ル間ス ト ロ ーブ し 、 その後、 別の要求が送信可能にな り ます。 図 1-81 に、 こ の イ ン タ ーフ ェ イ ス を示 し ます。 X-Ref Target - Figure 1-81 FON DSSBUHIBUHT DSSBUHIBDFN ; 図 1-81 : ユーザー リ フ レ ッ シ ュ イ ン タ ー フ ェ イ ス ユーザー リ フ レ ッ シ ュ 動作は、前述のハン ド シ ェ イ ク 完了後に随時実行で き ます。 その他の コ マ ン ド に関す る 追加の イ ン タ ーフ ェ イ ス要件はあ り ません。 ただ し 、 保留要求は動作を停止す る タ イ ミ ン グに影響を及ぼ し ます。 メ モ リ コ ン ト ロ ー ラ ーは、 リ フ レ ッ シ ュ コ マ ン ド を発行する 前にすべての保留デー タ 要求を実行 し ます。 tREFI 違反を回避す る には、 app_ref_req を ス ト ロ ーブす る タ イ ミ ン グ を決定す る 際に、 各保留要求の タ イ ミ ン グ パ ラ メ ー タ ーを考慮 す る 必要があ り ます。 ワース ト ケース を考え、 tRCD、 CL、 デー タ 伝送時間、 お よ び各バン ク マシ ンの tRP を差 し 引 いた tREFI 範囲内にすべての ト ラ ンザ ク シ ョ ンが完了する よ う に し ます。 式 1-1 に、 REF 要求の最大間隔の計算方法 を示 し ます。 ( tREFI – ( tRCD + ( ( CL + 4 ) × tCK ) + tRP ) × nBANK_MACHS ) 式 1-1 キ ャ リ ブ レーシ ョ ン後にす ぐ ユーザー REF を発行 し て、 後続の要求を送信す る タ イ ミ ン グ を決定す る ための時間基 準を確立 し ます。 ユーザー ZQ ユーザー制御の ZQ キ ャ リ ブ レーシ ョ ン を行 う には、tZQI パ ラ メ ー タ ーを 0 に設定 し て、 メ モ リ コ ン ト ロ ー ラ ーが制 御す る メ ン テナン ス機能を無効に し て く だ さ い ZQ コ マ ン ド の要求には、 app_zq_req を 1 サ イ ク ル間ス ト ロ ーブ し ます。 メ モ リ コ ン ト ロ ー ラ ーは PHY へ コ マ ン ド を送信す る 際に app_zq_ack を 1 サ イ ク ル間ス ト ロ ーブ し 、 その後、 別の要求が送信可能にな り ます。 図 1-82 に、 こ の イ ン タ ーフ ェ イ ス を示 し ます。 X-Ref Target - Figure 1-82 FON DSSB]TBUHT DSSB]TBDFN ; 図 1-82 : ユーザー ZQ イ ン タ ー フ ェ イ ス ユーザー ZQ 動作は、 前述のハン ド シ ェ イ ク 動作完了後に随時実行で き ます。 その他の コ マ ン ド に関す る 追加の イ ン タ ーフ ェ イ ス要件はあ り ません。 ただ し 、 保留要求は動作を停止す る タ イ ミ ン グに影響を及ぼ し ます。 メ モ リ コ ン ト ロ ー ラ ーは、 ZQ コ マ ン ド を発行す る 前にすべての保留デー タ 要求を実行 し ます。 正確な タ イ ミ ン グが求め ら れ る 場 合に必要な間隔を達成す る には、 app_zq_req を ス ト ロ ーブする タ イ ミ ン グ を決定する 際に、 各保留要求の タ イ ミ ン グ パ ラ メ ー タ ーを考慮す る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 145 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ワース ト ケース を考え、 tRCD、 CL、 デー タ 伝送時間、 お よ び各バン ク マシ ンの tRP を差 し 引いた tREFI 範囲内にす べての ト ラ ンザ ク シ ョ ンが完了す る よ う に し ます。 式 1-2 に、 ZQ 要求の最大間隔の計算方法を示 し ます。 ( tZQI – ( tRCD + ( ( CL + 4 ) × tCK ) + tRP ) × nBANK_MACHS ) 式 1-2 キ ャ リ ブ レーシ ョ ン後にす ぐ ZQ を発行 し て、 後続の要求を送信す る タ イ ミ ン グ を決定す る ための時間基準を確立 し ます。 ネイテ ィ ブ イ ン ターフ ェ イス 図 1-83 に、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス プ ロ ト コ ルを示 し ます。 X-Ref Target - Figure 1-83 FON UDQNEDQNURZFROXPQ FPGKLBSULRULW\ DFFHSW XVHBDGGU GDWDBEXIBDGGU ZUBGDWDBHQ ZUBGDWDBDGGU ZUBGDWD '±' '±' ZUBGDWDBPDVN UGBGDWDBHQ UGBGDWDBDGGU UGBGDWD '±' '±' 8*BFBB 図 1-83 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ ス プ ロ ト コ ル ア ド レ スお よ び コ マ ン ド に よ っ て要求がネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に現れます。 ア ド レ ス には、 バン ク 、 行、 列の 情報が含まれてい ます。 コ マ ン ド は、 cmd 入力でエン コ ー ド さ れてい ます。 ア ド レ スお よ び コ マ ン ド は、 use_addr 信号で有効にな る 1 ス テー ト 前にネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に現れます。 メ モ リ イ ン タ ーフ ェ イ ス は accept 信号を アサー ト す る こ と で要求を受け入れ可能であ る こ と を示 し ます。use_addr と accept の 両方 が 同 じ ク ロ ッ ク サ イ ク ル で ア サ ー ト さ れ た 場合 は、 要求 が 受 け 入 れ ら れ た こ と を 示 し ま す。 use_addr はアサー ト さ れてい る が accept がアサー ト さ れていない場合、 要求は受け入れ ら れていないため、 再度実 行す る 必要があ り ます。 図 1-84 に、 こ れ ら の信号の タ イ ミ ン グ を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 146 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-84 FON UDQNEDQNURZFROXPQ FPGKLBSULRULW\ DFFHSW XVHBDGGU GDWDBEXIBDGGU 8*BFBB 図 1-84 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スのフ ロー制御 図 1-84 に示す よ う に、 要求 1 お よ び要求 2 は問題な く 受け入れ ら れてい ま す。 1 回目の要求 3 に対 し ては accept が Low に駆動 さ れてい る ため、 受け入れ ら れていない こ と を示 し てい ます。 ユーザー デザ イ ン が 2 回目に要求 3 を送 信 し た と き には、 受け入れ ら れてい ます。 その後の要求 4 は、 1 回目の送信で受け入れ ら れてい ます。 要求の送信 と 同時に、 data_buf_addr バ ス が必要です。 こ のバ ス はユーザー デザ イ ンにあ る バ ッ フ ァ ーのア ド レ ス ポ イ ン タ ー と な り ます。 こ れは、 書 き 込み コ マ ン ド を処理す る 際にデー タ の位置を コ アに伝え、 読み出 し コ マ ン ド を処 理 す る 際 は デ ー タ を 配 置 す る 位 置 を 伝 え ま す。 コ ア が コ マ ン ド を 処 理 す る 際、 書 き 込 み コ マ ン ド で は wr_data_addr、 読み出 し コ マ ン ド では rd_data_addr に よ り 、 data_buf_addr を ユーザー デザ イ ン にエ コ ー バ ッ ク し ます。 図 1-85 に、 こ れ ら の信号の タ イ ミ ン グ を示 し ます。 書 き 込みデー タ は、 wr_data_en がアサー ト さ れ る ク ロ ッ ク サ イ ク ルで供給 さ れ る 必要があ り ます。 X-Ref Target - Figure 1-85 図 1-85 : コ マ ン ド 処理 転送は非 ア ク テ ィ ブ な ギ ャ ッ プ で分離 し た り 、 ギ ャ ッ プの な い長いバー ス ト にで き ま す。 ユーザー デザ イ ン は、 rd_data_en 信号お よ び wr_data_en 信号をモニ タ リ ン グす る こ と で、 要求が処理中であ る こ と と 完了 し た こ と を 認識で き ます。 メ モ リ コ ン ト ロ ー ラ ーが読み出 し コ マ ン ド 要求の処理を完了す る と 、 rd_data_en 信号がアサー ト さ れます。 同様に、 書 き 込み コ マ ン ド 要求の処理を完了す る と 、 wr_data_en 信号がアサー ト さ れます。 NORM 順序変更モー ド が有効の場合、 メ モ リ コ ン ト ロ ー ラ ーが受信 し た要求の順序を変更 し 、 FPGA と メ モ リ デバ イ ス間の スループ ッ ト を最適化 し ます。 デー タ は、 受信順ではな く 処理 さ れた順にユーザー デザ イ ンへ返 さ れます。 ユーザー デザ イ ンは、 rd_data_addr お よ び wr_data_addr を モニ タ リ ン グす る こ と で、 処理中の要求を特定で き ます。 こ れ ら の フ ィ ール ド は、 ユーザー デザ イ ン がネ イ テ ィ ブ イ ン タ ーフ ェ イ スへ要求を送信す る 際に供給 さ れ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 147 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン る data_buf_addr に対応 し ます。 図 1-85 に、 こ れ ら の信号の タ イ ミ ン グ関係を示 し ます。 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス では、 ユーザー デザ イ ンは一度に 1 つの要求 し か送信で き ない よ う に イ ン プ リ メ ン ト さ れてい る ため、 複数の要求は順次送信する 必要があ り ます。 同様に、 コ アは メ モ リ デバ イ スへの複数の コ マ ン ド を 一度に 1 つずつ実行す る 必要があ り ます。 ただ し 、 コ ア イ ン プ リ メ ン テーシ ョ ン のパ イ プ ラ イ ン化に よ っ て、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス では読み出 し 要求 と 書き 込み要求を並列処理で き ます。 ユーザー リ フ レ ッ シ ュ ユーザー イ ン タ ーフ ェ イ ス の 「ユーザー リ フ レ ッ シ ュ 」 を参照 し て く だ さ い。 機能は、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス と 同 じ です。 ユーザー ZQ ユーザー イ ン タ ーフ ェ イ ス の「ユーザー ZQ」 を参照 し て く だ さ い。機能は、ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス と 同 じ です。 物理層イ ン タ ー フ ェ イ ス ( メ モ リ コ ン ト ロー ラ ーを使用 し ない デザイ ン) MIG 物理層 (PHY) は、 メ モ リ コ ン ト ロ ー ラ ーがな く て も 使用で き ます。 PHY フ ァ イ ルは、 MIG ツールで生成 さ れた user_design/rtl/phy デ ィ レ ク ト リ に含まれます。 その他に、user_design/rtl/clocking デ ィ レ ク ト リ にあ る イ ン フ ラ ス ト ラ ク チ ャ フ ァ イ ル も 必要です。PHY への イ ン タ ーフ ェ イ ス の例 と し て MIG の メ モ リ コ ン ト ロ ー ラ ー を 使 用 で き ま す。 メ モ リ コ ン ト ローラーと PHY のサ ン プル イ ン ス タ ン シ エ ー シ ョ ン は、 user_design/rtl/ip_top/mem_intfc.v フ ァ イ ルを参照 し て く だ さ い。 PHY は、 外部の DDR2 ま たは DDR3 SDRAM メ モ リ への物理 イ ン タ ーフ ェ イ ス を提供 し 、 メ モ リ デバ イ ス と の イ ン タ ーフ ェ イ ス で必要な タ イ ミ ン グお よ びシーケ ン ス信号を生成 し ます。 PHY には、 ク ロ ッ ク 生成 ロ ジ ッ ク 、 ア ド レ ス 生成 ロ ジ ッ ク 、 制御生成 ロ ジ ッ ク 、 書 き 込み/読み出 し デー タ パ ス、 お よ び電源投入後に SDRAM を初期化す る ス テー ト ロ ジ ッ ク が含 ま れ ま す。 さ ら にシ ス テ ム の静的遅延お よ び動的遅延を解析す る ために、 読み出 し お よ び書 き 込み デー タ パ ス の タ イ ミ ン グ ト レーニ ン グ を実行す る キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク も あ り ます。 PHY は、 キ ャ リ ブ レー シ ョ ン の最後に メ モ リ コ ン ト ロ ー ラ ーに対 し て init_calib_complete 出力を アサー ト し ま す。 こ の信号のアサー ト は、 メ モ リ コ ン ト ロ ー ラ ーが通常の メ モ リ ト ラ ンザ ク シ ョ ン を開始で き る こ と を示 し ます。 PHY のアーキ テ ク チ ャ お よ び さ ま ざ ま な キ ャ リ ブ レーシ ョ ン段階の詳細は、 111 ページの 「PHY」 を参照 し て く だ さ い。 メ モ リ コ ン ト ロ ー ラ ーが PHY と イ ン タ ーフ ェ イ スす る 際に必要な信号については、 表 1-87 で説明 し てい ます。 ク ロ ッ キ ン グ要件は、 101 ページの 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を参照 し て く だ さ い。 MIG ツールに よ り 出力 さ れた clocking デ ィ レ ク ト リ 内にあ る イ ン フ ラ ス ト ラ ク チ ャ iodelay_ctrl お よ び clk_ibuf モジ ュ ールを使用す る よ う 選択で き ます。 ま たは、 シ ス テ ム デザ イ ンに こ れ ら のモジ ュ ールのプ リ ミ テ ィ ブ を イ ン ス タ ン シエー ト す る こ と も 可能です。 2014.4 で は、 MMCM 位 相 シ フ ト タ ッ プ を 使用 し て キ ャ リ ブ レ ー シ ョ ン の 中央位置 を 最適化す る よ う に OCLKDELAYED キ ャ リ ブ レーシ ョ ン段階が強化 さ れま し た。 その結果、 位相シ フ ト さ れた ク ロ ッ ク 出力を分配す る ための BUFG が 1 つ追加 さ れ、 ま た PHY と イ ン フ ラ モジ ュ ール間に入力ポー ト と 出力ポー ト が複数個追加 さ れてい ます。 表 1-87 に、 追加 さ れたポー ト を示 し てい ます。 clocking デ ィ レ ク ト リ 内の tempmon モジ ュ ールは、 XADC か ら ddr_phy_tempmon モジ ュ ールへの温度デー タ の供 給に使用 さ れます。 詳細は、 133 ページの 「温度モニ タ ー」 を参照 し て く だ さ い。 PHY の制御l FIFO、 コ マ ン ド OUT_FIFO、 お よ び書 き 込みデー タ OUT_FIFO は、 すべて非同期動作モー ド です。 こ れ ら の FIFO への読み出 し ク ロ ッ ク お よ び書 き 込み ク ロ ッ ク は周波数 と 位相が異な り ます。 し たが っ て、 134 ページの 表 1-87 で説明 し た 3 つの OUT_FIFO FULL フ ラ グ (phy_mc_ctl_full、phy_mc_cmd_full、phy_mc_data_full) を コ ン ト ロ ー ラ ーに よ っ てすべてモニ タ リ ン グ し 、コ マ ン ド やデー タ の損失を招 く PHY 制御 FIFO お よ び OUT_FIFO のオーバーフ ロ ーを回避す る 必要があ り ます。 メ モ リ コ マ ン ド お よ びデー タ は、 PHY イ ン タ ーフ ェ イ ス を介 し て直接送信で き ま す。 タ イ プの異な る コ マ ン ド は、 別々の ス ロ ッ ト か ら 送信 さ れます。 CAS 書き 込みレ イ テ ン シ (CWL) コ マ ン ド が読み出 し /書 き 込み コ マ ン ド に使用す Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 148 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン る ス ロ ッ ト 番号を指示 し ます。 CWL 値が奇数の場合は、 書 き 込み/読み出 し コ マ ン ド に CAS ス ロ ッ ト 番号 1 ま たは 3 を使用で き ま す。 偶数の場合は、 CAS ス ロ ッ ト 番号 0 ま たは 2 を使用で き ま す。 図 1-86 では、 PHY 制御 ワ ー ド の Control Offset、Low Index、Event Delay、Seq、お よ び Act Pre は、phy_top モジ ュ ール内で 0 に接続 さ れ、使用 さ れません。 重要 : 次に示す入力は、 ロ ジ ッ ク 1 に固定す る 必要があ り ます。 mc_reset_n = 1'b1 mc_cmd_wren = 1'b1 mc_ctl_wren = 1'b1 X-Ref Target - Figure 1-86 3K\VLFDO/D\HU,QWHUIDFH )5(4B5()&/. 0(0B5()&/. &/. &/.B5() 6<1&B38/6( ''5B567B1 3+<&RQWURO:RUG 0&B&7/B:5(1 3+<B0&B&7/B)8// '4EXV 3+<&RQWURO '0 '46 0&B5(667B1 0&B$''5(66>@ 0&B5$6B1 0&B&$6B1 0&B:(B1 0&B&6B1 0&B%$>@ 3+<B0&B&0'B)8// $GGU&PG&RQWURO $GGUHVV&RPPDQG 287B),)2 &ORFNV ,2/2*,& 0&B&0'>@ 0&B&0'B:5(1 0&B:5'$7$>Q@ 0&B:5'$7$B(1 0&B:5'$7$B0$6.>Q@ 3+<B0&B'$7$B)8// B B B 3+<B5'B'$7$ 3+<B5''$7$B9$/,' B B ''5 6'5$0 3+<&RQWURO:RUGFRPSRVHGRI 0&B&0'>@ 0&B$8;B287>@ 0&B5$1.B&17>@ 0&B'$7$B2))6(7>@ 0&B&$6B6/27>@ &RQWURO2IIVHW>@WLHWRLQWHUQDOO\ /RZ,QGH[>@WLHWRLQWHUQDOO\ 6HT>@WLHWRLQWHUQDOO\ (YHQW'HOD\>@WLHWRLQWHUQDOO\ $FW3UHWLHWRLQWHUQDOO\ :ULWH'DWD 287B),)2 5HDG'DWD ,1B),)2 &$/,%B5'B'$7$B2))6(7 ,1,7B&$/,%B&203/(7( 567 3//B/2&. ; 図 1-86 : PHY イ ン タ ー フ ェ イ スの例 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 149 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 読み出 し コ マ ン ド 用の PHY 制御 ワ ー ド のデー タ オ フ セ ッ ト フ ィ ール ド (MC_DATA_OFFSET) の値は、 PHASER_IN DQSFOUND のキ ャ リ ブ レーシ ョ ン中に決定 し ます。 こ の値は、 PHY イ ン タ ーフ ェ イ ス を介 し て PHY か ら 与え ら れ ます。 メ モ リ コ ン ト ロ ー ラ ーは、 PHY で与え ら れた こ の読み出 し デー タ オ フ セ ッ ト 値に使用 さ れ る ス ロ ッ ト 番号を 追加す る 必要があ り ます。 PHY 内の PHY 制御では、 READ コ マ ン ド が メ モ リ へ発行 さ れた後に IN_FIFO か ら デー タ を読み出す タ イ ミ ン グ を把握す る 必要があ り ます。 読み出 し デー タ オ フ セ ッ ト = キ ャ リ ブ レー ト さ れた PHY 読み出 し デー タ オ フ セ ッ ト + ス ロ ッ ト 番号 書 き 込み コ マ ン ド 用の PHY 制御ワ ー ド のデー タ オ フ セ ッ ト は、 次に示す よ う に使用 さ れ る ス ロ ッ ト 番号、 CWL、 お よ び nCK_PER_CLK のパ ラ メ ー タ ー値に基づいて設定 さ れ る 必要があ り ます。 • nCK_PER_CLK = 4 の場合 書 き 込みデー タ オ フ セ ッ ト = CWL + 2 + ス ロ ッ ト 番号 • nCK_PER_CLK = 2 の場合 書 き 込みデー タ オ フ セ ッ ト = CWL – 2 + ス ロ ッ ト 番号 図 1-87 に示す書 き 込み動作の波形は、 DDR3 SDRAM CWL = 7 かつ nCK_PER_CLK = 4 の例を示 し てい ます。 選択 し た ス ロ ッ ト 番号は 1 ま たは 3 です。 書 き 込みデー タ オ フ セ ッ ト = CWL + ス ロ ッ ト 番号 + 2 = 7 + 1 + 2 = 10 X-Ref Target - Figure 1-87 図 1-87 : PHY イ ン タ ー フ ェ イ スで書き込みコ マ ン ド を送信 (CWL = 9) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 150 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 重要 : こ の例では、 115 ページの表 1-84 に示すビ ッ ト 31 ~ 27、 ビ ッ ト 24 ~ 23、 ビ ッ ト 14 ~ 12、 ビ ッ ト 7 ~ 3 は使 用 さ れてい ません。 図 1-88 に示す書 き 込み動作の波形では、 キ ャ リ ブ レー ト さ れた PHY 読み出 し デー タ オ フ セ ッ ト = 10 の場合の例を 示 し てい ます。 選択 さ れた ス ロ ッ ト 番号が 1 の場合、 nCK_PER_CLK は 4 で、 読み出 し デー タ オ フ セ ッ ト は次の と お り です。 読み出 し デー タ オ フ セ ッ ト = キ ャ リ ブ レー ト さ れた PHY 読み出 し デー タ オ フ セ ッ ト + ス ロ ッ ト 番号 = 10 + 1 = 11 X-Ref Target - Figure 1-88 図 1-88 : PHY イ ン タ ー フ ェ イ スで読み出 し コ マ ン ド を送信 重要 : こ の例では、 115 ページの表 1-84 に示すビ ッ ト 31 ~ 27、 ビ ッ ト 24 ~ 23、 ビ ッ ト 14 ~ 12、 ビ ッ ト 7 ~ 3 は使 用 さ れてい ません。 PHY キ ャ リ ブ レーシ ョ ンは、 追加レ イ テ ン シ (AL) が 0 で動作 し ます。 キ ャ リ ブ レーシ ョ ン完了後の追加レ イ テ ン シ (CL – 1 ま たは CL – 2) が 0 以外の場合には、 コ ン ト ロ ー ラ ーが適切な MRS コ マ ン ド を発行す る 必要があ り ます。 さ ら に、 AL 値を追加 し て前述 し たデー タ オ フ セ ッ ト を再計算 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 151 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのカ ス タ マ イ ズ 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンは、 DDR2/DDR3 SDRAM デバ イ ス の コ ン フ ィ ギ ュ レー シ ョ ン を複数サポー ト し てい ます。 各 コ ン フ ィ ギ ュ レーシ ョ ンは、 コ アの最上位の Verilog パ ラ メ ー タ ーで定義 し ま す。 OOC フ ロ ーに よ り 、 デザ イ ン例の最上位の RTL フ ァ イ ルか ら ユーザー デザ イ ン RTL フ ァ イ ルに、 パ ラ メ ー タ ー 値が伝わ る こ と はあ り ません。 し たがっ て、 デザ イ ンに関す る パ ラ メ ー タ ーの変更が、 ユーザー デザ イ ン ロ ジ ッ ク に 反映 さ れ る こ と は一切あ り ません。 パ ラ メ ー タ ーを変更す る 場合は、 MIG ツールを使用 し てデザ イ ン を再生成す る 必 要があ り ます。 表 1-90、 表 1-91、 お よ び表 1-92 に、 MIG ツールで設定 さ れ る パ ラ メ ー タ ーを示 し ます。 表 1-90 : 7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパ ラ メ ー タ ー パラ メ ー タ ー 説明 REFCLK_FREQ (1) IDELAYCTRL の基準 ク ロ ッ ク 周波数です。すべての 200.0、 300.0、 400.0 ス ピー ド グ レ ー ド で 200.0 に設定で き ま す。 DDR3 SDRAM デザ イ ンの場合、 周波数値は メ モ リ デザ イ ン の周波数 と FPGA の ス ピ ー ド グ レ ー ド に依存 し ます。 詳細は、 『7 シ リ ーズ FPGA SelectIO™ リ ソ ー ス ユ ー ザ ー ガ イ ド 』 (UG471) [ 参照 2] に あ る IDELAYE2 (IDELAY) お よ び ODELAYE2 (ODELAY) 属性のサ マ リ の表 を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 SIM_BYPASS_INIT_CAL (2) シ ミ ュ レ ー シ ョ ン 用の キ ャ リ ブ レ ーシ ョ ン の一環 です。OFF は、シ ミ ュ レーシ ョ ン で使用で き ません。 こ れは、ハー ド ウ ェ ア イ ンプ リ メ ン テーシ ョ ンに使 用 し ます。 FAST は、 リ ー ド お よ び ラ イ ト レベ リ ン グの高速モー ド を有効に し ます。 SIM_FULL は、 フ ル キ ャ リ ブ レーシ ョ ン を有効に し ますが、電源投入 時の初期化遅延を ス キ ッ プ し ます。 SIM_INIT_CAL_FULL は、 電源投入遅延を含むフル キ ャ リ ブ レーシ ョ ン を有効に し ます。 OFF SIM_INIT_CAL_FULL FAST SIM_FULL nCK_PER_CLK ク ロ ッ ク あ た り の メ モ リ ク ロ ッ ク の数です。 4、 2 (GUI で選択 し た [PHY to Controller Clock Ratio] に依存す る ) nCS_PER_RANK PHY ラ ン ク あ た り の CS 出力の数です。 1、 2 DQS_CNT_WIDTH DQS バ ス を示すのに必要な ビ ッ ト 数を表 し 、 CEIL 関数 (log2(DQS_WIDTH)) で与え ら れます。 ADDR_WIDTH メ モ リ の ア ド レ ス バ ス 幅 で す。 RANK_WIDTH + BANK_WIDTH + ROW_WIDTH + COL_WIDTH と 等 し く な り ます。 BANK_WIDTH メ モ リ バン ク ア ド レ ス のビ ッ ト の数です。 選択 し た メ モ リ デバ イ ス に基づ き ます。 CS_WIDTH メ モ リ に対す る CS 出力の数です。 選択 し た MIG ツール コ ン フ ィ ギ ュ レー シ ョ ンに基づき ます。 CK_WIDTH メ モ リ に対す る CK/CK# 出力の数です。 選択 し た MIG ツール コ ン フ ィ ギ ュ レー シ ョ ンに基づき ます。 CKE_WIDTH メ モ リ に対す る CKE 出力の数です。 選択 し た MIG ツール コ ン フ ィ ギ ュ レー シ ョ ンに基づき ます。 ODT_WIDTH メ モ リ に対す る ODT 出力の数です。 選択 し た MIG ツール コ ン フ ィ ギ ュ レー シ ョ ンに基づき ます。 COL_WIDTH メ モ リ 列ア ド レ ス のビ ッ ト の数です。 選択 し た メ モ リ デバ イ ス に基づ き ます。 RANK_WIDTH RANK バ ス を 表すた めに使用 さ れ る ビ ッ ト の数で シ ン グル ラ ン ク お よ びデ ュ アル ラ ン ク す。 の両方デバ イ ス で 1 に設定 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 オプ シ ョ ン japan.xilinx.com 152 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-90 : 7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパ ラ メ ー タ ー (続き) パラ メ ー タ ー 説明 オプ シ ョ ン ROW_WIDTH DRAM コ ン ポーネ ン ト のア ド レ ス バ ス幅です。 選択 し た メ モ リ デバ イ ス に基づ き ます。 DM_WIDTH デー タ マ ス ク の ビ ッ ト の数です。 DQ_WIDTH/8 DQ_WIDTH メ モ リ の DQ バ ス幅です。 8 ずつ増分す る 8 ~ 72 ま での DQ 幅をサ ポー ト し ます。 有効な最大 DQ 幅は、 選 択 し た メ モ リ デバ イ ス の周波数に依存 し ます。 DQS_WIDTH メ モ リ の DQS バ ス幅です。 DQ_WIDTH/8 BURST_MODE メ モ リ のデー タ バース ト 長です。 DDR3 : 8 DDR2 : 8 BM_CNT_WIDTH バ ン ク マ シ ン を 示すの に必要 な ビ ッ ト 数 を 表 し 、 CEIL 関数 (log2(nBANK_MACHS)) で与え ら れます。 ADDR_CMD_MODE メ モ リ の addr/cmd バ ス におけ る タ イ ミ ン グ を 算出 1T す る ために コ ン ト ロ ー ラ ーで使用 さ れます。 こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 ORDERING (3) デー タ ス ループ ッ ト と レ イ テ ン シ を 最適化す る た NORM : メ モ リ コ ン ト ロ ー ラ ーで メ モ め、 受信 し た要求を並べ替え る オプシ ョ ン です。 リ に対 し て書 き 込み コ マ ン ド では な く 読み出 し の順序 を 並べ替え る オ プ シ ョ ンです。 RELAXED : 最大効率 と な る よ う に メ モ リ コ ン ト ロ ー ラ ーで メ モ リ への コ マ ン ド の順序を並べ替え る オプシ ョ ン です。 こ の順序変更は、 ネ イ テ ィ ブ イ ン タ ー フ ェ イ ス では保持 さ れません。 STRICT : 受信 し た順序 ど お り に コ マ ン ド を実行 し ます。 STARVE_LIMIT 読み出 し 要求が高優先度を宣言す る 前に、 アービ ト 1、 2、 3、 ...10 レ ーシ ョ ン を失 う こ と が可能な回数を設定 し ま す。 ア ー ビ ト レ ー シ ョ ン を 失 っ た 実 際 の 回 数 は、 STARVE_LIMIT × nBANK_MACHS で 求 め ら れ ま す。 WRLVL DDR3 デザ イ ンにおけ る ラ イ ト レベ リ ン グのキ ャ リ DDR3 : ON ブ レーシ ョ ン を有効に し ます。 DDR3 で ON、 OOR2 DDR2 : OFF では OFF に し て く だ さ い。 こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 RTT_NOM 標準の ODT 値です。 DDR3_SDRAM 120 : RZQ/2 60 : RZQ/4 40 : RZ/6 DDR2_SDRAM 150 : 150Ω 75 : 75Ω 50 : 50Ω RTT_WR RANK が複数あ るデザ イ ンで使用 さ れる ダ イ ナ ミ ッ ク ODT 書き込み終端です。 ダ イ ナ ミ ッ ク ODT はサ ポー ト さ れ て い な い た め、 RTT_WR は常に O F F に設定さ れる必要があ り ます。 DDR3_SDRAM OFF : RTT_WR は無効 120 : RZQ/2 60 : RZQ/4 OUTPUT_DRV DRAM の出力 ド ラ イ ブ を設定 し ます。 HIGH LOW Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 153 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-90 : 7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパ ラ メ ー タ ー (続き) パラ メ ー タ ー 説明 オプ シ ョ ン REG_CTRL DIMM ま たはバ ッ フ ァ ーな し DIMM を選択 し ます。 ON : レ ジ ス タ 付き DIMM こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 OFF : コ ン ポーネ ン ト 、 SODIMM、 UDIMM IODELAY_GRP(4) メ モ リ デザ イ ン で使用 さ れ る IDELAY グループ を デフ ォ ル ト : IODELAY_MIG 定義す る ASCII 文字列です。 こ れは Vivado Design Suite で使用 さ れ、 イ ン ス タ ン シエー ト さ れたすべて の IDELAY を同 じ バン ク 内にグループ化 し ま す。 1 つの FPGA に複数の IP コ アが イ ン プ リ メ ン ト さ れ る 場合、 それぞれに固有の名前を付け る 必要があ り ます。 ECC_TEST ON の場合、 UI を介 し て DRAM のすべてのバ ス 幅 ON へア ク セ ス 可能です。 た と えば、 DATA_WIDTH == OFF 64 の場合、 app_rd_data の幅は 288 です。 PAYLOAD_WIDTH ユーザー デー タ に使用 さ れ る 実際の DQ バス です。 ECC_TEST = OFF : PAYLOAD_WIDTH = DATA_WIDTH ECC_TEST = ON : PAYLOAD_WIDTH = DQ_WIDTH DEBUG_PORT デバ ッ グ信号/制御を有効に し ます。 TCQ シ ミ ュ レ ーシ ョ ン 用の ク ロ ッ ク か ら Q ま での遅延 単位はピ コ 秒です。 です。 tCK メ モ リ の tCK ク ロ ッ ク 周期 (ps) です。 こ の値 (ps) は、MIG ツールで選択 し た周 波数に基づき ます。 DIFF_TERM_SYSCLK TRUE、 FALSE シ ス テ ム ク ロ ッ ク 入力 ピ ン の差動終端 です。 DIFF_TERM_REFCLK TRUE、 FALSE IDELAY 基準 ク ロ ッ ク 入力ピ ンの差動終 端です。 TEMP_MON_CONTROL 温度モ ニ タ ー機能のデバ イ ス 温度 ソ ー ス を 選択 し INTERNAL ま す ( 「温度モニ タ ー」 参照)。 INTERNAL : メ モ リ EXTERNAL イ ン タ ー フ ェ イ ス 最上位 ユ ー ザ ー デ ザ イ ン モ ジ ュ ールに XADC お よ び温度ポー リ ン グ回路 を イ ン ス タ ン シエー ト し ます。 EXTERNAL : デザ イ ンの ほかの部分に既に XADC が イ ン ス タ ン シ エー ト さ れてい る 場合に洗濯 し ます。 こ の場合、 デバ イ ス の 温度 を 周期的にサ ン プ リ ン グ し 、 メ モ リ イ ン タ ー フ ェ イ ス 最上位 ユーザー デザ イ ン モ ジ ュ ール の device_temp_i に駆動する 必要があ り ます。 ON OFF 注記 : 1. 下位制限 (最大周波数) は現在、 特性評価中です。 2. SIM_BYPASS_INIT_CAL パ ラ メ ー タ ーを使用す る と 、 シ ミ ュ レーシ ョ ン中の コ アの初期化時間を大幅に短縮で き ます。 シ ミ ュ レーシ ョ ン モー ド は 3 つあ り ます。 FAST の場合、 各 メ モ リ デバ イ ス に対 し て 1 ビ ッ ト のみ ラ イ ト レベ リ ン グお よ び読み出 し キ ャ リ ブ レーシ ョ ンが 実行 さ れ、 こ れが残 り のデー タ ビ ッ ト に対 し て使用 さ れます。 SKIP の場合は、 読み出 し キ ャ リ ブ レーシ ョ ンが実行 さ れず、 入力 ク ロ ッ ク お よ びデー タ は位相が揃っ てい る も の と みな さ れます。 シ ミ ュ レーシ ョ ン時のみ、 SIM_BYPASS_INIT_CAL を SIM_INIT_CAL_FULL に設 定 し て く だ さ い。 イ ンプ リ メ ン テーシ ョ ンでは SIM_BYPASS_INIT_CAL を OFF に設定 し て く だ さ い。 その他の設定では、 コ アが正常に機 能 し ません。 3. こ のパ ラ メ ー タ ーを NORM ま たは RELAXED に設定す る と 、 Memory Controller で並べ替えのアルゴ リ ズ ムが有効にな り ます。 STRICT に 設定す る と 要求 コ マ ン ド の順序変更が無効にな り 、 外部 メ モ リ デバ イ ス に対す る ス ループ ッ ト が制限 さ れ る 可能性があ り ま す。 ただ し 、 コ ア統合 し た初期段階では、 コ マ ン ド 要求を受信順に処理す る STRICT モー ド が有用です。 つま り 、 こ のモー ド では、 ユーザー デザ イ ン が要求の ス テー タ ス (保留中、 処理中) を ト ラ ッ キ ン グす る 必要があ り ません。 4. こ のパ ラ メ ー タ ー名には、 デザ イ ン生成時に MIG で入力 さ れたモジ ュ ール名が接頭辞 と し て付 き ます。 デザ イ ンが mig_7series_0 と い う 名 前で生成 さ れた場合、 IODELAY_GRP パ ラ メ ー タ ーの名前は 「mig_7series_0_IODELAY_MIG」 と な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 154 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-91 のパ ラ メ ー タ ーは、 選択 し た メ モ リ ク ロ ッ ク 周波数、 メ モ リ デバ イ ス、 メ モ リ コ ン フ ィ ギ ュ レーシ ョ ン、 お よ び FPGA の ス ピー ド グ レー ド に依存 し ます。 こ れ ら のパ ラ メ ー タ ー値は memc_ui_top IP コ ア内に組み込まれて い る ため、 最上位で変更 し ないで く だ さ い。 推奨 : ザ イ リ ン ク ス では、異な る コ ン フ ィ ギ ュ レーシ ョ ンに対 し ては MIG ツールを再実行す る こ と を強 く 推奨 し てい ます。 表 1-91 : エ ンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パラ メ ー タ ー パラ メ ー タ ー 説明 オプ シ ョ ン tFAW 最小間隔で、 4 つのア ク テ ィ ブ コ マ ン ド です。 こ の値 (ps) は、 MIG ツールで選択 し た デバ イ ス に基づ き ます。 tRRD ACTIVE か ら ACTIVE ま での最小 コ マ ン ド 周期 こ の値 (ps) は、 MIG ツールで選択 し た です。 デバ イ ス に基づ き ます。 tRAS メ モ リ の、 ACTIVE か ら PRECHARGE ま での最 こ の値 (ps) は、 MIG ツールで選択 し た 小周期です。 デバ イ ス に基づ き ます。 tRCD ACTIVE か ら READ/WRITE コ マ ン ド ま での遅延 こ の値 (ps) は、 MIG ツールで選択 し た です。 デバ イ ス に基づ き ます。 tREFI メ モ リ の周期的な リ フ レ ッ シ ュ 間隔の平均値で こ の値 (ps) は、 MIG ツールで選択 し た す。 デバ イ ス に基づ き ます。 tRFC REFRESH か ら ACTIVE/REFRESH コ マ ン ド ま で こ の値 (ps) は、 MIG ツールで選択 し た の間隔です。 デバ イ ス に基づ き ます。 tRP PRECHARGE コ マ ン ド の周期です。 tRTP READ か ら PRECHARGE コ マ ン ド ま での遅延で こ の値 (ps) は、 MIG ツールで選択 し た す。 デバ イ ス に基づ き ます。 tWTR WRITE か ら READ コ マ ン ド ま での遅延です。 tZQI 短間隔の ZQ キ ャ リ ブ レーシ ョ ンです。 こ の値は 単位はナ ノ 秒です。ユーザーが こ の機能 シ ス テ ムに よ っ て異な り 、シ ス テ ムの電圧お よ び を制御する 場合は、 0 に設定 し て く だ さ 温度の予測変化率に基づき ます。Q キ ャ リ ブ レー い。 シ ョ ン の詳細は、 メ モ リ ベン ダーにお問い合わ せ く だ さ い。 tZQCS DDR3 SDRAM で ZQCS コ マ ン ド を実行す る 際の こ の値 (CK) は、 MIG ツールで選択 し た タ イ ミ ン グ ウ ィ ン ド ウ です。 デバ イ ス に基づ き ます。 nAL メ モ リ ク ロ ッ ク サ イ ク ルにおけ る 追加レ イ テ ン 0 シです。 CL 読み出 し CAS レ イ テ ン シです。 可能なオプシ ョ DDR3 : 5、 6、 7、 8、 9、 10、 11 ンは、 MIG ツールの周波数に依存 し ます。 DDR2 : 3、 4、 5、 6 CWL 書 き 込み CAS レ イ テ ン シです。 可能なオプシ ョ DDR3 : 5、 6、 7、 8 ンは、 MIG ツールの周波数に依存 し ます。 BURST_TYPE バース ト のア ク セ ス順を指定 し ます。 RST_ACT_LOW ア ク テ ィ ブ Low ま た は ア ク テ ィ ブ High の リ 0、 1 セ ッ ト 信 号 で す。 [System Reset Polarity] が [ACTIVE LOW] に 設定 さ れ て い る 場合 は 1、 [ACTIVE HIGH] に設定 さ れてい る 場合は 0 に設 定 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com こ の値 (ps) は、 MIG ツールで選択 し た デバ イ ス に基づ き ます。 こ の値 (ps) は、 MIG ツールで選択 し た デバ イ ス に基づ き ます。 Sequential Interleaved 155 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-91 : エ ンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 IBUF_LPWR_MODE 入力バ ッ フ ァ ーの低電力モー ド を有効/無効に し ON OFF ます。 IODELAY_HP_MODE IDELAY の高性能モー ド を有効/無効に し ます。 DATA_IO_PRIM_TYPE イ ン タ ーフ ェ イ ス のバン ク 選択に基づいて、デー HP_LP タ (DQ) お よ びス ト ロ ーブ (DQS) の IBUF プ リ ミ HR_LP テ ィ ブ を イ ン ス タ ン シエー ト し ます。 ま た、 MIG DEFAULT ツールで設定 し た [I/O Power Reduction] に も 依存 し ます。 DATA_IO_IDLE_PWRDWN I/O 消費電力削減オプシ ョ ンが イ ネーブルの場合 ON、 OFF は ON に設定 さ れます。 CA_MIRROR 2 番目の ラ ン ク が イ ネーブルの場合に、 2 番目の ON、 OFF ラ ン ク のア ド レ ス ミ ラ ー リ ン グ を イ ネーブルに し ます。 こ れは、 DDR3 SDRAM デュ アル ラ ン ク UDIMM デバ イ ス にのみ適用 さ れます。 こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 SYSCLK_TYPE シ ス テ ムがシ ン グルエン ド シ ス テ ム ク ロ ッ ク を DIFFERENTIAL 使用す る か、 差動シ ス テ ム ク ロ ッ ク を使用す る SINGLE_ENDED か、 ま た は 内部 ク ロ ッ ク で 駆動 さ れ る か ([No NO_BUFFER Buffer]) を示 し ます。選択 し た CLK_TYPE の設定 に基づいて、ク ロ ッ ク を適切な入力ポー ト に配置 す る 必要 が あ り ま す。 差動 ク ロ ッ ク の 場合は sys_clk_p/sys_clk_n を、 シ ン グルエン ド ク ロ ッ ク の場合は sys_clk_i を 使用 し ま す。 NO_BUFFER を 選択 し た 場合、 ポ ー ト リ ス ト に表示 さ れ る sys_clk_i は内部 ク ロ ッ ク で駆動す る 必要が あ り ます。 REFCLK_TYPE シ ス テ ム がシ ン グルエ ン ド 基準 ク ロ ッ ク を使用 す る か、 差動基準 ク ロ ッ ク を使用す る か、 内部 ク ロ ッ ク に よ っ て駆動 さ れ る か ([No Buffer])、 ま た は シ ス テ ム ク ロ ッ ク 入力に のみ接続で き る か ([Use System Clock]) を 示 し ま す。 選択 し た CLK_TYPE の設定に基づいて、 ク ロ ッ ク を適切 な入力ポー ト に配置する 必要があ り ます。差動 ク ロ ッ ク の場合は clk_ref_p/clk_ref_n を、 シ ン グル エ ン ド ク ロ ッ ク の場合は clk_ref_i を 使用 し ま す。 [No Buffer] を オ ン に し て い る 場合、 ポー ト リ ス ト に表示 さ れ る clk_ref_i は内部 ク ロ ッ ク に よ っ て 駆 動 す る 必要 が あ り ま す。 [Use System Clock] を オ ン に し て い る 場合、 clk_ref_i はユー ザー デザ イ ンの最上位モジ ュ ールでシ ス テ ム ク ロ ッ ク に接続 さ れます。 DIFFERENTIAL SINGLE_ENDED NO_BUFFER USE_SYSTEM_CLOCK CLKIN_PERIOD – 入力 ク ロ ッ ク 周期です。 CLKFBOUT_MULT – PLL の VCO (電圧制御オシ レー タ ー ) 乗 算器です。 動作周波数に基づい て MIG ツールで設定 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 オプ シ ョ ン japan.xilinx.com ON OFF 156 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-91 : エ ンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 IBUF_LPWR_MODE 入力バ ッ フ ァ ーの低電力モー ド を有効/無効に し ON OFF ます。 IODELAY_HP_MODE IDELAY の高性能モー ド を有効/無効に し ます。 DATA_IO_PRIM_TYPE イ ン タ ーフ ェ イ ス のバン ク 選択に基づいて、デー HP_LP タ (DQ) お よ びス ト ロ ーブ (DQS) の IBUF プ リ ミ HR_LP テ ィ ブ を イ ン ス タ ン シエー ト し ます。 ま た、 MIG DEFAULT ツールで設定 し た [I/O Power Reduction] に も 依存 し ます。 DATA_IO_IDLE_PWRDWN I/O 消費電力削減オプシ ョ ンが イ ネーブルの場合 ON、 OFF は ON に設定 さ れます。 CA_MIRROR 2 番目の ラ ン ク が イ ネーブルの場合に、 2 番目の ON、 OFF ラ ン ク のア ド レ ス ミ ラ ー リ ン グ を イ ネーブルに し ます。 こ れは、 DDR3 SDRAM デュ アル ラ ン ク UDIMM デバ イ ス にのみ適用 さ れます。 こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 SYSCLK_TYPE シ ス テ ムがシ ン グルエン ド シ ス テ ム ク ロ ッ ク を DIFFERENTIAL 使用す る か、 差動シ ス テ ム ク ロ ッ ク を使用す る SINGLE_ENDED か、 ま た は 内部 ク ロ ッ ク で 駆動 さ れ る か ([No NO_BUFFER Buffer]) を示 し ます。選択 し た CLK_TYPE の設定 に基づいて、ク ロ ッ ク を適切な入力ポー ト に配置 す る 必要 が あ り ま す。 差動 ク ロ ッ ク の 場合は sys_clk_p/sys_clk_n を、 シ ン グルエン ド ク ロ ッ ク の場合は sys_clk_i を 使用 し ま す。 NO_BUFFER を 選択 し た 場合、 ポ ー ト リ ス ト に表示 さ れ る sys_clk_i は内部 ク ロ ッ ク で駆動す る 必要が あ り ます。 REFCLK_TYPE シ ス テ ム がシ ン グルエ ン ド 基準 ク ロ ッ ク を使用 す る か、 差動基準 ク ロ ッ ク を使用す る か、 内部 ク ロ ッ ク に よ っ て駆動 さ れ る か ([No Buffer])、 ま た は シ ス テ ム ク ロ ッ ク 入力に のみ接続で き る か ([Use System Clock]) を 示 し ま す。 選択 し た CLK_TYPE の設定に基づいて、 ク ロ ッ ク を適切 な入力ポー ト に配置する 必要があ り ます。差動 ク ロ ッ ク の場合は clk_ref_p/clk_ref_n を、 シ ン グル エ ン ド ク ロ ッ ク の場合は clk_ref_i を 使用 し ま す。 [No Buffer] を オ ン に し て い る 場合、 ポー ト リ ス ト に表示 さ れ る clk_ref_i は内部 ク ロ ッ ク に よ っ て 駆 動 す る 必要 が あ り ま す。 [Use System Clock] を オ ン に し て い る 場合、 clk_ref_i はユー ザー デザ イ ンの最上位モジ ュ ールでシ ス テ ム ク ロ ッ ク に接続 さ れます。 DIFFERENTIAL SINGLE_ENDED NO_BUFFER USE_SYSTEM_CLOCK CLKIN_PERIOD – 入力 ク ロ ッ ク 周期です。 CLKFBOUT_MULT – PLL の VCO (電圧制御オシ レー タ ー ) 乗 算器です。 動作周波数に基づい て MIG ツールで設定 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 オプ シ ョ ン japan.xilinx.com ON OFF 157 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-91 : エ ンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 オプ シ ョ ン CLKOUT0_DIVIDE、 CLKOUT1_DIVIDE、 CLKOUT2_DIVIDE、 CLKOUT3_DIVIDE – PLL 出力用の VCO 出力分周器です。 動 作周波数に基づいて MIG ツールで設定 し ます。 CLKOUT0_PHASE – PLL 出力 の CLKOUT0 の位相です。 メ モ リ イ ン タ ーフ ェ イ ス ピ ン に選択 し た バ ン ク お よ び動作周波数に基づい て MIG で設定 さ れます。 DIVCLK_DIVIDE – PLLE2 VCO の分周器です。 動作周波数 に基づいて MIG ツールで設定 し ます。 USE_DM_PORT メ モ リ への書 き 込み動作中に使用 さ れ る デー タ 0 : 無効 マ ス ク を有効/無効に し ます。 1 : 有効 CK_WIDTH メ モ リ に対す る CK/CK# 出力の数です。 DQ_CNT_WIDTH CEIL 関数 (log2(DQ_WIDTH) です。 DRAM_TYPE メ モ リ コ ン ト ロ ー ラ ーでサポー ト さ れ る メ モ リ DDR3、 DDR2 規格を示 し ます。 DRAM_WIDTH 各 DRAM コ ン ポーネ ン ト の DQ バ ス幅です。 AL 追加レ イ テ ン シです。 nBANK_MACHS(1) バン ク マシ ンの数です。 1 つのバン ク マシ ンが、 2、 3、 4、 5、 6、 7、 8 常に 1 つの DRAM バン ク を管理 し ます。 DATA_BUF_ADDR_WIDTH メ モ リ コ ン ト ロ ー ラ ーへ渡 さ れ る 要求 タ グのバ 5、 4 ス幅です。 4:1 モー ド の場合は 5、 2:1 モー ド の場 合は 4 に設定 し ます。こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 SLOT_0_CONFIG ラ ン ク の割 り 当てです。こ のパ ラ メ ー タ ーは変更 シ ン グル ラ ン ク : 8'b0000_0001 し ないで く だ さ い。 デュ アル ラ ン ク : 8'b0000_0011 ECC 誤 り 訂正符号で、 72 ビ ッ ト デー タ 幅 コ ン フ ィ 72 ギ ュ レ ーシ ョ ン で使用で き ま す。 現在、 ECC 機 能はサポー ト さ れてい ません。 RANKS ラ ン ク の数です。 DATA_WIDTH 書 き 込みデー タ マ ス ク 幅を決定 し 、 ECC 機能が ECC = ON : DATA_WIDTH = DQ_WIDTH + 有効であ る か否かに依存 し ます。 ECC_WIDTH ECC = OFF : DATA_WIDTH = DQ_WIDTH APP_DATA_WIDTH こ の UI_INTFC パ ラ メ ー タ ーが UI でのペ イ ロ ー APP_DATA_WIDTH = 2 x nCK_PER_CLK x PAYLOAD_WIDTH ド デー タ 幅を指定 し ます。 APP_MASK_WIDTH こ の UI_INTFC パ ラ メ ー タ ーが UI でのペ イ ロ ー ド マ ス ク 幅を指定 し ます。 USER_REFRESH ユーザーが リ フ レ ッ シ ュ コ マ ン ド を管理す る か を示 し ま す。 こ の値は、 ユーザー イ ン タ ーフ ェ イ ス ま たはネ イ テ ィ ブ イ ン タ ーフ ェ イ ス のいず れかに対 し て設定で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 0 ON、 OFF 158 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-91 : エ ンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 REF_CLK_MMCM_ IODELAY_CTRL オプ シ ョ ン こ のパ ラ メ ー タ ー値は MMCM の イ ン ス タ ン シ TRUE、 FALSE エーシ ョ ン を決定 し ます。 こ の MMCM を使用 し て、 IDELAY CTRL モジ ュ ール用に 300MHz お よ び 400MHz ク ロ ッ ク を生成 し ます。 注記 : 1. nBANK_MACHS パ ラ メ ー タ ー値は、 user_design の最上位 RTL フ ァ イ ルで変更可能です (<module name>_mig.v/vhd : こ の RTL フ ァ イ ルは、 合成お よ び イ ン プ リ メ ン テーシ ョ ン用のユーザー デザ イ ン の最上位 RTL フ ァ イ ル と し て使用。 <module name>_mig_sim.v/vhd : こ の RTL フ ァ イ ルは、 シ ミ ュ レーシ ョ ン用のユーザー デザ イ ンの最上位 RTL フ ァ イ ル と し て使用)。 パ ラ メ ー タ ー値は、 OOC 以外の MIG デザ イ ン でのみ変更可能であ る こ と に注意 し て く だ さ い。 表 1-92 に示 し たパ ラ メ ー タ ーは、 選択 し た ピ ン配置に基づいて MIG ツールがセ ッ ト ア ッ プ し ます。 ピ ン配置を変更 す る 場合は、 MIG ツールを再実行 し てパ ラ メ ー タ ーを適切に設定す る こ と を推奨 し ます。 162 ページの 「DDR3 デザ イ ンにおけ る バン ク お よ びピ ンの選択」 お よ び 170 ページの 「DDR2 デザ イ ンにおけ る バン ク お よ びピ ンの選択ガ イ ド 」 を参照 し て く だ さ い。 ピ ン配置のパ ラ メ ーター設定が正 し く ない と 、 シ ミ ュ レーシ ョ ンが正し く 動作し ない、デザ イ ンの配線がで き ない、 タ イ ミ ン グが満た さ れない、 な ど の結果を招 く こ と があ り ます。 こ れ ら のパ ラ メ ー タ ーで物理層を セ ッ ト ア ッ プ し 、 物 理層 と の間に必要な信号すべての配線が行われます。 次のパ ラ メ ータ ーは、 選択 し たデー タ およ びア ド レ ス/制御バ イ ト グループに基づいて計算 さ れます。 選択 し たシ ス テ ム信号 (シ ス テ ム ク ロ ッ ク 、 基準 ク ロ ッ ク 、 ス テータ ス信号) は 考慮 し ません。 表 1-92 : DDR2/DDR3 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー パラ メ ー タ ー 説明 例 BYTE_LANES_B0、 BYTE_LANES_B1、 BYTE_LANES_B2 I/O バン ク で使用す る バ イ ト レ ー ン を 定義 し ま す。 ビ ッ ト 位置が 1 の場合はバ イ ト レ ーン を使用 し 、 0 の場合は使用 し ま せん。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異 な り 、 生成 さ れたデザ イ ン で手動 で変更す る こ と はで き ません。 ビ ッ ト の順序は、 MSB か ら LSB に向か っ て T0、 T1、 T2、 T3 バ イ ト グループの順です。 4'b1101 : バン ク で 3 つのバ イ ト レーン を使用 し 、1 つは使用 し ません。 DATA_CTL_B0、 DATA_CTL_B1、 DATA_CTL_B2 I/O バン ク におけ る バ イ ト レ ーン 4'b1100 : BYTE_LANE の例を基準にす る と 、2 つのバ イ ト レー の使用モー ド を定義 し ま す。 ビ ッ ン をデー タ 用に使用 し 、 1 つを ア ド レ ス/制御用に使用 し ます。 ト 位置が 1 の場合はバ イ ト レーン をデー タ に、 0 の場合はア ド レ ス/ 制御に使用 し ま す。 こ のパ ラ メ ー タ ーは ピ ン 配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更 す る こ と はで き ません。 PHY_0_BITLANES、 PHY_1_BITLANES、 PHY_2_BITLANES 各バ イ ト レ ーン につ き 12 ビ ッ ト のパ ラ メ ー タ ーを使用 し 、 必要な 物理層の生成に使用す る I/O 位置 を決定 し ま す。 こ のパ ラ メ ー タ ー は バ ン ク ご と に 存 在 し ま す。 CK/CK# お よ び RESET_N ピ ン を 除 き 、 デー タ お よ びア ド レ ス/制御 ピ ン のすべてがパ ラ メ ー タ ー生成 の 際 に 考慮 さ れ ま す。 DQS ピ ン は、デー タ バ イ ト グループで DQS ピ ン に使用 さ れ る 場合は除外 さ れ ます。 こ のパ ラ メ ー タ ーは ピ ン配 置に よ っ て異な り 、 生成 さ れたデ ザ イ ン で手動で変更す る こ と はで き ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 選択 し たバン ク のすべてのバ イ ト グループを表 し ます。1 つの バ イ ト レーンの 12 ビ ッ ト すべて を表 し ます。 た と えば、 1 つ のバ ン ク に対 し て 48'hFFE_FFF_000_ DF6 の よ う に指定 し ま す。 12'hDF6 (12'b1101_1111_0110) : ビ ッ ト ラ イ ン 0、 3、 9 は使用せ ず、 残 り のビ ッ ト を使用 し ます。 japan.xilinx.com 159 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-92 : DDR2/DDR3 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 例 CK_BYTE_MAP CK/CK# の バ ン ク お よ び バ イ ト レーン位置情報です。 各信号ペア に 8 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れてい ます。 [7:4] - バ ン ク 位置で、 サポー ト さ れ る 値は 0、 1、 2 です。 [3:0] - バン ク 内のバ イ ト レーン位 置で、 サ ポー ト さ れ る 値は 0、 1、 2、 3 です。 こ の パ ラ メ ー タ ー は ピ ン 配置 に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ま せん。 最上位のデー タ ま たはア ド レ ス/制御バ イ ト グループで選択 し たバン ク を、 こ のパ ラ メ ー タ ーではバン ク 0 と し ます。 バン ク の番号は上か ら 順に 0、 1、 2 です。 パ ラ メ ー タ ー内では、 バ イ ト グループ T0、 T1、 T2、 T3 にそ れぞれ 3、 2、 1、 0 の番号が付け ら れます。 144'h00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00 _03 : 18 の ク ロ ッ ク ペア (各 ク ロ ッ ク ピ ンに 8 ビ ッ ト ) のパ ラ メ ー タ ーの例です。 こ の場合、 1 つの ク ロ ッ ク ペアのみを使用 し ます。 パ ラ メ ー タ ーの並びは MSB か ら LSB の順です (すな わち CK[0]/CK#[0] はパ ラ メ ー タ ーの最下位 8 ビ ッ ト に該当)。 8'h13 : CK/CK# をバン ク 1、 バ イ ト レーン 0 に配置 し ます。 8'h20 : CK/CK# をバン ク 2、 バ イ ト レーン 3 に配置 し ます。 ADDR_MAP ア ド レ ス の バ ン ク お よ びバ イ ト レーン位置情報です。 各ピ ンに 12 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れ てい ます。 • [11:8] - バン ク 位置で、 サポー ト さ れ る 値は 0、 1、 2 です。 • [7:4] - バン ク 内のバ イ ト レーン 位置で、 サポー ト さ れ る 値は 0、 1、 2、 3 です。 • [3:0] - バ イ ト レーン内のビ ッ ト 位置で、サポー ト さ れ る 値は [0、 1、 2、 ...、 A、 B] です。 こ の パ ラ メ ー タ ー は ピ ン 配置 に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ま せん。 最上位のデー タ ま たはア ド レ ス/制御バ イ ト グループで選択 し たバン ク を、 こ のパ ラ メ ー タ ーではバン ク 0 と し ます。 バン ク の番号は上か ら 順に 0、 1、 2 です。 パ ラ メ ー タ ー内では、 バ イ ト グループ T0、 T1、 T2、 T3 にそ れぞれ 3、 2、 1、 0 の番号が付け ら れます。 バ イ ト グループ内の最下位 ピ ン を MAP パ ラ メ ー タ ーでは 0 と し ま す。 バ イ ト グループ内の ピ ン番号は最下位ピ ン か ら 最 上位ピ ンに向か っ て 0 ~ 9 の番号が付け ら れます (DQS I/O ピ ン を除 く )。バ イ ト グループの DQS_N ピ ン と DQS_P ピ ンの番 号はそれぞれ A、 B です。 192'h000_000_039_038_037_036_035_034_033_032_031_029_02 8_027_026_02B : ア ド レ ス幅が 16 ビ ッ ト で各ピ ンが 12 ビ ッ ト であ る こ と を表 し ます。 こ の例では、 ア ド レ ス幅は 14 ビ ッ ト です。 パ ラ メ ー タ ーの並びは MSB か ら LSB の順です (すなわ ち ADDR[0] はパ ラ メ ー タ ーの最下位 12 ビ ッ ト に該当)。 12'h02B : ア ド レ ス ピ ン を ロ ケーシ ョ ン B のバン ク 0、 バ イ ト レーン 1 に配置 し ます。 12'h235 : ア ド レ ス ピ ン を ロ ケーシ ョ ン 5 のバン ク 2、 バ イ ト レーン 0 に配置 し ます。 BANK_MAP バ イ ト ア ド レ ス のバ ン ク お よ び 「ADDR_MAP」 の例を参照 し て く だ さ い。 バイ ト レ ー ン 位 置 情 報 で す。 「ADDR_MAP」 の説明 を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れ たデザ イ ン で手動で変更す る こ と はで き ません。 CAS_MAP CAS コ マ ン ド のバン ク お よ びバ イ 「ADDR_MAP」 の例を参照 し て く だ さ い。 ト レ ー ン 位 置 情報 で す。 「ADDR_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れ たデザ イ ン で手動で変更す る こ と はで き ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 160 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-92 : DDR2/DDR3 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 CKE_MAP CKE のバ ン ク お よ びバ イ ト レ ー 「ADDR_MAP」 の例を参照 し て く だ さ い。 ン位置情報です。 ア ド レ ス/制御バ イ ト グ ループ の いずれか と し て 見な さ れ ま す。 「ADDR_MAP」 の 説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異 な り 、 生成 さ れたデザ イ ン で手動 で変更す る こ と は出来ません。 ODT_MAP ODT のバ ン ク お よ びバ イ ト レ ー 「ADDR_MAP」 の例を参照 し て く だ さ い。 ン位置情報です。 ア ド レ ス/制御バ イ ト グ ループ の いずれか と し て 見 な さ れ ま す。 「ADDR_MAP」 の 説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異 な り 、 生成 さ れたデザ イ ン で手動 で変更す る こ と は出来ません。 CS_MAP チ ッ プ セ レ ク ト のバ ン ク お よ び バ イ ト レーン位置情報です。 「ADDR_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れ たデザ イ ン で手動で変更す る こ と はで き ません。 「ADDR_MAP」 の例を参照 し て く だ さ い。 PARITY_MAP パ リ テ ィ ビ ッ ト のバ ン ク お よ び バ イ ト レーン位置情報です。 パ リ テ ィ ビ ッ ト は、 RDIMM に対 し て のみ有効です。 「ADDR_MAP」 の 説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異 な り 、 生成 さ れたデザ イ ン で手動 で変更す る こ と はで き ません。 「ADDR_MAP」 の例を参照 し て く だ さ い。 RAS_MAP RAS コ マ ン ド のバン ク お よ びバ イ ト レーン位置情報です。 「ADDR_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れ たデザ イ ン で手動で変更す る こ と はで き ません。 「ADDR_MAP」 の例を参照 し て く だ さ い。 WE_MAP WE コ マ ン ド のバ ン ク お よ びバ イ ト レーン位置情報です。 「ADDR_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れ たデザ イ ン で手動で変更す る こ と はで き ません。 「ADDR_MAP」 の例を参照 し て く だ さ い。 DQS_BYTE_MAP ス ト ロ ーブのバン ク お よ びバ イ ト 「CK_BYTE_MAP」 の例を参照 し て く だ さ い。 レーン位置情報です。 「CK_BYTE_MAP」 の 説明 を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ー は ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 例 japan.xilinx.com 161 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-92 : DDR2/DDR3 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 例 DATA0_MAP、 DATA1_MAP、 DATA2_MAP、 DATA3_MAP、 DATA4_MAP、 DATA5_MAP、 DATA6_MAP、 DATA7_MAP、 DATA8_MAP デー タ バ ス 用の バ ン ク お よ びバ イ ト レーンの位置情報です。 「ADDR_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れ たデザ イ ン で手動で変更す る こ と はで き ません。 「ADDR_MAP」 の例を参照 し て く だ さ い。 MASK0_MAP、 MASK1_MAP デー タ マ ス ク の バ ン ク お よ びバ イ ト レーン位置情報です。 「ADDR_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れ たデザ イ ン で手動で変更す る こ と はで き ません。 「ADDR_MAP」 の例を参照 し て く だ さ い。 設計ガ イ ド ラ イ ン こ こ では、 DDR2 お よ び DDR3 SDRAM デザ イ ンの設計ガ イ ド ラ イ ンについて説明 し ます。 DDR3 SDRAM こ こ では、 バン ク の選択、 ピ ンの割 り 当て、 ピ ンの配置、 終端、 I/O 規格、 お よ び ト レース長な ど、 DDR3 SDRAM デ ザ イ ンに関す る ガ イ ド ラ イ ン を示 し ます。 デザイ ン規則 メ モ リ の タ イ プ、 メ モ リ デバ イ ス、 デー タ 幅は、 選択 し た FPGA、 FPGA の ス ピー ド グ レー ド 、 デザ イ ンの動作周波 数に よ っ て制約を受け ます。 最終的な周波数範囲は、 特性評価の結果に基づいて決定 し ます。 DDR3 デザイ ン におけるバン ク お よびピ ンの選択 MIG ツールが、 物理層の規則に従っ て、 メ モ リ イ ン タ ーフ ェ イ ス の ピ ンの割 り 当て を生成 し ます。 ザ イ リ ン ク ス 7シ リ ー ズ FPGA は非常に高性能な メ モ リ イ ン タ ー フ ェ イ ス に対応す る よ う 設計 さ れ て い ま すが、 DDR3 SDRAM 物理層を使用す る 際にはい く つかの規則に従 う 必要があ り ます。ザ イ リ ン ク ス 7シ リ ーズ FPGA は、各 DQS バ イ ト グループに専用の ロ ジ ッ ク を備えてい ます。50 ピ ンの各バン ク それぞれに 4 つの DQS バ イ ト グループが あ り ます。 各バ イ ト グループには 1 つの DQS ク ロ ッ ク 兼用 (CC) I/O ペア と 10 の関連 I/O があ り ます。 こ のガ イ ド ではア ド レ スお よ び制御に対 し て 「バ イ ト グループ」 と い う 言葉を使用 し てい ますが、 こ れは 12 個の関 連グループ を さ し てい ます。 一般的な DDR3 デー タ バ ス コ ン フ ィ ギ ュ レーシ ョ ンでは、 こ れ ら 10 個の I/O の う ち 8 つを DQ に、1 つをデー タ マ ス ク (DM) に使用 し 、残 り の 1 つを メ モ リ イ ン タ ーフ ェ イ ス のその他の信号に使用 し ます。 7シ リ ーズ DDR3 イ ン タ ーフ ェ イ ス の ピ ン配置は、 MIG ツールを使用 し て生成す る 必要があ り ます。 MIG ツールは次 の規則に従い ます。 • シ ス テ ム ク ロ ッ ク 入力は メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列にあ る 必要があ り ます。 ま た、 可能な限 り ア ド レ ス/ 制御バン ク 内に配置す る こ と を推奨 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 162 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • CK は、 いずれか 1 つの制御バ イ ト グループの p/n ペアに接続 し ます。 SRCC、 MRCC、 お よ び DQS を含む、 グルー プ内の任意の p/n ペアへ接続可能です。 • 複数の CK 出力がデ ュ アル ラ ン ク な ど に使用 さ れ る 場合、こ れ ら はすべて同 じ バ イ ト レーンか ら の も のであ る 必 要があ り ます。 • バ イ ト グループの DQS 信号は、 DDR2 お よ び DDR3 SDRAM 用の ス ト ロ ーブ接続のため、 バン ク 内の指定 さ れ た DQS ペア に接続す る 必要が あ り ま す。 詳細は、 『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ー ス ユーザー ガ イ ド 』 (UG472) [参照 10] を参照 し て く だ さ い。 • DQ お よ び DM 信号が使用 さ れてい る 場合は、 対応する DQS 信号 と 関連付け ら れてい る バ イ ト グループの ピ ンに 接続 し ます。 • DCI をサポー ト し てい る バン ク では、 DCI (デジ タ ル制御 イ ン ピーダ ン ス) 基準用に VRN お よ び VRP が使用 さ れ ます。 • バ イ ト グループでない ピ ン (HP バン ク の VRN/VRP ピ ンお よ び HR バン ク の上辺/下辺のほ と ん ど の ピ ン) は、 次 の条件が満た さ れてい る 場合、 ア ド レ ス/制御ピ ンに使用で き ます。 ° HP バン ク で、DCI カ ス ケー ド が使用 さ れてい る か、ま たは出力のみの よ う にバン ク で VRN/VRP が不要な場合 ° 隣接す る バ イ ト グループ (T0/T3) がア ド レ ス/制御バ イ ト グループ と し て使用 さ れてい る 場合 ° 隣接す る バ イ ト グループ (T0/T3) に未使用ピ ンがあ る 、 ま たは隣接す る バ イ ト グループに CK 出力が含まれ てい る 場合 • シ ン グル イ ン タ ーフ ェ イ ス には、 ダ イ の面か ら 4 つ以上の縦バン ク は使用で き ません。 • ア ド レ ス/制御は、 3 つの I/O バン ク に ま たが る イ ン タ ーフ ェ イ ス の中央の I/O バン ク に割 り 当て ます。 すべての ア ド レ ス/制御は、 同 じ I/O バン ク に割 り 当て ます。 ア ド レ ス/制御は複数のバン ク に分割で き ません。 • 制御 (RAS_N、 CAS_N、 WE_N、 CS_N、 CKE、 ODT) お よ びア ド レ ス ラ イ ンは、 デー タ バ イ ト グループで使用 さ れていないバ イ ト グループへ接続 し ます。 • タ イ ミ ン グが満た さ れて適切な I/O 電圧規格が使用 さ れてい る 限 り 、RESET_N はデバ イ ス内で使用可能な任意の ピ ンに接続で き ます (DCI カ ス ケー ド が使用 さ れていれば、 VRN/VRP を含む)。 GUI では、 タ イ ミ ン グ をサポー ト す る ために、 こ の ピ ン を イ ン タ ーフ ェ イ ス に使用 さ れ る バン ク に限定 し ますが、 こ れは必須条件ではあ り ません。 • SSI テ ク ノ ロ ジ を使用す る デバ イ ス には SLR があ り ます。 メ モ リ イ ン タ ーフ ェ イ ス は複数の SLR を ま た ぐ こ と はで き ません。 指定 し たデバ イ スお よ びその他の使用可能な ピ ン互換デバ イ ス は、 こ の規則に必ず従 う 必要があ り ます。 ピ ンの入れ替え • ピ ンは、 それぞれのバ イ ト グループ (デー タ お よ びア ド レ ス/制御) 内で自由に入れ替え る こ と がで き ますが、 例 外 と し て DQS ペアは ク ロ ッ ク 兼用 DQS ペアに、 CK は p/n ペアに割 り 当て ら れ る 必要があ り ます。 • バ イ ト グループ (デー タ お よ びア ド レ ス/制御) は、 互いに制限な く 入れ替え る こ と がで き ます。 • ア ド レ ス/制御バ イ ト グループの ピ ンは、 それぞれのバ イ ト グループ内で制限な く 入れ替え る こ と がで き ます。 • その他の ピ ンの入れ替えは許可 さ れてい ません。 複数 コ ン ト ロー ラ ーに よ るバン クの共有 メ モ リ イ ン タ ーフ ェ イ ス で使用 さ れてい る バン ク の未使用部分を別の メ モ リ イ ン タ ーフ ェ イ ス が共有す る こ と はで き ません。 1 つのバン ク にあ る すべての FIFO お よ び PHASER を制御する 専用 ロ ジ ッ ク は、 シ ン グル メ モ リ イ ン タ ー フ ェ イ ス の動作用に設計 さ れてお り 、 別の メ モ リ イ ン タ ーフ ェ イ ス と は共有で き ません。 ただ し 、 MIG でサポー ト さ れ る デ ュ アル コ ン ト ロ ー ラ ーの共有ア ド レ スお よ び制御は例外です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 163 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン シ ス テム ク ロ ッ ク、 PLL、 MMCM の位置お よび制約 イ ン タ ー フ ェ イ ス のパ フ ォ ーマ ン ス 仕様 を 満 た すには、 メ モ リ に ク ロ ッ ク を 供給 し て い る バ ン ク に PLL お よ び MMCM が必要です。 ま た、 シ ス テ ム ク ロ ッ ク 入力 も こ のバン ク に配置する こ と を強 く 推奨 し ます。 MIG ツールは可 能な限 り こ れ ら 2 つの規則に従い ます。 ただ し 例外 と し て、 シ ン グル バン ク の 16 ビ ッ ト イ ン タ ーフ ェ イ ス では、 ク ロ ッ ク 入力用の ピ ンがない可能性があ り ます。隣のバン ク か ら 周波数バ ッ ク ボーン を経由 し て PLL に ク ロ ッ ク を入力 す る 必要があ り ます。 PLL へのシ ス テ ム ク ロ ッ ク 入力は、 ク ロ ッ ク 兼用 I/O か ら 供給 し ます。 シ ス テ ム ク ロ ッ ク 入力は、同 じ 列にあ る イ ン タ ーフ ェ イ ス に し か使用で き ません。 こ の ク ロ ッ ク を別の列か ら 供給す る こ と はで き ません。 こ れは、 PLL/MMCM お よ び ク ロ ッ ク 配線を追加す る こ と にな り 、 ジ ッ タ ーが大 き く な り すぎ る ためです。 PLL か ら の未使用の出力は ク ロ ッ ク 出力 と し て使用で き ます。 こ れ ら の出力のみ、 設定を変更で き ます。 PLL の全体 的な動作や使用中の出力に関す る 設定は変更 し ないで く だ さ い。 複数の イ ン タ ーフ ェ イ ス で 1 つの PLL を共有す る こ と はで き ません。 PLL パ ラ メ ー タ ーの条件については、 101 ペー ジの 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を参照 し て く だ さ い。 DDR3 コ ンポーネ ン ト の PCB 配線 ク ロ ッ ク 、 ア ド レ ス、 制御 ラ イ ン の配線にはフ ラ イ バ イ 配線 ト ポ ロ ジ を使用す る 必要があ り ます。 フ ラ イ バ イ と は、 こ の ラ イ ン グループがデ イ ジーチ ェ ーン接続 さ れ、 末端で適切に終端処理 さ れ る こ と です。 あ る コ ン ポーネ ン ト へ の、 こ のグループ内の各信号 ト レース の長 さ は一致 し てい る 必要があ り ます。 コ ン ト ロ ー ラ ーは、 ラ イ ト レベ リ ン グ を使用 し て コ ン ポーネ ン ト 間の ス キ ュ ー差を解消 し ます。こ の手法は信号を複製す る 必要がないため、使用する FPGA ピ ンが少な く な り ます。 各 コ ン ポーネ ン ト のデー タ バ ス配線は、 可能な限 り 短 く し て く だ さ い。 ビ アの追加に よ る 配 線の不連続を最小限に抑え る ため、 1 つの PCB レ イ ヤーに各信号を配線 し て く だ さ い。 VREF VREF には内部 VREF と 外部 VREF があ り ます。 • 内部 VREF : デー タ レー ト が 800Mb/s 以下の場合のみ使用 さ れます。 • 外部 VREF : 特定の FPGA の ス ピー ド グ レー ド で最大デー タ レー ト を実現する には、 外部 VREF は、 DRAM に供 給 さ れ る VDD と グ ラ ン ド の中間点を ト ラ ッ キ ン グする 必要があ り ます。 こ れには、 抵抗分圧回路を使用す る か、 あ る いは こ の中間点を ト ラ ッ キ ン グす る レ ギ ュ レー タ を使用 し ます。 VDD 電圧に関係な く 固定の基準電圧を供 給す る レ ギ ュ レー タ は、 こ の場合のデー タ レー ト には使用 し ないで く だ さ い。 VREF ト レース の間隔は、 ほかの 信号か ら のカ ッ プ リ ン グ を削減す る ため、 最小間隔 よ り 広 く す る 必要があ り ま す。 詳細は、 『7 シ リ ーズ FPGA PCB デザ イ ンお よ びピ ン配置ガ イ ド 』 (UG483) [参照 12] の 「VREF 安定化キ ャ パシ タ 」 セ ク シ ョ ン を参照 し て く だ さ い。 VCCAUX_IO VCCAUX_IO は、 メ モ リ の性能に よ っ て、1.8V ま たは 2.0V に設定で き ます。異な る メ モ リ の性能ま たは FPGA ス ピー ド グ レー ド を移行す る 場合は、 VCCAUX_IO に調整可能な個別の電源が必要な場合があ り ます。 性能の情報は、 7 シ リ ーズ FPGA の各デー タ シー ト [参照 13] を参照 し て く だ さ い。 VCCAUX_IO の詳細は、 『7 シ リ ーズ SelectIO™ リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] の 「VCCAUX_IO」 セ ク シ ョ ン を参照 し て く だ さ い。 電源シ ス テムお よびプ レーンの断絶 詳細は、 『7 シ リ ーズ FPGA PCB デザ イ ンお よ びピ ン配置ガ イ ド 』 (UG483) [参照 12] を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 164 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 終端 DDR3 SDRAM の終端処理を行 う 場合は次の規則に従っ て く だ さ い。 • シ ミ ュ レーシ ョ ン (IBIS ま たはほかのツールを使用) を実行す る こ と を強 く 推奨 し ます。 ア ド レ ス信号 (A、 BA)、 コ マ ン ド 信号 (RAS_N、 CAS_N、 WE_N)、 お よ び制御信号 (CS_N、 ODT) の ロ ーデ ィ ン グは、 ス ピー ド 要件、 終端 ト ポ ロ ジ、 バ ッ フ ァ ーな し DIMM の使用、 複数 ラ ン ク DIMM な ど、 さ ま ざ ま な要因に依存 し 、 性能目標の達成 の妨げ と な る 場合 も あ り ます。 • 1,333Mb/s 以上での動作に対 し ては、 シ ン グルエン ド 40Ω の ト レースお よ び終端が必要です。 1,333Mb/s 未満の 場合は 50Ω の イ ン ピーダ ン ス を使用で き ます。 図 1-89 お よ び図 1-90 は、 1,333Mb/s 以上の場合を示 し てい ます。 • 1,333Mb/s 以上での動作に対 し ては、差動 80Ω の ト レースお よ び終端が必要です。1,333Mb/s 未満の場合は、100Ω の イ ン ピーダ ン ス を使用で き ます。 図 1-91 は 1,333Mb/s 以上の場合を示 し てい ます。 • VTT 電源を使用 し てい る 場合は、 終端か ら の高周波数電流を制御する ための処置が必要です。 4 終端ご と に 1µF のバ イ パ ス キ ャ パシ タ 、 25 終端ご と に 100µF のバ イ パ ス キ ャ パシ タ を終端に対 し て均一に分配す る こ と をお勧 め し ます。 電源を終端に分配す る ため、 プ レーン レ ッ ト も 使用す る 必要があ り ます。 • ア ド レ スお よ び制御信号 (A、 BA、 RAS_N、 CAS_N、 WE_N、 CS_N、 CKE、 ODT) は、 オン ボー ド の DIMM 終端で 終端 し ます。DIMM 終端がない場合やコ ン ポーネ ン ト が使用 さ れてい る 場合は、VTT の ラ イ ンの最遠端に 40Ω の プルア ッ プ抵抗を使用す る 必要があ り ます (図 1-89)。 図 1-91 に示 さ れ る 、 差動終端が必要な CK/CK_N は こ の限 り ではあ り ません。 • VCCO と GND それぞれに 80Ω の分割抵抗を付けて終端処理で き ますが、 こ の方法は消費電力が高 く な り ます (図 1-90)。 双方向信号は、 その両端に終端抵抗を付け る 必要があ り ます。 メ モ リ 側には必ず ODT が必要です。 HP バン ク で最高性能を実現す る には DCI を使用 し 、 HR バン ク には IN_TERM (内部終端) を使用 し て く だ さ い。 X-Ref Target - Figure 1-89 977 57 6RXUFH =4 /RDG 図 1-89 : VTT への 40Ω 終端 X-Ref Target - Figure 1-90 9&&2 [=4 6RXUFH =4 /RDG [=4 8*BFBB 図 1-90 : VCCO および GND への 80Ω の分割終端 • 差動信号には、 メ モ リ デバ イ ス の内部終端ま たは ロ ー ド 側の 80Ω 差動終端を使用 し ます (図 1-91)。 双方向信号 は、 その両端に終端抵抗を付け る 必要があ り ます。 メ モ リ 側には必ず ODT が必要です。 HP バン ク で最高性能を 実現す る には DCI を使用 し 、 HR バン ク には IN_TERM (内部終端) を使用 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 165 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-91 =4 6RXUFHB3 /RDGB3 [=4 =4 6RXUFHB1 /RDGB1 8*BFBB 図 1-91 : 80Ω の差動終端 • すべての終端は、 で き る 限 り ロ ー ド に接近 さ せて配置 し ます。 終端は、 ロ ー ド ピ ンか ら 離れなければその前後ど ち ら に配置 し て も 問題あ り ません。 こ の距離はシ ミ ュ レーシ ョ ンで決定で き ます。 • パフ ォーマ ン ス仕様を満たすには、 FPGA に DCI (HP バン ク の場合) ま たは IN_TERM (HR バン ク の場合) が必要 です。 • RESET_N 信号は、 終端処理 さ れません。 こ の信号は、 メ モ リ 初期化時に GND への 4.7kΩ の抵抗を付けてプルダ ウ ンす る 必要があ り ます。 • メ モ リ で信号を終端す る ODT が必要です。 モー ド レ ジ ス タ を適切に設定する ため、 MIG ツールを使用 し て メ モ リ シ ス テ ムの コ ン フ ィ ギ ュ レーシ ョ ン を指定 し ます。 ODT の詳細は、 Micron 社のテ ク ニ カル ノ ー ト TN-47-01 [参照 14] を参照 し て く だ さ い。 • DM を FPGA で駆動 し ない場合は、 DM を GND にプルダ ウ ンする 必要があ り ます (デー タ マ ス ク が未使用ま たは 無効の場合)。 こ の際、 DM に使用す る プルダ ウ ン抵抗の値は、 ODT 値の 4 倍以下に し ます。 詳細は、 メ モ リ ベン ダーへ確認 し て く だ さ い。 ト レース長 こ こ で説明す る ト レース長は、 高速動作が必要な アプ リ ケーシ ョ ン を前提 と し てい ます。 有効 ト レース長を決定す る 際は、 パ ッ ケージ遅延を考慮す る 必要があ り ます。 同 じ パ ッ ケージの異な る デバ イ ス では、 内部パ ッ ケージ ス キ ュ ー の値が異な り ます。 こ の よ う なデバ イ ス を使用す る 場合は、 MIG の [Controller Options] ページで最小周期を適切な値 ま で下げて く だ さ い。 も う 1 つの方法は Vivado を使用 し てパ ッ ケージ長を求め る こ と です。 次の コ マ ン ド を使用 し て、 タ ーゲ ッ ト デバ イ ス の全ピ ンに対す る パ ッ ケージ遅延値を含む csv フ ァ イ ルを生成 し ます。 link_design -part <part_number> write_csv <file_name> た と えば、 7 シ リ ーズ FPGA XC7K160T-FF676 のパ ッ ケージ遅延情報を取得する には、 次の コ マ ン ド を使用 し ます。 link_design -part xc7k160tfbg676 write_csv flight_time こ れで、 各ピ ンのパ ッ ケージ ト レース遅延情報を含む flight_time.csv と い う 名前の フ ァ イ ルが現在のデ ィ レ ク ト リ に生成 さ れます。 DDR3 SDRAM イ ン タ ーフ ェ イ ス におけ る ト レース一致のガ イ ド ラ イ ンに従 う と 同時に、 全体 的な電気的伝搬遅延には こ のパ ッ ケージ遅延を考慮 し ます。 同一パ ッ ケージの異な る ダ イ に移行す る 場合、 同 じ パ ッ ケージ ピ ンで も 遅延が異な る 可能性があ り ます。 各デバ イ ス の遅延値を考慮 し 、 各ピ ンに対 し て中程度の範囲を使用する 必要があ り ます。 こ れに よ り 、 タ ーゲ ッ ト デバ イ ス の最 大性能が低下す る 場合があ り ます。 実際の低下量は、 表 1-93 を参照 し て く だ さ い。 DDR3 SDRAM 信号間の最大電気的遅延に関す る 規則は次の と お り です。 • すべての DQ ま たは DM と 関連す る DQS/DQS# と の電気的遅延の最大値は ±5ps と し ます。 • すべてのア ド レ ス/制御信号 と 関連す る CK/CK# と の電気的遅延の最大値は ±25ps と し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 166 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • CK/CK# 信号は DQS/DQS# 信号の後に各 メ モ リ デバ イ ス に到達す る 必要があ り ます。 CK/CK# と DQS/DQS# の間で 許容 さ れ る ス キ ュ ーは、 0 ~ 1,600ps の範囲内に し ます。 CK/CK# と DQS/DQS# の間で推奨 さ れ る ス キ ュ ーは、 コ ン ポーネ ン ト /UDIMM の場合に 150ps ~ 1,600ps、RDIMM の場合に 450ps ~ 750ps です。DIMM モジ ュ ールでは、 こ の要件に合わせて設計す る 際に FPGA か ら DIMM の メ モ リ コ ン ポーネ ン ト ま での CK/CK# お よ び DQS/DQS# の総伝搬遅延を考慮 し ます。 • キ ャ リ ブ レーシ ョ ンで DQS/DQS# が正 し い CK/CK# ク ロ ッ ク サ イ ク ルに揃え ら れ る よ う に、各 メ モ リ コ ン ポーネ ン ト において、 CK/CK# は DQS/DQS# の後に到達す る 必要があ り ます。 こ の仕様を満た さ ない場合は、 書 き 込み キ ャ リ ブ レ ー シ ョ ン が 誤 動 作 し ま す。 詳 細 は、 213 ペ ー ジ の 「書 き 込 み キ ャ リ ブ レ ー シ ョ ン の デ バ ッ グ (dbg_wrcal_err = 1)」 の191 ページの 「DDR3/DDR2 デザ イ ンのデバ ッ グ」 を参照 し て く だ さ い。 メ モ リ イ ン タ ー フ ェ イ ス が最大周波数で動作 し て い な い場合、 特定の DQ-DQS の ス キ ュ ー制限値が高 く な り ま す。 表 1-93 に、 こ の よ う な場合の緩和 さ れた ス キ ュー制限 (±) を示し ます。 縦の列にはビ ッ ト レー ト を Mb/s 単位で示し、 最初の列は FPGA の最大レー ト です。 データ シー ト を参照し て こ の最大レー ト を判断し て く だ さ い。 2 番目の列は、 メ モ リ シ ス テムが動作する実際のス ピー ド です。 横の列は、 DDR3 SDRAM コ ンポーネン ト のス ピー ド 定格を示し ます。 表 1-93 : DQ - DQS のスキ ュ ー制限 FPGA 定格 定格 1,866 1,600 1,333 1,066 800 メ モ リ コ ンポーネ ン ト の定格 実際 2,133 1,866 1,600 1,333 1,066 800 1,866 18.0 5.0 – – – – 1,600 62.6 49.5 31.3 – – – 1,333 125.2 112.1 93.9 66.4 – – 1,066 150.0 150.0 150.0 150.0 125.4 – 800 150.0 150.0 150.0 150.0 150.0 150.0 1,866 – – – – – – 1,600 36.2 23.2 5.0 – – – 1,333 98.8 85.8 67.6 40.1 – – 1,066 150.0 150.0 150.0 134.0 99.0 – 800 150.0 150.0 150.0 150.0 150.0 150.0 1,866 – – – – – – 1,600 – – – – – – 1,333 63.7 50.7 32.5 5.0 – – 1,066 150.0 144.7 126.4 98.9 63.9 – 800 150.0 150.0 150.0 150.0 150.0 150.0 1,866 – – – – – – 1,600 – – – – – – 1,333 – – – – – – 1,066 98.7 85.7 67.5 40.0 5.0 – 800 150.0 150.0 150.0 150.0 150.0 98.5 1,866 – – – – – – 1,600 – – – – – – 1,333 – – – – – – 1,066 – – – – – – 800 150.0 148.2 130.0 102.5 67.0 5.0 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 167 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン た と えば、1,866 定格の -3 FPGA が 1,600Mb/s で 1,600 定格の DDR3 コ ン ポーネ ン ト と 動作する 場合、DQ-DQS ス キ ュ ー 制限は ±31.3ps と な り ます。 こ の イ ン タ ーフ ェ イ ス が 1,066Mb/s で 1,333 定格の DDR3 コ ン ポーネ ン ト と 動作す る 場 合は、 ス キ ュ ー制限は ±150ps と な り ます。 同様に、 メ モ リ イ ン タ ーフ ェ イ ス が最大周波数で動作 し ていない場合、 特定のCK と ア ド レ ス/制御の ス キ ュ ー制限値 が高 く な り ます。 表 1-94 に、 こ の よ う な場合の緩和 さ れた ス キ ュ ー制限 (±) を示 し ま す。 縦の列にはビ ッ ト レー ト を Mb/s 単位で示 し 、 横の列に は DDR3 SDRAM コ ン ポー ネ ン ト の ス ピ ー ド 定格 を 示 し て い ま す。 表の上半分は 1,867Mb/s か ら 変化す る ス キ ュ ー値を、 下半分は 1,600Mb/s か ら 変化する ス キ ュ ー値を示 し てい ます。 表 1-94 : CK と ア ド レ ス/制御のスキ ュ ー リ ミ ッ ト FPGA 定格 定格 1,866 1,600 1,333 1,066 800 メ モ リ コ ンポーネ ン ト の定格 実際 2,133 1,866 1,600 1,333 1,066 800 1,866 35.0 25.0 – – – – 1,600 124.1 114.1 94.1 – – – 1,333 150.0 150.0 150.0 150.0 – – 1,066 150.0 150.0 150.0 150.0 150.0 – 800 150.0 150.0 150.0 150.0 150.0 150.0 1,866 – – – – – – 1,600 55.0 45.0 25.0 – – – 1,333 150.0 150.0 150.0 130.2 – – 1,066 150.0 150.0 150.0 150.0 150.0 – 800 150.0 150.0 150.0 150.0 150.0 150.0 1,866 – – – – – – 1,600 – – – – – – 1,333 75.0 65.0 45.0 25.0 – – 1,066 150.0 150.0 150.0 150.0 140.4 – 800 150.0 150.0 150.0 150.0 150.0 150.0 1,866 – – – – – – 1,600 – – – – – – 1,333 – – – – – – 1,066 147.5 137.5 117.5 97.5 25.0 – 800 150.0 150.0 150.0 150.0 150.0 150.0 1,866 – – – – – – 1,600 – – – – – – 1,333 – – – – – – 1,066 – – – – – – 800 150.0 150.0 150.0 150.0 100.0 25.0 た と えば、 1,863Mb/s 定格の FPGA が 1600Mb/s で 1,600 定格の DDR3 コ ン ポーネ ン ト 動作す る 場合の CK と ア ド レ ス /制御の ス キ ュ ー制限は ±94.1ps と な り ます。1,600Mb/s 定格の FPGA が 1,066Mb/s で 1,333 定格の DDR3 コ ン ポーネ ン ト に対 し て動作す る と 、 ス キ ュ ー制限は ±150ps と な り ます。 I/O バン ク 内のバ イ ト 間ス キ ュ ーは、 1ns 以下に抑え ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 168 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ン XDC には タ イ ミ ン グ、 ピ ン、 I/O 規格に関す る 情報が含 ま れてい ま す。 イ ン タ ーフ ェ イ ス の動作周波数は、 MIG の GUI で sys_clk 制約を使用 し て設定 し ます。 こ の制約を変更す る 場合は、 ほかの内部パ ラ メ ー タ ーに も 影響が及ぶ ため、 設定を再度実行す る 必要があ り ます。 次に例を示 し ます。 NET "sys_clk_p" TNM_NET = TNM_sys_clk; TIMESPEC "TS_sys_clk" = PERIOD "TNM_sys_clk" 1.875 ns; clk_ref 制約で IDELAY 基準 ク ロ ッ ク の周波数を設定 し ます (通常は 200MHz)。 次に例を示 し ます。 NET "clk_ref_p" TNM_NET = TNM_clk_ref; TIMESPEC "TS_clk_ref" = PERIOD "TNM_clk_ref" 5 ns; I/O 規 格 は、 DDR3 イ ン タ ー フ ェ イ ス に合わせて LVCMOS15、 SSTL15、 SSTL15_T_DCI、 DIFF_SSTL15、 DIFF_SSTL15_T_DCI か ら 適宜設定 さ れます。シ ス テ ム ク ロ ッ ク (sys_clk) お よ び I/O 遅延基準 ク ロ ッ ク (clk_ref) には LVDS_25 を使用 し ます。 こ れ ら の規格は、 シ ス テ ム コ ン フ ィ ギ ュ レーシ ョ ンに合わせて変更可能です。 こ れ ら の信号は、 シ ス テ ム接続のために最上位に配線 さ れます。 • sys_rst : メ イ ン シ ス テ ム リ セ ッ ト 信号です。 • init_calib_complete : 内部キ ャ リ ブ レーシ ョ ンが完了 し 、 イ ン タ ーフ ェ イ ス の使用準備が整っ てい る こ と を示す信 号です。 • tg_compare_error : 読み出 し デー タ と 書 き 込みデー タ が一致 し ない場合にサンプル デザ イ ンの ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て生成 さ れ る 信号です。 こ れ ら の信号はすべて LVCMOS25 に設定 さ れてい ますが、 シ ス テ ム デザ イ ンに応 じ て変更が可能です。 こ れ ら の信 号を生成 し て外部ピ ンに出力す る のではな く 、 内部で使用す る こ と も で き ます。 16 ビ ッ ト 幅の イ ン タ ーフ ェ イ ス では、 ア ド レ ス/制御お よ びデー タ があ る バン ク の上下いずれかのバン ク にシ ス テ ム ク ロ ッ ク が必要 と な る こ と があ り ます。 こ の場合、 MIG ツールは XDC に制約を追加 し ます。 次に例を示 し ます。 set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets sys_clk_p] set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_pins -hierarchical *pll*CLKIN1] PAR の実行時に次の よ う な警告が表示 さ れますが、 こ の警告は無視 し てか ま い ません。 WARNING:Place:1402 - A clock IOB / PLL clock component pair have been found that are not placed at an optimal clock IOB / PLL site pair.The clock IOB component <sys_clk_p> is placed at site <IOB_X1Y76>.The corresponding PLL component <u_backb16/u_ddr3_infrastructure/plle2_i> is placed at site <PLLE2_ADV_X1Y2>.The clock I/O can use the fast path between the IOB and the PLL if the IOB is placed on a Clock Capable IOB site that has dedicated fast path to PLL sites within the same clock region.You might want to analyze why this issue exists and correct it.This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was applied on COMP.PIN <sys_clk_p.PAD> allowing your design to continue.This constraint disables all clock placer rules related to the specified COMP.PIN.The use of this override is highly discouraged as it might lead to very poor timing results.It is recommended that this error condition be corrected in the design. リ ソ ース が限 ら れ る ため、 MIG ツールで生成 し た メ モ リ イ ン タ ーフ ェ イ ス を含む領域か ら I/O ク ロ ッ キ ン グ バ ッ ク ボーン経由で隣接す る 領域の CMT ブ ロ ッ ク へユーザー ク ロ ッ ク を駆動 し ないで く だ さ い。詳細は、『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) (UG472) [参照 10] を参照 し て く だ さ い。 MIG ツールは選択 し たデー タ レー ト お よ び電圧入力に基づいて VCCAUX_IO 制約を設定 し ます。生成 さ れた XDC に は、 必要に応 じ て制約が追加 さ れます。 次に例を示 し ます。 NET "ddr3_dq[0]" LOC = "E16" | IOSTANDARD = SSTL15_T_DCI | VCCAUX_IO = HIGH ; # Bank:15 - Byte :T2 NET "ddr3_dq[1]" LOC = "D17" | IOSTANDARD = SSTL15_T_DCI | VCCAUX_IO = HIGH ; # Bank:15 - Byte :T2 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 169 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 詳細は、 『 タ イ ミ ン グ ク ロ ージ ャ ユーザー ガ イ ド 』 を参照 し て く だ さ い。 メ モ リ バ ン ク の 1 つに あ る CCIO ピ ン に メ モ リ シ ス テ ム 入力 (sys_clk_p/sys_clk_n) が配置 さ れて い る DDR3 SDRAM イ ン タ ーフ ェ イ ス では、 MIG に よ っ て CCIO ピ ンが DIFF_SSTL15 I/O 規格 (VCCO = 1.5V) に設定 さ れ ます。 DIFF_SSTL15 お よ び LVDS 入力の両方に同 じ 差動入力レ シーバーが使用 さ れ る ので、 LVDS ク ロ ッ ク ソ ース は直接 DIFF_SSTL15 CCIO ピ ンに接続で き ます。 LVDS お よ び LVDS_25 IO 規格の使用法の詳細お よ び必要な回路は、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] を参照 し て く だ さ い。 I/O 規格 DDR3 SDRAM の I/O 規格を選択す る 際は、 次の規則に従っ て く だ さ い。 • MIG ツールで生成 し たデザ イ ンでは、 High-Performance バン ク にあ る すべての双方向 I/O (DQ、 DQS) に SSTL15_T_DCI お よ び DIFF_SSTL15_T_DCI 規格を使用 し ます。 High-Range バン ク では、 GUI で設定 し た内部終 端 (IN_TERM) 属性付 き の SSTL15 お よ び DIFF_SSTL15 規格を使用 し ます。 • 制御/ア ド レ ス信号や転送 メ モ リ ク ロ ッ ク 信号な ど の単方向出力には、 SSTL15 お よ び DIFF_SSTL15 規格を使用 し ます。 • DDR3 メ モ リ に駆動 さ れ る RESET_N 信号には LVCMOS15 規格を使用 し ます。 MIG ツールは、 GUI か ら の入力情報に基づいて、 適切な I/O 規格を使用 し て UCF フ ァ イ ルを作成 し ます。 DDR2 SDRAM こ こ では、 バン ク の選択、 ピ ンの割 り 当て、 ピ ンの配置、 終端、 I/O 規格、 お よ び ト レース長な ど、 DDR2 SDRAM デ ザ イ ンに関す る ガ イ ド ラ イ ン を示 し ます。 デザイ ンの規則 メ モ リ の タ イ プ、 メ モ リ デバ イ ス、 デー タ 幅は、 選択 し た FPGA、 FPGA の ス ピー ド グ レー ド 、 デザ イ ンの動作周波 数に よ っ て制約を受け ます。 最終的な周波数範囲は、 特性評価の結果に基づいて決定 し ます。 ピ ンの割 り 当て MIG ツールが、 物理層の規則に従っ て、 メ モ リ イ ン タ ーフ ェ イ ス の ピ ンの割 り 当て を生成 し ます。 DDR2 デザイ ン におけるバン ク お よびピ ンの選択ガ イ ド ザ イ リ ン ク ス 7 シ リ ーズ FPGA は非常に高性能な メ モ リ イ ン タ ー フ ェ イ ス に対応す る よ う 設計 さ れて い ま すが、 DDR2 SDRAM 物理層を使用す る 際にはい く つかの規則に従 う 必要があ り ます。ザ イ リ ン ク ス 7シ リ ーズ FPGA は、各 DQS バ イ ト グループに専用の ロ ジ ッ ク を備えてい ます。50 ピ ンの各バン ク それぞれに 4 つの DQS バ イ ト グループが あ り ます。各バ イ ト グループには 1 つの DQS ク ロ ッ ク 兼用 (CC) I/O ペア と 10 の関連 I/O があ り ます。一般的な DDR2 コ ン フ ィ ギ ュ レーシ ョ ンでは、 こ れ ら 10 個の I/O の う ち 8 つを DQ に、 1 つをデー タ マ ス ク (DM) に使用 し 、 残 り の 1 つを メ モ リ イ ン タ ーフ ェ イ ス のその他の信号に使用 し ます。 ザ イ リ ン ク ス 7 シ リ ーズ FPGA は、 高速同期専用の ク ロ ッ ク 配線が I/O バン ク 内で垂直に配線 さ れてい ます。 こ のた め、 DDR2 メ モ リ イ ン タ ーフ ェ イ ス はバン ク に水平でな く 垂直に配置す る 必要があ り ます。 ま た、 高 さ は最大で 3 バ ン ク ま でです。 7 シ リ ーズ DDR2 イ ン タ ーフ ェ イ ス の ピ ン配置は、 可能な限 り MIG ツールを使用 し て生成 し ます。 MIG ツールは次 の規則に従い ます。 • バ イ ト グループの DQS 信号は、 バン ク 内の指定 さ れた DQS CC ペアへ接続 し ます。 • DQ お よ び DM 信号は、 対応す る DQS 信号 と 関連付け ら れてい る バ イ ト グループの ピ ンへ接続 し ます。 • 制御 (RAS_N、 CAS_N、 WE_N、 CS_N、 CKE、 ODT) お よ びア ド レ ス ラ イ ンは、 デー タ バ イ ト グループで使用 さ れていないバ イ ト グループへ接続 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 170 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • バ イ ト グループでない ピ ン (HP バン ク の VRN/VRP ピ ンお よ び HR バン ク の上辺/下辺のほ と ん ど の ピ ン) は、 次 の条件が満た さ れてい る 場合、 ア ド レ ス/制御ピ ンに使用で き ます。 ° HP バン ク で、 DCI カ ス ケー ド が使用 さ れてい る か、 ま たは出力のみの よ う にバン ク で VRN/VRP が不要な 場合 ° 隣接す る バ イ ト グループ (T0/T3) がア ド レ ス/制御バ イ ト グループ と し て使用 さ れてい る 場合 ° 隣接す る バ イ ト グループ (T0/T3) に未使用ピ ンがあ る 、 ま たは隣接す る バ イ ト グループに CK 出力が含まれ てい る 場合 • すべてのア ド レ ス/制御バ イ ト グループは、 同 じ I/O バン ク に割 り 当て ます。 ア ド レ ス/制御バ イ ト グループは複 数のバン ク に分割で き ません。 • ア ド レ ス/制御バ イ ト グループは、 3 つの I/O バン ク に ま たが る イ ン タ ーフ ェ イ ス の中央の I/O バン ク に割 り 当て ます。 • CK は、 いずれか 1 つの制御バ イ ト グループの p/n ペアに接続 し ます。 SRCC、 MRCC、 お よ び DQS を含む、 グ ループ内の任意の p/n ペアへ接続可能です。 こ れ ら の ピ ンは、 各 コ ン ポーネ ン ト に対 し て生成 さ れ、 I/O ピ ン の 制限に よ っ て最大 4 つのポー ト /ペアのみ生成 さ れます。 1 つのバ イ ト グループでは、 1 つの CK ペアのみ接続 さ れ る 必要があ り ます。 CK ペアは各 コ ン ポーネ ン ト に対 し て生成 さ れ、 I/O ピ ンの制限に よ っ て最大で 4 つのペア のみ生成 さ れます。 こ の値は、 MIG GUI の [Memory Options for Controller] ページの [Memory Clock Selection] の 設定に基づいて決定 さ れます。 • CS_N ピ ンは、 各 コ ン ポーネ ン ト に対 し て生成 さ れますが、 I/O ピ ンの制限に よ っ て最大で 4 ポー ト /ペアのみ生 成可能です。 • シ ン グル ラ ン ク コ ン ポーネ ン ト お よ び DIMM の場合、 CKE ポー ト は 1 つのみ生成 さ れます。 • シ ン グル ラ ン ク コ ン ポーネ ン ト お よ び DIMM の場合、 ODT ポー ト は コ ン ポーネ ン ト 数に基づいて繰 り 返 し 生成 さ れます。 最大ポー ト 数は 3 です。 • x8 デバ イ ス でデー タ 幅が 16 の場合は、 CK/CK#、 CS、 ODT ポー ト を 1 セ ッ ト のみ生成 し 、 1 つのバン ク にデザ イ ン を収め ます。 • DCI をサポー ト し てい る バン ク では、 DCI (デジ タ ル制御 イ ン ピーダ ン ス) 基準用に VRN お よ び VRP が使用 さ れ ます。 こ れに よ り 、 DCI カ ス ケー ド が可能にな り ます。 • イ ン タ ーフ ェ イ ス は必ず垂直方向に配列 さ れます。 • シ ン グル イ ン タ ーフ ェ イ ス には 4 つ以上のバン ク は使用で き ません。選択す る すべてのバン ク は論理的に正 し い 組み合わせ と な る 必要があ り ます。 • シ ス テ ム ク ロ ッ ク 入力は メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列にあ る 必要があ り ます。 ま た、 可能な限 り ア ド レ ス/ 制御バン ク 内に配置す る こ と を推奨 し ます。 • SSI テ ク ノ ロ ジで実装 さ れたデバ イ ス には、 SLR があ り ます。 メ モ リ イ ン タ ーフ ェ イ スは複数の SLR を ま た ぐ こ と はで き ません。 指定 し たデバ イ スお よ びその他の使用可能な ピ ン互換デバ イ ス は、 こ の規則に必ず従 う 必要 があ り ます。 複数 コ ン ト ロー ラ ーによ るバン クの共有 メ モ リ イ ン タ ーフ ェ イ ス で使用 さ れてい る バン ク の未使用部分を別の メ モ リ イ ン タ ーフ ェ イ ス が共有す る こ と はで き ません。 1 つのバン ク にあ る すべての FIFO お よ び PHASER を制御する 専用 ロ ジ ッ ク は、 シ ン グル メ モ リ イ ン タ ー フ ェ イ ス の動作用に設計 さ れてお り 、 別の メ モ リ イ ン タ ーフ ェ イ ス と は共有で き ません。 ピ ンの入れ替え • ピ ンは、 それぞれのバ イ ト グループ (デー タ お よ びア ド レ ス/制御) 内で自由に入れ替え る こ と がで き ますが、 例 外 と し て DQS ペアは ク ロ ッ ク 兼用 DQS ペアに、 CK は p/n ペアに割 り 当て ら れ る 必要があ り ます。 • バ イ ト グループ (デー タ お よ びア ド レ ス/制御) は、 互いに制限な く 入れ替え る こ と がで き ます。 • ア ド レ ス/制御バ イ ト グループの ピ ンは、 それぞれのバ イ ト グループ内で制限な く 入れ替え る こ と がで き ます。 • その他の ピ ンの入れ替えは許可 さ れてい ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 171 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 内部 VREF [Internal VREF] は、 デー タ レー ト が 800Mb/s 以下の場合のみ使用で き ます。 シ ス テム ク ロ ッ ク、 PLL の位置および制約 イ ン タ ーフ ェ イ ス のパフ ォーマ ン ス仕様を満たすには、 メ モ リ に ク ロ ッ ク を供給 し てい る バン ク に PLL が必要です。 ま た、 シ ス テ ム ク ロ ッ ク 入力 も こ のバン ク に配置す る こ と を強 く 推奨 し ます。 MIG ツールは可能な限 り こ れ ら 2 つ の規則に従い ます。 ただ し 例外 と し て、 シ ン グル バン ク の 16 ビ ッ ト イ ン タ ーフ ェ イ ス では、 ク ロ ッ ク 入力用の ピ ン がない可能性があ り ます。 隣のバン ク か ら 周波数バ ッ ク ボーン を経由 し て PLL に ク ロ ッ ク を入力す る 必要があ り ま す。 PLL へのシ ス テ ム ク ロ ッ ク 入力は、 ク ロ ッ ク 兼用 I/O か ら 供給 し ます。 シ ス テ ム ク ロ ッ ク 入力は、同 じ 列にあ る イ ン タ ーフ ェ イ ス に し か使用で き ません。 こ の ク ロ ッ ク 入力を別の列か ら 駆 動す る こ と はで き ません。 こ れは、 PLL/MMCM お よ び ク ロ ッ ク 配線を追加す る こ と にな り 、 ジ ッ タ ーが大 き く な り すぎ る ためです。 PLL か ら の未使用の出力は ク ロ ッ ク 出力 と し て使用で き ます。 こ れ ら の出力のみ、 設定を変更で き ます。 PLL の全体 的な動作や使用中の出力に関す る 設定は変更 し ないで く だ さ い。 複数の イ ン タ ーフ ェ イ ス で 1 つの PLL を共有す る こ と はで き ません。 PLL パ ラ メ ー タ ーの条件については、 101 ページの 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を参照 し て く だ さ い。 コ ン フ ィ ギ ュ レーシ ョ ン XDC には タ イ ミ ン グ、 ピ ン、 I/O 規格に関す る 情報が含 ま れてい ま す。 イ ン タ ーフ ェ イ ス の動作周波数は、 MIG の GUI で sys_clk 制約を使用 し て設定 し ます。 こ の制約を変更す る 場合は、 ほかの内部パ ラ メ ー タ ーに も 影響が及ぶ ため、 MIG の GUI を再実行す る 必要があ り ます。 次に例を示 し ます。 NET "sys_clk_p" TNM_NET = TNM_sys_clk; TIMESPEC "TS_sys_clk" = PERIOD "TNM_sys_clk" 1.875 ns; clk_ref 制約で IDELAY 基準 ク ロ ッ ク の周波数を設定 し ます (通常は 200 MHz)。 次に例を示 し ます。 NET "clk_ref_p" TNM_NET = TNM_clk_ref; TIMESPEC "TS_clk_ref" = PERIOD "TNM_clk_ref" 5 ns; I/O 規 格 は、 DDR2 イ ン タ ー フ ェ イ ス に 合 わ せ て LVCMOS18、 SSTL18_II、 SSTL18_II_T_DCI、 DIFF_SSTL18_II、 DIFF_SSTL18_II_T_DCI か ら 適 宜 設 定 さ れ ま す。 シ ス テ ム ク ロ ッ ク (sys_clk) お よ び I/O 遅延基準 ク ロ ッ ク (clk_ref) には LVDS_25 を使用 し ます。 こ れ ら の規格は、 シ ス テ ム コ ン フ ィ ギ ュ レーシ ョ ンに合わせて変更可能で す。 こ れ ら の信号は、 シ ス テ ム接続のために最上位に配線 さ れます。 • sys_rst : メ イ ン シ ス テ ム リ セ ッ ト 信号です。 • init_calib_complete : 内部キ ャ リ ブ レーシ ョ ンが完了 し 、 イ ン タ ーフ ェ イ ス の使用準備が整っ てい る こ と を示す信 号です。 • tg_compare_error : 読み出 し デー タ と 書 き 込みデー タ が一致 し ない場合にサンプル デザ イ ンの ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て生成 さ れ る 信号です。 こ れ ら の信号はすべて LVCMOS25 に設定 さ れてい ますが、 シ ス テ ム デザ イ ンに応 じ て変更が可能です。 こ れ ら の信 号を生成 し て外部ピ ンに出力す る のではな く 、 内部で使用す る こ と も で き ます。 16 ビ ッ ト 幅の イ ン タ ーフ ェ イ ス では、 ア ド レ ス/制御お よ びデー タ があ る バン ク の上下いずれかのバン ク にシ ス テ ム ク ロ ッ ク が必要 と な る こ と があ り ます。 こ の場合、 MIG ツールは XDC に制約を追加 し ます。 次に例を示 し ます。 set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets sys_clk_p] set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_pins -hierarchical *pll*CLKIN1] Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 172 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PAR の実行時に次の よ う な警告が表示 さ れますが、 こ の警告は無視 し てか ま い ません。 WARNING:Place:1402 - A clock IOB/PLL clock component pair have been found that are not placed at an optimal clock IOB/PLL site pair.The clock IOB component <sys_clk_p> is placed at site <IOB_X1Y76>.The corresponding PLL component <u_backb16/u_ddr2_infrastructure/plle2_i> is placed at site <PLLE2_ADV_X1Y2>.The clock I/O can use the fast path between the IOB and the PLL if the IOB is placed on a Clock Capable IOB site that has dedicated fast path to PLL sites within the same clock region.You might want to analyze why this issue exists and correct it.This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was applied on COMP.PIN <sys_clk_p.PAD> allowing your design to continue.This constraint disables all clock placer rules related to the specified COMP.PIN.The use of this override is highly discouraged as it might lead to very poor timing results.It is recommended that this error condition be corrected in the design. リ ソ ース が限 ら れ る ため、 MIG ツールで生成 し た メ モ リ イ ン タ ーフ ェ イ ス を含む領域か ら I/O ク ロ ッ キ ン グ バ ッ ク ボーン経由で隣接す る 領域の CMT ブ ロ ッ ク へユーザー ク ロ ッ ク を駆動 し ないで く だ さ い。詳細は、『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) [参照 10] を参照 し て く だ さ い。 MIG ツールは選択 し たデー タ レー ト お よ び電圧入力に基づいて Vccaux_io 制約を設定 し ます。生成 さ れた XDC には、 必要に応 じ て制約が追加 さ れます。 次に例を示 し ます。 NET "ddr2_dq[0]" LOC = "E16" | IOSTANDARD = SSTL18_II_T_DCI | VCCAUX_IO = HIGH ; # Bank:15 - Byte :T2 NET "ddr2_dq[1]" LOC = "D17" | IOSTANDARD = SSTL18_II_T_DCI | VCCAUX_IO = HIGH ; # Bank:15 - Byte :T2 詳細は、 『 タ イ ミ ン グ ク ロ ージ ャ ユーザー ガ イ ド 』 (UG612) [参照 15] を参照 し て く だ さ い。 メ モ リ バ ン ク の 1 つに あ る CCIO ピ ン に メ モ リ シ ス テ ム 入力 (sys_clk_p/sys_clk_n) が配置 さ れて い る DDR2 SDRAM イ ン タ ーフ ェ イ ス では、 MIG に よ っ て CCIO ピ ン が DIFF_SSTL18_II I/O 規格 (VCCO = 1.8V) に設定 さ れ ま す。 DIFF_SSTL18_II お よ び LVDS 入力の両方に同 じ 差動入力レ シーバーが使用 さ れ る ので、 LVDS ク ロ ッ ク ソ ース は直接 DIFF_SSTL18_II CCIO ピ ンに接続で き ます。 LVDS お よ び LVDS_25 IO 規格の使用法の詳細お よ び必要な回路 は、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] を参照 し て く だ さ い。 終端 DDR2 SDRAM の終端処理を行 う 場合は次の規則に従っ て く だ さ い。 • シ ミ ュ レーシ ョ ン (IBIS ま たはほかのツールを使用) を実行す る こ と を強 く 推奨 し ます。 ア ド レ ス信号 (A、 BA)、 コ マ ン ド 信号 (RAS_N、 CAS_N、 WE_N)、 お よ び制御信号 (CS_N、 ODT) の ロ ーデ ィ ン グは、 ス ピー ド 要件、 終端 ト ポ ロ ジ、 バ ッ フ ァ ーな し DIMM の使用、 複数 ラ ン ク DIMM な ど、 さ ま ざ ま な要因に依存 し ます。 ロ ーデ ィ ン グが性能目標の達成の妨げ と な る 場合 も あ り ます。 • 単方向の信号は、 メ モ リ デバ イ ス の内部終端ま たは ロ ー ド 側の VTT に 50Ω のプルア ッ プ抵抗を使用 し て終端 し ます (図 1-89 では 40Ω ではな く 50Ω を使用)。 VCCO と GND それぞれに 100Ω の分割抵抗を付けて終端処理で き ますが、 こ の方法は消費電力が高 く な り ます (図 1-90 では 80Ω ではな く 100Ω を使用)。 双方向信号は、 その両端 に終端抵抗を付け る 必要があ り ます。 メ モ リ 側には必ず ODT が必要です。 HP バン ク で最高性能を実現す る には DCI を使用 し 、 HR バン ク には IN_TERM (内部終端) を使用 し て く だ さ い。 • 差動信号には、 メ モ リ デバ イ ス の内部終端ま たは ロ ー ド 側の 100Ω 差動終端を使用 し ます (図 1-91)。 双方向信号 は、 その両端に終端抵抗を付け る 必要があ り ます。 メ モ リ 側には必ず ODT が必要です。 HP バン ク で最高性能を 実現す る には DCI を使用 し 、 HR バン ク には IN_TERM (内部終端) を使用 し て く だ さ い。 • すべての終端は、 で き る 限 り ロ ー ド に接近 さ せて配置 し ます。 終端は、 ロ ー ド ピ ンか ら 離れなければその前後ど ち ら に配置 し て も 問題あ り ません。 こ の距離はシ ミ ュ レーシ ョ ンで決定で き ます。 • パフ ォーマ ン ス仕様を満たすには、 FPGA に DCI (HP バン ク の場合) ま たは IN_TERM (HR バン ク の場合) が必要 です。 • ア ド レ ス (A、 BA) お よ び制御信号 (RAS_N、 CAS_N、 WE_N、 CS_N、 ODT) は、 オン ボー ド の DIMM 終端で終端 し ます。DIMM 終端がない場合や コ ン ポーネ ン ト が使用 さ れてい る 場合は、差動終端が必要な CK/CK_N を除いて、 VTT の ラ イ ンの最遠端に 50Ω のプルア ッ プ抵抗を使用す る 必要があ り ます。 • CKE 信号は、 終端処理 さ れません。 こ の信号は、 メ モ リ 初期化時に GND への 4.7kΩ の抵抗を付けてプルダ ウ ン す る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 173 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • メ モ リ で信号を終端す る ODT が必要です。 モー ド レ ジ ス タ を適切に設定する ため、 MIG ツールを使用 し て メ モ リ シ ス テ ムの コ ン フ ィ ギ ュ レーシ ョ ン を指定 し ます。 ODT の詳細は、 Micron 社のテ ク ニ カル ノ ー ト TN-47-01 [参照 14] を参照 し て く だ さ い • ODT は、 DQ、 DQS、 お よ び DM 信号にのみ適用 し ます。 ODT を使用する 場合は、 モー ド レ ジ ス タ で メ モ リ の ODT を有効に設定 し ます。 • ODT を使用 し てい る が、 DM を FPGA で駆動 し ない場合 は、 DM を GND にプルダ ウ ンす る 必要があ り ます(デー タ マ ス ク が未使用ま たは無効の場合) 。 I/O 規格 DDR2 SDRAM の I/O 規格を選択す る 際は、 次の規則に従っ て く だ さ い。 • MIG ツールで生成 し たデザ イ ンは、High-Performance バン ク のすべての双方向 I/O (DQ、DQS) に SSTL18_II_T_DCI お よ び DIFF_SSTL18_II_T_DCI 規格 を 使用 し ま す。 High-Range バ ン ク で は、 SSTL18_II_T_DCI お よ び DIFF_SSTL18_II_T_DC 規格を使用 し 、 内部終端 (IN_TERM) 属性は GUI で選択 し ます。 • 制御/ア ド レ ス信号や転送 メ モ リ ク ロ ッ ク 信号な ど の単方向出力には、 SSTL18_II お よ び DIFF_SSTL18_II 規格を 使用 し ます。 • DDR2 メ モ リ RDIMM に駆動 さ れ る RESET_N 信号には LVCMOS18 規格を使用 し ます。 MIG ツールは、 GUI か ら の入力情報に基づいて、 適切な I/O 規格を使用 し て XDC フ ァ イ ルを作成 し ます。 ト レース長 こ こ で説明す る ト レース長は、 高速動作が必要な アプ リ ケーシ ョ ン を前提 と し てい ます。 有効 ト レース長を決定す る 際は、 パ ッ ケージ遅延を考慮す る 必要があ り ます。 同 じ パ ッ ケージの異な る デバ イ ス では、 内部パ ッ ケージ ス キ ュ ー の値が変わ り ます。 同一パ ッ ケージの別デバ イ ス を使用す る 場合は、 MIG の [Controller Options] ページで最小周期を 適切な値ま で下げて く だ さ い。 遅延値を決定す る 方法 と し て、 IBIS モデルで提供 さ れ る 各ピ ン の L お よ び C 値を使用す る 方法があ り ます。 遅延値 は、 (L × C) の平方根で求め る こ と がで き ます。 も う 1 つの方法は Vivado を使用 し てパ ッ ケージ長を求め る こ と です。 次の コ マ ン ド を使用 し て、 タ ーゲ ッ ト デバ イ ス の全ピ ンに対す る パ ッ ケージ遅延値を含む csv フ ァ イ ルを生成 し ます。 link_design -part <part_number> write_csv <file_name> た と えば、 7 シ リ ーズ FPGA XC7K160T-FF676 のパ ッ ケージ遅延情報を取得する には、 次の コ マ ン ド を使用 し ます。 link_design -part xc7k160tfbg676 write_csv flight_time こ れで、 各ピ ンのパ ッ ケージ ト レース遅延情報を含む flight_time.csv と い う 名前の フ ァ イ ルが現在のデ ィ レ ク ト リ に生成 さ れます。 DDR2 SDRAM イ ン タ ーフ ェ イ ス の ト レース一致のガ イ ド ラ イ ンに従 う と 同時に、 全体的な電 気的伝搬遅延には こ のパ ッ ケージ遅延を考慮 し ます。 同一パ ッ ケージの異な る ダ イ では、 パ ッ ケージ ピ ンが同 じ で も 遅延値が異な る 可能性があ り ます。その よ う な結果が予測 さ れ る 場合は、遅延値を適切に平均化す る 必要があ り ます。 DDR2 SDRAM 信号間の最大電気的遅延に関す る 規則は次の と お り です。 • すべての DQ ま たは DM と 関連す る DQS/DQS# と の電気的遅延の最大値は ±5ps と し ます。 • すべてのア ド レ ス/制御信号 と 関連す る CK/CK# と の電気的遅延の最大値は ±25ps と し ます。 • すべての DQS/DQS# と CK/CK# の間の電気的遅延の最大値は < ±25ps と し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 174 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ク ロ ッ キング 7 シ リ ーズ FPGA MIG DDR3/DDR2 デザ イ ンには、 基準 ク ロ ッ ク と シ ス テ ム ク ロ ッ ク の 2 種類の ク ロ ッ ク 入力があ り ます。 基準 ク ロ ッ ク はデザ イ ン内の IODELAYCTRL コ ン ポーネ ン ト を駆動 し ます。 一方、 シ ス テ ム ク ロ ッ ク 入力は、 内部 ロ ジ ッ ク に ク ロ ッ ク を供給す る すべての MIG デザ イ ン ク ロ ッ ク 、 PHASER への周波数基準 ク ロ ッ ク 、 お よ びマ ルチ I/O バン ク イ ンプ リ メ ン テーシ ョ ンで PHY 制御ブ ロ ッ ク を同期 さ せ る ために必要な同期パルス の生成に使用 さ れます。 ク ロ ッ キ ン グ アーキ テ ク チ ャ の詳細は、101 ページの 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を参照 し て く だ さ い。 MIG ツールを使用す る と 、 メ モ リ ク ロ ッ ク 周期を入力で き 、 サポー ト さ れてい る ク ロ ッ キ ン グ ガ イ ド ラ イ ンに沿っ た利用可能な入力 ク ロ ッ ク 周期が表示 さ れ ます。 こ れ ら の 2 つの ク ロ ッ ク 周期の設定に基づいて、 生成 さ れた MIG コ アの PLL パ ラ メ ー タ ーが適切に設定 さ れ ます。 MIG ツールを使用す る と 、 サポー ト さ れ る すべての ク ロ ッ キ ン グ 構造 を 自動的に生成で き ま す。 MIG ツ ールで入力 ク ロ ッ ク の配置、 入力 ク ロ ッ ク 周波数、 お よ び IDELAYCTRL ref_clk の生成を含む、 所望の ク ロ ッ キ ン グ構造を構成する 方法については、 27 ページの 「7 シ リ ーズ FPGA DDR3 メ モ リ コ ン ト ロ ー ラ ー ブ ロ ッ ク デザ イ ンの作成」 を参照 し て く だ さ い。 入力 ク ロ ッ ク ガ イ ド ラ イ ン 重要 : 入力シ ス テ ム ク ロ ッ ク は内部生成で き ません。 • PLL ガ イ ド ラ イ ン ° CLKFBOUT_MULT_F (M) は、 必ず 1 ~ 16 (1 と 16 を含む) か ら 選択 し ます。 ° DIVCLK_DIVIDE (D、 入力分周値) は、 PLLE2 パ ラ メ ー タ ーでサポー ト さ れ る 値に設定 し ます。 ° CLKOUT_DIVIDE (O、 出力分周値) は、 400MHz 以上の場合は 2、 400MHz 未満の場合は 4 に し ます。 ° ° • 上記の設定で、 PLL の最小 VCO 周波数 (FVCOMIN) を満たす必要があ り ます。 仕様については、 該当す る DC お よ び ス イ ッ チ特性デー タ シー ト を参照 し て く だ さ い。 VCO の計算式は、 『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザーガ イ ド 』 (UG472) [参照 10] に含まれてい ます。 入力周期 と メ モ リ 周期の関係は、 入力周期 = ( メ モ リ 周期 × M)/(D × D1) です。 ク ロ ッ ク 入力 (sys_clk) は、メ モ リ イ ン タ ーフ ェ イ ス があ る 列の任意の CCIO に入力で き ます。メ モ リ イ ン タ ー フ ェ イ ス を含ま ないバン ク の CCIO も 使用で き ますが、 メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列の も のであ る 必要があ り ます。 PLL は、 メ モ リ に送信 さ れ る ク ロ ッ ク が含まれ る バン ク 内に配置 し ます。 メ モ リ イ ン タ ーフ ェ イ ス PLL に入力 ク ロ ッ ク を配線す る には、CMT バ ッ ク ボーン を使用 し ます。MIG イ ンプ リ メ ン テーシ ョ ンで、バ ッ ク ボー ンの予備の イ ン タ ー コ ネ ク ト の 1 つを こ の目的に使用で き ます。 ° MIG 1.4 お よ びそれ以降のバージ ョ ンでは、 こ の入力 ク ロ ッ キ ン グ設定が可能で、 CMT バ ッ ク ボーンが正 し く 駆動 さ れ る よ う にな っ てい ます。 ° CLOCK_DEDICATED_ROUTE = BACKBONE 制約を使用 し て CMT バ ッ ク ボーン を イ ンプ リ メ ン ト す る と 、 次の警告 メ ッ セージが出力 さ れます。 こ の メ ッ セージは無視 し て も 問題あ り ません。 WARNING:[Place 30-172] Sub-optimal placement for a clock-capable IO pin and PLL pair.The flow will continue as the CLOCK_DEDICATED_ROUTE constraint is set to BACKBONE. u_mig_7series_0/c0_u_ddr3_clk_ibuf/diff_input_clk.u_ibufg_sys_clk (IBUFDS.O) is locked to IOB_X0Y176 u_mig_7series_0/c0_u_ddr3_infrastructure/plle2_i (PLLE2_ADV.CLKIN1) is locked to PLLE2_ADV_X0Y1 u_mig_7series_0/c1_u_ddr3_infrastructure/plle2_i (PLLE2_ADV.CLKIN1) is locked to PLLE2_ADV_X0Y5 ...... • メ モ リ バン ク の 1 つにあ る CCIO ピ ンに メ モ リ シ ス テ ム入力 (sys_clk) が配置 さ れてい る DDR3 イ ン タ ーフ ェ イ ス の 場 合 は、 MIG に よ り 、 CCIO ピ ン に DIFF_SSTL15 I/O 規格 (VCCO = 1.5V) が 割 り 当 て ら れ ま す。 DIFF_SSTL15 お よ び LVDS 入力の両方に同 じ 差動入力レ シーバーが使用 さ れ る ので、LVDS ク ロ ッ ク ソ ース は直 接 DIFF_SSTL15 CCIO ピ ンに接続で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 175 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • こ れ ら の規格の出力に必要な公称電圧 (LVDS 出力は 1.8V、 LVDS_25 出力は 2.5V) 以外の電圧レベルで電源供給 さ れ る I/O バン ク は、 LVDS や LVDS_25 な ど の差動入力を備え る こ と が可能ですが、 次の条件を満たす必要があ り ます。 a. オプシ ョ ンの内部差動終端が使用 さ れていない (DIFF_TERM がデフ ォ ル ト 値の FALSE)。 注記 : 最上位モジ ュ ールにあ る DIFF_TERM パ ラ メ ー タ ーを手動で変更す る か、 UCF ま たは XDC で こ れを 設定す る 必要があ る 場合があ り ます。 b. 入力ピ ンの差動信号が、 該当デバ イ ス フ ァ ミ リ デー タ シー ト に記載の推奨動作条件の表にあ る VIN 要件を 満た し てい る 。 c. 入力ピ ンの差動信号が、 該当デバ イ ス フ ァ ミ リ デー タ シー ト に記載の該当 LVDS ま たは LVDS_25 DC 仕様 の表にあ る VIDIFF (最小) 要件を満た し てい る 。 上記の基準を満たす方法 と し て、 入力信号を AC カ ッ プ リ ン グお よ び DC バ イ ア スす る 外部回路を使用す る 方法があ り ます。 次の図は、 差動 ク ロ ッ ク 入力に AC カ ッ プ リ ン グお よ び DC バ イ ア ス を適用す る 回路の例 を示 し てい ます。 内部 DIFF_TERM は FALSE に設定 さ れてい る ため、 RDIFF は 100Ω の差動レ シーバー終端 と な り ま す。 入力 ノ イ ズ マー ジ ン を 最大化す る には、 すべ て の RBIAS 抵抗 を 同 じ 値に し て、 基本的に VCCO/2 の VICM レベルを生成す る よ う に し て く だ さ い。 推奨 さ れ る 抵抗値の範囲は、 10k ~ 100kΩ です。 AC カ ッ プ リ ン グ キ ャ パシ タ (CAC) は、 通常 100nF 程度です。 すべての コ ン ポーネ ン ト は、 物理的に FPGA 入力に近い位置に配置 し て く だ さ い。 X-Ref Target - Figure 1-92 9&&2 )3*$ 'LIIHUHQWLDO&ORFN ,QSXWWRWKH)3*$ 5%,$6 /9'6RU /9'6B ,QSXW%XIIHU 5%,$6 3 &$& 'LIIHUHQWLDO7UDQVPLVVLRQ/LQH 5',)) 1 &$& 5%,$6 5%,$6 図 1-92 : 差動 ク ロ ッ ク入力を AC カ ッ プ リ ングおよび DC バイ ア スする回路例 注記 : 差動 LVDS 入力に関す る 最新のガ イ ド ラ イ ンは、次回 リ リ ース さ れ る 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユー ザー ガ イ ド 』 (UG471) [参照 2] の 「LVDS、 LVDS_25 (低電圧差動信号)」 に追加 さ れます。 こ のガ イ ド ラ イ ンは、 すべてのパ ッ ケージ、 列 (HR/HP)、 お よ び I/O 電圧に適用 さ れます。 コ ン ト ロー ラ ー間での sys_clk の共有 MIG 7 Series FPGA デザ イ ン では、 ジ ッ タ ーを最小限に抑え る ために、 sys_clk を メ モ リ イ ン タ ーフ ェ イ ス と 同 じ I/O バン ク 列に配置す る 必要があ り ます。 • 複数 I/O 列に ま たが る 複数の イ ン タ ーフ ェ イ ス : 1 つの sys_clk 入力で複数の I/O 列に ま たが る 複数の メ モ リ イ ン タ ーフ ェ イ ス は駆動で き ません。 CMT バ ッ ク ボーン を使用する PLL を駆動する には、 入力 ク ロ ッ ク の入力 を メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列に配置す る 必要があ り ます。こ れに よ り 、ジ ッ タ ーが最小限に抑え ら れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 176 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • 1 つの I/O 列に含まれ る 複数の イ ン タ ーフ ェ イ ス : 複数の メ モ リ イ ン タ ーフ ェ イ ス が同 じ I/O 列に含まれてい る 場合、 こ れ ら の イ ン タ ーフ ェ イ ス で 1 つの sys_clk を共有で き ます。 sys_clk は メ モ リ イ ン タ ーフ ェ イ ス が 配置 さ れてい る 列の CCIO に入力で き ます。 メ モ リ イ ン タ ーフ ェ イ ス を含ま ないバン ク の CCIO も 使用で き ます が、 メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列の も のであ る 必要があ り ます。 BUFG ク ロ ッ ク (phy_clk) の共有 MIG 7 Series DDR3 デザ イ ンには、 BUFG 配線に phy_clk を出力する MMCM が含まれます。 複数の コ ン ト ロ ー ラ ー で こ の ク ロ ッ ク を共有 し てユーザー イ ン タ ーフ ェ イ ス を同期す る こ と はで き ま せん。 こ れは、 FPGA ロ ジ ッ ク か ら PHY 制御ブ ロ ッ ク ま での タ イ ミ ン グが制御 さ れ る 必要があ る か ら です。ク ロ ッ ク が複数 コ ン ト ロ ー ラ ーで共有 さ れ る と 、 こ の タ イ ミ ン グが制御 さ れません。 複数 コ ン ト ロ ー ラ ーでユーザー イ ン タ ーフ ェ イ ス を同期する には、 ク ロ ッ ク ド メ イ ン転送用の非同期 FIFO を作成す る のが唯一の方法です。 sync_pulse に関する情報 MIG 7 Series DDR3/DDR2 デザ イ ンには、 必要なデザ イ ン ク ロ ッ ク を生成する PLL が 1 つ含まれます。 こ れ ら の出力 の 1 つが sync_pulse です。 こ の同期パルス ク ロ ッ ク は mem_refclk 周波数の 1/16 なので、 デ ュ ーテ ィ サ イ ク ル の歪みは 1/16 ま たは 6.25% と な り ます。 こ の ク ロ ッ ク は、 ス キ ュ ーの小 さ い ク ロ ッ ク のバ ッ ク ボーンに分配 さ れ、 す べ て の PHASER_IN/_OUT お よ び PHY_Control ブ ロ ッ ク が 互 い に 同期す る よ う に し ま す。 こ の 信号 は PHASER_IN/_OUT お よ び PHY_Control ブ ロ ッ ク の両方の mem_refclk でサンプ リ ン グ さ れます。sync_pulse の位相、 周波数、 デ ュ ーテ ィ サ イ ク ルは、 PVT に対 し て最大のセ ッ ト ア ッ プお よ びホール ド マージ ンが提供 さ れ る よ う に選 択 さ れます。 DDR3 ピ ン配置の例 表 1-95 に、 1 つのバン ク に含まれ る 16 ビ ッ ト の DDR3 イ ン タ ーフ ェ イ ス の例を示 し ます。 こ の例は、 1GB の x16 デ バ イ ス を使用す る コ ン ポーネ ン ト イ ン タ ーフ ェ イ ス を表 し てい ます。 x8 コ ン ポーネ ン ト を使用す る 場合、 ま たは さ ら に多数のア ド レ ス ピ ンが必要な高集積デバ イ ス が必要な場合には、 次のオプシ ョ ンがあ り ます。 • バン ク を 1 つ追加で使用で き ます。 • タ イ ミ ン グが満た さ れていれば、RESET_N を別のバン ク に移動で き ます。 こ の信号の外部 タ イ ミ ン グは ク リ テ ィ カルではな く 、 レベル シ フ タ ーが使用で き ます。 • DCI マ ス タ ー用に別のバン ク が使用で き る 場合は、 DCI を カ ス ケー ド し て VRN/VRP ピ ン を空け る こ と がで き ま す。 こ の例では内部 VREF を使用 し てい ます。 表 1-95 : 1 つのバン ク に含まれる 16 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 VRP – SE 49 – 1 DQ15 D_11 P 48 – 1 DQ14 D_10 N 47 – 1 DQ13 D_09 P 46 – 1 DQ12 D_08 N 45 – 1 DQS1_P D_07 P 44 DQS-P 1 DQS1_N D_06 N 43 DQS-N 1 DQ11 D_05 P 42 – 1 DQ10 D_04 N 41 – 1 DQ9 D_03 P 40 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 177 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-95 : 1 つのバン ク に含まれる 16 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 DQ8 D_02 N 39 – 1 DM1 D_01 P 38 – 1 – D_00 N 37 – 1 DQ7 C_11 P 36 – 1 DQ6 C_10 N 35 – 1 DQ5 C_09 P 34 – 1 DQ4 C_08 N 33 – 1 DQS0_P C_07 P 32 DQS-P 1 DQS0_N C_06 N 31 DQS-N 1 DQ3 C_05 P 30 – 1 DQ2 C_04 N 29 – 1 DQ1 C_03 P 28 CCIO-P 1 DQ0 C_02 N 27 CCIO-N 1 DM0 C_01 P 26 CCIO-P 1 RESET_N C_00 N 25 CCIO-N 1 RAS_N B_11 P 24 CCIO-P 1 CAS_N B_10 N 23 CCIO-N 1 WE_N B_09 P 22 CCIO-P 1 BA2 B_08 N 21 CCIO-N 1 CK_P B_07 P 20 DQS-P 1 CK_N B_06 N 19 DQS-N 1 BA1 B_05 P 18 – 1 BA0 B_04 N 17 – 1 CS_N B_03 P 16 – 1 ODT B_02 N 15 – 1 CKE B_01 P 14 – 1 A12 B_00 N 13 – 1 A11 A_11 P 12 – 1 A10 A_10 N 11 – 1 A9 A_09 P 10 – 1 A8 A_08 N 9 – 1 A7 A_07 P 8 DQS-P 1 A6 A_06 N 7 DQS-N 1 A5 A_05 P 6 – 1 A4 A_04 N 5 – 1 A3 A_03 P 4 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 178 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-95 : 1 つのバン ク に含まれる 16 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 A2 A_02 N 3 – 1 A1 A_01 P 2 – 1 A0 A_00 N 1 – 1 VRN – SE 0 – 表 1-96 は、 2 つのバン ク に含ま れ る 32 ビ ッ ト の DDR3 イ ン タ ーフ ェ イ ス の例です。 こ の例は、 2GB の x8 コ ン ポー ネ ン ト を使用 し てい ます。 表 1-96 : 2 つのバン ク に含まれる 32 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 VRP – SE 49 – 1 – D_11 P 48 – 1 – D_10 N 47 – 1 – D_09 P 46 – 1 – D_08 N 45 – 1 – D_07 P 44 DQS-P 1 – D_06 N 43 DQS-N 1 – D_05 P 42 – 1 – D_04 N 41 – 1 – D_03 P 40 – 1 – D_02 N 39 – 1 – D_01 P 38 – 1 – D_00 N 37 – 1 – C_11 P 36 – 1 – C_10 N 35 – 1 – C_09 P 34 – 1 – C_08 N 33 – 1 – C_07 P 32 DQS-P 1 – C_06 N 31 DQS-N 1 – C_05 P 30 – 1 – C_04 N 29 – 1 – C_03 P 28 CCIO-P 1 – C_02 N 27 CCIO-N 1 CKE C_01 P 26 CCIO-P 1 ODT C_00 N 25 CCIO-N 1 RAS_N B_11 P 24 CCIO-P 1 CAS_N B_10 N 23 CCIO-N 1 WE_N B_09 P 22 CCIO-P Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 179 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-96 : 2 つのバン ク に含まれる 32 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 BA2 B_08 N 21 CCIO-N 1 CK_P B_07 P 20 DQS-P 1 CK_N B_06 N 19 DQS-N 1 BA1 B_05 P 18 – 1 BA0 B_04 N 17 – 1 CS_N B_03 P 16 – 1 A14 B_02 N 15 – 1 A13 B_01 P 14 – 1 A12 B_00 N 13 – 1 A11 A_11 P 12 – 1 A10 A_10 N 11 – 1 A9 A_09 P 10 – 1 A8 A_08 N 9 – 1 A7 A_07 P 8 DQS-P 1 A6 A_06 N 7 DQS-N 1 A5 A_05 P 6 – 1 A4 A_04 N 5 – 1 A3 A_03 P 4 – 1 A2 A_02 N 3 – 1 A1 A_01 P 2 – 1 A0 A_00 N 1 – 1 VRN – SE 0 – 2 VRP – SE 49 – 2 DQ31 D_11 P 48 – 2 DQ30 D_10 N 47 – 2 DQ29 D_09 P 46 – 2 DQ28 D_08 N 45 – 2 DQS3_P D_07 P 44 DQS-P 2 DQS3_N D_06 N 43 DQS-N 2 DQ27 D_05 P 42 – 2 DQ26 D_04 N 41 – 2 DQ25 D_03 P 40 – 2 DQ24 D_02 N 39 – 2 DM3 D_01 P 38 – 2 – D_00 N 37 – 2 DQ23 C_11 P 36 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 180 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-96 : 2 つのバン ク に含まれる 32 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 2 DQ22 C_10 N 35 – 2 DQ21 C_09 P 34 – 2 DQ20 C_08 N 33 – 2 DQS2_P C_07 P 32 DQS-P 2 DQS2_N C_06 N 31 DQS-N 2 DQ19 C_05 P 30 – 2 DQ18 C_04 N 29 – 2 DQ17 C_03 P 28 CCIO-P 2 DQ16 C_02 N 27 CCIO-N 2 DM2 C_01 P 26 CCIO-P 2 – C_00 N 25 CCIO-N 2 DQ15 B_11 P 24 CCIO-P 2 DQ14 B_10 N 23 CCIO-N 2 DQ13 B_09 P 22 CCIO-P 2 DQ12 B_08 N 21 CCIO-N 2 DQS1_P B_07 P 20 DQS-P 2 DQS1_N B_06 N 19 DQS-N 2 DQ11 B_05 P 18 – 2 DQ10 B_04 N 17 – 2 DQ9 B_03 P 16 – 2 DQ8 B_02 N 15 – 2 DM1 B_01 P 14 – 2 – B_00 N 13 – 2 DQ7 A_11 P 12 – 2 DQ6 A_10 N 11 – 2 DQ5 A_09 P 10 – 2 DQ4 A_08 N 9 – 2 DQS0_P A_07 P 8 DQS-P 2 DQS0_N A_06 N 7 DQS-N 2 DQ3 A_05 P 6 – 2 DQ2 A_04 N 5 – 2 DQ1 A_03 P 4 – 2 DQ0 A_02 N 3 – 2 DM0 A_01 P 2 – 2 RESET_N A_00 N 1 – 2 VRN – SE 0 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 181 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-97 は、 3 つのバン ク に含まれ る 64 ビ ッ ト の DDR3 イ ン タ ーフ ェ イ ス の例です。 こ の例は、 2GB の x16 コ ン ポー ネ ン ト を 4 個使用 し てい ます。 表 1-97 : 3 つのバン ク に含まれる 64 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 VRP – SE 49 – 1 DQ63 D_11 P 48 – 1 DQ62 D_10 N 47 – 1 DQ61 D_09 P 46 – 1 DQ60 D_08 N 45 – 1 DQS7_P D_07 P 44 DQS-P 1 DQS7_N D_06 N 43 DQS-N 1 DQ59 D_05 P 42 – 1 DQ58 D_04 N 41 – 1 DQ57 D_03 P 40 – 1 DQ56 D_02 N 39 – 1 DM7 D_01 P 38 – 1 – D_00 N 37 – 1 DQ55 C_11 P 36 – 1 DQ54 C_10 N 35 – 1 DQ53 C_09 P 34 – 1 DQ52 C_08 N 33 – 1 DQS6_P C_07 P 32 DQS-P 1 DQS6_N C_06 N 31 DQS-N 1 DQ51 C_05 P 30 – 1 DQ50 C_04 N 29 – 1 DQ49 C_03 P 28 CCIO-P 1 DQ48 C_02 N 27 CCIO-N 1 DM6 C_01 P 26 CCIO-P 1 – C_00 N 25 CCIO-N 1 DQ47 B_11 P 24 CCIO-P 1 DQ46 B_10 N 23 CCIO-N 1 DQ45 B_09 P 22 CCIO-P 1 DQ44 B_08 N 21 CCIO-N 1 DQS5_P B_07 P 20 DQS-P 1 DQS5_N B_06 N 19 DQS-N 1 DQ43 B_05 P 18 – 1 DQ42 B_04 N 17 – 1 DQ41 B_03 P 16 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 182 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-97 : 3 つのバン ク に含まれる 64 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 DQ40 B_02 N 15 – 1 DM5 B_01 P 14 – 1 – B_00 N 13 – 1 DQ39 A_11 P 12 – 1 DQ38 A_10 N 11 – 1 DQ37 A_09 P 10 – 1 DQ36 A_08 N 9 – 1 DQS4_P A_07 P 8 DQS-P 1 DQS4_N A_06 N 7 DQS-N 1 DQ35 A_05 P 6 – 1 DQ34 A_04 N 5 – 1 DQ33 A_03 P 4 – 1 DQ32 A_02 N 3 – 1 DM4 A_01 P 2 – 1 – A_00 N 1 – 1 VRN – SE 0 – 2 VRP – SE 49 – 2 – D_11 P 48 – 2 – D_10 N 47 – 2 – D_09 P 46 – 2 – D_08 N 45 – 2 – D_07 P 44 DQS-P 2 – D_06 N 43 DQS-N 2 – D_05 P 42 – 2 – D_04 N 41 – 2 – D_03 P 40 – 2 – D_02 N 39 – 2 – D_01 P 38 – 2 – D_00 N 37 – 2 – C_11 P 36 – 2 – C_10 N 35 – 2 – C_09 P 34 – 2 – C_08 N 33 – 2 – C_07 P 32 DQS-P 2 – C_06 N 31 DQS-N 2 – C_05 P 30 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 183 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-97 : 3 つのバン ク に含まれる 64 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 2 – C_04 N 29 – 2 – C_03 P 28 CCIO-P 2 – C_02 N 27 CCIO-N 2 – C_01 P 26 CCIO-P 2 ODT C_00 N 25 CCIO-N 2 RAS_N B_11 P 24 CCIO-P 2 CAS_N B_10 N 23 CCIO-N 2 WE_N B_09 P 22 CCIO-P 2 BA2 B_08 N 21 CCIO-N 2 CK_P B_07 P 20 DQS-P 2 CK_N B_06 N 19 DQS-N 2 BA1 B_05 P 18 – 2 BA0 B_04 N 17 – 2 CS_N B_03 P 16 – 2 CKE B_02 N 15 – 2 A13 B_01 P 14 – 2 A12 B_00 N 13 – 2 A11 A_11 P 12 – 2 A10 A_10 N 11 – 2 A9 A_09 P 10 – 2 A8 A_08 N 9 – 2 A7 A_07 P 8 DQS-P 2 A6 A_06 N 7 DQS-N 2 A5 A_05 P 6 – 2 A4 A_04 N 5 – 2 A3 A_03 P 4 – 2 A2 A_02 N 3 – 2 A1 A_01 P 2 – 2 A0 A_00 N 1 – 2 VRN – SE 0 – 3 VRP – SE 49 – 3 DQ31 D_11 P 48 – 3 DQ30 D_10 N 47 – 3 DQ29 D_09 P 46 – 3 DQ28 D_08 N 45 – 3 DQS3_P D_07 P 44 DQS-P Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 184 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-97 : 3 つのバン ク に含まれる 64 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 3 DQS3_N D_06 N 43 DQS-N 3 DQ27 D_05 P 42 – 3 DQ26 D_04 N 41 – 3 DQ25 D_03 P 40 – 3 DQ24 D_02 N 39 – 3 DM3 D_01 P 38 – 3 – D_00 N 37 – 3 DQ23 C_11 P 36 – 3 DQ22 C_10 N 35 – 3 DQ21 C_09 P 34 – 3 DQ20 C_08 N 33 – 3 DQS2_P C_07 P 32 DQS-P 3 DQS2_N C_06 N 31 DQS-N 3 DQ19 C_05 P 30 – 3 DQ18 C_04 N 29 – 3 DQ17 C_03 P 28 CCIO-P 3 DQ16 C_02 N 27 CCIO-N 3 DM2 C_01 P 26 CCIO-P 3 – C_00 N 25 CCIO-N 3 DQ15 B_11 P 24 CCIO-P 3 DQ14 B_10 N 23 CCIO-N 3 DQ13 B_09 P 22 CCIO-P 3 DQ12 B_08 N 21 CCIO-N 3 DQS1_P B_07 P 20 DQS-P 3 DQS1_N B_06 N 19 DQS-N 3 DQ11 B_05 P 18 – 3 DQ10 B_04 N 17 – 3 DQ9 B_03 P 16 – 3 DQ8 B_02 N 15 – 3 DM1 B_01 P 14 – 3 – B_00 N 13 – 3 DQ7 A_11 P 12 – 3 DQ6 A_10 N 11 – 3 DQ5 A_09 P 10 – 3 DQ4 A_08 N 9 – 3 DQS0_P A_07 P 8 DQS-P Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 185 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-97 : 3 つのバン ク に含まれる 64 ビ ッ ト の DDR3 イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 3 DQS0_N A_06 N 7 DQS-N 3 DQ3 A_05 P 6 – 3 DQ2 A_04 N 5 – 3 DQ1 A_03 P 4 – 3 DQ0 A_02 N 3 – 3 DM0 A_01 P 2 – 3 RESET_N A_00 N 1 – 3 VRN – SE 0 – 表 1-98 は、 3 つのバン ク に含ま れ る 72 ビ ッ ト の DDR3 イ ン タ ーフ ェ イ ス の例です。 こ の例は、 4GB の x8 コ ン ポー ネ ン ト を 9 個使用す る 4GB UDIMM を表 し てい ます。 SPD (Serial Presence Detect) ピ ンは使用 し てい ません。 177 ペー ジの表 1-95、 179 ページの表 1-96、 お よ び 182 ページの表 1-97 の コ ン ポーネ ン ト デザ イ ン例 と 一貫性を持たせる た めに、 CB[7:0] を DQ[71:64] と し て、 S0# を CS_N と し て表 し てい ます。 表 1-98 : 3 つのバン ク に含まれる 72 ビ ッ ト の DDR3 UDIMM イ ン タ ー フ ェ イ ス バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 VRP – SE 49 – 1 DQ63 D_11 P 48 – 1 DQ62 D_10 N 47 – 1 DQ61 D_09 P 46 – 1 DQ60 D_08 N 45 – 1 DQS7_P D_07 P 44 DQS-P 1 DQS7_N D_06 N 43 DQS-N 1 DQ59 D_05 P 42 – 1 DQ58 D_04 N 41 – 1 DQ57 D_03 P 40 – 1 DQ56 D_02 N 39 – 1 DM7 D_01 P 38 – 1 – D_00 N 37 – 1 DQ55 C_11 P 36 – 1 DQ54 C_10 N 35 – 1 DQ53 C_09 P 34 – 1 DQ52 C_08 N 33 – 1 DQS6_P C_07 P 32 DQS-P 1 DQS6_N C_06 N 31 DQS-N 1 DQ51 C_05 P 30 – 1 DQ50 C_04 N 29 – 1 DQ49 C_03 P 28 CCIO-P Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 186 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-98 : 3 つのバン ク に含まれる 72 ビ ッ ト の DDR3 UDIMM イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 DQ48 C_02 N 27 CCIO-N 1 DM6 C_01 P 26 CCIO-P 1 – C_00 N 25 CCIO-N 1 DQ47 B_11 P 24 CCIO-P 1 DQ46 B_10 N 23 CCIO-N 1 DQ45 B_09 P 22 CCIO-P 1 DQ44 B_08 N 21 CCIO-N 1 DQS5_P B_07 P 20 DQS-P 1 DQS5_N B_06 N 19 DQS-N 1 DQ43 B_05 P 18 – 1 DQ42 B_04 N 17 – 1 DQ41 B_03 P 16 – 1 DQ40 B_02 N 15 – 1 DM5 B_01 P 14 – 1 – B_00 N 13 – 1 DQ39 A_11 P 12 – 1 DQ38 A_10 N 11 – 1 DQ37 A_09 P 10 – 1 DQ36 A_08 N 9 – 1 DQS4_P A_07 P 8 DQS-P 1 DQS4_N A_06 N 7 DQS-N 1 DQ35 A_05 P 6 – 1 DQ34 A_04 N 5 – 1 DQ33 A_03 P 4 – 1 DQ32 A_02 N 3 – 1 DM4 A_01 P 2 – A_00 N 1 – 1 1 VRN – SE 0 – 2 VRP – SE 49 – 2 DQ71 D_11 P 48 – 2 DQ70 D_10 N 47 – 2 DQ69 D_09 P 46 – 2 DQ68 D_08 N 45 – 2 DQS8_P D_07 P 44 DQS-P 2 DQS8_N D_06 N 43 DQS-N 2 DQ67 D_05 P 42 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 187 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-98 : 3 つのバン ク に含まれる 72 ビ ッ ト の DDR3 UDIMM イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 2 DQ66 D_04 N 41 – 2 DQ65 D_03 P 40 – 2 DQ64 D_02 N 39 – 2 DM8 D_01 P 38 – 2 – D_00 N 37 – 2 – C_11 P 36 – 2 – C_10 N 35 – 2 – C_09 P 34 – 2 – C_08 N 33 – 2 – C_07 P 32 DQS-P 2 – C_06 N 31 DQS-N 2 – C_05 P 30 – 2 – C_04 N 29 – 2 – C_03 P 28 CCIO-P 2 ODT0 C_02 N 27 CCIO-N 2 CKE0 C_01 P 26 CCIO-P 2 CS_N0 C_00 N 25 CCIO-N 2 RAS_N B_11 P 24 CCIO-P 2 CAS_N B_10 N 23 CCIO-N 2 WE_N B_09 P 22 CCIO-P 2 BA2 B_08 N 21 CCIO-N 2 CK_P B_07 P 20 DQS-P 2 CK_N B_06 N 19 DQS-N 2 BA1 B_05 P 18 – 2 BA0 B_04 N 17 – 2 A15 B_03 P 16 – 2 A14 B_02 N 15 – 2 A13 B_01 P 14 – 2 A12 B_00 N 13 – 2 A11 A_11 P 12 – 2 A10 A_10 N 11 – 2 A9 A_09 P 10 – 2 A8 A_08 N 9 – 2 A7 A_07 P 8 DQS-P 2 A6 A_06 N 7 DQS-N 2 A5 A_05 P 6 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 188 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-98 : 3 つのバン ク に含まれる 72 ビ ッ ト の DDR3 UDIMM イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 2 A4 A_04 N 5 – 2 A3 A_03 P 4 – 2 A2 A_02 N 3 – 2 A1 A_01 P 2 – 2 A0 A_00 N 1 – 2 VRN – SE 0 – 3 VRP – SE 49 – 3 DQ31 D_11 P 48 – 3 DQ30 D_10 N 47 – 3 DQ29 D_09 P 46 – 3 DQ28 D_08 N 45 – 3 DQS3_P D_07 P 44 DQS-P 3 DQS3_N D_06 N 43 DQS-N 3 DQ27 D_05 P 42 – 3 DQ26 D_04 N 41 – 3 DQ25 D_03 P 40 – 3 DQ24 D_02 N 39 – 3 DM3 D_01 P 38 – 3 – D_00 N 37 – 3 DQ23 C_11 P 36 – 3 DQ22 C_10 N 35 – 3 DQ21 C_09 P 34 – 3 DQ20 C_08 N 33 – 3 DQS2_P C_07 P 32 DQS-P 3 DQS2_N C_06 N 31 DQS-N 3 DQ19 C_05 P 30 – 3 DQ18 C_04 N 29 – 3 DQ17 C_03 P 28 CCIO-P 3 DQ16 C_02 N 27 CCIO-N 3 DM2 C_01 P 26 CCIO-P 3 – C_00 N 25 CCIO-N 3 DQ15 B_11 P 24 CCIO-P 3 DQ14 B_10 N 23 CCIO-N 3 DQ13 B_09 P 22 CCIO-P 3 DQ12 B_08 N 21 CCIO-N 3 DQS1_P B_07 P 20 DQS-P Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 189 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-98 : 3 つのバン ク に含まれる 72 ビ ッ ト の DDR3 UDIMM イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 3 DQS1_N B_06 N 19 DQS-N 3 DQ11 B_05 P 18 – 3 DQ10 B_04 N 17 – 3 DQ9 B_03 P 16 – 3 DQ8 B_02 N 15 – 3 DM1 B_01 P 14 – 3 – B_00 N 13 – 3 DQ7 A_11 P 12 – 3 DQ6 A_10 N 11 – 3 DQ5 A_09 P 10 – 3 DQ4 A_08 N 9 – 3 DQS0_P A_07 P 8 DQS-P 3 DQS0_N A_06 N 7 DQS-N 3 DQ3 A_05 P 6 – 3 DQ2 A_04 N 5 – 3 DQ1 A_03 P 4 – 3 DQ0 A_02 N 3 – 3 DM0 A_01 P 2 – 3 RESET_N A_00 N 1 – 3 VRN – SE 0 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 190 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン DDR3/DDR2 デザイ ンのデバ ッ グ キ ャ リ ブ レーシ ョ ン エ ラ ーお よ びデー タ エ ラ ーは さ ま ざ ま な理由で発生す る ので、 こ れ ら のエ ラ ーのデバ ッ グには 時間がかか り ます。 こ のセ ク シ ョ ン では、 エ ラ ーの根本的な原因をすばや く 特定 し 、 問題を解決す る ためのデバ ッ グ 手順を説明 し ます。 キ ャ リ ブ レーシ ョ ン ま たはデー タ エ ラ ーのデバ ッ グに焦点を置 く 場合は、MIG 7 Series の GUI でデバ ッ グ機能を有効 に し て生成 し た MIG サンプル デザ イ ン を タ ーゲ ッ ト ボー ド で使用 し ます。 MIG 7 Series の最新 リ リ ース を使用 し て サンプル デザ イ ン を生成 し て く だ さ い。 ザイ リ ン ク ス ウ ェ ブサイ ト でのヘルプへのア ク セス MIG を使用 し た設計お よ びデバ ッ グでヘルプが必要な場合は、ザ イ リ ン ク ス サポー ト ウ ェ ブ ページか ら 製品の資料、 リ リ ース ノ ー ト 、 ア ンサーな ど を参照する か、 テ ク ニ カル サポー ト でケース を開いて く だ さ い。 資料 こ の製品ガ イ ド は MIG に関す る 主要資料です。 こ のガ イ ド 並びに全製品の設計プ ロ セ ス をサポー ト す る 資料はすべ て、 ザ イ リ ン ク ス サ ポ ー ト ウ ェ ブ ペー ジ (http://japan.xilinx.com/support/) ま た は ザ イ リ ン ク ス の Documentation Navigator か ら 入手で き ます。 Documentation Navigator は、ダ ウ ン ロ ー ド ページ (japan.xilinx.com/download) の [デザ イ ン ツール] タ ブか ら ダ ウ ン ロ ー ド で き ます。 こ の ツールの詳細お よ び機能は、 イ ン ス ト ール後にオン ラ イ ン ヘルプ を参照 し て く だ さ い。 ソ リ ュ ーシ ョ ン セ ン タ ー デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 デザ イ ン ア シ ス タ ン ト 、 デザ イ ン ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト の ヒ ン ト な ど が含まれます。 MIG コ ア特定の ソ リ ュ ーシ ョ ン セ ン タ ーは、 ザ イ リ ン ク ス MIG ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ア ンサー ア ンサーには、 よ く 発生す る 問題についてその解決方法、 お よ びザ イ リ ン ク ス製品に関す る 既知の問題な ど の情報が 記載 さ れてい ます。 ア ンサーは、 ユーザーが正確な情報にア ク セ ス で き る よ う にす る ため、 随時作成お よ び更新 さ れ てい ます。 こ の コ アに関す る ア ンサーの検索には、 ザ イ リ ン ク ス サポー ト ウ ェ ブ ページにあ る 検索ボ ッ ク ス を使用 し ます。 よ り 的確な検索結果を得 る には、 次の よ う な キーワー ド を使用 し て く だ さ い。 • 製品名 • ツール メ ッ セージ • 問題の概要 検索結果は、 フ ィ ル タ ー機能を使用 し て さ ら に絞 り 込む こ と がで き ます。 DDR2/DDR3 コ アに関す る ア ンサー MIG ア ンサー 54025 (Vivado) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 191 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン テ ク ニ カル サポー ト ザ イ リ ン ク ス では、 さ ら にヘルプが必要な カ ス タ マーに対 し て、 テ ク ニ カル サポー ト を提供 し てい ます。 テ ク ニ カル サポー ト へのお問い合わせ方法は、 次の と お り です。 1. http://japan.xilinx.com/support/ にア ク セ ス し ます。 2. 「その他の リ ソ ース」 の下の [ ウ ェ ブケース を作成] を ク リ ッ ク し 、 ウ ェ ブケース を開 き ます。 ウ ェ ブケース を作成す る 際は、 次の情報を記述 し て く だ さ い。 • パ ッ ケージお よ びデバ イ ス ス ピー ド グ レー ド を含む タ ーゲ ッ ト FPGA の情報 • 該当す る すべてのザ イ リ ン ク ス デザ イ ン ツール と シ ミ ュ レー タ の ソ フ ト ウ ェ ア バージ ョ ン • 問題に よ っ ては、フ ァ イ ルの追加を求め ら れ る 場合があ り ます。ウ ェ ブケース に含め る 特定フ ァ イ ルについては、 こ の資料の関連セ ク シ ョ ン を参照 し て く だ さ い。 デバ ッ グ ツール MIG デザ イ ン の問題を解決す る には、 数多 く の ツールを利用で き ます。 さ ま ざ ま な状況をデバ ッ グす る のに有益な ツールを理解 し てお く こ と が重要です。 サン プル デザイ ン MIG 7 Series ツールで DDR2 ま たは DDR3 デザ イ ン を生成す る と 、 サ ンプル デザ イ ン と ユーザー デザ イ ンが作成 さ れます。 サンプル デザ イ ンには、 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーを含む合成可能なテ ス ト ベンチが含まれてい ます。 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーはシ ミ ュ レーシ ョ ンお よ びハー ド ウ ェ アで完全に検証 さ れてい ます。 こ のサン プル デザ イ ンは、 MIG 7 Series デザ イ ンの動作を確認す る 場合に使用で き 、 ま たボー ド 関連の問題を特定す る のに も 有益です。 サンプル デザ イ ンの詳細は、 56 ページの 「サンプル デザ イ ンの ク イ ッ ク ス タ ー ト 」 を参照 し て く だ さ い。 こ のセ ク シ ョ ンでは、 サンプル デザ イ ン を使用 し てハー ド ウ ェ ア検証を実行する 方法を説明 し ます。 デバ ッ グ信号 MIG 7 Series ツールの [FPGA Options] ページには [Debug Signals Control] があ り ます。 こ の機能を有効にする と 、 キ ャ リ ブ レーシ ョ ン、 タ ッ プ遅延、 読み出 し デー タ 信号を Vivado ロ ジ ッ ク 解析を使用 し て監視で き ます。 こ の と き 、 デ バ ッ グ信号がデザ イ ンの ILA VIO コ アにポー ト マ ッ プ さ れます。こ のデバ ッ グ機能を有効にす る 際の詳細は、18 ペー ジの 「Vivado Design Suite での MIG の使用」 を参照 し て く だ さ い。 デバ ッ グ ポー ト は論理シ ミ ュ レーシ ョ ン では無効 にな り ますが、 こ れ ら の信号を ユーザー デザ イ ンで手動で駆動する と 有効にな り ます。 Vivado Lab Edition Vivado Lab Edition デバ ッ グ ロ ジ ッ ク ツールは、 デザ イ ンに ILA 3.0 お よ び VIO 3.0 を直接挿入 し ます。 Vivado ロ ジ ッ ク 解析では、ハー ド ウ ェ アでアプ リ ケーシ ョ ン信号や MIG 信号を キ ャ プチ ャ する ト リ ガー条件を設定で き ます。キ ャ プチ ャ し た信号は、 Vivado ロ ジ ッ ク 解析で解析で き ます。 Vivado ロ ジ ッ ク 解析の詳細は、 『Vivado Design Suite ユー ザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 16] を参照 し て く だ さ い。 重要 : Vivado Lab Edition、 ILA は同期 ク ロ ッ ク で動作 し 、 リ セ ッ ト の期間は ト リ ガーで き ません。 代わ り に、 信号の 基数値をバ イ ナ リ に設定 し て ILA 信号を ト リ ガー し 、 立ち上が り エ ッ ジ (R) ま たは立ち下が り エ ッ ジ (F) を検出 し ま す。 こ の よ う な設定に よ り 、 ト リ ガーを機能 さ せる こ と がで き ます。 リ セ ッ ト を適用 し て リ リ ースする と 、 ト リ ガー に よ っ て所望の ILA 結果がキ ャ プチ ャ さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 192 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 1-93 に、 Vivado ロ ジ ッ ク 解析の イ ン タ ーフ ェ イ ス を示 し ます。 「ハー ド ウ ェ アのデバ ッ グ」 セ ク シ ョ ン では以前の バージ ョ ンの解析機能の スナ ッ プシ ョ ッ ト が使用 さ れてい ますが、 デバ ッ グ手順お よ びキ ャ プチ ャ さ れ る デー タ は同 じ です。 X-Ref Target - Figure 1-93 図 1-93 : Vivado ロ ジ ッ ク解析 リ フ ァ レ ン ス ボー ド さ ま ざ ま なザ イ リ ン ク ス開発ボー ド で、 DDR SODIMM への FPGA イ ン タ ーフ ェ イ ス を含むMIGがサポー ト さ れてい ます。 こ れ ら のボー ド を使用 し てデザ イ ンのプ ロ ト タ イ プを作成 し 、 コ アがシ ス テ ム と 通信で き る よ う に し ます。 • 7 シ リ ーズ FPGA 評価ボー ド ° VC707 ° KC705 ° AC701 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 193 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ハー ド ウ ェ アのデバ ッ グ ハー ド ウ ェ アの問題には、 キ ャ リ ブ レーシ ョ ンの問題か ら 、 テ ス ト を開始 し てか ら 何時間 も 経っ てか ら 発生す る も の ま であ り ます。 こ こ では、 一般的な問題のデバ ッ グ手順を説明 し ます。 Vivado ロ ジ ッ ク 解析機能は、 ハー ド ウ ェ アの デバ ッ グで有益です。 特定の問題をデバ ッ グす る ため、 次の各セ ク シ ョ ン で使用 さ れてい る 信号名を Vivado ロ ジ ッ ク 解析を使用 し てプ ロ ーブで き ます。 こ れ ら の一般的な問題は、 デザ イ ン シ ミ ュ レーシ ョ ンのデバ ッ グに も 適用 さ れます。 特に、 次の内容について詳 し く 説明 し ます。 • 「汎用チ ェ ッ ク 」 • 「キ ャ リ ブ レーシ ョ ンの段階」 • 「キ ャ リ ブ レーシ ョ ン エ ラ ーの発生 し てい る 段階の特定」 • 「デバ ッ グ信号」 • 「PHASER_IN PHASELOCKED キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ (dbg_pi_phaselock_err = 1)」 • 「PHASER_IN DQSFOUND キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ (dbg_pi_dqsfound_err = 1)」 • 「 ラ イ ト レベ リ ン グ エ ラ ーのデバ ッ グ (dbg_wrlvl_err = 1)」 • 「MPR リ ー ド レベ リ ン グ エ ラ ー – DDR3 のみ (dbg_rdlvl_err[1] = 1)」 • 「OCLKDELAYED キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ」 • 「書 き 込みキ ャ リ ブ レーシ ョ ンのデバ ッ グ (dbg_wrcal_err = 1)」 • 「 リ ー ド レベ リ ン グ エ ラ ーのデバ ッ グ (dbg_rdlvl_err[0] = 1)」 • 「PRBS リ ー ド レベ リ ン グ エ ラ ーのデバ ッ グ」 • 「キ ャ リ ブ レーシ ョ ン時間」 • 「デー タ エ ラ ーのデバ ッ グ」 汎用チ ェ ッ ク こ のセ ク シ ョ ン では、 主にボー ド レベルの汎用チ ェ ッ ク について説明 し ます。 こ れ ら のチ ェ ッ ク は、 デバ ッ グ プ ロ セ ス を継続す る ために検証す る 必要があ り ます。 高速 メ モ リ イ ン タ ーフ ェ イ ス を使用 し てい る 場合は、 適切なボー ド 設計ガ イ ド ラ イ ンに厳密に従 う こ と が重要です。 • 「設計ガ イ ド ラ イ ン」 に示 さ れてい る すべてのガ イ ド ラ イ ンに従っ てい る こ と を確認 し て く だ さ い。 「設計ガ イ ド ラ イ ン」 には、 ト レース一致、 PCB 配線、 ノ イ ズ、 終端、 I/O 規格、 ピ ン/バン ク 要件な ど の情報が含まれてい ま す。 こ れ ら のガ イ ド ラ イ ンに従 う こ と は、 ボー ド を適切に設定 し 、 シ グナル イ ン テ グ リ テ ィ 解析を実行す る こ と と 共に、 高速 メ モ リ イ ン タ ーフ ェ イ ス の設計において必須です。 • ア イ ド ル状態お よ びそれ以外の状態でのボー ド の電圧をすべて計測 し 、 電圧が適切に設定 さ れ、 ノ イ ズが仕様の 範囲内であ る こ と を確認 し ます。 ° 終端電圧レ ギ ュ レー タ (Vtt) がオン (0.75V に設定) にな っ てい る こ と を確認 し ます。 ° VREF が計測 さ れてい る こ と を確認 し ます。 • 該当す る 場合は、 VRN/VRP 抵抗を確認 し ます。 値は Virtex-6 FPGA と は異な り ます。 • ク ロ ッ ク 入力を調べて適切な も のであ る こ と を確認 し ます。 • リ セ ッ ト の極性が正 し く 、 信号が適切な も のであ る こ と を確認 し ます。 • こ のガ イ ド を ガ イ ド ラ イ ン と し て終端を確認 し ます。 • 汎用シ グナル イ ン テ グ リ テ ィ 解析を実行 し ます。 ° IBIS シ ミ ュ レーシ ョ ン を実行 し 、 終端、 ODT、 お よ び出力の駆動電流設定が適切であ る こ と を確認 し ます。 ° メ モ リ での ス コ ープで DQ/DQS を計測 し ます。 信号のア ラ イ メ ン ト を調べ、 書 き 込みお よ び読み出 し 中のシ グナル イ ン テ グ リ テ ィ を解析 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 194 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ° メ モ リ での ス コ ープでア ド レ スお よ び コ マ ン ド 信号を計測 し ます。 信号のア ラ イ メ ン ト を調べ、 シ グナル イ ン テ グ リ テ ィ を解析 し ます。 • ボー ド 上でテ ス ト 中の メ モ リ デバ イ ス が MIG で設定 し た正 し いデバ イ ス であ る こ と を確認 し ます。 タ イ ミ ン グ パ ラ メ ー タ ー と 信号幅 (ア ド レ ス、 バン ク ア ド レ ス) が RTL と 物理デバ イ ス で一致 し てい る 必要があ り ます。 一 致 し ていない と 、 読み出 し /書 き 込みエ ラ ーが発生す る こ と があ り ます。 • SDRAM ピ ンが正 し く 動作 し てい る こ と を確認 し ます。 未接続の信号ま たはグ ラ ン ド 接続 さ れてい る 信号を調べ ます。 メ モ リ デバ イ ス の製造問題に よ り 、 キ ャ リ ブ レーシ ョ ン エ ラ ーが発生す る こ と も まれにあ り ます。 • デー タ マ ス ク (DM) を使用 し ていない場合、 メ モ リ のデー タ シー ト に示 さ れてい る よ う に、 メ モ リ で DM が適切 な終端を使用 し て Low に接続 さ れてい る こ と を確認 し ます。 • CK/CK_n、 DQS/DQS_n、 シ ス テ ム ク ロ ッ ク のデュ ーテ ィ サ イ ク ルの歪みお よ び一般的なシ グナル イ ン テ グ リ テ ィ を計測 し ます。 • 内部 VREF を使用 し てい る 場合、 ザ イ リ ン ク ス の制約ガ イ ド に従っ て制約が適切に設定 さ れてい る こ と を確認 し ます。 制約が適切に適用 さ れてい る 場合、 BitGen レ ポー ト フ ァ イ ル (.bgn) に次の よ う な メ ッ セージが表示 さ れ ます。 ° There were two CONFIG constraint(s) processed from example_top.pcf. CONFIG INTERNAL_VREF_BANK12 = 0.75 CONFIG INTERNAL_VREF_BANK14 = 0.75 • iodelay_ctrl 信号を確認 し ます。 • PLL の ロ ッ ク を確認 し ます。 • phaser_ref ロ ッ ク 信号を確認 し ます。 • init_calib_complete を ピ ンに取 り 出 し 、 ス コ ープで確認 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 195 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン キ ャ リ ブ レーシ ョ ンの段階 X-Ref Target - Figure 1-94 6\VWHP5HVHW ''5''56'5$0,QLWLDOL]DWLRQ 3KDVHUB,13KDVH/RFN3KDVH/RFNV5HDG'46WR ,QWHUQDO)UHH5XQQLQJ)UHTXHQF\5HIHUHQFH&ORFN 3KDVHUB,Q'46)281'&DOLEUDWLRQ :ULWH/HYHOLQJ)RU''56'5$02QO\ 0XOWL3XUSRVH5HJLVWHU0355HDG/HYHOLQJ&HQWHU5HDG '46LQ5HDG'4:LQGRZ,QGHSHQGHQWRI:ULWHV 2&/.'(/$<('&DOLEUDWLRQ&HQWHU:ULWH'46LQ:ULWH '4:LQGRZ8VLQJ00&03KDVH6KLIW :ULWHOHYHODJDLQ %DFNWRZULWH DWWKHHQGRI OHYHOLQJWRDGGWR 2&/.'(/$<(' W&.RIGHOD\WR FDOLEUDWLRQ KDQGOHHDUO\ZULWHV :ULWH&DOLEUDWLRQ$OLJQLQJ:ULWH'46WRWKH&RUUHFW&. &.(GJH 5HDG/HYHOLQJ,QLWLDO'4$OLJQPHQWWR'46DQG'46 &HQWHULQJLQ5HDG'4:LQGRZ 35%65HDG/HYHOLQJ5HDG'46&HQWHULQJLQ5HDG'4 :LQGRZZLWK35%63DWWHUQWR$FFRXQWIRU,6,(IIHFWV 3+<,QLWLDOL]DWLRQDQG&DOLEUDWLRQ&RPSOHWH 図 1-94 : キ ャ リ ブ レーシ ョ ンの段階 メ モ リ の初期化 PHY は、 シ ス テ ム リ セ ッ ト がデ ィ アサー ト さ れた後、 JEDEC 準拠の DDR2 ま たは DDR3 初期化シーケ ン ス を実行 し ます。 各 DDR2 ま たは DDR3 SDRAM には一連のモー ド レ ジ ス タ があ り 、 MRS (モー ド レ ジ ス タ セ ッ ト ) コ マ ン ド で ア ク セ ス し ます。 こ れ ら のモー ド レ ジ ス タ では、 バース ト 長、 読み出 し お よ び書き 込み CAS レ イ テ ン シ、 追加レ イ テ ン シな ど、 さ ま ざ ま な SDRAM の動作を定義 し ます。MIG 7 Series デザ イ ンでは、 メ モ リ の初期化中にキ ャ リ ブ レー シ ョ ン エ ラ ーは発生 し ません。 次の 「キ ャ リ ブ レーシ ョ ン段階のデバ ッ グ」 セ ク シ ョ ンで、 その他の初期化/キ ャ リ ブ レーシ ョ ン段階すべて を確認 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 196 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン キ ャ リ ブ レーシ ョ ン エ ラ ーの発生 し ている段階の特定 Vivado ロ ジ ッ ク 解析機能を使用 し 、 デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ン し 、 生成 さ れた example_top.cpj フ ァ イ ル を 開 き ま す。 こ の フ ァ イ ルは、 Debug_port 機能 を 有効に し た 状態で イ ン プ リ メ ン テ ーシ ョ ン を 完了 し た後、 example.runs\impl_1\ デ ィ レ ク ト リ に生成 さ れ ます。 提供 さ れ る ILA コ アで次のデバ ッ グ信号を調べ ます。 こ れに よ り 、 ど のキ ャ リ ブ レーシ ョ ン段階でエ ラ ーが発生 し たかがわか り ます。 表 1-99 : DDR2/DDR3 の基本的な ILA デバ ッ グ信号 信号名 説明 init_calib_complete メ モ リ の初期化お よ びキ ャ リ ブ レーシ ョ ンが正 し く 完了 し た こ と を示 し ます。 dbg_wrlvl_start ラ イ ト レベ リ ン グ段階の開始を示 し ます。 dbg_wrlvl_done ラ イ ト レベ リ ン グ段階が正 し く 完了 し た こ と を示 し ます。 dbg_wrlvl_err ラ イ ト レベ リ ン グ段階でエ ラ ーが発生 し 、 完了 し なか っ た こ と を示 し ます。 dbg_pi_phaselock_start PHASELOCK 段階の開始を示 し ます。 dbg_pi_phaselock_done PHASELOCK 段階が正 し く 完了 し た こ と を示 し ます。 dbg_pi_phaselock_err PHASELOCK 段階でエ ラ ーが発生 し 、 完了 し なか っ た こ と を示 し ます。 dbg_pi_dqsfound_start DQSFOUND 段階の開始を示 し ます。 dbg_pi_dqsfound_done DQSFOUND 段階が正 し く 完了 し た こ と を示 し ます。 dbg_pi_dqsfound_err DQSFOUND 段階でエ ラ ーが発生 し 、 完了 し なかっ た こ と を示 し ます。 dbg_rdlvl_start[0] リ ー ド レベ リ ン グ段階 1 の開始を示 し ます。 dbg_rdlvl_start[1] MPR 段階の開始を示 し ます。 dbg_rdlvl_done[0] リ ー ド レベ リ ン グ段階 1 が正 し く 完了 し た こ と を示 し ます。 dbg_rdlvl_done[1] MPR 段階が正 し く 完了 し た こ と を示 し ます。 dbg_rdlvl_err[0] リ ー ド レベ リ ン グ段階 1 でエ ラ ーが発生 し 、 完了 し なか っ た こ と を示 し ます。 dbg_rdlvl_err[1] MPR 段階でエ ラ ーが発生 し 、 完了 し なかっ た こ と を示 し ます。 dbg_oclkdelay_calib_start OCLKDELAY 段階の開始を示 し ます。 dbg_oclkdelay_calib_done OCLKDELAY 段階が正 し く 完了 し た こ と を示 し ます。 dbg_wrcal_start 書 き 込みキ ャ リ ブ レーシ ョ ン段階の開始を示 し ます。 dbg_wrcal_done 書き 込みキ ャ リ ブ レーシ ョ ン段階が正 し く 完了 し た こ と を示 し ます。 dbg_wrcal_err 書 き 込みキ ャ リ ブ レーシ ョ ン段階でエ ラ ーが発生 し 、 完了 し なか っ た こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 197 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン デバ ッ グ信号 表 1-100 : DDR2/DDR3 のデバ ッ グ信号 信号名 説明 ILA 信号 (ス テー タ ス) dbg_init_calib_complete メ モ リ の初期化お よ び キ ャ リ ブ レ ーシ ョ ン が正 し く 完了 し た こ と を 示 し ま す。 dbg_wrlvl_start ラ イ ト レベ リ ン グ段階の開始を示 し ます。 dbg_wrlvl_done ラ イ ト レベ リ ン グ段階が正 し く 完了 し た こ と を示 し ます。 dbg_wrlvl_err ラ イ ト レベ リ ン グ段階でエ ラ ーが発生 し 、 完了 し なか っ た こ と を示 し ます。 dbg_pi_phaselock_start PHASELOCK 段階の開始を示 し ます。 dbg_pi_phaselocked_done PHASELOCK 段階が正 し く 完了 し た こ と を示 し ます。 dbg_pi_phaselock_err PHASELOCK 段階でエ ラ ーが発生 し 、 完了 し なか っ た こ と を示 し ます。 dbg_pi_dqsfound_start DQSFOUND 段階の開始を示 し ます。 dbg_pi_dqsfound_done DQSFOUND 段階が正 し く 完了 し た こ と を示 し ます。 dbg_pi_dqsfound_err DQSFOUND 段階でエ ラ ーが発生 し 、 完了 し なかっ た こ と を示 し ます。 dbg_rdlvl_start[1] MPR 段階の開始を示 し ます。 dbg_rdlvl_start[0] リ ー ド レベ リ ン グ段階 1 の開始を示 し ます。 dbg_rdlvl_done[1] MPR 段階が正 し く 完了 し た こ と を示 し ます。 dbg_rdlvl_done[0] リ ー ド レベ リ ン グ段階 1 が正 し く 完了 し た こ と を示 し ます。 dbg_rdlvl_err[1] リ ー ド レベ リ ン グ段階 1 でエ ラ ーが発生 し 、完了 し なか っ た こ と を示 し ます。 dbg_rdlvl_err[0] MPR 段階でエ ラ ーが発生 し 、 完了 し なかっ た こ と を示 し ます。 dbg_oclkdelay_calib_start OCLKDELAY 段階の開始を示 し ます。 dbg_oclkdelay_calib_done OCLKDELAY 段階が正 し く 完了 し た こ と を示 し ます。 dbg_wrcal_start 書 き 込みキ ャ リ ブ レーシ ョ ン段階の開始を示 し ます。 dbg_wrcal_done 書 き 込みキ ャ リ ブ レーシ ョ ン段階が正 し く 完了 し た こ と を示 し ます。 dbg_wrcal_err 書 き 込みキ ャ リ ブ レーシ ョ ン段階でエ ラ ーが発生 し 、 完了 し なか っ た こ と を 示 し ます。 dbg_phy_init_5_0 PHY 初期化 ス テ ー ト マ シ ン の ス テ ー ト 変数。 ス テ ー ト は、 ddr_phy_init モ ジ ュ ールでデコ ー ド さ れます。 dbg_rddata_valid_r 読み出 し デー タ (dbg_rddata_r) が有効の場合にアサー ト し ます。 dbg_rddata_r VIO 上の dbg_dqs を介 し て選択 さ れた DQS グループの IN_FIFO か ら 読み出 さ れた読み出 し デー タ です。 こ のデバ ッ グ ポー ト は 64 ビ ッ ト バス であ り 、ECC デー タ はキ ャ プチ ャ し ません。 dbg_fine_adjust_done_r DQS FOUND キ ャ リ ブ レーシ ョ ン段階で精細度調整が完了す る と アサー ト さ れます。 dbg_cmd_wdt_err_w ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーか ら の ウ ォ ッ チ ド ッ グ タ イ ム ア ウ ト エ ラ ー信 号で、 ユーザー イ ン タ ーフ ェ イ ス が ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーか ら の コ マ ン ド に対応 し ていない こ と を示 し ます。 dbg_rd_wdt_err_w ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーか ら の ウ ォ ッ チ ド ッ グ タ イ ム ア ウ ト エ ラ ー信 号で、 ユーザー イ ン タ ーフ ェ イ ス か ら 読み出 し デー タ が提供 さ れていない こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 198 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-100 : DDR2/DDR3 のデバ ッ グ信号 (続き) 信号名 説明 dbg_wr_wdt_err_w ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーか ら の ウ ォ ッ チ ド ッ グ タ イ ム ア ウ ト エ ラ ー信 号で、 ユーザー イ ン タ ーフ ェ イ ス で書き 込みデー タ が受信 さ れていない こ と を示 し ます。 dbg_tg_compare_error 内部 ト ラ フ ィ ッ ク ジ ェ ネ レ ー タ ーか ら の ス テ ィ ッ キー ビ ッ ト で、 キ ャ リ ブ レーシ ョ ン完了後にデー タ エ ラ ーが検出 さ れ る と アサー ト さ れます。 dbg_cmp_data_valid ト ラ フ ィ ッ ク ジ ェ ネ レ ー タ ーか ら の比較デー タ が有効で あ る こ と を 示す Valid 信号です。 dbg_cmp_error アサー ト さ れ る と 、 比較デー タ がユーザー イ ン タ ーフ ェ イ ス か ら の読み出 し デー タ と 一致 し てい る こ と を示 し ます。 dbg_cmp_data_r ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーか ら の比較デー タ の レ ジ ス タ バージ ョ ンです。 dbg_dq_error_bytelane_cmp ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのデー タ 比較エ ラ ーが ど のバ イ ト にあ る かを示 し ます。 dbg_cumlative_dq_lane_error ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのデー タ 比較エ ラ ーが ど のバ イ ト にあ る かを示 し ます。 こ れは ス テ ィ ッ キー ス テー タ ス信号であ り 、 dbg_clear_error を使用 し て手動で ク リ ア さ れ る ま でアサー ト さ れた状態を維持 し ます。 dbg_cmp_addr_i 最初のデー タ エ ラ ーが生 じ たバース ト の開始ア ド レ ス を示 し ます。 dbg_cmp_bl_i 最初のデー タ エ ラ ーが生 じ たバース ト のバース ト 長を示 し ます。 dbg_mcb_cmd_full_i 最初のデー タ エ ラ ーが生 じ た と き 、 メ モ リ コ ン ト ロ ー ラ ーの コ マ ン ド FIFO が フルであ る こ と を示 し ます。 dbg_mcb_wr_full_i 最初のデー タ エ ラ ーが生 じ た と き 、 メ モ リ コ ン ト ロ ー ラ ーの書き 込みデー タ FIFO が フルであ る こ と を示 し ます。 dbg_mcb_rd_empty_i 最初のデー タ エ ラ ーが生 じ た と き 、 メ モ リ コ ン ト ロ ー ラ ーの読み出 し デー タ FIFO が空であ る こ と を示 し ます。 dbg_ddrx_ila_rdpath_765_764[0] PRBS ラ イ ト レベ リ ン グ段階の開始を示 し ます。 dbg_ddrx_ila_rdpath_765_764[1] PRBS リ ー ド レベ リ ン グ段階の完了を示 し ます。 dbg_wl_state_r ラ イ ト レ ベ リ ン グ ス テ ー ト マ シ ン の ス テ ー ト 変数 で す。 ス テ ー ト は、 ddr_phy_wrlvl.v モジ ュ ールでデ コ ー ド さ れます。 dbg_dqs_cnt_r ラ イ ト レベ リ ン グ中にキ ャ リ ブ レーシ ョ ン さ れ る DQS バ イ ト グループ を示 し ます。 ラ イ ト レベ リ ン グが正 し く 完了す る か、 DQ で 0 か ら 1 への遷移が 検出 さ れないためにデー タ バ イ ト グループでエ ラ ーが発生する ま で、DQS バ イ ト グループが順に処理 さ れます。 dbg_wl_edge_detect_valid_r ラ イ ト レベ リ ン グ アルゴ リ ズ ムでエ ッ ジ を検索する 有効時間を示 し ます。 dbg_rd_data_edge_detect_r_by_dqs ラ イ ト レベ リ ン グ キ ャ リ ブ レーシ ョ ンで 0 か ら 1 へのエ ッ ジ遷移が検出 さ れ た こ と を示 し ます。 dbg_wl_po_fine_cnt_by_dqs ラ イ ト レ ベ リ ン グ で算出 さ れた PHASER_OUT の細精度 タ ッ プ を示 し ま す。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_wl_po_coarse_cnt_by_dqs ラ イ ト レ ベ リ ン グ で算出 さ れた PHASER_OUT の粗精度 タ ッ プ を示 し ま す。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_phy_oclkdelay_zfo OCLKDELAY エ ッ ジが検出 さ れた こ と を示 し ます。 {z2f, o2f, f2z, f2o} dbg_ocal_fuzz2oneeighty 立ち下が り ウ ィ ン ド ウ の左端の段階 3 の タ ッ プ値を示 し ます。 dbg_ocal_fuzz2zero 立ち上が り ウ ィ ン ド ウ の左端の fuzz2zero 段階 3 の タ ッ プ値を示 し ます。 dbg_ocal_oneeighty2fuzz 立ち上が り ウ ィ ン ド ウ の右端の oneeighty2fuzz 段階 3 の タ ッ プ値を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 199 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-100 : DDR2/DDR3 のデバ ッ グ信号 (続き) 信号名 説明 dbg_ocal_zero2fuzz 立ち上が り ウ ィ ン ド ウ の右端の段階 3 の タ ッ プ値を示 し ます。 dbg_ocal_oclkdelay_calib_cnt ど の DQS グループが OCLKDELAY キ ャ リ ブ レーシ ョ ン段階であ る か を示す DQS グループ カ ウ ン タ ーです。 dbg_ocal_scan_win_not_found OCLKDELAY キ ャ リ ブ レーシ ョ ン中に ウ ィ ン ド ウ が検出 さ れていない こ と を 示 し ます。 dbg_wrcal_pat_data_match_r 書 き 込みキ ャ リ ブ レーシ ョ ン段階でデー タ パ タ ーンの一致が検出 さ れ る と ア サー ト さ れます。 dbg_wrcal_pat_data_match_valid_r 修飾子 と し て機能 し 、 書 き 込みキ ャ リ ブ レーシ ョ ン段階でデー タ パ タ ーンの 一致が有効の場合にアサー ト さ れます。 dbg_wrcal_dqs_cnt_r 書 き 込みキ ャ リ ブ レ ーシ ョ ン で現在キ ャ リ ブ レ ーシ ョ ン さ れてい る DQS グ ループを示 し ます。 wrcal_start がアサー ト さ れ る と 、 wrcal_dqs_cnt_r は 0 にな り ま す。 DQS バ イ ト グループが順に処理 さ れ、 読み出 し デー タ パ タ ーン が FF00AA5555AA9966 パ タ ーンに一致す る かがチ ェ ッ ク さ れます。 パ タ ーンが 一致する と 、 wrcal_dqs_cnt が 1 イ ン ク リ メ ン ト し ます。 その後、 DQS_WIDTH - 1 に達す る か、ま たはデー タ パ タ ーンが正 し く 検出 さ れないためにデー タ バ イ ト グループでエ ラ ーが発生す る ま で、 次のバ イ ト で正 し いデー タ パ タ ーン が検索 さ れ ま す。 wrcal_done 信号が ア サー ト さ れ た 後は、 wrcal_dqs_cnt は DQS_WIDTH - 1 に保持 さ れます。 cal2_state_r 書き 込みキ ャ リ ブ レーシ ョ ン ス テー ト マシ ン変数です。ス テー ト は、ddr_phy_ wrcal.v モジ ュ ールでデ コ ー ド さ れます。 not_empty_wait_cnt 書 き 込みキ ャ リ ブ レーシ ョ ン パ タ ーン検出中のカ ウ ン ト 値です。 最大カ ウ ン ト は 0x1F です。 カ ウ ン ト 値が 0x1F に達する と 、 書き 込みキ ャ リ ブ レーシ ョ ンがエ ラ ー と な り 、 dbg_wrcal_err がアサー ト さ れます。 dbg_early1_data 検出 さ れたパ タ ーンが CK ク ロ ッ ク の 1 サ イ ク ル分早い場合にアサー ト さ れ ます。 アサー ト さ れた場合、 ラ イ ト レベ リ ン グ アルゴ リ ズ ムに よ っ て CK ク ロ ッ ク が 1 サ イ ク ル移動 さ れ ま す。 CK が移動 さ れた後、 書 き 込みキ ャ リ ブ レーシ ョ ン アルゴ リ ズ ムがパ タ ーン検出を再度開始 し ます。 dbg_early2_data 検出 さ れたパ タ ーンが CK ク ロ ッ ク の 2 サ イ ク ル分早い場合にアサー ト さ れ ます。 アサー ト さ れた場合、 ラ イ ト レベ リ ン グ アルゴ リ ズ ムに よ っ て CK ク ロ ッ ク が 2 サ イ ク ル移動 さ れ ま す。 CK が移動 さ れた後、 書 き 込みキ ャ リ ブ レーシ ョ ン アルゴ リ ズ ムがパ タ ーン検出を再度開始 し ます。 dbg_phy_oclkdelay_cal_57_54 OCLK_DELAY キ ャ リ ブ レ ーシ ョ ン段階で現在キ ャ リ ブ レ ーシ ョ ン さ れてい る DQS グループ を示 し ます。 dbg_phy_wrlvl_128_75 すべてのバ イ ト を対象 と す る ラ イ ト レ ベ リ ン グ で算出 さ れた PHASER_OUT の細精度 タ ッ プを示 し ます。 dbg_phy_wrlvl_155_129 すべてのバ イ ト を対象 と す る ラ イ ト レ ベ リ ン グ で算出 さ れた PHASER_OUT の粗精度 タ ッ プを示 し ます。 dbg_pi_phase_locked_phy4lanes ロ ッ ク が達成 さ れた PHASER_IN レーン を示 し ます。 dbg_pi_dqs_found_lanes_phy4lanes DQS が も う すぐ 検索 さ れ る PHASER_IN レーン を示 し ます。 dbg_rd_data_offset キ ャ リ ブ レーシ ョ ンで算出 さ れた読み出 し デー タ オ フ セ ッ ト です。 dbg_cal1_state_r MPR お よ び リ ー ド レベ リ ン グ段階 1 の ス テー ト マシ ン変数です。 ス テー ト は、 ddr_phy_rdlvl.v モジ ュ ールでデ コ ー ド さ れます。 dbg_cal1_cnt_cpt_r MPR リ ー ド レベ リ ン グ ま たは リ ー ド レベ リ ン グ段階 1 でエ ラ ーが発生 し た バ イ ト を示 し ます。 dbg_mux_rd_rise0_r 立ち上が り エ ッ ジ 0 で受信 さ れたデー タ パ タ ーンです。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 200 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-100 : DDR2/DDR3 のデバ ッ グ信号 (続き) 信号名 説明 dbg_mux_rd_fall0_r 立ち下が り エ ッ ジ 0 で受信 さ れたデー タ パ タ ーンです。 dbg_mux_rd_rise1_r 立ち上が り エ ッ ジ 1 で受信 さ れたデー タ パ タ ーンです。 dbg_mux_rd_fall1_r 立ち下が り エ ッ ジ 1 で受信 さ れたデー タ パ タ ーンです。 dbg_mux_rd_rise2_r 立ち上が り エ ッ ジ 2 で受信 さ れたデー タ パ タ ーンです。 dbg_mux_rd_fall2_r 立ち下が り エ ッ ジ 2 で受信 さ れたデー タ パ タ ーンです。 dbg_mux_rd_rise3_r 立ち上が り エ ッ ジ 3 で受信 さ れたデー タ パ タ ーンです。 dbg_mux_rd_fall3_r 立ち下が り エ ッ ジ 3 で受信 さ れたデー タ パ タ ーンです。 dbg_rdlvl_pat_data_match_r デー タ 上に有効なパ タ ーンが検出 さ れ、 リ ー ド レベ リ ン グ中に送信 さ れた予 想パ タ ーン と 一致 し てい る 場合にアサー ト さ れます。 dbg_mux_rd_valid_r dbg_mux_rd_rise0_r、 dbg_mux_rd_fall0_r、 dbg_mux_rd_rise1_r、 dbg_mux_rd_fall1_r、 dbg_mux_rd_rise2_r、 dbg_mux_rd_fall2_r、 dbg_mux_rd_rise3_r、 お よ び dbg_mux_rd_fall3_r 上に有効なパ タ ーンが検出 さ れ る と アサー ト さ れます。 dbg_cpt_first_edge_cnt_by_dqs MPR お よ び リ ー ド レ ベ リ ン グ 段階 1 で最初の エ ッ ジ が検出 さ れ た と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_cpt_second_edge_cnt_by_dqs MPR お よ び リ ー ド レベ リ ン グ段階 1 で 2 番目のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_cpt_tap_cnt_by_dqs 最初のエ ッ ジお よ び 2 番目のエ ッ ジがいつ検出 さ れたかに基づいて移動 さ れ た中央 タ ッ プを示 し ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ま す。 dbg_dq_idelay_tap_cnt_by_dqs MPR お よ び リ ー ド レベ リ ン グ段階 1 の IDELAY タ ッ プ値。 こ の値は、 すべて の DQS バ イ ト グループで 2 ~ 3 タ ッ プ内であ る 必要があ り ます。バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_dbg_calib_rd_data_offset_1 キ ャ リ ブ レーシ ョ ンで算出 さ れた読み出 し デー タ オ フ セ ッ ト です。 dbg_dbg_calib_rd_data_offset_2 キ ャ リ ブ レーシ ョ ンで算出 さ れた読み出 し デー タ オ フ セ ッ ト です。 dbg_data_offset 通常動作中に使用 さ れ る デー タ オ フ セ ッ ト です。 値は、 書 き 込み、 読み出 し 、 お よ びア イ ド ルで異な り ます。 書 き 込み中は、 CWL + 2 + ス ロ ッ ト 番号にな り ます。デー タ 以外の コ マ ン ド 中は 0 にな り ます。読み出 し 中は、DQSFOUND キ ャ リ ブ レ ーシ ョ ン で算出 さ れた値 (rd_data_offset_ranks) に一致す る 必要が あ り ます。 dbg_data_offset_1 通常動作中に使用 さ れ る デー タ オ フ セ ッ ト です。 値は、 書 き 込み、 読み出 し 、 お よ びア イ ド ルで異な り ます。 書 き 込み中は、 CWL + 2 + ス ロ ッ ト 番号にな り ます。デー タ 以外の コ マ ン ド 中は 0 にな り ます。読み出 し 中は、DQSFOUND キ ャ リ ブ レ ーシ ョ ン で算出 さ れた値 (rd_data_offset_ranks) に一致す る 必要が あ り ます。 dbg_data_offset_2 通常動作中に使用 さ れ る デー タ オ フ セ ッ ト です。 値は、 書 き 込み、 読み出 し 、 お よ びア イ ド ルで異な り ます。 書 き 込み中は、 CWL + 2 + ス ロ ッ ト 番号にな り ます。デー タ 以外の コ マ ン ド 中は 0 にな り ます。読み出 し 中は、DQSFOUND キ ャ リ ブ レ ーシ ョ ン で算出 さ れた値 (rd_data_offset_ranks) に一致す る 必要が あ り ます。 dbg_cpt_first_edge_cnt MPR お よ び リ ー ド レ ベ リ ン グ 段階 1 で最初の エ ッ ジ が検出 さ れ た と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 201 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-100 : DDR2/DDR3 のデバ ッ グ信号 (続き) 信号名 説明 dbg_cpt_second_edge_cnt MPR お よ び リ ー ド レベ リ ン グ段階 1 で 2 番目のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 dbg_cpt_tap_cnt MPR ま たは リ ー ド レベ リ ン グ段階 1 で中央の PHASER_IN 細精度 タ ッ プ値が 検出 さ れた こ と を示 し ます。 dbg_dq_idelay_tap_cnt MPR お よ び リ ー ド レベ リ ン グ段階 1 の IDELAY タ ッ プ値。 こ の値は、 すべて の DQS バ イ ト グループで 2 ~ 3 タ ッ プ内であ る 必要があ り ます。バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_prbs_rdlvl PRBS リ ー ド レベル段階のデバ ッ グ信号です。 dbg_ocal_lim_done 段階 3 の下限/上限が決定 さ れた こ と を示 し ます。 dbg_ocal_stg3_lim_left 段階 3 の下限です。 dbg_ocal_stg3_lim_right 段階 3 の上限です。 dbg_ocal_center_calib_start OCLKDELAY セ ン タ ー キ ャ リ ブ レーシ ョ ンの開始を示 し ます。 dbg_wcal_mux_rd_rise0_r 立ち上が り エ ッ ジ 0 で書 き 込みキ ャ リ ブ レーシ ョ ン段階 MUX で受信 さ れた デー タ パ タ ーンです。 dbg_wcal_mux_rd_fall0_r 立ち下が り エ ッ ジ 0 で書 き 込みキ ャ リ ブ レーシ ョ ン段階 MUX で受信 さ れた デー タ パ タ ーンです。 dbg_wcal_mux_rd_rise1_r 立ち上が り エ ッ ジ 1 で書 き 込みキ ャ リ ブ レーシ ョ ン段階 MUX で受信 さ れた デー タ パ タ ーンです。 dbg_wcal_mux_rd_fall1_r 立ち下が り エ ッ ジ 1 で書 き 込みキ ャ リ ブ レーシ ョ ン段階 MUX で受信 さ れた デー タ パ タ ーンです。 dbg_wcal_mux_rd_rise2_r 立ち上が り エ ッ ジ 2 で書 き 込みキ ャ リ ブ レーシ ョ ン段階 MUX で受信 さ れた デー タ パ タ ーンです。 dbg_wcal_mux_rd_fall2_r 立ち下が り エ ッ ジ 2 で書 き 込みキ ャ リ ブ レーシ ョ ン段階 MUX で受信 さ れた デー タ パ タ ーンです。 dbg_wcal_mux_rd_rise3_r 立ち上が り エ ッ ジ 3 で書 き 込みキ ャ リ ブ レーシ ョ ン段階 MUX で受信 さ れた デー タ パ タ ーンです。 dbg_wcal_mux_rd_fall3_r 立ち下が り エ ッ ジ 3 で書 き 込みキ ャ リ ブ レーシ ョ ン段階 MUX で受信 さ れた デー タ パ タ ーンです。 dbg_early1_data_match_r 書 き 込みキ ャ リ ブ レーシ ョ ン ン中に 1 CK ク ロ ッ ク サ イ ク ル早 く パ タ ーン が 検出 さ れて、 一致が検出 さ れた場合にアサー ト さ れます。 dbg_early2_data_match_r 書 き 込みキ ャ リ ブ レーシ ョ ン ン中に 2 CK ク ロ ッ ク サ イ ク ル早 く パ タ ーン が 検出 さ れて、 一致が検出 さ れた場合にアサー ト さ れます。 dbg_wcal_sanity_pat_data_match_valid_r デー タ 上に有効なパ タ ーン が検出 さ れ、 書 き 込みキ ャ リ ブ レーシ ョ ン のサニ テ ィ チ ェ ッ ク 中に送信 さ れた予想パ タ ーン と 一致 し てい る 場合にアサー ト さ れます。 dbg_prbs_final_dqs_tap_cnt_r PRBS リ ー ド レベ リ ン グ段階の最後に設定 さ れた タ ッ プ値です。 dbg_prbs_first_edge_taps PRBS リ ー ド レベ リ ン グ段階のキ ャ リ ブ レーシ ョ ン中に最初のエ ッ ジが検出 さ れた と き の タ ッ プ値を示 し ます。 dbg_prbs_second_edge_taps PRBS リ ー ド レベ リ ン グ段階のキ ャ リ ブ レーシ ョ ン中に 2 番目のエ ッ ジが検 出 さ れた と き の タ ッ プ値を示 し ます。 dbg_ocal_center_calib_done OCLKDELAY セ ン タ ー キ ャ リ ブ レーシ ョ ンの完了を示 し ます。 dbg_phy_oclkdelay_cal_taps イ ン タ ーフ ェ イ ス のすべてのバ イ ト に対す る 段階 3 の最終 タ ッ プ値を示 し ま す。 バ イ ト 0 はビ ッ ト [5:0]、 バ イ ト 1 はビ ッ ト [11:6] と な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 202 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-100 : DDR2/DDR3 のデバ ッ グ信号 (続き) 信号名 説明 dbg_ocal_tap_cnt 各グループのキ ャ リ ブ レーシ ョ ン中の段階 3 の タ ッ プ値です。 VIO 信号 (制御) dbg_bit 現在は使用 さ れてお り ません。 dbg_dqs ILA が PHASER_OUT の タ ッ プ カ ウ ン ト を表示す る DQS バ イ ト を選択する た めの入力信号です。 た と えば、 DQS[0] の結果を表示す る には 4'b0000 に設定 し ます。 vio_modify_enable 表 1-109 を参照 し て く だ さ い。 vio_data_mode_value 表 1-109 を参照 し て く だ さ い。 vio_addr_mode_value 表 1-109 を参照 し て く だ さ い。 vio_instr_mode_value 表 1-109 を参照 し て く だ さ い。 vio_bl_mode_value 表 1-109 を参照 し て く だ さ い。 vio_fixed_bl_value 表 1-109 を参照 し て く だ さ い。 vio_data_mask_gen ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのデー タ マ ス ク 生成を有効に し ます。 vio_pause_traffic 表 1-109 を参照 し て く だ さ い。 vio_fixed_instr_value 表 1-109 を参照 し て く だ さ い。 dbg_clear_error 表 1-109 を参照 し て く だ さ い。 vio_tg_rst 現在は使用 さ れてお り ません。 wdt_en_w ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの ウ ォ ッ チ ド ッ グ タ イ マーを有効に し ます。 win_start 表 1-111 を参照 し て く だ さ い。 win_sel_pi_pon 表 1-111 を参照 し て く だ さ い。 vio_dbg_sel_pi_incdec 表 1-111 を参照 し て く だ さ い。 vio_dbg_sel_po_incdec 表 1-111 を参照 し て く だ さ い。 vio_dbg_pi_f_inc 表 1-111 を参照 し て く だ さ い。 vio_dbg_pi_f_dec 表 1-111 を参照 し て く だ さ い。 vio_dbg_po_f_inc 表 1-111 を参照 し て く だ さ い。 vio_dbg_po_f_dec 表 1-111 を参照 し て く だ さ い。 vio_dbg_po_f_stg23_sel 表 1-111 を参照 し て く だ さ い。 vio_win_byte_select_inc 表 1-111 を参照 し て く だ さ い。 vio_win_byte_select_dec 表 1-111 を参照 し て く だ さ い。 vio_sel_mux_rdd[3:0] 表 1-111 を参照 し て く だ さ い。 vio_tg_simple_data_sel 現在は使用 さ れてお り ません。 VIO 信号 (ス テー タ ス) win_start win_start 入力の ロ ジ ッ ク レベルを示すス テー タ ス信号です。 dbg_pi_counter_read_val 表 1-111 を参照 し て く だ さ い。 pi_win_left_ram_out 表 1-111 を参照 し て く だ さ い。 pi_win_right_ram_out 表 1-111 を参照 し て く だ さ い。 win_active 表 1-111 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 203 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-100 : DDR2/DDR3 のデバ ッ グ信号 (続き) 信号名 説明 dbg_win_chk ウ ィ ン ド ウ マージ ン チ ェ ッ ク モジ ュ ールか ら のデバ ッ グ信号です。 詳細は、 _chk_win.v フ ァ イ ルを参照 し て く だ さ い。 win_current_bit DDR3 イ ン タ ーフ ェ イ ス では使用 さ れません。 win_current_byte[3:0] 表 1-111 を参照 し て く だ さ い。 win_byte_select 表 1-111 を参照 し て く だ さ い。 po_win_left_ram_out 表 1-111 を参照 し て く だ さ い。 po_win_right_ram_out 表 1-111 を参照 し て く だ さ い。 dbg_po_counter_read_val 表 1-111 を参照 し て く だ さ い。 dbg_mem_pattern_init_done メ モ リ への最初の書き 込みが完了 し た こ と を示 し ます。 dbg_tg_compare_error キ ャ リ ブ レーシ ョ ン完了後、 デー タ 転送にエ ラ ーがあ る こ と を示す ス テ ィ ッ キー ビ ッ ト です。 dbg_tg_wr_data_counts ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て書 き 込まれたバ イ ト 数のカ ウ ン タ ーで す。 dbg_tg_rd_data_counts ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て読み出 さ れたバ イ ト 数のカ ウ ン タ ーで す。 PHASER_IN PHASELOCKED キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ (dbg_pi_phaselock_err = 1) キ ャ リ ブ レーシ ョ ンの概要 こ の段階では、 フ リ ー ラ ン ニ ン グ の周波数基準 ク ロ ッ ク を 関連す る 読み出 し DQS 信号の位相に揃え る た めに、 各 PHASER_IN が読み出 し キ ャ リ ブ レーシ ョ ン モー ド に設定 さ れます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 連続す る 読み 出 し コ マ ン ド を発行 し て PHASER_IN ブ ロ ッ ク に連続する DQS パルス の ス ト リ ーム を与え る こ と で、 PHASER_IN の 位相を ロ ッ ク し ます。 各 DQS には、 それに関連する PHASER_IN ブ ロ ッ ク があ り ます。 すべての PHASER_IN で ロ ッ ク が達成 さ れ、 通常の動作モー ド にな る と 、 dbg_pi_phase_locked がアサー ト さ れます。 デバ ッ グ PHASER_IN の PHASELOCKED キ ャ リ ブ レーシ ョ ン でエ ラ ーが発生 し た場合は、 メ モ リ で DQS を プ ロ ーブ し ま す。 ロ ッ ク を達成す る には、 連続す る DQS パルス の ス ト リ ームが必要です。 DQS パルス のシ グナル イ ン テ グ リ テ ィ を確 認 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 204 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PHASER_IN DQSFOUND キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ (dbg_pi_dqsfound_err = 1) キ ャ リ ブ レーシ ョ ンの概要 こ の段階では、 I/O バン ク の異な る DQS グループが同 じ PHY_Clk に揃え ら れ、 読み出 し コ マ ン ド に対 し て最適な読 み出 し デー タ オ フ セ ッ ト 位置が検索 さ れ ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク に よ り 、 間にギ ャ ッ プのあ る 4 つの連 続す る 読み出 し が発行 さ れます。 各 PHASER_IN で読み出 し DQS プ リ ア ンブルが検出 さ れます。 I/O バン ク のすべて の DQS グループに対 し て、 1 つの読み出 し デー タ オ フ セ ッ ト 値が決定 さ れ ます。 CK/ア ド レ ス/ コ マ ン ド /制御バ イ ト レーンの PHASER_OUT 段階 2 の遅延が イ ン ク リ メ ン ト お よ びデ ク リ メ ン ト さ れ、検出 さ れた読み出 し DQS プ リ ア ン ブルのマージ ンが向上 さ れます。 こ の読み出 し デー タ オ フ セ ッ ト は、 PHY_CONTROL ブ ロ ッ ク への読み出 し 要求で 使用 さ れます。 デバ ッ グ • DQSFOUND 段階でエ ラ ーが発生 し た場合は、 メ モ リ で DQS をプ ロ ーブ し ます。 4 つの連続す る 読み出 し のセ ッ ト が必要です。 読み出 し DQS は、 PHASER_IN で read_data_offset 値を確立する ために必要です。 デザ イ ンが こ の段階で停止 し た場合、 メ モ リ での DQS の品質を確認 し て く だ さ い。 • read_data_offset 値を調べます。 2 セ ッ ト の read_data_offset 値があ り 、 こ れ ら を比較す る 必要があ り ます。 ° DQSFOUND キ ャ リ ブ レーシ ョ ンの最後に算出 さ れた読み出 し デー タ オ フ セ ッ ト を判断す る には、 dbg_rd_data_offset_0、 dbg_calib_data_offset_1 (2 つ以上のバン ク が使用 さ れてい る 場合のみ)、 dbg_calib_data_offset_2 (3 つのバン ク が使用 さ れてい る 場合のみ) を調べます。 ° 通常操作の読み出 し で使用 さ れ る デー タ オ フ セ ッ ト を決定する には、dbg_data_offset、dbg_data_offset_1 (2 つ以上のバン ク が使用 さ れてい る 場合のみ)、 dbg_data_ofset_2 (3 つのバン ク が使用 さ れてい る 場合 のみ) を調べます。 - こ れ ら の信号は、 読み出 し 、 書 き 込み、 お よ びデー タ 以外の コ マ ン ド で異な り ま す。 書 き 込み中は、 CWL + 2 + ス ロ ッ ト 番 号 に な り ま す。 デー タ 以外 の コ マ ン ド 中 は 0 に な り ま す。 読み出 し 中 は、 DQSFOUND キ ャ リ ブ レーシ ョ ンで算出 さ れた値 (dbg_rd_data_offset_0、 dbg_rd_data_offset_1、 お よ び dbg_rd_data_offset_2) に一致す る 必要があ り ます。 • キ ャ リ ブ レーシ ョ ン中 と 通常操作の読み出 し 中に使用 さ れ る 読み出 し デー タ オ フ セ ッ ト を比較 し ます。こ れ ら の 値は、 CWL が正の読み出 し では一致 し 、 CWL が負の読み出 し では 1 ずれてい る 必要があ り ます。 CWL 値が負 の場合、 メ モ リ コ ン ト ロ ー ラ ーに よ り 読み出 し /書 き 込みが slot1 に割 り 当て ら れ る ため (CWL 値が正の場合は slot0)、 オ フ セ ッ ト が 1 追加 さ れます。 • 読み出 し デー タ オ フ セ ッ ト は、 CL (読み出 し レ イ テ ン シ) + 4 以上か、 PCB の往復遅延の 5 メ モ リ サ イ ク ル以上 であ る 必要があ り ます。 低周波数の DDR2 イ ン タ ーフ ェ イ ス では、 読み出 し デー タ オ フ セ ッ ト が CL (読み出 し レ イ テ ン シ) と 同 じ にな る 可能性があ り ます。 • エ ラ ーが発生 し た場合 と 発生 し ない場合の違いを知 る ため、 CK/ア ド レ ス/ コ マ ン ド /制御バ イ ト レーンの PHASER_OUT 段階 2 の遅延 も 調べ る 必要があ り ます。 Vivado ロ ジ ッ ク 解析機能で、 dbg_pi_dqsfound_done を ト リ ガー と し 、 dbg_po_counter_read_val 信号を使用 し て、 CK PHASER_OUT 段階 2 の遅延を調べます。 • こ の段階でエ ラ ーが発生 し た場合 (pi_dqsfound_err = 1)、 dbg_calib_rd_data_offset/_1/_2 に算出 さ れたオ フ セ ッ ト があ る か ど う か を確認 し ま す。 オ フ セ ッ ト がない場合は、 エ ラ ーの発生 し たバ ン ク に関連す る DQS 信号を それぞれプ ロ ーブ し 、 シ グナル イ ン テ グ リ テ ィ を解析 し ます。 pi_dqsfound_err がアサー ト さ れ、 エ ラ ーが DQSFOUND キ ャ リ ブ レーシ ョ ン中に発生 し てい る こ と が示 さ れてい る 場合は、 pi_dqsfound_err = 1 を ト リ ガー と し て使用 し ます。 こ の段階が正常に完了 し てい る 場合は (pi_dqsfound_done = 1)、 pi_dqsfound_done = R を ト リ ガー と し て使用 し て段階が ど の よ う に完了 し たか を解 析 し ます。 dbg_rd_data_offset、 dbg_calib_rd_data_offest_1、 お よ び dbg_calib_rd_data_offest _2 の値を調 べ、 その差が 1 以内であ る 必要があ り ます。 次に、 こ れ ら の値を通常操作の読み出 し で使用 さ れ る dbg_data_offset、 dbg_data_offset_1、 お よ び dbg_data_offset_2 信号の値 と 比較 し ま す。 結果 を 7 シ リ ーズ DDR3 キ ャ リ ブ レーシ ョ ン結果ス プ レ ッ ド シー ト に記録 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 205 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-101 : DQSFOUND キ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 信号名 説明 dbg_pi_dqsfound_start DQSFOUND 段階の開始を示 し ます。 dbg_pi_dqsfound_done DQSFOUND 段階が正 し く 完了 し た こ と を示 し ます。 dbg_pi_dqsfound_err DQSFOUND 段階でエ ラ ーが発生 し 、 完了 し なか っ た こ と を示 し ます。 dbg_rd_data_offset_0 キ ャ リ ブ レーシ ョ ンで算出 さ れた読み出 し デー タ オ フ セ ッ ト です。 dbg_calib_rd_data_offset_1 キ ャ リ ブ レーシ ョ ンで算出 さ れた読み出 し デー タ オ フ セ ッ ト です。 dbg_calib_rd_data_offset_2 キ ャ リ ブ レーシ ョ ンで算出 さ れた読み出 し デー タ オ フ セ ッ ト です。 dbg_data_offset 通常動作中に使用 さ れ る デー タ オ フ セ ッ ト です。 値は、 書 き 込み、 読み出 し 、 お よ びア イ ド ルで異な り ます。 書き 込み中は、 CWL +2 + ス ロ ッ ト 番号にな り ます。 デー タ 以外の コ マ ン ド 中は 0 に な り ま す。 読み出 し 中は、 DQSFOUND キ ャ リ ブ レ ーシ ョ ン で算出 さ れた値 (rd_data_offset_ranks) に一致する 必要があ り ます。 dbg_data_offset_1 通常動作中に使用 さ れ る デー タ オ フ セ ッ ト です。 値は、 書 き 込み、 読み出 し 、 お よ びア イ ド ルで異な り ます。 書き 込み中は、 CWL +2 + ス ロ ッ ト 番号にな り ます。 デー タ 以外の コ マ ン ド 中は 0 に な り ま す。 読み出 し 中は、 DQSFOUND キ ャ リ ブ レ ーシ ョ ン で算出 さ れた値 (rd_data_offset_ranks) に一致する 必要があ り ます。 dbg_data_offset_2 通常動作中に使用 さ れ る デー タ オ フ セ ッ ト です。 値は、 書 き 込み、 読み出 し 、 お よ びア イ ド ルで異な り ます。 書き 込み中は、 CWL +2 + ス ロ ッ ト 番号にな り ます。 デー タ 以外の コ マ ン ド 中は 0 に な り ま す。 読み出 し 中は、 DQSFOUND キ ャ リ ブ レ ーシ ョ ン で算出 さ れた値 (rd_data_offset_ranks) に一致する 必要があ り ます。 Vivado ロ ジ ッ ク解析に示 さ れる結果 X-Ref Target - Figure 1-95 図 1-95 : Vivado ロ ジ ッ ク解析に示 さ れる結果 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 206 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ラ イ ト レ ベ リ ング エ ラ ーのデバ ッ グ (dbg_wrlvl_err = 1) キ ャ リ ブ レーシ ョ ンの概要 DDR3 SDRAM の新機能で あ る ラ イ ト レベ リ ン グ を使用す る と 、 コ ン ト ロ ー ラ ーが各書 き 込み DQS の位相を DDR3 SDRAM デバ イ スへ転送 さ れた CK に対 し て個別に調整で き ます。 こ れに よ り 、 DQS と CK 間の ス キ ュ ーが補正 さ れ、 tDQSS 仕様が満た さ れます。 こ の段階では、 PHY ロ ジ ッ ク が PHY 制御ブ ロ ッ ク への Write_Calib_N 入力を アサー ト し 、 ラ イ ト レベ リ ン グが開始 し た こ と を示 し ます。 PHY 制御ブ ロ ッ ク に対 し て周期的な書 き 込み要求が発行 さ れ、 周期的な DQS パル ス が生成 さ れ ま す。 PHASER_IN が フ リ ー ラ ン ニ ン グ ク ロ ッ ク を 出力 し 、 DQ IN_FIFO への DQ フ ィ ー ド バ ッ ク を キ ャ プチ ャ し ます。PHASER_OUT の細精度お よ び粗精度 タ ッ プ を使用 し て、 フ ィ ー ド バ ッ ク DQ に 0 か ら 1 への遷移が発生す る ま で、 DQS を 1 タ ッ プずつ位相シ フ ト し ます。 キ ャ リ ブ レ ー シ ョ ン プ ロ セ ス 中、 ラ イ ト レ ベ リ ン グ は 3 つの時点で実行 さ れ ま す。 メ モ リ の初期化の完了後、 PHASER_OUT の細精度お よ び粗精度 タ ッ プ値は 0 に設定 さ れます。 その後、 ラ イ ト レベ リ ン グが実行 さ れて DQS が CK に揃え ら れ ます。 OCLKDELAYED キ ャ リ ブ レーシ ョ ン の完了後、 初期 ラ イ ト レベ リ ン グでの粗精度 タ ッ プ値は 保持 さ れ、 細精度 タ ッ プ値は 0 に リ セ ッ ト さ れます。 こ こ で ラ イ ト レベ リ ン グが も う 一度実行 さ れ、 DQS と CK の関 係が正 し い こ と が確認 さ れます。 最後に、 書 き 込みキ ャ リ ブ レーシ ョ ン中は細精度お よ び粗精度遅延はは保持 さ れ、 必要に応 じ て最終的な調整が実行 さ れ ます。 書 き 込みキ ャ リ ブ レーシ ョ ン中は、 適切なパ タ ーン が検出 さ れ る 必要があ り ます。 ラ イ ト レベ リ ン グ で DQS が不正な CK ク ロ ッ ク に揃え ら れてい る 場合は、最終的な PHASER_OUT の細精度お よ び粗精度遅延調整に よ り 、 DQS を CK ク ロ ッ ク の 2 サ イ ク ルま で移動す る 必要があ り ます。 こ のセ ク シ ョ ン では、 こ れ ら の各調整後に書 き 込み レベ リ ン グ結果を キ ャ プチ ャ す る 方法を示 し ます。 デバ ッ グ • ボー ド 上で DQS が ト グル し てい る こ と を確認 し ます。 ラ イ ト レベ リ ン グ中、 FPGA か ら DQS が送信 さ れます。 DQS が ト グル し ていない場合は、 セ ッ ト ア ッ プに問題があ り ます。 「汎用チ ェ ッ ク 」 セ ク シ ョ ン を詳細に確認 し て く だ さ い。 • ボー ド に フ ラ イ バ イ 配線が正 し く イ ンプ リ メ ン ト さ れてい る こ と を確認 し ます。 • CK か ら DQS への ト レース配線を確認 し ます。 CK ク ロ ッ ク は DQS よ り 長い必要があ り ます。 DQS/DQS# に対す る CK/CK# の追加の総電気的遅延は 150ps を推奨 し ますが、 0ps よ り 大 き い任意の値を使用で き ます。 • モー ド レ ジ ス タ を正 し く 設定 し 、 ラ イ ト レベ リ ン グ を有効にす る 必要があ り ます。 具体的には、 ビ ッ ト A7 が正 し く 設定 さ れてい る 必要があ り ます。 MIG で選択 し たデバ イ ス が正 し い も のでない場合や、 ボー ド 上のア ド レ ス ビ ッ ト に接続の問題があ る 場合は、 問題 と な り ます。 モー ド レ ジ ス タ で ラ イ ト レベ リ ン グが有効に設定 さ れて いない場合、 0 か ら 1 への遷移は発生 し ません。 注記 : ア ド レ ス ミ ラ ー リ ン グが使用 さ れてい る デュ アル ラ ン ク デザ イ ンでは、 ア ド レ ス ビ ッ ト A7 は 2 つの ラ ン ク で異な り ます。 • dbg_wrlvl_err が 1 にアサー ト さ れた場合、 エ ラ ーが発生 し た ラ イ ト レベ リ ン グが 3 つの段階の どれであ る か を判断す る 必要があ り ます。 ILA ト リ ガーを dbg_wrlvl_err = R に設定 し 、 ほかの DDR の基本的な信号を 調べて ど の段階が完了 し てい る か を確認 し ます。 a. PHASELOCK お よ び DQSFOUND のみが完了 し てい る 場合は、 最初の ラ イ ト レベ リ ン グでエ ラ ーが発生 し て い ます。 b. dbg_wrcal_start がアサー ト さ れていない場合は、 ラ イ ト レベ リ ン グ エ ラ ーは OCLKDELAYED キ ャ リ ブ レーシ ョ ンの後に発生 し てい ます。 c. dbg_wrcal_start がアサー ト さ れ、 dbg_wrcal_done がアサー ト さ れていない場合は、 書 き 込みキ ャ リ ブ レーシ ョ ン中の最後の ラ イ ト レベ リ ン グでエ ラ ーが発生 し てい ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 207 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • • dbg_wrlvl_done が 1 にアサー ト さ れてお り 、 各 ラ イ ト レベ リ ン グ段階の結果を調べ る 必要があ る 場合は、 次 の 3 つの ILA ト リ ガーを個別に使用 し て、 各段階の ラ イ ト レベ リ ン グの タ ッ プ値を キ ャ プチ ャ し ます。 ラ イ ト レベ リ ン グが ど の よ う に完了 し てい る か を調べ る と 、 異な る DQS バ イ ト グループでの タ ッ プ値の違いを確認す る のに有益です。 a. dbg_wrlvl_done = R b. dbg_wrcal_start = R c. init_calib_complete = R 各段階での ラ イ ト レベ リ ン グ結果を キ ャ プチ ャ する には、 VIO 上の dbg_dqs を変更/ イ ン ク リ メ ン ト し 、 前述の 適切な ト リ ガーを設定 し ます。 タ ッ プ結果を調べ、 7 シ リ ーズ DDR3 キ ャ リ ブ レーシ ョ ン結果ス プ レ ッ ド シー ト に記録 し ます。 MIG の新 し い リ リ ース には、 すべての DQS バ イ ト グループの結果が含まれてお り 、 dbg_dqs を 使用す る 必要はあ り ません。 注記 : DQS バ イ ト グループ間での タ ッ プの変動は、 フ ラ イ バ イ 配線に よ り 異な り ます。 表 1-102 : ラ イ ト レ ベ リ ング キ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 信号名 説明 dbg_wrlvl_start ラ イ ト レベ リ ン グ段階の開始を示 し ます。 dbg_wrlvl_done ラ イ ト レベ リ ン グ段階が正 し く 完了 し た こ と を示 し ます。 dbg_wrlvl_err ラ イ ト レベ リ ン グ段階でエ ラ ーが発生 し 、 完了 し なか っ た こ と を示 し ます。 wl_state_r ラ イ ト レベ リ ン グ ス テー ト マシ ンの ス テー ト 変数。 ス テー ト は、 ddr_phy_wrlvl.v モジ ュ ールでデ コ ー ド さ れます。 dbg_dqs_cnt_r ラ イ ト レベ リ ン グ中にキ ャ リ ブ レーシ ョ ン さ れ る DQS バ イ ト グループ を示 し ま す。 ラ イ ト レベ リ ン グが正 し く 完了す る か、 DQ で 0 か ら 1 への遷移が検出 さ れな いためにデー タ バ イ ト グループでエ ラ ーが発生す る ま で、DQS バ イ ト グループが 順に処理 さ れます。 dbg_wl_edge_detect_valid_r ラ イ ト レベ リ ン グ アルゴ リ ズ ムでエ ッ ジ を検索す る 有効時間を示 し ます。 dbg_rd_data_edge_detect_r_by_dqs ラ イ ト レベ リ ン グ キ ャ リ ブ レーシ ョ ンで 0 か ら 1 へのエ ッ ジ遷移が検出 さ れた こ と を示 し ます。 dbg_wl_po_fine_cnt_by_dqs ラ イ ト レベ リ ン グで算出 さ れた PHASER_OUT の細精度 タ ッ プ を示 し ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_phy_wrlvl_128_75 ラ イ ト レベ リ ン グで算出 さ れた PHASER_OUT の細精度 タ ッ プ を示 し ます。 dbg_wl_po_coarse_cnt_by_dqs ラ イ ト レベ リ ン グで算出 さ れた PHASER_OUT の粗精度 タ ッ プ を示 し ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_phy_wrlvl_155_129 ラ イ ト レベ リ ン グで算出 さ れた PHASER_OUT の粗精度 タ ッ プ を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 208 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado ロ ジ ッ ク解析に示 さ れる結果 X-Ref Target - Figure 1-96 図 1-96 : ト リ ガー = dbg_wrlvl_done X-Ref Target - Figure 1-97 図 1-97 : ト リ ガー = dbg_wrcal_start Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 209 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-98 図 1-98 : ト リ ガー = init_calib_complete MPR リ ー ド レ ベ リ ン グ エ ラ ー – DDR3 のみ (dbg_rdlvl_err[1] = 1) キ ャ リ ブ レーシ ョ ンの概要 こ の段階では、 書 き 込み DQS は書 き 込み DQ ウ ィ ン ド ウ の中央に位置 し てお ら ず、 読み出 し DQS も 読み出 し DQ ウ ィ ン ド ウ の中央に位置 し てい ません。 DDR3 汎用レ ジ ス タ (MRP) は、 読み出 し DQS を読み出 し DQ ウ ィ ン ド ウ の中央に 位置 さ せ る ために使用 し ます。MRP にはあ ら か じ め定義 さ れた 01010101 ま たは 10101010 パ タ ーンがあ り 、 こ のキ ャ リ ブ レーシ ョ ン段階で リ ー ド バ ッ ク さ れ ます。 読み出 し DQS を中央に位置 さ せ る こ と は、 次のキ ャ リ ブ レーシ ョ ン 段階であ る OCLKDELAYED キ ャ リ ブ レーシ ョ ンで必要です。 デバ ッ グ • こ の段階でエ ラ ーが発生 し た場合 (dbg_rdlvl_err[1] がアサー ト )、 ILA ト リ ガーを dbg_rdlvl_err[1] に 設定 し ます。 • こ の段階が正常に完了 し 、 結果を解析す る 必要があ る 場合は、 dbg_rdlvl_done[1] = R を ト リ ガー と し て使用 し ます。 • 各バ イ ト の VIO dbg_dqs を設定 し 、 次の信号を キ ャ プチ ャ し て、 各バ イ ト の結果を 7 シ リ ーズ DDR3 キ ャ リ ブ レーシ ョ ン結果ス プ レ ッ ド シー ト に記録 し ます。 MIG の新 し い リ リ ース には、 すべての DQS バ イ ト グループの 結果が含まれてお り 、 dbg_dqs を使用する 必要はあ り ません ? 表 1-103 : MPR リ ー ド レ ベ リ ング キ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 信号名 説明 dbg_rdlvl_start[1] MPR 段階の開始を示 し ます。 dbg_rdlvl_done[1] MPR 段階が正 し く 完了 し た こ と を示 し ます。 dbg_rdlvl_err[1] MPR 段階でエ ラ ーが発生 し 、 完了 し なか っ た こ と を示 し ます。 cal1_state_r MPR お よ び リ ー ド レベ リ ン グ段階 1 の ス テー ト マシ ン変数です。ス テー ト は、 ddr_phy_rdlvl.v モジ ュ ールでデ コ ー ド さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 210 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-103 : MPR リ ー ド レ ベ リ ング キ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 (続き) 信号名 説明 cal1_cnt_cpt_r MPR リ ー ド レベ リ ン グ ま たは リ ー ド レベ リ ン グ段階 1 でエ ラ ーが発生 し たバ イ ト を示 し ます。 dbg_cpt_first_edge_cnt_by_dqs MPR お よ び リ ー ド レ ベ リ ン グ段階 1 で最初のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_cpt_first_edge_cnt MPR お よ び リ ー ド レ ベ リ ン グ段階 1 で最初のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 dbg_cpt_second_edge_cnt_by_dqs MPR お よ び リ ー ド レベ リ ン グ段階 1 で 2 番目のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_cpt_second_edge_cnt MPR お よ び リ ー ド レベ リ ン グ段階 1 で 2 番目のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 dbg_cpt_tap_cnt_by_dqs 最初のエ ッ ジお よ び 2 番目のエ ッ ジがいつ検出 さ れたかに基づいて移動 さ れた中央 タ ッ プ を示 し ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定 に よ り ます。 dbg_cpt_tap_cnt 最初のエ ッ ジお よ び 2 番目のエ ッ ジがいつ検出 さ れたかに基づいて移動 さ れた中央 タ ッ プ を示 し ます。 dbg_dq_idelay_tap_cnt_by_dqs MPR お よ び リ ー ド レベ リ ン グ段階 1 の IDELAY タ ッ プ値です。 こ の値 は、すべての DQS バ イ ト グループで 2 ~ 3 タ ッ プ内であ る 必要があ り ま す。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_dq_idelay_tap_cnt MPR お よ び リ ー ド レベ リ ン グ段階 1 の IDELAY タ ッ プ値です。 こ の値 は、すべての DQS バ イ ト グループで 2 ~ 3 タ ッ プ内であ る 必要があ り ま す。 • 常に各 コ ン ポーネ ン ト の DQ[0] を調べます。 メ モ リ デバ イ ス は、 すべての DQ ビ ッ ト ま たは JEDEC 規格で指定 さ れた DQ[0] に 01010101 ま たは 10101010 パ タ ーン を送信 し ます。 MIG デザ イ ンでは、 DQ[0] のみがチ ェ ッ ク さ れます。 DQ[0] に問題があ る 場合、 MPR キ ャ リ ブ レーシ ョ ン段階はエ ラ ー と な り ます。 • こ の段階であ る DQS バ イ ト グループがエ ラ ー と な っ た場合、cal1_cnt_cpt_r はエ ラ ーの発生 し たバ イ ト 番号 に設定 さ れ、 それ以降は変更 さ れません。 • エ ラ ーの発生 し た DQS バ イ ト の dq_idelay_tap_cnt 値が 31 であ る か を確認 し ます。 こ れは、 アルゴ リ ズ ム でキ ャ プチ ャ エ ッ ジ を検索中に タ ッ プ を使い切っ て し ま っ た こ と を示 し ます。 • MPR リ ー ド レベ リ ン グ中の各バ イ ト の dq_idelay_tap_cnt、 cpt_first_edge_cnt、 cpt_second_edge_cnt、 お よ び cpt_tap_cnt 値を確認お よ び比較 し ます。 • 各バ イ ト グループの idelay_tap_cnt を確認 し ます。 DQS バ イ ト グループ間での idelay_tap_cnt の変動 は、 2 ~ 3 タ ッ プであ る 必要があ り ます。 • エ ッ ジがい く つ検出 さ れてい る か を確認 し ます (2 ま で)。400MHz 付近ま たはそれ以下で動作 し てい る 場合は、検 出 さ れ る エ ッ ジ数が 1 以下であ る こ と があ り ます。 それ以外の場合は、 検出 さ れ る エ ッ ジ数は 2 であ る 必要があ り ます。 • 高質のプ ロ ーブお よ びス コ ープ を使用 し 、ア ド レ ス/ コ マ ン ド をプ ロ ーブ し て MPR を有効にす る DRAMへの ロ ー ド レ ジ ス タ コ マ ン ド が正 し い こ と を 確認 し ま す。 MPR を 有効にす る に は、 MR3 レ ジ ス タ に対 し て MODE Register Set (MRS) (モー ド レ ジ ス タ の設定) コ マ ン ド 発行 し て ビ ッ ト A2 を 1 に設定 し ま す。 こ れを計測す る に は、 mpr_rdlvl_start を I/O ピ ンに取 り 出 し て ト リ ガー と し て使用 し 、 A2 (1 であ る 必要があ る ) と WE_N (0 で あ る 必要があ る ) を キ ャ プチ ャ し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 211 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado ロ ジ ッ ク解析に示 さ れる結果 X-Ref Target - Figure 1-99 図 1-99 : ト リ ガー = dbg_rdlvl_done[1] OCLKDELAYED キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ キ ャ リ ブ レーシ ョ ンの概要 7 シ リ ーズ MMCM には、 細精度位相シ フ ト 機能付 き の出力があ り ます。 こ の細精度位相シ フ ト 機能は、 比較的一定 の比率で非常に細かい精度 と な り ます。 こ のアルゴ リ ズ ムは、 Phaser_Out 段階 3 の タ ッ プ値を使用 し て、 デー タ 有効 ウ ィ ン ド ウ のエ ッ ジ、 ま た は ノ イ ズ領域のエ ッ ジ のいずれか を 2 つ以上検出 し ま す。 検出 し た こ れ ら のエ ッ ジ に MMCM ク ロ ッ ク を揃え る ために、 MMCM 細精度位相シ フ ト を使用 し 、 MMCM タ ッ プ を利用 し てデー タ 有効ウ ィ ン ド ウ の中央を判断 し ます。 最後に、 書 き 込み DQS が、 Phaser_Out 段階 3 の タ ッ プに よ っ てすでに中央に配置 さ れた MMCM ク ロ ッ ク のエ ッ ジに揃え ら れます。 こ の ス テ ッ プには、 次の 3 つのサブ ス テージがあ り ます。 1. 各バ イ ト に MMCM を使用 し て、 OCLKDELAY キ ャ リ ブ レーシ ョ ンの Phaser_Out 段階 3 の リ ミ ッ ト を設定 し ま す。 こ の段階では、 エ ッ ジ検出サブ ス テージ中に段階 3 タ ッ プの リ ミ ッ ト を決定 し ます。 2. シ ンプルなパ タ ーン を使用 し て、書 き 込み DQ ウ ィ ン ド ウ のエ ッ ジ を検出 し ます。 こ れ ら のモジ ュ ールは、 リ ミ ッ ト モジ ュ ールで決定 さ れた リ ミ ッ ト 範囲内の段階 3 タ ッ プ値を使用 し て書 き 込み DQ ウ ィ ン ド ウ を ス キ ャ ンす る こ と で、 エ ッ ジ検出を行い ます。 3. MMCM 位相シ フ ト 機能を使用 し て、 書 き 込み DQ ウ ィ ン ド ウ の中央に DQS を配置 し ます。 こ の中央揃えのサブ ス テージでは、 エ ッ ジ検出段階で検出 さ れたエ ッ ジに基づいて、 書 き 込み DQ ウ ィ ン ド ウ の中央に書 き 込み DQS を配置 し ます。 デバ ッ グ 非現実的ですが、 エ ッ ジが検出 さ れなか っ た場合、 こ の段階のキ ャ リ ブ レーシ ョ ン でエ ラ ーが発生す る 可能性があ り ます。 OCLKDELAYED キ ャ リ ブ レーシ ョ ンが最適でない場合、 通常の操作でデー タ ビ ッ ト エ ラ ーが発生す る 可能性 があ り ます。 こ れは、 DQS と DQ の 90 度の関係が正 し く ないために発生 し ます。 こ のキ ャ リ ブ レーシ ョ ン段階を詳細 に解析す る こ と が重要です。 • メ モ リ で DQS と DQ の位相関係を プ ロ ーブ し ます。 DQS は DQ の中央に位置 し てい る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 212 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • dbg_oclkdelay_calib_done = R を ILA ト リ ガー と し て使用 し 、次の信号を キ ャ プチ ャ し て、結果を 7 シ リ ー ズ DDR3 キ ャ リ ブ レーシ ョ ン結果ス プ レ ッ ド シー ト に記録 し ます。 • エ ッ ジがい く つ検出 さ れてい る か を確認 し ます (最大 3 つ)。 書 き 込みレベルの タ ッ プ値が 56 タ ッ プ程度の と き に、 400MHz 付近ま たはそれ以上の周波数で動作 し てい る 場合、 3 個に満た ないエ ッ ジ し か検出で き ない場合が あ り ます。 表 1-104 : OCLKDELAYED キ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 信号名 説明 dbg_oclkdelay_calib_start OCLKDELAY 段階の開始を示 し ます。 dbg_oclkdelay_calib_done OCLKDELAY 段階の終了を示 し ます。 dbg_phy_oclkdelay_zfo[0] こ の信号が 1 の場合、 立ち下が り ウ ィ ン ド ウ の左エ ッ ジが検出 さ れた こ と を示 し 、 立ち 下が り ウ ィ ン ド ウ の左エ ッ ジの タ ッ プ値 と し て fuzz2oneeighty を有効に し ます。 dbg_phy_oclkdelay_zfo[1] こ の信号が 1 の場合、 立ち上が り ウ ィ ン ド ウ の左エ ッ ジが検出 さ れた こ と を示 し 、 立ち 上が り ウ ィ ン ド ウ の左エ ッ ジの タ ッ プ値 と し て fuzz2zero を有効に し ます。 dbg_phy_oclkdelay_zfo[2] こ の信号が 1 の場合、 立ち下が り ウ ィ ン ド ウ の右エ ッ ジが検出 さ れた こ と を示 し 、 立ち 下が り ウ ィ ン ド ウ の右エ ッ ジの タ ッ プ値 と し て oneeighty2fuzz を有効に し ます。 dbg_phy_oclkdelay_zfo[3] こ の信号が 1 の場合、 立ち上が り ウ ィ ン ド ウ の右エ ッ ジが検出 さ れた こ と を示 し 、 立ち 上が り ウ ィ ン ド ウ の右エ ッ ジの タ ッ プ値 と し て zero2fuzz を有効に し ます。 dbg_ocal_fuzz2oneeighty 立ち下が り ウ ィ ン ド ウ の左端の段階 3 の タ ッ プ値を示 し ます。 dbg_ocal_fuzz2zero 立ち上が り ウ ィ ン ド ウ の左端の段階 3 の タ ッ プ値を示 し ます。 dbg_ocal_oneeighty2fuzz 立ち下が り ウ ィ ン ド ウ の右端の段階 3 の タ ッ プ値を示 し ます。 dbg_ocal_zero2fuzz 立ち上が り ウ ィ ン ド ウ の右端の段階 3 の タ ッ プ値を示 し ます。 dbg_ocal_oclkdelay_calib_cnt キ ャ リ ブ レー ト さ れてい る バ イ ト を示すバ イ ト カ ウ ン ト です。 dbg_ocal_lim_done 段階 3 の下限/上限が決定 さ れた こ と を示 し ます。 dbg_ocal_stg3_lim_left 段階 3 の下限です。 dbg_ocal_stg3_lim_right 段階 3 の上限です。 phy_oclkdelay_cal_taps イ ン タ ーフ ェ イ ス のすべてのバ イ ト に対す る 段階 3 の最終 タ ッ プ値を示 し ます。バ イ ト 0 はビ ッ ト [5:0]、 バ イ ト 1 はビ ッ ト [11:6] と な り ます。 dbg_ocal_center_calib_start エ ッ ジ検出が終了 し 、 有効ウ ィ ン ド ウ内におけ る 中央揃えの開始を示 し ます。 dbg_ocal_center_calib_done キ ャ リ ブ レーシ ョ ンの中央揃え段階の終了を示 し ます。 dbg_ocal_tap_cnt 各グループのキ ャ リ ブ レーシ ョ ン中の段階 3 の タ ッ プ値です。 dbg_ocal_scan_win_not_found 1 の場合、 ウ ィ ン ド ウ エ ッ ジが検出 さ れた こ と を示 し ます。 書き込みキ ャ リ ブ レーシ ョ ンのデバ ッ グ (dbg_wrcal_err = 1) キ ャ リ ブ レーシ ョ ンの概要 DQS 信号を正 し い CK エ ッ ジに揃え る ために書 き 込みキ ャ リ ブ レーシ ョ ンが必要です。 ラ イ ト レベ リ ン グ中に、 DQS は CK 信号の直近の立ち上が り エ ッ ジに揃え ら れます。ただ し 、こ のエ ッ ジは書 き 込み コ マ ン ド を キ ャ プチ ャ す る エ ッ ジではない場合があ り ます。 イ ン タ ーフ ェ イ ス の タ イ プ (UDIMM、 RDIMM、 ま たは コ ン ポーネ ン ト ) に よ っ て、 DQS は書 き 込み コ マ ン ド を キ ャ プ チ ャ す る CK エ ッ ジの 1 サ イ ク ル前、 2 サ イ ク ル前、 ま たは同 じ サ イ ク ルにな り ます。 こ れはパ タ ーン ベース のキ ャ リ ブ レーシ ョ ン なので、 こ の段階では複数書 き 込みの後に読み出 し が 1 回発行 さ れ ま す。 次の よ う なデー タ パ タ ーンが見 ら れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 213 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • 1 回の書 き 込みパ タ ーンの リ ー ド バ ッ ク – FF00AA5555AA9966 • 1 CK 早い書 き 込みパ タ ーンの リ ー ド バ ッ ク – AA5555AA9966BB11 • 2 CK 早い書 き 込みパ タ ーンの リ ー ド バ ッ ク – 55AA9966BB11EE44 • 1 CK 遅い書 き 込みパ タ ーンの リ ー ド バ ッ ク – XXXXFF00AA5555AA ° こ のパ タ ーンはキ ャ リ ブ レーシ ョ ンで修正で き ません。 こ のパ タ ーンは、 ト レース遅延が不正で、 CK が不 正に DQS よ り 短 く な っ てい る こ と を示 し ます。 読み出 し 中に上記のパ タ ーンが検出 さ れなか っ た場合は、 MPR リ ー ド レベ リ ン グの IDELAY 設定が不正であ る と 認 識 さ れ、 そのバ イ ト に関連付け ら れてい る DQ ビ ッ ト の IDELAY が 0 に設定 さ れます。 01010101 ま たは 10101010 パ タ ーンでは ク ロ ッ ク サ イ ク ルを区別す る こ と がで き ないため、 MPR リ ー ド レベ リ ン グの IDELAY 設定が不正にな る こ と があ り ます。 デバ ッ グ dbg_wrcal_err が ア サ ー ト さ れ 書 き 込 み キ ャ リ ブ レ ー シ ョ ン で エ ラ ー が 発 生 し た こ と が 示 さ れ た 場合 は、 dbg_wrcal_err = R を ト リ ガー と し て次のデバ ッ グ信号を確認 し ます。 dbg_wrcal_done がアサー ト さ れていて、 こ の段階を解析す る 必要があ る 場合は、 dbg_wrcal_done を ト リ ガー と し て使用 し ます。 表 1-105 : 書き込みキ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 信号名 説明 dbg_wrcal_start 書 き 込みキ ャ リ ブ レーシ ョ ン段階の開始を示 し ます。 dbg_wrcal_done 書 き 込みキ ャ リ ブ レーシ ョ ン段階が正 し く 完了 し た こ と を示 し ます。 dbg_wrcal_err 書 き 込みキ ャ リ ブ レーシ ョ ン段階でエ ラ ーが発生 し 、 完了 し なかっ た こ と を示 し ます。 pat_data_match 有効なパ タ ーンが検出 さ れ る と アサー ト さ れます。 pat_data_match_valid 正 し いパ タ ーンが検出 さ れ る と ト グル し ます。 wrcal_dqs_cnt 書き込みキ ャ リ ブ レーシ ョ ンで現在キ ャ リ ブ レーシ ョ ン さ れてい る DQS グループを示 し ます。 dbg_wrcal_start がアサー ト さ れる と 、 wrcal_dqs_cnt は 0 にな り ます。 DQS バ イ ト グループが順 に処理 さ れ、読み出 し データ パ ターンが FF00AA5555AA9966 パ ターンに一致する かがチ ェ ッ ク さ れ ま す。 パ タ ー ン が 一致す る と 、 wrcal_dqs_cnt が 1 イ ン ク リ メ ン ト し ま す。 そ の 後、 DQS_WIDTH - 1 に達する か、 ま たはデータ パ タ ーンが正 し く 検出 さ れないためにデータ バ イ ト グループでエ ラ ーが発生す る ま で、 次のバ イ ト で正 し いデー タ パ タ ーン が検索 さ れ ま す。 dbg_wrcal_done 信号がアサー ト さ れた後は、 wrcal_dqs_cnt は DQS_WIDTH - 1 に保持 さ れます。 cal2_state 書 き 込みキ ャ リ ブ レーシ ョ ン ス テー ト マシ ン変数。 not_empty_wait_cnt 書 き 込みキ ャ リ ブ レーシ ョ ン パ タ ーン検出中のカ ウ ン ト 値。 最大カ ウ ン ト は 0x1F です。 カ ウ ン ト 値が 0x1F に達す る と 、 書 き 込みキ ャ リ ブ レーシ ョ ンがエ ラ ー と な り 、 dbg_wrcal_err がア サー ト さ れます。 early1_data 検出 さ れたパターンが CK ク ロ ッ ク の 1 サ イ ク ル分早い場合にアサー ト さ れます。 アサー ト さ れ た場合、 ラ イ ト レベ リ ン グ アルゴ リ ズムに よ っ て CK ク ロ ッ ク が 1 サ イ ク ル移動 さ れます。 CK が移動 さ れた後、 書き込みキ ャ リ ブレーシ ョ ン アルゴ リ ズムがパターン検出を再度開始し ます。 early2_data 検出 さ れたパターンが CK ク ロ ッ ク の 2 サ イ ク ル分早い場合にアサー ト さ れます。 アサー ト さ れ た場合、 ラ イ ト レベ リ ン グ アルゴ リ ズムに よ っ て CK ク ロ ッ ク が 2 サ イ ク ル移動 さ れます。 CK が移動 さ れた後、 書き込みキ ャ リ ブレーシ ョ ン アルゴ リ ズムがパターン検出を再度開始し ます。 dbg_wcal_mux_rd_rise0_r 立ち上が り エ ッ ジ 0 で受信 さ れたデー タ パ タ ーンです。 dbg_wcal_mux_rd_fall0_r 立ち下が り エ ッ ジ 0 で受信 さ れたデー タ パ タ ーンです。 dbg_wcal_mux_rd_rise1_r 立ち上が り エ ッ ジ 1 で受信 さ れたデー タ パ タ ーンです。 dbg_wcal_mux_rd_fall1_r 立ち下が り エ ッ ジ 1 で受信 さ れたデー タ パ タ ーンです。 dbg_wcal_mux_rd_rise2_r 立ち上が り エ ッ ジ 2 で受信 さ れたデー タ パ タ ーンです。 dbg_wcal_mux_rd_fall2_r 立ち下が り エ ッ ジ 2 で受信 さ れたデー タ パ タ ーンです。 dbg_wcal_mux_rd_rise3_r 立ち上が り エ ッ ジ 3 で受信 さ れたデー タ パ タ ーンです。 dbg_wcal_mux_rd_fall3_r 立ち下が り エ ッ ジ 3 で受信 さ れたデー タ パ タ ーンです。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 214 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 1. dbg_wrcal_err がアサー ト さ れた と き の wrcal_dqs_cnt の値は、 書 き 込みキ ャ リ ブ レーシ ョ ン エ ラ ーの発 生 し たバ イ ト を示 し ます。 デバ ッ グは、 こ のバ イ ト グループに焦点を置いて実行 し ます。 2. rddata バ ス ま たは mux_rd_fall/riseX_r バ ス を調べ、 適切なデー タ パ タ ーン を見つけ ます。 mux_rd_fall/rise_2/3_r は 1/2 レー ト では使用 さ れず、 常に 0 にな り ます。 先ほ ど述べた よ う に、 次の 3 つ の状況では書 き 込みキ ャ リ ブ レーシ ョ ン を続行で き ます。 ° 1 回の書 き 込みに予測 さ れ る パ タ ーン – FF00AA5555AA9966 ° 1 サ イ ク ル早い書き 込みに予測 さ れ る パ タ ーン – AA5555AA9966BB11 ° 2 サ イ ク ル早い書き 込みに予測 さ れ る パ タ ーン – 55AA9966BB11EE44 3. エ ラ ーの発生 し たバ イ ト で こ れ ら の 3 つのパ タ ーンのいずれ も 検出 さ れない場合は、 エ ラ ーの発生 し てい る パ タ ーン を調べ、 パ タ ーンのエ ラ ーが ど の よ う に発生 し てい る か を確認 し ます。 バ イ ト 内、 エ ラ ー バ イ ト 、 お よ び その他のバ イ ト にエ ラ ー と な っ てい る DQ ビ ッ ト があ る か ど う か を確認 し ます。 上記の遅い書 き 込みパ タ ーンが 検出 さ れた場合は、DQS と CK の間の ト レース長に問題があ り 、CK が DQS よ り 短 く な っ てい る 可能性があ り ます。 4. デザ イ ンが書 き 込みキ ャ リ ブ レーシ ョ ン段階で停止 し た場合、 問題は書 き 込みま たは読み出 し のいずれかに関連 し て い ま す。 書 き 込 み と 読 み 出 し の ど ち ら で エ ラ ー が 発 生 し て い る か を 判 断 す る こ と は 重 要 で す。 dbg_wrcal_start を ス コ ー プ ト リ ガ ー と し て 使用 し て、 次 の 手順 を 実行 し ま す。 こ れ を 実行す る に は、 dbg_wrcal_start を I/O に取 り 出す必要があ り ます。 詳細お よ び読み出 し と 書 き 込みの ス コ ープ表示の例は、 「デー タ エ ラ ーの原因が書 き 込みであ る か読み出 し であ る かの判断」 を参照 し て く だ さ い。 a. 書 き 込みが正 し い こ と を確認す る には、高質のプ ロ ーブお よ びス コ ープ を使用 し て メ モ リ での書 き 込み DQS と 書 き 込み DQ の関係を調べます。 書き 込みキ ャ リ ブ レーシ ョ ン中、 書 き 込みの後に読み出 し が実行 さ れ る ので、 確実に書 き 込みがキ ャ プチ ャ さ れ る よ う にする 必要があ り ます。 詳細は、 「デー タ エ ラ ーの原因が書 き 込みであ る か読み出 し であ る かの判断」 を参照 し て く だ さ い。エ ラ ーの発生 し てい る ビ ッ ト があ る 場合は、 特定の DQ ビ ッ ト の書 き 込み DQS と 書 き 込み DQ の関係を調べ る こ と が重要です。 書 き 込み IDELEY では、 DQS が DQ ウ ィ ン ド ウ の中央に位置 さ れます。 書き 込みキ ャ リ ブ レーシ ョ ン中に DQS と DQ が正 し く 揃え ら れない場合、 OCLKDELAY キ ャ リ ブ レーシ ョ ン に問題があ り ま す。 「OCLKDELAYED キ ャ リ ブ レ ーシ ョ ン エ ラ ーのデバ ッ グ」 セ ク シ ョ ン を参照 し て く だ さ い。 b. DQ と DQS のア ラ イ メ ン ト が正 し い場合は、 次に高質のプ ロ ーブお よ びス コ ープ を使用 し て、 メ モ リ での WE_N と DQS の関係を調べます。 WE_N か ら DQS の遅延は、 CAS 書 き 込みレ イ テ ン シ (CWL) と 同 じ であ る 必要があ り ます。 c. 高質のプ ロ ーブお よ びス コ ープ を使用 し て、 書 き 込み中に予測 さ れ る パ タ ーン (FF00AA5555AA9966) が DRAM に書 き 込まれ、書 き 込みキ ャ リ ブ レーシ ョ ンの最初の読み出 し で予測 さ れ る パ タ ーンが読み出 さ れ る こ と を確認 し ます。 書 き 込みお よ び読み出 し で DRAM でのパ タ ーンが正 し い場合は、 DQS と CK のア ラ イ メ ン ト を確認 し ます。書 き 込みキ ャ リ ブ レーシ ョ ン中、 こ れ ら の 2 つの信号が揃え ら れてい る 必要があ り ます。 こ れ ら の信号は ラ イ ト レベ リ ン グで揃え ら れますが、こ れは書 き 込みキ ャ リ ブ レーシ ョ ンの前に正常に完了 し てい ます。 d. 書 き 込み コ マ ン ド 中の ODT お よ び WE_N をプ ロ ーブ し ます。 メ モ リ で ODT が適切にオンにな る よ う にす る には、 書 き 込み コ マ ン ド の前に ODT を アサー ト する 必要があ り ます。 e. DM を プ ロ ーブ し て、 キ ャ リ ブ レーシ ョ ン中 Low に保持 さ れてい る こ と を確認 し ます。 ボー ド に問題があ り 、 DM が不正にアサー ト さ れ る 場合、 キ ャ リ ブ レーシ ョ ン中に不正なデー タ が リ ー ド バ ッ ク さ れ、 書 き 込 みキ ャ リ ブ レーシ ョ ンでエ ラ ーが発生 し ます。 DM に関す る ボー ド の問題の例 と し ては、 DM が使用 さ れて お ら ず、 メ モ リ で不適切な終端を使用 し て Low に接続 さ れてい る な ど があ り ます。 5. メ モ リ デバ イ ス の まれな製造問題に よ り 、 書 き 込みキ ャ リ ブ レーシ ョ ン でエ ラ ーが発生す る 可能性 も あ り ます。 SDRAM ピ ンが正 し く 動作 し てい る こ と を確認 し ます。 未接続の信号ま たはグ ラ ン ド 接続 さ れてい る 信号を調べ ます。 デバ ッ グ信号で ど のバ イ ト グループでエ ラ ーが発生 し てい る か を確認 し 、 そのバ イ ト グループの特定の ピ ン が原因でデー タ パ タ ーンが不正にな っ ていないか を調べます。 メ モ リ デバ イ ス で こ れ ら の ピ ンに焦点をお き ます。 6. DQS と DQ、 CWL、 お よ び DQS と CK が正 し い場合は、 上記の 「MPR リ ー ド レベ リ ン グ エ ラ ー – DDR3 のみ (dbg_rdlvl_err[1] = 1)」 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 215 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado ロ ジ ッ ク解析に示 さ れる結果 X-Ref Target - Figure 1-100 図 1-100 : ト リ ガー = dbg_wrcal_done Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 216 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 1-101 図 1-101 : ト リ ガー = dbg_wrcal_done リ ー ド レ ベ リ ング エ ラ ーのデバ ッ グ (dbg_rdlvl_err[0] = 1) 400MHz 以上の メ モ リ ク ロ ッ ク 周波数では、 書き 込みキ ャ リ ブ レーシ ョ ンの後に リ ー ド レベ リ ン グが実行 さ れます。 キ ャ リ ブ レーシ ョ ンの概要 こ の段階で、 読み出 し DQS は最終的に読み出 し DQ の中央に位置す る よ う にな り ます。 まず IDELAY と PHASER_IN 段階 2 の タ ッ プ値 を 0 にデ ク リ メ ン ト し 、 MPR リ ー ド レ ベ リ ン グ を 取 り 消 し ま す。 MPR リ ー ド レ ベ リ ン グ は、 OCLKDELAYED キ ャ リ ブ レーシ ョ ンでのみ必要です。 こ の段階の リ ー ド レベ リ ン グでは、 993377EECC992244 デー タ パ タ ーン を使用 し て、 読み出 し DQS が読み出 し DQ ウ ィ ン ド ウ の中央に正確に配置 さ れます。 正 し く キ ャ リ ブ レー シ ョ ン さ れ る と 、 init_calib_complete 信号がアサー ト さ れ、 キ ャ リ ブ レーシ ョ ンが完了 し ます。 デバ ッ グ • こ の段階でエ ラ ーが発生 し た場合 (dbg_rdlvl_err[0] がアサー ト )、 ILA ト リ ガーを dbg_rdlvl_err[0] に 設定 し ます。 • こ の段階が正常に完了 し 、 結果を解析す る 必要があ る 場合は、 ILA ト リ ガーを dbg_rdlvl_done[0] = R に設 定 し ます。 • 各バ イ ト の VIO dbg_dqs を設定 し 、 次の信号を キ ャ プチ ャ し ます。 各バ イ ト の結果は、 7 シ リ ーズ DDR3 キ ャ リ ブ レーシ ョ ン結果ス プ レ ッ ド シー ト に記録 し ます。 MIG の新 し い リ リ ース には、 すべての DQS バ イ ト グルー プの結果が含ま れてお り 、 dbg_dqs を使用する 必要はあ り ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 217 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-106 : リ ー ド レ ベ リ ン グ段階 1 キ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 信号名 説明 dbg_rdlvl_start[0] リ ー ド レベ リ ン グ段階 1 の開始を示 し ます。 dbg_rdlvl_done[0] リ ー ド レベ リ ン グ段階 1 が正 し く 完了 し た こ と を示 し ます。 dbg_rdlvl_err[0] リ ー ド レベ リ ン グ段階 1 でエ ラ ーが発生 し 、完了 し なか っ た こ と を示 し ま す。 cal1_state_r MPR お よ び リ ー ド レベ リ ン グ段階 1 の ス テー ト マシ ン変数。ス テー ト は、 ddr_phy_rdlvl.v モジ ュ ールでデ コ ー ド さ れます。 cal1_cnt_cpt_r MPR リ ー ド レベ リ ン グ ま たは リ ー ド レベ リ ン グ段階 1 でエ ラ ーが発生 し たバ イ ト を示 し ます。 dbg_cpt_first_edge_cnt_by_dqs MPR お よ び リ ー ド レベ リ ン グ段階 1 で最初のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ま す。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_cpt_first_edge_cnt MPR お よ び リ ー ド レベ リ ン グ段階 1 で最初のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 dbg_cpt_second_edge_cnt_by_dqs MPR お よ び リ ー ド レベ リ ン グ段階 1 で 2 番目のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_cpt_second_edge_cnt MPR お よ び リ ー ド レベ リ ン グ段階 1 で 2 番目のエ ッ ジが検出 さ れた と き の PHASER_IN の細精度 タ ッ プ カ ウ ン ト を示 し ます。 dbg_cpt_tap_cnt_by_dqs 最初のエ ッ ジお よ び 2 番目のエ ッ ジがいつ検出 さ れたかに基づいて移動 さ れた中央 タ ッ プ を示 し ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_cpt_tap_cnt 最初のエ ッ ジお よ び 2 番目のエ ッ ジがいつ検出 さ れたかに基づいて移動 さ れた中央 タ ッ プ を示 し ます。 dbg_dq_idelay_tap_cnt_by_dqs MPR お よ び リ ー ド レベ リ ン グ段階 1 の IDELAY タ ッ プ値です。 こ の値は、 すべての DQS バ イ ト グループで 2 ~ 3 タ ッ プ内であ る 必要があ り ます。 バ イ ト キ ャ プチ ャ は VIO dbg_dqs の設定に よ り ます。 dbg_dq_idelay_tap_cnt MPR お よ び リ ー ド レベ リ ン グ段階 1 の IDELAY タ ッ プ値です。 こ の値は、 すべての DQS バ イ ト グループで 2 ~ 3 タ ッ プ内であ る 必要があ り ます。 • cal1_state_r を調べて、 ど の段階でエ ラ ーが発生 し てい る か を判断 し ます。 • 各バ イ ト グループの idelay_tap_cnt を確認 し ます。 DQS バ イ ト グループ間での idelay_tap_cnt の変動 は、 2 ~ 3 タ ッ プであ る 必要があ り ます。 • エ ッ ジがい く つ検出 さ れてい る か を確認 し ます (2 ま で)。400MHz 付近ま たはそれ以下で動作 し てい る 場合は、検 出 さ れ る エ ッ ジ数が 1 以下であ る こ と があ り ます。それ以外の場合は、IDELAY タ ッ プ を中央に位置 さ せ る ため、 検出 さ れ る エ ッ ジ数は 2 であ る 必要があ り ます。 • 正常に完了 し たバ イ ト があ る か ど う か を確認 し ます。 リ ー ド レベ リ ン グ アルゴ リ ズ ムに よ っ て各 DQS バ イ ト グ ループが順に処理 さ れ、 キ ャ プチ ャ エ ッ ジが検出 さ れます。 エ ラ ーが発生 し た場合、 cal1_cnt_cpt_r の値に エ ッ ジ検出がエ ラ ー と な っ たバ イ ト が示 さ れます。 • 不正なデー タ パ タ ーンが検出 さ れた場合、 エ ラ ーの原因が書 き 込みであ る か読み出 し であ る かを判断 し ます。詳 細は、 「デー タ エ ラ ーの原因が書 き 込みであ る か読み出 し であ る かの判断」 を参照 し て く だ さ い。 • dbg_rdlvl_err[0] がアサー ト さ れた場合 ( リ ー ド レベ リ ン グ エ ラ ー )、 高質のプ ロ ーブ と ス コ ープ を使用 し て、 書 き 込み中の DQS と DQ の位相関係を調べます。 ス コ ープ ト リ ガーは dbg_rdlvl_start[0] に設定 し ま す。 ア ラ イ メ ン ト は約 90 度であ る 必要があ り ます。 • DQ と DQS のア ラ イ メ ン ト が正 し い場合は、 dbg_rdlvl_start[0] を ト リ ガー と し て使用 し て WE_N と DQS の関係を調べ、 CWL が満た さ れてい る か ど う か を確認 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 218 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado ロ ジ ッ ク解析に示 さ れる結果 X-Ref Target - Figure 1-102 図 1-102 : ト リ ガー = dbg_rdlvl_done[0] PRBS リ ー ド レ ベ リ ン グ エ ラ ーのデバ ッ グ キ ャ リ ブ レーシ ョ ンの概要 こ の段階は、 MIG 7 Series v1.7 で追加 さ れた も ので、 DDR3 SDRAM に一度書 き 込ま れ リ ー ド バ ッ ク さ れた複雑なパ タ ーン を使用 し て、 読み出 し デー タ 有効 ウ ィ ン ド ウ を決定 し ます。 デバ ッ グ 表 1-107 : PRBS リ ー ド レ ベ リ ング キ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 デバ ッ グ信号 信号の説明 left_edge_pb バ イ ト 内の各ビ ッ ト について、 PHASER_IN の有効読み出 し ウ ィ ン ド ウ の開 始時点 (左エ ッ ジ) の細精度 タ ッ プ値を示 し ます。 left_edge_pb[5:0] は Bit[0] の左エ ッ ジ、 left_edge_pb[47:42] は Bit[7] の左エ ッ ジです。 left_loss_pb バ イ ト 内の各ビ ッ ト につい て、 左エ ッ ジの変動に よ り 生 じ た総合的な有効 ウ ィ ン ド ウ サ イ ズの減少を示 し ます。 ビ ッ ト の左エ ッ ジの変動が、有効ウ ィ ン ド ウ に 影響 し な い 場合、 0 に 設定 さ れ ま す。 left_loss_pb[1:0] は Bit[0]、 left_loss_pb[15:14] は Bit[7] です。 right_edge_pb バ イ ト 内の各ビ ッ ト について、 PHASER_IN の有効読み出 し ウ ィ ン ド ウ の終 了時点 (右エ ッ ジ) の細精度 タ ッ プ値を示 し ます。 right_edge_pb[5:0] は Bit[0] の右エ ッ ジ、 right_edge_pb[47:42] は Bit[7] の右エ ッ ジです。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 219 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-107 : PRBS リ ー ド レ ベ リ ング キ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 (続き) デバ ッ グ信号 信号の説明 right_gain_pb バ イ ト 内の各ビ ッ ト につい て、 右エ ッ ジの変動に よ り 生 じ た総合的な有効 ウ ィ ン ド ウ サ イ ズの増加を示 し ます。 ビ ッ ト の右エ ッ ジの変動が、有効ウ ィ ン ド ウ に影響 し な い場合、 0 に設定 さ れ ま す。 right_gain_pb[1:0] は Bit[0]、 right_gain_pb[15:14] は Bit[7] です。 prbs_dqs_cnt_r PRBS リ ー ド レベ リ ン グで現在キ ャ リ ブ レーシ ョ ン さ れてい る DQS バ イ ト グループ を示 し ま す。 VIO dbg_dqs を使用 し てバ イ ト グループ を選択 し ま す。 prbs_rdlvl_start PRBS リ ー ド レベ リ ン グ段階の開始を示 し ます。 prbs_rdlvl_done PRBS リ ー ド レベ リ ン グが正 し く 完了 し た こ と を示 し ます。 compare_err_r0 最初の立ち上が り エ ッ ジのデー タ 比較でのデー タ 不一致を示 し ます。 compare_err_r1 2 番目の立ち上が り エ ッ ジのデー タ 比較でのデー タ 不一致を示 し ます。 compare_err_r2 3 番目の立ち上が り エ ッ ジのデー タ 比較でのデー タ 不一致を示 し ます。 compare_err_r3 4 番目の立ち上が り エ ッ ジのデー タ 比較でのデー タ 不一致を示 し ます。 compare_err_f0 最初の立ち下が り エ ッ ジのデー タ 比較でのデー タ 不一致を示 し ます。 compare_err_f1 2 番目の立ち下が り エ ッ ジのデー タ 比較でのデー タ 不一致を示 し ます。 compare_err_f2 3 番目の立ち下が り エ ッ ジのデー タ 比較でのデー タ 不一致を示 し ます。 compare_err_f3 4 番目の立ち下が り エ ッ ジのデー タ 比較でのデー タ 不一致を示 し ます。 compare_err 読み出 し デー タ パ タ ーン の不一致に よ り デー タ 比較エ ラ ーが発生 し た こ と prbs_dqs_tap_cnt_r PHASER_IN 細精度 タ ッ プの動作を ト ラ ッ キ ン グする 内部カ ウ ン タ ーを示 し ます。 pi_counter_read_val DQS PHASER_IN の細精度 タ ッ プ設定を示 し ます。 ref_bit 最 も 大き い左エ ッ ジの PHASER_IN タ ッ プ値を持つ、 バ イ ト の基準ビ ッ ト を 示 し ます。 complex_victim_inc 内部キ ャ リ ブ レーシ ョ ン パ タ ーン変更に よ る ビ ク テ ィ ム イ ン ク リ メ ン ト を 示 し ます。 rd_victim_sel リ ー ド バ ッ ク 時に比較す る 正 し いデー タ パ タ ーン の取得を目的 と し た ビ ク テ ィ ム選択を示 し ます。 prbs_state_r1 PRBS リ ー ド レベ リ ン グ ス テー ト マシ ンの状態を示 し ます。 rd_valid_r2 読み出 し デー タ が、 デー タ 比較に有効に使用で き る こ と を示 し ます。 left_edge_found_pb バ イ ト 内の各ビ ッ ト に対 し て検出 さ れた左エ ッ ジ を示 し ます。 left_edge_found_pb[0] は Bit[0]、 left_edge_found_pb[7] は Bit[7] です。 right_edge_found_p バ イ ト 内の各ビ ッ ト に対 し て検出 さ れた右エ ッ ジ を示 し ます。 right_edge_found_pb[0] は Bit[0]、 right_edge_found_pb[7] は Bit[7] です。 largest_left_edge バ イ ト の左エ ッ ジの タ ッ プ値を示 し ます。 smallest_right_edge バ イ ト の右エ ッ ジの タ ッ プ値を示 し ます。 fine_delay_incdec_pb バ イ ト 内の各ビ ッ ト について IDELAY プ リ ミ テ ィ ブの FINEDELAY タ ッ プ の イ ン ク リ メ ン ト を示 し ます。 fine_delay_incdec_pb[0] は Bit[0]、 fine_delay_incdec_pb[7] は Bit[7] です。 fine_delay_sel fine_delay_incdec_pb が、IDELAY プ リ ミ テ ィ ブの FINEDELAY に適用 さ れて い る こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 220 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-107 : PRBS リ ー ド レ ベ リ ング キ ャ リ ブ レーシ ョ ンに関連するデバ ッ グ信号 (続き) デバ ッ グ信号 信号の説明 compare_err_pb_latch_r バ イ ト 内の各ビ ッ ト について、 特定の PHASER_IN タ ッ プ設定においてデー タ 不一致 が発生 し た こ と を 示 し ま す。 compare_err_pb_latch_r[0] は Bit[0]、 compare_err_pb_latch_r[7] は Bit[7] です。 fine_pi_dec_cnt 計算 さ れた PHASER_IN タ ッ プの減少値を示 し ます。 match_flag_and 全 ビ ッ ト に デー タ 不一致 が 発生 し た こ と を 示 し ま す。 連続す る 5 つ の PHASER_IN タ ッ プ設定で再 コ ー ド 化 さ れます。 stage_cnt IDELAY プ リ ミ テ ィ ブの異な る FINEDELAY 設定での ス キ ャ ン の数 を示 し ます。 fine_inc_stage IDELAY プ リ ミ テ ィ ブの FINEDELAY が イ ン ク リ メ ン ト 状態に あ る こ と を 示 し ます。 compare_err_pb_and バ イ ト の全ビ ッ ト にデー タ 不一致が発生 し た こ と を示 し ます。 right_edge_found バ イ ト の右エ ッ ジが検出 さ れた こ と を示 し ます。 キ ャ リ ブ レーシ ョ ン時間 拡張キ ャ リ ブ レーシ ョ ン を使用す る IES では、 ハー ド ウ ェ アでキ ャ リ ブ レーシ ョ ン を完了す る のに約 30 秒かか り ま す。 エン ジニア リ ン グ サンプル (GES) お よ びプ ロ ダ ク シ ョ ン デバ イ ス の場合、 ハー ド ウ ェ ア キ ャ リ ブ レーシ ョ ンにかか る 時間は イ ン タ ー フ ェ イ ス のデー タ 幅お よ びデー タ レ ー ト に よ っ て 異 な り ま す。 表 1-108 に、 デー タ レ ー ト が 800Mb/s お よ び 1,600Mb/s、 イ ン タ ーフ ェ イ ス幅が 32 ビ ッ ト お よ び 72 ビ ッ ト でのキ ャ リ ブ レーシ ョ ン時間を示 し ま す。 キ ャ リ ブ レーシ ョ ン時間は、 周波数が高い方が短 く な り ます。 こ れは、 位相調整に必要な読み出 し /書 き 込み動作 が低周波数の場合 よ り も 速 く 完了す る ためです。 キ ャ リ ブ レーシ ョ ンは、 バ イ ト 単位で完了 し ます。 し たがっ て、 イ ン タ ーフ ェ イ ス幅が大 き いほ ど キ ャ リ ブ レーシ ョ ン時間 も 長 く な り ます。 注記 : こ れ ら の値は標準値 と な り ます。 キ ャ リ ブ レーシ ョ ン時間は、 ボー ド のシ グナル イ ン テ グ リ テ ィ 、 FPGA、 お よ び動作周波数に よ っ て大 き く 変動 し ます。 MIG リ リ ース 2014.2 では、 読み出 し キ ャ リ ブ レーシ ョ ン アルゴ リ ズ ムに変更が加え ら れたため、 それ以前の リ リ ー ス よ り キ ャ リ ブ レーシ ョ ン時間が増加 し ます。 MIG リ リ ース 2014.4 では、 書き 込み DQS と 書 き 込みデー タ の中央揃 え機能を強化す る ために MMCM を使用する よ う にキ ャ リ ブ レーシ ョ ン アルゴ リ ズ ムに変更が加え ら れたため、キ ャ リ ブ レーシ ョ ン時間が増加 し ます。 表 1-108 : ハー ド ウ ェ アのキ ャ リ ブ レーシ ョ ン時間 MIG リ リ ース 800Mb/s (4:1) でのキ ャ リ ブ レーシ ョ ン時間 32 ビ ッ ト 72 ビ ッ ト 1,600Mb/s (4:1) でのキ ャ リ ブ レーシ ョ ン時間 32 ビ ッ ト 72 ビ ッ ト 2014.1 <1秒 <1秒 <1秒 <1秒 2014.2 <1秒 ~1秒 <1秒 1 秒をわずかに上回 る 2014.4 <1秒 ~2秒 <1秒 ~1秒 2015.1 ~1秒 ~2秒 <1秒 ~1秒 デー タ エ ラ ーのデバ ッ グ 汎用チ ェ ッ ク キ ャ リ ブ レーシ ョ ン エ ラ ーのデバ ッ グ と 同様に、 「汎用チ ェ ッ ク 」 セ ク シ ョ ン を詳細に確認す る 必要があ り ます。 高 速 メ モ リ イ ン タ ーフ ェ イ ス を使用 し てい る 場合は、適切なボー ド 設計ガ イ ド ラ イ ンに厳密に従 う こ と が重要です。 こ れ ら の汎用チ ェ ッ ク の違反は、 通常デー タ エ ラ ーが原因で発生 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 221 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーを使用 し たエ ラ ーの再現 通常の操作でデー タ エ ラ ーが発生 し た場合は、 MIG 7 Series のサンプル デザ イ ン ( ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー ) を 使用 し てエ ラ ーを再現す る 必要があ り ます。 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーは、 さ ま ざ ま なデー タ 、 ア ド レ ス、 お よ び コ マ ン ド パ タ ーン を送信で き 、 検証 さ れた ソ リ ュ ーシ ョ ン で タ ーゲ ッ ト ト ラ フ ィ ッ ク パ タ ーン を テ ス ト で き ます。 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーは書 き 込みデー タ を格納 し 、 読み出 し デー タ と 比較 し ます。 こ れに よ り 、 エ ラ ーが発生 し た と き の予測 さ れ る デー タ と 実際のデー タ を比較で き ます。 次のセ ク シ ョ ンで、 デー タ エ ラ ーのデバ ッ グにおけ る 重要な手順を詳細に説明 し ます。 表 1-109 : ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの設定に使用 さ れるデバ ッ グ信号 信号名 説明 vio_modify_enable 1 に設定す る と 、ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー コ マ ン ド パ タ ーン を変更で き る よ う にな り ます。 vio_data_mask_gen ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのデー タ マ ス ク を生成 し ます。 vio_pause_traffic 1 に設定す る と 、 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーが一時停止 し ます。 dbg_clear_error ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのエ ラ ーを ク リ ア し ます。 シ ン グル ビ ッ ト エ ラ ーのチ ェ ッ ク 、 ま たは読み出 し ウ ィ ン ド ウ の計測に使用 さ れます。 vio_addr_mode_value 有効な設定は次の と お り です。 • 0x1 : 固定ア ド レ ス モー ド (1) • 0x2 : PRBS ア ド レ ス モー ド • 0x3 : 順次ア ド レ ス モー ド vio_bl_mode_value 有効な設定は次の と お り です。 • 0x1 : 固定バース ト 長(1) • 0x2 : PRBS バース ト 長 vio_fixed_bl_value 有効な値は 1 ~ 256 です。 vio_fixed_instr_value 有効な設定は次の と お り です。 • 0x0 : 書 き 込み命令 • 0x1 : 読み出 し 命令 vio_instr_mode_value 有効な設定は次の と お り です。 • 0x1 : fixed_instr_i で定義 さ れ る コ マ ン ド タ イ プ (読み出 し /書 き 込み)(1) • 0x2 : ラ ン ダ ム読み出 し /書 き 込み コ マ ン ド • 0xE : ア ド レ ス 0 での書 き 込みのみ • 0xF : ア ド レ ス 0 での読み出 し のみ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 222 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 1-109 : ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの設定に使用 さ れるデバ ッ グ信号 (続き) 信号名 説明 vio_data_mode_value 有効な設定は次の と お り です。 • 0x0 : 予約 • 0x1 : FIXED - fixed_data_i 入力で定義 さ れた 32 ビ ッ ト の fixed_data 値。 (1) • 0x2 : ADDRESS - デー タ と し て使用 さ れ る 32 ビ ッ ト ア ド レ ス。 デー タ は、 論理ア ド レ ス空間 に基づいて生成 さ れ ま す。 デザ イ ン に 256 ビ ッ ト のユーザー デー タ バ ス が あ る 場合、 ユー ザー バ ス の各書 き 込みビー ト には、 バ イ ト 境界で 256/8 のア ド レ ス イ ン ク リ メ ン ト があ り ま す。 開始ア ド レ ス が 1300 のデー タ は 1300 で、 次のサ イ ク ルで 1320 と な り ます。 ロ ジ ッ ク を シ ンプルにす る ために、 ユーザー デー タ パ タ ーンは、 ア ド レ ス値ビ ッ ト [31:0] の イ ン ク リ メ ン ト の繰 り 返 し と な り ます。 • 0x3 : HAMMER - DQS の立ち上が り エ ッ ジでは DQ ピ ンにすべて 1 が現れ、 DQS の立ち下が り エ ッ ジでは DQ ピ ンにすべて 0 が現れます。 ただ し 、 SEL_VICTIM_LINE で定義 さ れた ビ ク ティム ラ イ ン は 例外 で す。 こ の オ プ シ ョ ン は、 パ ラ メ ー タ ー DATA_PATTERN が DGEN_HAMMER ま たは DGEN_ALL の場合のみ有効です。 • 0x4 : SIMPLE8 - 8 ワー ド ご と に繰 り 返す単純な 8 デー タ パ タ ーン。 パ タ ーンは、 simple_datax 入力で定義で き ます。 (1) • 0x5 : WALKING1 - DQ ピ ンに Walking 1 が現れます。1 の開始位置はア ド レ ス値に依存 し ます。 こ のオプシ ョ ン は、 パ ラ メ ー タ ー DATA_PATTERN が DGEN_WALKING ま たは DGEN_ALL の場合のみ有効です。 • 0x6 : WALKING0 - DQ ピ ンに Walking 0 が現れます。0 の開始位置はア ド レ ス値に依存 し ます。 こ のオプシ ョ ンは、 パ ラ メ ー タ ー DATA_PATTERN が DGEN_WALKING0 ま たは DGEN_ALL の場合のみ有効です。 • 0x7 : PRBS - 32 段階の LFSR が ラ ン ダ ム デー タ を生成 し 、開始ア ド レ ス でシー ド さ れます。 こ のオプシ ョ ンは、パ ラ メ ー タ ー DATA_PATTERN が DGEN_PRBS ま たは DGEN_ALL の場合の み有効です。 • 0x9 : SLOW HAMMER - 低周波数の HAMMER デー タ パ タ ーン • 0xF : PHY_CALIB パ タ ーン - 0xFF、 00、 AA、 55、 55、 AA、 99、 66。 こ のモー ド では、 ア ド レ ス 0 で READ コ マ ン ド のみが生成 さ れます。 Virtex-7 フ ァ ミ リ でのみ有効です。 注記 : 1. こ の設定はデフ ォ ル ト では機能せず、 RTL の変更が必要です。 表 1-110 : ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーを使用 し てデー タ エ ラ ーを特定するのに使用 さ れるデバ ッ グ信号 信号名 説明 dbg_rddata_r VIO 上の dbg_dqs を介 し て選択 さ れた DQS グループの IN_FIFO か ら 読み出 さ れた読み出 し デー タ で す。 こ のデバ ッ グ ポー ト は 64 ビ ッ ト バス であ り 、 ECC デー タ はキ ャ プチ ャ し ません。 cmp_data_r メ モ リ か ら リ ー ド バ ッ ク さ れたデー タ と 比較 さ れ る 予測デー タ です。 (1) dbg_rddata_valid 読み出 し デー タ が有効であ る こ と を示 し ます。 cmp_data_valid 比較デー タ が有効であ る こ と を示 し ます。 cmp_error cmp_data 値が メ モ リ か ら リ ー ド バ ッ ク さ れたデー タ と 一致 し ない こ と を示 し ます。 error_status[n:0] エ ラ ー信号がアサー ト さ れ る と 、 次の値を ラ ッ チ し ます。 • [42] : mcb_rd_empty • [41] : mcb_wr_full • [37:32] : cmp_bl_i • [31:0] : cmp_addr_i 注記 : 1. cmp_data_r は dbg_rddata_r と はサ イ ク ルが揃え ら れてお ら ず、 dbg_rddata_r の 1 バース ト 前か ら 3 バース ト 後の範囲にな り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 223 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン デー タ エ ラ ーの特定 MIG 7 Series の ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーま たはユーザー デザ イ ン を使用 し てデー タ エ ラ ーをデバ ッ グす る には、 まずデー タ エ ラ ーがいつ、 ど こ で発生 し てい る か を特定す る 必要があ り ます。 こ れには、 予測デー タ と 実際のデー タ を比較 し ます。 デー タ エ ラ ーを監視す る 際は、 次の事項を確認する 必要があ り ます。 • エ ラ ー ビ ッ ト ま たはバ イ ト エ ラ ーが存在す る か を調べ る 。 ° エ ラ ーは特定の DQS グループに属する デー タ ビ ッ ト で発生 し てい ますか。 ° エ ラ ーは特定の DQ ビ ッ ト で発生 し てい ますか。 • デー タ がシ フ ト 、 破棄、 ス ワ ッ プな ど さ れてい る かを調べ る 。 • エ ラ ーは メ モ リ の特定のア ド レ ス、 バン ク 、 ま たは ラ ン ク にア ク セ スす る と き に発生 し てい る かを調べる 。 ° • エ ラ ーが特定のデー タ パ タ ーン ま たはシーケ ン ス でのみ発生 し てい る か を調べる 。 ° • • 多様な DIMM モジ ュ ールをサポー ト する デザ イ ンの場合、 ア ド レ ス ビ ッ ト と バン ク ビ ッ ト の可能な組み合 わせをすべてサポー ト す る 必要があ り ます。 こ れで、 PCB 上の短絡ま たはオープン接続を特定で き ます。 ま た、 SSO や ク ロ ス ト ー ク の問題 も 特定で き ま す。 エ ラ ーの頻度 と 再現性を調べ る 。 ° エ ラ ーはキ ャ リ ブ レーシ ョ ン/ リ セ ッ ト のたびに発生 し てい ますか。 ° エ ラ ーは特定の温度ま たは電圧条件で発生 し てい ますか。 エ ラ ーが訂正可能か ど う か を調べ る 。 ° 再書 き 込み、 再読み出 し 、 再設定、 再キ ャ リ ブ レーシ ョ ン を実行 し ます。 MIG 7 Series のサンプル デザ イ ン ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーを使用 し てデー タ エ ラ ーを特定す る には、 次の手順 を実行 し ます。 • • 発生 し てい る デー タ エ ラ ーの タ イ プ (ビ ッ ト エ ラ ーま たはバ イ ト エ ラ ー ) を調べ る 。 a. ILA ト リ ガーを cmp_error = 1 に設定 し ます。 b. Vivado ロ ジ ッ ク 解析機能で dbg_rddata_r と cmp_data_r を監視 し ます。 - エ ラ ーは特定の DQS グループに属する デー タ ビ ッ ト で発生 し てい ますか。 - デー タ はシ フ ト 、 破棄、 ス ワ ッ プな ど さ れてい ますか。 エ ラ ーが メ モ リ の特定のア ド レ ス、バン ク 、ま たは ラ ン ク にア ク セ スす る と き に発生 し てい る か ど う か を調べ る 。 a. ILA ト リ ガーを cmp_error = 1 に設定 し ます。 b. VIO コ ア を次の よ う に設定 し ます。 vio_modify_enable = 1 vio_data_mode_value = 2 vio_addr_mode_value = 3 c. • Vivado ロ ジ ッ ク 解析機能で error_status[31:0] の cmp_addr_i ビ ッ ト を監視 し ます。 エ ラ ーが特定のデー タ パ タ ーン ま たはシーケ ン ス でのみ発生 し てい る か を調べ る 。 こ れは、 PCB 上の短絡ま た はオープ ン接続、 あ る いは SSO ま たは ク ロ ス ト ー ク の問題を示す。 a. ILA ト リ ガーを cmp_error = 1 に設定 し ます。 b. VIO コ ア を次の よ う に設定 し ます。 vio_modify_enable = 1 vio_instr_mode_value = 2 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 224 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン vio_data_mode_value = 2 vio_addr_mode_value = 3 • • c. Vivado ロ ジ ッ ク 解析機能で dbg_rddata_r お よ び cmp_data_r 信号 と error_status[31:0] の cmp_addr_i ビ ッ ト を監視 し ます。 d. vio_data_mode_value を 3 ~ F の値に設定 し て手順 a ~ c を繰 り 返 し ます。 エ ラ ーの頻度 と 再現性を調べ る 。 ° エ ラ ーはキ ャ リ ブ レーシ ョ ン ま たは リ セ ッ ト のたびに発生 し てい ますか。 ° エ ラ ーは特定の温度ま たは電圧条件で発生 し てい ますか。 エ ラ ーが訂正可能か ど う か を調べ る 。 ° 再書 き 込み、 再読み出 し 、 再設定、 再キ ャ リ ブ レーシ ョ ン を実行 し ます。 注記 : VIO 入力を変更す る たびに、 vio_pause_traffic を アサー ト し てデ ィ アサー ト す る 必要があ り ます。 デー タ エ ラ ーの原因が書き込みであ るか読み出 し であるかの判断 書 き 込みが原因の場合は、 読み出 し たデー タ も 破損 し てい る ため、 デー タ エ ラ ーの原因が書 き 込みか読み出 し か を判 断す る こ と は困難な場合があ り ます。 ま た、 制御/ア ド レ ス の タ イ ミ ン グの問題は、 書 き 込み と 読み出 し の両方に影響 を及ぼ し ます。 次の方法を使用す る と 、 問題の特定に役立ち ます。 • エ ラ ーが断続的な場合は、 書 き 込み コ マ ン ド をい く つか発行 し た後、 それ ら の位置か ら 連続 し て読み出 し を実行 し ます。 • 読み出 さ れたデー タ が断続的に破損 し てい る 場合は、 読み出 し に問題があ る と 考え ら れます。 読み出 さ れたデー タ が常に同 じ (不正) であ る 場合は、 書 き 込みに問題があ る と 考え ら れます。 Vivado ロ ジ ッ ク 解析機能で MIG 7 Series のサンプル デザ イ ン ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーを使用 し て、 書 き 込みの 問題か読み出 し の問題か を特定 し ます。 1. RTL で固定パ ラ メ ー タ ー値を設定 し ます。 a. b. example_top.v を開 き 、 traffic_gen_top fixed_addr_i を次の よ う に変更 し ます。 イ ン ス タ ン シエーシ ョ ンの - fixed_addr_i (32'b00000000000000000000000000001000) - fixed_data_i (32'b11111111111111111111111111111111) fixed_data_i および ビ ッ ト ス ト リ ーム を再生成 し ます。 2. ILA ト リ ガーを cmp_error = 1 に設定 し ます。 3. VIO コ ア を次の よ う に設定 し ます。 vio_modify_enable = 1 vio_pause_traffic = 1 vio_addr_mode_value = 1 vio_bl_mode_value = 1 vio_fixed_bl_value = 8 vio_instr_mode_value = 1 vio_fixed_instr_value = 0 (書 き 込みのみ) vio_data_mode_value = 1 vio_pause_traffic = 0 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 225 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 4. VIO コ ア を次の よ う に設定 し ます。 vio_pause_traffic = 1 vio_fixed_instr_value = 1 (読み出 し のみ) vio_pause_traffic = 0 5. Vivado ロ ジ ッ ク 解析機能で dbg_rddata_r と cmp_data_r を監視 し ます。 こ れは、 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーま たはユーザー デザ イ ン で高質のプ ロ ーブお よ びス コ ープ を使用 し て も 実行 で き ます。 1. メ モ リ での書 き 込みお よ び FPGA での読み出 し を キ ャ プチ ャ し 、 デー タ が正 し いか、 DQS と DQ の関係が適切か を確認 し ます。 2. DQS の ト ラ イ ス テー ト か ら ア ク テ ィ ブ状態への最初の遷移を確認 し ます。 3. 書 き 込みでは、 DQS にプ リ ア ンブルはあ り ません。 4. 読み出 し では、 DQS に ク ロ ッ ク の 1 サ イ ク ルのプ リ ア ンブルがあ り ます。 5. 次に、 読み出 し と 書 き 込みの例を示 し ます。 X-Ref Target - Figure 1-103 図 1-103 : 読み出 し および書き込み 書 き 込みの タ イ ミ ン グ を解析 し ます。 • オン ダ イ 終端 (ODT) を使用す る 場合、 DDR2/DDR3 デバ イ ス で適切な値が有効にな っ てい る か、 書 き 込みバース ト に対す る ODT 信号の タ イ ミ ン グが正 し いかを確認 し ます。 • DQS に対す る DQ の位相を計測 し ます。 書き 込み中は、 DQS は DQ の中央に位置 し てい る 必要があ り ます。 中央 に 位 置 し て い な い 場 合 は、 OCLKDELAYED キ ャ リ ブ レ ー シ ョ ン を デバ ッ グ し ま す (126 ペー ジ の 「OCLKDELAYED のキ ャ リ ブ レーシ ョ ン」 参照)。 • デバ ッ グの目的でのみ、 ODELAY を使用 し て DQS に対す る DQ の位相を変化 さ せます。 読み出 し の タ イ ミ ン グ を解析 し ます。 • キ ャ リ ブ レーシ ョ ン後に IDELAY の値を確認 し ます。 IDELAY 値の変化を確認 し ます。 同 じ DQS グループの DQ の IDELAY 値は、 類似 し てい る はずです。 • デバ ッ グの目的でのみ、 不正なデー タ が返 さ れ る ビ ッ ト のキ ャ リ ブ レーシ ョ ン完了後に、 IDELAY タ ッ プの値を 変化 さ せ る ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 226 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 読み出 し タ イ ミ ングの確認および変更 デバ ッ グ信号は、 読み出 し のバ イ ト ご と のマージ ン を検証する ために提供 さ れてい る ので、 デバ ッ グ目的でのみ使用 し て く だ さ い。 正確な動作のための十分なマージ ンがあ る か ど う か を確認す る と 、 キ ャ リ ブ レーシ ョ ン後にデー タ エ ラ ーが発生 し た場合のデバ ッ グに有益です。 イ ン タ ーフ ェ イ ス全体を順にチ ェ ッ ク す る 自動ウ ィ ン ド ウ チ ェ ッ ク フ ロ ーがあ り 、 デー タ ウ ィ ン ド ウ の左端 と 右端 に到達する のに必要な PHASER タ ッ プ数が示 さ れます。 ウ ィ ン ド ウ チ ェ ッ ク は、 PHASER タ ッ プを手動で イ ン ク リ メ ン ト お よ びデ ク リ メ ン ト し 、 ウ ィ ン ド ウ マージ ンの量を確認 し ます。 表 1-111 : 読み出 し /書き込み タ イ ミ ン グ確認および変更用のデバ ッ グ信号 信号名 説明 win_start ウ ィ ン ド ウ チ ェ ッ ク ロ ジ ッ ク を開始する シ ン グル パルス です。 win_sel_pi_pon 読み出 し パ ス の ウ ィ ン ド ウ チ ェ ッ ク ロ ジ ッ ク を制御 し ます。 有効な設定は次の と お り です。 • 0x1 : 読み出 し パ ス を有効に し ます。 vio_dbg_sel_pi_incdec PHASER_IN タ ッ プの手動での イ ン ク リ メ ン ト お よ びデ ク リ メ ン ト を有効に し ます。 vio_dbg_pi_f_inc win_sel_pi_pon = 0x1 の場合に PHASER_IN の細精度 タ ッ プを イ ン ク リ メ ン ト し ます。 vio_dbg_pi_f_dec win_sel_pi_pon = 0x1 の場合に PHASER_IN の細精度 タ ッ プをデ ク リ メ ン ト し ます。 vio_win_byte_select_inc ウ ィ ン ド ウ マージ ン チ ェ ッ ク モジ ュ ールでチ ェ ッ ク さ れてい る バ イ ト グループ を イ ン ク リ メ ン ト し ます。 vio_win_byte_select_dec ウ ィ ン ド ウ マージ ン チ ェ ッ ク モジ ュ ールでチ ェ ッ ク さ れてい る バ イ ト グループ をデ ク リ メ ン ト し ます。 dbg_pi_counter_read_val 現在チ ェ ッ ク さ れてい る バ イ ト に対応する PHASER_IN タ ッ プ カ ウ ン ト を示 し ます。 pi_win_left_ram_out 特定バ イ ト の読み出 し ウ ィ ン ド ウ の左端に達する のに必要な PHASER_IN タ ッ プ数。 pi_win_right_ram_out 特定バ イ ト の読み出 し ウ ィ ン ド ウ の右端に達する のに必要な PHASER_IN タ ッ プ数。 win_active ウ ィ ン ド ウ チ ェ ッ ク ロ ジ ッ ク がア ク テ ィ ブで、 ウ ィ ン ド ウ のマージ ン を計測中であ る こ と を 示 し ます。 ウ ィ ン ド ウ チ ェ ッ ク ロ ジ ッ ク がア ク テ ィ ブの場合、 ほかの VIO を変更 し ないで く だ さ い。 win_current_byte チ ェ ッ ク さ れてい る バ イ ト を示すフ ィ ー ド バ ッ ク です。 win_byte_select 計測結果を表示す る バ イ ト グループ を選択 し ます。 dbg_clear_error タ ッ プ値を変更 し た こ と に よ る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのエ ラ ーを ク リ ア し ます。 vio_sel_mux_rdd[3:0] 位相 イ ン ク リ メ ン ト ま たは位相デ ク リ メ ン ト が適用 さ れ る バ イ ト を選択 し ます。 自動ウ ィ ン ド ウ チ ェ ッ ク win_start を 1 パルス アサー ト す る と 、 自動ウ ィ ン ド ウ チ ェ ッ ク が有効にな り ます。 こ れに よ り 、 すべてのバ イ ト グループが計測 さ れ る ま で、 win_active がアサー ト さ れます。 win_sel_pi_pon は 0x1 に設定 し て読み出 し ウ ィ ン ド ウ の計測を有効にす る 必要があ り ます。 win_byte_select を使用 し て測定結果のバ イ ト グループ を選択す る と 、 その計測結果を Vivado ロ ジ ッ ク アナ ラ イ ザー機能の波形 ウ ィ ン ド ウ に表示で き ます。 合計デー タ 有効ウ ィ ン ド ウ を算出す る には、 次の式を使用 し ます。 ( タ ッ プの総数 × CLK_PERIOD)/128 = 合計デー タ 有効ウ ィ ン ド ウ 注記 : 読み出 し ウ ィ ン ド ウ の計測結果は、 win_start がアサー ト さ れた後にブ ロ ッ ク RAM に格納 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 227 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 手動ウ ィ ン ド ウ チ ェ ッ ク デー タ ウ ィ ン ド ウ マージ ン を手動で計測す る には、 次の手順に従い ます。 1. dbg_sel_pi_incdec を アサー ト し て手動ウ ィ ン ド ウ チ ェ ッ ク を有効に し ます。 注 記 : dbg_sel_pi_incdec を 有効 に す る と 、 dbg_pi_counter_read_cal PHASER_IN タ ッ プ値は示 さ れません。 に は実際に中央に揃 え ら れ た 2. ILA ト リ ガーを cmp_error = 1 に設定 し ます。 3. dbg_pi_f_inc ま たは dbg_pi_f_dec を使用 し て、左端ま たは右端が検出 さ れて イ ベン ト が ト リ ガー さ れ る ま で タ ッ プ を イ ン ク リ メ ン ト /デ ク リ メ ン ト し ます。イ ベン ト が ト リ ガー さ れ る ま でに発生 し た タ ッ プ数を記録 し ま す。 4. 同 じ タ ッ プ数だけ タ ッ プ を手動で イ ン ク リ メ ン ト /デ ク リ メ ン ト し て元に戻 し ます。 5. dbg_clear_error に 1 パルス イ ベン ト を発行 し 、 ILA ト リ ガーを リ セ ッ ト し ます。 6. dbg_pi_f_inc ま たは dbg_pi_f_dec を使用 し て、左端ま たは右端が検出 さ れて イ ベン ト が ト リ ガー さ れ る ま で タ ッ プ を反対方向に イ ン ク リ メ ン ト /デ ク リ メ ン ト し ます。イ ベン ト が ト リ ガー さ れ る ま でに発生 し た タ ッ プ数 を記録 し ます。 7. 左端 ま での タ ッ プ数 と 右端 ま での タ ッ プ数を加算 し 、 次の式を使用 し て合計デー タ 有効 ウ ィ ン ド ウ を算出 し ま す。 ( タ ッ プの総数 × CLK_PERIOD)/128 = 合計デー タ 有効ウ ィ ン ド ウ キ ャ リ ブ レーシ ョ ン結果の解析 デー タ エ ラ ーが発生 し た場合、 キ ャ リ ブ レーシ ョ ンの結果が正 し い も のであ る かを解析する 必要があ り ます。 キ ャ リ ブ レーシ ョ ンのデバ ッ グの各セ ク シ ョ ンに、 検出 さ れ る エ ッ ジの数、 バ イ ト グループ間の差な ど、 予測 さ れ る 結果が 示 さ れてい ます。 こ れ ら のセ ク シ ョ ンに従っ て、 キ ャ リ ブ レーシ ョ ン結果を キ ャ プチ ャ お よ び解析 し て く だ さ い。 イ ン タ ー フ ェ イ スのデバ ッ グ AXI4-Lite イ ン タ ー フ ェ イ ス AXI4 ス レ ーブ イ ン タ ー フ ェ イ ス は、 ARM 社の AMBA の公開仕様で定義 さ れてい る AXI4 メ モ リ マ ッ プ方式の ス レーブ プ ロ ト コ ル仕様に準拠 し てい ます。 AXI4 ス レーブ イ ン タ ーフ ェ イ ス の信号については、 こ の仕様書 [参照 4] を参照 し て く だ さ い。 デフ ォ ル ト がすべて 0 でない レ ジ ス タ か ら 読み出 し て、 イ ン タ ーフ ェ イ ス が機能 し てい る こ と を確認 し ます。 読み出 し ア ド レ ス が 有 効 に な る と 出 力 s_axi_arready が ア サ ー ト さ れ、 読み出 し デー タ / 応答 が 有効 に な る と s_axi_rvalid がアサー ト さ れます。 イ ン タ ーフ ェ イ ス が応答 し ない場合は、 次を確認 し ます。 • S_AXI_ACLK お よ び ACLK 入力が接続 さ れてお り 、 ト グル し てい る こ と を確認 し ます。 • イ ン タ ーフ ェ イ ス が リ セ ッ ト 状態に保持 さ れてお ら ず、 イ ーサネ ッ ト MAC は、 S_AXI_ARESET がア ク テ ィ ブ Low の リ セ ッ ト であ る こ と を確認 し ます。 • イ ン タ ーフ ェ イ ス が有効にな っ てお り 、 s_axi_aclken がア ク テ ィ ブ High であ る こ と を確認 し ます (使用 さ れ てい る 場合)。 • メ イ ンの コ ア ク ロ ッ ク が ト グル し てお り 、 イ ネーブル信号がアサー ト さ れてい る こ と を確認 し ます。 • シ ミ ュ レーシ ョ ンが実行 さ れてい る 場合はシ ミ ュ レーシ ョ ン、 ま たは Vivado ロ ジ ッ ク 解析機能の波形デバ ッ グ ツール キ ャ プチ ャ を使用 し て、 波形がAXI4-Lite イ ン タ ーフ ェ イ ス にア ク セ スす る のに正 し い も のであ る こ と を 確認 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 228 第 1 章 : DDR3 お よび DDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン AXI4-Stream イ ン タ ー フ ェ イ ス AXI4 ス レ ーブ イ ン タ ー フ ェ イ ス は、 ARM 社の AMBA の公開仕様で定義 さ れてい る AXI4 メ モ リ マ ッ プ方式の ス レーブ プ ロ ト コ ル仕様に準拠 し てい ます。 AXI4 ス レーブ イ ン タ ーフ ェ イ ス の信号については、 こ の仕様書 [参照 4] を参照 し て く だ さ い。 デー タ が送信ま たは受信 さ れていない場合は、 次を確認 し ます。 • <interface_name>_tvalid 入力がアサー ト さ れた後、 送信の <interface_name>_tready が Low の ま ま にな る 場合、 コ アはデー タ を送信で き ません。 • 受信の <interface_name>_tvalid の ま ま にな る 場合、 コ アはデー タ を受信 し ません。 • ACLK 入力が接続 さ れてお り 、 ト グル し てい る こ と を確認 し ます。 • AXI4-Stream の波形に従っ てい る こ と を確認 し ます。 • コ アの コ ン フ ィ ギ ュ レーシ ョ ン を確認 し ます。 • コ ア特定のチ ェ ッ ク を追加 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 229 第 2章 QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン は じ めに QDR II+ SRAM メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンは、 ザ イ リ ン ク ス 7 シ リ ーズ FPGA を使用 し たユーザー デ ザ イ ン と QDR II+ SRAM デバ イ ス の イ ン タ ーフ ェ イ ス と な る 物理層です。 QDR II+ SRAM は、 ク ロ ッ ク の立ち上が り エ ッ ジお よ び立ち下が り の両エ ッ ジで独立 し た読み出 し バ ス と 書 き 込みバ ス を使用す る 、 高速なデー タ 転送が可能で す。 こ の メ モ リ デバ イ ス は、 次の よ う な高性能シ ス テ ムで一時的なデー タ ス ト レージ と し て使用 さ れます。 • ネ ッ ト ワー ク シ ス テ ムのル ッ ク ア ッ プ テーブル • ネ ッ ト ワー ク ス イ ッ チのパケ ッ ト バ ッ フ ァ ー • 高速演算のキ ャ ッ シ ュ メ モ リ • 高性能テ ス タ ーのデー タ バ ッ フ ァ ー QDR II+ SRAM メ モ リ ソ リ ュ ーシ ョ ン コ アは、 シ ンプルなユーザー コ マ ン ド を受信 し て QDR II+ プ ロ ト コ ルに変換 し 、 変換後の コ マ ン ド を メ モ リ に送信す る PHY です。 PHY が 1/2 の周波数で動作す る デザ イ ンの場合、 1 サ イ ク ルで 読み出 し お よ び書 き 込み要求を 1 回ずつ発行で き る ため、メ モ リ コ ン ト ロ ー ラ ー と それに伴 う オーバーヘ ッ ド が不要 で、 コ ア内部の レ イ テ ン シが削減 さ れます。 7 シ リ ーズ FPGA 特有の機能を利用する こ と に よ り 、 PHY は最大限の性 能を実現す る と 共に、 FPGA 内での読み出 し デー タ キ ャ プチ ャ を簡略化 し ます。 こ の ソ リ ュ ーシ ョ ンは、 合成可能な リ フ ァ レ ン ス デザ イ ン を含め完全な形で提供 さ れます。 こ の章では、 7 シ リ ーズ FPGA 用の LogiCORE™ IP QDR II+ SRAM メ モ リ イ ン タ ーフ ェ イ ス コ アのアーキ テ ク チ ャ 、 お よ びその使用、 カ ス タ マ イ ズ、 シ ミ ュ レーシ ョ ンの方法について説明 し ます。 こ の ソ フ ト メ モ リ コ ン ト ロ ー ラ ー コ アは完全な検証が行われてお り 、 性能が保証 さ れてい ますが、 最良のデザ イ ン を実現す る には PCB デザ イ ン の終 端お よ び ト レ ー ス 配線に関す る 規則に従 っ た設計 を 行 う 必要が あ り ま す。 PCB デザ イ ン ガ イ ド ラ イ ン の詳細は、 289 ページの 「設計ガ イ ド ラ イ ン」 を参照 し て く だ さ い。 重要 : 現時点では、 QDR II+ SRAM デザ イ ンは メ モ リ マ ッ プ方式の AXI4 イ ン タ ーフ ェ イ ス をサポー ト し てい ません。 7 シ リ ーズ FPGA QDR II+ SRAM メ モ リ イ ン タ ーフ ェ イ ス コ アの詳細 と 最新情報は、『ザ イ リ ン ク ス 7 シ リ ーズ FPGA デー タ シー ト 』 [参照 13] お よ び 『Zynq-7000 AP SoC お よ び 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン デー タ シー ト 』 (DS176) [参照 1] を参照 し て く だ さ い。 重要 : メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン v2.3 では、 Vivado® Design Suite のみがサポー ト さ れてい ます。 ISE® Design Suite は こ のバージ ョ ンではサポー ト さ れてい ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 230 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado Design Suite での MIG の使用 こ こ では、 Vivado Design Suite を使用 し て MIG IP を生成 し 、 イ ンプ リ メ ン ト す る 手順を説明 し ます。 1. Vivado IP を起動 し ます (図 2-1)。 X-Ref Target - Figure 2-1 図 2-1 : Vivado ツール 2. 新 し いプ ロ ジ ェ ク ト を作成す る には、図 2-1 に示す [Create New Project] を ク リ ッ ク し て図 2-2 のページ を開 き ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 231 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-2 図 2-2 : 新規 Vivado ツール プ ロ ジ ェ ク ト の作成 3. [Next] を ク リ ッ ク し て [Project Name] ページに進みます (図 2-3)。プ ロ ジ ェ ク ト 名 と プ ロ ジ ェ ク ト の場所を入力 し ます。 プ ロ ジ ェ ク ト は入力 し た内容に基づいてデ ィ レ ク ト リ に保存 さ れます。 X-Ref Target - Figure 2-3 図 2-3 : [Project Name] ページ 4. [Next] を ク リ ッ ク し て [Project Type] ページに進みます (図 2-4)。MIG に よ っ て生成 さ れ る フ ァ イ ルは RTL 形式で あ る ため、 [Project Type] で [RTL Project] を オンに し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 232 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-4 図 2-4 : [Project Type] ページ 5. [Next] を ク リ ッ ク し て [Add Sources] ページに進みます (図 2-5)。 こ こ ではプ ロ ジ ェ ク ト に RTL フ ァ イ ルを追加で き ます。 プ ロ ジ ェ ク ト を あ ら か じ め作成 し ていない場合は次のページに進みます。 X-Ref Target - Figure 2-5 図 2-5 : [Add Sources] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 233 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 6. [Next] を ク リ ッ ク し て [Add Existing IP (Optional)] ページ を開き ます (図 2-6)。 IP が作成済の場合は、 IP に よ っ て 生成 さ れた XCI フ ァ イ ルをプ ロ ジ ェ ク ト に追加で き 、 以前作成 し た IP フ ァ イ ルが自動的に追加 さ れます。 IP が あ ら か じ め作成 さ れていない場合は次のページに進みます。 X-Ref Target - Figure 2-6 図 2-6 : [Add Existing IP (Optional)] ページ 7. [Next] を ク リ ッ ク し て [Add Constraints (Optional)] ページ を開き ます (図 2-7)。 制約フ ァ イ ルが リ ポジ ト リ にあ る 場合、 それをプ ロ ジ ェ ク ト に追加で き ます。 制約フ ァ イ ルがない場合は次のページに進みます。 X-Ref Target - Figure 2-7 図 2-7 : [Add Constraints (Optional)] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 234 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 8. [Next] を ク リ ッ ク し て [Default Part] ページ (図 2-8) へ進みます。 こ のページでは タ ーゲ ッ ト デバ イ ス を選択で き ます。 図 2-8 の よ う な [Default Part] ページが表示 さ れます。 X-Ref Target - Figure 2-8 図 2-8 : [Default Part] ページ (デ フ ォル ト ウ ィ ン ド ウ) タ ーゲ ッ ト と す る [Family]、 [Package] お よ び [Speed grade] を選択 し ます。 使用可能なデバ イ ス が同 じ ページに表 示 さ れ、 そ こ か ら タ ーゲ ッ ト デバ イ ス を選択で き ます (図 2-9)。 X-Ref Target - Figure 2-9 図 2-9 : [Default Part] ページ (カ ス タ ム ウ ィ ン ド ウ) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 235 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン [Parts] を使用 し てデバ イ ス を選択す る 以外に、 [Boards] でデバ イ ス を選択す る こ と も で き ます。 こ こ ではザ イ リ ン ク ス がサポー ト す る 評価ボー ド が表示 さ れます (図 2-10)。 こ のオプシ ョ ン を使用する と 、 評価ボー ド でデザ イ ン を使用で き ます。 前の手順で既存の IP の XCI フ ァ イ ルを選択 し た場合、 同 じ デバ イ ス を こ こ で選択す る 必要 があ り ます。 X-Ref Target - Figure 2-10 図 2-10 : デ フ ォル ト のデバイ スおよびボー ド 9. [Next] を ク リ ッ ク し て [New Project Summary] ページ を開 き ます (図 2-11)。 こ こ では、 選択 し たプ ロ ジ ェ ク ト のサ マ リ が表示 さ れます。 X-Ref Target - Figure 2-11 図 2-11 : [New Project Summary] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 236 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 10. [Finish] を ク リ ッ ク し てプ ロ ジ ェ ク ト の作成を終了 し ます。 11. [Project Manager] で [IP Catalog] を ク リ ッ ク し て Vivado IP カ タ ロ グ ウ ィ ン ド ウ を開き ます。 IP カ タ ロ グ ウ ィ ン ド ウ がパネルの右側に表示 さ れます (図 2-12 の赤い枠で囲っ た部分)。 12. MIG ツールは IP カ タ ロ グ ウ ィ ン ド ウ の [Memories & Storage Elements] → [Memory Interface Generators] (図 2-12) にあ り ますが、 検索ボ ッ ク ス に 「MIG」 と 入力す る こ と で も 検索で き ます。 X-Ref Target - Figure 2-12 図 2-12 : IP カ タ ログ ウ ィ ン ド ウ - [Memory Interface Generator] Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 237 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 13. [MIG 7 Series] を ク リ ッ ク し て MIG ツールを開 き ます (図 2-13)。 X-Ref Target - Figure 2-13 図 2-13 : 7 シ リ ーズ FPGA の MIG (Memory Interface Generator) の最初のページ 14. [Next] を ク リ ッ ク し て [MIG Output Options] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 238 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのカ ス タ マ イ ズ と 生成 注意 : Windows オペレーテ ィ ン グ シ ス テ ムでは、 パ ス の長 さ が最大で 260 文字ま でに制限 さ れてお り 、 こ れに よ っ て Vivado ツールで問題が生 じ る 可能性があ り ます。 こ の問題を回避す る には、 プ ロ ジ ェ ク ト 作成時に可能な限 り 短い名 前 と デ ィ レ ク ト リ の場所を使用 し 、 IP や IP プ ロ ジ ェ ク ト の定義お よ びブ ロ ッ ク デザ イ ンの作成を行っ て く だ さ い。 [MIG Output Options] ページ 1. [Create Design] を オンに し て新規 メ モ リ コ ン ト ロ ー ラ ー デザ イ ン を作成 し ます。 [Component Name] に コ ン ポー ネ ン ト 名を入力 し ます (図 2-14)。 2. [Number of Controllers] で作成す る コ ン ト ロ ー ラ ーの数を指定 し ます。 こ れ以降のページは、 指定 し た コ ン ト ロ ー ラ ーの数だけ設定を繰 り 返す必要があ り ます。 X-Ref Target - Figure 2-14 8*BFBB 図 2-14 : [MIG Output Options] ページ MIG の出力は、 <component name> フ ォ ルダーに生成 さ れます。 重要 : <component name> に使用で き る のは英数字のみです。 特殊文字は使用で き ません。 先頭の 1 文字は英字で あ る 必要があ り ます (末尾の 1 文字は英字で も 数字で も か ま い ません)。 XPS か ら 起動 し た場合は、 XPS の IP イ ン ス タ ン ス名が [Component Name] に入 り ます。 3. [Next] を ク リ ッ ク し て [Pin Compatible FPGAs] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 239 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ピ ン互換 FPGA [Pin Compatible FPGAs] ページには、 選択 し た FPGA フ ァ ミ リ でパ ッ ケージが同 じ デバ イ ス が表示 さ れ ま す。 MIG ツールで生成 し た ピ ン配置を、 こ こ に表示 さ れた FPGA と 互換性を持たせ る よ う にす る には、 こ のオプシ ョ ン を使用 し てデバ イ ス を選択 し ます (図 2-15)。 X-Ref Target - Figure 2-15 8*BFBB 図 2-15 : ピ ン互換性のある 7 シ リ ーズ FPGA 1. 表示 さ れた ピ ン互換性のあ る FPGA の中か ら デバ イ ス を選択 し ます。 MIG ツールは、 こ こ で選択 し た FPGA と タ ーゲ ッ ト FPGA に共通す る ピ ン のみを使用 し ま す。 [Target FPGA] には、 選択 し た タ ーゲ ッ ト FPGA デバ イ ス 名が表示 さ れます。 2. [Next] を ク リ ッ ク し て [Memory Selection] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 240 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 7 シ リ ーズ FPGA QDR II+ SRAM デザイ ンの作成 メ モ リ の選択 [Memory Selection] ページには、 選択 し た FPGA フ ァ ミ リ でサポー ト さ れ る すべての メ モ リ タ イ プが表示 さ れます。 1. [Select the Controller Type] に [QDR II+ SRAM] を選択 し ます。 2. [Next] を ク リ ッ ク し て [Controller Options] ページに進みます。 X-Ref Target - Figure 2-16 図 2-16 : [Memory Selection] ページ 現時点では、 QDR II+ SRAM デザ イ ンは メ モ リ マ ッ プ方式の AXI4 イ ン タ ーフ ェ イ ス をサポー ト し てい ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 241 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ ン ト ロー ラ ー オプ シ ョ ン [Options for Controller] ページには、 選択可能な コ ン ト ロ ー ラ ー オプシ ョ ンが表示 さ れます。 X-Ref Target - Figure 2-17 図 2-17 : [Options for Controller] ページ • [Clock Period] : すべての コ ン ト ロ ー ラ ーの ク ロ ッ ク 周期を示 し ます。 設定可能な ク ロ ッ ク 周期の範囲は、 選択 し た FPGA デバ イ スやその ス ピー ド グ レー ド な ど の要因に よ っ て異な り ます。 • [Vccaux_io] : 周期/周波数の設定に基づいて設定 さ れます。High Performance 列の最高周波数設定には 2.0V が必要 です。 2.0V が必要な場合は、 MIG ツールが自動的に選択 し ます。 それ よ り も 周波数が低い場合は 1.8V と 2.0V の ど ち ら も 使用 で き ま す。 バ ン ク グ ルー プ は同 じ Vccaux_io 電源 を 共有 し ま す。 詳細は、 『7 シ リ ー ズ FPGA SelectIO™ リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] を参照 し て く だ さ い。 • [Memory Part] : デザ イ ンで使用す る メ モ リ デバ イ ス を選択 し ます。 リ ス ト の中か ら 選択す る か、 リ ス ト にない 場合は [Create Custom Part] を ク リ ッ ク し て新規デバ イ ス を作成 し ます。 こ のデザ イ ンでは、 読み出 し レ イ テ ン シ が 2.0 お よ び 2.5 ク ロ ッ ク サ イ ク ルの QDR II+ SRAM デバ イ ス がサポー ト さ れてい ます。 使用す る デバ イ ス が リ ス ト にない場合は、同等のデバ イ ス を生成ま たは作成 し て目的の メ モ リ デバ イ ス をサポー ト で き る よ う に出力を 変更 し ます。 • [Data Width] : 選択 し た メ モ リ デバ イ ス に基づいてデー タ 幅の値を選択 し ます。 デバ イ ス のデー タ 幅の倍数を指 定で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 242 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [Latency Mode] : コ アの レ イ テ ン シ を固定す る 場合は、 [Fixed Latency Mode] を選択 し て任意の レ イ テ ン シ を オン に し ます。 こ のオプシ ョ ンは、 ユーザー デザ イ ン で読み出 し 応答が返 さ れ る ま での ク ロ ッ ク サ イ ク ル数を予測 可能にす る 場合に使用 し ます。 こ のモー ド を使用す る には、 [Fixed Latency Mode] を オンに し ます。 次に、 読み出 し 応答が返 さ れ る ま でのサ イ ク ル数を ド ロ ッ プダ ウ ン リ ス ト か ら 選択 し ます。指定で き る 値は 21 ~ 30 サ イ ク ル の範囲です。 実際のハー ド ウ ェ ア条件に よ っ てシ ス テ ム全体での レ イ テ ン シが こ れ よ り も 大き く な る 場合は、 最 上位の RTL フ ァ イ ルで こ の値を適宜修正 し て く だ さ い。 [Fixed Latency Mode] を オンにす る と 、実際の読み出 し レ イ テ ン シが指定 し た固定レ イ テ ン シ値 よ り 大 き い場合に エ ラ ーが発生す る こ と が あ り ま す。 読み出 し レ イ テ ン シは、 PHY 制御ブ ロ ッ ク の コ マ ン ド 出力パ ス と 非同期 IN_FIFO を介す る デー タ 入力パ ス に よ り 、 バ イ ト レーンに よ っ て最大で ク ロ ッ ク の 5 サ イ ク ル異な る こ と があ り ます。 注記 : 使用す る 固定レ イ テ ン シ値を決定す る 際は、 計測 さ れ る 最小レ イ テ ン シに 5 ク ロ ッ ク を追加す る こ と をお 勧め し ます。 [Fixed Latency Mode] を オ フ にする と 、 コ アはシ ス テ ムの最小サ イ ク ル数を使用 し ます。 • [Memory Details] : [Controller Options] ページの下部に、 選択 し た メ モ リ の コ ン フ ィ ギ ュ レーシ ョ ンに関す る 詳細 が表示 さ れます (図 2-18)。 X-Ref Target - Figure 2-18 図 2-18 : 選択 し た メ モ リ のコ ン フ ィ ギ ュ レーシ ョ ンの詳細 カ ス タ ム デバイ スの作成 1. [Controller Options] ページで周波数を正 し く 選択 し ます。 ド ロ ッ プダ ウ ン リ ス ト を使用す る か、 キーボー ド か ら 有効な値を入力 し ます。 入力値は、 サポー ト さ れ る 最大/最小周波数範囲内に制限 さ れます。 2. [Memory Part] リ ス ト か ら 目的の メ モ リ デバ イ ス を選択 し ます。 希望す る デバ イ ス が リ ス ト にない場合は、 新規 メ モ リ デバ イ ス を作成で き ます。 カ ス タ ム デバ イ ス を作成す る には、 [Memory Part] の下にあ る [Create Custom Part] を ク リ ッ ク し ます。 図 2-19 に示すダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 X-Ref Target - Figure 2-19 図 2-19 : [Create Custom Part] ダ イ ア ログ ボ ッ ク ス [Create Custom Part] ダ イ ア ロ グ ボ ッ ク ス には、 [Select Base Part] で選択 し た メ モ リ コ ン ポーネ ン ト のすべての仕様が 表示 さ れます。 1. [Enter New Memory Part Name] に新 し い メ モ リ デバ イ ス の名前を入力 し ます。 2. 基準 と な る メ モ リ デバ イ ス を [Select Base Part] か ら 選択 し ます。 3. [Row Address] の値を選択 し ます。 4. すべての フ ィ ール ド を編集後、 [Save] を ク リ ッ ク し ます。 指定 し た名前で新 し いデバ イ ス が保存 さ れます。 こ こ で作成 し たデバ イ ス は、 [Controller Options] ページの [Memory Part] リ ス ト に追加 さ れます。 デー タ ベース に も 保 存 さ れ る ため、 再利用 し てデザ イ ン を作成す る こ と がで き ます。 5. [Next] を ク リ ッ ク し て [FPGA Options] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 243 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ オプ シ ョ ン 図 2-20 に、 [Memory Options for Controller] ページ を示 し ます。 X-Ref Target - Figure 2-20 図 2-20 : [Memory Options for Controller] ページ • [Input Clock Period] : リ ス ト か ら 目的の入力 ク ロ ッ ク 周期を選択 し ます。 こ れ ら の値は、 選択 し た メ モ リ ク ロ ッ ク 周期の値 と PLL パ ラ メ ー タ ーの制限値に よ っ て決ま り ます。 PLL パ ラ メ ー タ ーの制限値の詳細は、 270 ページ の 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 244 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン FPGA オプ シ ョ ン 図 2-21 に、 [FPGA Options] ページ を示 し ます。 X-Ref Target - Figure 2-21 図 2-21 : [FPGA Options] ページ • [System Clock] : sys_clk 信号ペアの ク ロ ッ ク タ イ プ ([Single-Ended] (シ ン グルエン ド )、 [Differential] (差動)、 ま たは [No Buffer] (バ ッ フ ァ ーな し )) を選択 し ます。 [No Buffer] を選択す る と 、 IBUF プ リ ミ テ ィ ブが RTL コ ー ド で イ ン ス タ ン シエー ト さ れず、 シ ス テ ム ク ロ ッ ク に ピ ンが割 り 当て ら れません。 MIG で [No Buffer] を 選択 し て生成 さ れ たデザ イ ン を 変更せずに イ ン プ リ メ ン ト す る と 、 sys_clk_i 信号に IBUF が イ ン ス タ ン シエー ト さ れていないためにエ ラ ーが発生 し ます。[No Buffer] を選択 し た場合は、sys_clk_i を内部 ク ロ ッ ク に接続す る 必要があ り ます。 • [Reference Clock] : clk_ref 信号ペアの ク ロ ッ ク タ イ プ ([Single-Ended] (シ ン グルエン ド )、 [Differential] (差動)、 [No Buffer] (バ ッ フ ァ ーな し )、ま たは [Use System Clock] (シ ス テ ム ク ロ ッ ク を使用)) を選択 し ます。[Use System Clock] は、 入力周波数が 199 ~ 200MHz ([Input Clock Period] が 5,025ps (199MHz) ~ 4,975ps (201MHz)) の場合に表示 さ れます。 [No Buffer] を選択す る と 、 IBUF プ リ ミ テ ィ ブが RTL コ ー ド に イ ン ス タ ン シエー ト さ れず、 基準 ク ロ ッ ク に ピ ンが割 り 当て ら れません。 MIG で [No Buffer] を 選択 し て生成 さ れ たデザ イ ン を 変更せずに イ ン プ リ メ ン ト す る と 、 ref_clk_i 信号に IBUF が イ ン ス タ ン シエー ト さ れていないためにエ ラ ーが発生 し ます。[No Buffer] を選択 し た場合は、ref_clk_i を内部 ク ロ ッ ク に接続す る 必要があ り ます。 • [System Reset Polarity] : シ ス テ ム リ セ ッ ト (sys_rst) の極性を選択 し ます。 [ACTIVE LOW] を選択す る と 、 RST_ACT_LOW パ ラ メ ー タ ーが 1 に設定 さ れ、 RST_ACT_HIGH パ ラ メ ー タ ーが 0 に設定 さ れます。 • [Debug Signals for Memory Controller] : こ のオプシ ョ ン を [ON] に設定する と 、 キ ャ リ ブ レーシ ョ ン ス テー タ ス と ユーザー ポー ト 信号を example_top モジ ュ ールの ILA お よ び VIO にポー ト マ ッ プで き ます。 こ れに よ り 、 ユーザー イ ン タ ーフ ェ イ ス ポー ト の ト ラ フ ィ ッ ク を Vivado Lab Edition で簡単に確認で き ます。 こ のオプシ ョ ン を [OFF] に設定す る と 、 example_top モジ ュ ールでデバ ッ グ信号は接続 さ れず、 IP カ タ ロ グに よ り ILA/VIO モ ジ ュ ールは生成 さ れません。 論理シ ミ ュ レーシ ョ ンでは、 デバ ッ グ ポー ト は常に無効です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 245 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [Sample Data Depth] : Vivado デバ ッ グ ロ ジ ッ ク で使用 さ れ る ILA モジ ュ ールのサンプル デー タ の深 さ を選択 し ます。 こ のオプシ ョ ンは [Debug Signals for Memory Controller] を [ON] にする と 選択で き ます。 • [Internal VREF] : デー タ グループ バ イ ト で内部 VREF を使用す る と 、 VREF ピ ン を通常の I/O ピ ン と し て使用で き ます。 [Internal VREF] は、 デー タ レー ト が 800Mb/s 以下の場合のみ使用 し て く だ さ い。 [Next] を ク リ ッ ク し て [Extended FPGA Options] ページに進みます。 拡張 FPGA オプ シ ョ ン 図 2-22 に、 [Extended FPGA Options] ページ を示 し ます。 X-Ref Target - Figure 2-22 図 2-22 : [Extended FPGA Options] ページ • [Digitally Controlled Impedance (DCI)] : こ のオプシ ョ ン を選択する と 、 QDR II+ SRAM の読み出 し パ ス か ら の信 号が内部終端処理 さ れます。 DCI は HP (High Performance) バン ク で利用で き ます。 • [Internal Termination for High Range Banks] : 内部終端オプシ ョ ンは、 40、 50、 60Ω ま たは [OFF] に設定で き ま す。 こ の終端は、 QDR II+ SRAM か ら の読み出 し デー タ パ ス用です。 こ のオプシ ョ ンは HR (High Range) バン ク でのみ選択で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 246 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン I/O プ ラ ン ニ ング オプ シ ョ ン 図 2-23 に、 [I/O Planning Options] ページ を示 し ます。 X-Ref Target - Figure 2-23 図 2-23 : I/O プ ラ ン オプ シ ョ ンの選択 • [Pin/Bank Selection Mode] : 既存の ピ ン配置を指定 し てその ピ ン配置に合わせた RTL を生成す る か ([Fixed Pin Out])、 新規デザ イ ン用のバン ク を選択する か ([New Design]) を指定 し ます。 図 2-24 に、 [Fixed Pin Out] を オンに し た場合に表示 さ れ る ページ を示 し ます。 各信号に対 し て適切な ピ ン を割 り 当て る 必要があ り ます。 バン ク を選 択す る と 、 リ ス ト に表示 さ れ る ピ ンが絞 り 込まれます。 ピ ン を選択す る 前に必ず し も バン ク を選択す る 必要はあ り ません。 [Validate] を ク リ ッ ク す る と 、 MIG の ピ ン配置規則に基づいてチ ェ ッ ク が実行 さ れます。 [Validate] を ク リ ッ ク し て MIG DRC 検証が完了する ま で次のページに進む こ と はで き ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 247 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-24 図 2-24 : ピ ン/バン クの選択 コ ン ト ロー ラ ーのバン クの選択 [Bank Selection For Controller] ページでは、 メ モ リ イ ン タ ーフ ェ イ ス用のバ イ ト を選択 し ます。 次の よ う な異な る メ モ リ 信号に対 し てバ イ ト を選択で き ます。 • ア ド レ ス信号 と 制御信号 • デー タ 読み出 し 信号 • デー タ 書 き 込み信号 設定を カ ス タ マ イ ズす る には [Deselect Banks] を ク リ ッ ク し 、 適切なバン ク 信号お よ び メ モ リ 信号を選択 し ます。 デ フ ォ ル ト の設定 を 使用す る 場合は [Next] を ク リ ッ ク し て次のペー ジ に進み ま す。 バ ン ク の選択 を 解除す る には、 [Deselect Banks] を ク リ ッ ク し ま す。 デフ ォ ル ト 設定に戻すには、 [Restore Defaults] を ク リ ッ ク し ま す。 デバ イ ス の HP バン ク の Vccaux_io グループは、 破線で囲ま れてい ます。 Vccaux_io はグループ内のすべてのバン ク に共通です。 メ モ リ イ ン タ ーフ ェ イ ス では、 使用す る すべてのバン ク で 同 じ Vccaux_io を使用す る 必要があ り ます。 指定のデー タ レー ト に合わせて、 MIG に よ り VCCAUX_IO 制約が自動的に設定 さ れます。 SSI テ ク ノ ロ ジで実装 さ れたデバ イ ス では、 SLR (Super Logic Region) は各バン ク のヘ ッ ダーの番号を付けて表 さ れま す (SLR 1 な ど)。 イ ン タ ーフ ェ イ スは複数の SLR を ま た ぐ こ と はで き ません。 SLR を持たないデバ イ ス も あ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 248 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-25 図 2-25 : バン ク の選択 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 249 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン シ ス テム ピ ンの選択 [System Signals Selection] ページでは、 シ ス テ ム信号の ピ ン を選択 し ます。 MIG ツールでは、 必要に応 じ て外部ピ ン と 内部接続の ど ち ら も 選択で き ます。 X-Ref Target - Figure 2-26 図 2-26 : シ ス テム ピ ンの選択 • [sys_clk] : メ モ リ イ ン タ ーフ ェ イ ス のシ ス テ ム ク ロ ッ ク 入力で、通常は低ジ ッ タ ーの外部 ク ロ ッ ク ソ ース に接続 し ます。 [FPGA Options] ページ (図 2-21) で選択 し た [System Clock] に基づいてシ ン グルエン ド 入力ま たは差動ペ アのいずれか を選択で き ます。 sys_clk 入力は メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列にあ る 必要があ り ます。 こ の ピ ン を メ モ リ イ ン タ ーフ ェ イ ス と 同 じ バン ク に接続 し た場合、 MIG ツールは DIFF_HSTL_I や HSTL_I な ど メ モ リ イ ン タ ーフ ェ イ ス と 互換性のあ る I/O 規格を選択 し ます。sys_clk が メ モ リ イ ン タ ーフ ェ イ ス バン ク で未接 続の場合、 MIG ツールは LVCMOS18 や LVDS な ど の適切な規格を選択 し ます。 XDC は生成後に必要に応 じ て修 正で き ます。 • [clk_ref] : IDELAY 制御の基準周波数入力です。 200MHz の入力です。 clk_ref 入力は内部で生成す る こ と も 、 外部 ソ ース に接続す る こ と も で き ます。 [FPGA Options] ページ (図 2-21) で選択 し た [System Clock] に基づいて シ ン グル入力ま たは差動ペア を選択で き ます。 I/O 規格は上記の sys_clk と 同様の方法で選択 さ れます。 • [sys_rst] : 内部で生成ま たは外部ピ ンに よ っ て駆動 さ れ る シ ス テ ム リ セ ッ ト 入力です。 HP バン ク には LVCMOS18、 HR バン ク には LVCMOS25 な ど、 入力に対す る 適切な I/O 規格が MIG ツールに よ り 選択 さ れます。 sys_rst ピ ン のデフ ォ ル ト の極性はア ク テ ィ ブ Low です。 sys_rst ピ ン の極性は、 [FPGA Options] ページの [System Reset Polarity] の設定に よ り ます (図 2-21)。 • [init_calib_complete] : メ モ リ 初期化 と キ ャ リ ブ レーシ ョ ンが完了 し 、 イ ン タ ーフ ェ イ ス の使用準備がで き た こ と を示す出力です。 こ の信号は通常は内部でのみ使用 し ますが、 必要に応 じ て ピ ンに出力で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 250 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [tg_compare_error] : サンプル デザ イ ンの ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーでデー タ 比較エ ラ ーが検出 さ れた こ と を 示 し ます。 こ の信号はサ ン プル デザ イ ン でのみ生成 さ れ、 ユーザー デザ イ ンには含ま れ ません。 こ の信号は通 常ピ ンには出力 さ れませんが、 必要に応 じ て出力 さ せ る こ と が可能です。 [Next] を ク リ ッ ク し て [Summary] ページに進みます。 サマ リ [Summary] ページには、 7 シ リ ーズ FPGA の メ モ リ コ アの選択、 イ ン タ ーフ ェ イ ス パ ラ メ ー タ ー、 Vivado IP カ タ ロ グのオプシ ョ ン、 ア ク テ ィ ブ プ ロ ジ ェ ク ト の FPGA オプシ ョ ン な ど、 すべての詳細が表示 さ れます。 X-Ref Target - Figure 2-27 図 2-27 : [Summary] ページ [Next] を ク リ ッ ク し て [PCB Information] ページに進みます。 PCB 情報 [PCB Information] ページには、 MIG ツールで生成 し たデザ イ ン を使用す る ボー ド の設計に必要な PCB 関連の情報が 表示 さ れます。 [Next] を ク リ ッ ク し て [Design Notes] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 251 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン デザイ ン ノ ー ト [Generate] を ク リ ッ ク し て デ ザ イ ン フ ァ イ ル を 生 成 し ま す。 MIG ツ ー ル で は、 2 つ の 出力デ ィ レ ク ト リ (example_design お よ び user_design) が生成 さ れます。デザ イ ンの生成が完了する と MIG の GUI 画面が閉 じ ま す。 完了 デザ イ ンが生成 さ れ る と 、 さ ら に詳 し い情報を記載 し た [README] ページが表示 さ れます。 [Close] を ク リ ッ ク し て MIG ツール フ ロ ーを終了 し ます。 MIG 用の Vivado 統合デザイ ン フ ロー 1. [Generate] を ク リ ッ ク す る と 、 [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 こ のダ イ ア ロ グ ボ ッ ク ス には、 図 2-28 の よ う に、 [Out-of-Context Settings] があ り ます。 X-Ref Target - Figure 2-28 図 2-28 : [Generate Output Products] ダ イ ア ログ ボ ッ ク ス Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 252 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 2. [Out-of-Context Settings] を ク リ ッ ク し て、合成済みチ ェ ッ ク ポ イ ン ト の生成を設定 し ます。Out-of-Context フ ロ ー を有効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ ンに し ます。 こ の フ ロ ーを無効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ フ に し ます。 図 2-29 の よ う に、 デフ ォ ル ト では有効にな っ てい ます。 X-Ref Target - Figure 2-29 図 2-29 : [Out-of-Context Settings] ダ イ ア ロ グ ボ ッ ク ス 3. MIG のデザ イ ンは、 Vivado の階層デザ イ ン フ ロ ーに準拠 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) [参照 5] お よ び『Vivado Design Suite チ ュ ー ト リ アル : 階層デザ イ ン』 (UG946) [参照 6] を 参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 253 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 4. MIG デザ イ ンが生成 さ れ る と 、 図 2-30 の よ う なプ ロ ジ ェ ク ト ウ ィ ン ド ウ が表示 さ れます。 X-Ref Target - Figure 2-30 図 2-30 : Vivado ツールのプ ロ ジ ェ ク ト ウ ィ ン ド ウ (IP コ アの生成後) 5. プ ロ ジ ェ ク ト が作成 さ れ る と 、 XCI フ ァ イ ルがプ ロ ジ ェ ク ト の [Hierarchy] に追加 さ れます。 同 じ 画面に user_design のモジ ュ ール階層が表示 さ れます。HDL お よ び XDC フ ァ イ ルの リ ス ト は、[Sources] ビ ュ ーの [IP Sources] に表示 さ れます。 モジ ュ ールま たはフ ァ イ ルを ダブル ク リ ッ ク す る と 、 Vivado のエデ ィ タ ーでその フ ァ イ ルが開 き ます。 こ れ ら の フ ァ イ ルは読み取 り 専用です。 X-Ref Target - Figure 2-31 図 2-31 : Vivado ツールのプ ロ ジ ェ ク ト ソ ース ウ ィ ン ド ウ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 254 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン [Create Design] フ ロ ーま たは [Verify Pin Changes and Update Design] フ ロ ーを使用 し てデザ イ ン を MIG か ら 生成で き ます。 MIG ツールか ら のデザ イ ン の生成については、 こ れ ら の フ ロ ーに差異はあ り ません。 デザ イ ン を MIG ツールか ら 生成す る フ ロ ーに関係な く 、 XCI フ ァ イ ルは Vivado ツール プ ロ ジ ェ ク ト に追加 さ れます。 イ ンプ リ メ ン テーシ ョ ン フ ロ ーはプ ロ ジ ェ ク ト に追加 さ れた XCI フ ァ イ ルに依存す る ため、 こ の フ ロ ーはあ ら ゆ る 状況 において同 じ です。 6. MIG で生成 さ れたすべてのユーザー デザ イ ン RTL お よ び XDC フ ァ イ ルは自動的にプ ロ ジ ェ ク ト へ追加 さ れま す。 フ ァ イ ルが変更 さ れ、 こ れ ら を再度生成 し たい場合は、 XCI フ ァ イ ルで右 ク リ ッ ク し て [Generate Output Products] を ク リ ッ ク し ます (図 2-32)。 X-Ref Target - Figure 2-32 図 2-32 : RTL および制約の生成 7. [Generate Output Products] を ク リ ッ ク する と [Manage Outputs] ウ ィ ン ド ウ が表示 さ れます (図 2-33)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 255 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-33 図 2-33 : 生成用のウ ィ ン ド ウ 8. ユーザー デザ イ ンの RTL フ ァ イ ルお よ び制約フ ァ イ ル (XDC フ ァ イ ル) はすべて [Sources] → [Libraries] ビ ュ ー で表示で き ます (図 2-34)。 X-Ref Target - Figure 2-34 図 2-34 : Vivado プ ロ ジ ェ ク ト – RTL フ ァ イル と 制約 フ ァ イル Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 256 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 9. Vivado は [Open IP Example Design] フ ロ ーをサポー ト し てい ます。 こ の フ ロ ーを使用 し てサンプル デザ イ ン を 作成す る には、 [Sources] ビ ュ ーで IP を右 ク リ ッ ク し ます (図 2-35)。 X-Ref Target - Figure 2-35 図 2-35 : IP サン プル デザイ ン を開 く 10. こ のオプシ ョ ンでは新 し い Vivado プ ロ ジ ェ ク ト が作成 さ れます。 メ ニ ュ ーを選択す る と ダ イ ア ロ グ ボ ッ ク ス が 表示 さ れ、 こ のダ イ ア ロ グ ボ ッ ク ス に従っ て新 し いデザ イ ン プ ロ ジ ェ ク ト のデ ィ レ ク ト リ に移動 し ます。 デ ィ レ ク ト リ を選択 し て (ま たはデフ ォ ル ト を使用) [OK] を ク リ ッ ク し ます。 こ れに よ り 、 すべてのサンプル デザ イ ン と IP の コ ピーを含む新 し い Vivado が起動 し ます。 こ のプ ロ ジ ェ ク ト で は、 example_top が イ ンプ リ メ ン テーシ ョ ンの最上位デ ィ レ ク ト リ 、 sim_tb_top がシ ミ ュ レーシ ョ ンの最上 位デ ィ レ ク ト リ と な っ てい ます (図 2-36)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 257 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-36 図 2-36 : サン プル デザイ ンのプ ロ ジ ェ ク ト 11. [Project Manager] → [Program and Debug] の下にあ る [Generate Bitstream] を ク リ ッ ク し 、 生成 さ れたデザ イ ン の BIT フ ァ イ ルを生成 し ます。 <project directory>/<project directory>.runs/ impl_1 デ ィ レ ク ト リ には、イ ンプ リ メ ン テーシ ョ ン実行後にプ ロ ジ ェ ク ト 用に生成 さ れた レ ポー ト フ ァ イ ルがすべて含まれます。 こ のプ ロ ジ ェ ク ト では、 シ ミ ュ レーシ ョ ン も 実行で き ます。 12. MIG IP コ アは [Re-customize IP] を使用 し て再度カ ス タ マ イ ズで き ます。 example_design プ ロ ジ ェ ク ト で IP を再度カ ス タ マ イ ズす る こ と は推奨 さ れてい ません。 example_design プ ロ ジ ェ ク ト を閉 じ 、 元のプ ロ ジ ェ ク ト に戻っ てそ こ でカ ス タ マ イ ズす る のが正 し い方法です。 XCI フ ァ イ ルを右 ク リ ッ ク し て [Recustomize IP] を ク リ ッ ク す る と (図 2-37)、 MIG の GUI が表示 さ れ る のでオプシ ョ ン を設定 し てデザ イ ン を生成 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 258 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-37 図 2-37 : IP の再カ ス タ マ イ ズ MIG のデ ィ レ ク ト リ 構造 と フ ァ イルの説明 こ こ では、 MIG ツールのデ ィ レ ク ト リ 構造お よ び出力フ ァ イ ルについて詳 し く 説明 し ます。 出力デ ィ レ ク ト リ の構造 MIG ツ ールで出力 さ れ る フ ァ イ ル と デ ィ レ ク ト リ はすべて <component name> フ ォ ルダーの下に格納 さ れ ま す (<component name> は MIG デザ イ ン作成フ ロ ーの 239 ページの 「[MIG Output Options] ページ」 で指定 し た名前)。 こ こ では、 選択 し た メ モ リ コ ン ト ロ ー ラ ー (MC) デザ イ ン の MIG ツールか ら の出力デ ィ レ ク ト リ 構造を示 し ま す。 <component name> デ ィ レ ク ト リ には、 次の 3 つの フ ォ ルダーが作成 さ れます。 • docs • example_design • user_design Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 259 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン mig_7series_v2_3 docs example_design par rtl traffic_gen sim synth user_design rtl clocking controller ip_top phy ui xdc デ ィ レ ク ト リ と フ ァ イルの内容 Vivado イ ンプ リ メ ン テーシ ョ ンに関す る こ のセ ク シ ョ ンでは、 7 シ リ ーズ FPGA コ アのデ ィ レ ク ト リ と 関連フ ァ イ ル について説明 し ます。 <component name>/example_design/ こ のデ ィ レ ク ト リ には、 テ ス ト ベンチを含む完全な MIG サンプル デザ イ ンのシ ミ ュ レーシ ョ ンお よ び イ ンプ リ メ ン テーシ ョ ン に必要なすべての RTL、 制約フ ァ イ ル、 ス ク リ プ ト フ ァ イ ルが格納 さ れてい ます。 オプシ ョ ン の Vivado ロ ジ ッ ク 解析機能のモジ ュ ール も 、 こ のデ ィ レ ク ト リ に含まれます。 表 2-1 に、 example_design/rtl デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 2-1 : example_design/rfl デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前 説明 example_top.v ユーザー デザ イ ン を 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス コ アに接続す る サ ンプル デザ イ ンの最上位モジ ュ ールです。 表 2-2 に、 example_design/rtl/traffic_gen デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 2-2 : example_design/rtl/traffic_gen デ ィ レ ク ト リ に含まれる フ ァ イル 名前(1) 説明 memc_traffic_gen.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの最上位モジ ュ ールです。 cmd_gen.v コ マ ン ド ジ ェ ネ レー タ ーです。 コ マ ン ド 、 ア ド レ スお よ びバース ト 長を 個別に生成す る よ う に制御 し ます。 cmd_prbs_gen.v PRBS (Pseudo-Random Binary Sequence) コ マ ン ド 、 ア ド レ ス、 バース ト 長 を生成す る PRBS ジ ェ ネ レー タ ーです。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 260 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-2 : example_design/rtl/traffic_gen デ ィ レ ク ト リ に含まれる フ ァ イル (続き) 名前(1) 説明 memc_flow_vcontrol.v メ モ リ コ ン ト ロ ー ラ ー コ ア と cmd_gen、 read_data_path お よ び write_data_path モジ ュ ール間の フ ロ ー制御 ロ ジ ッ ク を生成 し ます。 read_data_path.v 読み出 し デー タ パ ス の最上位モジ ュ ールです。 read_posted_fifo.v メ モ リ コ ン ト ロ ー ラ ーへ送信 さ れ た 読み出 し コ マ ン ド を 格納す る モ ジ ュ ールです。 こ の FIFO 出力を使用 し て、 読み出 し デー タ の比較用の予 測デー タ を生成 し ます。 rd_data_gen.v memc_flow_vcontrol.v に対す る 読み出 し 信号お よ び Ready 信号の タ イ ミ ン グ を制御 し ます。 write_data_path.v 書 き 込みデー タ パ ス の最上位モジ ュ ールです。 wr_data_gen.v memc_flow_vcontrol.v に対す る 書 き 込み信号お よ び Ready 信号の タ イ ミ ン グ を制御 し ます。 s7ven_data_gen.v 複数の異な る デー タ パ タ ーン を生成 し ます。 a_fifo.v LUT RAM を使用 し た同期 FIFO です。 data_prbs_gen.v PRBS デー タ パ タ ーン を生成す る 32 ビ ッ ト LFSR ( リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ ) です。 init_mem_pattern_ctr.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー用の フ ロ ー制御 ロ ジ ッ ク を生成 し ます。 traffic_gen_top.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの最上位モジ ュ ールで、memc_traffic_gen モ ジ ュ ール と init_mem_pattern_ctr モジ ュ ールで構成 さ れます。 tg_prbs_gen.v こ の PRBS はフ ィ ー ド バ ッ ク 用に常にシ ン グルレベルの XOR (XNOR) を 持つため、 1 対多のフ ィ ー ド バ ッ ク メ カ ニズ ム を使用 し ます。 TAP は、 ア プ リ ケーシ ョ ン ノ ー ト XAPP052 『効率的なシ フ ト レ ジ ス タ 、 LFSR カ ウ ン タ ー、 お よ び仮想 ロ ン グ ラ ン ダ ム シーケ ン ス ジ ェ ネ レー タ ー』 に記載 の表か ら 選択 し ます。 TAP の位置はパ ラ メ ー タ ーで定義で き ます。 tg_status.v メ モ リ 読み出 し デー タ と data_gen モジ ュ ールで生成 し た比較用デー タ を比較 し ます。 一致 し ない場合はエ ラ ー信号がアサー ト さ れます。 vio_init_pattern_bram.v 外部の定義済みデー タ 入力を ブ ロ ッ ク RAM 初期化パ タ ーン と し て取 り 込みます。 こ れに よ り 、 シ ンプルなテ ス ト デー タ パ タ ーン を再コ ンパ イ ルせずに変更で き ます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 memc_traffic_gen は mig_7series_v2_3_memc_traffic_gen と な り ます。 表 2-3 に、 example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ルの一覧を示 し ます。 表 2-3 : example_design/sim デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 ies_run.sh(1) IES シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンする ための Linux 実行フ ァ イ ルです。 vcs_run.sh(1) VCS シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンす る ための Linux 実行フ ァ イ ルです。 readme.txt(1) QuestaSim、 IES、 お よ び VCS シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンす る ための 詳細 と 必要条件が記載 さ れてい ます。 sim_tb_top.v シ ミ ュ レーシ ョ ンの最上位フ ァ イ ルです。 注記 : 1. Vivado IDE の [Component Name] に 「mig_7series_0」 と 入力 し て生成 さ れたデザ イ ンでは、 [Open IP Example Design] を使用 し てサンプル デザ イ ン を作成す る と 、 ies_run.sh お よ び vcs_run.sh フ ァ イ ルが mig_7series_0_example/mig_7series_0_example.srcs/sim_1/imports/sim フ ォ ルダーに生成 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 261 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン <component name>/user_design こ のデ ィ レ ク ト リ には、 次の も のが含まれます。 • rtl フ ォ ルダーお よ び xdc フ ォ ルダー • 最上位の ラ ッ パー モジ ュ ール <component_name>.v/vhd • 最上位モジ ュ ール <component_name>_mig.v/vhd お よ び <component_name>_mig_sim.v/vhd 最上位の ラ ッ パー フ ァ イ ル <component_name>.v/vhd には、 最上位フ ァ イ ル <component_name>_mig.v/vhd の イ ン ス タ ン シエーシ ョ ンが含まれます。 最上位 ラ ッ パー フ ァ イ ルにはパ ラ メ ー タ ー宣言はな く 、 ポー ト 宣言はすべ て固定幅です。 最 上 位 フ ァ イ ル <component_name>_mig.v/vhd お よ び<component_name>_mig_sim.v/vhd は、 同 一 の モ ジ ュ ール名 <component_name>_mig を持っ てい ま す。 <component_name>_mig_sim.v/vhd フ ァ イ ル では、 シ ミ ュ レーシ ョ ンのキ ャ リ ブ レーシ ョ ン手法に関す る パ ラ メ ー タ ー値が高速モー ド viz. で、 SIM_BYPASS_INIT_CAL = FAST な ど に設定 さ れてい る こ と を除いて、 こ れ ら 2 つの フ ァ イ ルは同 じ です。 重要 : 最上位フ ァ イ ル <component_name>_mig_sim.v/vhd がシ ミ ュ レーシ ョ ンに使用 さ れ る のに対 し て、最上位 フ ァ イ ル <component_name>_mig.v/vhd は、 デザ イ ンの合成お よ び イ ンプ リ メ ン テーシ ョ ンに使用 さ れます。 最上位の ラ ッ パー フ ァ イ ルは、 user_design を 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス コ アに接続す る サン プル デザ イ ン と し て機能 し ます。 user_design/rtl/clocking 表 2-4 に、 user_design/rtl/clocking デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 2-4 : user_design/rtl/clocking デ ィ レ ク ト リ に含まれる フ ァ イル 名前(1) 説明 infrastructure.v ク ロ ッ ク の生成お よ び分配に使用 し ます。 clk_ibuf.v シ ス テ ム ク ロ ッ ク 入力バ ッ フ ァ ーを イ ン ス タ ン シエー ト し ます。 iodelay_ctrl.v IODELAY の使用に必要な IDELAYCTRL プ リ ミ テ ィ ブ を イ ン ス タ ン シエー ト し ます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 clk_ibuf は、 mig_7series_v2_3_clk_ibuf と な り ます。 user_design/rtl/phy 表 2-5 に、 user_design/rtl/phy デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 2-5 : user_design/rtl/phy に含まれる フ ァ イル 名前(1) 説明 qdr_phy_top.v 物理層の最上位モジ ュ ールです。 qdr_phy_write_top.v 書き 込みパス の最上位 ラ ッ パーです。 qdr_rld_phy_read_top.v 読み出 し パス の最上位モジ ュ ールです。 qdr_rld_mc_phy.v 最大 3 つの I/O バン ク (それぞれ 4 レーンの PHY プ リ ミ テ ィ ブ を使用) を イ ン ス タ ン シエー ト する パ ラ メ ー タ ー指定可能な ラ ッ パーです。 qdr_phy_write_init_sm.v 初期化ス テー ト マシ ンの ロ ジ ッ ク を含みます。 qdr_phy_write_control_io.v メ モ リ へ送信 さ れ る 制御信号の ロ ジ ッ ク を含みます。 qdr_phy_write_data_io.v メ モ リ へ送信 さ れ る デー タ お よ びバ イ ト 書 き 込み信号の ロ ジ ッ ク を含み ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 262 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-5 : user_design/rtl/phy に含まれる フ ァ イル (続き) 名前(1) 説明 qdr_rld_prbs_gen.v こ の PRBS モジ ュ ールは多対 1 の フ ィ ー ド バ ッ ク メ カ ニズ ム を使用 し て 2n シーケ ン ス を生成 し ます。 qdr_rld_phy_ck_addr_cmd_delay.v ア ド レ スお よ び制御信号に必要な遅延を与え る ロ ジ ッ ク を含みます。 qdr_rld_phy_rdlvl.v 段階 1 キ ャ リ ブ レーシ ョ ンの ロ ジ ッ ク を含みます。 qdr_rld_phy_read_stage2_cal.v 段階 2 キ ャ リ ブ レーシ ョ ンの ロ ジ ッ ク を含みます。 qdr_rld_phy_read_data_align.v 受信デー タ の位相を揃え ます。 qdr_rld_phy_read_vld_gen.v ユーザー イ ン タ ーフ ェ イ ス に返 さ れた読み出 し デー タ の Valid 信号を生 成する ロ ジ ッ ク を含みます。 qdr_phy_byte_lane_map.v こ の ラ ッ パー フ ァ イ ルは mc_phy モジ ュ ールのポー ト と ユーザーの メ モ リ ポー ト 間でベ ク タ ーの再マ ッ プを実行 し ます。 qdr_rld_phy_4lanes.v I/O バン ク のパ ラ メ ー タ ー指定可能な 4 レーン PHY です。 qdr_rld_byte_lane.v 出力 ま た は入力バ イ ト レ ー ン 内で必要 な プ リ ミ テ ィ ブ イ ン ス タ ン シ エーシ ョ ン を含みます。 qdr_rld_byte_group_io.v シ ン グル バ イ ト レーン用のパ ラ メ ー タ ー指定可能な I/O ロ ジ ッ ク イ ン ス タ ン シエーシ ョ ン と I/O 終端を含みます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 qdr_phy_top は mig_7series_v2_3_qdr_phy_top と な り ます。 <component name>/user_design/xdc 表 2-6 に、 user_design/xdc デ ィ レ ク ト リ に含まれ る フ ァ イ ルの一覧を示 し ます。 表 2-6 : user_design/xdc デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 <component name>.xdc ユーザー デザ イ ンの コ アの XDC フ ァ イ ルです。 ピ ン変更の検証およびデザイ ンの更新 こ の機能は、 バン ク の選択、 バ イ ト の選択、 ピ ンの割 り 当てに関 し て入力 XDC を検証 し ます。 [Verify Pin Changes and Update Design] ページの [Validate] を ク リ ッ ク す る と 、 エ ラ ー と 警告が別のダ イ ア ロ グ ボ ッ ク ス に表示 さ れ ます。 こ の機能は、 MIG ツールでデザ イ ン を生成後に ピ ン配置を変更 し た場合に XDC を検証す る 際に有用です。 生成 し た .prj フ ァ イ ル (未修正の元の .prj フ ァ イ ル) を MIG ツールで読み込みます。 Vivado IP カ タ ロ グで再カ ス タ マ イ ズ のオプシ ョ ン を選択 し てプ ロ ジ ェ ク ト を再 ロ ー ド し ます。MIG の DRC にパ ス し なければデザ イ ンは生成で き ません。 ピ ン配置の検証に関す る 警告は、 こ こ では関係ないので無視 し ま す。 XDC の検証のみでは不十分な ため、 実際にデ ザ イ ン を生成 し 、 ク ロ ッ ク お よ び PHASER に関す る 制約を更新 し た XDC、 お よ び各種 MAP パ ラ メ ー タ ーを更新 し た最上位の RTL モジ ュ ールを得 る 必要があ り ます。 デザ イ ンの更新機能は、 次の状況で必要 と な り ます。 • 以前のバージ ョ ンの MIG で ピ ン配置を生成 し てお り 、 デザ イ ン を現在のバージ ョ ンの MIG でア ッ プデー ト す る 場合。 一部の MIG デザ イ ンに対 し て、 ピ ン配置割 り 当て アルゴ リ ズ ムが変更 さ れてい ます。 • ピ ン配置を MIG 外で生成 し てい る か、 デザ イ ン を生成 し た後に変更 し てい る 場合。 デザ イ ン を MIG か ら 生成す る と 、 XDC お よ び HDL コ ー ド が正 し い制約 と 共に生成 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 263 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 入力 XDC か ら 検証 さ れた規則を次に示 し ます。 • 1 つの ピ ンが複数の信号に割 り 当て ら れてい る 場合、 エ ラ ーが報告 さ れます。 XDC が一意性の属性を満た し てい ない場合、 それ以上の検証は行われません。 • 検証済みの共通規則 • • • ° 1 つの イ ン タ ーフ ェ イ ス は、 最大で 3 つの連続 し たバン ク を ま た ぐ こ と がで き ます。 ° イ ン タ ーフ ェ イ ス バン ク は FPGA の同 じ 列にあ る 必要があ り ます。 ° イ ン タ ーフ ェ イ ス バン ク は HP (High Performance) バン ク で も HR (High Range) バン ク で も か ま い ません。HP バン ク は高周波数用に使用 し ます。 ° 選択 し たデバ イ ス が ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト テ ク ノ ロ ジ を使用 し てい る 場合、 選択 し た イ ン タ ーフ ェ イ ス バン ク は同 じ SLR 領域を持っ てい る 必要があ り ます。 ° 内部 VREF を使用す る 場合、 ま たはバン ク に入出力/入力ポー ト がない場合は、 VREF I/O を GPIO と し て使用 す る 必要があ り ます。 ° 各信号の I/O 規格は、 選択 し た コ ン フ ィ ギ ュ レーシ ョ ンに従っ て検証 さ れます。 ° 各信号の VCCAUX I/O を検証 し 、 供給 さ れ る VCCAUX I/O が有効でない場合はエ ラ ー メ ッ セージが表示 さ れます。 検証済みのデー タ 読み出 し ピ ンの規則 ° 1 つの コ ン ポーネ ン ト に関連す る ピ ンは同 じ バン ク に割 り 当て る 必要があ り ます。 ° ス ト ロ ーブ ペア (CQ) は MRCC P ま たは MRCC N ピ ンに割 り 当て る 必要があ り ます。 ° 読み出 し デー タ ピ ンは、 必要なバ イ ト レーンの数を超え て ま た ぐ こ と はで き ません。 た と えば、 18 ビ ッ ト の コ ン ポーネ ン ト が占有で き る のは 2 バ イ ト レーン ま でです。 ° 1 つのバ イ ト レーンには 1 つの読み出 し バ イ ト (Q[8:0] や Q[17:9] な ど) の ピ ン し か含め る こ と がで き ませ ん。 ° 1 つのバ イ ト レーンに複数の コ ン ポーネ ン ト の ピ ン を含め る こ と はで き ません。 ° 1 つの FPGA バ イ ト レーンに 2 つの異な る ス ト ロ ーブ セ ッ ト に関連す る ピ ン を含め る こ と はで き ません。 ° VREF I/O は内部 VREF を選択 し た場合のみ使用で き ます。 検証済みのデー タ 書 き 込みピ ンの規則 ° 1 つの コ ン ポーネ ン ト に関連 し た ピ ンは 1 つのバン ク に し か割 り 当て る こ と がで き ません。 ° 書 き 込み ク ロ ッ ク (K/K#) ペアは DQS CC I/O に割 り 当て る 必要があ り ます。 ° 書 き 込みデー タ ピ ンは、 必要なバ イ ト レーンの数を超えて ま た ぐ こ と はで き ません。 た と えば 18 ビ ッ ト の コ ン ポーネ ン ト は 2 バ イ ト レーン ま で し か占有で き ません。 ° 1 つのバ イ ト レーンに複数の コ ン ポーネ ン ト の ピ ン を含め る こ と はで き ません。 ° 1 つのバ イ ト レーンには 1 つの書き 込みバ イ ト (D[8:0] や D[17:9] な ど) の ピ ン し か含め る こ と がで き ませ ん。 ° 内部 VREF を使用す る か ど う かにかかわ ら ず、バン ク にほかの入力信号がなければ VREF ピ ン を GPIO と し て 使用で き ます。 検証済みのア ド レ ス ピ ンの規則 ° ア ド レ ス信号を qdriip_dll_off_n 信号以外のデー タ バ イ ト と 混在 さ せる こ と はで き ません。 ° 孤立 し たバ イ ト レーンはい く つで も 使用で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 264 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • 検証済みのシ ス テ ム ピ ンの規則 ° ° ° システム ク ロ ッ ク - SR/MR CC I/O ペアのいずれかに割 り 当て る 必要があ り ます。 - メ モ リ バン ク 列に割 り 当て る 必要があ り ます。 - シ ス テ ム ク ロ ッ ク の タ イ プにシ ン グルエン ド を選択 し た場合、同 じ バン ク に基準電圧ピ ンが割 り 当て ら れていないか、 内部 VREF を使用 し てい る か を確認す る 必要があ り ます。 基準 ク ロ ッ ク - SR/MR CC I/O ペアのいずれかに割 り 当て る 必要があ り ます。 - シ ス テ ム ク ロ ッ ク の タ イ プにシ ン グルエン ド を選択 し た場合、同 じ バン ク に基準電圧ピ ンが割 り 当て ら れていないか、 内部 VREF を使用 し てい る か を確認す る 必要があ り ます。 ス テー タ ス信号 - sys_rst 信号は VREF I/O が割 り 当て ら れていないバン ク に割 り 当て る か、 内部 VREF を使用す る 必要 があ り ます。 - I/O 規格に互換性がないため、 こ れ ら の信号は メ モ リ 以外のバン ク に割 り 当て る 必要があ り ます。 I/O 規 格は I/O 電圧 1.8V の LVCMOS と す る 必要があ り ます。 - こ れ ら の信号は 1 つの メ モ リ 列に属す る ため、 ハー ド 制約はな く 任意の列に割 り 当て る こ と がで き ます が、 選択 し た メ モ リ バン ク の近 く にする こ と を推奨 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 265 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのアーキテ ク チ ャ 概要 図 2-38 に、 7 シ リ ーズ FPGA の QDR II+ SRAM イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンの概略ブ ロ ッ ク 図を示 し ます。 こ の図には、 読み出 し /書 き 込み コ マ ン ド を開始す る ための ク ラ イ ア ン ト イ ン タ ーフ ェ イ スへの内部 FPGA 接続、 お よ び メ モ リ デバ イ スへの外部 イ ン タ ーフ ェ イ ス を示 し て あ り ます。 X-Ref Target - Figure 2-38 3K\VLFDO ,QWHUIDFH &OLHQW ,QWHUIDFH FON TGUBNBS . V\VBUVW TGUBNBQ . UVWBGN TGUBZBQ : FONBZU TGUBUBQ 5 FONBPHP TGUBVD 6$ PPFPBORFNHG TGUBG ' LRGHOD\BFWUOBUG\ TGUBEZBQ %: DSSBZUBFPG TGUBFTBS &4 DSSBZUBDGGU TGUBFTBQ &4 DSSBZUBGDWD TGUBT 4'5,,65$0 4 DSSBZUBEZBQ DSSBUGBFPG DSSBUGBDGGU DSSBUGBYDOLG DSSBUGBGDWD LQLWBFDOLEBFRPSOHWH 6HULHV)3*$ 8*BFBB 図 2-38 : QDR II+ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンの概略ブ ロ ッ ク 図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 266 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PHY は次の要素で構成 さ れてい ます (図 2-39)。 • ユーザー イ ン タ ーフ ェ イ ス • 物理 イ ン タ ーフ ェ イ ス a. 書 き 込みパ ス b. 読み出 し デー タ パ ス X-Ref Target - Figure 2-39 3K\VLFDO,QWHUIDFH &OLHQW,QWHUIDFH FONBZU FNBPHP FON V\VBUVW UVWBGN 5HVHW 0RGXOH &ORFN *HQHUDWLRQ TGUBNBS TGUBNBQ TGUBGOOBRIIBQ PPFPBORFNHG LRGHOD\BFWUOBUG\ 8VHU 'HYLFH TGUBZBQ DSSBZUBFPG 4'5,,65$0 'HYLFH TGUBUBQ TGUBVD DSSBUGBFPG :ULWH3DWK TGUBG DSSBZUBDGGU DSSBUGBDGGU TGUBEZBQ DSSBZUBGDWD DSSBZUBEZBQ TGUBFTBS DSSBUGBYDOLG 5HDG3DWK TGUBFTBQ DSSBUGBGDWD TGUBT SK\BWRS LQLWBFDOLEBFRPSOHWH XVHUBWRS 8*BFBB 図 2-39 : QDR II+ SRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンの構成 ク ラ イ ア ン ト イ ン ターフ ェ イ ス (ユーザー イ ン ターフ ェ イ ス と も 呼びます) は、 完全に SDR (シ ン グル データ レー ト ) 信号ベース のシ ンプルなプ ロ ト コ ルを用いて読み出 し お よ び書 き 込み要求を生成 し ます。 こ のプ ロ ト コ ルの詳細は、 「ユーザー イ ン タ ーフ ェ イ ス」 で説明 し ます。 物理 イ ン タ ーフ ェ イ ス は、 QDR II+ プ ロ ト コ ル と タ イ ミ ン グ要件を満 た し なが ら 外部 メ モ リ デバ イ ス と 通信で き る よ う に、 適切な タ イ ミ ン グ関係 と DDR 信号を生成 し ます。 詳細は、 「物 理 イ ン タ ーフ ェ イ ス」 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 267 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PHY の ロ ジ ッ ク は、 読み出 し パ ス と 書 き 込みパ ス に分割 さ れてい ます。 読み出 し パ ス にはキ ャ リ ブ レーシ ョ ンの役割 も あ り 、 読み出 し 応答を Valid 信号 と 共に返 し ます。 こ のプ ロ セ ス の詳細は、 「キ ャ リ ブ レーシ ョ ン」 を参照 し て く だ さ い。 書 き 込みパ ス は、 読み出 し /書 き 込み要求の生成に必要な QDR II+ 信号を生成 し ます。 こ れには、 制御信号、 ア ド レ ス、 デー タ 、 バ イ ト 書 き 込みが含まれます。 ユーザー イ ン タ ー フ ェ イ ス ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス は 7 シ リ ーズ FPGA のユーザー デザ イ ン を QDR II+ SRAM ソ リ ュ ーシ ョ ン コ アに接 続 し 、 ユーザー と 外部 メ モ リ デバ イ ス間のや り と り を簡略化 し ます。 コ マ ン ド 要求信号 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス には、 メ モ リ デバ イ ス に対す る 読み出 し /書 き 込み コ マ ン ド を発行す る ための信号が あ り ます。 表 2-7 に、 こ れ ら の信号を ま と め ます。 バース ト 長 4 のデバ イ ス をサポー ト す る ため、 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス には読み出 し ポー ト と 書 き 込みポー ト がそれぞれ 2 つずつあ り ます。 バース ト 長 4 を使用す る 場合は、 末尾が 0 のポー ト のみを使用 し て く だ さ い。 表 2-7 : ク ラ イ ア ン ト イ ン タ ー フ ェ イ スの要求信号 信号 方向 説明 init_calib_complete 出力 Calibration Done。 キ ャ リ ブ レ ー シ ョ ン が 完了 し た こ と を ユーザー デザ イ ン に通知す る 信号です。 こ の信号がア サー ト さ れた ら 、 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス か ら 読み出 し / 書き 込み要求を開始で き ます。 app_rd_addr0[ADDR_WIDTH – 1:0] 入力 Read Address。 読み出 し 要求に使用する ア ド レ ス を供給 し ま す。 app_rd_cmd0 がアサー ト さ れ る と 有効にな り ます。 app_rd_cmd0 入力 Read Command。 読み出 し 要求 を 発行す る た め の信号 で、 ポー ト 0 のア ド レ ス が有効であ る こ と を示 し ます。 app_rd_data0[DATA_WIDTH × BURST_LEN – 1:0] 出力 Read Data。 app_rd_cmd0 で発行 さ れた読み出 し コ マ ン ド か ら 読み出 し たデー タ を送信 し ます。 app_rd_valid0 出力 Read Valid。 メ モ リ か ら 読み出 し たデー タ が app_rd_data0 で 有効で、 サンプ リ ン グ可能にな っ た こ と を示 し ます。 app_rd_addr1[ADDR_WIDTH – 1:0] 入力 Read Address。 読み出 し 要求に使用する ア ド レ ス を供給 し ま す。 app_rd_cmd1 がアサー ト さ れ る と 有効にな り ます。 app_rd_cmd1 入力 Read Command。 読み出 し 要求 を 発行す る た め の信号 で、 ポー ト 1 のア ド レ ス が有効であ る こ と を示 し ます。 app_rd_data1[DATA_WIDTH × 2 – 1:0] 出力 Read Data。 app_rd_cmd1 で発行 さ れた読み出 し コ マ ン ド か ら 読み出 し たデー タ を送信 し ます。 app_rd_valid1 出力 Read Valid。 メ モ リ か ら 読み出 し たデー タ が app_rd_data1 で 有効で、 サンプ リ ン グ可能にな っ た こ と を示 し ます。 app_wr_addr0[ADDR_WIDTH – 1:0] 入力 Write Address。 書 き 込み要求に対す る ア ド レ ス を供給 し ま す。 app_wr_cmd0 がアサー ト さ れ る と 有効にな り ます。 app_wr_bw_n0[BW_WIDTH × BURST_LEN – 1:0] 入力 Write Byte Writes。 書き 込み要求に使用する バ イ ト 書き 込み 信号を供給 し ます。app_wr_cmd0 がアサー ト さ れ る と 有効に な り ます。 こ れ ら の イ ネーブル信号はア ク テ ィ ブ Low です。 app_wr_cmd0 入力 Write Command。書き 込み要求を発行する ための信号で、書 き 込みポー ト 0 の対応す る サ イ ド バ ン ド 信号が有効で あ る こ と を示 し ます。 app_wr_data0[DATA_WIDTH × BURST_LEN – 1:0] 入力 Write Data。 書 き 込み要求に使用す る デー タ を供給 し ま す。 app_wr_cmd0 がアサー ト さ れ る と 有効にな り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 268 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-7 : ク ラ イ ア ン ト イ ン タ ー フ ェ イ スの要求信号 (続き) 信号 方向 説明 app_wr_addr1[ADDR_WIDTH – 1:0] 入力 Write Address。 書 き 込み要求に対す る ア ド レ ス を供給 し ま す。 app_wr_cmd1 がアサー ト さ れ る と 有効にな り ます。 app_wr_bw_n1[BW_WIDTH × 2 – 1:0] 入力 Write Byte Writes。 書き 込み要求に使用する バ イ ト 書き 込み 信号を供給 し ます。app_wr_cmd1 がアサー ト さ れ る と 有効に な り ます。 こ れ ら の イ ネーブル信号はア ク テ ィ ブ Low です。 app_wr_cmd1 入力 Write Command。書き 込み要求を発行する ための信号で、書 き 込みポー ト 1 の対応す る サ イ ド バ ン ド 信号が有効で あ る こ と を示 し ます。 app_wr_data1[DATA_WIDTH × 2 – 1:0] 入力 Write Data。 書 き 込み要求に使用す る デー タ を供給 し ま す。 app_wr_cmd1 がアサー ト さ れ る と 有効にな り ます。 ク ラ イ ア ン ト イ ン タ ー フ ェ イ ス を介 し た コ ア と のイ ン タ ー フ ェ イ ス ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス のプ ロ ト コ ルは、ポー ト 0 と ポー ト 1 の ど ち ら の イ ン タ ーフ ェ イ ス信号を使用す る 場 合 も 共通です (図 2-40)。 X-Ref Target - Figure 2-40 FON DSSBZUBFPG DSSBZUBDGGU :5B$''5 :5B$''5 DSSBZUBGDWD :5B'$7$ :5B'$7$ DSSBZUBEZBQ :5B%:B1 :5B%:B1 DSSBUGBFPG DSSBUGBDGGU 5'B$''5 5'B$''5 DSSBUGBYOG DSSBUGBGDWD 5'B'$7$ LQLWBFDOLEBFRPSOHWH 8*BFBB 図 2-40 : QDR II+ SRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンの構成 要求を発行す る 前に、 init_calib_complete 信号が High にアサー ト さ れてい る 必要があ り ます (図 2-40)。 アサー ト さ れていない場合は読み出 し /書 き 込み要求を発行で き ず、 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス側では app_wr_cmd ま たは app_rd_cmd のアサー ト が無視 さ れます。 app_wr_cmd を 1 サ イ ク ル パルス と し て アサー ト す る と 書 き 込み要 求が発行 さ れます。 こ の と き 、 app_wr_addr、 app_wr_data、 app_wr_bw_n 信号がいずれ も 有効であ る 必要があ り ます。 直後のサ イ ク ルで app_rd_cmd を 1 サ イ ク ル パル ス と し て アサー ト す る と 読み出 し 要求が発行 さ れ ます。 こ の と き 、 app_rd_addr が有効であ る 必要があ り ます。 1 サ イ ク ルのア イ ド ル時間の後、 同 じ ク ロ ッ ク サ イ ク ルで読 み出 し 要求 と 書 き 込み要求が同時にアサー ト さ れます。 こ の場合、 メ モ リ の読み出 し が先に実行 さ れ、 次に書 き 込み が実行 さ れます。 図 2-40 には、 メ モ リ デバ イ ス か ら ユーザー デザ イ ンにデー タ が返 さ れ る タ イ ミ ン グ も 示 し てい ます。 app_rd_vld 信号がアサー ト さ れ る と 、app_rd_data は有効です。コ アは返 さ れたデー タ をバ ッ フ ァ ー し ないため、app_rd_vld がアサー ト さ れてい る サ イ ク ルで app_rd_data を サ ン プ リ ン グす る 必要があ り ます。 必要に応 じ て こ の機能を追加で き ます。 図 2-40 はプ ロ ト コ ルの説明のための も のであ り 、 必ず し も こ の読み出 し コ マ ン ド か ら デー タ が返 さ れ る わ けではあ り ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 269 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ク ロ ッ キング アーキテ ク チ ャ PHY デザ イ ンでは、PLL モジ ュ ールを使用 し て さ ま ざ ま な ク ロ ッ ク を生成す る 必要があ り ます。 ク ロ ッ ク をデザ イ ン 全体に分配す る ために、 グ ロ ーバル ク ロ ッ ク ネ ッ ト ワー ク と ロ ーカル ク ロ ッ ク ネ ッ ト ワー ク の両方を使用 し ます。 ク ロ ッ ク の生成お よ び分配回路 と ネ ッ ト ワ ー ク は PHY 内部のブ ロ ッ ク を駆動 し ま す。 こ れ ら のブ ロ ッ ク は、 次の 4 つの機能に大別 さ れます。 • 内部 FPGA ロ ジ ッ ク • 書 き 込みパ ス (出力) ロ ジ ッ ク • 読み出 し パ ス (入力) お よ び遅延 ロ ジ ッ ク • IDELAY 基準 ク ロ ッ ク (200MHz) PHY には MMCM と PLL がそれぞれ 1 つずつ必要です。 ほ と ん ど の内部 ロ ジ ッ ク 用の ク ロ ッ ク 、 PHASER への入力 ク ロ ッ ク 、 そ し てマルチ I/O バン ク イ ン プ リ メ ン テーシ ョ ン で複数の PHASER ブ ロ ッ ク の同期のために必要な同期 パルス は、 こ の PLL を使用 し て生成 し ます。 PHASER ブ ロ ッ ク には、 メ モ リ 基準 ク ロ ッ ク 、 周波数基準 ク ロ ッ ク 、 位相基準 ク ロ ッ ク の 3 つを PLL か ら 供給 し ま す。 メ モ リ 基準 ク ロ ッ ク は、QDR II+ メ モ リ イ ン タ ーフ ェ イ ス ク ロ ッ ク と 同 じ 周波数であ る 必要があ り ます。400MHz ~ 1,066MHz の周波数範囲要件を満たす よ う に、周波数が 400MHz 以上の場合は周波数基準 ク ロ ッ ク が メ モ リ ク ロ ッ ク と 同 じ 周波数で動作 し 、 周波数が 400MHz 未満の場合は メ モ リ ク ロ ッ ク 周波数の 2 倍で動作す る 必要があ り ます。 位相基準 ク ロ ッ ク は 読み出 し バ ン ク で 使用 し ま す。 こ の ク ロ ッ ク は内部配線 さ れ た メ モ リ 読み出 し ク ロ ッ ク (CQ/CQ#) を使用 し て生成 さ れ、 PHASER ロ ジ ッ ク でデー タ キ ャ プチ ャ に使用 さ れ ま す。 図 2-41 に、 ク ロ ッ キ ン グ アーキ テ ク チ ャ のブ ロ ッ ク 図を示 し ます。 X-Ref Target - Figure 2-41 ,QWHUQDO)3*$/RJLF&ORFN 3+<B&ON &/.,1 &/.)%287 %8)* &/.)%,1 00&0 0+],'(/$< 5HIHUHQFH&ORFN ,&/. 3KDVHUB,1 &/.5() 1 567 ,'(/$<&75/ &/.5() 3 ,%8)*'6 ,6(5'(626(5'(6 &RQQHFWLYLW\ &/.287 &/.287 6\VWHP&ORFN,QSXW3DLU V\QFBSXOVH &/.,1 3// /2&.(' 2&/. 3KDVHUB287 PHPBUHIFON &/.287 6<6&.1 6<6&.3 ,&/.',9 /2&.(' LGHOD\FWUOBUG\ 2&/.',9 2&/.B'(/$<(' SOOBORFN ,%8)*'6 IUHTBUHIFON 567 6<6567 &/.287 ,%8) 3+<&RQWURO &/.,1 UHIBGOOBORFN 3+$6(5B5() 567 ; 図 2-41 : ク ロ ッ キング アーキテ ク チ ャ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 270 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PLL 逓倍値 (M) お よ び分周値 (D) のデフ ォ ル ト 設定では、 シ ス テ ム ク ロ ッ ク 入力周波数が メ モ リ ク ロ ッ ク 周波数 と 同 じ にな っ てい ます。 こ の 1:1 の比率は必須ではあ り ません。 PLL 入力分周値 (D) は、 PLL2 の動作条件が満た さ れて 適切な制約が適用 さ れてい る 限 り 、 『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) [参照 10] に 記載 さ れてい る 値を使用で き ます。 PLL の乗算値 (M) は、 必ず 1 ~ 16 (1 と 16 を含む) か ら 選択 し ます。 PLL VCO の 周波数範囲は、 各デバ イ ス のデー タ シー ト に記載 さ れてい る 範囲内に し て く だ さ い。 sync_pulse は、 mem_refclk 周波 数の 1/16 で、 デ ュ ーテ ィ サ イ ク ルは 1/16 (6.25%) の必要があ り ます。 PLL お よ びシ ス テ ム ク ロ ッ ク CCIO 入力の物 理的配置情報は、 289 ページの 「設計ガ イ ド ラ イ ン」 を参照 し て く だ さ い。 PLL に よ っ て生成 さ れ る 内部 FPGA ロ ジ ッ ク ク ロ ッ ク は、 グ ロ ーバル ク ロ ッ キ ン グ リ ソ ース で QDR II+ メ モ リ の半 分の周波数で ク ロ ッ キ ン グ さ れます。 IDELAYCTRL モジ ュ ールには 200MHz の IDELAY 基準 ク ロ ッ ク を供給す る 必要があ り ます。 こ のモジ ュ ールは、 環 境の変化に合わせて I/O 領域内の IDELAY エ レ メ ン ト のキ ャ リ ブ レ ーシ ョ ン を常時実行 し ま す。 IP コ アは、 外部 ク ロ ッ ク 信号 が IDELAYCTRL モジ ュ ールを駆動する こ と を前提 と し てい ます。 IDELAYCTRL 入力 ク ロ ッ ク を PLL ク ロ ッ ク で駆動す る 場合は、 PLL ロ ッ ク 信号を IODELAY_CTRL モジ ュ ール内の rst_tmp_idelay 信号に組み込む必 要があ り ます。 こ れに よ り 、 ク ロ ッ ク を使用前に安定 さ せ る こ と がで き ます。 表 2-8 に、 イ ン フ ラ ス ト ラ ク チ ャ モジ ュ ールで使用する 信号を ま と め ます。 こ れ ら は、 デザ イ ン で必要な ク ロ ッ ク お よ び リ セ ッ ト 信号を供給 し ます。 表 2-8 : イ ン フ ラ ス ト ラ ク チ ャの ク ロ ッ キング/ リ セ ッ ト 信号 信号 方向 説明 mmcm_clk 入力 シ ス テ ム ク ロ ッ ク 入力です。 sys_rst 入力 ユーザー アプ リ ケーシ ョ ンか ら の コ ア リ セ ッ ト です。 iodelay_ctrl_rdy 入力 IDELAYCTRL ロ ッ ク ス テー タ ス です。 clk 出力 半分の周波数の FPGA ロ ジ ッ ク ク ロ ッ ク です。 mem_refclk 出力 メ モ リ ク ロ ッ ク と 同 じ 周波数の PLL 出力 ク ロ ッ ク です。 freq_refclk 出力 PHASER の FREQREFCLK 入力 を 供給す る PLL 出力 ク ロ ッ ク で す。 周波数 が 400 ~ 1,066MHz の範囲 と な る よ う に生成 さ れます。 sync_pulse 出力 mem_Refclk の 1/16 で生成 さ れ る PLL 出力です。 マルチバン ク イ ンプ リ メ ン テーシ ョ ンで 同期信号 と し て PHY ハー ド ブ ロ ッ ク に送信 さ れます。 pll_locked 出力 PLLE2_ADV か ら の ロ ッ ク 出力です。 rstdiv0 出力 内部 FPGA ロ ジ ッ ク の 1/2 周波数 ク ロ ッ ク に同期 し た リ セ ッ ト 出力です。 物理イ ン タ ー フ ェ イ ス 物理 イ ン タ ーフ ェ イ ス は、 FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン を外部の QDR II+ SRAM デバ イ ス に接続 す る 部分です。 表 2-9 に、 こ の イ ン タ ーフ ェ イ ス で使用 さ れ る I/O 信号を示 し ます。 こ れ ら の信号は、 QDR II+ SRAM デバ イ ス の対応す る 信号へ直接接続で き ます。 表 2-9 : 物理イ ン タ ー フ ェ イ スの信号 信号 方向 説明 qdr_cq_n 入力 QDR CQ#。 メ モ リ か ら 返 さ れ る エ コ ー ク ロ ッ ク です。 qdr_k_n か ら 生成 さ れます。 qdr_cq_p 入力 QDR CQ。 メ モ リ か ら 返 さ れ る エ コ ー ク ロ ッ ク です。 qdr_k_p か ら 生成 さ れます。 qdr_d 出力 QDR Data。 PHY か ら QDR II+ メ モ リ デバ イ スへの書き 込みデー タ です。 qdr_dll_off_n 出力 QDR DLL Off。 メ モ リ デバ イ ス の DLL をオ フ にする 信号です。 qdr_bw_n 出力 QDR Byte Write。 PHY か ら QDR II+ SRAM デバ イ スへのバ イ ト 書き 込み信号です。 qdr_k_n 出力 QDR Clock K#。 メ モ リ デバ イ スへ供給 さ れ る 反転入力 ク ロ ッ ク です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 271 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-9 : 物理イ ン タ ー フ ェ イ スの信号 (続き) 信号 方向 説明 qdr_k_p 出力 QDR Clock K。 メ モ リ デバ イ スへ供給 さ れ る 入力 ク ロ ッ ク です。 qdr_q 入力 QDR Data Q。 メ モ リ の読み出 し か ら 返 さ れ る デー タ です。 qdr_sa 出力 QDR Address。 メ モ リ の操作で使用する ア ド レ ス です。 qdr_w_n 出力 QDR Write。 メ モ リ への書き 込み コ マ ン ド です。 qdr_r_n 出力 QDR Read。 メ モ リ への読み出 し コ マ ン ド です。 メ モ リ デバイ ス と のイ ン タ ー フ ェ イ ス 図 2-42 に、 4 ワー ド メ モ リ デバ イ ス の物理 イ ン タ ーフ ェ イ ス プ ロ ト コ ルを示 し ます。 X-Ref Target - Figure 2-42 TGUBNBS TGUBNBQ TGUBZBQ TGUBUBQ TGUBVD 5'B$''5 :5B$''5 TGUBG ': ': ': ': TGUBEZBQ %: %: %: %: ': ': ': TGUBFTBS TGUBFTBQ TGUBT ': 8*BFBB 図 2-42 : バース ト 長 4 ワー ド の メ モ リ デバイ スのプ ロ ト コル 4 ワ ー ド バース ト モー ド • ア ド レ ス は SDR フ ォーマ ッ ト です。 • メ モ リ へのすべての入力信号は qdr_k_p に対 し て中央に位置 し てい ます。 • qdr_w_n がアサー ト さ れた後の qdr_k_p の立ち上が り エ ッ ジで書 き 込み要求に対す る デー タ が現れます。 • バ イ ト 書 き 込み信号がデー タ と 一緒にサンプ リ ン グ さ れます。 • qdr_q 信号のエ ッ ジは qdr_cq_p お よ び qdr_cq_n と 揃っ てい ます。 PHY のアーキテ ク チ ャ 7 シ リ ーズ FPGA の PHY は専用のブ ロ ッ ク と ソ フ ト キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク で構成 さ れてい ます。 専用ブ ロ ッ ク は互いに隣接 し て配置 さ れ、 高性能な物理層を構築す る ために必要な ク ロ ッ ク お よ びデー タ パ ス配線を最短に抑え る よ う 、 イ ン タ ー コ ネ ク ト で直接接続 さ れてい ます。 QDR II+ SRAM PHY で使用 さ れてい る 主な専用ブ ロ ッ ク と その機能は次の と お り です。 • 7 シ リ ーズの各バン ク で利用可能な I/O は 4 つのバ イ ト グループに分け ら れ、 1 つのグループは最大 12 の I/O で 構成 さ れてい ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 272 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • 各バ イ ト グループに PHASER_IN/PHASER_OUT ブ ロ ッ ク があ り 、 ク ロ ッ ク 位相を高精度で調整で き る 複数段階 のプ ロ グ ラ マブル遅延 ラ イ ン ループ を形成 し ます。PHASER に よ っ て生成 さ れ る I/O バン ク 内の専用 ク ロ ッ ク は バ イ ト グループ ク ロ ッ ク と 呼ばれ、 こ の ド ラ イ バーに よ っ て駆動 さ れ る ロ ー ド 数を最小に抑え ます。 • OUT_FIFO と IN_FIFO は各バ イ ト グループが備え る 、 深 さ が 8 の浅い FIFO で、 デー タ を FPGA ロ ジ ッ ク ド メ イ ンか ら I/O ク ロ ッ ク ド メ イ ンへ転送す る 役割を果た し ます。OUT_FIFO は メ モ リ に送信す る 出力デー タ と ア ド レ ス/制御信号を格納す る ために使用 し 、 IN_FIFO はキ ャ プチ ャ し た読み出 し デー タ を FPGA ロ ジ ッ ク に転送す る 前に格納す る ために使用 し ます。 メ モ リ イ ン タ ーフ ェ イ ス信号をバ イ ト グループ内に配置す る 際の規則については、「ピ ン配置の要件」 で説明 し ます。 X-Ref Target - Figure 2-43 $GGUHVV&RQWURO%DQN ' ' 4 287B),)2V :5(1 $''5&0' TGUBZBQ 2/2*,& 26(5'(6 2&/.',9 0(05()&/. )5(45()&/. 8VHUBUGBFPG 5&/. :&/. 5'(1 35(B),)2 3K\BZULWHBWRS TGUBUBQ :5(1 &/. 5(6(7 4'5,,65$03+<,QWHUIDFH TGUBVD ,2% 2/2*,&UVW 3+$6(5B 287B3+< 2&/. UGBFPG 8VHUBZUBFPG 3+<B&175/B %/2&. DGGUHVV 8VHUBZUBGDWD XVHUBEZ FWOEXV 0(05()&/. ZUBFPG 8VHUBUGBDGGU XVHUBZUBDGGU :ULWHGDWDEDQN ZUGDWDEZ ' ' 4 :&/. 35(B),)2 5&/. :5(1 &/. TGUBG>@ 5(6(7 :5(1 ,QLWLDOL]DWLRQ DQGFDOLEUDWLRQ FRPPDQG VHTXHQFHU 5'(1 287B),)2V 2/2*,& 26(5'(6 2&/.',9 0(05()&/. )5(45()&/. 3K\BUHDGBWRS 8VHUBUGBGDWD TGUBEZ>@ 2&/. 3+$6(5B 287B3+< 2&/.'(/$<(' TGUBNN FWOEXV 0(05()&/. 5HDGOHYHOLQJ VWDJH ,2% 2/2*,&UVW 3+<B&175/B %/2&. 8VHUBUGBYDOLG 5HDGGDWDEDQN ,1B),)2V 5'(1 3267B),)2 ' 5&/. &/. :&/. 6WDJHFDOLEUDWLRQ DQGGDWDYDOLG VLJQDOJHQHUDWLRQ 4 ' 5'(1 5(6(7 4 :5(1 TGUBT>@ ,/2*,& ,'(/$< ,6(5'(6 ,&/.',9 0(05()&/. ,/2*,&UVW )5(45()&/. ,&/. ,2% TGUBFTFT &/. 3+$6(5()&/. 3+$6(5B,1 6\QFBLQ 6\VWHPFORFN 6\VWHP5HVHW 3K\BFON &ORFNDQG5HVHW *HQHUDWLRQEORFN 0(0B5()&/. %8)05 )5(4%% )5(4B5()&/. &4 8*BFBB 図 2-43 : 36 ビ ッ ト QDR II+ イ ン タ ー フ ェ イ スの PHY の概略ブ ロ ッ ク図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 273 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 書き込みパス QDR II+ SRAM への書 き 込みパ ス には、 書き 込み処理の実行に必要な ア ド レ ス信号、 デー タ 信号、 制御信号が含まれ ます。 4 ワ ー ド バース ト 長モー ド のア ド レ ス信号、 お よ び メ モ リ への制御信号は SDR フ ォーマ ッ ト を使用 し ます。 書 き 込みデー タ の値 (qdr_d お よ び qdr_bw_n) は、必要な 4 ワー ド バース ト を ク ロ ッ ク 周期内で実現する ために DDR フ ォーマ ッ ト を使用 し ます。 図 2-44 に、 書 き 込みパ ス と そのサブモジ ュ ールの概略ブ ロ ッ ク 図を示 し ます。 出力アーキテ ク チ ャ QDR II+ イ ン タ ー フ ェ イ ス ソ リ ュ ー シ ョ ン の 出 力 パ ス は、 7 シ リ ー ズ FPGA が 備 え る OUT_FIFO、 PHASER_OUT_PHY、 お よ び OSERDES プ リ ミ テ ィ ブ を使用 し ます。 こ れ ら のブ ロ ッ ク は、 メ モ リ デバ イ スへのすべ ての PHY 出力を ク ロ ッ キ ン グす る 目的で使用 し ます。 PHASER_OUT は、 メ モ リ へ の 出 力 に 必要 な ク ロ ッ ク を 供給 し ま す。 各 バ イ ト グ ル ー プ の OUT_FIFO と OSERDES/ODDR に同期 ク ロ ッ ク を供給 し ま す。 PHASER_OUT は、 それぞれのバ イ ト グループのバ イ ト ク ロ ッ ク (OCLK)、 分周バ イ ト ク ロ ッ ク (OCLKDIV)、 遅延バ イ ト ク ロ ッ ク (OCLK_DELAYED) を生成 し ます。 バ イ ト ク ロ ッ ク (OCLK) は メ モ リ イ ン タ ーフ ェ イ ス ク ロ ッ ク と 同 じ 周波数で、分周バ イ ト ク ロ ッ ク (OCLKDIV) は メ モ リ イ ン タ ー フ ェ イ ス ク ロ ッ ク の半分の周波数です。 バ イ ト ク ロ ッ ク (OCLK) を使用 し て、書 き 込みデー タ (D) と バ イ ト 書 き 込み (BW) 信号を OSERDES か ら メ モ リ へ ク ロ ッ キ ン グ し ます。 OCLK_DELAYED タ ッ プ位置は PHASER_OUT 段階 2 お よ び段階 3 の遅延を使用 し て キ ャ リ ブ レーシ ョ ン さ れ、 ビ ッ ト ウ ィ ン ド ウ の中央位置が判断 さ れます。 K ク ロ ッ ク の キ ャ リ ブ レーシ ョ ン フ ロ ーの詳細は、 「書き 込みキ ャ リ ブ レーシ ョ ン」 を参照 し て く だ さ い。 PO 段階 2 の細精度遅延エ レ メ ン ト はデ ク リ メ ン ト ま たは イ ン ク リ メ ン ト に使用 さ れます。PO 段階 2 タ ッ プ調整の方 向は、 先ほ ど説明 し た よ う に、 K ク ロ ッ ク の左端の検出中に決定 さ れます。 ス キ ュ ーが正の場合は、 正 し いキ ャ リ ブ レ ーシ ョ ン パ タ ーン が得 ら れ る ま で PO タ ッ プがデ ク リ メ ン ト さ れ ま す。 ス キ ュ ーが負の場合は、 正 し い キ ャ リ ブ レーシ ョ ン パ タ ーンが失われ る ま で PO タ ッ プが イ ン ク リ メ ン ト さ れます。 ほかのすべてのバ イ ト の ス キ ュ ーが調整 さ れた後、 OCLK_DELAY タ ッ プが書 き 込みキ ャ リ ブ レーシ ョ ンの最初の部分で算出 さ れた位置に移動 さ れます。 OUT_FIFO は書 き 込みデー タ を FPGA ロ ジ ッ ク ド メ イ ンか ら PHASER ク ロ ッ ク ド メ イ ンへ変換す る 一時バ ッ フ ァ ー と し て機能 し 、 I/O ロ ジ ッ ク か ら の出力デー タ を ク ロ ッ ク で出力 し ます。 FPGA ロ ジ ッ ク は、 OUT_FIFO か ら の FULL フ ラ グ出力に基づ き 、 周波数が 1/2 の FPGA ロ ジ ッ ク ク ロ ッ ク で OUT_FIFO への書 き 込みを実行 し ます。 OUT_FIFO お よ び OSERDES の操作に必要な ク ロ ッ ク は PHASER_OUT か ら 供給 さ れます。 図 2-44 に、 PHASER_OUT を使用 し た書 き 込みパ ス の ク ロ ッ キ ン グの詳細を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 274 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-44 4 RXWSXWGDWDWRD E\WHJURXS 4>@ '>@ 4>@ '>@ 4>@ '>@ ' 4>@ '>@ 4>@ '>@ 35(B),)2 :ULWHBHQDEOH IURPIDEULF 4>@ '>@ 287B),)2 '>@ :5(1 26(5'(623WR PHPRU\ TGUBGTGUBEZ 4>@ '>@ 4>@ 4>@ '>@ :ULWHFORFNVWR PHPRU\ TGUBNTGUBN 4>@ '>@ 567 &/. 3K\BZUBHQ :5(1 5'&/. 2/2*,& 26(5'(6 2''5 5'(1 )5( 4%% 3K\BFON )8// :5&/. 2IBIXOO )5(45()&/. 26(5'(6567 5'(1$%/( 2&/.',9 2&/. )URP,QLWLDOL]DWLRQ/RJLF ),1((1$%/( 2&/.'(/$<(' )URP,QLWLDOL]DWLRQ/RJLF ),1(,1& )URP3// )URP3// UVW 0(05()&/. 3+$6(5B287B3+< %85673(1',1*3+< 567 /2&.(' &/.,1 3+$6(5B5() 567 3:5':1 5(6(7 5()'///2&. 3+<&7/$/0267)8// 3+<&7/)8// 7R )URP ,QLWLDOL]DWLRQ /RJLF 287%85673(1',1* 3+<&7/5($'< 3+<&7/0675(037< 0(05()&/. 3+<&/. 3+<B&21752/ 3+<&7/(037< 3+<&7/:' )URP0DVWHU SK\BFRQWURO 7RRWKHU SK\BFRQWURO EORFNV 3+<&7/:5(1$%/( 3///2&. )URP3// 6<1&,1 8*BFBB 図 2-44 : 書き込みパス Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 275 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 2-45 に、 PHASER_OUT を使用 し た ア ド レ ス/制御の ク ロ ッ キ ン グの詳細を示 し ます。 X-Ref Target - Figure 2-45 4 RXWSXWGDWDWRD E\WHJURXS 4>@ '>@ 4>@ '>@ 4>@ '>@ ' 4>@ '>@ 4>@ '>@ :ULWHBHQDEOH IURPIDEULF 4>@ '>@ 3K\ 35(B),)2 4>@ '>@ 287B),)2 '>@ :5(1 26(5'(623WR 45,,PHPRU\ TGUBVDTGUBUBQ TGUBZBQ 4>@ 4>@ '>@ 4>@ '>@ 567 &/. BZUBHQ :5(1 5'&/. 2/2*,& 26(5'(6 2''5 5'(1 )5( 4%% 3K\BFON )8// 4 :5&/. 2IBIXOO )URP3// )URP3// )DEULF3+$6(5B287GO\ FRQWUROVWRSURYLGH GHJUHHSKDVHVKLIWWR DGGUHVVFRQWUROVLJQDOV UVW )5(45()&/. 26(5'(6567 5'(1$%/( 2&/.',9 2&/. ),1((1$%/( 2&/.'(/$<(' 0(05()&/. ),1(,1& 3+$6(5 B287 B3+< %85673(1',1*3+< 567 /2&.(' &/.,1 567 3+$6(5 B5() 3:5':1 5(6(7 5()'///2&. 3+<&7/$/0267)8// 3+<&7/)8// 7R )URP ,QLWLDOL]DWLRQ /RJLF 287%85673(1',1* 3+<&7/5($'< 3+<&7/0675(037< 0(05()&/. 3+<&/. 3+< B&21752/ 3+<&7/(037< 3+<&7/:' )URP0DVWHU SK\BFRQWURO 7RRWKHU SK\BFRQWURO EORFNV 3+<&7/:5(1$%/( 3///2&. )URP3// 6<1&,1 8*BFBB 図 2-45 : ア ド レ ス パス 出力パス ア ド レ ス/ コ マ ン ド お よ び書 き 込みデー タ はユーザー バ ッ ク エン ド か ら 供給 さ れ る ため、QDR PHY は こ れ ら の信号を FPGA ロ ジ ッ ク ド メ イ ン か ら 内部 PHASER ク ロ ッ ク ド メ イ ン へ転送 し た 後、 OSERDES か ら メ モ リ へ与え ま す。 OUT_FIFO は主にデザ イ ン におけ る ド メ イ ン転送エ レ メ ン ト と し て使用 さ れ る ため、 こ の ラ イ ト イ ネーブルお よ び リ ー ド イ ネーブル信号は常に有効に し てお く 必要があ り ます。 こ の要件を満たすために使用 さ れてい る のが PHY 制 御ブ ロ ッ ク です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 276 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PHY 制御ブ ロ ッ ク QDR PHY は、 OUT_FIFO お よ び PHASER_OUT_PHY と の イ ン タ ー フ ェ イ ス に PHY 制御ブ ロ ッ ク を 使用 し ま す。 OUT_FIFO の状態が空に近づ く と (電圧 と 温度の変動に よ っ て WRCLK と RDCLK が OUT_FIFO で ど の程度揃え ら れ る かに よ っ て) OUT_FIFO が ス ト ールす る 可能性が あ り ま す。 こ のため、 PHY 制御ブ ロ ッ ク を使用 し て 1 つ以上の OUT_FIFO が空に近い状態にな る こ と のない よ う に制御 し ます。 PHY 制御ブ ロ ッ ク は、 OUT_FIFO がな る べ く フルに 近い状態で動作す る よ う に し ます。 初期化す る には、 次の手順に従い ます。 1. PHY_CONTROL_READY がアサー ト さ れた後、PHY_CONTROL の pc_phy_counters に十分大 き な遅延の値をプ ロ グ ラ ム し ます。 制御ワー ド の フ ォーマ ッ ト を図 2-45 と 図 2-46 に示 し ます。 ビッ ト 35:32 31 30 29:25 24:23 22:17 16:15 14:12 11:8 7:3 2 1 0 フ ィ ール ド AO1 Major OP Minor OP Event Delay Seq Data Offset IndexHi (Rank) IndexLo (Bank) AO0 Command Offset NonData Read Data 図 2-45 : 制御ワー ド のフ ォ ーマ ッ ト MajorOP MinorOP EventDelay IndexHi IndexLo レジス タ 0–REGPRE 0 – REG Register Data[4:0] IndexHi[16] = Register Data[5] IndexHi[15] = Register Addr[3] Register Address Bits [2:0] 4'b0000 ~ 4'b0011 : 予約 4'b0100 : CTLCORR 4'b0101 : RRDCNTR 4'b0110 : REF2ACT 4'b0111 : TFAW 4'b1000 : A2ARD 4'b1001 : A2AWR 4'b1010 : PRE2ACT 4'b1011 : ACT2PRE 4'b1100 : RDA2ACT 4'b1101 : RD2PRE 4'b1110 : WRA2ACT 4'b1111 : WR2PRE 1 – PRE 5'b000xx – STALL DC DC 5'b010xx – REF ランク DC 5'b100xx – PREBANK ランク バン ク STALL オペレーシ ョ ンは、 pc_phy_counters か ら シ ー ケ ン ス 制 御用 ス テー ト マ シ ンへの Ready 信 号の発行を遅 ら せます。 5'b110xx – PREALL ランク DC その他 – NOP DC DC 29:28 : ACT Slot 27 : AP 26:25 : RDWR Slot ランク バン ク 1–ACTRDWR ACT 図 2-45 : 制御ワー ド のデ コ ー ド Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 277 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 遅延カ ウ ン タ ーを使用 し て PHY 制御ブ ロ ッ ク が PHY 制御 ワ ー ド FIFO か ら 次の コ マ ン ド を フ ェ ッ チす る の を遅 ら せ、その間に PHY 制御 ワー ド FIFO がフルにな る よ う に し ます。PHY 制御ワー ド FIFO が空にな る と PHY_CONTROL が ス ト ール し 、 その結果 OUT_FIFO の リ ー ド イ ネーブル信号を常時アサー ト で き な く な る ため、 こ の FIFO は空にな ら ない よ う に し ます。 OUT_FIFO は ASYNC_MODE と 4x4 モー ド で使用 し ます。 PHY 制御 ワー ド には次の値を割 り 当て ます。 • 制御ワー ド [31:30] は 01 に設定 し ます。 • 制御ワー ド [29:25] は 5'b11111 に設定 し 、 pc_phy_Counters に十分に大 き な遅延値を プ ロ グ ラ ム し ます。 • 制御 ワー ド [2] を アサー ト す る と Non-Data コ マ ン ド が発行 さ れます。 • Command Offset と Data Offset は 0 に設定 し ます。 • PHY 制御 ワー ド FIFO (phy_ctl_fifo) が フルの場合を除き 、 Phy_ctl_wr は 1 に設定 し ます。 2. OUT_FIFO にエン ト リ ( コ マ ン ド /ア ド レ スお よ び書 き 込みデー タ ) を書 き 込みます。 こ れ ら のエン ト リ はフル状 態に達す る ま で NOP です。 3. 9 回の書 き 込みに よ っ て FULL フ ラ グが High にな る と 、 FULL フ ラ グがデ ィ アサー ト さ れ る ま で FIFO への書 き 込みはすべて停止 し ます (手順 4)。 4. その後、 PHY_CONTROL が (十分に大き い遅延が経過後) OUT_FIFO の RDENABLE を アサー ト し ます。 5. 読み出 し が開始す る と 、 FULL フ ラ グがデ ィ アサー ト さ れます。 6. FULL フ ラ グのデ ィ アサー ト か ら ク ロ ッ ク の 2 サ イ ク ル後に OUT_FIFO への書 き 込みが再開 し ます。PHY 制御ブ ロ ッ ク へのデー タ コ マ ン ド の送信を続け ます。 制御ワ ー ド [2:0] を 001 に設定 し ます。 7. こ れで、 WRENABLE と RDENABLE の両方が常時アサー ト さ れます。 前置 FIFO OUT_FIFO がほぼフルの状態に近づ く と 、 電圧 と 温度の変動に よ っ て wr/rd ク ロ ッ ク 位相が変化 し 、 OUT_FIFO が一 時的に フルの状態にな る 可能性があ り ます。 低レ イ テ ン シの前置 FIFO は、 OUT_FIFO が実際に フルにな っ た と き に、 コ マ ン ド 要求/書 き 込みデー タ を格納す る ために使用 し ます。 OSERDES ブ ロ ッ ク はすべての I/O にあ り 、 メ モ リ デバ イ ス と の通信に必要な ク ロ ッ ク 、 ア ド レ ス、 デー タ 、 お よ び 制御信号の生成を簡潔にす る 役割を果た し ます。 OSERDES の フ ロ ーでは 2 つの異な る 入力 ク ロ ッ ク を使用 し て こ の 機能を実現 し ます。 デー タ 入力ポー ト D1/D2 ま たは D3/D4 のデー タ は CLKDIV 入力ポー ト に供給 さ れ る ク ロ ッ ク ( こ の場合は clk) で入力 さ れ、 パ ラ レル-シ リ アル変換ブ ロ ッ ク を通過 し ます。 PHY か ら メ モ リ デバ イ スへの出力はすべて OSERDES を使用 し て駆動 し ます。OSERDES か ら 出力 さ れた信号はすべ て、 生成 し た K/K# ク ロ ッ ク に対 し て中央に揃え る 必要があ り ます。 こ のため、 OSERDES と PHASER_OUT ブ ロ ッ ク を組み合わせて使用す る こ と で こ のア ラ イ メ ン ト を実現 し てい ま す。 ア ド レ ス お よ び制御信号を駆動す る 出力 ク ロ ッ ク は、 出力信号が メ モ リ 側で K/K# ク ロ ッ ク に対 し て中央に位置す る よ う にシ フ ト さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 278 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 読み出 し パス 読み出 し パ ス は メ モ リ か ら 供給 さ れた読み出 し ク ロ ッ ク を使用 し てデー タ キ ャ プチ ャ を実行する と 共に、読み出 し ク ロ ッ ク をデー タ ウ ィ ン ド ウ の中央に位置 さ せてデー タ キ ャ プチ ャ 時に十分な マージ ン を確保す る 役割 を果た し ま す。 読み出 し を実行す る 前には、 キ ャ リ ブ レーシ ョ ンが必要です。 キ ャ リ ブ レーシ ョ ンは読み出 し パ ス の主要な機能 であ り 、 ユーザー イ ン タ ーフ ェ イ ス が メ モ リ に対する ト ラ ンザ ク シ ョ ン を開始する 前に実行する 必要があ り ます。 デー タ キ ャ プ チ ャ 図 2-46 に、 読み出 し ク ロ ッ ク と 読み出 し デー タ が FPGA に入力 さ れてか ら ユーザーに到達す る ま でのパ ス の概略図 を示 し ま す。 読み出 し ク ロ ッ ク は ILOGIC を その ま ま 通過 し 、 マルチ領域 BUFMR を経由 し て各バ イ ト グループの PHASER に入力 さ れます。 BUFMR の出力は直後にあ る PHASER の PHASEREFCLK 入力だけでな く 、 その上下に位 置す る バン ク で利用可能な PHASER の PHASEREFCLK 入力 も 駆動で き ま す。 次に、 ISERDES ブ ロ ッ ク で PHASER に よ っ て生成 し たバ イ ト グループ ク ロ ッ ク (ICLK、 OCLK、 ICLKDIV) を用いて、 バ イ ト グループ内の読み出 し デー タ (Q) を キ ャ プチ ャ し ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 PHASER に よ っ て提供 さ れ る 細精度の遅延 タ ッ プ を イ ン ク リ メ ン ト し てバ イ ト グループ ク ロ ッ ク を読み出 し デー タ ウ ィ ン ド ウ の中央に揃え、 最大限のデー タ キ ャ プチ ャ マージ ン を確保 し ます。 各バ イ ト グループ の IN_FIFO (図 2-46) は、 それぞれのバ イ ト グループの ISERDES でキ ャ プチ ャ し た各 Q ビ ッ ト か ら 4 ビ ッ ト デー タ を受信 し 、 ス ト レ ージ ア レ イ に書 き 込み ます。 PHASER_IN で生成 し た周波数が 1/2 のバ イ ト グ ループ ク ロ ッ ク (ICLKDIV) は、ISERDES のデー タ キ ャ プチ ャ のほか、 キ ャ プチ ャ し た読み出 し デー タ を IN_FIFO に 書 き 込む際に も 使用 し ます。 IN_FIFO に対す る ラ イ ト イ ネーブル信号は常にアサー ト さ れ、 デー タ を連続 し て書 き 込 む こ と がで き ます。 IN_FIFO で フ ラ グがアサー ト さ れ る と IN_FIFO か ら のデー タ フ ロ ーが ス ト ール し て し ま う 可能 性があ り ますが、 その場合で も IN_FIFO の受信側では浅い同期 post_fifo を使用 し てい る ため、 キ ャ プチ ャ し たデー タ は FPGA ロ ジ ッ ク か ら 連続 し て読み出す こ と がで き ます。 ま た、 キ ャ リ ブ レーシ ョ ンに よ り 、 読み出 し デー タ を周 波数が 1/2 の FPGA ロ ジ ッ ク ク ロ ッ ク の立ち上が り エ ッ ジに揃え る と 共に、 すべてのバ イ ト グループか ら の読み出 し デー タ の遅延が同 じ にな る よ う に し ます。実際のキ ャ リ ブ レーシ ョ ンお よ びア ラ イ メ ン ト ロ ジ ッ ク の詳細は、「キ ャ リ ブ レーシ ョ ン」 で説明 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 279 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-46 ,6(5'(6RXWSXWGDWD IURPDUHDGE\WHJURXS '>@ 4>@ 5HDGGDWD WRWKHXVHU '>@ 4>@ '>@ 4>@ 'DWD$OLJQPHQW DFURVVYDULRXVUHDG E\WHJURXSV '>@ 4>@ 4 '>@ 4>@ ' 3267B),)2 '>@ 4>@ 3K\BUGBHQ )DEULF 3+<B&/. ,1B),)2 4>@ 5'(1 &/. '>@ '>@ 4>@ 4>@ '>@ 4>@ ,IBHPSW\ 5HDG'DWDIURP PHPRU\ '>@ 4>@ 567 5'(1 9DOLGVLJQDO JHQHUDWRU :5&/. :5(1 )5( 4%% 3K\ BFON ,/2*,& ,6(5'(6 ,'(/$< (037< 5'&/. &4&4FORFNV IURPPHPRU\ 5HDGYDOLG VLJQDO 0(05()&/. 'HOD\FRQWUROVIURP IDEULFFDOLEUDWLRQORJLF WRSURYLGHUHDGFORFNWR GDWDFHQWHULQJ ,6(5'(6567 )5(45()&/. 567 &/.',9 ,&/.',9 ),1((1$%/( &/. ,&/. ),1(,1& &/.% 3+$6(5B,1 &2817(5/2$'(1 &4 &2817(5/2$'9$/ )DEULFFRQWUROWR HQVXUHUHDGGDWDIURP ,6(5'(6LVDOLJQHGWR 3+$6(5B,1,&/.',9 &4 ('*(B$'9 3+$6(5()&/. )5(4%% %8)05 0(05()&/. 'HOD\FRQWUROVIURP IDEULFFDOLEUDWLRQORJLF WRSURYLGHUHDGFORFNWR GDWDFHQWHULQJ ,6(5'(6567 )5(45()&/. 2&/.',9 ),1((1$%/( 2&/. ),1(,1& &2817(5/2$'(1 3+$6(5B287 &2817(5/2$'9$/ ('*(B$'9 3+$6(5()&/. )5(4%% %8)05 8*BFBB 図 2-46 : 読み出 し デー タ パス キ ャ リ ブ レーシ ョ ン キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 ク ロ ッ ク がデー タ 有効ウ ィ ン ド ウ の中心に揃 う よ う に、 読み出 し ク ロ ッ ク お よ び読 み出 し デー タ に遅延を与え ます。 ク ロ ッ ク の中央揃えには、 ク ロ ッ ク に対 し て高細精度の遅延 タ ッ プ を与え る こ と の で き る PHASER を使用 し ます。 PHASER_IN の各遅延 タ ッ プは、 デー タ 周期の 1/64 ずつ ク ロ ッ ク に対 し て イ ン ク リ メ ン ト し ます。 メ モ リ デバ イ ス か ら のエ コ ー ク ロ ッ ク が安定す る と 、 キ ャ リ ブ レーシ ョ ンが開始 し ます。 エ コ ー ク ロ ッ ク が安定す る ま での時間は メ モ リ ベン ダーに よ っ て異な る ため、 コ ア の CLK_STABLE パ ラ メ ー タ ーで指定す る 必要があ り ま す。 安定す る ま では、 すべての読み出 し パ ス ロ ジ ッ ク が リ セ ッ ト 状態 と な り ます。 キ ャ リ ブ レーシ ョ ンは次の 2 段階 で実行 さ れます。 1. Q を基準に し た読み出 し ク ロ ッ ク のキ ャ リ ブ レーシ ョ ン 2. デー タ ア ラ イ メ ン ト の実行 と Valid 信号の生成 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 280 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 読み出 し ク ロ ッ ク と デー タ のキ ャ リ ブ レーシ ョ ン 各バ イ ト グループ内の PHASER_IN/PHASER_OUT ク ロ ッ ク は、 対応す る バ イ ト グループの読み出 し デー タ (Q) の キ ャ プチ ャ に使用す る すべての ISERDES を ク ロ ッ キ ン グ し ます。ICLKDIV も 読み出 し デー タ IN_FIFO の書 き 込み ク ロ ッ ク と し て使用 し ます。 1 つの PHASER_IN ブ ロ ッ ク は、 12 の I/O か ら な る 1 つのグループに関連付け ら れてい ま す。 7 シ リ ーズ FPGA の各 I/O バン ク には 4 つの PHASER_IN ブ ロ ッ ク があ る ため、 1 つのバン ク に 4 つの読み出 し デー タ バ イ ト を置 く こ と がで き ます。 イ ン プ リ メ ン テーシ ョ ンの詳細 リ ー ド レベ リ ン グの こ の段階では、 読み出 し ク ロ ッ ク を 1 バ イ ト ずつそのバ イ ト グループの対応す る 読み出 し デー タ の中央に揃え ます。 こ の段階では最初に特定の QDR II+ SRAM ア ド レ ス位置に対 し て決ま っ たデー タ パ タ ーン を 使用 し た書 き 込み コ マ ン ド を発行 し ます。 こ の書 き 込み コ マ ン ド の後、 連続 し た読み出 し コ マ ン ド を発行 し 、 書 き 込 み先 と 同 じ ア ド レ ス位置か ら 連続 し てデー タ を読み出 し ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は IN_FIFO か ら デー タ を読み出 し 、 比較す る ために記録 し てお き ます。 こ の ロ ジ ッ ク は読み出 し たデー タ パ タ ーンのシーケ ン ス を確認 し 、 ク ロ ッ ク と デー タ が揃っ てい る か ど う かを判断 し ます。 細精度 の遅延 ラ イ ン で タ ッ プが 0 の場合におけ る デス テ ィ ネーシ ョ ン ク ロ ッ ク と デー タ ウ ィ ン ド ウ の最初の位置関係はわ か っ てい ません。 アルゴ リ ズ ムは、 IDELAY エ レ メ ン ト を介 し て読み出 し デー タ に遅延を与え る こ と で、 ク ロ ッ ク の 立ち上が り お よ び立ち下 り エ ッ ジが対応す る デー タ ウ ィ ン ド ウ の左端に揃 う よ う に し ます。 次に、 PHASER タ ッ プ を使用 し て ク ロ ッ ク を遅延 さ せ、 対応する デー タ ウ ィ ン ド ウ の中央に位置す る よ う に し ます。 PHASER_TAP の精度は FREQ_REF_CLK 周期に よ っ て決ま り 、1 タ ッ プは (FREQ_REFCLK_PERIOD/2)/64ps と な り ま す。周波数が 400MHz 以上の メ モ リ イ ン タ ーフ ェ イ ス の場合、最大値の 64 PHASER タ ッ プ を使用する と 遅延は 1 デー タ 周期、 すなわち 1/2 ク ロ ッ ク 周期 と な り ます。 こ れに よ り 、 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は ク ロ ッ ク を正確にデー タ ウ ィ ン ド ウ の中央に揃え る こ と がで き ます。 周波数が 400MHz 未満の場合は、 FREQ_REF_CLK の周波数が MEM_REF_CLK の周波数の 2 倍であ る ため、 PHASER か ら 得 ら れ る 最大遅延はデー タ 周期の 1/2、 すなわち ク ロ ッ ク 周期の 1/4 と な り ます。 こ のため周波数が 400MHz 未 満では PHASER の遅延 タ ッ プ を使用 し ただけでは ク ロ ッ ク をデー タ ウ ィ ン ド ウ の中央に正確に揃え る こ と がで き な い場合があ り ます。 し たが っ て、 こ の よ う な周波数範囲の と き は IDELAY タ ッ プ と PHASER タ ッ プに よ る デー タ 遅 延を組み合わせて使用 し ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 ク ロ ッ ク と デー タ の最初のア ラ イ メ ン ト に基づいて 最適な遅延を決定 し ます。 デー タ ウ ィ ン ド ウ を検出す る には、同 じ タ ッ プ値で複数サ イ ク ルにわた っ てデー タ を読み出 し て平均を求め る アルゴ リ ズ ム を使用 し ます。 サンプ リ ン グ サ イ ク ル数は 214 に設定 さ れてい ます。 平均化以外に も 、 読み出 し デス テ ィ ネー シ ョ ン ク ロ ッ ク が不安定なジ ッ タ ー領域に位置 し てい る か ど う かカ ウ ン タ ーを使用 し て ト ラ ッ キ ン グ し ます。カ ウ ン タ ー値が 3 の場合は、 タ ッ プ を 3 回 イ ン ク リ メ ン ト し て も サンプ リ ン グ し たデー タ 値が変わ ら なか っ た こ と を意味 し てお り 、 読み出 し デス テ ィ ネーシ ョ ン ク ロ ッ ク が安定領域にあ る と 考え ら れます。 直前の値 と 異な る 値が検出 さ れ る と 、 カ ウ ン タ ー値は 0 に リ セ ッ ト さ れます。 次に、 デー タ 不一致が検出 さ れ る ま で PHASER_IN お よ び PHASER_OUT ブ ロ ッ ク の細精度の位相シ フ ト 遅延 ラ イ ン を 1 タ ッ プずつ イ ン ク リ メ ン ト し ます。 必要な安定時間が経過 し た後、 IN_FIFO か ら 読み出 し たデー タ を直前の タ ッ プ値で記録 し たデー タ と 比較 し ます。 こ の比較を、 デー タ 不一致が検出 さ れ、 有効なデー タ ウ ィ ン ド ウ のエ ッ ジが検 出 さ れた こ と が示 さ れ る ま で繰 り 返 し ます。 安定 し た カ ウ ン タ ー値が定数 3 にな っ た と き の PHASER の細精度の位 相シ フ ト タ ッ プの数が有効 ウ ィ ン ド ウ です。 こ のアルゴ リ ズ ムに よ り 、 不安定なジ ッ タ ー領域で有効エ ッ ジ を誤検出 す る 可能性が抑え ら れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 281 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン デー タ ア ラ イ メ ン ト と Valid 信号の生成 キ ャ リ ブ レーシ ョ ンの第 2 段階 と し て こ こ では次を実行 し ます。 • すべての読み出 し バ イ ト グループか ら の読み出 し デー タ を ISERDES の CLKDIV デス テ ィ ネーシ ョ ン ク ロ ッ ク の立ち上が り エ ッ ジに揃え る 。 • 固定レ イ テ ン シ モー ド の レ イ テ ン シ を設定する 。 • 幅の狭い メ モ リ を接続 し て幅の広い メ モ リ を構築す る 場合は、 各 メ モ リ の レ イ テ ン シ を一致 さ せる 。 • 決定 し た レ イ テ ン シ を読み出 し 有効の生成 ロ ジ ッ ク に送信す る 。 読み出 し デー タ デス テ ィ ネーシ ョ ン ク ロ ッ ク が中央に揃 う と 、 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は既知のデー タ パ タ ー ン を QDR II+ メ モ リ に書 き 込み、 こ の メ モ リ か ら 連続 し た 読み出 し を 実行 し ま す。 こ れに よ り 、 PHASER_IN の ICLKDIV 出力の立ち上が り エ ッ ジ ま たは立ち下が り エ ッ ジに揃っ た状態でデー タ が読み出 さ れ る か ど う か を確認 し ます。バ イ ト グループか ら のキ ャ プチ ャ デー タ が立ち下が り エ ッ ジに揃っ てい る 場合、PHASER_IN への EDGE_ADV 入力 (ICLKDIV 出力を高速 ク ロ ッ ク の 1 サ イ ク ル分シ フ ト ) を使用 し て立ち上が り エ ッ ジに揃え ます。 次に、 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス のデー タ に関連付けた Valid 信号を生成 し ます。 こ のキ ャ リ ブ レーシ ョ ン段階 では、 既知のデー タ パ タ ーン を 1 回 メ モ リ に書き 込み、 こ れを読み出 し ます。 そ し て、 期待 さ れたデー タ が返 さ れ る ま でのサ イ ク ル数を読み出 し ロ ジ ッ ク でカ ウ ン ト し ます。 こ の段階の基本的な フ ロ ーは次の と お り です。 1. 各 メ モ リ デバ イ ス で読み出 し デー タ が到着する ま でのサ イ ク ル数を カ ウ ン ト し ます。 2. 固定レ イ テ ン シ と し て使用す る 値を決定 し ます。 こ の値は、 PHY_LATENCY パ ラ メ ー タ ーでユーザーが指定す る か、 ま たはすべての メ モ リ デバ イ ス におけ る 最大レ イ テ ン シです。 3. 読み出 し Valid 信号の生成を キ ャ リ ブ レーシ ョ ン し ます。 上の手順で決定 し た値を使用 し 、 読み出 し Valid 信号に 遅延を与え てユーザーの読み出 し デー タ に揃え ます。 4. cal_done を アサー ト し ます。 書き込みキ ャ リ ブ レーシ ョ ン メ モ リ の周波数が 400MHz 以上のデザ イ ン で書 き 込みキ ャ リ ブ レ ーシ ョ ン が有効にな る と 、 読み出 し キ ャ リ ブ レ ー シ ョ ンのデー タ ア ラ イ メ ン ト 結果を使用 し て、設定内容が正 し い書 き 込み動作に対 し て有効であ る か ど う かが判断 さ れます。 メ モ リ の初期化後、 書 き 込みキ ャ リ ブ レーシ ョ ンへ移行す る 前に読み出 し キ ャ プチ ャ が こ の指定パ タ ーン で 最初にキ ャ リ ブ レーシ ョ ン さ れます。 QDR II+ には ト レーニ ン グ レ ジ ス タ がないため、 読み出 し お よ び書 き 込みを個 別に検証で き ません。 書 き 込みキ ャ リ ブ レーシ ョ ンの各手順で、 デー タ が正確にキ ャ プチ ャ さ れ る よ う に読み出 し ク ロ ッ ク (CQ/CQB) と Q が揃え ら れ ます。 読み出 し キ ャ リ ブ レーシ ョ ンのデー タ ア ラ イ メ ン ト 部分をバ イ ト レーンに対 し て実行 し 、 予想 し た結果が得 ら れない場合、書 き 込みにエ ラ ーの原因があ る と 考え ら れます。書 き 込みキ ャ リ ブ レーシ ョ ンの各手順で、 読み出 し キ ャ リ ブ レーシ ョ ンお よ び関連す る ロ ジ ッ ク が リ セ ッ ト さ れ、 再実行 さ れます。 K ク ロ ッ ク を使用す る デー タ バ イ ト レーン (K バ イ ト レーン) の ビ ッ ト ウ ィ ン ド ウ サ イ ズは、最初 PHASER_OUT 段 階 3 の遅延を使用 し て決定 さ れます。段階 3 タ ッ プは、タ ッ プ 0 か ら 左端が検出 さ れ る ま で イ ン ク リ メ ン ト さ れます。 タ ッ プ 0 で予測 さ れ る パ タ ーンが返 さ れた場合は、 タ ッ プ 0 が左端 タ ッ プ位置 と し て設定 さ れます。 その後、 段階 3 タ ッ プはエ ッ ジが検出 さ れ る か 63 に到達す る ま で イ ン ク リ メ ン ト さ れます。 K バ イ ト レーンの右端が検出 さ れ る と 、 K ク ロ ッ ク は こ の右 タ ッ プ位置に保持 さ れ、 K でないバ イ ト レーンのア ラ イ メ ン ト が実行 さ れます。 D バ イ ト レーンは、 ス キ ュ ー調整で き る 余裕を持たせ る ため、 PHASE_OUT 段階 2 の タ ッ プ 30 か ら 開始 し ます。 K でないバ イ ト レーンすべての右端ス キ ュ ーが調整 さ れた ら 、 その う ちの 1 つのバ イ ト レー ンが右ア ラ イ メ ン ト 位置か ら 左に 90 度シ フ ト さ れます。 K の中央に近い タ ッ プは、 PHASER_OUT 段階 3 の遅延をデ ク リ メ ン ト す る こ と に よ り 決定 さ れます。 90 度シ フ ト さ れた K でないバ イ ト レーンで有効な キ ャ リ ブ レーシ ョ ン パ タ ーンが検出 さ れ る ま で、デ ク リ メ ン ト は停止 さ れます。 段階 3 タ ッ プ位置は K 中央 タ ッ プ と し て記録 さ れます。 90 度シ フ ト さ れた K でないバ イ ト レーンが元の右に揃え ら れた位置に戻 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 282 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン K でないバ イ ト レーンのア イ サ イ ズは、 シ ス テ ムのシ グナル イ ン テ グ リ テ ィ の問題に よ り 、 K バ イ ト レーン よ り 小 さ く な る 場合があ り ます。K でないバ イ ト レーンの中央揃えに よ り 、書き 込みサ イ ク ルのセ ッ ト ア ッ プ タ イ ム と ホー ル ド タ イ ムの両方を向上す る 可能性があ り ます。 K ク ロ ッ ク が K バ イ ト レーンに対 し て左端 タ ッ プ位置に移動 さ れ ます。 その後、 K でないバ イ ト レーンは K バ イ ト レーンの左端に揃え ら れます。 K でない各バ イ ト レーンの移動量は、 K ク ロ ッ ク に中央揃えす る ために右にシ フ ト す る タ ッ プ数を決定す る ために算出 さ れます。 最後に、 K ク ロ ッ ク がキ ャ リ ブ レーシ ョ ン さ れた中央 タ ッ プ位置に戻 さ れます。 図 2-47 に、 書 き 込みキ ャ リ ブ レーシ ョ ン フ ロ ーを示 し ます。 X-Ref Target - Figure 2-47 .FORFN .E\WHODQH )LQGWKHOHIWDQGULJKWHGJHRI.E\WHODQHXVHVWDJH 2&/.GHOD\OLQH 1RQ.E\WHODQHZLWKVNHZDQGVPDOOHUH\H7KHVPDOOHU H\HFDQEHFDXVHGE\WKHERDUG¶V6,LVVXH 5LJKWHGJHDOLJQPHQWRIDOOQRQ.E\WHODQHVE\ GHFUHPHQWQJWKHVWDJH32WDS 3HUIRUPDGHJUHHOHIWVKLIW6KLIWLQVWHDGRI EHFDXVH\RXGRQRWZDQWWRRYHUVKRRWGXHWRWKHKROG WLPH$GMXVW.XQWLOFHQWHUSRLQWLVGHWHUPLQHG $GMXVW.XQWLOFHQWHUSRLQWLVGHWHUPLQHG 5HVWRUHWKHVKLIWHGQRQ.E\WHODQHWRLWVULJKWDOLJQHG SRVLWLRQ$GMXVW.XQWLOOHIWHGJHRI.E\WHODQHZLQGRZ /HIWVKLIWWKHQRQ.E\WHODQHLQWRWKHOHIWHGJH )LQDODGMXVWWKHQRQ.E\WHODQHWRLWVILQDOWDSSRVLWLRQ 0RYHWKH.FORFNEDFNWRFDOLEUDWHGFHQWHUSRVLWLRQ GHOWD]WDSV 0RYHEDFNWKHQRQ. E\WHODQHE\]WDS 図 2-47 : 書き込みキ ャ リ ブ レーシ ョ ン フ ロー Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 283 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのカ ス タ マ イ ズ 7 シ リ ーズ FPGA の QDR II+ SRAM イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンは、 カ ス タ マ イ ズす る こ と で複数の コ ン フ ィ ギ ュ レーシ ョ ン を サポー ト し ます。 各 コ ン フ ィ ギ ュ レーシ ョ ンは、 コ アの最上位の Verilog パ ラ メ ー タ ーで定義 し ま す。 OOC フ ロ ーに よ り 、 デザ イ ン例の最上位の RTL フ ァ イ ルか ら ユーザー デザ イ ン RTL フ ァ イ ルに、 パ ラ メ ー タ ー 値が伝わ る こ と はあ り ません。 し たがっ て、 デザ イ ンに関す る パ ラ メ ー タ ーの変更が、 ユーザー デザ イ ン ロ ジ ッ ク に 反映 さ れ る こ と は一切あ り ません。 パ ラ メ ー タ ーを変更す る 場合は、 MIG ツールを使用 し てデザ イ ン を再生成す る 必 要があ り ます。 表 2-10 に、 こ れ ら のパ ラ メ ー タ ーを ま と め ます。 表 2-10 : 7 シ リ ーズ FPGA の QDR II+ SRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能な パラ メ ー タ ー パラ メ ー タ ー 説明 オプ シ ョ ン MEM_TYPE メ モ リ のア ド レ ス バ ス幅です。 QDR2PLUS CLK_PERIOD メ モ リ の ク ロ ッ ク 周期 (ps) です。 BURST_LEN メ モ リ のデー タ バース ト 長です。 DATA_WIDTH メ モ リ のデー タ バ ス幅で、 MIG ツールで設定 し ます。 サポー ト さ れ る 最大値は 36 です。 BW_WIDTH 必ず DATA_WIDTH/9 に設定 し ます。 NUM_DEVICES 使用す る メ モ リ デバ イ ス の数です。 MEM_RD_LATENCY 使用す る メ モ リ デバ イ ス の読み出 し レ イ テ ン シ を メ モ リ ク ロ ッ ク サ イ ク ル数で指定 し ます。メ モ リ ベン ダー提供のデー タ シー ト に記載の値を使用 し て く だ さ い。 FIXED_LATENCY_MODE メ モ リ か ら ク ラ イ ア ン ト イ ン タ ーフ ェ イ スへの読み出 し 応答に、 0、 1 定義済みの レ イ テ ン シの値を使用す る か ど う か を示 し ます。 0 の みをサポー ト し 、 こ の値に指定す る と 、 設定可能な レ イ テ ン シの 最小値が使用 さ れます。 CPT_CLK_CQ_ONLY メ モ リ か ら 供給 さ れ る 読み出 し ク ロ ッ ク の 1 つ (立 ち 上が り ク TRUE ロ ッ ク ) のみを使用 し てデー タ を キ ャ プチ ャ す る こ と を示 し ます。 PHY_LATENCY 読み出 し コ マ ン ド を発行 し てか ら 読み出 し デー タ が ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス に返 さ れ る ま で PHY が待機す る レ イ テ ン シ を 示 し ます。 CLK_STABLE エ コ ー ク ロ ッ ク が安定す る ま でのサ イ ク ル数です。 IODELAY_GRP(1) デザ イ ンで複数の IP コ ア を使用する 場合のみの IODELAY_CTRL の特別な名前です。 REFCLK_FREQ IDELAYCTRL の基準 ク ロ ッ ク 周波数です。こ のパ ラ メ ー タ ーは変 更 し ないで く だ さ い。 RST_ACT_LOW ア ク テ ィ ブ Low ま た は ア ク テ ィ ブ High の リ セ ッ ト 信号 です。 0、 1 [System Reset Polarity] が [ACTIVE LOW] に設定 さ れてい る 場合は 1、 [ACTIVE HIGH] に設定 さ れてい る 場合は 0 に設定 さ れます。 IBUF_LPWR_MODE 入力バ ッ フ ァ ーの低消費電力モー ド の有効ま たは無効を指定 し ま す。 ON OFF IODELAY_HP_MODE IODELAY プ リ ミ テ ィ ブの高性能モー ド の有効 ま たは無効を指定 し ま す。 OFF にす る と 、 IODELAY は低消費電力モー ド で動作す る ため性能が低下 し ます。 ON OFF Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 4 2.0 2.5 ( メ モ リ ベ ン ダ ーのデー タ シー ト 参照) 200.0 284 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-10 : 7 シ リ ーズ FPGA の QDR II+ SRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能な パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 オプ シ ョ ン SYSCLK_TYPE シ ス テ ムがシ ン グルエン ド シ ス テ ム ク ロ ッ ク を使用する か、差動 DIFFERENTIAL シ ス テ ム ク ロ ッ ク を使用す る か、 ま たは内部 ク ロ ッ ク で駆動 さ れ SINGLE_ENDED る か ([No Buffer]) を示 し ます。選択 し た CLK_TYPE の設定に基づ NO_BUFFER いて、 ク ロ ッ ク を適切な入力ポー ト に配置す る 必要が あ り ま す。 差動 ク ロ ッ ク の場合は sys_clk_p/sys_clk_n を、 シ ン グルエン ド ク ロ ッ ク の場合は sys_clk_i を使用 し ます。 NO_BUFFER を選択 し た 場合、ポー ト リ ス ト に表示 さ れ る sys_clk_i は内部 ク ロ ッ ク で駆動 す る 必要があ り ます。 REFCLK_TYPE シ ス テ ムがシ ン グルエ ン ド 基準 ク ロ ッ ク を使用す る か、 差動基準 ク ロ ッ ク を使用す る か、 内部 ク ロ ッ ク に よ っ て駆動 さ れ る か ([No Buffer])、 ま たはシ ス テ ム ク ロ ッ ク 入力にのみ接続で き る か ([Use System Clock]) を示 し ます。 選択 し た CLK_TYPE の設定に基づい て、 ク ロ ッ ク を適切な入力ポー ト に配置す る 必要があ り ます。 差 動 ク ロ ッ ク の場合は clk_ref_p/clk_ref_n を、シ ン グルエン ド ク ロ ッ ク の場合は clk_ref_i を使用 し ます。NO_BUFFER を選択 し た場合、 ポー ト リ ス ト に表示 さ れ る clk_ref_i は内部 ク ロ ッ ク で駆動す る 必 要 が あ り ま す。 [Use System Clock] を オ ン に し て い る 場 合、 clk_ref_i はユーザー デザ イ ン の最上位モジ ュ ールで シ ス テ ム ク ロ ッ ク に接続 さ れます。 DIFFERENTIAL SINGLE_ENDED NO_BUFFER USE_SYSTEM_CLOCK DIFF_TERM シ ス テ ム ク ロ ッ ク 入力に差動終端が必要か ど う か を示 し ます。 TRUE FALSE CLKIN_PERIOD 入力 ク ロ ッ ク 周期です。 – CLKFBOUT_MULT PLL の VCO (電圧制御オシ レー タ ー ) 乗算器です。 動作周波数に 基づいて MIG ツールで設定 し ます。 – CLKOUT0_DIVIDE、 CLKOUT1_DIVIDE、 CLKOUT2_DIVIDE、 CLKOUT3_DIVIDE PLL 出力用の VCO 出力分周器です。 動作周波数に基づいて MIG – ツールで設定 し ます。 CLKOUT0_PHASE PLL 出力 の CLKOUT0 の位相です。 メ モ リ イ ン タ ーフ ェ イ ス ピ ン に選択 し たバ ン ク お よ び動作周波数に基づいて MIG で設定 さ れます。 – DIVCLK_DIVIDE PLLE2 VCO の分周器です。 動作周波数に基づいて MIG ツールで 設定 し ます。 – SIM_BYPASS_INIT_CAL シ ミ ュ レーシ ョ ン を高速に行 う ためのシ ミ ュ レーシ ョ ン専用パ ラ メ ー タ ーです。 FAST OFF DEBUG_PORT デバ ッ グ ポー ト を有効にする と 、Vivado ロ ジ ッ ク 解析機能 の VIO ON、 OFF の使用が可能に な り ま す。 こ れに よ り 、 PHY 内の タ ッ プ設定 を VIO での選択に基づいて変更で き ます。 論理シ ミ ュ レーシ ョ ン で はデバ ッ グ モー ド は不要なため、 sim フ ォ ルダーの sim_tb_top モジ ュ ールでは必ず OFF に設定 し ます。 注記 : 1. こ のパ ラ メ ー タ ー名には、 デザ イ ン生成時に MIG で入力 さ れたモジ ュ ール名が接頭辞 と し て付 き ます。 デザ イ ンが mig_7series_0 と い う 名前で生成 さ れた場合、 IODELAY_GRP パ ラ メ ー タ ーの名前は 「mig_7series_0_IODELAY_MIG」 と な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 285 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-11 に示 し たパ ラ メ ー タ ーは、 選択 し た ピ ン配置に基づいて MIG ツールがセ ッ ト ア ッ プ し ます。 ピ ン配置を変更 す る 場合は、 MIG ツールを再実行 し てパ ラ メ ー タ ーを適切に設定す る こ と を推奨 し ます。 290 ページの 「ピ ン配置の 要件」 を参照 し て く だ さ い。 ピ ン配置のパ ラ メ ー タ ー設定が正 し く ない と 、 シ ミ ュ レーシ ョ ンが正 し く 動作 し ない、 デザ イ ンの配線がで き ない、 タ イ ミ ン グが満た さ れない、 な ど の結果を招 く こ と があ り ます。 こ れ ら のパ ラ メ ー タ ー で物理層を セ ッ ト ア ッ プ し 、 物理層 と の間に必要な信号すべての配線が行われます。 パ ラ メ ー タ ーは、 選択 し たデー タ 書 き 込み、 デー タ 読み出 し 、 ア ド レ ス/制御バ イ ト グループに基づいて計算 さ れます。 選択 し たシ ス テ ム信号 (シ ス テ ム ク ロ ッ ク 、 基準 ク ロ ッ ク 、 ス テー タ ス信号) は考慮 し ません。 表 2-11 : QDR II+ SRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー パラ メ ー タ ー 説明 例 BYTE_LANES_B0、 BYTE_LANES_B1、 BYTE_LANES_B2 I/O バン ク で使用す る バ イ ト レーン を定 義 し ます。 ビ ッ ト 位置が 1 の場合はバ イ ト レーン を使用 し 、 0 の場合は使用 し ま せ ん。 こ の パ ラ メ ー タ ー は ピ ン 配置 に よ っ て異な り 、 生成 さ れたデザ イ ン で手 動で変更す る こ と は出来ません。 ビ ッ ト の順序は、 MSB か ら LSB に向か っ て T0、 T1、 T2、 T3 バ イ ト グループの順です。 4'b1101 : こ のバン ク では 3 つのバ イ ト レーン を使用 し 、 1 つのバ イ ト レーンは使用 し ません。 CPT_CLK_SEL_B0、 CPT_CLK_SEL_B1、 CPT_CLK_SEL_B2 3 つの フ ィ ール ド で、有効な I/O バン ク ご と に 1 つ使用。 バン ク の各バ イ ト レーン に つ い て、 い ずれ の 読み出 し デ ス テ ィ ネー シ ョ ン ク ロ ッ ク を 使用す る か を 定 義 し ます。 MRCC 読み出 し デス テ ィ ネー シ ョ ン ク ロ ッ ク はバ イ ト レーン 1/2 に配 置 さ れます。こ こ では、デス テ ィ ネーシ ョ ン ク ロ ッ ク に 使 用 さ れ る 読み出 し ク ロ ッ ク を 示 す た め に 各デー タ バ イ ト レーンについてパ ラ メ ー タ ーが定義 さ れ てい ます。 バ イ ト レーン ご と に 8 ビ ッ ト が次の よ う に定義 さ れてい ます。 • [7:4] - 0 (下のバン ク )、1 (現在のバン ク )、 2 (上のバ ン ク ) : ク ロ ッ ク が配置 さ れ る バン ク を示す • [3:0] - 1、2 : 2 つのデス テ ィ ネーシ ョ ン ク ロ ッ ク ソ ース の う ちいずれを示す こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異 な り 、 生成 さ れたデザ イ ン で手動で変更 す る こ と は出来ません。 32'h11_11_11_11 : 4 つのデー タ バ イ ト レ ーン で、 す べて同 じ バン ク で ク ロ ッ ク を使用す る 32'h11_11_01_01 : 4 つのデー タ バ イ ト レーン で、 そ の う ちの 2 つの レーンは下領域のバン ク (16'h01_01) か ら のデス テ ィ ネーシ ョ ン ク ロ ッ ク を使用 し 、 残 り の 2 つは現在の バ ン ク (16'h11_11) か ら のデ ス テ ィ ネーシ ョ ン ク ロ ッ ク を使用す る DATA_CTL_B0、 DATA_CTL_B1、 DATA_CTL_B2 I/O バン ク におけ る バ イ ト レーン の使用 4'b1100 : BYTE_LANE の例を基準にす る と 、 2 つのバ モー ド を定義 し ます。 ビ ッ ト 位置が 1 の イ ト レーン をデー タ 用に使用 し 、 1 つを ア ド レ ス/制 場合はバ イ ト レーン をデー タ に、 0 の場 御用に使用 し ます。 合はア ド レ ス/制御に使用 し ます。 こ のパ ラ メ ー タ ーは ピ ン 配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 PHY_0_BITLANES、 PHY_1_BITLANES、 PHY_2_BITLANES 各バ イ ト レーン につ き 12 ビ ッ ト のパ ラ メ ー タ ーを使用 し 、 必要な物理層の生成 に使用す る I/O 位置を決定 し ま す。 こ の パ ラ メ ー タ ーはバ ン ク ご と に存在 し ま す。CQ_P/CQ_N、 K_P/K_N、 DLL_OFF_N ピ ン を除 き 、 デー タ 書 き 込み、 デー タ 読 み出 し 、 ア ド レ ス/制御のすべての ピ ンが パ ラ メ ー タ ー生成の際に考慮 さ れ ま す。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異 な り 、 生成 さ れたデザ イ ン で手動で変更 す る こ と は出来ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 選択 し たバン ク のすべてのバ イ ト グループ を表 し ま す。 1 つ の バ イ ト レ ー ン の 12 ビ ッ ト すべ て を MSB:LSB の順に BA98_7654_3210 と し て表 し ま す。 た と えば 1 つのバン ク に対 し て、 48'hFFE_FFF_000_2FF の よ う に指定 し ます。 12'hDF6 (12'b1101_1111_0110) : ビ ッ ト ラ イ ン 0、 3、 9 は使用せず、 残 り のビ ッ ト を使用 し ます。 286 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-11 : QDR II+ SRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 例 BYTE_GROUP_TYPE_B0、 各 I/O バ ン ク のバ イ ト レ ー ン を INPUT 4'b0110 : 中央 2 つのバ イ ト レーンに INPUT ピ ンが含 BYTE_GROUP_TYPE_B1、 ま たは OUTPUT と し て定義 し ます。ビ ッ まれ、 それ以外のバ イ ト レーンに OUTPUT ピ ンが含 BYTE_GROUP_TYPE_B2 ト 位 置 が 1 の 場 合 は バ イ ト レ ー ン に まれます。 INPUT ピ ンが、0 の場合は OUTPUT ピ ン が 含 ま れ る こ と を 示 し ま す。 こ の パ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生 成 さ れたデザ イ ン で手動で変更す る こ と は出来ません。 K_MAP 書 き 込み ク ロ ッ ク (K/K#) のバ ン ク お よ びバ イ ト レーン位置情報です。 各信号ペ アに 8 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れ てい ます。 • [7:4] - バン ク 位置で、 サポー ト さ れ る 値は 0、 1、 2 です。 • [3:0] - バン ク 内のバ イ ト レーン位置 で、サポー ト さ れ る 値は 0、1、2、3 です。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異 な り 、 生成 さ れたデザ イ ン で手動で変更 す る こ と は出来ません。 CQ_MAP 読み出 し ク ロ ッ ク の (CQ/CQ#) バ ン ク お 「K_MAP」 の例を参照 し て く だ さ い。 よ びバ イ ト レーン位置情報です。 「K_MAP」 の説明 を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異 な り 、 生成 さ れたデザ イ ン で手動で変更 す る こ と はで き ません。 ADD_MAP ア ド レ ス のバ ン ク お よ びバ イ ト レ ー ン 位置情報です。各ピ ンに 12 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れてい ます。 • [11:8] - バン ク 位置で、 サポー ト さ れ る 値は 0、 1、 2 です。 • [7:4] - バン ク 内のバ イ ト レーン位置 で、サポー ト さ れ る 値は 0、1、2、3 です。 • [3:0] - バ イ ト レーン内の ビ ッ ト 位置 で、 サポー ト さ れ る 値は [0、 1、 2、 ...、 A、 B] です。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異 な り 、 生成 さ れたデザ イ ン で手動で変更 す る こ と はで き ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 最上位のデー タ 書 き 込み/デー タ 読み出 し ま たはア ド レ ス/制御バ イ ト グループで選択 し たバン ク を、 こ の パ ラ メ ーターではバン ク 0 と し ます。 バン ク の番号は 上か ら 順に 0、 1、 2 です。 パ ラ メ ー タ ー内では、 バ イ ト グループ T0、 T1、 T2、 T3 にそれぞれ 3、 2、 1、 0 の番号が付け ら れます。 48'h00_00_00_00_03_13 : 6 つの書き込み ク ロ ッ ク ペア ( 各 ク ロ ッ ク ピ ン に 8 ビ ッ ト ) のパ ラ メ ー タ ーの例で す。 こ の場合、 2 つの書き込み ク ロ ッ ク ペアのみを使 用し ます。 パ ラ メ ーターの並びは MSB か ら LSB の順 です (すなわち K[0]/K#[0] はパ ラ メ ー タ ーの最下位 8 ビ ッ ト に該当)。 8'h13 : K/K# をバン ク 1、バ イ ト レーン 3 に配置し ます。 8'20 : K/K# をバン ク 2、バ イ ト レーン 0 に配置 し ます。 最上位のデー タ 書 き 込み/デー タ 読み出 し 、 ま たはア ド レ ス/制御バ イ ト グループで選択 し たバン ク を、 こ のパ ラ メ ー タ ーではバン ク 0 と し ます。バン ク の番号 は上か ら 順に 0、 1、 2 です。 パ ラ メ ー タ ー内では、 バ イ ト グループ T0、 T1、 T2、 T3 にそれぞれ 3、 2、 1、 0 の番号が付け ら れます。 バ イ ト グループ内の最下位 ピ ン を MAP パ ラ メ ー タ ー では 0 と し ます。 バ イ ト グ ルー プ 内 の 最下位 ピ ン を MAP パ ラ メ ー タ ーでは 0 と し ます。 バ イ ト グループ内の ピ ン番号 は最下位ピ ン か ら 最上位ピ ン に向か っ て 0 ~ 9 の番 号が付け ら れ ま す (DQS I/O ピ ン を除 く )。 バ イ ト グ ループの DQS_N ピ ン と DQS_P ピ ンの番号はそれぞ れ A、 B です。 264'h000_000_239_238_237_236_23B_23A_235_234_2 33_232_231_230_229_228_227_226_22B_22A_225_224 : ア ド レ ス幅が 22 ビ ッ ト で各ピ ンが 12 ビ ッ ト であ る こ と を表 し ます。 こ の例では、 ア ド レ ス幅は 20 ビ ッ ト です。パ ラ メ ー タ ーの並びは MSB か ら LSB の順で す (すなわち SA[0] はパ ラ メ ー タ ーの最下位 12 ビ ッ ト に該当)。 12'h224 : ア ド レ ス ピ ン を ロ ケーシ ョ ン 4 のバン ク 2、 バ イ ト レーン 2 に配置 し ます。 12'h11A : ア ド レ ス ピ ン を ロ ケーシ ョ ン A のバン ク 1、 バ イ ト レーン 1 に配置 し ます。 287 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-11 : QDR II+ SRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 RD_MAP リ ー ド イ ネーブルのバ ン ク お よ びバ イ 「ADD_MAP」 の例を参照 し て く だ さ い。 ト レーン位置情報です。 「ADD_MAP」 の 説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーはピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 WR_MAP ラ イ ト イ ネーブルのバ ン ク お よ びバ イ 「ADD_MAP」 の例を参照 し て く だ さ い。 ト レーン位置情報です。 「ADD_MAP」 の 説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーはピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 ADDR_CTL_MAP ア ド レ ス バ イ ト グループのバン ク および 「K_MAP」 の例を参照 し て く だ さ い。 バ イ ト レーン位置情報です。 ア ド レ ス に は 3 つのバ イ ト グループが必要で、 こ の パ ラ メ ーターは 3 つすべてのア ド レ ス バ イ ト グループを選択し たバ イ ト グループ を表し ます。 「K_MAP」 の説明を参照し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置 に よ っ て異な り 、 生成 さ れたデザ イ ン で 手動で変更する こ と はで き ません。 D0_MAP、 D2_MAP、 D4_MAP、 D6_MAP、 デー タ 書 き 込みバ ス用のバン ク お よ びバ 「ADD_MAP」 の例を参照 し て く だ さ い。 イ ト レーンの位置情報です。 「ADD_MAP」 の 説明 を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で 変更す る こ と は出来ません。 D1_MAP、 D3_MAP、 D5_MAP、 D7_MAP BW_MAP Q0_MAP、 Q2_MAP、 Q4_MAP、 Q6_MAP、 例 バ イ ト 書 き 込み信号のバン ク お よ びバ イ 「ADD_MAP」 の例を参照 し て く だ さ い。 ト レーン位置情報です。 「ADD_MAP」 の 説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーはピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 Q1_MAP、 Q3_MAP、 Q5_MAP、 Q7_MAP デー タ 読み出 し バ ス用のバン ク お よ びバ 「ADD_MAP」 の例を参照 し て く だ さ い。 イ ト レーンの位置情報です。 「ADD_MAP」 の 説明 を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で 変更す る こ と は出来ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 288 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 設計ガ イ ド ラ イ ン デザイ ンの規則 メ モ リ の タ イ プ、 メ モ リ デバ イ ス、 デー タ 幅は、 選択 し た FPGA、 FPGA の ス ピー ド グ レー ド 、 デザ イ ンの動作周波 数に よ っ て制約を受け ます。 最終的な周波数範囲は、 特性評価の結果に基づいて決定 し ます。 複数 コ ン ト ロー ラ ーによ るバン クの共有 メ モ リ イ ン タ ーフ ェ イ ス で使用 さ れてい る バン ク の未使用部分を別の メ モ リ イ ン タ ーフ ェ イ ス が共有す る こ と はで き ません。 1 つのバン ク にあ る すべての FIFO お よ び PHASER を制御する 専用 ロ ジ ッ ク は、 シ ン グル メ モ リ イ ン タ ー フ ェ イ ス の動作用に設計 さ れてお り 、 別の メ モ リ イ ン タ ーフ ェ イ ス と は共有で き ません。 ただ し 、 MIG でサポー ト さ れ る デ ュ アル コ ン ト ロ ー ラ ーの共有ア ド レ スお よ び制御は例外です。 ト レース長の要件 こ こ で説明す る ト レース長の要件は高速動作用であ り 、タ ーゲ ッ ト アプ リ ケーシ ョ ンの帯域幅に よ っ て要件を緩和で き る 場合があ り ます。 有効 ト レース長を決定す る 際は、 パ ッ ケージ遅延を考慮す る 必要があ り ます。 同 じ パ ッ ケージ の異な る デバ イ ス では、 内部パ ッ ケージ ス キ ュ ーの値が異な り ま す。 こ の よ う なデバ イ ス を使用す る 場合は、 MIG の [Controller Options] ページで最小周期を適切な値ま で下げて く だ さ い。 遅延値を決定す る 方法 と し て、 IBIS モデルで提供 さ れ る 各ピ ン の L お よ び C 値を使用す る 方法があ り ます。 遅延値 は、 (L × C) の平方根で求め る こ と がで き ます。 も う 1 つの方法は Vivado を使用 し てパ ッ ケージ長を求め る こ と です。 次の コ マ ン ド を使用 し て、 タ ーゲ ッ ト デバ イ ス の全ピ ンに対す る パ ッ ケージ遅延値を含む csv フ ァ イ ルを生成 し ます。 link_design -part <part_number> write_csv <file_name> た と えば、 7 シ リ ーズ FPGA XC7K160T-FF676 のパ ッ ケージ遅延情報を取得する には、 次の コ マ ン ド を使用 し ます。 link_design -part xc7k160tfbg676 write_csv flight_time こ れで、 各ピ ンのパ ッ ケージ ト レース遅延情報を含む flight_time.csv と い う 名前の フ ァ イ ルが現在のデ ィ レ ク ト リ に生成 さ れます。 QDR II+ SRAM イ ン タ ーフ ェ イ ス の ト レース一致ガ イ ド ラ イ ンに従 う と 同時に、 全体的な電気 的伝搬遅延には こ のパ ッ ケージ遅延を考慮 し ます。 同一パ ッ ケージの異な る ダ イ では、 パ ッ ケージ ピ ンが同 じ で も 遅 延値が異な る 可能性があ り ます。 その よ う な結果が予測 さ れ る 場合は、 値を適切に平均化す る 必要があ り ます。 こ れ に よ り 、 タ ーゲ ッ ト デバ イ ス の最大性能が低下する 場合があ り ます。 QDR II+ SRAM 信号間の最大電気的遅延に関する 規則は次の と お り です。 • デー タ バ ス D のすべてのビ ッ ト と 関連する K/K# ク ロ ッ ク と の電気遅延の最大値は ±15ps と し ます。 • すべての Q と 関連す る CQ/CQ# と の電気遅延の最大値は ±15ps と し ます。 • すべてのア ド レ ス/制御信号 と 関連す る K/K# と の電気遅延の最大値は ±50ps と し ます。 • CQ と K ク ロ ッ ク 間に位相関係はあ り ません。 K と D が一致 し 、 CQ と Q (読み出 し デー タ ) が一致す る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 289 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ピ ン配置の要件 ザ イ リ ン ク ス 7 シ リ ーズ FPGA は非常に高性能な メ モ リ イ ン タ ーフ ェ イ ス に対応する よ う 設計 さ れてい ますが、QDR II+ 物理層を使用す る 際にはい く つかの規則に従 う 必要があ り ます。 ザ イ リ ン ク ス 7 シ リ ーズ FPGA は、 各バ イ ト グ ループに専用の ロ ジ ッ ク を備え てい ます。 50 ピ ンの各バン ク それぞれに 4 つのバ イ ト グループがあ り ます。 各バ イ ト グループには 1 つの DQS ク ロ ッ ク 兼用 (CC) I/O ペア と 10 の関連 I/O があ り 、 こ のバ イ ト グループが 4 つで 1 つ の 50 ピ ン バン ク を構成 し てい ます。 各バン ク にはマルチ領域 ク ロ ッ ク 兼用 (MRCC) I/O ピ ンのペアが 2 組あ り 、 こ れ ら は読み出 し ク ロ ッ ク (CQ と CQ#) の配置に使用 し ます。 一般的な QDR II+ 書 き 込みバン ク 構成では、 こ れ ら 10 個の I/O の う ち 9 つを書 き 込みデー タ (D) に使用 し 、 残 り の 1 つをバ イ ト 書 き 込み (BW) に使用 し ます。 書 き 込み ク ロ ッ ク (K/K#) は、 書 き 込みバン ク 内の DQS ペアの う ち 1 つを 使用 し ます。 読み出 し バン ク 内では、 読み出 し デー タ は 10 個の I/O の う ち 9 つに配置 さ れ、 CQ/CQ# ク ロ ッ ク は読み 出 し バン ク 内で使用可能な MRCC_P ピ ンに配置 さ れます。 ザ イ リ ン ク ス 7 シ リ ーズ FPGA は、 高速同期専用の ク ロ ッ ク 配線が I/O バン ク 内で垂直に配線 さ れてい ます。 こ のた め、 QDR II+ メ モ リ イ ン タ ーフ ェ イ ス はバン ク に水平でな く 垂直に配置す る 必要があ り ます。 ま た、 高 さ は最大で 3 バン ク ま でです。 MIG ツールで生成 し た コ アは、 デザ イ ンで最適な ピ ン配置が選択 さ れてい ます。 XDC に よ る 手動での変更は推奨 し ませんが、 XDC を変更す る 必要があ る 場合は、 次の規則に従っ て く だ さ い。 • メ モ リ イ ン タ ーフ ェ イ ス の書 き 込みデー タ バ ス (D) は 1 つのバン ク に配置 し ます。 書 き 込みデー タ バ ス は、 FPGA バ イ ト グループ内でバ イ ト 単位 (9 ビ ッ ト 幅) で配置す る 必要があ り ます。 ま た、 イ ン タ ーフ ェ イ ス のバ イ ト 書 き 込み (BW) 信号はすべて同 じ バン ク に配置す る 必要があ り ます。 • K/K# ク ロ ッ ク は書 き 込みデー タ バン ク と 同 じ バン ク に配置 し ます。 ま た、 DQS ピ ン ペアに も 配置 し ます。 • 読み出 し デー タ バ ス (Q) は、 FPGA バ イ ト グループ内でバ イ ト 単位 (9 ビ ッ ト 幅) で配置 し ます。 1 つの メ モ リ コ ン ポーネ ン ト の読み出 し デー タ バス はすべて、 同 じ バン ク に配置する こ と を推奨 し ます。 • 読み出 し デー タ ク ロ ッ ク (CQ お よ び CQ#) は、読み出 し デー タ と 同 じ バン ク ま たはそれに隣接す る バン ク で利用 可能な 2 本の MRCC_P ま たは MRCC_N ピ ンに配置 し ます。読み出 し デー タ と 読み出 し ク ロ ッ ク は同 じ バン ク に 配置す る こ と を推奨 し ます。 • ア ド レ ス/制御信号はすべて 1 つのバン ク に配置 し ます。 ア ド レ ス バン ク はデー タ 書 き 込み (D) バン ク の隣に配 置 し ます。 • dll_off_n 信号は、 メ モ リ イ ン タ ーフ ェ イ ス に使用 し てい る バン ク 内の空 き I/O に自由に配置で き ます。 • シ ス テ ム ク ロ ッ ク ピ ンは、 デー タ 書 き 込みバン ク に配置す る こ と を推奨 し ます。 シ ス テム ク ロ ッ ク 、 PLL の位置および制約 イ ン タ ーフ ェ イ ス のパフ ォーマ ン ス仕様を満たすには、 メ モ リ に ク ロ ッ ク を供給 し てい る バン ク に PLL が必要です。 ま た、 シ ス テ ム ク ロ ッ ク 入力 も こ のバン ク に配置す る こ と を強 く 推奨 し ます。 MIG ツールは可能な限 り こ れ ら 2 つ の規則に従い ます。 ただ し 例外 と し て、 PLL への ク ロ ッ ク 入力用の ピ ンがバン ク にない場合は、 隣のバン ク か ら 周波 数バ ッ ク ボーン を経由 し て PLL に ク ロ ッ ク を入力す る 必要があ り ます。 PLL へのシ ス テ ム ク ロ ッ ク 入力は、 ク ロ ッ ク 兼用 I/O か ら 供給 し ます。 シ ス テ ム ク ロ ッ ク 入力は、同 じ 列にあ る イ ン タ ーフ ェ イ ス に し か使用で き ません。 こ の ク ロ ッ ク 入力を別の列か ら 駆 動す る こ と はで き ません。 こ れは、 PLL/MMCM お よ び ク ロ ッ ク 配線を追加す る こ と にな り 、 ジ ッ タ ーが大 き く な り すぎ る ためです。 PLL か ら の未使用の出力は ク ロ ッ ク 出力 と し て使用で き ます。 こ れ ら の出力のみ、 設定を変更で き ます。 PLL の全体 的な動作や使用中の出力に関す る 設定は変更 し ないで く だ さ い。複数の イ ン タ ーフ ェ イ ス で 1 つの PLL を共有す る こ と はで き ません。 PLL パ ラ メ ー タ ーの条件については、 270 ページの 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 290 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ン XDC には タ イ ミ ン グ、 ピ ン、 I/O 規格に関する 情報が含まれてい ます。 イ ン タ ーフ ェ イ ス の動作周波数はsys_clk 制 約で設定 し ます。 こ の設定は、 MIG の GUI で行い ます。 こ の制約を変更す る 場合は、 ほかの内部パ ラ メ ー タ ーに も 影響が及ぶため、 設定を再度実行す る 必要があ り ます。 次に例を示 し ます。 NET "sys_clk_p" TNM_NET = TNM_sys_clk; TIMESPEC "TS_sys_clk" = PERIOD "TNM_sys_clk" 1.875 ns; clk_ref 制約で IDELAY 基準 ク ロ ッ ク の周波数を設定 し ます (通常は 200MHz)。 次に例を示 し ます。 NET "clk_ref_p" TNM_NET = TNM_clk_ref; TIMESPEC "TS_clk_ref" = PERIOD "TNM_clk_ref" 5 ns; I/O 規格は、 QDR II+ SRAM イ ン タ ーフ ェ イ ス に合わせて LVCMOS15、 HSTL15_I、 HSTL15_I_DCI、 DIFF_HSTL15_I、 DIFF_HSTL15_I_DCI の 中 か ら 適宜設定 さ れ ま す。 シ ス テ ム ク ロ ッ ク (sys_clk) お よ び I/O 遅延基準 ク ロ ッ ク (clk_ref) には LVDS_25 を使用 し ます。 こ れ ら の規格は、 シ ス テ ム コ ン フ ィ ギ ュ レーシ ョ ンに合わせて変更可能で す。 こ れ ら の信号は、 シ ス テ ム接続のために最上位に配線 さ れます。 • sys_rst : メ イ ン シ ス テ ム リ セ ッ ト 信号です。 • init_calib_complete : 内部キ ャ リ ブ レーシ ョ ンが完了 し 、 イ ン タ ーフ ェ イ ス の使用準備が整っ てい る こ と を示す信 号です。 • tg_compare_error : 読み出 し デー タ と 書 き 込みデー タ が一致 し ない場合にサンプル デザ イ ンの ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て生成 さ れ る 信号です。 こ れ ら の信号はすべて LVCMOS25 に設定 さ れてい ますが、 シ ス テ ム デザ イ ンに応 じ て変更が可能です。 こ れ ら の信 号を生成 し て外部ピ ンに出力す る のではな く 、 内部で使用す る こ と も で き ます。 イ ン タ ーフ ェ イ ス に よ っ ては、 ア ド レ ス/制御お よ びデー タ があ る バン ク の上下いずれかのバン ク にシ ス テ ム ク ロ ッ ク が必要 と な る こ と があ り ます。 こ の場合、 MIG ツールは XDC に制約を追加 し ます。 次に例を示 し ます。 set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets sys_clk_p] set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_pins -hierarchical *pll*CLKIN1] 配置配線の実行時に次の よ う な警告が表示 さ れますが、 こ の警告は無視 し てか ま い ません。 WARNING:Place:1402 - A clock IOB / PLL clock component pair have been found that are not placed at an optimal clock IOB / PLL site pair.The clock IOB component <sys_clk_p> is placed at site <IOB_X1Y76>.The corresponding PLL component <u_backb16/u_infrastructure/plle2_i> is placed at site <PLLE2_ADV_X1Y2>.The clock I/O can use the fast path between the IOB and the PLL if the IOB is placed on a Clock Capable IOB site that has dedicated fast path to PLL sites within the same clock region.You may want to analyze why this problem exists and correct it.This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was applied on COMP.PIN <sys_clk_p.PAD> allowing your design to continue.This constraint disables all clock placer rules related to the specified COMP.PIN.The use of this override is highly discouraged as it may lead to very poor timing results.It is recommended that this error condition be corrected in the design. リ ソ ース が限 ら れ る ため、 MIG ツールで生成 し た メ モ リ イ ン タ ーフ ェ イ ス を含む領域か ら I/O ク ロ ッ キ ン グ バ ッ ク ボーン経由で隣接す る 領域の CMT ブ ロ ッ ク へユーザー ク ロ ッ ク を駆動 し ないで く だ さ い。詳細は、『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) [参照 10] を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 291 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン MIG ツールは選択 し たデー タ レー ト お よ び電圧入力に基づいて VCCAUX_IO 制約を設定 し ます。生成 さ れた XDC に は、 必要に応 じ て制約が追加 さ れます。 次に例を示 し ます。 NET "sys_clk_p" NET "sys_clk_n" LOC = "Y5" LOC = "W5" | | IOSTANDARD = DIFF_HSTL_I IOSTANDARD = DIFF_HSTL_I | | VCCAUX_IO = DONTCARE; VCCAUX_IO = DONTCARE; 詳細は、 『 タ イ ミ ン グ ク ロ ージ ャ ユーザー ガ イ ド 』 (UG612) [参照 15] を参照 し て く だ さ い。 メ モ リ バン ク の 1 つにあ る CCIO ピ ンに メ モ リ シ ス テ ム入力 (sys_clk_p/sys_clk_n) が配置 さ れてい る QDR II+ SRAM イ ン タ ー フ ェ イ ス では、 MIG に よ っ て CCIO ピ ン が DIFF_HSTL_I I/O 規格 (VCCO = 1.5V) に設定 さ れ ま す。 DIFF_HSTL_I お よ び LVDS 入力の両方に同 じ 差動入力レ シーバーが使用 さ れ る ので、 LVDS ク ロ ッ ク ソ ース は直接 DIFF_HSTL_I CCIO ピ ンに接続で き ます。 LVDS お よ び LVDS_25 IO 規格の使用法の詳細お よ び必要な回路は、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] を参照 し て く だ さ い。 I/O 規格 MIG ツールは、 7 シ リ ーズ FPGA に対す る 入力ま たは出力に応 じ て SelectIO™ イ ン タ ーフ ェ イ ス規格を選択 し 、 コ ア の XDC を適切に生成 し ます。 こ れ ら の規格は変更 し ないで く だ さ い。 表 2-12 に、 ポー ト と 使用 さ れ る I/O 規格の一 覧を示 し ます。 表 2-12 : I/O 規格 信号(1) 方向 I/O 規格 qdr_bw_n 出力 HSTL_I qdr_cq_p、 qdr_cq_n 入力 HSTL_I_DCI qdr_d 出力 HSTL_I qdr_k_p、 qdr_k_n 出力 DIFF_HSTL_I qdr_q 入力 HSTL_I_DCI qdr_r_n 出力 HSTL_I qdr_sa 出力 HSTL_I qdr_w_n 出力 HSTL_I 注記 : 1. こ れ ら の信号の動作電圧はすべて 1.5V です。 パフ ォーマ ン ス仕様を満たすには、FPGA に DCI (HP バン ク の場合) ま たは IN_TERM (HR バン ク の場合) が必要です。 MIG ツールで生成 し たデザ イ ンでは、 HP (High Performance) バン ク でのデー タ 読み出 し (Q) お よ び読み出 し ク ロ ッ ク (CQ_P と CQ_N) に DCI 規格が使用 さ れます。 High-Range バン ク では HSTL_I 規格を使用 し 、 内部終端 (IN_TERM) 属 性は MIG の GUI で選択 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 292 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン QDR II+ SRAM デザイ ンのデバ ッ グ こ こ では、 メ モ リ イ ン タ ーフ ェ イ ス の設計プ ロ セ ス で生 じ る 問題を特定 し 、 修正す る ためのデバ ッ グ方法を手順を 追っ て説明 し ます。 注記 : MIG 7 Series QDR II+ コ アの全体的な読み出 し レ イ テ ン シは、 メ モ リ コ ン ト ロ ー ラ ーの設定に依存 し ますが、最 も 大 き な影響を与え る のは、 タ ーゲ ッ ト の ト ラ フ ィ ッ ク /ア ク セ ス パ タ ーン、 お よ び読み出 し コ マ ン ド が発行 さ れ る 前にパ イ プ ラ イ ン上に存在す る コ マ ン ド 数です。 読み出 し レ イ テ ン シは、 ユーザーま たはネ イ テ ィ ブ イ ン タ ーフ ェ イ ス が読み出 し コ マ ン ド を受信 し た時点か ら 測定 さ れます。 読み出 し レ イ テ ン シ を解析する には、 シ ミ ュ レーシ ョ ン を 実行 し ます。 概要 Virtex-7 FPGA の QDR II+ メ モ リ イ ン タ ーフ ェ イ ス では、メ モ リ イ ン タ ーフ ェ イ ス デザ イ ンの複雑な点が単純にな っ てい ますが、アプ リ ケーシ ョ ン環境はそれぞれに異な る ため、堅牢なデザ イ ン を構築す る には適切な配慮が必要です。 シ ミ ュ レーシ ョ ン、 適切な合成 と イ ンプ リ メ ン テーシ ョ ン、 PCB レ イ ア ウ ト ガ イ ド ラ イ ンの順守な ど の機能検証や、 IBIS シ ミ ュ レーシ ョ ンやシ グナル イ ン テ グ リ テ ィ 解析な ど のボー ド 検証を注意深 く 実行 し て く だ さ い。 こ こ では、 設計プ ロ セ ス で生 じ る 問題を特定 し 、 修正する ためのデバ ッ グ方法を手順を追っ て説明 し ます。 特に、 次 の内容について詳 し く 説明 し ます。 • UNISIM シ ミ ュ レーシ ョ ン モデルを使用 し た機能検証 • デザ イ ン イ ンプ リ メ ン テーシ ョ ンの検証 • ボー ド レ イ ア ウ ト の検証 • QDR II+ SRAM 物理層を使用 し たボー ド レベル問題のデバ ッ グ • 一般的なボー ド レベル デバ ッ グ手法 メ モ リ イ ン タ ーフ ェ イ ス の検証時に直面する 主な問題 と し ては、 次の 2 つがあ り ます。 • キ ャ リ ブ レーシ ョ ンが正常に完了 し ない • 通常動作時にデー タ が破損す る 問題はその原因に よ り 、 シ ミ ュ レーシ ョ ン あ る いはハー ド ウ ェ アでのみ発生する 場合 と 、 こ れ ら 両方で発生す る 場合 があ り ます。 図 2-48 に、 こ れ ら 2 つの一般的な問題をデバ ッ グする 際の概略フ ロ ーを示 し ます。 X-Ref Target - Figure 2-48 6\PSWRPVLQ6LPXODWLRQ+DUGZDUH &DOLEUDWLRQ)DLOXUH 'DWD%LW%\WH&RUUXSWLRQ(UURUV 6LPXODWLRQ'HEXJ 6\QWKHVLV,PSOHPHQWDWLRQ'HEXJ +DUGZDUH'HEXJ 図 2-48 : MIG を利用 し た Virtex-7 FPGA QDR II+ SRAM のデバ ッ グ フ ロー図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 293 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン デバ ッ グ ツール メ モ リ イ ン タ ーフ ェ イ ス デザ イ ンのデバ ッ グ ツールは数多 く あ り ます。 こ こ では、 状況に応 じ て最適なデバ ッ グ リ ソ ース を紹介 し ます。 サン プル デザイ ン MIG ツールで QDR II+ SRAM デザ イ ン を生成する と 、 サンプル デザ イ ン と ユーザー デザ イ ンが生成 さ れます。 サン プル デザ イ ン には、 シ ミ ュ レーシ ョ ンお よ びハー ド ウ ェ アで完全に検証済みの合成可能な テ ス ト ベンチが含ま れ ま す。 こ のデザ イ ンは、 MIG ツールで生成 し たデザ イ ンの動作を確認する ために使用で き 、 ボー ド 関連の問題を特定す る 際に も 有用です。 デバ ッ グ信号 MIG の [FPGA Options] ページには [Debug Signals Control] があ り ます。 こ の機能を有効にす る と 、 キ ャ リ ブ レーシ ョ ン、 タ ッ プ遅延、 読み出 し デー タ 信号を Vivado ロ ジ ッ ク 解析を使用 し て監視で き ます。 ま た、 デバ ッ グ信号がデザ イ ンの最上位モジ ュ ールで Vivado ロ ジ ッ ク 解析機能の VIO モジ ュ ールにポー ト マ ッ プ さ れます。 MIG で [Debug Signals for Memory Controller] を [ON] にす る と 、デバ ッ グ ポー ト を Vivado Lab Edition モジ ュ ール (ILA お よ び VIO) に接続す る サンプル デバ ッ グ ロ ジ ッ ク がサンプル デザ イ ンの最上位モジ ュ ール (example_top) に作成 さ れます。 ユーザー デザ イ ンの最上位では、すべてのデバ ッ グ ポー ト 信号がい く つかのバ ス にグループ化 さ れ、 ポー ト リ ス ト に表示 さ れます。 Vivado Lab Edition のすべてのデバ ッ グ ポー ト が Vivado Lab Edition の各種 コ ア に接続 さ れてい る こ と を確認す る に は、 リ フ ァ レ ン ス サンプル デザ イ ンの最上位モジ ュ ールを確認 し て く だ さ い。 デバ ッ グ ポー ト 対応のデザ イ ン用に ユーザー デザ イ ンの最上位モジ ュ ールで生成 さ れ る デバ ッ グ ポー ト は、 qdriip_ila0_data、 qdriip_ila0_trig、 qdriip_ila1_data、 qdriip_ila1_trig、 qdriip_vio2_async_in、 qdriip_vio2_sync_out です。 Vivado Lab Edition Vivado Lab Edition を使用 し て、 ロ ジ ッ ク アナ ラ イ ザー、 バ ス アナ ラ イ ザー、 VIO ソ フ ト ウ ェ アの コ ア をデザ イ ンに 直接組み込み ます。 サポー ト さ れ る ILA お よ び VIO のバージ ョ ンは 3.0 です。 Vivado Lab Edition では、 ハー ド ウ ェ ア で ア プ リ ケーシ ョ ン 信号や MIG 信号 を キ ャ プチ ャ す る ト リ ガー条件 を 設定で き ま す。 キ ャ プチ ャ し た信号は、 Vivado ロ ジ ッ ク 解析で解析で き ます。 Vivado ロ ジ ッ ク 解析の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 16] を参照 し て く だ さ い。 重要 : Vivado Lab Edition、 ILA は同期 ク ロ ッ ク で動作 し 、 リ セ ッ ト の期間は ト リ ガーで き ません。 代わ り に、 信号の 基数値をバ イ ナ リ に設定 し て ILA 信号を ト リ ガー し 、 立ち上が り エ ッ ジ (R) ま たは立ち下が り エ ッ ジ (F) を検出 し ま す。 こ の よ う な設定に よ り 、 ト リ ガーを機能 さ せる こ と がで き ます。 リ セ ッ ト を適用 し て リ リ ースする と 、 ト リ ガー に よ っ て所望の ILA 結果がキ ャ プチ ャ さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 294 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン シ ミ ュ レーシ ョ ンのデバ ッ グ 図 2-49 に、 シ ミ ュ レーシ ョ ンのデバ ッ グ フ ロ ーを示 し ます。 X-Ref Target - Figure 2-49 9HULI\6XFFHVVIXO6LPXODWLRQ8VLQJ ([DPSOH'HVLJQ,GHQWLI\DQ\,VVXHVZLWK 6LPXODWLRQ(QYLURQPHQW 'HEXJ,VVXHVZLWK8VHU'HVLJQ6LPXODWLRQ 2SHQ:HE&DVH 図 2-49 : シ ミ ュ レーシ ョ ンのデバ ッ グ フ ロー図 サン プル デザイ ン を使用 し たシ ミ ュ レーシ ョ ン検証 MIG ツールで生成 し たサンプル デザ イ ンには、 シ ミ ュ レーシ ョ ン テ ス ト ベンチ、 MIG ツールで選択 し た メ モ リ に基 づ く パ ラ メ ー タ ー フ ァ イ ルが含まれます。 ソ フ ト ウ ェ ア リ リ ー ス ご と に、 QuestaSim、 Vivado シ ミ ュ レ ー タ 、 IES、 VCS シ ミ ュ レ ーシ ョ ン ツ ール を使用 し て MIG IP が検証 さ れます。IES お よ び VCS シ ミ ュ レー タ でシ ミ ュ レーシ ョ ン を実行する ための ス ク リ プ ト フ ァ イ ルは、 MIG の出力内に生成 さ れます。 QuestaSim、 Vivado シ ミ ュ レー タ を使用 し たシ ミ ュ レーシ ョ ンは、 Vivado Tcl コ ン ソ ー ルの コ マ ン ド ま たは Vivado IDE で実行で き ます。 重要 : MIG IP のシ ミ ュ レーシ ョ ンにはその他のシ ミ ュ レーシ ョ ン ツール も 使用で き ますが、 ザ イ リ ン ク ス では特に こ れ ら を検証 し てい ません。 IES および VCS ス ク リ プ ト フ ァ イルを使用 し たシ ミ ュ レーシ ョ ン フ ロー シ ミ ュ レーシ ョ ンは、 次のデ ィ レ ク ト リ か ら 実行 し ます。 <project_dir>/<Component_Name>_example/<component name>_example.srcs/sim_1/imports/sim プ ロ ジ ェ ク ト 名を project_1 と し 、Vivado IDE の コ ン ポーネ ン ト 名を mig_7series_0 と し て作成 さ れたプ ロ ジ ェ ク ト では、 次のデ ィ レ ク ト リ か ら 開始 し ます。 project_1/mig_7series_0_example/mig_7series_0_example.srcs/sim_1/imports/sim IES お よ び VCS シ ミ ュ レーシ ョ ン ス ク リ プ ト は、 Linux オペレーテ ィ ン グ シ ス テ ム上でのみ実行 さ れます。 ies_run.sh お よ び vcs_run.sh フ ァ イ ルは、それぞれ IES お よ び VCS シ ミ ュ レー タ を使用 し た シ ミ ュ レーシ ョ ン 用の実行フ ァ イ ルです。 ies_run.sh お よ び vcs_run.sh フ ァ イ ルそれぞれに ラ イ ブ ラ リ フ ァ イ ルを追加 し ます。 IES お よ び VCS を使用 し たシ ミ ュ レーシ ョ ンの詳細は、 readme.txt を参照 し て く だ さ い。 Vivado シ ミ ュ レー タ を使用 し たシ ミ ュ レーシ ョ ン フ ロー 1. [Open IP Example Design] での Vivado プ ロ ジ ェ ク ト で、 Flow Navigator の下にあ る [Simulation Settings] を ク リ ッ ク し ます (図 2-50)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 295 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-50 図 2-50 : Vivado シ ミ ュ レー タ によ る シ ミ ュ レーシ ョ ン 2. 図 2-50 に示す [Simulation] タ ブで、 [xsim.simulate.runtime] を 1ms に設定 し ます (一定時間 (1ms よ り も ずっ と 短い時間) 経過後にシ ミ ュ レーシ ョ ン を停止す る シ ミ ュ レーシ ョ ン RTL 指示子あ り )。 [OK] を ク リ ッ ク し て、 設定を適用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 296 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 3. 図 2-51 に示す よ う に、 Flow Navigator で、 [Run Simulation] → [Run Behavioral Simulation] を ク リ ッ ク し ます。 X-Ref Target - Figure 2-51 図 2-51 : [Run Behavioral Simulation] の選択 QuestaSim を使用する シ ミ ュ レーシ ョ ン 1. [Open IP Example Design] での Vivado プ ロ ジ ェ ク ト で、Flow Navigator の下にあ る [Simulation Settings] を ク リ ッ ク し ます。 2. [Target simulator] で QuestaSim/ModelSim を選択 し ます。 3. a. コ ンパ イ ル済みの ラ イ ブ ラ リ の場所を参照 し 、 [Compiled libraries location] にそのパ ス を設定 し ます。 b. [Simulation] タ ブで、[modelsim.simulate.runtime] を 1 ms に設定 し ます (一定時間 (1ms よ り も ずっ と 短い時間) 経過後にシ ミ ュ レーシ ョ ン を停止する シ ミ ュ レーシ ョ ン RTL 指示子あ り )、図 2-50 に示す よ う に、 [modelsim.simulate.vsim.more_options] を -novopt に設定 し ます。 [OK] を ク リ ッ ク し て、 設定を適用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 297 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-52 図 2-52 : QuestaSim によ る シ ミ ュ レーシ ョ ン 4. 図 2-51 に示す よ う に、 Flow Navigator で、 [Run Simulation] → [Run Behavioral Simulation] を ク リ ッ ク し ます。 5. QuestaSim が Vivado か ら 呼び出 さ れ、 シ ミ ュ レーシ ョ ン を実行 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 8] を参照 し て く だ さ い。 注記 : MIG では QDR IIP デザ イ ン用の メ モ リ モデル フ ァ イ ルを生成 し ません。 メ モ リ モデルは、 [Open IP Example Design] のプ ロ ジ ェ ク ト の [Sources] ビ ュ ーにあ る [Simulation Sources] に適宜追加 さ れてい る はずです。 Samsung の メ モ リ モデルについては、 適切な設定値が メ モ リ モデル内に設定 さ れてい ます。 Vivado の設定では、 メ モ リ モデルに対 し て個々の値の定義はで き ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 298 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ザ イ リ ン ク ス ラ イ ブ ラ リ の設定方法は、『 コ マ ン ド ラ イ ン ツール ユーザー ガ イ ド 』 (UG628) [参照 17] の「COMPXLIB」 お よ び 『合成/シ ミ ュ レーシ ョ ン デザ イ ン ガ イ ド 』 (UG626) [参照 18] を参照 し て く だ さ い。 シ ミ ュ レーシ ョ ン ツール のサポー ト については、 『Zynq-7000 AP SoC お よ び 7 シ リ ーズ デバ イ ス メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン デー タ シー ト 』 (DS176) [参照 1] を参照 し て く だ さ い。 サンプル デザ イ ンのシ ミ ュ レーシ ョ ンでは、 メ モ リ 初期化を完了 し た後、 テ ス ト ベンチの ス テ ィ ミ ュ ラ ス に対応 し て ト ラ フ ィ ッ ク を実行 し ます。 メ モ リ の初期化お よ びキ ャ リ ブ レーシ ョ ンが完了する と 、 cal_done 信号がアサー ト さ れます。 こ の信号がアサー ト さ れ る と ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに制御が移 り 、 パ ラ メ ー タ ー値に基づいて読み出 し お よ び書 き 込みを開始 し ます。 表 2-13 に、 シ ミ ュ レーシ ョ ンで使用す る 信号お よ びパ ラ メ ー タ ーを示 し ます。 表 2-13 : シ ミ ュ レーシ ョ ン で使用する信号 信号名 説明 tg_compare_error UI か ら 書 き 込まれたデー タ と UI の読み出 し 時に受信 し たデー タ が一致 し ていない こ と を示 し ます。 こ の信号はサンプル デザ イ ンの一部です。 1 回のエ ラ ーで信号がアサー ト さ れ、 デザ イ ンが リ セ ッ ト さ れ る ま でその状態が続 き ます。 tg_cmp_error UI か ら 書 き 込まれたデー タ と UI の読み出 し 時に受信 し たデー タ が一致 し ていない こ と を示 し ます。 こ の信号はサンプル デザ イ ンの一部です。 デー タ の不一致が生 じ る ご と にアサー ト さ れます。 app_wr_cmd 書 き 込み コ マ ン ド の書 き 込みア ド レ スお よ び書き 込みデー タ が有効であ る こ と を示 し ます。 app_wr_addr 書 き 込み コ マ ン ド のア ド レ ス です。 app_wr_data 書 き 込み コ マ ン ド の書 き 込みデー タ です。 app_wr_bw_n バ イ ト 書 き 込み制御です。 app_rd_cmd 読み出 し コ マ ン ド の読み出 し ア ド レ ス が有効であ る こ と を示 し ます。 app_rd_addr 読み出 し コ マ ン ド のア ド レ ス です。 app_rd_data メ モ リ デバ イ ス か ら 返 さ れ る 読み出 し デー タ です。 app_rd_valid app_rd_data が有効な間アサー ト さ れ る 信号です。 メ モ リ の初期化 QDR II+ メ モ リ の初期化に複雑な手順はあ り ません。 ただ し 、 Doff_n 信号が メ モ リ ベン ダーの要件どお り に メ モ リ に供給 さ れてい る こ と を確認す る 必要があ り ます。 MIG ツールで生成 し た QDR II+ SRAM イ ン タ ーフ ェ イ ス デザ イ ンは、 FPGA か ら Doff_n 信号を駆動 し ます。 200μs の待機時間の後に内部 MMCM が ロ ッ ク す る と 、 Doff_n 信号が High にアサー ト さ れ ま す。 Doff_n がアサー ト さ れてか ら CLK_STABLE (2,048 CQ ク ロ ッ ク サ イ ク ル) が経過す る と 、 メ モ リ に コ マ ン ド が発行 さ れます。 Doff_n 信号を メ モ リ 側で終端す る 必要があ り 、 FPGA か ら 駆動 し ない メ モ リ デバ イ ス では、 必要な終端手順はユー ザーが実行す る 必要があ り ます。 キ ャ リ ブ レーシ ョ ン キ ャ リ ブ レーシ ョ ンは、 リ ー ド レベ リ ン グ、 書 き 込みキ ャ リ ブ レーシ ョ ン、 リ ー ド イ ネーブル キ ャ リ ブ レーシ ョ ン で構成 さ れ ます。 こ れは 2 段階で実行 し ます。 キ ャ リ ブ レーシ ョ ン プ ロ セ ス が正 し く 完了す る と 、 cal_done 信号 がアサー ト さ れます。 詳細は、 271 ページの 「物理 イ ン タ ーフ ェ イ ス」 を参照 し て く だ さ い。 最初の段階では、 ビ ッ ト 単位の リ ー ド レベ リ ン グ キ ャ リ ブ レーシ ョ ン を実行 し ます。 こ こ で使用す る デー タ パ タ ー ンは 00FF00FF00FFFF00 です。 こ のデー タ パ タ ーン を まず メ モ リ に書 き 込みます (図 2-53)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 299 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-53 図 2-53 : 第 1 段階の読み出 し キ ャ リ ブ レーシ ョ ン における書き込み こ のパ タ ーン を、 ビ ッ ト 単位のキ ャ リ ブ レーシ ョ ン実行中に連続 し て読み出 し ます (図 2-54)。 X-Ref Target - Figure 2-54 図 2-54 : 第 1 段階の読み出 し キ ャ リ ブ レーシ ョ ンにおける読み出 し 第 2 段階で は リ ー ド イ ネーブ ル信号の キ ャ リ ブ レ ー シ ョ ン を 実行 し ま す。 こ こ で使用す る デー タ パ タ ー ン は、 「..55..AA」 です。 こ のデー タ パ タ ーン を メ モ リ に書 き 込んでか ら 読み出 し 、 リ ー ド イ ネーブル信号のキ ャ リ ブ レー シ ョ ン を実行 し ます (図 2-55)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 300 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 2-55 図 2-55 : 第 2 段階の読み出 し キ ャ リ ブ レーシ ョ ンにおけ る書き込み と 読み出 し 再度読み出 し を実行す る と 読み出 し バ ス は別の値に駆動 さ れ ま す。 こ れは、 読み出 し キ ャ リ ブ レ ーシ ョ ン で正 し い デー タ パ タ ーン を識別で き る よ う にす る ため、 主にハー ド ウ ェ アで必要です。 第 2 段階のキ ャ リ ブ レーシ ョ ン が完了す る と cal_done 信号がアサー ト さ れ、 キ ャ リ ブ レーシ ョ ン プ ロ セ ス が正 し く 完了 し た こ と を示 し ます。 テ ス ト ベン チ cal_done がアサー ト さ れ る と テ ス ト ベンチに制御が移 り 、 メ モ リ への書 き 込みお よ び読み出 し を実行 し ます。 書 き 込んだデー タ と 読み出 し たデー タ が比較 さ れ、 その結果が一致 し ない場合はエ ラ ー信号がアサー ト さ れます。 図 2-56 に、 エ ラ ーがアサー ト さ れずにテ ス ト ベンチの イ ンプ リ メ ン テーシ ョ ンが成功 し た様子を示 し ます。 X-Ref Target - Figure 2-56 図 2-56 : キ ャ リ ブ レーシ ョ ン完了後のテ ス ト ベン チの動作 正 し い書き込みおよび読み出 し コ マ ン ド 書 き 込みお よ び読み出 し コ マ ン ド を送信す る 際は、 対応す る UI 入力を適切にアサー ト ま たはデ ィ アサー ト す る 必要 があ り ます。 詳細は、 268 ページの 「ユーザー イ ン タ ーフ ェ イ ス」 お よ び 269 ページの 「 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス を介 し た コ ア と の イ ン タ ーフ ェ イ ス」 を参照 し て く だ さ い。 サン プル デザ イ ンに付属す る テ ス ト ベンチ デザ イ ン を使用 し て、 UI の動作を検証で き ます。 QDR II+ SRAM イ ン タ ーフ ェ イ ス のデー タ エ ラ ーをデバ ッ グす る には、 UI 信号を シ ミ ュ レーシ ョ ン波形を取得す る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 301 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン QuestaSim の [Instance] ウ ィ ン ド ウ で u_ip_top を選択する と 、 [Objects] ウ ィ ン ド ウ に必要な UI 信号が表示 さ れます (図 2-57)。 299 ページの表 2-13 に示す UI 信号を右 ク リ ッ ク し 、 [Add] → [To Wave] → [Selected Signals] を ク リ ッ ク し ます。 X-Ref Target - Figure 2-57 図 2-57 : QuestaSim の [Instance] ウ ィ ン ド ウ 図 2-58 と 図 2-59 に、 UI と QDR II+ イ ン タ ーフ ェ イ ス の書 き 込み/読み出 し 波形の例を示 し ます。 X-Ref Target - Figure 2-58 図 2-58 : UI の書き込み/読み出 し X-Ref Target - Figure 2-59 図 2-59 : QDR II+ イ ン タ ー フ ェ イ スの書き込み/読み出 し Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 302 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 合成および イ ン プ リ メ ン テーシ ョ ンのデバ ッ グ 図 2-60 に、 合成お よ び イ ンプ リ メ ン テーシ ョ ンのデバ ッ グ フ ロ ーを示 し ます。 X-Ref Target - Figure 2-60 9HULI\6XFFHVVIXO6\QWKHVLVDQG ,PSOHPHQWDWLRQ8VLQJ([DPSOH'HVLJQ 9HULI\$Q\0RGLILFDWLRQWRWKH0,*2XWSXW 9HULI\6XFFHVVIXO6\QWKHVLVDQG ,PSOHPHQWDWLRQ8VLQJ8VHU'HVLJQ 9HULI\'HVLJQ7LPLQJLQ75$&( 2SHQ:HE&DVH 図 2-60 : 合成および イ ン プ リ メ ン テーシ ョ ンのデバ ッ グ フ ロー図 重要 : こ の コ アでは Synplify の標準合成フ ロ ーはサポー ト さ れてい ません。 合成および イ ン プ リ メ ン テーシ ョ ンの検証 MIG ツールに よ っ て生成 さ れ る サンプル デザ イ ンお よ びユーザー デザ イ ンには、合成/ イ ンプ リ メ ン テーシ ョ ン ス ク リ プ ト フ ァ イ ルお よ び .xdc フ ァ イ ルが含ま れ ます。 こ れ ら の フ ァ イ ルを正 し く 使用 し て タ ーゲ ッ ト デザ イ ン を合 成お よ び イ ンプ リ メ ン ト し 、 ビ ッ ト ス ト リ ーム を生成 し ます。 MIG 出力の変更を検証 MIG ツールでは メ モ リ イ ン タ ーフ ェ イ ス信号の FPGA バン ク を選択で き ます。選択 し たバン ク に基づいて、MIG ツー ルは必要なすべての ロ ケーシ ョ ン制約を記述 し た XDC フ ァ イ ルを出力 し ます。 こ の フ ァ イ ルは、 example_design/par デ ィ レ ク ト リ と user_design/constraints デ ィ レ ク ト リ に生成 さ れ、 変更で き ません。 MIG ツールは最上位の HDL パ ラ メ ー タ ーでパ ラ メ ー タ ーが指定 さ れたオープン ソ ース RTL コ ー ド を出力 し ます。 こ れ ら のパ ラ メ ー タ ーは MIG ツールに よ っ て設定 さ れ る ため、 手動で変更 し ないで く だ さ い。 周波数の増減な ど の変 更が必要な場合は MIG ツールを再実行 し て ア ッ プデー ト し たデザ イ ン を作成 し ます。 手動での変更はサポー ト さ れ ていないため、 変更す る 場合はビヘ イ ビ アー シ ミ ュ レーシ ョ ン、 合成、 お よ び イ ンプ リ メ ン テーシ ョ ン を それぞれ実 行 し て検証す る 必要があ り ます。 タ イ ミ ング エ ラ ーの検出 と 解析 MIG の QDR II+ SRAM デザ イ ンは、 サンプル デザ イ ン を使用 し て幅広い コ ン フ ィ ギ ュ レーシ ョ ンで タ イ ミ ン グ を満 たす こ と が検証 さ れてい ます。 ただ し 、 MIG ツールで生成 し たデザ イ ンに特定のユーザー アプ リ ケーシ ョ ン ロ ジ ッ ク を統合 し た場合な どは、 タ イ ミ ン グ違反が発生す る こ と があ り ます。 タ イ ミ ン グ 違反が発生 し た場合は、 それ を 解決す る 必要が あ り ま す。 TRACE で出力 さ れ る タ イ ミ ン グ レ ポー ト (.twx/.twr) を解析 し 、 タ イ ミ ン グ違反のパ ス が MIG ツールの QDR II+ SRAM デザ イ ン と MIG デザ イ ンへの UI ( バ ッ ク エン ド アプ リ ケーシ ョ ン) の ど ち ら にあ る のか を確認 し ます。 エ ラ ーが発生 し た場合は、 フ ァ イ ルで指定 し た ビル ド オプシ ョ ン (XST、 MAP、 PAR) が適切に使用 さ れてい る か を確認 し ます。 それで も エ ラ ーが解消 さ れない場合は、 さ ま ざ ま なザ イ リ ン ク ス リ ソ ース を使用 し 、 タ イ ミ ン グ ク ロ ージ ャ を達成 し ます。 PlanAhead™ [参照 19] は、 デザ イ ン全体の性能 と 品質を改善 し ます。 ザ イ リ ン ク ス制約の詳細は、 『 タ イ ミ ン グ ク ロ ージ ャ ユーザー ガ イ ド 』 (UG612) [参照 15] を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 303 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ハー ド ウ ェ アのデバ ッ グ 図 2-61 に、 ハー ド ウ ェ アのデバ ッ グ フ ロ ーを示 し ます。 X-Ref Target - Figure 2-61 9HULI\0HPRU\,PSOHPHQWDWLRQ*XLGHOLQHV DUH3URSHUO\)ROORZHG 5XQ6,6LPXODWLRQ8VLQJ,%,6 5XQ([DPSOH'HVLJQ ,VRODWH%LW(UURUV %RDUG0HDVXUHPHQWV 0HDVXUH6LJQDO,QWHJULW\ 0HDVXUH6XSSO\DQG95()9ROWDJHV 0HDVXUH%XV7LPLQJ &KHFN&ORFNLQJ5XQ,QWHUIDFHDW 6ORZHU)UHTXHQF\ 2SHQ:HE&DVH 図 2-61 : ハー ド ウ ェ アのデバ ッ グ フ ロー図 ク ロ ッ キング 周波数、 安定性 (ジ ッ タ ー )、 お よ び FPGA ピ ンの使用率をすべて実現す る には、 外部 ク ロ ッ ク ソ ース を評価す る 必 要があ り ます。 デザ イ ンがすべての ク ロ ッ キ ン グ ガ イ ド ラ イ ンに準拠 し てい る こ と を確認 し て く だ さ い。 ク ロ ッ キ ン グ ガ イ ド ラ イ ン に従っ ていて も 問題が発生す る 場合は、 イ ン タ ーフ ェ イ ス の動作速度を引 き 下げ ま す。 デザ イ ンや ボー ド に よ っ ては、 周波数を下げ る と 適切に動作 し ない場合があ り ます。 周波数が低下する と 、 PCB ト レース の不一 致、 シ グナル イ ン テ グ リ テ ィ の低下、 ま たは過剰負荷に よ っ て、 セ ッ ト ア ッ プ タ イ ムやホール ド タ イ ムのマージ ン がわずかに増加 し ます。 周波数を下げ る 場合は、 MIG を再実行 し て低周波数に対応 し たデザ イ ン を生成 し 直 し て く だ さ い。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク には CLK_PERIOD パ ラ メ ー タ ーの影響を受け る 部分があ る ため、 こ のパ ラ メ ー タ ーを手動で変更す る こ と は推奨で き ません。 ボー ド 上のピ ン配置の検証 MIG ツールで出力 さ れた ピ ン配置を変更せずその ま ま 使用 し てい る か ど う か を確認 し ま す。 次に、 ボー ド 回路図 と PAR で生成 さ れた <design_name>.pad レ ポー ト を比較 し ま す。 こ れに よ り 、 ボー ド の ピ ン配置 と イ ン プ リ メ ン テーシ ョ ン済みデザ イ ンで割 り 当て ら れた ピ ンが一致 し てい る こ と を確認 し ます。 IBIS モデルを使用 し たシグナル イ ン テグ リ テ ィ シ ミ ュ レーシ ョ ンの実行 ボー ド レ イ ア ウ ト のガ イ ド ラ イ ンに準拠 し てい る か を検証す る には、 IBIS (I/O Buffer Information Specification) を使用 し て シ グナル イ ン テ グ リ テ ィ シ ミ ュ レーシ ョ ン を実行す る 必要があ り ます。 こ れ ら のシ ミ ュ レーシ ョ ンは、 ボー ド レ イ ア ウ ト の前後の両方で実行 し ます。 目的は、 ボー ド 上のシ グナル イ ン テ グ リ テ ィ の検証です。 『Virtex-5 FPGA ML561 メ モ リ イ ン タ ー フ ェ イ ス 開発 ボ ー ド ユ ー ザ ー ガ イ ド 』 (UG199) [ 参照 20] の 「ML561 Hardware-Simulation Correlation」 の章に記載の説明を ガ イ ド ラ イ ン と し て使用で き ます。 こ の章では、 ML561 ボー ド のシ グナル イ ン テ グ リ テ ィ の相関結果を詳 し く 解説 し てい ます。 こ れは、 シ グナル イ ン テ グ リ テ ィ 解析の例 と し て 使用で き ます。 ま た、 デザ イ ン固有の IBIS モデルを生成す る 手順 も 説明 さ れてお り 、 シ ミ ュ レーシ ョ ンのセ ッ ト ア ッ プに役立ち ます。 こ のユーザー ガ イ ド は Virtex-5 デバ イ ス と ML561 開発ボー ド を タ ーゲ ッ ト と し て説明 し てい ます が、 基本的な考え方は 7 シ リ ーズ FPGA を使用 し た MIG デザ イ ンに も 適用で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 304 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン サン プル デザイ ンの実行 MIG ツールで生成 さ れ る サンプル デザ イ ンは完全に検証済みであ り 、 ボー ド 上の メ モ リ イ ン タ ーフ ェ イ ス の検証に 使用で き ます。 こ のサンプル デザ イ ン を使用する こ と に よ り 、 MIG ツール コ ア と 接続する バ ッ ク エン ド ロ ジ ッ ク の 問題を解決で き ま す。 さ ら に、 MIG ツールで提供 さ れ る テ ス ト ベン チ を変更 し て異な る デー タ パ タ ーン を送信 し 、 ボー ド レベルの さ ま ざ ま な問題を テ ス ト で き ます。 一般的なハー ド ウ ェ ア問題のデバ ッ グ ハー ド ウ ェ ア で キ ャ リ ブ レ ーシ ョ ン エ ラ ーやデー タ エ ラ ーが生 じ た場合は、 Vivado ロ ジ ッ ク 解析機能を使用 し て MIG ツール コ ア信号の動作を解析す る 必要があ り ます。Vivado ロ ジ ッ ク 解析の詳細は、『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 16] を参照 し て く だ さ い。 ハー ド ウ ェ ア デバ ッ グの始め る にあ た っ て、 まず付属の example_design を ボー ド に ロ ー ド する こ と を推奨 し ます。 こ れは、 テ ス ト ベンチ デザ イ ン を使用 し てデー タ エ ラ ーをチ ェ ッ ク で き る 確実な ソ リ ュ ーシ ョ ン です。 こ のデザ イ ン は、 compare_error がアサー ト さ れずに cal_done 信号がアサー ト さ れて正 し く 完了す る はずです。 cal_done 信号がア サー ト さ れていればキ ャ リ ブ レーシ ョ ンが正常に完了 し てお り 、compare_error 信号がアサー ト さ れていなければ メ モ リ に書 き 込んだデー タ と メ モ リ か ら 読み出 し たデー タ が一致 し てい る こ と を示 し ます。 デー タ 比較の不一致が 1 回発生 し たのか複数回発生 し たのかは、 cmp_err 信号か ら わか り ます。 cmp_err はエ ラ ーが発 生す る ご と にアサー ト さ れ る ため、 デー タ を手動で検査す る こ と で問題を ト ラ ッ キ ン グで き ます。 ビ ッ ト エ ラ ーの特定 ハー ド ウ ェ ア デバ ッ グでは、ビ ッ ト エ ラ ーが生 じ る タ イ ミ ン グお よ び位置を特定する こ と が重要です。ビ ッ ト エ ラ ー を モニ タ リ ン グす る 際は、 次を確認す る 必要があ り ます。 • エ ラ ーは、 特定の CQ ク ロ ッ ク グループのデー タ ビ ッ ト で発生 し てい る か • エ ラ ーは、 特定の メ モ リ ア ド レ スへのア ク セ ス時に発生 し てい る か • エ ラ ーは、 特定のデー タ パ タ ーン ま たはシーケ ン ス でのみ発生 し てい る か こ れで、 PCB 上の短絡ま たはオープン接続を特定で き ます。 ま た、 SSO や ク ロ ス ト ー ク の問題 も 特定で き ます。 デー タ 破損が書 き 込みに よ る も のか、 ま たは読み出 し に よ る も のか を特定する こ と が必要な場合があ り ます。 書 き 込みが 原因の場合は、 読み出 し たデー タ も 破損 し てい る ため、 その特定は容易ではあ り ません。 ま た、 制御/ア ド レ ス の タ イ ミ ン グの問題は、 書 き 込み と 読み出 し の両方に影響を及ぼ し ます。 次に示すいずれかの方法を使用 し 、 問題を特定 し て く だ さ い。 • エ ラ ーが断続的な場合は、 デザ イ ンに書き 込みコ マ ン ド をい く つか発行 さ せた後、 それ ら の位置か ら 連続 し て読 み出 し を実行 し ます。 読み出 さ れたデー タ が断続的に破損 し てい る 場合は、 読み出 し に問題があ る と 考え ら れま す。 • 書 き 込み タ イ ミ ン グのみを確認/変化 さ せます。 • ° PCB に外部終端抵抗が配置 さ れてい る こ と を確認 し ます。 ° ODELAY を使用 し て K ク ロ ッ ク に対する D の位相を変化 さ せます。 読み出 し タ イ ミ ン グのみを変化 さ せます。 ° ° キ ャ リ ブ レーシ ョ ン後に IDELAY の値を確認 し ます。 IDELAY 値の変化を確認 し ます。 IDELAY の値は同 じ CQS グループの Q と 非常に近いはずです。 デー タ エ ラ ー と な っ てい る ビ ッ ト のキ ャ リ ブ レーシ ョ ン完了後に、 IDELAY タ ッ プの値を変化 さ せ る 。 こ れは、 読み出 し キ ャ プチ ャ の タ イ ミ ン グにのみ影響 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 305 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのデバ ッ グ デバ ッ グ ポー ト は、 ス テー タ ス を示す出力信号 と デザ イ ン の動作中に調整を行 う ための入力信号で構成 さ れてい ま す。 MIG には、 QDR II+ SRAM デザ イ ン を生成す る 際にデバ ッ グ ポー ト のオ ン ま たはオ フ を指定す る オプシ ョ ン が あ り ます。 デバ ッ グ ポー ト をオ フ にす る と 、 デバ ッ グ ポー ト の出力は生成 さ れますが入力は無視 さ れます。 こ れを オンにす る と 入力 も 有効にな り 、 論理値に駆動す る 必要があ り ます。 デバ ッ グ ポー ト で信号を正 し く 駆動 し な い と デザ イ ンにエ ラ ーが生 じ た り 、 読み出 し デー タ キ ャ プチ ャ のマージ ンが小 さ く な る こ と があ り ます。 コ ア をハー ド ウ ェ アで実行す る 場合、 い く つかの重要な信号を検査す る こ と でデザ イ ンの ス テー タ ス がわか り ます。 表 2-14 に示す dbg_phy_status バ ス には、 キ ャ リ ブ レーシ ョ ンの各段階の状態を表すス テー タ ス ビ ッ ト があ り ま す。 dbg_phy_status バ ス を確認す る と 、 潜在的な問題のデバ ッ グ、 問題のあ る 部分の特定、 さ ら には一般的な問 題点の洗い出 し に役立つ情報の糸口が得 ら れます。 表 2-14 : 物理層のシ ン プル ス テー タ ス バスの説明 デバ ッ グ ポー ト 信号 名前 説明 問題が発生 し た場合 dbg_phy_status[0] rst_wr_clk PLL ロ ッ ク お よ びシ ス テ ム入力 リ セ ッ ト に基づ く FPGA ロ ジ ッ ク リ セッ ト こ の信号が ア サー ト さ れ た ま ま の 場合、 ク ロ ッ ク ソ ー ス と シ ス テ ム リ セ ッ ト 入力を確認 し ます。 dbg_phy_status[1] io_fifo_rden_cal_done & po_ck_addr_cmd_delay_done I/O FIFO をほぼフルの状態にす る ための I/O FIFO 初期化、お よ び phaser_out 遅延に よ る ア ド レ ス/制御信号の 90 度位相シ フ ト が完了 し た こ と を示 し ます。 PHY 制御 Ready 信号が ア サー ト さ れてい る か ど う か を確認 し ます。 dbg_phy_status[2] init_done QDR II+ SRAM 初期化シーケ ン ス が完了 N/A(1) dbg_phy_status[3] cal_stage1_start 段階 1 読み出 し キ ャ リ ブ レ ー シ ョ ン開始信号 なし dbg_phy_status[4] edge_adv_cal_done 段階 1 キ ャ リ ブ レーシ ョ ンが完 了 し 、 edge_adv キ ャ リ ブ レ ー シ ョ ンが完了 段階 1 キ ャ リ ブ レ ーシ ョ ン が正 し く 実行 さ れてい ません。 段階 1 キ ャ リ ブ レ ー シ ョ ン 時に有効 な 読み出 し デー タ が検出 さ れ て い る こ と を 確認 し て く だ さ い。 dbg_phy_status[5] cal_stage2_start pi_edge_adv キ ャ リ ブ レ ー シ ョ ン 完了後の レ イ テ ン シ キ ャ リ ブ レーシ ョ ン開始信号 こ の 信号 が High に な ら な い 場合 は、 段階 1 が完了 し てい ません。 メ モ リ か ら 予測デー タ が返 さ れ て い る こ と を確認 し て く だ さ い。 dbg_phy_status[6] cal_stage2_start & cal_done レ イ テ ン シ キ ャ リ ブ レ ーシ ョ ン開始信号 N/A dbg_phy_status[7] Cal_done キ ャ リ ブ レーシ ョ ン完了 N/A 注記 : 1. 「N/A」 は、 直前の段階が完了 し ていれば こ の段階 も 完了 し てい る こ と を示 し ます。 読み出 し キ ャ リ ブ レーシ ョ ンの結果は、 デバ ッ グ ポー ト に含まれ る さ ま ざ ま な出力信号 と し て出力 さ れます。 こ れ ら の信号を使用 し て読み出 し キ ャ リ ブ レーシ ョ ンの結果を キ ャ プチ ャ お よ び評価で き ます。 読み出 し キ ャ リ ブ レーシ ョ ンは、IODELAY を使用 し てデス テ ィ ネーシ ョ ン ク ロ ッ ク を キ ャ プチ ャ デー タ の有効ウ ィ ン ド ウ中央に揃え ます。 キ ャ リ ブ レーシ ョ ン手順の一環 と し て、 アルゴ リ ズ ムが IODELAY の値を シ フ ト し てバ イ ト 単位でデー タ 有効 ウ ィ ン ド ウ のエ ッ ジ を検出 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 306 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン マージ ンのチ ェ ッ ク 機能検証、 お よ び信頼性の高い動作を実現する ために十分なマージ ンが使用で き る か を確認する ために、 ク ロ ッ ク ま たはデー タ を移動 さ せ る デバ ッ グ信号が提供 さ れてい ます。 こ れ ら の信号は、 信号のサブセ ッ ト に影響を及ぼすシ グ ナル イ ン テ グ リ テ ィ の問題を確認 し た り 、 ボー ド の ト レース長の不一致に対応する ために使用す る こ と も 可能です。 読み出 し ウ ィ ン ド ウ のマージ ン を検証す る には、 MIG ツールでデザ イ ン を生成する 際にデバ ッ グ ポー ト を有効に し 、 生成 さ れ る サンプル デザ イ ン を使用 し ます。 次の手順に従っ て く だ さ い。 1. Vivado ハー ド ウ ェ ア セ ッ シ ョ ン を開 き 、 生成 さ れた BIT お よ び LTX フ ァ イ ルを使用 し てテ ス ト す る FPGA をプ ロ グ ラ ム し ます。 2. キ ャ リ ブ レーシ ョ ンの完了を検証 し (init_calib_complete を アサー ト する )、 サンプル デザ イ ンにエ ラ ーが ない こ と を確認 し ます (tg_compare_error お よ び dbg_cmp_err は Low)。 3. PRBS8 パ タ ーンでマージ ン を測定する 場合は、 example_top の traffic_gen_top イ ン ス タ ン ス に有効な値 を使用 し て VIO 信号を設定 し ます。 vio_modify_enable = 'd1 vio_data_mode_value = 'd7 vio_addr_mode_value = 'd3 vio_instr_mode_value = 'd4 vio_bl_mode_value = 'd2 vio_fixed_bl_value = 'd128 vio_fixed_instr_value = 'd1 vio_data_mask_gen = 'd0 4. vio_dbg_clear_error ま たはシ ス テ ム リ セ ッ ト を アサー ト し ます。 5. dbg_byte_sel を使用 し てバ イ ト レーン を選択 し ます。 6. dbg_pi_counter_read_val を使用 し て選択 し たバ イ ト レーンについて PHASER_IN の タ ッ プ値を確認 し ま す。 7. dbg_pi_f_inc を使用 し てエ ラ ーが発生する ま で (tg_compare_error を アサー ト する ) PHASER_IN の タ ッ プ値を イ ン ク リ メ ン ト し ます。 開始位置か ら エ ラ ーが発生す る ま での PHASER タ ッ プ数を記録 し ます。 こ の値 は、 バ イ ト レーン全体の ウ ィ ン ド ウ の片側に達する ま での タ ッ プ数です。 8. dbg_pi_f_dec を使用 し て PHASER_IN の タ ッ プ数を開始値に戻 る ま でデ ク リ メ ン ト し ます。 9. vio_dbg_clear_error を アサー ト し て前の手順で記録 し たエ ラ ーを ク リ ア し ます。 10. エ ラ ーが発生 (tg_compare_error がアサー ト さ れ る ) する ま で dbg_pi_f_dec タ ッ プ をデ ク リ メ ン ト し て ウ ィ ン ド ウ の も う 片側を検出 し ます。 を使用 し て PHASER_IN の 11. こ れ ら の結果を記録 し 、 PHASER_IN タ ッ プ を開始位置に戻 し 、 エ ラ ー (vio_dbg_clear_error) を再度 ク リ ア し ます。 こ の方法では、 イ ン タ ーフ ェ イ ス全体で共通のエ ラ ー信号を使用する ため、 ほかのビ ッ ト ま たはバ イ ト のマージ ンが テ ス ト さ れず、 チ ェ ッ ク 結果に影響が及ぶ可能性があ り ます。 よ り 優れたチ ェ ッ ク 結果を得 る には、 ビ ッ ト 単位のエ ラ ー信号を使用 し て く だ さ い。 結果を正 し く 解析す る ために、 PHASER_IN タ ッ プ を一般的な単位時間に変換す る 必 要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 307 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン マージ ンの自動チ ェ ッ ク 機能検証を目的 と し た手動に よ る タ ッ プの移動は、 問題のあ る ビ ッ ト やバ イ ト をチ ェ ッ ク する のに有用ですが、 イ ン タ ーフ ェ イ ス全体で ス テ ッ プ実行 し て問題を検出す る には対応困難な場合があ り ます。 こ のため、 QDR II+ SRAM メ モ リ イ ン タ ーフ ェ イ ス デバ ッ グ ポー ト には イ ン タ ーフ ェ イ ス全体で ス テ ッ プ実行可能な自動 ウ ィ ン ド ウ チ ェ ッ ク 機能が含ま れてい ます。 単純な ス テー ト マシ ン を使用 し てデバ ッ グ ポー ト の信号を制御 し 、 ビ ッ ト 単位で検出 し た マージ ンの結果を レ ポー ト し ます。 現時点では、 自動ウ ィ ン ド ウ チ ェ ッ ク 機能は PHASER_IN のみを使用 し て ウ ィ ン ド ウ のサ イ ズ をチ ェ ッ ク す る ため、キ ャ リ ブ レーシ ョ ン後の タ ッ プ値に よ っ ては読み出 し デー タ ウ ィ ン ド ウ の左端を 正 し く 検出で き ない場合があ り ます。 PRBS8 ト ラ フ ィ ッ ク パ タ ーンでマージ ン を測定す る 場合は、 example_top の traffic_gen_top イ ン ス タ ン ス に 有効な値を使用 し て VIO 信号を設定 し ます。 vio_modify_enable = 'd1 vio_data_mode_value = 'd7 vio_addr_mode_value = 'd3 vio_instr_mode_value = 'd4 vio_bl_mode_value = 'd2 vio_fixed_bl_value = 'd128 vio_fixed_instr_value = 'd1 vio_data_mask_gen = 'd0 その後、 自動マージ ン チ ェ ッ ク が実行 さ れ る 前に、 vio_dbg_clear_error ま たはシ ス テ ム リ セ ッ ト を アサー ト し ます。 自動マージ ン チ ェ ッ ク の実行手順は次の と お り です。 1. VIO 信号 dbg_win_start にシ ン グル パルス を送信 し て、 自動ウ ィ ン ド ウ チ ェ ッ ク を開始 し ます。 2. VIO 信号 dbg_win_active は、 自動ウ ィ ン ド ウ チ ェ ッ ク 機能が実行中であ る こ と を示 し ます。 dbg_win_active がアサー ト さ れてい る 間、 dbg_pi_f_inc と dbg_pi_f_dec は使用で き ません。 3. 測定中のビ ッ ト と バ イ ト は、 VIO 信号の dbg_win_current_bit お よ び dbg_win_current_byte でそれぞ れ示 さ れます。 4. 完成 し た ビ ッ ト の左右の タ ッ プ カ ウ ン ト を取得す る には、 VIO 信号 dbg_win_bit_select を使用 し て任意の ビ ッ ト を選択 し 、 dbg_win_left_ram_out お よ び dbg_win_right_ram_out のそれぞれの結果を確認 し ま す。 表 2-15 に、 自動 ウ ィ ン ド ウ チ ェ ッ ク 機能に関連する 信号を リ ス ト し ます。 表 2-15 : デバ ッ グ ウ ィ ン ド ウのポー ト 信号 信号 説明 dbg_win_start chk_win ス テー ト マシ ン を開始す る シ ン グル パル ス です。 Vivado ロ ジ ッ ク デ バ ッ グ VIO モジ ュ ールを使用 し て制御 し ます。 dbg_win_bit_select[6:0] 結果の レ ポー ト に使用す る 、 手動に よ る ビ ッ ト 選択です。 表示 さ れ る ビ ッ ト の 結果が dbg_win_left_ram_out お よ び dbg_win_right_ram_out に レ ポー ト さ れます。 dbg_win_active chk_win がア ク テ ィ ブで、読み出 し ウ ィ ン ド ウ のマージ ン を計測 し てい る こ と を 示すフ ラ グです。 ア ク テ ィ ブの間は、 ス テー ト マシ ンがデバ ッ グ ポー ト の信号 を制御 し ます。 vio_dbg_clear_error chk_win に よ っ て制御 さ れ る エ ラ ー制御信号を ク リ ア し ます。 dbg_win_current_bit[6:0] 自動ウ ィ ン ド ウ チ ェ ッ ク 実行中にモニ タ リ ン グ さ れてい る ビ ッ ト を示すフ ィ ー ド バ ッ ク です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 308 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-15 : デバ ッ グ ウ ィ ン ド ウのポー ト 信号 (続き) 信号 説明 dbg_win_current_byte[3:0] モニ タ リ ン グ さ れてい る (dbg_byte_sel でバ イ ト レ ーン制御を選択す る ために 使用 さ れてい る ) バ イ ト を示すフ ィ ー ド バ ッ ク です。 dbg_win_left_ram_out [WIN_SIZE – 1:0] 特定ビ ッ ト について読み出 し ウ ィ ン ド ウ の左端に達する のに必要な PHASER_IN タ ッ プ数です。 dbg_win_right_ram_out [WIN_SIZE – 1:0] 特定ビ ッ ト について読み出 し ウ ィ ン ド ウ の右端に達する のに必要な PHASER_IN タ ッ プ数です。 dbg_pi_f_inc PHASER_IN を イ ン ク リ メ ン ト す る chk_win 制御信号 で す。 こ の 信号 は、 dbg_win_active がデ ィ アサー ト さ れてい る 場合のみ使用可能です。 dbg_pi_f_dec PHASER_IN を デ ク リ メ ン ト す る chk_win 制御信号 で す。 こ の 信号 は、 dbg_win_active がデ ィ アサー ト さ れてい る 場合のみ使用可能です。 DEBUG_PORT 信号 MIG ツールでデザ イ ン を生成す る 際にデバ ッ グ オプシ ョ ン をオンに し た場合、 最上位 ラ ッ パーの user_top には コ アのデバ ッ グに使用で き る い く つかの出力信号が提供 さ れます。 こ れ ら のデバ ッ グ信号出力はすべて 「dbg_」 で開始 し ます。sim フ ォ ルダーにあ る sim_tb_top モジ ュ ールでは DEBUG_PORT パ ラ メ ー タ ーが常にオ フ に設定 さ れ、論 理シ ミ ュ レーシ ョ ン時にはデバ ッ グ オプシ ョ ンは無効にな り ます。 表 2-16 に、 こ れ ら の信号 と 関連す る デー タ を示 し ます。 表 2-16 : DEBUG_PORT 信号の説明 信号 方向 説明 dbg_phy_wr_cmd_n[1:0] 出力 Vivado ロ ジ ッ ク 解析機能でのデバ ッ グ に使用す る ア ク テ ィ ブ Low の内部 wr_cmd 信号です。 dbg_phy_rd_cmd_n[1:0] 出力 Vivado ロ ジ ッ ク 解析機能でのデバ ッ グ に使用す る ア ク テ ィ ブ Low の内部 rd_cmd 信号です。 dbg_phy_addr[ADDR_WIDTH × 4 – 1:0] 出力 Vivado ロ ジ ッ ク 解析機能でのデバ ッ グに使用する 制御ア ド レ ス バ ス です。 dbg_phy_wr_data[DATA_WIDTH × 4 – 1:0] 出力 Vivado ロ ジ ッ ク 解析機能でのデバ ッ グに使用する 書 き 込みデー タ です。 dbg_phy_init_wr_only 入力 こ の入力が High の間、 qdr_phy_write_init_sm の ス テー ト マシ ン は QDR II+ メ モ リ へのキ ャ リ ブ レーシ ョ ン パ タ ーン書き 込みの 状態の ま ま です。 こ れに よ り キ ャ リ ブ レーシ ョ ン書 き 込み タ イ ミ ン グ を検証 し ます。通常動作時は Low であ る 必要があ り ます。 dbg_phy_init_rd_only 入力 こ の入力が High の間、 qdr_phy_write_init_sm の ス テー ト マシ ン は QDR II+ メ モ リ か ら のキ ャ リ ブ レーシ ョ ン読み出 し の状態の ま ま です。 こ れに よ り 、 キ ャ リ ブ レーシ ョ ン読み出 し タ イ ミ ン グ と 返 さ れた キ ャ リ ブ レーシ ョ ン デー タ を検証 し ます。 通常動 作時は Low であ る 必要があ り ます。 dbg_byte_sel 入力 こ の入力は対応す る バ イ ト レ ー ン を 選択 し ま す。 ユーザーが PHASER/IDELAY タ ッ プの制御を行い ます。 dbg_pi_f_inc 入力 PHASER_IN で生成 さ れ た 立 ち 上が り デー タ キ ャ プ チ ャ 用の ISERDES clk を イ ン ク リ メ ン ト し ます。 dbg_pi_f_dec 入力 PHASER_IN で生成 さ れ た 立 ち 上が り デー タ キ ャ プ チ ャ 用の ISERDES clk をデ ク リ メ ン ト し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 309 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-16 : DEBUG_PORT 信号の説明 (続き) 信号 方向 説明 dbg_po_f_inc 入力 PHASER_OUT で生成 さ れた立ち下が り デー タ キ ャ プチ ャ 用の OSERDES clk を イ ン ク リ メ ン ト し ます。 dbg_po_f_dec 入力 PHASER_OUT で生成 さ れた立ち下が り デー タ キ ャ プチ ャ 用の OSERDES clk を イ ン ク リ メ ン ト し ます。 dbg_phy_pi_fine_cnt 出力 現在の PHASER_IN の タ ッ プ カ ウ ン ト 位置を示 し ます。 dbg_phy_po_fine_cnt 出力 現在の PHASER_OUT の タ ッ プ カ ウ ン ト 位置を示 し ます。 dbg_cq_num 出力 キ ャ リ ブ レーシ ョ ン さ れてい る 現在の CQ/CQ# を示 し ます。 dbg_q_bit 出力 キ ャ リ ブ レーシ ョ ン さ れてい る 現在の Q を示 し ます。 dbg_valid_lat[4:0] 出力 レ イ テ ン シ を読み出 し コ マ ン ド の遅延サ イ ク ル数で示 し ます。 dbg_q_tapcnt 出力 各デバ イ ス の現在の Q タ ッ プ設定です。 dbg_inc_latency 出力 読み出 し デー タ を ユーザー イ ン タ ーフ ェ イ ス に正 し く 揃え る た めに対応す る バ イ ト レーンの レ イ テ ン シが イ ン ク リ メ ン ト さ れ た こ と を示 し ます。 dbg_error_max_latency 出力 カ ウ ン タ ーがオーバーフ ロ ーす る 前に レ イ テ ン シ を計測で き な か っ た こ と を示 し ます。 各デバ イ ス に 1 つのエ ラ ー ビ ッ ト があ り ます。 dbg_error_adj_latency 出力 PHY_LATENCY の目標値を達成で き なか っ た こ と を示 し ます。 dbg_align_rd0 [DATA_WIDTH – 1:0] 出力 最初の立ち上が り デー タ を キ ャ プチ ャ し た出力を示 し ます。 dbg_align_rd1 [DATA_WIDTH – 1:0] 出力 2 番目の立ち上が り デー タ を キ ャ プチ ャ し た出力を示 し ます。 dbg_align_fd0 [DATA_WIDTH – 1:0] 出力 最初の立ち下が り デー タ を キ ャ プチ ャ し た出力を示 し ます。 dbg_align_fd1 [DATA_WIDTH – 1:0] 出力 2 番目の立ち下が り デー タ を キ ャ プチ ャ し た出力を示 し ます。 書き込み初期化デバ ッ グ信号 表 2-17 に、 dbg_wr_init バ ス の書 き 込み初期化デバ ッ グ信号 と PHY のデバ ッ グ信号のマ ッ プ を示 し ます。 こ れ ら の信号はすべて qdr_phy_write_init_sm モジ ュ ール内にあ り 、 clk ド メ イ ンで有効です。 表 2-17 : 書き込み初期化デバ ッ グ信号マ ッ プ ビッ ト PHY 信号名 説明 dbg_wr_init[0] init_cnt_done 初期化カ ウ ン ト の完了を示 し ます。 dbg_wr_init[1] cq_stable メ モ リ か ら の cq ク ロ ッ ク が安定 し てお り 、 コ マ ン ド を発行で き ます。 dbg_wr_init[2] ck_addr_cmd_delay_done ア ド レ ス/ コ マ ン ド に対す る 90 度位相シ フ ト が完了 し た こ と を 示 し ます。 dbg_wr_init[3] rdlvl_stg1_start 段階 1 キ ャ リ ブ レーシ ョ ンの開始を示 し ます。 dbg_wr_init[4] rdlvl_stg1_done 段階 1 キ ャ リ ブ レーシ ョ ンの完了を示 し ます。 dbg_wr_init[5] edge_adv_cal_done 位相ア ラ イ メ ン ト が完了 し 、 レ イ テ ン シ キ ャ リ ブ レーシ ョ ンへ 進む こ と を示 し ます。 dbg_wr_init[6] cal_stage2_start レ イ テ ン シ計算段階の開始を示 し ます。 dbg_wr_init[30:7] phy_init_cs 書 き 込みキ ャ リ ブ レーシ ョ ン ス テー ト マシ ン です。 dbg_wr_init[39:31] lost_edge_po_rdvalue K バ イ ト レーンの右端の段階 3 PO の タ ッ プ値です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 310 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-17 : 書き込み初期化デバ ッ グ信号マ ッ プ (続き) ビッ ト PHY 信号名 説明 dbg_wr_init[49:40] found_edge_po_rdvalue K バ イ ト レーンの左端の段階 3 PO の タ ッ プ値です。 dbg_wr_init[49] oclk_window_found 現在の K バ イ ト レーン で検出 さ れた K ク ロ ッ ク ウ ィ ン ド ウ で す。 dbg_wr_init[50] found_an_edge 左端が検出 さ れ る と アサー ト さ れ、 右端が検出 さ れ る と デ ィ ア サー ト さ れます。 dbg_wr_init[51] push_until_fail 左端ま たは右端ア ラ イ メ ン ト の調整フ ラ グです。 dbg_wr_init[60:52] po_counter_read_val 選択 さ れたバ イ ト の PO カ ウ ン タ ー読み出 し 値ポー ト か ら の入 力です。 dbg_wr_init[61] wrcal_en PO INC/DEC 調整を有効に し ます。 dbg_wr_init[62] wrlvl_po_f_inc PO の細精度 タ ッ プ を イ ン ク リ メ ン ト し ます。 dbg_wr_init[63] wrlvl_po_f_dec PO の細精度 タ ッ プ をデ ク リ メ ン ト し ます。 dbg_wr_init64] po_sel_fine_oclk_delay 段階 2 ま たは段階 3 の PO 遅延を選択 し ます。 dbg_wr_init[66:65] wrcal_byte_sel キ ャ リ ブ レーシ ョ ンす る バ イ ト を選択 し ます。 dbg_wr_init[70:67] phase_valid Phase Valid バ ス。 対応す る ビ ッ ト がアサー ト さ れた場合、 キ ャ リ ブ レーシ ョ ン パ タ ーン と 移送が予測 さ れ る 値 と 一致 し た こ と を示 し ます。 dbg_wr_init[71] byte_lane0_valid_at_stg0_right_edge 右端が検出 さ れた と き の Phase Valid[0] の ス テー タ ス です。 dbg_wr_init[72] byte_lane1_valid_at_stg0_right_edge 右端が検出 さ れた と き の Phase Valid[1] の ス テー タ ス です。 dbg_wr_init[73] byte_lane2_valid_at_stg0_right_edge 右端が検出 さ れた と き の Phase Valid[2] の ス テー タ ス です。 dbg_wr_init[74] byte_lane3_valid_at_stg0_right_edge 右端が検出 さ れた と き の Phase Valid[3] の ス テー タ ス です。 dbg_wr_init[75] byte_lane0_valid_at_stg0_found_edge 左端が検出 さ れた と き の Phase Valid[0] の ス テー タ ス です。 dbg_wr_init[76] byte_lane1_valid_at_stg0_found_edge 左端が検出 さ れた と き の Phase Valid[1] の ス テー タ ス です。 dbg_wr_init[77] byte_lane2_valid_at_stg0_found_edge 左端が検出 さ れた と き の Phase Valid[2] の ス テー タ ス です。 dbg_wr_init[78] byte_lane3_valid_at_stg0_found_edge 左端が検出 さ れた と き の Phase Valid[3] の ス テー タ ス です。 dbg_wr_init[84:81] current_delta_taps_to_move K でないバ イ ト の中央揃えの調整に必要なデル タ タ ッ プです。 dbg_wr_init[86] fully_adjusted K バ イ ト レーンお よ び K でないバ イ ト レーンの調整が終了 し た こ と を示 し ます。 dbg_wr_init[92:87] k_center_tap キ ャ リ ブ レーシ ョ ン さ れた K 中央 タ ッ プ値です。 dbg_wr_init[98:93] my_k_taps ロ ーカル K タ ッ プ値です。 dbg_wr_init[99] k_error_checking チ ェ ッ ク 中の K ク ロ ッ ク 中央位置を示 し ます。 dbg_wr_init[100] k_clk_at_left_edge K ク ロ ッ ク が K バ イ ト レーンの左端であ る こ と を示 し ます。 dbg_wr_init[255:101] Reserved 予約 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 311 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 読み出 し 段階 1 キ ャ リ ブ レーシ ョ ン デバ ッ グ信号 表 2-18 に、dbg_rd_stage1_cal バス内の各ビ ッ ト と PHY のデバ ッ グ信号のマ ッ プを示 し ます。 こ れ ら の信号はす べて qdr_rld_phy_rdlvl モジ ュ ール内にあ り 、 clk ド メ イ ンで有効です。 表 2-18 : 読み出 し 段階 1 デバ ッ グ信号マ ッ プ ビッ ト PHY 信号名 説明 dbg_phy_rdlvl[0] rdlvl_stg1_start 段階 1 キ ャ リ ブ レーシ ョ ンの開始を示す初期化ス テー ト マシ ンか ら の入力です。 dbg_phy_rdlvl[1] rdlvl_start キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク の開始を示 し ます。 dbg_phy_rdlvl[2] found_edge_r デー タ ウ ィ ン ド ウ の遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[3] pat0_data_match_r ISERDES 出力に予測デー タ パ タ ーン が検出 さ れた こ と を示 し ます。 dbg_phy_rdlvl[4] pat1_data_match_r ISERDES 出力に予測デー タ パ タ ーンが検出 さ れたが、最初の 読み出 し デー タ を ICLKDIV の立ち下が り エ ッ ジに揃え た た めシ フ ト し た こ と を示 し ます。 dbg_phy_rdlvl[5] data_valid 有効な キ ャ リ ブ レ ーシ ョ ン デー タ が検出 さ れた こ と を 示 し ます。 dbg_phy_rdlvl[6] cal1_wait_r IDELAY/PHASER タ ッ プが変化 し てか ら デー タ を確認す る ま での待機ス テー ト です。 dbg_phy_rdlvl[7] Reserved 予約 dbg_phy_rdlvl[8] detect_edge_done_r エ ッ ジ検出が完了 し た こ と を示 し ます。 dbg_phy_rdlvl[13:9] cal1_state_r キ ャ リ ブ レーシ ョ ン ス テー ト マシ ンの状態を示 し ます dbg_phy_rdlvl[20:14] cnt_idel_dec_cpt_r ク ロ ッ ク を デー タ ウ ィ ン ド ウ の中央に揃え る た めにデ ク リ メ ン ト が必要な PHASER タ ッ プ数です。 dbg_phy_rdlvl[21] found_first_edge_r 最初のエ ッ ジ遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[22] found_second_edge_r 2 番目のエ ッ ジ遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[23] Reserved 予約 dbg_phy_rdlvl[24] store_sr_r タ ッ プ遅延を イ ン ク リ メ ン ト す る 前に現在の読み出 し デー タ を格納す る ための信号です。 dbg_phy_rdlvl[32:25] sr_fall1_r、 sr_rise1_r sr_fall0_r、 sr_rise0_r 比較の た めに シ フ ト レ ジ ス タ に格納 さ れた読み出 し デー タ です。 dbg_phy_rdlvl[40:33] old_sr_fall1_r、 old_sr_rise1_r old_sr_fall0_r、 old_sr_rise0_r タ ッ プ を イ ン ク リ メ ン ト す る 前に レ ジ ス タ に格納 さ れた読み 出 し デー タ です。 dbg_phy_rdlvl[41] sr_valid_r 比較用の ISERDES デー タ を ロ ー ド し て も 安全な タ イ ミ ン グ を決定 し ます。 dbg_phy_rdlvl[42] found_stable_eye_r 安定 し た ア イ が検出 さ れた こ と を示 し ます。 dbg_phy_rdlvl[48:43] tap_cnt_cpt_r PHASER タ ッ プ カ ウ ン タ ーです。 dbg_phy_rdlvl[54:49] first_edge_taps_r 最初のエ ッ ジ を検出す る ための タ ッ プ数です。 dbg_phy_rdlvl[60:55] second_edge_taps_r 2 番目のエ ッ ジ を検出す る ための タ ッ プ数です。 dbg_phy_rdlvl[64:61] cal1_cnt_cpt_r バ イ ト レ ー ン が キ ャ リ ブ レ ーシ ョ ン中で あ る こ と を 示 し ま す。 dbg_phy_rdlvl[65] cal1_dlyce_cpt_r PHASER 遅延を有効にする PHASER 制御です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 312 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-18 : 読み出 し 段階 1 デバ ッ グ信号マ ッ プ (続き) ビッ ト PHY 信号名 説明 dbg_phy_rdlvl[66] cal1_dlyinc_cpt_r PHASER タ ッ プ遅延を イ ン ク リ メ ン ト す る PHASER 制御で す。 dbg_phy_rdlvl[67] found_edge_r デー タ ウ ィ ン ド ウ の遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[68] found_stable_eye_last_r 安定 し た ア イ が検出 さ れた こ と を示 し ます。 dbg_phy_rdlvl[74:69] idelay_taps 受信 し た読み出 し デー タ を遅延中に有効なデー タ ウ ィ ン ド ウ を検出 し た と き の IDELAY タ ッ プ数です。 dbg_phy_rdlvl[80:75] start_win_taps 有効ウ ィ ン ド ウ の開始を検出す る ために必要な IDELAY タ ッ プ数です。 dbg_phy_rdlvl[81] idel_tap_limit_cpt_r IDELAY タ ッ プ チ ェ ーンの最後に達 し た こ と を示 し ます。 dbg_phy_rdlvl[82] qdly_inc_done_r IDELAY タ ッ プの遅延に よ る 有効 ウ ィ ン ド ウ の検出が完了 し た こ と を示 し ます。 dbg_phy_rdlvl[83] start_win_detect IDELAY タ ッ プ を使用 し た ウ ィ ン ド ウ 検出が開始 し た こ と を 示 し ます。 dbg_phy_rdlvl[84] detect_edge_done_r エ ッ ジ検出が完了 し た こ と を示 し ます。 dbg_phy_rdlvl[90:85] idel_tap_cnt_cpt_r 使用 し た IDELAY タ ッ プの数を ト ラ ッ キ ン グする ためのカ ウ ン タ ーです。 dbg_phy_rdlvl[96:91] idelay_inc_taps_r イ ン ク リ メ ン ト す る IDELAY タ ッ プ数です ( キ ャ リ ブ レ ー シ ョ ン ロ ジ ッ ク で必要な場合)。 dbg_phy_rdlvl[102:97] idel_dec_cntr デ ク リ メ ン ト す る IDELAY タ ッ プ数です (キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク で必要な場合)。 dbg_phy_rdlvl[103] tap_limit_cpt_r PHASER タ ッ プ チ ェーンの最後に達 し た こ と を示 し ます。 dbg_phy_rdlvl[115:104] idelay_tap_delay IDELAY タ ッ プ を使用 し て検出 し た有効 ウ ィ ン ド ウ の合計数 です。 dbg_phy_rdlvl[127:116] phaser_tap_delay PHASER タ ッ プを使用 し て検出 し た有効ウ ィ ン ド ウ の合計数 です。 dbg_phy_rdlvl[133:128] fall_win_det_start_taps_r 立ち下が り ウ ィ ン ド ウ の開始 タ ッ プです。 dbg_phy_rdlvl[139:134] fall_win_det_end_taps_r 立ち下が り ウ ィ ン ド ウ の終了 タ ッ プです。 dbg_phy_rdlvl[163:140] dbg_cpt_first_edge_cnt 最初の エ ッ ジ の PHASER タ ッ プ設定です (すべて のバ イ ト レーンのバ ス)。 dbg_phy_rdlvl[183:164] dbg_cpt_second_edge_cnt 2 番目のエ ッ ジの PHASER タ ッ プ設定です (すべてのバ イ ト レーンのバ ス)。 dbg_phy_rdlvl[187:184] dbg_stg1_calc_edge 実行 さ れた リ ー ド レベ リ ン グ ア ラ イ メ ン ト を示 し ます。 dbg_phy_rdlvl[195:188] dbg_phy_rdlvl_err 有効なデー タ が見つか ら な か っ た こ と を 示すバ イ ト レ ーン ご と のエ ラ ー フ ラ グです。 dbg_phy_rdlvl[255:196] Reserved 予約 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 313 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 読み出 し 段階 2 キ ャ リ ブ レーシ ョ ン デバ ッ グ信号 表 2-19 に、dbg_rd_stage2_cal バス内の各ビ ッ ト と PHY のデバ ッ グ信号のマ ッ プを示 し ます。 こ れ ら の信号はす べて qdr_rld_phy_read_stage2_cal モジ ュ ール内にあ り 、 clk ド メ イ ンで有効です。 表 2-19 : 読み出 し 段階 2 デバ ッ グ信号マ ッ プ ビッ ト PHY 信号名 説明 dbg_stage2_cal[0] en_mem_latency レ イ テ ン シ計測を有効にする ための信号です。 dbg_stage2_cal[5:1] latency_cntr[0] イ ン タ ーフ ェ イ ス の最初のバ イ ト レーンの レ イ テ ン シ を示 し ま す。 dbg_stage2_cal[6] rd_cmd レ イ テ ン シ キ ャ リ ブ レーシ ョ ン用の内部 rd_cmd です。 dbg_stage2_cal[7] latency_measured[0] バ イ ト レーン 0 の レ イ テ ン シ計測が完了 し た こ と を示 し ます。 dbg_stage2_cal[8] bl4_rd_cmd_int バース ト 長 4 デー タ ワ ー ド のキ ャ リ ブ レーシ ョ ン実行中であ る こ と を示 し ます。 dbg_stage2_cal[9] bl4_rd_cmd_int_r バース ト 長4 の読み出 し コ マ ン ド 用の内部レ ジ ス タ 段階です。 dbg_stage2_cal[10] edge_adv_cal_start pi_edge_adv 信号を アサー ト する 必要があ る か ど う か を確認する た めに edge_adv キ ャ リ ブ レ ーシ ョ ン を 開始 し た こ と を 示 し ま す。 dbg_stage2_cal[11] rd0_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[12] fd0_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[13] rd1_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[14] fd1_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[15] phase_vld バ イ ト がキ ャ リ ブレーシ ョ ン さ れてい る特定のバ イ ト に対し て有 効データ が検出さ れた こ と を示し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[16] rd0_bslip_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れ る よ う に bitslip を適用す る 必 要が あ る 有効な ISERDES 読み出 し デー タ を 示 し ま す (byte_cnt に よ っ て設定)。 dbg_stage2_cal[17] fd0_bslip_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れ る よ う に bitslip を適用す る 必 要が あ る 有効な ISERDES 読み出 し デー タ を 示 し ま す (byte_cnt に よ っ て設定)。 dbg_stage2_cal[18] rd1_bslip_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れ る よ う に bitslip を適用す る 必 要が あ る 有効な ISERDES 読み出 し デー タ を 示 し ま す (byte_cnt に よ っ て設定)。 dbg_stage2_cal[19] fd1_bslip_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れ る よ う に bitslip を適用す る 必 要が あ る 有効な ISERDES 読み出 し デー タ を 示 し ま す (byte_cnt に よ っ て設定)。 dbg_stage2_cal[20] phase_bslip_vld キ ャ リ ブ レ ーシ ョ ン さ れ る バ イ ト に対 し て 読み出 し デー タ に bitslip が適用 さ れ る 場合に有効デー タ が検出 さ れた こ と を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[21] clkdiv_phase_cal_done_4r デー タ 有効性のチ ェ ッ ク が完了 し 、 必要に応 じ て pi_edge_adv 信 号のアサー ト へ進む こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 314 第 2 章 : QDR II+ メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 2-19 : 読み出 し 段階 2 デバ ッ グ信号マ ッ プ (続き) ビッ ト PHY 信号名 説明 dbg_stage2_cal[22] pi_edge_adv PHASER ク ロ ッ ク ICLKDIV を高速 ク ロ ッ ク の 1 サ イ ク ル進め る PHASER 制御信号です。 nCK_PER_CLK が 2 の場合にのみ使用 さ れます。 dbg_stage2_cal[25:23] byte_cnt[2:0] デー タ の有効性チ ェ ッ ク が行われてい る バ イ ト を示 し ます。 dbg_stage2_cal[26] inc_byte_cnt 次のバ イ ト へ イ ン ク リ メ ン ト する ための内部信号です。 dbg_stage2_cal[29:27] pi_edge_adv_wait_cnt 複数のバ イ ト レーンで PHAER 制御信号の pi_edge_adv 信号を ア サー ト する 間の待機カ ウ ン タ ーです。 dbg_stage2_cal[30] bitslip FPGA ロ ジ ッ ク bitslip 制御信号で、 ロ ジ ッ ク に よ る デー タ ア ラ イ メ ン ト のシ フ ト を示 し ま す。 nCK_PER_CLK が 4 の場合にの み使用 さ れます。 dbg_stage2_cal[31] rd2_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 nCK_PER_CLK が 4 の場合にのみ有効です。 dbg_stage2_cal[32] fd2_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 nCK_PER_CLK が 4 の場合にのみ有効です。 dbg_stage2_cal[33] rd3_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 nCK_PER_CLK が 4 の場合にのみ有効です。 dbg_stage2_cal[34] fd3_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 nCK_PER_CLK が 4 の場合にのみ有効です。 dbg_stage2_cal[35] latency_measured[1] バ イ ト レーン 1 の レ イ テ ン シ計測が完了 し た こ と を示 し ます。 dbg_stage2_cal[36] latency_measured[2] バ イ ト レーン 2 の レ イ テ ン シ計測が完了 し た こ と を示 し ます。 dbg_stage2_cal[37] latency_measured[3] バ イ ト レーン 3 の レ イ テ ン シ計測が完了 し た こ と を示 し ます。 dbg_stage2_cal[38] error_adj_latency PHY_LATENCY の目標値を達成で き なか っ た こ と を示 し ます。 dbg_stage2_cal[127:39] Reserved 予約 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 315 第 3章 RLDRAM II および RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン は じ めに RLDRAM II お よ び RLDRAM 3 メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンは、 ザ イ リ ン ク ス 7 シ リ ーズ FPGA を使用 し たユーザー デザ イ ン と RLDRAM II/RLDRAM 3 デバ イ ス の イ ン タ ーフ ェ イ ス と な る メ モ リ コ ン ト ロ ー ラ ーお よ び 物理層です。 RLDRAM II/RLDRAM 3 デバ イ ス は、 要求ご と に最大 2、 4、 ま たは 8 ワー ド のデー タ を転送可能で、 一 般にル ッ ク ア ッ プ テーブル (LUT)、 L3 キ ャ ッ シ ュ 、 グ ラ フ ィ ッ ク ス な ど のアプ リ ケーシ ョ ン で使用 さ れます。 RLDRAM II/RLDRAM 3 メ モ リ ソ リ ュ ーシ ョ ン コ アは、 ユーザー イ ン タ ー フ ェ イ ス (UI)、 メ モ リ コ ン ト ロ ー ラ ー (MC)、 お よ び物理層 (PHY) で構成 さ れてい ま す。 こ の コ アは、 シ ン プルなユーザー コ マ ン ド を受信 し て RLDRAM II/RLDRAM 3 プ ロ ト コ ルに変換 し 、 変換後の コ マ ン ド を メ モ リ に送信 し ます。 7 シ リ ーズ FPGA 特有の機能を利用す る こ と に よ り 、 PHY は最大限の性能を実現す る と 共に、 FPGA 内での読み出 し デー タ キ ャ プチ ャ を簡略化 し ます。 こ の ソ リ ュ ーシ ョ ンは、 合成可能な リ フ ァ レ ン ス デザ イ ン を含め完全な形で提供 さ れます。 こ の章では、7 シ リ ーズ FPGA 用の LogiCORE™ IP RLDRAM II/RLDRAM 3 メ モ リ イ ン タ ーフ ェ イ ス コ アのアーキ テ ク チ ャ 、 お よ びその使用、 カ ス タ マ イ ズ、 シ ミ ュ レーシ ョ ンの方法について説明 し ます。 こ の ソ フ ト メ モ リ コ ン ト ロ ー ラ ー コ アは完全な検証が行われてお り 、 性能が保証 さ れてい ますが、 最良のデザ イ ン を実現す る には PCB デザ イ ンの終端お よ び ト レース配線に関す る 規則に従っ た設計を行 う 必要があ り ます。 PCB デ ザ イ ン ガ イ ド ラ イ ンの詳細は、 390 ページの 「設計ガ イ ド ラ イ ン」 を参照 し て く だ さ い。 重要 : 現時点では、 RLDRAM II お よ び RLDRAM 3 デザ イ ンは メ モ リ マ ッ プ方式の AXI4 イ ン タ ーフ ェ イ ス をサポー ト し てい ません。 7 シ リ ーズ FPGA RLDRAM II お よ び RLDRAM 3 イ ン タ ーフ ェ イ ス コ アの詳細 と 最新情報は、『7 シ リ ーズ FPGA デー タ シー ト 』 [参照 13] ま たは 『Zynq-7000 AP SoC お よ び 7 シ リ ーズ デバ イ ス メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン デー タ シー ト 』 (DS176) [参照 1] を参照 し て く だ さ い。 重要 : メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン v2.3 では、 Vivado® Design Suite のみがサポー ト さ れてい ます。 ISE® Design Suite は こ のバージ ョ ンではサポー ト さ れてい ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 316 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado Design Suite での MIG の使用 こ こ では、 Vivado Design Suite を使用 し て MIG IP を生成 し 、 イ ンプ リ メ ン ト す る 手順を説明 し ます。 1. Vivado IP を起動 し ます (図 3-1)。 X-Ref Target - Figure 3-1 図 3-1 : Vivado ツール 2. 新 し いプ ロ ジ ェ ク ト を作成す る には、図 3-1 に示す [Create New Project] を ク リ ッ ク し て図 3-2 のページ を開 き ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 317 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-2 図 3-2 : 新規 Vivado ツール プ ロ ジ ェ ク ト の作成 3. [Next] を ク リ ッ ク し て [Project Name] ページに進みます (図 3-3)。プ ロ ジ ェ ク ト 名 と プ ロ ジ ェ ク ト の場所を入力 し ます。 プ ロ ジ ェ ク ト は入力 し た内容に基づいてデ ィ レ ク ト リ に保存 さ れます。 X-Ref Target - Figure 3-3 図 3-3 : [Project Name] ページ 4. [Next] を ク リ ッ ク し て [Project Type] ページに進みます (図 3-4)。MIG に よ っ て生成 さ れ る フ ァ イ ルは RTL 形式で あ る ため、 [Project Type] で [RTL Project] を オンに し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 318 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-4 図 3-4 : [Project Type] ページ 5. [Next] を ク リ ッ ク し て [Add Sources] ページに進みます (図 3-5)。 こ こ ではプ ロ ジ ェ ク ト に RTL フ ァ イ ルを追加で き ます。 プ ロ ジ ェ ク ト を あ ら か じ め作成 し ていない場合は次のページに進みます。 X-Ref Target - Figure 3-5 図 3-5 : [Add Sources] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 319 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 6. [Next] を ク リ ッ ク し て [Add Existing IP (Optional)] ページ を開き ます (図 3-6)。 IP が作成済の場合は、 IP に よ っ て 生成 さ れた XCI フ ァ イ ルをプ ロ ジ ェ ク ト に追加で き 、 以前作成 し た IP フ ァ イ ルが自動的に追加 さ れます。 IP が あ ら か じ め作成 さ れていない場合は次のページに進みます。 X-Ref Target - Figure 3-6 図 3-6 : [Add Existing IP (Optional)] ページ 7. [Next] を ク リ ッ ク し て [Add Constraints (Optional)] ページ を開き ます (図 3-7)。 制約フ ァ イ ルが リ ポジ ト リ にあ る 場合、 それをプ ロ ジ ェ ク ト に追加で き ます。 制約フ ァ イ ルがない場合は次のページに進みます。 X-Ref Target - Figure 3-7 図 3-7 : [Add Constraints (Optional)] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 320 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 8. [Next] を ク リ ッ ク し て [Default Part] ページ (図 3-8) へ進みます。 こ のページでは タ ーゲ ッ ト デバ イ ス を選択で き ます。 図 3-8 の よ う な [Default Part] ページが表示 さ れます。 X-Ref Target - Figure 3-8 図 3-8 : [Default Part] ページ (デ フ ォル ト ウ ィ ン ド ウ) タ ーゲ ッ ト と す る [Family]、 [Package] お よ び [Speed grade] を選択 し ます。 使用可能なデバ イ ス が同 じ ページに表 示 さ れ、 そ こ か ら タ ーゲ ッ ト デバ イ ス を選択で き ます (図 3-9)。 X-Ref Target - Figure 3-9 図 3-9 : [Default Part] ページ (カ ス タ ム ウ ィ ン ド ウ) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 321 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン [Parts] を使用 し てデバ イ ス を選択す る 以外に、 [Boards] でデバ イ ス を選択す る こ と も で き ます。 こ こ ではザ イ リ ン ク ス がサポー ト す る 評価ボー ド が表示 さ れます (図 3-10)。 こ のオプシ ョ ン を使用する と 、 評価ボー ド でデザ イ ン を使用で き ます。 前の手順で既存の IP の XCI フ ァ イ ルを選択 し た場合、 同 じ デバ イ ス を こ こ で選択す る 必要 があ り ます。 X-Ref Target - Figure 3-10 図 3-10 : デ フ ォル ト のデバイ スおよびボー ド 9. [Next] を ク リ ッ ク し て [New Project Summary] ページ を開 き ます (図 3-11)。 こ こ では、 選択 し たプ ロ ジ ェ ク ト のサ マ リ が表示 さ れます。 X-Ref Target - Figure 3-11 図 3-11 : [New Project Summary] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 322 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 10. [Finish] を ク リ ッ ク し てプ ロ ジ ェ ク ト の作成を終了 し ます。 11. [Project Manager] で [IP Catalog] を ク リ ッ ク し て Vivado IP カ タ ロ グ ウ ィ ン ド ウ を開き ます。 IP カ タ ロ グ ウ ィ ン ド ウ がパネルの右側に表示 さ れます (図 3-12 の赤い枠で囲っ た部分)。 12. MIG ツールは IP カ タ ロ グ ウ ィ ン ド ウ の [Memories & Storage Elements] → [Memory Interface Generators] (図 3-12) にあ り ますが、 検索ボ ッ ク ス に 「MIG」 と 入力す る こ と で も 検索で き ます。 X-Ref Target - Figure 3-12 図 3-12 : IP カ タ ログ ウ ィ ン ド ウ - [Memory Interface Generator] Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 323 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 13. [MIG 7 Series] を ク リ ッ ク し て MIG ツールを開 き ます (図 3-13)。 X-Ref Target - Figure 3-13 図 3-13 : 7 シ リ ーズ FPGA の MIG (Memory Interface Generator) の最初のページ 14. [Next] を ク リ ッ ク し て [MIG Output Options] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 324 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのカ ス タ マ イ ズ と 生成 注意 : Windows オペレーテ ィ ン グ シ ス テ ムでは、 パ ス の長 さ が最大で 260 文字ま でに制限 さ れてお り 、 こ れに よ っ て Vivado ツールで問題が生 じ る 可能性があ り ます。 こ の問題を回避す る には、 プ ロ ジ ェ ク ト 作成時に可能な限 り 短い名 前 と デ ィ レ ク ト リ の場所を使用 し 、 IP や IP プ ロ ジ ェ ク ト の定義お よ びブ ロ ッ ク デザ イ ンの作成を行っ て く だ さ い。 [MIG Output Options] ページ 1. [Create Design] を オンに し て新規 メ モ リ コ ン ト ロ ー ラ ー デザ イ ン を作成 し ます。 [Component Name] に コ ン ポー ネ ン ト 名を入力 し ます (図 3-14)。 2. [Number of Controllers] で作成す る コ ン ト ロ ー ラ ーの数を指定 し ます。 こ れ以降のページは、 指定 し た コ ン ト ロ ー ラ ーの数だけ繰 り 返 さ れます。 X-Ref Target - Figure 3-14 8*BFBB 図 3-14 : [MIG Output Options] ページ MIG の出力は、 <component name> フ ォ ルダーに生成 さ れます。 重要 : <component name> に使用で き る のは英数字のみです。 特殊文字は使用で き ません。 先頭の 1 文字は英字で あ る 必要があ り ます (末尾の 1 文字は英字で も 数字で も か ま い ません)。 XPS か ら 起動 し た場合は、 XPS の IP イ ン ス タ ン ス名が [Component Name] に入 り ます。 3. [Next] を ク リ ッ ク し て [Pin Compatible FPGAs] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 325 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ピ ン互換 FPGA [Pin Compatible FPGAs] ページには、 選択 し た FPGA フ ァ ミ リ でパ ッ ケージが同 じ デバ イ ス が表示 さ れ ま す。 MIG ツールで生成 し た ピ ン配置を、 こ こ に表示 さ れた FPGA と 互換性を持たせ る よ う にす る には、 こ のオプシ ョ ン を使用 し てデバ イ ス を選択 し ます (図 3-15)。 X-Ref Target - Figure 3-15 図 3-15 : ピ ン互換性のある 7 シ リ ーズ FPGA 1. 表示 さ れた ピ ン互換性のあ る FPGA の中か ら デバ イ ス を選択 し ます。 MIG ツールは、 こ こ で選択 し た FPGA と タ ーゲ ッ ト FPGA に共通す る ピ ン のみを使用 し ま す。 [Target FPGA] には、 選択 し た タ ーゲ ッ ト FPGA デバ イ ス 名が表示 さ れます。 2. [Next] を ク リ ッ ク し て [Memory Selection] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 326 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 7 シ リ ーズ FPGA RLDRAM II/RLDRAM 3 メ モ リ デザイ ンの作成 メ モ リ の選択 [Memory Selection] ページには、 選択 し た FPGA フ ァ ミ リ でサポー ト さ れ る すべての メ モ リ タ イ プが表示 さ れます。 1. [Select the Controller Type] で [RLDRAM II] ま たは [RLDRAM 3] を選択 し ます。 2. [Next] を ク リ ッ ク し て [Controller Options] ページに進みます。 X-Ref Target - Figure 3-16 図 3-16 : [Memory Selection] ページ 現時点では、 RLDRAM II お よ び RLDRAM 3 デザ イ ンは メ モ リ マ ッ プ方式の AXI4 イ ン タ ーフ ェ イ ス をサポー ト し て い ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 327 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ ン ト ロー ラ ー オプ シ ョ ン [Options for Controller] ページには、 選択可能な コ ン ト ロ ー ラ ー オプシ ョ ンが表示 さ れます。 X-Ref Target - Figure 3-17 図 3-17 : [Options for Controller] ページ • [Clock Period] : すべての コ ン ト ロ ー ラ ーの ク ロ ッ ク 周期を示 し ます。 設定可能な ク ロ ッ ク 周期の範囲は、 選択 し た FPGA デバ イ スやその ス ピー ド グ レー ド な ど の要因に よ っ て異な り ます。 • [PHY to Controller Clock Ratio] : 物理層 ( メ モ リ ) の ク ロ ッ ク 周波数 と コ ン ト ロ ー ラ ーお よ びユーザー イ ン タ ー フ ェ イ ス の ク ロ ッ ク 周波数の比率を指定 し ます。 2:1 の と き のユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス幅は、 物 理層 メ モ リ イ ン タ ーフ ェ イ ス幅の 4 倍 と な り 、4:1 の と き のユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス幅は、物理 層 メ モ リ イ ン タ ーフ ェ イ ス幅の 8 倍 と な り ます。 RLDRAM II は 2:1 を使用 し 、 RLDRAM 3 は 4:1 を使用す る 必 要があ り ます。 • [Vccaux_io] : 周期/周波数の設定に基づいて設定 さ れます。High Performance 列の最高周波数設定には 2.0V が必要 です。 2.0V が必要な場合は、 MIG ツールが自動的に選択 し ます。 それ よ り も 周波数が低い場合は 1.8V と 2.0V の ど ち ら も 使用 で き ま す。 バ ン ク グ ルー プ は同 じ Vccaux_io 電源 を 共有 し ま す。 詳細は、 『7 シ リ ー ズ FPGA SelectIO™ リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] を参照 し て く だ さ い。 • [Memory Part] : デザ イ ンで使用す る メ モ リ デバ イ ス を選択 し ます。 リ ス ト の中か ら 選択す る か、 リ ス ト にない 場合は [Create Custom Part] を ク リ ッ ク し て新規デバ イ ス を作成 し ま す。 使用す る デバ イ ス が リ ス ト にない場合 は、 同等のデバ イ ス を生成ま たは作成 し て目的の メ モ リ デバ イ ス をサポー ト で き る よ う に出力を変更 し ます。 • [Data Width] : 選択 し た メ モ リ デバ イ ス に基づいてデー タ 幅の値を選択 し ます。 デバ イ ス のデー タ 幅の倍数を指 定で き ます。 • [Data Mask] : こ のオプシ ョ ン をオンにす る と 、 デー タ マ ス ク ピ ンが割 り 当て ら れます。 デー タ マ ス ク ピ ンの割 り 当て を解除 し て ピ ン効率を上げ る 場合は、 こ のオプシ ョ ンの選択を解除 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 328 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [Memory Details] : [Controller Options] ページの下部に、 選択 し た メ モ リ の コ ン フ ィ ギ ュ レーシ ョ ンに関す る 詳細 が表示 さ れます (図 3-18)。 X-Ref Target - Figure 3-18 図 3-18 : 選択 し た メ モ リ の コ ン フ ィ ギ ュ レーシ ョ ンの詳細 メ モ リ オプ シ ョ ン [Memory Options for Controller] ページでは、 コ ン ト ロ ー ラ ーの仕様に従っ て メ モ リ モー ド レ ジ ス タ の値を選択 し ます (図 3-19)。 X-Ref Target - Figure 3-19 図 3-19 : [Memory Options for Controller] ページ モー ド レ ジ ス タ の値は、 初期化中に ロ ー ド モー ド レ ジ ス タ に読み込まれます。 • [Input Clock Period] : リ ス ト か ら 目的の入力 ク ロ ッ ク 周期を選択 し ます。 こ れ ら の値は、 選択 し た メ モ リ ク ロ ッ ク 周期の値 と PLL パ ラ メ ー タ ーの制限値に よ っ て決ま り ます。 PLL パ ラ メ ー タ ーの制限値の詳細は、 363 ページ の 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を参照 し て く だ さ い。 • [Configuration] : (RLDRAM II のみ)。 書 き 込みお よ び読み出 し レ イ テ ン シの値に関連す る コ ン フ ィ ギ ュ レーシ ョ ンの値を設定 し ます。 設定可能な値 (1、 2、 3) は、 選択 し たデザ イ ンの動作周波数に基づいて管理 さ れます。 • [Burst Length] : 1 つの メ モ リ ト ラ ンザ ク シ ョ ンのバース ト 長を設定 し ます。 粒度 と 帯域幅の ト レー ド オ フ で、 ア プ リ ケーシ ョ ンに よ っ て決ま り ます。RLDRAM II で設定可能な値は 4 お よ び 8 で、RLDRAM 3 では 2、4、8 です。 • [Address Multiplexing] : ア ド レ ス は連続す る ク ロ ッ ク の 2 サ イ ク ル間のみ少ピ ン で提供 さ れ、 それを超え る と ピ ン数が多 く な る ため、 デザ イ ンに必要なア ド レ ス ピ ンの数を最小に抑え ます。 こ のオプシ ョ ンは、 バース ト 長 2 ではサポー ト さ れません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 329 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [Impedance Matching] : メ モ リ デバ イ ス の出力の調整方法を設定 し ます。 内部設定を用い る か、 ま たは メ モ リ デ バ イ ス の ZQ 入力へ接続 さ れ る 外部参照抵抗を使用する か を選択 し ます。 • [On-Die Termination] : 書 き 込み中に メ モ リ デバ イ ス側で終端を DQ お よ び DM 信号に適用 さ せます。 有効の場 合、 読み出 し コ マ ン ド 実行中にバ ス を駆動 し てい る と 、 メ モ リ デバ イ ス が動的に ODT を OFF に切 り 替え ます。 RLDRAM II では こ のオプシ ョ ン を [OFF] ま たは [ON] に し か設定で き ませんが、 RLDRAM 3 では値を選択す る 必要があれば RZQ/6、 RZQ/4、 RZQ/2 のいずれかに設定で き ます。 • [Output Driver Impedance Control] : RLDRAM II では利用で き ません。 DRAM の MRS 設定で、 読み出 し 中の出 力バ ッ フ ァ ーの イ ン ピーダ ン ス を選択 し ます。 [Next] を ク リ ッ ク し て [FPGA Options] ページに進みます。 FPGA オプ シ ョ ン 図 3-20 に、 [FPGA Options] ページ を示 し ます。 X-Ref Target - Figure 3-20 図 3-20 : [FPGA Options] ページ • [System Clock] : sys_clk 信号ペアの ク ロ ッ ク タ イ プ ([Single-Ended] (シ ン グルエン ド )、 [Differential] (差動)、 ま たは [No Buffer] (バ ッ フ ァ ーな し )) を選択 し ます。 [No Buffer] を選択す る と 、 IBUF プ リ ミ テ ィ ブが RTL コ ー ド で イ ン ス タ ン シエー ト さ れず、 シ ス テ ム ク ロ ッ ク に ピ ンが割 り 当て ら れません。 MIG で [No Buffer] を 選択 し て生成 さ れ たデザ イ ン を 変更せずに イ ン プ リ メ ン ト す る と 、 sys_clk_i 信号に IBUF が イ ン ス タ ン シエー ト さ れていないためにエ ラ ーが発生 し ます。[No Buffer] を選択 し た場合は、sys_clk_i を内部 ク ロ ッ ク に接続す る 必要があ り ます。 • [Reference Clock] : clk_ref 信号ペアの ク ロ ッ ク タ イ プ ([Single-Ended] (シ ン グルエン ド )、 [Differential] (差動)、 [No Buffer] (バ ッ フ ァ ーな し )、ま たは [Use System Clock] (シ ス テ ム ク ロ ッ ク を使用)) を選択 し ます。[Use System Clock] は、 入力周波数が 199 ~ 201MHz ([Input Clock Period] が 5,025ps (199MHz) ~ 4,975ps (201MHz)) の場合に表示 さ れます。 [No Buffer] を選択す る と 、 IBUF プ リ ミ テ ィ ブが RTL コ ー ド に イ ン ス タ ン シエー ト さ れず、 基準 ク ロ ッ ク に ピ ンが割 り 当て ら れません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 330 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン MIG で [No Buffer] を 選択 し て生成 さ れ たデザ イ ン を 変更せずに イ ン プ リ メ ン ト す る と 、 ref_clk_i 信号に IBUF が イ ン ス タ ン シエー ト さ れていないためにエ ラ ーが発生 し ます。[No Buffer] を選択 し た場合は、ref_clk_i を内部 ク ロ ッ ク に接続す る 必要があ り ます。 • [System Reset Polarity] : シ ス テ ム リ セ ッ ト (sys_rst) の極性を選択 し ます。 [ACTIVE LOW] を選択す る と 、 RST_ACT_LOW パ ラ メ ー タ ーが 1 に設定 さ れ、 RST_ACT_HIGH パ ラ メ ー タ ーが 0 に設定 さ れます。 • [Debug Signals for Memory Controller] : こ のオプシ ョ ン を [ON] に設定する と 、 キ ャ リ ブ レーシ ョ ン ス テー タ ス と ユーザー ポー ト 信号を example_top モジ ュ ールの ILA お よ び VIO にポー ト マ ッ プで き ます。 こ れに よ り 、 ユーザー イ ン タ ーフ ェ イ ス ポー ト の ト ラ フ ィ ッ ク を Vivado Lab Edition で簡単に確認で き ます。 こ のオプシ ョ ン を [OFF] に設定す る と 、 example_top モジ ュ ールでデバ ッ グ信号は接続 さ れず、 IP カ タ ロ グに よ り ILA/VIO モ ジ ュ ールは生成 さ れません。 論理シ ミ ュ レーシ ョ ンでは、 デバ ッ グ ポー ト は常に無効です。 • [Sample Data Depth] : Vivado デバ ッ グ ロ ジ ッ ク で使用 さ れ る ILA モジ ュ ールのサンプル デー タ の深 さ を選択 し ます。 こ のオプシ ョ ンは [Debug Signals for Memory Controller] を [ON] にする と 選択で き ます。 • [Internal VREF] : デー タ グループ バ イ ト で内部 VREF を使用す る と 、 VREF ピ ン を通常の I/O ピ ン と し て使用で き ます。 [Internal VREF] は、 デー タ レー ト が 800Mb/s 以下の場合のみ使用 し て く だ さ い。 [Next] を ク リ ッ ク し て [Extended FPGA Options] ページに進みます。 拡張 FPGA オプ シ ョ ン 図 3-21 に、 [Extended FPGA Options] ページ を示 し ます。 X-Ref Target - Figure 3-21 図 3-21 : [Extended FPGA Options] ページ • [Digitally Controlled Impedance (DCI)] : こ のオプシ ョ ン を選択する と 、RLDRAM II の読み出 し パ ス か ら の信号が 内部終端処理 さ れます。 DCI は HP (High Performance) バン ク で利用で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 331 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [Internal Termination for High Range Banks] : 内部終端オプシ ョ ンは、 40、 50、 60Ω ま たは [OFF] に設定で き ま す。 こ の終端は、 RLDRAM II お よ び RLDRAM 3 読み出 し パ ス用です。 こ のオプシ ョ ンは HR (High Range) バン ク でのみ選択で き ます。 バン クの選択 こ のページでは、 メ モ リ イ ン タ ーフ ェ イ ス用のバ イ ト を選択 し ます。 次の よ う な異な る メ モ リ 信号に対 し てバ イ ト を 選択で き ます。 • ア ド レ ス信号 と 制御信号 • デー タ 読み出 し 信号 • デー タ 書 き 込み信号 設定を カ ス タ マ イ ズす る には [Deselect Banks] を ク リ ッ ク し 、 適切なバン ク 信号お よ び メ モ リ 信号を選択 し ます。 デ フ ォ ル ト の設定 を 使用す る 場合は [Next] を ク リ ッ ク し て次のペー ジ に進み ま す。 バ ン ク の選択 を 解除す る には、 [Deselect Banks] を ク リ ッ ク し ま す。 デフ ォ ル ト 設定に戻すには、 [Restore Defaults] を ク リ ッ ク し ま す。 デバ イ ス の HP バン ク の Vccaux_io グループは、 破線で囲ま れてい ます。 Vccaux_io はグループ内のすべてのバン ク に共通です。 メ モ リ イ ン タ ーフ ェ イ ス では、 使用す る すべてのバン ク で 同 じ Vccaux_io を使用す る 必要があ り ます。 指定のデー タ レー ト に合わせて、 MIG に よ り Vccaux_io 制約が自動的に設定 さ れます。 SSI テ ク ノ ロ ジで実装 さ れたデバ イ ス では、 SLR (Super Logic Region) は各バン ク のヘ ッ ダーの番号を付けて表 さ れま す (SLR 1 な ど)。 イ ン タ ーフ ェ イ スは複数の SLR を ま た ぐ こ と はで き ません。 SLR を持たないデバ イ ス も あ り ます。 X-Ref Target - Figure 3-22 図 3-22 : バン クの選択 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 332 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン シ ス テム ピ ンの選択 図 3-23 に、 [System Pins Selection] ページ を示 し ます。 X-Ref Target - Figure 3-23 図 3-23 : シス テム ピ ンの選択 [System Signals Selection] ページでは、 シ ス テ ム信号の ピ ン を選択 し ます。 MIG ツールでは、 必要に応 じ て外部ピ ン と 内部接続の ど ち ら も 選択で き ます。 • [sys_clk] : メ モ リ イ ン タ ーフ ェ イ ス のシ ス テ ム ク ロ ッ ク 入力で、通常は低ジ ッ タ ーの外部 ク ロ ッ ク ソ ース に接続 し ます。 [FPGA Options] ページ (図 3-20) で選択 し た [System Clock] に基づいてシ ン グルエン ド 入力ま たは差動ペ アのいずれか を選択で き ます。 sys_clk 入力は メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列にあ る 必要があ り ます。 こ の ピ ン を メ モ リ イ ン タ ーフ ェ イ ス と 同 じ バン ク に接続 し た場合、 MIG ツールは DIFF_HSTL_I や HSTL_I な ど メ モ リ イ ン タ ーフ ェ イ ス と 互換性のあ る I/O 規格を選択 し ます。sys_clk が メ モ リ イ ン タ ーフ ェ イ ス バン ク で未接 続の場合、 MIG ツールは LVCMOS18 や LVDS な ど の適切な規格を選択 し ます。 XDC は生成後に必要に応 じ て修 正で き ます。 • [clk_ref] : IDELAY 制御の基準周波数入力です。 200MHz の入力です。 clk_ref 入力は内部で生成する こ と も 、 外部 ソ ース に接続する こ と も で き ます。 [FPGA Options] ページ (図 3-20) で選択 し た [System Clock] に基づいてシ ン グル入力ま たは差動ペア を選択で き ます。 I/O 規格は上記の sys_clk と 同様の方法で選択 さ れます。 • [sys_rst] : 内部で生成ま たは外部ピ ンに よ っ て駆動 さ れ る シ ス テ ム リ セ ッ ト 入力です。 HP バン ク には LVCMOS18、 HR バン ク には LVCMOS25 な ど、 入力に対す る 適切な I/O 規格が MIG ツールに よ り 選択 さ れます。 sys_rst ピ ン のデフ ォ ル ト の極性はア ク テ ィ ブ Low です。 sys_rst ピ ン の極性は、 [FPGA Options] ページの [System Reset Polarity] の設定に よ り ます (図 3-20)。 • [init_calib_complete] : メ モ リ 初期化 と キ ャ リ ブ レーシ ョ ンが完了 し 、 イ ン タ ーフ ェ イ ス の使用準備がで き た こ と を示す出力です。 こ の信号は通常は内部でのみ使用 し ますが、 必要に応 じ て ピ ンに出力で き ます。 • [tg_compare_error] : サンプル デザ イ ンの ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーでデー タ 比較エ ラ ーが検出 さ れた こ と を 示 し ます。 こ の信号はサ ン プル デザ イ ン でのみ生成 さ れ、 ユーザー デザ イ ンには含ま れ ません。 こ の信号は通 常ピ ンには出力 さ れませんが、 必要に応 じ て出力 さ せ る こ と が可能です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 333 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン [Next] を ク リ ッ ク し て [Summary] ページに進みます。 サマ リ [Summary] ページ (図 3-24) には、 メ モ リ コ ア の選択、 イ ン タ ー フ ェ イ ス パ ラ メ ー タ ー、 Vivado IP カ タ ロ グ のオプ シ ョ ン、 ア ク テ ィ ブ プ ロ ジ ェ ク ト の FPGA オプシ ョ ン な ど、 すべての詳細が表示 さ れます。 X-Ref Target - Figure 3-24 図 3-24 : [Summary] ページ [Next] を ク リ ッ ク し て [PCB Information] ページに進みます。 PCB 情報 [PCB Information] ページには、 MIG ツールで生成 し たデザ イ ン を使用す る ボー ド の設計に必要な PCB 関連の情報が 表示 さ れます。 [Next] を ク リ ッ ク し て [Design Notes] ページに進みます。 デザイ ン ノ ー ト [Generate] を ク リ ッ ク し て デザ イ ン フ ァ イ ル を 生成 し ま す。 MIG ツ ール で は、 2 つ の 出力デ ィ レ ク ト リ (example_design および user_design) が生成 さ れます。デザ イ ンの生成が完了する と MIG の GUI 画面が閉じ ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 334 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 完了 デザ イ ンが生成 さ れ る と 、 さ ら に詳 し い情報を記載 し た [README] ページが表示 さ れます。 [Close] を ク リ ッ ク し て MIG ツール フ ロ ーを終了 し ます。 MIG 用の Vivado 統合デザイ ン フ ロー 1. [Generate] を ク リ ッ ク す る と 、 [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 こ のダ イ ア ロ グ ボ ッ ク ス には、 図 3-25 の よ う に、 [Out-of-Context Settings] があ り ます。 X-Ref Target - Figure 3-25 図 3-25 : [Generate Output Products] ダ イ ア ログ ボ ッ ク ス Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 335 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 2. [Out-of-Context Settings] を ク リ ッ ク し て、合成済みチ ェ ッ ク ポ イ ン ト の生成を設定 し ます。Out-of-Context フ ロ ー を有効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ ンに し ます。 こ の フ ロ ーを無効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ フ に し ます。 図 3-26 の よ う に、 デフ ォ ル ト では有効にな っ てい ます。 X-Ref Target - Figure 3-26 図 3-26 : [Out-of-Context Settings] ダ イ ア ログ ボ ッ ク ス 3. MIG のデザ イ ンは、 Vivado の階層デザ イ ン フ ロ ーに準拠 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) [参照 5] お よ び『Vivado Design Suite チ ュ ー ト リ アル : 階層デザ イ ン』 (UG946) [参照 6] を 参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 336 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 4. MIG デザ イ ンが生成 さ れ る と 、 図 3-27 の よ う なプ ロ ジ ェ ク ト ウ ィ ン ド ウ が表示 さ れます。 X-Ref Target - Figure 3-27 図 3-27 : Vivado ツールのプ ロ ジ ェ ク ト ウ ィ ン ド ウ (IP コ アの生成後) 5. プ ロ ジ ェ ク ト が作成 さ れ る と 、 XCI フ ァ イ ルがプ ロ ジ ェ ク ト の [Hierarchy] に追加 さ れます。 同 じ 画面に user_design のモ ジ ュ ール階層が表示 さ れ ま す。 HDL お よ び XDC フ ァ イ ルの リ ス ト は、 [Sources] ビ ュ ーの [IP Sources] に表示 さ れます。 モジ ュ ールま たはフ ァ イ ルを ダブル ク リ ッ ク す る と 、 Vivado のエデ ィ タ ーでその フ ァ イ ルが開 き ます。 こ れ ら の フ ァ イ ルは読み取 り 専用です。 X-Ref Target - Figure 3-28 図 3-28 : Vivado ツールのプ ロ ジ ェ ク ト ソ ース ウ ィ ン ド ウ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 337 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン [Create Design] フ ロ ーま たは [Verify Pin Changes and Update Design] フ ロ ーを使用 し てデザ イ ン を MIG か ら 生成で き ます。 MIG ツールか ら のデザ イ ン の生成については、 こ れ ら の フ ロ ーに差異はあ り ません。 デザ イ ン を MIG ツールか ら 生成す る フ ロ ーに関係な く 、 XCI フ ァ イ ルは Vivado ツール プ ロ ジ ェ ク ト に追加 さ れます。 イ ンプ リ メ ン テーシ ョ ン フ ロ ーはプ ロ ジ ェ ク ト に追加 さ れた XCI フ ァ イ ルに依存す る ため、 こ の フ ロ ーはあ ら ゆ る 状況 において同 じ です。 6. MIG で生成 さ れたすべてのユーザー デザ イ ン RTL お よ び XDC フ ァ イ ルは自動的にプ ロ ジ ェ ク ト へ追加 さ れま す。 フ ァ イ ルが変更 さ れ、 こ れ ら を再度生成 し たい場合は、 XCI フ ァ イ ルで右 ク リ ッ ク し て [Generate Output Products] を ク リ ッ ク し ます (図 3-29)。 X-Ref Target - Figure 3-29 図 3-29 : RTL および制約の生成 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 338 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 7. [Generate Output Products] を ク リ ッ ク する と [Manage Outputs] ウ ィ ン ド ウ が表示 さ れます (図 3-30)。 X-Ref Target - Figure 3-30 図 3-30 : 生成用のウ ィ ン ド ウ 8. ユーザー デザ イ ンの RTL フ ァ イ ルお よ び制約フ ァ イ ル (XDC フ ァ イ ル) はすべて [Sources] → [Libraries] ビ ュ ー で表示で き ます (図 3-31)。 X-Ref Target - Figure 3-31 図 3-31 : Vivado プ ロ ジ ェ ク ト – RTL フ ァ イル と 制約 フ ァ イル Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 339 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 9. Vivado は [Open IP Example Design] フ ロ ーをサポー ト し てい ます。 こ の フ ロ ーを使用 し てサンプル デザ イ ン を 作成す る には、 [Sources] ビ ュ ーで IP を右 ク リ ッ ク し ます (図 3-32)。 X-Ref Target - Figure 3-32 図 3-32 : IP サン プル デザイ ン を開 く 10. こ のオプシ ョ ンでは新 し い Vivado プ ロ ジ ェ ク ト が作成 さ れます。 メ ニ ュ ーを選択す る と ダ イ ア ロ グ ボ ッ ク ス が 表示 さ れ、 こ のダ イ ア ロ グ ボ ッ ク ス に従っ て新 し いデザ イ ン プ ロ ジ ェ ク ト のデ ィ レ ク ト リ に移動 し ます。 デ ィ レ ク ト リ を選択 し て (ま たはデフ ォ ル ト を使用) [OK] を ク リ ッ ク し ます。 こ れに よ り 、 すべてのサンプル デザ イ ン と IP の コ ピーを含む新 し い Vivado が起動 し ます。 こ のプ ロ ジ ェ ク ト で は、 example_top が イ ンプ リ メ ン テーシ ョ ンの最上位デ ィ レ ク ト リ 、 sim_tb_top がシ ミ ュ レーシ ョ ンの最上 位デ ィ レ ク ト リ と な っ てい ます (図 3-33)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 340 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-33 図 3-33 : サン プル デザイ ンのプ ロ ジ ェ ク ト 11. [Project Manager] → [Program and Debug] の下にあ る [Generate Bitstream] を ク リ ッ ク し 、 生成 さ れたデザ イ ン の BIT フ ァ イ ルを生成 し ます。 <project directory>/<project directory>.runs/ impl_1 デ ィ レ ク ト リ には、イ ンプ リ メ ン テーシ ョ ン実行後にプ ロ ジ ェ ク ト 用に生成 さ れた レ ポー ト フ ァ イ ルがすべて含まれます。 こ のプ ロ ジ ェ ク ト では、 シ ミ ュ レーシ ョ ン も 実行で き ます。 12. MIG IP コ アは [Re-customize IP] を使用 し て再度カ ス タ マ イ ズで き ます。 example_design プ ロ ジ ェ ク ト で IP を再度カ ス タ マ イ ズす る こ と は推奨 さ れてい ません。 example_design プ ロ ジ ェ ク ト を閉 じ 、 元のプ ロ ジ ェ ク ト に戻っ てそ こ でカ ス タ マ イ ズす る のが正 し い方法です。 XCI フ ァ イ ルを右 ク リ ッ ク し て [Recustomize IP] を ク リ ッ ク す る と (図 3-34)、 MIG の GUI が表示 さ れ る のでオプシ ョ ン を設定 し てデザ イ ン を生成 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 341 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-34 図 3-34 : IP の再カ ス タ マ イ ズ MIG のデ ィ レ ク ト リ 構造 と フ ァ イルの説明 こ こ では、 MIG ツールのデ ィ レ ク ト リ 構造お よ び出力フ ァ イ ルについて詳 し く 説明 し ます。 出力デ ィ レ ク ト リ の構造 MIG ツ ールで出力 さ れ る フ ァ イ ル と デ ィ レ ク ト リ はすべて <component name> フ ォ ルダーの下に格納 さ れ ま す (<component name> は MIG デザ イ ン作成フ ロ ーの 325 ページの 「[MIG Output Options] ページ」 で指定 し た名前)。 次に、 選択 し た メ モ リ コ ン ト ロ ー ラ ー (MC) デザ イ ン の MIG ツ ール か ら の出力デ ィ レ ク ト リ 構造 を 示 し ま す。 <component name> デ ィ レ ク ト リ には、 次の 3 つの フ ォ ルダーが作成 さ れます。 • docs • example_design • user_design Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 342 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン mig_7series_v2_3 docs example_design par rtl traffic_gen sim synth user_design rtl clocking controller ip_top phy ui xdc デ ィ レ ク ト リ と フ ァ イルの内容 Vivado イ ンプ リ メ ン テーシ ョ ンに関す る こ のセ ク シ ョ ンでは、 7 シ リ ーズ FPGA コ アのデ ィ レ ク ト リ と 関連フ ァ イ ル について説明 し ます。 <component name>/example_design/ こ のデ ィ レ ク ト リ には、 テ ス ト ベンチを含む完全な MIG サンプル デザ イ ンのシ ミ ュ レーシ ョ ンお よ び イ ンプ リ メ ン テーシ ョ ンに必要なすべての RTL、 制約フ ァ イ ル、 ス ク リ プ ト フ ァ イ ルが格納 さ れてい ます。 表 3-1 に、 example_design/rtl デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 3-1 : example_design/rtl デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 example_top.v ユーザー デザ イ ン を 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス コ アに接続する サ ンプル デザ イ ンの最上位モジ ュ ールです。 表 3-2 に、 example_design/rtl/traffic_gen デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 3-2 : example_design/rtl/traffic_gen デ ィ レ ク ト リ に含まれる フ ァ イル 名前(1) 説明 memc_traffic_gen.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの最上位モジ ュ ールです。 cmd_gen.v コ マ ン ド ジ ェ ネ レ ー タ ーです。 コ マ ン ド 、 ア ド レ ス お よ びバー ス ト 長を個 別に生成す る よ う に制御 し ます。 cmd_prbs_gen.v PRBS (Pseudo-Random Binary Sequence) コ マ ン ド 、 ア ド レ ス、 バー ス ト 長を 生成す る PRBS ジ ェ ネ レー タ ーです。 memc_flow_vcontrol.v メ モ リ コ ン ト ロ ー ラ ー コ ア と cmd_gen、read_data_path お よ び write_data_path モジ ュ ール間の フ ロ ー制御 ロ ジ ッ ク を生成 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 343 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-2 : example_design/rtl/traffic_gen デ ィ レ ク ト リ に含まれる フ ァ イル (続き) 名前(1) 説明 read_data_path.v 読み出 し デー タ パ ス の最上位モジ ュ ールです。 read_posted_fifo.v メ モ リ コ ン ト ロ ー ラ ーへ送信 さ れた読み出 し コ マ ン ド を格納す る モジ ュ ー ルです。 こ の FIFO 出力を使用 し て、 読み出 し デー タ の比較用の予測デー タ を生成 し ます。 rd_data_gen.v mem_flow_vcontrol.v に対す る 読み出 し 信号お よ び Ready 信号の タ イ ミ ン グ を制御 し ます。 write_data_path.v 書 き 込みデー タ パ ス の最上位モジ ュ ールです。 wr_data_g.v mem_flow_vcontrol.v に対す る 書 き 込み信号お よ び Ready 信号の タ イ ミ ン グ を制御 し ます。 s7ven_data_gen.v 複数の異な る デー タ パ タ ーン を生成 し ます。 a_fifo.v LUT RAM を使用 し た同期 FIFO です。 data_prbs_gen.v PRBS デー タ パ タ ーン を生成する 32 ビ ッ ト LFSR ( リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ ) です。 init_mem_pattern_ctr.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー用の フ ロ ー制御 ロ ジ ッ ク を生成 し ます。 traffic_gen_top.v ト ラ フ ィ ッ ク ジ ェ ネ レ ー タ ーの最上位モ ジ ュ ールで、 memc_traffic_gen モ ジ ュ ール と init_mem_pattern_ctr モジ ュ ールで構成 さ れます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モジ ュ ールの名前 cmd_gen は mig_7series_v2_3_cmd_gen と な り ます。 表 3-3 に、 example_design/sim デ ィ レ ク ト リ に含まれ る フ ァ イ ルの一覧を示 し ます。 表 3-3 : example_design/sim デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 ies_run.sh(1) IES シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンす る ための Linux 実行フ ァ イ ルです。 vcs_run.sh(1) VCS シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンす る ための Linux 実行フ ァ イ ルです。 readme.txt(1) QuestaSim、 IES、 お よ び VCS シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンす る ための詳 細 と 必要条件が記載 さ れてい ます。 sim_tb_top.v シ ミ ュ レーシ ョ ンの最上位フ ァ イ ルです。 注記 : 1. Vivado IDE の [Component Name] に 「mig_7series_0」 と 入力 し て生成 さ れたデザ イ ンでは、 [Open IP Example Design] を使用 し てサンプ ル デザ イ ン を作成す る と 、ies_run.sh お よ び vcs_run.sh フ ァ イ ルが mig_7series_0_example/mig_7series_0_example.srcs/sim_1/imports/sim フ ォ ルダーに生成 さ れます。 <component name>/user_design/ こ のデ ィ レ ク ト リ には、 次の も のが含まれます。 • rtl フ ォ ルダーお よ び xdc フ ォ ルダー • 最上位の ラ ッ パー モジ ュ ール <component_name>.v/vhd • 最上位モジ ュ ール <component_name>_mig.v/vhd お よ び <component_name>_mig_sim.v/vhd 最上位の ラ ッ パー フ ァ イ ル <component_name>.v/vhd には、 最上位フ ァ イ ル <component_name>_mig.v/vhd の イ ン ス タ ン シエーシ ョ ンが含まれます。 最上位 ラ ッ パー フ ァ イ ルにはパ ラ メ ー タ ー宣言はな く 、 ポー ト 宣言はすべ て固定幅です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 344 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 最 上 位 フ ァ イ ル <component_name>_mig.v/vhd お よ び<component_name>_mig_sim.v/vhd は、 同 一 の モ ジ ュ ール名 <component_name>_mig を持っ てい ま す。 <component_name>_mig_sim.v/vhd フ ァ イ ル では、 シ ミ ュ レーシ ョ ンのキ ャ リ ブ レーシ ョ ン手法に関す る パ ラ メ ー タ ー値が高速モー ド viz. で、 SIM_BYPASS_INIT_CAL = FAST な ど に設定 さ れてい る こ と を除いて、 こ れ ら 2 つの フ ァ イ ルは同 じ です。 重要 : 最上位フ ァ イ ル <component_name>_mig_sim.v/vhd がシ ミ ュ レーシ ョ ンに使用 さ れ る のに対 し て、最上位 フ ァ イ ル <component_name>_mig.v/vhd は、 デザ イ ンの合成お よ び イ ンプ リ メ ン テーシ ョ ンに使用 さ れます。 最上位の ラ ッ パー フ ァ イ ルは、 user_design を 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス コ アに接続す る サン プル デザ イ ン と し て機能 し ます。 user_design/rtl/controller 表 3-4 に、 user_design/rtl/controller デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 3-4 : user_design/rtl/controller デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前(1) 説明 rld_mc.v メ モ リ コ ン ト ロ ー ラ ーを イ ンプ リ メ ン ト し ます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モジ ュ ールの名前 rld_mc は mig_7series_v2_3_rld_mc と な り ます。 user_design/rtl/ui 表 3-5 に、 user_design/rtl/ui デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 3-5 : user_design/rtl/ui デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前(1) 説明 rld_ui_top.v ユーザー イ ン タ ーフ ェ イ ス の最上位 ラ ッ パーです。 rld_ui_wr.v ユーザー イ ン タ ーフ ェ イ ス の書き 込みデー タ のバ ッ フ ァ ーする FIFO を生成 し ます。 rld_ui_addr.v ユーザー イ ン タ ーフ ェ イ ス のア ド レ ス お よ び コ マ ン ド のバ ッ フ ァ ーす る FIFO を生成 し ます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モジ ュ ールの名前 rld_ui_top は mig_7series_v2_3_rld_ui_top と な り ます。 user_design/rtl/phy 表 3-6 に、 user_design/rtl/phy デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 3-6 : user_design/rtl/phy デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前(1) 説明 rld_phy_top.v 物理層フ ァ イ ルの最上位モジ ュ ールです。 rld_phy_write_top.v 書き 込みパ ス の最上位 ラ ッ パーです。 qdr_rld_phy_read_top.v 読み出 し パ ス の最上位モジ ュ ールです。 qdr_rld_mc_phy.v 最大 3 つの I/O バン ク (それぞれ 4 レーンの PHY プ リ ミ テ ィ ブ を 使用) を イ ン ス タ ン シ エー ト す る パ ラ メ ー タ ー指定可能な ラ ッ パーです。 rld_phy_write_init_sm.v 初期化ス テー ト マシ ンの ロ ジ ッ ク を含みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 345 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-6 : user_design/rtl/phy デ ィ レ ク ト リ に含まれる モ ジ ュ ール (続き) 名前(1) 説明 rld_phy_write_control_io.v メ モ リ へ送信 さ れ る 制御信号の ロ ジ ッ ク を含みます。 rld_phy_write_data_io.v メ モ リ へ送信 さ れ る デー タ お よ びバ イ ト 書 き 込み信号の ロ ジ ッ ク を含みます。 qdr_rld_prbs_gen.v こ の PRBS モジ ュ ールは多対 1 の フ ィ ー ド バ ッ ク メ カ ニズ ム を 使用 し て 2n シーケ ン ス を生成 し ます。 qdr_rld_phy_ck_addr_cmd_delay.v ア ド レ スお よ び制御信号に必要な遅延を与え る ロ ジ ッ ク を含み ます。 qdr_rld_phy_rdlvl.v 段階 1 キ ャ リ ブ レーシ ョ ンの ロ ジ ッ ク を含みます。 qdr_rld_phy_read_stage2_cal.v 段階 2 キ ャ リ ブ レーシ ョ ンの ロ ジ ッ ク を含みます。 qdr_rld_phy_read_data_align.v 受信デー タ の位相を揃え ます。 qdr_rld_phy_read_vld_gen.v ユーザー イ ン タ ーフ ェ イ ス に返 さ れた読み出 し デー タ の Valid 信号を生成する ロ ジ ッ ク を含みます。 rld_phy_byte_lane_map.v こ のモジ ュ ールは mc_phy モジ ュ ールのポー ト と ユーザーの メ モ リ ポー ト 間でベ ク タ ーの再マ ッ プ を実行 し ます。 qdr_rld_phy_4lanes.v I/O バン ク のパ ラ メ ー タ ー指定可能な 4 レーン PHY です。 qdr_rld_byte_lane.v 出力 ま たは入力バ イ ト レ ーン内で必要なプ リ ミ テ ィ ブ イ ン ス タ ン シエーシ ョ ン を含みます。 qdr_rld_byte_group_io.v シ ン グ ル バ イ ト レ ー ン 用の パ ラ メ ー タ ー指定可能 な I/O ロ ジ ッ ク イ ン ス タ ン シエーシ ョ ン と I/O 終端を含みます。 rld_phy_write_cal.v 書き 込みキ ャ リ ブ レーシ ョ ンの ロ ジ ッ ク を含みます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モジ ュ ールの名前 rld_phy_top は mig_7series_v2_3_rld_phy_top と な り ます。 user_design/rtl/xdc 表 3-7 に、 user_design/xdc デ ィ レ ク ト リ に含まれ る フ ァ イ ルの一覧を示 し ます。 表 3-7 : user_design/xdc デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 <component name>.xdc ユーザー デザ イ ンの コ アの XDC フ ァ イ ルです。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 346 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ピ ン変更の検証およびデザイ ンの更新 こ の機能は、 バン ク の選択、 バ イ ト の選択、 ピ ンの割 り 当てに関 し て入力 XDC を検証 し ます。 [Verify Pin Changes and Update Design] ページの [Validate] を ク リ ッ ク す る と 、 エ ラ ー と 警告が別のダ イ ア ロ グ ボ ッ ク ス に表示 さ れ ます。 こ の機能は、 MIG ツールでデザ イ ン を生成後に ピ ン配置を変更 し た場合に XDC を検証す る 際に有用です。 生成 し た .prj フ ァ イ ル (未修正の元の .prj フ ァ イ ル) お よ び検証が必要な XDC を MIG ツールで読み込みます。Vivado IP カ タ ロ グで再カ ス タ マ イ ズのオプシ ョ ン を選択 し てプ ロ ジ ェ ク ト を再 ロ ー ド し ます。 MIG の DRC にパ ス し なければデ ザ イ ンは生成で き ません。 ピ ン配置の検証に関す る 警告は、 こ こ では関係ないので無視 し ます。 XDC の検証のみで は不十分な た め、 実際にデザ イ ン を生成 し 、 ク ロ ッ ク お よ び PHASER に関す る 制約を更新 し た XDC、 お よ び各種 MAP パ ラ メ ー タ ーを更新 し た最上位の RTL モジ ュ ールを得 る 必要があ り ます。 デザ イ ンの更新機能は、 次の状況で必要 と な り ます。 • 以前のバージ ョ ンの MIG で ピ ン配置を生成 し てお り 、 デザ イ ン を現在のバージ ョ ンの MIG でア ッ プデー ト す る 場合。 一部の MIG デザ イ ンに対 し て、 ピ ン配置割 り 当て アルゴ リ ズ ムが変更 さ れてい ます。 • ピ ン配置を MIG 外で生成 し てい る か、 デザ イ ン を生成 し た後に変更 し てい る 場合。 デザ イ ン を MIG か ら 生成す る と 、 XDC お よ び HDL コ ー ド が正 し い制約 と 共に生成 さ れます。 入力 XDC か ら 検証 さ れた規則を次に示 し ます。 • 1 つの ピ ンが複数の信号に割 り 当て ら れてい る 場合、 エ ラ ーが報告 さ れます。 XDC が一意性の属性を満た し てい ない場合、 それ以上の検証は行われません。 • 検証済みの共通規則 • • ° 1 つの イ ン タ ーフ ェ イ ス は、 最大で 3 つの連続 し たバン ク を ま た ぐ こ と がで き ます。 ° イ ン タ ーフ ェ イ ス バン ク は FPGA の同 じ 列にあ る 必要があ り ます。 ° イ ン タ ーフ ェ イ ス バン ク は HP (High Performance) バン ク で も HR (High Range) バン ク で も か ま い ません。HP バン ク は高周波数用に使用 し ます。 ° 選択 し たデバ イ ス が ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト テ ク ノ ロ ジ を使用 し てい る 場合、 選択 し た イ ン タ ーフ ェ イ ス バン ク は同 じ SLR 領域を持っ てい る 必要があ り ます。 ° 内部 VREF を使用す る 場合、 ま たはバン ク に入力お よ び入力ポー ト がない場合は、 VREF I/O を GPIO と し て 使用す る 必要があ り ます。 ° 各信号の I/O 規格は、 選択 し た コ ン フ ィ ギ ュ レーシ ョ ンに従っ て検証 さ れます。 ° 各信号の VCCAUX I/O を検証 し 、 供給 さ れ る VCCAUX I/O が有効でない場合はエ ラ ー メ ッ セージが表示 さ れます。 検証済みのデー タ ピ ンの規則 ° 1 つの ス ト ロ ーブ セ ッ ト に関連付け ら れてい る 複数の ピ ンは、同 じ バ イ ト グループ内に割 り 当て ら れ る 必要 があ り ます。 ° 書 き 込み ク ロ ッ ク (DK/DK#) は、 DQS I/O ペアに割 り 当て る 必要があ り ます。 ° 読み出 し ク ロ ッ ク (QK/QK#) は、 RLDRAM II では MRCC ピ ンに、 RLDRAM 3 では DQS I/O ペアに割 り 当て る 必要があ り ます。 ° デー タ (DQ) ピ ンは、 DQS N ピ ンに割 り 当て る 必要があ り ます。 ° 1 つの FPGA バ イ ト レーンに 2 つの異な る ス ト ロ ーブ セ ッ ト に関連す る ピ ン を含め る こ と はで き ません。 ° VREF I/O は内部 VREF を選択 し た場合のみ使用で き ます。 検証済みのア ド レ ス ピ ンの規則 ° ア ド レ ス信号をデー タ バ イ ト と 混在 さ せる こ と はで き ません。 ° 孤立 し たバ イ ト レーンはい く つで も 使用で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 347 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • 検証済みのシ ス テ ム ピ ンの規則 ° ° ° システム ク ロ ッ ク - SR/MR CC I/O ペアのいずれかに割 り 当て る 必要があ り ます。 - メ モ リ バン ク 列に割 り 当て る 必要があ り ます。 - シ ス テ ム ク ロ ッ ク の タ イ プにシ ン グルエン ド を選択 し た場合、同 じ バン ク に基準電圧ピ ンが割 り 当て ら れていないか、 内部 VREF を使用 し てい る か を確認す る 必要があ り ます。 基準 ク ロ ッ ク - SR/MR CC I/O ペアのいずれかに割 り 当て る 必要があ り ます。 - シ ス テ ム ク ロ ッ ク の タ イ プにシ ン グルエン ド を選択 し た場合、同 じ バン ク に基準電圧ピ ンが割 り 当て ら れていないか、 内部 VREF を使用 し てい る か を確認す る 必要があ り ます。 ス テー タ ス信号 - sys_rst 信号は VREF I/O が割 り 当て ら れていないバン ク に割 り 当て る か、 内部 VREF を使用す る 必要 があ り ます。 - I/O 規格に互換性がないため、 こ れ ら の信号は メ モ リ 以外のバン ク に割 り 当て る 必要があ り ます。 I/O 規 格は最低 1.8V の LVCMOS と す る 必要があ り ます。 - こ れ ら の信号は 1 つの メ モ リ 列に属す る ため、 ハー ド 制約はな く 任意の列に割 り 当て る こ と がで き ます が、 選択 し た メ モ リ バン ク の近 く にする こ と を推奨 し ます。 サン プル デザイ ンの ク イ ッ ク ス タ ー ト 概要 コ アの生成が正常に完了 し た ら 、 ザ イ リ ン ク ス の イ ンプ リ メ ン テーシ ョ ン ツールセ ッ ト を使用 し てサ ンプル デザ イ ンの HDL を処理で き ます。 サン プル デザイ ンのイ ン プ リ メ ン テーシ ョ ン IP のサンプル デザ イ ンの使用に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 7] を参照 し て く だ さ い。 サン プル デザイ ンのシ ミ ュ レーシ ョ ン (標準的なユーザー イ ン タ ー フ ェ イ ス を 使用するデザイ ン) MIG ツールは、 メ モ リ コ ン ト ロ ー ラ ー (MC) に さ ま ざ ま な ト ラ フ ィ ッ ク デー タ パ タ ーン を生成す る ための合成可能 な テ ス ト ベンチを提供 し ます。 こ のテ ス ト ベンチは、 rld_memc_ui_top ラ ッ パー、 ユーザー イ ン タ ーフ ェ イ ス を 介 し て rld_ui_top コ アに ト ラ フ ィ ッ ク パ タ ーン を生成す る traffic_generator、 お よ び rld_memc_ui_top コ アへ ク ロ ッ ク リ ソ ース を提供す る イ ン フ ラ ス ト ラ ク チ ャ コ アで構成 さ れてい ます。 図 3-35 に、 サンプル デザ イ ン のテ ス ト ベンチのブ ロ ッ ク 図を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 348 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-35 VLPBWEBWRS ([DPSOH'HVLJQ XVHUBGHVLJQBWRS:UDSSHU XVHUBGHVLJQBWRS LRGHOD\FWUO LQIUDVWUXFWXUH UOGBPHPFBXLBWRS UOGBPF UOGBXLBWRS WUDIILFBJHQBWRS 3DUDPHWHU %(*,1B$''5 (1'B$''5 Q&.B3(5B&/. HUURU XVHUBFPGBHQ XVHUBFPG XVHUBDGGU XVHUBED XVHUBZUBHQ XVHUBZUBGDWD XVHUBZUBGP XVHUBDILIRBHPSW\ XVHUBDILIRBDHPSW\ XVHUBDILIRBIXOO XVHUBDILIRBDIXOO XVHUBZGILIRBHPSW\ XVHUBZGILIRBDHPSW\ XVHUBZGILIRBIXOO XVHUBZGILIRBDIXOO FPGBHQ FPGBYDOLG FPGBLQ DGGUBLQ EDBLQ FPGBHPSW\ GDWDBHPSW\ UOGBSK\BWRS 5/'5$0,, 5/'5$0 XVHUBUGBGDWD XVHUBUGBYDOLG 図 3-35 : 合成可能なサン プル デザイ ンのブ ロ ッ ク 図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 349 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 3-36 に、 tb_top と memc_intfc モジ ュ ール間のシ ン プルな読み出 し /書 き 込み ト ラ ン ザ ク シ ョ ン のシ ミ ュ レ ー シ ョ ン結果を示 し ます。 X-Ref Target - Figure 3-36 図 3-36 : ユーザー イ ン タ ー フ ェ イ スでの読み出 し および書き込みサイ ク ル ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの動作 合成可能なテ ス ト ベンチに含まれ る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー モジ ュ ールは、 パ ラ メ ー タ ーを指定 し て メ モ リ デ ザ イ ンの さ ま ざ ま な ス テ ィ ミ ュ ラ ス パ タ ーン を作成で き ます。 こ のジ ェ ネ レー タ ーは、 デザ イ ンの完全性や実際の ト ラ フ ィ ッ ク を モデル化す る 擬似 ラ ン ダ ム デー タ ス ト リ ーム を検証す る ための繰 り 返 し のテ ス ト パ タ ーン を生成で き ます。 ア ド レ ス範囲は、 BEGIN_ADDRESS お よ び END_ADDRESS パ ラ メ ー タ ー使用 し て定義で き ます。 Init Memory Pattern Control ブ ロ ッ ク が、 ア ド レ ス空間のすべてのア ド レ ス を連続 し て実行す る よ う に ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーへ指 示 し 、 選択 さ れたデー タ パ タ ーンに基づいて適切な値が メ モ リ デバ イ ス の各位置へ書 き 込ま れ ます。 テ ス ト ベンチ は、 デ フ ォ ル ト で ア ド レ ス を デー タ パ タ ー ン と し て使用 し ま すが、 こ のサ ン プル デザ イ ン のデー タ パ タ ーン は、 Vivado ロ ジ ッ ク 解析機能で変更可能な vio_data_mode 信号を使用 し て設定で き ます。 メ モ リ の初期化完了後、 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーはユーザー イ ン タ ーフ ェ イ ス ポー ト の ス テ ィ ミ ュ レー ト を開 始 し 、 メ モ リ デバ イ ス か ら ま たは メ モ リ デバ イ スへの ト ラ フ ィ ッ ク を生成 し ます。 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーは デフ ォ ル ト で、 擬似 ラ ン ダ ム コ マ ン ド を ポー ト へ送信 し ます。 つま り 、 命令シーケ ン ス (R/W、 R、 W) と ア ド レ ス は ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー モジ ュ ールの PRBS ジ ェ ネ レー タ ー ロ ジ ッ ク で決定 さ れます。 メ モ リ デバ イ ス か ら 返 さ れ る 読み出 し デー タ は、 ユーザー イ ン タ ーフ ェ イ ス の読み出 し デー タ ポー ト を介 し て ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て ア ク セ ス さ れ、内部生成 さ れた予測デー タ と 比較 さ れます。 エ ラ ーが検出 さ れた場 合 (つま り 、 読み出 し デー タ と 予測デー タ が不一致の場合)、 エ ラ ー信号がアサー ト さ れて、 リ ー ド バ ッ ク ア ド レ ス、 リ ー ド バ ッ ク デー タ 、 お よ び予測デー タ が error_status 出力に ラ ッ チ さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 350 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン サン プル デザイ ンの変更 提供 さ れてい る サンプル デザ イ ンには ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー モジ ュ ールが含まれてお り 、 こ れ ら は異な る コ マ ン ド やデー タ パ タ ーン に合わせて変更で き ま す。 一部の上位パ ラ メ ー タ ーは、 example_top.v/vhd モジ ュ ール で変更で き ます。 表 3-8 で、 こ れ ら のパ ラ メ ー タ ーについて説明 し ます。 表 3-8 : example_top モ ジ ュ ールにおける ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパラ メ ー タ ー設定 パラ メ ー タ ー 説明 値 FAMILY フ ァ ミ リ タ イ プ を示 し ます。 VIRTEX7 MEMORY_TYPE メ モ リ コ ン ト ロ ー ラ ー タ イ プ を示 し ま す。 現在サ ポー ト さ れ て い る のは、 DDR2 SDRAM、 DDR3 SDRAM、 QDR II+ SRAM、 RLDRAM II で す。 nCK_PER_CLK メ モ リ コ ン ト ローラー ク ロ ッ ク対 DRAM ク ロ ッ ク の比率です。 こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 RLDRAM II : 2 RLDRAM 3 : 4 NUM_DQ_PINS メ モ リ の総 DQ バ ス幅です。 8 ずつ増分す る 8 ~ 72 ま での DQ 幅をサポー ト し ま す。 有効な最大 DQ 幅は、 選択 し た メ モ リ デバ イ ス の周波数に依存 し ます。 MEM_BURST_LEN メ モ リ のデー タ バース ト 長です。 必ず 8 に設定 し ます。 MEM_COL_WIDTH メ モ リ 列ア ド レ ス のビ ッ ト の数です。 必ず 10 に設定 し ます。 DATA_WIDTH ユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス幅です。 2 × nCK_PER_CLK × NUM_DQ_PINS ADDR_WIDTH メ モ リ のア ド レ ス バス幅です。 MASK_SIZE ユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス におけ る マ ス ク 幅を指定 し ます。 必ず DATA_WIDTH/8 に設定 し ます。 PORT_MODE ポー ト モー ド を設定 し ます。 有効な設定は次の と お り です。 BI_MODE : WRITE デー タ パ タ ー ン を 生成 し て 比較用に READ デー タ を モニ タ リ ン グ し ます。 BEGIN_ADDRESS メ モ リ の開始ア ド レ ス 境界 を 設定 し ま す。 ポー ト ア ド レ ス 空間の開始境界 を 定義 し ま す。 こ の値の LSB [3:0] は無視 さ れます。 END_ADDRESS メ モ リ の終了ア ド レ ス 境界 を 設定 し ま す。 ポー ト ア ド レ ス 空間の開始境界 を 定義 し ま す。 こ の値の LSB [3:0] は無視 さ れます。 PRBS_EADDR_MASK_POS 32 ビ ッ ト の AND MASK 位置 を 設定 し ます。 PRBS ア ド レ ス ジ ェ ネ レー タ ーで使用 さ れ、ポー ト ア ド レ ス 空間へ ラ ン ダ ム ア ド レ ス を シ フ ト ダ ウ ン し ます。 END_ADDRESS と PRBS ア ド レ ス の論理積を取っ て、マ ス ク の 1 を含むビ ッ ト 位 置を求め ます。 PRBS_SADDR_MASK_POS 32 ビ ッ ト の OR MASK の位置を設定 し ます。 ポー ト ア ド レ ス空間へ ラ ン ダ ム ア ド レ ス を シ フ ト ア ッ プす る ために PRBS ア ド レ ス ジ ェ ネ レー タ ー と 共に使用 さ れ ま す。 START_ADDRESS と PRBS ア ド レ ス の論理和を取っ て、 マ ス ク の 1 を 含むビ ッ ト 位置を求め ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 351 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-8 : example_top モ ジ ュ ールにおける ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパラ メ ー タ ー設定 (続き) パラ メ ー タ ー 説明 値 CMD_PATTERN 生成 さ れ る コ マ ン ド パ タ ー ン回路 を 設 定 し ま す。 大 規 模 デ バ イ ス で は CGEN_ALL に設定で き ま す。 サポー ト さ れ る コ マ ン ド パ タ ーン回路すべて を 生成す る よ う にで き ます。 ただ し 、 一部 の小規模デバ イ ス では リ ソ ー ス が限 ら れてい る ため、特定の コ マ ン ド パ タ ーン に制限す る 必要が生 じ る 場合が あ り ま す。 有効な設定は次の と お り です。 • CGEN_FIXED : ア ド レ ス、 バース ト 長、 命令 は、 fixed_addr_i、 fixed_bl_i、 fixed_instr_i 入力 か ら 直接取 り 込まれます。 • CGEN_SEQUENTIAL : ア ド レ ス は連続的に イ ン ク リ メ ン ト さ れ、 増分はデー タ ポー ト のサ イ ズに よ っ て決ま り ます。 • CGEN_PRBS : 32 段の リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ (LFSR) が疑似 ラ ン ダ ム ア ド レ ス、 バー ス ト 長、 お よ び命令シーケ ン ス を 生成 し ます。 シー ド は、 32 ビ ッ ト の cmd_seed 入力で設定で き ます。 • CGEN_ALL (default) : 上記すべてのオプシ ョ ン を有効に し 、 動作中に addr_mode_i、 instr_mode_i、 お よ び bl_mode_i で生成パ タ ー ンの タ イ プを選択で き る よ う に し ます。 DATA_PATTERN RTL ロ ジ ッ ク を 介 し て生成 さ れ る デー タ パ タ ーン回路を設定 し ます。大規模デ バ イ ス の 場 合 は、 DATA_PATTERN を DGEN_ALL に設定で き 、 生成 さ れ る す べてのサポー ト デー タ パ タ ーン回路を 有 効 に し ま す。 ハ ー ド ウ ェ ア で は、 vio_data_value_mode を 使用 し て デー タ パ タ ーン の選択や変更が実行 さ れ ま す。 DATA_PATTERN が DGEN_ALL に設定 さ れてい る 場合にのみ変更で き ます。 有効な設定は次の と お り です。 • ADDR (デフ ォ ル ト ) : ア ド レ ス はデー タ パ タ ーン と し て使用 さ れます。 • HAMMER : DQS の立ち上が り エ ッ ジでは DQ ピ ン にすべ て 1 が現れ、 DQS の立 ち 下が り エ ッ ジでは DQ ピ ンにすべて 0 が現れます。 • WALKING1 : Walking 1 が DQ ピ ンに現れ、 開 始位置 1 はア ド レ ス値に よ っ て異な り ます。 • WALKING0 : Walking 0 が DQ ピ ンに現れ、 開 始位置 0 はア ド レ ス値に よ っ て異な り ます。 • NEIGHBOR : 1 つを除 く すべての DQ ピ ンに Hammer パ タ ーンが現れます。例外ピ ンの位置 はア ド レ ス に よ っ て決ま り ます。 • PRBS : 32 段の LFSR が ラ ン ダ ム デー タ を生成 し 、 開始ア ド レ ス でシー ド さ れます。 • DGEN_ALL : すべての可能なオプシ ョ ン を有 効に し ます。 0x1 : FIXED - 32 ビ ッ ト の fixed_data 0x2 : ADDRESS - デー タ と し て使用 さ れ る 32 ビ ッ ト ア ド レ ス。 0x3 : HAMMER 0x4 : SIMPLE8 - 8 ワ ー ド ご と に繰 り 返す単純 な 8 デー タ パ タ ーン。 0x5 : WALKING1 - DQ ピ ンに Walking 1 が現れ ます。 0x6 : WALKING0 - DQ ピ ンに Walking 0 が現れ ます。 0x7 : PRBS - 32 段の LFSR が ラ ン ダ ム デー タ を 生成PRBS ア ド レ ス パ タ ーン ま たは順次ア ド レ ス パ タ ーンでのみ有効 0x9 : SLOW HAMMER - 低周波数の HAMMER デー タ パ タ ーン 0xA : PHY_CALIB パ タ ーン - 0xFF、 00、 AA、 55、 55、 AA、 99、 66。 こ のモー ド では、 ア ド レ ス 0 で READ コ マ ン ド のみ が生成 さ れ ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 352 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-8 : example_top モ ジ ュ ールにおける ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパラ メ ー タ ー設定 (続き) パラ メ ー タ ー 説明 値 CMDS_GAP_DELAY 各ユーザー バース ト コ マ ン ド の間に遅 延を挿入 し ます。 有効な値 : 0 ~ 32 SEL_VICTIM_LINE 常 に ロ ジ ッ ク High と な る ビ ク テ ィ ム DQ ラ イ ン を選択 し ます。 Hammer パ タ ーンにのみ適用 し ます。 有効な設定 値は、 0 ~ NUM_DQ_PINS です。 値が NUM_DQ_PINS の場合は、 すべての DQ ピ ンに同 じ Hammer パ タ ーンがあ り ます。 EYE_TEST ト ラ フ ィ ッ ク ジ ェ ネ レ ー タ ーに対 し て 1 つの位置への書き 込みのみを生成 さ せ ます。 読み出 し ト ラ ンザ ク シ ョ ンは生成 さ れません。 有効な値は TRUE お よ び FALSE です。 TRUE に設定す る と 、vio_instr_mode_value の設定 が上書 き さ れます。 注記 : 1. ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーは、 FPGA メ モ リ コ ン ト ロ ー ラ ーで使用可能な設定 よ り 多 く のオプシ ョ ン をサポー ト し てい る 場合があ り ま す。 メ モ リ コ ン ト ロ ー ラ ーでサポー ト さ れてい る 設定を使用 し て く だ さ い。 traffic_gen モジ ュ ールの コ マ ン ド パ タ ーン (instr_mode_i、 addr_mode_i、 bl_mode_i、 data_mode_i) は 個別に設定で き ます。 提供 さ れてい る init_mem_pattern_ctr モジ ュ ールには、 Vivado ロ ジ ッ ク 解析機能の仮想 I/O (VIO) コ ア を使用 し て リ アル タ イ ムで コ マ ン ド パ タ ーン を変更で き る 、 イ ン タ ーフ ェ イ ス信号があ り ます。 次の コ マ ン ド パ タ ーンは変更可能です。 1. vio_modify_enable を 1 に設定 し ます。 2. vio_addr_mode_value を次の よ う に設定 し ます。 1 : 固定ア ド レ ス 2 : PRBS ア ド レ ス 3 : 順次ア ド レ ス 3. vio_bl_mode_value を次の よ う に設定 し ます。 1 : 固定 bl 2 : PRBS bl (bl_mode の値が 2 に設定 さ れてい る 場合は、 addr_mode 値が強制的に 2 と な り 、 PRBS ア ド レ ス を 生成) 4. vio_data_mode_value を次の よ う に設定 し ます。 0 : 予約 1 : 固定デー タ モー ド - デー タ は fixed_data_i 入力バ ス か ら 供給 さ れます。 2 : DGEN_ADDR (デフ ォ ル ト ) - ア ド レ ス はデー タ パ タ ーン と し て使用 さ れます。 3 : DGEN_HAMMER - DQS の立ち上が り エ ッ ジでは DQ ピ ンにすべて 1 が現れ、 DQS の立ち下が り エ ッ ジでは DQ ピ ンにすべて 0 が現れます。 4 : DGEN_NEIGHBOR - DQS の立ち上が り エ ッ ジで、 1 つを除 く すべての DQ ピ ンに 1 が現れます。 例外ピ ンの位 置はア ド レ ス に よ っ て決ま り ます。 5 : DGEN_WALKING1 - DQ ピ ンに Walking 1 が現れます。 1 の開始位置はア ド レ ス値に依存 し ます。 6 : DGEN_WALKING0 - DQ ピ ンに Walking 0 が現れます。 0 の開始位置はア ド レ ス値に依存 し ます。 7 : DGEN_PRBS -32 段の LFSR が ラ ン ダ ム デー タ を生成 し 、 開始ア ド レ ス でシー ド さ れます。 こ のデー タ モー ド は、 ア ド レ ス モー ド が PRBS モー ド ま たは順次の場合のみ有効です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 353 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのアーキテ ク チ ャ 概要 図 3-37 に、 7 シ リ ーズ FPGA の RLDRAM II お よ び RLDRAM 3 メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン の概略ブ ロ ッ ク 図を示 し ます。 こ の図には、 読み出 し /書 き 込み コ マ ン ド を開始す る ための ク ラ イ ア ン ト イ ン タ ーフ ェ イ スへ の内部 FPGA 接続、 お よ び メ モ リ デバ イ スへの外部 イ ン タ ーフ ェ イ ス を示 し て あ り ます。 X-Ref Target - Figure 3-37 3K\VLFDO ,QWHUIDFH &OLHQW ,QWHUIDFH FON V\VBUVW UVWBFON UVW PHPBUHIFON IUHTBUHIFON FONBUHI SOOBORFN V\QFBSXOVH XVHUBFPGBHQ XVHUBFPG XVHUBDGGU XVHUBED XVHUBZUBHQ XVHUBZUBGDWD XVHUBZUBGP XVHUBDILIRBHPSW\ XVHUBDILIRBIXOO XVHUBDILIRBDHPSW\ XVHUBDILIRBDIXOO XVHUBZGILIRBHPSW\ XVHUBZGILIRBIXOO XVHUBZGILIRBDHPSW\ XVHUBZGILIRBDIXOO XVHUBUGBYDOLG XVHUBUGBGDWD LQLWBFDOLEBFRPSOHWH UOGBFNBS UOGBFNBQ UOGBGNBS UOGBGNBQ UOGBFVBQ UOGBZHBQ UOGBUHIBQ UOGBD UOGBED UOGBGT UOGBGP UOGBTNBS UOGBTNBQ UOGBTYOG UOGBUHVHWBQ &. &. '. '. &6 :( 5/'5$0,, 5() 5/'5$0 $ %$ '4 '0 4. 4. 49/' 5(6(75/'5$0RQO\ 6HULHV)3*$ 8*BFBB 図 3-37 : RLDRAM II/RLDRAM 3 イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンの概略ブ ロ ッ ク図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 354 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アは次の要素で構成 さ れてい ます (図 3-38)。 • ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス • メ モ リ コ ン ト ローラー • 物理 イ ン タ ーフ ェ イ ス • 読み出 し パ ス • 書 き 込みパ ス X-Ref Target - Figure 3-38 &OLHQW,QWHUIDFH 3K\VLFDO,QWHUIDFH FON V\VBUVW XVHUBFPGBHQ XVHUBUGBFPG XVHUBDGGU XVHUBED XVHUBZUBHQ XVHUBZUBGDWD XVHUBZUBGP 8VHU'HVLJQ ,QIUDVWUXFWXUH 8VHU,QWHUIDFH 0HPRU\&RQWUROOHU XVHUBDILIRBHPSW\ XVHUBDILIRBDHPSW\ UOGBD 5/'5$0,, 5/'5$0'HYLFH UOGBED UOGBGP XVHUBDILIRBIXOO XVHUBDILIRBDIXOO XVHUBZGILIRBHPSW\ XVHUBZGILIRBDHPSW\ XVHUBZGILIRBIXOO XVHUBZGILIRBDIXOO UOGBFNBS UOGBFNBQ UOGBGNBS UOGBGNBQ UOGBFVBQ UOGBZHBQ UOGBUHIBQ UOGBGT :ULWH3DWK E\WHBODQHB PDSSLQJ PFBSK\ UOGBTNBS UOGBTNBQ UOGBTYOG UOGBUHVHWBQ XVHUBUGBYDOLG XVHUBUGBGDWD LQLWBFDOLEBFRPSOHWH 5HDG3DWK UOGBSK\BWRS 8*BFBB 図 3-38 : RLDRAM II/RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンの構成 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス (ユーザー イ ン タ ーフ ェ イ ス と も 呼ぶ) は、完全に SDR 信号ベース のシ ンプルなプ ロ ト コ ルを用いて読み出 し お よ び書 き 込み要求を生成 し ます。 こ のプ ロ ト コ ルの詳細は、 「 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス」 を参照 し て く だ さ い。 メ モ リ コ ン ト ロ ー ラ ーはユーザー イ ン タ ーフ ェ イ ス か ら コ マ ン ド を受け取 り 、RLDRAM II/RLDRAM 3 デバ イ ス のプ ロ ト コ ル要件を満た し ます。 詳細は、 367 ページの 「 メ モ リ コ ン ト ロ ー ラ ー」 を参照 し て く だ さ い。 物理 イ ン タ ーフ ェ イ ス は、 RLDRAM II/RLDRAM 3 プ ロ ト コ ル と タ イ ミ ン グ要件を満た し なが ら 外部 メ モ リ デバ イ ス と 通信で き る よ う に、 適切な タ イ ミ ン グ関係 と DDR 信号を生成 し ます。 詳細は、 365 ページの 「物理 イ ン タ ーフ ェ イ ス」 を参照 し て く だ さ い。 PHY の ロ ジ ッ ク は、 読み出 し パ ス と 書 き 込みパ ス に分割 さ れてい ます。 書 き 込みパ ス は、 読み出 し /書 き 込み要求の 生成に必要な RLDRAM II/RLDRAM 3 信号を生成 し ます。 こ れには、 ク ロ ッ キ ン グ、 制御信号、 ア ド レ ス、 デー タ 、 デー タ マ ス ク 信号が含まれます。 読み出 し パス にはキ ャ リ ブ レーシ ョ ンの役割 も あ り 、 読み出 し 応答を Valid 信号 と 共に返 し ます。 こ のプ ロ セ ス の詳細は、 373 ページの 「キ ャ リ ブ レーシ ョ ン」 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 355 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ク ラ イアン ト イ ン ターフ ェ イス ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス は 7 シ リ ーズ FPGA のユーザー デザ イ ン を RLDRAM II/RLDRAM 3 メ モ リ ソ リ ュ ー シ ョ ン コ アに接続 し 、 ユーザー と 外部 メ モ リ デバ イ ス間のや り と り を簡略化 し ます。 コ マ ン ド 要求信号 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス には、 メ モ リ デバ イ ス に対す る 読み出 し /書 き 込み コ マ ン ド を発行す る ための信号が あ り ます。 表 3-9 に、 こ れ ら の信号を ま と め ます。 表 3-9 : ク ラ イ ア ン ト イ ン タ ー フ ェ イ スの要求信号 信号 方向 説明 user_cmd_en 入力 コ マ ン ド イ ネーブルです。 読み出 し ま たは書 き 込 み要求を発行 し 、 対応す る コ マ ン ド 信号が有効で あ る こ と を示 し ます。 user_cmd[2 × CMD_PER_CLK – 1:0] 入力 コ マ ン ド です。 読み出 し 、 書 き 込み、 ま たは NOP 要求を発行 し ます。user_cmd_en がアサー ト さ れ る と 次の よ う にな り ます。 2'b00 : 書き 込みコ マ ン ド 2'b01 : 読み出 し コ マ ン ド 2'b10 : NOP 2'b11 : NOP ク ロ ッ ク サ イ ク ル ご と に複数の コ マ ン ド を メ モ リ コ ン ト ロ ー ラ ーへ提供す る 必要があ る が、 すべ ての コ マ ン ド ス ロ ッ ト が必要ではない場合、 NOP コ マ ン ド が有用です。 メ モ リ コ ン ト ロ ー ラ ーは、 その他の コ マ ン ド に対応 し て NOP は無視 し ます。 CMD_PER_CLK が 1 の場合 NOP はサポー ト さ れ ま せん。 CMD_PER_CLK は、 FPGA ロ ジ ッ ク ク ロ ッ ク サ イ ク ル ご と に コ ン ト ロ ー ラ ーへ与え ら れ る メ モ リ コ マ ン ド 数 を 決定す る 最上位のパ ラ メ ー タ ーで、 nCK_PER_CLK お よ びバース ト 長に 依存 し ます (図 3-39)。 user_addr[CMD_PER_CLK × ADDR_WIDTH – 1:0] 入力 コ マ ン ド ア ド レ ス です。 コ マ ン ド 要求に使用す る ア ド レ ス を表 し ます。user_cmd_en がアサー ト さ れ る と 有効にな り ます。 user_ba[CMD_PER_CLK × BANK_WIDTH – 1:0] 入力 コ マ ン ド バン ク ア ド レ ス です。書 き 込み要求に使 用する ア ド レ ス を表 し ます。user_cmd_en がアサー ト さ れ る と 有効にな り ます。 user_wr_en 入力 書き 込みデー タ イ ネーブルです。 書 き 込みデー タ お よ びデー タ マ ス ク を 発行 し ま す。 対応す る user_wr_* 信号が有効であ る こ と を示 し ます。 user_wr_data[2 × nCK_PER_CLK × DATA_WIDTH – 1:0] 入力 書 き 込みデー タ です。 書 き 込み要求に使用す る デー タ で、 結合 さ れ る 立ち上が り お よ び立ち下が り デー タ で構成 さ れ ます。 user_wr_en がアサー ト さ れ る と 有効にな り ます。 user_wr_dm[2 × nCK_PER_CLK × DM_WIDTH – 1:0] 入力 書き 込みデー タ のマ ス ク です。ア ク テ ィ ブ High の 場合、 選択 し たデバ イ ス の書 き 込みデー タ がマ ス ク さ れ、 メ モ リ に書 き 込 ま れ ま せん。 user_wr_en がアサー ト さ れ る と 有効にな り ます。 user_afifo_empty 出力 ア ド レ ス FIFO Empty です。 アサー ト さ れた場合、 コ マ ン ド バ ッ フ ァ ーが空であ る こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 356 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-9 : ク ラ イ ア ン ト イ ン タ ー フ ェ イ スの要求信号 (続き) 信号 方向 説明 user_wdfifo_empty 出力 書き 込みデー タ FIFO Empty です。アサー ト さ れた 場合、 書き 込みデー タ バ ッ フ ァ ーが空であ る こ と を示 し ます。 user_afifo_full 出力 ア ド レ ス FIFO Full です。 アサー ト さ れた場合、 コ マ ン ド バ ッ フ ァ ーが フルであ る こ と を示 し 、 デ ィ アサー ト さ れ る ま で FIFO への書 き 込みが無視 さ れます。 user_wdfifo_full 出力 書き 込みデー タ FIFO Full です。アサー ト さ れた場 合、 書き 込みデー タ バ ッ フ ァ ーが フルであ る こ と を示 し 、 デ ィ アサー ト さ れ る ま で FIFO への書 き 込みが無視 さ れます。 user_afifo_aempty 出力 ア ド レ ス FIFO Almost Empty です。 アサー ト さ れ た場合、 コ マ ン ド バ ッ フ ァ ーがほぼ空であ る こ と を示 し ます。 user_afifo_afull 出力 ア ド レ ス FIFO Almost Full です。 アサー ト さ れた 場合、 コ マ ン ド バ ッ フ ァ ーがほぼフルであ る こ と を示 し ます。 user_wdfifo_aempty 出力 書 き 込みデー タ FIFO Almost Empty です。 アサー ト さ れた場合、 書き 込みデー タ バ ッ フ ァ ーがほぼ 空であ る こ と を示 し ます。 user_wdfifo_afull 出力 Write Data FIFO Almost Full。アサー ト さ れ る と 、書 き 込みデー タ バ ッ フ ァ ーはほぼフルです。 user_rd_valid[nCK_PER_CLK – 1:0] 出力 読み出 し 有効です。 メ モ リ か ら 読み出 し たデー タ が user_rd_data で有効で、サンプ リ ン グ可能にな っ た こ と を示 し ます。 user_rd_data[2 × nCK_PER_CLK × DATA_WIDTH – 1:0] 出力 読み出 し デー タ です。 読み出 し コ マ ン ド か ら 読み 出 し たデー タ です。 init_calib_complete 出力 キ ャ リ ブ レーシ ョ ン完了です。 読み出 し キ ャ リ ブ レ ー シ ョ ン が完了 し 、 要求 を 実行で き る 状態に な っ た こ と をユーザー デザ イ ンに応答 し ます。 mem_ck_lock_complete 出力 メ モ リ ク ロ ッ ク の ロ ッ ク 完了です。 メ モ リ へ駆動 さ れ る ク ロ ッ ク の ノ イ ズ が 最小 と な る よ う に、 mem_ck_lock_complete がアサー ト さ れ る ま でシ ス テ ム を ノ イ ズがない状態に保つ必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 357 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ク ラ イ ア ン ト イ ン タ ー フ ェ イ ス を介 し た コ ア と のイ ン タ ー フ ェ イ ス 特定の ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス信号の幅は、 シ ス テ ム ク ロ ッ ク 周波数お よ びバース ト 長に依存 し ます。 その ため、 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス は コ ン フ ィ ギ ュ レーシ ョ ンの要件に応 じ て FPGA ロ ジ ッ ク の ク ロ ッ ク サ イ ク ルご と に複数の コ マ ン ド を送信で き ます。 図 3-39 は user_cmd 信号を示 し 、 コ ン フ ィ ギ ュ レーシ ョ ンに応 じ て こ の信号が ど の よ う に複数の コ マ ン ド で構成 さ れ る か を表 し てい ます。 X-Ref Target - Figure 3-39 )DEULFFORFN WK UG QG VW 5/'5$0,,,%/ XVHUBFPG ^` ^` 5/'5$0,,,%/ XVHUBFPG ^` ^` 5/'5$0,,,%/ 5/'5$0,,%/ %/ XVHUBFPG ; 図 3-39 : user_cmd 信号の複数のコ マ ン ド 図 3-39 に示す よ う に、 BL2 の場合、 1 つのユーザー イ ン タ ーフ ェ イ ス ク ロ ッ ク サ イ ク ルに 4 つの コ マ ン ド ス ロ ッ ト が現れます。 同様に、 BL4 の場合、 1 つのユーザー イ ン タ ーフ ェ イ ス ク ロ ッ ク サ イ ク ルに 2 つの コ マ ン ド ス ロ ッ ト が現れます。 こ れ ら の コ マ ン ド は順次実行 さ れ、 読み出 し コ マ ン ド に対する リ タ ーン デー タ は同 じ シーケ ン ス でユー ザー イ ン タ ーフ ェ イ ス に現れます。読み出 し デー タ は、 読み出 し コ マ ン ド と 同 じ ス ロ ッ ト に現れない場合があ る こ と に注意 し て く だ さ い。 読み出 し デー タ の ス ロ ッ ト は、 コ ン ト ロ ー ラ ー と その コ マ ン ド ス ロ ッ ト の タ イ ミ ン グ要件に よ っ て決定 し ます。 例 と し て、 次の BL2 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を使用 し て説明 し ます。 一定のユーザー イ ン タ ーフ ェ イ ス サ イ ク ル間、 ユーザー イ ン タ ーフ ェ イ ス に次の コ マ ン ド セ ッ ト が現れ る こ と を仮 定 し ます。 表 3-10 : ユーザー イ ン タ ー フ ェ イ ス サイ クルの コ マ ン ド セ ッ ト スロ ッ ト コマン ド 0 RD0 1 NOP 2 RD1 3 NOP 読み出 し デー タ は、 {DATA0, NOP, DATA1, NOP} の順序で現れ る と は限 り ません。 {NOP, DATA0, NOP, DATA1} ま た は {NOP, NOP, DATA0, DATA1} な ど の順序で現れ る 可能性 も あ り ます。 いずれの場合 も 、 コ マ ン ド シーケ ン ス はその ま ま です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 358 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 3-40 に、 RLDRAM II の 4 ワー ド バース ト アーキ テ ク チ ャ に対応す る ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス プ ロ ト コ ル を示 し ます。 X-Ref Target - Figure 3-40 &/. XVHUBFPGBHQ XVHUBFPG :ULWH :ULWH 5HDG :ULWH XVHUBDGGU $ $ $ $ %$ %$ %$ %$ XVHUBED XVHUBZUBHQ XVHUBZUBGDWD ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` XVHUBZUBGP ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` 8*BFBB 図 3-40 : RLDRAM II ク ラ イ ア ン ト イ ン タ ー フ ェ イ ス プ ロ ト コ ル (4 ワー ド バース ト アーキテ ク チ ャ ) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 359 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 3-41 に、 RLDRAM 3 の 4 ワ ー ド バース ト アーキ テ ク チ ャ に対応す る ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス プ ロ ト コ ル を示 し ます。 X-Ref Target - Figure 3-41 &/. XVHUBFPGBHQ XVHUBFPG ^ZULWH ZULWH` ^UHDG UHDG` ^123 UHDG` ^UHDG 123` ^ZULWH 123` ^123 ZULWH` XVHUBDGGU ^$$` ^$$` ^123 $` ^$ 123` ^$ 123` ^123 $` ^%$ %$` ^%$ %$` ^123 %$` ^%$ 123` ^%$ 123` ^123 $` XVHUBED XVHUBZUBHQ XVHUBZUBGDWD XVHUBZUBGP ^IDOO ULVH IDOO ULVH IDOO ULVH IDOO ULVH` ^IDOO ULVH IDOO ULVH 123 123 123 123` ^IDOO ULVH IDOO ULVH IDOO ULVH IDOO ULVH` ^IDOO ULVH IDOO ULVH 123 123 123 123` ^123 123 123 123 IDOO ULVH IDOO ULVH` ^123 123 123 123 IDOO ULVH IDOO ULVH` ^123 123 123 123 IDOO ULVH IDOO ULVH` ^123 123 123 123 IDOO ULVH IDOO ULVH` XVHUBDILIRBIXOO XVHUBZGILIRBIXOO ; 図 3-41 : RLDRAM 3 ク ラ イ ア ン ト イ ン タ ー フ ェ イ ス プ ロ ト コル (4 ワー ド バース ト アーキテ ク チ ャ ) 要 求 が 受 け 入 れ 可 能 と な る 前 に、 ui_clk_sync_rst 信号 を Low に デ ィ ア サ ー ト す る 必要 が あ り ま す。 ui_clk_sync_rst 信号のデ ィ アサー ト 後、ユーザー イ ン タ ーフ ェ イ ス FIFO は コ マ ン ド お よ びデー タ を受信 し 格納 で き る よ う にな り ます。 メ モ リ の初期化プ ロ セ スお よ び PHY のキ ャ リ ブ レーシ ョ ンが完了する と 、 init_calib_complete 信号がアサー ト さ れ、 コ アは ク ラ イ ア ン ト 要求の処理を開始で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 360 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン user_cmd_en を 1 サ イ ク ル パル ス と し て ア サー ト す る と コ マ ン ド 要求が発行 さ れ ま す。 こ の と き 、 user_cmd、 user_addr、user_ba 信号がいずれ も 有効であ る 必要があ り ます。読み出 し 要求を発行す る には user_cmd を 2'b01 に、 書 き 込み要求を発行す る には user_cmd を 2'b00 に設定 し ます。 書 き 込み要求では、 user_wr_en 信号を High に ア サー ト す る こ と で、 コ マ ン ド と 同 じ サ イ ク ルでデー タ が発行 さ れ、 有効 な デー タ が user_wr_data お よ び user_wr_dm に現れます。 重要 : 同 じ user_cmd サ イ ク ル内での書 き 込み コ マ ン ド と 読み出 し コ マ ン ド の両方は発行で き ません。 RLDRAM II お よ び 8 ワ ー ド バース ト アーキ テ ク チ ャ の場合、書 き 込み コ マ ン ド に対 し てデー タ サ イ ク ルを追加す る 必要があ り ます (図 3-42)。 コ マ ン ド フ ロ ーのギ ャ ッ プは必要に応 じ て読み出 し コ マ ン ド で埋め る こ と がで き ます。 X-Ref Target - Figure 3-42 &/. XVHUBFPGBHQ XVHUBFPG VW:ULWH 5HDG QG:ULWH UG:ULWH XVHUBDGGU $ $ $ $ %$ %$ %$ %$ XVHUBED XVHUBZUBHQ XVHUBZUBGDWD ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` XVHUBZUBGP ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` 'DWDIRU VW:ULWH 'DWDIRU QG:ULWH 'DWDIRU UG:ULWH 8*BFBB 図 3-42 : RLDRAM II ク ラ イ ア ン ト イ ン タ ー フ ェ イ ス プ ロ ト コ ル (8 ワー ド バース ト アーキテ ク チ ャ ) 図 3-43 に、 RLDRAM 3 の 8 ワ ー ド バース ト アーキ テ ク チ ャ に対応す る ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス プ ロ ト コ ル を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 361 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-43 &/. XVHUBFPGBHQ XVHUBFPG ZULWH ZULWH UHDG ZULWH UHDG UHDG XVHUBDGGU $ $ $ $ $ $ %$ %$ %$ %$ %$ %$ ^IDOO ULVH IDOO ULVH IDOO ULVH IDOO ULVH` ^IDOO ULVH IDOO ULVH IDOO ULVH IDOO ULVH` ^IDOO ULVH IDOO ULVH IDOO ULVH IDOO ULVH` ^IDOO ULVH IDOO ULVH IDOO ULVH IDOO ULVH` ^IDOO ULVH IDOO ULVH IDOO ULVH IDOO ULVH` ^IDOO ULVH IDOO ULVH IDOO ULVH IDOO ULVH` XVHUBED XVHUBZUBHQ XVHUBZUBGDWD XVHUBZUBGP XVHUBDILIRBIXOO XVHUBZGILIRBIXOO ; 図 3-43 : RLDRAM 3 ク ラ イ ア ン ト イ ン タ ー フ ェ イ ス プ ロ ト コル (8 ワー ド バース ト アーキテ ク チ ャ ) 読み出 し コ マ ン ド が し ば ら く し て発行 さ れ る と (シ ス テ ム の コ ン フ ィ ギ ュ レ ーシ ョ ンお よ び レ イ テ ン シ に基づ く )、 user_rd_valid[0] 信号がアサー ト さ れて user_rd_data が有効であ る こ と を示 し ますが、user_rd_valid[1] が ア サー ト さ れ た 場合は user_rd_data が有効で あ る こ と を 示 し ま す (図 3-44)。 コ ア は返 さ れ た デー タ を バ ッ フ ァ ー し ない ため、 user_rd_valid[0] お よ び user_rd_valid[1] が ア サー ト さ れてい る サ イ ク ルで読み出 し デー タ をサンプ リ ン グす る 必要があ り ます。 必要に応 じ て こ の機能を追加で き ます。 user_rd_valid 信号がすべて一緒にアサー ト さ れて最大幅のデー タ が返 さ れ る よ う に、 メ モ リ コ ン ト ロ ー ラ ーは コ マ ン ド を PHY への特定の ス ロ ッ ト に し か与え ませんが、 コ ン ト ロ ー ラ ーの変更に備え て追加の user_rd_valid 信号が提供 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 362 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-44 &/. XVHUBUGBYDOLG>@ XVHUBUGBYDOLG>@ XVHUBUGBGDWD ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^IDOOULVHIDOOULVH` ^'1&'1&IDOOULVH` ^IDOOULVH'1&'1&` 8*BFBB 図 3-44 : ク ラ イ ア ン ト イ ン タ ー フ ェ イ ス プ ロ ト コ ルの読み出 し デー タ ク ロ ッ キング アーキテ ク チ ャ PHY デザ イ ン では、 MMCM お よ び PLL モジ ュ ールを使用 し て さ ま ざ ま な ク ロ ッ ク を生成す る 必要があ り ま す。 ク ロ ッ ク をデザ イ ン全体に分配す る ために、 グ ロ ーバル ク ロ ッ ク ネ ッ ト ワー ク と ロ ーカル ク ロ ッ ク ネ ッ ト ワー ク の両 方を使用 し ます。 ク ロ ッ ク の生成お よ び分配回路 と ネ ッ ト ワ ー ク は PHY 内部のブ ロ ッ ク を駆動 し ま す。 こ れ ら のブ ロ ッ ク は、 次の 4 つの機能に大別 さ れます。 • 内部 FPGA ロ ジ ッ ク • 書 き 込みパ ス (出力) ロ ジ ッ ク • 読み出 し パ ス (入力) お よ び遅延 ロ ジ ッ ク • IDELAY 基準 ク ロ ッ ク (200MHz) PHY には MMCM お よ び PLL がそれぞれ 1 つずつ必要です。 MMCM お よ び PLL は、 ほ と ん ど の内部 ロ ジ ッ ク 用の ク ロ ッ ク 、 PHASER への入力 ク ロ ッ ク 、 そ し てマルチ I/O バン ク イ ンプ リ メ ン テーシ ョ ン で複数の PHASER ブ ロ ッ ク の同期のために必要な同期パルス を生成 し ます。 PHASER ブ ロ ッ ク には、 メ モ リ 基準 ク ロ ッ ク 、 周波数基準 ク ロ ッ ク 、 位相基準 ク ロ ッ ク の 3 つを PLL か ら 供給 し ま す。 メ モ リ 基準 ク ロ ッ ク は、 RLDRAM II/RLDRAM 3 メ モ リ イ ン タ ーフ ェ イ ス ク ロ ッ ク と 同 じ 周波数であ る 必要があ り ます。 400MHz ~ 1,066MHz の周波数範囲要件を満たす よ う に、 周波数が 400MHz 以上の場合は周波数基準 ク ロ ッ ク が メ モ リ ク ロ ッ ク と 同 じ 周波数で動作 し 、 周波数が 400MHz 未満の場合は メ モ リ ク ロ ッ ク 周波数の 2 倍で動作す る 必要があ り ます。 位相基準 ク ロ ッ ク は読み出 し バン ク で使用 し ます。 こ の ク ロ ッ ク は内部配線 さ れた メ モ リ 読み出 し ク ロ ッ ク (QK/QK#) を使用 し て生成 さ れ、 PHASER ロ ジ ッ ク でデー タ キ ャ プチ ャ に使用 さ れ ます。 図 3-45 に、 ク ロ ッ キ ン グ アーキ テ ク チ ャ のブ ロ ッ ク 図を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 363 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-45 ,QWHUQDO)3*$/RJLF&ORFN 3+<B&ON &/.,1 &/.)%287 %8)* &/.)%,1 00&0 0+],'(/$< 5HIHUHQFH&ORFN ,&/. 3KDVHUB,1 &/.5() 1 567 ,'(/$<&75/ &/.5() 3 ,&/.',9 /2&.(' LGHOD\FWUOBUG\ ,%8)*'6 ,6(5'(626(5'(6 &RQQHFWLYLW\ &/.287 &/.287 6\VWHP&ORFN,QSXW3DLU &/.,1 3// /2&.(' 2&/. 3KDVHUB287 PHPBUHIFON &/.287 6<6&.1 6<6&.3 V\QFBSXOVH 2&/.',9 2&/.B'(/$<(' SOOBORFN ,%8)*'6 IUHTBUHIFON 567 6<6567 &/.287 ,%8) 3+<&RQWURO &/.,1 UHIBGOOBORFN 3+$6(5B5() 567 ; 図 3-45 : ク ロ ッ キング アーキテ ク チ ャ PLL 逓倍値 (M) お よ び分周値 (D) のデフ ォ ル ト 設定では、 シ ス テ ム ク ロ ッ ク 入力周波数が メ モ リ ク ロ ッ ク 周波数 と 同 じ にな っ てい ます。 こ の 1:1 の比率は必須ではあ り ません。 PLL 入力分周値 (D) は、 PLLE2 の動作条件が満た さ れ て適切な制約が適用 さ れてい る 限 り 、『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) [参照 1] に 記載 さ れてい る 値を使用で き ます。 PLL の乗算値 (M) は、 必ず 1 ~ 16 (1 と 16 を含む) か ら 選択 し ます。 PLL VCO の 周波数範囲は、 各デバ イ ス のデー タ シー ト に記載 さ れてい る 範囲内に し て く だ さ い。 sync_pulse は、 mem_refclk 周波 数の 1/16 で、 デ ュ ーテ ィ サ イ ク ルは 1/16 (6.25%) の必要があ り ます。 PLL お よ びシ ス テ ム ク ロ ッ ク CCIO 入力の物 理的配置情報は、 390 ページの 「設計ガ イ ド ラ イ ン」 を参照 し て く だ さ い。 PLL に よ っ て生成 さ れ る 内部 FPGA ロ ジ ッ ク ク ロ ッ ク は、 グ ロ ーバル ク ロ ッ キ ン グ リ ソ ース で RDRAM II メ モ リ の 半分の周波数、 お よ び RLDRAM 3 メ モ リ の 1/4 の周波数で ク ロ ッ キ ン グ さ れます。 IDELAYCTRL モジ ュ ールには 200MHz の IDELAY 基準 ク ロ ッ ク を供給す る 必要があ り ます。 こ のモジ ュ ールは、 環 境の変化に合わせて I/O 領域内の IDELAY エ レ メ ン ト のキ ャ リ ブ レ ーシ ョ ン を常時実行 し ま す。 IP コ アは、 外部 ク ロ ッ ク 信号 が IDELAYCTRL モジ ュ ールを駆動する こ と を前提 と し てい ます。 IDELAYCTRL 入力 ク ロ ッ ク を PLL ク ロ ッ ク で駆動す る 場合は、 PLL ロ ッ ク 信号を IODELAY_CTRL モジ ュ ール内の rst_tmp_idelay 信号に組み込む必 要があ り ます。 こ れに よ り 、 ク ロ ッ ク を使用前に安定 さ せ る こ と がで き ます。 表 3-11 に、 イ ン フ ラ ス ト ラ ク チ ャ モジ ュ ールで使用す る 信号を ま と め ます。 こ れ ら は、 デザ イ ンで必要な ク ロ ッ ク お よ び リ セ ッ ト 信号を供給 し ます。 表 3-11 : イ ン フ ラ ス ト ラ ク チ ャの ク ロ ッ キング/ リ セ ッ ト 信号 信号 方向 説明 mmcm_clk 入力 シ ス テ ム ク ロ ッ ク 入力です。 sys_rst 入力 ユーザー アプ リ ケーシ ョ ンか ら の コ ア リ セ ッ ト です。 iodelay_ctrl_rdy 入力 IDELAYCTRL ロ ッ ク ス テー タ ス です。 clk 出力 半分の周波数の FPGA ロ ジ ッ ク ク ロ ッ ク です。 mem_refclk 出力 メ モ リ ク ロ ッ ク と 同 じ 周波数の PLL 出力 ク ロ ッ ク です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 364 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-11 : イ ン フ ラ ス ト ラ ク チ ャの ク ロ ッ キング/ リ セ ッ ト 信号 (続き) 信号 方向 説明 freq_refclk 出力 PHASER の FREQREFCLK 入力 を 供給す る PLL 出力 ク ロ ッ ク で す。 周波数 が 400 ~ 1066MHz の範囲 と な る よ う に生成 さ れます。 sync_pulse 出力 mem_Refclk の 1/16 で生成 さ れ る PLL 出力です。 マルチバン ク イ ンプ リ メ ン テーシ ョ ンで 同期信号 と し て PHY ハー ド ブ ロ ッ ク に送信 さ れます。 pll_locked 出力 PLLE2_ADV か ら の ロ ッ ク 出力です。 rstdiv0 出力 内部 FPGA ロ ジ ッ ク の 1/2 周波数 ク ロ ッ ク に同期 し た リ セ ッ ト 出力です。 rst_phaser_ref 出力 物理層の PHASER の リ セ ッ ト です。 物理イ ン タ ー フ ェ イ ス 物理 イ ン タ ーフ ェ イ ス は、 FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン を外部 RLDRAM II/RLDRAM 3 デバ イ ス に接続す る 部分です。 表 3-12 に、 こ の イ ン タ ー フ ェ イ ス で使用 さ れ る I/O 信号 を 説明 し ま す。 こ れ ら の信号は、 RLDRAM II/RLDRAM 3 デバ イ ス の対応する 信号へ直接接続で き ます。 表 3-12 : 物理イ ン タ ー フ ェ イ スの信号 信号 方向 説明 rld_ck_p 出力 シ ス テ ム ク ロ ッ ク CK です。 メ モ リ デバ イ スへ供給 さ れ る ア ド レ ス/ コ マ ン ド ク ロ ッ ク です。 rld_ck_n 出力 シ ス テ ム ク ロ ッ ク CK# です。メ モ リ デバ イ スへ供給 さ れ る 反転シ ス テ ム ク ロ ッ ク です。 rld_dk_p 出力 書 き 込み ク ロ ッ ク DK です。 メ モ リ デバ イ スへ供給 さ れ る 書 き 込み ク ロ ッ ク です。 rld_dk_n 出力 書 き 込み ク ロ ッ ク DK# です。 メ モ リ デバ イ スへ供給 さ れ る 反転書 き 込み ク ロ ッ ク です。 rld_a 出力 ア ド レ ス です。 メ モ リ の操作で使用する ア ド レ ス です。 rld_ba 出力 バン ク ア ド レ ス です。 メ モ リ の操作で使用す る バン ク ア ド レ ス です。 rld_cs_n 出力 チ ッ プ セ レ ク ト CS# です。 メ モ リ のア ク テ ィ ブ Low のチ ッ プ セ レ ク ト 制御信号です。 rld_we_n 出力 書 き 込み イ ネーブル WE# です。 メ モ リ のア ク テ ィ ブ Low の書 き 込み イ ネーブル制御信 号です。 rld_ref_n 出力 リ フ レ ッ シ ュ REF# です。 メ モ リ のア ク テ ィ ブ Low の リ フ レ ッ シ ュ 制御信号です。 rld_dm 出力 デー タ マ ス ク DM です。 ア ク テ ィ ブ High のマ ス ク 信号です。 FPGA に よ っ て駆動 さ れ、 書 き 込み コ マ ン ド 中に メ モ リ へ書き 込みた く ないデー タ を マ ス ク し ます。 rld_dq 入力/出力 デー タ DQ です。 双方向デー タ ポー ト です。 書き 込みの場合は FPGA に よ っ て、 読み出 し の場合は メ モ リ に よ っ て駆動 さ れます。 rld_qk_p 入力 読み出 し ク ロ ッ ク QK です。 rld_dq の読み出 し デー タ に揃え ら れた メ モ リ エ ッ ジか ら 返 さ れ る 読み出 し ク ロ ッ ク です。 PHY は QK# と こ の ク ロ ッ ク を併用 し て rld_dq の読み出 し デー タ をサンプ リ ン グ し ます。 rld_qk_n 入力 読み出 し ク ロ ッ ク QK# です。 メ モ リ か ら 返 さ れ る 反転 し た読み出 し ク ロ ッ ク です。 PHY は QK と こ の ク ロ ッ ク を併用 し て rld_dq の読み出 し デー タ をサンプ リ ン グ し ます。 rld_reset_n 出力 RLDRAM 3 リ セ ッ ト です。 RLDRAM 3 デバ イ ス に対す る ア ク テ ィ ブ Low の リ セ ッ ト で す (RLDRAM II では使用 さ れない)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 365 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 3-46 に、 標準の RLDRAM II コ ン フ ィ ギ ュ レーシ ョ ン 3、 バース ト 長 4、 コ マ ン ド が コ ン ト ロ ー ラ ーか ら PHY へ送 信 さ れ る 場合の タ イ ミ ン グ図を示 し ます。 cal_done がアサー ト さ れた後、 コ ン ト ロ ー ラ ーは コ マ ン ド の発行を開始 し ます。cs0 お よ び we0 信号 (ref0 は Low に維持) がアサー ト さ れて addr0 お よ び ba0 が有効であ る こ と が確実に な る と 、 書 き 込み コ マ ン ド が 1 つ発行 さ れます。 こ れはバース ト 長 4 の コ ン フ ィ ギ ュ レーシ ョ ン であ る ため、 発行す る 必要があ る 2 番目の コ マ ン ド は No Operation (NOP) です。 すなわち、 すべての制御信号 (cs1、 we1、 ref1) が Low に維持 さ れます。 ク ロ ッ ク の 2 サ イ ク ル後、 wr_en0/1 信号がアサー ト さ れ、 書き 込みコ マ ン ド の wr_data0/1 お よ び wr_dm0/1 信 号が有効 と な り ます。 同一 ク ロ ッ ク サ イ ク ルで、 cs0 (we0 お よ び ref0 は Low に保持) がアサー ト さ れて関連す る ア ド レ ス が addr0 お よ び ba0 に配置 さ れ る と 、 読み出 し コ マ ン ド が 1 つ発行 さ れ ます。 cs0/1、 ref0/1、 お よ び ba0/1 がアサー ト さ れ る と 、 リ フ レ ッ シ ュ コ マ ン ド が 2 つ発行 さ れます。 こ れ ら の コ マ ン ド は、 メ モ リ のバン ク 規 則が満た さ れ る 限 り 、 同一 ク ロ ッ ク サ イ ク ルで発行で き ます。 X-Ref Target - Figure 3-46 :ULWH &RPPDQG 6ZLWFKWKHEXV 5HDG &RPPDQG 5HIUHVK &RPPDQG &/. PF BFV >@ PF BFV >@ PF BZH>@ PF BZH>@ PF BUHI >@ PF BUHI >@ PF BDGGU PF BED ^123 $` ^123 $` ^123 %$` ^123 %$` ^%$ %$` FORFNV PF BZU BHQ>@ FORFNV PF BZU BHQ>@ PF BZU BG DWD ^ZG ZG` PF BZU BG P ^ZBGP ZBGP` ,QLW BFDOLE B FRPSOHWH ; 図 3-46 : RLDRAM II バース ト 長 4、 コ ン フ ィ ギ ュ レーシ ョ ン 3、 ア ド レ ス マルチ プ レ ク スがオ フ の場合の PHY 専用イ ン タ ー フ ェ イス Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 366 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ ン ト ロ ー ラ ーは wr_en 信号お よ びデー タ を コ ン フ ィ ギ ュ レーシ ョ ン の設定に基づいて必要な時に送信 し ます。 そ の タ イ ミ ン グは コ ン フ ィ ギ ュ レーシ ョ ン に依存 し ます。 表 3-13 に、 コ ン フ ィ ギ ュ レーシ ョ ン に対 し てデー タ が有効 な場合に wr_en 信号がアサー ト さ れ る タ イ ミ ン グ を示 し ます。 ア ド レ ス マルチプ レ ク ス の使用時は、 PHY に よ っ て ア ド レ ス信号が再調整 さ れ、 ク ロ ッ ク の 1 サ イ ク ルではな く 2 サ イ ク ル以上出力 さ れます。 表 3-13 : RLDRAM II コ マ ン ド から ラ イ ト イ ネーブルま でのク ロ ッ ク数 ア ド レ ス マルチ プ レ ク ス コ ン フ ィ ギ ュ レーシ ョ ン ON OFF コ マ ン ド か ら ラ イ ト イ ネーブルま での ク ロ ッ ク 数 (ク ロ ッ ク サイ クル) 1 3 2 4 3 5 1 2 2 3 3 4 (1) 注記 : 1. 図 3-44 に示す と お り です。 wr_en 信号は、 最初の wr_en 信号がアサー ト さ れ る 前に ク ロ ッ ク の 1 サ イ ク ル間余分にアサー ト し 、 デ ィ アサー ト 後は ク ロ ッ ク の 1 サ イ ク ル間余分に維持す る 必要があ り ます。 こ れに よ り 、共有バ ス は読み出 し か ら 書き 込みへ/書 き 込みか ら 読み出 し へ と 変更す る 時間が与え ら れます。物理層には、書 き 込みか ら 読み出 し へ/読み出 し か ら 書 き 込みへ と 遷移す る 際に、 ク ロ ッ ク の 2 サ イ ク ル間の No Operation (NOP) が必要です。 こ の ク ロ ッ ク の 2 サ イ ク ルの要件は PCB に依存す る も ので、 ボー ド レ イ ア ウ ト に よ っ ては延長 し なければな ら ない場合があ り ます。 メ モ リ コ ン ト ロー ラ ー メ モ リ コ ン ト ロ ー ラ ーは RLDRAM II/RLDRAM 3 のア ク セ ス要件を適用 し 、 PHY と 接続 し ます。 ま た、 メ モ リ デバ イ スへ転送 さ れ る コ マ ン ド の順 と 同 じ 順で コ マ ン ド を処理 し ます。 メ モ リ コ ン ト ロ ー ラ ーはユーザー イ ン タ ーフ ェ イ ス か ら コ マ ン ド を受け取 り 、 その コ マ ン ド をす ぐ に処理で き る か、 ま たは待機す る 必要があ る か を判断 し ます。 すべての要件が満た さ れ る と 、 コ マ ン ド は PHY イ ン タ ーフ ェ イ スへ配 置 さ れます。 書 き 込み コ マ ン ド の場合、 コ ン ト ロ ー ラ ーはユーザー イ ン タ ーフ ェ イ ス向けに信号を生成 し て PHY へ 書 き 込みデー タ を提供 し ます。 こ の信号は、 コ マ ン ド と デー タ の適切な関連を確保す る ために、 メ モ リ コ ン フ ィ ギ ュ レーシ ョ ンに基づいて生成 さ れ る も のです。 オー ト リ フ レ ッ シ ュ コ マ ン ド は、 メ モ リ デバ イ ス の リ フ レ ッ シ ュ 要件 を満たすために コ ン ト ロ ー ラ ーに よ っ て コ マ ン ド フ ロ ー内に挿入 さ れます。 CIO デバ イ ス では、 デー タ バ スは読み出 し お よ び書 き 込みデー タ で共有 さ れます。 読み出 し コ マ ン ド か ら 書 き 込み コ マ ン ド (ま たはその逆) へ と 切 り 替え る と 、バ ス の変更が原因で コ マ ン ド ス ト リ ームにギ ャ ッ プが発生 し ます。 スルー プ ッ ト を向上 さ せ る には、 コ マ ン ド バス の変更を可能な限 り 最小限に抑え る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 367 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 3-47 に、 コ ン ト ロ ー ラ ーの ス テー ト マシ ン ロ ジ ッ ク を示 し ます。 X-Ref Target - Figure 3-47 UHIUBGRQH UHIUBGRQH FPGBHPSW\ &7/B35 2&B5() 5 FDOBGRQH &7/B,'/ ( UHIUBUHT UGBJUDQW>@__ZUBJUDQW>@ FPGBHPSW\__UHIUBUHT FPGBHPSW\ UHIUBGRQH FPGBHPSW\ UGBJUDQW>@__ZUBJUDQW>@ EDQNVBPDWFKBU>@ZUBWRBUGBU &7/B/2$ 'B&0' 25 UGBJUDQW>@ZUBJUDQW>@ &0'B3(5B&/.! QRSBUHT>@UGBJUDQW>@ ZUBJUDQW>@QRSBUHT>@ &7/B/2$ 'B&0' FPGBHPSW\ FPGBHPSW\ UGBJUDQW>@__ZUBJUDQW>@ EDQNVBPDWFKBU>@__ ZUBWRBUGBU UGBJUDQW>@__ ZUBJUDQW>@ EDQNVBPDWFKBU>@ __ZUBWRBUGBU &7/B35 2&B&0' &7/B35 2&B&0' UGBJUDQW>@__ ZUBJUDQW>@ FPGBHPSW\__ UHIUBUHT UGBJUDQW>@__ZUBJUDQW>@__ QRSBUHT>@ &7/B35 2&B/$6 7B&0' UGBJUDQW>@ ZUBJUDQW>@ QRSBUHT>@ 25 UGBJUDQW>@ZUBJUDQW>@ &0'B3(5B&/.! QRSBUHT>@UGBJUDQW>@ ZUBJUDQW>@QRSBUHT>@ UGBJUDQW>@ ZUBJUDQW>@ &0'B3(5B&/ . __ QRSBUHT>@ &7/B35 2&B/$6 7B&0' UGBJUDQW>@ ZUBJUDQW>@ UGBJUDQW>@__ZUBJUDQW>@ FPGBHPSW\ UHIUBUHT ; 図 3-47 : コ ン ト ロー ラ ーのス テー ト マシ ン ロ ジ ッ ク (CMD_PER_CLK == 1 または 2) PHY のアーキテ ク チ ャ PHY は専用のブ ロ ッ ク と ソ フ ト キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク で構成 さ れてい ます。 専用ブ ロ ッ ク は互いに隣接 し て 配置 さ れ、 高性能な物理層を構築す る ために必要な ク ロ ッ ク お よ びデー タ パス配線を最短に抑え る よ う 、 イ ン タ ー コ ネ ク ト で直接接続 さ れてい ます。 RLDRAM II/RLDRAM 3 PHY で使用 さ れてい る 主な専用ブ ロ ッ ク と その機能は次の と お り です。 • FPGA の各バン ク で利用可能な I/O は 4 つのバ イ ト グループに分け ら れ、 1 つのグループは最大 12 の I/O で構成 さ れてい ます。 • 各バ イ ト グループに PHASER_IN/PHASER_OUT ブ ロ ッ ク があ り 、 ク ロ ッ ク 位相を高精度で調整で き る複数段階の プ ロ グ ラ マブル遅延 ラ イ ン ループを形成し ます。PHASER に よ っ て生成 さ れる I/O バン ク 内の専用 ク ロ ッ ク 構造は バ イ ト グループ ク ロ ッ ク と 呼ばれ、 こ の ド ラ イ バーに よ っ て駆動 さ れる ロー ド 数を最小に抑え ます。 • OUT_FIFO と IN_FIFO は各バ イ ト グループが備え る 、 深 さ が 8 ま たは 4 の浅い FIFO で、 デー タ を FPGA ロ ジ ッ ク ド メ イ ン か ら I/O ク ロ ッ ク ド メ イ ンへ転送す る 役割を果た し ます。 OUT_FIFO は メ モ リ に送信す る 出力デー タ と ア ド レ ス/制御信号を格納す る ために使用 し 、 IN_FIFO はキ ャ プチ ャ し た読み出 し デー タ を FPGA ロ ジ ッ ク に転送す る 前に格納す る ために使用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 368 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ イ ン タ ーフ ェ イ ス信号をバ イ ト グループ内に配置する 際の規則については、 391 ページの 「ピ ン配置の要件」 で説明 し ます。 X-Ref Target - Figure 3-48 $GGUHVV&RQWUROEDQN ' ' 4 287B),)2V :5(1 UOGBFNFN UOGBFVBQ $''5&0' UOGBSK\BZULWHBWRS :&/. 5&/. 35(B),)2 5'(1 :5(1 &/. 5(6(7 5/'5$0,,5/'5$0,QWHUIDFH 2&/.',9 0(05()&/. 2/2*,& UVW )5(45()&/. 2&/. 3+$6(5B 287B3+< PFBFRPPDQGV UOGBZHBQ UOGBUHIBQ UOGBDED 3+<B&175/B %/2&. PFBDGGUHVVED DGGUHVVED PFBZUGDWDGP VWDWH ,2% FWO EXV 0(05()&/. FRPPDQGV 2/2*,& 26(5'(6 ZUGDWDGP V WDWH :ULWH5HDGGDWDEDQN 4 ' ' 287B),)2V UOGBGT 5&/. :&/. 35(B),)2 5'(1 :5(1 &/. 5(6(7 :5(1 ,QLWLDOL]DWLRQ DQGFDOLEUDWLRQ FRPPDQG VHTXHQFHU :ULWH&DOLEUDWLRQ UOGBGP 2&/.',9 2/2*,& UVW 0(05()&/. 3+$6(5B 287B3+< )5(45()&/. SK\BUHDGBWRS ,2% UOGBGNGN 2&/. UOGBTNTN 2&/.'(/$<(' FWO EXV 0(05()&/. 5HDGOHYHOLQJ VWDJH 3+<B&175/ %/2&. XVHUBUGBYDOLG 4 ' ,1B),)2V 5'(1 5&/. &/. 3267B),)2 5'(1 :&/. 4 6WDJHFDOLEUDWLRQ DQGGDWDYDOLG VLJQDOJHQHUDWLRQ 5(6(7 XVHUBUGBGDWD 2/2*,& 26(5'(6 ' :5(1 ,/2*,& ,'(/$< ,6(5'(6 ,&/.',9 0(05()&/. ,/2*,& UVW )5(45()&/. ,&/. &/. 3+$6(5()&/. 3+$6(5B,1 6\QFBLQ 6\VWHP5HVHW &ORFNDQG5HVHW *HQHUDWLRQEORFN 3K\BFON %8)05V 0(0B5()&/. )5(4%% 6\VWHP&ORFN )5(4B5()&/. 1RWH%8)05LVRQO\XVHGLQ5/'5$0,, 8*BFBB 図 3-48 : RLDRAM II/RLDRAM 3 イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンの PHY の概略ブ ロ ッ ク図 注記 : MIG 7 Series RLDRAM II/RLDRAM 3 コ アの全体的な読み出 し レ イ テ ン シは、 メ モ リ コ ン ト ロ ー ラ ーの設定に 依存 し ますが、 最 も 大 き な影響を与え る のは、 タ ーゲ ッ ト の ト ラ フ ィ ッ ク /ア ク セ ス パ タ ーン、 お よ び読み出 し コ マ ン ド が発行 さ れ る 前にパ イ プ ラ イ ン上に存在す る コ マ ン ド 数です。 読み出 し レ イ テ ン シは、 ユーザーま たはネ イ テ ィ ブ イ ン タ ーフ ェ イ ス が読み出 し コ マ ン ド を受信 し た時点か ら 測定 さ れます。 読み出 し レ イ テ ン シ を解析する には、 シ ミ ュ レーシ ョ ン を実行 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 369 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 書き込みパス RLDRAM II/RLDRAM 3 への書 き 込みパ ス には、 メ モ リ の操作に必要な ア ド レ ス信号、 デー タ 信号、 制御信号が含ま れ ま す。 rld_a お よ び rld_ba ア ド レ ス を含む メ モ リ への制御 ス ト ロ ーブ (rld_cs_n、 rld_we_n、 rld_ref_n、 rld_reset_n (RLDRAM 3 のみ)) はいずれ も SDR フ ォーマ ッ ト を使用 し ます。書 き 込みデー タ の値 (rld_dq お よ び rld_dm) は、 必要な 2/4/8 ワ ー ド バース ト を ク ロ ッ ク 周期内で実現す る ために DDR フ ォーマ ッ ト を使用 し ます。 出力アーキテ ク チ ャ RLDRAM II/RLDRAM 3 イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン の出力パ ス は、 7 シ リ ーズ FPGA が備え る OUT_FIFO、 PHASER_OUT_PHY、 PHY_CNTRL、 お よ び OSERDES プ リ ミ テ ィ ブ を使用 し ます。 こ れ ら のブ ロ ッ ク は、 メ モ リ デ バ イ スへのすべての PHY 出力を ク ロ ッ キ ン グする 目的で使用 し ます。 PHASER_OUT_PHY は、 メ モ リ へ の 出 力 に 必要 な ク ロ ッ ク を 供給 し ま す。 各 バ イ ト グ ル ー プ の OUT_FIFO と OSERDES/ODDR に同期 ク ロ ッ ク を供給 し ます。PHASER_OUT_PHY は、それぞれのバ イ ト グループのバ イ ト ク ロ ッ ク (OCLK)、 分周バ イ ト ク ロ ッ ク (OCLKDIV)、 遅延バ イ ト ク ロ ッ ク (OCLK_DELAYED) を 生成 し ま す。 バ イ ト ク ロ ッ ク (OCLK) は メ モ リ イ ン タ ーフ ェ イ ス ク ロ ッ ク と 同 じ 周波数で、 分周バ イ ト ク ロ ッ ク (OCLKDIV) は メ モ リ イ ン タ ーフ ェ イ ス ク ロ ッ ク の半分の周波数です。 バ イ ト ク ロ ッ ク (OCLK) を使用 し て、 書 き 込みデー タ (DQ)、 デー タ マ ス ク (DM)、 ア ド レ ス、 制御、 お よ びシ ス テ ム ク ロ ッ ク (CK/CK#) の信号を OSERDES/ODDR か ら メ モ リ へ ク ロ ッ キ ン グ し ます。 PHASER_OUT_PHY か ら 出力 さ れ る OCLK_DELAYED はバ イ ト ク ロ ッ ク (OCLK) に対 し て位相シ フ ト し た調整可能な出力で、 メ モ リ への書 き 込み ク ロ ッ ク (DK/DK#) の生成に使用 さ れます。 図 3-49 に、 複数の ク ロ ッ ク のア ラ イ メ ン ト を示 し 、 こ れ ら が信号揃えに ど の よ う に使用 さ れてい る か を示 し ます。 X-Ref Target - Figure 3-49 2&/. 2&/.B'(/$<(' 26(5'(6RXWSXW FORFNHGZLWK2&/. VKLIWHG2&/. $GGUHVV &RQWURO %\WH/DQH &.&. $GGUHVV &RQWURO 2&/.B'(/$<(' 'DWD%\WH /DQH '.'. :ULWH'DWD '0 8*BFBB 図 3-49 : 書き込みパス出力のア ラ イ メ ン ト Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 370 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン OCLK_DELAYED は、 DDR 書 き 込みデー タ に対 し て中央揃えの ク ロ ッ ク を生成 し ますが、 SDR ア ド レ ス/制御信号に 対 し ては理想的な ア ラ イ メ ン ト を生成 し ません。 こ のため、 OCLK を使用 し て CK/CK# を生成 し 、 メ モ リ ク ロ ッ ク CK お よ び書 き 込み ク ロ ッ ク DK を正 し く 揃え る ため、 書 き 込みデー タ パ ス に対 し て キ ャ リ ブ レーシ ョ ン を実行す る 必要があ る か ど う かに よ っ て、 ア ド レ ス/制御のバ イ ト レーン ま たはデー タ バ イ ト レーンのいずれかがシ フ ト さ れま す。 特 定 の 周 波 数 に つ い て、 正 し く 書 き 込み動作 が 行 わ れ る よ う に ワ ン タ イ ム キ ャ リ ブ レーシ ョ ンが OCLK_DELAYED に対 し て実行 さ れます。 詳細は、 「キ ャ リ ブ レーシ ョ ン」 を参照 し て く だ さ い。 OUT_FIFO は書 き 込みデー タ を FPGA ロ ジ ッ ク ド メ イ ンか ら PHASER ク ロ ッ ク ド メ イ ンへ変換す る 一時バ ッ フ ァ ー と し て機能 し 、 I/O ロ ジ ッ ク か ら の出力デー タ を ク ロ ッ ク で出力 し ます。 OUT_FIFO は非同期モー ド で動作 し 、 読み 出 し お よ び書 き 込み ク ロ ッ ク は未定義の位相に も かかわ ら ず同一周波数で動作 し ます。 OUT_FIFO か ら のデー タ フ ロ ーが ス ト ール し て し ま う 可能性があ り ますが、 浅い同期 PRE_FIFO は、 OUT_FIFO か ら フ ラ グがアサー ト さ れ る 際 に FPGA ロ ジ ッ ク か ら 出力 さ れ る 連続デー タ を用いて OUT_FIFO を駆動 し ます。OUT_FIFO お よ び OSERDES の操作 に必要な ク ロ ッ ク はPHASER_OUT_PHY か ら 供給 さ れます。 図 3-50 に、PPHASER_OUT_PHY を使用 し た書 き 込みパ ス の ク ロ ッ キ ン グの詳細を示 し ます。PHY 制御ブ ロ ッ ク を用 いて、 イ ン タ ーフ ェ イ ス で使用 さ れ る すべての PHASER_OUT_PHY ブ ロ ッ ク が正確に開始する よ う に し 、 RLDRAM 3 動作の ト ラ イ ス テー ト タ イ ミ ン グ を制御 し ます。 X-Ref Target - Figure 3-50 4 2XWSXWGDWDWRDE\WHJURXS ' 35(B),)2 :ULWHBHQDEOHIURP)3*$ORJLF :5(1 &/. '>@ '>@ '>@ '>@ '>@ '>@ '>@ '>@ '>@ '>@ :5(1 4>@ 4>@ 4>@ 4>@ 4>@ 4>@ 4>@ 4>@ 4>@ 4>@ 567 287B),)2 26(5'(623WRPHPRU\ UOGLLBGTUOGLLBGP 5'&/. 2IBIXOO )5( 4%% 3K\BFON 5'(1 :5&/. )8// 2/2*,& 26(5'(6 2''5 :ULWHFORFNVWRPHPRU\ UOGLLBGNUOGLLBGN 2IBUGBHQ )URP3// )URP3// )URP,QLWLDOL]DWLRQ/RJLF )URP,QLWLDOL]DWLRQ/RJLF 26(5'(6567 5'(1$%/( 2&/.',9 2&/. 0(05()&/. )5(45()&/. ),1((1$%/( ),1(,1& 3+$6(5B287B3+< 2&/.'(/$<(' %85673(1',1*3+< UVW 567 &/.,1 567 3:5':1 7R)URP,QLWLDOL]DWLRQ/RJLF )URP3// /2&.(' 3+$6(5B5() 5(6(7 5()'///2&. 3+<&7/$/0267)8// 287%85673(1',1* 3+<&7/)8// 3+<&7/0675(037< 3+<&7/5($'< 0(05()&/. 3+<B&21752/ 3+<&/. 3+<&7/:' 3+<&7/(037< 3+<&7/:5(1$%/( 3///2&. 6<1&,1 )URP0DVWHUSK\BFRQWURO 7RRWKHUSK\BFRQWUROEORFNV 図 3-50 : RLDRAM II イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンの書き込みパスのブ ロ ッ ク 図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 371 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン OSERDES ブ ロ ッ ク はすべての I/O にあ り 、 メ モ リ デバ イ ス と の通信に必要な ク ロ ッ ク 、 ア ド レ ス、 デー タ 、 お よ び 制御信号の生成を簡潔にす る 役割を果た し ます。 OSERDES の フ ロ ーでは 2 つの異な る 入力 ク ロ ッ ク を使用 し て こ の 機能を実現 し ます。 デー タ 入力ポー ト D1/D2 ま たは D3/D4 のデー タ は CLKDIV 入力ポー ト に供給 さ れ る ク ロ ッ ク で 入力 さ れ、 パ ラ レル-シ リ アル変換ブ ロ ッ ク を通過 し ます。 PHY か ら メ モ リ デバ イ スへの出力はすべて OSERDES を 使用 し て 駆動 し ま す。 OSERDES か ら 出力 さ れ た 信号はすべて、 生成 し た ク ロ ッ ク ( ア ド レ ス/制御信号の場合は CK/CK#、デー タ お よ びデー タ マ ス ク の場合は DK/DK#) に対 し て中央に揃え る 必要があ り ます。 こ のため、OSERDES と PHASER_OUT_PHY ブ ロ ッ ク を組み合わせて使用する こ と で こ のア ラ イ メ ン ト を実現 し てい ます。 読み出 し パス 読み出 し パ ス は メ モ リ か ら 供給 さ れた読み出 し ク ロ ッ ク を使用 し てデー タ キ ャ プチ ャ を実行する と 共に、読み出 し ク ロ ッ ク をデー タ ウ ィ ン ド ウ の中央に位置 さ せてデー タ キ ャ プチ ャ 時に十分な マージ ン を確保す る 役割 を果た し ま す。 読み出 し を実行す る 前には、 キ ャ リ ブ レーシ ョ ンが必要です。 キ ャ リ ブ レーシ ョ ンは読み出 し パ ス の主要な機能 であ り 、 ユーザー イ ン タ ーフ ェ イ ス が メ モ リ に対する ト ラ ンザ ク シ ョ ン を開始する 前に実行する 必要があ り ます。 デー タ キ ャ プ チ ャ 図 3-51 に、 読み出 し ク ロ ッ ク と 読み出 し デー タ が FPGA に入力 さ れてか ら ユーザーに到達す る ま でのパ ス の概略図 を 示 し ま す。 読み出 し ク ロ ッ ク は ILOGIC を その ま ま 通過 し 、 各バ イ ト グ ループデ ス テ ィ ネーシ ョ ン ク ロ ッ ク の PHASER に入力 さ れます。 RLDRAM II の場合、 マルチ領域 BUFMR を経由 し て読み出 し デス テ ィ ネーシ ョ ン ク ロ ッ ク が読み出 し デー タ キ ャ プチ ャ で使用 さ れ る 必要な PHASER に入力 さ れます。BUFMR の出力は直後にあ る PHASER の PHASEREFCLK 入力だけでな く 、 その上下に位置す る バン ク で利用可能な PHASER の PHASEREFCLK 入力 も 駆 動で き ます。 2 バ イ ト デー タ に対応す る シ ン グル デス テ ィ ネーシ ョ ン ク ロ ッ ク が存在す る 可能性があ り 、 BUFMR し か こ の ク ロ ッ ク を必要に応 じ て複数の PHASER へ割 り 当て る こ と がで き ないため、 BUFMR は RLDRAM II に不可欠 です。 RLDRAM 3 にはバ イ ト デー タ あ た り デス テ ィ ネーシ ョ ン ク ロ ッ ク が 1 つ含まれ る ため、 マルチ領域 BUFMR は必要 あ り ません。 次に、 ISERDES ブ ロ ッ ク で PHASER に よ っ て生成 し たバ イ ト グループ ク ロ ッ ク (ICLK、 ICLKDIV) を 用いて、 バ イ ト グループ内の読み出 し デー タ (DQ) を キ ャ プチ ャ し ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 PHASER に よ っ て提供 さ れ る 細精度の遅延 タ ッ プ を イ ン ク リ メ ン ト し てバ イ ト グループ ク ロ ッ ク の ICLK を読み出 し デー タ ウ ィ ン ド ウ の中央に揃え、 最大限のデー タ キ ャ プチ ャ マージ ン を確保 し ます。 各バ イ ト グループ の IN_FIFO (図 3-51) は、 それぞれのバ イ ト グループの ISERDES でキ ャ プチ ャ し た各 DQ ビ ッ ト か ら 4 ビ ッ ト デー タ を受信 し 、 ス ト レージ ア レ イ に書き 込みます。 PHASER_IN で生成 し た周波数が 1/2 のバ イ ト グ ループ ク ロ ッ ク (ICLKDIV) は、ISERDES のデー タ キ ャ プチ ャ のほか、 キ ャ プチ ャ し た読み出 し デー タ を IN_FIFO に 書 き 込む際に も 使用 し ます。 IN_FIFO に対す る ラ イ ト イ ネーブル信号は常にアサー ト さ れ、 入力デー タ を連続 し て書 き 込む こ と がで き ます。 さ ら に RLDRAM 3 では、 IN_FIFO は ICLKDIV ド メ イ ン (半分の メ モ リ ク ロ ッ ク 周波数で動作) か ら FPGA ロ ジ ッ ク の ク ロ ッ ク ド メ イ ン (1/4 の メ モ リ ク ロ ッ ク 周波数で動作) へデー タ を転送 し ます。IN_FIFO で フ ラ グがアサー ト さ れ る と IN_FIFO か ら のデー タ フ ロ ーが ス ト ール し て し ま う 可能性があ り ますが、 その場合で も IN_FIFO の受信側では 浅い同期 post_fifo を使用 し てい る ため、キ ャ プチ ャ し たデー タ は FPGA ロ ジ ッ ク か ら 連続 し て読み出す こ と がで き ま す。 ま た、 キ ャ リ ブ レーシ ョ ンに よ り 、 読み出 し デー タ を周波数が 1/2 の FPGA ロ ジ ッ ク ク ロ ッ ク の立ち上が り エ ッ ジに揃え る と 共に、 すべてのバ イ ト グループか ら の読み出 し デー タ の遅延が同 じ にな る よ う に し ます。 実際のキ ャ リ ブ レーシ ョ ンお よ びア ラ イ メ ン ト ロ ジ ッ ク の詳細は、 「キ ャ リ ブ レーシ ョ ン」 で説明 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 372 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-51 ,6(5'(6RXWSXWGDWD IURPDUHDGE\WHJURXS '>@ '>@ '>@ 4>@ 4>@ 5HDGGDWDWR WKHXVHU 4>@ 3267B),)2 'DWD$OLJQPHQW DFURVVYDULRXVUHDG E\WHJURXSV 4>@ 4>@ ' 4 4>@ 4>@ 3K\BUGBHQ 4>@ 5'(1 &/. ,1B),)2 4>@ )DEULF 3+<B&/. ,IBHPSW\ '4>@ 567 :5&/. 5'(1 :5(1 )5( 4%% 3K\BFON 5HDG'DWDIURP PHPRU\ '>@ 4>@ '>@ '>@ '>@ '>@ '>@ '>@ ,/2*,& ,6(5'(6 ,'(/$< (037< 5'&/. 9DOLG6LJQDO*HQHUDWRU 5HDGYDOLG VLJQDO 4.4.FORFNV IURPPHPRU\ 0(05()&/. )DEULF3+$6(5B,1GO\FRQWUROV IURPFDOLEUDWLRQORJLFWRSURYLGH UHDGFORFNWRGDWDFHQWHULQJ ,6(5'(6567 )5(45()&/. ),1((1$%/( ),1(,1& 3+$6(5B,1 &2817(5/2$'(1 ,&/.',9 ,&/. &2817(5/2$'9$/ )DEULFFRQWUROWRHQVXUHUHDG GDWDIURP,6(5'(6LVDOLJQHG WR3+$6(5B,1,&/.',9 ('*(B$'9 3+$6(5()&/. %8)05 1RWH%8)05LVRQO\XVHGLQ5/'5$0,, 8*BFBB 図 3-51 : RLDRAM II/RLDRAM 3 イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンの読み出 し パス ブ ロ ッ ク図 キ ャ リ ブ レーシ ョ ン キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 ク ロ ッ ク がデー タ 有効ウ ィ ン ド ウ の中心に揃 う よ う に、 読み出 し ク ロ ッ ク お よ び読 み出 し デー タ に遅延を与え ます。 ク ロ ッ ク の中央揃えには、 ク ロ ッ ク に対 し て高細精度の遅延 タ ッ プ を与え る こ と の で き る PHASER を使用 し ます。 PHASER_IN の細精度の遅延 タ ッ プはそれぞれ、 基準 ク ロ ッ ク 周期の 1/64 ずつ、 最大 で 64 タ ッ プ ま で ク ロ ッ ク を イ ン ク リ メ ン ト し ます。 400MHz 以上で動作す る デザ イ ンの場合、 書 き 込みデー タ について書 き 込み ク ロ ッ ク が正 し く 中央で揃え ら れ る よ う に、 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク も ワ ン タ イ ム書 き 込みキ ャ リ ブ レーシ ョ ン を実行 し ます。 キ ャ リ ブ レーシ ョ ンは メ モ リ の初期化後に開始 さ れます。 安定す る ま では、 すべての読み出 し パ ス ロ ジ ッ ク が リ セ ッ ト 状態 と な り ます。 キ ャ リ ブ レーシ ョ ン手順は、 メ モ リ の タ イ プに よ っ て異な り ます。 RLDRAM II と RLDRAM 3 のキ ャ リ ブ レーシ ョ ン 手順は類似 し てい ますが、 異な る FPGA ピ ン が必要であ り 、 それがキ ャ リ ブ レーシ ョ ン アルゴ リ ズ ム で考慮 さ れ る 必要があ り ます (347 ページの 「ピ ン変更の検証お よ びデザ イ ンの更新」 参照)。 RLDRAM 3 は RLDRAM II よ り も 高 い周波数で動作す る ので、FPGA ロ ジ ッ ク ク ロ ッ ク の 1/4 レー ト が必要です (RLDRAM II では FPGA ロ ジ ッ ク ク ロ ッ ク の 1/2 レー ト が必要)。 図 3-52 に、 シ ミ ュ レーシ ョ ン、 RLDRAM II、 お よ び RLDRAM 3 のキ ャ リ ブ レーシ ョ ン フ ロ ーを示 し ます。 シ ミ ュ レーシ ョ ンでは、 ユーザー コ マ ン ド を処理す る ま でに必要な時間を削減する ため、 い く つかの手順が ス キ ッ プ さ れま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 373 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 5/'5$0,,, 5HVHW 5HVHW 5HVHW 0HPRU\,QLWLDOL]DWLRQ 0HPRU\,QLWLDOL]DWLRQ 0HPRU\,QLWLDOL]DWLRQ :ULWH )))) :ULWH )))) :ULWH $) 5HDG $) $GMXVW :ULWH3DWK :ULWH $)&& 5HDG $) :ULWH $)' 5HDG $)' :ULWH&DO 'RQH" :ULWH )))) :ULWH $)' 6WDJH 5G9DOLG&DO 5HDG $) RU $)' 6WDJH 5G9DOLG&DO 6WDJH 5G9DOLG&DO :ULWH&DO 'RQH" :ULWH $)&& RU $)' 6WDJH (GJH$GYDQFH&DO 5HDG $) RU $)' :ULWHVQRWQHHGHGWR FDOLEUDWHUHDGSDWK 7XUQ2II5HDG7UDLQLQJ 5HJLVWHU 6WDJH 5HDG/HYHOLQJ :ULWH $) RU $)' 5HDG )))) 5HDG )))) 6WDJH (GJH$GYDQFH&DO 5HDG )))) 5HFDOLEUDWHUHDGSDWK DWHDFKZULWH DGMXVWPHQW 6WDJH 5HDG/HYHOLQJ575 5/'5$0,, 6WDJH 5HDG/HYHOLQJ 6LPXODWLRQ 6WDJH (GJH$GYDQFH&DO 6WDJH (GJH$GYDQFH&DO 6WDJH 5HDG/HYHOLQJ X-Ref Target - Figure 3-52 5HDG )))) $GMXVW :ULWH3DWK 'LIIHUHQWSDWWHUQ IURP575 5HDG $)' :ULWH $)' 5HDG $)' 図 3-52 : キ ャ リ ブ レーシ ョ ン フ ロー Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 374 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 読み出 し ク ロ ッ ク と デー タ のキ ャ リ ブ レーシ ョ ン PHASER_IN は、 対応す る バ イ ト グ ループ に関連 し た 読み出 し デー タ (DQ) の キ ャ プ チ ャ に使用 さ れ る すべ て の ISERDES へ ク ロ ッ ク を供給 し ます。 ICLKDIV も 読み出 し デー タ IN_FIFO の書 き 込み ク ロ ッ ク と し て使用 し ます。 1 つの PHASER_IN ブ ロ ッ ク は、 12 の I/O か ら な る 1 つのグループに関連付け ら れてい ます。 FPGA の各 I/O バン ク に は 4 つの PHASER_IN ブ ロ ッ ク があ る ため、 1 つのバン ク に 4 つの読み出 し デー タ バ イ ト を置 く こ と がで き ます。 イ ン プ リ メ ン テーシ ョ ンの詳細 リ ー ド レベ リ ン グの こ の段階では、 読み出 し ク ロ ッ ク を 1 バ イ ト ずつそのバ イ ト グループの対応す る 読み出 し デー タ の中央に揃え ま す。 こ の段階の最初に、 メ モ リ デバ イ ス の各バン ク (RLDRAM II では 8 個のバン ク 、 RLDRAM 3 では 16 個のバン ク ) のア ド レ ス位置 0 に対 し て 1 つの書 き 込み コ マ ン ド が発行 さ れます。 ど のバース ト 長が選択 さ れ て も 読み出 し コ マ ン ド が発行で き 、 読み出 し デー タ がデー タ ス ト リ ームにギ ャ ッ プな し で連続 し て返 さ れ る よ う に、 すべてのバン ク が使用 さ れます。 RLDRAM 3 の書 き 込みキ ャ リ ブ レーシ ョ ン を実行す る 場合は、 DRAM の読み出 し ト レーニ ン グ レ ジ ス タ (RTR) を使 用 し て、 最初に読み出 し を キ ャ リ ブ レーシ ョ ン で き ます。 こ れに よ り DRAM か ら ク ロ ッ ク の よ う なパ タ ーンが供給 さ れ、 最初にパ タ ーンに書 き 込みは必要あ り ません。 その他の場合は、 読み出 し ク ロ ッ ク お よ びデー タ キ ャ プチ ャ の キ ャ リ ブ レーシ ョ ンにパ タ ーン 0F0F_0FF0 が使用 さ れます。 RLDRAM II の書 き 込みキ ャ リ ブ レーシ ョ ン を実行す る 場合は、 書き 込みキ ャ リ ブ レーシ ョ ン アルゴ リ ズ ムでの要件 に基づいて、 こ の段階のキ ャ リ ブ レーシ ョ ンが連続的に再開 さ れます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は IN_FIFO か ら デー タ を読み出 し 、 比較す る ために記録 し てお き ます。 こ の ロ ジ ッ ク は読み出 し たデー タ パ タ ーンのシーケ ン ス を確認 し 、 ク ロ ッ ク と デー タ が揃っ てい る か ど う かを判断 し ます。 細精度 の遅延 ラ イ ン で タ ッ プが 0 の場合におけ る デス テ ィ ネーシ ョ ン ク ロ ッ ク と デー タ ウ ィ ン ド ウ の最初の位置関係はわ か っ てい ません。 アルゴ リ ズ ムは、 IDELAY エ レ メ ン ト を介 し て読み出 し デー タ に遅延を与え る こ と で、 ク ロ ッ ク が デー タ ウ ィ ン ド ウ の左端に揃 う よ う に し ます。 次に、 PHASER タ ッ プ を使用 し て ク ロ ッ ク を遅延 さ せ、 対応する デー タ ウ ィ ン ド ウ の中央に位置す る よ う に し ます。 PHASER_TAP の精度は FREQ_REF_CLK 周期に よ っ て決ま り 、1 タ ッ プは (FREQ_REFCLK_PERIOD/2)/64ps と な り ま す。周波数が 400MHz 以上の メ モ リ イ ン タ ーフ ェ イ ス の場合、最大値の 64 PHASER タ ッ プ を使用する と 遅延は 1 デー タ 周期、 すなわち 1/2 ク ロ ッ ク 周期 と な り ます。 こ れに よ り 、 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は ク ロ ッ ク を正確にデー タ ウ ィ ン ド ウ の中央に揃え る こ と がで き ます。 図 3-53 に こ の例を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 375 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-53 4. ,QLWLDO $OLJQPHQW '4 5LVH )DOO 'DWD6KLIW 'DWD SXVKHGZLWK ,'(/$<WR HGJHDOLJQ 3XVK4N FORFNILQG HGJHZKHUH GDWDJRHV ³YDOLG LQYDOLG´ '4 5LVH )DOO )LUVWHGJH 4. '4 )DOO 5LVH )DOO )DOO 4.6KLIW 6HFRQG HGJH 4. 3XVK4N FORFNILQG VHFRQGHGJH ZKHUHGDWD JRHV³YDOLG LQYDOLG´ '4 5LVH )DOO )DOO 4.6KLIW &DOFXODWHGFHQWHU 4. &RPSXWH FHQWHUDQG PRYH4. '4 5LVH )DOO )DOO 図 3-53 : リ ー ド レ ベ リ ング段階 1 周波数が 400MHz 未満の場合は、 FREQ_REF_CLK の周波数が MEM_REF_CLK の周波数の 2 倍であ る ため、 PHASER か ら 得 ら れ る 最大遅延はデー タ 周期の 1/2、 すなわち ク ロ ッ ク 周期の 1/4 と な り ます。 こ のため周波数が 400MHz 未 満では PHASER の遅延 タ ッ プ を使用 し ただけでは ク ロ ッ ク をデー タ ウ ィ ン ド ウ の中央に正確に揃え る こ と がで き な い場合があ り ます。 し たが っ て、 こ の よ う な周波数範囲の と き は IDELAY タ ッ プ と PHASER タ ッ プに よ る デー タ 遅 延を組み合わせて使用 し ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 ク ロ ッ ク と デー タ の最初のア ラ イ メ ン ト に基づいて 最適な遅延を決定 し ます。 アルゴ リ ズ ムはまず、 PHASER_IN の細精度の遅延 ラ イ ン を使用 し て、 デー タ ウ ィ ン ド ウ のエ ッ ジが検出 さ れ る ま で読み出 し デス テ ィ ネーシ ョ ン ク ロ ッ ク を遅延 さ せます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 376 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン デー タ ウ ィ ン ド ウ を検出す る には、同 じ タ ッ プ値で複数サ イ ク ルにわた っ てデー タ を読み出 し て平均を求め る アルゴ リ ズ ム を使用 し ます。 サンプ リ ン グ サ イ ク ル数は 214 に設定 さ れてい ます。 平均化以外に も 、 読み出 し デス テ ィ ネー シ ョ ン ク ロ ッ ク が不安定なジ ッ タ ー領域に位置 し てい る か ど う かカ ウ ン タ ーを使用 し て ト ラ ッ キ ン グ し ます。カ ウ ン タ ー値が 3 の場合は、 タ ッ プ を 3 回 イ ン ク リ メ ン ト し て も サンプ リ ン グ し たデー タ 値は変わ ら ない こ と を意味 し てお り 、 読み出 し デス テ ィ ネーシ ョ ン ク ロ ッ ク が安定領域にあ る と 考え ら れます。 直前の値 と 異な る 値が検出 さ れ る と 、 カ ウ ン タ ー値は 0 に リ セ ッ ト さ れます。 次に、 デー タ 不一致が検出 さ れ る ま で PHASER_IN ブ ロ ッ ク の細精度の位相シ フ ト 遅延 ラ イ ン を 1 タ ッ プずつ イ ン ク リ メ ン ト し ます。 必要な安定時間が経過 し た後、 IN_FIFO か ら 読み出 し たデー タ を直前の タ ッ プ値で記録 し たデー タ と 比較 し ます。 こ の比較を、 デー タ 不一致が検出 さ れ る ま で、 すなわち有効なデー タ ウ ィ ン ド ウ のエ ッ ジが検出 さ れ る ま で繰 り 返 し ます。安定 し た カ ウ ン タ ー値が定数 3 にな っ た と き の PHASER_IN の細精度の位相シ フ ト タ ッ プの数 が有効 ウ ィ ン ド ウ です。 こ のアルゴ リ ズ ムに よ り 、 不安定なジ ッ タ ー領域で有効エ ッ ジ を誤検出す る 可能性が抑え ら れます。 デー タ ア ラ イ メ ン ト と Valid 信号の生成 キ ャ リ ブ レーシ ョ ンの第 2 段階 と し て こ こ では次を実行 し ます。 • すべての読み出 し バ イ ト グループか ら の読み出 し デー タ を ISERDES の CLKDIV デス テ ィ ネーシ ョ ン ク ロ ッ ク の立ち上が り エ ッ ジに揃え る 。 • 幅の狭い メ モ リ を接続 し て幅の広い メ モ リ を構築す る 場合は、 各 メ モ リ の レ イ テ ン シ を一致 さ せる 。 • 決定 し た レ イ テ ン シ を読み出 し 有効の生成 ロ ジ ッ ク に送信す る 。 読み出 し デー タ デス テ ィ ネーシ ョ ン ク ロ ッ ク が中央に揃 う と 、 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は既知のデー タ パ タ ー ン を メ モ リ デバ イ ス に書 き 込み、 こ の メ モ リ か ら 連続 し た 読み出 し を 実行 し ま す。 こ れに よ り 、 PHASER_IN の ICLKDIV 出力の立ち上が り エ ッ ジ ま たは立ち下が り エ ッ ジに揃っ た状態でデー タ が読み出 さ れ る か ど う か を確認 し ます。 読み出 し キ ャ リ ブ レーシ ョ ンの こ の段階は、 特定のバ イ ト レーンの書き 込み結果を判断する ための、 書 き 込み キ ャ リ ブ レーシ ョ ン ス テー ト マシ ンへの フ ィ ー ド バ ッ ク と し て機能 し ます。 RLDRAM II の場合、 バ イ ト グループか ら のキ ャ プチ ャ デー タ が立ち下が り エ ッ ジに揃っ てい る と き 、 PHASER_IN への EDGE_ADV 入力 (ICLKDIV 出力を高速 ク ロ ッ ク の 1 サ イ ク ル分シ フ ト ) を使用 し て立ち上が り エ ッ ジに揃え ま す。 RLDRAM 3 の場合、 FPGA ロ ジ ッ ク は メ モ リ ク ロ ッ ク 周波数の 1/4 で動作す る ため、 すべてのキ ャ プチ ャ デー タ が 予測 さ れ る 順序で正 し く 揃え ら れ る よ う 、 パル ス が発行 さ れ る たびに メ モ リ ク ロ ッ ク サ イ ク ルに よ り FPGA ロ ジ ッ ク でデー タ にビ ッ ト ス ト リ ッ プが適用 さ れます。 次に、 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス のデー タ に関連付けた Valid 信号を生成 し ます。 こ の段階では、 1 つの FPGA ロ ジ ッ ク ク ロ ッ ク サ イ ク ル パ タ ーンに等 し いデー タ バース ト が メ モ リ に書 き 込まれ、 リ ー ド バ ッ ク さ れます。 そ し て、 期待 さ れたデー タ が返 さ れ る ま でのサ イ ク ル数を読み出 し ロ ジ ッ ク で カ ウ ン ト し ま す。 こ の段階の基本的な フ ロ ーは次の と お り です。 1. 各 メ モ リ デバ イ ス で読み出 し デー タ が到着する ま でのサ イ ク ル数を カ ウ ン ト し ます。 2. 固定レ イ テ ン シ と し て使用す る 値を決定 し ます。 こ の値は、 PHY_LATENCY パ ラ メ ー タ ーでユーザーが指定す る か、 ま たはすべての メ モ リ デバ イ ス におけ る 最大レ イ テ ン シです。 3. 読み出 し Valid 信号の生成を キ ャ リ ブ レーシ ョ ン し ます。手順 2 で決定 し た値を使用 し て読み出 し Valid 信号を遅 延 し 、 ユーザーの読み出 し デー タ に揃え ます。 4. init_calib_complete を アサー ト し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 377 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 書き込みキ ャ リ ブ レーシ ョ ン 書 き 込みキ ャ リ ブ レーシ ョ ンが有効にな る と 、 読み出 し キ ャ リ ブ レーシ ョ ンのデー タ ア ラ イ メ ン ト 結果を使用 し て、 設定内容が正 し い書 き 込み動作に対 し て有効であ る か ど う かを判断 し ます。 RLDRAM 3 には MRS 読み出 し ト レーニ ン グ レ ジ ス タ が含まれます。 こ の レ ジ ス タ を使用す る と 、 最初に指定パ タ ーン を メ モ リ へ書 き 込まずに メ モ リ か ら 読 み出す こ と がで き ます。 メ モ リ の初期化後、 書 き 込みキ ャ リ ブ レーシ ョ ンへ移行す る 前に読み出 し キ ャ プチ ャ が こ の 指定パ タ ーンで最初にキ ャ リ ブ レーシ ョ ン さ れます。 RLDRAM II には こ の読み出 し ト レーニ ン グ レ ジ ス タ がないため、読み出 し お よ び書 き 込みを個別に検証で き ません。 書 き 込みキ ャ リ ブ レーシ ョ ンの各手順で、 デー タ が正確にキ ャ プチ ャ さ れ る よ う に読み出 し ク ロ ッ ク と DQ を揃え ま す。 読み出 し キ ャ リ ブ レーシ ョ ンのデー タ ア ラ イ メ ン ト 部分をバ イ ト レーンに対 し て実行 し 、 予想 し た結果が得 ら れない場合、 書 き 込みにエ ラ ーの原因があ る と 考え ら れ ます。 RLDRAM II の場合、 書 き 込みキ ャ リ ブ レーシ ョ ン の 各手順で、 読み出 し キ ャ リ ブ レーシ ョ ンお よ び関連す る ロ ジ ッ ク が リ セ ッ ト さ れ、 再実行 さ れます。 書 き 込みキ ャ リ ブ レーシ ョ ン フ ロ ーは、 374 ページの図 3-52 を参照 し て く だ さ い。 PHASER_OUT は、 出力パ ス の ク ロ ッ キ ン グ リ ソ ース をすべて提供 し 、 キ ャ リ ブ レーシ ョ ン アルゴ リ ズ ムに よ っ てバ イ ト レーン単位で調整 さ れます。 各バ イ ト レーンでは、 正確な書き 込み タ イ ミ ン グが得 ら れ る よ う に、 DRAM へ送 信 さ れ る 書 き 込み ク ロ ッ ク について個別にチ ェ ッ ク が行われ ま す。 ピ ン配置に応 じ て、 OCLK_DELAYED を用いて DK ク ロ ッ ク がデー タ DQ に対 し て調整 さ れ る か、ま たはあ る バ イ ト レーンの OCLK がほかのバ イ ト レーンの DK ク ロ ッ ク に対 し て調整 さ れます。 各バ イ ト レーン を個別にキ ャ リ ブ レーシ ョ ンする ために長い時間が必要 と な る ため、 シ ミ ュ レーシ ョ ンでは書 き 込みキ ャ リ ブ レーシ ョ ンは通常省略 さ れます。 書 き 込みキ ャ リ ブ レーシ ョ ンの手順は、 ピ ン配置に よ っ て異な り ます。 図 3-54 に、 2 つのデー タ バ イ ト レーン を使 用す る RLDRAM II ピ ン配置ブ ロ ッ ク 図 と 書 き 込みキ ャ リ ブ レーシ ョ ン手順の概要を示 し ます。 X-Ref Target - Figure 3-54 W,^ZͺKhd ͬĂŶŬ ;ǁŝƚŚ<Ϳ ^ƚĂŐĞϮ ^ƚĂŐĞϯ < W,^ZͺKhd ^ƚĂŐĞϮ ^ƚĂŐĞϯ < ^ƚĞƉϭ͗ĂůŝďƌĂƚĞďLJƚĞůĂŶĞƐǁŝƚŚ< ;<ŵŽǀĞĚ͕ƐƚĂŐĞϯͿ ^ƚĞƉϮ͗ĂůŝďƌĂƚĞďĞƚǁĞĞŶ<ĂŶĚ< ;<ͬYŵŽǀĞĚ͕ƐƚĂŐĞϮͿ ^ƚĞƉϯ͗ĂůŝďƌĂƚĞYǁŝƚŚƚŚĞ<ŝŶĂŶŽƚŚĞƌďLJƚĞůĂŶĞ ;YŵŽǀĞĚ͕ƐƚĂŐĞϮͿ ĂƚĂĂŶŬ Y W,^ZͺKhd ^ƚĂŐĞϮ ^ƚĂŐĞϯ Y 図 3-54 : RLDRAM II 書き込みキ ャ リ ブ レーシ ョ ン Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 378 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン RLDRAM II 書 き 込みキ ャ リ ブ レーシ ョ ン の最初の段階では、 DK ク ロ ッ ク が同 じ バ イ ト レーンの DQ に対 し て キ ャ リ ブ レーシ ョ ン し ます。 書 き 込み ク ロ ッ ク DK がデー タ 有効ウ ィ ン ド ウ を検出する ため DQ に対 し て調整 さ れ、 その ウ ィ ン ド ウ の中央に揃え ら れます (図 3-55)。 X-Ref Target - Figure 3-55 $&%DQN &. 6WDJH3+$6(5B287VWDJH %\WHODQH ZLWKD'. ³,GHDO´VWDUWLQJ SRLQW$OVRMXVW XVHGLQ6LP '. '4 5LVH )DOO 5LVH )DOO 5LVH )DOO 5LVH )DOO )DOO 5LVH )DOO '.6KLIW WDSV 6WDUWLQJSRLQW IRUVZHHSRI '.FORFN '. '4 '.6KLIW 5LJKWHGJH IRXQG '. '4 )LQDO6SRWIRU WKH'.FORFN 5LVH '. '.6KLIW '4 5LVH )DOO 5LVH )DOO 図 3-55 : RLDRAM II 書き込みキ ャ リ ブ レーシ ョ ン (段階 1、 DK-to-DQ) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 379 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 3-56 に、 RLDRAM II 書き 込みキ ャ リ ブ レーシ ョ ンの 2 番目の段階を示 し ます。 こ の段階では、 バ イ ト レーン全体 が CK に対 し てシ フ ト さ れ、 DK-to-CK ア ラ イ メ ン ト の書 き 込みデー タ 転送ブ レー ク の位置が検出 さ れます。 X-Ref Target - Figure 3-56 ͬĂŶŬ < < ;ϭͿ ^ƚĂƌƚŝŶŐƉŽŝŶƚ Y ;ϮͿ ZŝƐĞ ^ǁĞĞƉƚŽƚŚĞ ůĞĨƚƵŶƚŝů ĨĂŝůƵƌĞŽƌŚŝƚϬ ƚĂƉƐ &Ăůů < ^ǁĞĞƉƚŽƚŚĞ ƌŝŐŚƚƵŶƚŝů ĨĂŝůƵƌĞŽƌĞŶĚ ŽĨƚĂƉƐ Y ;ϯͿ ZŝƐĞ &Ăůů ZŝƐĞ ZŝƐĞ &Ăůů &Ăůů < Y ZŝƐĞ ZŝƐĞ &Ăůů &Ăůů < ;ϰͿ &ŝŶĂůWŽŝŶƚ Y ZŝƐĞ &Ăůů ZŝƐĞ &Ăůů 図 3-56 : RLDRAM II 書き込みキ ャ リ ブ レーシ ョ ン (段階 2、 DK-to-CK) 図 3-57 に、 RLDRAM II 書 き 込み キ ャ リ ブ レ ー シ ョ ン の最後の段階 を 示 し ま す。 こ の段階で は、 DK ク ロ ッ ク を PHASER_OUT 出力の一部 と し て共有 し ないバ イ ト レ ーン が、 別のバ イ ト レ ーン の DK ク ロ ッ ク に対 し て キ ャ リ ブ レーシ ョ ン さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 380 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-57 ͬĂŶŬ < < LJƚĞůĂŶĞ ǁŝƚŚĂ< Y ZŝƐĞ ZŝƐĞ &Ăůů ^ƚĂƌƚŝŶŐ ;ϭͿ ƉŽŝŶƚ͕ϯϮ Y ƚĂƉƐ LJƚĞůĂŶĞ ǁŝƚŚŽƵƚĂ < ZŝƐĞ &Ăůů ^ƚĂƌƚƚŚĞ ;ϮͿ ƐǁĞĞƉĂƚ Y ZŝƐĞ ϬƚĂƉƐ &Ăůů ĂƚĂ^ŚŝĨƚ ^ǁĞĞƉƵŶƚŝůǁŝŶĚŽǁ ;ϯͿ ĞĚŐĞĨŽƵŶĚŽƌĞŶĚ ŽĨƚĂƉƐ Y ZŝƐĞ &Ăůů &Ăůů ĂƚĂ^ŚŝĨƚ ;ϰͿ &ŝŶĂů ^ĞƚƚŝŶŐ Y ZŝƐĞ &Ăůů 図 3-57 : RLDRAM II 書き込みキ ャ リ ブ レーシ ョ ン (段階 3、 DK-to-DQ2) 図 3-58 に、2 つのデー タ バ イ ト レーン を使用す る RLDRAM 3 ピ ン配置 と 書 き 込みキ ャ リ ブ レーシ ョ ン手順の概要を 示 し ます。 X-Ref Target - Figure 3-58 W,^ZͺKhd ͬĂŶŬ ;ǁŝƚŚ<Ϳ ^ƚĂŐĞϮ ^ƚĂŐĞϯ < < ^ƚĞƉϭ͗ĂůŝďƌĂƚĞYǁŝƚŚƚŚĞ<ŝŶĂŶŽƚŚĞƌ ďLJƚĞůĂŶĞ;YŵŽǀĞĚ͕ƐƚĂŐĞϮͿ W,^ZͺKhd ^ƚĂŐĞϮ ^ƚĂŐĞϯ ĂƚĂĂŶŬ Y W,^ZͺKhd ^ƚĂŐĞϮ ^ƚĂŐĞϯ Y 図 3-58 : RLDRAM 3 の書き込みキ ャ リ ブ レーシ ョ ン Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 381 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 3-59 に、 RLDRAM 3 のバ イ ト レーンでの手順を示 し ます。 デー タ は別のバン ク か ら の DK ク ロ ッ ク に対 し て調整 さ れます。 こ れは RLDRAM 3 段階 3 と 同 じ で、 RLDRAM 3 では最初の 2 つの段階は ス キ ッ プ さ れます。 X-Ref Target - Figure 3-59 ͬĂŶŬ < < ^ƚĂƌƚŝŶŐ ;ϭͿ ƉŽŝŶƚ͕ϯϮ ƚĂƉƐ LJƚĞůĂŶĞ ǁŝƚŚŽƵƚĂ < Y ZŝƐĞ &Ăůů ^ƚĂƌƚƚŚĞ ;ϮͿ ƐǁĞĞƉĂƚ Y ZŝƐĞ ϬƚĂƉƐ &Ăůů ĂƚĂ^ŚŝĨƚ ^ǁĞĞƉƵŶƚŝůǁŝŶĚŽǁ ;ϯͿ ĞĚŐĞĨŽƵŶĚŽƌĞŶĚ ŽĨƚĂƉƐ Y ZŝƐĞ &Ăůů &Ăůů ĂƚĂ^ŚŝĨƚ ;ϰͿ &ŝŶĂů ^ĞƚƚŝŶŐ Y ZŝƐĞ &Ăůů 図 3-59 : RLDRAM 3 書き込みキ ャ リ ブ レーシ ョ ン (段階 3、 DK-to-DQ2) 書 き 込みキ ャ リ ブ レーシ ョ ンが完了す る と 、 読み出 し キ ャ リ ブ レーシ ョ ンは正 し い書 き 込み設定で動作す る よ う に最 後に も う 1 度だけ再実行 さ れ、 読み出 し 有効の生成 ロ ジ ッ ク を介 し て完了す る こ と がで き ます。 図 3-60 に、 36 ビ ッ ト RLDRAM II デザ イ ン の書 き 込みキ ャ リ ブ レーシ ョ ン のシ ミ ュ レーシ ョ ン波形を示 し ます。 ス テー ト マシ ンはキ ャ リ ブ レーシ ョ ン を 1 バ イ ト ずつ実行 し ます。 まず、 特定バ イ ト レーン用の PHASER を選択 し 、 調整後に書 き 込み タ イ ミ ン グの最適化を図 る ためにその結果を記録 し ます。 調整は、 細精度の PHASER_OUT タ ッ プ 遅延の範囲内でのみ実行 さ れます。 問題をデバ ッ グする 際は、 読み出 し お よ び書 き 込みキ ャ リ ブ レーシ ョ ンの実行中 に検出 さ れたマージ ン を確認す る だけでな く 、 DRAM での cmd - デー タ 間の書き 込みレ イ テ ン シが MRS レ ジ ス タ に プ ロ グ ラ ム さ れてい る レ イ テ ン シ と 一致す る か を確認す る こ と が重要です。 詳細は、 399 ページの 「RLDRAM II お よ び RLDRAM 3 デザ イ ンのデバ ッ グ」 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 382 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-60 図 3-60 : RLDRAM II 書き込みキ ャ リ ブ レーシ ョ ンの波形 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 383 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのカ ス タ マ イ ズ RLDRAM II/RLDRAM 3 メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンは、 カ ス タ マ イ ズす る こ と で複数の コ ン フ ィ ギ ュ レ ーシ ョ ン を サポー ト し ま す。 各 コ ン フ ィ ギ ュ レ ーシ ョ ン は、 コ アの最上位の Verilog パ ラ メ ー タ ーで定義 し ま す。 OOC フ ロ ーに よ り 、デザ イ ン例の最上位の RTL フ ァ イ ルか ら ユーザー デザ イ ン RTL フ ァ イ ルに、 パ ラ メ ー タ ー値が 伝わ る こ と はあ り ません。 し たがっ て、 デザ イ ンに関す る パ ラ メ ー タ ーの変更が、 ユーザー デザ イ ン ロ ジ ッ ク に反映 さ れ る こ と は一切あ り ません。 パ ラ メ ー タ ーを変更す る 場合は、 MIG ツールを使用 し てデザ イ ン を再生成す る 必要が あ り ます。 表 3-14 に、 こ れ ら のパ ラ メ ー タ ーを ま と め ます。 表 3-14 : RLDRAM II メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパラ メ ー タ ー パラ メ ー タ ー 説明 オプ シ ョ ン CLK_PERIOD メ モ リ の ク ロ ッ ク 周期 (ps) です。 – ADDR_WIDTH メ モ リ のア ド レ ス バ ス幅です。 18 ~ 22 RLD_ADDR_WIDTH ア ド レ ス マルチプ レ ク ス モー ド 使用時の物理的 メ モ リ のア ド レ ス バ ス幅です。 11、 18 ~ 22 BANK_WIDTH メ モ リ のバン ク ア ド レ ス バス幅です。 RLDRAM II : 3 RLDRAM 3 : 4 DATA_WIDTH メ モ リ のデー タ バ ス幅で、 MIG ツールで設定で き ます。 サポー ト さ れ る 最大値は 72 です。 – QK_WIDTH メ モ リ の読み出 し ク ロ ッ ク バ ス幅です。 RLDRAM II : x18/x36 デバ イ スご とに 2 RLDRAM 3 : DATA_WIDTH/9 DK_WIDTH メ モ リ の書 き 込み ク ロ ッ ク バ ス幅です。 RLDRAM II : x36 デバ イ ス ご と に 2、 x18 デバ イ ス ご と に 1 RLDRAM 3 : デバ イ ス ごとに 2 BURST_LEN メ モ リ のデー タ バース ト 長です。 RLDRAM II : 4、 8 RLDRAM 3 : 2、 4、 8 DM_PORT デー タ マ ス ク ポー ト の生成を有効/無効に し ます。 ON、 OFF NUM_DEVICES 使用す る メ モ リ デバ イ ス の数です。 1~4 MRS_CONFIG RLDRAM II/RLDRAM 3 メ モ リ レ ジ ス タ で コ ン フ ィ ギ ュ レ ー シ ョ ン を設定 し ます。 RLDRAM II : 1、 2、 3 RLDRAM 3 : 3、 4、 5、 6、 7、 8、 9、 10、 11 MRS_ADDR_MUX RLDRAM II/RLDRAM 3 メ モ リ レ ジ ス タ でア ド レ ス マルチプ レ ク ス を設定 し ます。 ON、 OFF MRS_DLL_RESET RLDRAM II/RLDRAM 3 メ モ リ レ ジ ス タ で DLL を設定 し ます。 DLL_ON MRS_IMP_MATCH メ モ リ レ ジ ス タ で イ ン ピーダ ン ス を設定 し ます。 INTERNAL、 EXTERNAL MRS_ODT メ モ リ レ ジ ス タ で ODT を設定 し ます。 ON、 OFF MRS_RD_LATENCY RLDRAM 3 メ モ リ レ ジ ス タ で読み出 し レ イ テ ン シお よ び書 き 込 み レ イ テ ン シ を設定 し ま す ( メ モ リ デバ イ ス と 動作周波数に依 存す る )。 8 ~ 16 MRS_RTT_WR RLDRAM 3 の MRS レ ジ ス タ で出力 ド ラ イ ブ イ ン ピーダ ン ス を 設定 し ます。 40、 60、 120 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 384 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-14 : RLDRAM II メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパラ メ ー タ ー (続き) パラ メ ー タ ー 説明 オプ シ ョ ン MRS_RTT_RD RLDRAM 3 の MRS レ ジ ス タ で ODT を設定 し ます。 ODT が未使 用の場合は 「Do not care」 と な り ます。 40、 60 MEM_TRC RLDRAM 3 TRC を設定 し ます (選択 し た メ モ リ デバ イ スお よ び 読み出 し レ イ テ ン シに依存す る )。 4 ~ 11 MEM_TYPE メ モ リ の タ イ プ を指定 し ます。 RLD2_CIO、 RLD3 IODELAY_GRP(1) デザ イ ン で 複数の IP コ ア を 使用す る 場合のみの IODELAY_CTRL 固有の名前です。 – REFCLK_FREQ IDELAYCTRL の基準 ク ロ ッ ク の周波数です。 こ のパ ラ メ ー タ ー は変更 し ないで く だ さ い。 200.0 BUFMR_DELAY バ ッ フ ァ ー遅延を モデル化す る ために使用す る シ ミ ュ レ ーシ ョ ン専用パ ラ メ ー タ ーです (RLDRAM II のみ)。 – RST_ACT_LOW ア ク テ ィ ブ Low ま たはア ク テ ィ ブ High の リ セ ッ ト [System Reset 0、 1 Polarity] が [ACTIVE LOW] に設定 さ れてい る 場合は 1、 [ACTIVE HIGH] に設定 さ れてい る 場合は 0 に設定 さ れます。 IBUF_LPWR_MODE 入力バ ッ フ ァ ーの低消費電力モー ド の有効 ま たは無効を指定 し ます。 ON、 OFF IODELAY_HP_MODE IODELAY プ リ ミ テ ィ ブの高性能モー ド の有効ま たは無効を指定 し ます。 OFF にす る と 、 IODELAY は低消費電力モー ド で動作す る ため性能が低下 し ます。 ON、 OFF SYSCLK_TYPE シ ス テ ムがシ ン グルエン ド シ ス テ ム ク ロ ッ ク を使用す る か、 差 DIFFERENTIAL、 動シ ス テ ム ク ロ ッ ク を使用す る か、 ま たは内部 ク ロ ッ ク で駆動 SINGLE_ENDED、 さ れ る か ([No Buffer]) を示 し ます。 選択 し た CLK_TYPE の設定 NO_BUFFER に基づいて、ク ロ ッ ク を適切な入力ポー ト に配置す る 必要があ り ます。 差動 ク ロ ッ ク の場合は sys_clk_p/sys_clk_n を、 シ ン グルエ ン ド ク ロ ッ ク の場合は sys_clk_i を使用 し ます。 [No Buffer] の場 合、 ポー ト リ ス ト に表示 さ れ る sys_clk_i は内部 ク ロ ッ ク に よ っ て駆動す る 必要があ り ます。 REFCLK_TYPE シ ス テ ムがシ ン グルエン ド 基準 ク ロ ッ ク 、差動基準 ク ロ ッ ク を使 用す る か、 内部 ク ロ ッ ク に よ っ て駆動 さ れ る か ([No Buffer])、 ま た は シ ス テ ム ク ロ ッ ク 入力 に のみ接続 で き る か ([Use System Clock]) を示 し ます。 選択 し た CLK_TYPE の設定に基づいて、 ク ロ ッ ク を適切な入力ポー ト に配置す る 必要が あ り ま す。 差動 ク ロ ッ ク の場合は clk_ref_p/clk_ref_n を、 シ ン グルエン ド ク ロ ッ ク の場合は clk_ref_i を使用 し ます。[No Buffer] を オンに し てい る 場 合、 ポー ト リ ス ト に表示 さ れ る clk_ref_i は内部 ク ロ ッ ク に よ っ て駆動す る 必要があ り ます。 [Use System Clock] を オ ン に し てい る 場合、clk_ref_i はユーザー デザ イ ンの最上位モジ ュ ールでシ ス テ ム ク ロ ッ ク に接続 さ れます。 DIFFERENTIAL、 SINGLE_ENDED、 NO_BUFFER、 USE_SYSTEM_CLOCK CLKIN_PERIOD 入力 ク ロ ッ ク 周期です。 – CLKFBOUT_MULT PLL の VCO (電圧制御オシ レー タ ー ) 乗算器です。 動作周波数に 基づいて MIG ツールで設定 し ます。 – CLKOUT0_DIVIDE、 CLKOUT1_DIVIDE、 CLKOUT2_DIVIDE、 CLKOUT3_DIVIDE PLL 出力用の VCO 出力分周器です。 動作周波数に基づいて MIG – ツールで設定 し ます。 CLKOUT0_PHASE PLL 出力 の CLKOUT0 の位相です。 メ モ リ イ ン タ ーフ ェ イ ス ピ ンに選択 し たバン ク お よ び動作周波数に基づいて MIG で設定 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com – 385 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-14 : RLDRAM II メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパラ メ ー タ ー (続き) パラ メ ー タ ー 説明 オプ シ ョ ン DIVCLK_DIVIDE PLL の VCO 分周器です。動作周波数に基づいて MIG ツールで設 定 し ます。 – SIM_BYPASS_INIT_CAL シ ミ ュ レーシ ョ ン専用のパ ラ メ ー タ ーで、初期化の待機時間を省 略 し て キ ャ リ ブ レーシ ョ ン を高速化す る こ と で、シ ミ ュ レーシ ョ ンの時間を短縮 し ます。 SKIP_AND_WRCAL お よ び FAST_AND_WRCAL は SKIP ま たは FAST 読み出 し キ ャ リ ブ レー シ ョ ン を実行 し ま すが、 書 き 込みキ ャ リ ブ レ ーシ ョ ン のシ ミ ュ レーシ ョ ン を実行す る オプシ ョ ンです。 FAST、 NONE、 SKIP_AND_WRCAL、 FAST_AND_WRCAL SIMULATION シ ミ ュ レ ーシ ョ ン には TRUE を、 イ ン プ リ メ ン テーシ ョ ン には FALSE を設定 し ます。 TRUE、 FALSE DEBUG_PORT デバ ッ グ ポー ト を 有効にす る と 、 Vivado ロ ジ ッ ク 解析機能 の VIO の使用が可能にな り ま す。 こ れに よ り 、 PHY 内の タ ッ プ設 定 を VIO で の選択に基づい て 変更で き ま す。 論理 シ ミ ュ レ ー シ ョ ン で はデバ ッ グ モー ド は不要 な た め、 sim フ ォ ル ダ ーの sim_tb_top モジ ュ ールでは必ず OFF に設定 し ます。 ON、 OFF N_DATA_LANES デー タ バ イ ト レーンの数を算出 し 、 デバ ッ グ ポー ト の使用時に 信号幅を設定す る ために使用 し ます。こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 DATA_WIDTH/9 DIFF_TERM_SYSCLK シ ス テ ム ク ロ ッ ク 入力ピ ンの差動終端です。 TRUE、 FALSE DIFF_TERM_REFCLK IDELAY 基準 ク ロ ッ ク 入力ピ ンの差動終端です。 TRUE、 FALSE nCK_PER_CLK FPGA ロ ジ ッ ク ク ロ ッ ク ご と の メ モ リ ク ロ ッ ク の数です。 こ の パ ラ メ ー タ ーは変更 し ないで く だ さ い。 RLDRAM II : 2 RLDRAM 3 : 4 TCQ シ ミ ュ レーシ ョ ンでの レ ジ ス タ 遅延です。 100 注記 : 1. こ のパ ラ メ ー タ ー名には、 デザ イ ン生成時に MIG で入力 さ れたモジ ュ ール名が接頭辞 と し て付 き ます。 デザ イ ンが mig_7series_0 と い う 名前で生成 さ れた場合、 IODELAY_GRP パ ラ メ ー タ ーの名前は 「mig_7series_0_IODELAY_MIG」 と な り ます。 表 3-15 に示 し たパ ラ メ ー タ ーは、 選択 し た ピ ン配置に基づいて MIG ツールがセ ッ ト ア ッ プ し ます。 ピ ン配置を変更 す る 場合は、 パ ラ メ ー タ ーが適切にセ ッ ト ア ッ プ さ れ る よ う に MIG ツールを再実行す る こ と を推奨 し ます。 再実行 し ない場合は、 391 ページの 「ピ ン配置の要件」 を参照 し て く だ さ い。 ピ ン配置のパ ラ メ ー タ ー設定が正 し く ない と 、 シ ミ ュ レーシ ョ ンが正 し く 動作 し ない、 デザ イ ンの配線がで き ない、 タ イ ミ ン グが満た さ れない、 な ど の結果を招 く こ と があ り ます。 こ れ ら のパ ラ メ ー タ ーで物理層を セ ッ ト ア ッ プ し 、 物理層 と の間に必要な信号すべての配線が行わ れ ます。 パ ラ メ ー タ ーは、 選択 し たデー タ お よ びア ド レ ス/制御バ イ ト グループに基づいて計算 さ れ ます。 選択 し た シ ス テ ム信号 (シ ス テ ム ク ロ ッ ク 、 基準 ク ロ ッ ク 、 ス テー タ ス信号) は考慮 し ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 386 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-15 : RLDRAM II メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー パラ メ ー タ ー 説明 例 MASTER_PHY_CTL 0、 1、 2。 こ の パ ラ メ ー タ ーは ピ ン 配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動 で変更す る こ と は出来ません。 マ ス タ ー PHY_CONTROL が含まれ る バン ク です (一 般に MMCM/PLL のバン ク 位置に対応)。 BYTE_LANES_B0、 BYTE_LANES_B1、 BYTE_LANES_B2 3 つの フ ィ ール ド で、 有効な I/O バン ク ご と ビ ッ ト の順序は、MSB か ら LSB に向か っ て T0、T1、 に 1 つ使用。 I/O バ ン ク で使用す る バ イ ト T2、 T3 バ イ ト グループの順です。 レ ーン を定義 し ま す。 ビ ッ ト 位置が 1 の場 4'b1101 : バ ン ク に使用 さ れ る 3 つのバ イ ト レ ー ン 合はバ イ ト レ ーン を使用 し 、 0 の場合は使 で、 その う ち 1 つは未使用 用 し ま せん。 こ のパ ラ メ ー タ ーは ピ ン配置 に よ っ て異な り 、 生成 さ れたデザ イ ン で手 動で変更す る こ と は出来ません。 DATA_CTL_B0、 DATA_CTL_B1、 DATA_CTL_B2 3 つの フ ィ ール ド で、 有効な I/O バン ク ご と 4'b1100 : 2 つのデー タ バ イ ト レーンで、 上記の例に に 1 つ使用。I/O バン ク のバ イ ト レーン を定 示す と お り に BYTE_LANES_B0 パ ラ メ ー タ ー と 併 義 し ま す。 ビ ッ ト 位置が 1 の場合はバ イ ト 用す る 場合は、 1 つの ア ド レ ス/制御 レ ーン をデー タ に、 0 の場合はア ド レ ス/制 御に使用 し ま す。 こ のパ ラ メ ー タ ーは ピ ン 配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 CPT_CLK_SEL_B0、 CPT_CLK_SEL_B1、 CPT_CLK_SEL_B2 RLDRAM II のみ。 3 つの フ ィ ール ド で、 有 効な I/O バン ク ご と に 1 つ使用。バン ク の各 バ イ ト レーンについて、 いずれの読み出 し デス テ ィ ネーシ ョ ン ク ロ ッ ク を使用す る か を 定義 し ま す。 MRCC 読み出 し デ ス テ ィ ネーシ ョ ン ク ロ ッ ク はバ イ ト レーン 1/2 に 配置 さ れます。 こ こ では、デス テ ィ ネーシ ョ ン ク ロ ッ ク に使用 さ れ る 読み出 し ク ロ ッ ク を示すために各デー タ バ イ ト レーンについ てパ ラ メ ー タ ーが定義 さ れてい ま す。 バ イ ト レーン ご と に 8 ビ ッ ト が次の よ う に定義 さ れてい ます。 • [3:0] - 1、2 : 2 つのデス テ ィ ネーシ ョ ン ク ロ ッ ク ソ ース の う ちいずれを示す • [7:4] - 0 (下のバン ク )、 1 (現在のバン ク )、 2 (上のバン ク ) : ク ロ ッ ク が配置 さ れ る バ ン ク を示す こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と は出来ません。 32'h12_12_11_11 : 4 つのデー タ バ イ ト レーンで、 す べて同 じ バン ク で ク ロ ッ ク を使用す る 32'h21_22_11_11 : 4 つのデー タ バ イ ト レーンで、 そ の う ちの 2 つの レーンは上領域のバン ク (16'h21_22) か ら のデス テ ィ ネーシ ョ ン ク ロ ッ ク を使用 し 、 残 り の 2 つは現在のバ ン ク (16'h11_11) か ら のデ ス テ ィ ネーシ ョ ン ク ロ ッ ク を使用する PHY_0_BITLANES、 PHY_1_BITLANES、 PHY_2_BITLANES 3 つの フ ィ ール ド で、 有効な I/O バン ク ご と に 1 つ使用。各バ イ ト レーンにつ き 12 ビ ッ ト のパ ラ メ ー タ ーを使用 し 、 必要な物理層 の生成に使用す る I/O 位置を決定 し ます。こ の パ ラ メ ー タ ーは バ ン ク ご と に 存在 し ま す。CK_P/CK_N、DK_P/DK_N、QK_P/QK_N を除 き 、 デー タ お よ びア ド レ ス/制御のすべ ての ピ ン がパ ラ メ ー タ ー生成の際に考慮 さ れます。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と は出来ません。 選択 し たバン ク のすべてのバ イ ト グループ を表 し ま す。 1 つ の バ イ ト レ ー ン の 12 ビ ッ ト すべ て を MSB:LSB の順に BA98_7654_3210 と し て表 し ま す。 た と えば、 1 つのバン ク に対 し て 48'hFFE_FFF_000_ DF6 の よ う に指定 し ます。 12'hBFC (12'b1011_1111_1100) : ビ ッ ト レ ーン 0、 1、 お よ び 10 は使用 さ れず、その他すべてが使用 さ れま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 387 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-15 : RLDRAM II メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 例 CK_MAP チ ッ プ セ レ ク ト のバン ク お よ びバ イ ト レー ン位置情報です。 各ピ ンに 12 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れてい ます。 • [3:0] - バ イ ト レーン内のビ ッ ト 位置で、 サポー ト さ れ る 値は [0、 1、 2、 ...、 A、 B] です。 • [7:4] - バン ク 内のバ イ ト レーン位置で、 サポー ト さ れ る 値は 0、 1、 2、 3 です。 • [11:8] - バン ク 位置で、 サポー ト さ れ る 値 は 0、 1、 2 です。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と は出来ません。 最上位のデー タ ま たはア ド レ ス/制御バ イ ト グルー プで選択 し たバン ク を、 こ のパ ラ メ ー タ ーではバン ク 0 と し ま す。 バン ク の番号は上か ら 順に 0、 1、 2 です。 パ ラ メ ー タ ー内では、 バ イ ト グループ T0、 T1、 T2、 T3 にそれぞれ 3、 2、 1、 0 の番号が付け ら れます。 バ イ ト グ ループ内の最下位 ピ ン を MAP パ ラ メ ー タ ーでは 「0」 と し ま す。 バ イ ト グループ内の ピ ン 番号は最下位ピ ン か ら 最上位ピ ン に向か っ て 0 ~ 9 の番号が付け ら れ ま す (DQS I/O ピ ン を除 く )。 バ イ ト グループの DQS_N ピ ン と DQS_P ピ ンの番号はそ れぞれ A、 B です。 44'h000_000_000_000_000_000_000_000_000_000_235 _11B : ク ロ ッ ク 幅が 12 ビ ッ ト で各ピ ンが 12 ビ ッ ト であ る こ と を表 し ます。 こ の例では、 ク ロ ッ ク 幅は 2 ビ ッ ト です。 パ ラ メ ー タ ーの並びは MSB か ら LSB の順です (すなわち CK[0] はパ ラ メ ー タ ーの最下位 12 ビ ッ ト に該当)。 12'h11B : CK[0] を ロ ケーシ ョ ン A のバン ク 1、 バ イ ト レーン 1 に配置 し ます。 12'h235 : CK[1] を ロ ケーシ ョ ン 5 のバン ク 2、バ イ ト レーン 3 に配置 し ます。 CK_P 位置のみを示 し 、CK_N は対応する I/O ピ ン ペ アの N 側にあ り ます。 DK_MAP DK/DK# のバン ク お よ びバ イ ト レーン位置 情報です。各信号ペアに 8 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れてい ます。 • [3:0] - バン ク 内のバ イ ト レーン位置で、 サポー ト さ れ る 値は 0、 1、 2、 3 です。 • [7:4] - バン ク 位置で、サポー ト さ れ る 値は 0、 1、 2 です。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と は出来ません。 最上位のデー タ ま たはア ド レ ス/制御バ イ ト グルー プで選択 し たバン ク を、 こ のパ ラ メ ー タ ーではバン ク 0 と し ま す。 バン ク の番号は上か ら 順に 0、 1、 2 です。 パ ラ メ ー タ ー内では、 バ イ ト グループ T0、 T1、 T2、 T3 にそれぞれ 3、 2、 1、 0 の番号が付け ら れます。 96'h00_00_00_00_00_00_00_00_00_00_10_13 : 12 の ク ロ ッ ク ペ ア (各 ク ロ ッ ク ピ ン に 8 ビ ッ ト ) の パ ラ メ ー タ ーの例です。 こ の場合、 2 つの ク ロ ッ ク ペア を使用 し ます。パ ラ メ ー タ ーの並びは MSB か ら LSB の順です (すなわち DK[0]/ DK#[0] はパ ラ メ ー タ ーの 最下位 8 ビ ッ ト に該当)。 8'h13 : DK/DK# をバン ク 1、 バ イ ト レーン 3 に配置 し ます。 8'h20 : DK/DK# をバン ク 2、 バ イ ト レーン 0 に配置 し ます。 QK_MAP QK/QK# のバン ク お よ びバ イ ト レーン位置 情報です。各信号ペアに 8 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れてい ます。 • [3:0] - バン ク 内のバ イ ト レーン位置で、 サポー ト さ れ る 値は 0、 1、 2、 3 です。 • [7:4] - バン ク 位置で、サポー ト さ れ る 値は 0、 1、 2 です。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と は出来ません。 パ ラ メ ー タ ー値の表記法については、 「DK_MAP」 の 例を参照 し て く だ さ い。 8'h11 : QK/QK# をバン ク 1、 バ イ ト レーン 1 に配置 し ます。 8'h22 : QK/QK# をバン ク 2、 バ イ ト レーン 2 に配置 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 388 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-15 : RLDRAM II メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 CS_MAP チ ッ プ セ レ ク ト のバン ク お よ びバ イ ト レー 「CK_MAP」 の例を参照 し て く だ さ い。 ン位置情報です。 各ピ ンに 12 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れてい ます。 • [3:0] - バ イ ト レーン内のビ ッ ト 位置で、 サポー ト さ れ る 値は [0、 1、 2、 ...、 A、 B] です。 • [7:4] - バン ク 内のバ イ ト レーン位置で、 サポー ト さ れ る 値は 0、 1、 2、 3 です。 • [11:8] - バン ク 位置で、 サポー ト さ れ る 値 は 0、 1、 2 です。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と は出来ません。 WE_MAP ラ イ ト イ ネ ーブ ルの バ ン ク お よ びバ イ ト レーン位置情報です。 「CS_MAP」 の説明を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ンで手動で変更す る こ と はで き ません。 「CK_MAP」 の例を参照 し て く だ さ い。 REF_MAP リ フ レ ッ シ ュ 信号 の バ ン ク お よ びバ イ ト レーン位置情報です。 「CS_MAP」 の説明を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ンで手動で変更す る こ と はで き ません。 「CK_MAP」 の例を参照 し て く だ さ い。 ADDR_MAP ア ド レ ス のバン ク お よ びバ イ ト レーン位置 情報です。 「CS_MAP」 の説明を参照 し て く だ さ い。 こ の パ ラ メ ー タ ー は ピ ン 配置 に よ っ て異な り 、 生成 さ れたデザ イ ン で手動 で変更す る こ と はで き ません。 「CK_MAP」 の例を参照 し て く だ さ い。 BANK_MAP バ イ ト ア ド レ ス のバン ク お よ びバ イ ト レー 「CK_MAP」 の例を参照 し て く だ さ い。 ン位置情報です。 「CS_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配 置に よ っ て異な り 、 生成 さ れたデザ イ ン で 手動で変更す る こ と はで き ません。 DQTS_MAP ト ラ イ ス テー ト 制御のバ ン ク お よ びバ イ ト レーン位置情報です。 「CS_MAP」 の説明を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ンで手動で変更す る こ と はで き ません。 DM_MAP デー タ マ ス ク のバン ク お よ びバ イ ト レーン 「CK_MAP」 の例を参照 し て く だ さ い。 位置情報です。 「CS_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置 に よ っ て異な り 、 生成 さ れたデザ イ ン で手 動で変更す る こ と はで き ません。 DATA0_MAP、 DATA1_MAP、 DATA2_MAP、 DATA3_MAP、 DATA4_MAP、 DATA5_MAP、 DATA6_MAP、 DATA7_MAP デー タ バ ス のバン ク お よ びバ イ ト レーン位 置情報です。 「CS_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動 で変更す る こ と は出来ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 例 japan.xilinx.com 「CK_MAP」 の例を参照 し て く だ さ い。 「CK_MAP」 の例を参照 し て く だ さ い。 389 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 設計ガ イ ド ラ イ ン デザイ ンの規則 メ モ リ の タ イ プ、 メ モ リ デバ イ ス、 デー タ 幅は、 選択 し た FPGA、 FPGA の ス ピー ド グ レー ド 、 デザ イ ンの動作周波 数に よ っ て制約を受け ます。 最終的な周波数範囲は、 特性評価の結果に基づいて決定 し ます。 複数 コ ン ト ロー ラ ーによ るバン クの共有 メ モ リ イ ン タ ーフ ェ イ ス で使用 さ れてい る バン ク の未使用部分を別の メ モ リ イ ン タ ーフ ェ イ ス が共有す る こ と はで き ません。 1 つのバン ク にあ る すべての FIFO お よ び PHASER を制御する 専用 ロ ジ ッ ク は、 シ ン グル メ モ リ イ ン タ ー フ ェ イ ス の動作用に設計 さ れてお り 、 別の メ モ リ イ ン タ ーフ ェ イ ス と は共有で き ません。 ただ し 、 MIG でサポー ト さ れ る デ ュ アル コ ン ト ロ ー ラ ーの共有ア ド レ スお よ び制御は例外です。 ト レース長の要件 こ こ で説明す る ト レース長の要件は高速動作用であ り 、タ ーゲ ッ ト アプ リ ケーシ ョ ンの帯域幅に よ っ て要件を緩和で き る 場合があ り ます。 有効 ト レース長を決定す る 際は、 パ ッ ケージ遅延を考慮す る 必要があ り ます。 同 じ パ ッ ケージ の異な る デバ イ ス では、 内部パ ッ ケージ ス キ ュ ーの値が異な り ま す。 こ の よ う なデバ イ ス を使用す る 場合は、 MIG の [Controller Options] ページで最小周期を適切な値ま で下げて く だ さ い。 遅延値を決定す る 方法 と し て、 IBIS モデルで提供 さ れ る 各ピ ン の L お よ び C 値を使用す る 方法があ り ます。 遅延値 は、 (L × C) の平方根で求め る こ と がで き ます。 も う 1 つの方法は Vivado を使用 し てパ ッ ケージ長を求め る こ と です。 次の コ マ ン ド を使用 し て、 タ ーゲ ッ ト デバ イ ス の全ピ ンに対す る パ ッ ケージ遅延値を含む csv フ ァ イ ルを生成 し ます。 link_design -part <part_number> write_csv <file_name> た と えば、 7 シ リ ーズ FPGA XC7K160T-FF676 のパ ッ ケージ遅延情報を取得する には、 次の コ マ ン ド を使用 し ます。 link_design -part xc7k160tfbg676 write_csv flight_time こ れで、 各ピ ンのパ ッ ケージ ト レース遅延情報を含む flight_time.csv と い う 名前の フ ァ イ ルが現在のデ ィ レ ク ト リ に生成 さ れます。 RLDRAM II/RLDRAM 3 イ ン タ ーフ ェ イ ス の ト レース一致ガ イ ド ラ イ ンに従 う と 同時に、 全体 的な電気的伝搬遅延には こ のパ ッ ケージ遅延を考慮 し ます。 同一パ ッ ケージの異な る ダ イ では、 パ ッ ケージ ピ ンが同 じ で も 遅延値が異な る 可能性があ り ます。 その よ う な結果が予測 さ れ る 場合は、 値を適切に平均化す る 必要があ り ま す。 こ れに よ り 、 タ ーゲ ッ ト デバ イ ス の最大性能が低下する 場合があ り ます。 RLDRAM II/RLDRAM 3 信号間の最大電気的遅延に関する 規則は次の と お り です。 • • RLDRAM II ° x36 デー タ 幅では、 DQ[17:0] と DK/DK#[0] 間の ス キ ュ ーの最大値は ±15ps です。 ° x36 デー タ 幅では、 DQ[35:18] お よ び DM と 、 DK/DK#[1] 間の ス キ ュ ーの最大値は ±15ps です。 ° x18 デー タ 幅では、 DQ/DM と DK/DK# 間の ス キ ュ ーの最大値は ±15ps です。 RLDRAM 3 ° DQ[8:0]、 DQ[26:18]、 お よ び DM[0] の DK/DK#[0] と の間の ス キ ュ ーの最大値は ±15ps です。 ° DQ[17:9]、 DQ[35:27]、 お よ び DM[1] の DK/DK#[1] と の間の ス キ ュ ーの最大値は ±15ps です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 390 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • すべての DQ と 関連す る QK/QK# と の ス キ ュ ーの最大値は次の と お り です。 ° RLDRAM II : ±15ps ° RLDRAM 3 : ±10ps • すべてのア ド レ ス/制御信号 と 関連す る CK/CK# と の ス キ ュ ーの最大値は ±50ps と し ます。 • すべての DK/DK# と CK/CK# と の ス キ ュ ーの最大値は ±25ps と し ます。 ピ ン配置の要件 ザ イ リ ン ク ス 7 シ リ ーズ FPGA は非常に高性能な メ モ リ イ ン タ ー フ ェ イ ス に対応す る よ う 設計 さ れて い ま すが、 RLDRAM II/RLDRAM 3 物理層を使用す る 際にはい く つかの規則に従 う 必要が あ り ま す。 ザ イ リ ン ク ス 7 シ リ ーズ FPGA は、 各バ イ ト グループに専用の ロ ジ ッ ク を備え てい ます。 50 ピ ンの各バン ク それぞれに 4 つのバ イ ト グルー プがあ り ます。 各バ イ ト グループには 2 つのマルチ領域 ク ロ ッ ク 兼用 (MRCC) I/O ピ ン ペア と 10 の関連 I/O があ り 、 こ のバ イ ト グループが 4 つで 1 つの 50 ピ ン バン ク を構成 し てい ます。 RLDRAM II 一般的な RLDRAM II デー タ バン ク 構成では、 こ れ ら 10 個の I/O の う ち 9 つをデー タ (DQ) に使用 し 、 残 り の 1 つを デー タ マ ス ク (DM) に使用 し ます。 DM は対応する デー タ と 同 じ バ イ ト レーンに配置す る 必要があ り ます。 2 つのバ イ ト で同 じ DM を共有す る 場合は、 こ れ ら のバ イ ト の 1 つに配置 し ます。 書 き 込み ク ロ ッ ク (DK/DK#) は、 デー タ バ ン ク 内の DQS ペアの う ち 1 つを使用 し ます。 QK/QK# ク ロ ッ ク は、 デー タ バン ク 、 ま たはデー タ の上下にあ る バン ク の MRCC ピ ンに配置 し ます。 ザ イ リ ン ク ス 7 シ リ ーズ FPGA は、高速同期専用の ク ロ ッ ク 配線が I/O バン ク 内で垂 直に配線 さ れてい ます。 こ のため、 RLDRAM II メ モ リ イ ン タ ーフ ェ イ ス はバン ク に水平でな く 垂直に配置す る 必要 があ り ます。 ま た、 高 さ は最大で 3 バン ク ま でです。 MIG ツールで生成 し た コ アは、 デザ イ ンで最適な ピ ン配置が選択 さ れてい ます。 XDC に よ る 手動での変更は推奨 し ませんが、 XDC を変更す る 必要があ る 場合は、 次の規則に従っ て く だ さ い。 • CK/CK# ク ロ ッ ク はア ド レ ス/制御バ イ ト レーンに配置 し ます。 ま た、 DQS ピ ン ペアに も 配置 し ます。 CK は P 位置に、 CK# は N 位置に配置 し ます。 • DK/DK# ク ロ ッ ク はデー タ バ イ ト レーンに配置 し ます。 ま た、 DQS ピ ン ペアに も 配置 し ます。 DK は P 位置に、 DK# は N 位置に配置 し ます。 • デー タ (DQ) は、 1 バ イ ト (9 ビ ッ ト ) に対応す る すべての信号がバ イ ト グループ内に配置 さ れ る よ う に配置す る 必要があ り ます。 DQ はバ イ ト レーン の DQS N 位置に配置で き ません。 こ の位置は ト ラ イ ス テー ト 制御に使用 さ れ る ためです。 • デー タ マ ス ク (DM) は、 関連付け ら れてい る 対応する デー タ バ イ ト レーンの 1 つに配置す る 必要があ り ます。 注記 : DM ピ ン を使用 し ない場合は、 グ ラ ン ド に接続す る 必要が あ り ま す。 詳細は、 メ モ リ ベン ダーのデー タ シー ト を参照 し て く だ さ い。 • 1 つの メ モ リ コ ン ポーネ ン ト か ら 生成 さ れたすべてのデー タ を同 じ バン ク 内に配置す る こ と を推奨 し ます。 • 読み出 し ク ロ ッ ク (QK お よ び QK#) は、 それぞれ各バン ク で使用可能な MRCC ピ ンに配置す る 必要があ り ます。 デー タ は、 関連す る QK/QK# と 同 じ バン ク ま たはそのデー タ の上下にあ る バン ク に配置 し ます。 • ア ド レ ス/制御信号は、 デー タ 向けに使用 さ れないバ イ ト グループ内に配置可能で、 すべて同 じ バン ク 内に配置 す る 必要があ り ます。 • バ イ ト レーンについては、 DQS_N 位置を使用 し て ト ラ イ ス テー ト 制御信号が生成 さ れます。 ト ラ イ ス テー ト の 場合、 DK#、 ま たは DM 専用デー タ で位置を共有で き ます。 • シ ス テ ム ク ロ ッ ク 入力は メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列にあ る 必要があ り ます。 ま た、 シ ス テ ム ク ロ ッ ク 入 力 も ア ド レ ス/制御バン ク に配置す る こ と を強 く 推奨 し ます。 こ の よ う な配置がで き ない場合、 シ ス テ ム入力を ア ド レ ス/バン ク の上下にあ る バン ク に配置す る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 391 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン RLDRAM 3 一般的な RLDRAM 3 デー タ バン ク 構成では、 こ れ ら 10 個の I/O の う ち 9 つをデー タ (DQ) に使用 し 、 残 り の 1 つを デー タ マ ス ク (DM) に使用 し ます。 書 き 込み ク ロ ッ ク (DK/DK#) は、 ア ド レ ス/制御バン ク 内の DQS ペアの う ち 1 つ を使用す る か、 ま たはデー タ バン ク の未使用バ イ ト レ ーン の DQS ペア を使用 し ま す。 QK/QK# ク ロ ッ ク は、 同 ク ロ ッ ク に関連付け ら れてい る デー タ バン ク レーンの DQS ピ ンに配置する 必要があ り ます。 ザ イ リ ン ク ス 7シ リ ーズ FPGA は、 高速同期専用の ク ロ ッ ク 配線が I/O バン ク 内で垂直に配線 さ れてい ます。 こ のため、 RLDRAM 3 メ モ リ イ ン タ ーフ ェ イ ス はバン ク に水平でな く 垂直に配置す る 必要があ り ます。 ま た、 高 さ は最大で 3 バン ク ま でです。 MIG ツールで生成 し た コ アは、 デザ イ ンで最適な ピ ン配置が選択 さ れてい ます。 XDC に よ る 手動での変更は推奨 し ませんが、 XDC を変更す る 必要があ る 場合は、 次の規則に従っ て く だ さ い。 • CK/CK# ク ロ ッ ク はア ド レ ス/制御バ イ ト レーンに配置 し ます。 CK お よ び CK# は、 そのバ イ ト レーンにあ る I/O ピ ン ペアの P 位置お よ び N 位置にそれぞれ配置す る 必要があ り ます。 • DK/DK# ク ロ ッ ク は DQS ピ ン ペアに配置 し ます。 DK は P 位置に、 DK# は N 位置に配置 し ます。 • デー タ (DQ) は、 1 バ イ ト (9 ビ ッ ト ) に対応す る すべての信号がバ イ ト グループ内に配置 さ れ る よ う に配置す る 必要があ り ます。 DQ はバ イ ト レーン の DQS N 位置に配置で き ません。 こ の位置は ト ラ イ ス テー ト 制御に使用 さ れ る ためです。 • デー タ マ ス ク (DM) は、 関連付け ら れてい る 対応す る デー タ バ イ ト レーンの 1 つに配置す る 必要があ り ます。 x18 デバ イ ス の DM[0] は DQ[8:0] に、 DM[1] は DQ[17:9] に対応 し 、 x36 デバ イ ス の DM[0] は DQ[8:0]/DQ[26:18] に、 DM[1] は DQ[17:9]/DQ[35/27] に対応 し ます。 推奨 : DM ピ ン を使用 し ない場合は、 グ ラ ン ド に接続す る 必要があ り ます。 詳細は、 メ モ リ ベン ダーのデー タ シー ト を参照 し て く だ さ い。 • 1 つの メ モ リ コ ン ポーネ ン ト か ら 生成 さ れたすべてのデー タ を同 じ バン ク 内に配置す る こ と を推奨 し ます。 • 読み出 し ク ロ ッ ク (QK お よ び QK#) は、 それぞれデー タ バ イ ト レーンで使用可能な DQS ピ ンに配置す る 必要が あ り ます。 デー タ は関連付け ら れてい る QK/QK# と 同 じ バ イ ト レーンに配置する 必要があ り ます。 • ア ド レ ス/制御信号は、 デー タ 向けに使用 さ れないバ イ ト グループ内に配置可能で、 すべて同 じ バン ク 内に配置 す る 必要があ り ます。 • バ イ ト レーンについては、 DQS_N 位置を使用 し て ト ラ イ ス テー ト 制御信号が生成 さ れます。 ト ラ イ ス テー ト の 場合、 DK# のみ と 位置を共有で き ます。 • シ ス テ ム ク ロ ッ ク 入力は メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列にあ る 必要があ り ます。 ま た、 シ ス テ ム ク ロ ッ ク 入 力 も ア ド レ ス/制御バン ク に配置す る こ と を強 く 推奨 し ます。 こ の よ う な配置がで き ない場合、 シ ス テ ム入力を ア ド レ ス/バン ク の上下にあ る バン ク に配置す る 必要があ り ます。 シ ス テム ク ロ ッ ク 、 PLL の位置および制約 イ ン タ ーフ ェ イ ス のパフ ォーマ ン ス仕様を満たすには、 メ モ リ に ク ロ ッ ク を供給 し てい る バン ク に PLL が必要です。 ま た、 シ ス テ ム ク ロ ッ ク 入力 も こ のバン ク に配置す る こ と を強 く 推奨 し ます。 MIG ツールは可能な限 り こ れ ら 2 つ の規則に従い ます。 ただ し 例外 と し て、 PLL への ク ロ ッ ク 入力用の ピ ンがバン ク にない場合は、 隣のバン ク か ら 周波 数バ ッ ク ボーン を経由 し て PLL に ク ロ ッ ク を入力す る 必要があ り ます。 PLL へのシ ス テ ム ク ロ ッ ク 入力は、 ク ロ ッ ク 兼用 I/O か ら 供給 し ます。 シ ス テ ム ク ロ ッ ク 入力は、同 じ 列にあ る イ ン タ ーフ ェ イ ス に し か使用で き ません。 こ の ク ロ ッ ク 入力を別の列か ら 駆 動す る こ と はで き ません。 こ れは、 PLL/MMCM お よ び ク ロ ッ ク 配線を追加す る こ と にな り 、 ジ ッ タ ーが大 き く な り すぎ る ためです。 PLL か ら の未使用の出力は ク ロ ッ ク 出力 と し て使用で き ます。 こ れ ら の出力のみ、 設定を変更で き ます。 PLL の全体 的な動作や使用中の出力に関す る 設定は変更 し ないで く だ さ い。複数の イ ン タ ーフ ェ イ ス で 1 つの PLL を共有す る こ と はで き ません。 PLL パ ラ メ ー タ ーの条件については、 363 ページの 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 392 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ン XDC には タ イ ミ ン グ、 ピ ン、 I/O 規格に関する 情報が含まれてい ます。 イ ン タ ーフ ェ イ ス の動作周波数はsys_clk 制 約で設定 し ます。 こ の設定は、 MIG の GUI で行い ます。 こ の制約を変更す る 場合は、 ほかの内部パ ラ メ ー タ ーに も 影響が及ぶため、 設定を再度実行す る 必要があ り ます。 次に例を示 し ます。 NET "sys_clk_p" TNM_NET = TNM_sys_clk; TIMESPEC "TS_sys_clk" = PERIOD "TNM_sys_clk" 1.875 ns; clk_ref 制約で IDELAY 基準 ク ロ ッ ク の周波数を設定 し ます (通常は 200MHz)。 次に例を示 し ます。 NET "clk_ref_p" TNM_NET = TNM_clk_ref; TIMESPEC "TS_clk_ref" = PERIOD "TNM_clk_ref" 5 ns; I/O 規格は、 RLDRAM II イ ン タ ー フ ェ イ ス に合わせ て LVCMOS15、 HSTL15_I、 HSTL15_I_DCI、 DIFF_HSTL15_I、 DIFF_HSTL15_I_DCI の 中 か ら 適宜設定 さ れ ま す。 シ ス テ ム ク ロ ッ ク (sys_clk) お よ び I/O 遅延基準 ク ロ ッ ク (clk_ref) には LVDS_25 を使用 し ます。 こ れ ら の規格は、 シ ス テ ム コ ン フ ィ ギ ュ レーシ ョ ンに合わせて変更可能で す。 こ れ ら の信号は、 シ ス テ ム接続のために最上位に配線 さ れます。 • sys_rst : メ イ ン シ ス テ ム リ セ ッ ト 信号です。 • init_calib_complete : 内部キ ャ リ ブ レーシ ョ ンが完了 し 、 イ ン タ ーフ ェ イ ス の使用準備が整っ てい る こ と を示す信 号です。 • tg_compare_error : 読み出 し デー タ と 書 き 込みデー タ が一致 し ない場合にサンプル デザ イ ンの ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て生成 さ れ る 信号です。 こ れ ら の信号はすべて LVCMOS25 に設定 さ れてい ますが、 シ ス テ ム デザ イ ンに応 じ て変更が可能です。 こ れ ら の信 号を生成 し て外部ピ ンに出力す る のではな く 、 内部で使用す る こ と も で き ます。 イ ン タ ーフ ェ イ ス に よ っ ては、 ア ド レ ス/制御お よ びデー タ があ る バン ク の上下いずれかのバン ク にシ ス テ ム ク ロ ッ ク が必要 と な る こ と があ り ます。 こ の場合、 MIG ツールは XDC に制約を追加 し ます。 次に例を示 し ます。 set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets sys_clk_p] set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_pins -hierarchical *pll*CLKIN1] 配置配線の実行時に次の よ う な警告が表示 さ れますが、 こ の警告は無視 し てか ま い ません。 WARNING:Place:1402 - A clock IOB / PLL clock component pair have been found that are not placed at an optimal clock IOB / PLL site pair.The clock IOB component <sys_clk_p> is placed at site <IOB_X1Y76>.The corresponding PLL component <u_backb16/u_infrastructure/plle2_i> is placed at site <PLLE2_ADV_X1Y2>.The clock I/O can use the fast path between the IOB and the PLL if the IOB is placed on a Clock Capable IOB site that has dedicated fast path to PLL sites within the same clock region.You may want to analyze why this problem exists and correct it.This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was applied on COMP.PIN <sys_clk_p.PAD> allowing your design to continue.This constraint disables all clock placer rules related to the specified COMP.PIN.The use of this override is highly discouraged as it may lead to very poor timing results.It is recommended that this error condition be corrected in the design. リ ソ ース が限 ら れ る ため、 MIG ツールで生成 し た メ モ リ イ ン タ ーフ ェ イ ス を含む領域か ら I/O ク ロ ッ キ ン グ バ ッ ク ボーン経由で隣接す る 領域の CMT ブ ロ ッ ク へユーザー ク ロ ッ ク を駆動 し ないで く だ さ い。詳細は、『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) [参照 10] を参照 し て く だ さ い。 MIG ツールは選択 し たデー タ レー ト お よ び電圧入力に基づいて VCCAUX_IO 制約を設定 し ます。生成 さ れた XDC に は、 必要に応 じ て制約が追加 さ れます。 次に例を示 し ます。 NET "sys_clk_p" NET "sys_clk_n" LOC = "Y5" LOC = "W5" | | IOSTANDARD = DIFF_HSTL_I IOSTANDARD = DIFF_HSTL_I | | VCCAUX_IO = DONTCARE; VCCAUX_IO = DONTCARE; 詳細は、 『 タ イ ミ ン グ ク ロ ージ ャ ユーザー ガ イ ド 』 (UG612) [参照 15] を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 393 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ バン ク の 1 つにあ る CCIO ピ ンに メ モ リ シ ス テ ム入力 (sys_clk_p/sys_clk_n) が配置 さ れてい る RLDRAM II イ ン タ ーフ ェ イ ス では、MIG に よ っ て CCIO ピ ンが DIFF_HSTL_I I/O 規格 (VCCO = 1.5V) に設定 さ れます。DIFF_HSTL_I お よ び LVDS 入力の両方に同 じ 差動入力レ シーバーが使用 さ れ る ので、 LVDS ク ロ ッ ク ソ ース は直接 DIFF_HSTL_I CCIO ピ ン に接続で き ま す。 LVDS お よ び LVDS_25 IO 規格の使用法の詳細お よ び必要な回路は、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] を参照 し て く だ さ い。 手動に よ る ピ ン配置の変更 表 3-15 で説明 し たパ ラ メ ー タ ーを手動で変更す る ために、 次の例でそれぞれのバ イ ト レーンに対 し てパ ラ メ ー タ ー を割 り 当て る 方法を示 し ます。 表 3-16 に、 標準の RLDRAM II デー タ バ イ ト レーン を示 し 、 各信号についてバン ク 、 バ イ ト レーン、 そ し て ビ ッ ト 位置を示 し ます。 表 3-16 : RLDRAM II バイ ト レーン #1 バン ク 0 バイ ト レーン 0 ビッ ト DDR バイ ト グループ I/O タ イプ I/O の数 特記 ビ ッ ト レーン 9 VREF A_11 P 12 VREF 0 8 DQ8 A_10 N 11 7 DQ7 A_09 P 10 1 6 DQ6 A_08 N 9 1 B DK0_P A_07 P 8 DQS-P 0 0001 A DK0_N A_06 N 7 DQS-N 0 1 5 DQ5 A_05 P 6 1 1111 4 DQ4 A_04 N 5 1 F 3 DQ3 A_03 P 4 1 2 DQ2 A_02 N 3 1 1 DQ1 A_01 P 2 1 1111 0 DQ0 A_00 N 1 1 F VRN N/A SE 0 1 1FF 表 3-16 に、 表 3-17 のバ イ ト レーン パ ラ メ ー タ ーを示 し ます。 表 3-17 : RLDRAM II デー タ バイ ト レーン #1 のパラ メ ー タ ー パラ メ ー タ ー 値 DK_MAP 8'h00 DQTS_MAP 12'h00A PHY_0_BITLANES 12'h1FF DATA0_MAP 108'h008_007_006_005_004_003_002_001_000 表 3-18 に、 ト ラ イ ス テー ト 位置にデー タ マ ス ク (DM) が配置 さ れたバ イ ト レーン を示 し ます。 DM と ト ラ イ ス テー ト 制御 は OSERDES 位置 を 共有 で き ま す が、 物理層 の OUT_FIFO で は 同 じ 位置 を 共有 で き ま せ ん。 こ の た め、 OUT_FIFO か ら の一部の信号を表 3-18 に示す と お り にシ フ ト さ せ る 必要があ り ます。 シ フ ト 方向は、 バ イ ト レーン の位置に よ っ て決定 し ます。 バ イ ト レーン 0、 1 の場合は上方向、 2、 3 の場合は下方向にシ フ ト し ます。 こ の場合、 PHY は ト ラ イ ス テー ト 制御 と DM を結合 し て同 じ OSERDES 位置を共有 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 394 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-18 : RLDRAM II バイ ト レーン #3 (例)、 DM と 共有 さ れる ト ラ イ ス テー ト (バイ ト レーン #1) バン ク バイ ト ビッ ト レーン MAP バイ ト グループ DDR I/O タ イプ I/O の数 特記 ビ ッ ト レーン XDC 9 0 1 QK0_P B_11 P 24 CCIO-P 0 1 8 DQ17 QK0_N B_10 N 23 CCIO-N 7 DQ16 DQ17 B_09 P 22 CCIO-P 1 6 DQ15 DQ16 B_08 N 21 CCIO-N 1 B ト ライ ス テー ト DQ15 B_07 P 20 DQS-P 0 0101 A DM DM B_06 N 19 DQS-N 1 5 5 DQ14 DQ14 B_05 P 18 1 1111 4 DQ13 DQ13 B_04 N 17 1 F 3 DQ12 DQ12 B_03 P 16 1 2 DQ11 DQ11 B_02 N 15 1 1 DQ10 DQ10 B_01 P 14 1 1111 0 DQ9 DQ9 B_00 N 13 1 F 5FF 表 3-18 に、 表 3-19 のバ イ ト レーン パ ラ メ ー タ ーを示 し ます。 表 3-19 : RLDRAM II デー タ バイ ト レーン #3 のパラ メ ー タ ー パラ メ ー タ ー 値 DM_MAP 12'h01A DQTS_MAP 12'h01B PHY_0_BITLANES 12'h5FF DATA1_MAP 108'h018_017_016_015_014_013_012_011_010 QK_MAP 8'h01 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 395 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-20 に、 ト ラ イ ス テー ト 制御位置が使用 さ れない別の RLDRAM II バ イ ト レーン を示 し ます。 表 3-20 : RLDRAM II バイ ト レーン #4、 制御位置が未使用の ト ラ イ ス テー ト バン ク バイ ト ビッ ト レーン MAP DDR バイ ト グループ I/O タ イプ I/O の数 特記 ビ ッ ト レーン XDC 0 2 9 DQ26 DQ26 C_11 P 12 1 8 DQ25 DQ25 C_10 N 11 1 7 DQ24 DQ24 C_09 P 10 1 6 DQ23 DQ23 C_08 N 9 1 B DQ22 DQ22 C_07 P 8 DQS-P 1 1011 C_06 N 7 DQS-N 0 B A 5 DQ21 DQ21 C_05 P 6 1 1111 4 DQ20 DQ20 C_04 N 5 1 F 3 DQ19 DQ19 C_03 P 4 CCIO-P 1 2 DQ18 DQ18 C_02 N 3 CCIO-N 1 1 QK1_P C_01 P 2 CCIO-P 0 1100 0 QK1_N C_00 N 1 CCIO-N 0 C BFC 表 3-20 に、 表 3-21 のバ イ ト レーン パ ラ メ ー タ ーを示 し ます。 表 3-21 : RLDRAM II デー タ バイ ト レーン #4 のパラ メ ー タ ー パラ メ ー タ ー 値 DQTS_MAP 12'h02A PHY_0_BITLANES 12'hBFC DATA1_MAP 108'h029_028_027_026_02B_025_024_023_022 QK_MAP 8'h02 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 396 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-22 に、 ト ラ イ ス テー ト ピ ン位置が DM に使用 さ れ る RLDRAM II バ イ ト レーン を示 し ます。 こ の場合、 信号は OUT_FIFO で下方向にシ フ ト さ れます。 表 3-22 : RLDRAM II バイ ト レーン #5 (例)、 DM と 共有 さ れる ト ラ イ ス テー ト (バイ ト レーン #2) バン ク バイ ト ビ ッ レーン ト MAP バイ ト グループ DDR I/O タ イプ I/O の数 特記 ビ ッ ト レーン XDC 0 2 9 DQ26 DQ26 C_11 P 12 1 8 DQ25 DQ25 C_10 N 11 1 7 DQ24 DQ24 C_09 P 10 1 6 DQ23 DQ23 C_08 N 9 1 B DQ22 DQ22 C_07 P 8 DQS-P 1 1111 A DM DM C_06 N 7 DQS-N 1 F 5 3-state DQ21 C_05 P 6 0 1101 4 DQ21 DQ20 C_04 N 5 1 D 3 DQ20 DQ19 C_03 P 4 CCIO-P 1 2 DQ19 DQ18 C_02 N 3 CCIO-N 1 1 DQ18 QK1_P C_01 P 2 CCIO-P 1 1110 QK1_N C_00 N 1 CCIO-N 0 E 0 FDE 表 3-22 に、 表 3-23 のバ イ ト レーン パ ラ メ ー タ ーを示 し ます。 表 3-23 : RLDRAM II デー タ バイ ト レーン #5 のパラ メ ー タ ー パラ メ ー タ ー 値 DM_MAP 12'h02A DQTS_MAP 12'h025 PHY_0_BITLANES 12'hFDE DATA1_MAP 108'h029_028_027_026_02B_024_023_022_021 QK_MAP 8'h02 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 397 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン I/O 規格 MIG ツールは、 7 シ リ ーズ FPGA に対す る 入力ま たは出力に応 じ て SelectIO™ 規格を選択 し 、 コ アの XDC を適切に 生成 し ます。 こ れ ら の規格は変更 し ないで く だ さ い。 表 3-24 お よ び表 3-25 に、 ポー ト と 使用 さ れ る I/O 規格の一覧 を示 し ます。 表 3-24 : RLDRAM II I/O 規格 信号 方向 I/O 規格 rld_ck_p、 rld_ck_n 出力 DIFF_HSTL_I rld_dk_p、 rld_dk_n 出力 DIFF_HSTL_I rld_cs_n 出力 HSTL_I rld_we_n 出力 HSTL_I rld_ref_n 出力 HSTL_I rld_a 出力 HSTL_I rld_ba 出力 HSTL_I rld_dm 出力 HSTL_I rld_dq 入力/出力 HSTL_II_T_DCI、 HSTL_II rld_qk_p、 rld_qk_n 入力 DIFF_HSTL_II_DCI、 DIFF_HSTL_II 信号 方向 I/O 規格 rld_ck_p、 rld_ck_n 出力 DIFF_SSTL12 rld_dk_p、 rld_dk_n 出力 DIFF_SSTL12 rld_cs_n 出力 SSTL12 rld_we_n 出力 SSTL12 rld_ref_n 出力 SSTL12 rld_a 出力 SSTL12 rld_ba 出力 SSTL12 rld_dm 出力 SSTL12 rld_dq 入力/出力 SSTL12_T_DCI、 SSTL12 rld_qk_p、 rld_qk_n 入力 DIFF_SSTL12_DCI、 DIFF_SSTL12 表 3-25 : RLDRAM 3 I/O 規格 パフ ォーマ ン ス仕様を満たすには、FPGA に DCI (HP バン ク の場合) ま たは IN_TERM (HR バン ク の場合) が必要です。 MIG ツ ールで生成 し た デザ イ ン は、 High-Performance バ ン ク で のデー タ (DQ) お よ び読み出 し ク ロ ッ ク (QK_P と QK_N) に DCI 規格を使用 し ます。 RLDRAM II の High-Range バン ク では HSTL_II お よ び DIFF_HSTL_II 規格を使用 し 、 内部終端 (IN_TERM) 属性は MIG の GUI で選択 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 398 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン RLDRAM II および RLDRAM 3 デザイ ンのデバ ッ グ こ こ では、 メ モ リ イ ン タ ーフ ェ イ ス の設計プ ロ セ ス で生 じ る 問題を特定 し 、 修正す る ためのデバ ッ グ方法を手順を 追っ て説明 し ます。 概要 RLDRAM II お よ び RLDRAM 3 メ モ リ イ ン タ ーフ ェ イ ス では、 メ モ リ イ ン タ ーフ ェ イ ス デザ イ ンの複雑な点が単純 にな っ てい ますが、 アプ リ ケーシ ョ ン環境はそれぞれに異な る ため、 堅牢なデザ イ ン を構築す る には適切な配慮が必 要です。 シ ミ ュ レーシ ョ ン、 適切な合成 と イ ン プ リ メ ン テーシ ョ ン、 PCB レ イ ア ウ ト ガ イ ド ラ イ ン の順守な ど の機 能検証や、 IBIS シ ミ ュ レーシ ョ ンやシ グナル イ ン テ グ リ テ ィ 解析な ど のボー ド 検証を注意深 く 実行 し て く だ さ い。 こ こ では、 設計プ ロ セ ス で生 じ る 問題を特定 し 、 修正する ためのデバ ッ グ方法を手順を追っ て説明 し ます。 特に、 次 の内容について詳 し く 説明 し ます。 • UNISIM シ ミ ュ レーシ ョ ン モデルを使用 し た機能検証 • デザ イ ン イ ンプ リ メ ン テーシ ョ ンの検証 • ボー ド レ イ ア ウ ト の検証 • RLDRAM II/RLDRAM 3 物理層を使用 し たボー ド レベル問題のデバ ッ グ • 一般的なボー ド レベル デバ ッ グ手法 メ モ リ イ ン タ ーフ ェ イ ス の検証時に直面する 主な問題 と し ては、 次の 2 つがあ り ます。 • キ ャ リ ブ レーシ ョ ンが正常に完了 し ない • 通常動作時にデー タ が破損す る 問題はその原因に よ り 、 シ ミ ュ レーシ ョ ン あ る いはハー ド ウ ェ アでのみ発生する 場合 と 、 こ れ ら 両方で発生す る 場合 があ り ます。 図 3-61 に、 こ れ ら 2 つの一般的な問題をデバ ッ グする 際の概略フ ロ ーを示 し ます。 X-Ref Target - Figure 3-61 6\PSWRPVLQ6LPXODWLRQ+DUGZDUH &DOLEUDWLRQ)DLOXUH 'DWD%LW%\WH&RUUXSWLRQ(UURUV 6LPXODWLRQ'HEXJ 6\QWKHVLV,PSOHPHQWDWLRQ'HEXJ +DUGZDUH'HEXJ 図 3-61 : MIG によ る RLDRAM II/RLDRAM 3 のデバ ッ グ フ ロー図 デバ ッ グ ツール メ モ リ イ ン タ ーフ ェ イ ス デザ イ ンのデバ ッ グ ツールは数多 く あ り ます。 こ こ では、 状況に応 じ て最適なデバ ッ グ リ ソ ース を紹介 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 399 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン サン プル デザイ ン MIG ツールで RLDRAM II/RLDRAM 3 デザ イ ン を生成す る と 、 サンプル デザ イ ン と ユーザー デザ イ ンが生成 さ れま す。 サンプル デザ イ ンには、 シ ミ ュ レーシ ョ ンお よ びハー ド ウ ェ アで完全に検証済みの合成可能なテ ス ト ベンチが含 まれます。 こ のデザ イ ンは、 MIG ツールで生成 し たデザ イ ンの動作を確認する ために使用で き 、 ボー ド 関連の問題を 特定す る 際に も 有用です。 デバ ッ グ信号 MIG の [FPGA Options] ページには [Debug Signals Control] があ り ます。 こ の機能を有効にす る と 、 キ ャ リ ブ レーシ ョ ン、 タ ッ プ遅延、 読み出 し デー タ 信号を Vivado ロ ジ ッ ク 解析を使用 し て監視で き ます。 ま た、 デバ ッ グ信号がデザ イ ンの最上位モジ ュ ールで Vivado ロ ジ ッ ク 解析機能の VIO モジ ュ ールにポー ト マ ッ プ さ れます。 Vivado Lab Edition Vivado Lab Edition を使用 し て、 ロ ジ ッ ク アナ ラ イ ザー、 バ ス アナ ラ イ ザー、 VIO ソ フ ト ウ ェ アの コ ア をデザ イ ンに 直接組み込み ます。 サポー ト さ れ る ILA お よ び VIO のバージ ョ ンは 3.0 です。 Vivado Lab Edition では、 ハー ド ウ ェ ア で ア プ リ ケーシ ョ ン 信号や MIG 信号 を キ ャ プチ ャ す る ト リ ガー条件 を 設定で き ま す。 キ ャ プチ ャ し た信号は、 Vivado ロ ジ ッ ク 解析で解析で き ます。 Vivado ロ ジ ッ ク 解析の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 16] を参照 し て く だ さ い。 重要 : Vivado Lab Edition、 ILA は同期 ク ロ ッ ク で動作 し 、 リ セ ッ ト の期間は ト リ ガーで き ません。 代わ り に、 信号の 基数値をバ イ ナ リ に設定 し て ILA 信号を ト リ ガー し 、 立ち上が り エ ッ ジ (R) ま たは立ち下が り エ ッ ジ (F) を検出 し ま す。 こ の よ う な設定に よ り 、 ト リ ガーを機能 さ せる こ と がで き ます。 リ セ ッ ト を適用 し て リ リ ースする と 、 ト リ ガー に よ っ て所望の ILA 結果がキ ャ プチ ャ さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 400 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン シ ミ ュ レーシ ョ ンのデバ ッ グ 図 3-62 に、 シ ミ ュ レーシ ョ ンのデバ ッ グ フ ロ ーを示 し ます。 X-Ref Target - Figure 3-62 9HULI\6XFFHVVIXO6LPXODWLRQ8VLQJ ([DPSOH'HVLJQ,GHQWLI\DQ\,VVXHVZLWK 6LPXODWLRQ(QYLURQPHQW 'HEXJ,VVXHVZLWK8VHU'HVLJQ6LPXODWLRQ 2SHQ:HE&DVH 図 3-62 : シ ミ ュ レーシ ョ ンのデバ ッ グ フ ロー図 サン プル デザイ ン を使用 し たシ ミ ュ レーシ ョ ン検証 MIG ツールで生成 し たサンプル デザ イ ンには、 シ ミ ュ レーシ ョ ン テ ス ト ベンチ、 MIG ツールで選択 し た メ モ リ に基 づ く パ ラ メ ー タ ー フ ァ イ ルが含ま れ ます。 こ のサ ンプル デザ イ ン のシ ミ ュ レーシ ョ ンが正常に完了す る と 、 適切な シ ミ ュ レーシ ョ ン環境であ る こ と が保証 さ れます。 ソ フ ト ウ ェ ア リ リ ー ス ご と に、 QuestaSim、 Vivado シ ミ ュ レ ー タ 、 IES、 VCS シ ミ ュ レ ーシ ョ ン ツ ール を使用 し て MIG IP が検証 さ れます。IES お よ び VCS シ ミ ュ レー タ でシ ミ ュ レーシ ョ ン を実行する ための ス ク リ プ ト フ ァ イ ルは、 MIG の出力内に生成 さ れます。 QuestaSim、 Vivado シ ミ ュ レー タ を使用 し たシ ミ ュ レーシ ョ ンは、 Vivado Tcl コ ン ソ ー ルの コ マ ン ド ま たは Vivado IDE で実行で き ます。 重要 : MIG IP のシ ミ ュ レーシ ョ ンにはその他のシ ミ ュ レーシ ョ ン ツール も 使用で き ますが、 ザ イ リ ン ク ス では特に こ れ ら を検証 し てい ません。 IES および VCS ス ク リ プ ト フ ァ イルを使用 し たシ ミ ュ レーシ ョ ン フ ロー シ ミ ュ レーシ ョ ンは、 次のデ ィ レ ク ト リ か ら 実行 し ます。 <project_dir>/<Component_Name>_example/<component name>_example.srcs/sim_1/imports/sim プ ロ ジ ェ ク ト 名を project_1 と し 、Vivado IDE の コ ン ポーネ ン ト 名を mig_7series_0 と し て作成 さ れたプ ロ ジ ェ ク ト では、 次のデ ィ レ ク ト リ か ら 開始 し ます。 project_1/mig_7series_0_example/mig_7series_0_example.srcs/sim_1/imports/sim IES お よ び VCS シ ミ ュ レーシ ョ ン ス ク リ プ ト は、 Linux オペレーテ ィ ン グ シ ス テ ム上でのみ実行 さ れます。 ies_run.sh お よ び vcs_run.sh フ ァ イ ルは、それぞれ IES お よ び VCS シ ミ ュ レー タ を使用 し た シ ミ ュ レーシ ョ ン 用の実行フ ァ イ ルです。 ies_run.sh お よ び vcs_run.sh フ ァ イ ルそれぞれに ラ イ ブ ラ リ フ ァ イ ルを追加 し ます。 IES お よ び VCS を使用 し たシ ミ ュ レーシ ョ ンの詳細は、 readme.txt を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 401 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado シ ミ ュ レー タ を使用 し たシ ミ ュ レーシ ョ ン フ ロー 1. [Open IP Example Design] での Vivado プ ロ ジ ェ ク ト で、 Flow Navigator の下にあ る [Simulation Settings] を ク リ ッ ク し ます (図 3-63)。 X-Ref Target - Figure 3-63 図 3-63 : Vivado シ ミ ュ レー タ によ る シ ミ ュ レーシ ョ ン 2. 図 3-63 に示す [Simulation] タ ブで、 [xsim.simulate.runtime] を 1ms に設定 し ます (一定時間 (1ms よ り も ずっ と 短い時間) 経過後にシ ミ ュ レーシ ョ ン を停止す る シ ミ ュ レーシ ョ ン RTL 指示子あ り )。 [OK] を ク リ ッ ク し て、 設定を適用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 402 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 3. 図 3-64 に示す よ う に、 Flow Navigator で、 [Run Simulation] → [Run Behavioral Simulation] を ク リ ッ ク し ます。 X-Ref Target - Figure 3-64 図 3-64 : [Run Behavioral Simulation] の選択 注記 : RLDRAM 3 メ モ リ モデルの持つ System Verilog 構造は、 Vivado シ ミ ュ レー タ ではサポー ト さ れてい ません。 QuestaSim を使用する シ ミ ュ レーシ ョ ン 1. [Open IP Example Design] での Vivado プ ロ ジ ェ ク ト で、Flow Navigator の下にあ る [Simulation Settings] を ク リ ッ ク し ます。 2. [Target simulator] で QuestaSim/ModelSim を選択 し ます。 3. a. コ ンパ イ ル済みの ラ イ ブ ラ リ の場所を参照 し 、 [Compiled libraries location] にそのパ ス を設定 し ます。 b. [Simulation] タ ブで、 [modelsim.simulate.runtime] を 1ms に設定 し ます (一定時間 (1ms よ り も ずっ と 短い時間) 経過後にシ ミ ュ レーシ ョ ン を停止する シ ミ ュ レーシ ョ ン RTL 指示子あ り )、図 3-63 に示す よ う に、 [modelsim.simulate.vsim.more_options] を -novopt に設定 し ます。 c. [Compilation] タ ブで [modelsim.compile.vlog.more_options] を -sv 設定 し ます。(RLDRAM 3 デザ イ ンのみ)。 [OK] を ク リ ッ ク し て、 設定を適用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 403 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-65 図 3-65 : QuestaSim によ る シ ミ ュ レーシ ョ ン 4. 図 3-64 に示す よ う に、 Flow Navigator で、 [Run Simulation] → [Run Behavioral Simulation] を ク リ ッ ク し ます。 5. QuestaSim が Vivado か ら 呼び出 さ れ、 シ ミ ュ レーシ ョ ン を実行 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 8] を参照 し て く だ さ い。 ザ イ リ ン ク ス ラ イ ブ ラ リ の設定方法は、『 コ マ ン ド ラ イ ン ツール ユーザー ガ イ ド 』 (UG628) [参照 17] の「COMPXLIB」 お よ び 『合成/シ ミ ュ レーシ ョ ン デザ イ ン ガ イ ド 』 (UG626) [参照 18] を参照 し て く だ さ い。 シ ミ ュ レーシ ョ ン ツール のサポー ト については、 『Zynq-7000 AP SoC お よ び 7 シ リ ーズ デバ イ ス メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン デー タ シー ト 』 (DS176) [参照 1] を参照 し て く だ さ い。 サンプル デザ イ ンのシ ミ ュ レーシ ョ ンでは、 メ モ リ 初期化を完了 し た後、 テ ス ト ベンチの ス テ ィ ミ ュ ラ ス に対応 し て ト ラ フ ィ ッ ク を実行 し ます。 メ モ リ の初期化お よ びキ ャ リ ブ レーシ ョ ンが完了す る と 、 init_calib_complete 信 号がアサー ト さ れます。 こ の信号がアサー ト さ れ る と ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに制御が移 り 、 パ ラ メ ー タ ー値に 基づいて読み出 し お よ び書 き 込みを開始 し ます。 表 3-26 に、 シ ミ ュ レーシ ョ ンで使用す る 信号お よ びパ ラ メ ー タ ーを示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 404 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-26 : シ ミ ュ レーシ ョ ン で使用する信号 信号名 使用法 tg_compare_error UI か ら 書 き 込ま れたデー タ と UI の読み出 し 時に受信 し たデー タ が一致 し ていない こ と を示 し ます。 こ の信号はサンプル デザ イ ンの一部です。 1 回のエ ラ ーで信号がアサー ト さ れ、 デザ イ ンが リ セ ッ ト さ れ る ま でその状態が続 き ます。 dbg_cmp_err UI か ら 書 き 込ま れたデー タ と UI の読み出 し 時に受信 し たデー タ が一致 し ていない こ と を示 し ます。 こ の信号はサンプル デザ イ ンの一部です。 デー タ の不一致が生 じ る ご と に アサー ト さ れます。 user_cmd_en コ マ ン ド が有効か ど う か を示 し ます。 user_cmd ユーザーに よ る 要求が書 き 込み コ マ ン ド であ る か、 読み出 し コ マ ン ド であ る か を示 し ま す。 2'b00 : 書 き 込み コ マ ン ド 2'b01 : 読み出 し コ マ ン ド 2'b10 : NOP 2'b11 : NOP user_addr 現在の コ マ ン ド のア ド レ ス位置です。 user_ba 現在の コ マ ン ド のバン ク ア ド レ ス の位置です。 user_wr_en user_wr_data が有効な場合にアサー ト さ れます。 書き 込みコ マ ン ド に必要です。 user_wr_data 書 き 込み コ マ ン ド の書 き 込みデー タ です。 user_wr_dm マ ス ク をはず し 、 書 き 込み ト ラ ンザ ク シ ョ ンですべてのデー タ が書 き 込ま れない よ う に す る デー タ マ ス ク です。 user_afifo_empty コ マ ン ド お よ びア ド レ ス FIFO が空であ る こ と を示 し ます。 user_afifo_full コ マ ン ド お よ びア ド レ ス FIFO が フルであ る こ と を示 し ます。 アサー ト さ れ る と 、 追加 の コ マ ン ド お よ びデー タ が受信 さ れません。 user_wdfifo_empty 書 き 込みデー タ FIFO が空であ る こ と を示 し ます。 user_wdfifo_full 書 き 込みデー タ FIFO が フ ルであ る こ と を示 し ます。 アサー ト さ れ る と 、 追加の書 き 込 みデー タ が受信 さ れません。 user_rd_valid user_rd_data が有効の場合、 アサー ト さ れます。 user_rd_data 読み出 し コ マ ン ド の結果 と し て、 読み出 し デー タ が メ モ リ か ら 返 さ れます。 メ モ リ の初期化 シ ミ ュ レ ーシ ョ ン では、 MIG ツールは、 メ モ リ の初期化で一般に要す る 長い待機時間が省略 さ れ る よ う にデザ イ ン パ ラ メ ー タ ーを設定 し ます。 こ の よ う なパ ラ メ ー タ ーは、 結果的に メ モ リ モデルの警告を招 く こ と があ り ます。 ハー ド ウ ェ ア で完全な メ モ リ ア レ イ を正 し く 初期化お よ びキ ャ リ ブ レ ーシ ョ ンす る デザ イ ン の場合、 上位 MIG ツール フ ァ イ ル (example_top.v) では こ れ ら のパ ラ メ ー タ ーに対応す る 省略 さ れた値を使用で き ません。MIG ツールの出 力に よ っ て、テ ス ト ベンチでは省略 さ れた値が、最上位のデザ イ ン モジ ュ ールでは全範囲の値が正 し く 設定 さ れます。 キ ャ リ ブ レーシ ョ ン キ ャ リ ブ レーシ ョ ンは、 リ ー ド レベ リ ン グ と リ ー ド イ ネーブル キ ャ リ ブ レーシ ョ ンで構成 さ れます。 こ れは 3 段階 で実行 し ます。 キ ャ リ ブ レーシ ョ ン プ ロ セ ス が正 し く 完了する と 、 init_calib_complete 信号がアサー ト さ れま す。 詳細は、 365 ページの 「物理 イ ン タ ーフ ェ イ ス」 を参照 し て く だ さ い。 最初の段階では、 ビ ッ ト 単位の リ ー ド レベ リ ン グ キ ャ リ ブ レーシ ョ ン を実行 し ます。 こ の段階で使用す る デー タ パ タ ーンは、 「0_F_0_F_0_F_F_0」 です。 こ のデー タ パ タ ーン を まず メ モ リ に書 き 込みます (図 3-66)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 405 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-66 図 3-66 : 第 1 段階の読み出 し キ ャ リ ブ レーシ ョ ンにおける書き込み Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 406 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン こ のパ タ ーン を、 キ ャ リ ブ レーシ ョ ン実行中に連続 し て読み出 し ます (図 3-67)。 X-Ref Target - Figure 3-67 図 3-67 : 第 1 段階の読み出 し キ ャ リ ブ レーシ ョ ンにおける読み出 し 第 2 段階では、 デー タ が正 し い順で返 さ れ る よ う に調整が行われます。 デー タ パ タ ーンの長 さ は、 メ モ リ ク ロ ッ ク お よ び FPGA ロ ジ ッ ク ク ロ ッ ク の比率に依存 し ます。 RLDRAM II の場合、 A_5_0_F のデー タ パ タ ーンが最初に メ モ リ に書 き 込まれ、 引 き 続 き リ ー ド バ ッ ク さ れて必要に応 じ て内部で調整 さ れます。 RLDRAM 3 の場合、 A_5_0_F_9_6_D_2 のデー タ パ タ ーンが最初に メ モ リ に書 き 込まれ、 引 き 続 き リ ー ド バ ッ ク さ れ て必要に応 じ て内部で調整 さ れます。 第 3 段階では リ ー ド イ ネーブル信号のキ ャ リ ブ レーシ ョ ン を実行 し ます。 こ の段階で使用 さ れ る デー タ パ タ ーンは、 第 2 段階のキ ャ リ ブ レーシ ョ ン で使用 さ れ る パ タ ーン と 同 じ も のです。こ のデー タ パ タ ーン を メ モ リ に書 き 込んでか ら 読み出 し 、 リ ー ド イ ネーブル信号のキ ャ リ ブ レーシ ョ ン を実行 し ます (図 3-68)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 407 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-68 図 3-68 : 第 2 段階の読み出 し キ ャ リ ブ レーシ ョ ンにおける書き込み と 読み出 し (RLDRAM II のパ タ ーン) X-Ref Target - Figure 3-69 図 3-69 : 第 3 段階の読み出 し キ ャ リ ブ レーシ ョ ンにおけ る書き込み と 読み出 し (RLDRAM II のパ タ ーン) 再度書 き 込み/読み出 し を実行す る と 読み出 し バ スは別の値に駆動 さ れます。 こ れは、読み出 し キ ャ リ ブ レーシ ョ ン で 正 し いデー タ パ タ ーン を識別で き る よ う にする ため、 主にハー ド ウ ェ アで必要です。 第 3 段階のキ ャ リ ブ レーシ ョ ンが完了す る と init_calib_complete 信号がアサー ト さ れ、キ ャ リ ブ レーシ ョ ン プ ロ セ ス が正 し く 完了 し た こ と を示 し ます。 テ ス ト ベン チ init_calib_complete がアサー ト さ れ る と テ ス ト ベンチに制御が移 り 、 メ モ リ への書 き 込みお よ び読み出 し を実 行 し ます。 書 き 込んだデー タ と 読み出 し たデー タ が比較 さ れ、 その結果が一致 し ない場合はエ ラ ー信号がアサー ト さ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 408 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン れます。 図 3-70 に、 エ ラ ーがアサー ト さ れずにテ ス ト ベンチの イ ンプ リ メ ン テーシ ョ ンが成功 し た様子を示 し ます。 X-Ref Target - Figure 3-70 図 3-70 : キ ャ リ ブ レーシ ョ ン完了後のテ ス ト ベン チの動作 正 し い書き込みおよび読み出 し コ マ ン ド 書 き 込みお よ び読み出 し コ マ ン ド を送信す る 際は、 対応す る UI 入力を適切にアサー ト ま たはデ ィ アサー ト す る 必要 があ り ます。 詳細は、 356 ページの 「 ク ラ イ ア ン ト イ ン タ ーフ ェ イ ス」 お よ び 358 ページの 「 ク ラ イ ア ン ト イ ン タ ー フ ェ イ ス を介 し た コ ア と の イ ン タ ーフ ェ イ ス」 を参照 し て く だ さ い。 サ ンプル デザ イ ン に付属す る テ ス ト ベンチ デ ザ イ ン を使用 し て、 UI の動作を検証で き ます。 RLDRAM II/RLDRAM 3 イ ン タ ーフ ェ イ ス のデー タ エ ラ ーをデバ ッ グす る には、 UI 信号を シ ミ ュ レーシ ョ ン波形を 取得す る 必要があ り ます。 QuestaSim の [Instance] ウ ィ ン ド ウ で u_ip_top を選択する と 、 [Objects] ウ ィ ン ド ウ に必要な UI 信号が表示 さ れます (図 3-71)。 405 ページの表 3-26 に示す UI 信号を右 ク リ ッ ク し 、 [Add] → [To Wave] → [Selected Signals] を ク リ ッ ク し ます。 X-Ref Target - Figure 3-71 図 3-71 : QuestaSim の [Instance] ウ ィ ン ド ウ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 409 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 3-72 と 図 3-73 に、 ユーザー イ ン タ ーフ ェ イ ス の書 き 込み/読み出 し 波形の例を示 し ます。 X-Ref Target - Figure 3-72 図 3-72 : ユーザー イ ン タ ー フ ェ イ スの書き込み X-Ref Target - Figure 3-73 図 3-73 : ユーザー イ ン タ ー フ ェ イ スの読み出 し 合成および イ ン プ リ メ ン テーシ ョ ンのデバ ッ グ 図 3-74 に、 合成お よ び イ ンプ リ メ ン テーシ ョ ンのデバ ッ グ フ ロ ーを示 し ます。 X-Ref Target - Figure 3-74 9HULI\6XFFHVVIXO6\QWKHVLVDQG ,PSOHPHQWDWLRQ8VLQJ([DPSOH'HVLJQ 9HULI\$Q\0RGLILFDWLRQWRWKH0,*2XWSXW 9HULI\6XFFHVVIXO6\QWKHVLVDQG ,PSOHPHQWDWLRQ8VLQJ8VHU'HVLJQ 9HULI\'HVLJQ7LPLQJLQ75$&( 2SHQ:HE&DVH 図 3-74 : 合成および イ ン プ リ メ ン テーシ ョ ンのデバ ッ グ フ ロー図 重要 : こ の コ アでは Synplify の標準合成フ ロ ーはサポー ト さ れてい ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 410 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 合成および イ ン プ リ メ ン テーシ ョ ンの検証 MIG ツールに よ っ て生成 さ れ る サンプル デザ イ ンお よ びユーザー デザ イ ンには、合成/ イ ンプ リ メ ン テーシ ョ ン ス ク リ プ ト フ ァ イ ルお よ び .xdc フ ァ イ ルが含ま れ ます。 こ れ ら の フ ァ イ ルを正 し く 使用 し て タ ーゲ ッ ト デザ イ ン を合 成お よ び イ ンプ リ メ ン ト し 、 ビ ッ ト ス ト リ ーム を生成 し ます。 MIG 出力の変更を検証 MIG ツールでは メ モ リ イ ン タ ーフ ェ イ ス信号の FPGA バン ク を選択で き ます。選択 し たバン ク に基づいて、MIG ツー ル は 必 要 な す べ て の ロ ケ ー シ ョ ン 制 約 を 記述 し た XDC フ ァ イ ル を 出力 し ま す。 こ の フ ァ イ ル は、 example_design/par デ ィ レ ク ト リ と user_design/par デ ィ レ ク ト リ に生成 さ れ、 変更で き ません。 MIG ツールは最上位の HDL パ ラ メ ー タ ーでパ ラ メ ー タ ーが指定 さ れたオープン ソ ース RTL コ ー ド を出力 し ます。 こ れ ら のパ ラ メ ー タ ーは MIG ツールに よ っ て設定 さ れ る ため、 手動で変更 し ないで く だ さ い。 周波数の増減な ど の変 更が必要な場合は MIG ツールを再実行 し て ア ッ プデー ト し たデザ イ ン を作成 し ます。 手動での変更はサポー ト さ れ ていないため、 変更す る 場合はビヘ イ ビ アー シ ミ ュ レーシ ョ ン、 合成、 お よ び イ ンプ リ メ ン テーシ ョ ン を それぞれ実 行 し て検証す る 必要があ り ます。 タ イ ミ ング エ ラ ーの検出 と 解析 MIG の RLDRAM II/RLDRAM 3 デザ イ ンは、 サ ンプル デザ イ ン を使用 し て幅広い コ ン フ ィ ギ ュ レーシ ョ ン で タ イ ミ ン グ を満たす こ と が検証 さ れてい ます。 ただ し 、 MIG ツールで生成 し たデザ イ ンに特定のユーザー アプ リ ケーシ ョ ン ロ ジ ッ ク を統合 し た場合な どは、 タ イ ミ ン グ違反が発生する こ と があ り ます。 タ イ ミ ン グ 違反が発生 し た場合は、 それ を 解決す る 必要が あ り ま す。 TRACE で出力 さ れ る タ イ ミ ン グ レ ポー ト (.twx/.twr) を解析 し 、 タ イ ミ ン グ違反のパ ス が MIG ツールの RLDRAM II デザ イ ン と MIG デザ イ ンへの UI (バ ッ ク エン ド アプ リ ケーシ ョ ン) の ど ち ら にあ る のか を確認 し ます。 エ ラ ーが発生 し た場合は、 フ ァ イ ルで指定 し た ビル ド オプシ ョ ン (XST、 MAP、 PAR) が適切に使用 さ れてい る かを確認 し ます。 それで も エ ラ ーが解消 さ れない場合は、 さ ま ざ ま なザ イ リ ン ク ス リ ソ ース を使用 し 、 タ イ ミ ン グ ク ロ ージ ャ を達成 し ます。 PlanAhead™ [参照 19] は、 デザ イ ン全体の性能 と 品質を改善 し ます。 ザ イ リ ン ク ス制約の詳細は、 『 タ イ ミ ン グ ク ロ ージ ャ ユーザー ガ イ ド 』 (UG612) [参照 15] を参照 し て く だ さ い。 ハー ド ウ ェ アのデバ ッ グ 図 3-75 に、 ハー ド ウ ェ アのデバ ッ グ フ ロ ーを示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 411 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 3-75 9HULI\0HPRU\,PSOHPHQWDWLRQ*XLGHOLQHV DUH3URSHUO\)ROORZHG 5XQ6,6LPXODWLRQ8VLQJ,%,6 5XQ([DPSOH'HVLJQ ,VRODWH%LW(UURUV %RDUG0HDVXUHPHQWV 0HDVXUH6LJQDO,QWHJULW\ 0HDVXUH6XSSO\DQG95()9ROWDJHV 0HDVXUH%XV7LPLQJ &KHFN&ORFNLQJ5XQ,QWHUIDFHDW 6ORZHU)UHTXHQF\ 2SHQ:HE&DVH 図 3-75 : ハー ド ウ ェ アのデバ ッ グ フ ロー図 ク ロ ッ キング 周波数、 安定性 (ジ ッ タ ー )、 お よ び FPGA ピ ンの使用率をすべて実現す る には、 外部 ク ロ ッ ク ソ ース を評価す る 必 要があ り ます。 デザ イ ンがすべての ク ロ ッ キ ン グ ガ イ ド ラ イ ンに準拠 し てい る こ と を確認 し て く だ さ い。 ク ロ ッ キ ン グ ガ イ ド ラ イ ン に従っ ていて も 問題が発生す る 場合は、 イ ン タ ーフ ェ イ ス の動作速度を引 き 下げ ま す。 デザ イ ンや ボー ド に よ っ ては、 周波数を下げ る と 適切に動作 し ない場合があ り ます。 周波数が低下する と 、 PCB ト レース の不一 致、 シ グナル イ ン テ グ リ テ ィ の低下、 ま たは過剰負荷に よ っ て、 セ ッ ト ア ッ プ タ イ ムやホール ド タ イ ムのマージ ン がわずかに増加 し ます。 周波数を下げ る 場合は、 MIG を再実行 し て低周波数に対応 し たデザ イ ン を生成 し 直 し て く だ さ い。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク には CLK_PERIOD パ ラ メ ー タ ーの影響を受け る 部分があ る ため、 こ のパ ラ メ ー タ ーを手動で変更す る こ と は推奨で き ません。 ボー ド 上のピ ン配置の検証 MIG ツールで出力 さ れた ピ ン配置を変更せずその ま ま 使用 し てい る か ど う か を確認 し ま す。 次に、 ボー ド 回路図 と PAR で生成 さ れた <design_name>.pad レ ポー ト を比較 し ま す。 こ れに よ り 、 ボー ド の ピ ン配置 と イ ン プ リ メ ン テーシ ョ ン済みデザ イ ンで割 り 当て ら れた ピ ンが一致 し てい る こ と を確認 し ます。 IBIS モデルを使用 し たシグナル イ ン テグ リ テ ィ シ ミ ュ レーシ ョ ンの実行 ボー ド レ イ ア ウ ト のガ イ ド ラ イ ンに準拠 し てい る か を検証す る には、 IBIS (I/O Buffer Information Specification) を使用 し て シ グナル イ ン テ グ リ テ ィ シ ミ ュ レーシ ョ ン を実行す る 必要があ り ます。 こ れ ら のシ ミ ュ レーシ ョ ンは、 ボー ド レ イ ア ウ ト の前後の両方で実行 し ます。 目的は、 ボー ド 上のシ グナル イ ン テ グ リ テ ィ の検証です。 『Virtex-5 FPGA ML561 メ モ リ イ ン タ ー フ ェ イ ス 開発 ボ ー ド ユ ー ザ ー ガ イ ド 』 (UG199) [ 参照 20] の 「ML561 Hardware-Simulation Correlation」 の章に記載の説明を ガ イ ド ラ イ ン と し て使用で き ます。 こ の章では、 ML561 ボー ド のシ グナル イ ン テ グ リ テ ィ の相関結果を詳 し く 解説 し てい ます。 こ れは、 シ グナル イ ン テ グ リ テ ィ 解析の例 と し て 使用で き ます。 ま た、 デザ イ ン固有の IBIS モデルを生成す る 手順 も 説明 さ れてお り 、 シ ミ ュ レーシ ョ ンのセ ッ ト ア ッ プに役立ち ます。 こ のユーザー ガ イ ド は Virtex-5 デバ イ ス と ML561 開発ボー ド を タ ーゲ ッ ト と し て説明 し てい ます が、 基本的な考え方は 7 シ リ ーズ FPGA を使用 し た MIG デザ イ ンに も 適用で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 412 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン サン プル デザイ ンの実行 MIG ツールで生成 さ れ る サンプル デザ イ ンは完全に検証済みであ り 、 ボー ド 上の メ モ リ イ ン タ ーフ ェ イ ス の検証に 使用で き ます。 こ のサンプル デザ イ ン を使用する こ と に よ り 、 MIG ツール コ ア と 接続する バ ッ ク エン ド ロ ジ ッ ク の 問題を解決で き ま す。 さ ら に、 MIG ツールで提供 さ れ る テ ス ト ベン チ を変更 し て異な る デー タ パ タ ーン を送信 し 、 ボー ド レベルの さ ま ざ ま な問題を テ ス ト で き ます。 一般的なハー ド ウ ェ ア問題のデバ ッ グ ハー ド ウ ェ ア で キ ャ リ ブ レ ーシ ョ ン エ ラ ーやデー タ エ ラ ーが生 じ た場合は、 Vivado ロ ジ ッ ク 解析機能を使用 し て MIG ツール コ ア信号の動作を解析す る 必要があ り ます。Vivado ロ ジ ッ ク 解析の詳細は、『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 16] を参照 し て く だ さ い。 ハー ド ウ ェ ア デバ ッ グの始め る にあ た っ て、 まず付属の example_design を ボー ド に ロ ー ド する こ と を推奨 し ます。 こ れは、 テ ス ト ベンチ デザ イ ン を使用 し てデー タ エ ラ ーをチ ェ ッ ク で き る 確実な ソ リ ュ ーシ ョ ン です。 こ のデザ イ ン は正 し く 完了 し 、 tg_compare_error はアサー ト さ れず、 init_calib_complete 信号がアサー ト さ れ る はずで す。 init_calib_complete 信号がアサー ト さ れていればキ ャ リ ブ レーシ ョ ンは正常に完了 し てお り 、 tg_compare_error 信号が ア サー ト さ れていな ければ メ モ リ に書 き 込んだデー タ と メ モ リ か ら 読み出 し たデー タ が一致 し てい る こ と を示 し ます。 デー タ 比較の不一致が 1 回発生 し たのか複数回発生 し たのかは、dbg_cmp_err 信号か ら わか り ます。dbg_cmp_err はエ ラ ーが発生す る ご と にアサー ト さ れ る ため、 デー タ を手動で調べ る こ と に よ り 問題を ト ラ ッ キ ン グで き ます。 ビ ッ ト エ ラ ーの特定 ハー ド ウ ェ ア デバ ッ グでは、ビ ッ ト エ ラ ーが生 じ る タ イ ミ ン グお よ び位置を特定する こ と が重要です。ビ ッ ト エ ラ ー を モニ タ リ ン グす る 際は、 次を確認す る 必要があ り ます。 • エ ラ ーは、 特定の QK ク ロ ッ ク グループのデー タ ビ ッ ト で発生 し てい る か • エ ラ ーは、 特定の メ モ リ ア ド レ スへのア ク セ ス時に発生 し てい る か • エ ラ ーは、 特定のデー タ パ タ ーン ま たはシーケ ン ス でのみ発生 し てい る か こ れで、 PCB 上の短絡ま たはオープン接続を特定で き ます。 ま た、 SSO や ク ロ ス ト ー ク の問題 も 特定で き ます。 デー タ 破損が書 き 込みに よ る も のか、 ま たは読み出 し に よ る も のか を特定する こ と が必要な場合があ り ます。 書 き 込みが 原因の場合は、 読み出 し たデー タ も 破損 し てい る ため、 その特定は容易ではあ り ません。 ま た、 制御/ア ド レ ス の タ イ ミ ン グの問題は、 書 き 込み と 読み出 し の両方に影響を及ぼ し ます。 次に示すいずれかの方法を使用 し 、 問題を特定 し て く だ さ い。 • エ ラ ーが断続的な場合は、 デザ イ ンに書き 込みコ マ ン ド をい く つか発行 さ せた後、 それ ら の位置か ら 連続 し て読 み出 し を実行 し ます。 読み出 さ れたデー タ が断続的に破損 し てい る 場合は、 読み出 し に問題があ る と 考え ら れま す。 • 書 き 込み タ イ ミ ン グのみを確認/変化 さ せます。 ° ° ° • PCB に外部終端抵抗が配置 さ れてい る こ と を確認 し ます。 可能な場合は ODELAY を使用 し て DK ク ロ ッ ク に対す る DQ の位相を変化 さ せる 。 別のオプシ ョ ン と し て、 出力 タ イ ミ ン グ を調整す る ために PHASER の fine_adjust 機能を使用 し て PHASER_OUT タ イ ミ ン グ を調整 する。 CK お よ び DK ク ロ ッ ク の タ イ ミ ン グ関係を検証す る 。 読み出 し タ イ ミ ン グのみを変化 さ せます。 ° キ ャ リ ブ レーシ ョ ン後に IDELAY/PHASER_IN の値を確認する 。 IDELAY/PHASER_IN 値の変化を確認す る 。 IDELAY の値は同 じ バ イ ト グループの DQ と 非常に近いはずです。 ° デー タ エ ラ ー と な っ てい る ビ ッ ト のキ ャ リ ブ レーシ ョ ン完了後に、 IDELAY/PHASER_IN タ ッ プの値を変化 させる。 こ れは、 読み出 し キ ャ プチ ャ の タ イ ミ ン グにのみ影響 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 413 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのデバ ッ グ デバ ッ グ ポー ト は、 ス テー タ ス を示す出力信号 と デザ イ ン の動作中に調整を行 う ための入力信号で構成 さ れてい ま す。 MIG には、 RLDRAM II/RLDRAM 3 デザ イ ン を生成す る 際にデバ ッ グ ポー ト のオ ン ま たはオ フ を指定す る オプ シ ョ ンがあ り ます。 デバ ッ グ ポー ト を オ フ にす る と 、 デバ ッ グ ポー ト の出力は生成 さ れますが入力は無視 さ れます。 こ れを オンにす る と 入力 も 有効にな り 、 論理値に駆動す る 必要があ り ます。 デバ ッ グ ポー ト で信号を正 し く 駆動 し な い と デザ イ ンにエ ラ ーが生 じ た り 、 読み出 し デー タ キ ャ プチ ャ のマージ ンが小 さ く な る こ と があ り ます。 コ ア をハー ド ウ ェ アで実行す る 場合、 い く つかの重要な信号を検査す る こ と でデザ イ ンの ス テー タ ス がわか り ます。 表 3-27 に示す dbg_phy_status バ ス には、 キ ャ リ ブ レーシ ョ ンの各段階の状態を表すス テー タ ス ビ ッ ト があ り ま す。 dbg_phy_status バ ス を確認す る と 、 潜在的な問題のデバ ッ グ、 問題のあ る 部分の特定、 さ ら には一般的な問 題点の洗い出 し に役立つ情報の糸口が得 ら れます。 表 3-27 : rld_phy_top モ ジ ュ ールで定義 さ れている物理層のシ ン プル ス テー タ ス バスの説明 デバ ッ グ ポー ト 信号 名前 説明 問題が発生 し た場合 dbg_phy_status[0] ~rst_wr_clk PLL ロ ッ ク お よ びシ ス テ ム入力 リ セ ッ ト に基づ く FPGA ロ ジ ッ ク リ セッ ト こ の 信号が デ ィ ア サ ー ト さ れ た 場 合、 ク ロ ッ ク ソ ー ス と シ ス テ ム リ セ ッ ト 入力を確認 し て く だ さ い。 dbg_phy_status[1] po_delay_done I/O FIFO を ほぼフルの状態にす る た め の I/O FIFO 初期化、 お よ び phaser_out 遅延に よ る ア ド レ ス/制 御信号の 90 度位相シ フ ト が完了 し た こ と を示 し ます。 PHY 制御 Ready 信号が ア サー ト さ れてい る か ど う か を確認 し ます。 dbg_phy_status[2] init_done RLDRAM II/RLDRAM 3 初期化 シーケ ン ス が完了 N/A(1) dbg_phy_status[3] rtr_cal_start (RLDRAM 3 のみ) 読み出 し ト レー ニ ン グ レ ジ ス タ の段階 1 読み出 し キ ャ リ ブ レーシ ョ ン開始信号 N/A dbg_phy_status[4] rtr_cal_done (RLDRAM 3 のみ) 読み出 し ト レー ニ ン グ レ ジ ス タ の段階 1 読み出 し キ ャ リ ブ レーシ ョ ン完了 N/A dbg_phy_status[5] wrcal_start 書 き 込みキ ャ リ ブ レーシ ョ ン開始 信号 N/A dbg_phy_status[8:6] dbg_wrcal_done 書 き 込みキ ャ リ ブ レーシ ョ ン段階 完了 読み出 し ト レ ーニ ン グ レ ジ ス タ の 段階 1 キ ャ リ ブ レーシ ョ ンの結果を 確認 し ま す。 378 ページ の 「書 き 込 みキ ャ リ ブ レ ーシ ョ ン」 を参照 し て く だ さ い。 dbg_phy_status[9] rdlvl_stg1_start 段階 1 読み出 し キ ャ リ ブ レーシ ョ ン開始信号 書 き 込みキ ャ リ ブ レーシ ョ ンの結果 を確認 し ます。 dbg_phy_status[10] rdlvl_cal_done 段階 1 読み出 し キ ャ リ ブ レーシ ョ ン完了 N/A dbg_phy_status[11] edge_adv_cal_start Edge Advance キ ャ リ ブ レーシ ョ ン 開始信号 N/A dbg_phy_status[12] edge_adv_cal_done Edge Advance キ ャ リ ブ レーシ ョ ン 完了 メ モ リ か ら 予測デー タ が返 さ れてい る こ と を確認 し て く だ さ い。 段階 1 読み出 し キ ャ リ ブ レーシ ョ ンの結果 をチ ェ ッ ク し て く だ さ い。 書 き 込み キ ャ リ ブ レーシ ョ ンの結果をチ ェ ッ ク し て く だ さ い (有効の場合)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 414 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-27 : rld_phy_top モ ジ ュ ールで定義 さ れている物理層のシ ン プル ス テー タ ス バスの説明 (続き) デバ ッ グ ポー ト 信号 名前 説明 問題が発生 し た場合 dbg_phy_status[13] init_cal_done レ イ テ ン シのキ ャ リ ブ レーシ ョ ン 完了 ど のバ イ ト レ ー ン で エ ラ ーが発生 し てい る か を調べ、 そのバ イ ト レー ンの読み出 し ト レーニ ン グ段階 1 お よ び書 き 出 し キ ャ リ ブ レーシ ョ ン を 確認 し ます。 dbg_phy_status[14] init_calib_complete キ ャ リ ブ レーシ ョ ン完了 N/A 注記 : 1. 「N/A」 は、 直前の段階が完了 し ていれば こ の段階 も 完了 し てい る こ と を示 し ます。 読み出 し キ ャ リ ブ レーシ ョ ンの結果は、 デバ ッ グ ポー ト に含まれ る さ ま ざ ま な出力信号 と し て出力 さ れます。 こ れ ら の信号を使用 し て読み出 し キ ャ リ ブ レーシ ョ ンの結果を キ ャ プチ ャ お よ び評価で き ます。 読み出 し キ ャ リ ブ レーシ ョ ンは、IODELAY を使用 し てデス テ ィ ネーシ ョ ン ク ロ ッ ク を キ ャ プチ ャ デー タ の有効ウ ィ ン ド ウ中央に揃え ます。 キ ャ リ ブ レーシ ョ ン手順の一環 と し て、 アルゴ リ ズ ムが IDELAY/PHASER_IN の値を シ フ ト し てバ イ ト 単位でデー タ 有効 ウ ィ ン ド ウ のエ ッ ジ を検出 し ます。 DEBUG_PORT 信号 MIG ツールでデザ イ ン を生成す る 際にデバ ッ グ オプシ ョ ン をオンに し た場合、 最上位 ラ ッ パーの user_top には コ アのデバ ッ グに使用で き る い く つかの出力信号が提供 さ れます。 こ れ ら のデバ ッ グ信号出力はすべて 「dbg_」 で開始 し ます。 sim フ ォ ルダーにあ る sim_tb_top モジ ュ ールでは DEBUG_PORT パ ラ メ ー タ ーが常にオ フ に設定 さ れ、 論 理シ ミ ュ レーシ ョ ン時にはデバ ッ グ オプシ ョ ンは無効にな り ます。 表 3-28 に、 こ れ ら の信号 と 関連す る デー タ を示 し ます。 表 3-28 : DEBUG_PORT 信号の説明 信号 方向 説明 dbg_phy_cmd_n[nCK_PER_CLK × 3 – 1:0] 出力 ア ク テ ィ ブ Low の信号で、Vivado ロ ジ ッ ク 解析 機能でのデバ ッ グに使用 さ れ る メ モ リ へ送信 さ れ る 内部 コ マ ン ド です。 dbg_phy_addr[nCK_PER_CLK × RLD_ADDR_WIDTH × 2 – 1:0] 出力 dbg_phy_cmd_n と 共に提供 さ れ る コ マ ン ド でア ク セ ス さ れ る ア ド レ ス です。 dbg_phy_ba[nCK_PER_CLK × BANK_WIDTH × 2 – 1:0] 出力 Vivado ロ ジ ッ ク 解析機能でのデバ ッ グに使用す る 制御バン ク ア ド レ ス バ ス です。 dbg_phy_wr_data[nCK_PER_CLK × 2 × DATA_WIDTH – 1:0] 出力 Vivado ロ ジ ッ ク 解析機能でのデバ ッ グに使用す る 書 き 込みデー タ です。 dbg_phy_init_wr_only 入力 High の場合、 rld_phy_write_init_sm モ ジ ュ ール の ス テー ト マシ ンに よ っ て、 段階 1 のデー タ を RLDRAM II へ書 き 込む コ マ ン ド が継続 し て発 行 さ れます。 書 き 込み タ イ ミ ン グの検証に使用 で き 、 オシ ロ ス コ ープ を用いて メ モ リ におけ る DK と DQ の タ イ ミ ン グ関係を計測 し ま す。 通 常動作時は Low であ る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 415 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-28 : DEBUG_PORT 信号の説明 (続き) 信号 方向 説明 dbg_phy_init_rd_only 入力 High の場合、 rld_phy_write_init_sm モ ジ ュ ール の ス テー ト マシ ンに よ っ て、 第 1 段階の読み出 し キ ャ リ ブ レーシ ョ ンの読み出 し コ マ ン ド が継 続 し て発行 さ れます。 PCB の信号のプ ロ ーブや SI の問題の確認、 ま たは以前の書 き 込み コ マ ン ド が正 し く 発生 し た か を 検証す る の に有用で す。 通常動作時は Low であ る 必要があ り ます。 dbg_byte_sel[CQ_BITS – 1:0] 入力 こ の入力は対応す る バ イ ト レ ー ン を 選択 し ま す。 ユーザーが PHASER/IDELAY タ ッ プの制御 を行い ます。 dbg_bit_sel[Q_BITS – 1:0] 入力 こ の入力は対応す る ビ ッ ト レ ー ン を 選択 し ま す。 ユーザーが IDELAY タ ッ プの制御を行い ま す。 ま た、 デバ ッ グに使用す る 読み出 し デー タ 信号 (dbg_rd_data_rd、 dbg_rd_data_fd) も 制御 し ます。 dbg_idel_up_all 入力 バ ス全体のすべての IDELAY タ ッ プ値を イ ン ク リ メ ン ト し ます。 dbg_idel_down_all 入力 バ ス全体のすべての IDELAY タ ッ プ値をデ ク リ メ ン ト し ます。 dbg_idel_up 入力 dbg_bit_sel に よ っ て選択 さ れた、 1 つの ビ ッ ト に対 し てすべての IDELAY タ ッ プ値を イ ン ク リ メ ン ト し ます。 dbg_idel_down 入力 dbg_bit_sel に よ っ て選択 さ れた、 1 つの ビ ッ ト に対 し てすべての IDELAY タ ッ プ値をデ ク リ メ ン ト し ます。 dbg_pi_f_inc 入力 PHASER_IN で 生成 さ れ た 立 ち 上 が り デー タ キ ャ プチ ャ 用の ISERDES clk を イ ン ク リ メ ン ト し ます。 dbg_pi_f_dec 入力 PHASER_IN で 生成 さ れ た 立 ち 上 が り デー タ キ ャ プチ ャ 用の ISERDES clk をデ ク リ メ ン ト し ます。 dbg_po_f_inc 入力 PHASER_OUT で生成 さ れた立ち下が り デー タ キ ャ プチ ャ 用の OSERDES clk を イ ン ク リ メ ン ト し ます。 dbg_po_f_dec 入力 PHASER_OUT で生成 さ れた立ち下が り デー タ キ ャ プチ ャ 用の OSERDES clk を イ ン ク リ メ ン ト し ます。 dbg_pi_tap_cnt[5:0] 出力 現在の PHASER_IN の タ ッ プ カ ウ ン ト 位置を示 し ます。 dbg_po_tap_cnt[5:0] 出力 現在の PHASER_OUT の タ ッ プ カ ウ ン ト 位置を 示 し ます。 dbg_rd_stage1_rtr_error[N_DATA_LANES – 1:0] 出力 (RLDRAM 3 のみ) 読み出 し ト レ ーニ ン グ レ ジ ス タ の段階 1 読み出 し キ ャ リ ブ レーシ ョ ン で有 効な ウ ィ ン ド ウ が検出 さ れなか っ た こ と を示す バ イ ト レーン ご と のエ ラ ー信号です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 416 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-28 : DEBUG_PORT 信号の説明 (続き) 信号 方向 説明 dbg_rd_stage1_error[N_DATA_LANES – 1:0] 出力 段階 1 読み出 し キ ャ リ ブ レ ー シ ョ ン で有効 な ウ ィ ン ド ウ が検出 さ れなか っ た こ と を示すバ イ ト レーン ご と のエ ラ ー信号 dbg_cq_num[CQ_BITS – 1:0] 出力 (キ ャ リ ブ レーシ ョ ン中に、ま たはデバ ッ グ ポー ト を介 し て) 選択 さ れた現在のバ イ ト レーン を 示 し ます。 dbg_valid_lat[4:0] 出力 レ イ テ ン シ を読み出 し コ マ ン ド の遅延サ イ ク ル 数で示 し ます。 dbg_idel_tap_cnt_sel[TAP_BITS – 1:0] 出力 dbg_bit_sel を使用 し て選択 さ れた ビ ッ ト の現在 の IDELAY タ ッ プの設定を示 し ます。 dbg_inc_latency 出力 読み出 し デー タ を ユーザー イ ン タ ー フ ェ イ ス に正 し く 揃え る た めに対応す る バ イ ト レ ー ン の レ イ テ ン シが イ ン ク リ メ ン ト さ れた こ と を示 し ます。 dbg_error_max_latency 出力 カ ウ ン タ ーがオーバーフ ロ ーす る 前に レ イ テ ン シ を計測で き なか っ た こ と を示 し ます。 各デバ イ ス に 1 つのエ ラ ー ビ ッ ト があ り ます。 dbg_error_adj_latency 出力 PHY_LATENCY の目標値 を 達成で き な か っ た こ と を示 し ます。 dbg_rd_data_rd[nCK_PER_CLK × 9 – 1:0] 出力 dbg_byte_sel を使用 し て選択 し た 1 つのバ イ ト レ ー ン に対 し て、 最初の立 ち 上が り デー タ を キ ャ プチ ャ し た出力を示 し ます。 dbg_rd_data_fd[nCK_PER_CLK × 9 – 1:0] 出力 dbg_byte_sel を使用 し て選択 し た 1 つのバ イ ト レ ー ン に対 し て、 最初の立 ち 下が り デー タ を キ ャ プチ ャ し た出力を示 し ます。 dbg_rd_valid 出力 dbg_rd_data_rd、 dbg_rd_data_fd 信号に揃え ら れ る 読み出 し デー タ の Valid 信号です。 dbg_wrcal_sel_stg[1:0] 入力 いずれの段階の書 き 込みキ ャ リ ブ レーシ ョ ン で 出力す る か を選択 し ます (dbg_wrcal_po_first_edge、 dbg_wrcal_po_second_edge、 ま たは dbg_wrcal_po_final)。 dbg_wrcal[63:0] 出力 書 き 込みキ ャ リ ブ レーシ ョ ン用の General Debug ポー ト です。 dbg_wrcal_done[2:0] 出力 書 き 込みキ ャ リ ブ レーシ ョ ンが完了 し た段階を 示 し ます。 dbg_wrcal_po_first_edge[5:0] 出力 (dbg_byte_sel を使用 し て) 選択 し たバ イ ト レー ン につい て 検出 さ れ た 書 き 込み キ ャ リ ブ レ ー シ ョ ン ウ ィ ン ド ウ の最初のエ ッ ジです。 キ ャ リ ブ レ ー シ ョ ン の 段 階 を 選 択 す る に は、 dbg_wrcal_sel_stg を使用 し ます。 2'b01 は DK ク ロ ッ ク があ る バ イ ト レーン、2'b10 は DK ク ロ ッ ク な し のバ イ ト レーンに使用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 417 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-28 : DEBUG_PORT 信号の説明 (続き) 信号 方向 説明 dbg_wrcal_po_second_edge[5:0] 出力 (dbg_byte_sel を使用 し て) 選択 し たバ イ ト レー ン につい て 検出 さ れ た 書 き 込み キ ャ リ ブ レ ー シ ョ ン ウ ィ ン ド ウ の 2 番目のエ ッ ジです。 キ ャ リ ブ レ ー シ ョ ン の 段 階 を 選 択 す る に は、 dbg_wrcal_sel_stg を使用 し ます。 2'b01 は DK ク ロ ッ ク があ る バ イ ト レーン、2'b10 は DK ク ロ ッ ク な し のバ イ ト レーンに使用 し ます。 dbg_wrcal_po_final[5:0] 出力 (dbg_byte_sel を使用 し て) 選択 し たバ イ ト レー ン について書 き 込みキ ャ リ ブ レーシ ョ ンの最終 的な タ ッ プ設定です。 キ ャ リ ブ レーシ ョ ンの段 階を選択す る には、 dbg_wrcal_sel_stg を使用 し ま す。 2'b01 は DK ク ロ ッ ク があ る バ イ ト レー ン、 2'b10 は DK ク ロ ッ ク な し のバ イ ト レ ーン に使用 し ます。 書き込み初期化デバ ッ グ信号 表 3-29 に、 dbg_wr_init バ ス の書 き 込み初期化デバ ッ グ信号 と PHY のデバ ッ グ信号のマ ッ プ を示 し ます。 こ れ ら の信号はすべて rld_phy_write_init_sm モジ ュ ール内にあ り 、 clk ド メ イ ンで有効です。 表 3-29 : 書き込み初期化デバ ッ グ信号マ ッ プ ビッ ト PHY 信号名 説明 dbg_phy_init_sm[3:0] phy_init_cs 初期化ス テー ト マシ ンの現在の ス テー ト dbg_phy_init_sm[6:4] start_cal キ ャ リ ブ レーシ ョ ンの段階を決定す る フ ラ グ dbg_phy_init_sm[7] init_complete メ モ リ の初期化が完了 dbg_phy_init_sm[8] refr_req リ フ レ ッ シ ュ の要求 dbg_phy_init_sm[9] refr_done リ フ レ ッ シ ュ 完了 dbg_phy_init_sm[10] stage2_done 段階 2 キ ャ リ ブ レーシ ョ ン完了 dbg_phy_init_sm[22:11] refr_cnt リ フ レ ッ シ ュ カ ウ ン ター dbg_phy_init_sm[26:23] phy_init_ps 初期化ス テー ト マシ ンの以前の ス テー ト dbg_phy_init_sm[31:27] Reserved 予約 読み出 し 段階 1 キ ャ リ ブ レーシ ョ ン デバ ッ グ信号 表 3-30 に、dbg_rd_stage1_cal バス内の各ビ ッ ト と PHY のデバ ッ グ信号のマ ッ プを示 し ます。 こ れ ら の信号はす べて qdr_rld_phy_rdlvl モジ ュ ール内にあ り 、 clk ド メ イ ンで有効です。 表 3-30 : 読み出 し 段階 1 デバ ッ グ信号マ ッ プ ビッ ト PHY 信号名 説明 dbg_phy_rdlvl[0] rdlvl_stg1_start 段階 1 キ ャ リ ブ レーシ ョ ンの開始を示す初期化ス テー ト マシ ンか ら の入力です。 dbg_phy_rdlvl[1] rdlvl_start キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク の開始を示 し ます。 dbg_phy_rdlvl[2] found_edge_r デー タ ウ ィ ン ド ウ の遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[3] pat0_data_match_r ISERDES 出力に予測デー タ パ タ ーン が検出 さ れた こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 418 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-30 : 読み出 し 段階 1 デバ ッ グ信号マ ッ プ (続き) ビッ ト PHY 信号名 説明 dbg_phy_rdlvl[4] pat1_data_match_r ISERDES 出力に予測デー タ パ タ ーンが検出 さ れたが、最初の 読み出 し デー タ を ICLKDIV の立ち下が り エ ッ ジに揃え た た めシ フ ト し た こ と を示 し ます。 dbg_phy_rdlvl[5] data_valid 有効な キ ャ リ ブ レ ーシ ョ ン デー タ が検出 さ れた こ と を 示 し ます。 dbg_phy_rdlvl[6] cal1_wait_r IDELAY/PHASER タ ッ プが変化 し てか ら デー タ を確認す る ま での待機ス テー ト です。 dbg_phy_rdlvl[7] Reserved 予約 dbg_phy_rdlvl[8] detect_edge_done_r エ ッ ジ検出が完了 し た こ と を示 し ます。 dbg_phy_rdlvl[13:9] cal1_state_r キ ャ リ ブ レーシ ョ ン ス テー ト マシ ンの状態を示 し ます dbg_phy_rdlvl[20:14] cnt_idel_dec_cpt_r ク ロ ッ ク を デー タ ウ ィ ン ド ウ の中央に揃え る た めにデ ク リ メ ン ト が必要な PHASER タ ッ プ数です。 dbg_phy_rdlvl[21] found_first_edge_r 最初のエ ッ ジ遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[22] found_second_edge_r 2 番目のエ ッ ジ遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[23] Reserved 予約 dbg_phy_rdlvl[24] store_sr_r タ ッ プ遅延を イ ン ク リ メ ン ト す る 前に現在の読み出 し デー タ を格納す る ための信号です。 dbg_phy_rdlvl[32:25] sr_fall1_r、 sr_rise1_r sr_fall0_r、 sr_rise0_r 比較の た めに シ フ ト レ ジ ス タ に格納 さ れた読み出 し デー タ です。 dbg_phy_rdlvl[40:33] old_sr_fall1_r、 old_sr_rise1_r old_sr_fall0_r、 old_sr_rise0_r タ ッ プ を イ ン ク リ メ ン ト す る 前に レ ジ ス タ に格納 さ れた読み 出 し デー タ です。 dbg_phy_rdlvl[41] sr_valid_r 比較用の ISERDES デー タ を ロ ー ド し て も 安全な タ イ ミ ン グ を決定 し ます。 dbg_phy_rdlvl[42] found_stable_eye_r 安定 し た ア イ が検出 さ れた こ と を示 し ます。 dbg_phy_rdlvl[48:43] tap_cnt_cpt_r PHASER タ ッ プ カ ウ ン タ ーです。 dbg_phy_rdlvl[54:49] first_edge_taps_r 最初のエ ッ ジ を検出す る ための タ ッ プ数です。 dbg_phy_rdlvl[60:55] second_edge_taps_r 2 番目のエ ッ ジ を検出す る ための タ ッ プ数です。 dbg_phy_rdlvl[64:61] cal1_cnt_cpt_r バ イ ト レ ー ン が キ ャ リ ブ レ ーシ ョ ン中で あ る こ と を 示 し ま す。 dbg_phy_rdlvl[65] cal1_dlyce_cpt_r PHASER 遅延を有効にする PHASER 制御です。 dbg_phy_rdlvl[66] cal1_dlyinc_cpt_r PHASER タ ッ プ遅延を イ ン ク リ メ ン ト す る PHASER 制御で す。 dbg_phy_rdlvl[67] found_edge_r デー タ ウ ィ ン ド ウ の遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[68] found_stable_eye_last_r 安定 し た ア イ が検出 さ れた こ と を示 し ます。 dbg_phy_rdlvl[74:69] idelay_taps 受信 し た読み出 し デー タ を遅延中に有効なデー タ ウ ィ ン ド ウ を検出 し た と き の IDELAY タ ッ プ数です。 dbg_phy_rdlvl[80:75] start_win_taps 有効ウ ィ ン ド ウ の開始を検出す る ために必要な IDELAY タ ッ プ数です。 dbg_phy_rdlvl[81] idel_tap_limit_cpt_r IDELAY タ ッ プ チ ェ ーンの最後に達 し た こ と を示 し ます。 dbg_phy_rdlvl[82] qdly_inc_done_r IDELAY タ ッ プの遅延に よ る 有効 ウ ィ ン ド ウ の検出が完了 し た こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 419 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-30 : 読み出 し 段階 1 デバ ッ グ信号マ ッ プ (続き) ビッ ト PHY 信号名 説明 dbg_phy_rdlvl[4] pat1_data_match_r ISERDES 出力に予測デー タ パ タ ーンが検出 さ れたが、最初の 読み出 し デー タ を ICLKDIV の立ち下が り エ ッ ジに揃え た た めシ フ ト し た こ と を示 し ます。 dbg_phy_rdlvl[5] data_valid 有効な キ ャ リ ブ レ ーシ ョ ン デー タ が検出 さ れた こ と を 示 し ます。 dbg_phy_rdlvl[6] cal1_wait_r IDELAY/PHASER タ ッ プが変化 し てか ら デー タ を確認す る ま での待機ス テー ト です。 dbg_phy_rdlvl[7] Reserved 予約 dbg_phy_rdlvl[8] detect_edge_done_r エ ッ ジ検出が完了 し た こ と を示 し ます。 dbg_phy_rdlvl[13:9] cal1_state_r キ ャ リ ブ レーシ ョ ン ス テー ト マシ ンの状態を示 し ます dbg_phy_rdlvl[20:14] cnt_idel_dec_cpt_r ク ロ ッ ク を デー タ ウ ィ ン ド ウ の中央に揃え る た めにデ ク リ メ ン ト が必要な PHASER タ ッ プ数です。 dbg_phy_rdlvl[21] found_first_edge_r 最初のエ ッ ジ遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[22] found_second_edge_r 2 番目のエ ッ ジ遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[23] Reserved 予約 dbg_phy_rdlvl[24] store_sr_r タ ッ プ遅延を イ ン ク リ メ ン ト す る 前に現在の読み出 し デー タ を格納す る ための信号です。 dbg_phy_rdlvl[32:25] sr_fall1_r、 sr_rise1_r sr_fall0_r、 sr_rise0_r 比較の た めに シ フ ト レ ジ ス タ に格納 さ れた読み出 し デー タ です。 dbg_phy_rdlvl[40:33] old_sr_fall1_r、 old_sr_rise1_r old_sr_fall0_r、 old_sr_rise0_r タ ッ プ を イ ン ク リ メ ン ト す る 前に レ ジ ス タ に格納 さ れた読み 出 し デー タ です。 dbg_phy_rdlvl[41] sr_valid_r 比較用の ISERDES デー タ を ロ ー ド し て も 安全な タ イ ミ ン グ を決定 し ます。 dbg_phy_rdlvl[42] found_stable_eye_r 安定 し た ア イ が検出 さ れた こ と を示 し ます。 dbg_phy_rdlvl[48:43] tap_cnt_cpt_r PHASER タ ッ プ カ ウ ン タ ーです。 dbg_phy_rdlvl[54:49] first_edge_taps_r 最初のエ ッ ジ を検出す る ための タ ッ プ数です。 dbg_phy_rdlvl[60:55] second_edge_taps_r 2 番目のエ ッ ジ を検出す る ための タ ッ プ数です。 dbg_phy_rdlvl[64:61] cal1_cnt_cpt_r バ イ ト レ ー ン が キ ャ リ ブ レ ーシ ョ ン中で あ る こ と を 示 し ま す。 dbg_phy_rdlvl[65] cal1_dlyce_cpt_r PHASER 遅延を有効にする PHASER 制御です。 dbg_phy_rdlvl[66] cal1_dlyinc_cpt_r PHASER タ ッ プ遅延を イ ン ク リ メ ン ト す る PHASER 制御で す。 dbg_phy_rdlvl[67] found_edge_r デー タ ウ ィ ン ド ウ の遷移を検出 し た こ と を示 し ます。 dbg_phy_rdlvl[68] found_stable_eye_last_r 安定 し た ア イ が検出 さ れた こ と を示 し ます。 dbg_phy_rdlvl[74:69] idelay_taps 受信 し た読み出 し デー タ を遅延中に有効なデー タ ウ ィ ン ド ウ を検出 し た と き の IDELAY タ ッ プ数です。 dbg_phy_rdlvl[80:75] start_win_taps 有効ウ ィ ン ド ウ の開始を検出す る ために必要な IDELAY タ ッ プ数です。 dbg_phy_rdlvl[81] idel_tap_limit_cpt_r IDELAY タ ッ プ チ ェ ーンの最後に達 し た こ と を示 し ます。 dbg_phy_rdlvl[82] qdly_inc_done_r IDELAY タ ッ プの遅延に よ る 有効 ウ ィ ン ド ウ の検出が完了 し た こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 420 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-30 : 読み出 し 段階 1 デバ ッ グ信号マ ッ プ (続き) ビッ ト PHY 信号名 説明 dbg_phy_rdlvl[83] start_win_detect IDELAY タ ッ プ を使用 し た ウ ィ ン ド ウ 検出が開始 し た こ と を 示 し ます。 dbg_phy_rdlvl[84] detect_edge_done_r エ ッ ジ検出が完了 し た こ と を示 し ます。 dbg_phy_rdlvl[90:85] idel_tap_cnt_cpt_r 使用 し た IDELAY タ ッ プの数を ト ラ ッ キ ン グする ためのカ ウ ン タ ーです。 dbg_phy_rdlvl[96:91] idelay_inc_taps_r イ ン ク リ メ ン ト す る IDELAY タ ッ プ数です ( キ ャ リ ブ レ ー シ ョ ン ロ ジ ッ ク で必要な場合)。 dbg_phy_rdlvl[102:97] idel_dec_cntr デ ク リ メ ン ト す る IDELAY タ ッ プ数です (キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク で必要な場合)。 dbg_phy_rdlvl[103] tap_limit_cpt_r PHASER タ ッ プ チ ェーンの最後に達 し た こ と を示 し ます。 dbg_phy_rdlvl[115:104] idelay_tap_delay IDELAY タ ッ プ を使用 し て検出 し た有効 ウ ィ ン ド ウ の合計数 です。 dbg_phy_rdlvl[127:116] phaser_tap_delay PHASER タ ッ プを使用 し て検出 し た有効ウ ィ ン ド ウ の合計数 です。 dbg_phy_rdlvl[133:128] fall_win_det_start_taps_r 立ち下が り ウ ィ ン ド ウ の開始 タ ッ プ。 dbg_phy_rdlvl[139:134] fall_win_det_end_taps_r 立ち下が り ウ ィ ン ド ウ の終了 タ ッ プ。 dbg_phy_rdlvl[163:140] dbg_cpt_first_edge_cnt 最初のエ ッ ジの PHASER タ ッ プ設定 (すべてのバ イ ト レーン のバ ス)。 dbg_phy_rdlvl[183:164] dbg_cpt_second_edge_cnt 2 番目のエ ッ ジの PHASER タ ッ プ設定 (すべてのバ イ ト レー ンのバ ス)。 dbg_phy_rdlvl[187:184] dbg_stg1_calc_edge 実行 さ れた リ ー ド レベ リ ン グ ア ラ イ メ ン ト を示 し ます。 dbg_phy_rdlvl[195:188] dbg_phy_rdlvl_err 有効なデー タ が見つか ら な か っ た こ と を 示すバ イ ト レ ーン ご と のエ ラ ー フ ラ グ。 dbg_phy_rdlvl[255:196] Reserved 予約 読み出 し 段階 2 キ ャ リ ブ レーシ ョ ン デバ ッ グ信号 表 3-31 に、dbg_rd_stage2_cal バス内の各ビ ッ ト と PHY のデバ ッ グ信号のマ ッ プを示 し ます。 こ れ ら の信号はす べて qdr_rld_phy_read_stage2_cal モジ ュ ール内にあ り 、 clk ド メ イ ンで有効です。 表 3-31 : 読み出 し 段階 2 デバ ッ グ信号マ ッ プ ビッ ト PHY 信号名 説明 dbg_stage2_cal[0] en_mem_latency レ イ テ ン シ計測を有効にする ための信号です。 dbg_stage2_cal[5:1] latency_cntr[0] イ ン タ ーフ ェ イ ス の最初のバ イ ト レーンの レ イ テ ン シ を示 し ま す。 dbg_stage2_cal[6] rd_cmd レ イ テ ン シ キ ャ リ ブ レーシ ョ ン用の内部 rd_cmd です。 dbg_stage2_cal[7] latency_measured[0] バ イ ト レーン 0 の レ イ テ ン シ計測が完了 し た こ と を示 し ます。 dbg_stage2_cal[8] bl4_rd_cmd_int バース ト 長 4 デー タ ワ ー ド のキ ャ リ ブ レーシ ョ ン実行中であ る こ と を示 し ます。 dbg_stage2_cal[9] bl4_rd_cmd_int_r バース ト 長4 の読み出 し コ マ ン ド 用の内部レ ジ ス タ 段階です。 dbg_stage2_cal[10] edge_adv_cal_start pi_edge_adv 信号を アサー ト する 必要があ る か ど う か を確認する た めに edge_adv キ ャ リ ブ レ ーシ ョ ン を 開始 し た こ と を 示 し ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 421 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-31 : 読み出 し 段階 2 デバ ッ グ信号マ ッ プ (続き) ビッ ト PHY 信号名 説明 dbg_stage2_cal[11] rd0_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[12] fd0_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[13] rd1_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[14] fd1_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[15] phase_vld バ イ ト がキ ャ リ ブレーシ ョ ン さ れてい る特定のバ イ ト に対し て有 効データ が検出さ れた こ と を示し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[16] rd0_bslip_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れ る よ う に bitslip を適用す る 必 要が あ る 有効な ISERDES 読み出 し デー タ を 示 し ま す (byte_cnt に よ っ て設定)。 dbg_stage2_cal[17] fd0_bslip_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れ る よ う に bitslip を適用す る 必 要が あ る 有効な ISERDES 読み出 し デー タ を 示 し ま す (byte_cnt に よ っ て設定)。 dbg_stage2_cal[18] rd1_bslip_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れ る よ う に bitslip を適用す る 必 要が あ る 有効な ISERDES 読み出 し デー タ を 示 し ま す (byte_cnt に よ っ て設定)。 dbg_stage2_cal[19] fd1_bslip_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れ る よ う に bitslip を適用す る 必 要が あ る 有効な ISERDES 読み出 し デー タ を 示 し ま す (byte_cnt に よ っ て設定)。 dbg_stage2_cal[20] phase_bslip_vld キ ャ リ ブ レ ーシ ョ ン さ れ る バ イ ト に対 し て 読み出 し デー タ に bitslip が適用 さ れ る 場合に有効デー タ が検出 さ れた こ と を示 し ます (byte_cnt に よ っ て設定)。 dbg_stage2_cal[21] clkdiv_phase_cal_done_4r デー タ 有効性のチ ェ ッ ク が完了 し 、 必要に応 じ て pi_edge_adv 信 号のアサー ト へ進む こ と を示 し ます。 dbg_stage2_cal[22] pi_edge_adv PHASER ク ロ ッ ク ICLKDIV を高速 ク ロ ッ ク の 1 サ イ ク ル進め る PHASER 制御信号です。 nCK_PER_CLK が 2 の場合にのみ使用 さ れます。 dbg_stage2_cal[25:23] byte_cnt[2:0] デー タ の有効性チ ェ ッ ク が行われてい る バ イ ト を示 し ます。 dbg_stage2_cal[26] inc_byte_cnt 次のバ イ ト へ イ ン ク リ メ ン ト する ための内部信号です。 dbg_stage2_cal[29:27] pi_edge_adv_wait_cnt 複数のバ イ ト レーンで PHAER 制御信号の pi_edge_adv 信号を ア サー ト する 間の待機カ ウ ン タ ーです。 dbg_stage2_cal[30] bitslip FPGA ロ ジ ッ ク bitslip 制御信号で、 ロ ジ ッ ク に よ る デー タ ア ラ イ メ ン ト のシ フ ト を示 し ま す。 nCK_PER_CLK が 4 の場合にの み使用 さ れます。 dbg_stage2_cal[31] rd2_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 nCK_PER_CLK が 4 の場合にのみ有効です。 dbg_stage2_cal[32] fd2_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 nCK_PER_CLK が 4 の場合にのみ有効です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 422 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-31 : 読み出 し 段階 2 デバ ッ グ信号マ ッ プ (続き) ビッ ト PHY 信号名 説明 dbg_stage2_cal[33] rd3_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 nCK_PER_CLK が 4 の場合にのみ有効です。 dbg_stage2_cal[34] fd3_vld バ イ ト がキ ャ リ ブ レーシ ョ ン さ れてい る 有効な ISERDES 読み出 し デー タ を示 し ます (byte_cnt に よ っ て設定)。 nCK_PER_CLK が 4 の場合にのみ有効です。 dbg_stage2_cal[35] latency_measured[1] バ イ ト レーン 1 の レ イ テ ン シ計測が完了 し た こ と を示 し ます。 dbg_stage2_cal[36] latency_measured[2] バ イ ト レーン 2 の レ イ テ ン シ計測が完了 し た こ と を示 し ます。 dbg_stage2_cal[37] latency_measured[3] バ イ ト レーン 3 の レ イ テ ン シ計測が完了 し た こ と を示 し ます。 dbg_stage2_cal[38] error_adj_latency PHY_LATENCY の目標値を達成で き なか っ た こ と を示 し ます。 dbg_stage2_cal[127:39] Reserved 予約 書き込みキ ャ リ ブ レーシ ョ ンのデバ ッ グ マ ッ プ 表 3-32 に、 dbg_wr_cal バ ス内の各ビ ッ ト と PHY のデバ ッ グ信号のマ ッ プ を示 し ます。 表 3-32 : 書き込みデバ ッ グ信号マ ッ プ ビッ ト PHY 信号名 説明 dbg_wrcal[3:0] write_cal_cs ス テー ト マシ ンの現在の ス テー ト レ ジ ス タ dbg_wrcal[4] data_valid_r data_valid_cnt の FPGA ロ ジ ッ ク ク ロ ッ ク サ イ ク ル全体でデー タ が有 効であ る こ と を示 し ます。 dbg_wrcal[5] first_edge_found 最初のエ ッ ジが検出 さ れた こ と を示 し ます。 dbg_wrcal[6] second_edge_found 2 番目のエ ッ ジが検出 さ れた こ と を示 し ます。 dbg_wrcal[7] rdlvl_timeout_error 特定のバ イ ト レ ー ン の結果 を サ ン プ リ ン グ で き る よ う 段階 2 Edge Advanced キ ャ リ ブ レーシ ョ ンに十分な時間が確実に割 り 当て ら れ る よ う にす る ため、 タ イ ム ア ウ ト エ ラ ーを示すフ ラ グ dbg_wrcal[8] inc_byte_lane_cnt バ イ ト レーン カ ウ ン タ ーを イ ン ク リ メ ン ト す る こ と を示すフ ラ グ dbg_wrcal[14:9] po_fine_taps PHASER_OUT の現在の タ ッ プ設定 dbg_wrcal[20:15] po_fine_first_edge PHASER_OUT の最初のエ ッ ジの タ ッ プ dbg_wrcal[26:21] po_fine_second_edge PHASER_OUT の 2 番目のエ ッ ジの タ ッ プ dbg_wrcal[27] stg2_eod PHASER_OUT 段階 2 の遅延終了 dbg_wrcal[28] stg3_eod PHASER_OUT 段階 3 の遅延終了 dbg_wrcal[37:29] po_counter_read_val PHY か ら の PHASER_OUT カ ウ ン タ ー値 dbg_wrcal[40:38] wrcal_stg 現在実行中の書 き 込みキ ャ リ ブ レーシ ョ ンの段階を示すフ ラ グ dbg_wrcal[41] record_po_taps 特定の PHASER_OUT 値を記録す る フ ラ グ dbg_wrcal[42] data_valid 特定のバ イ ト レーンのデー タ 有効チ ェ ッ ク dbg_wrcal[48:43] wrcal_byte_sel バ イ ト レーン カ ウ ン タ ー dbg_wrcal[49] window_valid 最初のエ ッ ジ と 2 番目のエ ッ ジが検出 さ れた と き に、 ウ ィ ン ド ウ が 設定 さ れたサ イ ズ よ り 大 き い こ と がチ ェ ッ ク さ れます。 小 さ い場合、 最初のエ ッ ジ と 2 番目のエ ッ ジが ク リ ア さ れ ま すが、 こ の ビ ッ ト は 保持 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 423 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 3-32 : 書き込みデバ ッ グ信号マ ッ プ (続き) ビッ ト PHY 信号名 説明 dbg_wrcal[54:50] data_valid_cnt デー タ が有効であ る こ と を確実にす る ため、 複数の読み出 し サ ン プ ルをチ ェ ッ ク す る のに使用 さ れ る カ ウ ン タ ー dbg_wrcal[60:55] po_fine_prev_taps エ ッ ジが検出 さ れた と き に移動す る 方向がわか る よ う に方向を記録 す る 前のカ ウ ン タ ー dbg_wrcal[61] first_edge_eod 最初のエ ッ ジが実際のエ ッ ジではな く 、 PHASER_OUT タ ッ プの制限 に達 し た こ と を示 し ます。 dbg_wrcal[62] second_edge_eod 2 番目のエ ッ ジが実際のエ ッ ジではな く 、 PHASER_OUT タ ッ プの制 限に達 し た こ と を示 し ます。 dbg_wrcal[63] po_fine_underflow_check、 po_fine_overflow_check 内部 PHASER_OUT タ ッ プ カ ウ ン タ ーのア ン ダーフ ロ ーま たはオー バーフ ロ ーをチ ェ ッ ク し ます。 マージ ンのチ ェ ッ ク 機能検証、 お よ び信頼性の高い動作を実現する ために十分なマージ ンが使用で き る か を確認する ために、 ク ロ ッ ク ま たはデー タ を移動 さ せ る デバ ッ グ信号が提供 さ れてい ます。 こ れ ら の信号は、 信号のサブセ ッ ト に影響を及ぼすシ グ ナル イ ン テ グ リ テ ィ の問題を確認 し た り 、 ボー ド の ト レース長の不一致に対応する ために使用す る こ と も 可能です。 読み出 し ウ ィ ン ド ウ のマージ ン を検証す る には、 MIG ツールでデザ イ ン を生成する 際にデバ ッ グ ポー ト を有効に し 、 生成 さ れ る サンプル デザ イ ン を使用 し ます。 次の手順に従っ て く だ さ い。 1. Vivado ハー ド ウ ェ ア セ ッ シ ョ ン を開 き 、 生成 さ れた BIT お よ び LTX フ ァ イ ルを使用 し てテ ス ト す る FPGA をプ ロ グ ラ ム し ます。 2. キ ャ リ ブ レーシ ョ ンの完了を検証 し (init_calib_complete を アサー ト する )、 サンプル デザ イ ンにエ ラ ーが ない こ と を確認 し ます (tg_compare_error お よ び dbg_cmp_err は Low)。 3. dbg_byte_sel を使用 し てバ イ ト レーン を選択 し ます。 4. dbg_bit_sel を使用 し て ビ ッ ト レーン を選択 し ます。 5. dbg_pi_tap_cnt を使用 し て選択 し たバ イ ト レーンについて PHASER_IN の タ ッ プ値を確認 し ます。 dbg_idel_tap_cnt_sel を使用 し て選択 し た DQ ビ ッ ト について IDELAY タ ッ プ値を確認 し ます。 6. dbg_pi_f_inc を使用 し てエ ラ ーが発生する ま で (tg_compare_error を アサー ト する ) PHASER_IN の タ ッ プ値を イ ン ク リ メ ン ト し ます。 開始位置か ら エ ラ ーが発生す る ま での PHASER タ ッ プ数を記録 し ます。 こ の値 は、 バ イ ト レーン全体の ウ ィ ン ド ウ の片側に達する ま での タ ッ プ数です。 7. dbg_pi_f_dec を使用 し て PHASER_IN の タ ッ プ数を開始値に戻 る ま でデ ク リ メ ン ト し ます。 8. asserting dbg_clear_error を アサー ト し て前の手順で記録 し たエ ラ ーを ク リ ア し ます。 9. PHASER_IN の タ ッ プ数に基づ き 、 dbg_pi_f_dec を使用 し て PHASER_IN の タ ッ プ をデ ク リ メ ン ト し て ウ ィ ン ド ウ の も う 片 側 を 検 出 す る か、 ま た は 検 出 に 十 分 な タ ッ プ が な い 場 合 は 別 の エ ラ ー が 発 生 す る ま で dbg_idel_down ビ ッ ト について IDELAY タ ッ プ を イ ン ク リ メ ン ト し ます。 10. こ れ ら の結果を記録 し 、 タ ッ プ (PHASER_IN ま たは IDELAY) を開始位置に戻 し 、 エ ラ ー (dbg_clear_error) を再度 ク リ ア し ます。 こ の方法では、 イ ン タ ーフ ェ イ ス全体で共通のエ ラ ー信号を使用する ため、 ほかのビ ッ ト ま たはバ イ ト のマージ ンが テ ス ト さ れず、 チ ェ ッ ク 結果に影響が及ぶ可能性があ り ます。 よ り 優れたチ ェ ッ ク 結果を得 る には、 ビ ッ ト 単位のエ ラ ー信号を使用 し て く だ さ い。 結果を正 し く 解析す る ために、 PHASER_IN お よ び IDELAY タ ッ プ を一般的な単位時 間に変換す る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 424 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン マージ ンの自動チ ェ ッ ク 機能検証を目的 と し た手動に よ る タ ッ プの移動は、 問題のあ る ビ ッ ト やバ イ ト をチ ェ ッ ク する のに有用ですが、 イ ン タ ー フ ェ イ ス 全体 で ス テ ッ プ 実行 し て 問題 を 検出す る に は 対応困難 な 場合 が あ り ま す。 こ の た め、 RLDRAM II/RLDRAM 3 メ モ リ イ ン タ ーフ ェ イ ス デバ ッ グ ポー ト には イ ン タ ーフ ェ イ ス全体で ス テ ッ プ実行可能な自動ウ ィ ン ド ウ チ ェ ッ ク 機能が含まれてい ます。 単純な ス テー ト マシ ン を使用 し てデバ ッ グ ポー ト の信号を制御 し 、 ビ ッ ト 単 位で検出 し たマージ ンの結果を レ ポー ト し ます。 現時点では、 自動ウ ィ ン ド ウ チ ェ ッ ク 機能は PHASER_IN のみを使 用 し て ウ ィ ン ド ウ のサ イ ズ をチ ェ ッ ク す る ため、キ ャ リ ブ レーシ ョ ン後の タ ッ プ値に よ っ ては読み出 し デー タ ウ ィ ン ド ウ の左端を正 し く 検出で き ない場合があ り ます。 表 3-33 に、 自動 ウ ィ ン ド ウ チ ェ ッ ク 機能に関連する 信号を リ ス ト し ます。 表 3-33 : デバ ッ グ ポー ト 信号 信号 説明 dbg_win_start chk_win ス テー ト マシ ン を開始す る シ ン グル パル ス です。 Vivado ロ ジ ッ ク デバ ッ グ VIO を使用 し て制御 し ます。 dbg_win_dump 自動レ ポー ト メ カ ニズ ム を開始する シ ン グル パルス です。Vivado ロ ジ ッ ク デ バ ッ グ VIO を使用 し て制御 し ます。 dbg_win_bit_select[6:0] 結果の レ ポー ト に使用す る 、 手動に よ る ビ ッ ト 選択です。 表示 さ れ る ビ ッ ト の 結果が dbg_win_left_ram_out お よ び dbg_win_right_ram_out に レ ポー ト さ れ ま す。 dbg_win_active chk_win がア ク テ ィ ブで、 読み出 し ウ ィ ン ド ウ のマージ ン を計測 し てい る こ と を示すフ ラ グです。 ア ク テ ィ ブの間は、 ス テー ト マシ ンがデバ ッ グ ポー ト の 信号を制御 し ます。 dbg_win_dump_active chk_win がすべてのビ ッ ト について、 連続 し て結果を自動的に レ ポー ト し てい る こ と を示すフ ラ グです。 dbg_win_clr_error chk_win に よ っ て制御 さ れ る エ ラ ー制御信号を ク リ ア し ます。 dbg_win_current_bit[6:0] 自動 ウ ィ ン ド ウ チ ェ ッ ク 実行中に モ ニ タ リ ン グ さ れ て い る ビ ッ ト を 示す フ ィ ー ド バ ッ ク です。 dbg_win_current_byte[3:0] モニ タ リ ン グ さ れてい る (dbg_byte_sel でバ イ ト レーン制御を選択する ために 使用 さ れてい る ) バ イ ト を示すフ ィ ー ド バ ッ ク です。 dbg_current_bit_ram_out[6:0] win_dump 中に レ ポー ト が返 さ れてい る ビ ッ ト を示すフ ィ ー ド バ ッ ク です。 dbg_win_left_ram_out [WIN_SIZE – 1:0] 特定 ビ ッ ト につい て読み出 し ウ ィ ン ド ウ の左端に達す る の に必要な PHASER_IN タ ッ プ数です。 dbg_win_right_ram_out [WIN_SIZE – 1:0] 特定 ビ ッ ト につい て読み出 し ウ ィ ン ド ウ の右端に達す る の に必要な PHASER_IN タ ッ プ数です。 dbg_win_inc PHASER_IN を イ ン ク リ メ ン ト す る chk_win 制御信号です。 dbg_win_dec PHASER_IN をデ ク リ メ ン ト す る chk_win 制御信号です。 chk_win お よ び win_dump の機能を開始 し てデバ ッ グ ポー ト の接続お よ び機能を検証 し 、 こ のデバ ッ グ ポー ト が ど の よ う に動作す る か を よ り よ く 理解す る ために、 シ ミ ュ レーシ ョ ン専用の ス テー ト マシ ンが追加で提供 さ れます。 こ の 検証を行 う には、 シ ミ ュ レ ーシ ョ ン環境 と し て DEBUG_PORT パ ラ メ ー タ ーを オ ン に し 、 example_top.v に あ る SIMULATE_CHK_WIN と い う ロ ーカル パ ラ メ ー タ ーを TRUE に設定す る 必要があ り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 425 第 3 章 : RLDRAM II お よび RLDRAM 3 メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 書き込みキ ャ リ ブ レーシ ョ ンのデバ ッ グ RLDRAM II/RLDRAM 3 では書 き 込みキ ャ リ ブ レーシ ョ ン を完了する のに時間がかか る ため、 Vivado ロ ジ ッ ク 解析の N サンプル機能を使用 し て、特定の ト リ ガー ポ イ ン ト 後に小 さ い ウ ィ ン ド ウ を選択 し て ト リ ガーお よ び表示 さ せ る と 有益です。 こ れに よ り 、 ト リ ガー条件が最初に発生 し た と き に 単に 1 つの ウ ィ ン ド ウ を キ ャ プチ ャ し た場合 と 比べて よ り 長い期間にわた っ て信号を キ ャ プチ ャ で き る よ う にな り ま す。 適切な ト リ ガー条件は wrcal_byte_sel 信号 と 、 ス テー ト マシ ンの ス テー タ ス信号であ る write_cal_cs です (表 3-32)。 つま り 、特定のバ イ ト レーンに集中 し て PHASER_OUT に調整が実行 さ れ る たびにそれを キ ャ プチ ャ で き る よ う にな り ます。 図 3-76 に、 検出対象物の例を示 し ます。 X-Ref Target - Figure 3-76 図 3-76 : Vivado ロ ジ ッ ク 解析機能によ る書き込みキ ャ リ ブ レーシ ョ ンのキ ャ プ チ ャ 問題の検出が目的の場合、 あ る バ イ ト レーンに返 さ れた読み出 し デー タ が data_valid_r 信号で示 さ れ る と お り に 正 し いか確かめ ます。 こ の信号は、 バース ト が正 し く 受信 さ れてい る 間すべてのデー タ が書 き 込まれ る よ う に複数 ク ロ ッ ク サ イ ク ル間デー タ をチ ェ ッ ク し ます。 こ の信号にギ ャ ッ プがあ る 場合、 大部分のデー タ は正 し く 書 き 込まれて い ますが、 すべてではないため コ マ ン ド と DRAM デー タ 間の レ イ テ ン シが指定 し た設定に対 し て正 し い も のであ る か を確認 し ます。 次に、 アルゴ リ ズ ムが検出 し た ウ ィ ン ド ウ のエ ッ ジの位置を確認 し て受信 し たデー タ と 比較 し ます。 受信 し たデー タ が常に誤っ てい る 場合、 キ ャ リ ブ レーシ ョ ン の早期段階で実行 し た リ ー ド レベ リ ン グで問題が発生 し たか、 ま たは PCB の問題で さ ら にデバ ッ グ を行 う 必要があ る こ と を示 し てい ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 426 第 4章 LPDDR2 SDRAM メ モ リ イ ン タ ーフ ェ イ ス ソ リ ューシ ョ ン は じ めに ザ イ リ ン ク ス 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン コ アはあ ら か じ め構築 さ れた コ ン ト ロ ー ラ ーお よ び物理層 (PHY) であ り 、 7 シ リ ーズ FPGA ユーザー デザ イ ン と LPDDR2 SDRAM デバ イ ス の接続に使用 さ れ ます。 こ のユーザー ガ イ ド では、 7 シ リ ーズ FPGA 用の LPDDR2 SDRAM イ ン タ ーフ ェ イ ス コ アの使用、 カ ス タ マ イ ズ、 シ ミ ュ レーシ ョ ンの方法について解説 し ます。 機能 ザ イ リ ン ク ス 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンは、 以前のデバ イ ス と 比較 し て次の点が改 善 さ れてい ます。 • 性能を向上 • 物理層に新 し いハー ド ウ ェ ア ブ ロ ッ ク : PHASER_IN と PHASER_OUT、 PHY 制御ブ ロ ッ ク 、 お よ び I/O FIFO (476 ページの 「 コ アのアーキ テ ク チ ャ 」 参照) • ハー ド ウ ェ ア ブ ロ ッ ク に よ る ピ ン配置規則の変更 (526 ページの 「設計ガ イ ド ラ イ ン」 参照) • コ ン ト ロ ー ラ ーお よ びユーザー イ ン タ ーフ ェ イ ス が メ モ リ ク ロ ッ ク 周波数の 1/2 で動作 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 427 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado Design Suite での MIG の使用 こ こ では、 Vivado® Design Suite を使用 し て MIG IP を生成 し 、 Vivado IP カ タ ロ グ を用いて イ ンプ リ メ ン ト す る 手順を 説明 し ます。 1. Vivado IP を起動 し ます (図 4-1)。 X-Ref Target - Figure 4-1 図 4-1 : Vivado ツール 2. 新 し いプ ロ ジ ェ ク ト を作成す る には、図 4-1 に示す [Create New Project] を ク リ ッ ク し て図 4-2 のページ を開 き ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 428 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-2 図 4-2 : 新規 Vivado ツール プ ロ ジ ェ ク ト の作成 3. [Next] を ク リ ッ ク し て [Project Name] ページに進みます (図 4-3)。プ ロ ジ ェ ク ト 名 と プ ロ ジ ェ ク ト の場所を入力 し ます。 プ ロ ジ ェ ク ト は入力 し た内容に基づいてデ ィ レ ク ト リ に保存 さ れます。 X-Ref Target - Figure 4-3 図 4-3 : [Project Name] ページ 4. [Next] を ク リ ッ ク し て [Project Type] ページに進みます (図 4-4)。MIG に よ っ て生成 さ れ る フ ァ イ ルは RTL 形式で あ る ため、 [Project Type] で [RTL Project] を オンに し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 429 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-4 図 4-4 : [Project Type] ページ 5. [Next] を ク リ ッ ク し て [Add Sources] ページに進みます (図 4-5)。 こ こ ではプ ロ ジ ェ ク ト に RTL フ ァ イ ルを追加で き ます。 プ ロ ジ ェ ク ト を あ ら か じ め作成 し ていない場合は次のページに進みます。 X-Ref Target - Figure 4-5 図 4-5 : [Add Sources] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 430 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 6. [Next] を ク リ ッ ク し て [Add Existing IP (Optional)] ページ を開き ます (図 4-6)。 IP が作成済の場合は、 IP に よ っ て 生成 さ れた XCI フ ァ イ ルをプ ロ ジ ェ ク ト に追加で き 、 以前作成 し た IP フ ァ イ ルが自動的に追加 さ れます。 IP が あ ら か じ め作成 さ れていない場合は次のページに進みます。 X-Ref Target - Figure 4-6 図 4-6 : [Add Existing IP (Optional)] ページ 7. [Next] を ク リ ッ ク し て [Add Constraints (Optional)] ページ を開き ます (図 4-7)。 制約フ ァ イ ルが リ ポジ ト リ にあ る 場合、 それをプ ロ ジ ェ ク ト に追加で き ます。 制約フ ァ イ ルがない場合は次のページに進みます。 X-Ref Target - Figure 4-7 図 4-7 : [Add Constraints (Optional)] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 431 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 8. [Next] を ク リ ッ ク し て [Default Part] ページ (図 4-8) へ進みます。 こ のページでは タ ーゲ ッ ト デバ イ ス を選択で き ます。 図 4-8 の よ う な [Default Part] ページが表示 さ れます。 X-Ref Target - Figure 4-8 図 4-8 : [Default Part] ページ (デ フ ォル ト ウ ィ ン ド ウ) タ ーゲ ッ ト と す る [Family]、 [Package] お よ び [Speed grade] を選択 し ます。 使用可能なデバ イ ス が同 じ ページに表 示 さ れ、 そ こ か ら タ ーゲ ッ ト デバ イ ス を選択で き ます (図 4-9)。 X-Ref Target - Figure 4-9 図 4-9 : [Default Part] ページ (カ ス タ ム ウ ィ ン ド ウ) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 432 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン [Parts] を使用 し てデバ イ ス を選択す る 以外に、 [Boards] でデバ イ ス を選択す る こ と も で き ます。 こ こ ではザ イ リ ン ク ス がサポー ト す る 評価ボー ド が表示 さ れます (図 4-10)。 こ のオプシ ョ ン を使用する と 、 評価ボー ド でデザ イ ン を使用で き ます。 前の手順で既存の IP の XCI フ ァ イ ルを選択 し た場合、 同 じ デバ イ ス を こ こ で選択す る 必要 があ り ます。 X-Ref Target - Figure 4-10 図 4-10 : デ フ ォル ト のデバイ スお よびボー ド 9. [Next] を ク リ ッ ク し て [New Project Summary] ページ を開 き ます (図 4-11)。 こ こ では、 選択 し たプ ロ ジ ェ ク ト のサ マ リ が表示 さ れます。 X-Ref Target - Figure 4-11 図 4-11 : [New Project Summary] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 433 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 10. [Finish] を ク リ ッ ク し てプ ロ ジ ェ ク ト の作成を終了 し ます。 11. [Project Manager] で [IP Catalog] を ク リ ッ ク し て IP カ タ ロ グ ウ ィ ン ド ウ を開き ます。 IP カ タ ロ グ ウ ィ ン ド ウ が パネルの右側に表示 さ れます (図 4-12 の赤い丸で囲っ た部分)。 12. MIG ツールは IP カ タ ロ グ ウ ィ ン ド ウ の [Memories & Storage Elements] → [Memory Interface Generators] (図 4-12) にあ り ますが、 検索ボ ッ ク ス に 「MIG」 と 入力す る こ と で も 検索で き ます。 X-Ref Target - Figure 4-12 図 4-12 : IP カ タ ログ ウ ィ ン ド ウ - [Memory Interface Generator] Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 434 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 13. [MIG 7 Series] を ク リ ッ ク し て MIG ツールを開 き ます (図 4-13)。 X-Ref Target - Figure 4-13 図 4-13 : 7 シ リ ーズ FPGA の MIG (Memory Interface Generator) の最初のページ 14. [Next] を ク リ ッ ク し て [MIG Output Options] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 435 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのカ ス タ マ イ ズ と 生成 注意 : Windows オペレーテ ィ ン グ シ ス テ ムでは、 パ ス の長 さ が最大で 260 文字ま でに制限 さ れてお り 、 こ れに よ っ て Vivado ツールで問題が生 じ る 可能性があ り ます。 こ の問題を回避す る には、 プ ロ ジ ェ ク ト 作成時に可能な限 り 短い名 前 と デ ィ レ ク ト リ の場所を使用 し 、 IP や IP プ ロ ジ ェ ク ト の定義お よ びブ ロ ッ ク デザ イ ンの作成を行っ て く だ さ い。 [MIG Output Options] ページ 1. [Create Design] を オンに し て新規 メ モ リ コ ン ト ロ ー ラ ー デザ イ ン を作成 し ます。 [Component Name] に コ ン ポー ネ ン ト 名を入力 し ます (図 4-14)。 2. [Number of Controllers] を 1 に設定 し ます。 LPDDR2 SDRAM では、 サポー ト さ れ る コ ン ト ロ ー ラ ー数は 1 です。 X-Ref Target - Figure 4-14 図 4-14 : [MIG Output Options] ページ MIG の出力は、 <component name> フ ォ ルダーに生成 さ れます。 重要 : <component name> に使用で き る のは英数字のみです。 特殊文字は使用で き ません。 先頭の 1 文字は英字で あ る 必要があ り ます (末尾の 1 文字は英字で も 数字で も か ま い ません)。 3. [Next] を ク リ ッ ク し て [Pin Compatible FPGAs] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 436 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ピ ン互換 FPGA [Pin Compatible FPGAs] ページには、 選択 し た FPGA フ ァ ミ リ でパ ッ ケージが同 じ デバ イ ス が表示 さ れ ま す。 MIG ツールで生成 し た ピ ン配置を、 こ こ に表示 さ れた FPGA と 互換性を持たせ る よ う にす る には、 こ のオプシ ョ ン を使用 し てデバ イ ス を選択 し ます (図 4-15)。 ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジで実装 さ れたザ イ リ ン ク ス 7 シ リ ーズ デバ イ ス には、 SLR (Super Logic Region) があ り ます。 メ モ リ イ ン タ ーフ ェ イ ス は複数の SLR を ま た ぐ こ と はで き ません。 選択 し たデバ イ ス ま たは選択 し た互換性のあ る デバ イ ス に SLR があ る 場合は、 MIG ツールが メ モ リ イ ン タ ーフ ェ イ ス がその境界 を越え ない よ う に し ます。 X-Ref Target - Figure 4-15 図 4-15 : ピ ン互換性のある 7 シ リ ーズ FPGA 1. 表示 さ れた ピ ン互換性のあ る FPGA の中か ら デバ イ ス を選択 し ます。 MIG ツールは、 こ こ で選択 し た FPGA と タ ーゲ ッ ト FPGA に共通す る ピ ン のみを使用 し ま す。 [Target FPGA] には、 選択 し た タ ーゲ ッ ト FPGA デバ イ ス 名が表示 さ れます。 2. [Next] を ク リ ッ ク し て [Memory Selection] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 437 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 7 シ リ ーズ FPGA LPDDR2 SDRAM メ モ リ コ ン ト ロー ラ ー ブ ロ ッ ク デザイ ンの作成 メ モ リ の選択 [Memory Selection] ページには、 選択 し た FPGA フ ァ ミ リ でサポー ト さ れ る すべての メ モ リ タ イ プが表示 さ れます。 1. [Select the Controller Type] で [LPDDR2 SDRAM] を オンに し ます。 2. [Next] を ク リ ッ ク し て [Controller Options] ページに進みます (図 4-16)。 X-Ref Target - Figure 4-16 図 4-16 : メ モ リ タ イ プおよび コ ン ト ロー ラ ーの選択 コ ン ト ロー ラ ー オプ シ ョ ン [Options for Controller] ページには、 選択可能な コ ン ト ロ ー ラ ー オプシ ョ ンが表示 さ れます (図 4-17)。 ヒ ン ト : メ モ リ コ ン ト ロ ー ラ ーの使用はオプシ ョ ン です。 物理層 (PHY) は、 メ モ リ コ ン ト ロ ー ラ ーがな く て も 使用 で き ます。 メ モ リ コ ン ト ロ ー ラ ーの RTL は MIG ツールで常に生成 さ れますが、 こ の出力を使用す る 必要はあ り ませ ん。 こ こ では、 ORDERING な ど の コ ン ト ロ ー ラ ー専用の設定は不要で、 デフ ォ ル ト を使用で き ます。 [Clock Period] な ど の PHY に関す る 設定は、 PHY のパ ラ メ ー タ ー設定に使用 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 438 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-17 図 4-17 : [Controller Options] ページ デザ イ ンに複数の コ ン ト ロ ー ラ ーがあ る 場合は、各コ ン ト ロ ー ラ ーに対 し て コ ン ト ロ ー ラ ー オプシ ョ ンのページが繰 り 返 し 表示 さ れます。 こ のページは、 最大 9 個のセ ク シ ョ ンに分類 さ れ、 選択 し た メ モ リ タ イ プに よ っ てセ ク シ ョ ン 数が異な り ます。 オプシ ョ ン ページにはプルダ ウ ン メ ニ ュ ーがあ り 、 デザ イ ンの さ ま ざ ま な機能を変更で き ます。 • [Clock Period] : すべての コ ン ト ロ ー ラ ーの ク ロ ッ ク 周期を示 し ます。 設定可能な ク ロ ッ ク 周期の範囲は、 選択 し た FPGA デバ イ スやその ス ピー ド グ レー ド な ど の要因に よ っ て異な り ます。 • [PHY to Controller Clock Ratio] : 物理層 ( メ モ リ ) の ク ロ ッ ク 周波数 と コ ン ト ロ ー ラ ーお よ びユーザー イ ン タ ー フ ェ イ ス の ク ロ ッ ク 周波数の比率を指定 し ます。 2:1 の と き のユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス幅は、 物 理層 メ モ リ イ ン タ ーフ ェ イ ス幅の 4 倍 と な り ます。 • [Memory Type] : デザ イ ンで使用す る メ モ リ タ イ プ を選択 し ます。 • [Memory Part] : デザ イ ンで使用す る メ モ リ デバ イ ス を選択 し ます。 リ ス ト の中か ら 選択す る か、 新規デバ イ ス を作成 し ます。 • [Data Width] : 選択 し た メ モ リ タ イ プに基づいてデー タ 幅の値を選択 し ます。 ド ロ ッ プダ ウ ン リ ス ト に、 選択 し たデバ イ ス でサポー ト さ れ る デー タ 幅の値が表示 さ れ る ため、 その中か ら 1 つを選択 し ます。 • [Data Mask] : こ のオプシ ョ ン をオンにす る と 、 デー タ マ ス ク ピ ンが割 り 当て ら れます。 デー タ マ ス ク ピ ンの割 り 当て を解除 し て ピ ン効率を上げ る 場合は、 こ のオプシ ョ ンの選択を解除 し て く だ さ い。 デー タ マ ス ク 機能をサ ポー ト し ない メ モ リ デバ イ ス の場合、 こ のオプシ ョ ンは無効です。 • [ORDERING] : メ モ リ バ ス の効率を向上する ため、 メ モ リ コ ン ト ロ ー ラ ーで コ マ ン ド の順序を変更す る 機能で す。 • [Memory Details] : [Controller Options] ページの下部 (439 ページの図 4-17) に、 選択 し た メ モ リ の コ ン フ ィ ギ ュ レーシ ョ ンに関す る 詳細が表示 さ れます (図 4-18)。 X-Ref Target - Figure 4-18 図 4-18 : 選択 し た メ モ リ のコ ン フ ィ ギ ュ レーシ ョ ンの詳細 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 439 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 1. 適切な周波数を選択 し ます。 ド ロ ッ プダ ウ ン リ ス ト を使用す る か、 キーボー ド か ら 有効な値を入力 し ます。 入力 値は、 サポー ト さ れ る 最大/最小周波数範囲内に制限 さ れます。 2. [Memory Part] リ ス ト か ら 適切な メ モ リ デバ イ ス を選択 し ます。 希望す る デバ イ ス が リ ス ト にない場合は、 新規 メ モ リ デバ イ ス を作成で き ます。 カ ス タ ム デバ イ ス を作成す る には、 [Memory Part] の下にあ る [Create Custom Part] を ク リ ッ ク し ます。 図 4-19 に示すダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 X-Ref Target - Figure 4-19 図 4-19 : [Create Custom Part] ダ イ ア ログ ボ ッ ク ス [Create Custom Part] ダ イ ア ロ グ ボ ッ ク ス には、 [Select Base Part] で選択 し た メ モ リ コ ン ポーネ ン ト のすべての仕 様が表示 さ れます。 3. [Enter New Memory Part Name] に新 し い メ モ リ デバ イ ス の名前を入力 し ます。 4. 基準 と な る メ モ リ デバ イ ス を [Select Base Part] か ら 選択 し ます。 5. 必要に応 じ て、 [Value] 欄の値を変更 し ます。 6. 要件に応 じ て、 [Row Address]、 [Colum Address] お よ び [Bank Address] の値を選択 し ます。 7. すべての フ ィ ール ド を編集後、 [Save] を ク リ ッ ク し ます。 指定 し た名前で新 し いデバ イ ス が保存 さ れます。 こ こ で作成 し たデバ イ ス は、 [Controller Options] ページの [Memory Part] リ ス ト に追加 さ れます。 デー タ ベース に も 保 存 さ れ る ため、 再利用 し てデザ イ ン を作成す る こ と がで き ます。 8. [Next] を ク リ ッ ク し て [Memory Options for Controller] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 440 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン LPDDR2 SDRAM メ モ リ オプ シ ョ ン [Memory Options for Controller] ページでは、 コ ン ト ロ ー ラ ーの仕様に従っ て メ モ リ モー ド レ ジ ス タ の値を選択 し ます (図 4-20)。 X-Ref Target - Figure 4-20 図 4-20 : メ モ リ オプ シ ョ ンの設定 モー ド レ ジ ス タ の値は、 初期化中に ロ ー ド モー ド レ ジ ス タ に読み込まれます。 リ ス ト か ら 適切な入力 ク ロ ッ ク 周期を選択 し ます。 こ れ ら の値は、 選択 し た メ モ リ ク ロ ッ ク 周期の値 と パ ラ メ ー タ ー の制限値に よ っ て決 ま り ま す。 MMCM パ ラ メ ー タ ーの制限値の詳細は、 526 ページの 「設計ガ イ ド ラ イ ン」 を参照 し て く だ さ い。 [Next] を ク リ ッ ク し て [FPGA Options] ページに進みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 441 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン FPGA オプ シ ョ ン 図 4-21 に、 [FPGA Options] ページ を示 し ます。 X-Ref Target - Figure 4-21 図 4-21 : [FPGA Options] ページ • [System Clock] : sys_clk 信号ペアの ク ロ ッ ク タ イ プ ([Single-Ended] (シ ン グルエン ド )、 [Differential] (差動)、 ま たは [No Buffer] (バ ッ フ ァ ーな し )) を選択 し ます。 [No Buffer] を選択す る と 、 IBUF プ リ ミ テ ィ ブが RTL コ ー ド で イ ン ス タ ン シエー ト さ れず、 シ ス テ ム ク ロ ッ ク に ピ ンが割 り 当て ら れません。 MIG で [No Buffer] を 選択 し て生成 さ れ たデザ イ ン を 変更せずに イ ン プ リ メ ン ト す る と 、 sys_clk_i 信号に IBUF が イ ン ス タ ン シエー ト さ れていないためにエ ラ ーが発生 し ます。[No Buffer] を選択 し た場合は、sys_clk_i を内部 ク ロ ッ ク に接続す る 必要があ り ます。 • [Reference Clock] : clk_ref 信号ペアの ク ロ ッ ク タ イ プ ([Single-Ended] (シ ン グルエン ド )、 [Differential] (差動)、 [No Buffer] (バ ッ フ ァ ーな し )、ま たは [Use System Clock] (シ ス テ ム ク ロ ッ ク を使用)) を選択 し ます。[Use System Clock] は、 入力周波数が 199 ~ 201MHz ([Input Clock Period] が 5,025ps (199MHz) ~ 4,975ps (201MHz)) の場合に表示 さ れます。 [No Buffer] を選択す る と 、 IBUF プ リ ミ テ ィ ブが RTL コ ー ド に イ ン ス タ ン シエー ト さ れず、 基準 ク ロ ッ ク に ピ ンが割 り 当て ら れません。 MIG で [No Buffer] を 選択 し て生成 さ れ たデザ イ ン を 変更せずに イ ン プ リ メ ン ト す る と 、 ref_clk_i 信号に IBUF が イ ン ス タ ン シエー ト さ れていないためにエ ラ ーが発生 し ます。[No Buffer] を選択 し た場合は、ref_clk_i を内部 ク ロ ッ ク に接続す る 必要があ り ます。 • [System Reset Polarity] : シ ス テ ム リ セ ッ ト (sys_rst) の極性を選択 し ます。 [ACTIVE LOW] を選択す る と 、 RST_ACT_LOW パ ラ メ ー タ ーが 1 に設定 さ れ、 RST_ACT_HIGH パ ラ メ ー タ ーが 0 に設定 さ れます。 • [Debug Signals for Memory Controller] : こ のオプシ ョ ン を [ON] に設定する と 、 キ ャ リ ブ レーシ ョ ン ス テー タ ス と ユーザー ポー ト 信号を example_top モジ ュ ールの ILA お よ び VIO にポー ト マ ッ プで き ます。 こ れに よ り 、 ユーザー イ ン タ ーフ ェ イ ス ポー ト の ト ラ フ ィ ッ ク を Vivado Lab Edition で簡単に確認で き ます。 こ のオプシ ョ ン を [OFF] に設定す る と 、 example_top モジ ュ ールでデバ ッ グ信号は接続 さ れず、 IP カ タ ロ グに よ り ILA/VIO モ ジ ュ ールは生成 さ れません。 論理シ ミ ュ レーシ ョ ンでは、 デバ ッ グ ポー ト は常に無効です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 442 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [Sample Data Depth] : Vivado デバ ッ グ ロ ジ ッ ク で使用 さ れ る ILA モジ ュ ールのサンプル デー タ の深 さ を選択 し ます。 こ のオプシ ョ ンは [Debug Signals for Memory Controller] を [ON] にする と 選択で き ます。 • [Internal VREF] : デー タ グループ バ イ ト で内部 VREF を使用す る と 、 VREF ピ ン を通常の I/O ピ ン と し て使用で き ます。 [Internal VREF] は、 デー タ レー ト が 800Mb/s 以下の場合のみ使用 し て く だ さ い。 [Next] を ク リ ッ ク し て [Pin/Bank Selection Mode] ページに進みます。 • [Pin/Bank Selection Mode] : 既存の ピ ン配置を指定 し てその ピ ン配置に合わせた RTL を生成す る か ([Fixed Pin Out])、 新規デザ イ ン用のバン ク を選択する か ([New Design]) を指定 し ます。 図 4-22 に、 [Fixed Pin Out] を オンに し た場合に表示 さ れ る ページ を示 し ます。 各信号に対 し て適切な ピ ン を割 り 当て る 必要があ り ます。 バン ク を選 択す る と 、 リ ス ト に表示 さ れ る ピ ンが絞 り 込まれます。 ピ ン を選択す る 前に必ず し も バン ク を選択す る 必要はあ り ません。 [Validate] を ク リ ッ ク す る と 、 MIG の ピ ン配置規則に基づいてチ ェ ッ ク が実行 さ れます。 [Validate] を ク リ ッ ク し て MIG DRC 検証が完了する ま で次のページに進む こ と はで き ません。 X-Ref Target - Figure 4-22 図 4-22 : ピ ン/バン ク の選択 コ ン ト ロー ラ ーのバン クの選択 [Bank Selection For Controller] ページでは、 メ モ リ イ ン タ ーフ ェ イ ス用のバ イ ト を選択 し ます。 次の よ う な異な る メ モ リ 信号に対 し てバ イ ト を選択で き ます。 • ア ド レ ス信号 と 制御信号 • デー タ 信号 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 443 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-23 図 4-23 : バン ク の選択 設定を カ ス タ マ イ ズす る には [Deselect Banks] を ク リ ッ ク し 、 適切なバン ク 信号お よ び メ モ リ 信号を選択 し ます。 デ フ ォ ル ト の設定を使用す る 場合は [Next] を ク リ ッ ク し て次のページに進みます。 バン ク の選択を解除す る には、 [Deselect Banks] を ク リ ッ ク し ます。 デフ ォ ル ト 設定に戻すには、 [Restore Defaults] を ク リ ッ ク し ます。 デバ イ ス の HP バン ク の Vccaux_io グループは、 破線で囲ま れてい ます。 Vccaux_io はグループ内のすべてのバ ン ク に共通です。 メ モ リ イ ン タ ーフ ェ イ ス では、 使用す る すべてのバン ク で 同 じ Vccaux_io を使用す る 必要があ り ます。 指定のデー タ レー ト に合わせて、 MIG に よ り VCCAUX_IO 制約が自動的に設定 さ れます。 SSI テ ク ノ ロ ジで実装 さ れたデバ イ ス では、 SLR (Super Logic Region) は各バン ク のヘ ッ ダーの番号を付けて表 さ れま す (SLR 1 な ど)。 イ ン タ ーフ ェ イ スは複数の SLR を ま た ぐ こ と はで き ません。 [System Signals Selection] ページでは、 シ ス テ ム信号の ピ ン を選択 し ます (図 4-24)。 MIG ツールでは、 必要に応 じ て外 部ピ ン と 内部接続の ど ち ら も 選択で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 444 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-24 図 4-24 : シ ス テム ピ ンの選択 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 445 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • [sys_clk] : メ モ リ イ ン タ ーフ ェ イ ス のシ ス テ ム ク ロ ッ ク 入力で、通常は低ジ ッ タ ーの外部 ク ロ ッ ク ソ ース に接続 し ます。 [FPGA Options] ページ (図 4-21) で選択 し た [System Clock] に基づいてシ ン グルエン ド 入力ま たは差動ペ アのいずれか を選択で き ます。 sys_clk 入力は メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列にあ る 必要があ り ます。 こ の ピ ン を メ モ リ イ ン タ ーフ ェ イ ス と 同 じ バン ク に接続 し た場合、 MIG ツールは DIFF_SSTL12 や SSTL12 な ど メ モ リ イ ン タ ーフ ェ イ ス と 互換性のあ る I/O 規格を選択 し ます。sys_clk が メ モ リ イ ン タ ーフ ェ イ ス バン ク で未接 続の場合、 MIG ツールは LVCMOS18 や LVDS な ど の適切な規格を選択 し ます。 XDC は生成後に必要に応 じ て修 正で き ます。 • [clk_ref] : IDELAY 制御の基準周波数入力です。 200MHz の入力です。 clk_ref 入力は内部で生成する こ と も 、 外部 ソ ース に接続す る こ と も で き ます。 [FPGA Options] ページ (図 4-21) で選択 し た [System Clock] に基づいて シ ン グル入力ま たは差動ペア を選択で き ます。 I/O 規格は sys_clk と 同様の方法で選択 さ れます。 • [sys_rst] : 内部で生成ま たは外部ピ ンに よ っ て駆動 さ れ る シ ス テ ム リ セ ッ ト 入力です。 HP バン ク には LVCMOS18、 HR バン ク には LVCMOS25 な ど、 入力に対す る 適切な I/O 規格が MIG ツールに よ り 選択 さ れます。 sys_rst ピ ン のデフ ォ ル ト の極性はア ク テ ィ ブ Low です。 sys_rst ピ ン の極性は、 [FPGA Options] ページの [System Reset Polarity] の設定に よ り ます (図 4-21)。 • [init_calib_complete] : メ モ リ 初期化 と キ ャ リ ブ レーシ ョ ンが完了 し 、 イ ン タ ーフ ェ イ ス の使用準備がで き た こ と を示す出力です。 こ の信号は通常は内部でのみ使用 し ますが、 必要に応 じ て ピ ンに出力で き ます。 • [tg_compare_error] : サンプル デザ イ ンの ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーでデー タ 比較エ ラ ーが検出 さ れた こ と を 示 し ます。 こ の信号はサ ン プル デザ イ ン でのみ生成 さ れ、 ユーザー デザ イ ンには含ま れ ません。 こ の信号は通 常ピ ンには出力 さ れませんが、 必要に応 じ て出力 さ せ る こ と が可能です。 [Next] を ク リ ッ ク し て [Summary] ページに進みます。 サマ リ [Summary] ページには、 7 シ リ ーズ FPGA の メ モ リ コ アの選択、 イ ン タ ーフ ェ イ ス パ ラ メ ー タ ー、 Vivado ツールのオ プシ ョ ン、 ア ク テ ィ ブ プ ロ ジ ェ ク ト の FPGA オプシ ョ ン な ど、 すべての詳細が表示 さ れます (図 4-25)。 X-Ref Target - Figure 4-25 図 4-25 : サマ リ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 446 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ モデル ラ イ セ ン ス MIG ツールでは、 DDR、 DDR2、 お よ び LPDDR2 SDRAM な ど の メ モ リ を シ ミ ュ レーシ ョ ンする 目的 と し て、 指定 し たベン ダーの メ モ リ モデルを出力で き ます。 sim フ ォ ルダー内の メ モ リ モデルへア ク セ スす る には、 ラ イ セ ン ス契 約に合意す る 必要があ り ます (図 4-26)。 ラ イ セ ン ス契約を読み、 [Accept] をオンに し て く だ さ い。 ラ イ セ ン ス契約に 合意 さ れない場合は、メ モ リ モデルは使用で き ません。デザ イ ンのシ ミ ュ レーシ ョ ンには、メ モ リ モデルが必要です。 X-Ref Target - Figure 4-26 8*BFBB 図 4-26 : ラ イ セ ン ス契約 [Next] を ク リ ッ ク し て [PCB Information] ページに進みます。 PCB 情報 [PCB Information] ページには、 MIG ツールで生成 し たデザ イ ン を使用す る ボー ド の設計に必要な PCB 関連の情報が 表示 さ れます。 [Next] を ク リ ッ ク し て [Design Notes] ページに進みます。 デザイ ン ノ ー ト [Generate] を ク リ ッ ク し て デ ザ イ ン フ ァ イ ル を 生 成 し ま す。 MIG ツ ー ル で は、 2 つ の 出力デ ィ レ ク ト リ (example_design お よ び user_design) が生成 さ れます。デザ イ ンの生成が完了する と MIG の GUI 画面が閉 じ ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 447 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン MIG 用の Vivado 統合デザイ ン フ ロー 1. [Generate] を ク リ ッ ク す る と 、 [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 こ のダ イ ア ロ グ ボ ッ ク ス には、 図 4-27 の よ う に、 [Out-of-Context Settings] があ り ます。 X-Ref Target - Figure 4-27 図 4-27 : [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス 2. [Out-of-Context Settings] を ク リ ッ ク し て、合成済みチ ェ ッ ク ポ イ ン ト の生成を設定 し ます。Out-of-Context フ ロ ー を有効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ ンに し ます。 こ の フ ロ ーを無効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ フ に し ます。 図 4-28 の よ う に、 デフ ォ ル ト では有効にな っ てい ます。 X-Ref Target - Figure 4-28 図 4-28 : [Out-of-Context Settings] ダ イ ア ロ グ ボ ッ ク ス Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 448 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 3. MIG のデザ イ ンは、 Vivado の階層デザ イ ン フ ロ ーに準拠 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) [参照 5] お よ び『Vivado Design Suite チ ュ ー ト リ アル : 階層デザ イ ン』 (UG946) [参照 6] を 参照 し て く だ さ い。 4. MIG デザ イ ンが生成 さ れ る と 、 図 4-29 の よ う なプ ロ ジ ェ ク ト ウ ィ ン ド ウ が表示 さ れます。 X-Ref Target - Figure 4-29 図 4-29 : Vivado ツールのプ ロ ジ ェ ク ト ウ ィ ン ド ウ (IP コ アの生成後) 5. プ ロ ジ ェ ク ト が作成 さ れ る と 、 XCI フ ァ イ ルがプ ロ ジ ェ ク ト の [Hierarchy] に追加 さ れます。 同 じ 画面に user_design のモ ジ ュ ール階層が表示 さ れ ま す。 HDL お よ び XDC フ ァ イ ルの リ ス ト は、 [Sources] ビ ュ ーの [IP Sources] に表示 さ れます。 モジ ュ ールま たはフ ァ イ ルを ダブル ク リ ッ ク す る と 、 Vivado のエデ ィ タ ーでその フ ァ イ ルが開 き ます。 こ れ ら の フ ァ イ ルは読み取 り 専用です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 449 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-30 図 4-30 : Vivado ツールのプ ロ ジ ェ ク ト ソ ース ウ ィ ン ド ウ [Create Design] フ ロ ーま たは [Verify Pin Changes and Update Design] フ ロ ーを使用 し てデザ イ ン を MIG か ら 生成で き ます。 MIG ツールか ら のデザ イ ン の生成については、 こ れ ら の フ ロ ーに差異はあ り ません。 デザ イ ン を MIG ツールか ら 生成す る フ ロ ーに関係な く 、 XCI フ ァ イ ルは Vivado ツール プ ロ ジ ェ ク ト に追加 さ れます。 イ ンプ リ メ ン テーシ ョ ン フ ロ ーはプ ロ ジ ェ ク ト に追加 さ れた XCI フ ァ イ ルに依存す る ため、 こ の フ ロ ーはあ ら ゆ る 状況 において同 じ です。 6. MIG で生成 さ れたすべてのユーザー デザ イ ン RTL お よ び XDC フ ァ イ ルは自動的にプ ロ ジ ェ ク ト へ追加 さ れま す。 フ ァ イ ルが変更 さ れ、 こ れ ら を再度生成 し たい場合は、 XCI フ ァ イ ルで右 ク リ ッ ク し て [Generate Output Products] を ク リ ッ ク し ます (図 4-31)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 450 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-31 図 4-31 : RTL および制約の生成 7. [Generate Output Products] を ク リ ッ ク する と [Manage Outputs] ウ ィ ン ド ウ が表示 さ れます (図 4-32)。 X-Ref Target - Figure 4-32 図 4-32 : 生成用のウ ィ ン ド ウ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 451 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 8. ユーザー デザ イ ンの RTL フ ァ イ ルお よ び制約フ ァ イ ル (XDC フ ァ イ ル) はすべて [Sources] → [Libraries] ビ ュ ー で表示で き ます (図 4-33)。 X-Ref Target - Figure 4-33 図 4-33 : Vivado プ ロ ジ ェ ク ト – RTL フ ァ イル と 制約 フ ァ イル 9. Vivado は [Open IP Example Design] フ ロ ーをサポー ト し てい ます。 こ の フ ロ ーを使用 し てサンプル デザ イ ン を 作成す る には、 [Sources] ビ ュ ーで IP を右 ク リ ッ ク し ます (図 4-34)。 X-Ref Target - Figure 4-34 図 4-34 : IP サン プル デザイ ン を開 く Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 452 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 10. こ のオプシ ョ ンでは新 し い Vivado プ ロ ジ ェ ク ト が作成 さ れます。 メ ニ ュ ーを選択す る と ダ イ ア ロ グ ボ ッ ク ス が 表示 さ れ、 こ のダ イ ア ロ グ ボ ッ ク ス に従っ て新 し いデザ イ ン プ ロ ジ ェ ク ト のデ ィ レ ク ト リ に移動 し ます。 デ ィ レ ク ト リ を選択 し て (ま たはデフ ォ ル ト を使用) [OK] を ク リ ッ ク し ます。 こ れに よ り 、 すべてのサンプル デザ イ ン と IP の コ ピーを含む新 し い Vivado が起動 し ます。 こ のプ ロ ジ ェ ク ト で は、 example_top が イ ンプ リ メ ン テーシ ョ ンの最上位デ ィ レ ク ト リ 、 sim_tb_top がシ ミ ュ レーシ ョ ンの最上 位デ ィ レ ク ト リ と な っ てい ます (図 4-35)。 X-Ref Target - Figure 4-35 図 4-35 : サン プル デザイ ンのプ ロ ジ ェ ク ト 11. [Project Manager] → [Program and Debug] の下にあ る [Generate Bitstream] を ク リ ッ ク し 、 生成 さ れたデザ イ ン の BIT フ ァ イ ルを生成 し ます。 <project directory>/<project directory>.runs/ impl_1 デ ィ レ ク ト リ には、イ ンプ リ メ ン テーシ ョ ン実行後にプ ロ ジ ェ ク ト 用に生成 さ れた レ ポー ト フ ァ イ ルがすべて含まれます。 こ のプ ロ ジ ェ ク ト では、 シ ミ ュ レーシ ョ ン も 実行で き ます。 12. MIG IP コ アは [Re-customize IP] を使用 し て再度カ ス タ マ イ ズで き ます。 example_design プ ロ ジ ェ ク ト で IP を再度カ ス タ マ イ ズす る こ と は推奨 さ れてい ません。 example_design プ ロ ジ ェ ク ト を閉 じ 、 元のプ ロ ジ ェ ク ト に戻っ てそ こ でカ ス タ マ イ ズす る のが正 し い方法です。 XCI フ ァ イ ルを右 ク リ ッ ク し て [Recustomize IP] を ク リ ッ ク す る と (図 4-36)、 MIG の GUI が表示 さ れ る のでオプシ ョ ン を設定 し てデザ イ ン を生成 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 453 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-36 図 4-36 : IP の再カ ス タ マ イ ズ MIG のデ ィ レ ク ト リ 構造 と フ ァ イルの説明 出力デ ィ レ ク ト リ の構造 フ ォ ルダー名 <component name> が付いた MIG 出力が生成 さ れます。 こ こ では、 選択 し た メ モ リ コ ン ト ロ ー ラ ー (MC) デザ イ ン の MIG ツールか ら の出力デ ィ レ ク ト リ 構造を示 し ま す。 <component name> デ ィ レ ク ト リ には、 次の 3 つの フ ォ ルダーが作成 さ れます。 • docs • example_design • user_design Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 454 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン mig_7series_v2_3 docs example_design par rtl traffic_gen sim synth user_design rtl clocking controller ip_top phy ui xdc デ ィ レ ク ト リ と フ ァ イルの内容 Vivado イ ンプ リ メ ン テーシ ョ ンに関す る こ のセ ク シ ョ ンでは、 7 シ リ ーズ FPGA コ アのデ ィ レ ク ト リ と 関連フ ァ イ ル について説明 し ます。 <component name>/example_design/ こ のデ ィ レ ク ト リ には、 par、 rtl、 sim、 synth の 4 つの フ ォ ルダーがあ り ます。 example_design/rtl こ のデ ィ レ ク ト リ には、 サンプル デザ イ ンが含まれます (表 4-1)。 表 4-1 : example_design/rtl デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 example_top.v ユーザー デザ イ ン を 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス コ アに接続す る サンプル デザ イ ンの最上位モジ ュ ールです。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 455 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン example_design/rtl/traffic_gen こ のデ ィ レ ク ト リ には、7 シ リ ーズ FPGA メ モ リ コ ン ト ロ ー ラ ーに ス テ ィ ミ ュ ラ ス を与え る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーが含まれます (表 4-2)。 表 4-2 : example_design/rtl/traffic_gen デ ィ レ ク ト リ に含まれる フ ァ イル 名前(1) 説明 memc_traffic_gen.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの最上位モジ ュ ールです。 cmd_gen.v コ マ ン ド ジ ェ ネ レー タ ーです。 コ マ ン ド 、 ア ド レ スお よ びバース ト 長を 個別に生成する よ う に制御 し ます。 cmd_prbs_gen.v PRBS (Pseudo-Random Binary Sequence) コ マ ン ド 、 ア ド レ ス、 バース ト 長 を生成する PRBS ジ ェ ネ レー タ ーです。 memc_flow_vcontrol.v メ モ リ コ ン ト ロ ー ラ ー コ ア と cmd_gen、 read_data_path お よ び write_data_path モジ ュ ール間の フ ロ ー制御 ロ ジ ッ ク を生成 し ます。 read_data_path.v 読み出 し デー タ パ ス の最上位モジ ュ ールです。 read_posted_fifo.v メ モ リ コ ン ト ロ ー ラ ーへ送信 さ れ た読み出 し コ マ ン ド を 格納 し 、 そ の FIFO 出力 を 使用 し て読み出 し デー タ の比較用の予測デー タ を 生成 し ま す。 rd_data_gen.v memc_flow_vcontrol.v に対する 読み出 し 信号お よ び Ready 信号の タ イ ミ ン グ を制御 し ます。 write_data_path.v 書き 込みデー タ パ ス の最上位モジ ュ ールです。 wr_data_g.v memc_flow_vcontrol.v に対する 書き 込み信号お よ び Ready 信号の タ イ ミ ン グ を制御 し ます。 s7ven_data_gen.v 複数の異な る デー タ パ タ ーン を生成 し ます。 a_fifo.v LUT RAM を使用 し た同期 FIFOです。 data_prbs_gen.v PRBS デー タ パ タ ーン を生成す る 32 ビ ッ ト LFSR ( リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ ) です。 init_mem_pattern_ctr.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー用の フ ロ ー制御 ロ ジ ッ ク を生成 し ます。 traffic_gen_top.v ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの最上位モジ ュ ールで、memc_traffic_gen モ ジ ュ ール と init_mem_pattern_ctr モジ ュ ールで構成 さ れます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 cmd_gen は、 mig_7series_v2_3_cmd_gen と な り ます。 <component name>/example_design/par 表 4-3 に、 example_design/par デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 4-3 : example_design/par デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 example_top.xdc コ アお よ びサンプル デザ イ ンの XDC です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 456 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン <component name>/example_design/sim 表 4-4 に、 example_design/sim デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 4-4 : example_design/sim デ ィ レ ク ト リ に含まれる フ ァ イル 名前 説明 mobile_ddr2_model.v LPDDR2 SDRAM モデルです。 mobile_ddr2_model_parameters.vh LPDDR2 SDRAM モデルのパ ラ メ ー タ ー設定が含まれます。 ies_run.sh(1) IES シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レーシ ョ ンす る ための Linux 実行フ ァ イ ルです。 vcs_run.sh(1) VCS シ ミ ュ レ ー タ を 使用 し て デザ イ ン を シ ミ ュ レ ー シ ョ ン す る た め の Linux 実行フ ァ イ ルです。 readme.txt(1) QuestaSim、IES、お よ び VCS シ ミ ュ レー タ を使用 し てデザ イ ン を シ ミ ュ レー シ ョ ンする ための詳細 と 必要条件が記載 さ れてい ます。 sim_tb_top.v シ ミ ュ レーシ ョ ンの最上位フ ァ イ ルです。 注記 : 1. Vivado IDE の [Component Name] に 「mig_7series_0」 と 入力 し て生成 さ れたデザ イ ンでは、 [Open IP Example Design] を使用 し てサンプル デザ イ ン を作成す る と 、 ies_run.sh お よ び vcs_run.sh フ ァ イ ルが mig_7series_0_example/mig_7series_0_example.srcs/sim_1/imports/sim フ ォ ル ダーに生成 さ れます。 <component name>/user_design こ のデ ィ レ ク ト リ には、 次の も のが含まれます。 • rtl フ ォ ルダーお よ び xdc フ ォ ルダー • 最上位の ラ ッ パー モジ ュ ール <component_name>.v/vhd • 最上位モジ ュ ール <component_name>_mig.v/vhd お よ び <component_name>_mig_sim.v/vhd 最上位の ラ ッ パー フ ァ イ ル <component_name>.v/vhd には、 最上位フ ァ イ ル <component_name>_mig.v/vhd の イ ン ス タ ン シエーシ ョ ンが含まれます。 最上位 ラ ッ パー フ ァ イ ルにはパ ラ メ ー タ ー宣言はな く 、 ポー ト 宣言はすべ て固定幅です。 最 上 位 フ ァ イ ル <component_name>_mig.v/vhd お よ び<component_name>_mig_sim.v/vhd は、 同 一 の モ ジ ュ ール名 <component_name>_mig を持っ てい ま す。 <component_name>_mig_sim.v/vhd フ ァ イ ル では、 シ ミ ュ レーシ ョ ンのキ ャ リ ブ レーシ ョ ン手法に関す る パ ラ メ ー タ ー値が高速モー ド viz. で、 SIM_BYPASS_INIT_CAL = FAST な ど に設定 さ れてい る こ と を除いて、 こ れ ら 2 つの フ ァ イ ルは同 じ です。 重要 : 最上位フ ァ イ ル <component_name>_mig_sim.v/vhd がシ ミ ュ レーシ ョ ンに使用 さ れ る のに対 し て、最上位 フ ァ イ ル <component_name>_mig.v/vhd は、 デザ イ ンの合成お よ び イ ンプ リ メ ン テーシ ョ ンに使用 さ れます。 最上位の ラ ッ パー フ ァ イ ルは、 user_design を 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス コ アに接続す る サン プル デザ イ ン と し て機能 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 457 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン user_design/rtl/clocking こ のデ ィ レ ク ト リ には、 ユーザー デザ イ ンが含まれます (表 4-5)。 表 4-5 : user_design/rtl/clocking デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前(1) 説明 clk_ibuf.v 入力 ク ロ ッ ク バ ッ フ ァ ーを イ ン ス タ ン シエー ト し ます。 iodelay_ctrl.v IDELAY の使用に必要な IDELAYCTRL プ リ ミ テ ィ ブ を イ ン ス タ ン シエー ト し ます。 infrastructure.v ク ロ ッ ク の生成/分配、 お よ び リ セ ッ ト の同期化をサポー ト し ます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 clk_ibuf は、 mig_7series_v2_3_clk_ibuf と な り ます。 user_design/rtl/controller こ のデ ィ レ ク ト リ には、 サンプル デザ イ ンに イ ン ス タ ン シエー ト さ れ る メ モ リ コ ン ト ロ ー ラ ーが含まれます (表 4-6)。 表 4-6 : user_design/rtl/controller デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前(1) 説明 arb_mux.v アービ ト レーシ ョ ン ロ ジ ッ ク の最上位モジ ュ ールです。 arb_row_col.v バン ク マシ ンか ら Row コ マ ン ド と Column コ マ ン ド の送信要求を受信 し ます。要 求があ る 場合は、 各ス テー ト に対 し て 1 つの要求を選択 し ます。 arb_select.v バン ク マシ ンが提供す る 要求情報か ら Row コ マ ン ド と Column コ マ ン ド を選択 し ます。 bank_cntrl.v こ の構造ブ ロ ッ ク は、 バン ク マシ ン を構成す る 3 つのサブブ ロ ッ ク を イ ン ス タ ン シエー ト し ます。 bank_common.v すべてのバン ク マシ ンに関する さ ま ざ ま なデー タ 情報を計算 し ます。 bank_compare.v バン ク マシ ンの要求を格納 し ます。 bank_mach.v 最上位のバン ク マシ ン ブ ロ ッ ク です。 bank_queue.v バン ク マシ ンのキ ュ ー コ ン ト ロ ー ラ ーです。 bank_state.v 主要バン ク ス テー ト マシ ンです。 col_mach.v DQ バ ス を管理 し ます。 mc.v メ モ リ コ ン ト ロ ー ラ ーの最上位モジ ュ ールです。 mem_intfc.v コ ン ト ロ ー ラ ーお よ び PHY を イ ン ス タ ン シエー ト する 最上位の メ モ リ イ ン タ ー フ ェ イ ス ブ ロ ッ ク です。 rank_cntrl.v さ ま ざ ま な ラ ン ク レベルの タ イ ミ ン グ パ ラ メ ー タ ーを管理 し ます。 rank_common.v すべての ラ ン ク マシ ン に共通す る ロ ジ ッ ク を含み ま す。 リ フ レ ッ シ ュ お よ び周 期的読み出 し 用の ク ロ ッ ク プ リ ス ケー ラ と アービ タ を含みます。 rank_mach.v 最上位の ラ ン ク マシ ン構造ブ ロ ッ ク です。 round_robin_arb.v 単純な ラ ウ ン ド ロ ビ ン アービ タ です。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 arb_mux は、 mig_7series_v2_3_arb_mux と な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 458 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン user_design/rtl/ip_top こ のデ ィ レ ク ト リ には、 ユーザー デザ イ ンが含まれます (表 4-7)。 表 4-7 : user_design/rtl/ip_top デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前(1) 説明 mem_intfc.v コ ン ト ロ ー ラ ーお よ び PHY を イ ン ス タ ン シ エー ト す る 最上位の メ モ リ イ ン タ ーフ ェ イ ス ブ ロ ッ ク です。 memc_ui_top.v 最上位の メ モ リ コ ン ト ロ ー ラ ー モジ ュ ールです。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 mem_intfc は、 mig_7series_v2_3_mem_intfc と な り ます。 user_design/rtl/phy こ のデ ィ レ ク ト リ には、 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス の PHY イ ン プ リ メ ン テーシ ョ ン が含ま れ ます ( 表 4-8)。 表 4-8 : user_design/rtl/phy デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前(1) 説明 ddr_byte_group_io シ ン グル バ イ ト レーン用のパ ラ メ ー タ ー指定可能な I/O ロ ジ ッ ク イ ン ス タ ン シエーシ ョ ン と I/O 終端を含みます。 ddr_byte_lane 出力ま たは入力バ イ ト レーン内で必要なプ リ ミ テ ィ ブ イ ン ス タ ン シエーシ ョ ン を含みます。 ddr_calib_top メ モ リ 物理層 イ ン タ ーフ ェ イ ス の最上位モジ ュ ールです。 ddr_mc_phy 最大 3 つの I/O バン ク (それぞれ 4 レーンの PHY プ リ ミ テ ィ ブ を使用) を イ ン ス タ ン シエー ト す る パ ラ メ ー タ ー指定可能な ラ ッ パーです。 ddr_mc_phy_wrapper こ の ラ ッ パー フ ァ イ ル に は、 MC_PHY モ ジ ュ ール の イ ン ス タ ン シ エー シ ョ ン が含 ま れ、 MC_PHY モジ ュ ール と ユーザーの LPDDR2 ポー ト 間でのベ ク タ ーを再マ ッ プ し ます。 ddr_of_pre_fifo PHASER OUT_FIFO の深 さ を最大 4 エン ト リ 拡張 し ます。 ddr_phy_4lanes I/O バン ク のパ ラ メ ー タ ー指定可能な 4 レーン PHY です。 ddr_phy_init_lpddr2 メ モ リ の初期化、 お よ び初期化 と キ ャ リ ブ レーシ ョ ン中の全体的なマ ス タ ー ス テー ト 制御を 含みます。 ddr_phy_rdlvl リ ー ド レベ リ ン グ段階 1 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク を含みます。 ddr_phy_top 物理層の最上位モジ ュ ールです。 ddr_phy_wrlvl_off_delay.v コ マ ン ド お よ び書 き 込みデー タ パ ス遅延を設定 し ます。 ddr_bitslip.v ビ ッ ト ス ト リ ッ プ を補正 し 、 読み出 し デー タ を揃え る ためのシ フ ト レ ジ ス タ お よ びマルチプ レ ク サーを含みます。 ddr_phy_pd.v 電圧お よ び温度の変動を補正す る 位相検出 ロ ジ ッ ク を含みます。 ddr_phy_pd_top.v phy_pd の最上位 イ ン ス タ ン ス です。 並列検出 ま たは順次検出の異な る キ ャ リ ブ レ ーシ ョ ン モー ド に基づいて、 位相検出 ロ ジ ッ ク を イ ン ス タ ン シエー ト す る ために使用 し ます。 ddr_phy_prbs_rdlvl.v デー タ 有効 ウ ィ ン ド ウ の検出を実行 し 、 PRBS デー タ パ タ ーン を使用 し て ク ロ ッ ク ア ラ イ メ ン ト を キ ャ プチ ャ す る キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク を含みます。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モジ ュ ールの 名前 ddr_byte_group_io は、 mig_7series_v2_3_ddr_byte_group_io と な り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 459 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン user_design/rtl/ui こ のデ ィ レ ク ト リ には、 メ モ リ コ ン ト ロ ー ラ ーのネ イ テ ィ ブ イ ン タ ーフ ェ イ ス と ユーザー アプ リ ケーシ ョ ン間を調 停す る ユーザー イ ン タ ーフ ェ イ ス コ ー ド が含まれてい ます (表 4-9)。 表 4-9 : user_design/rtl/ui デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前(1) 説明 ui_cmd.v ユーザー イ ン タ ーフ ェ イ ス の コ マ ン ド ポー ト です。 ui_rd_data.v ユーザー イ ン タ ーフ ェ イ ス の読み出 し バ ッ フ ァ ーです。メ モ リ コ ン ト ロ ー ラ ーか ら 返 さ れた読み出 し デー タ を、 要求順に再び並べ替え ます。 ui_wr_data.v ユーザー イ ン タ ーフ ェ イ ス の書 き 込みバ ッ フ ァ ーです。 ui_top.v メ モ リ コ ン ト ロ ー ラ ー ユーザー イ ン タ ーフ ェ イ ス の最上位モジ ュ ールです。 注記 : 1. フ ァ イ ル名にはすべて、 MIG のバージ ョ ン番号が接頭辞 と し て付 き ます。 た と えば、 生成 さ れた出力の、 MIG 2.3 リ リ ース モ ジ ュ ールの名前 ui_cmd は、 mig_7series_v2_3_ui_cmd と な り ます。 <component name>/user_design/xdc 表 4-10 に、 user_design/xdc デ ィ レ ク ト リ に含まれ る モジ ュ ールの一覧を示 し ます。 表 4-10 : user_design/xdc デ ィ レ ク ト リ に含まれる モ ジ ュ ール 名前 説明 <component_name>.xdc コ アお よ びユーザー デザ イ ンの XDC フ ァ イ ルです。 ピ ン変更の検証およびデザイ ンの更新 こ の機能は、 バン ク の選択、 バ イ ト の選択、 ピ ンの割 り 当てに関 し て入力 XDC を検証 し ます。 [Verify Pin Changes and Update Design] ページの [Validate] を ク リ ッ ク す る と 、 エ ラ ー と 警告が別のダ イ ア ロ グ ボ ッ ク ス に表示 さ れ ます。 こ の機能は、 MIG ツールでデザ イ ン を生成後に ピ ン配置を変更 し た場合に XDC を検証す る 際に有用です。 生成 し た .prj フ ァ イ ル (未修正の元の .prj フ ァ イ ル) お よ び検証が必要な XDC を MIG ツールで読み込みます。 Vivado ツー ルで再カ ス タ マ イ ズのオプシ ョ ン を選択 し てプ ロ ジ ェ ク ト を読み込み直 し ます。 MIG の DRC にパ ス し なければデザ イ ンは生成で き ません。 ピ ン配置の検証に関す る 警告は、 こ こ では関係ないので無視 し ます。 XDC の検証のみでは 不十分なため、 実際にデザ イ ン を生成 し 、 ク ロ ッ ク お よ び PHASER に関す る 制約を更新 し た XDC、 お よ び各種 MAP パ ラ メ ー タ ーを更新 し た最上位の RTL モジ ュ ールを得 る 必要があ り ます。 デザ イ ンの更新機能は、 次の状況で必要 と な り ます。 • 以前のバージ ョ ンの MIG で ピ ン配置を生成 し てお り 、 デザ イ ン を現在のバージ ョ ンの MIG でア ッ プデー ト す る 場合。 一部の MIG デザ イ ンに対 し て、 ピ ン配置割 り 当て アルゴ リ ズ ムが変更 さ れてい ます。 • ピ ン配置を MIG 外で生成 し てい る か、 デザ イ ン を生成 し た後に変更 し てい る 場合。 デザ イ ン を MIG か ら 生成す る と 、 XDC お よ び HDL コ ー ド が正 し い制約 と 共に生成 さ れます。 入力 XDC か ら 検証 さ れた規則を次に示 し ます。 • 1 つの ピ ンが複数の信号に割 り 当て ら れてい る 場合、 エ ラ ーが報告 さ れます。 XDC が一意性の属性を満た し てい ない場合、 それ以上の検証は行われません。 • 検証済みの共通規則 ° 1 つの イ ン タ ーフ ェ イ ス は、 最大で 3 つの連続 し たバン ク を ま た ぐ こ と がで き ます。 ° イ ン タ ーフ ェ イ ス バン ク は FPGA の同 じ 列にあ る 必要があ り ます。 ° イ ン タ ーフ ェ イ ス バン ク は HP (High Performance) バン ク で も HR (High Range) バン ク で も か ま い ません。HP バン ク は高周波数用に使用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 460 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • • • ° 選択 し たデバ イ ス が ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト テ ク ノ ロ ジ を使用 し てい る 場合、 選択 し た イ ン タ ーフ ェ イ ス バン ク は同 じ SLR 領域を持っ てい る 必要があ り ます。 ° 内部 VREF を使用す る 場合、 ま たはバン ク に入出力/入力ポー ト がない場合は、 VREF I/O を GPIO と し て使用 す る 必要があ り ます。 ° 各信号の I/O 規格は、 選択 し た コ ン フ ィ ギ ュ レーシ ョ ンに従っ て検証 さ れます。 ° 各信号の VCCAUX I/O を検証 し 、 供給 さ れ る VCCAUX I/O が有効でない場合はエ ラ ー メ ッ セージが表示 さ れます。 検証済みのデー タ ピ ンの規則 ° 1 つの ス ト ロ ーブ セ ッ ト に関連付け ら れてい る 複数の ピ ンは、同 じ バ イ ト グループ内に割 り 当て ら れ る 必要 があ り ます。 ° ス ト ロ ーブ ペア (DQS) は、 DQS I/O ペアへ割 り 当て る 必要があ り ます。 ° 1 つの FPGA バ イ ト レーンに 2 つの異な る ス ト ロ ーブ セ ッ ト に関連す る ピ ン を含め る こ と はで き ません。 ° VREF I/O は内部 VREF を選択 し た場合のみ使用で き ます。 検証済みのア ド レ ス ピ ンの規則 ° ア ド レ ス信号をデー タ バ イ ト と 混在 さ せる こ と はで き ません。 ° 孤立 し たバ イ ト レーンはい く つで も 使用で き ます。 ° メ モ リ ク ロ ッ ク ピ ンは、 DQS I/O のみに割 り 当て る 必要があ り ます。 ° メ モ リ ク ロ ッ ク ピ ン以外のア ド レ ス/制御ピ ンは、 DQS に割 り 当てないで く だ さ い。 検証済みのシ ス テ ム ピ ンの規則 ° ° ° システム ク ロ ッ ク - SR/MR CC I/O ペアのいずれかに割 り 当て る 必要があ り ます。 - メ モ リ バン ク 列に割 り 当て る 必要があ り ます。 - シ ス テ ム ク ロ ッ ク の タ イ プにシ ン グルエン ド を選択 し た場合、同 じ バン ク に基準電圧ピ ンが割 り 当て ら れていないか、 内部 VREF を使用 し てい る か を確認す る 必要があ り ます。 基準 ク ロ ッ ク - SR/MR CC I/O ペアのいずれかに割 り 当て る 必要があ り ます。 - シ ス テ ム ク ロ ッ ク の タ イ プにシ ン グルエン ド を選択 し た場合、同 じ バン ク に基準電圧ピ ンが割 り 当て ら れていないか、 内部 VREF を使用 し てい る か を確認す る 必要があ り ます。 ス テー タ ス信号 - sys_rst 信号は VREF I/O が割 り 当て ら れていないバン ク に割 り 当て る か、 内部 VREF を使用す る 必要があ り ます。 - I/O 規格に互換性がないため、 こ れ ら の信号は メ モ リ 以外のバン ク に割 り 当て る 必要があ り ます。 I/O 規 格は最低 1.8V の LVCMOS と す る 必要があ り ます。 - こ れ ら の信号は 1 つの メ モ リ 列に属す る ため、 ハー ド 制約はな く 任意の列に割 り 当て る こ と がで き ます が、 選択 し た メ モ リ バン ク の近 く にする こ と を推奨 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 461 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン サン プル デザイ ンの ク イ ッ ク ス タ ー ト 概要 コ アの生成が正常に完了 し た ら 、 ザ イ リ ン ク ス の イ ンプ リ メ ン テーシ ョ ン ツールセ ッ ト を使用 し てサ ンプル デザ イ ンの HDL を処理で き ます。 サン プル デザイ ンのシ ミ ュ レーシ ョ ン (標準的なユーザー イ ン タ ー フ ェ イ ス を 備え るデザイ ン) MIG ツールは、 メ モ リ コ ン ト ロ ー ラ ー (MC) に さ ま ざ ま な ト ラ フ ィ ッ ク デー タ パ タ ーン を生成す る ための合成可能 なテ ス ト ベンチを提供 し ます。 こ のテ ス ト ベンチは、 memc_ui_top ラ ッ パー、 ユーザー イ ン タ ーフ ェ イ ス を介 し て ui_top コ アへ ト ラ フ ィ ッ ク パ タ ーン を生成する traffic_generator、 お よ び memc_ui_top コ アへ ク ロ ッ ク リ ソ ース を提供す る イ ン フ ラ ス ト ラ ク チ ャ コ アで構成 さ れてい ます。 図 4-37 に、 サンプル デザ イ ン テ ス ト ベンチのブ ロ ッ ク 図を示 し ます。 X-Ref Target - Figure 4-37 OSGGUBVLPBWEBWRS ([DPSOH'HVLJQ XVHUBGHVLJQBWRS:UDSSHU XVHUBGHVLJQBWRS LRGHOD\FWUO LQIUDVWUXFWXUH PHPFBXLBWRS XLBWRS WUDIILFBJHQBWRS 3DUDPHWHU %(*,1B$''5 (1'B$''5 Q&.B3(5B&/. DSSBDGGU DSSBFPG DSSBHQ DSSBUG\ DSSBKLBSUL DSSBZGIBGDWD DSSBZGIBHQG DSSBZGIBPDVN DSSBZGIBZUHQ DSSBZGIBUG\ DSSBUGBGDWDBHQG DSSBUGBGDWDBYDOLG DSSBUGBGDWD PHPB,QWIF 0& FPG DFFHSW XVHBDGGU EDQNBPDFKBQH[W GDWDBEXIBDGGU ZUBGDWDBHQ ZUBGDWDBDGGU ZUBGDWDBHQ ZUBGDWDBEH /3''5 6'5$0 SK\BWRS UGBGDWDBHQ UGBGDWD HUURU 図 4-37 : 合成可能なサン プル デザイ ンのブ ロ ッ ク図 図 4-38 に、 tb_top と memc_intfc モジ ュ ール間のシ ン プルな読み出 し /書 き 込み ト ラ ン ザ ク シ ョ ン のシ ミ ュ レ ー シ ョ ン結果を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 462 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-38 図 4-38 : ユーザー イ ン タ ー フ ェ イ スでの読み出 し および書き込みサイ ク ル ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの動作 合成可能なテ ス ト ベンチに含まれ る ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー モジ ュ ールは、 パ ラ メ ー タ ーを指定 し て メ モ リ デ ザ イ ンの さ ま ざ ま な ス テ ィ ミ ュ ラ ス パ タ ーン を作成で き ます。 こ のジ ェ ネ レー タ ーは、 デザ イ ンの完全性や実際の ト ラ フ ィ ッ ク を モデル化す る 擬似 ラ ン ダ ム デー タ ス ト リ ーム を検証す る ための繰 り 返 し のテ ス ト パ タ ーン を生成で き ます。 ア ド レ ス範囲は、 BEGIN_ADDRESS お よ び END_ADDRESS パ ラ メ ー タ ー使用 し て定義で き ます。 Init Memory Pattern Control ブ ロ ッ ク が、 ア ド レ ス空間のすべてのア ド レ ス を連続 し て実行す る よ う に ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーへ指 示 し 、 選択 さ れたデー タ パ タ ーンに基づいて適切な値が メ モ リ デバ イ ス の各位置へ書 き 込ま れ ます。 テ ス ト ベンチ は、 デ フ ォ ル ト で ア ド レ ス を デー タ パ タ ー ン と し て使用 し ま すが、 こ のサ ン プル デザ イ ン のデー タ パ タ ーン は、 Vivado ロ ジ ッ ク 解析機能で変更可能な vio_data_mode 信号を使用 し て設定で き ます。 メ モ リ の初期化完了後、 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーはユーザー イ ン タ ーフ ェ イ ス ポー ト の ス テ ィ ミ ュ レー ト を開 始 し 、 メ モ リ デバ イ ス か ら ま たは メ モ リ デバ イ スへの ト ラ フ ィ ッ ク を生成 し ます。 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーは デフ ォ ル ト で、 擬似 ラ ン ダ ム コ マ ン ド を ポー ト へ送信 し ます。 つま り 、 命令シーケ ン ス (R/W、 R、 W) と ア ド レ ス は ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー モジ ュ ールの PRBS ジ ェ ネ レー タ ー ロ ジ ッ ク で決定 さ れます。 メ モ リ デバ イ ス か ら 返 さ れ る 読み出 し デー タ は、 ユーザー イ ン タ ーフ ェ イ ス の読み出 し デー タ ポー ト を介 し て ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て ア ク セ ス さ れ、内部生成 さ れた予測デー タ と 比較 さ れます。 エ ラ ーが検出 さ れた場 合 (つま り 、 読み出 し デー タ と 予測デー タ が不一致の場合)、 エ ラ ー信号がアサー ト さ れて、 リ ー ド バ ッ ク ア ド レ ス、 リ ー ド バ ッ ク デー タ 、 お よ び予測デー タ が error_status 出力に ラ ッ チ さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 463 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン サン プル デザイ ンの変更 提供 さ れてい る サンプル デザ イ ンには ト ラ フ ィ ッ ク ジ ェ ネ レー タ ー モジ ュ ールが含まれてお り 、 こ れ ら は異な る コ マ ン ド やデー タ パ タ ーン に合わせて変更で き ま す。 一部の上位パ ラ メ ー タ ーは、 example_top.v/vhd モジ ュ ール で変更で き ます。 表 4-11 で、 こ れ ら のパ ラ メ ー タ ーについて説明 し ます。 表 4-11 : example_top モ ジ ュ ールにおける ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパラ メ ー タ ー設定 パラ メ ー タ ー 説明 値 FAMILY フ ァ ミ リ タ イ プ を示 し ます。 VIRTEX7 MEMORY_TYPE メ モ リ コ ン ト ロ ー ラ ー タ イ プ を示 し ま す。 LPDDR2 nCK_PER_CLK メ モ リ コ ン ト ローラー ク ロ ッ ク対 DRAM ク ロ ッ ク の比率です。 こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 2 NUM_DQ_PINS メ モ リ の総 DQ バ ス幅です。 8 ずつ増分す る 8 ~ 72 ま での DQ 幅をサポー ト し ま す。 有効な最大 DQ 幅は、 選択 し た メ モ リ デバ イ ス の周波数に依存 し ます。 MEM_BURST_LEN メ モ リ のデー タ バース ト 長です。 必ず 8 に設定 し ます。 MEM_COL_WIDTH メ モ リ 列ア ド レ ス のビ ッ ト の数です。 選択 し た メ モ リ デバ イ ス に基づ き ます。 DATA_WIDTH ユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス幅です。 nCK_PER_CLK = 4 の場合、 DATA_WIDTH = NUM_DQ_PINS × 8 です。 ADDR_WIDTH メ モ リ のア ド レ ス バス幅です。 RANK_WIDTH + BANK_WIDTH + ROW_WIDTH + COL_WIDTH と 等 し く な り ます。 MASK_SIZE ユーザー イ ン タ ーフ ェ イ ス のデー タ バ ス におけ る マ ス ク 幅を指定 し ます。 PORT_MODE ポー ト モー ド を設定 し ます。 有効な設定は次の と お り です。 BI_MODE : WRITE デー タ パ タ ー ン を 生成 し て 比較用に READ デー タ を モニ タ リ ン グ し ます。 BEGIN_ADDRESS メ モ リ の開始ア ド レ ス 境界 を 設定 し ま す。 ポー ト ア ド レ ス 空間の開始境界 を 定義 し ま す。 こ の値の LSB [3:0] は無視 さ れます。 END_ADDRESS メ モ リ の終了ア ド レ ス 境界 を 設定 し ま す。 ポー ト ア ド レ ス 空間の開始境界 を 定義 し ま す。 こ の値の LSB [3:0] は無視 さ れます。 PRBS_EADDR_MASK_POS 32 ビ ッ ト の AND MASK 位置 を 設定 し ます。 PRBS ア ド レ ス ジ ェ ネ レー タ ーで使用 さ れ、ポー ト ア ド レ ス 空間へ ラ ン ダ ム ア ド レ ス を シ フ ト ダ ウ ン し ます。 END_ADDRESS と PRBS ア ド レ ス の論理積を取っ て、マ ス ク の 1 を含むビ ッ ト 位 置を求め ます。 PRBS_SADDR_MASK_POS 32 ビ ッ ト の OR MASK の位置を設定 し ます。 ポー ト ア ド レ ス空間へ ラ ン ダ ム ア ド レ ス を シ フ ト ア ッ プす る ために PRBS ア ド レ ス ジ ェ ネ レー タ ー と 共に使用 さ れ ま す。 START_ADDRESS と PRBS ア ド レ ス の論理和を取っ て、 マ ス ク の 1 を 含むビ ッ ト 位置を求め ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 464 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-11 : example_top モ ジ ュ ールにおける ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパラ メ ー タ ー設定 (続き) パラ メ ー タ ー 説明 値 CMD_PATTERN 生成 さ れ る コ マ ン ド パ タ ー ン回路 を 設 定 し ま す。 大 規 模 デ バ イ ス で は CGEN_ALL に設定で き ま す。 サポー ト さ れ る コ マ ン ド パ タ ーン回路すべて を 生成す る よ う にで き ます。 ただ し 、 一部 の小規模デバ イ ス では リ ソ ー ス が限 ら れてい る ため、特定の コ マ ン ド パ タ ーン に制限す る 必要が生 じ る 場合が あ り ま す。 有効な設定は次の と お り です。 • CGEN_FIXED : ア ド レ ス、 バース ト 長、 命令 は、 fixed_addr_i、 fixed_bl_i、 fixed_instr_i 入力 か ら 直接取 り 込まれます。 • CGEN_SEQUENTIAL : ア ド レ ス は連続的に イ ン ク リ メ ン ト さ れ、 増分はデー タ ポー ト サ イ ズに よ っ て決ま り ます。 • CGEN_PRBS : 32 段の リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ (LFSR) が疑似 ラ ン ダ ム ア ド レ ス、 バー ス ト 長、 お よ び命令シーケ ン ス を 生成 し ます。 シー ド は、 32 ビ ッ ト の cmd_seed 入力で設定で き ます。 • CGEN_ALL (デフ ォ ル ト ) : 上記すべてのオプ シ ョ ン を 有効 に し 、 動作中 に addr_mode_i、 instr_mode_i、 お よ び bl_mode_i で生成パ タ ー ンの タ イ プを選択で き る よ う に し ます。 DATA_PATTERN RTL ロ ジ ッ ク を 介 し て生成 さ れ る デー タ パ タ ーン回路を設定 し ます。大規模デ バ イ ス の 場 合 は、 DATA_PATTERN を DGEN_ALL に設定で き 、 生成 さ れ る す べてのサポー ト デー タ パ タ ーン回路を 有 効 に し ま す。 ハ ー ド ウ ェ ア で は、 vio_data_value_mode を 使用 し て デー タ パ タ ーン の選択や変更が実行 さ れ ま す。 DATA_PATTERN が DGEN_ALL に設定 さ れてい る 場合にのみ変更で き ます。 有効な設定は次の と お り です。 • ADDR (デフ ォ ル ト ) : ア ド レ ス はデー タ パ タ ーン と し て使用 さ れます。 • HAMMER : DQS の立ち上が り エ ッ ジでは DQ ピ ン にすべ て 1 が現れ、 DQS の立 ち 下が り エ ッ ジでは DQ ピ ンにすべて 0 が現れます。 • WALKING1 : Walking 1 が DQ ピ ンに現れ、 開 始位置 1 はア ド レ ス値に よ っ て異な り ます。 • WALKING0 : Walking 0 が DQ ピ ンに現れ、 開 始位置 0 はア ド レ ス値に よ っ て異な り ます。 • NEIGHBOR : 1 つを除 く すべての DQ ピ ンに Hammer パ タ ーンが現れます。例外ピ ンの位置 はア ド レ ス に よ っ て決ま り ます。 • PRBS : 32 段の LFSR が ラ ン ダ ム デー タ を生成 し 、 開始ア ド レ ス でシー ド さ れます。 • DGEN_ALL : すべての可能なオプシ ョ ン を有 効に し ます。 0x1 : FIXED - 32 ビ ッ ト の fixed_data 0x2 : ADDRESS - デー タ と し て使用 さ れ る 32 ビ ッ ト ア ド レ ス。 0x3 : HAMMER 0x4 : SIMPLE8 - 8 ワ ー ド ご と に繰 り 返す単純 な 8 デー タ パ タ ーン。 0x5 : WALKING1 - DQ ピ ンに Walking 1 が現れ ます。 0x6 : WALKING0 - DQ ピ ンに Walking 0 が現れ ます。 0x7 : PRBS - 32 段の LFSR が ラ ン ダ ム デー タ を 生成 0x9 : SLOW HAMMER - 低周波数の HAMMER デー タ パ タ ーン 0xA : PHY_CALIB パ タ ーン - 0xFF、 00、 AA、 55、 55、 AA、 99、 66。 こ のモー ド では、 ア ド レ ス 0 で READ コ マ ン ド のみ が生成 さ れ ま す。 CMDS_GAP_DELAY 各ユーザー バース ト コ マ ン ド の間に遅 延を挿入 し ます。 有効な値 : 0 ~ 32 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 465 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-11 : example_top モ ジ ュ ールにおける ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーのパラ メ ー タ ー設定 (続き) パラ メ ー タ ー 説明 値 SEL_VICTIM_LINE 常 に ロ ジ ッ ク High と な る ビ ク テ ィ ム DQ ラ イ ン を選択 し ます。 Hammer パ タ ーンにのみ適用 し ます。 有効な設定 値は、 0 ~ NUM_DQ_PINS です。 値が NUM_DQ_PINS の場合は、 すべての DQ ピ ンに同 じ Hammer パ タ ーンがあ り ます。 EYE_TEST ト ラ フ ィ ッ ク ジ ェ ネ レ ー タ ーに対 し て 1 つの位置への書き 込みのみを生成 さ せ ます。 読み出 し ト ラ ンザ ク シ ョ ンは生成 さ れません。 有効な値は TRUE お よ び FALSE です。 TRUE に設定す る と 、vio_instr_mode_value の設定 が上書 き さ れます。 注記 : 1. ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーは、7 シ リ ーズ メ モ リ コ ン ト ロ ー ラ ーで使用可能な設定 よ り も 多 く のオプシ ョ ン をサポー ト し てい る 場合が あ り ます。 メ モ リ コ ン ト ロ ー ラ ーでサポー ト さ れてい る 設定を使用 し て く だ さ い。 traffic_gen モジ ュ ールの コ マ ン ド パ タ ーン (instr_mode_i、 addr_mode_i、 bl_mode_i、 data_mode_i) は 個別に設定で き ます。 提供 さ れてい る init_mem_pattern_ctr モジ ュ ールには、 Vivado ロ ジ ッ ク 解析機能の仮想 I/O (VIO) コ ア を使用 し て リ アル タ イ ムで コ マ ン ド パ タ ーン を変更で き る 、 イ ン タ ーフ ェ イ ス信号があ り ます。 次の コ マ ン ド パ タ ーンは変更可能です。 1. vio_modify_enable を 1 に設定 し ます。 2. vio_addr_mode_value を次の よ う に設定 し ます。 1 : 固定ア ド レ ス 2 : PRBS ア ド レ ス 3 : 順次ア ド レ ス 3. vio_bl_mode_value を次の よ う に設定 し ます。 1 : 固定 bl 2 : PRBS bl (bl_mode の値が 2 に設定 さ れてい る 場合は、 addr_mode 値が強制的に 2 と な り 、 PRBS ア ド レ ス を 生成) 4. vio_data_mode_value を次の よ う に設定 し ます。 0 : 予約 1 : 固定デー タ モー ド - デー タ は fixed_data_i 入力バ ス か ら 供給 さ れます。 2 : DGEN_ADDR (デフ ォ ル ト ) - ア ド レ ス はデー タ パ タ ーン と し て使用 さ れます。 3 : DGEN_HAMMER - DQS の立ち上が り エ ッ ジでは DQ ピ ンにすべて 1 が現れ、 DQS の立ち下が り エ ッ ジでは DQ ピ ンにすべて 0 が現れます。 4 : DGEN_NEIGHBOR - DQS の立ち上が り エ ッ ジで、 1 つを除 く すべての DQ ピ ンに 1 が現れます。 例外ピ ンの位 置はア ド レ ス に よ っ て決ま り ます。 5 : DGEN_WALKING1 - DQ ピ ンに Walking 1 が現れます。 1 の開始位置はア ド レ ス値に依存 し ます。 6 : DGEN_WALKING0 - DQ ピ ンに Walking 0 が現れます。 0 の開始位置はア ド レ ス値に依存 し ます。 7 : DGEN_PRBS - 32 段の LFSR が ラ ン ダ ム デー タ を生成 し 、 開始ア ド レ ス でシー ド さ れます。 こ のデー タ モー ド は、 ア ド レ ス モー ド が PRBS モー ド ま たは順次の場合のみ有効です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 466 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ポー ト ア ド レ ス空間の変更 ポー ト のア ド レ ス空間は、最上位のテ ス ト ベンチ フ ァ イ ルにあ る BEGIN_ADDRESS お よ び END_ADDRESS パ ラ メ ー タ ーで変更で き ま す。 こ れ ら 2 つの値は、 ポー ト のデー タ 幅に揃 う よ う に設定す る 必要が あ り ま す。 デフ ォ ル ト の PRBS ア ド レ ス モー ド では、 追加で 2 つのパ ラ メ ー タ ー (PRBS_SADDR_MASK_POS お よ び PRBS_EADDR_MASK_POS) が使用 さ れ、 範囲外のア ド レ ス はポー ト へ送信 さ れません。 PRBS_SADDR_MASK_POS は、BEGIN_ADDRESS よ り 下の値の PRBS 生成ア ド レ ス を ポー ト の有効な ア ド レ ス空間へシ フ ト ア ッ プす る OR マ ス ク を作成 し ます。 こ のパ ラ メ ー タ ーは、 BEGIN_ADDRESS パ ラ メ ー タ ー と 同 じ 32 ビ ッ ト 値に設定 し て く だ さ い。 PRBS_EADDR_MASK_POS は、 END_ADDRESS を越えた値の PRBS 生成ア ド レ ス を ポー ト の有効ア ド レ ス空間へシ フ ト ダ ウ ンす る AND マ ス ク を作成 し ます。 こ の値は 32 ビ ッ ト 値 と な り 、 END_ADDRESS の MSB ア ド レ ス ビ ッ ト よ り 上にあ る すべてのビ ッ ト は 1 に設定 さ れ、 その他の ビ ッ ト はすべて 0 に設定 さ れます。 表 4-12 に、 2 つのマ ス ク パ ラ メ ー タ ーの設定例を示 し ます。 表 4-12 : ア ド レ ス空間および PRBS マス クの設定例 SADDR EADDR PRBS_SADDR_MASK_POS PRBS_EADDR_MASK_POS 0x1000 0xFFFF 0x00001000 0xFFFF0000 0x2000 0xFFFF 0x00002000 0xFFFF0000 0x3000 0xFFFF 0x00003000 0xFFFF0000 0x4000 0xFFFF 0x00004000 0xFFFF0000 0x5000 0xFFFF 0x00005000 0xFFFF0000 0x2000 0x1FFF 0x00002000 0xFFFFE000 0x2000 0x2FFF 0x00002000 0xFFFFD000 0x2000 0x3FFF 0x00002000 0xFFFFC000 0x2000 0x4FFF 0x00002000 0xFFFF8000 0x2000 0x5FFF 0x00002000 0xFFFF8000 0x2000 0x6FFF 0x00002000 0xFFFF8000 0x2000 0x7FFF 0x00002000 0xFFFF8000 0x2000 0x8FFF 0x00002000 0xFFFF0000 0x2000 0x9FFF 0x00002000 0xFFFF0000 0x2000 0xAFFF 0x00002000 0xFFFF0000 0x2000 0xBFFF 0x00002000 0xFFFF0000 0x2000 0xCFFF 0x00002000 0xFFFF0000 0x2000 0xDFFF 0x00002000 0xFFFF0000 0x2000 0xEFFF 0x00002000 0xFFFF0000 0x2000 0xFFFF 0x00002000 0xFFFF0000 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 467 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号説明 表 4-13 で、 ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号について説明 し ます。 表 4-13 : ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号説明 信号名 方向 説明 clk_i 入力 ク ロ ッ ク 入力信号です。 memc_init_done 入力 ト ラ フ ィ ッ ク の受け入れ準備が整 っ て い る こ と を 示す、 メ モ リ コ ン ト ロ ー ラ ーか ら の入力ス テー タ ス信号です。 manual_clear_error 入力 エ ラ ー フ ラ グ を ク リ アする 入力信号です。 memc_cmd_addr_o[31:0] 出力 現在の ト ラ ンザ ク シ ョ ンの開始ア ド レ ス です。 memc_cmd_en_o 出力 コ マ ン ド FIFO の書き 込み イ ネーブル信号で、 ア ク テ ィ ブ High です。 memc_cmd_full_i 入力 メ モ リ コ ン ト ロ ー ラ ーの app_rdy の反転信号に接続 し ます。 こ の入力信 号がアサー ト さ れてい る と き は、 memc_cmd_full_i がデ ィ アサー ト さ れ る ま で TG が memc_cmd_en_o、 memc_cmd_addr_o、 お よ び memc_cmd_instr を アサー ト し 続け ます。 memc_cmd_instr[2:0] 出力 現在の命令の コ マ ン ド コ ー ド です。 コ マ ン ド 書 き 込み : 3'b000 コ マ ン ド 読み出 し : 3'b001 memc_rd_data_i[DWIDTH – 1:0] 入力 メ モ リ か ら 返 さ れ る 読み出 し デー タ 値です。 memc_rd_empty_i 入力 読み出 し デー タ FIFO の EMPTY フ ラ グで、 ア ク テ ィ ブ High です。 High の場合、 FIFO に有効なデー タ がない こ と を示 し ます。 memc_rd_en_o 出力 MCB の よ う な イ ン タ ーフ ェ イ ス でのみ使用 さ れます。 memc_wr_data_o[DWIDTH – 1:0] 出力 メ モ リ コ ン ト ロ ー ラ ーの書 き 込みデー タ FIFO へ ロ ー ド さ れ る 書 き 込み デー タ 値を示 し ます。 memc_wr_en_o 出力 書 き 込みデー タ FIFO の書 き 込み イ ネーブル信号で、 ア ク テ ィ ブ High で す。 High の場合、 memc_wr_data の値が有効であ る こ と を示 し ます。 memc_wr_full_i 入力 メ モ リ コ ン ト ロ ー ラ ーの書 き 込みデー タ FIFO の FULL フ ラ グで、 ア ク テ ィ ブ High で す。 High の 場合、 TG が 書 き 込みデー タ を 保持 し 、 memc_wr_full_i が Low に遷移する ま で memc_wr_en を アサー ト し 続け ま す。 qdr_wr_cmd_o 出力 QDR II+ ユーザー イ ン タ ーフ ェ イ スへ書 き 込み コ マ ン ド を送信す る 目的 にのみ使用 さ れます。 vio_modify_enable 入力 vio_xxxx_mode_value で ト ラ フ ィ ッ ク パ タ ー ン を変更で き る よ う に し ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 468 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-13 : ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号説明 (続き) 信号名 方向 説明 vio_data_mode_value[3:0] 入力 有効な設定は次の と お り です。 • 0x0 : 予約 • 0x1 : FIXED - fixed_data_i 入力で定義 さ れた 32 ビ ッ ト の fixed_data 値で す。 • 0x2 : ADDRESS - デー タ と し て使用 さ れ る 32 ビ ッ ト ア ド レ ス。 デー タ は、 論理ア ド レ ス空間に基づいて生成 さ れ ます。 デザ イ ン に 256 ビ ッ ト のユーザー デー タ バ ス があ る 場合、ユーザー バ ス の各書 き 込みビー ト には、バ イ ト 境界で 256/8 のア ド レ ス イ ン ク リ メ ン ト があ り ます。開 始ア ド レ ス が 1,300 のデー タ は 1,300 で、 次のサ イ ク ルで 1320 と な り ます。 ロ ジ ッ ク を シ ンプルにす る ために、ユーザー デー タ パ タ ーンは、 ア ド レ ス値ビ ッ ト [31:0] の イ ン ク リ メ ン ト の繰 り 返 し と な り ます。 • 0x3 : HAMMER - DQS の立ち上が り エ ッ ジでは DQ ピ ンにすべて 1 が現 れ、 DQS の立ち下が り エ ッ ジでは DQ ピ ンにすべて 0 が現れます。 た だ し 、SEL_VICTIM_LINE で定義 さ れた ビ ク テ ィ ム ラ イ ンは例外です。 こ のオプシ ョ ンは、パ ラ メ ー タ ー DATA_PATTERN が DGEN_HAMMER ま たは DGEN_ALL の場合のみ有効です。 • 0x4 : SIMPLE8 - 8 ワー ド ご と に繰 り 返す単純な 8 デー タ パ タ ーン。 パ タ ーンは、 simple_datax 入力で定義で き ます。 • 0x5 : WALKING1 - DQ ピ ンに Walking 1 が現れます。 1 の開始位置はア ド レ ス 値 に 依 存 し ま す。 こ の オ プ シ ョ ン は、 パ ラ メ ー タ ー DATA_PATTERN が DGEN_WALKING ま たは DGEN_ALL の場合のみ 有効です。 • 0x6 : WALKING0 - DQ ピ ンに Walking 0 が現れます。 0 の開始位置はア ド レ ス 値 に 依 存 し ま す。 こ の オ プ シ ョ ン は、 パ ラ メ ー タ ー DATA_PATTERN が DGEN_WALKING0 ま たは DGEN_ALL の場合のみ 有効です。 • 0x7 : PRBS - 32 段の LFSR が ラ ン ダ ム デー タ を生成 し 、 開始ア ド レ ス でシー ド さ れます。 こ のオプシ ョ ンは、 パ ラ メ ー タ ー DATA_PATTERN が DGEN_PRBS ま たは DGEN_ALL の場合のみ有効です。 • 0x9 : SLOW HAMMER - 低周波数の HAMMER デー タ パ タ ーン • 0xA : PHY_CALIB パ タ ーン - 0xFF、 00、 AA、 55、 55、 AA、 99、 66。 こ の モー ド で は、 ア ド レ ス 0 で READ コ マ ン ド のみが生成 さ れ ま す。 Virtex®-7 フ ァ ミ リ でのみ有効です。 vio_addr_mode_value[2:0] 入力 有効な設定は次の と お り です。 • 0x1 : 固定ア ド レ ス モー ド -ア ド レ ス は、 fixed_addr_i 入力バ ス か ら 入力 さ れ ま す。 こ のモー ド では、 data_mode は fixed_data_input に制限 さ れ ます。 PRBS デー タ パ タ ーンは生成 さ れません。 • 0x2 : PRBS ア ド レ ス モー ド (デフ ォ ル ト ) -ア ド レ ス は 32 ビ ッ ト の内部 LFSR 回路か ら 生成 さ れ ま す。 cmd_seed 入力バ ス を使用 し て、 シー ド を変更で き ます。 • 0x3 : 順次ア ド レ ス モー ド -ア ド レ ス は、 内部ア ド レ ス カ ウ ン タ ーか ら 生成 さ れます。 増分は、 ユーザー イ ン タ ーフ ェ イ ス のポー ト 幅に よ っ て決ま り ます。 vio_instr_mode_value[3:0] 入力 有効な設定は次の と お り です。 • 0x1 : fixed_instr_i で定義 さ れ る コ マ ン ド タ イ プ (読み出 し /書き 込み) • 0x2 : ラ ン ダ ム読み出 し /書き 込みコ マ ン ド • 0xE : ア ド レ ス 0 での書 き 込みのみ • 0xF : ア ド レ ス 0 での読み出 し のみ vio_bl_mode_value[3:0] 入力 有効な設定は次の と お り です。 • 0x1 : fixed_bl_i 入力で定義 さ れた固定のバース ト 長 • 0x2 : ユーザー バース ト 長は、 内部の PRBS ジ ェ ネ レー タ ーか ら 生成 さ れます。 各バース ト 値が生成 さ れ る 連続コ マ ン ド の数を定義 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 469 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-13 : ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーの信号説明 (続き) 信号名 方向 説明 vio_fixed_instr_value 入力 有効な設定は次の と お り です。 • 0x0 : 書 き 込み命令 • 0x1 : 読み出 し 命令 vio_fixed_bl_value 入力 有効な値は 1 ~ 256 です。 vio_pause_traffic 入力 オンザフ ラ イ で ト ラ フ ィ ッ ク 生成を一時停止 し ます。 vio_data_mask_gen 入力 こ のモー ド は、 デー タ モー ド パ タ ーンがデー タ と し てのア ド レ ス の場合 のみ使用 さ れ ます。 こ のモー ド が有効の場合、 メ モ リ パ タ ーン が メ モ リ に満た さ れた後に ラ ン ダ ム な memc_wr_mask が生成 さ れ ます。 対応す る memc_write_mask がアサー ト さ れ る と 、 書 き 込みデー タ バ イ ト レーンに 8'hFF が入 り ます。 cmp_data[DWIDTH – 1:0] 出力 メ モ リ か ら リ ー ド バ ッ ク さ れたデー タ と 比較 さ れ る 予測デー タ です。 cmp_data_valid 出力 比較デー タ の Valid 信号です。 cmp_error 出力 cmp_data 値が メ モ リ か ら リ ー ド バ ッ ク さ れたデー タ と 一致 し ない場合に は、 こ の比較エ ラ ー フ ラ グがアサー ト さ れます。 error 出力 リ ー ド バ ッ ク デー タ が予測値 と 異な る 場合にアサー ト さ れます。 error_status[n:0] 出力 エ ラ ー信号がアサー ト さ れ る と 、 次の値を ラ ッ チ し ます。 • [31:0] : 読み出 し 開始ア ド レ ス • [37:32] : 読み出 し バース ト 長 • [39:38] : 予約 • [40] : mcb_cmd_full • [41] : mcb_wr_full • [42] : mcb_rd_empty • [64 + (DWIDTH – 1):64] : expected_cmp_data • [64 + (2 × DWIDTH – 1) : 64 + DWIDTH] : read_data simple_data0[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 0 simple_data1[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 1 simple_data2[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 2 simple_data3[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 3 simple_data4[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 4 simple_data5[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 5 simple_data6[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 6 simple_data7[31:0] 入力 繰 り 返す単純な 8 デー タ パ タ ーンのユーザー定義デー タ 7 fixed_data_i[31:0] 入力 ユーザー定義の固定デー タ パ タ ーン fixed_instr_i[2:0] 入力 ユーザー定義の固定 コ マ ン ド パ タ ーン 000 : 書 き 込み コ マ ン ド 001 : 読み出 し コ マ ン ド fixed_bl_i[5:0] 入力 ユーザーが定義す る 固定のバー ス ト 長です。 生成 さ れ る 連続 コ マ ン ド の 数は各バース ト 値で定義 さ れます。 メ モ リ の初期化お よび ト ラ フ ィ ッ ク テ ス ト フ ロー 電源投入後、 Init Memory Control ブ ロ ッ ク は ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに対 し て、 選択 さ れたデー タ パ タ ーン で メ モ リ を初期化す る よ う 命令 し 、 メ モ リ の初期化プ ロ セ ス が開始 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 470 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ の初期化 1. data_mode_i 入力でデー タ パ タ ーン を選択 し ます (例 : ア ド レ ス をデー タ パ タ ーン と し て使用す る 場合は、 data_mode_i[3:0] = 0010)。 2. start_addr_i 入力が設定 さ れ、 下位ア ド レ ス境界が定義 さ れます。 3. end_addr_i 入力が設定 さ れ、 上位ア ド レ ス境界が定義 さ れます。 4. fixed_bl_i 入力か ら バース ト 長を取得する ため、 bl_mode_i が 01 に設定 さ れます。 5. fixed_bl_i 入力が 16 ま たは 32 のいずれかに設定 さ れます。 6. fixed_instr_i 入力か ら 命令を取得す る ため、 instr_mode_i が 0001 に設定 さ れます。 7. fixed_instr_i 入力が メ モ リ デバ イ ス の WR コ マ ン ド 値に設定 さ れます。 8. 順次ア ド レ ス モー ド で メ モ リ 空間を埋め る ため、 addr_mode_i が 11 に設定 さ れます。 9. mode_load_i が ク ロ ッ ク の 1 サ イ ク ル間アサー ト さ れます。 メ モ リ 空間が選択 さ れたデー タ パ タ ーンで初期化 さ れ る と 、Init Memory Control ブ ロ ッ ク は ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーへ ト ラ フ ィ ッ ク テ ス ト フ ロ ーを実行す る よ う に命令 し ます (デフ ォ ル ト で addr_mode_i、 instr_mode_i、 お よ び bl_mode_i 入力は PRBS モー ド を選択す る よ う に設定)。 ト ラ フ ィ ッ ク テ ス ト フ ロー 1. addr_mode_i 入力が任意のモー ド に設定 さ れます (デフ ォ ル ト は PRBS)。 2. cmd_seed_i お よ び data_seed_i の入力値が、 内部 PRBS ジ ェ ネ レー タ ー用に設定 さ れます。 こ の手順は、 ほ かのパ タ ーンでは不要です。 3. instr_mode_i 入力が任意のモー ド に設定 さ れます (デフ ォ ル ト は PRBS)。 4. bl_mode_i 入力が任意のモー ド に設定 さ れます (デフ ォ ル ト は PRBS)。 5. data_mode_i 入力には、 「 メ モ リ の初期化」 で示 し た メ モ リ パ タ ーンの初期化段階 と 同 じ 値が入 り ます。 6. run_traffic_i 入力がアサー ト さ れて ト ラ フ ィ ッ ク の実行を開始 し ます。 7. テ ス ト 中にエ ラ ーが発生 し た場合 (読み出 し デー タ が予測デー タ と 一致 し ないな ど)、 リ セ ッ ト が適用 さ れ る ま で エ ラ ー ビ ッ ト がアサー ト さ れます。 8. error 信号を受信す る と 同時に、 error_status バ ス が 468 ページの表 4-13 で説明 さ れてい る 値を ラ ッ チ し ます。 サ ン プ ル デ ザ イ ン の 一 部 を 変 更 す る こ と で、 run_traffic_i が デ ィ ア サ ー ト さ れ た と き に addr_mode_i、 instr_mode_i お よ び bl_mode_i を動的に変更で き る よ う にな り ます。 ただ し 、 設定変更後は、 正 し いパ タ ーン が メ モ リ 空間へ ロ ー ド さ れ る よ う にす る には、 メ モ リ 初期化プ ロ セ ス を再度実行す る 必要があ り ます。 注記 : ° チ ッ プ セ レ ク ト オプシ ョ ンが無効の場合、 シ ミ ュ レーシ ョ ン テ ス ト ベンチは正常動作を続け る ために常に メ モ リ モデル チ ッ プ セ レ ク ト ビ ッ ト を 0 に接続 し ます。 ° デー タ マ ス ク オプシ ョ ンが無効の場合、 シ ミ ュ レーシ ョ ン テ ス ト ベンチは正常動作を続け る ために常に メ モ リ モデル デー タ マ ス ク ビ ッ ト を 0 に接続 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 471 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン シ ミ ュ レーシ ョ ンの設定 ザ イ リ ン ク ス の UNISIM ラ イ ブ ラ リ を シ ミ ュ レー タ にマ ッ プす る 必要があ り ます。 サ ン プル デザ イ ン に付属のテ ス ト ベンチは、 次の よ う なプ リ イ ンプ リ メ ン テーシ ョ ン シ ミ ュ レーシ ョ ン をサポー ト し ます。 • サンプル デザ イ ンで使用 さ れてい る ベン ダーの メ モ リ モデルを含むテ ス ト ベンチ • MIG ツールで作成 さ れた メ モ リ コ ン ト ロ ー ラ ーお よ び PHY コ アの RTL フ ァ イ ル ソ フ ト ウ ェ ア リ リ ー ス ご と に、 QuestaSim、 Vivado シ ミ ュ レ ー タ 、 IES、 VCS シ ミ ュ レ ーシ ョ ン ツ ール を使用 し て MIG IP が検証 さ れます。IES お よ び VCS シ ミ ュ レー タ でシ ミ ュ レーシ ョ ン を実行する ための ス ク リ プ ト フ ァ イ ルは、 MIG の出力内に生成 さ れます。 QuestaSim、 Vivado シ ミ ュ レー タ を使用 し たシ ミ ュ レーシ ョ ンは、 Vivado Tcl コ ン ソ ー ルの コ マ ン ド ま たは Vivado IDE で実行で き ます。 重要 : MIG IP のシ ミ ュ レーシ ョ ンにはその他のシ ミ ュ レーシ ョ ン ツール も 使用で き ますが、 ザ イ リ ン ク ス では特に こ れ ら を検証 し てい ません。 IES および VCS ス ク リ プ ト フ ァ イルを使用 し たシ ミ ュ レーシ ョ ン フ ロー シ ミ ュ レーシ ョ ンは、 次のデ ィ レ ク ト リ か ら 実行 し ます。 <project_dir>/<Component_Name>_example/<component name>_example.srcs/sim_1/imports/sim プ ロ ジ ェ ク ト 名を project_1 と し 、Vivado IDE の コ ン ポーネ ン ト 名を mig_7series_0 と し て作成 さ れたプ ロ ジ ェ ク ト では、 次のデ ィ レ ク ト リ か ら 開始 し ます。 project_1/mig_7series_0_example/mig_7series_0_example.srcs/sim_1/imports/sim IES お よ び VCS シ ミ ュ レーシ ョ ン ス ク リ プ ト は、 Linux オペレーテ ィ ン グ シ ス テ ム上でのみ実行 さ れます。 ies_run.sh お よ び vcs_run.sh フ ァ イ ルは、それぞれ IES お よ び VCS シ ミ ュ レー タ を使用 し た シ ミ ュ レーシ ョ ン 用の実行フ ァ イ ルです。 ies_run.sh お よ び vcs_run.sh フ ァ イ ルそれぞれに ラ イ ブ ラ リ フ ァ イ ルを追加 し ます。 IES お よ び VCS を使用 し たシ ミ ュ レーシ ョ ンの詳細は、 readme.txt を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 472 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン Vivado シ ミ ュ レー タ を使用 し たシ ミ ュ レーシ ョ ン フ ロー 1. [Open IP Example Design] での Vivado プ ロ ジ ェ ク ト で、 Flow Navigator の下にあ る [Simulation Settings] を ク リ ッ ク し ます (図 4-39)。 X-Ref Target - Figure 4-39 図 4-39 : Vivado シ ミ ュ レー タ によ る シ ミ ュ レーシ ョ ン 2. 図 4-39 に示す [Simulation] タ ブで、 [xsim.simulate.runtime] を 1ms に設定 し ます (一定時間 (1ms よ り も ずっ と 短い時間) 経過後にシ ミ ュ レーシ ョ ン を停止す る シ ミ ュ レーシ ョ ン RTL 指示子あ り )。 [OK] を ク リ ッ ク し て、 設定を適用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 473 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 3. 図 4-40 に示す よ う に、 Flow Navigator で、 [Run Simulation] → [Run Behavioral Simulation] を ク リ ッ ク し ます。 X-Ref Target - Figure 4-40 図 4-40 : [Run Behavioral Simulation] の選択 QuestaSim を使用する シ ミ ュ レーシ ョ ン 1. [Open IP Example Design] での Vivado プ ロ ジ ェ ク ト で、Flow Navigator の下にあ る [Simulation Settings] を ク リ ッ ク し ます。 2. [Target simulator] で QuestaSim/ModelSim を選択 し ます。 3. a. コ ンパ イ ル済みの ラ イ ブ ラ リ の場所を参照 し 、 [Compiled libraries location] にそのパ ス を設定 し ます。 b. [Simulation] タ ブで、 [modelsim.simulate.runtime] を 1ms に設定 し ます (一定時間 (1ms よ り も ずっ と 短い時間) 経過後にシ ミ ュ レーシ ョ ン を停止する シ ミ ュ レーシ ョ ン RTL 指示子あ り )、図 4-39 に示す よ う に、 [modelsim.simulate.vsim.more_options] を -novopt に設定 し ます。 [OK] を ク リ ッ ク し て、 設定を適用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 474 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-41 図 4-41 : QuestaSim によ る シ ミ ュ レーシ ョ ン 4. 図 4-40 に示す よ う に、 Flow Navigator で、 [Run Simulation] → [Run Behavioral Simulation] を ク リ ッ ク し ます。 5. QuestaSim が Vivado か ら 呼び出 さ れ、 シ ミ ュ レーシ ョ ン を実行 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 8] を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 475 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのアーキテ ク チ ャ こ こ では、 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン コ ア の アーキ テ ク チ ャ を示 し 、 コ ア のモ ジ ュ ールお よ び イ ン タ ーフ ェ イ ス の概要について説明 し ます。 概要 図 4-42 に、 7 シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン コ ア を示 し ます。 X-Ref Target - Figure 4-42 6HULHV)3*$V 8VHU,QWHUIDFH 3K\VLFDO,QWHUIDFH 6HULHV)3*$V0HPRU\,QWHUIDFH6ROXWLRQ UVW FON DSSBDGGU DSSBFPG GGUBFD DSSBHQ 8VHU ,QWHUIDFH %ORFN DSSBKLBSUL DSSBZGIBGDWD 0HPRU\ &RQWUROOHU GGUBFN 3K\VLFDO /D\HU GGUBFNBQ GGUBFNH DSSBZGIBHQG GGUBFVBQ DSSBZGIBPDVN 8VHU )3*$ /RJLF GGUBGP DSSBZGIBZUHQ 1DWLYH,QWHUIDFH DSSBUG\ 0&3+<,QWHUIDFH ,2% GGUBGT /3''5 6'5$0 GGUBGTVBQ DSSBUGBGDWD GGUBGTV DSSBUGBGDWDBHQG DSSBUGBGDWDBYDOLG DSSBZGIBUG\ DSSBVUBUHT DSSBVUBDFWLYH DSSBUHIBUHT DSSBUHIBDFN DSSB]TBUHT DSSB]TBDFN 6\VWHPFORFNV\VBFONBSDQGV\VBFONBQV\VBFONBL5HIHUHQFHFORFNFONBUHIBSDQGFONBUHIBQFONBUHIBLDQGV\VWHPUHVHWV\VBUVWBQSRUW FRQQHFWLRQVDUHQRWVKRZQLQEORFNGLDJUDP 図 4-42 : 7シ リ ーズ FPGA メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー FPGA ロ ジ ッ ク 図 4-42 のユーザー FPGA ロ ジ ッ ク ブ ロ ッ ク は、 外部の LPDDR2 SDRAM への接続が必要な FPGA デザ イ ン を表 し て い ます。 ユーザー FPGA ロ ジ ッ ク は、 ユーザー イ ン タ ーフ ェ イ ス を介 し て メ モ リ コ ン ト ロ ー ラ ー と 接続 し ます。 ユー ザー FPGA ロ ジ ッ ク のサンプルが、 コ ア と 共に提供 さ れてい ます。 ユーザー イ ン タ ー フ ェ イ ス ブ ロ ッ ク およびユーザー イ ン タ ー フ ェ イ ス UI ブ ロ ッ ク は、 ユーザー FPGA ロ ジ ッ ク ブ ロ ッ ク へのユーザー イ ン タ ーフ ェ イ ス を表 し ます。 こ れは、 フ ラ ッ ト ア ド レ ス空間を提供 し 、 読み出 し /書 き 込みデー タ をバ ッ フ ァ ーす る こ と で、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に代わ る シ ンプルな イ ン タ ーフ ェ イ ス を提供 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 476 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ コ ン ト ロー ラ ーおよびネ イ テ ィ ブ イ ン タ ー フ ェ イ ス メ モ リ コ ン ト ロ ー ラ ー (MC) の フ ロ ン ト エン ド は、 UI ブ ロ ッ ク へのネ イ テ ィ ブ イ ン タ ーフ ェ イ ス と な り ます。 こ れ がユーザー デザ イ ンに よ る メ モ リ の読み出 し /書 き 込み要求の実行を許可 し 、 ユーザー デザ イ ンか ら 外部 メ モ リ デバ イ ス へ (お よ び外部 メ モ リ デバ イ ス か ら ユーザー デザ イ ンへ) のデー タ 移動手段を提供 し ま す。 メ モ リ コ ン ト ロ ー ラ ーのバ ッ ク エン ド は物理 イ ン タ ーフ ェ イ スへ接続 し 、 こ のモジ ュ ールへの イ ン タ ーフ ェ イ ス要件すべてに対応 し ま す。 ま た、 メ モ リ コ ン ト ロ ー ラ ーには受信 し た要求順序を並べ替え る オプシ ョ ンがあ り 、 デー タ の スループ ッ ト お よ びレ イ テ ン シ を最適化で き ます。 物理層 (PHY) お よび物理イ ン タ ー フ ェ イ ス PHY の フ ロ ン ト エン ド は メ モ リ コ ン ト ロ ー ラ ー と 接続 し 、バ ッ ク エン ド は外部の メ モ リ デバ イ ス と 接続 し てい ます。 PHY は、 すべての メ モ リ デバ イ ス信号の順序お よ び タ イ ミ ン グ を管理 し ます。 IDELAYCTRL IDELAYCTRL は、 IDELAY を使用す る すべてのバン ク で必要です。 IDELAY は、 デー タ グループ (DQ) と 関連があ り ます。 つま り 、 こ れ ら の信号を使用す る すべてのバン ク / ク ロ ッ ク 領域で IDELAYCTRL が必要です。 MIG ツ ールは IDELAYCTRL を 1 つ イ ン ス タ ン シ エー ト し 、 そ の後 IODELAY_GROUP 属性 (iodelay_ctrl.v モ ジ ュ ール参照) を使用 し ます。 こ の属性に基づいて、 Vivado ツールが必要に応 じ てデザ イ ン で IDELAYCTRL を複製 し ます。 IDELAYCTRL の基準周波数は 200MHz に設定 し て く だ さ い。 Vivado ツールが、 設定 さ れた IODELAY_GROUP 属性 に基づいて、IDELAY ブ ロ ッ ク があ る 各領域に IDELAYCTRL を複製 し ます。ユーザーが独自にマルチ コ ン ト ロ ー ラ ー デザ イ ン を作成す る 場合、 各 MIG 出力にプ リ ミ テ ィ ブ を含む コ ン ポーネ ン ト が イ ン ス タ ン シエー ト さ れ ます。 こ れ は、 IDELAYCTRL や IODELAY_GRP 属性の使用規則に違反 し ます。 IODELAYCTRL には、 正 し く 属性が設定 さ れた コ ン ポーネ ン ト が 1 つのみ イ ン ス タ ン シエー ト さ れ る べ き で、 必要な複製はツールに実行 さ せて く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 477 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー イ ン タ ー フ ェ イ ス UI は FPGA ユーザー デザ イ ン と 接続 し てい る ため、 外部 メ モ リ デバ イ スへのア ク セ ス が可能にな り ます (表 4-14)。 表 4-14 : ユーザー イ ン タ ー フ ェ イ ス 信号 方向 説明 app_addr[ADDR_WIDTH – 1:0] 入力 現在の要求のア ド レ ス を示 し ます。 app_cmd[2:0] 入力 現在の要求の コ マ ン ド を選択 し ます。 app_en 入力 app_addr[]、 app_cmd[2:0]、 お よ び app_hi_pri 入力用のア ク テ ィ ブ High の ス ト ロ ーブ信号です。 app_rdy 出力 UI で コ マ ン ド の受信準備が整っ てい る こ と を示す出力です。app_en が イ ネーブルの と き にデ ィ アサー ト さ れた場合、 app_rdy 信号がアサー ト さ れ る ま で現在の app_cmd と app_addr を再送信す る 必要が あ り ま す。 app_hi_pri 入力 現在の要求の優先順位を上げ る ア ク テ ィ ブ High の入力です。 app_rd_data [APP_DATA_WIDTH – 1:0] 出力 読み出 し コ マ ン ド か ら の出力デー タ を提供 し ます。 app_rd_data_end 出力 app_rd_data[] 出力デー タ の最後の ク ロ ッ ク サ イ ク ルで あ る こ と を 示 す、 ア ク テ ィ ブ High の出力です。 app_rd_data_valid 出力 app_rd_data[] が有効であ る こ と を示す、 ア ク テ ィ ブ High の出力です。 app_wdf_data [APP_DATA_WIDTH – 1:0] 入力 書 き 込み コ マ ン ド のデー タ を提供 し ます。 app_wdf_end 入力 app_wdf_data[] 入力デー タ の最後の ク ロ ッ ク サ イ ク ルであ る こ と を示 す、 ア ク テ ィ ブ High の入力です。 app_wdf_mask [APP_MASK_WIDTH – 1:0] 入力 app_wdf_data[] にマ ス ク を提供 し ます。 app_wdf_rdy 出力 書 き 込みデー タ FIFO でデー タ の受信準備が整っ てい る こ と を示す出 力です。 app_wdf_rdy = 1’b1 お よ び app_wdf_wren = 1’b1 の場合、 書 き 込みデー タ が受信 さ れます。 app_wdf_wren 入力 app_wdf_data[] のア ク テ ィ ブ High の ス ト ロ ーブ信号です。 app_ref_req 入力 リ フ レ ッ シ ュ コ マ ン ド が DRAM へ発行 さ れ る よ う に要求す る 、 ア ク テ ィ ブ High の入力です。 app_ref_ack 出力 メ モ リ コ ン ト ロ ー ラ ーが要求 さ れた リ フ レ ッ シ ュ コ マ ン ド を PHY イ ン タ ーフ ェ イ スへ送信 し た こ と を示す、 ア ク テ ィ ブ High の出力です。 app_zq_req 入力 ZQ キ ャ リ ブ レ ーシ ョ ン コ マ ン ド が DRAM へ発行 さ れ る よ う に要求 す る 、 ア ク テ ィ ブ High の入力です。 app_zq_ack 出力 メ モ リ コ ン ト ロ ー ラ ーが要求 さ れた ZQ キ ャ リ ブ レーシ ョ ン コ マ ン ド を PHY イ ン タ ーフ ェ イ スへ送信 し た こ と を示す、 ア ク テ ィ ブ High の出力です。 ui_clk 出力 こ の UI ク ロ ッ ク は、DRAM ク ロ ッ ク の 1/2 ま たは 1/4 であ る 必要があ り ます。 init_calib_complete 出力 キ ャ リ ブ レーシ ョ ンが完了す る と 、 PHY に よ っ て アサー ト さ れます。 ui_clk_sync_rst 出力 ア ク テ ィ ブ High の UI リ セ ッ ト 信号です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 478 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン app_addr[ADDR_WIDTH – 1:0] 現在 UI に提示 さ れてい る 要求のア ド レ ス を示す入力です。 UI は外部 SDRAM の全ア ド レ ス フ ィ ール ド を統合 し 、 フ ラ ッ ト ア ド レ ス空間を示 し ます。 app_cmd[2:0] 現在 UI に提示 さ れてい る 要求の コ マ ン ド を示す入力です。 表 4-15 に、 有効な コ マ ン ド を示 し ます。 表 4-15 : app_cmd[2:0] の コ マ ン ド 動作 app_cmd[2:0] コ ー ド 読み出 し 001 書 き 込み 000 app_en 要求の入力 ス ト ロ ーブ信号です。 app_addr[]、 app_cmd[2:0]、 お よ び app_hi_pri に適切な値 を 適用 し た後、 app_en 信号を アサー ト し て UI に要求を提示す る 必要があ り ます。 こ れに よ り 、 app_rdy のアサー ト で UI に知 ら さ れ る ハン ド シ ェ イ ク が開始 し ます。 app_hi_pri 現在の要求の優先順位が高い こ と を示す入力です。 app_wdf_data[APP_DATA_WIDTH – 1:0] app_wdf_data[] バ ス で外部 メ モ リ に書 き 込むバ イ ト と 現状の ス テー ト を指定する マ ス ク 信号です。app_wdf_mask の対応す る ビ ッ ト に 1 の値を設定す る こ と でバ イ ト がマ ス ク さ れ ま す。 た と えば、 アプ リ ケーシ ョ ン のデー タ 幅が 256 の場合、 マ ス ク 幅は 32 の値を と り ます。 app_wdf_data の最下位バ イ ト [7:0] は app_wdf_mask のビ ッ ト [0] を 使用 し てマ ス ク さ れ、 app_wdf_data の最上位バ イ ト [255:248] は app_wdf_mask の ビ ッ ト [31] を使用 し てマ ス ク さ れます。 し たがっ て、 最後の DWORD (app_wdf_data のバ イ ト 0、 1、 2、 お よ び 3) を マ ス ク し なければな ら ない 場合は、 app_wdf_mask を 32'h0000_000F に設定す る 必要があ り ます。 app_wdf_end app_wdf_data[] バス のデー タ が、 現要求の最後のデー タ であ る こ と を示す入力です。 app_wdf_mask[APP_MASK_WIDTH – 1:0] app_wdf_data[] バス で外部 メ モ リ に書 き 込むビ ッ ト と 現在の状態を保持す る ビ ッ ト を指定す る マ ス ク 信号です。 app_wdf_wren app_wdf_data[] バス のデー タ が有効であ る こ と を示す入力です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 479 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン app_rdy 現在 UI に提示 さ れてい る 要求が受け入れ ら れた こ と を示す出力です。app_en のアサー ト 後に UI が こ の信号を アサー ト し ない場合は、 現要求を再送信す る 必要があ り ます。 次の場合、 app_rdy 出力はアサー ト さ れません。 ° PHY/ メ モ リ の初期化が完了 し ていない ° バン ク マシ ンがすべて使用 さ れてい る ( コ マ ン ド バ ッ フ ァ ーが フルに表示 さ れ る こ と か ら 確認可能) ° - 読み出 し 要求時に、 読み出 し バ ッ フ ァ ーが フルであ る - 書 き 込み要求時に、 書 き 込みバ ッ フ ァ ー ポ イ ン タ ーがない 周期的読み出 し が挿入 さ れてい る app_rd_data[APP_DATA_WIDTH – 1:0] 外部 メ モ リ か ら 読み出 し たデー タ を含む出力です。 app_rd_data_end 現在のサ イ ク ルの app_rd_data[] バ ス のデー タ が、 現要求の最後のデー タ であ る こ と を示す出力です。 app_rd_data_valid app_rd_data[] バ ス のデー タ が有効であ る こ と を示す出力です。 app_wdf_rdy 書 き 込みデー タ FIFO でデー タ の受信準備が整っ てい る こ と を示す出力です。app_wdf_rdy と app_wdf_wren が共 にアサー ト さ れ る と 、 書 き 込みデー タ が受信 さ れます。 app_ref_req ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 メ モ リ コ ン ト ロ ー ラ ーが DRAM へ リ フ レ ッ シ ュ コ マ ン ド を発行す る よ う に要求 し ます。 要求す る には、 こ の信号を 1 サ イ ク ル間パルスす る 必要があ り 、 少な く と も 要求が認識 さ れて 送信 さ れた こ と を示す app_ref_ack 信号がアサー ト さ れ る ま でデ ィ アサー ト さ れます。 app_ref_ack ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 リ フ レ ッ シ ュ 要求を認識 し て コ マ ン ド が メ モ リ コ ン ト ロ ー ラ ーか ら PHY へ送信 さ れた こ と を示 し ます。 app_zq_req ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 メ モ リ コ ン ト ロ ー ラ ーが DRAM へ ZQ キ ャ リ ブ レーシ ョ ン コ マ ン ド を発行す る よ う に要求 し ます。 要求す る には、 こ の信号を 1 サ イ ク ル間パルスす る 必要があ り 、 少な く と も 要求が 認識 さ れて送信 さ れた こ と を示す app_zq_ack 信号がアサー ト さ れ る ま でデ ィ アサー ト さ れます。 app_zq_ack ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、ZQ キ ャ リ ブ レーシ ョ ン要求を認識 し て コ マ ン ド が メ モ リ コ ン ト ロ ー ラ ーか ら PHY へ送信 さ れた こ と を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 480 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ui_clk_sync_rst UI か ら の リ セ ッ ト 出力で、 ui_clk に同期 し てい ます。 ui_clk UI か ら の出力 ク ロ ッ ク です。 外部 SDRAM へ入力 さ れ る ク ロ ッ ク の 1/2 の周波数にな り ます。 init_calib_complete キ ャ リ ブ レーシ ョ ンが完了す る と 、 PHY に よ っ て アサー ト さ れます。 アプ リ ケーシ ョ ンは、 こ の信号を待たずに メ モ リ コ ン ト ロ ー ラ ーへ コ マ ン ド を送信で き ます。 ユーザー イ ン タ ー フ ェ イ ス ブ ロ ッ ク UI ブ ロ ッ ク は、 ユーザー デザ イ ンへのユーザー イ ン タ ーフ ェ イ ス を提供 し ます。 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に代 わ る シ ンプルな イ ン タ ーフ ェ イ ス を提供 し ます。 UI ブ ロ ッ ク の機能は次の と お り です。 • 読み出 し /書 き 込みデー タ をバ ッ フ ァ ーす る • 要求順 と 一致す る よ う に、 読み出 し リ タ ーン デー タ の順序を並べ替え • フ ラ ッ ト ア ド レ ス空間であ り 、 それを SDRAM ア ド レ ス空間に変換 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 481 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ネイテ ィ ブ イ ン ターフ ェ イス ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス は FPGA ユーザー デザ イ ン と 接続 し 、 外部の メ モ リ デバ イ スへのア ク セ ス を可能に し ます。 コ マ ン ド 要求信号 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス には、 メ モ リ コ ン ト ロ ー ラ ーか ら メ モ リ デバ イ スへの読み出 し /書 き 込み コ マ ン ド を要 求す る ための信号があ り ます。 表 4-16 に、 こ れ ら の信号を ま と め ます。 表 4-16 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの コ マ ン ド 信号 信号 方向 説明 accept 出力 最後のサ イ ク ルで駆動 さ れ た要求 を メ モ リ イ ン タ ー フ ェ イ ス が受け 取っ た こ と を示 し ます。 bank[2:0] 入力 現在の要求のバン ク を選択 し ます。 bank_mach_next[] 出力 予約済みです。 未接続に し ます。 cmd[2:0] 入力 現在の要求の コ マ ン ド を選択 し ます。 col[COL_WIDTH – 1:0] 入力 現在の要求の列ア ド レ ス を選択 し ます。 data_buf_addr[7:0] 入力 メ モ リ コ ン ト ロ ー ラ ーが次 を実行す る 際のデー タ バ ッ フ ァ ー ア ド レ ス を示 し ます。 書 き 込み コ マ ン ド 処理で、 デー タ を見つけ る 位置 読み出 し コ マ ン ド 処理で、 デー タ を配置す る 位置 hi_priority 入力 予約済みです。 ロ ジ ッ ク 0 に接続 し ます。 rank[] 入力 予約済みです。 ロ ジ ッ ク 0 に接続 し ます。 row[ROW_WIDTH – 1:0] 入力 現在の要求の行ア ド レ ス を選択 し ます。 use_addr 入力 前ス テー ト で駆動 さ れた要求情報が有効であ る こ と を示すために、ユー ザー デザ イ ンは こ の信号を ス ト ロ ーブ し ます。 バン ク 、 行お よ び列情報に よ っ て、 読み出 し /書 き 込み先 と な る メ モ リ デバ イ ス の タ ーゲ ッ ト ア ド レ ス が決定 さ れま す。 コ マ ン ド は、 コ アへの cmd[2:0] 入力を使用 し て指定 し ます。 表 4-17 に、 有効な読み出 し /書 き 込み コ マ ン ド を示 し ます。 表 4-17 : メ モ リ イ ン タ ー フ ェ イ ス コ マ ン ド 動作 cmd[2:0] コ ー ド メ モ リ の読み出 し 000 メ モ リ の書 き 込み 001 予約 その他すべての コ ー ド accept 要求を コ アが受け取っ た こ と を ユーザー デザ イ ンに示 し ます。 こ の信号がアサー ト さ れた場合、 最後のサ イ ク ルで要 求 さ れた コ マ ン ド が受信 さ れた こ と を示 し ます。 ユーザー デザ イ ンは次の要求を発行す る か、 ア イ ド ル ス テー ト へ 遷移で き ます。 こ の信号がデ ィ アサー ト さ れた場合は、 最後のサ イ ク ルで要求 さ れた コ マ ン ド が受信 さ れなか っ た こ と を示 し 、 同 じ 要求を再送す る 必要があ り ます。 use_addr こ の信号は、 前サ イ ク ルでネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に与え ら れた要求を ス ト ロ ーブす る 場合に、 ユーザー デザ イ ンに よ っ てアサー ト さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 482 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン data_buf_addr ユーザー デザ イ ンには、読み出 し /書 き 込み コ マ ン ド で使用 さ れ る デー タ を格納す る バ ッ フ ァ ーが必要です。ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に要求が提示 さ れ る と 、 ユーザー デザ イ ンが要求を処理す る バ ッ フ ァ ー内の位置を指示す る 必 要があ り ま す。 書 き 込み コ マ ン ド の場合、 data_buf_addr は外部 メ モ リ へ書 き 込ま れ る ソ ース デー タ を含むバ ッ フ ァ ーのア ド レ ス と な り ま す。 一方、 読み出 し コ マ ン ド の場合は、 外部 メ モ リ か ら 読み出 さ れたデー タ を受信す る バ ッ フ ァ ーのア ド レ ス と な り ます。 要求の処理時に、 コ アが こ のア ド レ ス を エ コ ー バ ッ ク し ます。 書き込み コ マ ン ド 信号 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス は、 メ モ リ コ ン ト ロ ー ラ ーが書 き 込み コ マ ン ド を処理す る 際に使用す る 一連の信号を 提供 し ます (表 4-18)。 こ れ ら の信号は、 ユーザー デザ イ ンのバ ッ フ ァ ーの制御、 ア ド レ ス、 お よ びデー タ 信号へ接続 し てい ます。 表 4-18 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの書き込み コ マ ン ド 信号 信号 方向 説明 wr_data[2 × nCK_PER_CLK × PAYLOAD_WIDTH – 1:0] 入力 書 き 込み コ マ ン ド の入力デー タ です。 wr_data_addr [DATA_BUF_ADDR_WIDTH – 1:0] 出力 書 き 込み コ マ ン ド に 対す る ソ ー ス デー タ バ ッ フ ァ ーのベース ア ド レ ス です。 wr_data_mask[2 × nCK_PER_CLK × DATA_WIDTH/8 – 1:0] 入力 書 き 込みデー タ のバ イ ト イ ネーブル入力です。 wr_data_en 出力 書 き 込み コ マ ン ド に対 し て、 メ モ リ イ ン タ ーフ ェ イ ス がデー タ バ ッ フ ァ ーか ら デー タ を読み出 し て い る こ と を示す出力です。 wr_data_offset[0:0] 出力 書 き 込み コ マ ン ド に 対す る ソ ー ス デー タ バ ッ フ ァ ーのオ フ セ ッ ト 値を示 し ます。 wr_data こ のバ ス は、 外部 メ モ リ へ書 き 込まれ る デー タ です。 ユーザー デザ イ ンのバ ッ フ ァ ーのデー タ 出力へ接続で き ます。 wr_data_addr こ のバ ス は、 現在の書 き 込み要求が提示 さ れた と き の data_buf_addr のエ コ ーです。 wr_data_offset 信号 と 組み合 わせて、 ユーザー デザ イ ンのバ ッ フ ァ ーのア ド レ ス入力に適用で き ます。 wr_data_mask こ のバ ス は、 現時点で外部 メ モ リ へ書 き 込 ま れてい る デー タ のバ イ ト イ ネーブル (デー タ マ ス ク ) です。 対応す る wr_data_mask 信号がデ ィ アサー ト さ れ る と 、 メ モ リ のバ イ ト が書 き 込まれます。 wr_data_en こ の信号がアサー ト さ れてい る 場合は、 書き 込みコ マ ン ド に対 し て、 コ アがユーザー デザ イ ンか ら デー タ を読み出 し てい る こ と を示 し ます。 こ れは、 ユーザー デザ イ ンのバ ッ フ ァ ーのチ ッ プ セ レ ク ト 信号へ接続で き ます。 wr_data_offset こ のバ ス は、 バース ト 長が 1 サ イ ク ル以上の処理を必要 と する と き に、 デー タ バ ッ フ ァ ーに順にア ク セ スす る ために 使用 し ます。 rd_data_addr と 組み合わせて、 ユーザー デザ イ ンのバ ッ フ ァ ーのア ド レ ス入力へ適用で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 483 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 読み出 し コ マ ン ド 信号 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス は、 メ モ リ コ ン ト ロ ー ラ ーが読み出 し コ マ ン ド を処理す る 際に使用す る 一連の信号を 提供 し ます (表 4-19)。 こ れ ら の信号は、 メ モ リ デバ イ ス か ら ユーザー デザ イ ンのバ ッ フ ァ ーへデー タ を転送 し ます。 それ以外は書 き 込み コ マ ン ド 処理の信号 と 同 じ です。 表 4-19 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの読み出 し コ マ ン ド 信号 信号 方向 説明 rd_data[2 × nCK_PER_CLK × PAYLOAD_WIDTH – 1:0] 出力 読み出 し コ マ ン ド か ら の出力デー タ です。 rd_data_addr[DATA_BUF_ADDR_WIDTH – 1:0] 出力 読み出 し コ マ ン ド に対する 、デス テ ィ ネーシ ョ ン バ ッ フ ァ ーのベース ア ド レ ス を示す出力です。 rd_data_en 出力 rd_data バ ス に有効な読み出 し デー タ が あ る こ と を示 し ます。 rd_data_offset[1:0] 出力 読み出 し コ マ ン ド に対する 、デス テ ィ ネーシ ョ ン バ ッ フ ァ ーのオ フ セ ッ ト 値を示 し ます。 rd_data こ のバ ス は、 外部 メ モ リ か ら 読み出 さ れたデー タ です。 ユーザー デザ イ ン内にあ る バ ッ フ ァ ーのデー タ 入力へ接続で き ます。 rd_data_addr こ のバ ス は、 現在の読み出 し 要求が提示 さ れた と き の data_buf_addr のエ コ ーです。 rd_data_offset 信号 と 組 み合わせて、 ユーザー デザ イ ンのバ ッ フ ァ ーのア ド レ ス入力に適用で き ます。 rd_data_en 読み出 し 要求に対 し て、rd_data に有効な読み出 し デー タ があ る こ と を示 し ます。 こ れは、ユーザー デザ イ ンのバ ッ フ ァ ーのチ ッ プ セ レ ク ト お よ び ラ イ ト イ ネーブル信号に接続で き ます。 rd_data_offset こ のバ ス は、 バース ト 長が 1 サ イ ク ル以上の処理を必要 と する と き に、 デー タ バ ッ フ ァ ーに順にア ク セ スす る ために 使用 し ます。 rd_data_addr 信号 と 組み合わせて、 ユーザー デザ イ ンのバ ッ フ ァ ーのア ド レ ス入力へ適用で き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 484 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの メ ン テナ ン ス コ マ ン ド 信号 表 4-20 に、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス の メ ン テナン ス コ マ ン ド 信号を示 し ます。 表 4-20 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スの メ ン テナン ス コ マ ン ド 信号 信号 方向 説明 app_sr_req 入力 予約済みです。 0 に接続 し ます。 app_sr_active 出力 予約済みです。 app_ref_req 入力 リ フ レ ッ シ ュ コ マ ン ド が DRAM へ発行 さ れ る よ う に要求す る 、 ア ク テ ィ ブ High の 入力です。 app_ref_ack 出力 メ モ リ コ ン ト ロ ー ラ ーが要求 さ れた リ フ レ ッ シ ュ コ マ ン ド を PHY イ ン タ ーフ ェ イ スへ送信 し た こ と を示す、 ア ク テ ィ ブ High の出力です。 app_zq_req 入力 ZQ キ ャ リ ブ レーシ ョ ン コ マ ン ド が DRAM へ発行 さ れ る よ う に要求する 、 ア ク テ ィ ブ High の入力です。 app_zq_ack 出力 メ モ リ コ ン ト ロ ー ラ ーが要求 さ れた ZQ キ ャ リ ブ レーシ ョ ン コ マ ン ド を PHY イ ン タ ーフ ェ イ スへ送信 し た こ と を示す、 ア ク テ ィ ブ High の出力です。 app_ref_req ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 メ モ リ コ ン ト ロ ー ラ ーが DRAM へ リ フ レ ッ シ ュ コ マ ン ド を発行す る よ う に要求 し ます。 要求す る には、 こ の信号を 1 サ イ ク ル間パルスす る 必要があ り 、 少な く と も 要求が認識 さ れて 送信 さ れた こ と を示す app_ref_ack 信号がアサー ト さ れ る ま でデ ィ アサー ト さ れます。 app_ref_ack ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 リ フ レ ッ シ ュ 要求を認識 し て コ マ ン ド が メ モ リ コ ン ト ロ ー ラ ーか ら PHY へ送信 さ れた こ と を示 し ます。 app_zq_req ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、 メ モ リ コ ン ト ロ ー ラ ーが DRAM へ ZQ キ ャ リ ブ レーシ ョ ン コ マ ン ド を発行す る よ う に要求 し ます。 要求す る には、 こ の信号を 1 サ イ ク ル間パルスす る 必要があ り 、 少な く と も 要求が 認識 さ れて送信 さ れた こ と を示す app_zq_ack 信号がアサー ト さ れ る ま でデ ィ アサー ト さ れます。 app_zq_ack ア ク テ ィ ブ High の入力で、 アサー ト さ れ る と 、ZQ キ ャ リ ブ レーシ ョ ン要求を認識 し て コ マ ン ド が メ モ リ コ ン ト ロ ー ラ ーか ら PHY へ送信 さ れた こ と を示 し ます。 ク ロ ッ キング アーキテ ク チ ャ PHY デザ イ ンでは、 MMCM モジ ュ ールを使用 し て さ ま ざ ま な ク ロ ッ ク を生成する 必要があ り 、 ク ロ ッ ク をデザ イ ン 全体に分配す る ために、 グ ロ ーバル ク ロ ッ ク ネ ッ ト ワ ー ク と ロ ーカル ク ロ ッ ク ネ ッ ト ワ ー ク の両方を使用 し ます。 PHY は さ ら に、 PLL と 同 じ バン ク に PLL を 1 つ必要 と し ます。 MMCM に よ っ て、 BUFG か ら PHY の挿入遅延が補 正 さ れます。 ク ロ ッ ク の生成お よ び分配回路 と ネ ッ ト ワ ー ク は PHY 内部のブ ロ ッ ク を駆動 し ま す。 こ れ ら のブ ロ ッ ク は、 次の 4 つの機能に大別 さ れます。 • 内部 (FPGA) ロ ジ ッ ク • 書 き 込みパ ス (出力) I/O ロ ジ ッ ク • 読み出 し パ ス (入力) お よ び遅延 I/O ロ ジ ッ ク Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 485 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • IDELAY 基準 ク ロ ッ ク (200MHz) PHY には MMCM と PLL がそれぞれ 1 つずつ必要です。 ほ と ん ど の内部 ロ ジ ッ ク 用の ク ロ ッ ク 、 PHASER への周波 数基準 ク ロ ッ ク 、 そ し てマルチ I/O バン ク イ ンプ リ メ ン テーシ ョ ン で PHY 制御ブ ロ ッ ク の同期のために必要な同期 パルス は、 こ の MMCM を使用 し て生成 し ます。 LPDDR2 SDRAM の周波数範囲が 200MHz ~ 333MHz の場合は、一方の PHASER 周波数基準 ク ロ ッ ク が メ モ リ ク ロ ッ ク と 同 じ 周波数で動作 し 、 も う 一方は 400MHz の範囲要件を満たす よ う に、 メ モ リ ク ロ ッ ク 周波数の 2 倍ま たは 4 倍 のいずれかで動作す る 必要があ り ます。 2 つの PHASER 周波数基準 ク ロ ッ ク は、 同 じ MMCM を使用 し て位相を揃え る 必要があ り ます。 図 4-43 に、 ク ロ ッ キ ン グ アーキ テ ク チ ャ のブ ロ ッ ク 図を示 し ます。 MMCM 逓倍値 (M) お よ び分周値 (D) のデフ ォ ル ト 設定では、 シ ス テ ム ク ロ ッ ク 入力周波数が メ モ リ ク ロ ッ ク 周波数 と 同 じ にな っ てい ます。 こ の 1:1 の比率は必須ではあ り ません。 MMCM 入力分周値 (D) は、 MMCME2_ADV の動作 条件が満た さ れて適切な制約が適用 さ れてい る 限 り 、 『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ー ス ユーザー ガ イ ド 』 (UG472) [参照 10] に記載 さ れてい る 値を使用で き ます。 MMCM の乗算値 (M) は、 必ず 1 ~ 16 (1 と 16 を含む) か ら 選択 し ます。 メ モ リ ク ロ ッ ク の MMCM 出力 ド ラ イ バー (O) は 2 に設定 し ます。 MMCM VCO の周波数範囲は、 各デ バ イ ス のデー タ シー ト に記載 さ れてい る 範囲内に し て く だ さ い。sync_pulse は、mem_refclk 周波数の 1/16 で、デ ュ ー テ ィ サ イ ク ルは 1/16 (6.25%) の必要があ り ます。 MMCM お よ びシ ス テ ム ク ロ ッ ク CCIO 入力の物理的配置情報は、 526 ページの 「設計ガ イ ド ラ イ ン」 を参照 し て く だ さ い。 X-Ref Target - Figure 4-43 ,QWHUQDO)3*$/RJLF&ORFN %8)* &/.)%,1 &/.)%287 &/.,1 3// 0+],'(/$< 5HIHUHQFH&ORFN ,&/. 3KDVHUB,1 &/.5() 1 567 ,'(/$<&75/ &/.5() 3 ,&/.',9 /2&.(' LGHOD\FWUOBUG\ ,6(5'(626(5'(6 &RQQHFWLYLW\ ,%8)*'6 %8)+ 2&/. 3KDVHUB287 6\VWHP&ORFN,QSXW3DLU 2&/.B'(/$<(' &/.287 &/.287 6<6&/.1 &/.,1 6<6&/.3 2&/.',9 V\QFBSXOVH PHPBUHIFON &/.287 ,%8)*'6 00&0 &/.287 567 6<6567 IUHTBUHIFON /2&.(' 3+<&RQWURO ,%8) &/.,1 3+$6(5B5() UHIBGOOBORFN 567 図 4-43 : ク ロ ッ キング アーキテ ク チ ャ ISERDES/OSERDES の コ ネ ク テ ィ ビ テ ィ 情報は、 499 ページの図 4-48 お よ び 501 ページの図 4-50 を参照 し て く だ さ い。 内部 (FPGA) ロ ジ ッ ク ク ロ ッ ク 内部 FPGA ロ ジ ッ ク は、 グ ロ ーバル ク ロ ッ キ ン グ リ ソ ース で LPDDR2 SDRAM ク ロ ッ ク の 1/2 の周波数で ク ロ ッ キ ン グ さ れます。 こ の MMCM は、 高速の LPDDR2 メ モ リ ク ロ ッ ク も 出力 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 486 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 書き込みパス (出力) I/O ロ ジ ッ ク ク ロ ッ ク デー タ 信号 と 制御信号の両方 を 含む出力パ ス は、 PHASER_OUT で ク ロ ッ ク が供給 さ れ ま す。 PHASER_OUT は、 OUT_FIFO や OSERDES/ODDR の各バ イ ト グループへ同期 ク ロ ッ ク を提供 し ます。 PHASER_OUT は、 それぞれのバ イ ト グループのバ イ ト ク ロ ッ ク (OCLK)、分周バ イ ト ク ロ ッ ク (OCLKDIV)、遅延バ イ ト ク ロ ッ ク (OCLK_DELAYED) を生成 し ま す。 こ れ ら の ク ロ ッ ク は周波数基準 ク ロ ッ ク か ら 直接生成 さ れ、 相互に位相が揃っ てい ま す。 バ イ ト ク ロ ッ ク は周波数基準 ク ロ ッ ク と 同 じ 周波数で、 分周バ イ ト ク ロ ッ ク は周波数基準 ク ロ ッ ク の半分の周波数です。書 き 込み DQS と その関連 DQ ビ ッ ト 間に必要な 90 度の位相オ フ セ ッ ト を達成す る には、 OCLK_DELAYED を使用 し て DQS ODDR へ ク ロ ッ ク を供給 し ます。 ま た、 PHASER_OUT は、 書 き 込み中の DQS 生成に必要な信号、 デー タ バ イ ト グループに関連する DQS/DQ の ト ラ イ ス テー ト 信号、 お よ びバ イ ト グループの OUT_FIFO の リ ー ド イ ネーブル信号を駆動 し ます。 図 4-48 お よ び図 4-50 に、 PHASER_OUT を使用 し た ア ド レ ス/制御パ スお よ び書き 込みパ ス の ク ロ ッ キ ン グの詳細を示 し ます。 読み出 し パス (入力) I/O ロ ジ ッ ク ク ロ ッ ク 入力読み出 し デー タ パ ス は、 PHASER_IN ブ ロ ッ ク で ク ロ ッ ク が供給 さ れます。 PHASER_IN ブ ロ ッ ク は、 各バ イ ト グループの IN_FIFO と IDDR/ISERDES に同期 ク ロ ッ ク を供給 し ます。こ のブ ロ ッ ク は、LPDDR2 SDRAM デー タ キ ャ プチ ャ 用に 2 つの遅延 ク ロ ッ ク (読み出 し サ イ ク ル ク ロ ッ ク (ICLK)、 読み出 し 分周バ イ ト ク ロ ッ ク (ICLKDIV)) を生 成 し ます。 ICLK は、 周波数基準 ク ロ ッ ク を遅延 し た ク ロ ッ ク です。 ICLKDIV は、 ISERDES 内の最初の階層にあ る フ リ ッ プ フ ロ ッ プでデー タ を キ ャ プチ ャ す る 際に使用 し ます。 こ の ICLKDIV は ICLK と 位相が一致 し 、 ISERDES の最 後の階層にあ る フ リ ッ プ フ リ ッ プのパ ラ レ ル転送用 ク ロ ッ ク です。 ま た、 そのバ イ ト グループの IN_FIFO の書 き 込 み ク ロ ッ ク と し て も 使用 さ れます。図 4-50 に、PHASER_IN を使用 し た読み出 し パ ス の ク ロ ッ キ ン グ詳細を示 し ます。 IDELAY 基準 ク ロ ッ ク IDELAYCTRL モジ ュ ールには 200MHz の IDELAY ク ロ ッ ク を供給す る 必要があ り ます。 こ のモジ ュ ールは、 環境の 変化に合わせて I/O 領域内の IDELAY エ レ メ ン ト のキ ャ リ ブ レーシ ョ ン を常時実行 し ます。 IP コ アは、 外部 ク ロ ッ ク 信号 が IDELAYCTRL モジ ュ ールを駆動す る こ と を前提 と し てい ます。 IDELAYCTRL 入力 ク ロ ッ ク を PLL ク ロ ッ ク で駆動す る 場合は、 PLL ロ ッ ク 信号を IODELAY_CTRL.v モジ ュ ール内の rst_tmp_idelay 信号に組み込む必要が あ り ます。 こ れに よ り 、 ク ロ ッ ク を使用前に安定 さ せ る こ と がで き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 487 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ コ ン ト ロー ラ ー コ アのデフ ォ ル ト コ ン フ ィ ギ ュ レーシ ョ ンでは、 メ モ リ コ ン ト ロ ー ラ ー (MC) が UI ブ ロ ッ ク と 物理層の間に配置 さ れます。 図 4-44 に詳細図を示 し ます。 X-Ref Target - Figure 4-44 UDQN EDQN URZ FRO FPG GDWDBEXIBDGGU KLBSULRULW\ 5DQN0DFKLQHV XVHBDGGU ZUBGDWD 8VHU ,QWHUIDFH %ORFN ZUBGDWDBPDVN %DQN0DFKLQHV DFFHSW $UELWHU 0&3+< ,QWHUIDFH 3K\VLFDO /D\HU EDQNBPDFKBQH[W ZUBGDWDBDGGU &ROXPQ0DFKLQH ZUBGDWDBHQ ZUBGDWDBRIIVHW UGBGDWD UGBGDWDBDGGU UGBGDWDBHQ UGBGDWDBRIIVHW DSSBVUBUHT DSSBVUBDFWLYH DSSBUHIBUHT DSSBUHIBDFN DSSB]TBUHT DSSB]TBDFN 8*BFBB 図 4-44 : メ モ リ コ ン ト ロー ラ ー メ モ リ コ ン ト ロ ー ラ ーは、 メ モ リ イ ン タ ーフ ェ イ ス の主要 ロ ジ ッ ク ブ ロ ッ ク です。 UI か ら の要求を受信 し 、 それ ら を論理キ ュ ーに格納 し ます。 ま た、 オプシ ョ ン で要求順序を並べ替え て、 シ ス テ ムの処理スループ ッ ト やレ イ テ ン シ を向上 さ せます。 メ モ リ コ ン ト ロ ー ラ ー ブ ロ ッ ク は、 主に次の 4 つの部分で構成 さ れてい ます。 • 複数のバン ク マシ ン ( コ ン フ ィ ギ ュ レーシ ョ ン可能) • 複数の ラ ン ク マシ ン ( コ ン フ ィ ギ ュ レーシ ョ ン可能) • 1 つのカ ラ ム マシ ン • アービ ト レーシ ョ ン ブ ロ ッ ク Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 488 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン バン ク マ シ ン メ モ リ コ ン ト ロ ー ラ ー ロ ジ ッ ク の大部分は、バン ク マシ ンに含まれます。1 つのバン ク マシ ンが、常に 1 つの DRAM バン ク を管理 し ます。 ただ し 、 バン ク マシ ンの割 り 当ては動作中に行 う こ と がで き る ため、 各物理バン ク に対 し て必 ず し も 1 つのバン ク マシ ンは必要あ り ません。 バン ク 数は、 エ リ ア と 性能の ト レー ド オ フ を考慮 し て設定で き ます。 詳細は、 後続の 「プ リ チ ャ ージ ポ リ シー」 を参照 し て く だ さ い。 特定 DRAM バン ク へのバン ク マシ ンの割 り 当て期間は、 タ ーゲ ッ ト と な る DRAM バン ク の ス テー ト ではな く 、 ユー ザー要求に対応 し ます。 要求が受信 さ れ る と バン ク マシ ンが割 り 当て ら れ、 要求が完了す る と 、 そのバン ク マシ ン の割 り 当てが リ リ ース さ れて次の要求を割 り 当てで き る 状態にな り ます。 バン ク マシ ンは、 要求を完了す る ために必 要なすべての コ マ ン ド を発行 し ます。 バン ク マシ ンは、行 コ マ ン ド お よ び列 コ マ ン ド を生成 し て現在の要求を完了 さ せます。 こ れ ら の コ マ ン ド はそれぞれ 独立 し てい ますが、 DRAM の タ イ ミ ン グ要件に従 う 必要があ り ます。 次に示すシ ン プルな例 を 使用 し て、 こ の概念 を 説明 し ま す。 要求が到達す る と き 、 メ モ リ コ ン ト ロ ー ラ ーお よ び DRAM はア イ ド ル状態の場合を想定 し ます。 プールの先頭にあ る バン ク マシ ンは次の動作を行い ます。 1. ユーザー要求を受信 2. タ ーゲ ッ ト の行を ア ク テ ィ ブ化 3. 列 (読み出 し /書 き 込み) コ マ ン ド を生成 4. タ ーゲ ッ ト の行をプ リ チ ャ ージ 5. バン ク マシ ンのア イ ド ル プールへ戻 る 異な る 行やバン ク を タ ーゲ ッ ト と す る 複数の要求が到達す る 場合 も 同様の動作 と な り ます。 次に、 既にア ク テ ィ ブなバン ク マシ ンで制御 さ れたオープン状態の DRAM バン ク を タ ーゲ ッ ト と す る 要求が到達 し た場合を 考え ま す。 こ のマ シ ン は、 新 し い要求が同 じ DRAM バ ン ク を タ ーゲ ッ ト と し て い る こ と を認識 し 、 プ リ チ ャ ージ (手順 4) を省略 し ます。 ア イ ド ル プールの先頭にあ る バン ク マシ ンは、 新 し いユーザー要求を受け入れて、 ア ク テ ィ ブ化 (手順 2) を省略 し ます。 最後は前の要求 と 次の要求の間に別の要求が到達 し 、 すべてが同 じ DRAM バン ク を タ ーゲ ッ ト と す る 場合で、 コ ン ト ロ ー ラ ーはア ク テ ィ ブ化 (手順 2) と プ リ チ ャ ージ (手順 4) の両方を省略 し ます。 別の保留要求が同 じ バ ン ク を タ ーゲ ッ ト と し な ければ、 バ ン ク マ シ ン は可能 な限 り す ぐ に DRAM バ ン ク を プ リ チ ャ ージ し ます。 詳細は、 後続の 「プ リ チ ャ ージ ポ リ シー」 を参照 し て く だ さ い。 メ モ リ イ ン タ ーフ ェ イ ス の スループ ッ ト を最適化する ため、列 コ マ ン ド の順序を変更で き ます。 順序変更アルゴ リ ズ ム では、 デー タ の一貫性が保持 さ れ ます。 順序の並べ替え機能の詳細は、 「順序変更 ( リ オーダ リ ン グ)」 を参照 し て く だ さ い。 ラ ン ク マシン ラ ン ク マシ ンは、 DRAM ラ ン ク に対応 し ます。 ラ ン ク マシ ンは、 バン ク マシ ンの動作を モニ タ リ ン グ し 、 ラ ン ク や 特定デバ イ ス の タ イ ミ ン グ パ ラ メ ー タ ーを ト ラ ッ キ ン グ し ます。 た と えば、 ラ ン ク マシ ンはあ る 時間ウ ィ ン ド ウ 内 に ラ ン ク に送信 さ れ る ア ク テ ィ ブ コ マ ン ド 数を モニ タ リ ン グ し ます。 指定 し た コ マ ン ド 数が送信 さ れ る と 、 ラ ン ク マシ ンは抑止信号を生成 し 、次の コ マ ン ド を受信で き る よ う 時間ウ ィ ン ド ウ がシ フ ト する ま でバン ク マシ ンが コ マ ン ド を送信 し ない よ う に制御 し ます。 物理的な DRAM ラ ン ク への ラ ン ク マシ ンの割 り 当ては、 静止時に行われます。 カ ラム マシン 単一のカ ラ ム マシ ンは、 DQ デー タ バ ス の管理に必要な タ イ ミ ン グ情報を生成 し ます。 DRAM ラ ン ク は複数あ り ま すが、 DQ バ ス は 1 つであ る ため、 すべての DRAM ラ ン ク の列を 1 つのユニ ッ ト と し て管理 し ます。 カ ラ ム マシ ン がバン ク マシ ンで発行 さ れ る コ マ ン ド をモニ タ リ ン グ し 、 バン ク マシ ンに対 し て抑止信号を生成す る ため、 DQ バ ス は順に使用 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 489 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン アービ ト レーシ ョ ン ブ ロ ッ ク アービ ト レーシ ョ ン ブ ロ ッ ク は、 DRAM ア レ イ へ送信する 要求をバン ク マシ ンか ら 受信 し ます。 行 コ マ ン ド と 列 コ マ ン ド は別々に調停 さ れます。 コ マ ン ド ご と に、 アービ タ ブ ロ ッ ク が行 コ マ ン ド お よ び列 コ マ ン ド を選択 し て物理層 へ転送 し ます。 アービ ト レーシ ョ ン ブ ロ ッ ク では、 ラ ウ ン ド ロ ビ ン方式で転送が行われます。 順序変更 ( リ オーダ リ ング) DRAM へのア ク セ ス には、 行 コ マ ン ド と 列 コ マ ン ド の 2 つを使用 し ま す。 各要求は論理キ ュ ー エ ン ト リ を使用 し 、 キ ュ ー エン ト リ それぞれに関連す る バン ク マシ ンがあ り ます。 こ れ ら のバン ク マシ ンは、 その時点での DRAM ラ ン ク やバン ク の ス テー ト を ト ラ ッ キ ン グ し ます。 バン ク マシ ンは、 必要に応 じ て現在の要求に適 し た ラ ン ク 、 バン ク 、 ま たは行を ア ク テ ィ ブに し よ う と し ます。 バン ク マシ ンは こ の過程で DRAM の ス テー ト を確認 し 、 タ イ ミ ン グ パ ラ メ ー タ ーが満た さ れてい る かを判断 し ます。 最 終的にすべての タ イ ミ ン グ パ ラ メ ー タ ーが満た さ れてい る と 、バン ク マシ ンはアービ ト レーシ ョ ン を経て activate 信 号を送信 し ます。 アービ ト レーシ ョ ンは、 単純な ラ ウ ン ド ロ ビ ン方式で実行 さ れます。 複数のバン ク マシ ンが同時に 行 コ マ ン ド (ア ク テ ィ ブ化お よ びプ リ チ ャ ージ) の送信を要求す る 場合があ る ため、 アービ ト レーシ ョ ンが必要です。 すべての要求に対 し て ア ク テ ィ ブ化信号が必要 と は限 り ま せん。 前の要求で同 じ ラ ン ク 、 バン ク 、 行が既に有効に な っ てい る 場合は、 後続の要求はそのバン ク マシ ンの ス テー ト を引 き 継 ぐ ため、 プ リ チ ャ ージ/ア ク テ ィ ブ化は必要 あ り ません。 必要な ラ ン ク 、 バン ク 、 ま たは行がア ク テ ィ ブ化 さ れ、 RAS-CAS 間の遅延 タ イ ミ ン グが満た さ れてい る と 、 バン ク マシ ンは CAS-READ ま たは CAS-WRITE コ マ ン ド を発行 し よ う と し ます。 こ の場合、 行 コ マ ン ド と は異な り 、 すべ ての要求に CAS コ マ ン ド が必要です。CAS コ マ ン ド を送信す る アービ ト レーシ ョ ン前に、バン ク マシ ンは DRAM の ス テー ト 、 DQ バ ス の ス テー ト 、 優先順位、 お よ び順序を確認する 必要があ り ます。 最終的に、 こ れ ら のすべての要 素が最適な ス テー ト にな る と 、 バン ク マシ ンはアービ ト レーシ ョ ン を実行 し て CAS コ マ ン ド を送信 し ます。 行 コ マ ン ド と 同様に、 ラ ウ ン ド ロ ビ ン方式のアービ タ で優先順位を決定 し 、 次の列 コ マ ン ド を選択 し ます。 ラ ウ ン ド ロ ビ ン アービ タ 自体が順序変更を担い ます。 た と えば、 ア イ ド ル状態の メ モ リ コ ン ト ロ ー ラ ーが リ フ レ ッ シ ュ 動作中に新 し い要求のバース ト を受信 し た場合、 こ れ ら の要求はキ ュ ーに入 り 、 リ フ レ ッ シ ュ が完了す る ま で待 機す る こ と にな り ます。 DRAM が新 し いア ク テ ィ ブ化 コ マ ン ド を受信で き る よ う にな る と 、 待機中のすべての要求が アービ ト レーシ ョ ン要求を同時にアサー ト し ます。 そ し て、 アービ タ が、 要求順序か ら は独立 し た ラ ウ ン ド ロ ビ ン ア ルゴ リ ズ ムに基づいて、 次に送信す る ア ク テ ィ ブ化コ マ ン ド を選択 し ます。 列 コ マ ン ド に対 し て も 同様のプ ロ セ ス が 適用 さ れます。 コ ン ト ロ ー ラ ーでは、 3 つの順序変更モー ド がサポー ト さ れてい ます。 • STRICT : 常にネ イ テ ィ ブ イ ン タ ーフ ェ イ ス で受信 さ れた順に メ モ リ に対 し て コ マ ン ド を発行 し ます。順序変更 が有益でない場合や最短の レ イ テ ン シが必要な場合に適 し てい ます。 読み出 し デー タ は順序どお り に返っ て く る ので、 ユーザー イ ン タ ーフ ェ イ ス層は不要 と な り 、 レ イ テ ン シが低減 さ れます。 こ のモー ド は、 デバ ッ グで も 有 益です。 • NORM : 書 き 込みの順序は変更 さ れず、 読み出 し の順序が効率を向上する ために必要に応 じ て変更 さ れます。 書 き 込み要求はすべて、 その他すべての読み出 し 要求に対 し て要求順に発行 さ れ、特定の ラ ン ク /バン ク 内の要求は 順番に回収 さ れます。 こ れに よ り 、 先の書 き 込みが完了す る 前に後の書 き 込みの結果が見 ら れ る こ と はあ り ませ ん。 注記 : こ の順序変更は、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス でのみ認識 さ れます。 ユーザー イ ン タ ーフ ェ イ ス では、 読 み出 し 要求の順序は元の要求順に戻 さ れます。 • RELAXED : コ ン ト ロ ー ラ ーで最 も 効率的なモー ド です。 ラ ン ク キ ュ ー と バン ク キ ュ ーの間で最 も 効率的にな る よ う に、 必要に応 じ て書 き 込み と 読み出 し の順序が変更 さ れます。 こ のモー ド では、 書 き 込みの順序が変更 さ れ る こ と があ り ますが、 要求は ラ ン ク /バン ク 内の順序で回収 さ れ、 読み出 し 要求は元の順序で返 さ れ る ので、 順 序の変更はユーザー イ ン タ ー フ ェ イ ス 層では認識 さ れ ま せん。 その ため、 ユーザー イ ン タ ー フ ェ イ ス 層では RELAXED モー ド が推奨 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 490 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン プ リ チ ャ ージ ポ リ シー コ ン ト ロ ー ラ ーは積極的にプ リ チ ャ ージ を行い ます。 ト ラ ンザ ク シ ョ ンの完了ご と に、 要求の入力キ ュ ーを確認 し 、 現在オープ ン状態のバン ク /行のキ ュ ーに対 し て要求がない場合は、それを ク ロ ーズ し てそのバン ク 内にあ る 別の行へ の要求 レ イ テ ン シ を 最小限に抑 え ま す。 キ ュ ーの深 さ はバ ン ク マ シ ン の数 と 同 じ で あ る た め、 バ ン ク マ シ ン 数 (nBANK_MACHS) を増加 さ せ る と 、 効率を上げ る こ と がで き ます。 ただ し 、 数の増加に伴い、 FPGA ロ ジ ッ ク の タ イ ミ ン グ要件が厳 し く な り ます。 バン ク マシ ン数を増加 さ せなが ら 、 低速の メ モ リ ク ロ ッ ク 周波数を使用す る こ と に よ っ てシ ス テ ム全体の効率を向上 さ せ る こ と がで き る 場合があ り ます。 最適な設定を判断す る には、 タ ーゲ ッ ト デザ イ ンの コ マ ン ド 動作を使用 し てシ ミ ュ レーシ ョ ン を実行 し て く だ さ い。 注記 : MIG 7 Series LPDDR2 コ アの全体的な読み出 し レ イ テ ン シは、 メ モ リ コ ン ト ロ ー ラ ーの設定に依存 し ますが、 最 も 大 き な影響を与え る のは、 タ ーゲ ッ ト の ト ラ フ ィ ッ ク /ア ク セ ス パ タ ーン、 お よ び読み出 し コ マ ン ド が発行 さ れ る 前にパ イ プ ラ イ ン上に存在す る コ マ ン ド 数です。 読み出 し レ イ テ ン シは、 ユーザーま たはネ イ テ ィ ブ イ ン タ ーフ ェ イ ス が読み出 し コ マ ン ド を受信 し た時点か ら 測定 さ れます。 読み出 し レ イ テ ン シ を解析する には、 シ ミ ュ レーシ ョ ン を実行 し ます。 PHY PHY は、 外部の LPDDR2 SDRAM メ モ リ への物理 イ ン タ ーフ ェ イ ス を提供 し 、 メ モ リ デバ イ ス と の イ ン タ ーフ ェ イ ス に必要な信号の タ イ ミ ン グお よ びシーケ ン シ ン グ (順序) を生成 し ます。 PHY には、 ク ロ ッ ク 、 ア ド レ ス、 制御の 生成 ロ ジ ッ ク 、 書 き 込み と 読み出 し のデー タ パ ス、 お よ び電源投入後に SDRAM を初期化す る ス テー ト ロ ジ ッ ク が 含まれてい ます。 さ ら にシ ス テ ムの静的遅延お よ び動的遅延を解析す る ために、 読み出 し お よ び書き 込みデー タ パ ス の タ イ ミ ン グ ト レーニ ン グ を実行す る キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク も あ り ます。 PHY は、 LPDDR2 SDRAM に対応す る 1 つの HDL コ ー ド ベース で提供 さ れてい ます。 MIG ツールは、 最上位の HDL パ ラ メ ー タ ーお よ び XDC フ ァ イ ルの制約を介 し 、 SDRAM タ イ プやその他のデザ イ ン特有のパ ラ メ ー タ ーを カ ス タ マ イ ズ し ます。 PHY アーキテ ク チ ャ 全体 7 シ リ ーズ FPGA の PHY は専用のブ ロ ッ ク と ソ フ ト キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク で構成 さ れてい ます。 専用ブ ロ ッ ク は互いに隣接 し て配置 さ れ、 高性能な物理層を構築す る ために必要な ク ロ ッ ク お よ びデー タ パ ス配線を最短に抑え る よ う 、 イ ン タ ー コ ネ ク ト で直接接続 さ れてい ます。 I/O バン ク 内の専用 ク ロ ッ ク 構造はバ イ ト グループ ク ロ ッ ク と 呼ばれ、 こ の ド ラ イ バーに よ っ て駆動 さ れ る ロ ー ド 数が最小限にな る よ う に し ま す。 バ イ ト グループ ク ロ ッ ク は、 PHASER ブ ロ ッ ク で駆動 さ れます。 PHASER ブ ロ ッ ク (PHASER_IN お よ び PHASER_OUT) は、 DQS 信号の変動を動 的に ト ラ ッ キ ン グ し て正確に位相を調整す る 複数段階のプ ロ グ ラ マブル遅延 ラ イ ン ループです。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 491 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 7 シ リ ーズ FPGA の各 I/O バン ク には、 1 つの PHY 制御ブ ロ ッ ク 、 4 つの PHASER_IN/PHASER_OUT ブ ロ ッ ク 、 4 つ の IN/OUT_FIFO、 IOLOGIC (ISERDES、 OSERDES、 ODDR、 IDELAY)、 お よ び IOB で構成 さ れ る 専用ブ ロ ッ ク があ り ます。 1 つの I/O バン ク には 4 つのバ イ ト グループがあ り 、 各バ イ ト グループには、 PHASER_IN/PHASER_OUT、 IN_FIFO/OUT_FIFO、 そ し て 12 個の IOLOGIC と IOB ブ ロ ッ ク があ り ます。 バ イ ト グループ内にあ る 12 個の IOI の う ち 10 個は DQ ビ ッ ト お よ び DM ビ ッ ト に使用 さ れ、 残 り の 2 個は差動 DQS 信号を イ ン プ リ メ ン ト に使用 さ れ ま す。 図 4-45 に、 シ ン グル I/O バン ク に含まれ る 専用ブ ロ ッ ク を示 し ます。 PHY 制御ブ ロ ッ ク は、 その I/O バン ク 内に あ る 4 つすべての PHASER_IN お よ び PHASER_OUT ブ ロ ッ ク と 接続 し てい ます。 X-Ref Target - Figure 4-45 3K\B$GGU 3K\B&PG 3K\B'DWD 3K\B&ON ,2 ),)2V ,2/2*,& 3K\B5G:UB(Q 3K\B&ON &RQWURO :RUG(QDEOHV6WDWXV 3+< &RQWURO ,2% &.&.&.( &6''5B&$>@ 'DWD>@ '46>@ '46>@ ,Q'%&ON ,Q%&ON ,23KDVHUV 2XW'%&ON 2XW%&ON '46 図 4-45 : シ ン グル バン クの LPDDR2 PHY ブ ロ ッ ク図 メ モ リ コ ン ト ロ ー ラ ーお よ びキ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は、 LPDDR2 メ モ リ ク ロ ッ ク を 4 分周ま たは 2 分周 し た 低周波数 ク ロ ッ ク ド メ イ ンにあ る 、こ の専用 PHY と 通信 し ます。図 4-46 に、PHY デザ イ ンのブ ロ ッ ク 図を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 492 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-46 &W' &Z/>K'/ ZϮͬZϯ^ZDW,z/ŶƚĞƌĨĂĐĞ DĞŵŽƌLJĚĚƌͬŵĚͬŽŶƚƌŽů ŶĚ /ͬK&/&KŶĂďůĞƐ >WZϮ DĞŵŽƌLJ ŽŶƚƌŽůůĞƌ tƌŝƚĞĂƚĂͬDĂƐŬ /ͬK&/&KƐ ĚĚƌͬ ŵĚͬ ŽŶƚƌŽůͬ tƌŝƚĞĂƚĂ ZĞĂĚĂƚĂ /ͬK&/&K ^ƚĂƚƵƐ&ůĂŐƐ W,zŽŶƚƌŽůtŽƌĚͬ ŽŶƚƌŽůŶĂďůĞ /ŶŝƚŝĂůŝnjĂƚŝŽŶ ^ƚĂƚƵƐ ĂůŝďƌĂƚŝŽŶŶĂďůĞ ĚĚƌͬ ŵĚͬ ŽŶƚƌŽů ZĞĂĚ ĂƚĂ sĂůŝĚ ZĞĂĚ ĂƚĂ KĨĨƐĞƚ /K/ ;/^Z^͕ K^Z^͕ KZ͕ />zͿ W,zŽŶƚƌŽů^ƚĂƚƵƐ /ŶŝƚŝĂůŝnjĂƚŝŽŶ ŶĚ ĂůŝďƌĂƚŝŽŶ ŽŵŵĂŶĚ ^ĞƋƵĞŶĐĞƌ /K >WZϮ ^ZD ^ƚƌŽďĞ ;Y^Ϳ ZĞĂĚůĞǀĞůŝŶŐƐƚŐϭ ĂŶĚWZ^ ĐĂůŝďƌĂƚŝŽŶ WZ^ ĂƚĂWĂƚƚĞƌŶ 'ĞŶĞƌĂƚŽƌ ŝǀŝĚĞĚďLJϮŽƌϰ KĨDDͺZ&>< ůŽĐŬƐ W,zŽŶƚƌŽůůŽĐŬ WŚĂƐĞƌͺ/Ŷ ĞůĂLJ ŽŶƚƌŽůƐ W,^ ddKZ WŚĂƐĞƌͺ/EƐ /><ϭy /></s DĂƐŬ ;DͿ ĂƚĂ ;YͿ Y^ K><ϭy ZĞƐĞƚ tZ>s>ŽĨĨĞůĂLJĞƐ WŚĂƐĞƌͺKhdƐ K></s K><ϭyͺϵϬ ^LJƐƚĞŵ ůŽĐŬ ^LJƐƚĞŵ ZĞƐĞƚ />z Z&>< ^LJƐƚĞŵ ůŽĐŬͬ ZĞƐĞƚ 'ĞŶĞƌĂƚŝŽŶ ^LJŶĐͺ/Ŷ Z&ͺ>>ͺ>K< &ZYͺZ&>< DDͺZ&>< 図 4-46 : PHY のブ ロ ッ ク 図 メ モ リ の初期化お よびキ ャ リ ブ レーシ ョ ンのシーケ ン ス シ ス テ ム リ セ ッ ト 信号がデ ィ アサー ト さ れ る と 、PHY は メ モ リ に必要な電源投入初期化シーケ ン ス を実行 し ます。そ の後、 書 き 込みお よ び読み出 し 両方のデー タ パス の複数段階の タ イ ミ ン グ キ ャ リ ブ レーシ ョ ンが実行 さ れます。 キ ャ リ ブ レーシ ョ ン完了後、 PHY が初期化の完了を示 し 、 コ ン ト ロ ー ラ ーは メ モ リ へ コ マ ン ド を発行で き る よ う にな り ま す。 図 4-47 に、 メ モ リ の初期化お よ びキ ャ リ ブ レーシ ョ ンの各段階を含む全体的な フ ロ ーを示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 493 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-47 ^LJƐƚĞŵZĞƐĞƚ >WZϮ^ZDŝŶŝƚŝĂůŝnjĂƚŝŽŶ ZĞĂĚůĞǀĞůŝŶŐƐƚĂŐĞϭĐĂůŝďƌĂƚŝŽŶǁŝƚŚƐƚĂƚŝĐĚĂƚĂŽĨ&&͕ϬϬ͕&&͕ϬϬ͕&&͕ϬϬ͕&&͕ϬϬ ZĞĂĚsĂůŝĚĐĂůŝďƌĂƚŝŽŶƚŽŐĞŶĞƌĂƚĞƌĚͺǀĂůŝĚĂůŝŐŶĞĚǁŝƚŚƌĞĂĚĚĂƚĂĨƌŽŵ^ZD WZ^ZĞĂĚůĞǀĞůŝŶŐ;ZĞĂĚY^ĐĞŶƚĞƌŝŶŐŝŶƌĞĂĚYǁŝŶĚŽǁǁŝƚŚWZ^ƉĂƚƚĞƌŶƚŽ ĂĐĐŽƵŶƚĨŽƌ/^/ĞĨĨĞĐƚƐͿ WŚĂƐĞĞƚĞĐƚŽƌĐĂůŝďƌĂƚŝŽŶ;ĂůŝďƌĂƚĞƚŽƐĞƚƚƌŝŐŐĞƌƉŽŝŶƚƐƚŽĐŽŵƉĞŶƐĂƚĞĨŽƌƌŝĨƚĚƵĞ ƚŽǀŽůƚĂŐĞĂŶĚƚĞŵƉĞƌĂƚƵƌĞĐŚĂŶŐĞƐͿ W,z/ŶŝƚŝĂůŝnjĂƚŝŽŶĂŶĚĂůŝďƌĂƚŝŽŶŽŵƉůĞƚĞ 図 4-47 : PHY 全体の初期化およびキ ャ リ ブ レーシ ョ ンのシーケ ン ス 図 4-47 に示すキ ャ リ ブ レーシ ョ ンの各段階については、 次のセ ク シ ョ ン でそれぞれ説明 し ます。 • 502 ページの 「 メ モ リ の初期化」 • 502 ページの 「 リ ー ド レベ リ ン グ」 • 504 ページの 「読み出 し 有効のキ ャ リ ブ レーシ ョ ン」 • 505 ページの 「PRBS リ ー ド レベ リ ン グ」 • 505 ページの 「位相検出機能」 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 494 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン I/O アーキテ ク チ ャ 7 シ リ ーズ FPGA の各 I/O バン ク には、 1 つの PHY 制御ブ ロ ッ ク 、 4 つの PHASER_IN/PHASER_OUT ブ ロ ッ ク 、 4 つ の IN/OUT_FIFO、 ISERDES、 OSERDES、 ODDR、 IDELAY、 お よ び IOB で構成 さ れ る 専用ブ ロ ッ ク があ り ます。 PHY 制御ブ ロ ッ ク は、 その I/O バン ク 内にあ る 4 つすべての PHASER_IN お よ び PHASER_OUT ブ ロ ッ ク と 接続 し てい ま す。 PHY 制御ブ ロ ッ ク PHY 制御ブ ロ ッ ク は、 FPGA ロ ジ ッ ク と 専用 PHY 間のデー タ フ ロ ーを管理 し て、 情報を制御す る 中央制御ブ ロ ッ ク です。こ れは、IN/OUT_FIFO と ISERDES/OSERDES 間のア ド レ ス、コ マ ン ド 、デー タ の フ ロ ーだけでな く 、PHASER_IN お よ び PHASER_OUT ブ ロ ッ ク を制御 し ます。 PHY 制御ブ ロ ッ ク は、 低周波数 (LPDDR2 SDRAM ク ロ ッ ク 周波数の 1/2) の PHY_Clk レ ー ト で キ ャ リ ブ レ ー シ ョ ン ロ ジ ッ ク ま た は メ モ リ コ ン ト ロ ー ラ ーか ら 制御 ワ ー ド を 受信 し 、 LPDDR2 SDRAM ク ロ ッ ク レー ト (CK 周波数) でそれ ら を処理 し ます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク ま たは メ モ リ コ ン ト ロ ー ラ ーは、 ア ド レ ス、 コ マ ン ド 、 お よ びデー タ (書 き 込み コ マ ン ド の場合) を IN/OUT_FIFO へ書 き 込む こ と で LPDDR2 SDRAM コ マ ン ド シーケ ン ス を開始 し 、 同時ま たはその後に、 PHY 制御 ワ ー ド を PHY 制御ブ ロ ッ ク に書 き 込み ま す。 PHY 制御 ワ ー ド は、 LPDDR2 SDRAM コ マ ン ド の実行時に PHY 制御ブ ロ ッ ク が行 う 動作を定義 し ます。 PHY 制御ブ ロ ッ ク は、 I/O バン ク 内のバ イ ト グループ ブ ロ ッ ク への制御 イ ン タ ーフ ェ イ ス を提供 し ます。 I/O バン ク を複数 イ ン プ リ メ ン ト す る 必要があ る 場合、 各 I/O バン ク にあ る それぞれの PHY 制御ブ ロ ッ ク がそのバン ク 内のバ イ ト グループのエ レ メ ン ト を制御 し ます。 こ の際、 PHY 制御ブ ロ ッ ク は、 隣接する PHY 制御ブ ロ ッ ク と 位相が一致 し てい る 必要があ り ます。 I/O バン ク が 3 つ イ ンプ リ メ ン ト さ れてい る 場合は、 中央にあ る PHY 制御ブ ロ ッ ク がマ ス タ ー と し て構成 さ れます。 I/O バン ク が 2 つの場合は、 いずれか一方の PHY 制御ブ ロ ッ ク を マ ス タ ー と し て指定で き ます。 PHY 制御 イ ン タ ーフ ェ イ ス は、 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク や メ モ リ コ ン ト ロ ー ラ ーが PHY 制御ワー ド を PHY へ 書 き 込む際に使用 さ れます。 こ の イ ン タ ーフ ェ イ ス の信号は、 PHY_Clk 信号 と 同期 し ます (表 4-21)。 こ れは、 基本の FIFO 型 イ ン タ ーフ ェ イ ス です。 制御 ワ ー ド は、 PHY_Ctl_WrEn が High で PHY_Ctl_Full が Low の と き に、 PHY_Clk の立ち上が り エ ッ ジで制御 ワー ド FIFO へ書 き 込まれます。 I/O バン ク が複数あ る PHY では、 正 し く 動作す る ために 同 じ 制御 ワー ド がそれぞれの PHY 制御ブ ロ ッ ク へ書き 込まれ る 必要があ り ます。 表 4-21 : PHY 制御イ ン タ ー フ ェ イ ス 信号 方向 説明 PHY_Clk 入力 制御 ワ ー ド FIFO の PHY イ ン タ ーフ ェ イ ス ク ロ ッ ク です。 こ の ク ロ ッ ク の立ち上 が り エ ッ ジで、 PHY 制御ワー ド 信号がキ ャ プチ ャ さ れます。 PHY_Ctl_Wr_N 入力 制御 ワ ー ド FIFO の書 き 込み イ ネーブル信号で、 ア ク テ ィ ブ LOW です。 こ の信号 がア ク テ ィ ブな と き に、 PHY_Clk の立ち上が り エ ッ ジで制御 ワ ー ド が制御 ワ ー ド FIFO に書 き 込まれます。 PHY_Ctl_Wd[31:0] 入力 PHY の制御 ワー ド です (表 4-22)。 PHY_Ctl_Full 出力 制御 ワー ド FIFO の Full フ ラ グで、 ア ク テ ィ ブ High です。 制御 ワー ド FIFO が こ れ 以上制御ワー ド を受信で き ない こ と を示 し 、 書 き 込みを ブ ロ ッ ク し ます。 PHY_Ctl_AlmostFull 出力 制御 ワー ド FIFO の Almost Full フ ラ グで、 ア ク テ ィ ブ High です。 PHY_Ctl_Full 信 号がア ク テ ィ ブでなければ、 FIFO は制御 ワ ー ド を 1 回のみ受信で き 、 それ以上は 受信で き ない こ と を示 し ます。 PHY_Ctl_Ready 出力 PHY 制御ブ ロ ッ ク で コ マ ン ド の受信準備が整 う と ア サー ト さ れ る 、 ア ク テ ィ ブ High 信号です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 495 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン PHY 制御 ワー ド は、 次の よ う な構成 と な っ てい ます (表 4-22)。 表 4-22 : PHY 制御ワー ド 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 Act Pre Event Delay • CAS Slot Seq Data Offset Reserv Low Index Aux_Out ed 8 7 6 5 4 3 Control Offset 2 1 0 PHY Cmd PHY Command : こ の フ ィ ール ド は、専用 PHY を通 る コ マ ン ド お よ びデー タ フ ロ ーを管理する 際に PHY 制御ブ ロ ッ ク が実行す る 動作を定義 し ます。 PHY コ マ ン ド は次の と お り です。 ° ° ° Write (Wr – 0x01) : ア ド レ ス、 コ マ ン ド 、 お よ びデー タ OUT_FIFO を読み出 し て、 こ れ ら の FIFO か ら 読み出 し たデー タ を関連す る IOI へ転送す る よ う に PHY 制御ブ ロ ッ ク へ命令 し ます。 Read (Rd – 0x03) : ア ド レ ス、 コ マ ン ド OUT_FIFO を読み出 し て、 こ れ ら の FIFO か ら 読み出 し たデー タ を関 連す る IOI へ転送す る よ う に PHY 制御ブ ロ ッ ク へ命令 し ます。 メ モ リ か ら 読み出 さ れたデー タ は、 その後 にデー タ IOI か ら Data IN_FIFO へ転送 さ れます。 Non-Data (ND – 0x04) : ア ド レ スお よ びコ マ ン ド OUT_FIFO を読み出 し て、 こ れ ら の FIFO か ら 読み出 し た デー タ を関連す る IOI へ転送す る よ う に PHY 制御ブ ロ ッ ク へ命令 し ます。 • Control Offset : こ のフ ィ ール ド は、 ア ド レ スお よ び コ マ ン ド IN/OUT_FIFO が読み出 さ れて IOI へ転送 さ れ る タ イ ミ ン グの制御用です。 制御オ フ セ ッ ト は、 LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し てい ます。 • Auxiliary Output : こ の フ ィ ール ド は、 補助出力信号 (Aux_Output[3:0]) が使用 さ れ る 際の制御用です。 補助出力 は、 読み出 し お よ び書 き 込み コ マ ン ド 中にア ク テ ィ ブにな る よ う 設定で き ます。 タ イ ミ ン グ オ フ セ ッ ト お よ び期 間は、 497 ページの表 4-23 で説明す る 属性で制御 さ れます。 こ れ ら の出力は、 MIG ツールで生成 さ れた LPDDR2 イ ン タ ーフ ェ イ ス では使用 さ れません (0 に設定)。 • Low Index (Bank) : 専用 PHY には内部カ ウ ン タ ーがあ り 、 こ の フ ィ ール ド を使用 し てデー タ コ マ ン ド に 8 つの LPDDR2 SDRAM バン ク の う ちいずれを使用する か を指定 し ます。MIG IP コ アは こ れ ら の内部カ ウ ン タ ーを使用 し ないため、 こ の フ ィ ール ド 値はすべて 0 にな り ます。 • Reserved : 必ず 2'b00 に設定 し ます。 • Data Offset : こ の フ ィ ール ド は、 PHY コ マ ン ド に基づいてデー タ IN/OUT_FIFO が読み出 し ま たは書 き 込み さ れ る タ イ ミ ン グの制御用です。 デー タ オ フ セ ッ ト は、 LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し てい ます。 • Seq : こ の フ ィ ール ド にはシーケ ン ス番号が含まれてお り 、 PLL か ら の Sync_In 制御信号 と 併用 さ れて、 それぞ れの制御キ ュ ーか ら 読み出 さ れた コ マ ン ド を実行す る 複数の PHY 制御ブ ロ ッ ク を同期 さ せます。指定 さ れた Seq 値を持つ コ マ ン ド は、 Seq フ ィ ール ド で定義 さ れた特定段階において、 PHY 制御ブ ロ ッ ク 内の コ マ ン ド パーサー に よ っ て実行 さ れ る 必要があ り ます。 • CAS Slot : 書 き 込み/読み出 し (CAS) コ マ ン ド 用に メ モ リ コ ン ト ロ ー ラ ーで使用 さ れ る ス ロ ッ ト 番号です。 • Event Delay : 専用 PHY には内部カ ウ ン タ ーがあ り 、 こ の フ ィ ール ド を使用 し て、 こ れ ら のカ ウ ン タ ーに ロ ー ド さ れ る 遅延値を指定す る 必要があ り ます。 イ ベン ト 遅延は、 LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て い ます。 MIG IP コ アは こ れ ら の内部カ ウ ン タ ーを使用 し ないため、 こ のフ ィ ール ド 値はすべて 0 にな り ます。 • Activate Precharge : 専用 PHY には内部カ ウ ン タ ーがあ り 、 こ の フ ィ ール ド を使用 し て、 イ ベン ト 遅延カ ウ ン タ ー に関連 し てい る LPDDR2 コ マ ン ド タ イ プを指定 し ます。 有効な値は次の と お り です。 ° 00 : 動作な し ° 01 : ア ク テ ィ ブ化 ° 10 : プ リ チ ャ ージ ° 11 : プ リ チ ャ ージ/ア ク テ ィ ブ化 MIG IP コ アは こ れ ら の内部カ ウ ン タ ーを使用 し ないため、 こ のフ ィ ール ド 値はすべて 0 にな り ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 496 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-23 : 補助出力の属性 属性 種類 説明 MC_AO_WRLVL_EN Vector[3:0] PC_Enable_Calib[1] 信号 で 指定 さ れ た ラ イ ト レ ベ リ ン グ 中 に、 関連す る Aux_Output を 有効にす る か を 指定 し ま す。 た と えば、 ラ イ ト レ ベ リ ン グ中に ODT を有効にする かは、 こ の属性で指定 し ます。 WR_CMD_OFFSET_0 Vector[5:0] 関連す る 書 き 込み コ マ ン ド が実行 さ れ て補助出力が有効に な っ た後の期間 を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ま す。 た と えば、 こ の属性を使用す る と ODT 信号が正 し い ク ロ ッ ク サ イ ク ルでアサー ト さ れ る た め、 JEDEC ODTLon お よ び ODTLoff の仕様を満たす こ と がで き ます。 WR_DURATION_0 Vector[5:0] 書 き 込み コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 た と えば、 こ の属性を使 用す る と ODT 信号が正 し い ク ロ ッ ク サ イ ク ルで アサー ト さ れ る ため、 JEDEC ODTLon お よ び ODTLoff の仕様を満たす こ と がで き ます。 RD_CMD_OFFSET_0 Vector[5:0] 関連す る 読み出 し コ マ ン ド が実行 さ れ て補助出力が有効に な っ た後の期間 を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_DURATION_0 Vector[5:0] 読 み 出 し コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_CMD_OFFSET_1 Vector[5:0] 関連す る 書 き 込み コ マ ン ド が実行 さ れ て補助出力が有効に な っ た後の期間 を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_DURATION_1 Vector[5:0] 書 き 込み コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_CMD_OFFSET_1 Vector[5:0] 関連す る 読み出 し コ マ ン ド が実行 さ れ て補助出力が有効に な っ た後の期間 を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_DURATION_1 Vector[5:0] 読 み 出 し コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_CMD_OFFSET_2 Vector[5:0] 関連す る 書 き 込み コ マ ン ド が実行 さ れ て補助出力が有効に な っ た後の期間 を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_DURATION_2 Vector[5:0] 書 き 込 み コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_CMD_OFFSET_2 Vector[5:0] 関連す る 読み出 し コ マ ン ド が実行 さ れ て補助出力が有効に な っ た後の期間 を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_DURATION_2 Vector[5:0] 読 み 出 し コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_CMD_OFFSET_3 Vector[5:0] 関連す る 書 き 込み コ マ ン ド が実行 さ れ て補助出力が有効に な っ た後の期間 を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 WR_DURATION_3 Vector[5:0] 書 き 込み コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_CMD_OFFSET_3 Vector[5:0] 関連す る 読み出 し コ マ ン ド が実行 さ れ て補助出力が有効に な っ た後の期間 を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 RD_DURATION_3 Vector[5:0] 読 み 出 し コ マ ン ド 用 に 補助出力 を ア ク テ ィ ブ に 維持す る 期間 を SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 CMD_OFFSET Vector[5:0] 関連す る コ マ ン ド が実行 さ れて AO_TOGGLE で指定 さ れた補助出力が ト グルす る 期間を LPDDR2 SDRAM の ク ロ ッ ク サ イ ク ルを単位 と し て指定 し ます。 AO_TOGGLE Vector[3:0] ト グ ル モ ー ド に な る 補助出力 を 指定 し ま す。 ト グ ル モ ー ド の 補助出力は、 CMD_OFFSET が失効 し た後に PHY 制御ワ ー ド で関連す る AO ビ ッ ト がセ ッ ト さ れ る と 反転 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com LPDDR2 LPDDR2 LPDDR2 LPDDR2 LPDDR2 LPDDR2 LPDDR2 497 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 同期モー ド が使用 さ れ、 PHY_Clk は LPDDR2 SDRAM ク ロ ッ ク の 1/2 の周波数であ る ため、 PHY 制御ブ ロ ッ ク には 有効にな っ ていないカ ウ ン タ ーがい く つかあ り ます。 PHY_Clk のすべての立ち上が り エ ッ ジで、 メ モ リ の 2 ク ロ ッ ク サ イ ク ル相当の コ マ ン ド 情報お よ び 2 ビ ッ ト の Seq カ ウ ン ト 値を含む PHY 制御ワ ー ド が PHY へ送信 さ れます。 制御 FIFO の ラ イ ト イ ネーブル信号は常にアサー ト さ れ る ため、 同期モー ド の動作では有効な コ マ ン ド 間に NOP コ マ ン ド が発行 さ れ ま す。 Seq カ ウ ン ト 値は、 4 コ マ ン ド シーケ ン ス ご と に増加 し ます。 Seq フ ィ ール ド を使用 し て、 複数の I/O バン ク の PHY 制御ブ ロ ッ ク を同期 さ せます。 PHY 制御ブ ロ ッ ク は、 PHASER_OUT と 連動 し て読み出 し コ マ ン ド や書 き 込み コ マ ン ド 中に書 き 込み DQS 信号お よ び DQ/DQS 3 ス テー ト 制御信号を生成 し ます。 PHY cmd フ ィ ール ド は、 2 つの コ マ ン ド のシーケ ン ス の状態 (書き 込み/読み出 し /ど ち ら で も ない) に基づいて設定 さ れます。 コ マ ン ド シーケ ン ス に書 き 込み要求があ る 場合、 こ のフ ィ ール ド は書き 込みが設定 さ れます。 コ マ ン ド シー ケ ン ス に読み出 し 要求があ る 場合は読み出 し に、 ど ち ら の要求 も 存在 し ない場合は、 ND (non-data) に設定 さ れ ます。 2 つの コ マ ン ド のシーケ ン ス内では書 き 込みお よ び読み出 し 要求は発行で き ません。 コ マ ン ド OUT_FIFO が読み出 さ れて IOLOGIC へ転送 さ れ る タ イ ミ ン グは、 PHY 制御 ワ ー ド の Control Offset フ ィ ール ド で定義 さ れ ま す。 コ マ ン ド OUT_FIFO に対 し て読み出 さ れ る デー タ OUT_FIFO の タ イ ミ ン グは、 Data Offset フ ィ ール ド で定義 さ れます。 読み出 し コ マ ン ド の場合、 デー タ オ フ セ ッ ト 値は 0 に設定 さ れます。 PHY 制御ブ ロ ッ ク では、 読み出 し が必要な時点で、 書 き 込み コ マ ン ド に関連す る 有効なデー タ が DQ OUT_FIFO 内に既に存在 し てい る と 想定 さ れます。 コ マ ン ド パス キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク ま たは メ モ リ コ ン ト ロ ー ラ ーで要求 さ れ る コ マ ン ド は、PHY 制御ワ ー ド と し て PHY 制 御ブ ロ ッ ク へ送信 さ れ る と 同時に、 ア ド レ ス/制御/ コ マ ン ド OUT_FIFO に入力 さ れます。 PHY_Clk はそれぞれ、 メ モ リ ク ロ ッ ク の 2 サ イ ク ル分を必要 と する ため、 ア ド レ ス/制御/ コ マ ン ド 信号は値を ク ロ ッ ク の 2 サ イ ク ル間保持す る 必要があ り ます。 3 つの コ マ ン ド があ り ます。 • 書 き 込み コ マ ン ド には、 シ ン プルな書 き 込み コ マ ン ド と オー ト プ リ チ ャ ージ付 き の書 き 込み コ マ ン ド が あ り ま す。 PHY 制御 ワ ー ド の PHY コ マ ン ド 値 は、 ど ち ら の 書 き 込み コ マ ン ド も 同 じ (0x01) で す。 異 な る 点は、 OUT_FIFO へ入力 さ れ る ア ド レ ス値です。 オー ト プ リ チ ャ ージ付 き 書 き 込み コ マ ン ド の場合、 CK の立ち下が り エ ッ ジにおけ る ア ド レ ス ビ ッ ト CA[0] は 1 と な り ます。 • 読み出 し コ マ ン ド には、 シ ン プルな読み出 し コ マ ン ド と オー ト プ リ チ ャ ージ付 き の読み出 し コ マ ン ド が あ り ま す。 PHY 制御 ワ ー ド の PHY コ マ ン ド 値 は、 ど ち ら の 読み出 し コ マ ン ド も 同 じ (0x11) で す。 異 な る 点は、 OUT_FIFO へ入力 さ れ る ア ド レ ス値です。 オー ト プ リ チ ャ ージ付 き 読み出 し コ マ ン ド の場合、 CK の立ち下が り エ ッ ジにおけ る ア ド レ ス ビ ッ ト CA[0] は 1 と な り ます。 • ND (non-data) コ マ ン ド には、 Mode Register Set (モー ド レ ジ ス タ の設定)、 Refresh ( リ フ レ ッ シ ュ )、 Precharge (プ リ チ ャ ージ)、 Precharge All Banks (全バン ク をプ リ チ ャ ージ)、 Activate (ア ク テ ィ ブ化)、 お よ び No Operation (動作 な し ) があ り ます。 PHY 制御 ワ ー ド の PHY コ マ ン ド 値は、 すべて同 じ (0x100) です。 OUT_FIFO へ入力 さ れ る ca 値は、 コ マ ン ド に よ っ て異な り ます。 図 4-48 に、 ア ド レ ス/制御/ コ マ ン ド パ ス のブ ロ ッ ク 図を示 し ます。 ア ド レ ス/制御/ コ マ ン ド は DDR 信号であ る ため、 OSERDES はシ ン グル デー タ レー ト モー ド で使用 さ れ ます。 PHY 制御 ワ ー ド は Phy_Ctl_Wr_N 信号で書 き 込みが 有効にな り 、 OUT_FIFO への入力は PHY_Cmd_WrEn 信号で有効にな り ます。 ア ド レ ス/ コ マ ン ド の専用 PHY は、 必 要であればデフ ォ ル ト で 0 ま たは 1 に設定で き る ため、 PHY 制御ブ ロ ッ ク への有効な コ マ ン ド の間に長い待機時間 があ る 場合で も 、 FPGA ロ ジ ッ ク は NOP コ マ ン ド を発行す る 必要はあ り ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 498 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-48 &PG%\WH*URXS% )URP 3+< &RQWURO %ORFN (QDEOHB&DOLE>@ %XUVWB3HQGLQJ 5DQN6HO>@ 3KDVHU '46>@ &76>@ '76>@ 5G(QDEOH 2XW% 3KDVH5HI 0HPB5HIB&ON 1RWH&.LVLPSOHPHQWHGDVDQ2''5FORFNHGE\ ''5B&ONGHOD\HG 2&ON[ 2&ON[ 2&ON'LY )UHT5HI ''5B&ONGHOD\HGB% 2%8) 2''5%\WH *URXS% 3+<B&PGB$OPRVW)XOO 3+<B&PGB)XOO $( 5&ON (PSW\ 2XWB),)2B% 5(Q :(Q ' 3+<B&$>@3+<B&6B1 :&ON )XOO $) 2%8) 4 5$6B1&$6B1:(B1%$>@$>@ ''5B&ONB% 3+<B&ON 26(5'(6 %\WH*URXS ''5B'LY&ONB% 3+<B&PGB:U(Q &Ƶůů ŵƉƚLJ tŶ ZŶ ZůŬ tůŬ ,QB),)2B$ 4 )URP 3+< &RQWURO %ORFN & 2)B5(B% (QDEOHB&DOLE>@ %XUVWB3HQGLQJ 5DQN6HO>@ ,&ON[ ,&ON'LY 5&ON 3KDVHU ,Q% 3KDVH5HI ' )UHT5HI %8),2 ''5B'LY5B&ON :ULWH(QDEOH &PG%\WH*URXS$ )URP 3+< &RQWURO %ORFN 2&ON[ 2&ON[ 2&ON'LY (QDEOHB&DOLE>@ %XUVWB3HQGLQJ 5DQN6HO>@ 3KDVHU 2XW$ 3KDVH5HI '46>@ &76>@ '76>@ 5G(QDEOH )UHT5HI 5&ON (PSW\ $( 2XWB),)2B$ 5(Q :(Q ' :&ON )XOO $) 2%8) $>@ 4 ''5B&ONB$ 26(5'(6 %\WH*URXS ''5B'LY&ONB$ )URP 3+< &RQWURO %ORFN (QDEOHB&DOLE>@ %XUVWB3HQGLQJ 5DQN6HO>@ 3KDVH5HI 3KDVHU ,Q$ )UHT5HI )XOO $) :(Q :&ON $( ,QB),)2B$ 5(Q 4 5&ON (PSW\ 2)B5(B$ ' ,&ON[ ,&ON'LY 5&ON :ULWH(QDEOH 図 4-48 : ア ド レ ス/ コ マ ン ド パスのブ ロ ッ ク 図 図 4-49 に、 OUT_FIFO 出力か ら FPGA ピ ン ま でのア ド レ ス/ コ マ ン ド パ ス の タ イ ミ ン グ図を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 499 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-49 >< ></sϮ ŵĚϭ&͕ĐŵĚϭZ ŵĚϯ&͕ĐŵĚϯZ ŵĚϮ&͕ĐŵĚϮZ ŵĚϰ&͕ĐŵĚϰZ ͕^ͺE /ŶƉƵƚƐƚŽK^Z^ŝŶZŵŽĚĞ ϭZ ϭ & ϮZ Ϯ& ϯZ ϯ& ϰZ ϰ& K^Z^KƵƚƉƵƚĨŽƌ 図 4-49 : ア ド レ ス/ コ マ ン ド の タ イ ミ ング図 デー タ パス デー タ パ ス には、 書 き 込みデー タ パ ス と 読み出 し デー タ パ ス があ り ます。 7 シ リ ーズ FPGA のデー タ パ ス は、 FPGA ロ ジ ッ ク と イ ン タ ーフ ェ イ スす る IN/OUT_FIFO を使用 し た専用 ロ ジ ッ ク に完全に実装 さ れてい ます。 IN/OUT_FIFO は、 ク ロ ッ ク ド メ イ ン を ま た ぐ ほかに、 デー タ パ ス のシ リ ア ラ イ ズ/デシ リ ア ラ イ ズ を提供 し てい る ため、 FPGA ロ ジ ッ ク は LPDDR2 SDRAM ク ロ ッ ク の 1/2 の周波数ま での低速動作が可能です。 図 4-50 に、 デー タ パ ス のブ ロ ッ ク 図 を示 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 500 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-50 ĂƚĂLJƚĞ'ƌŽƵƉ KƵƚͺƵƌƐƚͺWĞŶĚŝŶŐϯ KƵƚͺZĂŶŬͺϭ͗Ϭ WŚĂƐĞƌ KƵƚ WŚĂƐĞZĞĨ &ƌĞƋͺZĞĨͺůŬ KůŬϭdž KůŬϭdžϵϬ KůŬŝǀ ŶĂďůĞͺĂůŝďϭ͗Ϭ ƵƌƐƚͺWĞŶĚŝŶŐ ZĂŶŬ^Ğůϭ͗Ϭ EŽƚĞ͗<ŝƐŝŵƉůĞŵĞŶƚĞĚĂƐĂ^Z K&&ĐůŽĐŬĞĚďLJZͺůŬ Kh& Y^ϭ͗Ϭ d^ϭ͗Ϭ d^ϭ͗Ϭ ZĚŶĂďůĞ &ƌĞƋZĞĨ Zͺ< K&& ZͺŝǀZͺůŬ W,zͺK&ͺůŵŽƐƚ&Ƶůů Y^ͺ Y^dƌŝ^ƚĂƚĞͺ Ydƌŝ^ƚĂƚĞͺ ͺKƵƚϭϱ͗ϴ͕Dϭ tƌůŬͺ tƌůŬͺϵϬͺ tƌŝǀůŬͺ ŵƉƚLJ KƵƚͺ&/&Kͺ ZůŬ Y ZŶ tŶ W,zͺDϭ͗Ϭ͕ W,zͺͺKƵƚϭϱ͗Ϭ tůŬ &Ƶůů & W,zͺK&ͺ&Ƶůů W,zͺůŬ Kh& K^Z^ LJƚĞ'ƌŽƵƉ K&ͺZͺ W,zͺtƌŶ /ŶͺZĂŶŬͺϭ͗Ϭ tůŬ tŶ ZŶ ZĚŝǀůŬͺ ŶĂďůĞͺĂůŝďϭ͗Ϭ ƵƌƐƚͺWĞŶĚŝŶŐ ZĂŶŬ^Ğůϭ͗Ϭ /ůŬϭdž /ůŬŝǀ ZůŬ WŚĂƐĞƌ /Ŷ WŚĂƐĞZĞĨ /^Z^ ZĚůŬͺ LJƚĞ'ƌŽƵƉ ͺ/Ŷϭϱ͗ϴ /&ͺtͺ ƚŝĞĚƚŽϭ ϭΖďϭ /ŶͺƵƌƐƚͺWĞŶĚŝŶŐϯ /h& &Ƶůů ŵƉƚLJ /Ŷͺ&/&Kͺ Y ZůŬ W,zͺͺ/Ŷϭϱ͗Ϭ & Y^ͺ/Ŷͺϭ tƌŝƚĞŶĂďůĞ &ƌĞƋZĞĨ ĂƚĂLJƚĞ'ƌŽƵƉ KƵƚͺƵƌƐƚͺWĞŶĚŝŶŐϮ KƵƚͺZĂŶŬͺϭ͗Ϭ ŶĂďůĞͺĂůŝďϭ͗Ϭ ƵƌƐƚͺWĞŶĚŝŶŐ ZĂŶŬ^Ğůϭ͗Ϭ WŚĂƐĞƌ KƵƚ WŚĂƐĞZĞĨ ŵƉƚLJ & &Ƶůů KƵƚͺ&/&Kͺ ZůŬ Y ZŶ tŶ tůŬ Kh& Y^ϭ͗Ϭ d^ϭ͗Ϭ d^ϭ͗Ϭ ZĚŶĂďůĞ &ƌĞƋZĞĨ EŽƚĞ͗Z^dͺEŝƐŝŵƉůĞŵĞŶƚĞĚĂƐĂ ^ZK&&ĐůŽĐŬĞĚďLJZͺůŬ KůŬϭdž KůŬϭdžϵϬ KůŬŝǀ ZͺZ^dͺE K&& ZͺŝǀZͺůŬ Y^ͺ Y^dƌŝ^ƚĂƚĞͺ Ydƌŝ^ƚĂƚĞͺ ͺKƵƚϳ͗Ϭ͕DϬ tƌůŬͺ tƌůŬͺϵϬͺ tƌŝǀůŬͺ Kh& K^Z^ LJƚĞ'ƌŽƵƉ K&ͺZͺ ZůŬ /h& &Ƶůů & ZŶ tŶ /Ŷͺ&/&Kͺ Y tůŬ ŵƉƚLJ Y^ͺ/ŶͺϬ /^Z^ ZĚůŬͺ LJƚĞ'ƌŽƵƉ ͺ/Ŷϳ͗Ϭ ZĚŝǀůŬͺ ϭΖďϭ /&ͺtͺ ƚŝĞĚƚŽϭ WŚĂƐĞƌ /Ŷ /ůŬϭdž /ůŬŝǀ ZůŬ WͺŶĂďůĞͺĂůŝďϭ͗Ϭ /ŶͺƵƌƐƚͺWĞŶĚŝŶŐϮ /ŶͺZĂŶŬͺϭ͗Ϭ ŶĂďůĞͺĂůŝďϭ͗Ϭ ƵƌƐƚͺWĞŶĚŝŶŐ ZĂŶŬ^Ğůϭ͗Ϭ WŚĂƐĞZĞĨ &ƌĞƋZĞĨ tƌŝƚĞŶĂďůĞ 図 4-50 : デー タ パスのブ ロ ッ ク 図 各 IN/OUT_FIFO には、メ モ リ エ レ メ ン ト の ス ト レージ ア レ イ が 10 個のグループ (8 ビ ッ ト × 8 エン ト リ ) と し て配列 さ れてい ます。 書 き 込み動作では、 OUT_FIFO がキ ャ リ ブ レーシ ョ ン ロ ジ ッ ク ま たは メ モ リ コ ン ト ロ ー ラ ーか ら 各 DQ ビ ッ ト の 4 ビ ッ ト デー タ を受信 し 、PHY_Clk ク ロ ッ ク ド メ イ ン (LPDDR2 SDRAM ク ロ ッ ク の 1/2 の周波数) で ス ト レージ ア レ イ にデー タ を書 き 込みます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 501 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン OUT_FIFO は、 OCLKDIV ド メ イ ン (LPDDR2 SDRAM ク ロ ッ ク の 1/2 の周波数) で OSERDES へ 4 ビ ッ ト デー タ を出 力 し ます。 さ ら に OSERDES は、 OCLK ド メ イ ンで 4 ビ ッ ト デー タ を シ リ アル DDR デー タ ス ト リ ームにシ リ ア ラ イ ズ し ます。 PHASER_OUT ク ロ ッ ク 出力 OCLK を使用 し て DQ ビ ッ ト へ ク ロ ッ ク を供給 し 、 ま た OCLK_DELAYED 出 力を使用 し て DQS へ ク ロ ッ ク を供給す る こ と で、 書 き 込み時の DQS と それに付随す る DQ ビ ッ ト 間に 90 度の位相 オ フ セ ッ ト を実現 し ます。 IN_FIFO (図 4-49) は、 バ イ ト グループの ISERDES でキ ャ プチ ャ し た各 DQ ビ ッ ト か ら 4 ビ ッ ト デー タ を受信 し 、 ス ト レージ ア レ イ に書 き 込みます。 こ の 4 ビ ッ ト のパ ラ レ ル デー タ が PHY_Clk ク ロ ッ ク ド メ イ ン (LPDDR2 SDRAM ク ロ ッ ク の 1/2 の周波数) で出力 さ れ ます。 IN_FIFO か ら の各読み出 し サ イ ク ルには、 バース ト 長 8 の メ モ リ 読み出 し ト ラ ンザ ク シ ョ ンで読み出 さ れ る バ イ ト デー タ の半分が含まれます。 つま り 、 バース ト 長 8 のデー タ を取得す る に は 2 サ イ ク ルが必要です。 LPDDR2 SDRAM ク ロ ッ ク の 1/2 の周波数で FPGA ロ ジ ッ ク を動作 さ せた場合、 専用 PHY への入力デー タ バ ス幅は、 LPDDR2 SDRAM のデー タ バ ス幅の 4 倍にな り ます。 キ ャ リ ブ レーシ ョ ンお よび初期化 メ モ リ の初期化 PHY は、 シ ス テ ム リ セ ッ ト がデ ィ アサー ト さ れた後、 メ モ リ に対 し て JEDEC® 準拠の LPDDR2 初期化シーケ ン ス を 実行 し ます。 各 LPDDR2 SDRAM には一連のモー ド レ ジ ス タ があ り 、 MRW (モー ド レ ジ ス タ 書き 込み) コ マ ン ド でア ク セ ス し ます。 こ れ ら のモー ド レ ジ ス タ では、 バース ト 長、 読み出 し お よ び書き 込み CAS レ イ テ ン シな ど、 さ ま ざ ま な SDRAM の動作を定義 し ます。 こ れ ら の レ ジ ス タ にプ ロ グ ラ ム さ れ る ビ ッ ト 値は PHY で設定可能であ り 、 最上 位の HDL パ ラ メ ー タ ー (例 : BURST_MODE (BL)、 BURST_TYPE、 CAS レ イ テ ン シ (CL)、 CAS 書き 込みレ イ テ ン シ (CWL)、 オー ト プ リ チ ャ ージ用の書 き 込み リ カバ リ (tWR) な ど) で判断 さ れます。 リ ー ド レ ベ リ ング ラ イ ト レベ リ ン グ段階 1 は、 デー タ キ ャ プチ ャ の最初の段階で読み出 し 有効デー タ ウ ィ ン ド ウ の中央に読み出 し ス ト ロ ーブ信号を配置す る ために必要です。 LPDDR2 SDRAM な ど の ス ト ロ ーブ ベー ス の メ モ リ イ ン タ ーフ ェ イ ス で は、 2 番目の転送段階で別のパル ス が必要です。 こ の信号は、 7 シ リ ーズ FPGA では PHASER_IN ブ ロ ッ ク か ら 提供 さ れます。 こ の段階では、 PHASER_IN 段階 2 の細精度遅延 ラ イ ン を使用 し て、 デス テ ィ ネーシ ョ ン ク ロ ッ ク を有効 な DQ ウ ィ ン ド ウ の中央に位置 さ せます。 デス テ ィ ネーシ ョ ン ク ロ ッ ク はフ リ ー ラ ン ニ ン グ FREQ_REF ク ロ ッ ク で す。 PHASER_IN は、 ICLK お よ び ICLKDIV の 2 つの ク ロ ッ ク を提供 し ます。 ICLK は段階 2 の遅延出力で、 ICLKDIV は ICLK を 2 分周 し 、 こ れ と 立ち上が り エ ッ ジが揃っ た ク ロ ッ ク です。 1 つの PHASER_IN ブ ロ ッ ク の ICLK お よ び ICLKDIV 出力 を 使用 し て、 1 つのバ イ ト グ ループ内のすべ て の DQ ISERDES へ ク ロ ッ ク を供給 し ます。 ICLKDIV も 読み出 し DQ IN_FIFO の書 き 込み ク ロ ッ ク と し て使用 し ま す。 1 つ の PHASER_IN ブ ロ ッ ク は、 12 の I/O か ら な る 1 つのグループに関連付け ら れてい ます。 7 シ リ ーズ FPGA の各 I/O バン ク には 4 つの PHASER_IN ブ ロ ッ ク があ る ため、 1 つのバン ク に LPDDR2 SDRAM の 4 バ イ ト を置 く こ と がで き ます。 イ ン プ リ メ ン テーシ ョ ンの詳細 リ ー ド レベ リ ン グの こ の段階では、 1 バ イ ト ずつ各 DQS を その有効バ イ ト ウ ィ ン ド ウ の中央に揃え ます。 こ の段階 では最初に指定の LPDDR2 SDRAM ア ド レ ス位置に対 し て定義済みのデー タ パ タ ーン を使用 し た書 き 込み コ マ ン ド を発行 し ます。 使用す る 書 き 込みデー タ パ タ ーンは、 FF、 00、 FF、 00、 FF、 00、 FF、 00 の静的パ タ ーンです。 こ の 書 き 込み コ マ ン ド の後、 連続 し た読み出 し コ マ ン ド を発行 し 、 書 き 込み先 と 同 じ ア ド レ ス位置か ら 連続 し てデー タ を 読み出 し ます。 エ ッ ジが検出 さ れ る ま で、 アルゴ リ ズ ムがバ イ ト 内のすべての DQ ビ ッ ト に対 し て同時に PHASER_IN 段階 2 の精細 度遅延 タ ッ プ を イ ン ク リ メ ン ト し ま す。 STG2 精細度 タ ッ プは、 エ ッ ジが検出 さ れ る ま で イ ン ク リ メ ン ト さ れ ま す。 エ ッ ジが検出 さ れない場合の STG2 精細度 タ ッ プは初期位置にデ ク リ メ ン ト さ れます。 キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク は IN_FIFO か ら デー タ を読み出 し 、 比較す る ために記録 し てお き ます。 こ の段階では、 デー タ パ タ ーンのシーケ ン ス が重要です。 細精度遅延 ラ イ ンの タ ッ プ 0 での DQS と デー タ ウ ィ ン ド ウ の最初の位置 関係はわか っ てい ません。 アルゴ リ ズ ムは、 IDELAY タ ッ プ を使用 し て、 DQ ウ ィ ン ド ウ のエ ッ ジが検出 さ れ る ま で DQS 信号を遅延 さ せます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 502 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン デー タ ウ ィ ン ド ウ を検出す る には、同 じ タ ッ プ値で複数サ イ ク ルにわた っ てデー タ を読み出 し て平均を求め る アルゴ リ ズ ム を使用 し ます。 サ ンプ リ ン グ サ イ ク ル数は 214 に設定 さ れてい ます。 平均化以外に も 、 DQS が不安定な ジ ッ タ ー領域に位置 し てい る か ど う かカ ウ ン タ ーを使用 し て ト ラ ッ キ ン グ し ます。 カ ウ ン タ ー値が 3 の場合は、 タ ッ プ を 3 回 イ ン ク リ メ ン ト し て も サンプ リ ン グ さ れたデー タ 値が変わ ら なか っ た こ と を意味 し てお り 、 DQS が安定領域にあ る と 考え ら れます。 直前の値 と 異な る 値が検出 さ れ る と 、 カ ウ ン タ ー値は 0 に リ セ ッ ト さ れます。 次に、 デー タ 不一致が検出 さ れ る ま で IDELAY の タ ッ プ値を 1 タ ッ プずつ イ ン ク リ メ ン ト し ます。 必要な安定時間が 経過 し た後、 IN_FIFO か ら 読み出 し たデー タ を直前の タ ッ プ値で記録 し たデー タ と 比較 し ます。 こ の比較を、 デー タ 不一致が検出 さ れ、 有効なデー タ ウ ィ ン ド ウ のエ ッ ジが検出 さ れた こ と が示 さ れ る ま で繰 り 返 し ます。 安定 し た カ ウ ン タ ー値が定数 3 にな っ た と き の IDELAY タ ッ プ数が有効ウ ィ ン ド ウ です。 こ のアルゴ リ ズ ムに よ り 、 不安定なジ ッ タ ー領域で有効エ ッ ジ を誤検出す る 可能性が抑え ら れます。 デー タ ウ ィ ン ド ウ に関す る DQS の初期位置については 3 つの場合があ り ます。 DQS の最初の有効な立ち上が り エ ッ ジは、 前のデー タ ウ ィ ン ド ウ内、 現在のデー タ ウ ィ ン ド ウ の左側にあ る ノ イ ズ領域、 ま たは現在のデー タ ウ ィ ン ド ウ内ではあ る が ノ イ ズ領域の直後、 のいずれかです。 PHASER_IN の細精度遅延 ラ イ ンには 64 タ ッ プあ り ます( こ の タ ッ プはビ ッ ト 時に相当す る ため、 タ ッ プ精度は周波 数に よ っ て異な る )。 ま ず、 PHASER_IN 精細度遅延 ラ イ ン を使用 し て右側の ノ イ ズ領域の開始を検出 し ま す。 最初の 2 つのケース では、 右側の ノ イ ズ領域は 64 タ ッ プ未満の PHASER_IN 精細度 タ ッ プの イ ン ク リ メ ン ト で検出 さ れます。 FINE タ ッ プで右 側の ノ イ ズ領域が検出 さ れた ら 、 IDELAY タ ッ プを使用 し て、 DATA を遅延 さ せる こ と で左側の ノ イ ズ領域の開始を 検出 し ます。 3 番目のシナ リ オでは、 400MHz 未満の周波数で動作 し てお り 、 PHASER_IN は DIV2 モー ド で動作 し てい る ため、 64 タ ッ プ で 右 側 の ノ イ ズ 領 域 を 検 出 す る こ と は で き ま せ ん。 こ の た め、 左側 の ノ イ ズ 領域 に 近 い 位置 に あ り 、 PHASER_IN 精細度 タ ッ プ値を初期位置に戻す と 仮定 し ます。 PHASER_IN 精細度 タ ッ プの イ ン ク リ メ ン ト /デ ク リ メ ン ト の後、 IDELAY タ ッ プ を使用 し て、 両方のエ ッ ジ を検出す る ために DQ を遅延 さ せます (3 番目のケース)。 両エ ッ ジが検出 さ れ る と 、 最終的な DQS タ ッ プ値は次の よ う に算出 さ れます。 first_edge_taps + (second_edge_taps – first_edge_taps)/2 片方のエ ッ ジ し か検出 さ れない場合、 最終的な DQS タ ッ プ値は次の よ う に算出 さ れます。 (first_edge_taps + (31 – first_edge_taps)/2) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 503 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 4-51 に、 デー タ 有効 ウ ィ ン ド ウ に対 し て DQS が中央に位置 し てい る タ イ ミ ン グ図を示 し ます。 X-Ref Target - Figure 4-51 ,QLWLDO'46 ,QLWLDO'4%LWV '46DW/HIW:LQGRZ(GJH '4%LWV'HOD\HGXVLQJ ,'(/$<7DSV '46&HQWHUHGLQ9DOLG :LQGRZ ; 図 4-51 : リ ー ド レ ベ リ ング段階 1 の タ イ ミ ン グ図 読み出 し 有効のキ ャ リ ブ レーシ ョ ン 読み出 し 有効のキ ャ リ ブ レーシ ョ ン中に、 PHY は遅延カ ウ ン ト を生成 し 、 正 し い読み出 し デー タ を用いて内部の読み 出 し 有効を揃え ます。 LPDDR2 では、 IN_FIFO への WREN は 1 に接続 さ れ、 IN_FIFO に対 し て常に書 き 込みが実行 さ れ ま す。 RDEN は、 反転 し て 保持 さ れ た IF_EMPTY に接続 さ れ ま す。 つ ま り 、 RDEN は常に読み出 し を 行い、 IN_FIFO には 1 つのエン ト リ があ り ます。 こ の よ う な ソ フ ト キ ャ リ ブ レーシ ョ ンは、 SDRAM か ら の読み出 し デー タ が正 し いか を判断す る RD_VALID を生成する ために実行 さ れます。 こ の段階では、 PHY は特定のバン ク 、 行、 お よ び イ ン ク リ メ ン タ ル列ア ド レ ス に対す る 3 つの連続す る 書き 込みを 2 回実行 し ます。 最初の書 き 込みの書 き 込みデー タ パ タ ーンは、 FF、 FF、 FF、 FF、 FF、 FF、 FF、 FF で、 2 回目の書 き 込みデー タ パ タ ーンは 55、 55、 55、 55、 55、 55、 55、 55 です。 パ タ ーン一致に使用 さ れ る デー タ は 55、 55、 55、 55、 55、 55、 55、 55 です。 読み出 し 中に、 PHY は連続す る 読み出 し を 3 回実行 し ます。 最初 と 3 回目の連続読み出 し のア ド レ ス には、 1 回目の 連続書 き 込みにおけ る 2 番目の列ア ド レ ス を使用 し ます。 2 回目のア ド レ ス には、 SDRAM に対 し て前に実行 さ れた、 2 回目の連続書 き 込みにおけ る 2 番目の列ア ド レ ス を使用 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 504 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 読み出 し 有効ス テー ト マシ ンは読み出 し が実行 さ れ る のを待機 し 、 パ タ ーンが一致す る か を確認 し ます。 その際に、 ス テー ト マシ ンはサ イ ク ル数を カ ウ ン ト し 、 パ タ ーン一致 (55、 55、 55、 55、 55、 55、 55、 55 の正 し いデー タ ) を検 出 し ます。 ス テー ト マシ ンが 31 の遅延カ ウ ン ト でのパ タ ーン一致を検出 し なか っ た場合、 bitslip のカ ウ ン ト 値を イ ン ク リ メ ン ト し 、 待機 し て さ ら に 3 つの連続読み出 し を発行 し ます。 こ のプ ロ セ ス は、 正 し いパ タ ーンが検出 さ れて 読み出 し 遅延カ ウ ン ト 値が最終決定 さ れ る か、 ま たは bitslip の カ ウ ン ト 値が 3 以下 と な る ま で繰 り 返 し 実行 さ れ ま す。 bitslip のカ ウ ン ト 値が 3 を超え る と 、 キ ャ リ ブ レーシ ョ ン エ ラ ーが発生 し た と 考え ら れます。 bitslip のカ ウ ン ト 値は、 ISERDESE2 の出力か ら キ ャ プチ ャ さ れた読み出 し デー タ を シ フ ト し 、 そのデー タ を同一サ イ ク ル内で立ち上が り お よ び立ち下が り デー タ 全体 と 一致す る よ う に揃え る 目的で使用す る MUX の入力を選択す る た めに送 ら れます。 PRBS リ ー ド レ ベ リ ン グ こ の段階は、 リ ー ド レベ リ ン グ段階の後に実行 さ れます。 リ ー ド レベ リ ン グ キ ャ リ ブ レーシ ョ ン段階で決定 さ れ る IDELAY タ ッ プ設定が、 こ の段階の開始点 と し て使用 さ れます。 PRBS リ ー ド レベ リ ン グ段階に よ っ て、 リ ー ド レベ リ ン グ キ ャ リ ブ レーシ ョ ン段階で決定 さ れた PHASER_IN 精細度 タ ッ プ設定が変更 さ れ る こ と はあ り ません。 64 ビ ッ ト LFSR は、 こ のキ ャ リ ブ レ ーシ ョ ン段階が開始 し た と き に、 LPDDR2 SDRAM に書 き 込 ま れ る 長 さ 128 の PRBS シーケ ン ス を生成 し ます。 こ のシーケ ン ス はその後、 読み出 し デー タ の有効ウ ィ ン ド ウ を決定す る ために継続 し て リ ー ド バ ッ ク さ れます。 デー タ ウ ィ ン ド ウ を検出す る には、 同 じ タ ッ プ値で複数サ イ ク ルにわた っ てデー タ を読 み出 し て平均を求め る アルゴ リ ズ ム を使用 し ます。 サンプ リ ン グ サ イ ク ル数は 36'hFFFFFFFFF に設定 さ れてい ます。 こ のアルゴ リ ズ ムは、 リ ー ド レベ リ ン グ キ ャ リ ブ レーシ ョ ン段階 (初期 タ ッ プ値) で決定 さ れ る IDELAY タ ッ プ設定 か ら 開始 し 、 読み出 し デー タ と 予測デー タ を比較 し てデー タ の不一致が検出 さ れ る ま で 1 タ ッ プずつデ ク リ メ ン ト し ます。 予測デー タ は、 長 さ 128 の PRBS シーケ ン ス を SDRAM へ書 き 込むのに使用 し た同 じ 64 ビ ッ ト LFSR ロ ジ ッ ク で生 成 さ れます。 デー タ 不一致の タ ッ プ値は ( ウ ィ ン ド ウ の) 左端のエ ッ ジ と し て記録 さ れます。 次に こ のアルゴ リ ズ ムは初期 タ ッ プ値に イ ン ク リ メ ン ト し 、 初期 タ ッ プ値以降デー タ 不一致が検出 さ れ る か タ ッ プ値 が 31 にな る ま で、 イ ン ク リ メ ン ト ご と にエ ッ ジ検出を実行 し ます。 最後に、 検出 さ れたエ ッ ジに基づいて読み出 し デー タ の有効 ウ ィ ン ド ウ の中央を算出 し ます。 位相検出機能 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス デザ イ ンでは、 読み出 し DQ が対応す る DQS 信号に よ っ てサンプ リ ン グ さ れ ま せん。 代わ り に、 読み出 し DQ は差動信号の SDRAM CK/CK# と 同 じ 周波数で動作す る フ リ ー ラ ン ニ ン グ ク ロ ッ ク に よ っ てサンプ リ ン グ さ れます。フ リ ー ラ ン ニ ン グ ク ロ ッ ク にはすべての DQ ビ ッ ト に対応す る 1 つの ソ ース があ り ますが、 各バ イ ト デ ス テ ィ ネーシ ョ ン ク ロ ッ ク の出力は IODELAY エ レ メ ン ト を使用 し て個別に調整 さ れ ま す。 位相検出機能は最初に、 対応す る DQS 信号 と 位相が一致す る よ う に各バ イ ト デス テ ィ ネーシ ョ ン ク ロ ッ ク の位 相を固定 し ます (図 4-52)。 X-Ref Target - Figure 4-52 /3''5 6'5$0 '46 '46 ,6(5'(6 ,2'(/$< '46 ,2'(/$< 4 4 4 4 4 4 3KDVH 'HWHFWRU 5HDG %LWVOLS UGBGTVBGDWD>@ SGBFDOBGRQH FONBUV\QF %\WH&DSWXUH&ORFN 8*BFBB 図 4-52 : 位相検出機能のブ ロ ッ ク図 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 505 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 電圧お よ び温度の変動に よ る 初期キ ャ リ ブ レーシ ョ ンに続いて発生す る キ ャ プチ ャ タ イ ミ ン グ遅延の変動は、バ イ ト デ ス テ ィ ネーシ ョ ン ク ロ ッ ク と それに対応す る DQS の位相関係を保持す る こ と で補正で き ま す。 バ イ ト デ ス テ ィ ネーシ ョ ン ク ロ ッ ク と DQS 間の位相固定を動的に保持す る には、 メ モ リ コ ン ト ロ ー ラ ーか ら 周期的なダ ミ ーの読み 出 し を実行す る 必要があ り ます (図 4-53)。 周期的な補正には、 MMCM で生成 さ れた ソ ース デス テ ィ ネーシ ョ ン ク ロ ッ ク の位相を MMCM の精細度位相シ フ ト 機能を使用 し て調整 し ます。 こ の方法に よ っ て、全バ イ ト のデス テ ィ ネーシ ョ ン ク ロ ッ ク の精細度調整が同時に可能にな り ますが、バ イ ト ク ロ ッ ク の位相調整は個別に制御で き ません。 X-Ref Target - Figure 4-53 7DSV FONBFSW '4%\WH $JJUHJDWH 8QDGMXVWHG HDUO\BGTV $GMXVWHG HDUO\BGTV 図 4-53 : 位相検出機能の タ イ ミ ング図 メ モ リ コ ン ト ロー ラ ー と PHY 間のイ ン タ ー フ ェ イ ス キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク モジ ュ ールは、 キ ャ リ ブ レーシ ョ ン中に PHY 制御ワー ド を構築 し て、 PHY 制御ブ ロ ッ ク へ送信 し ます。 キ ャ リ ブ レーシ ョ ンが完了す る と 、 init_calib_complete 信号がアサー ト さ れ、 通常動作が可 能であ る こ と を メ モ リ コ ン ト ロ ー ラ ーへ伝え ます。レ イ テ ン シが増加する のを回避する ため、 メ モ リ コ ン ト ロ ー ラ ー は専用 PHY ブ ロ ッ ク で要求 さ れ る 形式で コ マ ン ド を送信す る 必要があ り ます。 その結果、 ア ド レ ス、 コ マ ン ド 、 制 御、 お よ びデー タ バ ス は PHY 制御ブ ロ ッ ク へ送信 さ れ る 前に多重化 さ れます。 こ れ ら のバ スは、 メ モ リ の初期化お よ びキ ャ リ ブ レーシ ョ ン中はキ ャ リ ブ レーシ ョ ン モジ ュ ールで駆動 さ れ、 通常動作中は メ モ リ コ ン ト ロ ー ラ ーで駆 動 さ れ ま す。 表 4-24 に、 メ モ リ コ ン ト ロ ー ラ ー と PHY 間の イ ン タ ー フ ェ イ ス 信号を示 し ま す。 こ れ ら の信号は、 FPGA ロ ジ ッ ク ク ロ ッ ク と 同期 し てい ます。 表 4-24 : メ モ リ コ ン ト ロー ラ ー と キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク間のイ ン タ ー フ ェ イ ス信号 信号名 幅 I/O から PHY (PHY から I/O) タ イプ 説明 rst 1 入力 – PHY_Clk ド メ イ ン に同期 し て い る イ ン フ ラ ス ト ラ ク チ ャ モジ ュ ールか ら の rstdiv0 出力信号です。 PHY_Clk 1 入力 – こ の ク ロ ッ ク 信号は、 LPDDR2 ク ロ ッ ク 周波数の 1/4 です。 mem_refclk 1 入力 – LPDDR2 と 同 じ 周波数の ク ロ ッ ク です。 freq_refclk 1 入力 – 400MHz ~ 933MHz の場合は mem_refclk と 同 じ ク ロ ッ ク 周波数で、400MH 未満の場合は mem_refclk の 1/2 ま たは 1/4 と な り ます。 sync_pulse 1 入力 – PLL か ら 出力 さ れ る 同期パルス です。 pll_lock 1 入力 – イ ン フ ラ モ ジ ュ ールに イ ン ス タ ン シ エー ト さ れ てい る 、 PLL か ら 出力 さ れ る LOCKED 信号です。 mc_ca [CA_WIDTH × 2 × nCK_PER_CLK – 1:0] 入力 – シーケ ン ス内の 4 つの コ マ ン ド ア ド レ ス の最初は mc_ca[2 × CA_WIDTH – 1:0] です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 506 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-24 : メ モ リ コ ン ト ロー ラ ー と キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク間のイ ン タ ー フ ェ イ ス信号 (続き) I/O から PHY (PHY から I/O) タ イプ 説明 [CS_WIDTH × nCS_PER_RANK × nCK_PER_CLK – 1:0] 入力 – mc_cs_n [CS_WIDTH – 1:0] が、 シーケ ン ス内の最 初の コ マ ン ド に関連す る cs_n 信号です。 mc_cke [nCK_PER_CLK – 1:0] 入力 – mc_cke [nCK_PER_CLK - 1:0] は、DARM イ ン タ ー フ ェ イ ス に 関連す る CKE で す。 こ の 信号 は、 CKE_ODT_AUX パ ラ メ ー タ ーが FALSE に設定 さ れてい る 場合に有効 と な り ます。 mc_wrdata [2 × nCK_PER_CLK × DQ_WIDTH – 1:0] 入力 – 専用 PHY への書 き 込みデー タ 信号です。 メ モ リ DQ 幅の 4 倍です。 mc_wrdata_mask [2 × nCK_PER_CLK × (DQ_WIDTH/8) – 1:0] 入力 – 専用 PHY に対す る 書 き 込みデー タ マ ス ク です。メ モ リ DM 幅の 4 倍です。 mc_wrdata_en 1 入力 アクティブ High DQ OUT_FIFO への WREN 入力です。 mc_cmd_wren 1 入力 アクティブ High ア ド レ ス/ コ マ ン ド OUT_FIFO の書 き 込み イ ネー ブル入力です。 mc_ctl_wren 1 入力 アクティブ High 専用 PHY ブ ロ ッ ク の PHY 制御ワ ー ド FIFO への 書 き 込み イ ネーブル入力です。 mc_cmd [2:0] 入力 – PHY_Ctl_Wd コ ン フ ィ ギ ュ レーシ ョ ン に使用 さ れ ます。 0x04 : ND (Non-Data) コ マ ン ド ( コ マ ン ド シーケ ン ス に列 コ マ ン ド がない) 0x01 : 書 き 込み コ マ ン ド 0x03 : 読み出 し コ マ ン ド mc_data_offset [5:0] 入力 – PHY_Ctl_Wd コ ン フ ィ ギ ュ レーシ ョ ン に使用 さ れ ます。 0x00 : ND (Non-Data) コ マ ン ド ( コ マ ン ド シーケ ン ス に列 コ マ ン ド がない) CWL + COL cmd position : 書 き 込み コ マ ン ド 0x00 : 読み出 し コ マ ン ド mc_aux_out0 [3:0] 入力 アクティブ High PHY 制御ワー ド の補助出力フ ィ ール ド で、ODT お よ び CKE のアサー ト を制御 し ます。 mc_aux_out1 [3:0] 入力 アクティブ High PHY 制御ワー ド の補助出力フ ィ ール ド で、 4 ラ ン ク イ ン タ ーフ ェ イ ス の ODT お よ び CKE のアサー ト を制御 し ます。 mc_rank_cnt [1:0] 入力 – PHY 制御 ワ ー ド の コ マ ン ド シーケ ン ス で ア ク セ ス さ れ る ラ ン ク です。 phy_mc_ctl_full 1 出力 アクティブ High すべての PHY 制御 FIFO の全 Almost FULL フ ラ グ を ビ ッ ト 単位で AND 接続 し た信号です。あ と 1 つ のエ ン ト リ で FIFO が フルにな る 場合には Almost FULL フ ラ グがアサー ト さ れます。 phy_mc_cmd_full 1 出力 アクティブ High すべての コ マ ン ド OUT_FIFO の全 Almost FULL フ ラ グ を ビ ッ ト 単位で OR 接続 し た信号です。 あ と 1 つ の エ ン ト リ で FIFO が フ ル に な る 場合 に は Almost FULL フ ラ グがアサー ト さ れます。 信号名 幅 mc_cs_n Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 507 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-24 : メ モ リ コ ン ト ロー ラ ー と キ ャ リ ブ レーシ ョ ン ロ ジ ッ ク間のイ ン タ ー フ ェ イ ス信号 (続き) 信号名 幅 I/O から PHY (PHY から I/O) phy_mc_data_full 1 phy_rd_data タ イプ 説明 出力 アクティブ High すべて の書 き 込みデー タ OUT_FIFO の全 Almost FULL フ ラ グ を ビ ッ ト 単位で OR 接続 し た信号で す。 あ と 1 つのエ ン ト リ で FIFO が フルにな る 場 合には Almost FULL フ ラ グがアサー ト さ れます。 [2 × nCK_PER_CLK × DQ_WIDTH – 1:0] 出力 – 専用 PHY か ら の読み出 し デー タ です。 メ モ リ DQ 幅の 4 倍です。 phy_rddata_valid 1 出力 アクティブ High 有効な読み出 し デー タ があ る 場合にアサー ト さ れ ます。 calib_rd_data_offset [6 × RANKS – 1:0] 出力 – 4 つの コ マ ン ド シー ケ ン ス の command 0 に関す る 、 キ ャ リ ブ レー ト さ れた読み出 し デー タ のオ フ セ ッ ト 値です。 init_calib_complete 1 出力 アクティブ High メ モ リ の初期化お よ びキ ャ リ ブ レーシ ョ ン が完了 す る と 、 アサー ト さ れます。 注記 : 1. nCK_PER_CLK は、 PHY_Clk の 1 サ イ ク ルに対す る LPDDR2 SDRAM ク ロ ッ ク サ イ ク ル数を定義 し ます。 2. ROW_WIDTH は、 LPDDR2 SDRAM の ラ ン ク 数です。 3. BANK_WIDTH は、 LPDDR2 SDRAM のバン ク 数です。 4. CS_WIDTH は、 LPDDR2 SDRAM の cs_n 信号数です。 5. CKE_WIDTH は、 LPDDR2 SDRAM の CKE 信号数です。 6. DQ_WIDTH は、 LPDDR2 SDRAM の DQ バ ス幅です。 コ ア を使用するデザイ ン コ アは、 シ ミ ュ レーシ ョ ン可能なサ ンプル デザ イ ン に含まれてい ます。 サン プル デザ イ ンは、 設計を始め る 際の ヒ ン ト と し て、 あ る いはデバ ッ グの リ フ ァ レ ン ス と し て使用で き ます。 コ アの コ ン フ ィ ギ ュ レーシ ョ ン を変更す る 場合は、 サポー ト さ れてい る 範囲内に し て く だ さ い。 サポー ト さ れてい る コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ーの詳細は、 518 ページの 「 コ アのカ ス タ マ イ ズ」 を参照 し て く だ さ い。 コ アへのイ ン タ ー フ ェ イ ス メ モ リ コ ン ト ロ ー ラ ーへの接続には、 ユーザー イ ン タ ーフ ェ イ ス (UI) ま たはネ イ テ ィ ブ イ ン タ ーフ ェ イ ス を使用で き ま す。 UI は、 シ ン プルな FIFO イ ン タ ーフ ェ イ ス と 類似 し てお り 、 常にデー タ を順に返 し ます。 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス は、 性能を向上 さ せ る こ と がで き る 場合があ り ますが、 使用は難 し く な り ます。 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス にはバ ッ フ ァ ーがな く 、デー タ がす ぐ に返 さ れますが、 返 さ れ る デー タ の順序が異な る 場合があ り ま す。 そのため、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス を使用す る 場合は、 順序変更を有効に し て、 アプ リ ケー シ ョ ン内部で受信デー タ の順序を並べ替え る 必要があ り ます。 次のセ ク シ ョ ンでは、 各 イ ン タ ーフ ェ イ ス の タ イ ミ ン グ プ ロ ト コ ルを示 し 、 それ ら の制御方法について説明 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 508 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー イ ン タ ー フ ェ イ ス ユーザー イ ン タ ーフ ェ イ ス のア ド レ ス バ ス と 物理的な メ モ リ の行、 バン ク 、 列、 のマ ッ プは変更可能です。 アプ リ ケーシ ョ ン デー タ の構成に応 じ て、ア ド レ ス指定方法 (バン ク -行-列、 ま たは行-バン ク -列) を選択 し 、 コ ン ト ロ ー ラ ー の効率を最適化 し ます。 こ れ ら のア ド レ ス指定方法を、 図 4-54 お よ び図 4-55 にそれぞれ示 し ます。 X-Ref Target - Figure 4-54 8VHU$GGUHVV $ Q $ $ $ $ $ $ 0HPRU\ 5DQN %DQN 5RZ &ROXPQ 8*BFBB 図 4-54 : UI モ ジ ュ ールの メ モ リ ア ド レ ス マ ッ プ (バン ク -行-列モー ド ) X-Ref Target - Figure 4-55 8VHU$GGUHVV $ Q $ $ $ $ $ $ 0HPRU\ 5DQN 5RZ %DQN &ROXPQ 8*BFBDB 図 4-55 : UI モ ジ ュ ールの メ モ リ ア ド レ ス マ ッ プ (行-バン ク-列モー ド ) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 509 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 図 4-54 お よ び図 4-55 は、ア ド レ ス マ ッ プが文字列パ ラ メ ー タ ー MEM_ADDR_ORDER に よ っ て制御 さ れ る こ と を示 し ます。 こ のパ ラ メ ー タ ーは次の値 し か と る こ と がで き ません。 • BANK_ROW_COLUMN – ア ド レ ス マ ッ プは図 4-54 に示 し ます。 • ROW_BANK_COLUMN – ア ド レ ス マ ッ プは図 4-55 に示 し ます。 • TG_TEST – ア ド レ ス マ ッ プはテ ス ト の目的にのみ使用 さ れます。ア ド レ ス の再マ ッ プで DRAM の さ ま ざ ま な部 分へのア ド レ ス ア ク セ ス を テ ス ト 可能に し ます。次の例で説明 さ れ る よ う にア ド レ ス を再マ ッ プ し ます。 再マ ッ プは コ ン ト ロ ー ラ ーの UI 部分内部で実行 さ れます。 注記 : 行の幅、 列の幅、 お よ びバン ク の幅の値の設定は、 次の例を想定 し てい ます。 ° 行の幅 – 15 ° バン ク の幅 – 3 ° 列の幅 – 10 例 (1) – MIG GUI で選択 し たオプシ ョ ンが BANK_ROW_COLUMN で、 コ ン ト ロ ー ラ ーへのア ド レ ス がそれに応 じ て マ ッ プ さ れ る 場合 ア ド レ ス ビ ッ ト の元のマ ッ プ BANK ア ド レス ビッ ト ROW ア ド レ ス ビ ッ ト 23 22 21 20 COLUMN ア ド レ ス ビ ッ ト 27 26 25 24 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 B2 B1 B0 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 TG_TEST を用いて再マ ッ プ さ れたア ド レ ス BANK ア ド レス ビッ ト ROW ア ド レ ス ビ ッ ト 18 17 16 COLUMN ア ド レ ス ビ ッ ト 27 26 25 24 23 22 21 20 19 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 R0 C9 C8 R4 R3 B2 B1 B0 R14 R13 R12 R11 R10 R9 R8 C7 C6 C5 R2 R1 R7 R6 R5 C4 C3 C2 C1 C0 例 (2) – MIG GUI で選択 し たオプシ ョ ンが ROW_BANK_COLUMN で、 コ ン ト ロ ー ラ ーへのア ド レ ス がそれに応 じ て マ ッ プ さ れ る 場合 ア ド レ ス ビ ッ ト の元のマ ッ プ BANK ア ド レス ビッ ト ROW ア ド レ ス ビ ッ ト 27 26 25 24 23 13 12 11 10 COLUMN ア ド レ ス ビ ッ ト 22 21 20 19 18 17 16 15 14 9 8 7 6 5 4 3 2 1 0 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 B2 B1 B0 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 TG_TEST を用いて再マ ッ プ さ れたア ド レ ス BANK ア ド レス ビッ ト ROW ア ド レ ス ビ ッ ト 18 27 26 25 24 23 22 21 20 19 R0 C9 C8 R4 R3 B2 B1 B0 R14 R13 R12 R11 R10 R9 R8 C7 C6 C5 R2 R1 R7 R6 R5 C4 C3 C2 C1 C0 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 17 16 15 14 japan.xilinx.com 13 12 11 10 COLUMN ア ド レ ス ビ ッ ト 9 8 7 6 5 4 3 2 1 0 510 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ マ ン ド パス ユーザー ロ ジ ッ ク の app_en 信号がアサー ト さ れて UI が app_rdy 信号を アサー ト す る と 、コ マ ン ド が受信 さ れて UI に よ っ て FIFO へ書 き 込まれます。 app_rdy がデ ィ アサー ト さ れ る と 、 コ マ ン ド は常に UI で無視 さ れます。 図 4-56 に示す よ う に、 ユーザー ロ ジ ッ ク は app_rdy 信号がア サー ト さ れ る ま で、 有効な コ マ ン ド と ア ド レ ス 値を示 し て app_en 信号を High に保持す る 必要があ り ます。 X-Ref Target - Figure 4-56 FON DSSBFPG :5,7( DSSBDGGU $GGU DSSBHQ &RPPDQGLVDFFHSWHGZKHQDSSBUG\LV+LJKDQGDSSBHQLV+LJK DSSBUG\ 8*BFBB 図 4-56 : UI の コ マ ン ド タ イ ミ ン グ図 (app_rdy 信号のアサー ト ) 連続 し た 書 き 込み コ マ ン ド は発行 さ れ ま せん (図 4-57)。 こ の図では、 app_wdf_data、 app_wdf_wren、 お よ び app_wdf_end の 3 つを示 し てい ます。 1. 書 き 込みデー タ は、 対応す る 書 き 込み コ マ ン ド に伴っ て現れます (BL8 の後半)。 2. 書 き 込みデー タ は、 対応す る 書 き 込み コ マ ン ド の前に現れます。 3. 書 き 込みデー タ は、 対応す る 書 き 込みコ マ ン ド の後に現れますが、 ク ロ ッ ク の 2 サ イ ク ル と い う 制限を超え る こ と はあ り ません。 3 番目の よ う に、 書 き 込み コ マ ン ド が レ ジ ス タ 格納 さ れた後に出力 さ れ る 書き 込みデー タ の場合、 最大遅延は ク ロ ッ ク の 2 サ イ ク ルです。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 511 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-57 FON DSSBFPG :5,7( DSSBDGGU $GGU 0D[LPXPDOORZHGGDWDGHOD\ IURPDGGUFPGLVWZRFORFNVDV VKRZQLQ(YHQW DSSBHQ DSSBUG\ DSSBZGIBPDVN DSSBZGIBUG\ : DSSBZGIBGDWD : DSSBZGIBZUHQ DSSBZGIBHQG DSSBZGIBGDWD : : DSSBZGIBZUHQ DSSBZGIBHQG : DSSBZGIBGDWD : DSSBZGIBZUHQ DSSBZGIBHQG 図 4-57 : UI イ ン タ ー フ ェ イ スにおける書き込みの タ イ ミ ング図 ( メ モ リ バース ト タ イ プ = BL8) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 512 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 書き込みパス app_wdf_wren がアサー ト さ れて app_wdf_rdy が High にな る と 、 書き 込みデー タ が書き 込み FIFO に格納 さ れま す (図 4-58)。 app_wdf_rdy がデ ィ アサー ト さ れた場合、 ユーザー ロ ジ ッ ク は app_wdf_rdy がアサー ト さ れ る ま で、 有効な app_wdf_data 値を示す と 共に app_wdf_wren と app_wdf_end を High に保持す る 必要があ り ます。 app_wdf_mask 信号を使用 し 、 外部 メ モ リ へ書 き 込むバ イ ト を マ ス ク で き ます。 X-Ref Target - Figure 4-58 FON DSSBFPG :5,7( :5,7( :5,7( :5,7( :5,7( DSSBDGGU $GGUD $GGUE $GGUF $GGUG $GGUH DSSBHQ DSSBUG\ DSSBZGIBPDVN DSSBZGIBUG\ DSSBZGIBGDWD :D :D :E :E :F :F :G :G :H :H DSSBZGIBZUHQ DSSBZGIBHQG 図 4-58 : UI イ ン タ ー フ ェ イ スにおける連続する書き込みコ マ ン ド の タ イ ミ ング図 ( メ モ リ バース ト タ イ プ = BL8) 512 ページの図 4-57 に示す よ う に、書 き 込みデー タ と 対応す る 書 き 込み コ マ ン ド 間におけ る シ ン グル書 き 込みの最大 遅延は、 ク ロ ッ ク の 2 サ イ ク ルです。 連続 し て書 き 込み コ マ ン ド を発行 し てい る 場合は、 書 き 込みデー タ と 対応す る 連続書 き 込み コ マ ン ド 間に最大遅延はあ り ません (図 4-59)。 X-Ref Target - Figure 4-59 FON DSSBFPG :5,7( :5,7( :5,7( :5,7( :5,7( :5,7( :5,7( DSSBDGGU $GGUD $GGUE $GGUF $GGUG $GGUH $GGUI $GGUJ :D :D :E :E :F :F :G DSSBHQ DSSBUG\ DSSBZGIBPDVN DSSBZGIBUG\ DSSBZGIBGDWD :G :H :H :I DSSBZGIBZUHQ DSSBZGIBHQG 図 4-59 : UI イ ン タ ー フ ェ イ スにおける連続する書き込みコ マ ン ド の タ イ ミ ング図 ( メ モ リ バース ト タ イ プ = BL8) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 513 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン メ モ リ への書 き 込みバース ト の最後を示すためには、 app_wdf_end 信号を使用 し ます。 メ モ リ バース ト タ イ プが 8 の場合、 2 番目の書 き 込みデー タ ワー ド で app_wdf_end 信号がアサー ト さ れ る 必要があ り ます。 アプ リ ケーシ ョ ン イ ン タ ーフ ェ イ ス デー タ の DRAM 出力デー タ へのマ ッ プについては、サンプル デザ イ ン を使用 し て説明 し ます。 2:1 メ モ リ コ ン ト ロ ー ラ ーの場合、ユーザー イ ン タ ーフ ェ イ ス ク ロ ッ ク と DRAM ク ロ ッ ク の比率は 2:1 と な り ます。 8 ビ ッ ト 幅 の メ モ リ イ ン タ ー フ ェ イ ス の 場合、 ユ ー ザ ー イ ン タ ー フ ェ イ ス デー タ 幅 は 32 ビ ッ ト (8 × 2 × 2 = mem_data_width × nck_per_clk × ddr_rate) と な り ます。 BL8 ト ラ ンザ ク シ ョ ン を実行す る には、 アプ リ ケー シ ョ ン イ ン タ ーフ ェ イ ス の書 き 込みデー タ が 2 ク ロ ッ ク サ イ ク ル内に現れなければな り ません。 図 4-60 に示す よ う に、 app_wdf_end 信号が 2 つ目のデー タ に対 し てアサー ト さ れてい ます。 こ の場合、 最初のサ イ ク ルに現れた アプ リ ケーシ ョ ン デー タ は 0000_0405 (Hex) で、 最後のサ イ ク ルに現れたデー タ は 0000_080A (Hex) です。 こ れは BL8 ト ラ ンザ ク シ ョ ンです。 X-Ref Target - Figure 4-60 図 4-60 : 2:1 モー ド のア プ リ ケーシ ョ ン イ ン タ ー フ ェ イ スのデー タ 図 4-61 に、 DRAM イ ン タ ーフ ェ イ ス におけ る 対応する デー タ を示 し ます。 X-Ref Target - Figure 4-61 図 4-61 : 2:1 モー ド の DRAM イ ン タ ー フ ェ イ スのデー タ 読み出 し パス 読み出 し デー タ は、 UI を介 し て要求 さ れた順序で返 さ れ、 app_rd_data_valid がアサー ト さ れ る と き に有効にな り ます (図 4-62 お よ び図 4-63)。 app_rd_data_end 信号が、 各読み出 し コ マ ン ド バース ト の終了を示 し ます。 X-Ref Target - Figure 4-62 図 4-62 : UI イ ン タ ー フ ェ イ スにおける読み出 し の タ イ ミ ング図 ( メ モ リ バース ト タ イ プ = BL8) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 514 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン X-Ref Target - Figure 4-63 FON 5($' DSSBFPG $GGUD DSSBDGGU $GGUE DSSBHQ DSSBUG\ 5D DSSBUGBGDWD 5D 5E 5E DSSBUGBGDWDBYDOLG 図 4-63 : UI イ ン タ ー フ ェ イ スにおける読み出 し の タ イ ミ ング図 ( メ モ リ バース ト タ イ プ = BL4 または BL8) 図 4-63 では、 返 さ れた読み出 し デー タ は、 ア ド レ ス/制御バ ス で要求 さ れた順序 と 常に同 じ にな り ます。 ユーザー ZQ ユーザー制御の ZQ キ ャ リ ブ レーシ ョ ン を行 う には、tZQI パ ラ メ ー タ ーを 0 に設定 し て、 メ モ リ コ ン ト ロ ー ラ ーが制 御す る メ ン テナン ス機能を無効に し て く だ さ い ZQ コ マ ン ド の要求には、 app_zq_req を 1 サ イ ク ル間ス ト ロ ーブ し ます。 メ モ リ コ ン ト ロ ー ラ ーは PHY へ コ マ ン ド を送信す る 際に app_zq_ack を 1 サ イ ク ル間ス ト ロ ーブ し 、 その後、 別の要求が送信可能にな り ます。 図 4-64 に、 こ の イ ン タ ーフ ェ イ ス を示 し ます。 X-Ref Target - Figure 4-64 FON DSSB]TBUHT DSSB]TBDFN ; 図 4-64 : ユーザー ZQ イ ン タ ー フ ェ イ ス ユーザー ZQ 動作は、 前述のハン ド シ ェ イ ク 動作完了後に随時実行で き ます。 その他の コ マ ン ド に関す る 追加の イ ン タ ーフ ェ イ ス要件はあ り ません。 ただ し 、 保留要求は動作を停止す る タ イ ミ ン グに影響を及ぼ し ます。 メ モ リ コ ン ト ロ ー ラ ーは、 ZQ コ マ ン ド を発行す る 前にすべての保留デー タ 要求を実行 し ます。 正確な タ イ ミ ン グが求め ら れ る 場合に必要な間隔を達成す る には、app_zq_req を ス ト ロ ーブす る タ イ ミ ン グ を決定 す る 際に、 各保留要求の タ イ ミ ン グ パ ラ メ ー タ ーを考慮す る 必要があ り ま す。 ワ ー ス ト ケー ス を考え、 tRCD、 CL、 デー タ 伝送時間、お よ び各バン ク マシ ンの tRP を差 し 引いた tREFI 範囲内にすべての ト ラ ンザ ク シ ョ ンが完了す る よ う に し ます。 式 4-1 に、 ZQ 要求の最大間隔の計算方法を示 し ます。 ( tZQI – ( tRCD + ( ( CL + 4 ) × tCK ) + tRP ) × nBANK_MACHS ) 式 4-1 キ ャ リ ブ レーシ ョ ン後にす ぐ ZQ を発行 し て、 後続の要求を送信す る タ イ ミ ン グ を決定す る ための時間基準を確立 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 515 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ネイテ ィ ブ イ ン ターフ ェ イス 図 4-65 に、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス プ ロ ト コ ルを示 し ます。 X-Ref Target - Figure 4-65 FON UDQNEDQNURZFROXPQ FPGKLBSULRULW\ DFFHSW XVHBDGGU GDWDBEXIBDGGU ZUBGDWDBHQ ZUBGDWDBDGGU ZUBGDWD '±' '±' ZUBGDWDBPDVN UGBGDWDBHQ UGBGDWDBDGGU UGBGDWD '±' '±' 8*BFBB 図 4-65 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ ス プ ロ ト コ ル ア ド レ スお よ び コ マ ン ド に よ っ て要求がネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に現れます。 ア ド レ ス には、 バン ク 、 行、 列の 情報が含まれてい ます。 コ マ ン ド は、 cmd 入力でエン コ ー ド さ れてい ます。 ア ド レ スお よ び コ マ ン ド は、 use_addr 信号で有効にな る 1 ス テー ト 前にネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に現れます。 メ モ リ イ ン タ ーフ ェ イ ス は accept 信号を アサー ト す る こ と で要求を受け入れ可能であ る こ と を示 し ます。use_addr と accept の 両方 が 同 じ ク ロ ッ ク サ イ ク ル で ア サ ー ト さ れ た 場合 は、 要求 が 受 け 入 れ ら れ た こ と を 示 し ま す。 use_addr はアサー ト さ れてい る が accept がアサー ト さ れていない場合、 要求は受け入れ ら れていないため、 再度実 行す る 必要があ り ます。 図 4-66 に、 こ れ ら の信号の タ イ ミ ン グ を示 し ます。 X-Ref Target - Figure 4-66 FON UDQNEDQNURZFROXPQ FPGKLBSULRULW\ DFFHSW XVHBDGGU GDWDBEXIBDGGU 8*BFBB 図 4-66 : ネ イ テ ィ ブ イ ン タ ー フ ェ イ スのフ ロー制御 図 4-66 に示す よ う に、 要求 1 お よ び要求 2 は問題な く 受け入れ ら れてい ま す。 1 回目の要求 3 に対 し ては accept が Low に駆動 さ れてい る ため、 受け入れ ら れていない こ と を示 し てい ます。 ユーザー デザ イ ン が 2 回目に要求 3 を送 信 し た と き には、 受け入れ ら れてい ます。 その後の要求 4 は、 1 回目の送信で受け入れ ら れてい ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 516 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 要求の送信 と 同時に、 data_buf_addr バ ス が必要です。 こ のバ ス はユーザー デザ イ ン にあ る バ ッ フ ァ ーのア ド レ ス ポ イ ン タ ー と な り ます。 こ れは、 書 き 込みコ マ ン ド を処理する 際にデー タ の位置を コ アに伝え、 読み出 し コ マ ン ド を 処 理 す る 際 は デ ー タ を 配 置 す る 位 置 を 伝 え ま す。 コ ア が コ マ ン ド を 処 理 す る 際、 書 き 込 み コ マ ン ド で は wr_data_addr、 読み出 し コ マ ン ド では rd_data_addr に よ り 、 data_buf_addr を ユーザー デザ イ ン にエ コ ー バ ッ ク し ます。 図 4-67 に、 こ れ ら の信号の タ イ ミ ン グ を示 し ます。 書 き 込みデー タ は、 wr_data_en がアサー ト さ れ る ク ロ ッ ク サ イ ク ルで供給 さ れ る 必要があ り ます。 X-Ref Target - Figure 4-67 FON ZUBGDWDBHQ ZUBGDWDBDGGU ZUBGDWDBRIIVHW ZUBGDWD '' '' '' '' '' '' ZUBGDWDBPDVN 7ZR%DFNWR%DFN 'DWD%XUVWV UGBGDWDBHQ UGBGDWDBDGGU UGBGDWDBDGGU UGBGDWD '' '' '' '' '' '' 7ZR%DFNWR%DFN 'DWD%XUVWV 8*BFBB 図 4-67 : コ マ ン ド 処理 転送は非 ア ク テ ィ ブ な ギ ャ ッ プ で分離 し た り 、 ギ ャ ッ プの な い長いバー ス ト にで き ま す。 ユーザー デザ イ ン は、 rd_data_en 信号お よ び wr_data_en 信号をモニ タ リ ン グす る こ と で、 要求が処理中であ る こ と と 完了 し た こ と を 認識で き ます。 メ モ リ コ ン ト ロ ー ラ ーが読み出 し コ マ ン ド 要求の処理を完了す る と 、 rd_data_en 信号がアサー ト さ れます。 同様に、 書 き 込み コ マ ン ド 要求の処理を完了す る と 、 wr_data_en 信号がアサー ト さ れます。 NORM 順序変更モー ド が有効の場合、 メ モ リ コ ン ト ロ ー ラ ーが受信 し た要求の順序を変更 し 、 FPGA と メ モ リ デバ イ ス間の スループ ッ ト を最適化 し ます。 デー タ は、 受信順ではな く 処理 さ れた順にユーザー デザ イ ンへ返 さ れます。 ユーザー デザ イ ンは、 rd_data_addr お よ び wr_data_addr を モニ タ リ ン グす る こ と で、 処理中の要求を特定で き ます。 こ れ ら の フ ィ ール ド は、 ユーザー デザ イ ン がネ イ テ ィ ブ イ ン タ ーフ ェ イ スへ要求を送信す る 際に供給 さ れ る data_buf_addr に対応 し ます。 図 4-67 に、 こ れ ら の信号の タ イ ミ ン グ関係を示 し ます。 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス では、 ユーザー デザ イ ンは一度に 1 つの要求 し か送信で き ない よ う に イ ン プ リ メ ン ト さ れてい る ため、 複数の要求は順次送信する 必要があ り ます。 同様に、 コ アは メ モ リ デバ イ スへの複数の コ マ ン ド を 一度に 1 つずつ実行す る 必要があ り ます。 ただ し 、 コ ア イ ン プ リ メ ン テーシ ョ ン のパ イ プ ラ イ ン化に よ っ て、 ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス では読み出 し 要求 と 書き 込み要求を並列処理で き ます。 ユーザー ZQ ユーザー イ ン タ ーフ ェ イ ス の「ユーザー ZQ」 を参照 し て く だ さ い。機能は、ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス と 同 じ です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 517 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ アのカ ス タ マ イ ズ 7シ リ ーズ FPGA の メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ンは、 LPDDR2 SDRAM デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン を複数サポー ト し てい ま す。 各 コ ン フ ィ ギ ュ レ ーシ ョ ン は、 コ アの最上位の Verilog パ ラ メ ー タ ーで定義 し ま す。 OOC フ ロ ーに よ り 、デザ イ ン例の最上位の RTL フ ァ イ ルか ら ユーザー デザ イ ン RTL フ ァ イ ルに、 パ ラ メ ー タ ー値が 伝わ る こ と はあ り ません。 し たがっ て、 デザ イ ンに関す る パ ラ メ ー タ ーの変更が、 ユーザー デザ イ ン ロ ジ ッ ク に反映 さ れ る こ と は一切あ り ません。 パ ラ メ ー タ ーを変更す る 場合は、 MIG ツールを使用 し てデザ イ ン を再生成す る 必要が あ り ます。 表 4-25 か ら 表 4-27 に、 MIG ツールで設定 さ れ る パ ラ メ ー タ ーを示 し ます。 表 4-25 : 7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパラ メ ー タ ー パラ メ ー タ ー 説明 REFCLK_FREQ (1) IDELAYCTRL の基準 ク ロ ッ ク 周波数です。すべての 200.0 ス ピー ド グ レー ド で 200.0 に設定で き ます。詳細は、 『7 シ リ ーズ FPGA SelectIO™ リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] にあ る IDELAYE2 (IDELAY) お よ び ODELAYE2 (ODELAY) 属性のサマ リ の表を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは変更 し ない で く だ さ い。 SIM_BYPASS_INIT_CAL (2) シ ミ ュ レ ー シ ョ ン 用の キ ャ リ ブ レ ーシ ョ ン の一環 OFF です。OFF は、シ ミ ュ レーシ ョ ン で使用で き ません。 FAST こ れは、ハー ド ウ ェ ア イ ンプ リ メ ン テーシ ョ ンに使 SIM_FULL 用 し ます。 FAST は、 リ ー ド お よ び ラ イ ト レベ リ ン グの高速モー ド を有効に し ます。 SIM_FULL は、 フ ル キ ャ リ ブ レーシ ョ ン を有効に し ますが、電源投入 時 の 初 期 化 遅 延 を ス キ ッ プ し ま す。 SIM_INIT_CAL_FULL は、 電源投入遅延を含むフル キ ャ リ ブ レーシ ョ ン を有効に し ます。 nCK_PER_CLK ク ロ ッ ク あ た り の メ モ リ ク ロ ッ ク の数です。 こ のパ 2 ラ メ ー タ ーは変更 し ないで く だ さ い。 nCS_PER_RANK PHY ラ ン ク あ た り の CS 出力の数です。 DQS_CNT_WIDTH DQS バ ス を示すのに必要な ビ ッ ト 数を表 し 、 CEIL 関数 (log2(DQS_WIDTH)) で与え ら れます。 ADDR_WIDTH メ モ リ の ア ド レ ス バ ス 幅 で す。 RANK_WIDTH + BANK_WIDTH + ROW_WIDTH + COL_WIDTH と 等 し く な り ます。 BANK_WIDTH メ モ リ バン ク ア ド レ ス のビ ッ ト の数です。 選択 し た メ モ リ デバ イ ス に基づ き ます。 CS_WIDTH メ モ リ に対す る CS 出力の数です。 選択 し た MIG ツール コ ン フ ィ ギ ュ レー シ ョ ンに基づき ます。 CK_WIDTH メ モ リ に対す る CK/CK# 出力の数です。 選択 し た MIG ツール コ ン フ ィ ギ ュ レー シ ョ ンに基づき ます。 CKE_WIDTH メ モ リ に対す る CKE 出力の数です。 選択 し た MIG ツール コ ン フ ィ ギ ュ レー シ ョ ンに基づき ます。 COL_WIDTH メ モ リ 列ア ド レ ス のビ ッ ト の数です。 選択 し た メ モ リ デバ イ ス に基づ き ます。 RANK_WIDTH RANK バ ス を 表すた めに使用 さ れ る ビ ッ ト の数で シ ン グル ラ ン ク お よ びデ ュ アル ラ ン ク す。 の両方デバ イ ス で 1 に設定 さ れます。 ROW_WIDTH DRAM コ ン ポーネ ン ト のア ド レ ス バ ス幅です。 選択 し た メ モ リ デバ イ ス に基づ き ます。 DM_WIDTH デー タ マ ス ク の ビ ッ ト の数です。 DQ_WIDTH/8 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 オプ シ ョ ン japan.xilinx.com 1、 2 518 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-25 : 7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパラ メ ー タ ー (続き) パラ メ ー タ ー 説明 オプ シ ョ ン DQ_WIDTH メ モ リ の DQ バ ス幅です。 8 ずつ増分す る 8 ~ 72 ま での DQ 幅をサ ポー ト し ます。 有効な最大 DQ 幅は、 選 択 し た メ モ リ デバ イ ス の周波数に依存 し ます。 DQS_WIDTH メ モ リ の DQS バ ス幅です。 DQ_WIDTH/8 BURST_MODE メ モ リ のデー タ バース ト 長です。 LPDDR2 : 8 BM_CNT_WIDTH バ ン ク マ シ ン を 示すの に必要 な ビ ッ ト 数 を 表 し 、 CEIL 関数 (log2(nBANK_MACHS)) で与え ら れます。 ADDR_CMD_MODE メ モ リ の addr/cmd バ ス におけ る タ イ ミ ン グ を 算出 1T す る ために コ ン ト ロ ー ラ ーで使用 さ れます。 こ のパ ラ メ ー タ ーは変更 し ないで く だ さ い。 ORDERING (3) デー タ ス ループ ッ ト と レ イ テ ン シ を 最適化す る た NORM : メ モ リ コ ン ト ロ ー ラ ーで メ モ め、 受信 し た要求を並べ替え る オプシ ョ ン です。 リ に対 し て書 き 込み コ マ ン ド では な く 読み出 し の順序 を 並べ替え る オ プ シ ョ ンです。 RELAXED : 最大効率 と な る よ う に メ モ リ コ ン ト ロ ー ラ ーで メ モ リ への コ マ ン ド の順序を並べ替え る オプシ ョ ン です。 こ の順序変更は、 ネ イ テ ィ ブ イ ン タ ー フ ェ イ ス では保持 さ れません。 STRICT : 受信 し た順序 ど お り に コ マ ン ド を実行 し ます。 STARVE_LIMIT 読み出 し 要求が高優先度を宣言す る 前に、 アービ ト 1、 2、 3、 ...10 レ ーシ ョ ン を失 う こ と が可能な回数を設定 し ま す。 ア ー ビ ト レ ー シ ョ ン を 失 っ た 実 際 の 回 数 は、 STARVE_LIMIT × nBANK_MACHS で 求 め ら れ ま す。 IODELAY_GRP(4) メ モ リ デザ イ ン で使用 さ れ る IDELAY グループ を デフ ォ ル ト : IODELAY_MIG 定義す る ASCII 文字列です。こ れは Vivado ツールで 使 用 さ れ、 イ ン ス タ ン シ エ ー ト さ れ た す べ て の IDELAY を同 じ バン ク 内にグループ化 し ま す。 1 つ の FPGA に複数の IP コ ア が イ ン プ リ メ ン ト さ れ る 場合、 それぞれに固有の名前を付け る 必要があ り ま す。 PAYLOAD_WIDTH ユーザー デー タ に使用 さ れ る 実際の DQ バス です。 PAYLOAD_WIDTH = DATA_WIDTH DEBUG_PORT デバ ッ グ信号/制御を有効に し ます。 TCQ シ ミ ュ レ ーシ ョ ン 用の ク ロ ッ ク か ら Q ま での遅延 単位はピ コ 秒です。 です。 tCK メ モ リ の tCK ク ロ ッ ク 周期 (ps) です。 こ の値 (ps) は、MIG ツールで選択 し た周 波数に基づき ます。 DIFF_TERM_SYSCLK TRUE、 FALSE シ ス テ ム ク ロ ッ ク 入力 ピ ン の差動終端 です。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com ON OFF 519 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-25 : 7 シ リ ーズ FPGA メ モ リ ソ リ ュ ーシ ョ ン で コ ン フ ィ ギ ュ レーシ ョ ン可能なパラ メ ー タ ー (続き) パラ メ ー タ ー 説明 オプ シ ョ ン DIFF_TERM_REFCLK TRUE、 FALSE IDELAY 基準 ク ロ ッ ク 入力ピ ンの差動終 端です。 注記 : 1. 下位制限 (最大周波数) は現在、 特性評価中です。 2. SIM_BYPASS_INIT_CAL パ ラ メ ー タ ーを使用す る と 、 シ ミ ュ レーシ ョ ン中の コ アの初期化時間を大幅に短縮で き ます。 シ ミ ュ レーシ ョ ン モー ド は 3 つあ り ます。 FAST の場合、 各 メ モ リ デバ イ ス に対 し て 1 ビ ッ ト のみ ラ イ ト レベ リ ン グお よ び読み出 し キ ャ リ ブ レーシ ョ ンが 実行 さ れ、 こ れが残 り のデー タ ビ ッ ト に対 し て使用 さ れます。 SKIP の場合は、 読み出 し キ ャ リ ブ レーシ ョ ンが実行 さ れず、 入力 ク ロ ッ ク お よ びデー タ は位相が揃っ てい る も の と みな さ れます。 シ ミ ュ レーシ ョ ン時のみ、 SIM_BYPASS_INIT_CAL を SIM_INIT_CAL_FULL に設 定 し て く だ さ い。 イ ンプ リ メ ン テーシ ョ ンでは SIM_BYPASS_INIT_CAL を OFF に設定 し て く だ さ い。 その他の設定では、 コ アが正常に機 能 し ません。 3. こ のパ ラ メ ー タ ーを NORM ま たは RELAXED に設定す る と 、 Memory Controller で並べ替えのアルゴ リ ズ ムが有効にな り ます。 STRICT に 設定す る と 要求 コ マ ン ド の順序変更が無効にな り 、 外部 メ モ リ デバ イ ス に対す る ス ループ ッ ト が制限 さ れ る 可能性があ り ま す。 ただ し 、 コ ア統合 し た初期段階では、 コ マ ン ド 要求を受信順に処理す る STRICT モー ド が有用です。 つま り 、 こ のモー ド では、 ユーザー デザ イ ン が要求の ス テー タ ス (保留中、 処理中) を ト ラ ッ キ ン グす る 必要があ り ません。 4. こ のパ ラ メ ー タ ー名には、 デザ イ ン生成時に MIG で入力 さ れたモジ ュ ール名が接頭辞 と し て付 き ます。 デザ イ ンが mig_7series_0 と い う 名 前で生成 さ れた場合、 IODELAY_GRP パ ラ メ ー タ ーの名前は 「mig_7series_0_IODELAY_MIG」 と な り ます。 表 4-26 のパ ラ メ ー タ ーは、 選択 し た メ モ リ ク ロ ッ ク 周波数、 メ モ リ デバ イ ス、 メ モ リ コ ン フ ィ ギ ュ レーシ ョ ン、 お よ び FPGA の ス ピー ド グ レー ド に依存 し ます。 こ れ ら のパ ラ メ ー タ ー値は memc_ui_top IP コ ア内に統合 さ れてい る ため、 最上位で変更 し ないで く だ さ い。 推奨 : ザ イ リ ン ク ス では、異な る コ ン フ ィ ギ ュ レーシ ョ ンに対 し ては MIG ツールを再実行す る こ と を強 く 推奨 し てい ます。 表 4-26 : エ ンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パラ メ ー タ ー パラ メ ー タ ー 説明 オプ シ ョ ン tFAW 最小間隔で、 4 つのア ク テ ィ ブ コ マ ン ド です。 こ の値 (ps) は、 MIG ツールで選択 し た デバ イ ス に基づ き ます。 tRRD ACTIVE か ら ACTIVE ま での最小コ マ ン ド 周期です。 こ の値 (ps) は、 MIG ツールで選択 し た デバ イ ス に基づ き ます。 tRAS メ モ リ の、 ACTIVE か ら PRECHARGE ま での最小周 こ の値 (ps) は、 MIG ツールで選択 し た 期です。 デバ イ ス に基づ き ます。 tRCD ACTIVE か ら READ/WRITE コ マ ン ド ま で の 遅延 で こ の値 (ps) は、 MIG ツールで選択 し た す。 デバ イ ス に基づ き ます。 tREFI メ モ リ の周期的な リ フ レ ッ シ ュ 間隔の平均値です。 tRFC REFRESH か ら ACTIVE/REFRESH コ マ ン ド ま での間 こ の値 (ps) は、 MIG ツールで選択 し た 隔です。 デバ イ ス に基づ き ます。 tRP PRECHARGE コ マ ン ド の周期です。 こ の値 (ps) は、 MIG ツールで選択 し た デバ イ ス に基づ き ます。 tRTP READ か ら PRECHARGE コ マ ン ド ま での遅延です。 こ の値 (ps) は、 MIG ツールで選択 し た デバ イ ス に基づ き ます。 tWTR WRITE か ら READ コ マ ン ド ま での遅延です。 こ の値 (ps) は、 MIG ツールで選択 し た デバ イ ス に基づ き ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com こ の値 (ps) は、 MIG ツールで選択 し た デバ イ ス に基づ き ます。 520 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-26 : エ ンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 tZQI 短間隔の ZQ キ ャ リ ブ レーシ ョ ンです。 こ の値はシ ス 単位はナ ノ 秒です。 ユーザーが こ の機 テ ムに よ っ て異な り 、 シ ス テ ムの電圧お よ び温度の予 能を制御す る 場合は、0 に設定 し て く だ 測変化率に基づ き ます。 Q キ ャ リ ブ レーシ ョ ンの詳細 さ い。 は、 メ モ リ ベン ダーにお問い合わせ く だ さ い。 tZQCS DDR3 SDRAM で ZQCS コ マ ン ド を実行する 際の タ イ こ の値 (CK) は、MIG ツールで選択 し た ミ ン グ ウ ィ ン ド ウ です。 デバ イ ス に基づ き ます。 nAL メ モ リ ク ロ ッ ク サ イ ク ルにおけ る 追加レ イ テ ン シで 0 す。 CL 読み出 し CAS レ イ テ ン シです。 可能なオプシ ョ ンは、 LPDDR2 : 3、 4、 5、 6 MIG ツールの周波数に依存 し ます。 CWL 書 き 込み CAS レ イ テ ン シです。 可能なオプシ ョ ンは、 MIG ツールの周波数に依存 し ます。 BURST_TYPE バース ト のア ク セ ス順を指定 し ます。 RST_ACT_LOW ア ク テ ィ ブ Low ま た は ア ク テ ィ ブ High の リ セ ッ ト 0、 1 [System Reset Polarity] が [ACTIVE LOW] に設定 さ れて い る 場合は 1、[ACTIVE HIGH] に設定 さ れてい る 場合 は 0 に設定 さ れます。 IBUF_LPWR_MODE 入力バ ッ フ ァ ーの低電力モー ド を有効/無効に し ます。 ON OFF IODELAY_HP_MODE IDELAY の高性能モー ド を有効/無効に し ます。 DATA_IO_IDLE_PWRDWN I/O 消費電力削減オ プ シ ョ ン が イ ネーブルの場合は ON、 OFF ON に設定 さ れます。 SYSCLK_TYPE シ ス テ ム がシ ン グルエ ン ド シ ス テ ム ク ロ ッ ク を使用 DIFFERENTIAL す る か、 差動シ ス テ ム ク ロ ッ ク を使用する か、 ま たは SINGLE_ENDED 内部 ク ロ ッ ク で駆動 さ れ る か ([No Buffer]) を 示 し ま NO_BUFFER す。 選択 し た CLK_TYPE の設定に基づいて、 ク ロ ッ ク を適切な入力ポー ト に配置する 必要があ り ます。 差 動 ク ロ ッ ク の場合は sys_clk_p/sys_clk_n を、 シ ン グル エ ン ド ク ロ ッ ク の 場合 は sys_clk_i を 使用 し ま す。 NO_BUFFER を選択 し た場合、ポー ト リ ス ト に表示 さ れ る sys_clk_i は内部 ク ロ ッ ク で駆動す る 必要が あ り ます。 REFCLK_TYPE シ ス テ ム が シ ン グ ルエ ン ド 基準 ク ロ ッ ク を 使用す る か、 差動基準 ク ロ ッ ク を使用する か、 内部 ク ロ ッ ク に よ っ て駆動 さ れ る か ([No Buffer])、 ま たはシ ス テ ム ク ロ ッ ク 入力にのみ接続で き る か ([Use System Clock]) を示 し ます。 選択 し た CLK_TYPE の設定に基づいて、 ク ロ ッ ク を 適切な入力ポー ト に配置す る 必要が あ り ます。差動 ク ロ ッ ク の場合は clk_ref_p/clk_ref_n を、シ ン グルエ ン ド ク ロ ッ ク の場合は clk_ref_i を使用 し ま す。 [No Buffer] をオンに し てい る 場合、 ポー ト リ ス ト に表示 さ れ る clk_ref_i は内部 ク ロ ッ ク に よ っ て駆動 す る 必要が あ り ま す。 [Use System Clock] を オ ン に し てい る 場合、clk_ref_i はユーザー デザ イ ンの最上位モ ジ ュ ールでシ ス テ ム ク ロ ッ ク に接続 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 オプ シ ョ ン japan.xilinx.com Sequential Interleaved ON OFF DIFFERENTIAL SINGLE_ENDED NO_BUFFER USE_SYSTEM_CLOCK 521 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-26 : エ ンベデ ッ ド 7 シ リ ーズ FPGA の メ モ リ ソ リ ュ ーシ ョ ンの コ ン フ ィ ギ ュ レーシ ョ ン パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 CLKIN_PERIOD オプ シ ョ ン 入力 ク ロ ッ ク 周期です。 CLKFBOUT_MULT PLL の VCO (電圧制御オシ レー タ ー ) 乗算器です。 動 作周波数に基づいて MIG ツールで設定 し ます。 CLKOUT0_DIVIDE、 CLKOUT1_DIVIDE、 CLKOUT2_DIVIDE、 CLKOUT3_DIVIDE PLL 出力用の VCO 出力分周器です。 動作周波数に基 づいて MIG ツールで設定 し ます。 DIVCLK_DIVIDE PLLE2 VCO の 分周器 で す。 動作周波数 に 基づ い て MIG ツールで設定 し ます。 USE_DM_PORT メ モ リ への書 き 込み動作中に使用 さ れ る デー タ マ ス 0 : 無効 ク を有効/無効に し ます。 1 : 有効 CK_WIDTH メ モ リ に対す る CK/CK# 出力の数です。 DQ_CNT_WIDTH CEIL 関数 (log2(DQ_WIDTH) です。 DRAM_TYPE メ モ リ コ ン ト ロ ー ラ ーでサポー ト さ れ る メ モ リ 規格 LPDDR2 を示 し ます。 DRAM_WIDTH 各 DRAM コ ン ポーネ ン ト の DQ バ ス幅です。 nBANK_MACHS バン ク マシ ンの数です。 1 つのバン ク マシ ンが、 常に 2、 3、 4、 5、 6、 7、 8 1 つの DRAM バン ク を管理 し ます。 DATA_BUF_ADDR_WIDTH メ モ リ コ ン ト ロ ー ラ ーへ渡 さ れ る 要求 タ グ のバ ス 幅 4 です。 4 に設定 し ます。 こ のパ ラ メ ー タ ーは変更 し な いで く だ さ い。 RANKS ラ ン ク の数です。 DATA_WIDTH 書 き 込みデー タ マ ス ク 幅を決定 し 、 ECC 機能が有効 DATA_WIDTH = DQ_WIDTH であ る か否かに依存 し ます。 APP_DATA_WIDTH こ の UI_INTFC パ ラ メ ー タ ー が UI で のペ イ ロ ー ド APP_DATA_WIDTH = 2 × nCK_PER_CLK × デー タ 幅を指定 し ます。 PAYLOAD_WIDTH APP_MASK_WIDTH こ の UI_INTFC パ ラ メ ー タ ーが UI でのペ イ ロ ー ド マ ス ク 幅を指定 し ます。 USER_REFRESH ユーザーが リ フ レ ッ シ ュ コ マ ン ド を管理す る か を示 し ます。 こ の値は、 ユーザー イ ン タ ーフ ェ イ ス ま たは ネ イ テ ィ ブ イ ン タ ー フ ェ イ ス のいずれかに対 し て設 定で き ます。 ON、 OFF 表 4-27 に示 し たパ ラ メ ー タ ーは、 選択 し た ピ ン配置に基づいて MIG ツールがセ ッ ト ア ッ プ し ます。 ピ ン配置を変更 す る 場合は、 MIG ツールを再実行 し てパ ラ メ ー タ ーを適切に設定する こ と を推奨 し ます。 526 ページの 「LPDDR2 デ ザ イ ンにおけ る バン ク お よ びピ ンの選択」 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 522 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン ピ ン配置のパ ラ メ ーター設定が正 し く ない と 、 シ ミ ュ レーシ ョ ンが正し く 動作し ない、デザ イ ンの配線がで き ない、 タ イ ミ ン グが満た さ れない、 な ど の結果を招 く こ と があ り ます。 こ れ ら のパ ラ メ ー タ ーで物理層を セ ッ ト ア ッ プ し 、 物 理層 と の間に必要な信号すべての配線が行われます。 次のパ ラ メ ータ ーは、 選択 し たデー タ およ びア ド レ ス/制御バ イ ト グループに基づいて計算 さ れます。 選択 し たシ ス テ ム信号 (シ ス テ ム ク ロ ッ ク 、 基準 ク ロ ッ ク 、 ス テータ ス信号) は 考慮 し ません。 表 4-27 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー パラ メ ー タ ー 説明 例 BYTE_LANES_B0、 BYTE_LANES_B1、 BYTE_LANES_B2 I/O バン ク で使用す る バ イ ト レーン を定義 し ま す。 ビ ッ ト 位置が 1 の場合はバ イ ト レーン を使用 し 、 0 の場合は使用 し ません。 こ のパ ラ メ ー タ ーはピ ン配 置に よ っ て異な り 、生成 さ れたデザ イ ンで手動で変 更す る こ と はで き ません。 ビ ッ ト の順序は、 MSB か ら LSB に向か っ て T0、 T1、 T2、 T3 バ イ ト グループの順です。 4'b1101 : バン ク で 3 つのバ イ ト レーン を使用 し 、 1 つは使用 し ません。 DATA_CTL_B0、 DATA_CTL_B1、 DATA_CTL_B2 I/O バン ク におけ る バ イ ト レーンの使用モー ド を定 4'b1100 : BYTE_LANE の例を基準にす る と 、 2 義 し ま す。 ビ ッ ト 位置が 1 の場合はバ イ ト レ ーン つのバ イ ト レ ーン をデー タ 用に使用 し 、 1 つ を デー タ に、 0 の場合は ア ド レ ス/制御に使用 し ま を ア ド レ ス/制御用に使用 し ます。 す。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 PHY_0_BITLANES、 PHY_1_BITLANES、 PHY_2_BITLANES 各バ イ ト レーンにつ き 12 ビ ッ ト のパ ラ メ ー タ ーを 使用 し 、 必要な物理層の生成に使用す る I/O 位置を 決定 し ます。 こ のパ ラ メ ー タ ーはバン ク ご と に存在 し ます。 CK/CK# ピ ン を除 き 、 デー タ お よ びア ド レ ス/制御 ピ ン のすべてがパ ラ メ ー タ ー生成の際に考 慮 さ れます。 DQS ピ ンは、 デー タ バ イ ト グループ で DQS ピ ン に 使用 さ れ る 場合 は 除外 さ れ ま す。 デー タ バ イ ト グループが割 り 当て ら れてい る 未使 用 ピ ン の 1 つ を 1 に設定す る 必要が あ り 、 こ れは DQS0_MAP で使用 さ れ ま す (DQS は依然 DQS I/O にのみ割 り 当て ら れてお り 、 余分の ビ ッ ト が PHY 内部で使用 さ れ る )。 こ のパ ラ メ ー タ ーは ピ ン配置 に よ っ て異な り 、生成 さ れたデザ イ ンで手動で変更 す る こ と はで き ません。 選択 し たバン ク のすべてのバ イ ト グループ を 表 し ます。 1 つのバ イ ト レーンの 12 ビ ッ ト す べて を表 し ます。 た と えば、 1 つのバン ク に対 し て 48'hFFE_FFF_000_ DF6 の よ う に 指定 し ます。 12'hDF6 (12'b1101_1111_0110) : ビ ッ ト ラ イ ン 0、 3、 9 は使用せず、 残 り の ビ ッ ト を使用 し ま す。 CK_BYTE_MAP CK/CK# のバ ン ク お よ びバ イ ト レ ーン位置情報で す。各信号ペアに 8 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れてい ます。 • [7:4] - バン ク 位置で、 サポー ト さ れ る 値は 0、 1、 2 です。 • [3:0] - バン ク 内のバ イ ト レーン位置で、サポー ト さ れ る 値は 0、 1、 2、 3 です。 こ のパ ラ メ ー タ ーはピ ン配置に よ っ て異な り 、生成 さ れたデザ イ ン で手動で変更す る こ と はで き ま せ ん。 最上位のデー タ ま た は ア ド レ ス/制御バ イ ト グループで選択 し たバ ン ク を、 こ のパ ラ メ ー タ ーではバン ク 0 と し ま す。 バン ク の番号は 上か ら 順に 0、 1、 2 です。 パ ラ メ ー タ ー内では、バ イ ト グループ T0、T1、 T2、 T3 にそれぞれ 3、 2、 1、 0 の番号が付け ら れます。 144'h00_00_00_00_00_00_00_00_00_00_00_00_ 00_00_00_00_00_03 : 18 の ク ロ ッ ク ペア (各 ク ロ ッ ク ピ ン に 8 ビ ッ ト ) のパ ラ メ ー タ ーの例 です。 こ の場合、 1 つの ク ロ ッ ク ペアのみを 使用 し ます。 パ ラ メ ー タ ーの並びは MSB か ら LSB の順です (すなわち CK[0]/CK#[0] はパ ラ メ ー タ ーの最下位 8 ビ ッ ト に該当)。 8'h13 : CK/CK# をバン ク 1、バ イ ト レーン 3 に 配置 し ます。 8'h20 : CK/CK# をバン ク 2、バ イ ト レーン 0 に 配置 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 523 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-27 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 例 ADDR_MAP ア ド レ ス のバン ク お よ びバ イ ト レ ーン位置情報で す。 各ピ ン に 12 ビ ッ ト のパ ラ メ ー タ ーが用意 さ れ てい ます。 • [11:8] - バン ク 位置で、 サポー ト さ れ る 値は 0、 1、 2 です。 • [7:4] - バン ク 内のバ イ ト レーン位置で、サポー ト さ れ る 値は 0、 1、 2、 3 です。 • [3:0] - バ イ ト レーン内のビ ッ ト 位置で、サポー ト さ れ る 値は [0、 1、 2、 ...、 A、 B] です。 こ のパ ラ メ ー タ ーはピ ン配置に よ っ て異な り 、生成 さ れたデザ イ ン で手動で変更す る こ と はで き ま せ ん。 最上位のデー タ ま た は ア ド レ ス/制御バ イ ト グループで選択 し たバ ン ク を、 こ のパ ラ メ ー タ ーではバン ク 0 と し ま す。 バン ク の番号は 上か ら 順に 0、 1、 2 です。 パ ラ メ ー タ ー内では、バ イ ト グループ T0、T1、 T2、 T3 にそれぞれ 3、 2、 1、 0 の番号が付け ら れます。 バ イ ト グループ内の最下位ピ ン を MAP パ ラ メ ー タ ーでは 0 と し ます。 バ イ ト グループ内 の ピ ン番号は最下位 ピ ン か ら 最上位ピ ン に向 か っ て 0 ~ 9 の番号が付け ら れます (DQS I/O ピ ン を除 く )。 バ イ ト グループの DQS_N ピ ン と DQS_P ピ ンの番号はそれぞれ A、 B です。 192'h000_000_039_038_037_036_035_034_033_ 032_031_029_028_027_026_02B : ア ド レ ス幅が 16 ビ ッ ト で各 ピ ン が 12 ビ ッ ト で あ る こ と を 表 し ます。 こ の例では、 ア ド レ ス幅は 14 ビ ッ ト です。パ ラ メ ー タ ーの並びは MSB か ら LSB の順です (すなわち ADDR[0] はパ ラ メ ー タ ー の最下位 12 ビ ッ ト に該当)。 DDR3/DDR2 デザ イ ン に関す る 重要な変更は、 LPDDR2 にはバ イ ト レーンにおいて ア ド レ ス マ ッ プに使用で き る ビ ッ ト が 10 ビ ッ ト し かない と い う こ と で す。 こ れは、 LPDDR2 では CA が DDR であ る と い う 理由か ら です。 12'h235 : ア ド レ ス ピ ン を ロ ケーシ ョ ン 5 のバ ン ク 2、 バ イ ト レーン 3 に配置 し ます。 CS_MAP チ ッ プ セ レ ク ト のバン ク お よ びバ イ ト レーン位置 「ADDR_MAP」 の例を参照 し て く だ さ い。 情報です。 「ADDR_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 DQS_BYTE_MAP ス ト ロ ーブのバン ク お よ びバ イ ト レ ーン位置情報 「CK_BYTE_MAP」 の例を参照 し て く だ さ い。 です。 「CK_BYTE_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 DATA0_MAP、 DATA1_MAP、 DATA2_MAP、 DATA3_MAP、 DATA4_MAP、 DATA5_MAP、 DATA6_MAP、 DATA7_MAP、 DATA8_MAP デー タ バ ス 用のバン ク お よ びバ イ ト レーンの位置 「ADDR_MAP」 の例を参照 し て く だ さ い。 情報です。 「ADDR_MAP」 の説明を参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 MASK0_MAP デー タ マ ス ク のバン ク お よ びバ イ ト レーン位置情 「ADDR_MAP」 の例を参照 し て く だ さ い。 報です。 「ADDR_MAP」 の説明 を 参照 し て く だ さ い。 こ のパ ラ メ ー タ ーは ピ ン配置に よ っ て異な り 、 生成 さ れたデザ イ ン で手動で変更す る こ と はで き ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 524 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-27 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ンのピ ン配置パラ メ ー タ ー (続き) パラ メ ー タ ー 説明 DQS0_MAP 各 デ ー タ レ ー ン の DQS の バ ン ク お よ び バ イ ト DQS_MAP の例を参照 し て く だ さ い。 レーン位置情報です。 こ のパ ラ メ ー タ ーはピ ン配置 に よ っ て異な り 、生成 さ れたデザ イ ンで手動で変更 す る こ と はで き ません。 ADDR_0_BITLANES、 ADDR_1_BITLANES、 ADDR_2_BITLANES 各バ イ ト レーンにつ き 12 ビ ッ ト のパ ラ メ ー タ ーを PHY_0_BIT_LANES の 例 を 参 照 し て く だ さ 使用 し 、 必要な物理層の生成に使用す る I/O 位置を い。 決定 し ま す。 こ のパ ラ メ ー タ ーは、 ア ド レ ス/制御 が 選 択 さ れ て い る バ ン ク ご と に 存 在 し ま す。 CK/CK# お よ びデー タ ピ ン を 除 き 、 こ のパ ラ メ ー タ ーの生成の際にはア ド レ ス/制御 ピ ン し か考慮 さ れません。 DQS ピ ンは、 コ マ ン ド ア ド レ ス バ イ ト グループで CK/CK# に使用 さ れ る 場合 を 除い て除 外 さ れます。 こ のパ ラ メ ー タ ーはピ ン配置に よ っ て 異な り 、生成 さ れたデザ イ ンで手動で変更す る こ と はで き ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 例 japan.xilinx.com 525 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 設計ガ イ ド ラ イ ン こ こ では、 LPDDR2 SDRAM デザ イ ンの設計ガ イ ド ラ イ ンについて説明 し ます。 LPDDR2 SDRAM こ こ では、 バン ク の選択、 ピ ンの割 り 当て、 ピ ンの配置、 終端、 I/O 規格、 お よ び ト レース長な ど、 LPDDR2 SDRAM デザ イ ンに関す る ガ イ ド ラ イ ン を示 し ます。 デザイ ンの規則 メ モ リ の タ イ プ、 メ モ リ デバ イ ス、 デー タ 幅は、 選択 し た FPGA、 FPGA の ス ピー ド グ レー ド 、 デザ イ ンの動作周波 数に よ っ て制約を受け ます。 最終的な周波数範囲は、 特性評価の結果に基づいて決定 し ます。 ピ ンの割 り 当て MIG ツールが、 物理層の規則に従っ て、 メ モ リ イ ン タ ーフ ェ イ ス の ピ ンの割 り 当て を生成 し ます。 LPDDR2 デザイ ン におけ るバン ク およびピ ンの選択 ザ イ リ ン ク ス 7シ リ ー ズ FPGA は非常に高性能な メ モ リ イ ン タ ー フ ェ イ ス に対応す る よ う 設計 さ れ て い ま すが、 LPDDR2 SDRAM 物理層を使用す る 際にはい く つかの規則に従 う 必要があ り ます。ザ イ リ ン ク ス 7シ リ ーズ FPGA は、 各 DQS バ イ ト グループに専用の ロ ジ ッ ク を備え てい ます。 50 ピ ンの各バン ク それぞれに 4 つの DQS バ イ ト グルー プがあ り ます。 各バ イ ト グループには 1 つの DQS ク ロ ッ ク 兼用 (CC) I/O ペア と 10 の関連 I/O があ り ます。 一般的な LPDDR2 コ ン フ ィ ギ ュ レーシ ョ ン では、 こ れ ら 10 個の I/O の う ち 8 つを DQS に、1 つをデー タ マ ス ク (DM) に、 残 り の 1 つを DQS サンプ リ ン グに使用 し ます。 ただ し 、 こ の ピ ンは位相検出機能で DQS を キ ャ プチ ャ する ため に内部で使用 さ れ る ため、 物理的な接続はあ り ません。 ザ イ リ ン ク ス 7シ リ ーズ FPGA は、 高速同期専用の ク ロ ッ ク 配線が I/O バン ク 内で垂直に配線 さ れてい ます。 こ のた め、 LPDDR2 メ モ リ イ ン タ ーフ ェ イ ス はバン ク に水平でな く 垂直に配置す る 必要があ り ます。 ま た、 高 さ は最大で 3 バン ク ま でです。 7 シ リ ーズ LPDDR2 イ ン タ ーフ ェ イ ス の ピ ン配置は、 可能な限 り MIG ツールを使用 し て生成 し ます。 MIG ツールは 次の規則に従い ます。 • バ イ ト グループの DQS 信号は、 バン ク 内の指定 さ れた DQS CC ペアへ接続 し ます。 • DQ お よ び DM 信号は、 対応す る DQS 信号 と 関連付け ら れてい る バ イ ト グループの ピ ンへ接続 し ます。 • 制御 (CA、 CS_N、 CKE) お よ びア ド レ ス ラ イ ンは、 デー タ バ イ ト グループで使用 さ れていないバ イ ト グループ へ接続 し ます。 • すべてのア ド レ ス/制御バ イ ト グループは、 同 じ I/O バン ク に割 り 当て ます。 ア ド レ ス/制御バ イ ト グループは複 数のバン ク に分割で き ません。 • ア ド レ ス/制御バ イ ト グループは、 3 つの I/O バン ク に ま たが る イ ン タ ーフ ェ イ ス の中央の I/O バン ク に割 り 当て ます。 • CK は、 いずれか 1 つの制御バ イ ト グループの DQS ペアに接続 し ます。 こ れ ら の ピ ンは、 各 コ ン ポーネ ン ト に対 し て生成 さ れ、 I/O ピ ンの制限に よ っ て最大 4 つのポー ト /ペアのみ生成 さ れ ます。 1 つのバ イ ト グループでは、 1 つの CK ペアのみ接続 さ れ る 必要があ り ます。 CK ペアは各 コ ン ポーネ ン ト に対 し て生成 さ れ、 I/O ピ ンの制限 に よ っ て最大で 4 つのペア のみ生成 さ れ ま す。 こ の値は、 MIG GUI の [Memory Options for Controller] ページの [Memory Clock Selection] の設定に基づいて決定 さ れます。 CK/CK# 以外のア ド レ ス/制御ピ ンは、 DQS に割 り 当て ないで く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 526 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン • CS_N ピ ンは、 各 コ ン ポーネ ン ト に対 し て生成 さ れますが、 I/O ピ ンの制限に よ っ て最大で 4 ポー ト /ペアのみ生 成可能です。 • CKE ポー ト は 1 つ し か生成 さ れません。 • DCI をサポー ト し てい る バン ク では、 DCI (デジ タ ル制御 イ ン ピーダ ン ス) 基準用に VRN お よ び VRP が使用 さ れ ます。 こ れに よ り 、 DCI カ ス ケー ド が可能にな り ます。 • イ ン タ ーフ ェ イ ス は必ず垂直方向に配列 さ れます。 • シ ン グル イ ン タ ーフ ェ イ ス には 4 つ以上のバン ク は使用で き ません。選択す る すべてのバン ク は論理的に正 し い 組み合わせ と な る 必要があ り ます。 • シ ス テ ム ク ロ ッ ク 入力は メ モ リ イ ン タ ーフ ェ イ ス と 同 じ 列にあ る 必要があ り ます。 ま た、 可能な限 り ア ド レ ス/ 制御バン ク 内に配置す る こ と を推奨 し ます。 • SSI テ ク ノ ロ ジで実装 さ れたデバ イ ス には、 SLR があ り ます。 メ モ リ イ ン タ ーフ ェ イ スは複数の SLR を ま た ぐ こ と はで き ません。 指定 し たデバ イ スお よ びその他の使用可能な ピ ン互換デバ イ ス は、 こ の規則に必ず従 う 必要 があ り ます。 複数 コ ン ト ロー ラ ーによ るバン クの共有 メ モ リ イ ン タ ーフ ェ イ ス で使用 さ れてい る バン ク の未使用部分を別の メ モ リ イ ン タ ーフ ェ イ ス が共有す る こ と はで き ません。 1 つのバン ク にあ る すべての FIFO お よ び PHASER を制御する 専用 ロ ジ ッ ク は、 シ ン グル メ モ リ イ ン タ ー フ ェ イ ス の動作用に設計 さ れてお り 、 別の メ モ リ イ ン タ ーフ ェ イ ス と は共有で き ません。 ピ ンの入れ替え • ピ ンは、 それぞれのバ イ ト グループ (デー タ お よ びア ド レ ス/制御) 内で自由に入れ替え る こ と がで き ますが、 例 外 と し て DQS ペアは ク ロ ッ ク 兼用 DQS ペアに、 CK は ク ロ ッ ク 兼用 DQS ペアに当て ら れ る 必要があ り ます。 • バ イ ト グループ (デー タ お よ びア ド レ ス/制御) は、 互いに制限な く 入れ替え る こ と がで き ます。 • ア ド レ ス/制御バ イ ト グループの ピ ンは、 それぞれのバ イ ト グループ内で制限な く 入れ替え る こ と がで き ます。 • その他の ピ ンの入れ替えは許可 さ れてい ません。 内部 VREF [Internal VREF] は、 デー タ レー ト が 800Mb/s 以下の場合のみ使用で き ます。 シ ス テム ク ロ ッ ク、 MMCM の位置および制約 イ ン タ ーフ ェ イ ス のパフ ォーマ ン ス仕様を満たすには、 メ モ リ に ク ロ ッ ク を供給 し てい る バン ク に MMCM が必要で す。 ま た、 シ ス テ ム ク ロ ッ ク 入力 も こ のバン ク に配置す る こ と を強 く 推奨 し ます。 MIG ツールは可能な限 り こ れ ら 2 つの規則に従い ます。 ただ し 例外 と し て、 シ ン グル バン ク の 16 ビ ッ ト イ ン タ ーフ ェ イ ス では、 ク ロ ッ ク 入力用の ピ ンがない可能性があ り ます。 隣のバン ク か ら 周波数バ ッ ク ボーン を経由 し て MMCM に ク ロ ッ ク を入力す る 必要が あ り ます。 MMCM へのシ ス テ ム ク ロ ッ ク 入力は、 ク ロ ッ ク 兼用 I/O か ら 供給 し ます。 シ ス テ ム ク ロ ッ ク 入力は、同 じ 列にあ る イ ン タ ーフ ェ イ ス に し か使用で き ません。 こ の ク ロ ッ ク 入力を別の列か ら 駆 動す る こ と はで き ません。 こ れは、 PLL/MMCM お よ び ク ロ ッ ク 配線を追加す る こ と にな り 、 ジ ッ タ ーが大 き く な り すぎ る ためです。 MMCM か ら の未使用の出力は ク ロ ッ ク 出力 と し て使用で き ます。 こ れ ら の出力のみ、 設定を変更で き ます。 MMCM の全体的な動作や使用中の出力に関す る 設定は変更 し ないで く だ さ い。 複数の イ ン タ ーフ ェ イ ス で 1 つの MMCM を共有す る こ と はで き ません。 MMCM パ ラ メ ー タ ーの条件については、 485 ページの 「 ク ロ ッ キ ン グ アーキ テ ク チ ャ 」 を参照 し て く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 527 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ン XDC には タ イ ミ ン グ、 ピ ン、 I/O 規格に関す る 情報が含 ま れてい ま す。 イ ン タ ーフ ェ イ ス の動作周波数は、 MIG の GUI で sys_clk 制約を使用 し て設定 し ます。 こ の制約を変更す る 場合は、 ほかの内部パ ラ メ ー タ ーに も 影響が及ぶ ため、 MIG の GUI を再実行す る 必要があ り ます。 次に例を示 し ます。 NET "sys_clk_p" TNM_NET = TNM_sys_clk; TIMESPEC "TS_sys_clk" = PERIOD "TNM_sys_clk" 1.875 ns; clk_ref 制約で IDELAY 基準 ク ロ ッ ク の周波数を設定 し ます (通常は 200MHz)。 次に例を示 し ます。 NET "clk_ref_p" TNM_NET = TNM_clk_ref; TIMESPEC "TS_clk_ref" = PERIOD "TNM_clk_ref" 5 ns; I/O 規格は、 LPDDR2 イ ン タ ーフ ェ イ ス に合わせて HSUL_12 が適宜設定 さ れ ます。 LPDDR2 メ モ リ イ ン タ ーフ ェ イ ス が指定 さ れたバン ク にシ ス テ ム ク ロ ッ ク (sys_clk*) お よ び I/O 遅延基準 ク ロ ッ ク (clk_ref*) が割 り 当て ら れ る 場合、 I/O 規格は DIFF_HSLU_12 ま たは HSUL_12 (差動ま たはシ ン グルエ ン ド のいずれであ る かに依存) にな る 必要 が あ り ま す。 こ れ ら の ク ロ ッ ク が LPDDR2 イ ン タ ー フ ェ イ ス バ ン ク の外側に配置 さ れ て い る 場合、 I/O 規格は LVDS_25 ま たは LVCMOS25 (差動ま たはシ ン グルエン ド のいずれであ る かに依存) にな り ます。 こ れ ら の規格は、 シ ス テ ム コ ン フ ィ ギ ュ レーシ ョ ンに合わせて変更可能です。 こ れ ら の信号は、 シ ス テ ム接続のために最上位に配線 さ れ ます。 • sys_rst : メ イ ン シ ス テ ム リ セ ッ ト 信号です。 • init_calib_complete : 内部キ ャ リ ブ レーシ ョ ンが完了 し 、 イ ン タ ーフ ェ イ ス の使用準備が整っ てい る こ と を示す信 号です。 • tg_compare_error : 読み出 し デー タ と 書 き 込みデー タ が一致 し ない場合にサンプル デザ イ ンの ト ラ フ ィ ッ ク ジ ェ ネ レー タ ーに よ っ て生成 さ れ る 信号です。 こ れ ら の信号はすべて LVCMOS25 に設定 さ れてい ますが、 シ ス テ ム デザ イ ンに応 じ て変更が可能です。 こ れ ら の信 号を生成 し て外部ピ ンに出力す る のではな く 、 内部で使用す る こ と も で き ます。 16 ビ ッ ト 幅の イ ン タ ーフ ェ イ ス では、 ア ド レ ス/制御お よ びデー タ があ る バン ク の上下いずれかのバン ク にシ ス テ ム ク ロ ッ ク が必要 と な る こ と があ り ます。 こ の場合、 MIG ツールは XDC に制約を追加 し ます。 次に例を示 し ます。 set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets sys_clk_p] set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_pins -hierarchical *pll*CLKIN1] PAR の実行時に次の よ う な警告が表示 さ れますが、 こ の警告は無視 し てか ま い ません。 WARNING:Place:1402 - A clock IOB/PLL clock component pair have been found that are not placed at an optimal clock IOB/PLL site pair.The clock IOB component <sys_clk_p> is placed at site <IOB_X1Y76>.The corresponding PLL component <u_backb16/u_ddr2_infrastructure/plle2_i> is placed at site <PLLE2_ADV_X1Y2>.The clock I/O can use the fast path between the IOB and the PLL if the IOB is placed on a Clock Capable IOB site that has dedicated fast path to PLL sites within the same clock region.You might want to analyze why this issue exists and correct it.This is normally an ERROR but the CLOCK_DEDICATED_ROUTE constraint was applied on COMP.PIN <sys_clk_p.PAD> allowing your design to continue.This constraint disables all clock placer rules related to the specified COMP.PIN.The use of this override is highly discouraged as it might lead to very poor timing results.It is recommended that this error condition be corrected in the design. リ ソ ース が限 ら れ る ため、 MIG ツールで生成 し た メ モ リ イ ン タ ーフ ェ イ ス を含む領域か ら I/O ク ロ ッ キ ン グ バ ッ ク ボーン経由で隣接す る 領域の CMT ブ ロ ッ ク へユーザー ク ロ ッ ク を駆動 し ないで く だ さ い。詳細は、『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) (UG472) [参照 10] を参照 し て く だ さ い。 MIG ツールは選択 し たデー タ レー ト お よ び電圧入力に基づいて Vccaux_io 制約を設定 し ます。生成 さ れた XDC には、 必要に応 じ て制約が追加 さ れます。 次に例を示 し ます。 NET "lpddr2_dq[0]" LOC = "E16" | IOSTANDARD = HSUL_12 | VCCAUX_IO = NORMAL ; # Bank:15 - Byte : T2 NET "lpddr2_dq[1]" LOC = "D17" | IOSTANDARD = HSUL_12 | VCCAUX_IO = NORMAL ; # Bank:15 - Byte : T2 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 528 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 詳細は、 『 タ イ ミ ン グ ク ロ ージ ャ ユーザー ガ イ ド 』 (UG612) [参照 15] を参照 し て く だ さ い。 メ モ リ バン ク の 1 つにあ る CCIO ピ ンに メ モ リ シ ス テ ム入力 (sys_clk_p/sys_clk_n) が配置 さ れてい る LPDDR2 SDRAM イ ン タ ーフ ェ イ ス では、MIG に よ っ て CCIO ピ ンが DIFF_HSUL_12 I/O 規格 (VCCO = 1.2V) に設定 さ れます。 終端 LPDDR2 SDRAM の終端処理を行 う 場合は次の規則に従っ て く だ さ い。 • シ ミ ュ レーシ ョ ン (IBIS ま たはほかの ツールを使用) を実行す る こ と を強 く 推奨 し ます。 コ マ ン ド ア ド レ スお よ び制御 (CS_N) 信号の ロ ーデ ィ ン グは、 ス ピー ド 要件や終端 ト ポ ロ ジ な ど の さ ま ざ ま な要因に依存 し ます。 ロ ー デ ィ ン グが性能目標の達成の妨げ と な る 場合 も あ り ます。 • 終端を使用す る 場合、 ロ ー ド 側の VTT に抵抗を使用 し て双方向信号を終端処理 し て く だ さ い。 VCCO と GND へ の分割終端を使用で き ますが、 こ の方法は消費電力が高 く な り ます。 双方向信号は、 その両端に終端抵抗が必要 にな る 場合があ り ます。 • 終端を使用す る 場合、 ロ ー ド 側に差動抵抗を使用 し て差動信号を終端処理 し て く だ さ い。 双方向信号は、 その両 端に終端抵抗が必要にな る 場合があ り ます。 • 使用す る 際、 すべての終端は、 で き る 限 り ロ ー ド に接近 さ せて配置 し ます。 終端は、 ロ ー ド ピ ンか ら 離れなけれ ばその前後ど ち ら に配置 し て も 問題あ り ません。 こ の距離はシ ミ ュ レーシ ョ ンで決定で き ます。 • CKE 信号は、 メ モ リ 初期化時に GND への 4.7kΩ の抵抗を付けてプルダ ウ ンす る 必要があ り ます。 • DM を FPGA で駆動 し ない場合 は、 DM を GND にプルダ ウ ンす る 必要があ り ます(デー タ マ ス ク が未使用ま たは 無効の場合) 。 • LPDDR2 には、 DDR2/DDR3 の よ う な SDRAM 出力駆動能力を設定す る GUI オプシ ョ ンがあ り ません。 し たがっ て、 出力駆動能力にデフ ォ ル ト の 40Ω 設定を使用 し て く だ さ い。 I/O 規格 LPDDR2 SDRAM の I/O 規格を選択す る 際は、 次の規則に従っ て く だ さ い。 • MIG ツールで生成 し たデザ イ ンは、 High-Performance バン ク のすべての双方向 I/O (DQ、 DQS) に HSUL_12 お よ び DIFF_HSUL_12 規格を使用 し ます。 • 制御/ア ド レ ス信号や転送 メ モ リ ク ロ ッ ク 信号な ど の単方向出力には、HSUL_12 お よ び DIFF_HSUL_12 規格を使 用 し ます。 ト レース長 こ こ で説明す る ト レース長は、 高速動作が必要な アプ リ ケーシ ョ ン を前提 と し てい ます。 有効 ト レース長を決定す る 際は、 パ ッ ケージ遅延を考慮す る 必要があ り ます。 同 じ パ ッ ケージの異な る デバ イ ス では、 内部パ ッ ケージ ス キ ュ ー の値が変わ り ます。 同一パ ッ ケージの別デバ イ ス を使用す る 場合は、 MIG の [Controller Options] ページで最小周期を 適切な値ま で下げて く だ さ い。 遅延値を決定す る 方法 と し て、 IBIS モデルで提供 さ れ る 各ピ ン の L お よ び C 値を使用す る 方法があ り ます。 遅延値 は、 (L × C) の平方根で求め る こ と がで き ます。 も う 1 つの方法は Vivado を使用 し てパ ッ ケージ長を求め る こ と です。 次の コ マ ン ド を使用 し て、 タ ーゲ ッ ト デバ イ ス の全ピ ンに対す る パ ッ ケージ遅延値を含む csv フ ァ イ ルを生成 し ます。 link_design -part <part_number> write_csv <file_name> た と えば、 7 シ リ ーズ FPGA XC7K160T-FF676 のパ ッ ケージ遅延情報を取得する には、 次の コ マ ン ド を使用 し ます。 link_design -part xc7k160tfbg676 write_csv flight_time Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 529 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン こ れで、 各ピ ンのパ ッ ケージ ト レース遅延情報を含む flight_time.csv と い う 名前の フ ァ イ ルが現在のデ ィ レ ク ト リ に生成 さ れます。 LPDDR2 SDRAM イ ン タ ーフ ェ イ ス の ト レース一致ガ イ ド ラ イ ンに従 う と 同時に、 全体的な電 気的伝搬遅延には こ のパ ッ ケージ遅延を考慮 し ます。 同一パ ッ ケージの異な る ダ イ では、 パ ッ ケージ ピ ンが同 じ で も 遅延値が異な る 可能性があ り ます。その よ う な結果が予測 さ れ る 場合は、遅延値を適切に平均化す る 必要があ り ます。 LPDDR2 SDRAM 信号間の最大電気的遅延に関する 規則は次の と お り です • すべての DQ ま たは DM と 関連す る DQS/DQS# と の電気的遅延の最大値は ±5ps と し ます。 • すべてのア ド レ ス/制御信号 と 関連す る CK/CK# と の電気的遅延の最大値は ±25ps と し ます。 • すべての DQS/DQS# と CK/CK# の間の電気的遅延の最大値は ±25ps と し ます。 LPDDR2 ピ ン配置の例 表 4-28 に、 1 つのバン ク に含まれ る 16 ビ ッ ト の LPDDR2 イ ン タ ーフ ェ イ ス の例を示 し ます。 こ の例は、 1GB の x16 デバ イ ス を使用す る コ ン ポーネ ン ト イ ン タ ーフ ェ イ ス を表 し てい ます。 x8 コ ン ポーネ ン ト を使用す る 場合、 ま たは さ ら に多数のア ド レ ス ピ ンが必要な高集積デバ イ ス が必要な場合には、 次のオプシ ョ ンがあ り ます。 • バン ク を 1 つ追加で使用で き ます。 • タ イ ミ ン グが満た さ れていれば、RESET_N を別のバン ク に移動で き ます。 こ の信号の外部 タ イ ミ ン グは ク リ テ ィ カルではな く 、 レベル シ フ タ ーが使用で き ます。 • DCI マ ス タ ー用に別のバン ク が使用で き る 場合は、 DCI を カ ス ケー ド し て VRN/VRP ピ ン を空け る こ と がで き ま す。 ヒ ン ト : LPDDR2 メ モ リ イ ン タ ーフ ェ イ ス に終端は必要あ り ません。 詳細は、 メ モ リ ベン ダーにお問い合わせ く だ さ い。 終端が必要な場合は、 終端のガ イ ド ラ イ ン を参照 し て く だ さ い。 こ の例では内部 VREF を使用 し てい ます。 表 4-28 : 1 つのバン ク に含まれる 16 ビ ッ ト の LPDDR2 イ ン タ ー フ ェ イ ス バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 VRP – SE 49 – 1 DQ15 D_11 P 48 – 1 DQ14 D_10 N 47 – 1 DQ13 D_09 P 46 – 1 DQ12 D_08 N 45 – 1 DQS1_P D_07 P 44 DQS-P 1 DQS1_N D_06 N 43 DQS-N 1 DQ11 D_05 P 42 – 1 DQ10 D_04 N 41 – 1 DQ9 D_03 P 40 – 1 DQ8 D_02 N 39 – 1 DM1 D_01 P 38 – 1 – D_00 N 37 – 1 DQ7 C_11 P 36 – 1 DQ6 C_10 N 35 – 1 DQ5 C_09 P 34 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 530 第 4 章 : LPDDR2 SDRAM メ モ リ イ ン タ ー フ ェ イ ス ソ リ ュ ーシ ョ ン 表 4-28 : 1 つのバン ク に含まれる 16 ビ ッ ト の LPDDR2 イ ン タ ー フ ェ イ ス (続き) バン ク 信号名 バイ ト グループ I/O タ イ プ I/O の数 特記 1 DQ4 C_08 N 33 – 1 DQS0_P C_07 P 32 DQS-P 1 DQS0_N C_06 N 31 DQS-N 1 DQ3 C_05 P 30 – 1 DQ2 C_04 N 29 – 1 DQ1 C_03 P 28 CCIO-P 1 DQ0 C_02 N 27 CCIO-N 1 DM0 C_01 P 26 CCIO-P 1 – C_00 N 25 – 1 RAS_N B_11 P 24 CCIO-P 1 – B_10 N 23 – 1 – B_09 P 22 – 1 – B_08 N 21 – 1 CK_P B_07 P 20 DQS-P 1 CK_N B_06 N 19 DQS-N 1 – B_05 P 18 – 1 – B_04 N 17 – 1 CS_N B_03 P 16 – 1 – B_02 N 15 – 1 CKE B_01 P 14 – 1 A12 B_00 N 13 – 1 – A_11 P 12 – 1 – A_10 N 11 – 1 A9 A_09 P 10 – 1 A8 A_08 N 9 – 1 A7 A_07 P 8 DQS-P 1 A6 A_06 N 7 DQS-N 1 A5 A_05 P 6 – 1 A4 A_04 N 5 – 1 A3 A_03 P 4 – 1 A2 A_02 N 3 – 1 A1 A_01 P 2 – 1 A0 A_00 N 1 – 1 VRN – SE 0 – Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 531 第 5章 マルチ コ ン ト ロー ラ ー デザイ ン は じ めに こ の章では、 マルチ コ ン ト ロ ー ラ ー デザ イ ン の仕様 (サポー ト さ れ る 機能、 さ れない機能を含む) お よ びピ ン配置に 関す る 規則について説明 し ます。 サポー ト 対象の機能、 お よ び対象外の機能は次の と お り です。 • 最大 8 つの コ ン ト ロ ー ラ ーをサポー ト し ます。 ° ° DDR3 SDRAM (ネ イ テ ィ ブのみ)、 QDR II+ SRAM、 RLDRAM II な ど あ ら ゆ る メ モ リ イ ン タ ーフ ェ イ ス を最 大 8 コ ン ト ロ ー ラ ーま での組み合わせでマルチ イ ン タ ーフ ェ イ ス をサポー ト し ます。 DDR3 SDRAM AXI イ ン タ ーフ ェ イ ス を ほかの メ モ リ イ ン タ ーフ ェ イ ス と 組み合わせたマルチ イ ン タ ーフ ェ イ ス はサポー ト さ れ ません。 DDR3 SDRAM (AXI のみ) イ ン タ ーフ ェ イ ス のマルチ コ ン ト ロ ー ラ ーは、 最大 8 つの独立 し た コ ン ト ロ ー ラ ーを サポー ト し ま す。 DDR3 SDRAM ネ イ テ ィ ブ と AXI イ ン タ ー フ ェ イ ス を組み合わせた マルチ コ ン ト ロ ー ラ ー デザ イ ンはサポー ト さ れません。 • いずれか 1 つの コ ン ト ロ ー ラ ーに選択 し たバン ク は別の コ ン ト ロ ー ラ ーには使用で き ません。 つま り 、 同 じ メ モ リ イ ン タ ーフ ェ イ ス で も 別の メ モ リ イ ン タ ーフ ェ イ ス で も 、 複数の コ ン ト ロ ー ラ ーに同 じ バン ク を割 り 当て る こ と はで き ません。 • メ モ リ オプシ ョ ン (周波数、 デー タ 幅な ど) やその他のオプシ ョ ンはすべてシ ン グル コ ン ト ロ ー ラ ーのオプシ ョ ン と 共通です。 • 種類の異な る 2 つの コ ン ト ロ ー ラ ーで同 じ バン ク は共有で き ません。 • メ モ リ イ ン タ ーフ ェ イ ス (DDR3 SDRAM、 QDR II+ SRAM、 RLDRAM II) の規則はすべてシ ン グル コ ン ト ロ ー ラ ー デザ イ ンの場合 と 同 じ です。 重要 : メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン v2.3 では、 Vivado® Design Suite のみがサポー ト さ れてい ます。 ISE® Design Suite は こ のバージ ョ ンではサポー ト さ れてい ません。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 532 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン Vivado Design Suite での MIG の使用 こ こ では、 Vivado Design Suite を使用 し て MIG IP を生成 し 、 イ ンプ リ メ ン ト す る 手順を説明 し ます。 1. Vivado IP を起動 し ます (図 5-1)。 X-Ref Target - Figure 5-1 図 5-1 : Vivado ツール 2. 新 し いプ ロ ジ ェ ク ト を作成す る には、図 5-1 に示す [Create New Project] を ク リ ッ ク し て図 5-2 のページ を開 き ま す。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 533 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン X-Ref Target - Figure 5-2 図 5-2 : 新規 Vivado ツール プ ロ ジ ェ ク ト の作成 3. [Next] を ク リ ッ ク し て [Project Name] ページに進みます (図 5-3)。プ ロ ジ ェ ク ト 名 と プ ロ ジ ェ ク ト の場所を入力 し ます。 プ ロ ジ ェ ク ト は入力 し た内容に基づいてデ ィ レ ク ト リ に保存 さ れます。 X-Ref Target - Figure 5-3 図 5-3 : [Project Name] ページ 4. [Next] を ク リ ッ ク し て [Project Type] ページに進みます (図 5-4)。MIG に よ っ て生成 さ れ る フ ァ イ ルは RTL 形式で あ る ため、 [Project Type] で [RTL Project] を オンに し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 534 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン X-Ref Target - Figure 5-4 図 5-4 : [Project Type] ページ 5. [Next] を ク リ ッ ク し て [Add Sources] ページに進みます (図 5-5)。 こ こ ではプ ロ ジ ェ ク ト に RTL フ ァ イ ルを追加で き ます。 プ ロ ジ ェ ク ト を あ ら か じ め作成 し ていない場合は次のページに進みます。 X-Ref Target - Figure 5-5 図 5-5 : [Add Sources] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 535 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン 6. [Next] を ク リ ッ ク し て [Add Existing IP (Optional)] ページ を開き ます (図 5-6)。 IP が作成済の場合は、 IP に よ っ て 生成 さ れた XCI フ ァ イ ルをプ ロ ジ ェ ク ト に追加で き 、 以前作成 し た IP フ ァ イ ルが自動的に追加 さ れます。 IP が あ ら か じ め作成 さ れていない場合は次のページに進みます。 X-Ref Target - Figure 5-6 図 5-6 : [Add Existing IP (Optional)] ページ 7. [Next] を ク リ ッ ク し て [Add Constraints (Optional)] ページ を開き ます (図 5-7)。 制約フ ァ イ ルが リ ポジ ト リ にあ る 場合、 それをプ ロ ジ ェ ク ト に追加で き ます。 制約フ ァ イ ルがない場合は次のページに進みます。 X-Ref Target - Figure 5-7 図 5-7 : [Add Constraints (Optional)] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 536 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン 8. [Next] を ク リ ッ ク し て [Default Part] ページ (図 5-8) へ進みます。 こ のページでは タ ーゲ ッ ト デバ イ ス を選択で き ます。 図 5-8 の よ う な [Default Part] ページが表示 さ れます。 X-Ref Target - Figure 5-8 図 5-8 : [Default Part] ページ (デ フ ォル ト ウ ィ ン ド ウ) タ ーゲ ッ ト と す る [Family]、 [Package] お よ び [Speed grade] を選択 し ます。 使用可能なデバ イ ス が同 じ ページに表 示 さ れ、 そ こ か ら タ ーゲ ッ ト デバ イ ス を選択で き ます (図 5-9)。 X-Ref Target - Figure 5-9 図 5-9 : [Default Part] ページ (カ ス タ ム ウ ィ ン ド ウ) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 537 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン [Parts] を使用 し てデバ イ ス を選択す る 以外に、 [Boards] でデバ イ ス を選択す る こ と も で き ます。 こ こ ではザ イ リ ン ク ス がサポー ト す る 評価ボー ド が表示 さ れます (図 5-10)。 こ のオプシ ョ ン を使用する と 、 評価ボー ド でデザ イ ン を使用で き ます。 前の手順で既存の IP の XCI フ ァ イ ルを選択 し た場合、 同 じ デバ イ ス を こ こ で選択す る 必要 があ り ます。 X-Ref Target - Figure 5-10 図 5-10 : デ フ ォル ト のデバイ スおよびボー ド 9. [Next] を ク リ ッ ク し て [New Project Summary] ページ を開 き ます (図 5-11)。 こ こ では、 選択 し たプ ロ ジ ェ ク ト のサ マ リ が表示 さ れます。 X-Ref Target - Figure 5-11 図 5-11 : [New Project Summary] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 538 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン 10. [Finish] を ク リ ッ ク し てプ ロ ジ ェ ク ト の作成を終了 し ます。 11. [Project Manager] で [IP Catalog] を ク リ ッ ク し て IP カ タ ロ グ ウ ィ ン ド ウ を開き ます。 Vivado IP カ タ ロ グ ウ ィ ン ド ウ がパネルの右側に表示 さ れます (図 5-12)。 12. MIG ツールは IP カ タ ロ グ ウ ィ ン ド ウ の [Memories & Storage Elements] → [Memory Interface Generators] (図 5-12) にあ り ますが、 検索ボ ッ ク ス に 「MIG」 と 入力す る こ と で も 検索で き ます。 X-Ref Target - Figure 5-12 図 5-12 : IP カ タ ログ ウ ィ ン ド ウ - [Memory Interface Generator] Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 539 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン 13. [MIG 7 Series] を ク リ ッ ク し て MIG ツールを開 き ます (図 5-13)。 X-Ref Target - Figure 5-13 図 5-13 : 7 シ リ ーズ FPGA の MIG (Memory Interface Generator) の最初のページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 540 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン コ アのカ ス タ マ イ ズ と 生成 注意 : Windows オペレーテ ィ ン グ シ ス テ ムでは、 パ ス の長 さ が最大で 260 文字ま でに制限 さ れてお り 、 こ れに よ っ て Vivado ツールで問題が生 じ る 可能性があ り ます。 こ の問題を回避す る には、 プ ロ ジ ェ ク ト 作成時に可能な限 り 短い名 前 と デ ィ レ ク ト リ の場所を使用 し 、 IP や IP プ ロ ジ ェ ク ト の定義お よ びブ ロ ッ ク デザ イ ンの作成を行っ て く だ さ い。 マルチ コ ン ト ロー ラ ー [MIG Output Options] ページで コ ン ト ロ ー ラ ーの数を選択 し ます (図 5-14)。 設定で き る コ ン ト ロ ー ラ ーの数は、 デバ イ ス に用意 さ れてい る バン ク の数、 お よ び選択 し た メ モ リ イ ン タ ーフ ェ イ ス の コ ン フ ィ ギ ュ レ ーシ ョ ン (選択 し た デー タ 幅 と バン ク 数) に よ っ て異な り ます。 X-Ref Target - Figure 5-14 図 5-14 : [MIG Output Options] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 541 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン 7 シ リ ーズ FPGA マルチ コ ン ト ロー ラ ー ブ ロ ッ ク デザイ ンの作成 メ モ リ の選択 [Memory Selection] ページは、 シ ン グル コ ン ト ロ ー ラ ー デザ イ ン と マルチ コ ン ト ロ ー ラ ー デザ イ ンで異な り ます。 こ のページで メ モ リ イ ン タ ーフ ェ イ ス ご と に コ ン ト ロ ー ラ ーの数を選択 し ます (図 5-15)。 X-Ref Target - Figure 5-15 図 5-15 : [Memory Selection] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 542 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン FPGA オプ シ ョ ン デバ ッ グ オプシ ョ ン を選択で き る のはいずれか 1 つの コ ン ト ロ ー ラ ーのみです。選択 し た コ ン ト ロ ー ラ ーに対 し てデ バ ッ グ ロ ジ ッ ク が生成 さ れます (図 5-16)。 X-Ref Target - Figure 5-16 図 5-16 : [FPGA Options] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 543 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン 拡張 FPGA オプ シ ョ ンの設定 図 5-17 に、 マルチ コ ン ト ロ ー ラ ー デザ イ ン に 3 つの メ モ リ イ ン タ ー フ ェ イ ス を すべて選択 し た場合の [Extended FPGA Options] ページ を示 し ます。 X-Ref Target - Figure 5-17 図 5-17 : [Extended FPGA Options] ページ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 544 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン シ ス テム ク ロ ッ ク ピ ンの選択 [System Pins Selection] ページでシ ス テ ム ク ロ ッ ク ピ ン を選択 し ます。 シ ス テ ム ク ロ ッ ク ピ ンは各 コ ン ト ロ ー ラ ーご と に選択で き ます。 こ の画面は、 コ ン ト ロ ー ラ ーの数に よ っ て異な り ます (図 5-18)。 X-Ref Target - Figure 5-18 図 5-18 : [System Clock Pin Selection] ページ シ ス テム ク ロ ッ クの共有 シ ス テ ム ク ロ ッ ク ピ ン を共有す る 際の基準は次の と お り です。 • シ ス テ ム ク ロ ッ ク ピ ンは、 入力周波数が同 じ 場合に複数の コ ン ト ロ ー ラ ー間で共有で き ます。 • メモリ す。 • 1 つの CCIO ポー ト で PLL を駆動で き 、 シ ス テ ム ク ロ ッ ク ピ ンが駆動可能な PLL の数に上限はあ り ません。 つ ま り 、 同 じ ピ ン を使用で き る コ ン ト ロ ー ラ ーの数に制限はあ り ません。 • [Next] を ク リ ッ ク し てシ ス テ ム ク ロ ッ ク ピ ンの選択が完了する と 、 MIG は基準に対 し て検証を行い ます。 • 同 じ ピ ン を選択す る と 、 複数の コ ン ト ロ ー ラ ー間でその ピ ンが共有 さ れます。 • シ ス テ ム ク ロ ッ ク ピ ンが共有 さ れてい る か ど う かに関係な く 、 各 コ ン ト ロ ー ラ ーには PLL お よ び MMCM がそ れぞれ 1 つずつ必要です。 シ ス テ ム ク ロ ッ ク のみが共有可能で、 PLL や MMCM な ど のその他の リ ソ ース は コ ン ト ロ ー ラ ー間で共有 さ れません。 イ ン タ ーフ ェ イ ス で選択 さ れたバン ク が同 じ 列に存在す る 限 り 、 ピ ンは コ ン ト ロ ー ラ ー間で共有で き ま Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 545 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン MIG 用の Vivado 統合デザイ ン フ ロー 1. [Generate] を ク リ ッ ク す る と 、 [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 こ のダ イ ア ロ グ ボ ッ ク ス には、 図 5-19 の よ う に、 [Out-of-Context Settings] があ り ます。 X-Ref Target - Figure 5-19 図 5-19 : [Generate Output Products] ダ イ ア ログ ボ ッ ク ス Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 546 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン 2. [Out-of-Context Settings] を ク リ ッ ク し て、合成済みチ ェ ッ ク ポ イ ン ト の生成を設定 し ます。Out-of-Context フ ロ ー を有効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ ンに し ます。 こ の フ ロ ーを無効にす る 場合は、 チ ェ ッ ク ボ ッ ク ス を オ フ に し ます。 図 5-20 の よ う に、 デフ ォ ル ト では有効にな っ てい ます。 X-Ref Target - Figure 5-20 図 5-20 : [Out-of-Context Settings] ダ イ ア ログ ボ ッ ク ス 3. MIG のデザ イ ンは、 Vivado の階層デザ イ ン フ ロ ーに準拠 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) [参照 5] お よ び『Vivado Design Suite チ ュ ー ト リ アル : 階層デザ イ ン』 (UG946) [参照 6] を 参照 し て く だ さ い。 4. MIG デザ イ ンが生成 さ れ る と 、 図 5-21 の よ う なプ ロ ジ ェ ク ト ウ ィ ン ド ウ が表示 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 547 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン X-Ref Target - Figure 5-21 図 5-21 : Vivado ツールのプ ロ ジ ェ ク ト ウ ィ ン ド ウ (IP コ アの生成後) 5. プ ロ ジ ェ ク ト が作成 さ れ る と 、 XCI フ ァ イ ルがプ ロ ジ ェ ク ト の [Hierarchy] に追加 さ れます。 同 じ 画面に user_design のモ ジ ュ ール階層が表示 さ れ ま す。 HDL お よ び XDC フ ァ イ ルの リ ス ト は、 [Sources] ビ ュ ーの [IP Sources] に表示 さ れます。 モジ ュ ールま たはフ ァ イ ルを ダブル ク リ ッ ク す る と 、 Vivado のエデ ィ タ ーでその フ ァ イ ルが開 き ます。 こ れ ら の フ ァ イ ルは読み取 り 専用です。 X-Ref Target - Figure 5-22 図 5-22 : Vivado ツールのプ ロ ジ ェ ク ト ソ ース ウ ィ ン ド ウ Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 548 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン [Create Design] フ ロ ーま たは [Verify Pin Changes and Update Design] フ ロ ーを使用 し てデザ イ ン を MIG か ら 生成で き ます。 MIG ツールか ら のデザ イ ン の生成については、 こ れ ら の フ ロ ーに差異はあ り ません。 デザ イ ン を MIG ツールか ら 生成す る フ ロ ーに関係な く 、XCI フ ァ イ ルは Vivado プ ロ ジ ェ ク ト に追加 さ れます。 イ ンプ リ メ ン テー シ ョ ン フ ロ ーはプ ロ ジ ェ ク ト に追加 さ れた XCI フ ァ イ ルに依存す る ため、 こ の フ ロ ーはあ ら ゆ る 状況において 同 じ です。 6. MIG で生成 さ れたすべてのユーザー デザ イ ン RTL お よ び XDC フ ァ イ ルは自動的にプ ロ ジ ェ ク ト へ追加 さ れま す。 フ ァ イ ルが変更 さ れ、 こ れ ら を再度生成 し たい場合は、 XCI フ ァ イ ルで右 ク リ ッ ク し て [Generate Output Products] を ク リ ッ ク し ます (図 5-23)。 X-Ref Target - Figure 5-23 図 5-23 : RTL および制約の生成 7. [Generate Output Products] を ク リ ッ ク する と [Manage Outputs] ウ ィ ン ド ウ が表示 さ れます (図 5-24)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 549 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン X-Ref Target - Figure 5-24 図 5-24 : 生成用のウ ィ ン ド ウ 8. ユーザー デザ イ ンの RTL フ ァ イ ルお よ び制約フ ァ イ ル (XDC フ ァ イ ル) はすべて [Sources] → [Libraries] ビ ュ ー で表示で き ます (図 5-25)。 X-Ref Target - Figure 5-25 図 5-25 : Vivado プ ロ ジ ェ ク ト – RTL フ ァ イル と 制約 フ ァ イル 9. Vivado は [Open IP Example Design] フ ロ ーをサポー ト し てい ます。 こ の フ ロ ーを使用 し てサンプル デザ イ ン を 作成す る には、 [Sources] ビ ュ ーで IP を右 ク リ ッ ク し ます (図 5-26)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 550 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン X-Ref Target - Figure 5-26 図 5-26 : IP サン プル デザイ ン を開 く 10. こ のオプシ ョ ンでは新 し い Vivado プ ロ ジ ェ ク ト が作成 さ れます。 メ ニ ュ ーを選択す る と ダ イ ア ロ グ ボ ッ ク ス が 表示 さ れ、 こ のダ イ ア ロ グ ボ ッ ク ス に従っ て新 し いデザ イ ン プ ロ ジ ェ ク ト のデ ィ レ ク ト リ に移動 し ます。 デ ィ レ ク ト リ を選択 し て (ま たはデフ ォ ル ト を使用) [OK] を ク リ ッ ク し ます。 こ れに よ り 、 すべてのサンプル デザ イ ン と IP の コ ピーを含む新 し い Vivado が起動 し ます。 こ のプ ロ ジ ェ ク ト で は、 example_top が イ ンプ リ メ ン テーシ ョ ンの最上位デ ィ レ ク ト リ 、 sim_tb_top がシ ミ ュ レーシ ョ ンの最上 位デ ィ レ ク ト リ と な っ てい ます (図 5-27)。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 551 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン X-Ref Target - Figure 5-27 図 5-27 : サン プル デザイ ンのプ ロ ジ ェ ク ト 11. [Project Manager] → [Program and Debug] の下にあ る [Generate Bitstream] を ク リ ッ ク し 、 生成 さ れたデザ イ ン の BIT フ ァ イ ルを生成 し ます。 <project directory>/<project directory>.runs/ impl_1 デ ィ レ ク ト リ には、イ ンプ リ メ ン テーシ ョ ン実行後にプ ロ ジ ェ ク ト 用に生成 さ れた レ ポー ト フ ァ イ ルがすべて含まれます。 こ のプ ロ ジ ェ ク ト では、 シ ミ ュ レーシ ョ ン も 実行で き ます。 12. MIG IP コ アは [Re-customize IP] を使用 し て再度カ ス タ マ イ ズで き ます。 example_design プ ロ ジ ェ ク ト で IP を再度カ ス タ マ イ ズす る こ と は推奨 さ れてい ません。 example_design プ ロ ジ ェ ク ト を閉 じ 、 元のプ ロ ジ ェ ク ト に戻っ てそ こ でカ ス タ マ イ ズす る のが正 し い方法です。 XCI フ ァ イ ルを右 ク リ ッ ク し て [Recustomize IP] を ク リ ッ ク す る と (図 5-28)、 MIG の GUI が表示 さ れ る のでオプシ ョ ン を設定 し てデザ イ ン を生成 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 552 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン X-Ref Target - Figure 5-28 図 5-28 : IP の再カ ス タ マ イ ズ Vivado Design Suite か ら MIG ツールを起動す る 手順はシ ン グル コ ン ト ロ ー ラ ー デザ イ ンの場合 と 同 じ です。 詳細は、 こ のガ イ ド の各 メ モ リ イ ン タ ーフ ェ イ ス の章を参照 し て く だ さ い。 こ こ では、 マルチ コ ン ト ロ ー ラ ー デザ イ ン と シ ン グル コ ン ト ロ ー ラ ー デザ イ ン で異な る MIG の GUI ページについてのみ説明 し ます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 553 第 5 章 : マルチ コ ン ト ロー ラ ー デザイ ン デ ィ レ ク ト リ 構造 MIG の出力デ ィ レ ク ト リ 構造は、シ ン グル コ ン ト ロ ー ラ ー デザ イ ンの場合 と はユーザー デザ イ ンの RTL フ ォ ルダー が若干異な り ます。 ユーザー デザ イ ンの RTL フ ォ ルダー直下に各 メ モ リ イ ン タ ーフ ェ イ ス のサブ フ ォ ルダーが作成 さ れ、 各 メ モ リ イ ン タ ーフ ェ イ ス の RTL フ ァ イ ルはそれぞれ対応す る フ ォ ルダーに生成 さ れます。 こ こ では、 マル チ コ ン ト ロ ー ラ ー デザ イ ンで選択 し たすべての メ モ リ イ ン タ ーフ ェ イ ス の フ ォ ルダーが表示 さ れてい ます。 mig_7series_v2_3 docs example_design par rtl traffic_gen sim synth user_design rtl clocking ddr3_sdram controller ecc ip_top phy ui qdriiplus_sram phy rldram_ii controller ip_top phy ui xdc Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 554 第 6章 Vivado における ISE/CORE Generator MIG コ アのア ッ プグ レー ド ISE® ま たは CORE Generator™ を使用 し て生成 し た旧バージ ョ ン の MIG IP コ ア を ア ッ プグ レー ド す る 場合、 ほかの IP の よ う に直接的な方法で ツールを ア ッ プデー ト す る こ と はで き ません。 こ こ では、 Vivado® で ISE/CORE Generator MIG コ ア を ア ッ プグ レー ド す る プ ロ セ ス について説明 し ます。 1. ISE ま たは CORE Generator を使用 し て生成 し た MIG コ アの mig.prj フ ァ イ ルが必要です。 2. 以前の コ アの生成時 と 同 じ FPGA デバ イ ス の設定で Vivado を起動 し ます。 3. Vivado の Tcl コ ン ソ ールに次の コ マ ン ド を適用 し 、 IP を作成 し ます。 create_ip -name mig_7series -version <latest version> -vendor xilinx.com -library ip -module_name <component_name> 次に例を示 し ます。 create_ip -name mig_7series -version 2.3 -vendor xilinx.com -library ip -module_name mig_7series_0 4. 次の コ マ ン ド を適用 し 、 以前の MIG プ ロ ジ ェ ク ト と 同 じ 設定で コ ア を生成 し ます。 set_property CONFIG.XML_INPUT_FILE {<absolute path of the old core mig.prj>} [get_ips <ip_name>] 次に例を示 し ます。 set_property CONFIG.XML_INPUT_FILE {/proj/mig/users/coregen_core/mig_7series_v1_9/mig.prj} [get_ips mig_7series_0] 5. 作成 さ れた コ アが [Hierarchy] に表示 さ れます。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 555 付録 A その他の リ ソ ースおよび法的通知 ザイ リ ン ク ス リ ソ ース ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 ザ イ リ ン ク ス サポー ト サ イ ト を参照 し て く だ さ い。 参考資料 特記のない限 り 、 IP 資料への リ ン ク はその IP の資料ページに設定 さ れてい ます。 次の資料は、 こ のユーザー ガ イ ド の補足資料 と し て役立ち ます。 注記 : 日本語版のバージ ョ ンは、 英語版 よ り 古い場合があ り ます。 1. 『Zynq-7000 All Programmable SoC お よ び 7 シ リ ーズ デバ イ ス メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン デー タ シー ト 』 (DS176) 2. 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471 : 英語版、 日本語版) 3. 『7 シ リ ーズ FPGA パ ッ ケージお よ びピ ン配置仕様』 (UG475 : 英語版、 日本語版) 4. ARM ® 社 『AMBA ®Specifications』 5. 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) 6. 『Vivado Design Suite チ ュ ー ト リ アル : 階層デザ イ ン』 (UG946) 7. 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) 8. 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) 9. 『エンベデ ッ ド シ ス テ ム ツール リ フ ァ レ ン ス マニ ュ アル』 (UG111) 10. 『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472 : 英語版、 日本語版) 11. 『LogiCORE IP XADC Wizard v2.4 製品ガ イ ド 』 (PG091) 12. 『7 シ リ ーズ FPGA PCB デザ イ ンお よ びピ ン配置ガ イ ド 』 (UG483 : 英語版、 日本語版) 13. 『7 シ リ ーズ FPGA デー タ シー ト 』 14. 『DDR2-533 Memory Design Guide For Two-DIMM Unbuffered Systems』 Micron Technology 社 (TN-47-01) 15. 『 タ イ ミ ン グ ク ロ ージ ャ ユーザー ガ イ ド 』 (UG612) 16. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) 17. 『 コ マ ン ド ラ イ ン ツール ユーザー ガ イ ド 』 (UG628) 18. 『合成/シ ミ ュ レーシ ョ ン デザ イ ン ガ イ ド 』 (UG626) 19. PlanAhead™ デザ イ ン解析ツール 20. 『Virtex®-5 FPGA ML561 メ モ リ イ ン タ ーフ ェ イ ス開発ボー ド ユーザー ガ イ ド 』 (UG199) Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 556 付録 A : その他の リ ソ ースおよび法的通知 21. JESD79-3E、 DDR3 SDRAM 規格、 JEDEC Solid State Technology Association 22. 「 リ オーダー方式の コ ン ト ロ ー ラ ーに よ る DDR SDRAM の効率化」、 Xcell Journal 69 & 70 合併号 23. 『AXI マルチポー ト メ モ リ コ ン ト ロ ー ラ ー』 (XAPP739 : 英語版、 日本語版) 24. 『Vivado Design Suite ユーザー ガ イ ド : 移行手法ガ イ ド 』 (UG911) 法的通知 The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of Xilinx’s limited warranty, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos. © Copyright 2011-2015 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.AMBA, AMBA Designer, ARM, ARM1176JZ-S, CoreSight, Cortex, and PrimeCell are trademarks of ARM in the EU and other countries.All other trademarks are the property of their respective owners. こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの 右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ーム か ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で 入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受 け付けてお り ません。 あ ら か じ めご了承 く だ さ い。 Zynq-7000 AP SoC および 7 シ リ ーズ FPGA MIS v2.3 UG586 2015 年 4 月 1 日 japan.xilinx.com 557