blob: ae8f6b62f4c739874f2003165297267763a6a047 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
//
// Clock inverter
// Varies on the process
module prim_generic_clock_inv #(
parameter bit HasScanMode = 1'b1
) (
input clk_i,
input scanmode_i,
output logic clk_no // Inverted
);
if (HasScanMode) begin : gen_scan
prim_generic_clock_mux2 i_dft_tck_mux (
.clk0_i ( ~clk_i ),
.clk1_i ( clk_i ), // bypass the inverted clock for testing
.sel_i ( scanmode_i ),
.clk_o ( clk_no )
);
end else begin : gen_noscan
logic unused_scanmode;
assign unused_scanmode = scanmode_i;
assign clk_no = ~clk_i;
end
endmodule : prim_generic_clock_inv