diff options
author | David Shah <davey1576@gmail.com> | 2018-06-19 14:44:49 +0200 |
---|---|---|
committer | David Shah <davey1576@gmail.com> | 2018-06-19 14:44:49 +0200 |
commit | 90086698679d8a3c5f9e58d619bc18a284ab17e1 (patch) | |
tree | f2b88758860ff46a3d0502780c623cc645b5ec9c /dummy/arch_place.h | |
parent | 786bd6b25a2d7db691e70fd2bc9a60c796e0df35 (diff) | |
download | nextpnr-90086698679d8a3c5f9e58d619bc18a284ab17e1.tar.gz nextpnr-90086698679d8a3c5f9e58d619bc18a284ab17e1.tar.bz2 nextpnr-90086698679d8a3c5f9e58d619bc18a284ab17e1.zip |
Major performance improvement to placement validity check
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'dummy/arch_place.h')
-rw-r--r-- | dummy/arch_place.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/dummy/arch_place.h b/dummy/arch_place.h index 3abd80c5..1111ac42 100644 --- a/dummy/arch_place.h +++ b/dummy/arch_place.h @@ -26,13 +26,19 @@ NEXTPNR_NAMESPACE_BEGIN // Architecure-specific placement functions -// Whether or not a given cell can be placed at a given Bel -// This is not intended for Bel type checks, but finer-grained constraints -// such as conflicting set/reset signals, etc -bool isValidBelForCell(Context *ctx, CellInfo *cell, BelId bel); - -// Return true whether all Bels at a given location are valid -bool isBelLocationValid(Context *ctx, BelId bel); +class PlaceValidityChecker +{ + public: + PlaceValidityChecker(Context *ctx); + + // Whether or not a given cell can be placed at a given Bel + // This is not intended for Bel type checks, but finer-grained constraints + // such as conflicting set/reset signals, etc + bool isValidBelForCell(CellInfo *cell, BelId bel); + + // Return true whether all Bels at a given location are valid + bool isBelLocationValid(BelId bel); +}; NEXTPNR_NAMESPACE_END |