diff options
author | gatecat <gatecat@ds0.me> | 2021-04-19 09:43:49 +0100 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-04-19 10:16:26 +0100 |
commit | 872b3aa63d80798b55359d8671a46872814b24dd (patch) | |
tree | 082cc601ab57ed8820868b7a67e2c05b9db8b2f5 /fpga_interchange | |
parent | 6fbefb8f1388dbb2bfe059624f7cb76ee9a81c5e (diff) | |
download | nextpnr-872b3aa63d80798b55359d8671a46872814b24dd.tar.gz nextpnr-872b3aa63d80798b55359d8671a46872814b24dd.tar.bz2 nextpnr-872b3aa63d80798b55359d8671a46872814b24dd.zip |
interchange: Add default cell connections to chipdb
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'fpga_interchange')
-rw-r--r-- | fpga_interchange/chipdb.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/fpga_interchange/chipdb.h b/fpga_interchange/chipdb.h index 6c7b8c83..b66640e3 100644 --- a/fpga_interchange/chipdb.h +++ b/fpga_interchange/chipdb.h @@ -34,7 +34,7 @@ NEXTPNR_NAMESPACE_BEGIN * kExpectedChipInfoVersion */ -static constexpr int32_t kExpectedChipInfoVersion = 6; +static constexpr int32_t kExpectedChipInfoVersion = 7; // Flattened site indexing. // @@ -255,6 +255,26 @@ NPNR_PACKED_STRUCT(struct PackagePOD { RelSlice<PackagePinPOD> pins; }); +enum CellPinValue +{ + // leave floating + PIN_VALUE_FLOAT = 0, + // connect to ground + PIN_VALUE_GND = 1, + // connect to vcc + PIN_VALUE_VCC = 2, +}; + +NPNR_PACKED_STRUCT(struct DefaultCellConnPOD { + int32_t pin_name; // constid + int32_t value; // CellPinValue +}); + +NPNR_PACKED_STRUCT(struct DefaultCellConnsPOD { + int32_t cell_type; // constid + RelSlice<DefaultCellConnPOD> pins; +}); + NPNR_PACKED_STRUCT(struct ConstantsPOD { // Cell type and port for the GND and VCC global source. int32_t gnd_cell_name; // constid @@ -280,6 +300,9 @@ NPNR_PACKED_STRUCT(struct ConstantsPOD { // If a choice is available, which constant net should be used? // Can be ''/0 if either constant net are equivilent. int32_t best_constant_net; // constid + + // Default cell pin connections + RelSlice<DefaultCellConnsPOD> default_conns; }); NPNR_PACKED_STRUCT(struct ChipInfoPOD { |