HLS 接口综合_增加协议特点

接口综合有两种,分别是 block-level interface protocolport-level interface protocol
接口综合只对顶层函数及其参数有用。
三小类:

  • 控制整个顶层函数的握手信号接口
  • 参数和指针接口
  • 返回值接口
    在这里插入图片描述
    (2)默认情况下,函数的值传递参数和指针参数会用没有 handshaking 信号的简单 wire
    ports 来实现。如果函数有返回值,输出端口的 ap_return 就会传递这个返回值,返回值的端
    口协议是 ap_ctrl_hls。

1 block-level interface protocol

(1)默认情况下,block-level interface protocol 会被自动添加到设计中,这些接口
制着整个块(即顶层函数)
,独立于任何 port-level I/O protocol。
block-level interface protocol 只作用于顶层函数或者顶层函数的返回值(不作用于顶层
函数的参数)
,该协议只有三种,分别是:ap_ctrl_hs、ap_ctrl_none、ap_ctrl_chain
ap_ctrl_hs (hand shaking )作用于函数时会产生额外几个输入输出接口,如黄色方框所示:

在这里插入图片描述
ap_start 为高表示代码块可以开始处理数据,这时
ap_idle 就为低,表明模块处于非空闲状态。
ap_ready 如果为高,表明这个模块可以接收新的数据,
ap_done 为高则表明已经处理完结果了。
在这里插入图片描述

2 port-level interface protocol

port-level interface protocol 数量较多,只作用于顶层函数的参数。
在这里插入图片描述
ap_none 是 scalar 的默认类型,表示没有接口协议。作为数据传递。
ap_stable,若要设置在芯片复位时输入才能改变则使用该模式。
另一个指针分别作为输入输出被实现,类型为 ap_ovld,该模式用于双向参数。当一个双向参数分别作为输入输出实现时,输入默认是 ap_none,输出默认是 ap_vld。
在这里插入图片描述
在这里插入图片描述
ap_hs 模式包括两种:ap_vld 和 ap_ack。ap_vld 表示输入或者输出是有效的,ap_ack 会给出一个应答信号。

常用默认模式
在这里插入图片描述

接口设置的不同

1 默认

in1 int2 默认为ap_none
inout 指针为双向,ap_ovld 并增加一个ap_vld
在这里插入图片描述

2 设置ap_vld ap_ack ap_hs

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值