往ddr3写一些随机数,读回来校验的时候有错误,用户接口上连续写入64‘haaaa_5555_aaaa_5555,读回来的数据也是有错误的,如下图,读回来的数据应该是64‘haaaa_5555_aaaa_5555,图上可以看出很多位都错了:
我们对了下时序分析报告,发现DDRcore时序有问题
================================================================================
Preference: MAXDELAY NET "u1_ddr_sdram_mem_top/*/dqs_read*" 0.800000 nS ;
2 items scored, 2 timing errors detected.
--------------------------------------------------------------------------------
Error: 1.401ns delay on u1_ddr_sdram_mem_top/U1_ddr3_core/U1_ddr3_sdram_phy/dqs_read[1] exceeds
0.800ns delay constraint by 0.601ns
Delays Connection(s)
1.401ns R40C2A.F0 to DQS_L22.READ
Error: 1.107ns delay on u1_ddr_sdram_mem_top/U1_ddr3_core/U1_ddr3_sdram_phy/dqs_read[0] exceeds
0.800ns delay constraint by 0.307ns
Delays Connection(s)
1.107ns R22C2A.F0 to DQS_L13.READ
Warning: 1.401ns is the maximum delay for this preference.
我们用core下面的工程,它不存在这个时序问题,是因为它的user interface是悬空的。所以没有时序问题,如果一旦加上逻辑,就会出现时序问题。
希望有调过lattice DDR给支持下。
万分感谢!!!
|