‘coverage’ Dialect

Code and functional coverage metadata (IEEE 1800-2023 19)

coverage names the facts coverage elaboration attaches to the design: the requested metrics and configuration on the module, line and toggle point inventories on declarations, and the identities of covergroup expressions, items and formals that lowering threads into the runtime coverage schema. It has no operations; its attributes annotate operations of other dialects.

Attributes

FsmBindingAttr

FSM state-vector bits held by a declaration

Syntax:

#coverage.fsm_binding<
  uint64_t,   # machine
  uint64_t,   # shift
  int64_t,   # low
  uint64_t   # width
>

The declaration’s state from bit low upward holds width bits of the state vector of the FSM whose schema states carry machine, starting at vector bit shift.

Parameters:

Parameter

C++ type

Description

machine

uint64_t

shift

uint64_t

low

int64_t

width

uint64_t

ToggleBindingAttr

Toggle points covering a bit range of a declaration

Syntax:

#coverage.toggle_binding<
  uint64_t,   # base
  int64_t,   # low
  uint64_t   # width
>

width toggle points starting at inventory position base observe the declaration’s state from bit low upward.

Parameters:

Parameter

C++ type

Description

base

uint64_t

low

int64_t

width

uint64_t