Replaced custom step with setundef
authorMiodrag Milanovic <mmicko@gmail.com>
Sun, 11 Aug 2019 09:01:46 +0000 (11:01 +0200)
committerMiodrag Milanovic <mmicko@gmail.com>
Sun, 11 Aug 2019 09:01:46 +0000 (11:01 +0200)
techlibs/efinix/Makefile.inc
techlibs/efinix/efinix_determine_init.cc [deleted file]
techlibs/efinix/synth_efinix.cc

index 47dadccdd389668a0302c1cffcb3d22b72642a13..f1ce582766efb86b6f1c4e35ca3bbf86add15d92 100644 (file)
@@ -1,7 +1,6 @@
 
 OBJS += techlibs/efinix/synth_efinix.o
 OBJS += techlibs/efinix/efinix_gbuf.o
-OBJS += techlibs/efinix/efinix_determine_init.o
 OBJS += techlibs/efinix/efinix_fixcarry.o
 
 $(eval $(call add_share_file,share/efinix,techlibs/efinix/cells_map.v))
diff --git a/techlibs/efinix/efinix_determine_init.cc b/techlibs/efinix/efinix_determine_init.cc
deleted file mode 100644 (file)
index 54da703..0000000
+++ /dev/null
@@ -1,89 +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 EfinixDetermineInitPass : public Pass {
-       EfinixDetermineInitPass() : Pass("efinix_determine_init", "Efinix: Determine the init value of cells") { }
-       void help() YS_OVERRIDE
-       {
-               log("\n");
-               log("    efinix_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) YS_OVERRIDE
-       {
-               log_header(design, "Executing EFINIX_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 == "\\EFX_RAM_5K")
-                               {
-                                       cell->setParam("\\INIT_0", determine_init(cell->getParam("\\INIT_0")));                                 
-                                       cell->setParam("\\INIT_1", determine_init(cell->getParam("\\INIT_1")));
-                                       cell->setParam("\\INIT_2", determine_init(cell->getParam("\\INIT_2")));
-                                       cell->setParam("\\INIT_3", determine_init(cell->getParam("\\INIT_3")));
-                                       cell->setParam("\\INIT_4", determine_init(cell->getParam("\\INIT_4")));
-                                       cell->setParam("\\INIT_5", determine_init(cell->getParam("\\INIT_5")));
-                                       cell->setParam("\\INIT_6", determine_init(cell->getParam("\\INIT_6")));
-                                       cell->setParam("\\INIT_7", determine_init(cell->getParam("\\INIT_7")));
-                                       cell->setParam("\\INIT_8", determine_init(cell->getParam("\\INIT_8")));
-                                       cell->setParam("\\INIT_9", determine_init(cell->getParam("\\INIT_9")));
-                                       cell->setParam("\\INIT_A", determine_init(cell->getParam("\\INIT_A")));
-                                       cell->setParam("\\INIT_B", determine_init(cell->getParam("\\INIT_B")));
-                                       cell->setParam("\\INIT_C", determine_init(cell->getParam("\\INIT_C")));
-                                       cell->setParam("\\INIT_D", determine_init(cell->getParam("\\INIT_D")));
-                                       cell->setParam("\\INIT_E", determine_init(cell->getParam("\\INIT_E")));
-                                       cell->setParam("\\INIT_F", determine_init(cell->getParam("\\INIT_F")));
-                                       cell->setParam("\\INIT_10", determine_init(cell->getParam("\\INIT_10")));
-                                       cell->setParam("\\INIT_11", determine_init(cell->getParam("\\INIT_11")));
-                                       cell->setParam("\\INIT_12", determine_init(cell->getParam("\\INIT_12")));
-                                       cell->setParam("\\INIT_13", determine_init(cell->getParam("\\INIT_13")));
-
-                                       cnt++;
-                               }
-                       }
-               }
-               log_header(design, "Updated %d cells with determined init value.\n", cnt);
-       }
-} EfinixDetermineInitPass;
-
-PRIVATE_NAMESPACE_END
index d64491ca83d7b84f9b8c6135f5712da98390f44a..26a8d4edac05258562837eedc431b5b183825d37 100644 (file)
@@ -154,7 +154,7 @@ struct SynthEfinixPass : public ScriptPass
                {
                        run("memory_bram -rules +/efinix/bram.txt");
                        run("techmap -map +/efinix/brams_map.v");
-                       run("efinix_determine_init");
+                       run("setundef -zero -params t:EFX_RAM_5K");
                }
 
                if (check_label("fine"))