通过利用业余时间在网上在线听明德扬潘老师的讲课,使我对FPGA技术有了一个较为全面和更加深入的认识和理解。使我在工作中运用FPGA技术实现信号处理算法方面更加得心应手了。基本上掌握了从MATLAB的Simulink浮点算法仿真到AlteraDspBuilder的面向实现的定点仿真,再到VHDL语言实现和时序仿真,最后到板级的SignalTap的时序检查,这一系列的通信算法开发流程。
第一步:学好硬件描述语言。
以夏宇闻那本书为教材,一般都要2到3个星期,有C语言基础入门更快,还要做一些练习,巩固语法。
第二步:针对一款硬件来学习,这一步非常重要,一般需要1~3个月
这个过程遇到的问题往往是最多的,因此要有恒心与耐力,遇到问题可以找老师或者上论坛求教.
第三步:融会贯通。
有了以上的基础,这时候就要看一个人的知识背景了,把你的专业与FPGA相结合,如果你数学比较好,就可以去做算法如果你通信方面比较好,就可以做通信方面的东西,如果你高频比较好,就可以做射频方面的东西,等等。
第四步:FPGA初学建议
FPGA发展到今天,SerDes(Serializer-Deserializer)基本上是标配了。从PCI到PCI Express, 从ATA到SATA,从并行ADC接口到JESD204, 从RIO到Serial RIO,…等等,都是在借助SerDes来提高性能。SerDes是非常复杂的数模混合设计,用户手册的内容只是描述了森林里面的一棵小树,并不能够解释SerDes是怎么工作的。SerDes怎么可以没有传输时钟信号?什么是加重和均衡?抖动和误码是什么关系?各种抖动之间有什么关系?本篇小文试着从一个SerDes用户的角度来理解SerDes是怎么设计的, 由于水平有限,一定有不够准确的地方,希望对刚开始接触SerDes的工程师有所帮助。
FPGA学习要多练习,多仿真,signaltapII是很好的工具,可以看到每个信号的真实值,建议初学者一定要自己多动手,光看书是没用的。关于英文文档问题,如果要学会Quartus II的所有功能,只要看它的handbook就可以了,很详细,对于IT行业的人,大部分知识来源都是英文文档,一定要耐心看,会从中收获很多的。
喜欢的小哥哥,小姐姐们麻烦给小编点个爱心赞!
入门视频教学链接:FPGA从入门到精通(小白零基础速学)明德扬【FPGA至简设计原理与应用】自学FPGA必备教程-手把手教你学FPGA编程配套开发板