Commit Graph

851 Commits

Author SHA1 Message Date
Claire Wolf 56a688fb8f Merge branch 'opt_skip_powerdown' of https://github.com/smunaut/icestorm 2020-04-22 18:06:59 +02:00
Claire Wolf df59d5997c Cleanup FpgaConfig::write_cram_pbm tile_type initialization
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-04-22 18:05:12 +02:00
Claire Wolf 3fb2d2f735
Merge pull request #242 from The6P4C/master
icepack: Fix Windows-only stack overflow in CRAM pbm generation (fixe…
2020-04-22 18:01:58 +02:00
Claire Wolf cf3f4b53c3
Merge pull request #252 from mmicko/gcc10
Explicit include to compile with GCC 10
2020-04-22 18:00:29 +02:00
Claire Wolf d983e72e8e Update index.html
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-04-20 13:18:10 +02:00
Miodrag Milanovic 0c97a5519b Explicit include to compile with GCC 10 2020-04-17 12:27:17 +02:00
Claire Wolf d05659d83a
Merge pull request #251 from mmicko/fix-vlog
Make sure that scripts find files on final install
2020-04-14 19:14:30 +02:00
Miodrag Milanovic 5e9fc56e0a Make sure that scripts find files on final install 2020-04-14 18:14:32 +02:00
Claire Wolf 9ed101d0e1
Merge pull request #249 from eine/fix-destdir
icebox: fix missing DESTDIR for icebox_chipdb
2020-04-10 19:51:02 +02:00
eine 7a7c085e9b icebox: fix missing DESTDIR for icebox_chipdb 2020-04-10 19:10:00 +02:00
Claire Wolf 879d5b261c
Merge pull request #248 from mmicko/program_prefix
Support custom PROGRAM_PREFIX
2020-04-10 14:08:39 +02:00
Miodrag Milanovic fe3086a733 Support custom PROGRAM_PREFIX 2020-04-10 10:05:17 +02:00
Claire Wolf d1cee1d4ae
Merge pull request #245 from SmallRoomLabs/iteratePLL
icepll: Add iteration over list of frequencies for best solution
2020-03-30 13:55:23 +02:00
Claire Wolf d38852b48d
Merge pull request #247 from esden/erase_block_size
Added an option to choose the erase block size.
2020-03-30 11:17:30 +02:00
Piotr Esden-Tempski 24645e91a6 Added an option to choose the erase block size.
This allows us to flash binaries at offsets that are smaller multiples.
2020-02-02 23:02:53 -08:00
Mats Engstrom c1d49fe58b Add iteration over list of frequencies for best solution
This patch adds support for icepll to try multiple input frequencies to
find the best crystal for the desired output frequency.

The values tested comes either from a specified file using-B, or from a
default set of frequencies from Mousers "normally stocked" crystal
oscillators.
2019-12-31 00:06:59 +01:00
Sylvain Munaut dcda69d9f0 iceprog: Add option to keep flash powered up
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-12-28 16:53:53 +01:00
The6P4C 578037dedf icepack: Fix Windows-only stack overflow in CRAM pbm generation (fixes #241)
On Windows, attempting to generate a netpbm image of the CRAM with
`icepack -b` causes the tool to crash after writing only the netpbm
header due to a stack overflow. The bug did not appear on Linux.

This was traced to a large stack-allocated variable length array
(`tile_type`) inside `FpgaConfig::write_cram_pbm`. For an 8k ice40 with
4 banks, `cram_width = 872` and `cram_height = 272` the `tile_type`
array ends up at `4 * 872 * 272 * sizeof(uint32_t) =` 3794944 bytes, or
about 3.6 MiB.

The fix replaces the large stack VLA with an array of 4 (bank) 2D C++
vectors, moving the large amount of data to the heap. Even though the
fix is not in a Windows-specific code path (and hence applies to all
platforms), I think it's wise to eliminate such a large stack allocation
entirely.

The fix has been tested working on both Windows and an Ubuntu WSL
install.
2019-12-08 23:52:05 +10:00
Sean Cross bc84cef2b1 icetime: use $(PYTHON) in Makefile
Allow the name of the Python interpreter to be changed.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-10-22 14:09:18 +08:00
Sean Cross 7597e5e3fa icefuzz: update Makefile to use $(PYTHON) variable
Don't hardcode `python3` as the name of the Python interpreter.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-10-22 14:09:16 +08:00
Sean Cross 5280eae093 icebox: use $(PYTHON) variable in Makefile
Allow `python` to be provided by an interpreter other than `python3`.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-10-22 14:09:15 +08:00
Sean Cross 80b929a5d7 config: add a variable for python interpreter
This variable can be overridden on platforms where python is not called
`python3`.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-10-22 14:09:12 +08:00
Clifford Wolf 0ec00d892a Fix typo
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-09-13 12:55:48 +02:00
Clifford Wolf 04f1eb78ed
Merge pull request #235 from whitequark/master
Make iceprog optional
2019-08-31 21:54:45 +02:00
whitequark 37227e2b18 Make iceprog optional.
Avoids dependency on libftdi.
2019-08-31 14:03:14 +00:00
Clifford Wolf 9594931536
Merge pull request #230 from smunaut/fix_flash_reset
iceprog: Better reset of flash
2019-08-15 13:31:53 +02:00
Clifford Wolf c59638c624
Merge pull request #229 from tpambor/win-piping
Fix piping on windows
2019-08-15 13:29:46 +02:00
Clifford Wolf 2ccae0d386 Only dump memory initialization in icebox_vlog if present in ASC file, fixes #228
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-08-08 17:07:52 +02:00
Clifford Wolf 6943ad7afa Only write bram data to ASCII output if bram data is present, fixes #228
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-08-08 17:02:44 +02:00
Sylvain Munaut a7c42cd29b iceprog: Better reset of flash
If the flash was in a 'weird' mode (like CRM, QPI, ...), sending
a continuous stream of 0xff should take it out of it.

It looks like the previous code was trying to do that, but
was only transferring 8 bits and then 2 bits which is way
too short.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-08-05 14:34:49 +02:00
Tim Pambor 26a40d0e11 Fix piping on windows
On windows stdin and stdout have to be set to binary as otherwise windows treats it as text and converts occurences of CRLF to LF
2019-08-05 11:51:03 +02:00
Clifford Wolf 792cef084a
Merge pull request #224 from daveshah1/nextpnr0299
up5k: Fix TOPADDSUB_CARRYSELECT_0 override where it swaps with osc tr…
2019-07-03 16:21:33 +02:00
David Shah 1cec1328e0 up5k: Fix TOPADDSUB_CARRYSELECT_0 override where it swaps with osc trimming
Signed-off-by: David Shah <dave@ds0.me>
2019-07-03 12:54:00 +01:00
Clifford Wolf cfac9f9504
Merge pull request #223 from corecode/u4k
add RGB_DRV/LED_DRV_CUR for u4k
2019-06-20 15:08:48 +02:00
Clifford Wolf 2a26cfac3e
Merge pull request #220 from mbuesch/icepll-stdout
icepll: Add support for writing output data to stdout
2019-06-20 15:07:34 +02:00
Simon Schubert 56978cde58 add RGB_DRV/LED_DRV_CUR for u4k 2019-06-10 13:06:11 +02:00
Clifford Wolf 0f5feeaae9
Merge pull request #221 from mbuesch/icebox-lru-cache
Reduce icebox build time
2019-06-09 10:31:09 +02:00
Michael Buesch eec6555603 icebox_vlog: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch 00213ed9c3 icebox_stat: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch 51a11ffc81 icebox_maps: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch e0642ba06e icebox_html: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch c9e741cfbc icebox_hlc2asc: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch 30769bbfd0 icebox_explain: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch 52bbe0f469 icebox_diff: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch c4ac25e096 icebox_colbuf: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch d26ac8d09e icebox_asc2hlc: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch 2aff52f10a icebox: Use cached re functions 2019-06-08 16:12:16 +02:00
Michael Buesch 795e0003f2 icebox: Add helper functions to LRU cache regular expression results 2019-06-08 16:12:16 +02:00
Michael Buesch 5f49bea71c icebox: Use LRU cache for often called function tile_has_net() 2019-06-08 16:12:07 +02:00
Clifford Wolf 625105c0d1
Merge pull request #222 from mbuesch/icetime-gitignore
icetime: Add generated timings-*.cc files to .gitignore and 'make clean'
2019-06-07 23:09:42 +02:00