Last Updated on July 2, 2017 This is a sequel to my old article about solving Sudoku. Last time, someone asked a question about using the “unique” constraint to solve Sudoku. The “unique” constraint, which was added to IEEE Std Read More …
Author: Keisuke Shimizu
UVM Tutorial for Candy Lovers – 36. Register Callbacks
In some design, when one register is written, another register takes a new value. This article will explain how to model this behavior using a register callback. Registers in Jelly Bean Taster In Register Abstraction, we defined two registers; RECIPE Read More …
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 – 32. Using randc
One of the loyal jelly-bean customers reported that his gift box had repeated flavors. After the investigation, we found a potential issue with the gift_boxed_jelly_bean_sequence created in Transactions and Sequences. Here is the original code snippet. 1 2 3 4 Read More …
UVM Tutorial for Candy Lovers – 31. Provides Responses?
This is a short article about when we should set the provides_responses bit of the register adapter. Original Jelly Bean Driver This is the orignal jelly_bean_driver used in Register Abstraction. The driver gets requests using get_next_item (line 23), then updates 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 – 29. Backdoor HDL Path
Our jelly-bean tasting business became very successful, so we decided to expand our business into partnership with another jelly-bean taster. During the process of the merger, however, we found that the partner had slightly different register structure than ours. We Read More …