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: function vmm_subenv::new(string name,
00024: string inst,
00025: vmm_consensus end_test
00026: );
00030: this.log = new(name, inst);
00031: this.end_test = end_test;
00032: endfunction: new
00033:
00034:
00035: function string vmm_subenv::psdisplay(string prefix = "");
00036: $sformat(psdisplay, "%sSub-Environment %s(%s): ", prefix,
00037: this.log.get_name(), this.log.get_instance());
00038: return psdisplay;
00039: endfunction
00040:
00041:
00042: function vmm_consensus vmm_subenv::get_consensus();
00043: return this.end_test;
00044: endfunction
00045:
00046:
00047: function void vmm_subenv:: configured();
00048: this.state = CONFIGURED;
00049: endfunction: configured
00050:
00051:
00052: task vmm_subenv::start();
00053: if (this.state == NEWED) begin
00054:
: do
: /* synopsys translate_off */
: if (this.log.start_msg(vmm_log::FAILURE_TYP, vmm_log::ERROR_SEV, "", -1)) begin
: void'(this.log.text("Sub-environment started before being configured"));
: this.log.end_msg();
: end
: /* synopsys translate_on */
: while (0);
00055: end
00056: this.state = STARTED;
00057: endtask: start
00058:
00059:
00060: task vmm_subenv::stop();
00061: if (this.state != STARTED) begin
00062:
: do
: /* synopsys translate_off */
: if (this.log.start_msg(vmm_log::FAILURE_TYP, vmm_log::WARNING_SEV, "", -1)) begin
: void'(this.log.text("Attempting to stop a sub-environment that has not been started"));
: this.log.end_msg();
: end
: /* synopsys translate_on */
: while(0);
00063: end
00064: this.state = STOPPED;
00065: endtask: stop
00066:
00067:
00068: task vmm_subenv::reset(vmm_env::restart_e kind = vmm_env::FIRM);
00069: this.state = STOPPED;
00070: endtask: reset
00071:
00072:
00073: task vmm_subenv::cleanup();
00074: if (this.state != STOPPED) begin
00075:
: do
: /* synopsys translate_off */
: if (this.log.start_msg(vmm_log::FAILURE_TYP, vmm_log::WARNING_SEV, "", -1)) begin
: void'(this.log.text("Attempting to clean-up a sub-environment that has not been stopped"));
: this.log.end_msg();
: end
: /* synopsys translate_on */
: while(0);
00076: end
00077: this.state = CLEANED;
00078: endtask: cleanup
00079:
00080:
00081: function void vmm_subenv::report();
00082: endfunction: report
00083:
00084:
00085: function string vmm_subenv::do_psdisplay(string prefix = "");
00086: this.__vmm_done_user = 0;
00087: endfunction
00088:
00089:
00090: task vmm_subenv::do_vote();
00091: this.__vmm_done_user = 0;
00092: endtask
00093:
00094:
00095: task vmm_subenv::do_start();
00096: this.__vmm_done_user = 0;
00097: endtask
00098:
00099:
00100: task vmm_subenv::do_stop();
00101: this.__vmm_done_user = 0;
00102: endtask
00103:
00104:
00105: task vmm_subenv::do_reset(vmm_env::restart_e kind);
00106: this.__vmm_done_user = 0;
00107: endtask