syn.interface
命令用于配置应用于 HLS 组件的默认接口设置。对于特定顶层接口端口,可使用 syn.directive.interface
覆盖这些设置。
- syn.interface.clock_enable
-
向设计添加时钟使能端口 (
ap_ce
)。时钟使能处于低电平有效状态时会阻止所有时钟操作,并禁用所有后续操作。默认为 false。syn.interface.clock_enable=1
- syn.interface.default_slave_interface
-
指定默认从接口。支持 2 种模式:
s_axilite
和none
。默认值为s_axilite
。syn.interface.default_slave_interface=none
- syn.interface.m_axi_addr64
-
为所有
m_axi
接口启用 64 位寻址。默认情况下,已启用该选项。禁用此设置时,m_axi
接口会使用 32 位寻址。syn.interface.m_axi_addr64=1
- syn.interface.m_axi_alignment_byte_size
-
为所有
m_axi
接口指定默认分配字节大小。不指定该选项时,默认为 Vitis 内核流程指定 64 字节,或者为 Vivado IP 流程指定 1 字节,如Vitis 高层次综合用户指南(UG1399) 的“Vivado/Vitis 流程的默认设置”章节所述。syn.interface.m_axi_alignment_byte_size=16
提示: 值为 0 无效。 - syn.interface.m_axi_auto_id_channel
-
为
m_axi
接口启用自动通道 ID 分配。默认禁用此项。如需了解获取更多信息,请参阅Vitis 高层次综合用户指南(UG1399) 的“AXI4 主接口”章节。syn.interface.m_axi_auto_id_channel=1
- syn.interface.m_axi_auto_max_ports
-
为接口上的每个实参或端口启用自动创建独立
m_axi
接口适配器的功能。默认禁用此项,将m_axi
接口数量减少到所需的最小数量。如需了解更多信息,请参阅Vitis 高层次综合用户指南(UG1399) 的“M_AXI 捆绑”章节。syn.interface.m_axi_auto_max_ports=1
- syn.interface.m_axi_buffer_impl
-
为
m_axi
适配器内部的所有缓冲器指定实现资源。选项包括:auto
、lutram
、bram
和uram
。默认值为bram
。syn.interface.m_axi_buffer_impl=lutram
- syn.interface.m_axi_cache_impl
-
指定实现资源以供添加到
m_axi
适配器的高速缓存使用。选项包括:auto
、lutram
、bram
和uram
。默认值为auto
。syn.interface.m_axi_cache_impl=lutram
- syn.interface.m_axi_conservative_mode
-
将所有
m_axi
适配器配置为以保守模式工作,等待直至关联的写入数据完全可用为止(通常指数据已缓冲至适配器内或者已发射)。它使用 MAXI 适配器内的缓冲器来存储突发的所有数据,读取和写入时都是如此。默认启用此功能特性,这样可能导致写入时延有所增加,但是可以解决由于存储器子系统上的并发请求(读取或写入请求)而导致的死锁。将其设为false
即可禁用保守模式。syn.interface.m_axi_conservative_mode=0
- syn.interface.m_axi_flush_mode
-
将所有
m_axi
适配器配置为可刷新,如果由于流水线阻塞导致突发中断,则写入或读取垃圾数据,发生流水线阻塞的原因是由于未处于保守模式下或者缺失输出空间而导致数据输入缺失。默认禁用此项。syn.interface.m_axi_flush_mode=1
- syn.interface.m_axi_latency
-
全局指定
m_axi
接口的期望时延,允许设计先发起总线请求,经过数个周期(时延)后再执行期望的读取或写入操作。对于 Vitis 内核流程,默认值为 64,对于 Vivado IP 流程则为 0,如Vitis 高层次综合用户指南(UG1399) 的“Vivado 和 Vitis 流程的默认设置”章节中所述。syn.interface.m_axi_latency=5
- syn.interface.m_axi_max_bitwidth
-
指定
m_axi
接口数据通道的最大位宽。默认为 1024 位。指定的值必须为 2 的幂(介于 8 到 1024 之间)。如果实际访问大于所需接口,那么这样会降低吞吐量,因为访问将被拆分为多周期访问突发。syn.interface.m_axi_max_bitwidth=128
- syn.interface.m_axi_max_read_burst_length
-
指定突发传输期间所有
m_axi
接口读取的数据值的全局最大数量。默认值为 16。syn.interface.m_axi_max_read_burst_length=12
- syn.interface.m_axi_max_widen_bitwidth
-
启用端口宽度自动调整,以便为
m_axi
接口拓宽突发,最高可拓宽至所选位宽。指定的值必须为 2 的幂(介于 8 到 1024 之间),并且必须与-m_axi_alignment_size
对齐。对于 Vitis 内核流程,默认值为 512,对于 Vivado IP 流程则为 0。syn.interface.m_axi_max_widen_bitwidth=64
- syn.interface.m_axi_max_write_burst_length
-
指定突发传输期间所有
m_axi
接口写入的数据值的全局最大数量。默认值为 16。syn.interface.m_axi_max_write_burst_length=12
- syn.interface.m_axi_min_bitwidth
-
指定
m_axi
接口数据通道的最小位宽。默认为 8 位。值必须为 2 的幂(介于 8 到 1024 之间)。如果实际访问小于所需接口,那么这样并不一定会增加吞吐量。syn.interface.m_axi_min_bitwidth=64
- syn.interface.m_axi_num_read_outstanding
-
指定在设计停滞前可对
m_axi
接口发出读取请求的数量(无响应)。此操作暗示设计中的内部存储空间,且 FIFO 大小为:num_read_outstanding*max_read_burst_length*word_size
默认值为 16。syn.interface.m_axi_num_read_outstanding=8
- syn.interface.m_axi_num_write_outstanding
-
指定在设计停滞前可对
m_axi
接口发出写入请求的数量(无响应)。此操作暗示设计中的内部存储空间,且 FIFO 大小为:num_write_outstanding*max_write_burst_length*word_size
默认值为 16。syn.interface.m_axi_num_write_outstanding=8
- syn.interface.m_axi_offset
-
指定所有
m_axi
接口的默认偏移机制。选项为:-
off
:不生成偏移端口。 -
slave
:生成偏移端口并自动将其映射到s_axilite
接口。这是默认值。 -
direct
:生成标量输入偏移端口,以便通过偏移端口将地址偏移直接传递到 IP 内。
syn.interface.m_axi_offset=slave
-
- syn.interface.register_io
-
为顶层函数上的所有标量输入、输出或所有标量端口全局启用寄存器(阵列始终寄存)。选项包括:
off
、scalar_in
、scalar_out
和scalar_all
。默认值为off
。syn.interface.register_io=scalar_out
- syn.interface.s_axilite_auto_restart_counter
-
为内核启用自动重启行为。使用 1 即可启用自动重启功能,或者使用默认值 0 即可将其禁用。启用该功能时,工具会在
ap_ctrl_chain
控制协议中为s_axilite
接口建立自动重启位。如需了解更多信息,请参阅Vitis 高层次综合用户指南(UG1399) 中的“自动重启模式”。syn.interface.s_axilite_auto_restart_counter=1
- syn.interface.s_axilite_data64
-
为
s_axilite
接口启用 64 位数据宽度。使用 1 即可启用 64 位数据宽度,使用 0 则将其禁用。默认为 32 位数据宽度。syn.interface.s_axilite_data64=1
- syn.interface.s_axilite_interrupt_mode
-
为将在读取时清零 (
cor
) 或者在写入时切换 (tow
) 的s_axilite
接口指定中断模式。“Clear on Read”(读取时清零)中断可在单一传输事务内完成,而tow
则需要两项传输事务。Tow
是默认中断模式。syn.interface.s_axilite_interrupt_mode=cor
- syn.interface.s_axilite_mailbox
- 启用为非串流非稳定
s_axilite
实参创建邮箱的功能。邮箱功能用于设置和管理自动重启内核,如Vitis 高层次综合用户指南(UG1399) 的“自动重启模式”章节中所述。 - syn.interface.s_axilite_status_regs
-
在
s_axilite
寄存器文件中通过为启用 ECC 的每个 BRAM 或 URAM 设置两个读取时清零 (COR) 计数器,来启用 ECC 错误位的公开。选项包括:ecc
启用该功能,或者off
禁用该功能。默认禁用该选项。syn.interface.s_axilite_status_regs=ecc
- syn.interface.s_axilite_sw_reset
-
在
s_axilite
适配器中启用软件复位。syn.interface.s_axilite_sw_reset=1