aboutsummaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-08-08 19:23:47 +0200
committerGitHub <noreply@github.com>2018-08-08 19:23:47 +0200
commitcd4e761bb799ca99f02d3aa177961af28a93f2d8 (patch)
treea6424fb4ea70b868efb1375bb9cf3db992e3059c /generic
parent2390f7f59c05870845da349536cb384964cdb874 (diff)
parent751335977fe7d69b23f6110ec4938408ec7a7ff8 (diff)
downloadnextpnr-cd4e761bb799ca99f02d3aa177961af28a93f2d8.tar.gz
nextpnr-cd4e761bb799ca99f02d3aa177961af28a93f2d8.tar.bz2
nextpnr-cd4e761bb799ca99f02d3aa177961af28a93f2d8.zip
Merge pull request #44 from YosysHQ/improve_timing_spec
Speed up budget allocator using topographical ordering and update cell timing API
Diffstat (limited to 'generic')
-rw-r--r--generic/arch.cc8
-rw-r--r--generic/arch.h4
2 files changed, 7 insertions, 5 deletions
diff --git a/generic/arch.cc b/generic/arch.cc
index e867d310..a1e03210 100644
--- a/generic/arch.cc
+++ b/generic/arch.cc
@@ -435,9 +435,11 @@ bool Arch::getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort
return false;
}
-IdString Arch::getPortClock(const CellInfo *cell, IdString port) const { return IdString(); }
-
-bool Arch::isClockPort(const CellInfo *cell, IdString port) const { return false; }
+// Get the port class, also setting clockPort if applicable
+TimingPortClass Arch::getPortTimingClass(const CellInfo *cell, IdString port, IdString &clockPort) const
+{
+ return TMG_IGNORE;
+}
bool Arch::isValidBelForCell(CellInfo *cell, BelId bel) const { return true; }
bool Arch::isBelLocationValid(BelId bel) const { return true; }
diff --git a/generic/arch.h b/generic/arch.h
index 0e0aec27..c5863ec3 100644
--- a/generic/arch.h
+++ b/generic/arch.h
@@ -215,8 +215,8 @@ struct Arch : BaseCtx
DecalXY getGroupDecal(GroupId group) const;
bool getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort, DelayInfo &delay) const;
- IdString getPortClock(const CellInfo *cell, IdString port) const;
- bool isClockPort(const CellInfo *cell, IdString port) const;
+ // Get the port class, also setting clockPort if applicable
+ TimingPortClass getPortTimingClass(const CellInfo *cell, IdString port, IdString &clockPort) const;
bool isValidBelForCell(CellInfo *cell, BelId bel) const;
bool isBelLocationValid(BelId bel) const;