Description
Specifies the default interface options used to implement the RTL ports of each function during interface synthesis.
Syntax
config_interface [OPTIONS]
Options
-
-ap_memory_io: [=bus | port] - The default is set to port. Specifies how ap_memory interfaces will be modeled in RTL and IP.
-
-clock_enable[=true|false] - Adds a clock-enable port (
ap_ce) to the design. The default is false.The clock enable prevents all clock operations when it is active-Low. It disables all sequential operations
-
-default_slave_interface [none | s_axilite] - Enables the default for the slave interface as either
none, which is the default for the Vivado IP flow, or ass_axilitewhich is the default for the Vitis Kernel flow, as described in Target Flow Overview. -
-m_axi_addr64[=true|false] - Globally enables 64-bit addressing for all
m_axiports in the design. By default, this is enabled for the Vitis flow, and otherwise disabled. -
-m_axi_alignment_byte_size <size> - Specifies the memory alignment boundary for
m_axiinterfaces provided as bitwidth. The<size>value must be a valid power of 2. A value of 0 is an invalid value. The default value is 64 whenopen_solution -flow_target vitis, and 1 when the-flow_target=vivado, aligning to a single byte.Important: Burst behavior will be incorrect if pointers are not aligned at runtime. -
-m_axi_auto_id_channel[=true|false] - Enable automatic assignment of channel IDs for
m_axiinterfaces. Refer to M_AXI Channels for more information. -
-m_axi_auto_max_ports[=true|false] - If the option is
true, all them_axiinterfaces that are not explicitly bundled, with INTERFACE pragmas or directives, will be mapped into individual interfaces, thus increasing the resource utilization (multiple adapters). The default isfalseandm_axiports are bundled into a single interface. -
-m_axi_buffer_impl [auto | lutram | uram | bram] - Select the implementation for all
m_axiinternal buffers. The choices areauto,lutram,bram,uram. The default isbram. -
-m_axi_cache_impl [auto | lutram | uram | bram] -
Specify the implementation resource for cache added to the
m_axiadapters. The choices areauto,lutram,bram,uram. The default isauto. -
-m_axi_conservative_mode=<true|false> - This mode tells the
m_axinot to issue a write request until the associated write data is entirely available (typically, buffered into the adapter or already emitted). It uses a buffer inside the MAXI adapter to store all the data for a burst (both in case of reading and in case of writing). This is enabled (true) by default, and could slightly increase write latency but can resolve deadlock due to concurrent requests (read or write) on the memory subsystem. This feature can be disabled by setting it tofalse. -
-m_axi_flush_mode - Configure the
m_axiadapter to be flushable, writing or reading garbage data if a burst is interrupted due to pipeline blocking, missing data inputs when not in conservative mode, or missing output space. The default isfalse. This is enabled when the option is specified. -
-m_axi_latency <latency> - Globally specifies the expected latency of the
m_axiinterface, allowing the design to initiate a bus request a number of cycles (latency) before the read or write is expected. The default value is 64 whenopen_solution -flow_target vitis, and 0 when-flow_target vivado. -
-m_axi_max_bitwidth <size> - Specifies the maximum bitwidth for the
m_axiinterfaces data channel. The default is 1024 bits. The specified value must be a power-of-two, between 8 and 1024. Note that this decreases throughput if the actual accesses are bigger than the required interface, as they will be split into a multi-cycle burst of accesses. -
-m_axi_max_read_buffer_size <size> - Overrides the size of the buffers for read data in the MAXI adapter, currently computed as the read burst size times the number of pending read bursts, in case the MAXI fabric provides some buffering already.
-
-m_axi_max_read_burst_length <size> - Specifies a global maximum number of data values read
during a burst transfer for all
m_axiinterfaces. The default is 16. -
-m_axi_max_widen_bitwidth <size> - Automatic port width resizing to widen bursts for the
m_axiinterface, up to the chosen bitwidth. The specified value must be a power of 2 between 8 and 1024, and must align with the-m_axi_alignment_size. The default value is 512 whenopen_solution -flow_target vitis, and 0 when the-flow_target vivado. -
-m_axi_max_write_buffer_size <size> - The option allows the designer to override the size of the buffers for write data in the MAXI adapter, currently computed as the write burst size times the number of pending write bursts, in case the MAXI fabric provides some buffering already.
-
-m_axi_max_write_burst_length <size> - Specifies a global maximum number of data values written
during a burst transfer for all
m_axiinterfaces. The default is 16. -
-m_axi_min_bitwidth <size> - Specifies the minimum bitwidth for the
m_axiinterfaces data channel. The default is 8 bits. The value must be a power of 2, between 8 and 1024. This does not necessarily increase throughput if the actual accesses are smaller than the required interface. -
-m_axi_min_pending_requests <num> - Set the minimum number of pending requests in the
m_axiinterface, to avoidm_axiadapter deadlocks due to too many requests scheduled before the first response comes back. Default value is 0. -
-m_axi_num_read_outstanding <size> - Specifies how many read requests can be made to the
m_axiinterface without a response, before the design stalls. The default value is 16. This implies internal storage in the design, and a FIFO of size:num_read_outstanding*max_read_burst_length*word_size -
-m_axi_num_write_outstanding <size> - Specifies how many write requests can be made to the
m_axiinterface without a response, before the design stalls. The default value is 16. This implies internal storage in the design, and a FIFO of size:num_write_outstanding*max_write_burst_length*word_size -
-m_axi_offset [off | direct | slave] - Globally controls the offset ports for all
m_axiinterfaces in the design.-
off - No offset port is generated. This is the default value in the Vivado IP flow.
-
direct - Generates a scalar input offset port for directly passing the address offset into the IP through the offset port.
-
slave - Generates an offset port and automatically maps it to an AXI4-Lite slave. This is the default value.
-
-
-s_axilite_auto_restart_counter [ 0 | 1 ] - Enables the auto-restart behavior for kernels. Use 0 to
disable the auto-restart feature, which is the default, or use 1 to enable
the feature. When enabled, the tool establishes the auto-restart bit in the
ap_ctrl_chaincontrol protocol for thes_axiliteinterface. -
-s_axilite_data64[=true|false] - Set the data width for the
s_axiliteinterface to 64 bits. -
-s_axilite_interrupt_mode[=cor|tow] - Specify the interrupt mode for
s_axiliteinterface to be Clear on Read (cor) or Toggle on Write (tow). Clear on Read interrupt can be completed in a single transaction, whiletowrequires two.Towis the default interrupt mode. -
-s_axilite_mailbox [both | in | out] - Enables the creation of a mailboxes for non-stream
non-stable
s_axilitearguments. The mailbox feature is used in the setting and management of never-ending kernel. -
-s_axilite_status_regs [ecc | off] -
Enables exposure of ECC error bits in the
s_axiliteregister map via two clear-on-read (COR) counters per BRAM or URAM with ECC enabled.- off
- No status registers generated. This is the default setting.
- ecc
- Enable counters for ECC errors for BRAMs and URAMs
-
-s_axilite_sw_reset[=false|true] - Enable the software reset of a kernel in the
s_axiliteadapter.
Examples
The following example adds a clock enable port to the IP:
config_interface -clock_enable