• 検索結果がありません。

System Generator IP の生成

ドキュメント内 Model Composer ユーザー ガイド (ページ 70-74)

図 31: IP カタログ

重要: リポジトリが IP カタログに追加されているのに Vivado HLS でパッケージした IP が表示されない場合は、現在 のプロジェクトのターゲット パーツと Model Composer の出力ファイルを生成したときに使用したデバイスとの互 換性がない可能性があります。これは、現在のプロジェクトのパーツを Model Composer モデルで指定したデバイス に変更すると回避できます。

図 32: 合成レポート

Model Composer で RTL の合成が終了すると、ログ ウィンドウに 「Exporting RTL as an IP for System Generator for DSP」 (RTL を System Generator for DSP 用に IP としてエクスポート中) というメッセージが表示 されます。このプロセスは Tcl スクリプト run_hls.tcl で処理され、Model Composer で System Generator IP がエ クスポートされます。

Model Composer では、このアルゴリズムにより、次の出力ファイルが生成されます。

• SystemC (IEEE 1666-2006、バージョン 2.2)

• VHDL (IEEE 1076-2000)

• Verilog (IEEE 1364-2001)

• 合成、C/RTL 協調シミュレーションおよび IP パッケージの後に生成されるレポート ファイル。

Model Composer で System Generator IP が生成されると、プロジェクト ディレクトリ構造が次の図のようになりま す。Edge_Detection_Sysgen フォルダーは、Model Composer Hub ブロックの [Target directory] で指定したディ レクトリです。Edge_Detection_prj フォルダーは、run_hls.tcl スクリプトで作成されたプロジェクトです。

solution1 フォルダーは、Vivado HLS ソリューションです。詳細は、『Vivado Design Suite ユーザー ガイド: 高位合 成』 (UG902) を参照してください。syn、sim、および impl フォルダーには、それぞれ合成、シミュレーション、

およびインプリメンテーションの結果が保存されます。sysgen フォルダーには、サブシステム IP を使用するのに必 要な System Generator ファイルが含まれます。

第 4 章: 出力の生成

図 33: System Generator の出力

Model Composer で生成した System Generator IP は、次の手順で System Generator にインポートできます。

1. System Generator モデルを開いた状態で Simulink Editor のキャンバスを右クリックし、[Xilinx BlockAdd] をクリ ックします。モデルに追加可能な Xilinx System Generator ブロックがリストされます。

2. ダイアログ ボックスでリストをスクロール ダウンするか、[Add Block] 検索フィールドに「HLS」と入力し、

Vivado HLS ブロックをモデルに追加します。

3. 新しく追加したブロックをダブルクリックして、[Vivado HLS Block Parameter] ダイアログ ボックスを開きます。

第 4 章: 出力の生成

図 34: Vivado HLS ブロック

4. [Browse] をクリックして Model Composer 出力を生成した Vivado HLS プロジェクトの solution ディレクトリを 指定します。たとえば、上記の Edge Detection の例の場合は、../Edge_Detection_prj/solution1 フォル ダーを指定して [OK] をクリックします。

Vivado HLS テンプレート ブロックは System Generator モデルで Edge Detection IP に変換されます。必要に応じて、

モデルに合わせてこの IP ブロックの角をドラッグして大きくします。ブロックは、最初は Vivado HLS テンプレート に合わせたサイズになっています。次の図は、Model Composer モデルから生成した System Generator IP を示してい ます。

図 35: Vivado HLS ブロック

第 4 章: 出力の生成

Model Composer サブシステム モジュールの関数引数が Vivado HLS で変換されて 1 つの複合ポートにまとめられる 場合は、そのポートの signal type 情報が不明になるので、System Generator IP ブロックに含まれなくなります。

このため、ポートで再形成、マップ、データ パック最適化などを使用した場合は、これらの複合ポートに対するポー ト タイプ情報を System Generator で手動で指定する必要があります。これには、複合ポートがどのように作成され たかを理解してから、System Generator 内で slice および reinterpretation ブロックを使用して、Vivado HLS ブロックをシステムのほかのブロックに接続する必要があります。

たとえば、R、G、B の 3 つの 8 ビット入出力ポートが 24 ビット入力ポート (RGB_in) と 24 ビット出力ポート (RGB_out) にパックされているとします。IP ブロックを System Generator に含めた後、次のようになる必要があり ます。

• 24 ビット入力ポート (RGB_in) は、3 つの 8 ビット入力信号 (R_in、G_in、B_in) を正しくまとめた System Generator ブロックで駆動される必要があります。

• 24 ビット出力ポート (RGB_out) は、3 つの 8 ビット入力信号 (R_out、G_out、B_out) に正しく分割される必要

があります。

ヒント: 複合タイプのポートに接続するための slice および reinterpretation ブロックの使用方法の詳細は、System Generator の資料を参照してください。

ドキュメント内 Model Composer ユーザー ガイド (ページ 70-74)