Closed andelf closed 3 weeks ago
This is not correct. min=0 (default) with max=1 means the signal value is always in the interval [0;1[
, i.e. it is a constant zero. This change creates a 1-bit signal that can take values 0 and 1.
Thanks for your clarification. I try to fix the wrong usage in LiteX.
BTW. Is Memory(32, 1)
(memory with depth=1) illegal?
No, but it should be a register. Either way you'd need to implement some corner cases: (1) zero width signal and whether the memory is still correct with such an address signal, or (2) depth=1 memory turned into a register
It's used in migen's
Memory
type:https://github.com/m-labs/migen/blob/c19ae9f8ae162ffe2d310a92bfce53ac2a821bc8/migen/fhdl/specials.py#L291-L298
This bug causes
Memory
initialization to fail when depth=1.I found this(assert fail) when using
WS2812
withnleds=1
in LiteX.