Expanded versions of source files are the output of the preprocessor. Lines subject to
conditional compilation are not shown and all compiler pragmas have been stripped. Macros
have been completely expanded.
00001: //
00002: // -------------------------------------------------------------
00003: // Copyright 2004-2008 Synopsys, Inc.
00004: // All Rights Reserved Worldwide
00005: //
00006: // Licensed under the Apache License, Version 2.0 (the
00007: // "License"); you may not use this file except in
00008: // compliance with the License. You may obtain a copy of
00009: // the License at
00010: //
00011: // http://www.apache.org/licenses/LICENSE-2.0
00012: //
00013: // Unless required by applicable law or agreed to in
00014: // writing, software distributed under the License is
00015: // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
00016: // CONDITIONS OF ANY KIND, either express or implied. See
00017: // the License for the specific language governing
00018: // permissions and limitations under the License.
00019: // -------------------------------------------------------------
00020: //
00021:
00023: `define RVM_RAL__SV
00024:
00025:
00027: `define VMM_RAL_ADDR_WIDTH 64
:
00029:
00031: `define VMM_RAL_DATA_WIDTH 64
:
00033:
00034:
00036:
00038:
00039: typedef class vmm_ral_field;
00040: typedef class vmm_ral_vfield;
00041: typedef class vmm_ral_reg;
00042: typedef class vmm_ral_vreg;
00043: typedef class vmm_ral_block;
00044: typedef class vmm_ral_mem;
00045: typedef class vmm_ral_sys;
00046: typedef class vmm_ral_access;
00047:
00048: class vmm_ral;
00049: typedef enum {
00050: BFM,
00051: BACKDOOR,
00052: DEFAULT
00053: } path_e;
00054:
00055: typedef enum {
00056: RW,
00057: RO,
00058: WO,
00059: W1,
00060: RU,
00061: RC,
00062: W1C,
00063: A0,
00064: A1,
00065: DC, // Important that DC be followed by OTHER & USER and none other
00066: OTHER,
00067: USER0,
00068: USER1,
00069: USER2,
00070: USER3
00071: } access_e;
00072:
00073: typedef enum {
00074: QUIET,
00075: VERB
00076: } check_e;
00077:
00078: typedef enum {
00079: NO_ENDIAN,
00080: LITTLE_ENDIAN,
00081: BIG_ENDIAN,
00082: LITTLE_FIFO,
00083: BIG_FIFO
00084: } endianness_e;
00085:
00086: typedef enum {
00087: HARD,
00088: SOFT
00089: } reset_e;
00090:
00091: typedef enum {
00092: NO_COVERAGE = 'h0000,
00093: REG_BITS = 'h0001,
00094: ADDR_MAP = 'h0002,
00095: FIELD_VALS = 'h0004,
00096: ALL_COVERAGE = 'h0007
00097: } coverage_model_e;
00098: endclass: vmm_ral
00099:
00100:
00101: class vmm_ral_callbacks extends vmm_xactor_callbacks;
00102: endclass: vmm_ral_callbacks
00103:
00104:
00119: