David Shah
8e8c103b34
router1: Print route time
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-01-30 17:50:49 +00:00
David Shah
0ca0af6c72
placer1: Add place time print
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-01-30 17:50:49 +00:00
David Shah
cc53c312de
timing: Path related fixes
...
Signed-off-by: David Shah <dave@ds0.me>
2019-01-27 16:45:37 +00:00
David Shah
7f69c0f455
command: Setup logging before attempting to create Context
...
This way errors (such as an invalid package type) occurring
during Context creation are printed properly.
Signed-off-by: David Shah <dave@ds0.me>
2018-12-26 16:05:12 +00:00
David Shah
f21791fe22
common/chain_utils: Don't allow overlapping chains
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-12-19 10:36:55 +00:00
David Shah
f4d4244534
timing: Fix critical path print
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-13 12:10:18 +00:00
David Shah
e8c03a0dd7
timing_opt: Fix generic build
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-12-07 23:51:09 +01:00
David Shah
b732e42fa3
timing_opt: Reduce iterations to 30, tidy up logging
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 11:00:16 +00:00
David Shah
56dfd5564a
timing: Fix xclock crit calc and compiler warnings
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
2b84b33cd6
timing_opt: Reduce search diameter to 2
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
745960fa85
timing_opt: Neighbour related fixes
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
f53dc8d3c9
timing_opt: Improve heuristics
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
a990a1576c
timing_opt: Fix criticality and cost calculations
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
0f40e5fe8c
timing: Fixes to criticality calculation
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
254c5ea359
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
e1c74ad3db
timing_opt: Fixes including single-move legality
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
b51308708b
timing_opt: Debugging and integration
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
1b7214a18a
timing_opt: Implement the BFS-based path optimisation
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
51a662d37e
timing_opt: Implement critical path finder
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
cd9a65a84c
timing_opt: Neigbour bel validity checking
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
2de506c071
timing_opt: Functions to calculate arc delay limits
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
83e3277577
timing_opt: Implement neighbour Bel finder
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
David Shah
9a42b64a68
timing: Add criticality calculation to timing analysis
...
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:53:01 +00:00
Miodrag Milanovic
a6315833d3
Renamed LogLevel members, to prevent issue with system defines on Windows
2018-12-05 19:58:38 +01:00
David Shah
90138fc120
rulecheck: Improve message printed at start
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-29 19:28:15 +00:00
Miodrag Milanovic
0b5748a7af
Fix compile on GCC 5.5 or older
2018-11-27 19:20:15 +01:00
David Shah
4a44bc569a
Print warning and error count at end of execution
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-26 19:14:38 +00:00
David Shah
0adc0d7529
timing: Improve clock constraint log output
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-26 18:56:10 +00:00
Sylvain Munaut
822b525035
placer1: During initial placement, don't rip-up strongly binded cells
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2018-11-26 12:51:14 +01:00
David Shah
fe670cf3f6
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-26 09:37:39 +00:00
David Shah
22ac41d627
Merge pull request #138 from YosysHQ/refactor_log
...
Tidy up logging code, add log file support, make timing failures non-fatal errors
2018-11-26 09:37:07 +00:00
David Shah
98858fe611
Merge pull request #139 from YosysHQ/fix_117
...
router1: Fix unrouted, undriven nets
2018-11-26 09:36:58 +00:00
David Shah
b035cb9fcf
Add nonfatal error support and use for timing failures
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-26 09:22:42 +00:00
David Shah
65a5d05952
python: Fixes to get net wires map working
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-22 13:42:20 +00:00
David Shah
e48c9e73e7
python: Add wrapper for vectors to allow Python access to net.users
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-22 12:35:07 +00:00
David Shah
1731590160
Merge pull request #122 from YosysHQ/ecp5_timing
...
ecp5: Use cell and pip timings from the Trellis database
2018-11-22 11:55:25 +00:00
David Shah
8471d4249c
router1: Fix unrouted, undriven nets
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-21 17:23:20 +00:00
David Shah
51d1363dfe
Change the log level of some timing-related messages
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-21 17:13:53 +00:00
David Shah
b550791d92
Refactor log code and add log file support
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-21 17:08:45 +00:00
Clifford Wolf
b5d518583e
Add missing router1 ctx->yield() calls
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-20 18:58:15 +01:00
David Shah
0fb7735e45
Merge pull request #130 from smunaut/issue_127
...
common/placer1: In random pick, only use grid if there is more than 64 BELs
2018-11-20 10:11:21 +00:00
Maik Merten
e167043e73
add "randomize-seed" command-line option
2018-11-19 19:45:12 +01:00
Sylvain Munaut
d6fd0e7e5b
common/placer1: In random pick, only use grid if there is more than 64 BELs
...
If you have a large grid and very few BELs of a given type, picking a
random grid location yields very little odds of finding a BEL of that
type.
So for those, just put all of them at (0,0) and do a true random pick.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2018-11-19 18:52:40 +01:00
David Shah
72b53016c0
timing: Improve crit path statistics
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 16:24:06 +00:00
David Shah
1ae722272a
ecp5: clangformat timing changes
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:27:03 +00:00
David Shah
50b85da619
ecp5: Use speed-grade-specific delay estimate
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:26:28 +00:00
David Shah
13244e513b
ecp5: Fix db import, improve timing data debugging
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:26:28 +00:00
David Shah
9c52afcf5f
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:25:51 +00:00
Eddie Hung
e1d2c595a1
Improve message spacing
2018-11-14 18:27:43 -08:00
Eddie Hung
06ddb632d1
Merge remote-tracking branch 'origin/master' into timingapi
2018-11-14 17:59:21 -08:00
David Shah
adc50a207f
Timing fixes
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-11-14 08:46:10 +00:00
Eddie Hung
df2622d300
[placer1] Only perform slack redist if legalised
2018-11-13 16:33:01 -08:00
Eddie Hung
1b93107843
[placer1] Only increase temperature if legaliser moved something
2018-11-13 16:33:01 -08:00
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
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