高级综合工具StratusHLS学习笔记(2)

学习目标为:

  • 如何使用高级综合生成流水线
  • 如何使用Stratus进行层次化设计

1.生成流水线

Stratus允许指定一个主循环(while(1))中的内容为流水线方式实现,即每个时钟周期均可以进入数据执行,需要在主循环开始时添加如下语句指定使用流水线实现:

HLS_PIPELINE_LOOP(<STALL_TYPE>, <cycle>, <name>);

上述指定该loop为流水线实现,具有三个参数,分别如下所示:

  • STALL_TYPE:实现类型,包括HARD_STALLSOFT_STALL两种
  • cycle:数据进入间隔,即“每隔多少个时钟周期可进入一个数据”,当cycle=1时表示每个周期均可进入数据
  • name:流水线配置名称,每个循环流水线名称不同即可

对于STALL_TYPE中的两种,具有以下的区别:

  • HARD_STALL:当流水线的某一级阻塞时,整条流水线停止运行
  • SOFT_STALL:当流水线的某一级阻塞时,仅阻塞级之前的流水线停止运行,阻塞级之后的流水线继续运行

对于要生成流水线的代码片(循环体),Stratus有以下的要求:

  • 循环展开(Nested Loops):循环体中仅可以嵌套次
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值