Xilinx FPGA结构

FPGA是什么?FPGA是现场可编程逻辑阵列,由可编程逻辑资源(LUT和 REG),可编程连线,可编程I/O构成。Xilinx的FPGA的基本结构是一样的,但随着半导体工艺的发展,FPGA的逻辑容量越来越丰富,速度更快,嵌入越来越多的硬核了,比如:ARM处理器,PCIe, ETHERNET等。在制程工艺上,Xilinx的7系列FPGA采用28 nm工艺,UltraScale采用20nm, UltraScale+ 采用16nm,每一代工艺的可用资源,比上一代就翻了一倍。

从架构而言,Xilinx 架构真正改变是从Virtex-4 提出的高级硅模组块 (Advanced Silicon Modular Block,ASMBL),ASMBL通过使用独特的基于列的结构,每列代表一个具有专门功能的硅子系统,如逻辑资源、存储器、I/O、DSP、处理、硬IP和混合信号等。这使得通过组合不同功能列,组装成面向特定应用类别的专门领域FPGA,就好象堆积木一样,针对不同的应用领域的FPGA加不同的列模块就行了。

FPGA结构

Xilinx的FPGA是基于SRAM的查找表技术,所以需要上电后重新配置。从外部非易失性存储器中读数,通过配置控制器加载到内部配置SRAM 中。其组成部分主要有可编程输入/输出单元、可编程逻辑单元、可编程互联资源。并且整合了常用功能的硬核模块(如BRAM,时钟管理和DSP)等。

可编程I/O(输入/输出)

可编程I/O支持不同的IO引脚配置:IO标准,单端或差分,电压转换速率和输出强度、上拉或者下拉电阻,数控阻抗(DCI),可以使用IODELAY元件做输出延迟。

可配置逻辑块CLB

可配置逻辑块是指实现各种逻辑功能的电路。在Xilinx FPGA中,每个可配置逻辑块被包含2个为Slice。每个Slice 包含查找表、寄存器、进位链和多个多数选择器构成。而Slice又有两种不同的逻辑片:SLICEM和SLICEL。SLICEM有多功能的LUT,可配置成移位寄存器,或者ROM和RAM。逻辑片中的每个寄存器可以配置为锁存器使用。

布线资源

布线资源用来连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置不同而划分为4类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和复位/置位的布线;第二类是长线资源,用于完成Bank间的高速信号;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互联和布线;第四类是分布式布线资源,用于专有时钟、复位等控制信号线。

时钟资源

时钟资源分为全局时钟资源、区域时钟资源和I/O时钟资源。(1)全局时钟网络是一种全局布线资源,它可以保证时钟信号到达各个目标逻辑单元的时延基本相同。(2) 区域时钟网络是一组独立于全局时钟网络的时钟网络。(3) I/O时钟资源可用于局部I/O串行器/解串器电路设计。对于源同步接口设计尤其有用。

嵌入存储器

Xilinx FPGA的嵌入式存储器有两种类型:专用Block RAM(BRAM)和可配置成为分布式RAM的LUT。BRAM(Block RAM)是双端口的RAM,数量因器件而定,每个Virtex-4 BRAM 可存储18Kbit的数据,支持同步读写操作,两个端口对称且完全独立,共享数据,每个端口可以根据需要改变其位宽和深度。BRAM可以配置为单端口RAM、双端口RAM、内容可寻址存储器(CAM)以及FIFO等。BRAM提供专用的控制逻辑实现同步/异步FIFO,其中的控制逻辑如计数器,比较器和状态标记等不会占用额外的CLB资源。

在FIFO模式下,BRAM的端口A是读端口,端口B是写端口。对数据流操作是自动的,用户不必关心BRAM的编址顺序,当特殊应用需要时引出WRCOUNT和RDCOUNT。用户需要检测FULL和EMPTY标记。可以设置这两个标记值,将其配置到FIFO地址段内的任何位置。

内嵌专用硬核

FPGA除以上的资源和功能模块外,还有时钟管理Tile(MMCM):数字时钟管理模块(DCM)与相位匹配时钟分频器(PCMD),DSP模块等。 DSP模块可提供高性能、低功耗的运算单元。它能够实现乘法-累加单元。还提供了专用的收发器模块,实现串行器/解串器(SerDes)功能,比如RocketIO模块,以太网模块(Ethernet MAC)模块,ARM核。

总之,随着FPGA的内部资源会变得越来越丰富,不仅在原来的在网络、电信、医疗、工业等多个领域有广泛的应用,而且在数据中心,云计算等新领域中进一步开疆拓土。

参考文献:

[1] FPGA的基本结构:六大组成部分简介.

http://www.ednchina.com/ART_8800515300_18_20010_TA_f948a0d2.HTM

[2] ASMBL-创新下一代平台FPGA. http://www.laogu.com/wz_23841.htm

[3] Evgeni Stavinov. 第4则 FPGA结构. FPGA 高手设计. 电子工业出版社. 2013, 10.

时间: 2024-10-21 18:03:38

Xilinx FPGA结构的相关文章

2-基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板

