PL カーネルのための Python API - 2023.2 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

次は、PL カーネル固有の API のリストと、トラフィック ジェネレーターを統合する際の使用方法です。Python API を使用すると、PL カーネルに渡すデータを生成したり、PL カーネルからデータを収集するトラフィック ジェネレーター コードを作成できます。データを送信および受信するオブジェクトをインスタンシエートするには、次の API を使用します。send_data または receive_data には、任意のデータ型ベクター/リストを指定できます。

データを送信または受信するクラスのインスタンシエート

API は次のライブラリ パスにあります。

${XILINX_VIVADO}/data/emulation/python/xtlm_ipc_v2/
PYTHONPATH をこのライブラリを指定すように設定する必要があります。
export PYTHONPATH=${XILINX_VIVADO}/data/emulation/python/xtlm_ipc_v2/
hls_input_stream(name, datatype)
hls_output_stream(name, datatype)

パラメーター:

  • name: HLS カーネルに一致する文字列名
  • datatype: HLS カーネルのデータ型に基づく文字列値。有効な値は [ "int8", "uint8","int16", "uint16","int32", "uint32","int64", "uint64","float", "bfloat16"] です。
表 1. サポートされる PL カーネルのデータ型
  PL カーネルのデータ型 EOU API 列挙型文字列
1 int8 int8 input_port = hls_input_plio('input_port_name',"int8")
2 int16 int16 input_port = hls_input_plio('input_port_name',"int16")
3 int32 int32 input_port = hls_input_plio('input_port_name',"int32")
4 int64 int64 input_port = hls_input_plio('input_port_name',"int64")
5 uint8 uint8 input_port = hls_input_plio('input_port_name',"uint8")
6 uint16 uint16 input_port = hls_input_plio('input_port_name',"uint16")
7 uint32 uint32 input_port = hls_input_plio('input_port_name',"uint32")
8 uint64 uint64 input_port = hls_input_plio('input_port_name',"uint64")
9 float float input_port = hls_input_plio('input_port_name',"float")
10 double double input_port = hls_input_plio('input_port_name',"double")
send_data()
send_data(data, tlast)
creates a non-blocking call to send data

パラメーター:

  • data: オブジェクトの指定されたデータ型のリスト
  • tlast: ブール値 (true または false)
注記: datatype は、オブジェクトのインスタンシエーション時に指定する必要があります。
receive_data()
receive_data()
creates a blocking call to receive data

指定されたデータ型のリストを返します。

注記: datatype は、オブジェクトのインスタンシエーション時に指定する必要があります。
receive_data_with_size()
receive_data_with_size(data_size)
creates a blocking call to receive a specified amount of data

指定されたデータ型のリストを返します。

パラメーター:

  • data_size: 受信するデータ量をバイト単位で示した整数値
注記: データ サイズはバイト単位で指定する必要があります。
receive_data_on_tlast()
receive_data_on_tlast()
creates a blocking call returning data after receiving tlast packet

指定されたデータ型のリストを返します。

注記: datatype は、オブジェクトのインスタンシエーション時に指定する必要があります。