aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-01-22 12:30:14 -0800
committerEddie Hung <eddie@fpgeh.com>2020-01-22 12:30:14 -0800
commit8eb5bb258c161d4d6cd5b00737dfc7622fdc7f69 (patch)
treed485ee5045ddde69f85669e0a4c5c71524e8079b
parent3d9737c1bd05235b2c32fe9daaaa9004924a6018 (diff)
parenta94b41011d5ec9514739c52b963e0bd96890973f (diff)
downloadyosys-8eb5bb258c161d4d6cd5b00737dfc7622fdc7f69.tar.gz
yosys-8eb5bb258c161d4d6cd5b00737dfc7622fdc7f69.tar.bz2
yosys-8eb5bb258c161d4d6cd5b00737dfc7622fdc7f69.zip
Merge remote-tracking branch 'origin/eddie/abc9_fixes' into eddie/abc9_refactor
-rw-r--r--passes/techmap/abc9_exe.cc8
-rw-r--r--passes/techmap/abc9_ops.cc2
2 files changed, 6 insertions, 4 deletions
diff --git a/passes/techmap/abc9_exe.cc b/passes/techmap/abc9_exe.cc
index a2acfac91..01bf46539 100644
--- a/passes/techmap/abc9_exe.cc
+++ b/passes/techmap/abc9_exe.cc
@@ -219,14 +219,14 @@ void abc9_module(RTLIL::Design *design, std::string script_file, std::string exe
for (size_t pos = abc9_script.find("{R}"); pos != std::string::npos; pos = abc9_script.find("{R}", pos))
abc9_script = abc9_script.substr(0, pos) + R + abc9_script.substr(pos+3);
- abc9_script += stringf("; &ps -l; &write -n %s/output.aig;", tempdir_name.c_str());
+ abc9_script += stringf("; &ps -l; &write -n %s/output.aig", tempdir_name.c_str());
if (design->scratchpad_get_bool("abc9.verify")) {
if (dff_mode)
- abc9_script += "verify -s;";
+ abc9_script += "; verify -s";
else
- abc9_script += "verify;";
+ abc9_script += "; verify";
}
- abc9_script += "time";
+ abc9_script += "; time";
abc9_script = add_echos_to_abc9_cmd(abc9_script);
for (size_t i = 0; i+1 < abc9_script.size(); i++)
diff --git a/passes/techmap/abc9_ops.cc b/passes/techmap/abc9_ops.cc
index aa21ff283..5091ac0f2 100644
--- a/passes/techmap/abc9_ops.cc
+++ b/passes/techmap/abc9_ops.cc
@@ -95,6 +95,8 @@ void prep_dff(RTLIL::Module *module)
SigSpec abc9_init = assign_map(abc9_init_wire);
if (!abc9_init.is_fully_const())
log_error("'%s.init' is not a constant wire present in module '%s'.\n", cell->name.c_str(), log_id(module));
+ if (abc9_init == State::S1)
+ log_error("'%s.init' in module '%s' has value 1'b1 which is not supported by 'abc9 -dff'.\n", cell->name.c_str(), log_id(module));
r2 = cell->attributes.insert(std::make_pair(ID(abc9_init), abc9_init.as_const()));
log_assert(r2.second);
}