diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-06-13 12:38:28 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2018-06-13 12:38:28 +0200 |
commit | 145c849596bdcd24f3b4e617eeb4ee06e1b93452 (patch) | |
tree | 243d63251d31498f4e92bfdae3ae0d0f087f9957 /ice40/chip.h | |
parent | 4d7f18dd98a7ef9540a279a8e27cb9dbef355af7 (diff) | |
parent | de0918c28758b09f638e02ffc04fad989321da1b (diff) | |
download | nextpnr-145c849596bdcd24f3b4e617eeb4ee06e1b93452.tar.gz nextpnr-145c849596bdcd24f3b4e617eeb4ee06e1b93452.tar.bz2 nextpnr-145c849596bdcd24f3b4e617eeb4ee06e1b93452.zip |
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
Diffstat (limited to 'ice40/chip.h')
-rw-r--r-- | ice40/chip.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/ice40/chip.h b/ice40/chip.h index 2c95bf4e..5eea1b8e 100644 --- a/ice40/chip.h +++ b/ice40/chip.h @@ -118,6 +118,19 @@ struct WireInfoPOD float x, y; }; +struct PackagePinPOD +{ + const char *name; + int32_t bel_index; +}; + +struct PackageInfoPOD +{ + const char *name; + int num_pins; + PackagePinPOD *pins; +}; + enum TileType { TILE_NONE = 0, @@ -173,12 +186,13 @@ struct ChipInfoPOD { int width, height; int num_bels, num_wires, num_pips; - int num_switches; + int num_switches, num_packages; BelInfoPOD *bel_data; WireInfoPOD *wire_data; PipInfoPOD *pip_data; TileType *tile_grid; BitstreamInfoPOD *bits_info; + PackageInfoPOD *packages_data; }; extern ChipInfoPOD chip_info_384; @@ -417,11 +431,13 @@ struct ChipArgs HX8K, UP5K } type = NONE; + std::string package; }; struct Chip { ChipInfoPOD chip_info; + PackageInfoPOD *package_info; mutable std::unordered_map<IdString, int> bel_by_name; mutable std::unordered_map<IdString, int> wire_by_name; @@ -682,6 +698,8 @@ struct Chip return range; } + BelId getPackagePinBel(const std::string &pin) const; + // ------------------------------------------------- PosInfo getBelPosition(BelId bel) const; |