LATTICE ECP3 ECP5 FPGA DDR3调试经验分享stephen20175年前发布2022DDR3调试故障 功能: 先写一定内存容量,再读出这一定内存容量,一直循环。例如先写完2G数据,再读出这2G数据,一直循环。 故障现象: 写完1G后读1G,读写一致,大于1G后,读写不一致,通过reveal发现1G后的数据,往1G内存空间写。 故障定位: 客户的板子以8G的DDR3来制作PCB,地址的A15/A14/A13,接到Bank0(bank电压为3.3V),通过分压方式接到DDR3,如下图。 详情见第一个回答 FPGAlattice
通过示波器抓取A13的分压前后(a、b)的信号和RAS行选通信号,发现分压前后的A13有3~4ns延时,RAS信号分压前的A13对齐,但与分压后的A13不对齐,造成无法采样到A13为高,因此对于DDR3来说A15/A14/A13为低,一致读写1G的内容。
分压前后延时(黄色为分压前信号,绿色为分压后信号)
RAS信号和分压后信号波形(黄色为分压后信号,绿色为RAS信号)
RAS为低时,分压后信号还没为高。
实战分享,很好!!!