アプリケーションノート : Zynq-7000 All Programmable SoC XAPP1185 (v1.0) 2013 年 11 月 18 日 ARM DS-5 ツールチェーンを使用した Zynq-7000 プラットフォームソフトウェアの開発著者 : Simon George Prushothaman Palanichamy 概要 この文書では ARM Development Studio 5 (DS-5) デザインスイートを使用して ARM Cortex -A9 プロセッサを搭載したザイリンクス Zynq-7000 All Programmable SoC 用ベアメタルソフトウェアの開発 ビルド デバッグを行う方法について説明します ここでは そのプロセスについて次の手順で解説します 1. ザイリンクス SDK : カスタムハードウェアデザインのボードサポートパッケージ (BSP) の作成 2. DS-5 ツール : BSP のインポートとビルド 3. DS-5 ツール : アプリケーションのビルド 4. ザイリンクス SDK および DS-5 ツール : Zynq デバイスの FSBL を ARMCC ビルドに変更 5. DS-5 ツール : Zynq デバイスのカスタムデザインのデバッガーターゲットを構成 はじめに この文書では 設計者が Zynq-7000 製品ファミリのアーキテクチャ ブートフロー および関連するザイリンクスデザインツールについての基本知識と ARM DS-5 ツールチェーンに関する基本知識を有していることを前提としています また 開発ホストのオペレーティングシステムは Windows としています このアプリケーションノートの手順を完了するには 次のホストベースのソフトウェアツールがインストールされている必要があります ザイリンクスソフトウェア開発キット (SDK) 2013.3 : このリンクからダウンロードできます ARM Development Studio 5 (DS-5) ツールスイート : このリンクからダウンロードできます 注記 : DS-5 ツールスイートは 30 日間の評価版が提供されています 現在 ザイリンクスは ARM 純正 C および C++ コンパイラのみをサポートしており DS-5 ツールスイートと共に配布される Linaro GCC はサポートしていません 関連するデザインファイル ザイリンクスが配布している 2013.3 スタンドアロンボードサポートパッケージおよび第一段階ブートローダー (FSBL) テンプレートをカスタマイズする必要があります このアプリケーションノートのデザインファイル ( このリンクから入手可能 ) は カスタマイズおよびアップデート済みのリポジトリを提供します デザインファイルには この文書の説明に従って DS-5 ツールで使用できる ターゲット初期化ファイルおよびサンプルリンカースクリプトも含まれています デザインファイルに含まれているスタンドアロン BSP は SDK 2013.3 から利用可能な standalone_v3_11_a とほぼ同様ですが インラインアセンブリ関数が多少変更されています デザインファイルをダウンロードし 解凍します ファイルを保存したディレクトリの名前と場所を書き留めておきます ツールの設定 このアプリケーションノートの手順では ザイリンクス SDK 環境内から ARM コンパイラツールチェーンを使用する必要があります したがって 対応する ARM 実行ファイルは DS-5 ツール環境および DS-5 ツールのコマンドプロンプト以外からも見えていなければなりません この可視性を確保するため Windows システム環境変数を図 1 に示すように変更します Copyright 2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. AMBA, AMBA Designer, ARM, ARM1176JZ-S, CoreSight, Cortex, and PrimeCell are trademarks of ARM in the EU and other countries. All other trademarks are the property of their respective owners. XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 1
手順 1 - ザイリンクス SDK : スタンドアロンボードサポートパッケージの作成 追加されたパス ( 図中のハイライト箇所 ) が実際のインストール位置と一致していることを確認してください X-Ref Target - Figure 1 図 1 : Windows システム環境変数の編集 手順 1 - ザイリンクス SDK : スタンドアロンボードサポートパッケージの作成 ザイリンクス SDK は 選択したハードウェアデザイン (Vivado Design Suite からインポートしたカスタマイズ済みデザイン または構築済みプラットフォーム ) に基づいて カスタマイズされた BSP を動的に生成します この生成された BSP には CPU コンプレックス固有の設定とスタートアップコードを集めたデータと共に ハードプロセッシングシステムとソフトプログラマブルロジックペリフェラル両方のプラットフォームアドレスおよび設定情報が含まれています つまり アプリケーションプロジェクトの作成時にリンクする必要がある情報は事実上すべて含まれています ザイリンクス SDK 環境で非常に重要な Library Generator (libgen) ユーティリティを使用して この BSP を作成する物理プロセスを完了します したがって ARM DS-5 ツール内での開発作業も この BSP を使用します ただし デフォルトのスタートアップファイルには GCC 固有のアセンブラコードが含まれているため カスタマイズが必要です このプロセスの一部は自動化されています このアプリケーションノートに含まれるデザインファイルでは このリリース用にスタートアップファイルにパッチが適用されます 次の手順に従って ザイリンクス SDK からパッチ適用済みのスタンドアロン BSP リポジトリをビルドします 1. ザイリンクス SDK を起動し ワークスペースを作成して設定します a. ザイリンクス SDK を開き 新規ワークスペースを作成します ( ワークスペース名の例 : XSDK_Workspace) XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 2
手順 1 - ザイリンクス SDK : スタンドアロンボードサポートパッケージの作成 b. ザイリンクス SDK で [Project] をクリックし [Build Automatically] を無効にします これで プロジェクトをビルドする前にコンパイラオプションを変更できます XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 3
手順 1 - ザイリンクス SDK : スタンドアロンボードサポートパッケージの作成 c. [Xilinx Tools] [Repositories] をクリックし [Local Repositories] で [New] をクリックします このアプリケーションノートのデザインファイル内の XAPP1185 フォルダーに移動し パッチ適用済みのスタンドアロン BSP を新規リポジトリとして追加します 2. 新規スタンドアロンアプリケーションプロジェクトおよびスタンドアロン BSP (ARMCC バージョン ) を作成します ザイリンクス SDK には新規プロジェクト作成ウィザードがあり このウィザードに従って 新規プロジェクト作成プロセスを順に進めることができます 以降の図ではこのウィザードを使用しています プロジェクトの設定は個々の要件によるため 図と異なる場合があります このアプリケーションノートでは DS-5 ツールでビルドされたターゲット上で最初に実行される C アプリケーションの例として ザイリンクス SDK で作成される Hello World アプリケーションを使用します サンプルアプリケーションプロジェクトを作成する必要がない場合は 以前にインポートしたハードウェアプラットフォームに対して個別に BSP を作成するか または手作業でハードウェアプラットフォームを作成してからそれに対して BSP を作成できます XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 4
手順 1 - ザイリンクス SDK : スタンドアロンボードサポートパッケージの作成 a. ザイリンクス SDK で [File] [New] [Application Project] をクリックします b. [Application Project] で次の設定を行います - ハードウェアプラットフォーム プルダウンメニューで 事前に定義されたプラットフォームまたはカスタムプラットフォーム ([Create New]) を選択します [Create New] を選択すると SDK は ユーザーのハードウェア開発チームが提供した <HardwareDesign.xml> の場所に移動するように求めるプロンプトを表示します このディレクトリには ps7_init.c/.h および.tcl も含まれます - ソフトウェアプラットフォーム [Target Software] で [Board Support Package] を新規作成を選択します 図に示すように ボードサポートパッケージ名は例として BSP_Standalone_ARMCC とします ( ザイリンクス SDK はデフォルトではザイリンクスが配布した GCC を使用して BSP ソースをビルドしますが この手順の後半でツールチェーンのオプションを変更します ) XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 5
手順 1 - ザイリンクス SDK : スタンドアロンボードサポートパッケージの作成 [Next] をクリックします アプリケーションテンプレートを設定します 実際にアプリケーションをビルドる前に 任意のアプリケーションテンプレートを使用してビルドフローを検証できます ここでは Hello World アプリケーションを使用します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 6
手順 1 - ザイリンクス SDK : スタンドアロンボードサポートパッケージの作成 [Finish] をクリックします ツールは次の図に示すファイルを作成します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 7
手順 1 - ザイリンクス SDK : スタンドアロンボードサポートパッケージの作成 c. BSP プロジェクトの [BSP_Standalone_ARMCC] を右クリックし [Board Support Package Settings] をクリックします d. [drivers] [cpu_cortexa9] に移動し 次のパラメーターを変更します - [compiler] : armcc - [archiver] : armar XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 8
手順 2 - DS-5 ツール : BSP のインポートとビルド e. BSP プロジェクトを右クリックし [Build Project] をクリックします f. これで (ARMCC ツールチェーンを使用して事前に定義された ) ZC702_hw_platform に対して パッチ適用済みの BSP ソースリポジトリがビルドされます 注記 : その他のコンパイラオプションを設定する必要はありません アーカイブされたライブラリを使用できます ただし カスタマイズされた BSP ソースツリーを DS-5 ツールにインポートする次の手順では 多くのオプションがビルドオプションとして提示されます 手順 2 - DS-5 ツール : BSP のインポートとビルド 1. Eclipse for DS-5 を起動して新規ワークスペースを作成します ここでは C:\DS5_Workspace に新規ワークスペースを作成します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 9
手順 2 - DS-5 ツール : BSP のインポートとビルド 2. スタンドアロン BSP をインポートします a. DS-5 ツールで [File] [New] [C Project] [Bare metal Library] [Empty Project] をクリックします XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 10
手順 2 - DS-5 ツール : BSP のインポートとビルド b. プロジェクト名を指定します ( 例 : ZynqBSP) [Next] をクリックします c. [Finish] をクリックします d. ライブラリプロジェクトを右クリックし ザイリンクス SDK が生成した (ARMCC) BSP ソースツリー (libsrc の下のディレクトリツリー ) をインポートします フォルダー BSP_Standalone_ARMCC\ps7_cortexa9_0\libsrc に移動し [OK] をクリックします XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 11
手順 2 - DS-5 ツール : BSP のインポートとビルド e. [Import] ウィンドウで [Finish] をクリックします 注記 : 元のソースへのリンクを使用することで リファレンスファイルのアップデートが DS-5 ツールに反映されます f. これで 次の図に示すフォルダーが ZynqBSP プロジェクトに含まれます 3. Zynq アーキテクチャに合わせてビルドの設定を変更します a. プロジェクト (ZynqBSP) を右クリックし [Properties] をクリックします b. [Properties] ウィザードで [C/C++ Build] [Settings] をクリックし ARM コンパイラと ARM アセンブラに対する次の設定を変更します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 12
手順 2 - DS-5 ツール : BSP のインポートとビルド ARM C コンパイラで ハードウェア構成に合わせてカスタマイズされた ザイリンクス SDK libgen プロセスによって生成された参照ヘッダーファイルのインクルードパスを設定します -I <XSDK_workspace>\BSP_Standalone_ARMCC\ps7_cortexa9_[0]\include ARM C コンパイラで Zynq デバイス固有の [Code Generation] パラメーターを設定します - --cpu Cortex-A9 - --fpu VFPv3_FP16 XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 13
手順 2 - DS-5 ツール : BSP のインポートとビルド ARM C アセンブラで Zynq デバイス固有の [Code Generation] パラメーターを設定します - --cpu Cortex-A9 - --fpu VFPv3_FP16 c. [Build Artifacts] タブをクリックし 次のように設定します - [Artifact extension] : a - [Output Prefix] : lib d. [Build] ボタンをクリックします ビルドが成功すると ツールは次のようにレポート します 'Finished building target: libzynqbsp.a' ' ' **** Build Finished **** これでこの手順は完了しました XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 14
手順 3 - DS-5 ツール : アプリケーションのビルド 手順 3 - DS-5 ツール : アプリケーションのビルド この手順に従って Zynq デバイス用の DS-5 アプリケーションプロジェクトを作成します 1. ソフトウェアアプリケーションをインポートし 作成します a. DS-5 ツールで [File] [New] [C Project] [Bare metal Executable] [Empty Project] をクリックします b. プロジェクト名を指定します ( 例 : ZynqAPP) XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 15
手順 3 - DS-5 ツール : アプリケーションのビルド c. [Next] をクリックします d. [Finish] をクリックして [C Project] ウィザードを閉じます e. アプリケーションプロジェクトを右クリックして [Import] をクリックし 手順 1 で作成した Hello World アプリケーションプロジェクト (App_HelloWorld_XSDK) に移動します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 16
手順 3 - DS-5 ツール : アプリケーションのビルド f. すべての C ソースファイルおよびヘッダーファイル (*.c *.h *.S) を含めます 2. Zynq アーキテクチャに合わせてビルドの設定を変更します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 17
手順 3 - DS-5 ツール : アプリケーションのビルド a. プロジェクト (ZynqApp) を右クリックし [Properties] をクリックします [Properties] ウィザードで [C/C++ Build] [Settings] をクリックし ARM コンパイラ ARM アセンブラ および ARM リンカーに対する次の設定を変更します - ARM C コンパイラで ハードウェア構成に合わせてカスタマイズされた ザイリンクス SDK libgen プロセスによって生成された参照ヘッダーファイルのインクルードパスを設定します../../../XSDK_Workspace/BSP_Standalone_ARMCC/ps7_cortexa9_0/include b. ARM C コンパイラで Zynq アーキテクチャ固有の [Code Generation] パラメーターを設定します - --cpu Cortex-A9 - --fpu VFPv3_FP16 XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 18
手順 3 - DS-5 ツール : アプリケーションのビルド c. ARM アセンブラで Zynq アーキテクチャ固有の [Code Generation] パラメーターを設定します - --cpu Cortex-A9 - --fpu VFPv3_FP16 d. ARM リンカーで Zynq アーキテクチャ固有の [General] パラメーターを設定します - --entry vector_table - --cpu Cortex-A9 - --fpu VFPv3_FP16 XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 19
手順 3 - DS-5 ツール : アプリケーションのビルド e. [ARM Linker] [Libraries] をクリックし 手順 2 で作成したリファレンス BSP ビルドを追加します - [Libraries (--library)] : ZynqBSP - [Library Search Path (--userlibpath)] : ${workspace_loc:/zynqbsp/debug} 注記 : 入口点は スキャッターファイル内でプログラムがリンクされるメモリの始点と一致します _vector_table の定義は BSP ソースツリーの スタンドアロン コード内にある asm_vector.s ファイルに記述されています f. ARM リンカーで [Miscellaneous] [Other objects files] をクリックします g. [Other object files] で [Add] ボタンをクリックし $workspace_loc:\zynqbsp\debug\ps7_cortexa9_0\libsrc\standalone_v3_11_a \src に移動して asm_vectors.o file を選択します. h. ARM リンカーで [Image Layout] をクリックし ( ここではスキャッターファイルと呼ばれる ) リンカースクリプトを定義します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 20
手順 4 - ザイリンクス SDK および DS-5 ツール : Zynq デバイスの FSBL を ARMCC ビルドに変更 i. ZynqApp.scat サンプルファイルのイメージレイアウトを次の図に示します このファイルは XAPP1185 リファレンスファイルに含まれています j. アプリケーションをコンパイルします 参考として サンプルを実行した場合のコンパイル済みサイズを次の図に示します これでこの手順は完了しました 手順 4 - ザイリンクス SDK および DS-5 ツール : Zynq デバイスの FSBL を ARMCC ビルドに変更 次の手順に従って 第一段階ブートローダー (FSBL) を ARMCC でビルドします 1. ザイリンクス SDK を開き 既存のワークスペース (XSDK_Workspace) を使用します 2. [File] [New Application Project] をクリックします XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 21
手順 4 - ザイリンクス SDK および DS-5 ツール : Zynq デバイスの FSBL を ARMCC ビルドに変更 3. プロジェクト名を指定します ( 例 : ZynqFSBL_XSDK) 既存の BSP (BSP_Standalone_ARMCC) を使用します 4. アプリケーションテンプレートとして [Zynq_FSBL] を選択します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 22
手順 4 - ザイリンクス SDK および DS-5 ツール : Zynq デバイスの FSBL を ARMCC ビルドに変更 5. [Finish] をクリックします 6. Eclipse for DS-5 を開きます 7. 既存のワークスペース (DS5_Workspace) を使用します 8. [Bare-metal Executable] [Empty] をクリックして ZynqFSBL というアプリケーションプロジェクトを作成します 詳細は 手順 3 - DS-5 ツール : アプリケーションのビルド の手順を参照してください XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 23
手順 4 - ザイリンクス SDK および DS-5 ツール : Zynq デバイスの FSBL を ARMCC ビルドに変更 9. [Finish] をクリックします 10. ZynqFSBL_XSDK からこのプロジェクトにファイルをインポートします XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 24
手順 4 - ザイリンクス SDK および DS-5 ツール : Zynq デバイスの FSBL を ARMCC ビルドに変更 11. サポートファイルの場所から パッチ適用済みの FSBL ファイル (Zynq_FSBL_ARMCC サブフォルダーに置かれたファイル ) をインポートします 12. 手順 3 - DS-5 ツール : アプリケーションのビルド の説明に従って コンパイラとリンカーのオプションを設定します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 25
手順 4 - ザイリンクス SDK および DS-5 ツール : Zynq デバイスの FSBL を ARMCC ビルドに変更 13. イメージレイアウトファイルを ZynqFSBL.scat に設定します このファイルは..\XAPP1185\ Zynq_FSBL_ARMCC にあります 14. プロジェクト ZynqFSBL_ARMCC をビルドします 参考のために ビルド後のログの例を次の図に示します これでこの手順は完了しました XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 26
手順 5 - DS-5 ツール : Zynq デバイスのカスタムデザインのデバッガーターゲットを構成 注記 :..\XAPP1185\ Zynq_FSBL_ARMCC にある ps7_init.c ファイルは ZC702_hw_platform に対してのみ有効です ほかのハードウェアプラットフォームでは ARMCC でのコンパイル用にこのファイルを手作業で編集する必要があります 手順 5 - DS-5 ツール : Zynq デバイスのカスタムデザインのデバッガーターゲットを構成 手順 4 で作成した FSBL アプリケーションを使用して ターゲットハードウェアを初期化できます 次の init スクリプトは ZynqFSBL.axf を使用したターゲットの初期化の例を示します zynq_init.ds loadfile {Workspace_loc:}\Zynq_FSBL_ARMCC\Debug\ZynqFSBL.axf run pause 1000 stop 次の手順に従って デバッグセッションのためにターゲットハードウェアを初期化します 1. デバッグするアプリケーションを右クリックし [Debug Configurations] をクリックします 2. [Debug Configurations] ダイアログボックスで [DS-5 Debugger] をダブルクリックし 新しいデバッグ設定を作成します XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 27
手順 5 - DS-5 ツール : Zynq デバイスのカスタムデザインのデバッガーターゲットを構成 3. [Connection] タブで Zynq-7000 EPP ZC702 を見つけ [Bare Metal Debug] [Debug Cortex-A9 via DStream/RVI] をクリックします 4. ダイアログボックスの下部の [Connections] で [Bare Metal Debug] [Connection] の右側にある [Browse] をクリックします アプリケーションはホストマシンへの Dstream 接続を自動検出します 適切な接続 ( この例では USB) を選択し [OK] をクリックします XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 28
手順 5 - DS-5 ツール : Zynq デバイスのカスタムデザインのデバッガーターゲットを構成 5. [Files] タブで デバッグするアプリケーション ( 例 : zynq_app.axf) を選択します 6. [Debugger] タブで [Run target initialization debugger script (.ds/.py)] をオンにして zynq_init.ds script ( 上記の例 ) を選択します 7. DStream ケーブルがボードに接続されていることを確認します DStream とターゲットの電源を入れます 8. [Debug] をクリックします XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 29
スクリプトを使用した手順 1 の自動化 注記 : デバッガーは OCM に FSBL をロードして実行します FSBL はターゲットハードウェアを初期化します デバッガーは FSBL がターゲットの初期化を完了するのを 1 秒間待ち main() のブレークポイントでターゲットによるアプリケーションのロードを停止します これでデバッグセッションのセットアップに必要な手順は完了しました デバッグセッションを続行するには [Debug] をクリックします スクリプトを使用した手順 1 の自動化 上級ユーザーは 付属のスクリプトファイルを使用して このアプリケーションノートの手順 1 を自動化できます 手順 1 を自動化するバッチファイル (build_bsp_fsbl_app.bat) は..\XAPP1185\xsdk_build\build_bsp_fsbl_app.bat にあります このバッチファイルを実行するには 次の例に示すように system.xml ファイルの場所を引数として渡す必要があります これにより ZC702 ボード用の BSP および FSBL の ARMCC バージョンが生成されます このコマンドは デザインファイル XAPP1185.zip が C:\ に展開されていることを前提としています C:\XAPP1185\xsdk_build>build_bsp_fsbl_app.bat ZC702_hw_platform このコマンドは この文書の一部として入手可能な ZC702_hw_platfrom から system.xml ファイルを利用します このバッチファイルは Zynq_FSBL ps7_cortex_a9 および hello_world の 3 つのプロジェクトフォルダーを作成します これらのファイルは 手順 2 - DS-5 ツール : BSP のインポートとビルド の説明に従って ARM DS-5 プロジェクトに直接インポートできます 参考資料 1. Zynq-7000 All Programmable SoC : コンセプト ツール テクニックガイド (UG873) 2. ザイリンクスビデオチュートリアル ザイリンクス SDK を使用した Zynq ベアメタルアプリケーションの開発 3. ザイリンクスビデオチュートリアル ザイリンクス SDK を使用したヘテロジニアスマルチコア システムのデバッグ XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 30
改訂履歴 改訂履歴 次の表に この文書の改訂履歴を示します 日付バージョン内容 2013 年 11 月 18 日 1.0 初版 Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To the maximum extent permitted by applicable law: (1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications. You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent. Certain products are subject to the terms and conditions of the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx. Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical Applications: http://www.xilinx.com/warranty.htm#critapps. 本資料は英語版 (v1.0) を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください この資料に関するフィードバックおよびリンクなどの問題につきましては jpn_trans_feedback@xilinx.com までお知らせください いただきましたご意見を参考に早急に対応させていただきます なお このメールアドレスへのお問い合わせは受け付けておりません あらかじめご了承ください XAPP1185 (v1.0) 2013 年 11 月 18 日 japan.xilinx.com 31