一月份有一些CSDNer私信问“FPGA基础知识”专栏后续会继续更新吗,为什么迟迟没有更新等,所以这里想说明的是,虽然专栏中目前的24篇博客已经把FPGA开发中的基础知识写完了,但是显然对于FPGA开发而言,还需要更多相关背景的知识才可能去胜任一个产品的研发工作。
比如对于图像视频开发,需要掌握一些MATLAB的基本使用方法,以及常用的图像增强算法、图像降噪算法、图像缩放算法、ISP图像信号处理器实现流程等等,才可能对整个产品有更深刻地理解;
比如对于数字信号处理,上学时候老师说了很多遍,大家也明白ADC和DAC的作用,那么对于ADC的选型,项目给定一个模拟信号范围,硬件上应该怎么通过分压或者运放调理到ADC的采样范围,采样频率应该选多少合适。有高档的项目会选择JESD204B接口,那么就需要懂协议的一些基本知识才可能调试通过;中档的项目用到LVDS接口,那么串并转换原语、SELECT IO IP核等也需要掌握;低档的项目可能SPI接口或者并口ADC等,数据采集以后需要一个系统FPGA做什么,ARM、DSP做什么,FPGA只是单纯做ADC采集还是需要后续FFT、FIR等数字信号处理,ARM和DSP需要做数字信号处理、还是收到FPGA做完的中间结果再带入校准表等进行ADC数据校准等,包括选不同的ADC接口需要的硬件支持是不同的,JESD204B接口需要GTX的支持,LVDS需要把FPGA一个BANK都做成1.8V电平,吞吐位宽也决定了板载DDR3内存颗粒的数量等等;
比如对于高速接口开发,典型地有万兆SFP光口,PCIE金手指等等,对于整个接口的一些协议还是必需要掌握,否则在调试时候你如何去定位问题,还有很多相关背景知识例如AXI总线、K码数据对齐等等,难以逐个列举;
比如对于FPGA进阶中时序约束,作为一名工程师应该更多地去了解XILINX各个系列器件的底层资源,当然这些也很难一两句话说明白,需要知道一些基本概念,结合不同的项目不断积累经验才能把这些做好等等;
而这些就是后续“FPGA基础知识”专栏的来源,笔者一面在“图像视频开发”、“数字信号处理”、“高速接口开发”、“时序约束进阶”专栏中结合具体实战项目从需求分析到编码调试,一面把前期必备的知识都在这个专栏里介绍清楚,因为自己也经历了从不懂到懂的过程,所以博客撰写起来更加通俗易懂,没有大学课本那种刻板理论说教,“FPGA基础知识”专栏前24篇博客也正是为“FPGA 20个例程”专栏打下了必要的基础,而“FPGA基础知识”专栏后续会围绕着“图像视频开发”、“数字信号处理”、“高速接口开发”、“时序约束进阶”四个专栏进行更多前期相关背景知识的介绍,这样在博客排版上看起来更加人性化吧。