intel Mailbox Client with Avalon Streaming Interface FPGA IP 用户指南
带有 Avalon 流接口 FPGA IP 的英特尔邮箱客户端

带有 Avalon® 流接口的邮箱客户端 Intel FPGA IP Overview

带有 Avalon® 流接口英特尔® FPGA IP 的邮箱客户端(带有 Avalon ST 客户端 IP 的邮箱客户端)在您的自定义逻辑和安全设备管理器 (SDM) 之间提供了一个通信通道。 您可以使用 Mailbox Client 和 Avalon ST IP 来发送命令数据包和接收来自 SDM 外设模块的响应数据包。 具有 Avalon ST IP 的邮箱客户端定义了 SDM 运行的功能。

您的自定义逻辑可以使用此通信通道从以下外围模块接收信息和访问闪存:

  • 芯片编号
  • 温度传感器
  • 卷tag电子传感器
  • 四路串行外设接口 (SPI) 闪存

笔记: 在本用户指南中,术语 Avalon ST 是 Avalon 流媒体接口或 IP 的缩写。

图 1. 采用 Avalon ST IP 系统设计的邮箱客户端
采用 Avalon ST IP 系统设计的邮箱客户端

下图显示了一个应用程序,其中带有 Avalon ST IP 的 Mailbox Client 读取 Chip ID。

数字 2. 具有 Avalon ST IP 的邮箱客户端读取芯片 ID
具有 Avalon ST IP 的邮箱客户端读取芯片 ID

设备系列支持

下面列出了英特尔 FPGA IP 的设备支持级别定义:

  • 提前支持 — IP 可用于该器件系列的仿真和编译。 时序模型包括基于早期布局后信息的延迟的初始工程估计。 随着硅片测试提高了实际硅片和时序模型之间的相关性,时序模型可能会发生变化。 您可以使用此 IP 进行系统架构和资源利用研究、仿真、引脚输出、系统延迟评估、基本时序评估(流水线预算)和 I/O 传输策略(数据路径宽度、突发深度、I/O 标准交易)关闭)。
  • 初步支持 — 使用此设备系列的初步时序模型验证 IP。 IP 满足所有功能要求,但可能仍在对设备系列进行时序分析。 它可以谨慎地用于生产设计。
  • 最后支持 — 该 IP 已使用该器件系列的最终时序模型进行验证。 该 IP 满足器件系列的所有功能和时序要求,可用于生产设计。

表 1. 设备系列支持

器件系列 支持
英特尔敏捷™ 进步

笔记: 您不能使用 Avalon Streaming Interface Intel FPGA IP 模拟邮箱客户端,因为 IP 接收来自 SDM 的响应。 要验证此 IP,英特尔建议您执行硬件评估。

相关信息
带有 Avalon 流接口的邮箱客户端英特尔 FPGA IP 发行说明

参数

参数名称 价值 描述
启用状态界面 开关 当您启用该接口时,带有 Avalon 流接口 Intel FPGA IP 的邮箱客户端包括 command_status_invalid 信号。 当 command_status_invalid 断言时,您必须重置 IP。

接口
下图说明了带有 Avalon Streaming Interface Intel FPGA IP 接口的 Mailbox Client:

图 3. 带有 Avalon 流接口的邮箱客户端 Intel FPGA IP 接口
带有 Avalon 流接口的邮箱客户端 Intel FPGA IP 接口

有关 Avalon 流接口的更多信息,请参阅 Avalon 接口规范。
相关信息
Avalon 接口规范

时钟和复位接口

桌子 2. 时钟和复位接口

信号名称 方向 描述
输入时钟 输入 这是 Avalon 流接口的时钟。 最大频率在 250 MHz。
重置中 输入 这是一个高电平有效复位。 置位 in_reset 以重置带有 Avalon 流接口 Intel FPGA IP 的邮箱客户端(带有 Avalon ST IP 的邮箱客户端)。 当 in_reset 信号有效时,SDM 必须使用 Avalon ST IP 从邮箱客户端刷新任何待处理的活动。 SDM 继续处理来自其他客户端的命令。

为确保带有 Avalon ST IP 的 Mailbox Client 在设备进入用户模式时正常工作,您的设计必须包括 Reset Release Intel FPGA IP 以保持复位直到 FPGA 结构进入用户模式。 Intel 建议在将 Reset Release IP 的用户复位或输出连接到时使用复位同步器

带有 Avalon ST IP 的邮箱客户端的重置端口。 要实现复位同步器,请使用 Platform Designer 中提供的 Reset Bridge Intel FPGA IP。

