After you set the value of Throughput Factor, and click the Generate button on the Hub, it triggers the compilation of the subsystem. A Throughput Factor of more than 1 can be achieved only if the design complies with the following restrictions:
- The Throughput Factor must be between 1 and 16.
- The subsystem must have at least one non-scalar input port.
- All of the non-scalar ports of the subsystem must use either AXI4-Streaming or FIFO interfaces.
- For any vector signal within the subsystem, but not inside a Window Processing block kernel, the vector length must be a multiple of the Throughput Factor.
- For any matrix signal within the subsystem, but not inside a Window Processing block kernel, the number of columns must be a multiple of the Throughput Factor.
- Except for blocks inside a Window Processing block kernel, the
subsystem must not include any of the following blocks:
- look up
- matrix multiply, QR inverse
- transpose, hermitian
- sum of elements and product of elements with floating point input
- cumulative sum, reducing min, reducing max
- if action subsystem
- For blocks created using
xmcImportFunction
, refer to XMC THROUGHPUT_FACTOR.
In summary, if the specified Throughput Factor is >1, and the design complies with all above mentioned restrictions, Model Composer can generate models that process samples concurrently. In cases where the design does not meet these restrictions, Model Composer will not generate an output model.