- 博客(104)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【课程出售】基于HLS的通用型CNN卷积加速器设计与实现
课程大纲:此项目在正点原子领航者开发板(Xilinx ZYNQ7020)上实现了这个轻量级的卷积神经网络。课程分为四大章节,涉及从算法模型训练到对应硬件实现,再到上板测试的全流程。是本人第一个精心制作的加速器设计课程,总时长为305分钟,将自己对此项目的全部理解都给大家一一详细讲述,扩展了自己的一些方法,并且通过剪辑掉无意义的时长,精简视频时长。每一节其实对于小白而言,需要理解的内容还挺多的。学会如何对一个卷积神经网络进行硬件实现分析,掌握网络的训练,推理流程;
2024-03-01 17:45:04
1453
原创 Vitis HLS 完美嵌套循环通过 m_axi 接口读取DDR 的迭代次数细粒度控制实验 — 问题描述
综上所述,对于此设计,通过 if 语句来进行迭代次数的细粒度控制时,会导致模块产生额外的延迟。那么,具体的导致额外延迟的原因是什么?如何解决该问题?以确保可以在实现细粒度迭代次数控制的同时,不产生额外的延迟。18元视频内容包括:【问题解决方面】额外延迟产生的具体原因分析两种解决方案对于通过 M_AXI 接口读取全局存储器的设计心得总结【Vitis HLS 工具使用方面】M_AXI 接口 突发传输相关信号 和 协同仿真其他波形信号的分析。
2024-07-31 23:34:51
1051
原创 基于 Vitis HLS 的单个乘法 DSP 映射研究
整数乘法和定点乘法,只有乘数和被乘数的总位宽不变,乘法在 DSP 实现的策略一样,延迟和占用个数不会改变。在使用 HLS 工具进行硬件开发时,在满足精度的前提下,可以通过限制乘数和被乘数在目标 DSP 硬核的输入范围内,避免浪费DSP资源。Q: DSP48E2 是否可以直接支持整数运算、定点运算以及浮点运算?可能需要通过 Vivado 调用 DSP IP 进行更深入的研究。
2024-06-18 18:06:05
698
原创 【雪天鱼】Vitis HLS 学习笔记(1) Pipelining 流水线
可以在一次迭代中完成原先的 LOOP_J 所有计算,而 LOOP_I 没有过多的数据依赖, i 的值是已知的0~19, 所以猜测这里通过表达式优化,直接把所有循环都展开了。这里我们就可以看出来,对循环的总延迟影响比较大的是 Trip Count 和 II,而 Trip Count 在设计中一般是和实现的算法绑定的比较深的,能比较自由优化的往往是 II, II=3时,可以看到 LUT 是比 II=1时 少用了一些资源,说明当优化 II 时,可能会导致额外的资源开销。最终,函数返回这个累加的结果。
2024-04-22 22:26:44
632
原创 ZYNQ PS 读取 TF 卡 BIN 文件中的浮点数
**本示例工程实现了读取 SD/TF 卡中 BIN文件 所包含的浮点数 到 PS 的DDR中, 每个 BIN的浮点数均保存在一维数组空间中**
2024-03-04 19:53:22
1099
原创 Vision Transformer Pytorch 实现代码学习记录
# 1 学习目标1. 能用官方的 ViT 预训练模型在 imagenet1k 上进行预测推理 完成2. 在 ImageNet-1K 的完整验证集上验证下载的官方 ViT 预训练模型的准确率
2024-02-13 22:10:41
1005
原创 【雪天鱼】(2) PYNQ_Z2从Vivado到SDK开发流程
选择串口“Serial Terminal” , 设置的参数需要与硬件设计过程中配置的 axi_uartlite_0 保持一致,即波特率为 “115200” ,数据位为 8 位,停止位为 1 位。在菜单栏中依次点击“Window->Show view->Terminal 文件夹->Terminal”, 最后点击“Open”,接口成功添加 Terminal 窗口。接下来编译工程, 选中 APP 工程,右键“Build Project” 或点击图中“锤子” 按键,进行工程编译。至此,硬件和软件设计均已完成。
2023-03-23 20:37:44
3767
5
原创 手把手教你在Ubuntu22.04 上安装 Vivado、HLS、Vitis 2022.2版本
欢迎来关注我的B站账号,我将定期更新IC设计教程。B站账号:雪天鱼,https://space.bilibili.com/397002941?spm_id_from=333.1007.0.0记录下系统下安装、、、的过程先去官网下载安装包,链接为https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/vivado-design-tools/2022-2.html我下载的是Vivado ML 版本
2022-12-06 16:35:35
23875
17
原创 Ubuntu22.04 磁盘扩容
操作步骤保证虚拟机关闭状态,然后编辑虚拟机设置 -> 扩展磁盘容量,双击硬盘,数值改成你要的数值这里我扩展为200GB然后打开虚拟机,搜索 Disk 进行分区1.最右侧出现的新的分区 Free Space 就是我们刚刚添加的空间。2.点击选中已经在使用的分区(橙色的),点击下方的设置按钮,调整分区大小点击Resize,然后把Size 拉到最大即可。可以看到,扩容成功可以看到扩容成功
2022-12-05 17:06:51
2972
1
原创 【Verilator】 1 简明教程
我是,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。欢迎来关注我的B站账号,我将定期更新IC设计教程。,
2022-11-10 07:24:34
7267
16
原创 ubuntu22.04 安装PlatformIO IDE
我是,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。欢迎来关注我的B站账号,我将定期更新IC设计教程。,
2022-08-31 10:30:14
1746
原创 【debug锦集】Expected input batch_size (1) to match target batch_size (0)
手动调整下label即可。
2022-07-25 11:30:20
2394
1
原创 【Tensorflow-gpu】window11下深度学习环境搭建
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。会在B站分享 IC相关教学课程,B站个人主页:https://space.bilibili.com/397002941?spm_id_from=333.1007.0.0QQ 群号:。操作系统: Window11专业版显卡: NVIDIA RTX 3060 Laptop GPU之前已经写过对应的安装教程:PyTorch深度学习入门笔记(一)PyTorch环境配置及安装 https://blog.csdn.net/qq_444475
2022-06-29 17:03:21
2107
4
原创 【Verilog】always块计算是取触发时刻的值
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。always块计算是取触发时刻的值每个 always 块被触发时,里面 reg变量的赋值计算用的是所涉及到的变量触发时刻的值,不受同时触发的其他 always 计算结果影响。举例:module delay_test( input clk, input rstn)
2022-04-26 13:04:44
758
原创 【tinyriscv verilator】分支移植到正点原子达芬奇开发板
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。文章目录前言一、下载源码二、移植到Aritx-72.1 添加 mmcm IP2.2 管脚约束2.3 综合实现三、简单测试前言为了完成自己的毕设,得用OpenOCD作上位机,测试下RISC-V的单步调试以及GDB调试等操作,然后看了下tinyriscv-verilator
2022-04-23 21:02:24
1447
3
原创 基于PYNQ-Z2的手写数字识别卷积加速器设计【持续更新】
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。目前暂时以视频形式分享设计思路与过程。(1)滑窗模块设计与仿真...
2022-04-13 20:37:04
2147
2
原创 「MNIST」手写数字数据集下载并转换为图片格式(.png)
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。一、下载 MNIST 数据集官方链接:http://yann.lecun.com/exdb/mnist/依次下载上图红框中四个压缩包。二、格式转换将下载好的数据集放在同一文件夹下,并全部解压。训练集转换代码:import numpy as npimport
2022-04-12 20:10:49
10747
15
原创 长文预警【深度学习】基于 Pytorch 的网络训练
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。文章目录一、数学基础:标量,向量,矩阵与张量二、自动求导三、线性回归与拟合四、Pytorch 写法五、实战一、数学基础:标量,向量,矩阵与张量一个标量(Scalar)就是一个单独的数;一个向量就是一列数,这些数是有序排列的。通过索引,、可以确定对应的每个单独的数;
2022-04-05 20:40:10
1445
原创 手把手教你量化网络(2)权重参数的量化
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。文章目录一、量化算法1.1 K-Means二、算法代码实现1.1 K-Means代码实现一、量化算法1.1 K-Means将一堆二维样本表示在坐标轴上,如下图左图所示:若我们将其用K-Means分为3类,如上图右侧所示,分为了绿、蓝和橙三类,还会告诉我们每类的聚类
2022-04-04 14:57:58
1918
1
原创 手把手教你量化网络(1)网络各层权重参数的查看
文章目录一、关键代码与效果展示二、读取网络权重参数三、可视化权重参数一、关键代码与效果展示代码:from matplotlib import pyplot as pltdef plot_weights(model): modules = [module for module in model.modules()] num_sub_plot = 0 for i, layer in enumerate(modules): if hasattr(layer, 'w
2022-04-03 16:56:38
5145
2
原创 基于Paddle的计算机视觉入门教程【学习笔记】(6)PaddleDetection安装
版本要求:PaddlePaddle 2.2cuDNN v8.1.1CUDA 11.2.2PaddleDetection 版本PaddlePaddle版本备注release/2.1>= 2.1.0默认使用动态图模式一、安装PaddlePaddlePaddlePaddle我已经安装过了,版本为2.2,安装教程:https://blog.csdn.net/qq_44447544/article/details/123432542二、安装PaddleDetect
2022-03-25 15:13:35
4342
原创 基于Paddle的计算机视觉入门教程【学习笔记】(5)Paddlex实现垃圾分类
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。原作者课程链接:https://www.bilibili.com/video/BV18b4y1J7a6?p=2一、安装 PaddleX首先需要安装 Microsoft Visual C++ 14.0,安装工具自取链接:https://pan.baidu.com/s/1
2022-03-12 14:36:10
4784
转载 基于Paddle的计算机视觉入门教程【学习笔记】(4)深度学习的基础实现流程
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。原作者课程链接:https://www.bilibili.com/video/BV18b4y1J7a6?p=2原文链接:https://blog.csdn.net/weixin_45747759/article/details/122590962?spm=1001.201
2022-03-12 09:24:21
291
原创 基于Paddle的计算机视觉入门教程【学习笔记】(3)环境搭建
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。原作者课程链接:https://www.bilibili.com/video/BV18b4y1J7a6?p=2操作系统:Window11专业版显卡:NVIDIA RTX 3060 Laptop GPU一、Anaconda安装之前已经写过对应的安装教程:PyTorch
2022-03-11 19:47:18
3944
原创 基于Paddle的计算机视觉入门教程【学习笔记】(2)计算机视觉的分类
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。原作者课程链接:https://www.bilibili.com/video/BV18b4y1J7a6?p=2一、传统计算机视觉传统的计算机视觉就是用opencv这些库对图像进行灰度化、缩放、滤波等处理。OpenCV教程:【1】https://github.com
2022-03-11 13:45:25
3916
原创 【PyTorch】深度学习入门笔记(十三)搭建小实战和Sequential的使用
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。一、Sequential 简介官网介绍:https://pytorch.org/docs/stable/generated/torch.nn.Sequential.html?highlight=sequential#torch.nn.Sequential它的作用是一个
2022-03-10 14:42:17
2098
转载 CNN入门(一)CNN是什么?
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。原文链接:https://zhuanlan.zhihu.com/p/37146355一、简介单从字面上看,卷积神经网络这个词听起来就像是生物学和数学的诡异组合,里面可能还掺了一点计算机科学的意味,但这种神经网络一直在为计算机视觉领域默默贡献着最具影响力的创新。2012
2022-03-09 17:08:31
1863
原创 【RISC-V Debug】学习笔记(三)借助 ILA 在线查看调试信号
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。Vivado IDE提供了三种具有不同集成层次的ILA插入方法:HDL 实例化调试探针流程网表插入调试探针流程约束文件插入调试探针流程这里我选择的是【网表插入调试探针流程】,在 Vivado 综合后的网表中,分别标记要进行调试观察的各个信号,然后通过一个简单的“
2022-03-07 10:53:20
5376
原创 手把手教你移植蜂鸟E203 hbridv2【集创芯来RISC-V杯】
文章目录一、管脚分析1.1 时钟管脚1.2 复位管脚1.3 QSPI接口1.4 PMU管脚1.5 其他管脚1.6 ip_reset_sys的处理1.7 上电流程控制配置1.8 管脚约束编写1.9 综合实现和生成比特流文件二、管脚约束概览三、DaVinci约束文件代码我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。CSDN个人博客链接:https://blog.csdn.net/qq_44447544?spm=1000.2115.3001.5343关注公众号【集成电路设计教程
2022-03-04 17:25:16
6283
7
原创 手把手教你移植 tinyriscv 到FPGA上
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计交流群 群号:866169462。所用开发板:正点原子达芬奇FPGA开发板芯片型号:Xilinx Artix-7 35T文章目录一、下载源码二、创建 Vivado 工程三、修改约束文件四、综合实现五、通过 JTAG debug RISCV一、下载源码tinyriscv 官方库链接:https://gitee.com/liangka
2022-03-03 12:44:34
6186
6
原创 安装Cygwin 在Windows上使用 Linux终端
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计交流群 群号:866169462。一、安装Cygwin官网链接:https://www.cygwin.com/直接下一页从网上下载安装:然后一路下一页即可。这里使用系统代理。选择镜像网站,用阿里云的就行。等待安装完成。然后可以选择安装一些包,这里我安装了 git。然后点击【下一页】继续点击【下一页】,等
2022-03-03 10:10:26
887
原创 基于 FPGA 的 TDC 调研报告-2022/02/24
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计交流群 群号:866169462。最近对基于FPGA平台的TDC实现进行了调研,撰写了份调研报告。现分享一部分内容如下:完整报告链接:https://download.csdn.net/download/qq_44447544/83046072一、TDC简介1.1 TDC是什么?激光雷达系统通过发射激光束来探测目标物体的轮廓﹑
2022-03-02 13:52:35
2612
5
原创 效率提升:用 Notion 实现个人任务管理监控
最近一直在找一款个人任务管理,并且可以进行任务完成情况实时监控统计的软件,但试了又试,一直没找到满意的,无意间在B站发现了别人用 Notion 做的仪表盘,很是满意心动,所以就打算先仿照着也弄一个。废话不多说,直接开始吧! 先放几张完成后的效果图:实现对一次性、循环、长期任务进行管理和监控,目前自己也刚把雏形搭建好,后续可以进行更多的个性化设计,我真的太喜欢这种高度自由度设计的软件了!一、登录账号打开 Notion 官网:https://www.notion.so/zh-cn:这...
2022-02-27 10:50:15
2691
原创 eFPGA设计开源框架 FABulous 系列(二)Fabric建模语法解析
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索。关注公众号【集成电路设计教程】,拉你进“IC设计交流群”。通过 FABulous 所提供的唯一一个 demo 来学习下 eFPGA Fabric 的建模方法。一、Fabric Layout先看 demo:在关键字 FabricBegin 和 FabricEnd 之间定义了 Fabric 的 layout。基本单元是 tile,NULL tile 该处不会生成代码,为 padding 预留。多个 tile 也可以合并成一个 tile
2022-02-26 14:09:17
999
2
原创 PicGO + 阿里云对象存储OSS 个人图床入门教程
我是将阿里云对象存储OSS做为图床工具使用。一、安装下载ossbrowserossbrowser是阿里云官方提供的OSS图形化管理工具,提供类似Windows资源管理器的功能。使用ossbrowser,我们可以快速完成存储空间(Bucket)和文件(Object)的相关操作。下载链接:https://help.aliyun.com/document_detail/209974.htm?spm=a2c4g.11186623.0.0.2f649c1dtDelsu#task-2065478选择合适的版本
2022-02-24 10:30:09
1960
2
原创 zynq ultrascale mpsoc 自定义配置文件解析
文章目录一、配置文件代码二、相关命令官方文档参考链接最近在用 openocd 调试 zynq ultrascale mpsoc PS端的 A53。现在调通了,对配置文件进行一个解析记录,方便自己后续回顾。一、配置文件代码openocd 使用的是 PJTAG 端去连接的 MPSOC,JTAG 扫描链上只有 ARM DAP。如下图所示:调试器使用的是 FTDI ft4232h。这个配置文件简单,openocd官方也有demo,也不赘述了。zynq mpsoc的配置文件如下所示,我会逐行解释代码:#
2022-02-23 15:58:58
2182
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人