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加上两个时钟周期。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 14:52:38 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它