张贴下我今天做的测试结果的分析。大家看我分析的对不。一下我自己记录的内容:
今天是星期六,加班!
上午在100M的工作速度下,反复调节SDRAM的时钟相移,并未收到理想的效果。
下午,试着在50M下工作,时钟相移调节为20°,发现数据并未收到要求的那么多的数据。分析:我设置的突发读写长度是8。那么我采用读出要求的长度的数据是按照读出长度为1的方式下来做的,将长度除以8.得到的数据正确。无错误。适当的加大长度,依然还是能读到数据,我猜测着是不是应该和时钟相移有关。还有就是在下载完数据后,要按下复位键才可以工作,这个无法推测是什么原因了。
补充下测试方法是: 没有采用FIFO来做读写测试,直接诶在50M下写满一个bank,bank内写的是同一数据(不同的数据的话由于读写长度设定为8 不好操作)写完后读,读出 的数与设定值比较对的话,rigtht加一,错的话error加1。测试的数据是:16‘'h0000 16'h1111 16’h1234 16'habcd
16'hffff 16'h5555(我最喜欢用来测试的数)。
综上推测在100M无法工作的原因应该是PCB布线的问题,在当初布线的时候为考虑高频下,数据线、地址线长度的差值。线间距等问题。 |