[X]关闭

ddr3遇到一个很奇葩的问题。。。

文档创建者:Milinker_XU
浏览次数:7986
最后更新:2015-12-29
最近在看603的教程,在测试DDR3的时候,遇到个问题,找了好久没找到,现贴出来,望谁解释下。完全按照教程,搭建的环境如下

Synthesize当然没问题,可是当运行到Implement Design的时候,出现了

没搞明白,开始以为自己时钟挂错了,有问题,clk被多个信号驱动,找了好长时间,没发现问题。后来将汤总的603例程里面生成的DDR3 rtl复制替换到我程序,其他时钟和读写程序都不变,只替换ddr3_mig。这样就好了,不明白,这个DDR3 ip不是生成的吗?不作修改的吗?难道汤总改了什么?谁解释下,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

发表评论已发布 2

Milinker_XU

发表于 2015-12-28 20:44:32 | 显示全部楼层

终于解决了,原来是一个原语问题,在控制器infrastructure.v文件中,
      //***********************************************************************
      // SINGLE_ENDED input clock input buffers
      //***********************************************************************

      IBUFG  u_ibufg_sys_clk
          (
           .I  (sys_clk),
           .O  (sys_clk_ibufg)
           );
存在这样的原语,初看以为没什么问题,可是IBUFG即全局输入缓存,是与专用全局时钟输入引脚相连接的首级全局缓冲。将程序改成:
      //***********************************************************************
      // SINGLE_ENDED input clock input buffers
      //***********************************************************************

//      IBUFG  u_ibufg_sys_clk
//          (
//           .I  (sys_clk),
//           .O  (sys_clk_ibufg)
//           );

                assign sys_clk_ibufg=sys_clk;
重新编译,问题终于解决了。

贾文洋

发表于 2015-12-29 09:41:33 | 显示全部楼层

学习啦!
回复

使用道具 举报

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

本版积分规则