当前位置:文档之家› 第三章FPGA结构与工作原理新

第三章FPGA结构与工作原理新


每个IOE包含一个双向I/O缓冲器和一个输入输出寄存器,可被用 作输入输出或双向引脚
控制信号
4 4 4
LE1 LE2 LE3 LE4 LE5 LE6 LE7 LE8 LE9 LE10
LUT链 和 寄存器链
局部互连
4 4 4 4 4 4 4
LAB输入信号
LE反馈信号连线
图2-37 Cyclone LAB结构
级联输出
逻辑阵列(LAB) Logic Array Block
由一系列相邻的LE 构成。 每个Cyclone LAB含10个LE ,相连的进位链和极联链, LAB控制信号和 LAB局部互连,LUT链和寄存器链。 快速通道(FastTrack)
由“行互连” “列互连” 组成,可预测延时性能。
输入输出单元(IOE)
(5) 嵌入式阵列块EAB是在输入、输出口上带有寄存器的RAM 块,是由一系列的嵌入式RAM单元构成。
数据宽度 8,4,2,1 地址宽度 8,9,10,11
D
D
RAM/ROM 256x8 512x4 1024x2 2048x1
D
输出宽度 8,4,2,1
D
写使能
输入 时钟 输出 时钟
写脉冲 电 路
图3-40 用 EAB构成不同 结构的RAM 和ROM
●一个可编程的具有同步使能的触发器;时序电路
●一个进位链; ●一个级连链; 寄存器打包:
提供LE之间非常快的进位功能 用于连接相邻的LE, 不占局部互连通道
可以连接同一LAB中 的所有LE和同一行 中的所有LAB
一个驱动局部互连
LE有两个驱动互连通道的输出信号
一个驱动行或列的快速通道互连

