FPGA中所包含的资源

        结合Xilinx、Altera 等公司的FPGA 芯片,简要罗列一下FPGA 内部的资源或专用模块,并简要说明这些资源的一些作用或用途。(至少列出5 项,越多越好)
1. 可编程输入输出单元(IOB)
可编程输入/输出单元简称I/O 单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求,其示意结构如图1-2 所示。PGA 内的I/O 按组分类,每组都能够独立地支持不同的I/O 标准。通过软件的灵活配置,可适配不同的电气标准与I/O 物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。目前,I/O 口的频率也越来越高,一些高端的FPGA 通过DDR 寄存器技术可以支持高达2Gbps 的数据速率。

外部输入信号可以通过 IOB 模块的存储单元输入到FPGA 的内部,也可以直接输入FPGA 内部。当外部输入信号经过IOB 模块的存储单元输入到FPGA 内部时,其保持时间(Hold Time)的要求可以降低,通常默认为0。为了便于管理和适应多种电器FPGA 的IOB 被划分为若干个组(bank),每个bank 的接口标准由其接口电压VCCO 决定,一个bank 只能有一种VCCO,但不同bank 的VCCO 可以不同。只有相同电气标准的端口才能连接在一起,VCCO 电压相同是接口标准的基本条件。

2. 可配置逻辑块(CLB)
CLB 是FPGA 内的基本逻辑单元。CLB 的实际数量和特性会依器件的不同而不同,但是每个CLB 都包含一个可配置开关矩阵,此矩阵由4 或6 个输入、一些选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。在Xilinx 公司的FPGA 器件中,CLB 由多个(一般为4 个或2 个)相同的Slice 和附加逻辑构成,每个CLB 模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM 和分布式ROM。

3. 数字时钟管理模块(DCM)
业内大多数 FPGA 均提供数字时钟管理(Xilinx 的全部FPGA 均具有这种特性)。Xilinx 推出最先进的FPGA 提供数字时钟管理和相位环路锁定。相位环锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。
4. 嵌入式块 RAM(BRAM)
大多数 FPGA 都具有内嵌的块RAM,这大大拓展了FPGA 的应用范围和灵活性。块RAM 可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO 等常用存储结构。可以根据需要改变其位宽和深度,但要满足两个原则:首先,修改后的容量(位宽深度)不能大于 18k 比特;其次,位宽最大不能超过36 比特。当然,可以将多片块RAM 级联起来形成更大的RAM,此时只受限于芯片内块RAM 的数量,而不再受上面两条原则约束。
5. 丰富的布线资源
布线资源连通 FPGA 内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA 芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片Bank 间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。

6. 底层内嵌功能单元
内嵌功能模块主要指 DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP 和CPU 等软处理核(Soft Core)。现在越来越丰富的内嵌功能单元,使得单片FPGA 成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC 平台过渡。 DLL 和PLL 具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。Xilinx 公司生产的芯片上集成了DLL,Altera 公司的芯片集成了PLL。

7. 内嵌专用硬核
内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA 处理能力强大的硬核(Hard Core),等效于ASIC 电路。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA,实现逻辑的基本单元是查找表(LUT)而非基本门电路。目前的FPGA,单一LE或者Cell通常能实现至少4输入查找表的逻辑功能。   4输入查找表可以看成是具有4位地址1位数据的存储器,能够存储16bit数据,这也是LUT能被用于组建分布式RAM的原因。   如果要构成一个6输入1输出MUX,可以通过两片4输入查找表级联,也可直接用一片完整的6输入查找表,两片4输入的查找表的存储容量是32,而一片完整的6输入查找表的存储容量是64;若使用6输入查找表(存储容量为64)实现4输入(存储容量为16)的逻辑功能,则浪费了75%的存储容量。也就是说,采用较少输入的查找表实现较多输入查找表的功能,在面积上有更高的利用率。   但是并非只需要考虑面积利用率,还应考虑到时序和布线问题,按照输入越少面积利用率越高的说法,岂不是2输入查找表更具有优势?但是各个FPGA厂商都不提供2输入查找表,因为如果FPGA都以2输入查找表为基本逻辑单元,那么实际应用,几乎所有的逻辑都需要查找表级联实现,但是FPGA的布线资源并不足以支撑这样的设计,同时,这样的设计也将导致时序问题。   因此,使用多少输入作为基本的查找表是一个重要的问题,目前在一般的FPGA,为了平衡查找表扩展和面积使用率,4输入查找表受到广泛应用;在复杂的FPGA,可能采用混合查找表,比如同时使用3输入和4输入。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值