Commit Graph

55 Commits

Author SHA1 Message Date
David Shah
2cc7ade05b Refactor common placement functions out of SA placer for use in legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 12:00:13 +02:00
David Shah
103dde79de Fixing Python bindings after adding unique_ptr
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 14:13:52 +02:00
Miodrag Milanovic
db890d3a81 nets and cells are unique_ptr's 2018-06-25 21:33:48 +02:00
David Shah
bdd54a6847 Refactor: remove PlacementValidityChecker and move methods to Arch
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 11:43:59 +02:00
David Shah
1e8840b0f9 Update from increased clangformat line length
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-23 16:12:52 +02:00
Clifford Wolf
746d63f9fa Refactoring bind/unbind API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-23 15:16:24 +02:00
David Shah
d72fe0c230 place_sa: Add option to disable timing-driven placement
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-23 12:18:44 +02:00
Clifford Wolf
aa81f9d648 Switched from clifford@clifford.at to clifford@symbioticeda.com for copyright headers
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-22 16:19:17 +02:00
David Shah
f86a0d6c8c place_sa: Tweak weighting given to timing
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 15:17:00 +02:00
David Shah
d7939f96e6 place_sa: Fix temp printing
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 15:03:33 +02:00
David Shah
ce4ad44fd1 Print quasi-TNS statistic during placement
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 14:58:27 +02:00
David Shah
71176ac538 Fixing 5k bitstream gen and place heuristics
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 12:34:42 +02:00
Miodrag Milanovic
8fac26c2b7 Fixed return codes for packer, placer and router 2018-06-21 17:56:45 +02:00
Clifford Wolf
a29bfc788e Add ctx->checksum(), slightly improve log messages
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 15:47:41 +02:00
Clifford Wolf
993f6ef7d3 Improve log messages, move many messages to verbose mode
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 14:09:50 +02:00
David Shah
56ed679f83 Add frequency setting and fix slack calculation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-21 11:59:20 +02:00
David Shah
9e28e45bd5 place_sa: Make the heuristic closer to arachne, seems to improve routability
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-21 11:45:58 +02:00
David Shah
e526a4115b place_sa: Use int64_t for "wirelength" metric
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-21 10:45:18 +02:00
David Shah
1df8a8b440 place_sa: Reduce effect of rounding errors
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 20:25:48 +02:00
David Shah
c27c96f4f0 place_sa: Improvements including supporting force and ordering consistency
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 20:12:23 +02:00
David Shah
c515e5da2d Improving placement timing heuristic
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 17:54:07 +02:00
David Shah
4fc9625040 WIP: adding timing budget to placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 17:08:57 +02:00
Clifford Wolf
37f7802c6c Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-20 12:58:08 +02:00
Clifford Wolf
7c3593ea5a Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 12:57:59 +02:00
Clifford Wolf
cb9c6c6ef2 Changes to estimatePosition API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 12:57:38 +02:00
David Shah
5d1b87b0a4 place_sa: Set placement strengths
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 11:19:25 +02:00
David Shah
1b3432b701 place_sa: Refactor to put SA placer in its own class
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 10:46:14 +02:00
Clifford Wolf
3bf68753bb Improve "initial placement" log messages in placer_sa
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 15:44:44 +02:00
David Shah
7e7aea2c69 place_sa: Add log output during initial placement
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 15:34:07 +02:00
Clifford Wolf
3a505638a6 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
# Conflicts:
#	common/place_sa.cc
#	ice40/arch.h
2018-06-19 15:03:54 +02:00
Clifford Wolf
d7f424b809 Improved log messages in SA placer, minor changes from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 15:00:24 +02:00
David Shah
9008669867 Major performance improvement to placement validity check
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 14:44:49 +02:00
Clifford Wolf
2603c6d805 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-19 14:34:45 +02:00
David Shah
786bd6b25a place_sa: Use context-wide rng
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-19 14:31:49 +02:00
Clifford Wolf
5f37da9704 Add Context::force and "nextpnr-ice40 --force"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 14:10:42 +02:00
Clifford Wolf
d2ff5fec08 Add rng to Context, start using ctx->verbose
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 12:49:40 +02:00
Clifford Wolf
79d1075345 Getting rid of old IdString API users, Add ctx to many internal APIs
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 17:08:35 +02:00
Clifford Wolf
7ef4d0726b Getting rid of users of old IdString API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 16:08:19 +02:00
Clifford Wolf
8ee149f4fc Rename Design to Context, derive from Arch instead of instantiating
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:06:37 +02:00
Clifford Wolf
ad18cdb087 Rename Chip to Arch and ChipArgs to ArchArgs
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 13:35:25 +02:00
David Shah
ef2d0d2cb9 Fix hash specialisation for BelType and warnings in place_sa.cc
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-18 12:20:06 +02:00
David Shah
fc7490370b Improving code style and fixing dummy
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-18 11:43:59 +02:00
David Shah
2f9810a346 Speed up placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 16:18:59 +02:00
David Shah
f66999a883 Minor performance tweaks and fixes
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 16:03:16 +02:00
David Shah
748171dae2 place_sa: Adding seed option
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 15:04:53 +02:00
David Shah
681c9654d7 place_sa: Add a rip-up feature when initial placement fails
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 14:36:19 +02:00
David Shah
153b800f6a place_sa: Make placement independant of unordered_map ordering
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 13:24:42 +02:00
David Shah
6a937e0b45 Updating copyrights
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 11:49:57 +02:00
David Shah
3afce5ff5a Improving the placer output
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 11:45:41 +02:00
David Shah
c604426341 place_sa: Ignore Bels locked by manual placement for SA swaps
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 11:33:31 +02:00