Vivado Design Suite ユーザー ガ イ ド カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先しま す。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の 上、最新情報につきましては、必ず最新英語版をご参照ください。 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2014 年 10 月 1 日 2014.3 UG896 のパ ッ ケージに関す る 章か ら 抜粋 し て本書を作成 [Standard] お よ び [Advanced] フ ァ イ ル グループの表を付録 A 「[Standard] お よ び [Advanced] フ ァ イ ル グループ」 へ移動 し 、 NGC フ ァ イ ルに関す る 重要事項を追加 第 2 章 「Create and Package IP ウ ィ ザー ド の使用」 を変更 80 文字の制限に関す る 注記を16 ページに追加 第 3 章 「IP のパ ッ ケージ」 のセ ク シ ョ ン をすべて変更 56 ページの 「enablement 式の設定」 を移動 第 4 章 「IP イ ン テ グ レー タ ーでの IP の作成お よ びパ ッ ケージ」 に UG994 の リ ン ク を追加 5 ページの 「概要」 を追加 し 、 7 ページの 「IP パ ッ ケージ ャ ーか ら の出力」 を変更 7 ページの 「IP のプ ロ ジ ェ ク ト 設定」 を変更 推論情報を47 ページの 「 イ ン タ ーフ ェ イ ス の自動推論」 に記述 第 4 章の 「IP イ ン テ グ レー タ ーか ら のブ ロ ッ ク デザ イ ンのパ ッ ケージ」 を追加 第 5 章の 「新規 イ ン タ ーフ ェ イ ス定義の作成」 を追加 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 2 目次 第 1 章 : カ ス タ ム IP の作成 と パ ッ ケージ 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 使用可能な IP パ ッ ケージ ャ ーの入力. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IP パ ッ ケージ ャ ーか ら の出力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IP のプ ロ ジ ェ ク ト 設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 7 7 7 第 2 章 : Create and Package IP ウ ィ ザー ド の使用 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Create and Package IP ウ ィ ザー ド の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Package your current project] オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Package a specified directory] オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Create a new AXI4 peripheral] オプシ ョ ン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 12 13 15 18 第 3 章 : IP のパ ッ ケージ 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Identification] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Compatibility] ページ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [File Groups] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Customization Parameters] ページ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Ports and Interfaces] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Addressing and Memory] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Customization GUI] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Review and Package] ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . enablement 式の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 20 23 26 30 40 48 51 54 56 第 4 章 : IP イ ン テグ レー タ ーでの IP の作成およびパ ッ ケージ 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 IP イ ン テ グ レー タ ーか ら のブ ロ ッ ク デザ イ ンのパ ッ ケージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 第 5 章 : 新規イ ン タ ー フ ェ イ ス定義の作成 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 新規 イ ン タ ーフ ェ イ ス定義の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . イ ン タ ーフ ェ イ ス定義エデ ィ タ ーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . イ ン タ ーフ ェ イ ス定義作成の終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . イ ン タ ーフ ェ イ ス定義の再編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 新規 イ ン タ ーフ ェ イ ス定義の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 63 65 66 66 付録 A : [Standard] および [Advanced] フ ァ イル グループ 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 [Standard] フ ァ イ ル グループ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 [Advanced] フ ァ イ ル グループ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 3 付録 B : その他のソ ースおよび法的通知 ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado Design Suite の資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ザ イ リ ン ク ス IP の資料. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 70 70 71 71 72 4 第 1章 カ ス タ ム IP の作成 と パ ッ ケージ 概要 Vivado® IP パ ッ ケージ フ ロ ーを使用す る と 、 ザ イ リ ン ク ス IP、 サー ド パーテ ィ IP、 ま たはカ ス タ マーの開発 し た IP のいずれを使用 し て も 、 一貫 し た方法が使用で き ます。 6 ページの図 1-1 に、 IP パ ッ ケージ ャ ー フ ロ ー と その使用モデルを示 し ます。 Vivado IP パ ッ ケージ ャ ーを使用す る と 、 IP 開発者は次を実行で き ます。 • IP-XACT 標準形式で フ ァ イ ルお よ び関連デー タ を作成お よ びパ ッ ケージ • Vivado IP カ タ ロ グへ新 し い IP を追加 • リ ポジ ト リ デ ィ レ ク ト リ ま たはアーカ イ ブ フ ァ イ ル (.zip) でエン ド ユーザーにパ ッ ケージ済み IP を提供 IP を配信す る と 、 エン ド ユーザーは自身のデザ イ ン用にその IP のカ ス タ マ イ ズ を作成で き ます。 推奨 : フ ァ イ ルをパ ッ ケージ し て配信す る 前に、 各 IP モジ ュ ールに対 し て IP フ ロ ーを実行 し て IP を検証 し て く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 5 第 1 章 : カ ス タ ム IP の作成 と パ ッ ケージ X-Ref Target - Figure 1-1 +LJK/HYHO6\QWKHVLV +/6 && 6RXUFH)LOHV 6\VWHP*HQHUDWRUIRU '636RXUFH)LOHV 57/,36RXUFH)LOHV +'/ 9HULORJ 6\VWHP9HULORJ 6LPXODWLRQ0RGHO )LOHV VLPVHWV ([DPSOH'HVLJQV 'RFXPHQWDWLRQ)LOHV 7HVW%HQFK $VVRFLDWHG,3)LOHV ,33DFNDJHU ,3&DWDORJ ;LOLQ[,3 UG3DUW\,3 8VHU,3 ; hƐĞƌĞƐŝŐŶ 図 1‐1 : IP パ ッ ケージ ャ ーおよびその使用フ ロー カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 6 第 1 章 : カ ス タ ム IP の作成 と パ ッ ケージ 使用可能な IP パ ッ ケージ ャ ーの入力 Vivado IP パ ッ ケージ ャ ーでは、 次の入力フ ァ イ ル グループがサポー ト さ れます。 • HDL 合成 • HDL シ ミ ュ レーシ ョ ン • 文書 • HDL テ ス ト ベンチ • サンプル デザ イ ン • イ ンプ リ メ ン テーシ ョ ン フ ァ イ ル (制約お よ び構造ネ ッ ト リ ス ト フ ァ イ ルを含む) • ド ラ イ バー • GUI のカ ス タ マ イ ズ IP パ ッ ケージ ャ ーには、 その IP に必要な数の フ ァ イ ル グループ を指定で き ます。 最低限必要な フ ァ イ ル グループの セ ッ ト に関す る 要件は特に あ り ま せんが、 [Packager IP] ビ ュ ーの [IP File Groups] ページにはパ ッ ケージ さ れた プ ロ ジ ェ ク ト ソ ース に基づいて典型的な フ ァ イ ル グループのセ ッ ト が表示 さ れます。 こ れ ら の フ ァ イ ル グループのいず れかが空の場合、 最後の [Review and Package] ページに フ ァ イ ルの中身がない こ と を示す警告 メ ッ セージが表示 さ れ ます。 IP パ ッ ケージ ャ ーからの出力 IP パ ッ ケージ ャ ーでは、 IP-XACT 規格 component.xml お よ び XGUI カ ス タ マ イ ズ Tcl フ ァ イ ルに基づいて XML フ ァ イ ルが生成 さ れます。 こ れ ら の 2 つの フ ァ イ ルは、 IP ルー ト デ ィ レ ク ト リ に生成 さ れます。 IP-XACT component.xml は、 こ の後 IP の定義情報を識別す る ために使用 さ れます。 IP デ ィ レ ク ト リ の /XGUI フ ォ ルダーに含まれ る XGUI カ ス タ マ イ ズ Tcl フ ァ イ ルは、 IP カ タ ロ グか ら カ ス タ ム IP のカ ス タ マ イ ズ GUI を表示す る ための フ ァ イ ルです。 カ ス タ ム IP の関連フ ァ イ ルは、 IP-XACT XML フ ァ イ ルか ら 相対的に参照 さ れます。 プ ロ ジ ェ ク ト が リ モー ト でパ ッ ケージ さ れ る と 、 関連す る IP フ ァ イ ルがその選択 し た IP デ ィ レ ク ト リ に コ ピー さ れます。 フ ァ イ ルは、 その使用目 的に応 じ てデ ィ レ ク ト リ に分類 さ れます (例 : /src、 /sim、 /doc)。 IP のプ ロ ジ ェ ク ト 設定 [Manage IP] プ ロ ジ ェ ク ト ま たは RTL プ ロ ジ ェ ク ト の場合、[Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [IP] ページ を使用 し て、 IP 専用のプ ロ ジ ェ ク ト 設定を コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 こ のページには、 次の タ ブが含まれます。 • [Repository Manager] : IP リ ポジ ト リ を追加 し て、 IP カ タ ロ グに含め る IP を指定 し ます。 • [Packager] : IP をパ ッ ケージす る 際に IP パ ッ ケージ ャ ーで使用 さ れ る デフ ォ ル ト 動作を設定 し ます。 注記 : [IP] ページお よ び Vivado IP カ タ ロ グは、RTL プ ロ ジ ェ ク ト ま たは Getting Started ページか ら [Manage IP] リ ン ク を使用 し た場合にのみ使用可能です。 [Manage IP] を使用す る 場合、 プ ロ ジ ェ ク ト を作成 し ない と 、 [IP] ページのサブ セ ッ ト は表示 さ れません。 [Repository Manager] タ ブの使用 次の図に示す [Repository Manager] タ ブ を使用す る には、 次を実行 し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 7 第 1 章 : カ ス タ ム IP の作成 と パ ッ ケージ 1. [Tools] → [Project Settings] を ク リ ッ ク し ます。 2. [Project Settings] ダ イ ア ロ グ ボ ッ ク ス で [IP] を ク リ ッ ク し ます。 3. [Repository Manager] タ ブ を ク リ ッ ク し て、 次を実行 し ます。 a. [IP Repositories] セ ク シ ョ ン で [Add Repository] を ク リ ッ ク し て、 IP リ ポジ ト リ リ ス ト に追加す る パ ッ ケージ 済み IP を含むデ ィ レ ク ト リ を指定 し ます。 [Repository Manager] タ ブでは IP 定義のユーザー リ ポジ ト リ パ ス内が検索 さ れます。 IP は、 パ ッ ケージ さ れた も のを使用する か、 サー ド パーテ ィ 企業か ら 取得で き ます。 b. [IP in Selected Repository] セ ク シ ョ ンで [Add IP] を ク リ ッ ク し て、 IP カ タ ロ グに含め る IP を指定 し ます。 注記 : IP カ タ ロ グには含めた IP が表示 さ れ る ので、 その IP を カ ス タ マ イ ズ し てデザ イ ンで使用 し ます。 c. 各 リ ポジ ト リ 内の IP を使用 し て IP カ タ ロ グの内容を ア ッ プデー ト する には、 [Apply] を ク リ ッ ク し ます。 X-Ref Target - Figure 1-2 図 1‐2 : [Project Settings] の [IP] の [Repository Manager] タ ブ パ ッ ケージ ャ ー設定の使用 パ ッ ケージ ャ ーのオプシ ョ ン を設定す る には、 次を実行 し ます。 1. 次の図の [Packager] タ ブ を ク リ ッ ク し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 8 第 1 章 : カ ス タ ム IP の作成 と パ ッ ケージ X-Ref Target - Figure 1-3 図 1‐3 : [Project Settings] の [IP] ページ : [Packager] タ ブ 2. 次の情報を入力 し ます。 ° [Default Values] セ ク シ ョ ンで次のオプシ ョ ン を設定 し ます。 - [Vendor] : 新規 IP をパ ッ ケージす る す る 際に使用す る ベン ダー名を設定 し ます。 た と えば、 企業の最上 位 ド メ イ ン な ど です。 - [Library] : IP に関連す る ラ イ ブ ラ リ を設定 し ます。 ベン ダー名 と 一緒に IP の名前に使用 さ れ、 一意の識 別子が作成 さ れます。 - [Taxonomy] : IP を表示す る IP カ タ ロ グのカ テ ゴ リ を指定 し ます。 た と えば、 /BaseIP の よ う に指定 し ます。 注記 : 必要であれば、 IP パ ッ ケージ プ ロ セ ス中に IP をパ ッ ケージす る 際のデフ ォ ル ト 値を変更で き ます。 3. [Automatic Behavior] フ ィ ール ド で必要なオプシ ョ ン を オン/オ フ に し ます。 ° [After Packaging] : - [Close IP Packager window] : IP パ ッ ケージが終了 し た ら [Package IP] ビ ュ ーを自動的に閉 じ ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 9 第 1 章 : カ ス タ ム IP の作成 と パ ッ ケージ ° - [Add IP root directory to current project’s IP repository paths] : 現在の IP を IP リ ポジ ト リ に追加 し ます。 - [Create archive of IP] : IP のパ ッ ケージ後に、 その IP のアーカ イ ブ (ZIP 形式) フ ァ イ ルが自動的に作成 さ れます。 [Edit IP in IP Packager] : - ° [Delete project after packaging] : IP がパ ッ ケージ し 直 さ れた ら 、 繰 り 返 し 編集 し たプ ロ ジ ェ ク ト を削除 し ます。 [Filtered Extensions] : 拡張子を追加する と (例 : txt)、IP パ ッ ケージ を作っ て フ ァ イ ル グループに含め る デ ィ レ ク ト リ を選択す る 際に、 自動的にその拡張子の フ ァ イ ルが フ ィ ル タ ー さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 10 第 2章 Create and Package IP ウ ィ ザー ド の使用 概要 Vivado® Integrated Design Environment (IDE) の Create and Package IP ウ ィ ザー ド を使用す る と 、 次を作成 し てパ ッ ケー ジで き ます。 • Vivado Design Suite プ ロ ジ ェ ク ト か ら の ソ ース フ ァ イ ルお よ び情報を使用 し た IP • 指定 し たデ ィ レ ク ト リ か ら の IP • 次を含むテ ンプ レー ト AXI4 ペ リ フ ェ ラ ル : ° HDL フ ァ イ ル ° ド ラ イ バー ° テ ス ト アプ リ ケーシ ョ ン ° バ ス フ ァ ン ク シ ョ ン モデル (BFM) (特別な ラ イ セ ン ス が必要) ° サンプル テ ンプ レー ト Create and Package IP ウ ィ ザー ド では、 ザ イ リ ン ク ス のサポー ト する AXI イ ン タ ーフ ェ イ ス を生成で き ます。 こ れ ら のブ ロ ッ ク は、 次の と お り です。 • AXI4 : 1 つのア ド レ ス フ ェーズ を使用 し て、 最大 256 デー タ 転送サ イ ク ルのバース ト が可能な メ モ リ マ ッ プ イ ン タ ーフ ェ イ ス に使用 し ます。 • AXI4-Lite : 軽量の単一 ト ラ ンザ ク シ ョ ンの メ モ リ マ ッ プ イ ン タ ーフ ェ イ ス です。 • AXI4-Stream : 高速ス ト リ ー ミ ン グ デー タ 用です。 ザ イ リ ン ク ス のサポー ト す る AXI に関す る 詳細は、 『Vivado AXI リ フ ァ レ ン ス ガ イ ド 』 (UG1037) [参照 16] を参照 し て く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 11 第 2 章 : Create and Package IP ウ ィ ザー ド の使用 Create and Package IP ウ ィ ザー ド の使用 Create and Package IP ウ ィ ザー ド では、 IP 作成お よ びパ ッ ケージの手順が 1 つずつ説明 さ れます。 Create and Package IP ウ ィ ザー ド を実行する 手順は、 次の と お り です。 1. 次の図に示す よ う に [Tools] → [Create and Package IP] を ク リ ッ ク し ます。 X-Ref Target - Figure 2-1 図 2‐1 : [Create and Package New IP] ダ イ ア ログ ボ ッ ク ス 次の図の よ う に、 Create and Package IP ウ ィ ザー ド の最初のページが開き ます。 X-Ref Target - Figure 2-2 図 2‐2 : Create and Package IP ウ ィ ザー ド ウ ィ ザー ド を使用す る と 、 次の タ ス ク のいずれかを実行で き ます。 ° [Package a new IP for the Vivado IP Catalog] : 現在のプ ロ ジ ェ ク ト ま たは指定 し たデ ィ レ ク ト リ か ら の ソ ース フ ァ イ ルお よ び情報を使用 し て、 新 し い Vivado IP を作成する プ ロ セ ス です。 ° [Create a new AXI4 Peripheral] : HDL、 ド ラ イ バー、 テ ス ト アプ リ ケーシ ョ ン、 BFM (Bus Functional Model)、 お よ びテ ンプ レー ト 例を含む AXI4 ペ リ フ ェ ラ ルのテ ンプ レー ト を作成 し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 12 第 2 章 : Create and Package IP ウ ィ ザー ド の使用 重要 : BFM モデルを使用す る 場合は、 BFM ラ イ セ ン ス フ ァ イ ルを取得する 必要があ り ます。 2. [Next] を ク リ ッ ク し ます。 [Choose Create Peripheral or Package IP] ページが開き ます (図 2-3)。 X-Ref Target - Figure 2-3 図 2‐3 : [Choose Create or Package IP] ページ 3. 4. 次のオプシ ョ ンか ら 選択 し ます。 ° [Package your current project] : 詳細は、 13 ページの 「[Package your current project] オプシ ョ ン」 を参照 し て く だ さ い。 ° [Package a specified directory] :詳細は、 15 ページの 「[Package a specified directory] オプシ ョ ン」 を参照 し て く だ さ い。 ° [Create a new AXI4 peripheral] : 詳細は、 18 ページの 「[Create a new AXI4 peripheral] オプシ ョ ン」 を参照 し て く だ さ い。 選択を し た ら 、 [Next] を ク リ ッ ク し ます。 次のページに表示 さ れ る オプシ ョ ンは、 [Choose Create or Package IP] ページで選択 し たオプシ ョ ンに よ っ て異な り ま す。 [Package your current project] オプ シ ョ ン [Package your current project] オプシ ョ ン を選択 し た場合は、 パ ッ ケージ を現在の Vivado プ ロ ジ ェ ク ト と 関連付け る こ と がで き ます。 IP パ ッ ケージ ャ ーでは、 ユーザーの IP に関す る 必要情報を集めて、 ス テージ ン グ エ リ アで基本的な IP パ ッ ケージが作成 さ れます。 こ のオプシ ョ ン を選択す る と 、 現在のプ ロ ジ ェ ク ト をパ ッ ケージす る のに使用で き る オプシ ョ ンが表示 さ れ る よ う に ダ イ ア ロ グ ボ ッ ク ス のページがア ッ プデー ト さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 13 第 2 章 : Create and Package IP ウ ィ ザー ド の使用 X-Ref Target - Figure 2-4 図 2‐4 : [Create And Package New IP] ダ イ ア ログ ボ ッ ク ス : [Package Your Current Project] ページ 1. [Package Your Current Project] ページ (図 2-4) で次のオプシ ョ ンか ら 選択を し て く だ さ い。 • [IP Location] : IP パ ッ ケージ ャ ーが IP 定義を作成す る デ ィ レ ク ト リ で、 デフ ォ ル ト はプ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ です。 • [Packaging IP in the project] : パ ッ ケージす る プ ロ ジ ェ ク ト に IP が含まれてい る 場合は、 次のオプシ ョ ンに よ っ て IP が新 し く パ ッ ケージ さ れた IP に ど の よ う に含ま れ る かが決ま り ます。 詳細は、 14 ページの 「[Packaging IP in the project]」 を参照 し て く だ さ い。 ° [Include .xci files] : IP カ ス タ マ イ ズ フ ァ イ ルのみをパ ッ ケージ し ます。 Vivado IDE では、 新 し く 作成 さ れた 親 IP と 一緒にその IP の出力フ ァ イ ルが生成 さ れます。 ° [Include IP generated files] : 生成 さ れた HDL お よ び IP カ ス タ マ イ ズの XDC ソ ース をパ ッ ケージ し ます。 [IP Location] の選択 IP パ ッ ケージ ャ ーには、現在のプ ロ ジ ェ ク ト で フ ァ イ ルを ど の よ う にパ ッ ケージす る か を選択で き る オプシ ョ ンがあ り ます。 通常、 IP デ ィ レ ク ト リ はプ ロ ジ ェ ク ト の /sources デ ィ レ ク ト リ です。 こ のデ ィ レ ク ト リ では、 すべての フ ァ イ ルがプ ロ ジ ェ ク ト に コ ピー さ れていれば、 そのプ ロ ジ ェ ク ト フ ァ イ ルすべて が相対的に参照で き ます。 フ ァ イ ルがプ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ か ら 離れた場所に格納 さ れ る 場合、 IP デ ィ レ ク ト リ は、 相対的に参照 さ れ る プ ロ ジ ェ ク ト フ ァ イ ルが一番多い箇所に基づいて決定 さ れます。 プ ロ ジ ェ ク ト フ ァ イ ルの階層 フ ァ イ ル パ ス 以外のデ ィ レ ク ト リ が選択 さ れた場合は、 Vivado IDE でプ ロ ジ ェ ク ト ソ ース フ ァ イ ルを指定 し た IP デ ィ レ ク ト リ に コ ピーする こ と を促す メ ッ セージが表示 さ れます。 その IP デ ィ レ ク ト リ に対す る すべての リ モー ト フ ァ イ ルがそのカ テ ゴ リ のデ ィ レ ク ト リ (例 : src/、 sim/) に コ ピー さ れます。 Vivado IDE では、 新 し く 作成 さ れてパ ッ ケージ さ れたプ ロ ジ ェ ク ト を変更で き る よ う に、 新 し い一時的な編集用プ ロ ジ ェ ク ト が IP デ ィ レ ク ト リ に作成 さ れます。 [Packaging IP in the project] パ ッ ケージ IP の XCI フ ァ イ ルのみを含め る 場合に こ のオプシ ョ ン を使用す る と 、 親 IP と 関連付け ら れ、 パ ッ ケージ さ れた XCI フ ァ イ ルが Vivado IDE で管理で き る よ う にな り ます。 Vivado IDE で パ ッ ケ ー ジ さ れ た XCI を 管理す る と 、 『Vivado Design Suite ユ ー ザ ー ガ イ ド : IP を 使用 し た 設計』 (UG896)[参照 6] に示 さ れ る IP ア ッ プグ レー ド 方法を使用 し て、 IP を最新のバージ ョ ンにア ッ プグ レー ド で き ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 14 第 2 章 : Create and Package IP ウ ィ ザー ド の使用 重要 : 各 リ リ ース で配信 さ れ る ザ イ リ ン ク ス IP のバージ ョ ンはそれぞれ 1 つだけなので、 関連付け ら れた XCI に新 し い リ リ ース があ る と 、 その親 IP が ロ ッ ク さ れ る こ と があ り ます。 こ の場合、最新の Vivado Design Suite で親 IP と ッ プグ レー ド し た XCI をパ ッ ケージ し 直す必要があ り ます。 IP 生成フ ァ イ ルを含め る 場合は、 IP カ ス タ マ イ ズで生成 さ れた HDL お よ び XDC 出力フ ァ イ ルすべてがパ ッ ケージ さ れます。 こ れに よ り 、 元の IP カ ス タ マ イ ズの リ フ ァ レ ン ス が削除 さ れ、 IP がプ ロ ジ ェ ク ト ソ ース フ ァ イ ル と し て 処理 さ れ る よ う にな り ます。 2. [Next] を ク リ ッ ク し ます。 [New IP Creation] ページに、 Create and Package IP ウ ィ ザー ド でデザ イ ンに関 し て集め ら れた情報が ま と めて表示 さ れます。 3. [Finish] を ク リ ッ ク す る と 、 パ ッ ケージが終了 し 、 IP パ ッ ケージ ャ ーが開き ます。 XCI フ ァ イ ル と IP 出力フ ァ イ ルについては、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参 照 6] を参照 し て く だ さ い。 IP 生成フ ァ イ ルを含め る 場合、 IP カ ス タ マ イ ズで生成 さ れた HDL お よ び XDC 出力フ ァ イ ルすべてがパ ッ ケージ さ れます。 こ れに よ り 、 元の IP カ ス タ マ イ ズの リ フ ァ レ ン ス が削除 さ れ、 IP がプ ロ ジ ェ ク ト ソ ース フ ァ イ ル と し て処 理 さ れ る よ う にな り ます。 [Package a specified directory] オプ シ ョ ン [Package a specified directory] オプシ ョ ンでは、 フ ァ イ ル シ ス テ ム内の特定のデ ィ レ ク ト リ の フ ァ イ ルをパ ッ ケージす る よ う 指定で き ます。 パ ッ ケージす る デ ィ レ ク ト リ を指定す る 際は、 IP が正 し く パ ッ ケージ さ れ る よ う にす る ための 推論規則に従 う 必要があ り ます。 次の表は、 IP を推論す る のに推奨 さ れ る デ ィ レ ク ト リ 構造を示 し てい ます。 表 2‐1 : 推奨 さ れるデ ィ レ ク ト リ 推論 ソ ース タ イ プ デ ィ レ ク ト リ 推論 合成可能な ソ ース src/, hdl/ シ ミ ュ レーシ ョ ン ソ ース sim/, simulation/ サンプル ソ ース example/, ex/, examples テ ス ト ベンチ testbench/, tb/, test/ C シ ミ ュ レーシ ョ ン モデル cmodel/, c/ 文書 docs/, doc/, documents/ IP パ ッ ケージ ャ ーは、表 2-1 のデ ィ レ ク ト リ 構造を使用 し て、該当する 各フ ァ イ ル グループに コ ン テ ン ツ を生成使用 と し ます。 合成可能な ソ ー ス デ ィ レ ク ト リ では、 フ ァ イ ルは .sv、 .v* お よ び .xdc 拡張子別に フ ィ ル タ ー さ れ ま す。 その他すべてのデ ィ レ ク ト リ では、 フ ァ イ ルが生成 さ れます。 指定 し たデ ィ レ ク ト リ のデ ィ レ ク ト リ 構造が認識で き な い場合、 IP パ ッ ケージ ャ ーは繰 り 返 し 合成可能な ソ ー ス フ ァ イ ルを検索 し 、 合成お よ びシ ミ ュ レーシ ョ ン フ ァ イ ル グループに フ ァ イ ルを追加 し ます。 [Package a specified directory] オプシ ョ ン を選択 し た場合、 次の図に示すページが表示 さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 15 第 2 章 : Create and Package IP ウ ィ ザー ド の使用 X-Ref Target - Figure 2-5 図 2‐5 : [Create And Package New IP] ダ イ ア ログ ボ ッ ク ス : [Package a Specified Directory] ページ 1. 次のオプシ ョ ン を選択 し て く だ さ い。 • [IP Location] : IP に関連す る フ ァ イ ルを含むデザ イ ン デ ィ レ ク ト リ を指定 し ます。 • [Package as a library core] : IP を ラ イ ブ ラ リ コ ア と し て定義 し ます。 IP は IP リ ポジ ト リ には含ま れますが、IP カ タ ロ グには表示 さ れません。 重要 : ス タ ン ド ア ロ ン IP と し て使用 し ない IP の場合は [Packaging as a library core] を オンに し て く だ さ い。 こ のオプ シ ョ ンでは、 IP リ ポジ ト リ か ら IP を参照で き ますが、 IP カ タ ロ グには表示 さ れません。 2. [Next] を ク リ ッ ク し ます。 3. [Edit in IP Packager Project Name] ページで次を設定 し ます。 ° [Project name] : 生成 さ れた IP 定義を使用 し て作成 さ れたプ ロ ジ ェ ク ト 名 ° [Project location] : デザ イ ン ソ ース が存在 し 、 [Edit IP Packager Project] を含むデ ィ レ ク ト リ 推奨 : フ ァ イ ル パス の長 さ は 80 文字未満にな る よ う に し て く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 16 第 2 章 : Create and Package IP ウ ィ ザー ド の使用 X-Ref Target - Figure 2-6 図 2‐6 : [Create And Package New IP] ダ イ ア ログ ボ ッ ク ス : [Edit in IP Packager Project Name] ページ 4. [Next] を ク リ ッ ク し ます。 [New IP Creation] ページに、 Create and Package IP ウ ィ ザー ド でデザ イ ンに関 し て集め ら れた情報が ま と めて表示 さ れます。 5. [Finish] を ク リ ッ ク す る と 、 パ ッ ケージが終了 し 、 Edit IP パ ッ ケージ ャ ー プ ロ ジ ェ ク ト が開 き ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 17 第 2 章 : Create and Package IP ウ ィ ザー ド の使用 [Create a new AXI4 peripheral] オプ シ ョ ン 新 し い AXI4 ペ リ フ ェ ラ ルを作成す る には、 次の手順に従っ て く だ さ い。 1. [Choose Create Peripheral or Package IP] ページで [Create a new AXI4 peripheral] をオンに し て、 [Next] を ク リ ッ ク し ます。 2. IP ペ リ フ ェ ラ ルの詳細を入力 し ます。 ° [Name] : IP の名前 ° [Version] : <major#.minor#.Rev#> バージ ョ ン表示方法に従っ た IP バージ ョ ン ° [Display Name] : IP カ タ ロ グに表示 さ れ る IP の名前 [Name] と [Display Name] フ ィ ール ド の名前は同 じ 名前にす る 必要はあ り ませんが、 [Name] に加え た変更が [Display Name] に自動的に反映 さ れ る よ う に、 [Display Name] はわか り やすい名前にす る 必要があ り ます。 ° [Description] : IP のエン ド ユーザー と 共有す る IP の説明 ° [IP Location] : IP パ ッ ケージ ャ ーには、 IP リ ポジ ト リ のデ ィ レ ク ト リ が自動的に追加 さ れ る 3. [Next] を ク リ ッ ク し ます。 4. 次の図に示す よ う に、 イ ン タ ーフ ェ イ ス を機能お よ び必要な AXI タ イ プに基づいて IP に追加 し ます。 X-Ref Target - Figure 2-7 図 2‐7 : Create and Package New IP ウ ィ ザー ド : [Add Interfaces] ページ 5. IP で割 り 込みを使用で き る よ う にする には、 [Enable Interrupt Support] をオンに し ます (18 ページの図 2-7 の囲み 部分)。 図は、 生成 さ れた IP でエ ッ ジ ま たは レベル割 り 込みがサポー ト さ れ、 こ れ ら の割 り 込みがユーザーお よ び IRQ 出力に よ っ て入力ポー ト に拡張で き る と こ ろ を示 し てい ます。 ° マー ク を使用 し て イ ン タ ーフ ェ イ ス を追加 ° マー ク を使用 し て イ ン タ ーフ ェ イ ス を削除 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 18 第 2 章 : Create and Package IP ウ ィ ザー ド の使用 レ ジ ス タ のデー タ 幅 と 数は、 選択 し た AXI4 タ イ プに よ っ て異な り ます。 6. [Next] を ク リ ッ ク し ます。 7. 選択を確認 し ます。 次の図に示す よ う に、 IP の詳細が ウ ィ ザー ド の最後のページに表示 さ れます。 X-Ref Target - Figure 2-8 図 2‐8 : Create and Package New IP ウ ィ ザー ド : [Peripheral Summary] ページ IP を生成す る と 、 次のオプシ ョ ンが表示 さ れます。 ° [Add IP to the repository] : IP を IP リ ポジ ト リ に追加で き ます。 ° [Edit IP] : IP を編集で き ます。 ° [Verify peripheral IP using AXI4 BFM Simulation Interface] : AXI4 BFM シ ミ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス を 使用で き る よ う にな り ます (AXI4 BFM シ ミ ュ レーシ ョ ン を使用す る には ラ イ セ ン ス が必要です)。 ° [Verify peripheral IP using JTAG interface] : JTAG-to-AXI IP を含むシ ス テ ム用に、 ハー ド ウ ェ アで IP モジ ュ ー ル を デバ ッ グ で き る ブ ロ ッ ク デザ イ ン を 作成 し ま す。 Vivado デバ ッ グ ツ ールに関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 18] を参照 し て く だ さ い。 タ ーゲ ッ ト デバ イ ス のプ ロ グ ラ ム後は、 ビ ッ ト ス ト リ ーム を生成 し てか ら 、 デバ ッ グ モー ド で (ツールでデザ イ ン用 に生成 さ れたサ ン プル Tcl ス ク リ プ ト か ら ) レ ジ ス タ の書 き 込みお よ び読み出 し を検証で き ます。 こ れには、 ハー ド ウ ェ ア マネージ ャ ーか ら ボー ド サーバーを接続 し 、 ボー ド を プ ロ グ ラ ム し てか ら 、 Tcl ス ク リ プ ト を読み込みます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 13] を参照 し て く だ さ い。 ペ リ フ ェ ラ ルを作成 し た ら 、 カ ス タ ム ロ ジ ッ ク を追加 し てペ リ フ ェ ラ ルを カ ス タ ム IP にす る オプシ ョ ン を使用で き ます。デモについては、『Vivado Design Suite チ ュ ー ト リ アル : カ ス タ ム IP の作成 と パ ッ ケージ』 (UG1119) [参照 20] を 参照 し て く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 19 第 3章 IP のパ ッ ケージ 概要 本章では、 カ ス タ ム IP を調整 し てパ ッ ケージする 機能について説明 し ます。 Vivado® IP パ ッ ケージ ャ ーは、 Vivado 統 合設計環境 (IDE) と IP-XACT コ ン ポーネ ン ト フ ァ イ ル間の イ ン タ ーフ ェ イ ス です。 Vivado IP パ ッ ケージ ャ ーでは、 次のパ ッ ケージ手順を使用 し て カ ス タ ム IP 定義を カ ス タ マ イ ズで き ます。 • 「[Identification] ページ」 : カ ス タ ム IP の識別情報 • 「[Compatibility] ページ」 : カ ス タ ム IP のデバ イ ス サポー ト • 「[File Groups] ページ」 : カ ス タ ム IP の フ ァ イ ルのデ ィ レ ク ト リ と ビヘ イ ビ アー • 「[Customization Parameters] ページ」 : IP のカ ス タ マ イ ズに関連する パ ラ メ ー タ ー • 「[Ports and Interfaces] ページ」 : カ ス タ ム IP の最上位ポー ト ま たは イ ン タ ーフ ェ イ ス の リ ス ト • 「[Addressing and Memory] ページ」 : カ ス タ ム IP に必要な ア ド レ ス空間お よ び メ モ リ マ ッ プ • 「[Customization GUI] ページ」 : カ ス タ ム IP の GUI のカ ス タ マ イ ズ レ イ ア ウ ト • 「[Review and Package] ページ」 : カ ス タ ム IP のサマ リ お よ びパ ッ ケージ カ ス タ ム IP 定義をパ ッ ケージ し た ら 、 現在のプ ロ ジ ェ ク ト 内で IP を使用で き た り 、 ほかの Vivado プ ロ ジ ェ ク ト で使 用で き る よ う にカ ス タ ム IP 定義の リ ポジ ト リ を指定 し た り で き ます。 [Identification] ページ IP パ ッ ケージ ャ ーの最初のセ ク シ ョ ンは、 [Identification] ページ (21 ページの図 3-1) です。 こ こ でのの情報は、 まず [Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [IP] 設定で記述 し た情報に基づいて記入 さ れ、 Create and Package IP ウ ィ ザー ド 中に ツールで自動的に適用 さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 20 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-1 図 3‐1 : [Package IP] : [Identification] ページ パ ッ ケージ IP の識別を記述す る ためには、 次の フ ィ ール ド を使用で き ます。 • [Vendor] : IP のベン ダー。 こ れは、 IP 定義の VLNV に表示 さ れ る ベン ダーの識別子で も あ り ます。 • [Library] :IP の属す る ラ イ ブ ラ リ 。 こ れは、 IP 定義の VLNV に表示 さ れ る ラ イ ブ ラ リ の識別子で も あ り ます。 • [Name] :IP の名前。 こ れは、 IP 定義の VLNV に表示 さ れ る 名前の識別子で も あ り ます。 • [Version] : IP のバージ ョ ン。 こ れは、 IP 定義の VLNV に表示 さ れ る バージ ョ ンの識別子で も あ り ます。 • [Core Revision] : IP コ アの リ ビ ジ ョ ン。 • [Display Name] : Vivado IP カ タ ロ グに表示 さ れ る 名前 • [Description] : Vivado IP カ タ ロ グに表示 さ れ る 説明 • [Vendor Display Name] : Vivado IP カ タ ロ グに表示 さ れ る ベン ダーの名前 • [Company URL] : Vivado IP カ タ ロ グに表示 さ れ る 企業の URL • [Categories] : IP の属す る カ テ ゴ リ の名前の リ ス ト • [Root Directory] : パ ッ ケージ さ れた IP の作業デ ィ レ ク ト リ 。 こ のデ ィ レ ク ト リ では、 入力フ ァ イ ル と 出力フ ァ イ ルの両方が制御 さ れます。 • [XML File Name] : IP-XACT 規格の XML フ ァ イ ルの名前 と デ ィ レ ク ト リ 。 IP 定義の [Vendor]、 [Library]、 [Name]、 お よ び [Version] (VLNV) に よ り 、 Vivado IP カ タ ロ グで IP が区別 さ れます。 重要 : IP リ ポジ ト リ 内には VLNV が 1 つ し か存在で き ません。 IP 名は、 ア ン ダース コ アでつなが っ た単語で合成 さ れます。 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 6] に示す よ う に、IP カ タ ロ グ内の IP にはそ れぞれ分類規則があ り ます。 こ れ ら の分類は、 IP パ ッ ケージ中のカ テ ゴ リ 設定で制御 さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 21 第 3 章 : IP のパ ッ ケージ カ テ ゴ リ リ ス ト では、 各カ テ ゴ リ が ス ラ ッ シ ュ 文字 (/) で区切 ら れ ます。 最初は、 Vivado ではカ ス タ ム IP はデフ ォ ル ト で [UserIP] カ テ ゴ リ にな り ます。 IP か ら カ テ ゴ リ を追加ま たは削除す る には、 [Identification] ページの [Categories] フ ィ ール ド の ク し て、 次の図の よ う な [Choose IP Categories] ダ イ ア ロ グ ボ ッ ク ス を開き ます。 ボタンを ク リ ッ X-Ref Target - Figure 3-2 図 3‐2 : [Choose IP Categories] ダ イ ア ログ ボ ッ ク ス IP 定義か ら カ テ ゴ リ を選択 し て、 Vivado IP カ タ ロ グに表示 さ せます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 22 第 3 章 : IP のパ ッ ケージ [Compatibility] ページ 次の図に示す [Compatibility] ページ では、 カ ス タ ム IP と 互換性の あ る 特定のザ イ リ ン ク ス パー ツ ま たはデバ イ ス フ ァ ミ リ を コ ン フ ィ ギ ュ レーシ ョ ン し ます。 X-Ref Target - Figure 3-3 図 3‐3 : [Package IP] : [Compatibility] ページ 最初は、 7 シ リ ーズ Kintex® デバ イ ス フ ァ ミ リ が、 [Life Cycle] が [Production] に設定 さ れた状態で表示 さ れます。 カ ス タ ム IP の フ ァ ミ リ サポー ト リ ス ト 内には、Vivado IDE でサポー ト さ れ る ど のザ イ リ ン ク ス フ ァ ミ リ お よ びデバ イ ス で も 含め る こ と がで き ます。 [Life Cycle] プ ロ パテ ィ は、 エン ド ユーザーに選択 し た IP の使用ケース と IP の互換性を示 し ます。 [Family Support] リ ス ト 内では、追加 し た各フ ァ ミ リ ま たはパーツ にそれぞれ別の [Life Cycle] プ ロ パテ ィ が指定で き 、IP と 選択 し た フ ァ ミ リ ま たはパーツ と の互換性を示す特定の粒度を指定で き ます。 追加 し たパーツ ま たはフ ァ ミ リ には、 自動的に [Life Cycle] が [Pre-Production] に設定 さ れます。 ザイ リ ン ク ス フ ァ ミ リ またはパーツの追加 1. [Family Support] ボ ッ ク ス内で右 ク リ ッ ク し て [Add Family] を ク リ ッ ク し ます (24 ページの図 3-4)。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 23 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-4 図 3‐4 : [Add Family] オプ シ ョ ン 2. 次の図に示す [Choose Family Support] ダ イ ア ロ グ ボ ッ ク ス で [Manual selection] モー ド をオンに し て、 Vivado IDE で使用可能な フ ァ ミ リ ま たはパーツ を選択 し ます。 X-Ref Target - Figure 3-5 図 3‐5 : [Choose Family Support] ダ イ ア ログ ボ ッ ク ス : [Manual selection] モー ド カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 24 第 3 章 : IP のパ ッ ケージ 3. [Manual selection] ま たは [Regular expression selection] のいずれか を使用 し てパーツ を追加 し ます。 . カ ス タ ム IP と 互換性のあ る パーツ ま たは フ ァ ミ リ を直接選択す る 代わ り に、 次の図に示す よ う にオプシ ョ ン の [Regular expression selection] モー ド を使用す る と 、 正規表現を使用 し て特定のパーツ ま たはフ ァ ミ リ を追加で き ます。 X-Ref Target - Figure 3-6 図 3‐6 : [Choose Family Support] ダ イ ア ログ ボ ッ ク ス : [Regular expression selection] モー ド 正規表現を検索に追加す る には、 必要な構文を [Expression] テ キ ス ト フ ィ ール ド に追加 し ます。 表現を追加 し た ら 、 [Add] を ク リ ッ ク し て、 [Expression] リ ス ト に正規表現を追加 し ます。 正規表現検索の構文は、 familyName{regexp} です。 次は、 その例です。 virtex7{xc7v[hx].*} こ の正規表現の例を実行す る と 、 すべての Virtex®-7 XT お よ び Virtex®-7 HT が表示 さ れます。 [Life Cycle] プ ロパテ ィ の設定 [Life Cycle] プ ロ パテ ィ を設定す る 方法は、 次の と お り です。 1. フ ァ ミ リ 、 パーツ、 ま たは正規表現の [Life Cycle] 値を選択す る と 、 ド ロ ッ プダ ウ ン メ ニ ュ ーか ら 新 し い [Life Cycle] を選択で き ます。 ま たは、 右 ク リ ッ ク し て リ ス ト の選択 し た項目か ら [Select Set Life Cycle] を ク リ ッ ク し 、 [Life Cycle] を選択す る こ と も で き ます。 [Life Cycle] プ ロ パテ ィ に使用可能な選択肢は、 次の と お り です。 IP の ラ イ フ サ イ ク ルの定義に関す る 詳細は、 ザ イ リ ン ク ス の ウ ェ ブサ イ ト か ら 「ザ イ リ ン ク ス LogiCORE™ IP ラ イ フ サ イ ク ル定義」 を参照 し て く だ さ い。 ° ベー タ (Beta) ° 製造中止 (Discontinued) ° 非表示 (Hidden) ° プ リ プ ロ ダ ク シ ョ ン (Pre-Production) カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 25 第 3 章 : IP のパ ッ ケージ ° プ ロ ダ ク シ ョ ン (Production) ° 削除 (Removed) ° 代替 (Superseded) プ ロ パテ ィ を [Discontinued]、 [Hidden]、 [Removed]、 [Superseded] にす る と 、 その IP は IP カ タ ロ グには表示 さ れな く な り ます。 [File Groups] ページ 次の図に示す [File Groups] ページには、 カ ス タ ム IP の フ ァ イ ルの リ ス ト が表示 さ れます。 X-Ref Target - Figure 3-7 図 3‐7 : [Package IP] : [File Groups] ページ 各フ ァ イ ルは、 特定の フ ァ イ ル グループに分類 さ れ、 異な る フ ァ イ ル ビヘ イ ビ アーお よ び使用方法が設定 さ れ る よ う にな っ てい ます。 た と えば、 [Synthesis] フ ァ イ ル グループに含まれ る フ ァ イ ルは合成に使用 さ れますが、 シ ミ ュ レーシ ョ ンには使用 さ れません。 特定フ ァ イ ル グループの フ ァ イ ルのデ ィ レ ク ト リ は、 Create and Package IP ウ ィ ザー ド を実行す る 際に最初に決定 さ れます。 ウ ィ ザー ド では、 フ ァ イ ル グループが次のいずれかで決定 さ れます。 • 現在のプ ロ ジ ェ ク ト の フ ァ イ ル セ ッ ト を使用 • IP デ ィ レ ク ト リ のデ ィ レ ク ト リ 構造か ら 情報を ヒ ュ ー リ ス テ ィ ッ ク に決定 フ ァ イ ルを異な る フ ァ イ ル グループに分類する ために、 次の 2 つのセ ク シ ョ ンが使用 さ れます。 • [Standard] : こ のオプシ ョ ンについては、 67 ページの表 A-1を参照 し て く だ さ い。 ほ と ん ど のカ ス タ ム IP の場合、 IP のパ ッ ケージ (再利用のため) に必要な グループが [Standard] フ ァ イ ル グループ リ ス ト に含まれます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 26 第 3 章 : IP のパ ッ ケージ • [Advanced] : こ のオプシ ョ ンについては、 68 ページの表 A-2を参照 し て く だ さ い。 [Advanced] フ ァ イ ル グループ は、 その他の高度な機能を使用す る 場合のために提供 さ れてい ます。 フ ァ イ ル グループの種類は、 特定のカ テ ゴ リ 別に定義 さ れます。 まず、 フ ァ イ ル グループ名の後に括弧で数が入っ た名前で ま と め ら れてい ます。 こ の数は、 フ ァ イ ル グループに含ま れ る フ ァ イ ル数です。 フ ァ イ ル グループ を展開 す る と 、 特定の フ ァ イ ル グループに関連する フ ァ イ ルがその下に表示 さ れます。 [File Groups] ページ を展開す る と 、 次の よ う な フ ァ イ ル リ ス ト が表示 さ れます (27 ページの図 3-8) X-Ref Target - Figure 3-8 図 3‐8 : [P File Groups] リ ス ト の展開 フ ァ イ ル グループの リ ス ト の情報は、 次の列にそれぞれ分けて表示 さ れます。 • [Name] : 階層ツ リ ー内の フ ァ イ ル名 • [Library Name] : Vivado 合成ま たはシ ミ ュ レーシ ョ ンで使用 さ れ る ラ イ ブ ラ リ 名を指定 • [Type] : フ ァ イ ル グループ内の フ ァ イ ル タ イ プ (例 : verilogSource、 XDC、 TclSource な ど) • [Is Include] : フ ァ イ ルを イ ン ク ルー ド フ ァ イ ル と し てマー ク (例 : Verilog ヘ ッ ダー フ ァ イ ルな ど) • [File Group Name] : フ ァ イ ルの関連付け ら れてい る フ ァ イ ル グループを決定する フ ァ イ ル プ ロ パテ ィ で、 読み出 し 専用 • [Model Name] : 最上位デザ イ ン名 重要 : [Model Name] は必須 の プ ロ パ テ ィ で、 フ ァ イ ル グ ルー プ に 直接適用 さ れ ま す。 こ の 値 に は、 [Synthesis]、 [Simulation]、 [Implementation] フ ァ イ ル グループ を指定で き ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 27 第 3 章 : IP のパ ッ ケージ フ ァ イル グループへのフ ァ イルの追加 [Package IP] タ ブ を開いた状態でプ ロ ジ ェ ク ト に フ ァ イ ルを追加 し ます。 フ ァ イ ルを追加す る と 、 ア ッ プデー ト さ れ た フ ァ イ ルが IP パ ッ ケージ ャ ーに反映 さ れます。 Vivado プ ロ ジ ェ ク ト への フ ァ イ ルの追加方法に関す る その他の情 報は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 15] を参照 し て く だ さ い。 [Package IP] タ ブ を開いた状態で Vivado プ ロ ジ ェ ク ト に フ ァ イ ルを追加す る と 、次の図の よ う な青い File Group Wizard のハ イ パー リ ン ク が表示 さ れ、 Vivado プ ロ ジ ェ ク ト に関連する フ ァ イ ルを イ ン ポー ト ま たは削除で き ます。 Create and Package IP ウ ィ ザー ド と 同様、 イ ン ポー ト さ れた フ ァ イ ルは正 し い フ ァ イ ル グループに関連付け ら れます。 X-Ref Target - Figure 3-9 図 3‐9 : File Group Wizard からのイ ンポー ト /削除 IP パ ッ ケージ ャ ーには手動で フ ァ イ ルを追加で き ますが、 ウ ィ ザー ド を使用 し た方が、 フ ァ イ ルが正 し い フ ァ イ ル グ ループに含まれ る か ど う か、 パ ッ ケージで相対的に参照 さ れてい る か ど う かが確認 さ れ る ので、 手動での追加はお勧 め し ません。 重要 : IP に必要な フ ァ イ ルは該当す る フ ァ イ ル グループ タ イ プに分類 し ておいて く だ さ い。 間違っ た フ ァ イ ル グ ループに フ ァ イ ルを追加す る と 、 IP が正 し く 構築 さ れないか、 動作 し ない こ と があ り ます。 1. フ ァ イ ルを手動で追加す る には、 該当す る フ ァ イ ル グループ を右 ク リ ッ ク し て [Add Files] を ク リ ッ ク し ます。 2. [Add IP Files] ダ イ ア ロ グ ボ ッ ク ス で フ ァ イ ル グループの フ ァ イ ルを追加ま たは作成 し て、 [Finish] を ク リ ッ ク し ます。 注記 : [Add IP Files] ダ イ ア ロ グ ボ ッ ク ス では、 1 度に 1 つの フ ァ イ ル グループ し か追加で き ません。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 28 第 3 章 : IP のパ ッ ケージ フ ァ イル グループか ら の フ ァ イルの コ ピー フ ァ イ ル グループに既に存在す る フ ァ イ ルに対 し ては、 [Copy To] オプシ ョ ン を使用 し て、 コ ピー先の フ ァ イ ル グ ループ を指定 し 、 フ ァ イ ルま たはフ ァ イ ル グループ全体を コ ピー し ます。 こ の リ ス ト には、 [File Groups] ページに リ ス ト さ れ る フ ァ イ ル グループのほか、 よ く 使用 さ れ る グループ も 含まれます。 • 1 つの フ ァ イ ルだけ を追加す る 場合は、 フ ァ イ ルの中の 1 つを選択 し て、 指定 し た フ ァ イ ル グループに コ ピー し ます。 • フ ァ イ ル グループ を選択 し て [Copy To] を実行す る と 、その フ ァ イ ル グループの下にあ る フ ァ イ ルすべてが指定 し た フ ァ イ ル グループに コ ピー さ れます。 1. [File Groups] ページで フ ァ イ ルま たはフ ァ イ ル グループを右 ク リ ッ ク し て、 [Copy To] を ク リ ッ ク し ます。 2. ポ ッ プア ッ プ メ ニ ュ ーの リ ス ト か ら コ ピー先の フ ァ イ ル グループ を選択 し ます。 フ ァ イル グループの追加 1. [File Groups] ページで右 ク リ ッ ク し て、 [Add File Group] を ク リ ッ ク し ます。 注記 : ま たはサ イ ド バーの [Add File Group] ボ タ ン を ク リ ッ ク し ます。 2. 次の図の [Add IP File Group] ダ イ ア ロ グ ボ ッ ク ス で表か ら 追加する フ ァ イ ル グループ タ イ プ を選択 し ます。 次の図の [Add IP File Group] ダ イ ア ロ グ ボ ッ ク ス の [Advanced] フ ァ イ ル グループの [show] ハ イ パー リ ン ク を ク リ ッ ク す る と 、 [Advanced] フ ァ イ ル グループの リ ス ト も 表示 さ れます。 X-Ref Target - Figure 3-10 図 3‐10 : [Add IP File Group] ダ イ ア ログ ボ ッ ク ス カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 29 第 3 章 : IP のパ ッ ケージ [Customization Parameters] ページ 次の図に示す [Customization Parameters] ページには、 カ ス タ ム IP のパ ラ メ ー タ ー リ ス ト が表示 さ れ ます。 こ れ ら の パ ラ メ ー タ ーは、 特に GUI カ ス タ マ イ ズ ま たは最上位 HDL ソ ー ス フ ァ イ ルを使用 し た カ ス タ マ イ ズに使用で き ま す。 X-Ref Target - Figure 3-11 図 3‐11 : [Package IP] : [Customization Parameters] ページ Create and Package IP ウ ィ ザー ド が終了 し た ら 、 カ ス タ マ イ ズ パ ラ メ ー タ ーの リ ス ト が最上位 HDL ソ ース フ ァ イ ル に基づいて生成 さ れます。 [Customization Parameters] ページには、 次の 2 つのパ ラ メ ー タ ー フ ォ ルダーが表示 さ れます。 • [Visible] : IP カ ス タ マ イ ズ GUI に表示 さ れ る カ ス タ マ イ ズ パ ラ メ ー タ ー • [Hidden] : IP カ ス タ マ イ ズ GUI に表示 さ れないカ ス タ マ イ ズ パ ラ メ ー タ ー デ フ ォ ル ト で は、 ウ ィ ザ ー ド か ら 解析 さ れ た パ ラ メ ー タ ー は、 IP カ ス タ マ イ ズ GUI に 表示 さ れ、 /Customization Parameters フ ォ ルダーに分類 さ れます。 [Hidden] パ ラ メ ー タ ーは、 直接編集す る も のでは あ り ません。 こ れ ら のパ ラ メ ー タ ーの値は、 それぞれ通常表示 さ れ る パ ラ メ ー タ ーに よ っ て決ま り ます。 最上位 HDL フ ァ イルか ら のパ ラ メ ー タ ーのイ ンポー ト パ ラ メ ー タ ーは、 まず Create and Package IP ウ ィ ザー ド 中に決定 さ れます。 パ ッ ケージ後に HDL を変更 し た こ と に よ り 、 最上位 HDL ソ ース フ ァ イ ルか ら パ ラ メ ー タ ーを イ ン ポー ト する 必要があ る 場合は、 IP パ ラ メ ー タ ーを イ ン ポー ト し 直す こ と がで き ます。 1. [Customization Parameters] ページで右 ク リ ッ ク し て [Import IP Parameters] を ク リ ッ ク し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 30 第 3 章 : IP のパ ッ ケージ 2. [Import Parameters from HDL] ダ イ ア ロ グ ボ ッ ク ス で次の イ ン ポー ト パ ラ メ ー タ ー オプシ ョ ン を選択 し て、 [Finish] を ク リ ッ ク し ます。 ° [Top-Level source file] : カ ス タ ム IP の最上位エン テ ィ テ ィ ま たはモジ ュ ールを含む最上位の ソ ース HDL フ ァ イル ° [Top entity name] : カ ス タ ム IP のパ ラ メ ー タ ーを含む最上位エン テ ィ テ ィ ま たはモジ ュ ールの名前 ° [Make all imported HDL parameters visible] : イ ン ポー ト さ れたパ ラ メ ー タ ーすべてがカ ス タ マ イ ズ GUI で表示 さ れ る よ う にな り ます。 オ フ にす る と 、 イ ン ポー ト さ れたパ ラ メ ー タ ーがすべて Hidden フ ォ ルダーに入力 さ れます。 パラ メ ー タ ーの追加または削除 IP カ ス タ マ イ ズ GUI で使用す る パ ラ メ ー タ ーは作成ま たは削除で き ます。 こ れ ら のパ ラ メ ー タ ーは、 HDL: パ ラ メ ー タ ーへの参照がないので、 必ず表示 さ れ よ う にす る 必要があ り ます。 パ ラ メ ー タ ーの追加 1. [Customization Parameters] ページで右 ク リ ッ ク し て [Add Parameters] を ク リ ッ ク し ます。 注記 : ま たはサ イ ド バーの [Add Parameter] ボ タ ン を ク リ ッ ク し ます。 2.[Add New Parameter] ダ イ ア ロ グ ボ ッ ク ス でパ ラ メ ー タ ーの名前を選択 し て [OK] を ク リ ッ ク し ます。 注記 : こ のパ ラ メ ー タ ー名は、 カ ス タ マ イ ズ GUI でのパ ラ メ ー タ ーの表示名ではあ り ません。 新 し いパ ラ メ ー タ ーを作成 し た ら 、特定のパ ラ メ ー タ ーを カ ス タ マ イ ズす る ための [Edit IP Parameter] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。 パ ラ メ ー タ ーの削除 パ ラ メ ー タ ーを右 ク リ ッ ク し て [Remove Parameter] を ク リ ッ ク す る と 、 最上位 HDL か ら 参照 さ れてい る か ど う かに 関係な く リ ス ト か ら パ ラ メ ー タ ーを削除で き ます。 注記 : 削除 さ れたパ ラ メ ー タ ーに依存す る パ ラ メ ー タ ーがあ る 場合は、 エ ラ ーにな り ます。 パラ メ ー タ ーの変更 [Customization Parameters] ページにパ ラ メ ー タ ーを追加 し た ら 、 こ れが ど の よ う に IP カ ス タ マ イ ズ GUI に表示 さ れ る か を変更で き ます。 変更で き る のは、 表示名、 デー タ 形式、 デフ ォ ル ト 値、 お よ びその他のオプシ ョ ンです。 パ ラ メ ー タ ーを変更す る には、そのパ ラ メ ー タ ーを右 ク リ ッ ク し て [Edit Parameter] を ク リ ッ ク し 、次の図に示す [Edit IP Parameter] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 31 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-12 図 3‐12 : [Edit Parameter] オプ シ ョ ン Create and Package IP ウ ィ ザー ド か Import Parameters ウ ィ ザー ド のいずれかか ら 解析 さ れたデー タ が表示 さ れた状態 で [Edit IP Parameter] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。 32 ページの図 3-13 は、 [Edit IP Parameter] ダ イ ア ロ グ ボ ッ ク ス に使用可能なオプシ ョ ンが含まれた例です。 X-Ref Target - Figure 3-13 図 3‐13 : [Edit IP Parameter] ダ イ ア ロ グ ボ ッ ク ス 使用可能なオプシ ョ ンは、 ダ イ ア ロ グ ボ ッ ク ス での選択に よ っ て異な り ます。 次のオプシ ョ ンがあ り ます。 1. [Is the parameter visible in the Customization GUI?] : パ ラ メ ー タ ーを IP のカ ス タ マ イ ズ GUI で表示ま たは非表示に す る か指定で き ます。 最上位 RTL か ら 生成 さ れたパ ラ メ ー タ ーの場合、 カ ス タ マ イ ズ GUI での表示を [No] に設定で き ます。 こ のパ ラ メ ー タ ーは、 カ ス タ マ イ ズ中に表示 さ れ る その他のパ ラ メ ー タ ーに依存する よ う に し た り 、 ス タ テ ィ ッ ク な値に 設定で き ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 32 第 3 章 : IP のパ ッ ケージ パ ラ メ ー タ ー表示を [No] にす る と 、 [Edit IP Parameter] ダ イ ア ロ グ ボ ッ ク ス の残 り の部分が一部 し か設定で き な く な り ます (33 ページの図 3-14)。 X-Ref Target - Figure 3-14 図 3‐14 : [Edit IP Parameter] ダ イ ア ログ ボ ッ ク スで表示を [No] に し た場合 2. [What is the parameter display name?] : IP カ ス タ マ イ ズ GUI でのパ ラ メ ー タ ーの表示名を指定 し ます。 Vivado IDE ツールでは、 最上位 RTL に リ ス ト さ れ る パ ラ メ ー タ ーか ら 適切な名前が自動的に付け ら れ ます。 IP がカ ス タ マ イ ズ さ れ る 際は、 こ れがエン ド ユーザーが設定で き る 値の横に表示 さ れ る テ キ ス ト にな り ます。 こ れは、 単純な 名前ま たはパ ラ メ ー タ ーを短 く 説明す る よ う な名前に し て く だ さ い。 3. [Is the value editable by the user?] : エン ド IP ユーザーに よ る パ ラ メ ー タ ー変更方法を設定 し ます。設定で き る 値は、 [Yes]、 [Dependent]、 お よ び [No] です。 ° デフ ォ ル ト は [Yes] で、 カ ス タ マ イ ズ GUI でパ ラ メ ー タ ーを直接編集で き る こ と を意味 し ます。 ° [No] の場合、 カ ス タ マ イ ズ GUI でパ ラ メ ー タ ーを変更する こ と はで き ません。 表示 さ れ る 場合、 カ ス タ マ イ ズ中にそのパ ラ メ ー タ ーは読み出 し 専用にな り ます。 パ ラ メ ー タ ーの値は、 定 数値ま たは式で指定 さ れます。 ° [Dependent] にす る と 、 パ ラ メ ー タ ーを イ ネーブルにす る ための式を入力す る テ キ ス ト ボ ッ ク ス が表示 さ れ ます (34 ページの図 3-15)。 パ ラ メ ー タ ーが イ ネーブルにな る か ど う かは、 IP カ ス タ マ イ ズ GUI での前の決定に よ っ て異な り ます。 た と えば、特定のプ ロ ト コ ルが選択 さ れた場合にのみエン ド ユーザーが周波数パ ラ メ ー タ ーを編集で き る よ う にす る こ と がで き ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 33 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-15 図 3‐15 : [Edit IP Parameter] ダ イ ア ログ ボ ッ ク スで [Dependent] を選択 し た場合 パ ラ メ ー タ ーが イ ネーブルにな る か ど う かは、 Tcl 演算式の規則に基づ き ます。 詳細は、 56 ページの 「enablement 式の設定」 を参照 し て く だ さ い。 4. [What data format is the value?] : パ ラ メ ー タ ー デー タ の形式を指定 し ます。指定で き る のは、long、float、bool、 bitString、 string です。 デフ ォ ル ト は long です。 デー タ 形式を選択す る と 、 エ ン ド ユーザーが IP のカ ス タ マ イ ズに使用で き る 値が決 ま り ます。 bool 形式を選択 し た場合にのみ、 [Edit IP Parameter] ダ イ ア ロ グ ボ ッ ク ス が変わ り ます。 こ れは、 値が信号の論 理値を記述す る 際にすべて大文字が使用 さ れ る よ う に制限 さ れ る か ら です。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 34 第 3 章 : IP のパ ッ ケージ 次の図 は、 ブール形式を選択 し た場合のダ イ ア ロ グ ボ ッ ク ス を示 し てい ます。 X-Ref Target - Figure 3-16 図 3‐16 : [Edit IP Parameter] ダ イ ア ログ ボ ッ ク スでデー タ 形式に [bool] を選択 し た場合 5. [How is the value determined?] : IP カ ス タ マ イ ズ中の値の決定方法を指定 し ます。 指定で き る 値は、 [Constant] (デ フ ォ ル ト ) と [Expression] です。 ° [Constant] を選択す る と 、 値は 1 つの既知の値にな り ます。 ° 値が編集で き ない場合、ま たは [Dependent] と 設定 さ れてい る 場合は、演算式 (Expression) で値を指定 し ます。 ° [Expression] を選択す る と 、 値を評価する ために必要な Tcl コ ー ド を入力す る テ キ ス ト ボ ッ ク ス がダ イ ア ロ グ ボ ッ ク ス に追加 さ れます (36 ページの図 3-17)。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 35 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-17 図 3‐17 : [Edit IP Parameter] ダ イ ア ログ ボ ッ ク スで [Expression] を選択 し た場合 値を評価す る 式は、 IP パ ッ ケージ ャ ーで定義 し たパ ラ メ ー タ ーを参照で き ます。 詳細は、 56 ページの 「enablement 式の設定」 を参照 し て く だ さ い。 6. [What is the default value?] : 指定 し た IP パ ラ メ ー タ ーのデフ ォ ル ト 値を指定 し ます。カ ス タ マ イ ズで何 も 変更せず に IP を生成 し た場合、 パ ラ メ ー タ ーの値は こ のテ キ ス ト フ ィ ール ド で指定 し た も のにな り ます。 7. [Should the value be restricted?] : パ ラ メ ー タ ー値が設定で き る 境界を指定 し ます。 ° [No] を選択す る と 、 値は選択 し たデー タ 形式の ど の値にで も で き ます。 IP カ ス タ マ イ ズ GUI では、 値を予 期 さ れ る 境界内に収め る こ と はで き ません。 ° [Yes] を選択す る と 、 値を制限す る ためのオプシ ョ ンがダ イ ア ロ グ ボ ッ ク ス に追加 さ れます (37 ページの 図 3-18)。 最初は値の リ ス ト (list of values) が選択 さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 36 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-18 図 3‐18 : [Edit IP Parameter] ダ イ ア ログ ボ ッ ク スで制限に [list of values] を選択 し た場合 8. [How is the value restricted?][Should the value be restricted?] を [Yes] に し た場合にのみ表示 さ れ、 IP カ ス タ マ イ ズ GUI で値を ど の よ う に制限す る か を指定 し ます。 パ ラ メ ー タ ーの値を制限す る オプシ ョ ンには、 [list of values]、 [range of integers]、 [pairs] があ り ます。 ダ イ ア ロ グ ボ ッ ク ス は、 こ のオプシ ョ ンに選択 し た値に よ っ て変更 さ れます。 A. [list of values] : パ ラ メ ー タ ーに対す る 値の選択肢を定義済みの リ ス ト か ら に制限 し ます。 値の リ ス ト を制御す る ために、 ダ イ ア ロ グ ボ ッ ク ス の一番下の方に 2 つのテ キ ス ト ボ ッ ク ス が表示 さ れま す。 こ れ ら のテ キ ス ト ボ ッ ク ス で、 パ ラ メ ー タ ーに対 し て有効な値の リ ス ト が制御 さ れます。 - 左のテ キ ス ト ボ ッ ク ス は値 リ ス ト の入力フ ィ ール ド です。 - 右のテ キ ス ト ボ ッ ク ス は、 値の リ ス ト を並び替え る ための も のです。 テ キ ス ト ボ ッ ク ス には、 丸で囲まれた 4 つの矢印ア イ コ ンが表示 さ れます (38 ページの図 3-19)。 リ ス ト に値を追加す る には、 入力テ キ ス ト フ ィ ール ド に値を入力 し て を ク リ ッ ク し ます。 こ のボ タ ンは、 テ キ ス ト フ ィ ール ド に有効な値が含まれてい る と 緑にな り ます。 右側の リ ス ト に値を入れた ら 、 こ れ ら の値を リ ス ト の上下に移動 し て、 IP カ ス タ マ イ ズ GUI で表示 さ れ る 値の順序を指定 し ます。 および ボ タ ンでは、 リ ス ト 内で値を矢印方向に 1 つずつ移動で き ます。 こ れ ら のボ タ ンは、 その 方向へ移動がで き る 場合にのみ緑にな り ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 37 第 3 章 : IP のパ ッ ケージ リ ス ト の値を変更 し た り 、 リ ス ト か ら 値を削除す る 場合は、 変更す る 値を リ ス ト で ク リ ッ ク し て ン を ク リ ッ ク し ます。 こ れで、 値が リ ス ト か ら 編集可能な入力テ キ ス ト フ ィ ール ド に戻 り ます。 ボタ 値の リ ス ト が終了 し た ら 、 制限 リ ス ト か ら 値が選択 さ れ る よ う デフ ォ ル ト 値を調整で き ます。 次のダ イ ア ロ グ ボ ッ ク ス は、 値の リ ス ト が設定 さ れた と こ ろ を示 し てい ます。 X-Ref Target - Figure 3-19 図 3‐19 : [Edit IP Parameter] ダ イ ア ログ ボ ッ ク スで [list of values] を選択 し て値を並べ替えた例 B. [What widget will be used to select a value?] : IP カ ス タ マ イ ズ GUI に値を表示す る GUI ウ ィ ジ ェ ッ ト の種類を 指定 し ます。 選択で き る のは、 [radioGroup] か [comboBox] です。 C. [range of integers] : パ ラ メ ー タ ーの値を指定 し た整数値の範囲に制限 し ます。 次の図に示す よ う に、 入力ボ ッ ク ス で値を指定 し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 38 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-20 図 3‐20 : [Edit IP Parameter] ダ イ ア ログ ボ ッ ク スで制限に [range of integers] を選択 し た例 サポー ト さ れ る 整数値の範囲は、 -2,147,483,648 ~ 2,147,483,647 です。 IP カ ス タ マ イ ズ GUI で指 定 し た範囲を超え る 値が設定 さ れ る と 、 エ ラ ーが レ ポー ト さ れます。 D. [pairs] : 値の選択肢は [list of values] 制限 と 同様の定義済み リ ス ト か ら に制限 さ れますが、 IP カ ス タ マ イ ズ GUI の選択肢は別の形式で表示で き ます。 次の図に示す よ う に、 値は Key/Value ペアの リ ス ト で指定 し ます。 X-Ref Target - Figure 3-21 図 3‐21 : [Edit IP Parameter] ダ イ ア ログ ボ ッ ク スで [pairs] を選択 し た例 ペア を Key/Value リ ス ト に追加す る には、 ダ イ ア ロ グ ボ ッ ク ス の [Add Pair] ボ タ ン を ク リ ッ ク し ます。 こ れに よ り 、 キーは [key] に、 値は [value] に設定 さ れた一般的な Key/Value のペアが リ ス ト に作成 さ れます。 [Key] ま たは [Value] フ ィ ール ド を編集す る には、 変更する テ キ ス ト を ダブル ク リ ッ ク し ます。 [Key] フ ィ ール ド のテ キ ス ト は、 IP カ ス タ マ イ ズ GUI で表示 さ れ る 値です。 こ れが、 IP のエン ド ユーザーに表示 さ れます。 [Value] フ ィ ール ド のテ キ ス ト は、 RTL に渡 さ れ る パ ラ メ ー タ ーの値です。 注記 : IP カ ス タ マ イ ズ GUI には、 リ ス ト に表示 さ れ る Key/Value ペアの順番でキーが表示 さ れます。 Key/Value リ ス ト か ら ペア を削除す る には、 そのペア を ク リ ッ ク し て [Remove Pair] ボ タ ン を ク リ ッ ク し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 39 第 3 章 : IP のパ ッ ケージ 次は、 Key/Value ペアの リ ス ト を含むダ イ ア ロ グ ボ ッ ク ス の例です。 X-Ref Target - Figure 3-22 図 3‐22 : [Edit IP Parameter] ダ イ ア ログ ボ ッ ク スで Key/Value ペア を指定 し た例 値の制限の リ ス ト と 同様、 IP カ ス タ マ イ ズ GUI で値を表示す る ために使用 さ れ る GUI ウ ィ ジ ェ ッ ト の タ イ プ を選択 で き ます。 選択で き る のは、 [radioGroup] か [comboBox] です。 こ れ ら の ウ ィ ジ ェ ッ ト の表示に関す る 詳細は、 30 ペー ジの 「[Customization Parameters] ページ」 を参照 し て く だ さ い。 [Ports and Interfaces] ページ 41 ページの図 3-23 に示す よ う に [Ports and Interfaces] ページには、カ ス タ ム IP のポー ト お よ び イ ン タ ーフ ェ イ ス が リ ス ト さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 40 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-23 図 3‐23 : [Package IP] : [Ports and Interfaces] ページ [Ports and Interfaces] ページの リ ス ト は、 Create and Package IP ウ ィ ザー ド の最後に最上位 HDL ソ ース フ ァ イ ルが解析 さ れて生成 さ れ ます。 カ ス タ ム IP の最上位ポー ト の解析中、 イ ン タ ーフ ェ イ ス が ヒ ュ ー リ ス テ ィ ッ ク に決定で き る 場合は、 イ ン タ ーフ ェ イ ス が自動的に IP パ ッ ケージ ャ ーで推論 さ れます。 [Ports and Interfaces] ページには、 ポー ト お よ び イ ン タ ーフ ェ イ ス の情報を示すデフ ォ ル ト 列を含んだ表形式で リ ス ト さ れます。 • [Name] :ポー ト ま たは イ ン タ ーフ ェ イ ス名 • [Interface Mode] : イ ン タ ーフ ェ イ ス モー ド (マ ス タ ーま たは ス レーブ) • [Enablement Dependency] : イ ン タ ーフ ェ イ ス ま たはポー ト を イ ネーブルにす る か ど う か を制御す る パ ラ メ ー タ ー 論理式。 詳細は、 56 ページの 「enablement 式の設定」 を参照 し て く だ さ い。 • [Direction] : ポー ト の方向 • [Driver Value] : ポー ト がデ ィ ス エーブルの場合のポー ト のデフ ォ ル ト の ド ラ イ バー値 • [Size Left] : ベ ク タ ー バス の左側の評価値 • [Size Left Dependency] : ベ ク タ ー バ ス の左側の値を決定す る 依存パ ラ メ ー タ ー論理式 • [Size Right] : ベ ク タ ー バ ス の右側の評価値 • [Size Right Dependency] : ベ ク タ ー バ ス の右側の値を決定する 依存パ ラ メ ー タ ー論理式 • [Type Name] : ポー ト タ イ プ (std_logic ま たは std_logic_vector) 最初にパ ッ ケージ し た後に HDL を変更 し た ために、 最上位 HDL ソ ース フ ァ イ ルか ら ポー ト を イ ン ポー ト す る 必要 があ る 際、 ま たは単に最初にポー ト を生成す る 際には、 [Ports and Interface] ページ を開 き ます。 最上位 HDL から のポー ト のイ ンポー ト ポー ト は、 まず Create and Package IP ウ ィ ザー ド 中に決定 さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 41 第 3 章 : IP のパ ッ ケージ パ ッ ケージ後に HDL を変更 し た こ と に よ り 、 最上位 HDL ソ ース フ ァ イ ルか ら ポー ト を イ ン ポー ト す る 必要があ る 場合には、 HDL ポー ト を イ ン ポー ト し 直 し て く だ さ い。 1. [Ports and Interfaces] ページで右 ク リ ッ ク し て [Import IP Ports] を ク リ ッ ク し ます。 2. [Import Ports from HDL] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。 ° [Top-Level source file] : カ ス タ ム IP の最上位エン テ ィ テ ィ ま たはモジ ュ ールを含む最上位の ソ ース HDL フ ァ イル ° [Top entity name] : カ ス タ ム IP のポー ト を含む最上位エン テ ィ テ ィ ま たはモジ ュ ールの名前 既存ポー ト の変更 1. ポー ト を右 ク リ ッ ク し て [Edit Port] を ク リ ッ ク し ます。 注記 : ま たは、 ポー ト を ダブル ク リ ッ ク し ます。 2. 42 ページの図 3-24に示す [Edit IP Port] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を設定 し 、[OK] を ク リ ッ ク し ます。 ° [Driver Value] : ポー ト がカ ス タ マ イ ズ中にデ ィ ス エーブルにな っ てい る 場合は、 こ れがポー ト に割 り 当て ら れ る デフ ォ ル ト 値です。 ° [Is this port optionally present?] : ポー ト を カ ス タ マ イ ズに基づいて、 ま たは enablement 式に基づいてデ ィ ス エーブルにす る か ど う か を指定 し ます。 詳細は、 56 ページの 「enablement 式の設定」 を参照 し て く だ さ い。 X-Ref Target - Figure 3-24 図 3‐24 : [Edit IP Port] ダ イ ア ロ グ ボ ッ ク ス バス イ ン タ ー フ ェ イ スの追加または削除 バ ス イ ン タ ーフ ェ イ ス を追加す る には、 [Ports and Interfaces] ページで右 ク リ ッ ク し て [Add Bus Interface] を ク リ ッ ク し ます。 注記 : ま たはサ イ ド バーの [Add Bus Interface] ボ タ ン を ク リ ッ ク し ます。 イ ン タ ーフ ェ イ ス に関す る 情報を変更す る ための [Edit IP Bus Interface] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。 [Edit IP Bus Interface] ダ イ ア ロ グ ボ ッ ク ス に関する 詳細は、 「既存 イ ン タ ーフ ェ イ ス の変更」 を参照 し て く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 42 第 3 章 : IP のパ ッ ケージ イ ン タ ーフ ェ イ ス を削除す る には、 リ ス ト でその イ ン タ ーフ ェ イ ス を右 ク リ ッ ク し て [Remove Interface] を ク リ ッ ク し ます。 イ ン タ ーフ ェ イ ス を削除 し た ら 、その イ ン タ ーフ ェ イ ス に前に関連付け ら れたポー ト が [Ports and Interfaces] リ ス ト に関連付けのないポー ト と し て戻 り ます。 既存イ ン タ ー フ ェ イ スの変更 自動推論を使用 し て新 し い イ ン タ ーフ ェ イ ス を追加す る か、Create and Package IP ウ ィ ザー ド を開始 し て イ ン タ ーフ ェ イ ス を作成 し ます。 ど の場合 も イ ン タ ーフ ェ イ ス には まずデー タ が表示 さ れ、 ユーザーは必要に合わせてそのデー タ を変更で き ます。 イ ン タ ーフ ェ イ ス を変更す る には、 次の手順に従っ て く だ さ い。 1. [Ports and Interfaces] ページで イ ン タ ーフ ェ イ ス を右 ク リ ッ ク し て、 [Edit Interface] を ク リ ッ ク し ます。 注記 : ま たは、 編集す る イ ン タ ーフ ェ イ ス を ダブル ク リ ッ ク し ます。 2. [Edit IP Bus Interface] ダ イ ア ロ グ ボ ッ ク ス で必要なオプシ ョ ン を選択 し て [OK] を ク リ ッ ク し ます。 イ ン タ ー フ ェ イ ス情報の変更 [General] タ ブ (図 3-25) では、 イ ン タ ーフ ェ イ ス の定義情報を設定で き ます。 こ の タ ブでは、 名前、 タ イ プ、 モー ド 、 詳細な情報な ど を管理 し ます。 1. [Edit IP Bus Interface] ダ イ ア ロ グ ボ ッ ク ス で、 次のオプシ ョ ン を選択 し ます。 ° [Interface Definition] : 選択 さ れた イ ン タ ーフ ェ イ ス が作成 さ れます。 ° [Name] : こ れがカ ス タ マ イ ズ GUI お よ び IP イ ン テ グ レー タ ーの BD セルの イ ン タ ーフ ェ イ ス の表示名にな り ます。 ° [Mode] : イ ン タ ーフ ェ イ ス のモー ド に [Master] か [Slave] を定義 し ます。 ° [Display Name] : イ ン タ ーフ ェ イ ス の表示名を指定 し ます。 ° [Description] : イ ン タ ーフ ェ イ ス の説明を記述 し ます。 ° [Is this interface optionally present?] : イ ン タ ーフ ェ イ ス を カ ス タ マ イ ズに基づいて、 ま たは enablement 式 enablement 式に基づいてデ ィ ス エーブルにす る か ど う かを指定 し ます。 詳細は、 56 ページの 「enablement 式 の設定」 を参照 し て く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 43 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-25 図 3‐25 : [Edit IP Bus Interface] ダ イ ア ログ ボ ッ ク ス : [General] タ ブ 2. イ ン タ ーフ ェ イ ス定義を変更す る には、 [Interface Definition] の [More Options] ボ タ ン 3. [Interface Definition Chooser] ダ イ ア ロ グ ボ ッ ク ス (45 ページの図 3-26) で必要な イ ン タ ーフ ェ イ ス を選択 し 、[OK] を ク リ ッ ク し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com を ク リ ッ ク し ます。 44 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-26 図 3‐26 : [Edit IP Bus Interface] ダ イ ア ロ グ ボ ッ ク ス : [Interface Definition Chooser] ダ イ ア ログ ボ ッ ク ス イ ン タ ー フ ェ イ ス ポー ト のマ ッ プ [Port Mapping] タ ブ (46 ページの図 3-27) を使用 し て、 イ ン タ ーフ ェ イ ス ポー ト を カ ス タ ム IP のポー ト にマ ッ プ し ま す。 イ ン タ ーフ ェ イ ス ポー ト は イ ン タ ーフ ェ イ ス の論理ポー ト お よ び IP の物理ポー ト を表すフ ィ ール ド に リ ス ト さ れます。サマ リ に表示 さ れ る イ ン タ ーフ ェ イ ス用にマ ッ プ さ れたすべてのポー ト がダ イ ア ロ グ ボ ッ ク ス の下部に表示 さ れます。 1. 左側で イ ン タ ーフ ェ イ ス を選択 し 、 右側の物理ポー ト リ ス ト か ら ポー ト を選択 し ます。 2. 各フ ィ ール ド でポー ト を選択 し た ら 、 [Map Ports] ボ タ ン を ク リ ッ ク し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 45 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-27 図 3‐27 : [Edit IP Bus Interface] ダ イ ア ロ グ ボ ッ ク ス : [Port Mapping] タ ブ 大 き な イ ン タ ーフ ェ イ ス の場合は、 [List Options] か ら フ ィ ール ド に表示 さ れ る ポー ト を指定で き ます。 [List Options] では、 次のチ ェ ッ ク ボ ッ ク ス を使用で き ます。 • [Filter Incompatible Physical Ports] : 選択 し た イ ン タ ーフ ェ イ ス ポー ト の正 し い方向に一致 し ない物理的なポー ト は表示 し ません。 • [Hide Mapped Ports] : 前にマ ッ プ し た物理ポー ト お よ び論理ポー ト は表示 し ません。 マ ッ プ さ れたポー ト はダ イ ア ロ グ ボ ッ ク ス の [Mapped Port Summary] セ ク シ ョ ンに リ ス ト さ れ ます。 こ のセ ク シ ョ ン では、 マ ッ プ し たポー ト はすべて を解除で き る ほか、 個別にマ ッ プを解除す る こ と も で き ます。 イ ン タ ー フ ェ イ ス パラ メ ー タ ーの追加ま たは削除 次の図に示す [Parameters] タ ブでは、 イ ン タ ーフ ェ イ ス にパ ラ メ ー タ ーを追加で き ます。 バ ス イ ン タ ーフ ェ イ ス の中 には、 関連す る パ ラ メ ー タ ーを必要 と す る も のがあ り ま す。 バ ス イ ン タ ーフ ェ イ ス に よ っ ては、 Vivado IDE で自動 的に認識 さ れ る パ ラ メ ー タ ー も あ り ます。 こ れ ら はVivado IDE で推奨 さ れ る パ ラ メ ー タ ーです。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 46 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-28 図 3‐28 : [Edit IP Bus Interface] ダ イ ア ロ グ ボ ッ ク ス : [Parameters] タ ブ リ ス ト に推奨 さ れたパ ラ メ ー タ ーを追加す る には、 次を実行 し ます。 1. [Edit IP Bus Interface] → [Parameters] タ ブで右 ク リ ッ ク し て[Add Recommended Parameter] を ク リ ッ ク し ます。 2. [Add IP Parameter] ダ イ ア ロ グ ボ ッ ク ス で必要なパ ラ メ ー タ ーを選択 し て [OK] を ク リ ッ ク し ます。 右 ク リ ッ ク で [Add Bus Parameter] を ク リ ッ ク す る と 、 独自のパ ラ メ ー タ ーを イ ン タ ーフ ェ イ ス に追加す る こ と が で き ます (オプシ ョ ン)。 3. リ ス ト にパ ラ メ ー タ ーを追加 し た ら 、 各パ ラ メ ー タ ーご と に次のオプシ ョ ン を設定 し ます。 ° [Description] : パ ラ メ ー タ ーの説明を記述 し ます。 ° [Display Name] : パ ラ メ ー タ ーの表示名を指定 し ます。 ° [Value] :パ ラ メ ー タ ーの値を指定 し ます。 ° [Value Source] : パ ラ メ ー タ ーの ソ ース値を指定 し ます。 パ ラ メ ー タ ーを削除す る には、 リ ス ト でそのパ ラ メ ー タ ーを右 ク リ ッ ク し て [Remove Bus Parameter] を ク リ ッ ク し ます。 イ ン タ ー フ ェ イ スの自動推論 イ ン タ ーフ ェ イ ス を自動的に推論す る オプシ ョ ンには、 シ ン グル ビ ッ ト と バス の 2 つのオプシ ョ ンがあ り ます。 ° よ く 使用 さ れ る シ ン グル ビ ッ ト イ ン タ ーフ ェ イ ス の リ ス ト か ら シ ン グル ビ ッ ト イ ン タ ーフ ェ イ ス を推論 ° イ ン タ ーフ ェ イ ス リ ス ト 全体か ら 選択 し てバス イ ン タ ーフ ェ イ ス を推論 バ ス イ ン タ ーフ ェ イ ス を推論す る には、 次を実行 し ます。 1. 推論す る イ ン タ ーフ ェ イ ス に関連す る ポー ト すべて を選択 し て右 ク リ ッ ク し 、 [Auto Infer Interface] を ク リ ッ ク し ます。 ま たはサ イ ド バーの [Auto Infer Interface] ボ タ ン を ク リ ッ ク し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 47 第 3 章 : IP のパ ッ ケージ 推奨 : ポー ト の名前はその イ ン タ ーフ ェ イ ス で指定 し たの と 同 じ 名前に し て く だ さ い。 こ う す る こ と で、 自動推論で バ ス イ ン タ ーフ ェ イ ス ポー ト が正確に認識 さ れ る よ う にな り ます。 2. 推論す る イ ン タ ーフ ェ イ ス の名前を ク リ ッ ク し て [OK] を ク リ ッ ク し ます。 IP パ ッ ケージ ャ ーが イ ン タ ーフ ェ イ ス を推論で き る 場合は、 [Edit IP Bus Interface] ダ イ ア ロ グ ボ ッ ク ス が開 き 、 選択 し た イ ン タ ーフ ェ イ ス タ イ プ、 名前、 ポー ト マ ッ ピ ン グが表示 さ れます。 [Edit IP Bus Interface] ダ イ ア ロ グ ボ ッ ク ス に関す る 詳細は、 43 ページの 「既存 イ ン タ ーフ ェ イ ス の変更」 を参照 し て く だ さ い。 注記 : 自動推論ですべてのポー ト が認識で き なか っ た場合は、[Add Bus Interface] オプシ ョ ン を使用 し てバス イ ン タ ーフ ェ イ ス のポー ト を手動で識別す る 必要があ り ます。 詳細は、 42 ページの 「バ ス イ ン タ ーフ ェ イ ス の追加 ま たは削除」 を参照 し て く だ さ い。 3. シ ン グル ビ ッ ト イ ン タ ーフ ェ イ ス を推論す る には、 ポー ト を右 ク リ ッ ク し て [Auto Infer Single Bit Interface] を ク リ ッ ク し ます。 4. ポ ッ プア ッ プ メ ニ ュ ーか ら 推論す る イ ン タ ーフ ェ イ ス を選択 し ます。 [Addressing and Memory] ページ [Addressing and Memory] ページ (48 ページの図 3-29) では、 IP に メ モ リ マ ッ プ ま たはア ド レ ス空間を追加で き ます。 X-Ref Target - Figure 3-29 図 3‐29 : [IP Addressing and Memory] ページ [Addressing and Memory] ページは、 Create and Package IP ウ ィ ザー ド でカ ス タ ム IP の イ ン タ ーフ ェ イ ス が自動的に推 論で き 、 イ ン タ ーフ ェ イ ス のア ド レ ス マ ッ プ要件が認識 さ れた場合に表示 さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 48 第 3 章 : IP のパ ッ ケージ ア ド レ ス マ ッ プ用のイ ン タ ー フ ェ イ スの識別 1. イ ン タ ーフ ェ イ ス が ま だマ ッ プ さ れていない場合は、[Addressing and Memory Map Wizard] リ ン ク を ク リ ッ ク し ま す。 注記 : ま たは、 右 ク リ ッ ク し て [IP Addressing and Memory Map Wizard] を ク リ ッ ク し ます。 2. Addressing and Memory Wizard で [Next] を ク リ ッ ク し ます。 3. [Choose IP Interface] ページ (49 ページの図 3-30) で メ モ リ マ ッ プ を追加す る イ ン タ ーフ ェ イ ス を ク リ ッ ク し て [Next] を ク リ ッ ク し ます。 X-Ref Target - Figure 3-30 図 3‐30 : Addressing and Memory Wizard : [Choose IP Interface] ページ 4. [Choose IP Object Name] ページで メ モ リ マ ッ プ名を選択 し て [Next] を ク リ ッ ク し ます。 5. [Summary] ページで [Finish] を ク リ ッ ク し て ウ ィ ザー ド を終了 し ます。 ア ド レ ス ブ ロ ッ ク の追加 1. リ ス ト か ら メ モ リ マ ッ プ を右 ク リ ッ ク し て [Add Address Block] を ク リ ッ ク し ます。 2. [Add Address Block] ダ イ ア ロ グ ボ ッ ク ス で新 し いア ド レ ス ブ ロ ッ ク の名前を選択 し て [OK] を ク リ ッ ク し ます。 [Addressing and Memory] ページには、 選択 し た メ モ リ マ ッ プの下に新 し く 作成 さ れた ア ド レ ス ブ ロ ッ ク を含む子ア ド レ ス ブ ロ ッ ク セ ク シ ョ ンが含まれ る よ う にな り ます。 ア ド レ ス ブ ロ ッ ク の表には、 次の列が含まれます。 • [Name] : ア ド レ ス ブ ロ ッ ク の名前 • [Display Name] : ア ド レ ス ブ ロ ッ ク の表示名 • [Description] : ア ド レ ス ブ ロ ッ ク の詳細な説明 • [Base Address] : ア ド レ ス ブ ロ ッ ク のベース ア ド レ ス • [Range] : ア ド レ ス ブ ロ ッ ク の範囲 • [Range Dependency] : ア ド レ ス ブ ロ ッ ク 範囲の依存式 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 49 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-31 図 3‐31 : ア ド レ ス ブ ロ ッ ク を含む メ モ リ マ ッ プ 3. ア ド レ ス ブ ロ ッ ク のセルを選択 し て必要な情報を入力 し ます。 ア ド レ ス ブ ロ ッ ク パラ メ ー タ ーの追加または削除 ア ド レ ス ブ ロ ッ ク パ ラ メ ー タ ーは、 次の手順で追加で き ます。 1. 表か ら ア ド レ ス ブ ロ ッ ク を選択 し て右 ク リ ッ ク し 、 [Add Address Block Parameter] を ク リ ッ ク し ます。 2. [Add Address Block Parameter] ダ イ ア ロ グ ボ ッ ク ス で名前を選択 し て [OK] を ク リ ッ ク し ます。 3. ア ド レ ス ブ ロ ッ ク パ ラ メ ー タ ーのセルを ク リ ッ ク し て、 情報を入力 し ます。 推奨 : イ ン タ ーフ ェ イ ス の名前は、 その機能を反映する よ う な意味のあ る 名前に し て く だ さ い。 ア ド レ ス ブ ロ ッ ク か ら ア ド レ ス ブ ロ ッ ク パ ラ メ ー タ ーを削除する には、表でそのア ド レ ス ブ ロ ッ ク パ ラ メ ー タ ーを 選択 し て右 ク リ ッ ク し 、 [Remove Address Block Parameter] を ク リ ッ ク し ます。 [IP Addressing and Memory Wizard Summary] ページが開き ます (51 ページの図 3-32)。 新 し い メ モ リ マ ッ プの名前 と そ の メ モ リ マ ッ プの参照す る イ ン タ ーフ ェ イ ス が記述 さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 50 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-32 図 3‐32 : [IP Addressing and Memory Wizard Summary] ページ 4. サマ リ を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。 [Customization GUI] ページ [Customization GUI] ページ (52 ページの図 3-33) では、 カ ス タ ム IP の GUI カ ス タ マ イ ズ環境を設定で き ます。 こ こ で は、 表示ページ、 パ ラ メ ー タ ー グループ、 テ キ ス ト フ ィ ール ド を追加 し て レ イ ア ウ ト を カ ス タ マ イ ズで き ます。 [Customization Parameters] セ ク シ ョ ンで IP のパ ラ メ ー タ ーを設定 し た ら 、GUI を カ ス タ マ イ ズ し て カ ス タ ム IP の設定 方法を変更で き ます。 [Customization GUI] ページには、 最初は GUI の単独ページに表示可能なすべてのパ ラ メ ー タ ーが表示 さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 51 第 3 章 : IP のパ ッ ケージ X-Ref Target - Figure 3-33 図 3‐33 : [Package IP] : [Customization GUI] ページ [Customization GUI] ページには、 2 つの フ ィ ール ド が表示 さ れます。 • [Layout] : カ ス タ ム IP の GUI を変更で き る レ イ ア ウ ト の階層表示 • [Preview] : カ ス タ ム IP のカ ス タ マ イ ズ GUI の表示プ レ ビ ュ ー [Layout] フ ィ ール ド には、 カ ス タ マ イ ズ GUI コ ン ポーネ ン ト の階層ビ ュ ーが表示 さ れます。 最上位にあ る カ ス タ マ イ ズ コ ン ポーネ ン ト を関連付け る ための [Window] コ ン ポーネ ン ト の下には、 カ ス タ ム IP の GUI 表示を カ ス タ マ イ ズす る ために合計 4 つの コ ン ポーネ ン ト を作成で き ます。 ° [Page] : カ ス タ ム IP のパ ラ メ ー タ ーを表示する 個別ページ ° [Group] : グループ を表示す る パ ラ メ ー タ ーの コ レ ク シ ョ ン ° [Parameter] : カ ス タ ム IP のパ ラ メ ー タ ー ° [Text] : GUI に必要な情報を表示す る ためのテ キ ス ト フ ィ ール ド 各 コ ン ポーネ ン ト 同士は [Layout] フ ィ ール ド 内で階層状に関連付け る こ と がで き ま す。 [Group]、 [Parameter]、 [Text] コ ン ポーネ ン ト は [Page] ま たは [Group] の下に含め る こ と がで き ます。[Page] コ ン ポーネ ン ト は [Window] コ ン ポーネ ン ト の下に し か含め る こ と はで き ません。 右側のプ レ ビ ュ ー フ ィ ール ド には、 IP カ タ ロ グに表示 さ れ る IP のカ ス タ マ イ ズ GUI その ま ま が表示 さ れます。 プ レ ビ ュ ーの コ ン ポーネ ン ト は、 [Layout] フ ィ ール ド で表示 さ れた順番で表示 さ れます。 コ ン ポーネ ン ト の表示 さ れ る 順番は、 [Layout] フ ィ ール ド か ら コ ン ポーネ ン ト を ド ラ ッ グする と 変更で き ます。 [Customization GUI] ページにはその情報が保持 さ れ る ので、単純な繰 り 返 し 動作でカ ス タ ム IP を ア ッ プデー ト で き ま す。 こ れは、 影響を受け る のが追加ま たは削除 さ れたパ ラ メ ー タ ーだけだか ら です。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 52 第 3 章 : IP のパ ッ ケージ [Layout] フ ィ ール ド へのパラ メ ー タ ーの追加 [Layout] フ ィ ール ド にパ ラ メ ー タ ーを追加する には、 次を実行 し ます。 1. 追加す る パ ラ メ ー タ ーの階層レベル (Page ま たは Group) を選択 し て右 ク リ ッ ク し 、[Add Parameter] を ク リ ッ ク し ます。 注記 : ま たは、 ツールバーか ら [Add] ボ タ ン 2. を ク リ ッ ク し ます。 [Add Parameter] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を選択 し て [OK] を ク リ ッ ク し ます。 ° [Available Parameters] : カ ス タ ム IP の使用可能なパ ラ メ ー タ ー。 こ れ ら は [Customization GUI] ページに前に 追加 さ れていないパ ラ メ ー タ ーです。 ° [Display Name] : [Customization GUI] ページのパ ラ メ ー タ ーに対 し て表示 さ れ る ラ ベル テ キ ス ト ° [Tooltip] : [Customization GUI] ページのパ ラ メ ー タ ーにカー ソ ルを置いた と き に表示 さ れ る ツール ヒ ン ト に 表示 さ れ る テ キ ス ト ° [Show Label] : パ ラ メ ー タ ーの ラ ベル (Display Name) の表示を指定す る オプシ ョ ン [Layout] フ ィ ール ド へのグループの追加 [Layout] フ ィ ール ド にグループ を追加す る には、 次を実行 し ます。 1. 追加す る グループの階層レベル (Page ま たは Group) を選択 し て右 ク リ ッ ク し 、 [Add Group] を ク リ ッ ク し ます。 注記 : ま たは、 ツールバーか ら [Add] ボ タ ン を ク リ ッ ク し ます。 2.[Add Group] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を選択 し て [OK] を ク リ ッ ク し ます。 ° [Display Name] : [Customization GUI] ページのグループに対 し て表示 さ れ る ラ ベル テ キ ス ト ° [Tooltip] : [Customization GUI] ページのグループにカー ソ ルを置いた と き に表示 さ れ る ツール ヒ ン ト に表示 される テキ ス ト ° [Layout] : グループの コ ン ポーネ ン ト を垂直ま たは水平方向に表示す る オプシ ョ ン [Layout] フ ィ ール ド へのページの追加 [Layout] フ ィ ール ド にページ を追加す る には、 次を実行 し ます。 1.Window コ ン ポーネ ン ト を選択 し て右 ク リ ッ ク し 、 [Add Page] を ク リ ッ ク し ます。 注記 : ま たは、 ツールバーか ら [Add] ボ タ ン 2. を ク リ ッ ク し ます。 [Add Page] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を選択 し て [OK] を ク リ ッ ク し ます。 ° [Display Name] : [Customization GUI] ページのページの タ ブに表示 さ れ る ラ ベル テ キ ス ト ° [Tooltip] : [Customization GUI] ページのページ内容にカー ソ ルを置いた と き に表示 さ れ る ツール ヒ ン ト に表 示される テキ ス ト レ イ アウ ト へのテキス ト の追加 レ イ ア ウ ト にページ を追加す る には、 次を実行 し ます。 1. テ キ ス ト を追加す る 階層レベル (Page ま たは Group) を選択 し て、 右 ク リ ッ ク し 、 [Add Parameter] を ク リ ッ ク し ま す。 注記 : ま たは、 ツールバーか ら [Add] ボ タ ン 2. を ク リ ッ ク し ます。 [Add Text] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を選択 し て [OK] を ク リ ッ ク し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 53 第 3 章 : IP のパ ッ ケージ ° [Display Name] : [Customization GUI] ページのテ キ ス ト の レ イ ア ウ ト お よ びツール ヒ ン ト に表示 さ れ る ラ ベ ル テキ ス ト ° [Text] : [Customization GUI] ページに表示 さ れ る テ キ ス ト [Review and Package] ページ 次の図に示す よ う に、 [Review and Package] ページには IP のサマ リ 、 パ ッ ケージ後に選択 し た設定に関する 情報が表 示 さ れます。 IP は、 最初は Create and Package IP ウ ィ ザー ド の終わ り にパ ッ ケージ さ れます。 カ ス タ ム IP のパ ッ ケージ段階で何か 変更があ る 場合は、 カ ス タ ム IP をパ ッ ケージ し 直 し て変更が反映 さ れ る よ う にする 必要があ り ます。 X-Ref Target - Figure 3-34 図 3‐34 : [Package IP] : [Review and Package] ページ サ マ リ 情報 は、 [Identification] ペー ジ か ら の カ ス タ ム IP の 識別デー タ で す。 情報 を 変更す る に は、 20 ペー ジ の 「[Identification] ページ」 に示す [Identification] ページで変更 し て く だ さ い。 [After Packaging] セ ク シ ョ ンには、 パ ッ ケージが終了 し た後の Vivado IDE の動作に関す る 情報が含まれます。 パ ッ ケージ ャ ーが ど の よ う に動作す る か を記述 し た情報は、 7 ページの 「IP のプ ロ ジ ェ ク ト 設定」 に示す [Packager] タ ブの設定に基づいてい ます。 • [Archive] : IP のアーカ イ ブ を作成す る か ど う か を選択 し ます。 • [Repository] : Vivado の [Repository Manager] タ ブの IP のデ ィ レ ク ト リ です。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 54 第 3 章 : IP のパ ッ ケージ IP のプ ロ ジ ェ ク ト 設定には、 カ ス タ ム IP 定義のアーカ イ ブ を作成す る オプシ ョ ンがあ り ます。 デフ ォ ル ト では、カ ス タ ム IP が IP のルー ト デ ィ レ ク ト リ に生成 さ れ、ソ ース フ ァ イ ルは可能であれば IP のルー ト デ ィ レ ク ト リ か ら 相対的に参照 さ れます。 アーカ イ ブが作成 さ れ る 場合は、 Vivado IDE が相対的に参照 さ れ る フ ァ イ ルすべて を 1 つのアーカ イ ブ フ ァ イ ルに圧縮 し ます。 こ のアーカ イ ブ フ ァ イ ルは、 1 つのアーカ イ ブ フ ァ イ ルを使用す る か、 指定 し た リ ポジ ト リ デ ィ レ ク ト リ にアーカ イ ブ フ ァ イ ルを抽出する こ と で、 Vivado リ ポジ ト リ で使用で き る よ う にな り ます。 IP がパ ッ ケージ さ れ る と 、 カ ス タ ム IP が現在の Vivado プ ロ ジ ェ ク ト の IP カ タ ロ グか ら 使用で き る よ う にな り ます。 Vivado IDE ではカ ス タ ム IP の IP ルー ト デ ィ レ ク ト リ を [Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [IP] ペー ジの [Repository Manager] タ ブに自動的に追加 し ます。 IP のルー ト デ ィ レ ク ト リ は、 カ ス タ ム IP 定義のデ ィ レ ク ト リ で、 カ ス タ ム IP を必要 と する ほかの Vivado プ ロ ジ ェ ク ト の [Repository Manager] に追加す る のに必要なデ ィ レ ク ト リ です。 IP の再パ ッ ケージ IP をパ ッ ケージ し 直すには、 次の手順に し たがっ て く だ さ い。 1. [Review and Package] ページの一番下の [Re-Package IP] ボ タ ン を ク リ ッ ク し ます。 2. [Package IP] ポ ッ プア ッ プ ダ イ ア ロ グ ボ ッ ク ス で [OK] を ク リ ッ ク し ます。 重要 : IP をパ ッ ケージ し 直 し てデフ ォ ル ト パ ラ メ ー タ ー値を変更 し て も 、 IP イ ン ス タ ン ス のカ ス タ マ イ ズ パ ラ メ ー タ ーは変わ り ません。 変更が必要であれば、 IP イ ン ス タ ン ス それぞれを新 し いデフ ォ ル ト 値に手動で変更す る 必要が あ り ます。 IP のアー カ イ ブの作成 IP のアーカ イ ブ を作成す る には、 次を実行 し ます。 1. 7 ページの 「IP のプ ロ ジ ェ ク ト 設定」 に示す [Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [IP] ページの [Packager] タ ブで [Create archive of IP] をオンに し ます。 注記 : こ の設定 タ ブは、 [edit packaging setting] ハ イ パー リ ン ク を ク リ ッ ク す る と 開 く こ と がで き ます。 2. [After Packaging] セ ク シ ョ ンで [edit packaging setting] ハ イ パー リ ン ク を ク リ ッ ク し て、 アーカ イ ブの名前 と デ ィ レ ク ト リ を変更 し ます。 注記 : デフ ォ ル ト では、 アーカ イ ブ名は <Vendor>_<Library>_<Name>_<Version#>.zip です。 3. [Package IP] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を選択 し て [OK] を ク リ ッ ク し ます。 ° [Archive name] : アーカ イ ブ フ ァ イ ル名 ° [Archive location] : アーカ イ ブ フ ァ イ ルが作成 さ れ る デ ィ レ ク ト リ カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 55 第 3 章 : IP のパ ッ ケージ enablement 式の設定 ポー ト お よ び イ ン タ ー フ ェ イ ス に enablement 式 を使用す る と 、 その カ ス タ マ イ ズ に基づい て カ ス タ ム IP の最上位 ポー ト を イ ネーブルかデ ィ ス エーブルに で き ま す。 式 を 評価す る 構文では、 IP パ ッ ケ ー ジ ャ ーの [Customization Parameters] ページで定義 さ れたパ ラ メ ー タ ーを参照で き ます。 パ ラ メ ー タ ーの変数名はそのパ ラ メ ー タ ーの名前で、 大文字/小文字が区別 さ れ る ほか、 変数名の前には $ を付け る 必要があ り ます。 た と えば、 BAUD_RATE と い う 名前のパ ラ メ ー タ ーには、 $BAUD_RATE の式の変数 リ フ ァ レ ン ス が含まれます。 機能す る 式を作成す る には、パ ラ メ ー タ ー名に数値 と 比較演算子を含めて、ブール演算式が形成 さ れ る よ う に し ます。 注記 : 式の規則については、 http://wiki.tcl.tk/583 を参照 し て く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 56 第 4章 IP イ ン テグレー タ ーでの IP の作成およびパ ッ ケージ 概要 本章は、 IP を作成お よ びパ ッ ケージす る Vivado® IP イ ン テ グ レー タ ーの簡単な概要 と 、 [Create Interface Definition] 機 能について説明 し ます。 ビデオ : こ の機能の使用方法については、 Vivado チ ュ ー ト リ アル ビデオの 「IP イ ン テ グ レー タ ーを使用 し た カ ス タ ム IP のパ ッ ケージ」 を参照 し て く だ さ い。 IP イ ン テグ レー タ ーからのブ ロ ッ ク デザイ ンのパ ッ ケージ IP イ ン テ グ レー タ ー デザ イ ン を作成 し 、 イ ンプ リ メ ン ト し 、 タ ーゲ ッ ト ハー ド ウ ェ アでそれを テ ス ト し て、 機能に 問題がなければ、 そのデザ イ ン をパ ッ ケージ し て、 ほかのデザ イ ンで再利用で き る IP に変換で き ます。 デザ イ ン をパ ッ ケージにす る と 、 それが IP に変換 さ れて、 IP カ タ ロ グか ら 使用で き る よ う にな り ます。 その IP は別 のデザ イ ンの一部 と し て イ ン ス タ ン シエー ト で き ます。 ブ ロ ッ ク デザ イ ン をパ ッ ケージす る には、 次の手順に し たがっ て く だ さ い。 1. Vivado IDE の [Sources] ビ ュ ーでブ ロ ッ ク デザ イ ン を右 ク リ ッ ク し て [Package Block Design] を ク リ ッ ク し ます (58 ページの図 4-1)。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 57 第 4 章 : IP イ ン テグレー タ ーでの IP の作成およびパ ッ ケージ X-Ref Target - Figure 4-1 図 4‐1 : [Package Block Design] コ マ ン ド 次の図の よ う な [Package IP] ウ ィ ン ド ウ が表示 さ れます。 X-Ref Target - Figure 4-2 図 4‐2 : [Package IP] ウ ィ ン ド ウ 2. [Review and Package] を ク リ ッ ク し 、 [Package IP] を ク リ ッ ク し ます。 パ ッ ケージ オプシ ョ ンの詳細は、 第 3 章 「IP のパ ッ ケージ」 を参照 し て く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 58 第 4 章 : IP イ ン テグレー タ ーでの IP の作成およびパ ッ ケージ IP がパ ッ ケージ さ れ る と 、次の図に示す よ う に IP が IP イ ン テ グ レー タ ー カ タ ロ グか ら 使用で き る よ う にな り ま す。 X-Ref Target - Figure 4-3 図 4‐3 : IP イ ン テグレー タ ー カ タ ロ グのパ ッ ケージ さ れたデザイ ン 新 し く パ ッ ケージ し たデザ イ ンは、 次の図に示す よ う に [Packaged BlockDiagram Designs] カ テ ゴ リ の下の Vivado IP カ タ ロ グに も 表示 さ れます。 こ のカ テ ゴ リ 名は、 ブ ロ ッ ク デザ イ ン をパ ッ ケージにす る 際に変更で き ます。 X-Ref Target - Figure 4-4 図 4‐4 : [Packaged Block Diagram Designs] カ テ ゴ リ ブ ロ ッ ク デザイ ンのパ ッ ケージに関する制限事項 ブ ロ ッ ク デザ イ ン をパ ッ ケージす る 際の制限事項は、 次の と お り です。 • パ ッ ケージ さ れたブ ロ ッ ク デザ イ ンに MicroBlaze™ ま たは Zynq®-7000 プ ロ セ ッ サが含まれ る 場合、 そのデザ イ ンが別のプ ロ ジ ェ ク ト に イ ン ス タ ン シエー ト さ れ る と 、[Export Hardware to SDK] を実行す る 際に問題が発生 し ま す。 SDK では、 パ ッ ケージ さ れたブ ロ ッ ク デザ イ ンに含まれ る エンベデ ッ ド オブジ ェ ク ト が元々認識 さ れませ ん。 • ブ ロ ッ ク デザ イ ンがパ ッ ケージ さ れ る と 、 下位レベルの IP の XCI フ ァ イ ルへの リ フ ァ レ ン ス を含むパ ッ ケージ フ ァ イ ル (.xml) が生成 さ れ ます。 こ のパ ッ ケージ デザ イ ン を今後の ソ フ ト ウ ェ ア リ リ ース に移植す る 際に、 そ の IP の新 し いバージ ョ ンがあ る と 、 IP が ロ ッ ク さ れ、 ア ッ プグ レー ド で問題にな る こ と があ り ます。 IP イ ン テグ レー タ ー デザイ ンのバージ ョ ン管理 Vivado Design Suite は、 ど のバージ ョ ン管理シ ス テ ム と も 連動す る よ う にな っ てい ます。 バージ ョ ン管理シ ス テ ムに適 し たデザ イ ンにす る ために、 Vivado では次がサポー ト さ れます。 • フ ァ イ ルを変更 し た と き にのみ タ イ ム ス タ ン プ を ア ッ プデー ト プ ロ ジ ェ ク ト を開いて も フ ァ イ ルの タ イ ム ス タ ンプが変わ ら ない • ASCII ベース のプ ロ ジ ェ ク ト フ ァ イ ル • Tcl ス ク リ プ ト 機能 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 59 第 4 章 : IP イ ン テグレー タ ーでの IP の作成およびパ ッ ケージ プ ロ ジ ェ ク ト には複数のデザ イ ン ソ ースお よ び コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ルが含ま れ る こ と があ り ますが、 こ プ ロ ジ ェ ク ト を 作成 し 直 し て イ ン プ リ メ ン テーシ ョ ン 結果 を 生成 し 直すのにバージ ョ ン 管理が必要な のは一部の フ ァ イ ルのみです。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参 照 15] の 「バージ ョ ン管理」 を参照 し て く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 60 第 5章 新規イ ン タ ー フ ェ イ ス定義の作成 概要 イ ン タ ーフ ェ イ ス定義には、機能が同 じ 信号を共通の イ ン タ ーフ ェ イ ス グループに ま と めて、Vivado IP イ ン テ グ レー タ ー図の IP 間で使用で き る 機能があ り ます。 イ ン タ ーフ ェ イ ス定義を使用す る と 、 図が よ り わか り やす く 表示 さ れ る よ う にな る ほか、 信号が IP ペア間で動作す る よ う に標準化 さ れます。 ザ イ リ ン ク ス か ら は、標準 AXI プ ロ ト コ ルお よ びその他の標準信号を含む多 く の イ ン タ ーフ ェ イ ス定義が提供 さ れて い ますが、 レ ガシーま たはカ ス タ ム イ ンプ リ メ ン テーシ ョ ンの中には独自の IP 信号プ ロ ト コ ルを含む も の も あ り ま す。 独自の イ ン タ ーフ ェ イ ス を定義 し て、 使用 さ れ る はずの信号セ ッ ト を取 り 込む こ と で、 こ れ ら の信号が IP 間に存在 す る よ う にで き ます。 [Create Interface Definition] オプシ ョ ンでは IP-XACT 業界標準仕様が使用 さ れます。 イ ン タ ーフ ェ イ ス定義には、 バ ス 定義フ ァ イ ル (myInterface.xml) と 抽象定義フ ァ イ ル (myInterface_rtl.xml) に対応す る 2 つの定義フ ァ イ ル が使用 さ れます。 Vivado IDE は、 こ の作成 さ れた イ ン タ ーフ ェ イ ス定義を使用 し て、 IP パ ッ ケージ ャ ーの [IP Definition] ページでの論 理ポー ト のマ ッ プ と バ ス イ ン タ ーフ ェ イ ス の推論をサポー ト し ます。 新規イ ン タ ー フ ェ イ ス定義の作成 1. [Tools] → [Create Interface Definition] を ク リ ッ ク し ます。 [Create Interface Definition] ダ イ ア ロ グ ボ ッ ク ス が開き ます (62 ページの図 5-1)。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 61 第 5 章 : 新規イ ン タ ー フ ェ イ ス定義の作成 X-Ref Target - Figure 5-1 図 5‐1 : [Create Interface Definition] : 2. 次のオプシ ョ ンか ら イ ン タ ーフ ェ イ ス タ イ プの 1 つを選択 し て く だ さ い。 ° [Create new interface definition] : 空の イ ン タ ーフ ェ イ ス を作成 し ます ( こ の方法は よ く 使用 さ れます)。 ° [Extend from] : 選択 し た イ ン タ ーフ ェ イ ス ポー ト リ ス ト を テ ンプ レー ト と し て使用 し て新規 イ ン タ ーフ ェ イ ス を作成 し ます。 こ れは、 高度な機能です。 新規 イ ン タ ーフ ェ イ ス定義を作成す る と 、 [Interface] タ ブが開 き 、 決定済みのポー ト が定義 さ れていない状 態で表示 さ れます。 新規 イ ン タ ーフ ェ イ ス を作成す る 場合は空白にな っ てい ます。 前に選択 し た イ ン タ ーフ ェ イ ス を使用す る 場合は、 [Ports] リ ス ト に表示済みのポー ト が表示 さ れた状態で [Interface] タ ブが開 き ます。 ポー ト は必要に応 じ て追加ま たは削除で き ます。 3. [Identification] フ ィ ール ド に、 イ ン タ ーフ ェ イ ス に関する 次の情報を入力 し ます。 ° ° 4. [Vendor] : イ ン タ ーフ ェ イ ス のベン ダー。 こ れは、 イ ン タ ーフ ェ イ ス定義の VLNV に表示 さ れ る ベン ダーの 識別子で も あ り ます。 ベン ダー情報には、 標準 イ ン タ ーネ ッ ト ド メ イ ン を使用 し ます。 [Library] : イ ン タ ーフ ェ イ ス の属す る ラ イ ブ ラ リ 。 こ れは、 イ ン タ ーフ ェ イ ス定義の VLNV に表示 さ れ る ラ イ ブ ラ リ の識別子で も あ り ます。 ザ イ リ ン ク ス の命名規則では、 イ ン タ ーフ ェ イ ス定義では [Library] フ ィ ー ル ド に interface が使用 さ れます。 ° [Name] : イ ン タ ーフ ェ イ ス の名前。 こ れは、 イ ン タ ーフ ェ イ ス定義の VLNV に表示 さ れ る 名前の識別子で も あ り ます。 ° [Version] : イ ン タ ーフ ェ イ ス のバージ ョ ン。 こ れは、 イ ン タ ーフ ェ イ ス定義の VLNV に表示 さ れ る バージ ョ ンの識別子で も あ り ます。 ° [Location] : イ ン タ ーフ ェ イ ス XML フ ァ イ ルのペアが作成 さ れ る デ ィ レ ク ト リ 。 [OK] を ク リ ッ ク し て イ ン タ ーフ ェ イ ス の作成を終了 し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 62 第 5 章 : 新規イ ン タ ー フ ェ イ ス定義の作成 イ ン タ ー フ ェ イ ス定義エデ ィ タ ーの使用 新規 イ ン タ ーフ ェ イ ス定義を作成 し 終わっ た ら 、それを変更する ための イ ン タ ーフ ェ イ ス用の ワ ー ク スペース エデ ィ タ ー ( イ ン タ ーフ ェ イ ス定義エデ ィ タ ー ) が [Interface] タ ブに開 き ます。 X-Ref Target - Figure 5-2 図 5‐2 : イ ン タ ー フ ェ イ ス定義エデ ィ タ ー • [Identification] フ ィ ール ド 61 ページの 「新規 イ ン タ ーフ ェ イ ス定義の作成」 に示す よ う に、 既存の イ ン タ ーフ ェ イ ス を定義 し 直す場合、 こ の フ ィ ール ド に入っ てい る 値を変更 し ます。 • ° [Vendor] : ベン ダー名 ° [Display Name] : 可読の短い説明で、 Vivado IP パ ッ ケージ ャ ーの [Bus Interface] に関連す る ビ ュ ーに表示 さ れ ます。 ° [Description] : イ ン タ ーフ ェ イ ス の長い説明で、 こ れ も IP パ ッ ケージ ャ ーの [Bus Interface] に関連す る ビ ュ ー に表示 さ れます。 [Properties] フ ィ ール ド 次の情報を入力 し ます。 ° ° [Max Slaves] : こ れは、 高度なプ ロ パテ ィ です。 - 0 に設定す る と バ ス イ ン タ ーフ ェ イ ス が ス レーブ モー ド の IP 定義に表示 さ れな く な り ます。 - -1 に設定す る と 、 Vivado ツールの DRC で ス レーブ数が確認 さ れな く な り ます。 [Max Masters] : こ れは、 高度なプ ロ パテ ィ です。 - 0 に設定す る と 、バス イ ン タ ーフ ェ イ ス がマ ス タ ー モー ド を使用 し た IP 定義に表示 さ れな く な り ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 63 第 5 章 : 新規イ ン タ ー フ ェ イ ス定義の作成 - -1 に設定す る と 、 IP イ ン テ グ レー タ の DRC でマ ス タ ー数が確認 さ れな く な り ます。 ° [Direct Connection] : こ の高度なプ ロ パテ ィ を オンにす る と 、 IP イ ン テ グ レー タ ーでネ ッ ト リ ス ト のマ ス タ ー か ら ス レーブ ま での ワ イ ヤ接続が作成で き る よ う にな り ます。 ° [Is Addressable] : こ の高度なプ ロ パテ ィ をオンにす る と 、 イ ン タ ーフ ェ イ ス を ア ド レ ス空間マ ッ プで指定で き る よ う にな り ます。 ° [IP (FPGA side) interface] : こ の高度なプ ロ パテ ィ を オンにす る と 、 IP イ ン テ グ レー タ ーの図の IP 間が接続で き な く な り 、 論理ポー ト の表に ス レーブ イ ン タ ーフ ェ イ ス が表示 さ れな く な り ます。 イ ン タ ー フ ェ イ スへの論理ポー ト の追加 1. ポー ト リ ス ト で右 ク リ ッ ク し て [Add Port] を ク リ ッ ク し ます。 ま たはサ イ ド バーの 2. ボ タ ン を ク リ ッ ク し ます。 ポ ッ プア ッ プ フ ィ ール ド にポー ト 名を入力 し 、 Enter キーを押 し ます。 ザ イ リ ン ク ス の命名規則では、 こ れ ら の 名前は大文字に し ます。 イ ン タ ーフ ェ イ ス名は頭に付け ません。 こ の イ ン タ ーフ ェ イ ス にマ ッ プす る IP の物理ポー ト には、 接頭辞が含ま れ る こ と が よ く あ り ますが、 イ ン タ ー フ ェ イ ス定義の場合、 接頭辞は必要あ り ません。 定義済みイ ン タ ー フ ェ イ スか ら の論理ポー ト の追加 イ ン タ ーフ ェ イ ス定義を作成 し た と き と 同様、カ ス タ ム イ ン タ ーフ ェ イ ス に既存の イ ン タ ーフ ェ イ ス か ら ポー ト を追 加す る こ と がで き ます。 1. ポー ト リ ス ト を右 ク リ ッ ク し て [Copy Ports From] を ク リ ッ ク し ます。 ま たはサ イ ド バーの [Copy Ports From] ボ タ ン を ク リ ッ ク し ます。 2. [Copy Interface Ports] ダ イ ア ロ グ ボ ッ ク ス でポー ト を追加する イ ン タ ーフ ェ イ ス を選択 し ます。 3. [OK] を ク リ ッ ク し ます。 選択 し た イ ン タ ーフ ェ イ ス か ら のポー ト がすべて [Ports] リ ス ト に表示 さ れます。 注記 : 同 じ 名前で前に定義済みのポー ト が イ ン ポー ト し たポー ト の中にあ る 場合は、 上書 き さ れます。 論理ポー ト の編集 論理ポー ト を作成す る と 、 [Ports] フ ィ ール ド の表に新 し い行が追加 さ れます。 次のセルを編集 し ます。 ° ° [Description] : 論理ポー ト に関す る 説明を入力 し ます。 ト ラ ンザ ク シ ョ ン信号は、 必ず記述す る 必要があ り ま す。 [Master Presence] : 論理ポー ト がマ ス タ ー モー ド バ ス イ ン タ ーフ ェ イ ス にマ ッ プ さ れ る 必要があ る 場合は [required] を、 そ う でない場合は [optional] を設定 し ます。 使用で き る 値は、 optional、 required、 お よ び illegal のいずれかです。 ° [Master Width] : マ ス タ ー モー ド のバ ス イ ン タ ーフ ェ イ ス に必要なマ ッ プ済みポー ト のビ ッ ト 幅で、 値は -1 (未定義の幅)、 1 (単一ビ ッ ト 信号)、 ま たは決ま っ た値に し ます。 ° [Master Direction] : マ ス タ ー モー ド のバ ス イ ン タ ーフ ェ イ ス用にマ ッ プ さ れ る 場合に必要なポー ト モー ド で、 使用で き る 値は in、 out、 inout のいずれかです。 ° [Slave Presence] : 論理ポー ト が ス レーブ モー ド バ ス イ ン タ ーフ ェ イ ス でマ ッ プ さ れ る 必要があ る 場合は [required] を、 そ う でない場合は [optional] を設定 し ます。 使用で き る 値は、 optional、 required、 お よ び illegal のいずれかです。 注記 : 多 く の場合、 [Slave Presence] と [Master Presence] は同 じ 値にな り ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 64 第 5 章 : 新規イ ン タ ー フ ェ イ ス定義の作成 ° [Slave Width] : ス レーブ モー ド のバ ス イ ン タ ーフ ェ イ ス に必要なマ ッ プ済みポー ト のビ ッ ト 幅で、 値は -1 ( 未定義の幅)、 1 (単一ビ ッ ト 信号)、 ま たは決ま っ た値に し ます。 注記 : 多 く の場合、 [Slave Width] と [Master Width] は同 じ 値にな り ます。 ° [Slave Direction] : マ ス タ ー モー ド のバス イ ン タ ーフ ェ イ ス用にマ ッ プ さ れ る 場合に必要なポー ト モー ド で、 使用で き る 値は in、 out、 inout のいずれかです。 注記 : 通常、 [Slave Direction] と [Master Direction] の方向は反対にな り ま す。 方向が同 じ 場合、 IP イ ン テ グ レー タ ーではマ ス タ ーお よ びス レーブに正 し く 直接接続で き ない こ と があ り ます。 論理ポー ト の役割の変更 次のセルを編集 し て論理ポー ト が接続内で果たす役割を指定 し ます。 ° [Is Address] : 論理ポー ト がア ド レ ス ポー ト と し て使用 さ れ る 場合は、 オンに し ます。 ° [Is Data] : ポー ト がデー タ を伝送 し 、 制御、 ア ド レ ス、 ク ロ ッ ク / リ セ ッ ト ポー ト でない場合はオンに し ます。 ° [Is Clock] : ポー ト が ク ロ ッ ク ラ イ ンの場合はオンに し ます。 ° [Is Reset] : ポー ト が リ セ ッ ト ラ イ ンの場合はオンに し ます。 ° [Default Value] : ポー ト がオプシ ョ ンの場合、IP イ ン テ グ レー タ ーは こ のデフ ォ ル ト 値を使用 し て未接続の場 合に in モー ド を駆動 し ます。 注記 : こ のポー ト が制御 ロ ジ ッ ク の一部であ り 、 オプシ ョ ンの場合、 ト ラ ンザ ク シ ョ ンが停止せずに続行 さ れ る よ う に値を設定す る こ と が重要にな り ます。 ト ラ イ ス テー ト 信号の設定 次のセルには、 ト ラ イ ス テー ト 信号の高度な情報が提供 さ れてい る ので、 3 つの ト ラ イ ス テー ト 信号を使用 し てマ ス タ ー と ス レーブ間の接続の よ う な ク ロ ス オーバーがで き る よ う に指定で き ます。 デバ イ ス にはフ ァ ブ リ ッ ク 内に真の ト ラ イ ス テー ト ラ イ ンがないので、 3 つの信号 (in、 out、 tristate) が ト ラ イ ス テー ト ペア (in、 out、 tristate) を表 し ます。 こ の 3 つの信号を使用 し て イ ン タ ーフ ェ イ ス を作成 し た場合は、 マ ス タ ー と ス レーブ間の接続を可能にす る のに必要 な次の情報を追加 し て く だ さ い。 • [Tristate Role] : ポー ト が ト ラ イ ス テー ト の 3 つの信号の一部であ る か ど う か と 、 その役割を示 し ます。 ト ラ イ ス テー ト 以外のポー ト の場合、 こ のセルは空白にな り ます。 値は、 blank、 in、 out、 お よ び tristate のいずれかにな り ます。 • [Group] : イ ン タ ーフ ェ イ ス に 3 つの ト ラ イ ス テー ト 信号が複数あ る 場合は、 3 つの信号ずつにグループ分けす る こ と が重要 と な り ます。 こ の フ ィ ール ド には、 同 じ 一意の ト ラ イ ス テー ト を形成す る 3 つのポー ト には、 同 じ ス ト リ ン グ識別子を入力 し てお く 必要があ り ます。 イ ン タ ー フ ェ イ ス定義作成の終了 [Create Interface Definition] オプシ ョ ンに必要な情報を入力 し 終え た ら 、 ウ ィ ン ド ウ下部にあ る [Save] ボ タ ン を ク リ ッ ク し て、 XML フ ァ イ ルのペア を保存 し ます。 編集を キ ャ ン セルす る 場合は、 [Discard] ボ タ ン を ク リ ッ ク し ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 65 第 5 章 : 新規イ ン タ ー フ ェ イ ス定義の作成 イ ン タ ー フ ェ イ ス定義の再編集 イ ン タ ー フ ェ イ ス 定 義 を 編 集 す る に は、 [File] → [Open IP-XACT File] を ク リ ッ ク し 、 バ ス 定 義 フ ァ イ ル (myInterface.xml) ま たは抽象定義フ ァ イ ル (myInterface_rtl.xml) のいずれか を参照 し ます。 定義を編集す る には、 ど ち ら の フ ァ イ ル も Vivado GUI と 同 じ デ ィ レ ク ト リ にあ る 必要があ り ます。 新規イ ン タ ー フ ェ イ ス定義の使用 IP 定義 と 同様、 IP-XACT バ ス定義フ ァ イ ル も 、 使用す る には IP パ ッ ケージ ャ ー と IP イ ン テ グ レー タ ー ツールの リ ポジ ト リ パ ス にあ る 必要があ り ます。 推奨 : /IP リ ポジ ト リ を、 イ ン タ ーフ ェ イ ス定義フ ァ イ ルを含むための /interfaces 下位デ ィ レ ク ト リ と 、 IP 定義 フ ァ イ ルを含め る ための IP 下位デ ィ レ ク ト リ を含む よ う に構築 し ます。 リ ポジ ト リ パ ス は、 IP 定義フ ァ イ ルを含む デ ィ レ ク ト リ の前に追加す る 必要があ り ます。 IP カ タ ロ グで イ ン タ ーフ ェ イ ス定義フ ァ イ ルを確認す る には、 次を実行 し ます。 1. IP カ タ ロ グでカ タ ロ グが リ ポジ ト リ 別に表示 さ れ る よ う に し ておいて く だ さ い。 2. 新 し い イ ン タ ーフ ェ イ ス定義フ ァ イ ルを含むユーザー リ ポジ ト リ を選択 し ます。 [IP Properties] ビ ュ ーに、 イ ン タ ーフ ェ イ ス の名前 と 数が表示 さ れます。 イ ン タ ーフ ェ イ ス定義が認識 さ れた ら 、 IP パ ッ ケージ ャ ーで、 バ ス イ ン タ ーフ ェ イ ス のポー ト マ ッ プの推論機能 も 含め、 バ ス定義に基づいて IP 定義か ら バ ス イ ン タ ーフ ェ イ ス が作成 さ れ る よ う にな り ます。 重要 : IP パ ッ ケージ ャ ーでは、 IP の物理ポー ト 名 と 同 じ 論理ポー ト 名に基づいて、 名前が付け ら れます。 IP パ ッ ケー ジ ャ ーでは HDL モジ ュ ール ポー ト 名が <interface_name>_<AXI signal name> 命名規則に従っ ていれば、AXI イ ン タ ーフ ェ イ ス が自動的に検出 さ れます。 た と えば、 s_axi_awvalid の場合、 s_axi は イ ン タ ーフ ェ イ ス名で、 awvalid は イ ン タ ーフ ェ イ ス で使用 さ れ る AXI 信号名の 1 つです。 同 じ <interface_name> の付いたモジ ュ ー ル ポー ト がその イ ン タ ーフ ェ イ ス にマ ッ プ さ れます。 推奨 : IP ブ ロ ッ ク 図では表示 さ れ る 文字数に制限があ る ので、 イ ン タ ーフ ェ イ ス名は短 く し て く だ さ い。 IP パ ッ ケージ ャ ーのバス イ ン タ ーフ ェ イ ス アルゴ リ ズ ムは、 バ ス定義に基づいてほぼ完全にデー タ ド リ ブン でなの で、 ザ イ リ ン ク ス の提供す る 定義 と ユーザーの作成 し た イ ン タ ーフ ェ イ ス と 同 じ よ う に動作 し ます。 AXI4 Memory-Mapped お よ び AXI4-Stream イ ン タ ーフ ェ イ ス には、 デー タ ド リ ブ ン方法以外に も さ ら に多 く の DRC チ ェ ッ ク 機能が含ま れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 66 付録 A [Standard] および [Advanced] フ ァ イル グ ループ 概要 こ の付録には、 [Standard] お よ び [Advanced] フ ァ イ ル グループ カ テ ゴ リ と その説明を リ ス ト し ます。 重要 : NGC 形式の フ ァ イ ルは、 Vivado Design Suite で UltraScale デバ イ ス を タ ーゲ ッ ト にす る 場合はサポー ト さ れ ま せん。 IP は Vivado Design Suite の IP カ ス タ マ イ ズ ツールか ら の出力フ ァ イ ルを その ま ま使用 し て生成 し 直す こ と を お勧め し ます。 ま たは、 NGC2EDIF コ マ ン ド を使用 し て NGC フ ァ イ ルを EDIF に変換 し てか ら イ ン ポー ト し て く だ さ い。 ただ し 、 ザ イ リ ン ク ス では XST で生成 さ れ る NGC 形式の フ ァ イ ル よ り も Vivado IP その も の を使用す る こ と をお勧め し てい ます。 [Standard] フ ァ イル グループ 表 A-1 には、 [Standard] フ ァ イ ル グループ タ イ プ と 説明を リ ス ト し てい ます。 表 A‐1 : [Standard] フ ァ イル グループ タ イ プ と 説明 [Standard] フ ァ イル グループ Examples 例を作成す る フ ァ イ ル。 通常は、 制約 (XDC)、 HDL、 お よ び XST フ ァ イ ルな ど が含 ま れ ま す。 Vivado では こ れ ら の フ ァ イ ルが使用 さ れて、 新 し い Vivado サン プル プ ロ ジ ェ ク ト が作成 さ れ、 エ ン ド ユーザー も 見 る こ と がで き る よ う にな り ま す。 こ の フ ァ イ ルは、 合成お よ びシ ミ ュ レ ー シ ョ ンの両方に使用で き ます。 Product Guide IP の製品ガ イ ド 。 Readme 必要な readme.txt フ ァ イ ル。 Simulation 提供 さ れ る シ ミ ュ レーシ ョ ン フ ァ イ ル。 VHDL お よ び Verilog の混合シ ミ ュ レーシ ョ ンにのみ使 用 し て く だ さ い。 通常は、 [VHDL Simulation] ま たは [Verilog Simulation] を使用 し ます。 合成フ ァ イ ルがシ ミ ュ レーシ ョ ン で も 使用で き る 場合、 シ ミ ュ レーシ ョ ン フ ァ イ ルは該当す る 合成フ ァ イ ル グループの フ ァ イ ル と 同 じ にな り 、ビヘ イ ビ アー シ ミ ュ レーシ ョ ン モデル フ ァ イ ルが使用 さ れ る 場合は合成フ ァ イ ル グループの フ ァ イ ル と は異な る も のにな り ます。 Synthesis 提供 さ れ る 合成フ ァ イ ル。 VHDL お よ び Verilog の混合合成にのみ使用 し て く だ さ い。 通常は、 [VHDL Synthesis] ま たは [Verilog Synthesis] を使用 し ます。 こ こ に制約フ ァ イ ル (XDC) を追加す る と 、 イ ンプ リ メ ン テーシ ョ ン中にその制約フ ァ イ ルが IP の最上位に適用 さ れます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 67 付録 A : [Standard] および [Advanced] フ ァ イル グループ 表 A‐1 : [Standard] フ ァ イル グループ タ イ プ と 説明 (続き) [Standard] フ ァ イル グループ Verilog Simulation 提供 さ れ る シ ミ ュ レーシ ョ ン フ ァ イ ル。 Verilog のみの記述を シ ミ ュ レーシ ョ ンす る 場合に使用 し ます。 こ の フ ァ イ ル グループ と [VHDL Simulation] の両方が表示 さ れ る 場合、 言語別の IP シ ミ ュ レ ーシ ョ ン を含め る こ と がで き ま す。 合成 フ ァ イ ルがシ ミ ュ レ ーシ ョ ン で も 使用で き る 場 合、 シ ミ ュ レーシ ョ ン フ ァ イ ルは該当する 合成フ ァ イ ル グループの フ ァ イ ル と 同 じ にな り 、 ビ ヘ イ ビ アー シ ミ ュ レ ーシ ョ ン モデル フ ァ イ ルが使用 さ れ る 場合は合成 フ ァ イ ル グ ループの フ ァ イ ル と は異な る も のにな り ます。 Verilog Synthesis 提供 さ れ る 合成フ ァ イ ル。Verilog のみの記述を合成する 場合に使用 し ます。こ の フ ァ イ ル グルー プ と [VHDL Synthesis] の両方が表示 さ れ る 場合、 言語別に IP イ ンプ リ メ ン テーシ ョ ン を実行で き ます。 こ こ に制約フ ァ イ ル (XDC) を追加す る と 、 イ ン プ リ メ ン テーシ ョ ン中にその制約フ ァ イ ルが IP の最上位に適用 さ れます。 VHDL Simulation 提供 さ れ る シ ミ ュ レーシ ョ ン フ ァ イ ル。 VHDL のみの記述を シ ミ ュ レーシ ョ ンす る 場合に使用 し ます。 こ のフ ァ イ ル グループ と [Verilog Simulation] の両方が表示 さ れ る 場合、 言語別の IP シ ミ ュ レ ーシ ョ ン を含め る こ と がで き ま す。 合成 フ ァ イ ルがシ ミ ュ レ ーシ ョ ン で も 使用で き る 場 合、 シ ミ ュ レーシ ョ ン フ ァ イ ルは該当する 合成フ ァ イ ル グループの フ ァ イ ル と 同 じ にな り 、 ビ ヘ イ ビ アー シ ミ ュ レ ーシ ョ ン モデル フ ァ イ ルが使用 さ れ る 場合は合成 フ ァ イ ル グ ループの フ ァ イ ル と は異な る も のにな り ます。 VHDL Synthesis 提供 さ れ る 合成フ ァ イ ル。VHDL のみの記述を合成す る 場合に使用 し ます。 こ の フ ァ イ ル グルー プ と [Verilog Synthesis] の両方が表示 さ れ る 場合、 言語別に IP イ ンプ リ メ ン テーシ ョ ン を実行で き ます。 こ こ に制約フ ァ イ ル (XDC) を追加す る と 、 イ ン プ リ メ ン テーシ ョ ン中にその制約フ ァ イ ルが IP の最上位に適用 さ れます。 [Advanced] フ ァ イル グループ 表 A-2 には、 [Advanced] フ ァ イ ル グループ タ イ プ と 説明を リ ス ト し てい ます。 表 A‐2 : [Advanced] フ ァ イル グループ タ イ プ と 説明 [Advanced] フ ァ イル グループ Catalog Disabled Icon IP がデ ィ ス エーブル さ れた と き に IP カ タ ロ グに表示 さ れ る GUI ア イ コ ン(た と えば、 IP で選択 し たデバ イ ス フ ァ ミ リ がサポー ト さ れない場合な ど)。 Catalog Icon IP カ タ ロ グに表示 さ れ る GUI ア イ コ ン。 C Simulation C モデル シ ミ ュ レーシ ョ ン用に フ ァ イ ルを提供す る ために使用。 こ れ ら の フ ァ イ ルは、 こ れ以上 処理を し な く て も コ ピー さ れます (常に評価 さ れ る Tcl と XIT は例外)。プ リ コ ンパ イ ル ラ イ ブ ラ リ を提供す る 場合は、こ れ ら を Vivado 命名規則に従っ たマシ ン別のデレ ク ト リ (例 : lnx32、lnx64、 win32、 お よ び win64) に含め る こ と をお勧め し ます。 Custom UI Layout カ ス タ ム GUI レ イ ア ウ ト と カ ス タ マ イ ズ を制御する Tcl フ ァ イ ル。使用で き る フ ァ イ ルは 1 つの みで、 それ以外の フ ァ イ ルは Utility XIT フ ァ イ ル グループに追加す る 必要があ り ます。 Data sheet IP デー タ シー ト 。 Encrypted Data sheet 暗号化 さ れた IP デー タ シー ト 。 Example Implementation サンプル デザ イ ンの イ ンプ リ メ ン テーシ ョ ン、合成後に適用 さ れ る フ ァ イ ル。通常は、XDC フ ァ イ ルのみを追加す る 必要があ り ます。 Examples Script サンプル プ ロ ジ ェ ク ト を作成す る ための ス ク リ プ ト 。 通常は、 Tcl フ ァ イ ルのみを追加す る 必要 があ り ます。 Examples Script Extension デフ ォ ル ト のサンプル プ ロ ジ ェ ク ト の ス ク リ プ ト を拡張す る ス ク リ プ ト 。 通常は、 Tcl フ ァ イ ル のみを追加す る 必要があ り ます。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 68 付録 A : [Standard] および [Advanced] フ ァ イル グループ 表 A‐2 : [Advanced] フ ァ イル グループ タ イ プ と 説明 (続き) [Advanced] フ ァ イル グループ Examples Simulation シ ミ ュ レーシ ョ ン サンプル デザ イ ン を作成す る フ ァ イ ル。 通常は、 Examples、 Example Synthesis フ ァ イ ル グループのみを使用 し ます。 Getting Started Guide 入門ガ イ ド 。 Implementation イ ン プ リ メ ン テーシ ョ ン デザ イ ン を作成す る フ ァ イ ル。 通常、 こ の フ ァ イ ル グループには イ ン プ リ メ ン テーシ ョ ンのみの制約 (XDC) が含まれます。 MATLAB Simulation MATLAB® ソ フ ト ウ ェ ア シ ミ ュ レーシ ョ ン フ ァ イ ル MIF Files MIF フ ァ イ ル。 Miscellaneous Vivado では生成中にグループのすべての フ ァ イ ルがデ ィ ス ク に コ ピー さ れます。別の適切な フ ァ イ ル グループ を使用する こ と をお勧め し ます。 Reference Design 参照デザ イ ン を作成す る フ ァ イ ル。 Software Drivers 作成 さ れた ソ フ ト ウ ェ ア ド ラ イ バーすべて。 System C Simulation System-C シ ミ ュ レーシ ョ ン用に フ ァ イ ルを提供する ために使用。 プ リ コ ンパ イ ル ラ イ ブ ラ リ を 提供す る 場合は、 こ れ ら を Vivado 命名規則に従 っ た マ シ ン別のデ レ ク ト リ (例 : lnx32、 lnx64、 win32、 お よ び win64) に含め る こ と をお勧め し ます。 System Generator Simulation System Generator シ ミ ュ レーシ ョ ンすべて。 System Verilog Simulation System-Verilog シ ミ ュ レーシ ョ ン用に フ ァ イ ルを提供する ために使用。 Test Bench VHDL お よ び Verilog の両方で記述 さ れた 1 つ以上のテ ス ト ベン チ フ ァ イ ル。 複数の最上位モ ジ ュ ールがあ っ て も 、混合言語テ ス ト ベンチ フ ァ イ ルすべて を追加 し 、 エン ド ユーザーに提供で き る よ う に し ます。 UI DRCs ユーザー イ ン タ ーフ ェ イ ス のデザ イ ン ルール チ ェ ッ ク 。 UI Icon IP カ ス タ マ イ ズ GUI で使用す る GUI ア イ コ ン。 UI Layout GUI レ イ ア ウ ト と カ ス タ マ イ ズ を制御す る Tcl フ ァ イ ル。 使用で き る フ ァ イ ルは 1 つのみで、 そ れ以外の フ ァ イ ルは Utility XIT フ ァ イ ル グループに追加す る 必要があ り ます。 Upgrade Tcl Functions 前バージ ョ ンの IP か ら のア ッ プグ レー ド をサポー ト す る ザ イ リ ン ク ス ス ク リ プ ト 。 こ れ ら を使 用す る と 、 古いバージ ョ ン の IP の イ ン ス タ ン ス と 同等の イ ン ス タ ン ス を最新バージ ョ ンに含め る こ と がで き ます。 Utility XIT/TTCL TTCL、 XIT、 ま たは XSpice の生成中に使用 さ れ る ユーテ ィ リ テ ィ フ ァ イ ルをすべて追加。 こ れ ら は、 デー タ フ ァ イ ル、 イ ン ク ルー ド フ ァ イ ル ま たは余分な評価 Tcl フ ァ イ ルのいずれかにな り ます。 XSpice の場合、 その フ ァ イ ル グループには 1 つの Tcl フ ァ イ ルのみが使用で き る ので、 こ こ にその他のサポー ト さ れ る Tcl フ ァ イ ルを追加 し て く だ さ い。 Verilog Instantiation Template Verilog イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト 。 Verilog Test Bench Verilog で記述 さ れたテ ス ト ベンチ フ ァ イ ル。 Version Information バージ ョ ン情報。 VHDL Instantiation Template VHDL イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト 。 VHDL Test Bench VHDL で記述 さ れた テ ス ト ベンチ フ ァ イ ル。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 69 付録 B その他のソ ースおよび法的通知 ザイ リ ン ク ス リ ソ ース ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 次のザ イ リ ン ク ス サポー ト サ イ ト を参照 し て く だ さ い。 ソ リ ュ ーシ ョ ン セ ン タ ー デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。 Vivado Design Suite の資料 本書では、 次の資料についての記述があ り ます。 1. 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ーの概要』 (UG892) 2. 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) 3. 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) 4. 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) 5. 『Vivado Design Suite チ ュ ー ト リ アル : IP を使用 し た設計』 (UG939) 6. 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) 7. 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) 8. 『Vivado Design Suite ユーザー ガ イ ド : 入門』 (UG910) 9. 『Vivado Design Suite ユーザー ガ イ ド : リ リ ース ノ ー ト 、 イ ン ス ト ールお よ び ラ イ セ ン ス』 (UG973) 10. 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) 11. 『Vivado Design Suite チ ュ ー ト リ アル : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG937) 12. 『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888) 13. 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) 14. 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) 15. 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) 16. 『Vivado Desig n Sutie AXI リ フ ァ レ ン ス ガ イ ド 』 (UG1037) 17. 『Vivado Design Suite プ ロ パテ ィ リ フ ァ レ ン ス ガ イ ド 』 (UG912) 18. 『Vivado Design Suite チ ュ ー ト リ アル : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG936) カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 70 付録 B : その他のソ ースおよび法的通知 19. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) 20. 『Vivado Design Suite チ ュ ー ト リ アル : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1119) 21. Vivado Design Suite ビデオ チ ュ ー ト リ アル 22. Vivado Design Suite の資料 ザイ リ ン ク ス IP の資料 23. 『LogiCORE IP Integrated Logic Analyzer 製品ガ イ ド 』 (PG172) 24. 『LogiCORE IP IBERT for 7 Series GTX Transceivers 製品ガ イ ド 』 (PG132) 25. 『LogiCORE IP IBERT for 7 Series GTP Transceivers 製品ガ イ ド 』 (PG133) 26. 『LogiCORE IP IBERT for 7 Series GTH Transceivers 製品ガ イ ド 』 (PG152) 27. 『LogiCORE IP Virtual Input/Output 製品ガ イ ド 』 (PG 159) ト レーニ ング リ ソ ース ザ イ リ ン ク ス では、本書に含まれ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ースお よ びオン ラ イ ン ビデオを 提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。 1. Vivado での FPGA 設計導入 2. エンベデ ッ ド シ ス テ ム ソ フ ト ウ ェ ア開発 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 71 付録 B : その他のソ ースおよび法的通知 法的通知 The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third-party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of Xilinx’s limited warranty, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos. AMBA, AMBA Designer, ARM, ARM1176JZ-S, CoreSight, Cortex, and PrimeCell are trademarks of ARM in the EU and other countries. © Copyright 2012-2014 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, UltraScale, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners. こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 jpn_trans_feedback@xilinx.com ま で、 ま たは各ページの 右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ーム か ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で 入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受 け付けてお り ません。 あ ら か じ めご了承 く だ さ い。 カ ス タ ム IP の作成 と パ ッ ケージ UG1118 (v2014.3) 2014 年 10 月 1 日 japan.xilinx.com 72
© Copyright 2024 Paperzz