synth to take -abc9 argument

This commit is contained in:
Eddie Hung 2019-02-20 11:08:49 -08:00
parent 62e5ff9ba8
commit 45ddd9066e
1 changed files with 13 additions and 5 deletions

View File

@ -75,13 +75,16 @@ struct SynthPass : public ScriptPass
log(" from label is synonymous to 'begin', and empty to label is\n"); log(" from label is synonymous to 'begin', and empty to label is\n");
log(" synonymous to the end of the command list.\n"); log(" synonymous to the end of the command list.\n");
log("\n"); log("\n");
log(" -abc9\n");
log(" use abc9 instead of abc\n");
log("\n");
log("\n"); log("\n");
log("The following commands are executed by this synthesis command:\n"); log("The following commands are executed by this synthesis command:\n");
help_script(); help_script();
log("\n"); log("\n");
} }
string top_module, fsm_opts, memory_opts; string top_module, fsm_opts, memory_opts, abc;
bool autotop, flatten, noalumacc, nofsm, noabc, noshare; bool autotop, flatten, noalumacc, nofsm, noabc, noshare;
int lut; int lut;
@ -98,6 +101,7 @@ struct SynthPass : public ScriptPass
nofsm = false; nofsm = false;
noabc = false; noabc = false;
noshare = false; noshare = false;
abc = "abc";
} }
void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE
@ -159,6 +163,10 @@ struct SynthPass : public ScriptPass
noshare = true; noshare = true;
continue; continue;
} }
if (args[argidx] == "-abc9") {
abc = "abc9";
continue;
}
break; break;
} }
extra_args(args, argidx, design); extra_args(args, argidx, design);
@ -239,15 +247,15 @@ struct SynthPass : public ScriptPass
#ifdef YOSYS_ENABLE_ABC #ifdef YOSYS_ENABLE_ABC
if (help_mode) if (help_mode)
{ {
run("abc -fast", " (unless -noabc, unless -lut)"); run(abc + " -fast", " (unless -noabc, unless -lut)");
run("abc -fast -lut k", "(unless -noabc, if -lut)"); run(abc + " -fast -lut k", "(unless -noabc, if -lut)");
} }
else else
{ {
if (lut) if (lut)
run(stringf("abc -fast -lut %d", lut)); run(stringf("%s -fast -lut %d", abc.c_str(), lut));
else else
run("abc -fast"); run(abc + " -fast");
} }
run("opt -fast", " (unless -noabc)"); run("opt -fast", " (unless -noabc)");
#endif #endif