1.what is transaction?
Network transactions
Tcp / ip
Wifi
3g/4g
Bus transactions
Amba-ahb/apb/axi
Pci/pci-e
Sata
Usb
Sd
Instructions
x86
Arm
2.UVM Transaction Flow
3.UVM Modeling Transaction
3.1 derived from Uvm_sequence_item base class
Built-in support for stimulus creation,printing,comparing,etc.
3.2 Properties should is public by default
Must is visible to contraints in other classes
3.3 Properties should is Rand by default
Can is turned off with Rand_mode
Class transaction extends Uvm_sequence_item;
Rand bit [31:0] SA,SB;
Rand bit [15:0] len;
Rand bit [7:0] payload[$];
Rand bit [31:0] FCS;
function New (String name= "transaction");
Super.new (name);
This.fcs.rand_mode (0);
Endfunction
Endclass:transaction
4.must Obey Contraints/should Obey contraints
5.constraints Considerations
Total solution Space
Illegal solution space
Valid solution space
Test constraints
Derived test constraints
6.uvm_sequence_item class Tree
Uvm_object:uvm_sequence_item
Get_name () Set_item_context ()
Get_full_name () set_transaction_id ()
Get_type () get_transaction_id ()
Clone () set_sequence_id ()
Copy () get_sequence_id ()
Print () Set_id_info ()
Sprint () Set_sequencer ()
Copy () Get_sequencer ()
Compare () set_parent_sequence ()
Pack () get_parent_sequence ()
Unpack ()
Record ()
UVM Transaction Modeling