|
发表于 2018-7-7 20:19:23
|
显示全部楼层
回复 1# wangyu135792
初学时,也曾困惑过;我来回答一下吧。
- icg_user icg_00 (//
- .EN(enable),
- .CLK(clk),
- .GCLK(gclk));
- wire gclk_and = enable & clk;
复制代码
我例化了一个ICG,输出信号是gclk, 示意图如下所示:
同时,也用与逻辑作了简单的gating,输出信号是gclk_and;
glitch
可以看出,如果用and gate来gating clock,那么enable 信号在高电平拉起来时,会出来一个毛刺;
但是icg 就不会存在这种问题,因为经过一级negative level sensitive latch 之后,enable 信号就必定会在低电平之后才会拉起来;
结合仿真图比较一下,应该就能明白了。 |
|