| A | |
| add_field | |
| add_field_tag | |
| add_mode | |
| add_mode_instance | |
| add_range | |
| add_range_random_by_hand | |
| add_register | |
| add_register_alias | |
| add_register_file | |
| add_register_in_range | |
| add_register_map | |
| add_slave | |
| add_target | |
| B | |
| body | |
| build | |
| build_ap | |
| build_maps | |
| bus_read | |
| bus_read_bv | |
| bus_read32 | |
| bus_write | |
| bus_write_bv | |
| bus_write32 | |
| C | |
| calc_read | |
| calc_write | |
| check_width | |
| compare | |
| compare_data | |
| connect | |
| connect_to_data_register | |
| convert2string | |
| create | |
| create_named_object | |
| create_object | |
| D | |
| delete_mappings | |
| display_address_map | |
| display_address_map_by_address | |
| display_address_map_by_name | |
| do_operation | |
| do_read | |
| do_write | |
| do_write_read | |
| F | |
| fifo_read | |
| fifo_write | |
| find_all | |
| find_field | |
| find_fields_with_tag | |
| find_register_container | |
| G | |
| get | |
| get_byte_array | |
| get_byte_array_no_masking | |
| get_child | |
| get_container | |
| get_data32 | |
| get_data64 | |
| get_first_child | |
| get_full_name | |
| get_length | |
| get_mode | |
| get_modes | |
| get_name | |
| get_next_child | |
| get_num_bits | |
| get_num_children | |
| get_parent | |
| get_register_array | |
| get_register_field_by_name | |
| get_register_field_by_name_with_tag | |
| get_register_map | |
| get_type_name | |
| H | |
| has_child | |
| has_field | |
| has_tag | |
| I | |
| id_read | |
| id_write | |
| indirect_address_read | |
| indirect_address_write | |
| indirect_read | |
| indirect_write | |
| is_field_defined | |
| L | |
| lookup | |
| lookup_register_address_by_name | |
| lookup_register_addresslist_by_name | |
| lookup_register_by_address | |
| lookup_register_by_name | |
| M | |
| m_check | |
| m_check_field_by_name | |
| m_lock | |
| m_new_range_random | |
| m_peek_field_by_name | |
| m_poke_field_by_name | |
| m_register_field_by_name | |
| m_unlock | |
| mem_peek | |
| mem_peek_bytes | |
| mem_poke | |
| mem_poke_bytes | |
| N | |
| new | |
| O | |
| uvm_register_check_hdl | |
| uvm_register_get_hdl | |
| uvm_register_get_max_size | |
| uvm_register_get_register_map()(DEPRECATED) | |
| uvm_register_set_hdl | |
| P | |
| peek | |
| peek_data32 | |
| peek_data64 | |
| peek_field_by_name | |
| peek_snapshot | |
| poke | |
| poke_data32 | |
| poke_data64 | |
| poke_field_by_name | |
| poke_snapshot | |
| post_randomize | |
| pre_randomize | |
| print_fields | |
| print_override_info | |
| put | |
| R | |
| read | |
| read_data32 | |
| read_data64 | |
| read_field_by_name | |
| read_without_notify | |
| remove_child | |
| reset | |
| reset_field_by_name | |
| reset_field_by_name_with_tag | |
| run | |
| S | |
| sample | |
| set_access_policy_field_by_name | |
| set_actual_register | |
| set_byte_array | |
| set_data32 | |
| set_data64 | |
| set_inst_override | |
| set_inst_override_by_type | |
| set_MASK_field_by_name | |
| set_mode | |
| set_name | |
| set_reset_value | |
| set_type_override | |
| set_type_override_by_type | |
| size | |
| snapshot | |
| T | |
| try_get | |
| W | |
| write | |
| write_data32 | |
| write_data64 | |
| write_field_by_name | |
| write_without_notify |
Define a new field.
virtual function void add_field( string name, BV resetValue, string access )
Given a field name, add the tag to the list of tags for this field.
virtual function void add_field_tag( string name, string tag )
Add ‘mode’ to be a legal mode list.
virtual function void add_mode( string mode )
Calls add_mode() and adds ‘inst’ to the list of register proxies.
virtual function void add_mode_instance( string mode, uvm_register_base inst )
This is the “by-hand” access routine.
virtual function uvm_memory_range add_range( address_t range_start, address_t range_end, string l_tag_name = "ranges" )
This is the “MEMORY_RAND_BY_HAND” access routine.
virtual function uvm_memory_range add_range_random_by_hand( string l_tag_name = "ranges" )
Add a register with ‘name’ and an offset (or address).
function void add_register( string name, offset_t offset, uvm_register_base register, string hierarchical_name = "" )
add_register() maps a register using the full path name.
function void add_register_alias( uvm_register_base register, string alias_name )
Add a register file to this register map.
function void add_register_file( uvm_register_container rf, address_t addr )
Shortcut for adding a register with a large address range.
function void add_register_in_range( string name, offset_t first_offset, offset_t last_offset, offset_t grid, uvm_register_base register, string hierarchical_name = "" )
Add a register map to this register map.
function void add_register_map( uvm_register_container rm, address_t addr )
Adds the slave ‘r’ to the managed list.
virtual function void add_slave( uvm_coherent_register_slave#(T) r )
Add the register ‘r’ to the list of targets managed by this broadcast register.
virtual function void add_target( uvm_register #(T) r )
Base class functionality; find what sequencer we are connected to, and lookup a “counter” parameter.
virtual task body()
A sequence which calls the base class, then retrieves a list of all registers.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
task body()
A sequence which calls the base class, then retrieves a list of all registers.
task body()
Match the UVM engine
virtual function void build()
Lookup the register map that may have been previously registered.
function void build()
Lookup the register map that may have been previously registered.
function void build()
Match the UVM engine
virtual function void build()
Build the components and ports.
function void build()
Lookup the register map that may have been previously registered.
function void build()
Lookup the register map that may have been previously registered.
function void build()
Construct the analysis ports.
function void build_ap( uvm_named_object container = null )
virtual function void build_maps()
virtual function void bus_read( bytearray_t read_data, address_t address = 0 )
An alias for bus_read_bv() which takes an array of bytes as input.
virtual function void bus_read( input bytearray_t read_data, address_t address = 0 )
Must be implemented in the extended class.
pure virtual function void bus_read( input bytearray_t read_data, address_t address = 0 )
This function is called when a “READ” transaction is detected.
virtual function void bus_read_bv( input T read_data_bv, address_t address = 0 )
First check to make sure that there are at least 32 bits, then call bus_read_bv() to do the real work.
virtual function void bus_read32( input bv32_t read_data_bv, address_t address = 0 )
Must be implemented in the extended class.
pure virtual function void bus_read32( input bv32_t read_data_bv, address_t address = 0 )
An alias for bus_write_bv() which takes an array of bytes as input.
virtual function void bus_write( input bytearray_t write_data )
Must be implemented in the extended class.
pure virtual function void bus_write( input bytearray_t write_data )
This function is called when a “WRITE” transaction is detected.
virtual function void bus_write_bv( input T write_data_bv )
First check to make sure that there are at least 32 bits, then call bus_write_bv() to do the real work.
virtual function void bus_write32( input bv32_t write_data_bv )
Must be implemented in the extended class.
pure virtual function void bus_write32( input bv32_t write_data_bv )
Calculate the new value, based on the old value, the local mask, and the register masks.
virtual function T calc_read( T current_value, output T new_register_value,
Calculate the new value, based on the old value, the new value, the local mask, and the register masks.
virtual function T calc_write( T current_value, T new_value,
Convenience function that makes sure the width you supply (n) will fit into the space of the data.
local function void check_width( string place, int n )
Same functionality as compare_data(), but a register is passed in, instead of the register data value.
virtual function bit compare( this_type b )
Compare the data field using the compare mask.
virtual function bit compare_data( T new_data )
Connect the channel transport_export connection (an internal connection).
function void connect()
Connect the upstream side of the driver to the sequencer.
function void connect()
This routine is used to provide the data register to the address register.
function void connect_to_data_register( uvm_indirect_register #(T) r )
Should be implemented in the extended class.
virtual function string convert2string()
Returns an instance of the named_object type, T, represented by this proxy, subject to any factory overrides based on the context provided by the parent’s full name.
static function T create( string name, uvm_named_object parent, string contxt = "" )
Creates a named_object of type T having the provided name and parent.
virtual function uvm_named_object create_named_object ( string name, uvm_named_object parent = null )
A convenience function for uvm_factory::create_object_by_name, this method calls upon the factory to create a new object whose type corresponds to the preregistered type name, requested_type_name, and instance name, name.
function uvm_object create_object ( string requested_type_name, string name = "" )
Delete all the mapping data structures for this register container.
virtual function void delete_mappings()
Print information about the address map.
virtual function void display_address_map()
Print information about the address map, arranged by address
virtual function void display_address_map_by_address()
Print information about the address map, arranged by name
virtual function void display_address_map_by_name()
A task which MUST be defined in an extension of this class.
pure virtual task do_operation( REQ req, output RSP rsp )
Helper function which does a read given a register name.
virtual task do_read( string register_name, output dataWidth_t data_read )
Helper function which does a write given a register name and data to write.
virtual task do_write( string register_name, dataWidth_t data_to_write )
Helper function which does a write and a read given a register name and data to write.
virtual task do_write_read( string register_name, dataWidth_t data_to_write, output dataWidth_t data_read )
Call this function to fetch or read the last item written from the FIFO register.
virtual function T fifo_read()
Call this function to append a new value to the fifo register.
virtual function void fifo_write( T v )
Returns the component handle (find) or list of components handles (find_all) matching a given string.
function void find_all( string comp_match, ref uvm_named_object comps[$], input uvm_named_object comp = null )
Given a name, return the field info structure for that field.
virtual function uvm_register_field_info_t find_field( string name )
Given a tag name, return ALL the fields for this register that have that tag.
virtual function void find_fields_with_tag( output field_list_t field_list, string tag_name )
Given a name, lookup the name from ‘here’.
function automatic void find_register_container( output mapped_register_container_list list_of_mapped_items, input string name )
Returns the singleton instance of this type.
static function this_type get()
Lock the lock, by “getting” n keys.
task get( int n = 1 )
This is an alias for read().
virtual function void get_byte_array( ref bytearray_t o )
Return the data value as a list of bytes.
virtual function void get_byte_array( ref bytearray_t o )
This is an alias for get_dataN().
virtual function void get_byte_array_no_masking( ref bytearray_t o )
Return the data value as a list of bytes.
virtual function void get_byte_array_no_masking( ref bytearray_t o )
function uvm_named_object get_child ( string name )
DEPRECATED: Just use get_parent().
virtual function uvm_named_object get_container()
DEPRECATED.
virtual function lv32_t get_data32()
DEPRECATED.
virtual function lv64_t get_data64()
These methods are used to iterate through this component’s children, if any.
function int get_first_child ( ref string name )
Returns the full hierarchical name of this object.
virtual function string get_full_name ()
Return the full pathname of the register.
virtual function string deprecated_get_full_name()
Return the number of reads() that it will take to get all the data items read.
virtual function int get_length()
Return the current mode.
virtual function string get_mode()
Return the list of legal modes.
virtual function void get_modes( output uvm_register_modes_t modes )
function int get_next_child ( ref string name )
Return the number of bits in this type.
virtual function int get_num_bits()
Return the number of bits this register contains.
virtual function int get_num_bits()
Returns the number of this component’s children.
function int get_num_children ()
Returns a handle to this component’s parent, or null if it has no parent.
virtual function uvm_named_object get_parent ()
Return the list of all registers in this address map
virtual function void get_register_array( output register_list_t register_array )
Return the currently registered register map from the configuration.
static function uvm_register_map get_register_map( string config_name = "register_map", uvm_component c = null )
Returns the value given by the string parameter, Tname.
virtual function string get_type_name()
Returns 1 if this component has a child with the given name, 0 otherwise.
function int has_child ( string name )
Given a name, return 1, if this is a name of a field in this register.
virtual function bit has_field( string name )
Given a name, return 1, if any field has this tag in this register.
virtual function bit has_tag( string tag_name )
Call this function to fetch or read the next value from the ID register.
virtual function T id_read()
Call this function to append a new value to the id register.
virtual function void id_write( T v )
Returns the current pointer.
virtual function T indirect_address_read()
Sets the indirect address to v for the next data read or write.
virtual function void indirect_address_write( T v )
Get the current value, and increment the pointer.
virtual function T indirect_read()
Set the value, and increment the pointer.
virtual function void indirect_write( T v )
Like has_field, but spit out an error if not defined.
virtual function bit is_field_defined( string name, string msg = "" )
Looks for a component with the given hierarchical name relative to this component.
function uvm_named_object lookup ( string name )
Given a register name, provide a single mapped address.
virtual function address_t lookup_register_address_by_name( string name, output bit valid_address )
Given a register name, provide ALL the addresses of the register.
virtual function void lookup_register_addresslist_by_name( output address_list_t list_of_addresses, input string name )
Given an offset, provide the register mapped there.
virtual function uvm_register_base lookup_register_by_address( offset_t offset )
Given a register name, return the corresponding register handle.
virtual function uvm_register_base lookup_register_by_name( string name )
A utility function that call be called anytime.
function void m_check()
Check to make sure the field as defined can hold the defined reset value.
virtual function void m_check_field_by_name( string name )
Internal use only, for turning constraints off.
local function void m_lock()
Create a new range, and mark it random.
local function uvm_memory_range m_new_range_random( string l_tag_name = "ranges" )
Provide a current value, passed in as ‘x’.
virtual function BV m_peek_field_by_name( string name, BV x )
Provide a current value, passed in as ‘x’.
virtual function BV m_poke_field_by_name( string name, BV x, BV v )
Internal use only, for turning constraints back on after a previous call to lock().
local function void m_unlock()
“Read” from the actual memory using address (addr).
function T mem_peek( address_t addr )
Given an address (addr) and a number of bytes to read, return a list of bytes (nbytes long) starting from the address supplied.
virtual function void mem_peek_bytes( output bytearray_t d, input address_t addr, int nbytes )
“Write” to the actual memory using address (addr) and data (d).
function void mem_poke( address_t addr, T d )
Given an address (addr) and an array of bytes, write those bytes into the memory, starting at the address supplied.
virtual function void mem_poke_bytes( address_t addr, bytearray_t d )
Creates a new component with the given leaf instance name and handle to to its parent.
function new ( string name = "", uvm_named_object parent = null )
Construct the register, given a name, a parent and a reset value.
function new( string l_name = "registerName", uvm_named_object p = null, T l_resetVal = 0 )
Construct a register base class, providing a name and a parent.
function new( string l_name = "", uvm_named_object p = null )
Construct this register bus driver, the internal channel, and the port connections.
function new( string name, uvm_component parent = null )
Construct this register bus monitor and the analysis port.
function new( string name, uvm_component parent = null )
Construct the register driver and the transport_port.
function new( string name, uvm_component parent = null )
Construct this object.
function new( string name, uvm_component parent = null )
Construct the register scoreboard.
function new( string name, uvm_component parent = null )
Construct the object.
function new( string name = "uvm_register_sequence_base" )
Construct this register sequencer.
function new( string name, uvm_component parent = null )
Construct the object.
function new( string name = "power_on_reset" )
Construct the object.
function new( string name = "register_alias" )
Construct the object.
function new( string name = "register_sequence_all_registers" )
Construct the object.
function new( string name = "walking" )
Construct the object.
function new( string name = "walking_ones" )
Construct the object.
function new( string name = "walking_zeros" )
Construct the object.
function new( string name = "write_read" )
This routine gets the value of a named path, using the PLI.
import "DPI-C" function void uvm_register_get_hdl( string path, output logic[`UVM_REGISTER_MAX_WIDTH-1:0] value )
Returns the snapshot value.
function T peek()
Peek is re-implemented to get the pointer value in the data register.
function T peek()
“Raw” interface to read data.
virtual function T peek()
Check to make sure the register can return at least 32 bits.
virtual function lv32_t peek_data32()
Return the data value as a raw 32 bit vector.
virtual function lv32_t peek_data32()
Check to make sure the register can return at least 64 bits.
virtual function lv64_t peek_data64()
Return the data value as a raw 64 bit vector.
virtual function lv64_t peek_data64()
User callable function to return the value of a field.
virtual function BV peek_field_by_name( string name )
This function returns the current snapshot value.
virtual function T peek_snapshot()
Re-implement poke() to forward all pokes to the managed targets.
function void poke( T v )
Poke is re-implemented to set the pointer value in the data register.
function void poke( T v )
Re-implement to have the correct behavior.
function void poke( T v )
“Raw” interface to write data.
virtual function void poke( T v )
First check to make sure that there are at least 32 bits, then call poke() to assign data.
virtual function void poke_data32( lv32_t bv )
Set the data value as a raw 32 bit vector.
virtual function void poke_data32( lv32_t bv )
First check to make sure that there are at least 64 bits, then call poke() to assign data.
virtual function void poke_data64( lv64_t bv )
Set the data value as a raw 64 bit vector.
virtual function void poke_data64( lv64_t bv )
User callable function to set the value of a field.
virtual function void poke_field_by_name( string name, BV v )
This function saves the value ‘v’ into the snapshot.
virtual function void poke_snapshot( T v )
Built-in function.
function void post_randomize()
Built-in function.
function void pre_randomize()
Dump the field info structure for all the fields.
virtual function void print_fields()
Call print_fields() on every register contained in this register_file/register_map.
virtual function void print_fields()
This factory debug method performs the same lookup process as create_object and create_named_object, but instead of creating an object, it prints information about what type of object would be created given the provided arguments.
function void print_override_info( string requested_type_name, string name = "" )
Unlock the lock, by “putting back” n keys.
function void put( int n = 1 )
Read masked data with notify.
virtual function T read(
Returns the masked value.
virtual function lv32_t read_data32()
Calls read_data32() in the extended class.
virtual function lv32_t read_data32()
Returns the masked value.
virtual function lv64_t read_data64()
Calls read_data64() in the extended class.
virtual function lv64_t read_data64()
User callable function to return the value of a field.
virtual function BV read_field_by_name( string name )
This is the “normal” read function that is called in the register package.
function T read_without_notify(
function T read_without_notify(
Re-implemented to affect our new ID register functionality.
function T read_without_notify(
Re-implement to have the correct behavior.
function T read_without_notify(
Read the masked data without notify.
virtual function T read_without_notify(
Remove the child named ‘name’ from ‘this’.
function void uvm_named_object::remove_child( string name, uvm_named_object old_child )
Set the value of the register to the reset value.
virtual function void reset()
Should be implemented in the extended class.
virtual function void reset()
For all the registers, call the reset() function
virtual function void reset()
User callable function to reset a field by name
virtual function void reset_field_by_name( string name )
virtual function void reset_field_by_name( string field_name )
User callable function to reset a field which has the given tag name.
virtual function void reset_field_by_name_with_tag( string tag_name )
virtual function void reset_field_by_name_with_tag( string tag_name )
Simple process.
task run()
Do a “get()” to get a register request transaction from the channel.
task run()
This is a standard uvm_driver, and uses get() and rsp_port.write() to communicate with the sequencer.
task run()
1) Find a sequence to run.
task run()
Implement this is the design specific register.
virtual function void sample()
Should be implemented in the extended class.
virtual function void sample()
Given an “access policy”, interrpret it into the proper mask settings.
virtual function void set_access_policy_field_by_name( string name, string access )
Setup the special mirroring code.
function void set_actual_register( this_type s )
This is an alias for bus_write().
virtual function void set_byte_array( input bytearray_t i )
Return the data value as a list of bytes.
virtual function void set_byte_array( input bytearray_t i )
DEPRECATED.
virtual function void set_data32( lv32_t bv )
DEPRECATED.
virtual function void set_data64( lv64_t bv )
A convenience function for uvm_factory::set_inst_override_by_type, this method registers a factory override for components created at this level of hierarchy or below.
function void set_inst_override( string relative_inst_path, string original_type_name, string override_type_name )
Configures the factory to create a named_object of the type represented by override_type whenever a request is made to create an object of the type, T, represented by this proxy, with matching instance paths.
static function void set_inst_override( uvm_object_wrapper override_type, string inst_path, uvm_named_object parent = null )
Given a mask name and a field name, set the field to value v in that mask.
virtual function void set_MASK_field_by_name( string mask_name, string name, BV v )
Set the current mode.
virtual function void set_mode( string mode )
Set the mode, but also copy the current value into the new mode register.
function void set_mode( string mode )
Renames this component to name and recalculates all descendants’ full names.
virtual function void set_name ( string name )
Set the short name for the register, like “REG1”.
virtual function void xxx_set_name( string name )
Use this function to set the default reset value.
virtual function void set_reset_value( T resetValue )
A convenience function for uvm_factory::set_type_override_by_name, this method configures the factory to create an object of type override_type_name whenever the factory is asked to produce a type represented by original_type_name.
static function void set_type_override( string original_type_name, string override_type_name, bit replace = 1 )
Configures the factory to create an object of the type represented by override_type whenever a request is made to create an object of the type, T, represented by this proxy, provided no instance override applies.
static function void set_type_override ( uvm_object_wrapper override_type, bit replace = 1 )
A convenience function for uvm_factory::set_type_override_by_type, this method registers a factory override for components and objects created at this level of hierarchy or below.
static function void set_type_override_by_type ( uvm_object_wrapper original_type, uvm_object_wrapper override_type, bit replace = 1 )
Return the number of reads() that it will take to get all the data items read.
virtual function int size()
Causes the managed slaves to be snapshotted.
virtual function void snapshot()
Calling this function causes a snapshot to be taken.
virtual function void snapshot()
Like get() above, but if the lock would fail (block), then a zero is returned instead of actually blocking.
function int try_get( int n = 1 )
Re-implement write() to forward all writes to the managed targets.
function void write( T v,
Write masked data with notify.
virtual function void write( T v,
This routine is called when something is published.
function void write( T t )
Receive a register transaction, and use the current register map to do shadow checking.
function void write( T t )
Writes the masked value.
virtual function void write_data32( lv32_t bv )
Calls write_data32() in the extended class.
virtual function void write_data32( lv32_t bv )
Writes the masked value.
virtual function void write_data64( lv64_t bv )
Calls write_data64() in the extended class.
virtual function void write_data64( lv64_t bv )
User callable function to set the value of a field.
virtual function void write_field_by_name( string name, BV v )
function void write_without_notify( T v,
Re-implemented to affect our new ID register functionality.
function void write_without_notify( T v,
Re-implement to have the correct behavior.
function void write_without_notify( T v,
Write masked data without notify.
virtual function void write_without_notify( T v,