diff options
author | gatecat <gatecat@ds0.me> | 2021-05-04 11:53:27 +0100 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-05-07 10:25:18 +0100 |
commit | b8c8200683e9560f8878d91b93b858eca74d9e15 (patch) | |
tree | 0a2759e5fbc68bb22e08fa19ad5199dd9b65755c /fpga_interchange/chipdb.h | |
parent | 3144e8395044da05476bbeee2f12fb7735864b17 (diff) | |
download | nextpnr-b8c8200683e9560f8878d91b93b858eca74d9e15.tar.gz nextpnr-b8c8200683e9560f8878d91b93b858eca74d9e15.tar.bz2 nextpnr-b8c8200683e9560f8878d91b93b858eca74d9e15.zip |
interchange: Add more global cell info
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'fpga_interchange/chipdb.h')
-rw-r--r-- | fpga_interchange/chipdb.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/fpga_interchange/chipdb.h b/fpga_interchange/chipdb.h index e9cac84e..d38e5d2f 100644 --- a/fpga_interchange/chipdb.h +++ b/fpga_interchange/chipdb.h @@ -34,7 +34,7 @@ NEXTPNR_NAMESPACE_BEGIN * kExpectedChipInfoVersion */ -static constexpr int32_t kExpectedChipInfoVersion = 8; +static constexpr int32_t kExpectedChipInfoVersion = 9; // Flattened site indexing. // @@ -320,6 +320,18 @@ NPNR_PACKED_STRUCT(struct WireTypePOD { int32_t category; // WireCategory }); +NPNR_PACKED_STRUCT(struct GlobalCellPinPOD { + int32_t name; // constid + int16_t max_hops; // max routing hops to try + int8_t guide_placement; + int8_t force_routing; +}); + +NPNR_PACKED_STRUCT(struct GlobalCellPOD { + int32_t cell_type; + RelSlice<GlobalCellPinPOD> pins; +}); + NPNR_PACKED_STRUCT(struct ChipInfoPOD { RelPtr<char> name; RelPtr<char> generator; @@ -333,6 +345,7 @@ NPNR_PACKED_STRUCT(struct ChipInfoPOD { RelSlice<NodeInfoPOD> nodes; RelSlice<PackagePOD> packages; RelSlice<WireTypePOD> wire_types; + RelSlice<GlobalCellPOD> global_cells; // BEL bucket constids. RelSlice<int32_t> bel_buckets; |