77
XAPP739 (v1.0) 2011 9 23 japan.xilinx.com 1 © Copyright 2011 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. AMBA and ARM are trademarks of ARM in the EU and other countries. All other trademarks are the property of their respective owners. はじめに マルチポー ト メモリ コントローラー (MPMC) は、 複数のデバイ スが 1 つのメモリ コントローラーを 共用するアプリ ケーシ ョ ンに使用されます。 これは、複数のソースからのデータが共通のメモリ デバイ (通常、 DDR3 SDRAM メモリ ) を介して移動する、 ビデオ、 エンベデッ ド システム、 通信のアプ リ ケーシ ョ ンの多 く で一般的に見られる要件です。 このアプリケーション ノ ー ト では、 Project Navigator (ProjNav) CORE Generator™ ツールを含む ISE ® Design Suite Logic Edition のツールを使用して、 基本的な DDR3 MPMC デザインを作成する方 法を示します。 MPMC は、 ISE Design Suite Logic Edition で提供されるメモリ インターフェイス ジェ ネレーター (MIG) IP ブロックと、 AXI インターコネクト IP ブロ ッ ク を組み合わせて構築し ます。 AXI は、 ARM ® AMBA4 ® AXI 仕様に基づいて標準化された IP インターフェイス プ ロ ト コ ルです。 こ のサンプル デザインに使用する AXI イ ン タ ー フ ェ イ ス は、 AMBA4 仕様に記載された AXI4AXI4-LiteAXI4-Stream インターフェイスからなります。 これらのインターフェイスは、 システムを 構築するための、 共通した IP インターフェイス プロ ト コルのフレームワークを提供します。 概要 このアプリケーション ノートのサンプル デザインは、 Virtex ®- 6 FPGA ML605 評価プ ラ ッ ト フ ォーム ボー ド 上で完全に動作す る ハー ド ウ ェ ア システムです。 ML605 のデザインは、ビデオ テスト パターン ジェネレーター (TPG) から供給されるデータをメモリに複数回ループ入出力してから、ボード上のデジ タル ビジュアル インターフェイス (DVI) ディ スプレイに送信する、 簡単なビデオ システムをインプリ メントします。したがって、 DDR3 メ モ リ は、複数のビデオ フレーム バッ フ ァーが共用するマルチポー メ モ リ と し て機能し ます。 ビデオ フレーム バッファーは、 2 つの AXI Video Direct Memory Access (AXI VDMA) IP コ ア に よ っ て 制 御 さ れ ま す。 各 AXI VDMA コアは、 ビデオ情報を伝送する AXI4-Stream データを取り込み、 AXI4 インターフェイスを介してメモリとの間でデータをやり取りし ます。 AXI インターコネクトは、共有 MIG メモリ コン ト ローラーへの AXI4 トランザクションを多重 化する、 アービ ト レーシ ョ ン機能を持ったス イ ッチと して機能する こ とで、 AXI MPMC システムを構 成 し ま す。 ク ロ ッ ク ジェネレーター ブロックは、システム全体にクロックを供給します。 AXI4-Lite スター ブロックは、 リセッ ト後に AXI VDMA の設定に必要となる、 コンフィギュレーション コマン ドを生成します。 1 に、 システムのブロ ッ ク図と、 システム内の基本的なデータ フローを示します。 注記 : このアプリケーション ノートで説明するものと同等のシステムを構築する場合、 ISE Design Suite Embedded Edition (EDK) ではなく、 Xilinx Platform Studio (XPS) ツールを使用した方がよ り高度な自 動化を実現でき る可能性があ り ます。 アプリケーション ノート : Virtex-6 ファミリ XAPP739 (v1.0) 2011 9 23 AXI マルチポー ト メモリ コントローラー 著者 : Khang DaoDylan Bulia

AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 1

© Copyright 2011 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. AMBA and ARM are trademarks of ARM in the EU and other countries. All other trademarks are the property of their respective owners.

はじめに マルチポート メモ リ コン ト ローラー (MPMC) は、 複数のデバイスが 1 つのメモ リ コン ト ローラーを

共用するアプリ ケーシ ョ ンに使用されます。 これは、複数のソースからのデータが共通のメモ リ デバイ

ス (通常、 DDR3 SDRAM メモ リ ) を介して移動する、 ビデオ、 エンベデッ ド システム、 通信のアプリ

ケーシ ョ ンの多くで一般的に見られる要件です。

このアプ リ ケーシ ョ ン ノー ト では、 Project Navigator (ProjNav) や CORE Generator™ ツールを含む

ISE® Design Suite Logic Edition のツールを使用して、 基本的な DDR3 MPMC デザインを作成する方

法を示します。MPMC は、 ISE Design Suite Logic Edition で提供される メモ リ インターフェイス ジェ

ネレーター (MIG) IP ブロ ッ ク と、 AXI インターコネク ト IP ブロ ッ クを組み合わせて構築します。

AXI は、ARM® AMBA4® AXI 仕様に基づいて標準化された IP インターフェイス プロ ト コルです。こ

のサンプル デザイ ンに使用する AXI イ ン ターフ ェ イ スは、 AMBA4 仕様に記載された AXI4、AXI4-Lite、 AXI4-Stream インターフェイスからな り ます。 これらのインターフェイスは、 システムを

構築するための、 共通した IP インターフェイス プロ ト コルのフレームワークを提供します。

概要 このアプ リ ケーシ ョ ン ノートのサンプル デザインは、 Virtex®-6 FPGA ML605 評価プラ ッ ト フォーム

ボード上で完全に動作するハード ウェア システムです。ML605 のデザインは、ビデオ テス ト パターン

ジェネレーター (TPG) から供給されるデータを メモ リに複数回ループ入出力してから、ボード上のデジ

タル ビジュアル インターフェイス (DVI) ディ スプレイに送信する、 簡単なビデオ システムをインプ リ

メン ト します。したがって、DDR3 メモ リは、複数のビデオ フレーム バッファーが共用するマルチポー

ト メモ リ と して機能します。 ビデオ フレーム バッファーは、 2 つの AXI Video Direct Memory Access(AXI VDMA) IP コ アによ って制御されます。 各 AXI VDMA コ アは、 ビデオ情報を伝送する

AXI4-Stream データを取り込み、 AXI4 インターフェイスを介してメモリ との間でデータをやり取り し

ます。 AXI インターコネク トは、共有 MIG メモ リ コン ト ローラーへの AXI4 ト ランザクシ ョ ンを多重

化する、 アービ ト レーシ ョ ン機能を持ったスイ ッチと して機能するこ とで、 AXI MPMC システムを構

成します。 ク ロ ッ ク ジェネレーター ブロッ クは、システム全体にクロ ッ クを供給します。AXI4-Lite マスター ブロ ッ クは、 リセッ ト後に AXI VDMA の設定に必要となる、 コンフ ィギュレーシ ョ ン コマン

ドを生成します。 図 1 に、 システムのブロ ッ ク図と、 システム内の基本的なデータ フローを示します。

注記 : このアプリ ケーシ ョ ン ノートで説明するものと同等のシステムを構築する場合、ISE Design SuiteEmbedded Edition (EDK) ではなく、 Xilinx Platform Studio (XPS) ツールを使用した方がよ り高度な自

動化を実現できる可能性があ り ます。

アプリケーシ ョ ン ノート : Virtex-6 ファ ミ リ

XAPP739 (v1.0) 2011 年 9 月 23 日

AXI マルチポート メモリ コン ト ローラー著者 : Khang Dao、 Dylan Bulia

Page 2: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

クイック スタート

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2

クイック スタート こ こでは、完成されたプロジェク ト ファ イルセッ トからデザインを構築する手順を説明し、ML605 ボー

ド上でデモ デザインを動作させる方法も示します。

注記 : Project Navigator の新規プロジェ ク ト からデザインを構築する方法は、 11 ページの 「ProjectNavigator 新規プロジェク トからの AXI MPMC デザインの作成」 で説明します。

デザインを開き再構築する手順

注記 : これらの手順は、 Linux 環境を使用して作成されています。 PC ユーザーは、 PC 環境の相当する

ディ レク ト リ パス区切り記号やツールの起動コマンドが必要となる場合があ り ますが、 GUI コマンド

はおおむね同じです。

1. ISE Design Suite 13.2 をインス トールします (Logic Edition 以上が必要)。

2. アプリ ケーシ ョ ン ノートの リ ファレンス デザイン ファ イルをローカル フォルダー (以降は

<design_dir> と表記) に解凍します。

3. Project Navigator を起動します。 PC の場合は、 [スタート ] → [Xilinx ISE Design Suite 13.2] →[Project Navigator] をク リ ッ ク します。 Linux の場合は ise コマンドを使用します。

X-Ref Target - Figure 1

図 1 : AXI MPMC システムの概要 (Project Navigator)

XAPP739_01_091911

AXI MIG

DDR3Memory

AXI VDMA 0AXI TPG

AXI4-Stream Master

VDMA 0 Config

AXI4-Lite Master

DVI Controller

DVI AXI4-Stream Slave

AXI4-Stream Slave

AXI4-Stream Master

AXI4 Master (MM2S)

AXI4 Master (S2MM)

AXI4-Lite Slave

AXI VDMA 1

AXI4-Stream Slave

AXI4-Stream Master

AXI4 Master (MM2S)

AXI4 Master (S2MM)

AXI4-Lite Slave

AXI Interconnect (4x1)

AXI4 Slave 0 (Read Only)

AXI4 Slave 1 (Write Only)

AXI4 Slave 2 (Read Only)

AXI4 MasterAXI4Slave

AXI4 Slave 3 (Write Only)

VDMA 1 Config

AXI4-Lite MasterClock

Generator

IP Blocks Comprising AXI MPMC Subsytem

Page 3: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

クイック スタート

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 3

4. Project Navigator で [File] → [Open Project] をク リ ッ ク します (図 2)。

5. <design_dir>/projnav/ml605_mpmc_reference_projnav.xise を選択し、 [Open] をク

リ ッ ク します (図 3)。

X-Ref Target - Figure 2

図 2 : Project Navigator でプロジェク ト を開く

X-Ref Target - Figure 3

図 3 : [Open Project] ダイアログ ボックス

XAPP739_02_082911

XAPP739_03_091911

Page 4: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

クイック スタート

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 4

6. デザインの再構築は行わずに、 生成済みのビッ ト ス ト リームをハード ウェアで実行するだけの場合

は、 手順 8 に進んでください。 デザインを再構築する場合は、 次の手順に従います。

a. このデザインを初めて動作させる場合は、 プロジェク ト内の IP コアを再生成する必要があ り

ます。 IP コアを再構築するには、 [Hierarchy] ペインで xc6vlx240t-1ff156 を選択し、 [DesignUtilities] → [Regenerate All Cores] をダブルク リ ッ ク します (図 4)。

注記 : コアを再生成せずにデザインをインプ リ メン トする と、 コアごとに再生成を促すプロン

プ トが表示されます。 その場合は、 IP コアごとに [Yes] をク リ ッ ク して ください。

7. [Process] → [Implement Top Module] をク リ ッ ク して、 ビッ ト ス ト リームまで作成します (図 5)。この手順によ り、 デザインが構築されビッ ト ス ト リームになり ますが、 完了までに時間がかかる場

合があ り ます。

X-Ref Target - Figure 4

図 4 : 全コアの再生成

X-Ref Target - Figure 5

図 5 : Project Navigator によるデザインのインプリ メン ト

XAPP739_04_082911

XAPP739_05_082911

Page 5: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

クイック スタート

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 5

合成中にエラーが発生し、「unknown module <axi_vdma>」 とい う メ ッセージが表示された場合

は、 次のよ うにして回避します。

a. Project Navigator を閉じます。

b. <design_dir>/projnav/ml605_mpmc_reference.xise を編集します。

c. テキス ト内で次のよ うに書かれた部分を見つけます。

<file xil_pn:name="ipcore_dir/vdma.xise" xil_pn:type="FILE_COREGENISE"><association xil_pn:name="Implementation" xil_pn:seqID="237"/></file>

d. 上記の部分をファイルの先頭、 <files> という行のすぐ下に移動します。

注記 : seqID の値は上記と異なる場合があ り ます。

e. テキス ト ファ イルを保存します。

f. このテキス ト ファ イルを再度 Project Navigator で開きます。

g. [Project] → [Cleanup Project Files] をク リ ッ ク します。

h. も う一度プロジェク ト を再構築します。 これらの処置によ り、 エラー メ ッセージ 「unknown

