1
0
mirror of https://github.com/aolofsson/oh.git synced 2025-01-17 20:02:53 +08:00
oh/common/hdl/oh_clockgate.v
Andreas Olofsson 19fa611bb9 Massive reorganization to impove reuse
- adding more chip code
- pushing memory stuff into common
- making common "oh_" naming class
-
2015-11-30 13:45:49 -05:00

36 lines
646 B
Verilog

module oh_clockgate(/*AUTOARG*/
// Outputs
eclk,
// Inputs
nrst, clk, en, se
);
input nrst;//active low reset
input clk; //clock input
input en; //enable
input se; //scan enable
output eclk;//enabled clock
`ifdef CFG_ASIC
`else
wire en_sh;
wire en_sl;
//Turn on clock if in scan mode or if enabled
assign en_sl = en | se | ~nrst;
//making signal stable
oh_lat0 #(.DW(1)) lat0 (.out_sh (en_sh),
.in_sl (en_sl),
.clk (clk)
);
assign eclk = clk & en_sh;
`endif
endmodule // clock_gater