基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板 综合图像处理硬件平台包括图像信号处理板2块,视频处理板1块,主控板1块,电源板1块,VPX背板1块. 一.板卡概述 图像信号处理板包括2片TI 多核DSP处理器-TMS320C6678,1片Xilinx FPGA XC7K420T-1FFG1156,1片Xilinx FPGA XC3S200AN.实现四路千兆以太网输出,两路422输出.通过FPGA的GTX ,LVDS实现高速背板互联.采用

Xilinx FPGA高速串行收发器简介

1 Overview 与传统的并行实现方法相比,基于串行I/O的设计具有很多优势,包括:器件引脚数较少.降低了板空间要求.印刷电路板(PCB)层数较少.可以轻松实现PCB设计.连接器较小.电磁干扰降低并具有较好的抗噪能力. 2 高速串行通信中用到的技术 2.1多重相位 高速的秘密在于多重相位技术.所谓多重相位,就是在一个时钟的不同相位提取数据,例如,由锁相环产生多个不同相位的同源时钟,相位分别为 0°.90°.180°.270°,使用这几个时钟分别对串行数据流进行采样,再经零相位时钟同步,最后转

xilinx FPGA全局时钟资源的使用

1.什么是xilinx fpga全局时钟资源 时钟对于一个系统的作用不言而喻,就像人体的心脏一样,如果系统时钟的抖动.延迟.偏移过大,会导致系统的工作频率降低,严重时甚至会导致系统的时序错乱,实现不了预期的逻辑功能.xilinx fpga内的全局时钟资源可以很好的优化时钟的性能,因此在设计时要尽可能多的使用fpga内部的时钟资源.xilinx fpga内部的全局时钟采用全铜工艺实现,配合专用时钟缓冲和驱动结构,可以使进入全局时钟网络的时钟到达fpga内部各个逻辑单元的抖动和延迟最小.全局时钟资源

Xilinx FPGA LVDS应用

最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF). 注意在分配引脚时,只需要分配SIGNAL_P的引脚,SIGNAL_N会自动连接到相应差分对引脚上:若没有使用差分信号原语,则在引脚电平上没有LVDS的选项(IO Planning PlanAhead). 测试代码: //////////////////////////////////////////////

Xilinx FPGA控制器的Everspin STT-DDR4设计指南

自旋转移扭矩磁阻随机存取存储器(STT-MRAM)是一种持久性存储技术,可利用各种工业标准接口提供了性能,持久性和耐用性. Everspin推出了STT-MRAM产品,该产品利用称为JE-DDR4的JEDEC标准DDR4接口的变体,它包含了对完整系统支持所需的独特功能.本文将帮助工程师了解Xilinx FPGA控制器的Everspin STT-DDR4设计指南 2.启用ST-DDR4为了使设计人员能够快速集成ST-DDR4支持,该过程从Xilinx Vivado开发环境中生成的现有8Gb DDR

Xilinx FPGA全局时钟和全局时钟资源的使用方法

对FPGA的全局时钟了解不多,遂转载一篇文档: http://xilinx.eetop.cn/?action-viewnews-itemid-42 目前,大型设计一般推荐使用同步时序电路.同步时序电路基于时钟触发沿设计,对时钟的周期.占空比.延时和抖动提出了更高的要求.为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟. FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元

Xilinx FPGA 学习笔记一时钟资源

在Xilinx的FPGA中,时钟网络资源分为三大类:全局时钟资源和区域时钟资源. 全局时钟资源是一种专用互连网络,它可以降低时钟歪斜.占空比失真和功耗,提高抖动容限.Xilinx的全局时钟资源设计了专用时钟缓冲与驱动结构,从而使全局时钟到达CLB.IOB和BRAM的延时最小. 区域时钟资源是独立于全局时钟网络的.Xilinx的器件分成若干个时钟区域,以Virtex-6为例,Virtex-6的最小器件有6个区域,最大器件有18个区域.它与全局时钟不同,区域时钟信号X只能驱动限定的时钟区域. 这里面

Xilinx FPGA编程技巧之常用时序约束详解

1.   基本的约束方法 为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取.最普遍的三种路径为: 输入路径(Input Path),使用输入约束 寄存器到寄存器路径(Register-to-Register Path),使用周期约束 输出路径(Output Path),使用输出约束 具体的异常路径(Path specific exceptions),使用虚假路径.多周期路径约束 1.1.  输入约束Input Constraint OFFSET IN约束限定了输入数据和输入时钟边沿的

Xilinx FPGA用户约束文件(转自xilinx ISE 开发指南

FPGA设计中的约束文件有3类:用户设计文件(.UCF文件).网表约束文件(.NCF文件)以及物理约束文件(.PCF文件),可以完成时序约束.管 脚约束以及区域约束.3类约束文件的关系为:用户在设计输入阶段编写UCF文件,然后UCF文件和设计综合后生成NCF文件,最后再经过实现后生成PCF 文件.UCF文件是ASC 2码文件,描述了逻辑设计的约束,可以用文本编辑器和Xilinx约束文件编辑器进行编辑.NCF约束文件的语法和UCF文件相同,二者的区别在于: UCF文件由用户输入,NCF文件由综合工