- 博客(15)
- 收藏
- 关注
原创 RISC-V三级流水线项目:总体概述和取指模块
这是一个关于RISC-V三级流水线处理器的开发项目摘要。该项目采用Verilog语言实现一个32位单核RISC-V处理器,对标ARM Cortex-M3系列。文章重点介绍了取指模块(IF)的设计,包括状态机实现、指令有效判断、地址更新逻辑以及分支预测功能。该项目采用三级流水线(取指、译码、执行)设计,开发环境使用VCS+Verdi进行仿真验证。目前已完成取指模块的代码编写,后续将进行完整流水线的集成测试。该项目具有开源特性,可供自由开发和设计。
2025-06-24 22:22:36
197
原创 AXI总线学习
本文介绍了ZYNQ中AXI总线的基本概念与应用。AXI(Advanced eXtensible Interface)是ARM提出的总线协议,分为AXI4、AXI4-Lite和AXI4-Stream三种类型,分别对应高性能地址映射、轻量级单次传输和高速流数据传输。ZYNQ提供了GP、HP和ACP三种AXI接口,用于连接PS和PL端。文章详细解析了AXI协议的五通道分离机制及其高效性,并通过代码示例展示了AXI4-Lite的读写操作过程,包括寄存器写入和数据读取的实现原理。
2025-06-22 17:00:47
794
原创 Moedlsim仿真图片—输入图片,仿真后输出图片
本文介绍了如何利用Modelsim对FPGA图像处理进行仿真,通过解析BMP图片并模拟摄像头时序,实现图像处理的仿真验证。首先,通过代码解析BMP图片,获取图片的宽度、高度、像素数据偏移量等信息。接着,模拟摄像头时序,生成时钟使能、水平计数器、竖直计数器等信号,模拟摄像头的输出。最后,将处理后的像素数据恢复为BMP格式并存储。该方法能够直观地验证图像处理算法的效果,适用于FPGA图像处理开发中的仿真需求。
2025-05-18 17:07:31
330
原创 FPGA图像处理—乒乓操作
乒乓操作是一种双缓冲技术,用于高效处理数据,特别是在FPGA多通道相机图像处理中。它通过两个交替使用的缓冲区实现:一个缓冲区接收数据时,另一个缓冲区进行数据处理,从而避免数据时序错乱。然而,2Bank乒乓操作存在等待时间问题,影响DDR2缓存效率。为此,4Bank乒乓操作被提出,通过增加缓冲区数量减少等待时间,实现更高效的数据处理。代码部分展示了乒乓操作的实现,包括写端和读端的状态机控制。最终结果表明,4Bank乒乓操作在多通道图像处理中显著提升了效率。
2025-05-11 21:00:54
383
原创 基于ZYNQ的VDMA的使用——PS端DDR读取照片 PL端处理显示
利用PS端的DDR3读取三张图片,通过VDMA发送到PL端,PL端使用HDMI显示,每隔1s显示一张图片。
2025-05-08 16:18:01
677
原创 基于FPGA的中值滤波算法的实现
中值滤波对于某些类型的随机噪声具有非常理想的降噪能力,对于线性平滑滤波而言,在处理像素邻域之内的噪声点时,噪声的存在总会或多或少影响该点的像素值的计算,但在中值滤波中噪声点则常常直接被忽略掉的;而且与线性平滑滤波器相比,中值滤波在降噪同时引起的模糊效应较低,进行中值滤波不仅可以去除孤点噪声,而且可以保持图像的边缘特性,不会使图像产生显著的模糊。中值滤波的一种典型应用是消除椒盐噪声。
2025-04-28 21:46:25
372
原创 SystemVerilog使用入门——结构体和类
最近在学习UVM验证,发现需要掌握一些SystemVerilog的基本知识,尤其是对类的理解。上面是SystemVerilog中结构体和类的简单入门。SystemVerilog和Verilog在语法上也有点不同,后续学习后和大家交流分享。
2025-04-27 16:23:12
993
原创 STM32和微信小程序通过Onenet云平台上传数据、下发指令
首先在开始前需要进行Onenet平台和微信小程序的注册,Onenet的设备注册想必大家都会了,就不再赘述了,简单说一下微信小程序的注册;前往微信小程序注册网页https://mp.weixin.qq.com/cgi-bin/wx?点击前往注册,然后填写注册信息完成注册(一个邮箱只能申请一个小程序),这样你就注册成功了,然后登录后在设置里找到自己的AppID(小程序ID)小程序ID记好,然后去开发->开发管理->服务器域名中添加Onenet为合法域名。
2025-04-22 17:07:50
774
2
原创 基于STM32的两轮平衡车设计
这是当初做的一个STM32的小项目利用STM32F103C8T6开发板,设计一辆基于PID算法的两轮平衡车可以做到:1、直立平衡:利用PID算法实现小车可在较为平坦的环境中保持直立平衡2、拿起检测:在检测到被拿起后,车轮快速转动提示异常3、电压显示:利用OLED模块实时显示此时小车电源电压4、抗干扰性:可抵抗外界干扰(如手碰动导致的失衡)5、蓝牙控制:设计有配套手机APP,可通过APP遥控小车和切换模式6、超声波跟随7、超声波避障。
2025-04-22 12:57:06
1696
原创 基于FPGA的暗通道先验去雾算法
暗通道先验的去雾算法在去雾算法中是比较经典的。但是一般都是用Matlab实现,用veirlog语言实现的较少。在参考何恺明的论文和大磊的教学视频后,用VIP架构写了一个暗通道去雾算法。
2025-04-21 15:10:56
1865
3
原创 STM32+AIR724UG模块利用EDP协议连接ONENET云平台(只适用于多协议接入中EDP接入)
软硬件条件:已创建的ONENET云平台EDP设备、STM32F103系列开发板一块、AIR724UG模块、物联网卡一张合宙的AIR724UG模块支持DTU指令和AT指令。DTU指令有着方便快捷易开发的优势,但有的时候我们想要将STM32和AIR724UG模块结合起来,利用AT指令连接到云平台,完成相应的物联操作。网上已有的免费资源很少,因毕业设计需要,研究一段时间后,成功解决该问题,故撰写此篇博客进行分享交流。
2024-07-25 14:12:05
610
STM32+AIR724UG模块利用EDP协议连接ONENET云平台(只适用于多协议接入中EDP接入)
2024-07-25
STM32电子秤+上位机
2024-03-20
ESP32CAM实现视频监控
2024-03-20
基于STM32F103C8T6的信号发生器
2024-01-19
基于STM32F103C8T6的两轮平衡车
2024-01-19
STM32一个定时器多个通道输入捕获 一个定时器多个通道输出 输入采取输入捕获模式 输出采取比较输出模式
2023-10-12
基于matlab的数字滤波器设计
2023-08-13
基于多种方法的数字水印处理(MATLAB2019)
2023-08-13
STM32+TM1637
2023-08-13
STM32 ADC双路采集
2023-06-25
C语言课程设计-保安排班
2023-01-10
matlab simulink仿真+GUI仿真 2ASK 2FSK 2PSK 2DPSK
2023-01-10
绘制PCB过程中出现问题,PCB封装
2025-02-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人