whitequark changed the topic of #amaranth-lang to: Amaranth hardware definition language · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang
lf has quit [Ping timeout: 260 seconds]
lf has joined #amaranth-lang
<_whitenotifier-8> [YoWASP/nextpnr] whitequark pushed 1 commit to develop [+0/-0/±1] https://git.io/JSZOk
modwizcode has joined #amaranth-lang
<_whitenotifier-8> [YoWASP/nextpnr] whitequark 59a9d55 - Update dependencies.
<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
Degi has quit [Ping timeout: 268 seconds]
Degi_ is now known as Degi
<whitequark> yeah
<whitequark> agg:
<agg> huh
<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
nickoe has quit [Ping timeout: 265 seconds]
Vonter has joined #amaranth-lang
nelgau has joined #amaranth-lang
peeps has joined #amaranth-lang
peeps[zen] has quit [Ping timeout: 260 seconds]