diff options
Diffstat (limited to 'gowin/arch.h')
-rw-r--r-- | gowin/arch.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/gowin/arch.h b/gowin/arch.h index 602c3db5..aa751a4f 100644 --- a/gowin/arch.h +++ b/gowin/arch.h @@ -131,6 +131,13 @@ NPNR_PACKED_STRUCT(struct TimingClassPOD { RelPtr<TimingGroupsPOD> groups; }); +NPNR_PACKED_STRUCT(struct PartnumberPOD { + uint32_t name_id; + uint32_t package_id; + uint32_t device_id; + uint32_t speed_id; +}); + NPNR_PACKED_STRUCT(struct PackagePOD { uint32_t name_id; uint32_t num_pins; @@ -153,6 +160,8 @@ NPNR_PACKED_STRUCT(struct DatabasePOD { RelPtr<GlobalAliasPOD> aliases; uint32_t num_speeds; RelPtr<TimingClassPOD> speeds; + uint32_t num_partnumbers; + RelPtr<PartnumberPOD> partnumber_packages; uint32_t num_variants; RelPtr<VariantPOD> variants; uint16_t num_constids; @@ -162,10 +171,8 @@ NPNR_PACKED_STRUCT(struct DatabasePOD { struct ArchArgs { - std::string device; std::string family; - std::string speed; - std::string package; + std::string partnumber; // y = mx + c relationship between distance and delay for interconnect // delay estimates double delayScale = 0.4, delayOffset = 0.4; @@ -447,6 +454,8 @@ struct Arch : BaseArch<ArchRanges> bool cellsCompatible(const CellInfo **cells, int count) const; // start Z for the MUX2LUT5 bels int const mux_0_z = 10; + // chip db version + unsigned int const chipdb_version = 1; std::vector<IdString> cell_types; |