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 |