如今,FPGA正出现在仪器、消费电子产品、汽车、航天器、复印机和专用的计算机硬件上。虽然FPGA经常用于工业控制产品,它先前的功能在工业控制器械上是不容易应用的。由于定义FPGA需要使用硬件描述语言和复杂设计工具的专门技术,自古就是硬件设计工程师比控制工程师用FPGA的多。
2.1.2 FPGA工作原理
FPGA是基于查找表结构,查找表(Look Up Table)简称为LUT,LUT本质就是一个RAM。目前大多数的FPGA是使用4输入的LUT,每个LUT可以看成是有4位地址线的16*1的RAM。用户通过硬件描述语言或者原理图描述一个逻辑电路后,FPGA会自动计算逻辑电路所有可能的结果,并把真值表写入RAM。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,读出地址对应表中的内容,然后输出即可。
2.1.3 FPGA芯片结构
FPGA的芯片组成主要有可编程输入/输出单元(IOB)、可编程逻辑块(CLB)、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。IOB是芯片与外界电路的接口部分;CLB是FPGA内的基本逻辑单元,它的功能很强,不仅能够实现逻辑函数,还可以配置成RAM等复杂的形式。配置数据存放在片内的SRAM或熔丝图上,基于SRAM的FPGA器件在工作前需要从芯片外部加载配置数据。源[自-优尔^`论/文'网·www.youerw.com
每个模块的具体性能如下:
可编程输入/输出单元(IOB):
目前大多数FPGA的IOB模块被设计为可编程模式,就可完成不同的电气特性下对输入/输出信号的驱动与匹配要求。外部输入信号可以通过IOB模块的存储单元输入到FPGA内部,也可以直接输入FPGA内部。
可编程逻辑块(CLB):
FPGA的基本可编程逻辑块(CLB)是由查找表(LUT)和寄存器组成的,查找表完成组合逻辑功能。FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。
嵌入式块RAM:
目前大多数的FPGA都具有内嵌的块RAM,拓展了FPGA的应用范围,也提高了FPGA的灵活性。嵌入式块RAM可以配置为单端口RAM、双端口RAM、内容存储器CAM和FIFO等常用的存储块。写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。
丰富的布线资源:
布线资源连通FPGA内部所有单元,而连线的长度和工艺决定了信号在连线上的驱动能力和传输速度。FPGA芯片的内部布线资源可以根据工艺、长度和宽度以及分布位置的不同分成四种类型,全局布线资源、长线资源和短线资源以及分布式的布线资源。
底层嵌入功能单元:
内嵌功能单元主要是指,DLL、PLL、DSP和CPU等软处理核。内嵌功能单元的丰富化让FPGA具备了软硬件联合设计的能力,来逐步向片上系统平台过渡。DLL和PLL功能类似,可以完成时钟高精度、低抖动的倍频以及占空比调整等。
内嵌专用硬核:
内嵌专用硬核是相对于底层嵌入式的软核而言的,硬核使得FPGA具有强大的处理能力,等效于ASIC电路。