首页 > 其他 > 详细

DDR2 ip调试问题集合

时间:2016-05-07 09:46:27      阅读:357      评论:0      收藏:0      [点我收藏+]

一、 问题描述:

ERROR:NgdBuild:455 - logical net ‘clk400m_p‘ has multiple driver(s)

ERROR:NgdBuild:455 - logical net ‘clk400m_n‘ has multiple driver(s)

解决办法:

DDR生成后有一个顶层的源文件,在那里面找到一个关于原语写的BUFG也不知是IBUFG,将这个原语跳过就可以,保存然后在编译就不报错了。

    原因分析:

DCM出来的时钟经进了BUFG,而DDR的输入时钟是从IBUFG进入的,在底层结构上BUFG不能联到IBUFG。

 

二、问题描述:

在Translate过程中出现如下错误:

"ERROR:ConstraintSystem:59 - Constraint< xxx >: NET/INST "xxx" 未找到。Please verify that:

1. The specified design element actually exists in the design.

2. The specified object is spelled correctly in the constraint source file.

    解决办法:

为了防止综合工具删除 net,应为 net 应用 "KEEP"

       另外注意检查管脚约束UCF文件中,是否有对多余的IO信号分配了同一个管脚。

 

三、 问题描述:

在implement时点击translate后,出现如下错误:

ERROR:NgdBuild:924- input pad net ‘clk‘ is driving non-buffer primitive。

意为输入信号clk未经buffer就用来驱动其他primitives了    

   原因分析:

输入时钟clk_in在作为DCM输入引脚的时候又为其他module的输入,也就是说clk有两个load,连接PLL时,输入信号先要连接到内部buffer以产生较强

的驱动能力,从而保证时钟的时序质量。但是由于输入信号的另一分支不经过任何电路就直接连接到了输出Pad ,所以存在一种可能,即连接buffer的

分支会被短路,从而失去预期的效果。即输入clk两个分支,一个直接连到模块fsm;一个连在了DCM的输入时钟源。由于经过DCM时会自动加一个buffer

缓冲器,而到fsm会直接连在一起,这样会造成DCM这一路短路出现错误。正因为如此,ISE给出了错误警告。

    解决办法:

clk只是连接一个load,就是DCM。DCM两个输出一个CLKFX_OUT_1,另外一个用CLK0_OUT,此信号和clk无论相位还是频率是一样的。

  另外: chipscope 不能用晶振输入时钟来作为采样时钟

 

四、 问题描述:

PLL或者DLL产生的时钟直接接到核上,出现如下错误

ERROR:NgdBuild:770 - BUFG ‘test_ddr2_inst/memc3_infrastructure_inst/se_input_clk.u_ibufg_sys_clk‘

And BUFG ‘pll_200m_inst/clkout1_buf‘ on net ‘clk_200m‘ are lined up in series.  

Buffers of the same direction cannot be placed in series. 

原因分析:

IBUFG和BUFG串一块儿了。

解决办法:

进到PLL或者DDR2模块里,把相应的BUFG(IBUFG)屏蔽掉。

 


DDR2 ip调试问题集合

原文:http://blog.csdn.net/dnfestivi/article/details/51330470

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!