Released on August 26th, 2020
Chris Spear, Principle Instructor, presents details on how to create classes for UVM transactions, also known as sequence items. Where are these created and used in a testbench, and what class should you start with? Your testbench performs actions on these objects such as to copy, compare, print, and more. UVM provides two ways to build the code for these features: the do-methods, and the UVM field macros. This web seminar will describe the two approaches and give some tradeoffs. Finally, Chris shows how you should add new functionality to a transaction, by extending the class.
What You Will Learn:
- How to describe transactions in UVM
- Why to extend your transaction classes from uvm_sequence_item, and not uvm_transaction
- Where transaction objects are created in UVM
- How are transactions sent around a UVM testbench
- What operations can a testbench perform on a transaction object, and examples
- The two ways to create code for these operations, and their tradeoffs
- How to add new capabilities to a transaction class
- Best practices with UVM transaction classes, and worst practices too!