RTL デザインのエクスポート

Vitis HLS デザイン フローの最後の手順では、RTL 出力をパッケージしてエクスポートします。Export RTL ツールバー ボタン () または SolutionExport RTL をクリックし、[Export RTL] ダイアログ ボックスを開きます。

1: [Export RTL] ダイアログ ボックス

Vitis HLS フローの最後の段階では、RTL デザインをザイリンクス デザイン フローのその他のツールで使用できる形式でエクスポートします。RTL デザインは、次の出力形式にパッケージできます。

表 1. [RTL Export] の選択肢
フォーマット サブフォルダー コメント
Vivado IP (.zip) solution/impl/export.zip

IP が Vivado IP カタログに追加可能な ZIP ファイルとしてエクスポートされます。

impl/ip フォルダーには、ZIP ファイルの内容 (抽出済み) も含まれます。

Vitis Kernel (.xo) solution/impl/export.xo

.xo 出力はアプリケーション アクセラレーション開発フローの Vitis コンパイラでリンクするために使用されます。

Vitis カーネルをほかのカーネルとリンクし、ターゲット アクセラレータ カードとリンクすると、アクセラレーション アプリケーションの xclbin ファイルをビルドできます。

Synthesized Checkpoint (.dcp) solution/impl/ip

このオプションでは、Vivado Design Suite のデザインに直接追加できる Vivado チェックポイント ファイルが作成されます。

これには、RTL 合成が実行されている必要があります。このオプションをオンにすると、flow オプションと syn 設定が自動的に選択されます。

出力には、IP をより高位のデザインにインスタンシエートするために使用できる HDL ラッパーが含まれます。

Vivado IP for System Generator solution/impl/ip

System Generator for DSP の Vivado エディションで使用可能な IP が作成されます。

ヒント: Vitis HLS の高位合成の結果のレポートには、クロック周波数およびリソース使用率 (LUT、DSP、BRAM ばど) を含む見積もりが含まれます。Vitis HLS では使用される最適化や配線遅延がわからず、実際のエリアおよびタイミング値もわからないので、これらの結果はあくまでも見積もりです。Vivado 合成またはインプリメンテーションを実行するように選択すると、最終的な IP がより正確になるほか、それらの結果をデザイン フローのほかの部分で使用できるようにもなります。

最後に、エクスポートする出力ディレクトリも指定できます。ディレクトリを指定しない場合は、プロジェクトのデフォルト フォルダーの solution/impl/ になります。

Vivado IP の設定

[Export RTL] ダイアログ ボックスで Vivado IP フォーマットを選択すると、IP を設定するオプションも含まれます。Configuration ボタンをクリックすると、次の図に示すな [IP Identification] ダイアログ ボックスが開き、エクスポートされた RTL で特定の IP を見つけやすくする情報を指定できます。

2: [IP Identification] ダイアログ ボックス

Configuration 情報は、デザインが Vivado IP カタログに読み込まれたときに、同じデザイン内の複数インスタンスを識別するために使用されます。たとえば、インプリメンテーションが IP カタログ用にパッケージされてから、新しいソリューションが作成されて IP としてパッケージされると、新しいソリューションにはデフォルトで同じ名前とコンフィギュレーション情報が含まれます。新しいソリューションが IP カタログに追加されると、IP カタログではそれが同じ IP のアップデート バージョンとして認識され、IP カタログに追加された最新バージョンの方が使用されるようになります。

Configuration オプションおよびそのデフォルト値は、次のとおりです。
  • Vendor: xilinx.com
  • Library: hls
  • Version: 1.0
  • Description: IP generated by Vitis HLS
  • Display Name: デフォルトは空白
  • Taxonomy: デフォルトは空白
ヒント: 上記で指定されているデフォルト値は、ほかに値が指定されていない場合に適用されます。

IP パッケージ プロセスが終了したら、solution/impl フォルダーの ZIP ファイル アーカイブを Vivado IP カタログにインポートして、どのデザインででも使用できるようになります。

