次は、ユーザー定義のカスタム データ型で使用できる汎用 API のリストです。これらの API を使用すると、byte_arrays
の形式でのみデータを送信および受信できます。転送する前にカスタム データ型を byte_arrays
に変換し、受け取った値をカスタム データ型に変換してアプリケーションで使用できるようにする必要があります。変換 API は次のようになります。
vivado = getenv("XILINX_VIVADO");
libPath = fullfile(vivado, "/data/emulation/matlab/xtlm_ipc");
addpath(libPath)
- データを送信または受信するクラスのインスタンシエート
-
input_port = axis_master( name) output_port = axis_slave(name)
パラメーター:
-
name
: トラフィック ジェネレーターに接続されているブロックのインターフェイス名と一致する文字列。
-
- send_data()
-
ヒント: 汎用 API には、
byte_array
形式のデータのみを使用します。ユーザー データ型から変換するには、後述のuInt16ToByteArray
などの変換 API を使用してください。send_data(data, tlast) creates a non-blocking call to send data
何も返しません。
パラメーター:
-
data
: create_byte_array() または次の変換 API を使用して作成したリスト -
tlast
: ブール値 (true または false)
-
- receive_data()
-
ヒント: 汎用 API には、
byte_array
形式のデータのみを使用します。受信後、データ型を使用したユーザーが読める形式に変換するには、後述のbyteArrayTouInt16
などの変換 API を使用すしてください。receive_data(data) creates a blocking call to receive data
バイト配列の形式で受信したデータのリストを返します。
パラメーター:
-
data
: 次の変換 API で変換可能なバイト配列
-
- receive_data_with_size()
-
receive_data_with_size(data, data_size) creates a blocking call to receive a specified amount of data
バイト配列の形式で受信したデータのリストを返します。
パラメーター:
-
data
: 次の変換 API で変換可能なバイト配列 -
data_size
: 受信するデータ量をバイト単位で示した整数値
-
- receive_data_on_tlast()
-
receive_data_on_tlast(data) creates a blocking call returning <data> after receiving tlast packet
バイト配列の形式で受信したデータのリストを返します。
パラメーター:
-
data
: 次の変換 API で変換可能なバイト配列
-
API | 説明 |
---|---|
byte_array = input_port.uInt8ToByteArray(user_list) byte_array = input_port.uInt16ToByteArray(user_list) byte_array = input_port.uInt32ToByteArray(user_list) byte_array = input_port.uInt64ToByteArray(user_list) byte_array = input_port.int8ToByteArray(user_list) byte_array = input_port.int16ToByteArray(user_list) byte_array = input_port.int32ToByteArray(user_list) byte_array = input_port.int64ToByteArray(user_list) byte_array = input_port.floatToByteArray(user_list) byte_array = input_port.doubleToByteArray(user_list) byte_array = input_port.bfloat16ToByteArray(user_list) |
指定されたデータ型を byte_array 値に変換してデータを送信
|
user_list = output_port.byteArrayTouInt8(byte_array) user_list = output_port.byteArrayTouInt16(byte_array) user_list = output_port.byteArrayTouInt32(byte_array) user_list = output_port.byteArrayTouInt64(byte_array) user_list = output_port.byteArrayToInt8(byte_array) user_list = output_port.byteArrayToInt16(byte_array) user_list = output_port.byteArrayToInt32(byte_array) user_list = output_port.byteArrayToInt64(byte_array) user_list = output_port.byteArrayToFloat(byte_array) user_list = output_port.byteArrayToDouble(byte_array) user_list = output_port.byteArrayToBfloat16(byte_array) |
受信後、byte_array 値を指定のデータ型に変換
|