mirror of
https://github.com/YosysHQ/yosys
synced 2026-06-15 13:25:48 +00:00
Add csa to synth.
This commit is contained in:
parent
4b037bda7a
commit
18c7cb094e
1 changed files with 13 additions and 3 deletions
|
|
@ -67,6 +67,10 @@ struct SynthPass : public ScriptPass {
|
||||||
log(" -booth\n");
|
log(" -booth\n");
|
||||||
log(" run the booth pass to map $mul to Booth encoded multipliers\n");
|
log(" run the booth pass to map $mul to Booth encoded multipliers\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
|
log(" -csa\n");
|
||||||
|
log(" run the csa_tree pass to convert $add/$sub chains to\n");
|
||||||
|
log(" carry-save adder trees.\n");
|
||||||
|
log("\n");
|
||||||
log(" -noalumacc\n");
|
log(" -noalumacc\n");
|
||||||
log(" do not run 'alumacc' pass. i.e. keep arithmetic operators in\n");
|
log(" do not run 'alumacc' pass. i.e. keep arithmetic operators in\n");
|
||||||
log(" their direct form ($add, $sub, etc.).\n");
|
log(" their direct form ($add, $sub, etc.).\n");
|
||||||
|
|
@ -108,7 +112,7 @@ struct SynthPass : public ScriptPass {
|
||||||
}
|
}
|
||||||
|
|
||||||
string top_module, fsm_opts, memory_opts, abc;
|
string top_module, fsm_opts, memory_opts, abc;
|
||||||
bool autotop, flatten, noalumacc, nofsm, noabc, noshare, flowmap, booth, hieropt, relative_share;
|
bool autotop, flatten, noalumacc, nofsm, noabc, noshare, flowmap, booth, csa, hieropt, relative_share;
|
||||||
int lut;
|
int lut;
|
||||||
std::vector<std::string> techmap_maps;
|
std::vector<std::string> techmap_maps;
|
||||||
|
|
||||||
|
|
@ -127,6 +131,7 @@ struct SynthPass : public ScriptPass {
|
||||||
noshare = false;
|
noshare = false;
|
||||||
flowmap = false;
|
flowmap = false;
|
||||||
booth = false;
|
booth = false;
|
||||||
|
csa = false;
|
||||||
hieropt = false;
|
hieropt = false;
|
||||||
relative_share = false;
|
relative_share = false;
|
||||||
abc = "abc";
|
abc = "abc";
|
||||||
|
|
@ -187,7 +192,10 @@ struct SynthPass : public ScriptPass {
|
||||||
booth = true;
|
booth = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (args[argidx] == "-csa") {
|
||||||
|
csa = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (args[argidx] == "-nordff") {
|
if (args[argidx] == "-nordff") {
|
||||||
memory_opts += " -nordff";
|
memory_opts += " -nordff";
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -287,6 +295,8 @@ struct SynthPass : public ScriptPass {
|
||||||
run(stringf("%s -map +/cmp2lut.v -map +/cmp2lcu.v -D LUT_WIDTH=%d", techmap_cmd, lut));
|
run(stringf("%s -map +/cmp2lut.v -map +/cmp2lcu.v -D LUT_WIDTH=%d", techmap_cmd, lut));
|
||||||
if (booth || help_mode)
|
if (booth || help_mode)
|
||||||
run("booth", " (if -booth)");
|
run("booth", " (if -booth)");
|
||||||
|
if (csa || help_mode)
|
||||||
|
run("csa_tree", " (if -csa)");
|
||||||
if (!noalumacc)
|
if (!noalumacc)
|
||||||
run("alumacc", " (unless -noalumacc)");
|
run("alumacc", " (unless -noalumacc)");
|
||||||
if (!noshare)
|
if (!noshare)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue