FPGA: failed to route using a CLK template

CLK Net:Tdmc_Tx_Clk_OBUF may have excessive skew because 0 CLK pins and 3 NON_CLK pins failed to route using a CLK template.
谁能给出详细的解决方法
虽然你说得没能解决我的问题,但还是非常感谢。
我的问题很简单,也就是一个差分对时钟进入,还有一个晶振时钟进入,三个管脚接的都是GCLK,现将差分时钟和晶振时钟通过BUFGMUX来二选一,然后直接assign给四个输出(3个是LCLK,还有一个是差分GCLK)。带管脚综合时出现了上面的问题。希望能对证解决下

先说症状:

你的这个问题是因为你的时钟上时钟总线,这种情况百分之八十是因为你没有将其约束到clk pin上面。由于普通io到fpga各个位置的走线不同。所以存在excessive skew,也就是可接受范围以外的时钟偏移。所以报了这个warning。

warning里面也提醒你了。0 clk pin 也就是说你的时钟没有从clk pin上输入。

解决办法:
1、把这个clk扔到clk pin上即可。程序应该会自己搞定的,他会自动插入一个“高速时钟总线入口”的器件。下面有讲到。

2、当然有时候设计大了。难免这种问题。明明约束在clk pin上了。结果还是不行。这个时候需要你使用一个时钟总线的“入口”模块。xilinx里面叫BUFG,你可以自行例化一个。

例:
--VHDL version
Library UNISIM;
use UNISIM.vcomponents.all;
--这两句是调用库
--不需要components 声明
BUFG_add: BUFG
port map (
I => input, --你从普通管脚上的输入
O => output --你的时钟输出
);
------------------------分割线---------------------
//verilog version
BUFG bufg_add (
.I(input), //同VHDL
.O(output) //同VHDL
);
注意!!不需要用core generator生成一个的,综合的时候自动认识的。

gpio1是一个从普通管脚的输入时钟,然后你可以让他上时钟总线,然后这个warning就不会有了。

后面搜到一个和你比较像的例子

http://forums.xilinx.com/xlnx/board/crawl_message?board.id=Spartan&message.id=1741
你可以参考一下。

如果还不会,可以参考
D:\Xilinx\10.1\ISE\doc\usenglish\books\docs\virtex5_hdl
里面的文档。里面有讲bufg,虽然你可能用的不是v5的,但是xilinx的fpga里面bufg的例化方式和功能是一样的。

再再再有问题。。。。。直接找我吧。。。
温馨提示:答案为网友推荐,仅供参考