ソフトウェア ドライバー ファイル

AXI4-Lite スレーブ インターフェイスを含むデザインの場合、エクスポート プロセスでソフトウェア ドライバー ファイルのセットが作成されます。これらの C ドライバー ファイルは Vitis エンベデッド ソフトウェア開発プロジェクトに含めて、AXI4-Lite スレーブ ポートにアクセスするために使用できます。

ソフトウェア ドライバー ファイルは、solution/impl/ip/drivers ディレクトリに書き込まれ、IP パッケージ (export.zip) に含められます。C ドライバー ファイルの詳細は、AXI4-Lite インターフェイス を参照してください。

RTL エクスポートの出力

Vitis HLS で Export RTL コマンドを実行すると、アクティブ ソリューションのフォルダーにある impl フォルダーに出力が保存されます。

出力ファイルおよびフォルダーは、次のとおりです。

  • component.xml: インターフェイスおよびアーキテクチャを定義する IP コンポーネント ファイル。
  • export.zip: IP およびその内容の ZIP アーカイブ。この ZIP ファイルは、Vivado IP カタログに直接追加できます。
  • export.xo: Vitis アプリケーション アクセラレーション開発フローで使用するためのコンパイル済みカーネル オブジェクト。
  • impl/ip: ZIP ファイルから解凍された IP の内容。
  • impl/ip/example: パッケージされた IP を生成する Tcl スクリプトと IP をエクスポートするシェル スクリプトを含むフォルダー。
  • impl/report: 合成済みまたは配置配線済み IP のレポートを含むフォルダー。
  • impl/verilog: Verilog 形式の RTL 出力ファイルを含むフォルダー。
  • impl/vhdl: VHDL 形式の RTL 出力ファイルを含むフォルダー。
    ヒント: Vivado synthesis または Vivado synthesis, place, and route オプションが選択されている場合、Vivado 合成およびインプリメンテーションは Verilog または VHDL フォルダーで実行されます。その場合、このフォルダーに Vivado Design Suite で開くことができる project.xpr ファイルが含まれます。
重要: ザイリンクスでは、ユーザー独自の RTL 合成プロジェクトに verilog または vhdl フォルダーのファイルを直接使用することはお勧めしません。ザイリンクスでは、その代わりにパッケージ済み IP 出力ファイルを使用することを勧めします。この注記の後の説明を参照してください。

浮動小数点のデザインなど、Vitis HLS でザイリンクス IP が使用される場合、RTL ディレクトリには RTL 合成中に IP を作成するためのスクリプトが含まれます。verilog または vhdl フォルダーのファイルをコピーして RTL 合成で使用する場合、これらのフォルダー内にあるスクリプト ファイルを正しく使用することはユーザーの責任です。パッケージされた IP が使用される場合、このプロセスはザイリンクス ツールにより自動的に実行されます。Vitis HLS で C/RTL 協調シミュレーションが実行されていれば、Vivado プロジェクトに RTL テストベンチも含まれ、デザインをシミュレーションできます。

プロジェクトのアーカイブ

プロジェクトを作成し、RTL をエクスポートしたら、Vitis HLS プロジェクトを業界標準の ZIP ファイルにアーカイブできます。FileArchive Project をクリックすると、次の図に示す [Archive Project] ダイアログ ボックスが表示されます。

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

[Archive Project] ダイアログ ボックスには、次の設定があります。

  • Archive Name: 作成するアーカイブ ファイルの名前を指定します。
  • Active Solution Only: アクティブ ソリューションのみを含めます。デフォルトでオンになっています。このオプションをオフにすると、現在のプロジェクトからのすべてのソリューションが含まれます。
  • Include Run Results: デフォルトでは、アーカイブ ファイルにソース ファイルと制約のみが含まれます。このオプションをオンにすると、アーカイブ ファイルにシミュレーションおよび合成の結果も含まれます。