Zynq-7000 SoC、DDR — LPDDR2 动态时钟停止重启太快

描述
在没有内存事务处理执行以及如果接收到内存请求重启时钟时,用户可通过编程 LPDDR2 控制器来停止 DRAM 时钟。

当事务处理队列为空时,该控制器会适当停止时钟,但在时钟重启时,控制器会迅速发布 DRAM 事务处理。它无法识别 tXP 时序参数值。

要么不使用 LPDDR2 时钟停止特性,要么提供软件确保只有在没有 DRAM 活动时才完成时钟停止的启用/禁用。


解决方案
影响: 其它信息,请查看解决办法的详细信息。
规避措施: 不使用时钟停止特性,也可以 
在 DRAM 处于非工作状态时,手动编程停止时钟特性
配置
所受影响:
在 LPDDR2 模式下使用 PS DDR 控制器的系统
受影响的器件修订版本: 请参考(Xilinx 答复 47916) - Zynq-7000 设计咨询主答复记录

当为 LPDDR2 启用 clock_phy_stop 时,如果事务处理队列为空,控制器就会适当停止 DRAM 的时钟。在重新启动时钟之前,应该等待 tXP 加上两个时钟周期(大约五个时钟周期),但情况并非如此。

如果事务处理队列在所需延迟周期之前得到一个新事务处理,那 LPDDR2 时钟重启的速度可能就会过快。

解决方法详细信息:如果需要时钟停止特性,软件必须通过断言 reg_ddrc_clock_stop_en 位来停止时钟。软件必须注意,只有在确定主机接口上没有流量时才能执行该任务。软件必须等待 tXP+ 两个时钟周期,才能重新启用时钟。