Bug#1055171: fpga-icestorm: icebram incompatible with yosys 0.23

2023-11-02 Thread Andras Pal

Hi Daniel,

thank you - i removed the trixie packages, added your repo and upgraded 
the fpga-icestorm* packages accoringly. Tested on both this minimal 
example and on my larger projects - all passed and now working fine!


Yes, this thread is very interesting and discusses indeed the same issue. 
This distribution of BRAM cells for larger memory blocks is indeed 
implying an ambiguous solition and/or and interesting trade-offs (if we 
also consider things like power consumption vs. path lengths).


Thanks again, Andras

On Thu, 2 Nov 2023, Daniel Gröber wrote:


Hi Andras,

On Thu, Nov 02, 2023 at 08:44:31AM +0100, Andras Pal wrote:

sure, please find attached this simplistic example for this issue. Just
enter `make`. Under bullseye, it should print:

Found and replaced 1 instances of the memory.

Under bookworm, it prints:

Found and replaced 0 instances of the memory.


Yup, I can reproduce the issue.

I've sent a request to the release team and uploaded the proposed
fpga-icestorm=0~20230218gitd20a5e9-1~deb12u1 to my repo at
https://dxld.at/localdebs/ (sources.list instructions within) please test.

Note to self: the upstream discussion is at
https://github.com/YosysHQ/icestorm/issues/301
https://github.com/YosysHQ/icestorm/pull/309

--Daniel


Bug#1055171: fpga-icestorm: icebram incompatible with yosys 0.23

2023-11-02 Thread Daniel Gröber
Hi Andras,

On Thu, Nov 02, 2023 at 08:44:31AM +0100, Andras Pal wrote:
> sure, please find attached this simplistic example for this issue. Just
> enter `make`. Under bullseye, it should print:
> 
> Found and replaced 1 instances of the memory.
> 
> Under bookworm, it prints:
> 
> Found and replaced 0 instances of the memory.

Yup, I can reproduce the issue.

I've sent a request to the release team and uploaded the proposed
fpga-icestorm=0~20230218gitd20a5e9-1~deb12u1 to my repo at
https://dxld.at/localdebs/ (sources.list instructions within) please test.

Note to self: the upstream discussion is at
https://github.com/YosysHQ/icestorm/issues/301
https://github.com/YosysHQ/icestorm/pull/309

--Daniel


signature.asc
Description: PGP signature


Bug#1055171: fpga-icestorm: icebram incompatible with yosys 0.23

2023-11-02 Thread Andras Pal

Hi Daniel,

here is another version of the example which is a bit smaller (and now 
automatically creates the dummy/random RAM contents during the build 
process).


Andras

On Wed, 1 Nov 2023, Daniel Gröber wrote:


Package: fpga-icestorm
Version: 0~20220915gita545498-3
X-Debbugs-Cc: Andras Pal 

Hi Andras,

On Wed, Nov 01, 2023 at 04:52:25PM +0100, Andras Pal wrote:

I'm using the yosys/nextpnr/icestorm toolchain regularly under Debian and
after upgrading to bookworm i noted (after some debugging) that in some
cases yosys-0.23 tends to generate memory instances whose initialization
values cannot be replaced with the `icebram` utility in a similar way like
in the previous (and in the following) releases.


Do you have a reproducer/example for this? I haven't had the need to use
icebram in my projects yet so having a regression test in the package would
be good.


By checking the source code on github, i found that `icebram` underwent a
significant refactoring, likely after freezing the bookworm release (i.e.
sometimes in between Sept '22 and Feb '23). And indeed, after manually
downloading installing the trixie version (20230218gitd20a5e9-1) of the
fpga-icestorm and fpga-icestrom-chipdb packages, the toolchain started to
work again as it is expected.

Is it possible to backport this upgraded version of `icebram` to bookworm as
well in order to be compatible with the shipped yosys version? I don't know
what is the severity of this bug - it is indeed not a security issue, but
otherwise the packeges are broken in this sense. And it might be beneficial
for another users and projects as well.


Sholdn't be a problem. There's two ways to go, either we find a (small)
patch that fixes the issue in the version from stable or (with some
negotiation with the release team) we get permission to upgrade the version
in stable.

