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

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

3天内不再提示

FPGA实现基于Vivado的BRAM IP核的使用

FPGA设计论坛 来源:未知 2023-12-05 15:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Xilinx公司的FPGA中有着很多的有用且对整个工程很有益处的IP核,比如数学类的IP核,数字信号处理使用的IP核,以及存储类的IP核,本篇文章主要介绍BRAM IP核的使用。

BRAM是FPGA定制的RAM资源,有着较大的存储空间,且在日常的工程中使用较为频繁。BRAM以阵列的方式排布于FPGA的内部,是FPGA实现各种存储功能的主要部分,是真正的双读/写端口的同步的RAM。


本片文章是基于Vivado的 2017.1的版本,其他版本都大同小异。

首先在Vivado界面的右侧选择IP Catalog 选项。


然后就可以在IP 目录中,选择想要的IP核,此处在搜索框输入BRAM,选择我们要使用的BRAM IP核。

即最下方的Block Memory Generator,顾名思义,块状RAM。

我们常用的是单口BRAM,单口写,单口读。可配置Memory Type 为Simple Dual Port RAM。如下图所示:

其中Component Name 可以自定义自己所需要的模块名称。类型定义完成后,可以看到左侧显示的模块端口,端口的使用后面再细说。

设置完成后,开始设置端口的位宽以及深度,选择Port A Options选项,可以看到下面的界面。

Port A Width即位宽,也就是你存储数据的有多少位,Port A Depth即深度,也就是你要存多少个数据。端口A设置好后,还需要点击Port B Options,点击完进入Port B Options选项后,系统会帮你自动设置好端口B的宽度和深度,因为B肯定是和A一样的。

可以看到端口B也设置完成,同时在Port B Optional Output Registers有一个Primitives OutputRegisters选项。如果这个选项不勾上,那么正常的情况下,当第一个时钟时候,送来地址,那么数据会在第二个时钟取好送出RAM。但是当勾上这个选项后,那么数据就会延迟两个时钟,在第三个时钟送出。这是取数据情况下的时序。当存数据时候,那么只需要地址和数据在同一个时钟下即可。

当我们在一般使用RAM时候,如果需要事先存到RAM里的数据量不大,我们可以在Testbench里面写一下即可。但是如果数据量较大时,那么我们可以使用.coe文件事先将数据导入到RAM 之中,如下图所示。

在Other Options选项中,有一个Load Init File选项,即加载初始化文件,在这里勾上后,即可加载已存储好数据的.coe文件。关于.coe文件的制作,网上有很多教程,在此不再赘述。然后点击下方OK,然后再点击弹出来的窗口的Generate即可生成BRAM 的IP核。

至此,常用情况下的BRAM的配置选项以及设置介绍完成。








精彩推荐



至芯科技FPGA就业培训班——助你步入成功之路、11月30号北京中心开课、欢迎咨询!
FPGA推动网络弹性的五种方式
什么是时序分析?时序分析有哪些类型?
扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看






原文标题:FPGA实现基于Vivado的BRAM IP核的使用

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

    关注

    1655

    文章

    22282

    浏览量

    630070

