按照c参数的不同,标量,数组,指针,HLS综合后的rtl端口也有很多中不同的类型可供选 a) ap_ovid :一般用于in-out 指针 b) ap_none c) ap_hs:包括ap_vld(使能)ap_sck(应答) 其中Port level是我们需要重点关注的,它又可以细分为4中类型:(出处:http://xilinx.eetrend.com/blog/9935) A. AXI4-Interface:...
与ap_vld是一样的双向(in-out)信号输入使用ap_none处理,输出使用ap_vld处理 其他接口信号接口信号说明ap_vld在数据端口port_name的基础上创建一个额外的数据有效信号指示<port_name>_vldap_ack在数据端口port_name的基础上创建一个额外的应答信号指示<port_name>_ackap_hs 使用该类型 ...
选择ap_vld 作为模式。 单击"确定"应用指令。指定端口 y 为相关的有效信号/端口。 在"指令"选项卡中,选择输入端口 y(绿点)。 右键单击并选择插入指令。 从对话框的Destination 部分选择源文件。 从"指令 "下拉菜单中选择 "接口"。 为模式选择 ap_vld。 单击"确定"应用指令。完成后,验证源代码和指令选项卡是...
1. ap_none 默认类型,该类型不适用任何I/O转换协议,它用于表示只读的输入信号,对应于HDL中的wire类型。 2. ap_stable 只用于输入信号,其具体实现方式仍为ap_none。它用于向Vivado HLS的综合器表明该信号在两次复位之间值是不变的。 3. ap_vld 在数据端口port_name的基础上创建一个额外的数据有效信号指示< p...
由值ap_ctrl_none、ap_ctrl_hs 或 ap_ctrl_chain 指定。 ap_ctrl_hs 块级 I/O 协议是默认的。 与函数名称相关联。 每个函数参数都可以指定为具有自己的端口级 (I/O) 接口协议,例如有效握手 (ap_vld) 或确认握手 (ap_ack)。 为顶级函数中的每个参数创建端口级接口协议,如果函数返回一个值,则函数返回...
选择模式,这里选择这里我们的 led_o 为信号输出,所以这里我们选择输出有效信号 ap_ovld,led_i 为信号输入,这里我们就选择信号有效输入 ap_vld 即可 运行仿真 C 综合之后,我们要进行仿真操作: 首先我们需要简单修改一下程序中的时间设置,时间设置的越长,仿真需要的时间也就越长,我们这里设置小一点就可以 ...
ap_ovld— 这个端口和 ap_vld 是一样的,但是只能用于输出端口,或是一个 inout (双向)端口的输出部分。 ap_hs — 这个协议的 “_hs” 后缀表明这是用于 “ 握手(handshaking)” 的协议,它是 ap_ack、ap_vld 和 ap_ovld 的超集。ap_hs 协议既可以用作输入端口也可以用作输出端口,它具有数据的生产者和...
1. ap_none 默认类型,该类型不适用任何I/O转换协议,它用于表示只读的输入信号,对应于HDL中的wire类型。 2. ap_stable 只用于输入信号,其具体实现方式仍为ap_none。它用于向Vivado HLS的综合器表明该信号在两次复位之间值是不变的。 3. ap_vld 在数据端口port_name的基础上创建一个额外的数据有效信号指示< ...
选择INTERFACE mode 选择 ap_ovld。 同样对led_i 进行基本相同的工作,mode 选择 ap_vld。 进行如上操作后,看看源程序出现的变化。还有Directive 的变化。 优化和约束就说这么多。 3: 仿真实现 菜单Project -> Run CSimulation 或者点击快捷键(看菜单旁图示),就开始 C 仿真: ...
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; ...