如何学习FPGA(不断更新)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yy2122/article/details/80555351

个人觉得这是总结得非常好的博文:https://blog.csdn.net/k331922164/article/details/44626989

我的FPGA之旅也是大致参照着作者的这篇文章进行步进的学习。由于进入公司后从事的是通信方向,因此想从自身项目的角度在谈一下个人体会。

一、入门前的一些准备

在校期间要是能做一些硬件相关的项目,或者画一些PCB,其实对做FPGA是有好处的,因为很多时候,FPGA工程师要跟硬件工程师进行交流,至少原理图是要会看的,不然做不了管脚约束。数模电学得好还是很重要的,毕竟FPGA编程本质是要靠一系列的门阵列去实现各种功能,要有一些硬件的概念。

二、关于编程语言

而就编程语音而言,在校期间和公司项目中使用的都是Verilog,但VHDL还是要学的,个人感觉VHDL比Verilog要难学一些,编程实现也比较繁琐,但也相对严谨,一个很简单的例子就是,例化端口的位宽不同时,在编译过程中VHDL就会报错,而Verilog不会,这一点在新手入门时还是很关键的。

在Verilog的学习教材上,夏宇闻老师的书还是很经典的,不建议买太多这方面入门的书,一本就够了。关键的在于动手编写和实现。

三、工具的使用

Altera使用的是quartus, 升级到quartus prime我倒是用得比较少了,xilinx用的是ISE和vivado.由于项目中用的是zynq,因此使用的vivado比较多,说实话,用了vivado后,真的感觉quartus做的真的很烂。当然vivado安装下来需要30多G的空间也是一个很大的槽点。仿真软件使用的都是modelsim.

四、开发板练习

在校期间,使用的是夏宇闻老师的《Verilog数字系统设计教程》+黑金的FPGA开发板(cyclone IV),也就几百块钱而已,作为大多数人的第一块开发板个人感觉是够了,遍历一遍官方的所有例子,不懂的地方就在论坛里提问或者尝试回答论坛里的问题,感觉这样进步会更快一些。如果想弄更高级一些的开发板,整zynq这一块的,上米联的zynqbraod吧,就是有点而贵,我也是工作以后才接触这块开发板,感觉功能还是很强的,很多设计理念都是先通过开发板验证了才真正的在系统中应用。这两类开发板的资料都很多,足够你学习很长一段时间。

五、项目实践

如果是通信方向,《通信原理》还是要看的,此外组帧、调制、编解码等的相关知识需要进行储备。如果涉及算法,那么需要MATLAB+FPGA+modelsim一起使用。还要学会添加必要的VIO以及ila控制和观察信号。对了,编辑器推荐使用UEstudio,其中的列模式在FPGA编程中十分好用。还有everything和beyond compara也是非常好用的工具。在这个期间多写代码多思考,借鉴他人优秀的编程思想,对个人的成长还是很关键的。



展开阅读全文

没有更多推荐了,返回首页