[source]

Class uvm_mem_single_walk_seq

uvm_pkg::uvm_mem_single_walk_seq + mem : uvm_mem + type_name : string + __m_uvm_field_automation(): void + body() + create(): uvm_object + get_object_type(): uvm_object_wrapper + get_type(): type_id + get_type_name(): string uvm_pkg::uvm_mem mem

Collaboration Diagram of uvm_mem_single_walk_seq

Runs the walking-ones algorithm on the memory given by the mem property, which must be assigned prior to starting this sequence.

If bit-type resource named "NO_REG_TESTS", "NO_MEM_TESTS", or "NO_MEM_WALK_TEST" in the "REG::" namespace matches the full name of the memory, the memory is not tested.

uvm_resource_db#(bit)::set({"REG::",regmodel.blk.mem0.get_full_name()},
                           "NO_MEM_TESTS", 1, this);

The walking ones algorithm is performed for each map in which the memory is defined.

for (k = 0 thru memsize-1)
  write addr=k data=~k
  if (k > 0) {
    read addr=k-1, expect data=~(k-1)
    write addr=k-1 data=k-1
  if (k == last addr)
    read addr=k, expect data=~k
Variables

Name

Type

Description

mem

uvm_mem

The memory to test; must be assigned prior to starting sequence.

Constructors

function new ( string name ) [source]

Creates a new instance of the class with the given name.

Tasks

virtual function body ( ) [source]

Performs the walking-ones algorithm on each map of the memory specified in mem.