mmult_pipeline

管道pragma通过允许循环的多个迭代并行运行,减少了启动间隔,即连续循环迭代的开始时间之间的时钟周期数。

void mmult_pipeline(int in1[DATA_SIZE * DATA_SIZE], int in2[DATA_SIZE * DATA_SIZE], int out[DATA_SIZE * DATA_SIZE], int dim)
{//loop tripcount constantconst int c_size = DATA_SIZE;//Reads the data from DDR, performs the computation//and writes back the result to DDR.loop1: for (int i = 0 ; i < dim ; i++){#pragma HLS loop_tripcount min=c_size max=c_sizeloop2: for(int j = 0; j < dim; j++){#pragma HLS loop_tripcount min=c_size max=c_sizeint result = 0;loop3: for(int k = 0; k < dim; k++){#pragma HLS loop_tripcount min=c_size max=c_size#pragma HLS PIPELINE//The PIPELINE pragma reduces the initiation interval, which is the//number of clock cycles between the start times of consecutive loop//iterations by allowing multiple iterations of a loop to run in parallel.result += in1[i * dim + k] * in2[k * dim + j];}out[i*dim +j] = result;}}
}

只需要加一行代码 #pragma HLS PIPELINE

#pragma HLS loop_tripcount min=c_size max=c_size无关乎合成结果,

如果循环延迟未知或无法计算,则 TRIPCOUNT编译指示允许您指定循环的最小和最大迭代。这使该工具可以分析循环延迟如何影响报告中的总设计延迟,并帮助您确定设计的适当优化。

mmlut_zerocopy

zero_copy pragma指定了sds c++编译器来生成可编程逻辑设计,允许硬件函数直接从DDR内存中访问数据。

mmlut_partition

物理实现的内存只有有限的读/写量端口,这可以通过使用ARRAY_PARTITION pragma来克服

当loop_3自动展开时,local_in1[i][k]中的列“k”是变量,而在local_in2[k][j]中,行“k”是变量。因此,为了实现有效的流水线处理,在维2中对local_in1进行了分区,在维1中对local_in2进行了分区。

xilinx mmult相关推荐

  1. Xilinx Alveo加速卡开发入门

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 Vitis Unifie ...

  2. Xilinx Alveo加速卡开发环境搭建

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 网页版帮助 官网Alve ...

  3. Xilinx低比特率高品质 ABR 视频实时转码(HPE 参考架构)

    Xilinx低比特率高品质 ABR 视频实时转码(HPE 参考架构) 介 绍 对实时视频流的需求给视频服务提供商带来了严峻挑战,必须在管理基础设施和互联网带宽运营成本,还要为客户提供高质量体验.鉴于视 ...

  4. Xilinx FPGA全局介绍

    Xilinx FPGA全局介绍 现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产:许多设计人员并不熟悉 FPGA,亦不清楚如何将这类器件整合到设 ...

  5. Xilinx Zynq FPGA Boards板

    Xilinx Zynq FPGA Boards板 Xilinx Zynq FPGA Boards 介绍 Styx是一个易于使用的Zynq开发模块,具有Xilinx的Zynq ZC7020 SoC和FT ...

  6. matlab preloadfcn,运行xilinx blockset中的错误包含在matlab中

    xilinx 14.1和matlab2012a 当我打开一个系统生成器时,它会在matlab命令窗口中显示错误,如下所示: 警告:xbsIndex.mdl,第7行:评估block_diagram'xb ...

  7. 加速数据中心变革,Xilinx推出软件定义、硬件加速型 Alveo SmartNIC

    近日,为满足现代数据中心发展需求,赛灵思公司宣布推出一系列全新数据中心产品及解决方案,包括全新 Alveo SmartNIC 系列.smart world (智能世界) AI 视频分析应用.一款能够实 ...

  8. 300亿美元,AMD为什么要买Xilinx?

    作者 | Just 来源 | CSDN(ID:CSDNnews) 自2015年5月,Intel(英特尔)以167亿美元收购FPGA生产商Altera后,半导体行业接连传出大整合. 上个月,NVIDIA ...

  9. xilinx LVDS使用注意事项

    参考 <selectio_wiz_gsg700>https://china.xilinx.com/support/documentation/ip_documentation/select ...

最新文章

  1. 倾斜模型精细化处理_推荐一款好用的倾斜摄影精细化单体建模软件——OSketch...
  2. SqlServer 0和空字符串''等价?-----类型的隐式转换问题
  3. .NET下安装卸载WindowsService批处理脚本
  4. 【复现】CVE-2015-1635-HTTP.SYS远程执行代码漏洞(ms15-034)
  5. 获取 docker 容器(container)的 ip 地址
  6. python argparse nargs_Python | 使用argparse解析命令行参数
  7. 初学python有几个阶段_零基础如何系统的学习Python 从7个阶段入手
  8. 第 1-5 课:深入了解 Java 中的异常处理 + 面试题
  9. zend studio9.0.4正式版破解方法
  10. cacti更改web登录密码
  11. 例子---PHP与Form表单之二
  12. 百度地图上的标注物太多导致界面卡顿的解决办法
  13. 设计一款编程语言有多难?Ruby 创始人揭秘
  14. python开发安卓盒子_Python盒子:模块、包和程序
  15. Axure RP 8 获取焦点的应用
  16. linux带方括号进程,Linux特殊符号大全(转摘)
  17. VBS 对IBM Notes的常规操作
  18. c语言打鱼晒网问题报告书,2021年C语言渔夫打鱼晒网问题.pdf
  19. 浅谈大数据时代web数据可视化探析
  20. 计算机网络【奈氏准则和香农定理】

热门文章

  1. 用DAB格式快速制作易读宝BNL点读包
  2. 冒泡排序丶选择排序丶插入排序丶快速排序
  3. 【MFAC】基于偏格式动态线性化的无模型自适应控制
  4. pix4d无人机影像处理_pix4dmapper-pix4dmapper(无人机数据和航空影像处理)3.2.23官方版下载 - 华彩软件站...
  5. Elasticsearch8系列【2】Windows环境安装ES8
  6. 跨境支付反洗钱业务逻辑和相关大数据分析技术实现
  7. 橙单微服务之批量导入
  8. 引进泛海,柳传志向红色资本家完美转身
  9. **Lua内存增长问题优化
  10. C++11的消息总线