aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Zonenberg <azonenberg@drawersteak.com>2016-07-12 16:12:37 -0700
committerAndrew Zonenberg <azonenberg@drawersteak.com>2016-07-12 16:12:37 -0700
commit32bea97b757e11002133d8e69b23eac3df7fb800 (patch)
treed8fb4fe351749c43892c46d20b3a75871b39692d
parent52a738a54435d9e54ac7cb523551ae866cc76770 (diff)
parente92998a79cec635270a350117eddb52c6232f388 (diff)
downloadyosys-32bea97b757e11002133d8e69b23eac3df7fb800.tar.gz
yosys-32bea97b757e11002133d8e69b23eac3df7fb800.tar.bz2
yosys-32bea97b757e11002133d8e69b23eac3df7fb800.zip
Merge https://github.com/cliffordwolf/yosys
-rw-r--r--passes/fsm/fsm_extract.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/passes/fsm/fsm_extract.cc b/passes/fsm/fsm_extract.cc
index 95cb498e3..8a4ee3f26 100644
--- a/passes/fsm/fsm_extract.cc
+++ b/passes/fsm/fsm_extract.cc
@@ -92,12 +92,15 @@ static bool find_states(RTLIL::SigSpec sig, const RTLIL::SigSpec &dff_out, RTLIL
if (reset_state && RTLIL::SigSpec(*reset_state).is_fully_undef())
do {
+ SigSpec new_reset_state;
if (sig_aa.is_fully_def())
- *reset_state = sig_aa.as_const();
+ new_reset_state = sig_aa.as_const();
else if (sig_bb.is_fully_def())
- *reset_state = sig_bb.as_const();
+ new_reset_state = sig_bb.as_const();
else
break;
+ new_reset_state.extend_u0(GetSize(*reset_state));
+ *reset_state = new_reset_state.as_const();
log(" found reset state: %s (guessed from mux tree)\n", log_signal(*reset_state));
} while (0);