<agg>
I'm making an n-long Signal `s` and then write m.d.sync += s.eq(Cat(s[1:], s[0])) to form a shift register, but it seems to use 2n FFs in this ecp5, anyone have any ideas?
<agg>
maybe it's an ecp5 thing and one ff in a slice can't feed the other or something but as far as I can tell the amaranth and the generated verilog look reasonable (i.e. the verilog has a single reg that's `n` long)
<whitequark>
which toolchain?
<agg>
yosys, nextpnr
<agg>
haven't tried with diamond
<whitequark>
does yosys do shift register inference on any of the supported architectures other than gp4?
<agg>
I don't recall seeing it infer a shift register for ecp5 before, so I'm not sure, but I'd be happy with it just wiring all the FFs in series (I just want a long ff chain)
<whitequark>
oh, I see
<agg>
I'm not parallel loading it, but I do have a non-zero initial value for the bits (specifically I'm resetting to 01010101...)
<whitequark>
generates `n` FFs here; can you post a reproducer?
<agg>
hopefully, let me extract it (thanks for checking!)
<whitequark>
hold on
<whitequark>
so nextpnr packs 32 FFs into 16 TRELLIS_SLICEs
<agg>
right, I'm getting n SLICE and 2n "TOtal DFFs"
<whitequark>
but there are 16 TRELLIS_FFs in the synthesis results
Degi_ has joined #amaranth-lang
<mwk>
whitequark: it does shift register inference for xilinx fwiw, but it's not that useful as it has no reset support
<agg>
so is it just using n SLICEs, one FF per slice, and reporting that as 2n FFs used because technically they are used up?
cr1901_ is now known as cr1901
<agg>
it looks like it is doing exactly that, if I push n beyond the number of slices in the device it uses about 95% of all slices, still reports 2n FFs used
<agg>
Info: Total DFFs: 40000/24288 164% 🤔
<agg>
well anyway I guess that resolves it, thanks!
<whitequark>
I'm thinking it should be able to pack it to n/2 SLICEs
<whitequark>
but I can't tell why it doesn't
<agg>
it seems like it just doesn't bother if it doesn't need to
<agg>
once I use all the slices it packs the remaining FFs into already-used slices
<whitequark>
ah
<agg>
but then reports 2n FFs used anyway, which is now >100% of available FFs
nelgau_ has quit [Remote host closed the connection]
nelgau has joined #amaranth-lang
nelgau has quit [Ping timeout: 256 seconds]
<_whitenotifier-8>
[amaranth] modwizcode opened issue #673: [RFC] Support `bytes` in `Value.cast` - https://git.io/JSnzv
cr1901 has quit [Remote host closed the connection]
cr1901 has joined #amaranth-lang
bl0x_ has quit [Ping timeout: 240 seconds]
bl0x_ has joined #amaranth-lang
Vonter has joined #amaranth-lang
nelgau has joined #amaranth-lang
smkz has joined #amaranth-lang
nelgau has quit [Remote host closed the connection]
<_whitenotifier-8>
[amaranth] jeremyherbert opened issue #674: Add more granularity to VCD export - https://git.io/JS0Q0
nelgau has joined #amaranth-lang
pho has joined #amaranth-lang
<_whitenotifier-8>
[amaranth] modwizcode commented on issue #674: Add more granularity to VCD export - https://git.io/JSzFc
RndMnkIII has joined #amaranth-lang
<RndMnkIII>
Hi, happy New Year, I''m new to Amaranth coming from Verilog world
<whitequark>
hi RndMnkIII!
RndMnkIII has quit [Quit: Client closed]
Vonter has quit [Ping timeout: 256 seconds]
nelgau has quit [Remote host closed the connection]
nelgau has joined #amaranth-lang
nelgau has quit [Remote host closed the connection]
Vonter has joined #amaranth-lang
<_whitenotifier-8>
[amaranth] jeremyherbert commented on issue #674: Add more granularity to VCD export - https://git.io/JSaS4
Vonter has quit [Read error: Connection reset by peer]
Vonter has joined #amaranth-lang
FL4SHK has quit [Ping timeout: 260 seconds]
FL4SHK has joined #amaranth-lang
nelgau has joined #amaranth-lang
nelgau has quit [Ping timeout: 240 seconds]
cr1901 has quit [Remote host closed the connection]
cr1901 has joined #amaranth-lang
bvernoux has joined #amaranth-lang
nelgau has joined #amaranth-lang
nelgau has quit [Remote host closed the connection]
nelgau has joined #amaranth-lang
Vonter has quit [Ping timeout: 240 seconds]
Vonter has joined #amaranth-lang
Vonter has quit [Ping timeout: 240 seconds]
nelgau_ has joined #amaranth-lang
nelgau has quit [Read error: Connection reset by peer]
nelgau has joined #amaranth-lang
nelgau_ has quit [Ping timeout: 240 seconds]
nelgau has quit [Remote host closed the connection]
nelgau has joined #amaranth-lang
nelgau has quit [Ping timeout: 240 seconds]
josfemova has joined #amaranth-lang
josfemova has quit [Client Quit]
chaoticryptidz has joined #amaranth-lang
nelgau has joined #amaranth-lang
bvernoux has quit [Read error: Connection reset by peer]
<_whitenotifier-8>
[amaranth] jeremyherbert opened issue #675: Add option to export only standards compliant VCD - https://git.io/JSi1y
<_whitenotifier-8>
[amaranth] whitequark commented on issue #675: Add option to export only standards compliant VCD - https://git.io/JSiM2
<_whitenotifier-8>
[amaranth] jeremyherbert commented on issue #675: Add option to export only standards compliant VCD - https://git.io/JSiDf
nelgau has quit [Remote host closed the connection]
<_whitenotifier-8>
[amaranth] whitequark commented on issue #675: Add option to export only standards compliant VCD - https://git.io/JSiSZ
<_whitenotifier-8>
[amaranth] whitequark closed issue #675: Add option to export only standards compliant VCD - https://git.io/JSi1y