笔记: 有关 Platform Designer 中的 IP 实例化和连接指南,请参阅 Required Communication and Host Components for the Remote System Update Design ExampIntel Agilex 配置用户指南中的图。

命令界面
使用 Avalon Streaming (Avalon ST) 接口向 SDM 发送命令。

表 3. 命令界面

信号名称 方向 描述
命令就绪 输出 带有 Avalon ST 英特尔 FPGA IP 的邮箱客户端在准备好从应用程序接收命令时声明 command_ready。 ready_latency 为 0 个周期。 具有 Avalon ST 的邮箱客户端可以在 command_ready 断言的同一周期中接受 command_data[31:0]。
命令有效 输入 command_valid 信号置位以指示 command_data 有效。
命令数据[31:0] 输入 command_data 总线将命令驱动到 SDM。 有关命令的定义,请参阅命令列表和说明。
命令_startofpacket 输入 command_startofpacket 在命令包的第一个周期断言。
命令_endofpacket 输入 command_endofpacket 在命令包的最后一个周期断言。

数字 4. Avalon ST 命令包的时序
fig:m ST 命令包

响应接口
SDM Avalon ST 客户端 IP 使用响应接口向您的应用程序发送响应。

表 4. 响应接口

信号 5 方向 描述
响应就绪 输入 只要能够接收到响应,应用程序逻辑就可以断言 response_ready 信号。
响应有效 输出 SDM 声明 response_valid 以指示 response_data 有效。
响应数据[31:0] 输出 SDM 驱动 response_data 以提供请求的信息。 响应的第一个字是标头,用于标识 SDM 提供的命令。 参考 命令列表和说明 命令的定义。
响应数据包的开始 输出 response_startofpacket 在响应数据包的第一个周期断言。
响应数据包结束 输出 response_endofpacket 在响应数据包的最后一个周期断言。

图 5. Avalon ST 响应数据包的时序
Avalon ST 响应数据包

命令状态界面

表 5. 命令状态界面

信号名称 方向 描述
命令状态无效 输出 command_status_invalid 断言以指示错误。 该信号通常置位以指示命令标头中指定的命令长度与发送的命令长度不匹配。 当 command_status_invalid 断言时,您的应用程序逻辑必须断言 in_reset 以重新启动带有 Avalon 流接口 Intel FPGA IP 的邮箱客户端。

图 6. 在 command_status_invalid 断言后重置
图:command_status_invalid 断言

命令和响应

主机控制器通过邮箱客户端英特尔 FPGA IP 使用命令和响应数据包与 SDM 通信。

命令和响应数据包的第一个字是提供有关命令或响应的基本信息的标头。

图 7. 命令和响应头格式
图:命令和响应标头格式

笔记: 命令头中的 LENGTH 字段必须与相应命令的命令长度相匹配。
下表描述了标头命令的字段。

表 6. 命令和响应头描述

标头 少量 描述
预订的 [31:28] 预订的。
ID [27:24] 命令 ID。 响应标头返回命令标头中指定的 ID。 命令说明参见操作命令。
0 [23] 预订的。
长度 [22:12] 标题后面的参数字数。 如果为给定命令输入了错误数量的参数字数,IP 将以错误响应。
如果命令头中指定的命令长度与发送的字数不匹配。 IP 引发中断状态寄存器 (COMMAND_INVALID) 的位 3,邮箱客户端必须重置。
预订的 [11] 预订的。 必须设置为 0。
命令代码/错误代码 [10:0] 命令代码指定命令。 错误代码指示命令是成功还是失败。
在命令头中,这些位代表命令代码。 在响应头中,这些位表示错误代码。 如果命令成功,错误代码为0。如果命令失败,请参考定义在 错误代码响应.

操作指令

重置 Quad SPI 闪存
重要的:
对于 Intel Agilex 器件,您必须将串行闪存或四通道 SPI 闪存复位引脚连接到 AS_nRST 引脚。 SDM 必须完全控制 QSPI 复位。 不要将 quad SPI 复位引脚连接到任何外部主机.

表 7. 命令列表和说明

