gowin: replace determine_init with setundef
authorDan Ravensloft <dan.ravensloft@gmail.com>
Sat, 4 Jul 2020 18:39:40 +0000 (19:39 +0100)
committerMarcelina Koƛcielnicka <mwk@0x04.net>
Sat, 4 Jul 2020 21:26:56 +0000 (23:26 +0200)
techlibs/gowin/Makefile.inc
techlibs/gowin/determine_init.cc [deleted file]
techlibs/gowin/synth_gowin.cc

index 0756e3bcf3584b1563623dfcde95a1030797b683..e6a6be970add6bfa6ebe12337090f5049bd5a578 100644 (file)
@@ -1,6 +1,5 @@
 
 OBJS += techlibs/gowin/synth_gowin.o
-OBJS += techlibs/gowin/determine_init.o
 
 GENFILES += techlibs/gowin/bram_init_16.vh
 
diff --git a/techlibs/gowin/determine_init.cc b/techlibs/gowin/determine_init.cc
deleted file mode 100644 (file)
index 15ff115..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- *  yosys -- Yosys Open SYnthesis Suite
- *
- *  Copyright (C) 2018 Icenowy Zheng <icenowy@aosc.io>
- *
- *  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/yosys.h"
-#include "kernel/sigtools.h"
-
-USING_YOSYS_NAMESPACE
-PRIVATE_NAMESPACE_BEGIN
-
-struct DetermineInitPass : public Pass {
-       DetermineInitPass() : Pass("determine_init", "Determine the init value of cells") { }
-       void help() override
-       {
-               log("\n");
-               log("    determine_init [selection]\n");
-               log("\n");
-               log("Determine the init value of cells that doesn't allow unknown init value.\n");
-               log("\n");
-       }
-
-       Const determine_init(Const init)
-       {
-               for (int i = 0; i < GetSize(init); i++) {
-                       if (init[i] != State::S0 && init[i] != State::S1)
-                               init[i] = State::S0;
-               }
-
-               return init;
-       }
-
-       void execute(std::vector<std::string> args, RTLIL::Design *design) override
-       {
-               log_header(design, "Executing DETERMINE_INIT pass (determine init value for cells).\n");
-
-               extra_args(args, args.size(), design);
-
-               int cnt = 0;
-               for (auto module : design->selected_modules())
-               {
-                       for (auto cell : module->selected_cells())
-                       {
-                               if (cell->type == ID(RAM16S4))
-                               {
-                                       cell->setParam(ID(INIT_0), determine_init(cell->getParam(ID(INIT_0))));
-                                       cell->setParam(ID(INIT_1), determine_init(cell->getParam(ID(INIT_1))));
-                                       cell->setParam(ID(INIT_2), determine_init(cell->getParam(ID(INIT_2))));
-                                       cell->setParam(ID(INIT_3), determine_init(cell->getParam(ID(INIT_3))));
-                                       cnt++;
-                               }
-                       }
-               }
-               log_header(design, "Updated %d cells with determined init value.\n", cnt);
-       }
-} DetermineInitPass;
-
-PRIVATE_NAMESPACE_END
index 32d9cc0a5d9d8e4991bf6e7ace1778e6fa59cfd3..1e82e1ed6edbb4b1cbbf5c0452da1f5bb7f1cb6c 100644 (file)
@@ -198,7 +198,7 @@ struct SynthGowinPass : public ScriptPass
                {
                        run("memory_bram -rules +/gowin/lutrams.txt");
                        run("techmap -map +/gowin/lutrams_map.v");
-                       run("determine_init");
+                       run("setundef -params -zero t:RAM16S4");
                }
 
                if (check_label("map_ffram"))