| // 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 |