module <axi_vdma>」 は解消されるはずです。

ML605 ボードの設定

8. リ ファレンス デザインは、 図 6 に示す ML605 ボード上で動作します。

注記 : 図 6 には、 このアプリ ケーシ ョ ン ノートでは言及または使用しない ML605 の機能も示され

ています。

X-Ref Target - Figure 6

図 6 : ML605 ボードの写真

1

2

8

13

5

10

15

8

13

16b

16c

23

1918a

18b

18c18d7c 17e

17c

17b

17f21a

21a21b

21c

21d

22

7a(on backside)

7b

17a

17d

20

12

616a

7d

11

14

3

4

9

X739_06_083011

Page 6: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

クイック スタート

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 6

9. ボードに同梱された USB ケーブルを使用してホス ト PC と ML605 ボードの USB JTAG ポート (図 6 の 6) を接続します。適切なデバイス ド ラ イバーがインス トールされているこ とを確認してく

ださい。

10. ML605 の DVI コネク タ (図 6 の 14) に、 1280x720p、 60Hz のビデオ信号を表示できるビデオ モニターを接続します。

11. ML605 ボードに電源ケーブルを接続します (図 6 の 21c)。

12. ML605 ボードの電源をオンにします (図 6 の 18a)。

ビッ トス ト リームのダウンロード と実行

デザインの再構築を行わずに、 アプ リ ケーシ ョ ン ノートに付属する生成済みビッ ト ス ト リーム ファ イ

ルを使用して ML605 をプログラムする場合は、 次の手順に従ってください。

注記 : デザインが再構築済みの場合は、 これらの手順は実行しないでください。

13. [Processes] ペインで [Generate Programming File] を右ク リ ッ ク し、[Force Process Up-to-Date] をク リ ッ ク します (図 7)。 これよって、 [Generate Programming File] の横に緑色のチェッ ク マークが

付き、 デザインを構築せずに iMPACT を実行できるよ うにな り ます。

14. Project Navigator の [Processes] ペインで [Configure Target Device] を右ク リ ッ ク して [Run] をク

リ ッ ク し、 ビッ ト ス ト リーム ダウンロード ツールの iMPACT を起動します (図 8)。

X-Ref Target - Figure 7

図 7 : [Generate Programming File] を強制的に最新にする

X-Ref Target - Figure 8

図 8 : Project Navigator から iMPACT を起動する

XAPP739_07_082911

XAPP739_08_082911

Page 7: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

クイック スタート

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 7

15. [Warning] ウ ィンド ウで [OK] をク リ ッ ク します (図 9)。

16. iMPACT ツールが起動します。 [Edit] → [Launch Wizard] をク リ ッ ク します (図 10)。

17. [OK] をク リ ッ ク して、 ML605 ボードの JTAG スキャンを開始します (図 11)。

X-Ref Target - Figure 9

図 9 : iMPACT の警告メ ッセージ

X-Ref Target - Figure 10

図 10 : iMPACT Wizard の起動

X-Ref Target - Figure 11

図 11 : iMPACT Wizard の [Welcome] ページ

XAPP739_09_082911

XAPP739_10_082911

XAPP739_11_083111

Page 8: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

クイック スタート

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 8

18. [Yes] をク リ ッ ク して、 コンフ ィギュレーシ ョ ン ファ イルを自動割り当てします (図 12)。

19. JTAG チェーンの最初のデバイスである SystemAce™ インターフェイスについては、 [Bypass] をク リ ッ ク します (図 13)。

X-Ref Target - Figure 12

図 12 : [Auto Assign Configuration Files Query Dialog] ダイアログ ボックス

X-Ref Target - Figure 13

図 13 : [Assign New Configuration File] ダイアログ ボックス (SystemAce インターフェイス)

XAPP739_12_082911

XAPP739_13_082911

Page 9: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

クイック スタート

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 9

20. XC6VLX240T デバイスに対して system.bit を選択して [Open] をク リ ッ クするこ とで、

<design_dir>/projnav/system.bit をロード し、 FPGA をコンフ ィギュレーシ ョ ンします (図 14)。

21. SPI または BPI PROM のオプシ ョ ンに対しては、 [No] をク リ ッ ク します (図 15)。

X-Ref Target - Figure 14

図 14 : [Assign New Configuration File] ダイアログ ボックス (XC6VLX240T デバイス)

X-Ref Target - Figure 15

図 15 : [Attach SPI or BPI PROM] ダイアログ ボックス

XAPP739_14_082911

XAPP739_15_082911

Page 10: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

クイック スタート

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 10

22. [Device Programming Properties] ダイアログ ボッ クスの [OK] をク リ ッ ク します (図 16)。

23. FPGA をプログラムします。 xc6vlx240t デバイスを右ク リ ッ ク し、 [Program] をク リ ッ ク します (図 17)。

X-Ref Target - Figure 16

図 16 : [Device Programming Properties] ダイアログ ボックス

XAPP739_16_082911

X-Ref Target - Figure 17

図 17 : iMPACT の FPGA プログラム コマンド

XAPP739_17_082911

Page 11: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 11

24. プログラムが完了する と、 正常終了のメ ッセージが表示されます。 デザインのダウンロード後、 ビ

デオ モニターには外側に向かってゆっ く り と広がる、白色の円形波紋パターンが複数個表示されま

す。 これは、ハード ウェア内で実際に動作中の AXI MPMC システムを表しています。 ビデオ デー

タの複数のフレームが、2 つの AXI VDMA ブロッ クによって制御された DDR3 メモ リ を介して移

動しています。

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

このセクシ ョ ンでは、 新規プロジェク トからデザインを構築する手順を示します。 Project Navigator を使用して、 IP ブロ ッ クのプロジェク トへの追加/コンフ ィギュレーシ ョ ン後に、 それらを互いに接続し

てシステムを構築し、 デザインをビッ ト ス ト リームにインプリ メン トする方法を説明します。

Project Navigator の新規プロジェク トの開始とプロジェク ト オプシ ョ ンの設定

1. ISE Design Suite 13.2 をインス トールします (Logic Edition 以上が必要)。

2. リ ファレンス デザイン ファ イルをローカル フォルダー (以降は <design_dir> と表記) に解凍し

ます。 このフォルダーには、 デザイン作成プロセスに必要なソース ファ イルが含まれます。

3. Project Navigator を起動します。 PC の場合は、 [スタート ] → [Xilinx ISE Design Suite 13.2] →[Project Navigator] をク リ ッ ク します。 Linux の場合は ise コマンドを使用します。

4. [File] → [New Project] をク リ ッ ク して新規プロジェク ト を作成します (図 18)。X-Ref Target - Figure 18

図 18 : Project Navigator による新規プロジェク トの作成

XAPP739_18_082911

Page 12: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 12

5. 新しいディ レク ト リ (以降は <user_dir> と表記) に ml605_mpmc_reference という名前の新

規プロジェク ト を作成して [Next] をク リ ッ ク します (図 19)。X-Ref Target - Figure 19

図 19 : [Create New Project] ページ

XAPP739_19_082911

Page 13: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 13

6. 図 20 に従ってプロジェク ト設定を入力して [Next] をク リ ッ ク します。

注記 : ML605 ボードを選択するこ とで、 FPGA デバイスの情報が自動的に入力されます。 このア

プリ ケーシ ョ ン ノートの説明では、 推奨言語と して Verilog を使用します。

X-Ref Target - Figure 20

図 20 : [Project Settings] ページ

XAPP739_20_082911

Page 14: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 14

7. プロジェク ト設定の内容を確認して、 [Finish] をク リ ッ ク します (図 21)。 この手順を完了する と、

新規プロジェク トが開き、 Project Navigator に戻り ます。

8. ディ レク ト リ <design_dir>/projnav/ipcore_example を <user_dir> にコピーして、

<user_dir>/ipcore_example を作成します。 このディ レ ク ト リ には、 後ほど使用する追加の

ソース ファ イルが含まれます。

デザインへのメモリ コン ト ローラー (MIG IP コア) の追加

こ こでは、AXI ベースのメモ リ コン ト ローラー (MIG IP コア) を ML605 ボード用にコンフ ィギュレー

シ ョ ンしてプロジェク トに追加する手順を説明します。Virtex-6 FPGA 向けの MIG IP コアの詳細は、

『Virtex-6 FPGA メモ リ インターフェイス ソ リ ューシ ョ ン ユーザー ガイ ド』 [参照 1] に記載されてい

ます。

X-Ref Target - Figure 21

図 21 : [Project Summary] ページ

XAPP739_21_082911

Page 15: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 15

MIG IP コアの生成

9. [Project] → [New Source] をク リ ッ ク して、 システムに新規 IP コアを追加します (図 22)。

10. ソース タイプと して [IP] を選択し、 [File name] に 「DDR3_SDRAM」 と入力します。 ファ イルの場

所 [Location] は、デフォルトの <user_dir>/ipcore_dir と して ください。 [Next] をク リ ッ ク し

ます。

11. [Select IP] ページの [View by Function] タブをク リ ッ ク し、 IP カタログから [Memories & StorageElements] → [Memory Interface Generators] → [MIG Virtex6 and Spartan6] (Version 3.8) をク リ ッ

ク します。 [Next] をク リ ッ ク します (図 24)。

注記 : GUI にはバージ ョ ン番号が表示されない場合があ り ます。

X-Ref Target - Figure 22

図 22 : Project Navigator による新規ソースの作成

X-Ref Target - Figure 23

図 23 : New Source Wizard - [Select Source Type] ページ

XAPP739_22_082911

XAPP739_23_082911

Page 16: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 16

12. [Summary] ページで設定を確認して [Finish] をク リ ッ ク します。 以上によって MIG IP の

CORE Generator ツール プロジェク トが作成され、MIG IP コンフ ィギュレーシ ョ ン GUI が表示さ

れます (図 25)。

X-Ref Target - Figure 24

図 24 : New Source Wizard - [Select IP] ページ

X-Ref Target - Figure 25

図 25 : New Source Wizard - [Summary] ページ

XAPP739_24_082911

XAPP739_25_082911

Page 17: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 17

13. MIG GUI でコアのオプシ ョ ンを確認して [Next] をク リ ッ ク します (図 26)。

14. [Create Design] を選択して [Next] をク リ ッ ク します (図 27)。 [Number of Controllers] には、 デ

フォルト値の 1 を使用します。

注記 : ML605 ボード は、 [Xilinx Reference Boards] オプシ ョ ンをサポー ト し ていません。

[Component Name] には、 先ほど設定した IP ファイルの名前があらかじめ入力されています。

X-Ref Target - Figure 26

図 26 : Virtex-6 FPGA メモリ インターフェイス ジェネレーターの最初のページ

XAPP739_26_082911

Page 18: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 18

15. [Pin Compatible FPGAs] ページでは [Next] をク リ ッ ク します。 通常このページは、 同一パッケー

ジの複数のデバイス間で互換性を持たせる必要がある場合に、新たにボード ピン配置を定義する と

きに使用します (図 28)。

X-Ref Target - Figure 27

図 27 : [MIG Output Options] ページ

X-Ref Target - Figure 28

図 28 : Virtex-6 FPGA MIG の [Pin Compatible FPGA] ページ

XAPP739_27_082911

XAPP739_28_082911

Page 19: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 19

16. [Memory Selection] ページでは、[DDR3 SDRAM] と [Enable AXI Interface] を選択して [Next] をク リ ッ ク します。 これによって、 ML605 ボード上に、 AXI インターコネク ト IP に接続する AXIインターフェイスを備えた、 DDR3 メモ リ用メモ リ コン ト ローラーが作成されます (図 29)。

17. コン ト ローラー オプシ ョ ンの設定では、デザインのクロ ッ ク周期を 2500ps に設定して、 メモ リ クロ ッ クが 400MHz に設定されるよ うにします。 これは、ML605 ボード上のデバイス と FPGA のス

ピード グレードがサポートする最大クロ ッ ク周波数です。 ML605 ボードに適合するよ うに、 メモ

リの情報を次のとおり設定します。

• [Memory Type] : SODIMM

• [Memory Part] : MT4JSF6464HY-1G1

• [Data Width] : 64

• [ECC] : Disabled

• [Data Mask] : オン

• [Ordering] : Normal

[Next] をク リ ッ ク します (図 30)。

X-Ref Target - Figure 29

図 29 : MIG [Memory Selection] ページ - メモリ タイプとコン ト ローラーの選択

XAPP739_29_082911

Page 20: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 20

18. [AXI Parameter] ページでは、 次のパラ メーターを選択します (図 31)。

