接口综合类型
- 在 Vitis HLS(High-Level Synthesis)中,接口类型用于指定模块的控制信号和通信方式,从而影响硬件实现时的控制逻辑、时序以及数据传输方式。Vitis HLS 使用以下接口类型
ap_clk,ap_fifo,ap_hs ,ap_memory,ap_none,ap_ovld,ap_stable,ap_vld,axis,m_axi和s_axilite
来指定 RTL IP 是否使用模块级握手信号实现。
ap_none
- 最简单的接口,没有与之关联的控制信号。
ap_stable
- ap_none类似的协议,它不涉及其他控制信号或相关硬件。 ap_stable 适用于不经常更改的 inputs,即除了 reset(重置)之外通常保持稳定的 inputs。
ap_ovld
- 将
参数
对应成参数_i
和参数_o
,输入参数参数_i
为ap_none
,输出参数参数_o
带有vaild指示,即输出数据是否有效的指示信号led_o_ap_vld
。
代码效果
static int counter = 0;
void hlsv1(ap_int<1> * led) {
#pragma HLS INTERFACE ap_ovld port=led
#pragma HLS INTERFACE ap_ctrl_none port=return
counter= counter+ 1;
if (counter < MAX_COUNT) {
*led = *led;
} {
*led = 1;
}
}
⇓ \Downarrow ⇓
module hlsv1 (
ap_clk,
ap_rst,
led,
led_ap_vld
)