原创 【转载】PLL模块使用中的一些错误

2010-11-16 15:41 2371 4 4 分类: FPGA/CPLD

来源:http://hi.baidu.com/hclbupt/blog/item/de3901b55fae6f7a8bd4b2f6.html


最近使用pll模块产生一些FPGA内部时钟,发现错误一大堆,费了好半天终于弄明白了。


1.综合时的错误


ERROR:Xst:2035 - Port <clk> has illegal connections. This port is connected to an input buffer and other components.
Input Buffer:


XILINX对上述错误的解决方法是:


----------------------------------------------------------------------------------------------------------------------------


XST - "ERROR:Xst:2035 - Port <signal> has illegal connection. Port is connected to input buffer and following ports Port <pin> of instance <instance> with type <typename>"



问答编号#22658
型号XST General
最后更新日期2007-04-11 00:00:00.0
记录状态Active
关键词XST, IBUF, OBUF, netlist


疑问描述


Keywords: XST, IBUF, OBUF, netlist

When attempting to instantiate a netlist, the following error occurs in XST:

"ERROR:Xst:2035 - Port <signal> has illegal connection. Port is connected to input buffer and following ports:
Port <pin> of instance <instance> with type FDCEC"



解决方案


This error will occur if the instantiated netlist contains I/O ports. There are two ways to fix this error:

1. Generate the instantiated netlist without I/O ports.
2. Instruct XST not to add I/O Buffers.

Please refer to the XST User Guide on how to disable the automatic I/O Buffer insertion.


-------------------------------------------------------------------------------------------------------------------------------


于是我找到XST User Guide文档,按照文档所说的禁掉自动I/O Buffer insertion 功能。具体做法


选中synthesize,然后process->properties->Xilinx Specific Options,把add I/O buffer 的勾去掉。


去掉勾后,synthesize通过。


2.implement错误


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


ERROR:NgdBuild:924 - input pad net 'clk' is driving non-buffer primitives


出现上述错误的原因:


字面意思是说输入信号clk未经buffer就用来驱动其他primitives了,这个primitives估计指的是我们用做输出的pad。字面意思不难理解,可是怎么修改呢。


在我们的这个例子中,clk有两个load,一个是直接到输出端的test pin,另一个是到内部PLL作为源时钟来产生系统内部时钟。连接PLL时,输入信号先要连接到内部buffer以产生较强的驱动能力,从而保证时钟的时序质量。但是由于输入信号的另一分支不经过任何电路就直接连接到了输出pad,所以存在一种可能,即连接buffer的分支会被短路,从而失去预期的效果。正因为如此,ISE给出了错误警告。


理解这一点以后,解决办法就有了。比如选择CLK经过PLL后无相位差的时钟输出作为test pin,可以达到同样效果,当然会有1个clock的延迟,但是对于时钟信号,这是观察不到的。


另外,如果CLK没有驱动PLL,只有输出到test pin这一个load,那么上述的错误警告就应该不会产生了。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条