FPGA是什么?
对于FPGA,其官方解析FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
简单来说FPGA是可编程电路器件,其电路可以根据开发板代码综合成可定制的电路,很多人认为做fpga开发是做软件开发,这是错误的。虽然fpga的代码是在电脑上敲出来的,但是编程的思想跟软件编程有所不同。做fpga开发必须有硬件电路的思想。
FPGA的语言
Fpga开发者所用的语言是Verilog或vhdl。两者都是硬件描述语言。它可以用来表示电路的逻辑关系和描述电路的功能。Verilog和vhdl都适用于xilinx或altera平台。但是Verilog和vhdl在语法上是有所区别的,对于初学者来说应该要学习哪种呢?这个似乎是根据行业而定的。现今企业大都用Verilog,其原因是Verilog更好理解,Verilog现在的市场占有率远比vhdl的高。小数军工企业还在用vhdl,其也不是没有优点的,语法严谨、测试结构清晰是vhdl最大的特点。所以对于初学者来说应该选择符合市场趋势的语言——Verilog更加容易入门。
FPGA与单片机的区别
其本质区别简单来说可以理解为:单片机就是一个微型电脑,FPGA就是是一种逻辑电路。由于后者是硬件电路,通电了就运行。所以其速度比单片机快得多了。常常应用于处理数据需求较高的器件上。
编程语言区别:FPGA是用Verilog或VHDL 硬件描述语言,这里“描述”是重点强调的,设计师编写的代码就是一种电路,而这种电路是用Verilog或是VHDL描述的而单片机用的是C语言,编译器编译代码然后单片机运行。其编程的本质是不同的,很多学过单片机然后学习fpga的学者开始时候需要一段适应时间。
FPGA应用和工作方向:
自上世纪80年代FPGA技术逐步成熟,最初其主要应用在通信领域及芯片量产前的中试样片环节,后横向扩展到军工、医疗、工业自动化等诸多领域。FPGA所具备的成本低、速度快、运行稳定、升级维护便捷等特征,非常适合于2010之后涌现出的云计算、无人驾驶、机器深度学习、AI、区块链等新兴科技领域 。因此,国内外大型高科技企业均非常重视FPGA技术。
FPGA技术应用非常广泛,当前已涉及到大多数的电子类产品,且横向应用领域还在进一步扩大。无论是大专院校、军工、科研所、还是诸多的市场应用企业,均需求专业FPGA工程师。与此同时,其纵向垂直领域划分也呈现越来越精细化的特征。FPGA的身影正越来越多地出现在高端电子产品中图像处理、信号处理、数模转换等方面。 |