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