用户 IRQ 设计示例支持采用默认 DMA/Bridge Subsystem for PCI Express® 设计示例将主机连接到 AXI4‑Lite 主接口。在设计示例中,AXI4‑Lite 接口上集成了用户中断生成器模块和外部块 RAM。主机可使用此接口通过写入用户中断生成器模块的寄存器空间来生成用户 IRQ,还可对外部 1K 块 RAM 执行读取/写入。下图显示了设计示例。
设计示例可使用以下 Tcl 命令来生成。
set_property -dict [list CONFIG.usr_irq_exdes {true}] [get_ips <ip_name>]
图 1. 用户 IRQ 设计示例
下表中提供了寄存器描述。
寄存器偏移 | 寄存器名称 | 访问类型 | 描述 |
---|---|---|---|
0x00 | Scratch Pad | RW | 暂存寄存器 |
0x04 | DMA BRAM Size | RO | 连接到 XDMA 的用户存储器大小。 存储器大小 = (2[7:4]) ([3:0]Byte) [7:4] - 以 2 次幂来表示大小。
[3:0] - 表示单位。
例如,如果寄存器值为 21,大小为 4 KB。如果寄存器值为 91,大小为 512 KB。 |
0x08 | Interrupt Control Register | RW |
中断控制寄存器(写入 1 以生成中断)。 中断状态寄存器对应位必须为 1(就绪)才能生成中断。并且,提供 ISR 后,将对应的位复位。 |
0x0C | Interrupt Status Register | RO |
中断状态。 1:就绪 0:正在进行中断生成 |
注释: 对于遗留中断,只有在提供 ISR 之后才应清除对应中断位的中断控制寄存器 (0x08) 值,因为这可供主机用于判定中断源。