3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-10-24 08:24:35 +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(" 'gw1n', 'gw2a', 'gw5a'.\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");
help_script();
log("\n");
}
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
{
@ -119,6 +122,7 @@ struct SynthGowinPass : public ScriptPass
noiopads = false;
noalu = false;
no_rw_check = false;
setundef = false;
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
@ -201,6 +205,10 @@ struct SynthGowinPass : public ScriptPass
no_rw_check = true;
continue;
}
if (args[argidx] == "-setundef") {
setundef = true;
continue;
}
break;
}
extra_args(args, argidx, design);
@ -321,7 +329,8 @@ struct SynthGowinPass : public ScriptPass
{
run("techmap -map +/gowin/cells_map.v");
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");
if (!vout_file.empty() || help_mode) // vendor output requires 1-bit wires
run("splitnets -ports", "(only if -vout used)");