从网上查到的资料分析,应该是PLL的相位延时有问题,SDRAM用的是SOPC里面自己带的SDRAM控制器,控制上应该没有问题,再网上也看到了一组计算公式:
SDRAM的时钟滞后控制器的时钟值读取滞后或滞后中的较小值。
读滞后:tOH(SDRAM)-tH_MAX(FPGA)
写滞后:tCLK(FPGA)-tCO(max) - tDS(SDRAM)
SDRAM的时钟超前控制器的时钟值取读超前或写超前中的较小值。
读超前:tCO_MIN(FPGA)-tDH(SDRAM)
写超前:tCLK-tHZ(SDRAM)-tSU_MAX(FPGA)
其中SDRAM中的参数我都在SDRAM的规格书中找到了那张参数表(AC CHARACTERISTICS (AC operating conditions unless otherwise noted))
而FPGA的参数,大部分我都在Queatus 9.0编译后的时序报告中找到了(tH,tSU都是在所有和SDRAM有关的信号中取一个最大值)
但是tCO(min)和tCO(max)这两个参数我一直没搞明白,时序报告中只有一个tCO。
|