FPGA的基本结构——CWNULT

1 FPGA的基本结构
1.1基本组成
从宏观上看FPGA主要由:输入/输出模块(IOB)、互联矩阵、逻辑单元(LB)这三个基本的部分组成,以及其他的硬件模块组成。其结构图如图1所示。
FPGA的基本结构——CWNULT_第1张图片

1.2 FPGA的其他硬件资源
(1)存储器、存储器控制器。
(2)DSP模块。(如:MAC单元)
(3)嵌入式处理器。
(4)PLL(锁相环)等。
1.3 逻辑单元(LB)的组成
逻辑单元主要由:查找表(LUT)、DFF器、多路选择器(MUX)、进位生成器4部分组成。在一个逻辑单元(LB)中,实际上是由多个LUT、DFF、MUX以及进位生成器组成的,它们一般形成LB的切片,然后堆叠而成组成一个LB单元。LB的基本结构,如图2所示。
FPGA的基本结构——CWNULT_第2张图片
(1)查找表:查找表通常由一个存储容量为2^n×1的SRAM构成,可以实现一个n变量的组合逻辑函数。当函数的输入变量作为LUT的地址时,LUT中的SRAM存储函数的值;这样当每一组变量对应的输入值,在LUT的输出端都可读取到函数的值。
(2)DFF:其数据的输入端(D端)与LUT的输出端相连接,DFF的输出端(Q端)与多路选择器的输入相连。
(3)多路选择器(MUX):选择DFF的输出或LUT的输出作为LB的输出,因此通过对MUX的配置可以实现组合逻辑或时序逻辑。
(4)进位生成器:连接LUT的输出与DFF的输入。
1.4 双向IO的实现
FPGA中双向IO的基本结构如图3所示。
FPGA的基本结构——CWNULT_第3张图片

双向IO实现的基本原理:
所谓的双向IO是指,该IO端口在一个时刻可以作为输出,在另一个时刻可以作为输入,但一个时刻只能处于输出或输入状态。当作为输出时,三态门导通,此刻输出数据通过三态门传递到IO口上。可能你会说作为输出时的数据此刻同样也被内部输入端(input)端口接收了,是的,确实被内部input端口接收了,但在该IO端口作为输出时,我们自己知道它此刻作为输出,因此我们此刻并不会理会内部input端口上的数据,因此对输入不影响。当该IO口作为输入时,此时三态门断开,内部输出output被截止,此时外部信号通过IO口传递到内部,被内部input端口采样,实现输入功能,这就是通过三态门实现双向IO的原理。
它的核心点有两点:
通过三态门的开通与关断,实现内部输出与IO口的连接与断开。
当作为输出时,不理会内部input端口上的值。
正是基于这样两点的核心思想实现了双向IO的功能。
三态门的核心应用之一就是双向IO,以及总线通信中,凡是在总线通信中,也可以看到三态门的影子。

你可能感兴趣的:(单片机,存储器,FPGA,fpga)