Numeric Matching Functions
The matching functions (std_match) are used to determine if two values of type std_logic are logically equivalent, taking into consideration the semantic values of the ‘X’ (uninitialized) and ‘-’ (don’t-care) literal values. The table of Figure 4-3 (derived from the match_table constant declaration found in the numeric_std package) defines the matching of all possible combinations of the std_logic enumerated values.
|
U |
X |
0 |
1 |
Z |
W |
L |
H |
- |
U |
F |
F |
F |
F |
F |
F |
F |
F |
T |
X |
F |
F |
F |
F |
F |
F |
F |
F |
T |
0 |
F |
F |
T |
F |
F |
F |
T |
F |
T |
1 |
F |
F |
F |
T |
F |
F |
F |
T |
T |
Z |
F |
F |
F |
F |
F |
F |
F |
F |
T |
W |
F |
F |
F |
F |
F |
F |
F |
F |
T |
L |
F |
F |
T |
F |
F |
F |
T |
F |
T |
H |
F |
F |
F |
T |
F |
F |
F |
T |
T |
- |
T |
T |
T |
T |
T |
T |
T |
T |
T |
function std_match (L, R: STD_ULOGIC) return boolean;
function std_match (L, R: unsigned) return boolean;
function std_match (L, R: signed) return boolean;
function std_match (L, R: std_logic_vector) return boolean;
function std_match (L, R: STD_ULOGIC_vector) return boolean;