diff options
author | Eddie Hung <eddie@fpgeh.com> | 2019-08-26 13:25:17 -0700 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2019-08-26 13:25:17 -0700 |
commit | a098205479a74ad9c1b1dcb4e0607970fb58b952 (patch) | |
tree | 6c1419c2ac90ab87365983463b3cd9546961a021 /techlibs/xilinx/synth_xilinx.cc | |
parent | 20f4d191b53544049357401408d5d0c2b2ddcca4 (diff) | |
parent | bd3773a17f220f1fa9b478b3785acac42ca3bd7f (diff) | |
download | yosys-a098205479a74ad9c1b1dcb4e0607970fb58b952.tar.gz yosys-a098205479a74ad9c1b1dcb4e0607970fb58b952.tar.bz2 yosys-a098205479a74ad9c1b1dcb4e0607970fb58b952.zip |
Merge branch 'master' into mwk/xilinx_bufgmap
Diffstat (limited to 'techlibs/xilinx/synth_xilinx.cc')
-rw-r--r-- | techlibs/xilinx/synth_xilinx.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/techlibs/xilinx/synth_xilinx.cc b/techlibs/xilinx/synth_xilinx.cc index 00849ad00..f058da83d 100644 --- a/techlibs/xilinx/synth_xilinx.cc +++ b/techlibs/xilinx/synth_xilinx.cc @@ -117,6 +117,7 @@ struct SynthXilinxPass : public ScriptPass std::string top_opt, edif_file, blif_file, family; bool flatten, retime, vpr, ise, iopad, noiopad, noclkbuf, nobram, nolutram, nosrl, nocarry, nowidelut, abc9; + bool flatten_before_abc; int widemux; void clear_flags() YS_OVERRIDE @@ -139,6 +140,7 @@ struct SynthXilinxPass : public ScriptPass nocarry = false; nowidelut = false; abc9 = false; + flatten_before_abc = false; widemux = 0; } @@ -178,6 +180,10 @@ struct SynthXilinxPass : public ScriptPass flatten = true; continue; } + if (args[argidx] == "-flatten_before_abc") { + flatten_before_abc = true; + continue; + } if (args[argidx] == "-retime") { retime = true; continue; @@ -417,6 +423,8 @@ struct SynthXilinxPass : public ScriptPass if (check_label("map_luts")) { run("opt_expr -mux_undef"); + if (flatten_before_abc) + run("flatten"); if (help_mode) run("abc -luts 2:2,3,6:5[,10,20] [-dff]", "(option for 'nowidelut', option for '-retime')"); else if (abc9) { |