--Daniel


icestrom-test.tgz
Description: application/gtar-compressed


Bug#1055171: fpga-icestorm: icebram incompatible with yosys 0.23

2023-11-02 Thread Andras Pal

Hi Daniel,

sure, please find attached this simplistic example for this issue. Just 
enter `make`. Under bullseye, it should print:


Found and replaced 1 instances of the memory.

Under bookworm, it prints:

Found and replaced 0 instances of the memory.

and the memory does not get updated (i.e. the top_dummy.asc and top.asc 
will basically identical). If i upgrade to the trixie package for 
fpga-icestorm and fpga-icestorm-chipdb, then it will work again and the 
BRAM initialization values get updated. The *.pcf file (and the test 
environment itself) is designed for the ICE40HX8K-B-EVN board.


Andras

On Wed, 1 Nov 2023, Daniel Gröber wrote:


Package: fpga-icestorm
Version: 0~20220915gita545498-3
X-Debbugs-Cc: Andras Pal 

Hi Andras,

On Wed, Nov 01, 2023 at 04:52:25PM +0100, Andras Pal wrote:

I'm using the yosys/nextpnr/icestorm toolchain regularly under Debian and
after upgrading to bookworm i noted (after some debugging) that in some
cases yosys-0.23 tends to generate memory instances whose initialization
values cannot be replaced with the `icebram` utility in a similar way like
in the previous (and in the following) releases.


Do you have a reproducer/example for this? I haven't had the need to use
icebram in my projects yet so having a regression test in the package would
be good.


By checking the source code on github, i found that `icebram` underwent a
significant refactoring, likely after freezing the bookworm release (i.e.
sometimes in between Sept '22 and Feb '23). And indeed, after manually
downloading installing the trixie version (20230218gitd20a5e9-1) of the
fpga-icestorm and fpga-icestrom-chipdb packages, the toolchain started to
work again as it is expected.

Is it possible to backport this upgraded version of `icebram` to bookworm as
well in order to be compatible with the shipped yosys version? I don't know
what is the severity of this bug - it is indeed not a security issue, but
otherwise the packeges are broken in this sense. And it might be beneficial
for another users and projects as well.


Sholdn't be a problem. There's two ways to go, either we find a (small)
patch that fixes the issue in the version from stable or (with some
negotiation with the release team) we get permission to upgrade the version
in stable.

--Daniel


icestrom-test.tgz
Description: application/gtar-compressed


Bug#1055171: fpga-icestorm: icebram incompatible with yosys 0.23

2023-11-01 Thread Daniel Gröber
Package: fpga-icestorm
Version: 0~20220915gita545498-3
X-Debbugs-Cc: Andras Pal 

Hi Andras,

On Wed, Nov 01, 2023 at 04:52:25PM +0100, Andras Pal wrote:
> I'm using the yosys/nextpnr/icestorm toolchain regularly under Debian and
> after upgrading to bookworm i noted (after some debugging) that in some
> cases yosys-0.23 tends to generate memory instances whose initialization
> values cannot be replaced with the `icebram` utility in a similar way like
> in the previous (and in the following) releases.

Do you have a reproducer/example for this? I haven't had the need to use
icebram in my projects yet so having a regression test in the package would
be good.

> By checking the source code on github, i found that `icebram` underwent a
> significant refactoring, likely after freezing the bookworm release (i.e.
> sometimes in between Sept '22 and Feb '23). And indeed, after manually
> downloading installing the trixie version (20230218gitd20a5e9-1) of the
> fpga-icestorm and fpga-icestrom-chipdb packages, the toolchain started to
> work again as it is expected.
> 
> Is it possible to backport this upgraded version of `icebram` to bookworm as
> well in order to be compatible with the shipped yosys version? I don't know
> what is the severity of this bug - it is indeed not a security issue, but
> otherwise the packeges are broken in this sense. And it might be beneficial
> for another users and projects as well.

Sholdn't be a problem. There's two ways to go, either we find a (small)
patch that fixes the issue in the version from stable or (with some
negotiation with the release team) we get permission to upgrade the version
in stable.

--Daniel