From: Eddie Hung Date: Thu, 18 Jul 2019 22:45:25 +0000 (-0700) Subject: Merge remote-tracking branch 'origin/master' into ice40dsp X-Git-Tag: working-ls180~1039^2~330 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=42e40dbd0a513d430ff0a463f9a80dedfbbf51f5;p=yosys.git Merge remote-tracking branch 'origin/master' into ice40dsp --- 42e40dbd0a513d430ff0a463f9a80dedfbbf51f5 diff --cc techlibs/ecp5/synth_ecp5.cc index 8e243f7a6,143d1f95c..3129ba929 --- a/techlibs/ecp5/synth_ecp5.cc +++ b/techlibs/ecp5/synth_ecp5.cc @@@ -99,7 -96,7 +99,7 @@@ struct SynthEcp5Pass : public ScriptPas } string top_opt, blif_file, edif_file, json_file; - bool noccu2, nodffe, nobram, nodram, nowidelut, flatten, retime, abc2, abc9, dsp, vpr; - bool noccu2, nodffe, nobram, nolutram, nowidelut, flatten, retime, abc2, abc9, vpr; ++ bool noccu2, nodffe, nobram, nolutram, nowidelut, flatten, retime, abc2, abc9, dsp, vpr; void clear_flags() YS_OVERRIDE { @@@ -236,31 -228,10 +236,31 @@@ if (check_label("coarse")) { - run("synth -run coarse"); + run("opt_expr"); + run("opt_clean"); + run("check"); + run("opt"); + run("wreduce"); + run("peepopt"); + run("opt_clean"); + run("share"); + 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_NAME=$__MUL18X18"); + run("clean"); + run("techmap -map +/ecp5/dsp_map.v"); + } + run("alumacc"); + run("opt"); + run("fsm"); + run("opt -fast"); + run("memory -nomap"); + run("opt_clean"); } - if (!nobram && check_label("bram", "(skip if -nobram)")) + if (!nobram && check_label("map_bram", "(skip if -nobram)")) { run("memory_bram -rules +/ecp5/bram.txt"); run("techmap -map +/ecp5/brams_map.v");