完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在我的设计中,我有几个高负荷信号,现在我认为我的定义和Xiinx对高扇出的定义是完全不同的。
如果我看到一个控制信号,当使用12.5ns周期时扇出为300,净延迟为7.5ns。 我开始担心了。 当时间报告显示我错过了我的1ns并且我有5级逻辑; 我唯一的观察是,高扇出网是问题的主要原因。 所以我转向“物理选择”来解决这个问题: 1)确保我正在进行后置安置PhysOpt我尝试过: a)AggressiveExplore b)AgressiveFanoutOpt c)AlternateReplication 2)确保我正在进行Post-Route PhysOpt以解决保持时间问题。 所有三个都改善了时间,但似乎没有解决问题,只是使放置在一个区域表现得更好,而在另一个区域表现得更差。 因此在我看来,显而易见的事情是在200-500次负载周围进行更多的扇出寄存器复制。 但我似乎无法获得P& R流程来做到这一点。 我已经避免在Synthesis中这样做了,因为我看不到它。 那么,有人可以向我解释如何修改工具是什么样的高扇出或建议一个替代流程来使其工作? 目前我正在通过Vivado一次通行证; 可能需要多次通过,但有些指导会有所帮助。 谢谢, TomT ... 以上来自于谷歌翻译 以下为原文 Within my design I have several highly loaded signals, now I think my definition and Xiinx's definition of high fanout are quite different. If I see a control signal that has a Fanout of 300 and a net delay of 7.5ns when using a 12.5ns period. I start getting concerned. When the timing report shows that I am missing my 1ns and I have 5 levels of logic; well my only observation is that high fanout net is the majority of the problem. So I turn to "phys-opt" to resolve the situation: 1) Ensuring that I am doing Post-Placement PhysOpt I have tried: a) AggressiveExplore b) AgressiveFanoutOpt c) AlternateReplication 2) Ensuring I am doing Post-Route PhysOpt to resolve hold time issues. All three improved the timing but none seem to resolve the problem, just making the placement a little better behaved in one area and little worse in another. So in my mind the obvious thing to do is to do more register replication of the fanouts around 200-500 loads. But I cannot seem to get the P&R flow to do this. I have avoided doing this in Synthesis because everywhere I look it is not advised. So can someone explain to me how to modify what the tool things is high-fanout or suggest an alternative flow to get it working? At the moment I am taking one pass through Vivado; multiple passes might be necessary but some guidance would be helpful. Thanks, TomT... |
|
相关推荐
6个回答
|
|
创建一个包含第二轮phys_opt_design命令的.tcl文件。
然后在Implementation Options> phys_opt_design tcl.post选项中指向此.tcl文件。 -------------------------------------------------- -----------------------不要忘记回答,kudo,并接受为解决方案.------------- -------------------------------------------------- ---------- 在原帖中查看解决方案 以上来自于谷歌翻译 以下为原文 Create a .tcl file that contains the second round of phys_opt_design command. Then point to this .tcl file in Implementation Options > phys_opt_design tcl.post option. ------------------------------------------------------------------------- Don't forget to reply, kudo, and accept as solution. -------------------------------------------------------------------------View solution in original post |
|
|
|
嗨@tessitd
你尝试过max_fanout约束吗? 有些事情可能会使max_fanout无法正常工作,详细信息请参见https://www.xilinx.com/support/answers/62162.html 谢谢,维杰----------------------------------------------- ---------------------------------------------请将帖子标记为 一个答案“接受为解决方案”,以防它有助于解决您的查询。如果一个帖子引导到解决方案,请给予赞誉。 以上来自于谷歌翻译 以下为原文 Hi @tessitd Did you try max_fanout constraint? There are few things that may get the max_fanout to not work as expected and details are in https://www.xilinx.com/support/answers/62162.html Thanks,Vijay -------------------------------------------------------------------------------------------- Please mark the post as an answer "Accept as solution" in case it helped resolve your query. Give kudos in case a post in case it guided to the solution. |
|
|
|
高扇出优化的工作原理如下:
1.高扇出网,在WNS的百分比内具有负松弛,被认为是复制的。 根据邻近度对负载进行群集,并为每个负载群集复制和放置驱动程序。 并非所有高扇出网都是复制的候选者。 或者,您可以在尝试再次路由设计之前添加phys_opt_design迭代以强制在特定网络上进行复制。 例如:phys_opt_design -force_replication_on_nets [get_nets [list netA netB netC]] -------------------------------------------------- -----------------------不要忘记回答,kudo,并接受为解决方案.------------- -------------------------------------------------- ---------- 以上来自于谷歌翻译 以下为原文 High-Fanout Optimization works as follows: 1. High fanout nets, with negative slack within a percentage of the WNS, are considered for replication. 2. Loads are clustered based on proximity, and drivers are replicated and placed for each load cluster. Not all high fanout nets are candidates for replication. Alternatively, you can add an iteration of phys_opt_design to force replication on specific nets before trying to route the design again. For example: phys_opt_design -force_replication_on_nets [get_nets [list netA netB netC]] ------------------------------------------------------------------------- Don't forget to reply, kudo, and accept as solution. ------------------------------------------------------------------------- |
|
|
|
维杰,
所以我会在Synthesis或P& R中设置这个约束? 那是为了max_fanout? 我可以轻松地将其设置为代码中的VHDL属性,因为我知道哪些信号先前负载很重。 我也很可能会对它们进行保留。 这是推荐的流量吗? TomT ... 以上来自于谷歌翻译 以下为原文 Vijay, So I would set this constraint in Synthesis or in P&R? That is for the max_fanout? I could easily set this as a VHDL Attribute in the code as I know which signals are heavily loaded prior. I most likely would put a KEEP on them as well. Is this the recommended flow? TomT... |
|
|
|
美惠,
我早期注意到的一件事是我不能在-force_replication_on_nets命令中使用策略。 所以这似乎是一个多次通过流程来使这项工作。 现在当前的流程是混合的,我基本上每次都从头开始构建一个项目并遵循“项目”流程。 但实际上它都是通过TCL设置的。 我不是在做“非项目”流程。 所以我看到让这个版本的phys_opt_design流程起作用是有问题的。 当我对许多网络使用“AgressiveExplore”时,phys_opt_design正在复制,当我仍然有-0.500ns的松弛时,它只是没有修复这个区域,我可以直接归因于高扇出网消耗大约7.5ns的延迟。 所以我想保留“AgressiveExplore”策略,然后再添加第二遍phys_opt_design -force_replication。 我如何在基于PROJECT的流程中执行此操作? 谢谢, TomT ... 以上来自于谷歌翻译 以下为原文 Graces, One thing I noticed early on is that I cannot use a Strategy with the -force_replication_on_nets command. So this seems to be a multi-pass flow to make this work. Now current flow is a hybrid, I basically build a project each time from scratch and follow the "Project" flow. But in reality it is all setup via TCL. I am NOT doing the "non-project" flow. So I see getting this version of the phys_opt_design flow to work is problematic. phys_opt_design is replicating when I use the "AgressiveExplore" for many nets, it just isn't fixing this one area when I still have a -0.500ns slack which I can directly attribute to the high fanout net consuming about 7.5ns of the delay. So I would like to keep the Strategy of "AgressiveExplore" but then add a second pass through the phys_opt_design -force_replication. How do I do that in a PROJECT based flow? Thanks, TomT... |
|
|
|
创建一个包含第二轮phys_opt_design命令的.tcl文件。
然后在Implementation Options> phys_opt_design tcl.post选项中指向此.tcl文件。 -------------------------------------------------- -----------------------不要忘记回答,kudo,并接受为解决方案.------------- -------------------------------------------------- ---------- 以上来自于谷歌翻译 以下为原文 Create a .tcl file that contains the second round of phys_opt_design command. Then point to this .tcl file in Implementation Options > phys_opt_design tcl.post option. ------------------------------------------------------------------------- Don't forget to reply, kudo, and accept as solution. ------------------------------------------------------------------------- |
|
|
|
只有小组成员才能发言,加入小组>>
2383 浏览 7 评论
2800 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2263 浏览 9 评论
3336 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2430 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
756浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
546浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
368浏览 1评论
1964浏览 0评论
683浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 01:33 , Processed in 1.479808 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号