1.根据实现原理,FPGA可分为两大类
(1)基于LUT技术,采用SRAM工艺(市面上大部分产品)
- 大部分FPGA都是基于SRAM工艺的
- 掉电后信息会丢失,需要添加专用的配置芯片
- SRAM工艺的PLD一般不可以加密
(2)基于反熔丝(Anti-fuse)技术(了解即可)
- 初期开发过程比较麻烦,费用也比较昂贵
- 不需要外加专用的配置芯片
- Actel、Quicklogic的部分产品采用这种工艺
2.查找表(Look Up Table, LUT)
(1)什么是查找表 - 一个N输入的查找表(LUT)可以实现N个输入变量的任何逻辑功能,如N输入”与“、N输入”异或“”等等。
- 输入多于N个的函数、方程必须分开用几个查找表(LUT)实现
- 多数FPGA都是4输入的查找表
(2)4输入查找表结构
解释:
- 4个输入:输入A、输入B、输入C、输入D
- 1个输出
- 输入A、B、C、D的组合共16种,从(0, 0, 0, 0)到(1, 1, 1, 1),每种输入组合,分别对应图中左侧16×1RAM中的一个值(即输出),具体通过4个层级的二选一多路选择器进行获取(注:图中每个”梯形“都是一个二选一选择器)。
3.逻辑单元(Logic Element,LE)
(1)逻辑单元(LE)是FPGA器件内部,用于完成用户逻辑的最小单元。一个逻辑单元包含一个查找表(LUT)、一个D触发器和相关的逻辑,这样,逻辑单元(LE)即可实现组合逻辑,又可实现时序逻辑。
如下图所示,若实现图中的时序逻辑,需要LUT实现组合逻辑部分,同时又需要D触发器实现时序逻辑部分。
下图是ALTERA的LE内部结构图,可以参考学习一下。