aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/arch.h
diff options
context:
space:
mode:
authorSergiusz Bazanski <q3k@q3k.org>2018-07-26 16:22:19 +0100
committerSergiusz Bazanski <q3k@q3k.org>2018-07-26 16:22:19 +0100
commit4a21436dfa98caa458a8e6e130cf1f6305968650 (patch)
tree4e1dd3f04e5b671acf958eba6f7dc930ae4d1547 /ecp5/arch.h
parentc897c0ca9afab1d758f5c1b77312e77057a4c814 (diff)
parent03f92948d1504c32049da065c0e73e01f96d8033 (diff)
downloadnextpnr-4a21436dfa98caa458a8e6e130cf1f6305968650.tar.gz
nextpnr-4a21436dfa98caa458a8e6e130cf1f6305968650.tar.bz2
nextpnr-4a21436dfa98caa458a8e6e130cf1f6305968650.zip
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
Diffstat (limited to 'ecp5/arch.h')
-rw-r--r--ecp5/arch.h29
1 files changed, 27 insertions, 2 deletions
diff --git a/ecp5/arch.h b/ecp5/arch.h
index 4400db5e..d9d29c76 100644
--- a/ecp5/arch.h
+++ b/ecp5/arch.h
@@ -98,7 +98,7 @@ NPNR_PACKED_STRUCT(struct LocationTypePOD {
});
NPNR_PACKED_STRUCT(struct PIOInfoPOD {
- Location abs_loc;
+ LocationPOD abs_loc;
int32_t bel_index;
RelPtr<char> function_name;
int16_t bank;
@@ -107,7 +107,7 @@ NPNR_PACKED_STRUCT(struct PIOInfoPOD {
NPNR_PACKED_STRUCT(struct PackagePinPOD {
RelPtr<char> name;
- Location abs_loc;
+ LocationPOD abs_loc;
int32_t bel_index;
});
@@ -117,6 +117,26 @@ NPNR_PACKED_STRUCT(struct PackageInfoPOD {
RelPtr<PackagePinPOD> pin_data;
});
+enum TapDirection : int8_t
+{
+ TAP_DIR_LEFT = 0,
+ TAP_DIR_RIGHT = 1
+};
+
+enum GlobalQuadrant : int8_t
+{
+ QUAD_UL = 0,
+ QUAD_UR = 1,
+ QUAD_LL = 2,
+ QUAD_LR = 3,
+};
+
+NPNR_PACKED_STRUCT(struct GlobalInfoPOD {
+ int16_t tap_col;
+ TapDirection tap_dir;
+ GlobalQuadrant quad;
+});
+
NPNR_PACKED_STRUCT(struct ChipInfoPOD {
int32_t width, height;
int32_t num_tiles;
@@ -124,6 +144,7 @@ NPNR_PACKED_STRUCT(struct ChipInfoPOD {
int32_t num_packages, num_pios;
RelPtr<LocationTypePOD> locations;
RelPtr<int32_t> location_type;
+ RelPtr<GlobalInfoPOD> location_glbinfo;
RelPtr<RelPtr<char>> tiletype_names;
RelPtr<PackageInfoPOD> package_info;
RelPtr<PIOInfoPOD> pio_info;
@@ -517,6 +538,8 @@ struct Arch : BaseCtx
return id(name.str());
}
+ IdString getWireType(WireId wire) const { return IdString(); }
+
uint32_t getWireChecksum(WireId wire) const { return wire.index; }
void bindWire(WireId wire, IdString net, PlaceStrength strength)
@@ -595,6 +618,8 @@ struct Arch : BaseCtx
PipId getPipByName(IdString name) const;
IdString getPipName(PipId pip) const;
+ IdString getPipType(PipId pip) const { return IdString(); }
+
uint32_t getPipChecksum(PipId pip) const { return pip.index; }
void bindPip(PipId pip, IdString net, PlaceStrength strength)