命令 代码(十六进制) 命令长度 (1) 响应长度 (1) 描述
禁止操作 0 0 0 发送 OK 状态响应。
获取ID码 10 0 1 响应包含一个参数,即 JTAG 设备的 IDCODE
获取_CHIPID 12 0 2 响应包含 64 位 CHIPID 值,最低有效字在前。
获取用户代码 13 0 1 响应包含一个参数,即 32 位 JTAG 配置比特流写入设备的 USERCODE。
获取_VOLTAGE 18 1 n(2) GET_VOLTAGE 命令有一个参数,它是一个位掩码,指定要读取的通道。 位 0 指定通道 0,位 1 指定通道 1,依此类推。
响应包括位掩码中每个位集的单字参数。 卷tag返回的 e 是一个无符号定点数,二进制小数点后 16 位。 对于前amp勒一卷tag0.75V 的 e 返回 0x0000C000。 (3)
Intel Agilex 设备有一个单独的卷tage 传感器。 因此,响应始终是一个词。
获取_温度 19 1 n(4) GET_TEMPERATURE 命令返回您指定的核心架构或收发器通道位置的一个或多个温度。

对于 Intel Agilex 设备,使用 sensor_req 参数指定位置。 sensor_req 包括以下字段:

  • 位[31:28]:保留。
  • 位 [27:16]:传感器位置。 指定 TSD 位置。
  • Bits[15:0]:传感器掩码。 指定要读取指定传感器位置的传感器。 对于请求的每个温度,响应都包含一个词。 如果省略,该命令将读取通道 0。最低有效位 (lsb) 对应于传感器 0。最高有效位 (msb) 对应于通道 15。

返回的温度是一个有符号的固定值,二进制小数点以下 8 位。 对于前amp例如,10°C 的温度返回 0x00000A00。 温度 -1.5°C 的 A 返回 0xFFFFFE80。
如果位掩码指定了一个无效的位置,该命令将返回一个错误代码,该代码是 0x80000000 -0x800000FF 范围内的任何值。
对于 Intel Agilex 设备,请参阅 Intel Agilex 电源管理用户指南以获取有关本地内置温度传感器的更多信息。

RSU_IMAGE_UPDATE 5C 2 0 从可以是工厂或应用程序映像的数据源触发重新配置。
持续…
  1. 此数字不包括命令或响应标头。
  2. 对于支持读取多个设备的 Intel Agilex 设备,索引 n 匹配您在设备上启用的通道数。
  3. 请参阅 Intel Agilex 电源管理用户指南 有关温度传感器通道和位置的更多信息。
  4. 索引 n 取决于传感器掩码的数量。
命令 代码(十六进制) 命令长度 (1) 响应长度 (1) 描述
此命令采用可选的 64 位参数,指定闪存中的重配置数据地址。 向 IP 发送参数时,首先发送 [31:0] 位,然后是 [63:32] 位。 如果您不提供此参数,则假定其值为 0。
  • Bit [31:0]:应用映像的起始地址。
  • Bit [63:32]:保留位(写为0)。

设备处理此命令后,它会在继续重新配置设备之前将响应标头返回到响应 FIFO。 确保主机 PC 或主机控制器停止为其他中断提供服务,并专注于读取响应标头数据以指示命令成功完成。 否则,一旦重新配置过程开始,主机 PC 或主机控制器可能无法接收到响应。
一旦设备进行重新配置,外部主机和 FPGA 之间的链接就会丢失。 如果您在设计中使用 PCIe,则需要重新枚举 PCIe 链路。
重要的: 重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。

RSU_GET_SPT 5A 0 4 RSU_GET_SPT 检索 RSU 使用的两个子分区表的 quad SPI 闪存位置:SPT0 和 SPT1。
4 字响应包含以下信息:
单词 姓名 描述
0 SPT0[63:32] quad SPI 闪存中的 SPT0 地址。
1 SPT0[31:0]
2 SPT1[63:32] quad SPI 闪存中的 SPT1 地址。
3 SPT1[31:0]
配置_状态 4 0 6 报告上次重新配置的状态。 配置过程中和配置完成后,都可以使用该命令查看配置状态。 响应包含以下信息:
单词 概括 描述
0 状态 描述最近的配置相关错误。 当没有配置错误时返回 0。
错误字段有 2 个字段:
  • 高 16 位:主要错误代码。
  • 低 16 位:轻微错误码。

参考附录: 配置状态 和邮箱客户端英特尔中的 RSU_STATUS 错误代码说明 FPGA知识产权  用户指南了解更多信息。

1 Quartus 版本 在 19.4 和 21.2 之间的英特尔 Quartus® Prime 软件版本中可用,该字段显示:
  • Bit [31:28]:最近使用的固件或决策固件副本的索引。 可能的值为 0、1、2 和 3。
  • 位[27:24]:保留
  • 位 [23:16]:值为“0”
