赞
踩
1.订阅本教程用户可以免费获得本博任意2个(包括所有免费专栏和付费专栏)博文对应代码;
(私信博主给出代码博文的链接和邮箱)
2.本FPGA课程的所有案例(部分理论知识点除外)均由博主编写而成,供有兴趣的朋友们自己订阅学习使用。未经本人允许,禁止任何形式的商业用途;
3.本课程除了介绍常见的verilog语法之外,我们更侧重于各种实例的完整设计介绍。包括IP核的使用,各种算法的处理技巧。并且从通信,控制,图像,语音,深度学习等五个FPGA最常用的领域介绍了相关案例,如果对于某个较为复杂的案例,初学者无法正确实现,可私信博主获得完整工程代码。同时,本教程也涵盖了几个比较经典的案例:
基于FPGA的DDS直接数字频率合成器;
图像的读取,滤波,边缘提取,腐蚀,膨胀、人脸检测,交通灯检测等;
通信中的QPSK/QAM调制解调,RS,卷积,维特比编译码;
控制器中的PID控制器,自适应PID等;
人工智能中的基于CNN的mnist手续数字识别系统等。
4.在学习过程中,如果有疑问或者问题,可以在对应课程的下方进行留言,博主晚上会统一回复。
5.具体事项如下:
★读者学习过程中的一些问题总结——不定期更新【2024-03-11更新】
★基础入门
1. FPGA开发软件安装
★Verilog HDL学习教程之基础语法
14.建立时间、保持时间以及vivado时序report的参考使用
以上15个课程,我们对Verilog的基础操作有了初步的认识,在本教程的后续章节,将通过100个实例,对Verilog进行深入学习,同时对一些更高级的语法做同步的讲解。
★Verilog HDL简单算法案例解析与分析(70例)
1.基于FPGA的串行FIR滤波器设计与实现(含完整FPGA工程文件和matlab文件)~免费试读~
2.基于vivado核的NCO正弦余弦发生器设计与实现(含完整FPGA工程文件)
3.基于vivado核的乘法器设计与实现(含完整FPGA工程文件)
4.基于vivado核的FIFO设计与实现(含完整FPGA工程文件)
5.基于vivado核的ROM设计与实现(含完整FPGA工程文件和matlab文件)
6.基于vivado核的双口RAM设计与实现(含完整FPGA工程文件)
7.基于verilog的计数器设计与实现(含完整FPGA工程文件)
8.基于verilog的分频器设计与实现(含完整FPGA工程文件)
9.基于vivado核的时钟管理器设计与实现(含完整FPGA工程文件)
10.基于Verilog的复数乘法器设计与实现(含完整FPGA工程文件)
11.基于vivado核的除法器设计设计与实现(含完整FPGA工程文件)
12.基于vivado核的复数乘法器设计与实现(含完整FPGA工程文件)
13.基于vivado核的CIC滤波器设计与实现(含完整FPGA工程文件)
14.基于vivado核的FIR滤波器设计与实现(含完整FPGA工程文件)
15.基于vivado核的Cordic算法设计与实现(含完整FPGA工程文件)
通过以上15个小例子的学习,我们初步掌握了常用的IP核使用方法,以及其中部分简单案例的verilog开发过程。在后续章节,我们将学习涉及多个模块的FPGA算法开发。
16.通过乘法器和ROM开发低延迟除法器(含完整FPGA工程文件)
17.通过乘法器和ROM开发y=k*exp(x/2000)形式的数学公式(含完整FPGA工程文件)
18.通过ROM开发低延迟开根号计算(含完整FPGA工程文件)
19.通过乘法器实现阶乘运算(含完整FPGA工程文件)
20.通过generate实现快速实现多路乘法器(含完整FPGA工程文件)
21.通过计数器实现一个简单的数字时钟(含完整FPGA工程文件)
22.基于FIFO核的可控任意长度延迟器设计(含完整FPGA工程文件)
23.基于FIFO核的跨时钟域数据传输(含完整FPGA工程文件)
24.通过cordic核计算复数的相位(含完整FPGA工程文件)
25.通过NCO核和除法器实现tan(x)计算(含完整FPGA工程文件)
26.在FPGA中通过verilog来实现小数的基础运算(含完整FPGA工程文件)
27.通过Verilog实现双口RAM乒乓结构(含完整FPGA工程文件)
28.基于FPGA的DDS直接数字频率合成器之一——原理介绍(含完整FPGA工程文件)
29.基于FPGA的DDS直接数字频率合成器之二——Verilog开发(含完整FPGA工程文件)
30.基于FPGA的DDS直接数字频率合成器之三——借助MATLAB进行频率精度分析(含完整FPGA工程文件)
通过以上15个小例子的学习,我们初步掌握了常用的IP核的组合使用方法以及一些基础的算法课程方法,最后通过DDS这个经典案例,总结了FPGA项目的开发过程和精度分析方法。在后续课程中,我们将分别从通信信号处理,图像处理,语音信号处理,智能控制以及人工智能等多个方面进一步学习FPGA的开发。
31.通信案例1——基于FPGA的ASK调制信号产生(含完整FPGA工程文件)
32.通信案例2——基于FPGA的FSK调制信号产生(含完整FPGA工程文件)
33.通信案例3——基于FPGA的BPSK调制信号产生,通过matlab测试星座图(含完整FPGA工程)
34.通信案例4——基于FPGA的QPSK调制信号产生,通过matlab测试其星座图(含完整FPGA工程)
35.通信案例5——基于FPGA的16QAM调制信号产生,通过matlab测试其星座图(含完整FPGA工程)
36.通信案例6——基于vivado核的FFT傅里叶变换开发以及verilog输入时序配置详解,通过matlab进行辅助验证(含完整FPGA工程)
37.通信案例7——基于FPGA的FFT,IFFT傅里叶变换和逆变换(含完整FPGA工程)
38.通信案例8——基于FPGA的串并-并串数据传输(含完整FPGA工程)
39.通信案例9——基于FPGA的交织-解交织数据传输(含完整FPGA工程)
40.通信案例10——基于FPGA的简易OFDM系统verilog实现(含完整FPGA工程)
41.图像案例1——通过verilog读取图片(含完整FPGA工程)
42.图像案例2——通过verilog实现图像二值化处理,通过MATLAB进行辅助验证(含完整FPGA工程)
43.图像案例3——通过verilog实现图像sobel边缘提取,通过MATLAB进行辅助验证(含完整FPGA工程)
44.图像案例4——基于FPGA的图像中值滤波verilog实现,通过MATLAB进行辅助验证(含完整FPGA工程)
45.图像案例5——基于FPGA的图像均值滤波verilog实现,通过MATLAB进行辅助验证(含完整FPGA工程)
46.图像案例6——基于FPGA的图像高斯滤波verilog实现,通过MATLAB进行辅助验证(含完整FPGA工程)
47.图像案例7——基于FPGA的RGB图像转化为灰度图实现,通过MATLAB进行辅助验证(含完整FPGA工程)
48.图像案例8——基于FPGA的RGB图像转化为HSV图像的实现,通过MATLAB进行辅助验证(含完整FPGA工程)
49.控制案例1——基于FPGA的PID控制器verilog实现(含完整FPGA工程)
50.控制案例2——基于FPGA的PD控制器verilog实现(含完整FPGA工程)
51.控制案例3——基于FPGA的PWM波形产生verilog实现(含完整FPGA工程)
52.语音案例1——基于能量检测的语音信号端点检测FPGA实现(含完整FPGA工程)
53.语音案例2——基于FIR低通滤波器的语音信号降噪FPGA实现(含完整FPGA工程)
54.深度学习案例1——基于FPGA的CNN卷积神经网络之理论分析和FPGA模块划分
55.深度学习案例2——基于FPGA的CNN卷积神经网络之ReLu激活层verilog实现(含完整FPGA工程)
56.深度学习案例3——基于FPGA的CNN卷积神经网络之池化层verilog实现(含完整FPGA工程)
57.深度学习案例4——基于FPGA的CNN卷积神经网络之卷积层verilog实现(含完整FPGA工程)
58.深度学习案例5——基于FPGA的CNN卷积神经网络之图像缓存verilog实现(含完整FPGA工程)
59.深度学习案例6——基于FPGA的CNN卷积神经网络之整体实现(含完整FPGA工程)
60.深度学习案例7——基于FPGA的CNN卷积神经网络之testbench编写以及CNN仿真测试(含完整FPGA工程)
通过以上30个小例子的学习,我们初步掌握了FPGA在通信信号处理,图像处理,语音信号处理,智能控制以及人工智能等多个领域的开发方法。在后续10个入门课程中,我们将介绍FPGA硬件开发板的使用,常用硬件调试方法,各类接口使用,并选择上述30个案例(31~60)中的部分经典例子进行硬件调试。
61.硬件开发板调试1——初识FPGA开发板,通过verilog控制LED灯,数码管等(含完整FPGA工程)
62.硬件开发板调试2——使用ila核在线调试,ila数据保存,读取,matlab辅助分析(含完整FPGA工程)
63.硬件开发板调试3——vio虚拟IO核的应用(含完整FPGA工程)
64.硬件开发板调试4——通过vio扩充ila数据采集种类(含完整FPGA工程)
65.硬件开发板调试5——基于RS232的串口通信,由FPGA发射数据到PC(含完整FPGA工程)
66.硬件开发板调试6——基于FPGA的UDP网口通信和数据传输(含完整FPGA工程)
67.硬件开发板调试7——基于HDMI接口的彩色显示器图像显示实验(含完整FPGA工程)
68.硬件开发板调试8——通过ila在线调试DDS信号发生器(含完整FPGA工程)
69.硬件开发板调试9——通过ila在线调试DDS,并通过HDMI接口在显示器上显示正弦波形(含完整FPGA工程)
70.硬件开发板调试10——vivado程序固化详细操作步骤(含完整FPGA工程)
通过以上10个小例子的学习,我们初步掌握了FPGA开发板的一些调试技巧。从下一个课程开始,我们将介绍一些难度略微大点的案例,进一步巩固前面所学习的FPGA课程内容。
★Verilog HDL中级案例解析与分析(25例)
71.基础操作1——Xilinx原语学习及应用1(含完整FPGA工程)
72.基础操作2——Xilinx原语学习及应用2(含完整FPGA工程)
73.基础操作3——基于FPGA的Vivado功耗估计(含完整FPGA工程)
74.基础操作4——基于Vivado的FPGA布局布线分析(含完整FPGA工程)
75.通信案例1——基于m序列伪码匹配的直接序列扩频解扩通信系统FPGA实现(含完整FPGA工程)
76.通信案例2——基于FPGA的滑动窗口累加器实现(含完整FPGA工程)
77.通信案例3——数据组帧,帧同步、拆帧(含完整FPGA工程)
78.通信案例4——基于FPGA的RLS自适应滤波算法实现(含完整FPGA工程)
79.通信案例5——基于FPGA的QPSK调制解调系统实现(含完整FPGA工程)
80.通信案例6——基于costas环的QPSK解调的FPGA实现(含完整FPGA工程)
81.接口案例1——基于FPGA的SPI接口实现(含完整FPGA工程)
82.接口案例2——通过串口从PC发射坐标指令到FPGA,将该坐标控制HDMI显示屏中物体的位置(含完整FPGA工程)
83.接口案例3——基于FPGA的AGC自适应增益控制系统开发(含完整FPGA工程)
84.仪器设备1——使用示波器观察DDS输出正弦信号时域波形(含完整FPGA工程)
85.仪器设备2——使用频谱仪观察DDS输出正弦信号频谱(含完整FPGA工程)
86.仪器设备3——使用MATLAB控制E4438C信号发生器产生不同类型的测试信号(含完整FPGA工程)
87.加解密1——基于FPGA的AES加解密算法verilog实现(含完整FPGA工程)
88.编译码1——基于FPGA的HDB3编译码verilog实现(含完整FPGA工程)
89.编译码2——使用vivado核实现RS信道编译码(含完整FPGA工程)
90.机器视觉1——通过FPGA实现基于颜色模型的交通灯检测,使用MATLAB辅助测试(含完整FPGA工程)
91.机器视觉2——通过FPGA实现基于肤色模型的人脸检测,使用MATLAB辅助测试(含完整FPGA工程)
92.图像处理1——基于FPGA的图像形态学膨胀处理实现,使用MATLAB辅助测试(含完整FPGA工程)
93.图像处理2——基于FPGA的图像形态学腐蚀处理实现,使用MATLAB辅助测试(含完整FPGA工程)
94.机器学习1——基于FPGA的SVM支持向量机二分类系统实现之理论和MATLAB仿真(含完整FPGA工程)
95.机器学习2——基于FPGA的SVM支持向量机二分类系统实现之Verilog编程设计(含完整FPGA工程)
通过以上25个小例子的学习,我们进一步掌握了FPGA开发方法。学习到现在,我想大家应该初步掌握了FPGA的常规设计方法,最后我们将通过5个难度略大的案例作为本课程的最终学习。
★Verilog HDL高级案例解析与分析(5例)
96.控制案例1——基于FPGA的自适应PID控制器verilog实现(含完整FPGA工程)
97.信道编译码1——基于FPGA的卷积编码维特比译码verilog实现,MATLAB辅助验证(含完整FPGA工程)
98.数据处理1——基于FPGA的数据线性插值verilog实现,MATAB辅助验证(含完整FPGA工程)
99.数据处理2——基于DA分布式算法的FIR滤波器FPGA实现(含完整FPGA工程)
100.深度学习1——基于CNN卷积神经网络的手写数字识别Verilog实现,使用mnist手写数字数据库(含完整FPGA工程)
通过以上5个例子的学习,我们学会了较为复杂的FPGA系统设计,包括控制器,通信编译码,深度学习,滤波器以及数据插值等最为常用的FPGA系统设计。同时我们也完成了FPGA入门100例的全部课程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。