当前位置: 首页 > 用户中心 > 常见问题提问 > 什么是FPGA

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

 

CME的FPGA架构由5块组成,分别是PLB(可编程逻辑模块,Programmable Logic Block)、IOB(输入/输出模块)、EMB(嵌入式存储器模块)、DSP和PLL(锁相回路或锁相环,Phase Locked Loop),其中PLB是FPGA技术的基本逻辑块,由LE和Xbar组成。其结构如下图示。一个LE包括4个互联的LP(Logic Parcel,逻辑包),LE的逻辑资源用于实现时序和组合逻辑功能,Xbar可路由和传递各基本模块之间的信号。LE包含4个LP 和跳级进位电路以及寄存器控制电路从而实现众多复杂的功能,例如级联,进位和跳级进位,寄存器移位。

PLB 结构示意图

PLB 结构示意图


PLB在FPGA的开发中按照行R和列C的方式进行排序。数字后的字母“C”表示某列中的每个PLB位置,从左至右递增。数字后的字母“R”表示某行中的每个PLB位置,从底部开始递增。

PLB排序方式

PLB排序方式


如上介绍,LP又是组成PLB的最基础单元,每个LP由3个4输入LUT(Look-Up Table,查找表)功能发生器lut0,lut40 和 lut41、2个寄存器reg0 和 reg1组成和进位,级联和算术逻辑组成。


LP原理图

LP原理图


由布尔代数理论可知,对于一个N输入的逻辑运算,不管是与或非还是异或等运算,最多只可能存在2N种结果。所以事先将可能的结果存放与存储单元之中就相当于实现了与非门电路的功能。FPGA的原理就是如此,他通过预先烧写文件去配置查找表内容,从而在相同的电路情况下实现不同的逻辑功能。


LUT的本质就是一个RAM,目前FPGA中多使用4输入LUT,所以每一个LUT可以被看做是有4条地址线的RAM。当用户通过原理图或者HDL语言描述一个逻辑电路后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(结果)事先写入RAM中。这样每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容并输出即可。

 




     加入我们    |     联系我们    |     官方微博    |     官方博客 京ICP备案12039486号     京公网安备110114001125号