Vivado-HLS学习-复合数据类型
| 分类: Vivado |
struct结构体优化:
1、 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、总结

加载中…