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

    关注

    1655

    文章

    22282

    浏览量

    630071
  • ROM
    ROM
    +关注

    关注

    4

    文章

    578

    浏览量

    88530
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1398

    浏览量

    119799

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    芯源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 4809次阅读
    使用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 574次阅读

    如何在RTT Studio中像Keil中一样定义一个RAM区域,并该区域RAM上电复位是不会被初始化的(sct分散加载)?

    在keil中可以设置一个ram的区域,存放于该区域的数据上电或复位是不会初始化的,在kei中的操作以及生成的sct文件如下: 在IAR中通过icf文件也是可以实现上述划分定义的。 那么在RTT Studio中如何实现?
    发表于 09-29 06:49

    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

    【RA-Eco-RA4M2开发板评测】RA-Eco-RA4M2 按键操作

    开发环境: IDE:MKD 5.38a Renesas RA Smart Configurator:v5.1.0 开发板:RA-Eco-RA4M2 MCU:R7FA4M2AD3CFP 1 普通方式
    发表于 04-27 23:09

    ADS1298 CONFIG2读取初始值不正常是什么原因引起的?

    你好,我从贵公司申请了几片ADS1298的芯片,使用后发现以下问题:1。芯片ID,CONFIG2读取初始值不正常2。前四个通道控制寄存器读写正常,后四个通道寄存器无法读写,请问是否出现过类似情况,望尽快回复,谢谢
    发表于 02-13 08:02

    闪速存储器属于RAM还是ROM,闪速存储器一般用来做什么的

    在数字存储技术的快速发展中,闪速存储器(Flash Memory)以其独特的性能和广泛的应用领域,成为了连接随机存取存储器(RAM)与只读存储器(ROM)之间的重要桥梁。本文将深入探讨闪速存储器的技术特性、分类及其在现代电子设备中的应用。
    的头像 发表于 01-29 16:53 1546次阅读

    闪速存储器属于RAM还是ROM,闪速存储器有哪些功能和作用

    本文旨在深入探讨闪速存储器的归属问题,即它是否属于RAMROM,同时详细阐述闪速存储器的功能与作用。
    的头像 发表于 01-29 15:21 1469次阅读

    TLC5615芯片输出的初始值是不是为0?

    TLC5615芯片输出的初始值是不是为0,还有为什么我的5615芯片我给了数据进入要么就是输出的0V要么就是输出的4.8或者5V
    发表于 01-20 09:25

    AFE4404没有接外部时钟,4404寄存器的为初始值,能够通过IIC修改寄存器值吗?

    1、首先AFE4404寄存器默认使用外部时钟,CLK引脚是否必须要先接一个时钟,通过修改寄存器的值改为内部时钟,然后再停止外部时钟?? 2、假如没有接外部时钟,4404寄存器的为初始值,能够通过IIC修改寄存器值? 3、通过IIC发送58H,但是没有返回ACK,电路是按照AFE4404EVM设计
    发表于 12-06 06:35