[source]

Class uvm_pkg::uvm_hdl_path_concat

Class

uvm_hdl_path_concat

Concatenation of HDL variables

A dArray of uvm_hdl_path_slice specifying a concatenation of HDL variables that implement a register in the HDL.

Slices must be specified in most-to-least significant order. Slices must not overlap. Gaps may exist in the concatenation if portions of the registers are not implemented.

For example, the following register |

        1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
 Bits:  5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
       +-+---+-------------+---+-------+
       |A|xxx|      B      |xxx|   C   |
       +-+---+-------------+---+-------+

If the register is implemented using a single HDL variable, The array should specify a single slice with its offset and size specified as -1. For example:

 concat.set('{ '{"r1", -1, -1} });
Variables

Name

Type

Description

slices

uvm_hdl_path_slice

Variable

slices

Array of individual slices, stored in most-to-least significant order

Functions

set(uvm_hdl_path_slice t)

Function

set

Initialize the concatenation using an array literal

Parameters:

t (uvm_hdl_path_slice)

add_slice(uvm_hdl_path_slice slice)

Function

add_slice

Append the specified slice literal to the path concatenation

Parameters:

slice (uvm_hdl_path_slice)

add_path(string path, int unsigned offset = -1, int unsigned size = -1)

Function

add_path

Append the specified path to the path concatenation, for the specified number of bits at the specified offset .

Parameters:
  • path (string)

  • offset (int unsigned)

  • size (int unsigned)