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,有完整的上升沿和下降沿的半周期。

posted @ 2016-06-22 18:46  _9_8  阅读(1707)  评论(0编辑  收藏  举报