• [AXI Data Width] : 256 ビッ ト

この設定によ り、 AXI インターフェイスのデータ幅が、 MIG データ パスのネイティブ データ

幅に一致します (4 64 ビッ ト メモ リ データ幅 = 256 ビッ ト AXI データ幅)。

• [AXI Supports Narrow Burst] : 0

この設定によ り、 AXI の狭いバース ト ト ランザクシ ョ ンに対するサポートが無効になるため、

エ リ アとレイテンシが削減されます。狭いバース ト ト ランザクシ ョ ンは、通常マスターが最大

データ幅よ り も狭いバース ト データ幅を要求した場合に発生します。 単一ク ロ ッ ク サイ クル

の ト ランザクシ ョ ンは、 この最適化の影響を受けません。『AXI リ ファレンス ガイ ド』 [参照 2]に記載されている とおり、 ザイ リ ンクス IP では、 通常狭いバース ト ト ランザクシ ョ ンを使用

しません。

• [AXI ID Width] : 4

この値は、このメモ リ コン ト ローラーに接続されたマスターのネッ ト ワークに応じて設定しま

す。通常は、 ARM AXI4 の資料 [参照 7] に記載されたシステムレベルのパラ メーターであ り、

メモ リ コン ト ローラーに接続された AXI インターコネク ト または IP ブロ ッ クによって決ま

り ます。 このデザインでは 4 に設定すれば、 AXI インターコネク トが使用するデフォルト コンフ ィギュレーシ ョ ン、 すなわち自ら ID 信号を発行しない 4 つのマスターからなるコンフ ィ

ギュレーシ ョ ンに適合します。 ただし、 カスタム システムの場合、 接続先の AXI システムの

要件を満たすよ うに、 この値を調整する必要が生じる場合があ り ます。 特に、 デバイス数また

は AXI インターコネク トのコンフ ィギュレーシ ョ ンが大幅に変更される場合です。

[Next] をク リ ッ ク します。

X-Ref Target - Figure 30

図 30 : MIG [Controller Options] ページ

XAPP739_30_082911

Page 21: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 21

19. [Memory Options] ページでは、 次のパラ メーターを選択します (図 32)。

• [Burst Length] : 8-Fixed

これは、システム内のマスターが、通常長いバース ト を使用するビデオ デバイスの場合に推奨

される、 一般的な設定です。

• [Read Burst Type] : Sequential

これは、 システム内のマスターが、 通常シーケンシャル バース ト を使用するビデオ デバイス

の場合に推奨される、 一般的な設定です。

• [Output Driver Impedance Control] : RZQ/7

ML605 ボードのデザイン要件に適合させます。

• [RTT/ODT] : RZQ/4

ML605 ボードのデザイン要件に適合させます。

• [Memory Address Mapping Selection] : (いずれの設定も使用可能)

システム内のビデオ デバイスは長いシーケンシャル パターンでアクセスするため、 どの設定

を選んでも同様の結果が得られる と考えられます。 [Bank/Row/Column] マップを選択してい

る理由は、 理論上複数のマスターが異なるバンクにアクセスできるよ うになり、 バンクの空き

時間が長くなる可能性があるためです。

[Next] をク リ ッ ク します。

X-Ref Target - Figure 31

図 31 : MIG [AXI Parameter Options] ページ

XAPP739_31_082911

Page 22: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 22

20. [FPGA Options] ページでは、 次のデフォルト設定を使用します。

• [System Clock] : Differential

• [Debug Signals for Memory Controlle] : OFF

• [Internal Vref] : (オフ)

ML605 ボードの標準コンフ ィギュレーシ ョ ンに適合させます。 [Next] をク リ ッ ク します (図 33)。

X-Ref Target - Figure 32

図 32 : MIG [Memory Options] ページ

XAPP739_32_083111

Page 23: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 23

21. [Pin/Bank Selection Mode] では [Fixed Pin Out] を選択して [Next] をク リ ッ ク します。 これによっ

て、 ML605 ボードのよ うな既存のボードの定義済みピン配置情報を入力できます (図 34)。

注記 : その他のオプシ ョ ンは新しいボード デザイン用であ り、ツールにピン配置を選択させる場合

に使用します。

X-Ref Target - Figure 33

図 33 : MIG [FPGA Options] ページ

XAPP739_33_082911

Page 24: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 24

22. [Pin Selection] ページでは、 通常ユーザーが GUI のプルダウン メニューを使用して、 メモ リ イン

ターフェイスに必要な I/O ピン配置情報を入力します。 このデザインでは、 [Read UCF] をク リ ッ

ク して、 ML605 ボード用の生成済みファ イルの名前を入力します。 これによって、 各ピンの位置

を入力する時間を節約できます。 図 35 は、 UCF ファ イル読み出し後の画面です。

注記 : 時間を節約するために、MIG GUI には UCF ファ イルを読み出してピン配置情報をインポー

トするオプシ ョ ンがあ り ます。 このファ イルのフォーマッ トについては MIG の資料で解説してい

ます。

X-Ref Target - Figure 34

図 34 : MIG [Extended FPGA Options] ページ

XAPP739_34_082911

Page 25: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 25

23. <user_dir>/ipcore_example/mig.ucf ファ イルを選択し、[Open] をク リ ッ ク して ML605 のピン配置情報ファ イルをロード します。 ロードが完了する と、 [Pin Selection] ページに戻り ます。

[Next] をク リ ッ ク します (図 36)。

24. [Constraint Selection] ページでは、 ML605 ボード用に BUFIO とマスター バンクの位置を設定す

る必要があ り ます。 『Virtex-6 FPGA メモ リ インターフェイス ソ リ ューシ ョ ン ユーザー ガイ ド』 [参照 1] では、 カスタム ボードを使用する場合に必要なピン配置に基づき、 これらの値がどのよ う

に決定するかを解説しています。 ML605 ボードの場合、 [Master Bank Inner Left IOs] を 26 に、

X-Ref Target - Figure 35

図 35 : MIG [Pin Selection] ページ - 既存のピン配置情報を使用

X-Ref Target - Figure 36

図 36 : MIG [Pin Selection] ページ - 読み出す UCF ファイルの選択

XAPP739_35_082911

XAPP739_36_082911

Page 26: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 26

[Master Bank Inner Right IOs] を 36 に設定します。 時間を節約するために、 こ こでも [Read UCF]をク リ ッ ク して ML605 ボード用の生成済み UCF ファ イルをロード します。

注記 : UCF 読み出しの手順をとばして、 単純に、 完了時の画面が図 37 となるよ うに BUFIO 情報

を入力してもかまいません。

25. データを手入力せずに BUFIO 情報をロードするには、 再度 Read UCF] をク リ ッ ク して

<user_dir>/ipcore_example/mig.ucf ファ イルを選択し、[Open] をク リ ッ ク して ML605 のピン配置情報ファイルをロード します。 ロードが完了する と、 [Constraint Selection] ページに戻り

ます。 [Next] をク リ ッ ク します (図 38)。

X-Ref Target - Figure 37

図 37 : MIG [Constraint Selection] ページ

X-Ref Target - Figure 38

図 38 : MIG [Constraint Selection] ページ - 読み出す UCF ファイルの選択

XAPP739_35_082911

XAPP739_38_082911

Page 27: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 27

26. 設定した情報を [Summary] ページで確認して [Next] をク リ ッ ク します (図 39)。

27. 使用権許諾契約を確認した うえで [Accept] を選択して [Next] をク リ ッ ク します (図 40)。 これに

よって、 シ ミ ュレーシ ョ ン テス トベンチを作成する際に、 CORE Generator ツールによって生成さ

れる メモ リ シ ミ ュレーシ ョ ン モデルが使用されます。

注記 : 使用権許諾契約に同意する と、システム シ ミ ュレーシ ョ ンに適したメモ リ シ ミ ュレーシ ョ ン

モデルが生成されます。同意しない場合は、シ ミ ュレーシ ョ ン テス トベンチ作成の手順を実行する

際に、 別にモデルを入手する必要があ り ます。

X-Ref Target - Figure 39

図 39 : MIG [Summary] ページ

XAPP739_39_082911

Page 28: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 28

28. PCB デザインの情報を確認して [Next] をク リ ッ ク します (図 41)。

X-Ref Target - Figure 40

図 40 : MIG Micron 社のモデル使用権許諾契約

XAPP739_40_082911

Page 29: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 29

29. [Design Notes] ページの内容を確認して [Generate] をク リ ッ ク します。 これによって MIG IP ファ

イルが生成され、 Project Navigator に戻り ます (図 42)。

X-Ref Target - Figure 41

図 41 : MIG [PCB Information] ページ

XAPP739_41_082911

Page 30: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 30

MIG および最上位ファイルのデザインへの取り込み

30. Project Navigator の [Hierarchy] ペインで [DDR3_SDRAM] を選択します。 次に、 下段の [Processes] ペインで [CORE Generator] ツールを展開し、 [View HDL Instantiation Template] をダ

ブルク リ ッ ク します。 これによって、 DDR_SDRAM.veo ファ イルが開きます。 開いたファ イルを

<user_dir>/system.v とい う名前で保存し、AXI MPMC デザインの最上位 HDL ファ イル作成

の基盤にします (図 43)。

X-Ref Target - Figure 42

図 42 : MIG [Design Notes] ページ

XAPP739_42_082911

Page 31: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 31

31. <user_dir>/system.v を編集して、 MIG IP から最上位ポートに I/O を接続します。 最上位 I/Oポート を定義し、 これらを表 1 に従って MIG IP に接続します。

注記 : 時間を節約するために、 設定済みの <design_dir>/projnav/system.v を使用するこ と

も可能です。:

X-Ref Target - Figure 43

図 43 : Project Navigator による CORE Generator IP インスタンシエーシ ョ ン テンプレートの表示

表 1 : system.v に設定された、 MIG DDR3_SDRAM インスタンスから最上位ポートへの接続

DDR3_SDRAM インスタンスのポート名 system.v 内の最上位ポート名

clk_ref_p clk_ref_p (output)

clk_ref_n clk_ref_n (output)

ddr3_dq ddr3_dq (inout)

ddr3_addr ddr3_addr (output)

ddr3_ba ddr3_ba (output)

ddr3_ras_n ddr3_ras_n (output)

ddr3_cas_n ddr3_cas_n (output)

ddr3_we_n ddr3_we_n (output)

ddr3_reset_n ddr3_reset_n (output)

ddr3_cs_n ddr3_cs_n (output)

ddr3_odt ddr3_odt (output)

ddr3_cke ddr3_cke (output)

ddr3_dm ddr3_dm (output)

ddr3_dqs_p ddr3_dqs_p (inout)

ddr3_dqs_n ddr3_dqs_n (inout)

XAPP739_43_082911

Page 32: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 32

32. Project Navigator で [Project] → [Add Source] をク リ ッ ク して <user_dir>/system.v を選択後、

[Open] をク リ ッ ク して、 このファ イルをプロジェク トに追加します (図 44)。

注記 : 時間を節約するために、 設定済みの <design_dir>/projnav/system.v を使用するこ と

も可能です。

33. [Adding Source Files] ダイアログ ボッ クスの [OK] をク リ ッ ク します (図 45)。

Verilog モジュールの名称の中に、 ISE Design Suite 13.2 内の MIG および AXI インターコネク ト と競

合するものがあるため、 名前の競合を回避するために次の手順に従う必要があ り ます。 MIG XCO コア

のソースを削除して、 代わりに競合のない Verilog ファ イルをプロジェク トに追加します。

ddr3_ck_p ddr3_ck_p (input)

ddr3_ck_n ddr3_ck_n (input)

sys_rst sys_rst (input)

X-Ref Target - Figure 44

図 44 : Project Navigator へのソース ファイルの追加

X-Ref Target - Figure 45

図 45 : ソース ファイル関連付けの追加

表 1 : system.v に設定された、 MIG DDR3_SDRAM インスタンスから最上位ポートへの接続 (続き)

DDR3_SDRAM インスタンスのポート名 system.v 内の最上位ポート名

XAPP739_44_082911

XAPP739_45_082911

Page 33: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 33

34. [Hierarchy] ペインで DDR3_SDRAM.xco ファ イルを右ク リ ッ ク して削除します。削除の確認を求め

るプロンプ トが表示されたら、 [Yes] をク リ ッ ク します (図 46)。

35. [Project] → [Add Source] をク リ ッ ク して、必要な MIG Verilog ソース ファ イルだけを再度追加し

ます (図 47)。

X-Ref Target - Figure 46

