[source]

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

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

Functions

function void set ( uvm_hdl_path_slice t ) [source]

Initialize the concatenation using an array literal

function void add_slice ( uvm_hdl_path_slice slice ) [source]

Append the specified slice literal to the path concatenation

function void add_path ( string path, int unsigned offset, int unsigned size ) [source]

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