记录一个ISE软件使用过程中遇到的问题及解决方案。
芯片:spartan6
问题
ERROR:Place:1136 - This design contains a global buffer instance, , driving the net,>, that is driving the following (first 30) non-clock load pins.
This is not a recommended design practice in Spartan-6 due to limitations in the global routing that may cause excessive delay, skew or unroutable situations. It is recommended to only use a BUFG resource to drive clock loads. If you wish to override this recommendation, you may use the CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote this message to a WARNING and allow your design to continue.
< PIN "U_IMAGE_SEND/image_addr_y_pre_0_BUFG.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERROR:Pack:1654 - The timing-driven placement phase encountered an error.
分析
"clock_dedicated_route”错误原因有以下可能
1. 时钟没有放置在全局时钟或局部时钟管脚,这样布局就不能当做时钟分配资源
2.IO输出时钟的方式不对,在Spartan6里必须用ODDR寄存器输出,而不能直接时钟赋到一个直接连接到IO的信号。
解决
1.约束里添加 "pixclk_BUFG.O" CLOCK_DEDICATED_ROUTE = FALSE;
2.时钟输入使用专用时钟管脚;
3.IO输出时钟信号使用ODDR。