原文标题:FPGA实现基于Vivado的BRAM IP核的使用

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    vivado中,怎么将e203内核源代码封装成ip,并添加总线?

    vivado中,怎么将e203内核源代码封装成ip,并添加总线?
    发表于 11-10 07:22

    Windows环境下用Vivado调试E203

    下的system.v文件,这是我们的顶层设计文件。 第二步 手动添加IP 根据e203_hbirdv2-masterfpgamcu200tscript目录下的ip.tcl的描述,有两
    发表于 11-05 06:25

    利用vivado实现对e200_opensource 蜂鸟E203一代的仿真

    3.添加IP,根据e200_opensouce/fpga/hbirdkit/script下的ip.tcl文件的描述,可以得到需要添加的两个IP的内容 选择
    发表于 10-31 06:14

    蜂鸟E203移植到FPGA开发板前的IP例化工作

    和3.2768KHz低频时钟,在FPGA板上只有外部晶振提供时钟,因此需要例化clocking wizard IP提供时钟,并且例化reset IP。 点击
    发表于 10-27 07:35

    vcs和vivado联合仿真

    我们在做参赛课题的过程中发现,上FPGA开发板跑系统时,有时需要添加vivadoip。但是vivado仿真比较慢,vcs也不能直接对添加
    发表于 10-24 07:28

    Vivado浮点数IP的握手信号

    Vivado浮点数IP的握手信号 我们的设计方案中,FPU计算单元将收到的三条数据和使能信号同步发给20多个模块,同时只有一个模块被时钟使能,进行计算,但结果都会保留,发给数选。计算单元还需接受
    发表于 10-24 07:01

    Vivado浮点数IP的一些设置注意点

    Vivado浮点数IP的一些设置注意点 我们在vivado2018.3中使用了Floating-point(7.1)IP
    发表于 10-24 06:25

    Xilinx BRAM IP核配置及其例化

    首先在IP catalog中搜索 BRAM ,点击BRAM GENERATOR。 接口方式有五种,一般使用simple dual port ram Simple Dual Port RAM,简单双
    发表于 10-24 06:10

    ram ip的使用

    决定的。 ram 主要用来存放程序及程序执行过程中产生的中间数据、 运算结果等。 rom为只读存储器,只能读取数据而不能向里面写入数据。 本次讲解的ram ipram指的是bram,即block
    发表于 10-23 07:33

    FPGA利用DMA IP实现ADC数据采集

    DMA IP实现高效数据传输的步骤,包括创建项目、配置ADC接口、添加和连接DMA IP、设计控制逻辑、生成比特流、软件开发及系统集成
    的头像 发表于 07-29 14:12 4639次阅读

    VIVADO自带Turbo译码器IP怎么用?

    turbo 译码器IP没有输出,不知道哪里出了问题,有经验的小伙伴帮忙看看啊 搭建了turbo 译码器IP测试工程,用Matlab产生的数据源,调用turbo编码器生成编码数据,将
    发表于 06-23 17:39

    FPGA调试方式之VIO/ILA的使用

    Vivado中,VIO(Virtual Input/Output)是一种用于调试和测试FPGA设计的IP,它允许设计者通过JTAG接口实时读取和写入
    的头像 发表于 06-09 09:32 3079次阅读
    <b class='flag-5'>FPGA</b>调试方式之VIO/ILA的使用

    vivado IPcordic中sin和cos的计算

    Architectural Configuration选择为并行模式,具有单周期数据吞吐量和较大的硅面积。具有并行结构配置的CORDIC使用移位相加子级数组并行实现这些移位相加操作。该并形电路的实现规模与(内部精度 * 迭代次
    的头像 发表于 05-03 18:16 1263次阅读
    <b class='flag-5'>vivado</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>cordic中sin和cos的计算

    Vivado FIR IP实现

    Xilinx的FIR IP属于收费IP,但是不需要像 Quartus那样通过修改license文件来破解。如果是个人学习,现在网络上流传的license破解文件在破解Vivado的同
    的头像 发表于 03-01 14:44 2556次阅读
    <b class='flag-5'>Vivado</b> FIR <b class='flag-5'>IP</b>核<b class='flag-5'>实现</b>

    使用IP和开源库减少FPGA设计周期

    /prologue-the-2022-wilson-research-group-functional-verification-study/),70% 的 FPGA 项目落后于计划,12% 的项目落后计划 50% 以上。 为此,很多FPGA厂商都在自己EDA工具里嵌入
    的头像 发表于 01-15 10:47 1147次阅读
    使用<b class='flag-5'>IP</b><b class='flag-5'>核</b>和开源库减少<b class='flag-5'>FPGA</b>设计周期