clock gate cell

clock gate的cell多采用latch的形式,来实现,尽可能避免glitch的产生。

可以的verilog建模方式:

module  cell_ckgate(TE,E,CP,Q)

input TE;

input E;

input CP;

output Q;

wire E_or;

wire E_lat;

assign E_or = E | TE;

always @(CP or E_or)

      if (!CP)  begin

           E_lat <= E_or;

      end

assign Q=E_lat & CP 

endmodule

锁存器只在CP为低电平时,才可能引入enable的值,所以最终的gate之后的clock,有完整的上升沿和下降沿的半周期。

原文地址:https://www.cnblogs.com/-9-8/p/5608190.html