5. ap_hs 使用该类型,则会同时创建额外的数据有效信号和应答信号,其效果相当于ap_vld与ap_ack之和。 6. ap_ovld 对于输入信号,其效果与ap_none是一样的。 对于输出信号,其效果与ap_vld是一样的。 对于双向(inout)类型的信号,输入使用ap_none,输出使用ap_vld进行处理。 7. ap_memory 把对数组的读写等...
ap_stable只用于输入信号,其具体实现方式仍为ap_none。它用于向VivadoHLS的综合器表明该信号在两次复位之间值是不变的。 对于双向的参数(in-out)(ap_ovld) 对于...(in-out)信号输入使用ap_none处理,输出使用ap_vld处理 其他接口信号接口信号说明ap_vld在数据端口port_name的基础上创建一个额外的数据有效信号指...
由值ap_ctrl_none、ap_ctrl_hs 或 ap_ctrl_chain 指定。 ap_ctrl_hs 块级 I/O 协议是默认的。 与函数名称相关联。 每个函数参数都可以指定为具有自己的端口级 (I/O) 接口协议,例如有效握手 (ap_vld) 或确认握手 (ap_ack)。 为顶级函数中的每个参数创建端口级接口协议,如果函数返回一个值,则函数返回。
它用于向Vivado HLS的综合器表明该信号在两次复位之间值是不变的。 3. ap_vld 在数据端口port_name的基础上创建一个额外的数据有效信号指示< port_name >_vld。 4. ap_ack 在数据端口port_name的基础上创建一个额外的应答信号指示< port_name >_ack。 5. ap_hs 使用该类型,则会同时创建额外的数据有效信...
选择ap_vld 作为模式。 单击"确定"应用指令。指定端口 y 为相关的有效信号/端口。 在"指令"选项卡中,选择输入端口 y(绿点)。 右键单击并选择插入指令。 从对话框的Destination 部分选择源文件。 从"指令 "下拉菜单中选择 "接口"。 为模式选择 ap_vld。 单击"确定"应用指令。完成后,验证源代码和指令选项卡是...
ap_vld— 要提供一个额外的端口来验证数据。对于输入端口,要附加一个有效输入控制端口,它负责校验输入端口是否有效。对于输出端口,要附加一个输出有效端口,在输出数据有效的时钟周期里给出信号。 ap_ovld— 这个端口和 ap_vld 是一样的,但是只能用于输出端口,或是一个 inout (双向)端口的输出部分。
选择模式,这里选择这里我们的 led_o 为信号输出,所以这里我们选择输出有效信号 ap_ovld,led_i 为信号输入,这里我们就选择信号有效输入 ap_vld 即可 运行仿真 C 综合之后,我们要进行仿真操作: 首先我们需要简单修改一下程序中的时间设置,时间设置的越长,仿真需要的时间也就越长,我们这里设置小一点就可以 ...
添加有效vld信号: Directive-> Interface -> mode: ap_vld. 添加应答ack信号: Directive-> Interface -> mode: ap_ack. 添加握手(以上两个): Directive-> Interface -> mode: ap_hs. 不需要添加控制端口: Directive-> Interface -> mode: ap_none. ...
pointer作为input,不支持ap_ctrl_none,ap_ctrl_hs,ap_ctrl_chain,ap_ovld;默认为ap_none,支持ap_none,ap_stable,ap_ack,ap_vld,ap_hs; pointer作为in/out,不支持ap_ctrl_none,ap_ctrl_hs,ap_ctrl_chain,ap_stable;默认为ap_ovld,支持ap_none,ap_ack,ap_vld,ap_ovld,ap_hs; ...
选择INTERFACE mode 选择 ap_ovld。 同样对led_i 进行基本相同的工作,mode 选择 ap_vld。 进行如上操作后,看看源程序出现的变化。还有Directive 的变化。 优化和约束就说这么多。 3: 仿真实现 菜单Project -> Run CSimulation 或者点击快捷键(看菜单旁图示),就开始 C 仿真: ...