UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Adventurer
Adventurer
429 次查看
注册日期: ‎08-12-2019

门控时钟导致的hold time违例如何优化

转到解答

查看timing report,timing违例全部都是intra-clock,而且全部都是hold error, setup正常,分析了几十个path,发现错误基本都是一种情况,就是门控时钟路径导致的,设计中确实需要用到很多个BUFGMUX,RTL无法修改。

门控时钟是如何导致hold time违例的?如何进行时序优化呢?

0 项奖励
1 个已接受解答

已接受的解答
Moderator
Moderator
311 次查看
注册日期: ‎11-05-2010

回复: 门控时钟导致的hold time违例如何优化

转到解答

Hi, @hotsauce_xu ,

当前设计的时钟结构对FPGA设计不友好,重申一下: 光靠策略解决这个hold time 的问题是不现实的.

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
8 条回复8
Moderator
Moderator
416 次查看
注册日期: ‎11-05-2010

回复: 门控时钟导致的hold time违例如何优化

转到解答

由于时钟结构不平衡导致的过大Hold time 违例(比如-1ns左右的slack),在不修改设计的情况下,工具是无法直接修复的.

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Xilinx Employee
Xilinx Employee
414 次查看
注册日期: ‎07-17-2008

回复: 门控时钟导致的hold time违例如何优化

转到解答

intra-clock是同一个时钟域,hold违例一般是时钟结构不合理造成的,导致clock path skew很大。

你可以查看一下时钟到源和目的同步器件分别是如何连接的,或者贴一下时序报告中相关的具体路径。

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Adventurer
Adventurer
392 次查看
注册日期: ‎08-12-2019

回复: 门控时钟导致的hold time违例如何优化

转到解答

服务器加密了不方便提出log,hold time violation总共-2153ns,查看了几十条error path,发现情况都差不多,arrival time 小于required time,其中source clock path上有4个BUFGCTRL和2个BUFGCE,destination clock path上有2个BUFGCTRL和2个BUFGCE

0 项奖励
Adventurer
Adventurer
390 次查看
注册日期: ‎08-12-2019

回复: 门控时钟导致的hold time违例如何优化

转到解答
可不可以通过修改网表来修复呢?
0 项奖励
Adventurer
Adventurer
379 次查看
注册日期: ‎08-12-2019

回复: 门控时钟导致的hold time违例如何优化

转到解答

PLL --> BUFGCE_DIV --> BUFGMUX--->BUFGCE --->BUFGCE----->BUFGCE--->BUFGCE---->BUFGCE ----> source clock 驱动FDCE --->LUT------->FDCE

                                                                                            |

                                                                                            |--------->BUFGCE------------------------> destination clock(接到上面的最后一个FDCE的clock端)

0 项奖励
Adventurer
Adventurer
377 次查看
注册日期: ‎08-12-2019

回复: 门控时钟导致的hold time违例如何优化

转到解答
由于这个IC设计里面用了大量的门控时钟和时钟选择(低功耗设计,FPGA用于IC原型验证),所以IC设计人员也不允许我们修改RTL,只能通过FPGA优化。
我们尝试了不同的implementation策略,比如holdFix之类的,但是没什么效果
0 项奖励
Xilinx Employee
Xilinx Employee
343 次查看
注册日期: ‎07-17-2008

回复: 门控时钟导致的hold time违例如何优化

转到解答

@hotsauce_xu  已写:

PLL --> BUFGCE_DIV --> BUFGMUX--->BUFGCE --->BUFGCE----->BUFGCE--->BUFGCE---->BUFGCE ----> source clock 驱动FDCE --->LUT------->FDCE

                                                                                            |

                                                                                            |--------->BUFGCE------------------------> destination clock(接到上面的最后一个FDCE的clock端)


做了如此多BUFGCE的级联,source clock和destination clock的结构相差太大,如Hong所说,不做RTL优化工具是无法自动修正hold违例的。

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Moderator
Moderator
312 次查看
注册日期: ‎11-05-2010

回复: 门控时钟导致的hold time违例如何优化

转到解答

Hi, @hotsauce_xu ,

当前设计的时钟结构对FPGA设计不友好,重申一下: 光靠策略解决这个hold time 的问题是不现实的.

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励