Using RTL Kernels
In the host application, the RTL kernel is invoked in a similar manner as HLS kernels with a function signature such as:
void mmult(int *a, int *b, int *output)
void mmult(unsigned int length, int *a, int *b, int *output)
This implies that the RTL design must have an execution model similar to that of a software function or kernel: start, execute, and end.
- It must be capable of starting when called to do so.
- It must compute all data values.
- It must return the data and then end the operation.
If the RTL design has a different execution model then logic must be added to ensure that the design can be executed in this manner. The RTL Kernel Wizard provides a flow that allows such changes to be performed.
For more information, see Creating RTL Kernels.