aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/arch.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ecp5/arch.cc')
-rw-r--r--ecp5/arch.cc17
1 files changed, 16 insertions, 1 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc
index 6c3714cc..262f43fe 100644
--- a/ecp5/arch.cc
+++ b/ecp5/arch.cc
@@ -428,7 +428,11 @@ delay_t Arch::getBudgetOverride(const NetInfo *net_info, const PortRef &sink, de
bool Arch::place() { return placer1(getCtx()); }
-bool Arch::route() { return router1(getCtx()); }
+bool Arch::route()
+{
+ Router1Cfg cfg;
+ return router1(getCtx(), cfg);
+}
// -----------------------------------------------------------------------
@@ -496,4 +500,15 @@ IdString Arch::getPortClock(const CellInfo *cell, IdString port) const { return
bool Arch::isClockPort(const CellInfo *cell, IdString port) const { return false; }
+std::vector<std::pair<std::string, std::string>> Arch::getTilesAtLocation(int row, int col)
+{
+ std::vector<std::pair<std::string, std::string>> ret;
+ auto &tileloc = chip_info->tile_info[row * chip_info->width + col];
+ for (int i = 0; i < tileloc.num_tiles; i++) {
+ ret.push_back(std::make_pair(tileloc.tile_names[i].name.get(),
+ chip_info->tiletype_names[tileloc.tile_names[i].type_idx].get()));
+ }
+ return ret;
+}
+
NEXTPNR_NAMESPACE_END