0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vivado HLS中常见的接口类型

454398 来源:CSDN 博主 作者:weixin_41967965 2020-12-26 11:44 次阅读

Vivado HLS中常见的接口类型有:

1. ap_none

默认类型,该类型不适用任何I/O转换协议,它用于表示只读的输入信号,对应于HDL中的wire类型。

2. ap_stable

只用于输入信号,其具体实现方式仍为ap_none。它用于向Vivado HLS的综合器表明该信号在两次复位之间值是不变的。

3. ap_vld

在数据端口port_name的基础上创建一个额外的数据有效信号指示_vld。

4. ap_ack

在数据端口port_name的基础上创建一个额外的应答信号指示_ack。

5. ap_hs

使用该类型,则会同时创建额外的数据有效信号和应答信号,其效果相当于ap_vld与ap_ack之和。

6. ap_ovld

对于输入信号,其效果与ap_none是一样的。

对于输出信号,其效果与ap_vld是一样的。

对于双向(inout)类型的信号,输入使用ap_none,输出使用ap_vld进行处理。

7. ap_memory

把对数组的读写等效为对外部RAM的引用。

8. ap_fifo

把对数组、指针和参数引用的读写用FIFO的方式来实现。

9. ap_bus

把对指针和参数引用的读写用总线接口的方式来实现。

在TCL脚本中,我们也可以对接口类型进行更改。在图形化的开发界面中,可以直接在directives.tcl中进行规则的编辑,如图1所示。

图1 通过TCL配置改变端口类型

图1 通过TCL配置改变端口类型

此外,我们还可以通过在Vivado HLS中的Directive视图中选择INTERFACE来进行更改,如图2所示。

图2 接口的类型选择

例如:

void adders_io(intin1,intin2,int*in_out1)

{

*in_out1 = in1 + in2 + *in_out1;

}

这里我们使用了指针。从其本质上来说,指针是一个“双向”的类型,即它即可以做为输入,同时也可以用来输出。在默认的情况下,端口的综合结果如图3所示。

图3 默认情况下的端口综合结果

图3 默认情况下的端口综合结果

如果按照图1中的示例对端口类型进行指定,则C综合之后的结果如图4所示。

图4 自定义端口类型之后的端口综合结果

图4 自定义端口类型之后的端口综合结果

在图1的示例中,我们指定了端口的类型,所以对比图3与图4,可以看出,端口in1和in2的类型从默认的ap_none变为自定义的ap_vld,并且分别具有了对应的数据有效指示位in1_ap_vld和in2ap_vld。

一、Block-level接口协议(块级接口协议,与函数本身相关联,不与任何数据端口相关联)

Block-Level Interface端口:
顾名思义,Block端口的作用就是用来控制Block的操作。它在c参数中没有直接的对应,但是它对应了c函数的调用/返回过程。默认Block端口都会加上,如果不需要,可以对函数顶层设置ap_none。

ap_ctrl_none:没有块级I/O控制协议

ap_ctrl_chain:它同ap_ctrl_hs几乎一样,除了多出一个输入信号ap_continue,它可以使得下游模块控制上游模块的运行/终止。不过这种模式比较不常用,所以有兴趣的读者,可以自己去研究相关的文档。

ap_ctrl_hs:块级I/O控制握手协议,我们已经采用的(ap_start,ap_ready,ap_idle,ap_done)

ap_ctrl_hs是默认的端口类型,它综合出来的端口会有额外的4个系统控制信号,如下所示:
图片居中使用:

o4YBAF9uImKAXuooAAB5NwFc8lM104.png

其端口行为时序如下:

o4YBAF9uImWAcPaUAAILFJ4vGe8191.png

在ap_rst释放后,ap_start高电平启动模块的运行,然后ap_idle立即拉低表明模块不再空闲。

ap_ready拉高表明本模块已经准备好接收新的输入,不过它的行为会稍微有些复杂,在non-pipelined实现中,ap_ready和ap_done会同时拉高;在pipelined实现中,它可能会随时拉高。

o4YBAF9uImiAHBsxAAFmYJIe09Y263.jpg

二、Port-level接口协议

Port端口会跟c的参数有直接的对应关系。按照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:支持Stream,Lite,Full共3中类型
B. NO I/O协议:无端口协议
C. Wire Handshakes:握手协议
D. Memory Interface:内存访问型的端口协议

各种rtl端口协议和c参数类型的对应关系如下:

pIYBAF9uImmAc8N9AADCuQ0I0mE194.jpg


o4YBAF9uImuAZZA3AADoB9bmNsg287.png

三、其他

1.可以IO口添加寄存器,目的是可以控制输入输出波形。(添加寄存器条件是要配置成:ap_hs)


2.可以对设计添加全局使能端口。

pIYBAF9uIneAfnkSAANp9Wu6l2Y865.png

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Vivado
    +关注

    关注

    19

    文章

    812

    浏览量

    66473
  • HLS
    HLS
    +关注

    关注

    1

    文章

    129

    浏览量

    24097
