0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA中block ram的特殊用法列举

电子设计 来源:电子设计 作者:电子设计 2020-12-24 14:28 次阅读

FPGA中block ram是很常见的硬核资源,合理的利用这些硬件资源一定程度上可以优化整个设计,节约资源利用率,充分开发FPGA芯片中的潜在价值,本文根据前人总结的一些用法,结合安路科技FPGA做简单总结,说明基本原理。

用法一:使用双口模式拆分成2个小容量的BRAM

基本原理如下:

· 以1K*9bit双端口配置模式为例,一个bram9k,可以当作两个512*9k rom

· 将A端口的地址最高位固定接0,B端口的地址最高位固定接1,则通过A端口只能访问0~511的地址空间,通过B端口只能访问512~1023地址空间,互不冲突,相当于两个小容量的rom

用法二:用作并行数据的多周期延时

· 将bram例化成简单双端口模式,并将写端口固定使能为写,读端口固定使能为读。

· 将ram模式配置成 “读优先模式”,每次在写某个地址之前会先把该地址的数据输出

· 用一个模长为N(N=4)的计数器,反复向ram中写数据,会得到一个延时为N+1的输出数据

用法三:用作高速大规模计数器

基本原理如下:

· 以9Kbit bram为例,设置成双端口,1k*9bit模式

· A端口doa[7:0]是低8bit 计数器输出,doa[8]是进位信号,给到B端口的使能

· B端口dob[7:0]是高8bit计数器输出。

· 由于B端口数据有一个周期延时,将A端口数据延时一个周期之后与B端口构成16bit计数器

· 也即一个9Kbit bram可以构造成一个16bit的计数器

· 设计原型是两个8bit的计数器级联构造16bit计数

· rom初始化文件

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593195
  • BRAM
    +关注

    关注

    0

    文章

    40

    浏览量

    10885
收藏 人收藏

    评论

    相关推荐

    中高端FPGA如何选择

    的因素,集成了我们上面所列举的目前最先进的硬核,但价格却比Virtex Ultrascale+便宜很多。当然,目前Achronix的FPGA的逻辑资源数量相对Virtex Ultrascale+要少一些,I/O数量也自然少一些
    发表于 04-24 15:09

    fpga双口ram的使用

    FPGA双口RAM的使用主要涉及配置和使用双端口RAM模块。双端口RAM的特点是有两组独立的端口,可以对同一存储块进行读写操作,从而实现并行访问。
    的头像 发表于 03-15 13:58 211次阅读

    AD9684与FPGA用LVDS模式接口互联时,FPGA端如何使用?

    咨询一个初级A/D问题:AD9684DCO时钟的用法FPGA控制)。AD9684与FPGA用LVDS模式接口互联时,FPGA端如何使用?
    发表于 12-13 09:01

    国产FPGA都有哪些厂商?

    写了这么多FPGA的文章却从来没有涉及过国产FPGA,很多网友甚至不知道还有国产FPGA。下面列举一些国产FPGA公司以及产品。
    的头像 发表于 12-12 11:30 2366次阅读

    oracle中rowid的用法

    RowID是Oracle中一个特殊的伪列,它是一个唯一标识数据库中每一行数据的地址。在Oracle数据库中,每个数据块都有一个唯一的标识符,当使用RowID时,可以确定一个特定的数据块和数
    的头像 发表于 12-06 09:45 751次阅读

    host如何通过spi下载ldr到ram

    目前通过sigmastudio的Boot Target已经可以将ldr代码下载到ram,希望实现在imx6q(主)上,将ldr通过spi下载到sharc的ram
    发表于 11-29 07:59

    FPGA中块RAM的分布和特性

    在选择FPGA时,关注LUT(Look-Up Table)和BRAM(Block RAM)是非常重要的,因为它们是FPGA架构中的两个核心资源,对于设计的性能和资源利用至关重要。
    的头像 发表于 11-21 15:03 663次阅读
    <b class='flag-5'>FPGA</b>中块<b class='flag-5'>RAM</b>的分布和特性

    Xilinx FPGA IP之Block Memory Generator功能概述

    Xilinx Block Memory Generator(BMG)是一个先进的内存构造器,它使用Xilinx fpga中的嵌入式块RAM资源生成面积和 性能优化的内存。
    的头像 发表于 11-14 17:49 951次阅读
    Xilinx <b class='flag-5'>FPGA</b> IP之<b class='flag-5'>Block</b> Memory Generator功能概述

    FPGA在一个时钟周期可以读取多个RAM数据吗?

    设计都涉及到对RAM的读写操作。在FPGA芯片中,RAM也叫做存储块(Block RAM),可以存储大量的数据。
    的头像 发表于 10-18 15:28 710次阅读

    Stream模块的基础用法和进阶用法

    有用。在本教程中,我们将介绍 Stream 模块的基础用法和进阶用法,并提供示例。 基础用法 在本节中,我们将介绍 Stream 模块的基础用法,并提供基础示例。 从 Vec 中创建
    的头像 发表于 09-19 15:33 710次阅读

    深度解析CPLD和FPGA内部结构和原理

    大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口
    发表于 08-29 10:14 1630次阅读
    深度解析CPLD和<b class='flag-5'>FPGA</b>内部结构和原理

    FPGA RAM简介和使用案例

    FPGA 逻辑设计中经常用到的数据存储方式有ROM、RAM和FIFO,根据不同的应用场景选择不同的存储方式。Xilinx 平台三种存储方式在使用过程中的区别如下。
    的头像 发表于 08-22 16:12 1676次阅读
    <b class='flag-5'>FPGA</b> <b class='flag-5'>RAM</b>简介和使用案例

    超高数据流通量FPGA新品类中的Block RAM级联架构

    本文主要讲述了Speedster7t FPGA的片上SRAM,也就是Block RAM针对传统的结构所做出的一些优化。
    的头像 发表于 07-13 17:24 349次阅读
    超高数据流通量<b class='flag-5'>FPGA</b>新品类中的<b class='flag-5'>Block</b> <b class='flag-5'>RAM</b>级联架构

    FIFO和RAM,到底用哪个?

    FPGA的设计中的,内部的FIFO和RAM是两种非常常见的存储单元
    的头像 发表于 07-11 17:23 1029次阅读

    在51系列data,idata,xdata,pdata的区别是什么?

    在51系列data,idata,xdata,pdata的区别: data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。 idata:固定指前面
    发表于 06-25 08:48