mirror of https://github.com/YosysHQ/yosys.git
Merge pull request #1184 from whitequark/synth-better-labels
synth_{ice40,ecp5}: more sensible pass label naming
This commit is contained in:
commit
e66e8fb59d
|
@ -4,8 +4,8 @@ OBJS += techlibs/ecp5/synth_ecp5.o techlibs/ecp5/ecp5_ffinit.o
|
||||||
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_map.v))
|
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_map.v))
|
||||||
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_sim.v))
|
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_sim.v))
|
||||||
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_bb.v))
|
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/cells_bb.v))
|
||||||
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/drams_map.v))
|
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/lutrams_map.v))
|
||||||
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/dram.txt))
|
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/lutram.txt))
|
||||||
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/brams_map.v))
|
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/brams_map.v))
|
||||||
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/bram.txt))
|
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/bram.txt))
|
||||||
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/arith_map.v))
|
$(eval $(call add_share_file,share/ecp5,techlibs/ecp5/arith_map.v))
|
||||||
|
|
|
@ -71,10 +71,10 @@ struct SynthEcp5Pass : public ScriptPass
|
||||||
log(" do not use flipflops with CE in output netlist\n");
|
log(" do not use flipflops with CE in output netlist\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
log(" -nobram\n");
|
log(" -nobram\n");
|
||||||
log(" do not use BRAM cells in output netlist\n");
|
log(" do not use block RAM cells in output netlist\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
log(" -nodram\n");
|
log(" -nolutram\n");
|
||||||
log(" do not use distributed RAM cells in output netlist\n");
|
log(" do not use LUT RAM cells in output netlist\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
log(" -nowidelut\n");
|
log(" -nowidelut\n");
|
||||||
log(" do not use PFU muxes to implement LUTs larger than LUT4s\n");
|
log(" do not use PFU muxes to implement LUTs larger than LUT4s\n");
|
||||||
|
@ -96,7 +96,7 @@ struct SynthEcp5Pass : public ScriptPass
|
||||||
}
|
}
|
||||||
|
|
||||||
string top_opt, blif_file, edif_file, json_file;
|
string top_opt, blif_file, edif_file, json_file;
|
||||||
bool noccu2, nodffe, nobram, nodram, nowidelut, flatten, retime, abc2, abc9, vpr;
|
bool noccu2, nodffe, nobram, nolutram, nowidelut, flatten, retime, abc2, abc9, vpr;
|
||||||
|
|
||||||
void clear_flags() YS_OVERRIDE
|
void clear_flags() YS_OVERRIDE
|
||||||
{
|
{
|
||||||
|
@ -107,7 +107,7 @@ struct SynthEcp5Pass : public ScriptPass
|
||||||
noccu2 = false;
|
noccu2 = false;
|
||||||
nodffe = false;
|
nodffe = false;
|
||||||
nobram = false;
|
nobram = false;
|
||||||
nodram = false;
|
nolutram = false;
|
||||||
nowidelut = false;
|
nowidelut = false;
|
||||||
flatten = true;
|
flatten = true;
|
||||||
retime = false;
|
retime = false;
|
||||||
|
@ -172,11 +172,11 @@ struct SynthEcp5Pass : public ScriptPass
|
||||||
nobram = true;
|
nobram = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (args[argidx] == "-nodram") {
|
if (args[argidx] == "-nolutram" || /*deprecated alias*/ args[argidx] == "-nodram") {
|
||||||
nodram = true;
|
nolutram = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (args[argidx] == "-nowidelut" || args[argidx] == "-nomux") {
|
if (args[argidx] == "-nowidelut" || /*deprecated alias*/ args[argidx] == "-nomux") {
|
||||||
nowidelut = true;
|
nowidelut = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -231,23 +231,27 @@ struct SynthEcp5Pass : public ScriptPass
|
||||||
run("synth -run coarse");
|
run("synth -run coarse");
|
||||||
}
|
}
|
||||||
|
|
||||||
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("memory_bram -rules +/ecp5/bram.txt");
|
||||||
run("techmap -map +/ecp5/brams_map.v");
|
run("techmap -map +/ecp5/brams_map.v");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!nodram && check_label("dram", "(skip if -nodram)"))
|
if (!nolutram && check_label("map_lutram", "(skip if -nolutram)"))
|
||||||
{
|
{
|
||||||
run("memory_bram -rules +/ecp5/dram.txt");
|
run("memory_bram -rules +/ecp5/lutram.txt");
|
||||||
run("techmap -map +/ecp5/drams_map.v");
|
run("techmap -map +/ecp5/lutrams_map.v");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (check_label("fine"))
|
if (check_label("map_ffram"))
|
||||||
{
|
{
|
||||||
run("opt -fast -mux_undef -undriven -fine");
|
run("opt -fast -mux_undef -undriven -fine");
|
||||||
run("memory_map");
|
run("memory_map");
|
||||||
run("opt -undriven -fine");
|
run("opt -undriven -fine");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (check_label("map_gates"))
|
||||||
|
{
|
||||||
if (noccu2)
|
if (noccu2)
|
||||||
run("techmap");
|
run("techmap");
|
||||||
else
|
else
|
||||||
|
|
|
@ -275,14 +275,14 @@ struct SynthIce40Pass : public ScriptPass
|
||||||
run("opt_clean");
|
run("opt_clean");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!nobram && check_label("bram", "(skip if -nobram)"))
|
if (!nobram && check_label("map_bram", "(skip if -nobram)"))
|
||||||
{
|
{
|
||||||
run("memory_bram -rules +/ice40/brams.txt");
|
run("memory_bram -rules +/ice40/brams.txt");
|
||||||
run("techmap -map +/ice40/brams_map.v");
|
run("techmap -map +/ice40/brams_map.v");
|
||||||
run("ice40_braminit");
|
run("ice40_braminit");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (check_label("map"))
|
if (check_label("map_ffram"))
|
||||||
{
|
{
|
||||||
run("opt -fast -mux_undef -undriven -fine");
|
run("opt -fast -mux_undef -undriven -fine");
|
||||||
run("memory_map");
|
run("memory_map");
|
||||||
|
|
Loading…
Reference in New Issue