HLS综合策略

Loop:rolled00

Array: BRAM

Struct:被分解为成员变量

操作符:硬件核

优化策略

The Initial Optimizations

INTERFACE

DATA_PACK

LOOP_TRIPCOUNT

对综合没有影响,只是在报告中看循环次数

Config Interface

去除与顶层设计无关的

Pipeline for Performance

PIPELINE

减少了II(启动时间)

DATA_FLOW

使任务级流水线,允许函数和 同时循环执行。用来减少间隔

Directives to Enable Pipelined Performance

ARRAY_PARTITION

解决BRAM瓶颈问题

DEPENDENCE

用于提供额外的信息 克服循环负载的依赖性和允许循环流水线(或较低的流水线间隔)。

INLINE

提高延迟/间隔,减少函数调用开销。

UNROLL

展开for循环

Config Array Partition

决定有多少个数组可以分割

Config Compile

控制综合特定的优化,例如自动循环流水和数字浮点数优化

Config Schedule

配置输出变异信息

如果这些都不能提高II,那么就需要修改c代码(书写硬件有效的c coding);

如果II都满足了,则需要在性能满足的情况下,减少面积。

Ø Improving the Area

ALLOCATION

限制硬件数

ARRAY_MAP

将多个小的array组合成一个大的array,减少BRAM面积

ARRAY_RESHAPE

LOOP_MERGE

融合循环,减少总延迟

OCCURRENCE

RESOURCE

指定某个变量为具体的功能核

STREAM

指定一个数字实现为fifo或者RAM

Config Bind

Config Dataflow

Ø Reducing Latency

Latency

LOOP_FLATTEN

LOOP_MERGE

本文分享自微信公众号 - 瓜大三哥(xiguazai_tortoise),作者:xiguazaitortoise

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-07-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Vivado Non-Project模式

    read_verilog [ glob ./sources_1/imports/new/*.v ]

    瓜大三哥
  • FPGA程序升级

    Xilinx的双镜像方案成为Multiboot。本文对Xilinx 7系列的MulTIboot做一些简单介绍。

    瓜大三哥
  • matlab GUI基础4

    高级文件I/O——语音文件 1.读取带有分隔符的文件 在matlab中,使用向导将外部的数据文件导入到matlab的工作空间中,然后就可以进行分析和处理了。如...

    瓜大三哥
  • 无人驾驶汽车安全上路,Google 表示:臣妾做不到啊!

    镁客网
  • 带字幕的Youtube

    现在有人就制作了一个网站YouTube Subtitle Editor,专门为Youtube加字幕。你可以先看一段动画片《蜘蛛人》的主题歌,体验一下效果。

    ruanyf
  • Adam优化器为什么被人吐槽?

    最常用的Adam优化器,有着收敛速度快、调参容易等优点,但是也存在经常被人吐槽的泛化性问题和收敛问题。

    机器学习炼丹术
  • 80后,天才程序员, Facebook 第一任 CTO,看看开挂的人生到底有多变态?

    今天介绍一位天才程序员——亚当·德安格洛(Adam D'Angelo),他被《财富》杂志誉为“科技界最聪明的人之一”,大学去了被誉为"天才"摇篮的加州理工,毕业...

    叫我龙总
  • 温故而知新:设计模式之原型模式(Prototype)

    原型模式个人以为最适合的场景:参照现有的某一个对象实例,快速得到多个完整的实例副本。(通常是深拷贝的副本) 深拷贝在c#中实现的最简单方式莫过于通过反序列化得到...

    菩提树下的杨过
  • SAP mobile platform(SMP)MEAP产品评测分析

    SAP于2010年7月通过58亿美元购得Sybase。SAP的Sybase Unwired Platform(SUP)平台是一个移动应用的开发、执行和管理套件。...

    人称T客
  • 责任链模式实现的三种方式

    责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为...

    黄泽杰

扫码关注云+社区

领取腾讯云代金券