Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / efu / rtl / efu_l2t_ctl.v
// ========== Copyright Header Begin ==========================================
//
// OpenSPARC T2 Processor File: efu_l2t_ctl.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
// have any questions.
//
// ========== Copyright Header End ============================================
module efu_l2t_ctl (
read_data_ff_vld,
cmp_mrd_cnt_done,
efu_spc1357_fuse_data,
efu_spc0246_fuse_data,
efu_spc0_fuse_ixfer_en,
efu_spc1_fuse_ixfer_en,
efu_spc2_fuse_ixfer_en,
efu_spc3_fuse_ixfer_en,
efu_spc4_fuse_ixfer_en,
efu_spc5_fuse_ixfer_en,
efu_spc6_fuse_ixfer_en,
efu_spc7_fuse_ixfer_en,
efu_spc0_fuse_dxfer_en,
efu_spc1_fuse_dxfer_en,
efu_spc2_fuse_dxfer_en,
efu_spc3_fuse_dxfer_en,
efu_spc4_fuse_dxfer_en,
efu_spc5_fuse_dxfer_en,
efu_spc6_fuse_dxfer_en,
efu_spc7_fuse_dxfer_en,
spc0_efu_fuse_dxfer_en,
spc1_efu_fuse_dxfer_en,
spc2_efu_fuse_dxfer_en,
spc3_efu_fuse_dxfer_en,
spc4_efu_fuse_dxfer_en,
spc5_efu_fuse_dxfer_en,
spc6_efu_fuse_dxfer_en,
spc7_efu_fuse_dxfer_en,
spc0_efu_fuse_ixfer_en,
spc1_efu_fuse_ixfer_en,
spc2_efu_fuse_ixfer_en,
spc3_efu_fuse_ixfer_en,
spc4_efu_fuse_ixfer_en,
spc5_efu_fuse_ixfer_en,
spc6_efu_fuse_ixfer_en,
spc7_efu_fuse_ixfer_en,
spc0_efu_fuse_ddata,
spc1_efu_fuse_ddata,
spc2_efu_fuse_ddata,
spc3_efu_fuse_ddata,
spc4_efu_fuse_ddata,
spc5_efu_fuse_ddata,
spc6_efu_fuse_ddata,
spc7_efu_fuse_ddata,
spc0_efu_fuse_idata,
spc1_efu_fuse_idata,
spc2_efu_fuse_idata,
spc3_efu_fuse_idata,
spc4_efu_fuse_idata,
spc5_efu_fuse_idata,
spc6_efu_fuse_idata,
spc7_efu_fuse_idata,
efu_l2b0246_fuse_data,
efu_l2b1357_fuse_data,
efu_l2b0_fuse_xfer_en,
efu_l2b1_fuse_xfer_en,
efu_l2b2_fuse_xfer_en,
efu_l2b3_fuse_xfer_en,
efu_l2b4_fuse_xfer_en,
efu_l2b5_fuse_xfer_en,
efu_l2b6_fuse_xfer_en,
efu_l2b7_fuse_xfer_en,
l2b0_efu_fuse_xfer_en,
l2b1_efu_fuse_xfer_en,
l2b2_efu_fuse_xfer_en,
l2b3_efu_fuse_xfer_en,
l2b4_efu_fuse_xfer_en,
l2b5_efu_fuse_xfer_en,
l2b6_efu_fuse_xfer_en,
l2b7_efu_fuse_xfer_en,
l2b0_efu_fuse_data,
l2b1_efu_fuse_data,
l2b2_efu_fuse_data,
l2b3_efu_fuse_data,
l2b4_efu_fuse_data,
l2b5_efu_fuse_data,
l2b6_efu_fuse_data,
l2b7_efu_fuse_data,
efu_l2t0246_fuse_data,
efu_l2t1357_fuse_data,
efu_l2t0_fuse_xfer_en,
efu_l2t1_fuse_xfer_en,
efu_l2t2_fuse_xfer_en,
efu_l2t3_fuse_xfer_en,
efu_l2t4_fuse_xfer_en,
efu_l2t5_fuse_xfer_en,
efu_l2t6_fuse_xfer_en,
efu_l2t7_fuse_xfer_en,
l2t0_efu_fuse_xfer_en,
l2t1_efu_fuse_xfer_en,
l2t2_efu_fuse_xfer_en,
l2t3_efu_fuse_xfer_en,
l2t4_efu_fuse_xfer_en,
l2t5_efu_fuse_xfer_en,
l2t6_efu_fuse_xfer_en,
l2t7_efu_fuse_xfer_en,
l2t0_efu_fuse_data,
l2t1_efu_fuse_data,
l2t2_efu_fuse_data,
l2t3_efu_fuse_data,
l2t4_efu_fuse_data,
l2t5_efu_fuse_data,
l2t6_efu_fuse_data,
l2t7_efu_fuse_data,
read_data_ff,
shift_data_ff_out,
load_l2_read_data,
iol2clk,
l2clk,
cmp_io_sync_en,
tcu_pce_ov,
tcu_aclk,
tcu_bclk,
tcu_scan_en,
scan_in,
scan_out);
wire pce_ov;
wire siclk;
wire soclk;
wire stop;
wire se;
wire l1clk;
wire l1clk_cmp;
wire ff_cmp_io_sync_en_scanin;
wire ff_cmp_io_sync_en_scanout;
wire cmp_io_sync_en_r1;
wire [7:0] l2b_xfer_en;
wire [7:0] l2t_xfer_en;
wire [7:0] spc_dxfer_en;
wire [7:0] spc_ixfer_en;
wire [7:0] spc_idata;
wire [7:0] spc_ddata;
wire [7:0] l2t_data;
wire [7:0] l2b_data;
wire ff_l2b_xfer_en_scanin;
wire ff_l2b_xfer_en_scanout;
wire [7:0] l2b_xfer_en_q;
wire ff_l2t_xfer_en_scanin;
wire ff_l2t_xfer_en_scanout;
wire [7:0] l2t_xfer_en_q;
wire ff_spc_dxfer_en_scanin;
wire ff_spc_dxfer_en_scanout;
wire [7:0] spc_dxfer_en_q;
wire ff_spc_ixfer_en_scanin;
wire ff_spc_ixfer_en_scanout;
wire [7:0] spc_ixfer_en_q;
wire ff_spc_idata_scanin;
wire ff_spc_idata_scanout;
wire [7:0] spc_idata_q;
wire ff_spc_ddata_scanin;
wire ff_spc_ddata_scanout;
wire [7:0] spc_ddata_q;
wire ff_l2t_data_scanin;
wire ff_l2t_data_scanout;
wire [7:0] l2t_data_q;
wire ff_l2b_data_scanin;
wire ff_l2b_data_scanout;
wire [7:0] l2b_data_q;
wire read_data_in;
wire efu_xfer_out;
wire read_data_in_r1;
wire read_data_in_r2;
wire ff_xfer_out_r2_scanin;
wire ff_xfer_out_r2_scanout;
wire ff_xfer_out_r1_scanin;
wire ff_xfer_out_r1_scanout;
wire ff_read_data_in_scanin;
wire ff_read_data_in_scanout;
wire read_data_in_reg;
wire [31:0] shift_data_ff_in;
wire cmp_read_data_ff_vld_reg;
wire shift_in_reg;
wire ff_cmp_read_data_ff_vld_scanin;
wire ff_cmp_read_data_ff_vld_scanout;
wire cmp_read_data_ff_vld;
wire ff_read_data_ff_sync_scanin;
wire ff_read_data_ff_sync_scanout;
wire ff_shhift_data_ff_sync_scanin;
wire ff_shhift_data_ff_sync_scanout;
wire mrd_cnt_reg_scanin;
wire mrd_cnt_reg_scanout;
wire computed_parity;
wire good_parity;
wire any_cnt_other_than_zero;
wire local_fuse_ashift_nxt;
wire local_fuse_ashift_d1;
wire local_fuse_dshift_nxt;
wire local_fuse_ashift_ff_scanin;
wire local_fuse_ashift_ff_scanout;
wire local_fuse_data_ff;
wire [5:0] block_id;
wire spc0_ifuse_dec;
wire spc0_dfuse_dec;
wire spc1_ifuse_dec;
wire spc1_dfuse_dec;
wire spc2_ifuse_dec;
wire spc2_dfuse_dec;
wire spc3_ifuse_dec;
wire spc3_dfuse_dec;
wire spc4_ifuse_dec;
wire spc4_dfuse_dec;
wire spc5_ifuse_dec;
wire spc5_dfuse_dec;
wire spc6_ifuse_dec;
wire spc6_dfuse_dec;
wire spc7_ifuse_dec;
wire spc7_dfuse_dec;
wire l2t0_fuse_dec;
wire l2t1_fuse_dec;
wire l2t2_fuse_dec;
wire l2t3_fuse_dec;
wire l2t4_fuse_dec;
wire l2t5_fuse_dec;
wire l2t6_fuse_dec;
wire l2t7_fuse_dec;
wire l2d0_fuse_dec;
wire l2d1_fuse_dec;
wire l2d2_fuse_dec;
wire l2d3_fuse_dec;
wire l2d4_fuse_dec;
wire l2d5_fuse_dec;
wire l2d6_fuse_dec;
wire l2d7_fuse_dec;
wire data_vld_datareg_scanin;
wire data_vld_datareg_scanout;
wire shift_in;
wire spc0_ifuse_ashift_reg_scanin;
wire spc0_ifuse_ashift_reg_scanout;
wire efu_spc0_ifuse_ashift;
wire spc0_ifuse_dshift_reg_scanin;
wire spc0_ifuse_dshift_reg_scanout;
wire efu_spc0_ifuse_dshift;
wire spc0_dfuse_ashift_reg_scanin;
wire spc0_dfuse_ashift_reg_scanout;
wire efu_spc0_dfuse_ashift;
wire spc0_dfuse_dshift_reg_scanin;
wire spc0_dfuse_dshift_reg_scanout;
wire efu_spc0_dfuse_dshift;
wire spc1_ifuse_ashift_reg_scanin;
wire spc1_ifuse_ashift_reg_scanout;
wire efu_spc1_ifuse_ashift;
wire spc1_ifuse_dshift_reg_scanin;
wire spc1_ifuse_dshift_reg_scanout;
wire efu_spc1_ifuse_dshift;
wire spc1_dfuse_ashift_reg_scanin;
wire spc1_dfuse_ashift_reg_scanout;
wire efu_spc1_dfuse_ashift;
wire spc1_dfuse_dshift_reg_scanin;
wire spc1_dfuse_dshift_reg_scanout;
wire efu_spc1_dfuse_dshift;
wire spc2_ifuse_ashift_reg_scanin;
wire spc2_ifuse_ashift_reg_scanout;
wire efu_spc2_ifuse_ashift;
wire spc2_ifuse_dshift_reg_scanin;
wire spc2_ifuse_dshift_reg_scanout;
wire efu_spc2_ifuse_dshift;
wire spc2_dfuse_ashift_reg_scanin;
wire spc2_dfuse_ashift_reg_scanout;
wire efu_spc2_dfuse_ashift;
wire spc2_dfuse_dshift_reg_scanin;
wire spc2_dfuse_dshift_reg_scanout;
wire efu_spc2_dfuse_dshift;
wire spc3_ifuse_ashift_reg_scanin;
wire spc3_ifuse_ashift_reg_scanout;
wire efu_spc3_ifuse_ashift;
wire spc3_ifuse_dshift_reg_scanin;
wire spc3_ifuse_dshift_reg_scanout;
wire efu_spc3_ifuse_dshift;
wire spc3_dfuse_ashift_reg_scanin;
wire spc3_dfuse_ashift_reg_scanout;
wire efu_spc3_dfuse_ashift;
wire spc3_dfuse_dshift_reg_scanin;
wire spc3_dfuse_dshift_reg_scanout;
wire efu_spc3_dfuse_dshift;
wire spc4_ifuse_ashift_reg_scanin;
wire spc4_ifuse_ashift_reg_scanout;
wire efu_spc4_ifuse_ashift;
wire spc4_ifuse_dshift_reg_scanin;
wire spc4_ifuse_dshift_reg_scanout;
wire efu_spc4_ifuse_dshift;
wire spc4_dfuse_ashift_reg_scanin;
wire spc4_dfuse_ashift_reg_scanout;
wire efu_spc4_dfuse_ashift;
wire spc4_dfuse_dshift_reg_scanin;
wire spc4_dfuse_dshift_reg_scanout;
wire efu_spc4_dfuse_dshift;
wire spc5_ifuse_ashift_reg_scanin;
wire spc5_ifuse_ashift_reg_scanout;
wire efu_spc5_ifuse_ashift;
wire spc5_ifuse_dshift_reg_scanin;
wire spc5_ifuse_dshift_reg_scanout;
wire efu_spc5_ifuse_dshift;
wire spc5_dfuse_ashift_reg_scanin;
wire spc5_dfuse_ashift_reg_scanout;
wire efu_spc5_dfuse_ashift;
wire spc5_dfuse_dshift_reg_scanin;
wire spc5_dfuse_dshift_reg_scanout;
wire efu_spc5_dfuse_dshift;
wire spc6_ifuse_ashift_reg_scanin;
wire spc6_ifuse_ashift_reg_scanout;
wire efu_spc6_ifuse_ashift;
wire spc6_ifuse_dshift_reg_scanin;
wire spc6_ifuse_dshift_reg_scanout;
wire efu_spc6_ifuse_dshift;
wire spc6_dfuse_ashift_reg_scanin;
wire spc6_dfuse_ashift_reg_scanout;
wire efu_spc6_dfuse_ashift;
wire spc6_dfuse_dshift_reg_scanin;
wire spc6_dfuse_dshift_reg_scanout;
wire efu_spc6_dfuse_dshift;
wire spc7_ifuse_ashift_reg_scanin;
wire spc7_ifuse_ashift_reg_scanout;
wire efu_spc7_ifuse_ashift;
wire spc7_ifuse_dshift_reg_scanin;
wire spc7_ifuse_dshift_reg_scanout;
wire efu_spc7_ifuse_dshift;
wire spc7_dfuse_ashift_reg_scanin;
wire spc7_dfuse_ashift_reg_scanout;
wire efu_spc7_dfuse_ashift;
wire spc7_dfuse_dshift_reg_scanin;
wire spc7_dfuse_dshift_reg_scanout;
wire efu_spc7_dfuse_dshift;
wire l2t0_fuse_ashift_reg_scanin;
wire l2t0_fuse_ashift_reg_scanout;
wire efu_l2t0_fuse_ashift;
wire l2t0_fuse_dshift_reg_scanin;
wire l2t0_fuse_dshift_reg_scanout;
wire efu_l2t0_fuse_dshift;
wire l2t1_fuse_ashift_reg_scanin;
wire l2t1_fuse_ashift_reg_scanout;
wire efu_l2t1_fuse_ashift;
wire l2t1_fuse_dshift_reg_scanin;
wire l2t1_fuse_dshift_reg_scanout;
wire efu_l2t1_fuse_dshift;
wire l2t2_fuse_ashift_reg_scanin;
wire l2t2_fuse_ashift_reg_scanout;
wire efu_l2t2_fuse_ashift;
wire l2t2_fuse_dshift_reg_scanin;
wire l2t2_fuse_dshift_reg_scanout;
wire efu_l2t2_fuse_dshift;
wire l2t3_fuse_ashift_reg_scanin;
wire l2t3_fuse_ashift_reg_scanout;
wire efu_l2t3_fuse_ashift;
wire l2t3_fuse_dshift_reg_scanin;
wire l2t3_fuse_dshift_reg_scanout;
wire efu_l2t3_fuse_dshift;
wire l2t4_fuse_ashift_reg_scanin;
wire l2t4_fuse_ashift_reg_scanout;
wire efu_l2t4_fuse_ashift;
wire l2t4_fuse_dshift_reg_scanin;
wire l2t4_fuse_dshift_reg_scanout;
wire efu_l2t4_fuse_dshift;
wire l2t5_fuse_ashift_reg_scanin;
wire l2t5_fuse_ashift_reg_scanout;
wire efu_l2t5_fuse_ashift;
wire l2t5_fuse_dshift_reg_scanin;
wire l2t5_fuse_dshift_reg_scanout;
wire efu_l2t5_fuse_dshift;
wire l2t6_fuse_ashift_reg_scanin;
wire l2t6_fuse_ashift_reg_scanout;
wire efu_l2t6_fuse_ashift;
wire l2t6_fuse_dshift_reg_scanin;
wire l2t6_fuse_dshift_reg_scanout;
wire efu_l2t6_fuse_dshift;
wire l2t7_fuse_ashift_reg_scanin;
wire l2t7_fuse_ashift_reg_scanout;
wire efu_l2t7_fuse_ashift;
wire l2t7_fuse_dshift_reg_scanin;
wire l2t7_fuse_dshift_reg_scanout;
wire efu_l2t7_fuse_dshift;
wire l2d0_fuse_ashift_reg_scanin;
wire l2d0_fuse_ashift_reg_scanout;
wire efu_l2d0_fuse_ashift;
wire l2d0_fuse_dshift_reg_scanin;
wire l2d0_fuse_dshift_reg_scanout;
wire efu_l2d0_fuse_dshift;
wire l2d1_fuse_ashift_reg_scanin;
wire l2d1_fuse_ashift_reg_scanout;
wire efu_l2d1_fuse_ashift;
wire l2d1_fuse_dshift_reg_scanin;
wire l2d1_fuse_dshift_reg_scanout;
wire efu_l2d1_fuse_dshift;
wire l2d2_fuse_ashift_reg_scanin;
wire l2d2_fuse_ashift_reg_scanout;
wire efu_l2d2_fuse_ashift;
wire l2d2_fuse_dshift_reg_scanin;
wire l2d2_fuse_dshift_reg_scanout;
wire efu_l2d2_fuse_dshift;
wire l2d3_fuse_ashift_reg_scanin;
wire l2d3_fuse_ashift_reg_scanout;
wire efu_l2d3_fuse_ashift;
wire l2d3_fuse_dshift_reg_scanin;
wire l2d3_fuse_dshift_reg_scanout;
wire efu_l2d3_fuse_dshift;
wire l2d4_fuse_ashift_reg_scanin;
wire l2d4_fuse_ashift_reg_scanout;
wire efu_l2d4_fuse_ashift;
wire l2d4_fuse_dshift_reg_scanin;
wire l2d4_fuse_dshift_reg_scanout;
wire efu_l2d4_fuse_dshift;
wire l2d5_fuse_ashift_reg_scanin;
wire l2d5_fuse_ashift_reg_scanout;
wire efu_l2d5_fuse_ashift;
wire l2d5_fuse_dshift_reg_scanin;
wire l2d5_fuse_dshift_reg_scanout;
wire efu_l2d5_fuse_dshift;
wire l2d6_fuse_ashift_reg_scanin;
wire l2d6_fuse_ashift_reg_scanout;
wire efu_l2d6_fuse_ashift;
wire l2d6_fuse_dshift_reg_scanin;
wire l2d6_fuse_dshift_reg_scanout;
wire efu_l2d6_fuse_dshift;
wire l2d7_fuse_ashift_reg_scanin;
wire l2d7_fuse_ashift_reg_scanout;
wire efu_l2d7_fuse_ashift;
wire l2d7_fuse_dshift_reg_scanin;
wire l2d7_fuse_dshift_reg_scanout;
wire efu_l2d7_fuse_dshift;
wire cmp_read_data_ff_vld_0_reg_scanin;
wire cmp_read_data_ff_vld_0_reg_scanout;
wire cmp_read_data_ff_vld_0;
wire cmp_read_data_ff_vld_1_reg_scanin;
wire cmp_read_data_ff_vld_1_reg_scanout;
wire cmp_read_data_ff_vld_1;
wire spares_scanin;
wire spares_scanout;
//input cmp_read_data_ff_vld;
input read_data_ff_vld;
output cmp_mrd_cnt_done;
// Interface with Sparc cores 0 to 7
output efu_spc1357_fuse_data;
output efu_spc0246_fuse_data;
output efu_spc0_fuse_ixfer_en;
output efu_spc1_fuse_ixfer_en;
output efu_spc2_fuse_ixfer_en;
output efu_spc3_fuse_ixfer_en;
output efu_spc4_fuse_ixfer_en;
output efu_spc5_fuse_ixfer_en;
output efu_spc6_fuse_ixfer_en;
output efu_spc7_fuse_ixfer_en;
output efu_spc0_fuse_dxfer_en;
output efu_spc1_fuse_dxfer_en;
output efu_spc2_fuse_dxfer_en;
output efu_spc3_fuse_dxfer_en;
output efu_spc4_fuse_dxfer_en;
output efu_spc5_fuse_dxfer_en;
output efu_spc6_fuse_dxfer_en;
output efu_spc7_fuse_dxfer_en;
input spc0_efu_fuse_dxfer_en;
input spc1_efu_fuse_dxfer_en;
input spc2_efu_fuse_dxfer_en;
input spc3_efu_fuse_dxfer_en;
input spc4_efu_fuse_dxfer_en;
input spc5_efu_fuse_dxfer_en;
input spc6_efu_fuse_dxfer_en;
input spc7_efu_fuse_dxfer_en;
input spc0_efu_fuse_ixfer_en;
input spc1_efu_fuse_ixfer_en;
input spc2_efu_fuse_ixfer_en;
input spc3_efu_fuse_ixfer_en;
input spc4_efu_fuse_ixfer_en;
input spc5_efu_fuse_ixfer_en;
input spc6_efu_fuse_ixfer_en;
input spc7_efu_fuse_ixfer_en;
input spc0_efu_fuse_ddata;
input spc1_efu_fuse_ddata;
input spc2_efu_fuse_ddata;
input spc3_efu_fuse_ddata;
input spc4_efu_fuse_ddata;
input spc5_efu_fuse_ddata;
input spc6_efu_fuse_ddata;
input spc7_efu_fuse_ddata;
input spc0_efu_fuse_idata;
input spc1_efu_fuse_idata;
input spc2_efu_fuse_idata;
input spc3_efu_fuse_idata;
input spc4_efu_fuse_idata;
input spc5_efu_fuse_idata;
input spc6_efu_fuse_idata;
input spc7_efu_fuse_idata;
// Interface with l2b for data array repair
output efu_l2b0246_fuse_data;
output efu_l2b1357_fuse_data;
output efu_l2b0_fuse_xfer_en;
output efu_l2b1_fuse_xfer_en;
output efu_l2b2_fuse_xfer_en;
output efu_l2b3_fuse_xfer_en;
output efu_l2b4_fuse_xfer_en;
output efu_l2b5_fuse_xfer_en;
output efu_l2b6_fuse_xfer_en;
output efu_l2b7_fuse_xfer_en;
input l2b0_efu_fuse_xfer_en;
input l2b1_efu_fuse_xfer_en;
input l2b2_efu_fuse_xfer_en;
input l2b3_efu_fuse_xfer_en;
input l2b4_efu_fuse_xfer_en;
input l2b5_efu_fuse_xfer_en;
input l2b6_efu_fuse_xfer_en;
input l2b7_efu_fuse_xfer_en;
input l2b0_efu_fuse_data;
input l2b1_efu_fuse_data;
input l2b2_efu_fuse_data;
input l2b3_efu_fuse_data;
input l2b4_efu_fuse_data;
input l2b5_efu_fuse_data;
input l2b6_efu_fuse_data;
input l2b7_efu_fuse_data;
output efu_l2t0246_fuse_data;
output efu_l2t1357_fuse_data;
output efu_l2t0_fuse_xfer_en;
output efu_l2t1_fuse_xfer_en;
output efu_l2t2_fuse_xfer_en;
output efu_l2t3_fuse_xfer_en;
output efu_l2t4_fuse_xfer_en;
output efu_l2t5_fuse_xfer_en;
output efu_l2t6_fuse_xfer_en;
output efu_l2t7_fuse_xfer_en;
input l2t0_efu_fuse_xfer_en;
input l2t1_efu_fuse_xfer_en;
input l2t2_efu_fuse_xfer_en;
input l2t3_efu_fuse_xfer_en;
input l2t4_efu_fuse_xfer_en;
input l2t5_efu_fuse_xfer_en;
input l2t6_efu_fuse_xfer_en;
input l2t7_efu_fuse_xfer_en;
input l2t0_efu_fuse_data;
input l2t1_efu_fuse_data;
input l2t2_efu_fuse_data;
input l2t3_efu_fuse_data;
input l2t4_efu_fuse_data;
input l2t5_efu_fuse_data;
input l2t6_efu_fuse_data;
input l2t7_efu_fuse_data;
input [31:0] read_data_ff;
output [31:0] shift_data_ff_out;
output load_l2_read_data;
input iol2clk;
input l2clk;
input cmp_io_sync_en;
input tcu_pce_ov;
input tcu_aclk;
input tcu_bclk;
input tcu_scan_en;
input scan_in;
output scan_out;
assign pce_ov = tcu_pce_ov;
assign siclk = tcu_aclk;
assign soclk = tcu_bclk;
assign stop = 1'b0;
assign se = tcu_scan_en;
wire [31:0] read_data_ff_sync;
efu_l2t_ctl_l1clkhdr_ctl_macro clkgen (
.l2clk(iol2clk),
.l1en (1'b1 ),
.l1clk(l1clk),
.pce_ov(pce_ov),
.stop(stop),
.se(se));
efu_l2t_ctl_l1clkhdr_ctl_macro clkgen_cmp (
.l2clk(l2clk),
.l1en (1'b1 ),
.l1clk(l1clk_cmp),
.pce_ov(pce_ov),
.stop(stop),
.se(se));
efu_l2t_ctl_msff_ctl_macro__width_1 ff_cmp_io_sync_en
(
.scan_in(ff_cmp_io_sync_en_scanin),
.scan_out(ff_cmp_io_sync_en_scanout),
.din (cmp_io_sync_en),
.dout (cmp_io_sync_en_r1),
.l1clk (l1clk_cmp),
.siclk(siclk),
.soclk(soclk)
);
assign l2b_xfer_en[7:0] = {l2b7_efu_fuse_xfer_en , l2b6_efu_fuse_xfer_en ,
l2b5_efu_fuse_xfer_en , l2b4_efu_fuse_xfer_en ,
l2b3_efu_fuse_xfer_en , l2b2_efu_fuse_xfer_en ,
l2b1_efu_fuse_xfer_en , l2b0_efu_fuse_xfer_en};
assign l2t_xfer_en[7:0] = {l2t7_efu_fuse_xfer_en, l2t6_efu_fuse_xfer_en ,
l2t5_efu_fuse_xfer_en , l2t4_efu_fuse_xfer_en ,
l2t3_efu_fuse_xfer_en , l2t2_efu_fuse_xfer_en ,
l2t1_efu_fuse_xfer_en , l2t0_efu_fuse_xfer_en};
assign spc_dxfer_en[7:0] = {spc7_efu_fuse_dxfer_en, spc6_efu_fuse_dxfer_en ,
spc5_efu_fuse_dxfer_en , spc4_efu_fuse_dxfer_en ,
spc3_efu_fuse_dxfer_en , spc2_efu_fuse_dxfer_en ,
spc1_efu_fuse_dxfer_en , spc0_efu_fuse_dxfer_en};
assign spc_ixfer_en[7:0] = {spc7_efu_fuse_ixfer_en, spc6_efu_fuse_ixfer_en ,
spc5_efu_fuse_ixfer_en , spc4_efu_fuse_ixfer_en ,
spc3_efu_fuse_ixfer_en , spc2_efu_fuse_ixfer_en ,
spc1_efu_fuse_ixfer_en , spc0_efu_fuse_ixfer_en};
assign spc_idata[7:0] = {spc7_efu_fuse_idata, spc6_efu_fuse_idata,
spc5_efu_fuse_idata, spc4_efu_fuse_idata,
spc3_efu_fuse_idata, spc2_efu_fuse_idata,
spc1_efu_fuse_idata, spc0_efu_fuse_idata};
assign spc_ddata[7:0] = {spc7_efu_fuse_ddata, spc6_efu_fuse_ddata,
spc5_efu_fuse_ddata, spc4_efu_fuse_ddata,
spc3_efu_fuse_ddata, spc2_efu_fuse_ddata,
spc1_efu_fuse_ddata, spc0_efu_fuse_ddata};
assign l2t_data[7:0] = {l2t7_efu_fuse_data, l2t6_efu_fuse_data,
l2t5_efu_fuse_data, l2t4_efu_fuse_data,
l2t3_efu_fuse_data, l2t2_efu_fuse_data,
l2t1_efu_fuse_data, l2t0_efu_fuse_data};
assign l2b_data[7:0] = {l2b7_efu_fuse_data, l2b6_efu_fuse_data,
l2b5_efu_fuse_data, l2b4_efu_fuse_data,
l2b3_efu_fuse_data, l2b2_efu_fuse_data,
l2b1_efu_fuse_data, l2b0_efu_fuse_data};
efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_l2b_xfer_en
(
.scan_in(ff_l2b_xfer_en_scanin),
.scan_out(ff_l2b_xfer_en_scanout),
.dout (l2b_xfer_en_q[7:0]),
.din (l2b_xfer_en[7:0]),
.en (cmp_io_sync_en_r1),
.l1clk (l1clk_cmp),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_l2t_xfer_en
(
.scan_in(ff_l2t_xfer_en_scanin),
.scan_out(ff_l2t_xfer_en_scanout),
.dout (l2t_xfer_en_q[7:0]),
.din (l2t_xfer_en[7:0]),
.en (cmp_io_sync_en_r1),
.l1clk (l1clk_cmp),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_spc_dxfer_en
(
.scan_in(ff_spc_dxfer_en_scanin),
.scan_out(ff_spc_dxfer_en_scanout),
.dout (spc_dxfer_en_q[7:0]),
.din (spc_dxfer_en[7:0]),
.en (cmp_io_sync_en_r1),
.l1clk (l1clk_cmp),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_spc_ixfer_en
(
.scan_in(ff_spc_ixfer_en_scanin),
.scan_out(ff_spc_ixfer_en_scanout),
.dout (spc_ixfer_en_q[7:0]),
.din (spc_ixfer_en[7:0]),
.en (cmp_io_sync_en_r1),
.l1clk (l1clk_cmp),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_spc_idata
(
.scan_in(ff_spc_idata_scanin),
.scan_out(ff_spc_idata_scanout),
.dout (spc_idata_q[7:0]),
.din (spc_idata[7:0]),
.en (cmp_io_sync_en_r1),
.l1clk (l1clk_cmp),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_spc_ddata
(
.scan_in(ff_spc_ddata_scanin),
.scan_out(ff_spc_ddata_scanout),
.dout (spc_ddata_q[7:0]),
.din (spc_ddata[7:0]),
.en (cmp_io_sync_en_r1),
.l1clk (l1clk_cmp),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_l2t_data
(
.scan_in(ff_l2t_data_scanin),
.scan_out(ff_l2t_data_scanout),
.dout (l2t_data_q[7:0]),
.din (l2t_data[7:0]),
.en (cmp_io_sync_en_r1),
.l1clk (l1clk_cmp),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_l2b_data
(
.scan_in(ff_l2b_data_scanin),
.scan_out(ff_l2b_data_scanout),
.dout (l2b_data_q[7:0]),
.din (l2b_data[7:0]),
.en (cmp_io_sync_en_r1),
.l1clk (l1clk_cmp),
.siclk(siclk),
.soclk(soclk)
);
assign read_data_in = l2b_xfer_en_q[0] | l2b_xfer_en_q[1] |
l2b_xfer_en_q[2] | l2b_xfer_en_q[3] | l2b_xfer_en_q[4] |
l2b_xfer_en_q[5] | l2b_xfer_en_q[6] | l2b_xfer_en_q[7] |
l2t_xfer_en_q[0] | l2t_xfer_en_q[1] | l2t_xfer_en_q[2] |
l2t_xfer_en_q[3] | l2t_xfer_en_q[4] | l2t_xfer_en_q[5] |
l2t_xfer_en_q[6] | l2t_xfer_en_q[7] |
spc_dxfer_en_q[0] | spc_dxfer_en_q[1] | spc_dxfer_en_q[2] |
spc_dxfer_en_q[3] | spc_dxfer_en_q[4] | spc_dxfer_en_q[5] |
spc_dxfer_en_q[6] | spc_dxfer_en_q[7] | spc_ixfer_en_q[0] |
spc_ixfer_en_q[1] | spc_ixfer_en_q[2] | spc_ixfer_en_q[3] |
spc_ixfer_en_q[4] | spc_ixfer_en_q[5] | spc_ixfer_en_q[6] |
spc_ixfer_en_q[7] | 1'b0;
assign efu_xfer_out = efu_l2b0_fuse_xfer_en | efu_l2b1_fuse_xfer_en |
efu_l2b2_fuse_xfer_en | efu_l2b3_fuse_xfer_en | efu_l2b4_fuse_xfer_en |
efu_l2b5_fuse_xfer_en | efu_l2b6_fuse_xfer_en | efu_l2b7_fuse_xfer_en |
efu_l2t0_fuse_xfer_en | efu_l2t1_fuse_xfer_en | efu_l2t2_fuse_xfer_en |
efu_l2t3_fuse_xfer_en | efu_l2t4_fuse_xfer_en | efu_l2t5_fuse_xfer_en |
efu_l2t6_fuse_xfer_en | efu_l2t7_fuse_xfer_en |
efu_spc0_fuse_dxfer_en | efu_spc1_fuse_dxfer_en | efu_spc2_fuse_dxfer_en |
efu_spc3_fuse_dxfer_en | efu_spc4_fuse_dxfer_en | efu_spc5_fuse_dxfer_en |
efu_spc6_fuse_dxfer_en | efu_spc7_fuse_dxfer_en | efu_spc0_fuse_ixfer_en |
efu_spc1_fuse_ixfer_en | efu_spc2_fuse_ixfer_en | efu_spc3_fuse_ixfer_en |
efu_spc4_fuse_ixfer_en | efu_spc5_fuse_ixfer_en | efu_spc6_fuse_ixfer_en |
efu_spc7_fuse_ixfer_en | 1'b0;
//assign read_data_in = 1'b0;
assign load_l2_read_data = ~read_data_in_r1 & read_data_in_r2 ;
efu_l2t_ctl_msff_ctl_macro__width_1 ff_efu_xfer_out_r2
(
.scan_in(ff_xfer_out_r2_scanin),
.scan_out(ff_xfer_out_r2_scanout),
.dout (read_data_in_r2),
.din (read_data_in_r1),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 ff_read_data_in_r1
(
.scan_in(ff_xfer_out_r1_scanin),
.scan_out(ff_xfer_out_r1_scanout),
.dout (read_data_in_r1),
.din (read_data_in),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 ff_read_data_in
(
.scan_in(ff_read_data_in_scanin),
.scan_out(ff_read_data_in_scanout),
.dout (read_data_in_reg),
.din (read_data_in),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
//assign shift_data_ff_in[31:0] = //cmp_read_data_ff_vld ? read_data_ff[31:0]
// read_data_in_reg
// ? {read_data_ff_sync[31:22],read_data_ff_sync[21:1],shift_in_reg}
// : {read_data_ff_sync[31:22],read_data_ff_sync[20:0],1'b0};
assign shift_data_ff_in[31:0] = cmp_read_data_ff_vld_reg ? read_data_ff_sync[31:0]
: efu_xfer_out ? {shift_data_ff_out[31:22],shift_data_ff_out[20:0],1'b0}
: read_data_in_reg ? {shift_data_ff_out[31:22],shift_data_ff_out[20:0],shift_in_reg}
: shift_data_ff_out[31:0];
efu_l2t_ctl_msff_ctl_macro__width_1 ff_cmp_read_data_ff_vld
(
.scan_in(ff_cmp_read_data_ff_vld_scanin),
.scan_out(ff_cmp_read_data_ff_vld_scanout),
.dout (cmp_read_data_ff_vld_reg),
.din (cmp_read_data_ff_vld),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__en_1__width_32 ff_read_data_ff_sync
(
.scan_in(ff_read_data_ff_sync_scanin),
.scan_out(ff_read_data_ff_sync_scanout),
.din (read_data_ff[31:0]),
.dout (read_data_ff_sync[31:0]),
.en (cmp_read_data_ff_vld),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_32 ff_shhift_data_ff_sync
(
.scan_in(ff_shhift_data_ff_sync_scanin),
.scan_out(ff_shhift_data_ff_sync_scanout),
.din (shift_data_ff_in),
.dout (shift_data_ff_out),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
// ### CPS
wire [8:0] mrd_cnt_ff;
wire [8:0] mrd_cnt_nxt;
wire [8:0] mrd_cnt_dec;
wire decode_enable_vld;
assign cmp_mrd_cnt_done = ~|mrd_cnt_ff;
//assign mrd_cnt_nxt[8:0] = cmp_read_data_ff_vld ? 9'd22 : 9'd0;
assign mrd_cnt_dec[8:0] = mrd_cnt_ff[8:0] - 9'd1 ;
assign mrd_cnt_nxt[8:0] = cmp_read_data_ff_vld_reg & decode_enable_vld ? 9'd22 : cmp_mrd_cnt_done ? 9'd0 : mrd_cnt_dec[8:0] ;
efu_l2t_ctl_msff_ctl_macro__width_9 mrd_cnt_reg
(
.scan_in(mrd_cnt_reg_scanin),
.scan_out(mrd_cnt_reg_scanout),
.dout (mrd_cnt_ff[8:0]),
.din (mrd_cnt_nxt[8:0]),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
wire [2:0] valid_bits;
assign valid_bits[2:0] = read_data_ff_sync[31:29];
reg valid, val_err;
always @(valid_bits)
case (valid_bits) //synopsys parallel_case full_case
3'b000: {valid, val_err} = 2'b00;
3'b001: {valid, val_err} = 2'b01;
3'b010: {valid, val_err} = 2'b01;
3'b100: {valid, val_err} = 2'b01;
3'b011: {valid, val_err} = 2'b10;
3'b101: {valid, val_err} = 2'b10;
3'b110: {valid, val_err} = 2'b10;
3'b111: {valid, val_err} = 2'b10;
endcase
assign computed_parity = ^read_data_ff_sync[28:0];
assign good_parity = ~computed_parity;
assign decode_enable_vld = valid & ~val_err & good_parity ;
//### CPS
assign any_cnt_other_than_zero = (|mrd_cnt_nxt[8:0]);
// change to fix a glitch on ixfer_en
//assign local_fuse_ashift_nxt = any_cnt_other_than_zero | local_fuse_ashift_d1 ;
assign local_fuse_ashift_nxt = local_fuse_ashift_d1 ;
assign local_fuse_dshift_nxt = local_fuse_ashift_nxt;
efu_l2t_ctl_msff_ctl_macro__width_1 local_fuse_ashift_ff
(
.scan_in(local_fuse_ashift_ff_scanin),
.scan_out(local_fuse_ashift_ff_scanout),
.dout (local_fuse_ashift_d1),
.din (any_cnt_other_than_zero),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
//assign local_fuse_dshift_nxt = (|mrd_cnt_nxt[8:0]);
//assign local_fuse_ashift_nxt = mrd_cnt_nxt[8:0] == 9'd22 |
// mrd_cnt_nxt[8:0] == 9'd21 |
// mrd_cnt_nxt[8:0] == 9'd20 |
// mrd_cnt_nxt[8:0] == 9'd19 |
// mrd_cnt_nxt[8:0] == 9'd18 |
// mrd_cnt_nxt[8:0] == 9'd17 |
// mrd_cnt_nxt[8:0] == 9'd16 |
// mrd_cnt_nxt[8:0] == 9'd15 |
// mrd_cnt_nxt[8:0] == 9'd14 |
// mrd_cnt_nxt[8:0] == 9'd13 |
// mrd_cnt_nxt[8:0] == 9'd12 |
// mrd_cnt_nxt[8:0] == 9'd11 |
// mrd_cnt_nxt[8:0] == 9'd10 |
// mrd_cnt_nxt[8:0] == 9'd9 |
// mrd_cnt_nxt[8:0] == 9'd8 |
// mrd_cnt_nxt[8:0] == 9'd7 |
// mrd_cnt_nxt[8:0] == 9'd6 |
// mrd_cnt_nxt[8:0] == 9'd5 |
// mrd_cnt_nxt[8:0] == 9'd4 |
// mrd_cnt_nxt[8:0] == 9'd3 |
// mrd_cnt_nxt[8:0] == 9'd2 |
// mrd_cnt_nxt[8:0] == 9'd1 |
// mrd_cnt_nxt[8:0] == 9'd0;
// ### CPS
assign local_fuse_data_ff = shift_data_ff_out[21];
assign block_id[5:0] = read_data_ff_sync[27:22];
assign spc0_ifuse_dec = (block_id[5:0] == 6'b000000) & decode_enable_vld;
assign spc0_dfuse_dec = (block_id[5:0] == 6'b000001) & decode_enable_vld;
assign spc1_ifuse_dec = (block_id[5:0] == 6'b000010) & decode_enable_vld;
assign spc1_dfuse_dec = (block_id[5:0] == 6'b000011) & decode_enable_vld;
assign spc2_ifuse_dec = (block_id[5:0] == 6'b000100) & decode_enable_vld;
assign spc2_dfuse_dec = (block_id[5:0] == 6'b000101) & decode_enable_vld;
assign spc3_ifuse_dec = (block_id[5:0] == 6'b000110) & decode_enable_vld;
assign spc3_dfuse_dec = (block_id[5:0] == 6'b000111) & decode_enable_vld;
assign spc4_ifuse_dec = (block_id[5:0] == 6'b001000) & decode_enable_vld;
assign spc4_dfuse_dec = (block_id[5:0] == 6'b001001) & decode_enable_vld;
assign spc5_ifuse_dec = (block_id[5:0] == 6'b001010) & decode_enable_vld;
assign spc5_dfuse_dec = (block_id[5:0] == 6'b001011) & decode_enable_vld;
assign spc6_ifuse_dec = (block_id[5:0] == 6'b001100) & decode_enable_vld;
assign spc6_dfuse_dec = (block_id[5:0] == 6'b001101) & decode_enable_vld;
assign spc7_ifuse_dec = (block_id[5:0] == 6'b001110) & decode_enable_vld;
assign spc7_dfuse_dec = (block_id[5:0] == 6'b001111) & decode_enable_vld;
assign l2t0_fuse_dec = (block_id[5:0] == 6'b010000) & decode_enable_vld;
assign l2t1_fuse_dec = (block_id[5:0] == 6'b010001) & decode_enable_vld;
assign l2t2_fuse_dec = (block_id[5:0] == 6'b010010) & decode_enable_vld;
assign l2t3_fuse_dec = (block_id[5:0] == 6'b010011) & decode_enable_vld;
assign l2t4_fuse_dec = (block_id[5:0] == 6'b010100) & decode_enable_vld;
assign l2t5_fuse_dec = (block_id[5:0] == 6'b010101) & decode_enable_vld;
assign l2t6_fuse_dec = (block_id[5:0] == 6'b010110) & decode_enable_vld;
assign l2t7_fuse_dec = (block_id[5:0] == 6'b010111) & decode_enable_vld;
assign l2d0_fuse_dec = (block_id[5:0] == 6'b011000) & decode_enable_vld;
assign l2d1_fuse_dec = (block_id[5:0] == 6'b011001) & decode_enable_vld;
assign l2d2_fuse_dec = (block_id[5:0] == 6'b011010) & decode_enable_vld;
assign l2d3_fuse_dec = (block_id[5:0] == 6'b011011) & decode_enable_vld;
assign l2d4_fuse_dec = (block_id[5:0] == 6'b011100) & decode_enable_vld;
assign l2d5_fuse_dec = (block_id[5:0] == 6'b011101) & decode_enable_vld;
assign l2d6_fuse_dec = (block_id[5:0] == 6'b011110) & decode_enable_vld;
assign l2d7_fuse_dec = (block_id[5:0] == 6'b011111) & decode_enable_vld;
efu_l2t_ctl_msff_ctl_macro__width_1 data_vld_datareg
(
.scan_in(data_vld_datareg_scanin),
.scan_out(data_vld_datareg_scanout),
.din (shift_in),
.dout (shift_in_reg),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign shift_in = 1'b0
| spc7_ifuse_dec & spc_idata_q[7] //&& spc7_efu_fuse_ixfer_en
| spc7_dfuse_dec & spc_ddata_q[7] //&& spc7_efu_fuse_dxfer_en
| spc6_ifuse_dec & spc_idata_q[6] //&& spc6_efu_fuse_ixfer_en
| spc6_dfuse_dec & spc_ddata_q[6] //&& spc6_efu_fuse_dxfer_en
| spc5_ifuse_dec & spc_idata_q[5] //&& spc5_efu_fuse_ixfer_en
| spc5_dfuse_dec & spc_ddata_q[5] //&& spc5_efu_fuse_dxfer_en
| spc4_ifuse_dec & spc_idata_q[4] //&& spc4_efu_fuse_ixfer_en
| spc4_dfuse_dec & spc_ddata_q[4] //&& spc4_efu_fuse_dxfer_en
| spc3_ifuse_dec & spc_idata_q[3] //&& spc3_efu_fuse_ixfer_en
| spc3_dfuse_dec & spc_ddata_q[3] //&& spc3_efu_fuse_dxfer_en
| spc2_ifuse_dec & spc_idata_q[2] //&& spc2_efu_fuse_ixfer_en
| spc2_dfuse_dec & spc_ddata_q[2] //&& spc2_efu_fuse_dxfer_en
| spc1_ifuse_dec & spc_idata_q[1] //&& spc1_efu_fuse_ixfer_en
| spc1_dfuse_dec & spc_ddata_q[1] //&& spc1_efu_fuse_dxfer_en
| spc0_ifuse_dec & spc_idata_q[0] //&& spc0_efu_fuse_ixfer_en
| spc0_dfuse_dec & spc_ddata_q[0] //&& spc0_efu_fuse_dxfer_en
| l2t0_fuse_dec & l2t_data_q[0] //&& l2t0_efu_fuse_xfer_en
| l2t1_fuse_dec & l2t_data_q[1] //&& l2t1_efu_fuse_xfer_en
| l2t2_fuse_dec & l2t_data_q[2] //&& l2t2_efu_fuse_xfer_en
| l2t3_fuse_dec & l2t_data_q[3] //&& l2t3_efu_fuse_xfer_en
| l2t4_fuse_dec & l2t_data_q[4] //&& l2t4_efu_fuse_xfer_en
| l2t5_fuse_dec & l2t_data_q[5] //&& l2t5_efu_fuse_xfer_en
| l2t6_fuse_dec & l2t_data_q[6] //&& l2t6_efu_fuse_xfer_en
| l2t7_fuse_dec & l2t_data_q[7] //&& l2t7_efu_fuse_xfer_en
| l2d0_fuse_dec & l2b_data_q[0] //&& l2b0_efu_fuse_xfer_en
| l2d1_fuse_dec & l2b_data_q[1] //&& l2b1_efu_fuse_xfer_en
| l2d2_fuse_dec & l2b_data_q[2] //&& l2b2_efu_fuse_xfer_en
| l2d3_fuse_dec & l2b_data_q[3] //&& l2b3_efu_fuse_xfer_en
| l2d4_fuse_dec & l2b_data_q[4] //&& l2b4_efu_fuse_xfer_en
| l2d5_fuse_dec & l2b_data_q[5] //&& l2b5_efu_fuse_xfer_en
| l2d6_fuse_dec & l2b_data_q[6] //&& l2b6_efu_fuse_xfer_en
| l2d7_fuse_dec & l2b_data_q[7] ;//&& l2b7_efu_fuse_xfer_en;
assign efu_spc0246_fuse_data = local_fuse_data_ff;
assign efu_spc1357_fuse_data = local_fuse_data_ff;
assign efu_l2t0246_fuse_data = local_fuse_data_ff; //
assign efu_l2t1357_fuse_data = local_fuse_data_ff;
assign efu_l2b0246_fuse_data = local_fuse_data_ff;
assign efu_l2b1357_fuse_data = local_fuse_data_ff;
efu_l2t_ctl_msff_ctl_macro__width_1 spc0_ifuse_ashift_reg
(
.scan_in(spc0_ifuse_ashift_reg_scanin),
.scan_out(spc0_ifuse_ashift_reg_scanout),
.din (spc0_ifuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc0_ifuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc0_ifuse_dshift_reg
(
.scan_in(spc0_ifuse_dshift_reg_scanin),
.scan_out(spc0_ifuse_dshift_reg_scanout),
.din (spc0_ifuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc0_ifuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc0_fuse_ixfer_en = efu_spc0_ifuse_ashift | efu_spc0_ifuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc0_dfuse_ashift_reg
(
.scan_in(spc0_dfuse_ashift_reg_scanin),
.scan_out(spc0_dfuse_ashift_reg_scanout),
.din (spc0_dfuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc0_dfuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc0_dfuse_dshift_reg
(
.scan_in(spc0_dfuse_dshift_reg_scanin),
.scan_out(spc0_dfuse_dshift_reg_scanout),
.din (spc0_dfuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc0_dfuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc0_fuse_dxfer_en = efu_spc0_dfuse_ashift | efu_spc0_dfuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc1_ifuse_ashift_reg
(
.scan_in(spc1_ifuse_ashift_reg_scanin),
.scan_out(spc1_ifuse_ashift_reg_scanout),
.din (spc1_ifuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc1_ifuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc1_ifuse_dshift_reg
(
.scan_in(spc1_ifuse_dshift_reg_scanin),
.scan_out(spc1_ifuse_dshift_reg_scanout),
.din (spc1_ifuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc1_ifuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc1_fuse_ixfer_en = efu_spc1_ifuse_dshift | efu_spc1_ifuse_ashift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc1_dfuse_ashift_reg
(
.scan_in(spc1_dfuse_ashift_reg_scanin),
.scan_out(spc1_dfuse_ashift_reg_scanout),
.din (spc1_dfuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc1_dfuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc1_dfuse_dshift_reg
(
.scan_in(spc1_dfuse_dshift_reg_scanin),
.scan_out(spc1_dfuse_dshift_reg_scanout),
.din (spc1_dfuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc1_dfuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc1_fuse_dxfer_en = efu_spc1_dfuse_ashift | efu_spc1_dfuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc2_ifuse_ashift_reg
(
.scan_in(spc2_ifuse_ashift_reg_scanin),
.scan_out(spc2_ifuse_ashift_reg_scanout),
.din (spc2_ifuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc2_ifuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc2_ifuse_dshift_reg
(
.scan_in(spc2_ifuse_dshift_reg_scanin),
.scan_out(spc2_ifuse_dshift_reg_scanout),
.din (spc2_ifuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc2_ifuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc2_fuse_ixfer_en = efu_spc2_ifuse_ashift | efu_spc2_ifuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc2_dfuse_ashift_reg
(
.scan_in(spc2_dfuse_ashift_reg_scanin),
.scan_out(spc2_dfuse_ashift_reg_scanout),
.din (spc2_dfuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc2_dfuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc2_dfuse_dshift_reg
(
.scan_in(spc2_dfuse_dshift_reg_scanin),
.scan_out(spc2_dfuse_dshift_reg_scanout),
.din (spc2_dfuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc2_dfuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc2_fuse_dxfer_en = efu_spc2_dfuse_ashift | efu_spc2_dfuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc3_ifuse_ashift_reg
(
.scan_in(spc3_ifuse_ashift_reg_scanin),
.scan_out(spc3_ifuse_ashift_reg_scanout),
.din (spc3_ifuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc3_ifuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc3_ifuse_dshift_reg
(
.scan_in(spc3_ifuse_dshift_reg_scanin),
.scan_out(spc3_ifuse_dshift_reg_scanout),
.din (spc3_ifuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc3_ifuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc3_fuse_ixfer_en = efu_spc3_ifuse_ashift | efu_spc3_ifuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc3_dfuse_ashift_reg
(
.scan_in(spc3_dfuse_ashift_reg_scanin),
.scan_out(spc3_dfuse_ashift_reg_scanout),
.din (spc3_dfuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc3_dfuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc3_dfuse_dshift_reg
(
.scan_in(spc3_dfuse_dshift_reg_scanin),
.scan_out(spc3_dfuse_dshift_reg_scanout),
.din (spc3_dfuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc3_dfuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc3_fuse_dxfer_en = efu_spc3_dfuse_ashift | efu_spc3_dfuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc4_ifuse_ashift_reg
(
.scan_in(spc4_ifuse_ashift_reg_scanin),
.scan_out(spc4_ifuse_ashift_reg_scanout),
.din (spc4_ifuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc4_ifuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc4_ifuse_dshift_reg
(
.scan_in(spc4_ifuse_dshift_reg_scanin),
.scan_out(spc4_ifuse_dshift_reg_scanout),
.din (spc4_ifuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc4_ifuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc4_fuse_ixfer_en = efu_spc4_ifuse_ashift | efu_spc4_ifuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc4_dfuse_ashift_reg
(
.scan_in(spc4_dfuse_ashift_reg_scanin),
.scan_out(spc4_dfuse_ashift_reg_scanout),
.din (spc4_dfuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc4_dfuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc4_dfuse_dshift_reg
(
.scan_in(spc4_dfuse_dshift_reg_scanin),
.scan_out(spc4_dfuse_dshift_reg_scanout),
.din (spc4_dfuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc4_dfuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc4_fuse_dxfer_en = efu_spc4_dfuse_ashift | efu_spc4_dfuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc5_ifuse_ashift_reg
(
.scan_in(spc5_ifuse_ashift_reg_scanin),
.scan_out(spc5_ifuse_ashift_reg_scanout),
.din (spc5_ifuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc5_ifuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc5_ifuse_dshift_reg
(
.scan_in(spc5_ifuse_dshift_reg_scanin),
.scan_out(spc5_ifuse_dshift_reg_scanout),
.din (spc5_ifuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc5_ifuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc5_fuse_ixfer_en = efu_spc5_ifuse_ashift | efu_spc5_ifuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc5_dfuse_ashift_reg
(
.scan_in(spc5_dfuse_ashift_reg_scanin),
.scan_out(spc5_dfuse_ashift_reg_scanout),
.din (spc5_dfuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc5_dfuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc5_dfuse_dshift_reg
(
.scan_in(spc5_dfuse_dshift_reg_scanin),
.scan_out(spc5_dfuse_dshift_reg_scanout),
.din (spc5_dfuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc5_dfuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc5_fuse_dxfer_en = efu_spc5_dfuse_ashift | efu_spc5_dfuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc6_ifuse_ashift_reg
(
.scan_in(spc6_ifuse_ashift_reg_scanin),
.scan_out(spc6_ifuse_ashift_reg_scanout),
.din (spc6_ifuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc6_ifuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc6_ifuse_dshift_reg
(
.scan_in(spc6_ifuse_dshift_reg_scanin),
.scan_out(spc6_ifuse_dshift_reg_scanout),
.din (spc6_ifuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc6_ifuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc6_fuse_ixfer_en = efu_spc6_ifuse_ashift | efu_spc6_ifuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc6_dfuse_ashift_reg
(
.scan_in(spc6_dfuse_ashift_reg_scanin),
.scan_out(spc6_dfuse_ashift_reg_scanout),
.din (spc6_dfuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc6_dfuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc6_dfuse_dshift_reg
(
.scan_in(spc6_dfuse_dshift_reg_scanin),
.scan_out(spc6_dfuse_dshift_reg_scanout),
.din (spc6_dfuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc6_dfuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc6_fuse_dxfer_en = efu_spc6_dfuse_ashift | efu_spc6_dfuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc7_ifuse_ashift_reg
(
.scan_in(spc7_ifuse_ashift_reg_scanin),
.scan_out(spc7_ifuse_ashift_reg_scanout),
.din (spc7_ifuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc7_ifuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc7_ifuse_dshift_reg
(
.scan_in(spc7_ifuse_dshift_reg_scanin),
.scan_out(spc7_ifuse_dshift_reg_scanout),
.din (spc7_ifuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc7_ifuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc7_fuse_ixfer_en = efu_spc7_ifuse_ashift | efu_spc7_ifuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 spc7_dfuse_ashift_reg
(
.scan_in(spc7_dfuse_ashift_reg_scanin),
.scan_out(spc7_dfuse_ashift_reg_scanout),
.din (spc7_dfuse_dec && local_fuse_ashift_nxt),
.dout (efu_spc7_dfuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 spc7_dfuse_dshift_reg
(
.scan_in(spc7_dfuse_dshift_reg_scanin),
.scan_out(spc7_dfuse_dshift_reg_scanout),
.din (spc7_dfuse_dec && local_fuse_dshift_nxt),
.dout (efu_spc7_dfuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_spc7_fuse_dxfer_en = efu_spc7_dfuse_ashift | efu_spc7_dfuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2t0_fuse_ashift_reg
(
.scan_in(l2t0_fuse_ashift_reg_scanin),
.scan_out(l2t0_fuse_ashift_reg_scanout),
.din (l2t0_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2t0_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2t0_fuse_dshift_reg
(
.scan_in(l2t0_fuse_dshift_reg_scanin),
.scan_out(l2t0_fuse_dshift_reg_scanout),
.din (l2t0_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2t0_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2t0_fuse_xfer_en = efu_l2t0_fuse_ashift | efu_l2t0_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2t1_fuse_ashift_reg
(
.scan_in(l2t1_fuse_ashift_reg_scanin),
.scan_out(l2t1_fuse_ashift_reg_scanout),
.din (l2t1_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2t1_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2t1_fuse_dshift_reg
(
.scan_in(l2t1_fuse_dshift_reg_scanin),
.scan_out(l2t1_fuse_dshift_reg_scanout),
.din (l2t1_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2t1_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2t1_fuse_xfer_en = efu_l2t1_fuse_ashift | efu_l2t1_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2t2_fuse_ashift_reg
(
.scan_in(l2t2_fuse_ashift_reg_scanin),
.scan_out(l2t2_fuse_ashift_reg_scanout),
.din (l2t2_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2t2_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2t2_fuse_dshift_reg
(
.scan_in(l2t2_fuse_dshift_reg_scanin),
.scan_out(l2t2_fuse_dshift_reg_scanout),
.din (l2t2_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2t2_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2t2_fuse_xfer_en = efu_l2t2_fuse_ashift | efu_l2t2_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2t3_fuse_ashift_reg
(
.scan_in(l2t3_fuse_ashift_reg_scanin),
.scan_out(l2t3_fuse_ashift_reg_scanout),
.din (l2t3_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2t3_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2t3_fuse_dshift_reg
(
.scan_in(l2t3_fuse_dshift_reg_scanin),
.scan_out(l2t3_fuse_dshift_reg_scanout),
.din (l2t3_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2t3_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2t3_fuse_xfer_en = efu_l2t3_fuse_ashift | efu_l2t3_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2t4_fuse_ashift_reg
(
.scan_in(l2t4_fuse_ashift_reg_scanin),
.scan_out(l2t4_fuse_ashift_reg_scanout),
.din (l2t4_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2t4_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2t4_fuse_dshift_reg
(
.scan_in(l2t4_fuse_dshift_reg_scanin),
.scan_out(l2t4_fuse_dshift_reg_scanout),
.din (l2t4_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2t4_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2t4_fuse_xfer_en = efu_l2t4_fuse_ashift | efu_l2t4_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2t5_fuse_ashift_reg
(
.scan_in(l2t5_fuse_ashift_reg_scanin),
.scan_out(l2t5_fuse_ashift_reg_scanout),
.din (l2t5_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2t5_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2t5_fuse_dshift_reg
(
.scan_in(l2t5_fuse_dshift_reg_scanin),
.scan_out(l2t5_fuse_dshift_reg_scanout),
.din (l2t5_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2t5_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2t5_fuse_xfer_en = efu_l2t5_fuse_ashift | efu_l2t5_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2t6_fuse_ashift_reg
(
.scan_in(l2t6_fuse_ashift_reg_scanin),
.scan_out(l2t6_fuse_ashift_reg_scanout),
.din (l2t6_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2t6_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2t6_fuse_dshift_reg
(
.scan_in(l2t6_fuse_dshift_reg_scanin),
.scan_out(l2t6_fuse_dshift_reg_scanout),
.din (l2t6_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2t6_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2t6_fuse_xfer_en = efu_l2t6_fuse_ashift | efu_l2t6_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2t7_fuse_ashift_reg
(
.scan_in(l2t7_fuse_ashift_reg_scanin),
.scan_out(l2t7_fuse_ashift_reg_scanout),
.din (l2t7_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2t7_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2t7_fuse_dshift_reg
(
.scan_in(l2t7_fuse_dshift_reg_scanin),
.scan_out(l2t7_fuse_dshift_reg_scanout),
.din (l2t7_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2t7_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2t7_fuse_xfer_en = efu_l2t7_fuse_ashift | efu_l2t7_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2d0_fuse_ashift_reg
(
.scan_in(l2d0_fuse_ashift_reg_scanin),
.scan_out(l2d0_fuse_ashift_reg_scanout),
.din (l2d0_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2d0_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2d0_fuse_dshift_reg
(
.scan_in(l2d0_fuse_dshift_reg_scanin),
.scan_out(l2d0_fuse_dshift_reg_scanout),
.din (l2d0_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2d0_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2b0_fuse_xfer_en = efu_l2d0_fuse_dshift | efu_l2d0_fuse_ashift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2d1_fuse_ashift_reg
(
.scan_in(l2d1_fuse_ashift_reg_scanin),
.scan_out(l2d1_fuse_ashift_reg_scanout),
.din (l2d1_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2d1_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2d1_fuse_dshift_reg
(
.scan_in(l2d1_fuse_dshift_reg_scanin),
.scan_out(l2d1_fuse_dshift_reg_scanout),
.din (l2d1_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2d1_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2b1_fuse_xfer_en = efu_l2d1_fuse_ashift | efu_l2d1_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2d2_fuse_ashift_reg
(
.scan_in(l2d2_fuse_ashift_reg_scanin),
.scan_out(l2d2_fuse_ashift_reg_scanout),
.din (l2d2_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2d2_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2d2_fuse_dshift_reg
(
.scan_in(l2d2_fuse_dshift_reg_scanin),
.scan_out(l2d2_fuse_dshift_reg_scanout),
.din (l2d2_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2d2_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2b2_fuse_xfer_en = efu_l2d2_fuse_ashift | efu_l2d2_fuse_dshift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2d3_fuse_ashift_reg
(
.scan_in(l2d3_fuse_ashift_reg_scanin),
.scan_out(l2d3_fuse_ashift_reg_scanout),
.din (l2d3_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2d3_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2d3_fuse_dshift_reg
(
.scan_in(l2d3_fuse_dshift_reg_scanin),
.scan_out(l2d3_fuse_dshift_reg_scanout),
.din (l2d3_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2d3_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2b3_fuse_xfer_en = efu_l2d3_fuse_dshift | efu_l2d3_fuse_ashift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2d4_fuse_ashift_reg
(
.scan_in(l2d4_fuse_ashift_reg_scanin),
.scan_out(l2d4_fuse_ashift_reg_scanout),
.din (l2d4_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2d4_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2d4_fuse_dshift_reg
(
.scan_in(l2d4_fuse_dshift_reg_scanin),
.scan_out(l2d4_fuse_dshift_reg_scanout),
.din (l2d4_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2d4_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2b4_fuse_xfer_en = efu_l2d4_fuse_dshift | efu_l2d4_fuse_ashift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2d5_fuse_ashift_reg
(
.scan_in(l2d5_fuse_ashift_reg_scanin),
.scan_out(l2d5_fuse_ashift_reg_scanout),
.din (l2d5_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2d5_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2d5_fuse_dshift_reg
(
.scan_in(l2d5_fuse_dshift_reg_scanin),
.scan_out(l2d5_fuse_dshift_reg_scanout),
.din (l2d5_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2d5_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2b5_fuse_xfer_en = efu_l2d5_fuse_dshift | efu_l2d5_fuse_ashift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2d6_fuse_ashift_reg
(
.scan_in(l2d6_fuse_ashift_reg_scanin),
.scan_out(l2d6_fuse_ashift_reg_scanout),
.din (l2d6_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2d6_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2d6_fuse_dshift_reg
(
.scan_in(l2d6_fuse_dshift_reg_scanin),
.scan_out(l2d6_fuse_dshift_reg_scanout),
.din (l2d6_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2d6_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2b6_fuse_xfer_en = efu_l2d6_fuse_dshift | efu_l2d6_fuse_ashift;
efu_l2t_ctl_msff_ctl_macro__width_1 l2d7_fuse_ashift_reg
(
.scan_in(l2d7_fuse_ashift_reg_scanin),
.scan_out(l2d7_fuse_ashift_reg_scanout),
.din (l2d7_fuse_dec && local_fuse_ashift_nxt),
.dout (efu_l2d7_fuse_ashift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
efu_l2t_ctl_msff_ctl_macro__width_1 l2d7_fuse_dshift_reg
(
.scan_in(l2d7_fuse_dshift_reg_scanin),
.scan_out(l2d7_fuse_dshift_reg_scanout),
.din (l2d7_fuse_dec && local_fuse_dshift_nxt),
.dout (efu_l2d7_fuse_dshift),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign efu_l2b7_fuse_xfer_en = efu_l2d7_fuse_dshift | efu_l2d7_fuse_ashift;
//###
efu_l2t_ctl_msff_ctl_macro__width_1 cmp_read_data_ff_vld_0_reg
(
.scan_in(cmp_read_data_ff_vld_0_reg_scanin),
.scan_out(cmp_read_data_ff_vld_0_reg_scanout),
.din (read_data_ff_vld),
.dout (cmp_read_data_ff_vld_0),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
//###
efu_l2t_ctl_msff_ctl_macro__width_1 cmp_read_data_ff_vld_1_reg
(
.scan_in(cmp_read_data_ff_vld_1_reg_scanin),
.scan_out(cmp_read_data_ff_vld_1_reg_scanout),
.din (cmp_read_data_ff_vld_0),
.dout (cmp_read_data_ff_vld_1),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
assign cmp_read_data_ff_vld = cmp_read_data_ff_vld_0 & ~cmp_read_data_ff_vld_1 ;
efu_l2t_ctl_spare_ctl_macro__num_2 spares (
.scan_in(spares_scanin),
.scan_out(spares_scanout),
.l1clk (l1clk),
.siclk(siclk),
.soclk(soclk)
);
//msff_ctl_macro read_data_ff_vld_reg (width=1)
// (
// .scan_in(read_data_ff_vld_scanin),
// .scan_out(read_data_ff_vld_scanout),
// .din (read_data_ff_vld),
// .dout (cmp_read_data_ff_vld1),
// .l1clk (l1clk),
// );
//msff_ctl_macro cmp_read_data_ff_vld_reg (width=1)
// (
// .scan_in(cmp_read_data_ff_vld_scanin),
// .scan_out(cmp_read_data_ff_vld_scanout),
// .din (cmp_read_data_ff_vld1),
// .dout (cmp_read_data_ff_vld),
// .l1clk (l1clk),
// );
// fixscan start:
assign ff_read_data_in_scanin = scan_in ;
assign ff_xfer_out_r2_scanin = ff_read_data_in_scanout ;
assign ff_xfer_out_r1_scanin = ff_xfer_out_r2_scanout ;
assign ff_cmp_read_data_ff_vld_scanin = ff_xfer_out_r1_scanout ;
assign ff_read_data_ff_sync_scanin = ff_cmp_read_data_ff_vld_scanout;
assign ff_shhift_data_ff_sync_scanin = ff_read_data_ff_sync_scanout;
assign mrd_cnt_reg_scanin = ff_shhift_data_ff_sync_scanout;
assign local_fuse_ashift_ff_scanin = mrd_cnt_reg_scanout ;
assign data_vld_datareg_scanin = local_fuse_ashift_ff_scanout;
assign ff_cmp_io_sync_en_scanin = data_vld_datareg_scanout;
assign ff_l2b_xfer_en_scanin = ff_cmp_io_sync_en_scanout;
assign ff_l2t_xfer_en_scanin = ff_l2b_xfer_en_scanout;
assign ff_spc_dxfer_en_scanin = ff_l2t_xfer_en_scanout;
assign ff_spc_ixfer_en_scanin = ff_spc_dxfer_en_scanout;
assign ff_spc_idata_scanin = ff_spc_ixfer_en_scanout;
assign ff_spc_ddata_scanin = ff_spc_idata_scanout;
assign ff_l2t_data_scanin = ff_spc_ddata_scanout;
assign ff_l2b_data_scanin = ff_l2t_data_scanout;
assign spc0_ifuse_ashift_reg_scanin = ff_l2b_data_scanout ;
assign spc0_ifuse_dshift_reg_scanin = spc0_ifuse_ashift_reg_scanout;
assign spc0_dfuse_ashift_reg_scanin = spc0_ifuse_dshift_reg_scanout;
assign spc0_dfuse_dshift_reg_scanin = spc0_dfuse_ashift_reg_scanout;
assign spc1_ifuse_ashift_reg_scanin = spc0_dfuse_dshift_reg_scanout;
assign spc1_ifuse_dshift_reg_scanin = spc1_ifuse_ashift_reg_scanout;
assign spc1_dfuse_ashift_reg_scanin = spc1_ifuse_dshift_reg_scanout;
assign spc1_dfuse_dshift_reg_scanin = spc1_dfuse_ashift_reg_scanout;
assign spc2_ifuse_ashift_reg_scanin = spc1_dfuse_dshift_reg_scanout;
assign spc2_ifuse_dshift_reg_scanin = spc2_ifuse_ashift_reg_scanout;
assign spc2_dfuse_ashift_reg_scanin = spc2_ifuse_dshift_reg_scanout;
assign spc2_dfuse_dshift_reg_scanin = spc2_dfuse_ashift_reg_scanout;
assign spc3_ifuse_ashift_reg_scanin = spc2_dfuse_dshift_reg_scanout;
assign spc3_ifuse_dshift_reg_scanin = spc3_ifuse_ashift_reg_scanout;
assign spc3_dfuse_ashift_reg_scanin = spc3_ifuse_dshift_reg_scanout;
assign spc3_dfuse_dshift_reg_scanin = spc3_dfuse_ashift_reg_scanout;
assign spc4_ifuse_ashift_reg_scanin = spc3_dfuse_dshift_reg_scanout;
assign spc4_ifuse_dshift_reg_scanin = spc4_ifuse_ashift_reg_scanout;
assign spc4_dfuse_ashift_reg_scanin = spc4_ifuse_dshift_reg_scanout;
assign spc4_dfuse_dshift_reg_scanin = spc4_dfuse_ashift_reg_scanout;
assign spc5_ifuse_ashift_reg_scanin = spc4_dfuse_dshift_reg_scanout;
assign spc5_ifuse_dshift_reg_scanin = spc5_ifuse_ashift_reg_scanout;
assign spc5_dfuse_ashift_reg_scanin = spc5_ifuse_dshift_reg_scanout;
assign spc5_dfuse_dshift_reg_scanin = spc5_dfuse_ashift_reg_scanout;
assign spc6_ifuse_ashift_reg_scanin = spc5_dfuse_dshift_reg_scanout;
assign spc6_ifuse_dshift_reg_scanin = spc6_ifuse_ashift_reg_scanout;
assign spc6_dfuse_ashift_reg_scanin = spc6_ifuse_dshift_reg_scanout;
assign spc6_dfuse_dshift_reg_scanin = spc6_dfuse_ashift_reg_scanout;
assign spc7_ifuse_ashift_reg_scanin = spc6_dfuse_dshift_reg_scanout;
assign spc7_ifuse_dshift_reg_scanin = spc7_ifuse_ashift_reg_scanout;
assign spc7_dfuse_ashift_reg_scanin = spc7_ifuse_dshift_reg_scanout;
assign spc7_dfuse_dshift_reg_scanin = spc7_dfuse_ashift_reg_scanout;
assign l2t0_fuse_ashift_reg_scanin = spc7_dfuse_dshift_reg_scanout;
assign l2t0_fuse_dshift_reg_scanin = l2t0_fuse_ashift_reg_scanout;
assign l2t1_fuse_ashift_reg_scanin = l2t0_fuse_dshift_reg_scanout;
assign l2t1_fuse_dshift_reg_scanin = l2t1_fuse_ashift_reg_scanout;
assign l2t2_fuse_ashift_reg_scanin = l2t1_fuse_dshift_reg_scanout;
assign l2t2_fuse_dshift_reg_scanin = l2t2_fuse_ashift_reg_scanout;
assign l2t3_fuse_ashift_reg_scanin = l2t2_fuse_dshift_reg_scanout;
assign l2t3_fuse_dshift_reg_scanin = l2t3_fuse_ashift_reg_scanout;
assign l2t4_fuse_ashift_reg_scanin = l2t3_fuse_dshift_reg_scanout;
assign l2t4_fuse_dshift_reg_scanin = l2t4_fuse_ashift_reg_scanout;
assign l2t5_fuse_ashift_reg_scanin = l2t4_fuse_dshift_reg_scanout;
assign l2t5_fuse_dshift_reg_scanin = l2t5_fuse_ashift_reg_scanout;
assign l2t6_fuse_ashift_reg_scanin = l2t5_fuse_dshift_reg_scanout;
assign l2t6_fuse_dshift_reg_scanin = l2t6_fuse_ashift_reg_scanout;
assign l2t7_fuse_ashift_reg_scanin = l2t6_fuse_dshift_reg_scanout;
assign l2t7_fuse_dshift_reg_scanin = l2t7_fuse_ashift_reg_scanout;
assign l2d0_fuse_ashift_reg_scanin = l2t7_fuse_dshift_reg_scanout;
assign l2d0_fuse_dshift_reg_scanin = l2d0_fuse_ashift_reg_scanout;
assign l2d1_fuse_ashift_reg_scanin = l2d0_fuse_dshift_reg_scanout;
assign l2d1_fuse_dshift_reg_scanin = l2d1_fuse_ashift_reg_scanout;
assign l2d2_fuse_ashift_reg_scanin = l2d1_fuse_dshift_reg_scanout;
assign l2d2_fuse_dshift_reg_scanin = l2d2_fuse_ashift_reg_scanout;
assign l2d3_fuse_ashift_reg_scanin = l2d2_fuse_dshift_reg_scanout;
assign l2d3_fuse_dshift_reg_scanin = l2d3_fuse_ashift_reg_scanout;
assign l2d4_fuse_ashift_reg_scanin = l2d3_fuse_dshift_reg_scanout;
assign l2d4_fuse_dshift_reg_scanin = l2d4_fuse_ashift_reg_scanout;
assign l2d5_fuse_ashift_reg_scanin = l2d4_fuse_dshift_reg_scanout;
assign l2d5_fuse_dshift_reg_scanin = l2d5_fuse_ashift_reg_scanout;
assign l2d6_fuse_ashift_reg_scanin = l2d5_fuse_dshift_reg_scanout;
assign l2d6_fuse_dshift_reg_scanin = l2d6_fuse_ashift_reg_scanout;
assign l2d7_fuse_ashift_reg_scanin = l2d6_fuse_dshift_reg_scanout;
assign l2d7_fuse_dshift_reg_scanin = l2d7_fuse_ashift_reg_scanout;
assign cmp_read_data_ff_vld_0_reg_scanin = l2d7_fuse_dshift_reg_scanout;
assign cmp_read_data_ff_vld_1_reg_scanin = cmp_read_data_ff_vld_0_reg_scanout;
assign spares_scanin = cmp_read_data_ff_vld_1_reg_scanout;
assign scan_out = spares_scanout;
// fixscan end:
endmodule
// any PARAMS parms go into naming of macro
module efu_l2t_ctl_l1clkhdr_ctl_macro (
l2clk,
l1en,
pce_ov,
stop,
se,
l1clk);
input l2clk;
input l1en;
input pce_ov;
input stop;
input se;
output l1clk;
cl_sc1_l1hdr_8x c_0 (
.l2clk(l2clk),
.pce(l1en),
.l1clk(l1clk),
.se(se),
.pce_ov(pce_ov),
.stop(stop)
);
endmodule
// any PARAMS parms go into naming of macro
module efu_l2t_ctl_msff_ctl_macro__width_1 (
din,
l1clk,
scan_in,
siclk,
soclk,
dout,
scan_out);
wire [0:0] fdin;
input [0:0] din;
input l1clk;
input scan_in;
input siclk;
input soclk;
output [0:0] dout;
output scan_out;
assign fdin[0:0] = din[0:0];
dff #(1) d0_0 (
.l1clk(l1clk),
.siclk(siclk),
.soclk(soclk),
.d(fdin[0:0]),
.si(scan_in),
.so(scan_out),
.q(dout[0:0])
);
endmodule
// any PARAMS parms go into naming of macro
module efu_l2t_ctl_msff_ctl_macro__en_1__width_8 (
din,
en,
l1clk,
scan_in,
siclk,
soclk,
dout,
scan_out);
wire [7:0] fdin;
wire [6:0] so;
input [7:0] din;
input en;
input l1clk;
input scan_in;
input siclk;
input soclk;
output [7:0] dout;
output scan_out;
assign fdin[7:0] = (din[7:0] & {8{en}}) | (dout[7:0] & ~{8{en}});
dff #(8) d0_0 (
.l1clk(l1clk),
.siclk(siclk),
.soclk(soclk),
.d(fdin[7:0]),
.si({scan_in,so[6:0]}),
.so({so[6:0],scan_out}),
.q(dout[7:0])
);
endmodule
// any PARAMS parms go into naming of macro
module efu_l2t_ctl_msff_ctl_macro__en_1__width_32 (
din,
en,
l1clk,
scan_in,
siclk,
soclk,
dout,
scan_out);
wire [31:0] fdin;
wire [30:0] so;
input [31:0] din;
input en;
input l1clk;
input scan_in;
input siclk;
input soclk;
output [31:0] dout;
output scan_out;
assign fdin[31:0] = (din[31:0] & {32{en}}) | (dout[31:0] & ~{32{en}});
dff #(32) d0_0 (
.l1clk(l1clk),
.siclk(siclk),
.soclk(soclk),
.d(fdin[31:0]),
.si({scan_in,so[30:0]}),
.so({so[30:0],scan_out}),
.q(dout[31:0])
);
endmodule
// any PARAMS parms go into naming of macro
module efu_l2t_ctl_msff_ctl_macro__width_32 (
din,
l1clk,
scan_in,
siclk,
soclk,
dout,
scan_out);
wire [31:0] fdin;
wire [30:0] so;
input [31:0] din;
input l1clk;
input scan_in;
input siclk;
input soclk;
output [31:0] dout;
output scan_out;
assign fdin[31:0] = din[31:0];
dff #(32) d0_0 (
.l1clk(l1clk),
.siclk(siclk),
.soclk(soclk),
.d(fdin[31:0]),
.si({scan_in,so[30:0]}),
.so({so[30:0],scan_out}),
.q(dout[31:0])
);
endmodule
// any PARAMS parms go into naming of macro
module efu_l2t_ctl_msff_ctl_macro__width_9 (
din,
l1clk,
scan_in,
siclk,
soclk,
dout,
scan_out);
wire [8:0] fdin;
wire [7:0] so;
input [8:0] din;
input l1clk;
input scan_in;
input siclk;
input soclk;
output [8:0] dout;
output scan_out;
assign fdin[8:0] = din[8:0];
dff #(9) d0_0 (
.l1clk(l1clk),
.siclk(siclk),
.soclk(soclk),
.d(fdin[8:0]),
.si({scan_in,so[7:0]}),
.so({so[7:0],scan_out}),
.q(dout[8:0])
);
endmodule
// Description: Spare gate macro for control blocks
//
// Param num controls the number of times the macro is added
// flops=0 can be used to use only combination spare logic
module efu_l2t_ctl_spare_ctl_macro__num_2 (
l1clk,
scan_in,
siclk,
soclk,
scan_out);
wire si_0;
wire so_0;
wire spare0_flop_unused;
wire spare0_buf_32x_unused;
wire spare0_nand3_8x_unused;
wire spare0_inv_8x_unused;
wire spare0_aoi22_4x_unused;
wire spare0_buf_8x_unused;
wire spare0_oai22_4x_unused;
wire spare0_inv_16x_unused;
wire spare0_nand2_16x_unused;
wire spare0_nor3_4x_unused;
wire spare0_nand2_8x_unused;
wire spare0_buf_16x_unused;
wire spare0_nor2_16x_unused;
wire spare0_inv_32x_unused;
wire si_1;
wire so_1;
wire spare1_flop_unused;
wire spare1_buf_32x_unused;
wire spare1_nand3_8x_unused;
wire spare1_inv_8x_unused;
wire spare1_aoi22_4x_unused;
wire spare1_buf_8x_unused;
wire spare1_oai22_4x_unused;
wire spare1_inv_16x_unused;
wire spare1_nand2_16x_unused;
wire spare1_nor3_4x_unused;
wire spare1_nand2_8x_unused;
wire spare1_buf_16x_unused;
wire spare1_nor2_16x_unused;
wire spare1_inv_32x_unused;
input l1clk;
input scan_in;
input siclk;
input soclk;
output scan_out;
cl_sc1_msff_8x spare0_flop (.l1clk(l1clk),
.siclk(siclk),
.soclk(soclk),
.si(si_0),
.so(so_0),
.d(1'b0),
.q(spare0_flop_unused));
assign si_0 = scan_in;
cl_u1_buf_32x spare0_buf_32x (.in(1'b1),
.out(spare0_buf_32x_unused));
cl_u1_nand3_8x spare0_nand3_8x (.in0(1'b1),
.in1(1'b1),
.in2(1'b1),
.out(spare0_nand3_8x_unused));
cl_u1_inv_8x spare0_inv_8x (.in(1'b1),
.out(spare0_inv_8x_unused));
cl_u1_aoi22_4x spare0_aoi22_4x (.in00(1'b1),
.in01(1'b1),
.in10(1'b1),
.in11(1'b1),
.out(spare0_aoi22_4x_unused));
cl_u1_buf_8x spare0_buf_8x (.in(1'b1),
.out(spare0_buf_8x_unused));
cl_u1_oai22_4x spare0_oai22_4x (.in00(1'b1),
.in01(1'b1),
.in10(1'b1),
.in11(1'b1),
.out(spare0_oai22_4x_unused));
cl_u1_inv_16x spare0_inv_16x (.in(1'b1),
.out(spare0_inv_16x_unused));
cl_u1_nand2_16x spare0_nand2_16x (.in0(1'b1),
.in1(1'b1),
.out(spare0_nand2_16x_unused));
cl_u1_nor3_4x spare0_nor3_4x (.in0(1'b0),
.in1(1'b0),
.in2(1'b0),
.out(spare0_nor3_4x_unused));
cl_u1_nand2_8x spare0_nand2_8x (.in0(1'b1),
.in1(1'b1),
.out(spare0_nand2_8x_unused));
cl_u1_buf_16x spare0_buf_16x (.in(1'b1),
.out(spare0_buf_16x_unused));
cl_u1_nor2_16x spare0_nor2_16x (.in0(1'b0),
.in1(1'b0),
.out(spare0_nor2_16x_unused));
cl_u1_inv_32x spare0_inv_32x (.in(1'b1),
.out(spare0_inv_32x_unused));
cl_sc1_msff_8x spare1_flop (.l1clk(l1clk),
.siclk(siclk),
.soclk(soclk),
.si(si_1),
.so(so_1),
.d(1'b0),
.q(spare1_flop_unused));
assign si_1 = so_0;
cl_u1_buf_32x spare1_buf_32x (.in(1'b1),
.out(spare1_buf_32x_unused));
cl_u1_nand3_8x spare1_nand3_8x (.in0(1'b1),
.in1(1'b1),
.in2(1'b1),
.out(spare1_nand3_8x_unused));
cl_u1_inv_8x spare1_inv_8x (.in(1'b1),
.out(spare1_inv_8x_unused));
cl_u1_aoi22_4x spare1_aoi22_4x (.in00(1'b1),
.in01(1'b1),
.in10(1'b1),
.in11(1'b1),
.out(spare1_aoi22_4x_unused));
cl_u1_buf_8x spare1_buf_8x (.in(1'b1),
.out(spare1_buf_8x_unused));
cl_u1_oai22_4x spare1_oai22_4x (.in00(1'b1),
.in01(1'b1),
.in10(1'b1),
.in11(1'b1),
.out(spare1_oai22_4x_unused));
cl_u1_inv_16x spare1_inv_16x (.in(1'b1),
.out(spare1_inv_16x_unused));
cl_u1_nand2_16x spare1_nand2_16x (.in0(1'b1),
.in1(1'b1),
.out(spare1_nand2_16x_unused));
cl_u1_nor3_4x spare1_nor3_4x (.in0(1'b0),
.in1(1'b0),
.in2(1'b0),
.out(spare1_nor3_4x_unused));
cl_u1_nand2_8x spare1_nand2_8x (.in0(1'b1),
.in1(1'b1),
.out(spare1_nand2_8x_unused));
cl_u1_buf_16x spare1_buf_16x (.in(1'b1),
.out(spare1_buf_16x_unused));
cl_u1_nor2_16x spare1_nor2_16x (.in0(1'b0),
.in1(1'b0),
.out(spare1_nor2_16x_unused));
cl_u1_inv_32x spare1_inv_32x (.in(1'b1),
.out(spare1_inv_32x_unused));
assign scan_out = so_1;
endmodule