学习一门技术,很多人认为就从它的编程语言开始,例如学习单片机,会从汇编或者C语言入门,不少FPGA的工程师也会认为,学习FPGA,往往从VHDL或者Verilog开始入手学习。但是,作为纯小白来说,要学习FPGA,还是需要提前准备一些功课的,这并不是学点语言就能入门的。首先是,学习好《数字逻辑电路基础》,深刻理解逻辑功能,对学习HDL语言也大有裨益。明德扬小白入门课,免费赠送课程和讲义(领取资料可找19928348709李老师),足够胜任入门基础,没必要花钱去购买入门的课程。
《数字逻辑电路基础》包括的内容有:数制与编码、逻辑代数、门电路、组合逻辑电路、触发器、时序逻辑电路、脉冲单元电路、数模和模数转换、半导体存储器和可编程逻辑器件,还有新增了硬件描述语言(HDL)、可编程逻辑器件(PLD)的现代数字电路设计技术方面的内容。
1、深入理解了数字逻辑电路
FPGA内部主要三块:可编程的逻辑单元、可编程的连线和可编程的IO模块。可编程的逻辑单元是什么?其基本结构某种存储器(SRAM、FLASH等)制成的4输入或6输入1输出地“真值表”加上一个D触发器构成。涉及的运作思路都和深层次的逻辑有着密切的关系,例如D触发器的意义,例如可编程逻辑单元,深入理解了数字逻辑电路基础,可以说是入门FPGA的必经之路。无论是学习FPGA的哪个方向,都离不开数字逻辑知识的支撑。FPGA说白了是一种实现数字逻辑的方式而已。如果连最基本的数字逻辑的知识都有问题,学习FPGA的愿望只是空中楼阁而已。
2、语言的学习
初学FPGA,深入理解数字逻辑之后,时序和组合的内容也学过,就接着学Verilog、VHDL语言了,弄明白语言所表示的数字电路结构,如计数器,编译码器,寄存器电路,阻塞与非阻塞,模块的例化等,Verilog语言是FPGA的语言基础,verilog中最基本的模块是module,就可以看做是一个封装好的模块,我们用verilog来写很多个基本模块,然后再用verilog描述多个模块之间的接线方式等,将多个模块组合得到一个系统。
也有人问到VHDL语言,VHDL是较早的硬件描述语句,其逻辑严谨、抽象描述能力强是其特点。但是由于语法复杂学的人也变得少了起来,致使大多数同学学习verilog语言,而且语法简单、非常适合底层驱动的描述,是当前市场最主流的硬件描述语句。VHDL语法复杂、抽象描述能力强、语法严谨、军工单位经常使用。
3、熟悉软件,即是开发平台的熟悉
至少熟悉一种FPGA的集成开发环境IDE,很多人会强烈推荐Xilinx的VIVADO,所以,要熟悉这环境,首先得下载软件,安装软件。一次不行,就接着下载二次,一次不懂,就多看几次。针对一些不懂的问题,可以搜索关键词来了解,要学会举一反三。
用一个过来人的话来总结就是:数字电路和数字电路的先修课程是免不了的;微机原理或者计算机系统结构至少要学一门;数学推荐离散数学;至少一门HDL语言(Verilog和vhdl任选一门或许两者兼修);至少一种FPGA的集成开发环境IDE(推荐Xilinx的VIVADO);一块FPGA的开发板和下载线。其实具备后三者你就可以上手了,但没有前面的基础会对你的继续进阶造成很大的困扰。