<feed xmlns='http://www.w3.org/2005/Atom'>
<title>icestorm/icepack, branch main</title>
<subtitle>Project IceStorm - Lattice iCE40 FPGAs Bitstream Documentation (Reverse Engineered)
</subtitle>
<id>https://git.mciantyre.dev/icestorm/atom?h=main</id>
<link rel='self' href='https://git.mciantyre.dev/icestorm/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/'/>
<updated>2025-06-03T09:06:08+00:00</updated>
<entry>
<title>Update Claire's name and fix the reference image in the iceprog help</title>
<updated>2025-06-03T09:06:08+00:00</updated>
<author>
<name>Matt Venn</name>
<email>matt@mattvenn.net</email>
</author>
<published>2025-05-20T12:14:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=d06a967590d5ea51733100ed805c372689ffe71f'/>
<id>urn:sha1:d06a967590d5ea51733100ed805c372689ffe71f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>icebram,icepack: use correct format specifiers for size</title>
<updated>2024-06-21T21:36:34+00:00</updated>
<author>
<name>Marian Buschsieweke</name>
<email>marian.buschsieweke@posteo.net</email>
</author>
<published>2024-06-21T21:36:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=b171bdf66581e608fe3f3d06de055305626a306a'/>
<id>urn:sha1:b171bdf66581e608fe3f3d06de055305626a306a</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Add more build products to .gitignore.</title>
<updated>2021-03-05T12:43:57+00:00</updated>
<author>
<name>whitequark</name>
<email>whitequark@whitequark.org</email>
</author>
<published>2021-03-05T12:42:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=529759c4bdb9d6abc1759a75591863b46b4f2c11'/>
<id>urn:sha1:529759c4bdb9d6abc1759a75591863b46b4f2c11</id>
<content type='text'>
</content>
</entry>
<entry>
<title>icepack: show program name in usage.</title>
<updated>2020-06-24T19:57:22+00:00</updated>
<author>
<name>whitequark</name>
<email>whitequark@whitequark.org</email>
</author>
<published>2020-06-24T19:57:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=a4b1194b3a2cef4e94ce8e7ba011b8ef9a437a29'/>
<id>urn:sha1:a4b1194b3a2cef4e94ce8e7ba011b8ef9a437a29</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cleanup FpgaConfig::write_cram_pbm tile_type initialization</title>
<updated>2020-04-22T16:05:12+00:00</updated>
<author>
<name>Claire Wolf</name>
<email>claire@symbioticeda.com</email>
</author>
<published>2020-04-22T16:05:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=df59d5997cb38a646e96f984bc222ec607e2c00f'/>
<id>urn:sha1:df59d5997cb38a646e96f984bc222ec607e2c00f</id>
<content type='text'>
Signed-off-by: Claire Wolf &lt;claire@symbioticeda.com&gt;
</content>
</entry>
<entry>
<title>Merge pull request #242 from The6P4C/master</title>
<updated>2020-04-22T16:01:58+00:00</updated>
<author>
<name>Claire Wolf</name>
<email>clifford@clifford.at</email>
</author>
<published>2020-04-22T16:01:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=3fb2d2f73561d05050e83e623a3d3c3e0e60dc01'/>
<id>urn:sha1:3fb2d2f73561d05050e83e623a3d3c3e0e60dc01</id>
<content type='text'>
icepack: Fix Windows-only stack overflow in CRAM pbm generation (fixe…</content>
</entry>
<entry>
<title>Support custom PROGRAM_PREFIX</title>
<updated>2020-04-10T08:05:17+00:00</updated>
<author>
<name>Miodrag Milanovic</name>
<email>mmicko@gmail.com</email>
</author>
<published>2020-04-10T08:05:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=fe3086a7339f0c2731fb1a14f6ef0e4d93a0377e'/>
<id>urn:sha1:fe3086a7339f0c2731fb1a14f6ef0e4d93a0377e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>icepack: Fix Windows-only stack overflow in CRAM pbm generation (fixes #241)</title>
<updated>2019-12-08T13:52:05+00:00</updated>
<author>
<name>The6P4C</name>
<email>watsonjcampbell@gmail.com</email>
</author>
<published>2019-12-08T13:27:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=578037dedf557806a5a39ab40a22b9cceade9a07'/>
<id>urn:sha1:578037dedf557806a5a39ab40a22b9cceade9a07</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Fix typo</title>
<updated>2019-09-13T10:55:48+00:00</updated>
<author>
<name>Clifford Wolf</name>
<email>clifford@clifford.at</email>
</author>
<published>2019-09-13T10:55:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=0ec00d892a91cc68e45479b46161f649caea2933'/>
<id>urn:sha1:0ec00d892a91cc68e45479b46161f649caea2933</id>
<content type='text'>
Signed-off-by: Clifford Wolf &lt;clifford@clifford.at&gt;
</content>
</entry>
<entry>
<title>Only write bram data to ASCII output if bram data is present, fixes #228</title>
<updated>2019-08-08T15:02:44+00:00</updated>
<author>
<name>Clifford Wolf</name>
<email>clifford@clifford.at</email>
</author>
<published>2019-08-08T15:02:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/icestorm/commit/?id=6943ad7afae03fb19f55522d0e22f2db9b25bb95'/>
<id>urn:sha1:6943ad7afae03fb19f55522d0e22f2db9b25bb95</id>
<content type='text'>
Signed-off-by: Clifford Wolf &lt;clifford@clifford.at&gt;
</content>
</entry>
</feed>
