自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

QQ_778132974的博客

FPGA,verilog,vhdl相关设计实验项目等

  • 博客(912)
  • 资源 (53)
  • 收藏
  • 关注

原创 最优高铁城市修建方案算法:从最小生成树到智能规划

现实中,这个问题牵扯到几千亿的投资和几亿人的出行,数学家们早就把它抽象成了一个经典问题——在保证所有城市连通的前提下,让总修建成本最低。我们引入障碍栅格:地图划分成网格,每个格子有通过成本(平原=1,丘陵=3,高山=10,河流=5)。对于实际高铁规划,推荐组合方案:先用A*计算每对城市间的最低成本地形路径(作为边权),再用带优先级的Kruskal得到初步网络,最后用遗传算法微调部分连接。这已经是一个可行的高铁网络,但你会发现北京到广州的路径是“北京→成都→上海→广州”,转两次车,显然不合理。

2026-05-08 19:49:36 5

原创 【Linux 指南】磁盘底层原理:从盘片上的磁性颗粒到LBA的逻辑革命

这个地址描述的物理位置是:让磁头臂定位到312号磁道(从最外圈往里数第312圈),同时激活4号磁头(也就是第二张盘片的下表面),等盘片旋转到第7个扇区经过磁头下方时,开始读写。当你按下电脑电源,Linux 内核开始加载,根文件系统从磁盘中被读出,你的 Bash 命令得以执行——这一切的起点,是一块会旋转的金属盘片。但有趣的是,即便在最先进的NVMe SSD上,Linux内核仍然保留了对CHS/LBA的兼容抽象——你可以通过/dev/nvme0n1设备文件以LBA为单位读写。扇区是磁盘最小的可寻址存储单元。

2026-05-07 07:43:21 11

原创 从零开始掌握YOLO——实时目标检测的技术详解

你有没有想过,自动驾驶汽车是怎么在一瞬间识别出前面是行人还是电线杆的?安防摄像头又是怎样精准地圈出画面里的每一个人?在计算机视觉的众多任务中,目标检测可能是最贴近人类直觉的一项——我们不仅要让机器“看到”画面里有什么,还要让它精确地说出“在哪儿”。如果一个检测任务有两个核心需求:一是必须实时,二是检测范围不限,几乎所有从业者都会立刻想到同一个名字——YOLO(You Only Look Once)。这个名字听起来很像一句口头禅,但对目标检测领域来说,它是足以载入史册的颠覆性发明。一、核心思想:一眼看穿整个画

2026-05-02 21:23:39 154

原创 FPGA学习笔记-1 FPGA原理与开发流程

FPGA的世界像一座巨大的数字乐高乐园,门电路是你的砖块,时钟是你的节拍器,布线是你手中的胶水。你可以在FPGA里实例化一个软核处理器,比如开源的RISC-V或Xilinx的MicroBlaze,然后用FPGA的布线资源连接处理器与你自己设计的硬件加速器。阈值从0线性增加到1023,占空比从0%到100%,然后因为threshold会继续增加到1023以上溢回0,导致LED从最亮跳变到熄灭,看起来像瞬间闪一下——改进方案是让阈值到达1023后递减,做成三角波。FPGA不是处理器,它没有指令集。

2026-05-02 21:20:14 364

原创 基于PYNQ框架的FPGA加速应用设计

当我们用 HLS 设计卷积电路时,它生成的不是指令,而是物理逻辑。在这个电路中,图像的每个像素同时流经 3x3(或更大)的窗口,所有的乘法和加法操作在硬件层面并行执行,连数据加载都不是孤立的“读-算-写”三步走,而是用深度流水线让访存与计算同时发生。设想您写了一段 Python 图像处理代码,按下回车后,程序不是跑在 CPU 上,而是直接“飞”进了 FPGA 的硬件电路,以比 CPU 快几十倍的速度跑完——这不是科幻,这就是 PYNQ(Python Productivity for Zynq)。

2026-05-01 10:28:07 249

原创 使用ZYNQ创建linux系统

抓住Linux的缰绳:手把手在ZYNQ上打造属于自己的嵌入式王国一、从“功能机”到“智能机”:为什么要给ZYNQ上Linux?如果你手头有一块ZYNQ开发板,大概率已经跑过“Hello World”的裸机程序了。但坦白说,那感觉就像花了几千块买了个高性能设备,却一直拿来当闹钟用——能用,但远远没发挥出它的真实潜力。ZYNQ的魅力在于它将ARM Cortex-A9双核处理器与FPGA可编程逻辑做到了深度交融。ARM核提供灵活的软件控制,FPGA逻辑则能加速算法密集型任务,两者通过AXI总线高效互联——这是教科

2026-05-01 10:24:41 27

原创 YOLOV11|YOLO12改进系列指南

训练初期,所有的s_ij都处在开区间内,注意力算是稠密的。Ultralytics官方对这两个版本的态度挺有意思的:YOLOv11的主打是“增强的特征提取、优化的扩展性和强化的实时性能”,而YOLOv12则被定义为“社区驱动的实验版本”,官方明确建议“将YOLO11或YOLO26用于大多数生产工作负载”。SENet的本质是一种通道型的注意力机制,它不做额外卷积,只通过一组简单的Squeeze和Excitation操作去动态调整各个特征通道的权重,对那些重要的通道给个高系数的乘数,没用的通道权重往低压。

2026-04-29 19:13:29 169

原创 ZYNQ通过AXI DMA实现PL发送连续大量数据到PS DDR

方案二是在PS端的MPU配置中,将DMA缓冲区所在的内存区域标记为“不缓存”(Device或Strongly Ordered类型),但这样CPU访问这些内存区的速度会大幅降低,需要根据实时性和数据正确性的需求做权衡。更妙的是,描述符链表可以做成一个环状队列,放在DDR里让DMA循环取走,从而实现持续不断的“流式”传输。用FPGA实现FFT硬件加速的系统中也是如此:PS向PL提交待处理的FFT数据,PL硬件加速计算后,DMA把结果写回DDR,全程CPU几乎只做配置调度,大量数据吞吐留给了硬件通道。

2026-04-29 19:09:06 34

原创 手把手教你学Simulink——基于多能互补微电网系统的建模与优化场景实例:风柴储联合供电系统在孤岛模式下的功率分配建模

风来了电就来了,风走了电就走了——这三个时间尺度完全不在一个节奏上。通俗理解:多台逆变器并联时,若负载增大,各自按预设的“下垂斜率”自动分担有功和无功功率,无需主从通信——这保证了系统的“即插即用”特性。将上面MATLAB代码封装为一个MATLAB Function Block,输入总线信号包含母线电压参考值V_ref=800V、实际V_bus、电池电流I_bat、电池SOC以及系统功率需求P_req,输出两个MOSFET开关的占空比控制信号,再通过PWM Generator模块驱动MOSFET门极。

2026-04-23 21:35:57 21

原创 自动化构建工具:make 与 Makefile

执行make时,make会递归展开一个完整的依赖链:它发现缺少myproc.o就去执行.o规则,又发现缺少.s再往下走,一直到最原始源文件myproc.c,最终一步步生成目标文件。更关键的是,make足够智能——允许构建系统拆分出独立测试的目标,让“改完代码按下make”的瞬间反馈,深入内化为每个开发者的肌肉记忆。上文讲到make能检测源文件的修改,但如果只依赖.c文件而忽略了被#include的头文件,结果往往是灾难性的——改了头文件,make却没有重新编译引用它的任何.c文件。

2026-04-23 21:26:13 169

原创 OpenClaw 浏览器自动化实战

OpenClaw的架构由三部分组成:Gateway(大脑,处理指令并连接LLM)、Node Host(信号的“无线发射器”,把浏览器指令发到你本地的Chrome)、Chrome Extension(浏览器端执行者,接收指令并在页面中完成点击、输入等操作)。通过Extension Relay模式,你先在真实的浏览器中手动完成一次登录(记住勾选“记住我”),之后AI可以通过该浏览器配置文件无缝调用已登录后的操作权限,不需要把账号密码交给AI模型——这既保证了安全性,也避免了自动化登录触发反爬机制。

2026-04-23 21:23:39 80

原创 YOLO项目部署:从Python脚本到Docker容器的企业级交付全流程

实测表明,在平均负载下,该策略能使A100上的YOLOv8s吞吐量从单请求模式的约90 QPS飙升至近600 QPS,GPU利用率稳定在85%以上。计算机视觉项目的依赖通常涉及复杂的库组合:opencv-python、torch、ultralytics,以及它们的底层依赖如numpy、pillow等。其次,同时提供Base64编码和文件上传两种接口,覆盖不同的使用场景:移动端App调用时通常走Base64编码(因为相册选择或拍照后直接得到二进制数据),而调试或开发时文件上传接口更友好。

2026-04-14 18:16:51 202

原创 matlab实现了基于移动可变形组件(Moving Morphable Components,MMC)的拓扑优化算法

与传统的像素式优化方法不同,MMC方法不再将设计空间切分成无数个小像素格子,而是直接用一组几何组件来描述结构,这意味着优化结果天然就是光滑的、几何清晰的,可以直接与计算机辅助设计系统对接,省去了繁琐的后处理步骤。由于优化结果本身就是由一组几何组件构成的,并且每个组件的几何参数都可以作为优化变量直接控制,设计者可以在优化过程中施加各种几何约束,比如组件之间的最小间距、组件的曲率限制、或者制造工艺要求等。优化结束后,我们得到的是一个像素化的结构图,边缘参差不齐,需要经过复杂的平滑处理才能用于制造。

2026-04-14 13:57:32 58

原创 企业级数据库行标识技术深度解析:OID与ROWID的双轨架构实战

OID作为元数据标识符,全部存在KES的系统表中,不同类型的对象存在不同的系统表里:数据库实例的OID存在pg_database系统表的oid列,表、索引、视图这些关系对象的OID存在pg_class系统表的oid列,数据类型的OID存在pg_type系统表的oid列,函数和存储过程的OID存在pg_proc系统表的oid列。FROM table表达式。它干的事儿很核心:确保每一行都有专属的“身份证”,支撑索引快速定位数据行,在MVCC机制中关联不同版本的数据行,还在主从复制和逻辑备份中精准匹配数据行。

2026-04-13 17:49:04 230

原创 一天做出“鸿蒙+AI”游戏Demo

在attack方法中,先更新enemyHp再更新battleLog,看起来没问题,但在异步场景下(比如同时调用多个方法)可能会出现日志和血量不同步的情况。比如你用“强力打击”造成45点伤害击败了一个怪物,AI可能会生成:“你挥舞巨剑劈开怪物的护甲,45点伤害如雷霆贯穿其胸膛,怪物发出绝望的嘶吼后化为灰烬。解决方案是尽可能合并状态更新,或者使用@State的批量更新机制。这里有一个巧妙的设计:伤害数值单独用一个@State变量damage来存储,每次攻击时先显示刚造成的伤害数值,然后血量更新,数值就消失了。

