配置扩展接口 - 1.3 简体中文

UltraScale+ 器件 Integrated Block for PCI Express 产品指南 (PG213)

Document ID
PG213
Release Date
2022-11-16
Version
1.3 简体中文

在实现外部实现的配置寄存器时,“Configuration Extend”(配置扩展)接口允许核随用户应用一起传输配置信息。下表定义了核的配置扩展接口中的端口。

表 1. 配置扩展接口端口描述
端口 I/O 宽度 描述
cfg_ext_read_received 输出 1 已接收配置扩展读取。

块接收到来自链路的配置读取请求时,会断言此输出有效。

在 Vivado IDE 的核配置下的“User Defined Configuration Capabilities”(用户定义的配置功能)中选中PCI Express Extended Configuration Space Enable(PCI Express 扩展配置空间使能)时,即可设置此端口。

所含 cfg_ext_register_number 范围如下的所有接收配置读取都被视为“PCIe Extended Configuration Space”(PCIe 扩展配置空间)。

  • UltraScale+™ PCIe4 核:0x480-0x4FF
  • UltraScale+ HBM PCIe4C 核:0xE80-0xFFF

通过断言 cfg_ext_read_received 有效并保持 1 个周期来表示所有接收的配置读取(与其地址无关),并且在 cfg_ext_register_number 和 cfg_ext_function_number 上驱动有效数据。

超出 IP 范围的用户应用只需响应接收到的上述范围内的配置读取。

cfg_ext_write_received 输出 1 已接收配置扩展写入。

块接收到来自链路的配置写入请求时,会断言此输出有效。

在 Vivado IDE 的核配置的“User Defined Configuration Capabilities”中选中PCI Express Extended Configuration Space Enable时,即可设置此端口。

在 cfg_ext_register_number、cfg_ext_function_number、cfg_ext_write_data 和 cfg_ext_write_byte_enable 上会显示对应于所有接收配置写入(所含 cfg_ext_register_number 在 0xb0-0xbf 范围内)的数据。

在 cfg_ext_register_number、cfg_ext_function_number、cfg_ext_wrte_data 和 cfg_ext_write_byte_enable 上会显示所含 cfg_ext_register_number 范围如下的所有接收配置写入。

  • UltraScale+ PCIe4 核:0x480-0x4FF
  • UltraScale+ HBM PCIe4C 核:0xE80-0xFFF
cfg_ext_register_number 输出 10 配置扩展寄存器编号

读取或写入的配置寄存器的 10 位 DWORD 地址。例如,要访问 0x480 地址,应在 cfg_ext_register_number 上布局 0x480/4 = 0x120,因为这是 DWORD 地址。当 cfg_ext_read_received 或 cfg_ext_write_received 为高电平时,数据有效。

cfg_ext_function_number 输出 8 配置扩展功能编号

对应于配置读取或写入请求的 8 位功能编号。当 cfg_ext_read_received 或 cfg_ext_write_received 为高电平时,数据有效。

cfg_ext_write_data 输出 32 配置扩展写入数据

写入配置寄存器的数据。当 cfg_ext_write_received 为高电平时,此输出有效。

cfg_ext_write_byte_enable 输出 4 配置扩展写入字节使能

针对配置写入传输事务的字节使能。

cfg_ext_read_data 输入 32 配置扩展读取数据

您可通过此总线将数据从外部实现的配置寄存器提供给核。如果您已设置 cfg_ext_read_data_valid,那么核会在将 cfg_ext_read_received 设置为高电平后,在时钟的下一个上升沿上对此数据进行采样。

cfg_ext_read_data_valid 输入 1 配置扩展读取数据有效

用户应用通过向核断言此输入有效,以提供来自外部实现的配置寄存器的数据。核会在将 cfg_ext_read_received 设置为高电平后,在时钟的下一个上升沿对此输入进行采样。在 cfg_ext_read_received 信号上接收到读取请求后,核期望在用户时钟的 262144 ('h4_0000) 个时钟周期内断言此信号有效。如果在此时间内未接收到任何响应,那么核将发送含 'h0 有效载荷的自动响应,用户应用必须丢弃响应,并立即终止该特定请求。