标签:
一、 问题描述:
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)屏蔽掉。
标签:
原文地址:http://blog.csdn.net/dnfestivi/article/details/51330470