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

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

3天内不再提示

修改BRAM初始化值的避免综合与实现

454398 来源:网络交换FPGA 作者:网络交换FPGA 2020-11-30 15:37 次阅读

1、引言

交换机设计为例。在交换机设计前期,转发表项是固化在交换机内部的(给FPGA片内BRAM初始值),但是在测试过程中,往往需要对表项进行修改,如果直接修改BRAM的coe文件,则需要重新综合、实现、生成bit文件,其中,综合与实现耗时十分严重,设计规模越大,消耗的时间越长,而生成bit文件消耗的时间则相对固定。针对上述问题,本文探究一种避免综合与实现,直接修改BRAM初始化值的方法,可以避免综合、实现两个步骤,修改BRAM初始值后,直接生成bit文件,可节约大量的时间。

2、 操作方法
(1) 完成初始设计,综合、实现(但是不生成bit文件) ;
(2) 打开布线后的dcp文件(使用Vivado直接打开),如下图所示:

(3) 找到想修改的目标BRAM:
ctrl+f ;

选择需要修改的BRAM ;

在properties界面,可以直接修改初始化文件(需要熟悉原语,其初始化方式与RAMB18E1相同);

保存,退出;
在主工程中打开实现设计,按照相同的方式可以找到对应的RAM与初始化值,可以发现初始化值已经改变了 ;
生成bitstream文件。

3、 上板实测
(1) coe文件:

(2) 修改后的RAM初始化值

(3) 上板实测结果:

4、 结论
在仅修改BRAM初始化值的场景下,该方法可以大大减小从修改BRAM初始值到重新生成bitstream的时间,在交换机调试过程中,具有一定实用价值。

编辑:hfy

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

    关注

    20

    文章

    2615

    浏览量

    99174
  • Vivado
    +关注

    关注

    19

    文章

    807

    浏览量

    66273
收藏 人收藏

    评论

    相关推荐

    字符型、指针型等变量该如何初始化

    在敲代码的时候,我们会给变量一个初始值,以防止因为编译器的原因造成变量初始值的不确定性。对于数值类型的变量往往初始化为0,但对于其他类型的变量,如字符型、指针型等变量等该如何初始化呢?
    发表于 09-23 11:50 2156次阅读

    ZYNQ怎么修改PHY的初始化配置

    通信,我需要怎么修改系统或者修改哪里呢?怎么修改PHY的初始化配置呢?我在提供的那个dts里看到了这几行,但是没看懂那个reg-init后面怎么对应;也不知道设备树是不是起这个
    发表于 11-25 14:21

    初始化BRAM警告coe文件不存在

    大家好,我搜索了几个关于初始化BRAM的线程,但我找不到答案。我使用的是Vivado 2015.4。我写了一个coe文件,想把coe文件加载到BRAM中。首先,我添加一个BRAM IP
    发表于 04-17 09:47

    请问初始化BRAM后怎么显示BRAM数据?

    嗨,大家好,我想用coe文件初始化BRAM,但有两个问题。首先,当我加载coe文件时,存在文件不存在的错误。见下图:有人可以帮我解决问题吗?其次,我删除了错误文件,因为“文件组”下有两个coe文件
    发表于 04-18 11:27

    如何避免Spartan默认初始化BRAM

    嗨,我需要读取BRAM的上电,但是在编程阶段它们默认为0。有办法防止这种情况吗?谢谢以上来自于谷歌翻译以下为原文Hi, I need to read the power-up values
    发表于 07-23 11:37

    初始化BRAM primitaves出现错误和循环漏洞的原因?

    大家好,我一直在尝试在我的项目中初始化我的BRAM primitaves一段时间,并继续遇到意外错误和循环漏洞。概述:用于综合的Synplify Pro Version I-2014.03-SP1
    发表于 07-26 10:04

    手机模块初始化向导

    手机模块初始化向导:为了刚好的对手机模块进行初始化,所以把最基本的向导写下来.本向导适用于本公司的西门子TC35I和华为GT9000模块。一、在初始化手机模块前,请先确定DT
    发表于 09-18 09:41 17次下载

    RDA1846S初始化设置

    RDA1846S初始化设置RDA1846S初始化设置RDA1846S初始化设置
    发表于 01-15 17:08 0次下载

    UCOS_III_配置与初始化

    UCOS_III_配置与初始化
    发表于 12-20 22:53 5次下载

    浅析GEL文件在ARM初始化时的作用和修改.pdf

    浅析GEL文件在ARM初始化时的作用和修改
    发表于 04-22 10:39 1次下载

    uboot和内核里phy的初始化_内核里的双网络配置及phy的初始化

    uboot 和内核里 phy 的初始化,以及内核里的双网络配置及 phy 的初始化。 本文以盈鹏飞嵌入式的CoM-335x(基于AM335x)核心板及网络芯片LAN8720 为例,说明修改步骤
    的头像 发表于 05-17 08:19 1.2w次阅读

    霍尔无刷电机如何进行程序初始化

    定时计数、接口、看门狗等在内的多种模块,多种模块设计的初始化具体过程则如下文所示:1. 对时钟频率模块的初始化,在此初始化过程中的系统振动器的振荡频率的选择,系统的时钟频率
    的头像 发表于 10-15 17:29 7645次阅读

    Nand Flash驱动(实现初始化以及读操作)

    Nand Flash驱动(实现初始化以及读操作)
    发表于 12-02 12:36 11次下载
    Nand Flash驱动(<b class='flag-5'>实现</b><b class='flag-5'>初始化</b>以及读操作)

    dart语言的变量声明与初始化

    变量是每一们语言的基础,在Dart中所有变量都是对象,并且都有一个初始化null。
    的头像 发表于 12-08 16:47 1218次阅读

    探究一种避免综合实现直接修改BRAM初始化的方法

    以交换机设计为例。在交换机设计前期,转发表项是固化在交换机内部的(给FPGA片内BRAM初始值),但是在测试过程中,往往需要对表项进行修改,如果直接修改
    的头像 发表于 02-02 14:03 937次阅读