关于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,也不能倍频。)
请教各位能否指教一下,在不提高晶振的前提下,怎么样再提高我的读写速度,而且能够保证数据的正确性。谢谢! 自己顶一个,先 本帖最后由 NJ8888 于 2012-6-13 17:05 编辑
你是读写读写读写吗?地址如何变?为何是这样奇怪的访问? SRAM单纯做读的极限是每个时钟周期可以执行一次。
需要读的时候读线可以常低,没必要切换读线
写最快是2个时钟,写线低一个时钟,写线高一个时钟
问题的关键在于你的SRAM有多高的速度,算算时序够不够 不如用带PLL的 FPGA (和CPLD价格基本一样) 带SDRAM 呵呵只是个建议至于你现在出现的问题 肯定是逻辑上或时序上哪里有问题。这点信息 估计很难帮到你 1、我的顺序确实是读写读写。。。。,地址是根据具体需要改变;
2、对于6个状态,正是因为在读写之间需要地址变化,因此要在读写之间增加两个状态,一个是读完,一个是准备写。
3、我的时序应该没什么问题,只是偶尔会错。
有可能我刚才没说清楚,我现在理想目标是能以33MHZ的速度完成一次读和写。而现在只能是100/6=16MHZ。请问有没有解决的办法
100MHz时钟,20ns写读个一次
本帖最后由 NJ8888 于 2012-6-13 21:09 编辑这样的话,选什么SRAM芯片呢?这么快的速度,而且读写不需要切换时间吗?
不可能。33M就够呛了。没有几个SRAM能跑到60ns以上,除非用Pipelined SRAM。那玩意能跑300M。
,,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]