図 46 : Project Navigator からの MIG XCO ファイルの削除

X-Ref Target - Figure 47

図 47 : Project Navigator へのソース ファイルの追加

XAPP739_46_083111

XAPP739_47_082911

Page 34: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 34

36. <user_dir>/ipcore_dir/DDR3_SDRAM/user_design/rtl/axi ディ レク ト リに移動します。

モジュールの重複による競合を防ぐため、 図 48 に示すファイルのみを追加します。

注記 : 一定の範囲のファ イルをハイラ イ トする場合は Shift キーを押しながら選択し、 個別にファ

イルを追加選択する場合は Ctrl キーを押しながら選択します。

37. [Association] の列の値を [All] に設定して [OK] をク リ ッ クし、 これらの Verilog ファイルを追加しま

す (図 49)。 ファイルはインプリ メンテーシ ョ ンとシ ミ ュレーシ ョ ンの両フローに取り込まれます。

X-Ref Target - Figure 48

図 48 : Project Navigator に追加するソース ファイルの選択

X-Ref Target - Figure 49

図 49 : 新しい Verilog ソース ファイルの関連付け選択

XAPP739 48 083111

XAPP739_49_083111

Page 35: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 35

38. 手順 35 から手順 37 を繰り返し、<user_dir>/ipcore_dir/DDR3_SDRAM/user_design/rtl/

の下の、 controller、 ecc、 ip_top (clk_ibuf.v を除くすべて。 このファ イルのインスタンシ

エーシ ョ ンは 手順 41b で削除)、 phy、 ui サブディレク ト リ内の残りの MIG Verilog ファイルを追

加します。

39. こ こまでの作業によ り、 DDR3_SDRAM のインスタンスが、 Project Navigator の [Hierarchy] ペイ

ンの system.v の下に表示される よ う にな り ます。 未使用の MIG Verilog フ ァ イル

(DDR3_SDRAM 階層の下にないもの) が残っている場合があり ますが、 これらはプロジェク トから

問題なく削除できます。 図 50 に例を示します。

MIG ML605 の調整

CORE Generator ツールの通常の MIG フローの場合、 ツールは、 作成するサンプル デザインの一部と

して専用のクロ ッ ク生成モジュールを提供します。 この AXI MPMC デザインには、 CORE Generatorツールの MIG デザインが生成するデフォルトの 13.2 バージ ョ ンのほかに、追加のクロ ッ ク接続および

クロ ッ ク機能が必要です。 このため、 この後説明する手順によって、 MIG ツールが生成するクロ ッキン

グ ロジッ クを手動で編集し、 ML605 AXI MPMC システムの要件に適合させる必要があ り ます。

注意 : MIG コアを再生成する と、 これらの変更は上書きされてしまいます。 このため、 変更した

ファイルは別の場所にバッ クアップしておく こ とを推奨します。

次の手順 40 から手順 43 では、 いくつかの MIG ファ イルを編集します。 時間を節約するために、 編集

済みの該当するファイルを <design_dir>/projnav/ipcore_dir/DDR3_SDRAM/user_design/rtl/ip_top デ ィ レ ク ト リ

からコピーして ください。

40. <user_dir>/ipcore_dir/DDR3_SDRAM/user_design/rtl/ip_top/iodelay_ctrl.v

ファ イルを編集し、 clk_200 信号用の出力ポート を追加します。 変更部分のサマ リが左側のペイン

に表示されます (図 51)。

注記 : [File] → [Open] をク リ ッ クする と、 Project Navigator のテキス ト エディ ターが起動されま

す。

X-Ref Target - Figure 50

図 50 : Project Navigator による不要な MIG ファイルの削除

XAPP739_50_083111

Page 36: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 36

41. <user_dir>/ipcore_dir/DDR3_SDRAM/user_design/rtl/ip_top/DDR3_SDRAM.v ファ イ

ルを次の手順で編集します。 ML605 ボードには、 200MHz の基準ク ロ ッ ク入力が 1 つしかな く、

リセッ ト入力はアクティブ Low のため、 デフォルトの MIG 出力から変更する必要があ り ます。

a. パラ メーターの DIVCLK_DIVIDE を 1 に、 RST_ACT_LOW を 0 に変更します。

b. sys_clk_p/sys_clk_n ポート と、 これに対応する clk_ibuf モジュールを削除します。

c. sda/scl SPD EEPROM のポート と、 これに対応するロジッ クを削除します。

d. u_infrastructure インスタンスの mmcm_clk ポートに、 iodelay_ctrl.v ファ イルから先ほ

ど作成した clk_200 信号を接続します。

42. 編集の結果得られる DDR3_SDRAM.v ファ イルの変更点は、図 52 に示す差異レポートの左側ペイン

に似たものになり ます。

X-Ref Target - Figure 51

図 51 : MIG iodelay_ctrl.v ファイルの変更

XAPP739_51_083111

X-Ref Target - Figure 52

図 52 : MIG DDR3_SDRAM.v ファイルの変更

XAPP739_52_083111

Page 37: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 37

デザイン制約の作成

デザイン制約の大部分は、 生成された MIG コアから生じます。 こ こでは、 MIG の制約を変更する方法

と、 このデザインおよび ML605 開発ボード固有の必要な制約を追加する方法を説明します。 時間を節

約するために、 完成した制約ファイルを <design_dir>/projnav/system.ucf から <user_dir>/system.ucf にコピーするこ と も可能です。

43. <user_dir>/ipcore_dir/DDR3_SDRAM/user_design/par/DDR3_SDRAM.ucf を <user_dir>/system.ucf とい う名前でコピーし、 これを [File] → [Open in Project Navigator]をク リ ッ クするか、 ほかのテキス ト エディ ターを使用して、 次のよ うに変更します。

a. MIG ツールからの初期化完了信号に対するタイ ミ ング無視 (TIG) 制約を追加します。

NET "DDR3_SDRAM/u_memc_ui_top/u_mem_intfc/phy_top0/u_phy_init/dfi_init_complete" TIG;

b. sys_clk_p、 sys_clk_n、 sda、 scl、 phy_init_done 関連の制約をすべて削除します。 これらの

ポートは使用しないためです。

c. sys_clk_p と TNM_sys_clk の PERIOD 制約を削除します。 上記の変更によ り sys_clk_p を使

用しな くなったためです。

d. system.v に DDR_SDRAM のインスタンシエーシ ョ ンが含まれるよ うに、 INST 階層パスを

変更します。 具体的には、 u_memc_ui_top のインスタンスを検索して、 すべてを DDR3_SDRAM/u_memc_ui_top に置換します (上記手順 a のものを除く )。

e. clk_ref_p/clk_ref_n に対して、 差動終端の制約 DIFF_TERM = 'TRUE' を追加します。

NET "clk_ref_p" IOSTANDARD = LVDS_25 | DIFF_TERM = "TRUE"; NET "clk_ref_n" IOSTANDARD = LVDS_25 | DIFF_TERM = "TRUE";

f. sys_rst IOSTANDARD を SSTL_15 に変更し、 TIG 制約を追加します。

NET "sys_rst" IOSTANDARD = SSTL15 | TIG;

g. ビデオおよびビデオ I2C ピン配置に対して、 次の I/O 位置 (LOC) 制約を追加します。

NET dvi_out_reset_n LOC = AP17;NET dvi_out_de LOC = AD16;NET dvi_out_vsync LOC = AD15;NET dvi_out_hsync LOC = AN17;NET dvi_out_clk_p LOC = AC18;NET dvi_out_clk_n LOC = AC17;NET dvi_out_data(0) LOC = AJ19;NET dvi_out_data(1) LOC = AH19;NET dvi_out_data(2) LOC = AM17;NET dvi_out_data(3) LOC = AM16;NET dvi_out_data(4) LOC = AD17;NET dvi_out_data(5) LOC = AE17;NET dvi_out_data(6) LOC = AK18;NET dvi_out_data(7) LOC = AK17;NET dvi_out_data(8) LOC = AE18;NET dvi_out_data(9) LOC = AF18;NET dvi_out_data(10) LOC = AL16;NET dvi_out_data(11) LOC = AK16;NET video_out_scl LOC = AN10;NET video_out_sda LOC = AP10;

44. 差異レポート と、 左側ペインに表示される変更済みの system.ucf を比べて、 変更箇所を確認し

ます (手順 53)。

Page 38: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 38

45. system.ucf をプロジェク トに追加します。

a. [Project] → [Add Source] をク リ ッ ク します。

b. <user_dir>/system.ucf の保存場所に移動してファイルを選択し、 [Open] をク リ ッ ク し

ます。

c. インプリ メンテーシ ョ ンに system.ucf ファ イルを関連付け、 [OK] をク リ ッ ク します。

デザインへの AXI インターコネク トの追加

こ こでは、プロジェク トに AXI インターコネク ト IP ブロ ッ クを追加する手順を説明します。 AXI イン

ターコネク ト IP コアの詳細は、 『LogiCORE AXI インターコネク ト IP』 データシート [参照 3] に記載

されています。 AXI インターコネク トのコンフ ィギュレーシ ョ ンおよび AXI システムの最適化プロセ

スについては、 『AXI リ フ ァレンス ガイ ド』 [参照 2] の 「AXI システムの最適化の検討事項と ヒ ン ト 」

の章で解説しています。

46. [Project] → [New Source] をク リ ッ ク して、 システムに新規 IP コアを追加します (図 54)。

X-Ref Target - Figure 53

図 53 : system.ucf ファイルの変更

XAPP739_53_083111

Page 39: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 39

47. [Select Source Type] ページで [IP] を選択して [File name] に 「AXI4」 と入力し、 [Location] はデ

フォルトの <user_dir>/ipcore_dir のままにします。 [Next] をク リ ッ ク します (図 55)。

X-Ref Target - Figure 54

図 54 : Project Navigator での新規ソースの作成

X-Ref Target - Figure 55

図 55 : New Source Wizard - [Select Source Type] ページ

XAPP739_54_082911

XAPP739_55_082911

Page 40: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 40

48. [Select IP] ページで [View by Function] タブをク リ ッ ク し、 IP カタログで [AXI Infrastructure] →[AXI Interconnect] (Version 1.03 a) をク リ ッ ク します。 [Next] をク リ ッ ク します (図 56)。

注記 : GUI にはバージ ョ ン番号が表示されない場合があ り ます。

49. [Summary] ページで設定を確認し、 [Finish] をク リ ッ ク します。 以上によって AXI インターコネ

ク トの CORE Generator ツール プロジェク トが作成され、 IP コンフ ィギュレーシ ョ ン GUI が表示

されます (図 57)。

X-Ref Target - Figure 56

図 56 : New Source Wizard - [Select IP] ページ

X-Ref Target - Figure 57

図 57 : New Source Wizard - [Summary] ページ

XAPP739_56_082911

XAPP739_57_082911

Page 41: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 41

50. AXI インターコネク ト IP のコンフ ィギュレーシ ョ ン GUI (図 58) を使用して、 4 つのマスター エン ドポイン ト コアから 1 つのスレーブへの接続をサポート できるよ うに IP コアをコンフ ィギュ

レーシ ョ ンします。各 AXI_VDMA には独立した読み出し専用および書き込み専用インターフェイ

スが含まれるため、 両方の AXI_VDMA 間に、 合計 4 つの AXI マスターが存在するこ とになり ま

す。 AXI インターコネク トには、 次の設定を使用します。

• [Number of Slave Interfaces] : 4

この設定によ り、 4 つの AXI マスター エンドポイン トがインターコネク トに接続できるよ う

にな り ます。

• [Slave Interface Thread ID Width] : 0

AXI_VDMA マスターは ID を生成しないため、 0 に設定します。 ID フ ィールドを使用しない

スレーブ インターフェイスが 4 つ存在するこ とから、 [Master Interface ID Width] の値は 4 になり ます。 これらの ID フ ィールドは、 適切な AXI インターコネク ト スレーブ インターフェ

イスおよびこれに接続された AXI DMA に応答を返す経路を設定するために使用されます。

• [Address Width] : 32

MIG ツールのアドレス幅設定に適合させます。

• [Interconnect Internal Data Width] : 256

MIG ツールの AXI インターフェイス データ幅に適合させます。

注記 : この値を 256 ビッ ト よ り も小さ くする と、 MIG ツールと AXI インターコネク ト間にス

ループッ トのボ トルネッ クが生じます。 この値を 256 ビッ ト よ り も大き くする と、不必要にエ

リ アを増大させます。

• [Period of Interconnect_ACLK in PS] : 5000ps

