アーキテクチャ fpga メモリ インターフェイス ソ …...logicore ip ultrascale...

281
LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガ イ ド Vivado Design Suite PG150 2015 4 1 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。 資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最 新情報につきましては、必ず最新英語版をご参照ください。

Upload: others

Post on 09-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション

製品ガイド

Vivado Design Suite

PG150 2015 年 4 月 1 日

本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

Page 2: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 2PG150 2015 年 4 月 1 日

目次

セクショ ン I : 概要

IP の概要

セクシ ョ ン II : DDR3/DDR4

第 1 章 : 概要機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

ラ イセンスおよび注文情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

第 2 章 : 製品仕様規格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

リ ソース使用状況 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

第 3 章 : コアのアーキテクチャ概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

メモ リ コン ト ローラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16ECC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

第 4 章 : コアを使用するデザインク ロ ッキング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

リセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

DDR3 の PCB ガイ ド ライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

DDR4 の PCB ガイ ド ライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

ピンおよびバンクの規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

x4 RDIMM のピン マップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

プロ ト コルの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

パフォーマンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

第 5 章 : デザイン フローの手順コアのカスタマイズおよび生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

MIG I/O ピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

コアへの制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

合成およびインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Page 3: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 3PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザインサンプル デザインのシ ミ ュレーシ ョ ン (標準ユーザー インターフェイスのデザイン). . . . . . . . . . . . . . . . . . . . . . 150

プロジェク ト ベースのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

非プロジェク ト ベースのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

シ ミ ュレーシ ョ ン速度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Synplify Pro ブラ ッ ク ボッ クス テス ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

第 7 章 : テストベンチスティ ミ ュラス パターン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

バス使用率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

サンプル パターン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

パフォーマンス ト ラフ ィ ッ ク ジェネレーターのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

セクシ ョ ン III : QDR II+ SRAM

第 8 章 : 概要機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

ラ イセンスおよび注文情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

第 9 章 : 製品仕様規格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

リ ソース使用状況 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

第 10 章 : コアのアーキテクチャ概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

第 11 章 : コアを使用するデザインク ロ ッキング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

リセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

QDR II+ SRAM の PCB ガイ ド ライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

ピンおよびバンクの規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

プロ ト コルの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

第 12 章 : デザイン フローの手順コアのカスタマイズおよび生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

MIG I/O ピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

コアへの制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

合成およびインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

第 13 章 : サンプル デザインサンプル デザインのシ ミ ュレーシ ョ ン (標準ユーザー インターフェイスのデザイン). . . . . . . . . . . . . . . . . . . . . . 200

プロジェク ト ベースのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

非プロジェク ト ベースのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

シ ミ ュレーシ ョ ン速度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Synplify Pro ブラ ッ ク ボッ クス テス ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

Page 4: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 4PG150 2015 年 4 月 1 日

CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

第 14 章 : テストベンチ

セクシ ョ ン IV : RLDRAM 3

第 15 章 : 概要機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

ラ イセンスおよび注文情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

第 16 章 : 製品仕様規格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

リ ソース使用量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

第 17 章 : コアのアーキテクチャ概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

メモ リ コン ト ローラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

ユーザー インターフェイスの割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

第 18 章 : コアを使用するデザインク ロ ッキング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

リセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

RLDRAM 3 の PCB ガイ ド ライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

ピンおよびバンクの規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

プロ ト コルの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

第 19 章 : デザイン フローの手順コアのカスタマイズおよび生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

MIG I/O ピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

コアへの制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

合成およびインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

第 20 章 : サンプル デザインサンプル デザインのシ ミ ュレーシ ョ ン (標準ユーザー インターフェイスのデザイン). . . . . . . . . . . . . . . . . . . . . . 249

プロジェク ト ベースのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

非プロジェク ト ベースのシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

シ ミ ュレーシ ョ ン速度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

第 21 章 : テストベンチ

セクシ ョ ン V : ト ラフ ィ ッ ク ジェネレーター

第 22 章 : ト ラフ ィ ッ ク ジェネレーター概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

シンプル ト ラフ ィ ッ ク ジェネレーター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Page 5: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 5PG150 2015 年 4 月 1 日

アドバンス ト ト ラフ ィ ッ ク ジェネレーター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

セクシ ョ ン VI : 複数の IP コア

第 23 章 : 複数の IP コア複数の IP コアを含むデザインの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

バンクの共有 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

入力クロ ッ ク ソースの共有 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

XSDB および dbg_clk の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

PBLOCK および MMCM 制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

セクシ ョ ン VII : 付録

付録 A : 移行およびアップグレード

付録 B : デバッグザイ リ ンクス ウェブサイ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

デバッグ ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

ハードウェアのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

付録 C : その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Page 7: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.comPG150 2015 年 4 月 1 日

7 Production 製品仕様

はじめに

ザイ リ ンクス UltraScale™ アーキテクチャ FPGA のメモ リ インターフェイス ソ リ ューシ ョ ン (MIS) コアは、あらかじめ構築されたコン ト ローラーと物理層 (PHY) を組み合わせたコアであ り、 UltraScale アーキテクチャ FPGA を使用したユーザー デザイ ンを、 DDR3/DDR4 SDRAM、 QDR II+ SRAM、RLDRAM 3 デバイスに接続するインターフェイスを提供します。

この製品ガイ ドでは、 UltraScale アーキテクチャ FPGA 用のDDR3/DDR4 SDRAM、QDR II+ SRAM、RLDRAM 3 LogiCOREIP インターフェイス コアの使用、カスタマイズ、シ ミ ュレーシ ョ ンの方法について解説します。コア アーキテクチャについても説明し、 そのカスタマイズ方法および接続方法の詳細も示します。

機能

DDR3/DDR4 SDRAM、 QDR II+ SRAM、 RLDRAM 3 インターフェイスの機能については、 次のセクシ ョ ンを参照して ください。

• DDR3/DDR4 SDRAM : 第 1 章の 「機能概要」

• QDR II+ SRAM : 第 8 章の 「機能概要」

• RLDRAM 3 : 第 15 章の 「機能概要」

IP の概要

この LogiCORE IP について

コアの概要

サポート される

デバイス ファ ミ リ (1) Virtex® および Kintex® UltraScale ファ ミ リ

サポート される

ユーザー インターフェイス

ユーザー

リ ソース 表 2-1、 表 2-2、 表 9-1、 表 16-1 参照

コアに含まれるもの

デザイン ファイル RTL

サンプル デザイン Verilog

テス トベンチ Verilog

制約ファイル XDC

シ ミ ュレーシ ョ ン

モデルなし

サポート される

ソフ ト ウェア

ド ラ イバー

N/A

テスト済みデザイン フロー (2)

デザイン入力 Vivado Design Suite

シ ミ ュレーシ ョ ン(3)

サポート されるシ ミ ュレータについては、

『Vivado Design Suite ユーザー ガイ ド :リ リース ノート ガイ ド、 インス トール

およびライセンス』 を参照

合成 Vivado 合成

サポート

japan.xilinx.com/support で提供

注記 :1. サポート されているデバイスの一覧は、 Vivado IP カタログを参

照して ください。

2. サポート されているツールのバージ ョ ンは、『Vivado Design Suiteユーザー ガイ ド : リ リース ノート ガイ ド、 インス トールおよび

ライセンス』 を参照

3. ビヘイビアー シ ミ ュレーシ ョ ンのみがサポート されており、ネッ

ト リ ス ト (合成後および実装後) シ ミ ュレーシ ョ ンはサポート さ

れていません。

Page 9: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 9PG150 2015 年 4 月 1 日

第 1 章

概要ザイ リ ンクス UltraScale™ アーキテクチャには、DDR3/DDR4 SDRAM メモ リ インターフェイス ソ リ ューシ ョ ン (MIS)コアが含まれます。 MIS コアは、 これら SDRAM タイプのメモ リに接続するためのインターフェイス ソ リ ューシ ョンを提供します。 メモ リ コン ト ローラー全体のソ リ ューシ ョ ンと、 物理層 (PHY) のみを提供するソ リ ューシ ョ ンの両方をサポート しています。 DDR3/DDR4 コアの UltraScale アーキテクチャは次の上位ブロ ッ クで構成されます。

• コン ト ローラー ― ユーザー インターフェイスからのバース ト ト ランザクシ ョ ンを受信し、 SDRAM との間の トランザクシ ョ ンを生成します。 コン ト ローラーは SDRAM のタイ ミ ング パラ メーターと リ フレッシュを制御します。 書き込み/読み出し時のバスの方向切り替えに伴うデッ ド サイ クル数を減らすために、 これらの両ト ランザクシ ョ ンを結合します。 さ らに、 SDRAM へのデータ バス使用率を改善するためにコマンドの並べ替えも実行します。

• 物理層 ― SDRAM への高速インターフェイスを提供します。 この層には FPGA 内のハード ブロ ッ ク と、 それらハード ブロ ッ ク と SDRAM 間で 適なインターフェイス タイ ミ ングを確保するために使用されるソフ ト ブロ ック キャ リブレーシ ョ ン ロジッ クが含まれます。

UltraScale アーキテクチャに新たに導入されたハード ブロ ッ クによって、 大 2400Mb/s のインターフェイス速度を実現できるよ うになり ました。 SDRAM ト ランザクシ ョ ン、 タイ ミ ング、 リ フレッシュは、 すべてアプリ ケーシ ョ ン ロジッ クが処理します。

° ハード ブロ ッ クには次の機能があ り ます。

- データのシ リアライズと送信

- データのキャプチャ とデシ リ アライズ

- 高速クロ ッ クの生成と同期

- 電圧および温度のト ラ ッキング機能を備えた、 ピンごとの粗精度/細精度の遅延調整エレ メン ト

° ソフ ト ブロ ッ クには次の機能があ り ます。

- メモ リ初期化 ― キャ リブレーシ ョ ン モジュールは、 メモ リ タイプ固有の JEDEC® 準拠初期化ルーチンを提供します。 必要に応じて初期化プロセスの遅延をバイパスしてシ ミ ュレーシ ョ ン時間を短縮できます。

- キャ リブレーシ ョ ン ― キャ リブレーシ ョ ン モジュールは、 ハード ブロ ッ ク内のすべての遅延を設定し、 ソフ ト IP がメモ リ インターフェイスで適切に動作するよ うにする包括的な方法を提供します。 インターフェイス性能を 適化するために、各ビッ ト を個別にト レーニングしてから結合します。 キャ リブレーシ ョ ン プロセスの結果はザイ リ ンクスのデバッグ ツールで確認できます。 キャ リブレーシ ョ ンの完了後、 PHY 層は SDRAM への raw (未調整) インターフェイスを提供します。

• アプリ ケーシ ョ ン インターフェイス ― ユーザー インターフェイス層は、 アプリ ケーシ ョ ンにシンプルな FIFOインターフェイスを提供します。 データはバッファーに格納され、 読み出しデータは要求順に出力されます。

上記のユーザー インターフェイス層は、 コン ト ローラーへのネイティブ インターフェイスの上位に配置されます。 ネイティブ インターフェイスにはユーザー アプリ ケーシ ョ ンからアクセスできず、バッファー機能がなく、SDRAM から受信した順にユーザー インターフェイスにデータを返します。 この受信順序は、元の要求順序と必ずしも一致しません。ユーザー インターフェイスは読み出しデータおよび書き込みデータをバッファーし、必要に応じてデータの順序を変更します。

Page 11: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 11PG150 2015 年 4 月 1 日

第 1 章 : 概要

機能概要

DDR3 SDRAM• コンポーネン トは 8 ~ 80 ビッ ト幅のインターフェイスをサポート (RDIMM、 UDIMM、 および SODIMM をサ

ポート )。

° コンポーネン トの 大数は 9 個です。 この制限は、 コンポーネン トに対してのみ有効であ り、 DIMM に対しては無効です。

• DDR3 (1.5V)

• 8GB の集積度のデバイスをサポート

• 8 バンクをサポート

• x4 (x4 デバイスは偶数倍で使用する必要がある )、 x8、 および x16 デバイスをサポート

• x8 および x16 デバイスでは、 8:1 の DQ:DQS 比をサポート

• x4 デバイスでは、 4:1 の DQ:DQS 比をサポート

• 8 ワード バース ト をサポート

• 5 ~ 14 サイクルの CAS (列アドレス ス ト ローブ) レイテンシ (CL) をサポート

• オンダイ終端 (ODT) をサポート

• 5 ~ 10 サイクルの CAS 書き込みレイテンシをサポート

• DDR3 のライ ト レベリ ングをサポート (コンポーネン ト デザインに必要なフライバイ配線トポロジ)

• JEDEC® 準拠の DDR3 初期化をサポート

• Verilog でソース コードを提供

• 4:1 のメモリ対 FPGA ロジッ ク インターフェイスのクロ ッ ク比をサポート

• 常時開、 常時閉、 ト ランザクシ ョ ンごとのプリチャージ コン ト ローラーの動作ポリシー

• Vivado ハードウェア マネージャーを通じてインターフェイス キャ リブレーシ ョ ンおよびト レーニング情報を提供

DDR4 SDRAM• コンポーネン トは 8 ~ 80 ビッ ト幅のインターフェイスをサポート (RDIMM、 UDIMM、 および SODIMM をサ

ポート )。

° コンポーネン トの 大数は 9 個です。 この制限は、 コンポーネン トに対してのみ有効であ り、 DIMM に対しては無効です。

• 8GB の集積度のデバイスをサポート

• x4 (x4 デバイスは偶数倍で使用する必要がある )、 x8、 および x16 デバイスをサポート

• x8 および x16 デバイスでは、 8:1 の DQ:DQS 比をサポート

• x4 デバイスでは、 4:1 の DQ:DQS 比をサポート

• 8 ワード バース ト をサポート

• 9 ~ 24 サイクルの CAS (列アドレス ス ト ローブ) レイテンシ (CL) をサポート

• ODT をサポート

• 9 ~ 18 サイクルの CAS 書き込みレイテンシをサポート

• DDR4 のライ ト レベリ ングをサポート (コンポーネン ト デザインに必要なフライバイ配線トポロジ)

• JEDEC 準拠の DDR4 初期化をサポート

Page 12: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 12PG150 2015 年 4 月 1 日

第 1 章 : 概要

• Verilog でソース コードを提供

• 4:1 のメモリ対 FPGA ロジッ ク インターフェイスのクロ ッ ク比をサポート

• 常時開、 常時閉、 ト ランザクシ ョ ンごとのプリチャージ コン ト ローラーの動作ポリシー

• Vivado ハードウェア マネージャーを通じてインターフェイス キャ リブレーシ ョ ンおよびト レーニング情報を提供

ライセンスおよび注文情報このザイ リ ンク ス LogiCORE IP モジュールは、 ザイ リ ンク ス エンドユーザー ラ イセンス規約のも とザイ リ ンク スVivado Design Suite を使用して追加コス ト なしで提供されています。 この IP およびその他のザイ リ ンクス LogiCOREIP に関する情報は、 ザイ リ ンクス IP コア ページから入手できます。 その他のザイ リ ンクス LogiCORE IP モジュールおよびツールの価格や提供状況については、 ザイ リ ンクス販売代理店にお問い合わせください。

ライセンス チェ ッカー

IP にライセンス キーが必要な場合、 そのキーの認証が必要です。 Vivado® デザイン ツールでは、 設計フローにライセンスが必要な IP の使用を確認する、 ライセンス チェッ クポイン トが複数あ り ます。 ライセンス チェッ クが正常に終了する と、 IP の生成が継続されます。 正常に終了しなければ、 IP の生成はエラーとな り停止します。 ラ イセンスチェッ クポイン トが適用されるのは、 次のツールです。

• Vivado デザイン ツール : Vivado 合成

• Vivado インプリ メンテーシ ョ ン

• write_bitstream (Tcl コマンド )

重要 : チェッ クポイン トでは、 IP のライセンス レベルは無視されます。 有効なライセンスの有無のみを検証します。IP ラ イセンス レベルは確認しません。

Page 13: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 13PG150 2015 年 4 月 1 日

第 2 章

製品仕様

規格このコアは、 JEDEC® Solid State Technology Association (JEDEC 半導体技術協会) による、 『DDR3 SDRAM 規格』 (JESD79-3F) および 『DDR4 SDRAM 規格』 (JESD79-4) [参照 1] に準拠する DRAM をサポート しています。

UltraScale™ アーキテクチャに関する資料の詳細は、 274 ページの 「参考資料」 を参照して ください。

性能

最大周波数

大周波数の詳細は、『Kintex UltraScale FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS892) [参照 2] を参照してください。

リソース使用状況

Kintex UltraScale デバイス

表 2-1 と表 2-2 に、 Kintex® UltraScale デバイスでのリ ソース概数を示します。

表 2-1 : デバイス使用量 ― Kintex UltraScale FPGA (DDR3)

パラメーター値 デバイス リソース

インターフェイス幅 FF LUT メモリ LUTRAMB36E2/RAMB18E2 BUFG PLLE3_ADV MMCME3_ADV

72 13,423 11,940 1,114 25.5 5 3 1

32 8,099 7,305 622 25.5 5 2 1

16 6,020 5,621 426 25.5 5 1 1

Page 14: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 14PG150 2015 年 4 月 1 日

第 2 章 : 製品仕様

Kintex UltraScale デバイスの場合に UltraScale アーキテクチャ FPGA MIS コアに必要な リ ソースを見積も り ました。Vivado® IP カタログを使用して得られた値です。 合成後レポートから求めた値であ り、 インプリ メンテーシ ョ ン時に変化する可能性があ り ます。

ポートの説明完全なメモ リ コン ト ローラー ソ リ ューシ ョ ンの場合、メモ リ インターフェイス コアの 上位にはユーザー デザインと呼ばれる 3 つのポート カテゴ リがあ り ます。

• 第 1 のカテゴ リは SDRAM に直接接続する メモ リ インターフェイス信号です。 これらは JEDEC 仕様で定義されています。

• 第 2 のカテゴ リはアプリ ケーシ ョ ン インターフェイス信号です。 これらは、 78 ページの 「プロ ト コルの説明」 で解説しています。

• 第 3 のカテゴ リには、 コアの適切な動作に必要なその他の信号が含まれます。 クロ ッ ク、 リセッ ト 、 コアからのステータス信号などです。 クロ ッ クおよびリセッ ト信号については、 それぞれ該当セクシ ョ ンで説明します。

アクティブ High の init_calib_complete 信号は、 初期化とキャ リブレーシ ョ ンが完了し、 インターフェイスがコマンドを受け入れ可能な状態になったこ とを示します。

PHY 層のみのソ リ ューシ ョ ンの場合、 上位アプリ ケーシ ョ ン インターフェイス信号は PHY インターフェイスに置き換えられます。 これらの信号は、 107 ページの 「PHY のみのインターフェイス」 で解説しています。

SDRAM と直接インターフェイスする信号、およびクロ ッ ク信号と リセッ ト信号は、 メモ リ コン ト ローラー ソ リ ューシ ョ ンの場合と同じです。

表 2-2 : デバイス使用量 ― Kintex UltraScale FPGA (DDR4)

パラメーター値 デバイス リソース

インターフェイス幅 FF LUT メモリ LUTRAMB36E2/RAMB18E2 BUFG PLLE3_ADV MMCME3_ADV

72 13,535 11,905 1,105 25.5 5 3 1

32 8,010 7,161 622 25.5 5 2 1

16 5,864 5,363 426 25.5 5 1 1

Page 15: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 15PG150 2015 年 4 月 1 日

第 3 章

コアのアーキテクチャこの章では、UltraScale™ アーキテクチャ FPGA のメモリ インターフェイス ソ リ ューシ ョ ン (MIS) コアについて説明し、 モジュールおよびインターフェイスの概要を示します。

概要図 3-1 に UltraScale アーキテクチャ FPGA のメモリ インターフェイス ソ リ ューシ ョ ンを示します。

X-Ref Target - Figure 3-1

図 3-1 : UltraScale アーキテクチャ FPGA のメモリ インターフェイス ソリューシ ョ ン コア

Page 16: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 16PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

メモリ コン ト ローラーメモ リ コン ト ローラー (MC) はユーザー インターフェイス (UI) ブロ ッ クから読み出し、書き込み、Read-Modify-Writeト ランザクシ ョ ンを受け取り、 これらを メモ リへ効率よ く発行します。 このメモ リ コン ト ローラーは低レイテンシで、 DRAM のプロ ト コルおよびタイ ミ ング要件をすべて満たしており、 FPGA リ ソース使用量を 小限に抑えています。 このコン ト ローラーは DRAM ク ロ ッ ク とシステム ク ロ ッ クの比を 4:1 と して動作し、 1 システム ク ロ ッ ク サイクルでアクティベート、 CAS、 プ リチャージ コマンドをそれぞれ 1 つずつ発行できます。

このコン ト ローラーはオープン ページ ポ リ シーをサポート しており、 空間局所性の高いワークロードで非常に高い効率を達成できます。 ク ローズド ページ ポ リシーおよびト ランザクシ ョ ンの リオーダーもサポート しており、 アドレス パターンがよ り ランダムなワークロード も効率よ く スケジューリ ングできます。また、 このコン ト ローラーにはト ランザクシ ョ ン単位でのオート プリチャージ用 UI 制御信号や DRAM リ フレッシュ コマンドの発行タイ ミ ングを決定するための信号もあ り、 低レベル機能をある程度まで制御できます。

このコン ト ローラーのコマンド パスには次の主要なブロ ッ クがあ り ます。

1. グループ FSM : ト ランザクシ ョ ンを待ち行列に入れ、 DRAM タイ ミ ングをチェッ ク し、 プ リチャージ/アクティベート /CAS DRAM コマンドをいつ要求するかを決定します。

2. 「安全な」 ロジッ クおよびアービ ト レーシ ョ ン ユニッ ト : 詳細な DRAM タイ ミ ング チェッ クに基づき複数のグループ FSM 間で ト ランザクシ ョ ンの順番を変更しながら、すべての DRAM コマンド要求が滞りなく処理されるよ う手配します。

3. 終アービタ : どのコマンドを PHY に発行するかを 終決定し、 結果を前のステージにフ ィードバッ ク します。

また、 リ フレッシュおよび ZQCS コマンド、 VT ト ラ ッキングに必要なコマンドを生成する メンテナンス ブロ ッ ク もあ り ます。さ らに、72 ビッ ト幅データ バス用の SECDED ECC をインプリ メン トするオプシ ョ ンのブロッ ク もあ り ます。

Page 17: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 17PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

図 3-2 に、 メモ リ コン ト ローラーのブロ ッ ク図を示します。

ネイテ ィブ インターフェイス

UI ブロ ッ クはネイティブ インターフェイスによってメモ リ コン ト ローラーに接続されており、アドレス デコードおよび読み出し /書き込みデータ バッファ リ ングの機能をコン ト ローラーに提供します。 書き込みの場合、 コン ト ローラーはデータが必要になる 1 サイ クル前にネイティブ インターフェイスにデータ バッファーのアドレスを出力してデータを要求します。 データは、 次のサイ クルで UI ブロ ッ クから供給されます。 したがって、 データに対してはいかなる種類のバッファー機能も提供されません (データを特定の DDR ク ロ ッ クで配置するバレル シフ トによる場合を除く )。

読み出しの場合、データは利用可能になったサイ クルで MC から供給されます。読み出しデータは、準備できる とただちにバッファー アドレス と共にネイティブ インターフェイスに出力されます。このデータは UI ブロ ッ クで受信する必要があ り ます。

X-Ref Target - Figure 3-2

図 3-2 : メモリ コン ト ローラーのブロック図

Page 18: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 18PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

読み出しおよび書き込みト ランザクシ ョ ンは、 UI ブロ ッ クからのデコード済みアドレスのバンク グループおよびバンク アドレス ビッ トに基づいて mcGroup インスタンスにマッピングされます。DDR3 にはグループがあ り ませんが、DDR4 の名称付きのグループは DDR4 x4 デバイスおよび x8 デバイスいずれかにある実際のグループを表します (各グループに 4 つのバンクを提供)。 DDR3 の場合、 各 mcGroup モジュールは 2 つのバンクを提供します。

DDR4 x16 インターフェイスの場合、 mcGroup は 1 ビッ トのグループ (x16 ではグループ ビッ トが 1 つしかない)、 および 1 ビッ トのバンクに相当します。 この場合、 mcGroup は 2 バンクを提供します。

未処理状態にできる要求の総数は、mcGroup インスタンスの数およびコン ト ローラーと メモ リ間のラウンド ト リ ップ遅延によって決ま り ます。 CAS コマンド、 読み出し リ ターン データ、 または書き込みが完了していな くても、 コント ローラーが SDRAM CAS コマンドを メモ リへ発行する と利用可能な mcGroup インスタンスが 1 つ増え、 新しい要求を受け取るこ とができます。

制御パスおよびデータパス

制御パス

制御パスは mcGroup インスタンスを起点に開始します。 SDRAM グループおよびバンク アドレスは mcGroup インスタンスにマッピングされるため、 同じフル アドレスに対する ト ランザクシ ョ ンは必ず同じ mcGroup インスタンスにマッピングされます。 各 mcGroup インスタンスは ト ランザクシ ョ ンを受信順に処理するため、 Read-after-Write および Write-after-Write アドレス ハザードは発生しません。

データパス

読み出しおよび書き込みデータはメモリ コン ト ローラーをそのまま通過します。 ECC を有効にした場合、 書き込みでは SECDEC コード ワードが生成され、読み出しではチェッ ク されます。詳細は、 21 ページの 「ECC」 を参照してください。 MC は mcRead および mcWrite モジュールに必要な制御信号を生成し、 読み出しおよび書き込みデータのタイ ミングを知らせます。 これら 2 つのモジュールは必要に応じて適切なタイ ミ ングでデータを取得または供給します。

読み出しおよび書き込みの結合

リオーダーを有効にする と、 コン ト ローラーは書き込みよ り も読み出しを優先します。 SDRAM コマンド バスに読み出し CAS コマンド と書き込み CAS コマンドのどちらを発行しても安全な場合、 コン ト ローラーは読み出し CAS コマンドのみをアービ ト レーシ ョ ンの対象と して選択します。 読み出し CAS コマンドを発行する と、 書き込み CAS コマンドは tRTW パラ メーターで指定した SDRAM ク ロ ッ ク期間だけブロ ッ ク されます。 読み出し CAS を発行後に書き込み CAS を安全に発行できるよ うになるまでには余分な時間が必要なため、 保留中の書き込みによって中断されるこ とな く複数の読み出しをコマンド バスに発行できます。

Page 19: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 19PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

リオーダー

同じ mcGroup にマッピングする要求は、 インオーダーで実行されます。 異なる mcGroup インスタンス間でのリオーダーは、 ORDERING パラ メーターで制御します。 このパラ メーターを 「NORM」 に設定する と リオーダーが有効になり、 アービタは SDRAM に発行しても安全なコマンドを持つ mcGroup にラウンド ロビン方式で優先権を与えます。

SDRAM へコマンドを安全に発行できるタイ ミ ングは、 ターゲッ ト バンクまたはバンク グループおよびそのページステータスによって異なり ます。 このこ とが、 主にコマンドの実行順に影響します。

ORDERING パラ メーターを 「STRICT」 に設定する と、ネイティブ インターフェイスで要求を受け取った順番で CASコマンドが発行されます。 「STRICT」 の設定は、 読み出し要求の結合などコン ト ローラーのほかのすべてのメカニズムに優先的に適用されるため、 ワークロードによってはデータ帯域幅の使用率が低下するこ とがあ り ます。

グループ マシン

メモ リ コン ト ローラーには 4 つのグループ ステート マシンがあ り ます。 これらのステート マシンは、 テク ノ ロジ(DDR3 または DDR4) と幅 (x4、 x8、 x16) に従って割り当てられます。 各グループ マシンの割り当てについて次にまとめます。 こ こで、 GM はグループ マシン (0 ~ 3)、 BG はグループ アドレス、 BA はバンク アドレスを表します。 グループ ステート マシンの説明におけるグループは概念的なグループであ り、 実際のグループと必ずしも一致しません (DDR4 の x4、 x8 の場合を除く )。

• DDR3、 全デバイス – 合計 8 バンク

° GM 0 : BA[2:1] == 2'b00、 バンク 0 と 1 に対応

° GM 1 : BA[2:1] == 2'b01、 バンク 2 と 3 に対応

° GM 2 : BA[2:1] == 2'b10、 バンク 4 と 5 に対応

° GM 3 : BA[2:1] == 2'b11、 バンク 6 と 7 に対応

• DDR4、 x4 および x8 デバイス – 合計 16 バンク

° GM 0 : BG 0 に対応、 グループあたり 4 バンク

° GM 1 : BG 1 に対応、 グループあたり 4 バンク

° GM 2 : BG 2 に対応、 グループあたり 4 バンク

° GM 3 : BG 3 に対応、 グループあたり 4 バンク

• DDR4、 x16 デバイス – 合計 8 バンク

° GM 0 : BG 0、 BA[0] == 0 に対応、 グループあたり 2 バンク

° GM 1 : BG 0、 BA[0] == 1 に対応、 グループあたり 2 バンク

° GM 2 : BG 1、 BA[0] == 0 に対応、 グループあたり 2 バンク

° GM 3 : BG 1、 BA[0] == 1 に対応、 グループあたり 2 バンク

Page 20: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 20PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

図 3-3 に、 1 インスタンスのグループ FSM のブロッ ク図を示します。 グループ FSM ブロ ッ クにはメ イン セクシ ョ ンと してステージ 1 と ステージ 2 の 2 つがあ り、 それぞれに FIFO と FSM が 1 つずつ含まれます。 ステージ 1 は UI ブロ ッ ク と接続し、プ リチャージおよびアクティベート コマンドの発行および DRAM ページ ステータスの追跡を実行します。

ステージ 2 は CAS コマンドを発行し、 RMW フローを管理します。 各ランク とバンクにはそれぞれ複数の DRAM タイマーがあ り、 FSM はこれらのタイマーを使用して、 安全に発行できるよ うになった DRAM コマンドから実行するよ うにスケジューリ ングします。 グループ FSM ブロ ッ クは、各インスタンスが UI からの複数のト ランザクシ ョ ンを待ち行列に入れ、複数のト ランザクシ ョ ンからの DRAM コマンドを DDR バスに効率よ く インターリーブし、CAS コマンドを厳密にインオーダーで実行するよ うに設計されています。

UI から受け取った新しい ト ランザクシ ョ ンは、 ステージ 1 のト ランザクシ ョ ン FIFO へプッシュされます。 ステージ1 FIFO の先頭にある ト ランザクシ ョ ンのページ ステータスをチェッ ク し、 ステージ 1 のト ランザクシ ョ ン FSM へ送信します。 この FSM は、 プリチャージまたはアクティベート コマンドを発行する必要があるかど うか、 そしてこれらをいつ安全に発行できるかを DRAM タイマーに基づいて判断します。

ページがオープンで、 ステージ 2 FIFO の保留中 RDA または WRA によってクローズされるよ うにスケジューリ ングされていなければ、 ト ランザクシ ョ ンはステージ 1 FIFO からステージ 2 FIFO へ転送されます。 この時点でステージ1 FIFO をポップし、ステージ 1 FSM は次のト ランザクシ ョ ンの処理を開始します。 これと平行して、ステージ 2 FSMはステージ 2 FIFO の先頭にある ト ランザクシ ョ ンの CAS コマンド フェーズを処理します。ステージ 2 FSM は、tRCDタイマーに基づいて安全になった時点で CAS コマンド要求を発行します。 ステージ 2 FSM は RMW ト ランザクシ ョンの読み出しおよび書き込み CAS 要求も発行します。

X-Ref Target - Figure 3-3

図 3-3 : グループ FSM のブロック図

Page 21: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 21PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

ECCMC はオプシ ョ ンで SECDED ECC 方式をサポート しており、 DQ バス バース ト 1 回につき 1 ビッ トの読み出しデータ エラーを検出および訂正し、バース ト 1 回につき 2 ビッ トのエラーをすべて検出します。 2 ビッ トのエラーは訂正されません。1 バース ト あた り 3 ビッ ト以上のエラーは検出されるこ と もあ り ますが、訂正されるこ とはあ り ません。ECC を有効にする と、エラー検出/訂正の有無にかかわらずすべての読み出しレイテンシが 4 DRAM ク ロ ッ ク サイクル増加します。

ECC を有効にした場合、部分書き込みをサポートするために Read-Modify-Write (RMW) 方式も実装されています。部分書き込みでは 1 つ以上のユーザー インターフェイス書き込みデータ マスク ビッ ト を High にセッ ト します。 ECCが無効な場合の部分書き込みは、 データ マスク ビッ ト を DRAM データ マスク (DM) ピンに送信して処理されます。このため、 RMW フローは ECC が有効な場合のみ使用します。 ECC を有効にした場合、 部分書き込みには専用のコマンド wr_bytes (0x3) が必要です。 このコマンドによ り、 いつ RMW フローを使用するかを MC に伝えます。

Read-Modify-Write フロー

ユーザー インターフェイスが受け取った wr_bytes コマンドは、 終的にはほかの書き込みまたは読み出し ト ランザクシ ョ ン同様にいずれかのグループ マシンに割り当てられます。 グループ マシンは部分書き込みを読み出しフェーズと書き込みフェーズに分解します。 読み出しフェーズでは、 次を実行します。

1. メモ リからデータを読み出す。

2. 読み出しデータのエラーをチェッ クする。

3. 1 ビッ トのエラーを訂正する。

4. 結果をメモ リ コン ト ローラー内に格納する。

読み出しフェーズからのデータはユーザー インターフェイスには返されません。読み出しデータにエラーが検出された場合、 ネイティブ インターフェイスの ECC エラー信号がアサート されます。 読み出しデータがコン ト ローラーに格納される と、 次に示す書き込みフェーズが開始します。

1. 書き込みデータ マスク ビッ トに基づいて、 書き込みデータ と保存済みの読み出しデータをマージする。

2. マージしたデータに対して新しい ECC チェッ ク ビッ トが生成され、 チェッ ク ビッ トがメモ リに書き込まれる。

3. マージ後のデータに対して新しいチェッ ク ビッ トが生成されているため、 読み出しフェーズで複数ビッ トのエラーがある と、書き込みフェーズではエラーを検出できません。データがユーザー インターフェイスに返されないにもかかわらず、 ECC エラー信号が読み出しフェーズで生成されるのはこのためです。 これによ り、 システムは訂正不能なエラーが検出不能なエラーに変化したかど うか知るこ とができます。

書き込みフェーズが完了する と、 新しい ト ランザクシ ョ ンを処理するためのグループ マシンが利用可能になり ます。RMW フローでは、単純な読み出しまたは書き込みよ り も長時間にわたってグループ マシンが占有されるため、性能が低下する場合があ り ます。

Page 22: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 22PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

ECC モジュール

ECC モジュールは DDR3/DDR4 メモ リ コン ト ローラー内にインスタンシエート されます。図 3-4 に示すよ うに、このモジュールは 5 つのサブモジュールで構成されます。

PHY からの読み出しデータ とチェッ ク ビッ トはデコード ブロッ クに送信され、次のシステム クロッ ク サイクルでデータ とエラー ステータス信号 ecc_single/ecc_multiple が NI に送信されます。 訂正可能なエラーが検出され、 読み出しデータが訂正されると ecc_single がアサート されます。訂正不能なエラーが検出されると ecc_multiple がアサート されます。

訂正不能なエラーの場合、 ECC ロジッ クは読み出しデータを変更しません。 「周期的読み出し」 (VT ト ラ ッキングの目的でのみコン ト ローラーが生成する読み出し ト ランザクシ ョ ン) に関するエラー ステータス信号はアサート されません。また、ユーザー インターフェイスに返されるこ と も RMW フローでメモリーに書き戻されるこ と もあ り ません。

X-Ref Target - Figure 3-4

図 3-4 : ECC のブロック図

Page 23: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 23PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

書き込みデータは、ECC バッファーに格納された読み出しデータ とエンコード ブロ ッ クでマージされます。このマージ処理は、書き込みデータ マスク信号によってバイ ト単位で制御されます。書き込みはすべてこのフローを利用するため、すべてのデータ マスク ビッ ト をディアサートするには完全な書き込みが必要で、これによって意図しないマージを防いでいます。 マージ ステージの後、 エンコード ブロ ッ クによって書き込みデータ用のチェッ ク ビッ トが生成されます。 データ とチェッ ク ビッ トは、 1 システム ク ロ ッ ク サイ クルの遅延後にエンコード ブロ ッ クから出力されます。

ECC Gen ブロ ッ クは、 ECC チェッ ク ビッ トの生成およびエラー チェッ ク /訂正に使用する H 行列を生成するアルゴリ ズムを実装しています。 生成されるコードは、 PAYLOAD_WIDTH および DQ_WIDTH パラ メーターにのみ依存します (ただし DQ_WIDTH = PAYLOAD_WIDTH + ECC_WIDTH)。現時点では、DQ_WIDTH = 72 および ECC_WIDTH =8 のみがサポート されます。

エラー アドレス

読み出し CAS コマンドが発行されるたびに、 完全な DRAM アドレスがデコード ブロ ッ クの FIFO に格納されます。読み出しデータが返されてエラー チェッ ク される と、 DRAM アドレスが FIFO からポップされ、 エラー ログの記録またはデバッグのために ecc_single 信号および ecc_multiple 信号と同じサイ クルで ecc_err_addr[44:0]が返されます。 表 3-1 に、 DDR3 と DDR4 に共通の ECC エラー アドレスの定義を示します。

レイテンシ

ECC パラ メーターを 「ON」 にする と ECC モジュールがインスタンシエート され、読み出しおよび書き込みデータがMC を通過する際のレイテンシが 1 システム ク ロ ッ ク サイ クル増加します。 ECC パラ メーターを 「OFF」 にする とデータ バスは MC をそのまま通過し、 すべての ECC ロジッ クが無効になり ます。

表 3-1 : ECC エラー アドレスの定義

ecc_err_addr[44:0] 44 43:42 41:40 39:24 23:22 21:18 17:8 7:6 5:4 3 2 1:0

DDR4 (x4/x8) RMW 予約 Row[17:0] 予約 予約Col[9:0] 予約

Rank[1:0]

Group[1:0]

Bank[1:0]

DDR (x16) RMW 予約 Row[17:0] 予約 予約Col[9:0] 予約

Rank[1:0] 予約

Group[0]

Bank[1:0]

DDR3 RMW 予約Row[15:0] 予約 Col[13:0] 予約

Rank[1:0] 予約 Bank[2:0]

Page 24: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 24PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

PHYPHY は外部 DDR3 または DDR4 SDRAM デバイスへの低レベル物理インターフェイス、およびこの物理インターフェイスの動作信頼性を確保するためのキャ リブレーシ ョ ン ロジッ ク一式で構成されます。 PHY はメモリ デバイスとのインターフェイスに必要な信号のタイ ミ ングおよびシーケンスを生成します。

PHY には次のよ うな機能があ り ます。

• ク ロ ッ ク /アドレス /制御信号用の生成ロジッ ク

• 書き込みおよび読み出しデータパス

• 電源投入後の SDRAM 初期化ロジッ ク

さ らに、システムの静的遅延および動的遅延に対応するために、読み出しおよび書き込みデータパスのタイ ミ ング トレーニングを実行するキャ リブレーシ ョ ン ロジッ ク もあ り ます。

完全なメモ リ コン ト ローラー ソ リ ューシ ョ ンには PHY が含まれますが、PHY のみの単体ブロッ ク と して実装すること もできます。カスタム メモ リ コン ト ローラーを実装する場合は、PHY のみのソ リ ューシ ョ ンを選択できます。PHYのみのブロ ッ クに接続する場合の詳細は、 107 ページの 「PHY のみのインターフェイス」 を参照してください。

PHY 全体のアーキテクチャ

UltraScale アーキテクチャの PHY は専用ブロッ ク と ソフ ト キャ リブレーシ ョ ン ロジッ クで構成されています。 専用ブロ ッ クは互いに隣接して配置され、高性能な物理層を構築するために必要なクロ ッ クおよびデータパス配線を 短に抑えるよ う、 インターコネク トで直接接続されています。

メモ リ コン ト ローラーおよびキャ リブレーシ ョ ン ロジッ クは、 4 分周または 2 分周された低周波数クロ ッ ク ド メ インにある、 この専用 PHY と通信します。 分周比は DDR3 または DDR4 のメモ リ ク ロ ッ クに依存します。 図 3-5 に、PHY デザインの詳細なブロ ッ ク図を示します。

Page 25: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 25PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

メモ リ コン ト ローラーは、コン ト ローラーと物理層を明確に分離するため、下位の PHY 要件からコマンド処理を独立させるよ うに設計されています。 コマンド処理は必要に応じてカスタム ロジッ クに置き換えるこ とができますが、 その場合も PHY とのインターフェイス用ロジッ クは変わらず、 そのままキャ リブレーシ ョ ン ロジッ クで使用できます。

X-Ref Target - Figure 3-5

図 3-5 : PHY のブロック図

表 3-2 : PHY のモジュール

モジュール名 説明

ddr_mc_cal.sv ddr_cal.sv、 ddr_mc_pi.sv、およびキャ リブレーシ ョ ンと メモ リ コン ト ローラー間の MUX が含まれます。

ddr_cal.sv MicroBlaze プロセッシング システムと関連ロジッ クが含まれます。

ddr_mc_pi.sv 読み出しおよび書き込みのために、 PHY の信号タイ ミ ングを調整します。

ddr_cal_addr_decode.sv MicroBlaze プロセッサの FPGA ロジッ ク インターフェイスです。

ddr_config_rom.sv キャ リブレーシ ョ ン オプシ ョ ンのコンフ ィギュレーシ ョ ンを格納する場所です。

microblaze MicroBlaze プロセッサです。

ddr_iob.sv バイ ト IOB モジュールすべてをインスタンシエート します。

ddr_iob_byte.sv 特定のバイ ト レーンに含まれるすべての信号で使用する I/O バッファーを生成します。

ddr_debug_microblaze.sv シ ミ ュレーシ ョ ン専用ファ イルです。 MicroBlaze で実行されるソフ ト ウェアからのデバッグステート メン ト を解析し、 ステータスおよびキャ リブレーシ ョ ン結果をログに記録します。

ddr_cal_cplx.sv 複雑なパターンのキャ リブレーシ ョ ンに使用する RTL ステート マシンです。

Page 26: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 26PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

PHY アーキテクチャは ddr_phy.sv 内のすべてのロジッ クを包含します。 PHY には、 よ り小さなコンポーネン トから メモ リ インターフェイスを構築するために、 専用ハード ブロ ッ クに対するラ ッパーがあ り ます。 バイ ト レーンにはすべてのクロ ッ ク、 リセッ ト 、および特定の I/O サブセッ トのデータパスが含まれます。専用クロ ッキング リ ソース と共に複数のバイ ト レーンをま とめてグループ化し、 単一バンクのメモ リ インターフェイスを構築します。 PHYには、 ニブル単位でレジスタ インターフェイス ユニッ ト (RIU) があ り ます。 RIU は XIPHY に含まれる専用の統合ブロッ クで、汎用インターコネク ト ロジッ クへのインターフェイスを提供します。キャ リブレーシ ョ ンの設定および遅延はこのインターフェイス経由で変更します。ハード シ リ コン物理層アーキテクチャの詳細は、『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571) [参照 3] を参照してください。

メモ リの初期化は Verilog RTL で実行されます。 キャ リブレーシ ョ ンと ト レーニングは内蔵 MicroBlaze™ プロセッサによって実装されます。MicroBlaze コン ト ローラー システム (MCS) は I/O モジュールとブロ ッ ク RAM で構成されます。 ddr_cal_addr_decode.sv モジュールは、 プロセッサからシステムのほかの部分へのインターフェイスを提供し、ヘルパー ロジッ クをインプリ メン ト します。ddr_config_rom.sv モジュールは、初期化とキャ リブレーシ ョンの動作を制御する設定を格納し、 ソース コードを再コンパイルせずに調整できるランタイム オプシ ョ ンを提供します。

アドレス ユニ ッ トは MCS をローカル レジスタ セッ ト と PHY に接続します。 そのために、 メモ リ マップ内の空間から、I/O モジュール バス上でアドレス デコード と制御変換を実行し、戻りデータを多重化します (ddr_cal_addr_decode.sv)。 さ らに、 DRAM インターフェイスの論理的概念から、 PHY アドレス空間における、 ピン配置に依存する適切な遅延制御ロケーシ ョ ンへのアドレス変換 (マッピングと呼ばれる場合もある ) も実行します。

キャ リブレーシ ョ ン アーキテクチャが提供するアドレス マップは、 個々のデータ、 制御、 およびコマンド ビッ トの遅延要素を操作する単純で整理されたものである一方、 これらの I/O ピンの配置方法には柔軟性があ り ます。 特定のI/O 配置の場合、 FPGA ロジッ クへのパスは特定ピンに固定されます。 1 つのバイナリ ソフ ト ウェア ファ イルですべてのメモ リ インターフェイス ピン配置に対応できるよ う、変換ブロ ッ クは単純な RIU アドレス指定をターゲッ ト デザインのピン配置に固有の RIU アドレスに変換します (表 3-3 参照)。固有のアドレス変換はピン配置の選択後に MIGによって書き込まれ、 書き換えるこ とはできません。 次のコードは、 これをサポートする RTL 構造の例を示したものです。

Casez(io_address)// MicroBlaze I/O module address // … static address decoding skipped //========================================// //===========DQ ODELAYS===================// //========================================// //Byte0

28’h0004100: begin //c0_ddr4_dq[0] IO_L20P_T3L_N2_AD1P_44 riu_addr_cal = 6’hD; riu_nibble = ‘h6; end // … additional dynamic addressing follows

この例では、DQ0 がニブル 0 の Bit[0] に出力されます (ニブル 0 になるのはインスタンシエーシ ョ ン順による )。Bit[0]の ODELAY の RIU アドレスは 0x0D です。 DQ0 のアドレスが指定される と、つま りアドレス 0x000_4100 が指定される と、 コードのこの部分がアクティブになり ます。 これによ り、 ニブル 0 が有効になり (ワン ホッ ト ダウンス ト リームにデコード され)、 アドレス 0x0D が RIU アドレス バスに転送されます。

ddr_cal_cplx_data.sv 複雑なパターンのキャ リブレーシ ョ ンに使用するデータ パターンです。

ddr_xiphy.sv 上位の XIPHY モジュールです。

ddr_phy.sv PHY の 上位で、 ddr_mc_cal.sv および ddr_xiphy.sv モジュールが含まれます。

表 3-2 : PHY のモジュール (続き)

モジュール名 説明

Page 27: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 27PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

MicroBlaze I/O モジュール インターフェイスは、 キャ リブレーシ ョ ンに必要な全機能を実装するには十分に高速でない場合があ り ます。ddr_cal_addr_decode.sv に実装されたヘルパー回路は、レジスタからコマンドを取得し、少なく と もその一部を PHY に発行できるよ うに 1 サイ クル精度に変換するのに必要な回路です。この回路はさ らに、連続読み出し ト ランザクシ ョ ンと読み出しデータ比較を可能にするコマンド繰り返し機能もサポート します。

表 3-3 : XIPHY RIU のアドレスと説明

RIU アドレス 名前 説明

0x00 NIBBLE_CTRL0 ニブル制御 0。 XIPHY での DQS ゲートの有効化、 ゲート フ ィードバッ ク用の GT_STATUS、 ゲート回路を リセッ トするゲート ク リ アを制御。

0x01 NIBBLE_CTRL1 ニブル制御 1。 ニブル内のすべてのビッ トの TX_DATA_PHASE を制御。

0x02 CALIB_CTRL キャ リブレーシ ョ ン制御。 BISC に関する XIPHY 制御およびステータス。

0x03 予約 予約

0x04 予約 予約

0x05 BS_CTRL ビッ ト スライス リセッ ト 。 ニブルの ISERDES および IFIFO を リセッ ト 。

0x06 予約 予約

0x07 PQTR DQS の立ち上がりエッジ遅延

0x08 NQTR DQS の立ち下がりエッジ遅延

0x09 予約 予約

0x0A TRISTATE_ODELAY ト ラ イステートの出力遅延

0x0B ODELAY0 ビッ ト スライス 0 の出力遅延

0x0C ODELAY1 ビッ ト スライス 1 の出力遅延

0x0D ODELAY2 ビッ ト スライス 2 の出力遅延

0x0E ODELAY3 ビッ ト スライス 3 の出力遅延

0x0F ODELAY4 ビッ ト スライス 4 の出力遅延

0x10 ODELAY5 ビッ ト スライス 5 の出力遅延

0x11 ODELAY6 ビッ ト スライス 6 の出力遅延

0x12 IDELAY0 ビッ ト スライス 0 の入力遅延

0x13 IDELAY1 ビッ ト スライス 1 の入力遅延

0x14 IDELAY2 ビッ ト スライス 2 の入力遅延

0x15 IDELAY3 ビッ ト スライス 3 の入力遅延

0x16 IDELAY4 ビッ ト スライス 4 の入力遅延

0x17 IDELAY5 ビッ ト スライス 5 の入力遅延

0x18 IDELAY6 ビッ ト スライス 6 の入力遅延

0x19 PQTR Align 立ち上がりエッジ DQS の BISC エッジ アライ メン ト計算結果

0x1A NQTR Align 立ち下がりエッジ DQS の BISC エッジ アライ メン ト計算結果

0x1B ~ 0x2B 予約 予約

0x2C WL_DLY_RNK0 ランク 0 のライ ト レベリ ング用レジスタ。粗粒度 (コース) および細粒度 (ファ イン) 遅延。 WL_TRAIN。

0x2D WL_DLY_RNK1 ランク 1 のライ ト レベリ ング用レジスタ。粗粒度 (コース) および細粒度 (ファ イン) 遅延。

Page 28: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 28PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

メモリの初期化およびキャリブレーシ ョ ンのシーケンス

システム リセッ トのディアサート後、 PHY はまず必要な内部キャ リブレーシ ョ ン手順をいくつか実行します。

1. PHY のビルト イン セルフ チェッ ク (BISC) を実行します。 PHY の BISC は、キャ リブレーシ ョ ン完了後に電圧および温度 (VT) ト ラ ッキングで使用する内部スキューを計算するために使用します。

2. BISC が完了する と、キャ リブレーシ ョ ン ロジッ クはメモ リに必要なパワーオン初期化シーケンスを実行します。

3. その後、書き込みおよび読み出しデータパスのタイ ミ ング キャ リブレーシ ョ ンが複数のステージにわたって実行されます。

4. キャ リブレーシ ョ ンの完了後、 PHY は電圧および温度のト ラ ッキング機能で使用する内部オフセッ ト を計算します。

5. PHY がキャ リブレーシ ョ ンの完了を示し、 コン ト ローラーはメモ リへのコマンド発行を開始します。

0x2E WL_DLY_RNK2 ランク 2 のライ ト レベリ ング用レジスタ。粗粒度 (コース) および細粒度 (ファ イン) 遅延。

0x2F WL_DLY_RNK3 ランク 3 のライ ト レベリ ング用レジスタ。粗粒度 (コース) および細粒度 (ファ イン) 遅延。

0x30 RL_DLY_RNK0 ランク 0 の DQS ゲート レジスタ。 粗粒度 (コース) および細粒度 (ファ イン) 遅延。

0x31 RL_DLY_RNK1 ランク 1 の DQS ゲート レジスタ。 粗粒度 (コース) および細粒度 (ファ イン) 遅延。

0x32 RL_DLY_RNK2 ランク 2 の DQS ゲート レジスタ。 粗粒度 (コース) および細粒度 (ファ イン) 遅延。

0x33 RL_DLY_RNK3 ランク 3 の DQS ゲート レジスタ。 粗粒度 (コース) および細粒度 (ファ イン) 遅延。

0x34 ~ 0x3F 予約 予約

表 3-3 : XIPHY RIU のアドレスと説明 (続き)

RIU アドレス 名前 説明

Page 30: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 30PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

MIG を使用してデザインをシ ミ ュレーシ ョ ンする場合は、 なるべく早く DRAM との間で双方向ト ラフ ィ ッ クを生成するためにキャ リブレーシ ョ ンはスキップされます。 ハード ウェアで実行する場合やキャ リブレーシ ョ ンを伴う シミ ュレーシ ョ ンを実行する場合は、現在実行中のキャ リブレーシ ョ ン ステージ、およびエラーが発生した場合はその発生位置を示す信号が出力されます。

キャ リブレーシ ョ ン ステータスを調べるには、 まず CalDone ポート をチェッ ク します。CalDone ポート をチェッ ク した後、 ステータス ビッ ト をチェッ ク して、 どのステージまで完了したかを調べます。キャ リブレーシ ョ ンは 初のエラー発生時に停止するため、 ステータス ビッ ト をチェッ クすれば 後に実行されたキャ リブレーシ ョ ン ステージがわかり ます。 ステータスおよびエラー信号をチェッ クするには、Vivado アナライザーの信号をこれらのポートに接続するか、 同じ く Vivado 経由で XSDB ツールを利用します。

XSDB ポートから出力されるキャ リブレーシ ョ ン ステータスを Vivado IDE に表示する と、 キャ リブレーシ ョ ンに関する有益な情報が得られます。 キャ リブレーシ ョ ン ステータスおよびエラー信号はポート と しても出力され、 デバッグまたはト リガーに利用できます。表 3-4 にポートのステータス信号およびコア XSDB データ との対応関係を示します。

表 3-4 : XSDB ステータス信号の説明

XSDB ステータス レジスタXSDB ビッ ト [8:0]

ステータス ポート ビッ ト [40:0]

説明キャリブレーシ ョ ン ステージ名

キャリブレーション ステージ番号

DDR_CAL_STATUS_RANKx_0

0 0すべてのニブルの準備が完了

MicroBlaze が起動完了 1

1 1 開始予約 –

2 2 完了

3 3 開始DQS_Gate_Bias 2

4 4 完了

5 5 開始Check_for_DQS_Gate_Bias 3

6 6 完了

7 7 開始Write_Leveling 4

8 8 完了

Page 31: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 31PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

DDR_CAL_STATUS_RANKx_1

0 9 開始Read_Leveling (シンプル) 5

1 10 完了

2 11 開始Read_Sanity_Check 6

3 12 完了

4 13 開始Write_DQS_to_DQ (シンプル) 7

5 14 完了

6 15 開始Write_Latency_Calibration 8

7 16 完了

8 17 開始Write_Read_Sanity_Check 9

DDR_CAL_STATUS_RANKx_2

0 18 完了

1 19 開始Read_Leveling (複雑) 10

2 20 完了

3 21 開始Read_VREF_Training 11

4 22 完了

5 23 開始Write_Read_Sanity_Check 12

6 24 完了

7 25 開始Write_DQS_to_DQ (複雑) 13

8 26 完了

表 3-4 : XSDB ステータス信号の説明 (続き)

XSDB ステータス レジスタXSDB ビッ ト [8:0]

ステータス ポート ビッ ト [40:0]

説明キャリブレーシ ョ ン ステージ名

キャリブレーション ステージ番号

Page 32: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 32PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

表 3-5 に、 エラー信号とその説明を示します。 エラーをデコードするには、 まずステータス信号を見てどのキャ リブレーシ ョ ン ステージが失敗したか (開始ビッ トがアサート され、 完了ビッ トがディアサート されているステージ) を調べた後、 エラー コードを確認します。 エラー信号は、 初にエラーが検出された時点でアサート されます。

DDR_CAL_STATUS_RANKx_3

0 27 開始Write_VREF_training 14

1 28 完了

2 29 開始Write_DQS_to_DM_training 15

3 30 完了

4 31 開始Write_Read_Sanity_Check 16

5 32 完了

6 33 開始 Read_Level_Multi_Rank_Adjustment

17

7 34 完了

8 35 開始Multi_rank_DQS_Gate 18

DDR_CAL_STATUS_RANKx_4

0 36 完了

1 37 開始Write_Read_Sanity_Check 19

2 38 完了

3 39 開始DQS Gate Tracking 20

4 40 完了

5 – – – –

6 – – – –

7 – – – –

8 – – – –

表 3-4 : XSDB ステータス信号の説明 (続き)

XSDB ステータス レジスタXSDB ビッ ト [8:0]

ステータス ポート ビッ ト [40:0]

説明キャリブレーシ ョ ン ステージ名

キャリブレーション ステージ番号

Page 33: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 33PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

表 3-5 : エラー信号の説明

STAGE_NAME ステージ コードDDR_CAL_ERROR_1

DDR_CAL_ERROR_0 エラー

予約 1 – – – –

DQS_Gate_Bias 2

0x0 バイ ト RIU ニブル

MR レジスタに格納された計算済みのレイテンシをキャ リブレーシ ョ ンの初期値と して使用し、 そこから値をデク リ メン ト してサンプリ ングを開始します。DQS バース トにおいてサンプルのタイ ミングが遅く、 これ以上タ ップをデク リ メン ト してレイテンシを調整できない場合に、 このエラーが発生します。

0x1 バイ ト RIU ニブル GT_STATUS で期待値パターンが検出されなかった。

0x2 バイ ト RIU ニブルサニティ チェッ クに失敗した。キャ リブレーシ ョンは成功したが、 FIFO の問題が検出された。

0x3 バイ ト RIU ニブルCAS レイテンシ (CL) の値が小さすぎる。 キャ リブレーシ ョ ンは (CL) – 3 から開始するため、 現時点では CL ≥ 5 が必要。

0x4 バイ ト RIU ニブルGT_STATUS でパターンが検出されず、すべて 0 がサンプ リ ングされた (プ リ アンブルのサンプ リ ング時)。

0x5 バイ ト RIU ニブルGT_STATUS でパターンが検出されず、すべて 1 がサンプ リ ングされた (プ リ アンブルのサンプ リ ング時)。

0x6 バイ ト RIU ニブル少なく と も約 1 tck のファイン タ ップの間に 0 から 1 への遷移を検出できなかった。

Check_for_DQS_Gate_Bias

3 0x0 N/A N/A 期待される回数のデータ バース トが PHY から返されなかった。

Write_Leveling 4

0x0 バイ ト N/A 「安定 0」 を検出できなかった。

0x1 バイ ト N/A 「安定 1」 を検出できなかった。

0x2 バイ ト N/A フ ァ イン タ ップでノ イズ領域の左側エッジを検出できなかった。

Read_Leveling (シンプル)

5

0x0 ニブル ビッ トスキュー調整パターンを実行してもニブルのビットに関して有効なデータが検出されなかった。

0x1 ニブル ビッ トニブルのビッ トに関して有効なデータが検出されなかった。

0xF ニブル ビッ ト読み出しデータが返される前にタイムアウ ト エラーが発生した。

Read_Sanity_Check 6

0x0 ニブル 0 読み出しデータの比較失敗。

0xF N/A N/A 読み出しデータが返される前にタイムアウ ト エラーが発生した。

Page 34: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 34PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

Write_DQS_to_DQ (シンプル)

7

0x0 バイ ト N/A DQS スキュー調整エラー。有効なデータが検出される前に利用可能なタップがなくなった。

0x1 バイ ト ビッ トDQ スキュー調整エラー。 検出失敗点を検出できなかった。このエラーは CAL_FULL ビッ ト をセットする と検出される。

0x2 バイ ト N/A DLY0 エラー。 エッジを検出する前に利用可能なタップがなくなった。

0x3 バイ ト N/A DLY1 エラー。 エッジを検出する前に利用可能なタップがなくなった。

0xF バイ ト N/A 読み出しデータが返される前にタ イムアウ ト エラーが発生した。

Write_Latency_Calibration

8

0x0 バイ ト N/A 割 り 当て られたタ ッ プ数の範囲内でデータ パターンを検出できなかった。

0x1 バイ ト N/Aデータ パターンが検出されなかった。 データ開始のタイ ミ ングが遅く、 「F0A55A96」 ではなく「00F0A55A」 が検出された。

0x2 バイ ト N/A

データ パターンが検出されなかった。 データのタイ ミ ングが早く、 パターン検出に十分な遷移が見られなかった。 パターン 「A55A96FF」 または「5A96FFFF」 が検出された。

0x3 バイ ト N/A データ パターンが検出されなかった。 同じアドレスからの複数回の読み出し結果が一致しなかった。

0xF バイ ト N/A 読み出しデータが返される前にタイムアウ ト エラーが発生した。

Write_Read_Sanity_Check

9

0x0 ニブル 0 読み出しデータの比較失敗。

0xF N/A N/A 読み出しデータが返される前にタイムアウ ト エラーが発生した。

Read_Leveling (複雑)

10 Read_Leveling (シンプル) のエラー コードを参照。

Read_VREF_Training 11

0x0 バイ ト N/A どの VREF 値にも有効なウ ィ ン ド ウが検出されなかった。

0xF ニブル N/A 読み出しデータが返される前にタイムアウ ト エラーが発生した。

Write_Read_Sanity_Check

12

0x0 ニブル 0 読み出しデータの比較失敗。

0xF N/A N/A 読み出しデータが返される前にタイムアウ ト エラーが発生した。

Write_DQS_to_DQ (複雑)

13 Write_DQS_to_DQ (シンプル) のエラー コードを参照。

Write_VREF_Training 14

0x0 バイ ト N/A どの VREF 値にも有効なウ ィ ン ド ウが検出されなかった。

0xF バイ ト N/A 読み出しデータが返される前にタイムアウ ト エラーが発生した。

表 3-5 : エラー信号の説明 (続き)

STAGE_NAME ステージ コードDDR_CAL_ERROR_1

DDR_CAL_ERROR_0 エラー

Page 35: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 35PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

DQS ゲート

XIPHY は DRAM からの読み出しデータを DQS ス ト ローブを使用してキャプチャし、同じス ト ローブを使用してデータを内部 FIFO へ転送します。 データをキャプチャするには、 まず XIPHY がゲート を開く と DQS によってデータがPHY に取り込まれるよ うに DQS ス ト ローブの位置を評価する必要があ り ます。

XIPHY は内部クロ ッ クを使用して読み出しバース ト中に DQS をサンプリ ングし、 GT_STATUS と呼ばれる 1 ビッ トの値を返します。 このサンプルを ト レーニング アルゴ リ ズムの一部と して使用し、 サンプ リ ング ク ロ ッ クを基準にした DQS の 初の立ち上がりエッジの位置を判定します。

Write_DQS_to_DM_Training

15

0x0 バイ ト N/A DQS スキュー調整エラー。有効なデータが検出される前に利用可能なタップがなくなった。

0x1 バイ ト N/ADQ スキュー調整エラー。 検出失敗点を検出できなかった。このエラーは CAL_FULL ビッ ト をセットする と検出される。

0x2 バイ ト N/A DLY0 エラー。 エッジを検出する前に利用可能なタップがなくなった。

0x3 バイ ト N/A DLY1 エラー。 エッジを検出する前に利用可能なタップがなくなった。

0xF バイ ト N/A 読み出しデータが返される前にタイムアウ ト エラーが発生した。

Write_Read_Sanity_Check

16

0x0 ニブル 0 読み出しデータの比較失敗。

0xF N/A N/A 読み出しデータが返される前にタイムアウ ト エラーが発生した。

Read_Level_Multi_Rank_Adjustment

17 – – – N/A

Multi_rank_DQS_Gate 18

0x0 バイ ト RIU ニブル

現在のバイ トに対して全ランクに共通の汎用インターコネク ト読み出しレイテンシ設定が見つからなかった。 ランク間のばらつきをコース タ ップで補償できなかった。

0x1 バイ ト RIU ニブル現在のバイ ト のランク間スキューが 360° を超えている。

Write_Read_Sanity_Check

19

0x0 ニブル RIU ニブル 読み出しデータの比較失敗。

0xF N/A N/A 読み出しデータが返される前にタイムアウ ト エラーが発生した。

DQS Gate Tracking 20

0x0 バイ ト ランクト ラ ッキングに使用するコース タ ップのアンダーフロー。

0x1 バイ ト ランクト ラ ッキングに使用するコース タ ップのオーバーフロー。

予約 21 – – – –

予約 22 – – – –

表 3-5 : エラー信号の説明 (続き)

STAGE_NAME ステージ コードDDR_CAL_ERROR_1

DDR_CAL_ERROR_0 エラー

Page 36: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 36PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

キャ リブレーシ ョ ン ロジッ クが個々の読み出しコマンドを DRAM に発行し、 XIPHY に対して clb2phy_rd_en 信号をアサート してゲート を開く と、 DQS がサンプリ ングされます。 clb2phy_rd_en 信号は、 DRAM ク ロ ッ ク サイクル単位でゲート を開く タイ ミ ングを制御します (DQS_GATE_READ_LATENCY_RANK#_BYTE#)。 この信号はキャリブレーシ ョ ンおよびコン ト ローラーで使用するもので、 PHY 内部でバイ ト単位で制御され、 ddr_mc_pi ブロ ッ クで設定されます。

キャ リブレーシ ョ ンは、 コン ト ローラーがバイ ト単位で使用する値を決定します。 XIPHY には、 ゲート を開く タイ ミング粒度と してコース (粗粒度) タ ップとファイン (細粒度) タ ップの 2 つが追加されています。 コース タ ップは 90° のDRAM クロ ッ ク サイクル粒度で 16 タ ップを利用でき、 ファイン タ ップは 2.5 ~ 15ps の粒度で 512 タ ップを利用できます。 BISC は (BISC_PQTR_NIBBLE#-BISC_ALIGN_PQTR_NIBBLE#) または (BISC_NQTR_NIBBLE#-BISC_ALIGN_NQTR_NIBBLE#) を取得して 1/4 DDR ク ロ ッ ク サイ クルのタ ップ数を提供します。 これらを使用して、 特定のニブルに対する 1 タ ップの分解能を推定します。

DQS をサーチするには、 まず DQS が返されるタイ ミ ングを推定します。 読み出し全体のレイテンシは、 PHY 遅延、PCB 遅延、および DRAM のレイテンシ設定 (CAS レイテンシ、アディティブ レイテンシなど) の関数と して決ま り ます。 このサーチは、 DQS が返される と推定されるタイ ミ ングの 3 DRAM ク ロ ッ ク サイクル前に開始します。 アルゴリズムは DQS の 初の立ち上がりエッジの前に (なるべくプ リ アンブル領域で) サンプリ ングを開始する必要があ ります。 図 3-7 に示すよ うに、 DDR3 と DDR4 では DQS のプリアンブルが異なり ます。

仕様では DDR3 の方がプリアンブルが長く (3/4 DRAM ク ロ ッ ク サイクル)、終端された ト ライステートから開始します。 これに対し、 DDR4 のプリ アンブルは短く (1/2 DRAM ク ロ ッ ク サイ クル)、 レール終端レベルから開始します。DDR4 では、DQS ゲート キャ リブレーシ ョ ン中にプリアンブル ト レーニング モードが有効になるため、DQS がアイドルの場合、 DQS は常に Low に駆動されます。 このため、 アルゴ リズムは DDR3 と DDR4 で同じ DQS サンプル パターンの検出を試みます (どちらの場合も 1/2 ク ロ ッ ク サイ クルよ り大きいプリ アンブル)。

DDR3 はバース ト前に ト ラ イステート領域で開始するため、 取得したサンプルは 0 または 1 のどちらかとな り ます。この結果を避けるため、1 つのサンプルに対してハードウェアで 20 サンプルを取得し、 ト ラ イステート領域またはサンプリ ング ク ロ ッ ク /ス ト ローブのノ イズを実際の DQS と誤認識する確率を抑えます。 この確率は、次式によって二項確率と して表されます。

X = 期待される結果

n= 試行回数

P = すべて同じ結果になる確率

ト ライステート領域でサンプルを取得した場合の結果は 0 または 1 であるため、20 サンプルすべてが同じ値で到着する確率は約 9.5 × 10-6 です。図 3-8 に、 コース タ ップを調整して期待されるサンプリ ング パターンが検出された DQSバース トのサンプルの例を示します。 DQS に対してサンプリ ング ク ロ ッ クを調整する と、 このパターンが DQS のレベルと して現れるこ とが期待されます。

X-Ref Target - Figure 3-7

図 3-7 : DDR3/DDR4 の DQS プリアンブル

P X x=( ) n!x! n x–( )!--------------------px 1 p–( )

n x–=

Page 37: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 37PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

このパターンの各要素は DRAM からの 20 回の読み出しバース ト と XIPHY からのサンプルで構成されます。 XIPHYのゲートが開かれ、DQS 上でのレベルを示す新しいサンプルを取得します。すべてのサンプルが 初に取得したサンプルと同じなら、 その値に確定します。 サンプルのうち 1 つでも異なる値があれば、 パターン内でその値は 「X」 とマーク されます。 パターンの中の 「X」 は、 ク ロ ッ ク間のジッ ターおよび DCD を許容し、 アラ イ メ ン トの不明なクロ ッ クを扱う際の不確実性に対処するためのものです。 クロ ッ クのアライ メン トによっては、 これらはすべて 0 になるこ と も、すべて 1 になるこ と も、 0 と 1 の組み合わせになるこ と もあ り ますが、いずれの場合も DQS パターンを正し く検出できます。

XIPHY でコース タ ップをインク リ メン ト し、各コース タ ップにおける値を記録して完全なパターン 「00X1X0X1X0」を検出します。 アルゴ リズムが ト ライステート領域を実際の DQS パターンと誤認識するためには、 あるコース タ ップで取得した 20 サンプルがすべて 0 で、 次のコース タ ップで取得した 20 サンプルもすべて 0、 そして次のコースタ ップで取得した 20 サンプルがすべて 1 である必要があ り ます (DQS パターン先頭の 「00X1」 と一致)。 これが発生する確率は 8.67 × 10-19 です。 しかも これはパターン先頭のみとの一致であ り、 10 コース タ ップで取得する完全なパターンと一致する確率はさらに低くな り ます。

しかしカップ リ ングまたはノ イズが DQS パターンと誤認識される確率は非常に小さいものの、ゼロではあ り ません。この場合、 各サンプルはもはやランダムではなく、 非常に繰り返し性の高い信号となり ます。 DDR3 システムの ト ライステート領域を実際の DQS パルスと誤認識するのを防ぐも う 1 つの手段と して、 MPR レジスタからデータを読み出してゲート アライ メン ト を確認します。読み出しパスは BISC によってデータ キャプチャ用にセッ ト アップされます、 キャプチャ ク ロ ッ クは DRAM からの期待されるビッ ト時のほぼ中央に設定されます。

アルゴ リ ズムは決まったパターンをサーチしているだけで、 データのサンプリ ングに使用するク ロ ッ ク と DQS の正確なアライ メン トは未知のため、 図 3-9 に示すよ うに 4 つのパターンの可能性が考えられます。

X-Ref Target - Figure 3-8

図 3-8 : コース タ ップを用いた DQS ゲート サンプルの例

X-Ref Target - Figure 3-9

図 3-9 : DQS ゲート キャリブレーシ ョ ンで考えられるパターン

Page 38: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 38PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

パターンのサーチにかかる時間を短縮するため、 初の 7 つのコース タ ップのみを使用して開始パターンが検出されたかど うかを判定します。 このため、 初の 7 つのサンプルが期待される結果と一致しない場合、 それ以上コースタ ップをサーチする必要があ り ません。 初の 7 つのコース タ ップの結果が図 3-9 に示した 4 つのパターンのいずれにも該当しない場合、 次の処理が実行されます。

• コース タ ップを 0 にリセッ トする

• 汎用インターコネク ト制御 clb2phy_rd_en の値を 1 DRAM ク ロ ッ ク サイ クル大き くする

• サーチを再開する (すなわち図 3-9 のコース タ ップ 4 から開始)

DDR4 では、 アルゴ リズムが 1XX または 01X をサンプルした場合、 DQS バース トに対してサンプリ ングの開始が遅すぎるこ とを意味します。 アルゴ リ ズムは汎用インターコネク ト制御 clb2phy_rd_en の値を小さ く して再試行します。 すでに clb2phy_rd_en が下限値の場合はエラーをアサート します。

特定のレイテンシで許容される clb2phy_rd_en の値をすべてチェッ ク しても期待値パターンが検出されない場合、ファ イン タ ップ (コース タ ップの半分) を使用してサンプリ ングを約 45° だけオフセッ ト しても う一度サーチを開始します。 これによ り、 初とは異なる位相関係でサンプリ ングが実行されます。 パターンの検出に失敗するたびにオフセッ ト を半分ずつ減らし、 オフセッ ト をデク リ メン トできなくなるまで続けます。

図 3-10 に、 ファ イン タ ップによるオフセッ ト を適用するまでパターンが検出されない極端な例 (DQS の DCD) を示します。

パターンが検出されたら、 図 3-9 でチェ ッ ク したパターンのア ラ イ メ ン ト に基づいて 終的なコース タ ップ(DQS_GATE_COARSE_RANK#_BYTE#) を設定します。 コース タ ップは、 図 3-11 に示すパターンで 1 の前に検出された 後の 0 の位置に設定されます ( 「3」 は複数のサンプルが 0 と 1 を返した不安定な領域を示します)。 この手順によ り、 コース タ ップの 終値は 5 ~ 9 に設定されます。

X-Ref Target - Figure 3-10

図 3-10 : DQS ゲート キャリブレーシ ョ ンのファイン オフセッ トの例

Page 39: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 39PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

この場所から clb2phy_rd_en (DQS_GATE_READ_LATENCY_RANK#_BYTE#) を 1 つ増やしてゲート を 終位置に設定してから、 ファ イン スイープを開始します。 これは、 通常動作時に完全な DQS バース トに対して適切なゲートのタイ ミ ングを確保するために行います。 この場合、 別の信号でス ト ローブをサンプリ ングするこ とになるため、 互いにジッターが存在します。

たとえばこれらをアライ メン ト して複数のサンプルを取得した場合、新しいサンプルを取得するたびに結果が異なる場合があ り ます。ファ イン サーチは、すべてのサンプルが 0 を返す比較的安定した領域から開始します (図 3-12)。次に、0 以外の値が返されるまで (つま り不安定な領域の左側エッジまで) ファ イン タ ップをインク リ メン ト し、 このときのタ ップ値を DQS_GATE_FINE_LEFT_RANK#_BYTE# に記録します (図 3-14)。

X-Ref Target - Figure 3-11

図 3-11 : ファイン サーチ開始前の DQS ゲートのコース タ ップ設定

X-Ref Target - Figure 3-12

図 3-12 : DQS ゲートの微調整、 0 をサンプル

Page 40: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 40PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

次に、取得したサンプルがすべて 1 となるまでファイン タ ップをインク リ メン ト します (図 3-13)。このと きのタ ップ値を、 不安定な領域の右側エッジと して DQS_GATE_FINE_RIGHT_RANK#_BYTE# に記録します (図 3-14)。

終的なファイン タ ップは不確定領域の中央点、 すなわち (right – left)/2 + left と して計算します (DQS_GATE_FINE_CENTER_RANK#_BYTE#)。 これによ り、 DQS に対してゲート を 適な位置に設定できます。 シ ミ ュレーシ ョ ンの場合は、 ファ イン タ ップの調整方法を変更してサーチにかかる時間を短縮します。すなわち、二分探索を利用してファイン タ ップをよ り大きな値にジャンプするこ とによ り、 0 から 1 への遷移を短時間で検出します。

マルチランク システムの場合、 XIPHY にはランクごとに別の制御が存在し、すべてのランクを個別にト レーニングしてコース タ ップとファイン タ ップを決定できます。 キャ リブレーシ ョ ンが完了したら、各バイ トの clb2phy_rd_en(DQS_GATE_READ_LATENCY_RANK#_BYTE#) の値が全ランクで共通となるよ うに調整します。ゲート信号のタイ ミングがキャ リブレーシ ョ ンで検出したタイ ミ ングと一致するよ うにコース タ ップをインク リ メ ン ト /デク リ メン ト します。特定のバイ トに対し、全ランク共通の clb2phy_rd_en 設定が検出されない場合、エラーがアサート されます。

DQS ゲート サニティ チェ ック

あるランクのすべてのバイ トで DQS ゲート キャ リブレーシ ョ ンが完了したら、 読み出しデータが返されるタイ ミ ングを計算し、 ギャ ップをはさんで 10 回の読み出しバース ト を発行します。 次に、 FIFO が 10 回読み出されたこ とをロジッ クでチェ ッ ク します。 このステージではデータ チェ ッ クは行いません。 これは FIFO 読み出しポート制御ロジッ クの基本的な機能チェッ クであ り、DQS ゲート キャ リブレーシ ョ ンの結果に基づいて設定します。読み出しデータが返されるタイ ミ ングは、 各ランクで DQS ゲート キャ リブレーシ ョ ンが完了するたびに更新されます。 すべてのDQS レーンおよびすべてのランクにおける DQS ゲート遅延の 大値が、 終的な読み出しデータの返されるタイ ミングとな り ます。

X-Ref Target - Figure 3-13

図 3-13 : DQS ゲートの微調整、 1 をサンプル

X-Ref Target - Figure 3-14

図 3-14 : DQS ゲートの微調整、 不確定領域

Page 41: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 41PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

ライ ト レベリング

DDR3/DDR4 SDRAM メモ リ モジュールはクロ ッ ク、 アドレス、 コマンド、制御信号をフライバイ ト ポロジとすることでシグナル インテグ リ ティを改善しています。 しかしフライバイ ト ポロジではモジュールの各メモ リ デバイスでDQS と CK の間にスキューが発生します。 ラ イ ト レベリ ングは、 DDR3/DDR4 デバイスに転送されるク ロ ッ ク (CK)に対して各書き込み DQS の位相をコン ト ローラーで個別に調整してこのスキューを補償し、 tDQSS 仕様 [参照 1] に適合できるよ うにする DDR3/DDR4 SDRAM の機能です。

ライ ト レベリ ングを実行中、 DQS は FPGA メモ リ インターフェイスによって駆動され、 DQ は DDR3/DDR4 SDRAMデバイスによって駆動されてフ ィードバッ クを供給します。 ラ イ ト レベリ ングを開始するには、 MRS コマン ド をDRAM へ送信してフ ィードバッ ク機能を有効にします。 後にも う一度 MRS コマンドを送信する と ライ ト レベリ ングが無効になり ます。 図 3-15 に、 ライ ト レベリ ング インプリ メンテーシ ョ ンのブロ ッ ク図を示します。

ライ ト レベリ ングを実行するには、 RIU で XIPHY の属性をいくつか設定する必要があ り ます。 まず、 DQS を駆動する際に DQS と DQ がデカップルされるよ うに WL_TRAIN を設定します。これで、XIPHY は DRAM から返される DQをキャプチャできるよ うにな り ます。 DQ は返されてもキャプチャ用の DQS ス ト ローブは返されないため、 XIPHYで RX_GATE を 0 に設定して DQS ゲートの動作を無効にします。 ラ イ ト レベリ ング アルゴ リ ズムは一度に 1 つのDQS のみに対して実行されますが、 DQ に対してバス上で競合が発生しないよ うに XIPHY のすべてのバイ トがライト レベリ ングに設定されます。

DQS には ODELAY および RIU の WL_DLY_RNKx レジスタに格納されたコース遅延が適用されます (WL_DLY_CRSE[12:9] がニブルのすべてのビッ トに適用される )。個々のニブルに対するライ ト レベリ ングの ODELAY 値は、 RIU の WL_DLY_FINE[8:0] に格納します。 これは、 XIPHY がランクを切り替える際に使用します。

X-Ref Target - Figure 3-15

図 3-15 : ライ ト レベリングのブロック図

Page 42: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 42PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

DDR3/DDR4 メモ リ デバイスにおける CK と DQS の関係を検出するために、FPGA は一連の DQS パルスを DRAM へ出力します。 DQS には ODELAY およびコース タ ップ遅延が適用され、 フ ィードバッ ク DQ 入力で 0 から 1 への遷移が検出されるまでコース タ ップを 小単位ずつ増やしていきます。 まず、 代表的なバース ト長である 8 パターンを 1 回 DQS へ送出 (4 ク ロ ッ ク パルス) した後、 ギャ ップをはさんで 8 パターンのバース ト を 100 回 DRAM に送信します (図 3-16)。

ギャ ップの前の部分は、 DRAM が送り返された DQ でフ ィードバッ ク サンプルを更新するためのもので、 ギャ ップの後の部分は DQ に現れるレベルを XIPHY に取り込むために XIPHY が使用する ク ロ ッ クを供給するためのものです。1 回のバース トの 後に DQS でリ ンギングが発生する と DRAM によってクロ ッ ク エッジと誤認識される可能性があるため、 DQS を駆動しながら DQ をサンプリ ングするこ とによってこれを防いでいます。

ジッ ターによって CK の立ち下がりエッジが誤検出されるのを防ぐため、 DQS はウ ィ ンド ウ全体を後方へ移動して「0」 および 「1」 の安定した大きな領域 (取得したサンプルの値がすべて同じ領域) を検出します。 この 「安定 1」 の領域の右側では、DQS で CK の立ち下がりエッジがキャプチャされるため、 この領域の左側であるこ とを確認します(図 3-17)。

ラ イ ト レベリ ングは、 次の 2 つの手順で実行されます。

1. コース タ ップおよび ODELAY タ ップ (必要な場合) を使用して 「0」 から 「1」 への遷移を検出する。

まず、 取得したすべてのサンプルから固定値 「0」 が返されるこ とを確認します。 取得した 64 サンプルすべてが「0」 であればデータは 「0」 と確定されます。 現在のコース タ ップ値を保存して、 コース タ ップをインク リ メント します。

° すべてのサンプルで再び 「0」 が返されたら、WRLVL_COARSE_STABLE0_RANK_BYTE を現在のコース タ ップ値で更新して、 同じ処理を繰り返します。

° アルゴ リ ズムが 0 以外の値 (ノ イズ) を受信するか、 すべてのサンプルで 「1」 を受信 (WRLVL_COARSE_STABLE0_RANK_BYTE) したら、 すべてのサンプルで 「0」 を受信した 後のコース タ ップ値に遅延量を戻します。 この基準値によ り、 アルゴ リズムが目的の遷移の左側にコース タ ップを置いたこ とがわかり ます。

° アルゴ リズムが 「安定 0」 領域から ノ イズ領域または 「安定 1」 領域への遷移をコース タ ップで検出できない場合、 DQS の ODELAY をオフセッ ト値 ( 初は 45° に設定、 WRLVL_ODELAY_INITIAL_OFFSET_BYTE)に設定し、 コース タ ップを 「0」 に戻しても う一度チェッ ク します。 「安定 0」 から 「安定 1」 への遷移を検出します (ノ イズ領域が 90° に近い場合、 または DCD 量が大きい場合にこの処理が必要となる )。

X-Ref Target - Figure 3-16

図 3-16 : ライ ト レベリングの DQS バースト

X-Ref Target - Figure 3-17

図 3-17 : ライ ト レベリングの領域

Page 43: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 43PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

° それでも遷移を検出できない場合、 オフセッ ト を半分にしてアルゴ リズムをも う一度実行します。 後に使用したオフセッ ト値を WRLVL_ODELAY_LAST_OFFSET_RANK_BYTE に格納します。 このアルゴ リ ズムはDQS を も近いクロ ッ ク エッジにアライ メン ト しているため、コース タ ップのスイープは 5 (1.25 ク ロ ッ クサイ クル) に制限されます。 終的なコース タ ップ値を WRLVL_COARSE_STABLE0_RANK_BYTE に格納します。

2. 「0」 から 「1」 への遷移途中のノ イズ領域の中央を ODELAY タ ップを用いて検出する。

ここでは、ODELAY タップをスイープしてノ イズ領域の両方のエッジ (WRLVL_ODELAY_STABLE0_RANK_BYTE、WRLVL_ODELAY_STABLE1_RANK_BYTE) を検出します ( 終値は WRLVL_ODELAY_CENTER_RANK_BYTE に保存)。 使用する ODELAY タップ数は、 DQS と CK の 初のアライ メン トおよびこのノ イズ領域のサイズによって決ま り ます (図 3-18)。

終的な ODELAY 設定値が決定したら、 ODELAY の値を RIU の WL_DLY_RNKx[8:0] レジスタに格納します。 この値は、 DQS に一致させるために DQ および DM の ODELAY レジスタにも格納されます。 すでに DQS/DQ/DM に対してスキュー調整を実行している場合 (マルチランク システム)、 スキュー調整の情報が維持され、そのオフセッ トが適用されます。

ODELAY の 小値は WRLVL_ODELAY_LOWEST_COMMON_BYTE に格納されます。 これは、 個々のバイ トの ODELAY のスキュー調整で WRLVL 要素を保持する目的で使用します。 マルチランク システムの通常動作時には、各ランクで保存した値が XIPHY によって ODELAY に格納されます。

ラ イ ト レベリ ングが完了したら、 MPR コマンドを DRAM に発行してライ ト レベリ ング機能を無効にします。 すると WL_TRAIN はデフォル トの 「off」 に設定され、 DQS ゲートが再びオンにな り、 返された DQS ス ト ローブで DQをキャプチャできるよ うになり ます。

X-Ref Target - Figure 3-18

図 3-18 : ワースト ケースの ODELAY タ ップ (最大および最小)

Page 44: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 44PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

リード レベリング

ゲート ト レーニングと ライ ト レベリ ングが完了したら、次は DQS を用いて読み出しデータを確実にキャプチャできるよ うに リード レベリ ングを行います。 このステージは、 ビッ ト単位のスキュー調整と読み出し DQS センタ リ ングの 2 つのフェーズで構成されます。 読み出し DQS センタ リ ングには、 DDR3 および DDR4 の多目的レジスタ (MPR)を使用します。 MPR には読み出しキャプチャ用の読み出し DQS および DQ のト レーニングに使用するパターンが格納されています。 DDR4 ではいくつかのパターンを利用できますが、 DDR3 では 1 つのパターンを繰り返して利用します。

ビッ ト単位のスキュー調整では、同じバイ トのビッ ト間に極端なスキューがあっても対処および診断ができるよ うに繰り返しのないパターンを使用します。 DDR3 の MPR パターンではこれが制限されるため、 長いパターンを 初にDRAM に書き込んでから読み出してビッ ト単位のスキュー調整を行います (マルチランク システムの場合は 初のランクのみ実行)。 ビッ ト単位のスキュー調整が完了したら、 DDR3 および DDR4 の MPR に格納されたシンプルな繰り返しパターンを使用して DQS を DQ 読み出しアイの中央に揃えます。

XIPHY には、 DQS に関して別々の遅延要素 (1 タ ップあた り 2.5 ~ 15ps、 合計 512) があ り、 立ち上がりエッジ DQデータのクロ ッ ク (PQTR) と立ち下がりエッジ DQ データのクロ ッ ク (NQTR) をニブル単位 (PQTR/NQTR につき 4 DQ ビッ ト ) で個別に調整できます。 これによ り、 アルゴ リズムは立ち上がりエッジと立ち下がりエッジの DQS スト ローブを個別にセンタ リ ングして DCD に対処する際のマージンを増やすこ とができます。 PQTR ク ロ ッ ク ド メ インでキャプチャしたデータは、 NQTR ク ロ ッ ク ド メ インに転送されてから読み出し FIFO および汎用インターコネクト ク ロ ッ ク ド メ インへ送信されます。

このクロ ッ ク ド メ イン間の転送によ り、PQTR ク ロ ッ ク と NQTR ク ロ ッ クの位相差は約 180° とする必要があ り ます。PQTR/NQTR ク ロ ッ ク パスのこの位相関係は、BISC スタート アップ ルーチンで設定します。このため、キャ リブレーシ ョ ンを実行する場合は、 ト レーニング中にこの位相関係を維持する必要があ り ます (BISC_ALIGN_PQTR、BISC_ALIGN_NQTR、 BISC_PQTR、 BISC_NQTR)。

読み出しのビッ ト単位スキュー調整

まず、 アドレス 0x000 に 0x00 を書き込みます。 書き込みレイテンシのキャ リブレーシ ョ ンがまだ実行されていないため、 期待される書き込みレイテンシの前後 8 ク ロ ッ ク サイ クルの間、 アドレス DQ が保持されます。 図 3-19 に示すよ うに、 DQS が前後 8 ク ロ ッ ク サイクルの間ト グルします。 これによ り、 DRAM が期待するタイ ミ ングでバーストが実行されなくてもデータが DRAM に書き込まれます。

次に、 連続して読み出し可能な別のアドレスに 0xFF を書き込みます (図 3-20)。 DDR3 の場合はアドレス 0x008 を使用し、 DDR4 の場合はバンク グループ 0x1 のアドレス 0x000 を使用します。 DDR4 は周波数が高いため、 8 ク ロ ッ クサイ クルのバース ト を連続実行するにはバンク グループを切り替える必要があ り ます。

X-Ref Target - Figure 3-19

図 3-19 : ビッ ト単位のスキュー調整 – アドレス 0x000 に 0x00 を書き込み

Page 45: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 45PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

データを書き込んだら、 これらアドレスからの連続読み出しを DRAM に発行してビッ ト単位のスキュー調整を実行します (図 3-21)。

このパターンを使用して同じバイ トの各ビッ ト を DQS ス ト ローブの左側エッジにアライ メン ト します (PQTR/NQTR)。1 ビッ ト時を超えるスキューを検出および訂正できます。

推奨 : 一般に、 1 ビッ ト時のビッ ト間スキューは理想的ではあ り ません。 DQS バイ ト内で DDR3/DDR4 ト レース マッチング ガイ ド ラインを満たすよ うにしてください。 64 ページの 「DDR3 の PCB ガイ ド ライン」、 64 ページの 「DDR4の PCB ガイ ド ライン」 を参照してください。

スキュー調整の 初に、PQTR/NQTR のどちらかが 0 になるまで、BISC で設定した 初の位相関係が維持されるよ うに両方を同じだけデク リ メン ト します。 次に、 特定のビッ トのデータがパターンと一致するかチェッ ク します。 このチェッ クは、 立ち上がりエッジ データに対してのみ行います。 立ち下がりエッジの比較は行いません。 これは、 DQに対して PQTR/NQTR に余分な遅延を確保するためです。

理想的な条件では、 この遅延を 0 に設定する と PQTR/NQTR は DQ のエッジにアライ メン ト されます。 PQTR/NQTRパスには余分な遅延があるため、 高い周波数では NQTR が次のバース ト ト ランザクシ ョ ンにずれ込む可能性があるため、 比較から除外します (図 3-22 ~図 3-23)。 スキューが 1 ビッ ト時を超える場合は、 バース トの立ち上がりエッジ データをよ り多く破棄する必要があ り ます。 バース トの 後の部分を除外しないと比較に失敗し、 DQ の IDELAYではなく PQTR/NQTR がインク リ メン ト されてしまいます。

X-Ref Target - Figure 3-20

図 3-20 : ビッ ト単位のスキュー調整 – 別のアドレスに 0xFF を書き込み

X-Ref Target - Figure 3-21

図 3-21 : ビッ ト単位のスキュー調整 – 連続読み出し (ギャップなし )

X-Ref Target - Figure 3-22

図 3-22 : ビッ ト単位のスキュー調整 – 遅延を 0 に設定 (理想)

Page 46: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 46PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

パターンが検出されたら、そのビッ トに対する IDELAY を 1 つインク リ メン ト しても う一度チェッ ク します。パターンが検出されない場合、 PQTR/NQTR を 1 つインク リ メン ト してデータをも う一度チェッ ク します。 アルゴ リ ズムは個々のビッ トの検出成功領域と検出失敗領域をチェッ ク し、 PQTR/NQTR 遅延またはそのビッ トの IDELAY を調整します。

不確定領域のノ イズ対策と して、検出成功領域を 小ウ ィンド ウ サイズ (10) で定義します。こ うする と、PQTR/NQTRをインク リ メン ト し、あるビッ トに対して検出成功データの連続した領域が見つからない限り検出成功領域とは見なされません。 すべてのビッ トに関して、 PQTR/NQTR を後方へ移動してニブルの も遅いビッ ト とアライ メン ト します。 図 3-24 ~図 3-26 に、 スキュー調整ステージでの PQTR/NQTR と各 DQ ビッ トのアライ メン ト例を示します。

X-Ref Target - Figure 3-23

図 3-23 : ビッ ト単位のスキュー調整 – 遅延を 0 に設定

X-Ref Target - Figure 3-24

図 3-24 : ビッ ト単位のスキュー調整 – 最初の関係の例

Page 47: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 47PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

アルゴ リ ズムは一度に 1 ビッ トの結果のみを取得し、 その結果のみに基づいて決定します。 共通の PQTR/NQTR は、各ビッ ト とアライ メン トするよ うに必要に応じてインク リ メン ト されますが、デク リ メン トはされません。 このよ うに後方へ移動するこ とで、 も遅いビッ トにアライ メン ト します。

X-Ref Target - Figure 3-25

図 3-25 : ビッ ト単位のスキュー調整 – タイ ミングの早いビッ ト を後方へ移動

X-Ref Target - Figure 3-26

図 3-26 : ビッ ト単位のスキュー調整 – PQTR/NQTR を最もタイ ミングの遅いビッ トに合わせて後方へ移動

Page 48: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 48PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

次に、PQTR/NQTR を もタイ ミ ングの遅い DQ ビッ トに合わせて後方へ移動します (RDLVL_DESKEW_PQTR_nibble、RDLVL_DESKEW_NQTR_nibble)。 する と、 図に示したよ うにキャ リブレーシ ョ ン済みの DQ ビッ トのタイ ミ ングが早くなり ます。 こ こですべてのビッ ト をも う一度チェッ ク して、 必要に応じて後方へ移動します (図 3-27)。

スキュー調整後の 終的な DQ IDELAY の値は RDLVL_DESKEW_IDELAY_Byte_Bit に格納されます。

読み出し DQS センタ リング

データのスキュー調整が完了したら、 PQTR/NQTR の遅延を調整してニブル全体のデータ有効ウ ィンド ウの中心に揃える必要があ り ます。 センタ リ ング用のデータ パターンは DRAM の MPR レジスタから供給します。 したがってパターンはビッ ト時ごとに変化し、 DRAM にパターンを 初に書き込んでおく必要がないため、 不確実性が減少します。DDR3 と DDR4 でパターン チェッ クを共通にするため、シンプルなクロ ッ ク パターンを使用します。 初の DQSパルスに対する ISI の影響を考慮し、DRAM に対する読み出しにギャ ップを設けるこ とで 初のセンタ リ ングを強調しています (図 3-28)。

DRAM から返されるデータ と ク ロ ッ クに対するジッターに適切に対処するため、1 つのタップ値で複数のデータ サンプルを取得します。 ハード ウェアの場合は 64 回の読み出しバース ト を使用し、 シ ミ ュレーシ ョ ンでは 5 回の読み出しバース ト を使用します。サンプル数が多いほどデータ有効ウ ィンド ウ との 適なアライ メン ト を見つけやすくなります。

PHY には PQTR と NQTR の 2 つのキャプチャ ス ト ローブがあり、これらを同時に移動しながら個別にセンタ リ ングする必要があるため、 これらクロ ッ クの位相関係を維持したままキャ リブレーシ ョ ンを実行するよ う注意が必要です。

X-Ref Target - Figure 3-27

図 3-27 : ビッ ト単位のスキュー調整 – タイ ミングの早いビッ ト を必要に応じて後方へ移動

X-Ref Target - Figure 3-28

図 3-28 : MPR 読み出し間のギャップ

Page 49: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 49PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

データ と PQTR/NQTR の遅延量は、 スキュー調整で決定した値を初期値と して使用します。データの 初の遅延量は、ニブルのすべてのビッ ト で PQTR および NQTR ク ロ ッ クの両方がデータ有効ウ ィ ンド ウのすぐ左から開始して 1 クロ ッ クで読み出しウ ィンドウ全体をスキャンできるよ うに IDELAY で調整します (図 3-29、 RDLVL_IDELAY_VALUE_Rank_Byte_Bit)。異なる遅延ラインを使用して読み出しウ ィンドウのエッジを検出する と タップ分解能の不確実性が生じますが、 同じ遅延要素でウ ィンド ウをスキャンし、 その遅延要素を用いてセンターを計算するこ とによ り、 この不確実性を 小限に抑えるこ とができます。

ト レーニングの開始時点で PQTR/NQTR とデータのエッジはほぼ揃っていますが、パターンがスキュー調整のものと異なるため、エッジが若干変化している可能性があ り ます。 また、 スキュー調整で検出したのは PQTR と NQTR の全体のエッジですが、 こ こでは各クロ ッ クのエッジを個別に検出する必要があ り ます。

PQTR/NQTR の両方がデータ有効ウ ィンド ウの外側から開始するこ とを確認した後、 これらのクロ ッ クをインク リ メン ト して検出成功領域を見つけます (図 3-30)。 PQTR については立ち上がりエッジ データをチェッ ク し、 NQTR については立ち下がりエッジ データをチェッ ク します。これによ り、各クロ ッ クの検出成功領域と検出失敗領域の場所を示します。

エッジ検出の際は、ノ イズ領域をク リ アして実際のエッジが検出されるよ うに 小ウ ィンド ウ サイズを 10 と します。初の検出成功点を超え、 左側エッジの検出前に 小ウ ィン ド ウ サイズが見つかるまで PQTR/NQTR 遅延を増やし

ます。 どちらのクロ ッ クに関しても、 タ ップ値をすべてスイープして 小ウ ィンド ウが見つからない場合はエラーがアサート されます。

X-Ref Target - Figure 3-29

図 3-29 : DQ を後方へ移動し、 PQTR/NQTR が検出失敗領域へ

X-Ref Target - Figure 3-30

図 3-30 : PQTR と NQTR を後方へ移動し、 検出成功領域を見つける (左側エッジ)

Page 50: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 50PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

データ有効ウ ィ ン ド ウの左側エッジ (RDLVL_PQTR_LEFT_Rank_Nibble、 RDLVL_NQTR_LEFT_Rank_Nibble) が検出されたら、右側のエッジは (左側エッジ + 小ウ ィンド ウ サイズ) からサーチできます。このサーチ開始点は 小ウ ィンド ウ サイズの条件を満たしているため、 右側エッジのサーチには 小ウ ィンド ウ サイズは使用しません。

こ こでも、 PQTR/NQTR の遅延を同時にインク リ メン ト して個別にエラー チェッ クを行い、 ウ ィンド ウの右側エッジを追跡します。 PQTR ド メ インからのデータは XIPHY で NQTR ク ロ ッ ク ド メ インへ転送されるため、 NQTR のエッジを先にチェッ ク した後、 PQTR の結果を追跡します (図 3-31)。

NQTR エッジの場所を特定できたら、 PQTR エッジも検出されたかど うかをフラグで確認します。 PQTR エッジが検出されていない場合、NQTR 遅延は右側エッジのままで PQTR 遅延のエッジ検出を続けます (RDLVL_PQTR_RIGHT_Rank_Nibble、RDLVL_NQTR_RIGHT_Rank_Nibble)。 シ ミ ュレーシ ョ ンの場合は、 1 回あたりの遅延調整量を 1 タ ップよ り大き くするこ とで右側エッジ検出にかかる時間を短縮します。

立ち上がりエッジ ウ ィンド ウ と立ち下がりエッジ ウ ィンド ウの両方が検出されたら、 左側および右側エッジに基づいて各クロ ッ クの 終的な中央点を計算します。 各クロ ッ クの 終的な遅延 (RDLVL_PQTR_CENTER_Rank_Nibble、RDLVL_NQTR_CENTER_Rank_Nibble) は次式で求めます。

left + ((right – left)/2)

マルチランク システムでは、スキュー調整は 初のランクに対してのみ行い、PQTR/NQTR を使用した読み出し DQSセンタ リ ングはすべてのランクに対して行います。 すべてのランクでキャ リブレーシ ョ ンが完了したら、 個々の DQビ ッ ト の IDELAY を全ランクで検出された値域の中央に設定します (RDLVL_IDELAY_FINAL_BYTE_BIT)。 PQTR/NQTR の 終値も、 全ランク検出された値域に基づいて計算します (RDLVL_PQTR_CENTER_FINAL_NIBBLE、RDLVL_NQTR_CENTER_FINAL_NIBBLE)。

重要 : マルチランク システムでは、読み出しウ ィンド ウの計算にオーバーラ ップを含める必要があ り ます。 また、 ランク間の許容スキューに制限があ り ます。詳細は第 4 章の 「DDR3 の PCB ガイ ド ラ イン」 および第 4 章の 「DDR4 のPCB ガイ ド ラ イン」 を参照してください。

読み出しサニティ チェ ック

読み出し DQS センタ リ ングのステージが完了したら、 直前のキャ リブレーシ ョ ン ステージによって読み出しパスのアライ メン トに悪影響が出ていないこ とを確認するためにデータ チェッ クを実行します。DRAM に MPR 読み出しコマンドを 1 回発行し、 すべてのバイ トで読み出しデータ と期待値データを照合してから次のステージへ進みます。

X-Ref Target - Figure 3-31

図 3-31 : PQTR と NQTR を後方へ移動し、 検出失敗領域を見つける (右側エッジ)

Page 51: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 51PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

書き込み DQS-to-DQDRAM では、書き込みマージンを 大化するために書き込み DQS を DQ の中央にアライ メン トする必要があ り ます。初の時点では、XIPHY で DQS の TX_DATA_PHASE が 1 に設定されており、書き込み DQS と DQ の位相差は約 90°

です。 TX_DATA_PHASE はオプシ ョ ンのビッ ト単位調整で、 高速な内部 XIPHY ク ロ ッ クを使用してビッ ト間に 90°のオフセッ ト を生成します。 DQS と DQ の ODELAY を使用して 90° の位相アラ イ メ ン ト を微調整し、 DRAM でのマージンを 大化します。

こ こでは書き込みレイテンシが不明のため、 初は 「10101010」 の単純なク ロ ッ ク パターンを使用します。 PCB/DIMM モジュールの配線はフラ イバイ構造のため、 コマン ド -データ間のタイ ミ ングは次のキャ リ ブレーシ ョ ン ステージまで不明です。読み出しのビッ ト単位スキュー調整と同様に、DRAM に書き込みを発行する と、期待される書き込みレイテンシの前後 8 ク ロ ッ ク サイ クルの間 DQS と DQ がト グルします。 これは、 コマンド発行からデータ書き込みまでのタイ ミ ング関係が不明であってもデータが DRAM に確実に書き込まれるよ うにするためです。 書き込み DQS-to-DQ はビッ ト単位のスキュー調整と DQS センタ リ ングの 2 つのステージで行われます。

書き込み DQS-to-DQ のビッ ト単位スキュー調整

初の時点では、ライ ト レベリ ングの結果に基づいてすべての DQ ビッ トの ODELAY が同じ値に設定されています。しかしビッ ト間スキューを調整するには、 各ビッ トの ODELAY を個別に設定する必要があ り ます。 図 3-32 に、 書き込み DQS と DQ の 初のタイ ミ ング関係の例を示します。

1. 個々のバイ トについて、 DQ の TX_DATA_PHASE を 1 に設定し、 DQ に対して 90° の位相シフ ト を DQS に加えます (図 3-33)。 この状態で DQ ビッ ト を読み出すと、 「10101010」 のものと 「01010101」 のものが存在します。

X-Ref Target - Figure 3-32

図 3-32 : 書き込み DQS と DQ (ビッ ト間スキューあり ) の最初のタイ ミング関係

X-Ref Target - Figure 3-33

図 3-33 : DQ に 90° のシフ ト を加算

Page 52: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 52PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

2. 同じバイ トの読み出しデータの中に、期待されるデータ パターンに一致しないものが含まれる場合、すべてのビットのデータ パターンが期待値と一致するまで DQS の ODELAY を 1 タ ップずつインク リ メン ト します。 そして、すべてのビッ トのデータ パターンが期待値と一致したと きの ODELAY の値を WRITE_DQS_TO_DQ_DESKEW_DELAY_Byte と して保存します (図 3-34)。 DQS の ODELAY をインク リ メン トする と、 CK とのエッジ アライ メントから離れていきます。 スキュー調整データは、 書き込みのデータ有効ウ ィンドウの内側エッジです。

3. 次に、 期待されるデータ パターンが検出されなくなるまで各 DQ の ODELAY をインク リ メン ト します。 これでデータ と書き込み DQS のエッジがアライ メン ト されます (図 3-35)。

4. TX_DATA_PHASE を使用して DQ を元の位置 (位相シフ ト 0°) に戻します。 DQS の ODELAY を初期値に戻します (図 3-36)。

X-Ref Target - Figure 3-34

図 3-34 : すべてのビッ トが正しいパターンでキャプチャされるまで書き込み DQS の ODELAY をインクリ メン ト

X-Ref Target - Figure 3-35

図 3-35 : ビッ ト単位の書き込みスキュー調整

Page 53: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 53PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

書き込み DQS-to-DQ センタ リング

ビッ ト単位の書き込みスキュー調整が完了したら、 次に書き込みデータ アイにおける DQS の相対的な中央点を決定し、 TX_DATA_PHASE の 90° オフセッ トで発生するエラーを補償します。

1. データ パターン 「10101010」 を使用して複数回の書き込みおよび読み出しバース ト を発行し、読み出しデータをチェッ ク します。 読み出し /書き込みのビッ ト単位スキュー調整と同様に、 DRAM に書き込みを発行する と、 期待される書き込みレイテンシの前後 8 ク ロ ッ ク サイ クルの間 DQS と DQ がト グルします。 これは、 コマンド発行からデータ書き込みまでのタイ ミ ング関係が不明であってもデータが DRAM に確実に書き込まれるよ うにするためです。

2. すべての DQ ビッ トの読み出しデータ パターンが期待されるデータ パターン 「10101010」 から変化する と ころ (検出失敗点) まで DQ の ODELAY タ ップを一斉にインク リ メン ト します。 検出失敗点の検出に必要な ODELAY遅延量を WRITE_DQS_TO_DQ_PRE_ADJUST_MARGIN_LEFT_BYTE と して保存します (図 3-37)。

3. DQ の ODELAY タ ップを元の値に戻します。

X-Ref Target - Figure 3-36

図 3-36 : DQ を DQS に対して約 90° のオフセッ トに戻す

X-Ref Target - Figure 3-37

図 3-37 : 書き込み DQS センタ リング – 左側エッジ

Page 54: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 54PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

4. データが期待されるデータ パターン 「10101010」 から変化するまで DQS の ODELAY タ ップをインク リ メン ト してウ ィンド ウの右側エッジを検出します。 検出失敗点の検出に必要な ODELAY 遅延量を WRITE_DQS_TO_DQ_PRE_ADJUST_MARGIN_RIGHT_BYTE と して保存します (図 3-38)。

5. スキュー調整、 左側エッジ、 右側エッジに基づいて DQS ODELAY の中央タップ位置を計算します。

新しい DQS 遅延 = (スキュー調整後の DQS 遅延) – [(dly0 – dly1)/2]

この式で dly0 は (元の DQS 遅延 + 左側マージン)、 dly1 は (元の DQS 遅延 + 右側マージン) です。

この計算で DQS の ODELAY を求める と、 図 3-39 のよ うにウ ィンド ウの右側が大き く DQS の ODELAY をインク リメ ン トする必要がある場合と、 図 3-40 のよ うにウ ィンド ウの左側が大き く DQS の ODELAY をデク リ メ ン トする必要がある場合の 2 つの可能性があ り ます。

ライ ト レベリ ングのアライ メン トは DQS の設定に対して行われているため、 データ有効ウ ィンド ウの中心に揃えるには DQS ではなく DQ を調整します。

図 3-39 のよ うに DQS をインク リ メ ン トする必要がある場合、 同じバイ トのすべての DQ の ODELAY を同じ量だけデク リ メン ト します。DQ の ODELAY をデク リ メン ト しただけではセンタ リ ングできない場合のみ、DQS の ODELAYをインク リ メン ト して不足分を補います。

X-Ref Target - Figure 3-38

図 3-38 : 書き込み DQS センタ リング – 右側エッジ

X-Ref Target - Figure 3-39

図 3-39 : ウィンドウの右側が大きい場合。 DQS の ODELAY をインクリ メン トするかすべての DQ の ODELAY をデクリ メン トする

X-Ref Target - Figure 3-40

図 3-40 : ウィンドウの左側が大きい場合。 DQS の ODELAY をデクリ メン トするかすべての DQ の ODELAY をインクリ メン トする

Page 55: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 55PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

図 3-40 のよ うに DQS をデク リ メン トする必要がある場合は、 DQ をインク リ メン ト してセンタ リ ングします。 DQSの 終的な ODELAY タ ップ値は WRITE_DQS_TO_DQ_DQS_ODELAY_BYTE に保存し、 DQ の ODELAY タ ップ値はWRITE_DQS_TO_DQ_DQ_ODELAY に保存します。 計算で求めた 終的な左マージンと右マージンは、 それぞれ WRITE_DQS_TO_DQ _MARGIN_LEFT_BYTE と WRITE_DQS_TO_DQ _MARGIN_RIGHT_BYTE に保存します。

書き込み DQS-to-DMキャ リブレーシ ョ ンの間、データ マスク (DM) 信号は使用しません。 これらは、DRAM へのパターン書き込みに影響しないよ うに書き込み中は必要な時間量の前後ディアサート されます。 DM 信号を使用しない場合、 このキャ リブレーシ ョ ン手順は実行されません。

DM ピンのキャ リブレーシ ョ ンには 2 つのパターンを使用します。 初のパターンは DM をディアサート して DRAMに書き込みます。 これによ り、 パターンが DRAM に正し く書き込まれます。 次に、 バース トの既知の位置で DM をアサート して 初のパターンと同じアドレスに別のパターンを上書きします (図 3-41)。

このステージは書き込みレイテンシのキャ リブレーシ ョ ン前に実行されるため、DRAM に書き込みを発行する と、期待される書き込みレイテンシの前後 8 ク ロ ッ ク サイクルの間 DQS と DQ/DM がト グルします。 これは、 コマンド発行からデータ書き込みまでのタイ ミ ング関係が不明であってもデータが DRAM に確実に書き込まれるよ うにするためです。

どのニブルに対しても、 読み出したデータは 「5B5B_5B5B」 です。 このバース トの 「5」 は、 DM をアサート した場所を示します。 この手順ではデータは一定であるため、 DQS と DQ のアライ メン トは重要ではあ り ません。 DQS とDM の位相関係を互いに調整するため、 DQS と DM のアライ メン トのみをチェッ ク します。

書き込み DQS-to-DM のビッ ト単位スキュー調整

この手順は書き込み DQS-to-DQ のビッ ト単位スキュー調整と同様で、DQ ビッ トの代わりに DM を使用します。アルゴ リズムの詳細は、 51 ページの 「書き込み DQS-to-DQ」 を参照して ください。 DQS と DM のエッジ アライ メン トに使用する DQS ODELAY の値を WRITE_DQS_TO_DM_DESKEW_BYTE と して保存します。DM の ODELAY タ ップ値を WRITE_DQS_TO_DM_DM_ODELAY_BYTE と して保存します。

X-Ref Target - Figure 3-41

図 3-41 : DM ベース データを書き込み

X-Ref Target - Figure 3-42

図 3-42 : DM をアサート

Page 56: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 56PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

書き込み DQS-to-DM センタ リング

この手順は書き込み DQS-to-DQ のセンタ リ ングと同様で、DQ ビッ トの代わりに DM を使用します。アルゴ リ ズムの詳細は、 51 ページの 「書き込み DQS-to-DQ」 を参照してください。左側エッジを検出するために DM に設定したタ ップ値を WRITE_DQS_TO_DM_PRE_ADJUST_MARGIN_LEFT_BYTE と して保存します。右側エッジを検出するためにDQS に設定したタ ップ値を WRITE_DQS_TO_DM_PRE_ADJUST_MARGIN_RIGHT_BYTE と して保存します。 終的な DM のマージンを WRITE_DQS_TO_DM_MARGIN_LEFT_BYTE および WRITE_DQS_TO_DM_MARGIN_RIGHT_BYTE と して保存します。

DQS の ODELAY には 1 つしか値を格納できないため、 DQ と DM の間の全体の左右マージンの 小値を計算し、 この全体のウ ィ ン ド ウの中央に DQS の ODELAY 値を設定します。 DQS と DM の 終的な ODELAY の値はそれぞれWRITE_DQS_ODELAY_FINAL と WRITE_DM_ODELAY_FINAL と して保存します。

書き込みレイテンシ キャリブレーシ ョ ン

書き込みレイテンシ キャ リブレーシ ョ ンは、 書き込み DQS を適切な CK エッジにアライ メン トするために実行します。 ライ ト レベリ ングでは、 書き込み DQS は CK の も近い立ち上がりエッジにアライ メン ト されます。 ただしこのエッジで書き込みコマンドをキャプチャできる とは限り ません。 インターフェイスのタイプ (UDIMM、 RDIMM、またはコンポーネン ト ) によっては、 DQS が書き込みコマンドをキャプチャする CK エッジにアライ メ ン ト されず、そのエッジから 大 3 CK サイ クル遅れるこ とがあ り ます。

書き込みレイテンシ キャ リブレーシ ョ ンでは、 XIPHY の WL_DLY_RNK に格納したコース タ ップを利用してバイ ト単位で書き込みレイテンシを調整します。 ライ ト レベリ ングは、各書き込み DQS が も近いクロ ッ ク エッジにアライ メン ト されるよ うに XIPHY のコース タ ップ遅延を 大 3 つ使用します。 メモ リ コン ト ローラーは書き込みデータを 1TCK 早く PHY に供給します。その後、ライ ト レベリ ングによって 大 1 メモ リ ク ロ ッ ク サイクルの遅延が追加されます。つま り、 PCB 遅延がゼロの一般的なシ ミ ュレーシ ョ ンの場合、書き込みキャ リブレーシ ョ ンによる遅延を追加しなくてもデータは DRAM でアライ メン ト されます。

遅いタイ ミ ングで DRAM に到着したデータの場合、 コン ト ローラーによってデータのタイ ミ ングを早くするこ とはできないため、書き込みレイテンシ キャ リブレーシ ョ ンではタイ ミ ングの早いデータにしか対処できません。XIPHYで利用できるコース タ ップは 16 個 (各タップは 90°) で、 4 メモ リ ク ロ ッ ク サイクルの遅延を利用できますが、 そのうち 1 メモ リ ク ロ ッ クはライ ト レベリ ングで使用します。 このため、 書き込みレイテンシ キャ リブレーシ ョ ンに利用できる遅延は 3 メモ リ ク ロ ッ ク とな り ます。

Page 57: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 57PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

図 3-43 に各バイ トで必要な設定を求めるキャ リブレーシ ョ ンのフローを示します。

DRAM が書き込みデータを取り込む際に DQS がト グルしたままでいるよ うに、 書き込みコマンドに対する書き込みDQS は必要以上に延長されます。特定のデータ パターンを使用して正しいデータ パターンが DRAM に書き込まれるタイ ミ ングをチェッ ク します (図 3-44)。

X-Ref Target - Figure 3-43

図 3-43 : 書き込み DQS と DQ (ビッ ト間スキューあり ) の最初のタイ ミング関係

Page 58: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 58PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

この例では、 あるバイ トの書き込みレイテンシ キャ リブレーシ ョ ンの開始時にターゲッ ト書き込みレイテンシがデータ パターンの中央に位置しています。 この場合、データは期待値の FF00AA5555AA9966 ではなく 55AA9966FFFFFFFFが返されます。 次に、 書き込み DQS とデータに XIPHY コース タ ップの遅延を加算しても う一度データを読み出します。正しいデータ パターンが検出されるまで、 またはこれ以上コース タ ップを追加できなくなるまでこの動作を繰り返します。 パターンが検出されたら、 必要なコース遅延量を WRITE_LATENCY_CALIBRATION_COARSE_Rank_Byteと して保存します。

• 現在のバイ トで正しいデータ パターンが検出されなかった場合、 検出されたデータ パターンをチェッ ク して (1) 大遅延量のデータが到着するタイ ミ ングがまだ早い (すなわち XIPHY によるアライ メン トが不十分で正しい位置に揃っていない) か、 (2) 遅延を追加していない 初のバース トのタイ ミ ングがすでに遅い (すなわち 初の時点でデータを引き戻す必要がある ) かを調べます。 次のデータ パターンをチェッ ク します。

° ニブル単位で期待されるパターン : F0A55A96

° タイ ミ ングの遅いデータ : 00F0AA55A

° タイ ミ ングの早いデータ : A55A96FF、 5A96FFFF、 96FFFFFF

• 上記のいずれのケースにも該当しない場合、書き込みエラーまたは読み出しエラーのどちらかへの再分類を試みます。 1 回の書き込みバース ト を DRAM に送信した後、 20 回の読み出しバース ト を実行します。 1 回目のバーストで読み出したデータを保存して、 残り 19 回の読み出しバース ト と比較します。

• すべての読み出しデータが一致した場合、 書き込みエラーと分類されます。

• データが一致しない場合は読み出しエラーと分類されます。

書き込み/読み出しサニティ チェ ック

書き込み DQS-to-DQ のステージが完了したら、 直前のキャ リブレーシ ョ ン ステージによって書き込みまたは読み出しパスのタイ ミ ングに悪影響が出ていないこ とを確認するためにデータ チェッ クを実行します。1 回の書き込みバース トの後、 同じアドレスに対して 1 回の読み出しコマンドを DRAM に送信し、 すべてのバイ トで読み出しデータ と期待値データを比較し、一致していれば次のステージに進みます。 この手順では、ニブル単位で期待されるデータ パターンは 937EC924 です。

X-Ref Target - Figure 3-44

図 3-44 : 書き込みレイテンシ キャリブレーシ ョ ンのアライメン ト例

Page 59: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 59PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

リード レベリングのマルチランク調整

マルチランク システムの場合、 読み出し DQS センタ リ ングのアルゴ リズムを各ランクに対して実行しますが、 終的な遅延設定は全ランク共通とする必要があ り ます。各ランクの ト レーニング結果はそれぞれ個別に XSDB に保存しますが、 終的な遅延設定は全ラ ン クの ト レーニング結果の平均値と な り ます。 終的な PQTR/NQTR 遅延はRDLVL_PQTR_CENTER_FINAL_NIBBLE/RDLVL_NQTR_CENTER_FINAL_NIBBLE と して保存し、DQ の IDELAY は RDLVL_IDELAY_FINAL_BYTE_BIT と して保存します。

マルチランク調整およびチェ ック

DQS ゲートのマルチランク調整

マルチランク システムの DQS ゲート キャ リブレーシ ョ ンでは、 35 ページの 「DQS ゲート」 で説明したキャ リブレーシ ョ ン アルゴ リズムを各ランクに対して個別に実行できます。すべてのランクのキャ リブレーシ ョ ンが完了したら、通常動作の前にランク間を高速に切り替えられるよ うに調整が必要です。 こ こでは、 DRAM ク ロ ッ ク サイ クル単位でゲート タイ ミ ングを制御する汎用インターコネク ト信号 clb2phy_rd_en (XSDB では DQS_GATE_READ_LATENCY_RANK_BYTE によって示される) を各バイ トで全ランク共通となるよ うに調整します。

ゲートが開く タイ ミ ングがすべてのランクで同じになるよ うにコース タ ップを調整します。4 コース タ ップが汎用インターコネク トでは 1 回の読み出しレイテンシの調整量に相当します。 この手順では、 アルゴ リ ズムはキャ リブレーシ ョ ンで決定した各バイ トの読み出しレイテンシの 小値を初期値と して使用し、そのバイ トのコース タ ップの値がオーバーフローもアンダーフローもしない全ランク共通の clb2phy_rd_en 設定を見つけます。 小値で全ランク共通の設定が見つからない場合、 clb2phy_rd_en を 1 つインク リ メ ン ト してチェ ッ クを繰り返します。 ファ インタ ップの設定は 90° 未満のため、 この調整には含まれません。

初にキャ リブレーシ ョ ンで決定した clb2phy_rd_en の 大値に達してもそのバイ トの全ランク共通の設定が見つからない場合は、 エラーがアサート されます (表 3-6 の例 #4)。 調整後にコース タ ップが 360° (4 コース タ ップ) を超えた場合は別のエラーがアサート されます (表 3-6 の例 #5)。エラー コードについては、33 ページの表 3-5、「エラー信号の説明」 を参照してください。

書き込みレイテンシのマルチランク チェ ック

マルチランク システムでは書き込みレイテンシは任意の値とするこ とができますが、 各ランクはライ ト レベリ ングおよび書き込みレイテンシ キャ リブレーシ ョ ンのアルゴ リズムを用いて個別にキャ リブレーシ ョ ンを実行できます。すべてのランクのキャ リブレーシ ョ ンが完了したら、 後に書き込みパスで XIPHY の要件が満たされているこ とを確認します。 ランク間の書き込みレイテンシの位相差は 180° (XIPHY の 2 コース タ ップ分) まで許容されます。

表 3-6 : DQS ゲートのマルチランク調整の例 (2 ランクの場合)

例 設定キャリブレーシ ョ ン マルチランク調整後

ランク 0 ランク 1 ランク 0 ランク 1 結果

#1読み出しレイテンシ 14 15 14 14

合格コース タ ップ 8 6 8 10

#2読み出しレイテンシ 22 21 21 21

合格コース タ ップ 6 9 10 9

#3読み出しレイテンシ 10 15 N/A N/A

エラーコース タ ップ 9 9 N/A N/A

#4読み出しレイテンシ 10 11 10 10

エラーコース タ ップ 6 9 6 13

Page 60: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 60PG150 2015 年 4 月 1 日

第 3 章 : コアのアーキテクチャ

VT ト ラ ッキングの有効化

DQS ゲートのマルチランク調整を必要に応じて実行した後、VT (電圧/温度) ト ラ ッキングを開始するための内部遅延の再キャ リブレーシ ョ ン信号が XIPHY に送信されます。 これが完了する と XIPHY は信号 phy2clb_phy_rdy_upp(上位ニブル) および phy2clb_phy_rdy_low (下位ニブル) をアサート します。

マルチランク システムの場合、 すべてのニブルで通常動作の準備が完了したら、 XIPHY の要件と して通常の ト ラフ ィ ッ クを開始する前に 2 回の書き込み/読み出しバース ト を DRAM に送信する必要があ り ます。 初のデータ パターンには F00FF00F を使用し、 2 回目は 0FF00FF0 を使用します。 データ自体はチェッ ク しません (チェッ ク しても失敗します)。

書き込み/読み出しサニティ チェ ック (マルチランクのみ)マルチランク システムでは、 直前のキャ リブレーシ ョ ン ステージによって書き込みまたは読み出しパスのタイ ミ ングに悪影響が出ていないこ とを確認するために各ランクに対してデータ チェッ クを実行します。 各 DRAM ランクに対して 1 回の書き込みバース トの後、同じアドレスに 1 回の読み出しコマンドを発行します。すべてのバイ トでデータ と期待値データを比較し、 一致したら次のステージへ進みます。

この手順で、 各ランクの期待されるデータ パターンを表 3-7 に示します。

すべてのランクですべてのステージがエラーなしで完了する と calDone がアサート され、ユーザー ト ラフ ィ ッ クを開始できます。 XSDB では、 キャ リブレーシ ョ ンが完了する と DBG_END に 0x1 が格納され、 エラーがあった場合は0x2 が格納されます。

表 3-7 : 全ランクでのサニティ チェ ック

ランク1 回のバーストでニブル単位で期待されるデータ パターン

0 A1E04ED8

1 B1E04ED8

2 C1E04ED8

3 D1E04ED8

Page 61: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 61PG150 2015 年 4 月 1 日

第 4 章

コアを使用するデザインこの章では、 コアを使用した設計をよ り容易にするためのガイ ド ラインおよび追加情報を紹介します。

クロッキングメモ リ インターフェイスには MMCM が 1 つ、メモ リ インターフェイスが使用する I/O バンクあたり TXPLL が 1 つ、および BUFGCE_DIV が 2 つ必要です。 これらのクロ ッキング コンポーネン ト を使用して、 メモ リ インターフェイスの適切な動作に必要なクロ ッ ク周波数と位相シフ ト を生成します。

TXPLL は各バンクに 2 つあ り ます。 1 つのバンクを 2 つのメモ リ インターフェイスで共用する場合、 そのバンクのTXPLL を両方使用します。

注記 : ク ロ ッキング構造は MIG によって適切に生成されます。 この RTL は変更できません。

MIG ツールは目的とするインターフェイス向けに適切なク ロ ッキング構造を生成します。 この構造は変更できません。 可能なクロ ッ ク コンフ ィギュレーシ ョ ンは次のとおりです。

• GCIO に接続される差動基準クロ ッ ク ソース

• GGCIO から MMCM (メモ リ インターフェイスの中央のバンク内に配置されたもの)

• MMCM から BUFGCE_DIV (メモ リ インターフェイスの中央のバンクに配置されたもの)。FPGA ロジッ クおよびすべての TXPLL を駆動

• MMCM から 2 分周モードの BUFGCE_DIV (メモ リ インターフェイスの中央のバンクに配置されたもの)。1/2 レートの FPGA ロジッ クを駆動

• SSI テク ノ ロジ デバイスの場合、 インターフェイスのクロ ッキング ペアがメモ リ インターフェイス と同じ SLRに属しているこ と

Page 62: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 62PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

要件

GCIO

• 差動 I/O 規格を使用するこ と

• メモ リ インターフェイス と同じ I/O カラムに属するこ と

• SSI テク ノ ロジ デバイスの場合、 メモ リ インターフェイス と同じ SLR に属するこ と

MMCM

• MMCM を使用して FPGA ロジッ クのシステム ク ロ ッ ク (メモ リ ク ロ ッ クの 4 分周) を生成

• メモ リ インターフェイスの中央のバンクに配置するこ と

• 内部フ ィードバッ クを使用するこ と

• 入力分周器で分周した入力クロ ッ ク周波数 ≥ 70MHz (CLKINx/D ≥ 70MHz) であるこ と

• 整数倍の周波数および出力分周値を使用するこ と

BUFGCE_DIV およびクロック ルート

• 1 つの BUFGCE_DIV を使用して FPGA ロジッ クのシステム ク ロ ッ クを生成し、 も う 1 つの BUFGCE_DIV を使用してシステム ク ロ ッ クを 2 分周する

• これらの BUFGCE_DIV と ク ロ ッ ク ルートはメモ リ インターフェイスの も中央寄りのバンクに配置するこ と

° 2 バンク システムの場合、 どちらのバンク も使用可能。 Vivado 統合設計環境 (IDE) で も上に選択したバンクが MIG では常に中央バンク と して参照される

° 4 バンク システムの場合、 内側 2 つのバンクのいずれも使用可能。 上から 2 番目に選択したバンクが MIGでは中央バンク と して参照される

° 両方の BUFGCE_DIV が同じバンクに属するこ と

TXPLL

• TXPLL からの CLKOUTPHY は、 そのバンク内の XIPHY を駆動する

• 位相シフ ト 90° の CLKFBOUT を使用するよ うに TXPLL を設定するこ と

• MMCM ロ ッ ク出力が High に遷移するまで TXPLL を リセッ ト状態に保持するこ と

• 内部フ ィードバッ クを使用するこ と

Page 63: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 63PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

図 4-1 に、 3 バンク メモ リ インターフェイスのクロ ッキング構造の例を示します。 GCIO がメモ リ インターフェイスの中央バンクにある MMCM を駆動します。MMCM は同じバンクに属する両方の BUFGCE_DIV を駆動します。BUFGCE_DIV の出力がインターフェイスの各バンクで使用する TXPLL を駆動し、 FPGA ロジッ クへのシステム ク ロ ッ クを生成します。

MMCM をほかのバンクの GCIO ピンで駆動する場合、 MMCM 入力に対する CLOCK_DEDICATED_ROUTE 制約の値を 「BACKBONE」 とする必要があ り ます。 BACKBONE 配線を使用するには、 GCIO と MMCM 入力の間に BUFG が存在する必要があ り ます。 このため、 GCIO ピンと MMCM が同じバンクにない場合、 MIG は GCIO と MMCM の間に BUFG をインス タンシエー ト し ます。 GCIO ピン と MMCM が別のバンクに割り当てられている場合、 MIG はCLOCK_DEDICATED_ROUTE 制約の値を 「BACKBONE」 と して生成します。 GCIO ピンと MMCM が同じバンクに割り当てられている場合、 MMCM 入力に制約を設定する必要はあ り ません。

同様に、[System Clock Configuration] で [No Buffer] を選択して生成したデザインでは、GCIO ピンと MMCM が別のバンクに割り当てられている場合に BACKBONE 制約を正し く設定して GCIO と MMCM の間に BUFG を配置する必要があ り ます。コンフ ィギュレーシ ョ ンで [No Buffer] を選択したデザインでは、MIG は XDC ファ イルにクロ ッ ク制約を生成しません。 この場合、 ユーザーがクロ ッ ク制約に配慮する必要があ り ます。

X-Ref Target - Figure 4-1

図 4-1 : 3 バンク メモリ インターフェイスのクロッキング構造

Page 64: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 64PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

注記 : 同じバンク内の 2 つの MIG IP コアに対して 2 つの異なる GCIO ピンを使用する場合、 メモ リ インターフェイスの中央バンクは IP ごとに異なり ます。 MMCM の LOC および CLOCK_DEDICATED_ROUTE 制約は MIG によって適切に生成されます。

入力クロック ソース (sys_clk_p) の共用

2 つの IP コアで同じ GCIO ピンを使用する必要がある場合、 [System Clock Configuration] で [No Buffer] を選択して 2 つの IP コアを生成してください。両方の IP がインスタンシエート されているラ ッパー ファイルに次の変更を加えます。

1. MIG は sys_clk_i などのシステム ク ロ ッ ク ピンに対してシングルエンド入力を生成します。両方の IP コアのシングルエンド システム ク ロ ッ ク入力 (sys_clk_i) に差動バッファー出力を接続して ください。

2. システム ク ロ ッ ク ピンは、 割り当てられたメモ リ インターフェイス ピンの同じ I/O カラム内に割り当てる必要があ り ます。 システム ク ロ ッ ク ピンに対するピン LOC 制約およびクロ ッ ク制約を 上位の XDC に追加して ください。

3. GCIO ピンと MMCM が同じバンクに割り当てられていない場合、MMCM 入力に BACKBONE 制約を追加する必要があ り ます。 さ らに、 BACKBONE 配線を使用するには BUFG を GCIO と MMCM の間にインスタンシエートする必要があ り ます。

注記 :

° Ultrascale アーキテクチャには、 各 XIPHY に独立した XIPHY 電源と TXPLL があ り ます。 これによって、 メモ リ システムに低ジッターのク リーンなクロ ッ クを供給します。

° BUFG → TXPLL と同じ BUFG → システム クロ ッ ク ロジッ クの間には単一の接点があるため、複数の BUFGの間にスキューがあっても問題にはなり ません。

° ク ロ ッ ク ラインが長くなる とジッ ターが大き くなるため、システム入力クロ ッ クは複数の I/O カラムにまたがるこ とはできません。

リセッ ト非同期リセッ ト (sys_rst) 入力を使用できます。 このアクティブ High のリセッ ト信号は、 コン ト ローラー ク ロ ッ クピンの 20 サイクル以上アサートする必要があ り ます。 sys_rst は内部または外部ピンのどちらでもかまいません。

DDR3 の PCB ガイド ライン正し く動作させるには、 DDR3 PCB ガイ ド ラ イン文書に完全に従う必要があ り ます。 PCB ガイ ド ラ インの詳細は、『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583) [参照 4] を参照してください。

DDR4 の PCB ガイド ライン正し く動作させるには、 DDR4 PCB ガイ ド ラ イン文書に完全に従う必要があ り ます。 PCB ガイ ド ラ インの詳細は、『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583) [参照 4] を参照してください。

Page 65: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 65PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

ピンおよびバンクの規則

DDR3 のピン規則

次の規則はシングルランクおよびマルチランク メモ リ インターフェイスに共通です。

• アドレス /制御とは、 cs_n、 ras_n、 cas_n、 we_n、 ba、 ck、 cke、 a、 parity (RDIMM の場合のみ有効)、 odtを意味します。マルチランク システムは、各ランクに 1 つの cs_n、cke、odt、および 1 つの ck ペアがあ り ます。

• 1 バイ ト レーンのピンには、 N0 ~ N12 の番号が付けられています。

• 1 バンクのバイ ト レーンは、 T0、 T1、 T2、 T3 で識別します。 バイ ト レーン内のニブルは、 バイ ト レーン識別子(T0、 T1、 T2、 T3) の後に 「U」 または 「L」 を付けて区別します。 つま り、 T0L、 T0U、 T1L、 T1U、 T2L、 T2U、T3L、 T3U と して識別します。

注記 : 各バンクには 2 つの PLL があ り、コン ト ローラーはインターフェイスが使用するすべてのバンクで PLL を 1 つ使用します。

1. dqs、 dq、 dm の配置

a. x8 または x16 コンポーネン ト を使用するデザイン – dqs は 「U」 で識別される上位ニブル内の専用バイ ト クロ ッ ク ペア (N6 および N7) に配置する必要があ り ます。 dqs に対応する dq は、 同じバイ ト レーン内のピン 1 と 12 以外のピンに配置します。

b. x4 コンポーネン ト を使用するデザイン – dqs はニブル内の専用 dqs ペア (下位ニブルでは N0 と N1、 上位ニブルでは N6 と N7) に配置する必要があ り ます。 dqs に対応する dq (および使用する場合は dm) は同じニブル内の N12 (上位ニブル) 以外のピンに配置します。

c. dm を使用する場合は、 対応する dqs と同じバイ ト レーン内の N0 ピンに配置する必要があ り ます。

注記 : dm は x4 コンポーネン トではサポート されません。

2. x4 コンポーネン トはペアで使用する必要があ り ます。x4 コンポーネン ト を奇数個で使用するこ とはできません。1 つのデータ バイ トの上位ニブルと下位ニブルは、 同じ x4 dq/dqs グループで占める必要があ り ます。

3. dqs のあるバイ ト レーンはデータ バイ ト レーンと見なされます。データ バイ ト レーンでは、ピン N1 と N12 をアドレス /制御に使用できます。 データ バイ トが残りのアドレス /制御ピンと同じバンクにある場合は、 規則 4 を参照してください。

4. アドレス /制御は、 アドレス /制御バイ ト レーンの 13 本のピンのいずれにも配置できます。 アドレス /制御は同じバンクに含める必要があ り ます。

5. 各バンクに 1 つの vrp ピンを使用し、 インターフェイスには DCI が必要です。 入力を含む I/O バンクおよび出力のみのバンクでは vrp ピンが必要です。 出力のみのバンクで必要なのは、 制御出力インピーダンスを使用するためにアドレス /制御信号が SSTL15_DCI/SSTL135_DCI を使用するためです。 DCI のカスケード接続はサポート されません。『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571) [参照 3] の DCI に関する規則をすべて順守する必要があ り ます。

6. ck ペアはアドレス/制御バイ ト レーンの任意の PN ペアに配置する必要があ り ます。

7. 汎用インターコネク トのタイ ミ ングを満たし、選択したバンクで I/O 規格を利用できるなら、reset_n は任意のピンに配置できます。

8. バンクは 2 つのコン ト ローラーで共有できます。

a. reset_n を除き、 各バイ ト レーンはいずれかのコン ト ローラー専用です。

b. 片方のコン ト ローラーのバイ ト レーンをも う一方のコン ト ローラーに配置するこ とはできません。たとえばコン ト ローラー A と B がある場合、 「AABB」 は可能ですが 「ABAB」 は認められません。

9. メモ リ インターフェイスが使用する I/O バンクはすべて同じカラムになければなり ません。

10. SSI テク ノ ロジ デバイスの場合、 メモ リ インターフェイスが使用する I/O バンクはすべて同じ SLR のカラムになければなり ません。

Page 66: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 66PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

11. 144 ビッ ト幅インターフェイスの場合、 インターフェイスの高さは 大でバンク 5 つ分です。 サポート されるインターフェイス幅は 大 80 ビッ トです。

12. バンク スキップは禁止です。

13. インターフェイスの MMCM の入力クロ ッ クは、 メモ リ インターフェイスに使用する I/O カラムの GCIO ペアから供給する必要があ り ます。 詳細は、 61 ページの 「ク ロ ッキング」 を参照してください。

14. 専用の VREF ピンがあ り ます (上記の規則には含まれていない)。内部または外部 VREF を使用できます。外部 VREFを使用しない場合、VREF ピンを 『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571) [参照 3]に記載された抵抗値を介してグランドに接続する必要があ り ます。 これらのピンは、使用する規格に合わせて適切に接続する必要があ り ます。

15. インターフェイスは同じ I/O バンク タイプ (HR または HP) に含める必要があ り ます。上記手順 7 の reset_n および手順 12 で説明した入力クロ ッ クを除き、 バンク タイプを混在させるこ とはできません。

DDR3 のピン配置例

重要 : キャ リブレーシ ョ ン ステージがあるため、 MIG には set_input_delay/set_output_delay は必要あ り ません。 制約のない MIG の入出力およびキャ リブレーシ ョ ン対象の信号は無視してください。

表 4-1 に、 1 つのバンクに含まれる 16 ビッ ト DDR3 インターフェイスの例を示します。 これは、 2 個の x8 DDR3 コンポーネン ト を使用したコンポーネン ト インターフェイスの例です。

表 4-1 : 1 つのバンクに含まれる 16 ビッ ト DDR3 (x8/x16 コンポーネン ト ) インターフェイス

バンク 信号名 バイ ト グループ I/O タイプ

1 a0 T3U_12 –

1 a1 T3U_11 N

1 a2 T3U_10 P

1 a3 T3U_9 N

1 a4 T3U_8 P

1 a5 T3U_7 N

1 a6 T3U_6 P

1 a7 T3L_5 N

1 a8 T3L_4 P

1 a9 T3L_3 N

1 a10 T3L_2 P

1 a11 T3L_1 N

1 a12 T3L_0 P

1 a13 T2U_12 –

1 a14 T2U_11 N

1 we_n T2U_10 P

1 cas_n T2U_9 N

1 ras_n T2U_8 P

1 ck_n T2U_7 N

1 ck_p T2U_6 P

Page 67: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 67PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

1 cs_n T2L_5 N

1 ba0 T2L_4 P

1 ba1 T2L_3 N

1 ba2 T2L_2 P

1 sys_clk_n T2L_1 N

1 sys_clk_p T2L_0 P

1 cke T1U_12 –

1 dq15 T1U_11 N

1 dq14 T1U_10 P

1 dq13 T1U_9 N

1 dq12 T1U_8 P

1 dqs1_n T1U_7 N

1 dqs1_p T1U_6 P

1 dq11 T1L_5 N

1 dq10 T1L_4 P

1 dq9 T1L_3 N

1 dq8 T1L_2 P

1 odt T1L_1 N

1 dm1 T1L_0 P

1 vrp T0U_12 –

1 dq7 T0U_11 N

1 dq6 T0U_10 P

1 dq5 T0U_9 N

1 dq4 T0U_8 P

1 dqs0_n T0U_7 N

1 dqs0_p T0U_6 P

1 dq3 T0L_5 N

1 dq2 T0L_4 P

1 dq1 T0L_3 N

1 dq0 T0L_2 P

1 reset_n T0L_1 N

1 dm0 T0L_0 P

表 4-1 : 1 つのバンクに含まれる 16 ビッ ト DDR3 (x8/x16 コンポーネン ト ) インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ

Page 68: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 68PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

表 4-2 に、 1 つのバンクに含まれる 16 ビッ ト DDR3 インターフェイスの例を示します。 これは、 4 個の x4 DDR3 コンポーネン ト を使用したコンポーネン ト インターフェイスの例です。

表 4-2 : 1 つのバンクに含まれる 16 ビッ ト DDR3 (x4 コンポーネン ト ) インターフェイス

バンク 信号名 バイ ト グループ I/O タイプ

1 a0 T3U_12 –

1 a1 T3U_11 N

1 a2 T3U_10 P

1 a3 T3U_9 N

1 a4 T3U_8 P

1 a5 T3U_7 N

1 a6 T3U_6 P

1 a7 T3L_5 N

1 a8 T3L_4 P

1 a9 T3L_3 N

1 a10 T3L_2 P

1 a11 T3L_1 N

1 a12 T3L_0 P

1 a13 T2U_12 –

1 a14 T2U_11 N

1 we_n T2U_10 P

1 cas_n T2U_9 N

1 ras_n T2U_8 P

1 ck_n T2U_7 N

1 ck_p T2U_6 P

1 cs_n T2L_5 N

1 ba0 T2L_4 P

1 ba1 T2L_3 N

1 ba2 T2L_2 P

1 sys_clk_n T2L_1 N

1 sys_clk_p T2L_0 P

1 cke T1U_12 –

1 dq15 T1U_11 N

1 dq14 T1U_10 P

1 dq13 T1U_9 N

1 dq12 T1U_8 P

1 dqs3_n T1U_7 N

Page 69: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 69PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

DDR4 のピン規則

次の規則はシングルランクおよびマルチランク メモ リ インターフェイスに共通です。

• アドレス /制御とは、 cs_n、 ras_n、 cas_n、 we_n、 ba、 bg、 ck、 cke、 a、 odt、 act_n、 parity (RDIMMの場合のみ有効)。 マルチランク システムは、 各ランクに 1 つの cs_n、 cke、 odt、 および 1 つの ck ペアがあり ます。

• 1 バイ ト レーンのピンには、 N0 ~ N12 の番号が付けられています。

• 1 バンクのバイ ト レーンは、 T0、 T1、 T2、 T3 で識別します。 バイ ト レーン内のニブルは、 バイ ト レーン識別子(T0、 T1、 T2、 T3) の後に 「U」 または 「L」 を付けて区別します。 つま り、 T0L、 T0U、 T1L、 T1U、 T2L、 T2U、T3L、 T3U と して識別します。

注記 : 各バンクには 2 つの PLL があ り、コン ト ローラーはインターフェイスが使用するすべてのバンクで PLL を 1 つ使用します。

1 dqs3_p T1U_6 P

1 dq11 T1L_5 N

1 dq10 T1L_4 P

1 dq9 T1L_3 N

1 dq8 T1L_2 P

1 dqs2_n T1L_1 N

1 dqs2_p T1L_0 P

1 vrp T0U_12 –

1 dq7 T0U_11 N

1 dq6 T0U_10 P

1 dq5 T0U_9 N

1 dq4 T0U_8 P

1 dqs1_n T0U_7 N

1 dqs1_p T0U_6 P

1 dq3 T0L_5 N

1 dq2 T0L_4 P

1 dq1 T0L_3 N

1 dq0 T0L_2 P

1 dqs0_n T0L_1 N

1 dqs0_p T0L_0 P

表 4-2 : 1 つのバンクに含まれる 16 ビッ ト DDR3 (x4 コンポーネン ト ) インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ

Page 70: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 70PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

1. dqs、 dq、 dm/dbi の配置

a. x8 または x16 コンポーネン ト を使用するデザイン – dqs は 「U」 で識別される上位ニブル内の専用バイ ト クロ ッ ク ペア (N6 および N7) に配置する必要があ り ます。 dqs に対応する dq は、 同じバイ ト レーン内のピン N1 と N12 以外のピンに配置します。

b. x4 コンポーネン ト を使用するデザイン – dqs はニブル内の専用バイ ト ク ロ ッ ク ペア (下位ニブルでは N0 とN1、 上位ニブルでは N6 と N7) に配置する必要があ り ます。 dqs に対応する dq は、 同じニブル内の N12 (上位ニブル) 以外のピンに配置します。 下位ニブルの dq と上位ニブルの dq は同じバイ ト レーンに割り当てる必要があ り ます。

注記 : dm/dbi ポートは x4 DDR4 コンポーネン トではサポート されません。

c. dm/dbi は、対応する dqs と同じバイ ト レーン内の N0 ピンに配置する必要があ り ます。 ピンあたりのデータ レートが 2,133Mb/s を超える場合は書き込みおよび読み出し dbi が必要です。 したがって、 2,133Mb/s を超える場合はデータ マスク機能を利用できません。

d. x16 コンポーネン トの場合は ldqs を偶数 dqs に接続し、 udqs を ldqs + 1 に接続する必要があ り ます。初の x16 コンポーネン トは、 XDC ファ イルで ldqs を dqs0 に接続し、 udqs を dqs1 に接続します。 2 番目の x16 コンポーネン トは、 ldqs を dqs2 に接続し、 udqs を dqs3 に接続します。 インターフェイスで必要なだけ、このパターンを続けます。これによってバイ ト レーンの物理的位置が制限されるこ とはあ り ません。 dqs に関連するバイ ト レーンは必要に応じて Vivado IDE で移動し、 PCB 配線を 適化できます。

2. x4 コンポーネン トはペアで使用する必要があ り ます。x4 コンポーネン ト を奇数個で使用するこ とはできません。1 つのデータ バイ トの上位ニブルと下位ニブルは、同じ x4 dq/dqs グループで占める必要があ り ます。 2 つの x4ニブルを含む各バイ ト レーンは、 偶数から始まる連続したニブルとする必要があ り ます。 たとえばニブル 0 と1、 またはニブル 2 と 3 で 1 つのバイ ト レーンを構成できますが、 ニブル 1 と 2 では構成できません。 バイ トレーン内でのニブルの順番は重要ではあ り ません。

3. dqs のあるバイ ト レーンはデータ バイ ト レーンと見なされます。データ バイ ト レーンでは、ピン N1 と N12 をアドレス /制御に使用できます。 データ バイ トが残りのアドレス /制御ピンと同じバンクにある場合は、 規則 4 を参照してください。

4. アドレス /制御は、 アドレス /制御バイ ト レーンの 13 本のピンのいずれにも配置できます。 アドレス /制御は同じバンクに含める必要があ り ます。

5. 各バンクに 1 つの vrp ピンを使用し、 インターフェイスには DCI が必要です。 入力を含む I/O バンクおよび出力のみのバンクでは vrp ピンが必要です。 出力のみのバンクで必要なのは、 制御出力インピーダンスを使用するためにアドレス /制御信号が SSTL12_DCI を使用するためです。 DCI のカスケード接続はサポート されません。『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571) [参照 3] の DCI に関する規則をすべて順守する必要があ り ます。

6. ck ペアはアドレス/制御バイ ト レーンの任意の PN ペアに配置する必要があ り ます。

7. 汎用インターコネク トのタイ ミ ングを満たし、選択したバンクで I/O 規格を利用できるなら、reset_n は任意のピンに配置できます。

8. バンクは 2 つのコン ト ローラーで共有できます。

a. reset_n を除き、 各バイ ト レーンはいずれかのコン ト ローラー専用です。

b. 片方のコン ト ローラーのバイ ト レーンをも う一方のコン ト ローラーに配置するこ とはできません。たとえばコン ト ローラー A と B がある場合、 「AABB」 は可能ですが 「ABAB」 は認められません。

9. メモ リ インターフェイスが使用する I/O バンクはすべて同じカラムになければなり ません。

10. SSI テク ノ ロジ デバイスの場合、 メモ リ インターフェイスが使用する I/O バンクはすべて同じ SLR のカラムになければなり ません。

11. 144 ビッ ト幅インターフェイスの場合、 インターフェイスの高さは 大でバンク 5 つ分です。 サポート されるインターフェイス幅は 大 80 ビッ トです。

12. バンク スキップは禁止です。

13. インターフェイスの MMCM の入力クロ ッ クは、 メモ リ インターフェイスに使用する I/O カラムの GCIO ペアから供給する必要があ り ます。 詳細は、 61 ページの 「ク ロ ッキング」 を参照してください。

Page 71: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 71PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

14. DDR4 で使用するバンクの専用 VREF ピンは、 『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』(UG571) [参照 3] に記載された抵抗値を介してグランドに接続する必要があ り ます。DDR4 では、内部 VREF が必須です。

15. インターフェイスは同じ I/O バンク タイプ (HP) に含める必要があ り ます。 上記手順 7 の reset_n および手順13 で説明した入力クロ ッ クを除き、 バンク タイプを混在させるこ とはできません。

16. コマンドおよびアドレス パリティ用の par 入力、 alert_n 入出力、 コネクティビティ テス ト モード用の TEN入力は、 このインターフェイスではサポート されません。 これらピンを使用しない場合の接続方法については、メモ リ ベンダーにお問い合わせください。

重要 : コンポーネン ト インターフェイスを構築する際は、インターフェイスに含まれるすべてのコンポーネン ト を同じにする必要があ り ます。 x16 コンポーネン ト と x8 コンポーネン トではバンク グループの数が異な り ます。 たとえば 72 ビッ ト幅のコンポーネン ト インターフェイスを作成するには、9 個の x8 コンポーネン ト または 5 個の x16 コンポーネン ト ( う ち 1 コンポーネン トは半分のみ使用) で揃える必要があ り ます。4 個の x16 コンポーネン ト と 1 個の x8コンポーネン ト を組み合わせるこ とはできません。

DDR4 のピン配置例

重要 : キャ リブレーシ ョ ン ステージがあるため、 MIG には set_input_delay/set_output_delay は必要あ り ません。 制約のない MIG の入出力およびキャ リブレーシ ョ ン対象の信号は無視してください。

表 4-3 に、 2 つのバンクに含まれる 32 ビッ ト DDR4 インターフェイスの例を示します。 これは、 4 個の x8 DDR4 コンポーネン ト を使用したコンポーネン ト インターフェイスの例です。

表 4-3 : 2 つのバンクに含まれる 32 ビッ ト DDR4 インターフェイス

バンク 信号名 バイ ト グループ I/O タイプ

バンク 1

1 – T3U_12 –

1 – T3U_11 N

1 – T3U_10 P

1 – T3U_9 N

1 – T3U_8 P

1 – T3U_7 N

1 – T3U_6 P

1 – T3L_5 N

1 – T3L_4 P

1 – T3L_3 N

1 – T3L_2 P

1 – T3L_1 N

1 – T3L_0 P

1 – T2U_12 –

1 – T2U_11 N

1 – T2U_10 P

1 – T2U_9 N

Page 72: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 72PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

1 – T2U_8 P

1 – T2U_7 N

1 – T2U_6 P

1 – T2L_5 N

1 – T2L_4 P

1 – T2L_3 N

1 – T2L_2 P

1 – T2L_1 N

1 – T2L_0 P

1 reset_n T1U_12 –

1 dq31 T1U_11 N

1 dq30 T1U_10 P

1 dq29 T1U_9 N

1 dq28 T1U_8 P

1 dqs3_c T1U_7 N

1 dqs3_t T1U_6 P

1 dq27 T1L_5 N

1 dq26 T1L_4 P

1 dq25 T1L_3 N

1 dq24 T1L_2 P

1 未使用 T1L_1 N

1 dm3/dbi3 T1L_0 P

1 vrp T0U_12 –

1 dq23 T0U_11 N

1 dq22 T0U_10 P

1 dq21 T0U_9 N

1 dq20 T0U_8 P

1 dqs2_c T0U_7 N

1 dqs2_t T0U_6 P

1 dq19 T0L_5 N

1 dq18 T0L_4 P

1 dq17 T0L_3 N

1 dq16 T0L_2 P

1 – T0L_1 N

表 4-3 : 2 つのバンクに含まれる 32 ビッ ト DDR4 インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ

Page 73: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 73PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

1 dm2/dbi2 T0L_0 P

バンク 2

2 a0 T3U_12 –

2 a1 T3U_11 N

2 a2 T3U_10 P

2 a3 T3U_9 N

2 a4 T3U_8 P

2 a5 T3U_7 N

2 a6 T3U_6 P

2 a7 T3L_5 N

2 a8 T3L_4 P

2 a9 T3L_3 N

2 a10 T3L_2 P

2 a11 T3L_1 N

2 a12 T3L_0 P

2 a13 T2U_12 –

2 we_n/a14 T2U_11 N

2 cas_n/a15 T2U_10 P

2 ras_n/a16 T2U_9 N

2 act_n T2U_8 P

2 ck_c T2U_7 N

2 ck_t T2U_6 P

2 ba0 T2L_5 N

2 ba1 T2L_4 P

2 bg0 T2L_3 N

2 bg1 T2L_2 P

2 sys_clk_n T2L_1 N

2 sys_clk_p T2L_0 P

2 cs_n T1U_12 –

2 dq15 T1U_11 N

2 dq14 T1U_10 P

2 dq13 T1U_9 N

2 dq12 T1U_8 P

2 dqs1_c T1U_7 N

表 4-3 : 2 つのバンクに含まれる 32 ビッ ト DDR4 インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ

Page 74: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 74PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

表 4-4 に、 1 つのバンクに含まれる 16 ビッ ト DDR4 インターフェイスの例を示します。 これは、 4 個の x4 DDR4 コンポーネン ト を使用したコンポーネン ト インターフェイスの例です。

2 dqs1_t T1U_6 P

2 dq11 T1L_5 N

2 dq10 T1L_4 P

2 dq9 T1L_3 N

2 dq8 T1L_2 P

2 odt T1L_1 N

2 dm1/dbi1 T1L_0 P

2 vrp T0U_12 –

2 dq7 T0U_11 N

2 dq6 T0U_10 P

2 dq5 T0U_9 N

2 dq4 T0U_8 P

2 dqs0_c T0U_7 N

2 dqs0_t T0U_6 P

2 dq3 T0L_5 N

2 dq2 T0L_4 P

2 dq1 T0L_3 N

2 dq0 T0L_2 P

2 cke T0L_1 N

2 dm0/dbi0 T0L_0 P

表 4-4 : 1 つのバンクに含まれる 16 ビッ ト DDR4 (x4 コンポーネン ト ) インターフェイス

バンク 信号名 バイ ト グループ I/O タイプ

1 a0 T3U_12 –

1 a1 T3U_11 N

1 a2 T3U_10 P

1 a3 T3U_9 N

1 a4 T3U_8 P

1 a5 T3U_7 N

1 a6 T3U_6 P

1 a7 T3L_5 N

1 a8 T3L_4 P

1 a9 T3L_3 N

1 a10 T3L_2 P

表 4-3 : 2 つのバンクに含まれる 32 ビッ ト DDR4 インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ

Page 75: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 75PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

1 a11 T3L_1 N

1 a12 T3L_0 P

1 a13 T2U_12 –

1 we_n/a14 T2U_11 N

1 cas_n/a15 T2U_10 P

1 ras_n/a16 T2U_9 N

1 act_n T2U_8 P

1 ck_c T2U_7 N

1 ck_t T2U_6 P

1 ba0 T2L_5 N

1 ba1 T2L_4 P

1 bg0 T2L_3 N

1 bg1 T2L_2 P

1 odt T2L_1 N

1 cke T2L_0 P

1 cs_n T1U_12 –

1 dq15 T1U_11 N

1 dq14 T1U_10 P

1 dq13 T1U_9 N

1 dq12 T1U_8 P

1 dqs3_c T1U_7 N

1 dqs3_t T1U_6 P

1 dq11 T1L_5 N

1 dq10 T1L_4 P

1 dq9 T1L_3 N

1 dq8 T1L_2 P

1 dqs2_c T1L_1 N

1 dqs2_t T1L_0 P

1 vrp T0U_12 –

1 dq7 T0U_11 N

1 dq6 T0U_10 P

1 dq5 T0U_9 N

1 dq4 T0U_8 P

表 4-4 : 1 つのバンクに含まれる 16 ビッ ト DDR4 (x4 コンポーネン ト ) インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ

Page 76: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 76PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

注記 : システム ク ロ ッ ク ピン (sys_clk_p、 sys_clk_n) は別々のバンクに割り当てられます。

x4 RDIMM のピン マップ表 4-5 に、 x4 DDR3 レジスタ付き DIMM の場合のメモ リ データシート と XDC のピン マップ例を示します。

1 dqs1_c T0U_7 N

1 dqs1_t T0U_6 P

1 dq3 T0L_5 N

1 dq2 T0L_4 P

1 dq1 T0L_3 N

1 dq0 T0L_2 P

1 dqs0_c T0L_1 N

1 dqs0_t T0L_0 P

表 4-5 : x4 DDR3 DIMM のピン マップ

メモリのデータシート MIG XDC

DQ[63:0] DQ[63:0]

CB3 ~ CB0 DQ[67:64]

CB7 ~ CB4 DQ[71:68]

DQS0、 DQS0 DQS[0]、 DQS_N[0]

DQS1、 DQS1 DQS[2]、 DQS_N[2]

DQS2、 DQS2 DQS[4]、 DQS_N[4]

DQS3、 DQS3 DQS[6]、 DQS_N[6]

DQS4、 DQS4 DQS[8]、 DQS_N[8]

DQS5、 DQS5 DQS[10]、 DQS_N[10]

DQS6、 DQS6 DQS[12]、 DQS_N[12]

DQS7、 DQS7 DQS[14]、 DQS_N[14]

DQS8、 DQS8 DQS[16]、 DQS_N[16]

DQS9、 DQS9 DQS[1]、 DQS_N[1]

DQS10、 DQS10 DQS[3]、 DQS_N[3]

DQS11、 DQS11 DQS[5]、 DQS_N[5]

DQS12、 DQS12 DQS[7]、 DQS_N[7]

DQS13、 DQS13 DQS[9]、 DQS_N[9]

DQS14、 DQS14 DQS[11]、 DQS_N[11]

DQS15、 DQS15 DQS[13]、 DQS_N[13]

表 4-4 : 1 つのバンクに含まれる 16 ビッ ト DDR4 (x4 コンポーネン ト ) インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ

Page 77: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 77PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

表 4-6 に、 x4 DDR4 レジスタ付き DIMM の場合のメモ リ データシート と XDC のピン マップ例を示します。

DQS16、 DQS16 DQS[15]、 DQS_N[15]

DQS17、 DQS17 DQS[17]、 DQS_N[17]

表 4-6 : x4 DDR4 DIMM のピン マップ

メモリのデータシート MIG XDC

DQ[63:0] DQ[63:0]

CB3 ~ CB0 DQ[67:64]

CB7 ~ CB4 DQ[71:68]

DQS0 DQS[0]

DQS1 DQS[2]

DQS2 DQS[4]

DQS3 DQS[6]

DQS4 DQS[8]

DQS5 DQS[10]

DQS6 DQS[12]

DQS7 DQS[14]

DQS8 DQS[16]

DQS9 DQS[1]

DQS10 DQS[3]

DQS11 DQS[5]

DQS12 DQS[7]

DQS13 DQS[9]

DQS14 DQS[11]

DQS15 DQS[13]

DQS16 DQS[15]

DQS17 DQS[17]

表 4-5 : x4 DDR3 DIMM のピン マップ (続き)

メモリのデータシート MIG XDC

Page 78: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 78PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

プロ ト コルの説明このコアには次のインターフェイスがあ り ます。

• ユーザー インターフェイス

• AXI4 スレーブ インターフェイス

• PHY のみのインターフェイス

ユーザー インターフェイス

表 4-7 にユーザー インターフェイス信号を示します。 これらの信号を FPGA ユーザー デザインに接続して、 外部メモ リ デバイスにアクセスします。ユーザー インターフェイスは、コン ト ローラーの項で説明したネイティブ インターフェイスの上位階層です。

表 4-7 : ユーザー インターフェイス

信号 方向 説明

app_addr[ADDR_WIDTH – 1:0] 入力 この入力は、 現在の要求に対するアドレスを示します。

app_cmd[2:0] 入力 この入力は、 現在の要求に対するコマンドを選択します。

app_autoprecharge(1)入力

この入力は、 現在の要求に対する DRAM CAS コマン ドの A10 オー ト プ リチャージ ビッ ト をセッ トするよ う コン ト ローラーに指示します。

app_en 入力app_addr[]、 app_cmd[2:0]、 app_sz、 app_hi_pri 入力に対するアクテ ィブ Highのス ト ローブ信号です。

app_rdy 出力

この出力は、 ユーザー インターフェイスがコマンドを受信可能な状態であるこ とを示します。 app_en がイネーブルのと きにこの信号がディアサート された場合、app_rdy 信号がアサート されるまで現在の app_cmd、app_autoprecharge、app_addr を再送する必要があり ます。

app_hi_pri 入力 この入力は予約されており、 0 に固定しておく必要があ り ます。

app_rd_data[APP_DATA_WIDTH – 1:0] 出力 読み出しコマンドからの出力データです。

app_rd_data_end 出力現在のクロ ッ ク サイクルが app_rd_data[] の出力データの 後のサイクルであるこ とを示すアクティブ High の出力です。

app_rd_data_valid 出力 このアクティブ High 出力は、 app_rd_data[] が有効であるこ とを示します。

app_sz 入力 この入力は予約されており、 0 に固定しておく必要があ り ます。

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(2)入力 ユーザー リ フレッシュ要求

Page 79: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 79PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

app_addr[ADDR_WIDTH – 1:0]

この入力は、 現在ユーザー インターフェイスに送信されている要求のアドレスを示します。 ユーザー インターフェイスは外部 SDRAM の全アドレス フ ィールドを統合し、 フラ ッ ト なアドレス空間を示します。

app_addr を SDRAM アドレス バスおよびチップ セレク ト ピンにどのよ うにマッピングするかは、MEM_ADDR_ORDER パラ メーターで決定します。 このマッピングはメモ リ帯域幅の使用率に大き く影響します。MEM_ADDR_ORDER は「ROW_COLUMN_BANK」に設定するこ とを推奨します。表 4-8 ~表 4-11 に、DDR3 と DDR4で 「ROW_COLUMN_BANK」 に設定した場合のマッピング例を示します。 app_addr の下位 3 ビッ ト は、 SDRAMバース ト順序を示す列アドレスの下位 3 ビッ トにマッピングします。

このコン ト ローラーはバース ト順序の変更をサポート していないため、 これらの下位ビッ トは無視されます。 このため、 app_addr の 小ステップ サイズは実質上 0x8 とな り ます。

app_ref_ack(2)出力 ユーザー リ フレッシュ要求完了

app_zq_req(2)入力 ユーザー ZQCS コマンド要求

app_zq_ack(2)出力 ユーザー ZQCS コマンド要求完了

ui_clk 出力このユーザー インターフェイス ク ロ ッ クは DRAM ク ロ ッ クの 1/4 とする必要があ り ます。

init_calib_complete 出力 キャ リブレーシ ョ ンが完了する と、 PHY によってアサート されます。

ui_clk_sync_rst 出力 アクティブ High のユーザー インターフェイス リセッ ト信号です。

addn_ui_clkout1 出力 ユーザー要件に基づいて提供される追加のクロ ッ ク出力

addn_ui_clkout2 出力 ユーザー要件に基づいて提供される追加のクロ ッ ク出力

addn_ui_clkout3 出力 ユーザー要件に基づいて提供される追加のクロ ッ ク出力

addn_ui_clkout4 出力 ユーザー要件に基づいて提供される追加のクロ ッ ク出力

dbg_clk 出力デバッグ ク ロ ッ ク。 dbg_clk には信号を接続せず、 インスタンシエーシ ョ ン中はポート を開いたままにしてください。

sl_iport0 入力[36:0] 入力ポート 0 (* KEEP = "true" *)

sl_oport0 出力[16:0] 出力ポート 0 (* KEEP = "true" *)

c0_ddr4_app_correct_en_i 入力 DDR4 訂正イネーブル入力

app_raw_not_ecc 入力 将来使用するために予約。 Low に接続してください。

注記 :

1. このポートは、 Vivado IDE で [Enable Precharge Input] をオンにする と現れます。

2. これらのポートは、 Vivado IDE で [Enable User Refresh and ZQCS Input] をオンにする と現れます。

表 4-7 : ユーザー インターフェイス (続き)

信号 方向 説明

表 4-8 : DDR3 の 「ROW_COLUMN_BANK」 マッピング

SDRAM app_addr マッピング

ランク (RANK == 1) ? 1’b0: app_addr[BANK_WIDTH + COL_WIDTH + ROW_WIDTH +: RANK_WIDTH]

行 app_addr[BANK_WIDTH + COL_WIDTH +: ROW_WIDTH]

列 app_addr[3 + BANK_WIDTH +: COL_WIDTH – 3], app_addr[2:0]

バンク app_addr[3 +: BANK_WIDTH – 1], app_addr[2 + BANK_WIDTH +: 1]

Page 80: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 80PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

「ROW_COLUMN_BANK」 を選択した場合、 app_addr[4:3] はコン ト ローラーがグループ FSM をインターリーブするために使用する DDR4 バンク グループ ビッ ト または DDR3 バンク ビッ トにマッピングします。 app_addr[5]から上の下位アドレス ビッ トは残りの SDRAM バンクおよび列アドレス ビッ トにマッピングします。 上位のアドレス ビッ トは SDRAM 行にマッピングします。 このマッピングは、 アドレス ス ト リームが長時間にわたって 0x8 のステ ップ サイズで単調にイ ン ク リ メ ン ト する よ う なワーク ロード に理想的です。 このよ う なワーク ロード で「ROW_COLUMN_BANK」 を選択する と、 ユーザー インターフェイスに送信された ト ランザクシ ョ ンはコン ト ローラーのグループ FSM に均等にインターリーブされ、 コン ト ローラーのリ ソース使用効率が 大限に高ま り ます。 また、 このマッピングでは SDRAM のオープン ページへのヒ ッ トが生成される傾向があ り ます。 グループ FSM のインターリーブと SDRAM ページ ヒ ッ トの組み合わせによ り、 SDRAM データ バスの使用率は非常に高くな り ます。

単調なインク リ メン ト パターン以外のアドレス ス ト リームでは、SDRAM バス使用率が低くなる傾向があ り ます。このよ うな性能の低下は、 デザインのフラ ッ ト なアドレス空間からユーザー インターフェイスの app_addr 入力ポートへのマッピングをチューニングするこ とで回復できます。実際のアドレス パターンが事前にわかっている場合、も頻繁に ト グルするアドレス ビッ ト を app_addr[3] から上の下位ビッ トにマッピングするよ うにロジッ クを追加します。

たとえばワークロードのアドレス ビッ ト [4:3] よ り もビッ ト [10:9] の方が頻繁にト グルする とわかっている場合これらのビッ ト を入れ替えてアドレス ビッ ト [10:9] が app_addr[4:3] にマッピングされるよ うにロジッ クを追加します。こ うする とアドレス ス ト リームがコン ト ローラーのグループ FSM に効率よ く インターリーブされるよ うになり、コン ト ローラーのスループッ トおよび SDRAM データ バス使用率が向上します。

app_cmd[2:0]

この入力は、 現在ユーザー インターフェイスに送信されている要求のコマンドを指定します。 表 4-12 に利用可能なコマンドを示します。ECC を有効にした場合、app_wdf_mask ビッ トが 0 でない書き込みを実行するには wr_bytesコマンドが必要です。 wr_bytes を実行する と コン ト ローラーで Read-Modify-Write フローが ト リガーされます。 このフローが必要になるのは、 ECC モードでマスク データを使用して書き込みを実行する場合のみです。

表 4-9 : DDR3 4GB (512MB x8) シングルランクのマッピング例

SDRAM バス Row[15:0] Column[9:0] Bank[2:0]

app_addr ビッ ト 28 ~ 13 12 ~ 6、 2、 1、 0 4、 3、 5

表 4-10 : DDR4 「ROW_COLUMN_BANK」 のマッピング

SDRAM app_addr マッピング

ランク(RANK == 1) ? 1’b0: app_addr[BANK_GROUP_WIDTH + BANK_WIDTH + COL_WIDTH + ROW_WIDTH +: RANK_WIDTH]

行 app_addr[BANK_GROUP_WIDTH + BANK_WIDTH + COL_WIDTH +: ROW_WIDTH

列 app_addr[3 + BANK_GROUP_WIDTH + BANK_WIDTH +: COL_WIDTH – 3], app_addr[2:0]

バンク app_addr[3 + BANK_GROUP_WIDTH +: BANK_WIDTH

バンク グループ app_addr[3 +: BANK_GROUP_WIDTH]

表 4-11 : DDR4 4GB (512MB x8) シングルランクのマッピング例

SDRAM バス Row[14:0] Column[9:0] Bank[1:0] Bank Group[1:0]

app_addr ビッ ト 28 ~ 14 13 ~ 7、 2、 1、 0 6、 5 4、 3

表 4-12 : app_cmd[2:0] のコマンド

動作 app_cmd[2:0] のコード

書き込み 000

読み出し 001

wr_bytes 011

Page 81: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 81PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

app_autoprecharge

この入力は、 現在ユーザー インターフェイスに送信されている要求に対する DRAM CAS コマンドの A10 autoprecharge ビッ トのステート を指定します。 この入力が Low の場合、 メモ リ コン ト ローラーは DRAM RD または WR CAS コマンドを発行します。 この入力が High の場合、 メモ リ コン ト ローラーは DRAM RDA または WRACAS コマンドを発行します。 この入力によ り要求単位での制御が可能ですが、固定値に接続してコン ト ローラーの動作をオープンまたはクローズド ページ モードに静的に設定するこ と もできます。

app_en

要求の入力ス ト ローブ信号です。app_addr[]、app_cmd[2:0]、および app_hi_pri に目的の値を適用した後、app_enをアサートする と要求がユーザー インターフェイスへ送信されます。これによ りハンドシェイ クが開始し、ユーザーインターフェイスは app_rdy をアサート して肯定応答 (ACK) を送信します。

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_wren

この入力は、 app_wdf_data[] バスのデータが有効であるこ とを示します。

app_rdy

この出力は、現在ユーザー インターフェイスに送信されている要求が受信されたかど うかを示します。 app_en がアサート された後にユーザー インターフェイスがこの信号をアサート しない場合、現在の要求を再試行する必要があ ります。 次の場合、 app_rdy 出力はアサート されません。

° PHY/メモ リの初期化が完了していない

° コン ト ローラーのグループ FSM がすべて占有されている (コマンド バッファーがフル)

- 読み出しを要求したが読み出しバッファーがフル

- 書き込みを要求したが利用できる書き込みバッファー ポインターがない

° 周期的読み出しが挿入された

app_rd_data[APP_DATA_WIDTH – 1:0]

この出力には、 外部メモ リから読み出したデータが含まれます。

app_rd_data_end

この出力は、 app_rd_data[] バスの現在のサイ クルのデータが現在の要求に対する 後のデータであるこ とを示します。

Page 82: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 82PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

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信号がアサート されるまで (すなわち要求に対して ACK が返され、 リ フレッシュ コマンドが送信されたこ とが確認できるまで) ディアサート しておく必要があ り ます。

app_ref_ack

このアクティブ High の入力がアサート される と、 リ フレッシュ要求に対して ACK が返され、メモ リ コン ト ローラーから PHY へリ フレッシュ コマンドが送信されたこ とを意味します。

app_zq_req

このアクティブ High の入力をアサートする と、 メモ リ コン ト ローラーから DRAM へ ZQ キャ リブレーシ ョ ン コマン ド を送信するよ う要求します。 この入力を 1 ク ロ ッ ク サイ クルの間パルスして要求を送信したら、 少な く と もapp_zq_ack 信号がアサート されるまで (すなわち要求に対して ACK が返され、 リ フレッシュ コマンドが送信されたこ とが確認できるまで) ディアサート しておく必要があ り ます。

app_zq_ack

このアクティブ High の入力がアサート される と、 ZQ キャ リブレーシ ョ ン要求に対して ACK が返され、 メモ リ コント ローラーから PHY へ ZQ キャ リブレーシ ョ ン コマンドが送信されたこ とを意味します。

ui_clk_sync_rst

ui_clk と同期したユーザー インターフェイスからのリセッ トです。

ui_clk

ユーザー インターフェイスからの出力クロ ッ クです。 Vivado IDE で [4:1] モードを選択し、 外部 SDRAM へ送信されるクロ ッ クの 1/4 の周波数とする必要があ り ます。

init_calib_complete

キャ リブレーシ ョ ンが完了する と、 PHY によってアサート されます。 アプリ ケーシ ョ ンは init_calib_completeを待たずにメモ リ コン ト ローラーへコマンドを送信できます。

Page 83: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 83PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

コマンド パス

ユーザー ロジッ クの app_en 信号がアサート され、 ユーザー インターフェイスから app_rdy 信号がアサート される と、 ユーザー インターフェイスはコマンドを受け取って FIFO に書き込みます。 app_rdy がディアサート されている場合、 ユーザー インターフェイスはコマンドを無視します。 ユーザー ロジッ クは、 app_rdy がアサート されるまで app_en を High に保持し、 有効なコマンド、 オートプ リチャージ、 アドレス値をアサート しておく必要があ ります。 図 4-2 に、 オートプ リチャージ付き書き込みト ランザクシ ョ ンの例を示します。

連続しない書き込みコマン ドは、 図 4-3 のよ う に発行できます。 この図には、 app_wdf_data、 app_wdf_wren、app_wdf_end の各信号について次の 3 つのシナリオを示しています。

1. 書き込みデータが対応する書き込みコマンド と同時に供給された場合

2. 書き込みデータが対応する書き込みコマンドの前に供給された場合

3. 書き込みデータが対応する書き込みコマンドの後 (ただし上限は 2 ク ロ ッ ク サイクル後まで) に供給された場合

書き込みコマンドが取り込まれた後に書き込みデータが出力される場合、 図 4-3 の注釈に示したよ うに 大遅延は 2 ク ロ ッ ク サイクルです。

X-Ref Target - Figure 4-2

図 4-2 : app_rdy をアサート した場合のユーザー インターフェイス コマンドのタイ ミング図

Page 84: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 84PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

書き込みパス

app_wdf_wren がアサート され app_wdf_rdy が High のと き、 書き込みデータが書き込み FIFO に取り込まれます(図 4-4)。 app_wdf_rdy がディアサート されている場合、 ユーザー ロジッ クは app_wdf_rdy がアサート されるまで app_wdf_wren と app_wdf_end を High に保持し、 app_wdf_data を有効な値にアサート しておく必要があ ります。 app_wdf_mask 信号を使用する と、 外部メモ リに書き込むバイ ト をマスクできます。

X-Ref Target - Figure 4-3

図 4-3 : 4:1 モードのユーザー インターフェイス書き込みのタイ ミング図 (メモリ バースト タイプ = BL8)

Page 85: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 85PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

関連する書き込みコマンドを基準にした app_wdf_data、app_wdf_wren、app_wdf_end のタイ ミ ング要件は、連続書き込みの場合も 1 回の書き込みの場合 (図 4-3) も同じです。

アプ リ ケーシ ョ ン インターフェイス データから DRAM 出力データへのマッピングは、 例を示しながら説明します。

メモ リ コン ト ローラーと DRAM のクロ ッ ク比が 4:1 で 8 ビッ ト メモ リ を使用した場合、アプリ ケーシ ョ ン インターフェイス側で 0000_0806_0000_0805 (16 進数) の 64 ビッ ト データを駆動する と、DRAM インターフェイス側のデータは図 4-5 のよ うにな り ます。 これは BL8 (バース ト長 8) ト ランザクシ ョ ンの場合です。

X-Ref Target - Figure 4-4

図 4-4 : 4:1 モードのユーザー インターフェイスでの連続する書き込みコマンドのタイ ミング図 (メモリ バースト タイプ = BL8)

X-Ref Target - Figure 4-5

図 4-5 : 4:1 モードでの DRAM インターフェイス側のデータ

Page 86: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 86PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

表 4-13 に、 各クロ ッ ク エッジでのデータ値を示します。

表 4-14 は、 DRAM DQ バス データを連結してアプリ ケーシ ョ ン インターフェイスのデータ信号を生成方法を一般化して表したものです。 表 4-14 には app_wdf_data を示していますが、 app_rd_data にも同様の規則が適用されます。 DQ バスの各バイ トは、 表 4-13 に示したよ うに Rise0 (バース ト 0) ~ Fall3 (バース ト 7) の 8 回のバース トで構成され、 合計 64 データ ビッ ト あ り ます。 Rise0 を LSB の位置と し、 Fall3 を MSB の位置と して連結する と、 64 ビッ トの app_wdf_data 信号が生成されます。

たとえば ddr3_dq[7:0] の 8 回のバース トは DQ バス バイ ト 0 に対応します。 これを上記の説明に従って連結すると、 app_wdf_data[63:0] にマ ッ ピング し ます。 連結順序を も う 一度説明する と、 Rise0 (バース ト 0) からのddr3_dq[0] が app_wdf_data[0] にマッピングし、Fall3 (バース ト 7) からの ddr3_dq[7] が app_wdf_data[63]にマッピングします。 この表にはも う 1 つの例と して DQ バイ ト 1 から app_wdf_data[127:64] へのマッピング、および DQ バイ ト N の場合の式も示してあ り ます。

DQ バスのマッピング同様、 DM バスも同じバース ト順で DM ビッ ト を連結して app_wdf_mask にマッピングします。 表 4-15 に、 DRAM バスの 初の 2 バイ トのマッピング例、 および DM バイ ト N の場合の式を示します。

表 4-13 : 各クロック エッジでのデータ値

Rise0 Fall0 Rise1 Fall1 Rise2 Fall2 Rise3 Fall3

05 08 00 00 06 08 00 00

表 4-14 : DRAM DQ バス データのマッピング

DQ バス バイ ト

アプリケーシ ョ ン インターフェイス信号

各 BL8 バースト位置における DDR バス信号

Fall3 … Rise1 Fall0 Rise0

Napp_wdf_data[(N + 1) × 64 – 1: N × 64]

ddr3_dq[(N + 1) × 8 – 1:N × 8]

…ddr3_dq[(N + 1) × 8 – 1:N × 8]

ddr3_dq[(N + 1) × 8 – 1:N × 8]

ddr3_dq[(N + 1) × 8 – 1:N × 8]

1 app_wdf_data[127:64] ddr3_dq[15:8] … ddr3_dq[15:8] ddr3_dq[15:8] ddr3_dq[15:8]

0 app_wdf_data[63:0] ddr3_dq[7:0] … ddr3_dq[7:0] ddr3_dq[7:0] ddr3_dq[7:0]

表 4-15 : DRAM DM バス データのマッピング

DM バス バイ ト

アプリケーシ ョ ン インターフェイス信号

各 BL8 バースト位置における DDR バス信号

Fall3 … Rise1 Fall0 Rise0

Napp_wdf_mask[(N + 1) × 8 – 1:N × 8]

ddr3_dm[N] … ddr3_dm[N] ddr3_dm[N] ddr3_dm[N]

1 app_wdf_mask[15:0] ddr3_dq[1] … ddr3_dm[1] ddr3_dm[1] ddr3_dm[1]

0 app_wdf_mask[7:0] ddr3_dq[0] … ddr3_dm[0] ddr3_dm[0] ddr3_dm[0]

Page 87: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 87PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

読み出しパス

読み出しデータは要求された順番にユーザー インターフェイスから返され、 app_rd_data_valid がアサート されている と きに有効です (図 4-6 および図 4-7)。app_rd_data_end 信号は各読み出しコマンド バース トの終了を示し、ユーザー ロジッ クでは必要あ り ません。

図 4-7 で、 読み出しデータはアドレス/制御バスで要求を発行したのと常に同じ順番で返されます。

X-Ref Target - Figure 4-6

図 4-6 : 4:1 モードのユーザー インターフェイス読み出しのタイ ミング図 (メモリ バースト タイプ = BL8) #1

X-Ref Target - Figure 4-7

図 4-7 : 4:1 モードのユーザー インターフェイス読み出しのタイ ミング図 (メモリ バースト タイプ = BL8) #2

Page 88: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 88PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

メンテナンス コマンド

Vivado IDE では、 ユーザー インターフェイスの DRAM リ フレ ッシュ モードを 2 種類に設定できます。 デフォル トモードに設定する と、ユーザー インターフェイス と メモ リ コン ト ローラーは DRAM プロ ト コルおよびタイ ミ ング要件を完全に満たすよ うに DRAM リ フレッシュおよび ZQCS コマンドを自動的に生成します。 コン ト ローラーは通常のシステム ト ラフ ィ ッ クを定期的に中断して DRAM バスにこれらのメンテナンス コマンドを発行します。

Vivado IDE で [Enable User Refresh and ZQCS Input] をオンにする とユーザー モードが有効になり ます。 このモードでは、init_calib_complete が High にアサート された後にユーザーが DRAM コンポーネン ト仕様で定義されたレートでリ フレッシュおよび ZQCS コマンドを発行する必要があ り ます。 (この場合、 ) ユーザー インターフェイスの app_ref_req および app_zq_req 信号を使用して リ フレッシュおよび ZQCS コマンドを要求し、app_ref_ack および app_zq_ack を監視してコマンドが完了したかど うかを判定します。デフォルト DRAM リ フレッシュ モード同様、 全体的な リ フレッシュおよび ZQCS レート を含め、 これらコマンドの DRAM タイ ミ ングおよびプロ ト コルをコン ト ローラーで完全に管理する必要があ り ます。 これらの request/ack ポートは、 app_cmd や app_en などほかの UI コマンド ポート とは独立して動作します。

通常の読み出しおよび書き込みト ランザクシ ョ ンに対し、 メンテナンス ト ランザクシ ョ ンは UI に送信された順序がコン ト ローラーによって厳密に維持されないこ とがあ り ます。 ユーザーがリ フレッシュまたは ZQCS を要求する と、コン ト ローラーはデフォル ト モード と同様にシステム ト ラフ ィ ッ クを中断してメ ンテナンス コマンドを挿入します。 このモードを 大限に活用するには、 DRAM リ フレッシュ レートおよび ZQCS レートの要件を違反しないよ う注意しつつ、コン ト ローラーがアイ ドル中または少なく と もあま り ビジーでないと きにメンテナンス コマンドを要求する必要があ り ます。

図 4-8 は、ユーザー モード ポート を使用した場合に DRAM コマンド バスに与える影響を示しています。 この図はこの動作モードの概念図であ り、 タイ ミ ングは正確ではあ り ません。 こ こでは、DRAM のすべてのバンクが閉じてアイドル状態である と仮定します。 app_ref_req または app_zq_req が 1 システム ク ロ ッ ク サイ クルの間 High にアサー ト される と、 少し間隔を置いてコン ト ローラーは要求されたコマン ド を DRAM コマン ド バスに発行します。app_ref_req と app_zq_req をアサートするのは同じサイ クルでも別のサイ クルでもよ く、 同じレートでアサートする必要もあ り ません。 要求信号を 1 システム ク ロ ッ ク サイ クルの間アサート した後、 対応する ACK 信号がアサート されるまでディアサート しておく必要があ り ます。

X-Ref Target - Figure 4-8

図 4-8 : DRAM コマンド バスに対するユーザー モード ポートのタイ ミング図

Page 89: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 89PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

図 4-9 は、 app_en をアサート して読み出し ト ランザクシ ョ ンを連続して UI に発行している間に app_ref_req とapp_zq_req をアサー ト した場合を示しています。 コン ト ローラーは DRAM プロ ト コルおよびタ イ ミ ング要件に従って DRAM ト ラフ ィ ッ クを中断して リ フレッシュおよび ZQCS コマンドを発行した後、 読み出し ト ランザクシ ョンの発行を再開します。このシーケンス中、app_rdy 信号がディアサート されているこ とに注意して ください。tRFCまたは tZQCS の期間にコン ト ローラーのコマンド キューはすぐにいっぱいになるため、 このよ うなシーケンス中はディアサート されるこ とがよ く あ り ます。 メンテナンス コマンドが発行されて通常のバス ト ラフ ィ ッ クが再開したら app_rdy 信号がアサート され、 コン ト ローラーは新しい ト ランザクシ ョ ンを再び受け取れるよ うになり ます。

図 4-9 は、 シングルランクの場合の動作を示しています。 マルチランク システムでは、 1 回のリ フレッシュ要求で各ランクに対して tRFC/2 の期間だけずらして逐次的に DRAM リ フレ ッシュ コマンドが生成されます。 リ フレッシュコマンドの動作は比較的消費電力が大きいため、 このよ うに時間差で実行されます。 ZQCS コマンドについては、1 回の要求ですべてのランクに対して並列に ZQCS コマンドが生成されます。

AXI4 スレーブ インターフェイス

AXI4 スレーブ インターフェイス ブロ ッ クは AXI4 ト ランザクシ ョ ンを UI にマッピングし、 メモ リ コン ト ローラーに対して業界標準バス プロ ト コル インターフェイスを提供します。 MIG ツールで生成したデザインでは、 AXI4 スレーブ インターフェイスはオプシ ョ ンです。 どちらのツールを利用した場合も RTL には互換性があ り ます。AXI4 シグナリ ング プロ ト コルの詳細は、 ARM AMBA 仕様 [参照 5] を参照してください。

デザイン全体は各 AXI チャネルを処理する個別ブロッ クの集合と して構成されており、読み出しおよび書き込みト ランザクシ ョ ンを独立して実行できます。 UI に対する読み出しおよび書き込みコマンドは、 シンプルなラウンド ロビン方式のアービタを利用して同時要求が処理されます。アドレス読み出し /書き込みモジュールは AXI4 バース ト /ラ ップ要求を小さなメモ リ サイズのバース ト (バース ト長 4 または 8) に分割し、 読み出し /書き込みデータ モジュールに送信するこ とでユーザー インターフェイス とのやり と り を可能にします。

ECC を有効にした場合、 マスク ビッ ト を 1 つでもセッ ト した書き込みコマンドはすべて Read-Modify-Write 動作と して発行されます。

また、 ECC を有効にした場合、 マスク ビッ ト を 1 つもセッ ト していない書き込みコマンドはすべて書き込み動作として発行されます。

X-Ref Target - Figure 4-9

図 4-9 : ユーザー インターフェイスに対する読み出し ト ランザクシ ョ ンのタイ ミング図

Page 90: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 90PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

AXI4 スレーブ インターフェイスのパラ メーター

表 4-16 に、 AXI4 スレーブ インターフェイスのパラ メーターを示します。

表 4-16 : AXI4 スレーブ インターフェイスのパラメーター

パラメーター名 デフォルト値 設定可能な値 説明

C_S_AXI_ADDR_WIDTH 32 32ア ド レス読み出しおよびア ド レス書き込み信号の幅です。この値は 32に設定する必要があ り ます。

C_S_AXI_DATA_WIDTH 32 32、 64、 128、 256、 512

データ信号の幅です。高い性能を得るには、 APP_DATA_WIDTH と同じ幅を指定するこ とを推奨します。 これよ り小さい幅を指定する と ア ップサイザーが起動し、データのパック (結合) にク ロ ッ ク サイ クルが消費されます。

C_S_AXI_ID_WIDTH 4 1 ~ 16 すべてのチャネルの ID 信号の幅です。

C_S_AXI_SUPPORTS_NARROW_BURST

1 0、 1

このパラ メーターは、幅の狭い AXI転送をサポー ト するためのロジ ック ブロッ クを追加します。幅の狭いバース ト を発行するマス ターを メモ リ コン ト ローラーに接続した場合は、このロジッ ク ブロ ッ クが必要です。AXI データ幅が推奨値よ り小さい場合、 このパラ メーターは自動的に設定されます。

C_RD_WR_ARB_ALGORITHM RD_PRI_REG

TDM、 ROUND_ROBIN、RD_PRI_REG、RD_PRI_REG_STARVE_LIMIT、WRITE_PRIORITY_REG、WRITE_PRIORITY

このパラ メーターは、アービ ト レーシ ョ ン アルゴ リ ズム方式を示します。詳細は、 93 ページの 「AXI シムにおけるアービ ト レーシ ョ ン」 を参照して ください。

C_S_AXI_BASEADDR – 有効なアドレス

このパラ メーターは、メモ リ マップド スレーブ インターフェイスのベース アドレスを指定します。このアドレスにあるアドレス要求は、 ランク 1、バンク 0、行 0、列 0 にマッピングされます。ベース アドレス とハイ アドレスを組み合わせて、アクセス可能な メモ リ サイズを定義します。 このアクセス可能サイズは 2 のべき乗とする必要があ り ます。また、 ベース アド レス とハイ アドレスのペアはアクセス可能サイズの整数倍にアラ イン しておく必要があ り ます。 小アクセス可能サイズは 4,096 バイ トです。

Page 91: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 91PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

AXI4 スレーブ インターフェイスの信号

表 4-17 に、 AXI4 ス レーブ イ ン ターフ ェ イ ス固有の信号を示し ます。 イ ン ターフ ェ イ スに対する ui_clk とui_clk_sync_rst はメモ リ コン ト ローラーから供給されます。 AXI インターフェイスは ui_clk に同期します。

C_S_AXI_HIGHADDR – 有効なアドレス

このパラ メーターは、メモ リ マップド スレーブ インターフェイスのハイ アドレスを指定します。この値を超えるア ド レス要求を受信した場合は、ベース アドレスへ折り返します。 ベース アド レス とハイ アド レスを組み合わせて、アクセス可能なメモ リ サイズを定義します。このアクセス可能サイズは 2 のべき乗とする必要があ り ます。 また、 ベースア ド レス とハイ ア ド レスのペアはアクセス可能サイズの整数倍にアラインしておく必要があ り ます。小アクセス可能サイズは 4,096 バイトです。

C_S_AXI_PROTOCOL AXI4 AXI4 このパラ メーターは AXI プロ ト コルを指定します。

表 4-16 : AXI4 スレーブ インターフェイスのパラメーター (続き)

パラメーター名 デフォルト値 設定可能な値 説明

表 4-17 : AXI4 スレーブ インターフェイスの信号

名前 幅 方向 アクティブ状態 説明

ui_clk 1 出力 コアからインターフェイスへの出力クロ ッ ク

ui_clk_sync_rst 1 出力 High コアからインターフェイスへの出力リセッ ト

aresetn 1 入力 Low AXI シムに対する入力リセッ ト。 FPGA ロジック ク ロ ッ ク と同期しておく必要があ り ます。

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 入力ロッ ク タイプ。現在のイン リ メンテーシ ョ ンでは使用しません。

s_axi_awcache 4 入力キャ ッシュ タ イプ。 現在のインプ リ メ ンテーシ ョ ンでは使用しません。

s_axi_awprot 3 入力プロテクシ ョ ン タ イプ。 現在のインプ リ メ ンテーシ ョ ンでは使用しません。

s_axi_awvalid 1 入力 High書き込みアド レスの Valid 信号。 この信号は、有効な書き込みアド レス と制御情報が利用可能であるこ とを示します。

Page 92: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 92PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

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 書き込みの Last 信号。 この信号は、 書き込みバース トの 後の転送を示します。

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 出力 読み出しの Last 信号

s_axi_rvalid 1 出力 読み出しの valid 信号

s_axi_rready 1 入力 読み出しの ready 信号

dbg_clk 1 出力デバッグ ク ロ ッ ク。 dbg_clk には信号を接続せず、 インスタンシエーシ ョ ン中はポート を開いたままにして ください。

表 4-17 : AXI4 スレーブ インターフェイスの信号 (続き)

名前 幅 方向 アクティブ状態 説明

Page 93: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 93PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

AXI シムにおけるアービ ト レーシ ョ ン

AXI4 プロ ト コルでは読み出し と書き込みにそれぞれ独立したアドレス チャネルが必要です。しかしこのメモ リ コント ローラーにはアドレス チャネルが 1 つしかあ り ません。このため、次に示すアービ ト レーシ ョ ン方式を用いて読み出しアドレス チャネルと書き込みアドレス チャネルのアービ ト レーシ ョ ンを実行します。

時分割多重 (TDM)

このモードでは、読み出しアドレス チャネルと書き込みアドレス チャネルに同じ優先度を割り当てます。1 ク ロ ッ クサイ クルごとに読み出しアドレス チャネルと書き込みアドレス チャネルに対して交互に優先権を与えます。 AXI マスターからの読み出しまたは書き込み要求があるかど うかは考慮されません。書き込み要求がない場合でも、読み出し要求は 1 ク ロ ッ ク サイ クルおきに処理されます。要求が処理されるスロ ッ トは固定されており、同じ要求が連続するクロ ッ ク サイ クルで処理されるこ とはあ り ません。

ラウンドロビン

このモードでは、 読み出しアドレス チャネルと書き込みアドレス チャネルに同じ優先度を割り当てます。 読み出しチャネルと書き込みチャネルのどちらに優先権を与えるかは、AXI マスターから許可され 後に処理された要求に基づいて決定します。 たとえば 後に書き込みを実行した場合、 次は読み出しが優先的に処理されます。 同様に、 後に読み出しを実行した場合、 次は書き込みが優先的に処理されます。 保留中の要求がなく、 読み出しチャネルと書き込みチャネルで同時に要求が発生した場合は、 書き込みチャネルが優先的に処理されます。

読み出し優先 (RD_PRI_REG)

このモードでは、 読み出しアドレス チャネルと書き込みアドレス チャネルは同じ優先度で処理されます。 書き込みアドレス チャネルからの要求は、 次の条件のいずれか 1 つを満たした場合に処理されます。

• 読み出しアドレス チャネルからの保留中の要求がない。

• 読み出しスタベーシ ョ ンの上限値 256 に達した。 このチェッ クは、 バース トの 後にのみ実行されます。

• 保留中の読み出し要求の数が上限値 16 に達した。

• 書き込みサービス品質 (QoS) が高い (0 以外)。 このチェッ クは、 バース トの 後にのみ実行されます。

読み出しアドレス チャネルからの要求は、 同様の方法で処理されます。

スタベーシ ョ ン上限値を使用する読み出し優先 (RD_PRI_REG_STARVE_LIMIT)

このモードでは、 常に読み出しアドレス チャネルが優先されます。 書き込みアドレス チャネルからの要求は、 読み出しアドレス チャネルからの保留中の要求がない場合、または読み出しスタベーシ ョ ンの上限値に達した場合に処理されます。

書き込み優先 (WRITE_PRIORITY、 WRITE_PRIORITY_REG)

このモードでは、 常に書き込みアドレス チャネルが優先されます。 読み出しアドレス チャネルからの要求は、 書き込みアドレス チャネルからの保留中の要求がない場合に処理されます。WRITE_PRIORITY_REG モードでは、アービト レーシ ョ ン出力が取り込まれます。

AXI4-Lite スレーブ制御/ステータス レジスタ インターフェイス ブロック

AXI4-Lite スレーブ制御レジスタ ブロ ッ クは、プロセッサから ECC メモ リ オプシ ョ ンにアクセスするためのインターフェイスを提供します。 このインターフェイスは、 ECC が有効でプライマ リ スレーブ インターフェイスが AXI4 の場合に利用できます。 このブロ ッ クは割り込み、割り込みイネーブル、ECC ステータス、ECC イネーブル/ディ スエーブル、 ECC 訂正可能エラー カウンター、 初の訂正可能/訂正不能エラー データ /ECC/アドレスを提供します。ECC_TEST_FI_XOR (C_ECC_TEST) パラ メーターを 「ON」 にする と、 ソフ ト ウェア テス ト用のフォルト挿入レジスタも利用できます。AXI4-Lite インターフェイスは 32 データ ビッ トに固定されており、シグナリ ングは標準の AMBAAXI4-Lite 仕様 [参照 5] に準拠します。

Page 94: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 94PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

AXI4-Lite 制御/ステータス レジスタ インターフェイス ブロ ッ クは AXI4 メモ リ マップド インターフェイス と並列にインプ リ メン ト されます。このブロッ クはネイティブ インターフェイスの出力を監視して訂正可能 (1 ビッ ト ) エラーおよび訂正不能 (複数ビッ ト ) エラーをキャプチャします。訂正可能/訂正不能エラーが発生する と、このインターフェイスはエラーのあったデータ ビッ トおよび ECC ビッ トに加え、エラーのあったバイ ト アドレスもキャプチャします。フォルト挿入は、書き込みデータパスに配置された XOR ブロ ッ クによって ECC エンコードの後で実行されます。エラーを挿入できるのは 1 回のト ランザクシ ョ ンの 初のメモリ ビートのみです。たとえばデータ幅が 72 でモード レジスタのバース ト長が 8 のメモリ コンフ ィギュレーシ ョ ンの場合、フォルト挿入インターフェイスによって破損できるのは 初の 72 ビッ トのみです。 訂正可能または訂正不能エラーのいずれかに基づく割り込み生成は、 レジスタ インターフェイスで個別に設定できます。

ECC 有効/無効

ECC_ON_OFF レジスタは ECC デコード機能を有効または無効にします。 ただしエンコード機能は常に有効です。 起動時のデフォルト値は、C_ECC_ONOFF_RESET_VALUE パラ メーターで設定できます。このレジスタの ECC_ON_OFFビッ トに 1 を代入する と、mem_intfc への correct_en 信号がアサート されます。 このレジスタの ECC_ON_OFF ビットに 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 レジスタには書き込みできません。

1 ビッ ト エラーおよび 2 ビッ ト エラーの報告

ECC エラーを通知する メモ リ コン ト ローラーからのベク ター信号には、 ecc_single と ecc_multiple の 2 つがあ り ます。 ecc_single 信号は訂正可能エラーが発生したかど うかを示し、 ecc_multiple 信号は訂正不能エラーが発生したかど うかを示します。 ecc_multiple および ecc_single の幅は C_NCK_PER_CLK パラ メーターで決ま り ます。 ベクター ビッ トの 1 つによって通知される各データ ビートのサイクルあたりのエラー数は 0 ~ C_NCK_PER_CLK × 2 個の範囲です。 複数の訂正可能エラーまたは訂正不能エラーが検出される と、 1 サイクルでベクターの複数ビッ トが変化します。 ecc_err_addr 信号 (詳細は 「フォルト情報の収集」 参照) は、 ecc_single または ecc_multiple 信号のどちらかがアサート されている間有効です。

訂正可能エラー /訂正不能エラーが検出される と、 ECC_STATUS レジスタの CE_STATUS/UE_STATUS ビッ トがそれぞれセッ ト されます。

注意 : 複数ビッ トのエラーは訂正できないため、深刻なメモリ エラーです。 このよ うなエラーが発生した場合、 アプリケーショ ンはメモリの内容を信頼できません。 それ以上メモリへのト ランザクシ ョ ンを実行しないこ とを推奨します。

割り込み生成

ECC_EN_IRQ レジスタの CE_EN_IRQ ビッ ト または UE_EN_IRQ ビッ トで割り込みを有効にする と、訂正可能エラーまたは訂正不能エラー発生時に割り込み信号がアサート されます。

フォルト情報の収集

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レジスタから読み出すこ とができます。 大値までインク リ メン ト してもロールオーバーしません。

Page 95: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 95PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

フォルト挿入

ECC フォルト挿入レジスタの FI_D と FI_ECC は、 ソフ ト ウェア ド ラ イバーのテス トに使用します。 セッ トする と、ECC フォルト挿入レジスタ と MIG DFI データパスとを XOR 演算し、 メモ リ エラーをシ ミ ュレーシ ョ ンします。 DFIインターフェイスはメモ リ コン ト ローラーと PHY の間にあ り ます。 これはエンコード完了後のため、 エラーを挿入するのに 適な場所です。 エラーの挿入は 初のデータ ビートに対してのみサポート されるため、 FI_D レジスタの数は 2 ~ 4 となっています。 動作中、 データパスにエラーが挿入される と このレジスタは自己ク リ アします。

AXI4-Lite スレーブ制御/ステータス レジスタ インターフェイスのパラメーター

表 4-18 に、 AXI4-Lite スレーブ インターフェイスのパラ メーターを示します。

AXI4-Lite スレーブ制御/ステータス レジスタ インターフェイス信号

表 4-19 に、 AXI4 スレーブ インターフェイス固有の信号を示します。 インターフェイスに対するク ロ ッ ク / リ セッ ト信号はメモ リ コン ト ローラーから供給されます。

表 4-18 : 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 有効/無効を制御します。

C_S_AXI_CTRL_BASEADDR – 有効なアドレスこのパラ メーターは、 AXI4-Lite スレーブ インターフェイスのベース アドレスを指定します。

C_S_AXI_CTRL_HIGHADDR – 有効なアドレスこのパラ メーターは、 AXI4-Lite スレーブ インターフェイスのハイ アドレスを指定します。

C_S_AXI_CTRL_PROTOCOL AXI4LITE AXI4LITE AXI4-Lite プロ ト コル

表 4-19 : 新しい 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 入力 High 読み出しアドレスの valid 信号

Page 96: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 96PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

AXI4-Lite スレーブ制御/ステータス レジスタ マップ

表 4-20 に ECC 関連のレジスタ マップを示します。 このレジスタ マップはリ トル エンディアンです。 読み出し専用または予約値への書き込みアクセスは無視されます。書き込み専用または予約値に対して読み出しアクセスを実行する と、 値 0xDEADDEAD が返されます。

s_axi_ctrl_arready 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 グローバル割り込み信号

表 4-19 : 新しい I/O 信号の一覧 (続き)

名前 幅 方向アクティブ状態

説明

表 4-20 : 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 訂正可能エラー カウンター レジスタ

(0x10 ~ 0x9C) 予約

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 訂正可能エラーの 初のエラー データ レジスタ

(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 訂正不能エラーの 初のエラー データ レジスタ

0x20C UE_FFD[127:96](1) R 0x0 訂正不能エラーの 初のエラー データ レジスタ

(0x210 ~ 0x27C) 予約

0x280 UE_FFE R 0x0 訂正不能エラーの 初のエラー ECC レジスタ

Page 97: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 97PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

AXI4-Lite スレーブ制御/ステータス レジスタ マップの詳細

ECC_STATUS

このレジスタには、 訂正可能および訂正不能エラーの発生に関する情報を格納します。 これらのステータス ビッ トは、 訂正可能/訂正不能エラーの 初の発生時に個別に 1 にセッ ト されます。 これらのステータス ビッ トは、 それぞれのビッ ト位置に 1 を書き込むと 0 にク リ アされます。つま り これらのステータス ビッ トは、レジスタへの書き込みによって 0 にク リ アできるだけで、 1 にセッ トするこ とはできません。 ECC ステータス レジスタは ECC 割り込みイネーブルレジスタ とは独立して動作します。

(0x284 ~ 0x2BC) 予約

0x2C0 UE_FFA[31:0] R 0x0 訂正不能エラーの 初のエラー アドレス

0x2C4 UE_FFA[63:32](2) R 0x0 訂正不能エラーの 初のエラー アドレス

(0x2C8 ~ 0x2FC) 予約

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 フォルト挿入データ レジスタ

(0x340 ~ 0x37C) 予約

0x380 FI_ECC(3) W 0x0 フォルト挿入 ECC レジスタ

注記 :

1. データ ビッ ト 64 ~ 127 は DQ 幅が 144 ビッ トの場合のみ有効です。

2. アドレス ビッ ト 63 ~ 32 のレポートは、 アドレス マップが 32 ビッ ト を超える場合のみ利用できます。

3. FI_D* および FI_ECC* は ECC_TEST パラ メーターを 1 に設定した場合のみ有効です。

表 4-20 : ECC 制御レジスタ マップ (続き)

アドレス オフセッ ト レジスタ名アクセス タイプ

デフォルト値

説明

表 4-21 : ECC ステータス レジスタ (ECC_STATUS)

31 2 1 0

予約 ECC_STATUS

表 4-22 : ECC ステータス レジスタのビッ ト定義

ビッ ト 名前 コア アクセス

リセッ ト値 説明

1 CE_STATUS R/W 0 1 の場合、訂正可能なエラーが発生したこ とを示します。 このビッ ト位置に 1 を書き込むと このビッ トはク リ アされます。

0 UE_STATUS R/W 0 1 の場合、訂正不能なエラーが発生したこ とを示します。 このビッ ト位置に 1 を書き込むと このビッ トはク リ アされます。

Page 98: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 98PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

ECC_EN_IRQ

このレジスタは、ECC ステータス レジスタの CE_STATUS および UE_STATUS ビッ トの値によって割り込み出力信号(ECC_Interrupt) をアサートするかど うかを決定します。CE_EN_IRQ と UE_EN_IRQ をどちらも 1 (有効) にセッ ト した場合、 割り込み信号の値は CE_STATUS ビッ ト と UE_STATUS ビッ トの論理和とな り ます。

ECC_ON_OFF

ECC On/Off 制御レジスタは、 アプ リ ケーシ ョ ンから ECC チェ ッ クの有効/無効を切り替えるために使用します。 リセッ ト時に ECC を有効にするか無効にするかは、 デザイン パラ メーター C_ECC_ONOFF_RESET_VALUE で決定します (デフォルトでは有効)。 これによ り、 外部メモ リで ECC が初期化されているかど うかわからない場合のスタート アップ動作が容易になり ます。無効の場合、読み出しの ECC チェッ クは無効になり ますが、書き込みに対する ECC生成は有効です。

表 4-23 : ECC 割り込みイネーブル レジスタ (ECC_EN_IRQ)

31 2 1 0

予約 ECC_EN_IRQ

表 4-24 : 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ビッ トの値は割り込み信号へ伝搬しません。

表 4-25 : ECC On/Off 制御レジスタ (ECC_ON_OFF)

31 1 0

予約 ECC_ON_OFF

表 4-26 : ECC On/Off 制御レジスタのビッ ト定義

ビッ ト 名前 コア アクセス

リセッ ト値 説明

0 ECC_ON_OFF R/W デザイン パラ メーター C_ECC_ONOFF_RESET_VALUE で指定

0 の場合、 読み出し動作での ECC チェッ クを無効にします (C_ECC = 1 の場合、 書き込み動作では ECC 生成が有効)。1 の場合、読み出し動作での ECC チェッ クを有効にします。訂正可能および訂正不能エラー条件はすべてキャプチャされ、 ステータスが更新されます。

Page 99: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 99PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

CE_CNT

このレジスタは、 訂正可能エラーの発生回数をカウン ト します。 このレジスタへの書き込みによって、 カウンターをク リ アするこ と も、 特定の値にプリセッ トするこ と もできます。 カウンターが 大値に達する と、 折り返しをせず大値のままインク リ メン ト を停止します。 このカウンターの幅は C_CE_COUNTER_WIDTH パラ メーターの値で設定します。 CE カウンター幅の値は 8 ビッ トで固定されています。

CE_FFA[31:0]

このレジスタは、 初に発生した訂正可能エラーのアドレス (ビッ ト [31:0]) を格納します。 ECC ステータス レジスタの CE_STATUS ビッ ト をク リ アする と このレジスタは再び有効になり、 次に発生する訂正可能エラーのアドレスを格納します。 エラー アドレスの格納はリセッ ト後に有効になり ます。

CE_FFA[63:32]

注記 : C_S_AXI_ADDR_WIDTH < 33 の場合、 このレジスタは使用しません。

このレジスタは、 初に発生した訂正可能エラーのアドレス (ビッ ト [63:32]) を格納します。 ECC ステータス レジスタの CE_STATUS ビッ ト をク リ アする と このレジスタは再び有効になり、 次に発生する訂正可能エラーのアドレスを格納します。 エラー アドレスの格納はリセッ ト後に有効になり ます。

表 4-27 : 訂正可能エラー カウンター レジスタ (CE_CNT)

31 8 7 0

予約 CE_FFA[31:0]

表 4-28 : 訂正可能エラー カウンター レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

7:0 CE_CNT R/W 0 訂正可能エラーの発生回数を格納します。

表 4-29 : 訂正可能エラーの最初のエラー アドレス レジスタ (CE_FFA[31:0])

31 0

CE_FFA[31:0]

表 4-30 : 訂正可能エラーの最初のエラー アドレス [31:0] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 CE_FFA[31:0] R 0 初に発生した訂正可能エラーのアドレス (ビッ ト [31:0])。

表 4-31 : 訂正可能エラーの最初のエラー アドレス レジスタ (CE_FFA[63:32])

31 0

CE_FFA[63:32]

表 4-32 : 訂正可能エラーの最初のエラー アドレス [63:32] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 CE_FFA[63:32] R 0 初に発生した訂正可能エラーのアドレス (ビッ ト [63:32])。

Page 100: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 100PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

CE_FFD[31:0]

このレジスタは、 初に発生した訂正可能エラーの (訂正済み) エラー データ (ビッ ト [31:0]) を格納します。 ECC ステータス レジスタの CE_STATUS ビッ ト をク リ アする と このレジスタは再び有効にな り、 次に発生する訂正可能エラーのデータを格納します。 エラー データの格納はリセッ ト後に有効になり ます。

CE_FFD[63:32]

このレジスタは、 初に発生した訂正可能エラーの (訂正済み) エラー データ (ビッ ト [63:32]) を格納します。 ECC ステータス レジスタの CE_STATUS ビッ ト をク リ アする と このレジスタは再び有効にな り、 次に発生する訂正可能エラーのデータを格納します。 エラー データの格納はリセッ ト後に有効になり ます。

CE_FFD[95:64]

注記 : このレジスタは、 DQ_WIDTH == 144 の場合のみ使用します。

このレジスタは、 初に発生した訂正可能エラーの (訂正済み) エラー データ (ビッ ト [95:64]) を格納します。 ECC ステータス レジスタの CE_STATUS ビッ ト をク リ アする と このレジスタは再び有効にな り、 次に発生する訂正可能エラーのデータを格納します。 エラー データの格納はリセッ ト後に有効になり ます。

表 4-33 : 訂正可能エラーの最初のエラー データ レジスタ (CE_FFD[31:0])

31 0

CE_FFD[31:0]

表 4-34 : 訂正可能エラーの最初のエラー データ [31:0] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 CE_FFD[31:0] R 0 初に発生した訂正可能エラーのデータ (ビッ ト [31:0])

表 4-35 : 訂正可能エラーの最初のエラー データ レジスタ (CE_FFD[63:32])

31 0

CE_FFD[63:32]

表 4-36 : 訂正可能エラーの最初のエラー データ [63:32] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 CE_FFD[63:32] R 0 初に発生した訂正可能エラーのデータ (ビッ ト [63:32])

表 4-37 : 訂正可能エラーの最初のエラー データ レジスタ (CE_FFD[95:64])

31 0

CE_FFD[95:64]

表 4-38 : 訂正可能エラーの最初のエラー データ [95:64] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 CE_FFD[95:64] R 0 初に発生した訂正可能エラーのデータ (ビッ ト [95:64])

Page 101: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 101PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

CE_FFD[127:96]

注記 : このレジスタは、 DQ_WIDTH == 144 の場合のみ使用します。

このレジスタは、 初に発生した訂正可能エラーの (訂正済み) エラー データ (ビッ ト [127:96]) を格納します。 ECCステータス レジスタの CE_STATUS ビッ ト をク リ アする と このレジスタは再び有効になり、次に発生する訂正可能エラーのデータを格納します。 エラー データの格納はリセッ ト後に有効になり ます。

CE_FFE

このレジスタは、 初に発生した訂正可能エラーの ECC ビッ ト を格納します。ECC ステータス レジスタの CE_STATUSビッ ト をク リ アする と、 このレジスタは再び有効になり、 次に発生する訂正可能エラーの ECC を格納します。 エラーECC の格納はリセッ ト後に有効になり ます。

表 4-41 および表 4-42 に、 DQ_WIDTH = 72 の場合のレジスタ ビッ トの使用を示します。

表 4-43 および表 4-44 に、 DQ_WIDTH = 144 の場合のレジスタ ビッ トの使用を示します。

表 4-39 : 訂正可能エラーの最初のエラー データ レジスタ (CE_FFD[127:96])

31 0

CE_FFD[127:96]

表 4-40 : 訂正可能エラーの最初のエラー データ [127:96] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 CE_FFD[127:96] R 0 初に発生した訂正可能エラーのデータ (ビッ ト [127:96])

表 4-41 : 72 ビッ ト幅外部メモリの場合の訂正可能エラーの最初のエラー ECC レジスタ (CE_FFE)

31 8 7 0

予約 CE_FFE

表 4-42 : 72 ビッ ト幅外部メモリの場合の訂正可能エラーの最初のエラー ECC レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

7:0 CE_FFE R 0 初に発生した訂正可能エラーの ECC (ビッ ト [7:0])

表 4-43 : 144 ビッ ト幅外部メモリの場合の訂正可能エラーの最初のエラー ECC レジスタ (CE_FFE)

31 16 15 0

予約 CE_FFE

表 4-44 : 144 ビッ ト幅外部メモリの場合の訂正可能エラーの最初のエラー ECC レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

15:0 CE_FFE R 0 初に発生した訂正可能エラーの ECC (ビッ ト [15:0])

Page 102: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 102PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

UE_FFA[31:0]

このレジスタは、 初に発生した訂正不能エラーのアドレス (ビッ ト [31:0]) を格納します。 ECC ステータス レジスタの UE_STATUS ビッ ト をク リ アする と このレジスタは再び有効になり、次に発生する訂正不能エラーのアドレスを格納します。 エラー アドレスの格納はリセッ ト後に有効になり ます。

UE_FFA[63:32]

注記 : C_S_AXI_ADDR_WIDTH < 33 の場合、 このレジスタは使用しません。

このレジスタは、 初に発生した訂正不能エラーのアドレス (ビッ ト [63:32]) を格納します。 ECC ステータス レジスタの UE_STATUS ビッ ト をク リ アする と このレジスタは再び有効になり、次に発生する訂正不能エラーのアドレスを格納します。 エラー アドレスの格納はリセッ ト後に有効になり ます。

UE_FFD[31:0]

このレジスタは、 初に発生した訂正不能エラーの (未訂正の) エラー データ (ビッ ト [31:0]) を格納します。 ECC ステータス レジスタの UE_STATUS ビッ ト をク リ アする と このレジスタは再び有効にな り、 次に発生する訂正不能エラーのデータを格納します。 エラー データの格納はリセッ ト後に有効になり ます。

表 4-45 : 訂正不能エラーの最初のエラー データ レジスタ (UE_FFA[31:0])

31 0

UE_FFA[31:0]

表 4-46 : 訂正不能エラーの最初のエラー アドレス [31:0] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 UE_FFA[31:0] R 0 初に発生した訂正不能エラーのアドレス (ビッ ト [31:0])

表 4-47 : 訂正不能エラーの最初のエラー データ レジスタ (UE_FFA[63:32])

31 0

UE_FFA[63:32]

表 4-48 : 訂正不能エラーの最初のエラー アドレス [31:0] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 UE_FFA[63:32] R 0 初に発生した訂正不能エラーのアドレス (ビッ ト [63:32])

表 4-49 : 訂正不能エラーの最初のエラー データ レジスタ (UE_FFD[31:0])

31 0

UE_FFD[31:0]

表 4-50 : 訂正不能エラーの最初のエラー データ [31:0] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 UE_FFD[31:0] R 0 初に発生した訂正不能エラーのデータ (ビッ ト [31:0])

Page 103: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 103PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

UE_FFD[63:32]

このレジスタは、 初に発生した訂正不能エラーの (未訂正の) エラー データ (ビッ ト [63:32]) を格納します。 ECC ステータス レジスタの UE_STATUS ビッ ト をク リ アする と このレジスタは再び有効にな り、 次に発生する訂正不能エラーのデータを格納します。 エラー データの格納はリセッ ト後に有効になり ます。

UE_FFD[95:64]

注記 : このレジスタは、 DQ_WIDTH == 144 の場合のみ使用します。

このレジスタは、 初に発生した訂正不能エラーの (未訂正の) エラー データ (ビッ ト [95:64]) を格納します。 ECC ステータス レジスタの UE_STATUS ビッ ト をク リ アする と このレジスタは再び有効にな り、 次に発生する訂正不能エラーのデータを格納します。 エラー データの格納はリセッ ト後に有効になり ます。

UE_FFD[127:96]

注記 : このレジスタは、 DQ_WIDTH == 144 の場合のみ使用します。

このレジスタは、 初に発生した訂正不能エラーの (未訂正の) エラー データ (ビッ ト [127:96]) を格納します。 ECCステータス レジスタの UE_STATUS ビッ ト をク リ アする と このレジスタは再び有効になり、次に発生する訂正不能エラーのデータを格納します。 エラー データの格納はリセッ ト後に有効になり ます。

表 4-51 : 訂正不能エラーの最初のエラー データ レジスタ (UE_FFD[63:32])

31 0

UE_FFD[63:32]

表 4-52 : 訂正不能エラーの最初のエラー データ [63:32] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 UE_FFD[63:32] R 0 初に発生した訂正不能エラーのデータ (ビッ ト [63:32])

表 4-53 : 訂正不能エラーの最初のエラー データ レジスタ (UE_FFD[95:64])

31 0

UE_FFD[95:64]

表 4-54 : 訂正不能エラーの最初のエラー データ [95:64] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 UE_FFD[95:64] R 0 初に発生した訂正不能エラーのデータ (ビッ ト [95:64])

表 4-55 : 訂正不能エラーの最初のエラー データ レジスタ (UE_FFD[127:96])

31 0

UE_FFD[127:96]

表 4-56 : 訂正不能エラーの最初のエラー データ [127:96] レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 UE_FFD[127:96] R 0 初に発生した訂正不能エラーのデータ (ビッ ト [127:96])

Page 104: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 104PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

UE_FFE

このレジスタは、 初に発生した訂正不能エラーの ECC ビッ ト を格納します。ECC ステータス レジスタの UE_STATUSビッ ト をク リ アする と このレジスタは再び有効にな り、 次に発生する訂正不能エラーの ECC を格納します。 エラーECC の格納はリセッ ト後に有効になり ます。

表 4-57 および表 4-58 に、 DQ_WIDTH = 72 の場合のレジスタ ビッ トの使用を示します。

表 4-59 および表 4-60 に、 DQ_WIDTH = 144 の場合のレジスタ ビッ トの使用を示します。

FI_D0

このレジスタは、 メモ リに書き込まれるデータ ビッ ト [31:0] にエラーを挿入するために使用します。 また、エラー訂正およびエラー信号のテス トにも使用できます。 このレジスタのビッ ト をセッ トする と、次にメモリに書き込まれるデータ ビッ ト (ワード 0 またはビッ ト [31:0]) は対応するビッ ト位置が ト グルし、 ECC ビッ トは元のまま メモ リに書き込まれます。 フォルトが挿入される と、 フォルト挿入データ レジスタは自動的にク リ アされます。

このレジスタは、 Vivado IP カタログの MIG デザインで C_ECC_TEST = “ON” または ECC_TEST_FI_XOR = “ON” かつ ECC = “ON” と設定した場合のみインプ リ メン ト されます。

フォルトの挿入はソフ ト ウェアのク リ ティカルな領域で実行する必要があ り ます。つま り、 このレジスタへの書き込みとそれに続く メモ リへの書き込みが中断されないよ うにします。

FI_D0、 FI_D1、 FI_D2、 FI_D3 によって 1 つのエラー条件のみが挿入されるよ うに注意する必要があ り ます。

表 4-57 : 72 ビッ ト幅外部メモリの場合の訂正不能エラーの最初のエラー ECC レジスタ (UE_FFE)

31 8 7 0

予約 UE_FFE

表 4-58 : 72 ビッ ト幅外部メモリの場合の訂正不能エラーの最初のエラー ECC レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

7:0 UE_FFE R 0 初に発生した訂正不能エラーの ECC (ビッ ト [7:0])

表 4-59 : 144 ビッ ト幅外部メモリの場合の訂正不能エラーの最初のエラー ECC レジスタ (UE_FFE)

31 16 15 0

予約 UE_FFE

表 4-60 : 144 ビッ ト幅外部メモリの場合の訂正不能エラーの最初のエラー ECC レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

15:0 UE_FFE R 0 初に発生した訂正不能エラーの ECC (ビッ ト [15:0])

表 4-61 : フォルト挿入データ レジスタ (FI_D0)

31 0

FI_D0

表 4-62 : フォルト挿入データ (ワード 0) レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 FI_D0 W 0 1 にセッ トする と、 次のデータ ワードはそのビッ ト位置に対応するビッ ト [31:0] がト グルしてメモ リに書き込まれます。 フォルト を挿入後、 このレジスタは自動的にク リ アされます。

Page 105: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 105PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

FI_D1

このレジスタは、 メモ リに書き込まれるデータ ビッ ト [63:32] にエラーを挿入するために使用します。 また、 エラー訂正およびエラー信号のテス トにも使用できます。 このレジスタのビッ ト をセッ トする と、次にメモリに書き込まれるデータ ビッ ト (ワード 1 またはビッ ト [63:32]) は対応するビッ ト位置がト グルし、 ECC ビッ トは元のまま メモ リに書き込まれます。 フォルトが挿入される と、 フォルト挿入データ レジスタは自動的にク リ アされます。

このレジスタは、 Vivado IP カタログの MIG デザインで C_ECC_TEST = “ON” または ECC_TEST_FI_XOR = “ON” かつ ECC = “ON” と設定した場合のみインプ リ メン ト されます。

フォルトの挿入はソフ ト ウェアのク リ ティカルな領域で実行する必要があ り ます。つま り、 このレジスタへの書き込みとそれに続く メモ リへの書き込みが中断されないよ うにします。

FI_D2

注記 : このレジスタは、 DQ_WIDTH = 144 の場合のみ使用します。

このレジスタは、 メモ リに書き込まれるデータ ビッ ト [95:64] にエラーを挿入するために使用します。 また、 エラー訂正およびエラー信号のテス トにも使用できます。 このレジスタのビッ ト をセッ トする と、次にメモリに書き込まれるデータ ビッ ト (ワード 2 またはビッ ト [95:64]) は対応するビッ ト位置がト グルし、 ECC ビッ トは元のまま メモ リに書き込まれます。 フォルトが挿入される と、 フォルト挿入データ レジスタは自動的にク リ アされます。

このレジスタは、 Vivado IP カタログの MIG デザインで C_ECC_TEST = “ON” または ECC_TEST_FI_XOR = “ON” かつ ECC = “ON” と設定した場合のみインプ リ メン ト されます。

フォルトの挿入はソフ ト ウェアのク リ ティカルな領域で実行する必要があ り ます。つま り、 このレジスタへの書き込みとそれに続く メモ リへの書き込みが中断されないよ うにします。

FI_D0、 FI_D1、 FI_D2、 FI_D3 によって 1 つのエラー条件のみが挿入されるよ うに注意する必要があ り ます。

表 4-63 : フォルト挿入データ レジスタ (FI_D1)

31 0

FI_D1

表 4-64 : フォルト挿入データ (ワード 1) レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 FI_D1 W 0 1 にセッ トする と、 次のデータ ワードはそのビッ ト位置に対応するビッ ト [63:32] がト グルしてメモ リに書き込まれます。フォルト を挿入後、 このレジスタは自動的にク リ アされます。

表 4-65 : フォルト挿入データ レジスタ (FI_D2)

31 0

FI_D2

表 4-66 : フォルト挿入データ (ワード 2) レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 FI_D2 W 0 1 にセッ トする と、 次のデータ ワードはそのビッ ト位置に対応するビッ ト [95:64] がト グルしてメモリに書き込まれます。 フォルト を挿入後、 このレジスタは自動的にク リ アされます。

Page 106: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 106PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

FI_D3

注記 : このレジスタは、 DQ_WIDTH = 144 の場合のみ使用します。

このレジスタは、 メモ リに書き込まれるデータ ビッ ト [127:96] にエラーを挿入するために使用します。 また、エラー訂正およびエラー信号のテス トにも使用できます。 このレジスタのビッ ト をセッ トする と、次にメモリに書き込まれるデータ ビッ ト (ワード 3 またはビッ ト [127:96]) は対応するビッ ト位置が ト グルし、 ECC ビッ トは元のまま メモ リに書き込まれます。 フォルトが挿入される と、 フォルト挿入データ レジスタは自動的にク リ アされます。

このレジスタは、 Vivado IP カタログの MIG デザインで C_ECC_TEST = “ON” または ECC_TEST_FI_XOR = “ON” かつ ECC = “ON” と設定した場合のみインプ リ メン ト されます。

フォルトの挿入はソフ ト ウェアのク リ ティカルな領域で実行する必要があ り ます。つま り、 このレジスタへの書き込みとそれに続く メモ リへの書き込みが中断されないよ うにします。

FI_ECC

このレジスタは、 メモ リに書き込まれる生成済み ECC にエラーを挿入するために使用します。 また、 エラー訂正およびエラー信号のテス トにも使用できます。 このレジスタのビッ ト を 1 にセッ トする と、次のデータはそのビッ ト位置に対応する ECC ビッ トが ト グルしてメモ リに書き込まれます。 フォルトが挿入される と、 フォルト挿入 ECC レジスタは自動的にク リ アされます。

このレジスタは、 Vivado IP カタログの MIG デザインで C_ECC_TEST = “ON” または ECC_TEST_FI_XOR = “ON” かつ ECC = “ON” と設定した場合のみインプ リ メン ト されます。

フォルトの挿入はソフ ト ウェアのク リ ティカルな領域で実行する必要があ り ます。つま り、 このレジスタへの書き込みとそれに続く メモ リへの書き込みが中断されないよ うにします。

表 4-69 および表 4-70 に、 DQ_WIDTH = 72 の場合のレジスタ ビッ トの使用を示します。

表 4-67 : フォルト挿入データ レジスタ (FI_D3)

31 0

FI_D3

表 4-68 : フォルト挿入データ (ワード 3) レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

31:0 FI_D3 W 0

1 にセッ トする と、 次のデータ ワードはそのビッ ト位置に対応するビッ ト [127:96] がト グルしてメモ リに書き込まれます。 フォルト を挿入後、 このレジスタは自動的にク リ アされます。

表 4-69 : 72 ビッ ト幅外部メモリの場合のフォルト挿入 ECC レジスタ (FI_FFE)

31 8 7 0

予約 FI_ECC

表 4-70 : 72 ビッ ト幅外部メモリの場合のフォルト挿入 ECC レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

7:0 FI_ECC W 0 1 にセッ ト する と、 次の ECC はそのビ ッ ト 位置に対応するビッ ト が ト グルしてメモ リに書き込まれます。 フォル ト を挿入後、 このレジスタは自動的にク リ アされます。

Page 107: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 107PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

表 4-71 および表 4-72 に、 DQ_WIDTH = 144 の場合のレジスタ ビッ トの使用を示します。

PHY のみのインターフェイス

このセクシ ョ ンでは、 DDR3 および DDR4 PHY の FPGA ロジッ ク インターフェイス信号および主要なパラ メーターについて説明します。 こ こでの目標は、 MIG で生成したメモ リ コン ト ローラーのユーザー インターフェイスまたはAXI インターフェイスを利用するのではなく、 「PHY のみ」 のソ リ ューシ ョ ンをインプリ メン ト してカスタム メモ リコン ト ローラーを MIG で生成した PHY に直接接続するこ とにあ り ます。PHY インターフェイスは入力ポートでアクティベート、 プ リチャージ、 リ フレッシュなどの DRAM コマンドを受け取り、 これらをそのまま DRAM バスへ発行します。

PHY には、 ユーザー インターフェイスや AXI インターフェイスのよ うに 「メモ リ ト ランザクシ ョ ン」 を受け取ってDRAM プロ ト コル/タイ ミ ング要件を満たした 1 つ以上の DRAM コマンドに変換する機能はあ り ません。 PHY インターフェイスは DRAM プロ ト コル/タイ ミ ング チェクを実行しません。 PHY のみのソ リ ューシ ョ ンを使用する場合は、システムで使用するすべての DRAM コンポーネン トについて DRAM プロ ト コル要件およびタイ ミ ング仕様を完全に満たすよ うユーザーが注意する必要があ り ます。

PHY はシステム ク ロ ッ ク周波数、 すなわち DRAM ク ロ ッ ク周波数の 1/4 で動作します。 したがって、 PHY は 1 システム ク ロ ッ クあた り 4 つの DRAM コマン ド を受け取り、 これらを連続する DRAM ク ロ ッ ク サイ クルで逐次的にDRAM バスへ発行します。 つま り、 PHY インターフェイスには 4 つのコマンド スロ ッ ト (スロ ッ ト 0 ~ 3) があ り、これらを 1 システム ク ロ ッ クで受け取り ます。 スロ ッ ト 0 のコマンドが 初に DRAM バスに発行され、 スロ ッ ト 3のコマンドが 後に発行されます。 PHY には、 読み出しおよび書き込み CAS コマンドを受け取るスロ ッ トに関して制約があ り ます。 詳細は、 125 ページの 「CAS コマンドのタイ ミ ングに関する制約」 を参照して ください。 CAS コマンド以外の DRAM コマンドについては、 どのスロ ッ ト も任意の DRAM コマンドを受け取るこ とができます。

PHY の FPGA ロジッ ク インターフェイスには、DDR3 または DDR4 バスの各ピンに対して入力ポートが 1 つあり ます。各 PHY コマンド /アドレス入力ポートの幅は、対応する DRAM バス ピンの 8 倍です。たとえば DDR4 バスには act_nピンが 1 つあり、PHY には 8 ビッ ト幅の mc_ACT_n 入力ポートが 1 つあり ます。mc_ACT_n ポートの各ビッ ト ペアが「コマンド スロ ッ ト 」 に対応します。 下位 2 ビッ トがスロ ッ ト 0 で、 上位 2 ビッ トがスロ ッ ト 3 です。 18 本のアドレス ピンを持つ DDR4 デザインの PHY アドレス入力ポートは 144 ビッ ト幅で、 各バイ トが 1 本の DDR4 アドレス ピンの 4 つのコマンド スロッ トに対応します。 PHY の各入力ポートの各コマンド スロッ トに対して 2 ビッ トがあ り ます。これは、 PHY の基本設計およびダブル データ レート データ バスをサポート しているこ とに理由があり ます。 しかしDRAM コマンド /アドレス バスはシングル データ レートであるため、 1 つのコマンド スロッ トに対応する 2 ビッ トは常に同じ値に駆動する必要があ り ます。 詳細は、 この後に示すインターフェイスの表、 および各バイ ト と ビ ッ ト がDRAM ピンと コマンド スロッ トにどのよ うに対応するかを例示したタイ ミ ング図を参照してください。

PHY インターフェイスには、 各 DRAM DQ ピンに対して 8 ビッ トの読み出しおよび書き込みデータ ポートがあ り ます。 各ポート ビッ トが BL8 バース トにおける DDR DRAM バス上の 1 データ ビッ ト を表します。 したがって、 1 システム ク ロ ッ クで DQ バス全体に対する 1 回の BL8 データ バース トが PHY インターフェイスで転送されます。PHYは BL8 データ転送のみをサポート します。データ フォーマッ トは、ユーザー インターフェイスのデータ フォーマット と同じです。 詳細は、 24 ページの 「PHY」 を参照してください。

表 4-71 : 144 ビッ ト幅外部メモリの場合のフォルト挿入 ECC レジスタ (FI_FFE)

31 16 15 0

予約 FI_ECC

表 4-72 : 144 ビッ ト幅外部メモリの場合のフォルト挿入 ECC レジスタのビッ ト定義

ビッ ト 名前 コア アクセス リセッ ト値 説明

15:0 FI_ECC R 0 1 にセッ ト する と、 次の ECC はそのビ ッ ト 位置に対応するビッ ト が ト グルしてメモ リに書き込まれます。 フォル ト を挿入後、 このレジスタは自動的にク リ アされます。

Page 108: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 108PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

PHY インターフェイスにはいくつかの制御信号もあ り、 読み出しまたは書き込み CAS コマンド発行時に駆動または応答する必要があ り ます。PHY はこれらの制御信号を使用して PHY インターフェイス と DRAM バス間の読み出しおよび書き込みデータ転送を管理します。 詳細はこの後に示す信号表およびタイ ミ ング図を参照してください。

カスタム メモ リ コン ト ローラーで DRAM コマンドを PHY へ送信する場合は、 PHY の calDone 出力がアサート されるまで待つ必要があ り ます。 PHY は DRAM の初期化と ト レーニングが完了する と calDone をアサート します。PHY 内部構造およびト レーニング アルゴ リズムの詳細は、 24 ページの 「PHY」 を参照してください。 calDone がアサート される と、 PHY で DRAM コマンドを受け取る準備ができます。 DRAM または PHY コマンドの うち、 必須なのは VT ト ラ ッキングおよび DRAM リ フレッシュ /ZQ に関するコマンドのみです。 これら要件の詳細は、 126 ページの 「VT ト ラ ッキング」 および 127 ページの 「リ フレッシュおよび ZQ」 を参照してください。

PHY インターフェイス信号

FPGA ロジッ クに対する PHY インターフェイス信号は、 次の 6 つのグループに分類できます。

• ク ロ ッ ク / リセッ ト

• コマンド /アドレス

• 書き込みデータ

• 読み出しデータ

• PHY 制御

• デバッグ

クロ ッ ク / リセッ ト信号とデバッグ信号については、ほかのセクシ ョ ンまたは文書で説明します。詳細は、 これらを参照してください。 こ こでは、 それ以外の 4 つのグループの各信号について説明し、 実際の信号の使用例をタイ ミ ング図で示します。

クロック/リセッ ト

ク ロ ッ ク / リセッ ト信号の詳細は、 61 ページの 「ク ロ ッキング」 を参照してください。

コマンド /アドレス

表 4-73 に、 PHY のみのインターフェイスのコマンド /アドレス信号を示します。

表 4-73 : コマンド /アドレス信号

信号 方向 説明

mc_ACT_n[7:0] 入力

4 DRAM ク ロ ッ ク サイクルに対する DRAM ACT_n コマンド信号。 ビッ ト[1:0] が 1 番目、 ビッ ト [3:2] が 2 番目、 ビッ ト [5:4] が 3 番目、 ビッ ト [8:7]が 4 番目の DRAM ク ロ ッ ク サイクルにそれぞれ対応します。1N タイ ミ ングで DRAM ク ロ ッ ク とセンター アラインするために、 各ビット ペアは両方のビッ ト を同じ値にアサートする必要があ り ます。詳細は、 タイ ミ ング図に示した例を参照して ください。 この表に示したコマンド /アドレス ポートはすべて各 DRAM ピンに対して 8 ビッ トが割り当てられた共通のフォーマッ ト を採用しています。 アクティブ Low。 この信号は DDR3 システムでは使用しません。

Page 109: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 109PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

図 4-10 に、 PHY コマンド /アドレス入力信号と DDR4 コマンド /アドレス バスの機能の関係を示します。 このタイ ミング図では、 システム ク ロ ッ ク サイクル N でスロ ッ ト 1 の位置にアクティベート コマンドが発行されています。 サイ クル N で mc_ACT_n[3:2] と mc_CS_n[3:2] はどちら も Low にアサート され、 それ以外のビッ トはすべて Highにアサート されています。その約 2 システム ク ロ ッ ク後にスロ ッ ト 1 の位置にアクティベート コマンドが生成され、ほかのコマンド スロ ッ トには NOP/DESELECT コマンドが生成されています。

サイ クル N + 3 で、mc_CS_n ビッ ト と CAS/A15 に対応する mc_ADR ビッ トが 0xFC に設定されます。これによ り、サイ クル N + 3 で mc_ADR[121:120] と mc_CS_n[1:0] が Low にアサート され、 それ以外のビッ トはすべて High にアサート されています。その 2 システム ク ロ ッ ク後にスロ ッ ト 0 で読み出しコマンドが生成され、それ以外のコマンド スロ ッ トでは NOP/DESELECT コマンドが生成されています。アクティベート コマンド と読み出しコマンドの間隔は 3 システム ク ロ ッ ク サイクル離れており、システム ク ロ ッ ク サイクル内でのそれぞれのコマンドのスロ ッ ト位置を考慮する と、 DDR4 バス上での間隔は 11 DRAM ク ロ ッ ク サイクルと見積もるこ とができます (図 4-10)。

mc_ADR[ADDR_WIDTH × 8 – 1:0] 入力

DRAM アドレス。 DRAM バスの各アドレス ビッ トに PHY インターフェイスの 8 ビッ トが対応。ビッ ト [7:0] は 4 DRAM クロ ッ ク サイクルの DRAM アドレス ビッ ト [0] に対応し、ビッ ト [15:8] は 4 DRAM クロ ッ ク サイクルの DRAM アドレス ビット [1] に対応 (以下同様)。詳細は、タイ ミ ング図に示した例を参照してください。この表に示した複数ビッ トの DRAM 信号はすべて同じフォーマッ トで、 1 バイ トの PHY インターフェイス ポートが 1 本の DRAM ピンの 4 つのコマンドに対応します。発行される DRAM コマンドのタイプによってアクティブ Low/High が混在しますが、 DRAM ピンのアクテ ィブ High/Low 動作に従います。 mc_ADRポートの各バイ トの機能はメモリ タイプが DDR4 か DDR3 か、 および発行される DRAM コマンドによって決ま り ます。これらの機能は DRAM アドレス ピンの機能に一致します。たとえば DDR4 メモ リで mc_ACT_n ポート ビッ ト を High にアサート した場合、 mc_ADR[135:112] は RAS_n、 CAS_n、 WE_n ピンの機能となり ます。

mc_RAS_n[7:0] 入力 DDR3 DRAM RAS_n ピン。 DDR4 システムでは使用しません。

mc_CAS_n[7:0] 入力 DDR3 DRAM CAS_n ピン。 DDR4 システムでは使用しません。

mc_WE_n[7:0] 入力 DDR3 DRAM WE_n ピン。 DDR4 システムでは使用しません。

mc_BA[BANK_WIDTH × 8 – 1:0] 入力 DRAM バンク アドレス。 各 DRAM バンク アドレスに対して 8 ビッ ト 。

mc_BG[BANK_GROUP_WIDTH × 8 – 1:0] 入力 DRAM バンク グループ アドレス。 各 DRAM ピンに対して 8 ビッ ト 。

mc_CKE[CKE_WIDTH × 8 – 1:0] 入力 DRAM CKE。 各 DRAM ピンに対して 8 ビッ ト 。

mc_CS_n[CS_WIDTH × 8 – 1:0] 入力 DRAM CS_n。 各 DRAM ピンに対して 8 ビッ ト 。 アクティブ Low。

mc_ODT[ODT_WIDTH × 8– 1:0] 入力 DRAM ODT。 各 DRAM ピンに対して 8 ビッ ト。 アクティブ High。

mc_PAR[7:0] 入力DRAM アドレス パリティ。1 本の DRAM パリティ ピンに対して 8 ビッ ト 。

注記 : この信号は RDIMM の場合のみ有効です。

表 4-73 : コマンド /アドレス信号 (続き)

信号 方向 説明

Page 110: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 110PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

注記 : 図 4-10 は、 PHY 入力信号に基づく DDR バス上でのコマンドの相対位置を示しています。 この図は PHY を通過する際のレイテンシをある程度まで実際に即して表示していますが、PHY から DDR バスまでのコマンド レイテンシやシステム ク ロ ッ ク と DRAM ク ロ ッ クの位相アライ メン ト を完全に正確には表していません。 この図は、 PHY インターフェイスのコマンド スロ ッ トの概念を示すこ とを目的と しています。

図 4-11 に、 1 システム ク ロ ッ クで 4 つのコマンド スロ ッ トすべてを使用した例を示します。 この例では、 サイクルN でランク 0 に対して 3 つのコマンド、 ランク 1 に対して 1 つのコマンドを発行しています。DRAM プロ ト コルに違反しないよ う、コマンドを異なるバンクに分散させるため、この図には BG および BA アドレス ピンを含めています。表 4-74 に、 各コマンド スロ ッ トのコマンドを示します。

X-Ref Target - Figure 4-10

図 4-10 : PHY コマンド /アドレス入力信号と DDR4 コマンド /アドレス バスの関係

表 4-74 : コマンド スロッ ト

コマンド スロッ ト 0 1 2 3

DRAM コマンド 読み出し アクティベート プ リチャージ リ フレッシュ

バンク グループ 0 1 2 0

バンク 0 3 1 0

ランク 0 0 0 1

Page 111: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 111PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

異なるコマンド スロ ッ トに対する DRAM コマンドがどのよ うに結合されるかを理解するため、PHY インターフェイスでの DRAM コマンドを DRAM コマンド /アドレス バス上のコマンドに変換する方法を例と して示します。 PHY インターフェイスのコマンドを DRAM コマンドに変換するには、1 システム ク ロ ッ ク期間の PHY 信号を 2 進数で書き出し、バイ ト単位でビッ トの並び順を逆転します。 ビッ ト ペアは同じ値とする必要があるため、並び順を逆転した後のビッ トは 1 つおきに破棄できます。次に示す例では、サイクル N での mc_BA[15:0] 信号の値を 0x0C3C と します。

X-Ref Target - Figure 4-11

図 4-11 : 4 つのコマンド スロッ ト をすべて使用した PHY コマンド /アドレス

16 進数 0x0C3C

2 進数 16'b0000_1100_0011_1100

バイ ト単位でビッ トの並び順を逆転 16'b0011_0000_0011_1100

Page 112: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 112PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

上位 8 ビッ ト を DRAM BA[1] と し、 下位 8 ビッ ト を DRAM BA[0] とする と、 DRAM バスで予想されるパターンは次のよ うになり ます。

これで、 DRAM BA[1:0] 信号の値が図 4-11 に示した 「0、 3、 1、 0」 とな り ます。

書き込みデータ

表 4-75 に、 PHY のみのインターフェイスの場合の書き込みデータ信号を示します。

BA[1]

00 11 00 00

0 1 0 0

Low High Low Low

BA[0]

00 11 11 00

0 1 1 0

Low High High Low

表 4-75 : 書き込みデータ

信号 方向 説明

wrData[DQ_WIDTH × 8 – 1:0] 入力

DRAM 書き込みデータ。 DRAM バスの各 DQ レーンにつき 8 ビット 。 このポートは 1 システム ク ロ ッ ク サイクルで BL8 書き込み全体のデータを転送します。書き込みデータは、 wrDataEn 出力がアサート された 1 サイ クル後、または ECC パラ メーターを 「ON」 に設定している場合は 2 サイ クル後に PHY に供給する必要があ り ます。 この手順は必ず守る必要があ り ます。PHY にはデータ バッファ リ ングの機能はあ り ません。

wrDataMask[DM_WIDTH × 8 – 1:0] 入力

DRAM 書き込み DM/DBI ポート。 wrData ポートの各バイ トにつき1 ビッ ト 。 1 回の BL8 バース ト転送の各バイ トの 1 ビッ トに対応します。 wrDataMask は wrData と同じシステム ク ロ ッ ク サイ クルで転送されます。 アクティブ High。

wrDataEn 出力

書き込みデータ要求。 PHY は 1 回の書き込み CAS コマンドごとに1 サイクルの間、 このポート をアサート します。wrDataEn 出力がアサー ト された 1 サイ クル後、 または ECC パラメーターを 「ON」 に設定している場合は 2 サイクル後に wrData とwrDataMask を PHY に供給する必要があ り ます。

wrDataAddr[DATA_BUF_ADDR_WIDTH – 1:0] 出力

オプシ ョ ンの制御信号。 処理中の書き込み CAS コマンドのデータ バッファー アドレスを PHY が保存して返します。wrDataAddr 信号は、 この保存されたアドレスを返します。 PHY が wrDataEn をアサート したと きのみ有効です。書き込み CAS コマンドに対して書き込みデータを PHY に送信するプロセスをこの信号で管理できますが、 これは完全にオプシ ョ ンです。

tCWL[5:0] 出力オプシ ョ ンの制御信号。 この出力は、 PHY で使用する CAS 書き込みレイテンシを示します。

dBufAdr[DATA_BUF_ADDR_WIDTH – 1:0] 入力 予約。 Low に接続します。

Page 113: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 113PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

読み出しデータ

表 4-76 に、 PHY のみのインターフェイスの場合の読み出しデータ信号を示します。

表 4-76 : 読み出しデータ

信号 方向 説明

rdData[DQ_WIDTH × 8 – 1:0] 出力

DRAM 読み出しデータ。 DRAM バスの各 DQ レーンにつき 8 ビット 。 このポートは 1 システム ク ロ ッ ク サイクルで BL8 読み出し全体のデータを転送します。 rdData は rdDataEn、 per_rd_done、 または rmw_rd_done がアサート されている と きのみ有効です。 これらデータ Valid 信号のいずれか 1 つがアサート されている間に読み出しデータを消費する必要があ り ます。 PHY にはデータ バッファ リングの機能はあ り ません。

rdDataEn 出力

読み出しデータの Valid 信号。rdData および rdDataAddr 信号が有効になる と、 この信号が High にアサート されます。 読み出しが特殊タイプの読み出し と タグ付けされた場合を除き、rdDataEn は 1 回のBL8 読み出しにつき 1 システム ク ロ ッ ク サイクルの間アサート されます。特殊タイプの読み出しの詳細は、 オプシ ョ ン信号の per_rd_done および rmw_rd_done の説明を参照して ください。 rdDataEn がアサート されている間に rdData を消費しないとデータは失われます。 アクティブ High。

rdDataAddr[DATA_BUF_ADDR_WIDTH – 1:0] 出力

オプシ ョ ンの制御信号。 処理中の読み出し CAS コマンドのデータバッファー アドレスを PHY が保存して返します。 rdDataAddr 信号は、 この保存されたアドレスを返します。 PHY が rdDataEn、per_rd_done、 または rmw_rd_done をアサート したと きのみ有効です。 PHY によって供給された読み出しデータをキャプチャおよび保存するプロセスをこの信号で管理できますが、これは完全にオプシ ョ ンです。

per_rd_done 出力

読み出しデータの Valid 信号 (オプシ ョ ン)。 この信号は、 特殊タイプの読み出しが完了し、 関連する rdData および rdDataAddr 信号が有効であるこ とを示します。winInjTxn と mcRdCAS が同時に High にアサート された場合、その読み出しは特殊タイプの読み出し と タグ付けされ、データが返される と きに rdDataEn の代わりに per_rd_done がアサート されます。

rmw_rd_done 出力

読み出しデータの Valid 信号 (オプシ ョ ン)。 この信号は、 特殊タイプの読み出しが完了し、 関連する rdData および rdDataAddr 信号が有効であるこ とを示します。winRmw と mcRdCAS が同時に High にアサート された場合、 その読み出しは特殊タイプの読み出し と タグ付けされ、データが返される と きに rdDataEn の代わりに rmw_rd_done がアサート されます。

rdDataEnd 出力 未使用。 High に接続します。

Page 114: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 114PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

PHY 制御

表 4-77 に、 PHY のみのインターフェイスの PHY 制御信号を示します。

表 4-77 : PHY 制御

信号 方向 説明

calDone 出力DRAM に電源が投入され、初期化とキャ リブレーシ ョ ンが完了したこ とを示します。 これは、 PHY インターフェイスが DRAM へコマンドを送信可能な状態になったこ とを示します。 アクティブ High。

mcRdCAS 入力

読み出し CAS コマンドが発行された。 この信号は、 PHY コマンド /アドレス入力ポートのコマンド スロ ッ トのいずれか 1 つで読み出し CAS コマン ドがアサート された場合のみ 1 システム ク ロ ッ クの間アサートする必要があ り ます。 calDone がアサート されるまでは 0x0 を保持します。アクティブ High。

mcWrCAS 入力

書き込み CAS コマンドが発行された。 この信号は、 PHY コマンド /アドレス入力ポートのコマンド スロ ッ トのいずれか 1 つで書き込み CAS コマン ドがアサート された場合のみ 1 システム ク ロ ッ クの間アサートする必要があ り ます。 calDone がアサート されるまでは 0x0 を保持します。アクティブ High。

winRank[1:0] 入力

CAS コマンドのターゲッ ト ランク。 この値は、 CAS コマンドをどのランクに対して発行するかを示します。 mcRdCAS または mcWrCAS がアサート されたと きに有効である必要があ り ます。マルチランク システムでは、 PHY はこの入力値を XIPHY に渡し、 CAS コマンドのターゲッ トランクに対するキャ リブレーシ ョ ン結果を選択します。 シングルランクシステムでは、 この入力ポートは 0x0 に接続します。

mcCasSlot[1:0] 入力

CAS コマンド スロ ッ ト選択。 PHY は偶数コマンド スロ ッ トでのみ CASコマンドをサポート します。 mcCasSlot は、 読み出し CAS または書き込み CAS をどちらの偶数コマンド スロ ッ トに発行したかを示します。 DQ出力イネーブルなどの XIPHY 制御信号は、 CAS コマンドに使用したコマンド スロ ッ ト を基準にした DRAM ク ロ ッ ク サイクル精度の情報を必要とするため、 PHY は mcCasSlot を使用してこれらの制御信号を生成します。calDone がアサート された後の有効な値は 0x0 と 0x2 です。 calDone がアサート されるまでは 0x0 を保持します。 この信号は、 mcRdCAS またはmcWrCAS がアサート されたと きに有効である必要があ り ます。詳細は、125 ページの 「CAS コマンドのタイ ミ ングに関する制約」 を参照してください。

mcCasSlot2 入力

CAS スロ ッ ト 2 選択。 mcCasSlot2 の働きは mcCasSlot[1:0] 信号と同様ですが、 mcCasSlot2 は PHY のタイ ミ ング ク リ ティカルなロジッ クで使用します。合成/インプリ メンテーシ ョ ンでタイ ミ ングをよ り 適化するには、 なるべく mcCasSlot2 と mcCasSlot[1:0] を異なるフロ ップから駆動する必要があ り ます。 mcCasSlot2 と mcCasSlot[1:0] は、 mcRdCAS またはmcWrCAS がアサート されたと きに一致していなければなり ません。そのためには、 mcCasSlot2==mcCasSlot[1] が真である必要があ り ます。calDone がアサート されるまでは 0x0 を保持します。 アクティブ High。

winInjTxn 入力

読み出しコマンドのタイプを示すオプシ ョ ンの信号です。 winInjTxn をmcRdCAS と同じサイ クルで High にアサートする と、 読み出しが完了しても rdDataEn がアサート されません。 その代わりに per_rd_done 信号がアサート され、特殊タイプの読み出しが完了して rdData に有効なデータが出力されているこ とを示します。MIG コン ト ローラー デザインでは、 VT ト ラ ッキング用に発行された読み出し コマン ド に対し てのみ winInjTxn をアサー ト し、 winInjTxn/per_rd_done 信号をシステム以外の読み出し ト ラフ ィ ッ クの追跡に使用します。

Page 115: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 115PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

図 4-12 に、 書き込みコマンドの例を示します。 サイ クル N で、 書き込みコマンド 「A」 がスロ ッ ト 0 の位置の PHYコマン ド /ア ド レ ス入力にアサー ト されます。 mcWrCAS 入力もサイ クル N でアサー ト され、 有効なラ ン ク値がwinRank 信号にアサート されます。図 4-12 には CS_n ピンは 1 つしかないため、winRank の有効な値は 0x0 のみです。 mcCasSlot[1:0] および mcCasSlot2 信号はサイクル N で有効で、 スロ ッ ト 0 を指定します。

次に、 サイ クル N + 1 でスロ ッ ト 2 の位置に書き込みコマン ド 「B」 がアサー ト されます。 mcWrCAS、 winRank、mcCasSlot[1:0]、mcCasSlot2 も有効な値にアサート されます。サイ クル M で PHY が wrDataEn をアサート し、コマンド A に対応する wrData および wrDataMask の値をサイクル M + 1 で駆動する必要があるこ とを示します。

図 4-12 は、DDR4 DQ バス幅が 8 ビッ トの場合のデータおよびマスク幅を示しています。サイ クル N からサイ クル Mまでの遅延は、 DRAM の CWL および AL 設定に基づいて PHY が制御します。 サイ クル M + 1 では wrDataEn もアサート され、コマンド B に対する wrData および wrDataMask の値がサイ クル M + 2 で必要であるこ とを示します。こ こでは wrDataEn が 2 システム ク ロ ッ ク サイクル連続でアサート されていますが、 この例のよ うに mcWrCAS が連続する ク ロ ッ ク サイ クルでアサート された場合でも、 必ずし もそ う なる とは限り ません。 PHY にはデータ バッファーがな く、 データは本来のタイ ミ ングで PHY に取り込まれます。 mcWrCAS が連続するク ロ ッ ク サイ クルでアサート されても、 CWL/AL 設定および使用するコマンド スロ ッ トによっては wrDataEn が連続してアサート されないこ とがあ り ます。

winRmw 入力

読み出し コマン ドのタ イプを示すオプシ ョ ンの信号です。 winRmw をmcRdCAS と同じサイ クルで High にアサートする と、 読み出しが完了しても rdDataEn がアサート されません。その代わりに rmw_rd_done 信号がアサート され、特殊タイプの読み出しが完了して rdData に有効なデータが出力されているこ とを示します。MIG コン ト ローラー デザインでは、 winRmw/rmw_rd_done 信号を Read-Modify-Write フローの一部と して発行された読み出しの追跡に使用します。MIG コン ト ローラーは RMW シーケンスの読み出しフェーズに発行された読み出しコマンドに対してのみ winRmw をアサート します。

winBuf[DATA_BUF_ADDR_WIDTH– 1:0] 入力

オプシ ョ ンの制御信号。mcRdCAS または mcWrCAS がアサート される とPHY は winBuf 信号の値をキャプチャし、mcRdCAS でキャプチャした場合は rdDataAddr、mcWrCAS でキャプチャした場合は wrDataAddr でこの値を返します。MIG コン ト ローラー デザインでは、 これらの信号を使用して書き込みデータのソースまたは読み出し リ ターン データのシン クに使用するデータ バッファー アドレスを追跡します。

gt_data_ready 入力

VT ト ラ ッキングの更新。 PHY はこの信号を ト リ ガーと して XIPHY のRIU レジスタを読み出し、 読み出し DQS プリ アンブルにセンター アラインしているかを計測し、 必要に応じてアライ メン ト を調整します。 この信号は周期的にアサート し、 電圧および温度ド リ フ ト に対して DQSゲートのアラ イ メン ト を調整する必要があ り ます。 詳細は、 126 ページの 「VT ト ラ ッキング」 を参照してください。 calDone がアサート されるまでは 0x0 を保持します。 アクティブ High。

表 4-77 : PHY 制御 (続き)

信号 方向 説明

Page 116: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 116PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

図 4-13 に、 読み出しコマンドの例を示します。 読み出しコマンドをサイ クル N でスロ ッ ト 0、 サイ クル N + 1 でスロ ッ ト 2 に発行しています。 mcRdCAS、 winRank、 mcCasSlot、 mcCasSlot2 も これらのサイクルでアサート されます。 サイ クル M + 1 と M + 2 で、 PHY が rdDataEn と rdData をアサート します。

注記 : サイクル N から M + 1 までの遅延は、書き込みコマンドの例 (図 4-12) よ りはるかに大き くな り ます。読み出しコマンドの場合、 遅延の大きさはコマンド出力の完全なラウンド ト リ ップ遅延、 DRAM CL/AL、 PHY からのデータ入力によって決ま り ます。

X-Ref Target - Figure 4-12

図 4-12 : 書き込みコマンドの例

Page 117: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 117PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

デバッグ

デバッグ信号については、 アンサー : AR# 60305 で説明します。

PHY のみのパラメーター

PHY のパラ メーターはすべて MIG ツールで設定します。 表 4-78 に、 PHY のパラ メーターを示します。 MIG で生成したデザインでは、 これらのパラ メーター値を変更しないでください。 パラ メーターはコア生成時に設定されます。パラ メーター設定を変更するには、 コアを生成し直す必要があ り ます。

X-Ref Target - Figure 4-13

図 4-13 : 読み出しコマンドの例

表 4-78 : PHY のみのパラメーター

パラメーター名 デフォルト値 設定可能な値 説明

ADDR_WIDTH 18DDR4 : 18..17DDR3 : 16..13 DRAM アドレス ピンの数

BANK_WIDTH 2DDR4 : 2DDR3 : 3 DRAM バンク アドレス ピンの数

BANK_GROUP_WIDTH 2DDR4 : 2..1DDR3 : N/A DRAM バンク グループ ピンの数

CK_WIDTH 1 2..1 DRAM ク ロ ッ ク ピンの数

Page 118: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 118PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

CKE_WIDTH 1 2..1 DRAM CKE ピンの数

CS_WIDTH 1 2..1 DRAM CS ピンの数

ODT_WIDTH 1 4..1 DRAM ODT ピンの数

DRAM_TYPE “DDR4” “DDR4”、“DDR3” DRAM テク ノ ロジ

DQ_WIDTH 16 小値 = 8必ず 8 の倍数で指定

チャネルの DRAM DQ ピンの数

DQS_WIDTH 2

小値 = 1x8 DRAM – DQ バイ トにつき1x4 DRAM – DQ ニブルにつき1

チャネルの DRAM DQS ピンの数

DM_WIDTH 2

小値 = 0x8 DRAM – DQ バイ トにつき1x4 DRAM – 0

チャネルの DRAM DM ピンの数

DATA_BUF_ADDR_WIDTH 5 5読み出しまたは書き込みト ランザクシ ョン用に格納したデータ バッ フ ァー ア ドレス ビッ トの数

ODTWR 0x8421 0xFFFF ..0x0000 将来使用するために予約

ODTWRDEL 8 CWL に設定 将来使用するために予約

ODTWRDUR 6 7..6 将来使用するために予約

ODTRD 0x0000 0xFFFF..0x0000 将来使用するために予約

ODTRDDEL 11 CL に設定 将来使用するために予約

ODTRDDUR 6 7..6 将来使用するために予約

ODTWR0DELODTWR0DURODTRD0DELODTRD0DURODTNOP

N/A N/A 将来使用するために予約

MR0 0x630 有効な SDRAM 設定 DRAM MR0 設定

MR1 0x101 有効な SDRAM 設定 DRAM MR1 設定

MR2 0x10 有効な SDRAM 設定 DRAM MR2 設定

MR3 0x0 有効な SDRAM 設定 DRAM MR3 設定

MR4 0x0 有効な SDRAM 設定 DRAM MR4 設定。 DDR4 のみ。

MR5 0x400 有効な SDRAM 設定 DRAM MR5 設定。 DDR4 のみ。

MR6 0x800 有効な SDRAM 設定 DRAM MR6 設定。 DDR4 のみ。

SLOT0_CONFIG 0x1

0x10x30x50xF

将来使用するために予約

表 4-78 : PHY のみのパラメーター (続き)

パラメーター名 デフォルト値 設定可能な値 説明

Page 119: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 119PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

SLOT1_CONFIG 0x0

0x00x20xC0xA

将来使用するために予約

SLOT0_FUNC_CS 0x1

0x10x30x50xF

MRS を含むすべての DRAM コマン ド をメモ リへ送信するために使用する メモ リバスの CS_n ピン。このパラ メーターの各ビッ ト が CS_n バスの 1 ビッ ト を表します (例えば LSB は CS_n[0] を示し、 MSBは CS_n[3])。DIMM の場合、このパラ メーターは DIMM ス ロ ッ ト 0 に接続されたCS_n ピンを指定します。

注記 : こ こでのスロ ッ ト 0 は、 PHY コマンド /アド レス インターフェイスで説明した 「コマ

ンド スロ ッ ト 0」 とは異な り ます。

SLOT1_FUNC_CS 0x0

0x00x20xC0xA

SLOT0_FUNC_CS の説明を参照。SLOT1_FUNC_CS は DIMM スロ ッ ト 1 に接続された CS_n ピンを指定する点のみ異なり ます。

REG_CTRL OFF"ON""OFF"

RDIMM RCD 初期化およびキャ リブレーシ ョ ン イネーブル

CA_MIRROR OFF"ON""OFF"

アドレス ミ ラーリ ング イネーブル。 アドレス ミ ラーリ ングをサポート した DIMMの場合、 "ON" に設定します。

DDR4_REG_RC03 0x30 有効な RDIMM RCD 設定 RDIMM RCD 制御ワード 03

DDR4_REG_RC04 0x40 有効な RDIMM RCD 設定 RDIMM RCD 制御ワード 04

DDR4_REG_RC05 0x50 有効な RDIMM RCD 設定 RDIMM RCD 制御ワード 05

tCK 938 小値 = 833 DRAM ク ロ ッ ク周期 (単位 ps)

tXPR 72小値 = 1。

DRAM の tXPR 仕様値 (単位はシステム ク ロ ッ ク数)。

JEDEC DDR SDRAM 仕様 [参照 1] を参照してください。

tMOD 6小値 = 1。

DRAM の tMOD 仕様値 (単位はシステム ク ロ ッ ク数)。

JEDEC DDR SDRAM 仕様 [参照 1] を参照してください。

tMRD 2小値 = 1。

DRAM の tMRD 仕様値 (単位はシステム ク ロ ッ ク数)。

JEDEC DDR SDRAM 仕様 [参照 1] を参照してください。

tZQINIT 256小値 = 1。

DRAM の tZQINIT 仕様値 (単位はシステム ク ロ ッ ク数)。

JEDEC DDR SDRAM 仕様 [参照 1] を参照してください。

TCQ 100 100 Q に対するフロ ップ ク ロ ッ ク (単位 ps) シミ ュレーシ ョ ン専用

EARLY_WR_DATA OFF OFF 将来使用するために予約

表 4-78 : PHY のみのパラメーター (続き)

パラメーター名 デフォルト値 設定可能な値 説明

Page 120: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 120PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

EXTRA_CMD_DELAY 0 2..0

追加のコマンド レイテンシ (単位はシステム ク ロ ッ ク数)。 コンフ ィギュレーシ ョンによっては追加のコマンド レイテンシが必要です。 詳細は CL/CWL のセクシ ョンを参照。

ECC "OFF" "OFF"

"ON" に設定する と、MIG で生成したコント ローラーで早期 wrDataEn タ イ ミ ングが有効になり ます。 PHY のみのデザインでは "OFF" に設定する必要があ り ます。

DM_DBI “DM_NODBI”

“NONE”“DM_NODBI”“DM_DBIRD”“NODM_DBIWR”“NODM_DBIRD”

DDR4 の DM/DBI 設定。 詳細は、 表 4-80を参照してください。

USE_CS_PORT 1 0 = CS_n ピンなし1 = CS_n ピンを使用

CS_n ピンを DRAM に接続するかど うかを制御します。 CS_n ピンがない場合、PHY 初期化およびト レーニング ロジッ クは DRAM コマンド間で NOP を発行します。CS_n ピンがない場合、DRAM チップセレク ト ピン (CS#) を DRAM 外部で Lowに接続する必要があ り ます。

DRAM_WIDTH 8 16、 8、 4 DRAM コンポーネン トの DQ 幅

RANKS 1 2..1 メモ リ サブシステム内のランク数

nCK_PER_CLK 4 4 1 システム ク ロ ッ クあた りの DRAM クロ ッ ク数

C_FAMILY "kintexu""kintexu""virtexu"

PHY に含まれる MicroBlaze コン ト ローラーが使用するデバイス情報

BYTES 4 小値 = 3データ、 コマンド、 アドレスに使用する XIPHY 「バイ ト 」 数

DBYTES 2 小値 = 1 DRAM DQ バスのバイ ト数

IOBTYPE

{39'b001_001_001_001_001_101_101_001_001_001_001_001_001,39'b001_001_001_001_001_001_001_001_001_001_001_001_001,39'b000_011_011_011_011_111_111_011_011_011_011_001_011,39'b001_011_011_011_011_111_111_011_011_011_011_001_011 }

3'b000 = 未使用ピン3'b001 = シングルエンド出力3'b010 = シングルエンド入力3'b011 = シングルエンド I/O3'b100 = 未使用ピン3'b101 = 差動出力3'b110 = 差動入力3'b101 = 差動 INOUT

IOB の設定

PLL_WIDTH 1 MIG によって生成される値 PLL の数

表 4-78 : PHY のみのパラメーター (続き)

パラメーター名 デフォルト値 設定可能な値 説明

Page 121: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 121PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

CLKOUTPHY_MODE "VCO_2X" VCO_2XBITSLICE_CONTROL ブロ ッ クに対するVCO 周波数に基づいてクロ ッ ク出力周波数を決定

PLLCLK_SRC 00 = pll_clk01 = pll_clk1 XIPHY PLL ク ロ ッ ク ソース

DIV_MODE 00 = DIV41 = DIV2 XIPHY コン ト ローラー モードの設定

DATA_WIDTH 8 8 XIPHY パラレル入力データ幅

CTRL_CLK 0x30 = 内部ローカル div_clk を使用1 = 外部 RIU クロッ クを使用

RIU に対する XIPHY ク ロ ッ クを内部または外部に設定

INIT{(15 × BYTES){1'b1}}

1'b01'b1

ト ラ イステート ビッ ト スライス OSERDES 初期値

RX_DATA_TYPE

{15'b000000_00_00000_00,15'b000000_00_00000_00,15'b011110_10_11110_01,15'b011110_10_11110_01 }

2'b00 = None2'b01 = DATA(DQ_EN)2'b10 = CLOCK(DQS_EN)2'b11 = DATA_AND_CLOCK

XIPHY ビッ ト スライス設定

TX_OUTPUT_PHASE_90

{13'b1111111111111,13'b1111111111111,13'b0000011000010,13'b1000011000010}

1'b0 = オフセッ ト なし1'b1 = 90° オフセッ ト を適用

対象のビッ ト スライスに 90° オフセッ トを適用するための XIPHY 設定

RXTX_BITSLICE_EN

{13'b1111101111111,13'b1111111111111,13'b0111101111111,13'b1111101111111 }

1'b0 = ビッ ト スライス無効1'b1 = ビッ ト スライス有効

ビッ ト スライスを有効にするための XIPHY 設定

NATIVE_ODLAY_BYPASS{(13 × BYTES){1'b0}}

1'b0 = FALSE1'b1 = TRUE (バイパス)

出力ビッ ト スライスで ODELAY をバイパス

EN_OTHER_PCLK {BYTES{2'b01}} 1'b0 = FALSE (使用しない)1'b1 = TRUE (使用する )

ほかのビッ ト スライスからキャプチャ ク ロ ッ クを供給するための XIPHY 設定

EN_OTHER_NCLK {BYTES{2'b01}} 1'b0 = FALSE (使用しない)1'b1 = TRUE (使用する )

ほかのビッ ト スライスからキャプチャ ク ロ ッ クを供給するための XIPHY 設定

RX_CLK_PHASE_P{{(BYTES – DBYTES){2'b00}}, {DBYTES{2'b11}}}

2'b00 = アドレス /制御 2'b11 = データ

読み出しクロ ッ ク DQS_P の位相を DQ に対して 90° シフ トするための XIPHY 設定

表 4-78 : PHY のみのパラメーター (続き)

パラメーター名 デフォルト値 設定可能な値 説明

Page 122: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 122PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

RX_CLK_PHASE_N{{(BYTES – DBYTES){2'b00}}, {DBYTES{2'b11}}}

2'b00 = アドレス /制御 2'b11 = データ

読み出しクロ ッ ク DQS_N の位相を DQ に対して 90° シフ トするための XIPHY 設定

TX_GATING{{(BYTES – DBYTES){2'b00}}, {DBYTES{2'b11}}}

2'b00 = アドレス /制御2'b11 = データ

XIPHY の書き込み DQS ゲート設定

RX_GATING{{(BYTES – DBYTES){2'b00}}, {DBYTES{2'b11}}}

2'b00 = アドレス /制御2'b11 = データ

XIPHY の読み出し DQS ゲート設定

EN_DYN_ODLY_MODE{{(BYTES – DBYTES){2'b00}}, {DBYTES{2'b11}}}

2'b00 = アドレス /制御2'b11 = データ

XIPHY による ODELAY の動的読み込み

BANK_TYPE "HP_IO""HP_IO""HR_IO" 選択したバンクが HP か HR かを指定

SIM_MODE "FULL" "FULL"、 "BFM"XIPHY を使用する ("FULL") かビヘイビア モデルを使用してシ ミ ュレーシ ョ ンを高速化するかを設定するフラグ

SELF_CALIBRATE{(2 × BYTES){1'b0}}

{(2 × BYTES){1'b0}} = シ ミ ュレーシ ョ ン {(2 × BYTES){1'b1}} = ハードウェア

BISC 自己キャ リブレーシ ョ ン

BYPASS_CAL "FALSE" "TRUE" = シ ミ ュレーシ ョ ン、"FALSE" = ハードウェア

キャ リブレーシ ョ ンを ON/OFF するためのフラグ

CAL_WRLVL "FULL" "FULL" キャ リブレーシ ョ ンのライ ト レベリ ング設定用フラグ

CAL_DQS_GATE "FULL" "FULL" キャ リブレーシ ョ ンの DQS ゲート設定用フラグ

CAL_RDLVL "FULL" "FULL" キャ リブレーシ ョ ンの読み出し ト レーニング設定用フラグ

CAL_WR_DQS_DQ "FULL" "FULL" キャ リブレーシ ョ ンの書き込み DQS-to-DQ 設定用フラグ

CAL_COMPLEX "FULL" "SKIP"、 "FULL"キャ リブレーシ ョ ンの複雑なパターン設定用フラグ

CAL_RD_VREF "SKIP" "SKIP"、 "FULL"キャ リ ブレーシ ョ ンの読み出し VREF 設定用フラグ

CAL_WR_VREF "SKIP" "SKIP"、 "FULL"キャ リ ブレーシ ョ ンの書き込み VREF 設定用フラグ

CAL_JITTER "FULL" "FULL"、 "NONE"検証用に予約。 キャ リ ブレーシ ョ ン シミ ュレーシ ョ ンを高速化。 ハード ウェアテス トの場合は必ず "FULL" に設定

t200us 53305 (10 進数) 0x3FFFF..1BISC 完了から DRAM reset_n ディアサート までの待ち時間をシステム ク ロ ッ ク数で指定

表 4-78 : PHY のみのパラメーター (続き)

パラメーター名 デフォルト値 設定可能な値 説明

Page 123: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 123PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

EXTRA_CMD_DELAY パラメーター

ランク数、 ECC モード、 DRAM レイテンシの設定によっては、 DRAM コマンド アドレス バスにレイテンシを追加するよ うに PHY をプログラ ミ ングする必要があ り ます。 こ うする と、 タイ ミ ングを収束して mcWrCAS を処理するのに十分なパイプライン ステージを PHY プログラマブル ロジッ クに確保できます。コマンド レイテンシの追加が必要になるのは、 主にマルチランク構成の場合とシングルランク構成で CWL の値が非常に小さい場合です。 ECC を有効にした場合もコマンド レイテンシの追加が必要になるこ とがあ り ます。 これは、 PHY 外部のカスタム コン ト ローラーデザインが ECC チェッ ク ビッ ト を生成する際に wrDataEn 信号を 1 システム ク ロ ッ ク サイ クル早く受信する必要があるかど うかによって決ま り ます。

EXTRA_CMD_DELAY パラ メーターは、 DRAM コマンド /アドレス パスに 1 または 2 システム ク ロ ッ ク サイ クルの遅延を追加するために使用します。 このパラ メーターによって mcWrCAS または mcRdCAS 信号に遅延が追加されるこ とはあ り ません。 このため、PHY は mcWrCAS または mcRdCAS がアサート されてから XIPHY 制御信号を生成するまでの時間を増やすこ とができます。PHY にとって、EXTRA_CMD_DELAY の値を 1 または 2 に設定するこ とは CWLまたは AL の設定値を大き くするのと同じ意味を持ちます。

表 4-79 に、 CWL、 CL、 AL の各設定値に対して必要な EXTRA_CMD_DELAY の設定値を示します。

t500us 133263 (10 進数) 0x3FFFF..1DRAM reset_n ディ アサー ト から CKE アサート までの待ち時間をシステム ク ロ ック数で指定

SIM_MODE "BFM" "FULL"、 "BFM"

• FULL : XIPHY UNISIM でサンプル デザインのシ ミ ュレーシ ョ ンを実行

• BFM : XIPHY バス ファンクシ ョ ン モデルで FAST モード シ ミ ュレーシ ョ ンを実行

表 4-78 : PHY のみのパラメーター (続き)

パラメーター名 デフォルト値 設定可能な値 説明

表 4-79 : EXTRA_CMD_DELAY の設定値

DRAM 設定 必要な EXTRA_CMD_DELAY

DRAM CAS 書き込みレイテンシ (CWL)

DRAM CAS レイテンシ (CL)

DRAM アディテ ィブ レイテンシ MR1[4:3]

シングルランク (ECC なし )

シングルランク (ECC あり ) またはマルチランク

5 5 0 1 2

5 5 1 0 1

5 5 2 1 2

5 6 0 1 2

5 6 1 0 1

5 6 2 0 1

6 6 0 1 2

6 6 1 0 1

6 6 2 0 1

6 7 0 1 2

6 7 1 0 1

6 7 2 0 1

6 8 0 1 2

6 8 1 0 0

Page 124: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 124PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

DM_DBI パラメーター

この PHY は読み出しパス と書き込みパスで DDR4 の DBI 機能をサポート しています。表 4-80 に、読み出しおよび書き込み DBI を片方または両方有効にする方法を示します。 書き込み DBI を有効にする と、 データ マスクは無効にな

6 8 2 0 1

7 7 0 1 2

7 7 1 0 0

7 7 2 0 1

7 8 0 1 2

7 8 1 0 0

7 8 2 0 0

7 9 0 1 2

7 9 1 0 0

7 9 2 0 0

7 10 0 1 2

7 10 1 0 0

7 10 2 0 0

8 8 0 1 2

8 8 1 0 0

8 8 2 0 0

8 9 0 1 2

8 9 1 0 0

8 9 2 0 0

8 10 0 1 2

8 10 1 0 0

8 10 2 0 0

8 11 0 1 2

8 11 1 0 0

8 11 2 0 0

9 ~ 12 X 0 0 1

9 ~ 12 X 1 または 2 0 0

≥13 X 0 0 0

≥13 X 1 または 2 0 0

表 4-79 : EXTRA_CMD_DELAY の設定値 (続き)

DRAM 設定 必要な EXTRA_CMD_DELAY

DRAM CAS 書き込みレイテンシ (CWL)

DRAM CAS レイテンシ (CL)

DRAM アディテ ィブ レイテンシ MR1[4:3]

シングルランク (ECC なし )

シングルランク (ECC あり ) またはマルチランク

Page 125: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 125PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

り ます。 DM_DBI パラ メーターは PHY のみに適用され、 DRAM の DM/DBI を設定するには MRS パラ メーターも設定する必要があ り ます。

CAS コマンドのタイ ミングに関する制約

この PHY は偶数コマンド スロ ッ ト (すなわちスロ ッ ト 0、 2) でのみ CAS コマンドをサポート しています。 この制約は、 mcWrCAS および mcRdCAS 信号などの PHY 制御入力によって駆動される PHY ロジッ クの複雑さに起因します。mc_ACT_n[7:0] など実際の DRAM コマン ド信号は calDone がアサート された後は PHY をそのまま通過するため、 この制約には関係あ り ません。 PHY ロジッ クが複雑なのは、 システム ク ロ ッ ク単位だけでなく DRAM ク ロ ッ ク単位で DRAM の CWL および CL 値に基づいて XIPHY 制御信号を生成しているためです。

CAS コマンドに対して 2 つの異なるコマンド スロ ッ ト をサポートするため、 XIPHY 制御パスには非常に多くのロジッ クが追加されています。 XIPHY のプロ ト ロル要件があるため、 このロジッ クを分割するのに利用できるパイプライン ステージは非常に限られています。 4 つのコマンド スロ ッ トすべてで CAS コマンドをサポート しよ う とすると さ らに複雑さが増し、 タイ ミ ングが悪化します。

書き込み CAS コマンドの最小間隔

異なるランクに対する書き込み CAS コマンドから書き込み CAS コマンドまでの 小間隔は 8 DRAM ク ロ ッ クです。これは PHY の制約です。 このタイ ミ ングに違反した場合、 PHY は内部遅延設定を切り替えるのに十分な時間を確保できず、 書き込み DQ/DQS を正しいタイ ミ ングで DDR バスに駆動できません。 内部遅延設定はシステム レイアウ トによ り異なり、 キャ リブレーシ ョ ン中に決定します。

メモ リ システム レイアウ ト ガイ ド ラインに従っている場合、 8 DRAM ク ロ ッ クの間隔さえ確保すれば正常な動作が得られます。 同じランクに対する書き込み CAS コマンドから書き込み CAS コマンドまでのタイ ミ ングについては、DRAM 仕様および前述した CAS コマンドのコマンド スロ ッ トの制約のみを受けます。

CAS コマンドの間隔に関するシステム レベルの考慮事項

カスタム コン ト ローラーで CAS コマンドの 小間隔を設定する場合は、システム レイアウ トおよびタイ ミ ングのばらつきを考慮する必要があ り ます。 コン ト ローラーは、 DRAM タイ ミ ング違反および DQ/DQS バスの駆動の競合が発生しないよ うに CAS コマンドの間隔をと る必要があ り ます。 MIG で生成したメモ リ コン ト ローラーをインスタンシエートする場合は、 レイアウ ト ガイ ド ラ インを考慮してワース ト ケースのレイアウ トに合わせてコマンド間隔が調整されます。

読み出しコマンドから書き込みコマンドまでの間隔を考慮し、JEDEC® DRAM 仕様 [参照 1] ではコンポーネン トの要件を RL + BL/2 + 2 – WL と定義しています。この式では、タイ ミ ング スキューのない理想的なバスにおいて読み出しDQS ポス ト アンブルから書き込み DQS プリ アンブルまでの間隔が 1 DRAM ク ロ ッ ク しか確保されません。 DQS フライ ト タイム、 ラ イ ト レベリ ングのばらつき、 ジッ ターなどがある と このマージンが減少します。 これらのタイ ミ ング エラーの合計が 1 DRAM ク ロ ッ クを超える と FPGA DQS ピンで駆動の競合が発生し、 読み出し ト ランザクシ ョ ンが破損する可能性があ り ます。 レイアウ ト ガイ ド ラ インに従ったシステムの場合、 MIG で生成したコン ト ローラーはワース ト ケースのタイ ミ ング バジェッ トにも対処できるよ うに読み出し CAS から書き込み CAS までの遅延を RL+ BL/2 + 4 – WL と して確保します。

異なるランクに対する読み出し CAS コマンドから読み出し CAS コマンドまでの間隔も、駆動の競合が発生しないようにカスタム コン ト ローラーで間隔を確保する必要があ り ます。 これは、特に 「遠い」 ランクから読み出しを実行し

表 4-80 : DM_DBI の PHY 設定

DM_DBI パラメーターの値 PHY の読み出し DBI PHY の書き込み DBI PHY の書き込みデータ マスク

NONE 無効 無効 有効

DM_NODBI 無効 無効 有効

DM_DBIRD 有効 無効 有効

NODM_DBIWR 無効 有効 無効

NODM_DBIRD 有効 有効 無効

Page 126: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 126PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

た後に 「近い」 ランクから読み出しを実行する場合に注意が必要です。 MIG で生成したコン ト ローラーは、異なるランクに対する読み出し CAS コマンドの間隔を少なく と も 6 DRAM ク ロ ッ ク サイ クル確保します。

同じランクに対する書き込み CAS から読み出し CAS までの間隔は、 JEDEC DRAM 仕様 [参照 1] で定義されています。 カスタム コン ト ローラーがこの DRAM 要件に従っていれば、 同じランクに対する書き込みと読み出しの間で駆動の競合が発生するこ とはあ り ません。 ただし、 異なるランクに対する書き込み CAS から読み出し CAS までの間隔もカスタム コン ト ローラーで正し く確保する必要があ り ます。 この間隔は JEDEC DRAM 仕様 [参照 1] には明示的に定義されていません。

異なるランクに対する書き込みから読み出しまでの間隔は、同じランクに対する書き込みから読み出しまでの間隔より もはるかに短くできますが、 ライ ト レベリ ングのばらつき、 ジッ ター、 tDQSCK などの要因を考慮する必要があ ります。 MIG で生成したコン ト ローラーの場合、 異なるランクに対する書き込み CAS から 読み出し CAS までの間隔は 6 DRAM ク ロ ッ ク以上確保されます。

アディテ ィブ レイテンシ

この PHY は DRAM アディティブ レイテンシ (AL) をサポート しています。 MRS パラ メーターで AL を有効にした場合の PHY インターフェイスへの影響は、 mcWrCAS がアサート された後の wrDataEn 信号のタイ ミ ングのみです。PHY は AL の設定を考慮して wrDataEn をスケジューリ ングします。 また、 DRAM からデータが返されるのが遅くなるため、 mcRdCAS の後に rdDataEn がアサート されるまでの時間もかなり長くな り ます。 AL 設定は、 EXTRA_CMD_DELAY パラ メーターを 0 以外の値に設定する必要があるかど うかにも影響します。

VT ト ラ ッキング

calDone がアサート された後、 読み出し DQS ゲート信号が読み出し DQS プリ アンブルにアラインされた状態を維持するために、PHY は 小レートで読み出しコマンドを発行する必要があ り ます。また、RIU の読み出し DQS ト レーニング値を更新するよ う PHY に指示するために、gt_data_ready 信号を一定の間隔でパルスする必要もあ り ます。さ らに、 PHY が RIU に書き込んだ値で XIPHY がゲート アライ メン ト回路を更新できるよ うに、 PHY は読み出し トラフ ィ ッ クを周期的に中断する必要があ り ます。 すなわち、 calDone がアサート された後、 PHY は次の手順を実行する必要があ り ます。

1. 1µs ごとに少なく と も 1 回読み出しコマンドを発行するこ と。 マルチランク システムの場合、 どのランクでもかまいません。

2. rdDataEn 信号がアサート された後、 1µs ごとに少なく と も 1 回 gt_data_ready 信号をアサートするこ と。

3. PHY インターフェイスで 1µs ごとに 3 システム ク ロ ッ ク サイクルは読み出し CAS コマンドをアサート しない期間を確保するこ と。

PHY には、ト ラフ ィ ッ クを中断してこれらの要件を満たす機能はあ り ません。したがってカスタム メモ リ コン ト ローラーを使用する場合は、 上記の要件を満たすよ うに DRAM コマンドを発行して gt_data_ready 入力信号をアサートするよ うユーザーが注意する必要があ り ます。

図 4-14 は、VT ト ラ ッキングの要件を満たすためにカスタム コン ト ローラーが通常のト ラフ ィ ッ クを中断する必要がある例を 2 つ示しています。 初の例は読み出しが帯域幅を占有するワークロードで、 mcRdCAS を約 1µs の間連続してアサート しています。コン ト ローラーは、1µs ごとに 3 システム ク ロ ッ ク サイクルだけ読み出しコマンドの発行を停止し、 gt_data_ready を 1 回アサートする必要があ り ます。

2 つ目の例は書き込みが帯域幅を占有するワークロードで、 mcWrCAS を約 1µs の間連続してアサート しています。コン ト ローラーは 1µs ご と に書き込みコマン ドの発行を停止して読み出し コマン ド を少な く と も 1 回発行し、gt_data_ready を 1 回アサートする必要があ り ます。

重要 : この手順の間、 コン ト ローラーは DRAM プロ ト コルおよびタイ ミ ング要件を順守する必要があ り ます。

Page 127: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 127PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

注記 : VT ト ラ ッキングの図の縮尺は正確ではあ り ません。

1µs の期間に読み出し と書き込みのト ラフ ィ ッ クが混在したワークロードの場合、 上記の VT ト ラ ッキングの要件の1 と 3 は自ずと満たされます。この場合、必要な手順は 1µs ごとに gt_data_ready 信号をアサートするこ とだけで、通常の ト ラフ ィ ッ クが中断されるこ とはまった く あ り ません。 ただし、 カスタム コン ト ローラーはすべてのワークロードに関して上記 3 つの要件すべてを確実に満たす必要があ り ます。 MIG で生成したコン ト ローラーは mcRdCASおよび mcWrCAS 信号を監視し、VT ト ラ ッキングの要件を満たすためにどのよ うな動作が必要かを 1µs ごとに判断します。 カスタム コン ト ローラーには、 こ こで説明した要件を満たすものであればどのよ うな方式でも実装できます。

リフレッシュおよび ZQ

calDone が PHY によってアサー ト された後、 カスタム メモ リ コン ト ローラーは DRAM リ フレ ッシュおよび ZQキャ リブレーシ ョ ンを定期的に実行する必要があ り ます。 カスタム コン ト ローラーは、 リ フレッシュおよび ZQ コマンドを発行するだけでな く、 DRAM リ フレ ッシュおよび ZQ コマンドの間隔に関する要件、 およびその他すべてのDRAM プロ ト コルおよびタイ ミ ング要件を満たす必要があ り ます。 たとえばリ フレッシュ コマンドの発行が必要な時点で DRAM にオープンなページがある場合、 ページをプリチャージした後に tRP の期間だけ待ってから リ フレッシュ コマンドを発行するなどの必要があ り ます。 プ リチャージを含め、 これらの手順をユーザーに代わって PHY が実行するこ とはあ り ません。

X-Ref Target - Figure 4-14

図 4-14 : VT ト ラ ッキングの図

Page 128: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 128PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

パフォーマンスメモ リ システムの効率に影響する要因は、 1 バンク内のサイ クル タイム (tRC) や同じ DDR4 バンク グループ内のアクティベートからアクティベート までの間隔 (tRRD_L) などのメモ リの制約を含め、 数多く存在します。 処理すべきト ランザクシ ョ ンが複数ある場合、 メモ リ コン ト ローラーはこれらの DRAM タイ ミ ング要件の影響が 小となるように DRAM へのコマンドをスケジューリ ングします。 しかし メモ リ コン ト ローラーのアーキテクチャ自体が制約となるこ と もあ り ます。 このセクシ ョ ンではコン ト ローラーの主な制約と、 それをふまえてコン ト ローラーの性能を大限に引き出す方法について説明します。

アドレス マッピング

「ユーザー インターフェイス」 で説明したよ うに、 app_addr から DRAM アドレスへのマッピングには次の 3 つの方法があ り ます。

• ROW_COLUMN_BANK

• ROW_BANK_COLUMN

• BANK_ROW_COLUMN

ユーザー インターフェイス側のアドレス ス ト リームが完全にランダムな場合、 上記 3 つのマッピングはいずれも同じ効率となり ます。 しかし app_addr が順次アドレス ス ト リームの場合、 または app_addr メモ リ空間を小さいステップ サイズでインク リ メン トするよ う なワークロードの場合、通常は ROW_COLUMN_BANK のマッピングが も効率が高くなり ます。 これはメモ リ コン ト ローラーのアーキテクチャに理由があ り、 複数のグループ FSM 間でト ランザクシ ョ ンを効率よ く インターリーブできるためです。 グループ FSM の詳細は、 16 ページの 「メモ リ コン ト ローラー」 を参照して ください。DRAM のタイ ミ ングが効率に影響していない場合も、 コン ト ローラーのアーキテクチャが効率に与える影響を考慮する必要があ り ます。 表 4-81 に、 4Gb (x8) DRAM コンポーネン トの 2 つのマッピング方法を示します。

表 4-81 : DDR3/DDR4 4Gb (x8) DRAM のアドレス マッピングの比較

DRAM アドレスDDR3 4Gb (x8) DDR4 4Gb (x8)

ROW_BANK_COLUMN ROW_COLUMN_BANK ROW_BANK_COLUMN ROW_COLUMN_BANK

行 15 28 28 – –

行 14 27 27 28 28

行 13 26 26 27 27

行 12 25 25 26 26

行 11 24 24 25 25

行 10 23 23 24 24

行 9 22 22 23 23

行 8 21 21 22 22

行 7 20 20 21 21

行 6 19 19 20 20

行 5 18 18 19 19

行 4 17 17 18 18

行 3 16 16 17 17

行 2 15 15 16 16

行 1 14 14 15 15

Page 129: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 129PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

注記 : 太枠内のビッ トは、 アドレスをコン ト ローラーのグループ FSM にマッピングするために使用します。

DDR3 のマッピングを見る と、 アドレスが単純にインク リ メン トするパターンでは、 ROW_BANK_COLUMN を選択する と良好な効率が期待できるこ とがわかり ます。 このインク リ メン ト パターンでは 1 つのバンクに対してページ ヒ ットが生成され、 DDR3 はこれを連続する CAS コマンドのス ト リームと して処理できるため、 高い効率が得られます。しかし表 4-81 のイタ リ ッ ク体で示したバンク ビッ ト を見る と、 同じアド レス インク リ メ ン ト パターンで連続するページ ヒ ッ トの長いス ト リームがコン ト ローラーの同じグループ FSM にマッピングされているこ とがわかり ます。

行 0 13 13 14 14

列 9 9 12 9 13

列 8 8 11 8 12

列 7 7 10 7 11

列 6 6 9 6 10

列 5 5 8 5 9

列 4 4 7 4 8

列 3 3 6 3 7

列 2 2 2 2 2

列 1 1 1 1 1

列 0 0 0 0 0

バンク 2 12 4 – –

バンク 1 11 3 11 6

バンク 0 10 5 10 5

バンク グループ 1 – – 13 4

バンク グループ 0 – – 12 3

表 4-81 : DDR3/DDR4 4Gb (x8) DRAM のアドレス マッピングの比較 (続き)

DRAM アドレスDDR3 4Gb (x8) DDR4 4Gb (x8)

ROW_BANK_COLUMN ROW_COLUMN_BANK ROW_BANK_COLUMN ROW_COLUMN_BANK

Page 130: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 130PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

表 4-82 の例は、app_addr の 初の 12 個のアドレスが両方のマッピング方式でどのよ うに DRAM アドレスにデコード され、グループ FSM にマッピングされるかを示しています。 ROW_BANK_COLUMN 方式では、 このアドレス範囲ではグループ FSM 0 にしかマッピングされません。

16 ページの 「メモ リ コン ト ローラー」 で説明したよ うに、 グループ FSM はページ ヒ ッ トに対しても 3 システム クロ ッ ク サイクル (12 DRAM ク ロ ッ ク サイクル) ごとに 1 回 CAS コマンドを発行できます。 したがって 1 つのグループ FSM のみが長時間にわたって DRAM にページ ヒ ッ ト コマンドを発行した場合、 大効率は 33% です。

表 4-82 に示すよ うに、ROW_COLUMN_BANK を選択した場合はこれら 12 個のアドレスが 8 つの DRAM バンクおよびコン ト ローラーの 4 つのグループ FSM すべてに均等にマッピングされます。 これによ り 8 つの 「ページ エンプティ」 ト ランザクシ ョ ンが生成され、 8 つの DRAM バンクすべてが開き、 オープン バンクに対してページ ヒ ッ トが発行されます。

4 つのグループ FSM すべてがページ ヒ ッ ト を発行した場合、 アドレス インク リ メン ト パターンが続く限り、 またはリ フレッシュ コマンドによってパターンが中断されるまで、 あるいは DQ バス ターンアラウンドなどのためにバスデッ ド タイムが発生するまで、 100% の効率が得られます。 図 4-15 は、 ROW_BANK_COLUMN を選択した場合のグループ FSM の発行をよ り大きなアドレス範囲にわたって示しています。 初の 2k アドレスは 2 つの DRAM バンクにマッピングされていますが、 グループ FSM は 1 つにしかマッピングされていません。

表 4-82 : DDR3/DDR4 4Gb (x8) における app_addr のマッピング例

app_addrDDR3 4Gb (x8) ROW_BANK_COLUMN DDR3 4Gb (x8) ROW_COLUMN_BANK

行 列 バンク Group_FSM 行 列 バンク Group_FSM

0x58 0x0 0x58 0x0 0 0x0 0x8 0x6 3

0x50 0x0 0x50 0x0 0 0x0 0x8 0x4 2

0x48 0x0 0x48 0x0 0 0x0 0x8 0x2 1

0x40 0x0 0x40 0x0 0 0x0 0x8 0x0 0

0x38 0x0 0x38 0x0 0 0x0 0x0 0x7 4

0x30 0x0 0x30 0x0 0 0x0 0x0 0x5 3

0x28 0x0 0x28 0x0 0 0x0 0x0 0x3 2

0x20 0x0 0x20 0x0 0 0x0 0x0 0x1 0

0x18 0x0 0x18 0x0 0 0x0 0x0 0x6 3

0x10 0x0 0x10 0x0 0 0x0 0x0 0x4 2

0x8 0x0 0x8 0x0 0 0x0 0x0 0x2 1

0x0 0x0 0x0 0x0 0 0x0 0x0 0x0 0

Page 131: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 131PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

図 4-16 に、 ROW_COLUMN_BANK を選択した場合のアドレス マップをグラフで示します。 なお、 このグラフのアドレス範囲は 8K バイ トではなく 64 バイ トであるこ とに注意して ください。 この図は、 表 4-82 のアドレス デコードと同じ情報をグラフにしたものです。 メモ リ空間を 小ステップ サイズでインク リ メ ン トするアドレス パターンの場合、 ROW_COLUMN_BANK を選択した方が効率は高くなる傾向があ り ます。

X-Ref Target - Figure 4-15

図 4-15 : DDR3 4 Gb (x8)、 ROW_BANK_COLUMN の場合のアドレス マップ

Page 132: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 132PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

ROW_COLUMN_BANK を選択した場合、 すべてのステップ サイズで必ずしも高いバス効率が得られるわけではないこ とに注意して ください。 たとえばステップ サイズが 16 バイ トの場合を考えてみます。 この場合は 2 つのグループFSM にしかマッピングされないため、 大効率は 67% とな り ます。ステップ サイズが 32 バイ トの場合は 1 つのグループ FSM にしかマッピングされず、 大効率は ROW_BANK_COLUMN の場合と同じ 33% にとどま り ます。 app_addrアドレス空間でのステップ サイズが 1k よ り小さ く可変なアドレス パターンの場合、ROW_COLUMN_BANK の方が効率が高くなる可能性がはるかに大き くなり ます。

DDR4 にも同じグループ FSM の問題があり ます。アドレス インク リ メン ト パターンで DDR4 の ROW_BANK_COLUMNを選択した場合、 初の 4k ト ランザクシ ョ ンは 1 つのグループ FSM にマッピングされる と同時に、1 つの DRAM バンク グループ内の複数バンクにマッピングされます。 DRAM には tCCD_L のタイ ミ ング制約があるため、 アドレスインク リ メン ト パターンの効率が制限されます。 この場合、 グループ FSM が 1 つのため、 コン ト ローラーの制約はよ り大き くな り ます。 この場合も 大効率が 33% に制限されます。

ROW_COLUMN_BANK を選択した場合、アドレス インク リ メン ト パターンによって小さなアドレス範囲ですべてのDRAM バンク とバンク グループ、 およびすべてのグループ FSM にインターリーブされます。

X-Ref Target - Figure 4-16

図 4-16 : DDR3 4 Gb (x8)、 ROW_COLUMN_BANK の場合のアドレス マップ

Page 133: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 133PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

図 4-17 に、 DDR4 4Gb (x8) で ROW_COLUMN_BANK を選択した場合の app_addr の 初の 128 バイ トのアドレスマップを示します。 このグラフを見る と、 すべての DRAM バンク とバンク グループ、 およびコン ト ローラの 4 つのグループ FSM すべてに均等にアドレスがマッピングされています。

ユーザー インターフェイス側でのアドレス パターンがどの程度の DRAM 効率につながるかを判断するには、DRAMア ド レスへのマッピングだけでな く コン ト ローラーのグループ FSM へのマッ ピングも考慮する必要があ り ます。表 4-83 に、 app_addr アドレスをグループ FSM にマッピングする app_addr ビッ ト を 4Gb コンポーネン ト と 8Gbコンポーネン トのそれぞれについて示します。

X-Ref Target - Figure 4-17

図 4-17 : DDR4 4Gb (x8)、 ROW_COLUMN_BANK の場合のアドレス マップ

表 4-83 : 4Gb および 8Gb の場合の DDR3/DDR4 マッピングの比較

メモリ タイプ DDR3 DDR4

マッピング方法 ROW_BANK_COLUMN ROW_COLUMN_BANK ROW_BANK_COLUMN ROW_COLUMN_

BANK

DRAM コンポーネン ト幅 x4 x8 x16 x4、 x8、 x16 x4、 x8 x16 x4、 x8、 x16

コンポーネン ト集積度 – – – – – – –

4Gb 13,12 12,11 12,11 4,3 13,12 12,10 4,3

8Gb 14,13 13,12 12,11 4,3 13,12 12,10 4,3

Page 134: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 134PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

例と して、 一度に 4 つの DDR3 バンクのみを使用して高い効率を得る方法を考えてみます。 こ こでは 4Gb (x8) コンポーネン ト を使用し、 ROW_COLUMN_BANK を選択したと仮定します。 そして、 バンク 0、 1、 2、 3 のページを 1 つずつ開いて各バンクの 4 つの列アドレスに ト ランザクシ ョ ンを発行します。 「アドレス マッピング」 に示したアドレス マップよ り、 この DRAM シーケンスにデコード される app_addr パターンを求めます。 そして表 4-83 に示したグループ FSM マップよ り、 この app_addr パターンがどのよ うにグループ FSM にマッピングされるかを求めます。表 4-84 にその結果を示します。

表 4-84 に示した 4 つのバンクを使用するパターンは DRAM のみを見れば効率がよいものの、 コン ト ローラーは 4 つあるグループ FSM のうち 2 つしか使用しておらず、 大効率は 67% にとどま り ます。 実際には、 tRCD などほかのタイ ミ ング制約もあるため、 効率はさ らに低下します。 表 4-85 に示すよ うに、 すべての偶数バンクを開いて各バンクに 4 つのト ランザクシ ョ ンを送信するバンク パターンの方が効率が向上します。

表 4-84 : DDR3 4Gb (x8) で 4 つのバンクを使用するパターン

app_addrバンク 0、 1、 2、 3 のパターン、 DDR3 4Gb (x8)、

ROW_COLUMN_BANK

行 列 バンク Group_FSM

0xE8 0x0 0x18 0x3 1

0xC8 0x0 0x18 0x2 1

0xE0 0x0 0x18 0x1 0

0xC0 0x0 0x18 0x0 0

0xA8 0x0 0x10 0x3 1

0x88 0x0 0x10 0x2 1

0xA0 0x0 0x10 0x1 0

0x80 0x0 0x10 0x0 0

0x68 0x0 0x8 0x3 1

0x48 0x0 0x8 0x2 1

0x60 0x0 0x8 0x1 0

0x40 0x0 0x8 0x0 0

0x28 0x0 0x0 0x3 1

0x08 0x0 0x0 0x2 1

0x20 0x0 0x0 0x1 0

0x00 0x0 0x0 0x0 0

表 4-85 : DDR3 4Gb (x8) で 4 つの偶数バンクを使用するパターン

app_addrバンク 0、 2、 4、 6 のパターン、 DDR3 4Gb (x8)、

ROW_COLUMN_BANK

行 列 バンク Group_FSM

0xD8 0x0 0x18 0x6 3

0xD0 0x0 0x18 0x4 2

0xC8 0x0 0x18 0x2 1

0xC0 0x0 0x18 0x0 0

0x98 0x0 0x10 0x6 3

0x90 0x0 0x10 0x4 2

Page 135: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 135PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

このよ うに偶数バンクを使用するパターンでは 4 つのグループ FSM をすべて利用でき、 先ほどのパターンよ り も高い効率が得られます。

コン ト ローラーの HOL (Head of Line) ブロッキングおよびルックアヘッ ド

16 ページの 「メモ リ コン ト ローラー」 で説明したよ うに、 各グループ FSM には HOL (Head of Line) ブロ ッキングを緩和して効率を高めるこ とを目的と した ト ランザクシ ョ ン FIFO があ り ます。 HOL ブロッキングとは、 1 つ以上のグループ FSM が完全に占有されて新しい ト ランザクシ ョ ンを受け付ける こ とのできない状態のと き、 ユーザー インターフェイスのコマンド ポートに入力された ト ランザクシ ョ ンがこれらグループ FSM のいずれかにマッピングされた場合に発生します。 この場合、 ビジーなグループ FSM に対する新しい ト ランザクシ ョ ン発行に遅延が生じるだけでなく、 アイ ドル状態にあるほかのすべてのグループ FSM でも遅延が生じます。

効率を高めるには、 なるべく多くのグループ FSM が並列にビジーになるよ うにする必要があ り ます。 ユーザー インターフェイスに入力された ト ランザクシ ョ ンを別のグループ FSM にマッピングするよ うに変更するこ と も考えられますが、 どの FSM に新しい ト ランザクシ ョ ンを受け付ける余裕があるかはユーザー インターフェイス側からはわかり ません。 ト ランザクシ ョ ン FIFO は、 このよ うな HOL ブロ ッキングの発生を遅らせる効果があ り ます。つま り、 この FIFO がフルになったグループ FSM に UI コマンドがマッピングされるまで HOL ブロ ッキングは発生しません。

グループ FSM の FIFO にはターゲッ ト ランクおよびバンクのページ ステータスによって 大 6 つのト ランザクシ ョンを保持できます。 この FIFO は 2 つのステージで構成されており、 「ルッ クアヘッ ド」 機能も実装しています。新しい ト ランザクシ ョ ンは 初の FIFO ステージに格納され、 FIFO の先頭に達する と処理されます。 次に、 ト ランザクシ ョ ンのページ ステータスに応じてグループ FSM は ト ランザクシ ョ ン ページを開くためのアービ ト レーシ ョ ンを実行するか、 ページが既に開いている場合はこのページ ヒ ッ ト を 2 番目の FIFO ステージへプッシュします。 この方式では、 複数のページ ヒ ッ ト をキューに格納しながらグループ FSM はオープンする必要のあるページに対する論理FIFO をルッ クアヘッ ド します。 キューに対するルッ クアヘッ ド機能を利用する と、 グループ FSM は複数のト ランザクシ ョ ンに対する DRAM コマンドを DDR バスにインターリーブできます。 これによ り、 ページのオープン/ク ローズに伴う DRAM tRCD および tRP タイ ミ ングを隠蔽できます。

次に示すタイ ミ ング図は、 UI からグループ FSM を経て DDR コマンド バスに至るまでの一連のト ランザクシ ョ ン フローを概念図と して示したものです。 概念図とい うのは、 UI から DDR バスまでのレイテンシを考慮しておらず、DRAM タイ ミ ング要件を完全には満たしていないためです。ただし厳密なタイ ミ ングは正確でないものの、この図はこ こでのコン ト ローラーの説明に必要な DRAM プロ ト コルには従っています。

0x88 0x0 0x10 0x2 1

0x80 0x0 0x10 0x0 0

0x58 0x0 0x8 0x6 3

0x50 0x0 0x8 0x4 2

0x48 0x0 0x8 0x2 1

0x40 0x0 0x8 0x0 0

0x18 0x0 0x0 0x6 3

0x10 0x0 0x0 0x4 2

0x08 0x0 0x0 0x2 1

0x00 0x0 0x0 0x0 0

表 4-85 : DDR3 4Gb (x8) で 4 つの偶数バンクを使用するパターン (続き)

app_addrバンク 0、 2、 4、 6 のパターン、 DDR3 4Gb (x8)、

ROW_COLUMN_BANK

行 列 バンク Group_FSM

Page 136: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 136PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

この図では、UI に 4 つのト ランザクシ ョ ンが発行されています。 初の 3 つのト ランザクシ ョ ンはグループ FSM0 に割り当てられ、 4 番目のト ランザクシ ョ ンはグループ FSM1 に割り当てられています。 システム ク ロ ッ ク サイクル 1で、 FSM0 は行 0、 列 0、 バンク 0 に対する ト ランザクシ ョ ン 1 をステージ 1 FIFO に取り込み、 アクティベート コマンドを発行します。

ク ロ ッ ク サイクル 2 で ト ランザクシ ョ ン 1 が FSM0 のステージ 2 FIFO へ移動し、 ト ランザクシ ョ ン 2 が FSM0 のステージ 1 FIFO に取り込まれます。ク ロ ッ ク サイクル 2 ~ 4 で、FSM0 はト ランザクシ ョ ン 1 に対して CAS コマンド、ト ランザクシ ョ ン 2 に対してアクティベート コマンドを発行するためのアービ ト レーシ ョ ンを実行します。ト ランザクシ ョ ン 1 はまだ完了していませんが、 FSM0 はルッ クアヘッ ド機能によって ト ランザクシ ョ ン 2 に対するコマンドのスケジューリ ングを実行します。 これらの DRAM コマンドがアービ ト レーシ ョ ンによって優先権を獲得する時間は tRCD などの DRAM タイ ミ ングおよびパイプライン遅延によって決ま り ます。DDR コマンド バスの欄でコマンドの間隔が開いているのはこのためです。

クロ ッ ク サイ クル 3 で ト ランザクシ ョ ン 3 が FSM0 のステージ 1 FIFO に取り込まれますが、 クロ ッ ク サイクル 5 でこの ト ランザクシ ョ ンがステージ 1 FIFO の先頭に来るまでは処理されません。 クロ ッ ク サイクル 5 で FSM0 はト ランザクシ ョ ン 2 に対する CAS コマンド発行のためのアービ ト レーシ ョ ンを実行しながら ト ランザクシ ョ ン 3 に対するルッ クアヘッ ドを開始します。 後に、 ク ロ ッ ク サイ クル 4 で ト ランザクシ ョ ン 4 が FSM1 のステージ 1 FIFO に取り込まれます。 FSM0 の FIFO が 3 段以上ない場合、 ト ランザクシ ョ ン 4 はクロ ッ ク サイ クル 6 までブロ ッ ク されます。

ト ランザクシ ョ ン フロー

システム ク ロ ッ ク サイクル

1 2 3 4 5 6 7 8 9 10 11 12 13

UI ト ランザクション番号

1 2 3 4 – – – – – – – – –

UI ト ランザクション

R0、C0、B0

R0、C0、B1

R1、C0、B0

R0、C0、B2

– – – – – – – – –

FSM0 FIFO ステージ 2

–R0、C0、B0

R0、C0、B0

R0、C0、B0

R0、C0、B1

R0、C0、B1

R0、B0、B1

– –R1、C0、B0

R1、C0、B0

R1、C0、B0

FSM0 FIFO ステージ 1

R0、C0、B0

R0、C0、B1

R0、C0、B1R1、C0、B0

R0、C0、B1R1、C0、B0

R1、C0、B0

R1、C0、B0

R1、C0、B0

R1、C0、B0

R1、C0、B0

– – – –

FSM1 FIFO ステージ 2

– – – – –R0、C0、B2

R0、C0、B2

R0、C0、B2

– – – – –

FSM1 FIFO ステージ 1

– – –R0、C0、B2

R0、C0、B2

– – – – – – – –

DDR コマンド バス

Act R0、B0

– –Act R0、B1

ACT R0、B2CAS C0、B0

Pre B0

–CAS C0、B1

Act R1、B0CAS C0、B2

– – –CAS C0、B0

Page 137: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 137PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

この図には効率の高いト ランザクシ ョ ン パターンは示していません。ページ ヒ ッ トがな く、 グループ FSM は 2 つしか使用していません。しかしこの例に示したよ うに、1 つのグループ FSM によって複数のト ランザクシ ョ ンの DRAMコマンドを DDR バスにインターリーブするこ とで UI のブロッキングが 小限に抑えられ、効率が改善するこ とがわかり ます。

オートプリチャージ

メモ リ コン ト ローラーはデフォルトではページ オープン ポ リシーを採用します。 保留中のト ランザクシ ョ ンがなくてもバンクをオープンのままにします。 バンクを閉じるのは、 リ フレッシュが必要になった場合、 ページ ミ ス ト ランザクシ ョ ンが処理されている場合、 および RDA または WRA CAS コマンドの ト ランザクシ ョ ンを発行するよ うに明示的に指示された場合のみです。 UI の app_autoprecharge ポート を使用する と、 ト ランザクシ ョ ン処理中のCAS コマンド フェーズで ト ランザクシ ョ ン単位でコン ト ローラーに対して RDA または WRA コマンドを発行するよう明示的に指示できます。 今後どのよ うな ト ランザクシ ョ ンが UI に送信されるかがわかっている場合は、 この信号を使用して効率を高めるこ とができます。

次に示す図は、前のセクシ ョ ンで示したルッ クアヘッ ドの例を一部変更したものです。前の図のクロ ッ ク サイクル 3で UI に入力されたページ ミ ス ト ランザクシ ョ ンをクロ ッ ク サイクル 9 へ移動しています。この場合コン ト ローラーは 「ルッ クアヘッ ド」 できず、 ク ロ ッ ク サイ クル 9 になるまでページ ミ スを知るこ とができないため、 ク ロ ッ ク サイクル 6 でバンク 0 に対してプリチャージを発行します。しかし クロ ッ ク サイ クル 1 のト ランザクシ ョ ン 1 がバンク0/行 0 に対する唯一のト ランザクシ ョ ンであるこ とがわかっていれば、クロ ッ ク サイ クル 1 で app_autoprechargeポート をアサートできます。 こ うする と、 ク ロ ッ ク サイ クル 5 のト ランザクシ ョ ン 1 に対する CAS コマンドが RDAまたは WRA とな り、サイ クル 9 のバンク 0/行 1 に対する ト ランザクシ ョ ンはページ ミ スでなくな り ます。サイ クル9 のト ランザクシ ョ ンは、 tRP の後にアクティベートが続くプ リチャージと してではなく、 アクティベート コマンドと してのみ必要です。

ト ランザクシ ョ ン フロー

システム ク ロ ッ ク サイクル

1 2 3 4 5 6 7 8 9 10 11 12 13

UI ト ランザクション番号

1 2 – 3 – – – – 4 – – – –

UI ト ランザクション

R0、 C0、 B0オートプ リチャージ

R0、C0、B1

–R0、C0、B2

– – – –R1、C0、B0

– – – –

FSM0 FIFO ステージ 2

–R0、C0、B0

R0、C0、B0

R0、C0、B0

R0、C0、B1

R0、C0、B1

R0、B0、B1

– –R1、C0、B0

R1、C0、B0

R1、C0、B0

FSM0 FIFO ステージ 1

R0、 C0、 B0R0、C0、B1

R0、C0、B1

R0、C0、B1

– – – –R1、C0、B0

– – – –

FSM1 FIFO ステージ 2

– – – – –R0、C0、B2

R0、C0、B2

R0、C0、B2

– – – – –

FSM1 FIFO ステージ 1

– – –R0、C0、B2

R0、C0、B2

– – – – – – – –

DDR コマンド バス

Act R0、 B0 – –Act R0、B1

Act R0、B2CAS-A C0、B0

– –CAS C0、B1

Act R1、B0CAS C0、B2

– – –CAS C0、B0

Page 138: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 138PG150 2015 年 4 月 1 日

第 4 章 : コアを使用するデザイン

一般に、 ページへの 後のト ランザクシ ョ ンで app_autoprecharge をアサートする と効率が向上します。 極端な例と して、 ページ ヒ ッ トがまったく発生しないアドレス パターンが挙げられます。 この場合、 UI へ発行するすべての ト ランザクシ ョ ンで app_autoprecharge をアサートするのが理想的です。

ユーザー リフレッシュおよび ZQCSメモ リ コン ト ローラーは、DRAM タイ ミ ング要件を満たすよ うに DRAM リ フレッシュおよび ZQCS メ ンテナンス コマンドを自動的に生成するよ うに設定できます。このモードでは、コン ト ローラーはメンテナンス コマンドを発行するために UI ト ランザクシ ョ ンを定期的にブロ ッ クするため、 効率が低下します。

UI ト ラフ ィ ッ ク パターンがわかっている場合、DRAM メ ンテナンス コマンドをユーザーがスケジューリ ングしてシステム効率への影響を軽減できるこ とがあ り ます。 コン ト ローラーをユーザー リ フレ ッシュおよび ZQCS モードに設定した場合は、UI の app_ref および app_zq ポート を使用してこれらのコマンドをスケジューリ ングします。 このモードでは、 コン ト ローラーは DRAM メ ンテナンス コマンドをスケジューリ ングせず、 app_ref および app_zqポー ト の信号のみに基づいてこれらのコマン ド を発行します。 このため、 リ フレ ッシュおよび ZQCS コマン ドがDRAM タイ ミ ング要件を完全に満たすよ うにユーザーが注意する必要があ り ます。

たとえばシステムと DRAM との間で大量のデータを移動する必要があ り、 50µs の周期で効率を 大限に高めたい場合を考えてみます。 メンテナンス コマンドをコン ト ローラーでスケジューリ ングした場合、 この 50µs のデータ バース ト の間に リ フレ ッシュによる中断が何度も発生するため、 効率が約 4% 低下します。 これに対し、 ユーザー リ フレッシュ モードでは 50µs のバース トの間はリ フレッシュを延期して後から実行するよ うにスケジューリ ングできます。 DRAM 仕様では 大 8 つのリ フレッシュを延期できるため、 9 × tREFI の期間でリ フレッシュ コマンドを柔軟にスケジューリ ングでき、 この例のよ うに 50µs の期間は十分にカバーできます。

このよ うにユーザー リ フレッシュおよび ZQCS モードでは効率を 適化できますが、 正し く使用しないと DRAM タイ ミ ング違反となり DRAM のデータが失われる可能性があ り ます。このモードを使用する場合は、DRAM のリ フレッシュおよび ZQCS に関する要件と UI の app_ref および app_zq ポートの動作を十分に理解しておく必要があ り ます。 UI ポートの動作については、 「ユーザー インターフェイス」 を参照してください。

周期的読み出し

FPGA の DDR PHY では、 1µs ごとに DRAM RD または RDA コマンドを 1 回以上発行する必要があ り ます。 この要件については、 「ユーザー インターフェイス」 で説明しています。 UI 側の ト ランザクシ ョ ン パターンがこの要件を満たしていない場合、 コン ト ローラーは読み出しが実行されていないこ とを検出して読み出し ト ランザクシ ョ ンをグループ FSM0 へ挿入します。 こ う して挿入された読み出し ト ランザクシ ョ ンは、 コン ト ローラーによる通常のト ランザクシ ョ ン発行メカニズムに従って DRAM に発行されます。主な違いは、読み出しデータが UI に返されないという点です。 これは、 DRAM の帯域幅が無駄に消費されるためです。

PHY の周期的読み出し要件によって も影響を受けるのは、書き込みト ランザクシ ョ ンを長時間継続するよ うなユーザー インターフェイス パターンです。たとえば読み出し と書き込みのト ランザクシ ョ ン比が 50/50 のパターンであっても、 2µs の間はページ ヒ ッ ト読み出しバース トのみ、 次の 2µs の間はページヒ ッ ト書き込みバース トのみという動作を交互に繰り返すパターンを考えてみます。 この 2µs の書き込みバース ト中に少なく と も 1 回読み出しが挿入されます。 このため、読み出しコマンドによる効率の低下、 そして DRAM および DDR バスを読み出し と書き込みのたびに切り替えるターンアラウンド タイムによる効率の低下が生じます。 こ よ うに 2µs のバース ト を交互に繰り返すパターンは、 1µs ごとに読み出し と書き込みを交互に繰り返すパターンよ り も効率は若干高くな り ます。 1µs 以下の長さでバース ト を交互に繰り返すパターンの場合、コン ト ローラーは読み出し ト ランザクシ ョ ンを挿入する必要はあ りませんが、 読み出し と書き込みのターンアラウンド タイムが大き くな り ます。

バス ターンアラウンド タイムは効率への影響が非常に大きいため、 なるべく避ける必要があ り ます。 DRAM に対する書き込みで も効率が高いのは 2µs を超える長さのページ ヒ ッ ト書き込みバース トですが、 大書き込み効率を計算する際は 1µs ごとに発生する書き込み-読み出し -書き込みのターンアラウンド タイムの影響を考慮に入れる必要があ り ます。

Page 139: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 139PG150 2015 年 4 月 1 日

第 5 章

デザイン フローの手順この章では、 コアのカスタマイズと生成、 制約、 およびシ ミ ュレーシ ョ ン/合成/インプ リ メ ンテーシ ョ ンの手順について説明します。一般的な Vivado® デザイン フローおよび Vivado IP インテグレーターの詳細は、次の Vivado DesignSuite ユーザー ガイ ドを参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 6]

• 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7]

• 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 8]

• 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9]

コアのカスタマイズおよび生成

注意 : Windows オペレーティング システムにはファ イル パスの文字数に 260 文字の制限があるため、 Vivado ツール使用時に問題が発生するこ とがあ り ます。 この問題を避けるため、 プロジェク トの作成、 IP またはマネージド IP プロジェク トの定義、ブロ ッ ク デザインの作成時にはパス名がなるべく短くなるよ うにディ レク ト リの位置に注意してください。

こ こでは、 ザイ リ ンクスのツールを使用し、 Vivado Design Suite でコアをカスタマイズおよび生成する方法について説明します。

Vivado IP インテグレーターでコアをカスタマイズおよび生成する場合は、 『Vivado Design Suite ユーザー ガイ ド : IPインテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 6] を参照してください。IP インテグレーターは、デザインの検証または生成時に一部のコンフ ィギュレーシ ョ ン値を自動的に計算する場合があ り ます。値が変更されるか否かを確認するには、 この章のパラ メーターの説明を参照して ください。 パラ メーター値を確認するには、 Tclコンソールから validate_bd_design コマンドを実行して ください。

IP はユーザー デザインに合わせてカスタマイズできます。 それには、 IP コアに関連する各種パラ メーターの値を次の手順に従って指定します。

1. IP カタログから IP を選択します。

2. 選択した IP をダブルク リ ッ クするか、 ツールバーまたは右ク リ ッ ク メニューから [Customize IP] コマンドをクリ ッ ク します。

Vivado ツールでコアを生成する方法の詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] および 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 8] を参照してください。

注記 : この章の図には Vivado 統合設計環境 (IDE) のスク リーンシ ョ ッ トが使用されていますが、現在のバージ ョ ンとはレイアウ トが異なる場合があ り ます。

Page 140: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 140PG150 2015 年 4 月 1 日

第 5 章 : デザイン フローの手順

[Basic] タブ

MIG を起動する と、 [Basic] タブが表示されます (図 5-1)。

Vivado IDE を使用する場合は、 すべてのコン ト ローラー (DDR3、 DDR4、 QDR II+、 RLDRAM 3) を作成してインスタンシエートできます。

IP インテグレーターで作成できるコン ト ローラー インスタンスは 1 つのみで、インスタンシエートできるコン ト ローラーは次の 2 種類のみです。

• DDR3

• DDR4

1. プルダウン メニューでコン ト ローラーを追加した後、 [Mode and Interface] でコン ト ローラーを設定します。[AXI4 Interface] または [Generate the PHY component only] をオンにします。

2. [Clocking]、 [Controller Options]、 [Memory Options]、 [AXI Options]、 [Advanced User Request Controller Options]を設定します。

[Clocking] では、 [Memory Device Interface Speed] でインターフェイスの速度を設定します。 こ こで入力した速度によって、[Reference Input Clock Speeds] で選択できる項目が変化します。ク ロ ッキング構造の詳細は、61 ページの 「ク ロ ッキング」 を参照してください。

X-Ref Target - Figure 5-1

図 5-1 : Vivado の [Customize IP] ダイアログ ボックス – [Basic] タブ

Page 141: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 141PG150 2015 年 4 月 1 日

第 5 章 : デザイン フローの手順

3. デフォルトの MIG GUI で対応していないメモ リ デバイスも、 カスタム デバイスの CSV ファ イルを作成する と利用できます。詳細は AR# 63462 を参照してください。[Enable Custom Parts Data File] をオンにして、この CSVファ イルを指定します。 CSV ファ イルを指定する と、 デフォルトのメモ リ デバイス以外にカスタム メモ リ デバイスも表示されます。

重要 : AXI デザインの場合、 [Data Mask] は常にオンの状態で淡色表示され、 ユーザーは変更できません。 AXI インターフェイスでは Read-Modify-Write (RMW) がサポート され、 データ マスク ビッ トの特定のバイ ト を RMW でマスクする必要があ り ます。 このため、 AXI インターフェイスを利用したデザインでは DM が常に有効です。 ただしデータ幅が 72 ビッ トの場合のみ例外です。72 ビッ ト インターフェイスの場合は ECC が有効とな り、 [Data Mask] はオフのまま淡色表示されます。 72 ビッ ト デザインで DM を有効にする と ECC 計算との互換性が失われるため、 DM は常に無効です。

[Advanced] タブ

次に、[Advanced] タブで設定を行います (図 5-2)。 このタブには、使用するコン ト ローラーに関して [FPGA Options]、[Debug Signals for controller]、 [Simulation Options]、 [Clock Options] の設定項目があ り ます。

重要 : 現在のリ リースでは、 [Advanced] タブで選択できるパラ メーター オプシ ョ ンには制限があ り ます。

X-Ref Target - Figure 5-2

図 5-2 : Vivado の [Customize IP] ダイアログ ボックス – [Advanced] タブ

Page 142: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 142PG150 2015 年 4 月 1 日

第 5 章 : デザイン フローの手順

[I/O Planning] タブ

図 5-3 に [I/O Planning] タブを示します。 この画面の説明にあるよ うに、 I/O ピン配置の機能は [Customize IP] ダイアログ ボッ クスから削除されました。

MIG I/O ピン配置の詳細は、 「MIG I/O ピン配置」 を参照して ください。

X-Ref Target - Figure 5-3

図 5-3 : Vivado の [Customize IP] ダイアログ ボックス – [I/O Planning] タブ

Page 143: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 143PG150 2015 年 4 月 1 日

第 5 章 : デザイン フローの手順

[MIG Design Checklist] タブ

図 5-4 に [MIG Design Checklist] タブを示します。 この画面には、 MIG デザイン チェッ ク リ ス トの使用に関する説明が記載されています。

ユーザー パラメーター

表 5-1 に、 Vivado IDE の GUI フ ィールド とユーザー パラ メーターの対応関係を示します。 ユーザー パラ メーターはTcl コンソールで表示できます。

X-Ref Target - Figure 5-4

図 5-4 : Vivado の [Customize IP] ダイアログ ボックス – [MIG Design Checklist] タブ

表 5-1 : Vivado IDE のパラメーターとユーザー パラメーターの対応

Vivado IDE のパラメーター /値(1) ユーザー パラメーター /値(1) デフォルト値

[System Clock Configuration] System_Clock Differential

[Internal VREF] Internal_Vref TRUE

[DCI Cascade] DCI_Cascade FALSE

[Debug Signals for Controller] Debug_Signal Disable

[Clock 1 (MHz)] ADDN_UI_CLKOUT1_FREQ_HZ None

[Clock 2 (MHz)] ADDN_UI_CLKOUT2_FREQ_HZ None

[Clock 3 (MHz)] ADDN_UI_CLKOUT3_FREQ_HZ None

Page 144: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 144PG150 2015 年 4 月 1 日

第 5 章 : デザイン フローの手順

[Clock 4 (MHz)] ADDN_UI_CLKOUT4_FREQ_HZ None

[I/O Power Reduction] IOPowerReduction OFF

[Enable System Ports] Enable_SysPorts TRUE

[I/O Power Reduction] IO_Power_Reduction FALSE

[Default Bank Selections] Default_Bank_Selections FALSE

[Reference Clock] Reference_Clock FALSE

[Enable System Ports] Enable_SysPorts TRUE

DDR3

[AXI4 Interface] C0.DDR3_AxiSelection FALSE

[Clock Period (ps)] C0.DDR3_TimePeriod 1,071

[Input Clock Period (ps)] C0.DDR3_InputClockPeriod 13,947

[General Interconnect to Memory Clock Ratio] C0.DDR3_PhyClockRatio 4:1

[Data Width] C0.DDR3_AxiDataWidth 64

[Arbitration Scheme] C0.DDR3_AxiArbitrationScheme RD_PRI_REG

[Address Width] C0.DDR3_AxiAddressWidth 27

[AXI4 Narrow Burst] C0.DDR3_AxiNarrowBurst FALSE

[Configuration] C0.DDR3_MemoryType Components

[Memory Part] C0.DDR3_MemoryPart MT41J128M16JT-093

[Data Width] C0.DDR3_DataWidth 8

[Data Mask] C0.DDR3_DataMask TRUE

[Burst Length] C0.DDR3_BurstLength 8

[RTT (nominal)-ODT] C0.DDR3_OnDieTermination RZQ/4

[CAS Latency] C0.DDR3_CasLatency 11

[CAS Write Latency] C0.DDR3_CasWriteLatency 9

[Chip Select] C0.DDR3_ChipSelect TRUE

[Memory Address Map] C0.DDR3_Mem_Add_Map ROW_COLUMN_BANK

[Memory Voltage] C0.DDR3_MemoryVoltage 1.5

[ECC] C0.DDR3_Ecc FALSE

[Ordering] C0.DDR3_Ordering Normal

[Burst Type] C0.DDR3_BurstType Sequential

[Output Driver Impedance Control] C0.DDR3_OutputDriverImpedanceControl RZQ/7

[AXI ID Width] C0.DDR3_AxiIDWidth 4

[Capacity] C0.DDR3_Capacity 512

DDR4

[AXI4 Interface] C0.DDR4_AxiSelection FALSE

[Clock Period (ps)] C0.DDR4_TimePeriod 938

[Input Clock Period (ps)] C0.DDR4_InputClockPeriod 104,045

[General Interconnect to Memory Clock Ratio] C0.DDR4_PhyClockRatio 4:1

[Data Width] C0.DDR4_AxiDataWidth 64

表 5-1 : Vivado IDE のパラメーターとユーザー パラメーターの対応 (続き)

Vivado IDE のパラメーター /値(1) ユーザー パラメーター /値(1) デフォルト値

Page 145: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 145PG150 2015 年 4 月 1 日

第 5 章 : デザイン フローの手順

出力生成

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照してください。

MIG I/O ピン配置MIG I/O ピン配置は、 Vivado の I/O ピン配置機能を利用したデザイン全体のピン配置の一部と して行います。 Vivadoの I/O ピン配置機能では、 [I/O Ports]、 [Package]、 [Memory Bank/Byte Planner] ウ ィンド ウなどいくつかの方法で MIGI/O ピンを選択して配置できます。 また、 XDC ファ イルをインポート、 または既存の XDC ファ イルを変更してピンを割り当てるこ と もできます。

これらのオプシ ョ ンはすべての MIG デザインで利用でき、複数の MIG IP インスタンスを 1 回の設定で完了できます。利用可能な MIG ピン配置オプシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] を参照して ください。

[Arbitration Scheme] C0.DDR4_AxiArbitrationScheme RD_PRI_REG

[Address Width] C0.DDR4_AxiAddressWidth 27

[AXI4 Narrow Burst] C0.DDR4_AxiNarrowBurst FALSE

[Configuration] C0.DDR4_MemoryType Components

[Memory Part] C0.DDR4_MemoryPart MT40A256M16HA-083

[Data Width] C0.DDR4_DataWidth 8

[Data Mask] C0.DDR4_DataMask TRUE

[Burst Length] C0.DDR4_BurstLength 8

[RTT (nominal)-ODT] C0.DDR4_OnDieTermination RZQ/6

[CAS Latency] C0.DDR4_CasLatency 14

[CAS Write Latency] C0.DDR4_CasWriteLatency 11

[Chip Select] C0.DDR4_ChipSelect TRUE

[Memory Address Map] C0.DDR4_Mem_Add_Map ROW_COLUMN_BANK

[Memory Voltage] C0.DDR4_MemoryVoltage 1.2

[ECC] C0.DDR4_Ecc FALSE

[Ordering] C0.DDR4_Ordering Normal

[Burst Type] C0.DDR4_BurstType Sequential

[Output Driver Impedance Control] C0.DDR4_OutputDriverImpedenceControl RZQ/7

[AXI ID Width] C0.DDR4_AxiIDWidth 4

[Capacity] C0.DDR4_Capacity 512

注記 :

1. パラ メーター値については、 Vivado IDE のパラ メーター値とユーザー パラ メーター値の異なるものを示しています。 これらの値は、 パラ

メーター名の下に字下げして表記しています。

表 5-1 : Vivado IDE のパラメーターとユーザー パラメーターの対応 (続き)

Vivado IDE のパラメーター /値(1) ユーザー パラメーター /値(1) デフォルト値

Page 146: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 146PG150 2015 年 4 月 1 日

第 5 章 : デザイン フローの手順

コアへの制約こ こでは、 Vivado Design Suite でコアに制約を指定する方法について説明します。

必須の制約

MIG Vivado IDE でピンのロケーシ ョ ン制約を指定します。I/O 規格およびその他の制約の詳細は、『Vivado Design Suiteユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] を参照して ください。 このロケーシ ョ ンは、デザインで選択したバンクおよびバイ ト レーンに基づいて Vivado IDE によって選択されます。

I/O 規格は、Vivado IDE で選択したメモ リ タイプと各種オプシ ョ ン、およびピン タイプによって選択されます。dq[0]のサンプルを次に示します。

set_property PACKAGE_PIN AF20 [get_ports "c0_ddr4_dq[0]"]set_property IOSTANDARD POD12_DCI [get_ports "c0_ddr4_dq[0]"]

DDR4 では常に内部 VREF を使用します。DDR3 では、内部 VREF の使用は任意です。DDR4 のサンプルを次に示します。

set_property INTERNAL_VREF 0.600 [get_iobanks 45]

注記 : 内部 VREF はツールによって自動で生成されます。 ユーザーが指定する必要はあ り ません。 この制約にリ ス トした VREF 値は PODL12 I/O では使用しません。 初期値は 0.84V に設定されます。 この電圧は、 インターフェイス性能が 大となるよ うにキャ リブレーシ ョ ン ロジッ クによって必要に応じて調整されます。

システム ク ロ ッ クは、 周期を適切に設定する必要があ り ます。

create_clock -name c0_sys_clk -period.938 [get_ports c0_sys_clk_p]

HR バンクの場合、 バンクのピンに割り当てられたすべてのポートの output_impedance を reset_property コマンドを使用して更新します。 詳細は、 アンサー : AR# 63852 を参照してください。

重要 : これらの制約を変更しないでください。ピン ロケーシ ョ ンに変更が必要な場合は、MIG Vivado IDE を再実行して XDC ファ イルを生成し直してください。

デバイス、 パッケージ、 スピード グレードの選択

このセクシ ョ ンは、 この IP コアには適用されません。

クロック周波数

このセクシ ョ ンは、 この IP コアには適用されません。

クロック管理

ク ロ ッキングの詳細は、 61 ページの 「ク ロ ッキング」 を参照してください。

クロック配置

このセクシ ョ ンは、 この IP コアには適用されません。

Page 147: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 147PG150 2015 年 4 月 1 日

第 5 章 : デザイン フローの手順

バンク設定

このセクシ ョ ンは、 この IP コアには適用されません。

ト ランシーバーの配置

このセクシ ョ ンは、 この IP コアには適用されません。

I/O 規格と配置

I/O 規格と配置は、 Vivado IDE で設定したインターフェイス タイプおよびオプシ ョ ンに基づいて MIG ツールによって適切に生成されます。

重要 : 起動時にキャ リブレーシ ョ ン プロセスが自動的に実行されるため、このデザインの外部メモ リ インターフェイス ピンには set_input_delay および set_output_delay 制約は必要あ り ません。 ピンのインプリ メンテーシ ョン中に表示される警告は無視できます。

シミ ュレーシ ョ ンVivado シ ミ ュレーシ ョ ン コンポーネン ト について、 またサポー ト されているサードパーテ ィ ツールについては、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。シ ミ ュレーシ ョ ンの詳細は、 第 6 章 「サンプル デザイン」 および第 7 章 「テス トベンチ」 を参照して ください。

合成およびインプリ メンテーシ ョ ン合成およびインプ リ メンテーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照して ください。

Page 148: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 148PG150 2015 年 4 月 1 日

第 6 章

サンプル デザインこの章では、 Vivado® Design Suite で提供されているサンプル デザインについて説明します。

Vivado は Open IP Example Design フローをサポート しています。このフローを用いてサンプル デザインを作成するには、 [IP Sources] タブで IP を右ク リ ッ ク して (図 6-1)、 [Open IP Example Design] をク リ ッ ク します。

これで新規 Vivado プロジェク トが作成されます。 [Open IP Example Design] をク リ ッ クする と、 新規デザイン プロジェク トのディ レク ト リ を入力するためのダイアログ ボッ クスが開きます。

ディ レク ト リ を選択するか、デフォルトのディ レク ト リのまま [OK] をク リ ッ ク します。 これでサンプル デザインのすべてのファイルと IP のコピーを含む新規 Vivado プロジェク トが起動します。

X-Ref Target - Figure 6-1

図 6-1 : [Open IP Example Design]

Page 149: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 149PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

図 6-2 に示すのは、 [Generate the PHY component only] をオンにして生成したサンプル デザイン (コン ト ローラー モジュールは生成されない) です。

X-Ref Target - Figure 6-2

図 6-2 : [Generate the PHY component only] をオンにして生成した IP サンプル デザイン

Page 150: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 150PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

図 6-3 に示すのは、 [Generate the PHY component only] をオフにして生成したサンプル デザイン (コン ト ローラー モジュールが生成される ) です。

サンプル デザインのシミ ュレーション (標準ユーザーインターフェイスのデザイン)このサンプル デザインには、シンプルな固定データ パターンを生成する合成可能なテス トベンチが付属します。MIGが生成するシンプル ト ラフ ィ ッ ク ジェネレーター (STG) には、 ネイティブ インターフェイス用の example_tb とPHY のみのインターフェイス用の example_tb_phy があ り ます。 ネイティブ インターフェイス用の STG は 100 回の書き込みと 100 回の読み出しを生成します。 PHY のみのインターフェイス用の STG は 10 回の書き込みと 10 回の読み出しを生成します。

サンプル デザインは、 以降のセクシ ョ ンで示すいずれかの方法でシ ミ ュレーシ ョ ンできます。

X-Ref Target - Figure 6-3

図 6-3 : [Generate the PHY component only] をオフにして生成した IP サンプル デザイン

Page 151: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 151PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

プロジェク ト ベースのシミ ュレーシ ョ ンこの方法では、Vivado 統合設計環境 (IDE) を使用してサンプル デザインをシ ミ ュレーシ ョ ンできます。MIG は DDR3用のメモ リ モデルと DDR4 用の IEEE 暗号化済みメモリ モデルを提供します。

Vivado シ ミ ュレータ、 Questa Sim、 IES、 VCS は、 すべてのバージ ョ ンで DDR3/DDR4 IP の検証を実施しています。DDR3/DDR4 IP 検証に使用した Vivado シ ミ ュレーシ ョ ン ツールは、 Vivado ツール 2015.1 リ リースのものです。 こ こからは、 これらの各シ ミ ュレータを用いてプロジェク ト ベースのシ ミ ュレーシ ョ ンを実行する手順について説明します。

Vivado シミ ュレータを用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. [Open IP Example Design] をク リ ッ ク して開いた Vivado プロジェク トの Flow Navigator で [Simulation Settings]をク リ ッ ク します。

2. [Target simulator] で [Vivado Simulator] をク リ ッ ク します。

a. [Simulation] タブで [xsim.simulate.runtime] を 1ms に設定します。これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、 1ms よ り もはるかに短い値から変更します (図 6-4)。 [Generate scripts only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate scripts only] をオフにする必要があ り ます。

3. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

Page 153: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 153PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

5. Vivado IDE から Vivado シ ミ ュレータが起動してシ ミ ュレーシ ョ ンが実行されます。詳細は、『Vivado Design Suiteユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

Questa Sim を用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. [Open IP Example Design] をク リ ッ ク して開いた Vivado プロジェク トの Flow Navigator で [Simulation Settings]をク リ ッ ク します。

2. [Target simulator] で [QuestaSim/ModelSim Simulator] をク リ ッ ク します。

a. [Compiled libraries location] でコンパイル済みライブラ リの位置を指定します。

b. [Simulation] タブで [modelsim.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、1ms よ り もはるかに短い値から変更します (図 6-6)。 [Generate scripts only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate scripts only] をオフにする必要があ り ます。 DDR3のシ ミ ュレーシ ョ ンの場合、 [modelsim.simulate.vsim.more_options] を [+model_data+./] に設定します。

3. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 6-5

図 6-5 : [Run Behavioral Simulation]

Page 155: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 155PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

5. Vivado IDE から Questa Sim が起動してシ ミ ュレーシ ョ ンが実行されます。詳細は、『Vivado Design Suite ユーザーガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

IES を用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. [Open IP Example Design] をク リ ッ ク して開いた Vivado プロジェク トの Flow Navigator で [Simulation Settings]をク リ ッ ク します。

2. [Target simulator] で [Incisive Enterprise Simulator (IES)] をク リ ッ ク します。

a. [Compiled libraries location] でコンパイル済みライブラ リの位置を指定します。

b. [Simulation] タブで [ies.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、 1ms よ り もはるかに短い値から変更します (図 6-8)。 [Generate scripts only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate scripts only] をオフにする必要があ り ます。DDR3 のシミ ュレーシ ョ ンの場合、 [modelsim.simulate.vsim.more_options] を [+model_data+./] に設定します。

3. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 6-7

図 6-7 : [Run Behavioral Simulation]

Page 156: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 156PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

4. Flow Navigator で [Run Simulation] → [Run Behavioral Simulation] をク リ ッ ク します (図 6-7)。

5. Vivado IDE から IES が起動してシ ミ ュレーシ ョ ンが実行されます。 詳細は、 『Vivado Design Suite ユーザー ガイド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

X-Ref Target - Figure 6-8

図 6-8 : IES シミ ュレータによるシミ ュレーシ ョ ン

Page 157: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 157PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

VCS を用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. [Open IP Example Design] をク リ ッ ク して開いた Vivado プロジェク トの Flow Navigator で [Simulation Settings]をク リ ッ ク します。

2. [Target simulator] で [Verilog Compiler Simulator (VCS)] をク リ ッ ク します。

a. [Compiled libraries location] でコンパイル済みライブラ リの位置を指定します。

b. [Simulation] タブで [vcs.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、 1ms よ り もはるかに短い値から変更します (図 6-9)。 [Generate scripts only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate scripts only] をオフにする必要があ り ます。DDR3 のシミ ュレーシ ョ ンの場合、 [modelsim.simulate.vsim.more_options] を [+model_data+./] に設定します。

3. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

Page 158: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 158PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

4. Flow Navigator で [Run Simulation] → [Run Behavioral Simulation] をク リ ッ ク します (図 6-7)。

5. Vivado IDE から VCS が起動してシ ミ ュレーシ ョ ンが実行されます。 詳細は、 『Vivado Design Suite ユーザー ガイド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

X-Ref Target - Figure 6-9

図 6-9 : VCS シミ ュレータによるシミ ュレーシ ョ ン

Page 159: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 159PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

非プロジェク ト ベースのシミ ュレーシ ョ ン

重要 : ザイ リ ンクスの UNISIMS_VER および SECUREIP ラ イブラ リ をシ ミ ュレータにマッピングする必要があ り ます。

1. シ ミ ュレーシ ョ ンを実行するには、 次のディ レク ト リへ移動します。

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sim_1/imports/tb

Vivado IDE でコンポーネン ト名を mig_0 と して MIG デザインを生成した場合、シ ミ ュレーシ ョ ンのディ レク トリ パスは次のとおりです。

<project_dir>/example_project/mig_0_example/mig_0_example.srcs/sim_1/imports/tb

2. MIG は DDR3 用のメモ リ モデルと DDR4 用の IEEE 暗号化済みメモリ モデルを提供します。 上記ディ レク ト リに DDR4 のメモ リ モデルをコピーします。

3. Questa Sim、 IES、 VCS シ ミ ュレーシ ョ ン ツールは、 すべてのバージ ョ ンで MIG IP の検証を実施しています。

4. Questa Sim、IES、VCS でシ ミ ュレーシ ョ ンを実行するためのスク リプ ト ファ イルは、MIG で生成される出力ファイルに含まれます。 シ ミ ュレーシ ョ ンの実行方法については、 このフォルダーの readme.txt ファ イルを参照してください。 ほかのシ ミ ュレーシ ョ ン ツールも MIG IP のシ ミ ュレーシ ョ ンに使用できますが、 ザイ リ ンクスによる検証は行われていません。

シミ ュレーシ ョ ン速度UNISIM XIPHY モデルの代わりに XIPHY ビヘイビアー モデルを使用する とシ ミ ュレーシ ョ ン速度を低下させるこ とができ、 Vivado IDE にはそのためのオプシ ョ ンがあ り ます。 MIG デザインでは、 XIPHY ビヘイビアー モデル シ ミ ュレーシ ョ ンがデフォルトで選択されます。 シ ミ ュレーシ ョ ン モードは、 [Advanced] タブの [Simulation Options] で設定します (図 6-10)。

Page 160: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 160PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

Vivado IDE での設定に応じて、 RTL の SIM_MODE パラ メーターの値が次のよ うに変わり ます。

• SIM_MODE = BFM – Vivado IDE の [Simulation Mode] で [BFM] を選択する と、 RTL パラ メーターの SIM_MODEの値は 「BFM」 にな り ます。 デフォルトではこのモードが選択されます。

• SIM_MODE = FULL – Vivado IDE の [Simulation Mode] で [FULL] を選択する と XIPHY UNISIM が選択され、RTLパラ メーターの SIM_MODE の値が 「FULL」 にな り ます。

Synplify Pro ブラック ボックス テストexample_design に対して Synopsys® Synplify Pro® のブラ ッ ク ボッ クス テス ト を行うには、次に示す手順に従ってsynplify_pro によるブラ ッ ク ボッ クス合成と Vivado によるインプリ メンテーシ ョ ンを実行します。

1. OOC フローを利用して UltraScale™ アーキテクチャ MIG IP コアを生成し、 インプリ メンテーシ ョ ン用の .dcpファ イルを生成します。 プロジェク トの [Target Language] は [verilog] または [VHDL] を選択します。

2. サンプル デザインのセクシ ョ ンに記載した情報を参考にして MIG IP コア用のサンプル デザインを作成し、Vivado プロジェク ト を閉じます。

3. UltraScale FPGA をサポート した synplify_pro ツールを起動し、 IP コア生成時に選択したのと同じ UltraScaleFPGA デバイスを選択します。

X-Ref Target - Figure 6-10

図 6-10 : [Advanced] タブ – [Simulation Options]

Page 161: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 161PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

4. Vivado 起動時に [Target Language] で選択した言語に応じて、次のファイルを synplify_pro プロジェク トに追加します。

a. Verilog の場合 :

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/ip/<Component_Name>/*stub.v<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/imports/<Component_Name>/rtl/ip_top/example_top.sv<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/imports/<Component_Name>/tb/example_tb.sv

b. VHDL の場合 :

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/ip/<Component_Name>/*stub.vhdl <project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/imports/<Component_Name>/rtl/ip_top/example_top.sv<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/imports/<Component_Name>/tb/example_tb.sv

5. synplify_pro 合成を実行して .edf ファ イルを生成します。次に、synplify_pro プロジェク ト を閉じます。

6. 新規 Vivado プロジェク ト を開きます。 [Project Type] は [Post-synthesis Project] を選択し、 [Target Language] は IPコア生成時に選択したのと同じ言語を選択します。

7. synplify_pro で生成した .edf ファ イルを [Design Source] と して Vivado プロジェク トに追加します。

8. 手順 1 と 2 で生成した .dcp ファ イルを [Design Source].と して Vivado プロジェク トに追加します。 次に例を示します。

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/ip/<Component_Name>/<Component_Name>.dcp

9. 手順 2 で生成した .xdc ファ イルを [constraint] と して Vivado プロジェク トに追加します。 次に例を示します。

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/constrs_1/imports/par/example_design.xdc

10. Vivado ツールでインプリ メンテーシ ョ ン フローを実行します。インプ リ メンテーシ ョ ンの詳細は、『Vivado DesignSuite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照してください。

注記 : 適切な .dcp および .xdc ファ イルを使用したユーザー デザインの場合も同じ手順で実行できます。

Page 162: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 162PG150 2015 年 4 月 1 日

第 6 章 : サンプル デザイン

CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ンGCIO ピンと MMCM を同じバンクに配置していない場合、 CLOCK_DEDICATED_ROUTE 制約を 「BACKBONE」 に設定する必要があ り ます。BACKBONE 配線を使用するには、GCIO と MMCM 入力の間に BUFG をインスタンシエートする必要があ り ます。 [Advanced] タブの [FPGA Options] で [Reference Input Clock Configuration] を [Differential]と して生成したデザインでは、 MIG がこれらの制約を管理します。 また、 すべてのシナリオに対する IP およびサンプル デザイン フローも MIG が処理します。

[Advanced] タブの [FPGA Options] で [Reference Input Clock Configuration] を [No Buffer] と して生成したデザインでは、 GCIO と MMCM の配置に基づいて CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ンを IP フローでユーザーが適切に処理する必要があ り ます。 コンフ ィギュレーシ ョ ンで [No Buffer] を選択したデザインでは、 MIG は XDC ファ イルにクロ ッ ク制約を生成しません。 この場合、ユーザーが IP フローでのクロ ッ ク制約に配慮する必要があ り ます。

サンプル デザイン フローで [No Buffer] を選択してコンフ ィギュレーシ ョ ンした場合、 MIG はシステム ク ロ ッ ク ピンに差動バッファーをインスタンシエート してサンプル デザインを生成します。 MIG はクロ ッ ク制約を example_design.xdc に生成します。 また、 GCIO と MMCM が同じバンクにない場合は CLOCK_DEDICATED_ROUTE 制約を 「BACKBONE」 と して生成し、 GCIO と MMCM 入力の間に BUFG をインスタンシエート して完全なソ リ ューシ ョンを提供します。 これは、 サンプル デザイン フローで参考と して行われるもので、 初の生成時に実行されます。

このサンプル デザインで、I/O ピン配置機能を使用してシステム ク ロ ッ ク ピンの I/O ピンをほかのピンに変更した場合、CLOCK_DEDICATED_ROUTE 制約と BUFG のインスタンシエートはユーザーが適切に処理する必要があ り ます。この場合、 DRC エラーが報告されます。

Page 163: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 163PG150 2015 年 4 月 1 日

第 7 章

テス トベンチこの章では、 Vivado® Design Suite で提供されているテス トベンチについて説明します。

性能テス トベンチの目的は、特定のト ラフ ィ ッ ク パターンに対する MIG コン ト ローラーの効率を見積もるこ とです。テス トベンチはユーザーが入力したコマンド とアドレスを メモ リ コン ト ローラーに渡し、特定のパターンに対する効率を測定します。 効率は、 dq バスの占有率によって測定されます。 テス トベンチの主な用途は効率の測定であるため、 データの整合性チェッ クは実行されません。 書き込みト ランザクシ ョ ンで静的なデータがメモ リに書き込まれ、常に同じデータが読み戻されます。

ト ラフ ィ ッ ク ジェネレーターに対するスティ ミ ュラスは、mig_v7_0_ddr4_stimulus.txt ファ イルで供給されます。 スティ ミ ュラスは、 コマンド、 アドレス、 コマンドの繰り返し回数から構成されます。 スティ ミ ュラス ファ イルの各行が、 1 つのスティ ミ ュラス (コマンド繰り返し、 アドレス、 コマンド ) に対応します。 スティ ミ ュラス ファ イルには複数のスティ ミ ュラスを指定でき、 それぞれは改行で区切り ます。

表 7-1 : パフォーマンス ト ラフ ィ ック ジェネレーターのモジュール

ファイル名 説明

mig_v7_0_ddr4_traffic_generator.sv DDR4 用のト ラフ ィ ッ クを送信する ト ラフ ィ ッ ク ジェネレーターのコード とバス使用率を計算するコードが記述されています。

mig_v7_0_ddr4_stimulus.txt バス使用率を計算するための DDR4 用の書き込み、 読み出し、 NOP を含むスティ ミ ュラスが記述されています。

mig_v7_0_ddr3_traffic_generator.sv DDR3 用のト ラフ ィ ッ クを送信する ト ラフ ィ ッ ク ジェネレーターのコード とバス使用率を計算するコードが記述されています。

mig_v7_0_ddr3_stimulus.txt バス使用率を計算するための DDR3 用の書き込み、 読み出し、 NOP を含むスティ ミ ュラスが記述されています。

Page 164: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 164PG150 2015 年 4 月 1 日

第 7 章 : テストベンチ

ステ ィ ミ ュラス パターン各スティ ミ ュラス パターンは 48 ビッ トです。 表 7-2 と表 7-3 にそのフォーマッ ト を示します。

コマンドのエンコード (Command[3:0])

アドレスのエンコード (Address[35:0])スティ ミ ュ ラス内のアドレスは、 図 7-1 ~図 7-6 に従ってエンコード されます。 すべてのアドレス フ ィールドを 16進数フォーマッ トで入力する必要があ り ます。 16 進数フォーマッ トで入力できるよ うに、 アド レス フ ィールドの幅はすべてが 4 で割り切れます。テス トベンチは、アドレス フ ィールド内の必要なビッ トだけを メモ リ コン ト ローラーに送信します。

たとえば、 8 バンク構成の場合、 バンク ビッ ト [2:0] だけがメモ リ コン ト ローラーに送信され、 残りのビッ トは無視されます。 アドレス フ ィールドの余分なビッ トは、 アドレスを 16 進数フォーマッ トで入力するためのものです。 入力する値が、 目的とする構成の幅に対応しているこ とを確認してください。

• 列アドレス (Column[11:0]) ― スティ ミ ュラス内の列アドレスは 大 12 ビッ トです。 ただし、 デザインに設定した列アドレス幅パラ メーターに基づくアドレス指定とする必要があ り ます。

• 行アドレス (Row[15:0]) ― スティ ミ ュラス内の行アドレスは 大 16 ビッ トです。 ただし、 デザインに設定した行アドレス幅パラ メーターに基づくアドレス指定とする必要があ り ます。

• バンク アドレス (Bank[3:0]) ― スティ ミ ュラス内のバンク アドレスは 大 4 ビッ トです。ただし、デザインに設定したバンク アドレス幅パラ メーターに基づくアドレス指定とする必要があ り ます。

注記 : DDR4 の場合、 バンク アドレスに下位 2 ビッ ト 、 バンク グループに上位 2 ビッ ト を使用します。

表 7-2 : ステ ィ ミ ュラス コマンド パターン

Command Repeat[47:40] Address [39:4] Command[3:0]

表 7-3 : ステ ィ ミ ュラス パターンの説明

信号 説明

Command[3:0] ユーザー インターフェイスに送信される WREITE/READ/NOP コマンドに対応します。

Address[35:0] ユーザー インターフェイスに送信されるアドレスに対応します。

Command Repeat[7:0]コマンドの繰り返し回数に対応します。 1 つのコマンドは、 大 128 回繰り返すこ とができます。 バース ト長 8 モードの場合、 メモ リの 1 ページは 128 回のト ランザクシ ョ ンで完全に満たされます。

表 7-4 : コマンドの説明

コマンド コード 説明

WRITE 0 書き込み動作を実行します。

READ 1 読み出し動作を実行します。

NOP 7 バスのアイ ドル状態に対応します。

表 7-5 : アドレス エンコード

Rank[3:0] Bank[3:0] Row[15:0] Column[11:0]

Page 165: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 165PG150 2015 年 4 月 1 日

第 7 章 : テストベンチ

• ランク アドレス (Rank[3:0]) ― スティ ミ ュラス内のバンク アドレスは 大 4 ビッ トです。ただし、デザインに設定したランク アドレス幅パラ メーターに基づくアドレス指定とする必要があ り ます。

アドレスは 上位の MEM_ADDR_ORDER パラ メーターに基づいて組み立てられ、 ユーザー インターフェイスに送信されます。

コマンド繰り返し (Command Repeat[7:0])コマンドの繰り返し回数とは、ユーザー インターフェイスに送信する各コマンドの反復回数です。繰り返すごとにアドレスは 8 ずつインク リ メン ト します。 大繰り返し回数は 128 です。テス トベンチは列アドレスの境界を確認せず、その上限に達する と ラ ップアラウンド します。 128 回のコマンドによってページ全体がアクセスされます。 0 以外の列アドレスを指定して 128 回コマンドを繰り返すと必ず列の境界を超えるため、列アドレスはラ ップアラウンド して先頭に戻り ます。

バス使用率バス使用率は、読み出しおよび書き込みの全回数を考慮し、次の式を使用してユーザー インターフェイスで計算されます。

((rd_command_cnt + wr_command_cnt) × (BURST_LEN / 2) × 100) 式 7-1

bw_cumulative = -----------------------------------------------------------------------------

((end_of_stimulus – calib_done) / tCK);

• BL8 には 4 メモ リ ク ロ ッ ク サイクルが必要です。

• end_of_stimulus はすべてのコマンドが完了した時点を表します。

• calib_done はキャ リブレーシ ョ ンが完了した時点を表します。

Page 166: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

第 7 章 : テストベンチ

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 166PG150 2015 年 4 月 1 日

サンプル パターン次の例は、 MEM_ADDR_ORDER を BANK_ROW_COLUMN に設定した場合です。

単一読み出しパターン

00_0_2_000F_00A_1 ― このパターンは、 第 10 列、 第 15 行、 第 2 バンクからの単一読み出しです。

単一書き込みパターン

00_0_1_0040_010_0 ― このパターンは、 第 32 列、 第 128 行、 第 1 バンクへの単一書き込みです。

X-Ref Target - Figure 7-1

図 7-1 : 単一読み出しパターン

X-Ref Target - Figure 7-2

図 7-2 : 単一書き込みパターン

Page 167: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

第 7 章 : テストベンチ

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 167PG150 2015 年 4 月 1 日

同一アドレスに対する単一書き込みおよび読み出し

00_0_2_000F_00A_0 ― このパターンは、 第 10 列、 第 15 行、 第 2 バンクへの単一書き込みです。

00_0_2_000F_00A_1 ― このパターンは、 第 10 列、 第 15 行、 第 2 バンクからの単一読み出しです。

同一アドレスによる複数書き込みおよび読み出し

0A_0_0_0010_000_0 ― このパターンは、 列内にある 0 から始ま り 80 までのアドレスに対する 11 回の書き込みに相当します。

X-Ref Target - Figure 7-3

図 7-3 : 同一アドレスに対する単一書き込みおよび読み出し

X-Ref Target - Figure 7-4

図 7-4 : 同一アドレスによる複数書き込み

Page 168: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

第 7 章 : テストベンチ

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 168PG150 2015 年 4 月 1 日

0A_0_0_0010_000_1 ― このパターンは、 列内にある 0 から始ま り 80 までのアドレスに対する 11 回の読み出しに相当します。

書き込み中のページ ラ ップ

0A_0_2_000F_3F8_0 ― このパターンは、 1 回の書き込み後に列アドレスがページ先頭にラ ップする 11 回の書き込みに相当します。

X-Ref Target - Figure 7-5

図 7-5 : 同一アドレスによる複数読み出し

X-Ref Target - Figure 7-6

図 7-6 : 書き込み中のページ ラップ

Page 169: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 169PG150 2015 年 4 月 1 日

第 7 章 : テストベンチ

パフォーマンス ト ラフ ィ ッ ク ジェネレーターのシミ ュレーシ ョ ン1. ザイ リ ンクスの UNISIMS_VER および SECUREIP ラ イブラ リ をシ ミ ュレータにマッピングします。

2. MIG は DDR3 のメモリ モデルは提供しますが、 DDR4 のメモ リ モデルは提供しません。 DDR4 については、 次のディ レク ト リから メモ リ モデルをコピーしてください。

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sim_1/imports/<Component_Name>/tb

3. DDR4 の場合は mig_v7_0_ddr4_stimulus.txt、 DDR3 の場合は mig_v7_0_ddr3_stimulus.txt を、 必要なバス使用率を求めるスティ ミ ュラスに変更します。 これらのファイルは、 次のディ レク ト リにあ り ます。

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sim_1/imports/<Component_Name>/tb

4. performance_sim.do ファ イルを実行します。

5. Questa Sim の場合、 vsim -do performance_sim.do コマンドを実行します。

6. 実行後 tb ディ レク ト リには、 バス使用率の測定基準についての出力すべてを含む、 mig_v7_0_ddr4_band_width_cal.txt (DDR4 の場合) と mig_v7_0_ddr3_band_width_cal.txt (DDR3 の場合) が格納されます。

Page 171: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 171PG150 2015 年 4 月 1 日

第 8 章

概要ザイ リ ンクス UltraScale™ アーキテクチャには、QDR II+ SRAM メモ リ インターフェイス ソ リ ューシ ョ ン (MIS) コアが含まれます。MIS コアは、QDR II+ SRAM タイプのメモ リに接続するためのインターフェイス ソ リ ューシ ョ ンを提供します。

QDR II+ SRAM MIS コアは、 ザイ リ ンクス UltraScale FPGA を使用したユーザー デザインと QDR II+ SRAM デバイスのインターフェイス となる物理層です。 QDR II+ SRAM は、 クロ ッ クの立ち上がりおよび立ち下がりの両エッジで独立した読み出しバス と書き込みバスを使用する、高速なデータ転送が可能です。 このメモ リ デバイスは、高性能システムで次のよ うな一時的なデータ ス ト レージと して使用されます。

• ネッ ト ワーク システムのルッ クアップ テーブル

• ネッ ト ワーク スイ ッチのパケッ ト バッファー

• 高速演算のキャッシュ メモ リ

• 高性能テスターのデータ バッファー

QDR II+ SRAM ソ リ ューシ ョ ン コアは、 シンプルなユーザー コマンドを受信して QDR II+ プロ ト コルに変換し、 変換後のコマンドを メモ リに送信する PHY です。 1 サイ クルで読み出しおよび書き込み要求を 1 回ずつ発行できるため、 メモ リ コン ト ローラーとそれに伴うオーバーヘッ ドが不要で、 コア内部のレイテンシが削減されます。

Page 172: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 172PG150 2015 年 4 月 1 日

第 8 章 : 概要

図 8-1 に、 QDR II+ SRAM インターフェイス ソ リ ューシ ョ ンの概略ブロ ッ ク図を示します。

物理層には FPGA 内のハード ブロッ ク と、それらハード ブロ ッ ク と メモ リ デバイス間で 適なインターフェイス タイ ミ ングを確保するために使用されるソフ ト キャ リブレーシ ョ ン ロジッ クが含まれます。

ハード ブロ ッ クには次の機能があ り ます。

• データのシ リアライズと送信

• データのキャプチャ とデシ リ アライズ

• 高速クロ ッ クの生成と同期

• 電圧および温度のト ラ ッキング機能を備えた、 ピンごとの粗精度/細精度の遅延調整エレ メン ト

ソフ ト ブロ ッ クには次の機能があ り ます。

• メモ リ初期化 ― キャ リブレーシ ョ ン モジュールは、 メモ リ タイプ固有の初期化ルーチンを提供します。必要に応じて初期化プロセスの遅延をバイパスしてシ ミ ュレーシ ョ ン時間を短縮できます。

• キャ リブレーシ ョ ン ― キャ リブレーシ ョ ン モジュールは、ハード ブロ ッ ク内のすべての遅延を設定し、 ソフ トIP がメモ リ インターフェイスで適切に動作するよ うにする包括的な方法を提供します。 インターフェイス性能を 適化するために、各ビッ ト を個別に ト レーニングしてから結合します。キャ リブレーシ ョ ン プロセスの結果はザイ リ ンクスのデバッグ ツールで確認できます。 キャ リブレーシ ョ ンの完了後、 PHY 層はメモリ デバイスへの raw (未調整) インターフェイスを提供します。

X-Ref Target - Figure 8-1

図 8-1 : QDR II+ インターフェイス ソリューシ ョ ンの概略ブロック図

Page 173: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 173PG150 2015 年 4 月 1 日

第 8 章 : 概要

機能概要• 大 36 ビッ ト幅のインターフェイスをサポート

• x18 および x36 のメモ リ デバイスをサポート

• 4 ワードおよび 2 ワード バース ト をサポート

• カスケード接続されるデータ幅は、 BL-4 デザインでのみサポート

• BL-4 デザインの 大データ レートは 1,266Mb/s

• BL-2 デザインの 大データ レートは 900Mb/s

• 集積度 72Mb のメモ リ デバイスをサポート

• 2.0 ~ 2.5 サイクルの読み出しレイテンシをサポート

• Verilog でソース コードを提供

• 2:1 のメモリ対 FPGA ロジッ ク インターフェイスのクロ ッ ク比をサポート

• Vivado ハードウェア マネージャーを通じてインターフェイス キャ リブレーシ ョ ンおよびト レーニング情報を提供

ライセンスおよび注文情報このザイ リ ンク ス LogiCORE IP モジュールは、 ザイ リ ンク ス エンドユーザー ラ イセンス規約のも とザイ リ ンク スVivado Design Suite を使用して追加コス ト なしで提供されています。 この IP およびその他のザイ リ ンクス LogiCOREIP に関する情報は、 ザイ リ ンクス IP コア ページから入手できます。 その他のザイ リ ンクス LogiCORE IP モジュールおよびツールの価格や提供状況については、 ザイ リ ンクス販売代理店にお問い合わせください。

ライセンス チェ ッカー

IP にライセンス キーが必要な場合、 そのキーの認証が必要です。 Vivado® デザイン ツールでは、 設計フローにライセンスが必要な IP の使用を確認する、 ライセンス チェッ クポイン トが複数あ り ます。 ライセンス チェッ クが正常に終了する と、 IP の生成が継続されます。 正常に終了しなければ、 IP の生成はエラーとな り停止します。 ラ イセンスチェッ クポイン トが適用されるのは、 次のツールです。

• Vivado デザイン ツール : Vivado 合成

• Vivado インプリ メンテーシ ョ ン

• write_bitstream (Tcl コマンド )

重要 : チェッ クポイン トでは、 IP のライセンス レベルは無視されます。 有効なライセンスの有無のみを検証します。IP ラ イセンス レベルは確認しません。

Page 174: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 174PG150 2015 年 4 月 1 日

第 9 章

製品仕様

規格このコアは、 QDR コンソーシアムが定義する QDR II+ SRAM 規格に準拠しています。 UltraScale™ アーキテクチャに関する資料の詳細は、 274 ページの 「参考資料」 を参照してください。

性能

最大周波数

大周波数の詳細は、 『Kintex UltraScale アーキテクチャ データシート : DC 特性および AC スイ ッチ特性』 (DS892) [参照 2] を参照して ください。

リソース使用状況

Kintex UltraScale デバイス

表 9-1 に、 Kintex® UltraScale™ デバイスのリ ソース概数を示します。

Kintex UltraScale デバイスの場合に UltraScale アーキテクチャ FPGA MIS コアに必要な リ ソースを見積も り ました。Vivado® IP カタログを使用して得られた値です。 合成後レポートから求めた値であ り、 インプリ メンテーシ ョ ン時に変化する可能性があ り ます。

表 9-1 : デバイス使用量 ― Kintex UltraScale FPGA

パラメーター値 デバイス リソース

インターフェイス幅 FF LUT メモリ LUTRAMB36E2/RAMB18E2 BUFG PLLE3_ADV MMCME3_ADV

36 6,741 4,456 106 16 4 3 1

18 4,271 3,083 106 16 4 2 1

Page 175: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 175PG150 2015 年 4 月 1 日

第 9 章 : 製品仕様

ポートの説明メモ リ インターフェイス コアの 上位にはユーザー デザインと呼ばれる 3 つのポート カテゴ リがあ り ます。

• 第 1 のカテゴ リはメモ リ デバイスに直接接続する メモ リ インターフェイス信号です。 これらは QDR II+ SRAM仕様で定義されています。

• 第 2 のカテゴ リはユーザー インターフェイス と呼ばれるアプリ ケーシ ョ ン インターフェイス信号です。 これは、189 ページの 「プロ ト コルの説明」 で解説しています。

• 第 3 のカテゴ リには、 コアの適切な動作に必要なその他の信号が含まれます。 クロ ッ ク、 リセッ ト 、 コアからのステータス信号などです。 クロ ッ クおよびリセッ ト信号については、 それぞれ該当セクシ ョ ンで説明します。

アクティブ High の init_calib_complete 信号は、 初期化とキャ リブレーシ ョ ンが完了し、 インターフェイスがコマンドを受け入れ可能な状態になったこ とを示します。

Page 176: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 176PG150 2015 年 4 月 1 日

第 10 章

コアのアーキテクチャこの章では、UltraScale™ アーキテクチャ FPGA のメモリ インターフェイス ソ リ ューシ ョ ン (MIS) コアについて説明し、 モジュールおよびインターフェイスの概要を示します。

概要図 10-1 に UltraScale アーキテクチャ FPGA のメモ リ インターフェイス ソ リ ューシ ョ ンを示します。

ユーザー インターフェイスは、 完全に SDR 信号ベースのシンプルなプロ ト コルを用いて読み出しおよび書き込み要求を生成します。 このプロ ト コルの詳細は、 第 11 章の 「ユーザー インターフェイス」 を参照してください。

X-Ref Target - Figure 10-1

図 10-1 : UltraScale アーキテクチャ FPGA のメモリ インターフェイス ソリューシ ョ ン コア

Page 177: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 177PG150 2015 年 4 月 1 日

第 10 章 : コアのアーキテクチャ

QDR II+ SRAM プロ ト コルにはコン ト ローラーの要件がないため、メモ リ コン ト ローラーには物理インターフェイスしかあ り ません。 メモ リ コン ト ローラーはユーザー インターフェイスからコマンドを受け取り、 QDR II+ SRAM デバイスのプロ ト コル要件に従います。 外部メモ リ デバイス と通信するための適切なタイ ミ ング関係と DDR 信号生成はメモ リ コン ト ローラーで処理する必要があ り ます。 詳細は、 第 11 章の 「メモ リ インターフェイス」 を参照してください。

PHYPHY は外部 QDR II+ SRAM デバイスへの下位レベルの物理インターフェイス と見なされます。 PHY には物理インターフェイス自体の動作信頼性を確保するためのキャ リブレーシ ョ ン ロジッ クがすべて含まれます。 PHY はメモ リデバイス とのインターフェイスに必要な信号のタイ ミ ングおよびシーケンスを生成します。

PHY には次のよ うな機能があ り ます。

• ク ロ ッ ク /アドレス /制御信号の生成ロジッ ク

• 書き込みおよび読み出しデータパス

• 電源投入後の SDRAM 初期化ロジッ ク

さ らに、システムの静的遅延および動的遅延に対応するために、読み出しおよび書き込みデータパスのタイ ミ ング トレーニングを実行するキャ リブレーシ ョ ン ロジッ ク もあ り ます。

PHY 全体のアーキテクチャ

UltraScale アーキテクチャの PHY は専用ブロッ ク と ソフ ト キャ リブレーシ ョ ン ロジッ クで構成されています。 専用ブロ ッ クは互いに隣接して配置され、高性能な物理層を構築するために必要なクロ ッ クおよびデータパス配線を 短に抑えるよ う、 インターコネク トで直接接続されています。

Page 178: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 178PG150 2015 年 4 月 1 日

第 10 章 : コアのアーキテクチャ

ユーザー インターフェイスおよびキャ リブレーシ ョ ン ロジッ クは、2 分周された低周波数クロ ッ ク ド メ インにある、この専用 PHY と通信します。 図 10-2 に、 PHY デザインの詳細なブロ ッ ク図を示します。

X-Ref Target - Figure 10-2

図 10-2 : PHY のブロック図

表 10-1 : PHY モジュール

モジュール名 説明

qdriip_phy.sv QDR II+ デザインの PHY 上位です。

qdriip_phycal.sv XIPHY の 上位およびキャ リブレーシ ョ ンの 上位モジュールのインスタンスが含まれます。

qdriip_cal.sv キャ リブレーシ ョ ンの 上位モジュールです。

qdriip_cal_addr_decode.sv MicroBlaze プロセッサの FPGA ロジッ ク インターフェイスです。

config_rom.sv キャ リブレーシ ョ ン オプシ ョ ンのコンフ ィギュレーシ ョ ンを格納する場所です。

debug_microblaze.sv MicroBlaze プロセッサです。

qdriip_xiphy.sv XIPHY インスタンスが含まれます。

qdriip_iob.sv バイ ト IOB モジュールすべてをインスタンシエート します。

qdriip_iob_byte.sv 特定のバイ ト レーンに含まれるすべての信号で使用する I/O バッファーを生成します。

qdriip_rd_bit_slip.sv 読み出しビッ ト ス リ ップ

Page 179: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 179PG150 2015 年 4 月 1 日

第 10 章 : コアのアーキテクチャ

PHY アーキテクチャは qdriip_xiphy.sv 内のすべてのロジッ クを包含します。 PHY には、 よ り小さなコンポーネン トから メモ リ インターフェイスを構築するために、専用ハード ブロッ クに対するラ ッパーがあ り ます。バイ ト レーンにはすべてのクロ ッ ク、 リセッ ト 、および特定の I/O サブセッ トのデータパスが含まれます。専用クロ ッキング リソース と共に複数のバイ ト レーンをま とめてグループ化し、 単一バンクのメモ リ インターフェイスを構築します。ハード シ リ コン物理層アーキテクチャの詳細は、 『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』(UG571) [参照 3] を参照してください。

メモ リの初期化およびキャ リブレーシ ョ ンは、 小型のソフ ト コア プロセッサで動作する C プログラムによって実装されます。 MicroBlaze™ コン ト ローラー システム (MCS) は I/O モジュールとブロ ッ ク RAM で構成されます。qdriip_cal_adr_decode.sv モジュールは、 プロセッサからシステムのほかの部分へのインターフェイスを提供し、 ヘルパー ロジッ クをインプ リ メ ン ト します。 config_rom.sv モジュールは、 初期化とキャ リブレーシ ョ ンの動作を制御する設定を格納し、 ソース コードを再コンパイルせずに調整できるランタイム オプシ ョ ンを提供します。

アドレス ユニッ トは MCS をローカル レジスタ セッ ト と PHY に接続します。そのために、 メモ リ マップ内の空間から、I/O モジュール バス上でアドレス デコード と制御変換を実行し、戻りデータを多重化します (qdriip_cal_adr_decode.sv)。 さ らに、 DRAM インターフェイスの論理的概念から、 PHY アドレス空間における、 ピン配置に依存する適切な遅延制御ロケーシ ョ ンへのアドレス変換 (マッピングと呼ばれる場合もある ) も実行します。

キャ リブレーシ ョ ン アーキテクチャが提供するアドレス マップは、 個々のデータ、 制御、 およびコマンド ビッ トの遅延要素を操作する単純で整理されたものである一方、 これらの I/O ピンの配置方法には柔軟性があ り ます。 特定のI/O 配置の場合、 FPGA ロジッ クへのパスは特定ピンに固定されます。 1 つのバイナリ ソフ ト ウェア ファ イルですべてのメモ リ インターフェイス ピン配置に対応できるよ う、 変換ブロ ッ クは単純な RIU (レジスタ インターフェイスユニッ ト ) アドレス指定をターゲッ ト デザインのピン配置に固有の RIU アドレスに変換します。固有のアドレス変換はピン配置の選択後に MIG によって書き込まれます。 次のコードは、 これをサポートする RTL 構造の例を示したものです。

Casez(io_address)// MicroBlaze I/O module address // … static address decoding skipped //========================================// //===========DQ ODELAYS===================// //========================================// //Byte0 28’h0004100: begin //dq2 riu_addr_cal = /* MIG Generated */ 6’hd; riu_nibble = /* MIG Generated */ ‘h0; end // … additional dynamic addressing follows

この例では、DQ0 がニブル 0 の Bit[0] に出力されます (ニブル 0 になるのはインスタンシエーシ ョ ン順による )。Bit[0]の ODELAY の RIU アドレスは 0x0D です。 DQ0 のアドレスが指定される と、つま りアドレス 0x000_4100 が指定される と、 コードのこの部分がアクティブになり ます。 これによ り、 ニブル 0 が有効になり (ワン ホッ ト ダウンス ト リームにデコード され)、 アドレス 0x0D が RIU アドレス バスに転送されます。

MicroBlaze I/O インターフェイスは、 非常に遅い周波数で動作します。 この速度は、 キャ リブレーシ ョ ンで必要と されるすべての機能を実装するには不十分です。 qdriip_cal_adr_decode.sv に実装されたヘルパー回路は、 レジスタからコマンドを取得し、 少な く と もその一部を PHY に発行できるよ うに 1 サイ クル精度に変換するのに必要な回路です。 この回路はさらに、連続読み出し ト ランザクシ ョ ンと読み出しデータ比較を可能にするコマンド繰り返し機能もサポート します。

メモリの初期化およびキャリブレーシ ョ ンのシーケンス

システム リセッ トのディアサート後、 PHY はまず必要な内部キャ リブレーシ ョ ン手順をいくつか実行します。

1. PHY の組み込みセルフ チェッ ク (BISC) が実行されます。 BISC を使用し、 データ ビッ トおよび読み出しパス上のス ト ローブ間の内部スキューを相殺します。

2. BISC の完了後、 メモ リ デバイスの電源投入初期化に必要な手順が開始されます。

3. 書き込みおよび読み出しデータパスのスキューを調整するために、 図 10-3 に示すよ うに、 複数のステージのキャ リブレーシ ョ ンが必要になり ます。

Page 180: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 180PG150 2015 年 4 月 1 日

第 10 章 : コアのアーキテクチャ

4. キャ リブレーシ ョ ンの完了後、 PHY は、電圧と温度を追跡するために、手順 3 の終了までに使用されたタ ップを考慮するこ とによって、 内部オフセッ ト を計算します。

5. PHY がキャ リブレーシ ョ ンの完了を示し、 ユーザー インターフェイス コマンドの実行が開始されます。

図 10-3 に、 メモ リの初期化およびキャ リブレーシ ョ ンの各ステージを含む全体的なフローを示します。

X-Ref Target - Figure 10-3

図 10-3 : PHY 全体の初期化およびキャリブレーシ ョ ンのシーケンス

Page 181: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 181PG150 2015 年 4 月 1 日

第 11 章

コアを使用するデザインこの章では、 コアを使用した設計をよ り容易にするためのガイ ド ラインおよび追加情報を紹介します。

クロッキングメモ リ インターフェイスには MMCM が 1 つ、メモ リ インターフェイスが使用する I/O バンクあたり TXPLL が 1 つ、BUFGCE_DIV が 2 つ必要です。 これらのクロ ッキング コンポーネン ト を使用して、 メモ リ インターフェイスの適切な動作に必要なクロ ッ ク周波数と位相シフ ト を生成します。

TXPLL は各バンクに 2 つあ り ます。 1 つのバンクを 2 つのメモ リ インターフェイスで共用する場合、 そのバンクのTXPLL を両方使用します。

注記 : ク ロ ッキング構造は MIG によって適切に生成されます。 この RTL は変更できません。

MIG ツールは目的とするインターフェイス向けに適切なク ロ ッキング構造を生成します。 この構造は変更できません。 可能なクロ ッ ク コンフ ィギュレーシ ョ ンは次のとおりです。

• GCIO に接続される差動基準クロ ッ ク ソース

• GGCIO から MMCM (メモ リ インターフェイスの中央のバンク内に配置されたもの)

• MMCM から BUFGCE_DIV (メモ リ インターフェイスの中央のバンクに配置されたもの)。FPGA ロジッ クおよびすべての TXPLL を駆動

• MMCM から 2 分周モードの BUFGCE_DIV (メモ リ インターフェイスの中央のバンクに配置されたもの)。1/2 レートの FPGA ロジッ クを駆動

• SSI テク ノ ロジ デバイスの場合、 インターフェイスのクロ ッキング ペアがメモ リ インターフェイス と同じ SLR に属しているこ と

Page 182: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 182PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

要件

GCIO

• 差動 I/O 規格を使用するこ と

• メモ リ インターフェイス と同じ I/O カラムに属するこ と

• SSI テク ノ ロジ デバイスの場合、 メモ リ インターフェイス と同じ SLR に属するこ と

MMCM

• MMCM を使用して FPGA ロジッ クのシステム ク ロ ッ ク (メモ リ ク ロ ッ クの 2 分周) を生成

• メモ リ インターフェイスの中央のバンクに配置するこ と

• 内部フ ィードバッ クを使用するこ と

• 入力分周器で分周した入力クロ ッ ク周波数 ≥ 70MHz (CLKINx/D ≥ 70MHz) であるこ と

• 整数倍の周波数および出力分周値を使用するこ と

BUFGCE_DIV およびクロック ルート

• 1 つの BUFGCE_DIV を使用して FPGA ロジッ クのシステム ク ロ ッ クを生成し、 も う 1 つの BUFGCE_DIV を使用してシステム ク ロ ッ クを 2 分周する

• これらの BUFGCE_DIV と ク ロ ッ ク ルートはメモ リ インターフェイスの も中央寄りのバンクに配置するこ と

° 2 バンク システムの場合、 どちらのバンク も使用可能。 Vivado 統合設計環境 (IDE) で も上に選択したバンクが MIG では常に中央バンク と して参照される

° 4 バンク システムの場合、 内側 2 つのバンクのいずれも使用可能。 上から 2 番目に選択したバンクが MIGでは中央バンク と して参照される

° 両方の BUFGCE_DIV が同じバンクに属するこ と

TXPLL

• TXPLL からの CLKOUTPHY は、 そのバンク内の XIPHY を駆動する

• 位相シフ ト 90° の CLKFBOUT を使用するよ うに TXPLL を設定するこ と

• MMCM ロ ッ ク出力が High に遷移するまで TXPLL を リセッ ト状態に保持するこ と

• 内部フ ィードバッ クを使用するこ と

Page 183: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 183PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

図 11-1 に、 3 バンク メモ リ インターフェイスのク ロ ッキング構造の例を示します。 GCIO がメモ リ インターフェイスの中央バンクにある MMCM を駆動します。 MMCM は同じバンクに属する両方の BUFGCE_DIV を駆動します。BUFG CE_DIV の出力がインターフェイスの各バンクで使用する TXPLL を駆動し、 FPGA ロジッ クへのシステム クロ ッ クを生成します。

MMCM をほかのバンクの GCIO ピンで駆動する場合、 MMCM 入力に対する CLOCK_DEDICATED_ROUTE 制約の値を 「BACKBONE」 とする必要があ り ます。 BACKBONE 配線を使用するには、 GCIO と MMCM 入力の間に BUFG が存在する必要があ り ます。 このため、 GCIO ピンと MMCM が同じバンクにない場合、 MIG は GCIO と MMCM の間に BUFG をインス タンシエー ト し ます。 GCIO ピン と MMCM が別のバンクに割り当てられている場合、 MIG はCLOCK_DEDICATED_ROUTE 制約の値を 「BACKBONE」 と して生成します。 GCIO ピンと MMCM が同じバンクに割り当てられている場合、 MMCM 入力に制約を設定する必要はあ り ません。

同様に、[System Clock Configuration] で [No Buffer] を選択して生成したデザインでは、GCIO ピンと MMCM が別のバンクに割り当てられている場合に BACKBONE 制約を正し く設定して GCIO と MMCM の間に BUFG を配置する必要があ り ます。コンフ ィギュレーシ ョ ンで [No Buffer] を選択したデザインでは、MIG はクロ ッ ク制約を XDC ファ イルに生成しません。 この場合、 ユーザーが IP フローでのクロ ッ ク制約に配慮する必要があ り ます。

注記 : 同じバンク内の 2 つの MIG IP コアに対して 2 つの異なる GCIO ピンを使用する場合、 メモ リ インターフェイスの中央バンクは IP ごとに異なり ます。 MMCM の LOC および CLOCK_DEDICATED_ROUTE 制約は MIG によって適切に生成されます。

X-Ref Target - Figure 11-1

図 11-1 : 3 バンク メモリ インターフェイスのクロッキング構造

Page 184: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 184PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

入力クロック ソース (sys_clk_p) の共用

2 つの IP コアで同じ GCIO ピンを使用する必要がある場合、 [System Clock Configuration] で [No Buffer] を選択して 2 つの IP コアを生成してください。両方の IP がインスタンシエート されているラ ッパー ファイルに次の変更を加えます。

1. MIG は sys_clk_i などのシステム ク ロ ッ ク ピンに対してシングルエンド入力を生成します。両方の IP コアのシングルエンド システム ク ロ ッ ク入力 (sys_clk_i) に差動バッファー出力を接続して ください。

2. システム ク ロ ッ ク ピンは、 割り当てられたメモ リ インターフェイス ピンの同じ I/O カラム内に割り当てる必要があ り ます。 システム ク ロ ッ ク ピンに対するピン LOC 制約およびクロ ッ ク制約を 上位の XDC に追加して ください。

3. GCIO ピンと MMCM が同じバンクに割り当てられていない場合、MMCM 入力に BACKBONE 制約を追加する必要があ り ます。 さ らに、 BACKBONE 配線を使用するには BUFG を GCIO と MMCM の間にインスタンシエートする必要があ り ます。

注記 :

° Ultrascale アーキテクチャには、 各 XIPHY に独立した XIPHY 電源と TXPLL があ り ます。 これによって、 メモ リ システムに低ジッターのク リーンなクロ ッ クを供給します。

° BUFG → TXPLL と同じ BUFG → システム クロ ッ ク ロジッ クの間には単一の接点があるため、複数の BUFGの間にスキューがあっても問題にはなり ません。

° ク ロ ッ ク ラインが長くなる とジッ ターが大き くなるため、システム入力クロ ッ クは複数の I/O カラムにまたがるこ とはできません。

リセッ ト非同期リセッ ト (sys_rst) 入力を使用できます。 このアクティブ High のリセッ ト信号は、 コン ト ローラー クロ ッ クピンの 20 サイクル以上アサートする必要があり ます。 sys_rst は内部または外部ピンのどちらでもかまいません。

QDR II+ SRAM の PCB ガイド ライン正し く動作させるには、QDR II+ SRAM PCB ガイ ド ライン文書に完全に従う必要があ り ます。PCB ガイ ド ラインの詳細は、 『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583) [参照 4] を参照してください。

Page 185: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 185PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

ピンおよびバンクの規則

QDR II+ のピン規則

こ こでは、 QDR II+ SRAM インターフェイスのピン配置規則について説明します。

• HR および HP の両方のバンクをサポート します。

• 書き込みデータ、読み出しデータ、アドレス /制御のすべての信号グループおよびシステム ク ロ ッ ク インターフェイスは、 1 つのカラム内で選択する必要があ り ます。

• 使用するバンクはすべて隣接していなければなり ません。 バンク スキップは禁止です。

1. 書き込みデータ (D) とバイ ト ライ ト (BW) ピンの割り当て

a. 書き込みデータのバスは、 メモ リ コンポーネン ト数にかかわらず、すべてを 1 つのバンク内に配置する必要があ り ます。

b. バイ ト レーンあたりに許容される書き込みデータ バイ トは 1 つだけです。

c. 単一コンポーネン トの書き込みデータに使用するバイ ト レーンはすべて隣接している必要があ り、 バイ ト レーンのスキップは禁止です。

d. メモ リ コンポーネン トの書き込みデータ バイ トの 1 つは中央のバイ ト レーン (バイ ト レーン 1 および 2) に割り当てる必要があ り ます。

e. バイ ト ライ ト (BW) の各ピンは、 対応する書き込みデータ バイ ト レーン内に割り当てる必要があ り ます。

2. メモ リ ク ロ ッ ク (K/K#) の割り当て

a. メモ リ ク ロ ッ ク ペアは、対応する メモ リ コンポーネン トの書き込みデータに使用するバイ ト レーンの 1 つに割り当てる必要があ り ます。

b. メモ リ ク ロ ッ クは、 中央のバイ ト レーン (バイ ト レーン 1 および 2) の 1 つから供給する必要があ り ます。

c. K/K# は任意の PN ペアに割り当てるこ とができます。

3. 読み出しデータ (Q) の割り当て

a. 読み出しデータのバスは、 メモ リ コンポーネン ト数にかかわらず、すべてを 1 つのバンク内に配置する必要があ り ます。

b. 単一コンポーネン トの読み出しデータに使用するバイ ト レーンはすべて隣接している必要があ り、 バイ トレーンのスキップは禁止です。

c. メモ リ コンポーネン トの読み出しデータ バイ トの 1 つは中央のバイ ト レーン (バイ ト レーン 1 および 2) に割り当てる必要があ り ます。

d. バイ ト レーンを読み出しデータに使用する場合、 Bit[0] および Bit[6] を使用する必要があ り ます。 読み出しクロ ッ ク (CQ または CQ#) が第 1 優先順位、 データ (Q) が第 2 優先順位です。

e. 2 つのコンポーネン トの読み出しデータ バスは、 1 つのバイ ト レーンを共有できません。

4. 読み出しクロ ッ ク (CQ/CQ#) の割り当て

a. 読み出しクロ ッ ク ペアは、 対応する メモ リ コンポーネン トの読み出しデータに使用するバイ ト レーンの 1 つに割り当てる必要があ り ます。

b. CQ/CQ# ペアは単一のバイ ト レーンに割り当てる必要があ り ます。

c. CQ/CQ# を割り当てるこ とができるのは、 中央のバイ ト レーン (バイ ト レーン 1 および 2) だけです。 ほかのバイ ト レーンは、 読み出しデータ キャプチャのクロ ッ ク出力を転送できないためです。

d. CQ および CQ# はバイ ト レーンのピン 0 またはピン 6 のいずれかに割り当てる必要があ り ます。 たとえば、CQ をピン 0 に割り当てた場合、 CQ# はピン 6 に割り当てます (逆の場合も同様)。

Page 186: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 186PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

5. x36 および x18 コンポーネン ト を使用するデザインの場合 :

a. 1 つのコンポーネン トの読み出しデータ ピンがまたがるこ とのできるバイ ト レーンは連続 3 つまでです。また、 CQ/CQ# は常に中央のバイ ト レーンに割り当てる必要があ り ます。

6. アドレス /制御 (A/C) ピンの割り当て

a. アドレス /制御 (A/C) ビッ トは、 すべてを単一のバンク内に割り当てる必要があ り ます。

b. すべての A/C バイ ト レーンは連続して配置する必要があ り、 バイ ト レーンのスキップは禁止です。

c. アドレス /制御バンクは、 書き込みデータ バンク と同じか隣接していなければなり ません。

d. A/C と書き込みデータのバイ ト レーン間に空のバイ ト レーンまたは読み出しバイ ト レーンがあってはなりません。 このルールは、 A/C と書き込みデータが同じバンクを共有する場合、 または隣接バンクに割り当てられている場合に適用されます。

e. アドレス /制御ピンは、 書き込みデータおよび読み出しデータ とバイ ト レーンを共有できません。

f. システム ク ロ ッ ク ピン (sys_clk_p/sys_clk_n) はメモ リ インターフェイス と同じカラム内の任意の GCIO ピン ペア上に配置する必要があ り ます。詳細は、 181 ページの 「ク ロ ッキング」 を参照してください。

7. SSI テク ノ ロジ デバイスの場合、 メモ リ インターフェイスが使用する I/O バンクはすべて同じ SLR のカラムになければなり ません。

8. 各バンクに 1 つの vrp ピンを使用し、 インターフェイスには DCI が必要です。 入力を含む I/O バンクおよび出力のみのバンクでは vrp ピンが必要です。 出力のみのバンクで必要なのは、 制御出力インピーダンスを使用するためにアドレス /制御信号が HSTL_I_DCI を使用するためです。 DCI のカスケード接続はサポート されません。『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571) [参照 3] の DCI に関する規則をすべて順守する必要があ り ます。

QDR II+ のピン配置例

重要 : キャ リブレーシ ョ ン ステージがあるため、 MIG には set_input_delay/set_output_delay は必要あ り ません。 制約のない MIG の入出力およびキャ リブレーシ ョ ン対象の信号は無視してください。

表 11-1 に、 2 つのバンクに含まれる 18 ビッ トの QDR II+ SRAM インターフェイスの例を示します。

表 11-1 : 2 つのバンクに含まれる 18 ビッ トの QDR II+ インターフェイス

バンク 信号名 バイ ト グループ I/O タイプ

1 – T1U_12 –

1 sys_clk_p T1U_11 N

1 sys_clk_n T1U_10 P

1 – T1U_9 N

1 q17 T1U_8 P

1 q16 T1U_7 N

1 cq_p T1U_6 P

1 q15 T1L_5 N

1 q14 T1L_4 P

1 q13 T1L_3 N

1 q12 T1L_2 P

1 q11 T1L_1 N

1 cq_n T1L_0 P

1 vrp T0U_12 –

Page 187: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 187PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

1 – T0U_11 N

1 q10 T0U_10 P

1 q9 T0U_9 N

1 q8 T0U_8 P

1 q7 T0U_7 N

1 q6 T0U_6 P

1 q5 T0L_5 N

1 q4 T0L_4 P

1 q3 T0L_3 N

1 q2 T0L_2 P

1 q1 T0L_1 N

1 q0 T0L_0 P

0 – T3U_12 –

0 – T3U_11 N

0 – T3U_10 P

0 d17 T3U_9 N

0 d16 T3U_8 P

0 d15 T3U_7 N

0 d14 T3U_6 P

0 d13 T3L_5 N

0 d12 T3L_4 P

0 d11 T3L_3 N

0 d10 T3L_2 P

0 bwsn1 T3L_1 N

0 d9 T3L_0 P

0 – T2U_12 –

0 d8 T2U_11 N

0 d7 T2U_10 P

0 d6 T2U_9 N

0 d5 T2U_8 P

0 k_n T2U_7 N

0 k_p T2U_6 P

0 d4 T2L_5 N

0 d3 T2L_4 P

0 d2 T2L_3 N

表 11-1 : 2 つのバンクに含まれる 18 ビッ トの QDR II+ インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ

Page 188: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 188PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

0 d1 T2L_2 P

0 bwsn0 T2L_1 N

0 d0 T2L_0 P

0 doff T1U_12 –

0 a21 T1U_11 N

0 a20 T1U_10 P

0 a19 T1U_9 N

0 a18 T1U_8 P

0 a17 T1U_7 N

0 a16 T1U_6 P

0 a15 T1L_5 N

0 a14 T1L_4 P

0 a13 T1L_3 N

0 a12 T1L_2 P

0 rpsn T1L_1 N

0 a11 T1L_0 P

0 vrp T0U_12 –

0 a10 T0U_11 N

0 a9 T0U_10 P

0 a8 T0U_9 N

0 a7 T0U_8 P

0 a6 T0U_7 N

0 a5 T0U_6 P

0 a4 T0L_5 N

0 a3 T0L_4 P

0 a2 T0L_3 N

0 a1 T0L_2 P

0 wpsn T0L_1 N

0 a0 T0L_0 P

表 11-1 : 2 つのバンクに含まれる 18 ビッ トの QDR II+ インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ

Page 189: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 189PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

プロ ト コルの説明このコアには次のインターフェイスがあ り ます。

• ユーザー インターフェイス

• メモ リ インターフェイス

ユーザー インターフェイス

ユーザー インターフェイスは FPGA のユーザー デザインと QDR II+ SRAM ソ リ ューシ ョ ン コアを接続し、ユーザーと外部メモ リ デバイス間のやり と り を簡略化します。 ユーザー インターフェイスには、 メモ リ デバイスに対して読み出し /書き込みコマンドを発行するための信号があ り ます。 表 11-2 にこれらの信号を示します。

表 11-2 : ユーザー インターフェイスの信号

信号 方向 説明

app_rd_addr0[ADDR_WIDTH – 1:0] 入力読み出しアド レス。 読み出し要求に使用するアド レスを供給します。app_rd_cmd0 がアサート される と有効になります。

app_rd_cmd0 入力読み出しコマンド。 読み出し要求を発行するための信号で、 ポート 0 のアドレスが有効であるこ とを示します。

app_rd_data0[DBITS × BURST_LEN – 1:0] 出力読み出しデータ。app_rd_cmd0 で発行された読み出しコマンドから読み出したデータを送信します。

app_rd_valid0 出力 読み出 し 有効。 メ モ リ か ら 読み出 し た デー タ がapp_rd_data0 で有効で、サンプ リ ング可能になったこ とを示します。

app_wr_addr0[ADDR_WIDTH – 1:0] 入力書き込みアドレス。 書き込み要求に対するアド レスを供給します。 app_wr_cmd0 がアサート される と有効にな ります。

app_wr_bw_n0[(DBITS/9) × BURST_LEN – 1:0] 入力

バイ ト ライ ト 。書き込み要求に対してバイ ト ライ ト を供給し、 どのバイ ト を SRAM に書き込む必要があるかを示します。 app_wr_cmd0 がアサート される と有効にな り ます。 この信号はアクティブ Low です。

app_wr_cmd0 入力書き込みコマンド。 書き込み要求を発行するための信号で、 書き込みポート 0 の対応するサイ ドバンド信号が有効であるこ とを示します。

app_wr_data0[DBITS × BURST_LEN – 1:0] 入力書き込みデータ。 書き込み要求に使用するデータを供給します。 app_wr_cmd0 がアサート される と有効にな り ます。

app_rd_addr1[ADDR_WIDTH – 1:0](1)入力

読み出しアド レス。 読み出し要求に使用するアド レスを供給します。app_rd_cmd1 がアサート される と有効になります。

app_rd_cmd1(1)入力

読み出しコマンド。 読み出し要求を発行するための信号で、 ポート 1 のアドレスが有効であるこ とを示します。

app_rd_data1[DBITS × BURST_LEN – 1:0](1)出力

読み出しデータ。app_rd_cmd1 で発行された読み出しコマンドから読み出したデータを送信します。

Page 190: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 190PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

app_rd_valid1(1)出力

読み出し有効。 メモ リから読み出したデータが app_rd_data1 で有効で、サンプ リ ング可能になったこ とを示します。

app_wr_addr1[ADDR_WIDTH – 1:0](1)入力

書き込みアドレス。 書き込み要求に対するアド レスを供給します。 app_wr_cmd1 がアサート される と有効にな ります。

app_wr_bw_n1[(DBITS/9) × BURST_LEN – 1:0](1)入力

バイ ト ライ ト 。書き込み要求に対してバイ ト ライ ト を供給し、 どのバイ ト を SRAM に書き込む必要があるかを示します。 app_wr_cmd1 がアサート される と有効にな り ます。 この信号はアクティブ Low です。

app_wr_cmd1(1)入力

書き込みコマンド。 書き込み要求を発行するための信号で、 書き込みポート 1 の対応するサイ ドバンド信号が有効であるこ とを示します。

app_wr_data1[DBITS × BURST_LEN – 1:0](1)入力

書き込みデータ。 書き込み要求に使用するデータを供給します。 app_wr_cmd1 がアサート される と有効にな り ます。

clk 出力 ユーザー インターフェイス ク ロ ッ ク

rst_clk 出力ユーザー インターフェイス ク ロ ッ クに同期する リ セット

Init_calib_complete 出力

キャ リブレーシ ョ ン完了。読み出しキャ リブレーシ ョ ンが完了したこ と をユーザー デザインに通知する信号です。この信号がアサー ト されたら、 ク ラ イアン ト インターフェイスから読み出し /書き込み要求を開始できます。

sys_rst 入力 非同期のシステム リセッ ト入力

sys_clk_p/n 入力 メモ リ コン ト ローラーへのシステム ク ロ ッ ク

dbg_clk 出力デバッグ クロ ッ ク。 dbg_clk には信号を接続せず、 インスタンシエーシ ョ ン中はポート を開いたままにして ください。

dbg_bus 出力予約。 dbg_clk には信号を接続せず、 インス タンシエーシ ョ ン中はポート を開いたままにして ください。

注記 :

1. これらのポートが使用可能かつ有効になるのは BL2 コンフ ィギュレーシ ョ ンの場合のみです。 BL4 コンフ ィギュレーシ ョ ンの場合、 これ

らのポートは使用できません。 使用できる場合は、 駆動する必要があ り ません。

表 11-2 : ユーザー インターフェイスの信号 (続き)

信号 方向 説明

Page 191: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 191PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

ユーザー インターフェイスを介したコアとのインターフェイス

図 11-2 に、 ユーザー インターフェイスのプロ ト コルを示します。

要求を発行する前に、init_calib_complete 信号が High にアサート されている必要があ り ます (図 11-2)。アサート されていない場合は読み出し /書き込み要求を発行できず、 ク ライアン ト インターフェイス側で app_wr_cmd0 または app_rd_cmd0 をアサート しても無視されます。app_wr_cmd0 を 1 サイ クル パルスと してアサートする と書き込み要求が発行されます。 このと き、 app_wr_addr0、 app_wr_data0、 app_wr_bw_n0 信号がいずれも有効である必要があ り ます。

直後のサイ クルで app_rd_cmd0 を 1 サイ クル パルス と してアサートする と読み出し要求が発行されます。 このと

き、 app_rd_addr0 が有効である必要があ り ます。 1 サイ クルのアイ ドル時間の後、 同じ ク ロ ッ ク サイ クルで読み

出し要求と書き込み要求が同時にアサート されます。 この場合、 メモ リの読み出しが先に実行され、 次に書き込みが実行されます。 書き込みおよび読み出しコマンドは、 ユーザー インターフェイスに順不同で発行できます。 図 11-2に 2 つの例を示します。

図 11-2 には、 メモ リ デバイスからユーザー デザインにデータが返されるタイ ミ ングを示しています。app_rd_valid0 信号がアサート される と、 app_rd_data0 は有効です。 コアは返されたデータをバッファーしないため、 app_rd_valid0 がアサート されているサイクルで app_rd_data0 をサンプリ ングする必要があ り ます。

BL2 の場合、 2 つの独立したポート、 ポート 0 とポート 1 で同じプロ ト コルに従う必要があ り ます。 図 11-2 は、 ポート 0 のユーザー インターフェイス信号のみを示しています。

X-Ref Target - Figure 11-2

図 11-2 : ユーザー インターフェイスの書き込み/読み出しタイ ミング図

Page 192: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 192PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

メモリ インターフェイス

メモ リ インターフェイスは、 FPGA メモ リ ソ リ ューシ ョ ンを外部の QDR II+ SRAM デバイスに接続する部分です。表 11-3 に、 このインターフェイスで使用される I/O 信号を説明します。 これらの信号は、 メモ リ デバイスの対応する信号へ直接接続できます。

表 11-3 : メモリ インターフェイスの信号

信号 方向 説明

qdriip_cq_n 入力 QDR CQ#。 メモ リから返されるエコー ク ロ ッ クです。 qdr_k_n から生成されます。

qdriip_cq_p 入力 QDR CQ。 メモ リから返されるエコー ク ロ ッ クです。 qdr_k_p から生成されます。

qdriip_d 出力 QDR データ。 PHY から QDR II+ メモ リ デバイスへの書き込みデータです。

qdriip_dll_off_n 出力 QDR DLL オフ。 メモ リ デバイスの DLL をオフにする信号です。

qdriip_bw_n 出力 QDR バイ ト ライ ト 。 PHY から QDR II + SRAM デバイスへのバイ ト書き込み信号です。

qdriip_k_n 出力 QDR ク ロ ッ ク K#。 メモ リ デバイスへ供給される反転入力クロ ッ クです。

qdriip_k_p 出力 QDR ク ロ ッ ク K。 メモ リ デバイスへ供給される入力クロ ッ クです。

qdriip_q 入力 QDR データ Q。 メモ リの読み出しから返されるデータです。

qdriip_qvld 入力QDR Q 有効。 qdriip_q のデータが有効であるこ とを示します。 QDR II+ SRAM デバイスのみに存在する信号です。

qdriip_sa 出力 QDR アドレス。 メモ リの動作で使用するアドレスです。

qdriip_w_n 出力 QDR 書き込み。 メモ リへの書き込みコマンドです。

qdriip_r_n 出力 QDR 読み出し。 メモ リへの読み出しコマンドです。

Page 193: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 193PG150 2015 年 4 月 1 日

第 11 章 : コアを使用するデザイン

図 11-3 に、 BL4 QDR II+ SRAM デバイスのメモ リ インターフェイスでのサンプル書き込みおよび読み出し動作のタイ ミ ング図を示します。 図 11-4 は BL2 デバイスのものです。

X-Ref Target - Figure 11-3

図 11-3 : BL4 メモリ デバイスとのインターフェイス

X-Ref Target - Figure 11-4

図 11-4 : BL2 メモリ デバイスとのインターフェイス

Page 194: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 194PG150 2015 年 4 月 1 日

第 12 章

デザイン フローの手順この章では、 コアのカスタマイズと生成、 制約、 およびシ ミ ュレーシ ョ ン/合成/インプ リ メ ンテーシ ョ ンの手順について説明します。一般的な Vivado® デザイン フローおよび Vivado IP インテグレーターの詳細は、次の Vivado DesignSuite ユーザー ガイ ドを参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 6]

• 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7]

• 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 8]

• 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9]

コアのカスタマイズおよび生成

注意 : Windows オペレーティング システムにはファ イル パスの文字数に 260 文字の制限があるため、 Vivado ツール使用時に問題が発生するこ とがあ り ます。 この問題を避けるため、 プロジェク トの作成、 IP またはマネージド IP プロジェク トの定義、ブロ ッ ク デザインの作成時にはパス名がなるべく短くなるよ うにディ レク ト リの位置に注意してください。

こ こでは、 ザイ リ ンクス ツールを使用し、 Vivado Design Suite でコアをカスタマイズおよび生成する方法について説明します。

Vivado IP インテグレーターでコアをカスタマイズおよび生成する場合は、 『Vivado Design Suite ユーザー ガイ ド : IPインテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 6] を参照してください。IP インテグレーターは、デザインの検証または生成時に一部のコンフ ィギュレーシ ョ ン値を自動的に計算する場合があ り ます。値が変更されるか否かを確認するには、 この章のパラ メーターの説明を参照して ください。 パラ メーター値を確認するには、 Tclコンソールから validate_bd_design コマンドを実行して ください。

IP はユーザー デザインに合わせてカスタマイズできます。 それには、 IP コアに関連する各種パラ メーターの値を次の手順に従って指定します。

1. IP カタログから IP を選択します。

2. 選択した IP をダブルク リ ッ クするか、 ツールバーまたは右ク リ ッ ク メニューから [Customize IP] コマンドをクリ ッ ク します。

Vivado ツールでコアを生成する方法の詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] および 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 8] を参照してください。

Page 195: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 195PG150 2015 年 4 月 1 日

第 12 章 : デザイン フローの手順

ユーザー パラメーター

表 12-1 に、Vivado IDE の GUI フ ィールド とユーザー パラ メーターの対応関係を示します。ユーザー パラ メーターはTcl コンソールで表示できます。

出力の生成

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照してください。

表 12-1 : Vivado IDE のパラメーターとユーザー パラメーターの対応

Vivado IDE のパラメーター /値(1) ユーザー パラメーター /値(1) デフォルト値

[System Clock Configuration] System_Clock Differential

[Internal VREF] Internal_Vref TRUE

[DCI Cascade] DCI_Cascade FALSE

[Debug Signal for Controller] Debug_Signal Disable

[Clock 1 (MHz)] ADDN_UI_CLKOUT1_FREQ_HZ None

[Clock 2 (MHz)] ADDN_UI_CLKOUT2_FREQ_HZ None

[Clock 3 (MHz)] ADDN_UI_CLKOUT3_FREQ_HZ None

[Clock 4 (MHz)] ADDN_UI_CLKOUT4_FREQ_HZ None

[I/O Power Reduction] IOPowerReduction OFF

[Enable System Ports] Enable_SysPorts TRUE

[I/O Power Reduction] IO_Power_Reduction FALSE

[Default Bank Selections] Default_Bank_Selections FALSE

Reference Clock Reference_Clock FALSE

[Enable System Ports] Enable_SysPorts TRUE

[Clock Period (ps)] C0.QDRIIP_TimePeriod 1,819

[Input Clock Period (ps)] C0.QDRIIP_InputClockPeriod 13,637

[Configuration] C0.QDRIIP_MemoryType Components

[Memory Part] C0.QDRIIP_MemoryPart CY7C2565XV18-633BZXC

[Data Width] C0.QDRIIP_DataWidth 36

[Burst Length] C0.QDRIIP_BurstLen 4

[Memory Name] C0.QDRIIP_MemoryName Main Memory

注記 :

1. パラ メーター値については、 Vivado IDE のパラ メーター値とユーザー パラ メーター値の異なるものを示しています。 これらの値は、 パラ

メーター名の下に字下げして表記しています。

Page 196: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 196PG150 2015 年 4 月 1 日

第 12 章 : デザイン フローの手順

MIG I/O ピン配置I/O ピン配置の詳細は、 145 ページの 「MIG I/O ピン配置」 を参照してください。

コアへの制約こ こでは、 Vivado Design Suite でコアに制約を指定する方法について説明します。

必須の制約

MIG Vivado IDE は必須の制約を生成します。ロケーシ ョ ン制約および I/O 規格制約がデザインの各外部ピンに追加されます。 このロケーシ ョ ンは、 デザインで選択したバンクおよびバイ ト レーンに基づいて Vivado IDE によって選択されます。

I/O 規格は、 Vivado IDE で選択したメモ リ タイプと各種オプシ ョ ン、 およびピン タイプによって選択されます。qdriip_d[0] のサンプルを次に示します。

set_property LOC AP25 [get_ports {c0_qdriip_d[0]}]set_property IOSTANDARD HSTL_I [get_ports {c0_qdriip_d[0]}]

システム ク ロ ッ クは、 周期を適切に設定する必要があ り ます。

create_clock -name c0_sys_clk –period 1.818 [get_ports c0_sys_clk_p]

デバイス、 パッケージ、 スピード グレードの選択

このセクシ ョ ンは、 この IP コアには適用されません。

クロック周波数

このセクシ ョ ンは、 この IP コアには適用されません。

クロック管理

ク ロ ッキングの詳細は、 181 ページの 「ク ロ ッキング」 を参照してください。

クロック配置

このセクシ ョ ンは、 この IP コアには適用されません。

バンク設定

このセクシ ョ ンは、 この IP コアには適用されません。

Page 197: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 197PG150 2015 年 4 月 1 日

第 12 章 : デザイン フローの手順

ト ランシーバーの配置

このセクシ ョ ンは、 この IP コアには適用されません。

I/O 規格と配置

I/O 規格と配置は、 Vivado IDE で設定したインターフェイス タイプおよびオプシ ョ ンに基づいて MIG ツールによって適切に生成されます。

重要 : 起動時にキャ リブレーシ ョ ン プロセスが自動的に実行されるため、このデザインの外部メモ リ インターフェイス ピンには set_input_delay および set_output_delay 制約は必要あ り ません。 ピンのインプリ メンテーシ ョン中に表示される警告は無視できます。

シミ ュレーシ ョ ンこのセクシ ョ ンでは、MIG で生成した IP のシ ミ ュレーシ ョ ンについて説明します。Vivado シ ミ ュレータ、Questa SIM、IES、 VCS シ ミ ュレーシ ョ ン ツールは、 すべてのバージ ョ ンで MIG IP の検証を実施しています。 Vivado シ ミ ュレータはまだサポート されていません。 シ ミ ュレーシ ョ ンの詳細は、第 13 章 「サンプル デザイン」 および第 14 章 「テストベンチ」 を参照してください。

合成およびインプリ メンテーシ ョ ン合成およびインプ リ メンテーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照して ください。

Page 198: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 198PG150 2015 年 4 月 1 日

第 13 章

サンプル デザインこの章では、 Vivado® Design Suite で提供されているサンプル デザインについて説明します。

Vivado は Open IP Example Design フローをサポート しています。このフローを用いてサンプル デザインを作成するには、 [IP Sources] タブで IP を右ク リ ッ ク して (図 13-1)、 [Open IP Example Design] をク リ ッ ク します。

これで新規 Vivado プロジェク トが作成されます。 [Open IP Example Design] をク リ ッ クする と、 新規デザイン プロジェク トのディ レク ト リ を入力するためのダイアログ ボッ クスが開きます。

ディ レク ト リ を選択するか、デフォルトのディ レク ト リのまま [OK] をク リ ッ ク します。 これでサンプル デザインのすべてのファイルと IP のコピーを含む新規 Vivado プロジェク トが起動します。

X-Ref Target - Figure 13-1

図 13-1 : [Open IP Example Design]

Page 199: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 199PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

図 13-1 に示すのは、 [Generate the PHY component only] をオンにして生成したサンプル デザイン (コン ト ローラー モジュールは生成されない) です。

X-Ref Target - Figure 13-2

図 13-2 : [Generate the PHY component only] をオンにして生成した IP サンプル デザイン

Page 200: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 200PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

図 13-3 に示すのは、 [Generate the PHY component only] をオフにして生成したサンプル デザイン (コン ト ローラー モジュールが生成される ) です。

サンプル デザインのシミ ュレーシ ョ ン (標準ユーザー インターフェイスのデザイン)このサンプル デザインには、 メモ リ コン ト ローラー用のシンプルな固定データ パターンを生成する合成可能なテストベンチが付属します。 このテス トベンチは IP ラ ッパー、 および書き込みと読み出しをそれぞれ 10 回ずつ生成するexample_tb から構成されます。 MIG では QDR II+ メモ リ モデルは提供されません。 シ ミ ュレーシ ョ ンに必要なメモ リ モデルはメモ リ ベンダーのウェブサイ トからダウンロードする必要があ り ます。

サンプル デザインは、 以降のセクシ ョ ンで示すいずれかの方法でシ ミ ュレーシ ョ ンできます。

X-Ref Target - Figure 13-3

図 13-3 : [Generate the PHY component only] をオフにして生成した IP サンプル デザイン

Page 201: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 201PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

プロジェク ト ベースのシミ ュレーシ ョ ンこの方法では、Vivado 統合設計環境 (IDE) を使用してサンプル デザインをシ ミ ュレーシ ョ ンできます。MIG では QDRII+ メモ リ モデルは提供されません。シ ミ ュレーシ ョ ンに必要なメモリ モデルはメモ リ ベンダーのウェブサイ トからダウンロードする必要があ り ます。 [Add Sources] ページでメモリ モデル ファ イルをサンプルデザインに追加してからシ ミ ュレーシ ョ ンを実行します。

Vivado シ ミ ュレータ、 Questa Sim、 IES、 VCS ツールは、すべてのバージ ョ ンで QDR II+ IP の検証を実施しています。Vivado シ ミ ュレーシ ョ ン ツールは、 Vivado 2015.1 リ リースのものを使用して QDR II+ IP を検証しています。 こ こからは、 これらの各シ ミ ュレータを用いてプロジェク ト ベースのシ ミ ュレーシ ョ ンを実行する手順について説明します。

Vivado シミ ュレータを用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. [Open IP Example Design] での Vivado プロジェク トで [Add Sources] をク リ ッ ク し、 [Add or create simulationsources] をオンにして [Next] をク リ ッ ク します (図 13-4)。

X-Ref Target - Figure 13-4

図 13-4 : Vivado の [Add Sources] ページ

Page 202: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 202PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

2. [Add or Create Simulation Sources] ページでメモ リ モデルを追加し、 [Finish] をク リ ッ ク します (図 13-9)。

3. [Open IP Example Design] での Vivado プロジェク トで、Flow Navigator の下にある [Simulation Settings] をク リ ック します。

4. [Target simulator] で [Vivado Simulator] をク リ ッ ク します。

a. [Simulation] タブで [xsim.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、 1ms よ り もはるかに短い値から変更します (図 13-6)。 [Generate scripts only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate scripts only] をオフにする必要があ り ます。

5. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 13-5

図 13-5 : Vivado の [Add or Create Simulation Sources] ページ

Page 204: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 204PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

7. Vivado IDE から Vivado シ ミ ュレータが起動してシ ミ ュレーシ ョ ンが実行されます。詳細は、『Vivado Design Suiteユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

Questa Sim を用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. MIG のサンプル Vivado プロジェク ト を開いて ([Open IP Example Design]...) [Add Sources] をク リ ッ ク し、 [Addor create simulation sources] をオンにして [Next] をク リ ッ ク します (図 13-8)。

X-Ref Target - Figure 13-7

図 13-7 : [Run Behavioral Simulation]

X-Ref Target - Figure 13-8

図 13-8 : Vivado の [Add Sources] ページ

Page 205: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 205PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

2. [Add or Create Simulation Sources] ページでメモ リ モデルを追加し、 [Finish] をク リ ッ ク します (図 13-9)。

3. [Open IP Example Design] での Vivado プロジェク トで、Flow Navigator の下にある [Simulation Settings] をク リ ック します。

4. [Target simulator] で [QuestaSim/ModelSim Simulator] をク リ ッ ク します。

a. [Compiled libraries location] でコンパイル済みライブラ リの位置を指定します。

b. [Simulation] タブで [modelsim.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、1ms よ り もはるかに短い値から変更します (図 13-10)。 [Generate scripts only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate scripts only] をオフにする必要があ り ます。

5. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 13-9

図 13-9 : Vivado の [Add or Create Simulation Sources] ページ

Page 207: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 207PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

7. Vivado IDE から Questa Sim が起動してシ ミ ュレーシ ョ ンが実行されます。詳細は、『Vivado Design Suite ユーザーガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

IES を用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. MIG のサンプル Vivado プロジェク ト を開いて ([Open IP Example Design]...) [Add Sources] をク リ ッ ク し、 [Addor create simulation sources] をオンにして [Next] をク リ ッ ク します (図 13-8)。

2. [Add or Create Simulation Sources] ページでメモ リ モデルを追加し、 [Finish] をク リ ッ ク します (図 13-9)。

3. [Open IP Example Design] での Vivado プロジェク トで、Flow Navigator の下にある [Simulation Settings] をク リ ック します。

4. [Target simulator] で [Incisive Enterprise Simulator (IES)] をク リ ッ ク します。

a. [Compiled libraries location] でコンパイル済みライブラ リの位置を指定します。

b. [Simulation] タブで [ies.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、 1ms よ り もはるかに短い値から変更します (図 13-12)。 [Generate scripts only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate scripts only] をオフにする必要があ り ます。

5. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 13-11

図 13-11 : [Run Behavioral Simulation]

Page 208: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 208PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

6. Flow Navigator で [Run Simulation] → [Run Behavioral Simulation] をク リ ッ ク します (図 13-11)。

7. Vivado IDE から IES が起動してシ ミ ュレーシ ョ ンが実行されます。 詳細は、 『Vivado Design Suite ユーザー ガイド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

X-Ref Target - Figure 13-12

図 13-12 : IES シミ ュレータによるシミ ュレーシ ョ ン

Page 209: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 209PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

VCS を用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. MIG のサンプル Vivado プロジェク ト を開いて ([Open IP Example Design]...) [Add Sources] をク リ ッ ク し、 [Addor create simulation sources] をオンにして [Next] をク リ ッ ク します (図 13-8)。

2. [Add or Create Simulation Sources] ページでメモ リ モデルを追加し、 [Finish] をク リ ッ ク します (図 13-9)。

3. [Open IP Example Design] での Vivado プロジェク トで、Flow Navigator の下にある [Simulation Settings] をク リ ック します。

4. [Target simulator] で [Verilog Compiler Simulator (VCS)] をク リ ッ ク します。

a. [Compiled libraries location] でコンパイル済みライブラ リの位置を指定します。

b. [Simulation] タブで [vcs.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、 1ms よ り もはるかに短い値から変更します (図 13-13)。 [Generate scripts only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate scripts only] をオフにする必要があ り ます。

5. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

Page 210: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 210PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

6. Flow Navigator で [Run Simulation] → [Run Behavioral Simulation] をク リ ッ ク します (図 13-11)。

7. Vivado IDE から VCS が起動してシ ミ ュレーシ ョ ンが実行されます。詳細は、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

X-Ref Target - Figure 13-13

図 13-13 : VCS シミ ュレータによるシミ ュレーシ ョ ン

Page 211: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 211PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

非プロジェク ト ベースのシミ ュレーシ ョ ン

重要 : ザイ リ ンク スの UNISIMS_VER および SECUREIP ラ イブラ リ をシ ミ ュレータにマッピングする必要があ り ます。

1. シ ミ ュレーシ ョ ンを実行するには、 次のディ レク ト リへ移動します。

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sim_1/imports/tb

Vivado IDE でコンポーネン ト名を mig_0 と して MIG デザインを生成した場合、シ ミ ュレーシ ョ ンのディ レク トリ パスは次のとおりです。

<project_dir>/example_project/mig_0_example/mig_0_example.srcs/sim_1/imports/tb

2. MIG では QDR II+ メモ リ モデルは提供されません。シ ミ ュレーシ ョ ンに必要なメモ リ モデルはメモ リ ベンダーのウェブサイ トからダウンロードする必要があ り ます。 メモ リ モデルを tb フォルダーにコピーします。 シ ミ ュレーシ ョ ンの実行方法については、 このフォルダーの readme.txt ファ イルを参照して ください。

3. Questa Sim、 IES、 VCS シ ミ ュレーシ ョ ン ツールは、 すべてのバージ ョ ンで MIG IP の検証を実施しています

4. Questa Sim、IES、VCS でシ ミ ュレーシ ョ ンを実行するためのスク リプ ト ファ イルは、MIG で生成される出力ファイルに含まれます。 ほかのシ ミ ュレーシ ョ ン ツールも MIG IP のシ ミ ュレーシ ョ ンに使用できますが、 ザイ リ ンクスによる検証は行われていません。

シミ ュレーシ ョ ン速度UNISIM XIPHY モデルの代わりに XIPHY ビヘイビアー モデルを使用する とシ ミ ュレーシ ョ ン速度を低下させるこ とができ、 Vivado IDE にはそのためのオプシ ョ ンがあ り ます。 MIG デザインでは、 XIPHY ビヘイビアー モデル シ ミ ュレーシ ョ ンがデフォルトで選択されます。 シ ミ ュレーシ ョ ン モードは、 [Advanced] タブの [Simulation Options] で設定します (図 13-14)。

Page 212: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 212PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

Vivado IDE での設定に応じて、 RTL の SIM_MODE パラ メーターの値が次のよ うに変わり ます。

• SIM_MODE = BFM – Vivado IDE の [Simulation Mode] で [BFM] を選択する と、 RTL パラ メーターの SIM_MODEの値は 「BFM」 にな り ます。 デフォルトではこのモードが選択されます。

• SIM_MODE = FULL – Vivado IDE の [Simulation Mode] で [FULL] を選択する と XIPHY UNISIM が選択され、RTLパラ メーターの SIM_MODE の値が 「FULL」 にな り ます。

重要 : Cypress® Semiconductor 社の QDR II+ メモ リ モデルでシ ミ ュレーシ ョ ンを行う場合は、 次の 2 つのタイ ミ ングパラ メーターの値を変更する必要があ り ます。`define tcqd #0 `define tcqdoh #0.15

X-Ref Target - Figure 13-14

図 13-14 : [Advanced] タブ - [Simulation Options]

Page 213: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 213PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

Synplify Pro ブラック ボックス テストexample_design に対して Synopsys® Synplify Pro® のブラ ッ ク ボッ クス テス ト を行うには、次に示す手順に従ってsynplify_pro によるブラ ッ ク ボッ クス合成と Vivado によるインプリ メンテーシ ョ ンを実行します。

1. OOC フローを利用して UltraScale™ アーキテクチャ MIG IP コアを生成し、 インプリ メンテーシ ョ ン用の .dcpファ イルを生成します。 プロジェク トの [Target Language] は [verilog] または [VHDL] を選択します。

2. サンプル デザインのセクシ ョ ンに記載した情報を参考にして MIG IP コア用のサンプル デザインを作成し、Vivadoプロジェク ト を閉じます。

3. UltraScale FPGA をサポート した synplify_pro ツールを起動し、 IP コア生成時に選択したのと同じ UltraScaleFPGA デバイスを選択します。

4. Vivado 起動時に [Target Language] で選択した言語に応じて、次のファイルを synplify_pro プロジェク トに追加します。

a. Verilog の場合 :

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/ip/<Component_Name>/*stub.v<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/imports/<Component_Name>/rtl/ip_top/example_top.sv<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/imports/<Component_Name>/tb/example_tb.sv

b. VHDL の場合 :

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/ip/<Component_Name>/*stub.vhdl <project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/imports/<Component_Name>/rtl/ip_top/example_top.sv<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/imports/<Component_Name>/tb/example_tb.sv

5. synplify_pro 合成を実行して .edf ファ イルを生成します。次に、synplify_pro プロジェク ト を閉じます。

6. 新規 Vivado プロジェク ト を開きます。 [Project Type] は [Post-synthesis Project] を選択し、 [Target Language] は IPコア生成時に選択したのと同じ言語を選択します。

7. synplify_pro で生成した .edf ファ イルを [Design Source] と して Vivado プロジェク トに追加します。

8. 手順 1 と 2 で生成した .dcp ファ イルを [Design Source] と して Vivado プロジェク トに追加します。 次に例を示します。

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sources_1/ip/<Component_Name>/<Component_Name>.dcp

9. 手順 2 で生成した .xdc ファ イルを [constraint] と して Vivado プロジェク トに追加します。 次に例を示します。

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/constrs_1/imports/par/example_design.xdc

10. Vivado ツールでインプリ メンテーシ ョ ン フローを実行します。インプ リ メンテーシ ョ ンの詳細は、『Vivado DesignSuite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照してください。

注記 : 適切な .dcp および .xdc ファ イルを使用したユーザー デザインの場合も同じ手順で実行できます。

Page 214: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 214PG150 2015 年 4 月 1 日

第 13 章 : サンプル デザイン

CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ンGCIO ピンと MMCM を同じバンクに配置していない場合、 CLOCK_DEDICATED_ROUTE 制約を 「BACKBONE」 に設定する必要があ り ます。BACKBONE 配線を使用するには、GCIO と MMCM 入力の間に BUFG をインスタンシエートする必要があ り ます。 [Advanced] タブの [FPGA Options] で [Reference Input Clock Configuration] を [Differential]と して生成したデザインでは、 MIG がこれらの制約を管理します。 また、 すべてのシナリオに対する IP およびサンプル デザイン フローも MIG が処理します。

[Advanced] タブの [FPGA Options] で [Reference Input Clock Configuration] を [No Buffer] と して生成したデザインでは、 GCIO と MMCM の配置に基づいて CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ンを IP フローでユーザーが適切に処理する必要があ り ます。 コンフ ィギュレーシ ョ ンで [No Buffer] を選択したデザインでは、 MIG はクロ ッ ク制約を XDC ファ イルに生成しません。 この場合、ユーザーが IP フローでのクロ ッ ク制約に配慮する必要があ り ます。

サンプル デザイン フローで [No Buffer] を選択してコンフ ィギュレーシ ョ ンした場合、 MIG はシステム ク ロ ッ ク ピンに差動バッ フ ァーを イ ン ス タ ンシエー ト し てサンプル デザイ ンを生成し ます。 MIG はク ロ ッ ク制約をexample_design.xdc に生成し ます。 また、 GCIO と MMCM が同じバン ク にない場合はCLOCK_DEDICATED_ROUTE 制約を 「BACKBONE」 と して生成し、 GCIO と MMCM 入力の間に BUFG をインスタンシエート して完全なソ リ ューシ ョ ンを提供します。 これは、 サンプル デザイン フローで参考と して行われるもので、 初の生成時に実行されます。

このサンプル デザインで、I/O ピン配置機能を使用してシステム ク ロ ッ ク ピンの I/O ピンをほかのピンに変更した場合、 CLOCK_DEDICATED_ROUTE 制約と BUFG のインスタンシエーシ ョ ンはユーザーが適切に処理する必要があ ります。 この場合、 DRC エラーが報告されます。

Page 215: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 215PG150 2015 年 4 月 1 日

第 14 章

テス トベンチこの章では、 Vivado® Design Suite で提供されているテス トベンチについて説明します。

メモ リ コン ト ローラーは、基本的な読み出しおよび書き込み動作を検証する、簡単なテス トベンチと共に生成されます。 スティ ミ ュラスには、データ整合性をチェッ クするための 10 回の連続書き込みおよびそれに続く 10 回の読み出しが含まれます。

Page 217: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 217PG150 2015 年 4 月 1 日

第 15 章

概要ザイ リ ンクス UltraScale™ アーキテクチャには、 RLDRAM 3 メモ リ インターフェイス ソ リ ューシ ョ ン (MIS) コアが含まれます。 MIS コアは、 これら DRAM タイプのメモ リに接続するためのインターフェイス ソ リ ューシ ョ ンを提供します。 メモ リ コン ト ローラー全体のソ リ ューシ ョ ンと、 物理層 (PHY) のみを提供するソ リ ューシ ョ ンの両方をサポート しています。 RLDRAM 3 コアの UltraScale アーキテクチャは次の上位ブロ ッ クで構成されます。

• コン ト ローラー ― ユーザー インターフェイスからのバース ト ト ランザクシ ョ ンを受信し、RLDRAM 3 との間のト ランザクシ ョ ンを生成します。 コン ト ローラーは DRAM のタイ ミ ング パラ メーターと リ フレッシュを制御します。

• 物理層 ― DRAM への高速インターフェイスを提供します。 この層には FPGA 内のハード ブロ ッ ク と、 それらハード ブロ ッ ク と DRAM 間で 適なインターフェイス タイ ミ ングを確保するために使用されるソフ ト ブロ ック キャ リブレーシ ョ ン ロジッ クが含まれます。

UltraScale アーキテクチャに新たに導入されたハード ブロ ッ クによって、 大 2,133Mb/s のインターフェイス速度を実現できるよ うになり ました。

° ハード ブロ ッ クには次の機能があ り ます。

- データのシ リアライズと送信

- データのキャプチャ とデシ リ アライズ

- 高速クロ ッ クの生成と同期

- 電圧および温度のト ラ ッキング機能を備えた、 ピンごとの細精度の遅延調整エレ メン ト

° ソフ ト ブロ ッ クには次の機能があ り ます。

- メモ リ初期化 ― キャ リブレーシ ョ ン モジュールは、 RLDRAM 3 用の初期化ルーチンを提供します。初期化プロセスの遅延をバイパスしてシ ミ ュレーシ ョ ン時間を短縮します。

- キャ リブレーシ ョ ン ― キャ リブレーシ ョ ン モジュールは、ハード ブロッ ク内のすべての遅延を設定し、ソフ ト IP がメモ リ インターフェイスで適切に動作するよ うにする包括的な方法を提供します。 インターフェイス性能を 適化するために、各ビッ ト を個別にト レーニングしてから結合します。 キャ リブレーシ ョ ン プロセスの結果はザイ リ ンクスのデバッグ ツールで確認できます。 キャ リブレーシ ョ ンの完了後、 PHY 層は DRAM への raw (未調整) インターフェイスを提供します。

• アプリ ケーシ ョ ン インターフェイス ― ユーザー インターフェイス層は、 アプリ ケーシ ョ ンにシンプルな FIFOインターフェイスを提供します。 データはバッファーに格納され、 読み出しデータは要求順に出力されます。

Page 218: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 218PG150 2015 年 4 月 1 日

第 15 章 : 概要

機能概要• 18 および 36 ビッ ト幅インターフェイスをサポート

• ODT をサポート

• RLDRAM 3 の初期化をサポート

• Verilog でソース コードを提供

• 4:1 のメモリ対 FPGA ロジッ ク インターフェイスのクロ ッ ク比をサポート

• Vivado ハードウェア マネージャーを通じてインターフェイス キャ リブレーシ ョ ンおよびト レーニング情報を提供

X-Ref Target - Figure 15-1

図 15-1 : UltraScale アーキテクチャ FPGA のメモリ インターフェイス ソリューシ ョ ン

表 15-1 : サポート されるコンフ ィギュレーシ ョ ン

インターフェイス幅 バースト長 デバイス数

36 BL2、 BL4 1、 2

18 BL2、 BL4、 BL8 1、 2

Page 219: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 219PG150 2015 年 4 月 1 日

第 15 章 : 概要

ライセンスおよび注文情報このザイ リ ンク ス LogiCORE IP モジュールは、 ザイ リ ンク ス エンドユーザー ラ イセンス規約のも とザイ リ ンク スVivado Design Suite を使用して追加コス ト なしで提供されています。 この IP およびその他のザイ リ ンクス LogiCOREIP に関する情報は、 ザイ リ ンクス IP コア ページから入手できます。 その他のザイ リ ンクス LogiCORE IP モジュールおよびツールの価格や提供状況については、 ザイ リ ンクス販売代理店にお問い合わせください。

ライセンス チェ ッカー

IP にライセンス キーが必要な場合、 そのキーの認証が必要です。 Vivado® デザイン ツールでは、 設計フローにライセンスが必要な IP の使用を確認する、 ライセンス チェッ クポイン トが複数あ り ます。 ライセンス チェッ クが正常に終了する と、 IP の生成が継続されます。 正常に終了しなければ、 IP の生成はエラーとな り停止します。 ラ イセンスチェッ クポイン トが適用されるのは、 次のツールです。

• Vivado デザイン ツール : Vivado 合成

• Vivado インプリ メンテーシ ョ ン

• write_bitstream (Tcl コマンド )

重要 : チェッ クポイン トでは、 IP のライセンス レベルは無視されます。 有効なライセンスの有無のみを検証します。IP ラ イセンス レベルは確認しません。

Page 220: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 220PG150 2015 年 4 月 1 日

第 16 章

製品仕様

規格UltraScale™ アーキテクチャに関する資料の詳細は、 274 ページの 「参考資料」 を参照して ください。

性能

最大周波数

大周波数の詳細は、 『Kintex UltraScale アーキテクチャ データシート : DC 特性および AC スイ ッチ特性』 (DS892) [参照 2] を参照して ください。

リソース使用量

Kintex UltraScale デバイス

表 16-1 に、 Kintex® UltraScale デバイスのリ ソース概数を示します。

Kintex UltraScale デバイスの場合に UltraScale アーキテクチャ FPGA MIS コアに必要な リ ソースを見積も り ました。Vivado® IP カタログを使用して得られた値です。 合成後レポートから求めた値であ り、 インプリ メンテーシ ョ ン時に変化する可能性があ り ます。

表 16-1 : デバイス使用量 ― Kintex UltraScale FPGA

パラメーター値 デバイス リソース

インターフェイス幅 FF LUT メモリ LUTRAMB36E2/RAMB18E2 BUFG PLLE3_ADV MMCME3_ADV

36 5,311 4,799 463 29 6 2 1

Page 221: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 221PG150 2015 年 4 月 1 日

第 16 章 : 製品仕様

ポートの説明メモ リ インターフェイス コアの 上位にはユーザー デザインと呼ばれる 3 つのポート カテゴ リがあ り ます。

• 第 1 のカテゴ リは RLDRAM に直接接続する メモ リ インターフェイス信号です。これらは Micron® RLDRAM 3 仕様で定義されています。

• 第 2 のカテゴ リはユーザー インターフェイス となるアプリ ケーシ ョ ン インターフェイス信号です。 これらは、235 ページの 「プロ ト コルの説明」 で解説しています。

• 第 3 のカテゴ リには、 コアの適切な動作に必要なその他の信号が含まれます。 クロ ッ ク、 リセッ ト 、 コアからのステータス信号などです。 クロ ッ クおよびリセッ ト信号については、 それぞれ該当セクシ ョ ンで説明します。

アクティブ High の init_calib_complete 信号は、 初期化とキャ リブレーシ ョ ンが完了し、 インターフェイスがコマンドを受け入れ可能な状態になったこ とを示します。

Page 222: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 222PG150 2015 年 4 月 1 日

第 17 章

コアのアーキテクチャこの章では、UltraScale™ アーキテクチャ FPGA のメモリ インターフェイス ソ リ ューシ ョ ン (MIS) コアについて説明し、 モジュールおよびインターフェイスの概要を示します。

概要図 17-1 に、 RLDRAM 3 MIS コアの概略ブロッ ク図を示します。 この図では、 読み出し /書き込みコマンドを開始するためのユーザー インターフェイスへの内部 FPGA 接続、 およびメモ リ デバイスへの外部インターフェイスを示しています。

X-Ref Target - Figure 17-1

図 17-1 : RLDRAM 3 インターフェイス ソリューシ ョ ンの概略ブロック図

Page 223: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 223PG150 2015 年 4 月 1 日

第 17 章 : コアのアーキテクチャ

図 17-2 に、 UltraScale アーキテクチャ FPGA のメモ リ インターフェイス ソ リ ューシ ョ ンを示します。

ユーザー インターフェイスは、 完全に SDR 信号ベースのシンプルなプロ ト コルを用いて読み出しおよび書き込み要求を生成します。 このプロ ト コルの詳細は、 第 18 章の 「ユーザー インターフェイス」 を参照してください。

メモ リ コン ト ローラーはユーザー インターフェイスからコマンドを受け取り、 RLDRAM 3 デバイスのプロ ト コル要件に従います。 詳細は、 「メモ リ コン ト ローラー」 を参照してください。

物理インターフェイスは、 RLDRAM 3 プロ ト コルと タイ ミ ング要件を満たしながら外部メモ リ デバイス と通信できるよ うに、 適切なタイ ミ ング関係と DDR 信号を生成します。 詳細は、 第 18 章の 「物理インターフェイス」 を参照してください。

X-Ref Target - Figure 17-2

図 17-2 : UltraScale アーキテクチャ FPGA のメモリ インターフェイス ソリューシ ョ ン コア

Page 224: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 224PG150 2015 年 4 月 1 日

第 17 章 : コアのアーキテクチャ

メモリ コン ト ローラーメモ リ コン ト ローラー (MC) は RLDRAM 3 のアクセス要件を適用し、 PHY と接続します。 また、 メモ リ デバイスへ転送されるコマンド と同じ順序でコマンドを処理します。

メモ リ コン ト ローラーはユーザー インターフェイスからコマンドを受け取り、そのコマンドをすぐに処理できるか、または待機する必要があるかを判断します。 すべての要件が満たされる と、 コマンドは PHY インターフェイスへ配置されます。 書き込みコマンドの場合、 コン ト ローラーはユーザー インターフェイス向けに信号を生成して PHY へ書き込みデータを提供します。 この信号は、 コマンド とデータの適切な関連を確保するために、 メモ リ コンフ ィギュレーシ ョ ンに基づいて生成されるものです。 オート リ フレッシュ コマンドは、 メモ リ デバイスのリ フレッシュ要件を満たすためにコン ト ローラーによってコマンド フロー内に挿入されます。

RLDRAM 3 では、 読み出しデータ と書き込みデータのデータ バスは共有されます。 読み出しコマンドから書き込みコマンド (またはその逆) へと切り替える と、 バスの変更が原因でコマンド ス ト リームにギャ ップが発生します。 スループッ ト を向上させるには、 コマンド バスの変更を可能な限り 小限に抑える必要があ り ます。

CMD_PER_CLK は、 FPGA ロジッ クのクロ ッ ク サイクルごとにコン ト ローラーへ与えられる メモ リ コマンド数を決定する 上位のパラ メーターです。 パラ メーターの値は、 nCK_PER_CLK およびバース ト長によって決ま り ます。 たとえば、 nCK_PER_CLK = 4 の場合、 CMD_PER_CLK はバース ト長 = 8 に対しては 1、 バース ト長 = 4 に対しては 2 、バース ト長 = 2 に対しては 4 に設定されます。

ユーザー インターフェイスの割り当てc0_rld3_user_addr バス上のアドレス ビッ トは、 次のよ うに割り当てる必要があ り ます。

PHYPHY には、 外部の RLDRAM 3 デバイスへの下位の物理インターフェイス、 および物理インターフェイス自体の動作信頼性を確保するためのキャ リブレーシ ョ ン ロジッ クがすべて含まれます。 PHY はメモ リ デバイス とのインターフェイスに必要な信号のタイ ミ ングおよびシーケンスを生成します。

PHY には次のよ うな機能があ り ます。

• ク ロ ッ ク /アドレス /制御信号の生成ロジッ ク

• 書き込みおよび読み出しデータパス

• 電源投入後の SDRAM 初期化ロジッ ク

さ らに、システムの静的遅延および動的遅延に対応するために、読み出しおよび書き込みデータパスのタイ ミ ング トレーニングを実行するキャ リブレーシ ョ ン ロジッ ク もあ り ます。

Page 225: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 225PG150 2015 年 4 月 1 日

第 17 章 : コアのアーキテクチャ

PHY 全体のアーキテクチャ

UltraScale アーキテクチャの PHY は専用ブロッ ク と ソフ ト キャ リブレーシ ョ ン ロジッ クで構成されています。 専用ブロ ッ クは互いに隣接して配置され、高性能な物理層を構築するために必要なクロ ッ クおよびデータパス配線を 短に抑えるよ う、 インターコネク トで直接接続されています。

メモ リ コン ト ローラーおよびキャ リブレーシ ョ ン ロジッ クは、 4 分周された低周波数クロ ッ ク ド メ インにある、 この専用 PHY と通信します。 図 17-3 に、 PHY デザインの詳細なブロ ッ ク図を示します。

メモ リ コン ト ローラーは、コン ト ローラーと物理層を明確に分離するため、下位の PHY 要件からコマンド処理を独立させるよ うに設計されています。 コマンド処理は必要に応じてカスタム ロジッ クに置き換えるこ とができますが、 その場合も PHY とのインターフェイス用ロジッ クは変わらず、 そのままキャ リブレーシ ョ ン ロジッ クで使用できます。

X-Ref Target - Figure 17-3

図 17-3 : PHY のブロック図

Page 226: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 226PG150 2015 年 4 月 1 日

第 17 章 : コアのアーキテクチャ

PHY アーキテクチャは rld_xiphy.sv 内のすべてのロジッ クを包含します。PHY には、 よ り小さなコンポーネン トから メモ リ インターフェイスを構築するために、 専用ハード ブロ ッ クに対するラ ッパーがあ り ます。 バイ ト レーンにはすべてのク ロ ッ ク、 リ セッ ト 、 および特定の I/O サブセッ トのデータパスが含まれます。 専用ク ロ ッキング リソース と共に複数のバイ ト レーンをま とめてグループ化し、 単一バンクのメモ リ インターフェイスを構築します。ハード シ リ コン物理層アーキテクチャの詳細は、 『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』(UG571) [参照 3] を参照してください。

メモ リの初期化およびキャ リブレーシ ョ ンは、 小型のソフ ト コア プロセッサで動作する C プログラムによって実装されます。 MicroBlaze™ コン ト ローラー システム (MCS) は I/O モジュールとブロ ッ ク RAM で構成されます。rld_cal_adr_decode.sv モジュールは、 プロセッサからシステムのほかの部分へのインターフェイスを提供し、ヘルパー ロジッ クをインプ リ メ ン ト します。 config_rom.sv モジュールは、 初期化とキャ リブレーシ ョ ンの動作を制御する設定を格納し、 ソース コードを再コンパイルせずに調整できるランタイム オプシ ョ ンを提供します。

MicroBlaze の I/O モジュール インターフェイスは、 3 ク ロ ッ ク サイクルに 1 回の 大レートで更新されます。 キャ リブレーシ ョ ンに必要な全機能を実装するには、 このレートでは十分に高速でない場合があ り ます。 rld_cal_adr_decode.sv に実装されたヘルパー回路は、レジスタからコマンドを取得し、少なく と もその一部を PHY に発行できるよ うに 1 サイクル精度に変換するのに必要な回路です。 この回路はさらに、連続読み出し ト ランザクシ ョ ンと読み出しデータ比較を可能にするコマンド繰り返し機能もサポート します。

表 17-1 : PHY のモジュール

モジュール名 説明

rld3_phy.sv インフラス ト ラ クチャ (infrastructure.sv)、 rld_cal.sv、 rld_xiphy.sv、 およびキャ リブレーシ ョ ンと メモ リ コン ト ローラー間の MUX が含まれます。

rld_cal.sv MicroBlaze プロセッシング システムと関連ロジッ クが含まれます。

rld_cal_adr_decode.sv MicroBlaze プロセッサの FPGA ロジッ ク インターフェイスです。

config_rom.sv キャ リブレーシ ョ ン オプシ ョ ンのコンフ ィギュレーシ ョ ンを格納する場所です。

debug_microblaze.sv MicroBlaze プロセッサです。

rld_iob.sv バイ ト IOB モジュールすべてをインスタンシエート します。

rld_iob_byte.sv 特定のバイ ト レーンに含まれるすべての信号で使用する I/O バッファーを生成します。

rld_addr_mux.sv アドレス MUX です。

rld_rd_bit_slip.sv 読み出しビッ ト ス リ ップです。

rld_wr_lat.sv 書き込みレイテンシです。

rld_xiphy.sv 上位の XIPHY モジュールです。

Page 227: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 227PG150 2015 年 4 月 1 日

第 17 章 : コアのアーキテクチャ

メモリの初期化およびキャリブレーシ ョ ンのシーケンス

システム リ セッ ト信号がディ アサー ト される と、 キャ リ ブレーシ ョ ン ロジッ クはメモ リ に必要な電源投入初期化シーケンスを実行します。その後、書き込みおよび読み出しデータパスのタイ ミ ング キャ リブレーシ ョ ンが複数のステージにわたって実行されます。PHY がキャ リブレーシ ョ ンの完了を示し、コン ト ローラーはメモリへのコマンド発行を開始します。

図 17-4 に、 メモ リの初期化およびキャ リブレーシ ョ ンの各ステージを含む全体的なフローを示します。

X-Ref Target - Figure 17-4

図 17-4 : PHY 全体の初期化およびキャリブレーシ ョ ンのシーケンス

Page 228: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 228PG150 2015 年 4 月 1 日

第 18 章

コアを使用するデザインこの章では、 コアを使用した設計をよ り容易にするためのガイ ド ラインおよび追加情報を紹介します。

クロッキングメモ リ インターフェイスには MMCM が 1 つ、メモ リ インターフェイスが使用する I/O バンクあたり TXPLL が 1 つ、BUFGCE_DIV が 2 つ必要です。 これらのクロ ッキング コンポーネン ト を使用して、 適切なクロ ッ ク周波数と、 メモリ インターフェイスの正常動作に必要な位相シフ ト を生成します。

TXPLL は各バンクに 2 つあ り ます。 1 つのバンクを 2 つのメモ リ インターフェイスで共用する場合、 そのバンクのTXPLL を両方使用します。

注記 : ク ロ ッキング構造は MIG によって適切に生成されます。 この RTL は変更できません。

MIG ツールは目的とするインターフェイス向けに適切なク ロ ッキング構造を生成します。 この構造は変更できません。 可能なクロ ッ ク コンフ ィギュレーシ ョ ンは次のとおりです。

• GCIO に接続される差動基準クロ ッ ク ソース

• GCIO から MMCM (メモ リ インターフェイスの中央のバンク内に配置されたもの)

• MMCM から BUFGCE_DIV (メモ リ インターフェイスの中央のバンクに配置されたもの)。FPGA ロジッ クおよびすべての TXPLL を駆動

• MMCM から 2 分周モードの BUFGCE_DIV (メモ リ インターフェイスの中央のバンクに配置されたもの)。1/2 レートの FPGA ロジッ クを駆動

• SSI テク ノ ロジ デバイスの場合、 インターフェイスのクロ ッキング ペアがメモ リ インターフェイス と同じ SLRに属しているこ と

Page 229: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 229PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

要件

GCIO

• 差動 I/O 規格を使用するこ と

• メモ リ インターフェイス と同じ I/O カラムに属するこ と

• SSI テク ノ ロジ デバイスの場合、 メモ リ インターフェイス と同じ SLR に属するこ と

MMCM

• MMCM を使用して FPGA ロジッ クのシステム ク ロ ッ ク (メモ リ ク ロ ッ クの 4 分周) を生成

• メモ リ インターフェイスの中央のバンクに配置するこ と

• 内部フ ィードバッ クを使用するこ と

• 入力分周器で分周した入力クロ ッ ク周波数 ≥ 70MHz (CLKINx/D ≥ 70MHz) であるこ と

• 整数倍の周波数および出力分周値を使用するこ と

BUFGCE_DIV およびクロック ルート

• 1 つの BUFGCE_DIV を使用して FPGA ロジッ クのシステム ク ロ ッ クを生成し、 も う 1 つの BUFGCE_DIV を使用してシステム ク ロ ッ クを 2 分周する

• これらの BUFGCE_DIV と ク ロ ッ ク ルートはメモ リ インターフェイスの も中央寄りのバンクに配置するこ と

° 2 バンク システムの場合、 どちらのバンク も使用可能。 Vivado 統合設計環境 (IDE) で も上に選択したバンクが MIG では常に中央バンク と して参照される

° 4 バンク システムの場合、 内側 2 つのバンクのいずれも使用可能。 上から 2 番目に選択したバンクが MIGでは中央バンク と して参照される

° 両方の BUFGCE_DIV が同じバンクに属するこ と

TXPLL

• TXPLL からの CLKOUTPHY は、 そのバンク内の XIPHY を駆動する

• 位相シフ ト 90° の CLKFBOUT を使用するよ うに TXPLL を設定するこ と

• MMCM ロ ッ ク出力が High に遷移するまで TXPLL を リセッ ト状態に保持するこ と

• 内部フ ィードバッ クを使用するこ と

Page 230: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 230PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

図 18-1 に、 3 バンク メモ リ インターフェイスのクロ ッキング構造の例を示します。 GCIO がメモ リ インターフェイスの中央バンクにある MMCM を駆動します。 MMCM は同じバンクに属する両方の BUFGCE_DIV を駆動します。BUFG CE_DIV の出力がインターフェイスの各バンクで使用する TXPLL を駆動し、 FPGA ロジッ クへのシステム クロ ッ クを生成します。

MMCM をほかのバンクの GCIO ピンで駆動する場合、 MMCM 入力に対する CLOCK_DEDICATED_ROUTE 制約の値を 「BACKBONE」 とする必要があ り ます。 BACKBONE 配線を使用するには、 GCIO と MMCM 入力の間に BUFG が存在する必要があ り ます。 このため、 GCIO ピンと MMCM が同じバンクにない場合、 MIG は GCIO と MMCM の間に BUFG をインス タンシエー ト し ます。 GCIO ピン と MMCM が別のバンクに割り当てられている場合、 MIG はCLOCK_DEDICATED_ROUTE 制約の値を 「BACKBONE」 と して生成します。 GCIO ピンと MMCM が同じバンクに割り当てられている場合、 MMCM 入力に制約を設定する必要はあ り ません。

同様に、[System Clock Configuration] で [No Buffer] を選択して生成したデザインでは、GCIO ピンと MMCM が別のバンクに割り当てられている場合に BACKBONE 制約を正し く設定して GCIO と MMCM の間に BUFG を配置する必要があ り ます。コンフ ィギュレーシ ョ ンで [No Buffer] を選択したデザインでは、MIG は XDC ファ イルにクロ ッ ク制約を生成しません。 この場合、 ユーザーがクロ ッ ク制約に配慮する必要があ り ます。

注記 : 同じバンク内の 2 つの MIG IP コアに対して 2 つの異なる GCIO ピンを使用する場合、 メモ リ インターフェイスの中央バンクは IP ごとに異なり ます。 MMCM の LOC および CLOCK_DEDICATED_ROUTE 制約は MIG によって適切に生成されます。

X-Ref Target - Figure 18-1

図 18-1 : 3 バンク メモリ インターフェイスのクロッキング構造

Page 231: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 231PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

入力クロック ソース (sys_clk_p) の共用

2 つの IP コアで同じ GCIO ピンを使用する必要がある場合、 [System Clock Configuration] で [No Buffer] を選択して 2つの IP コアを生成してください。両方の IP がインスタンシエート されているラ ッパー ファ イルに次の変更を加えます。

1. MIG は sys_clk_i などのシステム クロ ッ ク ピンに対してシングルエンド入力を生成します。 両方の IP コアのシングルエンド システム クロ ッ ク入力 (sys_clk_i) に差動バッファー出力を接続してください。

2. システム ク ロ ッ ク ピンは、 割り当てられたメモ リ インターフェイス ピンの同じ I/O カラム内に割り当てる必要があ り ます。 システム ク ロ ッ ク ピンに対するピン LOC 制約およびクロ ッ ク制約を 上位の XDC に追加して ください。

3. GCIO ピンと MMCM が同じバンクに割り当てられていない場合、MMCM 入力に BACKBONE 制約を追加する必要があ り ます。 さ らに、 BACKBONE 配線を使用するには BUFG を GCIO と MMCM の間にインスタンシエートする必要があ り ます。

注記 :

° Ultrascale アーキテクチャには、 各 XIPHY に独立した XIPHY 電源と TXPLL があ り ます。 これによ り、 エラーのない低ジッターのクロ ッ クを メモ リ システムに供給できます。

° BUFG → TXPLL と同じ BUFG → システム ク ロ ッ ク ロジッ クの間には単一の接点があるため、複数の BUFGの間にスキューがあっても問題にはなり ません。

° ク ロ ッ ク ラインが長くなる とジッ ターが大き くなるため、システム入力クロ ッ クは複数の I/O カラムにまたがるこ とはできません。

リセッ ト非同期リセッ ト (sys_rst) 入力を使用できます。 このアクティブ High のリセッ ト信号は、 コン ト ローラー ク ロ ッ クの 20 サイクル以上アサートする必要があ り ます。 sys_rst はは内部または外部ピンのどちらでもかまいません。

RLDRAM 3 の PCB ガイド ライン正常に動作するには、ドキュ メン ト化された RLDRAM 3 のすべての PCB ガイ ド ラインに厳密に従う必要があ り ます。PCB ガイ ド ラインの詳細は、『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583) [参照 4] を参照してください。

Page 232: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 232PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

ピンおよびバンクの規則

RLDRAM 3 のピン規則

こ こでは、 シングル ランク メモ リ インターフェイスの規則について説明します。

• アドレス /制御とは cs_n、 ref_n、 we_n、 ba、 ck、 reset_n、 a を意味します。

• データ、 アドレス /制御などのすべてのグループおよびシステム ク ロ ッ ク インターフェイスは、 1 つのカラム内で選択する必要があ り ます。

• 1 バイ ト レーンのピンには、 N0 ~ N12 の番号が付けられています。

• 1 バンクのバイ ト レーンは、 T0、 T1、 T2、 T3 で識別します。 バイ ト レーン内のニブルは、 バイ ト レーン識別子(T0、 T1、 T2、 T3) の後に 「U」 または 「L」 を付けて区別します。 つま り、 T0L、 T0U、 T1L、 T1U、 T2L、 T2U、T3L、 T3U と して識別します。

注記 : 各バンクには 2 つの PLL があ り、コン ト ローラーはインターフェイスが使用するすべてのバンクで PLL を 1 つ使用します。

1. 読み出しクロ ッ ク (qk/qk_n)、 書き込みクロ ッ ク (dk/dk_n)、 dq、 qvld、 dm

a. 読み出しクロ ッ ク ペア (qkx_p/n) は、 N0 ピンおよび N1 ピンに配置します。 qk/qk_n ペアに対応する dqは、 同じバイ ト レーン内の N2 ~ N11 ピンに配置します。

b. データ マスクをオフにするコンフ ィギュレーシ ョ ンの場合は、RLDRAM 3 デバイスの dm ピンを必ずグランド接続します。データ マスクをイネーブルにした場合、dm の 1 つのピンには、x18 デバイスの場合は 9 ビット 、 x36 デバイスの場合は 18 ビッ トが対応付けられます。 ピンは次に示すよ うに、対応する dq バイ ト レーン内に配置する必要があ り ます。

- 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] が割り当てられたバイ ト グループ内に配置します。 dq は、 バイ ト レーン内の N2 ~ N11 ピンのいずれかに配置します。

c. dk/dk_n は、 アドレス /制御バンク内の ck/ck_n と同じバイ ト レーン内の P-N ペアに配置します。

注記 : ピン 12 はピン ペアを構成しないため、 差動クロ ッ クには使用でません。

d. qvld 信号は、 ピン N2 ~ N12 に配置する必要があ り ますが、 これらのピンに対しては dq と dm の割り当ての方が優先されます。qvld0 信号は、バイ ト レーンのピン N11 (dm が無効で使用可能な場合)、または qk0/qk0_n データ バイ ト レーンのピン N12 に配置する必要があ り ます。 qvld1 信号は、 バイ ト レーンのピンN11 (使用可能な場合)、 または qk2/qk2_n データ バイ ト レーンのピン N12 に配置する必要があ り ます。

2. バイ ト レーンはデータまたはアドレス /制御のいずれかに設定します。

a. ピン N12 はデータ バイ ト レーン内でアドレス /制御用に使用できます。

b. アドレス /制御バイ ト レーン内にデータ信号 (qvalid、 dq、 dm) は配置できません。

3. アドレス /制御は、 アドレス /制御バイ ト レーンの 13 本のピンのいずれにも配置できます。 アドレス /制御は同じバンクに含める必要があ り ます。

4. 各バンクに 1 つの vrp ピンを使用し、 インターフェイスには DCI が必要です。 入力を含む I/O バンクおよび出力のみのバンクでは vrp ピンが必要です。 出力のみのバンクで必要なのは、 制御出力インピーダンスを使用するためにアドレス /制御信号が SSTL12_DCI を使用するためです。 DCI のカスケード接続はサポート されません。『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571) [参照 3] の DCI に関する規則をすべて順守する必要があ り ます。

5. ck はアドレス /制御バイ ト レーン内の PN ペアに配置する必要があ り ます。

6. FPGA ロジッ クのタイ ミ ングを満たし、 選択したバンクの I/O 規格 (SSTL12) を利用できるなら、 reset_n は任意のピンに配置できます。

Page 233: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 233PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

7. バンクは 2 つのコン ト ローラーで共有できます。

a. reset_n を除き、 各バイ ト レーンはいずれかのコン ト ローラー専用です。

b. 片方のコン ト ローラーのバイ ト レーンをも う一方のコン ト ローラーに配置するこ とはできません。たとえばコン ト ローラー A と B がある場合、 「AABB」 は可能ですが 「ABAB」 は認められません。

8. メモ リ インターフェイスが使用する I/O バンクはすべて同じカラムになければなり ません。

9. SSI テク ノ ロジ デバイスの場合、 メモ リ インターフェイスが使用する I/O バンクはすべて同じ SLR のカラムになければなり ません。

10. 72 ビッ ト幅インターフェイスの場合、 インターフェイスの高さは 大でバンク 3 つ分です。

11. バンク スキップは禁止です。

12. インターフェイス内の MMCM の入力クロ ッ クは、 メモ リ インターフェイスで使用する I/O カラム内の GCIO ペアによって供給する必要があ り ます。 詳細は、 228 ページの 「ク ロ ッキング」 を参照してください。

13. 専用の VREF ピンがあ り ます (上記の規則には含まれていない)。外部 VREF を使用しない場合、『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571) [参照 3] に記載された抵抗値を介してグランドに接続する必要があ り ます。 これらのピンは、 使用する規格に合わせて適切に接続する必要があ り ます。

14. インターフェイスは同じ I/O バンク タイプ (HR または HP) に含める必要があ り ます。上記手順 6 の reset_n および手順 11 で説明した入力クロ ッ クを除き、 バンク タイプを混在させるこ とはできません。

RLDRAM 3 のピン配置例

重要 : キャ リブレーシ ョ ン ステージがあるため、 MIG には set_input_delay/set_output_delay は必要あ り ません。 制約のない MIG の入出力およびキャ リブレーシ ョ ン対象の信号は無視してください。

表 18-1 に、 1 つのバンクに含まれる 18 ビッ ト RLDRAM 3 インターフェイスの例を示します。 これは、 アドレスを多重化して x18 RLDRAM 3 コンポーネン ト を 1 つ使用したコンポーネン ト インターフェイスの例です。

表 18-1 : 1 つのバンクに含まれる 18 ビッ ト RLDRAM 3 インターフェイス

バンク 信号名 バイ ト グループ I/O タイプ 特記

1 qvld0 T3U_12 – –

1 dq8 T3U_11 N –

1 dq7 T3U_10 P –

1 dq6 T3U_9 N –

1 dq5 T3U_8 P –

1 dq4 T3U_7 N DBC-N

1 dq3 T3U_6 P DBC-P

1 dq2 T3L_5 N –

1 dq1 T3L_4 P –

1 dq0 T3L_3 N –

1 dm0 T3L_2 P –

1 qk0_n T3L_1 N DBC-N

1 qk0_p T3L_0 P DBC-P

1 reset_n T2U_12 – –

1 we# T2U_11 N –

Page 234: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 234PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

1 a18 T2U_10 P –

1 a17 T2U_9 N –

1 a14 T2U_8 P –

1 a13 T2U_7 N QBC-N

1 a10 T2U_6 P QBC-P

1 a9 T2L_5 N –

1 a8 T2L_4 P –

1 a5 T2L_3 N –

1 a4 T2L_2 P –

1 a3 T2L_1 N QBC-N

1 a0 T2L_0 P QBC-P

1 – T1U_12 – –

1 ba3 T1U_11 N –

1 ba2 T1U_10 P –

1 ba1 T1U_9 N –

1 ba0 T1U_8 P –

1 dk1_n T1U_7 N QBC-N

1 dk1_p T1U_6 P QBC-P

1 dk0_n T1L_5 N –

1 dk0_p T1L_4 P –

1 ck_n T1L_3 N –

1 ck_p T1L_2 P –

1 ref_n T1L_1 N QBC-N

1 cs_n T1L_0 P QBC-P

1 vrp T0U_12 – –

1 dq17 T0U_11 N –

1 dq16 T0U_10 P –

1 dq15 T0U_9 N –

1 dq14 T0U_8 P –

1 dq13 T0U_7 N DBC-N

1 dq12 T0U_6 P DBC-P

1 dq11 T0L_5 N –

1 dq10 T0L_4 P –

1 dq9 T0L_3 N –

表 18-1 : 1 つのバンクに含まれる 18 ビッ ト RLDRAM 3 インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ 特記

Page 235: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 235PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

プロ ト コルの説明このコアには次のインターフェイスがあ り ます。

• メモ リ インターフェイス

• ユーザー インターフェイス

• 物理インターフェイス

メモリ インターフェイス

RLDRAM 3 MIS コアは、カスタマイズするこ とで複数のコンフ ィギュレーシ ョ ンをサポート します。各コンフ ィギュレーシ ョ ンは、 コアの 上位の Verilog パラ メーターで定義します。

ユーザー インターフェイス

ユーザー インターフェイスは FPGA のユーザー デザインと RLDRAM 3 MIS コアを接続し、 ユーザー デザインと外部メモ リ デバイス間のやり と り を簡略化します。

コマンド要求信号

ユーザー インターフェイスには、 メモ リ デバイスに対して読み出し /書き込みコマンドを発行するための信号があ ります。 表 18-2 にこれらの信号を示します。

1 dm1 T0L_2 P –

1 qk1_n T0L_1 N DBC-N

1 qk1_p T0L_0 P DBC-P

表 18-1 : 1 つのバンクに含まれる 18 ビッ ト RLDRAM 3 インターフェイス (続き)

バンク 信号名 バイ ト グループ I/O タイプ 特記

Page 236: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 236PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

表 18-2 : ユーザー インターフェイスの要求信号

信号 方向 説明

user_cmd_en 入力 コマンド イネーブル。 読み出しまたは書き込み要求を発行し、 対応するコマンド信号が有効であるこ とを示します。

user_cmd[2 × CMD_PER_CLK – 1:0] 入力 コマンド。 読み出し、 書き込み、 または NOP 要求を発行します。user_cmd_en がアサート される と次のよ うにな り ます。

2'b00 : 書き込みコマンド

2'b01 : 読み出しコマンド2'b10 : NOP2'b11 : NOP

ク ロ ッ ク サイクルごとに複数のコマンドを メモ リコン ト ローラーへ提供する必要があるが、すべてのコマンド スロ ッ トが必要ではない場合、 NOP コマンドが有用です。 メモ リ コン ト ローラーは、 その他のコマン ド に対応して NOP は無視し ます。CMD_PER_CLK が 1 の場合 NOP はサポート されません。 CMD_PER_CLK は、 FPGA ロジッ ク クロ ック サイ クルごとにコン ト ローラーへ与えられる メモ リ コマンド数を決定する 上位のパラ メーターで、nCK_PER_CLK およびバース ト長に依存します(図 18-2)。

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。 アサート された場合、 コマンド バッファーが空であるこ とを示します。

user_wdfifo_empty 出力 書き込みデータ FIFO Empty。アサート された場合、書き込みデータ バッファーが空であるこ とを示します。

user_afifo_full 出力 アドレス FIFO Full。 アサート された場合、 コマンド バッ フ ァーがフルである こ と を示し、 ディ アサー ト されるまで FIFO への書き込みが無視されます。

Page 237: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 237PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

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 出力 書き込みデータ 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 出力 キャ リブレーシ ョ ン完了。 読み出しキャ リブレーシ ョ ンが完了し、 要求を実行できる状態になったこ とをユーザー デザインに応答します。

cx_rld3_ui_clk出力

このユーザー インターフェイス ク ロ ッ クは、RLDRAM3 ク ロ ッ クの 1/4 である必要があ り ます。

cx_rld3_ui_clk_sync_rst出力

アクティブ High のユーザー インターフェイス リセッ ト信号です。

cx_calib_error出力

アサート された場合、 キャ リブレーシ ョ ン時のエラーを示します。

addn_ui_clkout1 出力ユーザー要件に基づいて提供される追加のク ロ ック出力

addn_ui_clkout2 出力ユーザー要件に基づいて提供される追加のク ロ ック出力

addn_ui_clkout3 出力ユーザー要件に基づいて提供される追加のク ロ ック出力

addn_ui_clkout4 出力ユーザー要件に基づいて提供される追加のク ロ ック出力

dbg_clk 出力デバッグ ク ロ ッ ク。 dbg_clk には信号を接続せず、インスタンシエーシ ョ ン中はポート を開いたままにしてください。

表 18-2 : ユーザー インターフェイスの要求信号 (続き)

信号 方向 説明

Page 238: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 238PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

ユーザー インターフェイスを介したコアとのインターフェイス

特定のユーザー インターフェイス信号の幅は、 システム ク ロ ッ ク周波数およびバース ト長で決ま り ます。 このためク ライアン トは、 一部のコンフ ィギュレーシ ョ ンの要件に応じて FPGA ロジッ クの 1 ク ロ ッ ク サイ クルに複数のコマンドを送信できるよ うになり ます。

注記 : 同じ user_cmd サイクル内で書き込みコマンド と読み出しコマンドの両方は発行できません。

図 18-2 は user_cmd 信号を示し、 コンフ ィギュレーシ ョ ンに応じてこの信号がどのよ うに複数のコマンドで構成されるかを表しています。

図 18-2 に示すよ うに、BL2 の場合、シングル ユーザー インターフェイスのク ロ ッ ク サイクルには 4 つのコマンド スロ ッ トがあ り ます。 同様に、 BL4 の場合、 シングル ユーザー インターフェイスのクロ ッ ク サイクルには 2 つのコマンド スロ ッ トがあ り ます。 これらのコマンド スロ ッ トは逐次的に処理され、 それと同じ順序で、 読み出しコマンドに対して戻りデータがユーザー インターフェイスに出力されます。なお、読み出しデータは、読み出しコマンド と同じスロ ッ トには出力されない場合があ り ます。読み出しデータのスロ ッ トは、コン ト ローラーと コマンド スロ ッ トのタイ ミ ング要件によって決ま り ます。 そのよ うな例の 1 つを、 次の BL2 デザイン コンフ ィギュレーシ ョ ンで説明します。

特定のユーザー インターフェイス サイクルの間、 次の一連のコマンドがユーザー インターフェイスに入力されたと仮定します。

読み出しデータが {DATA0、 NOP、 DATA1、 NOP} の順序で出力されるこ とは保証されません。 {NOP、 DATA0、 NOP、DATA1} や {NOP、 NOP、 DATA0、 DATA1} などの順序で出力される可能性もあ り ます。 いずれの場合も、 コマンドの順序は維持されます。

X-Ref Target - Figure 18-2

図 18-2 : user_cmd 信号の複数のコマンド

表 18-3 : ユーザー インターフェイス サイクル内のコマンド セッ ト

スロッ ト コマンド

0 RD0

1 NOP

2 RD1

3 NOP

Page 239: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 239PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

RLDRAM 3 コンフ ィギュレーショ ンに基づくユーザー アドレス ビッ トの割り当て

ユーザー インターフェイスでのアドレス バスの幅 (バンク アドレス ビッ ト を含まない) は、 RLDRAM 3 デバイスの大のアドレス幅を考慮して、必ず 20 ビッ トの倍数に設定します。 RLDRAM 3 デバイス コンフ ィギュレーシ ョ ンに

応じて、実際のアドレス幅は 20 ビッ ト未満にするこ とができます。 さまざまな RLDRAM 3 コンフ ィギュレーシ ョ ンのアドレス幅を表 18-4 にまとめています。

ユーザー インターフェイスでのアドレス ビッ トは、 図 18-2 に示すバース ト長に基づいて連結されます。 アドレス幅が 20 ビッ ト未満の場合は、未使用のビッ ト をゼロでパディングします。x36 デバイスのバース ト長 4 のコンフ ィギュレーシ ョ ンの例を次に示します。

{00、 (18 ビッ ト アドレス)、 00、 (18 ビッ ト アドレス)}

表 18-4 : RLDRAM 3 のアドレス幅

バースト長 データ幅 アドレス幅

2 18 20

2 36 19

4 18 18

4 36 18

8 18 18

8 36 RLDRAM 3 ではサポート されない

Page 240: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 240PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

図 18-3 に、 RLDRAM 3 の 4 ワード バース ト アーキテクチャに対応するユーザー インターフェイス プロ ト コルを示します。

要求が受け入れ可能となる前に、ui_clk_sync_rst 信号を Low にディアサートする必要があり ます。ui_clk_sync_rst 信号のディアサート後、 ユーザー インターフェイス FIFO はコマンドおよびデータを受信し格納できるよ うになり ます。 メモ リの初期化プロセスおよび PHY のキャ リブレーシ ョ ンが完了する と、 init_calib_complete 信号がアサート され、 コアはクライアン ト要求の処理を開始できます。

X-Ref Target - Figure 18-3

図 18-3 : RLDRAM 3 ユーザー インターフェイス プロ ト コル (4 ワード バースト アーキテクチャ )

Page 241: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 241PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

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 に現れます。図 18-4 に、RLDRAM 3 の 8 ワード バース ト アーキテクチャに対応するユーザー インターフェイス プロ ト コルを示します。

読み出しコマンドがしばら く して発行される と (システムのコンフ ィギュレーシ ョ ンおよびレイテンシに基づく )、user_rd_valid[0] 信号がアサート されて user_rd_data が有効であるこ とを示すと同時に user_rd_valid[1]がアサート されて user_rd_data が有効であるこ とを示します (図 18-5)。コアは返されたデータをバッファーしないため、user_rd_valid[0] および user_rd_valid[1] がアサート されているサイクルで読み出しデータをサンプリングする必要があり ます。 この機能は、 必要に応じて追加できます。

X-Ref Target - Figure 18-4

図 18-4 : RLDRAM 3 ユーザー インターフェイス プロ ト コル (8 ワード バースト アーキテクチャ )

Page 242: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 242PG150 2015 年 4 月 1 日

第 18 章 : コアを使用するデザイン

user_rd_valid 信号がすべて一緒にアサート されて 大幅のデータが返されるよ うに、 メモ リ コン ト ローラーはコマンドを PHY への特定のスロ ッ トにしか与えませんが、 コン ト ローラーの変更に備えて追加の user_rd_valid信号が提供されます。

物理インターフェイス

物理インターフェイスは、FPGA MIS コアを外部 RLDRAM 3 デバイスに接続する部分です。表 18-5 に、このインターフェイスで使用される I/O 信号を説明します。 これらの信号は、RLDRAM 3 デバイスの対応する信号へ直接接続できます。

X-Ref Target - Figure 18-5

図 18-5 : ユーザー インターフェイス プロ ト コルの読み出しデータ

表 18-5 : 物理インターフェイスの信号

信号 方向 説明

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 のリセッ トです。

Page 243: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 243PG150 2015 年 4 月 1 日

第 19 章

デザイン フローの手順この章では、 コアのカスタマイズと生成、 制約、 およびシ ミ ュレーシ ョ ン/合成/インプ リ メ ンテーシ ョ ンの手順について説明します。一般的な Vivado® デザイン フローおよび Vivado IP インテグレーターの詳細は、次の Vivado DesignSuite ユーザー ガイ ドを参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 6]

• 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7]

• 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 8]

• 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9]

コアのカスタマイズおよび生成

注意 : Windows オペレーティング システムにはファ イル パスの文字数に 260 文字の制限があるため、 Vivado ツール使用時に問題が発生するこ とがあ り ます。 この問題を避けるため、 プロジェク トの作成、 IP またはマネージド IP プロジェク トの定義、ブロ ッ ク デザインの作成時にはパス名がなるべく短くなるよ うにディ レク ト リの位置に注意してください。

こ こでは、 ザイ リ ンクス ツールを使用し、 Vivado Design Suite でコアをカスタマイズおよび生成する方法について説明します。

Vivado IP インテグレーターでコアをカスタマイズおよび生成する場合は、 『Vivado Design Suite ユーザー ガイ ド : IPインテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 6] を参照してください。IP インテグレーターは、デザインの検証または生成時に一部のコンフ ィギュレーシ ョ ン値を自動的に計算する場合があ り ます。値が変更されるか否かを確認するには、 この章のパラ メーターの説明を参照して ください。 パラ メーター値を確認するには、 Tclコンソールから validate_bd_design コマンドを実行して ください。

IP はユーザー デザインに合わせてカスタマイズできます。 それには、 IP コアに関連する各種パラ メーターの値を次の手順に従って指定します。

1. IP カタログから IP を選択します。

2. 選択した IP をダブルク リ ッ クするか、 ツールバーまたは右ク リ ッ ク メニューから [Customize IP] コマンドをクリ ッ ク します。

Vivado ツールでコアを生成する方法の詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] および 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 8] を参照してください。

Page 244: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 244PG150 2015 年 4 月 1 日

第 19 章 : デザイン フローの手順

ユーザー パラメーター

表 19-1 に、Vivado IDE の GUI フ ィールド とユーザー パラ メーターの対応関係を示します。ユーザー パラ メーターはTcl コンソールで表示できます。

出力の生成

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照してください。

表 19-1 : Vivado IDE のパラメーターとユーザー パラメーターの対応

Vivado IDE のパラメーター /値(1) ユーザー パラメーター /値(1) デフォルト値

システム ク ロ ッ ク コンフ ィギュレーシ ョ ン System_Clock 差動

内部 VREF Internal_Vref TRUE

DCI カスケード接続 DCI_Cascade FALSE

コン ト ローラー用のデバッグ信号 Debug_Signal ディ スエーブル

クロ ッ ク 1 (MHz) ADDN_UI_CLKOUT1_FREQ_HZ なし

クロ ッ ク 2 (MHz) ADDN_UI_CLKOUT2_FREQ_HZ なし

クロ ッ ク 3 (MHz) ADDN_UI_CLKOUT3_FREQ_HZ なし

クロ ッ ク 4 (MHz) ADDN_UI_CLKOUT4_FREQ_HZ なし

I/O 消費電力削減 IOPowerReduction OFF

システム ポートのイネーブル Enable_SysPorts TRUE

I/O 消費電力削減 IO_Power_Reduction FALSE

デフォルトのバンク選択 Default_Bank_Selections FALSE

基準クロ ッ ク Reference_Clock FALSE

システム ポートのイネーブル Enable_SysPorts TRUE

ク ロ ッ ク周期 (ps) C0.RLD3_TimePeriod 1,071

入力クロ ッ ク周期 (ps) C0.RLD3_InputClockPeriod 13,947

汎用インターコネク ト と メモ リのクロ ッ ク比 C0.RLD3_PhyClockRatio 4:1

コンフ ィギュレーシ ョ ン C0.RLD3_MemoryType コンポーネン ト

メモ リ デバイス C0.RLD3_MemoryPart MT44K16M36RB-093

データ幅 C0.RLD3_DataWidth 36

データ マスク C0.RLD3_DataMask TRUE

バース ト長 C0.RLD3_BurstLength 8

C0.RLD3_MemoryVoltage 1.2

注記 :

1. パラ メーター値については、 Vivado IDE のパラ メーター値とユーザー パラ メーター値の異なるものを示しています。 これらの

値は、 パラ メーター名の下に字下げして表記しています。

Page 245: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 245PG150 2015 年 4 月 1 日

第 19 章 : デザイン フローの手順

MIG I/O ピン配置I/O ピン配置の詳細は、 145 ページの 「MIG I/O ピン配置」 を参照してください。

コアへの制約こ こでは、 必要に応じて Vivado Design Suite でコアに制約を指定する方法について説明します。

必須の制約

このセクシ ョ ンは、 この IP コアには適用されません。

デバイス、 パッケージ、 スピード グレードの選択

このセクシ ョ ンは、 この IP コアには適用されません。

クロック周波数

このセクシ ョ ンは、 この IP コアには適用されません。

クロック管理

ク ロ ッキングの詳細は、 228 ページの 「ク ロ ッキング」 を参照してください。

クロック配置

このセクシ ョ ンは、 この IP コアには適用されません。

バンク設定

このセクシ ョ ンは、 この IP コアには適用されません。

ト ランシーバーの配置

このセクシ ョ ンは、 この IP コアには適用されません。

I/O 規格と配置

I/O 規格と配置は、 Vivado IDE で設定したインターフェイス タイプおよびオプシ ョ ンに基づいて MIG ツールによって適切に生成されます。

重要 : 起動時にキャ リブレーシ ョ ン プロセスが自動的に実行されるため、 このデザインの外部メモ リ インターフェイス ピンには set_input_delay および set_output_delay 制約は必要あ り ません。 ピンのインプリ メ ンテーシ ョ ン中に表示される警告は無視できます。

Page 246: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 246PG150 2015 年 4 月 1 日

第 19 章 : デザイン フローの手順

シ ミ ュレーシ ョ ンVivado シ ミ ュレーシ ョ ン コンポーネン ト について、 またサポー ト されているサードパーテ ィ ツールについては、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照して ください。

合成およびインプリ メンテーシ ョ ン合成およびインプ リ メンテーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] を参照して ください。

Page 247: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 247PG150 2015 年 4 月 1 日

第 20 章

サンプル デザインこの章では、 Vivado® Design Suite で提供されているサンプル デザインについて説明します。

Vivado は Open IP Example Design フローをサポート しています。このフローを用いてサンプル デザインを作成するには、 [IP Sources] タブで IP を右ク リ ッ ク して (図 20-1)、 [Open IP Example Design] をク リ ッ ク します。

これで新規 Vivado プロジェク トが作成されます。 [Open IP Example Design] をク リ ッ クする と、 新規デザイン プロジェク トのディ レク ト リ を入力するためのダイアログ ボッ クスが開きます。

ディ レク ト リ を選択するか、デフォルトのディ レク ト リのまま [OK] をク リ ッ ク します。 これでサンプル デザインのすべてのファイルと IP のコピーを含む新規 Vivado プロジェク トが起動します。

X-Ref Target - Figure 20-1

図 20-1 : [Open IP Example Design]

Page 248: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 248PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

図 20-1 に示すのは、 [Generate the PHY component only] をオンにして生成したサンプル デザイン (コン ト ローラー モジュールは生成されない) です。

X-Ref Target - Figure 20-2

図 20-2 : [Generate the PHY component only] をオンにして生成した IP サンプル デザイン

Page 249: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 249PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

図 20-3 に示すのは、 [Generate the PHY component only] をオフにして生成したサンプル デザイン (コン ト ローラー モジュールが生成される ) です。

サンプル デザインのシミ ュレーシ ョ ン (標準ユーザー インターフェイスのデザイン)このサンプル デザインには、 メモ リ コン ト ローラー用のシンプルな固定データ パターンを生成する合成可能なテストベンチが付属します。 このテス トベンチは IP ラ ッパー、 および書き込みと読み出しをそれぞれ 10 回ずつ生成するexample_tb から構成されます。

サンプル デザインは、 以降のセクシ ョ ンで示すいずれかの方法でシ ミ ュレーシ ョ ンできます。

X-Ref Target - Figure 20-3

図 20-3 : [Generate the PHY component only] をオフにして生成した IP サンプル デザイン

Page 250: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 250PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

プロジェク ト ベースのシミ ュレーシ ョ ンこの方法では、 Vivado 統合設計環境 (IDE) を使用してサンプル デザインをシ ミ ュレーシ ョ ンできます。 MIG は、RLDRAM 3 用のメモ リ モデルを提供します。

Vivado シ ミ ュレータ、 Questa SIM、 IES、 VCS シ ミ ュレーシ ョ ン ツールは、 すべてのバージ ョ ンで RLDRAM 3 IP の検証を実施しています。 Vivado シ ミ ュレーシ ョ ン ツールは、 2015.1 Vivado ツール リ リース以降が RLDRAM 3 IP の検証に使用されます。こ こからは、これらの各シ ミ ュレータを用いてプロジェク ト ベースのシ ミ ュレーシ ョ ンを実行する手順について説明します。

Vivado シミ ュレータを用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. [Open IP Example Design] での Vivado プロジェク トで、Flow Navigator の下にある [Simulation Settings] をク リ ック します。

2. [Target simulator] で [Vivado Simulator] をク リ ッ ク します。

a. [Simulation] タブで [xsim.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、 1ms よ り もはるかに短い値から変更します (図 20-4)。 [Generate Scripts Only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate Scripts Only] をオフにする必要があ り ます。

3. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

Page 252: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 252PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

5. Vivado IDE から Vivado シ ミ ュレータが起動してシ ミ ュレーシ ョ ンが実行されます。詳細は、『Vivado Design Suiteユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

Questa Sim を用いたプロジェク ト ベースのシミュレーション フロー

1. [Open IP Example Design] をク リ ッ ク して開いた Vivado プロジェク トの Flow Navigator で [Simulation Settings] をク リ ッ ク します。

2. [Target simulator] で [QuestaSim/ModelSim Simulator] をク リ ッ ク します。

a. [Compiled libraries location] でコンパイル済みライブラ リの位置を指定します。

b. [Simulation] タブで [modelsim.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、1ms よ り もはるかに短い値から変更します (図 20-6)。 [Generate Scripts Only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate Scripts Only] をオフにする必要があ り ます。

3. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 20-5

図 20-5 : [Run Behavioral Simulation]

Page 254: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 254PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

5. Vivado IDE から Questa Sim が起動してシ ミ ュレーシ ョ ンが実行されます。詳細は、『Vivado Design Suite ユーザーガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

IES を用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. [Open IP Example Design] をク リ ッ ク して開いた Vivado プロジェク トの Flow Navigator で [Simulation Settings] をク リ ッ ク します。

2. [Target simulator] で [Incisive Enterprise Simulator (IES)] をク リ ッ ク します。

a. [Compiled libraries location] でコンパイル済みライブラ リの位置を指定します。

b. [Simulation] タブで [ies.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、 1ms よ り もはるかに短い値から変更します (図 20-8)。 [Generate Scripts Only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate Scripts Only] をオフにする必要があ り ます。

3. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 20-7

図 20-7 : [Run Behavioral Simulation]

Page 255: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 255PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

4. Flow Navigator で [Run Simulation] → [Run Behavioral Simulation] をク リ ッ ク します (図 20-7)。

5. Vivado IDE から IES が起動してシ ミ ュレーシ ョ ンが実行されます。 詳細は、 『Vivado Design Suite ユーザー ガイド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

X-Ref Target - Figure 20-8

図 20-8 : IES シミ ュレータによるシミ ュレーシ ョ ン

Page 256: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 256PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

VCS を用いたプロジェク ト ベースのシミ ュレーシ ョ ン フロー

1. [Open IP Example Design] をク リ ッ ク して開いた Vivado プロジェク トの Flow Navigator で [Simulation Settings] をク リ ッ ク します。

2. [Target simulator] で [Verilog Compiler Simulator (VCS)] をク リ ッ ク します。

a. [Compiled libraries location] でコンパイル済みライブラ リの位置を指定します。

b. [Simulation] タブで [vcs.simulate.runtime] を 1ms に設定します。 これは一定時間の経過後にシ ミ ュレーシ ョ ンを停止するシ ミ ュレーシ ョ ン RTL 指示子の設定で、 1ms よ り もはるかに短い値から変更します (図 20-9)。 [Generate Scripts Only] をオンにする とシ ミ ュレーシ ョ ン スク リプ トのみが生成されます。 ビヘイビアー シ ミ ュレーシ ョ ンを実行するには、 [Generate Scripts Only] をオフにする必要があ り ます。

3. [Apply] をク リ ッ ク して、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 20-9

図 20-9 : VCS シミ ュレータによるシミ ュレーシ ョ ン

Page 257: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 257PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

4. Flow Navigator で [Run Simulation] → [Run Behavioral Simulation] をク リ ッ ク します (図 20-7)。

5. Vivado IDE から VCS が起動してシ ミ ュレーシ ョ ンが実行されます。詳細は、 『Vivado Design Suite ユーザー ガイ ド: ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 9] を参照してください。

非プロジェク ト ベースのシミ ュレーシ ョ ン

重要 : ザイ リ ンク スの UNISIMS_VER および SECUREIP ラ イブラ リ をシ ミ ュレータにマッピングする必要があ り ます。

1. シ ミ ュレーシ ョ ンを実行するには、 次のディ レク ト リへ移動します。

<project_dir>/example_project/<Component_Name>example/<Component_Name>_example.srcs/sim_1/imports/tb

Vivado IDE でコンポーネン ト名を mig_0 と して MIG デザインを生成した場合、シ ミ ュレーシ ョ ンのディ レク トリ パスは次のとおりです。

<project_dir>/example_project/mig_0_example/mig_0_example.srcs/sim_1/imports/tb

2. MIG は、 RLDRAM 3 用のメモ リ モデルを提供します。

3. Questa Sim、 IES、 VCS シ ミ ュレーシ ョ ン ツールは、 すべてのバージ ョ ンで MIG IP の検証を実施しています。

4. Questa Sim、IES、VCS でシ ミ ュレーシ ョ ンを実行するためのスク リプ ト ファ イルは、MIG で生成される出力ファイルに含まれます。 シ ミ ュレーシ ョ ンの実行方法については、 このフォルダーの readme.txt ファ イルを参照してください。 ほかのシ ミ ュレーシ ョ ン ツールも MIG IP のシ ミ ュレーシ ョ ンに使用できますが、 ザイ リ ンクスによる検証は行われていません。

シミ ュレーシ ョ ン速度UNISIM XIPHY モデルの代わりに XIPHY ビヘイビアー モデルを使用する とシ ミ ュレーシ ョ ン速度を低下させるこ とができ、 Vivado IDE にはそのためのオプシ ョ ンがあ り ます。 MIG デザインでは、 XIPHY ビヘイビアー モデル シ ミ ュレーシ ョ ンがデフォルトで選択されます。 シ ミ ュレーシ ョ ン モードは、 [Advanced] タブの [Simulation Options] で設定します (図 20-10)。

Page 258: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 258PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

Vivado IDE での設定に応じて、 RTL の SIM_MODE パラ メーターの値が次のよ うに変わり ます。

• SIM_MODE = BFM – Vivado IDE の [Simulation Mode] で [BFM] を選択する と、 RTL パラ メーターの SIM_MODEの値は 「BFM」 にな り ます。 デフォルトではこのモードが選択されます。

• SIM_MODE = FULL – Vivado IDE の [Simulation Mode] で [FULL] を選択する と XIPHY UNISIM が選択され、RTL パラ メーターの SIM_MODE の値が 「FULL」 にな り ます。

CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ンGCIO ピンと MMCM を同じバンクに配置していない場合、 CLOCK_DEDICATED_ROUTE 制約を 「BACKBONE」 に設定する必要があ り ます。BACKBONE 配線を使用するには、GCIO と MMCM 入力の間で BUFG をインスタンシエートする必要があ り ます。 [Advanced] タブの [FPGA Options] で [Reference Input Clock Configuration] を [Differential]と して生成したデザインでは、 MIG がこれらの制約を管理します。 また、 すべてのシナリオに対する IP およびサンプル デザイン フローも MIG が処理します。

[Advanced] タブの [FPGA Options] で [Reference Input Clock Configuration] を [No Buffer] と して生成したデザインでは、 GCIO と MMCM の配置に基づいて CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ンを IP フローでユーザーが適切に処理する必要があ り ます。 コンフ ィギュレーシ ョ ンで [No Buffer] を選択したデザインでは、 MIG は XDC ファ イルにクロ ッ ク制約を生成しません。 この場合、 ユーザーがクロ ッ ク制約に配慮する必要があ り ます。

X-Ref Target - Figure 20-10

図 20-10 : [Advanced] タブ - [Simulation Options]

Page 259: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 259PG150 2015 年 4 月 1 日

第 20 章 : サンプル デザイン

サンプル デザイン フローで [No Buffer] を選択してコンフ ィギュレーシ ョ ンした場合、 MIG はシステム ク ロ ッ ク ピンに差動バッファーをインスタンシエート してサンプル デザインを生成します。 MIG はクロ ッ ク制約を example_design.xdc に生成します。 また、 GCIO と MMCM が同じバンクにない場合は CLOCK_DEDICATED_ROUTE 制約を 「BACKBONE」 と して生成し、 GCIO と MMCM 入力の間に BUFG をインスタンシエート して完全なソ リ ューシ ョンを提供します。 これは、 サンプル デザイン フローで参考と して行われるもので、 初の生成時に実行されます。

このサンプル デザインで、I/O ピン配置機能を使用してシステム ク ロ ッ ク ピンの I/O ピンをほかのピンに変更した場合、 CLOCK_DEDICATED_ROUTE 制約と BUFG のインスタンシエーシ ョ ンはユーザーが適切に処理する必要があ ります。 この場合、 DRC エラーが報告されます。

Page 260: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 260PG150 2015 年 4 月 1 日

第 21 章

テス トベンチこの章では、 Vivado® Design Suite で提供されているテス トベンチについて説明します。

メモ リ コン ト ローラーは、基本的な読み出しおよび書き込み動作を検証する、簡単なテス トベンチと共に生成されます。 スティ ミ ュラスには、データ整合性をチェッ クするための 10 回の連続書き込みおよびそれに続く 10 回の読み出しが含まれます。

Page 262: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 262PG150 2015 年 4 月 1 日

第 22 章 : ト ラフ ィ ッ ク ジェネレーター

第 22 章

ト ラフ ィ ッ ク ジェネレーター

概要このセクシ ョ ンでは、 ト ラフ ィ ッ ク ジェネレーターのセッ ト アップと動作について説明します。 UltraScale™ アーキテクチャでは、 ト ラフ ィ ッ ク ジェネレーターがサンプル デザイン (example_top.sv) にインスタンシエート され、アプ リ ケーシ ョ ン インターフェイス経由でメモ リ デザインを駆動します (図 22-1)。

メモ リ デザインを駆動する ト ラフ ィ ッ ク ジェネレーターには次の 2 つがあ り ます。

• シンプル ト ラフ ィ ッ ク ジェネレーター

• アドバンス ト ト ラフ ィ ッ ク ジェネレーター

注記 : アドバンス ト ト ラフ ィ ッ ク ジェネレーターは DDR3/DDR4 メモ リ インターフェイスでのみ利用できます。

デフォルトでは、 Vivado® はメモ リ デザインをシンプル ト ラフ ィ ッ ク ジェネレーターに接続します。 アドバンス トト ラフ ィ ッ ク ジェネレーターを使用するには、 example_top.sv で 「HW_TG_EN」 スイ ッチを定義します。 こ こからは、 シンプル ト ラフ ィ ッ ク ジェネレーターを 「STG」 、 アドバンス ト ト ラフ ィ ッ ク ジェネレーターを 「ATG」 と表記します。

X-Ref Target - Figure 22-1

図 22-1 : ト ラフ ィ ッ ク ジェネレーターとアプリケーシ ョ ン インターフェイス

Page 263: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 263PG150 2015 年 4 月 1 日

第 22 章 : ト ラフ ィ ッ ク ジェネレーター

シンプル ト ラフ ィ ッ ク ジェネレーターMIG が生成する STG モジュールには、 ネイティブ インターフェイス用の example_tb と PHY のみのインターフェイス用の example_tb_phy があ り ます。 ネイティブ インターフェイス用の STG は 100 回の書き込みと 100 回の読み出しを生成します。 PHY のみのインターフェイス用の STG は 10 回の書き込みと 10 回の読み出しを生成します。アドレス とデータはどちら も線形にインク リ メン ト します。 読み出し中にデータ チェッ クを実行します。 データ エラーは compare_error 信号で通知されます。

アドバンスト ト ラフ ィ ッ ク ジェネレーターATG はユーザー インターフェイスでのみサポート されます。 「HW_TG_EN」 を定義する と、 ATG がデフォルトの設定になり ます。シ ミ ュレーシ ョ ンおよびインプリ メンテーシ ョ ンで ATG を有効にするには、example_top モジュールに 「`define HW_TG_EN」 を追加します。 表 22-1 に、 Vivado で生成したされたサンプル デザインにおける ATG のデフォルトでの制御信号の接続を示します。

表 22-1 : ト ラフ ィ ック ジェネレーターのデフォルトでの制御信号の接続

信号 I/O 幅 説明

tg_clk I 1 ト ラフ ィ ッ ク ジェネレーター ク ロ ッ ク

tg_rst I 1 ト ラフ ィ ッ ク ジェネレーター リセッ ト

tg_calib_complete I 1 キャ リブレーシ ョ ン完了

一般制御

vio_tg_start I 1 予約信号。 1'b1 に接続してください。

vio_tg_rst I 1 予約信号。 0 に接続してください。

vio_tg_restart I 1 予約信号。 0 に接続してください。

vio_tg_pause I 1 予約信号。 0 に接続してください。

vio_tg_err_chk_en I 1 予約信号。 0 に接続してください。

vio_tg_err_clear I 1 予約信号。 0 に接続してください。

vio_tg_err_continue I 1 予約信号。 0 に接続してください。

命令テーブル プログラ ミング

vio_tg_direct_instr_en I 1 予約信号。 0 に接続してください。

vio_tg_instr_program_en I 1 予約信号。 0 に接続してください。

vio_tg_instr_num I 5 予約信号。 0 に接続してください。

vio_tg_instr_addr_mode I 4 予約信号。 0 に接続してください。

vio_tg_instr_data_mode I 4 予約信号。 0 に接続してください。

vio_tg_instr_rw_mode I 4 予約信号。 0 に接続してください。

vio_tg_instr_victim_mode I 3 予約信号。 0 に接続してください。

vio_tg_instr_num_of_iter I 32 予約信号。 0 に接続してください。

vio_tg_instr_m_nops_btw_n_burst_m I 10 予約信号。 0 に接続してください。

vio_tg_instr_m_nops_btw_n_burst_n I 32 予約信号。 0 に接続してください。

vio_tg_instr_nxt_instr I 6 予約信号。 0 に接続してください。

Page 264: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 264PG150 2015 年 4 月 1 日

第 22 章 : ト ラフ ィ ッ ク ジェネレーター

デフォルトの設定では、 ATG はメモリ書き込みの後、 メモリ読み出し とデータ チェッ クを実行します。 次に示す 2 種類のパターンが順番に生成されます。

1. PRBS23 データ パターン

a. PRBS23 データ パターンはデータ ビッ ト単位で使用します。 各データ ビッ トにはそれぞれ異なるデフォルトの開始シード値があ り ます。

b. 線形アドレス パターンを使用します。 PRBS23 データ パターン全体をカバーするよ うにメモ リ アドレス空間をウォークスルーします。

2. Hammer Zero パターン

a. すべてのデータ ビッ トに Hammer Zero パターンを使用します。

b. 線形アドレス パターンを使用します。 1024 個のト ラフ ィ ッ ク ジェネレーター コマンドを発行します。

ATG はこれら 2 つのパターンの書き込みと読み出しを無限に繰り返します。 シ ミ ュレーシ ョ ンの場合、 ATG は 1000回の PRBS23 パターンの後、 1000 回の Hammer Zero パターンを実行します。

ステータス レジスタでは、 メモ リ エラーが発生したかど うか (vio_tg_status_err_sticky_valid)、 メモ リ トラフ ィ ッ クが停止したかど うか (vio_tg_status_watch_dog_hang) をチェッ クできます。

初のメモ リ エラーが検出される と、 ATG はエラー アド レス (vio_tg_status_first_err_addr) と不一致エ

ラーのビッ ト パターン (vio_tg_status_first_err_bit) を記録します。

表 22-2 に、 ト ラフ ィ ッ ク ジェネレーターのデバッグ用の一般的なステータス レジスタ出力を示します。

PRBS データ シード プログラ ミング

vio_tg_seed_program_en I 1 予約信号。 0 に接続してください。

vio_tg_seed_num I 8 予約信号。 0 に接続してください。

vio_tg_seed_data I PRBS DATA WIDTH 予約信号。 0 に接続してください。

グローバル レジスタ

vio_tg_glb_victim_bit I 8 予約信号。 0 に接続してください。

vio_tg_glb_victim_aggr_delay I 4 予約信号。 0 に接続してください。

vio_tg_glb_start_addr I APP_ADDR_WIDTH 予約信号。 0 に接続してください。

表 22-1 : ト ラフ ィ ック ジェネレーターのデフォルトでの制御信号の接続 (続き)

信号 I/O 幅 説明

表 22-2 : ト ラフ ィ ッ ク ジェネレーターのデバッグ用の一般的なステータス レジスタ

信号 I/O 幅 説明

エラー ステータス レジスタ

vio_tg_status_err_bit_valid O 1 中間エラーが検出された。 読み出しエラー検出用のトリガーと して使用します。

vio_tg_status_err_bit O APP_DATA_WIDTH 中間エラーのビッ ト不一致。 ビッ ト単位での不一致パターンを格納します。

vio_tg_status_err_addr O APP_ADDR_WIDTH 中間エラーのアドレス。 読み出しエラーの発生したアドレスを格納します。

vio_tg_status_first_err_bit_valid O 1

vio_tg_err_chk_en を 1 にセッ ト した場合、 初の不一致エラー発生時に vio_tg_status_first_err_bit_valid が 1にセッ ト されます。このレジスタは、 vio_tg_err_clear、 vio_tg_err_continue、vio_tg_restart がト リガーされるまで上書きされません。

Page 265: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 265PG150 2015 年 4 月 1 日

第 22 章 : ト ラフ ィ ッ ク ジェネレーター

注記 : アプリ ケーシ ョ ン インターフェイスのアドレス /データ フォーマッ トについては、 該当するセクシ ョ ンを参照してください。

ATG には、N ク ロ ッ ク サイクル期間 (N はパラ メーター TG_WATCH_DOG_MAX_CNT で指定) 内に ATG がアプリ ケーシ ョ ン インターフェイスに要求を送信したかど うか、 またはアプリ ケーシ ョ ン インターフェイスから読み出しデータが返されたかど うかをチェッ クするウォッチド ッグ ロジッ クがあ り ます。 これによ り、 メモ リ ト ラフ ィ ッ クの転送が継続しているか、 データ不一致以外の理由で転送が停止しているかを知るこ とができます。

vio_tg_status_first_err_bit O APP_DATA_WIDTHvio_tg_status_first_err_bit_valid を 1 にセッ ト した場合、不一致エラーのビッ ト パターンがこのレジスタに格納されます。

vio_tg_status_first_err_addr O APP_ADDR_WIDTH vio_tg_status_first_err_bit_valid を 1 にセッ ト した場合、エラー アドレスがこのレジスタに格納されます。

vio_tg_status_first_exp_bit_valid O 1vio_tg_err_chk_en を 1 にセッ ト した場合、 初の不一致エラー発生時点での期待される読み出しデータValid 信号を表します。

vio_tg_status_first_exp_bit O APP_DATA_WIDTHvio_tg_status_first_exp_bit_valid が 1 をセッ ト した場合、期待される読み出しデータがこのレジスタに格納されます。

vio_tg_status_first_read_bit_valid O 1vio_tg_err_chk_en を 1 にセッ ト した場合、 初の不一致エラー発生時点での読み出しデータ Valid 信号を表します。

vio_tg_status_first_read_bit O APP_DATA_WIDTHvio_tg_status_first_read_bit_valid を 1 にセッ ト した場合、 メモ リからの読み出しデータがこのレジスタに格納されます。

vio_tg_status_err_bit_sticky_valid O 1現在までの累積した不一致エラー Valid 信号。このレジス タは vio_tg_err_clear、 vio_tg_err_continue、vio_tg_restart によって リセッ ト されます。

vio_tg_status_err_bit_sticky O APP_DATA_WIDTH vio_tg_status_err_bit_sticky_valid を 1 にセッ ト した場合,累積エラー ビッ ト を表します。

vio_tg_status_done O 1プログラムされたすべての ト ラフ ィ ッ クが完了した。注記 : 無限ループをプログラムした場合、 vio_tg_status_doneはアサート されません。

vio_tg_status_watch_dog_hang O 1

ウォ ッチド ッグ ハング。 tg_param.vh で定義した期間、読み出し /書き込みコマンドの送信がない、 または読み出しデータが返されない場合はこのレジス タが 1 にセッ ト されます。

表 22-2 : ト ラフ ィ ッ ク ジェネレーターのデバッグ用の一般的なステータス レジスタ (続き)

信号 I/O 幅 説明

Page 267: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 267PG150 2015 年 4 月 1 日

第 23 章 : 複数の IP コア

第 23 章

複数の IP コアこの章では、 複数の IP コアを生成する場合の仕様およびピン規則について説明します。

複数の IP コアを含むデザインの作成複数の IP コアを含むデザインを作成する際は、 次の手順に従う必要があ り ます。

1. ターゲッ ト メモ リ IP を生成します。同じ メモ リ IP コンフ ィギュレーシ ョ ンのインスタンスを複数含むデザインの場合、 IP は 1 回生成するだけでかまいません。 デザイン内で同じ IP を複数回インスタンシエートできます。

° IP が sys_clk 入力を共有する場合、 IP 生成時にクロ ッキング オプシ ョ ンで [No Buffer] を選択してください。 sys_clk を共有している メモ リ IP は同じ I/O カラムに割り当てる必要があ り ます。 入力クロ ッ ク ソース共有の詳細は、 「入力クロ ッ ク ソースの共有」 に記載した各リ ンクから該当するコン ト ローラーのセクシ ョ ンを参照してください。

2. ターゲッ ト メモ リ IP コアをインスタンシエートするためのラ ッパー ファ イルを作成します。

3. メモ リ IP の I/O 信号のピン配置を割り当てます。 各インターフェイスのピン規則の詳細は、 「バンクの共有」 に記載した各リ ンクから該当するコン ト ローラーのセクシ ョ ンを参照してください。また、MIG ピン配置の利用可能なオプシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] を参照してください。

4. 次のセクシ ョ ン以降に示す規則に従ってください。

バンクの共有IP 生成時に、各コン ト ローラーのピン規則に従う必要があ り ます。各インターフェイスのピン規則の詳細は、次に示すリ ンクから該当する IP のセクシ ョ ンを参照してください。

• 第 4 章の 「DDR3 のピン規則」 および第 4 章の 「DDR4 のピン規則」

• 第 11 章の 「QDR II+ のピン規則」

• 第 18 章の 「RLDRAM 3 のピン規則」

複数の IP コアで同じバンクを共有できますが、 MIG で複数の IP コアによるバンク共有を設定するには、同じバンクに複数の I/O 規格を混在させる場合の規則に従う必要があ り ます。

同じバンクで複数の I/O 規格を混在させる場合の規則の詳細は、 『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571) [参照 3] の 「同じバンク内で複数の I/O 規格を併用する場合の規則」 を参照してください。 DCIの I/O バンクに関する規則も UG571 に記載してあ り ます。

Page 268: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 268PG150 2015 年 4 月 1 日

第 23 章 : 複数の IP コア

入力クロック ソースの共有1 つの GCIO ピンを複数の IP コアで共有できます。 入力クロ ッ ク ソースを共有するには、 いくつかの規則に従う必要があ り ます。 また、 ラ ッパー ファ イルにいくつかの変更を加える必要があ り ます。 入力クロ ッ ク ソース共有の詳細は、 次に示すリ ンクから該当するインターフェイスのセクシ ョ ンを参照してください。

• 第 4 章の 「入力クロ ッ ク ソース (sys_clk_p) の共用」 (DDR3/DDR4)

• 第 11 章の 「入力クロ ッ ク ソース (sys_clk_p) の共用」 (QDR II+ SRAM)

• 第 18 章の 「入力クロ ッ ク ソース (sys_clk_p) の共用」 (RLDRAM 3)

XSDB および dbg_clk の変更dbg_clk ポートは MIG IP からの出力で、 インプ リ メンテーシ ョ ン時に Vivado® によって dbg_hub ロジッ クに自動的に接続されます。 1 つのプロジェク トに複数の IP コアをインスタンシエートする場合、 初の IP の dbg_clk がVivado によって dbg_bug に自動的に接続されます。

MIG IP コアをインスタンシエート したラ ッパー ファ イルでは dbg_clk に信号を接続せず、インスタンシエーシ ョ ン時にポート を開いたままにしてください。 dbg_clk は Vivado によって自動的に dbg_hub に接続されます。

PBLOCK および MMCM 制約デザインのタイ ミ ングを満たすため、PBLOCK 制約が MIG によって生成されます。バンクを共有する場合の PBLOCK制約が MIG によって自動的に設定されます。

同様に、 メモ リ I/O の選択したバンクの中央バンクに MMCM を配置する必要があ り ます。複数の IP コアで同じバンクを共有しても競合が発生しないよ うに、 MMCM に対する LOC 制約が MIG によって生成されます。

Page 270: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 270PG150 2015 年 4 月 1 日

付録 A

移行およびアップグレード現時点で Vivado Design Suite の MIS コアをアップグレードする場合、 ポートやパラ メーターに変更はあ り ません。

MIG IP のアップグレードに関する一般的な情報については、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 7] の 「IP のアップグレード」 のセクシ ョ ンを参照してください。

Vivado® Design Suite 2015.1 での MIG IP のアップグレードに関する具体的な情報については、『Vivado Design Suite ユーザー ガイ ド : リ リース ノート 、 インス トールおよびライセンス』 (UG973) [参照 12] を参照してください。

その他の旧世代のファ ミ リ (7 シ リーズ、 Virtex®-6 以前のファ ミ リ ) から UltraScale™ アーキテクチャへのデザインの移行はサポート されていません。

Page 271: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 271PG150 2015 年 4 月 1 日

付録 B

デバッグこの付録では、 ザイ リ ンクス サポート ウェブサイ ト よ り入手可能な リ ソースおよびデバッグ ツールについて説明します。

ヒン ト : IP の生成にエラーが発生し停止した場合、 ラ イセンスに問題がある可能性があ り ます。 詳細は、 第 1 章の「ライセンス チェッカー」 を参照してください。

ザイリンクス ウェブサイ トMIS を使用した設計およびデバッグでヘルプが必要な場合は、ザイ リ ンクス サポート ウェブ ページから製品の資料、リ リース ノート 、 アンサーなどを参照するか、 テクニカル サポートでケースを開いてください。

資料

この製品ガイ ドは MIS に関する主要資料です。このガイ ド並びに全製品の設計プロセスをサポートする資料はすべて、ザイ リ ンクス サポート ウェブ ページ (http://japan.xilinx.com/support) またはザイ リ ンクスの Documentation Navigator から入手できます。

Documentation Navigator は、 ダウンロード ページ (http://japan.xilinx.com/download) の [デザイン ツール] タブからダウンロードできます。 このツールの詳細および機能は、 インス トール後にオンライン ヘルプを参照して ください。

ソリューシ ョ ン センター

デバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 デザイン アシスタン ト 、 デザイン アドバイザリ、 ト ラブルシュートのヒ ン ト などが含まれます。

MIS コア関連のサポート情報は、 ザイ リ ンクス MIG ソ リ ューシ ョ ン センターを参照してください。

アンサー

アンサーには、 よ く発生する問題についてその解決方法、およびザイ リ ンクス製品に関する既知の問題などの情報が記載されています。アンサーは、ユーザーが該当製品の 新情報にアクセスできるよ う作成および管理されています。

このコアに関するアンサーの検索には、 ザイ リ ンクス サポート ウェブ ページにある検索ボッ クスを使用します。よ り的確な検索結果を得るには、 次のよ うなキーワードを使用してください。

• 製品名

• ツールで表示される メ ッセージ

• 問題の概要

検索結果は、 フ ィルター機能を使用してさ らに絞り込むこ とができます。

Page 272: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 272PG150 2015 年 4 月 1 日

付録 B : デバッグ

MIS に関するマスター アンサー : MIS

AR : 58435

テクニカル サポート

ザイ リ ンクスは、 製品資料の説明に従って使用されている LogiCORE™ IP 製品に対するテクニカル サポート を japan.xilinx.com/support で提供しています。資料で定義されていないデバイスにインプリ メン ト した り、許容されている範囲を超えてカスタマイズした り、 あるいは 「DO NOT MODIFY」 と されているデザイン セクシ ョ ンに変更を加えたり した場合、 タイ ミ ング、 機能、 製品サポートは保証されません。

テクニカル サポートへのお問い合わせ方法は、 次のとおりです。

1. http://japan.xilinx.com/support にアクセスします。

2. 「その他のリ ソース」 の下の [ウェブケースを作成] リ ンクをク リ ッ ク し、 ウェブケースを開きます。

ウェブケースを作成する際は、 次の情報を含めてください。

• パッケージおよびデバイス スピード グレードを含むターゲッ ト FPGA の情報

• 該当するすべてのザイ リ ンクス デザイン ツールとシ ミ ュレータのソフ ト ウェア バージ ョ ン

• 問題によっては、ファ イルの追加を求められる場合があ り ます。ウェブケースに含める特定ファイルについては、この資料の関連セクシ ョ ンを参照して ください。

注記 : すべての問題がウェブケースの利用対象になるわけではあ り ません。 ウェブケース ツールにログインしてサポート オプシ ョ ンを確認してください。

デバッグ ツールMIS デザインの問題を解決するには、 数多くのツールを利用できます。 さまざまな状況をデバッグするのに有益なツールを理解しておく こ とが重要です。

Vivado Lab EditionVivado® Lab Edition は、 Logic Analyzer および Virtual I/O コアをユーザーのデザインに直接挿入します。 Vivado LabEdition を使用する と、 ト リガー条件を設定して、 ハード ウェアでアプリ ケーシ ョ ンおよび統合ブロ ッ クのポート信号をハード ウェアに取り込むこ とができます。 取り込まれた信号は、 その後解析できます。 Vivado IDE のこの機能は、ザイ リ ンクスで実行されるデザインの論理デバッグおよびバリデーシ ョ ンに使用されます。

Vivado ロジッ ク解析は次の IP ロジッ ク デバッグ コアと共に使用されます。

• ILA 2.0 (およびそれ以降のバージ ョ ン)

• VIO 2.0 (およびそれ以降のバージ ョ ン)

このオプシ ョ ンの使用方法については、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 13] を参照してください。

Page 273: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 273PG150 2015 年 4 月 1 日

付録 B : デバッグ

ハードウェアのデバッグハードウェアの問題は、 リ ンク立ち上げ時の問題から、 何時間ものテス トの後に発生する問題までさまざまです。 ここでは、一般的な問題のデバッグ手順を説明します。 Vivado Lab Edition は、ハード ウェア デバッグに有益な リ ソースです。 次の各セクシ ョ ンに示す信号を Vivado Lab Edition でプローブするこ とで、 個々の問題をデバッグできます。

汎用チェ ック

コアに対するタイ ミ ング制約がサンプル デザインからすべて適切に取り込まれているこ と、さ らにインプリ メンテーシ ョ ン時にこれらの制約がすべて満たされているこ とを確認します。

• デザインで MMCM を使用している場合、 locked ポート をモニターして、 すべての MMCM がロ ッ ク しているこ とを確認します。

• 出力が 0 になった場合は、 ライセンスを確認してください。

• DDR3 または DDR4 インターフェイスで問題が発生した場合、ハード ウェア接続時に Vivado の Tcl コンソールから次のコマンドを実行します。

refresh_hw_device [lindex [get_hw_devices] 0]

report_property [lindex [get_hw_migs] 0]

• デザインに複数のメモ リ コアがある場合は、 Tcl コンソール コマンド report_debug_core を使用して、 対象となるコアのインデッ クスを決定します。 上記のインデッ クス番号は、 0 で示されています。

• レポートに出力されたすべてのデータをコピーして、 ウェブケースの作成時に添付してください。 ウェブケース作成に関する詳細は、 272 ページの 「テクニカル サポート 」 を参照してください。

Page 274: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 274PG150 2015 年 4 月 1 日

付録 C

その他のリソースおよび法的通知

ザイリンクス リソースアンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照してください。

参考資料次の資料は、 この製品ガイ ドの補足資料と して役立ちます。

注記 : 日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『DDR3 SDRAM 規格』 (JESD79-3F) および 『DDR4 SDRAM 規格』 (JESD79-4)、 JEDEC® Solid State Technology Association (JEDEC 半導体技術協会)

2. 『Kintex UltraScale アーキテクチャ データシート : DC 特性および AC スイ ッチ特性』 (DS892 : 英語版、 日本語版)

3. 『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571 : 英語版、 日本語版)

4. 『UltraScale アーキテクチャ PCB デザイン ユーザー ガイ ド』 (UG583 : 英語版、 日本語版)

5. 『ARM® AMBA® 仕様書』

6. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994 : 英語版、日本語版)

7. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896 : 英語版、 日本語版)

8. 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910 : 英語版、 日本語版)

9. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900 : 英語版、 日本語版

10. 『ivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904 : 英語版、 日本語版)

11. 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899 : 英語版、 日本語版)

12. 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、 インス トールおよびライセンス』 (UG973 : 英語版、日本語版)

13. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908 : 英語版、 日本語版

14. 『ISE から Vivado Design Suite への移行ガイ ド』 (UG911 : 英語版、 日本語版)

Page 275: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 275PG150 2015 年 4 月 1 日

付録 C : その他のリソースおよび法的通知

改訂履歴次の表に、 この文書の改訂履歴を示します。

日付 バージョ ン 内容

2015 年 4 月 1 日 7.0 • 「サポート されるユーザー インターフェイス」 を更新、 「IP の概要」 の表に 3 番目の脚注を追加。

• 「概要」 の章でアプリ ケーシ ョ ン インターフェイスの説明を更新。

• すべての 「ク ロ ッキング」 セクシ ョ ンで説明を更新し、 BACKBONE の説明を追加。

• この文書全体で sys_rst および dbg_clk の参照を追加。

• すべてのセクシ ョ ンに 「シ ミ ュレーシ ョ ン フロー」 および 「シ ミ ュレーシ ョン速度」 を追加。

• すべてのセクシ ョ ンに 「Vivado シ ミ ュレータを使用したプロジェク ト ベースのシ ミ ュレーシ ョ ン フロー」 を追加。

• すべてのセクシ ョ ンに 「CLOCK_DEDICATED_ROUTE 制約および BUFG のインスタンシエーシ ョ ン」 を追加。

DDR3/DDR4

• 図 1-1 「UltraScale アーキテクチャ FPGA のメモ リ インターフェイス ソ リ ューシ ョ ン」 を更新。

• 「機能概要」 セクシ ョ ンを更新。

• 「メモ リー コン ト ローラー」 セクシ ョ ンを更新。

• 「グループ マシン」 セクシ ョ ンを更新。

• 「DQS」 セクシ ョ ンを更新。

• 「ラ イ ト レベリ ング」 セクシ ョ ンのパラ メーターを更新。

• 「読み出し DQS センタ リ ング」 セクシ ョ ンの重要な注記を更新および追加。

• 「 リード レベリ ングのマルチランク調整」、 「マルチランク調整およびチェック」 を更新、 「書き込みレイテンシのマルチランク チェッ ク」 を追加。

• 「書き込みのビッ ト単位スキュー調整」 セクシ ョ ンを更新。

• 「書き込み DQS-DM」 セクシ ョ ンを更新。

• 表 3-6 「DQS ゲートのマルチランク調整の例 (2 ランクの場合)」 を更新。

• 「DDR3 および DDR4 のピン規則」 セクシ ョ ンを更新。

• 「x4 RDIMM のピン マップ」 を追加。

• 表 4-7 「ユーザー インターフェイス」 に app_ref_req、 app_ref_ack、 app_zq_req、および app_zq_ack を追加。

• 「書き込みパス」 セクシ ョ ンを更新。

• 「パフォーマンス」 セクシ ョ ンを追加。

• app_ref_req、 app_ref_ack、 app_zq_req、および app_zq_ack に関する説明を追加。

• 「メ ンテナンス コマンド」 セクシ ョ ンを追加。

• 表 4-16 「AXI4 スレーブ インターフェイスのパラ メーター」 を更新。

• 表 4-17 「AXI4 スレーブ インターフェイスの信号」 に dbg_clk を追加。

• 「時分割多重 (TDM)」、「ラウンド ロビン」、および「読み出し優先 (RD_PRI_REG)」セクシ ョ ンを更新。

• 表 4-76 「読み出しデータ」 を表 4-77 「PHY のみのパラ メーター」 に更新。

• 「同一アドレスによる複数書き込みおよび読み出し」 ~ 「書き込み中のページラ ップ」 セクシ ョ ンで 11 回の書き込みに更新。

• 「書き込み CAS コマンドの 小間隔」 および 「CAS コマンドの間隔に関するシステム レベルの考慮事項」 セクシ ョ ンを追加。

• 「デザイン フローの手順」 の章を更新。

Page 276: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 276PG150 2015 年 4 月 1 日

付録 C : その他のリソースおよび法的通知

続き

QDRII+

• 「機能概要」 を更新。RLDRAM 3

• 「ユーザー インターフェイスの割り当て」 セクシ ョ ンを追加。

• 「RLDRAM 3 コンフ ィギュレーシ ョ ンに基づくユーザー アドレス ビッ トの割り当て」 セクシ ョ ンを追加。

• 「ユーザー インターフェイスを介したコアとのインターフェイス」 セクシ ョ ンに説明を追加。

ト ラフ ィ ッ ク ジェネレーター

• 「 ト ラフ ィ ッ ク ジェネレーター」 セクシ ョ ンを追加。

複数の IP• 「複数の IP」 セクシ ョ ンを追加。

付録 「移行およびアップグレード」

• 「移行およびアップグレード」 の章に UG973 へのリ ンクおよび説明を追加。

付録 「デバッグ」

• 「汎用チェッ ク」 セクシ ョ ンに説明を追加。

2014 年 11 月 19 日 6.1 QDRII+

• 「機能概要」 セクシ ョ ンにインターフェイス キャ リブレーシ ョ ンを追加。

• 「入力クロ ッ ク ソース (sys_clk_p) の共用」 セクシ ョ ンの 2 番目の説明を更新。

• 「QDR II+ のピン規則」 セクシ ョ ンに読み出しデータ ピンの説明およびシステム ク ロ ッ ク ピンへの相互参照の説明を追加。

• 「QDR II+ のピン規則」 セクシ ョ ンに vrp の説明を追加。

• 表 「ユーザー パラ メーター」 を更新。

「サンプル デザイン」 の章の GUI を更新。DDR3/DDR4

• 図 1-1 「UltraScale アーキテクチャ FPGA のメモ リ インターフェイス ソ リ ューシ ョ ン」 を更新。

• 「機能概要」 セクシ ョ ンにインターフェイス キャ リブレーシ ョ ンを追加。

• 「PHY 全体のアーキテクチャ」 セクシ ョ ンの RIU コードを更新。

• 「入力クロ ッ ク ソース (sys_clk_p) の共用」 セクシ ョ ンの 2 番目の説明を更新。

• 「データパス」 セクシ ョ ンおよび 「ECC」 セクシ ョ ンに ECC の説明を追加。

• resetn、 入力クロ ッ クの説明を更新、 「DDR3 および DDR4 のピン規則」 セクシ ョ ンに表 「1 つのバンクに含まれる x4 コンポーネン ト 」 を追加。

• 表 4-5 「ユーザー インターフェイス」 に app_raw_not_ecc を追加。

• 「app_cmd[2:0]」 セクシ ョ ンの説明を更新。

• 図 4-2 および図 4-6 ~図 4-8 を更新。

• 「書き込みパス」 セクシ ョ ンに DRAM ク ロ ッ クの例を追加。

• 「プロ ト コルの説明」 に 「PHY のみ」 のセクシ ョ ンを追加。

• 表 5-1 「Vivado IDE のパラ メーターとユーザー パラ メーターの対応」 の RTT (公称)- ODT のデフォルト値を更新。

• 「コアのカスタマイズおよび生成」 セクシ ョ ンの GUI を更新。

• 表 「ユーザー パラ メーター」 を更新。

• 「サンプル デザイン」 の章の GUI を更新。

日付 バージョ ン 内容

Page 277: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 277PG150 2015 年 4 月 1 日

付録 C : その他のリソースおよび法的通知

続き

RLDRAM 3

• 「機能概要」 セクシ ョ ンにインターフェイス キャ リブレーシ ョ ンを追加。

• 表 15-1 「サポート されるコンフ ィギュレーシ ョ ン」 を更新し、 「機能概要」 の読み出しレイテンシのサポート を削除。

• 「メモ リ コン ト ローラー」 セクシ ョ ンに CMD_PER_CLK の説明を追加。

• 「入力クロ ッ ク ソース (sys_clk_p) の共用」 セクシ ョ ンの 2 番目の説明を更新。

• 「RLDRAM 3 のピン規則」 セクシ ョ ンの入力クロ ッ クの説明を更新。

• 「ユーザー インターフェイスを介したコアとのインターフェイス」 セクシ ョ ンに注記を追加。

• 図 18-2 「user_cmd 信号の複数のコマンド」 を更新。

• 表 「ユーザー パラ メーター」 を更新。

• 「サンプル デザイン」 の章の GUI を更新。

• 「サンプル デザインのシ ミ ュレーシ ョ ン (標準ユーザー インターフェイスのデザイン)」 セクシ ョ ンの説明を更新。

2014 年 10 月 1 日 6.0 DDR3/DDR4

• 「規格」 セクシ ョ ンを更新。

• 「機能概要」 セクシ ョ ンを更新。

• 「メモ リの初期化およびキャ リブレーシ ョ ンのシーケンス」 セクシ ョ ンの説明を更新。

• 「PHY 全体のアーキテクチャ」 セクシ ョ ンを更新。

• 図 3-4 「PHY 全体の初期化およびキャ リブレーシ ョ ンのシーケンス」 を更新。

• 「メモ リの初期化およびキャ リブレーシ ョ ンのシーケンス」 セクシ ョ ンに新しいキャ リブレーシ ョ ン ステータスの説明を追加。

• 「DQS ゲート 」、 「ラ イ ト レベリ ング」、 「 リード レベリ ング」、 「読み出しサニティ チェッ ク」、 「書き込み DQS-DQ」、 「書き込みレイテンシのキャ リブレーシ ョ ン」、 「書き込み/読み出しサニティ チェッ ク」、 「書き込み DQS-DM」、 および 「マルチランク調整」 セクシ ョ ンを追加。

• 「DDR3/DDR4 のピン規則」 セクシ ョ ンを更新。

• 「プロ ト コルの説明」 セクシ ョ ンに AXI4 スレーブ インターフェイスを追加。

• 「ク ロ ッキング」セクシ ョ ンに複数の IP コアおよび入力クロ ッ ク ソースの共有を追加。

• 表 4-1 「1 つのバンクに含まれる 16 ビッ ト インターフェイス」 および表 4-2 「2つのバンクに含まれる 32 ビッ ト インターフェイス」 の特記列を削除。

• 表 4-3 「ユーザー インターフェイス」 に app_autoprecharge を追加。

• 「app_autoprecharge」 セクシ ョ ンを追加。

• 「app_rdy」 セクシ ョ ンを更新。

• 「ref_req」 および 「zq_req」 セクシ ョ ンを更新。

• 表 5-1 「Vivado IDE のパラ メーターとユーザー パラ メーターの対応」 を更新。

• 「必須の制約」 セクシ ョ ンの注記を更新。

• 「シ ミ ュレーシ ョ ン」 セクシ ョ ンの説明を更新。

• 「サンプル デザイン」 の章の GUI を更新。

日付 バージョ ン 内容

Page 278: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 278PG150 2015 年 4 月 1 日

付録 C : その他のリソースおよび法的通知

続き

QDRII+

• 「機能概要」 セクシ ョ ンを更新。

• 表 9-1 「デバイス使用量 ― Kintex UltraScale FPGA」 を更新。

• 図 10-3 「PHY 全体の初期化およびキャ リブレーシ ョ ンのシーケンス」 を更新。

• 「PHY 全体のアーキテクチャ」 セクシ ョ ンの MicroBlaze の説明を更新。

• 「メモ リの初期化およびキャ リブレーシ ョ ンのシーケンス」セクシ ョ ンを更新。

• 「 リ セッ ト 」 セクシ ョ ンを更新。

• 表 11-1 「2 つのバンクに含まれる 18 ビッ トの QDR II+ インターフェイス」 の特記列を削除。

• 「ク ロ ッキング」セクシ ョ ンに複数の IP コアおよび入力クロ ッ ク ソースの共有を追加。

• 「プロ ト コルの説明」 セクシ ョ ンを更新。

• 「シ ミ ュレーシ ョ ン」 セクシ ョ ンを更新。

• 「サンプル デザインのシ ミ ュレーシ ョ ン (標準ユーザー インターフェイスのデザイン)」 セクシ ョ ンの説明を更新。

• 「サンプル デザイン」 の章の GUI を更新。RLDRAM 3

• 「機能概要」 セクシ ョ ンに表 「キャ リブレーシ ョ ン」 を追加。

• 「概要」 の章のメモ リの初期化の箇条書きを更新。

• 「機能概要」 セクシ ョ ンにバース トのサポートの説明を追加。

• 表 16-1 「デバイス使用量 ― Kintex UltraScale FPGA」 を更新。

• 「メモ リー コン ト ローラー」 セクシ ョ ンを更新。

• 「PHY 全体のアーキテクチャ」 セクシ ョ ンを更新。

• 「メモ リの初期化およびキャ リブレーシ ョ ンのシーケンス」セクシ ョ ンを更新。

• 「ク ロ ッキング」セクシ ョ ンに複数の IP コアおよび入力クロ ッ ク ソースの共有を追加。

• 「RLDRAM 3 のピン規則」 セクシ ョ ンにデータ マスクの説明を追加。

• 「サンプル デザイン」 の章の GUI を更新。

付録 :付録 「移行」 を追加。

日付 バージョ ン 内容

Page 279: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 279PG150 2015 年 4 月 1 日

付録 C : その他のリソースおよび法的通知

2014 年 6 月 4 日 5.0 • 「PCB」 セクシ ョ ンを削除し、 UG583 へのリ ンクを追加。

• 全体的に BUFGCE を BUFGCE_DIV に置き換え。DDR3/DDR4

• 「DDR3 機能概要」 の CAS サイ クルの説明を更新。

• 「ネイティブ インターフェイス」 セクシ ョ ンの説明を更新。

• 「制御パス」 セクシ ョ ンを更新。

• 「読み出しおよび書き込みの結合」 セクシ ョ ンを更新。

• 「 リオーダー」 セクシ ョ ンを更新。

• 「グループ マシン」 セクシ ョ ンの DDR4 x16 デバイスを更新。

• 図 3-3 「PHY のブロ ッ ク図」 を更新。

• 表 3-1 「PHY のモジュール」 を更新。

• 「PHY 全体のアーキテクチャ」 セクシ ョ ンのモジュール名を更新。

• 図 3-4 「PHY 全体の初期化およびキャ リブレーシ ョ ンのシーケンス」 を更新。

• 「メモ リの初期化およびキャ リブレーシ ョ ンのシーケンス」 セクシ ョ ンに説明を追加。

• 「ク ロ ッキング」 セクシ ョ ンに SSI 規則を追加。

• 「DDR3/DDR4 のピン規則」 セクシ ョ ンで、 SSI 規則を追加し、 アドレス と ckの説明を更新。

• 「DDR3/DDR4 のピン配置例」 セクシ ョ ンに、 キャ リブレーシ ョ ン ステージに関する重要な注記を追加。

• 表 4-3 「ユーザー インターフェイス」 の信号の説明を更新。

• 「app_addr[ADDR_WIDTH – 1:0]」 セクシ ョ ンに新しい内容を追加。

• 「書き込みパス」 セクシ ョ ンを更新。

• 「ネイティブ インターフェイス」 セクシ ョ ンを更新。

• 「コン ト ローラー オプシ ョ ン」セクシ ョ ンにデータ マスクに関する重要な注記を追加。

• 「PHY のみ」 のセクシ ョ ンを追加。

• 「コアのカスタマイズおよび生成」 セクシ ョ ンの図 5-1 ~ 5-8 を更新。

• 「デザイン フローの手順」 の章に 「ユーザー パラ メーター」 セクシ ョ ンを追加。

• 「I/O 規格と配置」 セクシ ョ ンを更新。

• 「サンプル デザイン」 の章に 「ブラ ッ ク ボッ クス テス トの簡略化」 セクシ ョンを追加。

QDRII+

• 「機能概要」 セクシ ョ ンの読み出しレイテンシを更新。

• 図 10-2 「PHY のブロ ッ ク図」 および表 17-1 「PHY のモジュール」 を更新。

• 表 11-2 「ユーザー インターフェイス」 を更新。

• 「ク ロ ッキング」 セクシ ョ ンに SSI 規則を追加。

• 「QDR II+ のピン配置例」 セクシ ョ ンに、 キャ リブレーシ ョ ン ステージに関する重要な注記を追加。

• 「QDR II+ のピン規則」 セクシ ョ ンに SSI 規則を追加。

• 「I/O 規格と配置」 セクシ ョ ンを更新。

• 「デザイン フローの手順」 の章に 「ユーザー パラ メーター」 セクシ ョ ンを追加。

• 「サンプル デザインのシ ミ ュレーシ ョ ン (標準ユーザー インターフェイスのデザイン)」 セクシ ョ ンの説明を更新。

• 「サンプル デザイン」 の章に 「ブラ ッ ク ボッ クス テス トの簡略化」 セクシ ョンを追加。

日付 バージョ ン 内容

Page 280: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 280PG150 2015 年 4 月 1 日

付録 C : その他のリソースおよび法的通知

続き

RLDRAM 3

• 「機能概要」 セクシ ョ ンに 18 ビッ ト を追加。

• 図 17-4 「PHY のブロ ッ ク図」 を更新。

• 表 17-1 「PHY のモジュール」 のモジュール名を更新。

• 「PHY 全体のアーキテクチャ」 セクシ ョ ンのモジュール名を更新。

• 「ク ロ ッキング」 セクシ ョ ンに SSI 規則を追加。

• 「RLDRAM 3 のピン規則」 セクシ ョ ンで、 c) および d) の説明を更新し、 SSI 規則を追加。

• 表 18-2 「ユーザー インターフェイスの要求信号」 を更新。

• 図 18-2 「user_cmd 信号の複数のコマンド」 を更新。

• 「RLDRAM 3 のピン配置例」 セクシ ョ ンに、キャ リブレーシ ョ ン ステージに関する重要な注記を追加。

• 「I/O 規格と配置」 セクシ ョ ンを更新。

• 「デザイン フローの手順」 の章に 「ユーザー パラ メーター」 セクシ ョ ンを追加。

• 「テス トベンチ」 の章を更新。

2014 年 4 月 2 日 5.0 • 「IP 情報」 の表に Verilog テス トベンチを追加。DDR3/DDR4

• 「概要」 の章を追加。

• 「機能概要」 のセクシ ョ ンのコンポーネン ト サポート を 80 ビッ トに更新。

• DDR のデバイス使用量の表を更新。

• DDR ク ロ ッキングのセクシ ョ ンを更新。

• 「コアを使用するデザイン」 の章の x4 DRAM を 4 コンポーネン ト DRAM 構成に更新。

• DDR3 および DDR4 の 「PCB ガイ ド ライン - 概要」 の重要な注記を更新。

• DDR3 および DDR4 の 「リ ファレンス スタ ッ クアップ」 の重要な注記を更新。

• DDR3 および DDR4 のト レース長に関する説明を更新。

• DDR3 および DDR4 の 「一般的な配線ガイ ド ライン」 に VTT 終端のガイ ド ラインを追加。

• 「制約」 セクシ ョ ンを削除。

• 「必須の制約」 に VREF に関する注記を追加。

• 「デザイン フローの手順」 の章の図を更新。

• 「サンプル デザイン」 の章に新規説明を追加。

• 「テス トベンチ」 の章に新規説明を追加。QDR II+ SRAM

• QDR II+ の新規セクシ ョ ンを追加。RLDRAM 3

• 「概要」 の章を追加。

• 「ク ロ ッキング」 の新規セクシ ョ ンを追加。

• 「サンプル デザイン」 の章に新規説明を追加。

付録 :• デバッグに関する付録を更新。

2013 年 12 月 18 日 4.2 初版

日付 バージョ ン 内容

Page 281: アーキテクチャ FPGA メモリ インターフェイス ソ …...LogiCORE IP UltraScale アーキテクチャ FPGA メモリ インターフェイス ソリューション 製品ガイド

UltraScale アーキテクチャ FPGA MIS v7.0 japan.xilinx.com 281PG150 2015 年 4 月 1 日

付録 C : その他のリソースおよび法的通知

法的通知The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the maximum extentpermitted by applicable law: (1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES ANDCONDITIONS, 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 connectionwith, 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 suchdamage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes no obligation to correct anyerrors 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 supportterms 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 applicationrequiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx'sTerms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos.

© Copyright 2013–2015 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, UltraScale, Virtex, Vivado, Zynq, and other designatedbrands included herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respectiveowners.

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの

右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で

入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受

け付けており ません。 あらかじめご了承ください。