aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/ecp5/synth_ecp5.cc
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2019-08-08 15:18:59 +0100
committerDavid Shah <dave@ds0.me>2019-08-08 15:18:59 +0100
commit0492b8b5412683392bc19ad7f15ba6c14e6668f8 (patch)
tree3fb0209284437d781673bd501ed2c332c4a6b2df /techlibs/ecp5/synth_ecp5.cc
parentcb84ed23263f8cad8f878a327061ac2c990af812 (diff)
downloadyosys-0492b8b5412683392bc19ad7f15ba6c14e6668f8.tar.gz
yosys-0492b8b5412683392bc19ad7f15ba6c14e6668f8.tar.bz2
yosys-0492b8b5412683392bc19ad7f15ba6c14e6668f8.zip
ecp5: Replace '-dsp' with inverse logic '-nodsp' to match synth_xilinx
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'techlibs/ecp5/synth_ecp5.cc')
-rw-r--r--techlibs/ecp5/synth_ecp5.cc22
1 files changed, 11 insertions, 11 deletions
diff --git a/techlibs/ecp5/synth_ecp5.cc b/techlibs/ecp5/synth_ecp5.cc
index 7be377280..1a5359e85 100644
--- a/techlibs/ecp5/synth_ecp5.cc
+++ b/techlibs/ecp5/synth_ecp5.cc
@@ -89,8 +89,8 @@ struct SynthEcp5Pass : public ScriptPass
log(" generate an output netlist (and BLIF file) suitable for VPR\n");
log(" (this feature is experimental and incomplete)\n");
log("\n");
- log(" -dsp\n");
- log(" map multipliers to MULT18X18D (EXPERIMENTAL)\n");
+ log(" -nodsp\n");
+ log(" do not map multipliers to MULT18X18D\n");
log("\n");
log("\n");
log("The following commands are executed by this synthesis command:\n");
@@ -99,7 +99,7 @@ struct SynthEcp5Pass : public ScriptPass
}
string top_opt, blif_file, edif_file, json_file;
- bool noccu2, nodffe, nobram, nolutram, nowidelut, flatten, retime, abc2, abc9, dsp, vpr;
+ bool noccu2, nodffe, nobram, nolutram, nowidelut, flatten, retime, abc2, abc9, nodsp, vpr;
void clear_flags() YS_OVERRIDE
{
@@ -117,7 +117,7 @@ struct SynthEcp5Pass : public ScriptPass
abc2 = false;
vpr = false;
abc9 = false;
- dsp = false;
+ nodsp = false;
}
void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE
@@ -196,8 +196,8 @@ struct SynthEcp5Pass : public ScriptPass
abc9 = true;
continue;
}
- if (args[argidx] == "-dsp") {
- dsp = true;
+ if (args[argidx] == "-nodsp") {
+ nodsp = true;
continue;
}
break;
@@ -247,11 +247,11 @@ struct SynthEcp5Pass : public ScriptPass
run("techmap -map +/cmp2lut.v -D LUT_WIDTH=4");
run("opt_expr");
run("opt_clean");
- if (dsp) {
- run("techmap -map +/mul2dsp.v -D DSP_A_MAXWIDTH=18 -D DSP_B_MAXWIDTH=18 -D DSP_A_MINWIDTH=2 -D DSP_B_MINWIDTH=2 -D DSP_NAME=$__MUL18X18");
- run("clean");
- run("techmap -map +/ecp5/dsp_map.v");
- run("chtype -set $mul t:$__soft_mul","(if -dsp)");
+ if (!nodsp) {
+ run("techmap -map +/mul2dsp.v -D DSP_A_MAXWIDTH=18 -D DSP_B_MAXWIDTH=18 -D DSP_A_MINWIDTH=2 -D DSP_B_MINWIDTH=2 -D DSP_NAME=$__MUL18X18", "(unless -nodsp)");
+ run("clean", "(unless -nodsp)");
+ run("techmap -map +/ecp5/dsp_map.v", "(unless -nodsp)");
+ run("chtype -set $mul t:$__soft_mul", "(unless -nodsp)");
}
run("alumacc");
run("opt");