Vitis Model Composer では、Vivado の IP カタログで使用可能な IP パッケージが自動的に生成されます。Model Composer で IP カタログ用の出力ファイルが生成されると、まず C++ コードの生成 に示すように C++ コードが記述され、その C++ コードから RTL が合成されます。このプロセスは、Model Composer Hub ブロックの Target を IP catalog に設定し、Apply で変更を適用して Generate をクリックすると開始します。
Model Composer には、プロセスのログ ウィンドウが表示されます。プロセスが終了すると、 MATLAB® ウィンドウに合成レポートが表示されます。合成レポートには、Model Composer で合成された RTL デザインのパフォーマンス見積もりとリソース使用率の詳細が含まれます。このレポートを確認すると、見積もりを確認して、モデルを見直すことができます。
Vitis Model Composer で RTL の合成が終了すると、ログ ウィンドウに「Exporting RTL as a Vivado IP
」 (RTL を Vivado IP としてエクスポート中) というメッセージが表示され、Vivado が起動て、そのサブシステム デザインの IP がパッケージされます。
Model Composer では、このアルゴリズムにより、次の出力ファイルが生成されます。
- SystemC (IEEE 1666-2006、バージョン 2.2)
- VHDL (IEEE 1076-2000)
- Verilog (IEEE 1364-2001)
- 合成、C/RTL 協調シミュレーション、および IP パッケージの後に生成されるレポート ファイル。
Vitis Model Composer で IP パッケージが生成されると、プロジェクト ディレクトリ構造は次の図のようになります。Edge_Detection_IP フォルダーは、Model Composer Hub ブロックの Code Directory で指定したディレクトリです。Edge_Detection_prj フォルダーは、run_hls.tcl スクリプトで作成されたプロジェクトです。solution1 フォルダーは、Vitis HLS ソリューションです。詳細は、 『Vitis 高位合成ユーザー ガイド』 (UG1399) を参照してください。syn および impl フォルダーには、それぞれ合成およびインプリメンテーションの結果が保存されます。ip フォルダーには、Vivado Design Suite IP カタログに追加する IP パッケージが含まれます。
Model Composer で IP パッケージが生成されたら、.zip
ファイルのアーカイブ ディレクトリ (<project_name>/<solution_name>/impl/ip) を Vivado IP カタログにインポートして、Vivado Design Suite デザインで RTL IP として使用するか、IP インテグレーターで使用できます。
インターフェイス仕様の定義 に示すように、Interface Spec ブロックを使用して AXI4-Lite スレーブインターフェイスを指定する Model Composer モデルの場合、IP パッケージ プロセス中にソフトウェア ドライバー ファイルのセットも Vitis HLS で作成されます。これらの C ドライバー ファイルは SDK C プロジェクトに含めて、AXI4-Lite スレーブ ポートにアクセスするために使用できます。ソフトウェア ドライバー ファイルは、<project_name>/<solution_name>/impl/ip/drivers ディレクトリに書き込まれ、IP パッケージに含められます。
IP を Vivado IP カタログに追加するには、Vivado 統合デザイン環境 (IDE) で をクリックし、Settings ダイアログ ボックスを開きます。 をクリックし、Vitis HLS でパッケージされた IP を追加します。
パスをリポジトリに追加したら、次の図に示すように IP が IP カタログに追加されます。これで IP を標準的な RTL デザインや Vivado IP インテグレーター ブロック デザインで使用できるようになります。IP の使用方法および IP リポジトリへの追加方法の詳細は、 『Vivado Design Suite ユーザー ガイド: IP を使用した設計』 (UG896) を参照してください。