在英特尔 Quartus Prime 软件版本 21.3 或更高版本中可用,Quartus 版本显示:
  • Bit [31:28]:最近使用的固件或决策固件副本的索引。 可能的值为 0、1、2 和 3。
  • 位[27:24]:保留
  • Bit [23:16]:Quartus 主要版本号
  • Bit [15:8]:次要 Quartus 版本号
  • Bit [7:0]: Quartus 更新号

例如amp例如,在 Intel Quartus Prime 软件版本 21.3.1 中,以下值表示主要和次要 Quartus 版本号以及 Quartus 更新号:

  • 位 [23:16] = 8'd21 = 8'h15
  • 位 [15:8] = 8'd3 = 8'h3
  • 位 [7:0] = 8'd1 = 8'h1
2 引脚状态
  • Bit [31]:当前 nSTATUS 输出值(低电平有效)
  • 位 [30]:检测到的 nCONFIG 输入值(低电平有效)
  • 位[29:8]:保留
  • Bit [7:6]:配置时钟源
    • 01 = 内部振荡器
    • 10 = OSC_CLK_1
  • 位[5:3]:保留
  • Bit [2:0]:上电时的 MSEL 值
3 软功能状态 包含每个软功能的值,即使您没有将功能分配给 SDM 引脚。
  • 位[31:6]:保留
  • 位[5]:HPS_WARMRESET
  • 位[4]:HPS_COLDRESET
  • 位[3]:SEU_ERROR
  • 位[2]:CVP_DONE
  • 位[1]:INIT_DONE
  • 位[0]:CONF_DONE
4 错误位置 包含错误位置。 如果没有错误,则返回 0。
5 错误详情 包含错误详细信息。 如果没有错误,则返回 0。
RSU_状态 5B 0 9 报告当前的远程系统更新状态。 您可以使用此命令在配置期间和完成后检查配置状态。 此命令返回以下响应:
单词 概括 描述

(继续…。)

  1. 此数字不包括命令或响应标头
0-1 当前图像 当前运行的应用程序映像的闪存偏移量。
2-3 失败的形象 最高优先级失败应用程序映像的闪存偏移量。 如果闪存中有多个图像可用,则存储失败的第一个图像的值。 全 0 的值表示没有失败的图像。 如果没有失败的图像,则状态信息的其余部分不存储有效信息。
笔记:从 ASx4 重新配置的 nCONFIG 上升沿不会清除该字段。 有关失败映像的信息仅在邮箱客户端收到新的 RSU_IMAGE_UPDATE 命令并从更新映像成功配置时更新。
4 状态 失败图像的失败代码。 错误字段有两部分:
  • Bit [31:16]:主要错误代码
  • 位 [15:0]:次要错误代码 无故障返回 0。 参考

附录:邮箱客户端 Intel FPGA IP 用户指南中的 CONFIG_STATUS 和 RSU_STATUS 错误代码说明了解更多信息。

5 版本 RSU 接口版本和错误源。
有关详细信息,请参阅硬处理器系统远程系统更新用户指南中的 RSU 状态和错误代码部分。
6 错误位置 存储失败图像的错误位置。 返回 0 表示没有错误。
7 错误详情 存储失败图像的错误详细信息。 如果没有错误,则返回 0。
8 当前图像重试计数器 对当前图像尝试的重试次数。 计数器最初为 0。 第一次重试后计数器设置为 1,第二次重试后设置为 2。
在您的 Intel Quartus Prime Settings 中指定最大重试次数 File (.qsf)。 命令是:set_global_assignment -name RSU_MAX_RETRY_COUNT 3. MAX_RETRY 计数器的有效值为 1-3。 实际可用重试次数为MAX_RETRY -1
该字段是在 Intel Quartus Prime Pro Edition 软件的 19.3 版本中添加的。
持续…
  1. 此数字不包括命令或响应标头。
RSU_NOTIFY 5D 1 0 清除 RSU_STATUS 响应中的所有错误信息并重置重试计数器。 单字参数具有以下字段:
  • 0x00050000:清除当前复位重试计数器。 重置当前重试计数器会将计数器设置回零,就好像当前图像是第一次成功加载一样。
  • 0x00060000:清除错误状态信息。
  • 所有其他值均保留。

该命令在 Intel Quartus Prime Pro Edition 软件版本 19.3 之前不可用。

