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

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

3天内不再提示

如何理解HLS Block-level输入输出信号之间的时序关系

FPGA威廉希尔官方网站 驿站 来源:FPGA威廉希尔官方网站 驿站 作者:FPGA威廉希尔官方网站 驿站 2022-11-11 11:54 次阅读

默认情况下,VitisHLS会对待综合的C函数使用ap_ctrl_hs接口,这其实是一种握手方式。在这个接口中,我们会看到ap_start、ap_idle、ap_ready和ap_done等信号(这些信号被称为Block-level输入/输出信号)。其中ap_start是输入信号,而其余三个信号是输出信号。那么我们如何根据这些信号管理输入数据呢?这就要理解这些信号之间的时序关系。为便于说明,我们以一个简单的算法为例。

如下图所示代码片段。函数array_mult有3个形参。其中a1和a2是长度为N的一维数组,两者对应元素相减再平方即为另一形参prod。显然,prod也是长度为N的一维数组。

4920de9e-6173-11ed-8abf-dac502259ad0.png

为了观察这些Block-level信号之间的时序关系,我们在仿真时将多次调用函数array_mult。为此,在描述测试激励时,输入激励以两个二维数组形式给出,这两个二维数组对应的每一列作为array_mult的输入。假定这两个二维数组是8行4列的数组,C/RTLco-sim仿真结果波形如下图所示。

494622c6-6173-11ed-8abf-dac502259ad0.png

标记1为数组a2对应存储单元的读地址a2_address,共8个数据;标记2显示了读书的数据数值a2_q0,可以看到两者相差一个时钟周期。那么什么时候a2_address可以发生变化呢?我们从标记A可以看到,在标记A左边,ap_idle为高电平,表明该模块处于空闲状态,标记A之后,ap_start为高电平,同时ap_idle变为低电平。一旦ap_start为高,a2_ce0即为高,表明可以开始读取a2对应的数据。当第一帧8个数据读取完毕,即读取到第一帧最后一个数据时,ap_ready为由低电平变为高电平且持续一个时钟周期,表明第一帧输入数据已读取完毕,如图中标记B。紧接着ap_start也由高电平变为低电平。当第一帧计算完毕,输出对应的8个数据后,ap_done由低电平变为高电平并持续一个时钟周期,如图中标记C。当ap_done由高变低时,ap_idle则由低变高,表明可以再次启动该模块。因此,我们可以看到标记D处ap_start为高,之后a2_ce0由低变高开始读取第二帧输入数据。读取到第二帧输入数据的最后一个数据后,ap_ready由低电平变为高电平。

由此我们可以得出如下结论:

ap_start受ap_idle影响,只有当ap_idle为高时,才可以启动ap_start,将其由低电平变为高电平;

ap_ready为高电平时,表明已完成一帧的输入数据读取任务;

ap_done为高电平时,表明已完成一帧的输出数据写入任务;

ap_done持续一个时钟周期由高变低后,ap_idle会由低变高。

审核编辑:汤梓红

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

    关注

    3

    文章

    4329

    浏览量

    62583
  • HLS
    HLS
    +关注

    关注

    1

    文章

    129

    浏览量

    24099

