Clifford Wolf
2b0bf3f9f8
clangformat
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-02 14:51:09 +02:00
Clifford Wolf
3185abe264
Fix router1 cleanupReroute() for "drive-by nets"
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-02 14:47:07 +02:00
Clifford Wolf
6ccf8629b5
Add Router1Cfg
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-02 13:58:23 +02:00
Clifford Wolf
94abe914fc
Improve router1 cleanupReroute
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-02 13:39:37 +02:00
Clifford Wolf
f9a9da6cdb
Merge branch 'master' of github.com:YosysHQ/nextpnr into reroute
2018-08-02 13:02:07 +02:00
Miodrag Milanovic
79b844f09c
Removes unnecessary unlock causing trouble with placer
2018-08-01 20:32:15 +02:00
Clifford Wolf
2b3f363e89
Add reroute pass and other router1 tweaks
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-01 17:05:30 +02:00
Sergiusz Bazanski
f041f01895
router: release lock on failure to unblock UI
2018-08-01 11:53:52 +01:00
David Shah
faf309c1fe
timing: Fix timing analysis when no paths found (e.g. ecp5 with no cell timing info yet)
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 11:23:11 +02:00
Eddie Hung
94161e646d
Fix typo
2018-07-31 22:05:07 -07:00
Eddie Hung
9ea2467b0b
Cope with slack_redist_iter == 0
2018-07-31 21:56:30 -07:00
Eddie Hung
92ec2cd138
clangformat for stuff I've touched
2018-07-31 20:57:36 -07:00
Eddie Hung
f646ec790a
Modify the getNetinfo*() functions and getBudgetOverride() to not use
...
user_idx and to take a PortRef& instead
2018-07-31 19:31:54 -07:00
Eddie Hung
720e815865
Add --slack_redist_iter for ice40
2018-07-31 19:07:39 -07:00
Eddie Hung
44671f8927
Remove space
2018-07-31 18:27:33 -07:00
Eddie Hung
5d58d6ad1b
Merge branch 'redist_slack' of gitlab.com:SymbioticEDA/nextpnr into redist_slack
2018-07-31 18:26:39 -07:00
Eddie Hung
8131921e99
Merge branch 'estdelay' into redist_slack
2018-07-31 16:23:52 -07:00
Eddie Hung
51956eb961
Fix tns computation
2018-07-31 16:23:35 -07:00
Eddie Hung
2d75053744
Merge remote-tracking branch 'origin/estdelay' into redist_slack
...
Conflicts:
ecp5/arch.cc
generic/arch.cc
ice40/arch.cc
2018-07-31 16:18:08 -07:00
Eddie Hung
2a91aea0a6
Fix merge issues
2018-07-31 14:42:01 -07:00
Eddie Hung
70747b9355
Merge branch 'redist_slack' into 'redist_slack'
...
# Conflicts:
# common/timing.cc
2018-07-31 17:51:56 +00:00
Eddie Hung
87438542e5
assign_budget() not quietly
2018-07-30 22:21:53 -07:00
Eddie Hung
07e2c9ba99
assign_budget() after initial placement, not after pack
2018-07-30 22:20:49 -07:00
Eddie Hung
2ee68bcb60
Update comment
2018-07-30 22:18:50 -07:00
Eddie Hung
a82f6f4105
Modify predictDelay signature
2018-07-30 21:51:30 -07:00
Eddie Hung
e4b044da52
Fix tns
2018-07-30 21:50:31 -07:00
Eddie Hung
91468ae7a0
Fix tns
2018-07-30 19:39:44 -07:00
Eddie Hung
a099aca3c2
Modify predictDelay signature
2018-07-30 19:19:30 -07:00
Eddie Hung
d5049bf0ed
Merge remote-tracking branch 'origin/estdelay' into redist_slack
2018-07-30 18:59:04 -07:00
Eddie Hung
8371c0dd09
Speedup worst_slack computation
2018-07-30 18:55:22 -07:00
Eddie Hung
46b7469652
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-30 18:14:40 -07:00
David Shah
b09183db3b
Use DelayInfo for cell timing instead of delay_t
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-30 16:59:30 +02:00
Clifford Wolf
0daffec2a0
Add predictDelay Arch API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-30 15:35:40 +02:00
David Shah
593d8e0ddf
common: Fix getNetinfoRouteDelay when net has no driver
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-30 09:45:23 +02:00
Eddie Hung
9c45f762c8
Really do not overconstrain!
2018-07-29 18:16:49 -07:00
Eddie Hung
9ce91f97cc
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-29 08:48:08 -07:00
Clifford Wolf
3b354c2a51
fix randtag bug in router1
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-29 12:30:11 +02:00
Eddie Hung
52cc146a67
Keep things simple by not overconstraining Fmax
2018-07-28 22:57:37 -07:00
Eddie Hung
beabb429b0
clangformat
2018-07-28 14:11:43 -07:00
Eddie Hung
de6d0d20d7
Merge update_budget into assign_budget; update as we go along
2018-07-28 14:10:48 -07:00
Eddie Hung
0eaa92bd6a
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-28 12:51:37 -07:00
Eddie Hung
e0517caf1a
Refactor
2018-07-28 12:50:21 -07:00
Eddie Hung
0be236ce05
Fix auto Fmax overconstraining during update_budget()
2018-07-27 23:46:05 -07:00
Eddie Hung
0bbe309a26
Fix sign of slack redistribution again
2018-07-27 19:52:58 -07:00
Eddie Hung
4c40541484
Even if there is no updates, set budget to current delay
2018-07-26 22:49:08 -07:00
Eddie Hung
69ef533db3
Re-add getBudgetOverride() but also account for path length of
...
overridden
2018-07-26 22:32:24 -07:00
Eddie Hung
21d46fb633
Move target_freq update after budget update
2018-07-26 21:35:37 -07:00
Eddie Hung
5622dc0444
Fix budget realloc
2018-07-26 21:35:02 -07:00
Eddie Hung
d5c2332ebf
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-26 21:00:26 -07:00
Sergiusz Bazanski
48713be0eb
placer: only lock/unlock at beginning, yield elsewhere
2018-07-26 22:47:04 +01:00
Sergiusz Bazanski
df908374dc
gui: implement basic cursor picking
2018-07-26 22:40:45 +01:00
Sergiusz Bazanski
c37d2baaf6
common: rename GraphicElement::{style,type} enums, add _MAX members
2018-07-26 16:39:19 +01:00
Clifford Wolf
03f92948d1
clangformat and GraphicElement::style comments
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 17:14:56 +02:00
Clifford Wolf
f4a7478a40
Fix router1 locking in NDEBUG builds
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 16:45:57 +02:00
Eddie Hung
f45e688354
Do not use budget override anymore, and subtract not add!
2018-07-25 23:10:26 -07:00
Eddie Hung
e5d3821955
clangformat
2018-07-25 22:32:07 -07:00
Eddie Hung
8f930d683b
Print budget of net and its driver/sink locations too
2018-07-25 22:31:47 -07:00
Eddie Hung
b211dded3f
Fix min_slack computation, and print out critical path after routing
2018-07-25 22:10:26 -07:00
Eddie Hung
9d489e8198
Retry clangformat
2018-07-25 18:34:14 -07:00
Eddie Hung
760a47779a
Add compute_fmax() with refactoring, plus print out Fmax estimate post-place and post-route
2018-07-25 18:21:39 -07:00
Eddie Hung
7c8c13aba1
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-25 17:41:23 -07:00
David Shah
7a8e8999d2
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-25 19:45:38 +02:00
Clifford Wolf
ddfb1f1ff3
Fix BaseCtx::unlock()
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-25 13:35:53 +02:00
Clifford Wolf
f3dab003e7
Merge branch 'bba' into 'master'
...
bbasm
See merge request SymbioticEDA/nextpnr!18
2018-07-25 11:07:51 +00:00
Sergiusz Bazanski
14a501969a
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/pll-pads
2018-07-25 11:32:45 +01:00
Sergiusz Bazanski
aad0d3eb35
ice40: support PLL40_*_PAD, fix pass-through LUT for LOCK
2018-07-25 11:32:21 +01:00
Miodrag Milanovic
e3ce2f544d
noreturn have to be void, so there is no UB
2018-07-25 11:58:23 +02:00
Miodrag Milanovic
5e58a329e6
Make thread check portable
2018-07-25 09:32:13 +02:00
Eddie Hung
1fa738bd88
With no user frequency set, use 1.05 * current_Fmax
2018-07-24 23:34:59 -07:00
Eddie Hung
c71212d0e1
If --freq not set, attempt to find max by adjusting budget so min path slack == 0
2018-07-24 23:19:24 -07:00
Eddie Hung
a69745060e
Also subtract net delay from slack
2018-07-24 22:39:51 -07:00
Eddie Hung
9382938661
Merge branch 'master' into redist_slack
2018-07-24 22:20:10 -07:00
Clifford Wolf
a08b71c676
Merge branch 'placeconstr2'
2018-07-24 19:21:36 +02:00
Eddie Hung
4920cf18fa
improved is only set if we get a better metric, remove commented code
2018-07-24 09:21:52 -07:00
Eddie Hung
7b4c5594ed
Refactor new code and existing code
2018-07-24 09:20:07 -07:00
David Shah
e200c281d9
common: Remove use of deprecated APIs
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 15:45:49 +02:00
Clifford Wolf
f86fc6e7fd
Typo fix
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-24 12:41:08 +02:00
Clifford Wolf
1538d26073
Add CellInfo data for placement constraints
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-24 12:39:33 +02:00
Clifford Wolf
9d38907e95
Add G_ARROW (for now same look as G_LINE)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-24 12:18:01 +02:00
David Shah
7858663aa7
timing: Model clock to Q times
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 11:46:14 +02:00
Eddie Hung
adc1a86648
Oops
2018-07-23 19:25:00 -07:00
Eddie Hung
ee2e6ed1c6
Simplify and use Arch::getNetinfoRouteDelay() for update_budget()
2018-07-23 18:58:57 -07:00
Eddie Hung
771edd1fda
Merge branch 'master' into redist_slack
2018-07-23 07:16:39 -07:00
Clifford Wolf
e647604e2a
Add Context::archcheck() and "nextpnr-ice40 --test"
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 14:03:23 +02:00
Clifford Wolf
38962d0f02
clangformat
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 12:45:31 +02:00
Clifford Wolf
a436facfd0
Add fallback to estimateDelay() in getNetinfoRouteDelay()
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 12:44:26 +02:00
Clifford Wolf
62b66e0208
Rename getWireBelPin to getBelPinWire
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-22 10:59:21 +02:00
Eddie Hung
e92698f32e
Fix delay function used for update_budget()
2018-07-21 18:04:54 -07:00
Clifford Wolf
c6e4ad3227
Move common patterns from router1 to Context API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-22 02:16:03 +02:00
Clifford Wolf
1e96999863
clangformat
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-22 00:50:49 +02:00
Eddie Hung
5aa4cf2efb
Call now-more-flexibile update_budget() during routing, but using any actual delays that we have
2018-07-21 13:59:48 -07:00
Eddie Hung
926c186ec7
Add Arch::getBudgetOverride() to eliminate hack for COUT
2018-07-21 13:05:09 -07:00
Eddie Hung
e44dc25f09
Uncomment out negative slack messages during update_budget(), make verbose
2018-07-21 12:47:09 -07:00
Clifford Wolf
9e6deed3b8
Merge branch 'q3k/lock-2-electric-boogaloo' into 'master'
...
Basic locking and threading for Arch/GUI
See merge request SymbioticEDA/nextpnr!10
2018-07-21 19:45:24 +00:00
Clifford Wolf
30e2f0e1e8
Add Loc constructors
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 21:40:06 +02:00
Eddie Hung
31c9fd28fe
Merge remote-tracking branch 'origin/master' into redist_slack
2018-07-21 12:27:44 -07:00
Eddie Hung
1f6897733b
Merge branch 'redist_slack' into 'redist_slack'
...
# Conflicts:
# common/timing.cc
2018-07-21 19:03:23 +00:00
Sergiusz Bazanski
6588aafdb8
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo
2018-07-21 20:00:42 +01:00
Clifford Wolf
39b843ecac
Merge branch 'router1ng' into 'master'
...
Router1ng
See merge request SymbioticEDA/nextpnr!13
2018-07-21 17:59:44 +00:00
Clifford Wolf
c796b301d3
Bugfix in router1: Also bind src_wire
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 19:36:48 +02:00
David Shah
b2452f4646
HACK: set carry budgets to zero
2018-07-21 19:33:42 +02:00
Clifford Wolf
2f996e6a30
Add final sanity check in router1
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 17:54:47 +02:00
Clifford Wolf
41194d934b
Refactoring of router1
...
- Use source-sink pairs as jobs, not whole nets
- Route nets with smallest slack first
- Preserve routes for already routed source-sink pairs
- Add small incentive for re-using wires
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 17:02:53 +02:00
David Shah
80097526ee
Fix placement bug with VexRiscV reported by John McMaster
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-21 16:45:46 +02:00
Clifford Wolf
78f40ca0af
Change DelayInfo semantics to what we actually need
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 13:52:59 +02:00
Clifford Wolf
c556242976
Add getWireDelay API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 13:38:44 +02:00
David Shah
bbb140c699
Quick hack to route nets with lowest budget first
2018-07-21 11:52:41 +02:00
Eddie Hung
d23cdd6c06
Avoid hysteresis preventing placer from stopping
2018-07-21 11:19:06 +02:00
Eddie Hung
241418dc25
Add update_budget() to timing.h header
2018-07-21 11:19:06 +02:00
Eddie Hung
1cd5c9dac8
Update comment
2018-07-21 11:19:06 +02:00
Eddie Hung
3eecccc6f7
Avoid hysteresis preventing placer from stopping
2018-07-21 01:59:16 -07:00
Eddie Hung
f89115c3e3
Add update_budget() to timing.h header
2018-07-21 01:55:46 -07:00
Eddie Hung
27a79a3a4f
Update comment
2018-07-21 01:55:20 -07:00
Sergiusz Bazanski
0311a27a53
Use UI lock for yielding
2018-07-20 18:34:59 +01:00
Sergiusz Bazanski
76e5236fb3
Nuke IdStringDB
2018-07-20 18:24:16 +01:00
Sergiusz Bazanski
b5b956bd21
Remove dead code.
2018-07-20 17:57:16 +01:00
Clifford Wolf
fd8239e170
Add Location APIs to generic arch
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-20 18:09:22 +02:00
Clifford Wolf
f6fa0300ae
Improve iCE40 and common Loc code
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-20 17:33:57 +02:00
Clifford Wolf
e16b4a325e
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into gridapi
2018-07-20 17:13:26 +02:00
Sergiusz Bazanski
19f4b68f07
clang-format and uncomment debug
2018-07-20 13:19:56 +01:00
Sergiusz Bazanski
b4b111a053
Move pthread yield hack into BaseCtx
2018-07-20 13:15:22 +01:00
Sergiusz Bazanski
b84a446eef
Mix-in Deterministic RNG at Context instead of BaseCtx
2018-07-20 11:04:54 +01:00
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
David Shah
432fe52274
Remove dead code
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah
47566cf5e9
Improving SA placer performance
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah
2d993d8ee9
Very slow SA placer based on arachne-pnr
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah
32dcf6b3fe
Experimenting with more unplacing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah
104c2dad9b
Adding randomness and changes metrics to placer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah
828c96f80b
Updating placer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah
2f01ec5157
Update basic placer to use new API
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah
3ef45d2a27
Another heuristic experiment
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah
b1e08fa064
Playing about with placement heuristics
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
David Shah
6b74d326d4
experiment: Simple heuristic-based placer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-16 14:44:10 +02:00
Clifford Wolf
5d343a168b
Fix router for routing to the same dest wire twice
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-15 20:56:40 +02:00
Clifford Wolf
8c46cc2fce
Add output of estimated total wire delay to router (as metric for placement quality)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-14 19:13:14 +02:00
Clifford Wolf
66ced800d7
Increase ripup penalties over time
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-14 15:45:47 +02:00
Clifford Wolf
312699e590
Add route-ripup routing loop
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-14 15:09:13 +02:00
Clifford Wolf
7787ce5fd9
Refactor position/delay estimation API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-14 12:43:00 +02:00
David Shah
b1cbae1293
python: Clear SIGINT handler after Python loads
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-14 10:08:54 +02:00
Clifford Wolf
9b3af68e44
Improve router error reporting
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 18:28:02 +02:00
Clifford Wolf
3d5954f997
Improve router error messages
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 18:10:09 +02:00
Clifford Wolf
794fc6df60
Add support for CellInfo->pins in router
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 17:52:18 +02:00
Clifford Wolf
9eb4943bd5
Fix router error handling for unplaced cells
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 17:26:03 +02:00
Clifford Wolf
aa4fedfd54
Add A*-like optimizations to router
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 16:52:21 +02:00
David Shah
a76f5c5678
Remove IO buffers when fed by SB_IO
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-13 10:50:05 +02:00
Miodrag Milanovic
9953012154
reveresed logic for enabling main file, and made tests link arch files
2018-06-12 19:56:03 +02:00
David Shah
330d393c59
Fixing regression due to IDStrings
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 16:04:02 +02:00
Clifford Wolf
da33da5bc2
Minor clangformat changes
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-12 15:52:38 +02:00
Clifford Wolf
136ce3d18f
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
2018-06-12 15:51:51 +02:00
Clifford Wolf
9c275d0a65
Add fast IdString <-> PortPin conversion
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-12 15:50:33 +02:00
David Shah
b77a03d195
Minimal Python bindings for IdString
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 15:48:22 +02:00
Clifford Wolf
7e879953d6
Add proper fast IdString
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-12 15:37:28 +02:00
David Shah
6707b985b4
ice40: Add support for LC placement constraints in packer
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 15:13:50 +02:00
Clifford Wolf
a139654980
Add IdString API
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-12 15:08:01 +02:00
Clifford Wolf
d62e341d5a
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
2018-06-12 14:25:12 +02:00
Clifford Wolf
391d49c13e
Add nextpnr namespace
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-12 14:24:59 +02:00
David Shah
47eeda40bc
Implement the placement validity checker
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 13:45:59 +02:00
David Shah
2f61a9b98a
ice40: Start working on a packer, currently not tested
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 12:13:11 +02:00
David Shah
5f813410aa
ice40: Adding cell utilities for packing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 11:49:54 +02:00
David Shah
3ce32b6b1d
Adding some utilities for packing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-12 11:02:07 +02:00
Clifford Wolf
be73894bea
Add "nextpnr.h"
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-11 20:12:57 +02:00
Clifford Wolf
ac67482380
Remove pool, dict, vector namespace aliases
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-11 19:56:33 +02:00
Clifford Wolf
70f322ab44
Renamed LOC attribute to BEL, fix ice40 IO bel names
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-09 19:52:22 +02:00
David Shah
72f5e640af
Adding basic placement constraints
...
Specify the attribute (* LOC="bel_name" *) on any cell to constrain its
placement to that bel.
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-09 19:38:37 +02:00
Clifford Wolf
dfbfbf87db
Add very basic router
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-09 18:19:20 +02:00
Clifford Wolf
208d378322
Remove writing on sell types to cout (left over debug output?)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-09 15:20:13 +02:00
David Shah
57cd67dbc1
Improving the Python bindings, particularly the map/pair wrappers
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-08 15:53:24 +02:00
David Shah
c16a971c0f
python: Fixing builds as importable module
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-08 11:17:04 +02:00
David Shah
7f330af9f3
Reformat remaining files
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-08 11:04:02 +02:00
ZipCPU
4499864024
Applied clang-format to my own contributions
2018-06-07 15:38:24 -04:00
ZipCPU
a4f687548e
Adjusted info message names for rule-checker and parser
2018-06-07 12:04:01 -04:00
Clifford Wolf
37d2fc65b1
Fix placer build for dummy arch
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-07 17:50:36 +02:00
ZipCPU
c352f6536b
Moved placer definitions to place.h, main automatically runs placer now
2018-06-07 09:49:21 -04:00
ZipCPU
f32b9622d5
Initial (random) placer capability
...
This commit also includes changes to jsonparse to allow it to
1) recognize ports with no connection, and set their net pointers to NULL
2) recognize designs with a ports node rather than a ports_direction
The rule checker has also been modified to accommodate possible NULL netlists
The ice40 chip now also has iterator operations ++bi and bi++.
2018-06-07 09:38:14 -04:00
ZipCPU
1ed5c641c1
Merge branch 'master' into gqtech
2018-06-07 07:45:22 -04:00
David Shah
ed0c44891f
Replacing Boost type_traits with std
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 13:36:42 +02:00
David Shah
c3e0252703
Reformat Python bindings and ice40 main
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 13:10:53 +02:00
David Shah
9ebc879826
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
2018-06-07 12:59:41 +02:00
David Shah
b0e66d441c
Global design object working
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 12:57:52 +02:00
Clifford Wolf
1ea8fa4881
clang-format for design and chip codebase
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-07 12:56:49 +02:00
Clifford Wolf
2edde06c07
Fix clang-format include order issues
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-07 12:48:53 +02:00
David Shah
a5249da02d
Working on global Python design object
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 12:40:31 +02:00
David Shah
e576f71838
Developing Python bindings for Design and related types
2018-06-07 11:41:54 +02:00
David Shah
3769b20580
Adding Python to/from string wrappers for internal IDs
2018-06-07 09:47:00 +02:00
David Shah
bdd9313582
Allow loading and running Python files before GUI starts
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-07 08:56:54 +02:00
ZipCPU
109287ee90
Removed unused set of warnings from log.cc
2018-06-06 17:17:44 -04:00
David Shah
3a6e400f44
rulecheck.cc: Add missing return
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-06 21:14:42 +02:00
ZipCPU
16b9a2f1b5
Attempt to add JSON parser--not working yet w/ build system
2018-06-06 14:44:54 -04:00
ZipCPU
5e463b8543
Merge branch 'master' into gqtech
2018-06-06 12:21:04 -04:00
ZipCPU
468ed85280
Applied Rule Check to parser results, refactored JSON parser
2018-06-06 12:20:24 -04:00
Clifford Wolf
5ff9aafb20
Refactor Chip API and iCE40 database
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-06 15:13:41 +02:00
ZipCPU
d0ee08aeb1
Merge branch 'master' into gqtech
2018-06-06 07:55:18 -04:00
ZipCPU
2e6d0b752a
Removed erroneous BEL assignment in JSON parser
2018-06-06 07:49:35 -04:00
Miodrag Milanovic
7cb42f4368
Initial GUI work
2018-06-05 21:03:06 +02:00
ZipCPU
bd08f9e698
Removed the log_ dependencies from json-parser
2018-06-05 11:39:27 -04:00
ZipCPU
8b6f8382b8
Added some logging functions, borrowed from Yosys
2018-06-05 11:15:35 -04:00
ZipCPU
709ce3884d
Initial JSON parser
2018-06-05 09:01:26 -04:00
David Shah
3b78eda5d3
Add 'styles' to GraphicElement
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-04 13:30:20 +02:00
Clifford Wolf
eb3c89bee9
Replace GuiLine with GraphicElement
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-04 12:02:58 +02:00
David Shah
363ddd0f3c
Python bindings working on both architectures
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-02 13:48:28 +02:00
David Shah
d3f74eb056
Simple Python test working
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-02 13:48:28 +02:00