efuse_token_digest_comparator
Compare two 256-bit token digests with hard-cell differential equal and not-equal trees.
Equal path (match_p_o): per-bit XNOR then radix-4 NAND/NOR reduction. Not-equal path (match_n_o): per-bit XOR then radix-4 OR4 reduction. Hard cells prevent synthesis from merging or optimizing away the compare logic (~682 cells per instance).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
TokenWidth | int unsigned | 256 | Token digest width in bits. |
L0Width | int unsigned | TokenWidth / 4 | Width of reduction level L0, one bit per four digest bits. |
L1Width | int unsigned | L0Width / 4 | Width of reduction level L1. |
L2Width | int unsigned | L1Width / 4 | Width of reduction level L2, which feeds the final four-input gate. |
Ports
| Name | Direction | Type | Description |
|---|---|---|---|
token_digest_i | input | logic [TokenWidth-1:0] | Computed 256-bit token digest. |
token_expected_i | input | logic [TokenWidth-1:0] | Expected 256-bit token digest. |
match_p_o | output | logic | 1 = equal. |
match_n_o | output | logic | 1 = not equal. |