两个输出信号单独控制,可以用LUT驱动一个输出,寄存器驱动另一个, LUT 和寄存器可以作互不相关的功能,这一特性,称之为寄存器打包.
FPGA
目前国际上FPGA最大的供应商是美国的Xilinx公司和Altera公司。
FPGA保存逻辑功能的物理结构多为SRAM 型。掉电后将丢失原有的逻辑信息。 所以使用中要为FPGA配置一个专用ROM,将设计信息烧至ROM。
直接使用
在大规模和超大规模逻辑资源,低功耗,价格比值 方面比CPLD更有优势。但FPGA必须配ROM。 当规模不是很大时,逊于CPLD。
对于产品产量特别大,需用ASIC,或是单片系统的设计。 如CPU或各种单片机的设计。 除使用EDA软件设计和仿真外,有时还有必要使用 FPGA对设计进行 硬件仿真测试,以便最后确认 整个设计的可行性。
3.7 编程与配置
目前的PLD的编程工艺有3种:
1,基于电可擦除存储单元的EEPROM或Flash技术。 CPLD一般使用此技术进行编程(progam).cpld被编程后 改变了电可檫除存储单元的信息,掉电后可保持. 2,基于SRAM查找表的编程单元。 对于该类器件,编程信息是保 持在SRAM中的,掉电后信息 立丢失,下次上电后,还需要重新载入编程信息,这类器件的编程 一般称为配置.(configure) 3,基于反熔丝编程单元。一次性可编程.
利用FPGA完成系统整机设计,包括最后的电路板定型, 然后充分验证成功的设计软件。 交付原供应商进行 相同封装形式的掩膜设计,这样获得的FPGA 无须配置ROM,单片成本低许多。 FPGA是SRAM结构,能提供宏大的逻辑资源,因而 适用与作各种逻辑设计的仿真器件。
间接使用
硬件仿真
专用集成电路 ASIC设计仿真
(1) 逻辑单元LE
图3-36 进位链连通LAB中的所有LE
快速加法器, 比较器和计数器
进位输入 (来自上一个逻辑单元)
A1 B1
查找表 LUT 进位链
DFF
S1
LE1
A2 B2
查找表 LUT 进位链
DFF
S2
LE2 进位输出 (到 LAB中的下一个逻辑单元)
(1) 逻辑单元LE
图3-37 两种不同的级联方式
“与”级联链
2.4 ns
“或”级联链
LE 1
0.6 ns
LE1 IN [3..0] LUT
IN [3..0]
LUT
LE2 IN [4..7] LUT IN [4..7] LUT
LE2
16位地址译码速度可达 2.4 + 0.6x3=4.2 ns
LEn IN [(4n-1)..4(n-1)] LUT IN [(4n-1)..4(n-1)] LUT
图2-38 LAB阵列
FPGA 和 CPLD 的开发选择
主要是看开发项目本身的需要。 对于普通规模且产量不是很大的产品项目,使用CPLD较好。 对于大规模的逻辑设计如ASIC设计或单片系统设计,多采用FPGA。
CPLD
1,中小规模,CPLD价格较便宜,能直接用于系统。 2,开发CPLD的EDA软件容易得到。 3,CPLD的结构大多为EEPROM或FLASH ROM形式,编程后即 可固定下载的逻辑功能,使用方便,电路简单。 4,CPLD中有专门的布线区和许多块。Pin—to—pin信号延时几乎 固定,与设计无关。使得设计中毛刺现象易处理。
FPGA结构与工作原理
3.3.1 FPGA结构
现场可编程门阵列(FPGA)的基本结构如图3.5所示,从图中可以看出,
FPGA器件的内部结构为逻辑单元阵列(LCA)。LCA由3类可编程单元组成:周
边的可编程输入/输出模块IOB(Input/Output Block)、核心阵列是可配置逻辑块 CLB(Configurable Logic Block)、可编程内部连线PI(Programmable Interconnect)。
概述
Altera的FLEX10K系列器件是一 款低成本高性价比的FPGA.
结构
●嵌入式阵列块(EAB) ●逻辑阵列块(LAB) ●快速通道(Fast Track)互联 ●I/O单元(IOE)
每个FPGA包含一个实现 存储和专用逻辑功能的嵌入 阵列和一个实现一般功能的 逻辑阵列.
逻辑单元(LE) FPGA结构里最小的逻辑单元。 组成: 由组合电路和时序电路两部分组成 ●一个四输入LUT(查找表); 函数发生器
在FPGA中,所有的逻辑功能都是在CLB中完成的。
图3.5 FPGA的基本结构 (2)可编程输入/输出模块IOB IOB为芯片内部逻辑和芯片外部的输入端 /输出端提供接口,可编程为输 入、输出和双向I/O 3种方式。 (3)可编程内部连线PI
FPGA 依靠对PI 的编程,将各个 CLB和IOB有效地组合起来,实现系统的 逻辑功能。
图3.8 实例图 A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地 址线连到LUT,LUT中已经事先写入了所有可能的逻辑结果,通 过地址查找到相应的数据然后输出,这样组合逻辑就实现了,该 电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号 CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触 发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管 脚。这样FPGA就完成了图3.8所示电路的功能。(以上这些步骤都 是由软件自动完成的,不需要人为干预)
嵌入式阵列块(EAB) 是一种在输入输出端口上带有寄存器的灵活RAM电路,既可以作为存储器 使用,也可以用来实现逻辑功能。 逻辑功能:通过配置过程中对EAB的编程来实现,产生一个LUT(查找表)。
组合功能通过查找表结果实现,比一般逻辑实现的算法快。
存储器功能:可构成RAM、ROM、FIFO RAM 和双端口 RAM。
EAB 的字长是可配置的
EAB的大小灵活可变 256x8 512x4 2048x1
1024x2
通过组合EAB 可以构成更大的模块 不需要额外的逻辑单元,不引入延迟, EAB 可配置为深度达2048的存储器 512x4 256x8 512x8 256x16 256x8 512x4
EAB 可以用来实现乘法器
(2) 逻辑阵列LAB是由一系列的相邻LE构成的
图3-38FLEX10 K LAB 的结构图
(3) 快速通道(FastTrack)
连续布线 ( Altera 基于查找表(LUT)的 FPGA )
LA
LE
连续布线 = 每次设计重复的可预测性和高性能
(4) I/O单元与专用输入端口
图3-39 IO单元结构图
LEn
图2-34 Cyclone LE结构图
(1) 逻辑单元LE
图3-35 LE(LC)结构图
进位输入
级联输入
LE 输出 级联链
D
Q
CLRN
Lab 控制 1 Lab 控制 2
清零和 预置逻辑
Lab 控制 3 Lab 控制 4 进位输出
时钟选择
逻辑单元之间是互联阵列。这些资源可由用户编程。FPGA属于较高密度的
PLD器件。 (1)可编程逻辑块CLB
CLB是FPGA的基本逻辑单元,其内部又可以分为组合逻辑和寄存器两部
分。组合逻辑电路实际上是一个多变量输入的PROM阵列,可以实现多变量任 意函数;而寄存器电路是由多个触发器及可编程输入、输出和时钟端组成的。
本章知识点
发展概述 分类 电路符号表示 简单PLD结构 CPLD工作原理与结构 FPGA结构与工作原理 CPLD 与FPGA 产品概述 CPLD 与FPGA的开发选择 MAX7000系列 FLEX10K系列
简单PLD原理
重点
1.简单PLD结构 2.CPLD结构工作原理 3.FPGA结构工作原理
输入2 输入3 输入4
查找表 LUT
输出
图3.6 FPGA查找表单元
输入A 输入B 输入C 输入D 多路选择器
16×1 RAM
0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1
查找表 输出
图3.7 FPGA查找表单元内部结构
相关主题