aboutsummaryrefslogtreecommitdiffstats
path: root/ice40
diff options
context:
space:
mode:
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