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.
Xilinx FPGA结构的更多相关文章
- 基于Xilinx FPGA的视频图像采集系统
本篇要分享的是基于Xilinx FPGA的视频图像采集系统,使用摄像头采集图像数据,并没有用到SDRAM/DDR.这个工程使用的是OV7670 30w像素摄像头,用双口RAM做存储,显示窗口为320x ...
- Xilinx FPGA高速串行收发器简介
1 Overview 与传统的并行实现方法相比,基于串行I/O的设计具有很多优势,包括:器件引脚数较少.降低了板空间要求.印刷电路板(PCB)层数较少.可以轻松实现PCB设计.连接器较小.电磁干扰降低 ...
- 关于Xilinx FPGA JTAG下载时菊花链路中的芯片数量
关于Xilinx FPGA JTAG下载时菊花链路中的芯片数量 emesjx | 2014-08-13 13:13:30 阅读:1793 发布文章 当一个系统中含有多片(2片以上)Xil ...
- xilinx FPGA全局时钟资源的使用
1.什么是xilinx fpga全局时钟资源 时钟对于一个系统的作用不言而喻,就像人体的心脏一样,如果系统时钟的抖动.延迟.偏移过大,会导致系统的工作频率降低,严重时甚至会导致系统的时序错乱,实现不了 ...
- 2-基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板
基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板 综合图像处理硬件平台包括图像信号处理板2块,视频处理板1块,主控板1块,电源板1块,VPX背 ...
- Xilinx FPGA全局介绍
Xilinx FPGA全局介绍 现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产:许多设计人员并不熟悉 FPGA,亦不清楚如何将这类器件整合到设 ...
- Xilinx FPGA LVDS应用
最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF). 注意在分 ...
- Xilinx FPGA引脚txt文件导入excel中
需求 为了把xilinx FPGA的官方引脚文件txt转成excel文件(实际官网中有对应的csv文件就是excel文件了...) xilinx FPGA引脚地址:https://china.xili ...
- Xilinx FPGA复位逻辑处理小结(转)
Xilinx FPGA复位逻辑处理小结 1. 为什么要复位呢? (1)FPGA上电的时候对设计进行初始化: (2)使用一个外部管脚来实现全局复位,复位作为一个同步信号将所有存储单元设置为一个已知的状态 ...
随机推荐
- ceph学习之pool
pool是ceph存储数据时的逻辑分区,它起到namespace的作用.其他分布式存储系统,比如Mogilefs.Couchbase.Swift都有pool的概念,只是叫法不同.每个pool包含一定数 ...
- NHibernate从入门到精通系列——NHibernate环境与结构体系
内容摘要 NHibernate的开发环境 NHibernate的结构体系 NHibernate的配置 一.NHibernate的开发环境 NHibernate的英文官方网站为:http://nhfor ...
- RetHad6.7离线通过.rpm安装
必须有RetHad6.7系统的.ios镜像文件,我们需要的.rpm都在镜像的Packages里面,针对不能联网的,并且也适用与CentOS系统 1. 查看版本号 参考我的博客 https://www. ...
- 1.7 hive基本操作
一.基本命令和设置 1.命令 [root@hadoop-senior hive-0.13.1]# bin/hive Logging initialized using configuration in ...
- 微信小程序开发之实现https
1:使用自签名的免费ssl证书实现:http://jingyan.baidu.com/article/a948d6515d3e850a2dcd2ee6.html 2:迅雷云购 ...
- swift4.0 方法监听Selector写法总结
import UIKit class MainViewController: UITabBarController { //MARK:属性 懒加载 lazy var composeBtn = UIBu ...
- HDU4255【BFS】
题意: 给你一个矩阵,矩阵里是的数是这么安排的,然后给你两个数,让你求这两个数的最短距离,素数不能去: 思路: 预处理一下素数表,矩阵,然后找一下起点和终点的坐标,跑一下BFS就好了: #includ ...
- PHP实现用户登录页面
PHP学习日常,放在上面记录一下咯 我用了bootstrap框架,这样的界面要好看一点 登录页面: 必须用户名.密码.验证码都输入正确才能登录成功喔,否则出现下面提示 登陆成功之后,登录和注册选项切换 ...
- 多线程 NSThread 了解
用NSThread创建子线程的3种方法 // DYFViewController.m // 623-02-pthread // // Created by dyf on 14-6-23. / ...
- EM算法(徐亦达)笔记