00001 // $Id: ovm__object__globals_8svh-source.html,v 1.1 2008/10/07 21:54:15 alex.marin Exp $ 00002 //---------------------------------------------------------------------- 00003 // Copyright 2007-2008 Mentor Graphics Corporation 00004 // Copyright 2007-2008 Cadence Design Systems, Inc. 00005 // All Rights Reserved Worldwide 00006 // 00007 // Licensed under the Apache License, Version 2.0 (the 00008 // "License"); you may not use this file except in 00009 // compliance with the License. You may obtain a copy of 00010 // the License at 00011 // 00012 // http://www.apache.org/licenses/LICENSE-2.0 00013 // 00014 // Unless required by applicable law or agreed to in 00015 // writing, software distributed under the License is 00016 // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 00017 // CONDITIONS OF ANY KIND, either express or implied. See 00018 // the License for the specific language governing 00019 // permissions and limitations under the License. 00020 //---------------------------------------------------------------------- 00021 00022 `ifndef OVM_OBJECT_GLOBALS_SVH 00023 `define OVM_OBJECT_GLOBALS_SVH 00024 00025 //This bit marks where filtering should occur to remove urm stuff from a 00026 //scope 00027 bit ovm_start_ovm_declarations = 1; 00028 00029 //---------------------------------------------------------------------------- 00030 // 00031 // General purpose parameters and typedefs 00032 // 00033 //---------------------------------------------------------------------------- 00034 // 00035 //Current problem with large vector inout decls. 00036 parameter OVM_STREAMBITS = 4096; 00037 typedef logic signed [OVM_STREAMBITS-1:0] ovm_bitstream_t; 00038 00039 //------------------------------------------------------------------------------ 00040 // 00041 // Enumerations 00042 // 00043 //------------------------------------------------------------------------------ 00044 // Radix definition 00045 parameter OVM_RADIX = 'hf000000; //4 bits setting the radix 00046 00047 // ovm_radix_enum 00048 // ---------- 00049 00050 typedef enum { 00051 OVM_BIN = 'h1000000, 00052 OVM_DEC = 'h2000000, 00053 OVM_UNSIGNED = 'h3000000, 00054 OVM_OCT = 'h4000000, 00055 OVM_HEX = 'h5000000, 00056 OVM_STRING = 'h6000000, 00057 OVM_TIME = 'h7000000, 00058 OVM_ENUM = 'h8000000, 00059 OVM_NORADIX = 0 00060 } ovm_radix_enum; 00061 00062 function string ovm_radix_to_string(ovm_radix_enum radix); 00063 case(radix) 00064 OVM_BIN: return "'b"; 00065 OVM_OCT: return "'o"; 00066 OVM_DEC: return "'s"; 00067 OVM_TIME: return "'u"; 00068 OVM_STRING: return "'a"; 00069 default: return "'x"; 00070 endcase 00071 endfunction 00072 00073 // ovm_recursion_policy_enum 00074 // --------------------- 00075 00076 typedef enum { 00077 OVM_DEFAULT_POLICY = 0, 00078 OVM_DEEP = 'h400, 00079 OVM_SHALLOW = 'h800, 00080 OVM_REFERENCE = 'h1000 00081 } ovm_recursion_policy_enum; 00082 00083 //------------------------------------------------------------------------------ 00084 // 00085 // Parameters 00086 // 00087 //------------------------------------------------------------------------------ 00088 00089 parameter OVM_MACRO_NUMFLAGS = 17; 00090 //A=ABSTRACT Y=PHYSICAL 00091 //F=REFERENCE, S=SHALLOW, D=DEEP 00092 //K=PACK, R=RECORD, P=PRINT, M=COMPARE, C=COPY 00093 //--------------------------- AYFSD K R P M C 00094 parameter OVM_DEFAULT = 'b110010101010101; 00095 parameter OVM_ALL_ON = 'b110000101010101; 00096 parameter OVM_FLAGS_ON = 'b000000101010101; 00097 parameter OVM_FLAGS_OFF = 0; 00098 00099 //Values are or'ed into a 32 bit value 00100 //and externally 00101 parameter OVM_COPY = (1<<0); 00102 parameter OVM_NOCOPY = (1<<1); 00103 parameter OVM_COMPARE = (1<<2); 00104 parameter OVM_NOCOMPARE = (1<<3); 00105 parameter OVM_PRINT = (1<<4); 00106 parameter OVM_NOPRINT = (1<<5); 00107 parameter OVM_RECORD = (1<<6); 00108 parameter OVM_NORECORD = (1<<7); 00109 parameter OVM_PACK = (1<<8); 00110 parameter OVM_NOPACK = (1<<9); 00111 //parameter OVM_DEEP = (1<<10); 00112 //parameter OVM_SHALLOW = (1<<11); 00113 //parameter OVM_REFERENCE = (1<<12); 00114 parameter OVM_PHYSICAL = (1<<13); 00115 parameter OVM_ABSTRACT = (1<<14); 00116 parameter OVM_READONLY = (1<<15); 00117 parameter OVM_NODEFPRINT = (1<<16); 00118 00119 //Extra values that are used for extra methods 00120 parameter OVM_MACRO_EXTRAS = (1<<OVM_MACRO_NUMFLAGS); 00121 parameter OVM_FLAGS = OVM_MACRO_EXTRAS+1; 00122 parameter OVM_UNPACK = OVM_MACRO_EXTRAS+2; 00123 parameter OVM_CHECK_FIELDS = OVM_MACRO_EXTRAS+3; 00124 parameter OVM_END_DATA_EXTRA = OVM_MACRO_EXTRAS+4; 00125 00126 00127 //Get and set methods (in ovm_object). Used by the set/get* functions 00128 //to tell the object what operation to perform on the fields. 00129 parameter OVM_START_FUNCS = OVM_END_DATA_EXTRA+1; 00130 parameter OVM_SET = OVM_START_FUNCS+1; 00131 parameter OVM_SETINT = OVM_SET; 00132 parameter OVM_SETOBJ = OVM_START_FUNCS+2; 00133 parameter OVM_SETSTR = OVM_START_FUNCS+3; 00134 parameter OVM_END_FUNCS = OVM_SETSTR; 00135 00136 //Global string variables 00137 string ovm_aa_string_key; 00138 `endif //OVM_OBJECT_GLOBALS_SVH
![]() Intelligent Design Verification Project: OVM, Revision: 1.1.0 |
Copyright (c) 2008 Intelligent Design Verification. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included here: http://www.intelligentdv.com/licenses/fdl.txt |
![]() Doxygen Version: 1.4.6 Mon Sep 29 14:23:30 2008 |