AP 寄存器是 Vitis 流程的通用寄存器。下表显示了这些 AP 寄存器的描述。
名称 | 偏移地址 | 位 | 归档名称 | 类型 | 描述 |
---|---|---|---|---|---|
Control | 0x00 | [31:7] | Reserved | 保留 | |
[6] | AP_RESET_DONE | 读 | 软复位的完成标志。高电平有效。 | ||
[5] | AP_RESET | 读/写 | DPUCVDX8G 的软复位。高电平有效。 | ||
[4] | Reserved | 保留 | |||
[3] | AP_READY | 读 | 指示 DPUCVDX8G 准备好处理新输入数据的时间。当 AP_DONE 断言有效时,此寄存器清零。 | ||
[2] | AP_IDLE | 读 | 当 DPUCVDX8G 处于空闲状态时,此寄存器断言有效。 | ||
[1] | AP_DONE | 读 | 当 DPUCVDX8G 已完成操作时,此寄存器断言有效。读取时清除此信号。 | ||
[0] | AP_START | 读/写 | 当内核可以开始处理数据时,此寄存器断言有效。握手时如果 ap_done 断言有效,那么此寄存器清零。 |
||
Global Interrupt Enable | 0x04 | [31:1] | Reserved | 保留 | |
[0] | 全局中断使能 | 读/写 | 断言有效即表示启用(使能)中断 | ||
Interrupt Enable Register | 0x08 | [31:2] | Reserved | 保留 | |
[1] | IER_AP_READY | 读/写 | IER 的 ap_ready。 | ||
[0] | IER_AP_DONE | 读/写 | IER 的 ap_done。 | ||
Interrupt Status Register | 0x0C | [31:2] | Reserved | 保留 | |
[1] | ISR_AP_READY | 读/写 | ISR 的 ap_ready。 | ||
[0] | ISR_AP_DONE | 读/写 | ISR 的 ap_done。 |
- 控制 (0x0000) 寄存器
- 此寄存器用于控制核的操作。
- 控制寄存器
ap_start
的位 [0],用于从软件启动 IP。对该位写入 1 即启动 IP 使其开始工作。 - 控制寄存器的
ap_done
位 [1],用于指示 IP 已完成当前传输事务中的所有操作。此信号上的逻辑 1 表示 IP 已完成此传输事务中的所有操作。 - 控制寄存器
ap_idle
的位 [2],发出此信号表示 IP 当前正在执行操作或者处于空闲(无操作)状态。空闲状态以逻辑 1 来表示。当 IP 开始操作后,就会断言此信号为低电平有效。当 IP 完成操作并且不执行任何其它操作时,会断言此信号为高电平有效。 - 控制寄存器
ap_ready
的位 [3],发出此信号表示 IP 此时已准备就绪,可以处理新输入。当 IP 准备好接受新输入时,会将其设为逻辑 1,表示该传输事务的所有输入读取均已完成。如果在流水线中此 IP 无任何操作,则不执行任何新的读取操作,直至下一项传输事务开始为止。此信号用于判定何时向输入端口应用新的值以及是否启动新的传输事务。 - 控制寄存器的位 [5] 是 IP 的软复位。当该位置位时,软件会将此 IP 复位。
- 控制寄存器的位 [6] 是软复位的完成状态。完成软复位时,即断言该位有效。
- 控制寄存器
- 全局中断使能 (0x0004) 寄存器
- 此寄存器是所有中断的主控制寄存器。位 [0] 应断言有效以启用(使能)中断。
- 中断使能 (0x0008) 寄存器
- 此寄存器允许有选择性地使能中断。当前有两个中断源可用:
ap_done
和ap_ready
。完成 IP 处理时,会触发ap_done
,当 IP 准备好开始处理下一项任务时,会触发ap_ready
。 - 中断状态 (0x000C) 寄存器
- 这是两用寄存器。发生中断时,对应中断源位就会在此寄存器中置位。在回读模式(Get 状态)下,可判定中断源。在写回模式(Clear 状态)下,请求的中断源位将清零。