芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 311|回复: 0

【高云FPGA】更新DDR IP之后初始化不起来的问题解决方案

[复制链接]

该用户从未签到

57

主题

63

帖子

660

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
660
发表于 2024-11-25 15:04:23 | 显示全部楼层 |阅读模式
问题描述

我们使用之前提供的DDR工程,其中一些工程在新版软件中更新IP之后,明明配置一样,但是会出现DDR初始化不起来的情况,这是因为我们之前工程建立的比较早,用的软件也是很早之前的版本,在后续软件版本中,对DDR IP又进行了很多修改,其中最主要就是时钟和复位信号,这个需要根据最新手册并结合官方例程进行修改。

问题解决方法

1.参考官方例程对DDR需要的时钟,重新建立PLL IP,配置如下所示。

1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

然后在工程例化新建的代码:

7.jpg

2.DDR3 IP需要输入pll_lock信号,如果pll_lock信号没有接入PLL的LOCK信号,IP将不能检测时钟是否稳定,此时容易出现DDR初始化问题,这个lock就是上一步建立的PLL IP输出的pll_lock信号。

3.对于5A的器件,建立完DDR3 IP之后,会输出pll_stop信号,这个信号在很早的版本中没有,所以我们有的例程没有输出该信号,现在我们需要使用到该信号,该信号是memory_clk的开关,低有效,使用138K器件时,pll_stop直接接入PLL的encllk2。使用25K器件时,pll_stop需要接入转接模块pll_mDRP_intf,间接控制PLL的clkout2输出,pll_mDRP_intf的clk 与PLL的mdclk和clkin相同,添加代码如下

8.jpg

4.修改DDR IP的时钟,前面PLL IP最终配置的memory_clk为400M,具体计算请参看官方PLL IP手册中的时钟计算

6.jpg

5.将DDR3 IP的pll_stop信号引出

9.jpg

10.jpg

下面是我在ACG525开发板上修改的工程

acg525_ov5640_ddr3_tft.rar (5.1 MB, 下载次数: 32)

以下是官方给的138K和25K的DDR3 IP工程,以及25k需要的pll_mDRP_intf模块文件

DDR3_MC_PHY_1vs4_5a138k.rar (6.65 MB, 下载次数: 33)

DDR3_MC_PHY_1vs4_5a25k.rar (6.32 MB, 下载次数: 27)

pll_mDRP_intf.v (5.09 KB, 下载次数: 25)







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

GMT+8, 2024-12-26 18:13 , Processed in 0.071921 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表