QSPI_OPEN 32 0 0 请求对 quad SPI 的独占访问。 您在任何其他 QSPI 请求之前发出此请求。 如果未使用 quad SPI 且 SDM 未配置设备,则 SDM 接受请求。
如果 SDM 授予访问权限,则返回 OK。
SDM 向使用此邮箱的客户端授予独占访问权限。 在活动客户端使用 QSPI_CLOSE 命令放弃访问之前,其他客户端无法访问 quad SPI。
默认情况下,在包含 HPS 的设计中,通过任何邮箱客户端 IP 访问 quad SPI 闪存设备是不可用的,除非您在 HPS 软件配置中禁用 QSPI。
重要的: 重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。
QSPI_关闭 33 0 0 关闭对 quad SPI 接口的独占访问。
重要的:重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。
QSPI_SET_CS 34 1 0 通过片选线指定连接的 quad SPI 设备之一。 采用如下所述的单字参数
  • Bits[31:28]:要选择的闪存设备。 有关与 nCSO[0:3] 引脚对应的值,请参阅以下信息
    • 值 4'h0000 选择对应于 nCSO[0] 的闪存。
    • 值 4'h0001 选择对应于 nCSO[1] 的闪存。
    • 值 4'h0002 选择对应于 nCSO[2] 的闪存。
    • 值 4'h0003 选择对应的 flash nCSO[3]。
  • Bits[27:0]:保留位(写为0)。

笔记: Intel Agilex 或 Intel Stratix® 10 器件支持一个 AS x4 闪存器件用于来自连接到 nCSO[0] 的 quad SPI 器件的 AS 配置。 一旦设备进入用户模式,您最多可以使用四个 AS x4 闪存与邮箱客户端 IP 或 HPS 一起用作数据存储。 TheMailbox Client IP 或 HPS 可以使用 nCSO[3:0] 访问 quad SPI 设备。
此命令对于 AS x4 配置方案是可选的,片选线跟随最后执行的 QSPI_SET_CS 命令或在 AS x0 配置后默认为 nCSO[4]。 杰TAG 配置方案需要执行此命令以访问连接 SDM_IO 引脚的 QSPI 闪存。
使用 SDM_IO 引脚访问 QSPI 闪存设备仅适用于 AS x4 配置方案,JTAG 配置,以及为 AS x4 配置编译的设计。 对于 Avalon 流接口 (Avalon ST) 配置方案,您必须将 QSPI 闪存连接到 GPIO 引脚。

持续…
  1. 此数字不包括命令或响应标头
重要的: 重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。
QSPI_READ 3A 2 N 读取附加的 quad SPI 设备。 最大传输大小为 4 千字节 (KB) 或 1024 个字。
接受两个参数:
  • 四路 SPI 闪存地址(一个字)。 地址必须是字对齐的。 对于未对齐的地址,设备返回 0x1 错误代码。
  • 要阅读的字数(一个字)。

成功时,返回 OK,后跟从 quad SPI 设备读取的数据。 失败响应返回错误代码。
对于部分成功的读取,QSPI_READ 可能会错误地返回 OK 状态。
笔记: 当设备配置正在进行时,您不能运行 QSPI_READ 命令。
重要的:重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。

QSPI_写入 39 2+N 0 将数据写入 quad SPI 设备。 最大传输大小为 4 千字节 (KB) 或 1024 个字。
采用三个参数:
  • 闪存地址偏移量(一个字)。 写地址必须是字对齐的。
  • 要写的字数(一个字)。
  • 要写入的数据(一个或多个字)。 成功的写入返回 OK 响应代码。

要为写入准备内存,请在发出此命令之前使用 QSPI_ERASE 命令。
笔记: 当设备配置正在进行时,您不能运行 QSPI_WRITE 命令。
重要的:重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。

QSPI_擦除 38 2 0 擦除 quad SPI 设备的 4/32/64 KB 扇区。 接受两个参数:
  • 开始擦除的闪存地址偏移量(一个字)。 根据要擦除的字数,起始地址必须是:
    • 如果要擦除的数字字为 4x0,则 400 KB 对齐
    • 如果要擦除的数字字为 32x0,则 2000 KB 对齐
    • 如果要擦除的字数为 64x0,则 4000 KB 对齐 返回非 4/32/64 KB 对齐地址的错误。
  • 要擦除的字数指定为以下的倍数:
    • 0x400 擦除 4 KB(100 个字)的数据。 此选项是最小擦除大小。
    • 0x2000 擦除 32 KB(500 字)的数据
    • 0x4000 擦除 64 KB(1000 字)数据 擦除成功返回 OK 响应代码。

重要的:重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。

QSPI_READ_DEVICE_REG 35 2 N 从 quad SPI 设备读取寄存器。 最大读取为 8 个字节。 接受两个参数:
  • 读取命令的操作码。
  • 要读取的字节数。
