前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第20讲 数组优化:数组分割

第20讲 数组优化:数组分割

作者头像
Lauren的FPGA
发布2019-10-31 13:30:41
1.1K0
发布2019-10-31 13:30:41
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

在采用C语言进行算法建模时,数组会被经常用到。同样地,采用RTL建模时,数组也会被经常使用,例如VHDL中的std_logic_vector类型(Vector就是一维向量)。此外,RTL代码中的Memory,无论最终采用何种方式实现,本质上都可以看做数组。这就建立了C模型与RTL模型在数组这一层面上的对应关系。简言之,C模型中的数组对应RTL模型中的Memory。需要注意的是,这种对应关系是有条件的。为了使得C模型中的数组可综合,需要其深度是常数,而不能是变量(RTL模型中的Memory也是固定的深度与宽度)。

有了这种对应关系,就不难理解其优化方法。Vivado HLS提供了数组分割(array_partition)、数组映射(array_map)和数组重构(array_reshape)等三种优化方法。此外,还可以通过resource选择数组最终在FPGA中实现时是采用分布式RAM还是Block RAM或者UltraRAM。

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

ug902(v2018.1) High-Level Synthesis User Guide page 145 - page 147 (ARRAY_PARTITION)

ug902(v2018.1) High-Level Synthesis User Guide page 170 - page 176 (ARRAY_MAP, ARRAY_RESHAPE)

ug871(v2018.1) High-level Synthesis Tutorial Ch6: Design Analysis Lab 1

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

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

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

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

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