FPGA的本质是设计一颗芯片,其开发刘成是通过verilog等硬件描述语言通过EDA工具编译、综合、布局布线成为下载文件,最终加载到FPGA器件中去,完成所实现的功能。而硬件描述语言描述的就是组合逻辑和时序逻辑电路,度和逻辑就是与、非、或组成的电路,而时序电路就是触发器。在FPGA中,组合逻辑的变成了查找表的工作,于是所有的数字电路转化成为查找表和寄存器,这便是FPGA的基础,查找表负责逻辑实现,寄存器存储电路状态。现代FPGA内部除了查找表和寄存器之外,还有RAM块,用于存储大量的数据块,这样可以节省芯片实现的面积。FPGA内部的时序电路需要时钟的输入,通常FPGA内部需要的时钟种类较多,因此需要在片内产生相关的时钟,因此时钟管理单元DCM/PLL也是必不可少的内部部件。除此之外,FPGA内部还包括接口I/O,可分为普通I/O和高速I/O,次外还有各种各样的硬核。
FPGA的英文翻译过来是现场可编程门阵列,这是相对于ASIC来说的,ASIC硬件也可以可做是门阵列,但是它是非可编程的器件,流片完成之后功能就固化了。但是FPGA 的可编程性在于其能够重新下载配置文件,来改变其内在的功能。两者在前端开发流程上并无二致。FPGA作为一种器件,技术主要垄断在ALTERA和XILINX这两大公司手中。
(一)FPGA架构
一个完整的嵌入式系统中由单独一个FPGA组成的情况较少,通常由多个器件组合完成,例如CPU+FPGA。通常是由一个