完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用Vivado 2018.1,System Verilog,带有325T FPGA的KC705开发板,以及带有160T FPGA,Xillybus和PCI Express端点v3.3的自定义目标板。
我有一个很好的项目,只要我为KC705上的325T构建它就能满足时序要求。 但是,当我更改为我们的自定义目标板上的160T时,项目不再符合时间要求。 我认为问题是由于某些东西的放置或缺乏时钟约束。 请注意,KC705解决方案使用8个PCIe通道。 定制板仅使用4个PCIe通道,不幸的是它使用非推荐的通道8个中的0-3而不是8个中的4-7个。我仍在使用干净的xdc方式来解决这个问题。 目前,在重新定制Xilinx PCIe v3.3 IP后,我手动将gtxe2_channel_i的位置从GTXE2_CHANNEL_X0Y7 ... X0Y4更改为GTXE2_CHANNEL_X0Y3 ... X0Y0。 当我使用Xilinx PCIe v3.3示例项目时,此编辑完成了这项工作。 构建的示例项目和我的linux主机通过lspci识别目标板。 但是,现在我在项目中有了额外的RTL,它不再符合时间要求。 我想知道,如果移动了GTX的位置,我还需要移动其他东西,这样就可以满足时机要求。 或者,我看到我的单个失败路由涉及pipe_clock模块中的MMCM。 我想知道我的问题是否未能设置时钟约束,或者我的移动事物是否已经在现有时钟约束的支持下移出了单元格。 最后,如果必须的话,我可以看一下在配置PCIe v3.3 IP时减慢一些时钟,但我宁愿不这样做。 虽然它只是单个信号失败时序,但它似乎涉及125MHz时钟和250MHz时钟,因此它在时序报告中出现两次,因为两个不同的路径具有不同的保持时间故障。 我会附上两个时间摘要。 请注意,路径#181仅需0.513ns,但松弛率为-0.258。 为了得到非负的松弛,这条路径必须花费不可能的0.255ns。 在看到路线有多么短暂和简单之后,我称这是不可能的。 这是一个短距离低扇出的FDRE。 解决方案必须位于路径本身之外。 [编辑:请注意,此信号出现在源文件pcie_k7_vivado_pipe_clock.v中并且已指定“(* ASYNC_REG =”TRUE“,SHIFT_EXTRACT =”NO“*)”。 来源附件。 这或许意味着这个信号不应该满足时间吗? 我认为源也会导致失去定时失败。 否则,每当我跨越时钟边界时,我一直在使用set_false_path约束...] pcie_k7_vivado_pipe_clock.v 22 KB 以上来自于谷歌翻译 以下为原文 I'm using Vivado 2018.1, System Verilog, KC705 dev board with 325T FPGA, and custom target board with 160T FPGA, Xillybus, and PCI Express endpoint v3.3. I have a project that builds fine and meets timing whenever I build it for the 325T that's on the KC705. However, when I change to the 160T that's on our custom target board, the project no longer meets timing. I believe the problem is due to EITHER the placement of something or the lack of a clock constraint. Note that the KC705 solution uses 8 PCIe lanes. The custom board uses only 4 PCIe lanes, and it unfortunately uses the non-recommended lanes 0-3 out of 8 rather than 4-7 out of 8. I'm still working on a clean xdc way to address this. For now, after recustomizing the Xilinx PCIe v3.3 IP, I go manually change the placement of gtxe2_channel_i's from GTXE2_CHANNEL_X0Y7...X0Y4 to GTXE2_CHANNEL_X0Y3...X0Y0. When I was working with the Xilinx PCIe v3.3 example project, this edit did the job sufficiently. That example project built and my linux host recognized the target board via lspci. However, now that I have additional RTL in the project, it no longer meets timing. I'm wondering if, having moved the location of the GTX's being used, I need to also move something else, and this will allow timing to be met. Alternatively, I see that my single failing route is involving an MMCM in a pipe_clock module. I wonder if my problem is failing to set a clock constraint, or if my moving things around has moved a the cells out from under the auspice of an existing clock constraint. Finally, if I must, I can look at slowing down some clocks in the configure of the PCIe v3.3 IP, but I'd rather not do that. While it's just a single signal that fails timing, it seems to be involved with both a 125MHz clock and a 250MHz clock such that it appears twice in the timing report, as two different paths with different hold time failures. I'll attach BOTH timing summaries. Note that the path #181 in question only takes 0.513ns, but the slack is -0.258. In order to get non-negative slack, this path would have to take an impossible 0.255ns. I call that impossible after seeing how short and simple the route is. It's a single FDRE with low fanout over short distance. The solution must lie outside of the path itself. [EDIT: Note that this signal appears in the source file pcie_k7_vivado_pipe_clock.v and has "(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)" specified. Source attached. Does this perhaps mean that this signal is not supposed to meet timing? I would think the source would also lead to removing the timing failure. Otherwise I've been using set_false_path constraint whenever I cross clock boundaries...] pcie_k7_vivado_pipe_clock.v 22 KB |
|
相关推荐
3个回答
|
|
你好,
在Xillybus的软件包中提供的XDC文件中,有以下两行(从Xilinx的示例设计中采用): set_false_path -to [get_pins -match_style ucf * / pipe_clock / pclk_i1_bufgctrl.pclk_i1 / S0] set_false_path -to [get_pins -match_style ucf * / pipe_clock / pclk_i1_bufgctrl.pclk_i1 / S1] 因此应该忽略失败的路径。 您是否从XDC文件中删除了这些行? 或者,为什么它们不起作用? 问候, 礼 在原帖中查看解决方案 以上来自于谷歌翻译 以下为原文 Hello, In the XDC file provided in Xillybus' bundle, there are these following two lines (adopted from Xilinx' example design): set_false_path -to [get_pins -match_style ucf */pipe_clock/pclk_i1_bufgctrl.pclk_i1/S0]set_false_path -to [get_pins -match_style ucf */pipe_clock/pclk_i1_bufgctrl.pclk_i1/S1] So the failing path should have been ignored. Have you dropped these lines from your XDC file? Or else, why aren't they in effect? Regards, Eli View solution in original post |
|
|
|
你好,
在Xillybus的软件包中提供的XDC文件中,有以下两行(从Xilinx的示例设计中采用): set_false_path -to [get_pins -match_style ucf * / pipe_clock / pclk_i1_bufgctrl.pclk_i1 / S0] set_false_path -to [get_pins -match_style ucf * / pipe_clock / pclk_i1_bufgctrl.pclk_i1 / S1] 因此应该忽略失败的路径。 您是否从XDC文件中删除了这些行? 或者,为什么它们不起作用? 问候, 礼 以上来自于谷歌翻译 以下为原文 Hello, In the XDC file provided in Xillybus' bundle, there are these following two lines (adopted from Xilinx' example design): set_false_path -to [get_pins -match_style ucf */pipe_clock/pclk_i1_bufgctrl.pclk_i1/S0]set_false_path -to [get_pins -match_style ucf */pipe_clock/pclk_i1_bufgctrl.pclk_i1/S1] So the failing path should have been ignored. Have you dropped these lines from your XDC file? Or else, why aren't they in effect? Regards, Eli |
|
|
|
解决了。
非常感谢,@ billauer。 那些set_false_path在325T到160T的翻译中丢失了。 好吧,我应该对xdcs进行比我更彻底的比较分析。 至少我确实学到了足够的知识,我认为时机不应该是重要的。 以上来自于谷歌翻译 以下为原文 SOLVED. Thanks very much, @billauer . Those set_false_path's got lost in translation from 325T to 160T. Well, I should have done a more thorough comparative analysis of the xdcs than I did. At least I did learn enough that I was correct in thinking the timing there shouldn't matter. |
|
|
|
只有小组成员才能发言,加入小组>>
2424 浏览 7 评论
2826 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2294 浏览 9 评论
3375 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2465 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1237浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
590浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
452浏览 1评论
2006浏览 0评论
731浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 15:38 , Processed in 1.364285 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号