完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我正在从Spartan IIe - > Spartan 6移植一个巨大的设计 Spartan 6不支持Librarly DLLCLK,因此我决定选择DCM / PLL 50MHz输入时钟 旧的设计 Clock_from_PIN - > IBUF - > CLKDLL - > BUFG - > System_clock(50MHz) ---> BUFG - > Baud_Clock CLKDLL产生的10 MHz波特率,用作5个SPI通道的波特时钟(tclk) 我的主要问题是我得到一个错误,说systenm不喜欢Baud_clock在全局路由上 “错误:位置:1136 - 此设计包含一个全局缓冲区实例,驱动网络,驱动以下(前30个)非时钟加载引脚” 我补充道 PIN“bufg_baud_clock.O”CLOCK_DEDICATED_ROUTE = FALSE; 哪个摆脱了错误。 但问题是,我发现系统时钟和波特时钟的偏差都要大很多。 任何帮助深表感谢。 谢谢 以上来自于谷歌翻译 以下为原文 Hi All, I am porting a huge design from Spartan IIe --> Spartan 6 The Librarly DLLCLK is not supported in Spartan 6, so I decided to choose DCM/PLL 50MHz input clock Old design Clock_from_PIN --> IBUF --> CLKDLL --> BUFG --> System_clock (50MHz) ---> BUFG --> Baud_Clock The 10 MHz Baud generated by the CLKDLL that is used as a Baud clock for the 5 SPI channels (tclk) My main issue is that I get an error saying that the systenm doesn't like Baud_clock to be on the global route "ERROR:Place:1136 - This design contains a global buffer instance, following (first 30) non-clock load pins" I added PIN "bufg_baud_clock.O" CLOCK_DEDICATED_ROUTE = FALSE; Which got rid of the error. But the issue is that I see a lot larger skew on both System clock and the Baud clock. Any help is much appreciated. Thanks |
|
相关推荐
3个回答
|
|
@gszakacsgszakacs
非常感谢你的答复。 我跟着你提到的。 删除了我的时钟和波特率的BUGG。 创建了一个DCM,CLK_out1为50MHz,CLK_out2为10MHz。 我还删除了IBUF的时钟输入。 但我仍然得到以下错误 错误:位置:1136 - 此设计包含一个全局缓冲区实例,驱动网络,驱动以下(前30个)非时钟加载引脚。 这不是Spartan-6中推荐的设计实践,因为全局布线的限制可能导致过度延迟,歪斜或不可路由的情况。 建议仅使用BUFG资源来驱动时钟负载。 如果您希望覆盖此建议,可以使用.ucf文件中的CLOCK_DEDICATED_ROUTE约束(如下所示)将此消息降级为警告并允许您的设计继续。 错误:包装:1654 - 时序驱动的放置阶段遇到错误。 以上来自于谷歌翻译 以下为原文 @gszakacs gszakacs Thank you very much for the reply. I followed what you mentioned. removed the BUGG for both my clocks and the Baudrate. Created a DCM with CLK_out1 at 50MHz and CLK_out2 at 10MHz. I also removed the IBUF for the clock input. But I still get the following error ERROR:Place:1136 - This design contains a global buffer instance, following (first 30) non-clock load pins. < PIN: port_spi_gc/sd_spi_xcvr_1/_n2072_inv1.A3; > < PIN: port_spi_gc/sd_spi_xcvr_1/_n2072_inv1.A3; > < PIN: port_spi_fs_rc/spi_xcvr_1/loopback_1/Mmux_rxclk_out11.A5; > < PIN: port_spi_gc/sd_spi_xcvr_1/_n2602_inv1.A3; > < PIN: port_spi_gc/sd_spi_xcvr_1/Mmux_b111.A4; > < PIN: port_spi_gc/sd_spi_xcvr_1/tx_frame_rstpot.A3; > < PIN: port_spi_gc/sd_spi_xcvr_1/Mmux_b111.A5; > < PIN: port_spi_gc/sd_spi_xcvr_1/frame_state_FSM_FFd1-In1.A6; > < PIN: port_spi_gc/sd_spi_xcvr_1/frame_state_FSM_FFd1-In1.A6; > < PIN: port_spi_gc/sd_spi_xcvr_1/frame_state_FSM_FFd1-In1.A6; > < PIN: port_spi_gc/sd_spi_xcvr_1/frame_state_FSM_FFd2-In11.A6; > < PIN: port_spi_gc/sd_spi_xcvr_1/frame_state_FSM_FFd2-In1.A6; > < PIN: port_spi_gc/sd_spi_xcvr_1/frame_state_FSM_FFd2-In1.A6; > < PIN: port_spi_gc/sd_spi_xcvr_1/frame_state_FSM_FFd3-In.A5; > < PIN: port_spi_gc/sd_spi_xcvr_1/frame_state_FSM_FFd3-In.A5; > < PIN: port_spi_gc/spi_xcvr_1/frame_state_FSM_FFd3-In.A5; > < PIN: port_spi_gc/spi_xcvr_1/tx_frame_rstpot.A3; > < PIN: port_spi_gc/spi_xcvr_1/tx_frame_rstpot.A3; > 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 "DCM_Clocks/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; > ERROR:Pack:1654 - The timing-driven placement phase encountered an error. |
|
|
|
看起来你的代码使用的是baud_clock信号而不是时钟。
Spartan 6时钟路由结构不支持此功能。 不知道你的设计应该如何工作,目前尚不清楚如何解决这个问题。 在任何情况下,它都在层次结构中的“port_spi_gc”或“port_spi_fs_rc”下。 如果这些是为Spartan 2e构建的核心,则需要重新生成它们。 如果你有他们的源代码,那么也许你可以在这里发布它以获得更多建议。 - Gabor 以上来自于谷歌翻译 以下为原文 It looks like you have code that is using the baud_clock signal other than as a clock. The Spartan 6 clock routing structure does not support this. Not knowing how your design is supposed to work, it isn't clear how to fix this. In any case it is all under "port_spi_gc" or "port_spi_fs_rc" in the hierarchy. If these were cores built for Spartan 2e you would need to regenerate them. If you have the source code for them, then maybe you could post it here for more suggestions. -- Gabor |
|
|
|
设计非常庞大,遍布各处。
发表它是不可能的 我看到Baud_clock最终位于两个位置sd_spi_xcvr_1和spi_xcvr_1。 与Sysclk相同。 我正在考虑为devision创建一个DCM,并将它放在这两个模块(没有BUFG的DCM)中,这样就可以在本地创建Baud时钟。 请让我知道你的想法。 以上来自于谷歌翻译 以下为原文 The design is huge and all over the place. It will be impossible for me to post it I see that the Baud_clock end up at two location sd_spi_xcvr_1 and spi_xcvr_1. Same as Sysclk. I was thinking to create a DCM only for the devision and put it in these two modules (DCM with no BUFG) that way the Baud clock is created locally. Please let me know your thoughts. |
|
|
|
只有小组成员才能发言,加入小组>>
2423 浏览 7 评论
2824 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2294 浏览 9 评论
3374 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2465 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1180浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
587浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
452浏览 1评论
2005浏览 0评论
731浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 02:08 , Processed in 1.807733 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号