diff options
author | David Shah <dave@ds0.me> | 2021-01-28 16:10:22 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-28 16:10:22 +0000 |
commit | 15b2852b916c1299dfc1d91a217de3060701bfbe (patch) | |
tree | 8e7ffbce4b7d253f05d0bb58ea6430aae8e1b065 /common/rulecheck.cc | |
parent | 0d9790421699a22fc6a5962b41910c3b7d089353 (diff) | |
parent | 94e8847d674388c3c8ac663fa4912bb8029b2951 (diff) | |
download | nextpnr-15b2852b916c1299dfc1d91a217de3060701bfbe.tar.gz nextpnr-15b2852b916c1299dfc1d91a217de3060701bfbe.tar.bz2 nextpnr-15b2852b916c1299dfc1d91a217de3060701bfbe.zip |
Merge pull request #556 from YosysHQ/dave/cleanup
General opportunistic cleanup
Diffstat (limited to 'common/rulecheck.cc')
-rw-r--r-- | common/rulecheck.cc | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/common/rulecheck.cc b/common/rulecheck.cc deleted file mode 100644 index 1db9ae00..00000000 --- a/common/rulecheck.cc +++ /dev/null @@ -1,69 +0,0 @@ -#include <assert.h> -#include <string> -#include "log.h" -#include "nextpnr.h" - -NEXTPNR_NAMESPACE_BEGIN - -bool check_all_nets_driven(Context *ctx) -{ - const bool debug = false; - - log_info("Rule checker, verifying imported design\n"); - - for (auto &cell_entry : ctx->cells) { - CellInfo *cell = cell_entry.second.get(); - - if (debug) - log_info(" Examining cell \'%s\', of type \'%s\'\n", cell->name.c_str(ctx), cell->type.c_str(ctx)); - for (auto port_entry : cell->ports) { - PortInfo &port = port_entry.second; - - if (debug) - log_info(" Checking name of port \'%s\' " - "against \'%s\'\n", - port_entry.first.c_str(ctx), port.name.c_str(ctx)); - NPNR_ASSERT(port.name == port_entry.first); - NPNR_ASSERT(!port.name.empty()); - - if (port.net == NULL) { - if (debug) - log_warning(" Port \'%s\' in cell \'%s\' is unconnected\n", port.name.c_str(ctx), - cell->name.c_str(ctx)); - } else { - NPNR_ASSERT(port.net); - if (debug) - log_info(" Checking for a net named \'%s\'\n", port.net->name.c_str(ctx)); - NPNR_ASSERT(ctx->nets.count(port.net->name) > 0); - } - } - } - - for (auto &net_entry : ctx->nets) { - NetInfo *net = net_entry.second.get(); - - NPNR_ASSERT(net->name == net_entry.first); - if ((net->driver.cell != NULL) && (net->driver.cell->type != ctx->id("GND")) && - (net->driver.cell->type != ctx->id("VCC"))) { - - if (debug) - log_info(" Checking for a driver cell named \'%s\'\n", net->driver.cell->name.c_str(ctx)); - NPNR_ASSERT(ctx->cells.count(net->driver.cell->name) > 0); - } - - for (auto user : net->users) { - if ((user.cell != NULL) && (user.cell->type != ctx->id("GND")) && (user.cell->type != ctx->id("VCC"))) { - - if (debug) - log_info(" Checking for a user cell named \'%s\'\n", user.cell->name.c_str(ctx)); - NPNR_ASSERT(ctx->cells.count(user.cell->name) > 0); - } - } - } - - if (debug) - log_info(" Verified!\n"); - return true; -} - -NEXTPNR_NAMESPACE_END |