Nios系统中SDRAM的verify failed问题的解决

在开始运行HELLOLED时出现

 

verifying 02000000(0%)

verify failed between address ****  and ****

leaving target paused 

 

刚开始以为引脚设置不对,后来在网上查找才知道SDRAM出现这种问题大部分是由于时钟相位设置不对才出现的,板子上的内存颗粒使用

MT48LC4M32B2P-7G

 

并且在QUARTUS里设置SDRAM的时钟与在SOPC里设置的SDRAM控制器的时钟应该不一样,在我的系统里SDRAM的时钟引脚接的是

PLL里无相移的时钟50MHz,而SDRAM的时钟控制器接的为偏移了-45.43dg的时钟,这样才能保证内存刷新的同步

 

在SOPC中设置SDRAM控制器的CL=3,但由于内存的时钟频率为50MHz,所以在设置访问时间(tAC)时不能用DATASHEET里的5.5ns,设置成8ns 和 17ns都可以,但不知是为何

 

并且使用SDRAM运行程序和SRAM运行程序比起来要慢很多

 

你可能感兴趣的:(Nios系统中SDRAM的verify failed问题的解决)