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 ...
最新文章
- 【硬核干货 | 程序的编译、链接、装载与运行】
- curl 慢 不稳定_慢病毒包装步骤及注意事项
- bzoj1013球形空间
- JavaScript this指向相关内容
- [BZOJ2456/ZOJ2132]mode/The Most Frequent Number
- iOSTableview 禁止下拉,允许上拉
- HMM:Hidden Markov Model 代码讲解
- 计算机组成原理唐朔飞课后答案第六章,计算机组成原理第六章部分课后题答案(唐朔飞版)...
- h3c trunk口改access_H3CNE配置VLAN的Access链路端口和Trunk链路端口
- 程序员很少加班?得全栈开发者得天下?撕开标签的技术圈真实模样
- 百度网站打不开了,只有百度首页跟搜索页打不开其它能正常打开怎么解决?
- 使用 PyQt5 和 Echarts 打造股票数据看板
- python统计字符串字母个数_python如何统计字符串中字母个数?_后端开发
- android 4 源码目录,LXR 目录Android 源码
- lol服务器维护补偿,LOL官方:服务器崩溃补偿!全服再次免费赠送皮肤一款!
- java printerjob打印_利用PrinterJob类实现打印控制
- 创意电子学小知识:电位器
- MySQL 之高级命令
- [COPYRIGHT] 常见版权许可协议
- www.starky99.com
热门文章
- 【STM32】:RCC时钟系统
- .net framework 4.0 64位 提示 0x8007064 无法安装 解决方法
- 快改密码!Struts2漏洞引爆网站“泄密门”
- Linux FUSE开发
- codesourcery 和Linaro简介
- 养老院人员定位系统包含室内人员定位,老人防跌倒报警系统-新导智能
- lenovo服务器换系统重装系统_thinkserver服务器怎么重装系统?
- 解读《森林防火视频监控系统技术规范》
- JS 中 replace 和 replaceAll 的区别?
- 【安卓笔记】自定义toggleButton