为什么我在HPS LPDDR2界面上看到数据错误?-Altera-Intel社区-FPGA CPLD-ChipDebug

为什么我在HPS LPDDR2界面上看到数据错误?

由于SoC EDS软件版本16.0及更早版本中的问题,在LPDDR2模式下Cyclone®VSoC和Arria®VSoC HPS SDRAM接口上可能会出现数据错误。

FPGA逻辑(非HPS)中的硬或软LPDDR2接口不受影响。

解决/修复方法

要在SoC EDS软件版本16.0及更早版本中解决此问题,请按照以下步骤操作。

此解决方法为LPDDR2模式下的Altera HPS SDRAM控制器手动设置读 – 读和写 – 读周转的悲观值,这可能会降低性能。

1.从HPS Preloader BSP打开以下文件:u-boot-socfpga / arch / arm / cpu / armv7 / socfpga / sdram.c

2.在第1345行(u-boot 2013)之后添加下面的变通方法代码:

COMPARE_FAIL_ACTION

}

}

#万一

/ ***** START workaround设置读取读取和读取写入延迟***** /

debug(“手动配置读写周转延迟\ n”);

register_offset = 0x501c;

/ *读取原始寄存器值* /

reg_value = readl(SOCFPGA_SDR_ADDRESS + register_offset);

reg_value = 0x44400000;

if(sdram_write_verify(register_offset,reg_value)== 1){

status = 1;

COMPARE_FAIL_ACTION

}

/ ***** END解决方法***** /

/ *如果有效,则恢复SDR PHY寄存器* /

if(sdr_phy_reg!= 0xffffffff)

writel(sdr_phy_reg,SOCFPGA_SDR_ADDRESS

3.运行使清洁再生该软件预装,然后接着运行make

此问题计划在SoC EDS软件的未来版本中修复。

请登录后发表评论

    没有回复内容