[otbn,dv] Updates to planned fcov for BN instruction set These address on follow-up comments to PR #6491 (which came in after the PR was merged). Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/hw/ip/otbn/doc/dv/index.md b/hw/ip/otbn/doc/dv/index.md index 371f820..7276fd0 100644 --- a/hw/ip/otbn/doc/dv/index.md +++ b/hw/ip/otbn/doc/dv/index.md
@@ -155,18 +155,7 @@ #### ADD -- Each of the 11 interesting sign behaviours: - 1. Positive plus positive, no overflow - 1. Positive plus positive with overflow - 1. Negative plus negative, no overflow - 1. Negative plus negative with overflow - 1. Zero plus zero - 1. Zero plus nonzero - 1. Nonzero plus zero - 1. Positive plus negative, with a negative result - 1. Positive plus negative, with a positive result - 1. Negative plus positive, with a negative result - 1. Negative plus positive, with a positive result +- Cross the three possible signs (negative, zero, positive) for each input operand (giving 9 points). #### ADDI @@ -178,18 +167,7 @@ #### SUB -- Each of the 11 interesting sign behaviours: - 1. Positive minus negative, no overflow - 1. Positive minus negative with overflow - 1. Negative minus positive, no overflow - 1. Negative minus positive with overflow - 1. Zero minus zero - 1. Zero minus nonzero - 1. Nonzero minus zero - 1. Positive minus positive, with a negative result - 1. Positive minus positive, with a positive result - 1. Negative minus negative, with a negative result - 1. Negative minus negative, with a positive result +- Cross the three possible signs (negative, zero, positive) for each input operand (giving 9 points). #### SLL @@ -358,6 +336,7 @@ - Don't perform a subtraction (because the sum is less than `MOD`) when `MOD` is nonzero. - Perform a subtraction where the sum is at least twice a nonzero value of `MOD`. - A calculation where the sum exactly equals a nonzero `MOD` +- A calculation where the intermediate sum is greater than `2^256-1`, crossed with whether the subtraction of `MOD` results in a value that will wrap. #### BN.MULQACC @@ -372,7 +351,6 @@ As for `BN.MULQACC` plus the following: -- See bits being cleared in the destination register as part of shifting out the result (makes sure that we're masking things properly when assembling the new value) - Cross the generic flag updates with `wrd_hwsel`, since the flag changes are different in the two modes. #### BN.SUB