diff options
Diffstat (limited to 'techlibs/gowin')
| -rw-r--r-- | techlibs/gowin/Makefile.inc | 1 | ||||
| -rw-r--r-- | techlibs/gowin/determine_init.cc | 72 | ||||
| -rw-r--r-- | techlibs/gowin/synth_gowin.cc | 2 | 
3 files changed, 1 insertions, 74 deletions
diff --git a/techlibs/gowin/Makefile.inc b/techlibs/gowin/Makefile.inc index 0756e3bcf..e6a6be970 100644 --- a/techlibs/gowin/Makefile.inc +++ b/techlibs/gowin/Makefile.inc @@ -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 index 15ff115de..000000000 --- a/techlibs/gowin/determine_init.cc +++ /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 diff --git a/techlibs/gowin/synth_gowin.cc b/techlibs/gowin/synth_gowin.cc index 32d9cc0a5..1e82e1ed6 100644 --- a/techlibs/gowin/synth_gowin.cc +++ b/techlibs/gowin/synth_gowin.cc @@ -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"))  | 
