FPGA的学习历程-入门篇

FPGA的学习主要分为以下几个方面:

1、编程语言

目前主流的编程语言主要是Verilog和VHDL,Verilog语法风格更像C语言,VHDL语法更为简单一点,相比较而言,Verilog属于RTL(寄存器传输语言)语言,需要定义寄存器和导线类型,但是VHDL语言属于行为描述级别。当然现在已经开始出现HLS方式,即高层次综合工具,主要通过编写C语言,然后让综合器生成RTL语言。厂家通过这种方式可能是为了让更多人软件的人开始编写FPGA程序,但是个人感觉FPGA还是属于硬件,只有知道你这一行代码调用了多少硬件资源,时序怎么规划才能更好的编写出FPGA程序,生成可靠的硬件电路,使用这种HLS方式只是让FPGA工程师能够更好的编写程序,并不是为了软件工程师可以编写。当然以后的发展思路应该是更高层次的综合工具,人的注意力应该是集中在创造力上,即算法方面的编程,时序等规划可以交给机器去做。

2、工具的使用

比如世界上比较大的FPGA厂商就是AMD(xilinx)和Intel(altra),两家的占比达到90%,如果你是用xilinx的芯片,就要学会使用他家的软件vivado,可以找些视频或者书籍看看,市面上的书籍比较少,xilinx自家的文档就有很多,可以参考,但是初学者就要看市面上有的vivado工具书或者视频就好,我这边有,需要的小伙伴私信我,xilinx自己的资料虽然多而且齐全,但是我开始学习的时候看的话不是那么好吸收。在做过实际工程之后再去看官方文档可能会好很多,比如比较常见的UG949文档就比较全,而且文档中会介绍具体细节可以参考哪些文档,xilinx的文档可以通过他的DocNav软件下载,也可以直接去他的中国官网下载,但是DocNav软件感觉下载会卡顿闪退,在官网上下载的文档相对教新,但是很容易下载到一半中断,这时候可以使用迅雷下载器下载(具有断点续传功能) 。

3、项目开发

具备之前的编程语言基础和工具使用基础之后就可以进行简单的项目开发了。FPGA的应用具有很多方面,关注xilinx的官方公众号,经常会有直播,你可以大概了解FPGA以后的发展方向,目前比较主流的是通信、视频处理、数据加速(用于搜索等)、金融行业(主要是低延时使得你获取消息更快,比如股票抛的比别人更快等等)、人工智能(用于神经网络算法的实现)。当然主要还是看你从事的行业,目前用的比较多的还是通信行业和算法加速即数据并行处理。通信行业主要是要熟悉各种链路层通信协议,比较重要的就是网络通信协议。此外需要补一些知识,包括信道编解码等相关书籍。针对你的外部输入信号,有时候查问题可能需要信号完整性方面的知识,所以也需要补一些信号完整性方面的书籍,方便你理解并解决外部信号异常对你造成的问题

4、持续更新中。。。

 

你可能感兴趣的:(FPGA,VHDL,Verilog,fpga)