diff options
author | gatecat <gatecat@ds0.me> | 2021-02-09 10:39:14 +0000 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-02-09 10:39:14 +0000 |
commit | 11db5a2f1df589ea8c5ba3c0b1cbbfaac77e3580 (patch) | |
tree | 83811636d13688142d2e99e58096939b3c6971d7 /common | |
parent | bcf81f0e711a443818089bde707f708c8d18dd23 (diff) | |
download | nextpnr-11db5a2f1df589ea8c5ba3c0b1cbbfaac77e3580.tar.gz nextpnr-11db5a2f1df589ea8c5ba3c0b1cbbfaac77e3580.tar.bz2 nextpnr-11db5a2f1df589ea8c5ba3c0b1cbbfaac77e3580.zip |
Add BaseArchRanges for default ArchRanges types
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'common')
-rw-r--r-- | common/nextpnr.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/common/nextpnr.h b/common/nextpnr.h index 2ecbaf0e..12462698 100644 --- a/common/nextpnr.h +++ b/common/nextpnr.h @@ -1176,6 +1176,27 @@ template <typename R> struct ArchAPI : BaseCtx virtual void assignArchInfo() = 0; }; +// This contains the relevant range types for the default implementations of Arch functions +struct BaseArchRanges +{ + // Attributes + using BelAttrsRangeT = std::vector<std::pair<IdString, std::string>>; + using WireAttrsRangeT = std::vector<std::pair<IdString, std::string>>; + using PipAttrsRangeT = std::vector<std::pair<IdString, std::string>>; + // Groups + using AllGroupsRangeT = std::vector<GroupId>; + using GroupBelsRangeT = std::vector<BelId>; + using GroupWiresRangeT = std::vector<WireId>; + using GroupPipsRangeT = std::vector<PipId>; + using GroupGroupsRangeT = std::vector<GroupId>; + // Decals + using DecalGfxRangeT = std::vector<GraphicElement>; + // Placement validity + using CellTypeRangeT = const std::vector<IdString> &; + using BelBucketRangeT = const std::vector<BelBucketId> &; + using BucketBelRangeT = const std::vector<BelId> &; +}; + template <typename R> struct BaseArch : ArchAPI<R> { // -------------------------------------------------------------- |