// ========== Copyright Header Begin ==========================================
// OpenSPARC T2 Processor File: tlu_tel_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 [15:0] tsa_ecc_minbuf;
wire [3:0] trl_tsacu_en_in_minbuf;
input [15:0] ted_syndrome;
input [3:0] trl_tsacu_en_in;
output [15:0] tel_syndrome;
output [15:0] tel_crit_ecc;
output [3:0] tel_tsacu_exc;
output [3:0] tel_tsac_exc;
output [3:0] tel_tsau_exc;
////////////////////////////////////////////////////////////////////////////////
assign pce_ov = tcu_pce_ov;
////////////////////////////////////////////////////////////////////////////////
tlu_tel_dp_or_macro__ports_2__width_1 en_or (
.din1 (asi_mbist_tel_en ),
// Data is flopped, but ECC is not, so flop here
tlu_tel_dp_buff_macro__minbuff_1__width_20 ecc_lat_minbuff (
.dout ({tsa_ecc_minbuf [15:0],
trl_tsacu_en_in_minbuf[3:0]}));
tlu_tel_dp_msff_macro__width_38 ecc_lat (
.scan_in(ecc_lat_scanin),
.scan_out(ecc_lat_scanout),
.din ({tsa_ecc_minbuf [15:0],
trl_tsacu_en_in_minbuf[3:0],
assign tel_crit_ecc[15:0] =
tlu_tel_dp_buff_macro__rep_1__width_16 ecc_buf (
tlu_tel_dp_nand_macro__ports_2__width_1 tsau_in_nand (
tlu_tel_dp_nor_macro__ports_2__width_1 cecc_or_inv_nor (
tlu_tel_dp_nor_macro__ports_3__width_1 tsac_in_nor (
tlu_tel_dp_buff_macro__rep_1__width_1 tsac_buf (
tlu_tel_dp_buff_macro__rep_1__width_1 tsau_buf (
tlu_tel_dp_nand_macro__ports_2__width_4 tsac_exc_b_nand (
tlu_tel_dp_nand_macro__ports_2__width_4 tsau_exc_b_nand (
tlu_tel_dp_inv_macro__width_4 tsac_exc_inv (
.dout (tel_tsac_exc [3:0] )
tlu_tel_dp_inv_macro__width_4 tsau_exc_inv (
.dout (tel_tsau_exc [3:0] )
tlu_tel_dp_nand_macro__ports_2__width_4 tsacu_exc_nand (
.din0 (tsac_exc_ [3:0] ),
.din1 (tsau_exc_ [3:0] ),
.dout (tel_tsacu_exc [3:0] )
supply0 vss; // <- port for ground
supply1 vdd; // <- port for power
assign ecc_lat_scanin = scan_in ;
assign scan_out = ecc_lat_scanout ;
// or macro for ports = 2,3
module tlu_tel_dp_or_macro__ports_2__width_1 (
module tlu_tel_dp_buff_macro__minbuff_1__width_20 (
// any PARAMS parms go into naming of macro
module tlu_tel_dp_msff_macro__width_38 (
.so({so[36:0],scan_out}),
module tlu_tel_dp_buff_macro__rep_1__width_16 (
// nand macro for ports = 2,3,4
module tlu_tel_dp_nand_macro__ports_2__width_1 (
// nor macro for ports = 2,3
module tlu_tel_dp_nor_macro__ports_2__width_1 (
// nor macro for ports = 2,3
module tlu_tel_dp_nor_macro__ports_3__width_1 (
module tlu_tel_dp_buff_macro__rep_1__width_1 (
// nand macro for ports = 2,3,4
module tlu_tel_dp_nand_macro__ports_2__width_4 (
module tlu_tel_dp_inv_macro__width_4 (