diff options
author | Eddie Hung <eddie@fpgeh.com> | 2019-09-23 19:52:55 -0700 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2019-09-23 19:52:55 -0700 |
commit | 27167848f4c5709c6ca3cb0897bac91c4a2a7cbe (patch) | |
tree | 03484b220e44663ba41d729869da43b774fa7c90 /techlibs | |
parent | 0f53893104c84e799db12b6bbd3364af4f5ed338 (diff) | |
download | yosys-27167848f4c5709c6ca3cb0897bac91c4a2a7cbe.tar.gz yosys-27167848f4c5709c6ca3cb0897bac91c4a2a7cbe.tar.bz2 yosys-27167848f4c5709c6ca3cb0897bac91c4a2a7cbe.zip |
Revert "Add a xilinx_finalise pass"
This reverts commit 23d90e0439ffef510632ce45a3d2aff1c129f405.
Diffstat (limited to 'techlibs')
-rw-r--r-- | techlibs/xilinx/Makefile.inc | 1 | ||||
-rw-r--r-- | techlibs/xilinx/synth_xilinx.cc | 2 | ||||
-rw-r--r-- | techlibs/xilinx/xilinx_finalise.cc | 84 |
3 files changed, 0 insertions, 87 deletions
diff --git a/techlibs/xilinx/Makefile.inc b/techlibs/xilinx/Makefile.inc index 10d783c3c..ae82311a9 100644 --- a/techlibs/xilinx/Makefile.inc +++ b/techlibs/xilinx/Makefile.inc @@ -1,6 +1,5 @@ OBJS += techlibs/xilinx/synth_xilinx.o -OBJS += techlibs/xilinx/xilinx_finalise.o GENFILES += techlibs/xilinx/brams_init_36.vh GENFILES += techlibs/xilinx/brams_init_32.vh diff --git a/techlibs/xilinx/synth_xilinx.cc b/techlibs/xilinx/synth_xilinx.cc index c2f8279c2..022b0d108 100644 --- a/techlibs/xilinx/synth_xilinx.cc +++ b/techlibs/xilinx/synth_xilinx.cc @@ -512,8 +512,6 @@ struct SynthXilinxPass : public ScriptPass run("iopadmap -bits -outpad OBUF I:O -inpad IBUF O:I A:top", "(only if '-iopad' or '-ise' and not '-noiopad')"); if (help_mode || ise) run("extractinv -inv INV O:I", "(only if '-ise')"); - if (help_mode || !nodsp) - run("xilinx_finalise", "(skip if '-nodsp')"); } if (check_label("check")) { diff --git a/techlibs/xilinx/xilinx_finalise.cc b/techlibs/xilinx/xilinx_finalise.cc deleted file mode 100644 index db73babe3..000000000 --- a/techlibs/xilinx/xilinx_finalise.cc +++ /dev/null @@ -1,84 +0,0 @@ -/* - * yosys -- Yosys Open SYnthesis Suite - * - * Copyright (C) 2012 Clifford Wolf <clifford@clifford.at> - * (C) 2019 Eddie Hung <eddie@fpgeh.com> - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include "kernel/register.h" -#include "kernel/celltypes.h" -#include "kernel/rtlil.h" -#include "kernel/log.h" - -USING_YOSYS_NAMESPACE -PRIVATE_NAMESPACE_BEGIN - -struct XilinxFinalisePass : public Pass -{ - XilinxFinalisePass() : Pass("xilinx_finalise", "") { } - - void help() YS_OVERRIDE - { - // |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---| - log("\n"); - log(" xilinx_finalise [options]\n"); - log("\n"); - } - - void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE - { - size_t argidx; - for (argidx = 1; argidx < args.size(); argidx++) - { - break; - } - extra_args(args, argidx, design); - - log_header(design, "Executing XILINX_FINALISE pass.\n"); - - for (auto module : design->selected_modules()) - for (auto cell : module->selected_cells()) { - if (cell->type != ID(DSP48E1)) - continue; - for (auto &conn : cell->connections_) { - if (!cell->output(conn.first)) - continue; - bool purge = true; - for (auto &chunk : conn.second.chunks()) { - auto it = chunk.wire->attributes.find(ID(unused_bits)); - if (it == chunk.wire->attributes.end()) - continue; - - std::string unused_bits = stringf("%d", chunk.offset); - for (auto i = 1; i < chunk.width; i++) - unused_bits += stringf(" %d", i+chunk.offset); - - if (it->second.decode_string().find(unused_bits) == std::string::npos) { - purge = false; - break; - } - } - - if (purge) { - log_debug("Purging unused port connection %s %s (.%s(%s))\n", cell->type.c_str(), log_id(cell), log_id(conn.first), log_signal(conn.second)); - conn.second = SigSpec(); - } - } - } - } -} XilinxFinalisePass; - -PRIVATE_NAMESPACE_END |