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
    +关注

    关注

    1663

    文章

    22493

    浏览量

    638951
  • ROM
    ROM
    +关注

    关注

    4

    文章

    579

    浏览量

    89363
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1400

    浏览量

    120967

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析DS1557:功能强大的非易失性计时RAM

    RAM统一访问 :时钟寄存器与静态RAM的访问方式相同,这些寄存器位于16个顶部RAM位置,方便用户
    的头像 发表于 03-24 15:20 246次阅读

    关联使能VP时为何改变VP默认初始值?控件关联了使能VP变量,为何默认值不是0?

    关联使能VP时为何改变VP默认初始值?控件关联了使能VP变量,为何默认值不是0?
    发表于 02-03 14:19

    详细解释Keil-MDK中Code、RO-data、RW-data、ZI-data的含义

    ,这就是把RW-data与ZI-data区别存储的原因,因为在RAM创建数据的时候,默认值为0,但如果有的数据要求初值非0,那就需要使用ROM记录该初始值,运行时再复制到RAM中。
    发表于 01-21 07:19

    单片机里的程序运行方式

    数据存储器在物理结构上分程序存储器和数据存储器,有四个物理上相互独立的存储空间,即片内ROM和片外ROM,片内RAM和片外RAM。 定时器/计数器(T/C):8051单片机内有两个16
    发表于 01-16 06:57

    奇捷科技EasyAI ECO Suite即将发布

    奇捷科技将于1月29日正式发布集成AI引擎的智能ECO解决方案包——EasyAI ECO Suite。在芯片设计关键的后期阶段,ECO可能成为决定产品上市速度与成败的“终极挑战”。面对复杂EC
    的头像 发表于 01-15 16:25 958次阅读

    智能显示模块怎么在显示工程中给寄存器设置初始值?我想给变量一个上电的默认值该如何设置?

    智能显示模块怎么在显示工程中给寄存器设置初始值?我想给变量一个上电的默认值该如何设置?
    发表于 12-11 09:54

    智能显示模块怎么在显示工程中给寄存器设置初始值?我想给变量一个上电的默认值该如何设置?

    智能显示模块怎么在显示工程中给寄存器设置初始值?我想给变量一个上电的默认值该如何设置?
    发表于 12-06 10:20

    芯源MCU的RAM存储器的操作

    用户可执行的RAM 存储器操作包括:读操作、写操作。 对RAM 的读写操作支持8bit、16bi
    发表于 11-21 07:46

    使用J-Link Attach NXP S32K3导致对应RAM区域被初始化成0xDEADBEEF

    在IAR Embedded Workbench for Arm中使用J-Link Attach NXP S32K3的时候,会提示对应RAM区域被初始化成0xDEADBEEF,导致对应RAM区域的数据被“篡改”。
    的头像 发表于 11-03 15:26 5554次阅读
    使用J-Link Attach NXP S32K3导致对应<b class='flag-5'>RAM</b>区域被<b class='flag-5'>初始</b>化成0xDEADBEEF

    ram ip核的使用

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

    如何确定电能质量在线监测装置的初始报警阈值?

    确定电能质量在线监测装置的初始报警阈值,需遵循 “ 标准为基、负载为核、设备为限 ” 的原则,分 4 步完成,确保初始值既合规又贴合实际需求,避免后续频繁调整。以下是具体实操方法,附指标示例与场景
    的头像 发表于 10-10 16:57 1448次阅读

    LC87F0K08A 8位微控制器8K字节闪存ROM/384字节RAM规格书

    电子发烧友网站提供《LC87F0K08A 8位微控制器8K字节闪存ROM/384字节RAM规格书.pdf》资料免费下载
    发表于 07-17 15:33 0次下载

    【RK3568+PG2L50H开发板实验例程】FPGA部分 | ROMRAM、FIFO 的使用

    时执行的操作要在下一个时钟周期才会被采样生效。所以当前时钟还是会再从RAM 读出一个数据。 仿真代码的讲解到此结束,大家要注意时序逻辑的特点,具体的内容请看视频讲解。 3.2. ROM 仿真测试
    发表于 07-10 10:37

    stm32H743定时器溢出的原因?怎么解决?

    自动重装载功能,而是在每次的定时器中断函数中先关闭定时器,再执行装载值更新,再启动定时器。但是,项目中在某个定时期间,进行了flash操作,导致了装载值没有及时更新,定时器计数到装载值后,定时器继续
    发表于 06-23 08:26

    【RA-Eco-RA4M2开发板评测】2+uart方式

    【RA-Eco-RA4M2开发板评测】+uart方式前期,没有仿真器可用,五一假期发展了一个能在e2 studio环境下使用的工具EZ-Cube3,使用EZ-Cube3选择E2 lite工具进行调试
    发表于 05-04 16:32