aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'ecp5/arch.h')
-rw-r--r--ecp5/arch.h10
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);