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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 10297|回复: 14

[原创] 分频时钟的是非

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

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

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

×
分频时钟后面跟一个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什么的就不太好了...)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-9-10 22:17 , Processed in 2.050427 second(s), 5 queries , Gzip On, Redis On.

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