The ap_ctrl
register controls and provides the kernel status.
The host uses it to control the start and acknowledge the end of the kernel process.
The host writes a 1 in ap_start
and waits for both
ap_start
to be deasserted (guaranteeing the
input data is fully processed) and ap_done
to be
asserted (guaranteeing the output data is fully produced). Definitions of the
control register bits are listed in the following table. The address is 0x0
. The kernel can and should only be restarted after
it finishes the current workload and is in the idle state.
Bit | Register | Address | Type | Description |
---|---|---|---|---|
0 | AP_START | 0x0 | W | Asserted by host when kernel can start processing data. Cleared by kernel on handshake with ap_ready. |
1 | AP_DONE | R | Asserted by kernel when it has finished producing output data. Cleared on read by host. | |
2 | AP_IDLE | R | Asserted by kernel when it is idle (deprecated). | |
3 | AP_READY | R | Asserted by kernel when it has finished processing input data. Self-cleared immediately. | |
6:4 | reserved | Reserved | ||
7 | AUTO_RESTART | R/W | If asserted, ap_start is held asserted by the kernel. Read/write access by the host. (Not used) | |
31:8 | reserved | Reserved |