- Synchronous Mode
- When an interrupt is triggered, the core interrupt service routine (ISR)
checks to confirm if current frame processing is complete, and then calls any
additional user programmable callback functions. In the callback function, the
register settings for the next frame should be programmed, that is, from where
the buffer address should read next.
For example, upon finishing a frame, the Video Frame Buffer Write IP triggers an interrupt at
ap_done
. At this time, the callback function is run to program a new buffer address. After running the callback function, the core restarts, and the next frame is processed.
- Asynchronous Mode
- In asynchronous mode, the register settings for the next frame are
programmed at any time rather than waiting first for an interrupt.
For example, the Video Frame Buffer Write IP finishes processing a frame and issues an interrupt. At this time, the buffer address is passed to the Video Frame Buffer Read IP, which is in the middle of processing its own frame. The Video Frame Buffer Read buffer address is programmed asynchronously. When the Video Frame Buffer Read is finished processing its current frame, the newly programmed buffer address takes an effect and the Video Frame Buffer Read IP processes the next frame.