CxpTxTrigger 算子

Operator Library: Hardware Platform

该算子根据在输入端口检测到的信号边沿生成触发数据包。

CxpTxTrigger 算子有两种可能的实现方式,具体取决于输入端口的数量:

  • 单输入端口:使用来自 CXP 1.X 标准的 Tx Trigger 规范。输入端口 I 上的每个上升沿都会发送 CXPLinkTrigger0。TxTriggerPacketMode 参数是动态的,可以在运行时更改。当 TxTriggerPacketMode 参数未设置为 RisingEdgeOnly 时,输入端口 I 上的每个下降沿都会发送 CXPLinkTrigger1。如果使用单个输入端口实例化该算子,则该端口的名称为 I。

  • 多输入端口:使用来自 CXP 2.X 标准的 Tx Trigger 规范(使用延迟的 LSB 来实现触发 2 和 3)。每个输入端口都分配给 0 到 3 之间的某个 CXPLinkTriggers。输入端口上的每个上升沿都将导致发送相应的 CXPLinkTrigger 数据包。对于此配置,TxTriggerPacketMode 参数处于停用状态(静态且不可编辑)。如果使用多个输入端口实例化该算子,则输入端口的名称范围从 LinkTrigger0 到 LinkTrigger3,具体取决于配置的输入端口数量。

该算子使用一个资源 CxpTxTriggerPort,对于 imaFlex CXP-12 Quad,其范围为 {0, 1, 2, 3},对于 imaFlex CXP-12 Penta,其范围为 {0, 1, 2, 3, 4}。此资源对应于发送触发数据包的 CXP 通道。

由于输入端口上的上升沿(以及单输入端口的潜在下降沿)会导致发送完整的触发数据包,因此边沿之间必须存在间隙。如果边沿之间的间隙不够大,则会导致“过度触发”。这意味着只有第一个边沿会产生触发数据包,而后续边沿将被忽略。CxpPortStatus 算子包含参数 TxTriggerOverRequestCount,用于计算发生过度触发的次数。如果在极短时间内由于过度触发丢失了多个触发边沿(例如并行输入端口上的触发边沿),则 TxTriggerOverRequestCount 可能无法计算丢失的触发边沿的确切数量。相反,多次过度触发将导致 TxTriggerOverRequestCount 单次递增。

适用于 Hardware Platform
imaFlex CXP-12 Penta
imaFlex CXP-12 Quad

I/O Property

Property 值
Operator Type M
输入链路 I,n == 1,触发输入
LinkTrigger[n],n > 1,触发输入

Supported Link Format

Link Parameter 输入链路 I,n == 1 输入链路 LinkTrigger[n],n > 1
Bit Width 1 1
Arithmetic unsigned unsigned
Parallelism 1 1
Kernel Columns 1 1
Kernel Rows 1 1
Img Protocol VALT_SIGNAL VALT_SIGNAL
Color Format VAF_GRAY VAF_GRAY
Color Flavor FL_NONE FL_NONE
Max. Img Width any any
Max. Img Height any any

参数

TxTriggerPacketMode
键入 动态/静态写入参数
默认 RisingFallingEdge
范围 {RisingFallingEdge, RisingEdgeOnly}

如果多个输入端口处于活动状态,则该参数是静态的,根本无法编辑。

此参数仅在仅使用单个输入端口时才处于活动状态。在这种情况下,该参数是动态的,可以在运行时更改。此参数定义哪个触发输入边沿发送触发数据包。如果选择 RisingFallingEdge 模式,则会为上升沿和下降沿发送数据包。如果选择 RisingEdgeOnly 模式,则仅为上升沿发送数据包。

使用示例

以下示例展示了算子 CxpTxTrigger 的使用方法: