加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Vivado-HLS学习-复合数据类型

(2017-08-02 14:55:23)
分类: Vivado
struct结构体优化:
1、 scalar:标量 
arguments:参数 
vector:矢量
复合数据类型中的struct。
(1)当结构体被当做参数用于顶层函数的时候,scalar成员被映射为标量端口;数组成员被映射为memory端口;
(2)最好将结构体在头文件中定义。
(3)结构体中的元素HLS提供了相应的优化方式,
2、结构体中元素优化示例。为什么是5byte,4bit+4*4bit=20bit,为什么是5byte???????---file_level优化过的原因。
3、优化方式操作。
4、pad:覆盖;
file_level优化模式,将每个变量封装成以8bit为边界。比如,变量A是4bit,那么小扩展到8bit。由于数组元素和A变量都定义的4bit,因此,都扩展到8bit。如下图RTL综合后结构体变量中的元素总大小为(4bit+4bit)*5=5byte=40bit。
5、struct_level优化模式,将struct类型的一个变量中的所有元素放到内存中,所有元素所占总位宽若不是8bit的倍数,那么补充到8bit倍数。如下图RTL综合后结构体变量中的元素总大小为4+4*4=20bit+4=3byte=24bit。
6、两种优化方式的比较。可看到两种优化方式所得效果基本一致。两种data_pack(数据封装)的对于struct的优化方式能减少时延、提高吞吐率,原因在与data_pack是将for循环展开得到的。
7、波形检查。

---------------------------------------------------------------------------------------------------------------

enume枚举类型
1、枚举类型介绍。
2、示例
3、总结


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有