2026-04-13 17:44:52 71

原创 YOLO系列算法精讲:从YOLOv1至YOLOv8的进阶之路(3w字以上)

开篇:目标检测的“红海”中,YOLO凭什么杀出重围?2015年,当绝大多数目标检测算法还在走“先提候选框、再逐个分类”的老路时,一篇来自华盛顿大学的论文让整个学术界眼前一亮。论文标题很直白——“You Only Look Once: Unified, Real-Time Object Detection”。翻译成中文就是:只看一次,统一架构,实时目标检测。这个名叫YOLO的算法,核心思想极其叛逆:为什么检测物体要先花时间找候选框?为什么不能一张图直接给出所有答案?它把目标检测从“分段流水作业”变成了“端到端

2026-04-10 09:13:30 392

原创 从零开始掌握YOLO——实时目标检测的技术详解

YOLOv11在v8的基础上进一步优化了骨干网络和Neck结构,用更少的参数量实现了更高的精度。换句话说,从输入到输出,只有一次前向传播,没有候选框生成环节,没有独立的分类器,全流程统一在同一个网络里完成。7×7的网格也限制了空间分辨率,容易漏检。最终的输出是一个S×S×(B×5+C)的张量,对于7×7网格、2个边界框、20个类别的情况,就是7×7×30。YOLOv11m和YOLOv12m在牙科根尖周病变检测中展现出86.2%的召回率和89.1%的精确率,展示了深度学习方法在临床辅助诊断中的潜力。

2026-04-10 09:08:32 168

原创 从零开始掌握YOLO——实时目标检测的技术详解

把输入的整张图片分成S×S的网格,每个网格负责预测中心点落在这个区域的目标物体,同时输出这个网格内的边界框和类别概率。这套设计的巧妙之处在于,它把目标检测从一个复杂的组合问题,变成了一个统一的回归问题。YOLOv5的贡献则在工程和易用性层面——代码结构清晰,部署灵活,提供了从nano到x的多个版本,极大推动了YOLO在工业界的普及。YOLO系列用十年时间完成了目标检测领域最完整的进化图谱——从网格回归的开创性思想,到锚框机制的系统化应用,再到无锚框+解耦头的工程优化,每一代都在解决前一代的真实痛点。

2026-04-09 08:00:58 228

原创 一文搞懂YOLO系列目标检测!从原理到YOLOv8实战全掌握

相比YOLOv3到v5使用的耦合头,解耦头的好处很明显:分类和回归两个任务对特征的需求不同,分开处理可以让每个分支专注自己的任务,从而提升整体精度。YOLOv8在Neck部分采用了PAN-FPN增强版(路径聚合网络),包含自顶向下和自底向上两条路径的双向特征融合,特征金字塔层级为P3(80×80)、P4(40×40)、P5(20×20)。YOLOv8的Backbone以C2f模块为核心,配合卷积层和池化层,提取图像不同尺度的特征,输出3个不同分辨率的特征图(80×80、40×40、20×20)。

2026-04-09 07:59:46 330

原创 ZYNQ连接电脑的各种方法

串口和网口是给“跑在上面的程序”用的,JTAG是给“让程序能跑起来的那套启动机制”用的。当你的ZYNQ板子连串口都没有输出(俗称“变砖”),JTAG是你最后的救命稻草——你可以直接烧写BootROM、检查电源轨、甚至绕过整个启动流程强行注入代码。

2026-04-08 09:15:02 504

原创 ZYNQ简介

你有没有想过,如果一台电脑可以随时改变自己的硬件电路,会是什么样子?想象一下这样的场景:你正在用电脑打游戏,觉得显卡渲染速度不够快。正常情况下,你的选择是攒钱买一块新显卡。但假如你的电脑是一块ZYNQ,你只需要敲几行代码,告诉它“你现在需要更多的逻辑单元来处理图形”,它瞬间就能把自己的一部分电路重构成一个专门的GPU加速器。打完游戏,你开始搞深度学习,它又能摇身一变,变成一个张量计算核。这不是科幻电影里的情节,这是—— 赛灵思(Xilinx,现属AMD)推出的—— 正在做的事情。

2026-04-08 09:11:24 97

原创 Zynq PS端开发完全指南:Xilinx工具链实战与避坑手册

你买了一款Zynq开发板,兴奋地接上电源,然后……然后对着Vivado的界面发呆了三小时。我懂你。Zynq的PS(Processing System)端开发跟普通ARM开发完全是两码事。玩STM32时你只需要Keil、一个下载器、几行代码就能点灯。到了Zynq这里,你得先弄明白Vivado、Vitis、XSCT、FSBL、BOOT.bin这一大堆名词到底是什么关系,才能在ARM Cortex-A9上跑起第一个"Hello World"。别慌。

2026-04-07 19:41:08 164

原创 Zynq平台开发基础详解及C/C++实例

Zynq平台开发基础详解:当CPU爱上FPGA,一场嵌入式革命的正确打开方式如果你玩过传统FPGA,你一定经历过这样的痛苦:用Verilog写个UART驱动折腾三天,调试状态机到头秃,想做个复杂算法发现资源不够用还得精打细算逻辑单元。如果你玩过传统ARM,你也一定吐槽过:软件再怎么优化,处理高速数据流时CPU占用率还是100%,中断响应还是不够快。直到Zynq出现。

2026-04-07 19:38:53 109

