From 5393841c669775eab5a5e5fde9be2bab3ec67879 Mon Sep 17 00:00:00 2001 From: David Shah Date: Wed, 18 Jul 2018 15:34:22 +0200 Subject: ecp5: Adding PIO data to chipdb Signed-off-by: David Shah --- ecp5/arch.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'ecp5/arch.h') diff --git a/ecp5/arch.h b/ecp5/arch.h index 4bb71b47..5158fe5c 100644 --- a/ecp5/arch.h +++ b/ecp5/arch.h @@ -96,13 +96,36 @@ NPNR_PACKED_STRUCT(struct LocationTypePOD { RelPtr pip_data; }); +NPNR_PACKED_STRUCT(struct PIOInfoPOD { + Location abs_loc; + int32_t bel_index; + RelPtr function_name; + int16_t bank; + int16_t padding; +}); + +NPNR_PACKED_STRUCT(struct PackagePinPOD { + RelPtr name; + Location abs_loc; + int32_t bel_index; +}); + +NPNR_PACKED_STRUCT(struct PackageInfoPOD { + RelPtr name; + int32_t num_pins; + RelPtr pin_data; +}); + NPNR_PACKED_STRUCT(struct ChipInfoPOD { int32_t width, height; int32_t num_tiles; int32_t num_location_types; + int32_t num_packages, num_pios; RelPtr locations; RelPtr location_type; RelPtr> tiletype_names; + RelPtr package_info; + RelPtr pio_info; }); #if defined(_MSC_VER) -- cgit v1.2.3 From c80934f953a9aa185aec0f3e9b9a23296c6e682b Mon Sep 17 00:00:00 2001 From: David Shah Date: Wed, 18 Jul 2018 16:01:53 +0200 Subject: ecp5: Add support for pin name constraints using 'LOC' attributes Signed-off-by: David Shah --- ecp5/arch.h | 1 + 1 file changed, 1 insertion(+) (limited to 'ecp5/arch.h') diff --git a/ecp5/arch.h b/ecp5/arch.h index 5158fe5c..944aedea 100644 --- a/ecp5/arch.h +++ b/ecp5/arch.h @@ -363,6 +363,7 @@ struct ArchArgs struct Arch : BaseCtx { const ChipInfoPOD *chip_info; + const PackageInfoPOD *package_info; mutable std::unordered_map bel_by_name; mutable std::unordered_map wire_by_name; -- cgit v1.2.3