持续…
  1. 此数字不包括命令或响应标头。
成功读取会返回 OK 响应代码,后跟从设备读取的数据。 读取数据返回为 4 字节的倍数。 如果要读取的字节不是 4 字节的精确倍数,则用 4 字节的倍数填充直到下一个字边界,并且填充的位值为零。
重要的: 重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。
QSPI_WRITE_DEVICE_REG 36 2+N 0 写入 quad SPI 的寄存器。 最大写入为 8 个字节。 采用三个参数:
  • 写命令的操作码。
  • 要写入的字节数。
  • 要写入的数据。

要执行扇区擦除或子扇区擦除,您必须按最高有效字节 (MSB) 到最低有效字节 (LSB) 的顺序指定串行闪存地址,如下所示amp乐说明。
要使用 QSPI_WRITE_DEVICE_REG 命令擦除地址 2x0FF04 处的美光 0000 吉比特 (Gb) 闪存扇区,请按 MSB 到 LSB 顺序写入闪存地址,如下所示:
标头: 0x00003036 操作码:0x000000DC
要写入的字节数: 0x00000004 闪存地址:0x0000FF04
成功的写入返回 OK 响应代码。 此命令将不是 4 字节倍数的数据填充到下一个字边界。 该命令用零填充数据。
重要的:重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。

QSPI_SEND_DEVICE_OP 37 1 0 向 quad SPI 发送命令操作码。 接受一个参数:
  • 发送 quad SPI 设备的操作码。

成功的命令返回 OK 响应代码。
重要的:重置 quad SPI 时,您必须遵循中指定的说明 重置 Quad SPI 闪存 在第9页。

关于CONFIG_STATUS和RSU_STATUS主要和次要错误代码说明,请参考邮箱客户端Intel FPGA IP用户指南中的附录:CONFIG_STATUS和RSU_STATUS错误代码说明。
相关信息

错误代码响应

表 8. 错误代码

值(十六进制) 错误代码响应 描述
0 OK 指示命令已成功完成。
命令可能会错误地返回 OK 状态,如果一个命令,例如
QSPI_READ 部分成功。
1 无效命令 指示当前加载的引导 ROM 无法解码或识别命令代码。
3 未知的命令 表示当前加载的固件无法解码命令代码。
4 INVALID_COMMAND_参数 指示命令格式不正确。 对于前ample,标头中的长度字段设置无效。
6 COMMAND_INVALID_ON_SOURCE 指示该命令来自未启用它的源。
8 CLIENT_ID_NO_MATCH 表示Client ID无法完成请求关闭对quad SPI的独占访问。 客户端 ID 与当前具有对 quad SPI 的独占访问权限的现有客户端不匹配。
9 无效地址 地址无效。 此错误表示以下情况之一:
  • 未对齐的地址
  • 地址范围问题
  • 读取权限问题
  • 一个无效的片选值,显示值大于 3
  • RSU 案例中的无效地址
  • GET_VOL 的位掩码值无效TAGE命令
  • GET_TEMPERATURE 命令的无效页面选择
A 认证失败 配置比特流签名鉴权失败。
B 暂停 此错误表示由于以下情况而超时:
  • 命令
  • 等待 QSPI_READ 操作完成
  • 等待来自其中一个温度传感器的请求温度读数。 可能表示温度传感器中存在潜在的硬件错误。
C HW_NOT_READY 表示以下情况之一:
  • 硬件还没有准备好。 可以指示初始化或配置问题。 硬件可能指的是quad SPI。
  • RSU 映像不用于配置 FPGA。
D 硬件错误 表示由于不可恢复的硬件错误,命令未成功完成。
80 – 8F 命令_特定_错误 指示由于您使用的 SDM 命令导致的命令特定错误。
星载数字多模光纤

命令

错误名称 错误代码 描述
获取_CHIPID EFUSE_SYSTEM_FAILURE 0x82 表示 eFuse 缓存指针无效。
QSPI_OPEN/ QSPI_CLOSE/ QSPI_SET_CS/

QSPI_READ_DEVICE_REG/

QSPI_HW_错误 0x80 指示 QSPI 闪存错误。 此错误表示以下情况之一:
QSPI_WRITE_DEVICE_REG/

QSPI_SEND_DEVICE_OP/

QSPI_READ

  • QSPI flash片选设置问题
  • 一个QSPI flash初始化问题
  • QSPI flash复位问题
  • QSPI 闪存设置更新问题