原文标题:如何理解HLS Block-level输入输出信号之间的时序关系

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA威廉希尔官方网站 驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    TLV320AIC3106有10个模拟输入和7个模拟输出,这些模拟输入输出如何理解

    请问,官网上说TLV320AIC3106有10个模拟输入和7个模拟输出,这些模拟输入输出如何理解输入
    发表于 10-25 07:35

    请问倍频器的输入信号输出信号的相位关系

    如题:1. 倍频器的输入信号输出信号的相位关系能否用相应的公式来进行表征?2. 锁相环的参考和输出
    发表于 10-12 09:10

    视频打印机的输入输出

    视频打印机的输入输出            输入输出指的是产品输入输出视频信号的端口,比较常见
    发表于 12-31 10:38 1490次阅读

    数字信号输入输出接口电路

    数字信号输入输出接口电路【更齐全】
    发表于 12-16 21:32 0次下载

    HLS系列 – High LevelSynthesis(HLS) 的端口综合1

    → clock_enable) Block-Level Interface端口: 顾名思义,Block端口的作用就是用来控制Block的操作。它在c参数中没有直接的对应,但是它对应了c函数的调用/返回过程。默认Bloc
    发表于 02-08 03:29 863次阅读
    <b class='flag-5'>HLS</b>系列 – High LevelSynthesis(<b class='flag-5'>HLS</b>) 的端口综合1

    HLS系列–High Level Synthesis(HLS)的端口综合6

    在上一章,介绍了Block Level Interface。 本章里着重介绍下Port Level Interface的2中子类别:No I/O Protocol和Wire handshakes
    发表于 02-08 03:45 693次阅读
    <b class='flag-5'>HLS</b>系列–High <b class='flag-5'>Level</b> Synthesis(<b class='flag-5'>HLS</b>)的端口综合6

    一文详解FPGA编程技巧输入输出偏移约束

    偏移约束(Offset Constraint)用来定义一个外部时钟引脚(Pad)和数据输入输出引脚之间时序关系,这种时序
    的头像 发表于 07-14 07:14 5505次阅读
    一文详解FPGA编程技巧<b class='flag-5'>输入输出</b>偏移约束

    什么是输入输出模块_输入输出模块有什么作用

    输入输出模块也称为控制模块,在有控制要求时可以输出信号,或者提供一个开关量信号,使被控设备动作,同时可以接收设备的反馈信号,以向主机报告,是
    发表于 05-21 10:28 12w次阅读

    GPIO通用输入输出

    GPIO通用输入输出一、GPIO的功能概述用途:GPIO是通用输入输出(General Purpose I/O)的简称,主要用于工业现场需要用到数字量输入/输出的场合。例如:
    发表于 12-20 18:58 6次下载
    GPIO通用<b class='flag-5'>输入输出</b>

    创建输入输出接口时序约束的窍门

    输入输出接口的约束,整理出了一套非常实用的InputDelay/Output Delay Constraints Language Templates。
    的头像 发表于 08-02 09:54 2513次阅读
    创建<b class='flag-5'>输入输出</b>接口<b class='flag-5'>时序</b>约束的窍门

    boost升压电路输入输出关系

    boost升压电路输入输出关系 升压电路是一种常用的电路,它可以将电压从一个较低的水平升高到一个较高的水平,以满足不同的应用需求。升压电路的输入输出之间有很重要的
    的头像 发表于 08-27 15:01 3237次阅读

    plc带模拟量输入输出和不带模拟量输入输出有什么区别啊?

    的PLC类型,它们之间有很大的差异。 PLC带模拟量输入输出与PLC不带模拟量输入输出的区别在于它们可以控制和处理的不同信号类型。模拟量输入输出
    的头像 发表于 10-17 16:44 1633次阅读

    输入输出电压差与效率的关系

    在开关稳压电源中,输入电压的范围是预知的,输出电压也是知道的,但是输入输出的电压差和转换效率的关系很多人 不清楚,有经验的工程师就会根据公式去推导出来
    发表于 01-05 15:12 877次阅读
    <b class='flag-5'>输入输出</b>电压差与效率的<b class='flag-5'>关系</b>

    锁相环的输入输出相位一致吗?

    锁相环是保证相位一致,还是相位差一致?锁相环的输入输出相位一致吗? 锁相环(PLL)是一种回路控制系统,用于保持输出信号的相位与参考信号的相位之间
    的头像 发表于 01-31 15:45 1154次阅读

    误差放大器的输入输出关系

    误差放大器(Error Amplifier)在电子测量和控制系统中扮演着至关重要的角色,其输入输出关系对于理解和设计这些系统至关重要。以下是对误差放大器输入输出关系的详细解析,包括其工作原理、
    的头像 发表于 09-11 15:32 1175次阅读