文章目录

  • 前言
  • BLOCK RAM
  • DSP

前言

BLOCK RAM以及DSP都是FPGA内部嵌入的硬核资源,也可以说很底层的资源了,二者为开阔FPGA的应用途径起到了很大的作用,BRAM的出现在很多种情况下节省了FPGA内部的寄存器资源,对于需要稍大容量存储的数据可以使用BRAM来实现,而DSP是进行信号处理的重要单元,很多种数学运算都可以通过DSP核来实现。下面通过摘自《FPGA之道》这本书的内容来更深刻地了解这两种硬核资源。
另外,关于FPGA底层资源可以参考之前的 博文:
https://blog.csdn.net/Reborn_Lee/article/details/98599268

BLOCK RAM

FPGA设计中一般都少不了数据缓存,虽然FPGA中的寄存器资源比起CPLD来说可以算是相当丰富了,但是,如果想利用寄存器作为批量数据的缓存的话,那么对逻辑资源块的侵蚀还是很恐怖的(寄存器用来存储、查找表等用来实现地址、数据选择相关逻辑)。而如果数据量不是特别大的话,采用片外的独立存储器芯片又显得有些“杀鸡用了宰牛刀”,利用率太低并且还需要编写额外的接口驱动逻辑。除此以外,在一个FPGA设计中,也许有很多地方都用到了数据缓存,而这些地方对缓存的需求都是同时的,那么不太可行也不太可能在片外挂几十个存储芯片来解决问题。因此,为了应对中、小规模的数据缓存问题,FPGA生产厂商相继为自己的FPGA芯片中引入了硬件的存储核,我们称之为BLOCK RAM。由于BLOCK RAM不同于寄存器的硬件结构,使得实现同样的存储容量所消耗的资源要远比寄存器少得多的多。当然了,同一时刻一般只能操作BLOCK RAM中一个地址的数据,而如果是用寄存器实现缓存的话,我们完全可以在同一时刻操作所有的寄存器。与逻辑资源块一样,BLOCK RAM资源也均匀分布于整个FPGA芯片中,当然在列的方向它们的排列也紧密一些,估计是为了便于拼凑起来形成更大的缓存。
有的FPGA中仅有一种容量的BLOCK RAM,而有的FPGA中会有若干种不同容量的BLOCK RAM。BLOCK RAM本身的配置也比较灵活,对于存储量一定的BLOCK RAM来说,几乎可以将它配置为任意位宽的形式(其实位宽一般都是2的整数次幂,只不过可以不使用多余的位宽罢了,上限大概为32bits,这个不同的芯片型号会有所不同),当然位宽不同的时候,单块BLOCK RAM的所能存储的数据个数也会不同。
BLOCK RAM的应用范围非常之广,它可以被配置为同步、异步、单端口、双端口的RAM或FIFO,或者ROM。除此以外,它本身就是一个先天的查找表胚子,对于一些普通LUT难以应付的大容量表格情况,使用BLOCK RAM可以很好解决。

DSP

如果有大量简单的运算需要处理,FPGA可以利用自身并行运算的特点,迅速搞定,这点相比于其他处理器芯片非常具有优势。不过,FPGA对于复杂的运算并不擅长,例如乘法运算,如果用逻辑资源块来实现乘法器的话,不仅资源消耗较大,并且运算速度太慢,虽然利用流水线的思路可以为运算提速,但是带来的副作用就是给资源消耗再次带来成倍的增长。而乘法运算几乎可以说是数字信号处理的基本运算,如果FPGA不能很好的解决高效的乘法问题,那么其在数字处理界的地位必将受到极大抑制。因此,为了FPGA芯片的可持续发展,各大厂商又相继在它们的FPGA芯片产品里集成了高性能的硬件DSP核。拥有了DSP后的FPGA,犹如猛虎添翼,它左青龙,右白虎,人挡杀人,佛挡杀佛,自此开始了称霸数字信号处理江湖的传奇历程。下面,分别列出Xilinx和Altera公司的DSP硬核原理图供大家鉴赏:

图一:Xilinx公司DSP48宏细节实现图

图二:Altera公司Stratix V FPGA可变精度DSP架构18bits精度模式

图三:Altera公司Stratix V FPGA可变精度DSP架构高精度模式

结合上面几副图,我们可以看到,DSP硬核中的核心资源就是一个高性能的硬件乘法器,外加一些累加器和寄存器、复用器等资源。DSP硬核通过将这些高性能的资源紧密的结合在一起,从而让FPGA芯片具有强大的数字信号处理运算的能力。

