David Shah
9e6770af90
command: Use new frontend experimentally
...
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:30 +00:00
David Shah
6aaa9f5a3d
frontend/base: Functions for port import
...
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:29 +00:00
David Shah
fffc3b8447
frontend/base: Top module handling
...
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:29 +00:00
David Shah
89e15d488a
HeAP: fix region constraint handling
...
Signed-off-by: David Shah <dave@ds0.me>
2019-12-01 14:18:10 +00:00
David Shah
4916eb9bb1
HeAP: more realistic timeout threshold
...
Signed-off-by: David Shah <dave@ds0.me>
2019-11-26 21:45:46 +00:00
David Shah
523ed4cfb2
HeAP: improve error handling when stuck
...
Signed-off-by: David Shah <dave@ds0.me>
2019-11-26 10:16:27 +00:00
David Shah
75f403db60
HeAP: support for bel region constraints
...
Signed-off-by: David Shah <dave@ds0.me>
2019-11-26 10:01:33 +00:00
David Shah
f28186bb1b
timing: Fix critical path walking for ECP5
...
Signed-off-by: David Shah <dave@ds0.me>
2019-11-18 21:34:32 +00:00
David Shah
f2b9cc6d23
sdf: Working on support for CVC
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-24 12:37:07 +01:00
David Shah
8343488bdf
sdf: Improve SDF output
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-24 10:43:18 +01:00
David Shah
4775930e49
sdf: Add basic support for writing SDF files
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-19 19:20:02 +01:00
David Shah
c0484a317d
sdf: Framework for writing out SDF files
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-19 16:08:11 +01:00
David Shah
cf5cbd1153
ecp5: Preserve top level IO properly
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-18 15:58:57 +01:00
David Shah
c6401413a4
ecp5: Add support for IO registers
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-09 14:23:35 +01:00
David Shah
cb8d90bcbf
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2019-10-01 12:01:24 +01:00
David Shah
5cd2b55f1f
python: Adding helper functions for netlist modification
...
Signed-off-by: David Shah <dave@ds0.me>
2019-09-15 19:30:56 +01:00
David Shah
d5e4986e1b
python: Refactor out bindings shared between ECP5 and iCE40
...
Signed-off-by: David Shah <dave@ds0.me>
2019-09-15 16:15:07 +01:00
David Shah
95540763b9
json: Add support for net aliases
...
Signed-off-by: David Shah <dave@ds0.me>
2019-09-13 17:27:15 +01:00
David Shah
fba7c2caef
timing: Improve support for out-of-context flows
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-07 16:51:29 +01:00
David Shah
661237eb64
ecp5: Add --out-of-context for building hard macros
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-07 14:22:47 +01:00
David Shah
ec48f8f464
ecp5: New Property interface
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-05 17:22:37 +01:00
David Shah
1839a3a770
Major Property improvements for common and iCE40
...
Signed-off-by: David Shah <dave@ds0.me>
2019-08-05 14:52:15 +01:00
Miodrag Milanovic
bd694bda19
Switching from std to boost fix crash
2019-07-05 10:22:42 +02:00
Miodrag Milanovic
831c7f2ef1
Speedup critical path
2019-06-28 13:43:55 +02:00
Miodrag Milanovic
be47fc3e9a
clangformat run
2019-06-25 18:19:25 +02:00
Miodrag Milanovic
ec47ce2320
Merge master
2019-06-25 18:14:51 +02:00
David Shah
fa77a5ae4a
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2019-06-24 11:43:01 +01:00
David Shah
e5c21afc7c
timing: Add missing std::min
...
Signed-off-by: David Shah <dave@ds0.me>
2019-06-23 15:01:58 +01:00
Miodrag Milanovic
92da4a91de
Preserve ports
2019-06-21 09:43:47 +02:00
Miodrag Milanovic
ff257a0929
default placement only if not set
2019-06-15 15:35:23 +02:00
Miodrag Milanovic
226885a58f
use save seed
2019-06-15 15:31:18 +02:00
Miodrag Milanovic
8d5724f4fd
moved some context variables to settings
2019-06-15 15:23:51 +02:00
Miodrag Milanovic
95280060b8
No need for settings class
2019-06-15 13:09:49 +02:00
Miodrag Milanovic
66ea9f39f7
enable lading of jsons and setting up context
2019-06-14 15:18:35 +02:00
Miodrag Milanovic
0d8c80ad5d
gui for json write and proper statuses
2019-06-14 11:14:18 +02:00
Miodrag Milanovic
03dff10cbd
Load properties from json and propagate to context create
2019-06-13 20:42:11 +02:00
Miodrag Milanovic
4de147d9e4
Save settings that we saved in project
2019-06-13 18:39:16 +02:00
Miodrag Milanovic
c760b03261
Cleanup
2019-06-13 18:18:16 +02:00
Miodrag Milanovic
1cd4a4d17a
Remove concept of project and code connected
2019-06-13 17:42:41 +02:00
Miodrag Milanovic
856760599e
Use properties for settings and save in json
2019-06-12 18:34:34 +02:00
Miodrag Milanovic
d9b0bac248
Save top level attrs and store current step
2019-06-07 16:11:11 +02:00
Miodrag Milanovic
ef1a5fa606
Save/restore net strength
2019-06-07 14:31:13 +02:00
Miodrag Milanovic
5b62f33dd5
Restore routing from json
2019-06-07 14:23:57 +02:00
Miodrag Milanovic
78e6631f76
Cleanup
2019-06-07 13:49:19 +02:00
Miodrag Milanovic
a8871ea8aa
Cleanup and fixes, flow works now
2019-06-07 13:19:11 +02:00
Miodrag Milanovic
1093d7e122
WIP saving/loading attributes
2019-06-07 11:48:15 +02:00
whitequark
f3339961fe
Fix missing \n in log statement.
2019-06-04 13:15:23 +00:00
Miodrag Milanovic
44d6f16b66
Support ecp5 read write additional cell info
2019-06-03 21:01:05 +02:00
Miodrag Milanovic
82ed1803c7
use NEXTPNR_BEL, since BEL is initial placement
2019-06-02 18:38:20 +02:00
Miodrag Milanovic
7c65da417b
Read constraints and placing from file
2019-06-02 17:33:37 +02:00
Miodrag Milanovic
d0273f7faa
option to disable packing
2019-06-02 10:01:20 +02:00
Miodrag Milanovic
5c47b6034e
added no-place and no-route options
2019-06-02 09:13:19 +02:00
Miodrag Milanovic
bab6c9a09f
Proper save message
2019-06-02 08:50:48 +02:00
Miodrag Milanovic
d5d8213871
Added support for attributes/properties types
2019-06-01 15:52:32 +02:00
Miodrag Milanovic
5013724c0a
Solve issue with nets/cells not visible on load
2019-06-01 10:27:01 +02:00
Miodrag Milanovic
545068dec4
Initial work on jsonwrite
2019-05-31 11:09:13 +02:00
Miodrag Milanovic
2ea1ccf2e6
Added explanation, fixes issue #278
2019-05-27 19:10:50 +02:00
Miodrag Milanovic
9b8d3b7546
option to disable anti aliasing in gui
2019-05-25 08:42:17 +02:00
David Shah
12f375a239
ecp5: Fix USRMCLK primitive
...
Signed-off-by: David Shah <dave@ds0.me>
2019-05-10 18:51:45 +01:00
David Shah
5344bc3b65
Merge pull request #261 from YosysHQ/pygeneric
...
Python API for generic architecture
2019-04-19 17:40:55 +01:00
David Shah
9fa13b5adc
pybindings: make errors in Python scripts stop nextpnr execution
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-17 11:12:58 +01:00
David Shah
90ceb829f3
pybindings: Fix use of import in user scripts
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-17 10:57:19 +01:00
Alyssa Milburn
c1cc356bb0
timing_opt: Add locks to optimise()
...
Signed-off-by: Alyssa Milburn <amilburn@zall.org>
2019-04-16 16:03:12 +02:00
David Shah
cfcd657e32
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-08 18:08:39 +01:00
David Shah
ad9bc627e6
placer1: Check correctness of incremental updates with --debug
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-08 18:08:26 +01:00
David Shah
65b2a76159
placer1: Improve incremental bounding box updates
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-07 15:55:07 +01:00
David Shah
f0cd51e6bc
generic: Cell timing support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-04 16:34:06 +01:00
David Shah
6fffe24177
generic: GUI Python bindings
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-03 16:08:33 +01:00
Janos Farkas
587b022b0a
common: avoid std::ofstream copy
...
Using a copy constructor to set the logfile is the only thing that
stops compilation with the libstdc++ shipping with gcc 4.8 (maybe 4.7)
2019-04-02 16:39:21 +00:00
David Shah
32327b761a
generic: Simple working example
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah
50fd8aa01f
generic: Place a single SLICE
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah
30f0c582e4
python: Named argument support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah
f5bfd557b6
python: Infrastructure for generic arch Python API
...
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah
db152b332b
HeAP: Don't call Eigen if system is empty
...
Fixes #259
Signed-off-by: David Shah <dave@ds0.me>
2019-04-01 12:18:02 +01:00
whitequark
818165031c
Fix broken header guard
2019-03-25 19:32:58 +00:00
David Shah
25e3350675
HeAP: Make log output more consistent
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-25 15:39:15 +00:00
David Shah
49e827a9b4
HeAP: Add missing newline
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-25 12:41:25 +00:00
David Shah
efc6872341
placer1: Restore old weighting in budget-based mode
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-24 13:59:27 +00:00
David Shah
00b09fbb43
HeAP: Per-iteration output all on one line
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-24 11:18:38 +00:00
David Shah
02ae21d8fc
Add --placer option and refactor placer selection
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-24 11:10:20 +00:00
David Shah
52e05f4a07
placer1: Fix regression moving chained cells pre-legalise
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-23 23:15:05 +01:00
David Shah
23f2fff1c8
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:39:05 +00:00
David Shah
801675a2c6
placer1: Only get criticalities when in timing-driven mode
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
f8a38c59f8
common: Add early return path to getNetinfoRouteDelay for fully unrouted nets
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
bd12c0a486
HeAP: Add PlacerHeapCfg
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
7142db28a8
HeAP: Make HeAP placer optional
...
A CMake option 'BUILD_HEAP' (default on) configures building of the
HeAP placer and the associated Eigen3 dependency.
Default for the iCE40 is SA placer, with --heap-placer to use HeAP
Default for the ECP5 is HeAP placer, as SA placer can take 1hr+ for
large ECP5 designs and HeAP tends to give better QoR. --sa-placer can
be used to use SA instead, and auto-fallback to SA if HeAP not built.
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
1c824709e2
HeAP: Switching from TAUCS to Eigen
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:54 +00:00
David Shah
589b267a93
HeAP: Fix regression
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:54 +00:00
David Shah
8e4e03d980
HeAP: Fix occupancy count
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:54 +00:00
David Shah
6cf001d355
HeAP: Legaliser fixes
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
352f15e96b
HeAP: Avoid getting stuck in legaliser ripup
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
70a6379bf6
HeAP: Chain support
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
2e2f44c82e
HeAP: tidying up
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
fb02fc69c6
HeAP: Make strict legalisation wirelength driven where needed
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
8295f997ae
HeAP: Use for ECP5 as well as iCE40
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
ba1e05f16b
HeAP: Implement 'all+rotate' HeAP strategy
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
3dedc62593
HeAP: Weight arcs by criticality for timing-driven placement
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
05e9ae183d
HeAP: Add multithreading
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
eb638c47b3
HeAP: fine tuning
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
2a0c117662
HeAP: Add performance counters
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
f3d9b45387
HeAP: Add SA-based iterative refinement after AP
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
0570cb7ae9
HeAP: Spreading working acceptably
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
030b02588b
HeAP: Make cut-based spreading recursive
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
b483008cdf
HeAP: Cut peturbation, binning and intra-bin linear spreading
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
8a791e8309
HeAP: Cut finder for spreading
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
4d2906378f
HeAP: Region finder for spreading and strict legaliser
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
d1808c2594
HeAP: Fix how initial placement handles chains
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
d5cfd38179
HeAP: Successful solver convergance
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
ea56dc9d08
HeAP: Add TAUCS wrapper and integration
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
e36460b83e
HeAP: Initial infrastructure
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
4cf8549f5c
placer1: Legalise after reaching a diameter, not temperature
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
9cd5980d35
placer1: Add (currently-unused) option for fanout threshold for timing cost calc
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:54 +00:00
David Shah
bd0a33022b
placer1: Implement non-timing-driven mode
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:54 +00:00
David Shah
0118ac00c4
placer1: Improve handling of regions
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
a8289b699f
pycontainers: Implement __contains__
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
493d6c3fb9
Add Python helper functions for floorplanning
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
ae33ff397f
placer1: Consider regions during placement
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
ade72de02f
placer1: Optimise for performance
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
0cb351df52
placer1: New temperature heuristic
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
222abb5be2
placer1: Encourage chain swaps
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:54 +00:00
David Shah
c926b273de
placer1: Tweaks
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:54 +00:00
David Shah
23306c163f
placer1: Allow chain position swaps after legalisation
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:54 +00:00
David Shah
3650c8a0e7
placer1: Tweaking temperature
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:54 +00:00
David Shah
0d80181c5e
placer1: Make budget-based placement an option
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:28 +00:00
David Shah
a218c27305
placer1: Tuning
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:28 +00:00
David Shah
3938ea41fc
placer1: Fix cost delta calculation
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-03-22 10:31:28 +00:00
David Shah
2ef2d2b2cb
placer1: Bugfixes
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:28 +00:00
David Shah
f8f89cea71
placer1: Rework to use new criticality-based weighted cost function
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:00 +00:00
David Shah
3e40f0b9c3
placer1: New cost calculation infrastructure
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:29:59 +00:00
David Shah
997a66791e
json: Fix inputs directly driving inouts
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-20 16:07:47 +00:00
Miodrag Milanovic
0bcf57bd47
Add flag timing-allow-fail to allow PnR to pass with warning
2019-03-04 12:29:19 +01:00
David Shah
89de4caf6c
timing: Fix negative slack overflow issue
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +00:00
David Shah
55b0b60d9d
ecp5: Router performance improvements
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-25 11:49:25 +00:00
David Shah
e50ab2106f
ecp5: Fixes for litedram
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
David Shah
817ba5a4b9
ecp5: Add DELAYF/DELAYG support
...
Signed-off-by: David Shah <davey1576@gmail.com>
2019-02-24 10:28:25 +01:00
Eddie Hung
63a7f57b01
[timing] Fix off-by-one error
2019-02-11 08:32:01 -08:00
Eddie Hung
a520b38424
Merge pull request #226 from YosysHQ/190207
...
Fix slack_histogram computation accessing num_bins+1
2019-02-09 10:16:23 -08:00
David Shah
db990d2175
clangformat
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-08 13:43:55 +00:00
David Shah
c900bcc949
Merge branch 'ecp5func'
2019-02-08 12:57:17 +00:00
Eddie Hung
f9f15e79cd
Fix slack_histogram computation accessing num_bins+1
2019-02-07 09:26:41 -08:00
David Shah
564a7e27b1
timing: Add --ignore-loops option
...
Signed-off-by: David Shah <dave@ds0.me>
2019-02-05 08:20:05 +01:00
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