从底层结构开始学习FPGA----Xilinx 7 系列FPGA 的存储资源优势

发布时间:2022-08-19 13:59

文章目录

系列目录与传送门

概述

设计中内部存储资源的使用 

FPGA 中的存储资源

块 RAM 

拆分块RAM 

同步操作 

字节宽写使能 

错误检测和纠正 

FIFO控制器 

分布式内存(DRAM) 

典型的用户设计利用 

无穷小基块的代价 

对设备资源的影响 

Block RAM 阵列的功率优化 

功耗的重要性 

未使用的 Block RAM 

使用 XST(xilinx  synthesis tools) 推断 RAM 

使用 CORE Generator 构建 RAM 

结论


系列目录与传送门

        《从底层结构开始学习FPGA》目录与传送门

        本文主要翻译自《WP377----Xilinx 7 Series FPGAs Embedded Memory Advantages》,浅蓝色字体为本人理解。


概述

        Xilinx 7系列FPGA具有灵活的内部存储资源架构,可以可配置为各种不同的尺寸。本文详细解释了这一特性,并阐述了如何进行资源与性能之间的权衡取舍。

设计中存储资源的使用 

        不同的用户可能需要不同容量的RAM来构建他们的特定应用。所以FGPA底层的RAM基块大小就是一个有意思的话题。如果太大,则不够灵活,难以满足小容量的应用,当然可以直接用大容量RAM来实现小容量应用,但这难免造成大量的资源浪费;如果基块太小,则中等或者大型RAM应用会需要大量的小型RAM来构成,小型RAM为了普适性,也会配备同样的信号输入接口,这样一来则会大大消耗FPGA内部的布线资源,甚至会造成布线拥挤和时序问题。

        几乎所有在 FPGA 中构建的设计都需要使用一定大小的内部存储器资源来存储系数、缓冲数据以及各种其他用途。典型系统需要小型、中型和大型存储器阵列的组合来满足它们的所有要求,存储器的整体功耗因此成为设计的主要关注点。 

        在设计FPGA时,重要的是要创建满足大多数客户需求的器件。如果 FPGA是用适合一个应用的小型、中型和大型存储器资源构建的,那么该解决方案对于某些客户来说将是最佳的,而其他想要使用相同部件的客户可能需要做出相当大的取舍。

        试图从他们的 FPGA 中获得最佳价值的用户可能会担心大容量RAM 中的资源浪费。但是,构建更精细、更小的 RAM基块需要额外的连线,这是有代价的。本文解释了权衡取舍:为什么更精细的RAM基块的成本通常更高。 

        图 1 显示了 FPGA 中小型、中型和大型存储器块的理论分布(未按任何特定比例绘制)。 

从底层结构开始学习FPGA----Xilinx 7 系列FPGA 的存储资源优势_第1张图片

         恰好需要这种块组合的设计能够完美地利用可用资源(参见图 2)。

从底层结构开始学习FPGA----Xilinx 7 系列FPGA 的存储资源优势_第2张图片

        然而,想象一个场景----用户只需要另外四个中等大小的资源。

        一种方法是用大量小组件构建中型内存阵列,这会消耗大量资源并导致将它们连接在一起的复杂性。另一种选择是使用一个大块作为中块,使大块中的所有剩余资源不可用,同时保持它们通电,因此会消耗功耗(参见图 3)。

从底层结构开始学习FPGA----Xilinx 7 系列FPGA 的存储资源优势_第3张图片

         FPGA 制造商面临的挑战是构建具有最灵活的内存资源组合的设备,让所有用户能够将他们所需的内存阵列大小安装到设备中,同时实现所需的性能且不会浪费大量的资源和功耗。

FPGA 中的存储资源

        这一章是对BRAM资源的讲述,更详细的内容可以看这里:从底层结构开始学习FPGA----Block RAM(BRAM,块RAM)

        Xilinx FPGA 使用各种存储资源,以提供最好的灵活性和低成本组合。包括 Artix™-7、Kintex™-7 和 Virtex®-7 系列在内的所有 7 系列 FPGA 都使用相同的内存块,从而能够从一个 7 系列 FPGA 系列完美迁移到另一个系列。 

        显然,构建存储资源以满足每个用户的需求是一项艰巨的挑战。 Xilinx 7 系列 FPGA 中实现的解决方案是创建称被为 块RAM 的基块(参见图 4),这些块基块可以组合在一起形成更大的阵列,也可以分割形成更小的阵列。将块 RAM 与 FPGA 逻辑中的 6 输入查找表 (LUT) 组合成小型存储器阵列的能力为用户提供了最灵活的资源来创建各种大小的存储阵列。

从底层结构开始学习FPGA----Xilinx 7 系列FPGA 的存储资源优势_第4张图片

块 RAM 

        每个 7 系列 FPGA 有 135 到 1880 个双端口块RAM,每个 块RAM 能够存储 36 Kb数据,其中 32 Kb 分配给数据存储,在某些内存配置中,额外的 4 Kb 分配给奇偶校验位。每个 Block RAM 都有两个完全独立的端口,它们只共享存储的数据。 

        每个端口可以配置为: 

  • 32K x 1 
  • 16K x 2 
  • 8K x 4 
  • 4K x 9(或 8) 
  • 2K x 18(或 16) 
  • 1K x 36(或 32) 
  • 512 x 72(或 64) 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号