QSPI_ALREADY_OPEN 0x81 表示客户端通过QSPI_OPEN命令对QSPI flash的独占访问已经开启。
100 未配置 表示设备未配置。
1FF ALT_SDM_MBOX_RESP_DEVICE_BUSY 表示设备因以下用例而忙:
  • RSU:由于内部错误,固件无法转换到不同版本。
  • HPS:当处于 HPS 重新配置过程或 HPS 冷复位时,HPS 忙。
2FF ALT_SDM_MBOX_RESP_NO _ VALID_RESP_AVAILABLE 表示没有可用的有效响应。
3FF ALT_SDM_MBOX_RESP_错误 一般错误。

错误代码恢复
下表描述了从错误代码中恢复的可能步骤。 错误恢复取决于具体用例。
表 9. 已知错误代码的错误代码恢复

价值 错误代码响应 错误代码恢复
4 INVALID_COMMAND_参数 重新发送命令标头或带参数更正参数的标头。
例如amp文件,确保发送标头中的长度字段设置正确的值。
6 COMMAND_INVALID_ON_SOURCE 从 J 等有效源重新发送命令TAG、HPS 或核心结构。
8 CLIENT_ID_NO_MATCH 等待开启quad SPI访问权限的client完成访问,关闭quad SPI独占访问。
9 无效地址 可能的错误恢复步骤:
对于 GET_VOLTAGE 命令:发送带有有效位掩码的命令。
对于 GET_TEMPERATURE 命令:发送带有有效传感器位置和传感器掩码的命令。
对于 QSPI 操作:
  • 发送带有有效芯片选择的命令。
  • 发送带有有效 QSPI 闪存地址的命令。

对于 RSU:发送带有出厂映像或应用程序有效起始地址的命令。

B 暂停 可能的恢复步骤:

对于 GET_TEMPERATURE 命令:重试再次发送命令。 如果问题仍然存在,请重新配置或重启设备。

对于 QSPI 操作:检查 QSPI 接口的信号完整性并再次尝试命令。

对于 HPS 重启操作:重试再次发送命令。

C HW_NOT_READY 可能的恢复步骤:

对于 QSPI 操作:通过源重新配置设备。 确保用于构建设计的 IP 允许访问 QSPI 闪存。

对于 RSU:使用 RSU 映像配置设备。

80 QSPI_HW_错误 检查QSPI接口信号完整性,确保QSPI设备没有损坏。
81 QSPI_ALREADY_OPEN 客户端已打开 QSPI。 继续下一步操作。
82 EFUSE_SYSTEM_FAILURE 尝试重新配置或电源循环。 如果重新配置或重启后错误仍然存​​在,则设备可能已损坏且无法恢复。
100 未配置 发送配置 HPS 的比特流。
1FF ALT_SDM_MBOX_RESP_DEVICE_BUSY 可能的错误恢复步骤:

对于 QSPI 操作:等待正在进行的配置或其他客户端完成操作。

对于 RSU:重新配置设备以从内部错误中恢复。

对于 HPS 重启操作:等待通过 HPS 或 HPS 冷重置完成重新配置。

带有 Avalon 流接口的邮箱客户端英特尔 FPGA IP 用户指南文档存档

有关本用户指南的最新版本和以前版本,请参阅 带有 Avalon 流接口的邮箱客户端英特尔 FPGA IP 用户指南. 如果未列出 IP 或软件版本,则适用先前 IP 或软件版本的用户指南。

IP 版本与最高 v19.1 的英特尔 Quartus Prime 设计套件软件版本相同。 从 Intel Quartus Prime Design Suite 软件版本 19.2 或更高版本开始,IP 核具有新的 IP 版本控制方案。

具有 Avalon 流接口的邮箱客户端的文档修订历史 Intel FPGA IP 用户指南

文档版本 英特尔 Quartus Prime 版本 IP版本 更改
2022.09.26 22.3 1.0.1 做了以下更改:
  • 更新了 GET_VOLTAGE命令行中

命令列表和描述表。

  • 添加了对表设备系列支持的注释。
  • 修改 QSPI_SET_CS 命令列表和描述表中的命令描述。
2022.04.04 22.1 1.0.1 更新了命令列表和描述表。
  • 更新了 CONFIG_STATUS 命令的引脚状态描述。
  • 删除了 REBOOT_HPS 命令。
2021.10.04 21.3 1.0.1 做了以下更改:
  • 修改 命令列表和说明 桌子。 更新说明:
    • 配置状态
    • RSU_状态
