From 479be3cec7a4ae5277720e75e215bc3d577261a9 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Tue, 11 Jul 2017 17:38:19 +0200 Subject: [PATCH] Fix handling of x-bits in EDIF back-end --- backends/edif/edif.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/backends/edif/edif.cc b/backends/edif/edif.cc index 229b039b9..995aa2091 100644 --- a/backends/edif/edif.cc +++ b/backends/edif/edif.cc @@ -374,7 +374,17 @@ struct EdifBackend : public Backend { } for (auto &it : net_join_db) { RTLIL::SigBit sig = it.first; - if (sig.wire == NULL && sig != RTLIL::State::S0 && sig != RTLIL::State::S1) + if (sig.wire == NULL && sig != RTLIL::State::S0 && sig != RTLIL::State::S1) { + if (sig == RTLIL::State::Sx) { + for (auto &ref : it.second) + log_warning("Exporting x-bit on %s as zero bit.\n", ref.c_str()); + sig = RTLIL::State::S0; + } else { + for (auto &ref : it.second) + log_error("Don't know how to handle %s on %s.\n", log_signal(sig), ref.c_str()); + log_abort(); + } + } log_abort(); std::string netname; if (sig == RTLIL::State::S0) -- 2.30.2