Vivado HLS - 为什么循环的行程计数和延迟未确定?

描述

为什么循环的行程计数和延迟未确定?

基于循环边界,有两大类,分为三种类型:

  1. 常量:循环边界是常量。
  2. 变量

一个。循环绑定是一个变量,HLS可以确定循环的上限。
湾循环绑定是一个变量&HLS无法确定循环的上限。

所有情况下,HLS都可以综合硬件来实现循环。在最坏的情况下,它将是循环索引变量大小的计数器。

对于循环类型1和2a,HLS可以确定循环将执行多少次迭代并能够报告循环延迟循环延迟计算为循环体的迭代次数*延迟。如果需要,它可以展开循环,因为它知道实现相同功能需要多少循环体副本。

对于类型2b,HLS将无法报告循环延迟 (因为它不知道迭代次数),并且报告中将显示问号(?)。在这种情况下,tripcount指令可用于指定用于报告的值。此外,对于类型2b,HLS将无法展开循环,因为它不知道要创建循环体的副本数量。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 14:29:07 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它