从窗口接口查看数据 - 2022.1 简体中文

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

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

窗口和串流数据 API 中所述,数据流通过访问窗口或串流接口进出 AI 引擎内核。在调试期间,您可能想要在数据传递经过内核时,查看这些数据访问窗口的值。下图中,您可以追踪一系列对象,并通过处理这些对象来检验变量内容。

图 1. 数据访问链
  1. 在图中步骤 1 所示代码示例中,您可看到变量 cb_input 属于 input_window_cint16 类型的指针。这显示了输入窗口的声明,此输入窗口承载有复数整数,其中实数部分位宽为 16 位,虚数部分为 16 位。
  2. 转至“Variables”(变量)视图中的 cb_input 变量。这是数据访问窗口的指针表示法,该数据访问窗口中保存有内核的输入数据。但内核函数仅对指针进行操作,这些指针指向作为实参传递给内核函数的窗口数据结构。输入窗口数据结构是由名为 ptr 的指针定义的。此 ptr 是由输入数据窗口 API 定义的,如 内核窗口运算 中所述。
  3. 检验变量 ptr 的内容。它是值为 0x00038000 的地址。
  4. 在“Memory”(存储器)窗口中,单击 + 号输入地址 0x38000,如步骤 4 中所示。
  5. “Memory”窗口会显示地址 0x38000 处的内容。
  6. 这是由 cb_input 变量定义的数据访问窗口中所包含的数据。前述示例的裕度大小为 64 字节,实际数据起始位置为 0x38000 加上 0x40 = 0x38040。您可检验数据内容、以特定数据格式来显示数据,或者将数据复制到剪贴板并将其导出至独立文件,如 使用调试环境 中所述。

    请注意十六进制值,例如前图中的“Memory”窗口中显示的 F4D9ED71,此类值表示 cint16 类型的复数,其中包含一个 16 位有符号整数实数和一个 16 位有符号虚数,可能的值如下(值可从输入文件读取):

    -4751 -2855
    -1107 -5121
    1062 -2732
    4465 4323
    9899 5093
    5289 -2426
    -1063 -5425
    ...
提示: 如果与数据访问窗口的连接中已指定裕度,那么裕度数据包含在“Memory”窗口中。所分配的存储器总量等于窗口大小加上裕度大小。