Commit Graph

434 Commits

Author SHA1 Message Date
Sergiusz Bazanski 55d5f8f248 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo 2018-07-20 10:59:33 +01:00
David Shah 6c38df7295 ice40: Adding cell definition for DSPs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 13:22:46 +02:00
David Shah d221e90706 Reducing performance cost of asserts
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 11:43:10 +02:00
Clifford Wolf 609794f9e6 Add Net/Cell "udata" field
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-18 13:29:58 +02:00
Serge Bazanski 03508faabf WIP. 2018-07-17 19:16:26 +01:00
Clifford Wolf ddfc535df7 Add ArchNetInfo and ArchCellInfo
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-17 20:04:49 +02:00
Serge Bazanski 2f5b94fe30 Add basic external locking, lock from P&R 2018-07-17 16:27:50 +01:00
Serge Bazanski 498bef3f3e Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo 2018-07-17 16:03:48 +01:00
Clifford Wolf c0f1af87f6 Add Loc struct for x/y/z bel locations
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-17 17:03:44 +02:00
David Shah 924037129c Fix driver finder when net is undriven
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-17 11:00:18 +02:00
David Shah 56fa8cc669 refactor: Remove incorrect uses of the term 'wirelength'
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-16 17:13:40 +02:00
Serge Bazanski 91db413c60 Refactor RNG out to separate DeterministicRNG class
This well also allow for better lifecycle control over the state of the
RNG in the future.
2018-07-14 20:33:32 +01:00
Serge Bazanski 59a790cd00 Refactor IdString functionality into IdStringDB
This lets us more precisely control the lifetime of IdString databases
in contexts/arches.
2018-07-14 20:24:20 +01:00
Sergiusz Bazanski 57f75385b0 Revert "Make PnR use Unlocked methods"
This reverts commit 9e4f97290a.
2018-07-14 18:53:08 +01:00
Sergiusz Bazanski 447ed83638 Revert "Introduce proxies for locked access to ctx"
This reverts commit 89809a8b81.
2018-07-14 18:52:56 +01:00
Sergiusz Bazanski 36b4e3382d Revert "Make GUI nice and smooth."
This reverts commit a8c84e90a3.
2018-07-14 18:50:50 +01:00
Sergiusz Bazanski b0c05c7f75 Revert "Refactor proxies to nextpnr."
This reverts commit 9b17fe385c.
2018-07-14 18:50:37 +01:00
Sergiusz Bazanski d9c3c117a3 Revert "clang-format"
This reverts commit 8ca7a6da25.
2018-07-14 18:50:34 +01:00
Sergiusz Bazanski ade67ecf21 Revert "Move read methods to ReadMethods, remove some legacy access to Arch"
This reverts commit 3352ff4abb.
2018-07-14 18:50:23 +01:00
Sergiusz Bazanski 3352ff4abb Move read methods to ReadMethods, remove some legacy access to Arch 2018-07-14 11:46:32 +01:00
Sergiusz Bazanski 8ca7a6da25 clang-format 2018-07-14 11:10:59 +01:00
Sergiusz Bazanski 9b17fe385c Refactor proxies to nextpnr. 2018-07-14 11:10:31 +01:00
Sergiusz Bazanski a8c84e90a3 Make GUI nice and smooth. 2018-07-13 20:53:52 +01:00
Sergiusz Bazanski 89809a8b81 Introduce proxies for locked access to ctx 2018-07-13 18:58:59 +01:00
Sergiusz Bazanski 9e4f97290a Make PnR use Unlocked methods 2018-07-13 14:50:58 +01:00
Sergiusz Bazanski 499951cb65 Remove legacy graphics API
For now we do not optimize the OpenGL renderer against the new decal
API, but this can be done in the future.
2018-07-12 21:30:36 +01:00
Clifford Wolf b8a42ff53b Updates from clang-format
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 22:04:13 +02:00
Clifford Wolf 13e7cd8681 Add GraphicElement style enum
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 21:04:47 +02:00
Clifford Wolf a436035424 Add Groups API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 17:22:29 +02:00
Clifford Wolf 7daa8524c8 Add ctx->place() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 18:15:08 +02:00
Clifford Wolf 7df67c91b3 Add ctx->route() API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 18:04:09 +02:00
Clifford Wolf 2a01b5e4d3 New refreshUi API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 17:02:13 +02:00
Miodrag Milanovic 09735694b2 Fixed MSVC build 2018-07-11 14:39:42 +02:00
Clifford Wolf ce6afb5f7f Merge branch 'ice40gfx' into 'master'
Ice40gfx

