From 22330402018a212efd4ef2e337e34af2e79eb875 Mon Sep 17 00:00:00 2001 From: Sergiusz Bazanski Date: Sat, 14 Jul 2018 18:50:15 +0100 Subject: Revert "Remove legacy access to state via Arch" This reverts commit 18b4b316782035daa259d65d26ea733ca4d16bea. --- ice40/arch.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'ice40/arch.h') diff --git a/ice40/arch.h b/ice40/arch.h index 25ed8ebf..ec1e456f 100644 --- a/ice40/arch.h +++ b/ice40/arch.h @@ -373,6 +373,34 @@ class Arch : public BaseCtx // ------------------------------------------------- + /// Wrappers around getting a r(w)proxy and calling a single method. + // Deprecated: please acquire a proxy yourself and call the methods + // you want on it. + // Warning: these will content with locks taken by the r(w)proxies, and + // thus can cause difficult to debug deadlocks - we'll be getting rid of + // them because of that. + void unbindWire(WireId wire); + void unbindPip(PipId pip); + void unbindBel(BelId bel); + void bindWire(WireId wire, IdString net, PlaceStrength strength); + void bindPip(PipId pip, IdString net, PlaceStrength strength); + void bindBel(BelId bel, IdString cell, PlaceStrength strength); + bool checkWireAvail(WireId wire) const; + bool checkPipAvail(PipId pip) const; + bool checkBelAvail(BelId bel) const; + WireId getWireByName(IdString name) const; + WireId getWireBelPin(BelId bel, PortPin pin) const; + PipId getPipByName(IdString name) const; + IdString getConflictingWireNet(WireId wire) const; + IdString getConflictingPipNet(PipId pip) const; + IdString getConflictingBelCell(BelId bel) const; + IdString getBoundWireNet(WireId wire) const; + IdString getBoundPipNet(PipId pip) const; + IdString getBoundBelCell(BelId bel) const; + BelId getBelByName(IdString name) const; + + // ------------------------------------------------- + /// Methods to get chip info - don't need to use a wrapper, as these are /// static per lifetime of object. -- cgit v1.2.3