Add check before flatten in synth_*.

This commit is contained in:
nella 2026-05-05 14:04:46 +02:00
parent 16b893bd88
commit fff034d2f8
20 changed files with 47 additions and 14 deletions

View File

@ -129,6 +129,7 @@ struct SynthAchronixPass : public ScriptPass {
if (flatten && check_label("flatten", "(unless -noflatten)")) if (flatten && check_label("flatten", "(unless -noflatten)"))
{ {
run("proc"); run("proc");
run("check");
run("flatten"); run("flatten");
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");

View File

@ -277,8 +277,10 @@ struct SynthAnalogDevicesPass : public ScriptPass
if (check_label("prepare")) { if (check_label("prepare")) {
run("proc"); run("proc");
if (flatten || help_mode) if (flatten || help_mode) {
run("check");
run("flatten", "(with '-flatten')"); run("flatten", "(with '-flatten')");
}
if (active_design) if (active_design)
active_design->scratchpad_unset("tribuf.added_something"); active_design->scratchpad_unset("tribuf.added_something");
run("tribuf -logic"); run("tribuf -logic");
@ -447,8 +449,10 @@ struct SynthAnalogDevicesPass : public ScriptPass
if (check_label("map_luts")) { if (check_label("map_luts")) {
run("opt_expr -mux_undef -noclkinv"); run("opt_expr -mux_undef -noclkinv");
if (flatten_before_abc) if (flatten_before_abc) {
run("check");
run("flatten"); run("flatten");
}
if (help_mode) if (help_mode)
run("abc -luts 2:2,3,6:5[,10,20] [-dff] [-D 1]", "(option for '-nowidelut', '-dff', '-retime')"); run("abc -luts 2:2,3,6:5[,10,20] [-dff] [-D 1]", "(option for '-nowidelut', '-dff', '-retime')");
else if (abc9) { else if (abc9) {

View File

@ -156,6 +156,7 @@ struct SynthAnlogicPass : public ScriptPass
if (flatten && check_label("flatten", "(unless -noflatten)")) if (flatten && check_label("flatten", "(unless -noflatten)"))
{ {
run("proc"); run("proc");
run("check");
run("flatten"); run("flatten");
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");

View File

@ -277,9 +277,10 @@ struct SynthPass : public ScriptPass {
if (check_label("coarse")) { if (check_label("coarse")) {
run("proc"); run("proc");
run("check"); if (flatten || help_mode) {
if (flatten || help_mode) run("check");
run("flatten", " (if -flatten)"); run("flatten", " (if -flatten)");
}
run("opt_expr"); run("opt_expr");
run("opt_clean"); run("opt_clean");
run("check"); run("check");

View File

@ -132,6 +132,7 @@ struct SynthCoolrunner2Pass : public ScriptPass
if (flatten && check_label("flatten", "(unless -noflatten)")) if (flatten && check_label("flatten", "(unless -noflatten)"))
{ {
run("proc"); run("proc");
run("check");
run("flatten"); run("flatten");
run("tribuf -logic"); run("tribuf -logic");
} }

View File

@ -142,6 +142,7 @@ struct SynthEasicPass : public ScriptPass
if (flatten && check_label("flatten", "(unless -noflatten)")) if (flatten && check_label("flatten", "(unless -noflatten)"))
{ {
run("proc"); run("proc");
run("check");
run("flatten"); run("flatten");
} }

View File

@ -148,6 +148,7 @@ struct SynthEfinixPass : public ScriptPass
if (flatten && check_label("flatten", "(unless -noflatten)")) if (flatten && check_label("flatten", "(unless -noflatten)"))
{ {
run("proc"); run("proc");
run("check");
run("flatten"); run("flatten");
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");

View File

@ -286,6 +286,7 @@ struct SynthPass : public ScriptPass
if (check_label("flatten", "(unless -noflatten)")) if (check_label("flatten", "(unless -noflatten)"))
{ {
if (flatten) { if (flatten) {
run("check");
run("flatten"); run("flatten");
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");

View File

@ -210,6 +210,7 @@ struct SynthGateMatePass : public ScriptPass
{ {
run("proc"); run("proc");
if (!noflatten) { if (!noflatten) {
run("check");
run("flatten"); run("flatten");
} }
run("tribuf -logic"); run("tribuf -logic");

View File

@ -265,8 +265,10 @@ struct SynthGowinPass : public ScriptPass
if (check_label("coarse")) if (check_label("coarse"))
{ {
run("proc"); run("proc");
if (flatten || help_mode) if (flatten || help_mode) {
run("check");
run("flatten", "(unless -noflatten)"); run("flatten", "(unless -noflatten)");
}
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");
run("opt_expr"); run("opt_expr");

View File

@ -144,6 +144,7 @@ struct SynthGreenPAK4Pass : public ScriptPass
if (flatten && check_label("flatten", "(unless -noflatten)")) if (flatten && check_label("flatten", "(unless -noflatten)"))
{ {
run("proc"); run("proc");
run("check");
run("flatten"); run("flatten");
run("tribuf -logic"); run("tribuf -logic");
} }

View File

@ -309,6 +309,7 @@ struct SynthIce40Pass : public ScriptPass
if (check_label("flatten", "(unless -noflatten)")) if (check_label("flatten", "(unless -noflatten)"))
{ {
if (flatten) { if (flatten) {
run("check");
run("flatten"); run("flatten");
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");

View File

@ -198,9 +198,11 @@ struct SynthIntelPass : public ScriptPass {
if (check_label("coarse")) { if (check_label("coarse")) {
run("proc"); run("proc");
if (flatten || help_mode) if (flatten || help_mode) {
run("check");
run("flatten", "(skip if -noflatten)"); run("flatten", "(skip if -noflatten)");
run("tribuf -logic"); }
run("tribuf -logic");
run("deminout"); run("deminout");
run("opt_expr"); run("opt_expr");
run("opt_clean"); run("opt_clean");

View File

@ -184,8 +184,10 @@ struct SynthIntelALMPass : public ScriptPass {
if (check_label("coarse")) { if (check_label("coarse")) {
run("proc"); run("proc");
if (flatten || help_mode) if (flatten || help_mode) {
run("check");
run("flatten", "(skip if -noflatten)"); run("flatten", "(skip if -noflatten)");
}
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");
run("opt_expr"); run("opt_expr");

View File

@ -402,8 +402,10 @@ struct SynthLatticePass : public ScriptPass
if (check_label("coarse")) if (check_label("coarse"))
{ {
run("proc"); run("proc");
if (flatten || help_mode) if (flatten || help_mode) {
run("check");
run("flatten"); run("flatten");
}
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");
run("opt_expr"); run("opt_expr");

View File

@ -267,8 +267,10 @@ struct SynthMicrochipPass : public ScriptPass {
if (check_label("prepare")) { if (check_label("prepare")) {
run("proc"); run("proc");
if (flatten || help_mode) if (flatten || help_mode) {
run("check");
run("flatten", "(with '-flatten')"); run("flatten", "(with '-flatten')");
}
if (active_design) if (active_design)
active_design->scratchpad_unset("tribuf.added_something"); active_design->scratchpad_unset("tribuf.added_something");
run("tribuf -logic"); run("tribuf -logic");

View File

@ -250,8 +250,10 @@ struct SynthNanoXplorePass : public ScriptPass
if (check_label("coarse")) if (check_label("coarse"))
{ {
run("proc"); run("proc");
if (flatten || help_mode) if (flatten || help_mode) {
run("check");
run("flatten", "(skip if -noflatten)"); run("flatten", "(skip if -noflatten)");
}
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");
run("opt_expr"); run("opt_expr");

View File

@ -212,8 +212,10 @@ struct SynthQuickLogicPass : public ScriptPass {
if (check_label("prepare")) { if (check_label("prepare")) {
run("proc"); run("proc");
if (flatten) if (flatten) {
run("check");
run("flatten", "(unless -noflatten)"); run("flatten", "(unless -noflatten)");
}
if (help_mode || family == "pp3") { if (help_mode || family == "pp3") {
run("tribuf -logic", " (for pp3)"); run("tribuf -logic", " (for pp3)");
} }

View File

@ -172,6 +172,7 @@ struct SynthSf2Pass : public ScriptPass
if (flatten && check_label("flatten", "(unless -noflatten)")) if (flatten && check_label("flatten", "(unless -noflatten)"))
{ {
run("proc"); run("proc");
run("check");
run("flatten"); run("flatten");
run("tribuf -logic"); run("tribuf -logic");
run("deminout"); run("deminout");

View File

@ -355,8 +355,10 @@ struct SynthXilinxPass : public ScriptPass
if (check_label("prepare")) { if (check_label("prepare")) {
run("proc"); run("proc");
if (flatten || help_mode) if (flatten || help_mode) {
run("check");
run("flatten", "(with '-flatten')"); run("flatten", "(with '-flatten')");
}
if (active_design) if (active_design)
active_design->scratchpad_unset("tribuf.added_something"); active_design->scratchpad_unset("tribuf.added_something");
run("tribuf -logic"); run("tribuf -logic");
@ -637,8 +639,10 @@ struct SynthXilinxPass : public ScriptPass
if (check_label("map_luts")) { if (check_label("map_luts")) {
run("opt_expr -mux_undef -noclkinv"); run("opt_expr -mux_undef -noclkinv");
if (flatten_before_abc) if (flatten_before_abc) {
run("check");
run("flatten"); run("flatten");
}
if (help_mode) if (help_mode)
run("abc -luts 2:2,3,6:5[,10,20] [-dff] [-D 1]", "(option for '-nowidelut', '-dff', '-retime')"); run("abc -luts 2:2,3,6:5[,10,20] [-dff] [-D 1]", "(option for '-nowidelut', '-dff', '-retime')");
else if (abc9) { else if (abc9) {