mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-13 04:28:18 +00:00
insert IO buffers for ECP5, off by default
This commit is contained in:
parent
ceef00c35e
commit
10589c57bf
|
@ -100,6 +100,9 @@ struct SynthEcp5Pass : public ScriptPass
|
||||||
log(" generate an output netlist (and BLIF file) suitable for VPR\n");
|
log(" generate an output netlist (and BLIF file) suitable for VPR\n");
|
||||||
log(" (this feature is experimental and incomplete)\n");
|
log(" (this feature is experimental and incomplete)\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
|
log(" -iopad\n");
|
||||||
|
log(" insert IO buffers\n");
|
||||||
|
log("\n");
|
||||||
log(" -nodsp\n");
|
log(" -nodsp\n");
|
||||||
log(" do not map multipliers to MULT18X18D\n");
|
log(" do not map multipliers to MULT18X18D\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
|
@ -115,7 +118,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, nolutram, nowidelut, asyncprld, flatten, dff, retime, abc2, abc9, nodsp, vpr, no_rw_check;
|
bool noccu2, nodffe, nobram, nolutram, nowidelut, asyncprld, flatten, dff, retime, abc2, abc9, iopad, nodsp, vpr, no_rw_check;
|
||||||
|
|
||||||
void clear_flags() override
|
void clear_flags() override
|
||||||
{
|
{
|
||||||
|
@ -135,6 +138,7 @@ struct SynthEcp5Pass : public ScriptPass
|
||||||
abc2 = false;
|
abc2 = false;
|
||||||
vpr = false;
|
vpr = false;
|
||||||
abc9 = false;
|
abc9 = false;
|
||||||
|
iopad = false;
|
||||||
nodsp = false;
|
nodsp = false;
|
||||||
no_rw_check = false;
|
no_rw_check = false;
|
||||||
}
|
}
|
||||||
|
@ -223,6 +227,10 @@ struct SynthEcp5Pass : public ScriptPass
|
||||||
abc9 = true;
|
abc9 = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (args[argidx] == "-iopad") {
|
||||||
|
iopad = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (args[argidx] == "-nodsp") {
|
if (args[argidx] == "-nodsp") {
|
||||||
nodsp = true;
|
nodsp = true;
|
||||||
continue;
|
continue;
|
||||||
|
@ -319,6 +327,11 @@ struct SynthEcp5Pass : public ScriptPass
|
||||||
run("techmap");
|
run("techmap");
|
||||||
else
|
else
|
||||||
run("techmap -map +/techmap.v -map +/ecp5/arith_map.v");
|
run("techmap -map +/techmap.v -map +/ecp5/arith_map.v");
|
||||||
|
if (help_mode || iopad) {
|
||||||
|
run("iopadmap -bits -outpad OB I:O -inpad IB O:I -toutpad OBZ ~T:I:O -tinoutpad BB ~T:O:I:B A:top", "(only if '-iopad')");
|
||||||
|
run("attrmvcp -attr src -attr LOC t:OB %x:+[O] t:OBZ %x:+[O] t:BB %x:+[B]");
|
||||||
|
run("attrmvcp -attr src -attr LOC -driven t:IB %x:+[I]");
|
||||||
|
}
|
||||||
run("opt -fast");
|
run("opt -fast");
|
||||||
if (retime || help_mode)
|
if (retime || help_mode)
|
||||||
run("abc -dff -D 1", "(only if -retime)");
|
run("abc -dff -D 1", "(only if -retime)");
|
||||||
|
|
Loading…
Reference in a new issue