FPGA的硬件架构和工作原理

描述

一、FPGA的硬件架构和工作原理

1.1早期的PROM技术实现

在上世纪60年代以后,小规模集成电路出现,需要实现一个组合逻辑的方法,是一种基于PROM(Programable ROM Based)的技术,其原理是将组合电路的真值表写入ROM中,用PROM设备实现定制逻辑的真值表,等效于实现定制逻辑。

FPGA

这里控制信号从略 。

首先,将比较器的真值表填写:

 

索引号 a[1] a[0] b[1] b[0] agtb(a>b) altb(a aeqb(a=b)
0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0
2 0 0 1 0 0 1 0
3 0 0 1 1 0 1 0
4 0 1 0 0 1 0 0
5 0 1 0 1 0 0 1
6 0 1 1 0 0 1 0
7 0 1 1 1 0 1 0
8 1 0 0 0 1 0 0
9 1 0 0 1 1 0 0
10 1 0 1 0 0 0 1
11 1 0 1 1 0 1 0
12 1 1 0 0 1 0 0
13 1 1 0 1 1 0 0
14 1 1 1 0 1 0 0
15 1 1 1 1 0 0 1

 

将真值表写入PROM中,使用PROM设备实现比较器:

FPGA

等效的实现定制逻辑。

为了进一步了解PROM技术的本质,需要知道ROM设备的架构和原理:

FPGA

1.2基于PROM技术的SOP(积之和最小项)

数字电路中,将真值表用逻辑门实现的常用方法为SOP(Sum Of Products):

 

索引号 a[1] a[0] b[1] b[0] agtb(a>b) altb(a aeqb(a=b)
0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0
2 0 0 1 0 0 1 0
3 0 0 1 1 0 1 0
4 0 1 0 0 1 0 0
5 0 1 0 1 0 0 1
6 0 1 1 0 0 1 0
7 0 1 1 1 0 1 0
8 1 0 0 0 1 0 0
9 1 0 0 1 1 0 0
10 1 0 1 0 0 0 1
11 1 0 1 1 0 1 0
12 1 1 0 0 1 0 0
13 1 1 0 1 1 0 0
14 1 1 1 0 1 0 0
15 1 1 1 1 0 0 1

 

FPGA

PROM设备中,多路器的选择信号对应地址的译码逻辑 

FPGA

1.3基于查找表技术的定制逻辑

上世纪80年代,CPLD的出现,以及之后的FPGA,为了解决输入端和存储单元的2的n次方问题,出现了查找表LUT技术。查找表LUT其原理同样是用固定的(硬核)多路器,基于SRAM技术,实现定制逻辑的真值表,从而等效的实现定制逻辑。其中一个重要的变化,是将真值表项写入SRAM(静态存储器)中,而不是用反溶丝技术(OTP),从而实现在线编程(沿用至今)。同样用上面的二输入比较器为例:

FPGA

以上例子中,所需要的存储器单元仍然是16个单元,为2的4次方。为了清楚LUT的减输入法过程,我们将输入端增加到16(与或阵列,需要65536单元):

FPGA

这里使用的存储器为:16*16=65536。并没有解决存储器数量增加的问题。但使用四输入LUT的实际架构(含减输入法)为:

FPGA

这里,仅仅使用了5*16=80个存储器单元。

1.4在线编程技术

CPLD出现之前,PLD设备大多采用反熔丝技术(Anti-Fuse),交叉编程位置在编程前为高阻抗,编程后为很低的阻抗,为导通态。反熔丝技术为一次性编程(OTP),实际使用并不方便,但其好处是便于保护知识产权。在LUT技术出现以后,设计者的定制逻辑真值表和整个设计的网表(含路由),是写入静态存储器SRAM中,具有速度快,支持在线编程(可反复擦除),但其缺点是挥发性(掉电即失),FPGA每次上电以后,需要重新装入(有一个比较复杂的配置过程)。

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分