diff options
Diffstat (limited to 'ice40/arch.cc')
-rw-r--r-- | ice40/arch.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ice40/arch.cc b/ice40/arch.cc index e450e682..6fe77e4b 100644 --- a/ice40/arch.cc +++ b/ice40/arch.cc @@ -115,6 +115,19 @@ Arch::Arch(ArchArgs args) : args(args) wire_to_net.resize(chip_info->wire_data.size()); pip_to_net.resize(chip_info->pip_data.size()); switches_locked.resize(chip_info->num_switches); + + std::unordered_set<IdString> bel_types; + for (BelId bel : getBels()) { + bel_types.insert(getBelType(bel)); + } + + for (IdString bel_type : bel_types) { + cell_types.push_back(bel_type); + + BelBucketId bucket; + bucket.name = bel_type; + buckets.push_back(bucket); + } } // ----------------------------------------------------------------------- |