UVM Register Sequences

A register sequence base class and a register sequence.

Summary
UVM Register Sequences
A register sequence base class and a register sequence.

uvm_register_sequence_base

A useful base class for register sequences Especially when used in automated register testing.

Summary
uvm_register_sequence_base
A useful base class for register sequences Especially when used in automated register testing.
Class Hierarchy
uvm_sequence#(REQ,RSP)
uvm_register_sequence_base
Class Declaration
class uvm_register_sequence_base #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends uvm_sequence #(REQ, RSP)
Methods
new()Construct the object.
do_write()Helper function which does a write given a register name and data to write.
do_read()Helper function which does a read given a register name.
do_write_read()Helper function which does a write and a read given a register name and data to write.
body()Base class functionality; find what sequencer we are connected to, and lookup a “counter” parameter.
new()Construct the object.
body()A sequence which calls the base class, then retrieves a list of all registers.

new()

function new(string name =  "uvm_register_sequence_base")

Construct the object.

do_write()

virtual task do_write(string register_name,
dataWidth_t data_to_write)

Helper function which does a write given a register name and data to write.

do_read()

virtual task do_read(string register_name,
output dataWidth_t data_read)

Helper function which does a read given a register name.  It returns the data read as an argument.

do_write_read()

virtual task do_write_read(string register_name,
dataWidth_t data_to_write,
output dataWidth_t data_read)

Helper function which does a write and a read given a register name and data to write.  It returns the data read as an argument.

body()

virtual task body()

Base class functionality; find what sequencer we are connected to, and lookup a “counter” parameter.

new()

function new(string name =  "built_in_sequences")

Construct the object.

body()

task body()

A sequence which calls the base class, then retrieves a list of all registers.  It then iterates through these registers calling the helper function ‘do_write_read()’ on each register in turn.

register_alias

Summary
register_alias
Class Hierarchy
built_in_sequences#(REQ,RSP)
register_alias
Class Declaration
class register_alias #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
Methods
new()Construct the object.
body()A sequence which calls the base class, then retrieves a list of all registers.

new()

function new(string name =  "register_alias")

Construct the object.

body()

task body()

A sequence which calls the base class, then retrieves a list of all registers.  It then iterates through these registers calling the helper function ‘do_write_read()’ on each register in turn.

power_on_reset

Summary
power_on_reset
Class Hierarchy
built_in_sequences#(REQ,RSP)
power_on_reset
Class Declaration
class power_on_reset #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
Methods
new()Construct the object.
body()A sequence which calls the base class, then retrieves a list of all registers.

new()

function new(string name =  "power_on_reset")

Construct the object.

body()

task body()

A sequence which calls the base class, then retrieves a list of all registers.  It then iterates through these registers calling the helper function ‘do_write_read()’ on each register in turn.

walking

Summary
walking
Class Hierarchy
built_in_sequences#(REQ,RSP)
walking
Class Declaration
class walking #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
Methods
new()Construct the object.
body()A sequence which calls the base class, then retrieves a list of all registers.

new()

function new(string name =  "walking")

Construct the object.

body()

task body()

A sequence which calls the base class, then retrieves a list of all registers.  It then iterates through these registers calling the helper function ‘do_write_read()’ on each register in turn.

walking_zeros

Summary
walking_zeros
Class Hierarchy
walking#(REQ,RSP)
walking_zeros
Class Declaration
class walking_zeros #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends walking #(REQ, RSP)
Methods
new()Construct the object.
body()A sequence which calls the base class, then retrieves a list of all registers.

new()

function new(string name =  "walking_zeros")

Construct the object.

body()

task body()

A sequence which calls the base class, then retrieves a list of all registers.  It then iterates through these registers calling the helper function ‘do_write_read()’ on each register in turn.

walking_ones

Summary
walking_ones
Class Hierarchy
walking#(REQ,RSP)
walking_ones
Class Declaration
class walking_ones #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends walking #(REQ, RSP)
Methods
new()Construct the object.
body()A sequence which calls the base class, then retrieves a list of all registers.

new()

function new(string name =  "walking_ones")

Construct the object.

body()

task body()

A sequence which calls the base class, then retrieves a list of all registers.  It then iterates through these registers calling the helper function ‘do_write_read()’ on each register in turn.

write_read

Summary
write_read
Class Hierarchy
built_in_sequences#(REQ,RSP)
write_read
Class Declaration
class write_read #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
Methods
new()Construct the object.
body()A sequence which calls the base class, then retrieves a list of all registers.

new()

function new(string name =  "write_read")

Construct the object.

body()

task body()

A sequence which calls the base class, then retrieves a list of all registers.  It then iterates through these registers calling the helper function ‘do_write_read()’ on each register in turn.

register_sequence_all_registers

Gets a list of all registers.  Reads and writes them.

Summary
register_sequence_all_registers
Gets a list of all registers.
Class Hierarchy
built_in_sequences#(REQ,RSP)
register_sequence_all_registers
Class Declaration
class register_sequence_all_registers #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
Methods
new()Construct the object.
body()A sequence which calls the base class, then retrieves a list of all registers.

new()

function new(string name =  "register_sequence_all_registers")

Construct the object.

body()

task body()

A sequence which calls the base class, then retrieves a list of all registers.  It then iterates through these registers calling the helper function ‘do_write_read()’ on each register in turn.

class uvm_register_sequence_base #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends uvm_sequence #(REQ, RSP)
A useful base class for register sequences Especially when used in automated register testing.
function new(string name =  "uvm_register_sequence_base")
Construct the object.
virtual task do_write(string register_name,
dataWidth_t data_to_write)
Helper function which does a write given a register name and data to write.
virtual task do_read(string register_name,
output dataWidth_t data_read)
Helper function which does a read given a register name.
virtual task do_write_read(string register_name,
dataWidth_t data_to_write,
output dataWidth_t data_read)
Helper function which does a write and a read given a register name and data to write.
virtual task body()
Base class functionality; find what sequencer we are connected to, and lookup a “counter” parameter.
class register_alias #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
function new(string name =  "register_alias")
Construct the object.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
class power_on_reset #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
function new(string name =  "power_on_reset")
Construct the object.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
class walking #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
function new(string name =  "walking")
Construct the object.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
class walking_zeros #(type REQ =  uvm_sequence_item,
type RSP =  uvm_sequence_item) extends walking #(REQ, RSP)
function new(string name =  "walking_zeros")
Construct the object.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
class walking_ones #(type REQ =  uvm_sequence_item,
type RSP =  uvm_sequence_item) extends walking #(REQ, RSP)
function new(string name =  "walking_ones")
Construct the object.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
class write_read #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
function new(string name =  "write_read")
Construct the object.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
class register_sequence_all_registers #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends built_in_sequences #(REQ, RSP)
Gets a list of all registers.
function new(string name =  "register_sequence_all_registers")
Construct the object.
task body()
A sequence which calls the base class, then retrieves a list of all registers.