mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-24 01:25:33 +00:00
Replace opt_rmdff with opt_dff.
This commit is contained in:
parent
c39ebe6ae0
commit
9a4f420b4b
18 changed files with 75 additions and 73 deletions
|
@ -220,6 +220,9 @@ struct SynthPass : public ScriptPass
|
|||
run("opt_expr");
|
||||
run("opt_clean");
|
||||
run("check");
|
||||
run("opt -nodffe -nosdff");
|
||||
if (!nofsm)
|
||||
run("fsm" + fsm_opts, " (unless -nofsm)");
|
||||
run("opt");
|
||||
run("wreduce");
|
||||
run("peepopt");
|
||||
|
@ -233,9 +236,6 @@ struct SynthPass : public ScriptPass
|
|||
if (!noshare)
|
||||
run("share", " (unless -noshare)");
|
||||
run("opt");
|
||||
if (!nofsm)
|
||||
run("fsm" + fsm_opts, " (unless -nofsm)");
|
||||
run("opt -fast");
|
||||
run("memory -nomap" + memory_opts);
|
||||
run("opt_clean");
|
||||
}
|
||||
|
|
|
@ -257,6 +257,8 @@ struct SynthEcp5Pass : public ScriptPass
|
|||
run("opt_expr");
|
||||
run("opt_clean");
|
||||
run("check");
|
||||
run("opt -nodffe -nosdff");
|
||||
run("fsm");
|
||||
run("opt");
|
||||
run("wreduce");
|
||||
run("peepopt");
|
||||
|
@ -271,8 +273,6 @@ struct SynthEcp5Pass : public ScriptPass
|
|||
}
|
||||
run("alumacc");
|
||||
run("opt");
|
||||
run("fsm");
|
||||
run("opt -fast");
|
||||
run("memory -nomap");
|
||||
run("opt_clean");
|
||||
}
|
||||
|
@ -311,16 +311,20 @@ struct SynthEcp5Pass : public ScriptPass
|
|||
|
||||
if (check_label("map_ffs"))
|
||||
{
|
||||
run("dff2dffs");
|
||||
run("opt_clean");
|
||||
if (!nodffe)
|
||||
run("dff2dffe -direct-match $_DFF_* -direct-match $_SDFF_*");
|
||||
if (help_mode)
|
||||
run("dfflegalize -cell $_DFF_?_ 01 -cell $_DFFE_??_ 01 -cell $_DFF_?P?_ r -cell $_DFFE_?P??_ r -cell $_SDFF_?P?_ r -cell $_SDFFE_?P??_ r -cell $_DLATCH_?_ x [-cell $_DFFSR_?PP_ x]", "($_DFFSR_*_ only if -asyncprld)");
|
||||
else if (asyncprld)
|
||||
run("dfflegalize -cell $_DFF_?_ 01 -cell $_DFFE_??_ 01 -cell $_DFF_?P?_ r -cell $_DFFE_?P??_ r -cell $_SDFF_?P?_ r -cell $_SDFFE_?P??_ r -cell $_DLATCH_?_ x -cell $_DFFSR_?PP_ x");
|
||||
else
|
||||
run("dfflegalize -cell $_DFF_?_ 01 -cell $_DFFE_??_ 01 -cell $_DFF_?P?_ r -cell $_DFFE_?P??_ r -cell $_SDFF_?P?_ r -cell $_SDFFE_?P??_ r -cell $_DLATCH_?_ x");
|
||||
std::string dfflegalize_args = " -cell $_DFF_?_ 01 -cell $_DFF_?P?_ r -cell $_SDFF_?P?_ r";
|
||||
if (help_mode) {
|
||||
dfflegalize_args += " [-cell $_DFFE_??_ 01 -cell $_DFFE_?P??_ r -cell $_SDFFE_?P??_ r]";
|
||||
} else if (!nodffe) {
|
||||
dfflegalize_args += " -cell $_DFFE_??_ 01 -cell $_DFFE_?P??_ r -cell $_SDFFE_?P??_ r";
|
||||
}
|
||||
dfflegalize_args += " -cell $_DLATCH_?_ x";
|
||||
if (help_mode) {
|
||||
dfflegalize_args += " [-cell $_DFFSR_?PP_ x]";
|
||||
} else if (asyncprld) {
|
||||
dfflegalize_args += " -cell $_DFFSR_?PP_ x";
|
||||
}
|
||||
run("dfflegalize" + dfflegalize_args, "($_DFFSR_*_ only if -asyncprld, $_*DFFE_* only if not -nodffe)");
|
||||
if ((abc9 && dff) || help_mode)
|
||||
run("zinit -all w:* t:$_DFF_?_ t:$_DFFE_??_ t:$_SDFF*", "(only if -abc9 and -dff");
|
||||
run(stringf("techmap -D NO_LUT %s -map +/ecp5/cells_map.v", help_mode ? "[-D ASYNC_PRLD]" : (asyncprld ? "-D ASYNC_PRLD" : "")));
|
||||
|
|
|
@ -219,11 +219,11 @@ struct SynthGowinPass : public ScriptPass
|
|||
|
||||
if (check_label("map_ffs"))
|
||||
{
|
||||
run("dff2dffs -match-init");
|
||||
run("opt_clean");
|
||||
if (!nodffe)
|
||||
run("dff2dffe -direct-match $_DFF_* -direct-match $_SDFF_*");
|
||||
run("dfflegalize -cell $_DFF_?_ 0 -cell $_DFFE_?P_ 0 -cell $_SDFF_?P?_ r -cell $_SDFFE_?P?P_ r -cell $_DFF_?P?_ r -cell $_DFFE_?P?P_ r");
|
||||
if (nodffe)
|
||||
run("dfflegalize -cell $_DFF_?_ 0 -cell $_SDFF_?P?_ r -cell $_DFF_?P?_ r");
|
||||
else
|
||||
run("dfflegalize -cell $_DFF_?_ 0 -cell $_DFFE_?P_ 0 -cell $_SDFF_?P?_ r -cell $_SDFFE_?P?P_ r -cell $_DFF_?P?_ r -cell $_DFFE_?P?P_ r");
|
||||
run("techmap -map +/gowin/cells_map.v");
|
||||
run("opt_expr -mux_undef");
|
||||
run("simplemap");
|
||||
|
|
|
@ -292,11 +292,9 @@ struct SynthIce40Pass : public ScriptPass
|
|||
run("opt_expr");
|
||||
run("opt_clean");
|
||||
run("check");
|
||||
run("opt");
|
||||
run("opt -nodffe -nosdff");
|
||||
run("fsm");
|
||||
run("opt");
|
||||
run("opt_dff");
|
||||
run("opt");
|
||||
run("wreduce");
|
||||
run("peepopt");
|
||||
run("opt_clean");
|
||||
|
|
|
@ -202,8 +202,6 @@ struct SynthIntelPass : public ScriptPass {
|
|||
run("opt -fast -mux_undef -undriven -fine -full");
|
||||
run("memory_map");
|
||||
run("opt -undriven -fine");
|
||||
run("dff2dffe -direct-match $_DFF_*");
|
||||
run("opt -fine");
|
||||
run("techmap -map +/techmap.v");
|
||||
run("opt -full");
|
||||
run("clean -purge");
|
||||
|
|
|
@ -200,6 +200,8 @@ struct SynthIntelALMPass : public ScriptPass {
|
|||
run("opt_expr");
|
||||
run("opt_clean");
|
||||
run("check");
|
||||
run("opt -nodffe -nosdff");
|
||||
run("fsm");
|
||||
run("opt");
|
||||
run("wreduce");
|
||||
run("peepopt");
|
||||
|
@ -227,8 +229,6 @@ struct SynthIntelALMPass : public ScriptPass {
|
|||
run("alumacc");
|
||||
run("techmap -map +/intel_alm/common/arith_alm_map.v -map +/intel_alm/common/dsp_map.v");
|
||||
run("opt");
|
||||
run("fsm");
|
||||
run("opt -fast");
|
||||
run("memory -nomap");
|
||||
run("opt_clean");
|
||||
}
|
||||
|
@ -250,7 +250,6 @@ struct SynthIntelALMPass : public ScriptPass {
|
|||
|
||||
if (check_label("map_ffs")) {
|
||||
run("techmap");
|
||||
run("dff2dffe");
|
||||
run("dfflegalize -cell $_DFFE_PN0P_ 0 -cell $_SDFFCE_PP0P_ 0");
|
||||
run("techmap -map +/intel_alm/common/dff_map.v");
|
||||
run("opt -full -undriven -mux_undef");
|
||||
|
|
|
@ -357,11 +357,9 @@ struct SynthXilinxPass : public ScriptPass
|
|||
run("opt_expr");
|
||||
run("opt_clean");
|
||||
run("check");
|
||||
run("opt");
|
||||
run("opt -nodffe -nosdff");
|
||||
run("fsm");
|
||||
run("opt");
|
||||
run("opt_dff");
|
||||
run("opt");
|
||||
if (help_mode)
|
||||
run("wreduce [-keepdc]", "(option for '-widemux')");
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue