diff options
Diffstat (limited to 'ecp5/arch.h')
-rw-r--r-- | ecp5/arch.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ecp5/arch.h b/ecp5/arch.h index 713c320e..ab4a4e00 100644 --- a/ecp5/arch.h +++ b/ecp5/arch.h @@ -103,7 +103,7 @@ NPNR_PACKED_STRUCT(struct PIOInfoPOD { int32_t bel_index; RelPtr<char> function_name; int16_t bank; - int16_t padding; + int16_t dqsgroup; }); NPNR_PACKED_STRUCT(struct PackagePinPOD { @@ -918,7 +918,7 @@ struct Arch : BaseCtx delay_t estimateDelay(WireId src, WireId dst) const; delay_t predictDelay(const NetInfo *net_info, const PortRef &sink) const; delay_t getDelayEpsilon() const { return 20; } - delay_t getRipupDelayPenalty() const { return 200; } + delay_t getRipupDelayPenalty() const { return 400; } float getDelayNS(delay_t v) const { return v * 0.001; } DelayInfo getDelayFromNS(float ns) const { @@ -971,6 +971,8 @@ struct Arch : BaseCtx void assignArchInfo(); + void permute_luts(); + std::vector<std::pair<std::string, std::string>> getTilesAtLocation(int row, int col); std::string getTileByTypeAndLocation(int row, int col, std::string type) const { @@ -1006,6 +1008,10 @@ struct Arch : BaseCtx GlobalInfoPOD globalInfoAtLoc(Location loc); + bool getPIODQSGroup(BelId pio, bool &dqsright, int &dqsrow); + BelId getDQSBUF(bool dqsright, int dqsrow); + WireId getBankECLK(int bank, int eclk); + // Apply LPF constraints to the context bool applyLPF(std::string filename, std::istream &in); |