diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-03-04 17:13:45 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2018-03-04 17:13:45 +0100 |
commit | 27dd500d31c07991d5a6f01c95f5519d7225c427 (patch) | |
tree | ef6f61f8219ba28e5edd6f23e307c93a7956c4ed /techlibs/common | |
parent | 8dcf3d0c7698c9556f5049dd6d912396724bf17a (diff) | |
download | yosys-27dd500d31c07991d5a6f01c95f5519d7225c427.tar.gz yosys-27dd500d31c07991d5a6f01c95f5519d7225c427.tar.bz2 yosys-27dd500d31c07991d5a6f01c95f5519d7225c427.zip |
Add "synth -noshare"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'techlibs/common')
-rw-r--r-- | techlibs/common/synth.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/techlibs/common/synth.cc b/techlibs/common/synth.cc index 11ebe5339..4ca34839e 100644 --- a/techlibs/common/synth.cc +++ b/techlibs/common/synth.cc @@ -64,6 +64,9 @@ struct SynthPass : public ScriptPass log(" -nordff\n"); log(" passed to 'memory'. prohibits merging of FFs into memory read ports\n"); log("\n"); + log(" -noshare\n"); + log(" do not run SAT-based resource sharing\n"); + log("\n"); log(" -run <from_label>[:<to_label>]\n"); log(" only run the commands between the labels (see below). an empty\n"); log(" from label is synonymous to 'begin', and empty to label is\n"); @@ -76,7 +79,7 @@ struct SynthPass : public ScriptPass } string top_module, fsm_opts, memory_opts; - bool autotop, flatten, noalumacc, nofsm, noabc; + bool autotop, flatten, noalumacc, nofsm, noabc, noshare; virtual void clear_flags() YS_OVERRIDE { @@ -89,6 +92,7 @@ struct SynthPass : public ScriptPass noalumacc = false; nofsm = false; noabc = false; + noshare = false; } virtual void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE @@ -142,6 +146,10 @@ struct SynthPass : public ScriptPass memory_opts += " -nordff"; continue; } + if (args[argidx] == "-noshare") { + noshare = true; + continue; + } break; } extra_args(args, argidx, design); @@ -186,7 +194,8 @@ struct SynthPass : public ScriptPass run("wreduce"); if (!noalumacc) run("alumacc"); - run("share"); + if (!noshare) + run("share"); run("opt"); if (!nofsm) run("fsm" + fsm_opts); |