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:
00022:
00023: //
00024: // Protect against multiple inclusion of this file
00025: //
00027: `define VMM_VERSION__SV
00028:
00029:
00030: class vmm_version;
00031: extern function int major();
00032: extern function int minor();
00033: extern function int patch();
00034: extern function string vendor();
00035:
00036: extern function void display(string prefix = "");
00037: extern function string psdisplay(string prefix = "");
00038: extern function void cfdisplay(string prefix = "");
00039: endclass: vmm_version
00040:
00041: function int vmm_version::major();
00042: major = 1;
00043: endfunction: major
00044:
00045: function int vmm_version::minor();
00046: minor = 8;
00047: endfunction: minor
00048:
00049: function int vmm_version::patch();
00050: patch = 6;
00051: endfunction: patch
00052:
00053:
00054: function string vmm_version::vendor();
00055: vendor = "Synopsys";
00056: endfunction: vendor
00057:
00058: function void vmm_version::display(string prefix = "");
00059: $write("%s\n", this.psdisplay(prefix));
00060: endfunction: display
00061:
00062: function string vmm_version::psdisplay(string prefix = "");
00063: $sformat(psdisplay, "%sVMM Version %0d.%0d.%0d (%s)",
00064: prefix, this.major(), this.minor(), this.patch(),this.vendor());
00065: endfunction: psdisplay
00066:
00067:
00068: function void vmm_version::cfdisplay(string prefix = "");
00069: this.display(prefix);
00070: $write("%s\n%sMacro Definitions:",
00071: prefix, prefix);
00072:
00073: $write("\n");
00074: $write("%s VMM_CHANNEL %s\n",
00075: prefix, "vmm_channel");
00082:
00083: $write("\n");
00084: $write("%s VMM_CONSENSUS %s\n",
00085: prefix, "vmm_consensus");
00092:
00093: $write("\n");
00094: $write("%s VMM_DATA %s\n",
00095: prefix, "vmm_data");
00096: $write("%s VMM_DATA_NEW_ARGS %s\n",
00097: prefix, "");
00098: $write("%s VMM_DATA_NEW_EXTERN_ARGS %s\n",
00099: prefix, "");
00100: $write("%s VMM_DATA_NEW_CALL %s\n",
00101: prefix, "");
00112:
00113: $write("\n");
00114: $write("%s VMM_SCENARIO %s\n",
00115: prefix, "vmm_scenario");
00116: $write("%s VMM_SCENARIO_NEW_ARGS %s\n",
00117: prefix, "");
00118: $write("%s VMM_SCENARIO_NEW_EXTERN_ARGS %s\n",
00119: prefix, "");
00120: $write("%s VMM_SCENARIO_NEW_CALL %s\n",
00121: prefix, "");
00122: $write("%s VMM_SCENARIO_BASE %s\n",
00123: prefix, "vmm_data");
00124: $write("%s VMM_SCENARIO_BASE_NEW_ARGS %s\n",
00125: prefix, "");
00126: $write("%s VMM_SCENARIO_BASE_NEW_EXTERN_ARGS %s\n",
00127: prefix, "");
00128: $write("%s VMM_SCENARIO_BASE_NEW_CALL %s\n",
00129: prefix, "`VMM_DATA_BASE_NEW_CALL");
00130:
00131: $write("\n");
00132: $write("%s VMM_ENV %s\n",
00133: prefix, "vmm_env");
00134: $write("%s VMM_ENV_NEW_ARGS %s\n",
00135: prefix, "");
00136: $write("%s VMM_ENV_NEW_EXTERN_ARGS %s\n",
00137: prefix, "");
00138: $write("%s VMM_ENV_NEW_CALL %s\n",
00139: prefix, "");
00150:
00151: $write("\n");
00152: $write("%s VMM_LOG %s\n",
00153: prefix, "vmm_log");
00160:
00161: $write("\n");
00162: $write("%s VMM_NOTIFY %s\n",
00163: prefix, "vmm_notify");
00170:
00171: $write("\n");
00172: $write("%s VMM_XACTOR %s\n",
00173: prefix, "vmm_xactor");
00174: $write("%s VMM_XACTOR_NEW_ARGS %s\n",
00175: prefix, "");
00176: $write("%s VMM_XACTOR_NEW_EXTERN_ARGS %s\n",
00177: prefix, "");
00178: $write("%s VMM_XACTOR_NEW_CALL %s\n",
00179: prefix, "");
00190: endfunction: cfdisplay
00191: