// Copyright lowRISC contributors. | |
// Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
// SPDX-License-Identifier: Apache-2.0 | |
// | |
// Common Library: Clock Gating cell with synchronizer | |
module prim_clock_gating_sync ( | |
input clk_i, | |
input rst_ni, | |
input test_en_i, | |
input async_en_i, | |
output logic en_o, | |
output logic clk_o | |
); | |
prim_flop_2sync #( | |
.Width(1) | |
) i_sync ( | |
.clk_i, | |
.rst_ni, | |
.d_i(async_en_i), | |
.q_o(en_o) | |
); | |
prim_clock_gating i_cg ( | |
.clk_i, | |
.en_i(en_o), | |
.test_en_i, | |
.clk_o | |
); | |
endmodule |