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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5650|回复: 6

[求助] 求助大神,关于ICG的问题

[复制链接]
发表于 2018-7-7 16:48:15 | 显示全部楼层 |阅读模式

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

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

x
小弟前端初学者,最近做项目接触到门控时钟,不明白ICG单元为什么能够避免毛刺,输入的使能信号是不是必须和时钟同步,如果和使能信号和输出时钟不同步,是不是就不能保证输出没有毛刺呢?
求各位大神指教
发表于 2018-7-7 20:19:23 | 显示全部楼层
回复 1# wangyu135792

初学时,也曾困惑过;我来回答一下吧。




  1. icg_user icg_00 (//
  2.                 .EN(enable),
  3.                 .CLK(clk),
  4.                 .GCLK(gclk));
  5. wire gclk_and = enable & clk;


复制代码



我例化了一个ICG,输出信号是gclk, 示意图如下所示:
ICG.png
同时,也用与逻辑作了简单的gating,输出信号是gclk_and;

glitch

glitch


可以看出,如果用and gate来gating clock,那么enable 信号在高电平拉起来时,会出来一个毛刺;

但是icg 就不会存在这种问题,因为经过一级negative level sensitive latch 之后,enable 信号就必定会在低电平之后才会拉起来;

结合仿真图比较一下,应该就能明白了。
 楼主| 发表于 2018-7-7 23:46:20 | 显示全部楼层
回复 2# sdlyyuxi

谢谢帮助!

但是我还是有疑问


ICG是latch+and的结构,低电平latch在时钟上升沿处是有建立保持的要求的,那如果ICG的输入使能信号与时钟是异步的并且使能信号的跳变点恰好和时钟上沿离的很近,会不会使得latch出现亚稳态而且短时间内不能恢复,从而使输出时钟上也出现振荡呢?


也就是说你的仿真激励中如果EN的电平跳变恰好出现在CLK上升沿附近,那有没有可能因为latch出现了亚稳态,而导致门控时钟上出现不可预测的振荡呢?
发表于 2018-7-8 09:49:42 | 显示全部楼层
回复 3# wangyu135792


    ICG 和普通 and gate的差别,不在于哪一个能避免异步使能信号引入毛刺;如果enable 信号跟时钟是异步的,都没办法保证的。

    ICG 的优势在于,setup/hold 检查相对and gate 更容易满足;

    比如说,hold 检查是基于同沿检查,ICG 满足library hold time(比方说 几百ps)就够了; 而and gate 在同沿的基础上,需要半个周期的hold timing 要求(也就是所谓的enable 信号要落到时钟的低电平区)。
 楼主| 发表于 2018-7-8 22:09:44 | 显示全部楼层
回复 4# sdlyyuxi


  明白了,谢谢!
发表于 2022-4-27 17:02:55 | 显示全部楼层
学习了~
发表于 2024-3-26 16:31:35 | 显示全部楼层
学习了~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 21:41 , Processed in 0.019877 second(s), 8 queries , Gzip On, Redis On.

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