[分享] spartan6 PLL IP Core使用中遇到的若干问题

VincentLee90   2019-10-12 22:00 楼主

spartan6 PLL IP Core使用中遇到的若干问题

 

 

问题1:外部clk作为全局输入时钟,分别为内部程序模块和IP核提供输入时钟,IP核分频所得时钟作为输出进行测试,Synthesize时出现如下错误:

 

 

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

image-20191012220010-1.png 改正方法:右击Synthesize—>process properties—>specific options—>取消add I/O buffers勾选项

 

 

 

 

image-20191012220010-2.png 改正方法:打开clocking wizard—>首页input clock source改为no buffer

 

 

 

 

image-20191012220010-3.png

 

 

 

 

问题2:问题1采用第①种方法处理后,Synthesize通过,translate时出现如下错误:

 

 

ERROR : NgdBuild : 924 – input pad net ‘clk’ is driving non-buffer primitives

image-20191012220010-4.png 改正方法:内部程序模块always中的触发时钟不要使用clk,改用IP核输出的时钟!

 

 

 

 

 

 

 

问题3:问题1采用第②种方法处理后,Synthesize通过,translate通过,map时出现如下错误:

 

 

ERROR : Place : 1205 – This design contains a global buffer instance, <M0 / clkout1_buf>, driving the net, <CLK_OUT1_OBUF>, that is driving the following (first 30) non-clock load pins off chip.

image-20191012220010-5.png 改正方法:报错内容中已经给出了解决方法,在ucf文件中添加如下约束

 

 

 

 

PIN "M0/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE;

 

 

PIN "M0/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE;

 

 

 

 

 

总结:

 

 

若是程序中包含有时钟管理IP核,全局时钟尽量只作为IP的输入时钟,将IP核的输出时钟作为程序其他module的触发时钟!!!

 

 

本帖最后由 VincentLee90 于 2019-10-13 21:34 编辑

回复评论 (1)

感谢楼主分享~~~

点赞  2019-10-13 10:56
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复