diff --git a/himbaechel/uarch/gowin/gowin.cc b/himbaechel/uarch/gowin/gowin.cc index 751f1865b0..90b124ad2c 100644 --- a/himbaechel/uarch/gowin/gowin.cc +++ b/himbaechel/uarch/gowin/gowin.cc @@ -41,6 +41,7 @@ struct GowinImpl : HimbaechelAPI // wires bool checkPipAvail(PipId pip) const override; + bool checkPipAvailForNet(PipId pip, const NetInfo *net) const override; // Cluster bool isClusterStrict(const CellInfo *cell) const { return true; } @@ -188,6 +189,10 @@ void GowinImpl::init(Context *ctx) // We do not allow the use of global wires that bypass a special router. bool GowinImpl::checkPipAvail(PipId pip) const { return !gwu.is_global_pip(pip); } +bool GowinImpl::checkPipAvailForNet(PipId pip, const NetInfo *net) const { + return checkPipAvail(pip) || ctx->getBoundPipNet(pip) == net; +} + void GowinImpl::pack() { if (ctx->settings.count(ctx->id("cst.filename"))) {