Xilinx HLS 学习笔记1

本笔记根据《跟Xilinx SAE 学HLS系列视频讲座-高亚军》课程进行学习,仅作为本人学习笔记使用,暂不公开。
相关学习笔记参考了’安静到无声‘同学的博客,在此表示感谢
https://blog.csdn.net/lihuanyu520/article/details/108926806

0、先验知识

在这里插入图片描述
软件可编程芯片主要分为几大类:
CPU:管理和调度
DSP:算法上加强,做一些递归算法
DPU:高度并行,适合大数据的流处理

在面对大量计算时,有两种方法:
1、提高主频,即提高CPU的时钟频率,但提升有限
2、增加运算核心,以此提高并行度
但会出现功耗的问题

FPGA
1、内部包含大量的乘法单元
2、SoC,将ARM融合
3、与CPU相比,功耗更优
下图:传统FPGA资源:可编程逻辑、可编程IO、布线资源
在这里插入图片描述
随着技术发展,目前FPGA内部的单元越来越多,我们主要关注:存储单元,逻辑单元,算数逻辑单元
在这里插入图片描述

逻辑单元:

主要包含查找表(LUT)、MUX、Carry Chain(进位链)
在这里插入图片描述

算数逻辑单元

在这里插入图片描述

存储单元

大量数据用Block RAM
小数据用LUTin SLICEM
在这里插入图片描述

1、软件工程师需要关注什么

优化与资源占用率
在这里插入图片描述
在这里插入图片描述

2、HLS工作原理

在这里插入图片描述

HLS好处有哪些

1、提高系统的性能,以往采用CPU现在可以使用FPGA实现
2、关注算法本身,采用C或C++实现算法,通过工具去转换
3、提升开发效率,指导综合工具,提高转换后的效率
4、用C/C++进行开发和验证,需要做两端
在这里插入图片描述

转换过程
上下两图结合看
在这里插入图片描述
例子1:
在这里插入图片描述
for循环例子
在这里插入图片描述
C0状态:先执行“b+c”操作,因为这两个变量求和是固定的数值
C1状态:产生X数组、Y数据的地址
C2:执行相应乘加操作
C3:将结果写入到Y数组

矩阵加法例子
在这里插入图片描述

在这里插入图片描述

3、与传统流程对比

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值