diff options
author | Eddie Hung <eddie@fpgeh.com> | 2020-01-10 15:04:13 -0800 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2020-01-10 15:04:13 -0800 |
commit | 291530c59f639609bc7534e561f28c9fb4081e19 (patch) | |
tree | 5c7ed3a834aa2ebcce5f78b753bb164411d538f4 /passes | |
parent | d1f8371481b787b3cc6948a7165b7c191e4b4c64 (diff) | |
download | yosys-291530c59f639609bc7534e561f28c9fb4081e19.tar.gz yosys-291530c59f639609bc7534e561f28c9fb4081e19.tar.bz2 yosys-291530c59f639609bc7534e561f28c9fb4081e19.zip |
abc9: add abc9.verify and abc9.debug options
Diffstat (limited to 'passes')
-rw-r--r-- | passes/techmap/abc9.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/passes/techmap/abc9.cc b/passes/techmap/abc9.cc index 22f5a1f3a..3ce435dd0 100644 --- a/passes/techmap/abc9.cc +++ b/passes/techmap/abc9.cc @@ -308,7 +308,14 @@ void abc9_module(RTLIL::Design *design, RTLIL::Module *module, std::string scrip for (size_t pos = abc9_script.find("&mfs"); pos != std::string::npos; pos = abc9_script.find("&mfs", pos)) abc9_script = abc9_script.erase(pos, strlen("&mfs")); - abc9_script += stringf("; &ps -l; &write -n %s/output.aig; time", tempdir_name.c_str()); + abc9_script += stringf("; &ps -l; &write -n %s/output.aig;", tempdir_name.c_str()); + if (design->scratchpad_get_bool("abc9.debug")) { + if (dff_mode) + abc9_script += "verify -s;"; + else + abc9_script += "verify;"; + } + abc9_script += "time"; abc9_script = add_echos_to_abc9_cmd(abc9_script); for (size_t i = 0; i+1 < abc9_script.size(); i++) @@ -910,6 +917,11 @@ struct Abc9Pass : public Pass { } nomfs = design->scratchpad_get_bool("abc9.nomfs", nomfs); + if (design->scratchpad_get_bool("abc9.debug")) { + cleanup = false; + show_tempdir = true; + } + size_t argidx; char pwd [PATH_MAX]; if (!getcwd(pwd, sizeof(pwd))) { |