找回密码
 注册
关于网站域名变更的通知
查看: 517|回复: 2
打印 上一主题 下一主题

​ram使用的注意事项

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-3-26 15:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
随机存取存储器(ram)是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外)且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。ram工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。存储器是数字系统中用以存储大量信息的设备或部件,是计算机和数字设备中的重要组成部分。随机存取存储器(ram)既可向指定单元存入信息又可从指定单元读出信息。任何ram中存储的信息在断电后均会丢失,所以ram是一款易失性存储器。7 o* C8 X* p7 ~# H9 X2 [

( |. r* e9 ?9 P本篇文章存储芯片供应商英尚微电子简单介绍一下关于ram使用的注意事项。
5 ~& a4 v# F! C5 ]  E( g: w
4 c0 f7 `( U1 b(1)、资源  ]7 r: W( a* l
实际在项目中,我们需要弄清楚2个问题,方案设计上需要多大的buffer?这么大的buffer需要多少块ram?后一个问题前面已经详细说明了,前一个问题就只需要注意一点:别溢出了。写的时候控制好地址和使能信号,保证不翻转,读的时候先写后读。# Y9 V2 I: U0 B) g

! G! ~7 g/ u( \! W& y( r6 o" e(2)、ram的复位和初始化" n+ Z( y) S, ]6 O3 h1 F: b$ v5 o
首先要明确一点,ram中存放的内容是不会复位的。我们在例化ram的时候,输入的复位信号,仅仅是复位ram中的输出寄存器。那这就会带来一个问题:系统运行一段时间后复位的话,ram的值并不是我们想要的初始值。可以分2种情况考虑:2 l- {' X7 i7 m9 Q3 y' L9 N

3 e' t1 Z6 t- t9 w  t7 ]( Bram作为表项:可以在复位后,先自动对ram做一次初始化操作(即先写一遍ram),使得ram中的值变成我们想要的初始值。' k$ j7 K5 C  a. J9 S& n

( i$ P; W0 Q' o" gram作为缓存:要从方案上保证对ram的操作是先写后读,那就不会有上述的问题了。如果确实无法保证,也可以参考上述对ram初始化操作一次的方案。
* ]7 U+ S/ \+ _7 M 8 s# K  |6 w4 j- g
(3)、性能* h5 i9 D6 h0 y3 c4 s$ u8 ^+ Y) f
ram的输入输出一定要通过寄存器,记住这点,性能上不会有太大问题。
% A1 k- y3 p  K$ F/ e 6 b! k/ g' M- f; X5 U+ O
(4)、校验
) q) N) ^+ e4 F  KFPGA中的ram存在一定的软失效或者器件故障(reg和LUT也一样),对于可靠性要求不严格的场景,不需要对ram中的数据进行校验。而对可靠性要求非常高的场景,就需要校验了。
9 i; M' i" v5 ]+ I2 ~; x
5 v% F; Y- _. V" t. x/ t% ?常见的校验有2种,奇偶校验或者ECC,如果出现失效,大概率(好像是90%以上)是1bit错误。对于这种错误,奇偶和ECC校验都可行。通常的做法是在数据将要写入ram之前,先计算奇偶校验位或者ECC校验位,和原始数据一起写入ram中,读数据的时候再对读出的数据做检验,如果出现错误,上告系统软件,让上层业务决定如何处理。当前供应商的IP本身已经支持ECC校验。

' X$ S; o0 W* S, Q" R5 y1 W" [- l8 ?; ^1 {

该用户从未签到

2#
发表于 2021-3-26 15:59 | 只看该作者
ram中存放的内容是不会复位的。是的,这个需要注意。

该用户从未签到

3#
发表于 2021-3-28 15:56 | 只看该作者
学习一下,新手
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-1 20:34 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表