UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 57546

Vivado IP フロー - Vivado で IP ソース ファイルを変更する方法

説明

IP コアの XDC ファイル、HDL パラメーター、ポートなど、IP により配布される暗号化されていないソース ファイルの変更が必要な場合があります。

  • IP コアのソース ファイルの変更は、どうしても必要な場合にのみ実行してください。

  • IP ソース ファイルを変更する必要があると判断した場合は、このアンサーで説明されているガイドラインに従い、ソース ファイルをディスク上で直接変更しないでください。

  • Vivado 環境外で直接変更すると、フローの実行中に IP コアがリセットされたり再生成されたりして、変更が破棄されることがあります。
    変更を加える前に、IP をユーザー管理に配置するか、ロックすることが重要です。
    IP をユーザー管理に配置すると、IP がユーザーによりロックされており、変更されていることが示されます。
    IP をアップグレードする場合は、アップグレード前に変更を再度確認してください。IP をツール管理に戻すと変更が失われます。
    変更用にステータスを変更する前に、IP を正しく設定し、出力ファイルを生成しておくことも重要です。
    IP をユーザー管理にすると、IP をカスタマイズしたり出力ファイルを生成したりすることができなくなります。

ソリューション

Vivado プロジェクトの標準 IP コア

下記の手順は Manage IP プロジェクトに対するものですが、プロジェクト ディレクトリ内またはその外に保存された IP コアを含む RTL プロジェクトにも適用できます。

IP を編集する点から見ると、IP カタログには 2 種類の IP があります。

  • IS_MANAGED プロパティがユーザー変更可能に設定されている IP
  • IS_MANAGED プロパティが読み出し専用に設定されていて、ユーザーが変更できない IP

IS_MANAGED プロパティが読み出し専用に設定されている IP はサブシステムであり、より複雑な IP です。
ダイナミックな Transceivers Wizard IP を参照する UltraScale Ten Gigabit Ethernet PCS/PMA IP がその例です。
サブシステム IP を変更する場合は、「サブシステム IP」セクションを参照してください。

IP を変更する前に、次の手順を実行します。

  1. IP をカスタマイズしていない場合は、カスタマイズして DCP を含むすべての出力ファイルを生成します。
    IP に対してデフォルトの OOC (アウト オブ コンテキスト) フローを使用しない場合は、OOC の設定で DCP の生成をオフにします。
    デフォルト フローを使用することを推奨します。

  2. すべての出力ファイルおよび DCP を生成したら、IP の XCI ファイルの IS_MANAGED プロパティを false に設定します。
    set_property IS_MANAGED false [get_files <IP_NAME>.xci]

    注記 : IP が複雑なサブシステム IP である場合は、次のようなエラー メッセージが表示されます。

    ERROR: [IP_Flow 19-3666] The is_managed property cannot be directly modified for hierarchical IP.

    このエラー メッセージが表示された場合は、「サブシステム IP」セクションを参照してください。

  3. IS_MANAGED を false に設定すると、IS_LOCKED プロパティが true になります。[Sources] ウィンドウの [IP Sources] ビューで IP のアイコンが
    に変更されます。これは、IP コアが Vivado で管理されないことを示します。
    get_property IS_LOCKED [get_files <IP_NAME>.xci] を実行すると 1 が返され、IP がロックされていることがわかります。

    [Report IP Status] コマンドの出力ウィンドウに、IP コアがユーザー管理になったことが示されます。


  4. この時点で IP コアはユーザー管理になっており、XDC や HDL ソース ファイルなど、暗号化されていないファイルをすべて変更できます。
    変更が終了したら、変更後のファイルを使用して DCP を再生成するため、[Design Runs] ウィンドウで IP を右クリックして [Launch Runs] をクリックします。




    選択した run を実行オプションを設定するダイアログ ボックスが表示されます。


    [OK] をクリックすると、run をリセットする必要があり、run に関するすべてのファイルが削除されることを示す別のダイアログ ボックスが表示されます。

    これは IP ソース ファイルのことではなく、run に関連したファイルおよび出力ファイルのことを指しています。


  5. run が完了すると、IP を以前のように使用できるようになります。XCI ファイルを参照すると (推奨)、シミュレーションで IP コアのソース ファイル、最上位の合成用およびインプリメンテーションで DCP にアクセスできます。



サブシステム IP

複雑なサブシステム IP の中には、IS_MANAGED プロパティを変更できないものがあります。

これには、すべての 7 シリーズおよび UltraScale FPGA ファミリの IP が含まれます。

サブシステム IP の IS_MANAGED プロパティを変更できるかどうかは、IP の特定のカスタマイズ オプションによります。

このような IP の RTL ファイルの変更にはリスクが伴います。たとえば、変更を加えたためにサブコアへの接続が無効なってしまう可能性があります。

このような IP の HDL ファイルへの変更には、細心の注意を払ってください。

このような IP に変更が必要な場合は、変更を加える前に、IP を手動でロックすることを推奨します。

 set_property IS_LOCKED true [get_files ten_gig_eth_pcs_pma_0.xci] 

IP をロックすると、[IP Source] ビューの IP アイコンの上に鍵マークが付きます。

このように IP をロックしておくと、Vivado によって IP の出力ファイルが変更されたり IP がリセットされたりするのを防ぐことができます。

また、ユーザーにより IP が変更されていることがわかりやすくなります。

IS_MANAGED プロパティを使用して IP をユーザー管理にした場合とは異なり、IP をロックすると、Vivado にビルトインされているテキスト エディターを使用して IP を変更することはできません。

[Tools] → [Options] → [General] をクリックし、[Text Editor] エリアで別のエディターを選択するか、任意のテキスト エディターを使用してファイルをディスク上で直接変更する必要があります。

ファイルを変更したら、サブシステムでない IP の手順 4 に進み、DCP を再生成します。


IP インテグレーター ブロック デザイン (BD) の IP インスタンス

IP インテグレーター ブロック デザインの IP の内容を変更するには、生成されたソースをカスタム IP として再パッケージし、必要に応じて HDL を変更します。

BD に IP コアが含まれており、IP コアを再カスタマイズすることにより取得されていない生成された HDL を変更する必要がある場合、BD で使用するためには、生成されたファイルを再パッケージする必要があります。 

添付のスクリプト (make_static.tcl) は、このプロセスで使用するために提供されています。このスクリプトは公式にはサポートされていませんが、生成された IP コアを IP 定義として再パッケージし、その IP を使用して新しいインスタンスを IP インテグレーターで作成するために使用できます。 

これが終了したら、通常のカスタム IP の場合と同様に IP 定義を変更できます。最上位のインターフェイスを変更する場合は、IP パッケージャー フローの変更を使用して変更内容を結合してください。

作成された IP 定義のパラメーターは変更できません。

このスクリプトは、IP インスタンスから IP 定義を作成することを目的としています。類似の名前を持つ IP が作成されますが、Static という接頭辞が付けられます。

使用される .xci ファイルが、現在開いているプロジェクト内にあり、この .xci ファイルが完全に生成されていることが重要です。


スクリプトを実行するには、次の手順に従います。

  1. スタティックにする .xci ファイルを含むプロジェクトを開きます。
  2. source コマンドを使用してこのスクリプトを読み込みます。
  3. 定義を作成するプロセスを実行します。
    makeXciDefinition [get_files my_core_name.xci ]

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
make_static.tcl 5 KB TCL
AR# 57546
日付 10/19/2015
ステータス アクティブ
種類 一般
ツール
このページをブックマークに追加