Commit Graph

2102 Commits

Author SHA1 Message Date
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
David Shah 87a2446081 ci: Bump Yosys version for tcl argument support
Signed-off-by: David Shah <dave@ds0.me>
2019-04-17 13:27:37 +01: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 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 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
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
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 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