clock gate cell

时间:2023-03-08 19:35:28

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