trouble 发表于 2012-6-13 15:10:19

关于RAM的读写问题

我现在用CPLD做读写RAM的时序逻辑,碰到这样一个问题:我用的SRAM是IS61LV16,操作的晶振速度为100MHZ,我的时序要求是不断地对SRAM进行一次读和一次写。用的是状态机实现控制SRAM的CS,OE,WE和RD信号。其中对于读需要3个状态(RD信号分别为高低高),写需要3个状态(WR信号分别为高低高)。其实完成一次读写操作需要6个晶振周期。现在遇到的问题是偶尔读出的数据是错的。我感觉应该是SRAM读写切换的时间有问题。
我的目标是进一步提高读写速度,而且解决这个偶尔出现的数据错误的问题(只是相邻两个地址处偶尔有问题)。
但我现在晶振速度不能再减了,要求最低接入100MHZ,而且读写速度也是最慢了,只能提高不能再减少了。我想用SDRAM或DDR,比如我正在看MT46V128M16的datasheet,我看了后感觉读写切换的话也至少需要6个周期,这样的话我只能单纯提高晶振周期,因为我认为我现在的晶振周期已经比较高了,再提高的话对电路板的设计有影响。(我用的是CPLD,也不能倍频。)
请教各位能否指教一下,在不提高晶振的前提下,怎么样再提高我的读写速度,而且能够保证数据的正确性。谢谢!

trouble 发表于 2012-6-13 15:10:34

自己顶一个,先

NJ8888 发表于 2012-6-13 17:02:50

本帖最后由 NJ8888 于 2012-6-13 17:05 编辑

你是读写读写读写吗?地址如何变?为何是这样奇怪的访问?

redroof 发表于 2012-6-13 17:21:59

SRAM单纯做读的极限是每个时钟周期可以执行一次。
需要读的时候读线可以常低,没必要切换读线
写最快是2个时钟,写线低一个时钟,写线高一个时钟

问题的关键在于你的SRAM有多高的速度,算算时序够不够

kebaojun305 发表于 2012-6-13 17:25:32

不如用带PLL的 FPGA (和CPLD价格基本一样) 带SDRAM    呵呵只是个建议至于你现在出现的问题 肯定是逻辑上或时序上哪里有问题。这点信息 估计很难帮到你

trouble 发表于 2012-6-13 19:58:37

1、我的顺序确实是读写读写。。。。,地址是根据具体需要改变;
2、对于6个状态,正是因为在读写之间需要地址变化,因此要在读写之间增加两个状态,一个是读完,一个是准备写。
3、我的时序应该没什么问题,只是偶尔会错。
有可能我刚才没说清楚,我现在理想目标是能以33MHZ的速度完成一次读和写。而现在只能是100/6=16MHZ。请问有没有解决的办法

NJ8888 发表于 2012-6-13 21:08:29

100MHz时钟,20ns写读个一次

本帖最后由 NJ8888 于 2012-6-13 21:09 编辑

trouble 发表于 2012-6-13 21:26:56

这样的话,选什么SRAM芯片呢?这么快的速度,而且读写不需要切换时间吗?

wye11083 发表于 2012-6-14 21:56:30

不可能。33M就够呛了。没有几个SRAM能跑到60ns以上,除非用Pipelined SRAM。那玩意能跑300M。

NJ8888 发表于 2012-6-14 22:33:39

,,62

wye11083 发表于 2012-6-14 21:56 static/image/common/back.gif
不可能。33M就够呛了。没有几个SRAM能跑到60ns以上,除非用Pipelined SRAM。那玩意能跑300M。 ...

-8 -10 -12的 ISSI公司的61系列都是高速静态的,-10代表访问周期10ns,-8代表8ns62系列是低功耗 70ns的
页: [1]
查看完整版本: 关于RAM的读写问题