Ambiguous resolution needs to preserve the MSB for StL/etc. signals.

The MSB was not being preserved for L strength signals. This caused
undefined signals (x) to become defined (0).
This commit is contained in:
Cary R 2007-09-24 17:02:47 -07:00 committed by Stephen Williams
parent 14c0cfd3b1
commit d186f2da04
1 changed files with 3 additions and 0 deletions

View File

@ -2134,6 +2134,9 @@ vvp_scalar_t resolve(vvp_scalar_t a, vvp_scalar_t b)
tmp |= 0x80;
tmp |= sv1 << 4;
} else {
/* Set the MSB when both arguments MSBs are set. This
can only happen if both one strengths are zero. */
tmp |= (a.value_&b.value_)&0x80;
tmp |= (-sv1) << 4;
}