2021.06.21 21.2 1.0.1 做了以下更改:
  • 修改 命令列表和说明 桌子。 更新说明:
    • RSU_状态
    • QSPI_OPEN
    • QSPI_SET_CS
    • QSPI_擦除
2021.03.29 21.1 1.0.1 做了以下更改:
  • 修改了 RSU_IMAGE_UPDATE 中的描述 命令列表和说明 桌子。
  • 重组 操作指令. 删除了 CONFIG_STATUS 和 RSU_STATUS 命令的主要和次要错误代码说明。 主要和次要错误代码现在作为附录记录在 邮箱客户端英特尔 FPGA IP 用户指南。
2020.12.14 20.4 1.0.1 做了以下更改:
  • 在中添加了关于重置 QSPI 闪存的重要说明 操作指令 话题。
  • 更新了 命令列表和说明 表:
    • 修改了 GET_TEMPERATURE 命令说明。
    • 修订了 RSU_IMAGE_UPDATE 命令说明。
  • 添加了有关重置 QSPI 闪存的文本。
  • 添加了描述外部主机和 FPGA 之间行为的文本。
  • 删除的文本: 如果设备已经在处理配置命令,则返回非零响应。
    • 更新了 QSPI_WRITE 和 QSPI_READ 说明以指定最大传输大小为 4 KB 或 1024 字。
    • 将 QSPI_OPEN、QSPI_CLOSE 和 QSPI_SET_CS 的响应长度从 1 更正为 0 命令。
    • 修改了 QSPI_OPEN、QSPI_WRITE、QSPI_READ_DEVICE_REG 和 QSPI_WRITE_DEVICE_REG 描述。
    • 添加了一个新命令:REBOOT_HPS。
  • 添加了新主题:错误代码恢复。
2020.10.05 20.3 1.0.1
  • 将本用户指南的标题从 邮箱 Avalon Streaming Interface Client Intel FPGA IP 用户指南 带有 Avalon 流接口的邮箱客户端英特尔 FPGA IP 用户指南 由于 Intel Quartus Prime IP Catalog 中的 IP 名称更改。
  • 全局更新所有 IP 名称实例。
  • 修改了 Intel Agilex 设备的 GET TEMPERATURE 命令描述 命令列表和说明 桌子。
  • 在中添加了有关重置同步器的建议 时钟和复位接口 桌子。
  • 更新了 错误代码 桌子。 添加了新的错误代码响应:
    • 硬件错误
    • 命令特定错误
  • 删除了 温度传感器位置 话题。 温度传感器信息可在 Intel Agilex 电源管理用户指南.
2020.06.30 20.2 1.0.0
  • 将本用户指南的标题从 邮箱 Avalon ST Client Intel FPGA IP 用户指南 邮箱 Avalon Streaming Interface Client Intel FPGA IP 用户指南.
  • 重命名主题标题 命令和响应头 命令和响应.
  • 修订后的 ID、长度和命令代码/错误代码说明 命令和响应头描述 桌子。
  • 重命名主题标题 支持的命令 操作指令.
  • 修改了以下命令说明 命令列表和说明 表:
    • 获取温度
    • RSU_状态
    • QSPI_SET_CS
  • 重命名主题标题 错误代码 错误代码响应.
  • 从中删除了 UNKNOWN_BR 命令 错误代码 桌子。
2020.04.13 20.1 1.0.0 做了以下更改:
  • 为 GET_TEMPERATURE 命令添加了有关温度传感器的信息,包括说明 TSD 位置的图。
  • 在中添加了 RSU_NOTIFY 命令 命令代码列表和说明 桌子。
  • 更新了 错误代码 表:
    • 将 INVALID_COMMAND_PARAMETERS 重命名为 INVALID_LENGTH。
    • 将 COMMAND_INVALID_ON_SOURCE 十六进制值从 5 更改为 6。
    • 将 CLIENT_ID_NO_MATCH 十六进制值从 6 更改为 8。
    • 将 INVALID_ADDRESS 十六进制值从 7 更改为 9。
    • 添加了 AUTHENTICATION_FAIL 命令。
    • 将 TIMEOUT 十六进制值从 8 更改为 B。
    • 将 HW_NOT_READY 十六进制值从 9 更改为 C。
2019.09.30 19.3 1.0.0 初始版本。

 如需反馈,请访问:  FPGAtechdocfeedback@intel.com

 

文件/资源

带有 Avalon 流接口 FPGA IP 的英特尔邮箱客户端 [pdf] 用户指南
Mailbox Client with Avalon Streaming Interface FPGA IP,邮箱客户端,Avalon Streaming Interface FPGA IP

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *