首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第23讲 函数层面的优化

第23讲 函数层面的优化

作者头像
Lauren的FPGA
发布2019-10-31 13:23:38
4220
发布2019-10-31 13:23:38
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

谈到函数,我们会很自然地联想到Verilog中的module或者VHDL中的entity,没错,它们之间是相互对应的。通常在Vivado HLS中,每个函数会生成相应的RTL代码。类似的,如果一个函数功能简单,代码量很小,那么该函数就有可能被合并到调用它的函数中,这其实就是所谓的层次打平。

采用C描述的函数,因为C本身的特性,函数是顺序执行的,可理解为串行工作。实际上,有的函数是可以并行工作的。Vivado HLS提供了这种机制,通过使用Allocation可确定函数是顺序执行还是并行执行。此外,通过对函数使用DATAFLOW,也可提高吞吐率。其本质是采用乒乓工作机制使得函数并行工作。

无论是RTL代码还是C代码,清晰合理的数据流是非常重要的,它可以有效帮助设计者划分模块、设计函数层次。因此,在写代码之前,画出清晰合理的数据流是很有必要的。

更为深入的介绍可以阅读以下文档:

ug902 (v2018.1) High-Level Synthesis UserGuide:page 312-page313

视频内容
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lauren的FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档