- 博客(151)
- 收藏
- 关注
原创 Vitis HLS 学习笔记--块级控制(IDE 2024.1 + 执行模式 + 默认接口实现)
本文总结 HLS 块级控制协议,包括以下内容:执行模式(重叠模式;顺序模式;自动重启模式)接口范式(存储器;串流;寄存器)对比 Vitis Kernel Flow 与 Vivado IP Flow 示例了解 Wave Viewer 中的波形
2025-03-31 21:29:23
994
1
原创 Versal - XRT(CPP) 2024.1
本文介绍 XRT 主要功能:FPGA Image 下载:Download Accelerator Binaries onto Platform数据搬运:Data movement between Host and Accelerators执行管理:Trigger, Sequence and Synchronize Computations板卡管理:Board Recovery, Debug, Power Management
2025-03-04 22:00:00
1434
原创 Versal - 基础6(Linux 开发 AIE-ML + 自动化脚本解析)
本文以官方 AIE/Feature_Tutorials/09-debug-walkthrough/ 示例为基准,在 VD100 硬件平台上实现 Linux 开发 AIE,并分析自动化脚本。
2025-02-22 23:19:41
701
1
原创 Versal - 基础5(裸机开发 AIE-ML+Vitis2024.2界面aie report介绍)
本文以官方 A to Z Bare-metal Flow 为基准,在 VD100 硬件平台上实现的例子。包含如下内容:申请 AIE License创建 Vivado 可扩展平台(XSA)创建 Vitis 平台(XPFM)创建 AIE 应用创建 HLS 应用系统集成:VPP 链接 pl_app、aie_app创建 ps_app 应用系统集成:打包生成 sd_card.img在 VD100 硬件平台上运行Vitis2024.2界面介绍aie Build reportaie Run re
2025-02-16 23:01:02
1470
3
原创 Versal - Petalinux 2024.2(下载与安装+VD100+安装JupyterLab+SD卡分区+SDT流程)
本博文分享在 VD100 硬件平台上,通过 Petalinux 2024.2 构建 Linux 的过程。包括:Petalinux 2024.2 的下载与安装;在 VD100 硬件平台构建 Linux 全过程;SDT 生成设备树的方法;SD 卡分区;一些常见异常的汇总和分析;
2025-02-09 10:25:11
1421
1
原创 Versal - 基础4(VD100+Versal IBERT)
本文分享在 VD100 板卡上进行眼图测量的示例。Versal 与 MPSoC 的差异:MPSoC 使用便捷性优于 Versal。Versal 需要更多的配置才能工作。Versal 中没有 MPSoC 中查找 Quad 的方法。
2025-02-01 22:34:28
1201
1
原创 Versal - 基础3(AXI NoC 专题+仿真+QoS)
本示例,使用 AXI4 流量发生器,通过 NoC 读写块 RAM。IP 包括:模拟时钟生成器、AXI4 流量生成器、AXI NoC、AXI4 Block RAM 控制器和内存生成器创建块 RAM。通过 IP 集成器推断 NoC、时钟发生器和互连。创建设计后进行仿真,详细分析传输流程和时延。
2025-01-28 21:42:51
1293
1
原创 Versal - 基础2(系统架构+各子系统框图+调试模块)
本博文整理 Versal SoC 的系统架构,包括处理系统 (PS)、可编程逻辑 (PL)、平台管理控制器 (PMC) 以及它们之间的互联方式。本博文还将介绍关键的调试模块、互联架构以及一些有用的概念和设置,以便后续更好地理解和使用 Versal SoC。
2025-01-25 13:03:30
1736
1
原创 Versal - ChipScoPy + XSDB + Python CLI
本文介绍几款 xilinx 调试工具使用方法:ChipScoPy 的安装和使用。XSDB。Python CLI。
2025-01-23 23:27:52
1259
4
原创 Versal - 基础1(PL点灯+构建CIPS+VD100+查找资料和文档)
本文分享学习Versal器件的一些经历记录,记录Versal初次使用过程:PL点灯构建CIPSsystem搜集了一些技术信息和参考资料
2025-01-19 20:57:44
1620
1
原创 MIPI_DPU 综合(DPU+MIPI+Demosaic+VDMA 通路)
构建一个极简的 DPU Platform添加MIPI+Demosaic+VDMA 通路
2025-01-04 22:33:17
1023
1
原创 Vivado 编译(单核性能对比+高性能迷你主机+Ubuntu20.04/22.04安装与区别+20.04使用远程命令)
选购一款专用于 Vitis 和 Vivado 开发的主机,Vivado 的编译速度很大程度上取决于 CPU 的单核性能,尤其是在布线和综合阶段,最终选择一款迷你主机,不考虑使用独显,核性数一般即可。按照 Single Thread Performance 对比即可,挑选一款最佳性价比产品。对比 Ubuntu 22.04 和 Ubuntu 20.04 运行 Vivado 的兼容性。
2024-12-22 00:26:55
1376
原创 Vivado - 远程调试 + 远程综合实现 + vmWare网络配置 + NFS 文件共享 + 使用 VIO 核
分享 Vivado 远程开发的一些实用干货:远程 JTAG Debug远程综合实现(Run on remote hosts)vmWare 网络配置NFS 文件共享X11-forwarding
2024-12-17 22:15:00
1435
1
原创 PYNQ - 自定义含 DPU 的 overlay 层(MPSoC)+ KV260 Base
本文包括:使用 kv260 官方代码构建 DPU。使用 vivado 创建自定义平台,修改官方代码构建 DPU。构建 DPU 的 Makefie 解析。一些重要概念的解释。
2024-12-13 23:21:08
1236
3
原创 PYNQ 框架 - OV5640驱动 + Linux 驱动分析
分析一个极简的Char 驱动;分享实时查看日志文件的方法;分析一个极简的 V4L2 驱动分析 OV5640 的 V4L2 驱动;提取OV5640V4L2 驱动代码并转换为 PYNQ 框架代码
2024-11-29 21:00:00
1282
1
原创 PYNQ 框架 - 时钟系统 + pl_clk 时钟输出不准确问题
介绍 PYNQ 的时钟驱动框架。使用 PYNQ 加载 bit 后,发现 PL_CLK 的输出值不准确。Vivado IDE 中,ZU 时钟输出 DIV2 似乎并未生效。通过 PYNQ Clocks 类,可以动态调节 PL_CLK 输出。
2024-11-26 21:00:00
1412
1
原创 PYNQ 框架 - 中断(INTR)驱动
本文分享了了 PYNQ 平台中关于中断处理和AXI Timer的配置与使用。PYNQ 中断类的基本概念和操作方式,包括中断的启用、等待和清除。AXI Timer 的关键功能,如计时器的加载、计数方式(向上或向下计数)以及中断生成,同时也提到了级联模式和生成/捕获模式的实际应用场景。AXI 中断控制器(INTC)的配置和中断处理机制,如何通过 PYNQ 框架使用 Python 的异步编程模式处理硬件中断。
2024-11-12 23:43:13
1098
1
原创 KV260 - PYNQ 主目录 - U盘挂载
这篇文章主要讲述了在 KV260 上使用 Jupyter Lab 进行 U 盘挂载 和 数据传输 的具体操作步骤。以下是关键点:查看 USB 设备:使用 lsusb 命令查看连接的 USB 设备信息。查看 U 盘设备节点:使用 fdisk -l 命令查看 U 盘的设备节点和分区信息。挂载 U 盘:提供了将 U 盘挂载到常规目录和 PYNQ 主目录的具体命令。查看挂载状态和卸载 U 盘:使用 df 命令查看挂载状态,并提供卸载 U 盘的命令。
2024-11-07 23:49:12
564
1
原创 PYNQ 框架 - VDMA驱动 - 帧缓存
本文分享在 PYNQ 框架下,AXI VDMA 驱动的部分实现细节,重点分析帧缓存的管理和使用。重点分析了 _FrameCache 和 _FrameList 类的实现与功能。这些类用于管理帧缓存,包括内存分配、帧获取、所有权管理等操作,确保高效的视频数据处理和传输。
2024-10-31 23:05:23
1063
原创 基于KV260的基础视频链路通路(MIPI+Demosaic+VDMA)
基于 KV260 + PCAM_5C 构建视频通路,通过 PYNQ 可视化图像,用以进一步处理图像数据,从 MIPI 至图像数据,包括如下要点:在 PYNQ 下通过 IIC 配置 OV5640配置 MIPI CSI-2 Rx subsystem 经验汇总AXI4-Stream 基础设施配置 Sensor Demosaic经验汇总配置 AXI VDMA经验汇总Sensor OV5640 时钟树图像数据流波形抓取
2024-10-24 12:48:21
1610
原创 Vivado - Aurora 8B/10B IP
本文介绍在 Block Design 中添加Aurora 8B/10B IP 并加以调试。使用 Streaming 接口使用 VIO 控制回环方式探究收发器的位置信息共享逻辑和例化模板附带 Block Design 的 TCL 代码
2024-10-16 22:15:00
2712
原创 Vivado - 集成眼图分析仪 + Serial I/O IBERT + 误码率
本文分享在 ZCU102 和 ZCU106 板卡上使用 IBERT Ultrascale GTY进行眼图测量的示例。
2024-10-11 09:14:06
2076
原创 Vivado - JTAG to AXI Master (DDR4初始化读写测试)
本文分享了使用 JTAG to AXI Master 调试 DDR4 IP 的过程。要点:使用JTAG to AXI Master 直连 DDR4 IP添加 HLS IP 初始化 DDR4 IP格式化显示传输事务保存传输事务记录
2024-10-06 13:17:47
1503
8
原创 Vivado - BD(差分时钟、简单分频、RESET、KEY)
了解 Utility Buffer v2.2 中的 Buffer,重点分析 IBUFDS 和BUFGCE_DIV分析Processor System Reset v5.0分析按键消抖模块(key_mod)了解与 ILA 相关自动生成的约束
2024-10-03 12:11:15
2300
原创 Vivado - JTAG to AXI Master (GPIO、HLS_IP、UART、IIC)
JTAG to AXI Master 功能简介;在 Vivado 中添加该 IP;基本 TCL 操作命令;三个示例(通过JTAG to AXI 控制 AXI GPIO;通过JTAG to AXI 控制 AXI IIC;通过JTAG to AXI 控制 HLS IP Core)
2024-09-29 22:41:57
1574
2
原创 KV260 进阶开发(PYNQ驱动开发+Pixel Pack)
本文讨论在 PYNQ 框架下,使用 Python 驱动 Vitis HLS Kernel。使用 Registermap 也可以完成驱动,即直接操作所有寄存器。通过Python 方式编写的驱动更直观,可以理解为对Registermap 的封装。Registermap 和Python 驱动,底层都是调用 MMIO 的读写。
2024-09-12 22:42:21
1099
原创 Vitis AI 进阶认知(pybind11)
pybind11 介绍、Jupyter Lab 中的快速编译和加载、使用编译器链接器标志、pybind11 的基本用法、pybind11 的类的绑定用法、vart::Runner 类的 Python 绑定源代码解释。
2024-09-05 21:00:00
1522
原创 Vitis AI 综合实践(DPU example: dpu_resnet50.ipynb)
例程: dpu_resnet50.ipynb。介绍 DPUOverlay 类及其在 PYNQ 中的作用,包括加载比特流和模型、管理 DPU 运行时等功能。解析图像预处理流程,包括调整图像大小、均值归一化以及中心裁剪等步骤,确保输入数据符合模型要求。标签读取、图像读取和推理执行的过程,强调内存管理与数据结构的使用。介绍与 DPU 相关的类和库,如 VART,以便更好地理解整个推理流程及其背后的实现机制。
2024-09-02 20:26:39
918
原创 Vitis AI 基本认知(Tiny-VGG 标签获取+预测后处理)
本文主要涉及关键信息:获取数据集的标签、保存和读取类别标签、加载模型并推理、绘制图像、使用中文标签、置信度柱状图。
2024-08-28 21:21:48
762
原创 Vitis AI 基本认知(Tiny-VGG 项目代码详解)
本文分享 Tiny-VGG 项目的代码解析,对于冗余部分,进行了删减。主要内容包括:图像数据预处理;手动计算:训练损失、训练准确度、验证损失、验证准确度;自定义训练循环;数据集加载器;修正目录;计算图。
2024-08-27 20:30:00
1099
原创 Vitis AI 进阶认知(Torch量化基础+映射+量化参数+对称性+每通道+PTQ+QAT+敏感性)
本文介绍了量化基本概念,如映射函数、量化参数、校准方法以及对称与非对称量化的区别,探讨了Per-Tensor和Per-Channel量化策略,以及训练后静态量化(PTQ)和量化感知训练(QAT)的应用。
2024-08-21 22:13:19
1062
原创 Vitis AI 基本认知(构建线性回归Torch/TensorFlow+欠定系统+过拟合)
在本学习笔记中,笔者探讨了不同深度学习框架下构建线性回归模型的方式,主要集中于 TensorFlow 和 PyTorch。通过使用 Keras 的 Sequential 和 Functional API,我们展示了两种模型构建方式的特点与适用场景。Sequential API 适合简单的线性堆叠模型,而 Functional API 则提供了更大的灵活性,适用于复杂的网络结构。
2024-08-14 23:32:02
1031
原创 Vitis AI 基本认知(TensorBoard+Epoch+zero_grad)
1).介绍和使用 TensorBoard;2).解释 Epoch、Batch、Iteration;3).解释训练循环中的梯度累加
2024-08-14 23:31:36
1163
原创 我的创作纪念日
我希望通过文章进行技术交流,与更多志同道合的朋友分享我的心得和体会。未来,我希望继续在技术创作的道路上前行,不断提升自己的技术水平和创作能力。创作已经成为我生活的一部分。通过合理安排时间,我能够在工作之余抽出时间进行创作,记录下自己的技术成长和心得体会。通过创作,我结识了许多志同道合的领域同行,大家在技术交流中互相学习,共同进步。在这段时间里,尽管还有很多需要学习和提升的地方,我还是取得了一些小小的进步。
2024-08-09 10:08:05
637
原创 Vitis AI 基本认知(DPU并行度+反向传播+损失+指标+模型参数量+模型分析+极简残差)
这篇文档介绍了一个名为CNN Explainer的交互式可视化系统,旨在帮助非专业人士学习卷积神经网络(CNN)。该系统通过直观的方式展示了CNN的工作原理,使用户能够更好地理解复杂的神经网络结构和运算过程。
2024-08-07 23:50:48
1040
原创 电磁仿真--基本操作-CST-(6)-导线周围磁场
本文分享了使用低频求解器(LF Frequency Domain Solver)分析导线周围电磁场分布的过程。低频求解器适用于模拟周期性低频信号激发的电磁场,主要任务包括计算电磁场、产生的电流密度、损耗、能量、激励源参数和集总元件参数。求解器的结果会自动显示在导航树中。
2024-08-06 23:18:19
2969
2
原创 Vitis AI 基本操作(inspector用法详解+输出文件分析+保存模型/权重)
本文分享了如何使用 Vitis AI 工具中的 Inspector 对神经网络模型进行检查和诊断。Inspector 可以基于硬件约束预测目标器件分配,生成的检查报告能够指导用户优化和修改模型,从而降低部署难度并缩短部署时间。建议在量化浮点模型前进行检查,以确保模型的兼容性和性能。
2024-08-05 23:56:18
929
原创 Vitis AI 基础配置(安装VMware+ubuntu 20.04+必要软件)
本文记录了在 Ubuntu 20.04 环境下配置 Vitis AI 所需的步骤和软件推荐。
2024-07-27 22:46:54
1244
原创 Vitis AI 基本操作+VAI_Q_PYTORCH用法详解
本文分享了 vai_q_pytorch 的功能与应用,该工具是 Vitis AI Quantizer for PyTorch 的缩写,旨在优化深度学习模型,尤其是通过深度压缩技术提高模型的性能与效率。处理后的 IR 可以部署到多种平台,如深度学习处理单元(DPU)和 Xilinx AI 引擎,用户也可以将修改后的计算图重新整合回 PyTorch,以利用其强大的预处理、后处理和分布式系统功能。这一系列流程为深度学习模型的优化提供了高效、便捷的解决方案,助力提升模型在不同硬件平台上的运行效率与性能。
2024-07-26 22:49:59
1364
Zynq开发-使用PYNQ快速入门摄像头MIPI驱动(OV5640)-overlay设计
2024-05-12
电子工程+Xilinx-FPGA-SoC-功耗估算+电源分析+助力设计师在产品设计初期,确定功耗和散热规格
2024-05-08
Digilent AD2+电感测量+线性螺旋电感4uH+WaveForm程序配置+测量结果的曲线
2024-04-28
Digilent AD2+电感测量+线性螺旋电感+WaveForm程序配置
2024-04-25
CST电磁场仿真+线性螺旋电感+建模步骤细节和RLC端口配置+CST高级建模操作
2024-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人