| // ========== Copyright Header Begin ========================================== |
| // |
| // OpenSPARC T1 Processor File: cpx_dp_halfarray.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 ============================================ |
| //////////////////////////////////////////////////////////////////////// |
| /* |
| // Description: datapath portion of CPX |
| */ |
| //////////////////////////////////////////////////////////////////////// |
| // Global header file includes |
| //////////////////////////////////////////////////////////////////////// |
| |
| `include "sys.h" // system level definition file which contains the |
| // time scale definition |
| |
| `include "iop.h" |
| |
| |
| //////////////////////////////////////////////////////////////////////// |
| // Local header file includes / local defines |
| //////////////////////////////////////////////////////////////////////// |
| |
| |
| module cpx_dp_halfarray(/*AUTOARG*/ |
| // Outputs |
| cpx_spc6_data_cx_l, cpx_spc4_data_cx_l, cpx_spc2_data_cx_l, |
| cpx_spc0_data_cx_l, scan_out, |
| // Inputs |
| shiftenable, scache3_cpx_data_ca, scache2_cpx_data_ca, |
| scache1_cpx_data_ca, scache0_cpx_data_ca, rclk, io_cpx_data_ca, |
| fp_cpx_data_ca, arbcp6_cpxdp_shift_cx, arbcp6_cpxdp_qsel1_ca, |
| arbcp6_cpxdp_qsel0_ca, arbcp6_cpxdp_q0_hold_ca, |
| arbcp6_cpxdp_grant_ca, arbcp4_cpxdp_shift_cx, |
| arbcp4_cpxdp_qsel1_ca, arbcp4_cpxdp_qsel0_ca, |
| arbcp4_cpxdp_q0_hold_ca, arbcp4_cpxdp_grant_ca, |
| arbcp2_cpxdp_shift_cx, arbcp2_cpxdp_qsel1_ca, |
| arbcp2_cpxdp_qsel0_ca, arbcp2_cpxdp_q0_hold_ca, |
| arbcp2_cpxdp_grant_ca, arbcp0_cpxdp_shift_cx, |
| arbcp0_cpxdp_qsel1_ca, arbcp0_cpxdp_qsel0_ca, |
| arbcp0_cpxdp_q0_hold_ca, arbcp0_cpxdp_grant_ca, scan_in |
| ); |
| |
| /*AUTOOUTPUT*/ |
| // Beginning of automatic outputs (from unused autoinst outputs) |
| output [`CPX_WIDTH-1:0]cpx_spc0_data_cx_l; // From cpx_dp0 of cpx_dp0.v |
| output [`CPX_WIDTH-1:0]cpx_spc2_data_cx_l; // From cpx_dp2 of cpx_dp2.v |
| output [`CPX_WIDTH-1:0]cpx_spc4_data_cx_l; // From cpx_dp4 of cpx_dp4.v |
| output [`CPX_WIDTH-1:0]cpx_spc6_data_cx_l; // From cpx_dp6 of cpx_dp6.v |
| // End of automatics |
| |
| /*AUTOINPUT*/ |
| // Beginning of automatic inputs (from unused autoinst inputs) |
| input [5:0] arbcp0_cpxdp_grant_ca; // To cpx_dp0 of cpx_dp0.v |
| input [5:0] arbcp0_cpxdp_q0_hold_ca;// To cpx_dp0 of cpx_dp0.v |
| input [5:0] arbcp0_cpxdp_qsel0_ca; // To cpx_dp0 of cpx_dp0.v |
| input [5:0] arbcp0_cpxdp_qsel1_ca; // To cpx_dp0 of cpx_dp0.v |
| input [5:0] arbcp0_cpxdp_shift_cx; // To cpx_dp0 of cpx_dp0.v |
| input [5:0] arbcp2_cpxdp_grant_ca; // To cpx_dp2 of cpx_dp2.v |
| input [5:0] arbcp2_cpxdp_q0_hold_ca;// To cpx_dp2 of cpx_dp2.v |
| input [5:0] arbcp2_cpxdp_qsel0_ca; // To cpx_dp2 of cpx_dp2.v |
| input [5:0] arbcp2_cpxdp_qsel1_ca; // To cpx_dp2 of cpx_dp2.v |
| input [5:0] arbcp2_cpxdp_shift_cx; // To cpx_dp2 of cpx_dp2.v |
| input [5:0] arbcp4_cpxdp_grant_ca; // To cpx_dp4 of cpx_dp4.v |
| input [5:0] arbcp4_cpxdp_q0_hold_ca;// To cpx_dp4 of cpx_dp4.v |
| input [5:0] arbcp4_cpxdp_qsel0_ca; // To cpx_dp4 of cpx_dp4.v |
| input [5:0] arbcp4_cpxdp_qsel1_ca; // To cpx_dp4 of cpx_dp4.v |
| input [5:0] arbcp4_cpxdp_shift_cx; // To cpx_dp4 of cpx_dp4.v |
| input [5:0] arbcp6_cpxdp_grant_ca; // To cpx_dp6 of cpx_dp6.v |
| input [5:0] arbcp6_cpxdp_q0_hold_ca;// To cpx_dp6 of cpx_dp6.v |
| input [5:0] arbcp6_cpxdp_qsel0_ca; // To cpx_dp6 of cpx_dp6.v |
| input [5:0] arbcp6_cpxdp_qsel1_ca; // To cpx_dp6 of cpx_dp6.v |
| input [5:0] arbcp6_cpxdp_shift_cx; // To cpx_dp6 of cpx_dp6.v |
| input [`CPX_WIDTH-1:0]fp_cpx_data_ca; // To cpx_dp0 of cpx_dp0.v, ... |
| input [`CPX_WIDTH-1:0]io_cpx_data_ca; // To cpx_dp0 of cpx_dp0.v, ... |
| input rclk; // To cpx_dp0 of cpx_dp0.v, ... |
| input [`CPX_WIDTH-1:0]scache0_cpx_data_ca; // To cpx_dp0 of cpx_dp0.v, ... |
| input [`CPX_WIDTH-1:0]scache1_cpx_data_ca; // To cpx_dp0 of cpx_dp0.v, ... |
| input [`CPX_WIDTH-1:0]scache2_cpx_data_ca; // To cpx_dp0 of cpx_dp0.v, ... |
| input [`CPX_WIDTH-1:0]scache3_cpx_data_ca; // To cpx_dp0 of cpx_dp0.v, ... |
| input shiftenable; // To cpx_dp0 of cpx_dp0.v, ... |
| // End of automatics |
| |
| /*AUTOWIRE*/ |
| // Beginning of automatic wires (for undeclared instantiated-module outputs) |
| // End of automatics |
| |
| input scan_in; |
| output scan_out; |
| |
| /* |
| cpx_dp0 AUTO_TEMPLATE( |
| .scan_out (), |
| .scan_in ()); |
| */ |
| cpx_dp0 cpx_dp0(/*AUTOINST*/ |
| // Outputs |
| .scan_out (), // Templated |
| .cpx_spc0_data_cx_l (cpx_spc0_data_cx_l[`CPX_WIDTH-1:0]), |
| // Inputs |
| .arbcp0_cpxdp_grant_ca(arbcp0_cpxdp_grant_ca[5:0]), |
| .arbcp0_cpxdp_q0_hold_ca(arbcp0_cpxdp_q0_hold_ca[5:0]), |
| .arbcp0_cpxdp_qsel0_ca(arbcp0_cpxdp_qsel0_ca[5:0]), |
| .arbcp0_cpxdp_qsel1_ca(arbcp0_cpxdp_qsel1_ca[5:0]), |
| .arbcp0_cpxdp_shift_cx(arbcp0_cpxdp_shift_cx[5:0]), |
| .rclk (rclk), |
| .scan_in (), // Templated |
| .shiftenable (shiftenable), |
| .scache0_cpx_data_ca (scache0_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache1_cpx_data_ca (scache1_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache2_cpx_data_ca (scache2_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache3_cpx_data_ca (scache3_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .io_cpx_data_ca (io_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .fp_cpx_data_ca (fp_cpx_data_ca[`CPX_WIDTH-1:0])); |
| |
| /* |
| cpx_dp2 AUTO_TEMPLATE( |
| .scan_out (), |
| .scan_in ()); |
| */ |
| |
| cpx_dp2 cpx_dp2(/*AUTOINST*/ |
| // Outputs |
| .scan_out (), // Templated |
| .cpx_spc2_data_cx_l (cpx_spc2_data_cx_l[`CPX_WIDTH-1:0]), |
| // Inputs |
| .arbcp2_cpxdp_grant_ca(arbcp2_cpxdp_grant_ca[5:0]), |
| .arbcp2_cpxdp_q0_hold_ca(arbcp2_cpxdp_q0_hold_ca[5:0]), |
| .arbcp2_cpxdp_qsel0_ca(arbcp2_cpxdp_qsel0_ca[5:0]), |
| .arbcp2_cpxdp_qsel1_ca(arbcp2_cpxdp_qsel1_ca[5:0]), |
| .arbcp2_cpxdp_shift_cx(arbcp2_cpxdp_shift_cx[5:0]), |
| .rclk (rclk), |
| .scan_in (), // Templated |
| .shiftenable (shiftenable), |
| .scache0_cpx_data_ca (scache0_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache1_cpx_data_ca (scache1_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache2_cpx_data_ca (scache2_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache3_cpx_data_ca (scache3_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .io_cpx_data_ca (io_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .fp_cpx_data_ca (fp_cpx_data_ca[`CPX_WIDTH-1:0])); |
| /* |
| cpx_dp4 AUTO_TEMPLATE( |
| .scan_out (), |
| .scan_in ()); |
| */ |
| |
| cpx_dp4 cpx_dp4(/*AUTOINST*/ |
| // Outputs |
| .scan_out (), // Templated |
| .cpx_spc4_data_cx_l (cpx_spc4_data_cx_l[`CPX_WIDTH-1:0]), |
| // Inputs |
| .arbcp4_cpxdp_grant_ca(arbcp4_cpxdp_grant_ca[5:0]), |
| .arbcp4_cpxdp_q0_hold_ca(arbcp4_cpxdp_q0_hold_ca[5:0]), |
| .arbcp4_cpxdp_qsel0_ca(arbcp4_cpxdp_qsel0_ca[5:0]), |
| .arbcp4_cpxdp_qsel1_ca(arbcp4_cpxdp_qsel1_ca[5:0]), |
| .arbcp4_cpxdp_shift_cx(arbcp4_cpxdp_shift_cx[5:0]), |
| .rclk (rclk), |
| .scan_in (), // Templated |
| .shiftenable (shiftenable), |
| .scache0_cpx_data_ca (scache0_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache1_cpx_data_ca (scache1_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache2_cpx_data_ca (scache2_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache3_cpx_data_ca (scache3_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .io_cpx_data_ca (io_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .fp_cpx_data_ca (fp_cpx_data_ca[`CPX_WIDTH-1:0])); |
| /* |
| cpx_dp6 AUTO_TEMPLATE( |
| .scan_out (), |
| .scan_in ()); |
| */ |
| |
| cpx_dp6 cpx_dp6(/*AUTOINST*/ |
| // Outputs |
| .scan_out (), // Templated |
| .cpx_spc6_data_cx_l (cpx_spc6_data_cx_l[`CPX_WIDTH-1:0]), |
| // Inputs |
| .arbcp6_cpxdp_grant_ca(arbcp6_cpxdp_grant_ca[5:0]), |
| .arbcp6_cpxdp_q0_hold_ca(arbcp6_cpxdp_q0_hold_ca[5:0]), |
| .arbcp6_cpxdp_qsel0_ca(arbcp6_cpxdp_qsel0_ca[5:0]), |
| .arbcp6_cpxdp_qsel1_ca(arbcp6_cpxdp_qsel1_ca[5:0]), |
| .arbcp6_cpxdp_shift_cx(arbcp6_cpxdp_shift_cx[5:0]), |
| .rclk (rclk), |
| .scan_in (), // Templated |
| .shiftenable (shiftenable), |
| .scache0_cpx_data_ca (scache0_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache1_cpx_data_ca (scache1_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache2_cpx_data_ca (scache2_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .scache3_cpx_data_ca (scache3_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .io_cpx_data_ca (io_cpx_data_ca[`CPX_WIDTH-1:0]), |
| .fp_cpx_data_ca (fp_cpx_data_ca[`CPX_WIDTH-1:0])); |
| |
| endmodule // cpx_dp_array |
| |
| |
| |
| |
| |