M_AXI channels implement a separate channel for each pointer argument mapped to a single AXI interface, rather than requiring a separate adapter.
This enables the following benefits:
- The kernel uses fewer M_AXI adapters and consumes fewer hardware resources.
- Multiple pointer arguments mapped to a single AXI interface can be used inside a dataflow region.
- Using a unique AXI ID for each pointer argument enables burst interleaving which can result in higher utilization of the AXI bus bandwidth.
There are two methods to enable this feature in your design:
- Enable globally on
m_axiinterfaces using the
config_interface –m_axi_auto_id_channel=truecommand. The HLS tool automatically adds channels to the
m_axiadapter when this is enabled. Refer to config_interface for more information
- Enable on a specific
m_axiinterface using the
channeloption of the INTERFACE pragma or directive as described in pragma HLS interface