| // ========== Copyright Header Begin ========================================== |
| // |
| // OpenSPARC T1 Processor File: fpu_rptr_groups.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 ============================================ |
| |
| module fpu_rptr_groups ( |
| inq_in1, |
| inq_in2, |
| inq_id, |
| inq_op, |
| inq_rnd_mode, |
| inq_in1_50_0_neq_0, |
| inq_in1_53_0_neq_0, |
| inq_in1_53_32_neq_0, |
| inq_in1_exp_eq_0, |
| inq_in1_exp_neq_ffs, |
| inq_in2_50_0_neq_0, |
| inq_in2_53_0_neq_0, |
| inq_in2_53_32_neq_0, |
| inq_in2_exp_eq_0, |
| inq_in2_exp_neq_ffs, |
| ctu_tst_macrotest, |
| ctu_tst_pre_grst_l, |
| ctu_tst_scan_disable, |
| ctu_tst_scanmode, |
| ctu_tst_short_chain, |
| global_shift_enable, |
| grst_l, |
| cluster_cken, |
| se, |
| arst_l, |
| fpu_grst_l, |
| fmul_clken_l, |
| fdiv_clken_l, |
| scan_manual_6, |
| si, |
| so_unbuf, |
| pcx_fpio_data_px2, |
| pcx_fpio_data_rdy_px2, |
| fp_cpx_req_cq, |
| fp_cpx_data_ca, |
| inq_sram_din_unbuf, |
| |
| inq_in1_add_buf1, |
| inq_in1_mul_buf1, |
| inq_in1_div_buf1, |
| inq_in2_add_buf1, |
| inq_in2_mul_buf1, |
| inq_in2_div_buf1, |
| inq_id_add_buf1, |
| inq_id_mul_buf1, |
| inq_id_div_buf1, |
| inq_op_add_buf1, |
| inq_op_div_buf1, |
| inq_op_mul_buf1, |
| inq_rnd_mode_add_buf1, |
| inq_rnd_mode_div_buf1, |
| inq_rnd_mode_mul_buf1, |
| inq_in1_50_0_neq_0_add_buf1, |
| inq_in1_50_0_neq_0_mul_buf1, |
| inq_in1_50_0_neq_0_div_buf1, |
| inq_in1_53_0_neq_0_add_buf1, |
| inq_in1_53_0_neq_0_mul_buf1, |
| inq_in1_53_0_neq_0_div_buf1, |
| inq_in1_53_32_neq_0_add_buf1, |
| inq_in1_53_32_neq_0_mul_buf1, |
| inq_in1_53_32_neq_0_div_buf1, |
| inq_in1_exp_eq_0_add_buf1, |
| inq_in1_exp_eq_0_mul_buf1, |
| inq_in1_exp_eq_0_div_buf1, |
| inq_in1_exp_neq_ffs_add_buf1, |
| inq_in1_exp_neq_ffs_mul_buf1, |
| inq_in1_exp_neq_ffs_div_buf1, |
| inq_in2_50_0_neq_0_add_buf1, |
| inq_in2_50_0_neq_0_mul_buf1, |
| inq_in2_50_0_neq_0_div_buf1, |
| inq_in2_53_0_neq_0_add_buf1, |
| inq_in2_53_0_neq_0_mul_buf1, |
| inq_in2_53_0_neq_0_div_buf1, |
| inq_in2_53_32_neq_0_add_buf1, |
| inq_in2_53_32_neq_0_mul_buf1, |
| inq_in2_53_32_neq_0_div_buf1, |
| inq_in2_exp_eq_0_add_buf1, |
| inq_in2_exp_eq_0_mul_buf1, |
| inq_in2_exp_eq_0_div_buf1, |
| inq_in2_exp_neq_ffs_add_buf1, |
| inq_in2_exp_neq_ffs_mul_buf1, |
| inq_in2_exp_neq_ffs_div_buf1, |
| ctu_tst_macrotest_buf1, |
| ctu_tst_pre_grst_l_buf1, |
| ctu_tst_scan_disable_buf1, |
| ctu_tst_scanmode_buf1, |
| ctu_tst_short_chain_buf1, |
| global_shift_enable_buf1, |
| grst_l_buf1, |
| cluster_cken_buf1, |
| se_add_exp_buf2, |
| se_add_frac_buf2, |
| se_out_buf2, |
| se_mul64_buf2, |
| se_cluster_header_buf2, |
| se_in_buf3, |
| se_mul_buf4, |
| se_div_buf5, |
| arst_l_div_buf2, |
| arst_l_mul_buf2, |
| arst_l_cluster_header_buf2, |
| arst_l_in_buf3, |
| arst_l_out_buf3, |
| arst_l_add_buf4, |
| fpu_grst_l_mul_buf1, |
| fpu_grst_l_in_buf2, |
| fpu_grst_l_add_buf3, |
| fmul_clken_l_buf1, |
| fdiv_clken_l_div_exp_buf1, |
| fdiv_clken_l_div_frac_buf1, |
| scan_manual_6_buf1, |
| si_buf1, |
| so, |
| pcx_fpio_data_px2_buf1, |
| pcx_fpio_data_rdy_px2_buf1, |
| fp_cpx_req_cq_buf1, |
| fp_cpx_data_ca_buf1, |
| inq_sram_din_buf1 |
| ); |
| |
| input [63:0] inq_in1; |
| input [63:0] inq_in2; |
| input [4:0] inq_id; |
| input [7:0] inq_op; |
| input [1:0] inq_rnd_mode; |
| input inq_in1_50_0_neq_0; |
| input inq_in1_53_0_neq_0; |
| input inq_in1_53_32_neq_0; |
| input inq_in1_exp_eq_0; |
| input inq_in1_exp_neq_ffs; |
| input inq_in2_50_0_neq_0; |
| input inq_in2_53_0_neq_0; |
| input inq_in2_53_32_neq_0; |
| input inq_in2_exp_eq_0; |
| input inq_in2_exp_neq_ffs; |
| |
| input ctu_tst_macrotest; |
| input ctu_tst_pre_grst_l; |
| input ctu_tst_scan_disable; |
| input ctu_tst_scanmode; |
| input ctu_tst_short_chain; |
| input global_shift_enable; |
| |
| input grst_l; |
| input cluster_cken; |
| |
| input se; |
| |
| input arst_l; |
| |
| input fpu_grst_l; |
| |
| input fmul_clken_l; |
| input fdiv_clken_l; |
| |
| input scan_manual_6; |
| |
| input si; |
| input so_unbuf; |
| |
| input [123:0] pcx_fpio_data_px2; |
| input pcx_fpio_data_rdy_px2; |
| |
| input [7:0] fp_cpx_req_cq; |
| input [144:0] fp_cpx_data_ca; |
| |
| input [155:0] inq_sram_din_unbuf; |
| |
| output [63:0] inq_in1_add_buf1; |
| output [63:0] inq_in1_mul_buf1; |
| output [63:0] inq_in1_div_buf1; |
| output [63:0] inq_in2_add_buf1; |
| output [63:0] inq_in2_mul_buf1; |
| output [63:0] inq_in2_div_buf1; |
| output [4:0] inq_id_add_buf1; |
| output [4:0] inq_id_mul_buf1; |
| output [4:0] inq_id_div_buf1; |
| output [7:0] inq_op_add_buf1; |
| output [7:0] inq_op_mul_buf1; |
| output [7:0] inq_op_div_buf1; |
| output [1:0] inq_rnd_mode_add_buf1; |
| output [1:0] inq_rnd_mode_mul_buf1; |
| output [1:0] inq_rnd_mode_div_buf1; |
| output inq_in1_50_0_neq_0_add_buf1; |
| output inq_in1_50_0_neq_0_mul_buf1; |
| output inq_in1_50_0_neq_0_div_buf1; |
| output inq_in1_53_0_neq_0_add_buf1; |
| output inq_in1_53_0_neq_0_mul_buf1; |
| output inq_in1_53_0_neq_0_div_buf1; |
| output inq_in1_53_32_neq_0_add_buf1; |
| output inq_in1_53_32_neq_0_mul_buf1; |
| output inq_in1_53_32_neq_0_div_buf1; |
| output inq_in1_exp_eq_0_add_buf1; |
| output inq_in1_exp_eq_0_mul_buf1; |
| output inq_in1_exp_eq_0_div_buf1; |
| output inq_in1_exp_neq_ffs_add_buf1; |
| output inq_in1_exp_neq_ffs_mul_buf1; |
| output inq_in1_exp_neq_ffs_div_buf1; |
| output inq_in2_50_0_neq_0_add_buf1; |
| output inq_in2_50_0_neq_0_mul_buf1; |
| output inq_in2_50_0_neq_0_div_buf1; |
| output inq_in2_53_0_neq_0_add_buf1; |
| output inq_in2_53_0_neq_0_mul_buf1; |
| output inq_in2_53_0_neq_0_div_buf1; |
| output inq_in2_53_32_neq_0_add_buf1; |
| output inq_in2_53_32_neq_0_mul_buf1; |
| output inq_in2_53_32_neq_0_div_buf1; |
| output inq_in2_exp_eq_0_add_buf1; |
| output inq_in2_exp_eq_0_mul_buf1; |
| output inq_in2_exp_eq_0_div_buf1; |
| output inq_in2_exp_neq_ffs_add_buf1; |
| output inq_in2_exp_neq_ffs_mul_buf1; |
| output inq_in2_exp_neq_ffs_div_buf1; |
| |
| output ctu_tst_macrotest_buf1; |
| output ctu_tst_pre_grst_l_buf1; |
| output ctu_tst_scan_disable_buf1; |
| output ctu_tst_scanmode_buf1; |
| output ctu_tst_short_chain_buf1; |
| output global_shift_enable_buf1; |
| |
| output grst_l_buf1; |
| output cluster_cken_buf1; |
| |
| output se_add_exp_buf2; |
| output se_add_frac_buf2; |
| output se_out_buf2; |
| output se_mul64_buf2; |
| output se_cluster_header_buf2; |
| output se_in_buf3; |
| output se_mul_buf4; |
| output se_div_buf5; |
| |
| output arst_l_div_buf2; |
| output arst_l_mul_buf2; |
| output arst_l_cluster_header_buf2; |
| output arst_l_in_buf3; |
| output arst_l_out_buf3; |
| output arst_l_add_buf4; |
| |
| output fpu_grst_l_mul_buf1; |
| output fpu_grst_l_in_buf2; |
| output fpu_grst_l_add_buf3; |
| |
| output fmul_clken_l_buf1; |
| output fdiv_clken_l_div_exp_buf1; |
| output fdiv_clken_l_div_frac_buf1; |
| |
| output scan_manual_6_buf1; |
| |
| output si_buf1; |
| output so; |
| |
| output [123:0] pcx_fpio_data_px2_buf1; |
| output pcx_fpio_data_rdy_px2_buf1; |
| |
| output [7:0] fp_cpx_req_cq_buf1; |
| output [144:0] fp_cpx_data_ca_buf1; |
| |
| output [155:0] inq_sram_din_buf1; |
| |
| wire [3:0] inq_id_add_buf1_unused; |
| wire [2:0] inq_id_mul_buf1_unused; |
| wire [4:0] inq_id_div_buf1_unused; |
| |
| wire [1:0] ctu_tst_buf1_lo_unused; |
| |
| wire [1:0] cluster_cken_buf1_unused; |
| |
| wire [1:0] se_mul64_buf2_unused; |
| |
| wire [2:0] arst_l_buf1_unused; |
| |
| wire [1:0] fdiv_clken_l_buf1_unused; |
| |
| wire [2:0] so_cluster_header_buf1_unused; |
| wire [2:0] si_buf1_unused; |
| |
| wire [2:0] pcx_fpio_data_px2_buf1_unused; |
| wire [5:0] fp_cpx_buf1_9_unused; |
| |
| // inq_in1 |
| fpu_bufrpt_grp32 i_inq_in1_add_buf1_hi ( |
| .in (inq_in1[63:32]), |
| .out (inq_in1_add_buf1[63:32]) |
| ); |
| fpu_bufrpt_grp32 i_inq_in1_add_buf1_lo ( |
| .in (inq_in1[31:0]), |
| .out (inq_in1_add_buf1[31:0]) |
| ); |
| fpu_bufrpt_grp32 i_inq_in1_mul_buf1_hi ( |
| .in (inq_in1[63:32]), |
| .out (inq_in1_mul_buf1[63:32]) |
| ); |
| fpu_bufrpt_grp32 i_inq_in1_mul_buf1_lo ( |
| .in (inq_in1[31:0]), |
| .out (inq_in1_mul_buf1[31:0]) |
| ); |
| fpu_bufrpt_grp64 i_inq_in1_div_buf1 ( |
| .in (inq_in1[63:0]), |
| .out (inq_in1_div_buf1[63:0]) |
| ); |
| |
| // inq_in2 |
| fpu_bufrpt_grp32 i_inq_in2_add_buf1_hi ( |
| .in (inq_in2[63:32]), |
| .out (inq_in2_add_buf1[63:32]) |
| ); |
| fpu_bufrpt_grp32 i_inq_in2_add_buf1_lo ( |
| .in (inq_in2[31:0]), |
| .out (inq_in2_add_buf1[31:0]) |
| ); |
| fpu_bufrpt_grp32 i_inq_in2_mul_buf1_hi ( |
| .in (inq_in2[63:32]), |
| .out (inq_in2_mul_buf1[63:32]) |
| ); |
| fpu_bufrpt_grp32 i_inq_in2_mul_buf1_lo ( |
| .in (inq_in2[31:0]), |
| .out (inq_in2_mul_buf1[31:0]) |
| ); |
| fpu_bufrpt_grp64 i_inq_in2_div_buf1 ( |
| .in (inq_in2[63:0]), |
| .out (inq_in2_div_buf1[63:0]) |
| ); |
| |
| // group inq_*eq_* |
| fpu_bufrpt_grp32 i_inq_id_add_buf1 ( |
| .in ({4'h0, |
| se_out_buf2, |
| arst_l_out_buf3, |
| fpu_grst_l_in_buf2, |
| inq_id[4:0], |
| inq_op[7:0], |
| inq_rnd_mode[1:0], |
| inq_in1_50_0_neq_0, |
| inq_in1_53_0_neq_0, |
| inq_in1_53_32_neq_0, |
| inq_in1_exp_eq_0, |
| inq_in1_exp_neq_ffs, |
| inq_in2_50_0_neq_0, |
| inq_in2_53_0_neq_0, |
| inq_in2_53_32_neq_0, |
| inq_in2_exp_eq_0, |
| inq_in2_exp_neq_ffs}), |
| .out ({inq_id_add_buf1_unused[3:0], |
| se_in_buf3, |
| arst_l_add_buf4, |
| fpu_grst_l_add_buf3, |
| inq_id_add_buf1[4:0], |
| inq_op_add_buf1[7:0], |
| inq_rnd_mode_add_buf1[1:0], |
| inq_in1_50_0_neq_0_add_buf1, |
| inq_in1_53_0_neq_0_add_buf1, |
| inq_in1_53_32_neq_0_add_buf1, |
| inq_in1_exp_eq_0_add_buf1, |
| inq_in1_exp_neq_ffs_add_buf1, |
| inq_in2_50_0_neq_0_add_buf1, |
| inq_in2_53_0_neq_0_add_buf1, |
| inq_in2_53_32_neq_0_add_buf1, |
| inq_in2_exp_eq_0_add_buf1, |
| inq_in2_exp_neq_ffs_add_buf1}) |
| ); |
| |
| fpu_bufrpt_grp32 i_inq_id_mul_buf1 ( |
| .in ({3'h0, |
| se_in_buf3, |
| arst_l_mul_buf2, |
| fpu_grst_l_mul_buf1, |
| fmul_clken_l, |
| inq_id[4:0], |
| inq_op[7:0], |
| inq_rnd_mode[1:0], |
| inq_in1_50_0_neq_0, |
| inq_in1_53_0_neq_0, |
| inq_in1_53_32_neq_0, |
| inq_in1_exp_eq_0, |
| inq_in1_exp_neq_ffs, |
| inq_in2_50_0_neq_0, |
| inq_in2_53_0_neq_0, |
| inq_in2_53_32_neq_0, |
| inq_in2_exp_eq_0, |
| inq_in2_exp_neq_ffs}), |
| .out ({inq_id_mul_buf1_unused[2:0], |
| se_mul_buf4, |
| arst_l_out_buf3, |
| fpu_grst_l_in_buf2, |
| fmul_clken_l_buf1, |
| inq_id_mul_buf1[4:0], |
| inq_op_mul_buf1[7:0], |
| inq_rnd_mode_mul_buf1[1:0], |
| inq_in1_50_0_neq_0_mul_buf1, |
| inq_in1_53_0_neq_0_mul_buf1, |
| inq_in1_53_32_neq_0_mul_buf1, |
| inq_in1_exp_eq_0_mul_buf1, |
| inq_in1_exp_neq_ffs_mul_buf1, |
| inq_in2_50_0_neq_0_mul_buf1, |
| inq_in2_53_0_neq_0_mul_buf1, |
| inq_in2_53_32_neq_0_mul_buf1, |
| inq_in2_exp_eq_0_mul_buf1, |
| inq_in2_exp_neq_ffs_mul_buf1}) |
| ); |
| |
| fpu_bufrpt_grp32 i_inq_id_div_buf1 ( |
| .in ({5'h00, |
| se_mul_buf4, |
| arst_l_mul_buf2, |
| inq_id[4:0], |
| inq_op[7:0], |
| inq_rnd_mode[1:0], |
| inq_in1_50_0_neq_0, |
| inq_in1_53_0_neq_0, |
| inq_in1_53_32_neq_0, |
| inq_in1_exp_eq_0, |
| inq_in1_exp_neq_ffs, |
| inq_in2_50_0_neq_0, |
| inq_in2_53_0_neq_0, |
| inq_in2_53_32_neq_0, |
| inq_in2_exp_eq_0, |
| inq_in2_exp_neq_ffs}), |
| .out ({inq_id_div_buf1_unused[4:0], |
| se_div_buf5, |
| arst_l_in_buf3, |
| inq_id_div_buf1[4:0], |
| inq_op_div_buf1[7:0], |
| inq_rnd_mode_div_buf1[1:0], |
| inq_in1_50_0_neq_0_div_buf1, |
| inq_in1_53_0_neq_0_div_buf1, |
| inq_in1_53_32_neq_0_div_buf1, |
| inq_in1_exp_eq_0_div_buf1, |
| inq_in1_exp_neq_ffs_div_buf1, |
| inq_in2_50_0_neq_0_div_buf1, |
| inq_in2_53_0_neq_0_div_buf1, |
| inq_in2_53_32_neq_0_div_buf1, |
| inq_in2_exp_eq_0_div_buf1, |
| inq_in2_exp_neq_ffs_div_buf1}) |
| ); |
| |
| // buffer ctu_tst signals |
| fpu_bufrpt_grp4 i_ctu_tst_buf1_hi ( |
| .in ({ctu_tst_short_chain, |
| ctu_tst_macrotest, |
| ctu_tst_scan_disable, |
| ctu_tst_pre_grst_l}), |
| .out ({ctu_tst_short_chain_buf1, |
| ctu_tst_macrotest_buf1, |
| ctu_tst_scan_disable_buf1, |
| ctu_tst_pre_grst_l_buf1}) |
| ); |
| |
| fpu_bufrpt_grp4 i_ctu_tst_buf1_lo ( |
| .in ({ctu_tst_scanmode, |
| global_shift_enable, |
| 2'b00}), |
| .out ({ctu_tst_scanmode_buf1, |
| global_shift_enable_buf1, |
| ctu_tst_buf1_lo_unused[1:0]}) |
| ); |
| |
| // buffer cluster_header inputs |
| fpu_bufrpt_grp4 i_cluster_cken_buf1 ( |
| .in ({cluster_cken, |
| grst_l, |
| 2'b00}), |
| .out ({cluster_cken_buf1, |
| grst_l_buf1, |
| cluster_cken_buf1_unused[1:0]}) |
| ); |
| |
| // buffers for se (scan enable driven from test_stub_scan) |
| fpu_bufrpt_grp4 i_se_buf1 ( |
| .in ({se, |
| se, |
| so_unbuf, |
| 1'b0}), |
| .out ({se_add_buf1, |
| se_mul64_buf1, |
| so_buf1, |
| se_buf1_unused}) |
| ); |
| |
| fpu_bufrpt_grp4 i_se_add_buf2 ( |
| .in ({se_add_buf1, |
| se_add_buf1, |
| se_add_buf1, |
| 1'b0}), |
| .out ({se_add_exp_buf2, |
| se_add_frac_buf2, |
| se_out_buf2, |
| se_add_buf2_unused}) |
| ); |
| |
| fpu_bufrpt_grp4 i_se_mul64_buf2 ( |
| .in ({se_mul64_buf1, |
| se_mul64_buf1, |
| 2'b00}), |
| .out ({se_mul64_buf2, |
| se_cluster_header_buf2, |
| se_mul64_buf2_unused[1:0]}) |
| ); |
| |
| // buffers for arst_l, also use to buffer fpu_grst_l |
| fpu_bufrpt_grp4 i_arst_l_buf1 ( |
| .in ({arst_l, |
| 3'b000}), |
| .out ({arst_l_buf1, |
| arst_l_buf1_unused[2:0]}) |
| ); |
| |
| fpu_bufrpt_grp4 i_arst_l_buf2 ( |
| .in ({arst_l_buf1, |
| arst_l_buf1, |
| arst_l_buf1, |
| fpu_grst_l}), |
| .out ({arst_l_mul_buf2, |
| arst_l_cluster_header_buf2, |
| arst_l_div_buf2, |
| fpu_grst_l_mul_buf1}) |
| ); |
| |
| // buffers for fdiv_clken_l |
| fpu_bufrpt_grp4 i_fdiv_clken_l_buf1 ( |
| .in ({fdiv_clken_l, |
| fdiv_clken_l, |
| 2'b00}), |
| .out ({fdiv_clken_l_div_exp_buf1, |
| fdiv_clken_l_div_frac_buf1, |
| fdiv_clken_l_buf1_unused[1:0]}) |
| ); |
| |
| // buffer scan_out from cluster_header (internal driver 2X) to test_stub (long_chain_so_0) |
| fpu_bufrpt_grp4 i_so_cluster_header_buf1 ( |
| .in ({scan_manual_6, |
| 3'b000}), |
| .out ({scan_manual_6_buf1, |
| so_cluster_header_buf1_unused[2:0]}) |
| ); |
| |
| // buffer si at FPU cluster right edge |
| fpu_bufrpt_grp4 i_si_buf1 ( |
| .in ({si, |
| 3'b000}), |
| .out ({si_buf1, |
| si_buf1_unused[2:0]}) |
| ); |
| |
| // pcx_fpio* signals buffered for mintiming |
| fpu_rptr_pcx_fpio_grp16 i_pcx_fpio_buf1_0 ( |
| .in ({pcx_fpio_data_px2[108], |
| pcx_fpio_data_px2[109], |
| pcx_fpio_data_px2[110], |
| pcx_fpio_data_px2[111], |
| pcx_fpio_data_px2[112], |
| pcx_fpio_data_px2[113], |
| pcx_fpio_data_px2[114], |
| pcx_fpio_data_px2[115], |
| pcx_fpio_data_px2[116], |
| pcx_fpio_data_px2[117], |
| pcx_fpio_data_px2[118], |
| pcx_fpio_data_px2[119], |
| pcx_fpio_data_px2[120], |
| pcx_fpio_data_px2[121], |
| pcx_fpio_data_px2[122], |
| pcx_fpio_data_px2[123]}), |
| .out ({pcx_fpio_data_px2_buf1[108], |
| pcx_fpio_data_px2_buf1[109], |
| pcx_fpio_data_px2_buf1[110], |
| pcx_fpio_data_px2_buf1[111], |
| pcx_fpio_data_px2_buf1[112], |
| pcx_fpio_data_px2_buf1[113], |
| pcx_fpio_data_px2_buf1[114], |
| pcx_fpio_data_px2_buf1[115], |
| pcx_fpio_data_px2_buf1[116], |
| pcx_fpio_data_px2_buf1[117], |
| pcx_fpio_data_px2_buf1[118], |
| pcx_fpio_data_px2_buf1[119], |
| pcx_fpio_data_px2_buf1[120], |
| pcx_fpio_data_px2_buf1[121], |
| pcx_fpio_data_px2_buf1[122], |
| pcx_fpio_data_px2_buf1[123]}) |
| ); |
| |
| fpu_rptr_pcx_fpio_grp16 i_pcx_fpio_buf1_1 ( |
| .in ({pcx_fpio_data_px2[92], |
| pcx_fpio_data_px2[93], |
| pcx_fpio_data_px2[94], |
| pcx_fpio_data_px2[95], |
| pcx_fpio_data_px2[96], |
| pcx_fpio_data_px2[97], |
| pcx_fpio_data_px2[98], |
| pcx_fpio_data_px2[99], |
| pcx_fpio_data_px2[100], |
| pcx_fpio_data_px2[101], |
| pcx_fpio_data_px2[102], |
| pcx_fpio_data_px2[103], |
| pcx_fpio_data_px2[104], |
| pcx_fpio_data_px2[105], |
| pcx_fpio_data_px2[106], |
| pcx_fpio_data_px2[107]}), |
| .out ({pcx_fpio_data_px2_buf1[92], |
| pcx_fpio_data_px2_buf1[93], |
| pcx_fpio_data_px2_buf1[94], |
| pcx_fpio_data_px2_buf1[95], |
| pcx_fpio_data_px2_buf1[96], |
| pcx_fpio_data_px2_buf1[97], |
| pcx_fpio_data_px2_buf1[98], |
| pcx_fpio_data_px2_buf1[99], |
| pcx_fpio_data_px2_buf1[100], |
| pcx_fpio_data_px2_buf1[101], |
| pcx_fpio_data_px2_buf1[102], |
| pcx_fpio_data_px2_buf1[103], |
| pcx_fpio_data_px2_buf1[104], |
| pcx_fpio_data_px2_buf1[105], |
| pcx_fpio_data_px2_buf1[106], |
| pcx_fpio_data_px2_buf1[107]}) |
| ); |
| |
| fpu_rptr_pcx_fpio_grp16 i_pcx_fpio_buf1_2 ( |
| .in ({pcx_fpio_data_px2[76], |
| pcx_fpio_data_px2[77], |
| pcx_fpio_data_px2[78], |
| pcx_fpio_data_px2[79], |
| pcx_fpio_data_px2[80], |
| pcx_fpio_data_px2[81], |
| pcx_fpio_data_px2[82], |
| pcx_fpio_data_px2[83], |
| pcx_fpio_data_px2[84], |
| pcx_fpio_data_px2[85], |
| pcx_fpio_data_px2[86], |
| pcx_fpio_data_px2[87], |
| pcx_fpio_data_px2[88], |
| pcx_fpio_data_px2[89], |
| pcx_fpio_data_px2[90], |
| pcx_fpio_data_px2[91]}), |
| .out ({pcx_fpio_data_px2_buf1[76], |
| pcx_fpio_data_px2_buf1[77], |
| pcx_fpio_data_px2_buf1[78], |
| pcx_fpio_data_px2_buf1[79], |
| pcx_fpio_data_px2_buf1[80], |
| pcx_fpio_data_px2_buf1[81], |
| pcx_fpio_data_px2_buf1[82], |
| pcx_fpio_data_px2_buf1[83], |
| pcx_fpio_data_px2_buf1[84], |
| pcx_fpio_data_px2_buf1[85], |
| pcx_fpio_data_px2_buf1[86], |
| pcx_fpio_data_px2_buf1[87], |
| pcx_fpio_data_px2_buf1[88], |
| pcx_fpio_data_px2_buf1[89], |
| pcx_fpio_data_px2_buf1[90], |
| pcx_fpio_data_px2_buf1[91]}) |
| ); |
| |
| fpu_rptr_pcx_fpio_grp16 i_pcx_fpio_buf1_3 ( |
| .in ({pcx_fpio_data_px2[3:0], |
| pcx_fpio_data_px2[64], |
| pcx_fpio_data_px2[65], |
| pcx_fpio_data_px2[66], |
| pcx_fpio_data_px2[67], |
| pcx_fpio_data_px2[68], |
| pcx_fpio_data_px2[69], |
| pcx_fpio_data_px2[70], |
| pcx_fpio_data_px2[71], |
| pcx_fpio_data_px2[72], |
| pcx_fpio_data_px2[73], |
| pcx_fpio_data_px2[74], |
| pcx_fpio_data_px2[75]}), |
| .out ({pcx_fpio_data_px2_buf1[3:0], |
| pcx_fpio_data_px2_buf1[64], |
| pcx_fpio_data_px2_buf1[65], |
| pcx_fpio_data_px2_buf1[66], |
| pcx_fpio_data_px2_buf1[67], |
| pcx_fpio_data_px2_buf1[68], |
| pcx_fpio_data_px2_buf1[69], |
| pcx_fpio_data_px2_buf1[70], |
| pcx_fpio_data_px2_buf1[71], |
| pcx_fpio_data_px2_buf1[72], |
| pcx_fpio_data_px2_buf1[73], |
| pcx_fpio_data_px2_buf1[74], |
| pcx_fpio_data_px2_buf1[75]}) |
| ); |
| |
| fpu_rptr_pcx_fpio_grp16 i_pcx_fpio_buf1_4 ( |
| .in (pcx_fpio_data_px2[19:4]), |
| .out (pcx_fpio_data_px2_buf1[19:4]) |
| ); |
| |
| fpu_rptr_pcx_fpio_grp16 i_pcx_fpio_buf1_5 ( |
| .in (pcx_fpio_data_px2[35:20]), |
| .out (pcx_fpio_data_px2_buf1[35:20]) |
| ); |
| |
| fpu_rptr_pcx_fpio_grp16 i_pcx_fpio_buf1_6 ( |
| .in ({pcx_fpio_data_rdy_px2, |
| pcx_fpio_data_px2[50:36]}), |
| .out ({pcx_fpio_data_rdy_px2_buf1, |
| pcx_fpio_data_px2_buf1[50:36]}) |
| ); |
| |
| fpu_rptr_pcx_fpio_grp16 i_pcx_fpio_buf1_7 ( |
| .in ({3'b000, |
| pcx_fpio_data_px2[63:51]}), |
| .out ({pcx_fpio_data_px2_buf1_unused[2:0], |
| pcx_fpio_data_px2_buf1[63:51]}) |
| ); |
| |
| // buffer fp_cpx_* signals for mintiming |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_0 ( |
| .in ({ |
| fp_cpx_data_ca[142], |
| fp_cpx_data_ca[140], |
| fp_cpx_data_ca[138], |
| fp_cpx_data_ca[136], |
| fp_cpx_data_ca[134], |
| fp_cpx_data_ca[132], |
| fp_cpx_data_ca[130], |
| fp_cpx_data_ca[128], |
| fp_cpx_req_cq[6], |
| fp_cpx_req_cq[7], |
| fp_cpx_req_cq[3], |
| fp_cpx_req_cq[2], |
| fp_cpx_req_cq[5], |
| fp_cpx_req_cq[1], |
| fp_cpx_req_cq[0], |
| fp_cpx_req_cq[4]}), |
| .out ({ |
| fp_cpx_data_ca_buf1[142], |
| fp_cpx_data_ca_buf1[140], |
| fp_cpx_data_ca_buf1[138], |
| fp_cpx_data_ca_buf1[136], |
| fp_cpx_data_ca_buf1[134], |
| fp_cpx_data_ca_buf1[132], |
| fp_cpx_data_ca_buf1[130], |
| fp_cpx_data_ca_buf1[128], |
| fp_cpx_req_cq_buf1[6], |
| fp_cpx_req_cq_buf1[7], |
| fp_cpx_req_cq_buf1[3], |
| fp_cpx_req_cq_buf1[2], |
| fp_cpx_req_cq_buf1[5], |
| fp_cpx_req_cq_buf1[1], |
| fp_cpx_req_cq_buf1[0], |
| fp_cpx_req_cq_buf1[4]}) |
| ); |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_1 ( |
| .in ({ |
| fp_cpx_data_ca[34], |
| fp_cpx_data_ca[36], |
| fp_cpx_data_ca[38], |
| fp_cpx_data_ca[40], |
| fp_cpx_data_ca[42], |
| fp_cpx_data_ca[44], |
| fp_cpx_data_ca[46], |
| fp_cpx_data_ca[48], |
| fp_cpx_data_ca[50], |
| fp_cpx_data_ca[52], |
| fp_cpx_data_ca[54], |
| fp_cpx_data_ca[56], |
| fp_cpx_data_ca[58], |
| fp_cpx_data_ca[60], |
| fp_cpx_data_ca[62], |
| fp_cpx_data_ca[144]}), |
| .out ({ |
| fp_cpx_data_ca_buf1[34], |
| fp_cpx_data_ca_buf1[36], |
| fp_cpx_data_ca_buf1[38], |
| fp_cpx_data_ca_buf1[40], |
| fp_cpx_data_ca_buf1[42], |
| fp_cpx_data_ca_buf1[44], |
| fp_cpx_data_ca_buf1[46], |
| fp_cpx_data_ca_buf1[48], |
| fp_cpx_data_ca_buf1[50], |
| fp_cpx_data_ca_buf1[52], |
| fp_cpx_data_ca_buf1[54], |
| fp_cpx_data_ca_buf1[56], |
| fp_cpx_data_ca_buf1[58], |
| fp_cpx_data_ca_buf1[60], |
| fp_cpx_data_ca_buf1[62], |
| fp_cpx_data_ca_buf1[144]}) |
| ); |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_2 ( |
| .in ({ |
| fp_cpx_data_ca[2], |
| fp_cpx_data_ca[4], |
| fp_cpx_data_ca[6], |
| fp_cpx_data_ca[8], |
| fp_cpx_data_ca[10], |
| fp_cpx_data_ca[12], |
| fp_cpx_data_ca[14], |
| fp_cpx_data_ca[16], |
| fp_cpx_data_ca[18], |
| fp_cpx_data_ca[20], |
| fp_cpx_data_ca[22], |
| fp_cpx_data_ca[24], |
| fp_cpx_data_ca[26], |
| fp_cpx_data_ca[28], |
| fp_cpx_data_ca[30], |
| fp_cpx_data_ca[32]}), |
| .out ({ |
| fp_cpx_data_ca_buf1[2], |
| fp_cpx_data_ca_buf1[4], |
| fp_cpx_data_ca_buf1[6], |
| fp_cpx_data_ca_buf1[8], |
| fp_cpx_data_ca_buf1[10], |
| fp_cpx_data_ca_buf1[12], |
| fp_cpx_data_ca_buf1[14], |
| fp_cpx_data_ca_buf1[16], |
| fp_cpx_data_ca_buf1[18], |
| fp_cpx_data_ca_buf1[20], |
| fp_cpx_data_ca_buf1[22], |
| fp_cpx_data_ca_buf1[24], |
| fp_cpx_data_ca_buf1[26], |
| fp_cpx_data_ca_buf1[28], |
| fp_cpx_data_ca_buf1[30], |
| fp_cpx_data_ca_buf1[32]}) |
| ); |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_3 ( |
| .in ({ |
| fp_cpx_data_ca[31], |
| fp_cpx_data_ca[27], |
| fp_cpx_data_ca[23], |
| fp_cpx_data_ca[25], |
| fp_cpx_data_ca[21], |
| fp_cpx_data_ca[17], |
| fp_cpx_data_ca[19], |
| fp_cpx_data_ca[15], |
| fp_cpx_data_ca[11], |
| fp_cpx_data_ca[13], |
| fp_cpx_data_ca[9], |
| fp_cpx_data_ca[5], |
| fp_cpx_data_ca[7], |
| fp_cpx_data_ca[3], |
| fp_cpx_data_ca[0], |
| fp_cpx_data_ca[1]}), |
| .out ({ |
| fp_cpx_data_ca_buf1[31], |
| fp_cpx_data_ca_buf1[27], |
| fp_cpx_data_ca_buf1[23], |
| fp_cpx_data_ca_buf1[25], |
| fp_cpx_data_ca_buf1[21], |
| fp_cpx_data_ca_buf1[17], |
| fp_cpx_data_ca_buf1[19], |
| fp_cpx_data_ca_buf1[15], |
| fp_cpx_data_ca_buf1[11], |
| fp_cpx_data_ca_buf1[13], |
| fp_cpx_data_ca_buf1[9], |
| fp_cpx_data_ca_buf1[5], |
| fp_cpx_data_ca_buf1[7], |
| fp_cpx_data_ca_buf1[3], |
| fp_cpx_data_ca_buf1[0], |
| fp_cpx_data_ca_buf1[1]}) |
| ); |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_4 ( |
| .in ({ |
| fp_cpx_data_ca[59], |
| fp_cpx_data_ca[61], |
| fp_cpx_data_ca[57], |
| fp_cpx_data_ca[53], |
| fp_cpx_data_ca[55], |
| fp_cpx_data_ca[51], |
| fp_cpx_data_ca[47], |
| fp_cpx_data_ca[49], |
| fp_cpx_data_ca[45], |
| fp_cpx_data_ca[41], |
| fp_cpx_data_ca[43], |
| fp_cpx_data_ca[39], |
| fp_cpx_data_ca[35], |
| fp_cpx_data_ca[37], |
| fp_cpx_data_ca[33], |
| fp_cpx_data_ca[29]}), |
| .out ({ |
| fp_cpx_data_ca_buf1[59], |
| fp_cpx_data_ca_buf1[61], |
| fp_cpx_data_ca_buf1[57], |
| fp_cpx_data_ca_buf1[53], |
| fp_cpx_data_ca_buf1[55], |
| fp_cpx_data_ca_buf1[51], |
| fp_cpx_data_ca_buf1[47], |
| fp_cpx_data_ca_buf1[49], |
| fp_cpx_data_ca_buf1[45], |
| fp_cpx_data_ca_buf1[41], |
| fp_cpx_data_ca_buf1[43], |
| fp_cpx_data_ca_buf1[39], |
| fp_cpx_data_ca_buf1[35], |
| fp_cpx_data_ca_buf1[37], |
| fp_cpx_data_ca_buf1[33], |
| fp_cpx_data_ca_buf1[29]}) |
| ); |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_5 ( |
| .in ({ |
| fp_cpx_data_ca[113], |
| fp_cpx_data_ca[117], |
| fp_cpx_data_ca[121], |
| fp_cpx_data_ca[119], |
| fp_cpx_data_ca[123], |
| fp_cpx_data_ca[127], |
| fp_cpx_data_ca[125], |
| fp_cpx_data_ca[129], |
| fp_cpx_data_ca[133], |
| fp_cpx_data_ca[131], |
| fp_cpx_data_ca[135], |
| fp_cpx_data_ca[139], |
| fp_cpx_data_ca[137], |
| fp_cpx_data_ca[141], |
| fp_cpx_data_ca[143], |
| fp_cpx_data_ca[63]}), |
| .out ({ |
| fp_cpx_data_ca_buf1[113], |
| fp_cpx_data_ca_buf1[117], |
| fp_cpx_data_ca_buf1[121], |
| fp_cpx_data_ca_buf1[119], |
| fp_cpx_data_ca_buf1[123], |
| fp_cpx_data_ca_buf1[127], |
| fp_cpx_data_ca_buf1[125], |
| fp_cpx_data_ca_buf1[129], |
| fp_cpx_data_ca_buf1[133], |
| fp_cpx_data_ca_buf1[131], |
| fp_cpx_data_ca_buf1[135], |
| fp_cpx_data_ca_buf1[139], |
| fp_cpx_data_ca_buf1[137], |
| fp_cpx_data_ca_buf1[141], |
| fp_cpx_data_ca_buf1[143], |
| fp_cpx_data_ca_buf1[63]}) |
| ); |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_6 ( |
| .in ({ |
| fp_cpx_data_ca[85], |
| fp_cpx_data_ca[83], |
| fp_cpx_data_ca[87], |
| fp_cpx_data_ca[91], |
| fp_cpx_data_ca[89], |
| fp_cpx_data_ca[93], |
| fp_cpx_data_ca[97], |
| fp_cpx_data_ca[95], |
| fp_cpx_data_ca[99], |
| fp_cpx_data_ca[103], |
| fp_cpx_data_ca[101], |
| fp_cpx_data_ca[105], |
| fp_cpx_data_ca[109], |
| fp_cpx_data_ca[107], |
| fp_cpx_data_ca[111], |
| fp_cpx_data_ca[115]}), |
| .out ({ |
| fp_cpx_data_ca_buf1[85], |
| fp_cpx_data_ca_buf1[83], |
| fp_cpx_data_ca_buf1[87], |
| fp_cpx_data_ca_buf1[91], |
| fp_cpx_data_ca_buf1[89], |
| fp_cpx_data_ca_buf1[93], |
| fp_cpx_data_ca_buf1[97], |
| fp_cpx_data_ca_buf1[95], |
| fp_cpx_data_ca_buf1[99], |
| fp_cpx_data_ca_buf1[103], |
| fp_cpx_data_ca_buf1[101], |
| fp_cpx_data_ca_buf1[105], |
| fp_cpx_data_ca_buf1[109], |
| fp_cpx_data_ca_buf1[107], |
| fp_cpx_data_ca_buf1[111], |
| fp_cpx_data_ca_buf1[115]}) |
| ); |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_7 ( |
| .in ({ |
| fp_cpx_data_ca[114], |
| fp_cpx_data_ca[116], |
| fp_cpx_data_ca[118], |
| fp_cpx_data_ca[120], |
| fp_cpx_data_ca[122], |
| fp_cpx_data_ca[124], |
| fp_cpx_data_ca[126], |
| fp_cpx_data_ca[65], |
| fp_cpx_data_ca[67], |
| fp_cpx_data_ca[69], |
| fp_cpx_data_ca[73], |
| fp_cpx_data_ca[71], |
| fp_cpx_data_ca[75], |
| fp_cpx_data_ca[79], |
| fp_cpx_data_ca[77], |
| fp_cpx_data_ca[81]}), |
| .out ({ |
| fp_cpx_data_ca_buf1[114], |
| fp_cpx_data_ca_buf1[116], |
| fp_cpx_data_ca_buf1[118], |
| fp_cpx_data_ca_buf1[120], |
| fp_cpx_data_ca_buf1[122], |
| fp_cpx_data_ca_buf1[124], |
| fp_cpx_data_ca_buf1[126], |
| fp_cpx_data_ca_buf1[65], |
| fp_cpx_data_ca_buf1[67], |
| fp_cpx_data_ca_buf1[69], |
| fp_cpx_data_ca_buf1[73], |
| fp_cpx_data_ca_buf1[71], |
| fp_cpx_data_ca_buf1[75], |
| fp_cpx_data_ca_buf1[79], |
| fp_cpx_data_ca_buf1[77], |
| fp_cpx_data_ca_buf1[81]}) |
| ); |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_8 ( |
| .in ({ |
| fp_cpx_data_ca[82], |
| fp_cpx_data_ca[84], |
| fp_cpx_data_ca[86], |
| fp_cpx_data_ca[88], |
| fp_cpx_data_ca[90], |
| fp_cpx_data_ca[92], |
| fp_cpx_data_ca[94], |
| fp_cpx_data_ca[96], |
| fp_cpx_data_ca[98], |
| fp_cpx_data_ca[100], |
| fp_cpx_data_ca[102], |
| fp_cpx_data_ca[104], |
| fp_cpx_data_ca[106], |
| fp_cpx_data_ca[108], |
| fp_cpx_data_ca[110], |
| fp_cpx_data_ca[112]}), |
| .out ({ |
| fp_cpx_data_ca_buf1[82], |
| fp_cpx_data_ca_buf1[84], |
| fp_cpx_data_ca_buf1[86], |
| fp_cpx_data_ca_buf1[88], |
| fp_cpx_data_ca_buf1[90], |
| fp_cpx_data_ca_buf1[92], |
| fp_cpx_data_ca_buf1[94], |
| fp_cpx_data_ca_buf1[96], |
| fp_cpx_data_ca_buf1[98], |
| fp_cpx_data_ca_buf1[100], |
| fp_cpx_data_ca_buf1[102], |
| fp_cpx_data_ca_buf1[104], |
| fp_cpx_data_ca_buf1[106], |
| fp_cpx_data_ca_buf1[108], |
| fp_cpx_data_ca_buf1[110], |
| fp_cpx_data_ca_buf1[112]}) |
| ); |
| fpu_rptr_fp_cpx_grp16 i_fp_cpx_buf1_9 ( |
| .in ({ |
| 6'b000000, |
| so_buf1, |
| fp_cpx_data_ca[64], |
| fp_cpx_data_ca[66], |
| fp_cpx_data_ca[68], |
| fp_cpx_data_ca[70], |
| fp_cpx_data_ca[72], |
| fp_cpx_data_ca[74], |
| fp_cpx_data_ca[76], |
| fp_cpx_data_ca[78], |
| fp_cpx_data_ca[80]}), |
| .out ({ |
| fp_cpx_buf1_9_unused[5:0], |
| so, |
| fp_cpx_data_ca_buf1[64], |
| fp_cpx_data_ca_buf1[66], |
| fp_cpx_data_ca_buf1[68], |
| fp_cpx_data_ca_buf1[70], |
| fp_cpx_data_ca_buf1[72], |
| fp_cpx_data_ca_buf1[74], |
| fp_cpx_data_ca_buf1[76], |
| fp_cpx_data_ca_buf1[78], |
| fp_cpx_data_ca_buf1[80]}) |
| ); |
| |
| // buffer fpu_in_dp outputs (sram din inputs) for mintiming |
| |
| fpu_rptr_inq i_inq_sram_din_buf1 ( |
| .in (inq_sram_din_unbuf[155:0]), |
| .out (inq_sram_din_buf1[155:0]) |
| ); |
| |
| endmodule |
| |