diff options
author | William D. Jones <thor0505@comcast.net> | 2020-12-06 21:50:04 -0500 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-02-12 10:36:59 +0000 |
commit | 094233a4ab49245d8fbdbae83f3241ff3c6585b0 (patch) | |
tree | 4cf7719554f1a22e0ff6a6b15d6a31bf5e50f557 | |
parent | 52b424c385a488c48ff91ba8ba52913f1b10995f (diff) | |
download | nextpnr-094233a4ab49245d8fbdbae83f3241ff3c6585b0.tar.gz nextpnr-094233a4ab49245d8fbdbae83f3241ff3c6585b0.tar.bz2 nextpnr-094233a4ab49245d8fbdbae83f3241ff3c6585b0.zip |
machxo2: Implement getBelLocation to stop std::out_of_range in place phase.
-rw-r--r-- | machxo2/arch.cc | 5 | ||||
-rw-r--r-- | machxo2/arch.h | 11 |
2 files changed, 10 insertions, 6 deletions
diff --git a/machxo2/arch.cc b/machxo2/arch.cc index 431fcc88..dccbcb87 100644 --- a/machxo2/arch.cc +++ b/machxo2/arch.cc @@ -118,11 +118,6 @@ BelId Arch::getBelByName(IdString name) const IdString Arch::getBelName(BelId bel) const { return IdString(); } -Loc Arch::getBelLocation(BelId bel) const -{ - return Loc(); -} - BelId Arch::getBelByLocation(Loc loc) const { return BelId(); diff --git a/machxo2/arch.h b/machxo2/arch.h index 1cf24892..527c6572 100644 --- a/machxo2/arch.h +++ b/machxo2/arch.h @@ -348,7 +348,16 @@ struct Arch : BaseCtx BelId getBelByName(IdString name) const; IdString getBelName(BelId bel) const; - Loc getBelLocation(BelId bel) const; + Loc getBelLocation(BelId bel) const + { + NPNR_ASSERT(bel != BelId()); + Loc loc; + loc.x = bel.location.x; + loc.y = bel.location.y; + loc.z = tileInfo(bel)->bel_data[bel.index].z; + return loc; + } + BelId getBelByLocation(Loc loc) const; const std::vector<BelId> &getBelsByTile(int x, int y) const; bool getBelGlobalBuf(BelId bel) const; |