FPGA之道(9)BLOCK RAM以及DSP硬核相关推荐

  1. 从底层结构开始学习FPGA(8)----Block RAM(BRAM,块RAM)

    文章目录 系列目录与传送门 1.什么是BRAM 2.BRAM的组成 3.BRAM的使用 3.1.RAM 3.2.ROM 3.3.FIFO 4.一些需要注意的 4.1.自带的输出寄存器 4.2.BRAM ...

  2. FPGA之道(57)状态机的实现方式

    文章目录 前言 状态机的实现方式 基于LUT的实现方式浅析 基于RAM的实现方式浅析 可行性分析 实现思路简介 基于BRAM自行设计状态机的好处 显式状态机与隐式状态机 概念简介 显式状态机的描述示例 ...

  3. FPGA之道(10)布线资源与接口资源

    文章目录 布线资源 接口资源 专用高速接口资源 布线资源 FPGA中的布局布线资源主要包括三部分:CB.SB和行列连线.布线资源的目的是为了能够让位于不同位置的逻辑资源块.时钟处理单元.BLOCK R ...

  4. FPGA之道(7)时钟网络资源

    文章目录 FPGA中的时钟网络资源 全局时钟网络资源 区域时钟网络资源 IO时钟网路资源 FPGA中的时钟网络资源 时钟信号是时序逻辑的灵魂,也是整个FPGA设计的核心.在某些情况下,它几乎要作用于整 ...

  5. Block RAM 和Distributed RAM

    ============================================== FPGA block RAM和distributed RAM区别 区别之1 bram 的输出需要时钟,dr ...

  6. 国产智多晶FPGA 带Cortex-M3硬核CPU的FPGA器件简介

    大家好,我是小梅哥,这里给大家介绍国产FPGA厂家"西安智多晶"微电子带Cortex-M3硬核CPU的FPGA芯片的相关资源.本博客将陆续发表更多国产FPGA的开发和使用方法. 正 ...

  7. Virtex-6中的BRAM(Block RAM)模块、DSP 模块XtremeDSP

    BRAM(Block RAM)模块 Virtex-6中嵌入BRAM,大大拓展了FPGA的应用范围和应用的灵活性.BRAM可被配置为单端口RAM.双端口RAM.内容地址存储器(CAM)以及FIFO等常用 ...

  8. Spartan-6的BRAM(Block RAM)模块和DSP 模块XtremeDSP

    BRAM(Block RAM)模块 Spartan-6中的BRAM存储18Kbit数据,能配置成两个独立的9Kbit BRAM或者一个18Kbit BRAM.每个RAM可以通过两个端口寻址,也可以配置 ...

  9. FPGA block RAM和distributed RAM区别(以及xilinx 7系列CLB资源)

    原地地址:FPGA block RAM和distributed RAM区别 区别之1 block ram 的输出需要时钟,distributed ram在给出地址后既可输出数据. 区别之2 distr ...

最新文章

  1. SAP Fiori应用的三种部署方式
  2. Javaweb 第1天 HTML和CSS课程
  3. L3-015 球队“食物链”(dfs)
  4. 我的Android进阶之旅------gt;Android中编解码学习笔记
  5. 类似新浪微博和google图片的HTML5实现图片拖拽上传功能
  6. Merkle Tree与区块链
  7. 小米用户画像实战,48页PPT下载
  8. 网站建设教程:企业怎么自己建网站?
  9. CRM - 用户管理
  10. 国家医保移动支付国密算法SM2签名验签、SM4加解密测试工具
  11. autoCAD2014安装激活
  12. 夜神模拟器SD卡文件存储位置
  13. ONNXRUNTIME_EXCEPTION : Non-zero status code returned while running Where node. Name:‘Where‘
  14. 重磅!朱松纯加入北京大学,此前曾传拟加入清华
  15. 运用python简单的画圆
  16. 笔记本触控板无法滑动解决办法
  17. SG函数SG定理游戏的和公平组合游戏
  18. Windows Server 2008启用禁用IE增强的安全配置
  19. 【k-匿名(k-Anonymity)代码实现】差分隐私代码实现系列(三)
  20. linux克隆步骤,CentOS克隆机器步骤,图文教程

热门文章

  1. MySQL性能优化的21条最佳经验
  2. 周五晚上看了变形金刚
  3. 又见yx — 说说IT公司的团队头儿
  4. html弹窗赋值给查询框,bootstrap模态框动态赋值, ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS)...
  5. mysql5.7.22并行回放_MySQL 5.7并行复制时代
  6. 为什么在反向传播中感知器初始值不能为0_人工智能可以为我们做什么?世界皆可二分类...
  7. JQuery - Sizzle选择器引擎原理分析
  8. css调整表格在屏幕上的位置
  9. php 修改 title,WordPress通过functions.php修改meta title样式
  10. excel最常用的八个函数_Excel中最常用的快捷键