diff options
Diffstat (limited to 'ecp5/arch.cc')
-rw-r--r-- | ecp5/arch.cc | 17 |
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 |