aboutsummaryrefslogtreecommitdiffstats
path: root/common/nextpnr.h
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-02-09 11:30:23 +0000
committerGitHub <noreply@github.com>2021-02-09 11:30:23 +0000
commitf67d474edc3f95e830ec23156a90327ae446ce6f (patch)
tree7df5d4022a40969adcbbbc8fc7fdd841e09db2cc /common/nextpnr.h
parent1febb80a1e519719762aa471d34c3f9acbbe1751 (diff)
parent11db5a2f1df589ea8c5ba3c0b1cbbfaac77e3580 (diff)
downloadnextpnr-f67d474edc3f95e830ec23156a90327ae446ce6f.tar.gz
nextpnr-f67d474edc3f95e830ec23156a90327ae446ce6f.tar.bz2
nextpnr-f67d474edc3f95e830ec23156a90327ae446ce6f.zip
Merge pull request #573 from YosysHQ/gatecat/basearchranges
Add BaseArchRanges for default ArchRanges types
Diffstat (limited to 'common/nextpnr.h')
-rw-r--r--common/nextpnr.h21
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>
{
// --------------------------------------------------------------