diff --git a/generic/arch.h b/generic/arch.h index 205f388a..ab554d53 100644 --- a/generic/arch.h +++ b/generic/arch.h @@ -277,13 +277,12 @@ struct Arch : BaseCtx std::vector getCellTypes() const { - std::vector cell_types; - cell_types.reserve(bels.size()); + std::unordered_set cell_types; for (auto bel : bels) { - cell_types.push_back(bel.first); + cell_types.insert(bel.second.type); } - return cell_types; + return std::vector{cell_types.begin(), cell_types.end()}; } std::vector getBelBuckets() const { return getCellTypes(); }