// ========== Copyright Header Begin ==========================================
// OpenSPARC T2 Processor File: n2_l2t_dp_16x160_cust.v
// Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
// 4150 Network Circle, Santa Clara, California 95054, U.S.A.
// * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 2 of the License.
// This 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 program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// For the avoidance of doubt, and except that if any non-GPL license
// choice is available it will apply instead, Sun elects to use only
// the General Public License version 2 (GPLv2) at this time for any
// software where a choice of GPL license versions is made
// available with the language indicating that GPLv2 or any later version
// may be used, or where a choice of which version of the GPL is applied is
// otherwise unspecified.
// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
// CA 95054 USA or visit www.sun.com if you need additional information or
// ========== Copyright Header End ============================================
module n2_l2t_dp_16x160_cust (
wire ff_wdata_79_scanout;
wire ff_wdata_78_scanout;
wire ff_wdata_77_scanout;
wire ff_wdata_76_scanout;
wire ff_wdata_75_scanout;
wire ff_wdata_74_scanout;
wire ff_wdata_73_scanout;
wire ff_wdata_72_scanout;
wire ff_wdata_71_scanout;
wire ff_wdata_70_scanout;
wire ff_wdata_69_scanout;
wire ff_wdata_68_scanout;
wire ff_wdata_67_scanout;
wire ff_wdata_66_scanout;
wire ff_wdata_65_scanout;
wire ff_wdata_64_scanout;
wire ff_wdata_63_scanout;
wire ff_wdata_62_scanout;
wire ff_wdata_61_scanout;
wire ff_wdata_60_scanout;
wire ff_wdata_59_scanout;
wire ff_wdata_58_scanout;
wire ff_wdata_57_scanout;
wire ff_wdata_56_scanout;
wire ff_wdata_55_scanout;
wire ff_wdata_54_scanout;
wire ff_wdata_53_scanout;
wire ff_wdata_52_scanout;
wire ff_wdata_51_scanout;
wire ff_wdata_50_scanout;
wire ff_wdata_49_scanout;
wire ff_wdata_48_scanout;
wire ff_wdata_47_scanout;
wire ff_wdata_46_scanout;
wire ff_wdata_45_scanout;
wire ff_wdata_44_scanout;
wire ff_wdata_43_scanout;
wire ff_wdata_42_scanout;
wire ff_wdata_41_scanout;
wire ff_wdata_40_scanout;
wire ff_wdata_39_scanout;
wire ff_wdata_38_scanout;
wire ff_wdata_37_scanout;
wire ff_wdata_36_scanout;
wire ff_wdata_35_scanout;
wire ff_wdata_34_scanout;
wire ff_wdata_33_scanout;
wire ff_wdata_32_scanout;
wire ff_wdata_31_scanout;
wire ff_wdata_30_scanout;
wire ff_wdata_29_scanout;
wire ff_wdata_28_scanout;
wire ff_wdata_27_scanout;
wire ff_wdata_26_scanout;
wire ff_wdata_25_scanout;
wire ff_wdata_24_scanout;
wire ff_wdata_23_scanout;
wire ff_wdata_22_scanout;
wire ff_wdata_21_scanout;
wire ff_wdata_20_scanout;
wire ff_wdata_19_scanout;
wire ff_wdata_18_scanout;
wire ff_wdata_17_scanout;
wire ff_wdata_16_scanout;
wire ff_wdata_15_scanout;
wire ff_wdata_14_scanout;
wire ff_wdata_13_scanout;
wire ff_wdata_12_scanout;
wire ff_wdata_11_scanout;
wire ff_wdata_10_scanout;
wire ff_word_wen_scanout;
wire ff_byte_wen_scanout;
wire ff_mbist_wdata_scanin;
wire ff_mbist_wdata_scanout;
wire [7:0] mbist_wdata_d1;
wire ff_mbist_run_scanin;
wire ff_mbist_run_scanout;
wire ff_read_enable_scanin;
wire ff_read_enable_scanout;
wire ff_read_enable0_unused;
wire ff_read_enable1_unused;
wire ff_read_enable2_unused;
wire ff_read_addr_scanin;
wire ff_read_addr_scanout;
wire [3:0] ff_read_addr0_unused;
wire [3:0] ff_read_addr1_unused;
wire [3:0] ff_read_addr2_unused;
input [159:0] din; // data input
input [3:0] rd_adr; // read addr
input [3:0] wr_adr; // write addr
input read_en; // read enable
input wr_en; // used in conjunction with
input [3:0] word_wen; // word enables ( if you don't use these
input [19:0] byte_wen; // byte enables ( if you don't use these
input tcu_se_scancollar_in; // hold scan in data.
input tcu_array_wr_inhibit; // wr_inhibit
// synopsys translate_off
// scan chain connections ////
assign pce_ov = tcu_pce_ov;
n2_l2t_dp_16x160_cust_l1clkhdr_ctl_macro clkgen_clk_en
.se (tcu_se_scancollar_in),
n2_l2t_dp_16x160_cust_l1clkhdr_ctl_macro clkgen_clk_en0
// msff_ctl_macro ff_wdata_2 (width = 32)
// .scan_in(ff_wdata_2_scanin),
// .scan_out(ff_wdata_2_scanout),
// .dout (wrdata_d1[159:128])
// msff_ctl_macro ff_wdata_1 (width = 64)
// .scan_in(ff_wdata_1_scanin),
// .scan_out(ff_wdata_1_scanout),
// .dout (wrdata_d1[127:64])
// msff_ctl_macro ff_wdata_0 (width = 64)
// .scan_in(ff_wdata_0_scanin),
// .scan_out(ff_wdata_0_scanout),
// .dout (wrdata_d1[63:0])
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_79
.scan_in(ff_wdata_79_scanin),
.scan_out(ff_wdata_79_scanout),
.dout (wrdata_d1[159:158]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_78
.scan_in(ff_wdata_78_scanin),
.scan_out(ff_wdata_78_scanout),
.dout (wrdata_d1[157:156]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_77
.scan_in(ff_wdata_77_scanin),
.scan_out(ff_wdata_77_scanout),
.dout (wrdata_d1[155:154]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_76
.scan_in(ff_wdata_76_scanin),
.scan_out(ff_wdata_76_scanout),
.dout (wrdata_d1[153:152]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_75
.scan_in(ff_wdata_75_scanin),
.scan_out(ff_wdata_75_scanout),
.dout (wrdata_d1[151:150]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_74
.scan_in(ff_wdata_74_scanin),
.scan_out(ff_wdata_74_scanout),
.dout (wrdata_d1[149:148]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_73
.scan_in(ff_wdata_73_scanin),
.scan_out(ff_wdata_73_scanout),
.dout (wrdata_d1[147:146]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_72
.scan_in(ff_wdata_72_scanin),
.scan_out(ff_wdata_72_scanout),
.dout (wrdata_d1[145:144]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_71
.scan_in(ff_wdata_71_scanin),
.scan_out(ff_wdata_71_scanout),
.dout (wrdata_d1[143:142]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_70
.scan_in(ff_wdata_70_scanin),
.scan_out(ff_wdata_70_scanout),
.dout (wrdata_d1[141:140]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_69
.scan_in(ff_wdata_69_scanin),
.scan_out(ff_wdata_69_scanout),
.dout (wrdata_d1[139:138]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_68
.scan_in(ff_wdata_68_scanin),
.scan_out(ff_wdata_68_scanout),
.dout (wrdata_d1[137:136]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_67
.scan_in(ff_wdata_67_scanin),
.scan_out(ff_wdata_67_scanout),
.dout (wrdata_d1[135:134]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_66
.scan_in(ff_wdata_66_scanin),
.scan_out(ff_wdata_66_scanout),
.dout (wrdata_d1[133:132]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_65
.scan_in(ff_wdata_65_scanin),
.scan_out(ff_wdata_65_scanout),
.dout (wrdata_d1[131:130]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_64
.scan_in(ff_wdata_64_scanin),
.scan_out(ff_wdata_64_scanout),
.dout (wrdata_d1[129:128]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_63
.scan_in(ff_wdata_63_scanin),
.scan_out(ff_wdata_63_scanout),
.dout (wrdata_d1[127:126]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_62
.scan_in(ff_wdata_62_scanin),
.scan_out(ff_wdata_62_scanout),
.dout (wrdata_d1[125:124]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_61
.scan_in(ff_wdata_61_scanin),
.scan_out(ff_wdata_61_scanout),
.dout (wrdata_d1[123:122]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_60
.scan_in(ff_wdata_60_scanin),
.scan_out(ff_wdata_60_scanout),
.dout (wrdata_d1[121:120]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_59
.scan_in(ff_wdata_59_scanin),
.scan_out(ff_wdata_59_scanout),
.dout (wrdata_d1[119:118]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_58
.scan_in(ff_wdata_58_scanin),
.scan_out(ff_wdata_58_scanout),
.dout (wrdata_d1[117:116]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_57
.scan_in(ff_wdata_57_scanin),
.scan_out(ff_wdata_57_scanout),
.dout (wrdata_d1[115:114]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_56
.scan_in(ff_wdata_56_scanin),
.scan_out(ff_wdata_56_scanout),
.dout (wrdata_d1[113:112]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_55
.scan_in(ff_wdata_55_scanin),
.scan_out(ff_wdata_55_scanout),
.dout (wrdata_d1[111:110]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_54
.scan_in(ff_wdata_54_scanin),
.scan_out(ff_wdata_54_scanout),
.dout (wrdata_d1[109:108]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_53
.scan_in(ff_wdata_53_scanin),
.scan_out(ff_wdata_53_scanout),
.dout (wrdata_d1[107:106]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_52
.scan_in(ff_wdata_52_scanin),
.scan_out(ff_wdata_52_scanout),
.dout (wrdata_d1[105:104]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_51
.scan_in(ff_wdata_51_scanin),
.scan_out(ff_wdata_51_scanout),
.dout (wrdata_d1[103:102]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_50
.scan_in(ff_wdata_50_scanin),
.scan_out(ff_wdata_50_scanout),
.dout (wrdata_d1[101:100]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_49
.scan_in(ff_wdata_49_scanin),
.scan_out(ff_wdata_49_scanout),
.dout (wrdata_d1[99:98]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_48
.scan_in(ff_wdata_48_scanin),
.scan_out(ff_wdata_48_scanout),
.dout (wrdata_d1[97:96]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_47
.scan_in(ff_wdata_47_scanin),
.scan_out(ff_wdata_47_scanout),
.dout (wrdata_d1[95:94]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_46
.scan_in(ff_wdata_46_scanin),
.scan_out(ff_wdata_46_scanout),
.dout (wrdata_d1[93:92]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_45
.scan_in(ff_wdata_45_scanin),
.scan_out(ff_wdata_45_scanout),
.dout (wrdata_d1[91:90]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_44
.scan_in(ff_wdata_44_scanin),
.scan_out(ff_wdata_44_scanout),
.dout (wrdata_d1[89:88]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_43
.scan_in(ff_wdata_43_scanin),
.scan_out(ff_wdata_43_scanout),
.dout (wrdata_d1[87:86]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_42
.scan_in(ff_wdata_42_scanin),
.scan_out(ff_wdata_42_scanout),
.dout (wrdata_d1[85:84]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_41
.scan_in(ff_wdata_41_scanin),
.scan_out(ff_wdata_41_scanout),
.dout (wrdata_d1[83:82]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_40
.scan_in(ff_wdata_40_scanin),
.scan_out(ff_wdata_40_scanout),
.dout (wrdata_d1[81:80]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_39
.scan_in(ff_wdata_39_scanin),
.scan_out(ff_wdata_39_scanout),
.dout (wrdata_d1[79:78]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_38
.scan_in(ff_wdata_38_scanin),
.scan_out(ff_wdata_38_scanout),
.dout (wrdata_d1[77:76]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_37
.scan_in(ff_wdata_37_scanin),
.scan_out(ff_wdata_37_scanout),
.dout (wrdata_d1[75:74]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_36
.scan_in(ff_wdata_36_scanin),
.scan_out(ff_wdata_36_scanout),
.dout (wrdata_d1[73:72]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_35
.scan_in(ff_wdata_35_scanin),
.scan_out(ff_wdata_35_scanout),
.dout (wrdata_d1[71:70]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_34
.scan_in(ff_wdata_34_scanin),
.scan_out(ff_wdata_34_scanout),
.dout (wrdata_d1[69:68]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_33
.scan_in(ff_wdata_33_scanin),
.scan_out(ff_wdata_33_scanout),
.dout (wrdata_d1[67:66]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_32
.scan_in(ff_wdata_32_scanin),
.scan_out(ff_wdata_32_scanout),
.dout (wrdata_d1[65:64]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_31
.scan_in(ff_wdata_31_scanin),
.scan_out(ff_wdata_31_scanout),
.dout (wrdata_d1[63:62]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_30
.scan_in(ff_wdata_30_scanin),
.scan_out(ff_wdata_30_scanout),
.dout (wrdata_d1[61:60]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_29
.scan_in(ff_wdata_29_scanin),
.scan_out(ff_wdata_29_scanout),
.dout (wrdata_d1[59:58]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_28
.scan_in(ff_wdata_28_scanin),
.scan_out(ff_wdata_28_scanout),
.dout (wrdata_d1[57:56]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_27
.scan_in(ff_wdata_27_scanin),
.scan_out(ff_wdata_27_scanout),
.dout (wrdata_d1[55:54]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_26
.scan_in(ff_wdata_26_scanin),
.scan_out(ff_wdata_26_scanout),
.dout (wrdata_d1[53:52]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_25
.scan_in(ff_wdata_25_scanin),
.scan_out(ff_wdata_25_scanout),
.dout (wrdata_d1[51:50]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_24
.scan_in(ff_wdata_24_scanin),
.scan_out(ff_wdata_24_scanout),
.dout (wrdata_d1[49:48]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_23
.scan_in(ff_wdata_23_scanin),
.scan_out(ff_wdata_23_scanout),
.dout (wrdata_d1[47:46]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_22
.scan_in(ff_wdata_22_scanin),
.scan_out(ff_wdata_22_scanout),
.dout (wrdata_d1[45:44]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_21
.scan_in(ff_wdata_21_scanin),
.scan_out(ff_wdata_21_scanout),
.dout (wrdata_d1[43:42]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_20
.scan_in(ff_wdata_20_scanin),
.scan_out(ff_wdata_20_scanout),
.dout (wrdata_d1[41:40]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_19
.scan_in(ff_wdata_19_scanin),
.scan_out(ff_wdata_19_scanout),
.dout (wrdata_d1[39:38]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_18
.scan_in(ff_wdata_18_scanin),
.scan_out(ff_wdata_18_scanout),
.dout (wrdata_d1[37:36]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_17
.scan_in(ff_wdata_17_scanin),
.scan_out(ff_wdata_17_scanout),
.dout (wrdata_d1[35:34]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_16
.scan_in(ff_wdata_16_scanin),
.scan_out(ff_wdata_16_scanout),
.dout (wrdata_d1[33:32]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_15
.scan_in(ff_wdata_15_scanin),
.scan_out(ff_wdata_15_scanout),
.dout (wrdata_d1[31:30]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_14
.scan_in(ff_wdata_14_scanin),
.scan_out(ff_wdata_14_scanout),
.dout (wrdata_d1[29:28]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_13
.scan_in(ff_wdata_13_scanin),
.scan_out(ff_wdata_13_scanout),
.dout (wrdata_d1[27:26]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_12
.scan_in(ff_wdata_12_scanin),
.scan_out(ff_wdata_12_scanout),
.dout (wrdata_d1[25:24]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_11
.scan_in(ff_wdata_11_scanin),
.scan_out(ff_wdata_11_scanout),
.dout (wrdata_d1[23:22]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_10
.scan_in(ff_wdata_10_scanin),
.scan_out(ff_wdata_10_scanout),
.dout (wrdata_d1[21:20]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_9
.scan_in(ff_wdata_9_scanin),
.scan_out(ff_wdata_9_scanout),
.dout (wrdata_d1[19:18]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_8
.scan_in(ff_wdata_8_scanin),
.scan_out(ff_wdata_8_scanout),
.dout (wrdata_d1[17:16]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_7
.scan_in(ff_wdata_7_scanin),
.scan_out(ff_wdata_7_scanout),
.dout (wrdata_d1[15:14]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_6
.scan_in(ff_wdata_6_scanin),
.scan_out(ff_wdata_6_scanout),
.dout (wrdata_d1[13:12]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_5
.scan_in(ff_wdata_5_scanin),
.scan_out(ff_wdata_5_scanout),
.dout (wrdata_d1[11:10]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_4
.scan_in(ff_wdata_4_scanin),
.scan_out(ff_wdata_4_scanout),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_3
.scan_in(ff_wdata_3_scanin),
.scan_out(ff_wdata_3_scanout),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_2
.scan_in(ff_wdata_2_scanin),
.scan_out(ff_wdata_2_scanout),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_1
.scan_in(ff_wdata_1_scanin),
.scan_out(ff_wdata_1_scanout),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 ff_wdata_0
.scan_in(ff_wdata_0_scanin),
.scan_out(ff_wdata_0_scanout),
n2_l2t_dp_16x160_cust_msff_ctl_macro__width_4 ff_word_wen
.scan_in(ff_word_wen_scanin),
.scan_out(ff_word_wen_scanout),
n2_l2t_dp_16x160_cust_msff_ctl_macro__width_20 ff_byte_wen
.scan_in(ff_byte_wen_scanin),
.scan_out(ff_byte_wen_scanout),
.dout(byte_wen_d1[19:0]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__width_8 ff_mbist_wdata // not a real flop. ONly used as a trigger
.scan_in(ff_mbist_wdata_scanin),
.scan_out(ff_mbist_wdata_scanout),
.dout(mbist_wdata_d1[7:0]),
n2_l2t_dp_16x160_cust_msff_ctl_macro__width_1 ff_mbist_run // not a real flop. ONly used as a trigger
.scan_in(ff_mbist_run_scanin),
.scan_out(ff_mbist_run_scanout),
n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_4 ff_wr_adr
.scan_in(ff_wr_adr_scanin),
.scan_out(ff_wr_adr_scanout),
n2_l2t_dp_16x160_cust_msff_ctl_macro__width_1 ff_wr_en
.scan_in(ff_wr_en_scanin),
.scan_out(ff_wr_en_scanout),
n2_l2t_dp_16x160_cust_inv_macro__width_1 inv_read_en
n2_l2t_dp_16x160_cust_and_macro__width_1 and_read_en_qual
n2_l2t_dp_16x160_cust_sram_msff_mo_macro__width_1 ff_read_enable
.scan_in(ff_read_enable_scanin),
.scan_out(ff_read_enable_scanout),
.mq_l(ff_read_enable0_unused),
.q(ff_read_enable1_unused),
.q_l(ff_read_enable2_unused),
n2_l2t_dp_16x160_cust_sram_msff_mo_macro__scanreverse_1__width_4 ff_read_addr
.scan_in(ff_read_addr_scanin),
.scan_out(ff_read_addr_scanout),
.q(ff_read_addr0_unused[3:0]),
.q_l(ff_read_addr1_unused[3:0]),
.mq_l(ff_read_addr2_unused[3:0]),
//////// Muxed for timing reasons //////////////////
n2_l2t_dp_16x160_cust_inv_macro__width_1 inv_mbist_run
n2_l2t_dp_16x160_cust_mux_macro__mux_aonpe__ports_2__width_64 mux_din_0
.dout (data_input[63:0]),
.din1 ({8{mbist_wdata_d1[7:0]}}),
n2_l2t_dp_16x160_cust_mux_macro__mux_aonpe__ports_2__width_64 mux_din_1
.dout (data_input[127:64]),
.din0 (wrdata_d1[127:64]),
.din1 ({8{mbist_wdata_d1[7:0]}}),
n2_l2t_dp_16x160_cust_mux_macro__mux_aonpe__ports_2__width_32 mux_din_2
.dout (data_input[159:128]),
.din0 (wrdata_d1[159:128]),
.din1 ({4{mbist_wdata_d1[7:0]}}),
n2_l2t_dp_16x160_cust_cmp_macro__width_8 cmp_input_address
.din0 ({3'b0,wr_adr[3:0],wr_en}),
.din1 ({3'b0,rd_adr[3:0],read_en})
n2_l2t_dp_16x160_cust_array array
.wr_addr (wrptr_d1[3:0]),
.rd_addr (rd_ptr_d1[3:0]),
.din (data_input[159:0]),
.tcu_array_wr_inhibit (tcu_array_wr_inhibit),
.word_wen (word_wen_d1[3:0]),
.byte_wen (byte_wen_d1[19:0])
assign ff_wdata_79_scanin = scan_in ;
assign ff_wdata_78_scanin = ff_wdata_79_scanout ;
assign ff_wdata_77_scanin = ff_wdata_78_scanout ;
assign ff_wdata_76_scanin = ff_wdata_77_scanout ;
assign ff_wdata_75_scanin = ff_wdata_76_scanout ;
assign ff_wdata_74_scanin = ff_wdata_75_scanout ;
assign ff_wdata_73_scanin = ff_wdata_74_scanout ;
assign ff_wdata_72_scanin = ff_wdata_73_scanout ;
assign ff_wdata_71_scanin = ff_wdata_72_scanout ;
assign ff_wdata_70_scanin = ff_wdata_71_scanout ;
assign ff_wdata_69_scanin = ff_wdata_70_scanout ;
assign ff_wdata_68_scanin = ff_wdata_69_scanout ;
assign ff_wdata_67_scanin = ff_wdata_68_scanout ;
assign ff_wdata_66_scanin = ff_wdata_67_scanout ;
assign ff_wdata_65_scanin = ff_wdata_66_scanout ;
assign ff_wdata_64_scanin = ff_wdata_65_scanout ;
assign ff_wdata_63_scanin = ff_wdata_64_scanout ;
assign ff_wdata_62_scanin = ff_wdata_63_scanout ;
assign ff_wdata_61_scanin = ff_wdata_62_scanout ;
assign ff_wdata_60_scanin = ff_wdata_61_scanout ;
assign ff_wdata_59_scanin = ff_wdata_60_scanout ;
assign ff_wdata_58_scanin = ff_wdata_59_scanout ;
assign ff_wdata_57_scanin = ff_wdata_58_scanout ;
assign ff_wdata_56_scanin = ff_wdata_57_scanout ;
assign ff_wdata_55_scanin = ff_wdata_56_scanout ;
assign ff_wdata_54_scanin = ff_wdata_55_scanout ;
assign ff_wdata_53_scanin = ff_wdata_54_scanout ;
assign ff_wdata_52_scanin = ff_wdata_53_scanout ;
assign ff_wdata_51_scanin = ff_wdata_52_scanout ;
assign ff_wdata_50_scanin = ff_wdata_51_scanout ;
assign ff_wdata_49_scanin = ff_wdata_50_scanout ;
assign ff_wdata_48_scanin = ff_wdata_49_scanout ;
assign ff_wdata_47_scanin = ff_wdata_48_scanout ;
assign ff_wdata_46_scanin = ff_wdata_47_scanout ;
assign ff_wdata_45_scanin = ff_wdata_46_scanout ;
assign ff_wdata_44_scanin = ff_wdata_45_scanout ;
assign ff_wdata_43_scanin = ff_wdata_44_scanout ;
assign ff_wdata_42_scanin = ff_wdata_43_scanout ;
assign ff_wdata_41_scanin = ff_wdata_42_scanout ;
assign ff_wdata_40_scanin = ff_wdata_41_scanout ;
assign ff_wdata_39_scanin = ff_wdata_40_scanout ;
assign ff_wdata_38_scanin = ff_wdata_39_scanout ;
assign ff_wdata_37_scanin = ff_wdata_38_scanout ;
assign ff_wdata_36_scanin = ff_wdata_37_scanout ;
assign ff_wdata_35_scanin = ff_wdata_36_scanout ;
assign ff_wdata_34_scanin = ff_wdata_35_scanout ;
assign ff_wdata_33_scanin = ff_wdata_34_scanout ;
assign ff_wdata_32_scanin = ff_wdata_33_scanout ;
assign ff_wdata_31_scanin = ff_wdata_32_scanout ;
assign ff_wdata_30_scanin = ff_wdata_31_scanout ;
assign ff_wdata_29_scanin = ff_wdata_30_scanout ;
assign ff_wdata_28_scanin = ff_wdata_29_scanout ;
assign ff_wdata_27_scanin = ff_wdata_28_scanout ;
assign ff_wdata_26_scanin = ff_wdata_27_scanout ;
assign ff_wdata_25_scanin = ff_wdata_26_scanout ;
assign ff_wdata_24_scanin = ff_wdata_25_scanout ;
assign ff_wdata_23_scanin = ff_wdata_24_scanout ;
assign ff_wdata_22_scanin = ff_wdata_23_scanout ;
assign ff_wdata_21_scanin = ff_wdata_22_scanout ;
assign ff_wdata_20_scanin = ff_wdata_21_scanout ;
assign ff_wdata_19_scanin = ff_wdata_20_scanout ;
assign ff_wdata_18_scanin = ff_wdata_19_scanout ;
assign ff_wdata_17_scanin = ff_wdata_18_scanout ;
assign ff_wdata_16_scanin = ff_wdata_17_scanout ;
assign ff_wdata_15_scanin = ff_wdata_16_scanout ;
assign ff_wdata_14_scanin = ff_wdata_15_scanout ;
assign ff_wdata_13_scanin = ff_wdata_14_scanout ;
assign ff_wdata_12_scanin = ff_wdata_13_scanout ;
assign ff_wdata_11_scanin = ff_wdata_12_scanout ;
assign ff_wdata_10_scanin = ff_wdata_11_scanout ;
assign ff_wdata_9_scanin = ff_wdata_10_scanout ;
assign ff_wdata_8_scanin = ff_wdata_9_scanout ;
assign ff_wdata_7_scanin = ff_wdata_8_scanout ;
assign ff_wdata_6_scanin = ff_wdata_7_scanout ;
assign ff_wdata_5_scanin = ff_wdata_6_scanout ;
assign ff_wdata_4_scanin = ff_wdata_5_scanout ;
assign ff_wdata_3_scanin = ff_wdata_4_scanout ;
assign ff_wdata_2_scanin = ff_wdata_3_scanout ;
assign ff_wdata_1_scanin = ff_wdata_2_scanout ;
assign ff_wdata_0_scanin = ff_wdata_1_scanout ;
assign ff_word_wen_scanin = ff_wdata_0_scanout ;
assign ff_byte_wen_scanin = ff_word_wen_scanout ;
assign ff_mbist_wdata_scanin = ff_byte_wen_scanout ;
assign ff_mbist_run_scanin = ff_mbist_wdata_scanout ;
assign ff_wr_adr_scanin = ff_mbist_run_scanout ;
assign ff_wr_en_scanin = ff_wr_adr_scanout ;
assign ff_read_enable_scanin = ff_wr_en_scanout ;
assign ff_read_addr_scanin = ff_read_enable_scanout ;
assign scan_out = ff_read_addr_scanout ;
module n2_l2t_dp_16x160_cust_array (
input tcu_array_wr_inhibit;
assign write_disable = tcu_array_wr_inhibit;
reg [159:0] inq_ary [15:0];
for (i=0; i<16; i=i+1) begin
inq_ary[i] = {160{1'b0}};
// Moved into always block for AXIs
// assign tmp_dout = inq_ary[rd_addr] ;
// assign temp = inq_ary[wr_addr];
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
always @( byte_wen or rd_addr or rd_en or reset_l or write_disable
or word_wen or wr_en or wr_addr or l1clk)
if ((rd_en==1'b1) & l1clk & ~write_disable)
tmp_dout = inq_ary[rd_addr] ;
for (rd_i=0; rd_i<= 159; rd_i=rd_i+8)
dout[rd_i] = (wr_en & word_wen[0] & byte_wen[rd_j] & ~write_disable) ?
dout[rd_i+1] = (wr_en & word_wen[1] & byte_wen[rd_j] & ~write_disable) ?
1'bx : tmp_dout[rd_i+1] ;
dout[rd_i+2] = (wr_en & word_wen[2] & byte_wen[rd_j] & ~write_disable) ?
1'bx : tmp_dout[rd_i+2] ;
dout[rd_i+3] = (wr_en & word_wen[3] & byte_wen[rd_j] & ~write_disable) ?
1'bx : tmp_dout[rd_i+3] ;
dout[rd_i+4] = (wr_en & word_wen[0] & byte_wen[rd_j] & ~write_disable) ?
1'bx : tmp_dout[rd_i+4] ;
dout[rd_i+5] = (wr_en & word_wen[1] & byte_wen[rd_j] & ~write_disable) ?
1'bx : tmp_dout[rd_i+5] ;
dout[rd_i+6] = (wr_en & word_wen[2] & byte_wen[rd_j] & ~write_disable) ?
1'bx : tmp_dout[rd_i+6] ;
dout[rd_i+7] = (wr_en & word_wen[3] & byte_wen[rd_j] & ~write_disable) ?
1'bx : tmp_dout[rd_i+7] ;
dout[rd_i] = tmp_dout[rd_i] ;
dout[rd_i+1] = tmp_dout[rd_i+1] ;
dout[rd_i+2] = tmp_dout[rd_i+2] ;
dout[rd_i+3] = tmp_dout[rd_i+3] ;
dout[rd_i+4] = tmp_dout[rd_i+4] ;
dout[rd_i+5] = tmp_dout[rd_i+5] ;
dout[rd_i+6] = tmp_dout[rd_i+6] ;
dout[rd_i+7] = tmp_dout[rd_i+7] ;
dout[159:0] = dout[159:0];
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
always @ (byte_wen or reset_l or write_disable or word_wen
or wr_en or din or wr_addr or l1clk)
if (wr_en & ~write_disable & ~l1clk)
for (wr_i=0; wr_i<=159; wr_i=wr_i+8)
data_in[wr_i] = (wr_en & word_wen[0] & byte_wen[wr_j] & ~write_disable) ?
data_in[wr_i+1] = (wr_en & word_wen[1] & byte_wen[wr_j] & ~write_disable) ?
din[wr_i+1] : temp[wr_i+1] ;
data_in[wr_i+2] = (wr_en & word_wen[2] & byte_wen[wr_j] & ~write_disable) ?
din[wr_i+2] : temp[wr_i+2] ;
data_in[wr_i+3] = (wr_en & word_wen[3] & byte_wen[wr_j] & ~write_disable) ?
din[wr_i+3] : temp[wr_i+3] ;
data_in[wr_i+4] = (wr_en & word_wen[0] & byte_wen[wr_j] & ~write_disable) ?
din[wr_i+4] : temp[wr_i+4] ;
data_in[wr_i+5] = (wr_en & word_wen[1] & byte_wen[wr_j] & ~write_disable) ?
din[wr_i+5] : temp[wr_i+5] ;
data_in[wr_i+6] = (wr_en & word_wen[2] & byte_wen[wr_j] & ~write_disable) ?
din[wr_i+6] : temp[wr_i+6] ;
data_in[wr_i+7] = (wr_en & word_wen[3] & byte_wen[wr_j] & ~write_disable) ?
din[wr_i+7] : temp[wr_i+7] ;
inq_ary[wr_addr] = data_in ;
// any PARAMS parms go into naming of macro
module n2_l2t_dp_16x160_cust_l1clkhdr_ctl_macro (
// any PARAMS parms go into naming of macro
module n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_2 (
assign fdin[1:0] = din[1:0];
// any PARAMS parms go into naming of macro
module n2_l2t_dp_16x160_cust_msff_ctl_macro__width_4 (
assign fdin[3:0] = din[3:0];
// any PARAMS parms go into naming of macro
module n2_l2t_dp_16x160_cust_msff_ctl_macro__width_20 (
assign fdin[19:0] = din[19:0];
.so({so[18:0],scan_out}),
// any PARAMS parms go into naming of macro
module n2_l2t_dp_16x160_cust_msff_ctl_macro__width_8 (
assign fdin[7:0] = din[7:0];
// any PARAMS parms go into naming of macro
module n2_l2t_dp_16x160_cust_msff_ctl_macro__width_1 (
assign fdin[0:0] = din[0:0];
// any PARAMS parms go into naming of macro
module n2_l2t_dp_16x160_cust_msff_ctl_macro__scanreverse_1__width_4 (
assign fdin[3:0] = din[3:0];
module n2_l2t_dp_16x160_cust_inv_macro__width_1 (
// and macro for ports = 2,3,4
module n2_l2t_dp_16x160_cust_and_macro__width_1 (
// macro for cl_mc1_sram_msff_mo_{16,8,4}x flops
module n2_l2t_dp_16x160_cust_sram_msff_mo_macro__width_1 (
//place::generic_place($width,$stack,$left);
// macro for cl_mc1_sram_msff_mo_{16,8,4}x flops
module n2_l2t_dp_16x160_cust_sram_msff_mo_macro__scanreverse_1__width_4 (
//place::generic_place($width,$stack,$left);
// general mux macro for pass-gate and and-or muxes with/wout priority encoders
// also for pass-gate with decoder
// any PARAMS parms go into naming of macro
module n2_l2t_dp_16x160_cust_mux_macro__mux_aonpe__ports_2__width_64 (
cl_dp1_muxbuff2_8x c0_0 (
// general mux macro for pass-gate and and-or muxes with/wout priority encoders
// also for pass-gate with decoder
// any PARAMS parms go into naming of macro
module n2_l2t_dp_16x160_cust_mux_macro__mux_aonpe__ports_2__width_32 (
cl_dp1_muxbuff2_8x c0_0 (
// comparator macro (output is 1 if both inputs are equal; 0 otherwise)
module n2_l2t_dp_16x160_cust_cmp_macro__width_8 (