aboutsummaryrefslogtreecommitdiffstats
path: root/passes
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-02-17 12:10:19 +0100
committerClifford Wolf <clifford@clifford.at>2019-02-17 12:10:19 +0100
commitc06c062469a6f5ea16116a5ed3bc4a45b6e818a2 (patch)
treeea54f3510f2e85771422718385028b0864696cba /passes
parent8ddec5d882c6834cb6b3415e05a2a88d416cabff (diff)
parente45f62b0c56717a23099425f078d1e56212aa632 (diff)
downloadyosys-c06c062469a6f5ea16116a5ed3bc4a45b6e818a2.tar.gz
yosys-c06c062469a6f5ea16116a5ed3bc4a45b6e818a2.tar.bz2
yosys-c06c062469a6f5ea16116a5ed3bc4a45b6e818a2.zip
Merge branch 'master' of github.com:YosysHQ/yosys into pmgen
Diffstat (limited to 'passes')
-rw-r--r--passes/fsm/fsm_opt.cc3
-rw-r--r--passes/proc/proc_clean.cc6
2 files changed, 8 insertions, 1 deletions
diff --git a/passes/fsm/fsm_opt.cc b/passes/fsm/fsm_opt.cc
index 3a6ac2746..048daee55 100644
--- a/passes/fsm/fsm_opt.cc
+++ b/passes/fsm/fsm_opt.cc
@@ -72,7 +72,8 @@ struct FsmOpt
new_transition_table.swap(fsm_data.transition_table);
new_state_table.swap(fsm_data.state_table);
- fsm_data.reset_state = old_to_new_state.at(fsm_data.reset_state);
+ if (fsm_data.reset_state != -1)
+ fsm_data.reset_state = old_to_new_state.at(fsm_data.reset_state);
}
}
diff --git a/passes/proc/proc_clean.cc b/passes/proc/proc_clean.cc
index 3919e4b9c..52141a8ec 100644
--- a/passes/proc/proc_clean.cc
+++ b/passes/proc/proc_clean.cc
@@ -82,9 +82,15 @@ void proc_clean_switch(RTLIL::SwitchRule *sw, RTLIL::CaseRule *parent, bool &did
{
if (max_depth != 0)
proc_clean_case(cs, did_something, count, max_depth-1);
+ int size = 0;
for (auto cmp : cs->compare)
+ {
+ size += cmp.size();
if (!cmp.is_fully_def())
all_fully_def = false;
+ }
+ if (sw->signal.size() != size)
+ all_fully_def = false;
}
if (all_fully_def)
{