![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA
文章平均质量分 73
XS30
这个作者很懒,什么都没留下…
展开
-
HLS学习2:使用ARM核点灯
尝试采用ZYNQ 7020的ARM核进行点灯。原创 2022-08-09 11:22:40 · 454 阅读 · 0 评论 -
HLS学习1:使用FPGA点灯
HLS学习原创 2022-08-05 17:28:32 · 567 阅读 · 0 评论 -
《FPGA原理与结构》读书笔记(0)-基础知识
1、逻辑电路基础1.1.1、逻辑代数1.1.2 、布尔代数定理1.1.3、真值表真值表和逻辑门。针对逻辑函数所有可能的输入组合一一列出输出值,我们就可以得到真值表。对于组合逻辑电路,只要列出所有可能的输入和对应的输出值,就可以完整地描述电路功能。因此,电路功能通常使用真值表描述。输入的个数为n时,真值表的组合数为2”。真值表中,需要记入每组输入值所对应的输出值。1.1.4、组合逻辑电路逻辑电路分为组合逻辑电路和时序逻辑电路**组合逻辑:**不包含记忆元件、某个时间的输出,取决于当时的原创 2022-08-04 15:33:21 · 498 阅读 · 0 评论 -
HLS ERROR: [IMPL 213-28] Failed to generate IP.
ERROR: [IMPL 213-28] Failed to generate IP.command 'ap_source' returned error code原创 2022-01-04 21:51:42 · 9721 阅读 · 13 评论 -
HLS ERROR [XFORM 203-103] partitioned elements number (4096) has exeeded the threshold (1024)
在HLS中综合工程出现如下错误信息,导致综合失败,并无法导出IPERROR: [XFORM 203-103] Array ‘mult.V’ (././nnet_utils/nnet_dense.h:60): partitioned elements number (4096) has exeeded the threshold (1024), which may cause long run-time.”解决方法:首先确认你的软件版本,必须Vivado HLS必须低于或等于2020.1因为2020.原创 2022-01-03 23:53:08 · 993 阅读 · 1 评论 -
VIVADO 报错Linking the ceam library to the veamMap failed
Linking the ceam library to the veamMap failed. Most likely, you need to check your installation or recompile your sandbox.将ceam库链接到veamMap失败。很可能,您需要检查安装或重新编译沙箱这个报错,一般是内存导致的首先Reset一下,而后尽可能关掉其他正在运行的软件(如Chrome),不要动电脑最好,重新生成尝试。参考资料https://support.xilinx原创 2021-12-17 22:45:53 · 965 阅读 · 0 评论 -
PYNQ框架HLS开发流程备忘
0、设计思路本文目的是为在PYNQ调用HLS所生成的bit文件所写,旨在明晰整个流程和细节,属于个人学习笔记,将随着工作的开展而逐步更新完善,该文章可能不会对您的工作有所帮助,但也希望您能指出文中的错误,谢谢。当前将从AXI_Stream图片sobel实验入手(感谢杨工提供的教程),将整个流程进行细化,以供日后自己的bit文件使用。Tips:0.1、PS与PL通讯根据《The Zynq Book》所提到,PL(可编程逻辑)与PS(处理系统)中采用AXI(Advanced eXtensible In原创 2021-12-16 10:34:08 · 2078 阅读 · 0 评论 -
PYNQ加载bit报错KeyError: ‘interrupts‘
问题描述在vivado的BD图中,我的IP与PS核之间的中断直接连接在PYNQ中加载vivado生成的bit文件时报错interrupts解决方法:在PS与我们自己的IP中断线连接中,添加一个concat块,如下图所示最终在PYNQ中可以成功加载bit文件...原创 2021-12-13 12:10:11 · 459 阅读 · 0 评论 -
《FPGA原理与结构》读书笔记(1)
1、先验知识1.1、FPGA的组成如下图片是岛形FPGA的大致组成。如下几种模块,可以分为以下三类。1、输入输出部分: I/O块-其通常包括上拉、下拉、输入/输出的方向核极性、转换速率(slew rate)、开漏等控制电路,商用FPGA还包括LVTTL、PCI、PCIe 、SSTL等。2、布线部分: 包含布线通道、连接块(CB)、开关块(SB)等几个部分组成。布线的主要作用是利用如上几个部分,通过编程实现任意的布线通路。3、其他部分: 逻辑块(LB)、IO块、开关块、连接块全部由配置存储单元控制,原创 2021-12-09 11:50:04 · 994 阅读 · 0 评论 -
HLS学习练习1——卷积层(Convolution layer)
0、先验知识首先,下图所采用得卷积操作,是对边界补0得情况下得到的,卷积的核心在于乘加操作,关于卷积操作的计算量,可参考此篇文章进行学习下图的计算量为:输入通道数x输出通道数x卷积核大小x输出图像的长x输出图像的宽即:RCKKCHout*CHin1、设置流程在综合前,需要先进行以下流程的设置project——》project setting——》synthesis——》Top Function选择对应的函数C synthesis2、卷积的软件实现优化前的solution1#def原创 2021-11-22 10:44:11 · 1592 阅读 · 0 评论 -
Xilinx HLS 学习笔记3(for循环优化)
for循环优化1、基本概念与for循环相关的基本概念Pipelining的for循环for循环的展开for循环的循环变量的数据类型,是否对综合后结果的资源有所影响Performance Metrics(衡量指标)优化方式:采用pipeline采用Pipeline前后对比我们可以发现,在不采用流水线的时候是过程化运行(有时间的先后顺序进行);当采用流水线后,当在读数据的时候,下一个Fou循环就开始读地址,会有并行(椭圆标记的位置)的效果for 循环展开(空间换时间)默认情况下,原创 2021-11-20 11:55:52 · 1222 阅读 · 0 评论 -
Xilinx HLS 学习笔记4(总结与案例分析)
可参考ug902进行学习1、知识点总结1.1、改善吞吐率提高并行度实现pipeline 作用于函数和循环的区别2、改善面积3、案例分析未优化前对循环采用pipeline和unroll进行优化由于interval未变成1,还可以继续进行优化。对主函数进行pipeline结果对比4、指标分析与概念介绍Latency:表示第一个输入到第一个输出之间的延迟,表征的是单次处理时间。interval:表达第一个输入,到第二个输入之间的“间隔”,表征的是吞吐能力。所以我们在原创 2021-11-17 11:24:59 · 480 阅读 · 0 评论 -
Xilinx HLS 学习笔记3(函数优化方法)
1、函数层面的优化1.1、定义任意精度变量在C的数据类型通常是以8为边界,而实际中我们会遇到任意精度类型的问题,那么我们一定要定义为任意精度。1.2、inline去除函数的层次化,可以改善资源。不再需要调用函数的相关逻辑,对于小函数HLS会自动Inline,如果我们不希望,可以通过directive中的 -off这个选型来实现关掉inline,资源开销会变大。1.3、Allocation定义了函数与相应RTL model之间的关系,ALLOCATION使副本并行运行,从而减少延迟性,配置原创 2021-11-16 20:11:00 · 573 阅读 · 0 评论 -
Xilinx HLS 学习笔记2(数组优化)
11、数组优化0、先验知识单端口RAM(Single-Port RAM)1、数组分割我们可以通过resource directive 来设定看,数组采用怎么样的memory(如双端口、单端口)来实现,如果没有明确告知,HLS编译器会自行决定采用双端口还是双端口,数组最终会以Memory形式出现(RAM、ROM或者FIFO),如果是顶层函数中的形参就会以相应Memory的接口呈现,包括读写地址、使能以及数据;如果数组是在内部,就会综合成内部的block RAM、LUTRAM、registers,这取决原创 2021-11-15 21:40:40 · 1534 阅读 · 0 评论 -
DPU-PYNQ使用笔记
Ubuntu端查看模型的结构可以使用Ubuntu中的Netron软件查看模型结构(Summary)量化(quantizing)官方给出了量化的工作流程图,输入模型为浮点模型,其中预处理环节主要工作为折叠和删除无用节点,然后将模型的权重/偏差与激活 (weights/biases and activations)量化到给定的位宽。To capture activation statistics and improve the accuracy of quantized models, the V原创 2021-11-14 20:46:42 · 4138 阅读 · 3 评论 -
Xilinx HLS 学习笔记1
本笔记根据《跟Xilinx SAE 学HLS系列视频讲座-高亚军》课程进行学习,仅作为本人学习笔记使用,暂不公开。0、先验知识软件可编程芯片主要分为几大类:CPU:管理和调度DSP:算法上加强,做一些递归算法DPU:高度并行,适合大数据的流处理在面对大量计算时,有两种方法:1、提高主频,即提高CPU的时钟频率,但提升有限2、增加运算核心,以此提高并行度但会出现功耗的问题FPGA1、内部包含大量的乘法单元2、SoC,将ARM融合3、与CPU相比,功耗更优下图:传统FPGA资源:可原创 2021-11-09 11:44:04 · 1040 阅读 · 0 评论