port<T> - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 简体中文

作用域

port<T> 类型的对象是可在 scope 类中声明为成员变量的端口对象,其类型为用户定义的 graph 类型(即,这些成员对象的类继承自 graph),或者可根据其函数特征符来为内核隐式定义。模板参数 T 可取:inputoutputinout

别名

input_portport<input> 类型的别名。

output_portport<output> 类型的别名。

inout_portport<inout> 类型的别名。

用途

用于在任一 graph 中的内核之间连接,也可用于跨客户规范中的层级(包括平台、graph 和子图)来连接。

运算符

port<T>& negate(port<T>&)

应用于连接中的目标端口时,此运算符会将源端口的布尔值语义反转到其连接的端口。因此,其效果是将 0 转换为 1,将 1 转换为 0。

port<T>& async(port<T>&)

此运算符应用于连接中的目标 RTP 端口时,会指定从所连接的源端口或者从外部控制应用(前提是源端口是 graph 端口且保持未连接状态)对目标端口的 RTP 缓冲器进行异步更新。因此,接收内核不会等待每次调用的值,而是使用先前存储在对应缓冲器内的值。

此运算符应用于源或目标窗口端口时,会指定在内核进入时,窗口对象将不进行同步。而是改为必须使用 window_acquirewindow_release API 在内核代码中显式管理窗口对象同步。

port<T>& sync(port<T>&)

此运算符应用于连接中的源 RTP 端口时,会指定从所连接的目标端口或者从外部控制应用(前提是目标端口是 graph 端口且保持未连接状态)对源端口的 RTP 缓冲器进行同步读取。因此,接收内核会等待为生成内核的每次调用所生成的新值。