summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--passes/proc/proc_dff.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/passes/proc/proc_dff.cc b/passes/proc/proc_dff.cc
index 2ec498fb..c1844651 100644
--- a/passes/proc/proc_dff.cc
+++ b/passes/proc/proc_dff.cc
@@ -356,6 +356,11 @@ static void proc_dff(RTLIL::Module *mod, RTLIL::Process *proc, ConstEval &ce)
rstval.optimize();
sig.optimize();
+ if (rstval == sig) {
+ rstval = RTLIL::SigSpec(RTLIL::State::Sz, sig.width);
+ sync_level = NULL;
+ }
+
if (sync_always) {
if (sync_edge || sync_level || many_async_rules.size() > 0)
log_error("Mixed always event with edge and/or level sensitive events!\n");