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

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

3天内不再提示

如何操作ECO方式更新RAM/ROM初始值更方便?

FPGA技术驿站 来源:Lauren的FPGA 作者:Lauren的FPGA 2021-02-14 11:42 次阅读

各种类型的Memory在FPGA设计中被广泛使用,例如单端口RAM、简单双端口RAM、真双端口RAM、单端口ROM以及双端口ROM。这些RAM或ROM都可通过coe文件的形式定义其初始值。那么可能在实际应用中会出现这样一种情形:设计的其他部分未做任何改动,只是更新RAM初始值。那么该如何操作更为方便呢?

如果采用传统方式,先定义好coe文件,然后重新生成IP,这样就必须重新执行整个设计流程包括综合、布局布线,编译时间可想而知。但换个角度,细细分析一下,只是初始值改动,那么能否通过ECO(Engineering Change Order)的方式实现呢,就像更改触发器初始值或者查找表的真值表内容一样?答案是肯定的。这样做好处也是显而易见的:无需重新布局布线,只需更改RAM相关属性,然后再次生成.dcp(这个不是必须的),最后生成.bit或.bin文件,这样最大程度地继承了原有设计,也最大程度地缩短了编译时间。采用此方法的前提是RAM的规格要保持不变,这里的规格包括数据位宽和RAM深度。

这里我们以Block RAM为例,先看看有哪些属性与初始值密切相关,如下图所示。基本上凡是以INIT打头的属性都与初始值相关。更新初始值本质上就是重新设定这些初始值。这些初始值是在IP生成阶段根据coe内容被设定的。

f996776e-542a-11eb-8b86-12bb97331649.png

第一步,根据更新后的coe文件生成一个同规格的IP,并对该IP执行OOC综合。

第二步,打开第一步生成的.dcp文件,找到相应的Block RAM,获取上文提到的这些属性对应的属性值。

原文标题:ECO方式更新RAM/ROM初始值

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

责任编辑:haq

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

    关注

    1610

    文章

    21390

    浏览量

    595435
  • ROM
    ROM
    +关注

    关注

    4

    文章

    527

    浏览量

    85139
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1332

    浏览量

    113937

原文标题:ECO方式更新RAM/ROM初始值

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ramrom的作用和区别是什么

    将详细探讨RAMROM的作用和区别。 一、RAM的作用: 临时存储:RAM被用作临时存储器,用于计算机处理数据和程序时的工作区域。当计算机启动时,
    的头像 发表于 02-04 17:05 2487次阅读

    RAMROM的区别,哪个与CPU连接

    数据和指令,而ROM则用于存储计算机的基本操作系统和启动程序。本文将探讨RAMROM的区别,以及它们与CPU之间的连接方式。 首先,我们来
    的头像 发表于 01-31 14:14 1123次阅读

    romram的主要区别 rom断电后数据会丢失吗

    ,断电后数据不会丢失。ROM中的数据在制造过程中被永久地写入芯片中,并且无法从ROM中删除或修改数据。这使得ROM适用于存储永久性的固定数据,如计算机的启动程序(BIOS)、固件和操作
    的头像 发表于 01-25 10:46 1662次阅读

    MCU内部SRAM的ECC初始化竟可由ROM完成

    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是i.MXRT1170内部RAM的ECC初始化工作可全部由ROM完成。
    的头像 发表于 01-04 15:39 928次阅读

    LTC2943在初始化的时候要如何确定Qlsb的初始值呢?

    最近公司在使用一款LTC2943的库仑计,但是在初始化的时候要如何确定Qlsb的初始值呢?或者可以提供一个STM32作为MCU的例程最好。
    发表于 01-04 06:47

    C语言编程时,各种类型的变量该如何初始化?

    C语言编程时,各种类型的变量该如何初始化? 在C语言中,每个变量都需要在使用之前进行初始化。初始化是为变量分配内存空间并赋予初始值的过程。C语言提供了不同的
    的头像 发表于 12-07 13:53 772次阅读

    jvm配置堆内存初始值参数

    程序中,堆内存的初始值是非常重要的,它决定了程序在运行过程中能够使用的内存大小。因此,在优化JVM性能的过程中,对于堆内存初始值的合理配置是至关重要的。 首先,我们需要了解JVM中堆内存的基本概念
    的头像 发表于 12-05 14:17 447次阅读

    全局变量的初始值,是在哪里赋值的?

    data段data_ram初始化内容就是从data_rom来,而data_rom是从__DATA_ROM来。 那么,__DATA_
    发表于 10-27 10:18 458次阅读
    全局变量的<b class='flag-5'>初始值</b>,是在哪里赋值的?

    请问ramrom的关系是什么?

    ramrom的关系是什么
    发表于 10-19 07:26

    巧言单片机RAMROM

    巧言单片机RAMROM
    的头像 发表于 10-17 15:45 577次阅读

    在MCU编程中局部变量赋初始值的重要性

    在MCU编程中局部变量赋初始值的重要性
    的头像 发表于 10-16 18:29 515次阅读
    在MCU编程中局部变量赋<b class='flag-5'>初始值</b>的重要性

    单片机中的RAM vs ROM

    单片机中的RAM vs ROM
    的头像 发表于 09-28 17:57 832次阅读

    ch32v307的romram参数

    ch32v307的romram参数 在计算机系统中,RAMROM都是常见的存储设备。不同之处在于它们的运行方式和连续性。在本文中,我们将
    的头像 发表于 08-22 15:53 1144次阅读

    在HMI设备上进行初始值采集和条件分析所涉及的工作原理是什么?

    按照定义的顺序执行 PLC 代码视图中的条件分析评估。本示例介绍了在 HMI 设备上进行初始值采集和条件分析所涉及的工作原理。
    的头像 发表于 08-21 09:47 573次阅读
    在HMI设备上进行<b class='flag-5'>初始值</b>采集和条件分析所涉及的工作原理是什么?

    隐式初始操作说明

    在Verilog和SystemVerilog中经常需要在使用变量或者线网之前,期望变量和线网有对应的初始值
    的头像 发表于 07-24 15:00 386次阅读
    隐式<b class='flag-5'>初始</b>化<b class='flag-5'>操作</b>说明