Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / niu / vera / niu_pio / include / ipp_memory_map.vri
// ========== Copyright Header Begin ==========================================
//
// OpenSPARC T2 Processor File: ipp_memory_map.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 ============================================
#include "neptune_memory_map.vri"
#define IPP_PORT_STEP 16'h8000
#define IPP_CONFIG 20'h0_0000
#define IPP_DISCARD_PKT_COUNTER 20'h0_0020
#define IPP_TCP_CHKSUM_ERR_COUNTER 20'h0_0028
#define IPP_ECC_ERR_COUNTER 20'h0_0030
// ox24 to ox34 are reserved for any new counters
#define IPP_INT_STATUS 20'h0_0040
#define IPP_INT_MASK 20'h0_0048
// 0x40 to 0x44 are reserved for future use
#define IPP_FIFO_RD_DATA_31_0 20'h0_0060
#define IPP_FIFO_RD_DATA_63_32 20'h0_0068
#define IPP_FIFO_RD_DATA_95_64 20'h0_0070
#define IPP_FIFO_RD_DATA_127_96 20'h0_0078
#define IPP_FIFO_RD_DATA_129_128 20'h0_0080
#define IPP_FIFO_WR_DATA_31_0 20'h0_0088
#define IPP_FIFO_WR_DATA_63_32 20'h0_0090
#define IPP_FIFO_WR_DATA_95_64 20'h0_0098
#define IPP_FIFO_WR_DATA_127_96 20'h0_00a0
#define IPP_FIFO_WR_DATA_129_128 20'h0_00a8
#define IPP_FIFO_READ_POINTER 20'h0_00b0
#define IPP_FIFO_WRITE_POINTER 20'h0_00b8
//#define IPP_POINTER_QUEUE0 20'h0_00c0
//#define IPP_POINTER_QUEUE1 20'h0_00c8
//#define IPP_POINTER_QUEUE2 20'h0_00d0
//#define IPP_POINTER_QUEUE3 20'h0_00d8
//#define IPP_POINTER_QUEUE4 20'h0_00e0
//#define IPP_POINTER_QUEUE5 20'h0_00e8
//#define IPP_POINTER_QUEUE6 20'h0_00f0
//#define IPP_POINTER_QUEUE7 20'h0_00f8
#define IPP_STATE_MACHINE0 20'h0_0080
#define IPP_STATE_MACHINE1 20'h0_0084
// 0x88 to 0x90 are added for fflp decision bypass
#define IPP_DECISION_REG1 20'h0_0110
#define IPP_DECISION_REG2 20'h0_0118
#define IPP_DECISION_REG3 20'h0_0120
#define IPP_DEBUG_REG 20'h0_0128
// more defines for IPP
#define IPP_DFIFO_RD_PTR 20'h0_0110
#define IPP_DFIFO_WR_PTR 20'h0_0118
// BASE ADDRESS FOR EACH IPP BLOCK
#define IPP0_BASE (IPP_ADDRESS_RANGE + IPP_0_RANGE)
#define IPP1_BASE (IPP_ADDRESS_RANGE + IPP_1_RANGE)
#define IPP2_BASE (IPP_ADDRESS_RANGE + IPP_2_RANGE)
#define IPP3_BASE (IPP_ADDRESS_RANGE + IPP_3_RANGE)
// BIT DEFINES FOR IPP_INT_STAT AND IPP_INT_MSK REGISTERS
#define IPP_MASK_ECC_ERR_MX 7
#define IPP_MASK_DFIFO_EOP_SOP 6
#define IPP_MASK_DFIFO_UC 5
#define IPP_MASK_PFIFO_PAR 4
#define IPP_MASK_PFIFO_OVER 3
#define IPP_MASK_PFIFO_UND 2
#define IPP_MASK_BAD_CS 1
#define IPP_MASK_PKT_DIS_CNT 0
#define IPP_STAT_SOP_MISS 31 // corresponds to MASK 6
#define IPP_STAT_EOP_MISS 30 // corresponds to MASK 6
#define IPP_STAT_DFIFO_UE 29:28 // corresponds to MASK 5
#define IPP_STAT_DFIFO_CE 27:26
#define IPP_STAT_DFIFO_ECC 25:24
#define IPP_STAT_DFIFO_ECC_ID 22:12
#define IPP_STAT_PFIFO_PERR 11 // corresponds to MASK 4
#define IPP_STAT_ECC_ERR_MA 10 // corresponds to MASK 7
#define IPP_STAT_PFIFO_ERR_ID 9:4
#define IPP_STAT_PFIFO_OVER 3 // corresponds to MASK 3
#define IPP_STAT_PFIFO_UND 2 // corresponds to MASK 2
#define IPP_STAT_BAD_CS_MX 1 // corresponds to MASK 1
#define IPP_STAT_PKT_DIS_MX 0 // corresponds to MASK 0