diff options
author | Eddie Hung <eddie@fpgeh.com> | 2019-06-04 09:51:47 -0700 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2019-06-04 09:51:47 -0700 |
commit | e260150321f3410056da64f83783b470caa89384 (patch) | |
tree | fe090a3395f8833a0470fdcfb30126890b5cbd96 /techlibs/xilinx/synth_xilinx.cc | |
parent | 9b9bd4e19f3da363eb3c90ef27ace282716d2e06 (diff) | |
download | yosys-e260150321f3410056da64f83783b470caa89384.tar.gz yosys-e260150321f3410056da64f83783b470caa89384.tar.bz2 yosys-e260150321f3410056da64f83783b470caa89384.zip |
Add mux_map.v for wide mux
Diffstat (limited to 'techlibs/xilinx/synth_xilinx.cc')
-rw-r--r-- | techlibs/xilinx/synth_xilinx.cc | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/techlibs/xilinx/synth_xilinx.cc b/techlibs/xilinx/synth_xilinx.cc index f45126dc5..360418975 100644 --- a/techlibs/xilinx/synth_xilinx.cc +++ b/techlibs/xilinx/synth_xilinx.cc @@ -267,15 +267,21 @@ struct SynthXilinxPass : public ScriptPass run("shregmap -tech xilinx -minlen 3", "(skip if '-nosrl')"); } - if (vpr && !nocarry && !help_mode) - run("techmap -map +/techmap.v -map +/xilinx/arith_map.v -D _EXPLICIT_CARRY"); - else if (abc == "abc9" && !nocarry && !help_mode) - run("techmap -map +/techmap.v -map +/xilinx/arith_map.v -D _CLB_CARRY"); - else if (!nocarry || help_mode) - run("techmap -map +/techmap.v -map +/xilinx/arith_map.v", "(skip if '-nocarry')"); - else - run("techmap -map +/techmap.v"); - + std::string techmap_files = " -map +/techmap.v"; + if (help_mode) + techmap_files += " [-map +/xilinx/mux_map.v]"; + else if (!nomux) + techmap_files += " -map +/xilinx/mux_map.v"; + if (help_mode) + techmap_files += " [-map +/xilinx/arith_map.v]"; + else if (!nocarry) { + techmap_files += " -map +/xilinx/arith_map.v"; + if (vpr) + techmap_files += " -D _EXPLICIT_CARRY"; + else if (abc == "abc9") + techmap_files += " -D _CLB_CARRY"; + } + run("techmap " + techmap_files); run("opt -fast"); } |