diff options
author | Sergiusz Bazanski <q3k@q3k.org> | 2018-07-14 18:50:34 +0100 |
---|---|---|
committer | Sergiusz Bazanski <q3k@q3k.org> | 2018-07-14 18:50:34 +0100 |
commit | d9c3c117a38c8bc42cfb96255b4762965bc1611b (patch) | |
tree | 1822cebedf1e346defe28f0707de7332d45a92cc | |
parent | d4a0feb1adb05b8b086422021cde152289e591a7 (diff) | |
download | nextpnr-d9c3c117a38c8bc42cfb96255b4762965bc1611b.tar.gz nextpnr-d9c3c117a38c8bc42cfb96255b4762965bc1611b.tar.bz2 nextpnr-d9c3c117a38c8bc42cfb96255b4762965bc1611b.zip |
Revert "clang-format"
This reverts commit 8ca7a6da2525463be5be4ee9f62cfae0acc06b01.
-rw-r--r-- | common/nextpnr.cc | 11 | ||||
-rw-r--r-- | common/nextpnr.h | 72 | ||||
-rw-r--r-- | common/place_common.h | 6 | ||||
-rw-r--r-- | common/router1.cc | 1 | ||||
-rw-r--r-- | ice40/arch.cc | 104 | ||||
-rw-r--r-- | ice40/arch.h | 55 |
6 files changed, 169 insertions, 80 deletions
diff --git a/common/nextpnr.cc b/common/nextpnr.cc index 33230db0..54df5de1 100644 --- a/common/nextpnr.cc +++ b/common/nextpnr.cc @@ -21,9 +21,16 @@ NEXTPNR_NAMESPACE_BEGIN -MutateContext BaseCtx::rwproxy(void) { return MutateContext(reinterpret_cast<Arch *>(this)); } +MutateContext BaseCtx::rwproxy(void) +{ + return MutateContext(reinterpret_cast<Arch *>(this)); +} + +ReadContext BaseCtx::rproxy(void) const +{ + return ReadContext(reinterpret_cast<const Arch *>(this)); +} -ReadContext BaseCtx::rproxy(void) const { return ReadContext(reinterpret_cast<const Arch *>(this)); } assertion_failure::assertion_failure(std::string msg, std::string expr_str, std::string filename, int line) : runtime_error("Assertion failure: " + msg + " (" + filename + ":" + std::to_string(line) + ")"), msg(msg), diff --git a/common/nextpnr.h b/common/nextpnr.h index 6228e653..c3fb913c 100644 --- a/common/nextpnr.h +++ b/common/nextpnr.h @@ -19,7 +19,6 @@ #include <algorithm> #include <assert.h> -#include <boost/thread/shared_mutex.hpp> #include <memory> #include <stdexcept> #include <stdint.h> @@ -27,6 +26,7 @@ #include <unordered_map> #include <unordered_set> #include <vector> +#include <boost/thread/shared_mutex.hpp> #ifndef NEXTPNR_H #define NEXTPNR_H @@ -261,8 +261,7 @@ class BaseCtx friend class MutateContext; friend class BaseReadCtx; friend class BaseMutateCtx; - - private: +private: mutable boost::shared_mutex mtx_; bool allUiReload = false; @@ -272,7 +271,7 @@ class BaseCtx std::unordered_set<PipId> pipUiReload; std::unordered_set<GroupId> groupUiReload; - public: +public: IdString id(const std::string &s) const { return IdString(this, s); } IdString id(const char *s) const { return IdString(this, s); } @@ -312,16 +311,16 @@ class BaseCtx // locks can be taken while this one still exists. Ie., the UI can draw // elements while the PnR is going a RO operation. ReadContext rproxy(void) const; + }; // State-accessing read-only methods that every architecture object should // contain. class BaseReadCtx { - protected: +protected: const BaseCtx *base_; - - public: +public: BaseReadCtx(const BaseCtx *base) : base_(base) {} }; @@ -329,23 +328,41 @@ class BaseReadCtx // contain. class BaseMutateCtx { - protected: +protected: BaseCtx *base_; - public: +public: BaseMutateCtx(BaseCtx *base) : base_(base) {} - void refreshUi(void) { base_->allUiReload = true; } + void refreshUi(void) + { + base_->allUiReload = true; + } - void refreshUiFrame(void) { base_->frameUiReload = true; } + void refreshUiFrame(void) + { + base_->frameUiReload = true; + } - void refreshUiBel(BelId bel) { base_->belUiReload.insert(bel); } + void refreshUiBel(BelId bel) + { + base_->belUiReload.insert(bel); + } - void refreshUiWire(WireId wire) { base_->wireUiReload.insert(wire); } + void refreshUiWire(WireId wire) + { + base_->wireUiReload.insert(wire); + } - void refreshUiPip(PipId pip) { base_->pipUiReload.insert(pip); } + void refreshUiPip(PipId pip) + { + base_->pipUiReload.insert(pip); + } - void refreshUiGroup(GroupId group) { base_->groupUiReload.insert(group); } + void refreshUiGroup(GroupId group) + { + base_->groupUiReload.insert(group); + } UIUpdatesRequired getUIUpdatesRequired(void) { @@ -377,46 +394,49 @@ NEXTPNR_NAMESPACE_BEGIN class ReadContext : public ArchReadMethods { friend class BaseCtx; - - private: +private: boost::shared_mutex *lock_; - ReadContext(const Arch *parent) : ArchReadMethods(parent), lock_(&parent->mtx_) { lock_->lock_shared(); } - - public: + ReadContext(const Arch *parent) : ArchReadMethods(parent), lock_(&parent->mtx_) + { + lock_->lock_shared(); + } +public: ~ReadContext() { if (lock_ != nullptr) { lock_->unlock_shared(); } } - ReadContext(ReadContext &&other) : ArchReadMethods(other), lock_(other.lock_) { other.lock_ = nullptr; } + ReadContext(ReadContext &&other): ArchReadMethods(other), lock_(other.lock_) + { + other.lock_ = nullptr; + } }; // Read proxy to access MutateMethods while holding lock on underlying BaseCtx. class MutateContext : public ArchReadMethods, public ArchMutateMethods { friend class BaseCtx; - - private: +private: boost::shared_mutex *lock_; MutateContext(Arch *parent) : ArchReadMethods(parent), ArchMutateMethods(parent), lock_(&parent->mtx_) { lock_->lock(); } - - public: +public: ~MutateContext() { if (lock_ != nullptr) { lock_->unlock(); } } - MutateContext(MutateContext &&other) : ArchReadMethods(other), ArchMutateMethods(other), lock_(other.lock_) + MutateContext(MutateContext &&other): ArchReadMethods(other), ArchMutateMethods(other), lock_(other.lock_) { other.lock_ = nullptr; } }; + struct Context : Arch { bool verbose = false; diff --git a/common/place_common.h b/common/place_common.h index dac2e607..96ac48a9 100644 --- a/common/place_common.h +++ b/common/place_common.h @@ -29,7 +29,8 @@ NEXTPNR_NAMESPACE_BEGIN typedef int64_t wirelen_t; // Get the total estimated wirelength for a net -template <typename T> wirelen_t get_net_wirelength(const T &proxy, const Context *ctx, const NetInfo *net, float &tns) +template <typename T> +wirelen_t get_net_wirelength(const T &proxy, const Context *ctx, const NetInfo *net, float &tns) { wirelen_t wirelength = 0; int driver_x, driver_y; @@ -80,7 +81,8 @@ template <typename T> wirelen_t get_net_wirelength(const T &proxy, const Context } // Return the wirelength of all nets connected to a cell -template <typename T> wirelen_t get_cell_wirelength(const T &proxy, const Context *ctx, const CellInfo *cell) +template <typename T> +wirelen_t get_cell_wirelength(const T &proxy, const Context *ctx, const CellInfo *cell) { std::set<IdString> nets; for (auto p : cell->ports) { diff --git a/common/router1.cc b/common/router1.cc index dc75a153..f7a7e8a2 100644 --- a/common/router1.cc +++ b/common/router1.cc @@ -136,6 +136,7 @@ struct Router int thisVisitCnt = 0; int thisVisitCntLimit = 0; + while (!queue.empty() && (thisVisitCntLimit == 0 || thisVisitCnt < thisVisitCntLimit)) { QueuedWire qw = queue.top(); queue.pop(); diff --git a/ice40/arch.cc b/ice40/arch.cc index 8f2731c6..790167e9 100644 --- a/ice40/arch.cc +++ b/ice40/arch.cc @@ -259,43 +259,99 @@ BelRange Arch::getBelsAtSameTile(BelId bel) const // ----------------------------------------------------------------------- // Shorthands to ArchProxy -BelId Arch::getBelByName(IdString name) const { return rproxy().getBelByName(name); } +BelId Arch::getBelByName(IdString name) const +{ + return rproxy().getBelByName(name); +} -void Arch::bindWire(WireId wire, IdString net, PlaceStrength strength) { rwproxy().bindWire(wire, net, strength); } +void Arch::bindWire(WireId wire, IdString net, PlaceStrength strength) +{ + rwproxy().bindWire(wire, net, strength); +} -void Arch::unbindWire(WireId wire) { rwproxy().unbindWire(wire); } +void Arch::unbindWire(WireId wire) +{ + rwproxy().unbindWire(wire); +} -void Arch::bindBel(BelId bel, IdString cell, PlaceStrength strength) { rwproxy().bindBel(bel, cell, strength); } +void Arch::bindBel(BelId bel, IdString cell, PlaceStrength strength) { + rwproxy().bindBel(bel, cell, strength); +} -void Arch::unbindBel(BelId bel) { rwproxy().unbindBel(bel); } +void Arch::unbindBel(BelId bel) +{ + rwproxy().unbindBel(bel); +} -bool Arch::checkBelAvail(BelId bel) const { return rproxy().checkBelAvail(bel); } +bool Arch::checkBelAvail(BelId bel) const +{ + return rproxy().checkBelAvail(bel); +} -IdString Arch::getBoundBelCell(BelId bel) const { return rproxy().getBoundBelCell(bel); } +IdString Arch::getBoundBelCell(BelId bel) const +{ + return rproxy().getBoundBelCell(bel); +} -IdString Arch::getConflictingBelCell(BelId bel) const { return rproxy().getConflictingBelCell(bel); } +IdString Arch::getConflictingBelCell(BelId bel) const +{ + return rproxy().getConflictingBelCell(bel); +} -WireId Arch::getWireByName(IdString name) const { return rproxy().getWireByName(name); } +WireId Arch::getWireByName(IdString name) const +{ + return rproxy().getWireByName(name); +} -WireId Arch::getWireBelPin(BelId bel, PortPin pin) const { return rproxy().getWireBelPin(bel, pin); } +WireId Arch::getWireBelPin(BelId bel, PortPin pin) const +{ + return rproxy().getWireBelPin(bel, pin); +} -bool Arch::checkWireAvail(WireId wire) const { return rproxy().checkWireAvail(wire); } +bool Arch::checkWireAvail(WireId wire) const +{ + return rproxy().checkWireAvail(wire); +} -IdString Arch::getBoundWireNet(WireId wire) const { return rproxy().getBoundWireNet(wire); } +IdString Arch::getBoundWireNet(WireId wire) const +{ + return rproxy().getBoundWireNet(wire); +} -IdString Arch::getConflictingWireNet(WireId wire) const { return rproxy().getConflictingWireNet(wire); } +IdString Arch::getConflictingWireNet(WireId wire) const +{ + return rproxy().getConflictingWireNet(wire); +} -PipId Arch::getPipByName(IdString name) const { return rproxy().getPipByName(name); } +PipId Arch::getPipByName(IdString name) const +{ + return rproxy().getPipByName(name); +} -void Arch::bindPip(PipId pip, IdString net, PlaceStrength strength) { return rwproxy().bindPip(pip, net, strength); } +void Arch::bindPip(PipId pip, IdString net, PlaceStrength strength) +{ + return rwproxy().bindPip(pip, net, strength); +} -void Arch::unbindPip(PipId pip) { return rwproxy().unbindPip(pip); } +void Arch::unbindPip(PipId pip) +{ + return rwproxy().unbindPip(pip); +} -bool Arch::checkPipAvail(PipId pip) const { return rproxy().checkPipAvail(pip); } +bool Arch::checkPipAvail(PipId pip) const +{ + return rproxy().checkPipAvail(pip); +} -IdString Arch::getBoundPipNet(PipId pip) const { return rproxy().getBoundPipNet(pip); } +IdString Arch::getBoundPipNet(PipId pip) const +{ + return rproxy().getBoundPipNet(pip); +} -IdString Arch::getConflictingPipNet(PipId pip) const { return rproxy().getConflictingPipNet(pip); } +IdString Arch::getConflictingPipNet(PipId pip) const +{ + return rproxy().getConflictingPipNet(pip); +} // ----------------------------------------------------------------------- @@ -574,7 +630,8 @@ std::vector<GraphicElement> ArchReadMethods::getDecalGraphics(DecalId decal) con } if (bel_type == TYPE_ICESTORM_RAM) { - for (int i = 0; i < 2; i++) { + for (int i = 0; i < 2; i++) + { int tx = chip_info->bel_data[bel.index].x; int ty = chip_info->bel_data[bel.index].y + i; @@ -584,7 +641,7 @@ std::vector<GraphicElement> ArchReadMethods::getDecalGraphics(DecalId decal) con el.x1 = chip_info->bel_data[bel.index].x + logic_cell_x1; el.x2 = chip_info->bel_data[bel.index].x + logic_cell_x2; el.y1 = chip_info->bel_data[bel.index].y + logic_cell_y1; - el.y2 = chip_info->bel_data[bel.index].y + logic_cell_y2 + 7 * logic_cell_pitch; + el.y2 = chip_info->bel_data[bel.index].y + logic_cell_y2 + 7*logic_cell_pitch; el.z = 0; ret.push_back(el); @@ -879,6 +936,9 @@ void ArchMutateMethods::unbindPip(PipId pip) refreshUiWire(dst); } -CellInfo *ArchMutateMethods::getCell(IdString cell) { return parent_->cells.at(cell).get(); } +CellInfo *ArchMutateMethods::getCell(IdString cell) +{ + return parent_->cells.at(cell).get(); +} NEXTPNR_NAMESPACE_END diff --git a/ice40/arch.h b/ice40/arch.h index f41990c3..5d4eaedf 100644 --- a/ice40/arch.h +++ b/ice40/arch.h @@ -343,8 +343,7 @@ class Arch : public BaseCtx // We let proxy methods access our state. friend class ArchMutateMethods; friend class ArchReadMethods; - - private: +private: // All of the following... std::vector<IdString> bel_to_cell; std::vector<IdString> wire_to_net; @@ -354,7 +353,7 @@ class Arch : public BaseCtx mutable std::unordered_map<IdString, int> wire_by_name; mutable std::unordered_map<IdString, int> pip_by_name; - public: +public: const ChipInfoPOD *chip_info; const PackageInfoPOD *package_info; @@ -411,7 +410,10 @@ class Arch : public BaseCtx return id(chip_info->bel_data[bel.index].name.get()); } - uint32_t getBelChecksum(BelId bel) const { return bel.index; } + uint32_t getBelChecksum(BelId bel) const + { + return bel.index; + } BelRange getBels() const { @@ -443,6 +445,7 @@ class Arch : public BaseCtx return chip_info->bel_data[bel.index].type; } + BelPin getBelPinUphill(WireId wire) const { BelPin ret; @@ -546,6 +549,7 @@ class Arch : public BaseCtx return range; } + BelId getPackagePinBel(const std::string &pin) const; std::string getBelPackagePin(BelId bel) const; @@ -607,9 +611,8 @@ class Arch : public BaseCtx }; // Read-only methods on Arch that require state access. -class ArchReadMethods : public BaseReadCtx -{ - private: +class ArchReadMethods : public BaseReadCtx { +private: const Arch *parent_; const ChipInfoPOD *chip_info; const std::vector<IdString> &bel_to_cell; @@ -620,15 +623,14 @@ class ArchReadMethods : public BaseReadCtx std::unordered_map<IdString, int> &wire_by_name; std::unordered_map<IdString, int> &pip_by_name; - public: - ~ArchReadMethods() noexcept {} - ArchReadMethods(const Arch *parent) - : BaseReadCtx(parent), parent_(parent), chip_info(parent->chip_info), bel_to_cell(parent->bel_to_cell), - wire_to_net(parent->wire_to_net), pip_to_net(parent->pip_to_net), - switches_locked(parent->switches_locked), bel_by_name(parent->bel_by_name), - wire_by_name(parent->wire_by_name), pip_by_name(parent->pip_by_name) - { - } +public: + ~ArchReadMethods() noexcept { } + ArchReadMethods(const Arch *parent) : BaseReadCtx(parent), parent_(parent), + chip_info(parent->chip_info), bel_to_cell(parent->bel_to_cell), + wire_to_net(parent->wire_to_net), pip_to_net(parent->pip_to_net), + switches_locked(parent->switches_locked), + bel_by_name(parent->bel_by_name), wire_by_name(parent->wire_by_name), + pip_by_name(parent->pip_by_name) {} ArchReadMethods(ArchReadMethods &&other) noexcept : ArchReadMethods(other.parent_) {} ArchReadMethods(const ArchReadMethods &other) : ArchReadMethods(other.parent_) {} @@ -667,11 +669,9 @@ class ArchReadMethods : public BaseReadCtx }; // State mutating methods on Arch. -class ArchMutateMethods : public BaseMutateCtx -{ +class ArchMutateMethods : public BaseMutateCtx { friend class MutateContext; - - private: +private: Arch *parent_; const ChipInfoPOD *chip_info; std::vector<IdString> &bel_to_cell; @@ -682,14 +682,13 @@ class ArchMutateMethods : public BaseMutateCtx std::unordered_map<IdString, int> &wire_by_name; std::unordered_map<IdString, int> &pip_by_name; - public: - ArchMutateMethods(Arch *parent) - : BaseMutateCtx(parent), parent_(parent), chip_info(parent->chip_info), bel_to_cell(parent->bel_to_cell), - wire_to_net(parent->wire_to_net), pip_to_net(parent->pip_to_net), - switches_locked(parent->switches_locked), bel_by_name(parent->bel_by_name), - wire_by_name(parent->wire_by_name), pip_by_name(parent->pip_by_name) - { - } +public: + ArchMutateMethods(Arch *parent) : BaseMutateCtx(parent), parent_(parent), + chip_info(parent->chip_info), bel_to_cell(parent->bel_to_cell), + wire_to_net(parent->wire_to_net), pip_to_net(parent->pip_to_net), + switches_locked(parent->switches_locked), + bel_by_name(parent->bel_by_name), wire_by_name(parent->wire_by_name), + pip_by_name(parent->pip_by_name) {} ArchMutateMethods(ArchMutateMethods &&other) : ArchMutateMethods(other.parent_) {} ArchMutateMethods(const ArchMutateMethods &other) : ArchMutateMethods(other.parent_) {} ~ArchMutateMethods() {} |