Added extended ABC options for PP3 Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
diff --git a/ql-qlf-plugin/pp3/pp3_lutdefs.txt b/ql-qlf-plugin/pp3/pp3_lutdefs.txt new file mode 100644 index 0000000..747f2a7 --- /dev/null +++ b/ql-qlf-plugin/pp3/pp3_lutdefs.txt
@@ -0,0 +1,4 @@ +1 1.00 1.00 +2 2.00 1.00 +3 2.00 1.00 +4 8.00 1.00
diff --git a/ql-qlf-plugin/synth_quicklogic.cc b/ql-qlf-plugin/synth_quicklogic.cc index db82618..8d1dce1 100644 --- a/ql-qlf-plugin/synth_quicklogic.cc +++ b/ql-qlf-plugin/synth_quicklogic.cc
@@ -100,7 +100,7 @@ inferAdder = true; inferBram = true; abcOpt = true; - abc9 = true; + abc9 = true; noffmap = false; nodsp = false; } @@ -315,7 +315,15 @@ run("abc9 -maxlut 4 -dff"); run("techmap -map +/quicklogic/" + family + "_abc9_unmap.v"); } else { - run("abc -luts 1,2,2,4 -dress"); + std::string lutDefs = "+/quicklogic/" + family + "_lutdefs.txt"; + rewrite_filename(lutDefs); + + std::string abcArgs = "+read_lut," + lutDefs + ";" + "strash;ifraig;scorr;dc2;dretime;strash;dch,-f;if;mfs2;" // Common Yosys ABC script + "sweep;eliminate;if;mfs;lutpack;" // Optimization script + "dress"; // "dress" to preserve names + + run("abc -script " + abcArgs); } } }