Eddie Hung
cab91b035b
[common] Fix 'after after'
2018-11-13 16:33:01 -08:00
Eddie Hung
6527e3b6ae
[common] Fix typo in Loc::operator!=()
2018-11-13 16:33:01 -08:00
Eddie Hung
519bcd31bf
[placer1] Fix require_legal polarity
2018-11-13 16:33:01 -08:00
Eddie Hung
42d1990784
[timing] Path report to include pips when --verbose set
2018-11-13 16:32:06 -08:00
Eddie Hung
9f13bc7eb0
[timing] Crit path report to print out edges
2018-11-13 14:14:51 -08:00
Eddie Hung
4134bfa78e
[timing] Resolve another merge conflict
2018-11-13 12:12:26 -08:00
Eddie Hung
2d39cde17b
Merge remote-tracking branch 'origin/master' into timingapi
2018-11-13 12:12:11 -08:00
Eddie Hung
3b2b15dc4a
Merge pull request #107 from YosysHQ/router_improve
...
Major rewrite of "router1"
2018-11-13 11:39:51 -08:00
Clifford Wolf
d0ae4c77be
Merge pull request #105 from YosysHQ/placer1_tmg_ignore
...
[placer1] Ignore timing of TMG_IGNORE nets
2018-11-13 18:48:59 +01:00
Eddie Hung
7402a4b955
[placer1] Tidy up logic
2018-11-13 09:26:28 -08:00
Clifford Wolf
caca485cff
Minor router1 debug log improvements
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-13 17:30:49 +01:00
Clifford Wolf
51b09f2407
Improve router1 debug output, switch to nameOf APIs
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-13 16:29:33 +01:00
Clifford Wolf
e06eef375c
Add more nameOf() convenience methods
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-13 16:08:44 +01:00
Clifford Wolf
06e0e1ffee
Various router1 fixes, Add BelId/WireId/PipId::operator<()
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-13 05:05:56 +01:00
David Shah
ba7a7a3733
timing: Fix compile warning
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
fc5e6bec9a
timing: Add support for clock constraints
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
8af86ff37d
ecp5: Update arch to new timing API
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
bd2b3e5e02
timing: Fix Fmax for clocks with mixed edge usage
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
07e265868b
archapi: Add getDelayFromNS to improve timing algorithm portability
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
e633aa09cc
timing: Fix handling of clock inputs
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
fad69d4930
timing: Don't include false startpoints in async paths
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
cba9b528e8
timing: Improve Fmax output and print cross-clock paths
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
143abc6034
timing: Multiple clock analysis
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
9687f7d1da
Working on multi-clock analysis
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
3ca02cc55c
Working on adding multiple domains to timing analysis
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
b6312abc5d
timing: Implementing parts of new timing API
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-11-12 14:03:58 +00:00
David Shah
83b1c43630
timing: Working on a timing constraint API
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-11-12 14:03:58 +00:00
David Shah
e0fe523606
Fix router1 check for ECP5
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 11:23:31 +00:00
Eddie Hung
7af788f9e3
[timing] Fix combinational -> combinatorial
2018-11-11 13:49:09 -08:00
Eddie Hung
32517dfb04
[timing] Better messaging for failed timing analysis, allow --force to
...
continue
2018-11-11 13:23:00 -08:00
Clifford Wolf
6002a0a80a
clangformat
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 19:48:15 +01:00
Clifford Wolf
f9a5126338
Another router1 bugfix
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 17:50:42 +01:00
Clifford Wolf
f93129634b
Add getConflictingWireWire() arch API, streamline getConflictingXY semantic
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 17:28:41 +01:00
Clifford Wolf
ee8826b6e8
Ignore "duplicate" arcs in the same net in router1
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 12:16:25 +01:00
Clifford Wolf
dac553cab4
Add some additional checks to router1 to find issues in input netlist
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 12:04:02 +01:00
Clifford Wolf
d2bdb670c0
Add getConflictingPipWire() arch API, router1 improvements
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 11:34:38 +01:00
Clifford Wolf
285bffeac5
Another bugfix in router1
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 10:11:55 +01:00
Clifford Wolf
5cc9b9f61f
Bugfix in router1
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 10:02:32 +01:00
Eddie Hung
78b684bcf8
[placer1] Actually check for TMG_IGNORE!
2018-11-10 22:30:35 -08:00
Eddie Hung
200fb3f664
[placer1] Ignore timing of TMG_IGNORE nets
2018-11-10 20:05:36 -08:00
Clifford Wolf
e7ae28cafe
Minor improvements in router1
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 00:29:25 +01:00
Clifford Wolf
5b8c8bb966
Some router1 cleanups
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-10 23:50:49 +01:00
Clifford Wolf
d904a37138
flush logs when throwing an assertion_failure
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-10 23:50:08 +01:00
Clifford Wolf
6b94102e5a
Add checkers and assertions to router1 and other improvements
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-10 21:14:50 +01:00
Clifford Wolf
97070486f0
Fixes and cleanups in router1
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-10 14:00:36 +01:00
Clifford Wolf
c780ce584a
Fix log msg typo
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-09 23:03:14 +01:00
Clifford Wolf
e312fc79bc
Improve router console output
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-09 22:59:23 +01:00
Clifford Wolf
f0a3a272ca
Fixes and improvements in new router
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-09 22:39:39 +01:00
Clifford Wolf
aeaa0552ba
Essentially a rewrite router1
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-09 17:00:45 +01:00
Clifford Wolf
66dd17664c
Merge branch 'master' of github.com:YosysHQ/nextpnr into router_improve
2018-11-09 12:57:14 +01:00
Eddie Hung
8258586c7d
[common] placer to produce error when >1 cell->bel constraint
2018-11-08 16:21:31 -08:00
Mateusz Zalega
d03291eeb1
gui: improved FPGAViewWidget::paintGL() performance
...
Profiling revealed that memcpy() in QOpenGLBuffer::allocate() had been taking
the most time during paintGL() calls. I've been able to take the CPU usage
down to about 1/4 of its previous values by caching elements in VBOs and
updating them only after subsequent calls to renderGraphicElement().
Signed-off-by: Mateusz Zalega <mateusz@appliedsourcery.com>
2018-10-23 15:43:51 +02:00
David Shah
cdc9e0e81c
Merge pull request #92 from YosysHQ/python-cmdline
...
Allow running Python scripts for all points in flow
2018-10-21 10:08:04 +01:00
David Shah
b53a4862db
Merge pull request #89 from YosysHQ/ecp5_bram
...
ECP5 BRAM support
2018-10-17 11:14:27 +01:00
David Shah
7c9ab173da
common: Allow running Python scripts for all points in flow
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-17 10:51:23 +01:00
David Shah
228cbf77d0
placer: Fix conflicts during constraint legalisation
...
Signed-off-by: David Shah <dave@ds0.me>
2018-10-11 11:50:56 +01:00
Eddie Hung
96efe48847
Merge pull request #88 from YosysHQ/issue72
...
Resolve issue #72
2018-10-11 02:54:19 -07:00
David Shah
9ebec3b87f
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 18:20:14 +01:00
David Shah
c8a9bb807c
ecp5: Debugging DRAM packing
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 17:45:35 +01:00
David Shah
a4ac174ccb
design_utils: Adding some design helper functions
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 15:43:02 +01:00
David Shah
d770eb672f
ecp5: Helper functions for distributed RAM support
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-10-01 15:23:12 +01:00
David Shah
a27c7b45de
Refactor chain finder to its own file
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 16:29:26 +01:00
David Shah
6afc2c75fd
ecp5: Adding carry helper functions
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 15:13:31 +01:00
David Shah
ea03aafc26
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 15:13:18 +01:00
David Shah
2e7aeaef97
Merge pull request #81 from YosysHQ/ecp5_globals
...
Adding a simple ECP5 global network router
2018-09-30 13:31:27 +01:00
David Shah
0e0ad26f07
ecp5: Use ArchNetInfo to mark global nets to ignore
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 19:31:49 +01:00
David Shah
c5f9a12bb1
ecp5: Global router produces a working bitstream
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-29 17:36:08 +01:00
Miodrag Milanovic
bbfe0f969d
Make warnings visible in quiet mode
2018-09-19 19:28:34 +02:00
Eddie Hung
8749327f1e
[timing] Restore and skip false startpoints
2018-09-15 15:17:37 -07:00
Clifford Wolf
e91241f10d
Dispose of far too long routes earlier (use 3x est. delay as limit)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-09-04 17:55:43 +02:00
Serge Bazanski
b8db177612
Merge pull request #66 from YosysHQ/issue65
...
Fix for min_slack == max_slack => bin_size == 0
2018-08-26 17:14:34 +01:00
Eddie Hung
32a4c5bd79
Fix for min_slack == max_slack => bin_size == 0
2018-08-22 09:24:30 -07:00
Clifford Wolf
26be6f9761
Merge pull request #47 from YosysHQ/settings_propagate
...
Use settings for placer1 and router1
2018-08-18 19:25:19 +02:00
Clifford Wolf
a8ca33a33a
Add stringf() helper function
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-18 14:13:27 +02:00
Miodrag Milanovic
eaf824ca73
Use emplace result for get,set of settings
2018-08-12 10:02:32 +02:00
Miodrag Milanovic
b400cd8d73
Read settings and check validity
2018-08-11 13:04:51 +02:00
Eddie Hung
fc0496ec71
Merge remote-tracking branch 'origin/master' into placer_speedup
2018-08-10 19:51:35 -07:00
Miodrag Milanovic
e5006d4f2f
Save settings and give nicer names to some
2018-08-10 19:11:30 +02:00
Eddie Hung
ded8308683
std::vector::resize() not reserve()
2018-08-09 21:03:07 -07:00
Eddie Hung
1514903ea9
Get rid of map lookup by borrowing udata to use as index into vector
2018-08-09 20:45:20 -07:00
Eddie Hung
e419b34027
Try with vector
2018-08-09 19:10:50 -07:00
Miodrag Milanovic
93a0d24560
Use settings for placer1 and router1
2018-08-09 18:39:10 +02:00
Miodrag Milanovic
8b04a64629
Fix compile warning
2018-08-09 17:34:57 +02:00
Miodrag Milanovic
0696d62358
Expose log_always that will be displayed disregarding quite flag
2018-08-09 13:35:18 +02:00
Miodrag Milanovic
6b6a0c6d3c
Added quiet mode for logging
2018-08-09 13:28:21 +02:00
Miodrag Milanovic
8420cb4c80
Fix MSVC compile
2018-08-09 11:00:24 +02:00
David Shah
ed602baa06
Merge pull request #42 from YosysHQ/floorplan
...
Add basic data structures for floorplanning
2018-08-09 10:49:11 +02:00
Clifford Wolf
5ddde5c49f
Add pip locations
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-09 10:39:53 +02:00
Clifford Wolf
a9b6543361
Add Region struct
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-09 10:39:53 +02:00
Miodrag Milanovic
5dd7a74b87
Make loading works nice and use settings
2018-08-08 21:15:54 +02:00
Miodrag Milanovic
61bce47f3c
Use settings for json and pcf
2018-08-08 20:14:18 +02:00
Clifford Wolf
f6189e4677
Merge branch 'master' of github.com:YosysHQ/nextpnr into constids
2018-08-08 19:35:13 +02:00
David Shah
cd4e761bb7
Merge pull request #44 from YosysHQ/improve_timing_spec
...
Speed up budget allocator using topographical ordering and update cell timing API
2018-08-08 19:23:47 +02:00
Clifford Wolf
2390f7f59c
Add ctx->settings
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-08 18:46:33 +02:00
Miodrag Milanovic
46aa56021b
Moved option to common
2018-08-08 18:34:12 +02:00
Miodrag Milanovic
fc5cee6fb8
clangformat
2018-08-08 18:17:34 +02:00
David Shah
3e11ba8afb
timing: Remove unused variable
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 17:55:54 +02:00
David Shah
8e593fb471
timing: Update to use getDelayNS
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 17:54:25 +02:00
Eddie Hung
03575a2a7a
One more breadcrumb
2018-08-08 08:32:17 -07:00
Eddie Hung
91023d2a0e
Leave comment behind about removing false paths
2018-08-08 08:31:08 -07:00
David Shah
90e3db324e
clangformat
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 17:07:20 +02:00
Eddie Hung
936b52eafc
Unfurl comments for clangformat
2018-08-08 08:01:24 -07:00
Clifford Wolf
e03ae50e21
Get rid of PortPin and BelType (ice40, generic, docs)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-08 17:01:18 +02:00
Eddie Hung
d21e5a4b10
Disable assign_budget() after placement legalisation, unless slack redist
2018-08-08 07:58:01 -07:00
Eddie Hung
acd2a92b03
Merge branch 'master' into improve_timing_spec
2018-08-08 07:57:30 -07:00
Eddie Hung
fca01f5447
Also include TMG_GEN_CLOCK as a timing startpoint
2018-08-08 07:49:07 -07:00
David Shah
d173ddba36
timing: Debugging implementation of new timing API
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 15:15:21 +02:00
David Shah
d8b3830031
timing: Update to new use API (currently broken)
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 14:58:43 +02:00
David Shah
bf42e525cb
Arch API: New specification for timing port classes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 14:37:59 +02:00
Miodrag Milanovic
4a44b1c961
sync with master
2018-08-08 10:51:49 +02:00
Miodrag Milanovic
5df90bc5a5
Merge remote-tracking branch 'origin/master' into common_main
...
# Conflicts:
# ecp5/main.cc
# ice40/main.cc
2018-08-08 10:48:05 +02:00
David Shah
a0994d5154
common: Add TimingPortClass
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 10:44:42 +02:00
David Shah
8553573d24
place_common: Fix illegal cells left after relative constraint legalisation
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-07 11:01:48 +02:00
Eddie Hung
a1d626469f
Cleanup nesting
2018-08-06 19:53:42 -07:00
Eddie Hung
676500b83f
Do less work if update flag is false
2018-08-06 17:42:44 -07:00
Eddie Hung
f44a5fb904
clangformat
2018-08-06 17:35:23 -07:00
Eddie Hung
483f863106
Also add PLL outputs as timing startpoints
2018-08-06 17:20:29 -07:00
Eddie Hung
f3e46df709
Remove old timing code
2018-08-06 16:09:17 -07:00
Eddie Hung
06584f2e74
Compute critical path report
2018-08-06 14:14:41 -07:00
Eddie Hung
519b755acb
Add comments
2018-08-06 13:12:24 -07:00
Eddie Hung
1b9a664bb1
Merge branch 'master' into assign_budget_speedup
2018-08-06 12:30:24 -07:00
David Shah
4f79b32c96
Merge pull request #39 from eddiehung/slack_histogram
...
Improve slack histogram clarity
2018-08-06 21:26:09 +02:00
Eddie Hung
95163ae1d0
Add name to copyright header
2018-08-06 12:14:00 -07:00
Eddie Hung
daedf73291
Use new Arch::isIOCell() function in Timing
2018-08-06 12:12:03 -07:00
Eddie Hung
3f5c0373a5
Consider clocked cells with COUT, consider constant nets
2018-08-06 12:03:58 -07:00
Miodrag Milanovic
fffaaa613f
Added project loader
2018-08-06 19:32:17 +02:00
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