- 博客(97)
- 收藏
- 关注
原创 # FPGA 学习笔记:差分时钟输入、上电复位与 LED 闪烁设计(Vivado/Verilog)
本文基于Xilinx FPGA实现差分时钟输入、上电复位与LED闪烁控制。通过IBUFDS将差分时钟转为单端信号,rst_gen模块生成1μs高电平复位脉冲,驱动led模块实现5秒翻转一次的闪烁(周期10秒)。代码采用Verilog描述,配合XDC引脚约束与仿真验证,结构清晰,可作为FPGA入门模板。需注意参数命名、复位极性、计数器位宽及除零风险等常见问题。
2026-09-19 17:44:34
199
原创 手把手搭建 3V 光敏三极管光控小夜灯(GL5516+SS8050,CR2032 纽扣电池供电)
本文介绍一款无需单片机的极简光控小夜灯,采用GL5516光敏电阻与100k电阻分压,驱动SS8050三极管开关控制4颗3528 LED。3V CR2032电池供电,静态功耗极低,体积小巧。白天光强时灯灭,暗光自动点亮,直观展示分压电路与三极管开关原理。无额外限流电阻,依赖三极管导通内阻限流,适用于3V供电。附调试要点:调整R1可改变灵敏度,注意三极管引脚方向、光敏电阻朝外。虽有临界闪烁缺陷,但成本低、易实现,适合模电入门与DIY实践。
2026-09-19 16:36:39
43
原创 解释abstract-mahcine和nemu是怎么合作从0开始运行起来的
AbstractMachine将程序编译为RISC-V32裸机二进制镜像,链接至0x80000000;NEMU构建虚拟RISC-V32环境,加载该镜像并从_start开始逐条解释执行。二者通过地址、接口与ISA三重契约协作:内存起始地址一致,AM的putch/io操作经MMIO传递至NEMU设备模拟,halt通过ebreak触发结束。最终实现“编译—加载—执行”闭环。
2026-09-19 00:59:33
407
原创 25张图,讲透PCB接地
本文系统阐述PCB接地设计的核心要点,涵盖浮地、大地、机箱接地、信号地、虚地等七类接地类型,强调接地在抑制噪声、防止干扰中的关键作用。重点介绍公共接地平面、专用接地层、星形接地等设计方法,并提出避免接地环路、合理布局模拟/数字区域、优化过孔与去耦电容配置等实用技巧。强调电流路径规划与多层板叠层设计对信号完整性与EMI控制的重要性,为高效可靠的PCB布局提供全面指导。
2026-09-19 00:04:39
166
原创 一生一芯ysyx在开始愉快的PA之旅之前
本文系统梳理了ysyx-workbench与讲义的对应关系,涵盖工程初始化、NEMU架构(riscv32 ISA配置、启动路径、CPU执行流程、内存设备模拟)、抽象机器层(AM)设计、测试程序验证及FCEUX移植应用。重点强调身份信息核对、ISA一致性、trap机制规范性、调试输出控制与实验心得记录。推荐按顺序阅读关键文件,深入理解软硬件接口与系统细节,确保符合讲义要求的“白手装机”与“随时记录”原则。
2026-09-19 00:04:09
787
原创 MCU 驱动 NMOS 管电路原理分析(带二极管 + 三极管辅助驱动)
该电路采用MCU IO通过三极管驱动NMOS功率管,实现小信号控制大功率负载。利用NPN三极管有源下拉与二极管加速关断,提升开关速度,降低损耗;栅极上拉/下拉电阻确保稳定工作,防止悬空。结构简单、成本低,适用于高频PWM控制,广泛用于电源开关、电机及加热负载等场景。
2026-09-18 20:50:19
317
原创 PCB布局死区详解:定义、分类、工程作用、DFM规范与实战避坑
PCB布局死区(Keepout禁区)是设计中强制禁止放置器件、走线、过孔和铺铜的区域,用于避免结构干涉、电气风险与生产缺陷。分为器件死区(Component Keepout)与全禁止布线死区(Route Keepout),核心作用包括保障装配安全、电气性能、工艺良率及遵循芯片原厂规范。新手常混淆死区类型,误设或漏设将导致量产失败。主流EDA工具如Altium Designer、立创EDA均支持灵活设置,务必在设计初期明确划分,杜绝样板通过、批量翻车。
2026-09-18 05:26:23
82
原创 电学——基尔霍夫电路定律 学习笔记
基尔霍夫定律包括电流定律(KCL)和电压定律(KVL),基于电荷守恒与电势保守性,适用于稳恒电流电路。KCL指出节点电流代数和为零,KVL表明回路电压降代数和为零。二者结合可求解复杂电路中各支路电流。对于含电感电路需修正KVL,引入感应电动势。解题时无需预先确定电流方向,负值仅表示实际方向与假设相反,体现其强大适用性。
2026-09-18 02:00:54
99
原创 PCB 电阻完全指南:分类、参数、封装、丝印、选型与实战避坑
本文系统梳理了PCB电阻选型的核心知识,涵盖分类、参数、封装功率、丝印识别、功能应用及选型流程,强调“阻值只是基础”,需综合考虑功耗降额、精度、温度系数、高频特性与可采购性。重点提醒常见误区:220≠220Ω、0Ω电阻非理想导线、分压不可供电、绕线电阻禁用于高频。适合硬件初学者与工程师掌握实战选型逻辑,避免设计缺陷。
2026-09-18 01:38:30
408
原创 基于 S8550+S8050+IRFZ44NS 的过流保护开关电路
本电路为12V直流系统设计的自锁型过流保护开关,采用S8550、S8050与IRFZ44NS构成分立式保护电路。通过0.1Ω采样电阻检测电流,当负载电流达7A时,Q2导通触发锁存,Q1维持关断状态,MOS管截止切断输出。保护后需断电复位,具备高可靠性与大电流承载能力。优点为成本低、结构简单、耐冲击;缺点为无法自动恢复、存在温漂与功耗。适用于电源、电机驱动等场景,可通过改进实现打嗝恢复、软启动等功能。
2026-09-18 01:33:29
258
原创 绘制 ESP32 最小系统板(立创 EDA)|3D 预览 + 原理图 PCB 全流程
本文详细介绍使用立创EDA设计ESP32最小系统板的全流程:基于ESP32-WROOM-32模组,完成电源、复位、BOOT下载及USB转串口电路的原理图设计,合理布局PCB,优化电源走线与铺地,实现3D预览效果。通过自绘板子深入理解ESP32上电、复位与下载机制,提升硬件调试能力,后续将用于物联网项目开发。工程文件开源,助力学习实践。#ESP32 #立创EDA #PCB设计 #硬件开发
2026-09-16 00:30:47
296
原创 基于 STM32F103C8T6 的五路气敏传感器 PCB 设计全记录(嘉立创EDA + HHC1000 微热板 + Keil 固件)
本文基于STM32F103C8T6,自研五路气敏检测板,采用HHC1000微热板与AD8606跟随器,实现USB-C供电、五路模拟信号采集、恒流加热及串口输出。重点记录硬件设计、电源管理、ADC校准、固件算法与调试踩坑经验,涵盖网络命名规范、加热限流、高阻信号处理等关键问题,提出恒流驱动、星型接地、标定优化等改进方向,适用于气体传感器开发与STM32应用参考。
2026-09-14 18:02:11
77
原创 嘉立创EDA专业版零基础实战:8路LED灯板,从原理图到PCB打样全流程
<think>我们根据用户要求,需要生成≤150字的文章摘要。用户提供的是一篇完整的博客文章,要求“根据以下内容,生成≤150字的文章摘要”。内容是关于PCB设计新手用立创EDA专业版制作8路并联LED灯板的教程。摘要需要概括核心内容。 生成摘要应包含:项目目标、使用工具、主要流程、适合人群。控制在150字以内。 我们起草:本文面向PCB新手,通过8路并联LED点灯项目,手把手教学使用嘉立创EDA专业版完成从原理图设计、PCB布局布线、铺铜DRC、BOM导出到打样焊接的全流程。
2026-09-04 15:30:59
326
原创 RISC-V手写CPU踩坑:为什么ALU没有乘除?彻底搞懂DPI-C机制
本文解答了手写RV32I流水线CPU时关于ALU设计和调试的两个核心问题:1. ALU未实现乘除运算的原因有三:RV32I基础指令集不包含乘除(属于可选M扩展);乘除法无法适配单周期组合逻辑的时序要求;项目聚焦CPU核心功能,精简硬件开销。2. DPI-C接口的作用是连接Verilog硬件与C模拟器,通过导入ebreak函数实现非法指令的软硬件联合调试,相比传统$display方法更高效。这些设计体现了对RISC-V架构规范和硬件时序的深入理解,是区分代码实现能力与架构设计思维的关键点。
2026-07-15 00:56:18
203
原创 FPGA FIFO一篇完整解释
本文介绍了同步FIFO的设计原理与实现方法。FIFO(先入先出)存储器在FPGA和数字IC设计中广泛用于数据缓冲和速率匹配。同步FIFO采用双口RAM作为存储核心,通过读写地址控制逻辑和空满标志生成逻辑实现功能。关键设计包括:1)读写地址在使能信号有效且非空满状态时递增;2)采用扩展1位地址的方法区分空满状态,通过比较地址高位和低位判断。文章给出了完整的Verilog代码实现,包含读写控制、空满信号生成和双口RAM子模块。该设计可有效解决数据缓冲和同步问题。
2026-07-06 13:51:15
276
原创 FPGA入门中高级项目 雷达信息处理及Verilog代码
本文介绍了一个基于FPGA的雷达脉冲压缩信号处理开源项目。文章首先阐述了雷达信号处理中脉冲压缩技术的原理,包括其与匹配滤波、相关接收的关系,以及如何通过宽脉冲发射和信号处理实现高分辨率。随后详细解析了该项目的Verilog实现,包括顶层模块设计、复数FIR滤波器实现和希尔伯特变换模块等核心代码。项目采用MATLAB进行仿真验证,通过FPGA实现了雷达回波信号的匹配滤波处理。该开源项目为FPGA开发者提供了雷达信号处理算法实现的参考范例,有助于理解脉冲压缩这一雷达核心技术。文章还提供了相关理论资料链接和项目G
2026-07-04 02:29:54
654
原创 Verilog FFT 设计
本文介绍了快速傅里叶变换(FFT)算法的原理、硬件实现及验证。主要内容包括:1. FFT算法原理:通过奇偶分解减少计算量,采用蝶形运算单元结构;2. 硬件设计:采用流水线结构,设计蝶形运算模块,考虑定点数处理;3. Verilog实现:详细说明8点FFT的模块级联方法;4. 仿真验证:与Matlab计算结果对比,分析量化误差影响;5. 旋转因子生成:提供Matlab计算旋转因子的方法。文章展示了数字信号处理中FFT算法的硬件实现过程,并讨论了精度问题对计算结果的影响。
2026-07-02 23:01:16
513
原创 FPGA与STM32的SPI通信 - FPGA主 STM32从
最近项目需要从FPGA向STM32传输数据,选用SPI通信传输,传输数据为32位,。之前写了个stm32从机32位数据接收的,因个人能力不足没成功改成接收8位数据的代码,于是直接让从机接收32位数据,主机传8位数据,取第一组8位数据得了。具体SPI通信原理就不赘述了,网上很多大神有详细讲解过,此处只贴上自己项目关于SPI通信的代码作学习记录,给有需要的朋友参考。目的:fpga与stm32通过spi通信进行32位数据传输,fpga--主机,stm32--从机(SPI2端口)
2026-07-02 20:49:19
396
原创 FPGA 实战:基于 Verilog 的 ADC128S022 SPI 驱动设计与全流程仿真调试
本文详细介绍了基于Verilog的ADC128S022芯片SPI控制器设计与仿真验证。通过计数器驱动状态机的架构实现SPI模式0时序控制,包括通道配置、数据采集和并行输出功能。重点解决了仿真过程中的路径错误、数据截断、死循环等典型问题,并采用Python生成12位正弦波测试数据验证功能正确性。最终在Vivado环境下完成全流程开发,包括模块设计、Testbench搭建和波形验证,为FPGA数据采集系统开发提供了完整的SPI接口解决方案。文中总结的调试经验对FPGA初学者具有重要参考价值。
2026-07-01 18:46:04
502
原创 FIR 数字滤波器 --verilog设计实现
本文介绍了基于FPGA的7阶串行FIR低通滤波器设计与实现。采用直接型结构,系统时钟32MHz,采样率4MHz(32MHz/8阶)。设计流程包括:1)MATLAB设计巴特沃斯模拟滤波器(截止频率1MHz);2)使用FilterDesigner工具生成8位量化窗函数系数;3)Verilog实现串行乘累加结构,通过移位寄存器处理数据流;4)仿真验证,输入为0.5MHz+1.8MHz混合信号,输出成功滤除1.8MHz成分。该设计展示了FPGA实现数字滤波器的完整流程,重点说明了串行结构的时序控制与数据量化处理方法
2026-07-01 14:47:23
306
原创 【FPGA通信入门】完整2ASK调制解调工程(非相干+相干Costas锁相解调 超详细)(附源码)
本文介绍了一个基于FPGA实现的2ASK调制与双解调方案项目。系统包含标准2ASK调制(载波100kHz,码率25kbps)及两种解调方案:非相干解调(包络检波)采用整流+滑动滤波+判决的简易结构;相干解调则通过Costas锁相环实现I/Q正交混频的高精度解调。文章详细解析了各模块设计,包括M序列生成、载波ROM存储、乘法调制,以及解调端的整流、滤波和锁相环等关键电路。重点对比了两种解调方案的特点:非相干解调简单但抗噪性差,相干解调复杂度高但性能优越。项目完整复现了通信原理中的ASK技术,特别适合初学者理解
2026-06-30 15:36:20
416
原创 2023电赛H题|FPGA纯时域无FFT双频信号分离完整工程解析
本文提出了一种基于FPGA的双频混合信号分离方案,针对2023全国电子设计竞赛H题需求。该方案采用纯时域处理技术,通过去直流偏置、128点滑动均值低通滤波提取低频分量,结合DDS参考信号和256级延迟线锁相技术分离高频分量。系统支持正弦/三角波切换输出及0~180°数字移相功能,具有无FFT运算、全整数处理、资源占用低等优势。相比传统频域方案,该方法实时性更强、相位控制更精确,在竞赛测试中表现出优异的稳定性和分离效果。文中详细阐述了8个关键模块的设计原理和实现方法,包括ADC/DAC接口、滤波器、波形转换和
2026-06-29 17:52:32
251
原创 FPGA的GT高速收发器
GT高速收发器的IP Example已经具有相当完备的功能。后续操作只需要对该模板进行修改即可,若想要发送自己想要的序列,只需要改动FPGA1_GTH_Interface_GT_FRAME_GEN.v文件即可。若想要改变接受序列及后续操作,只需要改FPGA1_GTH_Interface_GT_FRAME_CHECK.v文件即可。有关时钟相关内容将在下一篇笔记在叙述强烈建议学习过程中,阅读完各种各样的博客,有了大致概念之后就开始阅读User Guide。
2026-06-28 17:06:41
194
原创 从 Python 神经网络到完整 FPGA RTL:MNIST 手写数字项目全自动化生成实战
摘要:本项目基于zynet工具链实现FPGA神经网络开发全流程自动化,解决传统开发中手写代码繁琐和软硬参数割裂问题。通过Python训练MNIST分类网络后,工具链自动完成权重定点量化、Verilog代码生成、Vivado工程创建等步骤,最终生成可直接上板的ZYNQ工程。方案包含五大自动化流程:1)Python训练生成权重;2)8bit定点量化转换;3)模板化生成分层RTL代码;4)自动创建含准确率统计的仿真环境;5)一键生成Vivado工程及AXI接口。测试显示硬件仿真准确率达99%,显著优于传统开发方式
2026-06-28 14:47:59
576
原创 LoongArch(龙架构) 指令集
摘要:LoongArch是龙芯自主设计的RISC指令集,包含32位(LA32)和64位(LA64)版本,具有32位定长指令、32个通用寄存器(含专用零寄存器和链接寄存器)及32个浮点寄存器。其指令格式分为9类,支持寄存器-寄存器和立即数操作,覆盖整数运算、访存、分支、浮点和系统指令五大类。特色包括优化的立即数构造指令、PC相对寻址,以及LSX/LASX向量扩展、LBT二进制翻译等可选模块。该架构采用经典RISC设计,兼具硬件实现高效性和软件生态兼容性。
2026-06-27 19:10:22
358
原创 [FPGA/VerilogHDL/Xilinx]AXI接口设计说明及参考
摘要 AXI(Advanced eXtensible Interface)是ARM AMBA协议中的高性能片内总线,采用5个独立通道(读/写地址、数据、写响应)实现低延迟、高吞吐传输。其特点包括: 单向通道:简化时序,减少延时; 握手机制:VALID/READY信号确保传输同步,VALID不依赖READY,避免死锁; 突发传输:支持FIXED/INCR/WRAP模式,地址自增需对齐4KB边界; 低功耗支持:定义节电模式握手协议; 错误处理:通过BRESP/RRESP反馈传输状态(如OKAY/SLVERR)。
2026-06-27 03:00:25
399
原创 Vivado HLS 完整语法大全(C/C++ 扩展 + 综合指令 + 接口 + 优化 + 数据类型 + 函数 / 循环 / 数组)
摘要:Vivado HLS在标准C/C++基础上扩展了硬件综合专用语法,主要包括:1)硬件位宽类型(ap_int/fixed/uint等);2)数据流FIFO(hls::stream);3)核心综合指令(#pragma HLS),涵盖接口协议(AXI)、循环优化(流水/展开)、数组分区、函数内联等;4)定点运算和位操作;5)模块化设计规范(DATAFLOW多函数流水)。特别注意:stream必须引用传递、禁止动态内存分配、循环变量推荐使用ap_uint类型,并通过合理使用ARRAY_PARTITION和PI
2026-06-26 22:16:21
256
原创 Vivado HLS AXI-Stream RGB 转灰度图像处理工程完整总结
本文介绍了一个基于Vivado HLS 2019.2的FPGA图像处理加速项目,实现了RGB图像转灰度并输出标准三通道RGB流的完整流程。项目采用AXI4-Stream接口和HLS原生hls::Mat数据结构,可封装为IP核直接集成到Vivado工程中。详细解析了工程文件结构、核心代码实现(包括AXI视频流转换、RGB-GRAY色彩空间转换)以及Testbench测试方法,并总结了开发过程中遇到的头文件路径、图片读取段错误等典型问题的解决方案。该项目为FPGA图像处理开发提供了完整的HLS实现范例,支持10
2026-06-26 21:07:41
315
原创 深入解析:高级项目——基于FPGA的串行FIR滤波器
本文介绍了在FPGA上实现基于汉明窗的32阶FIR低通滤波器的完整流程。首先阐述了FIR滤波器的基本原理和汉明窗的作用,通过MATLAB设计了截止频率10kHz的低通滤波器,并完成16位定点数系数量化。在Vivado中采用串行结构实现FIR滤波器,利用移位寄存器存储样本,ROM存储系数,并通过状态机控制乘累加运算。仿真测试采用5kHz和30kHz混合信号,结果显示30kHz成分被有效衰减(衰减比>5倍),5kHz信号完整保留(增益接近1),FFT频谱分析验证了滤波效果符合设计目标。该设计展现了FIR滤
2026-06-26 13:21:44
414
原创 MOS 器件物理基础梳理:从结构、I-V 特性到小信号模型
本文系统梳理了MOS管的核心知识框架,重点讲解了NMOS/PMOS的基本结构、阈值电压概念以及三个工作区(截止区、三极管区和饱和区)的电流特性公式。文章详细分析了跨导参数gm的计算方法及其三种等价形式,并阐述了沟道长度调制、体效应和亚阈值导电三大二级效应对器件性能的影响。最后介绍了小信号模型的建立方法和MOS二极管的有源电阻应用,为模拟电路设计提供了理论基础。全文通过物理场景对应公式推导,帮助读者建立清晰的学习脉络,建议初学者优先掌握饱和区核心公式和跨导特性。
2026-06-24 22:15:53
392
原创 FPGA 基于累加器的 FIR 滤波器原理与工程实例
本文介绍了基于累加器的串行FIR滤波器设计与实现。FIR滤波器通过卷积运算实现数字信号处理,传统并行结构资源消耗大。基于累加器的串行架构通过分时复用单个乘法器和累加器完成N次乘加运算,大幅降低资源占用。文章详细阐述了其工作原理、Verilog实现方法(包括移位寄存器、系数ROM、循环计数器等模块),并给出了8阶低通FIR的完整代码示例。该架构适用于低速、资源受限的FPGA应用,支持线性相位优化(对称系数减半运算)。文章还对比了并行与串行FIR的优缺点,并提出了多周期流水线等改进方案。
2026-06-24 18:10:20
628
原创 Vivado HLS 基于 hls_video 库的 RGB 图像灰度化实现详解
本文介绍了基于Xilinx Vivado HLS工具实现的RGB转灰度图像处理方案。设计采用AXI-Stream视频流接口,通过"流-矩阵-流"架构处理:首先将输入流转换为HLS Mat矩阵,调用CvtColor函数完成RGB到灰度转换,再将灰度图像转回三通道格式后输出为流数据。文章详细解析了头文件和源代码实现,包括数据类型定义、函数调用流程以及格式转换的必要性。该设计支持最大1080P分辨率,具有硬件友好、接口标准化等特点,可满足实时视频处理需求,最后通过习题巩固了关键知识点。
2026-06-23 22:39:54
271
原创 Vivado HLS 调用 OpenCV 完全指南:语法详解 + 工程实战 + 踩坑总结
本文系统介绍了FPGA图像处理中HLS内置OpenCV库的使用方法。主要内容包括:hls_opencv库的基础认知、核心语法、工程搭建流程,以及Sobel边缘检测的完整实现示例。重点讲解了hls::Mat数据结构、常用图像处理函数、AXI流接口转换等关键技术,并提供了性能优化技巧和常见问题解决方案。该库让开发者能以类似软件OpenCV的语法开发硬件加速算法,显著提升FPGA图像处理开发效率。文章附带可直接运行的代码,适合FPGA视觉开发者快速上手。
2026-06-23 19:42:19
611
原创 高速 AD/DA 实验
本文介绍了基于FPGA的高速AD/DA转换实验,使用ADI公司的AD9708(DA芯片)和AD9280(AD芯片)实现模数/数模转换。实验通过FPGA产生正弦波数字信号,经DA转换后输出模拟信号,再通过AD转换回数字信号,利用ILA观察波形变化。硬件设计包括AD/DA模块电路连接,程序设计采用ROM存储波形数据,通过Verilog代码实现数据发送与接收。实验成功验证了AD/DA转换功能,示波器和ILA分别观测到正确的正弦波模拟信号和数字信号。该实验展示了FPGA在高速信号处理中的应用,为模拟与数字系统间的信
2026-06-23 15:27:00
574
原创 FPGA 图像系统多时钟域设计方案总结
本文介绍了一种基于FPGA的图像处理系统架构,该系统由图像采集、DDR3缓存和VGA显示三大核心模块组成。系统采用单路50MHz晶振输入,通过内部PLL分频/倍频生成多路工作时钟(25MHz/50MHz/75MHz/100MHz/200MHz),各模块独立时钟域运行,通过异步FIFO实现跨时钟域数据同步。重点阐述了时钟域划分方案、DDR3高速缓存与显示模块的时钟适配策略,以及采用异步FIFO解决亚稳态问题的优势。该系统具有单晶振简化电路、模块化设计、稳定数据传输等特点,特别适用于720P@60Hz图像处理应
2026-06-23 14:13:07
246
原创 HLS设计流程shift_led实验
本文展示了使用HLS(高层次综合)工具实现流水灯硬件设计的完整流程。设计包含三个主要部分:1)HLS源码(flowingLights.h/cpp)实现4位LED循环移位效果,通过SPEED参数控制移位速度;2)C仿真测试验证功能正确性,输出显示LED按1110→1101→1011→0111→1110的循环模式变化;3)硬件实现包括将生成的Verilog模块(flowingLights.v)集成到FPGA顶层设计(TANG_FPGA_Demo_Top.v),配合约束文件(.cst/.sdc)完成引脚分配和时序
2026-06-22 22:02:39
61
原创 Yield-OS 多线程调度 ECALL 死循环、MRET 返回异常、DiffTest 刷屏、调度卡死 全套终极排坑日志
本文详细复盘了在RISC-V32E自制处理器上实现协作式多线程调度时遇到的典型陷阱问题及解决方案。核心问题表现为系统启动后陷入ECALL指令的无限重入死循环,经排查发现是RISC-V架构特性所致:ECALL指令执行后mepc寄存器会保存当前指令地址,若未手动+4跳过,MRET返回后将重复执行ECALL形成死循环。修复后系统成功运行但出现高频调度日志刷屏,经分析实为用户态延时循环与正常线程调度的混合表现,非系统故障。最终通过调整mepc处理、优化延时参数,实现了稳定的AB线程交替输出。该案例揭示了RISC-V
2026-06-22 21:34:38
434
原创 数字电子技术第一章完整精讲
本文系统梳理数字电路基础知识点,涵盖数制转换(二/八/十六进制互转、十进制转换)、二进制算术运算(无/有符号数、补码溢出判断)、编码系统(BCD、格雷码、ASCII)和逻辑运算(基本/复合逻辑、函数表示方法)。通过分类讲解核心规则,配套典型例题与海量练习题(含参考答案),适用于数字电路入门学习、期末复习及技术博客分享。重点包括补码运算的溢出判定、BCD码的8421/余3码转换、格雷码特性及逻辑函数的四种表示方法(真值表、表达式、逻辑图、波形图),最后以三人表决电路等实例强化应用能力。
2026-06-21 20:06:46
273
原创 FPGA实现串口UART:从零手写Verilog,一文吃透收发模块+调试避坑
这篇文章详细介绍了FPGA实现UART串口通信的全过程,主要内容包括: UART串口原理:异步通信、8N1帧格式、波特率计算等基础知识。 模块化设计:将系统分为波特率发生器、发送模块和接收模块三部分。 Verilog代码实现:提供完整代码及详细注释,包括波特率分频、数据收发处理等核心功能。 调试方法:引脚约束、环回测试等板级验证步骤。 常见问题:分析乱码、无响应等典型问题的解决方案。 该设计基于50MHz时钟和115200波特率,采用16倍采样提高稳定性,代码可直接用于大多数FPGA开发板。文章强调通过手写
2026-06-21 16:37:51
436
原创 高层次综合器(Vivado HLS)的设计流程
本教程介绍了使用Vivado HLS工具进行高层次综合(HLS)的完整流程。主要内容包括:首先通过图形界面创建FIR滤波器项目,执行C代码验证、RTL综合与验证、IP封装等步骤;然后演示了如何使用Tcl脚本自动化该流程;最后通过创建多个解决方案,展示了如何应用优化指令(如展开循环、数组分区等)来改进设计性能。实验比较了不同解决方案在延迟和资源利用率上的差异,最终实现了一个高吞吐量的FIR滤波器设计。教程详细介绍了GUI各功能区域的使用方法,并强调了设计分析和指令优化的重要性。
2026-06-21 14:42:46
403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