3.5.1.21.2 Module Control Driver Functions
(Ask a Question)When a top-level function is configured to use AXI4 target interface for module control (see Module Control Interface), SmartHLS™ generates the following module control driver functions based on the target SoC platform:
Operating System | Function Signature | Description |
---|---|---|
Linux | int <TopFunc>_is_idle(void *virt_addr); | This function returns 1 if the SmartHLS module is idle or has finished the latest invocation. |
Baremetal | int <TopFunc>_is_idle(uint32_t base_addr =
<TopFunc>_BASE_ADDR); | |
Linux | void <TopFunc>_start(void *virt_addr); | This function starts the SmartHLS module. Input arguments including the module's memory-mapped virtual address are expected to have been set before this function is called. |
Baremetal | void <TopFunc>_start(uint32_t base_addr =
<TopFunc>_BASE_ADDR); | |
Linux | RETYPE <TopFunc>_join(void *virt_addr); | This is a blocking function that waits for the completion of the HLS module. The function returns the return value of the SmartHLS function/module (if not void). The RETYPE is a placeholder for the return type of the function. |
Baremetal | RETYPE <TopFunc>_join(uint32_t base_addr =
<TopFunc>_BASE_ADDR); |