PCIe中断

该部分内容描述Local, MSI(Message Signaled Interrupt) 和 Legacy中断相关的中断引脚。

一、Local中断

通过设置IMR寄存器来配置interrupt_out引脚发送中断。interrupt_out引脚发送中断给连接到AXI4总线端的桥。MSI中断是在IMR和IDR中定义,只有当桥配置在Root Port模式时(C_INCLUDE_RC = 1),用作表示一个Message Signaled Interrupt的接收。

二、MSI中断

输出引脚msi_enable用来表示桥的Endpoint MSI功能是否被使能。 若msi_enable = 1,使能MSI,定义成MSI_Request的输入引脚intx_msi_request可以触发一个MSI中断,该中断是从一个特定的MemWr TLP到PCIe的一个外部Root端口(位于桥的PCIe侧)。输入引脚Intx_msi_request被检测上升沿并同步到axi_aclk_out。包含在MemWr TLP中的数据和地址由寄存器(在PCIe集成块中)的PCIe配置的外部Root Port决定。只有桥工作在Endpoint模式时(C_INCLUDE_RC = 0),输入引脚Intx_msi_request才有效。

当AXI Memory Mapped to PCI Express 核配置成Endpoint时,附加的MSI capability支持多个向量。这里用握手来描述,输入信号msi_vector_num表示通过MSI MemWr TLP发送到Root Port向量的个数。Msi_vector_num是(4:0)时,表示从Endpoint(配置后已经被使能了)发送的MSI消息数最多能达到32个。

如果在MCR寄存器中没有配置这些,桥会忽略掉msi_vector_num。

Endpoint需要在设计参数(AXI Memory Mapped to PCI Express 核的)C_NUM_MSI_REQ 中定义需要的消息个数。根据规格需求,这个参数可以最大设置到5,它用来表示需要的MSI向量个数。例如,当C_NUM_MSI_REQ=5时,表示MSI向量的需求个数是32。C_NUM_MSI_REQ 的参数值在MCR域中的Multiple Message Capable, bit(3:1)中分配。

配置完成后,分配好的MSI向量个数显示在设计输出端口msi_vector_width。这个信号的宽度,(2:0),最大设置到5(101),表示为Endpoint分配的32个MSI向量。输出值6和7,即110和111暂作保留。输出信号msi_vector_width是与MCR域中的Multiple Message Capable, bit(6:4)的值直接相关,如Table 3-5。
在这里插入图片描述在这里插入图片描述

在Endpoint PCIe系统中需要额外的IP来生成PCIe接口上的MSI向量优先级方案。

三、 Legacy Interrupts

如果用C_INTERRUPT_PIN参数做了选择(只有在C_INCLUDE_RC = 0时可以设置为1),桥支持legacy中断。1表示选择了INTA,见Table 2-2。如果选择了PCI支持legacy中断,输出引脚msi_enable 表示桥的endpoint的 MSI功能失效(msi_enable = 0),intx_msi_request引脚被定义成INTX。当INTX引脚变高时,声明INTA有效的消息被发送。当INTX引脚变低时,声明INTA无效的消息被发送。中断需要同步到axi_aclk_out。这些消息在PCI 2.1规格说明中定义。只有桥工作在Endpoint模式(C_INCLUDE_RC = 0)时,输入引脚intx_msi_request才有效。

Xilinx PCIe 中断是指在 Xilinx FPGA 设备使用的 PCIe 总线上发生的中断事件。PCIe(Peripheral Component Interconnect Express)是一种高速串行总线技术,用于连接计算机系统的外围设备,提供高带宽和低延迟的数据传输。 在 Xilinx FPGA 中,PCIe 中断是通过 PCIe IP 核和其它支持电路来实现的。当设备上的特定事件发生时,例如数据传输完成或者设备状态变化,PCIe IP 核会生成一个中断信号,通知宿主机系统发生了某个重要事件。 Xilinx FPGA 可以配置 PCIe IP 核,以便在特定的条件下生成中断。生成中断的条件可以在 FPGA 中进行编程配置,例如特定寄存器的值变化或者特定输入信号的触发。一旦中断条件满足,PCIe IP 核将向触发器输出一个中断信号。中断信号通过 PCIe 总线传输给宿主机系统,然后由操作系统上的驱动程序处理。 在宿主机系统中,操作系统的驱动程序将监视 PCIe 总线上的中断信号。一旦收到中断信号,驱动程序将识别中断的来源,并根据需要采取相应的处理措施。这可能会包括读取和处理 FPGA 中的数据,更新设备状态或通知应用程序中的其他进程。 通过使用 Xilinx FPGAPCIe 中断功能,可以实现高效的数据交互和实时响应。它可以让外围设备和宿主机系统之间以高带宽和低延迟进行通信,并在必要时实现实时数据处理和控制。在许多需要高性能计算和数据处理的应用中,Xilinx FPGAPCIe 中断是一种强大的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值