aboutsummaryrefslogtreecommitdiffstats
path: root/ice40
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-06-20 11:44:28 +0200
committerDavid Shah <davey1576@gmail.com>2018-06-20 11:44:28 +0200
commit1436ae21a2d9a214f7585deb2f038ff87ce4862c (patch)
tree910e696f210ea31a7f15e70455c08d895c7e7887 /ice40
parent5d1b87b0a4e138726d751590728cdcc2f12f6192 (diff)
downloadnextpnr-1436ae21a2d9a214f7585deb2f038ff87ce4862c.tar.gz
nextpnr-1436ae21a2d9a214f7585deb2f038ff87ce4862c.tar.bz2
nextpnr-1436ae21a2d9a214f7585deb2f038ff87ce4862c.zip
Adding stubs for delay annotation and cell timing lookup
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'ice40')
-rw-r--r--ice40/arch.cc21
-rw-r--r--ice40/arch.h10
2 files changed, 31 insertions, 0 deletions
diff --git a/ice40/arch.cc b/ice40/arch.cc
index ba372410..380f3386 100644
--- a/ice40/arch.cc
+++ b/ice40/arch.cc
@@ -416,4 +416,25 @@ std::vector<GraphicElement> Arch::getPipGraphics(PipId pip) const
return ret;
}
+// -----------------------------------------------------------------------
+
+delay_t Arch::getCellDelay(const CellInfo *cell, IdString fromPort,
+ IdString toPort) const
+{
+ // TODO
+ return 0;
+}
+
+IdString Arch::getPortClock(const CellInfo *cell, IdString port) const
+{
+ // TODO
+ return IdString();
+}
+
+bool Arch::isClockPort(const CellInfo *cell, IdString port) const
+{
+ // TODO
+ return false;
+}
+
NEXTPNR_NAMESPACE_END
diff --git a/ice40/arch.h b/ice40/arch.h
index c1256a41..172541c0 100644
--- a/ice40/arch.h
+++ b/ice40/arch.h
@@ -755,6 +755,16 @@ struct Arch : BaseCtx
std::unordered_set<BelId> belGraphicsReload;
std::unordered_set<WireId> wireGraphicsReload;
std::unordered_set<PipId> pipGraphicsReload;
+
+ // -------------------------------------------------
+
+ // Get the delay through a cell from one port to another
+ delay_t getCellDelay(const CellInfo *cell, IdString fromPort,
+ IdString toPort) const;
+ // Get the associated clock to a port, or empty if the port is combinational
+ IdString getPortClock(const CellInfo *cell, IdString port) const;
+ // Return true if a port is a clock
+ bool isClockPort(const CellInfo *cell, IdString port) const;
};
NEXTPNR_NAMESPACE_END