See merge request SymbioticEDA/nextpnr!7
2018-07-11 12:04:53 +00:00
Clifford Wolf 7081cca016 Add GUI Decals API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-11 14:03:23 +02:00
David Shah 29d65bd368 ecp5: Working on bitstream gen
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah b397dd8071 ecp5: Adding bitstream gen for slice config
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:42:09 +02:00
David Shah c4af52dd5b ecp5: Working on arch implementation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-11 10:41:36 +02:00
Miodrag Milanovic 2ad355ebeb Renamed dummy->generic for tests, also fix warning 2018-07-11 08:05:42 +02:00
Eddie Hung 18c93104be NPNR_ASSERT not to implicitly construct strings 2018-07-08 15:48:54 -07:00
Miodrag Milanovic fcff203c23 typeof to decltype 2018-07-05 10:13:29 +02:00
David Shah 11fb625195 python: Renaming and fixing 'generic' build
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah f1bddc2852 common: Remove deprecated global IdStrings
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 46db500123 python: More design-related bindings, dump_design.py working again
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 79e91368f9 python: Update wrapper for non-unique_ptr maps
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah f6432aa88e python: Adding more wrapped bindings for ice40
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah f8ad2b31a9 python: Translate NPNR_ASSERTs to Python
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 3e8bdb5cbd python: New wrapper system working for unique_ptr maps
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah a382d906ef python: Developing context wrappers for maps
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 45ec502ded python: Adding more bindings
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 1e96d65ded python: Add context wrapper support for ranges
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 4bc12f2ead Progress on new wrapper system
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 65195513eb python: Restructuring wrapper system
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 14:55:24 +02:00
David Shah 2e8c0c872f Add NPNR_ASSERT_FALSE, use in bitstream.cc
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 13:04:31 +02:00
Miodrag Milanovic 6eaae6196c Fixed debug msvc build and fixed inaccessible base 2018-07-04 12:23:55 +02:00
David Shah e0a851976f refactor: Replace assert with NPNR_ASSERT
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 12:15:23 +02:00
David Shah c9d1bce859 common: Adding NPNR_ASSERT
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-04 12:04:26 +02:00
Miodrag Milanovic 1cf8293019 Fixed macros and includes for MSVC 2018-07-03 08:53:44 +02:00
David Shah fe1ad5b086 python: Tweaking how the new wrappers will work
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-02 14:14:08 +02:00
David Shah b720a7fddc Starting to develop a new Python wrapper system
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-01 16:40:40 +02:00
Clifford Wolf e6dc9ce77d Add implementations for generic arch db API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-30 17:31:24 +02:00
Clifford Wolf 25f07549a1 Refactor IdString::global_ctx
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-30 07:47:04 +02:00
Clifford Wolf c73759f9f1 Split "arch.h" in "arch.h" and "archdefs.h"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-29 20:36:34 +02:00
David Shah 302ccc14cf ice40: UltraPlus SPRAM working
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 19:58:08 +02:00
David Shah 27e7bc3b4b Improving the SA+legalisation flow
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 17:04:22 +02:00
David Shah d908928b56 Tidying up the SA placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 15:47:56 +02:00
David Shah 23789b7569 Increase temp and diameter after legalisation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 15:30:00 +02:00
David Shah 4977b35d2f Start legalisation at a much lower SA temperature
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 15:18:44 +02:00
David Shah 1aa4be770c Make single-cell placer less likely to get stuck
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 13:28:06 +02:00
David Shah b5f473cd7a Integrating SA placer and legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 13:12:44 +02:00
David Shah c18b7b3f6e ice40: Reworking placement legalisation to allow integration with SA placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 12:02:34 +02:00
Miodrag Milanovic 2037fff742 remove emb.cc 2018-06-28 17:57:26 +02:00
David Shah 92ddc31003 Improving debugability
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 15:08:37 +02:00
David Shah b0b16a344a Improving post-ripup placement in the legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-27 12:18:52 +02:00
David Shah 87a5b72126 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-27 12:00:37 +02:00
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
Miodrag Milanovic bafb4702c7 reinit python tab 2018-06-27 11:45:19 +02:00
Miodrag Milanovic 0bd73c1977 Make GUI use recreated context 2018-06-26 15:47:43 +02:00
David Shah 6f12f2b7e8 Working on debugging the carry legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 15:06:59 +02:00
David Shah 962c566ffb Fixing Python bindings bugs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 14:21:54 +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 6d154cfa13 ice40: Creating a carry chain splitter function
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-25 15:39:46 +02:00
Miodrag Milanovic fb5fb497b5 Fix some memory leaks 2018-06-25 14:34:08 +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 37bad1f99e Fixing the Python bindings following Context/Arch refactoring
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-23 19:51:22 +02:00
Clifford Wolf 0ccd9febeb Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-23 16:14:39 +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
Miodrag Milanovic 4b78ae15df clangformat cleanup 2018-06-23 16:06:49 +02:00
Clifford Wolf a40d9dc514 Improve router ripup handling
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-23 15:58:24 +02:00
Clifford Wolf a1681560a3 Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-23 15:28:09 +02:00
Clifford Wolf b5efe3ecbc Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-23 15:16:37 +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
Miodrag Milanovic 550866620a removed all deprecated unused api calls 2018-06-23 15:01:49 +02:00
Miodrag Milanovic 82ec1be31f Added BUILD_GUI, BUILD_PYTHON and BUILD_TESTS cmake options, 2018-06-23 14:32:49 +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
Miodrag Milanovic 6f4e49bb47 cleaned some warnings 2018-06-23 08:01:36 +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
Clifford Wolf 001c6ceb56 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-22 15:38: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 63baa10032 ice40: Make the packer deterministic
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-22 12:57:22 +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
Clifford Wolf 9b98a7175b Add total visit counts to router log output
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 20:41:20 +02:00
Clifford Wolf 2c98231f88 Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 19:36:20 +02:00
Clifford Wolf bfae4663fc Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
# Conflicts:
#	common/route.cc
2018-06-21 19:31:50 +02:00
Clifford Wolf 38dc1cc550 Work "overtime" to find better solutions in routing search algorithm
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 19:17:04 +02:00
Miodrag Milanovic 8fac26c2b7 Fixed return codes for packer, placer and router 2018-06-21 17:56:45 +02:00
Miodrag Milanovic 54549d36e9 log_error now trows exception, main is covering catch 2018-06-21 17:44:18 +02:00
Clifford Wolf fcfb85e9dc Zero-initialize PortRef budgets
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 16:25:25 +02:00
Clifford Wolf 4fefdbd57c Cleanup parse_json_file API, some other cleanups
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 16:16:58 +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 477c33efba Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-21 14:27:50 +02:00
Clifford Wolf 08020400b3 Fix build of "dummy" architexture
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 14:16:07 +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
Clifford Wolf 693c34ad06 Improvements in router
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 14:08:45 +02:00
Miodrag Milanovic 9c03909eba Make arch specific main window 2018-06-21 13:41:33 +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 93ed8ca405 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-20 20:14:08 +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
Clifford Wolf f2ae9a713b Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-20 19:37:16 +02:00
Clifford Wolf 9475997a2d Improve --tmfuzz mode and iCE40 delay estimator
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 19:22:03 +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
David Shah e45508f6c4 Improving timing annotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 15:15:51 +02:00
Clifford Wolf 2da90889ef Add "nextpnr-ice40 --tmfuzz"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 14:04:10 +02:00
Clifford Wolf 3fda636e70 Minor refactoring of router infrastructure
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 13:32:50 +02:00
David Shah c667f640d5 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-20 13:01:30 +02:00
David Shah 4648d3bc83 Working on the timing annotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 13:01:22 +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
Clifford Wolf c3837027b2 Add better iCE40 delay estimates
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 12:50:38 +02:00
David Shah 5ca4663294 Working on the timing budget annnotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 12:21:56 +02:00
David Shah 2a41211ce1 Another stub delay calculation function
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 11:53:49 +02:00
David Shah 1436ae21a2 Adding stubs for delay annotation and cell timing lookup
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 11:44:28 +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
Clifford Wolf a06d2aeb4d Add PlaceStrength
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-20 11:09:49 +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 5af5bd23d0 Add Context::sorted_shuffle API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 16:23:23 +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
Miodrag Milanovic b5c1b09079 Small gui improvements and open json functionality 2018-06-19 15:17:34 +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 fd40d6f58d Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 14:10:42 +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 c910846c5c Refactor Arch/Context design hierarchy
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-19 12:08:37 +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 58dfdfa9c8 Getting rid of users of old IdString API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 16:32:19 +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 0dd185a141 Getting rid of users of old IdString API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 15:53:18 +02:00
Clifford Wolf 71d07fd0bf Updates from clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:57:38 +02:00
Clifford Wolf 3d7444ba9b Deprecate old IdString API with implizit global context
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:56:14 +02:00
Clifford Wolf babd5f39ab Towards IdString as per-context facility
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:53:01 +02:00
Clifford Wolf 3fe353ea03 Fixed include of "design.h" in "route.h"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:20:37 +02:00
Clifford Wolf ce2a9f2af1 Move contents of design.h to nextpnr.h
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:18:56 +02:00
Clifford Wolf cbcd2ea3ac Rename chip.h to arch.h
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 14:12:39 +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
Clifford Wolf 2f5e9542c2 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-18 13:13:51 +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
Clifford Wolf e0aa5c969e Improvements in router
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-18 11:58:37 +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
Clifford Wolf b728cb71d1 Improve router log output
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 19:43:07 +02:00
Clifford Wolf 3cfd6841dc Improve router log messages
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-17 19:27:48 +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 1b077320dc General reformatting
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 12:53:39 +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
David Shah f9bfccf68e Add 'get or default' functions
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 11:14:49 +02:00
David Shah e95f38e88e place_sa: Run a validity check at the end of placement
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-17 10:55:19 +02:00
David Shah 0df9a11b1f Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr 2018-06-16 18:45:56 +02:00
David Shah e497575c8e place: Fix placer validity checks
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 18:45:48 +02:00
ZipCPU 218c4cd740 Renamed place.h to place_sa.h in place_sa.cc
Signed-off-by: ZipCPU <dgisselq@ieee.org>
2018-06-16 12:09:51 -04:00
ZipCPU 41156d188e Changed place.h place_sa.h 2018-06-16 12:03:25 -04:00
ZipCPU 6d68af1e62 Renamed placer to Simulated-Annealing placer 2018-06-16 11:59:42 -04:00
David Shah bb92dc09a8 ice40: Promote reset signal
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 17:09:41 +02:00
David Shah c4241db117 Tweaking placer and router
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 16:54:57 +02:00
Clifford Wolf ad0df6cea8 Update placer for new Chip API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-16 15:38:26 +02:00
Clifford Wolf 4d14bc2914 Merge remote-tracking branch 'origin/master' into chipdbng 2018-06-16 15:25:03 +02:00
Clifford Wolf 6acf23cf37 Some refactoring of Chip API (prep for chipdb refactoring)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-16 15:23:04 +02:00
David Shah ef2164708b router: Fixing loop issue
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:49:38 +02:00
David Shah c0a2627179 place: Tidying up the SA placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah 71903e29d4 place: Reformat placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah 2479b4ecbf Improve placement heuristic
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
Clifford Wolf 579455d1b0 Fix router for routing to the same dest wire twice
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-16 14:44:10 +02:00