Commit Graph

603 Commits

Author SHA1 Message Date
Eddie Hung
266b761f41 Merge branch 'fix_budget_overrides' into assign_budget_speedup
Conflicts:
	common/timing.cc
2018-08-06 09:02:49 -07:00
Eddie Hung
8e8ba0293c Fix use of getBudgetOverride in Timing::follow_net() 2018-08-06 08:34:37 -07:00
Eddie Hung
665202e936 Merge branch 'assign_budget_evenly' into assign_budget_speedup
Conflicts:
	common/timing.cc
2018-08-06 07:35:00 -07:00
Eddie Hung
dc685f2061 Enhance slack histogram with '+' to indicate less-than-granularity 2018-08-06 07:29:42 -07:00
Eddie Hung
2fb934b107 clangformat 2018-08-06 07:19:32 -07:00
Eddie Hung
fa773c3ce9 Add net_delays bool to Timing class to control net delay consideration 2018-08-06 07:18:06 -07:00
Eddie Hung
9b414594d2 Unless slack_redist is enabled, ignore net delays so that budget gets evenly divided between all nets on path 2018-08-05 23:00:15 -07:00
Eddie Hung
f048deb33d Restore initial assign_budget() call after pack(), restrict call after initial_placement to slack_redist 2018-08-05 22:55:58 -07:00
Eddie Hung
e314ea761a WIP for new assign_budget() using topographical ordering 2018-08-05 22:38:54 -07:00
Miodrag Milanovic
9510c444c9 Disable menu options on json load 2018-08-05 18:02:33 +02:00
Clifford Wolf
6c8319e29a
Merge pull request #37 from YosysHQ/ngapi
API change: Use CellInfo* and NetInfo* as cell/net handles
2018-08-05 16:46:24 +02:00
David Shah
b3acd8095f timing: Fix slack histogram segfault with no paths
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-05 16:36:35 +02:00
David Shah
1ce0b5add2 API change: Use CellInfo* and NetInfo* as cell/net handles (Python bindings)
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-05 16:21:13 +02:00
Miodrag Milanovic
3bb9a7df01 Added command parser and common implementation 2018-08-05 16:13:34 +02:00
Clifford Wolf
5e53075990 API change: Use CellInfo* and NetInfo* as cell/net handles (common, ice40)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-05 15:25:42 +02:00
David Shah
ba97c233fb
Merge pull request #36 from YosysHQ/lutperm
Add LUT input permutations, improvements in ice40 timing model, improvements in router
2018-08-05 14:31:43 +02:00
Eddie Hung
8974ef3327 Slack histogram to use ps granularity via int(Arch::getDelayNS() * 1000) 2018-08-04 18:55:03 -07:00
Eddie Hung
76a7d67f74 Revert "Be cognisant that delay_t could be a non-integer type (if so, truncate to integer)"
This reverts commit b07f0eebc8.
2018-08-04 18:54:23 -07:00
Eddie Hung
b07f0eebc8 Be cognisant that delay_t could be a non-integer type (if so, truncate to integer) 2018-08-04 18:47:42 -07:00
Clifford Wolf
8aaf845670 Quick fix for router bug in unrouting a conflicting pip
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-04 17:23:46 +02:00
Clifford Wolf
bd36cc1275 Refactor ice40 timing fuzzer used to create delay estimates
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-04 13:41:42 +02:00
Clifford Wolf
af74f6e511 Add router1 cfg.useEstimate, improve getActualRouteDelay
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-04 11:57:34 +02:00
Eddie Hung
dced12cbd2 Merge branch 'master' into slack_histogram
Conflicts:
	common/timing.cc
2018-08-03 23:53:33 -07:00
Eddie Hung
0a14e20f73 Merge branch 'master' into slack_histogram
Conflicts:
	common/placer1.cc
2018-08-03 23:44:55 -07:00
Eddie Hung
d66edf5223 Merge branch 'master' into slack_redist_freq 2018-08-03 23:43:53 -07:00
Eddie Hung
45304d049f clangformat 2018-08-03 23:42:25 -07:00
Eddie Hung
be481cb130 Add crude histogram feature, printed after placement and routing 2018-08-03 23:39:42 -07:00
David Shah
2215ace1dc place_common: Remove excessively verbose debugging
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-04 08:19:27 +02:00
David Shah
082b8bf272 clangformat
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-04 08:18:04 +02:00
David Shah
176a23936c Tidy up
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-04 08:15:49 +02:00
Eddie Hung
85a436198c Remove space 2018-08-03 22:39:55 -07:00
Eddie Hung
ecb264d002 Refactor timing.cc into Timing class 2018-08-03 22:39:25 -07:00
Eddie Hung
3d5dcda12c Auto frequency only if --freq 0 is set 2018-08-03 19:53:32 -07:00
David Shah
b937e6defe Add constraint weight as a command line option
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 18:31:54 +02:00
David Shah
4a751d9aaf Add distance moved metrics, changing heuristics
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 18:14:09 +02:00
David Shah
aa8435df21 placer1: Experiment with adding 'constraint distance' metric
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 17:42:07 +02:00
David Shah
03c2d22fff place_common: Fixing accidental chain breakage
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 17:07:26 +02:00
David Shah
dc4ab55b27 Adding constraint satisfaction checks for debugging
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 16:59:45 +02:00
David Shah
fd2174149c Fixing constraint placement bugs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 16:29:44 +02:00
David Shah
8081249b92 place_common: Debugging bad relative constraint legalisation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 16:16:20 +02:00
David Shah
8c518cb838 Fixing relative constraint implementation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 15:40:01 +02:00
David Shah
60757a2dd7 place_common: Relative constraints working for basic example
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 15:25:43 +02:00
David Shah
48e06896a2 place_common: Fixing rel legaliser search bugs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 15:02:42 +02:00
David Shah
7e9209878c Reworking packer and placer to use new generic rel legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 15:00:32 +02:00
David Shah
e5dea28dbd place_common.cc: Working on constraint legalisation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 14:48:40 +02:00
David Shah
271979a3bc place_common: Helper functions for rel. constraints
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 13:18:48 +02:00
David Shah
26c68c4bcc Remove old place legaliser, set placement constraints instead (currently ignored by placer)
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 13:18:48 +02:00
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