aboutsummaryrefslogtreecommitdiffstats
path: root/passes
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-01-10 15:04:13 -0800
committerEddie Hung <eddie@fpgeh.com>2020-01-10 15:04:13 -0800
commit291530c59f639609bc7534e561f28c9fb4081e19 (patch)
tree5c7ed3a834aa2ebcce5f78b753bb164411d538f4 /passes
parentd1f8371481b787b3cc6948a7165b7c191e4b4c64 (diff)
downloadyosys-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.cc14
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))) {