Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / fnx / vlib / CSRAccessMethod / include / general_csr_defines.vri
// ========== Copyright Header Begin ==========================================
//
// OpenSPARC T2 Processor File: general_csr_defines.vri
// 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 ============================================
#define BOOLEAN bit
#define ZEROS 64'b0
#define CSRT_CHECK_DISABLED 0
#define CSRT_CHECK_ENABLED 1
#define CSRT_ALL_OUTPUT_MSG_DISABLED 0
#define CSRT_ERROR_MSG_ONLY_ENABLED 1
#define CSRT_WARNING_MSG_ENABLED 2
#define CSRT_COLLECTION_LEVEL_MSG_ENABLED 3
#define CSRT_ACCESSOR_LEVEL_MSG_ENABLED 4
#define CSRT_ALL_OUTPUT_MSG_ENABLED 5
#define CSRT_SUCCESSFUL_RETURN_CODE 1
#define CSRT_MISMATCH_RETURN_CODE 0
#define CSRT_ADDR_OFFSET_WIDTH 64
#define CSRT_MODE_WIDTH 64
#define CSRT_DATA_WIDTH 64
#define CSRT_ADDR_WIDTH 32
#define CSRT_ERROR_WIDTH 64
#define CSRT_NO_ACCESS 0
#define CSRT_READ_ACCESS 1
#define CSRT_FULL_ACCESS 2
#define CSRT_HW_ACCESS 3
//access mode bits
#define CSRT_ZERO_TIME_ACCESS 0
#define CSRT_DIAG_MODE 1
#define CSRT_USE_DEFAULT_METHOD -1 // Sentinel to indicate use of default access method.
// Not used outside of CSRAccessor class.
#define CSRT_SB_DEFAULT_ROUTING_FIELD 20'h80001
#define CSRT_SB_WRITE_NO_WAIT_POS 32
#define CSRT_SB_WRITE_NO_WAIT ((64'h1 << CSRT_SB_WRITE_NO_WAIT_POS) | CSRT_SB_DEFAULT_ROUTING_FIELD)
#define CSRT_SB_WRITE_WAIT ((64'h0 << CSRT_SB_WRITE_NO_WAIT_POS) | CSRT_SB_DEFAULT_ROUTING_FIELD)
//These are conventions for TID reporting with non-omni CSR access.
#define CSRT_ACCESS_METHOD_CONTEXT_NUM 1000
#define CSRT_SBUS_STRATEGY_NUM 100
#define CSRT_RAP_STRATEGY_NUM 200
#define M8B_MAX_EVENT 8
#define M8B_FE_POSITION 63
#define M8B_ME_POSITION 62