FPGA时序分析1_FPGA结构

**记录学习,记录成长


介绍FPGA的基本结构并说明FPGA如何实现可编程功能。

为什么要了解FPGA基本结构呢?

了解这些后,在进行FPGA设计时,可以大概知道电路在FPGA上是如何实现的。在进行时序约束或者提高时钟频率时,知其然更知其所以然。


目录

1.FPGA介绍

2.FPGA组成三要素

2.1 CLBs可编程逻辑块

2.2 可编程输入输出块【I/OBs】

2.3 片内互联线

3.FPGA其他可选资源


1.FPGA介绍

FPGA:field programmable gate array 【现场可编程门阵列】

现场可编程:指的是编程可直接在现场进行,意味着FPGA的即时可得性。

门阵列:FPGA可编程功能主要是对逻辑门操作实现的,这些逻辑门在FPGA器件中进行排列组成门阵列。

按编程方式和逻辑功能可分下面三种类型:

①SRAM-查找表类型(Intel Xilinx)

②反熔丝的多路开关类型FPGA器件(ACtel)

③基于Flash的FPGA(Lattice)

2.FPGA组成三要素

FPGA基本组成三要素:

①可编程逻辑块(CLBs,configurable logic blocks) ②片内互联线(programmable interconnect)③ 输入输出块(IOBs,I/O blocks)

FPGA可编程功能的实现主要由上面三种结构实现的。

 

2.1 CLBs可编程逻辑块

可编程逻辑块(CLB),也称作逻辑单元(LE),是可编程逻辑实现的主体。

主要有下面三部分组成:①查找表(LUT,look up table)②D触发器(DFF) ③进位链(carry chain)。

LUT用来实现组合逻辑功能,D触发器寄存数据,进位链用来实现加法

Cyclone IV E 上的可编程逻辑功能块

 

LUT:用来实现组合逻辑功能。

LUT本质上是一个RAM。根据配置将相应数值写入RAM,输入信号作为地址信号。

当输入数据超过一个LUT的接口数量时,就需要多个LUT进行级联。

 

DFF:对数据进行寄存。

D触发器中的数据是LUT的输出值,也就是对LUT的值打了一拍。

逻辑单元可以选择是直接输出LUT的输出值,还是D触发器中的值。使用D触发器可以减少组合路径长度,有利于时序收敛。

 

进位链:完成加法/减法逻辑,与其他CLBs通信。

https://zhuanlan.zhihu.com/p/92385125

 

2.2 可编程输入输出块【I/OBs】

I/OBs是FPGA内部逻辑与外部管脚之间的接口,实现与外部器件的通信。

基本单元包括:

①输入/输出寄存器

②输入/输出延迟链

③输出使能寄存器 【用来编程接口完成输入或者功能】

④上拉电阻等..

可实现功能:

①I/O模块配有缓冲器和寄存器,可实现电平匹配,提高驱动能力,延时等功能。

②可实现单端I/O和差分I/O。

③I/O电平驱动防过冲解决:分压电阻和齐纳二极管。

Cyclone IV E 可编程输入输出块

 

2.3 片内互联线

将CLBs和I/O口连接起来,实现特定的电路功能。

Altera FPGA采用行、列、局部快速通道。

信号的传输需要时间以及不同通道传输时间不同,通过约束将相近逻辑尽量靠近,可提高时序收敛性能。

 

3.FPGA其他可选资源

①存储器资源(块RAM,分布式RAM)

②数字时钟管理单元(分频/倍频、数字延迟、时钟锁定)

③算数运算单元(高速硬件乘法器,乘加器)

④高速串行I/O接口

⑤特殊功能模块(PCIE、DDR等硬IP核)

⑥微处理器(COrtex,PowerPC)

 


参考资料:

https://www.cnblogs.com/Dinging006/p/9512506.html

https://zhuanlan.zhihu.com/p/92385125

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值