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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9554|回复: 14

[原创] 分频时钟的是非

[复制链接]
发表于 2012-8-28 22:47:07 | 显示全部楼层 |阅读模式

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

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

x
分频时钟后面跟一个mux是再常见不过的设计,但如果处理不当,会产生毛刺,特别是有一分频的时钟,这个出来是纯组合逻辑,是个相当不好的潜在危险。
因此,最好是在时钟的无效期间进行切换,换句话说,应该先关闭时钟-产生选择信号-打开时钟,确保选择信号改变的时候,时钟不变,最好是没有选中的时钟无效
发表于 2012-8-28 23:06:31 | 显示全部楼层
本帖最后由 Timme 于 2012-8-29 00:05 编辑

回复 1# fengzhepianzhou


这个做法只是方便现有STA约束而已,因为有现成的Gating约束命令。其实并不需要这么麻烦。只需要控制原时钟在Mux处Skew大于分频时钟,就很容易实现无毛刺无延时的Mux;

实现如下图:时序约束控制Mux Cell Pin上最先到达的是分频后时钟,随后是源时钟,最后是选择信号(由分频后时钟寄存输出)。如此则不减小最小脉宽(无毛刺)。

(此方法已在Altera FPGA上验证通过,600MHz与100Hz时钟通过拨码开关动态切换无毛刺)






  1.                  ____      ____      ____      ____
  2. clk_source   ___|    |____|    |____|    |____|    |____
  3.                 ________            _________           
  4. clk_divided  __|        |__________|         |_________|
  5.                    ____________________
  6. mux_sel      _____|                    |________________
  7.                 _____      ____      ________
  8. clk_muxed    __|     |____|    |____|        |_________|


复制代码
发表于 2014-5-8 15:58:54 | 显示全部楼层
没看懂啊
发表于 2014-5-8 16:57:30 | 显示全部楼层
回复 1# fengzhepianzhou

我也遇到这个问题了,可以详细解说一下如何处理吗,谢谢
发表于 2014-5-8 19:45:46 | 显示全部楼层
发表于 2014-5-10 23:38:59 | 显示全部楼层
回复 2# Timme

TimeQuest中有什么办法能约束几个信号到达的先后顺序吗?
发表于 2014-5-10 23:41:20 | 显示全部楼层


回复  Timme

TimeQuest中有什么办法能约束几个信号到达的先后顺序吗?
加油99 发表于 2014-5-10 23:38



set_net_delay -min/max -from [get_pins ...] -to [get_pins ...]
不用get_pins后果自负...
发表于 2014-5-10 23:55:35 | 显示全部楼层
回复 7# Timme


    谢谢!记得你以前的帖子中讲过这个set_net_delay。我将去试一试。
发表于 2014-5-11 22:55:18 | 显示全部楼层
回复 7# Timme


   话说这个mux是指FPGA 里的专用的clock mux 么
   俺在ASIC里都用那种glitch free clock mux 结构,不管是不是同源分频时钟
发表于 2014-5-12 08:14:21 | 显示全部楼层


回复  Timme


   话说这个mux是指FPGA 里的专用的clock mux 么
   俺在ASIC里都用那种glitch free cl ...
wupenghhr 发表于 2014-5-11 22:55



普通LUT就可以, 当然有需要的话你要用CLKENA也行...
你的Glitch Free Clock Mux是用4个寄存器+3个NAND那种?这种会造成时钟停顿,一般是两个异步时钟切换才需要用这个。
ASIC里分频时钟直接用普通Clock Mux切换就可以了(即,用AO22+INV什么的就不太好了...)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-30 22:39 , Processed in 0.030655 second(s), 9 queries , Gzip On, MemCached On.

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