在开始运行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运行程序比起来要慢很多