FPGA 采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(In te rconnect)三个部分。 现场可编程门阵列(FPGA)是可 编程器 件。
与传统逻辑 电路 和门阵列(如PAL,GAL及 CPLD 器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(16×1 RAM )来实现组合逻辑,每个查找表连接到一个D 触发器 的输入端,触发器再来驱动其他逻辑电路或驱动 I/O ,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。
FPGA的逻辑是通过向内部静态 存储 单元加载编程数据来实现的,存储在 存储器 单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程.
采用FPGA设计 ASIC 电路(专用 集成电路 ),用户不需要投片生产,就能得到合用的芯片。FPGA可做其它全定制或半定制ASIC电路的中试样片。FPGA内部有丰富的触发器和I/O引脚。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EP ROM 中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
FPGA/CPLD结构由三大部分组成:
1.一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心。
2.输入/输出块。
3.连接逻辑块的可编程内部连线资源。连线资源:由各种长度的连线线段组成,其中有一些可编程的连接 开关 ,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。Fpga的内部规模非常大,内部相当于几千块通用IC芯片。
FPGA的多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;以及外设模式。
外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。 如何实现快速的时序收敛、降低功耗和成本、优化 时钟 管理并降低FPGA与 PCB 并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。