aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-08-26 13:25:17 -0700
committerEddie Hung <eddie@fpgeh.com>2019-08-26 13:25:17 -0700
commita098205479a74ad9c1b1dcb4e0607970fb58b952 (patch)
tree6c1419c2ac90ab87365983463b3cd9546961a021 /techlibs
parent20f4d191b53544049357401408d5d0c2b2ddcca4 (diff)
parentbd3773a17f220f1fa9b478b3785acac42ca3bd7f (diff)
downloadyosys-a098205479a74ad9c1b1dcb4e0607970fb58b952.tar.gz
yosys-a098205479a74ad9c1b1dcb4e0607970fb58b952.tar.bz2
yosys-a098205479a74ad9c1b1dcb4e0607970fb58b952.zip
Merge branch 'master' into mwk/xilinx_bufgmap
Diffstat (limited to 'techlibs')
-rw-r--r--techlibs/xilinx/synth_xilinx.cc8
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) {