MIG ツールの AXI インターフェ イ ス と同じ ク ロ ッ ク周波数の 200MHz で動作する よ う に

AXI インターコネク ト を設定します。

注記 : AXI インターコネク トは、その接続先である AXI MIG の 256 ビッ ト × 200MHz の AXIインターフェイスに適合するよ うにコンフ ィギュレーシ ョ ンされます。 これによって、 システ

ム性能が最適化され、 必要な幅変換やクロ ッ ク変換が少なくな り ます。

X-Ref Target - Figure 58

図 58 : AXI インターコネク トのグローバル設定

XAPP739_58_083111

Page 42: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 42

51. AXI インターコネク ト IP コンフ ィギュレーシ ョ ン GUI の 2 ページ目を、 次のよ うに設定します (図 59)。

• [Master Interface] の [Data Width] : 256 ビッ ト

MIG のスレーブ AXI インターフェイス幅に適合させます。

• [Slave Interface] の [Data Width] : 32 ビッ ト

各 AXI_VDMA マスターの AXI インターフェイス幅に適合させます。

• [Slave Interface] 0 ~ 3 の [Is Aclk Async] : オン

AXI VDMA マスターへのスレーブ インターフェイスにはクロ ッ ク コンバーターが必要です (該当するチェ ッ ク ボッ クスをオン)。 AXI VDMA マスターが 75MHz で動作するのに対し、

AXI インターコネク トは 200MHz で動作するためです。

• このシステムは比較的シンプルであるため、 [Register Slices] はオンにしません。 ただし、 タ

イ ミ ング要件を満たせない場合は、レジスタ スライスのパイプライン化が必要になる場合があ

り ます。

52. AXI インターコネク トの IP コンフ ィギュレーシ ョ ン GUI の 3 ページ目を、次のよ うに設定します (図 60)。

• [Slave Interface 0] と [Slave Interface 2] は、AXI_VDMA の MM2S AXI インターフェイスに

接続するために、 読み出し専用 ([READ-ONLY]) にします。

• [Slave Interface 1] と [Slave Interface 3] は、AXI_VDMA の S2MM AXI インターフェイスに

接続するために、 書き込み専用 ([WRITE-ONLY]) にします。

• 『AXI リ ファレンス ガイ ド』 [参照 2] の AXI 最適化の章で説明している とおり、 AXI_VDMAは比較的長いバース ト を使用するため、受け入れ数を 2 にするこ とでパイプライン化された ト

ランザクシ ョ ンのサポート を可能にする と同時に、 エ リ アを最小化できます。 メモ リ コン ト

ローラーに対するマスター インターフェイスでは、 これよ り も大きな受け入れ数 16 を使用す

るこ とで、 メモ リ コン ト ローラーに対する ト ランザクシ ョ ンを可能な限り多くパイプライン化

して、 スループッ ト を最大化します。

• 『AXI リ ファレンス ガイ ド』 [参照 2] の AXI 最適化の章で説明している とおり、スレーブ イン

ターフェイスの ブロ ッ ク RAM FIFO を有効にするこ とでスループッ ト を改善し、AXI MIG より も低速のスループッ トで動作する AXI マスターによって生じるパフォーマンス ボ トルネッ

クを軽減できます。

[Generate] をク リ ッ ク します。

X-Ref Target - Figure 59

図 59 : AXI インターコネク トの設定

XAPP739_59_083111XAPP739_59_083

Page 43: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 43

注記 : [Generate] のク リ ッ ク後、コアが生成されて Project Navigator GUI のアイ ドル状態に戻るま

でに数分を要します。

53. Project Navigator の [Hierarchy] ペインで [axi4] インスタンスを選択します。次に [Processes] ペイ

ンで [CORE Generator] をダブルク リ ッ ク した後、 [View HDL Instantiation Template] をク リ ッ ク

します (図 61)。

X-Ref Target - Figure 60

図 60 : AXI インターコネク トの設定 (続き)

X-Ref Target - Figure 61

図 61 : AXI インターコネク ト IP コアの HDL インスタンシエーシ ョ ン テンプレートの表示

XAPP739_60_082911

XAPP739_61_082911

Page 44: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 44

54. 得られるテンプレート を <user_dir>/system.v ファイルに追加します。 時間を節約するために、

設定済みの <design_dir>/projnav/system.v ファイルを使用するこ と も可能です。 MIG IP コア と AXI イ ン ターコネ ク ト 間の接続を設定するために system.v を編集する場合は、

<user_dir>/system.v ファイルを使用してください。必要に応じて HDL ワイヤ を定義して、 そ

れらを表 2 に従って接続します。

デザインへの Clocking Wizard の追加

AXI MIG コアには内部に専用のクロッ ク生成およびリセッ ト ロジッ クが含まれるため、CORE Generatorツールの Clocking Wizard による生成が必要となるのは 75MHz のビデオ クロ ッ クのみです。 MIG ツー

ルは、 Clocking Wizard の入力クロ ッ ク と して使用可能な 200MHz のクロ ッ クを ui_clk ポート を介して

出力します。

55. [Project] → [New Source] をク リ ッ ク後、 [IP (CORE Generator & Architecture Wizard)] をク リ ッ

ク して、 ファ イル名と して clock_generator を指定します (図 62)。

表 2 : AXI インターコネク ト を追加した system.v 内の接続

接続元 接続先

IP コア ポート名 IP コア ポート名

AXI インターコネク ト M00_AXI_* MIG s_axi_*

MIG ui_clk (200MHz) AXI インターコネク ト INTERCONNECT_ACLK

X-Ref Target - Figure 62

図 62 : New Source Wizard - [Select Source Type] ページ

XAPP739_62_082911

Page 45: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 45

56. [View by Function] タブをク リ ッ ク し、 [FPGA Features and Design] → [Clocking] → [ClockingWizard] (Version 3.2) をク リ ッ ク します。 [Next] をク リ ッ ク して [Summary] ページに進みます (図 63)。

注記 : GUI にはバージ ョ ン番号が表示されない場合があ り ます。

X-Ref Target - Figure 63

図 63 : New Source Wizard - [Select IP] ページ

XAPP739_63_083111

Page 46: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 46

57. [Finish] をク リ ッ ク して、 Clocking Wizard のコンフ ィギュレーシ ョ ン GUI 画面に進みます (図 64)。

58. [Clocking Features/Input Clocks] ページを、 次のよ うに設定します (図 65)。

• [Frequency Synthesis] : オン

• [Input Clock] の [primary] : 200.000MHz

• [Source] : No buffer

• [Phase alignment] : オフ

[Next] をク リ ッ ク します。

X-Ref Target - Figure 64

図 64 : New Source Wizard - [Summary] ページ

XAPP739_64_082911

Page 47: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 47

59. [Output Clock Settings] ページを、 次のよ うに設定します (図 66)。

• [CLK_OUT1] の出力周波数 ([Output Freq]) に [75MHz] を選択します。

• [Drives] プルダウン メニューから、 グローバル ク ロ ッ ク バッファーの [BUFG] をク リ ッ ク し

ます。

[Next] をク リ ッ ク します。

X-Ref Target - Figure 65

図 65 : Clocking Wizard の [Clocking Features/Input Clocks] ページ

X-Ref Target - Figure 66

図 66 : Clocking Wizard の [Output Clock Settings] ページ

XAPP739_65_082911

XAPP739_66_082911

Page 48: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 48

60. [RESET] および [LOCKED] 信号を有効にして [Next] をク リ ッ ク します (図 67)。X-Ref Target - Figure 67

図 67 : Clocking Wizard の [I/O and Feedback] 設定ページ

XAPP739_67_082911

Page 49: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 49

61. [MMCM_ADV Settings] ページを確認して [Next] をク リ ッ ク します (図 68)。X-Ref Target - Figure 68

図 68 : Clocking Wizard の [MMCM_ADV Settings] ページ

XAPP739_68_082911

Page 50: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 50

62. [Clock Summary, Port Naming] ページで、プライマ リ入力クロ ッ クの名前に 「CLK_IN1」 と入力し

て [Next] をク リ ッ ク します (図 69)。X-Ref Target - Figure 69

図 69 : Clocking Wizard の [Clock Summary, Port Naming] 設定ページ

XAPP739_69_082911

Page 51: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 51

63. [Core Summary] ページの設定と出力ファイルを確認し、 [Generate] をク リ ッ ク してウ ィザードを

終了します (図 70)。X-Ref Target - Figure 70

図 70 : Clocking Wizard の [Core Summary] ページ

XAPP739_70_082911

Page 52: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 52

64. Project Navigator の [Hierarchy] ペインで [clock_generator] インスタンスを選択します。 次に

[Processes] ペインで [CORE Generator] → [View HDL Instantiation Template] をダブルク リ ッ ク し

ます (図 71)。

65. 得られるテンプレート を <user_dir>/system.v ファイルに追加します。 時間を節約するために、

設定済みの <design_dir>/projnav/system.v ファイルを使用するこ と も可能です。

clock_generator への接続を設定するために system.v を編集する場合は、<user_dir>/system.v

ファイルを使用してください。HDL ワイヤを定義して、それらを表 3 に従ってポートに接続します。

X-Ref Target - Figure 71

図 71 : Project Navigator による CORE Generator IP インスタンシエーシ ョ ン テンプレートの表示

表 3 : クロック ジェネレーターを追加した system.v 内の接続

接続元 接続先

IP コア ポート名 IP コア ポート名

MIG ui_clk (200MHz) Clock Generator CLK_IN1

MIG ui_clk_sync_rst Clock Generator RESET

Clock Generator LOCKED AXI インターコネク ト INTERCONNECT_ARESETN

Clock Generator CLK_OUT1 (75MHz) AXI インターコネク ト S0*_AXI_ACLK

注記 :

clock_generator の LOCKED 出力によって AXI インターコネク トの INTERCONNECT_ARESETN 入力を駆動するこ とで、 ミ ッ クスモード ク ロ ッ ク マネージャー (MMCM) で生成されたクロ ッ クがすべてロッ ク されるまで、 インターコネク トの リセッ トが解除されないよ うにします。

XAPP739_71_083111

Page 53: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 53

デザインへの AXI VDMA の追加

こ こでは、 デザイ ンに両 AXI_VDMA コアを生成する方法について説明し ます。 VDMA_0 は、

master_example コアからビデオ データを受信し、 DDR3 メモリに格納します。 VDMA_0 はビデオ デー

タを メモ リから再び読み出し、 これを AXI4-Stream チャネルを介して VDMA_1 へとループさせます。

VDMA_1 はデータをメモリに書き込み、再びこれを読み出して、表示のために axi_stream_slave_exampleブロ ッ クに供給します。 このデザインでは、 両方の AXI VDMA コアをまったく同じコンフ ィギュレー

シ ョ ンに設定します。

66. [Project] → [New Source] をク リ ッ ク後、 [IP (CORE Generator & Architecture Wizard)] をク リ ッ

ク して、 ファ イル名と して vdma を指定します。 [Next] をク リ ッ ク します (図 72)。X-Ref Target - Figure 72

図 72 : New Source Wizard - [Select Source Type] ページ

XAPP739_72_082911

Page 54: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 54

67. [View by Function] タブをク リ ッ ク し、[AXI Infrastructure] → [AXI Video Direct Memory Access](Version 3.1) をク リ ッ ク して [Next] をク リ ッ ク します (図 73)。

注記 : GUI にはバージ ョ ン番号が表示されない場合があ り ます。

X-Ref Target - Figure 73

図 73 : New Source Wizard - [Select IP] ページ

XAPP739_73_082911

Page 55: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 55

68. [Summary] ページの内容を確認して、 [Finish] をク リ ッ ク します (図 74)。

VDMA のコンフ ィギュレーシ ョ ン

VDMA は、妥当なパフォーマンスを引き出せる設定のビデオ フレーム バッファーと して機能するよ う

にコンフ ィギュレーシ ョ ンされます。こ こでは AXI VDMA のコンフ ィギュレーシ ョ ン方法を示します。

69. 図 75 と、 この図の後に記載された リ ス トに従って設定します。

X-Ref Target - Figure 74

図 74 : New Source Wizard - [Summary] ページ

XAPP739_74_082911

Page 56: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 56

a. [Frame Stores] : 3

これによ り、必要なフレーム バッファー数が範囲内の最大値に設定され、各バッファーに対応

してコンフ ィギュレーシ ョ ン レジスタが生成されます。 このデザインの場合、 フレーム バッ

