// ========== Copyright Header Begin ==========================================
// OpenSPARC T2 Processor File: nas_regs.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 [63:0] GSR_wire = { GSR_reg[42:11] , // Mask
wire [63:0] FSR_wire = {26'b0 , // unused
FSR_reg[19:18] , // ftt[1:0]
FSR_reg[12:8] } ; // cexc
wire [47:0] TPC1_wire = {Trap_Entry_1[91:46],2'b0};
wire [47:0] TNPC1_wire = {Trap_Entry_1[45:0],2'b0};
wire [8 :0] TT1_wire = Trap_Entry_1[100:92];
wire [41:0] TSTATE1_wire = {Trap_Entry_1[132:131], // GL[1:0]
Trap_Entry_1[130:123], // CCR[7:0]
Trap_Entry_1[122:115], // ASI[7:0]
Trap_Entry_1[111], // pstate.tct
Trap_Entry_1[113], // pstate.cle
Trap_Entry_1[112], // pstate.tle
Trap_Entry_1[108:105], // pstate.{pef.am.prv.ie}
Trap_Entry_1[103:101] // CWP[2:0]
wire [10:0] HTSTATE1_wire = {Trap_Entry_1[114], // hpstate.ibe
Trap_Entry_1[109], // hpstate.red
Trap_Entry_1[110], // hpstate.hpriv
Trap_Entry_1[104] // hpstate.tlz
wire [47:0] TPC2_wire = {Trap_Entry_2[91:46],2'b0};
wire [47:0] TNPC2_wire = {Trap_Entry_2[45:0],2'b0};
wire [8 :0] TT2_wire = Trap_Entry_2[100:92];
wire [41:0] TSTATE2_wire = {Trap_Entry_2[132:131], // GL[1:0]
Trap_Entry_2[130:123], // CCR[7:0]
Trap_Entry_2[122:115], // ASI[7:0]
Trap_Entry_2[111], // pstate.tct
Trap_Entry_2[113], // pstate.cle
Trap_Entry_2[112], // pstate.tle
Trap_Entry_2[108:105], // pstate.{pef.am.prv.ie}
Trap_Entry_2[103:101] // CWP[2:0]
wire [10:0] HTSTATE2_wire = {Trap_Entry_2[114], // hpstate.ibe
Trap_Entry_2[109], // hpstate.red
Trap_Entry_2[110], // hpstate.hpriv
Trap_Entry_2[104] // hpstate.tlz
wire [47:0] TPC3_wire = {Trap_Entry_3[91:46],2'b0};
wire [47:0] TNPC3_wire = {Trap_Entry_3[45:0],2'b0};
wire [8 :0] TT3_wire = Trap_Entry_3[100:92];
wire [41:0] TSTATE3_wire = {Trap_Entry_3[132:131], // GL[1:0]
Trap_Entry_3[130:123], // CCR[7:0]
Trap_Entry_3[122:115], // ASI[7:0]
Trap_Entry_3[111], // pstate.tct
Trap_Entry_3[113], // pstate.cle
Trap_Entry_3[112], // pstate.tle
Trap_Entry_3[108:105], // pstate.{pef.am.prv.ie}
Trap_Entry_3[103:101] // CWP[2:0]
wire [10:0] HTSTATE3_wire = {Trap_Entry_3[114], // hpstate.ibe
Trap_Entry_3[109], // hpstate.red
Trap_Entry_3[110], // hpstate.hpriv
Trap_Entry_3[104] // hpstate.tlz
wire [47:0] TPC4_wire = {Trap_Entry_4[91:46],2'b0};
wire [47:0] TNPC4_wire = {Trap_Entry_4[45:0],2'b0};
wire [8 :0] TT4_wire = Trap_Entry_4[100:92];
wire [41:0] TSTATE4_wire = {Trap_Entry_4[132:131], // GL[1:0]
Trap_Entry_4[130:123], // CCR[7:0]
Trap_Entry_4[122:115], // ASI[7:0]
Trap_Entry_4[111], // pstate.tct
Trap_Entry_4[113], // pstate.cle
Trap_Entry_4[112], // pstate.tle
Trap_Entry_4[108:105], // pstate.{pef.am.prv.ie}
Trap_Entry_4[103:101] // CWP[2:0]
wire [10:0] HTSTATE4_wire = {Trap_Entry_4[114], // hpstate.ibe
Trap_Entry_4[109], // hpstate.red
Trap_Entry_4[110], // hpstate.hpriv
Trap_Entry_4[104] // hpstate.tlz
wire [47:0] TPC5_wire = {Trap_Entry_5[91:46],2'b0};
wire [47:0] TNPC5_wire = {Trap_Entry_5[45:0],2'b0};
wire [8 :0] TT5_wire = Trap_Entry_5[100:92];
wire [41:0] TSTATE5_wire = {Trap_Entry_5[132:131], // GL[1:0]
Trap_Entry_5[130:123], // CCR[7:0]
Trap_Entry_5[122:115], // ASI[7:0]
Trap_Entry_5[111], // pstate.tct
Trap_Entry_5[113], // pstate.cle
Trap_Entry_5[112], // pstate.tle
Trap_Entry_5[108:105], // pstate.{pef.am.prv.ie}
Trap_Entry_5[103:101] // CWP[2:0]
wire [10:0] HTSTATE5_wire = {Trap_Entry_5[114], // hpstate.ibe
Trap_Entry_5[109], // hpstate.red
Trap_Entry_5[110], // hpstate.hpriv
Trap_Entry_5[104] // hpstate.tlz
wire [47:0] TPC6_wire = {Trap_Entry_6[91:46],2'b0};
wire [47:0] TNPC6_wire = {Trap_Entry_6[45:0],2'b0};
wire [8 :0] TT6_wire = Trap_Entry_6[100:92];
wire [41:0] TSTATE6_wire = {Trap_Entry_6[132:131], // GL[1:0]
Trap_Entry_6[130:123], // CCR[7:0]
Trap_Entry_6[122:115], // ASI[7:0]
Trap_Entry_6[111], // pstate.tct
Trap_Entry_6[113], // pstate.cle
Trap_Entry_6[112], // pstate.tle
Trap_Entry_6[108:105], // pstate.{pef.am.prv.ie}
Trap_Entry_6[103:101] // CWP[2:0]
wire [10:0] HTSTATE6_wire = {Trap_Entry_6[114], // hpstate.ibe
Trap_Entry_6[109], // hpstate.red
Trap_Entry_6[110], // hpstate.hpriv
Trap_Entry_6[104] // hpstate.tlz
wire [63:0] TICK_CMPR_wire = {~TICK_CMPR_reg[63],TICK_CMPR_reg[62:0]};
wire [63:0] STICK_CMPR_wire = {~STICK_CMPR_reg[63],STICK_CMPR_reg[62:0]};
wire [63:0] HSTICK_CMPR_wire = {~HSTICK_CMPR_reg[63],HSTICK_CMPR_reg[62:0]};