mirror of
https://github.com/YosysHQ/yosys
synced 2026-07-18 21:25:47 +00:00
check make always_latch exempt.
This commit is contained in:
parent
0e82bbefe5
commit
391c0e5f89
8 changed files with 26 additions and 10 deletions
|
|
@ -68,6 +68,7 @@ struct SynthEfinixPass : public ScriptPass
|
|||
log(" dedicated hardware primitive and are implemented using LUTs\n");
|
||||
log(" instead. 'error' (the default) aborts synthesis, 'warn' only\n");
|
||||
log(" prints a warning, and 'info' permits them with an info-level message.\n");
|
||||
log(" Latches explicitly requested with 'always_latch' are always permitted.\n");
|
||||
log("\n");
|
||||
log("\n");
|
||||
log("The following commands are executed by this synthesis command:\n");
|
||||
|
|
@ -160,7 +161,7 @@ struct SynthEfinixPass : public ScriptPass
|
|||
|
||||
if (flatten && check_label("flatten", "(unless -noflatten)"))
|
||||
{
|
||||
run("proc -latches " + (latches == "info" ? std::string("info") : std::string("warn")));
|
||||
run("proc -latches " + latches);
|
||||
run("check");
|
||||
run("flatten");
|
||||
run("tribuf -logic");
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@ struct SynthPass : public ScriptPass {
|
|||
log(" dedicated hardware primitive and are implemented using LUTs\n");
|
||||
log(" instead. 'error' (the default) aborts synthesis, 'warn' only\n");
|
||||
log(" prints a warning, and 'info' permits them with an info-level message.\n");
|
||||
log(" Latches explicitly requested with 'always_latch' are always permitted.\n");
|
||||
log("\n");
|
||||
log("\n");
|
||||
log("The following commands are executed by this synthesis command:\n");
|
||||
|
|
@ -289,7 +290,7 @@ struct SynthPass : public ScriptPass {
|
|||
run("hierarchy -check");
|
||||
} else
|
||||
run(stringf("hierarchy -check -top %s", top_module));
|
||||
run("proc -latches " + (latches == "info" ? std::string("info") : std::string("warn")));
|
||||
run("proc -latches " + latches);
|
||||
}
|
||||
|
||||
if (check_label("flatten", "(unless -noflatten)")) {
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ struct SynthIce40Pass : public ScriptPass
|
|||
log(" dedicated hardware primitive and are implemented using LUTs\n");
|
||||
log(" instead. 'error' (the default) aborts synthesis, 'warn' only\n");
|
||||
log(" prints a warning, and 'info' permits them with an info-level message.\n");
|
||||
log(" Latches explicitly requested with 'always_latch' are always permitted.\n");
|
||||
log("\n");
|
||||
log("\n");
|
||||
log("The following commands are executed by this synthesis command:\n");
|
||||
|
|
@ -316,7 +317,7 @@ struct SynthIce40Pass : public ScriptPass
|
|||
{
|
||||
run("read_verilog " + define + " -lib -specify +/ice40/cells_sim.v");
|
||||
run(stringf("hierarchy -check %s", help_mode ? "-top <top>" : top_opt));
|
||||
run("proc -latches " + (latches == "info" ? std::string("info") : std::string("warn")));
|
||||
run("proc -latches " + latches);
|
||||
}
|
||||
|
||||
if (check_label("flatten", "(unless -noflatten)"))
|
||||
|
|
|
|||
|
|
@ -161,6 +161,7 @@ struct SynthLatticePass : public ScriptPass
|
|||
log(" dedicated hardware primitive and are implemented using LUTs\n");
|
||||
log(" instead. 'error' (the default) aborts synthesis, 'warn' only\n");
|
||||
log(" prints a warning, and 'info' permits them with an info-level message.\n");
|
||||
log(" Latches explicitly requested with 'always_latch' are always permitted.\n");
|
||||
log(" (ignored with -asyncprld, which has a latch primitive)\n");
|
||||
log("\n");
|
||||
log("\n");
|
||||
|
|
@ -416,7 +417,7 @@ struct SynthLatticePass : public ScriptPass
|
|||
|
||||
if (check_label("coarse"))
|
||||
{
|
||||
run("proc -latches " + ((asyncprld || latches == "info") ? std::string("info") : std::string("warn")));
|
||||
run("proc -latches " + (asyncprld ? std::string("info") : latches));
|
||||
if (flatten || help_mode) {
|
||||
run("check");
|
||||
run("flatten");
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ struct SynthNanoXplorePass : public ScriptPass
|
|||
log(" dedicated hardware primitive and are implemented using LUTs\n");
|
||||
log(" instead. 'error' (the default) aborts synthesis, 'warn' only\n");
|
||||
log(" prints a warning, and 'info' permits them with an info-level message.\n");
|
||||
log(" Latches explicitly requested with 'always_latch' are always permitted.\n");
|
||||
log("\n");
|
||||
log("\n");
|
||||
log("The following commands are executed by this synthesis command:\n");
|
||||
|
|
@ -263,7 +264,7 @@ struct SynthNanoXplorePass : public ScriptPass
|
|||
|
||||
if (check_label("coarse"))
|
||||
{
|
||||
run("proc -latches " + (latches == "info" ? std::string("info") : std::string("warn")));
|
||||
run("proc -latches " + latches);
|
||||
if (flatten || help_mode) {
|
||||
run("check");
|
||||
run("flatten", "(skip if -noflatten)");
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ struct SynthQuickLogicPass : public ScriptPass {
|
|||
log(" dedicated hardware primitive and are implemented using LUTs\n");
|
||||
log(" instead. 'error' (the default) aborts synthesis, 'warn' only\n");
|
||||
log(" prints a warning, and 'info' permits them with an info-level message.\n");
|
||||
log(" Latches explicitly requested with 'always_latch' are always permitted.\n");
|
||||
log(" (only applies to the pp3 family)\n");
|
||||
log("\n");
|
||||
log("The following commands are executed by this synthesis command:\n");
|
||||
|
|
@ -226,7 +227,7 @@ struct SynthQuickLogicPass : public ScriptPass {
|
|||
}
|
||||
|
||||
if (check_label("prepare")) {
|
||||
run("proc -latches " + ((family == "pp3" && latches != "info") ? std::string("warn") : std::string("info")));
|
||||
run("proc -latches " + (family == "pp3" ? latches : std::string("info")));
|
||||
if (flatten) {
|
||||
run("check");
|
||||
run("flatten", "(unless -noflatten)");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue