此处提供了可搭配用户定义的定制数据类型使用的通用 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 值转换为指定数据类型
|