UVM Tutorial for Candy Lovers – 35. Defining do_record

This is the last article about the “do” hook series. The do_record function is the user-definable hook called by the record function of uvm_object which records the object properties. Defining do_record Defining do_record is not very difficult. Let’s define the Read More …

UVM Tutorial for Candy Lovers – 34. Component Override

Some people told me that sour-chocolate actually tastes good and there are many recipes for sour cream chocolate cake. I understand that people have different tastes, so decided to replace our scoreboard with more liberal one. This article shows how Read More …

UVM Tutorial for Candy Lovers – 33. Defining do_print

When we implemented the “do” hooks before, we defined the convert2string function, but we did not define our own do_print function. This was because the convert2string is very flexible and light weight as it does not require a so-called print Read More …

UVM Tutorial for Candy Lovers – 30. Back of the Back Door

In the earlier posts (Register Access through the Back Door and Backdoor HDL Path), we used configure, add_hdl_path and add_hdl_path_slice, then these functions magically created the HDL paths. That’s fine as a user, but as an expert, would you like Read More …

UVM Tutorial for Candy Lovers – 28. Message Logging

In the previous article, we explained how to filter messages using a verbosity threshold. This article explains how to send the messages to a file (or files). Message Example As an example, we added several message macros with different severity Read More …