aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/arch.cc
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-07-08 11:15:30 +0200
committerDavid Shah <davey1576@gmail.com>2018-07-11 10:41:36 +0200
commitbb683d71d698481f472df26747c5332d49d933c1 (patch)
treea4c81608456b986dd6a066224b92d95bbbd91edb /ecp5/arch.cc
parent6f90c3df6118a857b24ee3ef031b54ef8aa8b7a8 (diff)
downloadnextpnr-bb683d71d698481f472df26747c5332d49d933c1.tar.gz
nextpnr-bb683d71d698481f472df26747c5332d49d933c1.tar.bz2
nextpnr-bb683d71d698481f472df26747c5332d49d933c1.zip
ecp5: Add 25k database
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'ecp5/arch.cc')
-rw-r--r--ecp5/arch.cc25
1 files changed, 24 insertions, 1 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc
index fe10d415..a200e102 100644
--- a/ecp5/arch.cc
+++ b/ecp5/arch.cc
@@ -92,12 +92,20 @@ static const ChipInfoPOD *get_chip_info(const RelPtr<ChipInfoPOD> *ptr) { return
void load_chipdb();
#endif
+#define LFE5U_25F_ONLY
+
Arch::Arch(ArchArgs args) : args(args)
{
#if defined(_MSC_VER)
load_chipdb();
#endif
-
+#ifdef LFE5U_25F_ONLY
+ if (args.type == ArchArgs::LFE5U_25F) {
+ chip_info = get_chip_info(reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_25k));
+ } else {
+ log_error("Unsupported ECP5 chip type.\n");
+ }
+#else
if (args.type == ArchArgs::LFE5U_25F) {
chip_info = get_chip_info(reinterpret_cast<const RelPtr<ChipInfoPOD> *>(chipdb_blob_25k));
} else if (args.type == ArchArgs::LFE5U_45F) {
@@ -107,6 +115,8 @@ Arch::Arch(ArchArgs args) : args(args)
} else {
log_error("Unsupported ECP5 chip type.\n");
}
+#endif
+
}
// -----------------------------------------------------------------------
@@ -302,4 +312,17 @@ bool Arch::isValidBelForCell(CellInfo *cell, BelId bel) const { return true; }
bool Arch::isBelLocationValid(BelId bel) const { return true; }
+// -----------------------------------------------------------------------
+
+
+bool Arch::getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort, delay_t &delay) const
+{
+ return false;
+}
+
+IdString Arch::getPortClock(const CellInfo *cell, IdString port) const { return IdString(); }
+
+bool Arch::isClockPort(const CellInfo *cell, IdString port) const { return false; }
+
+
NEXTPNR_NAMESPACE_END