FPGA底层资源综述

这篇具有很好参考价值的文章主要介绍了FPGA底层资源综述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FPGA底层资源主要是Slices、IOBs、Memory、Multipliers、Global clock buffers等等,下面对各类资源进行详细的解读。

一.Slices
7系列FPGA的slice包含4个部分:
(1)
逻辑功能产生器,也就是咱们常说的查找表LUT,1个slice里包含4个6输入的查找表。
FPGA底层资源综述
(2)
存储单元,也就是常说的触发器,1个slice里包含8个触发器。每4个触发器为一组,可配置成D触发器或锁存器。
FPGA底层资源综述
(3)
多路复用器,也就是1位宽的数据选择器mux,数量非常多,足够使用。
FPGA底层资源综述
(4)
进位逻辑(carry chain),另外这不是或门,而是异或门。这是FPGA中自带的进位链(Carry Chain)逻辑。一般当你实现诸如计数器这种可能有进位逻辑的设计可能会调用到这部分资源
FPGA底层资源综述
因此,许许多多的slice相结合,再加上全局时钟就能实现复杂的数字功能!
sliceL的结构图:
FPGA底层资源综述

二.IOBs
可编程IO的作用就是完成信号的采集和输出,引脚可以配置支持不同电气特性,上拉下拉或三态,差分或单端。IOB与附近的idelay、odelay、ilogic、ologic和可编程IO等资源,共同组成FPGA的IO_Bank。
FPGA底层资源综述
FPGA底层资源综述

三.Memory
FPGA 的 on-chip memory 一般可以分成两种,即 Distributed RAM 和 Block RAM。DRAM 是由 LUT 实现的,Block RAM 则是专用的 mem 资源,容量比 DRAM 大一些。
在 UltraScale+ 系列,Xilinx 引入了一种新的专用 mem 资源,叫做 Ultra RAM,单个 URAM 的容量是 Block RAM 的6倍,能支持更大的数据处理需求。使用下面的表格来对比三种 Mem 资源。更细节的内容可以去阅读 Xilinx 的 Guide
FPGA底层资源综述
存储同样的数据,使用 BRAM 可能会比 DRAM 消耗更少的资源,但是 BRAM 可能对 timing 的影响更大,如果这个时候 timing 是更重要的因素,那么只好牺牲掉一些资源使用 DRAM。
参考:《UltraScale Architecture Memory Resources》
《UltraScale Architecture Configurable Logic Block》

四.Multipliers
乘法器顾名思义,用来做乘法运算
FPGA底层资源综述
FPGA底层资源综述

五.
FPGA的时钟资源介绍主要分为三部分。第一部分是区域结构,第二部分是元件功能,第三部分是实现方式。
首先FPGA的时钟资源负责驱动所有的时序逻辑,生产商尽力使得时钟资源充分,可靠,为了达成这一目的,xilinx采取了结构化的时钟资源布局方式。

首先将整个板子分为左右两部分,宽度完全一致,中间是大动脉。也就是下图中的Clocking Center位置的Clocking Backbone,所有的BUFG(Global Clock buffers)也是包含在这里面。
顾名思义,BUFG是全局的Clock buffer。
  BUFG能
  1.作为时钟使能控制跨越了数个时钟域的时钟
  2.作为无毛刺的多路复用器进行时钟二选一亦或是切换掉失效的时钟
  3.被CMT驱动来消除时钟分发延迟,调整相对另一个时钟的延迟
FPGA底层资源综述
一条动脉显然无法给整个人体供血,有限个数(7系列有32条布线资源)的BUFG也无法直接驱动所有的逻辑资源。虽然BUFG的驱动范围最广,但是所有资源都使用BUFG也不能获得最好的效果。
所以我们还需要横向的血管,也就是HROW(Horizontal Clock Row),它们等距水平分布,非常像模拟城市里建造道路时的棋盘式布局。但是HROW不同于Clock Backbone,它们主要负责相邻上下两个部分的时序逻辑资源驱动,具体实现则通过BUFH,BUFH相当于作用范围阉割版的BUFG。每个时钟域内有12条BUFH的布线资源,也就是说,一个时钟域最多能用12条BUFH布线资源引入12个BUFG的时钟。

在这里还要强调一点,所有的全局时钟信号线布线时都必须经过Clock Backbone,而当全局时钟信号线从Clock Backbone出来之后,要进入具体的时钟区域时,则必须通过HROW。那么我们可以这么总结,所有的全局时钟线布线时都必须经过Clock Backbone和HROW,BUFG和BUFH共享HROW中的布线资源。一条进入某个时钟域内的路径可以是一条BUFG的信号线从Clock Backbone中引出,再接到BUFH上,总共使用了一条BUFG的布线资源(1/32)和(1/12),当然,信号线是可以复用的。

时钟区域是什么?时钟区域是板子的划分,它的上下界限在两条HROW的中间处,也就是说,每个时钟区域的中间都有一条HROW横穿而过。而它的左右界限则是两条CMT Backbone的中间处,同理,每个时钟区域的中间都有一条CMT Backbone竖穿过去。根据板子的大小不同,时钟域数量从1到24不等。一个时钟域包括了所有的同步组件(CLB, I/O, serial transceivers, DSP, block RAM, CMT)。每个时钟域包括了50个CLB和1个I/O bank(50 I/Os)。

在横向的血管之外,我们还需要小血管和毛细血管,对应BUFMR和BUFR。BUFMR可以驱动本时钟域内所有的时序资源以及上下相邻的两个时钟域。当它驱动相邻时钟域时,布线需要经过CMT Backbone。而BUFR只能驱动本时钟域内的时序资源。
  而BUFIO只能驱动本时钟域/本I/O域内的I/O部件。

参考:https://blog.csdn.net/weixin_43778388/article/details/122521139
https://zhuanlan.zhihu.com/p/336370365?utm_medium=social&utm_oi=47239162494976
http://t.zoukankan.com/aliothx-p-13398060.html
https://blog.csdn.net/dongdongnihao_/article/details/111354406
https://blog.csdn.net/wenjia7803/article/details/115339122文章来源地址https://www.toymoban.com/news/detail-400208.html

到了这里,关于FPGA底层资源综述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA在内存数据库加速中的应用:综述

    异构计算主要是指使用不同类型计算单元(CPU、GPU等协处理器、DSP、ASIC、FPGA等),不同类型的指令集和不同的体系结构组成的一个混合的系统。 异构计算是一种并行计算的特殊方式 ,采用分布式布局,它能将结构不同、 性能不同的各种机器部件合理的分配安排 ,充分发挥

    2024年02月07日
    浏览(29)
  • 【AI底层逻辑】——篇章7(下):计算资源&软件代码共享

    目录 续上篇... 三、计算资源 1、第一阶段:数据大集中 2、第二阶段:资源云化

    2024年02月10日
    浏览(39)
  • FPGA 中的多路选择器综述:实现八选一功能

    FPGA 中的多路选择器综述:实现八选一功能 多路选择器是FPGA中常见的基础电路之一,也叫做数据选择器,用于从多个输入信号中选择一个输出信号。选择器的输入端通常有一个选择控制端,来决定哪一个输入信号会被输出。在本文中,我们将详细介绍FPGA中的多路选择器实现

    2024年02月08日
    浏览(75)
  • 平衡小车学习教程1——硬件资源及其小车底层硬件介绍篇

    大家在学会了Stm32后,可以做一个项目来进行来进行练手, 平衡小车 就 是一个很好的练手项目,可以检验自己的学习成果 ,也可以对学习到的知识进行一个复习。再一个就是 通过做项目来锻炼自己的工程能力。 好啦,废话不多说, 本套教程预计分为两部分 , 硬件底层介

    2024年02月11日
    浏览(28)
  • 基于FPGA的QSPI底层驱动代码实现

    相信各位优秀的工程师们对SPI协议已经是非常了解了,SPI全名为串行外围设备接口(Serial Peripheral Interface),是一种高速全双工的同步通信总线,广泛应用于设备间的通讯传输。 而本文所要讲的QSPI,为SPI接口的扩展,Q代表quad即4倍传输的意思,也称为四线制SPI,因此该接口的

    2024年02月03日
    浏览(33)
  • 《从底层结构开始学习FPGA》目录与传送门

            搞FPGA不像搞软件,写代码(HDL)的抽象层级不能放得太高。         如果不对FPGA的底层结构有一个清晰的理解,在优化RTL与硬件结构、提高Coding效率和时序收敛方面则会比较困难。         可配置逻辑块CLB是FPGA底层最基础,同时也是最重要的设计单元。

    2024年02月02日
    浏览(35)
  • FPGA资源评估:如何优化FPGA资源利用率

    FPGA资源评估:如何优化FPGA资源利用率 在FPGA设计中,资源利用率是一个非常重要的指标。如何优化FPGA资源利用率,进一步提高设计效率和性能呢?本文将从FPGA资源评估的角度,介绍如何合理地使用FPGA资源,减少浪费,实现资源的最优配置。 在FPGA设计中,我们经常会遇到资

    2024年02月02日
    浏览(34)
  • 从底层结构开始学习FPGA(15)----MMCM与PLL

            《从底层结构开始学习FPGA》目录与传送门         锁相环 (phase-locked loop,PLL),是一种控制反馈电路。PLL对时钟网络进行系统级别的时钟管理和偏移控制,具有时钟倍频、分频、相位偏移和可编程占空比的功能。MMCM是混合模式时钟管理器,相当于能够进行精准

    2024年02月06日
    浏览(36)
  • icloud照片要是关闭有什么影响?

    关闭iCloud照片将对您的设备和照片库产生以下影响: 1. 照片同步停止:关闭iCloud照片后,您的设备将不再自动同步照片到iCloud。这意味着您拍摄的新照片和录制的新视频将不会自动上传到iCloud照片库。                                     2. 存储空间释放:关闭iCloud照片

    2024年01月17日
    浏览(33)
  • Java并发编程挑战与解决方案:上下文切换、死锁、资源限制及底层实现原理

    深入探讨Java并发编程中的挑战,包括上下文切换、死锁、资源限制,并介绍解决方案如减少上下文切换、避免死锁等。了解Java并发机制的底层实现原理和线程间通信方法。

    2024年02月01日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包