mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-13 04:28:18 +00:00
Remove ALL currently unused flags (some to be reintroduced later and passed through to synth)
This commit is contained in:
parent
2e9480be24
commit
8fdf4948a8
|
@ -48,72 +48,34 @@ struct SynthPass : public ScriptPass
|
||||||
log(" flatten the design before synthesis. this will pass '-auto-top' to\n");
|
log(" flatten the design before synthesis. this will pass '-auto-top' to\n");
|
||||||
log(" 'hierarchy' if no top module is specified.\n");
|
log(" 'hierarchy' if no top module is specified.\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
log(" -encfile <file>\n");
|
|
||||||
log(" passed to 'fsm_recode' via 'fsm'\n");
|
|
||||||
log("\n");
|
|
||||||
log(" -lut <k>\n");
|
log(" -lut <k>\n");
|
||||||
log(" perform synthesis for a k-LUT architecture (default 4).\n");
|
log(" perform synthesis for a k-LUT architecture (default 4).\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
log(" -nofsm\n");
|
|
||||||
log(" do not run FSM optimization\n");
|
|
||||||
log("\n");
|
|
||||||
log(" -noabc\n");
|
|
||||||
log(" do not run abc (as if yosys was compiled without ABC support)\n");
|
|
||||||
log("\n");
|
|
||||||
log(" -noalumacc\n");
|
|
||||||
log(" do not run 'alumacc' pass. i.e. keep arithmetic operators in\n");
|
|
||||||
log(" their direct form ($add, $sub, etc.).\n");
|
|
||||||
log("\n");
|
|
||||||
log(" -nordff\n");
|
|
||||||
log(" passed to 'memory'. prohibits merging of FFs into memory read ports\n");
|
|
||||||
log("\n");
|
|
||||||
log(" -noshare\n");
|
|
||||||
log(" do not run SAT-based resource sharing\n");
|
|
||||||
log("\n");
|
|
||||||
log(" -run <from_label>[:<to_label>]\n");
|
log(" -run <from_label>[:<to_label>]\n");
|
||||||
log(" only run the commands between the labels (see below). an empty\n");
|
log(" only run the commands between the labels (see below). an empty\n");
|
||||||
log(" from label is synonymous to 'begin', and empty to label is\n");
|
log(" from label is synonymous to 'begin', and empty to label is\n");
|
||||||
log(" synonymous to the end of the command list.\n");
|
log(" synonymous to the end of the command list.\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
log(" -abc9\n");
|
|
||||||
log(" use new ABC9 flow (EXPERIMENTAL)\n");
|
|
||||||
log("\n");
|
|
||||||
log(" -flowmap\n");
|
|
||||||
log(" use FlowMap LUT techmapping instead of ABC\n");
|
|
||||||
log("\n");
|
|
||||||
log(" -no-rw-check\n");
|
|
||||||
log(" marks all recognized read ports as \"return don't-care value on\n");
|
|
||||||
log(" read/write collision\" (same result as setting the no_rw_check\n");
|
|
||||||
log(" attribute on all memories).\n");
|
|
||||||
log("\n");
|
|
||||||
log("\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_module, fsm_opts, memory_opts, abc;
|
string top_module;
|
||||||
bool autotop, flatten, noalumacc, nofsm, noabc, noshare, flowmap, forvpr;
|
bool autotop, flatten, forvpr;
|
||||||
int lut;
|
int lut;
|
||||||
|
|
||||||
void clear_flags() override
|
void clear_flags() override
|
||||||
{
|
{
|
||||||
top_module.clear();
|
top_module.clear();
|
||||||
fsm_opts.clear();
|
|
||||||
memory_opts.clear();
|
|
||||||
|
|
||||||
autotop = false;
|
autotop = false;
|
||||||
flatten = false;
|
flatten = false;
|
||||||
lut = 4;
|
lut = 4;
|
||||||
noalumacc = false;
|
|
||||||
nofsm = false;
|
|
||||||
noabc = false;
|
|
||||||
noshare = false;
|
|
||||||
flowmap = false;
|
|
||||||
forvpr = false;
|
forvpr = false;
|
||||||
abc = "abc";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: bring back relevant flags to carry through to synth call
|
||||||
void execute(std::vector<std::string> args, RTLIL::Design *design) override
|
void execute(std::vector<std::string> args, RTLIL::Design *design) override
|
||||||
{
|
{
|
||||||
string run_from, run_to;
|
string run_from, run_to;
|
||||||
|
@ -126,10 +88,6 @@ struct SynthPass : public ScriptPass
|
||||||
top_module = args[++argidx];
|
top_module = args[++argidx];
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (args[argidx] == "-encfile" && argidx+1 < args.size()) {
|
|
||||||
fsm_opts = " -encfile " + args[++argidx];
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (args[argidx] == "-run" && argidx+1 < args.size()) {
|
if (args[argidx] == "-run" && argidx+1 < args.size()) {
|
||||||
size_t pos = args[argidx+1].find(':');
|
size_t pos = args[argidx+1].find(':');
|
||||||
if (pos == std::string::npos) {
|
if (pos == std::string::npos) {
|
||||||
|
@ -157,38 +115,6 @@ struct SynthPass : public ScriptPass
|
||||||
lut = atoi(args[++argidx].c_str());
|
lut = atoi(args[++argidx].c_str());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (args[argidx] == "-nofsm") {
|
|
||||||
nofsm = true;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (args[argidx] == "-noabc") {
|
|
||||||
noabc = true;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (args[argidx] == "-noalumacc") {
|
|
||||||
noalumacc = true;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (args[argidx] == "-nordff") {
|
|
||||||
memory_opts += " -nordff";
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (args[argidx] == "-noshare") {
|
|
||||||
noshare = true;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (args[argidx] == "-abc9") {
|
|
||||||
abc = "abc9";
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (args[argidx] == "-flowmap") {
|
|
||||||
flowmap = true;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (args[argidx] == "-no-rw-check") {
|
|
||||||
memory_opts += " -no-rw-check";
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
extra_args(args, argidx, design);
|
extra_args(args, argidx, design);
|
||||||
|
@ -196,11 +122,6 @@ struct SynthPass : public ScriptPass
|
||||||
if (!design->full_selection())
|
if (!design->full_selection())
|
||||||
log_cmd_error("This command only operates on fully selected designs!\n");
|
log_cmd_error("This command only operates on fully selected designs!\n");
|
||||||
|
|
||||||
if (abc == "abc9" && !lut)
|
|
||||||
log_cmd_error("ABC9 flow only supported for FPGA synthesis (using '-lut' option)\n");
|
|
||||||
if (flowmap && !lut)
|
|
||||||
log_cmd_error("FlowMap is only supported for FPGA synthesis (using '-lut' option)\n");
|
|
||||||
|
|
||||||
log_header(design, "Executing SYNTH pass.\n");
|
log_header(design, "Executing SYNTH pass.\n");
|
||||||
log_push();
|
log_push();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue