Auto-Restarting Mode - 2021.2 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
UG1393
Release Date
2022-03-29
Version
2021.2 English

By default, Vitis HLS generates a kernel with synchronization controlled by the host application. The host controls and monitors the start and end of the kernel. Auto-restarting kernels can run continuously after being started once by the host application. They can run until reset and restarted, or they can be programmed to run for a predetermined number of iterations without the host explicitly calling them multiple times.

The main advantage of auto-restarting kernels is that they run semi-autonomously operating as data-driven kernels without the need for frequent interaction with the host application and for software control. But they also offer semi-synchronization, which is the ability to exchange data with the host application in an asynchronous, non-blocking, and safe way. These kernels use the auto_restart signal of the ap_ctrl_chain block protocol, and the mailbox feature as described in Auto-Restarting Kernels.