在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8460|回复: 7

[求助] 关于Pulse Width violation该如何解决呢?

[复制链接]
发表于 2018-12-20 15:51:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
如题,Pulse Width violation一般是由什么引起的呢?该如何去解决呢?Vivado时序报违例的点也很奇怪哦,在SRL16E/CLK这些Lib Pin上,Location是在SLICE_X189Y511等位置(举例),逻辑上的Pin是在代码里的clk端,不知道该如何解决,特来请教下大家。
发表于 2018-12-21 15:27:13 | 显示全部楼层
有可能是门控时钟逻辑,可以实际追一下这些clk的激励是哪里?如果是一个clkgate,再看看EN哪里激励的。另外也看看这些pulse是正常时钟宽度变短还是毛刺?
 楼主| 发表于 2018-12-22 10:16:20 | 显示全部楼层
回复 2# gaurson


   是这样的,这一个时钟切换逻辑是通过assign ? : 语句实现的,这个肯定会引入毛刺吧,本来在芯片上会有专门的器件,但是在FPGA上时没注意就用这种方式了,后来把这个assign ? : 语句改为xilinx的bufgmux_ctrl来实现。虽然在最后的网表中可以看到,不管是assign ? : 方式还是bufgmux_ctrl方式,最后都是用bufgctrl来做的,只不过接线不一样,这个我看下手册看看这个时钟资源。
 楼主| 发表于 2018-12-22 10:18:16 | 显示全部楼层
回复 2# gaurson


   虽然现在版本里没有pulse width的违例了,但是还是不太明白怎么修这个违例,以及为啥会产生的原因,就是因为时钟切换/门控/毛刺的影响吗?
发表于 2018-12-22 13:42:06 | 显示全部楼层
我做IC的,遇到的情况大概都是如此,一般很少遇到这样的违例。FPGA的话,约束相对容易做,这种问题可能不是时序导致的,有可能就是组合逻辑带来的影响。而且你也要分析毛刺本身,是 周期性的还是突发性的,才能采取相应的解决办法。
 楼主| 发表于 2018-12-22 13:58:23 | 显示全部楼层
回复 5# gaurson


   多谢您的回复。有时门控不妥就会产生这样的问题,或者组合逻辑导致的?之前看了下资料确认了这个问题是由于,在FPGA上DISABLE了芯片代码的MUX逻辑之后,用assign实现,导致FPGA在综合实现时的MUX未做特殊处理,sel信号一来,时钟马上就切换,会有问题。现在采用xilinx的mux器件后,在sel变化时,它不会马上切换,会等待切换时钟一个"1"->"0"的跳变之后,才会切换时钟,这样,pulse width就没有报violation了。
发表于 2018-12-23 21:31:11 | 显示全部楼层
是的。
 楼主| 发表于 2019-2-28 09:34:42 | 显示全部楼层
贴一个关于时序报告的帖子,共勉。如何阅读 Vivado中的Timing Report
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-15 08:21 , Processed in 0.021716 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表