aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergiusz Bazanski <q3k@q3k.org>2018-07-14 18:50:34 +0100
committerSergiusz Bazanski <q3k@q3k.org>2018-07-14 18:50:34 +0100
commitd9c3c117a38c8bc42cfb96255b4762965bc1611b (patch)
tree1822cebedf1e346defe28f0707de7332d45a92cc
parentd4a0feb1adb05b8b086422021cde152289e591a7 (diff)
downloadnextpnr-d9c3c117a38c8bc42cfb96255b4762965bc1611b.tar.gz
nextpnr-d9c3c117a38c8bc42cfb96255b4762965bc1611b.tar.bz2
nextpnr-d9c3c117a38c8bc42cfb96255b4762965bc1611b.zip
Revert "clang-format"
This reverts commit 8ca7a6da2525463be5be4ee9f62cfae0acc06b01.
-rw-r--r--common/nextpnr.cc11
-rw-r--r--common/nextpnr.h72
-rw-r--r--common/place_common.h6
-rw-r--r--common/router1.cc1
-rw-r--r--ice40/arch.cc104
-rw-r--r--ice40/arch.h55
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() {}