Matt Venn
d06a967590
Update Claire's name and fix the reference image in the iceprog help
2025-06-03 11:06:08 +02:00
Marian Buschsieweke
b171bdf665
icebram,icepack: use correct format specifiers for size
...
For printing `size_t` the format specifier `%lu` was used in the code.
However, `%lu` is used to print `unsigned long`. The correct format
specifier for `size_t` is `%zu`, so let's use that.
2024-06-21 23:36:34 +02:00
whitequark
529759c4bd
Add more build products to .gitignore.
2021-03-05 12:43:57 +00:00
whitequark
a4b1194b3a
icepack: show program name in usage.
2020-06-24 19:57:22 +00: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
Miodrag Milanovic
fe3086a733
Support custom PROGRAM_PREFIX
2020-04-10 10:05:17 +02: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
Clifford Wolf
0ec00d892a
Fix typo
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-09-13 12:55:48 +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
Dennis Gnad
992d8c97ea
option for icepack to skip initializing BRAM (tested for ice40hx8k)
2019-05-15 16:57:17 +02:00
Andrew Wygle
56a0d3f8ea
Add lm4k detection support to icepack.
2018-05-06 11:10:36 -07:00
Robert Ou
3bee3cfead
Mount NODEFS if using emscripten and nodejs
...
Mounts root directory on `/hostfs` and the current working directory on
`/hostcwd`
2018-03-31 14:10:36 -07:00
David Shah
58e2e74d42
Add iCE40 Ultra (ice5lp) support to icepack
2018-02-13 20:22:05 +00:00
William D. Jones
182e9350de
Enable writing nosleep config bit into output bitstream.
2017-12-31 01:52:59 -05:00
William D. Jones
c093efc015
Add nosleep field to FpgaConfig- read_bits recognizes the option.
2017-12-31 01:34:36 -05:00
David Shah
da7a2a9d0d
Fix whitespace and a couple of typos
2017-11-20 09:43:54 +00:00
David Shah
ed61efa023
Merge branch 'master' into up5k
2017-11-18 18:03:20 +00:00
Robert Ou
05440e4d62
Fix up build system to work with emscripten
2017-11-15 03:13:35 -08:00
David Shah
629621642f
Preparations for DSP and IpCon fuzzing
2017-11-08 16:05:42 +00:00
David Shah
1d149133b5
5k-related fixes to icepack
2017-11-05 16:17:57 +00:00
David Shah
3bd601c0cd
Fix BRAM initialisation on 5k parts
2017-11-01 12:02:44 +00:00
David Shah
aa653a2a51
Add DSP and IPConnect tile support to icepack and glbcheck
2017-10-21 14:59:13 +01:00
Roland Lutz
898229bf2b
icepack: Add support for non-warmboot images
2017-09-04 19:18:08 +02:00
Clifford Wolf
43c38447c9
Fix icepack debug output
2017-07-31 15:53:59 +02:00
Clifford Wolf
872e333cf7
Merge branch 'master' into ice5k
2017-07-31 14:57:24 +02:00
Robert Ou
4111f9cca5
makefile: Make install target work for Windows
2017-07-16 20:59:55 -07:00
Scott Shawcroft
b019ae4e65
Rework bram indexing to unbreak 8k. Still not sure if its correct for 5k.
2017-07-07 17:00:20 -07:00
Clifford Wolf
96511b32b1
Indenting fixes in icepack.cc
2017-07-04 12:24:28 +02:00
Scott Shawcroft
15bcbb7c33
Correct cram mapping so glbcheck actually passes.
2017-07-04 12:12:13 +02:00
Scott Shawcroft
a25c8679ac
More work figuring out values in icebox.py
2017-06-23 22:53:54 -07:00
Scott Shawcroft
58a6110be1
Add icefuzz support for the UP5K and rework underlying device specification for more flexibility.
2017-06-22 17:38:38 -07:00
Scott Shawcroft
ed8c4e8c03
initial packing and unpacking parameters
2017-06-20 16:50:52 -07:00
Clifford Wolf
2931984587
Fix trailing whitespace in icepack.cc
2017-03-07 08:08:10 +01:00
hermitsoft
4d4738beea
Disabling BRAM commands in bitsream for LP384
2017-03-06 16:56:32 +01:00
hermitsoft
e207307c74
LP384 support in icepack - log_level back to 0
2017-03-06 01:24:20 +01:00
Mihály Horváth
fdf863b791
LP384 support in icepack (tested on real chip)
...
LP384 is now supported in icepack, it was fairly easy to realize as only the main chip dimensions are required that could be found out from the .bin bitsream file generated by iCEcube.
Tested by creating .asc then packing it back to .bin. The testcase is just a simple LED on/off on a port though but that shows geometries are fine.
Now I'm trying to have and support chipdb-384.txt hopefully with some help from the authors and anyone who already knows the internals of IceStorm well. I need info, how to reverse-engineer iCE40 chips the easiest way. Scripts maybe.
I'm trying to reach my goal in any way coz iCEcube sucks and IceStorm integrates well into commandline...
2017-03-05 22:25:47 +01:00
Elvira Khabirova
ea82010fbf
Clean up Makefiles
2017-02-12 16:13:03 +03:00
Clifford Wolf
12b2295c90
Only define _GNU_SOURCE for vasprintf() when not _WIN32
2016-07-26 10:31:22 +02:00
Yury Gribov
8a7a746ca9
Explicitly ask for vasprintf where appropriate.
2016-07-26 10:26:05 +02:00
Clifford Wolf
6178dfbbd6
Added Makefile support for "make STATIC=1"
2016-03-02 12:34:51 +01:00
Ruben Undheim
30cb298008
fix a few spelling mistakes in error messages
2016-02-27 09:36:55 -07:00
Clifford Wolf
a519d2ab82
Added/improved support for mxe-based win32 cross builds
2016-02-14 13:47:27 +01:00
Clifford Wolf
b9e6d07e9c
Added config.mk, correct DESTDIR/PREFIX usage
2015-12-31 12:05:04 +01:00
Clifford Wolf
da99818b81
Added mxe-based win32 build
2015-12-15 15:01:58 +01:00
Clifford Wolf
d094abca1c
cleaned up VS2013 fixes
2015-08-21 19:50:52 +02:00
Antti Lukats
2b8be10986
fixed for VS2013
2015-08-21 16:53:24 +02:00
Aaron Bieber
4b4511dfe9
variablize CXX and PYTHON and add -L and -I
2015-08-18 15:56:16 -06:00
Clifford Wolf
c2edd14772
Removed "icepack -C" (use "icebox_colbuf -f" instead)
2015-08-06 10:41:36 +02:00
Clifford Wolf
e9d968e8b8
Imply "icepack -C" for 8k devices (temporary workaround)
2015-07-30 17:10:20 +02:00