原创 第十六天~在Arxml中给Signal和Signal Group设置Update Bit更新位

数据不仅要正确,还要及时。没有更新位,你只能依靠超时机制或版本计数器来推断数据是否新鲜。有了更新位,每个信号都自带“时间戳”(虽然不是绝对时间,但相对更新事件)。在ARXML中配置更新位,不是简单的打勾,而是定义通信协议的数据有效性契约。发送端承诺:每次写入有效数据都会设置更新位;接收端承诺:消费数据后清除更新位。这个契约一旦在工具中配置完成,就会自动生成到代码里,不需要你手写任何位操作。下次当你设计一个包含多信号、多周期的IPDU时,问问自己:接收端能否准确知道哪个信号是刚刚产生的?

2026-04-05 21:18:02 335 1

原创 第十六天~在Arxml中创建一个IPDU Group

IPDU Group不仅仅是批量控制的开关,它是AUTOSAR通信架构中实现。

2026-04-05 20:29:09 218

原创 simulink当“间歇性”遇上“波动性”——储能是新能源系统的“稳定器”

本文目标:手把手教你使用 Simulink + Simscape Electrical 搭建一套锂电池储能系统,实现基于 SOC(荷电状态)的三段式充电控制(恒流→恒压→浮充),基于功率指令的双向 DC/DC 变流器控制,充放电安全边界保护(电压、电流、SOC 限幅),并通过仿真验证系统在典型日光曲线下的充放电行为与电池健康状态。于是,锂电池储能系统(BESS)成为关键桥梁:它如同电力系统的“蓄水池”——在光伏富余时充电,在负荷高峰或夜间放电,实现能量的时间平移与功率平衡。锂电池特性与充放电管理逻辑。

2026-04-03 20:56:07 33

原创 Ubuntu的“第一秒”与“最后一秒”:重塑开机与关机的微交互美学

虽然Plymouth项目试图用图形化的启动画面(Splash Screen)来掩盖这一过程的枯燥,但大多数默认的Plymouth主题仅仅是显示一个旋转的图标或Ubuntu的Logo,缺乏与用户的互动,更谈不上“微交互”的设计感。再想象一下,当你点击“关机”,系统没有立刻切断一切,而是像一位优雅的管家,轻柔地关闭每一扇“窗户”(应用程序),将散落的“文件”(数据)归位,最后向你微微鞠躬,灯光渐隐,屏幕温柔地熄灭。下一次,当你按下电源键,不妨闭上眼睛感受一下,那不仅仅是电流的接通,更是一个数字生命的苏醒。

2026-04-03 20:48:31 144

原创 社区共识与视觉冲突:为 Ubuntu 设计一套“众口能调”的图标系统

Ubuntu的“橙色风暴”:一场由文件夹引发的视觉地震Ubuntu社区最近经历了一场不大不小的“视觉地震”,震源正是其文件管理器中那个看似平平无奇的文件夹图标。事情的起因是Ubuntu官方在26.04 LTS开发周期中,将沿用了多年的经典灰色文件夹,替换成了一款鲜艳的橙色图标。这本是一次寻常的设计迭代,却瞬间点燃了社区的讨论热情。而另一部分用户则表达了强烈的不满,有人直言新图标“看起来像是儿童绘图本里的涂鸦”,过于幼稚;

2026-04-03 20:45:01 47

原创 手把手打造一台开源“函数发生器+SDR”:当ZYNQ遇上Python

这个项目的初衷只是为自己做一个廉价的测试仪器,但随着开发深入,我意识到ZYNQ平台释放了巨大的可能性。当硬件配置不再是障碍时,你可以把精力完全投入到算法创新上——快速原型一个雷达波形,测试新的调制方式,甚至搭建一个完整的软件无线电教学环境。如果你也想动手尝试,建议从ZedBoard或PYNQ-Z2开始,这些板卡价格亲民,社区资源丰富。项目仓库的wiki里提供了详细的硬件连接图和编译指南,从零开始大约一周就能跑通基本功能。欢迎在GitHub上提交Issue和PR,一起让这个开源仪器变得更强大。

2026-03-27 22:34:21 212

原创 当SLAM遇上FPGA:打造一个会“硬件加速”的激光雷达SLAM系统

点云数据的运动畸变校正特征点提取与匹配、以及ICP迭代最近点配准。在传统方案中,我们通常用ARM核完成所有计算。但点云配准中的最近邻搜索(KD-Tree)需要大量分支判断,CPU处理起来效率很低;而ICP中的矩阵分解(SVD)虽然计算量大,但非常适合并行化。ZYNQ的特殊之处在于它把ARM(PS端)和FPGA(PL端)集成在同一颗芯片上。ARM擅长跑操作系统、处理复杂逻辑和调度,FPGA擅长做高吞吐量的并行计算。两者之间通过AXI总线高速互联,数据交换延迟只有几十个时钟周期。

2026-03-27 22:31:45 283

原创 软硬协同声学相机:用ZYNQ让水下世界“开口说话”

通过给每个通道加上不同的延时,让来自目标方向的信号对齐,然后相加,其他方向的信号就会被削弱。两者结合,既能保持FPGA的高效率,又能享受ARM的灵活性。这个项目的本质,是把“计算密集”的任务下沉到FPGA,把“控制密集”的任务留在ARM。分开处理,各得其所。这段代码虽然简单,但包含了软硬协同的精髓:ARM通过DMA被动接收数据,不参与实时处理,从而把宝贵的CPU资源留给图像渲染和网络通信。这篇文章要分享的,就是如何用ZYNQ搭建一个低成本的声学相机原型,让它不仅能“听”,还能“看”——实时生成水下图像。

