2021-08-10

【嵌牛导读】:嵌入式的底层FPGA

【嵌牛鼻子】:FPGA

【嵌牛提问】:FPGA是什么?

【嵌牛正文】:FPGA是一种数字集成电路芯片,英文全称为Field Programmable Gate Array,中文名称为“现场可编程逻辑门阵列”。FPGA是数字电路的物理实现方式之一。与数字电路的另一种重要实现方式ASIC(Application Specific Integrated Circuit,专用集成电路)芯片相比,FPGA的一项重要特点是其可编程特性,即用户可通过程序指定FPGA实现某一特定数字电路。

FPGA的内部组成有:CLB(Configurable Logic Block),IOB(I/O Blocks),可编程互联资源(ProgrammableInterconnect),SRAM,DSP,时钟管理模块。这些组成单元在不同型号的FPGA中有所区别,但大同小异,另外,某些型号的FPGA中还可能含有嵌入式处理器,音视频编解码器等电路。下面将以Xilinx公司的XC4000 FPGA为例,介绍FPGA的内部结构。图2所示为XC4000 FPGA的基本内部机构,为讲述方便,图中只绘制了CLB,IOB,和可编程互联资源。CLB内包含有Filp-Flop和LUT等,可实现某些组合或时序逻辑电路;IOB与芯片引脚相连,内部含有缓冲和三态门等电路。可编程逻辑资源将众多IOB与CLB彼此互联,实现完整的电路功能。

FPGA开发编程语言:设计FPGA的常用编程语言有Verilog HDL和VHDL,其中Verilog HDL为国内常用。此外,System Verilog,Xilinx HLS,Chisel等也可以作为FPGA的编程语言,但它们并未被广泛使用。与C/C++,Jave,Python等计算机编程语言不同的是,FPGA编程语言属于硬件编程语言,因此在使用FPGA编程语言时不能照搬软件设计思路。

FPGA应用范围:

1.算法加速:与普通处理器性比,FPGA可实现高速的并行计算,且具有GPU缺乏的低功耗特性,这使FPGA成为算法加速的重要选择。较为典型的应用是,FPGA加速神经网络的计算。

2.芯片验证:芯片设计流片前,为验证芯片开发的正确性,往往需要经芯片的设计代码运行于FPGA并检测运行是否正常。

3.通信领域:FPGA较为适合实现某些通信协议,因此FPGA通常被用于通信基站或终端中。

4.武器:FPGA的高速运算特性可某些武器的实时性需求,如FPGA用于导弹制导中。

你可能感兴趣的:(2021-08-10)