我是靠谱客的博主 健忘白昼,最近开发中收集的这篇文章主要介绍FPGA之道——BLOCK RAM以及DSP硬核前言BLOCK RAMDSP,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 前言
  • BLOCK RAM
  • DSP

前言

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

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,犹如猛虎添翼,它左青龙,右白虎,人挡杀人,佛挡杀佛,自此开始了称霸数字信号处理江湖的传奇历程。
————————————————
版权声明:本文为CSDN博主「李锐博恩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Reborn_Lee/article/details/104249637

最后

以上就是健忘白昼为你收集整理的FPGA之道——BLOCK RAM以及DSP硬核前言BLOCK RAMDSP的全部内容,希望文章能够帮你解决FPGA之道——BLOCK RAM以及DSP硬核前言BLOCK RAMDSP所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部