ファーが 3 つあればバッファー機能と しては十分であ り、 チャネルの上書きや古いデータの読

み出しを発生させずに、 MM2S チャネルからのデータ読み出しおよび S2MM チャネルへの

データ書き込みを実行できます。

b. [Enable Scatter Gather Engine] : オフ

スキャ ッ ター /ギャザー動作を有効にするには、 通常、 バッファー記述子を提供および維持す

るためにプロセッサまたは追加のステート マシンが必要になり ます。 このデザインでは、簡素

な AXI4 Lite マスターが、 AXI4 Lite スレーブ インターフェイスを介して VDMA を直接コン

フ ィギュレーシ ョ ンします。 ビデオ転送パラ メーターの hsize、 フレーム遅延、 ス ト ラ イ ド、開

始アド レスの書き込み後、 vsize を書き込むとビデオ転送が開始されます。 転送は、 フレーム

同期信号によって、 各インターフェイスで上書きや古いデータの読み出しが発生しないよ うに

しながら、 無期限に継続します。

c. [Enable Video Parameter Reads] : オフ

ビデオ転送パラ メーターの vsize、 hsize、 フレーム遅延、 ス ト ラ イ ド、 開始アドレスの読み出

し用マルチプレクサーによって、 AXI4 Lite スレーブ インターフェイスを介したレジスタ読み

出しが可能になり ます。 このデザインは VDMA レジスタを読み出さないため、 この機能を無

効にして FPGA リ ソースの使用率を下げるこ とができます。

d. [Use Frame Sync] : オン

この機能によ り、 VDMA のフレーム レートが、 接続先のビデオ エンドポイン ト IP に同期し

ます。

X-Ref Target - Figure 75

図 75 : VDMA IP コンフ ィギュレーシ ョ ン GUI

XAPP739_75_082911

Page 57: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 57

e. [Interrupt Delay Timer Resolution] : 125

遅延割り込み用の遅延タイマーの分解能を設定します。 このデザインでは VDMA 割り込みを

使用しないため、 この設定はデフォルト値のままにします。

f. [Enable Asynchronous Clocks] : オフ

このデザインの VDMA 機能は、 すべてが同じ 75MHz ク ロ ッ クに基づいて動作します。 AXIインターコネク トでは、 200MHz の DDR3 AXI インターフェイスへの非同期クロ ッ ク ク ロ ッ

シングが発生します。 VDMA を同期モードで動作させるこ とで、 VDMA の FPGA リ ソース

使用率を低減できます。

g. MM2S と S2MM 両方の [Enable Channel] : オン。

これらは、 それぞれメモ リマップ方式 (AXI4 読み出し) から AXI4-Stream、 AXI4-Stream から メモ リマップ方式 (AXI4 書き込み) に対応しています。

h. MM2S と S2MM インターフェイス両方の [Memory Map Data Width] : 32

ビデオ エンドポイン トのデータパス幅に適合させた設定です。

i. 両チャネルの [Allow Unaligned Transfers] : オフ

このデザインでは、 すべてのビデオ ラインおよびフレームが 32 ビッ トのワード境界に揃えら

れています。 そのため、 VDMA 内のデータ リ アラ イン メン ト エンジンは不要です。 リ アライ

ン メン ト エンジンを無効のままにしておく こ とで、 FPGA リ ソースの使用率を低減できます。

j. 両チャネルの [Enable Store and Forward] : オン

このバッファ リ ングを有効にする と、 VDMA は AXI4 に対して、 ただちに完了できる読み出

し要求または書き込み要求だけを送信するよ うにコンフ ィギュレーシ ョ ンされます。 この機能

は、VDMA が AXI4 へのアクセスを長期にわたって不必要にブロ ッ クするこ とを防止します。

k. [Maximum Burst Size] : 128

VDMA 用に幾分大きめの AXI4 バース ト サイズを設定します。 128 という設定によ り、 ビデ

オ データのオーバーランやアンダーランを防ぐ、 よ り高い帯域幅が得られます。 [MaximumBurst Size] を大きめに設定するこ とで、DDR3 メモ リの使用率も向上します。DDR3 メモ リに

は 256 ビッ ト幅の AXI4 スレーブ インターフェイスがあ り、 効率を上げるには長いバース ト

が必要です。 ただし、 バース ト長を大き くする と、 システムのほかのマスターのレイテンシが

増加する可能性があ り ます。 デザインにおけるこのよ う な ト レードオフについては、 『AXI リ

ファレンス ガイ ド』 [参照 2] で検討しています。

l. MM2S と S2MM チャネル間のフレーム レベルの同期を保ち、 各インターフェイスで上書き

や古いデータの読み出しが発生しないよ うに、 Gen-Lock モードを使用します。 このデザイン

では、 各 VDMA の S2MM チャネルの [Gen-Lock Mode] を [Master] に設定し、 MM2S チャ

ネルの [Gen-Lock Mode] は [Number of Masters] が 1 の [Slave] に設定します。

m. [Line Buffer Depth] : 2048

VDMA のライン バッファーが有効になり、 その深さが 2048 バイ トに設定されます。 ラ イン

バッファーは、AXI4-Stream と これに対応する AXI4 インターフェイス間にある程度の柔軟性

を与え、 VDMA から AXI4-Stream 上へのプッシュバッ クを防止するのに十分なバッファー機

能が得られます。

n. [Line Buffer Threshold] : 1024

ライン バッファーのしきい値は、MM2S がほぼ空であるこ と、および S2MM がほぼフルであ

るこ とを知らせるフラグの基準値です。 これらの機能は、MM2S で受信を開始するのに十分な

データがバッ フ ァ リ ング されたこ と、 あるいは S2MM で送信を開始するのに十分なバッ

ファー領域の空きが確保されたこ とを知らせるために、 ビデオ IP が使用する場合があ り ます。

このデザインでは、 ほぼフルおよびほぼ空を示すフラグを使用しないため、 任意の設定である

1024 を選びました。

Page 58: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 58

[Generate] をク リ ッ ク します。

70. Project Navigator の [Hierarchy] ペインで axi_vdma インスタンスを選択します。 [Processes] ペイ

ンで [CORE Generator] → [View HDL Instantiation Template] をダブルク リ ッ ク します (図 76)。

71. 得られる Verilog テンプレート を、 axi_vdma_0 および axi_vdma_1 インスタンス と して、

<user_dir>/system.v ファ イルに 2 回追加します。 時間を節約するために、 設定済みの <design_dir>/projnav/system.v ファ イルを使用するこ と も可能です。

注記 : system.v を更新して保存する こ と で axi_vdma を 2 回イ ンス タ ンシエー ト した場合、

Project Navigator の [Hierarchy] ペイ ンには、 同じ vdma.xco フ ァ イル名が関連付け られた、

axi_vdma_0 と axi_vdma_1 の両方のインスタンスが表示されます。VDMA への接続を設定するた

めに system.v を編集する場合は、 <user_dir>/system.v ファ イルを使用して ください。 HDLワイヤを定義して、 それらを表 4 に従って接続します。

X-Ref Target - Figure 76

図 76 : Project Navigator による CORE Generator IP インスタンシエーシ ョ ン テンプレートの表示 (system.v の更新前)

表 4 : VDMA を追加した system.v 内の接続

接続元 接続先

IP コア ポート名 IP コア ポート名

AXI_VDMA_0 m_axi_mm2s_* AXI インターコネク ト S00_AXI_* (read-only)

AXI_VDMA_1 m_axi_mm2s_* AXI インターコネク ト S02_AXI_* (read-only)

XAPP739_76_082911

Page 59: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 59

AXI VDMA のコンフ ィギュレーシ ョ ン用 AXI4-Lite マスターの追加

各 AXI VDMA は、起動時に 1280x720p ビデオ フレームに対する循環フレーム バッファーと して動作

するよ うにコンフ ィギュレーシ ョ ンする必要があ り ます。 また、 制御レジスタをコンフ ィギュレーシ ョ

ンするための AXI4-Lite スレーブ インターフェイスを備えています。 このシステムでは、 2 つの簡単な

書き込み専用 AXI4-Lite マスターをインスタンシエート しています。 各 AXI4-Lite マスターの内部に

は、 AXI VDMA ブロ ッ クを適切にコンフ ィギュレーシ ョ ンするための、 固定された書き込みコマンド

シーケンスを実行するステート マシンがあ り ます。AXI4-Lite マスター IP ブロ ッ クは、AXI VDMA 制御インターフェイスごとに個別に直接接続されます。

72. [Project] → [Add Source] をク リ ッ ク して、axi_lite マスターのソース コードをシステムに追加しま

す (図 77)。

AXI_VDMA_0 m_axi_s2mm_* AXI インターコネク ト S01_AXI_* (write-only)

AXI_VDMA_1 m_axi_s2mm_* AXI インターコネク ト S03_AXI_* (write-only)

AXI_VDMA_0 s_axis_mm2s_* AXI_VDMA_1 s_axis_s2mm_*

Clock Generator CLK_OUT1 (75MHz) AXI_VDMA_* *aclk

AXI インターコネク ト S00_AXI_ARESET_OUT_N AXI_VDMA_0 axi_resetn

AXI インターコネク ト S02_AXI_ARESET_OUT_N AXI_VDMA_1 axi_resetn

注記 :

AXI インターコネク トの未使用ポート 「S0*_AXI_*」 は、 読み出し専用または書き込み専用ポートに設定されたこ とで使用しな くなった AXI 読み出しまたは書き込み方向に対応したポートであるため、 未接続のままでかまいません。

X-Ref Target - Figure 77

図 77 : Project Navigator へのソース ファイルの追加

表 4 : VDMA を追加した system.v 内の接続 (続き)

接続元 接続先

IP コア ポート名 IP コア ポート名

XAPP739_77_082911

Page 60: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 60

73. [Add Source] ダイアログ ボッ クスで <user_dir>/ipcore_example/ ディ レク ト リ に移動し、

axi_lite_master_vdma_0.v および axi_lite_master_vdma_1.v を追加します。[Open] をク リ ッ ク します (図 78)。

X-Ref Target - Figure 78

図 78 : [Add Source] ダイアログ ボックス

XAPP739_78_082911

Page 61: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 61

74. [Association] プルダウン メニューから [All] をク リ ッ ク します。 [Library] の列に [work] を選択し

て、 [OK] をク リ ッ ク します。 これによって、 ソース コードがシ ミ ュレーシ ョ ンと合成に関連付け

られます。 これらのファイルは、 Project Navigator から参照できます。 ファ イルをダブルク リ ッ ク

するこ とで、AXI4-Lite マスターのサンプルに対するソース コードが表示されます。ソース コード

には、 適切な動作のための AXI VDMA 制御レジスタのコンフ ィギュレーシ ョ ン用に、 どちらの

AXI VDMA レジスタ アクセスが生成されるかも記述されています (図 79)。X-Ref Target - Figure 79

図 79 : 新しいソース ファイルの関連付けの選択

XAPP739_79_083111

Page 62: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 62

75. Project Navigator の [Hierarchy] ペインで axi_lite_master_vdma_0 を選択します。 次に、

[Processes] ペインで [Design Utilities] → [View HDL Instantiation Template] をダブルク リ ッ ク し

ます (図 80)。

76. Project Navigator のエディ ター ウ ィンド ウで axi_lite_master_vdma_0 のインスタンシエーシ ョ ン

テンプレート をコピーし、 <user_dir>/system.v ファ イルに挿入します。 時間を節約するため

に、 設定済みの <design_dir>/projnav/system.v ファ イルを使用するこ と も可能です。

X-Ref Target - Figure 80

図 80 : Project Navigator による CORE Generator IP インスタンシエーシ ョ ン テンプレートの表示 (axi_lite_master_vdma_0)

XAPP739_80_083111

Page 63: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 63

77. 以上のプロセスを、 も う一方の AXI4-Lite マスターに対しても繰り返します。 Project Navigator の[Hierarchy] ペインで axi_lite_master_vdma_1 を選択します。 次に、 [Processes] ペインで [DesignUtilities] → [View HDL Instantiation Template] をク リ ッ ク します (図 81)。

78. Project Navigator のエディ ター ウ ィンド ウで axi_lite_master_vdma_1 のインスタンシエーシ ョ ン

テンプレート をコピーし、 <user_dir>/system.v ファ イルに挿入します。 時間を節約するため

に、 設定済みの <design_dir>/projnav/system.v ファ イルを使用するこ と も可能です。

79. axi_lite マスターへの接続を設定するために system.v を編集する場合は、<user_dir>/system.v

