描述
指定默认接口选项,这些选项用于在接口综合期间实现每个函数的 RTL 端口。
语法
config_interface [OPTIONS]
选项
-
-ap_memory_io: [=bus | port]
- 默认设置为 port。指定将在 RTL 和 IP 中对 ap_memory 接口进行建模的方式。
-
-clock_enable[=true|false]
- 向设计添加时钟使能端口 (
ap_ce
)。默认为 false。时钟使能处于低电平有效状态时会阻止所有时钟操作。它会禁用所有后续操作
-
-default_slave_interface [none | s_axilite]
- 启用从接口的默认值,将其设为
none
(Vivado IP 流程的默认值)或者设为s_axilite
(Vitis 内核流程的默认值),如 目标流程概述 中所述。 -
-m_axi_addr64[=true|false]
- 在设计中全局启用所有
m_axi
端口的 64 位寻址。默认情况下,针对 Vitis 流程启用该选项,否则禁用。 -
-m_axi_alignment_byte_size <size>
- 为
m_axi
接口指定存储器对齐边界,这些接口作为位宽提供。<size>
值必须为有效的 2 次幂值。值为 0 无效。当open_solution -flow_target vitis
时,默认值为 64,当-flow_target=vivado
时,值为 1,并对齐到单个字节。重要: 如果指针在运行时未能对齐,则会发生错误的突发行为。 -
-m_axi_auto_id_channel[=true|false]
- 为
m_axi
接口启用自动通道 ID 分配。如需了解更多信息,请参阅 M_AXI 通道。 -
-m_axi_auto_max_ports[=true|false]
- 如果该选项为
true
,那么未通过 INTERFACE 编译指示或指令显式捆绑的所有m_axi
接口都将映射到各独立接口,从而增加资源使用(多个适配器)。默认值为false
且m_axi
端口捆绑到单个接口。 -
-m_axi_buffer_impl [auto | lutram | uram | bram]
- 选择所有
m_axi
内部缓冲器的实现。选项包括:auto
、lutram
、bram
和uram
。默认值为bram
。 -
-m_axi_cache_impl [auto | lutram | uram | bram]
-
指定实现资源以供添加到
m_axi
适配器的高速缓存使用。选项包括:auto
、lutram
、bram
和uram
。默认值为auto
。 -
-m_axi_conservative_mode=<true|false>
- 此模式会告知
m_axi
不发出写入请求,直至关联的写入数据完全可用为止(通常,缓冲至适配器内或者已发射)。它使用 MAXI 适配器内的缓冲器来存储突发的所有数据,读取和写入时都是如此。默认启用此模式 (true
),这样可能导致写入时延有所增加,但是可以解决由于存储器子系统上的并发请求(读取或写入请求)而导致的死锁。将此功能设为false
即可将其禁用。 -
-m_axi_flush_mode
- 将
m_axi
配置器配置为可刷新,如果由于下列原因导致突发中断,则写入或读取垃圾数据:流水线阻塞、缺失数据输入(非保守模式下),或者缺失输出空间。默认值为false
。指定该选项时启用此设置。 -
-m_axi_latency <latency>
- 全局指定
m_axi
接口的期望时延,允许设计发起总线请求的时间比执行期望的读取或写入操作早数个周期(时延)。当open_solution -flow_target vitis
时,默认值为 64,当-flow_target vivado
时,值为 0。 -
-m_axi_max_bitwidth <size>
- 指定
m_axi
接口数据通道的最大位宽。默认为 1024 位。指定的值必须为 2 的幂(介于 8 到 1024 之间)。请注意,如果实际访问大于所需接口,那么这样会降低吞吐量,因为访问将被拆分为多周期访问突发。 -
-m_axi_max_read_buffer_size <size>
- 如果 MAXI 互连结构已提供部分缓冲,则覆盖 MAXI 适配器中用于读取数据的缓冲器的大小,目前计算方法是读取突发量乘以待处理的读取突发数。
-
-m_axi_max_read_burst_length <size>
- 指定突发传输期间所有
m_axi
接口读取的数据值的全局最大数量。默认值为 16。 -
-m_axi_max_widen_bitwidth <size>
- 端口宽度自动调整,以便为
m_axi
接口拓宽突发,最高可拓宽至所选位宽。指定的值必须为 2 的幂(介于 8 到 1024 之间),并且必须与-m_axi_alignment_size
对齐。当open_solution -flow_target vitis
时,默认值为 512,当-flow_target vivado
时,值为 0。 -
-m_axi_max_write_buffer_size <size>
- 该选项允许设计师在 MAXI 结构已提供部分缓冲的情况下,覆盖 MAXI 适配器中用于写入数据的缓冲器大小,目前计算方法是写入突发量乘以待处理的写入突发数。
-
-m_axi_max_write_burst_length <size>
- 指定突发传输期间所有
m_axi
接口写入的数据值的全局最大数量。默认值为 16。 -
-m_axi_min_bitwidth <size>
- 指定
m_axi
接口数据通道的最小位宽。默认为 8 位。值必须为 2 的幂(介于 8 到 1024 之间)。如果实际访问小于所需接口,那么这样并不一定会增加吞吐量。 -
-m_axi_num_read_outstanding <size>
- 指定在设计停滞前可对
m_axi
接口发出读取请求的数量(无响应)。默认值为 16。此操作暗示设计中的内部存储空间,且 FIFO 大小为:num_read_outstanding*max_read_burst_length*word_size
-
-m_axi_num_write_outstanding <size>
- 指定在设计停滞前可对
m_axi
接口发出写入请求的数量(无响应)。默认值为 16。此操作暗示设计中的内部存储空间,且 FIFO 大小为:num_write_outstanding*max_write_burst_length*word_size
-
-m_axi_offset [off | direct | slave]
- 全局控制设计中的所有
m_axi
接口的偏移端口。-
off
- 不生成偏移端口。这是 Vivado IP 流程中的默认值。
-
direct
- 生成标量输入偏移端口,以便通过偏移端口将地址偏移直接传递到 IP 内。
-
slave
- 生成偏移端口并自动将其映射到 AXI4‑Lite 从接口。这是默认值。
-
-
-register_io [off | scalar_in | scalar_out | scalar_all]
- 为顶层函数上的所有输入、所有输出或所有端口全局启用寄存器。默认值为
off
。 -
-s_axilite_auto_restart_counter [ 0 | 1 ]
- 为内核启用自动重启行为。使用默认值 0 即禁用自动重启功能,使用 1 即启用该功能。启用该功能时,工具会在
ap_ctrl_chain
控制协议中为s_axilite
接口建立自动重启位。如需了解更多信息,请参阅 Vitis 统一软件平台文档:应用加速开发(UG1393) 中的持续运行的内核。 -
-s_axilite_data64[=true|false]
- 将
s_axilite
接口的数据宽度设为 64 位。 -
-s_axilite_interrupt_mode[=cor|tow]
- 为将在读取时清零 (
cor
) 或者在写入时切换 (tow
) 的s_axilite
接口指定中断模式。“Clear on Read”(读取时清零)中断可在单一传输事务内完成,而tow
则需要两项传输事务。Tow
是默认中断模式。 -
-s_axilite_mailbox [both | in | out]
- 启用为非串流非稳定
s_axilite
实参创建邮箱的功能。邮箱功能用于设置和管理永续内核,如 Vitis 统一软件平台文档:应用加速开发(UG1393) 的持续运行的内核所述。 -
-s_axilite_status_regs [ecc | off]
-
在
s_axilite
寄存器映射中通过为启用 ECC 的每个 BRAM 或 URAM 设置两个读取时清零 (COR) 计数器,来启用 ECC 错误位的公开。- off
- 不生成状态寄存器。这是默认设置。
- ecc
- 为 BRAM 和 URAM 启用 ECC 错误计数器
-
-s_axilite_sw_reset[=false|true]
- 在
s_axilite
适配器中启用内核的软件复位。
示例
以下示例为 IP 添加了时钟使能端口:
config_interface -clock_enable