2026-03-26 19:33:33 155

原创 基于LLM自然语言处理的智能函数发生器:用对话生成任意波形

基础波形"sin(2*pi*1000*t)" # 1kHz正弦波"square(2*pi*500*t)" # 500Hz方波"sawtooth(2*pi*2000*t)" # 2kHz锯齿波# 调制与叠加"sin(2*pi*1000*t) * (1 + 0.5*sin(2*pi*10*t))" # AM调制"sin(2*pi*1000*t) + 0.3*sin(2*pi*3000*t)" # 谐波叠加# 分段与条件。

2026-03-26 19:17:20 181

原创 深海的“听觉”革命:在ZYNQ上构建实时水声通信与波束形成平台

当潜水器在3000米海底作业时,它如何“听见”母船的指令?

2026-03-24 09:17:42 62

原创 星载AI实战:在ZYNQ上部署轻量化SAR海冰分割网络

算法-硬件协同设计:不是简单地将现成网络移植到FPGA,而是从设计之初就考虑硬件约束,实现2倍能效提升SAR感知的轻量化架构:针对双极化SAR图像的特点设计输入处理和通道注意力,在75% F1分数下仅用250K参数完整的开源工具链:从PyTorch训练到Vitis AI量化,再到HLS加速核,形成端到端部署方案。

2026-03-24 09:13:57 161

原创 第十五天~【ARXML专题】-18-在Arxml中创建一个Signal Group

在创建Signal Group之前,需要先定义组内的每个信号。这里以车辆控制系统为例,假设我们要将车速、发动机转速、油门踏板位置三个信号编为一个Group,用于同步传输。定义I-Signal(或Signal)-- 定义车速信号 --> < ISIGNAL > < SHORT-NAME > VehicleSpeed </ SHORT-NAME > < LENGTH > 16 </ LENGTH > <!

2026-03-22 11:45:33 84

原创 第十五天~【ARXML专题】-在Arxml中定义一对XCP-PDU用于测量标定

在汽车电子开发中,测量和标定是ECU开发过程中不可或缺的环节。想象一下:你正在调试一台电机控制器,需要实时观测电流波形,同时在线调整PID参数——这个场景里,测量(Measurement)让你“看到”数据,标定(Calibration)让你“修改”参数。而XCP(Universal Measurement and Calibration Protocol)正是连接上位机(如CANape、INCA)和ECU的“桥梁”。在AUTOSAR架构中,XCP-PDU(Protocol Data Unit)则是XCP协议

2026-03-22 11:40:03 169

原创 手把手教你学Simulink——基于电机驱动系统的场景实例:永磁同步电机(PMSM)在电动汽车中的矢量控制仿真

永磁同步电机(PMSM)已经成为电动汽车驱动系统的主流选择。它用永磁体取代电励磁,消除了励磁损耗,效率高达95%以上;同时具备功率密度高、体积小、动态响应快等优势,是特斯拉、比亚迪等主流电动车的“心脏”。但PMSM的控制并不简单——它是一个多变量、强耦合的非线性系统。如果用“蛮力”直接控制三相电流,你会发现转矩和磁通互相影响,顾此失彼。矢量控制(Vector Control)正是为解决这个问题而生:它通过坐标变换,将交流电机“伪装”成直流电机,实现转矩和磁通的独立控制。

2026-03-22 11:34:27 47

原创 PyTorch张量API核心全解:夯实深度学习根基,一篇吃透核心操作

在数学上,张量是向量和矩阵的推广。在编程中,我们可以简单地把张量理解为一个具有数据类型、形状(shape)和设备(device)的多维数组。标量(0维):单个数值,如向量(1维):一列数,如[1, 2, 3]矩阵(2维):表格,如高维张量(3维及以上):例如一批彩色图片的形状为。

2026-03-22 11:21:51 162

原创 手把手教你“养龙虾”:OpenClaw从零部署到高阶应用全攻略

最近,如果你关注科技圈或创业圈,一定听说过“养龙虾”这个词。此龙虾非彼龙虾,它指的是一个开源的AI智能体框架——OpenClaw(曾用名Clawdbot)。因为它的图标酷似一只红色的龙虾,所以网友形象地把安装部署这款软件的过程称为“养龙虾”。那么,OpenClaw到底有什么特别之处?简单来说,传统的AI(比如你用的ChatGPT)是一个“动口不动手”的顾问,它会给你建议,但具体操作还得你自己来。

2026-03-22 11:17:50 516

原创 MemEvolve·记忆与学习融合系统:给OpenClaw装上会“进化”的大脑,让AI在每一次对话中变得更懂你

大家好,我是芯作者,给大家分享下给OpenClaw装上会“进化”的大脑当AI记住你所有的偏好,却永远学不会从错误中成长——这不是记忆,这是“死记硬背”。真正的智能,是在记住的同时,还能从每一次纠正中进化。

2026-03-17 09:00:03 226

全部FPGA课程设计VHDL及报告下载

FPGA课程设计VHDL及报告直接使用即可。

2022-12-12

自动增益(AGC)算法FPGA实现

算法在quartusII下创建,使用verilog语言。 数据转换/信号处理中的基于AGC算法的音频信号处理方法及 FPGA实现。

2022-12-12

数字密码锁verilog设计+仿真+上板验证

数字密码锁实验,直接可以课设毕设,上板子验证过,仿真过,放心使用!良心。

