blob: 79390069754c202c266d5a7c09ac674cf3aa49cc [file] [log] [blame]
// ========== Copyright Header Begin ==========================================
//
// OpenSPARC T1 Processor File: ctu_clsp_clkgn_clksw.v
// Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
//
// The above named program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public
// License version 2 as published by the Free Software Foundation.
//
// The above named program is distributed in the hope that it will be
// useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this work; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
//
// ========== Copyright Header End ============================================
//
// Cluster Name: CTU
// Unit Name: ctu_clsp_clkgn_clksel
//
//-----------------------------------------------------------------------------
`include "sys.h"
module ctu_clsp_clkgn_clksw(/*AUTOARG*/
// Outputs
cmp_tst_clk, cmp_clk_sel, dram_tst_clk, dram_clk_sel, jbus_tst_clk,
jbus_clk_sel,
// Inputs
io_pwron_rst_l, jtag_clock_dr_cmp, jtag_clock_dr_jbus,
jtag_clock_dr_dram, capture_l, jtag_clsp_sel_cpu, jtag_clsp_sel_dram,
jtag_clsp_sel_jbus, jbus_alt_bypsel_l,
cmp_div_bypass, cmp_gclk_bypass, jbus_div_bypass, jbus_gclk_bypass,
dram_gclk_bypass, testmode_l, cmp_nstep_sel, jbus_nstep_sel,
dram_nstep_sel
);
input io_pwron_rst_l;
input jtag_clock_dr_cmp;
input jtag_clock_dr_jbus;
input jtag_clock_dr_dram;
input capture_l;
input [2:0] jtag_clsp_sel_cpu;
input [2:0] jtag_clsp_sel_dram;
input [2:0] jtag_clsp_sel_jbus;
input jbus_alt_bypsel_l;
input cmp_div_bypass;
input cmp_gclk_bypass;
input jbus_div_bypass;
input jbus_gclk_bypass;
input dram_gclk_bypass;
input testmode_l;
input cmp_nstep_sel;
input jbus_nstep_sel;
input dram_nstep_sel;
output cmp_tst_clk; // to sync mux
output cmp_clk_sel; // to sync mux
output dram_tst_clk;
output dram_clk_sel;
output jbus_tst_clk;
output jbus_clk_sel;
/* ctu_clsp_clkgn_clksel AUTO_TEMPLATE (
.sel (jtag_clsp_sel_cpu[2:0]),
.sysclk(cmp_gclk_bypass),
.divbypclk(cmp_div_bypass),
.clkout(cmp_tst_clk),
.sysclk_sel(cmp_clk_sel),
.nstepsel(cmp_nstep_sel),
.jtag_clock_dr(jtag_clock_dr_cmp),
.byp_mult_sel_l(1'b0),
.bypmode(1'b0),
);
*/
ctu_clsp_clkgn_clksel u_cmp(/*AUTOINST*/
// Outputs
.clkout (cmp_tst_clk), // Templated
.sysclk_sel(cmp_clk_sel), // Templated
// Inputs
.io_pwron_rst_l(io_pwron_rst_l),
.sel (jtag_clsp_sel_cpu[2:0]), // Templated
.testmode_l(testmode_l),
.sysclk (cmp_gclk_bypass), // Templated
.divbypclk(cmp_div_bypass), // Templated
.byp_mult_sel_l(1'b0), // Templated
.nstepsel(cmp_nstep_sel), // Templated
.jtag_clock_dr(jtag_clock_dr_cmp), // Templated
.capture_l(capture_l),
.bypmode (1'b0)); // Templated
/* ctu_clsp_clkgn_clksel AUTO_TEMPLATE (
.sel (jtag_clsp_sel_jbus[2:0]),
.sysclk(jbus_gclk_bypass),
.divbypclk(jbus_div_bypass),
.clkout(jbus_tst_clk),
.sysclk_sel(jbus_clk_sel),
.nstepsel(jbus_nstep_sel),
.jtag_clock_dr(jtag_clock_dr_jbus),
.byp_mult_sel_l(jbus_alt_bypsel_l),
.bypmode(jtag_clsp_sel_jbus[2]),
);
*/
ctu_clsp_clkgn_clksel u_jbus(/*AUTOINST*/
// Outputs
.clkout (jbus_tst_clk), // Templated
.sysclk_sel(jbus_clk_sel), // Templated
// Inputs
.io_pwron_rst_l(io_pwron_rst_l),
.sel (jtag_clsp_sel_jbus[2:0]), // Templated
.testmode_l(testmode_l),
.sysclk (jbus_gclk_bypass), // Templated
.divbypclk(jbus_div_bypass), // Templated
.byp_mult_sel_l(jbus_alt_bypsel_l), // Templated
.nstepsel(jbus_nstep_sel), // Templated
.jtag_clock_dr(jtag_clock_dr_jbus), // Templated
.capture_l(capture_l),
.bypmode(jtag_clsp_sel_jbus[2])); // Templated
/* ctu_clsp_clkgn_clksel AUTO_TEMPLATE (
.sel (jtag_clsp_sel_dram[2:0]),
.sysclk(dram_gclk_bypass),
.divbypclk(1'b0),
.clkout(dram_tst_clk),
.sysclk_sel(dram_clk_sel),
.nstepsel(dram_nstep_sel),
.jtag_clock_dr(jtag_clock_dr_dram),
.byp_mult_sel_l(1'b1),
.bypmode(1'b0),
);
*/
ctu_clsp_clkgn_clksel u_dram (/*AUTOINST*/
// Outputs
.clkout(dram_tst_clk), // Templated
.sysclk_sel(dram_clk_sel), // Templated
// Inputs
.io_pwron_rst_l(io_pwron_rst_l),
.sel (jtag_clsp_sel_dram[2:0]), // Templated
.testmode_l(testmode_l),
.sysclk(dram_gclk_bypass), // Templated
.divbypclk(1'b0), // Templated
.byp_mult_sel_l(1'b1), // Templated
.nstepsel(dram_nstep_sel), // Templated
.jtag_clock_dr(jtag_clock_dr_dram), // Templated
.capture_l(capture_l),
.bypmode(1'b0)); // Templated
endmodule
// Local Variables:
// verilog-library-directories:("." "../../common/rtl")
// verilog-library-files:("../common/rtl/ctu_lib.v" "../../common/rtl/swrvr_clib.v")
// verilog-auto-sense-defines-constant:t
// End: