David Shah
0be844e6a8
Merge pull request #270 from smunaut/sb_io_conflict
...
SB IO conflict checks
2019-04-17 16:18:40 +01:00
David Shah
e7bb262e96
Merge pull request #269 from smunaut/pll_gb_place
...
PLL GB usage and placement fix
2019-04-17 16:17:09 +01:00
Sylvain Munaut
66b64f928b
ice40: Check for SB_IO shared wires conflicts in isValidBelForCell
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-04-17 16:07:22 +02:00
Sylvain Munaut
c4cb0c5e49
ice40: In assignCellInfo get PIN_TYPE/NEG_TRIGGER from params and not attrs
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-04-17 16:07:16 +02:00
Sylvain Munaut
6387a3d33e
ice40: Only create padin gbuf for PLLs if global output actually used
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-04-17 14:06:23 +02:00
David Shah
037e13b883
Merge pull request #267 from noopwafel/lock-for-timing
...
timing_opt: Add locks to optimise()
2019-04-16 16:29:26 +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
Sylvain Munaut
9dd68aa0e2
ice40: Take placed SB_GBs into account when placing PLLs
...
Because the PLLs drive global networks, we need to account for
already existing and placed SB_GBs when trying to place/pack them.
Theses can be user instanciated SB_GBs with BEL attribute, or
SB_GB_IOs that got converted during the IO packing.
This patch assumes that:
- If a PLL is used the output A global network is always used, even
if there is no connection to the global output pin
- If a PLL with a singe output is used, then the B output global
network is still free to be used by whatever.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-04-16 10:12:28 +02:00
Eddie Hung
250c914763
Merge pull request #266 from xanderlent/patch-1
...
Fix ice40 example directory in README.md
2019-04-15 22:50:53 -07:00
Alexander Lent
003619e91c
Fix ice40 example directory in README.md
...
ice40/blinky.* moved to ice40/examples/blinky/blinky.* in commit 1780f42b9a
2019-04-15 21:27:11 -07:00
David Shah
db7e850ee8
Merge pull request #264 from smunaut/fix_sb_unused_in
...
ice40/pack: During IO packing, remove any unused input connection
2019-04-11 13:32:01 +01:00
Sylvain Munaut
6cb4e2e83b
ice40/pack: During IO packing, remove any unused input connection
...
This is mostly for the benefit of PLL placement because the D_IN_x
ports are used for other purposes when PLL is enabled so we need to
make sure nothing is connected there already. (even an unused net is
too much)
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-04-11 13:52:23 +02:00
David Shah
22da6c8a65
Merge pull request #263 from YosysHQ/placer1_incr_bb
...
placer1: Improve incremental bounding box updates
2019-04-10 11:01:34 +01: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
Eddie Hung
6adf37e3c1
Merge pull request #262 from chexum/gcc4x
...
common: avoid std::ofstream copy
2019-04-02 11:57:55 -07: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
2e246c1968
Merge pull request #260 from xobs/windows-eigen-docs
...
README: update windows build instructions for eigen, python
2019-04-02 12:41:25 +01:00
Sean Cross
638f84a622
README: update windows build instructions for eigen, python
...
The recent addition of "eigen3" to nextpnr necessitates the addition of
"eigen" to the list of vcpkg packages to be installed on Windows.
Add the 32- and 64-bit versions of eigen to the command issued to
install various dependencies.
Also document one possible build command, and note about unpacking
python36.zip.
Signed-off-by: Sean Cross <sean@xobs.io>
2019-04-02 15:25:00 +08:00
David Shah
d27ec2cd15
ice40: Don't constrain to a PLL bel that has already been used
...
Fixes #258
Signed-off-by: David Shah <dave@ds0.me>
2019-04-01 12:25:32 +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
David Shah
ed4fc888de
Merge pull request #255 from smunaut/i2c_spi
...
ice40: Add support for SB_I2C and SB_SPI
2019-03-26 08:03:37 +00:00
Sylvain Munaut
d401e3e1a0
ice40: Add support for SB_I2C and SB_SPI
...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-03-25 23:48:59 +01:00
David Shah
c2d87846d8
Merge pull request #257 from whitequark/patch-1
...
Fix broken header guard
2019-03-25 19:39:49 +00:00
whitequark
818165031c
Fix broken header guard
2019-03-25 19:32:58 +00:00
David Shah
c67b8259bb
Merge pull request #219 from daveshah1/placer_heap
...
HeAP-based analytical placer
2019-03-25 16:24:02 +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
e04efa8c6e
Bump tests to include WAIVE
2019-03-23 20:51:57 +00:00
David Shah
81a7b5d2a1
Update README.md
...
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:46:54 +00: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
fcc3bb1495
ecp5: Speedup cell delay lookups
...
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
87edf6305f
ci: Add OpenBLAS to Dockerfile
...
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