ファイルを使用してください。 HDL ワイヤを定義して、 それらを表 5 に従って接続します。

X-Ref Target - Figure 81

図 81 : Project Navigator による CORE Generator IP インスタンシエーシ ョ ン テンプレートの表示 (axi_lite_master_vdma_1)

XAPP739_81_083111

表 5 : axi_lite マスターを追加した system.v 内の接続

接続元 接続先

IP コア ポート名 IP コア ポート名

Clock Generator CLK_OUT1 (75MHz) axi_lite_master_vdma_* M_AXI_ACLK

AXI インターコネク ト S00_AXI_ARESET_OUT_N axi_lite_master_vdma_0 M_AXI_ARESETN

AXI インターコネク ト S02_AXI_ARESET_OUT_N axi_lite_master_vdma_1 M_AXI_ARESETN

axi_lite_master_vdma_0 M_AXI_* AXI_VDMA_0 s_axi_lite_*

axi_lite_master_vdma_1 M_AXI_* AXI_VDMA_1 s_axi_lite_*

MIG phy_init_done axi_lite_master_vdma_* DDRX_PHY_INIT_DONE

Page 64: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 64

AXI4-Stream テスト パターン ジェネレーター (TPG) の追加

AXI VDMA 0 を駆動する AXI4-Stream のソースは、タイムベース ジェネレーター (ビデオ フレーム同

期信号を生成) を備えたビデオ テス ト パターン ジェネレーターです。 TPG ブロ ッ クは固定ネッ ト リ ス

ト と して提供されます。 この固定ネッ ト リ ス トは、 AXI4-Stream プロ ト コルを使用して、 AXI VDMA0 に 1280x720p、 60Hz のビデオ パターンを送信するよ うにコンフ ィギュレーシ ョ ンされています。

このデザインの AXI TPG は、 AXI VDMA の 32 ビッ ト幅のデータパスに 24 ビッ トの RGB データを

パディングして転送します。 AXI VDMA と AXI MPMC のデータパスは、 32 ビッ トの RGBA および

YUVA データを転送するこ と もできます。

80. [Project] → [Add Source] をク リ ッ ク して、AXI4-Stream TPG マスターのソース コードをシステム

に追加します (図 82)。X-Ref Target - Figure 82

図 82 : Project Navigator へのソース ファイルの追加

XAPP739_82_082911

Page 65: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 65

81. [Add Source] ダイアログ ボッ クスで <user_dir>/ipcore_example/ ディ レク ト リ に移動し、

axis_master_example_0_wrapper_synth.v、 axis_master_example.ngc、

axis_master_example.v を追加します (図 83)。 [Open] をク リ ッ ク します。

X-Ref Target - Figure 83

図 83 : [Add Source] ダイアログ ボックス

XAPP739_83_082911

Page 66: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 66

82. 次の図のよ うにこれらのファイルを関連付け、 [OK] をク リ ッ ク します。 ソース コードが、 必要に

応じてシ ミ ュレーシ ョ ンと合成に関連付けられます。

axis_master_example_0_wrapper_synth.v および axis_master_example.ngc は、 コア

の HDL によるブラ ッ クボッ ク ス定義とネッ ト リ ス ト を定義します。 axis_master_example.v

は、 IP のネッ ト リ ス トに基づく HDL シ ミ ュレーシ ョ ン モデルです (図 84)。

83. Project Navigator の [Hierarchy] ペインで axis_master_example を選択します。 次に、 [Processes]ペインで [Design Utilities] → [View HDL Instantiation Template] をダブルク リ ッ ク します (図 85)。

X-Ref Target - Figure 84

図 84 : 新しいソース ファイルの関連付けの選択

XAPP739_84_082911

Page 67: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 67

84. Project Navigator のエディ ター ウ ィンド ウで axis_master_example のインスタンシエーシ ョ ン テン

プレート をコピーし、 <user_dir>/system.v ファイルに挿入します。 時間を節約するために、 設

定済みの <design_dir>/projnav/system.v ファイルを使用するこ と も可能です。AXI4-StreamTPG マスターへの接続を設定するために system.v を編集する場合は、 <user_dir>/system.v

ファイルを使用してください。 HDL ワイヤを定義して、 それらを表 6 に従って接続します。

X-Ref Target - Figure 85

図 85 : Project Navigator での CORE Generator IP インスタンシエーシ ョ ン テンプレートの表示 (axis_master_example)

XAPP739_85_082911

表 6 : AXI4-Stream TPG マスターを追加した system.v 内の接続

接続元 接続先

IP コア ポート名 IP コア ポート名

AXI4-Stream TPG (axis_master_example)

m_axis_* (m_axis_aresetn を除く )

AXI_VDMA_0 s_axis_s2mm

AXI_VDMA_0 s2mm_prmry_reset_out_n AXI4-Stream TPG (axis_master_example)

m_axis_aresetn

Clock Generator CLK_OUT1 (75MHz) AXI4-Stream TPG (axis_master_example)

aclk

AXI4-Stream TPG (axis_master_example)

fsync_o AXI_VDMA_0 s2mm_fsync

MIG phy_init_done AXI4-Stream TPG (axis_master_example)

DDRX_PHY_INIT_DONE

Page 68: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 68

AXI4-Stream DVI ディスプレイ コン ト ローラーの追加

AXI VDMA 1 は、 AXI4-Stream 出力を、 タイムベース ジェネレーター (ビデオ フレーム同期信号を生

成) を備えた DVI ディ スプレイ コン ト ローラーに送信します。 DVI ディ スプレイ コン ト ローラー ブロ ッ クには、ML605 ボード上の Chrontel CH7301 ビデオ チップをコンフ ィギュレーシ ョ ンする IIC ドラ イバーも含まれています。 この IP ブロ ッ クは固定ネッ ト リ ス ト と して提供されます。 この固定ネッ

ト リ ス トは、AXI VDMA 1 からの 1280x720p、60Hz の AXI4-Stream プロ ト コル ビデオ信号を、ML605ボード上で表示できるよ うにコンフ ィギュレーシ ョ ンされています。

85. [Project] → [Add Source] をク リ ッ ク して、AXI4-Stream DVI マスターのソース コードをシステム

に追加します (図 86)。X-Ref Target - Figure 86

図 86 : Project Navigator へのソース ファイルの追加

XAPP739_86_082911

Page 69: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 69

86. [Add Source] ダイアログ ボッ クスで <user_dir>/ipcore_example/ ディ レク ト リ に移動し、

axis_slave_example_0_wrapper_synth.v、 axis_slave_example.ngc、

axis_slave_example.v を追加します。 [Open] をク リ ッ ク します (図 87)。X-Ref Target - Figure 87

図 87 : [Add Source] ダイアログ ボックス

XAPP739_87_082911

Page 70: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 70

87. 図 88 のよ うにこれらのファイルを関連付け、 [OK] をク リ ッ ク します。 ソース コードが、 必要に

応じてシ ミ ュレーシ ョ ンと合成に関連付けられます。

axis_slave_example_0_wrapper_synth.v および axis_slave_example.ngc は、 コアの

HDL によるブラ ッ クボッ ク ス定義とネッ ト リ ス ト を定義します。 axis_slave_example.v は、

IP のネッ ト リ ス トに基づく HDL シ ミ ュレーシ ョ ン モデルです。

X-Ref Target - Figure 88

図 88 : 新しいソース ファイルの関連付けの選択

XAPP739_88_082911

Page 71: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 71

88. Project Navigator の [Hierarchy] ペインで axis_slave_example を選択します。次に、 [Processes] ペインで [Design Utilities] → [View HDL Instantiation Template] をダブルク リ ッ ク します (図 89)。

89. Project Navigator のエディ ター ウ ィンド ウで axis_slave_example のインスタンシエーシ ョ ン テン

プレート をコピーし、<user_dir>/system.v ファ イルに挿入します。時間を節約するために、設

定済みの <design_dir>/projnav/system.v ファ イルを使用するこ と も可能です。

AXI4-Stream DVI ディ スプレイ コン ト ローラー スレーブへの接続を設定するために system.vを編集する場合は、 <user_dir>/system.v ファ イルを使用してください。 HDL ワイヤを定義し

て、 それらを表 7 に従って接続します。

X-Ref Target - Figure 89

図 89 : ProjectNavigator による CORE Generator IP インスタンシエーシ ョ ン テンプレートの表示 (axis_slave_example)

XAPP739_89_082911

表 7 : AXI4-Stream DVI ディスプレイ コン トローラー スレーブを追加した system.v 内の接続

接続元 接続先

IP コア ポート名 IP コア ポート名

AXI_VDMA_1 m_axis_mm2s_* AXI4-Stream DVI (axis_slave_example)

m_axis_mm2s_*

AXI_VDMA_1 s2mm_prmry_reset_out_n AXI4-Stream DVI (axis_slave_example)

aresetn

Clock Generator CLK_OUT1 (75MHz) AXI4-Stream DVI (axis_slave_example)

aclk

AXI4-Stream DVI (axis_slave_example)

fsync_o AXI_VDMA_* mm2s_fsync

AXI4-Stream DVI (axis_slave_example)

fsync_o AXI_VDMA_1 s2mm_fsync

Page 72: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Project Navigator 新規プロジェク トからの AXI MPMC デザインの作成

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 72

system.v での SDA/SCL に対する IOBUF 接続

system.v では、 SDA/SCL に対して次のよ うに IOBUF を接続します。

IOBUF scl_iobuf ( .I ( SCL_O ), .IO ( video_out_scl ), .O ( SCL_I ), .T ( SCL_T ) );

IOBUF sda_iobuf ( .I ( SDA_O ), .IO ( video_out_sda ), .O ( SDA_I ), .T ( SDA_T ) );

リセッ ト

MIG DDR3 コン ト ローラーは、 専用のクロ ッ ク生成およびリセッ ト ロジッ クを備え、 ui_clk_sync_rstを介して リセッ ト信号を出力します。 この出力はシステムのほかの部分を リセッ トするために使用でき

ます。 ui_clk_sync_rst を、 clock_generator インスタンスのリセッ ト入力に接続してください。 75MHzク ロ ッ クで動作する、 ほかのコアの リ セッ ト には LOCKED 出力を使用し、 動作開始前に安定したク

ロ ッ クを確保できるよ うにする必要があ り ます。 AXI インターコネク トは、 マスターに同期リセッ ト信

号を供給します。AXI_VDMA は AXI4-Stream のマスターとスレーブ サンプル コアにリセッ ト信号を

供給します。

MIG phy_init_done AXI4-Stream DVI (axis_slave_example)

DDRX_PHY_INIT_DONE

AXI4-Stream DVI (axis_slave_example)

CHRONTEL_INIT_DONE (IIC の動作が完了するまで、

TPG と axi_lite マスターの起

動を阻止)

AXI4-Stream TPG (axis_master_example)

CHRONTEL_INIT_DONE

AXI4-Stream DVI (axis_slave_example)

CHRONTEL_INIT_DONE axi_lite_master_vdma_* CHRONTEL_INIT_DONE

AXI4-Stream DVI (axis_slave_example)

SDA/SCL* Top Level I/O Port 手動でインスタンシエート した IOBUF プリ ミ ティブを使用して

video_out_scl と video_out_sda の I/O ポートに接続。 72 ページの

「system.v での SDA/SCL に対す

る IOBUF 接続」 を参照。

AXI4-Stream DVI (axis_slave_example)

de、 vsync、 hsync、 dvi_data、dvi_clk_p、 dvi_clk_n

Top Level I/O Port dvi_out_de、 dvi_out_vsync、dvi_out_hsync、 dvi_out_data、dvi_out_clk_p、 dvi_out_clk_n

N/A N/A Top Level I/O Port dvi_out_reset_n (この出力ポート を

値 1 に駆動)

表 7 : AXI4-Stream DVI ディスプレイ コン トローラー スレーブを追加した system.v 内の接続 (続き)

接続元 接続先

IP コア ポート名 IP コア ポート名

Page 73: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

等価 XPS デザイン

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 73

システム接続

IP インスタンス と最上位 I/O 間の必要なシステム接続が完了したら、 最終的な system.v ファ イルを

ビッ ト ス ト リームに再構築できます。 新規プロジェク トからの AXI MPMC デザインの構築手順が適切

に完了しているかど うかは、 デザインを構築して、 それを 2 ページの 「ク イ ッ ク スタート 」 の手順に

従ってハードウェア上で動作させるこ とで確認できます。 適切に構築されていない場合やハードウェア

が正常に動作しなかった場合は、 デザインを <design_dir>/projnav に保存された元の生成済みデ

