From d186f2da04949450f53828053accbe227aa3427b Mon Sep 17 00:00:00 2001 From: Cary R Date: Mon, 24 Sep 2007 17:02:47 -0700 Subject: [PATCH] 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). --- vvp/vvp_net.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vvp/vvp_net.cc b/vvp/vvp_net.cc index c96d1d6a4..efb697cc2 100644 --- a/vvp/vvp_net.cc +++ b/vvp/vvp_net.cc @@ -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; }