config_interface - 2023.2 简体中文

Vitis 高层次综合用户指南 (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 简体中文

描述

指定默认接口选项,这些选项用于在接口综合期间实现每个函数的 RTL 端口。

语法

config_interface [OPTIONS]

选项

-clock_enable[=true|false]
向设计添加时钟使能端口 (ap_ce)。默认为 false。

时钟使能处于低电平有效状态时会阻止所有时钟操作。它会禁用所有后续操作

-default_slave_interface [none | s_axilite]
启用从接口的默认值,将其设为 noneVivado IP 流程的默认值)或者设为 s_axiliteVitis 内核流程的默认值),如 目标流程概述 中所述。
-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 接口都将映射到各独立接口,从而增加资源使用(多个适配器)。默认值为 falsem_axi 端口捆绑到单个接口。
-m_axi_buffer_impl [auto | lutram | uram | bram]
选择所有 m_axi 内部缓冲器的实现。选项包括:autolutrambramuram。默认值为 bram
-m_axi_cache_impl [auto | lutram | uram | bram]

指定实现资源以供添加到 m_axi 适配器的高速缓存使用。选项包括:autolutrambramuram。默认值为 auto

-m_axi_conservative_mode=<true|false>
此模式会告知 m_axi 不发出写入请求,直至关联的写入数据完全可用为止(通常,缓冲至适配器内或者已发射)。它使用 MAXI 适配器内的缓冲器来存储突发的所有数据,读取和写入时都是如此。默认启用此模式 (true),这样可能导致写入时延有所增加,但是可以解决由于存储器子系统上的并发请求(读取或写入请求)而导致的死锁。将此功能设为 false 即可将其禁用。
提示: 如果设计实现的缓冲大于使用替代方法时的最大写入突发长度,即可安全地将其模式设为 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_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_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)持续运行的内核所述。
实参值可指定:
  • both:为输入和输出实参启用邮箱
  • in:仅为输入实参启用邮箱
  • out:仅为输出实参启用邮箱
  • none:不创建邮箱(默认)
-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