ザインと比べてください。

<design_dir>/projnav/ipcore_dir 内の system.v フ ァ イルおよび .xco フ ァ イルを、

<user_dir>/ipcore_dir 内の .xco ファ イルと比較して、 誤ってコンフ ィギュレーシ ョ ンされたコ

アがないかど うかを確認します。 ipcore_dir/DDR3_SDRAM ディレク ト リ も比較して、 MIG ファ イル

が正し く変更されているこ とを確認して ください。

注記 : デザインの合成中にエラーが発生し、「unknown module <axi_vdma>」 という メ ッセージが表

示された場合は、 2 ページの 「ク イ ッ ク スタート 」 で説明した回避策で対応します。

シミ ュレーシ ョ ン テストベンチ

このデザインは、シ ミ ュレーシ ョ ンをサポート していません。長いフレーム時間を伴う ビデオ デザイン

であるため、 複数のビデオ フレームのシ ミ ュレーシ ョ ンにシ ミ ュレータが対応しきれないためです。

等価 XPS デザイン

参考のために、 Xilinx Platform Studio (XPS) によるスタンドアロンの等価デザインも提供しています。

これは、 Project Navigator によるデザインと同じ IP と全体的な機能を備えていますが、 XPS ツールで

ビッ ト ス ト リームを構築できる、 XPS 用に完成されたデザインと して提供されます。図 90 に、 XPS デザイ ンのブロ ッ ク図を示し ます。 このデザイ ンは、 XPS ネイテ ィ ブの proc_sys_reset ブロ ッ ク と

clock_generator ブロ ッ クを使用している点、 および AXI4-Lite 接続用に、 よ り多くの AXI インターコ

ネク ト ブロ ッ クを使用している点が、Project Navigator によるデザインと異なり ます。AXI 接続を XPSによってモデル化する場合、AXI4-Lite マスターを各 VDMA に接続する AXI インターコネク ト ブロ ッ

クが必要になり ますが、 これらのロジッ クは実質的にはパススルーです。

X-Ref Target - Figure 90

図 90 : AXI MPMC システムの概略ブロック図 (EDK)

XAPP739_90_083111

AXI MIG

DDR3Memory

AXI VDMA 0AXI TPG

AXI4-Stream Master

VDMA 0 Config

AXI4-Lite Master

DVI Controller

DVI AXI4-Stream Slave

AXI Interconnect (1x1)

AX14 Slave AX14 Master

AX14 Master

AXI4-Stream Slave

AXI4-Stream Master

AXI4 Master (MM2S)

AXI4 Master (S2MM)

AXI4-Lite Slave

AXI VDMA 1AXI4-Stream Slave

AXI4-Stream Master

AXI4 Master (MM2S)

AXI4 Master (S2MM)

AXI4-Lite Slave

AXI Interconnect (4x1)

AXI4 Slave 0 (Read Only)

AXI4 Slave 1 (Write Only)

AXI4 Slave 2 (Read Only)

AXI4Master

AXI4Slave

AXI4 Slave 3 (Write Only)

VDMA 1 Config

AXI4-Lite Master

AXI Interconnect (1x1)

AX14 Slave

ClockGenerators

Proc_Sys_Reset

Page 74: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

リファレンス デザイン

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 74

このデザインは、XPS ツールの通常の構築フローによって再構築できます。XPS ツールの詳細は、『EDKコンセプト、 ツール、 テクニッ ク : 効率的なエンベデッ ドシステム構築をサポートするハンディガイ ド』 [参照 6] を参照してください。 EDK のプロジェク ト ファイルは、 <design_dir>/edk/system.xmp に保存されています。

リファレンス デザイン

このアプ リ ケーシ ョ ン ノートの リ ファレンス デザイン ファ イルは、 次のサイ トからダウンロードでき

ます。

https://secure.xilinx.com/webreg/clickthrough.do?cid=175135

表 8 にリ ファレンス デザインのチェッ ク リ ス ト を示します。

システムのリ ソース使用状況と クロ ッ ク周波数を表 9 にまとめました。 システムは ML605 ボード上の

XC6VLX240T-FF1156-1 FPGA のリ ソース と スピード グレードに合わせて設計されています。 これ以

外の FPGA デバイスまたはスピード グレードに対する特性評価は実施していません。

表 8 : リファレンス デザイン マト リ ックス

パラ メーター 内容

全般

開発元 ザイ リ ンクス

ターゲッ ト デバイス (ステッピング レベル、ES、製造、スピード グレード ) Virtex-6 FPGA

ソース コードの提供 あ り (ネッ ト リ ス ト で提供

される 2 ブロ ッ クを除く )

ソース コードの形式 Verilog

既存の リ フ ァ レンス デザイン、 アプ リ ケーシ ョ ン ノー ト、 サードパー

ティ、CORE Generator™ ツールからデザインへのコードまたは IP の使用

Project Navigator および EDK 用に提供された

リ ファレンス デザイン

シミ ュレーシ ョ ン

機能シ ミ ュレーシ ョ ンの実施 N/A (シ ミ ュ レーシ ョ ンは

サポートせず)

タイ ミ ング シ ミ ュレーシ ョ ンの実施 N/A (シ ミ ュ レーシ ョ ンは

サポートせず)

機能およびタイ ミ ング シ ミ ュレーシ ョ ン用のテス トベンチの利用 N/A (シ ミ ュ レーシ ョ ンは

サポートせず)

テス トベンチの形式 N/A (シ ミ ュ レーシ ョ ンは

サポートせず)

シ ミ ュレータのツールとバージ ョ ン N/A (シ ミ ュ レーシ ョ ンは

サポートせず)

SPICE/IBIS シ ミ ュレーシ ョ ンの実施 N/A (シ ミ ュ レーシ ョ ンは

サポートせず)

インプリ メンテーシ ョ ン

合成のツールとバージ ョ ン XST 13.2

インプ リ メンテーシ ョ ンのツールとバージ ョ ン ISE Design Suite 13.2 以上

スタティ ッ ク タイ ミ ング解析の実施 あ り (PAR/TRCE のタイ ミ

ングにパス)

ハードウェア検証

ハードウェア検証の実施 あ り

検証に使用したハード ウェア プラ ッ ト フォーム ML605 ボード

Page 75: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

リファレンス デザイン

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 75

注記 : AXI MPMC インターコネク ト と MIG ツールは高い性能を引き出せるよ うにコンフ ィギュレー

シ ョ ンされています。 システムにはエリ アではなく、 スループッ トに対して最適化されています。 シス

テムの AXI MPMC の部分は、 2 つの AXI VDMA マスターでは使用し切れないスループッ ト を提供し

ます。 したがって、 残りのスループッ トは、 AXI4 マスターを増設するなど、 システムの拡張に使用で

きます。 AXI MPMC をエリ ア、 タイ ミ ング、 スループッ ト、 レイテンシ、 使用しやすさなど、 さまざ

まな ト レードオフに対して最適化する方法の詳細は、 『AXI リ ファレンス ガイ ド』 [参照 2] を参照して

ください。

図 1 の各 IP コアのデバイス リ ソース使用状況の詳細を表 10 に示します。

注記 : 表 10 の情報は、 Project Navigator の [Design Summary] タブで [Design Overview] → [ModuleLevel Utilization] のレポート を選択して得られたものです。 この情報は、 マップ処理プロパティのオプ

シ ョ ンである、詳細マップ レポートの生成 (-detail) を有効にした場合にのみ生成されます。境界をまた

いだロジッ クの最適化、 モジュール間のロジッ ク共用などがあるため、 使用状況の情報は近似値です。

スラ イスには、 複数の IP コアおよび階層の基本要素が組み込まれています。 スラ イスは、 そこに組み

込まれた各基本要素が属するすべての階層モジュールごとにカウン ト されます。 このため、 モジュール

間にわたってスライス数を合計する際に、 重複してカウン ト される場合があ り ます。

表 9 : デバイスのリソース使用率

パラメーター 仕様/詳細

最大周波数 (スピード グレード表記) -1 200MHz

デバイスのリ ソース使用率

スライス数 8,650

スライスの LUT 数

18,375

スライス レジスタ数

25,445

GCLK バッファー数

4

ブロ ッ ク

RAM 数28

HDL 言語のサポート

DDR3 メモ リ コンフ ィギュレーシ ョ ン

ビデオ ク ロ ッ ク周波数

AXI インターコネク トおよび MIG のメ イン ク ロ ッキング

Verilog

64 ビッ ト 、 400MHz DDR3-SDRAM

75MHz

200MHz

表 10 : モジュール レベルのリソース使用率

IP コア インスタンス名 スライス数スライスの

LUT 数スライス レジスタ数

GCLK

バッファー数

ブロック RAM 数

AXI MIG DDR3_SDRAM 4100 6605 7787 3 0

AXI インターコネク ト axi4_0 3712 5980 9943 0 18

VDMA 0 Config axi_lite_master_vdma_0 14 26 14 0 0

VDMA 1 Config axi_lite_master_vdma_1 14 26 14 0 0

AXI VDMA 0 axi_vdma_0 1356 2222 2955 0 4

AXI VMDA 1 axi_vdma_1 1344 2190 2929 0 4

AXI TPG axis_master_example_0 429 903 1223 0 2

DVI Controller axis_slave_example_0 193 410 524 0 0

Clock Generator clock_generator_1 0 0 0 1 0

Page 76: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

まとめ

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 76

まとめ このアプリ ケーシ ョ ン ノートでは、Project Navigator ツールを用いて高性能 AXI MPMC (MIG および

AXI インターコネク ト ) システムを構築する手順を解説しました。 ハード ウェア上で実際に動作するシ

ステムを作成するために必要なツールの使用手順と設計上の検討事項を示しました。 AXI MPMC シス

テムは、 ビデオ フレームを DDR3 メモ リ を介して、 テス ト パターン ジェネレーター IP ブロ ッ クから

DVI ディ スプレイ IP ブロ ッ クまで転送する AXI VDMA IP コアによって動作します。 このシステムは

新規デザインのテンプレートおよびト レーニング用の資料と して使用できます。

参考資料 この文書では、 次の参考資料を使用しています。

1. UG406 : 『Virtex-6 FPGA メモ リ インターフェイス ソ リ ューシ ョ ン ユーザー ガイ ド』

2. UG761 : 『AXI リ ファレンス ガイ ド』

3. DS768 : 『LogiCORE AXI インターコネク ト IP』 データシート

4. ISE Design Suite (IDS) 13.2 マニュアルhttp://japan.xilinx.com/support/documentation/dt_ise13-2.htm

5. Virtex-6 FPGA ML605 評価キッ トhttp://japan.xilinx.com/products/boards/ml605/reference_designs.htm

6. UG683 : 『EDK コンセプ ト、 ツール、 テクニッ ク : 効率的なエンベデッ ドシステム構築をサポートするハンディガイ ド』

7. Advanced Microcontroller Bus Architecture (AMBA) ARM AXI4 仕様http://www.amba.com

改訂履歴 次の表に、 この文書の改訂履歴を示します。

Notice of Disclaimer

The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and useof Xilinx products. To the maximum extent permitted by applicable law: (1) Materials are made available"AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS,EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OFMERCHANTABILITY, 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 othertheory 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 lossor damage suffered as a result of any action brought by a third party) even if such damage or loss wasreasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes noobligation to correct any errors contained in the Materials or to notify you of updates to the Materials orto product specifications. You may not reproduce, modify, distribute, or publicly display the Materialswithout prior written consent. Certain products are subject to the terms and conditions of the LimitedWarranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject towarranty and support terms contained in a license issued to you by Xilinx. Xilinx products are notdesigned or intended to be fail-safe or for use in any application requiring fail-safe performance; youassume sole risk and liability for use of Xilinx products in Critical Applications:http://www.xilinx.com/warranty.htm#critapps.

日付 バージョ ン 改訂の内容

2011 年 9 月 23 日 1.0 初版リ リース

Page 77: AXI メモリ コントローラー - Xilinx...クイックスタート XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 2クイック スタート ここでは、完成されたプロジェクト

Notice of Disclaimer

XAPP739 (v1.0) 2011 年 9 月 23 日 japan.xilinx.com 77

本資料は英語版 (v1.0) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。

資料によっては英語版の更新に対応していないものがあ り ます。

日本語版は参考用と してご使用の上、 最新情報につきましては、 必ず最新英語版をご参照ください。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、

[email protected] までお知らせください。 いただきましたご意見を参考に早急に対応さ

せていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめ

ご了承ください。