interchange: Add wire types to chipdb
Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
parent
d718ccaa78
commit
ecf24201ec
@ -34,7 +34,7 @@ NEXTPNR_NAMESPACE_BEGIN
|
|||||||
* kExpectedChipInfoVersion
|
* kExpectedChipInfoVersion
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static constexpr int32_t kExpectedChipInfoVersion = 7;
|
static constexpr int32_t kExpectedChipInfoVersion = 8;
|
||||||
|
|
||||||
// Flattened site indexing.
|
// Flattened site indexing.
|
||||||
//
|
//
|
||||||
@ -182,6 +182,9 @@ NPNR_PACKED_STRUCT(struct TileInstInfoPOD {
|
|||||||
// as they will never be nodal
|
// as they will never be nodal
|
||||||
// -1 if a tile-local wire; node index if nodal wire
|
// -1 if a tile-local wire; node index if nodal wire
|
||||||
RelSlice<int32_t> tile_wire_to_node;
|
RelSlice<int32_t> tile_wire_to_node;
|
||||||
|
|
||||||
|
// Index into wire_types
|
||||||
|
RelSlice<int16_t> tile_wire_to_type;
|
||||||
});
|
});
|
||||||
|
|
||||||
NPNR_PACKED_STRUCT(struct TileWireRefPOD {
|
NPNR_PACKED_STRUCT(struct TileWireRefPOD {
|
||||||
@ -305,6 +308,18 @@ NPNR_PACKED_STRUCT(struct ConstantsPOD {
|
|||||||
RelSlice<DefaultCellConnsPOD> default_conns;
|
RelSlice<DefaultCellConnsPOD> default_conns;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
enum WireCategory
|
||||||
|
{
|
||||||
|
WIRE_CAT_GENERAL = 0,
|
||||||
|
WIRE_CAT_SPECIAL = 1,
|
||||||
|
WIRE_CAT_GLOBAL = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
NPNR_PACKED_STRUCT(struct WireTypePOD {
|
||||||
|
int32_t name; // constid
|
||||||
|
int32_t category; // WireCategory
|
||||||
|
});
|
||||||
|
|
||||||
NPNR_PACKED_STRUCT(struct ChipInfoPOD {
|
NPNR_PACKED_STRUCT(struct ChipInfoPOD {
|
||||||
RelPtr<char> name;
|
RelPtr<char> name;
|
||||||
RelPtr<char> generator;
|
RelPtr<char> generator;
|
||||||
@ -317,6 +332,7 @@ NPNR_PACKED_STRUCT(struct ChipInfoPOD {
|
|||||||
RelSlice<TileInstInfoPOD> tiles;
|
RelSlice<TileInstInfoPOD> tiles;
|
||||||
RelSlice<NodeInfoPOD> nodes;
|
RelSlice<NodeInfoPOD> nodes;
|
||||||
RelSlice<PackagePOD> packages;
|
RelSlice<PackagePOD> packages;
|
||||||
|
RelSlice<WireTypePOD> wire_types;
|
||||||
|
|
||||||
// BEL bucket constids.
|
// BEL bucket constids.
|
||||||
RelSlice<int32_t> bel_buckets;
|
RelSlice<int32_t> bel_buckets;
|
||||||
|
Loading…
Reference in New Issue
Block a user