Vitis HLS - 2022.1 日本語

Vitis Model Composer ユーザー ガイド (UG1483)

Document ID
UG1483
Release Date
2022-05-26
Version
2022.1 日本語

ザイリンクス Vitis™ HLS ブロックを使用すると、Vitis HLS デザインの機能を Model Composer デザインに含めることができます。Vitis HLS デザインには、C、C++、および System C デザイン ソースを含めることができます。

Vitis HLS デザインを Model Composer に含める方法には次の 2 つの手順があります。最初の手順では、Vitis HLS RTL パッケージ機能を使用して、デザイン ファイルを Solution ディレクトリにパッケージします。RTL パッケージの詳細は、Vitis HLS の資料を参照してください。2 番目の手順では、Model Composer デザインに Vitis HLS ブロックを配置し、Vitis HDL Solution ディレクトリをターゲットとして指定します。

[Block Parameters] ダイアログ ボックス

図 1. [Block Parameters] ダイアログ ボックス
Solution
Model Composer 用の RTL パッケージを含む Solution ディレクトリへのパスを指定します。このパスは通常、 Vivado® HLS プロジェクトに含まれるディレクトリへのパスになります。パスはシングル クォーテーションで囲み、文字列として評価されるようにする必要があります。
Browse
標準のディレクトリ参照ボタンです。
Refresh
ブロックのポートを Solution に含まれる最新版のパッケージにアップデートします。
Edit
Solution に関連付けられている Vitis HLS プロジェクトを開きます。
Use C simulation model if available
C シミュレーション モデルが Vitis HLS パッケージで使用可能な場合に、それを使用します。次に示すように、使用中のシミュレーション モデルが Vitis HLS ブロック上に表示されます。この場合は、C シミュレーション モデルが使用できないため、RTL モデルが使用されます。
Display signal types
入力ポートを駆動する信号と出力ポートから出力される信号のデータ型をブロック アイコンに表示します。
Output Sample Times
Simulink system period または GCD of the inputs period を選択します。

データ型の変換

データ型の変換
C/C++ のデータ型 Model Composer のデータ型
float XFloat_32_23
double XFloat_64_52
bool UFix_1_0
(unsigned) char (U)Fix_8_0
(unsigned) short (U)Fix_16_0
(unsigned) int (U)Fix_32_0
(unsigned) long (U)FIX_<PlatformDependent>_0
(unsigned) long long (U)Fix_64_0
ap_(u)fix<N,M> (U)Fix_<N>_<N-M>
ap_(u)int<N> (U)Fix_N_0

既知の問題

  • Vitis HLS からの純粋な組み合わせデザインを含めることはできません。このデザインはクロックとクロック イネーブル入力を含む RTL デザインに合成する必要があります。
  • 最上位モジュールには、C/C++ テンプレートを含めることはできません。
  • 複合ポートは UFix_<N>_0 としてのみ表現されます (N はポートの幅)。
  • 現在の C シミュレーション モデルでは、レイテンシと開始間隔が固定されたデザインのみがサポートされます。レイテンシと開始間隔の値は、合成エンジンから取得されます。
  • 現在の C シミュレーション モデルでは、デフォルトのブロック レベルの通信プロトコル (ap_hs) がサポートされます。
  • 現在の C シミュレーション モデルでは、ap_memory および ap_bus はサポートされていません。
  • Vitis HLS ブロックでは、パフォーマンスに関する考慮事項があるため、組み合わせデザインはサポートされていません。現在のインプリメンテーションでは、Model Composer により、毎クロック サイクルで各 HLS 入力ポートが複数回アップデートされます。そのため、入力が変わるたびに DUT を評価すると、コストが非常に高くなります。
  • 出力値は、対応する制御信号によりデータが有効であることが示された場合にのみ、RTL シミュレーションの結果と一致します。そのため、テストベンチおよびダウンストリームのブロックでは、通信プロトコルと制御信号に基づいてデータを読み出し/監視する必要があります。
  • Vitis HLS ブロックは Vivado Design Suite に含まれる GCC を使用して Windows 64 ビット プラットフォームで DLL をコンパイルする必要があるため、Windows 64 ビット システムでは、C デザインで任意のビット幅の整数値を使用することはできません。