aboutsummaryrefslogtreecommitdiffstats
path: root/generic/archdefs.h
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-12-30 13:18:34 +0000
committergatecat <gatecat@ds0.me>2022-01-04 20:19:29 +0000
commite88bd34c02272ecdad6295123941d9040fa4f043 (patch)
tree2ff879a3a856d19f61cc0c0875e7a3aa7fba7ac1 /generic/archdefs.h
parent089ca8258e6f4dc93f8d39594c1109a8578cdc98 (diff)
downloadnextpnr-e88bd34c02272ecdad6295123941d9040fa4f043.tar.gz
nextpnr-e88bd34c02272ecdad6295123941d9040fa4f043.tar.bz2
nextpnr-e88bd34c02272ecdad6295123941d9040fa4f043.zip
Viaduct API for a hybrid between generic and full-custom arch
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'generic/archdefs.h')
-rw-r--r--generic/archdefs.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/generic/archdefs.h b/generic/archdefs.h
index 2d46c0a2..4e91ffd3 100644
--- a/generic/archdefs.h
+++ b/generic/archdefs.h
@@ -20,6 +20,7 @@
#ifndef GENERIC_ARCHDEFS_H
#define GENERIC_ARCHDEFS_H
+#include "base_clusterinfo.h"
#include "hashlib.h"
#include "idstringlist.h"
@@ -74,7 +75,7 @@ struct ArchNetInfo
struct NetInfo;
-struct ArchCellInfo
+struct ArchCellInfo : BaseClusterInfo
{
// Custom grouping set via "PACK_GROUP" attribute. All cells with the same group
// value may share a tile (-1 = don't care, default if not set)
@@ -83,6 +84,8 @@ struct ArchCellInfo
bool is_slice;
// Only packing rule for slice type primitives is a single clock per tile
const NetInfo *slice_clk;
+ // A flat index for cells; so viaduct uarches can have their own fast flat arrays of per-cell validity-related data
+ int flat_index;
// Cell to bel pin mapping
dict<IdString, std::vector<IdString>> bel_pins;
};