These provide a facility to record transactions into a database using a consistent API. The main interface to the UVM recording facility is the
uvm_recorder class, which is the reference to the policy used to record a transaction and the particular transaction in the database.
You can configure what gets recorded into the database without knowing the nitty-gritty details of how that connection to the database is made. By default, UVM records the transactions in the form of textual logs, and avoids the need to have tool/vendor specific code in the testbench.
Transaction Recording Databases
There's a backend tool that records information for the user, so that it can be viewed with waveforms.
- uvm_tr_database :
- uvm_text_tr_database :
This class hides the underlying implementation details from the end-user since these details are often vendor/tool specific. This is a pure, virtual class and should be extended before use.
The default implementation for
uvm_tr_database, which provides the ability to store recording information into a textual log file.
Transaction Recording Stream
A stream contains many records, and you can access it via classes
- uvm_tr_stream :
- uvm_text_tr_stream :
This class contains methods to open, close, configure streams.
This is the default stream implementation for