VMM Test: Environment Class. More...

Public Member Functions | |
| new () | |
| Constructor. | |
| virtual void | gen_cfg () |
| VMM Environment Step 1 - Generate Configuration. | |
| virtual void | build () |
| VMM Environment Step 2 - Build Environment. | |
| virtual task | reset_dut () |
| VMM Environment Step 3 - Reset DUT. | |
| virtual task | cfg_dut () |
| VMM Environment Step 4 - Configure DUT. | |
| virtual task | start () |
| VMM Environment Step 5 - Start Transactors. | |
| virtual task | wait_for_end () |
| VMM Environment Step 6 - Wait For End. | |
| virtual task | stop () |
| VMM Environment Step 7 - Stop Transactors. | |
| virtual task | cleanup () |
| VMM Environment Step 8 - Cleanup. | |
| virtual task | report () |
| VMM Environment Step 9 - Report. | |
Public Attributes | |
| rand env_cfg | m_env_cfg |
| Environment Configuration. | |
| idv_rst_trans_default | m_rst_trans_default |
| Reset Transaction Default for this DUT. | |
| idv_rst_data_atomic_gen | m_rst_gen |
| Reset Atomic Generator. | |
| idv_rst_bfm_xactor | m_rst_bfm |
| Reset BFM Transactor. | |
| idv_rst_mon_xactor | m_rst_mon |
| Reset Monitor Transactor. | |
| idv_rst_cov_callback | m_rst_cov |
| Reset Coverage Callback. | |
| idv_rst_cov_callback | m_rst_mon_cov |
| Reset Coverage Callback. | |
| idv_rst_data_atomic_gen | m_rsttst_gen |
| Reset Atomic Generator. | |
| idv_rst_bfm_xactor | m_rsttst_bfm |
| Reset BFM Transactor. | |
| idv_rst_mon_xactor | m_rsttst_mon |
| Reset Monitor Transactor. | |
| idv_rst_cov_callback | m_rsttst_cov |
| Reset Coverage Callback. | |
| idv_rst_cov_callback | m_rsttst_mon_cov |
| Reset Coverage Callback. | |
Private Attributes | |
| vmm_log | m_log |
| Log. | |
VMM Test: Environment Class.
The Environment Class (env) is a class that is effectively the test harness. It is used to instantiate the Scenario Layer, the Functional Layer, and the Command Layer. It connects these layers together and to the Signal Layer. The Environment Class is instantiated by the top level test program. The Environment Class extends the vmm_env class.
This VMM environment instantiates the reset transactors to test the reset transactor.
Definition at line 72 of file env.sv.
| void env::build | ( | ) | [virtual] |
VMM Environment Step 2 - Build Environment.
Builds the verification environment according to the value of the test configuration descriptor. If this method has not been explicitly invoked in the test program, it will be implicitly invoked by the vmm_env::reset_dut() method.
Build the testbench, xactors, scoreboard, callbacks.
| task env::cfg_dut | ( | ) | [virtual] |
VMM Environment Step 4 - Configure DUT.
Configures the DUT according to the value of the test configuration descriptor. If this method has not been explicitly invoked in the test program, it will be implicitly invoked by the vmm_env::start() method.
| task env::cleanup | ( | ) | [virtual] |
VMM Environment Step 8 - Cleanup.
Performs clean-up operations to let the simulation terminate gracefully. Clean-up operations may include letting the DUT drain off all buffered data, reading statistics registers in the DUT and sweeping the scoreboard for leftover expected responses. If this method has not been explicitly invoked in the test program, it will be implicitly invoked by the vmm_env::run() method.
Cleanup the testbench, report any scoreboard errors etc.
| void env::gen_cfg | ( | ) | [virtual] |
VMM Environment Step 1 - Generate Configuration.
Randomizes the test configuration descriptor. If this method has not been explicitly invoked in the test program, it will be implicitly invoked by the vmm_env::build() method.
Randomize the cfg object(s), print a fatal message if the randomization fails.
| env::new | ( | ) |
| task env::report | ( | ) | [virtual] |
VMM Environment Step 9 - Report.
Reports final success or failure of the test and close all files. If this method has not been explicitly invoked in the test program, it will be implicitly invoked by the vmm_env::run() method.
| task env::reset_dut | ( | ) | [virtual] |
| task env::start | ( | ) | [virtual] |
VMM Environment Step 5 - Start Transactors.
Starts all the components of the verification environment to start the actual test. If this method has not been explicitly invoked in the test program, it will be implicitly invoked by the vmm_env::wait_for_end() method.
| task env::stop | ( | ) | [virtual] |
VMM Environment Step 7 - Stop Transactors.
Stops all the components of the verification environment to terminate the simulation cleanly. If this method has not been explicitly invoked in the test program, it will be implicitly invoked by the vmm_env::cleanup() method.
| task env::wait_for_end | ( | ) | [virtual] |
VMM Environment Step 6 - Wait For End.
Waits for an indication that the test has reached completion or its objective whatever these may be. When this task returns, it signals that the end of simulation condition has been detected. If this method has not been explicitly invoked in the test program, it will be implicitly invoked by the vmm_env::stop() method.
Wait for notification from gen and scoreboard by calling gen.notify.wait_for(atomic_gen::DONE). Wait for all notifiers in a fork-join block.
| rand env_cfg env::m_env_cfg |
vmm_log env::m_log [private] |
| idv_rst_data_atomic_gen env::m_rst_gen |
| idv_rst_data_atomic_gen env::m_rsttst_gen |
![]() Intelligent Design Verification Project: SVreset, Revision: 1.0.0 |
Copyright (c) 2008-2010 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.6.3 IDV SV Filter Version: 2.6.3 Sat Jun 19 12:14:22 2010 |