收藏 人收藏

    评论

    相关推荐

    Micro USB接口类型和规格

    USB A型。 Micro USB B型 :这是最常见的Micro USB接口类型,通常用于移动设备,如智能手机、平板电脑和数码相机。它是一个可逆接口,意味着用户可以不区
    的头像 发表于 11-27 09:54 802次阅读

    SSD硬盘的接口类型有哪些

    固态硬盘(SSD)的接口类型对于其性能和兼容性至关重要。以下是一些常见的SSD接口类型,以及它们的特点: 1. SATA接口(Serial ATA) SATA
    的头像 发表于 11-23 09:38 645次阅读

    如何选择适合的音频线接口类型

    常见的音频线接口类型 3.5mm 音频接口 用途 :这是最常见的音频接口,广泛用于智能手机、笔记本电脑、耳机和便携式音乐播放器。 特点
    的头像 发表于 10-30 15:22 418次阅读

    光纤跳线常用接口类型—— 以山泽品牌为例

    在现代网络建设中,光纤跳线是不可或缺的关键组件。不同的应用场景需要不同类型的光纤跳线接口。今天,我们就来详细介绍几种常见的光纤跳线接口类型,并以山泽品牌的产品为例,帮助你在选择时更加得
    的头像 发表于 10-18 15:58 312次阅读

    天线接口类型有哪几种

    天线接口类型是指天线与无线电设备连接的物理接口,它们对于确保信号的有效传输至关重要。以下是一些常见的天线接口类型,以及它们的特点和应用场景: SMA
    的头像 发表于 10-15 16:06 960次阅读

    传输接口类型有哪些

    ,其中数据位按顺序一个接一个地通过单一通道传输。以下是一些常见的串行接口类型: 1.1 RS-232 RS-232是一种标准的串行通信协议,广泛应用于计算机与外设(如调制解调器、鼠标、打印机等)之间的通信。它使用9针或25针的D-sub连接器,传
    的头像 发表于 10-12 14:04 407次阅读

    简述内存的接口类型

    内存的接口类型多种多样,这些接口不仅决定了内存与主板之间的连接方式,还影响了内存的传输速度和稳定性。
    的头像 发表于 09-10 14:24 2094次阅读

    CAN总线的接口类型

    CAN总线(Controller Area Network)是一种基于广播的串行通信协议,广泛用于连接分布式系统中的各个设备,实现它们之间的数据交换和控制。CAN总线接口的定义涵盖了物理层和数据链路层的多个方面,包括接口类型、引脚定义、通信速率等。以下是对CAN总线
    的头像 发表于 09-03 14:13 1746次阅读

    研华工控机购买指南:常见电源接口类型,如何选择合适的电源接口

    在选择研华工控机时,了解其电源接口的相关信息是确保系统稳定运行和兼容性的关键。下面就随苏州研讯电子科技有限公司一起继续来看 研华工控机 购买指南系列之常见电源接口类型,如何选择合适的工控机电源
    的头像 发表于 07-03 16:08 623次阅读
    研华工控机购买指南:<b class='flag-5'>常见</b>电源<b class='flag-5'>接口类型</b>,如何选择合适的电源<b class='flag-5'>接口</b>

    电路设计中常用的接口类型介绍

    电路设计中,接口类型的选择直接影响到系统的可靠性、稳定性和传输效率。 TTL电平接口 TTL电平接口的运行速度通常被限制在30MHz以内。这是因为双极结型晶体管(BJT)输入端固有的几皮法拉(pF
    的头像 发表于 06-09 16:52 687次阅读

    HDMI常见接口类型及应用领域

    易用等特点,成为了数字娱乐、信息传递和多媒体设备连接的重要接口。本文将详细介绍HDMI常见接口类型及其在不同领域的应用,以期为读者提供全面而深入的理解。
    的头像 发表于 05-29 16:48 2988次阅读

    伺服电机应用中常见干扰类型和产生途径

    伺服电机应用中常见干扰类型和产生途径
    的头像 发表于 01-07 17:56 1399次阅读

    家用游戏机的控制器接口类型

    家用游戏机的控制器接口类型是游戏机和手柄之间进行连接和通信的关键部分。它决定了用户如何与游戏机进行交互,并直接影响到游戏体验的质量和多样性。本文将详细介绍几种常见的家用游戏机控制器接口类型,包括有线
    的头像 发表于 01-04 11:23 1430次阅读

    笔记本光驱接口类型介绍

    、笔记本光驱接口类型 CD-ROM接口 CD-ROM接口是笔记本电脑上最常见的光驱接口类型,主要用于读取CD光盘的数据。这种
    的头像 发表于 12-30 16:07 6379次阅读

    CN0409模块的接口类型是什么?能在stm32上使用吗?

    请问,CN0409模块的接口类型是什么?能在stm32上使用吗?有没有使用说明?
    发表于 12-27 07:05