diff options
author | David Shah <dave@ds0.me> | 2020-10-12 10:18:23 +0100 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2020-11-30 08:45:27 +0000 |
commit | 12013b4c1f7a7fc653a06d1af8216680de468147 (patch) | |
tree | c23e5d347c0b8c5e785dba93744a40cb53eeb899 /nexus/arch.h | |
parent | e2de234ef17320773f089b9d807aaacbbcae45d2 (diff) | |
download | nextpnr-12013b4c1f7a7fc653a06d1af8216680de468147.tar.gz nextpnr-12013b4c1f7a7fc653a06d1af8216680de468147.tar.bz2 nextpnr-12013b4c1f7a7fc653a06d1af8216680de468147.zip |
nexus: Lookup of package and IO pins
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'nexus/arch.h')
-rw-r--r-- | nexus/arch.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/nexus/arch.h b/nexus/arch.h index 89723853..886ee557 100644 --- a/nexus/arch.h +++ b/nexus/arch.h @@ -258,6 +258,8 @@ NPNR_PACKED_STRUCT(struct ChipInfoPOD { uint16_t width; uint16_t height; uint32_t num_tiles; + uint32_t num_pads; + uint32_t num_packages; RelPtr<GridLocationPOD> grid; RelPtr<GlobalInfoPOD> globals; RelPtr<PadInfoPOD> pads; @@ -827,6 +829,8 @@ struct Arch : BaseCtx const DatabasePOD *db; const ChipInfoPOD *chip_info; + int package_idx; + // Binding states struct LogicTileStatus { @@ -1430,6 +1434,13 @@ struct Arch : BaseCtx // ------------------------------------------------- + const PadInfoPOD *get_pin_data(const std::string &pin) const; + Loc get_pad_loc(const PadInfoPOD *pad) const; + BelId get_pin_bel(const std::string &pin) const; + const PadInfoPOD *get_bel_pad(BelId bel) const; + + // ------------------------------------------------- + // List of IO constraints, used by PDC parser std::unordered_map<IdString, std::unordered_map<IdString, Property>> io_attr; |