// ========== Copyright Header Begin ==========================================
// OpenSPARC T2 Processor File: tlu_dfd_dp.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 ============================================
wire [54:48] wr_data_unused;
wire lsu_br_va_0_lat_scanin;
wire lsu_br_va_0_lat_scanout;
wire [47:0] lsu_br_va_0_w;
wire lsu_br_va_1_lat_scanin;
wire lsu_br_va_1_lat_scanout;
wire [47:0] lsu_br_va_1_w;
wire va_0_w1_lat_scanout;
wire va_1_w1_lat_scanout;
wire dsfar_0_lat_wmr_scanin;
wire dsfar_0_lat_wmr_scanout;
wire dsfar_1_lat_wmr_scanin;
wire dsfar_1_lat_wmr_scanout;
wire dsfar_2_lat_wmr_scanin;
wire dsfar_2_lat_wmr_scanout;
wire dsfar_3_lat_wmr_scanin;
wire dsfar_3_lat_wmr_scanout;
wire dsfar_4_lat_wmr_scanin;
wire dsfar_4_lat_wmr_scanout;
wire dsfar_5_lat_wmr_scanin;
wire dsfar_5_lat_wmr_scanout;
wire dsfar_6_lat_wmr_scanin;
wire dsfar_6_lat_wmr_scanout;
wire dsfar_7_lat_wmr_scanin;
wire dsfar_7_lat_wmr_scanout;
wire desr_0_lat_wmr_scanin;
wire desr_0_lat_wmr_scanout;
wire desr_1_lat_wmr_scanin;
wire desr_1_lat_wmr_scanout;
wire desr_2_lat_wmr_scanin;
wire desr_2_lat_wmr_scanout;
wire desr_3_lat_wmr_scanin;
wire desr_3_lat_wmr_scanout;
wire desr_4_lat_wmr_scanin;
wire desr_4_lat_wmr_scanout;
wire desr_5_lat_wmr_scanin;
wire desr_5_lat_wmr_scanout;
wire desr_6_lat_wmr_scanin;
wire desr_6_lat_wmr_scanout;
wire desr_7_lat_wmr_scanin;
wire desr_7_lat_wmr_scanout;
wire fesr_0_lat_wmr_scanin;
wire fesr_0_lat_wmr_scanout;
wire fesr_1_lat_wmr_scanin;
wire fesr_1_lat_wmr_scanout;
wire fesr_2_lat_wmr_scanin;
wire fesr_2_lat_wmr_scanout;
wire fesr_3_lat_wmr_scanin;
wire fesr_3_lat_wmr_scanout;
wire fesr_4_lat_wmr_scanin;
wire fesr_4_lat_wmr_scanout;
wire fesr_5_lat_wmr_scanin;
wire fesr_5_lat_wmr_scanout;
wire fesr_6_lat_wmr_scanin;
wire fesr_6_lat_wmr_scanout;
wire fesr_7_lat_wmr_scanin;
wire fesr_7_lat_wmr_scanout;
input spc_aclk_wmr; // Warm reset (non)scan
input [47:2] pct0_target_b;
input [47:2] pct1_target_b;
input [1:0] tic_exu_address0_b;
input [1:0] tic_exu_address1_b;
input fls0_dfd_lsu_inst_b;
input fls1_dfd_lsu_inst_b;
input [15:0] tel0_syndrome;
input [15:0] tel1_syndrome;
input [2:0] tlu_tsa_index_0;
input [2:0] tlu_tsa_index_1;
input [19:0] ras_dsfar_0;
input [19:0] ras_dsfar_1;
input [19:0] ras_dsfar_2;
input [19:0] ras_dsfar_3;
input [19:0] ras_dsfar_4;
input [19:0] ras_dsfar_5;
input [19:0] ras_dsfar_6;
input [19:0] ras_dsfar_7;
input [7:0] ras_dsfar_sel_lsu_va;
input [7:0] ras_dsfar_sel_ras;
input [7:0] ras_dsfar_sel_tsa;
input [61:56] ras_desr_et_0;
input [61:56] ras_desr_et_1;
input [61:56] ras_desr_et_2;
input [61:56] ras_desr_et_3;
input [61:56] ras_desr_et_4;
input [61:56] ras_desr_et_5;
input [61:56] ras_desr_et_6;
input [61:56] ras_desr_et_7;
input [10:0] ras_desr_ea_0;
input [10:0] ras_desr_ea_1;
input [10:0] ras_desr_ea_2;
input [10:0] ras_desr_ea_3;
input [10:0] ras_desr_ea_4;
input [10:0] ras_desr_ea_5;
input [10:0] ras_desr_ea_6;
input [10:0] ras_desr_ea_7;
input [7:0] ras_write_desr_1st;
input [7:0] ras_write_desr_2nd;
input [61:60] ras_fesr_et_0;
input [61:60] ras_fesr_et_1;
input [61:60] ras_fesr_et_2;
input [61:60] ras_fesr_et_3;
input [61:60] ras_fesr_et_4;
input [61:60] ras_fesr_et_5;
input [61:60] ras_fesr_et_6;
input [61:60] ras_fesr_et_7;
input [59:55] ras_fesr_ea_0;
input [59:55] ras_fesr_ea_1;
input [59:55] ras_fesr_ea_2;
input [59:55] ras_fesr_ea_3;
input [59:55] ras_fesr_ea_4;
input [59:55] ras_fesr_ea_5;
input [59:55] ras_fesr_ea_6;
input [59:55] ras_fesr_ea_7;
input [7:0] ras_write_fesr;
input [59:58] ras_fesr_priv;
input [7:0] ras_update_priv;
input [3:0] ras_asi_data;
input [7:0] ras_rd_dsfar;
input [7:0] asi_wr_dsfar;
input [61:0] asi_wr_data;
output wmr_scan_out; // Warm reset (non)scan
output [7:0] dfd_fls_desr_f;
output [7:0] dfd_fls_desr_s;
output [1:0] dfd_fesr_priv_0;
output [1:0] dfd_fesr_priv_1;
output [1:0] dfd_fesr_priv_2;
output [1:0] dfd_fesr_priv_3;
output [1:0] dfd_fesr_priv_4;
output [1:0] dfd_fesr_priv_5;
output [1:0] dfd_fesr_priv_6;
output [1:0] dfd_fesr_priv_7;
output [47:0] dfd_asi_data;
output [18:0] dfd_asi_desr;
//////////////////////////////////////////////////////////////////////
tlu_dfd_dp_buff_macro__width_4 clk_control_buf (
assign wr_data_unused[54:48] =
//////////////////////////////////////////////////////////////////////
// First mux the LSU and EXU addresses together and flop for next cycle
tlu_dfd_dp_msff_macro__mux_aope__ports_2__stack_48c__width_48 lsu_br_va_0_lat (
.scan_in(lsu_br_va_0_lat_scanin),
.scan_out(lsu_br_va_0_lat_scanout),
.din0 (lsu_va_b [47:0] ),
.din1 ({pct0_target_b [47:2],
tic_exu_address0_b [1:0]}),
.sel0 (fls0_dfd_lsu_inst_b ),
.dout (lsu_br_va_0_w [47:0] ),
tlu_dfd_dp_msff_macro__mux_aope__ports_2__stack_48c__width_48 lsu_br_va_1_lat (
.scan_in(lsu_br_va_1_lat_scanin),
.scan_out(lsu_br_va_1_lat_scanout),
.din0 (lsu_va_b [47:0] ),
.din1 ({pct1_target_b [47:2],
tic_exu_address1_b [1:0]}),
.sel0 (fls1_dfd_lsu_inst_b ),
.dout (lsu_br_va_1_w [47:0] ),
tlu_dfd_dp_msff_macro__stack_48c__width_48 va_0_w1_lat (
.scan_in(va_0_w1_lat_scanin),
.scan_out(va_0_w1_lat_scanout),
.din (lsu_br_va_0_w [47:0] ),
tlu_dfd_dp_msff_macro__stack_48c__width_48 va_1_w1_lat (
.scan_in(va_1_w1_lat_scanin),
.scan_out(va_1_w1_lat_scanout),
.din (lsu_br_va_1_w [47:0] ),
tlu_dfd_dp_msff_macro__mux_aope__ports_5__stack_48c__width_48 dsfar_0_lat (
.scan_in(dsfar_0_lat_wmr_scanin),
.scan_out(dsfar_0_lat_wmr_scanout),
.sel0 (ras_dsfar_sel_tsa [0 ] ),
.sel1 (ras_dsfar_sel_ras [0 ] ),
.sel2 (ras_dsfar_sel_lsu_va [0 ] ),
.sel3 (asi_wr_dsfar [0 ] ),
tlu_dfd_dp_msff_macro__mux_aope__ports_5__stack_48c__width_48 dsfar_1_lat (
.scan_in(dsfar_1_lat_wmr_scanin),
.scan_out(dsfar_1_lat_wmr_scanout),
.sel0 (ras_dsfar_sel_tsa [1 ] ),
.sel1 (ras_dsfar_sel_ras [1 ] ),
.sel2 (ras_dsfar_sel_lsu_va [1 ] ),
.sel3 (asi_wr_dsfar [1 ] ),
tlu_dfd_dp_msff_macro__mux_aope__ports_5__stack_48c__width_48 dsfar_2_lat (
.scan_in(dsfar_2_lat_wmr_scanin),
.scan_out(dsfar_2_lat_wmr_scanout),
.sel0 (ras_dsfar_sel_tsa [2 ] ),
.sel1 (ras_dsfar_sel_ras [2 ] ),
.sel2 (ras_dsfar_sel_lsu_va [2 ] ),
.sel3 (asi_wr_dsfar [2 ] ),
tlu_dfd_dp_msff_macro__mux_aope__ports_5__stack_48c__width_48 dsfar_3_lat (
.scan_in(dsfar_3_lat_wmr_scanin),
.scan_out(dsfar_3_lat_wmr_scanout),
.sel0 (ras_dsfar_sel_tsa [3 ] ),
.sel1 (ras_dsfar_sel_ras [3 ] ),
.sel2 (ras_dsfar_sel_lsu_va [3 ] ),
.sel3 (asi_wr_dsfar [3 ] ),
tlu_dfd_dp_msff_macro__mux_aope__ports_5__stack_48c__width_48 dsfar_4_lat (
.scan_in(dsfar_4_lat_wmr_scanin),
.scan_out(dsfar_4_lat_wmr_scanout),
.sel0 (ras_dsfar_sel_tsa [4 ] ),
.sel1 (ras_dsfar_sel_ras [4 ] ),
.sel2 (ras_dsfar_sel_lsu_va [4 ] ),
.sel3 (asi_wr_dsfar [4 ] ),
tlu_dfd_dp_msff_macro__mux_aope__ports_5__stack_48c__width_48 dsfar_5_lat (
.scan_in(dsfar_5_lat_wmr_scanin),
.scan_out(dsfar_5_lat_wmr_scanout),
.sel0 (ras_dsfar_sel_tsa [5 ] ),
.sel1 (ras_dsfar_sel_ras [5 ] ),
.sel2 (ras_dsfar_sel_lsu_va [5 ] ),
.sel3 (asi_wr_dsfar [5 ] ),
tlu_dfd_dp_msff_macro__mux_aope__ports_5__stack_48c__width_48 dsfar_6_lat (
.scan_in(dsfar_6_lat_wmr_scanin),
.scan_out(dsfar_6_lat_wmr_scanout),
.sel0 (ras_dsfar_sel_tsa [6 ] ),
.sel1 (ras_dsfar_sel_ras [6 ] ),
.sel2 (ras_dsfar_sel_lsu_va [6 ] ),
.sel3 (asi_wr_dsfar [6 ] ),
tlu_dfd_dp_msff_macro__mux_aope__ports_5__stack_48c__width_48 dsfar_7_lat (
.scan_in(dsfar_7_lat_wmr_scanin),
.scan_out(dsfar_7_lat_wmr_scanout),
.sel0 (ras_dsfar_sel_tsa [7 ] ),
.sel1 (ras_dsfar_sel_ras [7 ] ),
.sel2 (ras_dsfar_sel_lsu_va [7 ] ),
.sel3 (asi_wr_dsfar [7 ] ),
//////////////////////////////////////////////////////////////////////
tlu_dfd_dp_msff_macro__mux_aope__ports_4__width_19 desr_0_lat (
.scan_in(desr_0_lat_wmr_scanin),
.scan_out(desr_0_lat_wmr_scanout),
ras_desr_et_0 [61:56], // S, ET
ras_desr_ea_0 [10:0]}), // EA
.din3 ({desr_0 [63 ], // F
.sel0 (ras_write_desr_1st [0 ] ),
.sel1 (ras_write_desr_2nd [0 ] ),
.sel2 (ras_rd_desr [0 ] ),
.dout ({desr_0 [63 ], // F
tlu_dfd_dp_msff_macro__mux_aope__ports_4__width_19 desr_1_lat (
.scan_in(desr_1_lat_wmr_scanin),
.scan_out(desr_1_lat_wmr_scanout),
ras_desr_et_1 [61:56], // S, ET
ras_desr_ea_1 [10:0]}), // EA
.din3 ({desr_1 [63 ], // F
.sel0 (ras_write_desr_1st [1 ] ),
.sel1 (ras_write_desr_2nd [1 ] ),
.sel2 (ras_rd_desr [1 ] ),
.dout ({desr_1 [63 ], // F
tlu_dfd_dp_msff_macro__mux_aope__ports_4__width_19 desr_2_lat (
.scan_in(desr_2_lat_wmr_scanin),
.scan_out(desr_2_lat_wmr_scanout),
ras_desr_et_2 [61:56], // S, ET
ras_desr_ea_2 [10:0]}), // EA
.din3 ({desr_2 [63 ], // F
.sel0 (ras_write_desr_1st [2 ] ),
.sel1 (ras_write_desr_2nd [2 ] ),
.sel2 (ras_rd_desr [2 ] ),
.dout ({desr_2 [63 ], // F
tlu_dfd_dp_msff_macro__mux_aope__ports_4__width_19 desr_3_lat (
.scan_in(desr_3_lat_wmr_scanin),
.scan_out(desr_3_lat_wmr_scanout),
ras_desr_et_3 [61:56], // S, ET
ras_desr_ea_3 [10:0]}), // EA
.din3 ({desr_3 [63 ], // F
.sel0 (ras_write_desr_1st [3 ] ),
.sel1 (ras_write_desr_2nd [3 ] ),
.sel2 (ras_rd_desr [3 ] ),
.dout ({desr_3 [63 ], // F
tlu_dfd_dp_msff_macro__mux_aope__ports_4__width_19 desr_4_lat (
.scan_in(desr_4_lat_wmr_scanin),
.scan_out(desr_4_lat_wmr_scanout),
ras_desr_et_4 [61:56], // S, ET
ras_desr_ea_4 [10:0]}), // EA
.din3 ({desr_4 [63 ], // F
.sel0 (ras_write_desr_1st [4 ] ),
.sel1 (ras_write_desr_2nd [4 ] ),
.sel2 (ras_rd_desr [4 ] ),
.dout ({desr_4 [63 ], // F
tlu_dfd_dp_msff_macro__mux_aope__ports_4__width_19 desr_5_lat (
.scan_in(desr_5_lat_wmr_scanin),
.scan_out(desr_5_lat_wmr_scanout),
ras_desr_et_5 [61:56], // S, ET
ras_desr_ea_5 [10:0]}), // EA
.din3 ({desr_5 [63 ], // F
.sel0 (ras_write_desr_1st [5 ] ),
.sel1 (ras_write_desr_2nd [5 ] ),
.sel2 (ras_rd_desr [5 ] ),
.dout ({desr_5 [63 ], // F
tlu_dfd_dp_msff_macro__mux_aope__ports_4__width_19 desr_6_lat (
.scan_in(desr_6_lat_wmr_scanin),
.scan_out(desr_6_lat_wmr_scanout),
ras_desr_et_6 [61:56], // S, ET
ras_desr_ea_6 [10:0]}), // EA
.din3 ({desr_6 [63 ], // F
.sel0 (ras_write_desr_1st [6 ] ),
.sel1 (ras_write_desr_2nd [6 ] ),
.sel2 (ras_rd_desr [6 ] ),
.dout ({desr_6 [63 ], // F
tlu_dfd_dp_msff_macro__mux_aope__ports_4__width_19 desr_7_lat (
.scan_in(desr_7_lat_wmr_scanin),
.scan_out(desr_7_lat_wmr_scanout),
ras_desr_et_7 [61:56], // S, ET
ras_desr_ea_7 [10:0]}), // EA
.din3 ({desr_7 [63 ], // F
.sel0 (ras_write_desr_1st [7 ] ),
.sel1 (ras_write_desr_2nd [7 ] ),
.sel2 (ras_rd_desr [7 ] ),
.dout ({desr_7 [63 ], // F
{desr_7[63], desr_6[63], desr_5[63], desr_4[63],
desr_3[63], desr_2[63], desr_1[63], desr_0[63]};
{desr_7[61], desr_6[61], desr_5[61], desr_4[61],
desr_3[61], desr_2[61], desr_1[61], desr_0[61]};
tlu_dfd_dp_buff_macro__rep_1__stack_none__width_8 desr_f_buf (
.din ({desr_7[63], desr_6[63], desr_5[63], desr_4[63],
desr_3[63], desr_2[63], desr_1[63], desr_0[63]}),
.dout (dfd_fls_desr_f [7:0] )
tlu_dfd_dp_buff_macro__rep_1__stack_none__width_8 desr_s_buf (
.din ({desr_7[61], desr_6[61], desr_5[61], desr_4[61],
desr_3[61], desr_2[61], desr_1[61], desr_0[61]}),
.dout (dfd_fls_desr_s [7:0] )
//////////////////////////////////////////////////////////////////////
tlu_dfd_dp_msff_macro__mux_aonpe__ports_3__width_7 fesr_0_lat (
.scan_in(fesr_0_lat_wmr_scanin),
.scan_out(fesr_0_lat_wmr_scanout),
.din0 ({ras_fesr_et_0 [61:60], // ET
ras_fesr_ea_0 [59:55]}), // PL, STBI
.din1 ({fesr_0 [61:60], // ET
ras_fesr_priv [59:58], // PL
fesr_0 [57:55]}), // STBI
.sel0 (ras_write_fesr [0 ] ),
.sel1 (ras_update_priv [0 ] ),
.sel2 (ras_rd_fesr [0 ] ),
.dout ({fesr_0 [61:60], // ET
fesr_0 [57:55]}), // STBI
tlu_dfd_dp_msff_macro__mux_aonpe__ports_3__width_7 fesr_1_lat (
.scan_in(fesr_1_lat_wmr_scanin),
.scan_out(fesr_1_lat_wmr_scanout),
.din0 ({ras_fesr_et_1 [61:60], // ET
ras_fesr_ea_1 [59:55]}), // PL, STBI
.din1 ({fesr_1 [61:60], // ET
ras_fesr_priv [59:58], // PL
fesr_1 [57:55]}), // STBI
.sel0 (ras_write_fesr [1 ] ),
.sel1 (ras_update_priv [1 ] ),
.sel2 (ras_rd_fesr [1 ] ),
.dout ({fesr_1 [61:60], // ET
fesr_1 [57:55]}), // STBI
tlu_dfd_dp_msff_macro__mux_aonpe__ports_3__width_7 fesr_2_lat (
.scan_in(fesr_2_lat_wmr_scanin),
.scan_out(fesr_2_lat_wmr_scanout),
.din0 ({ras_fesr_et_2 [61:60], // ET
ras_fesr_ea_2 [59:55]}), // PL, STBI
.din1 ({fesr_2 [61:60], // ET
ras_fesr_priv [59:58], // PL
fesr_2 [57:55]}), // STBI
.sel0 (ras_write_fesr [2 ] ),
.sel1 (ras_update_priv [2 ] ),
.sel2 (ras_rd_fesr [2 ] ),
.dout ({fesr_2 [61:60], // ET
fesr_2 [57:55]}), // STBI
tlu_dfd_dp_msff_macro__mux_aonpe__ports_3__width_7 fesr_3_lat (
.scan_in(fesr_3_lat_wmr_scanin),
.scan_out(fesr_3_lat_wmr_scanout),
.din0 ({ras_fesr_et_3 [61:60], // ET
ras_fesr_ea_3 [59:55]}), // PL, STBI
.din1 ({fesr_3 [61:60], // ET
ras_fesr_priv [59:58], // PL
fesr_3 [57:55]}), // STBI
.sel0 (ras_write_fesr [3 ] ),
.sel1 (ras_update_priv [3 ] ),
.sel2 (ras_rd_fesr [3 ] ),
.dout ({fesr_3 [61:60], // ET
fesr_3 [57:55]}), // STBI
tlu_dfd_dp_msff_macro__mux_aonpe__ports_3__width_7 fesr_4_lat (
.scan_in(fesr_4_lat_wmr_scanin),
.scan_out(fesr_4_lat_wmr_scanout),
.din0 ({ras_fesr_et_4 [61:60], // ET
ras_fesr_ea_4 [59:55]}), // PL, STBI
.din1 ({fesr_4 [61:60], // ET
ras_fesr_priv [59:58], // PL
fesr_4 [57:55]}), // STBI
.sel0 (ras_write_fesr [4 ] ),
.sel1 (ras_update_priv [4 ] ),
.sel2 (ras_rd_fesr [4 ] ),
.dout ({fesr_4 [61:60], // ET
fesr_4 [57:55]}), // STBI
tlu_dfd_dp_msff_macro__mux_aonpe__ports_3__width_7 fesr_5_lat (
.scan_in(fesr_5_lat_wmr_scanin),
.scan_out(fesr_5_lat_wmr_scanout),
.din0 ({ras_fesr_et_5 [61:60], // ET
ras_fesr_ea_5 [59:55]}), // PL, STBI
.din1 ({fesr_5 [61:60], // ET
ras_fesr_priv [59:58], // PL
fesr_5 [57:55]}), // STBI
.sel0 (ras_write_fesr [5 ] ),
.sel1 (ras_update_priv [5 ] ),
.sel2 (ras_rd_fesr [5 ] ),
.dout ({fesr_5 [61:60], // ET
fesr_5 [57:55]}), // STBI
tlu_dfd_dp_msff_macro__mux_aonpe__ports_3__width_7 fesr_6_lat (
.scan_in(fesr_6_lat_wmr_scanin),
.scan_out(fesr_6_lat_wmr_scanout),
.din0 ({ras_fesr_et_6 [61:60], // ET
ras_fesr_ea_6 [59:55]}), // PL, STBI
.din1 ({fesr_6 [61:60], // ET
ras_fesr_priv [59:58], // PL
fesr_6 [57:55]}), // STBI
.sel0 (ras_write_fesr [6 ] ),
.sel1 (ras_update_priv [6 ] ),
.sel2 (ras_rd_fesr [6 ] ),
.dout ({fesr_6 [61:60], // ET
fesr_6 [57:55]}), // STBI
tlu_dfd_dp_msff_macro__mux_aonpe__ports_3__width_7 fesr_7_lat (
.scan_in(fesr_7_lat_wmr_scanin),
.scan_out(fesr_7_lat_wmr_scanout),
.din0 ({ras_fesr_et_7 [61:60], // ET
ras_fesr_ea_7 [59:55]}), // PL, STBI
.din1 ({fesr_7 [61:60], // ET
ras_fesr_priv [59:58], // PL
fesr_7 [57:55]}), // STBI
.sel0 (ras_write_fesr [7 ] ),
.sel1 (ras_update_priv [7 ] ),
.sel2 (ras_rd_fesr [7 ] ),
.dout ({fesr_7 [61:60], // ET
fesr_7 [57:55]}), // STBI
tlu_dfd_dp_or_macro__ports_2__width_8 fesr_f_or (
.dout (dfd_fesr_f [7:0] )
tlu_dfd_dp_buff_macro__dbuff_16x__width_16 fesr_priv_buf (
.dout ({dfd_fesr_priv_7 [1:0],
//////////////////////////////////////////////////////////////////////
tlu_dfd_dp_mux_macro__mux_aonpe__ports_8__stack_48c__width_48 dsfar_mux (
.sel0 (ras_rd_dsfar [0 ] ),
.sel1 (ras_rd_dsfar [1 ] ),
.sel2 (ras_rd_dsfar [2 ] ),
.sel3 (ras_rd_dsfar [3 ] ),
.sel4 (ras_rd_dsfar [4 ] ),
.sel5 (ras_rd_dsfar [5 ] ),
.sel6 (ras_rd_dsfar [6 ] ),
.sel7 (ras_rd_dsfar [7 ] ),
tlu_dfd_dp_mux_macro__dmux_8x__mux_aonpe__ports_8__width_19 desr_mux (
.din0 ({desr_0 [63 ], // F
.din1 ({desr_1 [63 ], // F
.din2 ({desr_2 [63 ], // F
.din3 ({desr_3 [63 ], // F
.din4 ({desr_4 [63 ], // F
.din5 ({desr_5 [63 ], // F
.din6 ({desr_6 [63 ], // F
.din7 ({desr_7 [63 ], // F
.sel0 (ras_rd_desr [0 ] ),
.sel1 (ras_rd_desr [1 ] ),
.sel2 (ras_rd_desr [2 ] ),
.sel3 (ras_rd_desr [3 ] ),
.sel4 (ras_rd_desr [4 ] ),
.sel5 (ras_rd_desr [5 ] ),
.sel6 (ras_rd_desr [6 ] ),
.sel7 (ras_rd_desr [7 ] ),
// Next stage of muxing in tlu_asi_ctl
assign dfd_asi_desr[18:0] =
tlu_dfd_dp_mux_macro__mux_aonpe__ports_8__width_7 fesr_mux (
.din0 ({fesr_0 [61:60], // ET
fesr_0 [57:55]}), // STBI
.din1 ({fesr_1 [61:60], // ET
fesr_1 [57:55]}), // STBI
.din2 ({fesr_2 [61:60], // ET
fesr_2 [57:55]}), // STBI
.din3 ({fesr_3 [61:60], // ET
fesr_3 [57:55]}), // STBI
.din4 ({fesr_4 [61:60], // ET
fesr_4 [57:55]}), // STBI
.din5 ({fesr_5 [61:60], // ET
fesr_5 [57:55]}), // STBI
.din6 ({fesr_6 [61:60], // ET
fesr_6 [57:55]}), // STBI
.din7 ({fesr_7 [61:60], // ET
fesr_7 [57:55]}), // STBI
.sel0 (ras_rd_fesr [0 ] ),
.sel1 (ras_rd_fesr [1 ] ),
.sel2 (ras_rd_fesr [2 ] ),
.sel3 (ras_rd_fesr [3 ] ),
.sel4 (ras_rd_fesr [4 ] ),
.sel5 (ras_rd_fesr [5 ] ),
.sel6 (ras_rd_fesr [6 ] ),
.sel7 (ras_rd_fesr [7 ] ),
// Map of how the various registers get merged into the ASI bus in DFD
// dfd_asi_data 47:41 40:37 36:19 18:0
// dsfar 47:41 40:37 36:19 18:0
tlu_dfd_dp_or_macro__ports_2__stack_48c__width_48 asi_data_or (
.dout (dfd_asi_data [47:0] )
assign lsu_br_va_0_lat_scanin = scan_in ;
assign lsu_br_va_1_lat_scanin = lsu_br_va_0_lat_scanout ;
assign va_0_w1_lat_scanin = lsu_br_va_1_lat_scanout ;
assign va_1_w1_lat_scanin = va_0_w1_lat_scanout ;
assign scan_out = va_1_w1_lat_scanout ;
assign dsfar_0_lat_wmr_scanin = wmr_scan_in ;
assign dsfar_1_lat_wmr_scanin = dsfar_0_lat_wmr_scanout ;
assign dsfar_2_lat_wmr_scanin = dsfar_1_lat_wmr_scanout ;
assign dsfar_3_lat_wmr_scanin = dsfar_2_lat_wmr_scanout ;
assign dsfar_4_lat_wmr_scanin = dsfar_3_lat_wmr_scanout ;
assign dsfar_5_lat_wmr_scanin = dsfar_4_lat_wmr_scanout ;
assign dsfar_6_lat_wmr_scanin = dsfar_5_lat_wmr_scanout ;
assign dsfar_7_lat_wmr_scanin = dsfar_6_lat_wmr_scanout ;
assign desr_0_lat_wmr_scanin = dsfar_7_lat_wmr_scanout ;
assign desr_1_lat_wmr_scanin = desr_0_lat_wmr_scanout ;
assign desr_2_lat_wmr_scanin = desr_1_lat_wmr_scanout ;
assign desr_3_lat_wmr_scanin = desr_2_lat_wmr_scanout ;
assign desr_4_lat_wmr_scanin = desr_3_lat_wmr_scanout ;
assign desr_5_lat_wmr_scanin = desr_4_lat_wmr_scanout ;
assign desr_6_lat_wmr_scanin = desr_5_lat_wmr_scanout ;
assign desr_7_lat_wmr_scanin = desr_6_lat_wmr_scanout ;
assign fesr_0_lat_wmr_scanin = desr_7_lat_wmr_scanout ;
assign fesr_1_lat_wmr_scanin = fesr_0_lat_wmr_scanout ;
assign fesr_2_lat_wmr_scanin = fesr_1_lat_wmr_scanout ;
assign fesr_3_lat_wmr_scanin = fesr_2_lat_wmr_scanout ;
assign fesr_4_lat_wmr_scanin = fesr_3_lat_wmr_scanout ;
assign fesr_5_lat_wmr_scanin = fesr_4_lat_wmr_scanout ;
assign fesr_6_lat_wmr_scanin = fesr_5_lat_wmr_scanout ;
assign fesr_7_lat_wmr_scanin = fesr_6_lat_wmr_scanout ;
assign wmr_scan_out = fesr_7_lat_wmr_scanout ;
module tlu_dfd_dp_buff_macro__width_4 (
// any PARAMS parms go into naming of macro
module tlu_dfd_dp_msff_macro__mux_aope__ports_2__stack_48c__width_48 (
.so({so[46:0],scan_out}),
// any PARAMS parms go into naming of macro
module tlu_dfd_dp_msff_macro__stack_48c__width_48 (
.so({so[46:0],scan_out}),
// any PARAMS parms go into naming of macro
module tlu_dfd_dp_msff_macro__mux_aope__ports_5__stack_48c__width_48 (
.so({so[46:0],scan_out}),
// any PARAMS parms go into naming of macro
module tlu_dfd_dp_msff_macro__mux_aope__ports_4__width_19 (
.so({so[17:0],scan_out}),
module tlu_dfd_dp_buff_macro__rep_1__stack_none__width_8 (
// any PARAMS parms go into naming of macro
module tlu_dfd_dp_msff_macro__mux_aonpe__ports_3__width_7 (
cl_dp1_muxbuff3_8x c1_0 (
// or macro for ports = 2,3
module tlu_dfd_dp_or_macro__ports_2__width_8 (
module tlu_dfd_dp_buff_macro__dbuff_16x__width_16 (
// 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 tlu_dfd_dp_mux_macro__mux_aonpe__ports_8__stack_48c__width_48 (
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 tlu_dfd_dp_mux_macro__dmux_8x__mux_aonpe__ports_8__width_19 (
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 tlu_dfd_dp_mux_macro__mux_aonpe__ports_8__width_7 (
cl_dp1_muxbuff8_8x c0_0 (
// or macro for ports = 2,3
module tlu_dfd_dp_or_macro__ports_2__stack_48c__width_48 (