Commit Graph

2033 Commits

Author SHA1 Message Date
David Shah c33da42365 ci: Run generic example simple.sh
Signed-off-by: David Shah <dave@ds0.me>
2019-04-17 13:02:01 +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 ede81dc095 generic: Disable GUI as it isn't supported yet
Signed-off-by: David Shah <dave@ds0.me>
2019-04-17 11:03:06 +01:00
David Shah 48c4c1ed05 generic/examples: Add FASM writer Python script
Signed-off-by: David Shah <dave@ds0.me>
2019-04-17 11:00:23 +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
David Shah 659c932559 generic: Fix predictDelay
Signed-off-by: David Shah <dave@ds0.me>
2019-04-04 16:58:43 +01:00
David Shah f12a209391 generic: Router param tweaks
Signed-off-by: David Shah <dave@ds0.me>
2019-04-04 16:46:05 +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 3f98084021 generic: Improve example
Signed-off-by: David Shah <dave@ds0.me>
2019-04-04 15:40:48 +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
David Shah a05593da62 generic: Add a few more bindings
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah f2c911bf07 generic: Adding API usage documentation
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01: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 6a383cd4c5 generic: Simple procedural example works
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah ca918078bf generic: Add a simple packer for generic SLICEs and IOBs
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah 99c3713293 generic: Add synth_generic.tcl
Signed-off-by: David Shah <dave@ds0.me>
2019-04-02 15:30:01 +01:00
David Shah f88ddf85b2 generic: Add simple primitive library
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 fd3ad75598 generic: Python bindings for arch construction
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 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