From 68c42f3a19a300583fa282f3b88c440bf6afd484 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Fri, 25 Aug 2017 16:18:17 +0200 Subject: [PATCH] Don't track , ... contradictions through x/z-bits --- passes/opt/opt_expr.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/passes/opt/opt_expr.cc b/passes/opt/opt_expr.cc index 08c850a0c..45331aa0b 100644 --- a/passes/opt/opt_expr.cc +++ b/passes/opt/opt_expr.cc @@ -1277,7 +1277,10 @@ void replace_const_cells(RTLIL::Design *design, RTLIL::Module *module, bool cons { SigBit bit_a = i < a_width ? assign_map(sig_a[i]) : State::S0; SigBit bit_b = i < b_width ? assign_map(sig_b[i]) : State::S0; - contradiction_cache.merge(bit_a, bit_b); + + if (bit_a != State::Sx && bit_a != State::Sz && + bit_b != State::Sx && bit_b != State::Sz) + contradiction_cache.merge(bit_a, bit_b); if (bit_b < bit_a) std::swap(bit_a, bit_b); -- 2.30.2