学习 FPGA ,先要有数电知识,最好有点C语言,,学好硬件描述语言, verilog 或者vhdl。在有这些基础上,做一些小的模块不断积累。这里不再赘述。
下面介绍一下关于FPGA学习过程中的一些理论知识。
1、信号处理——信号与系统、数字信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应 滤波器 原理、雷达信号处理。
2、接口应用——如: UART 、S PI 、IIC、 USB 、 CAN 、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G 以太网 接口)、SATA、光纤、DisplayPort。
3、 无线通信 ——信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码。
4、 CPU 设计——计算机组成原理、 单片机 、计算机体系结构、编译原理。
5、仪器仪表——模拟电子技术、高频电子线路、电子测量技术、智能仪器原理及应用。
6、控制系统——自动控制原理、现代控制理论、过程控制工程、模糊控制器理论与应用。
7、压缩、编码、加密——数论、抽象代数、现代编码技术、信息论与编码、数据压缩导论、应用密码学、音频信息处理技术、数字视频编码技术原理。
一切皆在FPGA之外。学习过程中慢慢发现,原来FPGA会涉及到那么多知识。选一个感兴趣的方向,深入研究一下。想要更上一层,数学和英语是不可避免的。
最好要学会使用 matlab ,设计FPGA算法的时候,很多时候都会用到MATLAB,比如CRC的系数矩阵、数字滤波器系数、各种表格和文本处理等。
最后,学好FPGA要有大量的实践。注意,数电的尽头是模电!