aboutsummaryrefslogtreecommitdiffstats
path: root/common/placer1.cc
Commit message (Collapse)AuthorAgeFilesLines
* Use NEXTPNR_NAMESPACE macro's now that headers are seperated.Keith Rothman2021-03-151-1/+1
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* timing: Integration tweaksgatecat2021-03-051-0/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* timing: Use new engine in SA except for budget-based modegatecat2021-03-041-10/+7
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #605 from litghost/add_placement_sanity_checkgatecat2021-03-021-4/+8
|\ | | | | Add placement sanity check in placer_heap.
| * Use scope in router1/2 and placer1.Keith Rothman2021-03-011-4/+8
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* | Prevent trival misplacements in placer1.Keith Rothman2021-02-261-0/+12
|/ | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Refactor some common code to CellInfo methodsgatecat2021-02-231-13/+8
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Remove isValidBelForCellgatecat2021-02-161-8/+17
| | | | | | | | | | | | | | | | | This Arch API dates from when we were first working out how to implement placement validity checking, and in practice is little used by the core parts of placer1/HeAP and the Arch implementation involves a lot of duplication with isBelLocationValid. In the short term; placement validity checking is better served by the combination of checkBelAvail and isValidBelForCellType before placement; followed by isBelLocationValid after placement (potentially after moving/swapping multiple cells). Longer term, removing this API makes things a bit cleaner for a new validity checking API. Signed-off-by: gatecat <gatecat@ds0.me>
* refactor: Replace getXName().c_str(ctx) with ctx->nameOfXD. Shah2021-02-021-3/+3
| | | | | | This makes the ongoing migration to IdStringList easier. Signed-off-by: D. Shah <dave@ds0.me>
* ecp5: Proof-of-concept using IdStringList for bel namesD. Shah2021-02-021-4/+4
| | | | | | | | | | | This uses the new IdStringList API to store bel names for the ECP5. Note that other arches and the GUI do not yet build with this proof-of-concept patch. getBelByName still uses the old implementation and could be more efficiently implemented with further development. Signed-off-by: D. Shah <dave@ds0.me>
* Run "make clangformat".Keith Rothman2021-02-021-3/+4
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Fix regression in use of FastBels.Keith Rothman2021-02-021-3/+14
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Initial refactoring of placer API.Keith Rothman2021-02-021-33/+14
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* cleanup: Spelling fixesD. Shah2021-01-281-4/+4
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* placer1: Unlock even if placement failsDavid Shah2020-06-291-0/+2
| | | | | | | | Prevents a hang during routing when using --force Fixes #462 Signed-off-by: David Shah <dave@ds0.me>
* placer1: Add routeability optimisation (off by default)David Shah2020-02-121-2/+88
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Allow scaling HPWL differently in each directionDavid Shah2020-02-121-6/+13
| | | | Signed-off-by: David Shah <dave@ds0.me>
* router2: debuggingDavid Shah2020-02-031-1/+6
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Major Property improvements for common and iCE40David Shah2019-08-051-1/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Speedup critical pathMiodrag Milanovic2019-06-281-8/+9
|
* clangformat runMiodrag Milanovic2019-06-251-1/+2
|
* moved some context variables to settingsMiodrag Milanovic2019-06-151-7/+7
|
* No need for settings classMiodrag Milanovic2019-06-151-5/+5
|
* clangformatDavid Shah2019-04-081-6/+9
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Check correctness of incremental updates with --debugDavid Shah2019-04-081-0/+18
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Improve incremental bounding box updatesDavid Shah2019-04-071-38/+213
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Make log output more consistentDavid Shah2019-03-251-0/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Restore old weighting in budget-based modeDavid Shah2019-03-241-1/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Fix regression moving chained cells pre-legaliseDavid Shah2019-03-231-2/+3
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* clangformatDavid Shah2019-03-221-1/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Only get criticalities when in timing-driven modeDavid Shah2019-03-221-1/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Chain supportDavid Shah2019-03-221-1/+11
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: tidying upDavid Shah2019-03-221-6/+7
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Implement 'all+rotate' HeAP strategyDavid Shah2019-03-221-1/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* HeAP: Add SA-based iterative refinement after APDavid Shah2019-03-221-65/+102
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Legalise after reaching a diameter, not temperatureDavid Shah2019-03-221-6/+4
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Add (currently-unused) option for fanout threshold for timing cost calcDavid Shah2019-03-221-3/+4
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* placer1: Implement non-timing-driven modeDavid Shah2019-03-221-26/+31
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* placer1: Improve handling of regionsDavid Shah2019-03-221-4/+53
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Consider regions during placementDavid Shah2019-03-221-16/+26
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Optimise for performanceDavid Shah2019-03-221-20/+58
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: New temperature heuristicDavid Shah2019-03-221-19/+13
| | | | Signed-off-by: David Shah <dave@ds0.me>
* placer1: Encourage chain swapsDavid Shah2019-03-221-1/+1
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* placer1: TweaksDavid Shah2019-03-221-3/+6
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* placer1: Allow chain position swaps after legalisationDavid Shah2019-03-221-2/+114
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* placer1: Tweaking temperatureDavid Shah2019-03-221-9/+14
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* placer1: Make budget-based placement an optionDavid Shah2019-03-221-22/+29
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* placer1: TuningDavid Shah2019-03-221-6/+5
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* placer1: Fix cost delta calculationDavid Shah2019-03-221-1/+3
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* placer1: BugfixesDavid Shah2019-03-221-11/+15
| | | | Signed-off-by: David Shah <dave@ds0.me>