hw/ip/prim/rtl/prim_clock_inverter.sv Cov: 73%
1: // Copyright lowRISC contributors.
2: // Licensed under the Apache License, Version 2.0, see LICENSE for details.
3: // SPDX-License-Identifier: Apache-2.0
4: //
5: // Clock inverter
6: // Varies on the process
7:
8: module prim_clock_inverter #(
9: parameter bit HasScanMode = 1'b1
10: ) (
11: input clk_i,
12: input scanmode_i,
13: output logic clk_no // Inverted
14: );
15:
16: if (HasScanMode) begin : gen_scan
17: prim_clock_mux2 i_dft_tck_mux (
18: .clk0_i ( ~clk_i ),
19: .clk1_i ( clk_i ), // bypass the inverted clock for testing
20: .sel_i ( scanmode_i ),
21: .clk_o ( clk_no )
22: );
23: end else begin : gen_noscan
24: logic unused_scanmode;
25: assign unused_scanmode = scanmode_i;
26: assign clk_no = ~clk_i;
27: end
28:
29: endmodule
30: