diff options
author | gatecat <gatecat@ds0.me> | 2022-02-18 12:07:49 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-18 12:07:49 +0000 |
commit | 347ba3afb3f541edc594c8bc276cce481c7a7e03 (patch) | |
tree | 28483964fb3c92bc104ab6162d1c9196651ced26 /frontend/frontend_base.h | |
parent | 61d1db16be2c68cf6ae8b4d2ff3266b5c7086ad2 (diff) | |
parent | 6a32aca4ac8705b637943c236cedd2f36422fb21 (diff) | |
download | nextpnr-347ba3afb3f541edc594c8bc276cce481c7a7e03.tar.gz nextpnr-347ba3afb3f541edc594c8bc276cce481c7a7e03.tar.bz2 nextpnr-347ba3afb3f541edc594c8bc276cce481c7a7e03.zip |
Merge pull request #919 from YosysHQ/gatecat/netlist-iii
refactor: New member functions to replace design_utils
Diffstat (limited to 'frontend/frontend_base.h')
-rw-r--r-- | frontend/frontend_base.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/frontend/frontend_base.h b/frontend/frontend_base.h index ed9354b6..8ac61bbe 100644 --- a/frontend/frontend_base.h +++ b/frontend/frontend_base.h @@ -484,7 +484,7 @@ template <typename FrontendType> struct GenericFrontend log_error("Net '%s' is multiply driven by cell ports %s.%s and %s.%s\n", ctx->nameOf(net), ctx->nameOf(net->driver.cell), ctx->nameOf(net->driver.port), ctx->nameOf(inst_name), port_bit_name.c_str()); - connect_port(ctx, net, ci, port_bit_ids); + ci->connectPort(port_bit_ids, net); } }); // Import attributes and parameters @@ -578,12 +578,12 @@ template <typename FrontendType> struct GenericFrontend } NPNR_ASSERT(net->driver.cell == nullptr); // Connect IBUF output and net - connect_port(ctx, net, iobuf, ctx->id("O")); + iobuf->connectPort(ctx->id("O"), net); } else if (dir == PORT_OUT) { iobuf->type = ctx->id("$nextpnr_obuf"); iobuf->addInput(ctx->id("I")); // Connect IBUF input and net - connect_port(ctx, net, iobuf, ctx->id("I")); + iobuf->connectPort(ctx->id("I"), net); } else if (dir == PORT_INOUT) { iobuf->type = ctx->id("$nextpnr_iobuf"); @@ -597,16 +597,16 @@ template <typename FrontendType> struct GenericFrontend NetInfo *split_iobuf_i = ctx->createNet(unique_name("", "$" + name + "$iobuf_i", true)); auto drv = net->driver; if (drv.cell != nullptr) { - disconnect_port(ctx, drv.cell, drv.port); + drv.cell->disconnectPort(drv.port); drv.cell->ports[drv.port].net = nullptr; - connect_port(ctx, split_iobuf_i, drv.cell, drv.port); + drv.cell->connectPort(drv.port, split_iobuf_i); } - connect_port(ctx, split_iobuf_i, iobuf, ctx->id("I")); + iobuf->connectPort(ctx->id("I"), split_iobuf_i); NPNR_ASSERT(net->driver.cell == nullptr); - connect_port(ctx, net, iobuf, ctx->id("O")); + iobuf->connectPort(ctx->id("O"), net); } else { iobuf->addInout(ctx->id("IO")); - connect_port(ctx, net, iobuf, ctx->id("IO")); + iobuf->connectPort(ctx->id("IO"), net); } } @@ -669,7 +669,7 @@ template <typename FrontendType> struct GenericFrontend if (net->driver.cell != nullptr) log_error("Net '%s' is multiply driven by port %s.%s and constant '%c'\n", ctx->nameOf(net), ctx->nameOf(net->driver.cell), ctx->nameOf(net->driver.port), constval); - connect_port(ctx, net, cc, ctx->id("Y")); + cc->connectPort(ctx->id("Y"), net); } // Merge two nets - e.g. if one net in a submodule bifurcates to two output bits and therefore two different |