fpga学习
文章平均质量分 77
ThreeYear_s
绿泡泡id:Thr2eYears 欢迎找我咨询交流fpga、嵌入式相关设计指导。
咸id:上岸就娶媳妇
学习方向:MATLAB simulink进行电力电子场景仿真,使用DSP+FPGA+ARM进行软件设计,同时画出4层板工业级控制板卡。
感恩遇见,感恩帮助过得每一个人。
持续学习ing,希望每天都可以进步!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PDS联合modelsim仿真报错问题解决记录:GTP_DRM9K.v(771): (vopt-7063) Failed to find ‘GRS_INST‘ in hierarchical name
本文解决了紫光同创PDS联合Modelsim仿真ROM IP核生成正弦波时出现的GRS_INST文件缺失问题。关键解决方案是在测试文件中添加原语GTP_GRS GRS_INST(.GRS_N (1'b1));。同时强调ROM的dat数据文件需严格遵循官方模板格式,并提供了正弦波ROM的顶层模块实现代码,包括时钟控制、地址生成和ROM实例化。测试文件模板展示了如何驱动时钟、复位信号并观测输出波形,确保仿真能覆盖完整的ROM地址循环。该方案成功解决了仿真优化失败的问题。原创 2025-10-27 10:04:22 · 364 阅读 · 0 评论 -
基于FPGA实现CRC校验码算法(以MODBUS中校验码要求为例)verilog代码+仿真验证
本文介绍了基于FPGA实现MODBUS协议中CRC校验码的verilog设计与验证方法。首先通过在线CRC计算工具确定MODBUS协议参数(多项式X16+X15+X2+1,初始值FFFF),分析了输入/输出数据反转对结果的影响,并给出了不同反转模式下的测试案例(如输入1234时,无反转变换输出6CB6,输入反转输出30E3)。随后利用在线代码生成工具自动生成并行计算的verilog代码,该代码采用组合逻辑实现,无计算延迟。通过工具生成的核心代码实现了16位数据输入和16位CRC校验输出的功能,为MODBUS原创 2025-09-05 17:03:08 · 1495 阅读 · 0 评论 -
基于FPGA+DSP数据采集平台DMA应用学习
本文探讨了基于FPGA+DSP架构的数据采集平台中DMA技术的应用。文章首先分析了DMA的工作原理,强调其通过独立控制器实现外设与内存间直接数据传输,从而解放CPU资源的优势。针对FPGA+DSP系统,指出DMA的必要性在于:1)解决FPGA资源占用与效率矛盾;2)满足高带宽需求;3)实现与DSP的标准协作。文章详细对比了DSP直接读取与DMA传输的效率差异,并梳理了FPGA端需掌握的关键技术,包括FIFO缓存、EMIF接口实现、跨时钟域处理等。最后总结了开发所需的技能树,为构建高效数据采集系统提供技术参考原创 2025-09-02 14:00:36 · 1475 阅读 · 0 评论 -
基于FPGA+DSP数据采集处理平台的搭建
本文介绍了基于FPGA+DSP的数据采集处理平台搭建方案,重点探讨了FPGA与DSP之间的通信实现。项目采用EMIF总线作为通信方案,通过分析EMIF硬件接口和通信协议,详细说明了地址线、数据线及关键控制信号的作用,以及读/写建立、选通和保持周期的时序要求。该方案利用FPGA进行数据采集和逻辑控制,DSP负责高性能计算,通过EMIF实现高速数据传输,充分发挥两者优势。后续将通过仿真验证时序后上板测试,为构建高效实时数据处理平台奠定基础。原创 2025-09-01 22:26:09 · 2660 阅读 · 0 评论 -
关于FGPA的一个邪修小秘密--------intel家的FPGA芯片绝了
摘要:FPGA项目中EP4CE6F17芯片资源占用达99%时,发现可与同封装的EP4CE10F17完美替换,仅需修改型号重新配置引脚即可获得额外4K逻辑资源。实际上这两款芯片采用相同内部die,经上板验证成功实现资源扩展。类似方案也适用于赛灵思的AX301和AX4010芯片。这种替换方式为资源紧张的设计提供了灵活解决方案。原创 2025-09-01 15:37:58 · 351 阅读 · 0 评论 -
基于FPGA的DDR3读写实验学习
本文基于FPGA实现DDR3读写实验,重点介绍了DDR3的基本原理和MIG IP核的使用方法。DDR3作为双沿触发的同步动态存储器,相比传统SDRAM具有更高的读写速度。实验通过Xilinx MIG IP核实现对NT5CC128M16IP-DI芯片的读写控制,详细分析了用户接口信号、命令写入时序、读写数据时序等关键点。实验方案包括数据写入、读取和校验三个主要环节,通过LED显示验证结果。文章还探讨了DDR3读写过程中数据断续现象的可能原因,并指出该技术在大数据量场景下的优势。整体而言,实验为FPGA数据存储原创 2025-08-29 15:06:59 · 1379 阅读 · 0 评论 -
基于FPGA的PID算法学习———实现PID比例控制算法
本文介绍了基于FPGA的PID算法实现,包括PID控制原理及其Verilog代码实现。PID算法由比例(P)、积分(I)和微分(D)三部分组成,采用闭环控制方式逐步逼近目标值。文中详细分析了PID算法的公式推导,并提供了完整的Verilog代码实现,包括PID、PI和P三种控制模式的模块设计,其中PID模块通过误差计算和补偿值调节输出。代码采用时序逻辑设计,包含参数可调的增益系数(K_p、K_i、K_d),适用于FPGA的硬件实现。通过增量式PID算法,系统能够快速响应并减小稳态误差,为嵌入式控制系统提供了原创 2025-06-10 18:06:36 · 985 阅读 · 0 评论 -
基于FPGA的PID算法学习———实现PI比例控制算法
本文介绍了PID控制算法的基本原理与实现,重点分析了比例(P)和比例积分(PI)控制在FPGA中的仿真验证。首先阐述了PID闭环控制的概念,其中P环节起主要作用,I环节消除稳态误差。随后给出了PI环控制的算法公式和Verilog实现代码,包括误差计算、补偿值生成和输出更新等关键步骤。通过搭建包含P控制器和PI控制器的测试平台,对比了两者的动态响应特性。仿真结果显示,在目标值设置为100时,PI控制能够更快地收敛且无稳态误差,验证了积分环节的有效性。该研究为数字PID控制器的硬件实现提供了参考方案。原创 2025-06-10 17:03:58 · 1069 阅读 · 0 评论 -
基于FPGA的PID算法学习———实现P比例控制算法
本文介绍了基于FPGA实现的PID控制算法中的P比例控制部分。通过分析PID算法的基本原理,重点阐述了P比例控制的公式实现,包括误差计算(e_t)、补偿值(u_t)和输出值(Pid_out)。文中给出了FPGA仿真验证代码,展示了不同比例系数Kp(1.25至0.0789)的控制效果仿真波形图。结果表明,随着Kp值的减小,系统响应趋于平稳。该研究为后续实现完整的PID算法(加入积分和微分环节)奠定了基础。原创 2025-06-09 10:24:34 · 494 阅读 · 0 评论 -
OFDM接收机学习-第二章 符号同步模块FPGA的实现
第一章根据短序列的周期性以及延迟相关并长度保持算法进行了判断新数据分组到来的判断。输出的结果就是根据输入给与一个大概位置的有效标志,之后更加精确的判断交给后面的其他模块。因为本实验只使用了一个载波,所以不需要进行载波同步,直接进入符号同步,符号同步会充分利用短序列,燃烧最后价值。消除空闲间隔,输出长序列以及有效数据。理解教材公式,做好数据控制,验证数据计算。实际上板需要结合实际更新阈值等数据。代码参考教材:基于xilinx FPGA的OFDM通信系统基带设计。原创 2025-01-13 16:12:13 · 1373 阅读 · 0 评论 -
OFDM接收机学习-第一章 分组检测模块FPGA的实现
ofdm发射机信号最终是发出来了2路8位的时域信号,分别是8位实部和虚部。最终的话通过板子验证发射机与接收机之间的正确通信,因此涉及到不同时钟域作用下的信号首先就要考虑信号的同步问题。如何在有噪声的情况下基本正确找到帧头也就是前导码,正确找到前导码也就意味着正确找到了数据域,才能完成两个时钟域之间的正常通信。理解教材公式,做好数据控制,验证数据计算。实际上板需要结合实际更新阈值等数据。原创 2025-01-11 15:30:49 · 1559 阅读 · 0 评论 -
CPLD入门-Quartus-图形化编程-LED骑士之光效果
在这个里程碑中,您将使用 CPLD 和6个 LED 构建骑士之光效果。系统概览如图 2.1 所示。开始使用 EPM240 CPLD.创建中等复杂度的可重用模块。熟悉多种设计输入方法,原创 2024-11-24 16:42:18 · 460 阅读 · 0 评论 -
FPGA学习-RGB LCD显示正弦波
板子:正点原子达芬奇的FPGA开发板,后续FPGA学习硬件都是基于该开发板,软件环境基于vavido和modelsim完成显示屏算是一个比较常见的功能模块,最开始接触是一种长方形的模块,比较low像外面超市那种循环播放的红色字幕的屏幕。后来在接触就是oled屏幕,当时32学习这个屏幕也是主要围绕通信协议以及封装函数,显示都是直接调用封装好的函数,本身没有涉及太多的逻辑。今天来看看这个板卡配套的大屏幕的工作流程吧,了解屏幕的基本参数,通信原理以及图形显示等等。原创 2024-11-04 17:04:17 · 1466 阅读 · 0 评论 -
OFDM学习-IP核学习-FIFO IP核和FFT IP核在vavido中的配置以及使用
记录一下OFDM学习中遇到的ip核使用方法,个人之前主要用Quatus,之前用ip核也比较少,记录一下配置过程吧以及一些参数的含义,避免我忘记,个人自用,有问题欢迎指出。记录一下东西能够让人心静下来,正处于秋招这个烦躁的时间点,希望一切能够有个好的结局吧。原创 2024-10-12 16:52:06 · 1223 阅读 · 0 评论 -
OFDM学习-通过共轭配对实现IFFT输出虚部为零-输出实部信号-避免后续DA转化后进行的操作
正常来讲,OFDM发射机中,经过IFFT输出的两路信号分别是实部信号和虚部信号,完成基本的信号处理后需要进行DA转换,分别对cos和相差90度相位的cos相乘后进行信号叠加,进而完成信号发射的基本形式。本文是通过处理IFFT的输入,利用共轭的基本性质,最后使得IFFT的虚部信号输出基本为0,实际仿真得出虚部信号在(FE~01)之间,基本满足。提示:以下是本篇文章正文内容,下面案例可供参考共轭这个处理手段能够减少后面的一定操作,如果需要,可以简化整体的一个流程。原创 2024-10-12 10:22:16 · 783 阅读 · 0 评论 -
Quatus软件Verilog调用同步FIFO ip核步骤
FIFO(First In First Out,即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写方式。与 ROM 或 RAM 的按地址读写方式不同,FIFO 的读写遵循“先进先出”的原则,即数据按顺序写入 FIFO,先被写入的数据同样在读取的时候先被读出,所以 FIFO存储器没有地址线。FIFO有一个写端口和一个读端口外部无需使用者控制地址,使用方便。FIFO就是如果两个人同频,那么你们永远都不会走散,我的爱意先进先出,但是存满就会表达爱意哦~原创 2024-06-01 16:52:44 · 768 阅读 · 0 评论 -
Quatus软件Verilog调用PLL ip核步骤
PLL(Phase Locked Loop,即锁相环)是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望时钟,实际上,即使不想改变输入到 FPGA 时钟的任何参数,也常常会使用 PLL,因为经过 PLL 后的时钟在抖动(Jitter)方面的性能更好一些。Altera中的PLL是模拟锁相环,和数字锁相环不同的是模拟锁相环的优点是输出的稳定度高、相位连续可调、延时连续可调;缺点是当温度过高或者电磁辐射过强时会失锁(普通环境下不考虑该问题)原创 2024-06-01 15:32:27 · 2153 阅读 · 0 评论 -
FPGA Verilog 串行转并行(1位-16位)带tb
可以通过仿真码字不易 留下你的足迹!全部代码开源原创 2023-12-07 11:43:30 · 326 阅读 · 1 评论 -
FPGA Verilog 实现串口发送任意字节数据(8的倍数)已通过上板验证支持常用波特率
/ ** 功能 : 1、基于FPGA的串口多字节发送模块;// 2、可设置一次发送的字节数、波特率BPS、主时钟CLK_FRE;// 3、UART协议设置为起始位1bit,数据位8bit,停止位1bit,无奇偶校验(不可在端口更改,只能更改发送驱动源码);// 4、每发送1次多字节后拉高指示信号一个周期,指示一次多字节发送结束;// 5、数据发送顺序,先发送低字节、再发送高字节。如:发送16’h12_34,先发送单字节8’h34,再发送单字节8’h12。原创 2023-11-19 12:15:38 · 1613 阅读 · 4 评论 -
Verilog 实现CRC_16(DNP)协议校验码已通过仿真
CRC校验(循环冗余校验)小知识CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。NAME:参数模型名称。WIDTH:宽度,即CRC比特数。POLY:生成项的简写,以16进制表示。原创 2023-11-19 11:51:55 · 1169 阅读 · 7 评论 -
Verilog问题求助:采样信号与被采样信号之间的相位差随机 (场景:2个CPLD开发板之间的曼彻斯特编码与译码)应该用什么思路进行解决?
开发板B进行曼彻斯特译码。开发软件:quartus II 语言:Verilog 译码时钟与数据来源之间的相位差随机,不稳定,导致译码错误。原创 2023-07-11 16:21:42 · 342 阅读 · 0 评论
分享