3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-10-27 01:39:23 +00:00

synth_gowin: make setundef an off by default option

This commit is contained in:
Maxim Kudinov 2025-10-16 10:32:39 +03:00 committed by Lofty
parent db8c1878a0
commit 8f6d63c082

View file

@ -94,13 +94,16 @@ struct SynthGowinPass : public ScriptPass
log(" The following families are supported:\n"); log(" The following families are supported:\n");
log(" 'gw1n', 'gw2a', 'gw5a'.\n"); log(" 'gw1n', 'gw2a', 'gw5a'.\n");
log("\n"); log("\n");
log(" -setundef\n");
log(" run 'setundef' with '-undriven -params -zero' options\n");
log("\n");
log("The following commands are executed by this synthesis command:\n"); log("The following commands are executed by this synthesis command:\n");
help_script(); help_script();
log("\n"); log("\n");
} }
string top_opt, vout_file, json_file, family; string top_opt, vout_file, json_file, family;
bool retime, nobram, nolutram, flatten, nodffe, strict_gw5a_dffs, nowidelut, abc9, noiopads, noalu, no_rw_check; bool retime, nobram, nolutram, flatten, nodffe, strict_gw5a_dffs, nowidelut, abc9, noiopads, noalu, no_rw_check, setundef;
void clear_flags() override void clear_flags() override
{ {
@ -119,6 +122,7 @@ struct SynthGowinPass : public ScriptPass
noiopads = false; noiopads = false;
noalu = false; noalu = false;
no_rw_check = false; no_rw_check = false;
setundef = false;
} }
void execute(std::vector<std::string> args, RTLIL::Design *design) override void execute(std::vector<std::string> args, RTLIL::Design *design) override
@ -201,6 +205,10 @@ struct SynthGowinPass : public ScriptPass
no_rw_check = true; no_rw_check = true;
continue; continue;
} }
if (args[argidx] == "-setundef") {
setundef = true;
continue;
}
break; break;
} }
extra_args(args, argidx, design); extra_args(args, argidx, design);
@ -321,7 +329,8 @@ struct SynthGowinPass : public ScriptPass
{ {
run("techmap -map +/gowin/cells_map.v"); run("techmap -map +/gowin/cells_map.v");
run("opt_lut_ins -tech gowin"); run("opt_lut_ins -tech gowin");
run("setundef -undriven -params -zero"); if (setundef || help_mode)
run("setundef -undriven -params -zero", "(only if -setundef used)");
run("hilomap -singleton -hicell VCC V -locell GND G"); run("hilomap -singleton -hicell VCC V -locell GND G");
if (!vout_file.empty() || help_mode) // vendor output requires 1-bit wires if (!vout_file.empty() || help_mode) // vendor output requires 1-bit wires
run("splitnets -ports", "(only if -vout used)"); run("splitnets -ports", "(only if -vout used)");