2022-12-12

7人表决电路设计verilog及报告

内容及要求 完成7人表决电路设计,LED灯表示通过、否决。 (1)开关表示赞成与否,1~8编号(1赞成); (2)LED显示表决的结果; (3)数码管显示否决的人数; (5)工作时钟板上为准; (6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。 ———————————————— 版权声明:本文为CSDN博主「QQ_778132974」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/QQ_778132974/article/details/117397434

2022-12-12

基于verilog的洗衣机设计

基于verilog的洗衣机设计,可以拿来直接使用。

2022-12-12

乒乓球游戏电路设计 VHDL eda技术 课程设计 ,使用quartusII 、vivado、ISE等EDA工具均可

乒乓游戏功能使用说明 1、打开GW48系统的电源; 2、下载PINPAN中的TABLETENNIS.SOF,到FPGA EPF10K10中; 3、用模式键选模式“3”,再按一次右侧的复位键; 4、使CLOCK5进入1024Hz频率,以便听到出错时的鸣叫; 5、使CLOCK2进入4Hz频率,以便控制"乒乓球"的速度; 6、甲方控制键1,按键后开始发球,发光管向左亮动, 数码管3/2显示甲方分值; 7、乙方控制键8,待对方球(亮灯)过来时,及时按键,发光管即向右返回, 数码管7/6显示乙方分值; ———————————————— 版权声明:本文为CSDN博主「QQ_778132974」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/QQ_778132974/article/details/115187921

2022-12-08

基于FPGA的序列检测器

使用VHDL实现序列检测器,带仿真。 序列检测器的原理是通过状态机实现对某一个特定序列进行检测,以达到序列检测的目的,序列的长度可以自定义,序列长度决定状态机的长度。

2022-10-05

基于FPGA的误码检测,课程设计

基本原理 主要分为以下几个部分: (1)锁相环 (2)M序列生成模块 (3)数据接口模块 (4)模拟信道模块 (5)本地M序列生成模块 (6)同步模块 (7)误码统计模块

2022-10-01

基于FPGA的数字秒表设计

1设计要求 (1) 能对0秒~59分59.99秒范围进行计时,显示最长时间是59分59秒; (2) 计时精度达到10ms; (3) 设计复位开关和启停开关,复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。

2022-10-01

verilog实现基于FPGA的通信信号源设计

要求: 能够发射正弦波 对发出的正弦波进行2ask,2fsk,2psk,2dpsk调制 调制时用到PN序列(伪随机序列) 步骤: 第一步:产生两个频率不同的载波信号 第二步:编写2ask,2fsk,2psk,2dpsk模块 第三步:编写伪随机序列产生模块 第四步:将所有模块连接起来

2022-10-01

基于FPGA的实现一款简易电子密码锁

功能: 1、设计一个密码锁的控制电路,当输入正确密码时,输出开锁信号以推动执行机构工作(用FPGA实现直流电机控制),用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁; √ 2、在锁的控制电路中储存一个可以修改的 4 位密码,当开锁按钮开关(可设置成 6 位至8位,其中实际有效为 4 位,其余为虚设)的输入代码等于储存代码时,开锁; 3、从第一个按钮触动后的 5 秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续 20 秒的报警信号。√

2022-09-27

基于FPGA的交通信号灯设计

1.模拟十字路口交通信号灯的工作过程,利用交通信号灯上的两组红,黄,绿LED发光二极管作为交通信号灯,设计一个交通信号灯控制器。 2.模拟两条公路,一条交通主干道,一条交通支干道,在主干道和支干道的交叉路口上设置红,绿,蓝灯进行交通管理。

2022-09-13

基于FPGA的飞机的小游戏

打飞机的小游戏,在用vhdl语言开发。 通过VGA接口显示,能够显示分数,gameover等字样,己方飞机可控制左右移动,敌方飞机自动移动,碰边界会变方向变速。得分越高,速度越快,难度越大。

2022-09-06

基于FPGA的会议发言限时器

功能设计:根据基本要求,将该设计方案分为四个模块:计时与显示模块、暂停与继续按键功能模块、蜂鸣器报警模块、LED显示模块。

2022-09-06

基于FPGA的电压表与串口通信,本系统包括AD采集和串口通信两个部分

基于FPGA的电压表与串口通信,本系统包括AD采集和串口通信两个部分,可以拿来直接做设计使用,全套资料,包括使用硬件软件操作说明等。

2022-08-30

VHDL设计实现I2C总线,完整工程及全套流程介绍

设计实现要求: 4个按键为二进制数,按下为1,没按下为零,就是XXXX,因为IIC传送的是8bit的数,所以就将这四个按键按下的情况显示在在4个LED上面,就是用4个LED代表4个按键的按下情况,这样就用按键取代了拨码开关,我也不用去做个板插上去。 设计语言:VHDL

2022-08-28

sha3算法verilog设计及modelsim仿真

在工程中: keccak.v 为顶层文件,分别调用下面几个文件,f_permutation.v、padder1.v、rconst2in1.v、round2in1.v、padder1.v。 test_keccak.v为仿真代码。 在仿真代码test_keccak.v中,仿真控制输入, reg [63:0] in;为输入,wire [511:0] out;为输出端。 在仿真代码中通过对输入的参数进行控制,实现对算法输入控制的变化,通过仿真波形图来观察输出端。 ———————————————— 版权声明:本文为CSDN博主「QQ_778132974」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/QQ_778132974/article/details/124217676

2022-08-21

基于FPGA的fir滤波器设计verilog实现,可以直接拿来做设计使用。

设计的滤波器的采样频率为100K,截至频率为20K。 通过一个DDS产生两个正弦波,一个为1K的正弦波幅值较大,另一个为21K的正弦波幅值较小,然后将幅值较小的正弦波叠加到幅值较大的正弦波上。这样就产生含有高次谐波的正弦波,最后就是将该正弦波(其实都已经失真了)送往两个FIR滤波器中进行处理。 FIR8阶滤波器的采样频率为100K,截至频率为20K,通过Matlab软件导出需要的滤波器系数:0.009、0.048、0.164、0.279、0.279、0.164、0.048、0.009。因为该滤波器为线性相位滤波器,并且为偶对称滤波器。 工程设计中采用线性相位结构的滤波器。

2022-08-05

基于FPGA的DDS任意波形输出

全套内容: 仿真文件在:ModelSim SE 6.2仿真工程 FPAG设计的文件在:任意波形频率、相位、幅值可调输出V1 波形仿真数据在:波形仿真数据.doc(包含5个仿真波形,你可以选取几个) 频率表用来查找相应频率下对应的控制字,然后给set_f赋值;

2022-07-28

64位8级流水线加法器,即是将64位拆成8个8位进行运算,最后将8个8位运算的结果相加得出最后的和和进位位。 包括说明文档

可以直接拿来当设计使用,货真价实!

2022-07-27

yolov5在FPGA实现的verilog代码,包括神经网络的verilog实现代码及仿真代码

网络训练、图像预处理以及部分head功能是基于pc端实现的,只有主干网络部署在fpga上,片上资源无法支持整个网络所需资源,建议添加外部存储及DDR。这里添加了模块代码,考虑到不同板子对应的eda不同,将fpga的source源码给出,经过仿真无误。可添加相关ip核及引脚配置进行组网

2025-08-09

JEPG Encoder IP verilog设计及实现

采用通用的常规 Verilog 代码编写,可用于任何 FPGA。 该内核不依赖任何专有 IP 内核,而是用 Verilog 编写了实现 JPEG 编码器所需的所有功能,代码完全独立。

2023-10-07

基于FPGA的拔河游戏设计

设计内容: (1)拔河游戏机需要11个发光二极管排成一行,开机 后只有中间一个亮点,作为拔河的中间线。 游戏双方 各持一个按键,迅速且不断地按动产生脉冲,哪方按 得快,亮点就向哪方移动, 每按一次,亮点移动一次。 移到任一方二极管的终端,该方就获胜。此时双方按 键均无作用,输出保持,只有经复位后才能使亮点恢 复到中心线。 (2)显示器显示胜者胜利的次数,裁判按键可以控制 开始和清零。

2023-10-06

基于FPGA点阵显示屏设计

文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。 控制系统程序采用FPGA编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。

2023-09-16

verilog设计实现8b-10b编码器包括3b4b,5b6b 及modelsim仿真

下面是8b10b编码器的设计步骤。 1. 确定数据输入和输出接口。例如,您需要确定8位并行数据输入和10位串行数据输出。 2. 计算数据带宽。这与芯片中可用的时钟速度密切相关。 3. 选择编码表。根据应用选择最佳编码表,8b10b编码器至少应使用一张编码表。详细了解和选择编码表有利于改善编码器的性能。 4. 编写编码器的状态机。编码器的状态应针对输入数据,在状态转移前确定符号的输出。同样,状态也应该考虑插入或删除代码的位置。 5. 关联状态机的输出符号。在每个状态中,都必须关联与该状态相关联的输出符号。此项工作需要根据编码表中编码符号的特点进行。 6. 设计电路。设计电路包括选择元件,例如寄存器、计数器、直接构成,以及各种传输门、存储器等。 7. 编写Verilog代码。将状态机转换为描述硬件电路的Verilog代码。 8. 进行仿真测试。使用Verilog开发环境进行仿真测试,并通过仿真验证电路功能。 9. 实现和验证。用Verilog将设计转换为FPGA或ASIC的物理实现,并通过测试验证设计性能。

2023-04-22

verilog实现并行CRC校验及仿真

实现并行CRC校验,需要以下步骤: 确定CRC生成多项式,根据生成多项式决定寄存器的位数、初始值和异或值。 将数据分组,一组多个数据字节根据数据总位数和寄存器的位数决定。 将每组数据字节送入寄存器,每个字节顺序处理,每次处理输入一位,处理完一个字节后进行下一个字节。 与输入的数据一样先补零,然后进行CRC校验计算,计算完毕后得出校验码。 将寄存器的内容与校验码进行比较,如果一致,则该数据没有出现错误,否则数据出现错误。 实现多项式移位、异或运算等基本逻辑操作。 考虑优化CRC校验性能,如使用LUT、流水线等技术来优化并行计算。

2023-04-22

使用verilog设计实现QR分解

QR(正交三角)分解法是求一般矩阵全部特征值的最有效并广泛应用的方法,一般矩阵先经过正交相似变化成为Hessenberg矩阵,然后再应用QR方法求特征值和特征向量。 使用verilog对QR实现方法进行设计并进行功能仿真

2023-02-07

同步FIFO设计verilog设计及仿真

用16*8 RAM实现一个同步先进先出(FIFO)队列设计。由写使能端控制该数据流的写入FIFO,并由读使能控制FIFO中数据的读出。写入和读出的操作由时钟的上升沿触发。当FIFO的数据满和空的时候分别设置相应的高电平加以指示。

2023-01-31

verilog实现计算器设计

该实验为用verilog编写的一个运算系统,其功能是实现4位整数的加、减、乘、除运算。运算时通过矩阵键盘输入运算类型和运算所需要的数据,然后通过内部电路处理,将计算的结果送于数码管或LCD1602显示。

2023-01-24

实现verilog设计控制交通灯

本交通灯设计在ISE14.7环境下,也可以在vivado或者quartusII中使用。

2022-12-14

数字心电图仪综合系统设计与实现verilog

求以FPGA为控制核心,完成模拟端的设计,实现一个数字心电图仪综合设计系统。主要包括传感器驱动、电压放大、滤波器、模数转换、数字处理显示模块等。

2022-12-14

Nexys4DDR+OV7670实现sobel算子边缘检测系统

整体思路同灰度图像实验大体类似,输入和输出端口是相同的,不同之处在于算法的实现过程,sobel边缘检测的理论知识大家可以查查详细的过程,在这里简要说下算法的过程,主要通过33的矩阵进行梯度的计算,然后在与设定的阈值进行比较 ,首先用FIFO缓存3行像素,FIFO需要用两个,长度是640,宽度8位,这样可以得到3行像素,然后在依次取33,也就是9个像素进行计算,需要用到几个公式去计算梯度,最后得到一个数值,8位的输出,然后与设定的阈值进行比较,输出同之前讲的灰度输出方法二一致。 硬件连接图与灰度处理一样。 VHDL语言

2022-12-13

Nexys4 DDR + OV7670 摄像头实时监控系统

简介:开发板Nexys4 DDR, 摄像头OV7670,是CMOS 图像传感器,最高分辨率640*480.将摄像头OV7670通过开发板的PMOD的IO接口相连,用VHDL/verilog进行编程,本实验用了两种语言分别编程通过,通过编程,摄像头采集的图像可以通过VGA传输实时的显示在显示屏上。代码适用于Xilinx系列开发板,altera系列需要修改部分代码。 整体思路:首先图像传感器OV7670采集图像通过PMOD口输入到内存RAM中,然后从RAM中实时提取像素并通过VGA实时显示在显示屏上。开发板时钟100M,经过分频,给OV7670驱动和VGA的时钟分别为50M和25M,内存RAM是通过XIlinx开发软件的vivado中的开源IP核调用,设置存储位宽和深度,用来存储一帧的图像数据,最后提取RAM中的这一阵像素到VGA上并显示。

2022-12-13

VHDL实现任意大小矩阵加法运算

本设计是VHDL实现任意大小矩阵加法运算 通过加法实现两个矩阵相加,得到的结果存储在Buffer中

2022-12-12

基于FPGA多通道数据采集系统verilog设计

本设计实现多通道数据采集系统,该系统包括多通道数据采集和数据传输,使用verilog语言设计。 本设计实现功能:采集8路16位的AD数据,并发送到串口助手。

2022-12-12

Network-UART VHDL设计及仿真实现

实现UART及实时系统完成收发UART操作的测试系统,要求如下: 本工程包括一个测试系统,UART. UART包括baud波特率模块、UART的transfer and receive模块等 1 Objective The objective of this project is to design and build a complete UART in VHDL. Upon completion, the student must be able to: • Design, realize and test transmitter and receiver modules; • Design, realize and test a baud rate generator; • Demonstrate a complete understanding for the design of a UART and its interface in a real-time system.

2022-12-12

基于FPGA的ADC数据采集蓝牙传输系统设计,及报告

本设计使用气体传感器,也可换成其他传感器,例如温度湿度等。 为了实现对气体传感器的电阻数据采集、处理以及将数据直接传输至手机端,将气体传感器数据采集及无线数据传输系统划分为气敏数据转换系统,数据处理系统,数据传输系统,如下图所示。气敏数据转换系统主要实现将气体传感器的阻值转换为FPGA能够处理的数字信号,该部分包括气体传感器模块,电阻-电压转换模块,模数转换模块。数据处理系统主要负责气敏前端电阻数据的采集、处理以及将数据打包成可供蓝牙发送的数据流,这部分系统包括ADC数据采集模块,数据处理模块,数据存储模块,数据输出控制模块。数据传输系统主要实现与蓝牙进行数据交互的功能,包括串口接口模块,蓝牙模块以及手机数据接收模块。

2022-12-12

verilog实现电子投票箱设计

本文用verilog描述了一个完整的电子投票箱,有一个正确、确认的按钮和一个回车(称为有效)。该代码允许轻松地改变候选人,允许根据需要放置尽可能多的候选人和/或改变其数量。我们创建了:一个作为投票箱处理器的模块,一个生成BCD显示信息的模块,几个串联的BCD计数器,一个用于七段数码管显示的BCD变压器和一个用于生成有效投票信息的解复用器。我们还创建了一个用于波浪模拟的时钟模块和一个时钟减速器,以适应任何技术的选票。 本设计有报告。

2022-12-12

基于VHDL超声波测距实验

共有两个代码文件detect_distance_3和process_4添加到quartus II 9.0 工程文件中, 这两个文件分别对应作业中3和4 按照软件使用流程,编译,仿真添加激励信号,出波形。 chaoshengbo是在quartus II 19.1工具上验证正确

2022-12-12

VHDL实现任意大小矩阵乘法运算

VHDL实现任意大小矩阵乘法运算 可以通过参数修改矩阵的大小; 使用VHDL语言实现; 在vivado上进行综合和仿真。

2022-12-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除