// ========== Copyright Header Begin ==========================================
// OpenSPARC T2 Processor File: n2_icd_sp_16p5kb_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_icd_sp_16p5kb_cust (
wire icd_quad_0_en_f_qual;
wire icd_quad_1_en_f_qual;
wire icd_quad_2_en_f_qual;
wire icd_quad_3_en_f_qual;
wire ftp_icd_quad_0_en_l_bf;
wire ftp_icd_quad_1_en_l_bf;
wire ftp_icd_quad_2_en_l_bf;
wire ftp_icd_quad_3_en_l_bf;
wire quad_en_0_latch_scanin;
wire quad_en_0_latch_scanout;
wire icd_quad_0_en_f_lat;
wire icd_quad_0_en_f_lat_l;
wire quad_en_1_latch_scanin;
wire quad_en_1_latch_scanout;
wire icd_quad_1_en_f_lat;
wire icd_quad_1_en_f_lat_l;
wire quad_en_2_latch_scanin;
wire quad_en_2_latch_scanout;
wire icd_quad_2_en_f_lat;
wire icd_quad_2_en_f_lat_l;
wire quad_en_3_latch_scanin;
wire quad_en_3_latch_scanout;
wire icd_quad_3_en_f_lat;
wire icd_quad_3_en_f_lat_l;
wire icd_quad_0_en_f_lat_unused;
wire icd_quad_1_en_f_lat_unused;
wire icd_quad_2_en_f_lat_unused;
wire icd_quad_3_en_f_lat_unused;
wire index_reg_i_scanout;
wire [4:2] index_f_l_unused;
wire wrway_0_reg_scanout;
wire [2:0] wrway_f_unused;
wire wrway_1_reg_scanout;
wire wrway_2_reg_scanout;
wire wr_word_en_0_reg_scanin;
wire wr_word_en_0_reg_scanout;
wire [7:0] word_en_f_unused;
wire wr_word_en_1_reg_scanin;
wire wr_word_en_1_reg_scanout;
wire wr_word_en_2_reg_scanin;
wire wr_word_en_2_reg_scanout;
wire wr_word_en_3_reg_scanin;
wire wr_word_en_3_reg_scanout;
wire wr_word_en_4_reg_scanin;
wire wr_word_en_4_reg_scanout;
wire wr_word_en_5_reg_scanin;
wire wr_word_en_5_reg_scanout;
wire wr_word_en_6_reg_scanin;
wire wr_word_en_6_reg_scanout;
wire wr_word_en_7_reg_scanin;
wire wr_word_en_7_reg_scanout;
wire [3:0] quad_en_reg_scanin;
wire [3:0] quad_en_reg_scanout;
wire [0:0] wrreq_reg_scanin;
wire [0:0] wrreq_reg_scanout;
wire wrreq_reg_b_scanout;
wire [0:0] ftp_access_f_reg_scanin;
wire [0:0] ftp_access_f_reg_scanout;
wire rdreq_reg_b_scanout;
wire [32:0] wrdata_q0_0_scanin;
wire [32:0] wrdata_q0_0_scanout;
wire [32:0] wrdata_q1_1_scanin;
wire [32:0] wrdata_q1_1_scanout;
wire [32:0] wrdata_q2_2_scanin;
wire [32:0] wrdata_q2_2_scanout;
wire [32:0] wrdata_q3_3_scanin;
wire [32:0] wrdata_q3_3_scanout;
wire [32:0] wrdata_q0_4_scanin;
wire [32:0] wrdata_q0_4_scanout;
wire [32:0] wrdata_q1_5_scanin;
wire [32:0] wrdata_q1_5_scanout;
wire [32:0] wrdata_q2_6_scanin;
wire [32:0] wrdata_q2_6_scanout;
wire [32:0] wrdata_q3_7_scanin;
wire [32:0] wrdata_q3_7_scanout;
wire [4:0] red_d_reg_scanin;
wire [4:0] red_d_reg_scanout;
wire [1:0] red_en_reg_scanin;
wire [1:0] red_en_reg_scanout;
wire [3:0] rid_reg_scanin;
wire [3:0] rid_reg_scanout;
wire [0:0] red_wen_reg_scanin;
wire [0:0] red_wen_reg_scanout;
wire [0:0] red_arst_reg_scanin;
wire [0:0] red_arst_reg_scanout;
wire [7:0] way_f_reg_scanin;
wire [7:0] way_f_reg_scanout;
wire [7:0] way_c_reg_scanin;
wire [7:0] way_c_reg_scanout;
wire [0:0] ftp_access_c_reg_scanin;
wire [0:0] ftp_access_c_reg_scanout;
wire ftp_access_c_dum_scanin;
wire ftp_access_c_dum_scanout;
wire [7:0] muxed_way_sel_c;
wire i6_i2_sel_upper_or_2;
wire [7:0] wr_word_en_f_l;
wire [32:0] rd_data_w0_i4_or_i0;
wire [32:0] rd_data_w1_i4_or_i0;
wire [32:0] rd_data_w2_i4_or_i0;
wire [32:0] rd_data_w3_i4_or_i0;
wire [32:0] rd_data_w4_i4_or_i0;
wire [32:0] rd_data_w5_i4_or_i0;
wire [32:0] rd_data_w6_i4_or_i0;
wire [32:0] rd_data_w7_i4_or_i0;
wire [4:0] reg_d_q0_w3_w0_lft_d;
wire [1:0] reg_d_q0_w3_w0_lft_en;
wire [4:0] reg_d_q0_w3_w0_rgt_d;
wire [1:0] reg_d_q0_w3_w0_rgt_en;
wire [4:0] reg_d_q0_w7_w4_lft_d;
wire [1:0] reg_d_q0_w7_w4_lft_en;
wire [4:0] reg_d_q0_w7_w4_rgt_d;
wire [1:0] reg_d_q0_w7_w4_rgt_en;
wire [32:0] rd_data_w0_i5_or_i1;
wire [32:0] rd_data_w1_i5_or_i1;
wire [32:0] rd_data_w2_i5_or_i1;
wire [32:0] rd_data_w3_i5_or_i1;
wire [32:0] rd_data_w4_i5_or_i1;
wire [32:0] rd_data_w5_i5_or_i1;
wire [32:0] rd_data_w6_i5_or_i1;
wire [32:0] rd_data_w7_i5_or_i1;
wire [4:0] reg_d_q1_w3_w0_lft_d;
wire [1:0] reg_d_q1_w3_w0_lft_en;
wire [4:0] reg_d_q1_w3_w0_rgt_d;
wire [1:0] reg_d_q1_w3_w0_rgt_en;
wire [4:0] reg_d_q1_w7_w4_lft_d;
wire [1:0] reg_d_q1_w7_w4_lft_en;
wire [4:0] reg_d_q1_w7_w4_rgt_d;
wire [1:0] reg_d_q1_w7_w4_rgt_en;
wire [32:0] rd_data_w0_i6_or_i2;
wire [32:0] rd_data_w1_i6_or_i2;
wire [32:0] rd_data_w2_i6_or_i2;
wire [32:0] rd_data_w3_i6_or_i2;
wire [32:0] rd_data_w4_i6_or_i2;
wire [32:0] rd_data_w5_i6_or_i2;
wire [32:0] rd_data_w6_i6_or_i2;
wire [32:0] rd_data_w7_i6_or_i2;
wire [4:0] reg_d_q2_w3_w0_lft_d;
wire [1:0] reg_d_q2_w3_w0_lft_en;
wire [4:0] reg_d_q2_w3_w0_rgt_d;
wire [1:0] reg_d_q2_w3_w0_rgt_en;
wire [4:0] reg_d_q2_w7_w4_lft_d;
wire [1:0] reg_d_q2_w7_w4_lft_en;
wire [4:0] reg_d_q2_w7_w4_rgt_d;
wire [1:0] reg_d_q2_w7_w4_rgt_en;
wire [32:0] rd_data_w0_i7_or_i3;
wire [32:0] rd_data_w1_i7_or_i3;
wire [32:0] rd_data_w2_i7_or_i3;
wire [32:0] rd_data_w3_i7_or_i3;
wire [32:0] rd_data_w4_i7_or_i3;
wire [32:0] rd_data_w5_i7_or_i3;
wire [32:0] rd_data_w6_i7_or_i3;
wire [32:0] rd_data_w7_i7_or_i3;
wire [4:0] reg_d_q3_w3_w0_lft_d;
wire [1:0] reg_d_q3_w3_w0_lft_en;
wire [4:0] reg_d_q3_w3_w0_rgt_d;
wire [1:0] reg_d_q3_w3_w0_rgt_en;
wire [4:0] reg_d_q3_w7_w4_lft_d;
wire [1:0] reg_d_q3_w7_w4_lft_en;
wire [4:0] reg_d_q3_w7_w4_rgt_d;
wire [1:0] reg_d_q3_w7_w4_rgt_en;
wire [32:0] data_bus_0_w0_reg_scanin;
wire [32:0] data_bus_0_w0_reg_scanout;
wire [32:0] data_bus_0_w0_c;
wire [32:0] data_bus_1_w0_reg_scanin;
wire [32:0] data_bus_1_w0_reg_scanout;
wire [32:0] data_bus_1_w0_c;
wire [32:0] data_bus_2_w0_reg_scanin;
wire [32:0] data_bus_2_w0_reg_scanout;
wire [32:0] data_bus_2_w0_c;
wire [32:0] data_bus_3_w0_reg_scanin;
wire [32:0] data_bus_3_w0_reg_scanout;
wire [32:0] data_bus_3_w0_c;
wire [32:0] data_bus_0_w1_reg_scanin;
wire [32:0] data_bus_0_w1_reg_scanout;
wire [32:0] data_bus_0_w1_c;
wire [32:0] data_bus_1_w1_reg_scanin;
wire [32:0] data_bus_1_w1_reg_scanout;
wire [32:0] data_bus_1_w1_c;
wire [32:0] data_bus_2_w1_reg_scanin;
wire [32:0] data_bus_2_w1_reg_scanout;
wire [32:0] data_bus_2_w1_c;
wire [32:0] data_bus_3_w1_reg_scanin;
wire [32:0] data_bus_3_w1_reg_scanout;
wire [32:0] data_bus_3_w1_c;
wire [32:0] data_bus_0_w2_reg_scanin;
wire [32:0] data_bus_0_w2_reg_scanout;
wire [32:0] data_bus_0_w2_c;
wire [32:0] data_bus_1_w2_reg_scanin;
wire [32:0] data_bus_1_w2_reg_scanout;
wire [32:0] data_bus_1_w2_c;
wire [32:0] data_bus_2_w2_reg_scanin;
wire [32:0] data_bus_2_w2_reg_scanout;
wire [32:0] data_bus_2_w2_c;
wire [32:0] data_bus_3_w2_reg_scanin;
wire [32:0] data_bus_3_w2_reg_scanout;
wire [32:0] data_bus_3_w2_c;
wire [32:0] data_bus_0_w3_reg_scanin;
wire [32:0] data_bus_0_w3_reg_scanout;
wire [32:0] data_bus_0_w3_c;
wire [32:0] data_bus_1_w3_reg_scanin;
wire [32:0] data_bus_1_w3_reg_scanout;
wire [32:0] data_bus_1_w3_c;
wire [32:0] data_bus_2_w3_reg_scanin;
wire [32:0] data_bus_2_w3_reg_scanout;
wire [32:0] data_bus_2_w3_c;
wire [32:0] data_bus_3_w3_reg_scanin;
wire [32:0] data_bus_3_w3_reg_scanout;
wire [32:0] data_bus_3_w3_c;
wire [32:0] data_bus_0_w4_reg_scanin;
wire [32:0] data_bus_0_w4_reg_scanout;
wire [32:0] data_bus_0_w4_c;
wire [32:0] data_bus_1_w4_reg_scanin;
wire [32:0] data_bus_1_w4_reg_scanout;
wire [32:0] data_bus_1_w4_c;
wire [32:0] data_bus_2_w4_reg_scanin;
wire [32:0] data_bus_2_w4_reg_scanout;
wire [32:0] data_bus_2_w4_c;
wire [32:0] data_bus_3_w4_reg_scanin;
wire [32:0] data_bus_3_w4_reg_scanout;
wire [32:0] data_bus_3_w4_c;
wire [32:0] data_bus_0_w5_reg_scanin;
wire [32:0] data_bus_0_w5_reg_scanout;
wire [32:0] data_bus_0_w5_c;
wire [32:0] data_bus_1_w5_reg_scanin;
wire [32:0] data_bus_1_w5_reg_scanout;
wire [32:0] data_bus_1_w5_c;
wire [32:0] data_bus_2_w5_reg_scanin;
wire [32:0] data_bus_2_w5_reg_scanout;
wire [32:0] data_bus_2_w5_c;
wire [32:0] data_bus_3_w5_reg_scanin;
wire [32:0] data_bus_3_w5_reg_scanout;
wire [32:0] data_bus_3_w5_c;
wire [32:0] data_bus_0_w6_reg_scanin;
wire [32:0] data_bus_0_w6_reg_scanout;
wire [32:0] data_bus_0_w6_c;
wire [32:0] data_bus_1_w6_reg_scanin;
wire [32:0] data_bus_1_w6_reg_scanout;
wire [32:0] data_bus_1_w6_c;
wire [32:0] data_bus_2_w6_reg_scanin;
wire [32:0] data_bus_2_w6_reg_scanout;
wire [32:0] data_bus_2_w6_c;
wire [32:0] data_bus_3_w6_reg_scanin;
wire [32:0] data_bus_3_w6_reg_scanout;
wire [32:0] data_bus_3_w6_c;
wire [32:0] data_bus_0_w7_reg_scanin;
wire [32:0] data_bus_0_w7_reg_scanout;
wire [32:0] data_bus_0_w7_c;
wire [32:0] data_bus_1_w7_reg_scanin;
wire [32:0] data_bus_1_w7_reg_scanout;
wire [32:0] data_bus_1_w7_c;
wire [32:0] data_bus_2_w7_reg_scanin;
wire [32:0] data_bus_2_w7_reg_scanout;
wire [32:0] data_bus_2_w7_c;
wire [32:0] data_bus_3_w7_reg_scanin;
wire [32:0] data_bus_3_w7_reg_scanout;
wire [32:0] data_bus_3_w7_c;
wire [4:0] reg_d_out_mux_0;
wire [1:0] reg_en_out_mux_0;
wire [4:0] reg_d_out_mux_1;
wire [1:0] reg_en_out_mux_1;
wire [4:0] red_mux_d_out;
wire [1:0] red_mux_en_out;
wire [4:0] red_d_out_reg_scanin;
wire [4:0] red_d_out_reg_scanout;
wire [1:0] red_en_out_reg_scanin;
wire [1:0] red_en_out_reg_scanout;
// make sure you have .l2clk(l2clk), 1 level up; run fixscan
input tcu_array_wr_inhibit;
input tcu_se_scancollar_in;
input tcu_se_scancollar_out;
input ftp_icd_quad_0_en_bf; // enable quad 0
input ftp_icd_quad_1_en_bf; // enable quad 1
input ftp_icd_quad_2_en_bf; // enable quad 2
input ftp_icd_quad_3_en_bf; // enable quad 3
input [10:2] agd_ic_index_bf; // index to write to/read from
input [2:0] agc_fill_wrway_bf; // way to write to
input [263:0] cmu_ic_data; // 128b data, 4b parity
input [32:0] agd_asi_bist_wrdata; // Debug wr data
input [7:0] itb_icd_waysel_c; // read way select encoded
input [7:0] agc_word_en_bf; // read/write word enable
input ftp_ic_wr_ps_en_bf;
input ftp_asi_mbist_access_bf;
output [32:0] icd_bus_0_instr_c ;
output [32:0] icd_bus_1_instr_c ;
output [32:0] icd_bus_2_instr_c ;
output [32:0] icd_bus_3_instr_c ;
output [1:0] red_en_out ;
// synopsys translate_off
assign pce_ov = tcu_pce_ov;
assign siclk = tcu_aclk ;
assign wr_inhibit = tcu_array_wr_inhibit;
// assign red_d_out[4:0] = 5'b00000 ;
// assign red_en_out[1:0] = 2'b00 ;
//================================================
//================================================
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_in (
.se (tcu_se_scancollar_in),
// l1clkhdr_ctl_macro l1ch_q0_in (
// .l1en (ftp_icd_quad_0_en_bf),
// .se (tcu_se_scancollar_in),
// l1clkhdr_ctl_macro l1ch_q1_in (
// .l1en (ftp_icd_quad_1_en_bf),
// .se (tcu_se_scancollar_in),
// l1clkhdr_ctl_macro l1ch_q2_in (
// .l1en (ftp_icd_quad_2_en_bf),
// .se (tcu_se_scancollar_in),
// l1clkhdr_ctl_macro l1ch_q3_in (
// .l1en (ftp_icd_quad_3_en_bf),
// .se (tcu_se_scancollar_in),
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_q0_out (
.l1en (icd_quad_0_en_f_qual),
.se (tcu_se_scancollar_out),
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_q1_out (
.l1en (icd_quad_1_en_f_qual),
.se (tcu_se_scancollar_out),
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_q2_out (
.l1en (icd_quad_2_en_f_qual),
.se (tcu_se_scancollar_out),
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_q3_out (
.l1en (icd_quad_3_en_f_qual),
.se (tcu_se_scancollar_out),
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_free (
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_red_free (
.l1clk (l1clk_fuse_clk1),
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_red_in (
.se (tcu_se_scancollar_in),
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_red_out (
.se (tcu_se_scancollar_out),
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_int (
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_out (
.se (tcu_se_scancollar_out),
n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro l1ch_wr (
.l1en (ftp_ic_wr_ps_en_bf),
.se (tcu_se_scancollar_in),
//----------------------------------------------------------------------
//----------------------------------------------------------------------
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// Inverters before the flops //
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_9 index_inv (
.din(agd_ic_index_bf[10:2]),
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_3 wrway_inv (
.din(agc_fill_wrway_bf[2:0]),
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_8 word_en_inv (
.din(agc_word_en_bf[7:0]),
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_1 wr_inhibit_inv (
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_1 ic_rd_req_inv (
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_1 ic_wr_req_inv (
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_4 quad_en_in_inv (
.din ({ftp_icd_quad_0_en_bf, ftp_icd_quad_1_en_bf , ftp_icd_quad_2_en_bf , ftp_icd_quad_3_en_bf}),
.dout({ftp_icd_quad_0_en_l_bf, ftp_icd_quad_1_en_l_bf , ftp_icd_quad_2_en_l_bf , ftp_icd_quad_3_en_l_bf})
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 quad_0_en_latch (
.scan_in(quad_en_0_latch_scanin),
.scan_out(quad_en_0_latch_scanout),
.d(ftp_icd_quad_0_en_l_bf),
.latout_l(icd_quad_0_en_f_lat),
.latout(icd_quad_0_en_f_lat_l),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 quad_1_en_latch (
.scan_in(quad_en_1_latch_scanin),
.scan_out(quad_en_1_latch_scanout),
.d(ftp_icd_quad_1_en_l_bf),
.latout_l(icd_quad_1_en_f_lat),
.latout(icd_quad_1_en_f_lat_l),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 quad_2_en_latch (
.scan_in(quad_en_2_latch_scanin),
.scan_out(quad_en_2_latch_scanout),
.d(ftp_icd_quad_2_en_l_bf),
.latout_l(icd_quad_2_en_f_lat),
.latout(icd_quad_2_en_f_lat_l),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 quad_3_en_latch (
.scan_in(quad_en_3_latch_scanin),
.scan_out(quad_en_3_latch_scanout),
.d(ftp_icd_quad_3_en_l_bf),
.latout_l(icd_quad_3_en_f_lat),
.latout(icd_quad_3_en_f_lat_l),
assign icd_quad_0_en_f_lat_unused = icd_quad_0_en_f_lat ;
assign icd_quad_1_en_f_lat_unused = icd_quad_1_en_f_lat ;
assign icd_quad_2_en_f_lat_unused = icd_quad_2_en_f_lat ;
assign icd_quad_3_en_f_lat_unused = icd_quad_3_en_f_lat ;
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_9 index_reg_i (
.scan_in(index_reg_i_scanin),
.scan_out(index_reg_i_scanout),
.latout_l( index_f[10:2] ),
.latout( {index_f_l[10:5],index_f_l_unused[4:2]} ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wrway_0_reg (
.scan_in(wrway_0_reg_scanin),
.scan_out(wrway_0_reg_scanout),
.latout( wrway_f_unused[0] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wrway_1_reg (
.scan_in(wrway_1_reg_scanin),
.scan_out(wrway_1_reg_scanout),
.latout( wrway_f_unused[1] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wrway_2_reg (
.scan_in(wrway_2_reg_scanin),
.scan_out(wrway_2_reg_scanout),
.latout( wrway_f_unused[2] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wr_word_en_0_reg (
.scan_in(wr_word_en_0_reg_scanin),
.scan_out(wr_word_en_0_reg_scanout),
.latout_l( word_en_f[0] ),
.latout( word_en_f_unused[0] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wr_word_en_1_reg (
.scan_in(wr_word_en_1_reg_scanin),
.scan_out(wr_word_en_1_reg_scanout),
.latout_l( word_en_f[1] ),
.latout( word_en_f_unused[1] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wr_word_en_2_reg (
.scan_in(wr_word_en_2_reg_scanin),
.scan_out(wr_word_en_2_reg_scanout),
.latout_l( word_en_f[2] ),
.latout( word_en_f_unused[2] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wr_word_en_3_reg (
.scan_in(wr_word_en_3_reg_scanin),
.scan_out(wr_word_en_3_reg_scanout),
.latout_l( word_en_f[3] ),
.latout( word_en_f_unused[3] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wr_word_en_4_reg (
.scan_in(wr_word_en_4_reg_scanin),
.scan_out(wr_word_en_4_reg_scanout),
.latout_l( word_en_f[4] ),
.latout( word_en_f_unused[4] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wr_word_en_5_reg (
.scan_in(wr_word_en_5_reg_scanin),
.scan_out(wr_word_en_5_reg_scanout),
.latout_l( word_en_f[5] ),
.latout( word_en_f_unused[5] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wr_word_en_6_reg (
.scan_in(wr_word_en_6_reg_scanin),
.scan_out(wr_word_en_6_reg_scanout),
.latout_l( word_en_f[6] ),
.latout( word_en_f_unused[6] ),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wr_word_en_7_reg (
.scan_in(wr_word_en_7_reg_scanin),
.scan_out(wr_word_en_7_reg_scanout),
.latout_l( word_en_f[7] ),
.latout( word_en_f_unused[7] ),
n2_icd_sp_16p5kb_cust_msffi_ctl_macro__fs_1__width_4 quad_en_reg (
.scan_in(quad_en_reg_scanin[3:0]),
.scan_out(quad_en_reg_scanout[3:0]),
.din( {ftp_icd_quad_3_en_bf,ftp_icd_quad_2_en_bf,ftp_icd_quad_1_en_bf,ftp_icd_quad_0_en_bf}),
.q_l({icd_quad_3_en_l_f,icd_quad_2_en_l_f,icd_quad_1_en_l_f,icd_quad_0_en_l_f}),
n2_icd_sp_16p5kb_cust_inv_macro__width_4 quad_inv (
.din ({icd_quad_3_en_l_f,icd_quad_2_en_l_f,icd_quad_1_en_l_f,icd_quad_0_en_l_f}) ,
.dout({icd_quad_3_en_f,icd_quad_2_en_f,icd_quad_1_en_f,icd_quad_0_en_f})
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 wrreq_reg (
.scan_in(wrreq_reg_scanin[0:0]),
.scan_out(wrreq_reg_scanout[0:0]),
.latout(wrreq_f_l_unused),
n2_icd_sp_16p5kb_cust_msffi_ctl_macro__width_1 wrreq_reg_b (
.scan_in(wrreq_reg_b_scanin),
.scan_out(wrreq_reg_b_scanout),
.din ( ftp_ic_wr_req_bf ),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_1 ftp_access_f_reg (
.scan_in(ftp_access_f_reg_scanin[0:0]),
.scan_out(ftp_access_f_reg_scanout[0:0]),
.din(ftp_asi_mbist_access_bf),
n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 rdreq_reg (
.scan_in(rdreq_reg_scanin),
.scan_out(rdreq_reg_scanout),
.latout ( rdreq_f_l_unused ),
.latout_l ( rdreq_f_unused ),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__width_1 rdreq_reg_b (
.scan_in(rdreq_reg_b_scanin),
.scan_out(rdreq_reg_b_scanout),
.din ( ftp_ic_rd_req_bf ),
n2_icd_sp_16p5kb_cust_mux_macro__mux_aope__ports_2__stack_66c__width_66 wrdata_reg_lo_1_mux (
.din0({agd_asi_bist_wrdata[32:0],agd_asi_bist_wrdata[32:0]}),
.din1(cmu_ic_data[65:0]),
.sel0(ftp_asi_mbist_access_bf),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 wrdata_q0_0 (
.scan_in(wrdata_q0_0_scanin[32:0]),
.scan_out(wrdata_q0_0_scanout[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 wrdata_q1_1 (
.scan_in(wrdata_q1_1_scanin[32:0]),
.scan_out(wrdata_q1_1_scanout[32:0]),
n2_icd_sp_16p5kb_cust_mux_macro__mux_aope__ports_2__stack_66c__width_66 wrdata_reg_lo_2_mux (
.din0({agd_asi_bist_wrdata[32:0],agd_asi_bist_wrdata[32:0]}),
.din1(cmu_ic_data[131:66]),
.sel0(ftp_asi_mbist_access_bf),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 wrdata_q2_2 (
.scan_in(wrdata_q2_2_scanin[32:0]),
.scan_out(wrdata_q2_2_scanout[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 wrdata_q3_3 (
.scan_in(wrdata_q3_3_scanin[32:0]),
.scan_out(wrdata_q3_3_scanout[32:0]),
n2_icd_sp_16p5kb_cust_mux_macro__mux_aope__ports_2__stack_66c__width_66 wrdata_reg_hi_1_mux (
.din0({agd_asi_bist_wrdata[32:0],agd_asi_bist_wrdata[32:0]}),
.din1(cmu_ic_data[197:132]),
.sel0(ftp_asi_mbist_access_bf),
.dout(wrdata_in[197:132])
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 wrdata_q0_4 (
.scan_in(wrdata_q0_4_scanin[32:0]),
.scan_out(wrdata_q0_4_scanout[32:0]),
.din(wrdata_in[164:132]),
.dout(wrdata_f[164:132]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 wrdata_q1_5 (
.scan_in(wrdata_q1_5_scanin[32:0]),
.scan_out(wrdata_q1_5_scanout[32:0]),
.din(wrdata_in[197:165]),
.dout(wrdata_f[197:165]),
n2_icd_sp_16p5kb_cust_mux_macro__mux_aope__ports_2__stack_66c__width_66 wrdata_reg_hi_2_mux (
.din0({agd_asi_bist_wrdata[32:0],agd_asi_bist_wrdata[32:0]}),
.din1(cmu_ic_data[263:198]),
.sel0(ftp_asi_mbist_access_bf),
.dout(wrdata_in[263:198])
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 wrdata_q2_6 (
.scan_in(wrdata_q2_6_scanin[32:0]),
.scan_out(wrdata_q2_6_scanout[32:0]),
.din(wrdata_in[230:198]),
.dout(wrdata_f[230:198]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 wrdata_q3_7 (
.scan_in(wrdata_q3_7_scanin[32:0]),
.scan_out(wrdata_q3_7_scanout[32:0]),
.din(wrdata_in[263:231]),
.dout(wrdata_f[263:231]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_5 red_d_reg (
.scan_in(red_d_reg_scanin[4:0]),
.scan_out(red_d_reg_scanout[4:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_2 red_en_reg (
.scan_in(red_en_reg_scanin[1:0]),
.scan_out(red_en_reg_scanout[1:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_4 rid_reg (
.scan_in(rid_reg_scanin[3:0]),
.scan_out(rid_reg_scanout[3:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_1 red_wen_reg (
.scan_in(red_wen_reg_scanin[0:0]),
.scan_out(red_wen_reg_scanout[0:0]),
n2_icd_sp_16p5kb_cust_and_macro__ports_2__width_1 red_wen_wrinhib_and_gate (
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_1 red_arst_reg (
.scan_in(red_arst_reg_scanin[0:0]),
.scan_out(red_arst_reg_scanout[0:0]),
n2_icd_sp_16p5kb_cust_and_macro__ports_2__width_1 red_arst_wrinhib_and_gate (
////////////////////////////////////////////////////
// C-stage flops and muxes on the input side //
////////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_8 way_f_reg (
.scan_in(way_f_reg_scanin[7:0]),
.scan_out(way_f_reg_scanout[7:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_8 way_c_reg (
.scan_in(way_c_reg_scanin[7:0]),
.scan_out(way_c_reg_scanout[7:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_1 ftp_access_c_reg (
.scan_in(ftp_access_c_reg_scanin[0:0]),
.scan_out(ftp_access_c_reg_scanout[0:0]),
n2_icd_sp_16p5kb_cust_msffi_ctl_macro__width_1 ftp_access_c_dum (
.scan_in(ftp_access_c_dum_scanin),
.scan_out(ftp_access_c_dum_scanout),
n2_icd_sp_16p5kb_cust_inv_macro__width_1 asi_access_c_l_invt (
.dout(asi_access_c_l_inv)
n2_icd_sp_16p5kb_cust_inv_macro__width_1 asi_access_c_invt (
n2_icd_sp_16p5kb_cust_mux_macro__mux_aonpe__ports_2__stack_50c__width_8 way_sel_mux (
.din0(itb_icd_waysel_c[7:0]),
.sel0 ( asi_access_c_inv),
.sel1 ( asi_access_c_l_inv),
.dout( muxed_way_sel_c[7:0] ));
//////////////////////////////////////////////////////////////////////////////////////////////
// assign i4_i0_sel_upper = ~(index_f[4:2] == 3'b000) ;
// assign i5_i1_sel_upper = ~( ~index_f[4] & ~index_f[3] );
// assign i6_i2_sel_upper = ~((~index_f[4] & ~index_f[3]) | (~index_f[4] & ~index_f[2]));
// assign i7_i3_sel_upper = index_f[4] ;
//////////////////////////////////////////////////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_or_macro__ports_3__stack_50c__width_1 i4_i0_sel_upper_or (
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_1 i4_i0_sel_upper_gate_l (
n2_icd_sp_16p5kb_cust_or_macro__ports_2__stack_50c__width_1 i5_i1_sel_upper_or (
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_1 i5_i1_sel_upper_gate_l (
n2_icd_sp_16p5kb_cust_or_macro__ports_2__stack_50c__width_1 i6_i2_sel_upper_or_2_gate (
.dout(i6_i2_sel_upper_or_2)
n2_icd_sp_16p5kb_cust_and_macro__ports_2__stack_50c__width_1 i6_i2_sel_upper_and_gate (
.din0(i6_i2_sel_upper_or_2),
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_1 i6_i2_sel_upper_gate_l (
n2_icd_sp_16p5kb_cust_buff_macro__stack_50c__width_1 i7_i3_sel_upper_gate (
n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_1 i7_i3_sel_upper_gate_l (
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
// tisram_msff_macro wr_inh_ff (width=1) (
// .scan_in(wr_inh_ff_scanin),
// .scan_out(wr_inh_ff_scanout),
// .d ( wr_inhibit_in_l ),
// .latout_l( wr_inhibit_unused ),
// .latout( wr_inhibit_l ));
n2_icd_sp_16p5kb_cust_nand_macro__ports_3__stack_50c__width_8 wr_word_en_nand (
.din0({8{wr_inhibit_in_l}}),
.dout(wr_word_en_f_l[7:0])
//////////////////////////////////////////////////////////
// Disable reads when quad is not enabled
//////////////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_nand_macro__ports_4__stack_50c__width_1 rd_req_q_0_en (
n2_icd_sp_16p5kb_cust_inv_macro rd_req_q_0_en_inv (
n2_icd_sp_16p5kb_cust_and_macro quad_0_en_qualify (
.din1 (icd_quad_0_en_f) ,
.dout (icd_quad_0_en_f_qual)) ;
n2_icd_sp_16p5kb_cust_nand_macro__ports_4__stack_50c__width_1 rd_req_q_1_en (
n2_icd_sp_16p5kb_cust_inv_macro rd_req_q_1_en_inv (
n2_icd_sp_16p5kb_cust_and_macro quad_1_en_qualify (
.din1 (icd_quad_1_en_f) ,
.dout (icd_quad_1_en_f_qual)) ;
n2_icd_sp_16p5kb_cust_nand_macro__ports_4__stack_50c__width_1 rd_req_q_2_en (
n2_icd_sp_16p5kb_cust_inv_macro rd_req_q_2_en_inv (
n2_icd_sp_16p5kb_cust_and_macro quad_2_en_qualify (
.din1 (icd_quad_2_en_f) ,
.dout (icd_quad_2_en_f_qual)) ;
n2_icd_sp_16p5kb_cust_nand_macro__ports_4__stack_50c__width_1 rd_req_q_3_en (
n2_icd_sp_16p5kb_cust_inv_macro rd_req_q_3_en_inv (
n2_icd_sp_16p5kb_cust_and_macro quad_3_en_qualify (
.din1 (icd_quad_3_en_f) ,
.dout (icd_quad_3_en_f_qual)) ;
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_mux_macro__mux_aodec__ports_8__width_8 wr_way_decode (
.sel (wrway_f[2:0]), // This changed
.dout (wrway_dec_bf[7:0])
n2_icd_sp_16p5kb_cust_mux_macro__mux_aodec__ports_8__width_8 wr_way_decode_l (
.dout (wrway_dec_f_[7:0])
//////////////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_mux_macro__mux_aodec__ports_8__width_8 rid_sel_mux0 (
n2_icd_sp_16p5kb_cust_mux_macro__mux_aope__ports_2__width_16 rid_sel_mux1 (
.din0 ({rid_sel_dec[7:0],8'b00000000}),
.din1 ({8'b00000000,rid_sel_dec[7:0]}),
/////////////////////////////////////////////////////////////////
// Instantiate each way ARRAY. //
/////////////////////////////////////////////////////////////////
// The Icache is divided in four quads. //
// Each quad is made of two Banks. //
// Each quad has two words for all the 8 ways. //
// ----------------------------------------------------------- //
// quad_0 has I0/I4 for ways 7 to 0 //
// quad-1 has I1/I5 for ways 7 to 0 //
// quad-2 has I2/I6 for ways 7 to 0 //
// quad-3 has I3/I7 for ways 7 to 0 //
// ----------------------------------------------------------- //
// Inside quad-0 top bank has ways 3 to 0 //
// Inside quad-0 bottom bank has ways 7 to 4 //
// ----------------------------------------------------------- //
// Other quads are arranged similarly. //
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
//////////////////////////////////////////////
/////////////////////////////////////////////
n2_icd_quad_array quad_0 (.adr_ac_h(index_f[10:5]),
.adr_ac_l(index_f_l[10:5]),
.rd_en_a_l(rdreq_f_q0_l),
.quaden_f_l(icd_quad_0_en_f_lat_l),
.wr_word_en_ac_l({wr_word_en_f_l[4],wr_word_en_f_l[0]}),
.wr_waysel0_ac_l(wrway_dec_f_[7:0]),
.wr_waysel1_ac_l(wrway_dec_f_[7:0]),
.din1_a(wrdata_f[164:132]),
.dout_wy0_bc(rd_data_w0_i4_or_i0[32:0]),
.dout_wy1_bc(rd_data_w1_i4_or_i0[32:0]),
.dout_wy2_bc(rd_data_w2_i4_or_i0[32:0]),
.dout_wy3_bc(rd_data_w3_i4_or_i0[32:0]),
.dout_wy4_bc(rd_data_w4_i4_or_i0[32:0]),
.dout_wy5_bc(rd_data_w5_i4_or_i0[32:0]),
.dout_wy6_bc(rd_data_w6_i4_or_i0[32:0]),
.dout_wy7_bc(rd_data_w7_i4_or_i0[32:0]),
.reg_d_lft_top(reg_d_q0_w3_w0_lft_d[4:0]) ,
.reg_en_lft_top(reg_d_q0_w3_w0_lft_en[1:0]) ,
.reg_d_rgt_top(reg_d_q0_w3_w0_rgt_d[4:0]) ,
.reg_en_rgt_top(reg_d_q0_w3_w0_rgt_en[1:0]) ,
.reg_d_lft_bot(reg_d_q0_w7_w4_lft_d[4:0]) ,
.reg_en_lft_bot(reg_d_q0_w7_w4_lft_en[1:0]) ,
.reg_d_rgt_bot(reg_d_q0_w7_w4_rgt_d[4:0]) ,
.reg_en_rgt_bot(reg_d_q0_w7_w4_rgt_en[1:0]) ,
.red_d_ff(red_d_ff[4:0]),
.red_en_ff(red_en_ff[1:0]),
.red_wen_ff(red_wen_ff) ,
.red_arst_ff(red_arst_ff),
.rd_worden_ac_l({i4_i0_sel_upper_,i4_i0_sel_upper}),
.l1clk_fuse(l1clk_fuse_clk1),
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
n2_icd_quad_array quad_1 (.adr_ac_h(index_f[10:5]),
.adr_ac_l(index_f_l[10:5]),
.rd_en_a_l(rdreq_f_q1_l),
.quaden_f_l(icd_quad_1_en_f_lat_l),
.wr_word_en_ac_l({wr_word_en_f_l[5],wr_word_en_f_l[1]}),
.wr_waysel0_ac_l(wrway_dec_f_[7:0]),
.wr_waysel1_ac_l(wrway_dec_f_[7:0]),
.din0_a(wrdata_f[65:33]),
.din1_a(wrdata_f[197:165]),
.dout_wy0_bc(rd_data_w0_i5_or_i1[32:0]),
.dout_wy1_bc(rd_data_w1_i5_or_i1[32:0]),
.dout_wy2_bc(rd_data_w2_i5_or_i1[32:0]),
.dout_wy3_bc(rd_data_w3_i5_or_i1[32:0]),
.dout_wy4_bc(rd_data_w4_i5_or_i1[32:0]),
.dout_wy5_bc(rd_data_w5_i5_or_i1[32:0]),
.dout_wy6_bc(rd_data_w6_i5_or_i1[32:0]),
.dout_wy7_bc(rd_data_w7_i5_or_i1[32:0]),
.reg_d_lft_top(reg_d_q1_w3_w0_lft_d[4:0]) ,
.reg_en_lft_top(reg_d_q1_w3_w0_lft_en[1:0]) ,
.reg_d_rgt_top(reg_d_q1_w3_w0_rgt_d[4:0]) ,
.reg_en_rgt_top(reg_d_q1_w3_w0_rgt_en[1:0]) ,
.reg_d_lft_bot(reg_d_q1_w7_w4_lft_d[4:0]) ,
.reg_en_lft_bot(reg_d_q1_w7_w4_lft_en[1:0]) ,
.reg_d_rgt_bot(reg_d_q1_w7_w4_rgt_d[4:0]) ,
.reg_en_rgt_bot(reg_d_q1_w7_w4_rgt_en[1:0]) ,
.red_d_ff(red_d_ff[4:0]),
.red_en_ff(red_en_ff[1:0]),
.red_wen_ff(red_wen_ff) ,
.red_arst_ff(red_arst_ff),
.rd_worden_ac_l({i5_i1_sel_upper_,i5_i1_sel_upper}),
.l1clk_fuse(l1clk_fuse_clk1),
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
n2_icd_quad_array quad_2 (.adr_ac_h(index_f[10:5]),
.adr_ac_l(index_f_l[10:5]),
.rd_en_a_l(rdreq_f_q2_l),
.quaden_f_l(icd_quad_2_en_f_lat_l),
.wr_word_en_ac_l({wr_word_en_f_l[6],wr_word_en_f_l[2]}),
.wr_waysel0_ac_l(wrway_dec_f_[7:0]),
.wr_waysel1_ac_l(wrway_dec_f_[7:0]),
.din0_a(wrdata_f[98:66]),
.din1_a(wrdata_f[230:198]),
.dout_wy0_bc(rd_data_w0_i6_or_i2[32:0]),
.dout_wy1_bc(rd_data_w1_i6_or_i2[32:0]),
.dout_wy2_bc(rd_data_w2_i6_or_i2[32:0]),
.dout_wy3_bc(rd_data_w3_i6_or_i2[32:0]),
.dout_wy4_bc(rd_data_w4_i6_or_i2[32:0]),
.dout_wy5_bc(rd_data_w5_i6_or_i2[32:0]),
.dout_wy6_bc(rd_data_w6_i6_or_i2[32:0]),
.dout_wy7_bc(rd_data_w7_i6_or_i2[32:0]),
.reg_d_lft_top(reg_d_q2_w3_w0_lft_d[4:0]) ,
.reg_en_lft_top(reg_d_q2_w3_w0_lft_en[1:0]) ,
.reg_d_rgt_top(reg_d_q2_w3_w0_rgt_d[4:0]) ,
.reg_en_rgt_top(reg_d_q2_w3_w0_rgt_en[1:0]) ,
.reg_d_lft_bot(reg_d_q2_w7_w4_lft_d[4:0]) ,
.reg_en_lft_bot(reg_d_q2_w7_w4_lft_en[1:0]) ,
.reg_d_rgt_bot(reg_d_q2_w7_w4_rgt_d[4:0]) ,
.reg_en_rgt_bot(reg_d_q2_w7_w4_rgt_en[1:0]) ,
.red_d_ff(red_d_ff[4:0]),
.red_en_ff(red_en_ff[1:0]),
.rid_sel(rid_sel[11:8]) ,
.red_wen_ff(red_wen_ff) ,
.red_arst_ff(red_arst_ff),
.rd_worden_ac_l({i6_i2_sel_upper_,i6_i2_sel_upper}),
.l1clk_fuse(l1clk_fuse_clk1),
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
n2_icd_quad_array quad_3 (.adr_ac_h(index_f[10:5]),
.adr_ac_l(index_f_l[10:5]),
.rd_en_a_l(rdreq_f_q3_l),
.quaden_f_l(icd_quad_3_en_f_lat_l),
.wr_word_en_ac_l({wr_word_en_f_l[7],wr_word_en_f_l[3]}),
.wr_waysel0_ac_l(wrway_dec_f_[7:0]),
.wr_waysel1_ac_l(wrway_dec_f_[7:0]),
.din0_a(wrdata_f[131:99]),
.din1_a(wrdata_f[263:231]),
.dout_wy0_bc(rd_data_w0_i7_or_i3[32:0]),
.dout_wy1_bc(rd_data_w1_i7_or_i3[32:0]),
.dout_wy2_bc(rd_data_w2_i7_or_i3[32:0]),
.dout_wy3_bc(rd_data_w3_i7_or_i3[32:0]),
.dout_wy4_bc(rd_data_w4_i7_or_i3[32:0]),
.dout_wy5_bc(rd_data_w5_i7_or_i3[32:0]),
.dout_wy6_bc(rd_data_w6_i7_or_i3[32:0]),
.dout_wy7_bc(rd_data_w7_i7_or_i3[32:0]),
.reg_d_lft_top(reg_d_q3_w3_w0_lft_d[4:0]) ,
.reg_en_lft_top(reg_d_q3_w3_w0_lft_en[1:0]) ,
.reg_d_rgt_top(reg_d_q3_w3_w0_rgt_d[4:0]) ,
.reg_en_rgt_top(reg_d_q3_w3_w0_rgt_en[1:0]) ,
.reg_d_lft_bot(reg_d_q3_w7_w4_lft_d[4:0]) ,
.reg_en_lft_bot(reg_d_q3_w7_w4_lft_en[1:0]) ,
.reg_d_rgt_bot(reg_d_q3_w7_w4_rgt_d[4:0]) ,
.reg_en_rgt_bot(reg_d_q3_w7_w4_rgt_en[1:0]) ,
.red_d_ff(red_d_ff[4:0]),
.red_en_ff(red_en_ff[1:0]),
.rid_sel(rid_sel[15:12]) ,
.red_wen_ff(red_wen_ff) ,
.red_arst_ff(red_arst_ff),
.rd_worden_ac_l({i7_i3_sel_upper_,i7_i3_sel_upper}),
.l1clk_fuse(l1clk_fuse_clk1),
//////////////////////////////////////////////////////////////////////////
// Mux the instructions in each way to four buses //
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// Flop all the way outputs. //
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////
//////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_0_w0_reg (
.scan_in(data_bus_0_w0_reg_scanin[32:0]),
.scan_out(data_bus_0_w0_reg_scanout[32:0]),
.din(rd_data_w0_i4_or_i0[32:0]),
.dout(data_bus_0_w0_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_1_w0_reg (
.scan_in(data_bus_1_w0_reg_scanin[32:0]),
.scan_out(data_bus_1_w0_reg_scanout[32:0]),
.din(rd_data_w0_i5_or_i1[32:0]),
.dout(data_bus_1_w0_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_2_w0_reg (
.scan_in(data_bus_2_w0_reg_scanin[32:0]),
.scan_out(data_bus_2_w0_reg_scanout[32:0]),
.din(rd_data_w0_i6_or_i2[32:0]),
.dout(data_bus_2_w0_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_3_w0_reg (
.scan_in(data_bus_3_w0_reg_scanin[32:0]),
.scan_out(data_bus_3_w0_reg_scanout[32:0]),
.din(rd_data_w0_i7_or_i3[32:0]),
.dout(data_bus_3_w0_c[32:0]),
//////////////////////////////////////////////////
//////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_0_w1_reg (
.scan_in(data_bus_0_w1_reg_scanin[32:0]),
.scan_out(data_bus_0_w1_reg_scanout[32:0]),
.din(rd_data_w1_i4_or_i0[32:0]),
.dout(data_bus_0_w1_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_1_w1_reg (
.scan_in(data_bus_1_w1_reg_scanin[32:0]),
.scan_out(data_bus_1_w1_reg_scanout[32:0]),
.din(rd_data_w1_i5_or_i1[32:0]),
.dout(data_bus_1_w1_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_2_w1_reg (
.scan_in(data_bus_2_w1_reg_scanin[32:0]),
.scan_out(data_bus_2_w1_reg_scanout[32:0]),
.din(rd_data_w1_i6_or_i2[32:0]),
.dout(data_bus_2_w1_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_3_w1_reg (
.scan_in(data_bus_3_w1_reg_scanin[32:0]),
.scan_out(data_bus_3_w1_reg_scanout[32:0]),
.din(rd_data_w1_i7_or_i3[32:0]),
.dout(data_bus_3_w1_c[32:0]),
//////////////////////////////////////////////////
//////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_0_w2_reg (
.scan_in(data_bus_0_w2_reg_scanin[32:0]),
.scan_out(data_bus_0_w2_reg_scanout[32:0]),
.din(rd_data_w2_i4_or_i0[32:0]),
.dout(data_bus_0_w2_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_1_w2_reg (
.scan_in(data_bus_1_w2_reg_scanin[32:0]),
.scan_out(data_bus_1_w2_reg_scanout[32:0]),
.din(rd_data_w2_i5_or_i1[32:0]),
.dout(data_bus_1_w2_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_2_w2_reg (
.scan_in(data_bus_2_w2_reg_scanin[32:0]),
.scan_out(data_bus_2_w2_reg_scanout[32:0]),
.din(rd_data_w2_i6_or_i2[32:0]),
.dout(data_bus_2_w2_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_3_w2_reg (
.scan_in(data_bus_3_w2_reg_scanin[32:0]),
.scan_out(data_bus_3_w2_reg_scanout[32:0]),
.din(rd_data_w2_i7_or_i3[32:0]),
.dout(data_bus_3_w2_c[32:0]),
//////////////////////////////////////////////////
//////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_0_w3_reg (
.scan_in(data_bus_0_w3_reg_scanin[32:0]),
.scan_out(data_bus_0_w3_reg_scanout[32:0]),
.din(rd_data_w3_i4_or_i0[32:0]),
.dout(data_bus_0_w3_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_1_w3_reg (
.scan_in(data_bus_1_w3_reg_scanin[32:0]),
.scan_out(data_bus_1_w3_reg_scanout[32:0]),
.din(rd_data_w3_i5_or_i1[32:0]),
.dout(data_bus_1_w3_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_2_w3_reg (
.scan_in(data_bus_2_w3_reg_scanin[32:0]),
.scan_out(data_bus_2_w3_reg_scanout[32:0]),
.din(rd_data_w3_i6_or_i2[32:0]),
.dout(data_bus_2_w3_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_3_w3_reg (
.scan_in(data_bus_3_w3_reg_scanin[32:0]),
.scan_out(data_bus_3_w3_reg_scanout[32:0]),
.din(rd_data_w3_i7_or_i3[32:0]),
.dout(data_bus_3_w3_c[32:0]),
//////////////////////////////////////////////////
//////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_0_w4_reg (
.scan_in(data_bus_0_w4_reg_scanin[32:0]),
.scan_out(data_bus_0_w4_reg_scanout[32:0]),
.din(rd_data_w4_i4_or_i0[32:0]),
.dout(data_bus_0_w4_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_1_w4_reg (
.scan_in(data_bus_1_w4_reg_scanin[32:0]),
.scan_out(data_bus_1_w4_reg_scanout[32:0]),
.din(rd_data_w4_i5_or_i1[32:0]),
.dout(data_bus_1_w4_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_2_w4_reg (
.scan_in(data_bus_2_w4_reg_scanin[32:0]),
.scan_out(data_bus_2_w4_reg_scanout[32:0]),
.din(rd_data_w4_i6_or_i2[32:0]),
.dout(data_bus_2_w4_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_3_w4_reg (
.scan_in(data_bus_3_w4_reg_scanin[32:0]),
.scan_out(data_bus_3_w4_reg_scanout[32:0]),
.din(rd_data_w4_i7_or_i3[32:0]),
.dout(data_bus_3_w4_c[32:0]),
//////////////////////////////////////////////////
//////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_0_w5_reg (
.scan_in(data_bus_0_w5_reg_scanin[32:0]),
.scan_out(data_bus_0_w5_reg_scanout[32:0]),
.din(rd_data_w5_i4_or_i0[32:0]),
.dout(data_bus_0_w5_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_1_w5_reg (
.scan_in(data_bus_1_w5_reg_scanin[32:0]),
.scan_out(data_bus_1_w5_reg_scanout[32:0]),
.din(rd_data_w5_i5_or_i1[32:0]),
.dout(data_bus_1_w5_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_2_w5_reg (
.scan_in(data_bus_2_w5_reg_scanin[32:0]),
.scan_out(data_bus_2_w5_reg_scanout[32:0]),
.din(rd_data_w5_i6_or_i2[32:0]),
.dout(data_bus_2_w5_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_3_w5_reg (
.scan_in(data_bus_3_w5_reg_scanin[32:0]),
.scan_out(data_bus_3_w5_reg_scanout[32:0]),
.din(rd_data_w5_i7_or_i3[32:0]),
.dout(data_bus_3_w5_c[32:0]),
//////////////////////////////////////////////////
//////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_0_w6_reg (
.scan_in(data_bus_0_w6_reg_scanin[32:0]),
.scan_out(data_bus_0_w6_reg_scanout[32:0]),
.din(rd_data_w6_i4_or_i0[32:0]),
.dout(data_bus_0_w6_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_1_w6_reg (
.scan_in(data_bus_1_w6_reg_scanin[32:0]),
.scan_out(data_bus_1_w6_reg_scanout[32:0]),
.din(rd_data_w6_i5_or_i1[32:0]),
.dout(data_bus_1_w6_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_2_w6_reg (
.scan_in(data_bus_2_w6_reg_scanin[32:0]),
.scan_out(data_bus_2_w6_reg_scanout[32:0]),
.din(rd_data_w6_i6_or_i2[32:0]),
.dout(data_bus_2_w6_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_3_w6_reg (
.scan_in(data_bus_3_w6_reg_scanin[32:0]),
.scan_out(data_bus_3_w6_reg_scanout[32:0]),
.din(rd_data_w6_i7_or_i3[32:0]),
.dout(data_bus_3_w6_c[32:0]),
//////////////////////////////////////////////////
//////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_0_w7_reg (
.scan_in(data_bus_0_w7_reg_scanin[32:0]),
.scan_out(data_bus_0_w7_reg_scanout[32:0]),
.din(rd_data_w7_i4_or_i0[32:0]),
.dout(data_bus_0_w7_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_1_w7_reg (
.scan_in(data_bus_1_w7_reg_scanin[32:0]),
.scan_out(data_bus_1_w7_reg_scanout[32:0]),
.din(rd_data_w7_i5_or_i1[32:0]),
.dout(data_bus_1_w7_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_2_w7_reg (
.scan_in(data_bus_2_w7_reg_scanin[32:0]),
.scan_out(data_bus_2_w7_reg_scanout[32:0]),
.din(rd_data_w7_i6_or_i2[32:0]),
.dout(data_bus_2_w7_c[32:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 data_bus_3_w7_reg (
.scan_in(data_bus_3_w7_reg_scanin[32:0]),
.scan_out(data_bus_3_w7_reg_scanout[32:0]),
.din(rd_data_w7_i7_or_i3[32:0]),
.dout(data_bus_3_w7_c[32:0]),
//////////////////////////////////////////////////////////////////////////
// Muxing ALL ways to get instr 0,1,2,3 based on the way select from //
// Icache tags and TLB. //
// NOTE: These instructions are unordered. //
//////////////////////////////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_mux_macro__mux_aonpe__ports_8__stack_50c__width_33 bus_0_mux (
.din0({data_bus_0_w0_c[32],data_bus_0_w0_c[31:0]}),
.din1({data_bus_0_w1_c[32],data_bus_0_w1_c[31:0]}),
.din2({data_bus_0_w2_c[32],data_bus_0_w2_c[31:0]}),
.din3({data_bus_0_w3_c[32],data_bus_0_w3_c[31:0]}),
.din4({data_bus_0_w4_c[32],data_bus_0_w4_c[31:0]}),
.din5({data_bus_0_w5_c[32],data_bus_0_w5_c[31:0]}),
.din6({data_bus_0_w6_c[32],data_bus_0_w6_c[31:0]}),
.din7({data_bus_0_w7_c[32],data_bus_0_w7_c[31:0]} ),
.sel0 ( muxed_way_sel_c[0]),
.sel1 ( muxed_way_sel_c[1]),
.sel2 ( muxed_way_sel_c[2]),
.sel3 ( muxed_way_sel_c[3]),
.sel4 ( muxed_way_sel_c[4]),
.sel5 ( muxed_way_sel_c[5]),
.sel6 ( muxed_way_sel_c[6]),
.sel7 ( muxed_way_sel_c[7]),
.dout( icd_bus_0_instr_c[32:0] ));
n2_icd_sp_16p5kb_cust_mux_macro__mux_aonpe__ports_8__stack_50c__width_33 bus_1_mux (
.din0({data_bus_1_w0_c[32],data_bus_1_w0_c[31:0]}),
.din1({data_bus_1_w1_c[32],data_bus_1_w1_c[31:0]}),
.din2({data_bus_1_w2_c[32],data_bus_1_w2_c[31:0]}),
.din3({data_bus_1_w3_c[32],data_bus_1_w3_c[31:0]}),
.din4({data_bus_1_w4_c[32],data_bus_1_w4_c[31:0]}),
.din5({data_bus_1_w5_c[32],data_bus_1_w5_c[31:0]}),
.din6({data_bus_1_w6_c[32],data_bus_1_w6_c[31:0]}),
.din7({data_bus_1_w7_c[32],data_bus_1_w7_c[31:0]} ),
.sel0 ( muxed_way_sel_c[0]),
.sel1 ( muxed_way_sel_c[1]),
.sel2 ( muxed_way_sel_c[2]),
.sel3 ( muxed_way_sel_c[3]),
.sel4 ( muxed_way_sel_c[4]),
.sel5 ( muxed_way_sel_c[5]),
.sel6 ( muxed_way_sel_c[6]),
.sel7 ( muxed_way_sel_c[7]),
.dout( icd_bus_1_instr_c[32:0] ));
n2_icd_sp_16p5kb_cust_mux_macro__mux_aonpe__ports_8__stack_50c__width_33 bus_2_mux (
.din0({data_bus_2_w0_c[32],data_bus_2_w0_c[31:0]}),
.din1({data_bus_2_w1_c[32],data_bus_2_w1_c[31:0]}),
.din2({data_bus_2_w2_c[32],data_bus_2_w2_c[31:0]}),
.din3({data_bus_2_w3_c[32],data_bus_2_w3_c[31:0]}),
.din4({data_bus_2_w4_c[32],data_bus_2_w4_c[31:0]}),
.din5({data_bus_2_w5_c[32],data_bus_2_w5_c[31:0]}),
.din6({data_bus_2_w6_c[32],data_bus_2_w6_c[31:0]}),
.din7({data_bus_2_w7_c[32],data_bus_2_w7_c[31:0]} ),
.sel0 ( muxed_way_sel_c[0]),
.sel1 ( muxed_way_sel_c[1]),
.sel2 ( muxed_way_sel_c[2]),
.sel3 ( muxed_way_sel_c[3]),
.sel4 ( muxed_way_sel_c[4]),
.sel5 ( muxed_way_sel_c[5]),
.sel6 ( muxed_way_sel_c[6]),
.sel7 ( muxed_way_sel_c[7]),
.dout( icd_bus_2_instr_c[32:0] ));
n2_icd_sp_16p5kb_cust_mux_macro__mux_aonpe__ports_8__stack_50c__width_33 bus_3_mux (
.din0({data_bus_3_w0_c[32],data_bus_3_w0_c[31:0]}),
.din1({data_bus_3_w1_c[32],data_bus_3_w1_c[31:0]}),
.din2({data_bus_3_w2_c[32],data_bus_3_w2_c[31:0]}),
.din3({data_bus_3_w3_c[32],data_bus_3_w3_c[31:0]}),
.din4({data_bus_3_w4_c[32],data_bus_3_w4_c[31:0]}),
.din5({data_bus_3_w5_c[32],data_bus_3_w5_c[31:0]}),
.din6({data_bus_3_w6_c[32],data_bus_3_w6_c[31:0]}),
.din7({data_bus_3_w7_c[32],data_bus_3_w7_c[31:0]} ),
.sel0 ( muxed_way_sel_c[0]),
.sel1 ( muxed_way_sel_c[1]),
.sel2 ( muxed_way_sel_c[2]),
.sel3 ( muxed_way_sel_c[3]),
.sel4 ( muxed_way_sel_c[4]),
.sel5 ( muxed_way_sel_c[5]),
.sel6 ( muxed_way_sel_c[6]),
.sel7 ( muxed_way_sel_c[7]),
.dout( icd_bus_3_instr_c[32:0] ));
////////////////////////////////////////////////////////////
// Redunduncy Data out muxing //
////////////////////////////////////////////////////////////
n2_icd_sp_16p5kb_cust_mux_macro__mux_aodec__ports_8__width_7 red_data_out_mux0 (
.din0 ({reg_d_q0_w7_w4_lft_d[4:0],reg_d_q0_w7_w4_lft_en[1:0]}),
.din1 ({reg_d_q0_w7_w4_rgt_d[4:0],reg_d_q0_w7_w4_rgt_en[1:0]}),
.din2 ({reg_d_q0_w3_w0_lft_d[4:0],reg_d_q0_w3_w0_lft_en[1:0]}),
.din3 ({reg_d_q0_w3_w0_rgt_d[4:0],reg_d_q0_w3_w0_rgt_en[1:0]}),
.din4 ({reg_d_q1_w7_w4_lft_d[4:0],reg_d_q1_w7_w4_lft_en[1:0]}),
.din5 ({reg_d_q1_w7_w4_rgt_d[4:0],reg_d_q1_w7_w4_rgt_en[1:0]}),
.din6 ({reg_d_q1_w3_w0_lft_d[4:0],reg_d_q1_w3_w0_lft_en[1:0]}),
.din7 ({reg_d_q1_w3_w0_rgt_d[4:0],reg_d_q1_w3_w0_rgt_en[1:0]}),
.dout ({reg_d_out_mux_0[4:0],reg_en_out_mux_0[1:0]})
n2_icd_sp_16p5kb_cust_mux_macro__mux_aodec__ports_8__width_7 red_data_out_mux1 (
.din0 ({reg_d_q2_w7_w4_lft_d[4:0],reg_d_q2_w7_w4_lft_en[1:0]}),
.din1 ({reg_d_q2_w7_w4_rgt_d[4:0],reg_d_q2_w7_w4_rgt_en[1:0]}),
.din2 ({reg_d_q2_w3_w0_lft_d[4:0],reg_d_q2_w3_w0_lft_en[1:0]}),
.din3 ({reg_d_q2_w3_w0_rgt_d[4:0],reg_d_q2_w3_w0_rgt_en[1:0]}),
.din4 ({reg_d_q3_w7_w4_lft_d[4:0],reg_d_q3_w7_w4_lft_en[1:0]}),
.din5 ({reg_d_q3_w7_w4_rgt_d[4:0],reg_d_q3_w7_w4_rgt_en[1:0]}),
.din6 ({reg_d_q3_w3_w0_lft_d[4:0],reg_d_q3_w3_w0_lft_en[1:0]}),
.din7 ({reg_d_q3_w3_w0_rgt_d[4:0],reg_d_q3_w3_w0_rgt_en[1:0]}),
.dout ({reg_d_out_mux_1[4:0],reg_en_out_mux_1[1:0]})
n2_icd_sp_16p5kb_cust_mux_macro__mux_aope__ports_2__width_7 red_data_out_mux2 (
.din0 ({reg_d_out_mux_1[4:0],reg_en_out_mux_1[1:0]}),
.din1 ({reg_d_out_mux_0[4:0],reg_en_out_mux_0[1:0]}),
.dout ({red_mux_d_out[4:0],red_mux_en_out[1:0]})
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_5 red_d_out_reg (
.scan_in(red_d_out_reg_scanin[4:0]),
.scan_out(red_d_out_reg_scanout[4:0]),
.din(red_mux_d_out[4:0]),
n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_2 red_en_out_reg (
.scan_in(red_en_out_reg_scanin[1:0]),
.scan_out(red_en_out_reg_scanout[1:0]),
.din(red_mux_en_out[1:0]),
assign ftp_access_f_reg_scanin[0]=scan_in;
assign ftp_access_c_reg_scanin[0]=ftp_access_f_reg_scanout;
assign ftp_access_c_dum_scanin=ftp_access_c_reg_scanout[0];
assign wrdata_q1_5_scanin[32]=ftp_access_c_dum_scanout;
assign wrdata_q1_1_scanin[32]=wrdata_q1_5_scanout[32];
assign wrdata_q1_5_scanin[31]=wrdata_q1_1_scanout[32];
assign wrdata_q1_1_scanin[31]=wrdata_q1_5_scanout[31];
assign wrdata_q1_5_scanin[30]=wrdata_q1_1_scanout[31];
assign wrdata_q1_1_scanin[30]=wrdata_q1_5_scanout[30];
assign wrdata_q1_5_scanin[29]=wrdata_q1_1_scanout[30];
assign wrdata_q1_1_scanin[29]=wrdata_q1_5_scanout[29];
assign wrdata_q1_5_scanin[28]=wrdata_q1_1_scanout[29];
assign wrdata_q1_1_scanin[28]=wrdata_q1_5_scanout[28];
assign wrdata_q1_5_scanin[27]=wrdata_q1_1_scanout[28];
assign wrdata_q1_1_scanin[27]=wrdata_q1_5_scanout[27];
assign wrdata_q1_5_scanin[26]=wrdata_q1_1_scanout[27];
assign wrdata_q1_1_scanin[26]=wrdata_q1_5_scanout[26];
assign wrdata_q1_5_scanin[25]=wrdata_q1_1_scanout[26];
assign wrdata_q1_1_scanin[25]=wrdata_q1_5_scanout[25];
assign wrdata_q1_5_scanin[24]=wrdata_q1_1_scanout[25];
assign wrdata_q1_1_scanin[24]=wrdata_q1_5_scanout[24];
assign wrdata_q1_5_scanin[23]=wrdata_q1_1_scanout[24];
assign wrdata_q1_1_scanin[23]=wrdata_q1_5_scanout[23];
assign wrdata_q1_5_scanin[22]=wrdata_q1_1_scanout[23];
assign wrdata_q1_1_scanin[22]=wrdata_q1_5_scanout[22];
assign wrdata_q1_5_scanin[21]=wrdata_q1_1_scanout[22];
assign wrdata_q1_1_scanin[21]=wrdata_q1_5_scanout[21];
assign wrdata_q1_5_scanin[20]=wrdata_q1_1_scanout[21];
assign wrdata_q1_1_scanin[20]=wrdata_q1_5_scanout[20];
assign wrdata_q1_5_scanin[19]=wrdata_q1_1_scanout[20];
assign wrdata_q1_1_scanin[19]=wrdata_q1_5_scanout[19];
assign wrdata_q1_5_scanin[18]=wrdata_q1_1_scanout[19];
assign wrdata_q1_1_scanin[18]=wrdata_q1_5_scanout[18];
assign wrdata_q1_5_scanin[17]=wrdata_q1_1_scanout[18];
assign wrdata_q1_1_scanin[17]=wrdata_q1_5_scanout[17];
assign wrdata_q1_5_scanin[16]=wrdata_q1_1_scanout[17];
assign wrdata_q1_1_scanin[16]=wrdata_q1_5_scanout[16];
assign wrdata_q1_5_scanin[15]=wrdata_q1_1_scanout[16];
assign wrdata_q1_1_scanin[15]=wrdata_q1_5_scanout[15];
assign wrdata_q1_5_scanin[14]=wrdata_q1_1_scanout[15];
assign wrdata_q1_1_scanin[14]=wrdata_q1_5_scanout[14];
assign wrdata_q1_5_scanin[13]=wrdata_q1_1_scanout[14];
assign wrdata_q1_1_scanin[13]=wrdata_q1_5_scanout[13];
assign wrdata_q1_5_scanin[12]=wrdata_q1_1_scanout[13];
assign wrdata_q1_1_scanin[12]=wrdata_q1_5_scanout[12];
assign wrdata_q1_5_scanin[11]=wrdata_q1_1_scanout[12];
assign wrdata_q1_1_scanin[11]=wrdata_q1_5_scanout[11];
assign wrdata_q1_5_scanin[10]=wrdata_q1_1_scanout[11];
assign wrdata_q1_1_scanin[10]=wrdata_q1_5_scanout[10];
assign wrdata_q1_5_scanin[9]=wrdata_q1_1_scanout[10];
assign wrdata_q1_1_scanin[9]=wrdata_q1_5_scanout[9];
assign wrdata_q1_5_scanin[8]=wrdata_q1_1_scanout[9];
assign wrdata_q1_1_scanin[8]=wrdata_q1_5_scanout[8];
assign wrdata_q1_5_scanin[7]=wrdata_q1_1_scanout[8];
assign wrdata_q1_1_scanin[7]=wrdata_q1_5_scanout[7];
assign wrdata_q1_5_scanin[6]=wrdata_q1_1_scanout[7];
assign wrdata_q1_1_scanin[6]=wrdata_q1_5_scanout[6];
assign wrdata_q1_5_scanin[5]=wrdata_q1_1_scanout[6];
assign wrdata_q1_1_scanin[5]=wrdata_q1_5_scanout[5];
assign wrdata_q1_5_scanin[4]=wrdata_q1_1_scanout[5];
assign wrdata_q1_1_scanin[4]=wrdata_q1_5_scanout[4];
assign wrdata_q1_5_scanin[3]=wrdata_q1_1_scanout[4];
assign wrdata_q1_1_scanin[3]=wrdata_q1_5_scanout[3];
assign wrdata_q1_5_scanin[2]=wrdata_q1_1_scanout[3];
assign wrdata_q1_1_scanin[2]=wrdata_q1_5_scanout[2];
assign wrdata_q1_5_scanin[1]=wrdata_q1_1_scanout[2];
assign wrdata_q1_1_scanin[1]=wrdata_q1_5_scanout[1];
assign wrdata_q1_5_scanin[0]=wrdata_q1_1_scanout[1];
assign wrdata_q1_1_scanin[0]=wrdata_q1_5_scanout[0];
// ***************************BEGIN SECTION*************************
assign data_bus_1_w2_reg_scanin[32]=wrdata_q1_1_scanout[0];
assign data_bus_1_w3_reg_scanin[32]=data_bus_1_w2_reg_scanout[32];
assign data_bus_1_w6_reg_scanin[32]=data_bus_1_w3_reg_scanout[32];
assign data_bus_1_w7_reg_scanin[32]=data_bus_1_w6_reg_scanout[32];
assign data_bus_1_w0_reg_scanin[32]=data_bus_1_w7_reg_scanout[32];
assign data_bus_1_w1_reg_scanin[32]=data_bus_1_w0_reg_scanout[32];
assign data_bus_1_w4_reg_scanin[32]=data_bus_1_w1_reg_scanout[32];
assign data_bus_1_w5_reg_scanin[32]=data_bus_1_w4_reg_scanout[32];
assign data_bus_1_w2_reg_scanin[31]=data_bus_1_w5_reg_scanout[32];
assign data_bus_1_w3_reg_scanin[31]=data_bus_1_w2_reg_scanout[31];
assign data_bus_1_w6_reg_scanin[31]=data_bus_1_w3_reg_scanout[31];
assign data_bus_1_w7_reg_scanin[31]=data_bus_1_w6_reg_scanout[31];
assign data_bus_1_w0_reg_scanin[31]=data_bus_1_w7_reg_scanout[31];
assign data_bus_1_w1_reg_scanin[31]=data_bus_1_w0_reg_scanout[31];
assign data_bus_1_w4_reg_scanin[31]=data_bus_1_w1_reg_scanout[31];
assign data_bus_1_w5_reg_scanin[31]=data_bus_1_w4_reg_scanout[31];
assign data_bus_1_w2_reg_scanin[30]=data_bus_1_w5_reg_scanout[31];
assign data_bus_1_w3_reg_scanin[30]=data_bus_1_w2_reg_scanout[30];
assign data_bus_1_w6_reg_scanin[30]=data_bus_1_w3_reg_scanout[30];
assign data_bus_1_w7_reg_scanin[30]=data_bus_1_w6_reg_scanout[30];
assign data_bus_1_w0_reg_scanin[30]=data_bus_1_w7_reg_scanout[30];
assign data_bus_1_w1_reg_scanin[30]=data_bus_1_w0_reg_scanout[30];
assign data_bus_1_w4_reg_scanin[30]=data_bus_1_w1_reg_scanout[30];
assign data_bus_1_w5_reg_scanin[30]=data_bus_1_w4_reg_scanout[30];
assign data_bus_1_w2_reg_scanin[29]=data_bus_1_w5_reg_scanout[30];
assign data_bus_1_w3_reg_scanin[29]=data_bus_1_w2_reg_scanout[29];
assign data_bus_1_w6_reg_scanin[29]=data_bus_1_w3_reg_scanout[29];
assign data_bus_1_w7_reg_scanin[29]=data_bus_1_w6_reg_scanout[29];
assign data_bus_1_w0_reg_scanin[29]=data_bus_1_w7_reg_scanout[29];
assign data_bus_1_w1_reg_scanin[29]=data_bus_1_w0_reg_scanout[29];
assign data_bus_1_w4_reg_scanin[29]=data_bus_1_w1_reg_scanout[29];
assign data_bus_1_w5_reg_scanin[29]=data_bus_1_w4_reg_scanout[29];
assign data_bus_1_w2_reg_scanin[28]=data_bus_1_w5_reg_scanout[29];
assign data_bus_1_w3_reg_scanin[28]=data_bus_1_w2_reg_scanout[28];
assign data_bus_1_w6_reg_scanin[28]=data_bus_1_w3_reg_scanout[28];
assign data_bus_1_w7_reg_scanin[28]=data_bus_1_w6_reg_scanout[28];
assign data_bus_1_w0_reg_scanin[28]=data_bus_1_w7_reg_scanout[28];
assign data_bus_1_w1_reg_scanin[28]=data_bus_1_w0_reg_scanout[28];
assign data_bus_1_w4_reg_scanin[28]=data_bus_1_w1_reg_scanout[28];
assign data_bus_1_w5_reg_scanin[28]=data_bus_1_w4_reg_scanout[28];
assign data_bus_1_w2_reg_scanin[27]=data_bus_1_w5_reg_scanout[28];
assign data_bus_1_w3_reg_scanin[27]=data_bus_1_w2_reg_scanout[27];
assign data_bus_1_w6_reg_scanin[27]=data_bus_1_w3_reg_scanout[27];
assign data_bus_1_w7_reg_scanin[27]=data_bus_1_w6_reg_scanout[27];
assign data_bus_1_w0_reg_scanin[27]=data_bus_1_w7_reg_scanout[27];
assign data_bus_1_w1_reg_scanin[27]=data_bus_1_w0_reg_scanout[27];
assign data_bus_1_w4_reg_scanin[27]=data_bus_1_w1_reg_scanout[27];
assign data_bus_1_w5_reg_scanin[27]=data_bus_1_w4_reg_scanout[27];
assign data_bus_1_w2_reg_scanin[26]=data_bus_1_w5_reg_scanout[27];
assign data_bus_1_w3_reg_scanin[26]=data_bus_1_w2_reg_scanout[26];
assign data_bus_1_w6_reg_scanin[26]=data_bus_1_w3_reg_scanout[26];
assign data_bus_1_w7_reg_scanin[26]=data_bus_1_w6_reg_scanout[26];
assign data_bus_1_w0_reg_scanin[26]=data_bus_1_w7_reg_scanout[26];
assign data_bus_1_w1_reg_scanin[26]=data_bus_1_w0_reg_scanout[26];
assign data_bus_1_w4_reg_scanin[26]=data_bus_1_w1_reg_scanout[26];
assign data_bus_1_w5_reg_scanin[26]=data_bus_1_w4_reg_scanout[26];
assign data_bus_1_w2_reg_scanin[25]=data_bus_1_w5_reg_scanout[26];
assign data_bus_1_w3_reg_scanin[25]=data_bus_1_w2_reg_scanout[25];
assign data_bus_1_w6_reg_scanin[25]=data_bus_1_w3_reg_scanout[25];
assign data_bus_1_w7_reg_scanin[25]=data_bus_1_w6_reg_scanout[25];
assign data_bus_1_w0_reg_scanin[25]=data_bus_1_w7_reg_scanout[25];
assign data_bus_1_w1_reg_scanin[25]=data_bus_1_w0_reg_scanout[25];
assign data_bus_1_w4_reg_scanin[25]=data_bus_1_w1_reg_scanout[25];
assign data_bus_1_w5_reg_scanin[25]=data_bus_1_w4_reg_scanout[25];
assign data_bus_1_w2_reg_scanin[24]=data_bus_1_w5_reg_scanout[25];
assign data_bus_1_w3_reg_scanin[24]=data_bus_1_w2_reg_scanout[24];
assign data_bus_1_w6_reg_scanin[24]=data_bus_1_w3_reg_scanout[24];
assign data_bus_1_w7_reg_scanin[24]=data_bus_1_w6_reg_scanout[24];
assign data_bus_1_w0_reg_scanin[24]=data_bus_1_w7_reg_scanout[24];
assign data_bus_1_w1_reg_scanin[24]=data_bus_1_w0_reg_scanout[24];
assign data_bus_1_w4_reg_scanin[24]=data_bus_1_w1_reg_scanout[24];
assign data_bus_1_w5_reg_scanin[24]=data_bus_1_w4_reg_scanout[24];
assign data_bus_1_w2_reg_scanin[23]=data_bus_1_w5_reg_scanout[24];
assign data_bus_1_w3_reg_scanin[23]=data_bus_1_w2_reg_scanout[23];
assign data_bus_1_w6_reg_scanin[23]=data_bus_1_w3_reg_scanout[23];
assign data_bus_1_w7_reg_scanin[23]=data_bus_1_w6_reg_scanout[23];
assign data_bus_1_w0_reg_scanin[23]=data_bus_1_w7_reg_scanout[23];
assign data_bus_1_w1_reg_scanin[23]=data_bus_1_w0_reg_scanout[23];
assign data_bus_1_w4_reg_scanin[23]=data_bus_1_w1_reg_scanout[23];
assign data_bus_1_w5_reg_scanin[23]=data_bus_1_w4_reg_scanout[23];
assign data_bus_1_w2_reg_scanin[22]=data_bus_1_w5_reg_scanout[23];
assign data_bus_1_w3_reg_scanin[22]=data_bus_1_w2_reg_scanout[22];
assign data_bus_1_w6_reg_scanin[22]=data_bus_1_w3_reg_scanout[22];
assign data_bus_1_w7_reg_scanin[22]=data_bus_1_w6_reg_scanout[22];
assign data_bus_1_w0_reg_scanin[22]=data_bus_1_w7_reg_scanout[22];
assign data_bus_1_w1_reg_scanin[22]=data_bus_1_w0_reg_scanout[22];
assign data_bus_1_w4_reg_scanin[22]=data_bus_1_w1_reg_scanout[22];
assign data_bus_1_w5_reg_scanin[22]=data_bus_1_w4_reg_scanout[22];
assign data_bus_1_w2_reg_scanin[21]=data_bus_1_w5_reg_scanout[22];
assign data_bus_1_w3_reg_scanin[21]=data_bus_1_w2_reg_scanout[21];
assign data_bus_1_w6_reg_scanin[21]=data_bus_1_w3_reg_scanout[21];
assign data_bus_1_w7_reg_scanin[21]=data_bus_1_w6_reg_scanout[21];
assign data_bus_1_w0_reg_scanin[21]=data_bus_1_w7_reg_scanout[21];
assign data_bus_1_w1_reg_scanin[21]=data_bus_1_w0_reg_scanout[21];
assign data_bus_1_w4_reg_scanin[21]=data_bus_1_w1_reg_scanout[21];
assign data_bus_1_w5_reg_scanin[21]=data_bus_1_w4_reg_scanout[21];
assign data_bus_1_w2_reg_scanin[20]=data_bus_1_w5_reg_scanout[21];
assign data_bus_1_w3_reg_scanin[20]=data_bus_1_w2_reg_scanout[20];
assign data_bus_1_w6_reg_scanin[20]=data_bus_1_w3_reg_scanout[20];
assign data_bus_1_w7_reg_scanin[20]=data_bus_1_w6_reg_scanout[20];
assign data_bus_1_w0_reg_scanin[20]=data_bus_1_w7_reg_scanout[20];
assign data_bus_1_w1_reg_scanin[20]=data_bus_1_w0_reg_scanout[20];
assign data_bus_1_w4_reg_scanin[20]=data_bus_1_w1_reg_scanout[20];
assign data_bus_1_w5_reg_scanin[20]=data_bus_1_w4_reg_scanout[20];
assign data_bus_1_w2_reg_scanin[19]=data_bus_1_w5_reg_scanout[20];
assign data_bus_1_w3_reg_scanin[19]=data_bus_1_w2_reg_scanout[19];
assign data_bus_1_w6_reg_scanin[19]=data_bus_1_w3_reg_scanout[19];
assign data_bus_1_w7_reg_scanin[19]=data_bus_1_w6_reg_scanout[19];
assign data_bus_1_w0_reg_scanin[19]=data_bus_1_w7_reg_scanout[19];
assign data_bus_1_w1_reg_scanin[19]=data_bus_1_w0_reg_scanout[19];
assign data_bus_1_w4_reg_scanin[19]=data_bus_1_w1_reg_scanout[19];
assign data_bus_1_w5_reg_scanin[19]=data_bus_1_w4_reg_scanout[19];
assign data_bus_1_w2_reg_scanin[18]=data_bus_1_w5_reg_scanout[19];
assign data_bus_1_w3_reg_scanin[18]=data_bus_1_w2_reg_scanout[18];
assign data_bus_1_w6_reg_scanin[18]=data_bus_1_w3_reg_scanout[18];
assign data_bus_1_w7_reg_scanin[18]=data_bus_1_w6_reg_scanout[18];
assign data_bus_1_w0_reg_scanin[18]=data_bus_1_w7_reg_scanout[18];
assign data_bus_1_w1_reg_scanin[18]=data_bus_1_w0_reg_scanout[18];
assign data_bus_1_w4_reg_scanin[18]=data_bus_1_w1_reg_scanout[18];
assign data_bus_1_w5_reg_scanin[18]=data_bus_1_w4_reg_scanout[18];
assign data_bus_1_w2_reg_scanin[17]=data_bus_1_w5_reg_scanout[18];
assign data_bus_1_w3_reg_scanin[17]=data_bus_1_w2_reg_scanout[17];
assign data_bus_1_w6_reg_scanin[17]=data_bus_1_w3_reg_scanout[17];
assign data_bus_1_w7_reg_scanin[17]=data_bus_1_w6_reg_scanout[17];
assign data_bus_1_w0_reg_scanin[17]=data_bus_1_w7_reg_scanout[17];
assign data_bus_1_w1_reg_scanin[17]=data_bus_1_w0_reg_scanout[17];
assign data_bus_1_w4_reg_scanin[17]=data_bus_1_w1_reg_scanout[17];
assign data_bus_1_w5_reg_scanin[17]=data_bus_1_w4_reg_scanout[17];
assign data_bus_1_w0_reg_scanin[16]=data_bus_1_w5_reg_scanout[17];
assign data_bus_1_w1_reg_scanin[16]=data_bus_1_w0_reg_scanout[16];
assign data_bus_1_w4_reg_scanin[16]=data_bus_1_w1_reg_scanout[16];
assign data_bus_1_w5_reg_scanin[16]=data_bus_1_w4_reg_scanout[16];
assign data_bus_1_w2_reg_scanin[16]=data_bus_1_w5_reg_scanout[16];
assign data_bus_1_w3_reg_scanin[16]=data_bus_1_w2_reg_scanout[16];
assign data_bus_1_w6_reg_scanin[16]=data_bus_1_w3_reg_scanout[16];
assign data_bus_1_w7_reg_scanin[16]=data_bus_1_w6_reg_scanout[16];
assign data_bus_1_w0_reg_scanin[15]=data_bus_1_w7_reg_scanout[16];
assign data_bus_1_w1_reg_scanin[15]=data_bus_1_w0_reg_scanout[15];
assign data_bus_1_w4_reg_scanin[15]=data_bus_1_w1_reg_scanout[15];
assign data_bus_1_w5_reg_scanin[15]=data_bus_1_w4_reg_scanout[15];
assign data_bus_1_w2_reg_scanin[15]=data_bus_1_w5_reg_scanout[15];
assign data_bus_1_w3_reg_scanin[15]=data_bus_1_w2_reg_scanout[15];
assign data_bus_1_w6_reg_scanin[15]=data_bus_1_w3_reg_scanout[15];
assign data_bus_1_w7_reg_scanin[15]=data_bus_1_w6_reg_scanout[15];
assign data_bus_1_w0_reg_scanin[14]=data_bus_1_w7_reg_scanout[15];
assign data_bus_1_w1_reg_scanin[14]=data_bus_1_w0_reg_scanout[14];
assign data_bus_1_w4_reg_scanin[14]=data_bus_1_w1_reg_scanout[14];
assign data_bus_1_w5_reg_scanin[14]=data_bus_1_w4_reg_scanout[14];
assign data_bus_1_w2_reg_scanin[14]=data_bus_1_w5_reg_scanout[14];
assign data_bus_1_w3_reg_scanin[14]=data_bus_1_w2_reg_scanout[14];
assign data_bus_1_w6_reg_scanin[14]=data_bus_1_w3_reg_scanout[14];
assign data_bus_1_w7_reg_scanin[14]=data_bus_1_w6_reg_scanout[14];
assign data_bus_1_w0_reg_scanin[13]=data_bus_1_w7_reg_scanout[14];
assign data_bus_1_w1_reg_scanin[13]=data_bus_1_w0_reg_scanout[13];
assign data_bus_1_w4_reg_scanin[13]=data_bus_1_w1_reg_scanout[13];
assign data_bus_1_w5_reg_scanin[13]=data_bus_1_w4_reg_scanout[13];
assign data_bus_1_w2_reg_scanin[13]=data_bus_1_w5_reg_scanout[13];
assign data_bus_1_w3_reg_scanin[13]=data_bus_1_w2_reg_scanout[13];
assign data_bus_1_w6_reg_scanin[13]=data_bus_1_w3_reg_scanout[13];
assign data_bus_1_w7_reg_scanin[13]=data_bus_1_w6_reg_scanout[13];
assign data_bus_1_w0_reg_scanin[12]=data_bus_1_w7_reg_scanout[13];
assign data_bus_1_w1_reg_scanin[12]=data_bus_1_w0_reg_scanout[12];
assign data_bus_1_w4_reg_scanin[12]=data_bus_1_w1_reg_scanout[12];
assign data_bus_1_w5_reg_scanin[12]=data_bus_1_w4_reg_scanout[12];
assign data_bus_1_w2_reg_scanin[12]=data_bus_1_w5_reg_scanout[12];
assign data_bus_1_w3_reg_scanin[12]=data_bus_1_w2_reg_scanout[12];
assign data_bus_1_w6_reg_scanin[12]=data_bus_1_w3_reg_scanout[12];
assign data_bus_1_w7_reg_scanin[12]=data_bus_1_w6_reg_scanout[12];
assign data_bus_1_w0_reg_scanin[11]=data_bus_1_w7_reg_scanout[12];
assign data_bus_1_w1_reg_scanin[11]=data_bus_1_w0_reg_scanout[11];
assign data_bus_1_w4_reg_scanin[11]=data_bus_1_w1_reg_scanout[11];
assign data_bus_1_w5_reg_scanin[11]=data_bus_1_w4_reg_scanout[11];
assign data_bus_1_w2_reg_scanin[11]=data_bus_1_w5_reg_scanout[11];
assign data_bus_1_w3_reg_scanin[11]=data_bus_1_w2_reg_scanout[11];
assign data_bus_1_w6_reg_scanin[11]=data_bus_1_w3_reg_scanout[11];
assign data_bus_1_w7_reg_scanin[11]=data_bus_1_w6_reg_scanout[11];
assign data_bus_1_w0_reg_scanin[10]=data_bus_1_w7_reg_scanout[11];
assign data_bus_1_w1_reg_scanin[10]=data_bus_1_w0_reg_scanout[10];
assign data_bus_1_w4_reg_scanin[10]=data_bus_1_w1_reg_scanout[10];
assign data_bus_1_w5_reg_scanin[10]=data_bus_1_w4_reg_scanout[10];
assign data_bus_1_w2_reg_scanin[10]=data_bus_1_w5_reg_scanout[10];
assign data_bus_1_w3_reg_scanin[10]=data_bus_1_w2_reg_scanout[10];
assign data_bus_1_w6_reg_scanin[10]=data_bus_1_w3_reg_scanout[10];
assign data_bus_1_w7_reg_scanin[10]=data_bus_1_w6_reg_scanout[10];
assign data_bus_1_w0_reg_scanin[9]=data_bus_1_w7_reg_scanout[10];
assign data_bus_1_w1_reg_scanin[9]=data_bus_1_w0_reg_scanout[9];
assign data_bus_1_w4_reg_scanin[9]=data_bus_1_w1_reg_scanout[9];
assign data_bus_1_w5_reg_scanin[9]=data_bus_1_w4_reg_scanout[9];
assign data_bus_1_w2_reg_scanin[9]=data_bus_1_w5_reg_scanout[9];
assign data_bus_1_w3_reg_scanin[9]=data_bus_1_w2_reg_scanout[9];
assign data_bus_1_w6_reg_scanin[9]=data_bus_1_w3_reg_scanout[9];
assign data_bus_1_w7_reg_scanin[9]=data_bus_1_w6_reg_scanout[9];
assign data_bus_1_w0_reg_scanin[8]=data_bus_1_w7_reg_scanout[9];
assign data_bus_1_w1_reg_scanin[8]=data_bus_1_w0_reg_scanout[8];
assign data_bus_1_w4_reg_scanin[8]=data_bus_1_w1_reg_scanout[8];
assign data_bus_1_w5_reg_scanin[8]=data_bus_1_w4_reg_scanout[8];
assign data_bus_1_w2_reg_scanin[8]=data_bus_1_w5_reg_scanout[8];
assign data_bus_1_w3_reg_scanin[8]=data_bus_1_w2_reg_scanout[8];
assign data_bus_1_w6_reg_scanin[8]=data_bus_1_w3_reg_scanout[8];
assign data_bus_1_w7_reg_scanin[8]=data_bus_1_w6_reg_scanout[8];
assign data_bus_1_w0_reg_scanin[7]=data_bus_1_w7_reg_scanout[8];
assign data_bus_1_w1_reg_scanin[7]=data_bus_1_w0_reg_scanout[7];
assign data_bus_1_w4_reg_scanin[7]=data_bus_1_w1_reg_scanout[7];
assign data_bus_1_w5_reg_scanin[7]=data_bus_1_w4_reg_scanout[7];
assign data_bus_1_w2_reg_scanin[7]=data_bus_1_w5_reg_scanout[7];
assign data_bus_1_w3_reg_scanin[7]=data_bus_1_w2_reg_scanout[7];
assign data_bus_1_w6_reg_scanin[7]=data_bus_1_w3_reg_scanout[7];
assign data_bus_1_w7_reg_scanin[7]=data_bus_1_w6_reg_scanout[7];
assign data_bus_1_w0_reg_scanin[6]=data_bus_1_w7_reg_scanout[7];
assign data_bus_1_w1_reg_scanin[6]=data_bus_1_w0_reg_scanout[6];
assign data_bus_1_w4_reg_scanin[6]=data_bus_1_w1_reg_scanout[6];
assign data_bus_1_w5_reg_scanin[6]=data_bus_1_w4_reg_scanout[6];
assign data_bus_1_w2_reg_scanin[6]=data_bus_1_w5_reg_scanout[6];
assign data_bus_1_w3_reg_scanin[6]=data_bus_1_w2_reg_scanout[6];
assign data_bus_1_w6_reg_scanin[6]=data_bus_1_w3_reg_scanout[6];
assign data_bus_1_w7_reg_scanin[6]=data_bus_1_w6_reg_scanout[6];
assign data_bus_1_w0_reg_scanin[5]=data_bus_1_w7_reg_scanout[6];
assign data_bus_1_w1_reg_scanin[5]=data_bus_1_w0_reg_scanout[5];
assign data_bus_1_w4_reg_scanin[5]=data_bus_1_w1_reg_scanout[5];
assign data_bus_1_w5_reg_scanin[5]=data_bus_1_w4_reg_scanout[5];
assign data_bus_1_w2_reg_scanin[5]=data_bus_1_w5_reg_scanout[5];
assign data_bus_1_w3_reg_scanin[5]=data_bus_1_w2_reg_scanout[5];
assign data_bus_1_w6_reg_scanin[5]=data_bus_1_w3_reg_scanout[5];
assign data_bus_1_w7_reg_scanin[5]=data_bus_1_w6_reg_scanout[5];
assign data_bus_1_w0_reg_scanin[4]=data_bus_1_w7_reg_scanout[5];
assign data_bus_1_w1_reg_scanin[4]=data_bus_1_w0_reg_scanout[4];
assign data_bus_1_w4_reg_scanin[4]=data_bus_1_w1_reg_scanout[4];
assign data_bus_1_w5_reg_scanin[4]=data_bus_1_w4_reg_scanout[4];
assign data_bus_1_w2_reg_scanin[4]=data_bus_1_w5_reg_scanout[4];
assign data_bus_1_w3_reg_scanin[4]=data_bus_1_w2_reg_scanout[4];
assign data_bus_1_w6_reg_scanin[4]=data_bus_1_w3_reg_scanout[4];
assign data_bus_1_w7_reg_scanin[4]=data_bus_1_w6_reg_scanout[4];
assign data_bus_1_w0_reg_scanin[3]=data_bus_1_w7_reg_scanout[4];
assign data_bus_1_w1_reg_scanin[3]=data_bus_1_w0_reg_scanout[3];
assign data_bus_1_w4_reg_scanin[3]=data_bus_1_w1_reg_scanout[3];
assign data_bus_1_w5_reg_scanin[3]=data_bus_1_w4_reg_scanout[3];
assign data_bus_1_w2_reg_scanin[3]=data_bus_1_w5_reg_scanout[3];
assign data_bus_1_w3_reg_scanin[3]=data_bus_1_w2_reg_scanout[3];
assign data_bus_1_w6_reg_scanin[3]=data_bus_1_w3_reg_scanout[3];
assign data_bus_1_w7_reg_scanin[3]=data_bus_1_w6_reg_scanout[3];
assign data_bus_1_w0_reg_scanin[2]=data_bus_1_w7_reg_scanout[3];
assign data_bus_1_w1_reg_scanin[2]=data_bus_1_w0_reg_scanout[2];
assign data_bus_1_w4_reg_scanin[2]=data_bus_1_w1_reg_scanout[2];
assign data_bus_1_w5_reg_scanin[2]=data_bus_1_w4_reg_scanout[2];
assign data_bus_1_w2_reg_scanin[2]=data_bus_1_w5_reg_scanout[2];
assign data_bus_1_w3_reg_scanin[2]=data_bus_1_w2_reg_scanout[2];
assign data_bus_1_w6_reg_scanin[2]=data_bus_1_w3_reg_scanout[2];
assign data_bus_1_w7_reg_scanin[2]=data_bus_1_w6_reg_scanout[2];
assign data_bus_1_w0_reg_scanin[1]=data_bus_1_w7_reg_scanout[2];
assign data_bus_1_w1_reg_scanin[1]=data_bus_1_w0_reg_scanout[1];
assign data_bus_1_w4_reg_scanin[1]=data_bus_1_w1_reg_scanout[1];
assign data_bus_1_w5_reg_scanin[1]=data_bus_1_w4_reg_scanout[1];
assign data_bus_1_w2_reg_scanin[1]=data_bus_1_w5_reg_scanout[1];
assign data_bus_1_w3_reg_scanin[1]=data_bus_1_w2_reg_scanout[1];
assign data_bus_1_w6_reg_scanin[1]=data_bus_1_w3_reg_scanout[1];
assign data_bus_1_w7_reg_scanin[1]=data_bus_1_w6_reg_scanout[1];
assign data_bus_1_w0_reg_scanin[0]=data_bus_1_w7_reg_scanout[1];
assign data_bus_1_w1_reg_scanin[0]=data_bus_1_w0_reg_scanout[0];
assign data_bus_1_w4_reg_scanin[0]=data_bus_1_w1_reg_scanout[0];
assign data_bus_1_w5_reg_scanin[0]=data_bus_1_w4_reg_scanout[0];
assign data_bus_1_w2_reg_scanin[0]=data_bus_1_w5_reg_scanout[0];
assign data_bus_1_w3_reg_scanin[0]=data_bus_1_w2_reg_scanout[0];
assign data_bus_1_w6_reg_scanin[0]=data_bus_1_w3_reg_scanout[0];
assign data_bus_1_w7_reg_scanin[0]=data_bus_1_w6_reg_scanout[0];
// ***************************END SECTION***************************
assign wrdata_q0_4_scanin[32]=data_bus_1_w7_reg_scanout[0];
assign wrdata_q0_0_scanin[32]=wrdata_q0_4_scanout[32];
assign wrdata_q0_4_scanin[31]=wrdata_q0_0_scanout[32];
assign wrdata_q0_0_scanin[31]=wrdata_q0_4_scanout[31];
assign wrdata_q0_4_scanin[30]=wrdata_q0_0_scanout[31];
assign wrdata_q0_0_scanin[30]=wrdata_q0_4_scanout[30];
assign wrdata_q0_4_scanin[29]=wrdata_q0_0_scanout[30];
assign wrdata_q0_0_scanin[29]=wrdata_q0_4_scanout[29];
assign wrdata_q0_4_scanin[28]=wrdata_q0_0_scanout[29];
assign wrdata_q0_0_scanin[28]=wrdata_q0_4_scanout[28];
assign wrdata_q0_4_scanin[27]=wrdata_q0_0_scanout[28];
assign wrdata_q0_0_scanin[27]=wrdata_q0_4_scanout[27];
assign wrdata_q0_4_scanin[26]=wrdata_q0_0_scanout[27];
assign wrdata_q0_0_scanin[26]=wrdata_q0_4_scanout[26];
assign wrdata_q0_4_scanin[25]=wrdata_q0_0_scanout[26];
assign wrdata_q0_0_scanin[25]=wrdata_q0_4_scanout[25];
assign wrdata_q0_4_scanin[24]=wrdata_q0_0_scanout[25];
assign wrdata_q0_0_scanin[24]=wrdata_q0_4_scanout[24];
assign wrdata_q0_4_scanin[23]=wrdata_q0_0_scanout[24];
assign wrdata_q0_0_scanin[23]=wrdata_q0_4_scanout[23];
assign wrdata_q0_4_scanin[22]=wrdata_q0_0_scanout[23];
assign wrdata_q0_0_scanin[22]=wrdata_q0_4_scanout[22];
assign wrdata_q0_4_scanin[21]=wrdata_q0_0_scanout[22];
assign wrdata_q0_0_scanin[21]=wrdata_q0_4_scanout[21];
assign wrdata_q0_4_scanin[20]=wrdata_q0_0_scanout[21];
assign wrdata_q0_0_scanin[20]=wrdata_q0_4_scanout[20];
assign wrdata_q0_4_scanin[19]=wrdata_q0_0_scanout[20];
assign wrdata_q0_0_scanin[19]=wrdata_q0_4_scanout[19];
assign wrdata_q0_4_scanin[18]=wrdata_q0_0_scanout[19];
assign wrdata_q0_0_scanin[18]=wrdata_q0_4_scanout[18];
assign wrdata_q0_4_scanin[17]=wrdata_q0_0_scanout[18];
assign wrdata_q0_0_scanin[17]=wrdata_q0_4_scanout[17];
assign wrdata_q0_4_scanin[16]=wrdata_q0_0_scanout[17];
assign wrdata_q0_0_scanin[16]=wrdata_q0_4_scanout[16];
assign wrdata_q0_4_scanin[15]=wrdata_q0_0_scanout[16];
assign wrdata_q0_0_scanin[15]=wrdata_q0_4_scanout[15];
assign wrdata_q0_4_scanin[14]=wrdata_q0_0_scanout[15];
assign wrdata_q0_0_scanin[14]=wrdata_q0_4_scanout[14];
assign wrdata_q0_4_scanin[13]=wrdata_q0_0_scanout[14];
assign wrdata_q0_0_scanin[13]=wrdata_q0_4_scanout[13];
assign wrdata_q0_4_scanin[12]=wrdata_q0_0_scanout[13];
assign wrdata_q0_0_scanin[12]=wrdata_q0_4_scanout[12];
assign wrdata_q0_4_scanin[11]=wrdata_q0_0_scanout[12];
assign wrdata_q0_0_scanin[11]=wrdata_q0_4_scanout[11];
assign wrdata_q0_4_scanin[10]=wrdata_q0_0_scanout[11];
assign wrdata_q0_0_scanin[10]=wrdata_q0_4_scanout[10];
assign wrdata_q0_4_scanin[9]=wrdata_q0_0_scanout[10];
assign wrdata_q0_0_scanin[9]=wrdata_q0_4_scanout[9];
assign wrdata_q0_4_scanin[8]=wrdata_q0_0_scanout[9];
assign wrdata_q0_0_scanin[8]=wrdata_q0_4_scanout[8];
assign wrdata_q0_4_scanin[7]=wrdata_q0_0_scanout[8];
assign wrdata_q0_0_scanin[7]=wrdata_q0_4_scanout[7];
assign wrdata_q0_4_scanin[6]=wrdata_q0_0_scanout[7];
assign wrdata_q0_0_scanin[6]=wrdata_q0_4_scanout[6];
assign wrdata_q0_4_scanin[5]=wrdata_q0_0_scanout[6];
assign wrdata_q0_0_scanin[5]=wrdata_q0_4_scanout[5];
assign wrdata_q0_4_scanin[4]=wrdata_q0_0_scanout[5];
assign wrdata_q0_0_scanin[4]=wrdata_q0_4_scanout[4];
assign wrdata_q0_4_scanin[3]=wrdata_q0_0_scanout[4];
assign wrdata_q0_0_scanin[3]=wrdata_q0_4_scanout[3];
assign wrdata_q0_4_scanin[2]=wrdata_q0_0_scanout[3];
assign wrdata_q0_0_scanin[2]=wrdata_q0_4_scanout[2];
assign wrdata_q0_4_scanin[1]=wrdata_q0_0_scanout[2];
assign wrdata_q0_0_scanin[1]=wrdata_q0_4_scanout[1];
assign wrdata_q0_4_scanin[0]=wrdata_q0_0_scanout[1];
assign wrdata_q0_0_scanin[0]=wrdata_q0_4_scanout[0];
// ***************************BEGIN SECTION*************************
assign data_bus_0_w2_reg_scanin[32]=wrdata_q0_0_scanout[0];
assign data_bus_0_w3_reg_scanin[32]=data_bus_0_w2_reg_scanout[32];
assign data_bus_0_w6_reg_scanin[32]=data_bus_0_w3_reg_scanout[32];
assign data_bus_0_w7_reg_scanin[32]=data_bus_0_w6_reg_scanout[32];
assign data_bus_0_w0_reg_scanin[32]=data_bus_0_w7_reg_scanout[32];
assign data_bus_0_w1_reg_scanin[32]=data_bus_0_w0_reg_scanout[32];
assign data_bus_0_w4_reg_scanin[32]=data_bus_0_w1_reg_scanout[32];
assign data_bus_0_w5_reg_scanin[32]=data_bus_0_w4_reg_scanout[32];
assign data_bus_0_w2_reg_scanin[31]=data_bus_0_w5_reg_scanout[32];
assign data_bus_0_w3_reg_scanin[31]=data_bus_0_w2_reg_scanout[31];
assign data_bus_0_w6_reg_scanin[31]=data_bus_0_w3_reg_scanout[31];
assign data_bus_0_w7_reg_scanin[31]=data_bus_0_w6_reg_scanout[31];
assign data_bus_0_w0_reg_scanin[31]=data_bus_0_w7_reg_scanout[31];
assign data_bus_0_w1_reg_scanin[31]=data_bus_0_w0_reg_scanout[31];
assign data_bus_0_w4_reg_scanin[31]=data_bus_0_w1_reg_scanout[31];
assign data_bus_0_w5_reg_scanin[31]=data_bus_0_w4_reg_scanout[31];
assign data_bus_0_w2_reg_scanin[30]=data_bus_0_w5_reg_scanout[31];
assign data_bus_0_w3_reg_scanin[30]=data_bus_0_w2_reg_scanout[30];
assign data_bus_0_w6_reg_scanin[30]=data_bus_0_w3_reg_scanout[30];
assign data_bus_0_w7_reg_scanin[30]=data_bus_0_w6_reg_scanout[30];
assign data_bus_0_w0_reg_scanin[30]=data_bus_0_w7_reg_scanout[30];
assign data_bus_0_w1_reg_scanin[30]=data_bus_0_w0_reg_scanout[30];
assign data_bus_0_w4_reg_scanin[30]=data_bus_0_w1_reg_scanout[30];
assign data_bus_0_w5_reg_scanin[30]=data_bus_0_w4_reg_scanout[30];
assign data_bus_0_w2_reg_scanin[29]=data_bus_0_w5_reg_scanout[30];
assign data_bus_0_w3_reg_scanin[29]=data_bus_0_w2_reg_scanout[29];
assign data_bus_0_w6_reg_scanin[29]=data_bus_0_w3_reg_scanout[29];
assign data_bus_0_w7_reg_scanin[29]=data_bus_0_w6_reg_scanout[29];
assign data_bus_0_w0_reg_scanin[29]=data_bus_0_w7_reg_scanout[29];
assign data_bus_0_w1_reg_scanin[29]=data_bus_0_w0_reg_scanout[29];
assign data_bus_0_w4_reg_scanin[29]=data_bus_0_w1_reg_scanout[29];
assign data_bus_0_w5_reg_scanin[29]=data_bus_0_w4_reg_scanout[29];
assign data_bus_0_w2_reg_scanin[28]=data_bus_0_w5_reg_scanout[29];
assign data_bus_0_w3_reg_scanin[28]=data_bus_0_w2_reg_scanout[28];
assign data_bus_0_w6_reg_scanin[28]=data_bus_0_w3_reg_scanout[28];
assign data_bus_0_w7_reg_scanin[28]=data_bus_0_w6_reg_scanout[28];
assign data_bus_0_w0_reg_scanin[28]=data_bus_0_w7_reg_scanout[28];
assign data_bus_0_w1_reg_scanin[28]=data_bus_0_w0_reg_scanout[28];
assign data_bus_0_w4_reg_scanin[28]=data_bus_0_w1_reg_scanout[28];
assign data_bus_0_w5_reg_scanin[28]=data_bus_0_w4_reg_scanout[28];
assign data_bus_0_w2_reg_scanin[27]=data_bus_0_w5_reg_scanout[28];
assign data_bus_0_w3_reg_scanin[27]=data_bus_0_w2_reg_scanout[27];
assign data_bus_0_w6_reg_scanin[27]=data_bus_0_w3_reg_scanout[27];
assign data_bus_0_w7_reg_scanin[27]=data_bus_0_w6_reg_scanout[27];
assign data_bus_0_w0_reg_scanin[27]=data_bus_0_w7_reg_scanout[27];
assign data_bus_0_w1_reg_scanin[27]=data_bus_0_w0_reg_scanout[27];
assign data_bus_0_w4_reg_scanin[27]=data_bus_0_w1_reg_scanout[27];
assign data_bus_0_w5_reg_scanin[27]=data_bus_0_w4_reg_scanout[27];
assign data_bus_0_w2_reg_scanin[26]=data_bus_0_w5_reg_scanout[27];
assign data_bus_0_w3_reg_scanin[26]=data_bus_0_w2_reg_scanout[26];
assign data_bus_0_w6_reg_scanin[26]=data_bus_0_w3_reg_scanout[26];
assign data_bus_0_w7_reg_scanin[26]=data_bus_0_w6_reg_scanout[26];
assign data_bus_0_w0_reg_scanin[26]=data_bus_0_w7_reg_scanout[26];
assign data_bus_0_w1_reg_scanin[26]=data_bus_0_w0_reg_scanout[26];
assign data_bus_0_w4_reg_scanin[26]=data_bus_0_w1_reg_scanout[26];
assign data_bus_0_w5_reg_scanin[26]=data_bus_0_w4_reg_scanout[26];
assign data_bus_0_w2_reg_scanin[25]=data_bus_0_w5_reg_scanout[26];
assign data_bus_0_w3_reg_scanin[25]=data_bus_0_w2_reg_scanout[25];
assign data_bus_0_w6_reg_scanin[25]=data_bus_0_w3_reg_scanout[25];
assign data_bus_0_w7_reg_scanin[25]=data_bus_0_w6_reg_scanout[25];
assign data_bus_0_w0_reg_scanin[25]=data_bus_0_w7_reg_scanout[25];
assign data_bus_0_w1_reg_scanin[25]=data_bus_0_w0_reg_scanout[25];
assign data_bus_0_w4_reg_scanin[25]=data_bus_0_w1_reg_scanout[25];
assign data_bus_0_w5_reg_scanin[25]=data_bus_0_w4_reg_scanout[25];
assign data_bus_0_w2_reg_scanin[24]=data_bus_0_w5_reg_scanout[25];
assign data_bus_0_w3_reg_scanin[24]=data_bus_0_w2_reg_scanout[24];
assign data_bus_0_w6_reg_scanin[24]=data_bus_0_w3_reg_scanout[24];
assign data_bus_0_w7_reg_scanin[24]=data_bus_0_w6_reg_scanout[24];
assign data_bus_0_w0_reg_scanin[24]=data_bus_0_w7_reg_scanout[24];
assign data_bus_0_w1_reg_scanin[24]=data_bus_0_w0_reg_scanout[24];
assign data_bus_0_w4_reg_scanin[24]=data_bus_0_w1_reg_scanout[24];
assign data_bus_0_w5_reg_scanin[24]=data_bus_0_w4_reg_scanout[24];
assign data_bus_0_w2_reg_scanin[23]=data_bus_0_w5_reg_scanout[24];
assign data_bus_0_w3_reg_scanin[23]=data_bus_0_w2_reg_scanout[23];
assign data_bus_0_w6_reg_scanin[23]=data_bus_0_w3_reg_scanout[23];
assign data_bus_0_w7_reg_scanin[23]=data_bus_0_w6_reg_scanout[23];
assign data_bus_0_w0_reg_scanin[23]=data_bus_0_w7_reg_scanout[23];
assign data_bus_0_w1_reg_scanin[23]=data_bus_0_w0_reg_scanout[23];
assign data_bus_0_w4_reg_scanin[23]=data_bus_0_w1_reg_scanout[23];
assign data_bus_0_w5_reg_scanin[23]=data_bus_0_w4_reg_scanout[23];
assign data_bus_0_w2_reg_scanin[22]=data_bus_0_w5_reg_scanout[23];
assign data_bus_0_w3_reg_scanin[22]=data_bus_0_w2_reg_scanout[22];
assign data_bus_0_w6_reg_scanin[22]=data_bus_0_w3_reg_scanout[22];
assign data_bus_0_w7_reg_scanin[22]=data_bus_0_w6_reg_scanout[22];
assign data_bus_0_w0_reg_scanin[22]=data_bus_0_w7_reg_scanout[22];
assign data_bus_0_w1_reg_scanin[22]=data_bus_0_w0_reg_scanout[22];
assign data_bus_0_w4_reg_scanin[22]=data_bus_0_w1_reg_scanout[22];
assign data_bus_0_w5_reg_scanin[22]=data_bus_0_w4_reg_scanout[22];
assign data_bus_0_w2_reg_scanin[21]=data_bus_0_w5_reg_scanout[22];
assign data_bus_0_w3_reg_scanin[21]=data_bus_0_w2_reg_scanout[21];
assign data_bus_0_w6_reg_scanin[21]=data_bus_0_w3_reg_scanout[21];
assign data_bus_0_w7_reg_scanin[21]=data_bus_0_w6_reg_scanout[21];
assign data_bus_0_w0_reg_scanin[21]=data_bus_0_w7_reg_scanout[21];
assign data_bus_0_w1_reg_scanin[21]=data_bus_0_w0_reg_scanout[21];
assign data_bus_0_w4_reg_scanin[21]=data_bus_0_w1_reg_scanout[21];
assign data_bus_0_w5_reg_scanin[21]=data_bus_0_w4_reg_scanout[21];
assign data_bus_0_w2_reg_scanin[20]=data_bus_0_w5_reg_scanout[21];
assign data_bus_0_w3_reg_scanin[20]=data_bus_0_w2_reg_scanout[20];
assign data_bus_0_w6_reg_scanin[20]=data_bus_0_w3_reg_scanout[20];
assign data_bus_0_w7_reg_scanin[20]=data_bus_0_w6_reg_scanout[20];
assign data_bus_0_w0_reg_scanin[20]=data_bus_0_w7_reg_scanout[20];
assign data_bus_0_w1_reg_scanin[20]=data_bus_0_w0_reg_scanout[20];
assign data_bus_0_w4_reg_scanin[20]=data_bus_0_w1_reg_scanout[20];
assign data_bus_0_w5_reg_scanin[20]=data_bus_0_w4_reg_scanout[20];
assign data_bus_0_w2_reg_scanin[19]=data_bus_0_w5_reg_scanout[20];
assign data_bus_0_w3_reg_scanin[19]=data_bus_0_w2_reg_scanout[19];
assign data_bus_0_w6_reg_scanin[19]=data_bus_0_w3_reg_scanout[19];
assign data_bus_0_w7_reg_scanin[19]=data_bus_0_w6_reg_scanout[19];
assign data_bus_0_w0_reg_scanin[19]=data_bus_0_w7_reg_scanout[19];
assign data_bus_0_w1_reg_scanin[19]=data_bus_0_w0_reg_scanout[19];
assign data_bus_0_w4_reg_scanin[19]=data_bus_0_w1_reg_scanout[19];
assign data_bus_0_w5_reg_scanin[19]=data_bus_0_w4_reg_scanout[19];
assign data_bus_0_w2_reg_scanin[18]=data_bus_0_w5_reg_scanout[19];
assign data_bus_0_w3_reg_scanin[18]=data_bus_0_w2_reg_scanout[18];
assign data_bus_0_w6_reg_scanin[18]=data_bus_0_w3_reg_scanout[18];
assign data_bus_0_w7_reg_scanin[18]=data_bus_0_w6_reg_scanout[18];
assign data_bus_0_w0_reg_scanin[18]=data_bus_0_w7_reg_scanout[18];
assign data_bus_0_w1_reg_scanin[18]=data_bus_0_w0_reg_scanout[18];
assign data_bus_0_w4_reg_scanin[18]=data_bus_0_w1_reg_scanout[18];
assign data_bus_0_w5_reg_scanin[18]=data_bus_0_w4_reg_scanout[18];
assign data_bus_0_w2_reg_scanin[17]=data_bus_0_w5_reg_scanout[18];
assign data_bus_0_w3_reg_scanin[17]=data_bus_0_w2_reg_scanout[17];
assign data_bus_0_w6_reg_scanin[17]=data_bus_0_w3_reg_scanout[17];
assign data_bus_0_w7_reg_scanin[17]=data_bus_0_w6_reg_scanout[17];
assign data_bus_0_w0_reg_scanin[17]=data_bus_0_w7_reg_scanout[17];
assign data_bus_0_w1_reg_scanin[17]=data_bus_0_w0_reg_scanout[17];
assign data_bus_0_w4_reg_scanin[17]=data_bus_0_w1_reg_scanout[17];
assign data_bus_0_w5_reg_scanin[17]=data_bus_0_w4_reg_scanout[17];
assign data_bus_0_w0_reg_scanin[16]=data_bus_0_w5_reg_scanout[17];
assign data_bus_0_w1_reg_scanin[16]=data_bus_0_w0_reg_scanout[16];
assign data_bus_0_w4_reg_scanin[16]=data_bus_0_w1_reg_scanout[16];
assign data_bus_0_w5_reg_scanin[16]=data_bus_0_w4_reg_scanout[16];
assign data_bus_0_w2_reg_scanin[16]=data_bus_0_w5_reg_scanout[16];
assign data_bus_0_w3_reg_scanin[16]=data_bus_0_w2_reg_scanout[16];
assign data_bus_0_w6_reg_scanin[16]=data_bus_0_w3_reg_scanout[16];
assign data_bus_0_w7_reg_scanin[16]=data_bus_0_w6_reg_scanout[16];
assign data_bus_0_w0_reg_scanin[15]=data_bus_0_w7_reg_scanout[16];
assign data_bus_0_w1_reg_scanin[15]=data_bus_0_w0_reg_scanout[15];
assign data_bus_0_w4_reg_scanin[15]=data_bus_0_w1_reg_scanout[15];
assign data_bus_0_w5_reg_scanin[15]=data_bus_0_w4_reg_scanout[15];
assign data_bus_0_w2_reg_scanin[15]=data_bus_0_w5_reg_scanout[15];
assign data_bus_0_w3_reg_scanin[15]=data_bus_0_w2_reg_scanout[15];
assign data_bus_0_w6_reg_scanin[15]=data_bus_0_w3_reg_scanout[15];
assign data_bus_0_w7_reg_scanin[15]=data_bus_0_w6_reg_scanout[15];
assign data_bus_0_w0_reg_scanin[14]=data_bus_0_w7_reg_scanout[15];
assign data_bus_0_w1_reg_scanin[14]=data_bus_0_w0_reg_scanout[14];
assign data_bus_0_w4_reg_scanin[14]=data_bus_0_w1_reg_scanout[14];
assign data_bus_0_w5_reg_scanin[14]=data_bus_0_w4_reg_scanout[14];
assign data_bus_0_w2_reg_scanin[14]=data_bus_0_w5_reg_scanout[14];
assign data_bus_0_w3_reg_scanin[14]=data_bus_0_w2_reg_scanout[14];
assign data_bus_0_w6_reg_scanin[14]=data_bus_0_w3_reg_scanout[14];
assign data_bus_0_w7_reg_scanin[14]=data_bus_0_w6_reg_scanout[14];
assign data_bus_0_w0_reg_scanin[13]=data_bus_0_w7_reg_scanout[14];
assign data_bus_0_w1_reg_scanin[13]=data_bus_0_w0_reg_scanout[13];
assign data_bus_0_w4_reg_scanin[13]=data_bus_0_w1_reg_scanout[13];
assign data_bus_0_w5_reg_scanin[13]=data_bus_0_w4_reg_scanout[13];
assign data_bus_0_w2_reg_scanin[13]=data_bus_0_w5_reg_scanout[13];
assign data_bus_0_w3_reg_scanin[13]=data_bus_0_w2_reg_scanout[13];
assign data_bus_0_w6_reg_scanin[13]=data_bus_0_w3_reg_scanout[13];
assign data_bus_0_w7_reg_scanin[13]=data_bus_0_w6_reg_scanout[13];
assign data_bus_0_w0_reg_scanin[12]=data_bus_0_w7_reg_scanout[13];
assign data_bus_0_w1_reg_scanin[12]=data_bus_0_w0_reg_scanout[12];
assign data_bus_0_w4_reg_scanin[12]=data_bus_0_w1_reg_scanout[12];
assign data_bus_0_w5_reg_scanin[12]=data_bus_0_w4_reg_scanout[12];
assign data_bus_0_w2_reg_scanin[12]=data_bus_0_w5_reg_scanout[12];
assign data_bus_0_w3_reg_scanin[12]=data_bus_0_w2_reg_scanout[12];
assign data_bus_0_w6_reg_scanin[12]=data_bus_0_w3_reg_scanout[12];
assign data_bus_0_w7_reg_scanin[12]=data_bus_0_w6_reg_scanout[12];
assign data_bus_0_w0_reg_scanin[11]=data_bus_0_w7_reg_scanout[12];
assign data_bus_0_w1_reg_scanin[11]=data_bus_0_w0_reg_scanout[11];
assign data_bus_0_w4_reg_scanin[11]=data_bus_0_w1_reg_scanout[11];
assign data_bus_0_w5_reg_scanin[11]=data_bus_0_w4_reg_scanout[11];
assign data_bus_0_w2_reg_scanin[11]=data_bus_0_w5_reg_scanout[11];
assign data_bus_0_w3_reg_scanin[11]=data_bus_0_w2_reg_scanout[11];
assign data_bus_0_w6_reg_scanin[11]=data_bus_0_w3_reg_scanout[11];
assign data_bus_0_w7_reg_scanin[11]=data_bus_0_w6_reg_scanout[11];
assign data_bus_0_w0_reg_scanin[10]=data_bus_0_w7_reg_scanout[11];
assign data_bus_0_w1_reg_scanin[10]=data_bus_0_w0_reg_scanout[10];
assign data_bus_0_w4_reg_scanin[10]=data_bus_0_w1_reg_scanout[10];
assign data_bus_0_w5_reg_scanin[10]=data_bus_0_w4_reg_scanout[10];
assign data_bus_0_w2_reg_scanin[10]=data_bus_0_w5_reg_scanout[10];
assign data_bus_0_w3_reg_scanin[10]=data_bus_0_w2_reg_scanout[10];
assign data_bus_0_w6_reg_scanin[10]=data_bus_0_w3_reg_scanout[10];
assign data_bus_0_w7_reg_scanin[10]=data_bus_0_w6_reg_scanout[10];
assign data_bus_0_w0_reg_scanin[9]=data_bus_0_w7_reg_scanout[10];
assign data_bus_0_w1_reg_scanin[9]=data_bus_0_w0_reg_scanout[9];
assign data_bus_0_w4_reg_scanin[9]=data_bus_0_w1_reg_scanout[9];
assign data_bus_0_w5_reg_scanin[9]=data_bus_0_w4_reg_scanout[9];
assign data_bus_0_w2_reg_scanin[9]=data_bus_0_w5_reg_scanout[9];
assign data_bus_0_w3_reg_scanin[9]=data_bus_0_w2_reg_scanout[9];
assign data_bus_0_w6_reg_scanin[9]=data_bus_0_w3_reg_scanout[9];
assign data_bus_0_w7_reg_scanin[9]=data_bus_0_w6_reg_scanout[9];
assign data_bus_0_w0_reg_scanin[8]=data_bus_0_w7_reg_scanout[9];
assign data_bus_0_w1_reg_scanin[8]=data_bus_0_w0_reg_scanout[8];
assign data_bus_0_w4_reg_scanin[8]=data_bus_0_w1_reg_scanout[8];
assign data_bus_0_w5_reg_scanin[8]=data_bus_0_w4_reg_scanout[8];
assign data_bus_0_w2_reg_scanin[8]=data_bus_0_w5_reg_scanout[8];
assign data_bus_0_w3_reg_scanin[8]=data_bus_0_w2_reg_scanout[8];
assign data_bus_0_w6_reg_scanin[8]=data_bus_0_w3_reg_scanout[8];
assign data_bus_0_w7_reg_scanin[8]=data_bus_0_w6_reg_scanout[8];
assign data_bus_0_w0_reg_scanin[7]=data_bus_0_w7_reg_scanout[8];
assign data_bus_0_w1_reg_scanin[7]=data_bus_0_w0_reg_scanout[7];
assign data_bus_0_w4_reg_scanin[7]=data_bus_0_w1_reg_scanout[7];
assign data_bus_0_w5_reg_scanin[7]=data_bus_0_w4_reg_scanout[7];
assign data_bus_0_w2_reg_scanin[7]=data_bus_0_w5_reg_scanout[7];
assign data_bus_0_w3_reg_scanin[7]=data_bus_0_w2_reg_scanout[7];
assign data_bus_0_w6_reg_scanin[7]=data_bus_0_w3_reg_scanout[7];
assign data_bus_0_w7_reg_scanin[7]=data_bus_0_w6_reg_scanout[7];
assign data_bus_0_w0_reg_scanin[6]=data_bus_0_w7_reg_scanout[7];
assign data_bus_0_w1_reg_scanin[6]=data_bus_0_w0_reg_scanout[6];
assign data_bus_0_w4_reg_scanin[6]=data_bus_0_w1_reg_scanout[6];
assign data_bus_0_w5_reg_scanin[6]=data_bus_0_w4_reg_scanout[6];
assign data_bus_0_w2_reg_scanin[6]=data_bus_0_w5_reg_scanout[6];
assign data_bus_0_w3_reg_scanin[6]=data_bus_0_w2_reg_scanout[6];
assign data_bus_0_w6_reg_scanin[6]=data_bus_0_w3_reg_scanout[6];
assign data_bus_0_w7_reg_scanin[6]=data_bus_0_w6_reg_scanout[6];
assign data_bus_0_w0_reg_scanin[5]=data_bus_0_w7_reg_scanout[6];
assign data_bus_0_w1_reg_scanin[5]=data_bus_0_w0_reg_scanout[5];
assign data_bus_0_w4_reg_scanin[5]=data_bus_0_w1_reg_scanout[5];
assign data_bus_0_w5_reg_scanin[5]=data_bus_0_w4_reg_scanout[5];
assign data_bus_0_w2_reg_scanin[5]=data_bus_0_w5_reg_scanout[5];
assign data_bus_0_w3_reg_scanin[5]=data_bus_0_w2_reg_scanout[5];
assign data_bus_0_w6_reg_scanin[5]=data_bus_0_w3_reg_scanout[5];
assign data_bus_0_w7_reg_scanin[5]=data_bus_0_w6_reg_scanout[5];
assign data_bus_0_w0_reg_scanin[4]=data_bus_0_w7_reg_scanout[5];
assign data_bus_0_w1_reg_scanin[4]=data_bus_0_w0_reg_scanout[4];
assign data_bus_0_w4_reg_scanin[4]=data_bus_0_w1_reg_scanout[4];
assign data_bus_0_w5_reg_scanin[4]=data_bus_0_w4_reg_scanout[4];
assign data_bus_0_w2_reg_scanin[4]=data_bus_0_w5_reg_scanout[4];
assign data_bus_0_w3_reg_scanin[4]=data_bus_0_w2_reg_scanout[4];
assign data_bus_0_w6_reg_scanin[4]=data_bus_0_w3_reg_scanout[4];
assign data_bus_0_w7_reg_scanin[4]=data_bus_0_w6_reg_scanout[4];
assign data_bus_0_w0_reg_scanin[3]=data_bus_0_w7_reg_scanout[4];
assign data_bus_0_w1_reg_scanin[3]=data_bus_0_w0_reg_scanout[3];
assign data_bus_0_w4_reg_scanin[3]=data_bus_0_w1_reg_scanout[3];
assign data_bus_0_w5_reg_scanin[3]=data_bus_0_w4_reg_scanout[3];
assign data_bus_0_w2_reg_scanin[3]=data_bus_0_w5_reg_scanout[3];
assign data_bus_0_w3_reg_scanin[3]=data_bus_0_w2_reg_scanout[3];
assign data_bus_0_w6_reg_scanin[3]=data_bus_0_w3_reg_scanout[3];
assign data_bus_0_w7_reg_scanin[3]=data_bus_0_w6_reg_scanout[3];
assign data_bus_0_w0_reg_scanin[2]=data_bus_0_w7_reg_scanout[3];
assign data_bus_0_w1_reg_scanin[2]=data_bus_0_w0_reg_scanout[2];
assign data_bus_0_w4_reg_scanin[2]=data_bus_0_w1_reg_scanout[2];
assign data_bus_0_w5_reg_scanin[2]=data_bus_0_w4_reg_scanout[2];
assign data_bus_0_w2_reg_scanin[2]=data_bus_0_w5_reg_scanout[2];
assign data_bus_0_w3_reg_scanin[2]=data_bus_0_w2_reg_scanout[2];
assign data_bus_0_w6_reg_scanin[2]=data_bus_0_w3_reg_scanout[2];
assign data_bus_0_w7_reg_scanin[2]=data_bus_0_w6_reg_scanout[2];
assign data_bus_0_w0_reg_scanin[1]=data_bus_0_w7_reg_scanout[2];
assign data_bus_0_w1_reg_scanin[1]=data_bus_0_w0_reg_scanout[1];
assign data_bus_0_w4_reg_scanin[1]=data_bus_0_w1_reg_scanout[1];
assign data_bus_0_w5_reg_scanin[1]=data_bus_0_w4_reg_scanout[1];
assign data_bus_0_w2_reg_scanin[1]=data_bus_0_w5_reg_scanout[1];
assign data_bus_0_w3_reg_scanin[1]=data_bus_0_w2_reg_scanout[1];
assign data_bus_0_w6_reg_scanin[1]=data_bus_0_w3_reg_scanout[1];
assign data_bus_0_w7_reg_scanin[1]=data_bus_0_w6_reg_scanout[1];
assign data_bus_0_w0_reg_scanin[0]=data_bus_0_w7_reg_scanout[1];
assign data_bus_0_w1_reg_scanin[0]=data_bus_0_w0_reg_scanout[0];
assign data_bus_0_w4_reg_scanin[0]=data_bus_0_w1_reg_scanout[0];
assign data_bus_0_w5_reg_scanin[0]=data_bus_0_w4_reg_scanout[0];
assign data_bus_0_w2_reg_scanin[0]=data_bus_0_w5_reg_scanout[0];
assign data_bus_0_w3_reg_scanin[0]=data_bus_0_w2_reg_scanout[0];
assign data_bus_0_w6_reg_scanin[0]=data_bus_0_w3_reg_scanout[0];
assign data_bus_0_w7_reg_scanin[0]=data_bus_0_w6_reg_scanout[0];
// ***************************END SECTION***************************
//////////////////////////
// Middle section scan //
//////////////////////////
assign red_en_reg_scanin[0] = data_bus_0_w7_reg_scanout[0];
assign red_en_reg_scanin[1] = red_en_reg_scanout[0];
assign red_en_out_reg_scanin[0] = red_en_reg_scanout[1];
assign red_en_out_reg_scanin[1] = red_en_out_reg_scanout[0];
assign red_arst_reg_scanin = red_en_out_reg_scanout[1];
assign red_wen_reg_scanin = red_arst_reg_scanout;
assign red_d_out_reg_scanin[0] = red_wen_reg_scanout;
assign red_d_out_reg_scanin[1] = red_d_out_reg_scanout[0];
assign red_d_out_reg_scanin[3] = red_d_out_reg_scanout[1];
assign red_d_out_reg_scanin[2] = red_d_out_reg_scanout[3];
assign red_d_out_reg_scanin[4] = red_d_out_reg_scanout[2];
assign rid_reg_scanin[1] = red_d_out_reg_scanout[4];
assign rid_reg_scanin[0] = rid_reg_scanout[1];
assign rid_reg_scanin[3] = rid_reg_scanout[0];
assign rid_reg_scanin[2] = rid_reg_scanout[3];
assign red_d_reg_scanin[0] = rid_reg_scanout[2];
assign red_d_reg_scanin[3] = red_d_reg_scanout[0];
assign red_d_reg_scanin[4] = red_d_reg_scanout[3];
assign red_d_reg_scanin[1] = red_d_reg_scanout[4];
assign red_d_reg_scanin[2] = red_d_reg_scanout[1];
assign quad_en_reg_scanin[2]= red_d_reg_scanout[2];
assign quad_en_reg_scanin[0]= quad_en_reg_scanout[2];
assign index_reg_i_scanin = quad_en_reg_scanout[0] ;
assign way_f_reg_scanin[4] = index_reg_i_scanout ;
assign way_f_reg_scanin[5] = way_f_reg_scanout[4] ;
assign way_f_reg_scanin[6] = way_f_reg_scanout[5] ;
assign way_f_reg_scanin[7] = way_f_reg_scanout[6] ;
assign quad_en_1_latch_scanin = way_f_reg_scanout[7] ;
assign quad_en_0_latch_scanin = quad_en_1_latch_scanout ;
assign wr_word_en_5_reg_scanin = quad_en_0_latch_scanout ;
assign wr_word_en_1_reg_scanin = wr_word_en_5_reg_scanout ;
assign wr_word_en_0_reg_scanin = wr_word_en_1_reg_scanout ;
assign wr_word_en_4_reg_scanin = wr_word_en_0_reg_scanout ;
assign wr_word_en_6_reg_scanin = wr_word_en_4_reg_scanout ;
assign wr_word_en_2_reg_scanin = wr_word_en_6_reg_scanout ;
assign wr_word_en_7_reg_scanin = wr_word_en_2_reg_scanout ;
assign wr_word_en_3_reg_scanin = wr_word_en_7_reg_scanout ;
assign quad_en_3_latch_scanin = wr_word_en_3_reg_scanout ;
assign quad_en_2_latch_scanin = quad_en_3_latch_scanout ;
assign way_f_reg_scanin[0] = quad_en_2_latch_scanout ;
assign way_f_reg_scanin[1] = way_f_reg_scanout[0] ;
assign way_f_reg_scanin[2] = way_f_reg_scanout[1] ;
assign way_f_reg_scanin[3] = way_f_reg_scanout[2] ;
assign wrway_0_reg_scanin = way_f_reg_scanout[3] ;
assign wrway_1_reg_scanin = wrway_0_reg_scanout ;
assign wrway_2_reg_scanin = wrway_1_reg_scanout ;
assign wrreq_reg_scanin = wrway_2_reg_scanout ;
assign rdreq_reg_scanin = wrreq_reg_scanout ;
assign quad_en_reg_scanin[3]= rdreq_reg_scanout ;
assign quad_en_reg_scanin[1]= quad_en_reg_scanout[3];
assign rdreq_reg_b_scanin = quad_en_reg_scanout[1] ;
assign wrreq_reg_b_scanin = rdreq_reg_b_scanout ;
assign way_c_reg_scanin[7] = wrreq_reg_b_scanout ;
assign way_c_reg_scanin[6] = way_c_reg_scanout[7] ;
assign way_c_reg_scanin[5] = way_c_reg_scanout[6] ;
assign way_c_reg_scanin[4] = way_c_reg_scanout[5] ;
assign way_c_reg_scanin[3] = way_c_reg_scanout[4] ;
assign way_c_reg_scanin[2] = way_c_reg_scanout[3] ;
assign way_c_reg_scanin[1] = way_c_reg_scanout[2] ;
assign way_c_reg_scanin[0] = way_c_reg_scanout[1] ;
/////// end of middle section ///////////////////
assign wrdata_q3_7_scanin[32]=way_c_reg_scanout[0];
assign wrdata_q3_3_scanin[32]=wrdata_q3_7_scanout[32];
assign wrdata_q3_7_scanin[31]=wrdata_q3_3_scanout[32];
assign wrdata_q3_3_scanin[31]=wrdata_q3_7_scanout[31];
assign wrdata_q3_7_scanin[30]=wrdata_q3_3_scanout[31];
assign wrdata_q3_3_scanin[30]=wrdata_q3_7_scanout[30];
assign wrdata_q3_7_scanin[29]=wrdata_q3_3_scanout[30];
assign wrdata_q3_3_scanin[29]=wrdata_q3_7_scanout[29];
assign wrdata_q3_7_scanin[28]=wrdata_q3_3_scanout[29];
assign wrdata_q3_3_scanin[28]=wrdata_q3_7_scanout[28];
assign wrdata_q3_7_scanin[27]=wrdata_q3_3_scanout[28];
assign wrdata_q3_3_scanin[27]=wrdata_q3_7_scanout[27];
assign wrdata_q3_7_scanin[26]=wrdata_q3_3_scanout[27];
assign wrdata_q3_3_scanin[26]=wrdata_q3_7_scanout[26];
assign wrdata_q3_7_scanin[25]=wrdata_q3_3_scanout[26];
assign wrdata_q3_3_scanin[25]=wrdata_q3_7_scanout[25];
assign wrdata_q3_7_scanin[24]=wrdata_q3_3_scanout[25];
assign wrdata_q3_3_scanin[24]=wrdata_q3_7_scanout[24];
assign wrdata_q3_7_scanin[23]=wrdata_q3_3_scanout[24];
assign wrdata_q3_3_scanin[23]=wrdata_q3_7_scanout[23];
assign wrdata_q3_7_scanin[22]=wrdata_q3_3_scanout[23];
assign wrdata_q3_3_scanin[22]=wrdata_q3_7_scanout[22];
assign wrdata_q3_7_scanin[21]=wrdata_q3_3_scanout[22];
assign wrdata_q3_3_scanin[21]=wrdata_q3_7_scanout[21];
assign wrdata_q3_7_scanin[20]=wrdata_q3_3_scanout[21];
assign wrdata_q3_3_scanin[20]=wrdata_q3_7_scanout[20];
assign wrdata_q3_7_scanin[19]=wrdata_q3_3_scanout[20];
assign wrdata_q3_3_scanin[19]=wrdata_q3_7_scanout[19];
assign wrdata_q3_7_scanin[18]=wrdata_q3_3_scanout[19];
assign wrdata_q3_3_scanin[18]=wrdata_q3_7_scanout[18];
assign wrdata_q3_7_scanin[17]=wrdata_q3_3_scanout[18];
assign wrdata_q3_3_scanin[17]=wrdata_q3_7_scanout[17];
assign wrdata_q3_7_scanin[16]=wrdata_q3_3_scanout[17];
assign wrdata_q3_3_scanin[16]=wrdata_q3_7_scanout[16];
assign wrdata_q3_7_scanin[15]=wrdata_q3_3_scanout[16];
assign wrdata_q3_3_scanin[15]=wrdata_q3_7_scanout[15];
assign wrdata_q3_7_scanin[14]=wrdata_q3_3_scanout[15];
assign wrdata_q3_3_scanin[14]=wrdata_q3_7_scanout[14];
assign wrdata_q3_7_scanin[13]=wrdata_q3_3_scanout[14];
assign wrdata_q3_3_scanin[13]=wrdata_q3_7_scanout[13];
assign wrdata_q3_7_scanin[12]=wrdata_q3_3_scanout[13];
assign wrdata_q3_3_scanin[12]=wrdata_q3_7_scanout[12];
assign wrdata_q3_7_scanin[11]=wrdata_q3_3_scanout[12];
assign wrdata_q3_3_scanin[11]=wrdata_q3_7_scanout[11];
assign wrdata_q3_7_scanin[10]=wrdata_q3_3_scanout[11];
assign wrdata_q3_3_scanin[10]=wrdata_q3_7_scanout[10];
assign wrdata_q3_7_scanin[9]=wrdata_q3_3_scanout[10];
assign wrdata_q3_3_scanin[9]=wrdata_q3_7_scanout[9];
assign wrdata_q3_7_scanin[8]=wrdata_q3_3_scanout[9];
assign wrdata_q3_3_scanin[8]=wrdata_q3_7_scanout[8];
assign wrdata_q3_7_scanin[7]=wrdata_q3_3_scanout[8];
assign wrdata_q3_3_scanin[7]=wrdata_q3_7_scanout[7];
assign wrdata_q3_7_scanin[6]=wrdata_q3_3_scanout[7];
assign wrdata_q3_3_scanin[6]=wrdata_q3_7_scanout[6];
assign wrdata_q3_7_scanin[5]=wrdata_q3_3_scanout[6];
assign wrdata_q3_3_scanin[5]=wrdata_q3_7_scanout[5];
assign wrdata_q3_7_scanin[4]=wrdata_q3_3_scanout[5];
assign wrdata_q3_3_scanin[4]=wrdata_q3_7_scanout[4];
assign wrdata_q3_7_scanin[3]=wrdata_q3_3_scanout[4];
assign wrdata_q3_3_scanin[3]=wrdata_q3_7_scanout[3];
assign wrdata_q3_7_scanin[2]=wrdata_q3_3_scanout[3];
assign wrdata_q3_3_scanin[2]=wrdata_q3_7_scanout[2];
assign wrdata_q3_7_scanin[1]=wrdata_q3_3_scanout[2];
assign wrdata_q3_3_scanin[1]=wrdata_q3_7_scanout[1];
assign wrdata_q3_7_scanin[0]=wrdata_q3_3_scanout[1];
assign wrdata_q3_3_scanin[0]=wrdata_q3_7_scanout[0];
// ***************************BEGIN SECTION*************************
assign data_bus_3_w2_reg_scanin[32]=wrdata_q3_3_scanout[0];
assign data_bus_3_w3_reg_scanin[32]=data_bus_3_w2_reg_scanout[32];
assign data_bus_3_w6_reg_scanin[32]=data_bus_3_w3_reg_scanout[32];
assign data_bus_3_w7_reg_scanin[32]=data_bus_3_w6_reg_scanout[32];
assign data_bus_3_w0_reg_scanin[32]=data_bus_3_w7_reg_scanout[32];
assign data_bus_3_w1_reg_scanin[32]=data_bus_3_w0_reg_scanout[32];
assign data_bus_3_w4_reg_scanin[32]=data_bus_3_w1_reg_scanout[32];
assign data_bus_3_w5_reg_scanin[32]=data_bus_3_w4_reg_scanout[32];
assign data_bus_3_w2_reg_scanin[31]=data_bus_3_w5_reg_scanout[32];
assign data_bus_3_w3_reg_scanin[31]=data_bus_3_w2_reg_scanout[31];
assign data_bus_3_w6_reg_scanin[31]=data_bus_3_w3_reg_scanout[31];
assign data_bus_3_w7_reg_scanin[31]=data_bus_3_w6_reg_scanout[31];
assign data_bus_3_w0_reg_scanin[31]=data_bus_3_w7_reg_scanout[31];
assign data_bus_3_w1_reg_scanin[31]=data_bus_3_w0_reg_scanout[31];
assign data_bus_3_w4_reg_scanin[31]=data_bus_3_w1_reg_scanout[31];
assign data_bus_3_w5_reg_scanin[31]=data_bus_3_w4_reg_scanout[31];
assign data_bus_3_w2_reg_scanin[30]=data_bus_3_w5_reg_scanout[31];
assign data_bus_3_w3_reg_scanin[30]=data_bus_3_w2_reg_scanout[30];
assign data_bus_3_w6_reg_scanin[30]=data_bus_3_w3_reg_scanout[30];
assign data_bus_3_w7_reg_scanin[30]=data_bus_3_w6_reg_scanout[30];
assign data_bus_3_w0_reg_scanin[30]=data_bus_3_w7_reg_scanout[30];
assign data_bus_3_w1_reg_scanin[30]=data_bus_3_w0_reg_scanout[30];
assign data_bus_3_w4_reg_scanin[30]=data_bus_3_w1_reg_scanout[30];
assign data_bus_3_w5_reg_scanin[30]=data_bus_3_w4_reg_scanout[30];
assign data_bus_3_w2_reg_scanin[29]=data_bus_3_w5_reg_scanout[30];
assign data_bus_3_w3_reg_scanin[29]=data_bus_3_w2_reg_scanout[29];
assign data_bus_3_w6_reg_scanin[29]=data_bus_3_w3_reg_scanout[29];
assign data_bus_3_w7_reg_scanin[29]=data_bus_3_w6_reg_scanout[29];
assign data_bus_3_w0_reg_scanin[29]=data_bus_3_w7_reg_scanout[29];
assign data_bus_3_w1_reg_scanin[29]=data_bus_3_w0_reg_scanout[29];
assign data_bus_3_w4_reg_scanin[29]=data_bus_3_w1_reg_scanout[29];
assign data_bus_3_w5_reg_scanin[29]=data_bus_3_w4_reg_scanout[29];
assign data_bus_3_w2_reg_scanin[28]=data_bus_3_w5_reg_scanout[29];
assign data_bus_3_w3_reg_scanin[28]=data_bus_3_w2_reg_scanout[28];
assign data_bus_3_w6_reg_scanin[28]=data_bus_3_w3_reg_scanout[28];
assign data_bus_3_w7_reg_scanin[28]=data_bus_3_w6_reg_scanout[28];
assign data_bus_3_w0_reg_scanin[28]=data_bus_3_w7_reg_scanout[28];
assign data_bus_3_w1_reg_scanin[28]=data_bus_3_w0_reg_scanout[28];
assign data_bus_3_w4_reg_scanin[28]=data_bus_3_w1_reg_scanout[28];
assign data_bus_3_w5_reg_scanin[28]=data_bus_3_w4_reg_scanout[28];
assign data_bus_3_w2_reg_scanin[27]=data_bus_3_w5_reg_scanout[28];
assign data_bus_3_w3_reg_scanin[27]=data_bus_3_w2_reg_scanout[27];
assign data_bus_3_w6_reg_scanin[27]=data_bus_3_w3_reg_scanout[27];
assign data_bus_3_w7_reg_scanin[27]=data_bus_3_w6_reg_scanout[27];
assign data_bus_3_w0_reg_scanin[27]=data_bus_3_w7_reg_scanout[27];
assign data_bus_3_w1_reg_scanin[27]=data_bus_3_w0_reg_scanout[27];
assign data_bus_3_w4_reg_scanin[27]=data_bus_3_w1_reg_scanout[27];
assign data_bus_3_w5_reg_scanin[27]=data_bus_3_w4_reg_scanout[27];
assign data_bus_3_w2_reg_scanin[26]=data_bus_3_w5_reg_scanout[27];
assign data_bus_3_w3_reg_scanin[26]=data_bus_3_w2_reg_scanout[26];
assign data_bus_3_w6_reg_scanin[26]=data_bus_3_w3_reg_scanout[26];
assign data_bus_3_w7_reg_scanin[26]=data_bus_3_w6_reg_scanout[26];
assign data_bus_3_w0_reg_scanin[26]=data_bus_3_w7_reg_scanout[26];
assign data_bus_3_w1_reg_scanin[26]=data_bus_3_w0_reg_scanout[26];
assign data_bus_3_w4_reg_scanin[26]=data_bus_3_w1_reg_scanout[26];
assign data_bus_3_w5_reg_scanin[26]=data_bus_3_w4_reg_scanout[26];
assign data_bus_3_w2_reg_scanin[25]=data_bus_3_w5_reg_scanout[26];
assign data_bus_3_w3_reg_scanin[25]=data_bus_3_w2_reg_scanout[25];
assign data_bus_3_w6_reg_scanin[25]=data_bus_3_w3_reg_scanout[25];
assign data_bus_3_w7_reg_scanin[25]=data_bus_3_w6_reg_scanout[25];
assign data_bus_3_w0_reg_scanin[25]=data_bus_3_w7_reg_scanout[25];
assign data_bus_3_w1_reg_scanin[25]=data_bus_3_w0_reg_scanout[25];
assign data_bus_3_w4_reg_scanin[25]=data_bus_3_w1_reg_scanout[25];
assign data_bus_3_w5_reg_scanin[25]=data_bus_3_w4_reg_scanout[25];
assign data_bus_3_w2_reg_scanin[24]=data_bus_3_w5_reg_scanout[25];
assign data_bus_3_w3_reg_scanin[24]=data_bus_3_w2_reg_scanout[24];
assign data_bus_3_w6_reg_scanin[24]=data_bus_3_w3_reg_scanout[24];
assign data_bus_3_w7_reg_scanin[24]=data_bus_3_w6_reg_scanout[24];
assign data_bus_3_w0_reg_scanin[24]=data_bus_3_w7_reg_scanout[24];
assign data_bus_3_w1_reg_scanin[24]=data_bus_3_w0_reg_scanout[24];
assign data_bus_3_w4_reg_scanin[24]=data_bus_3_w1_reg_scanout[24];
assign data_bus_3_w5_reg_scanin[24]=data_bus_3_w4_reg_scanout[24];
assign data_bus_3_w2_reg_scanin[23]=data_bus_3_w5_reg_scanout[24];
assign data_bus_3_w3_reg_scanin[23]=data_bus_3_w2_reg_scanout[23];
assign data_bus_3_w6_reg_scanin[23]=data_bus_3_w3_reg_scanout[23];
assign data_bus_3_w7_reg_scanin[23]=data_bus_3_w6_reg_scanout[23];
assign data_bus_3_w0_reg_scanin[23]=data_bus_3_w7_reg_scanout[23];
assign data_bus_3_w1_reg_scanin[23]=data_bus_3_w0_reg_scanout[23];
assign data_bus_3_w4_reg_scanin[23]=data_bus_3_w1_reg_scanout[23];
assign data_bus_3_w5_reg_scanin[23]=data_bus_3_w4_reg_scanout[23];
assign data_bus_3_w2_reg_scanin[22]=data_bus_3_w5_reg_scanout[23];
assign data_bus_3_w3_reg_scanin[22]=data_bus_3_w2_reg_scanout[22];
assign data_bus_3_w6_reg_scanin[22]=data_bus_3_w3_reg_scanout[22];
assign data_bus_3_w7_reg_scanin[22]=data_bus_3_w6_reg_scanout[22];
assign data_bus_3_w0_reg_scanin[22]=data_bus_3_w7_reg_scanout[22];
assign data_bus_3_w1_reg_scanin[22]=data_bus_3_w0_reg_scanout[22];
assign data_bus_3_w4_reg_scanin[22]=data_bus_3_w1_reg_scanout[22];
assign data_bus_3_w5_reg_scanin[22]=data_bus_3_w4_reg_scanout[22];
assign data_bus_3_w2_reg_scanin[21]=data_bus_3_w5_reg_scanout[22];
assign data_bus_3_w3_reg_scanin[21]=data_bus_3_w2_reg_scanout[21];
assign data_bus_3_w6_reg_scanin[21]=data_bus_3_w3_reg_scanout[21];
assign data_bus_3_w7_reg_scanin[21]=data_bus_3_w6_reg_scanout[21];
assign data_bus_3_w0_reg_scanin[21]=data_bus_3_w7_reg_scanout[21];
assign data_bus_3_w1_reg_scanin[21]=data_bus_3_w0_reg_scanout[21];
assign data_bus_3_w4_reg_scanin[21]=data_bus_3_w1_reg_scanout[21];
assign data_bus_3_w5_reg_scanin[21]=data_bus_3_w4_reg_scanout[21];
assign data_bus_3_w2_reg_scanin[20]=data_bus_3_w5_reg_scanout[21];
assign data_bus_3_w3_reg_scanin[20]=data_bus_3_w2_reg_scanout[20];
assign data_bus_3_w6_reg_scanin[20]=data_bus_3_w3_reg_scanout[20];
assign data_bus_3_w7_reg_scanin[20]=data_bus_3_w6_reg_scanout[20];
assign data_bus_3_w0_reg_scanin[20]=data_bus_3_w7_reg_scanout[20];
assign data_bus_3_w1_reg_scanin[20]=data_bus_3_w0_reg_scanout[20];
assign data_bus_3_w4_reg_scanin[20]=data_bus_3_w1_reg_scanout[20];
assign data_bus_3_w5_reg_scanin[20]=data_bus_3_w4_reg_scanout[20];
assign data_bus_3_w2_reg_scanin[19]=data_bus_3_w5_reg_scanout[20];
assign data_bus_3_w3_reg_scanin[19]=data_bus_3_w2_reg_scanout[19];
assign data_bus_3_w6_reg_scanin[19]=data_bus_3_w3_reg_scanout[19];
assign data_bus_3_w7_reg_scanin[19]=data_bus_3_w6_reg_scanout[19];
assign data_bus_3_w0_reg_scanin[19]=data_bus_3_w7_reg_scanout[19];
assign data_bus_3_w1_reg_scanin[19]=data_bus_3_w0_reg_scanout[19];
assign data_bus_3_w4_reg_scanin[19]=data_bus_3_w1_reg_scanout[19];
assign data_bus_3_w5_reg_scanin[19]=data_bus_3_w4_reg_scanout[19];
assign data_bus_3_w2_reg_scanin[18]=data_bus_3_w5_reg_scanout[19];
assign data_bus_3_w3_reg_scanin[18]=data_bus_3_w2_reg_scanout[18];
assign data_bus_3_w6_reg_scanin[18]=data_bus_3_w3_reg_scanout[18];
assign data_bus_3_w7_reg_scanin[18]=data_bus_3_w6_reg_scanout[18];
assign data_bus_3_w0_reg_scanin[18]=data_bus_3_w7_reg_scanout[18];
assign data_bus_3_w1_reg_scanin[18]=data_bus_3_w0_reg_scanout[18];
assign data_bus_3_w4_reg_scanin[18]=data_bus_3_w1_reg_scanout[18];
assign data_bus_3_w5_reg_scanin[18]=data_bus_3_w4_reg_scanout[18];
assign data_bus_3_w2_reg_scanin[17]=data_bus_3_w5_reg_scanout[18];
assign data_bus_3_w3_reg_scanin[17]=data_bus_3_w2_reg_scanout[17];
assign data_bus_3_w6_reg_scanin[17]=data_bus_3_w3_reg_scanout[17];
assign data_bus_3_w7_reg_scanin[17]=data_bus_3_w6_reg_scanout[17];
assign data_bus_3_w0_reg_scanin[17]=data_bus_3_w7_reg_scanout[17];
assign data_bus_3_w1_reg_scanin[17]=data_bus_3_w0_reg_scanout[17];
assign data_bus_3_w4_reg_scanin[17]=data_bus_3_w1_reg_scanout[17];
assign data_bus_3_w5_reg_scanin[17]=data_bus_3_w4_reg_scanout[17];
assign data_bus_3_w0_reg_scanin[16]=data_bus_3_w5_reg_scanout[17];
assign data_bus_3_w1_reg_scanin[16]=data_bus_3_w0_reg_scanout[16];
assign data_bus_3_w4_reg_scanin[16]=data_bus_3_w1_reg_scanout[16];
assign data_bus_3_w5_reg_scanin[16]=data_bus_3_w4_reg_scanout[16];
assign data_bus_3_w2_reg_scanin[16]=data_bus_3_w5_reg_scanout[16];
assign data_bus_3_w3_reg_scanin[16]=data_bus_3_w2_reg_scanout[16];
assign data_bus_3_w6_reg_scanin[16]=data_bus_3_w3_reg_scanout[16];
assign data_bus_3_w7_reg_scanin[16]=data_bus_3_w6_reg_scanout[16];
assign data_bus_3_w0_reg_scanin[15]=data_bus_3_w7_reg_scanout[16];
assign data_bus_3_w1_reg_scanin[15]=data_bus_3_w0_reg_scanout[15];
assign data_bus_3_w4_reg_scanin[15]=data_bus_3_w1_reg_scanout[15];
assign data_bus_3_w5_reg_scanin[15]=data_bus_3_w4_reg_scanout[15];
assign data_bus_3_w2_reg_scanin[15]=data_bus_3_w5_reg_scanout[15];
assign data_bus_3_w3_reg_scanin[15]=data_bus_3_w2_reg_scanout[15];
assign data_bus_3_w6_reg_scanin[15]=data_bus_3_w3_reg_scanout[15];
assign data_bus_3_w7_reg_scanin[15]=data_bus_3_w6_reg_scanout[15];
assign data_bus_3_w0_reg_scanin[14]=data_bus_3_w7_reg_scanout[15];
assign data_bus_3_w1_reg_scanin[14]=data_bus_3_w0_reg_scanout[14];
assign data_bus_3_w4_reg_scanin[14]=data_bus_3_w1_reg_scanout[14];
assign data_bus_3_w5_reg_scanin[14]=data_bus_3_w4_reg_scanout[14];
assign data_bus_3_w2_reg_scanin[14]=data_bus_3_w5_reg_scanout[14];
assign data_bus_3_w3_reg_scanin[14]=data_bus_3_w2_reg_scanout[14];
assign data_bus_3_w6_reg_scanin[14]=data_bus_3_w3_reg_scanout[14];
assign data_bus_3_w7_reg_scanin[14]=data_bus_3_w6_reg_scanout[14];
assign data_bus_3_w0_reg_scanin[13]=data_bus_3_w7_reg_scanout[14];
assign data_bus_3_w1_reg_scanin[13]=data_bus_3_w0_reg_scanout[13];
assign data_bus_3_w4_reg_scanin[13]=data_bus_3_w1_reg_scanout[13];
assign data_bus_3_w5_reg_scanin[13]=data_bus_3_w4_reg_scanout[13];
assign data_bus_3_w2_reg_scanin[13]=data_bus_3_w5_reg_scanout[13];
assign data_bus_3_w3_reg_scanin[13]=data_bus_3_w2_reg_scanout[13];
assign data_bus_3_w6_reg_scanin[13]=data_bus_3_w3_reg_scanout[13];
assign data_bus_3_w7_reg_scanin[13]=data_bus_3_w6_reg_scanout[13];
assign data_bus_3_w0_reg_scanin[12]=data_bus_3_w7_reg_scanout[13];
assign data_bus_3_w1_reg_scanin[12]=data_bus_3_w0_reg_scanout[12];
assign data_bus_3_w4_reg_scanin[12]=data_bus_3_w1_reg_scanout[12];
assign data_bus_3_w5_reg_scanin[12]=data_bus_3_w4_reg_scanout[12];
assign data_bus_3_w2_reg_scanin[12]=data_bus_3_w5_reg_scanout[12];
assign data_bus_3_w3_reg_scanin[12]=data_bus_3_w2_reg_scanout[12];
assign data_bus_3_w6_reg_scanin[12]=data_bus_3_w3_reg_scanout[12];
assign data_bus_3_w7_reg_scanin[12]=data_bus_3_w6_reg_scanout[12];
assign data_bus_3_w0_reg_scanin[11]=data_bus_3_w7_reg_scanout[12];
assign data_bus_3_w1_reg_scanin[11]=data_bus_3_w0_reg_scanout[11];
assign data_bus_3_w4_reg_scanin[11]=data_bus_3_w1_reg_scanout[11];
assign data_bus_3_w5_reg_scanin[11]=data_bus_3_w4_reg_scanout[11];
assign data_bus_3_w2_reg_scanin[11]=data_bus_3_w5_reg_scanout[11];
assign data_bus_3_w3_reg_scanin[11]=data_bus_3_w2_reg_scanout[11];
assign data_bus_3_w6_reg_scanin[11]=data_bus_3_w3_reg_scanout[11];
assign data_bus_3_w7_reg_scanin[11]=data_bus_3_w6_reg_scanout[11];
assign data_bus_3_w0_reg_scanin[10]=data_bus_3_w7_reg_scanout[11];
assign data_bus_3_w1_reg_scanin[10]=data_bus_3_w0_reg_scanout[10];
assign data_bus_3_w4_reg_scanin[10]=data_bus_3_w1_reg_scanout[10];
assign data_bus_3_w5_reg_scanin[10]=data_bus_3_w4_reg_scanout[10];
assign data_bus_3_w2_reg_scanin[10]=data_bus_3_w5_reg_scanout[10];
assign data_bus_3_w3_reg_scanin[10]=data_bus_3_w2_reg_scanout[10];
assign data_bus_3_w6_reg_scanin[10]=data_bus_3_w3_reg_scanout[10];
assign data_bus_3_w7_reg_scanin[10]=data_bus_3_w6_reg_scanout[10];
assign data_bus_3_w0_reg_scanin[9]=data_bus_3_w7_reg_scanout[10];
assign data_bus_3_w1_reg_scanin[9]=data_bus_3_w0_reg_scanout[9];
assign data_bus_3_w4_reg_scanin[9]=data_bus_3_w1_reg_scanout[9];
assign data_bus_3_w5_reg_scanin[9]=data_bus_3_w4_reg_scanout[9];
assign data_bus_3_w2_reg_scanin[9]=data_bus_3_w5_reg_scanout[9];
assign data_bus_3_w3_reg_scanin[9]=data_bus_3_w2_reg_scanout[9];
assign data_bus_3_w6_reg_scanin[9]=data_bus_3_w3_reg_scanout[9];
assign data_bus_3_w7_reg_scanin[9]=data_bus_3_w6_reg_scanout[9];
assign data_bus_3_w0_reg_scanin[8]=data_bus_3_w7_reg_scanout[9];
assign data_bus_3_w1_reg_scanin[8]=data_bus_3_w0_reg_scanout[8];
assign data_bus_3_w4_reg_scanin[8]=data_bus_3_w1_reg_scanout[8];
assign data_bus_3_w5_reg_scanin[8]=data_bus_3_w4_reg_scanout[8];
assign data_bus_3_w2_reg_scanin[8]=data_bus_3_w5_reg_scanout[8];
assign data_bus_3_w3_reg_scanin[8]=data_bus_3_w2_reg_scanout[8];
assign data_bus_3_w6_reg_scanin[8]=data_bus_3_w3_reg_scanout[8];
assign data_bus_3_w7_reg_scanin[8]=data_bus_3_w6_reg_scanout[8];
assign data_bus_3_w0_reg_scanin[7]=data_bus_3_w7_reg_scanout[8];
assign data_bus_3_w1_reg_scanin[7]=data_bus_3_w0_reg_scanout[7];
assign data_bus_3_w4_reg_scanin[7]=data_bus_3_w1_reg_scanout[7];
assign data_bus_3_w5_reg_scanin[7]=data_bus_3_w4_reg_scanout[7];
assign data_bus_3_w2_reg_scanin[7]=data_bus_3_w5_reg_scanout[7];
assign data_bus_3_w3_reg_scanin[7]=data_bus_3_w2_reg_scanout[7];
assign data_bus_3_w6_reg_scanin[7]=data_bus_3_w3_reg_scanout[7];
assign data_bus_3_w7_reg_scanin[7]=data_bus_3_w6_reg_scanout[7];
assign data_bus_3_w0_reg_scanin[6]=data_bus_3_w7_reg_scanout[7];
assign data_bus_3_w1_reg_scanin[6]=data_bus_3_w0_reg_scanout[6];
assign data_bus_3_w4_reg_scanin[6]=data_bus_3_w1_reg_scanout[6];
assign data_bus_3_w5_reg_scanin[6]=data_bus_3_w4_reg_scanout[6];
assign data_bus_3_w2_reg_scanin[6]=data_bus_3_w5_reg_scanout[6];
assign data_bus_3_w3_reg_scanin[6]=data_bus_3_w2_reg_scanout[6];
assign data_bus_3_w6_reg_scanin[6]=data_bus_3_w3_reg_scanout[6];
assign data_bus_3_w7_reg_scanin[6]=data_bus_3_w6_reg_scanout[6];
assign data_bus_3_w0_reg_scanin[5]=data_bus_3_w7_reg_scanout[6];
assign data_bus_3_w1_reg_scanin[5]=data_bus_3_w0_reg_scanout[5];
assign data_bus_3_w4_reg_scanin[5]=data_bus_3_w1_reg_scanout[5];
assign data_bus_3_w5_reg_scanin[5]=data_bus_3_w4_reg_scanout[5];
assign data_bus_3_w2_reg_scanin[5]=data_bus_3_w5_reg_scanout[5];
assign data_bus_3_w3_reg_scanin[5]=data_bus_3_w2_reg_scanout[5];
assign data_bus_3_w6_reg_scanin[5]=data_bus_3_w3_reg_scanout[5];
assign data_bus_3_w7_reg_scanin[5]=data_bus_3_w6_reg_scanout[5];
assign data_bus_3_w0_reg_scanin[4]=data_bus_3_w7_reg_scanout[5];
assign data_bus_3_w1_reg_scanin[4]=data_bus_3_w0_reg_scanout[4];
assign data_bus_3_w4_reg_scanin[4]=data_bus_3_w1_reg_scanout[4];
assign data_bus_3_w5_reg_scanin[4]=data_bus_3_w4_reg_scanout[4];
assign data_bus_3_w2_reg_scanin[4]=data_bus_3_w5_reg_scanout[4];
assign data_bus_3_w3_reg_scanin[4]=data_bus_3_w2_reg_scanout[4];
assign data_bus_3_w6_reg_scanin[4]=data_bus_3_w3_reg_scanout[4];
assign data_bus_3_w7_reg_scanin[4]=data_bus_3_w6_reg_scanout[4];
assign data_bus_3_w0_reg_scanin[3]=data_bus_3_w7_reg_scanout[4];
assign data_bus_3_w1_reg_scanin[3]=data_bus_3_w0_reg_scanout[3];
assign data_bus_3_w4_reg_scanin[3]=data_bus_3_w1_reg_scanout[3];
assign data_bus_3_w5_reg_scanin[3]=data_bus_3_w4_reg_scanout[3];
assign data_bus_3_w2_reg_scanin[3]=data_bus_3_w5_reg_scanout[3];
assign data_bus_3_w3_reg_scanin[3]=data_bus_3_w2_reg_scanout[3];
assign data_bus_3_w6_reg_scanin[3]=data_bus_3_w3_reg_scanout[3];
assign data_bus_3_w7_reg_scanin[3]=data_bus_3_w6_reg_scanout[3];
assign data_bus_3_w0_reg_scanin[2]=data_bus_3_w7_reg_scanout[3];
assign data_bus_3_w1_reg_scanin[2]=data_bus_3_w0_reg_scanout[2];
assign data_bus_3_w4_reg_scanin[2]=data_bus_3_w1_reg_scanout[2];
assign data_bus_3_w5_reg_scanin[2]=data_bus_3_w4_reg_scanout[2];
assign data_bus_3_w2_reg_scanin[2]=data_bus_3_w5_reg_scanout[2];
assign data_bus_3_w3_reg_scanin[2]=data_bus_3_w2_reg_scanout[2];
assign data_bus_3_w6_reg_scanin[2]=data_bus_3_w3_reg_scanout[2];
assign data_bus_3_w7_reg_scanin[2]=data_bus_3_w6_reg_scanout[2];
assign data_bus_3_w0_reg_scanin[1]=data_bus_3_w7_reg_scanout[2];
assign data_bus_3_w1_reg_scanin[1]=data_bus_3_w0_reg_scanout[1];
assign data_bus_3_w4_reg_scanin[1]=data_bus_3_w1_reg_scanout[1];
assign data_bus_3_w5_reg_scanin[1]=data_bus_3_w4_reg_scanout[1];
assign data_bus_3_w2_reg_scanin[1]=data_bus_3_w5_reg_scanout[1];
assign data_bus_3_w3_reg_scanin[1]=data_bus_3_w2_reg_scanout[1];
assign data_bus_3_w6_reg_scanin[1]=data_bus_3_w3_reg_scanout[1];
assign data_bus_3_w7_reg_scanin[1]=data_bus_3_w6_reg_scanout[1];
assign data_bus_3_w0_reg_scanin[0]=data_bus_3_w7_reg_scanout[1];
assign data_bus_3_w1_reg_scanin[0]=data_bus_3_w0_reg_scanout[0];
assign data_bus_3_w4_reg_scanin[0]=data_bus_3_w1_reg_scanout[0];
assign data_bus_3_w5_reg_scanin[0]=data_bus_3_w4_reg_scanout[0];
assign data_bus_3_w2_reg_scanin[0]=data_bus_3_w5_reg_scanout[0];
assign data_bus_3_w3_reg_scanin[0]=data_bus_3_w2_reg_scanout[0];
assign data_bus_3_w6_reg_scanin[0]=data_bus_3_w3_reg_scanout[0];
assign data_bus_3_w7_reg_scanin[0]=data_bus_3_w6_reg_scanout[0];
// ***************************END SECTION***************************
assign wrdata_q2_6_scanin[32]=data_bus_3_w7_reg_scanout[0];
assign wrdata_q2_2_scanin[32]=wrdata_q2_6_scanout[32];
assign wrdata_q2_6_scanin[31]=wrdata_q2_2_scanout[32];
assign wrdata_q2_2_scanin[31]=wrdata_q2_6_scanout[31];
assign wrdata_q2_6_scanin[30]=wrdata_q2_2_scanout[31];
assign wrdata_q2_2_scanin[30]=wrdata_q2_6_scanout[30];
assign wrdata_q2_6_scanin[29]=wrdata_q2_2_scanout[30];
assign wrdata_q2_2_scanin[29]=wrdata_q2_6_scanout[29];
assign wrdata_q2_6_scanin[28]=wrdata_q2_2_scanout[29];
assign wrdata_q2_2_scanin[28]=wrdata_q2_6_scanout[28];
assign wrdata_q2_6_scanin[27]=wrdata_q2_2_scanout[28];
assign wrdata_q2_2_scanin[27]=wrdata_q2_6_scanout[27];
assign wrdata_q2_6_scanin[26]=wrdata_q2_2_scanout[27];
assign wrdata_q2_2_scanin[26]=wrdata_q2_6_scanout[26];
assign wrdata_q2_6_scanin[25]=wrdata_q2_2_scanout[26];
assign wrdata_q2_2_scanin[25]=wrdata_q2_6_scanout[25];
assign wrdata_q2_6_scanin[24]=wrdata_q2_2_scanout[25];
assign wrdata_q2_2_scanin[24]=wrdata_q2_6_scanout[24];
assign wrdata_q2_6_scanin[23]=wrdata_q2_2_scanout[24];
assign wrdata_q2_2_scanin[23]=wrdata_q2_6_scanout[23];
assign wrdata_q2_6_scanin[22]=wrdata_q2_2_scanout[23];
assign wrdata_q2_2_scanin[22]=wrdata_q2_6_scanout[22];
assign wrdata_q2_6_scanin[21]=wrdata_q2_2_scanout[22];
assign wrdata_q2_2_scanin[21]=wrdata_q2_6_scanout[21];
assign wrdata_q2_6_scanin[20]=wrdata_q2_2_scanout[21];
assign wrdata_q2_2_scanin[20]=wrdata_q2_6_scanout[20];
assign wrdata_q2_6_scanin[19]=wrdata_q2_2_scanout[20];
assign wrdata_q2_2_scanin[19]=wrdata_q2_6_scanout[19];
assign wrdata_q2_6_scanin[18]=wrdata_q2_2_scanout[19];
assign wrdata_q2_2_scanin[18]=wrdata_q2_6_scanout[18];
assign wrdata_q2_6_scanin[17]=wrdata_q2_2_scanout[18];
assign wrdata_q2_2_scanin[17]=wrdata_q2_6_scanout[17];
assign wrdata_q2_6_scanin[16]=wrdata_q2_2_scanout[17];
assign wrdata_q2_2_scanin[16]=wrdata_q2_6_scanout[16];
assign wrdata_q2_6_scanin[15]=wrdata_q2_2_scanout[16];
assign wrdata_q2_2_scanin[15]=wrdata_q2_6_scanout[15];
assign wrdata_q2_6_scanin[14]=wrdata_q2_2_scanout[15];
assign wrdata_q2_2_scanin[14]=wrdata_q2_6_scanout[14];
assign wrdata_q2_6_scanin[13]=wrdata_q2_2_scanout[14];
assign wrdata_q2_2_scanin[13]=wrdata_q2_6_scanout[13];
assign wrdata_q2_6_scanin[12]=wrdata_q2_2_scanout[13];
assign wrdata_q2_2_scanin[12]=wrdata_q2_6_scanout[12];
assign wrdata_q2_6_scanin[11]=wrdata_q2_2_scanout[12];
assign wrdata_q2_2_scanin[11]=wrdata_q2_6_scanout[11];
assign wrdata_q2_6_scanin[10]=wrdata_q2_2_scanout[11];
assign wrdata_q2_2_scanin[10]=wrdata_q2_6_scanout[10];
assign wrdata_q2_6_scanin[9]=wrdata_q2_2_scanout[10];
assign wrdata_q2_2_scanin[9]=wrdata_q2_6_scanout[9];
assign wrdata_q2_6_scanin[8]=wrdata_q2_2_scanout[9];
assign wrdata_q2_2_scanin[8]=wrdata_q2_6_scanout[8];
assign wrdata_q2_6_scanin[7]=wrdata_q2_2_scanout[8];
assign wrdata_q2_2_scanin[7]=wrdata_q2_6_scanout[7];
assign wrdata_q2_6_scanin[6]=wrdata_q2_2_scanout[7];
assign wrdata_q2_2_scanin[6]=wrdata_q2_6_scanout[6];
assign wrdata_q2_6_scanin[5]=wrdata_q2_2_scanout[6];
assign wrdata_q2_2_scanin[5]=wrdata_q2_6_scanout[5];
assign wrdata_q2_6_scanin[4]=wrdata_q2_2_scanout[5];
assign wrdata_q2_2_scanin[4]=wrdata_q2_6_scanout[4];
assign wrdata_q2_6_scanin[3]=wrdata_q2_2_scanout[4];
assign wrdata_q2_2_scanin[3]=wrdata_q2_6_scanout[3];
assign wrdata_q2_6_scanin[2]=wrdata_q2_2_scanout[3];
assign wrdata_q2_2_scanin[2]=wrdata_q2_6_scanout[2];
assign wrdata_q2_6_scanin[1]=wrdata_q2_2_scanout[2];
assign wrdata_q2_2_scanin[1]=wrdata_q2_6_scanout[1];
assign wrdata_q2_6_scanin[0]=wrdata_q2_2_scanout[1];
assign wrdata_q2_2_scanin[0]=wrdata_q2_6_scanout[0];
// ***************************BEGIN SECTION*************************
assign data_bus_2_w2_reg_scanin[32]=wrdata_q2_2_scanout[0];
assign data_bus_2_w3_reg_scanin[32]=data_bus_2_w2_reg_scanout[32];
assign data_bus_2_w6_reg_scanin[32]=data_bus_2_w3_reg_scanout[32];
assign data_bus_2_w7_reg_scanin[32]=data_bus_2_w6_reg_scanout[32];
assign data_bus_2_w0_reg_scanin[32]=data_bus_2_w7_reg_scanout[32];
assign data_bus_2_w1_reg_scanin[32]=data_bus_2_w0_reg_scanout[32];
assign data_bus_2_w4_reg_scanin[32]=data_bus_2_w1_reg_scanout[32];
assign data_bus_2_w5_reg_scanin[32]=data_bus_2_w4_reg_scanout[32];
assign data_bus_2_w2_reg_scanin[31]=data_bus_2_w5_reg_scanout[32];
assign data_bus_2_w3_reg_scanin[31]=data_bus_2_w2_reg_scanout[31];
assign data_bus_2_w6_reg_scanin[31]=data_bus_2_w3_reg_scanout[31];
assign data_bus_2_w7_reg_scanin[31]=data_bus_2_w6_reg_scanout[31];
assign data_bus_2_w0_reg_scanin[31]=data_bus_2_w7_reg_scanout[31];
assign data_bus_2_w1_reg_scanin[31]=data_bus_2_w0_reg_scanout[31];
assign data_bus_2_w4_reg_scanin[31]=data_bus_2_w1_reg_scanout[31];
assign data_bus_2_w5_reg_scanin[31]=data_bus_2_w4_reg_scanout[31];
assign data_bus_2_w2_reg_scanin[30]=data_bus_2_w5_reg_scanout[31];
assign data_bus_2_w3_reg_scanin[30]=data_bus_2_w2_reg_scanout[30];
assign data_bus_2_w6_reg_scanin[30]=data_bus_2_w3_reg_scanout[30];
assign data_bus_2_w7_reg_scanin[30]=data_bus_2_w6_reg_scanout[30];
assign data_bus_2_w0_reg_scanin[30]=data_bus_2_w7_reg_scanout[30];
assign data_bus_2_w1_reg_scanin[30]=data_bus_2_w0_reg_scanout[30];
assign data_bus_2_w4_reg_scanin[30]=data_bus_2_w1_reg_scanout[30];
assign data_bus_2_w5_reg_scanin[30]=data_bus_2_w4_reg_scanout[30];
assign data_bus_2_w2_reg_scanin[29]=data_bus_2_w5_reg_scanout[30];
assign data_bus_2_w3_reg_scanin[29]=data_bus_2_w2_reg_scanout[29];
assign data_bus_2_w6_reg_scanin[29]=data_bus_2_w3_reg_scanout[29];
assign data_bus_2_w7_reg_scanin[29]=data_bus_2_w6_reg_scanout[29];
assign data_bus_2_w0_reg_scanin[29]=data_bus_2_w7_reg_scanout[29];
assign data_bus_2_w1_reg_scanin[29]=data_bus_2_w0_reg_scanout[29];
assign data_bus_2_w4_reg_scanin[29]=data_bus_2_w1_reg_scanout[29];
assign data_bus_2_w5_reg_scanin[29]=data_bus_2_w4_reg_scanout[29];
assign data_bus_2_w2_reg_scanin[28]=data_bus_2_w5_reg_scanout[29];
assign data_bus_2_w3_reg_scanin[28]=data_bus_2_w2_reg_scanout[28];
assign data_bus_2_w6_reg_scanin[28]=data_bus_2_w3_reg_scanout[28];
assign data_bus_2_w7_reg_scanin[28]=data_bus_2_w6_reg_scanout[28];
assign data_bus_2_w0_reg_scanin[28]=data_bus_2_w7_reg_scanout[28];
assign data_bus_2_w1_reg_scanin[28]=data_bus_2_w0_reg_scanout[28];
assign data_bus_2_w4_reg_scanin[28]=data_bus_2_w1_reg_scanout[28];
assign data_bus_2_w5_reg_scanin[28]=data_bus_2_w4_reg_scanout[28];
assign data_bus_2_w2_reg_scanin[27]=data_bus_2_w5_reg_scanout[28];
assign data_bus_2_w3_reg_scanin[27]=data_bus_2_w2_reg_scanout[27];
assign data_bus_2_w6_reg_scanin[27]=data_bus_2_w3_reg_scanout[27];
assign data_bus_2_w7_reg_scanin[27]=data_bus_2_w6_reg_scanout[27];
assign data_bus_2_w0_reg_scanin[27]=data_bus_2_w7_reg_scanout[27];
assign data_bus_2_w1_reg_scanin[27]=data_bus_2_w0_reg_scanout[27];
assign data_bus_2_w4_reg_scanin[27]=data_bus_2_w1_reg_scanout[27];
assign data_bus_2_w5_reg_scanin[27]=data_bus_2_w4_reg_scanout[27];
assign data_bus_2_w2_reg_scanin[26]=data_bus_2_w5_reg_scanout[27];
assign data_bus_2_w3_reg_scanin[26]=data_bus_2_w2_reg_scanout[26];
assign data_bus_2_w6_reg_scanin[26]=data_bus_2_w3_reg_scanout[26];
assign data_bus_2_w7_reg_scanin[26]=data_bus_2_w6_reg_scanout[26];
assign data_bus_2_w0_reg_scanin[26]=data_bus_2_w7_reg_scanout[26];
assign data_bus_2_w1_reg_scanin[26]=data_bus_2_w0_reg_scanout[26];
assign data_bus_2_w4_reg_scanin[26]=data_bus_2_w1_reg_scanout[26];
assign data_bus_2_w5_reg_scanin[26]=data_bus_2_w4_reg_scanout[26];
assign data_bus_2_w2_reg_scanin[25]=data_bus_2_w5_reg_scanout[26];
assign data_bus_2_w3_reg_scanin[25]=data_bus_2_w2_reg_scanout[25];
assign data_bus_2_w6_reg_scanin[25]=data_bus_2_w3_reg_scanout[25];
assign data_bus_2_w7_reg_scanin[25]=data_bus_2_w6_reg_scanout[25];
assign data_bus_2_w0_reg_scanin[25]=data_bus_2_w7_reg_scanout[25];
assign data_bus_2_w1_reg_scanin[25]=data_bus_2_w0_reg_scanout[25];
assign data_bus_2_w4_reg_scanin[25]=data_bus_2_w1_reg_scanout[25];
assign data_bus_2_w5_reg_scanin[25]=data_bus_2_w4_reg_scanout[25];
assign data_bus_2_w2_reg_scanin[24]=data_bus_2_w5_reg_scanout[25];
assign data_bus_2_w3_reg_scanin[24]=data_bus_2_w2_reg_scanout[24];
assign data_bus_2_w6_reg_scanin[24]=data_bus_2_w3_reg_scanout[24];
assign data_bus_2_w7_reg_scanin[24]=data_bus_2_w6_reg_scanout[24];
assign data_bus_2_w0_reg_scanin[24]=data_bus_2_w7_reg_scanout[24];
assign data_bus_2_w1_reg_scanin[24]=data_bus_2_w0_reg_scanout[24];
assign data_bus_2_w4_reg_scanin[24]=data_bus_2_w1_reg_scanout[24];
assign data_bus_2_w5_reg_scanin[24]=data_bus_2_w4_reg_scanout[24];
assign data_bus_2_w2_reg_scanin[23]=data_bus_2_w5_reg_scanout[24];
assign data_bus_2_w3_reg_scanin[23]=data_bus_2_w2_reg_scanout[23];
assign data_bus_2_w6_reg_scanin[23]=data_bus_2_w3_reg_scanout[23];
assign data_bus_2_w7_reg_scanin[23]=data_bus_2_w6_reg_scanout[23];
assign data_bus_2_w0_reg_scanin[23]=data_bus_2_w7_reg_scanout[23];
assign data_bus_2_w1_reg_scanin[23]=data_bus_2_w0_reg_scanout[23];
assign data_bus_2_w4_reg_scanin[23]=data_bus_2_w1_reg_scanout[23];
assign data_bus_2_w5_reg_scanin[23]=data_bus_2_w4_reg_scanout[23];
assign data_bus_2_w2_reg_scanin[22]=data_bus_2_w5_reg_scanout[23];
assign data_bus_2_w3_reg_scanin[22]=data_bus_2_w2_reg_scanout[22];
assign data_bus_2_w6_reg_scanin[22]=data_bus_2_w3_reg_scanout[22];
assign data_bus_2_w7_reg_scanin[22]=data_bus_2_w6_reg_scanout[22];
assign data_bus_2_w0_reg_scanin[22]=data_bus_2_w7_reg_scanout[22];
assign data_bus_2_w1_reg_scanin[22]=data_bus_2_w0_reg_scanout[22];
assign data_bus_2_w4_reg_scanin[22]=data_bus_2_w1_reg_scanout[22];
assign data_bus_2_w5_reg_scanin[22]=data_bus_2_w4_reg_scanout[22];
assign data_bus_2_w2_reg_scanin[21]=data_bus_2_w5_reg_scanout[22];
assign data_bus_2_w3_reg_scanin[21]=data_bus_2_w2_reg_scanout[21];
assign data_bus_2_w6_reg_scanin[21]=data_bus_2_w3_reg_scanout[21];
assign data_bus_2_w7_reg_scanin[21]=data_bus_2_w6_reg_scanout[21];
assign data_bus_2_w0_reg_scanin[21]=data_bus_2_w7_reg_scanout[21];
assign data_bus_2_w1_reg_scanin[21]=data_bus_2_w0_reg_scanout[21];
assign data_bus_2_w4_reg_scanin[21]=data_bus_2_w1_reg_scanout[21];
assign data_bus_2_w5_reg_scanin[21]=data_bus_2_w4_reg_scanout[21];
assign data_bus_2_w2_reg_scanin[20]=data_bus_2_w5_reg_scanout[21];
assign data_bus_2_w3_reg_scanin[20]=data_bus_2_w2_reg_scanout[20];
assign data_bus_2_w6_reg_scanin[20]=data_bus_2_w3_reg_scanout[20];
assign data_bus_2_w7_reg_scanin[20]=data_bus_2_w6_reg_scanout[20];
assign data_bus_2_w0_reg_scanin[20]=data_bus_2_w7_reg_scanout[20];
assign data_bus_2_w1_reg_scanin[20]=data_bus_2_w0_reg_scanout[20];
assign data_bus_2_w4_reg_scanin[20]=data_bus_2_w1_reg_scanout[20];
assign data_bus_2_w5_reg_scanin[20]=data_bus_2_w4_reg_scanout[20];
assign data_bus_2_w2_reg_scanin[19]=data_bus_2_w5_reg_scanout[20];
assign data_bus_2_w3_reg_scanin[19]=data_bus_2_w2_reg_scanout[19];
assign data_bus_2_w6_reg_scanin[19]=data_bus_2_w3_reg_scanout[19];
assign data_bus_2_w7_reg_scanin[19]=data_bus_2_w6_reg_scanout[19];
assign data_bus_2_w0_reg_scanin[19]=data_bus_2_w7_reg_scanout[19];
assign data_bus_2_w1_reg_scanin[19]=data_bus_2_w0_reg_scanout[19];
assign data_bus_2_w4_reg_scanin[19]=data_bus_2_w1_reg_scanout[19];
assign data_bus_2_w5_reg_scanin[19]=data_bus_2_w4_reg_scanout[19];
assign data_bus_2_w2_reg_scanin[18]=data_bus_2_w5_reg_scanout[19];
assign data_bus_2_w3_reg_scanin[18]=data_bus_2_w2_reg_scanout[18];
assign data_bus_2_w6_reg_scanin[18]=data_bus_2_w3_reg_scanout[18];
assign data_bus_2_w7_reg_scanin[18]=data_bus_2_w6_reg_scanout[18];
assign data_bus_2_w0_reg_scanin[18]=data_bus_2_w7_reg_scanout[18];
assign data_bus_2_w1_reg_scanin[18]=data_bus_2_w0_reg_scanout[18];
assign data_bus_2_w4_reg_scanin[18]=data_bus_2_w1_reg_scanout[18];
assign data_bus_2_w5_reg_scanin[18]=data_bus_2_w4_reg_scanout[18];
assign data_bus_2_w2_reg_scanin[17]=data_bus_2_w5_reg_scanout[18];
assign data_bus_2_w3_reg_scanin[17]=data_bus_2_w2_reg_scanout[17];
assign data_bus_2_w6_reg_scanin[17]=data_bus_2_w3_reg_scanout[17];
assign data_bus_2_w7_reg_scanin[17]=data_bus_2_w6_reg_scanout[17];
assign data_bus_2_w0_reg_scanin[17]=data_bus_2_w7_reg_scanout[17];
assign data_bus_2_w1_reg_scanin[17]=data_bus_2_w0_reg_scanout[17];
assign data_bus_2_w4_reg_scanin[17]=data_bus_2_w1_reg_scanout[17];
assign data_bus_2_w5_reg_scanin[17]=data_bus_2_w4_reg_scanout[17];
assign data_bus_2_w0_reg_scanin[16]=data_bus_2_w5_reg_scanout[17];
assign data_bus_2_w1_reg_scanin[16]=data_bus_2_w0_reg_scanout[16];
assign data_bus_2_w4_reg_scanin[16]=data_bus_2_w1_reg_scanout[16];
assign data_bus_2_w5_reg_scanin[16]=data_bus_2_w4_reg_scanout[16];
assign data_bus_2_w2_reg_scanin[16]=data_bus_2_w5_reg_scanout[16];
assign data_bus_2_w3_reg_scanin[16]=data_bus_2_w2_reg_scanout[16];
assign data_bus_2_w6_reg_scanin[16]=data_bus_2_w3_reg_scanout[16];
assign data_bus_2_w7_reg_scanin[16]=data_bus_2_w6_reg_scanout[16];
assign data_bus_2_w0_reg_scanin[15]=data_bus_2_w7_reg_scanout[16];
assign data_bus_2_w1_reg_scanin[15]=data_bus_2_w0_reg_scanout[15];
assign data_bus_2_w4_reg_scanin[15]=data_bus_2_w1_reg_scanout[15];
assign data_bus_2_w5_reg_scanin[15]=data_bus_2_w4_reg_scanout[15];
assign data_bus_2_w2_reg_scanin[15]=data_bus_2_w5_reg_scanout[15];
assign data_bus_2_w3_reg_scanin[15]=data_bus_2_w2_reg_scanout[15];
assign data_bus_2_w6_reg_scanin[15]=data_bus_2_w3_reg_scanout[15];
assign data_bus_2_w7_reg_scanin[15]=data_bus_2_w6_reg_scanout[15];
assign data_bus_2_w0_reg_scanin[14]=data_bus_2_w7_reg_scanout[15];
assign data_bus_2_w1_reg_scanin[14]=data_bus_2_w0_reg_scanout[14];
assign data_bus_2_w4_reg_scanin[14]=data_bus_2_w1_reg_scanout[14];
assign data_bus_2_w5_reg_scanin[14]=data_bus_2_w4_reg_scanout[14];
assign data_bus_2_w2_reg_scanin[14]=data_bus_2_w5_reg_scanout[14];
assign data_bus_2_w3_reg_scanin[14]=data_bus_2_w2_reg_scanout[14];
assign data_bus_2_w6_reg_scanin[14]=data_bus_2_w3_reg_scanout[14];
assign data_bus_2_w7_reg_scanin[14]=data_bus_2_w6_reg_scanout[14];
assign data_bus_2_w0_reg_scanin[13]=data_bus_2_w7_reg_scanout[14];
assign data_bus_2_w1_reg_scanin[13]=data_bus_2_w0_reg_scanout[13];
assign data_bus_2_w4_reg_scanin[13]=data_bus_2_w1_reg_scanout[13];
assign data_bus_2_w5_reg_scanin[13]=data_bus_2_w4_reg_scanout[13];
assign data_bus_2_w2_reg_scanin[13]=data_bus_2_w5_reg_scanout[13];
assign data_bus_2_w3_reg_scanin[13]=data_bus_2_w2_reg_scanout[13];
assign data_bus_2_w6_reg_scanin[13]=data_bus_2_w3_reg_scanout[13];
assign data_bus_2_w7_reg_scanin[13]=data_bus_2_w6_reg_scanout[13];
assign data_bus_2_w0_reg_scanin[12]=data_bus_2_w7_reg_scanout[13];
assign data_bus_2_w1_reg_scanin[12]=data_bus_2_w0_reg_scanout[12];
assign data_bus_2_w4_reg_scanin[12]=data_bus_2_w1_reg_scanout[12];
assign data_bus_2_w5_reg_scanin[12]=data_bus_2_w4_reg_scanout[12];
assign data_bus_2_w2_reg_scanin[12]=data_bus_2_w5_reg_scanout[12];
assign data_bus_2_w3_reg_scanin[12]=data_bus_2_w2_reg_scanout[12];
assign data_bus_2_w6_reg_scanin[12]=data_bus_2_w3_reg_scanout[12];
assign data_bus_2_w7_reg_scanin[12]=data_bus_2_w6_reg_scanout[12];
assign data_bus_2_w0_reg_scanin[11]=data_bus_2_w7_reg_scanout[12];
assign data_bus_2_w1_reg_scanin[11]=data_bus_2_w0_reg_scanout[11];
assign data_bus_2_w4_reg_scanin[11]=data_bus_2_w1_reg_scanout[11];
assign data_bus_2_w5_reg_scanin[11]=data_bus_2_w4_reg_scanout[11];
assign data_bus_2_w2_reg_scanin[11]=data_bus_2_w5_reg_scanout[11];
assign data_bus_2_w3_reg_scanin[11]=data_bus_2_w2_reg_scanout[11];
assign data_bus_2_w6_reg_scanin[11]=data_bus_2_w3_reg_scanout[11];
assign data_bus_2_w7_reg_scanin[11]=data_bus_2_w6_reg_scanout[11];
assign data_bus_2_w0_reg_scanin[10]=data_bus_2_w7_reg_scanout[11];
assign data_bus_2_w1_reg_scanin[10]=data_bus_2_w0_reg_scanout[10];
assign data_bus_2_w4_reg_scanin[10]=data_bus_2_w1_reg_scanout[10];
assign data_bus_2_w5_reg_scanin[10]=data_bus_2_w4_reg_scanout[10];
assign data_bus_2_w2_reg_scanin[10]=data_bus_2_w5_reg_scanout[10];
assign data_bus_2_w3_reg_scanin[10]=data_bus_2_w2_reg_scanout[10];
assign data_bus_2_w6_reg_scanin[10]=data_bus_2_w3_reg_scanout[10];
assign data_bus_2_w7_reg_scanin[10]=data_bus_2_w6_reg_scanout[10];
assign data_bus_2_w0_reg_scanin[9]=data_bus_2_w7_reg_scanout[10];
assign data_bus_2_w1_reg_scanin[9]=data_bus_2_w0_reg_scanout[9];
assign data_bus_2_w4_reg_scanin[9]=data_bus_2_w1_reg_scanout[9];
assign data_bus_2_w5_reg_scanin[9]=data_bus_2_w4_reg_scanout[9];
assign data_bus_2_w2_reg_scanin[9]=data_bus_2_w5_reg_scanout[9];
assign data_bus_2_w3_reg_scanin[9]=data_bus_2_w2_reg_scanout[9];
assign data_bus_2_w6_reg_scanin[9]=data_bus_2_w3_reg_scanout[9];
assign data_bus_2_w7_reg_scanin[9]=data_bus_2_w6_reg_scanout[9];
assign data_bus_2_w0_reg_scanin[8]=data_bus_2_w7_reg_scanout[9];
assign data_bus_2_w1_reg_scanin[8]=data_bus_2_w0_reg_scanout[8];
assign data_bus_2_w4_reg_scanin[8]=data_bus_2_w1_reg_scanout[8];
assign data_bus_2_w5_reg_scanin[8]=data_bus_2_w4_reg_scanout[8];
assign data_bus_2_w2_reg_scanin[8]=data_bus_2_w5_reg_scanout[8];
assign data_bus_2_w3_reg_scanin[8]=data_bus_2_w2_reg_scanout[8];
assign data_bus_2_w6_reg_scanin[8]=data_bus_2_w3_reg_scanout[8];
assign data_bus_2_w7_reg_scanin[8]=data_bus_2_w6_reg_scanout[8];
assign data_bus_2_w0_reg_scanin[7]=data_bus_2_w7_reg_scanout[8];
assign data_bus_2_w1_reg_scanin[7]=data_bus_2_w0_reg_scanout[7];
assign data_bus_2_w4_reg_scanin[7]=data_bus_2_w1_reg_scanout[7];
assign data_bus_2_w5_reg_scanin[7]=data_bus_2_w4_reg_scanout[7];
assign data_bus_2_w2_reg_scanin[7]=data_bus_2_w5_reg_scanout[7];
assign data_bus_2_w3_reg_scanin[7]=data_bus_2_w2_reg_scanout[7];
assign data_bus_2_w6_reg_scanin[7]=data_bus_2_w3_reg_scanout[7];
assign data_bus_2_w7_reg_scanin[7]=data_bus_2_w6_reg_scanout[7];
assign data_bus_2_w0_reg_scanin[6]=data_bus_2_w7_reg_scanout[7];
assign data_bus_2_w1_reg_scanin[6]=data_bus_2_w0_reg_scanout[6];
assign data_bus_2_w4_reg_scanin[6]=data_bus_2_w1_reg_scanout[6];
assign data_bus_2_w5_reg_scanin[6]=data_bus_2_w4_reg_scanout[6];
assign data_bus_2_w2_reg_scanin[6]=data_bus_2_w5_reg_scanout[6];
assign data_bus_2_w3_reg_scanin[6]=data_bus_2_w2_reg_scanout[6];
assign data_bus_2_w6_reg_scanin[6]=data_bus_2_w3_reg_scanout[6];
assign data_bus_2_w7_reg_scanin[6]=data_bus_2_w6_reg_scanout[6];
assign data_bus_2_w0_reg_scanin[5]=data_bus_2_w7_reg_scanout[6];
assign data_bus_2_w1_reg_scanin[5]=data_bus_2_w0_reg_scanout[5];
assign data_bus_2_w4_reg_scanin[5]=data_bus_2_w1_reg_scanout[5];
assign data_bus_2_w5_reg_scanin[5]=data_bus_2_w4_reg_scanout[5];
assign data_bus_2_w2_reg_scanin[5]=data_bus_2_w5_reg_scanout[5];
assign data_bus_2_w3_reg_scanin[5]=data_bus_2_w2_reg_scanout[5];
assign data_bus_2_w6_reg_scanin[5]=data_bus_2_w3_reg_scanout[5];
assign data_bus_2_w7_reg_scanin[5]=data_bus_2_w6_reg_scanout[5];
assign data_bus_2_w0_reg_scanin[4]=data_bus_2_w7_reg_scanout[5];
assign data_bus_2_w1_reg_scanin[4]=data_bus_2_w0_reg_scanout[4];
assign data_bus_2_w4_reg_scanin[4]=data_bus_2_w1_reg_scanout[4];
assign data_bus_2_w5_reg_scanin[4]=data_bus_2_w4_reg_scanout[4];
assign data_bus_2_w2_reg_scanin[4]=data_bus_2_w5_reg_scanout[4];
assign data_bus_2_w3_reg_scanin[4]=data_bus_2_w2_reg_scanout[4];
assign data_bus_2_w6_reg_scanin[4]=data_bus_2_w3_reg_scanout[4];
assign data_bus_2_w7_reg_scanin[4]=data_bus_2_w6_reg_scanout[4];
assign data_bus_2_w0_reg_scanin[3]=data_bus_2_w7_reg_scanout[4];
assign data_bus_2_w1_reg_scanin[3]=data_bus_2_w0_reg_scanout[3];
assign data_bus_2_w4_reg_scanin[3]=data_bus_2_w1_reg_scanout[3];
assign data_bus_2_w5_reg_scanin[3]=data_bus_2_w4_reg_scanout[3];
assign data_bus_2_w2_reg_scanin[3]=data_bus_2_w5_reg_scanout[3];
assign data_bus_2_w3_reg_scanin[3]=data_bus_2_w2_reg_scanout[3];
assign data_bus_2_w6_reg_scanin[3]=data_bus_2_w3_reg_scanout[3];
assign data_bus_2_w7_reg_scanin[3]=data_bus_2_w6_reg_scanout[3];
assign data_bus_2_w0_reg_scanin[2]=data_bus_2_w7_reg_scanout[3];
assign data_bus_2_w1_reg_scanin[2]=data_bus_2_w0_reg_scanout[2];
assign data_bus_2_w4_reg_scanin[2]=data_bus_2_w1_reg_scanout[2];
assign data_bus_2_w5_reg_scanin[2]=data_bus_2_w4_reg_scanout[2];
assign data_bus_2_w2_reg_scanin[2]=data_bus_2_w5_reg_scanout[2];
assign data_bus_2_w3_reg_scanin[2]=data_bus_2_w2_reg_scanout[2];
assign data_bus_2_w6_reg_scanin[2]=data_bus_2_w3_reg_scanout[2];
assign data_bus_2_w7_reg_scanin[2]=data_bus_2_w6_reg_scanout[2];
assign data_bus_2_w0_reg_scanin[1]=data_bus_2_w7_reg_scanout[2];
assign data_bus_2_w1_reg_scanin[1]=data_bus_2_w0_reg_scanout[1];
assign data_bus_2_w4_reg_scanin[1]=data_bus_2_w1_reg_scanout[1];
assign data_bus_2_w5_reg_scanin[1]=data_bus_2_w4_reg_scanout[1];
assign data_bus_2_w2_reg_scanin[1]=data_bus_2_w5_reg_scanout[1];
assign data_bus_2_w3_reg_scanin[1]=data_bus_2_w2_reg_scanout[1];
assign data_bus_2_w6_reg_scanin[1]=data_bus_2_w3_reg_scanout[1];
assign data_bus_2_w7_reg_scanin[1]=data_bus_2_w6_reg_scanout[1];
assign data_bus_2_w0_reg_scanin[0]=data_bus_2_w7_reg_scanout[1];
assign data_bus_2_w1_reg_scanin[0]=data_bus_2_w0_reg_scanout[0];
assign data_bus_2_w4_reg_scanin[0]=data_bus_2_w1_reg_scanout[0];
assign data_bus_2_w5_reg_scanin[0]=data_bus_2_w4_reg_scanout[0];
assign data_bus_2_w2_reg_scanin[0]=data_bus_2_w5_reg_scanout[0];
assign data_bus_2_w3_reg_scanin[0]=data_bus_2_w2_reg_scanout[0];
assign data_bus_2_w6_reg_scanin[0]=data_bus_2_w3_reg_scanout[0];
assign data_bus_2_w7_reg_scanin[0]=data_bus_2_w6_reg_scanout[0];
assign scan_out =data_bus_2_w7_reg_scanout[0];
// ***************************END SECTION***************************
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_l1clkhdr_ctl_macro (
module n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_9 (
module n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_3 (
module n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_8 (
module n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_1 (
module n2_icd_sp_16p5kb_cust_inv_macro__stack_50c__width_4 (
// macro for cl_mc1_tisram_msff_{16,8}x flops
module n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_1 (
//place::generic_place($width,$stack,$left);
// macro for cl_mc1_tisram_msff_{16,8}x flops
module n2_icd_sp_16p5kb_cust_tisram_msff_macro__width_9 (
//place::generic_place($width,$stack,$left);
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_msffi_ctl_macro__fs_1__width_4 (
module n2_icd_sp_16p5kb_cust_inv_macro__width_4 (
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_msffi_ctl_macro__width_1 (
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_1 (
assign fdin[0:0] = din[0:0];
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_msff_ctl_macro__width_1 (
assign fdin[0:0] = din[0: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_icd_sp_16p5kb_cust_mux_macro__mux_aope__ports_2__stack_66c__width_66 (
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_33 (
assign fdin[32:0] = din[32:0];
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_5 (
assign fdin[4:0] = din[4:0];
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_2 (
assign fdin[1:0] = din[1:0];
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_4 (
assign fdin[3:0] = din[3:0];
// and macro for ports = 2,3,4
module n2_icd_sp_16p5kb_cust_and_macro__ports_2__width_1 (
// any PARAMS parms go into naming of macro
module n2_icd_sp_16p5kb_cust_msff_ctl_macro__fs_1__width_8 (
assign fdin[7:0] = din[7:0];
module n2_icd_sp_16p5kb_cust_inv_macro__width_1 (
// 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_icd_sp_16p5kb_cust_mux_macro__mux_aonpe__ports_2__stack_50c__width_8 (
cl_dp1_muxbuff2_8x c0_0 (
// or macro for ports = 2,3
module n2_icd_sp_16p5kb_cust_or_macro__ports_3__stack_50c__width_1 (
// or macro for ports = 2,3
module n2_icd_sp_16p5kb_cust_or_macro__ports_2__stack_50c__width_1 (
// and macro for ports = 2,3,4
module n2_icd_sp_16p5kb_cust_and_macro__ports_2__stack_50c__width_1 (
module n2_icd_sp_16p5kb_cust_buff_macro__stack_50c__width_1 (
// nand macro for ports = 2,3,4
module n2_icd_sp_16p5kb_cust_nand_macro__ports_3__stack_50c__width_8 (
// nand macro for ports = 2,3,4
module n2_icd_sp_16p5kb_cust_nand_macro__ports_4__stack_50c__width_1 (
module n2_icd_sp_16p5kb_cust_inv_macro (
// and macro for ports = 2,3,4
module n2_icd_sp_16p5kb_cust_and_macro (
// 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_icd_sp_16p5kb_cust_mux_macro__mux_aodec__ports_8__width_8 (
// 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_icd_sp_16p5kb_cust_mux_macro__mux_aope__ports_2__width_16 (
module n2_icd_quad_array (
wire [4:0] reg_d_lft_top_in;
wire [1:0] reg_en_lft_top_in;
wire [4:0] reg_d_rgt_top_in;
wire [1:0] reg_en_rgt_top_in;
wire [4:0] reg_d_lft_bot_in;
wire [1:0] reg_en_lft_bot_in;
wire [4:0] reg_d_rgt_bot_in;
wire [1:0] reg_en_rgt_bot_in;
input [1:0] wr_word_en_ac_l;
input [7:0] wr_waysel0_ac_l;
input [7:0] wr_waysel1_ac_l;
input [1:0] rd_worden_ac_l;
output [32:0] dout_wy0_bc;
output [32:0] dout_wy1_bc;
output [32:0] dout_wy2_bc;
output [32:0] dout_wy3_bc;
output [32:0] dout_wy4_bc;
output [32:0] dout_wy5_bc;
output [32:0] dout_wy6_bc;
output [32:0] dout_wy7_bc;
output [4:0] reg_d_lft_top ;
output [1:0] reg_en_lft_top ;
output [4:0] reg_d_rgt_top ;
output [1:0] reg_en_rgt_top ;
output [4:0] reg_d_lft_bot ;
output [1:0] reg_en_lft_bot ;
output [4:0] reg_d_rgt_bot ;
output [1:0] reg_en_rgt_bot ;
reg [4:0] reg_d_lft_top ;
reg [1:0] reg_en_lft_top ;
reg [4:0] reg_d_rgt_top ;
reg [1:0] reg_en_rgt_top ;
reg [4:0] reg_d_lft_bot ;
reg [1:0] reg_en_lft_bot ;
reg [4:0] reg_d_rgt_bot ;
reg [1:0] reg_en_rgt_bot ;
//////////////////////////////////////////
//////////////////////////////////////////
n2_icd_bank w3_to_w0_bank(.adr_ac_h(adr_ac_h[10:5]),
.adr_ac_l(adr_ac_l[10:5]),
.wr_word_en_ac_l(wr_word_en_ac_l[1:0]),
.wr_waysel0_ac_l(wr_waysel0_ac_l[3:0]),
.wr_waysel1_ac_l(wr_waysel1_ac_l[3:0]),
.dout_wy0_bc(dout_wy0_bc[32:0]),
.dout_wy1_bc(dout_wy1_bc[32:0]),
.dout_wy2_bc(dout_wy2_bc[32:0]),
.dout_wy3_bc(dout_wy3_bc[32:0]),
.reg_d_lft(reg_d_lft_top[4:0]),
.reg_en_lft(reg_en_lft_top[1:0]),
.reg_d_rgt(reg_d_rgt_top[4:0]),
.reg_en_rgt(reg_en_rgt_top[1:0]),
.rd_worden_ac_l(rd_worden_ac_l[1:0]),
//////////////////////////////////////////
//////////////////////////////////////////
n2_icd_bank w7_to_w4_bank(.adr_ac_h(adr_ac_h[10:5]),
.adr_ac_l(adr_ac_l[10:5]),
.wr_word_en_ac_l(wr_word_en_ac_l[1:0]),
.wr_waysel0_ac_l(wr_waysel0_ac_l[7:4]),
.wr_waysel1_ac_l(wr_waysel1_ac_l[7:4]),
.dout_wy0_bc(dout_wy4_bc[32:0]),
.dout_wy1_bc(dout_wy5_bc[32:0]),
.dout_wy2_bc(dout_wy6_bc[32:0]),
.dout_wy3_bc(dout_wy7_bc[32:0]),
.reg_d_lft(reg_d_lft_bot[4:0]),
.reg_en_lft(reg_en_lft_bot[1:0]),
.reg_d_rgt(reg_d_rgt_bot[4:0]),
.reg_en_rgt(reg_en_rgt_bot[1:0]),
.rd_worden_ac_l(rd_worden_ac_l[1:0]),
assign red_write[3:0] = ({4{red_wen_ff}} & rid_sel[3:0]) ;
assign reg_d_lft_top_in[4:0] = (red_arst_ff) ? 5'b00000 :
(red_write[2]) ? red_d_ff[4:0] : reg_d_lft_top[4:0] ;
assign reg_en_lft_top_in[1:0] = (red_arst_ff) ? 2'b00 :
(red_write[2]) ? red_en_ff[1:0] : reg_en_lft_top[1:0];
assign reg_d_rgt_top_in[4:0] = (red_arst_ff) ? 5'b00000 :
(red_write[3]) ? red_d_ff[4:0] : reg_d_rgt_top[4:0] ;
assign reg_en_rgt_top_in[1:0] = (red_arst_ff) ? 2'b00 :
(red_write[3]) ? red_en_ff[1:0] : reg_en_rgt_top[1:0];
assign reg_d_lft_bot_in[4:0] = (red_arst_ff) ? 5'b00000 :
(red_write[0]) ? red_d_ff[4:0] : reg_d_lft_bot[4:0] ;
assign reg_en_lft_bot_in[1:0] = (red_arst_ff) ? 2'b00 :
(red_write[0]) ? red_en_ff[1:0] : reg_en_lft_bot[1:0];
assign reg_d_rgt_bot_in[4:0] = (red_arst_ff) ? 5'b00000 :
(red_write[1]) ? red_d_ff[4:0] : reg_d_rgt_bot[4:0] ;
assign reg_en_rgt_bot_in[1:0] = (red_arst_ff) ? 2'b00 :
(red_write[1]) ? red_en_ff[1:0] : reg_en_rgt_bot[1:0];
//always @(posedge l1clk) begin
always @(l1clk_fuse or red_arst_ff or red_wen_ff) begin
// this is a b-latch so need to update when red_wen_ff or red_arst_ff changes
// red_wen_ff or red_arst_ff can change in b-phase b/c of wr_inhibit signal
reg_d_lft_top[4:0] <= reg_d_lft_top_in[4:0] ;
reg_en_lft_top[1:0] <= reg_en_lft_top_in[1:0] ;
reg_d_rgt_top[4:0] <= reg_d_rgt_top_in[4:0] ;
reg_en_rgt_top[1:0] <= reg_en_rgt_top_in[1:0] ;
reg_d_lft_bot[4:0] <= reg_d_lft_bot_in[4:0] ;
reg_en_lft_bot[1:0] <= reg_en_lft_bot_in[1:0] ;
reg_d_rgt_bot[4:0] <= reg_d_rgt_bot_in[4:0] ;
reg_en_rgt_bot[1:0] <= reg_en_rgt_bot_in[1:0] ;
wire [16:0] dout_wy0_bc_rev;
wire [16:0] dout_wy1_bc_rev;
wire [16:0] dout_wy2_bc_rev;
wire [16:0] dout_wy3_bc_rev;
input [1:0] wr_word_en_ac_l ;
input [3:0] wr_waysel0_ac_l ;
input [3:0] wr_waysel1_ac_l ;
input [1:0] rd_worden_ac_l ;
output [32:0] dout_wy0_bc ;
output [32:0] dout_wy1_bc ;
output [32:0] dout_wy2_bc ;
output [32:0] dout_wy3_bc ;
assign din0_a_rev[16:0] = {din0_a[0],din0_a[1],din0_a[2],din0_a[3],din0_a[4],din0_a[5],din0_a[6],din0_a[7],din0_a[8],
din0_a[9],din0_a[10],din0_a[11],din0_a[12],din0_a[13],din0_a[14],din0_a[15],din0_a[16]};
assign din1_a_rev[16:0] = {din1_a[0],din1_a[1],din1_a[2],din1_a[3],din1_a[4],din1_a[5],din1_a[6],din1_a[7],din1_a[8],
din1_a[9],din1_a[10],din1_a[11],din1_a[12],din1_a[13],din1_a[14],din1_a[15],din1_a[16]};
n2_icd_lft_sb_array left_sb_array (
.adr_ac_h (adr_ac_h[5:0]),
.adr_ac_l (adr_ac_l[5:0]),
.quaden_f_l (quaden_f_l),
.wr_word_en_ac_l (wr_word_en_ac_l[1:0]) ,
.wr_waysel0_ac_l (wr_waysel0_ac_l[3:0]),
.wr_waysel1_ac_l (wr_waysel1_ac_l[3:0]),
.din0_a (din0_a_rev[16:0]),
.din1_a (din1_a_rev[16:0]),
.rd_worden_ac_l (rd_worden_ac_l[1:0]),
.reg_d_lft (reg_d_lft[4:0]),
.reg_en_lft (reg_en_lft[1:0]),
.dout_wy0_bc (dout_wy0_bc_rev[16:0]),
.dout_wy1_bc (dout_wy1_bc_rev[16:0]),
.dout_wy2_bc (dout_wy2_bc_rev[16:0]),
.dout_wy3_bc (dout_wy3_bc_rev[16:0]),
assign dout_wy0_bc[16:0] = {dout_wy0_bc_rev[0],dout_wy0_bc_rev[1],dout_wy0_bc_rev[2],dout_wy0_bc_rev[3],
dout_wy0_bc_rev[4], dout_wy0_bc_rev[5],dout_wy0_bc_rev[6],dout_wy0_bc_rev[7],
dout_wy0_bc_rev[8],dout_wy0_bc_rev[9], dout_wy0_bc_rev[10],dout_wy0_bc_rev[11],
dout_wy0_bc_rev[12],dout_wy0_bc_rev[13],dout_wy0_bc_rev[14], dout_wy0_bc_rev[15],dout_wy0_bc_rev[16]};
assign dout_wy1_bc[16:0] = {dout_wy1_bc_rev[0],dout_wy1_bc_rev[1],dout_wy1_bc_rev[2],dout_wy1_bc_rev[3],
dout_wy1_bc_rev[4],dout_wy1_bc_rev[5],dout_wy1_bc_rev[6],dout_wy1_bc_rev[7],
dout_wy1_bc_rev[8],dout_wy1_bc_rev[9],dout_wy1_bc_rev[10],dout_wy1_bc_rev[11],
dout_wy1_bc_rev[12],dout_wy1_bc_rev[13],dout_wy1_bc_rev[14],dout_wy1_bc_rev[15],dout_wy1_bc_rev[16]};
assign dout_wy2_bc[16:0] = {dout_wy2_bc_rev[0],dout_wy2_bc_rev[1],dout_wy2_bc_rev[2],dout_wy2_bc_rev[3],
dout_wy2_bc_rev[4],dout_wy2_bc_rev[5],dout_wy2_bc_rev[6],dout_wy2_bc_rev[7],
dout_wy2_bc_rev[8],dout_wy2_bc_rev[9],dout_wy2_bc_rev[10],dout_wy2_bc_rev[11],
dout_wy2_bc_rev[12],dout_wy2_bc_rev[13],dout_wy2_bc_rev[14],dout_wy2_bc_rev[15],dout_wy2_bc_rev[16]};
assign dout_wy3_bc[16:0] = {dout_wy3_bc_rev[0],dout_wy3_bc_rev[1],dout_wy3_bc_rev[2],dout_wy3_bc_rev[3],
dout_wy3_bc_rev[4],dout_wy3_bc_rev[5],dout_wy3_bc_rev[6],dout_wy3_bc_rev[7],
dout_wy3_bc_rev[8],dout_wy3_bc_rev[9],dout_wy3_bc_rev[10],dout_wy3_bc_rev[11],
dout_wy3_bc_rev[12],dout_wy3_bc_rev[13],dout_wy3_bc_rev[14],dout_wy3_bc_rev[15],dout_wy3_bc_rev[16]};
n2_icd_rgt_sb_array right_sb_array (
.adr_ac_h (adr_ac_h[5:0]),
.adr_ac_l (adr_ac_l[5:0]),
.quaden_f_l (quaden_f_l),
.wr_word_en_ac_l (wr_word_en_ac_l[1:0]) ,
.wr_waysel0_ac_l (wr_waysel0_ac_l[3:0]),
.wr_waysel1_ac_l (wr_waysel1_ac_l[3:0]),
.rd_worden_ac_l (rd_worden_ac_l[1:0]),
.reg_d_rgt (reg_d_rgt[4:0]),
.reg_en_rgt (reg_en_rgt[1:0]),
.dout_wy0_bc (dout_wy0_bc[32:17]),
.dout_wy1_bc (dout_wy1_bc[32:17]),
.dout_wy2_bc (dout_wy2_bc[32:17]),
.dout_wy3_bc (dout_wy3_bc[32:17]),
module n2_icd_lft_sb_array (
wire [135:0] word_write_en;
wire [135:0] way_write_en;
wire rd_worden_ac_l_unused;
wire [5:0] adr_ac_l_unused;
input [1:0] wr_word_en_ac_l ;
input [3:0] wr_waysel0_ac_l ;
input [3:0] wr_waysel1_ac_l ;
input [1:0] rd_worden_ac_l ;
output [16:0] dout_wy0_bc ;
output [16:0] dout_wy1_bc ;
output [16:0] dout_wy2_bc ;
output [16:0] dout_wy3_bc ;
for (i=0; i<64; i=i+1) begin
local_dout = {144{1'b0}};
// assign word_0_read = ~rd_worden_ac_l[0] & ~rd_en_a_l ;
// assign red_value[4:0] = reg_d_lft[4:0] & {5{reg_en_lft[1] & reg_en_lft[0]}};
assign temp[143:0] = mem[adr_ac_h[5:0]] ;
////////////////////////////////
// Redunduncy Read shifter
////////////////////////////////
always @(reg_en_lft[1:0] or reg_d_lft or temp ) begin
for (n = 0; n < 136; n = n + 1 ) begin
if (reg_en_lft[1] & reg_en_lft[0] & ( reg_d_lft >= 5'b00000) & (reg_d_lft <= 5'b10000)) begin
if ( n_reg1[9:0] >= ((reg_d_lft + 5'h1) * 5'b01000))
old_data[n] = temp[n+8] ;
old_data[n] = temp[n+8] ;
assign word_write_en[135:0] = {68{~wr_word_en_ac_l[0], ~wr_word_en_ac_l[1]}} ;
assign way_write_en[135:0] = {17{~wr_waysel0_ac_l[3] , ~wr_waysel1_ac_l[3] ,~wr_waysel0_ac_l[2] , ~wr_waysel1_ac_l[2],
~wr_waysel0_ac_l[1] , ~wr_waysel1_ac_l[1] ,~wr_waysel0_ac_l[0] , ~wr_waysel1_ac_l[0] }} ;
assign data_in[135:0] = {din0_a[16],din1_a[16] , din0_a[16],din1_a[16] , din0_a[16],din1_a[16] , din0_a[16],din1_a[16], // 135:128
din0_a[15],din1_a[15] , din0_a[15],din1_a[15] , din0_a[15],din1_a[15] , din0_a[15],din1_a[15], // 127:120
din0_a[14],din1_a[14] , din0_a[14],din1_a[14] , din0_a[14],din1_a[14] , din0_a[14],din1_a[14], // 119:112
din0_a[13],din1_a[13] , din0_a[13],din1_a[13] , din0_a[13],din1_a[13] , din0_a[13],din1_a[13], // 111:104
din0_a[12],din1_a[12] , din0_a[12],din1_a[12] , din0_a[12],din1_a[12] , din0_a[12],din1_a[12], // 103:096
din0_a[11],din1_a[11] , din0_a[11],din1_a[11] , din0_a[11],din1_a[11] , din0_a[11],din1_a[11], // 095:088
din0_a[10],din1_a[10] , din0_a[10],din1_a[10] , din0_a[10],din1_a[10] , din0_a[10],din1_a[10], // 087:080
din0_a[9],din1_a[9] , din0_a[9],din1_a[9] , din0_a[9],din1_a[9] , din0_a[9],din1_a[9], // 079:072
din0_a[8],din1_a[8] , din0_a[8],din1_a[8] , din0_a[8],din1_a[8] , din0_a[8],din1_a[8], // 071:064
din0_a[7],din1_a[7] , din0_a[7],din1_a[7] , din0_a[7],din1_a[7] , din0_a[7],din1_a[7], // 063:056
din0_a[6],din1_a[6] , din0_a[6],din1_a[6] , din0_a[6],din1_a[6] , din0_a[6],din1_a[6], // 055:048
din0_a[5],din1_a[5] , din0_a[5],din1_a[5] , din0_a[5],din1_a[5] , din0_a[5],din1_a[5], // 047:040
din0_a[4],din1_a[4] , din0_a[4],din1_a[4] , din0_a[4],din1_a[4] , din0_a[4],din1_a[4], // 039:032
din0_a[3],din1_a[3] , din0_a[3],din1_a[3] , din0_a[3],din1_a[3] , din0_a[3],din1_a[3], // 031:024
din0_a[2],din1_a[2] , din0_a[2],din1_a[2] , din0_a[2],din1_a[2] , din0_a[2],din1_a[2], // 023:016
din0_a[1],din1_a[1] , din0_a[1],din1_a[1] , din0_a[1],din1_a[1] , din0_a[1],din1_a[1], // 015:008
din0_a[0],din1_a[0] , din0_a[0],din1_a[0] , din0_a[0],din1_a[0] , din0_a[0],din1_a[0]};// 007:000
assign din[135:0] = ( way_write_en[135:0] & word_write_en[135:0] & data_in[135:0] ) |
( ~(way_write_en[135:0] & word_write_en[135:0]) & old_data[135:0] ) ;
////////////////////////////////
// Redunduncy write shifter
////////////////////////////////
always @(reg_en_lft[1:0] or reg_d_lft or din ) begin
for (n = 0; n < 144; n = n + 1 ) begin
if (reg_en_lft[1] & reg_en_lft[0] & ( reg_d_lft >= 5'b00000) & (reg_d_lft <= 5'b10000)) begin
if ( n_reg2[9:0] < ((reg_d_lft + 5'h1) * 5'b01000 ))
if ( n_reg2[9:0] < ((reg_d_lft + 5'h2) * 5'b01000 ))
always @ (l1clk or wr_data[143:0] or wr_word_en_ac_l[1:0] or adr_ac_h[5:0] or quaden_f_l or vnw_ary) begin
if (l1clk & ~quaden_f_l & (~wr_word_en_ac_l[1] | ~wr_word_en_ac_l[0]) & vnw_ary) begin
mem[adr_ac_h] <= wr_data[143:0] ;
always @(l1clk or rd_en_a_l or reg_en_lft[1:0] or reg_d_lft or adr_ac_h[5:0] or rd_worden_ac_l[0] or vnw_ary) begin
if (l1clk | rd_en_a_l) begin
dout_wy0_bc[16:0] <= 17'h0;
dout_wy1_bc[16:0] <= 17'h0;
dout_wy2_bc[16:0] <= 17'h0;
dout_wy3_bc[16:0] <= 17'h0;
word_0_read <= ~rd_worden_ac_l[0];
local_dout[143:0] <= rd_en_a_l ? 144'h0 : mem[adr_ac_h[5:0]];
if (~l1clk & ~rd_en_a_l & vnw_ary) begin
////////////////////////////////
// Redunduncy Read shifter
////////////////////////////////
for (n = 0; n < 136; n = n + 1 ) begin
if (reg_en_lft[1] & reg_en_lft[0] & ( reg_d_lft >= 5'b00000) & (reg_d_lft <= 5'b10000)) begin
if ( n_reg3[9:0] >= ((reg_d_lft + 5'h1) * 5'b01000))
dout[n] = local_dout[n+8] ;
dout[n] = local_dout[n] ;
dout[n] = local_dout[n+8] ;
/////////////end redundacy shifter ///////////////////
way3_word0[16:0] = {dout[135], dout[127], dout[119] , dout[111],
dout[103], dout[95], dout[87] , dout[79],
dout[71], dout[63], dout[55] , dout[47],
dout[39], dout[31], dout[23] , dout[15],
way3_word1[16:0] = {dout[134], dout[126], dout[118] , dout[110],
dout[102], dout[94], dout[86] , dout[78],
dout[70], dout[62], dout[54] , dout[46],
dout[38], dout[30], dout[22] , dout[14],
way2_word0[16:0] = {dout[133], dout[125], dout[117] , dout[109],
dout[101], dout[93], dout[85] , dout[77],
dout[69], dout[61], dout[53] , dout[45],
dout[37], dout[29], dout[21] , dout[13],
way2_word1[16:0] = {dout[132], dout[124], dout[116] , dout[108],
dout[100], dout[92], dout[84] , dout[76],
dout[68], dout[60], dout[52] , dout[44],
dout[36], dout[28], dout[20] , dout[12],
way1_word0[16:0] = {dout[131], dout[123], dout[115] , dout[107],
dout[99], dout[91], dout[83] , dout[75],
dout[67], dout[59], dout[51] , dout[43],
dout[35], dout[27], dout[19] , dout[11],
way1_word1[16:0] = {dout[130], dout[122], dout[114] , dout[106],
dout[98], dout[90], dout[82] , dout[74],
dout[66], dout[58], dout[50] , dout[42],
dout[34], dout[26], dout[18] , dout[10],
way0_word0[16:0] = {dout[129], dout[121], dout[113] , dout[105],
dout[97], dout[89], dout[81] , dout[73],
dout[65], dout[57], dout[49] , dout[41],
dout[33], dout[25], dout[17] , dout[9],
way0_word1[16:0] = {dout[128], dout[120], dout[112] , dout[104],
dout[96], dout[88], dout[80] , dout[72],
dout[64], dout[56], dout[48] , dout[40],
dout[32], dout[24], dout[16] , dout[8],
dout_wy0_bc[16:0] <= word_0_read ? way0_word0[16:0] : way0_word1[16:0] ;
dout_wy1_bc[16:0] <= word_0_read ? way1_word0[16:0] : way1_word1[16:0] ;
dout_wy2_bc[16:0] <= word_0_read ? way2_word0[16:0] : way2_word1[16:0] ;
dout_wy3_bc[16:0] <= word_0_read ? way3_word0[16:0] : way3_word1[16:0] ;
// always @ (posedge l1clk) begin
// // local_dout[143:0] = 144'h0;
// dout_wy0_bc[16:0] <= 17'h0;
// dout_wy1_bc[16:0] <= 17'h0;
// dout_wy2_bc[16:0] <= 17'h0;
// dout_wy3_bc[16:0] <= 17'h0;
////////////////////////////////
// Redunduncy Read shifter
////////////////////////////////
// always @(red_value or local_dout ) begin
// for (n = 0; n < 144; n = n + 1 ) begin
// if ( n >= (red_value * 8 ))
// dout[n] = local_dout[n+8] ;
// dout[n] = local_dout[n] ;
assign rd_worden_ac_l_unused = rd_worden_ac_l[1] ;
assign adr_ac_l_unused[5:0] = adr_ac_l[5:0] ;
module n2_icd_lft_sb_array(adr_ac_h, adr_ac_l, rd_en_a_l, quaden_f_l,
wr_word_en_ac_l, wr_waysel0_ac_l, wr_waysel1_ac_l, din0_a, din1_a,
rd_worden_ac_l, l1clk, reg_d_lft, reg_en_lft, vnw_ary, dout_wy0_bc,
dout_wy1_bc, dout_wy2_bc, dout_wy3_bc);
input [1:0] wr_word_en_ac_l;
input [3:0] wr_waysel0_ac_l;
input [3:0] wr_waysel1_ac_l;
input [1:0] rd_worden_ac_l;
output [16:0] dout_wy0_bc;
output [16:0] dout_wy1_bc;
output [16:0] dout_wy2_bc;
output [16:0] dout_wy3_bc;
wire [135:0] word_write_en;
wire [135:0] way_write_en;
wire rd_worden_ac_l_unused;
wire [5:0] adr_ac_l_unused;
assign temp[143:0] = mem[adr_ac_h[5:0]];
assign word_write_en[135:0] = {68 {(~wr_word_en_ac_l[0]),
assign way_write_en[135:0] = {17 {(~wr_waysel0_ac_l[3]),
(~wr_waysel1_ac_l[3]), (~wr_waysel0_ac_l[2]),
(~wr_waysel1_ac_l[2]), (~wr_waysel0_ac_l[1]),
(~wr_waysel1_ac_l[1]), (~wr_waysel0_ac_l[0]),
assign data_in[135:0] = {din0_a[16], din1_a[16], din0_a[16], din1_a[16],
din0_a[16], din1_a[16], din0_a[16], din1_a[16], din0_a[15],
din1_a[15], din0_a[15], din1_a[15], din0_a[15], din1_a[15],
din0_a[15], din1_a[15], din0_a[14], din1_a[14], din0_a[14],
din1_a[14], din0_a[14], din1_a[14], din0_a[14], din1_a[14],
din0_a[13], din1_a[13], din0_a[13], din1_a[13], din0_a[13],
din1_a[13], din0_a[13], din1_a[13], din0_a[12], din1_a[12],
din0_a[12], din1_a[12], din0_a[12], din1_a[12], din0_a[12],
din1_a[12], din0_a[11], din1_a[11], din0_a[11], din1_a[11],
din0_a[11], din1_a[11], din0_a[11], din1_a[11], din0_a[10],
din1_a[10], din0_a[10], din1_a[10], din0_a[10], din1_a[10],
din0_a[10], din1_a[10], din0_a[9], din1_a[9], din0_a[9],
din1_a[9], din0_a[9], din1_a[9], din0_a[9], din1_a[9],
din0_a[8], din1_a[8], din0_a[8], din1_a[8], din0_a[8],
din1_a[8], din0_a[8], din1_a[8], din0_a[7], din1_a[7],
din0_a[7], din1_a[7], din0_a[7], din1_a[7], din0_a[7],
din1_a[7], din0_a[6], din1_a[6], din0_a[6], din1_a[6],
din0_a[6], din1_a[6], din0_a[6], din1_a[6], din0_a[5],
din1_a[5], din0_a[5], din1_a[5], din0_a[5], din1_a[5],
din0_a[5], din1_a[5], din0_a[4], din1_a[4], din0_a[4],
din1_a[4], din0_a[4], din1_a[4], din0_a[4], din1_a[4],
din0_a[3], din1_a[3], din0_a[3], din1_a[3], din0_a[3],
din1_a[3], din0_a[3], din1_a[3], din0_a[2], din1_a[2],
din0_a[2], din1_a[2], din0_a[2], din1_a[2], din0_a[2],
din1_a[2], din0_a[1], din1_a[1], din0_a[1], din1_a[1],
din0_a[1], din1_a[1], din0_a[1], din1_a[1], din0_a[0],
din1_a[0], din0_a[0], din1_a[0], din0_a[0], din1_a[0],
assign din[135:0] = (((way_write_en[135:0] & word_write_en[135:0]) &
data_in[135:0]) | ((~(way_write_en[135:0] & word_write_en[135:0]
assign rd_worden_ac_l_unused = rd_worden_ac_l[1];
assign adr_ac_l_unused[5:0] = adr_ac_l[5:0];
for (i = 0; (i < 64); i = (i + 1)) begin
local_dout = {144 {1'b0}};
always @(reg_en_lft[1:0] or reg_d_lft or temp) begin
for (n = 0; (n < 136); n = (n + 1)) begin
if (((reg_en_lft[1] & reg_en_lft[0]) & (reg_d_lft >= 5'b0)) & (
reg_d_lft <= 5'b10000)) begin
if (n_reg1[9:0] >= ((reg_d_lft + 5'b1) * 5'b01000)) begin
old_data[n] = temp[(n + 8)];
old_data[n] = temp[(n + 8)];
always @(reg_en_lft[1:0] or reg_d_lft or din) begin
for (n = 0; (n < 144); n = (n + 1)) begin
if (((reg_en_lft[1] & reg_en_lft[0]) & (reg_d_lft >= 5'b0)) & (
reg_d_lft <= 5'b10000)) begin
if (n_reg2[9:0] < ((reg_d_lft + 5'b1) * 5'b01000)) begin
if (n_reg2[9:0] < ((reg_d_lft + 5'b00010) * 5'b01000)) begin
wr_data[n] = din[(n - 8)];
wr_data[n] = din[(n - 8)];
always @(l1clk or wr_data[143:0] or wr_word_en_ac_l[1:0] or
adr_ac_h[5:0] or quaden_f_l or vnw_ary) begin
if (((l1clk & (~quaden_f_l)) & ((~wr_word_en_ac_l[1]) | (~
wr_word_en_ac_l[0]))) & vnw_ary) begin
mem[adr_ac_h] <= wr_data[143:0];
always @(l1clk or adr_ac_h[5:0] or rd_worden_ac_l[0]) begin
word_0_read <= (~rd_worden_ac_l[0]);
local_dout[143:0] <= mem[adr_ac_h[5:0]];
always @(negedge l1clk) begin
for (n = 0; (n < 136); n = (n + 1)) begin
if (((reg_en_lft[1] & reg_en_lft[0]) & (reg_d_lft >= 5'b0)) & (
reg_d_lft <= 5'b10000)) begin
if (n_reg3[9:0] >= ((reg_d_lft + 5'b1) * 5'b01000)) begin
dout[n] = local_dout[(n + 8)];
dout[n] = local_dout[(n + 8)];
way3_word0[16:0] = {dout[135], dout[127], dout[119], dout[111],
dout[103], dout[95], dout[87], dout[79], dout[71], dout[63],
dout[55], dout[47], dout[39], dout[31], dout[23], dout[15],
way3_word1[16:0] = {dout[134], dout[126], dout[118], dout[110],
dout[102], dout[94], dout[86], dout[78], dout[70], dout[62],
dout[54], dout[46], dout[38], dout[30], dout[22], dout[14],
way2_word0[16:0] = {dout[133], dout[125], dout[117], dout[109],
dout[101], dout[93], dout[85], dout[77], dout[69], dout[61],
dout[53], dout[45], dout[37], dout[29], dout[21], dout[13],
way2_word1[16:0] = {dout[132], dout[124], dout[116], dout[108],
dout[100], dout[92], dout[84], dout[76], dout[68], dout[60],
dout[52], dout[44], dout[36], dout[28], dout[20], dout[12],
way1_word0[16:0] = {dout[131], dout[123], dout[115], dout[107],
dout[99], dout[91], dout[83], dout[75], dout[67], dout[59],
dout[51], dout[43], dout[35], dout[27], dout[19], dout[11],
way1_word1[16:0] = {dout[130], dout[122], dout[114], dout[106],
dout[98], dout[90], dout[82], dout[74], dout[66], dout[58],
dout[50], dout[42], dout[34], dout[26], dout[18], dout[10],
way0_word0[16:0] = {dout[129], dout[121], dout[113], dout[105],
dout[97], dout[89], dout[81], dout[73], dout[65], dout[57],
dout[49], dout[41], dout[33], dout[25], dout[17], dout[9],
way0_word1[16:0] = {dout[128], dout[120], dout[112], dout[104],
dout[96], dout[88], dout[80], dout[72], dout[64], dout[56],
dout[48], dout[40], dout[32], dout[24], dout[16], dout[8],
dout_wy0_bc[16:0] <= (word_0_read ? way0_word0[16:0] :
dout_wy1_bc[16:0] <= (word_0_read ? way1_word0[16:0] :
dout_wy2_bc[16:0] <= (word_0_read ? way2_word0[16:0] :
dout_wy3_bc[16:0] <= (word_0_read ? way3_word0[16:0] :
module n2_icd_rgt_sb_array (
wire [127:0] word_write_en;
wire [127:0] way_write_en;
wire rd_worden_ac_l_unused;
wire [5:0] adr_ac_l_unused;
input [1:0] wr_word_en_ac_l ;
input [3:0] wr_waysel0_ac_l ;
input [3:0] wr_waysel1_ac_l ;
input [1:0] rd_worden_ac_l ;
output [15:0] dout_wy0_bc ;
output [15:0] dout_wy1_bc ;
output [15:0] dout_wy2_bc ;
output [15:0] dout_wy3_bc ;
for (i=0; i<64; i=i+1) begin
local_dout = {136{1'b0}};
// assign word_0_read = ~rd_worden_ac_l[0] & ~rd_en_a_l ;
// assign red_value[4:0] = reg_d_rgt[4:0] & {5{reg_en_rgt[1] & reg_en_rgt[0]}};
assign temp[135:0] = mem[adr_ac_h[5:0]] ;
////////////////////////////////
// Redunduncy Read shifter
////////////////////////////////
always @(reg_en_rgt[1:0] or reg_d_rgt or temp ) begin
for (n = 0; n < 128; n = n + 1 ) begin
if (reg_en_rgt[1] & reg_en_rgt[0] & ( reg_d_rgt >= 5'b00000) & (reg_d_rgt <= 5'b01111)) begin
if ( n_reg1[9:0] >= ((reg_d_rgt + 5'h1) * 5'b01000))
old_data[n] = temp[n+8] ;
old_data[n] = temp[n+8] ;
assign word_write_en[127:0] = {64{~wr_word_en_ac_l[0], ~wr_word_en_ac_l[1]}} ;
assign way_write_en[127:0] = {16{~wr_waysel0_ac_l[0] , ~wr_waysel1_ac_l[0] ,~wr_waysel0_ac_l[1] , ~wr_waysel1_ac_l[1],
~wr_waysel0_ac_l[2] , ~wr_waysel1_ac_l[2] ,~wr_waysel0_ac_l[3] , ~wr_waysel1_ac_l[3] }} ;
assign data_in[127:0] = {din0_a[32],din1_a[32] , din0_a[32],din1_a[32] , din0_a[32],din1_a[32] , din0_a[32],din1_a[32], // 127:120
din0_a[31],din1_a[31] , din0_a[31],din1_a[31] , din0_a[31],din1_a[31] , din0_a[31],din1_a[31], // 119:112
din0_a[30],din1_a[30] , din0_a[30],din1_a[30] , din0_a[30],din1_a[30] , din0_a[30],din1_a[30], // 111:104
din0_a[29],din1_a[29] , din0_a[29],din1_a[29] , din0_a[29],din1_a[29] , din0_a[29],din1_a[29], // 103:096
din0_a[28],din1_a[28] , din0_a[28],din1_a[28] , din0_a[28],din1_a[28] , din0_a[28],din1_a[28], // 095:088
din0_a[27],din1_a[27] , din0_a[27],din1_a[27] , din0_a[27],din1_a[27] , din0_a[27],din1_a[27], // 087:080
din0_a[26],din1_a[26] , din0_a[26],din1_a[26] , din0_a[26],din1_a[26] , din0_a[26],din1_a[26], // 079:072
din0_a[25],din1_a[25] , din0_a[25],din1_a[25] , din0_a[25],din1_a[25] , din0_a[25],din1_a[25], // 071:064
din0_a[24],din1_a[24] , din0_a[24],din1_a[24] , din0_a[24],din1_a[24] , din0_a[24],din1_a[24], // 063:056
din0_a[23],din1_a[23] , din0_a[23],din1_a[23] , din0_a[23],din1_a[23] , din0_a[23],din1_a[23], // 055:048
din0_a[22],din1_a[22] , din0_a[22],din1_a[22] , din0_a[22],din1_a[22] , din0_a[22],din1_a[22], // 047:040
din0_a[21],din1_a[21] , din0_a[21],din1_a[21] , din0_a[21],din1_a[21] , din0_a[21],din1_a[21], // 039:032
din0_a[20],din1_a[20] , din0_a[20],din1_a[20] , din0_a[20],din1_a[20] , din0_a[20],din1_a[20], // 031:024
din0_a[19],din1_a[19] , din0_a[19],din1_a[19] , din0_a[19],din1_a[19] , din0_a[19],din1_a[19], // 023:016
din0_a[18],din1_a[18] , din0_a[18],din1_a[18] , din0_a[18],din1_a[18] , din0_a[18],din1_a[18], // 015:008
din0_a[17],din1_a[17] , din0_a[17],din1_a[17] , din0_a[17],din1_a[17] , din0_a[17],din1_a[17]};// 007:000
assign din[127:0] = ( way_write_en[127:0] & word_write_en[127:0] & data_in[127:0] ) |
( ~(way_write_en[127:0] & word_write_en[127:0]) & old_data[127:0] ) ;
////////////////////////////////
// Redunduncy write shifter
////////////////////////////////
always @(reg_en_rgt[1:0] or reg_d_rgt or din ) begin
for (n = 0; n < 136; n = n + 1 ) begin
if (reg_en_rgt[1] & reg_en_rgt[0] & ( reg_d_rgt >= 5'b00000) & (reg_d_rgt <= 5'b01111)) begin
if ( n_reg2[9:0] < ((reg_d_rgt + 5'h1) * 5'b01000 ))
if ( n_reg2[9:0] < ((reg_d_rgt + 5'h2) * 5'b01000 ))
always @ (l1clk or wr_data[135:0] or wr_word_en_ac_l[1:0] or adr_ac_h[5:0] or quaden_f_l or vnw_ary) begin
if (l1clk & ~quaden_f_l & (~wr_word_en_ac_l[1] | ~wr_word_en_ac_l[0]) & vnw_ary) begin
mem[adr_ac_h] <= wr_data[135:0] ;
always @(l1clk or rd_en_a_l or reg_en_rgt[1:0] or reg_d_rgt or adr_ac_h[5:0] or rd_worden_ac_l[0] or vnw_ary) begin
if (l1clk | rd_en_a_l) begin
dout_wy0_bc[15:0] <= 16'h0;
dout_wy1_bc[15:0] <= 16'h0;
dout_wy2_bc[15:0] <= 16'h0;
dout_wy3_bc[15:0] <= 16'h0;
word_0_read <= ~rd_worden_ac_l[0];
local_dout[135:0] <= rd_en_a_l ? 136'h0 : mem[adr_ac_h[5:0]];
if (~l1clk & ~rd_en_a_l & vnw_ary) begin
////////////////////////////////
// Redunduncy Read shifter
////////////////////////////////
for (n = 0; n < 128; n = n + 1 ) begin
if (reg_en_rgt[1] & reg_en_rgt[0] & ( reg_d_rgt >= 5'b00000) & (reg_d_rgt <= 5'b01111)) begin
if ( n_reg3[9:0] >= ((reg_d_rgt + 5'h1) * 5'b01000))
dout[n] = local_dout[n+8] ;
dout[n] = local_dout[n] ;
dout[n] = local_dout[n+8] ;
way0_word0[15:0] = {dout[127], dout[119] , dout[111], dout[103],
dout[95], dout[87] , dout[79], dout[71],
dout[63], dout[55] , dout[47], dout[39],
dout[31], dout[23] , dout[15], dout[7] } ;
way0_word1[15:0] = {dout[126], dout[118] , dout[110], dout[102],
dout[94], dout[86] , dout[78], dout[70],
dout[62], dout[54] , dout[46], dout[38],
dout[30], dout[22] , dout[14], dout[6] } ;
way1_word0[15:0] = {dout[125], dout[117] , dout[109], dout[101],
dout[93], dout[85] , dout[77], dout[69],
dout[61], dout[53] , dout[45], dout[37],
dout[29], dout[21] , dout[13], dout[5] } ;
way1_word1[15:0] = {dout[124], dout[116] , dout[108], dout[100],
dout[92], dout[84] , dout[76], dout[68],
dout[60], dout[52] , dout[44], dout[36],
dout[28], dout[20] , dout[12], dout[4] } ;
way2_word0[15:0] = {dout[123], dout[115] , dout[107], dout[99],
dout[91], dout[83] , dout[75], dout[67],
dout[59], dout[51] , dout[43], dout[35],
dout[27], dout[19] , dout[11], dout[3] } ;
way2_word1[15:0] = {dout[122], dout[114] , dout[106], dout[98],
dout[90], dout[82] , dout[74], dout[66],
dout[58], dout[50] , dout[42], dout[34],
dout[26], dout[18] , dout[10], dout[2] } ;
way3_word0[15:0] = {dout[121], dout[113] , dout[105], dout[97],
dout[89], dout[81] , dout[73], dout[65],
dout[57], dout[49] , dout[41], dout[33],
dout[25], dout[17] , dout[9], dout[1] } ;
way3_word1[15:0] = {dout[120], dout[112] , dout[104], dout[96],
dout[88], dout[80] , dout[72], dout[64],
dout[56], dout[48] , dout[40], dout[32],
dout[24], dout[16] , dout[8], dout[0] } ;
dout_wy0_bc[15:0] <= word_0_read ? way0_word0[15:0] : way0_word1[15:0] ;
dout_wy1_bc[15:0] <= word_0_read ? way1_word0[15:0] : way1_word1[15:0] ;
dout_wy2_bc[15:0] <= word_0_read ? way2_word0[15:0] : way2_word1[15:0] ;
dout_wy3_bc[15:0] <= word_0_read ? way3_word0[15:0] : way3_word1[15:0] ;
// always @ (posedge l1clk) begin
// local_dout[135:0] = 136'h0;
// dout_wy0_bc[15:0] <= 16'b0;
// dout_wy1_bc[15:0] <= 16'b0;
// dout_wy2_bc[15:0] <= 16'b0;
// dout_wy3_bc[15:0] <= 16'b0;
////////////////////////////////
// Redunduncy Read shifter
////////////////////////////////
// always @(red_value or local_dout ) begin
// for (n = 0; n < 136; n = n + 1 ) begin
// if ( n >= (red_value * 8 ))
// dout[n] = local_dout[n+8] ;
// dout[n] = local_dout[n] ;
assign rd_worden_ac_l_unused = rd_worden_ac_l[1] ;
assign adr_ac_l_unused[5:0] = adr_ac_l[5:0] ;
module n2_icd_rgt_sb_array(adr_ac_h, adr_ac_l, rd_en_a_l, quaden_f_l,
wr_word_en_ac_l, wr_waysel0_ac_l, wr_waysel1_ac_l, din0_a, din1_a,
rd_worden_ac_l, l1clk, vnw_ary, reg_d_rgt, reg_en_rgt, dout_wy0_bc,
dout_wy1_bc, dout_wy2_bc, dout_wy3_bc);
input [1:0] wr_word_en_ac_l;
input [3:0] wr_waysel0_ac_l;
input [3:0] wr_waysel1_ac_l;
input [1:0] rd_worden_ac_l;
output [15:0] dout_wy0_bc;
output [15:0] dout_wy1_bc;
output [15:0] dout_wy2_bc;
output [15:0] dout_wy3_bc;
wire [127:0] word_write_en;
wire [127:0] way_write_en;
wire rd_worden_ac_l_unused;
wire [5:0] adr_ac_l_unused;
assign temp[135:0] = mem[adr_ac_h[5:0]];
assign word_write_en[127:0] = {64 {(~wr_word_en_ac_l[0]),
assign way_write_en[127:0] = {16 {(~wr_waysel0_ac_l[0]),
(~wr_waysel1_ac_l[0]), (~wr_waysel0_ac_l[1]),
(~wr_waysel1_ac_l[1]), (~wr_waysel0_ac_l[2]),
(~wr_waysel1_ac_l[2]), (~wr_waysel0_ac_l[3]),
assign data_in[127:0] = {din0_a[32], din1_a[32], din0_a[32], din1_a[32],
din0_a[32], din1_a[32], din0_a[32], din1_a[32], din0_a[31],
din1_a[31], din0_a[31], din1_a[31], din0_a[31], din1_a[31],
din0_a[31], din1_a[31], din0_a[30], din1_a[30], din0_a[30],
din1_a[30], din0_a[30], din1_a[30], din0_a[30], din1_a[30],
din0_a[29], din1_a[29], din0_a[29], din1_a[29], din0_a[29],
din1_a[29], din0_a[29], din1_a[29], din0_a[28], din1_a[28],
din0_a[28], din1_a[28], din0_a[28], din1_a[28], din0_a[28],
din1_a[28], din0_a[27], din1_a[27], din0_a[27], din1_a[27],
din0_a[27], din1_a[27], din0_a[27], din1_a[27], din0_a[26],
din1_a[26], din0_a[26], din1_a[26], din0_a[26], din1_a[26],
din0_a[26], din1_a[26], din0_a[25], din1_a[25], din0_a[25],
din1_a[25], din0_a[25], din1_a[25], din0_a[25], din1_a[25],
din0_a[24], din1_a[24], din0_a[24], din1_a[24], din0_a[24],
din1_a[24], din0_a[24], din1_a[24], din0_a[23], din1_a[23],
din0_a[23], din1_a[23], din0_a[23], din1_a[23], din0_a[23],
din1_a[23], din0_a[22], din1_a[22], din0_a[22], din1_a[22],
din0_a[22], din1_a[22], din0_a[22], din1_a[22], din0_a[21],
din1_a[21], din0_a[21], din1_a[21], din0_a[21], din1_a[21],
din0_a[21], din1_a[21], din0_a[20], din1_a[20], din0_a[20],
din1_a[20], din0_a[20], din1_a[20], din0_a[20], din1_a[20],
din0_a[19], din1_a[19], din0_a[19], din1_a[19], din0_a[19],
din1_a[19], din0_a[19], din1_a[19], din0_a[18], din1_a[18],
din0_a[18], din1_a[18], din0_a[18], din1_a[18], din0_a[18],
din1_a[18], din0_a[17], din1_a[17], din0_a[17], din1_a[17],
din0_a[17], din1_a[17], din0_a[17], din1_a[17]};
assign din[127:0] = (((way_write_en[127:0] & word_write_en[127:0]) &
data_in[127:0]) | ((~(way_write_en[127:0] & word_write_en[127:0]
assign rd_worden_ac_l_unused = rd_worden_ac_l[1];
assign adr_ac_l_unused[5:0] = adr_ac_l[5:0];
for (i = 0; (i < 64); i = (i + 1)) begin
local_dout = {136 {1'b0}};
always @(reg_en_rgt[1:0] or reg_d_rgt or temp) begin
for (n = 0; (n < 128); n = (n + 1)) begin
if (((reg_en_rgt[1] & reg_en_rgt[0]) & (reg_d_rgt >= 5'b0)) & (
reg_d_rgt <= 5'b01111)) begin
if (n_reg1[9:0] >= ((reg_d_rgt + 5'b1) * 5'b01000)) begin
old_data[n] = temp[(n + 8)];
old_data[n] = temp[(n + 8)];
always @(reg_en_rgt[1:0] or reg_d_rgt or din) begin
for (n = 0; (n < 136); n = (n + 1)) begin
if (((reg_en_rgt[1] & reg_en_rgt[0]) & (reg_d_rgt >= 5'b0)) & (
reg_d_rgt <= 5'b01111)) begin
if (n_reg2[9:0] < ((reg_d_rgt + 5'b1) * 5'b01000)) begin
if (n_reg2[9:0] < ((reg_d_rgt + 5'b00010) * 5'b01000)) begin
wr_data[n] = din[(n - 8)];
wr_data[n] = din[(n - 8)];
always @(l1clk or wr_data[135:0] or wr_word_en_ac_l[1:0] or
adr_ac_h[5:0] or quaden_f_l or vnw_ary) begin
if (((l1clk & (~quaden_f_l)) & ((~wr_word_en_ac_l[1]) | (~
wr_word_en_ac_l[0]))) & vnw_ary) begin
mem[adr_ac_h] <= wr_data[135:0];
always @(l1clk or adr_ac_h[5:0] or rd_worden_ac_l[0]) begin
word_0_read <= (~rd_worden_ac_l[0]);
local_dout[135:0] <= mem[adr_ac_h[5:0]];
always @(negedge l1clk) begin
for (n = 0; (n < 128); n = (n + 1)) begin
if (((reg_en_rgt[1] & reg_en_rgt[0]) & (reg_d_rgt >= 5'b0)) & (
reg_d_rgt <= 5'b01111)) begin
if (n_reg3[9:0] >= ((reg_d_rgt + 5'b1) * 5'b01000)) begin
dout[n] = local_dout[(n + 8)];
dout[n] = local_dout[(n + 8)];
way0_word0[15:0] = {dout[127], dout[119], dout[111], dout[103],
dout[95], dout[87], dout[79], dout[71], dout[63], dout[55],
dout[47], dout[39], dout[31], dout[23], dout[15], dout[7]};
way0_word1[15:0] = {dout[126], dout[118], dout[110], dout[102],
dout[94], dout[86], dout[78], dout[70], dout[62], dout[54],
dout[46], dout[38], dout[30], dout[22], dout[14], dout[6]};
way1_word0[15:0] = {dout[125], dout[117], dout[109], dout[101],
dout[93], dout[85], dout[77], dout[69], dout[61], dout[53],
dout[45], dout[37], dout[29], dout[21], dout[13], dout[5]};
way1_word1[15:0] = {dout[124], dout[116], dout[108], dout[100],
dout[92], dout[84], dout[76], dout[68], dout[60], dout[52],
dout[44], dout[36], dout[28], dout[20], dout[12], dout[4]};
way2_word0[15:0] = {dout[123], dout[115], dout[107], dout[99],
dout[91], dout[83], dout[75], dout[67], dout[59], dout[51],
dout[43], dout[35], dout[27], dout[19], dout[11], dout[3]};
way2_word1[15:0] = {dout[122], dout[114], dout[106], dout[98],
dout[90], dout[82], dout[74], dout[66], dout[58], dout[50],
dout[42], dout[34], dout[26], dout[18], dout[10], dout[2]};
way3_word0[15:0] = {dout[121], dout[113], dout[105], dout[97],
dout[89], dout[81], dout[73], dout[65], dout[57], dout[49],
dout[41], dout[33], dout[25], dout[17], dout[9], dout[1]};
way3_word1[15:0] = {dout[120], dout[112], dout[104], dout[96],
dout[88], dout[80], dout[72], dout[64], dout[56], dout[48],
dout[40], dout[32], dout[24], dout[16], dout[8], dout[0]};
dout_wy0_bc[15:0] <= (word_0_read ? way0_word0[15:0] :
dout_wy1_bc[15:0] <= (word_0_read ? way1_word0[15:0] :
dout_wy2_bc[15:0] <= (word_0_read ? way2_word0[15:0] :
dout_wy3_bc[15:0] <= (word_0_read ? way3_word0[15: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_icd_sp_16p5kb_cust_mux_macro__mux_aonpe__ports_8__stack_50c__width_33 (
cl_dp1_muxbuff8_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_icd_sp_16p5kb_cust_mux_macro__mux_aodec__ports_8__width_7 (
// 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_icd_sp_16p5kb_cust_mux_macro__mux_aope__ports_2__width_7 (