Jump to content

Recommended Posts

Posted
<UVM_HOME>/sv/src/reg/uvm_reg_field.svh
    // configure

    function void uvm_reg_field::configure(uvm_reg        parent,
                                           int unsigned   size,
                                           int unsigned   lsb_pos,
                                           string         access,
                                           bit            volatile,
                                           uvm_reg_data_t reset,
                                           bit            has_reset,
                                           bit            is_rand,
                                           bit            individually_accessible);
       ...

       if (has_reset)
          set_reset(reset);
       else
          uvm_resource_db#(bit)::set({"REG::", get_full_name()},
                                     "NO_REG_HW_RESET_TEST", 1);

The exclusions entry added into the resource_db uses the FIELD name.

<UVM_HOME>/sv/src/reg/sequences/uvm_reg_hw_reset_seq.svh
    class uvm_reg_hw_reset_seq extends uvm_reg_sequence #(uvm_sequence #(uvm_reg_item));

       ...
          if (uvm_resource_db#(bit)::get_by_name({"REG::",blk.get_full_name()},
                                                 "NO_REG_TESTS", 0) != null ||
              uvm_resource_db#(bit)::get_by_name({"REG::",blk.get_full_name()},
                                                 "NO_REG_HW_RESET_TEST", 0) != null ) begin
                return;

          end

The uvm_reg_hw_reset_seq looks for exclusions in the resource_db by BLOCK or REGISTER name, not on the FIELD name.

This discrepancy in the deposit vs. retrieval causes uvm_reg_hw_reset_seq to do reset testing on registers that should be excluded.  The deposit of the FIELD name is orphaned and unused.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...