如何学习FPGA

FPGA作为一种高新技术,由于其结构的特殊性,可以重复编程,开发周期较短,越来越受到电子爱好者的青睐,其应用已经逐渐普及到了各行各业。因此,越来越多的电子爱好者想尽快掌握这门技术进入该领域。

笔者从2007年初次接触并系统学习FPGA及工作后应用FPGA做产品至今已有7年的时间,初次接触学习FPGA时由于没有专业老师的指导,自己摸索学习FPGA走了很多的弯路。有过问题迎刃而解的快乐,也有过苦苦寻求结果和答案的痛苦历程,回想起自己学习FPGA的经历,从开始的茫然,到后来的疯狂看书,购买开发板,在开发板上练习各种FPGA实例,到毕业工作后用一直FPGA做产品,独立完成项目,一路走来,感受颇多。发觉学习FPGA只要选择正确的方法是有捷径可走的。笔者经常在FPGA相关技术论坛及FPGA技术交流QQ群解答初学者在学习过程中遇到的技术问题,发现很多初学者都是怀着浮躁的心态来学习FPGA,总是急于求成。在学习FPGA设计技术的过程中,虽然刚开始学习热情很高,但真正坚持下来一直到“学会”的却寥寥无几,除了学生个人毅力的因素外,另外一个重要的原因没有好的学习教程的指引和缺乏正确的学习方法的指导,原本FPGA的学习门槛相对于单片机来说就高了不少,再加上缺少手把手系列的教程资料和正确的学习方法,这就给初学者学习FPGA增添了更多的困难,很多初学者因为找不到入门的方法而渐渐失去了学习FPGA的兴趣和信心。

针对现状,笔者从初学者的角度出发,结合笔者学习FPGA的经验以及使用FPGA做项目的亲身体会,遵循“宁可啰嗦一点,也不放过细节”的原则在电子产品世界通过在线培训的形式推出手把手教你学习FPGA系列教程,教程主要面向FPGA初学者。希望初学者通过对本教程的学习,能够快速掌握FPGA的学习方法,少走弯路,轻松走进FPGA设计开发的大门。

此系列教程主要分为FPGA学习方法篇、FPGA基础篇、FPGA实例篇以及FPGA设计技巧篇,其中FPGA基础篇又包括FPGA基础知识篇、硬件描述语言篇、FPGA开发工具篇、数字电路基础篇以及硬件电路篇;FPGA实例篇包括FPGA入门实验篇、FPGA进阶实验篇、IP核使用篇以及FPGA综合实验篇。视频共计54讲。

FPGA学习方法篇:主要是结合笔者学习FPGA的经历及心得体会讲解FPGA的学习方法,让初学者掌握正确的学习方法,把握学习FPGA正确的方向,少走弯路,避免进入FPGA学习的误区。在学习方法篇中还会讲解硬件描述语言有关的知识,主要是让初学者正确认识硬件描述语言和其他编程语言的区别,掌握学习硬件描述语言的正确方法。在学习方法篇的最后会讲解如何选择正确的硬件开发平台,因为要掌握FPGA这门技术,扎实的理论知识还远远不够,购买一块FPGA开发板,多动手练习实践更显得尤为重要。而如何选择性价比很高的硬件开发平台,也是初学者比较迷惑的问题,笔者通过硬件开发平台选型指南将会教给初学者如何花最少的钱选择性价比高的FPGA开发板入门FPGA技术。

FPGA基础知识篇:主要是讲解FPGA内部结构、FPGA可编程的基本原理以及FPGA的开发流程方面的知识。要想学好FPGA,必须先搞清楚FPGA是什么,这是入门FPGA技术的基础。通过本篇教程学习主要是让初学者掌握FPGA的基础知识,了解FPGA可编程的基本原理以及了解FPGA的开发流程。

FPGA开发工具篇:主要是讲解FPGA开发工具Quartus II软件的安装、破解和使用;FPGA仿真工具modelsim软件的安装、破解和使用;FPGA片上debug工具SignalTap II软件的的使用。

硬件描述语言篇:主要是硬件描述语言的verilogHDL的简介、基本语法介绍以及verilogHDL的编码规范。

数字电路篇:无论是FPGA的哪个方向,都离不开数字逻辑知识的支撑。FPGA说白了是一种实现数字逻辑的方式而已。如果连最基本的数字逻辑的知识都有问题,学习FPGA的愿望只是空中楼阁而已。本篇主要介绍介绍组合逻辑电路,时序逻辑电路方面的基础知识以及状态机的设计,重新复习下数字电路相关知识。

FPGA硬件电路篇:介绍FPGA最小系统及外围电路的设计,学习硬件电路方面的知识。

FPGA实例篇:FPGA的学习只有通过大量的操作与实践才能很好并快速的掌握,实例篇以芯创电子的开发板为硬件开发平台,对开发板上的每个外设编写实例,为激起初学者学习FPGA的兴趣,在实例篇中采用“授人以渔”的方式,努力做到不仅讲述怎样进行试验,而且分析为什么这样做,重点介绍设计思路,以便初学者深刻理解并快速掌握FPGA的学习方法。在实例篇中会穿插介绍一些常用IP核,如PLL、单双口ROM、RAM、同步FIFO和异步FIFO等IP核的使用。实例篇的最后是综合实例,难度接近小的项目,笔者会从实际项目的流程进行讲解,让初学者提前进入项目实战阶段。

FPGA设计技巧篇:主要介绍FPGA设计的一些思想和原则,如串并转换、乒乓操作、流水线、模块划分技巧以及同步电路设计等。

或许您可能听说过FPGA,但不是很了解;或许您已经知道FPGA的存在,但没有掌握这门技术;或许您打算在不久的将来对FPGA进行初步尝试;不管怎样,只要您对FPGA感兴趣,EEPW将带领您一起踏出通往FPGA世界的第一步,轻松迈进FPGA设计开发的大门。

FPGA技术是不断发展变化的,要掌握FPGA技术的精髓,需要设计者在实践中不懈地摸索与积累,逐步提高自己的设计水平,本实验教程试图对初学者起到快速入门的作用。


 

上一篇:ExFAT FPGA IP 简介


下一篇:FPGA always 和assign 用法