HLS ARRAY_PARTITION
type有三个可选值,分别为block、cyclic和complete。
为便于说明,这里我们以一个数组长度为12的一维数组A[12]为例。
- 如果type为block,factor为4,意味着将A[12]分割为4个小的数组,这样每个数组的长度为12/4=3,同时每个数组中的元素是按顺序依次从原始数组中获取。
- 如果type为cyclic,factor为4,这仍是将数组分割为4个长度为3的小数组,每个数组中的元素是交织地从原始数组中获取。
- 如果type是complete,此时参数factor不起作用,可理解为将数组全部打散,可同时获取到12个元素,从而以寄存器方式实现。
三者的区别如下图所示。
block、cyclic和complete在下面这种描述方式下,最终的结果是一致的
#pragma HLS ARRAY_PARTITION variable=A block factor 12 dim=1
#pragma HLS ARRAY_PARTITION variable=A cyclic factor 12 dim=1
#pragma HLS ARRAY_PARTITION variable=A complete dim=1
如果factor不能被数组长度整除时会是怎样的结果呢?
假定上述案例中factor为5,最终将是5个数组,其中前4个数组长度为2,最后一个数组长度为4。
ARRAY_PARTITION还允许对不同维度进行分割,以二维数组A[6][4]为例,一维表示dim=1.二维表示dim=2
那么到底什么时候用block,什么时候用cyclic呢?本质上与数据流密切相关
HLS ARRAY_PARTITION相关推荐
- 常用HLS优化指令总结
1.pragma HLS inline 删除函数作为层次结构中的独立实体.内联之后,函数被分解到调用函数中,在RTL中不再作为单独的层次结构出现 注:内联子函数还会分解应用于该函数的任何pragmas ...
- HLS:矩阵乘法单元设计与SDK测试
目录 一.引言 二.程序框架 三.初步设计 四.报告分析 五.优化操作 六.接口优化 七.上板测试 八.补充部分 九.时间与参考 一.引言 矩阵乘法,涉及数组优化.循环优化和接口优化等.是一个学习HL ...
- Vivado HLS #pragma 学习笔记(一)
https://www.xilinx.com/html_docs/xilinx2018_2/sdaccel_doc/hls-pragmas-okr1504034364623.html 数据精度 支持任 ...
- 【HLS教程】HLS入门与精通
总纲 HLS和FPGA实现是怎么一回事 HLS已有库说明 HLS语法讲解与实例 HLS自定义模板 HLS实现OpenCV函数 前言 主要还是工作中用到,HLS毕竟还是小众模版库,就目前来看,连Veri ...
- FPGA HLS Matrix_MUL 矩阵乘法的计算与优化
新建Vivado工程 设置clock,10表示一个周期10ns,带宽100M vivado工具比较保守,计算需要的延迟是14,实际优化可以在10,设置大一点,优化的计算更多,一般约束设置大一点在30- ...
- Vivado HLS加速卷积层运算
源代码链接:https://github.com/happyday22/HLS_accelerator 1.Introduction 卷积神经网络(CNN)主要由卷积层.池化层.全连接层和激活层等网络 ...
- HLS pragma
文章目录 Vivado HLS Pragmas by Type 1. Kernel Optimization 1.1 pragma HLS allocation 1.2 pragma HLS cloc ...
- HLS第三十二课(codingstyle )
HLS中,C是用来描述硬件的,不是软件编程的,这是基本概念. 下面记录一些常用的C描述技巧. ++++++++++++++++++++++++++++++ 移位寄存器的描述. for(i = N - ...
- HLS第十七课(pragma, array, data,)
对函数的任何编译控制,都体现在pragma中. 下面对一些常用的pragma进行详细说明. +++++++++++++++++++++++++++++++++++++++ pragma HLS arr ...
最新文章
- DataTable中数据记录的统计
- 青藏高原matlab掩膜,1982~2000年青藏高原地表反照率时空变化特征
- 七、Sqoop架构,安装和基本使用
- java 对象工厂_Java设计模式之--工厂方式
- Python爬虫Scrapy框架IP代理的配置与调试
- Idea导入web工程,并运行
- NWT失败反省:谁给汝之权力,竟然敢要吾走人?
- PowerDesigner 数据字典模板
- 谷歌浏览器去除广告--广告终结者
- 阿里云购买域名到建站的全流程怎么做?
- 谷歌邮箱(@gmail.com):两步验证+应用专用密码登录
- [报表篇] (11)设置印刷尺寸
- Telemetry 技术概述
- qt中在QLabel上显示图像并画矩形框。
- 【c语言】两个队列实现一个栈
- linux网卡配子接口,linux 内核学习(2).
- 微信怎样将图片上的文字变成文档
- MyBatis-Plus——超详细讲解配置文件
- 众包知识获取的预算任务调度
- idea打开多个小窗口换行